Преглед на файлове

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);