From a15fb376f2a52a36be5ce2f1eeaf252a509dfcb7 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期三, 13 九月 2023 14:45:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/view/mbom.vue | 359 +++++++++++++++++++++++++++-------------------------------- 1 files changed, 165 insertions(+), 194 deletions(-) diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue index 5472b93..4e8c3ba 100644 --- a/src/components/view/mbom.vue +++ b/src/components/view/mbom.vue @@ -1,127 +1,96 @@ <template> <div class="record_content"> <div class="title"> - <el-row> + <el-row> <el-col :span="12" style="line-height: 32px;">鐗╂枡娓呭崟缁存姢</el-col> <el-col :span="12" style="text-align: right;"> <el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">鏂板</el-button> - <el-button icon="el-icon-delete" @click="dels" >鍒犻櫎</el-button> + <el-button icon="el-icon-delete" @click="dels">鍒犻櫎</el-button> </el-col> </el-row> </div> <div> - <el-dialog - title="鐗╂枡娓呭崟鐨勭淮鎶�" - :visible.sync="dialogVisible" - width="80%" - :before-close="handleClose" :center="true"> - <div> - <el-form> - <el-row :gutter="2"> - <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-col> - <el-col :span="8"> - <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.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> - </el-row> - </el-form> - <el-button size="mini" @click="Addrow" >娣诲姞琛�</el-button> - </div> - <div style="margin: 10px 0px;"> - <template> - <el-table - border - :data="tableapi" - height="calc(80vh - 250px)" - style="width: 100%"> - <el-table-column type="index" label="搴忓彿" width="70"> - </el-table-column> - <el-table-column - prop="date" - label="渚涘簲鍟嗗悕绉�" - width="180"> - <template slot-scope="scope"> - <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="鍘熸潗鏂欏悕绉�"> - <template slot-scope="scope"> - <el-input v-model="scope.row.name" placeholder="" ></el-input> - </template> - </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="unit" - label="鍗曚綅"> - <template slot-scope="scope"> - <el-input v-model="scope.row.unit" placeholder="" ></el-input> - </template> - </el-table-column> - </el-table> - </template> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="skipshow">纭� 瀹�</el-button> - </span> - </el-dialog> - </div> - + <el-dialog title="鐗╂枡娓呭崟鐨勭淮鎶�" :visible.sync="dialogVisible" width="80%" :before-close="handleClose" :center="true"> + <div> + <el-form> + <el-row :gutter="2"> + <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-col> + <el-col :span="8"> + <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.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> + </el-row> + </el-form> + <el-button size="mini" @click="Addrow">娣诲姞琛�</el-button> + </div> + <div style="margin: 10px 0px;"> + <template> + <el-table border :data="tableapi" height="calc(80vh - 250px)" style="width: 100%"> + <el-table-column type="index" label="搴忓彿" width="70"> + </el-table-column> + <el-table-column prop="date" label="渚涘簲鍟嗗悕绉�" width="180"> + <template slot-scope="scope"> + <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="鍘熸潗鏂欏悕绉�"> + <template slot-scope="scope"> + <el-input v-model="scope.row.name" placeholder=""></el-input> + </template> + </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="unit" label="鍗曚綅"> + <template slot-scope="scope"> + <el-input v-model="scope.row.unit" placeholder=""></el-input> + </template> + </el-table-column> + </el-table> + </template> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="skipshow">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> <div class="choose"> - <span>绫诲瀷锛�</span> - <el-select v-model="search.type" size="small" @change="TYpe" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> + <span>绫诲瀷锛�</span> + <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> @@ -136,15 +105,11 @@ </div> <div class="thing"> <div class="left"> - <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="name" - default-expand-all - @node-click="handleNodeClick" > + <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="overflow-y: auto;" highlight-current + :props="{children: 'children',label: 'name'}" 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 != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> {{data.code}} {{ data.name }}</span> @@ -155,7 +120,7 @@ </el-tree> </div> <div class="right"> - <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%" + <el-table :data="tableData" border style="width: 100%;overflow-y: auto;min-height: 100%" max-height="100%" @selection-change="handleSelectionChange" default-expand-all> <el-table-column type="selection" width="50"> </el-table-column> @@ -176,48 +141,48 @@ </div> <!-- <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px"> <div class="body"> - + </div> - + </el-dialog> --> </div> </template> <script> -export default { + export default { data() { return { - search:{ + search: { type: 0, technology: '' }, - list:[], - process:{}, + list: [], + process: {}, // handleClose:[], checkTreeNode:{ id:'', }, - tableData:[], - tableapi:[{ - supplier:'', - qualityTraceability:'', - name:'', - specifications:'', - unit:'', - }], - addsearch:{}, - upData:{}, - form:{}, - dialogVisible:false, - typeselect:0, - input:'', - craftapi:[], - } - }, - mounted() { - this.selectAllleft() - this.selectAllMbom() + tableData: [], + tableapi: [{ + supplier: '', + qualityTraceability: '', + name: '', + specifications: '', + unit: '', + }], + addsearch: {}, + upData: {}, + form: {}, + dialogVisible: false, + typeselect: 0, + input: '', + craftapi: [], + } }, - methods:{ + mounted() { + this.selectAllleft() + this.selectAllMbom() + }, + methods: { selectDataList() { this.list.forEach(a => { a.code = '[1]' @@ -234,23 +199,25 @@ }) this.upIndex++ }, - workevent(val){ - console.log(val); - let idx = this.process.findIndex(el => el.name === val) - this.craftapi = this.process[idx].children - }, + 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" - } - }) + 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,{ @@ -278,11 +245,11 @@ //鍒犻櫎 material(index) { console.log(this.upData.id); - this.$axios.post(this.$api.url.material,{ - id:this.upData.id - }).then(res =>{ + this.$axios.post(this.$api.url.material, { + id: this.upData.id + }).then(res => { this.$message.success(res.message) - this.tableData.splice(index,1) + this.tableData.splice(index, 1) // console.log(res); }) @@ -335,29 +302,31 @@ }, //鍙宠竟 selectAllMbom() { - this.$axios.get(this.$api.url.selectAllMbom,{ - params:{id:this.checkTreeNode.id} - }).then(res => { - this.tableData = res.data; - console.log(this.tableData); - }, { - headers: { - "Content-Type": "application/json" - } - }) + this.$axios.get(this.$api.url.selectAllMbom, { + params: { + id: this.checkTreeNode.id + } + }).then(res => { + this.tableData = res.data; + console.log(this.tableData); + }, { + headers: { + "Content-Type": "application/json" + } + }) }, handleNodeClick(data){ this.checkTreeNode = data console.log(data); console.log(this.checkTreeNode.id); this.selectAllMbom() - }, + }, handleClose(done) { this.$confirm('纭鍏抽棴锛�') - .then(_ => { - done(); - }) - .catch(_ => {}); + .then(_ => { + done(); + }) + .catch(_ => {}); }, //鏂板 event(){ @@ -372,7 +341,7 @@ let obj = []; this.tableapi.push(obj); }, - skipshow(){ + skipshow() { console.log('666'); let data = this.tableapi.at(-1) data.techTemId = this.search.craft @@ -381,12 +350,12 @@ }, //delAllMbom 鎵归噺鍒犻櫎 delAllMbom() { - this.$axios.post(this.$api.url.delAllMbom,{ - ids:this.delete - }).then(res =>{ - this.selectAllMbom() - }) - }, + 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++) { @@ -415,8 +384,8 @@ this.material(index) }, - } - } + } + } </script> <style scoped> @@ -435,7 +404,8 @@ .title * { font-size: 16px; } - .choose-1{ + + .choose-1 { padding: 5px 24px; display: flex; align-items: center; @@ -474,6 +444,7 @@ height: calc(100% - 20px); border-right: 3px solid rgb(245, 247, 251); padding: 16px; + overflow-y: auto; } .thing .left .custom-tree-node span { -- Gitblit v1.9.3