From 8231542d77a49f80a49434be6ca8bfb3ae9e1efe Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期一, 28 八月 2023 09:26:21 +0800 Subject: [PATCH] 8-28 --- src/views/standardLibrary/index.vue | 147 ++++++++++++++++++++++++++++-------------------- 1 files changed, 86 insertions(+), 61 deletions(-) diff --git a/src/views/standardLibrary/index.vue b/src/views/standardLibrary/index.vue index ea759e3..5277b3b 100644 --- a/src/views/standardLibrary/index.vue +++ b/src/views/standardLibrary/index.vue @@ -25,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" @@ -44,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> @@ -160,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, @@ -198,14 +219,56 @@ 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() { - console.log(`output->鎵ц鍔沗, "鎵ц鍔�"); const { data } = await getMaterialList(); this.standardTree = data.map((item) => { let name = null; @@ -228,14 +291,11 @@ const treeOptions = JSON.parse(JSON.stringify(this.standardTree)); this.getDefault(treeOptions, 0); this.formTypeOptions = treeOptions; - console.log(`output->===========`, "==========="); this.$nextTick().then(() => { const firstNode = document.querySelector( ".el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node" ); - console.log(`output->firstNode`, firstNode); firstNode.click(); - // console.log(firstNode); }); }, getDefault(arr, index) { @@ -254,11 +314,10 @@ // 鏄瓙鑺傜偣 if (node.level === 4) { this.getParentData(node.parent, node.data.name); - console.log(`output->this.msg`, this.msg); // 瀛樹笅閫変腑鑺傜偣 this.selectData = data; - // eslint-disable-next-line prefer-const - this.getTableByClick(data); + this.getTableByClick(data, this.versionValue); + this.initSelect(); } if (!("children" in data)) { return; @@ -273,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) { @@ -289,7 +349,6 @@ } }); this.tableData = res.data; - console.log(`output->this.tableData`, this.tableData); this.selectDataList(); }); }, @@ -298,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 ? ( @@ -352,16 +410,14 @@ this.$message.error("娣诲姞澶辫触"); } - console.log(res); this.$message.success("娣诲姞鎴愬姛"); this.addTreeForm = { addTypeArr: [], }; this.getStandardTree(); - this.getTableByClick(this.selectData); + this.getTableByClick(this.selectData, this.versionValue); }, changeCascader(data) { - console.log(`output->----------`, data); this.addTreeForm.addTypeArr = data; }, closeAddTreeForm() { @@ -408,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) { @@ -431,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) { @@ -492,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) => { @@ -499,7 +521,7 @@ message: res.message, type: "success", }); - this.getTableByClick(this.selectData); + this.getTableByClick(this.selectData, this.versionValue); }); }, async requiredOnfocus(scope) { @@ -514,7 +536,7 @@ message: res.message, type: "success", }); - this.getTableByClick(this.selectData); + this.getTableByClick(this.selectData, this.versionValue); }); }, }, @@ -650,6 +672,9 @@ width: 100%; padding-bottom: 6px; text-align: right; + .el-select { + margin-right: 10px; + } } .tipMsg { float: left; -- Gitblit v1.9.3