From 253b9c48b02d995540b84c1831e54e6baf8a1000 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期五, 08 九月 2023 10:21:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/components/view/mbom.vue |  172 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 136 insertions(+), 36 deletions(-)

diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue
index a52dcd9..155fb78 100644
--- a/src/components/view/mbom.vue
+++ b/src/components/view/mbom.vue
@@ -29,22 +29,33 @@
 					</el-form-item>
 				</el-col>
 				<el-col :span="8">
-					<el-form-item label="宸ュ簭:">
-					<el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
-						<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
-						<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
-						<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
-						<el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
-					</el-select>
-				</el-form-item>
+					<el-form-item label="宸ュ簭">
+                            <template>
+                                <el-select v-model="search.work" 
+                                placeholder="璇烽�夋嫨绫诲瀷" 
+                                allow-create
+                                filterable
+                                @change="workevent"
+                                >
+                                    <el-option
+                                    v-for="(item,index) in process"
+                                    :key="item.name"
+                                    :label="item.name"
+                                    :value="item.name">
+                                    </el-option>
+                                </el-select>
+                                </template>
+                        </el-form-item>
 				</el-col>
 				<el-col :span="8">
 					<el-form-item label="宸ヨ壓鍚嶇О:">
-					<el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
-						<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
-						<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
-						<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
-						<el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+					<el-select v-model="search.craft" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
+						<el-option
+							v-for="item in craftapi"
+							:key="item.id"
+							:label="item.name"
+							:value="item.id">
+							</el-option>
 					</el-select>
 				</el-form-item>
 				</el-col>
@@ -56,7 +67,7 @@
 				<template>
 					<el-table
 					border
-					:data="tableData"
+					:data="tableapi"
 					height="calc(80vh - 250px)"
 					style="width: 100%">
 					<el-table-column type="index" label="搴忓彿" width="70">
@@ -66,28 +77,37 @@
 						label="渚涘簲鍟嗗悕绉�"
 						width="180">
 						<template slot-scope="scope">
-							<el-input v-model="scope.row.input" placeholder="璇疯緭鍏ュ唴瀹�" ></el-input>
+							<el-input v-model="scope.row.supplier" placeholder="" ></el-input>
+						</template>
+					</el-table-column>
+					<el-table-column
+						prop=""
+						label="璐ㄩ噺杩芥函鍙�"
+						width="180">
+						<template slot-scope="scope">
+							<el-input v-model="scope.row.qualityTraceability" placeholder="" ></el-input>
 						</template>
 					</el-table-column>
 					<el-table-column
 						prop="name"
-						label="璐ㄩ噺杩芥函鍙�"
-						width="180">
+						label="鍘熸潗鏂欏悕绉�">
 						<template slot-scope="scope">
-							<el-input v-model="scope.row.name" placeholder="璇疯緭鍏ュ唴瀹�" ></el-input>
+							<el-input v-model="scope.row.name" placeholder="" ></el-input>
 						</template>
 					</el-table-column>
 					<el-table-column
 						prop="address"
-						label="鍘熸潗鏂欏悕绉�">
-					</el-table-column>
-					<el-table-column
-						prop="address"
 						label="瑙勬牸鍨嬪彿">
+						<template slot-scope="scope">
+							<el-input v-model="scope.row.specifications" placeholder="" ></el-input>
+						</template>
 					</el-table-column>
 					<el-table-column
-						prop="address"
+						prop="unit"
 						label="鍗曚綅">
+						<template slot-scope="scope">
+							<el-input v-model="scope.row.unit" placeholder="" ></el-input>
+						</template>
 					</el-table-column>
 					</el-table>
 				</template>
@@ -143,7 +163,7 @@
 					<el-table-column label="鎿嶄綔" width="130">
 						<template slot-scope="scope">
 							<!-- <span class="table_do" @click="upContent(scope.row)">缂栬緫&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> -->
-							<span class="table_do" @click="deleteRow(scope.$index, tableData)">鍒犻櫎</span>
+							<span class="table_do" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</span>
 						</template>
 					</el-table-column>
 				</el-table>
@@ -163,22 +183,90 @@
 			return {
               search:{},
               list:[],
-				process:[],
+				process:{},
 				// handleClose:[],
-				checkTreeNode:[],
+				checkTreeNode:{
+					id:2,
+				},
 				tableData:[],
-				search:{},
+				tableapi:[{
+					supplier:'',
+					qualityTraceability:'',
+					name:'',
+					specifications:'',
+					unit:'',
+					}],
+				search:{
+					type:'',
+					work:'',
+					craft:'',
+
+				},
+				addsearch:{},
+				upData:{},
 				form:{},
 				dialogVisible:false,
 				typeselect:0,
-                tableData: [],
-				input:''
+				input:'',
+				craftapi:[],
             }
         },
 		mounted() {
-			this.selectAllleft()          
+			this.selectAllleft() 
+			this.selectAllMbom()         
 		},
 		methods:{
+			 workevent(val){
+                console.log(val);
+                let idx = this.process.findIndex(el => el.name === val)
+                this.craftapi = this.process[idx].children
+            },
+			//鏂板
+			chooseTechFath() {
+			this.$axios.get(this.$api.url.chooseTechFath,{
+                params:{type:this.typeselect}
+            }).then(res => {
+				this.process = res.data;
+                console.log(this.process);
+			}, {
+				headers: {
+                		"Content-Type": "application/json"
+              		}
+            })
+			},
+			addMbom(data) {
+				this.$axios.post(this.$api.url.addMbom,data
+				// {
+					// name:this.tableapi.name,
+					// qualityTraceability:this.tableapi.qualityTraceability,
+					// specifications:this.tableapi.specifications,
+					// supplier:this.tableapi.supplier,
+					// techTemId:this.craftapi.id,
+					// unit:this.tableapi.unit,
+				// }
+				, {
+					headers: {
+                		"Content-Type": "application/json"
+              		}
+				}).then(res =>{
+					console.log(res);
+					this.$message.success('娣诲姞瀹屾垚')
+					this.selectAllMbom()
+					this.tableapi = [{}]
+				})
+			},
+			//鍒犻櫎
+			material(index) {
+				console.log(this.upData.id);
+				this.$axios.post(this.$api.url.material,{
+					id:this.upData.id
+				}).then(res =>{
+					this.$message.success(res.message)
+					this.tableData.splice(index,1)
+
+					// console.log(res);
+				})
+			},
 			TYpe(val) {
 				this.typeselect = val
 				this.selectAllleft()
@@ -189,6 +277,7 @@
 				params:{type:this.typeselect}
 			}).then(res => {
 				this.list = res.data;
+				console.log(this.list);
 			}, {
 				headers: {
                 		"Content-Type": "application/json"
@@ -201,6 +290,7 @@
 				params:{id:this.checkTreeNode.id}
 			}).then(res => {
 				this.tableData = res.data;
+				console.log(this.tableData);
 			}, {
 				headers: {
                 		"Content-Type": "application/json"
@@ -221,19 +311,25 @@
 			},
             event(){
                 this.dialogVisible = true
+				this.chooseTechFath()
             },
 			 Addrow() {
-			if (this.tableData == undefined) {
-				this.tableData = new Array();
+			if (this.tableapi == undefined) {
+				this.tableapi = new Array();
 			}
 			let obj = [];
 			
-			this.tableData.push(obj);
+			this.tableapi.push(obj);
 			},
 			skipshow(){
 				console.log('666');
-				const data = this.tableData.at(-1)
-				console.log(data);
+				let data = this.tableapi.at(-1)
+				// this.addMbom()
+				data.techTemId = this.search.craft
+				// console.log(this.search.craft);
+				// console.log(data);
+
+				this.addMbom(data)
 				
 				this.dialogVisible = false
 			},
@@ -252,7 +348,11 @@
 				this.selects = val;
 			},
 			deleteRow(index, rows) {
-				rows.splice(index, 1);
+				console.log(rows);
+				// this.tableData.splice(index,1)
+				this.upData.id = rows.id
+				console.log(this.upData);
+				this.material(index)
 			},
 
         }

--
Gitblit v1.9.3