gaoluyang
2026-04-21 207c564c2b8d46fd86160c4f6583c2fc9d4a4e5c
src/pages/cooperativeOffice/collaborativeApproval/index.vue
@@ -140,13 +140,16 @@
  import { onLoad, onShow } from "@dcloudio/uni-app";
  import useUserStore from "@/store/modules/user";
  // 接收父组件传递的 approveType 参数
  // 接收父组件传递的 approveType 参数(用于 index1.vue, index2.vue 等组件方式调用)
  const props = defineProps({
    approveType: {
      type: Number,
      default: 0,
    },
  });
  // 审批类型
  const approveType = ref(0);
  // 映射 approveType 到对应的页面标题
  const getPageTitle = type => {
@@ -159,11 +162,13 @@
      6: "报价管理",
      7: "发货审批",
      8: "危险作业审批",
      9: "销售审批",
      10: "自由协同审批",
    };
    return titleMap[type] || "审批管理";
    return titleMap[type] || "协同审批";
  };
  const pageTitle = getPageTitle(props.approveType);
  const pageTitle = ref("协同审批");
  const userStore = useUserStore();
  // 数据
@@ -188,7 +193,7 @@
    };
    approveProcessListPage({
      ...page,
      approveType: props.approveType,
      approveType: approveType.value,
      ...searchForm.value,
    })
      .then(res => {
@@ -256,7 +261,7 @@
    uni.setStorageSync("invoiceLedgerEditRow", JSON.stringify(item));
    uni.setStorageSync("operationType", "edit");
    uni.setStorageSync("approveId", item.approveId);
    uni.setStorageSync("approveType", props.approveType);
    uni.setStorageSync("approveType", approveType.value);
    uni.navigateTo({
      url: "/pages/cooperativeOffice/collaborativeApproval/detail",
    });
@@ -265,31 +270,50 @@
  // 添加新记录
  const handleAdd = () => {
    uni.setStorageSync("operationType", "add");
    uni.setStorageSync("approveType", props.approveType);
    uni.setStorageSync("approveType", approveType.value);
    uni.navigateTo({
      url: `/pages/cooperativeOffice/collaborativeApproval/detail?approveType=${props.approveType}`,
      url: `/pages/cooperativeOffice/collaborativeApproval/detail?approveType=${approveType.value}`,
    });
  };
  // 点击审核
  const approve = item => {
    uni.setStorageSync("approveId", item.approveId);
    uni.setStorageSync("approveType", props.approveType);
    uni.setStorageSync("approveType", approveType.value);
    uni.navigateTo({
      url:
        "/pages/cooperativeOffice/collaborativeApproval/approve?approveType=" +
        props.approveType,
        approveType.value,
    });
  };
  onLoad(options => {
    console.log('onLoad options:', options, 'props.approveType:', props.approveType);
    // 优先使用 props 的 approveType(组件方式调用,如 index1.vue)
    // 如果没有 props,则使用 URL 参数(如 index?approveType=9)
    if (props.approveType && props.approveType > 0) {
      approveType.value = props.approveType;
      console.log('从 props 设置 approveType:', approveType.value);
    } else if (options.approveType) {
      approveType.value = Number(options.approveType);
      console.log('从 URL 参数设置 approveType:', approveType.value);
    } else {
      console.log('未获取到 approveType 参数');
    }
    // 设置页面标题
    pageTitle.value = getPageTitle(approveType.value);
    // 解析approveId
    if (options.approveId) {
      searchForm.value.approveId = options.approveId;
    }
    // 页面加载时立即获取列表
    getList();
  });
  onShow(() => {
    // 页面加载完成后的初始化逻辑
    // 页面显示时刷新列表
    getList();
  });
</script>