From 2024d0f570d9da956e792746992852749c06227c Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期二, 11 七月 2023 14:30:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/BatchImport/index.vue |  135 ++++++++++++++++++++++++++++++--------------
 1 files changed, 92 insertions(+), 43 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index b7d08ea..a0f6495 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/index.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -12,17 +12,26 @@
         {{ item }}
       </li>
     </ul>
-    <div class="radio_box" v-show="currentTypeObj[type]['upParams'] === 'classifyAttr'">
+    <div
+      class="radio_box"
+      v-show="currentTypeObj[type]['upParams'] === 'classifyAttr'"
+    >
       <span>鍒嗙被鐨勮矾寰勪娇鐢ㄧ殑灞炴��:</span>
       <el-radio-group v-model="classifyAttr">
         <el-radio label="id">鍒嗙被缂栧彿</el-radio>
         <el-radio label="name">鍒嗙被鍚嶇О</el-radio>
       </el-radio-group>
     </div>
-    <div style="margin-top: 20px;" v-if="showCodeApply && type === 'batchImportApply'">
-      <Divider text="缂栫爜瑙勫垯鐨勭爜娈典俊鎭紝璇峰厛閫夋嫨鍚庡啀瀵煎叆" left="30px"></Divider>
+    <div
+      style="margin-top: 20px"
+      v-if="showCodeApply && currentTypeObj[type]['upParams'] === 'codeApply'"
+    >
+      <Divider
+        text="缂栫爜瑙勫垯鐨勭爜娈典俊鎭紝璇峰厛閫夋嫨鍚庡啀瀵煎叆"
+        left="30px"
+      ></Divider>
       <FormTemplate
-        style="margin-top: 30px;"
+        style="margin-top: 30px"
         type="add"
         :selfColumnType="selfColumnType"
         :selfColumnConfig="selfColumnConfig"
@@ -40,6 +49,7 @@
       :on-exceed="handleExceed"
       :headers="uploadHeaders"
       :on-success="onSuccess"
+      :on-error="onError"
       :show-file-list="false"
       :on-change="uploadChange"
       :data="upParams"
@@ -66,6 +76,8 @@
       :codeClassifyOid="codeClassifyOid"
       :redisOid="redisOid"
       :type="type"
+      :title="title"
+      :secDTOList="secDTOList"
     ></ShowImportData>
   </el-dialog>
 </template>
@@ -75,12 +87,13 @@
 import {
   downloadHistoryImportTemplate,
   downloadErrorFile,
-  getHistoryLeftTree,
-  downloadBatchImportApplyTemplate
+  importDataShow,
+  downloadBatchImportApplyTemplate,
+  downloadBatchApplyCodeTemplate,
 } from "../../api/batchImport/index";
 import FormTemplate from "../FormTemplate/FormTemplate.vue";
 import { getToken } from "@/util/auth";
-import codeApply from '@/mixins/codeApply.js'
+import codeApply from "@/mixins/codeApply.js";
 export default {
   name: "BatchImport",
   mixins: [codeApply],
@@ -118,31 +131,39 @@
       },
     },
     title() {
-      return this.currentTypeObj[this.type]['title']
+      return this.currentTypeObj[this.type]["title"];
     },
     tipList() {
-      return this.currentTypeObj[this.type]['tipList']
+      return this.currentTypeObj[this.type]["tipList"];
     },
     downloadTemplateApi() {
-      return this.currentTypeObj[this.type]['downloadTemplateFun']
+      console.log(this.currentTypeObj[this.type], "this.type");
+      return this.currentTypeObj[this.type]["downloadTemplateFun"];
     },
     action() {
-      return this.currentTypeObj[this.type]['action']
+      return this.currentTypeObj[this.type]["action"];
     },
     upParams() {
-      if (this.type === 'historyImport') {
-        return {
-        codeClassifyOid: this.codeClassifyOid,
-        classifyAttr: this.classifyAttr,
-      }
-      } else if(this.type === 'batchImportApply') {
+      if (this.type === "historyImport" || this.type === "batchApplyCode") {
         return {
           codeClassifyOid: this.codeClassifyOid,
-          secDTOList: this.secDTOList,
-          ...this.codeApplyForm
-        }
+          classifyAttr: this.classifyAttr,
+        };
+      } else if (this.type === "batchImportApply") {
+        // eslint-disable-next-line vue/no-side-effects-in-computed-properties
+        this.secDTOList = this.localSecVOList.map((item) => {
+          return {
+            secOid: item.oid,
+            secValue: this.codeApplyForm[item.oid],
+          };
+        });
+        return {
+          codeClassifyOid: this.codeClassifyOid,
+          secDTOList: JSON.stringify(this.secDTOList),
+          ...this.codeApplyForm,
+        };
       }
-    }
+    },
   },
   data() {
     return {
@@ -152,6 +173,7 @@
       leftTree: [],
       redisOid: "",
       pageLoading: null,
+      showCodeApply: false,
       currentTypeObj: {
         historyImport: {
           title: "鍘嗗彶鏁版嵁瀵煎叆",
@@ -163,7 +185,7 @@
           ],
           action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData",
           downloadTemplateFun: downloadHistoryImportTemplate,
-          upParams: 'classifyAttr'
+          upParams: "classifyAttr",
         },
         batchImportApply: {
           title: "鎵归噺鐢宠缂栫爜",
@@ -175,26 +197,42 @@
           ],
           action: "/api/ubcs-code/mdmEngineController/batchImportCode",
           downloadTemplateFun: downloadBatchImportApplyTemplate,
-          upParams: false
-        }
+          upParams: "codeApply",
+        },
+        batchApplyCode: {
+          title: "鎵归噺鐢宠缂栫爜",
+          tipList: [
+            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
+            "2.鍒嗙被鐨勮矾寰勯渶瑕佺敤#鍒嗛殧銆備粠褰撳墠閫夋嫨鍒嗙被鑺傜偣鐨勪笅绾у紑濮嬪~鍐欙紝鐩村埌鏈�鏈熬鑺傜偣锛屽 浜у搧#涓绘満浜у搧#涓绘満浜у搧",
+          ],
+          action: "/api/ubcs-code/mdmEngineController/batchTopImportCode",
+          downloadTemplateFun: downloadBatchApplyCodeTemplate,
+          upParams: "classifyAttr",
+        },
       },
+      secDTOList: [],
     };
   },
   methods: {
     async beforeUpload(file) {
-      console.log(223344);
       const fileType = file.name.split(".").pop();
       if (fileType !== "xlsx" && fileType !== "xls") {
         // 涓婁紶鏍煎紡涓嶇鍚堣姹傦紝鎻愮ず閿欒淇℃伅骞跺彇娑堜笂浼�
         this.$message.error("鍙厑璁镐笂浼爔lsx銆亁ls鏍煎紡鐨勬枃浠�");
-        return Promise.reject(false)
+        return Promise.reject(false);
       }
-      if (this.type === 'batchImportApply') {
-        const flag = await this.$refs.CodeApply.validate()
+      if (this.type === "batchImportApply" && this.showCodeApply) {
+        const flag = await this.$refs.CodeApply.validate();
         if (!flag) {
-          return Promise.reject(false)
+          return Promise.reject(false);
         }
       }
+      this.pageLoading = this.$loading({
+        lock: true,
+        text: "鏂囦欢涓婁紶涓�",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
       return true;
     },
     // 涓嬭浇瀵煎叆妯℃澘
@@ -212,8 +250,13 @@
         });
     },
     onSuccess(res) {
-      let fileName = res.data.filePath.split("/").pop();
+      if (Object.keys(res.data).length === 0) {
+        this.$message.success(this.title + "瀵煎叆鎴愬姛锛�");
+        this.dialogVisible = false;
+        return;
+      }
       if (res.data.fileOid) {
+        const fileName = res.data.filePath.split("/").pop();
         this.$message.error("璇蜂笅杞介敊璇俊鎭枃浠惰繘琛屾煡鐪嬶紒");
         downloadErrorFile({ uuid: res.data.fileOid }).then((res2) => {
           this.$utilFunc.downloadFileByBlob(res2.data, fileName);
@@ -221,33 +264,39 @@
       }
       if (res.data.redisUuid) {
         this.redisOid = res.data.redisUuid;
-        getHistoryLeftTree(res.data.redisUuid).then((res) => {
-          this.leftTree = res.obj.map((item) => {
-            return {
+        importDataShow(res.data.redisUuid).then((res2) => {
+          this.leftTree = res2.data.data.map((item) => {
+            if (this.type === 'batchApplyCode') {
+              return {
+                cloNamesList: item.cloNamesList,
+                oid: item.codeTemplateOid,
+                codeClassifyOid: item.codeClassifyOid,
+                codeRuleOid: item.codeRuleOid,
+                name: item.codeRuleVO.name
+              }
+            } else {
+              return {
               ...item.codeClassifyTemplateVO,
               cloNamesList: item.cloNamesList,
+              codeClassifyOid: item.codeClassifyTemplateVO.codeclassifyoid
             };
+            }
           });
           this.showVisible = true;
         });
       }
     },
+    onError(err) {
+      console.log(err, "err");
+      this.pageLoading.close();
+    },
     uploadChange(file) {
-      if (file.status === "uploadin") {
-        this.pageLoading = this.$loading({
-          lock: true,
-          text: "鏂囦欢涓婁紶涓�",
-          spinner: "el-icon-loading",
-          background: "rgba(0, 0, 0, 0.7)",
-        });
-      }
       if (file.status === "success" || file.status === "error") {
         this.pageLoading.close();
       }
     },
   },
-  watch: {
-  },
+  watch: {},
 };
 </script>
 

--
Gitblit v1.9.3