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/equipmentmaintain.vue | 463 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 377 insertions(+), 86 deletions(-) diff --git a/src/components/view/equipmentmaintain.vue b/src/components/view/equipmentmaintain.vue index 8992125..0de5776 100644 --- a/src/components/view/equipmentmaintain.vue +++ b/src/components/view/equipmentmaintain.vue @@ -2,10 +2,10 @@ <div class="record_content"> <div class="title"> <el-row> - <el-col :span="12" style="line-height: 32px;">璁惧鎸囨爣缁存姢</el-col> + <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-edit-outline" @click="modify">淇敼</el-button> + <!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> --> <el-button icon="el-icon-delete" @click="dels" >鍒犻櫎</el-button> </el-col> </el-row> @@ -17,54 +17,91 @@ <el-dialog title="鎶�鏈寚鏍囩紪杈�" :visible.sync="modifyevent" - width="40%" - :before-close="handleClose"> + width="40%"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 560px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> + <el-select v-model="edit.type" disabled placeholder="璇烽�夋嫨" style="width: 560px;"> + <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> </template> </el-form-item> <el-row> <el-col :span="11"> <el-form-item label="宸ュ簭"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭"></el-input> + <template> + <el-select v-model="edit.techFather" disabled + placeholder="璇烽�夋嫨" > + <el-option + v-for="item in process" + :key="item.name" + :label="item.name" + :value="item.name"> + </el-option> + </el-select> + </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> <el-form-item label="宸ヨ壓"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ヨ壓"></el-input> + <el-input v-model="edit.techName" :disabled="true" placeholder="璇烽�夋嫨"></el-input> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="11"> + <el-form-item label="璁惧"> + <el-input v-model="edit.dname" disabled placeholder="璇烽�夋嫨"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="椤圭洰"> + <!-- <el-input v-model="edit.father" :disabled="true" placeholder="璇疯緭鍏ラ」鐩�"></el-input> --> + <template> + <el-select v-model="edit.father" @change="projectApi" placeholder="璇烽�夋嫨" > + <el-option + v-for="item in project" + :key="item.name" + :label="item.name" + :value="item.name"> + </el-option> + </el-select> + </template> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> - <el-form-item label="涓婄骇"> - <el-input v-model="form.name" placeholder="璇烽�夋嫨涓婄骇"></el-input> + <el-form-item label="鎸囨爣"> + <template> + <el-select v-model="edit.name" @change="scale" placeholder="璇烽�夋嫨" > + <el-option + v-for="item in quota" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </template> + </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="椤圭洰"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ラ」鐩�"></el-input> + <el-form-item label="鍗曚綅"> + <el-input v-model="unitrow" :value="unitrow" :disabled="true" placeholder="璇疯緭鍏ラ」鐩�"></el-input> </el-form-item> </el-col> </el-row> - <el-form-item label="鍗曚綅"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input> - </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="modifyevent = false">鍙� 娑�</el-button> - <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button> + <el-button type="primary" @click="editApi">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -73,54 +110,111 @@ <el-dialog title="鎶�鏈寚鏍囨柊澧�" :visible.sync="dialogVisible" - width="40%" - :before-close="handleClose"> + width="40%"> <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 560px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> + <el-select v-model="form.type" placeholder="璇烽�夋嫨" @change="edittype" style="width: 480px;"> + <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> </template> </el-form-item> <el-row> <el-col :span="11"> <el-form-item label="宸ュ簭"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭"></el-input> + <template> + <el-select v-model="form.father" @change="workevent" + placeholder="璇烽�夋嫨" > + <el-option + v-for="item in process" + :key="item.name" + :label="item.name" + :value="item.name"> + </el-option> + </el-select> + </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="宸ヨ壓"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ヨ壓"></el-input> + <el-form-item label="宸ヨ壓鍚嶇О"> + <template> + <el-select v-model="form.craft" placeholder="璇烽�夋嫨" > + <el-option + v-for="item in craftapi" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </template> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="璁惧"> + <template> + <el-select v-model="form.work" placeholder="璇烽�夋嫨" > + <el-option + v-for="item in higherlevel" + :key="item.devId" + :label="item.name" + :value="item.devId"> + </el-option> + </el-select> + </template> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="椤圭洰"> + <template> + <el-select v-model="form.ee" @change="projectApi" placeholder="璇烽�夋嫨" > + <el-option + v-for="item in project" + :key="item.name" + :label="item.name" + :value="item.name"> + </el-option> + </el-select> + </template> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> - <el-form-item label="涓婄骇"> - <el-input v-model="form.name" placeholder="璇烽�夋嫨涓婄骇"></el-input> + <el-form-item label="鎸囨爣"> + <template> + <el-select v-model="form.aa" @change="scale" placeholder="璇烽�夋嫨" > + <el-option + v-for="item in quota" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </template> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="椤圭洰"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ラ」鐩�"></el-input> + <el-form-item label="鍗曚綅"> + <template> + <el-input v-model="unitrow" :disabled="true" placeholder="璇疯緭鍏ュ崟浣�" style="width: 200px;"></el-input> + </template> </el-form-item> </el-col> </el-row> - <el-form-item label="鍗曚綅"> - <el-input v-model="form.name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input> - </el-form-item> - </el-form> + <!-- <el-form-item label="鍗曚綅"> + <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input> + </el-form-item> --> + </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogVisible = false">纭� 瀹�</el-button> + <el-button type="primary" @click="add">纭� 瀹�</el-button> </span> </el-dialog> </div> @@ -135,30 +229,33 @@ <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" + @input="query" 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 - highlight-current :filter-node-method="filterNode" + <el-tree :data="list" ref="tree" + style="height: 500px;overflow-y: auto;" + :props="{children: 'children',label: 'name'}" highlight-current 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> @@ -183,30 +280,28 @@ <el-table-column label="璁惧鍚嶇О" sortable + prop="dname" width="300px"> <template slot-scope="scope"> - <el-tag> + <!-- <el-tag> <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`"> {{ scope.row.children ? "01" : "02" }} </div> </el-tag> - <span style="children: black">{{ scope.row.name }}</span> - + <span style="children: black">{{ scope.row.name }}</span> --> + <el-tag v-if="scope.row.children" type="primary">01</el-tag> + <span style="color: black" v-if="scope.row.children"> + {{ scope.row.dname }} + </span> </template> </el-table-column> - <el-table-column label="椤圭洰" sortable width="300px"> <template slot-scope="scope"> - <el-tag> - <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`"> - {{ scope.row.children ? "01" : "02" }} - </div> - </el-tag> - <span style="color: black">{{ scope.row.name }}</span> - + <el-tag type="success" v-if="!scope.row.children">02</el-tag> + <span style="color: black" v-if="!scope.row.children">{{ scope.row.father }}</span> </template> </el-table-column> <el-table-column @@ -214,7 +309,7 @@ label="鍗曚綅"> </el-table-column> <el-table-column - prop="address" + prop="name" label="鎸囨爣"> </el-table-column> <el-table-column @@ -222,9 +317,11 @@ label="鎿嶄綔" width="200px"> <template slot-scope="scope" style="text-align: center;"> - <el-button type="text" size="mini" @click="childrenClick(scope)">缂栬緫</el-button> - <el-button type="text" size="mini" @click="deleteRow(scope.$index, tableData)">鍒犻櫎</el-button> - </template> + <div v-if="!scope.row.children"> + <el-button type="text" size="mini" @click="childrenClick(scope.row)">缂栬緫</el-button> + <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button> + </div> + </template> </el-table-column> </el-table> </div> @@ -235,28 +332,188 @@ export default { data() { return { - search:{}, + search: { + type: 0, + technology: null + }, value:{}, - TYpe:[], typeselect:0, options:[], process:[], list: [], - TYpe:'', selects:'', - checkTreeNode:[], - form:{}, + process:{}, + options:{}, + craftapi:{}, + project:{}, + edit:{}, + upData:{ + + }, + checkTreeNode:{ + id:1, + }, + form:{ + type:'', + father:'', + work:'', + name:'', + unit:'', + + + }, + modifyevent:false, dialogVisible:false, tableData: [], + higherlevel:{}, + quota:{}, + unitrow:'', } }, mounted() { - this.selectAllleft() + this.selectAllleft() + this.selectAllTeque() }, methods:{ - TYpe() { + 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++ + }, + elForm() {}, + // //鏂板 + choosePro() {//椤圭洰 + this.$axios.get(this.$api.url.choosePro,{ + params:{techTemId:this.checkTreeNode.id} + }).then(res => { + this.project = res.data; + console.log(this.process); + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + chooseDeiv() {//璁惧 + this.$axios.get(this.$api.url.chooseDeiv,{ + params:{techTemId:this.checkTreeNode.id} + }).then(res => { + this.higherlevel = res.data; + console.log(this.process); + }, { + headers: { + "Content-Type": "application/json" + } + }) + }, + //鏂板 + edittype(val) { + this.typeselect = val + this.chooseTechFath() + }, + projectApi(val) { + console.log(val); + let idx = this.project.findIndex(el => el.name === val) + this.quota = this.project[idx].children + console.log( this.quota); + }, + scale(val) { + console.log(val); + let cc = this.quota.findIndex(el => el.id === val) + console.log(cc); + this.unitrow = this.quota[cc].unit + console.log(this.unitrow); + }, + workevent(val){ + console.log(val); + let idx = this.process.findIndex(el => el.name === val) + this.craftapi = this.process[idx].children + console.log( this.craftapi); + }, + 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" + } + }).then(res =>{ + + }) + }, + //鏂板 + event(){ + this.dialogVisible = true + this.choosePro() + this.chooseDeiv() + }, + //纭 + add() { + this.dialogVisible = false + this.addQeMode() + }, + addQeMode(){ + this.$axios.post(this.$api.url.addQeMode,{ + devId:this.form.work, + techTemId:this.form.craft, + technicalModelId:this.form.aa, + }, {headers: {"Content-Type": "application/json"} + }).then(res =>{ + this.selectAllTeque() + this.form = {} + this.unitrow = "" + }) + }, + + //缂栬緫 + childrenClick(ob) { + this.modifyevent=true + this.upData = ob + this.selecQueById() + this.choosePro() + }, + //缂栬緫 selecQueById + selecQueById() { + this.$axios.get(this.$api.url.selecQueById,{ + params:{id:this.upData.id} + }).then(res => { + console.log(res); + this.edit = res.data[0] + console.log(this.edit); + this.unitrow = this.edit.unit + }) + }, + editApi() { + this.modifyevent = false + this.writeQueById() + }, + writeQueById() { + this.$axios.post(this.$api.url.writeQueById,{ + devId:this.edit.did, + techTemId:this.edit.tid, + technicalModelId:this.edit.name, + }, {headers: {"Content-Type": "application/json"} + }).then(res =>{ + }) + }, + //======================== + TYpe(val) { this.typeselect = val this.selectAllleft() }, @@ -266,15 +523,24 @@ this.selectAllTeque() }, + //鏌ヨ + query(val) { + 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) // 榛樿閫変腑鑺傜偣绗竴涓� + }) }) }, + //涓讳綋鍙� selectAllTeque() { this.$axios.get(this.$api.url.selectAllTeque,{ @@ -285,18 +551,37 @@ }) }, - event(){ - this.dialogVisible = true - }, modify(){ this.modifyevent = true }, - deleteRow(index, rows) { - rows.splice(index, 1); + //delQueById + delQueById() { + this.$axios.post(this.$api.url.delQueById,{ + id:this.upData.id + }).then(res =>{ + this.selectAllTeque() + this.$message.success('鍒犻櫎瀹屾垚') + }) + }, + deleteRow(index, row) { + this.tableData.splice(index,1) + this.upData.id = row.id + console.log(this.upData.id); + this.delQueById() }, handleSelectionChange(val) { this.selects = val }, + //鎵归噺鍒犻櫎 + delAllQue() { + this.$axios.post(this.$api.url.delAllQue,{ + ids:this.delete + }).then(res =>{ + this.selectAllTeque() + this.$message.success('鍒犻櫎瀹屾垚') + }) + }, + dels() { this.selects.forEach(a => { for (var b = 0; b < this.tableData.length; b++) { @@ -306,18 +591,24 @@ } } }) + let cc = this.selects.map(el => { + return el.id + }) + this.delete = cc.join(',') + console.log(this.delete); + this.delAllQue() this.$message.success('鍒犻櫎瀹屾垚') }, - handleClose(){ - this.$confirm('纭鍏抽棴锛�') - .then(_ => { - done(); - }) - .catch(_ => {}) - }, - filterNode(){ + // handleClose(){ + // // this.$confirm('纭鍏抽棴锛�') + // // .then(_ => { + // // done(); + // // }) + // // .catch(_ => {}) + // // }, + // // filterNode(){ - }, + // }, } } -- Gitblit v1.9.3