From 007e33dd8728b4557917a2ffa2e2449865602742 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 04 十二月 2023 16:10:48 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/BatchImport/index.vue | 151 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 107 insertions(+), 44 deletions(-) diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue index 765863f..45efd2b 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'" class="radio_box" - v-show="currentTypeObj[type]['upParams'] === 'classifyAttr'" > <span>鍒嗙被鐨勮矾寰勪娇鐢ㄧ殑灞炴��:</span> <el-radio-group v-model="classifyAttr"> @@ -23,63 +23,72 @@ </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" + v-if="type !== 'bulkEdit'" :loading="downloadLoading" - >涓嬭浇瀵煎叆妯℃澘</el-button - > + size="small" + type="primary" + @click="downloadTemplateFun" + >涓嬭浇瀵煎叆妯℃澘 + </el-button> + <el-button v-if="type === 'bulkEdit'" + :loading="downloadLoading" + size="small" + type="primary" + @click="downloadTemplateFun" + >涓嬭浇缂栬緫妯℃澘 + </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" + :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 +101,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 +129,14 @@ type: { type: String, default: "", + }, + tableHeadFindData: { + type: Array, + default: [] + }, + selectRow: { + type: Array, + default: [] }, resetTable: Function }, @@ -164,11 +185,16 @@ secDTOList: JSON.stringify(this.secDTOList), ...this.codeApplyForm, }; + } else if (this.type === "bulkEdit") { + return { + codeClassifyOid: this.codeClassifyOid, + }; } }, }, data() { return { + exportArrTwo: {}, classifyAttr: "id", downloadLoading: false, showVisible: false, @@ -187,6 +213,17 @@ ], 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: { @@ -239,17 +276,38 @@ }, // 涓嬭浇瀵煎叆妯℃澘 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') { + this.tableHeadFindData.map(item => item.prop) + .forEach((prop, index) => { + this.exportArrTwo[`attrIdIndexMap[${index}]`] = prop; + }); + downloadExcelBatchEdit({ + codeClassifyOid: this.codeClassifyOid, + 'conditionMap[oid]': this.ids, ...this.exportArrTwo, + limit: -1 + }).then(res => { + // console.log('res',res) + if (res) { + func.downloadFileByBlobHandler(res); + this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�') + } + }) + return; + } }, onSuccess(res) { if (Object.keys(res.data).length === 0) { @@ -261,7 +319,7 @@ if (res.data.fileOid) { const fileName = res.data.filePath.split("/").pop(); this.$message.error("璇蜂笅杞介敊璇俊鎭枃浠惰繘琛屾煡鐪嬶紒"); - downloadErrorFile({ uuid: res.data.fileOid }).then((res2) => { + downloadErrorFile({uuid: res.data.fileOid}).then((res2) => { this.$utilFunc.downloadFileByBlob(res2.data, fileName); }); } @@ -279,10 +337,10 @@ } } else { return { - ...item.codeClassifyTemplateVO, - cloNamesList: item.cloNamesList, - codeClassifyOid: item.codeClassifyTemplateVO.codeclassifyoid - }; + ...item.codeClassifyTemplateVO, + cloNamesList: item.cloNamesList, + codeClassifyOid: item.codeClassifyTemplateVO.codeclassifyoid + }; } }); this.showVisible = true; @@ -311,24 +369,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