From 05d45bd440ffc92e14e6c8728ac8956a0488c0ab Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 07 十二月 2023 17:20:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/BatchImport/index.vue |  737 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 412 insertions(+), 325 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index a1ebae2..d9f082b 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/index.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -1,325 +1,412 @@
-<template>
-  <el-dialog
-    v-if="dialogVisible"
-    :title="title"
-    :visible.sync="dialogVisible"
-    append-to-body
-    v-dialogDrag
-  >
-    <Divider text="瀵煎叆鎻愮ず" left="30px"></Divider>
-    <ul>
-      <li v-for="(item, index) in tipList" :key="index">
-        {{ item }}
-      </li>
-    </ul>
-    <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 && currentTypeObj[type]['upParams'] === 'codeApply'"
-    >
-      <Divider
-        text="缂栫爜瑙勫垯鐨勭爜娈典俊鎭紝璇峰厛閫夋嫨鍚庡啀瀵煎叆"
-        left="30px"
-      ></Divider>
-      <FormTemplate
-        style="margin-top: 30px"
-        type="add"
-        :selfColumnType="selfColumnType"
-        :selfColumnConfig="selfColumnConfig"
-        ref="CodeApply"
-        @getFormData="getCodeApplyFormData"
-        @referConfigDataUpdate="referConfigDataUpdate"
-      ></FormTemplate>
-    </div>
-    <Divider text="excel鏂囦欢锛岄�夋嫨鏂囦欢鍚庝細鑷姩涓婁紶" left="30px"></Divider>
-    <el-upload
-      class="upload"
-      :accept="accept"
-      :action="action"
-      :before-upload="beforeUpload"
-      :on-exceed="handleExceed"
-      :headers="uploadHeaders"
-      :on-success="onSuccess"
-      :on-error="onError"
-      :show-file-list="false"
-      :on-change="uploadChange"
-      :data="upParams"
-    >
-      <el-button size="small" type="primary"
-        ><i class="el-icon-upload"></i> 鐐瑰嚮涓婁紶</el-button
-      >
-    </el-upload>
-    <template #footer>
-      <el-button
-        type="primary"
-        size="small"
-        @click="downloadTemplateFun"
-        :loading="downloadLoading"
-        >涓嬭浇瀵煎叆妯℃澘</el-button
-      >
-      <el-button size="small" @click="dialogVisible = false">鍏抽棴</el-button>
-    </template>
-    <ShowImportData
-      :visible.sync="showVisible"
-      v-if="showVisible"
-      :leftTree="leftTree"
-      :classifyAttr="classifyAttr"
-      :codeClassifyOid="codeClassifyOid"
-      :redisOid="redisOid"
-      :type="type"
-      :title="title"
-      :secDTOList="secDTOList"
-    ></ShowImportData>
-  </el-dialog>
-</template>
-
-<script>
-import ShowImportData from "./ShowImportData.vue";
-import {
-  downloadHistoryImportTemplate,
-  downloadErrorFile,
-  importDataShow,
-  downloadBatchImportApplyTemplate,
-  downloadBatchApplyCodeTemplate,
-} from "../../api/batchImport/index";
-import FormTemplate from "../FormTemplate/FormTemplate.vue";
-import { getToken } from "@/util/auth";
-import codeApply from "@/mixins/codeApply.js";
-export default {
-  name: "BatchImport",
-  mixins: [codeApply],
-  components: { ShowImportData, FormTemplate },
-  props: {
-    visible: {
-      type: Boolean,
-      default: false,
-    },
-    accept: {
-      type: String,
-      default: ".xlsx, .xls",
-    },
-    codeClassifyOid: {
-      type: String,
-      default: "",
-    },
-    type: {
-      type: String,
-      default: "",
-    },
-  },
-  computed: {
-    uploadHeaders() {
-      return {
-        "Blade-Auth": "bearer " + getToken(),
-      };
-    },
-    dialogVisible: {
-      get() {
-        return this.visible;
-      },
-      set(val) {
-        this.$emit("update:visible", val);
-      },
-    },
-    title() {
-      return this.currentTypeObj[this.type]["title"];
-    },
-    tipList() {
-      return this.currentTypeObj[this.type]["tipList"];
-    },
-    downloadTemplateApi() {
-      console.log(this.currentTypeObj[this.type], "this.type");
-      return this.currentTypeObj[this.type]["downloadTemplateFun"];
-    },
-    action() {
-      return this.currentTypeObj[this.type]["action"];
-    },
-    upParams() {
-      if (this.type === "historyImport") {
-        return {
-          codeClassifyOid: this.codeClassifyOid,
-          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.id],
-          };
-        });
-        return {
-          codeClassifyOid: this.codeClassifyOid,
-          secDTOList: JSON.stringify(this.secDTOList),
-          ...this.codeApplyForm,
-        };
-      } else if (this.type === "batchApplyCode") {
-        return {
-          codeClassifyOid: this.codeClassifyOid,
-          classifyAttr: this.classifyAttr,
-        };
-      }
-    },
-  },
-  data() {
-    return {
-      classifyAttr: "id",
-      downloadLoading: false,
-      showVisible: false,
-      leftTree: [],
-      redisOid: "",
-      pageLoading: null,
-      showCodeApply: false,
-      currentTypeObj: {
-        historyImport: {
-          title: "鍘嗗彶鏁版嵁瀵煎叆",
-          tipList: [
-            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
-            "2.浼佷笟缂栫爜锛岄泦鍥㈢爜鍜岀姸鎬侀兘闇�瑕佸鍏�",
-            "3.姣忔浠呰兘鏈�澶氬鍏�10000鏉℃暟鎹紝濡傛灉鍑洪敊浼氳繑鍥為敊璇殑鏁版嵁鍜屽師鍥狅紝浣嗘槸姝g‘鐨勬暟鎹細淇濆瓨",
-            "4.鍒嗙被鐨勮矾寰勯渶瑕佺敤#鍒嗛殧銆備粎濉啓褰撳墠閫夌殑鍒嗙被鏍戜笂鐨勪笅绾у垎绫荤殑璺緞锛屽鏋滃綋鍓嶅垎绫诲凡缁忔槸鍙跺瓙鑺傜偣锛屽垯涓嶅~鍐�",
-          ],
-          action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData",
-          downloadTemplateFun: downloadHistoryImportTemplate,
-          upParams: "classifyAttr",
-        },
-        batchImportApply: {
-          title: "鎵归噺鐢宠缂栫爜",
-          tipList: [
-            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
-            "2.璇蜂竴瀹氬厛閫夋嫨/杈撳叆缂栫爜瑙勫垯鐨勭爜娈靛�煎悗鍐嶉�夋嫨excel鏂囦欢",
-            "3.姣忔浠呰兘鏈�澶氬鍏�10000鏉℃暟鎹紝濡傛灉鍑洪敊浼氳繑鍥為敊璇殑鏁版嵁鍜屽師鍥狅紝浣嗘槸姝g‘鐨勬暟鎹細淇濆瓨",
-            "4.濡傛灉灞炴�т负鍙傜収锛屽湪鍙傜収閰嶇疆涓缃涓睘鎬ф椂锛屼紭鍏堜娇鐢╪ame灞炴�х殑鍊硷紝鍚﹀垯濉啓绗竴涓睘鎬х殑鍊笺��",
-          ],
-          action: "/api/ubcs-code/mdmEngineController/batchImportCode",
-          downloadTemplateFun: downloadBatchImportApplyTemplate,
-          upParams: "codeApply",
-        },
-        batchApplyCode: {
-          title: "鎵归噺鐢宠缂栫爜",
-          tipList: [
-            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
-            "2.鍒嗙被鐨勮矾寰勯渶瑕佺敤#鍒嗛殧銆備粠褰撳墠閫夋嫨鍒嗙被鑺傜偣鐨勪笅绾у紑濮嬪~鍐欙紝鐩村埌鏈�鏈熬鑺傜偣锛屽 浜у搧#涓绘満浜у搧#涓绘満浜у搧",
-          ],
-          action: "/api/ubcs-code/mdmEngineController/batchTopImportCode",
-          downloadTemplateFun: downloadBatchApplyCodeTemplate,
-          upParams: "classifyAttr",
-        },
-      },
-      secDTOList: [],
-    };
-  },
-  methods: {
-    async beforeUpload(file) {
-      const fileType = file.name.split(".").pop();
-      if (fileType !== "xlsx" && fileType !== "xls") {
-        // 涓婁紶鏍煎紡涓嶇鍚堣姹傦紝鎻愮ず閿欒淇℃伅骞跺彇娑堜笂浼�
-        this.$message.error("鍙厑璁镐笂浼爔lsx銆亁ls鏍煎紡鐨勬枃浠�");
-        return Promise.reject(false);
-      }
-      if (this.type === "batchImportApply" && this.showCodeApply) {
-        // const flag = await this.$refs.CodeApply.validate();
-        // if (!flag) {
-        //   return Promise.reject(false);
-        // }
-      }
-      this.pageLoading = this.$loading({
-        lock: true,
-        text: "鏂囦欢涓婁紶涓�",
-        spinner: "el-icon-loading",
-        background: "rgba(0, 0, 0, 0.7)",
-      });
-      return true;
-    },
-    // 涓嬭浇瀵煎叆妯℃澘
-    downloadTemplateFun() {
-      this.downloadLoading = true;
-      this.downloadTemplateApi({
-        codeClassifyOid: this.codeClassifyOid,
-      })
-        .then((res) => {
-          this.$utilFunc.downloadFileByBlob(res.data, this.title + "妯℃澘.xls");
-          this.downloadLoading = false;
-        })
-        .catch(() => {
-          this.downloadLoading = false;
-        });
-    },
-    onSuccess(res) {
-      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);
-        });
-      }
-      if (res.data.redisUuid) {
-        this.redisOid = res.data.redisUuid;
-        importDataShow(res.data.redisUuid).then((res2) => {
-          this.leftTree = res2.data.data.map((item) => {
-            return {
-              ...item.codeClassifyTemplateVO,
-              cloNamesList: item.cloNamesList,
-            };
-          });
-          this.showVisible = true;
-        });
-      }
-    },
-    onError(err) {
-      console.log(err, "err");
-      this.pageLoading.close();
-    },
-    uploadChange(file) {
-      if (file.status === "success" || file.status === "error") {
-        this.pageLoading.close();
-      }
-    },
-  },
-  watch: {},
-};
-</script>
-
-<style lang="scss" scoped>
-ul {
-  color: rgb(188, 188, 188);
-  margin: 20px 0 20px 0;
-  padding: 0;
-  padding-left: 30px;
-  list-style: none;
-  li {
-    margin-bottom: 5px;
-    font-size: 12px;
-  }
-}
-.radio_box {
-  padding-left: 30px;
-  margin: 0px 0 25px 0;
-  display: flex;
-  align-items: center;
-  span {
-    margin-right: 20px;
-  }
-}
-.upload {
-  padding-left: 30px;
-  margin-top: 30px;
-}
-/deep/ .no-print {
-  display: none !important;
-}
-</style>
+<template>
+  <el-dialog
+    v-if="dialogVisible"
+    v-dialogDrag
+    :title="title"
+    :visible.sync="dialogVisible"
+    append-to-body
+  >
+    <Divider left="30px" text="瀵煎叆鎻愮ず"></Divider>
+    <ul>
+      <li v-for="(item, index) in tipList" :key="index">
+        {{ item }}
+      </li>
+    </ul>
+    <div
+      v-show="currentTypeObj[type]['upParams'] === 'classifyAttr' && this.type !== 'bulkEdit'&& this.type !== 'groupCode'"
+      class="radio_box"
+    >
+      <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
+      v-if="showCodeApply && currentTypeObj[type]['upParams'] === 'codeApply'"
+      style="margin-top: 20px"
+    >
+      <Divider
+        left="30px"
+        text="缂栫爜瑙勫垯鐨勭爜娈典俊鎭紝璇峰厛閫夋嫨鍚庡啀瀵煎叆"
+      ></Divider>
+      <FormTemplate
+        ref="CodeApply"
+        v-loading="!showCodeApply"
+        :selfColumnConfig="selfColumnConfig"
+        :selfColumnType="selfColumnType"
+        style="margin-top: 30px"
+        type="add"
+        @getFormData="getCodeApplyFormData"
+        @referConfigDataUpdate="referConfigDataUpdate"
+      ></FormTemplate>
+    </div>
+    <Divider left="30px" text="excel鏂囦欢锛岄�夋嫨鏂囦欢鍚庝細鑷姩涓婁紶"></Divider>
+    <el-upload
+      :accept="accept"
+      :action="action"
+      :before-upload="beforeUpload"
+      :data="upParams"
+      :headers="uploadHeaders"
+      :on-change="uploadChange"
+      :on-error="onError"
+      :on-exceed="handleExceed"
+      :on-success="onSuccess"
+      :show-file-list="false"
+      class="upload"
+    >
+      <el-button size="small" type="primary"
+      ><i class="el-icon-upload"></i> 鐐瑰嚮涓婁紶
+      </el-button
+      >
+    </el-upload>
+    <template #footer>
+      <div style="display: inline-block" v-if="type != 'groupCode'">
+          <el-button
+            v-if="type !== 'bulkEdit' "
+            :loading="downloadLoading"
+            size="small"
+            type="primary"
+            @click="downloadTemplateFun"
+          >涓嬭浇瀵煎叆妯℃澘
+          </el-button>
+          <el-button v-if="type === 'bulkEdit'"
+                     :loading="downloadLoading"
+                     size="small"
+                     type="primary"
+                     @click="downloadTemplateFun"
+          >涓嬭浇缂栬緫妯℃澘
+          </el-button>
+        </div>
+        <div style="display: inline-block">
+          <el-button size="small" @click="dialogVisible = false">鍏抽棴</el-button>
+        </div>
+
+    </template>
+    <ShowImportData
+      v-if="showVisible"
+      :classifyAttr="classifyAttr"
+      :codeClassifyOid="codeClassifyOid"
+      :leftTree="leftTree"
+      :redisOid="redisOid"
+      :resetTable="resetTable"
+      :secDTOList="secDTOList"
+      :title="title"
+      :type="type"
+      :visible.sync="showVisible"
+    ></ShowImportData>
+  </el-dialog>
+</template>
+
+<script>
+import ShowImportData from "./ShowImportData.vue";
+import {
+  downloadHistoryImportTemplate,
+  downloadErrorFile,
+  importDataShow,
+  downloadBatchImportApplyTemplate,
+  downloadBatchApplyCodeTemplate,
+  downloadExcelBatchEdit
+} from "../../api/batchImport/index";
+import {exportCode} from '@/api/GetItem'
+import func from "@/util/func";
+import FormTemplate from "../FormTemplate/FormTemplate.vue";
+import {getToken} from "@/util/auth";
+import codeApply from "@/mixins/codeApply.js";
+
+export default {
+  name: "BatchImport",
+  mixins: [codeApply],
+  components: {ShowImportData, FormTemplate},
+  props: {
+    visible: {
+      type: Boolean,
+      default: false,
+    },
+    accept: {
+      type: String,
+      default: ".xlsx, .xls",
+    },
+    codeClassifyOid: {
+      type: String,
+      default: "",
+    },
+    type: {
+      type: String,
+      default: "",
+    },
+    tableHeadFindData: {
+      type: Array,
+      default: []
+    },
+    selectRow: {
+      type: Array,
+      default: []
+    },
+    resetTable: Function
+  },
+  computed: {
+    uploadHeaders() {
+      return {
+        "Blade-Auth": "bearer " + getToken(),
+      };
+    },
+    dialogVisible: {
+      get() {
+        return this.visible;
+      },
+      set(val) {
+        this.$emit("update:visible", val);
+      },
+    },
+    title() {
+      return this.currentTypeObj[this.type]["title"];
+    },
+    tipList() {
+      return this.currentTypeObj[this.type]["tipList"];
+    },
+    downloadTemplateApi() {
+      return this.currentTypeObj[this.type]["downloadTemplateFun"];
+    },
+    action() {
+      return this.currentTypeObj[this.type]["action"];
+    },
+    upParams() {
+      if (this.type === "historyImport" || this.type === "batchApplyCode") {
+        return {
+          codeClassifyOid: this.codeClassifyOid,
+          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,
+        };
+      } else if (this.type === "bulkEdit") {
+        return {
+          codeClassifyOid: this.codeClassifyOid,
+        };
+      } else if (this.type === 'groupCode') {
+        return {
+          codeClassifyOid: this.codeClassifyOid,
+        };
+      }
+    },
+  },
+  data() {
+    return {
+      exportArrTwo: {},
+      classifyAttr: "id",
+      downloadLoading: false,
+      showVisible: false,
+      leftTree: [],
+      redisOid: "",
+      pageLoading: null,
+      showCodeApply: true,
+      currentTypeObj: {
+        historyImport: {
+          title: "鍘嗗彶鏁版嵁瀵煎叆",
+          tipList: [
+            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
+            "2.浼佷笟缂栫爜锛岄泦鍥㈢爜鍜岀姸鎬侀兘闇�瑕佸鍏�",
+            "3.姣忔浠呰兘鏈�澶氬鍏�5000鏉℃暟鎹�(鍙�氳繃nacos杩涜閰嶇疆锛屾帹鑽�5000/娆″鍏�)锛屽鏋滃嚭閿欎細杩斿洖閿欒鐨勬暟鎹拰鍘熷洜锛屼絾鏄纭暟鎹彲浠ョ户缁繚瀛�",
+            "4.鍒嗙被鐨勮矾寰勯渶瑕佺敤#鍒嗛殧銆備粎濉啓褰撳墠閫夌殑鍒嗙被鏍戜笂鐨勪笅绾у垎绫荤殑璺緞锛屽鏋滃綋鍓嶅垎绫诲凡缁忔槸鍙跺瓙鑺傜偣锛屽垯涓嶅~鍐�",
+          ],
+          action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData",
+          downloadTemplateFun: downloadHistoryImportTemplate,
+          upParams: "classifyAttr",
+        },
+        bulkEdit: {
+          title: "鎵归噺缂栬緫瀵煎叆",
+          tipList: [
+            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
+            "2.姣忔浠呰兘鏈�澶氬鍏�5000鏉℃暟鎹�(鍙�氳繃nacos杩涜閰嶇疆锛屾帹鑽�5000/娆″鍏�)锛屽鏋滃嚭閿欎細杩斿洖閿欒鐨勬暟鎹拰鍘熷洜锛屼絾鏄纭暟鎹彲浠ョ户缁繚瀛�",
+            "3.璇锋寜鐓т笅杞界殑缂栬緫妯℃澘鎵�浣跨敤鐨勯厤缃繘琛屽叿浣撻厤缃�"
+          ],
+          action: "/api/ubcs-code/mdmEngineController/batchImportEdit",
+          downloadTemplateFun: downloadExcelBatchEdit,
+          upParams: "classifyAttr",
+        },
+        batchImportApply: {
+          title: "鎵归噺瀵煎叆鐢宠",
+          tipList: [
+            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
+            "2.璇蜂竴瀹氬厛閫夋嫨/杈撳叆缂栫爜瑙勫垯鐨勭爜娈靛�煎悗鍐嶉�夋嫨excel鏂囦欢",
+            "3.姣忔浠呰兘鏈�澶氬鍏�10000鏉℃暟鎹紝濡傛灉鍑洪敊浼氳繑鍥為敊璇殑鏁版嵁鍜屽師鍥狅紝浣嗘槸姝g‘鐨勬暟鎹細淇濆瓨",
+            "4.濡傛灉灞炴�т负鍙傜収锛屽湪鍙傜収閰嶇疆涓缃涓睘鎬ф椂锛屼紭鍏堜娇鐢╪ame灞炴�х殑鍊硷紝鍚﹀垯濉啓绗竴涓睘鎬х殑鍊笺��",
+          ],
+          action: "/api/ubcs-code/mdmEngineController/batchImportCode",
+          downloadTemplateFun: downloadBatchImportApplyTemplate,
+          upParams: "codeApply",
+        },
+        batchApplyCode: {
+          title: "鎵归噺鐢宠缂栫爜",
+          tipList: [
+            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
+            "2.鍒嗙被鐨勮矾寰勯渶瑕佺敤#鍒嗛殧銆備粠褰撳墠閫夋嫨鍒嗙被鑺傜偣鐨勪笅绾у紑濮嬪~鍐欙紝鐩村埌鏈�鏈熬鑺傜偣锛屽 浜у搧#涓绘満浜у搧#涓绘満浜у搧",
+          ],
+          action: "/api/ubcs-code/mdmEngineController/batchTopImportCode",
+          downloadTemplateFun: downloadBatchApplyCodeTemplate,
+          upParams: "classifyAttr",
+        },
+        groupCode: {
+          title: "闆嗗洟鐮佸鍏�",
+          tipList: [
+            "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
+            "2.姣忔浠呰兘鏈�澶氬鍏�5000鏉℃暟鎹�(鍙�氳繃nacos杩涜閰嶇疆锛屾帹鑽�5000/娆″鍏�)锛屽鏋滃嚭閿欎細杩斿洖閿欒鐨勬暟鎹拰鍘熷洜锛屼絾鏄纭暟鎹彲浠ョ户缁繚瀛�",
+            "3.Excel绗竴琛屽拰绗簩琛屼緷娆′负浼佷笟缂栫爜鍜岄泦鍥㈢紪鐮侊紙蹇呭~锛�"
+          ],
+          action: "/api/ubcs-code/mdmEngineController/importGroupCode",
+          downloadTemplateFun: null,
+          upParams: "classifyAttr",
+        }
+      },
+      secDTOList: [],
+    };
+  },
+  methods: {
+    async beforeUpload(file) {
+      const fileType = file.name.split(".").pop();
+      if (fileType !== "xlsx" && fileType !== "xls") {
+        // 涓婁紶鏍煎紡涓嶇鍚堣姹傦紝鎻愮ず閿欒淇℃伅骞跺彇娑堜笂浼�
+        this.$message.error("鍙厑璁镐笂浼爔lsx銆亁ls鏍煎紡鐨勬枃浠�");
+        return Promise.reject(false);
+      }
+      if (this.type === "batchImportApply" && this.showCodeApply) {
+        const flag = await this.$refs.CodeApply.validate();
+        if (!flag) {
+          return Promise.reject(false);
+        }
+      }
+      this.pageLoading = this.$loading({
+        lock: true,
+        text: "鏂囦欢涓婁紶涓�",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      return true;
+    },
+    // 涓嬭浇瀵煎叆妯℃澘
+    downloadTemplateFun() {
+      if (this.type !== 'bulkEdit') {
+        this.downloadLoading = true;
+        this.downloadTemplateApi({
+          codeClassifyOid: this.codeClassifyOid,
+        })
+          .then((res) => {
+            this.$utilFunc.downloadFileByBlob(res.data, this.title + "妯℃澘.xls");
+            this.downloadLoading = false;
+          })
+          .catch(() => {
+            this.downloadLoading = false;
+          });
+        return;
+      }
+      if (this.type === 'bulkEdit') {
+        downloadExcelBatchEdit({
+          codeClassifyOid: this.codeClassifyOid,
+        }).then(res => {
+          if (res) {
+            func.downloadFileByBlobHandler(res);
+            this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�')
+          }
+        })
+        return;
+      }
+    },
+    onSuccess(res) {
+      console.log(res)
+      if (Object.keys(res.data).length === 0) {
+        this.$message.success(this.title + "瀵煎叆鎴愬姛锛�");
+        this.resetTable()
+        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);
+        });
+      }
+      if (res.data.redisUuid) {
+        this.redisOid = res.data.redisUuid;
+        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) {
+      this.pageLoading.close();
+      //console.log('onError')
+    },
+    uploadChange(file) {
+      if (file.status === "success" || file.status === "error") {
+        this.pageLoading.close();
+        //console.log('uploadChange')
+      }
+    },
+  },
+  watch: {},
+};
+</script>
+
+<style lang="scss" scoped>
+ul {
+  color: rgb(188, 188, 188);
+  margin: 20px 0 20px 0;
+  padding: 0;
+  padding-left: 30px;
+  list-style: none;
+
+  li {
+    margin-bottom: 5px;
+    font-size: 12px;
+  }
+}
+
+.radio_box {
+  padding-left: 30px;
+  margin: 0px 0 25px 0;
+  display: flex;
+  align-items: center;
+
+  span {
+    margin-right: 20px;
+  }
+}
+
+.upload {
+  padding-left: 30px;
+  margin-top: 30px;
+}
+
+/deep/ .no-print {
+  display: none !important;
+}
+</style>

--
Gitblit v1.9.3