From 29786a79b61c28cdb198941bd62a4ff5123e4ee8 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 28 九月 2023 12:23:07 +0800
Subject: [PATCH] 主数据-确定导入

---
 Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue |  169 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 90 insertions(+), 79 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
index 4c66219..1e89764 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
@@ -2,15 +2,15 @@
   <el-dialog
     :title="title"
     :visible.sync="dialogVisible"
-    width="1300px"
     append-to-body
     top="5vh"
+    width="1300px"
   >
     <div class="flex_box">
       <div
-        class="left"
-        :style="{ width: leftWidth + 'px' }"
         v-show="type !== 'batchImportApply'"
+        :style="{ width: leftWidth + 'px' }"
+        class="left"
       >
         <div class="isExpand_box">
           <el-link type="primary" @click="hideTree">
@@ -21,78 +21,79 @@
           </el-link>
         </div>
         <el-input
-          placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
-          v-model="filterText"
-          size="small"
           v-show="isExpand"
+          v-model="filterText"
+          placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+          size="small"
         >
         </el-input>
         <el-tree
           v-show="isExpand"
-          class="filter_tree"
-          :data="leftTree"
-          node-key="codeClassifyOid"
-          default-expand-all
-          highlight-current
-          :filter-node-method="filterNode"
-          @node-click="treeNodeClick"
           ref="tree"
+          :data="leftTree"
+          :filter-node-method="filterNode"
           :props="{
             label: 'name',
           }"
+          class="filter_tree"
+          default-expand-all
+          highlight-current
+          node-key="codeClassifyOid"
+          @node-click="treeNodeClick"
         >
         </el-tree>
       </div>
-      <div class="right" :style="{ width: 1280 - leftWidth - 60 + 'px' }">
+      <div :style="{ width: 1280 - leftWidth - 60 + 'px' }" class="right">
         <div class="tab_box" style="width: 100%">
           <el-tabs
-            style="width: 100%"
             v-model="activeTab"
+            size="small"
+            style="width: 100%"
             type="card"
             @tab-click="handleClick"
-            size="small"
           >
             <el-tab-pane :label="tab1Name" name="tab1">
               <el-table
-                border
-                :data="tab1Table"
-                style="width: 100%"
-                height="40vh"
-                highlight-current-row
-                @current-change="resembleRowChange"
-                @selection-change="tab1TableSelectChange"
                 v-if="cloNamesList.length > 1"
                 v-loading="tab1Loading"
+                :data="tab1Table"
+                border
+                height="40vh"
+                highlight-current-row
+                style="width: 100%"
+                @current-change="resembleRowChange"
+                @selection-change="tab1TableSelectChange"
               >
                 <el-table-column
                   v-if="type !== 'batchApplyCode'"
+                  align="center"
                   type="selection"
                   width="100px"
-                  align="center"
                 ></el-table-column>
                 <el-table-column
                   v-else
+                  align="center"
                   type="operate"
                   width="100px"
-                  align="center"
                 >
                   <template #default="{ row }">
                     <el-button type="text" @click="reEdit(row)"
-                      >閲嶆柊缂栬緫</el-button
+                    >閲嶆柊缂栬緫
+                    </el-button
                     >
                   </template>
                 </el-table-column>
                 <el-table-column
-                  type="index"
-                  label="搴忓彿"
-                  width="100px"
                   align="center"
+                  label="搴忓彿"
+                  type="index"
+                  width="100px"
                 ></el-table-column>
                 <el-table-column
                   v-for="item in cloNamesList"
                   :key="item.field"
-                  :prop="item.field"
                   :label="item.title"
+                  :prop="item.field"
                   :width="item.width"
                   align="center"
                 >
@@ -101,18 +102,18 @@
               <div v-else style="height: 400px"></div>
               <div>
                 <el-table
-                  border
-                  :data="currentSelectedResemble"
-                  style="width: 100%"
-                  height="20vh"
                   v-loading="tab1BottomTableLoading"
+                  :data="currentSelectedResemble"
+                  border
+                  height="20vh"
+                  style="width: 100%"
                 >
                   <el-table-column
                     v-for="item in resembleColumList"
                     :key="item.field"
-                    :prop="item.field"
                     :label="item.title"
                     :minWidth="item.minWidth"
+                    :prop="item.field"
                     align="center"
                   >
                     <template #default="{ row }">
@@ -120,7 +121,7 @@
                         <el-link
                           type="primary"
                           @click="openFormTemlpate(row)"
-                          >{{ row[item.field] }}</el-link
+                        >{{ row[item.field] }}</el-link
                         >
                       </span>
                       <span v-else>
@@ -130,43 +131,43 @@
                   </el-table-column>
                   <el-table-column
                     v-show="resembleColumList.length > 0"
-                    prop="rowIndex"
-                    label="excel琛屾暟"
                     align="center"
+                    label="excel琛屾暟"
+                    prop="rowIndex"
                   ></el-table-column>
                 </el-table>
               </div>
             </el-tab-pane>
             <el-tab-pane :label="tab2Name" name="tab2">
               <el-table
-                border
                 v-loading="tab2Loading"
                 :data="tab2Table"
+                border
                 height="60vh"
               >
                 <el-table-column
                   v-for="item in successTableColumns"
                   :key="item.field"
-                  :prop="item.field"
                   :label="item.title"
+                  :prop="item.field"
                   :width="item.width"
                   align="center"
                 >
                 </el-table-column>
               </el-table>
               <el-card
-                style="min-height: 200px; margintop: 10px"
                 v-if="type === 'batchApplyCode' && tab2Table.length > 0"
+                style="min-height: 200px; margintop: 10px"
               >
                 <div slot="header" class="clearfix">
                   <h4>缂栫爜鐢宠</h4>
                 </div>
                 <FormTemplate
                   v-if="type === 'batchApplyCode'"
-                  type="add"
-                  :selfColumnType="selfColumnType"
-                  :selfColumnConfig="selfColumnConfig"
                   ref="CodeApply"
+                  :selfColumnConfig="selfColumnConfig"
+                  :selfColumnType="selfColumnType"
+                  type="add"
                   @getFormData="getCodeApplyFormData"
                   @referConfigDataUpdate="referConfigDataUpdate"
                 ></FormTemplate>
@@ -178,8 +179,9 @@
     </div>
     <template #footer>
       <div>
-        <el-button size="small" type="primary" @click="submit" :loading="submitLoading"
-          >纭畾瀵煎叆</el-button
+        <el-button :loading="submitLoading" size="small" type="primary" @click="submit"
+        >纭畾瀵煎叆
+        </el-button
         >
         <el-button size="small" @click="dialogVisible = false">鍙栨秷</el-button>
       </div>
@@ -208,7 +210,7 @@
 
 export default {
   name: "ShowImportData",
-  components: { ResembleQuery, FormTemplate },
+  components: {ResembleQuery, FormTemplate},
   mixins: [codeApply],
   props: {
     title: {
@@ -350,7 +352,7 @@
             codeRuleOid: data.codeRuleOid,
           };
           // 涓嶆槸绗竴娆℃墦寮�闇�瑕佷紭鍏堟牎楠�
-        }else if (this.localCodeClassifyOid === data.codeClassifyOid) {
+        } else if (this.localCodeClassifyOid === data.codeClassifyOid) {
           console.log("閲嶅鐐瑰嚮");
         }
         if (!this.batchSelectTableData[data.codeClassifyOid]) {
@@ -495,7 +497,7 @@
         if (errorData.length > 0) {
           await this.$confirm(
             errorData.map((item) => item.name).join("銆�") +
-              "锛岃繖鍑犱釜缂栫爜瑙勫垯涓嬬殑鏈夐敊璇暟鎹拰鐩镐技椤规暟鎹病鏈夊鐞嗭紝鎮ㄥ鏋滅户缁繚瀛樼殑璇濓紝杩欎簺鏁版嵁灏嗕細琚嚜鍔ㄨ垗寮冿紝鏄惁缁х画锛�",
+            "锛岃繖鍑犱釜缂栫爜瑙勫垯涓嬬殑鏈夐敊璇暟鎹拰鐩镐技椤规暟鎹病鏈夊鐞嗭紝鎮ㄥ鏋滅户缁繚瀛樼殑璇濓紝杩欎簺鏁版嵁灏嗕細琚嚜鍔ㄨ垗寮冿紝鏄惁缁х画锛�",
             "鎻愮ず",
             {
               confirmButtonText: "纭畾",
@@ -530,39 +532,44 @@
           this.$message.warning(`鏁版嵁${noLookName}杩樻湭鏇炬煡鐪嬶紝璇峰厛鏌ョ湅锛乣);
           return false;
         }
-        params.codeImprotSaveDatVOList = this.batchSelectTableData.map(item => {
-          return {
-            Clos: item.cloNamesList,
-            dataList: item.tab2.concat(item.tab1Selected),
-            orderDTO: {
-              codeClassifyOid: item.codeClassifyOid,
-              templateOid: item.templateOid,
-              secDTOList: this.secDTOList,
-            },
+        if (this.batchSelectTableData && Array.isArray(this.batchSelectTableData)) {
+          params.codeImprotSaveDatVOList = [];
+          for (let i = 0; i < this.batchSelectTableData.length; i++) {
+            const item = this.batchSelectTableData[i];
+            const data = {
+              Clos: item.cloNamesList,
+              dataList: item.tab2.concat(item.tab1Selected),
+              orderDTO: {
+                codeClassifyOid: item.codeClassifyOid,
+                templateOid: item.templateOid,
+                secDTOList: this.secDTOList,
+              },
+            };
+            params.codeImprotSaveDatVOList.push(data);
           }
-        })
-      } else {
-        params.codeImprotSaveDatVOList = [
-          {
-            Clos: this.cloNamesList.map((item) => item.title),
-            dataList: this.tab2Table.concat(this.selectedTab1Table),
-            orderDTO: {
-              codeClassifyOid: this.codeClassifyOid,
-              templateOid: this.templateOid,
-              secDTOList: this.secDTOList,
+        } else {
+          params.codeImprotSaveDatVOList = [
+            {
+              Clos: this.cloNamesList.map((item) => item.title),
+              dataList: this.tab2Table.concat(this.selectedTab1Table),
+              orderDTO: {
+                codeClassifyOid: this.codeClassifyOid,
+                templateOid: this.templateOid,
+                secDTOList: this.secDTOList,
+              },
             },
-          },
-        ];
-      }
-      this.submitLoading = true
-      submitHistoryimport(params).then((res) => {
-        this.submitLoading = false
-        if (res.data.code === 200) {
-          this.$message.success(res.data.msg);
-          this.$parent.dialogVisible = false
-          this.resetTable()
+          ];
         }
-      });
+        this.submitLoading = true
+        submitHistoryimport(params).then((res) => {
+          this.submitLoading = false
+          if (res.data.code === 200) {
+            this.$message.success(res.data.msg);
+            this.$parent.dialogVisible = false
+            this.resetTable()
+          }
+        });
+      }
     },
     // 閲嶆柊缂栬緫
     reEdit(row) {
@@ -629,18 +636,22 @@
 .flex_box {
   display: flex;
   width: 1280px;
+
   .left {
     transition: all 0.5s;
+
     .isExpand_box {
       margin-bottom: 10px;
       text-align: right;
     }
+
     .filter_tree {
       margin-top: 15px;
       max-height: 400px;
       overflow-y: scroll;
     }
   }
+
   .right {
     transition: all 0.5s;
     margin-left: 20px;

--
Gitblit v1.9.3