From 1993ef2efaf55b8b42a51f3b9fd0ddfa80b2d0cd Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期一, 10 七月 2023 14:25:15 +0800
Subject: [PATCH] fjl
---
Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue | 235 +++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 167 insertions(+), 68 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
index 684801e..8347d10 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
@@ -6,19 +6,12 @@
append-to-body
top="5vh"
>
- <div>
- <FormTemplate
- v-if="type === 'batchApplyCode'"
- type="add"
- :selfColumnType="selfColumnType"
- :selfColumnConfig="selfColumnConfig"
- ref="CodeApply"
- @getFormData="getCodeApplyFormData"
- @referConfigDataUpdate="referConfigDataUpdate"
- ></FormTemplate>
- </div>
<div class="flex_box">
- <div class="left" :style="{ width: leftWidth + 'px' }">
+ <div
+ class="left"
+ :style="{ width: leftWidth + 'px' }"
+ v-show="type !== 'batchImportApply'"
+ >
<div class="isExpand_box">
<el-link type="primary" @click="hideTree">
<i
@@ -38,6 +31,7 @@
v-show="isExpand"
class="filter_tree"
:data="leftTree"
+ node-key="codeClassifyOid"
default-expand-all
highlight-current
:filter-node-method="filterNode"
@@ -49,7 +43,7 @@
>
</el-tree>
</div>
- <div class="right" :style="{ width: 1280 - leftWidth - 60 + 'px' }">
+ <div class="right" :style="{ width: 1280 - leftWidth - 60 + 'px' }">
<div class="tab_box" style="width: 100%">
<el-tabs
style="width: 100%"
@@ -69,11 +63,22 @@
@selection-change="tab1TableSelectChange"
v-if="cloNamesList.length > 1"
>
- <el-table-column
+ <el-table-column
+ v-if="type !== 'batchApplyCode'"
type="selection"
width="100px"
align="center"
></el-table-column>
+ <el-table-column
+ v-else
+ type="operate"
+ width="100px"
+ align="center"
+ >
+ <template>
+ <el-button type="text">閲嶆柊缂栬緫</el-button>
+ </template>
+ </el-table-column>
<el-table-column
type="index"
label="搴忓彿"
@@ -91,11 +96,55 @@
</el-table-column>
</el-table>
<div v-else style="height: 400px"></div>
+ <div>
+ <el-table
+ border
+ :data="currentSelectedResemble"
+ style="width: 100%"
+ height="200px"
+ >
+ <el-table-column
+ v-for="item in resembleColumList"
+ :key="item.field"
+ :prop="item.field"
+ :label="item.title"
+ :minWidth="item.minWidth"
+ align="center"
+ >
+ <template #default="{ row }">
+ <span v-if="item.field === 'id'">
+ <el-link
+ type="primary"
+ @click="openFormTemlpate(row)"
+ >{{ row[item.field] }}</el-link
+ >
+ </span>
+ <span v-else>
+ {{ row[item.field] }}
+ </span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ v-show="resembleColumList.length > 0"
+ prop="rowIndex"
+ label="excel琛屾暟"
+ align="center"
+ ></el-table-column>
+ </el-table>
+ </div>
</el-tab-pane>
<el-tab-pane :label="tab2Name" name="tab2">
- <el-table border :data="tab2Table" height="400px">
+ <el-table
+ border
+ :data="tab2Table"
+ :height="
+ type === 'batchApplyCode' && tab2Table.length > 0
+ ? '400px'
+ : '700px'
+ "
+ >
<el-table-column
- v-for="item in cloNamesList"
+ v-for="item in successTableColumns"
:key="item.field"
:prop="item.field"
:label="item.title"
@@ -104,42 +153,25 @@
>
</el-table-column>
</el-table>
+ <el-card
+ style="min-height: 200px; margintop: 10px"
+ v-if="type === 'batchApplyCode' && tab2Table.length > 0"
+ >
+ <div slot="header" class="clearfix">
+ <h4>缂栫爜鐢宠</h4>
+ </div>
+ <FormTemplate
+ v-if="type === 'batchApplyCode'"
+ type="add"
+ :selfColumnType="selfColumnType"
+ :selfColumnConfig="selfColumnConfig"
+ ref="CodeApply"
+ @getFormData="getCodeApplyFormData"
+ @referConfigDataUpdate="referConfigDataUpdate"
+ ></FormTemplate>
+ </el-card>
</el-tab-pane>
</el-tabs>
- </div>
- <div>
- <el-table
- border
- :data="currentSelectedResemble"
- style="width: 100%"
- height="200px"
- >
- <el-table-column
- v-for="item in resembleColumList"
- :key="item.field"
- :prop="item.field"
- :label="item.title"
- :minWidth="item.minWidth"
- align="center"
- >
- <template #default="{ row }">
- <span v-if="item.field === 'id'">
- <el-link type="primary" @click="openFormTemlpate(row)">{{
- row[item.field]
- }}</el-link>
- </span>
- <span v-else>
- {{ row[item.field] }}
- </span>
- </template>
- </el-table-column>
- <el-table-column
- v-show="resembleColumList.length > 0"
- prop="rowIndex"
- label="excel琛屾暟"
- align="center"
- ></el-table-column>
- </el-table>
</div>
</div>
</div>
@@ -163,8 +195,8 @@
<script>
import {
- getHistorySuccessTable,
- getHistoryResembleTable,
+ getSuccessTable,
+ getResembleTable,
getFormTemplate,
getCurretnSelectedRowResemble,
submitHistoryimport,
@@ -199,6 +231,11 @@
type: String,
default: "",
},
+ type: String,
+ secDTOList: {
+ type: Array,
+ default: () => ({}),
+ },
},
computed: {
dialogVisible: {
@@ -209,12 +246,19 @@
this.$emit("update:visible", val);
},
},
+ successTableColumns() {
+ if (this.type === "batchApplyCode") {
+ return this.cloNamesList.slice(1);
+ } else {
+ return this.cloNamesList;
+ }
+ },
},
data() {
return {
isExpand: true,
filterText: "",
- leftWidth: "200",
+ leftWidth: 200,
templateOid: null,
tab1Name: "鐩镐技椤�",
tab2Name: "姝g‘鏁版嵁",
@@ -224,6 +268,7 @@
activeTab: "tab1",
cloNamesList: [], //鍒楄〃澶撮儴瀛楁
localCodeClassifyOid: "",
+ codeRuleOid: '',
resembleColumList: [], //鐩镐技椤规煡鍑烘潵鐨勫垪琛ㄥ瓧娈�
currentSelectedResemble: [],
currentSelectedResembleRow: {
@@ -233,6 +278,7 @@
formTemplateVisible: false,
},
secVOList: [],
+ batchApplyCodeTableData: {},
};
},
@@ -243,28 +289,61 @@
},
hideTree() {
if (this.isExpand) {
- this.leftWidth = "50";
+ this.leftWidth = 50;
} else {
- this.leftWidth = "200";
+ this.leftWidth = 200;
}
this.isExpand = !this.isExpand;
},
- treeNodeClick(data) {
+ async treeNodeClick(data) {
console.log(data);
- this.localCodeClassifyOid = data.codeclassifyoid;
+ this.localCodeClassifyOid = data.codeClassifyOid;
this.cloNamesList = data.cloNamesList;
this.templateOid = data.oid;
- getHistorySuccessTable({
- codeClassifyOid: this.templateOid,
- redisOid: this.redisOid + "-ok",
- }).then((res) => {
- this.tab2Table = res.data.data;
- });
- getHistoryResembleTable({
- codeClassifyOid: this.templateOid,
+ if (this.type === "batchApplyCode") {
+ this.codeRuleOid = data.codeRuleOid
+ if (!this.batchApplyCodeTableData[data.codeRuleOid]) {
+ this.batchApplyCodeTableData[data.codeRuleOid] = {};
+ } else {
+ console.log(this.$refs.CodeApply, 'this.$refs.CodeApply');
+ if (this.$refs.CodeApply) {
+ console.log(this.$refs.CodeApply.validate(), 'this.$refs.CodeApply.validate()');
+ if (!(await this.$refs.CodeApply.validate())) {
+ this.$message.warning('璇峰~鍐欎究缂栫爜鐢宠锛�')
+ return false
+ }
+ }
+ // 鏍¢獙
+ }
+ }
+ getResembleTable({
+ codeClassifyOid:
+ this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid,
redisOid: this.redisOid + "-resemble",
}).then((res) => {
this.tab1Table = res.data.data;
+ if (this.type === "batchApplyCode" && this.tab1Table.length > 0) {
+ this.batchApplyCodeTableData[data.codeRuleOid]["tab1"] =
+ res.data.data;
+
+ }
+ });
+ // 鑾峰彇姝g‘鏁版嵁
+ getSuccessTable({
+ codeClassifyOid:
+ this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid,
+ redisOid: this.redisOid + "-ok",
+ }).then((res) => {
+ this.tab2Table = res.data.data;
+ if (this.tab2Table.length > 0 && this.type === "batchApplyCode") {
+ this.batchApplyCodeTableData[data.codeRuleOid]["codeApply"] = {}
+ this.batchApplyCodeTableData[data.codeRuleOid]["tab2"] =
+ res.data.data;
+ if (this.$refs.CodeApply) {
+ this.$refs.CodeApply.loading = true;
+ }
+ this.getCodeRule();
+ }
});
getFormTemplate({
templateOid: data.oid,
@@ -294,8 +373,9 @@
},
submit() {
const params = {
- classifyAttr: this.classifyAttr,
- improt: true,
+ classifyAttr:
+ this.type === "historyImport" ? this.classifyAttr : undefined,
+ improt: this.type === "historyImport" ? true : false,
codeImprotSaveDatVOList: [
{
Clos: this.cloNamesList.map((item) => item.title),
@@ -303,7 +383,7 @@
orderDTO: {
codeClassifyOid: this.codeClassifyOid,
templateOid: this.templateOid,
- secDTOList: [],
+ secDTOList: this.secDTOList,
},
},
],
@@ -322,6 +402,25 @@
filterText(val) {
this.$refs.tree.filter(val);
},
+ leftTree: {
+ immediate: true,
+ deep: true,
+ handler(arr) {
+ if (arr.length > 0) {
+ this.treeNodeClick(arr[0]);
+ this.$nextTick(() => {
+ this.$refs.tree.setCurrentKey(arr[0]["codeClassifyOid"]);
+ });
+ if (this.type === "batchImportApply") {
+ this.leftWidth = 0;
+ } else if (this.type === "batchApplyCode") {
+ this.tab1Name = "鏈夌浉浼奸」鎴栭敊璇暟鎹�";
+ this.tab2Name = "姝g‘鏁版嵁";
+ this.leftWidth = 200;
+ }
+ }
+ },
+ },
},
};
</script>
--
Gitblit v1.9.3