From cb44cab30ca6b51d4488c66d7db911deecf4dbea Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期一, 11 九月 2023 09:35:53 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.22:9001/r/mom-before --- src/components/view/mbom.vue | 196 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 155 insertions(+), 41 deletions(-) diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue index a52dcd9..fbfa699 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> @@ -117,15 +137,15 @@ <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-tree :data="list" ref="tree" highlight-current :props="{children: 'children',label: 'name'}" node-key="id" 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> @@ -143,7 +163,7 @@ <el-table-column label="鎿嶄綔" width="130"> <template slot-scope="scope"> <!-- <span class="table_do" @click="upContent(scope.row)">缂栬緫 </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> @@ -161,24 +181,105 @@ export default { data() { return { - search:{}, + search:{ + type: 0, + technology: null + }, list:[], - process:[], + process:{}, // handleClose:[], - checkTreeNode:[], + checkTreeNode:{ + id:2, + }, tableData:[], - search:{}, + tableapi:[{ + supplier:'', + qualityTraceability:'', + name:'', + specifications:'', + unit:'', + }], + addsearch:{}, + upData:{}, form:{}, dialogVisible:false, typeselect:0, - tableData: [], - input:'' + input:'', + craftapi:[], } }, mounted() { - this.selectAllleft() + this.selectAllleft() + 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) + 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 +290,8 @@ params:{type:this.typeselect} }).then(res => { this.list = res.data; + console.log(this.list); + this.selectDataList() }, { headers: { "Content-Type": "application/json" @@ -201,6 +304,7 @@ params:{id:this.checkTreeNode.id} }).then(res => { this.tableData = res.data; + console.log(this.tableData); }, { headers: { "Content-Type": "application/json" @@ -221,19 +325,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 +362,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