From 9268f16a093f82e2964ca4461aacc42edbd6b7a5 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期二, 05 九月 2023 17:07:13 +0800 Subject: [PATCH] 基础数据 --- src/components/view/mbom.vue | 233 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 140 insertions(+), 93 deletions(-) diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue index 05d29af..985a9fd 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.input" placeholder="" ></el-input> + </template> + </el-table-column> + <el-table-column + prop="" + label="璐ㄩ噺杩芥函鍙�" + width="180"> + <template slot-scope="scope"> + <el-input v-model="scope.row.input" 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.input" 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> @@ -101,23 +121,25 @@ <div class="choose"> <span>绫诲瀷锛�</span> - <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> + <el-select v-model="search.type" size="small" @change="TYpe" 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> - <span>鍘熸潗鏂欏悕绉帮細</span> + <!-- <span>鍘熸潗鏂欏悕绉帮細</span> <el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> <el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option> </el-select> <el-button size="mini"><span>閲� 缃�</span></el-button> - <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌ヨ</span></el-button> + <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌ヨ</span></el-button> --> </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" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all> + <el-tree :data="list" ref="tree" + :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> {{data.code}} {{ data.name }}</span> @@ -141,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> @@ -160,76 +182,97 @@ data() { return { search:{}, - list: [{ - id: 0, - name: "鍘熸潗鏂�", - children: [{ - id: 3, - name: "宸ヨ壓", - children: [{ - id: 6, - name: "璁惧1" - }] - }] - }, { - id: 1, - name: "鎴愬搧", - children: [{ - id: 4, - name: "宸ヨ壓" - }] - }, { - id: 2, - name: "鍗婃垚鍝�", - children: [{ - id: 5, - name: "宸ヨ壓" - }] - }], - process:[], + list:[], + process:{}, // handleClose:[], - search:{}, + checkTreeNode:{ + name:'鍓ョ紗' + }, + tableData:[], + tableapi:[], + search:{ + type:'', + work:'', + craft:'', + + }, + addsearch:{}, + upData:{}, form:{}, dialogVisible:false, - tableData: [{ - id: 1, - name: "璐ㄩ噺杩芥函鍙�", - unit: "鍗曚綅", - thing: "dajskda", - input:'浣犲ソ1' - }, { - id: 2, - name: "浣滀笟浜哄憳", - unit: "鍗曚綅", - thing: "dajskda", - input:'浣犲ソ2' - - }, { - id: 3, - name: "瑙勬牸", - unit: "鍗曚綅", - thing: "dajskda", - input:'浣犲ソ3' - - }, { - id: 4, - name: "瑙勬牸", - unit: "鍗曚綅", - thing: "dajskda", - input:'浣犲ソ4' - - }, { - id: 5, - name: "瑙勬牸", - unit: "鍗曚綅", - thing: "dajskda", - input:'浣犲ソ5' - - }], - input:'' + typeselect:0, + tableData: [], + input:'', + craftapi:[], } }, + mounted() { + 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" + } + }) + }, + //鍒犻櫎 + material() { + this.$axios.post(this.$api.url.material,{ + id:this.upData.id + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + TYpe(val) { + this.typeselect = val + this.selectAllleft() + }, + //宸﹁竟 + selectAllleft() { + this.$axios.get(this.$api.url.selectAllleft,{ + params:{type:this.typeselect} + }).then(res => { + this.list = res.data; + console.log(this.list); + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + //鍙宠竟 + selectAllMbom() { + this.$axios.get(this.$api.url.selectAllMbom,{ + params:{id:this.checkTreeNode.id} + }).then(res => { + this.tableData = res.data; + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + handleNodeClick(data){ + this.checkTreeNode = data + console.log(this.checkTreeNode.id); + this.selectAllMbom() + }, handleClose(done) { this.$confirm('纭鍏抽棴锛�') .then(_ => { @@ -239,6 +282,7 @@ }, event(){ this.dialogVisible = true + this.chooseTechFath() }, Addrow() { if (this.tableData == undefined) { @@ -270,7 +314,10 @@ this.selects = val; }, deleteRow(index, rows) { - rows.splice(index, 1); + console.log(rows); + this.tableData.splice(index,1) + this.upData.id = rows.id + this.material() }, } -- Gitblit v1.9.3