From 0499c5ea96c30fbd58a01b21a1c9faa79f67c273 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 13 九月 2023 14:31:07 +0800
Subject: [PATCH] 	modified:   src/assets/api/controller.js 	modified:   src/components/view/standard-table/material.vue 	modified:   src/components/view/standard-table/product.vue 	modified:   src/components/view/standard-table/target.vue 	modified:   src/components/view/standard-table/technology.vue 	modified:   src/components/view/standard.vue

---
 src/components/view/mbom.vue |   71 ++++++++++++++++++++++++++++-------
 1 files changed, 56 insertions(+), 15 deletions(-)

diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue
index 155fb78..cfe1abd 100644
--- a/src/components/view/mbom.vue
+++ b/src/components/view/mbom.vue
@@ -32,7 +32,7 @@
 					<el-form-item label="宸ュ簭">
                             <template>
                                 <el-select v-model="search.work" 
-                                placeholder="璇烽�夋嫨绫诲瀷" 
+                                placeholder="璇烽�夋嫨" 
                                 allow-create
                                 filterable
                                 @change="workevent"
@@ -136,16 +136,21 @@
 		</div>
 		<div class="thing">
 			<div class="left">
-				<el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable ></el-input>
-                <el-tree :data="list" ref="tree" 
+				<el-input v-model="search.technology" @input="query" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"  size="small" clearable ></el-input>
+                <el-tree 
+				:data="list" ref="tree"  
+				style="height: 500px;overflow-y: auto;" 
+				highlight-current
 				:props="{children: 'children',label: 'name'}" 
-				node-key="id" default-expand-all  @node-click="handleNodeClick" >
+				node-key="name" 
+				default-expand-all   
+				@node-click="handleNodeClick" >
 					<div class="custom-tree-node" slot-scope="{ node, data }">
-						<span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
+						<span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
 							{{data.code}} {{ data.name }}</span>
-						<el-button type="text" size="mini" @click.stop="remove(node, data)">
+						<!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
 							<i class="el-icon-delete"></i>
-						</el-button>
+						</el-button> -->
 					</div>
 				</el-tree>
 			</div>
@@ -181,7 +186,10 @@
 export default {
 		data() {
 			return {
-              search:{},
+              search:{
+					type: 0,
+					technology: ''
+				},
               list:[],
 				process:{},
 				// handleClose:[],
@@ -196,12 +204,6 @@
 					specifications:'',
 					unit:'',
 					}],
-				search:{
-					type:'',
-					work:'',
-					craft:'',
-
-				},
 				addsearch:{},
 				upData:{},
 				form:{},
@@ -216,6 +218,22 @@
 			this.selectAllMbom()         
 		},
 		methods:{
+			selectDataList() {
+				this.list.forEach(a => {
+					a.code = '[1]'
+					if (a.children != undefined) {
+						a.children.forEach(b => {
+							b.code = '[2]'
+							if (b.children != undefined) {
+								b.children.forEach(c => {
+									c.code = '[3]'
+								})
+							}
+						})
+					}
+				})
+				this.upIndex++
+			},
 			 workevent(val){
                 console.log(val);
                 let idx = this.process.findIndex(el => el.name === val)
@@ -271,13 +289,22 @@
 				this.typeselect = val
 				this.selectAllleft()
 			},
+			query() {
+				this.selectAllleft()
+			},
 			//宸﹁竟
 			selectAllleft() {
 			this.$axios.get(this.$api.url.selectAllleft,{
-				params:{type:this.typeselect}
+				params:{type:this.typeselect,
+						message:this.search.technology
+				}
 			}).then(res => {
 				this.list = res.data;
 				console.log(this.list);
+				this.selectDataList()
+				this.$nextTick(() => {
+				this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓�
+			})
 			}, {
 				headers: {
                 		"Content-Type": "application/json"
@@ -333,6 +360,14 @@
 				
 				this.dialogVisible = false
 			},
+			//delAllMbom 鎵归噺鍒犻櫎
+			delAllMbom() {
+                this.$axios.post(this.$api.url.delAllMbom,{
+                    ids:this.delete
+                }).then(res =>{
+                    this.selectAllMbom()
+                })
+            },
 			dels() {
 				this.selects.forEach(a => {
 					for (var b = 0; b < this.tableData.length; b++) {
@@ -342,6 +377,12 @@
 						}
 					}
 				})
+				let cc = this.selects.map(el => {
+					return el.id
+				})
+				this.delete = cc.join(',')
+				console.log(this.delete);
+				this.delAllMbom()
 				this.$message.success('鍒犻櫎瀹屾垚')
 			},
 			handleSelectionChange(val) {

--
Gitblit v1.9.3