From 7d9cfe6dae6f3bc1016cdacb497e4724e22ca3db Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期一, 28 八月 2023 14:30:37 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.110.209:9001/r/lims-before --- src/views/standardLibrary/index.vue | 153 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 93 insertions(+), 60 deletions(-) diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue index f6eeba1..5277b3b 100644 --- a/src/views/standardLibrary/index.vue +++ b/src/views/standardLibrary/index.vue @@ -2,7 +2,10 @@ <div class="standard-library-main"> <div class="content-main"> <div class="library-bom" style="width: 300px"> - <el-input v-model="filterText" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" /> + <el-input + v-model="filterText" + placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" + ></el-input> <el-button type="text">鍏ㄩ儴</el-button> <el-tree ref="tree" @@ -22,6 +25,22 @@ <div class="table-header"> <div class="serve-btn"> <span class="tipMsg">{{ msg !== "" ? msg : "" }}</span> + <el-select + v-model="versionValue" + @change="changeSelect" + placeholder="璇烽�夋嫨鐗堟湰鍙�" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + <el-button type="primary" @click="addVersionFun" + >鏂板鐗堟湰鍙�</el-button + > <el-button type="primary" icon="el-icon-plus" @@ -41,13 +60,14 @@ <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" - row-key="name" + row-key="id" border height="calc(100vh - 250px)" default-expand-all ref="multipleTable" @select="selectTr" @select-all="selectAll" + @selection-change="handleSelectionChange" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" > <el-table-column type="selection" label="搴忓彿"> </el-table-column> @@ -157,12 +177,16 @@ addSpecifications, deleteListApi, blurUpdateApi, + getVersion, + addVersion, } from "@/api/standardLibrary"; import { selectproductModelApi } from "@/api/basicData/index"; export default { data() { return { + options: [], + versionValue: "", deleteList: [], msg: "", isAllSelect: false, @@ -195,10 +219,53 @@ created() { this.getStandardTree(); }, + mounted() {}, methods: { + async initSelect() { + this.options = []; + this.versionValue = ""; + const response = await getVersion({ + specificationsId: this.selectData.id, + }); + if (response.code === 200 && response.data.length > 0) { + this.getTableByClick(this.selectData, response.data[0]); + for (let i = 0; i < response.data.length; i++) { + this.options.push({ + value: response.data[i], + label: "V" + response.data[i], + }); + this.versionValue = response.data[0]; + } + } + }, + changeSelect() { + this.tableData = []; + this.getTableByClick(this.selectData, this.versionValue); + }, + async insertVersion() { + const resp = await addVersion({ specificationsId: this.selectData.id }); + if (resp.code === 200) { + this.initSelect(); + this.$message({ + type: "success", + message: resp.message, + }); + } + }, + addVersionFun() { + this.$confirm("纭娣诲姞鏂扮殑鐗堟湰鍙峰悧?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.insertVersion(); + }) + .catch(() => {}); + }, filterNode(value, data) { if (!value) return true; - return data.label.indexOf(value) !== -1; + return data.name.indexOf(value) !== -1; }, // 鑾峰彇bom鏍戠殑鏍囧噯鏁版嵁 async getStandardTree() { @@ -229,7 +296,6 @@ ".el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node" ); firstNode.click(); - // console.log(firstNode); }); }, getDefault(arr, index) { @@ -250,8 +316,8 @@ this.getParentData(node.parent, node.data.name); // 瀛樹笅閫変腑鑺傜偣 this.selectData = data; - // eslint-disable-next-line prefer-const - this.getTableByClick(data); + this.getTableByClick(data, this.versionValue); + this.initSelect(); } if (!("children" in data)) { return; @@ -266,9 +332,10 @@ this.getParentData(node.parent, this.msg); } }, - async getTableByClick(data) { + async getTableByClick(data, versionVal) { await getProductList({ specificationsId: data.id, + version: versionVal, }).then((res) => { res.data.forEach((i) => { if (i.name === undefined) { @@ -282,7 +349,6 @@ } }); this.tableData = res.data; - console.log(`output->this.tableData`, this.tableData); this.selectDataList(); }); }, @@ -291,10 +357,9 @@ this.$router.push(`/standardLibrary/SpecificationDetails/${row.id}`); }, renderContent(h, { node, data, store }) { - // console.log('data', data) - // console.log('node', node) // 鍒ゆ柇鏄惁鏄埗鑺傜偣鎴栨枃浠跺す const isFolder = "children" in data; + console.log(`output->data`, isFolder); return ( <span class="tree-node"> {isFolder ? ( @@ -316,7 +381,6 @@ }, async subAddTreeForm() { this.addTreeFormVisible = false; - console.log(this.addTreeForm.addTypeArr.length); let res = null; try { switch (this.addTreeForm.addTypeArr.length) { @@ -346,14 +410,14 @@ this.$message.error("娣诲姞澶辫触"); } - console.log(res); this.$message.success("娣诲姞鎴愬姛"); - this.addTreeForm = {}; + this.addTreeForm = { + addTypeArr: [], + }; this.getStandardTree(); - this.getTableByClick(this.selectData); + this.getTableByClick(this.selectData, this.versionValue); }, changeCascader(data) { - console.log(data); this.addTreeForm.addTypeArr = data; }, closeAddTreeForm() { @@ -400,21 +464,6 @@ this.isAllSelect = !this.isAllSelect; let data = this.tableData; this.toggleSelect(data, this.isAllSelect, "all"); - // 鑷畾涔� - if (this.isAllSelect) { - val.forEach((i) => { - if (i.id !== undefined) { - this.deleteList.push(i.id); - } else { - i.children.forEach((c) => { - this.deleteList.push(c.id); - }); - } - }); - } else { - this.deleteList.splice(0, this.deleteList.length); - } - console.log(`output->this.`, this.deleteList); }, //閫夋嫨鏌愯 selectTr(selection, row) { @@ -423,34 +472,6 @@ this.isAllSelect = row.isChecked; this.toggleSelect(row, row.isChecked, "tr"); }); - - if (row.isChecked === true) { - if (row.children !== undefined) { - row.children.forEach((i) => { - this.deleteList.push(i.id); - }); - } else { - this.deleteList.push(row.id); - } - } else if (row.isChecked === false) { - if (row.children !== undefined) { - row.children.forEach((i) => { - this.deleteList.findIndex((c, index) => { - if (c === i.id) { - this.deleteList.splice(index, 1); - return; - } - }); - }); - } - this.deleteList.findIndex((c, index) => { - if (c === row.id) { - this.deleteList.splice(index, 1); - return; - } - }); - } - console.log(`output->this.deleteList`, this.deleteList); }, //閫掑綊瀛愮骇 toggleSelect(data, flag, type) { @@ -484,6 +505,15 @@ } }); }, + handleSelectionChange(val) { + this.deleteList = []; + val.forEach((v) => { + if (v.id !== undefined) { + this.deleteList.push(v.id); + } + }); + console.log(`output->this.deleteList`, this.deleteList); + }, // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫 deleteListClick() { deleteListApi(this.deleteList).then((res) => { @@ -491,7 +521,7 @@ message: res.message, type: "success", }); - this.getTableByClick(this.selectData); + this.getTableByClick(this.selectData, this.versionValue); }); }, async requiredOnfocus(scope) { @@ -506,7 +536,7 @@ message: res.message, type: "success", }); - this.getTableByClick(this.selectData); + this.getTableByClick(this.selectData, this.versionValue); }); }, }, @@ -642,6 +672,9 @@ width: 100%; padding-bottom: 6px; text-align: right; + .el-select { + margin-right: 10px; + } } .tipMsg { float: left; -- Gitblit v1.9.3