From ff182ac475ea169057956ab182d38236d7ee87a1 Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期二, 20 六月 2023 11:09:18 +0800 Subject: [PATCH] 批量导入 --- Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue | 2 Source/UBCS-WEB/src/components/FormTemplate/index.vue | 267 +++++++++++++++++++++++++++++++++++++++++-- Source/UBCS-WEB/src/api/batchImport/index.js | 11 + Source/UBCS-WEB/src/util/func.js | 14 ++ Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue | 5 Source/UBCS-WEB/src/components/BatchImport/index.vue | 7 6 files changed, 283 insertions(+), 23 deletions(-) diff --git a/Source/UBCS-WEB/src/api/batchImport/index.js b/Source/UBCS-WEB/src/api/batchImport/index.js index f48426a..69c3f05 100644 --- a/Source/UBCS-WEB/src/api/batchImport/index.js +++ b/Source/UBCS-WEB/src/api/batchImport/index.js @@ -6,7 +6,8 @@ return request({ url: '/api/ubcs-code/mdmEngineController/downloadImportExcelHistory', method: 'get', - params + params, + responseType: 'blob' }) } // 涓嬭浇閿欒鏃ュ織 @@ -16,4 +17,12 @@ method: 'get', params }) +} +// 瀵煎叆鏁版嵁灞曠ず +export const importDataShow = (redisOid) => { + return request({ + url: '/api/ubcs-code/mdmEngineController/gridclassifys', + method: 'get', + params: {redisOid: redisOid + "-class"} + }) } \ No newline at end of file diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue index a5bacf6..c94a9ed 100644 --- a/Source/UBCS-WEB/src/components/BatchImport/index.vue +++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue @@ -53,6 +53,7 @@ import { downloadHistoryImportTemplate, downloadErrorFile, + importDataShow } from "../../api/batchImport/index"; import { getToken } from "@/util/auth"; export default { @@ -69,7 +70,7 @@ }, codeClassifyOid: { type: String, - default: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B", + default: "", }, type: { type: String, @@ -124,11 +125,11 @@ downloadTemplateFun() { this.downloadLoading = true; downloadHistoryImportTemplate({ - codeClassifyOid: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B", + codeClassifyOid: this.codeClassifyOid, }) .then((res) => { this.downloadLoading = false; - console.log(res); + this.$utilFunc.downloadFileByBlob(res.data, "鍘嗗彶鏁版嵁瀵煎叆妯℃澘.xls"); }) .catch(() => { this.downloadLoading = false; diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue index 42912d0..a9f8e52 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue @@ -713,7 +713,7 @@ if(data.field){ this.form[data.field]=data.value || ''; this.form[data.showField]=data.text || ''; - this.$emit("getFormData", this.form); + this.$emit("referConfigDataUpdate", data); } } }, diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index b910397..a908408 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -30,7 +30,7 @@ " > <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> - <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply"> + <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply"> <FormTempalte v-bind="$attrs" :type="type" @@ -38,6 +38,7 @@ :selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getFormData" + @referConfigDataUpdate="referConfigDataUpdate" ></FormTempalte> </el-tab-pane> <el-tab-pane @@ -59,9 +60,9 @@ </div> <div class="avue-dialog__footer" v-if="type !== 'detail'"> <el-button @click="close()">鍙� 娑�</el-button> - <el-button @click="submit()" type="primary" :loading="submitBtnLoading" - >{{ submitText }}</el-button - > + <el-button @click="submit()" type="primary" :loading="submitBtnLoading">{{ + submitText + }}</el-button> <el-button @click="resembleQuerySubmit" type="primary" @@ -107,8 +108,8 @@ }, submitText: { type: String, - default: '纭� 瀹�' - } + default: "纭� 瀹�", + }, }, data() { return { @@ -132,6 +133,8 @@ required: this.isRequired, dicData: this.getOptionList, type: this.getType, + referConfig: this.getReferConfig, + readOnly: this.getDisabled, }, exchange: { text: "name", @@ -167,7 +170,7 @@ methods: { openDialog() { this.getFormTemplate(); - if (this.type === 'add') { + if (this.type === "add") { this.getCodeRule(); } }, @@ -188,8 +191,8 @@ res.data.resembleTableVO.cols.length > 0; this.resembleTableColumn = res.data.resembleTableVO.cols || []; if (this.hasResemble) { - this.activeName = 'resembleQuery' - this.showResembleQuery = true + this.activeName = "resembleQuery"; + this.showResembleQuery = true; } this.$refs.FormTempalte.templateRender(res.data.formDefineVO.items); } @@ -209,16 +212,179 @@ "codevariablesec", "coderefersec", ]; - this.secVOList = (res.data.data.secVOList || []).filter((item) => - typeList.includes(item) - ); + + this.secVOList = [ + { + btmname: "codebasicsec", + checkInBy: "", + checkInTime: null, + checkOutBy: "", + checkOutTime: null, + codeDateFormatStr: "", + codeFillFlag: "", + codeFillLength: "", + codeFillLimit: 0, + codeFillSeparator: "", + codeFillType: "", + codeFillTypeText: "", + codeGetValueType: "", + codeGetValueTypeText: "", + codeLevelType: "", + codeLevelTypeText: "", + codeLevelValue: 0, + codeSecLength: "10", + codeSecLengthType: "code_sec_length_variable", + codeSecLengthTypeText: "", + componentCodeFlag: "false", + copyFromVersion: "", + createTime: "2023-06-06 14:10:27.000", + creator: "1", + customCodeSerialClass: "", + data: null, + description: "", + displayFlag: "false", + filterSql: "", + firstR: "1", + firstV: "1", + fixedValueVOList: null, + getValueClass: "", + id: "0001", + lastModifier: "1", + lastModifyTime: "2023-06-06 14:10:27.000", + lastR: "1", + lastV: "1", + lcStatus: "Exist", + lcStatusText: "瀛樺湪", + lctid: "defaultLC", + matchClassifyValueFlag: "false", + name: "鍒嗙被鐮佹鐖�", + nameOid: "C2998D32-E89E-6D41-0782-88E97E9EC65B", + nullableFlag: "false", + oid: "1668926002119708672", + orderNum: 1, + owner: "1", + parentClassifySecOid: "", + parentClassifySecText: "", + pkCodeRule: "B4766355-E4E1-490A-833B-D5AB73E9B877", + referAttributeId: "", + referAttributeName: "", + referBtmId: "", + referBtmName: "", + referCodeClassifyOid: "", + referCodeClassifyOidName: "", + referConfig: "", + referValueInfo: "", + revisionOid: "F0049108-6AAE-EAAD-BC76-E6714C2B8F2A", + revisionRule: "", + revisionSeq: 1, + revisionValue: "", + secretGrade: null, + secretGradeText: "", + sectype: "codeclassifysec", + sectypeText: "鍒嗙被鐮佹", + serialDependFlag: "false", + serialDependOrder: 0, + serialStart: "", + serialStep: 0, + ts: "2023-06-06 14:10:27.716", + valueCutLength: 0, + valueCutType: "", + valueCutTypeText: "", + versionRule: "0", + versionSeq: 1, + versionValue: "1", + }, + { + btmname: "codebasicsec", + checkInBy: "", + checkInTime: null, + checkOutBy: "", + checkOutTime: null, + codeDateFormatStr: "", + codeFillFlag: "", + codeFillLength: "", + codeFillLimit: 0, + codeFillSeparator: "", + codeFillType: "", + codeFillTypeText: "", + codeGetValueType: "", + codeGetValueTypeText: "", + codeLevelType: "", + codeLevelTypeText: "", + codeLevelValue: 0, + codeSecLength: "10", + codeSecLengthType: "code_sec_length_variable", + codeSecLengthTypeText: "", + componentCodeFlag: "false", + copyFromVersion: "", + createTime: "2023-06-06 14:10:50.000", + creator: "1", + customCodeSerialClass: "", + data: null, + description: "", + displayFlag: "false", + filterSql: "", + firstR: "1", + firstV: "1", + fixedValueVOList: null, + getValueClass: "", + id: "000101", + lastModifier: "1", + lastModifyTime: "2023-06-06 14:10:50.000", + lastR: "1", + lastV: "1", + lcStatus: "Exist", + lcStatusText: "瀛樺湪", + lctid: "defaultLC", + matchClassifyValueFlag: "false", + name: "鍒嗙被鐮佹瀛�", + nameOid: "1FDB20E3-9F68-A5B0-D097-2142EA054F9B", + nullableFlag: "false", + oid: "00AD9FE0-A31D-7962-10DF-DC6115EF80A5", + orderNum: 2, + owner: "1", + parentClassifySecOid: "1668926002119708672", + parentClassifySecText: "鍒嗙被鐮佹", + pkCodeRule: "B4766355-E4E1-490A-833B-D5AB73E9B877", + referAttributeId: "", + referAttributeName: "", + referBtmId: "", + referBtmName: "", + referCodeClassifyOid: "", + referCodeClassifyOidName: "", + referConfig: "", + referValueInfo: "", + revisionOid: "95183EF9-C9AD-2941-1C99-9E9024330D40", + revisionRule: "", + revisionSeq: 1, + revisionValue: "", + secretGrade: null, + secretGradeText: "", + sectype: "codeclassifysec", + sectypeText: "鍒嗙被鐮佹", + serialDependFlag: "false", + serialDependOrder: 0, + serialStart: "", + serialStep: 0, + ts: "2023-06-06 14:10:50.084", + valueCutLength: 0, + valueCutType: "", + valueCutTypeText: "", + versionRule: "0", + versionSeq: 1, + versionValue: "1", + }, + ]; + // this.secVOList = (res.data.data.secVOList || []).filter((item) => + // typeList.includes(item) + // ); this.$nextTick(() => { - if (this.secVOList.length > 0 && this.type === 'add') { - this.showCodeApply = true - this.activeName = 'codeApply' + if (this.secVOList.length > 0 && this.type === "add") { + this.showCodeApply = true; + this.activeName = "codeApply"; this.$refs.CodeApply.templateRender(this.secVOList); } else { - this.showCodeApply = false + this.showCodeApply = false; } }); } @@ -226,6 +392,17 @@ }, getFormData(form) { this.form = form; + }, + // 鍙傜収缁勪欢鏁版嵁鍙樻洿 + referConfigDataUpdate(data) { + const { field } = data; + this.secVOList = this.secVOList.map((item) => { + if (item.parentClassifySecOid === field) { + this.$refs.CodeApply.form[item.oid] = undefined; + this.$refs.CodeApply.form[item.name] = undefined; + } + }); + this.$refs.CodeApply.templateRender(); }, resembleQuerySubmit() { this.activeName = "resembleQuery"; @@ -271,6 +448,64 @@ getType(item) { return this.selfColumnType[item.sectype]; }, + getReferConfig(item) { + let params = {}; + if (item.sectype == "codeclassifysec") { + params = { + isMuti: false, + type: "grid", + tableConfig: { + limit: -1, + cols: [ + { + field: "id", + title: "鑻辨枃鍚嶇О", + sort: true, + width: 150, + }, + { + field: "name", + title: "涓枃鍚嶇О", + sort: true, + width: 150, + }, + { + field: "description", + title: "鎻忚堪", + width: 250, + }, + ], + queryColumns: [ + { + field: "id", + title: "鑻辨枃鍚嶇О", + }, + { + field: "name", + title: "涓枃鍚嶇О", + }, + ], + }, + url: "api/ubcs-code/ubcs-code/mdmEngineController/listCodeClassifyValueBySecOid", + extraParams: { + classifySecOid: item.oid, + parentClassifyValueOid: "", + }, + }; + } + return item.referConfig || params; + }, + getDisabled(item) { + if (item.sectype === "codeclassifysec") { + if (item.parentClassifySecOid) { + if (!this.form[item.parentClassifySecOid]) { + return true; + } else { + return false; + } + } + } + }, isRequired(item) { return item.nullableFlag != "true"; }, diff --git a/Source/UBCS-WEB/src/util/func.js b/Source/UBCS-WEB/src/util/func.js index 12f731b..1a95b3b 100644 --- a/Source/UBCS-WEB/src/util/func.js +++ b/Source/UBCS-WEB/src/util/func.js @@ -110,4 +110,18 @@ static isValuableObj(value) { return typeof value === 'object' && value !== null && Object.keys(value).length > 0; } + /** + * 鑾峰彇娴佹枃浠惰繘琛屾枃浠朵笅 + * @param value + * @returns {Boolean} + */ + static downloadFileByBlob(blobData, name) { + const url = URL.createObjectURL(blobData); // 鐢熸垚涓嬭浇閾炬帴 + const link = document.createElement("a"); + link.href = url; + link.download = name; // 鎸囧畾鏂囦欢鍚嶅拰鏍煎紡 + document.body.appendChild(link); // 娣诲姞涓嬭浇閾炬帴鍒伴〉闈� + link.click(); // 瑙﹀彂涓嬭浇 + document.body.removeChild(link); //鍒犻櫎涓嬭浇 + } } diff --git a/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue b/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue index efffed5..1443fdc 100644 --- a/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue +++ b/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue @@ -26,6 +26,7 @@ :visible="visible3" type="historyImport" :downloadTemplateFun="downloadTemplateFun" + :codeClassifyOid="codeClassifyOid" ></BatchImport> <fileInHtml :options="{}"></fileInHtml> <fileinDialog @@ -53,9 +54,9 @@ // 榛樿绂佺敤鐨勮〃鍏冪礌 disabledProp: ["id", "lcstatus"], // 琛ㄥ崟绫诲瀷 - type: "edit", + type: "add", templateOid: "f441b131-5ea0-4672-ab74-735b11161928", - codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96", + codeClassifyOid: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B", codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", rowOid: "551FBA49-9A94-2F83-9126-9DD4F9BB14B5", }; -- Gitblit v1.9.3