Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * 订单列表业务逻辑
  3. */
  4. import { onLoad, onShow, onUnload } from "@dcloudio/uni-app";
  5. import { reactive, ref } from 'vue';
  6. import { hasLogin, msg } from "@/utils/utils";
  7. export default function useOrderList() {
  8. const tabbarRef = ref<{ changeTab : (index : Number) => void }>()
  9. const data = reactive({
  10. //登录状态
  11. login: hasLogin(),
  12. //是否刷新
  13. refresh: false,
  14. //当前切换的index 0-全部 1-待发货 2-待收货 3-待激活 xx-退款/换货
  15. tabIndex: 0,
  16. //导航栏数据
  17. tabsList: [
  18. { id: 0, name: '全部' },
  19. { id: 1, name: '待发货' },
  20. { id: 2, name: '待收货' },
  21. { id: 3, name: '待激活' },
  22. { id: 4, name: '退款/换货' }
  23. ],
  24. })
  25. onLoad((option) => {
  26. if (!option.index) {
  27. data.tabIndex = 0
  28. } else {
  29. data.tabIndex = Number(option.index)
  30. }
  31. //监听订单刷新信息
  32. uni.$on('refreshOrder', () => {
  33. data.refresh = true;
  34. });
  35. uni.$on('refreshFinish', () => {
  36. data.refresh = false;
  37. })
  38. uni.$on('loginOut', () => {
  39. data.login = false;
  40. data.refresh = false;
  41. })
  42. });
  43. onUnload(() => {
  44. uni.$off('refreshOrder');
  45. });
  46. onShow(() => {
  47. data.login = hasLogin();
  48. if (data.login) {
  49. data.refresh = true;
  50. console.log("data.refresh", data.refresh)
  51. }
  52. })
  53. return {
  54. data, tabbarRef
  55. }
  56. }