From d352854ea15f522fcfa83781f930418149c6129c Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 04 十二月 2023 10:38:24 +0800
Subject: [PATCH] 批量更改导入导出接口联调
---
Source/UBCS-WEB/src/api/batchImport/index.js | 10 ++
Source/UBCS-WEB/src/components/BatchImport/index.vue | 174 +++++++++++++++++++++++--------------------
2 files changed, 104 insertions(+), 80 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/batchImport/index.js b/Source/UBCS-WEB/src/api/batchImport/index.js
index de47980..96736b9 100644
--- a/Source/UBCS-WEB/src/api/batchImport/index.js
+++ b/Source/UBCS-WEB/src/api/batchImport/index.js
@@ -1,6 +1,16 @@
import request from '@/router/axios';
+//鏍囧噯妯℃澘涓嬭浇
+export const downloadExcelBatchEdit = (params) => {
+ return request({
+ url: '/api/ubcs-code/mdmEngineController/downloadExcelBatchEdit',
+ method: 'get',
+ params,
+ responseType: 'blob'
+ })
+}
+
// 鍘嗗彶瀵煎叆妯℃澘涓嬭浇
export const downloadHistoryImportTemplate = (params) => {
return request({
diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index 02d31db..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
- class="radio_box"
v-show="currentTypeObj[type]['upParams'] === 'classifyAttr' && this.type !== 'bulkEdit'"
+ class="radio_box"
>
<span>鍒嗙被鐨勮矾寰勪娇鐢ㄧ殑灞炴��:</span>
<el-radio-group v-model="classifyAttr">
@@ -23,69 +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"
- :loading="downloadLoading"
v-if="type !== 'bulkEdit'"
- >涓嬭浇瀵煎叆妯℃澘</el-button>
- <el-button type="primary"
- size="small"
+ :loading="downloadLoading"
+ size="small"
+ type="primary"
+ @click="downloadTemplateFun"
+ >涓嬭浇瀵煎叆妯℃澘
+ </el-button>
+ <el-button v-if="type === 'bulkEdit'"
:loading="downloadLoading"
+ size="small"
+ type="primary"
@click="downloadTemplateFun"
- v-if="type === 'bulkEdit'"
- >涓嬭浇缂栬緫妯℃澘</el-button>
+ >涓嬭浇缂栬緫妯℃澘
+ </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>
@@ -98,16 +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,
@@ -125,13 +130,13 @@
type: String,
default: "",
},
- tableHeadFindData:{
- type:Array,
- default:[]
+ tableHeadFindData: {
+ type: Array,
+ default: []
},
- selectRow:{
- type:Array,
- default:[]
+ selectRow: {
+ type: Array,
+ default: []
},
resetTable: Function
},
@@ -162,7 +167,7 @@
return this.currentTypeObj[this.type]["action"];
},
upParams() {
- if (this.type === "historyImport" || this.type === "batchApplyCode" || this.type === "bulkEdit") {
+ if (this.type === "historyImport" || this.type === "batchApplyCode") {
return {
codeClassifyOid: this.codeClassifyOid,
classifyAttr: this.classifyAttr,
@@ -179,6 +184,10 @@
codeClassifyOid: this.codeClassifyOid,
secDTOList: JSON.stringify(this.secDTOList),
...this.codeApplyForm,
+ };
+ } else if (this.type === "bulkEdit") {
+ return {
+ codeClassifyOid: this.codeClassifyOid,
};
}
},
@@ -206,15 +215,15 @@
downloadTemplateFun: downloadHistoryImportTemplate,
upParams: "classifyAttr",
},
- bulkEdit:{
+ bulkEdit: {
title: "鎵归噺缂栬緫瀵煎叆",
tipList: [
"1.鏍囬甯︿簲瑙掓槦鐨勮〃绀哄叧閿睘鎬э紝甯︽槦鍙疯〃绀哄繀杈撻」",
"2.姣忔浠呰兘鏈�澶氬鍏�5000鏉℃暟鎹�(鍙�氳繃nacos杩涜閰嶇疆锛屾帹鑽�5000/娆″鍏�)锛屽鏋滃嚭閿欎細杩斿洖閿欒鐨勬暟鎹拰鍘熷洜锛屼絾鏄纭暟鎹彲浠ョ户缁繚瀛�",
"3.璇锋寜鐓т笅杞界殑缂栬緫妯℃澘鎵�浣跨敤鐨勯厤缃繘琛屽叿浣撻厤缃�"
],
- action: "/api/ubcs-code/mdmEngineController/batchImportHistoryData",
- downloadTemplateFun: downloadHistoryImportTemplate,
+ action: "/api/ubcs-code/mdmEngineController/batchImportEdit",
+ downloadTemplateFun: downloadExcelBatchEdit,
upParams: "classifyAttr",
},
batchImportApply: {
@@ -267,38 +276,38 @@
},
// 涓嬭浇瀵煎叆妯℃澘
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'){
- this.tableHeadFindData.map(item => item.prop)
- .forEach((prop, index) => {
- this.exportArrTwo[`attrIdIndexMap[${index}]`] = prop;
- });
- exportCode({
- 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;
- }
+ 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') {
+ 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) {
@@ -310,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);
});
}
@@ -328,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;
@@ -360,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