From 22b45a79b2ceab7625e0fe248458c398cc26110d Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期一, 25 九月 2023 12:53:59 +0800 Subject: [PATCH] modified: src/components/view/Processingproducts.vue modified: src/components/view/rawInsDetail.vue modified: src/components/view/sale.vue --- src/components/view/standard-table/material.vue | 132 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 109 insertions(+), 23 deletions(-) diff --git a/src/components/view/standard-table/material.vue b/src/components/view/standard-table/material.vue index 7ae1a84..ab2c6ae 100644 --- a/src/components/view/standard-table/material.vue +++ b/src/components/view/standard-table/material.vue @@ -1,32 +1,33 @@ <template> <div class="standard"> - <div> - <el-table :data="tableData" max-height="675" style="width: 100%;margin-bottom: 20px;" row-key="rowId" border + <div style="width: 100%;height: 68vh;overflow-x: auto;"> + <el-table :data="tableData" row-key="rowId" border height="calc(90vh - 200px)" + @select-all="selectAll" @select="selectTr" ref="multipleTable" @selection-change="handleSelectionChange" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column type="index" width="50" label="搴忓彿"> + <el-table-column type="index" width="60" label="搴忓彿"> </el-table-column> - <el-table-column prop="father" label="宸ュ簭" sortable width="200px"> + <el-table-column prop="father" label="宸ュ簭" width="200" :resizable="false"> <template slot-scope="scope"> - <el-tag v-if="scope.row.father != null" type="primary">01</el-tag> + <el-tag class="tag" v-if="scope.row.father != null" type="primary">01</el-tag> <span style="color: #000000"> {{ scope.row.father }} </span> </template> </el-table-column> - <el-table-column prop="tname" sortable label="宸ヨ壓鍚嶇О"> + <el-table-column prop="tname" label="宸ヨ壓鍚嶇О" width="200" :resizable="false"> <template slot-scope="scope"> - <el-tag type="success" v-if="scope.row.tname != null">02</el-tag> - <span style="color: black"> + <el-tag type="success" v-if="scope.row.tname != null" class="tag">02</el-tag> + <span style="color: #000000"> {{ scope.row.tname }} </span> </template> </el-table-column> - <el-table-column prop="mname" label="鏉愭枡鍚嶇О"> + <el-table-column prop="mname" label="鏉愭枡鍚嶇О" width="200" :resizable="false"> <template slot-scope="scope"> - <el-tag type="info" color="#faf2ff" v-if="scope.row.mname != null"> + <el-tag type="info" class="tag" color="#faf2ff" v-if="scope.row.mname != null"> <span style="color: #e1affb">03</span> </el-tag> <span> @@ -34,11 +35,16 @@ </span> </template> </el-table-column> - <el-table-column prop="specifications" label="瑙勬牸"> + <el-table-column prop="specifications" label="瑙勬牸" :resizable="false"> </el-table-column> - <el-table-column prop="unit" label="鍗曚綅"> + <el-table-column prop="unit" label="鍗曚綅" :resizable="false"> </el-table-column> - <el-table-column prop="num" label="鏁伴噺"> + <el-table-column prop="num" label="鏁伴噺" :resizable="false"> + <template slot-scope="scope"> + <el-input v-model="scope.row.num" + v-if="scope.row.mname != null" size="small" + @blur="updateVal(scope.row)"></el-input> + </template> </el-table-column> </el-table> </div> @@ -50,20 +56,89 @@ data() { return { hasChildren:true, - selects: [] + selects: [], + isAllSelect:false, + deleteList:[], } }, props:['tableData','tableType'], - created() { - console.log(this.tableData,this.tableType) - }, - mounted() { - - }, + created() {}, + mounted() {}, methods: { + updateVal(row){ + this.$axios.post(this.$api.url.mBomWrite,{ + id : row.id, + num : row.num + }).then(res=>{ + this.$message.success(res.message); + }).catch(error=>{ + this.$message.error(error.message); + }) + }, + // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 + // 鍏ㄩ��/鍙栨秷閫夋搷浣� + selectAll(val) { + this.isAllSelect = !this.isAllSelect; + let data = this.tableData; + this.toggleSelect(data, this.isAllSelect, "all"); + }, + //閫夋嫨鏌愯 + selectTr(selection, row) { + this.$set(row, "isChecked", !row.isChecked); + this.$nextTick(() => { + this.isAllSelect = row.isChecked; + this.toggleSelect(row, row.isChecked, "tr"); + }); + }, + //閫掑綊瀛愮骇 + toggleSelect(data, flag, type) { + if (type === "all") { + if (data.length > 0) { + data.forEach((item) => { + this.toggleSelection(item, flag); + if (item.children && item.children.length > 0) { + this.toggleSelect(item.children, flag, type); + } + }); + } + } else { + if (data.children && data.children.length > 0) { + data.children.forEach((item) => { + item.isChecked = !item.isChecked; + this.$refs.multipleTable.toggleRowSelection(item, flag); + this.toggleSelect(item, flag, type); + }); + } + } + }, + //鏀瑰彉閫変腑 + toggleSelection(row, flag) { + this.$set(row, "isChecked", flag); + this.$nextTick(() => { + if (flag) { + this.$refs.multipleTable.toggleRowSelection(row, flag); + } else { + this.$refs.multipleTable.clearSelection(); + } + }); + }, handleSelectionChange(val) { - this.selects = val; + this.deleteList = []; + val.forEach((v) => { + this.searchIdFun(v); + }); + this.$emit("childData",this.deleteList); + }, + //閫掑綊鏌ユ壘閫変腑鏁版嵁id + searchIdFun(data){ + let obj = data; + if(obj.children != undefined){ + this.searchIdFun(obj.children); + }else{ + this.deleteList.push(obj.id); } + }, + // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫 } } </script> @@ -72,6 +147,17 @@ .standard { width: 100%; height: 100%; + } + .tag{ + line-height:24px; + text-align:center; + width:36px; + height:24px; + + border-radius:12px; + } + .tag:nth-child(1){ + margin-left:20px; } </style> <style> @@ -107,8 +193,8 @@ .standard .el-table__body { height: 100%; } - .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ + /* .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ padding-left: 23px !important; - } + } */ </style> \ No newline at end of file -- Gitblit v1.9.3