From ca420bd9c09b51a404ade3e0106257725df727be Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 01 十一月 2023 11:32:28 +0800 Subject: [PATCH] 整合代码 --- Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue | 970 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 661 insertions(+), 309 deletions(-) diff --git a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue index 6bfd88d..1e89764 100644 --- a/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue +++ b/Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue @@ -1,309 +1,661 @@ -<template> - <el-dialog - :title="title" - :visible.sync="dialogVisible" - width="1300px" - append-to-body - top="5vh" - > - <div class="flex_box"> - <div class="left" :style="{ width: leftWidth }"> - <div class="isExpand_box"> - <el-link type="primary" @click="hideTree"> - <i - :class="isExpand ? 'el-icon-arrow-left' : 'el-icon-arrow-right'" - ></i> - {{ isExpand ? "鏀剁缉" : "灞曞紑" }} - </el-link> - </div> - <el-input - placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" - v-model="filterText" - size="small" - v-show="isExpand" - > - </el-input> - <el-tree - v-show="isExpand" - class="filter_tree" - :data="leftTree" - default-expand-all - highlight-current - :filter-node-method="filterNode" - @node-click="treeNodeClick" - ref="tree" - :props="{ - label: 'name', - }" - > - </el-tree> - </div> - <div class="right"> - <div class="tab_box"> - <el-tabs - v-model="activeTab" - type="card" - @tab-click="handleClick" - size="small" - > - <el-tab-pane :label="tab1Name" name="tab1"> - <el-table - border - :data="tab1Table" - style="width: 100%" - height="400px" - highlight-current-row - @current-change="resembleRowChange" - @selection-change="tab1TableSelectChange" - > - <el-table-column type="index"></el-table-column> - <el-table-column - v-for="item in cloNamesList" - :key="item.field" - :prop="item.field" - :label="item.title" - :width="item.width" - > - </el-table-column> - </el-table> - </el-tab-pane> - <el-tab-pane :label="tab2Name" name="tab2"> - <el-table border :data="tab2Table" height="400px"> - <el-table-column - v-for="item in cloNamesList" - :key="item.field" - :prop="item.field" - :label="item.title" - :width="item.width" - > - </el-table-column> - </el-table> - </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" - > - <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琛屾暟" - ></el-table-column> - </el-table> - </div> - </div> - </div> - <template #footer> - <div> - <el-button size="small" type="primary" @click="submit">纭畾瀵煎叆</el-button> - <el-button size="small">鍙栨秷</el-button> - </div> - </template> - <FormTemplateDialog - ref="FormTemplateDialog" - type="detail" - v-bind="currentSelectedResembleRow" - :visible.sync="currentSelectedResembleRow.visible" - title="鏌ョ湅璇︾粏淇℃伅" - ></FormTemplateDialog> - </el-dialog> -</template> - -<script> -import { - getHistorySuccessTable, - getHistoryResembleTable, - getFormTemplate, - getCurretnSelectedRowResemble, - submitHistoryimport -} from "../../api/batchImport/index"; -import ResembleQuery from "../FormTemplate/ResembleQuery.vue"; -export default { - name: "ShowImportData", - components: { ResembleQuery }, - props: { - title: { - type: String, - default: "鍘嗗彶鏁版嵁瀵煎叆", - }, - visible: false, - leftTree: { - type: Array, - default: () => [], - }, - redisOid: { - type: String, - default: "", - }, - classifyAttr: { - type: String, - default: 'id' - }, - codeClassifyOid: { - type: String, - default: '' - } - }, - computed: { - dialogVisible: { - get() { - return this.visible; - }, - set(val) { - this.$emit("update:visible", val); - }, - }, - }, - data() { - return { - isExpand: true, - filterText: "", - leftWidth: "200px", - templateOid: null, - tab1Name: '鐩镐技椤�', - tab2Name: '姝g‘鏁版嵁', - tab1Table: [], - selectedTab1Table: [], - tab2Table: [], - activeTab: "tab1", - cloNamesList: [], - localCodeClassifyOid: "", - resembleColumList: [], - currentSelectedResemble: [], - currentSelectedResembleRow: { - templateOid: "", - codeClassifyOid: "", - rowOid: "", - formTemplateVisible: false, - }, - }; - }, - - methods: { - filterNode(value, data) { - if (!value) return true; - return data.name.indexOf(value) !== -1; - }, - hideTree() { - if (this.isExpand) { - this.leftWidth = "50px"; - } else { - this.leftWidth = "200px"; - } - this.isExpand = !this.isExpand; - }, - treeNodeClick(data) { - this.localCodeClassifyOid = data.codeclassifyoid; - this.cloNamesList = data.cloNamesList; - this.templateOid = data.codeClassifyTemplateVO.oid - getHistorySuccessTable(this.redisOid).then((res) => { - this.tab2Table = res.data - }); - getHistoryResembleTable({ - codeClassifyOid: data.codeClassifyOid, - redisOid: this.redisOid + "-resemble", - }).then((res) => { - this.tab1Table = res.data - }); - getFormTemplate({ - templateOid: data.oid, - codeClassifyOid: data.codeClassifyOid, - }).then((res) => { - this.resembleColumList = res.data.resembleTableVO.cols[0]; - }); - }, - tab1TableSelectChange(selection) { - this.selectedTab1Table = selection - }, - resembleRowChange(row) { - getCurretnSelectedRowResemble({ - redisOid: this.redisOid + "-resemble-data", - dataOid: row.oid, - }).then((res) => { - this.currentSelectedResemble = res.data - }); - }, - openFormTemlpate(row) { - this.currentSelectedResembleRow = { - visible: true, - templateOid: row.codetemplateoid, - codeClassifyOid: this.localCodeClassifyOid, - rowOid: row.rowOid, - } - }, - submit() { - const params = { - classifyAttr: this.classifyAttr, - isImprot: true, - codeImprotSaveDatVOList: [ - { - Clos: this.cloNamesList.map(item => item.title), - dataList: this.tab2Table.concat(this.selectedTab1Table), - orderDTO: { - codeClassifyOid: this.codeClassifyOid, - templateOid: this.templateOid, - secDTOList: [] - } - } - ] - } - submitHistoryimport(params).then(res => { - if (res.code === 200) { - this.$message.success(res.obj) - } else { - this.$message.error(res.obj) - } - }) - } - }, - watch: { - filterText(val) { - this.$refs.tree.filter(val); - }, - }, -}; -</script> - -<style lang="scss" scoped> -.flex_box { - display: flex; - .left { - transition: all 0.3s; - .isExpand_box { - margin-bottom: 10px; - text-align: right; - } - .filter_tree { - max-height: 400px; - overflow-y: scroll; - } - } - .right { - margin-left: 20px; - margin-top: 30px; - width: 1000px; - } -} -</style> +<template> + <el-dialog + :title="title" + :visible.sync="dialogVisible" + append-to-body + top="5vh" + width="1300px" + > + <div class="flex_box"> + <div + v-show="type !== 'batchImportApply'" + :style="{ width: leftWidth + 'px' }" + class="left" + > + <div class="isExpand_box"> + <el-link type="primary" @click="hideTree"> + <i + :class="isExpand ? 'el-icon-arrow-left' : 'el-icon-arrow-right'" + ></i> + {{ isExpand ? "鏀剁缉" : "灞曞紑" }} + </el-link> + </div> + <el-input + v-show="isExpand" + v-model="filterText" + placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" + size="small" + > + </el-input> + <el-tree + v-show="isExpand" + ref="tree" + :data="leftTree" + :filter-node-method="filterNode" + :props="{ + label: 'name', + }" + class="filter_tree" + default-expand-all + highlight-current + node-key="codeClassifyOid" + @node-click="treeNodeClick" + > + </el-tree> + </div> + <div :style="{ width: 1280 - leftWidth - 60 + 'px' }" class="right"> + <div class="tab_box" style="width: 100%"> + <el-tabs + v-model="activeTab" + size="small" + style="width: 100%" + type="card" + @tab-click="handleClick" + > + <el-tab-pane :label="tab1Name" name="tab1"> + <el-table + v-if="cloNamesList.length > 1" + v-loading="tab1Loading" + :data="tab1Table" + border + height="40vh" + highlight-current-row + style="width: 100%" + @current-change="resembleRowChange" + @selection-change="tab1TableSelectChange" + > + <el-table-column + v-if="type !== 'batchApplyCode'" + align="center" + type="selection" + width="100px" + ></el-table-column> + <el-table-column + v-else + align="center" + type="operate" + width="100px" + > + <template #default="{ row }"> + <el-button type="text" @click="reEdit(row)" + >閲嶆柊缂栬緫 + </el-button + > + </template> + </el-table-column> + <el-table-column + align="center" + label="搴忓彿" + type="index" + width="100px" + ></el-table-column> + <el-table-column + v-for="item in cloNamesList" + :key="item.field" + :label="item.title" + :prop="item.field" + :width="item.width" + align="center" + > + </el-table-column> + </el-table> + <div v-else style="height: 400px"></div> + <div> + <el-table + v-loading="tab1BottomTableLoading" + :data="currentSelectedResemble" + border + height="20vh" + style="width: 100%" + > + <el-table-column + v-for="item in resembleColumList" + :key="item.field" + :label="item.title" + :minWidth="item.minWidth" + :prop="item.field" + 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" + align="center" + label="excel琛屾暟" + prop="rowIndex" + ></el-table-column> + </el-table> + </div> + </el-tab-pane> + <el-tab-pane :label="tab2Name" name="tab2"> + <el-table + v-loading="tab2Loading" + :data="tab2Table" + border + height="60vh" + > + <el-table-column + v-for="item in successTableColumns" + :key="item.field" + :label="item.title" + :prop="item.field" + :width="item.width" + align="center" + > + </el-table-column> + </el-table> + <el-card + v-if="type === 'batchApplyCode' && tab2Table.length > 0" + style="min-height: 200px; margintop: 10px" + > + <div slot="header" class="clearfix"> + <h4>缂栫爜鐢宠</h4> + </div> + <FormTemplate + v-if="type === 'batchApplyCode'" + ref="CodeApply" + :selfColumnConfig="selfColumnConfig" + :selfColumnType="selfColumnType" + type="add" + @getFormData="getCodeApplyFormData" + @referConfigDataUpdate="referConfigDataUpdate" + ></FormTemplate> + </el-card> + </el-tab-pane> + </el-tabs> + </div> + </div> + </div> + <template #footer> + <div> + <el-button :loading="submitLoading" size="small" type="primary" @click="submit" + >纭畾瀵煎叆 + </el-button + > + <el-button size="small" @click="dialogVisible = false">鍙栨秷</el-button> + </div> + </template> + <FormTemplateDialog + ref="FormTemplateDialog" + v-bind="currentSelectedResembleRow" + :visible.sync="currentSelectedResembleRow.formTemplateVisible" + @submit="FormTemplateSubmit" + ></FormTemplateDialog> + </el-dialog> +</template> + +<script> +import { + getSuccessTable, + getResembleTable, + getFormTemplate, + getCurretnSelectedRowResemble, + submitHistoryimport, + addSaveCode, +} from "../../api/batchImport/index"; +import ResembleQuery from "../FormTemplate/ResembleQuery.vue"; +import FormTemplate from "../FormTemplate/FormTemplate.vue"; +import codeApply from "@/mixins/codeApply.js"; + +export default { + name: "ShowImportData", + components: {ResembleQuery, FormTemplate}, + mixins: [codeApply], + props: { + title: { + type: String, + default: "鍘嗗彶鏁版嵁瀵煎叆", + }, + visible: false, + leftTree: { + type: Array, + default: () => [], + }, + redisOid: { + type: String, + default: "", + }, + classifyAttr: { + type: String, + default: "id", + }, + codeClassifyOid: { + type: String, + default: "", + }, + type: String, + secDTOList: { + type: Array, + default: () => ({}), + }, + resetTable: Function + }, + computed: { + dialogVisible: { + get() { + return this.visible; + }, + set(val) { + 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, + templateOid: null, + tab1Name: "鐩镐技椤�", + tab2Name: "姝g‘鏁版嵁", + tab1Table: [], + selectedTab1Table: [], + tab2Table: [], + activeTab: "tab1", + cloNamesList: [], //鍒楄〃澶撮儴瀛楁 + localCodeClassifyOid: "", + codeRuleOid: "", + resembleColumList: [], //鐩镐技椤规煡鍑烘潵鐨勫垪琛ㄥ瓧娈� + currentSelectedResemble: [], + currentSelectedResembleRow: { + templateOid: "", + codeClassifyOid: "", + rowOid: "", + formTemplateVisible: false, + type: "detail", + title: "鏌ョ湅璇︾粏淇℃伅", + setForm: {}, + }, + batchSelectTableData: {}, + savedList: [], + tab1Loading: false, + tab2Loading: false, + tab1BottomTableLoading: false, + submitLoading: false + }; + }, + + methods: { + filterNode(value, data) { + if (!value) return true; + return data.name.indexOf(value) !== -1; + }, + hideTree() { + if (this.isExpand) { + this.leftWidth = 50; + } else { + this.leftWidth = 200; + } + this.isExpand = !this.isExpand; + }, + async treeNodeClick(data, first) { + if (this.type === "batchApplyCode") { + if (first === true) { + this.codeRuleOid = data.codeRuleOid; + // 绗竴娆℃墦寮�鐩存帴璧嬪�间笉鏍¢獙 + this.batchSelectTableData[data.codeRuleOid] = { + name: data.name, + templateOid: data.oid, + cloNamesList: data.cloNamesList, + codeClassifyOid: data.codeClassifyOid, + codeRuleOid: data.codeRuleOid, + }; + // 涓嶆槸绗竴娆℃墦寮�闇�瑕佷紭鍏堟牎楠� + } else if (this.localCodeClassifyOid === data.codeClassifyOid) { + console.log("閲嶅鐐瑰嚮"); + } else { + if (this.$refs.CodeApply) { + if (!(await this.$refs.CodeApply.validate())) { + this.$message.warning("璇峰~鍐欎究缂栫爜鐢宠锛�"); + this.activeTab = "tab2"; + this.$refs.tree.setCurrentKey(this.localCodeClassifyOid); + return false; + } + } + } + if (!this.batchSelectTableData[data.codeRuleOid]) { + this.batchSelectTableData[data.codeRuleOid] = { + name: data.name, + templateOid: data.oid, + cloNamesList: data.cloNamesList, + codeClassifyOid: data.codeClassifyOid, + codeRuleOid: data.codeRuleOid, + }; + } + } + if (this.type === 'historyImport') { + if (first === true) { + // 绗竴娆℃墦寮�鐩存帴璧嬪�间笉鏍¢獙 + this.batchSelectTableData[data.codeClassifyOid] = { + name: data.name, + templateOid: data.oid, + cloNamesList: data.cloNamesList, + codeClassifyOid: data.codeClassifyOid, + codeRuleOid: data.codeRuleOid, + }; + // 涓嶆槸绗竴娆℃墦寮�闇�瑕佷紭鍏堟牎楠� + } else if (this.localCodeClassifyOid === data.codeClassifyOid) { + console.log("閲嶅鐐瑰嚮"); + } + if (!this.batchSelectTableData[data.codeClassifyOid]) { + this.batchSelectTableData[data.codeClassifyOid] = { + name: data.name, + templateOid: data.oid, + cloNamesList: data.cloNamesList, + codeClassifyOid: data.codeClassifyOid, + tab1Selected: [] + }; + } + // this.selection = this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected'] + if (this.batchSelectTableData[this.localCodeClassifyOid] && + this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected']) { + this.selection = this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected']; + } + } + this.localCodeClassifyOid = data.codeClassifyOid; + this.cloNamesList = data.cloNamesList; + this.templateOid = data.oid; + this.tab1Loading = true + getResembleTable({ + codeClassifyOid: + this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid, + redisOid: this.redisOid + "-resemble", + }).then((res) => { + this.tab1Loading = false + this.tab1Table = res.data.data.filter( + (item) => !this.savedList.includes(item.oid) + ); + if (this.type === "batchApplyCode") { + this.batchSelectTableData[data.codeRuleOid]["tab1"] = + this.tab1Table; + } + if (this.type === "historyImport") { + this.batchSelectTableData[data.codeClassifyOid]["tab1"] = + this.tab1Table; + } + }); + this.tab2Loading = true + // 鑾峰彇姝g‘鏁版嵁 + getSuccessTable({ + codeClassifyOid: + this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid, + redisOid: this.redisOid + "-ok", + }).then((res) => { + this.tab2Loading = false + this.tab2Table = res.data.data; + if (this.tab2Table.length > 0 && this.type === "batchApplyCode") { + this.batchSelectTableData[data.codeRuleOid]["codeApply"] = {}; + this.batchSelectTableData[data.codeRuleOid]["tab2"] = + this.tab2Table + if (this.$refs.CodeApply) { + this.$refs.CodeApply.loading = true; + } + this.getCodeRule(); + } + if (this.type === "historyImport") { + this.batchSelectTableData[data.codeClassifyOid]["tab2"] = + this.tab2Table + } + }); + getFormTemplate({ + templateOid: data.oid, + codeClassifyOid: this.localCodeClassifyOid, + }).then((res) => { + this.resembleColumList = res.data.resembleTableVO.cols[0]; + }); + }, + tab1TableSelectChange(selection) { + this.selectedTab1Table = selection; + if (this.batchSelectTableData[this.localCodeClassifyOid]) { + this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected'] = selection + } + }, + resembleRowChange(row) { + if (!row || !row.oid) { + return; + } + this.tab1BottomTableLoading = true + getCurretnSelectedRowResemble({ + redisOid: this.redisOid + "-resemble-data", + dataOid: row.oid, + }).then((res) => { + this.tab1BottomTableLoading = false + this.currentSelectedResemble = res.data.data; + }); + }, + openFormTemlpate(row) { + this.currentSelectedResembleRow = { + formTemplateVisible: true, + templateOid: row.codetemplateoid, + codeClassifyOid: this.localCodeClassifyOid, + rowOid: row.rowOid, + type: "detail", + title: "鏌ョ湅璇︾粏淇℃伅", + setForm: {}, + }; + }, + async submit() { + let params = { + classifyAttr: + this.type === "historyImport" || this.type === "batchApplyCode" + ? this.classifyAttr + : undefined, + improt: this.type === "historyImport" ? true : false, + }; + if (this.type === "batchApplyCode") { + if (this.$refs.CodeApply) { + if (!(await this.$refs.CodeApply.validate())) { + this.$message.warning("璇峰~鍐欎究缂栫爜鐢宠锛�"); + this.activeTab = "tab2"; + return false; + } + } + let lookedCodeRuleOidList = Object.keys(this.batchSelectTableData); + let noLookCodeRuleOidList = this.leftTree.filter( + (item) => !lookedCodeRuleOidList.includes(item.codeRuleOid) + ); + let noLookName = noLookCodeRuleOidList.map((item) => item.name); + if (noLookName.length > 0) { + this.$message.warning(`鏁版嵁${noLookName}杩樻湭鏇炬煡鐪嬶紝璇峰厛鏌ョ湅锛乣); + return false; + } + let errorData = []; + let successData = []; + for (const key in this.batchSelectTableData) { + if (Object.hasOwnProperty.call(this.batchSelectTableData, key)) { + const element = this.batchSelectTableData[key]; + if (element.tab1.length > 0) { + errorData.push(element); + } + if (element.tab2.length > 0) { + successData.push(element); + } + } + } + if (successData.length === 0) { + this.$message.warning("瀵煎叆鐨勬暟鎹腑娌℃湁姝g‘鐨勬暟鎹紒"); + return; + } + if (errorData.length > 0) { + await this.$confirm( + errorData.map((item) => item.name).join("銆�") + + "锛岃繖鍑犱釜缂栫爜瑙勫垯涓嬬殑鏈夐敊璇暟鎹拰鐩镐技椤规暟鎹病鏈夊鐞嗭紝鎮ㄥ鏋滅户缁繚瀛樼殑璇濓紝杩欎簺鏁版嵁灏嗕細琚嚜鍔ㄨ垗寮冿紝鏄惁缁х画锛�", + "鎻愮ず", + { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + } + ); + } + params.codeImprotSaveDatVOList = successData.map((item) => { + return { + Clos: item.cloNamesList, + dataList: item.tab2, + orderDTO: { + codeClassifyOid: item.codeClassifyOid, + templateOid: item.templateOid, + secDTOList: item.localSecVOList.map((itm) => { + return { + secOid: itm.oid, + secValue: item.codeApply[itm.oid], + }; + }), + }, + }; + }); + } else if (this.type === 'historyImport') { + let lookedCodeRuleOidList = Object.keys(this.batchSelectTableData); + let noLookCodeRuleOidList = this.leftTree.filter( + (item) => !lookedCodeRuleOidList.includes(item.codeClassifyOid) + ); + let noLookName = noLookCodeRuleOidList.map((item) => item.name); + if (noLookName.length > 0) { + this.$message.warning(`鏁版嵁${noLookName}杩樻湭鏇炬煡鐪嬶紝璇峰厛鏌ョ湅锛乣); + return false; + } + if (this.batchSelectTableData && Array.isArray(this.batchSelectTableData)) { + params.codeImprotSaveDatVOList = []; + for (let i = 0; i < this.batchSelectTableData.length; i++) { + const item = this.batchSelectTableData[i]; + const data = { + Clos: item.cloNamesList, + dataList: item.tab2.concat(item.tab1Selected), + orderDTO: { + codeClassifyOid: item.codeClassifyOid, + templateOid: item.templateOid, + secDTOList: this.secDTOList, + }, + }; + params.codeImprotSaveDatVOList.push(data); + } + } else { + params.codeImprotSaveDatVOList = [ + { + Clos: this.cloNamesList.map((item) => item.title), + dataList: this.tab2Table.concat(this.selectedTab1Table), + orderDTO: { + codeClassifyOid: this.codeClassifyOid, + templateOid: this.templateOid, + secDTOList: this.secDTOList, + }, + }, + ]; + } + this.submitLoading = true + submitHistoryimport(params).then((res) => { + this.submitLoading = false + if (res.data.code === 200) { + this.$message.success(res.data.msg); + this.$parent.dialogVisible = false + this.resetTable() + } + }); + } + }, + // 閲嶆柊缂栬緫 + reEdit(row) { + this.currentSelectedResembleRow = { + templateOid: row.codetemplateoid, + codeClassifyOid: row.codeclassifyid, + rowOid: row.oid, + formTemplateVisible: true, + type: "add", + title: "缂栬緫鏁版嵁鍚庨噸鏂板叆搴�", + setForm: row, + }; + }, + // 鐩存帴缂栬緫鍚庝繚瀛� + FormTemplateSubmit(form) { + addSaveCode(form).then((res) => { + if (res.data.code === 200) { + this.savedList.push(form.oid); + this.$message.success("鏂板鎴愬姛锛�"); + this.treeNodeClick( + this.leftTree.find((item) => item.codeRuleOid === this.codeRuleOid) + ); + this.currentSelectedResembleRow = { + templateOid: "", + codeClassifyOid: "", + rowOid: "", + formTemplateVisible: false, + type: "detail", + title: "鏌ョ湅璇︾粏淇℃伅", + setForm: {}, + }; + } + }); + }, + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + }, + leftTree: { + immediate: true, + deep: true, + handler(arr) { + if (arr.length > 0) { + this.treeNodeClick(arr[0], true); + 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> + +<style lang="scss" scoped> +.flex_box { + display: flex; + width: 1280px; + + .left { + transition: all 0.5s; + + .isExpand_box { + margin-bottom: 10px; + text-align: right; + } + + .filter_tree { + margin-top: 15px; + max-height: 400px; + overflow-y: scroll; + } + } + + .right { + transition: all 0.5s; + margin-left: 20px; + margin-top: 30px; + } +} +</style> -- Gitblit v1.9.3