浏览代码

fix: 归一化子组件 emit 数据格式,优化合同和订单回调处理逻辑

xieyong 1 月之前
父节点
当前提交
4ba671e17d
共有 1 个文件被更改,包括 10 次插入 和 4 次删除
  1. 10 4
      src/views/financialManage/invoiceManage/components/addOrEditDialogNew.vue

+ 10 - 4
src/views/financialManage/invoiceManage/components/addOrEditDialogNew.vue

@@ -802,8 +802,11 @@
       //合同回调
       async changeContract(data) {
         console.log('changeOrder~~~', data);
-        const tempIds = data.map((item) => item.id);
-        const tempNames = data.map((item) => item.contractNo);
+        // 子组件在单选/多选路径下 emit 的形态不一致,归一化为数组
+        const list = Array.isArray(data) ? data : data ? [data] : [];
+        if (!list.length) return;
+        const tempIds = list.map((item) => item.id);
+        const tempNames = list.map((item) => item.contractNo);
         this.getPlanData(tempIds, tempNames);
         // const res = await getDetail(data.id);
         // this.$set(this.form, 'sourceId', data.id);
@@ -897,8 +900,11 @@
       //订单回调
       async changeOrder(data) {
         console.log('changeOrder~~~', data);
-        const tempIds = data.map((item) => item.id);
-        const tempNames = data.map((item) => item.orderNo);
+        // 子组件在单选/多选路径下 emit 的形态不一致,归一化为数组
+        const list = Array.isArray(data) ? data : data ? [data] : [];
+        if (!list.length) return;
+        const tempIds = list.map((item) => item.id);
+        const tempNames = list.map((item) => item.orderNo);
         this.getPlanData(tempIds, tempNames);
         // this.$set(this.form, 'sourceId', data.id);
         // this.$set(this.form, 'sourceCode', data.orderNo);