From c4355a18506cf0e8f63469a8a38f2e8d5e67d6f9 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期六, 09 九月 2023 14:53:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/view/technology.vue | 1420 ++++++++++++++----------- src/components/view/mbom.vue | 36 src/components/view/technical.vue | 27 src/assets/api/controller.js | 1 src/components/view/standard-table/material.vue | 113 ++ src/components/view/standard.vue | 98 src/components/view/laboratoryManagement.vue | 30 src/components/view/self-inspection.vue | 29 src/components/view/equipmentmaintain.vue | 44 src/components/view/record-content.vue | 1263 ++++++++++------------ src/main.js | 3 src/components/view/Technicalindex.vue | 50 src/components/view/standard-table/technology.vue | 132 +- 13 files changed, 1,729 insertions(+), 1,517 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index ef8a46e..ccb216d 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -13,6 +13,7 @@ //璁㈠崟BOM delDevice:"/device/delDeviceById",//璁㈠崟Bom + compile:"/orders/compile",//缂栧埗 } // 鍘熸潗鏂欐楠� const raw = { diff --git a/src/components/view/Technicalindex.vue b/src/components/view/Technicalindex.vue index 6117dd3..6aa8d70 100644 --- a/src/components/view/Technicalindex.vue +++ b/src/components/view/Technicalindex.vue @@ -5,7 +5,7 @@ <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> @@ -22,7 +22,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 560px;"> + <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 560px;"> <el-option v-for="item in options" :key="item.value" @@ -47,8 +47,8 @@ <el-row> <el-col :span="11"> - <el-form-item label="涓婄骇"> - <el-input v-model="form.name" placeholder="璇烽�夋嫨涓婄骇"></el-input> + <el-form-item label="椤圭洰缁�"> + <el-input v-model="form.name" placeholder="璇烽�夋嫨"></el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> @@ -91,7 +91,7 @@ <el-form-item label="宸ュ簭"> <template> <el-select v-model="form.work" - placeholder="璇烽�夋嫨绫诲瀷" + placeholder="璇烽�夋嫨" allow-create filterable @change="workevent" @@ -110,7 +110,7 @@ <el-form-item label="宸ヨ壓"> <template> <el-select v-model="form.name" - placeholder="璇烽�夋嫨绫诲瀷" + placeholder="璇烽�夋嫨" allow-create filterable > @@ -128,10 +128,10 @@ <el-row> <el-col :span="11"> - <el-form-item label="涓婄骇"> + <el-form-item label="椤圭洰缁�"> <template> <el-select v-model="form.father" - placeholder="璇烽�夋嫨绫诲瀷" + placeholder="璇烽�夋嫨" allow-create filterable > @@ -192,11 +192,11 @@ @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.father}} {{ 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> @@ -207,7 +207,6 @@ style="width: 100%;margin-bottom: 20px;" row-key="name" border - @selection-change="handleSelectionChange" default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> @@ -271,7 +270,7 @@ <el-col :span="16" :offset="1"> <template> <el-select v-model="form.work" - placeholder="璇烽�夋嫨绫诲瀷" + placeholder="璇烽�夋嫨" allow-create filterable @change="workevent" @@ -291,7 +290,7 @@ <el-col :span="16" :offset="1"> <template> <el-select v-model="form.name" - placeholder="璇烽�夋嫨绫诲瀷" + placeholder="璇烽�夋嫨" allow-create filterable > @@ -333,12 +332,12 @@ data() { return { search:{ - type:'', - technology:'', + type:0, + technology:null, }, // handleClose:[], checkTreeNode :{ - id:2, + id:1, }, higherlevel:[], value:{}, @@ -373,6 +372,22 @@ }, 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++ + }, //缂栬緫 selecTech() { this.$axios.get(this.$api.url.selecTech,{ @@ -441,6 +456,7 @@ }).then(res => { this.list = res.data; console.log(this.list); + this.selectDataList() }) }, // diff --git a/src/components/view/equipmentmaintain.vue b/src/components/view/equipmentmaintain.vue index 1b18d0b..6bec45c 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> @@ -22,7 +22,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" > + <el-select v-model="form.type" placeholder="璇烽�夋嫨" > <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> @@ -35,7 +35,7 @@ <el-form-item label="宸ュ簭"> <template> <el-select v-model="form.work" - placeholder="璇烽�夋嫨绫诲瀷" > + placeholder="璇烽�夋嫨" > <el-option v-for="item in process" :key="item.name" @@ -51,7 +51,7 @@ <el-row> <el-col :span="11"> <el-form-item label="璁惧"> - <el-input v-model="form.father" placeholder="璇烽�夋嫨涓婄骇"></el-input> + <el-input v-model="form.father" placeholder="璇烽�夋嫨"></el-input> </el-form-item> </el-col> <el-col :span="11" :offset="2"> @@ -81,7 +81,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;"> + <el-select v-model="form.type" placeholder="璇烽�夋嫨" style="width: 480px;"> <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> @@ -94,7 +94,7 @@ <el-form-item label="宸ュ簭"> <template> <el-select v-model="form.father" - placeholder="璇烽�夋嫨绫诲瀷" > + placeholder="璇烽�夋嫨" > <el-option v-for="item in process" :key="item.name" @@ -110,7 +110,7 @@ <el-col :span="11"> <el-form-item label="璁惧"> <template> - <el-select v-model="form.work" placeholder="璇烽�夋嫨绫诲瀷" > + <el-select v-model="form.work" placeholder="璇烽�夋嫨" > <el-option v-for="item in higherlevel" :key="item.name" @@ -168,11 +168,11 @@ @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> @@ -249,7 +249,10 @@ export default { data() { return { - search:{}, + search: { + type: 0, + technology: null + }, value:{}, typeselect:0, options:[], @@ -283,6 +286,22 @@ this.selectAllTeque() }, 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++ + }, elForm() {}, //鏂板 choosePro() {//宸ュ簭 @@ -350,6 +369,7 @@ }).then(res => { this.list = res.data; console.log(this.list); + this.selectDataList() }) }, //涓讳綋鍙� diff --git a/src/components/view/laboratoryManagement.vue b/src/components/view/laboratoryManagement.vue index 55d2727..9cbf45d 100644 --- a/src/components/view/laboratoryManagement.vue +++ b/src/components/view/laboratoryManagement.vue @@ -1,7 +1,7 @@ <template> <div> <el-row> - <el-col :span="12" class="top_left_name">瀹為獙瀹ょ鐞�</el-col> + <el-col :span="12" class="top_left_name">璁惧缁存姢</el-col> <el-col :span="12" style="text-align: right;"> <el-button @click="testItem()" @@ -224,9 +224,9 @@ ></i> {{ data.father }}</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> @@ -427,7 +427,7 @@ equr:1, }, delete:{}, - equip:[], + equip:1, rules: { name: [ { required: true, message: "璇疯緭鍏ヤ华鍣ㄨ澶囩紪鍙�", trigger: "blur" }, @@ -465,12 +465,20 @@ } }; }, + mounted() { + // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲 + this.twoTreeApi(); + // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹� + // this.tableDataApi(); + this.selectDevice()//鍙宠竟 + }, methods: { selectDevice() {//鍙宠竟鏁版嵁 - console.log(this.$api.url.selectDevice); + console.log(this.ruleForm.treedata.father); + console.log(this.equip); this.$axios.get(this.$api.url.selectDevice,{ params:{ - father:this.treedata.father, + father:this.ruleForm.treedata.father, type:this.equip, } }).then(res =>{ @@ -582,7 +590,7 @@ }, handleNodeClick(data) { console.log(data); - this.treedata = data + // this.treedata = data this.selectDevice() }, handlerDeptList() { @@ -720,13 +728,7 @@ }); } }, - mounted() { - // 鍒濆鍖栬皟鐢ㄤ簩绾ф爲 - this.twoTreeApi(); - // 鍒濆鍖栬皟鐢ㄨ〃鏍兼暟鎹� - this.tableDataApi(); - this.selectDevice()//鍙宠竟 - }, + watch: { "ruleForm.rawInsProductId": { //鐩戝惉ruleForm.rawInsProductId diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue index 155fb78..570c088 100644 --- a/src/components/view/mbom.vue +++ b/src/components/view/mbom.vue @@ -32,7 +32,7 @@ <el-form-item label="宸ュ簭"> <template> <el-select v-model="search.work" - placeholder="璇烽�夋嫨绫诲瀷" + placeholder="璇烽�夋嫨" allow-create filterable @change="workevent" @@ -141,11 +141,11 @@ :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> @@ -181,7 +181,10 @@ export default { data() { return { - search:{}, + search:{ + type: 0, + technology: null + }, list:[], process:{}, // handleClose:[], @@ -196,12 +199,6 @@ specifications:'', unit:'', }], - search:{ - type:'', - work:'', - craft:'', - - }, addsearch:{}, upData:{}, form:{}, @@ -216,6 +213,22 @@ 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) @@ -278,6 +291,7 @@ }).then(res => { this.list = res.data; console.log(this.list); + this.selectDataList() }, { headers: { "Content-Type": "application/json" diff --git a/src/components/view/record-content.vue b/src/components/view/record-content.vue index 8c5976a..9fb2af3 100644 --- a/src/components/view/record-content.vue +++ b/src/components/view/record-content.vue @@ -1,729 +1,606 @@ <style scoped> -.title .el-button { - height: 32px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 12px; -} + .title .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } -.title { - margin-bottom: 10px; - padding: 0 20px; -} + .title { + margin-bottom: 10px; + padding: 0 20px; + } -.title * { - font-size: 16px; -} + .title * { + font-size: 16px; + } -.choose { - padding: 21px 24px; - display: flex; - align-items: center; - background-color: #fff; - border-bottom: 3px solid rgb(245, 247, 251); -} + .choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); + } -.choose * { - font-size: 14px; -} + .choose * { + font-size: 14px; + } -.choose .el-button { - height: 32px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 12px; -} + .choose .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; + } -.thing { - width: 100%; - height: calc(100% - 120px); - background-color: #fff; - display: flex; -} + .thing { + width: 100%; + height: calc(100% - 120px); + background-color: #fff; + display: flex; + } -.thing .left { - width: 295px; - height: calc(100% - 20px); - border-right: 3px solid rgb(245, 247, 251); - padding: 16px; -} + .thing .left { + width: 295px; + height: calc(100% - 20px); + border-right: 3px solid rgb(245, 247, 251); + padding: 16px; + } -.thing .left .custom-tree-node span { - font-size: 14px; -} + .thing .left .custom-tree-node span { + font-size: 14px; + } -.thing .left .custom-tree-node { - flex: 1; - display: flex; - align-items: center; - justify-content: space-between; - font-size: 14px; - padding-right: 8px; -} + .thing .left .custom-tree-node { + flex: 1; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 14px; + padding-right: 8px; + } -.node_i { - color: orange; -} + .node_i { + color: orange; + } -.el-icon-delete { - display: none; - color: #004ea2; -} + .el-icon-delete { + display: none; + color: #004EA2; + } -.custom-tree-node:hover .el-icon-delete { - display: inline; -} + .custom-tree-node:hover .el-icon-delete { + display: inline; + } -.thing .right { - width: calc(100% - 305px); - height: calc(100% - 25px); - overflow: hidden; - padding: 10px; -} + .thing .right { + width: calc(100% - 305px); + height: calc(100% - 25px); + overflow: hidden; + padding: 10px; + } -.table_do { - color: #004ea0; - cursor: pointer; -} + .table_do { + color: #004ea0; + cursor: pointer; + } </style> <style> -.record_content .title .el-button * { - font-size: 14px; -} + .record_content .title .el-button * { + font-size: 14px; + } -.record_content .title .el-button--default { - color: #004ea2; -} + .record_content .title .el-button--default { + color: #004EA2; + } -.record_content - .thing - .left - .el-tree--highlight-current - .el-tree-node.is-current - > .el-tree-node__content { - background: rgba(58, 124, 253, 0.2); - color: #004ea2; -} + .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { + background: rgba(58, 124, 253, 0.2); + color: #004EA2; + } -.record_content .el-tree-node__content { - height: 30px; - border-radius: 2px; -} + .record_content .el-tree-node__content { + height: 30px; + border-radius: 2px; + } </style> + <template> - <div class="record_content"> - <div class="title"> - <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="addend" - >鏂板</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> - </div> - <div class="choose"> - <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> - <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> - </el-select> - <!-- <span>宸ュ簭锛�</span> + <div class="record_content"> + <div class="title"> + <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="addend">鏂板</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> + </div> + <div class="choose"> + <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> + <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option> + </el-select> + <!-- <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" @click="clean()"><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 - @input="val => $refs.tree.filter(val)" - ></el-input> - <el-tree - :data="list" - ref="tree" - :props="{ children: 'children', label: 'name' }" - node-key="id" - default-expand-all - @node-click="handleNodeClick" - highlight-current - @node-expand="nodeOpen" - @node-collapse="nodeClose" - :filter-node-method="filterNode" - :key="upIndex" - > - <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 - > - <el-button type="text" size="mini" @click.stop="remove(node, data)"> - <i class="el-icon-delete"></i> - </el-button> - </div> - </el-tree> - </div> - <div class="right"> - <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> - <el-table-column type="index" label="搴忓彿" width="70"> - </el-table-column> - <el-table-column prop="name" label="鍚嶇О"> </el-table-column> - <el-table-column prop="unit" label="鍗曚綅"> </el-table-column> - <el-table-column prop="note" label="澶囨敞"> </el-table-column> - <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, scope.row)" - >鍒犻櫎</span - > - </template> - </el-table-column> - </el-table> - </div> - </div> - <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px"> - <div class="body"> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;" - >绫诲瀷:</el-col - > - <el-col :span="16" :offset="1"> - <template> - <el-select - v-model="edit.type" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 310px;" - > - <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-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;" - >宸ュ簭:</el-col - > - <el-col :span="16" :offset="1"> - <template> - <el-select - v-model="edit.techFather" - placeholder="璇烽�夋嫨绫诲瀷" - @change="workevent" - style="width: 310px;" - > - <el-option - v-for="item in process" - :key="item.name" - :label="item.name" - :value="item.name" - > - </el-option> - </el-select> - </template> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;" - >宸ヨ壓:</el-col - > - <el-col :span="16" :offset="1"> - <template> - <el-select - v-model="edit.techName" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 310px;" - > - <el-option - v-for="item in craftapi" - :key="item.id" - :label="item.name" - :value="item.id" - > - </el-option> - </el-select> - </template> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;" - >鍚嶇О:</el-col - > - <el-col :span="16" :offset="1"> - <el-input v-model="upData.name" size="small" clearable></el-input> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;" - >鍗曚綅:</el-col - > - <el-col :span="16" :offset="1"> - <el-input v-model="upData.unit" size="small" clearable></el-input> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;" - >澶囨敞:</el-col - > - <el-col :span="16" :offset="1"> - <el-input v-model="upData.note" size="small" clearable></el-input> - </el-col> - </el-row> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button> - <el-button @click="upDia = false">鍙� 娑�</el-button> - </span> - </el-dialog> - <!-- 鏂板寮圭獥 --> - <el-dialog title="宸ュ簭鏂板" :visible.sync="dialogVisible" width="35%"> - <div> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select - v-model="form.type" - placeholder="璇烽�夋嫨绫诲瀷" - 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-form-item label="宸ュ簭"> - <template> - <el-select - v-model="form.work" - @change="workevent" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 480px;" - > - <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-form-item label="宸ヨ壓鍚嶇О"> - <template> - <el-select - v-model="form.craft" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 480px;" - > - <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-form-item label="璁板綍"> - <el-input v-model="form.record"></el-input> - </el-form-item> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remarks"></el-input> - </el-form-item> - <el-form-item label="鍗曚綅"> - <el-input v-model="form.unit"></el-input> - </el-form-item> - </el-form> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="add">纭� 瀹�</el-button> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> - </span> - </el-dialog> + </div> + <div class="thing"> + <div class="left"> + <el-input v-model="search.technology" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable @input="(val)=>$refs.tree.filter(val)"></el-input> + <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all + @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen" @node-collapse="nodeClose" :filter-node-method="filterNode" + :key="upIndex"> + <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> + <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)"> + <i class="el-icon-delete"></i> + </el-button> --> + </div> + </el-tree> + </div> + <div class="right"> + <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> + <el-table-column type="index" label="搴忓彿" width="70"> + </el-table-column> + <el-table-column prop="name" label="璁板綍鍐呭"> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> + </el-table-column> + <el-table-column prop="note" label="澶囨敞"> + </el-table-column> + <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, scope.row)">鍒犻櫎</span> + </template> + </el-table-column> + </el-table> + </div> + </div> + <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px"> + <div class="body"> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col> + <el-col :span="16" :offset="1"> + <template> + <el-select v-model="edit.type" placeholder="璇烽�夋嫨" style="width: 310px;"> + <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-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> + <el-col :span="16" :offset="1"> + <template> + <el-select v-model="edit.techFather" + placeholder="璇烽�夋嫨" + @change="workevent" + style="width: 310px;"> + <el-option + v-for="item in process" + :key="item.name" + :label="item.name" + :value="item.name"> + </el-option> + </el-select> + </template> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓:</el-col> + <el-col :span="16" :offset="1"> + <template> + <el-select v-model="edit.techName" placeholder="璇烽�夋嫨" style="width: 310px;"> + <el-option + v-for="item in craftapi" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </template> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">璁板綍鍐呭:</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="upData.name" size="small" clearable></el-input> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">鍗曚綅:</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="upData.unit" size="small" clearable></el-input> + </el-col> + </el-row> + <el-row style="line-height: 46px;"> + <el-col :span="4" style="font-size: 14px;text-align: right;">澶囨敞:</el-col> + <el-col :span="16" :offset="1"> + <el-input v-model="upData.note" size="small" clearable></el-input> + </el-col> + </el-row> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button> + <el-button @click="upDia = false">鍙� 娑�</el-button> + </span> + </el-dialog> + <!-- 鏂板寮圭獥 --> + <el-dialog title="宸ュ簭鏂板" :visible.sync="dialogVisible" width="35%"> + <div> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="绫诲瀷"> + <template> + <el-select v-model="form.type" placeholder="璇烽�夋嫨" 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-form-item label="宸ュ簭"> + <template> + <el-select v-model="form.work" + @change="workevent" + placeholder="璇烽�夋嫨" style="width: 480px;"> + <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-form-item label="宸ヨ壓鍚嶇О"> + <template> + <el-select v-model="form.craft" placeholder="璇烽�夋嫨" style="width: 480px;"> + <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-form-item label="璁板綍"> + <el-input v-model="form.record"></el-input> + </el-form-item> + <el-form-item label="澶囨敞"> + <el-input v-model="form.remarks"></el-input> + </el-form-item> + <el-form-item label="鍗曚綅"> + <el-input v-model="form.unit"></el-input> + </el-form-item> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="add">纭� 瀹�</el-button> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + </span> + </el-dialog> - <!-- 淇敼寮圭獥 --> - <el-dialog title="宸ュ簭缂栬緫" :visible.sync="modifyVisible" width="35%"> - <div> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select - v-model="value" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 480px;" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="宸ュ簭"> - <template> - <el-select - v-model="value" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 480px;" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="宸ヨ壓鍚嶇О"> - <template> - <el-select - v-model="value" - placeholder="璇烽�夋嫨绫诲瀷" - style="width: 480px;" - > - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="璁板綍"> - <el-input v-model="form.record"></el-input> - </el-form-item> - <el-form-item label="澶囨敞"> - <el-input v-model="form.remarks"></el-input> - </el-form-item> - <el-form-item label="鍗曚綅"> - <el-input v-model="form.unit"></el-input> - </el-form-item> - </el-form> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="modifyVisible = false" - >纭� 瀹�</el-button - > - <el-button @click="modifyVisible = false">鍙� 娑�</el-button> - </span> - </el-dialog> - </div> + <!-- 淇敼寮圭獥 --> + <el-dialog title="宸ュ簭缂栬緫" :visible.sync="modifyVisible" width="35%"> + <div> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="绫诲瀷"> + <template> + <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="宸ュ簭"> + <template> + <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="宸ヨ壓鍚嶇О"> + <template> + <el-select v-model="value" placeholder="璇烽�夋嫨" style="width: 480px;"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value"> + </el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="璁板綍"> + <el-input v-model="form.record"></el-input> + </el-form-item> + <el-form-item label="澶囨敞"> + <el-input v-model="form.remarks"></el-input> + </el-form-item> + <el-form-item label="鍗曚綅"> + <el-input v-model="form.unit"></el-input> + </el-form-item> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="modifyVisible = false">纭� 瀹�</el-button> + <el-button @click="modifyVisible = false">鍙� 娑�</el-button> + </span> + </el-dialog> + </div> </template> <script> -export default { - data() { - return { - search: { - type: 0, - name: 2, - technology: 2 - }, - options: [], - value: {}, - craftapi: [], - form: { - type: "", - work: "", - craft: "", - name: "", - record: "", - remarks: "", - unit: "" - }, - modifyVisible: false, - dialogVisible: false, - process: {}, - list: [], - checkTreeNode: {}, - tableData: [], - upIndex: 0, - selects: [], - delete: [], - typeselect: 0, - upDia: false, - checkTreeNode: { - id: 2 - }, - upData: {}, - edit: { - name: "", - note: "", - techFather: "", - techName: "", - type: "", - unit: "" - }, - upData: { - id: 0, - name: null, - unit: null, - thing: null - } - }; - }, - mounted() { - this.selectAllleft(); - this.selectjilu(); - }, - methods: { - delQueById() { - this.$axios.get(this.$api.url.delQueById); - }, - childrenClick() {}, - //鏂板 - 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" - } - } - ); - }, - addRecord() { - this.$axios.post( - this.$api.url.addRecord, - { - name: this.form.record, - note: this.form.remarks, - techTemId: this.form.craft, - unit: this.form.unit - }, - { - headers: { - "Content-Type": "application/json" - } - } - ); - }, - add() { - this.dialogVisible = false; - this.addRecord(); - this.selectjilu(); - this.form = {}; - }, - //缂栬緫 this.upData - selecRecord() { - this.$axios - .get(this.$api.url.selecRecord, { - params: { - id: this.upData.id - } - }) - .then(res => { - this.edit = res.data[0]; - // console.log(this.edit); - }); - }, - TYpe(val) { - this.typeselect = val; - console.log(this.typeselect); - this.selectAllleft(); - }, - //涓讳綋宸� - selectAllleft() { - this.$axios - .get(this.$api.url.selectAllleft, { - params: { type: this.typeselect } - }) - .then(res => { - this.list = res.data; - console.log(this.list); - this.selectDataList(); - }); - }, - //selectjilu checkTreeNode - selectjilu() { - this.$axios - .get(this.$api.url.selectjilu, { - params: { id: this.checkTreeNode.id } - }) - .then(res => { - this.tableData = res.data; - console.log(this.tableData); - }); - }, - modify() { - this.modifyVisible = true; - }, - addend() { - this.dialogVisible = true; - this.chooseTechFath(); - }, - filterNode(value, data) { - if (!value) return true; - return data.name.indexOf(value) !== -1; - }, - remove(node, data) { - this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", { - type: "warning" - }) - .then(res => { - const parent = node.parent; - const children = parent.data.children || parent.data; - const index = children.findIndex(d => d.id === data.id); - children.splice(index, 1); - }) - .catch(e => {}); - }, - 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++; - }, - handleNodeClick(data) { - this.checkTreeNode = data; - this.selectjilu(); - if (data.code == "[3]") { - console.log(data); - } - }, - nodeOpen(data, node, el) { - $($(el.$el).find(".node_i")[0]).attr( - "class", - "node_i el-icon-folder-opened" - ); - }, - nodeClose(data, node, el) { - $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder"); - }, - handleSelectionChange(val) { - this.selects = val; - }, - dels() { - this.selects.forEach(a => { - for (var b = 0; b < this.tableData.length; b++) { - if (this.tableData[b].id == a.id) { - this.tableData.splice(b, 1); - b--; - } - } - }); - let cc = this.selects.map(el => { - return el.id; - }); - this.delete = cc.join(","); - console.log(this.delete); - this.delAllRecord(); - this.$message.success("鍒犻櫎瀹屾垚"); - }, - //鎵归噺鍒犻櫎 - delAllRecord() { - this.$axios.post(this.$api.url.delAllRecord, { - ids: this.delete - }); - }, + export default { + data() { + return { + search: { + type: 0, + technology: null + }, + options:[], + value:{}, + craftapi:[], + form:{ + type:'', + work:'', + craft:'', + name:'', + record:'', + remarks:'', + unit:'', + }, + modifyVisible:false, + dialogVisible:false, + process: {}, + list: [], + checkTreeNode: {}, + tableData: [], + upIndex: 0, + selects: [], + delete:[], + typeselect:0, + upDia: false, + checkTreeNode:{ + id:1, + }, + upData:{}, + edit:{ + name:'', + note:'', + techFather:'', + techName:'', + type:'', + unit:'', + }, + upData: { + id: 0, + name: null, + unit: null, + thing: null + } + } + }, + mounted() { + this.selectAllleft() + this.selectjilu() + }, + methods: { + delQueById() { + this.$axios.get(this.$api.url.delQueById,) + }, + childrenClick() {}, + //鏂板 + 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" + } + }) + }, + addRecord() { + this.$axios.post(this.$api.url.addRecord,{ + name:this.form.record, + note:this.form.remarks, + techTemId:this.form.craft, + unit:this.form.unit, + } + , { + headers: { + "Content-Type": "application/json" + } + } + ) + }, + add() { + this.dialogVisible = false + this.addRecord() + this.selectjilu() + this.form = {}; + }, + //缂栬緫 this.upData + selecRecord() { + this.$axios.get(this.$api.url.selecRecord,{ + params:{ + id:this.upData.id + } + }).then(res => { + this.edit = res.data[0] + // console.log(this.edit); + }) + }, + TYpe(val) { + this.typeselect = val + console.log(this.typeselect); + this.selectAllleft() + }, + //涓讳綋宸� + selectAllleft() { + this.$axios.get(this.$api.url.selectAllleft,{ + params:{type:this.typeselect} + }).then(res => { + this.list = res.data; + console.log(this.list); + this.selectDataList() + }) + }, + //selectjilu checkTreeNode + selectjilu() { + this.$axios.get(this.$api.url.selectjilu,{ + params:{id:this.checkTreeNode.id} + }).then(res => { + this.tableData = res.data; + console.log(this.tableData); + }) + }, + modify(){ + this.modifyVisible = true + }, + addend(){ + this.dialogVisible = true + this.chooseTechFath() + }, + filterNode(value, data) { + if (!value) return true; + return data.name.indexOf(value) !== -1; + }, + remove(node, data) { + this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", { + type: "warning" + }).then(res => { + const parent = node.parent; + const children = parent.data.children || parent.data; + const index = children.findIndex(d => d.id === data.id); + children.splice(index, 1); + }).catch(e => {}) + }, + 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++ + }, + handleNodeClick(data) { + this.checkTreeNode = data + this.selectjilu() + if(data.code=='[3]'){ + console.log(data); + } + }, + nodeOpen(data, node, el) { + $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') + }, + nodeClose(data, node, el) { + $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') + }, + handleSelectionChange(val) { + this.selects = val; + }, + dels() { + this.selects.forEach(a => { + for (var b = 0; b < this.tableData.length; b++) { + if (this.tableData[b].id == a.id) { + this.tableData.splice(b, 1) + b-- + } + } + }) + let cc = this.selects.map(el => { + return el.id + }) + this.delete = cc.join(',') + console.log(this.delete); + this.delAllRecord() + this.$message.success('鍒犻櫎瀹屾垚') + }, + //鎵归噺鍒犻櫎 + delAllRecord() { + this.$axios.post(this.$api.url.delAllRecord,{ + ids:this.delete + }) + }, - //鍒犻櫎 - delQueById() { - this.$axios.post(this.$api.url.delQueById, { - id: this.upData.id - }); - }, - deleteRow(index, rows) { - this.tableData.splice(index, 1); - this.upData.id = rows.id; - this.delQueById(); - }, + //鍒犻櫎 + delQueById() { + this.$axios.post(this.$api.url.delQueById,{ + id:this.upData.id + }) + }, + deleteRow(index, rows) { + this.tableData.splice(index,1) + this.upData.id = rows.id + this.delQueById() + this.selectjilu() + }, - upContent(ob) { - this.upData = ob; - console.log(this.upData); - this.selecRecord(); - this.chooseTechFath(); - this.upDia = true; - }, - submitUpData() { - this.tableData.forEach(a => { - if (a.id == this.upData.id) { - a.name = this.upData.name; - a.unit = this.upData.unit; - a.thing = this.upData.thing; - } - }); - this.$message.success("淇敼鎴愬姛"); - this.upDia = false; - } - } -}; + upContent(ob) { + this.upData = ob + console.log(this.upData); + this.selecRecord() + this.chooseTechFath() + this.upDia = true + }, + submitUpData() { + this.tableData.forEach(a => { + if (a.id == this.upData.id) { + a.name = this.upData.name + a.unit = this.upData.unit + a.thing = this.upData.thing + } + }) + this.$message.success('淇敼鎴愬姛') + this.upDia = false + } + } + } </script> diff --git a/src/components/view/self-inspection.vue b/src/components/view/self-inspection.vue index e52bfac..9b35529 100644 --- a/src/components/view/self-inspection.vue +++ b/src/components/view/self-inspection.vue @@ -147,9 +147,9 @@ <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> - <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> @@ -216,7 +216,7 @@ <el-form ref="form" :model="form" label-width="80px"> <el-form-item label="绫诲瀷"> <template> - <el-select v-model="form.value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;"> + <el-select v-model="form.value" placeholder="璇烽�夋嫨" style="width: 480px;"> <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option> <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option> <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option> @@ -228,7 +228,7 @@ <template> <el-select v-model="form.procedure" @change="workevent" - placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;"> + placeholder="璇烽�夋嫨" style="width: 480px;"> <el-option v-for="item in process" :key="item.name" @@ -242,7 +242,7 @@ <el-col :span="10"> <el-form-item label="宸ヨ壓鍚嶇О"> <template> - <el-select v-model="form.name" placeholder="璇烽�夋嫨绫诲瀷" style="width: 180px;"> + <el-select v-model="form.name" placeholder="璇烽�夋嫨" style="width: 180px;"> <el-option v-for="item in craftapi" :key="item.id" @@ -382,7 +382,7 @@ product: [], list: [], checkTreeNode: { - id:2, + id:1, }, tableData: [], upIndex: 0, @@ -406,6 +406,22 @@ this.selectAllSelf() }, 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++ + }, //鍒犻櫎 delSelfcheck() { console.log(this.upData.id); @@ -480,6 +496,7 @@ }).then(res => { this.list = res.data; console.log(this.list); + this.selectDataList() }) }, //selectAllSelf checkTreeNode diff --git a/src/components/view/standard-table/material.vue b/src/components/view/standard-table/material.vue new file mode 100644 index 0000000..d4d1d4d --- /dev/null +++ b/src/components/view/standard-table/material.vue @@ -0,0 +1,113 @@ +<template> + <div class="standard"> + <div> + <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border + @selection-change="handleSelectionChange" default-expand-all + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column type="selection" width="55"> + </el-table-column> + <el-table-column type="index" width="50" label="搴忓彿"> + </el-table-column> + <el-table-column prop="father" label="宸ュ簭" sortable width="200px"> + <template slot-scope="scope"> + <el-tag v-if="scope.row.children" :type="scope.row.children ? 'primary' : 'success'"> + <div class="firstDiv" :style="{ color: scope.row.children ? '#16a7ff' : '#58c173' }"> + 01 + </div> + </el-tag> + <span style="color: black"> + {{ scope.row.father }} + </span> + </template> + </el-table-column> + <el-table-column prop="tanme" sortable label="宸ヨ壓鍚嶇О"> + <!-- <template slot-scope="scope"> + <el-tag v-if="!scope.row.children"> + <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> + 02 + </div> + </el-tag> + <span style="color: black"> + {{ scope.row.tname }} + </span> + </template> --> + </el-table-column> + <el-table-column prop="mname" label="鏉愭枡鍚嶇О"> + </el-table-column> + <el-table-column prop="specifications" label="瑙勬牸"> + </el-table-column> + <el-table-column prop="unit" label="鍗曚綅"> + </el-table-column> + <el-table-column prop="num" label="鏁伴噺"> + </el-table-column> + </el-table> + </div> + </div> + </template> + + <script> + export default { + data() { + return { + selects: [] + } + }, + props:['tableData','tableType'], + created() { + console.log(this.tableData,this.tableType) + }, + mounted() { + + }, + methods: { + handleSelectionChange(val) { + this.selects = val; + } + } + } + </script> + + <style scoped> + .standard { + width: 100%; + height: 100%; + } + </style> + <style> + .standard * { + font-size: 14px; + } + + .standard .has-gutter .el-table__cell { + background-color: #F0F1F5 !important; + color: #333; + } + + .standard .has-gutter .el-table__cell .cell { + font-size: 16px; + font-weight: 500; + } + + .standard .cell { + color: #333; + padding-left: 17px !important; + } + + .standard { + width: 100%; + height: 100%; + overflow: auto; + } + + .standard .el-table__body-wrapper { + height: 100%; + } + + .standard .el-table__body { + height: 100%; + } + .standard .el-table .el-table__row:not([class*="el-table__row--level-"]) td:nth-child(3){ + padding-left: 23px !important; + } + </style> + \ No newline at end of file diff --git a/src/components/view/standard-table/technology.vue b/src/components/view/standard-table/technology.vue index 8cdabda..835a583 100644 --- a/src/components/view/standard-table/technology.vue +++ b/src/components/view/standard-table/technology.vue @@ -1,3 +1,71 @@ +<template> + <div class="standard"> + <div> + <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border + @selection-change="handleSelectionChange" default-expand-all + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> + <el-table-column type="selection" width="55"> + </el-table-column> + <el-table-column type="index" width="50" label="搴忓彿"> + </el-table-column> + <el-table-column prop="father" label="宸ュ簭" sortable width="200px"> + <template slot-scope="scope"> + <el-tag v-if="scope.row.children" :type="scope.row.children ? 'primary' : 'success'"> + <div class="firstDiv" :style="{ color: scope.row.children ? '#16a7ff' : '#58c173' }"> + 01 + </div> + </el-tag> + <span style="color: black"> + {{ scope.row.father }} + </span> + </template> + </el-table-column> + <el-table-column prop="name" sortable label="宸ヨ壓鍚嶇О"> + <template slot-scope="scope"> + <el-tag v-if="!scope.row.children"> + <div class="firstDiv" :style="`color: ${scope.row.children? '#16a7ff' : '#58c173'}`"> + 02 + </div> + </el-tag> + <span style="color: black"> + {{ scope.row.name }} + </span> + </template> + </el-table-column> + <el-table-column prop="dg" label="璁惧缁�"> + </el-table-column> + <el-table-column prop="pq" label="鐢熶骇瀹氶"> + </el-table-column> + <el-table-column prop="" label="鎿嶄綔"> + <el-butten style="color: rgb(137, 137, 229);">缂栬緫</el-butten> + </el-table-column> + </el-table> + </div> + </div> +</template> + +<script> + export default { + data() { + return { + selects: [] + } + }, + props:['tableData','tableType'], + created() { + console.log(this.tableData,this.tableType) + }, + mounted() { + + }, + methods: { + handleSelectionChange(val) { + this.selects = val; + } + } + } +</script> + <style scoped> .standard { width: 100%; @@ -41,67 +109,3 @@ padding-left: 23px !important; } </style> - -<template> - <div class="standard"> - <el-table :data="tableData" border style="width: 100%" row-key="id" - :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> - <el-table-column type="selection" width="50"> - </el-table-column> - <template v-if="tableType==1"> - <el-table-column type="index" label="搴忓彿" width="70"> - <template slot-scope="scope"> - {{ scope.row.index }} - </template> - </el-table-column> - <el-table-column prop="name" label="椤圭洰"> - <template slot-scope="scope"> - <el-tag size="mini" :type="scope.row.index? '':'success'" :style="{borderRadius: '40%',marginRight: '12px'}">{{ scope.row.index? '01':'02'}}</el-tag> - {{scope.row.name}} - </template> - </el-table-column> - <el-table-column prop="unit" label="鍗曚綅"> - </el-table-column> - <el-table-column prop="required" label="鏍囧噯鍊�"> - </el-table-column> - <el-table-column prop="internal" label="鍐呮帶鍊�"> - </el-table-column> - </template> - <template v-else> - <el-table-column prop="name" label="宸ヨ壓鍚嶇О"> - </el-table-column> - <el-table-column prop="device_group" label="璁惧缁�"> - </el-table-column> - <el-table-column label="鍖归厤璁惧"> - <template> - <el-button type="text">閫夋嫨</el-button> - </template> - </el-table-column> - <el-table-column prop="quota" label="宸ユ椂瀹氶"> - </el-table-column> - </template> - </el-table> - </div> -</template> - -<script> - export default { - data() { - return { - selects: [] - } - }, - props:['tableData','tableType'], - created() { - console.log(this.tableData,this.tableType) - }, - mounted() { - - }, - methods: { - handleSelectionChange(val) { - this.selects = val; - } - } - } -</script> diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue index 731daef..0d1f689 100644 --- a/src/components/view/standard.vue +++ b/src/components/view/standard.vue @@ -42,7 +42,7 @@ <span>{{ tableType == 1 ? '椤圭洰锛�' : '宸ヨ壓鍚嶇О锛�' }}</span> <el-input v-model="searchName" size="small" placeholder="璇疯緭鍏�" style="width: 224px;margin-right: 24px;" clearable></el-input> - <span>{{ tableType == 1 ? '鐗堟湰锛�' : '宸ヨ壓鍚嶇О锛�' }}</span> + <span>{{ tableType == 1 ? '鐗堟湰锛�' : '鐗堟湰锛�' }}</span> <el-select v-model="VER" @change="verevent" style="width: 280px;" placeholder="璇烽�夋嫨"> <el-option v-for="item in version" :key="item" :label="item" :value="item"> </el-option> @@ -52,40 +52,24 @@ 璇�</span></el-button> </div> - <div> - <el-table :data="tableData" style="width: 100%;margin-bottom: 20px;" row-key="name" border - @selection-change="handleSelectionChange" default-expand-all - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> - <el-table-column type="selection" width="55"> - </el-table-column> - <el-table-column type="index" width="50" label="搴忓彿"> - </el-table-column> - <el-table-column prop="name" 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> - - </template> --> - </el-table-column> - <el-table-column prop="" sortable label="宸ヨ壓鍚嶇О"> - </el-table-column> - <el-table-column prop="" label="鎸囨爣鍚嶇О"> - </el-table-column> - <el-table-column prop="" label="鍗曚綅"> - </el-table-column> - <el-table-column prop="" label="鍐呮帶鍊�"> - </el-table-column> - <el-table-column prop="unit" label="鏍囧噯鍊�"> - </el-table-column> - </el-table> + <div v-if="this.typeselect == 0"> + <technology :tableType="tableType" :tableData="tableData"></technology> </div> - <div class="table"> + <div v-if="this.typeselect == 1"> + 鎶�鏈寚鏍� + </div> + <div v-if="this.typeselect == 2"> + <material :tableType="tableType" :tableData="tableData"></material> + </div> + <div v-if="this.typeselect == 3"> + 鐢熶骇宸ヨ壓 + </div> + <!-- <div class="table"> <technology v-if="tableData.length !== 0" :tableType="tableType" :tableData="tableData"></technology> - </div> + </div> --> + <!-- <div class="table"> + <technology v-if="tableData.length !== 0" :tableType="tableType" :tableData="tableData"></technology> + </div> --> </div> </div> @@ -93,7 +77,7 @@ <div class="bom-add-model"> <el-dialog title="BOM鏂板" :visible.sync="bomAddModelVisible" width="30%"> <el-form> - + </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="bomAddModelVisible = false">鍙� 娑�</el-button> @@ -106,8 +90,10 @@ <script> import technology from "./standard-table/technology.vue" +import material from "./standard-table/material.vue" export default { - components: { technology }, + components: { technology,material }, + data() { return { // BOM鏍戞暟鎹粨鏋� @@ -119,12 +105,14 @@ tableData: [], bomAddModelVisible: false,// 鎺у埗bom鏂板妯℃�佹鏄惁鏄剧ず list: [], - typeselect: {}, - returntree: {}, + typeselect: 0, + returntree: { + id:28, + }, version: {}, VER: {}, verdata: {}, - character: '', + character: 0, } }, // watch: { @@ -137,6 +125,8 @@ // }, mounted() { this.selectMaterialTree() + this.selectAll() + this.selectVersion() }, methods: { handleSelectionChange() { @@ -145,14 +135,15 @@ TYPE(val) {//绫诲瀷.鏁版嵁 console.log(val); this.typeselect = val - console.log(this.typeselect); + + // console.log(this.typeselect); this.selectVersion() }, handleNodeClick(val) {//鏍戠殑鍊� console.log(val); this.returntree = val }, - selectVersion() { + selectVersion() {//鐗堟湰 this.$axios.get(this.$api.url.selectVersion, { params: { specificationsId: this.returntree.id, @@ -166,6 +157,20 @@ console.log(this.verdata); }) }, + //鍙充晶鏁版嵁 + selectAll() { + console.log(this.$axios.get(this.$api.url.selectAll)); + this.$axios.get(this.$api.url.selectAll, { + params: { + specificationsId: this.returntree.id,//tree鐨勭偣鍑诲弽棣� + type: this.typeselect,//绫诲瀷 + version: this.character,//鐗堟湰 + } + }).then(res => { + console.log(res.data); + this.tableData = res.data + }) + }, verevent(val) { console.log(val); let cc = val.replace('v', '') @@ -175,19 +180,6 @@ // const { v, ...newObj } = val; // delete newObj.v // console.log(newObj); - }, - //鍙充晶鏁版嵁 - selectAll() { - console.log(this.$axios.get(this.$api.url.selectAll)); - this.$axios.get(this.$api.url.selectAll, { - params: { - specificationsId: this.returntree.id, - type: this.typeselect, - version: this.character, - } - }).then(res => { - this.tableData = res.data - }) }, //浜旂骇鏍� selectMaterialTree() { diff --git a/src/components/view/technical.vue b/src/components/view/technical.vue index 8ec3eb3..5b5a65b 100644 --- a/src/components/view/technical.vue +++ b/src/components/view/technical.vue @@ -74,20 +74,22 @@ label="浜よ揣鏃ユ湡"> </el-table-column> <el-table-column - prop="type" label="鐘舵��" width="85" > <template slot-scope="scope"> - {{scope.state==0?'寰呯紪鍒�':'宸茬紪鍒�'}} + <span :style="{'color': scope.row.type==0 ? 'red':'green'}"> + {{scope.row.type==0?'寰呯紪鍒�':'宸茬紪鍒�'}} + </span> </template> </el-table-column> <el-table-column label="鎿嶄綔" width="194"> <template slot-scope="scope"> - <el-button type="text" size="small" @click="showDetails(scope.row)">鏌ョ湅璇︽儏</el-button> - <el-button type="text" size="small">缂栬緫闄勪欢</el-button> + <!-- <el-button type="text" size="small" @click="showDetails(scope.row)">鏌ョ湅璇︽儏</el-button> + <el-button type="text" size="small">缂栬緫闄勪欢</el-button> --> + <el-button type="text" size="small" @click="authorizedstrength(scope.row)">缂栧埗</el-button> </template> </el-table-column> </el-table> @@ -222,6 +224,7 @@ id:'', date:'' }, + compiledata:{}, technicalTable: [], showDetail: false, selectedRow: {}, @@ -236,6 +239,22 @@ this.getTechnicalTableData() }, methods: { + authorizedstrength(row) { + this.compiledata = row + this.compile() + // let ccc = row + // console.log(row); + }, + //缂栧埗 + compile() { + console.log(); + this.$axios.post(this.$api.url.compile,{ + id:this.compiledata.id + }).then( res =>{ + this.$message.success('缂栧埗瀹屾垚') + }) + this.getTechnicalTableData() + }, async showDetails(row){ this.showDetail = true const res = await this.$axios.get(this.$api.url.selectOrderById,{params:{id:row.id}}) diff --git a/src/components/view/technology.vue b/src/components/view/technology.vue index e9ffa98..221ebe2 100644 --- a/src/components/view/technology.vue +++ b/src/components/view/technology.vue @@ -1,132 +1,149 @@ <style scoped> - .title .el-button { - height: 32px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 12px; - } +.title .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; +} - .title { - margin-bottom: 10px; - padding: 0 20px; - } +.title { + margin-bottom: 10px; + padding: 0 20px; +} - .title * { - font-size: 16px; - } +.title * { + font-size: 16px; +} - .choose { - padding: 21px 24px; - display: flex; - align-items: center; - background-color: #fff; - border-bottom: 3px solid rgb(245, 247, 251); - } +.choose { + padding: 21px 24px; + display: flex; + align-items: center; + background-color: #fff; + border-bottom: 3px solid rgb(245, 247, 251); +} - .choose * { - font-size: 14px; - } +.choose * { + font-size: 14px; +} - .choose .el-button { - height: 32px; - border: 1px solid rgba(190, 190, 190, 0.44); - box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); - padding: 0 12px; - } +.choose .el-button { + height: 32px; + border: 1px solid rgba(190, 190, 190, 0.44); + box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41); + padding: 0 12px; +} - .thing { - width: 100%; - height: calc(100% - 120px); - background-color: #fff; - display: flex; - } +.thing { + width: 100%; + height: calc(100% - 120px); + background-color: #fff; + display: flex; +} - .thing .left { - width: 295px; - height: calc(100% - 20px); - border-right: 3px solid rgb(245, 247, 251); - padding: 16px; - } +.thing .left { + width: 295px; + height: calc(100% - 20px); + border-right: 3px solid rgb(245, 247, 251); + padding: 16px; +} - .thing .left .custom-tree-node span { - font-size: 14px; - } +.thing .left .custom-tree-node span { + font-size: 14px; +} - .thing .left .custom-tree-node { - flex: 1; - display: flex; - align-items: center; - justify-content: space-between; - font-size: 14px; - padding-right: 8px; - } +.thing .left .custom-tree-node { + flex: 1; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 14px; + padding-right: 8px; +} - .node_i { - color: orange; - } +.node_i { + color: orange; +} - .el-icon-delete { - display: none; - color: #004EA2; - } +.el-icon-delete { + display: none; + color: #004ea2; +} - .custom-tree-node:hover .el-icon-delete { - display: inline; - } +.custom-tree-node:hover .el-icon-delete { + display: inline; +} - .thing .right { - width: calc(100% - 305px); - height: calc(100% - 25px); - overflow: hidden; - padding: 10px; - } +.thing .right { + width: calc(100% - 305px); + height: calc(100% - 25px); + overflow: hidden; + padding: 10px; +} - .table_do { - color: #004ea0; - cursor: pointer; - } +.table_do { + color: #004ea0; + cursor: pointer; +} </style> <style> - .record_content .title .el-button * { - font-size: 14px; - } +.record_content .title .el-button * { + font-size: 14px; +} - .record_content .title .el-button--default { - color: #004EA2; - } +.record_content .title .el-button--default { + color: #004ea2; +} - .record_content .thing .left .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content { - background: rgba(58, 124, 253, 0.2); - color: #004EA2; - } +.record_content + .thing + .left + .el-tree--highlight-current + .el-tree-node.is-current + > .el-tree-node__content { + background: rgba(58, 124, 253, 0.2); + color: #004ea2; +} - .record_content .el-tree-node__content { - height: 30px; - border-radius: 2px; - } +.record_content .el-tree-node__content { + height: 30px; + border-radius: 2px; +} </style> <template> - <div class="record_content"> - <div class="title"> - <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="addend">鏂板</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> - </div> - <div class="choose"> - <span>绫诲瀷锛�</span> - <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" @change="type" 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> + <div class="record_content"> + <div class="title"> + <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="addend" + >鏂板</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> + </div> + <div class="choose"> + <span>绫诲瀷锛�</span> + <el-select + v-model="search.type" + size="small" + placeholder="璇烽�夋嫨" + @change="type" + 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> <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> @@ -134,556 +151,677 @@ <el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;"> <el-option v-for="(a, ai) in product" key="ai" :label="a.name" :value="a.id"></el-option> </el-select> --> - <!-- <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button> + <!-- <el-button size="mini" @click="clean()"><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 @input="query"> - <!-- clearable @input="(val)=>$refs.tree.filter(val)"> --> - </el-input> - <el-tree - :data="towTree" ref="tree" - :props="{children: 'children',label: 'father'}" - 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 != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i> - {{data.name}}{{data.father}}</span> - <el-button type="text" size="mini" @click.stop="remove(node, data)"> + </div> + <div class="thing"> + <div class="left"> + <el-input + v-model="search.technology" + suffix-icon="el-icon-search" + placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" + size="small" + clearable + @input="query" + > + <!-- clearable @input="(val)=>$refs.tree.filter(val)"> --> + </el-input> + <el-tree + :data="towTree" + ref="tree" + :props="{ children: 'children', label: 'father' }" + node-key="id" + default-expand-all + @node-click="handleNodeClick" + :key="upIndex" + > + <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.name }}{{ data.father }}</span + > + <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)"> <i class="el-icon-delete"></i> - </el-button> - </div> - </el-tree> - </div> - <div class="right"> - <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> - <el-table-column type="index" label="搴忓彿" width="70"> - </el-table-column> - <el-table-column prop="name" label="宸ヨ壓鍚嶇О"> - </el-table-column> - <el-table-column prop="device_group" label="璁惧缁�"> - </el-table-column> - <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, scope.row)">鍒犻櫎</span> - </template> - </el-table-column> - </el-table> - </div> - </div> - <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px"> - <div class="body"> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">绫诲瀷:</el-col> - <el-col :span="16" :offset="1"> - <template> - <el-select v-model="edit.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 310px;"> - <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-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">宸ュ簭:</el-col> - <el-col :span="16" :offset="1"> - <el-select v-model="edit.father" style="width: 310px;" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in procedure" - :key="item" - :label="item" - :value="item"> - </el-option> - </el-select> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">鍏冧欢:</el-col> - <el-col :span="16" :offset="1"> - <el-select v-model="AAA.id" style="width: 310px;" multiple placeholder="璇烽�夋嫨"> - <el-option - v-for="item in element" - :key="item.id" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">宸ヨ壓鍚嶇О:</el-col> - <el-col :span="16" :offset="1"> - <el-input v-model="edit.name" size="small" clearable></el-input> - </el-col> - </el-row> - <el-row style="line-height: 46px;"> - <el-col :span="4" style="font-size: 14px;text-align: right;">璁惧缁�:</el-col> - <el-col :span="16" :offset="1"> - <el-input v-model="upData.device_group" size="small" clearable></el-input> - </el-col> - </el-row> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button> - <el-button @click="upDia = false">鍙� 娑�</el-button> - </span> - </el-dialog> + </el-button> --> + </div> + </el-tree> + </div> + <div class="right"> + <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> + <el-table-column type="index" label="搴忓彿" width="70"> + </el-table-column> + <el-table-column prop="name" label="宸ヨ壓鍚嶇О"> </el-table-column> + <el-table-column prop="device_group" label="璁惧缁�"> + </el-table-column> + <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, scope.row)" + >鍒犻櫎</span + > + </template> + </el-table-column> + </el-table> + </div> + </div> + <el-dialog title="缂栬緫璁板綍鍐呭" :visible.sync="upDia" width="500px"> + <div class="body"> + <el-row style="line-height: 46px"> + <el-col :span="4" style="font-size: 14px; text-align: right" + >绫诲瀷:</el-col + > + <el-col :span="16" :offset="1"> + <template> + <el-select + v-model="edit.type" + placeholder="璇烽�夋嫨" + style="width: 310px" + > + <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-col> + </el-row> + <el-row style="line-height: 46px"> + <el-col :span="4" style="font-size: 14px; text-align: right" + >宸ュ簭:</el-col + > + <el-col :span="16" :offset="1"> + <el-select + v-model="edit.father" + style="width: 310px" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in procedure" + :key="item" + :label="item" + :value="item" + > + </el-option> + </el-select> + </el-col> + </el-row> + <el-row style="line-height: 46px"> + <el-col :span="4" style="font-size: 14px; text-align: right" + >鍏冧欢:</el-col + > + <el-col :span="16" :offset="1"> + <el-select + v-model="AAA.id" + style="width: 310px" + multiple + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in element" + :key="item.id" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </el-col> + </el-row> + <el-row style="line-height: 46px"> + <el-col :span="4" style="font-size: 14px; text-align: right" + >宸ヨ壓鍚嶇О:</el-col + > + <el-col :span="16" :offset="1"> + <el-input v-model="edit.name" size="small" clearable></el-input> + </el-col> + </el-row> + <el-row style="line-height: 46px"> + <el-col :span="4" style="font-size: 14px; text-align: right" + >璁惧缁�:</el-col + > + <el-col :span="16" :offset="1"> + <el-input + v-model="upData.device_group" + size="small" + clearable + ></el-input> + </el-col> + </el-row> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitUpData">纭� 瀹�</el-button> + <el-button @click="upDia = false">鍙� 娑�</el-button> + </span> + </el-dialog> - <!-- 宸ヨ壓璺嚎鏂板 --> - <el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="dialogVisible" width="35%"> - <div> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" 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-form-item label="宸ュ簭"> - <template> - <el-select v-model="form.father" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;" > - <el-option - v-for="item in procedure" - :key="item" - :label="item" - :value="item"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-form-item label="璁惧缁�"> - <template> - <el-select v-model="form.deviceGroup" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;" > - <el-option - v-for="item in equipment" - :key="item.index" - :label="item.father" - :value="item.father"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-row> - <el-col :span="10"> - <el-form-item label="鍏冧欢"> - <template> - <el-select v-model="form.elementId" placeholder="璇烽�夋嫨绫诲瀷" style="width: 200px;" > - <el-option - v-for="item in element" - :key="item.value" - :label="item.name" - :value="item.id"> - </el-option> - </el-select> - </template> - </el-form-item> - </el-col> - <el-col :span="10" :offset="2"> - - <el-form-item label="宸ヨ壓鍚嶇О"> - <el-input v-model="form.name" style="width: 200px;"></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="Neworder">纭� 瀹�</el-button> - <el-button @click="Deleteapi">鍙� 娑�</el-button> - </span> - </el-dialog> - <!-- 宸ヨ壓璺嚎淇敼 --> - <el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="modifyevent" width="35%"> - <div> - <el-form ref="form" :model="form" label-width="80px"> - <el-form-item label="绫诲瀷"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;"> - <!-- <el-option + <!-- 宸ヨ壓璺嚎鏂板 --> + <el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="dialogVisible" width="35%"> + <div> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="绫诲瀷"> + <template> + <el-select + v-model="form.type" + placeholder="璇烽�夋嫨" + 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-form-item label="宸ュ簭"> + <template> + <el-select + v-model="form.father" + placeholder="璇烽�夋嫨" + style="width: 480px" + > + <el-option + v-for="item in procedure" + :key="item" + :label="item" + :value="item" + > + </el-option> + </el-select> + </template> + </el-form-item> + <el-form-item label="璁惧缁�"> + <template> + <el-select + v-model="form.deviceGroup" + placeholder="璇烽�夋嫨" + style="width: 480px" + > + <el-option + v-for="item in equipment" + :key="item.index" + :label="item.father" + :value="item.father" + > + </el-option> + </el-select> + </template> + </el-form-item> + <el-row> + <el-col :span="10"> + <el-form-item label="鍏冧欢"> + <template> + <el-select + v-model="form.elementId" + placeholder="璇烽�夋嫨" + style="width: 200px" + > + <el-option + v-for="item in element" + :key="item.value" + :label="item.name" + :value="item.id" + > + </el-option> + </el-select> + </template> + </el-form-item> + </el-col> + <el-col :span="10" :offset="2"> + <el-form-item label="宸ヨ壓鍚嶇О"> + <el-input v-model="form.name" style="width: 200px"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="Neworder">纭� 瀹�</el-button> + <el-button @click="Deleteapi">鍙� 娑�</el-button> + </span> + </el-dialog> + <!-- 宸ヨ壓璺嚎淇敼 --> + <el-dialog title="宸ヨ壓璺嚎鏂板" :visible.sync="modifyevent" width="35%"> + <div> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="绫诲瀷"> + <template> + <el-select + v-model="value" + placeholder="璇烽�夋嫨" + style="width: 480px" + > + <!-- <el-option v-for="item in options" :key="item.value" :label="item." :value="item.value"> </el-option> --> - <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-form-item label="宸ュ簭"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;"> - <el-option - v-for="item in procedure" - :key="item.value" - :label="item.j" - :value="item.value"> - </el-option> - </el-select> - </template> - </el-form-item> - <el-row> - <el-col :span="10"> - <el-form-item label="宸ヨ壓鍚嶇О"> - <template> - <el-select v-model="value" placeholder="璇烽�夋嫨绫诲瀷" style="width: 200px;"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value"> - </el-option> - </el-select> - </template> - </el-form-item> - </el-col> - <el-col :span="10" :offset="2"> - - <el-form-item label="鍏冧欢"> - <el-input v-model="form.name" style="width: 200px;"></el-input> - </el-form-item> - </el-col> - </el-row> - </el-form> - </div> - <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button> - <el-button @click="modifyevent = false">鍙� 娑�</el-button> - </span> - </el-dialog> - </div> + <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-form-item label="宸ュ簭"> + <template> + <el-select + v-model="value" + placeholder="璇烽�夋嫨" + style="width: 480px" + > + <el-option + v-for="item in procedure" + :key="item.value" + :label="item.j" + :value="item.value" + > + </el-option> + </el-select> + </template> + </el-form-item> + <el-row> + <el-col :span="10"> + <el-form-item label="宸ヨ壓鍚嶇О"> + <template> + <el-select + v-model="value" + placeholder="璇烽�夋嫨" + style="width: 200px" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </template> + </el-form-item> + </el-col> + <el-col :span="10" :offset="2"> + <el-form-item label="鍏冧欢"> + <el-input v-model="form.name" style="width: 200px"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button> + <el-button @click="modifyevent = false">鍙� 娑�</el-button> + </span> + </el-dialog> + </div> </template> <script> - export default { - data() { - return { - search: { - type: 0, - name: null, - technology: null - }, - options:{}, - form:{ - type:'', - father:'', - name:'', - elementId:'', - deviceGroup:'' - }, - search:{ - type:'', - }, - delete:[], - treetrunk:[], - process: [], - product: [], - procedure:[], - checkTreeNode:{ - name:'涓嬫枡' - }, - towTree:[], - value:"", - modifyevent:false, - dialogVisible:false, - tableData: [], - upIndex: 0, - selects: [], - upDia: false, - element:[], - equipment:[0], - AAA:[{ - id:'', - }], - edit:{ - deviceGroup:'', - elementId:'', - father:'', - name:'', - type:'', - // children:[], - }, - upData: { - name:'', - deviceGroup:'', - ele:'', - father:'', - type:'', - }, - typeselect:0, - newdata:{ - type:'' - } - } - }, - mounted() { - this.selectAllTechTem() - this.chooseTech() - this.chooseDevGroup() - this.chooseElement() - this.selectAllTechNam() - }, - methods: { - type(val){ - this.typeselect = val - this.upData.type = val - console.log(this.typeselect); - this.selectAllTechTem() - }, - - Neworder() { - this.dialogVisible = false - this.addTechTemp() - // this.form = ''; - - }, - Deleteapi() { - this.dialogVisible = false - this.form = ''; - }, - addTechTemp() { - // console.log(this.$api.url.addTechTemp); - this.$axios.post(this.$api.url.addTechTemp, - - { - deviceGroup:this.form.deviceGroup, - elementId:this.form.elementId, - father:this.form.father, - name:this.form.name, - type:this.form.type - }, - { - headers: { - "Content-Type": "application/json" - } - } - ).then(res=>{ - console.log(res); - this.selectAllTechNam() - this.form = {} - }) - }, +export default { + data() { + return { + search: { + type: 0, + technology: null, + }, + options: {}, + form: { + type: "", + father: "", + name: "", + elementId: "", + deviceGroup: "", + }, + search: { + type: "", + }, + delete: [], + treetrunk: [], + process: [], + product: [], + procedure: [], + checkTreeNode: { + name: "", + }, + towTree: [], + value: "", + modifyevent: false, + dialogVisible: false, + tableData: [], + upIndex: 0, + selects: [], + upDia: false, + element: [], + equipment: [0], + AAA: [ + { + id: "", + }, + ], + edit: { + deviceGroup: "", + elementId: "", + father: "", + name: "", + type: "", + // children:[], + }, + upData: { + name: "", + deviceGroup: "", + ele: "", + father: "", + type: "", + }, + typeselect: 0, + newdata: { + type: "", + }, + upIndex: 0, + treeList:[] + }; + }, + mounted() { + this.selectAllTechTem(); + this.chooseTech(); + this.chooseDevGroup(); + this.chooseElement(); + this.selectAllTechNam(); + console.log(this.treeList); + }, + methods: { + selectDataList() { + this.towTree.forEach((a) => { + a.code = "[1]"; + if (a.children != undefined) { + a.children.forEach((b) => { + b.code = "[2]"; + }); + } + }); + this.upIndex++; + }, + type(val) { + this.typeselect = val; + this.upData.type = val; + console.log(this.typeselect); + this.selectAllTechTem(); + }, - //鍏冧欢 - chooseElement() { - this.$axios.get(this.$api.url.chooseElement).then(res =>{ - this.element = res.data - console.log(this.element); - }) - }, - //璁惧 - chooseDevGroup() { - this.$axios.get(this.$api.url.chooseDevGroup).then(res =>{ - this.equipment = res.data; - // console.log(this.equipment); - }) - }, + Neworder() { + this.dialogVisible = false; + this.addTechTemp(); + // this.form = ''; + }, + Deleteapi() { + this.dialogVisible = false; + this.form = ""; + }, + addTechTemp() { + // console.log(this.$api.url.addTechTemp); + this.$axios + .post( + this.$api.url.addTechTemp, - //宸ュ簭 - chooseTech() { - this.$axios.get(this.$api.url.chooseTech).then(res =>{ - this.procedure = res.data; - console.log(this.procedure); - }) - }, - //鎵归噺鍒犻櫎 - delAllTech() { - console.log(this.delete); - this.$axios.post(this.$api.url.delAllTech,{ - ids:this.delete - }) - }, - //鍒犻櫎 - delTechById() { - console.log(this.$api.url.delTechById,this.upData.id); - this.$axios.post(this.$api.url.delTechById,{ - id:this.upData.id - }) - }, - //缂栬緫 - writeTechById() { - this.$axios.post(this.$api.url.writeTechById,{ - params:{ - id:this.upData.id, - technologyTemplateDto:{ - deviceGroup:this.upData.device_group, - elementId:this.edit.elementId, - father:this.edit.father, - name:this.edit.name, - type:this.edit.type - } - // id:this.upData.id, - } - }, { - headers: { - "Content-Type": "application/json" - } - }).then(res =>{ - console.log(res); - - }) - }, - - query(val){ - this.selectAllTechTem() - }, - selectAllTechTem() { - console.log(this.typeselect,'222'); - this.$axios.get(this.$api.url.selectAllTechTem,{ - params:{type: this.typeselect,message:this.search.technology} - }).then(res => { - // let list = res.data; - // list.forEach(i => { - // if (i.name === undefined) { - // i.name = i.children[0].name; - // i.id = i.children[0].id; - // i.children = undefined; - // } - // }); - this.towTree = res.data; - }); - }, - selectAllTechNam() { - this.$axios.get(this.$api.url.selectAllTechNam,{ - params:{father:this.checkTreeNode.name} - }).then(res => { - this.tableData = res.data; - }); - }, - addend(){ - this.dialogVisible = true - }, - modify(){ - this.modifyevent = true - }, - filterNode(value, data) { - if (!value) return true; - return data.name.indexOf(value) !== -1; - }, - remove(node, data) { - this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", { - type: "warning" - }).then(res => { - const parent = node.parent; - const children = parent.data.children || parent.data; - const index = children.findIndex(d => d.id === data.id); - children.splice(index, 1); - }).catch(e => {}) - }, - // selectDataList() { - // this.list.forEach(a => { - // a.code = '[1]' - // if (a.children != undefined) { - // a.children.forEach(b => { - // b.code = '[2]' - // }) - // } - // }) - // this.upIndex++ - // }, - handleNodeClick(data, node) { - this.checkTreeNode = data - this.treetrunk = node - console.log(this.treetrunk); - console.log(this.checkTreeNode); - this.selectAllTechNam() - // if (data.code == '[2]') { - // console.log(data); - // } - }, - nodeOpen(data, node, el) { - $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder-opened') - }, - nodeClose(data, node, el) { - $($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder') - }, - handleSelectionChange(val) { - this.selects = val; - }, - dels() { - this.selects.forEach(a => { - for (var b = 0; b < this.tableData.length; b++) { - if (this.tableData[b].id == a.id) { - this.tableData.splice(b, 1) - b-- - } - } - }) - let cc = this.selects.map(el => { - return el.id - }) - this.delete = cc.join(',') - console.log(this.delete); - this.delAllTech() - this.$message.success('鍒犻櫎瀹屾垚') - }, - deleteRow(index, rows) { - this.tableData.splice(index,1) - this.upData.id = rows.id - this.delTechById() - }, - selecTechById() { - this.$axios.get(this.$api.url.selecTechById,{ - params:{ - id:this.upData.id, - } - }).then(res =>{ - this.edit = res.data[0] - this.AAA = res.data[0].children - console.log(this.edit); - console.log(this.AAA); - // this.edit.forEach(el => { - // // el.children.forEach(ele =>{ - // // this.AAA.push(ele) - // console.log(el); - // }) - // console.log(this.AAA.id); - // }) - // console.log(this.edit); - }) - }, - //缂栬緫鍐呭 - upContent(ob) { - this.upData = ob - this.selecTechById() - this.selecTechById() - console.log(this.upData); - this.upDia = true - }, + { + deviceGroup: this.form.deviceGroup, + elementId: this.form.elementId, + father: this.form.father, + name: this.form.name, + type: this.form.type, + }, + { + headers: { + "Content-Type": "application/json", + }, + } + ) + .then((res) => { + console.log(res); + this.selectAllTechNam(); + this.form = {}; + }); + }, + //鍏冧欢 + chooseElement() { + this.$axios.get(this.$api.url.chooseElement).then((res) => { + this.element = res.data; + console.log(this.element); + }); + }, + //璁惧 + chooseDevGroup() { + this.$axios.get(this.$api.url.chooseDevGroup).then((res) => { + this.equipment = res.data; + // console.log(this.equipment); + }); + }, + //宸ュ簭 + chooseTech() { + this.$axios.get(this.$api.url.chooseTech).then((res) => { + this.procedure = res.data; + console.log(this.procedure); + }); + }, + //鎵归噺鍒犻櫎 + delAllTech() { + console.log(this.delete); + this.$axios.post(this.$api.url.delAllTech, { + ids: this.delete, + }); + }, + //鍒犻櫎 + delTechById() { + console.log(this.$api.url.delTechById, this.upData.id); + this.$axios.post(this.$api.url.delTechById, { + id: this.upData.id, + }); + }, + //缂栬緫 + writeTechById() { + this.$axios + .post( + this.$api.url.writeTechById, + { + params: { + id: this.upData.id, + technologyTemplateDto: { + deviceGroup: this.upData.device_group, + elementId: this.edit.elementId, + father: this.edit.father, + name: this.edit.name, + type: this.edit.type, + }, + // id:this.upData.id, + }, + }, + { + headers: { + "Content-Type": "application/json", + }, + } + ) + .then((res) => { + console.log(res); + }); + }, - submitUpData() { - // this.tableData.forEach(a => { - // if (a.id == this.upData.id) { - // a.name = this.upData.name - // a.ask = this.upData.device_group - // } - // }) - this.writeTechById() - - this.$message.success('淇敼鎴愬姛') - this.upIndex++ - this.upDia = false - } - } - } - + query(val) { + this.selectAllTechTem(); + }, + selectAllTechTem() { + this.$axios + .get(this.$api.url.selectAllTechTem, { + params: { type: this.typeselect, message: this.search.technology }, + }) + .then((res) => { + this.towTree = res.data; + console.log(this.towTree); + let one=this.towTree.filter(item=>{ + return item.children.length>0 + })[0] + let name=one.children[0].name + this.selectAllTechNamStart(name) + this.selectDataList(); + }); + }, + handleNodeClick(data, node) { + console.log(data); + this.checkTreeNode = data; + this.treetrunk = node; + console.log(this.treetrunk); + console.log(this.checkTreeNode); + this.selectAllTechNam(); + + }, + selectAllTechNam() { + this.$axios + .get(this.$api.url.selectAllTechNam, { + params: { father: this.checkTreeNode.name }, + }) + .then((res) => { + this.tableData = res.data; + }); + }, + selectAllTechNamStart(name) { + this.$axios + .get(this.$api.url.selectAllTechNam, { + params: { father: name }, + }) + .then((res) => { + this.tableData = res.data; + }); + }, + addend() { + this.dialogVisible = true; + }, + modify() { + this.modifyevent = true; + }, + filterNode(value, data) { + if (!value) return true; + return data.name.indexOf(value) !== -1; + }, + remove(node, data) { + this.$confirm("鏄惁鍒犻櫎", "璀﹀憡", { + type: "warning", + }) + .then((res) => { + const parent = node.parent; + const children = parent.data.children || parent.data; + const index = children.findIndex((d) => d.id === data.id); + children.splice(index, 1); + }) + .catch((e) => {}); + }, + // selectDataList() { + // this.list.forEach(a => { + // a.code = '[1]' + // if (a.children != undefined) { + // a.children.forEach(b => { + // b.code = '[2]' + // }) + // } + // }) + // this.upIndex++ + // }, + + nodeOpen(data, node, el) { + $($(el.$el).find(".node_i")[0]).attr( + "class", + "node_i el-icon-folder-opened" + ); + }, + nodeClose(data, node, el) { + $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder"); + }, + handleSelectionChange(val) { + this.selects = val; + }, + dels() { + this.selects.forEach((a) => { + for (var b = 0; b < this.tableData.length; b++) { + if (this.tableData[b].id == a.id) { + this.tableData.splice(b, 1); + b--; + } + } + }); + let cc = this.selects.map((el) => { + return el.id; + }); + this.delete = cc.join(","); + console.log(this.delete); + this.delAllTech(); + this.$message.success("鍒犻櫎瀹屾垚"); + }, + deleteRow(index, rows) { + this.tableData.splice(index, 1); + this.upData.id = rows.id; + this.delTechById(); + }, + selecTechById() { + this.$axios + .get(this.$api.url.selecTechById, { + params: { + id: this.upData.id, + }, + }) + .then((res) => { + this.edit = res.data[0]; + this.AAA = res.data[0].children; + console.log(this.edit); + console.log(this.AAA); + // this.edit.forEach(el => { + // // el.children.forEach(ele =>{ + // // this.AAA.push(ele) + // console.log(el); + // }) + // console.log(this.AAA.id); + // }) + // console.log(this.edit); + }); + }, + //缂栬緫鍐呭 + upContent(ob) { + this.upData = ob; + this.selecTechById(); + this.selecTechById(); + console.log(this.upData); + this.upDia = true; + }, + + submitUpData() { + // this.tableData.forEach(a => { + // if (a.id == this.upData.id) { + // a.name = this.upData.name + // a.ask = this.upData.device_group + // } + // }) + this.writeTechById(); + + this.$message.success("淇敼鎴愬姛"); + this.upIndex++; + this.upDia = false; + }, + }, +}; </script> \ No newline at end of file diff --git a/src/main.js b/src/main.js index 599b7e9..ec10088 100644 --- a/src/main.js +++ b/src/main.js @@ -23,8 +23,7 @@ Vue.use(qs); Vue.use(api); -// const javaApi = 'http://127.0.0.1:8001/' -const javaApi = 'http://127.0.0.1:8001/' +const javaApi = 'http://192.168.0.23:8001' -- Gitblit v1.9.3