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 |  182 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 129 insertions(+), 53 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index c904bf3..d9f082b 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/index.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -1,20 +1,20 @@
 <template>
   <el-dialog
     v-if="dialogVisible"
+    v-dialogDrag
     :title="title"
     :visible.sync="dialogVisible"
     append-to-body
-    v-dialogDrag
   >
-    <Divider text="瀵煎叆鎻愮ず" left="30px"></Divider>
+    <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"
-      v-show="currentTypeObj[type]['upParams'] === 'classifyAttr'"
     >
       <span>鍒嗙被鐨勮矾寰勪娇鐢ㄧ殑灞炴��:</span>
       <el-radio-group v-model="classifyAttr">
@@ -23,63 +23,77 @@
       </el-radio-group>
     </div>
     <div
-      style="margin-top: 20px"
       v-if="showCodeApply && currentTypeObj[type]['upParams'] === 'codeApply'"
+      style="margin-top: 20px"
     >
       <Divider
-        text="缂栫爜瑙勫垯鐨勭爜娈典俊鎭紝璇峰厛閫夋嫨鍚庡啀瀵煎叆"
         left="30px"
+        text="缂栫爜瑙勫垯鐨勭爜娈典俊鎭紝璇峰厛閫夋嫨鍚庡啀瀵煎叆"
       ></Divider>
       <FormTemplate
+        ref="CodeApply"
         v-loading="!showCodeApply"
+        :selfColumnConfig="selfColumnConfig"
+        :selfColumnType="selfColumnType"
         style="margin-top: 30px"
         type="add"
-        :selfColumnType="selfColumnType"
-        :selfColumnConfig="selfColumnConfig"
-        ref="CodeApply"
         @getFormData="getCodeApplyFormData"
         @referConfigDataUpdate="referConfigDataUpdate"
       ></FormTemplate>
     </div>
-    <Divider text="excel鏂囦欢锛岄�夋嫨鏂囦欢鍚庝細鑷姩涓婁紶" left="30px"></Divider>
+    <Divider left="30px" text="excel鏂囦欢锛岄�夋嫨鏂囦欢鍚庝細鑷姩涓婁紶"></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"
+      :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
+      ><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>
+      <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
-      :visible.sync="showVisible"
       v-if="showVisible"
-      :leftTree="leftTree"
       :classifyAttr="classifyAttr"
       :codeClassifyOid="codeClassifyOid"
+      :leftTree="leftTree"
       :redisOid="redisOid"
-      :type="type"
-      :title="title"
-      :secDTOList="secDTOList"
       :resetTable="resetTable"
+      :secDTOList="secDTOList"
+      :title="title"
+      :type="type"
+      :visible.sync="showVisible"
     ></ShowImportData>
   </el-dialog>
 </template>
@@ -92,14 +106,18 @@
   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 {getToken} from "@/util/auth";
 import codeApply from "@/mixins/codeApply.js";
+
 export default {
   name: "BatchImport",
   mixins: [codeApply],
-  components: { ShowImportData, FormTemplate },
+  components: {ShowImportData, FormTemplate},
   props: {
     visible: {
       type: Boolean,
@@ -116,6 +134,14 @@
     type: {
       type: String,
       default: "",
+    },
+    tableHeadFindData: {
+      type: Array,
+      default: []
+    },
+    selectRow: {
+      type: Array,
+      default: []
     },
     resetTable: Function
   },
@@ -140,7 +166,6 @@
       return this.currentTypeObj[this.type]["tipList"];
     },
     downloadTemplateApi() {
-      console.log(this.currentTypeObj[this.type], "this.type");
       return this.currentTypeObj[this.type]["downloadTemplateFun"];
     },
     action() {
@@ -165,11 +190,20 @@
           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,
@@ -183,15 +217,26 @@
           tipList: [
             "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
             "2.浼佷笟缂栫爜锛岄泦鍥㈢爜鍜岀姸鎬侀兘闇�瑕佸鍏�",
-            "3.姣忔浠呰兘鏈�澶氬鍏�10000鏉℃暟鎹紝濡傛灉鍑洪敊浼氳繑鍥為敊璇殑鏁版嵁鍜屽師鍥狅紝浣嗘槸姝g‘鐨勬暟鎹細淇濆瓨",
+            "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: "鎵归噺鐢宠缂栫爜",
+          title: "鎵归噺瀵煎叆鐢宠",
           tipList: [
             "1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
             "2.璇蜂竴瀹氬厛閫夋嫨/杈撳叆缂栫爜瑙勫垯鐨勭爜娈靛�煎悗鍐嶉�夋嫨excel鏂囦欢",
@@ -212,6 +257,17 @@
           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: [],
     };
@@ -240,30 +296,44 @@
     },
     // 涓嬭浇瀵煎叆妯℃澘
     downloadTemplateFun() {
-      this.downloadLoading = true;
-      this.downloadTemplateApi({
-        codeClassifyOid: this.codeClassifyOid,
-      })
-        .then((res) => {
-          this.$utilFunc.downloadFileByBlob(res.data, this.title + "妯℃澘.xls");
-          this.downloadLoading = false;
+      if (this.type !== 'bulkEdit') {
+        this.downloadLoading = true;
+        this.downloadTemplateApi({
+          codeClassifyOid: this.codeClassifyOid,
         })
-        .catch(() => {
-          this.downloadLoading = false;
-        });
+          .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',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) => {
-          console.log('res2',res2)
+        downloadErrorFile({uuid: res.data.fileOid}).then((res2) => {
           this.$utilFunc.downloadFileByBlob(res2.data, fileName);
         });
       }
@@ -281,10 +351,10 @@
               }
             } else {
               return {
-              ...item.codeClassifyTemplateVO,
-              cloNamesList: item.cloNamesList,
-              codeClassifyOid: item.codeClassifyTemplateVO.codeclassifyoid
-            };
+                ...item.codeClassifyTemplateVO,
+                cloNamesList: item.cloNamesList,
+                codeClassifyOid: item.codeClassifyTemplateVO.codeclassifyoid
+              };
             }
           });
           this.showVisible = true;
@@ -292,12 +362,13 @@
       }
     },
     onError(err) {
-      console.log(err, "err");
       this.pageLoading.close();
+      //console.log('onError')
     },
     uploadChange(file) {
       if (file.status === "success" || file.status === "error") {
         this.pageLoading.close();
+        //console.log('uploadChange')
       }
     },
   },
@@ -312,24 +383,29 @@
   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;
 }

--
Gitblit v1.9.3