From 4fa97f6b365035a1f811833b54ada53a9a1a35da Mon Sep 17 00:00:00 2001
From: 王震 <10952869+daywangzhen@user.noreply.gitee.com>
Date: 星期五, 08 九月 2023 16:45:48 +0800
Subject: [PATCH] 设备维护,标准Bom
---
src/components/view/technology.vue | 530 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 439 insertions(+), 91 deletions(-)
diff --git a/src/components/view/technology.vue b/src/components/view/technology.vue
index b69807f..e9ffa98 100644
--- a/src/components/view/technology.vue
+++ b/src/components/view/technology.vue
@@ -112,41 +112,48 @@
<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;">鏂板</el-button>
- <el-button icon="el-icon-edit-outline">淇敼</el-button>
+ <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="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
+ <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>
+ <!-- <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>
<span>璁惧缁勶細</span>
<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-select> -->
+ <!-- <el-button size="mini" @click="clean()"><span>閲� 缃�</span></el-button>
<el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌�
- 璇�</span></el-button>
+ 璇�</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-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)">
<i class="el-icon-delete"></i>
</el-button>
@@ -162,12 +169,12 @@
</el-table-column>
<el-table-column prop="name" label="宸ヨ壓鍚嶇О">
</el-table-column>
- <el-table-column prop="ask" label="璁惧缁�">
+ <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, tableData)">鍒犻櫎</span>
+ <span class="table_do" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</span>
</template>
</el-table-column>
</el-table>
@@ -176,21 +183,189 @@
<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="upData.name" size="small" clearable></el-input>
+ <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.ask" size="small" clearable></el-input>
+ <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
+ 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>
@@ -205,68 +380,199 @@
name: null,
technology: null
},
+ options:{},
+ form:{
+ type:'',
+ father:'',
+ name:'',
+ elementId:'',
+ deviceGroup:''
+ },
+ search:{
+ type:'',
+ },
+ delete:[],
+ treetrunk:[],
process: [],
product: [],
- list: [{
- id: 0,
- name: "鎻掑ご",
- children: [{
- id: 5,
- name: "宸ヨ壓"
- }]
- }, {
- id: 1,
- name: "鎴愬搧"
- }, {
- id: 2,
- name: "鍗婃垚鍝�"
- }],
- checkTreeNode: {},
- tableData: [{
- id: 1,
- name: "宸ュ簭",
- unit: "dajskda",
- stand: "12348",
- ask: "564165"
- }, {
- id: 2,
- name: "浣滀笟浜哄憳",
- unit: "dajskda",
- stand: "12348",
- ask: "564165"
- }, {
- id: 3,
- name: "瑙勬牸",
- unit: "dajskda",
- stand: "12348",
- ask: "564165"
- }, {
- id: 4,
- name: "瑙勬牸",
- unit: "dajskda",
- stand: "12348",
- ask: "564165"
- }, {
- id: 5,
- name: "瑙勬牸",
- unit: "dajskda",
- stand: "12348",
- ask: "564165"
- }],
+ 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: {
- id: 0,
- name: null,
- ask: null
+ name:'',
+ deviceGroup:'',
+ ele:'',
+ father:'',
+ type:'',
+ },
+ typeselect:0,
+ newdata:{
+ type:''
}
}
},
mounted() {
- this.selectDataList()
+ 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 = {}
+ })
+ },
+
+ //鍏冧欢
+ 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);
+
+ })
+ },
+
+ 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;
@@ -281,22 +587,26 @@
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) {
+ // 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
- if (data.code == '[2]') {
- console.log(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')
@@ -316,26 +626,64 @@
}
}
})
+ 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) {
- rows.splice(index, 1);
+ 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 = this.HaveJson(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.ask
- }
- })
+ // 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
--
Gitblit v1.9.3