From a1917eca0b4f0fabf9f13648a840c2be8e2bf7f9 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期三, 20 九月 2023 15:41:26 +0800 Subject: [PATCH] modified: src/components/view/standard-table/target.vue modified: src/components/view/standard.vue --- src/components/view/standard-table/target.vue | 92 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 64 insertions(+), 28 deletions(-) diff --git a/src/components/view/standard-table/target.vue b/src/components/view/standard-table/target.vue index 46cc2d9..899209a 100644 --- a/src/components/view/standard-table/target.vue +++ b/src/components/view/standard-table/target.vue @@ -1,49 +1,49 @@ <template> <div class="standard"> - <div> - <el-table ref="multipleTable" :data="tableData" row-key="rowId" border max-height="675" - @select-all="selectAll" @select="selectTr" + <div style="width: 100%;height: 68vh;overflow-x: auto;overflow-y: auto;"> + <el-table ref="multipleTable" :data="tableData" row-key="rowId" border + @select-all="selectAll" @select="selectTr" @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="60" label="搴忓彿"></el-table-column> - <el-table-column prop="tfather" label="宸ュ簭"> + <el-table-column type="selection" width="55"></el-table-column> + <el-table-column type="index" width="60" label="搴忓彿"></el-table-column> + <el-table-column prop="tfather" label="宸ュ簭" width="200" :resizable="false"> <template slot-scope="scope"> - <el-tag type="primary" v-if="scope.row.tfather != null">01</el-tag> + <el-tag class="tag" type="primary" v-if="scope.row.tfather != null">01</el-tag> <span>{{scope.row.tfather}}</span> </template> </el-table-column> - <el-table-column prop="tname" 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> + <el-tag type="success" v-if="scope.row.tname != null" class="tag">02</el-tag> <span>{{scope.row.tname}}</span> </template> </el-table-column> - <el-table-column prop="pfather" label="椤圭洰"> + <el-table-column prop="pfather" label="椤圭洰" width="200" :resizable="false"> <template slot-scope="scope"> - <el-tag type="info" color="#faf2ff" v-if="scope.row.pfather != null"> + <el-tag type="info" color="#faf2ff" v-if="scope.row.pfather != null" class="tag"> <span style="color: #e1affb">03</span> </el-tag> <span>{{scope.row.pfather}}</span> </template> </el-table-column> - <el-table-column prop="pname" label="鎸囨爣鍚嶇О"> + <el-table-column prop="pname" label="鎸囨爣鍚嶇О" width="200" :resizable="false"> <template slot-scope="scope"> <span>{{scope.row.pname}}</span> </template> </el-table-column> - <el-table-column prop="unit" label="鍗曚綅"></el-table-column> - <el-table-column prop="internal" label="鍐呮帶鍊�"> + <el-table-column prop="unit" label="鍗曚綅" :resizable="false"></el-table-column> + <el-table-column prop="internal" label="鍐呮帶鍊�" :resizable="false"> <template slot-scope="scope"> <el-input v-model="scope.row.internal" - v-if="scope.row.pname != null" + v-if="scope.row.pname != null" size="small" @blur="updateVal(scope.row)"></el-input> </template> </el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�"> + <el-table-column prop="required" label="鏍囧噯鍊�" :resizable="false"> <template slot-scope="scope"> <el-input v-model="scope.row.required" - v-if="scope.row.pname != null" + v-if="scope.row.pname != null" size="small" @blur="updateVal(scope.row)"></el-input> </template> </el-table-column> @@ -56,12 +56,19 @@ export default { data() { return { + tnameWidth:200, + pfatherWidth:200, selects: [], + deleteList:[], + isAllSelect:false, } }, props:['tableData','tableType'], - created() {}, - mounted() {}, + created() { + }, + mounted() { + + }, methods: { // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 // 鍏ㄩ��/鍙栨秷閫夋搷浣� @@ -72,6 +79,7 @@ }, //閫夋嫨鏌愯 selectTr(selection, row) { + console.log("sss---",selection,row); this.$set(row, "isChecked", !row.isChecked); this.$nextTick(() => { this.isAllSelect = row.isChecked; @@ -80,6 +88,7 @@ }, //閫掑綊瀛愮骇 toggleSelect(data, flag, type) { + console.log("閫掑綊瀛愮骇---",data,flag,type); if (type === "all") { if (data.length > 0) { data.forEach((item) => { @@ -99,13 +108,33 @@ } } }, + //鏀瑰彉閫変腑 + toggleSelection(row, flag) { + console.log("鏀瑰彉閫変腑---",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.deleteList = []; val.forEach((v) => { - if (v.id !== undefined) { - this.deleteList.push(v.id); - } + 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.pid); + } }, // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 缁撴潫 updateVal(row){ @@ -116,11 +145,7 @@ }).then(res=>{ this.$message.success(res.message); }).catch(error=>{ - this.$message.error(error.message); }) - }, - handleSelectionChange(val) { - this.selects = val; }, } } @@ -134,6 +159,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> @@ -169,8 +205,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