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