From c7ccbc6510a9350e0a0a5a39a84f46c382d080b3 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期五, 15 九月 2023 15:00:26 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before --- src/components/view/Technicalindex.vue | 163 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 110 insertions(+), 53 deletions(-) diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue index 03d8f56..7eff98b 100644 --- a/src/components/view/Technicalindex.vue +++ b/src/components/view/Technicalindex.vue @@ -94,7 +94,10 @@ <!-- 涓讳綋鍙� --> <div class="right"> <el-table :data="tableData" style="width: 100%;overflow-y: auto;min-height: 100%" - max-height="100%" row-key="name" border @selection-change="handleSelectionChange" + max-height="100%" row-key="name" border + @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> @@ -219,7 +222,7 @@ <el-col :span="11" :offset="2"> <el-form-item label="宸ヨ壓"> <template> - <el-select v-model="form.name" placeholder="璇烽�夋嫨" allow-create filterable> + <el-select v-model="form.name" placeholder="璇烽�夋嫨" @change="craftrow" allow-create filterable> <el-option v-for="item in craftapi" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> @@ -281,51 +284,93 @@ export default { data() { return { - search: { - type: 0, - technology: null, - }, - // handleClose:[], - checkTreeNode: { - id: '', - }, - higherlevel: [], - value: {}, - options: [], - process: [], - filterNode: [], - list: [], - form: { - father: '', - work: '', - name: '', - unit: '', - project: '', - }, - children: [], - modifyevent: false, - dialogVisible: false, - tableData: [], - typeselect: 0, - upData: {}, - upDia: false, - craftapi: [], - edit: { - techFather: '', - techName: '', - father: '', - name: '', - unit: '', - id: '' - } - } - }, - mounted() { + search:{ + type:0, + technology:null, + }, + // handleClose:[], + checkTreeNode :{ + id:'', + }, + higherlevel:[], + value:{}, + options:[], + process:[], + filterNode:[], + list: [], + form:{ + father:'', + work:'', + name:'', + unit:'', + project:'', + }, + children:[], + modifyevent:false, + dialogVisible:false, + tableData: [], + crafval:'', + typeselect:0, + upData:{}, + upDia:false, + craftapi:[], + edit:{ + techFather:'', + techName:'', + father:'', + name:'', + unit:'', + id:'', + + }, + isAllSelect:false, + } + + }, + mounted() { this.selectAllleft() this.selectAllright() }, - methods: { - handleClose() { + methods:{ + // 琛ㄦ牸鏍戝叏閮ㄩ�変腑閰嶇疆 + // 鍏ㄩ��/鍙栨秷閫夋搷浣� + selectAll(val) { + this.isAllSelect = !this.isAllSelect; + let data = this.tableData; + this.toggleSelect(data, this.isAllSelect, "all"); + }, + //閫夋嫨鏌愯 + selectTr(selection, row) { + console.log(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") { + console.log('222'); + 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); + }); + } + } + }, + handleClose(){ }, selectDataList() { @@ -372,7 +417,8 @@ "Content-Type": "application/json" } }).then(res => { - this.selectAllright() + /* this.selectAllright() */ + this.$parent.removeAllTab() }) }, submitUpData() { //纭畾 @@ -385,8 +431,9 @@ this.$axios.post(this.$api.url.delTechBy, { id: this.upData.id }).then(res => { - this.selectAllright() + /* this.selectAllright() */ this.$message.success('鍒犻櫎瀹屾垚') + this.$parent.removeAllTab() }) }, deleteRow(index, rows) { @@ -400,7 +447,8 @@ this.$axios.post(this.$api.url.delAllTechskill, { ids: this.delete }).then(res => { - this.selectAllright() + /* this.selectAllright() */ + this.$parent.removeAllTab() }) }, dels() { @@ -415,6 +463,7 @@ let cc = this.selects.map(el => { return el.id }) + cc.splice(0,1) this.delete = cc.join(',') console.log(this.delete); this.delAllTechskill() @@ -474,6 +523,7 @@ })[0] console.log(one); let name = one.children[0].id + this.checkTreeNode.id = name console.log(name); this.selectAllrightStart(name) this.selectDataList(); @@ -505,12 +555,16 @@ console.log(this.tableData); }); }, + craftrow(val){ + this.crafval = val + this.chooseProFath() + }, //涓婄骇 chooseProFath() { console.log(this.checkTreeNode.id); this.$axios.get(this.$api.url.chooseProFath, { params: { - techTemId: this.checkTreeNode.id + techTemId:this.crafval } }).then(res => { this.higherlevel = res.data; @@ -555,12 +609,15 @@ modify() { this.modifyevent = true }, - // deleteRow(index, rows) { - // console.log(); - // rows.splice(index, 1); - // }, + handleSelectionChange(val) { this.selects = val; + this.deleteList = []; + val.forEach((v) => { + if (v.id !== undefined) { + this.deleteList.push(v.id); + } + }); }, //缂栬緫 @@ -693,4 +750,4 @@ height: 30px; border-radius: 2px; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.3