From 4d8049330f1378c87115a7fcb66265f815b49801 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 13 九月 2023 16:52:06 +0800
Subject: [PATCH] modified: src/assets/api/controller.js modified: src/components/view/standard-table/material.vue modified: src/components/view/standard-table/product.vue modified: src/components/view/standard-table/target.vue modified: src/components/view/standard-table/technology.vue modified: src/components/view/standard.vue
---
src/components/view/equipmentmaintain.vue | 359 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 288 insertions(+), 71 deletions(-)
diff --git a/src/components/view/equipmentmaintain.vue b/src/components/view/equipmentmaintain.vue
index 1b18d0b..0defcf5 100644
--- a/src/components/view/equipmentmaintain.vue
+++ b/src/components/view/equipmentmaintain.vue
@@ -2,10 +2,10 @@
<div class="record_content">
<div class="title">
<el-row>
- <el-col :span="12" style="line-height: 32px;">璁惧鎸囨爣缁存姢</el-col>
+ <el-col :span="12" style="line-height: 32px;">鐢熶骇宸ヨ壓缁存姢</el-col>
<el-col :span="12" style="text-align: right;">
<el-button type="primary" icon="el-icon-plus" style="background: #004EA2;" @click="event">鏂板</el-button>
- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button>
+ <!-- <el-button icon="el-icon-edit-outline" @click="modify">淇敼</el-button> -->
<el-button icon="el-icon-delete" @click="dels" >鍒犻櫎</el-button>
</el-col>
</el-row>
@@ -17,12 +17,11 @@
<el-dialog
title="鎶�鏈寚鏍囩紪杈�"
:visible.sync="modifyevent"
- width="40%"
- :before-close="handleClose">
+ width="40%">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="绫诲瀷">
<template>
- <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" >
+ <el-select v-model="edit.type" disabled placeholder="璇烽�夋嫨" style="width: 560px;">
<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
@@ -34,8 +33,8 @@
<el-col :span="11">
<el-form-item label="宸ュ簭">
<template>
- <el-select v-model="form.work"
- placeholder="璇烽�夋嫨绫诲瀷" >
+ <el-select v-model="edit.techFather" disabled
+ placeholder="璇烽�夋嫨" >
<el-option
v-for="item in process"
:key="item.name"
@@ -46,28 +45,63 @@
</template>
</el-form-item>
</el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="宸ヨ壓">
+ <el-input v-model="edit.techName" :disabled="true" placeholder="璇烽�夋嫨"></el-input>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="璁惧">
- <el-input v-model="form.father" placeholder="璇烽�夋嫨涓婄骇"></el-input>
+ <el-input v-model="edit.dname" disabled placeholder="璇烽�夋嫨"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="椤圭洰">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ラ」鐩�"></el-input>
+ <!-- <el-input v-model="edit.father" :disabled="true" placeholder="璇疯緭鍏ラ」鐩�"></el-input> -->
+ <template>
+ <el-select v-model="edit.father" @change="projectApi" placeholder="璇烽�夋嫨" >
+ <el-option
+ v-for="item in project"
+ :key="item.name"
+ :label="item.name"
+ :value="item.name">
+ </el-option>
+ </el-select>
+ </template>
</el-form-item>
</el-col>
</el-row>
- <el-form-item label="鍗曚綅">
- <el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input>
- </el-form-item>
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="鎸囨爣">
+ <template>
+ <el-select v-model="edit.name" @change="scale" placeholder="璇烽�夋嫨" >
+ <el-option
+ v-for="item in quota"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="鍗曚綅">
+ <el-input v-model="unitrow" :value="unitrow" :disabled="true" placeholder="璇疯緭鍏ラ」鐩�"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="modifyevent = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="modifyevent = false">纭� 瀹�</el-button>
+ <el-button type="primary" @click="editApi">纭� 瀹�</el-button>
</span>
</el-dialog>
</div>
@@ -76,12 +110,11 @@
<el-dialog
title="鎶�鏈寚鏍囨柊澧�"
:visible.sync="dialogVisible"
- width="40%"
- :before-close="handleClose">
+ width="40%">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="绫诲瀷">
<template>
- <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 480px;">
+ <el-select v-model="form.type" placeholder="璇烽�夋嫨" @change="edittype" style="width: 480px;">
<el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
<el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
<el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
@@ -93,8 +126,8 @@
<el-col :span="11">
<el-form-item label="宸ュ簭">
<template>
- <el-select v-model="form.father"
- placeholder="璇烽�夋嫨绫诲瀷" >
+ <el-select v-model="form.father" @change="workevent"
+ placeholder="璇烽�夋嫨" >
<el-option
v-for="item in process"
:key="item.name"
@@ -105,17 +138,31 @@
</template>
</el-form-item>
</el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="宸ヨ壓鍚嶇О">
+ <template>
+ <el-select v-model="form.craft" placeholder="璇烽�夋嫨" >
+ <el-option
+ v-for="item in craftapi"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item label="璁惧">
<template>
- <el-select v-model="form.work" placeholder="璇烽�夋嫨绫诲瀷" >
+ <el-select v-model="form.work" placeholder="璇烽�夋嫨" >
<el-option
v-for="item in higherlevel"
- :key="item.name"
+ :key="item.devId"
:label="item.name"
- :value="item.name">
+ :value="item.devId">
</el-option>
</el-select>
</template>
@@ -123,14 +170,47 @@
</el-col>
<el-col :span="11" :offset="2">
<el-form-item label="椤圭洰">
- <el-input v-model="form.name" placeholder="璇疯緭鍏ラ」鐩�"></el-input>
+ <template>
+ <el-select v-model="form.ee" @change="projectApi" placeholder="璇烽�夋嫨" >
+ <el-option
+ v-for="item in project"
+ :key="item.name"
+ :label="item.name"
+ :value="item.name">
+ </el-option>
+ </el-select>
+ </template>
</el-form-item>
</el-col>
</el-row>
- <el-form-item label="鍗曚綅">
+ <el-row>
+ <el-col :span="11">
+ <el-form-item label="鎸囨爣">
+ <template>
+ <el-select v-model="form.aa" @change="scale" placeholder="璇烽�夋嫨" >
+ <el-option
+ v-for="item in quota"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
+ </el-select>
+ </template>
+ </el-form-item>
+ </el-col>
+ <el-col :span="11" :offset="2">
+ <el-form-item label="鍗曚綅">
+ <template>
+ <el-input v-model="unitrow" :disabled="true" placeholder="璇疯緭鍏ュ崟浣�" style="width: 200px;"></el-input>
+ </template>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <!-- <el-form-item label="鍗曚綅">
<el-input v-model="form.unit" placeholder="璇疯緭鍏ュ崟浣�" style="width: 220px;"></el-input>
- </el-form-item>
+ </el-form-item> -->
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">鍙� 娑�</el-button>
@@ -160,19 +240,21 @@
<!-- 涓讳綋宸� -->
<div class="left">
<el-input v-model="search.technology"
+ @input="query"
suffix-icon="el-icon-search"
placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�"
size="small" clearable ></el-input>
- <el-tree :data="list" ref="tree" :props="{children: 'children',label: 'name'}" node-key="id" default-expand-all
- highlight-current :filter-node-method="filterNode"
+ <el-tree :data="list" ref="tree"
+ :props="{children: 'children',label: 'name'}" highlight-current node-key="name" default-expand-all
+
@node-click="handleNodeClick"
>
<div class="custom-tree-node" slot-scope="{ node, data }">
- <span><i :class="`node_i ${data.code != '[3]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
+ <span><i :class="`node_i ${data.code != '[2]'?'el-icon-folder-opened':'el-icon-tickets'}`"></i>
{{data.code}} {{ data.name }}</span>
- <el-button type="text" size="mini" @click.stop="remove(node, data)">
+ <!-- <el-button type="text" size="mini" @click.stop="remove(node, data)">
<i class="el-icon-delete"></i>
- </el-button>
+ </el-button> -->
</div>
</el-tree>
</div>
@@ -197,30 +279,28 @@
<el-table-column
label="璁惧鍚嶇О"
sortable
+ prop="dname"
width="300px">
<template slot-scope="scope">
- <el-tag>
+ <!-- <el-tag>
<div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`">
{{ scope.row.children ? "01" : "02" }}
</div>
</el-tag>
- <span style="children: black">{{ scope.row.name }}</span>
-
+ <span style="children: black">{{ scope.row.name }}</span> -->
+ <el-tag v-if="scope.row.children" type="primary">01</el-tag>
+ <span style="color: black" v-if="scope.row.children">
+ {{ scope.row.dname }}
+ </span>
</template>
</el-table-column>
-
<el-table-column
label="椤圭洰"
sortable
width="300px">
<template slot-scope="scope">
- <el-tag>
- <div class="firstDiv" :style="`color: ${scope.row.children ? '#16a7ff' : '#58c173'}`">
- {{ scope.row.children ? "01" : "02" }}
- </div>
- </el-tag>
- <span style="color: black">{{ scope.row.name }}</span>
-
+ <el-tag type="success" v-if="!scope.row.children">02</el-tag>
+ <span style="color: black" v-if="!scope.row.children">{{ scope.row.father }}</span>
</template>
</el-table-column>
<el-table-column
@@ -228,7 +308,7 @@
label="鍗曚綅">
</el-table-column>
<el-table-column
- prop="address"
+ prop="name"
label="鎸囨爣">
</el-table-column>
<el-table-column
@@ -236,9 +316,11 @@
label="鎿嶄綔"
width="200px">
<template slot-scope="scope" style="text-align: center;">
- <el-button type="text" size="mini" @click="childrenClick(scope)">缂栬緫</el-button>
- <el-button type="text" size="mini" @click="deleteRow(scope.$index, tableData)">鍒犻櫎</el-button>
- </template>
+ <div v-if="!scope.row.children">
+ <el-button type="text" size="mini" @click="childrenClick(scope.row)">缂栬緫</el-button>
+ <el-button type="text" size="mini" @click="deleteRow(scope.$index, scope.row)">鍒犻櫎</el-button>
+ </div>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -249,18 +331,26 @@
export default {
data() {
return {
- search:{},
+ search: {
+ type: 0,
+ technology: null
+ },
value:{},
typeselect:0,
options:[],
process:[],
list: [],
- TYpe:'',
selects:'',
process:{},
options:{},
+ craftapi:{},
+ project:{},
+ edit:{},
+ upData:{
+
+ },
checkTreeNode:{
- id:2,
+ id:1,
},
form:{
type:'',
@@ -268,13 +358,16 @@
work:'',
name:'',
unit:'',
-
+
},
+
modifyevent:false,
dialogVisible:false,
tableData: [],
higherlevel:{},
+ quota:{},
+ unitrow:'',
}
},
@@ -283,13 +376,29 @@
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() {//宸ュ簭
+ // //鏂板
+ choosePro() {//椤圭洰
this.$axios.get(this.$api.url.choosePro,{
params:{techTemId:this.checkTreeNode.id}
}).then(res => {
- this.process = res.data;
+ this.project = res.data;
console.log(this.process);
}, {
headers: {
@@ -309,6 +418,44 @@
}
})
},
+ //鏂板
+ edittype(val) {
+ this.typeselect = val
+ this.chooseTechFath()
+ },
+ projectApi(val) {
+ console.log(val);
+ let idx = this.project.findIndex(el => el.name === val)
+ this.quota = this.project[idx].children
+ console.log( this.quota);
+ },
+ scale(val) {
+ console.log(val);
+ let cc = this.quota.findIndex(el => el.id === val)
+ console.log(cc);
+ this.unitrow = this.quota[cc].unit
+ console.log(this.unitrow);
+ },
+ workevent(val){
+ console.log(val);
+ let idx = this.process.findIndex(el => el.name === val)
+ this.craftapi = this.process[idx].children
+ console.log( this.craftapi);
+ },
+ chooseTechFath() {
+ this.$axios.get(this.$api.url.chooseTechFath,{
+ params:{type:this.typeselect}
+ }).then(res => {
+ this.process = res.data;
+ console.log(this.process);
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res =>{
+
+ })
+ },
//鏂板
event(){
this.dialogVisible = true
@@ -318,21 +465,54 @@
//纭
add() {
this.dialogVisible = false
+ this.addQeMode()
},
addQeMode(){
- this.$axios.get(this.$api.url.addQeMode,{
- devId:this.form.xxx,
- techTemId:this.form.xxx,
- technicalModelId:this.form.xxx,
+ this.$axios.post(this.$api.url.addQeMode,{
+ devId:this.form.work,
+ techTemId:this.form.craft,
+ technicalModelId:this.form.aa,
+ }, {headers: {"Content-Type": "application/json"}
+ }).then(res =>{
+ this.selectAllTeque()
+ this.form = {}
+ this.unitrow = ""
})
},
//缂栬緫
- childrenClick() {
+ childrenClick(ob) {
this.modifyevent=true
- this.chooseTechFath()
+ this.upData = ob
+ this.selecQueById()
+ this.choosePro()
},
- TYpe() {
+ //缂栬緫 selecQueById
+ selecQueById() {
+ this.$axios.get(this.$api.url.selecQueById,{
+ params:{id:this.upData.id}
+ }).then(res => {
+ console.log(res);
+ this.edit = res.data[0]
+ console.log(this.edit);
+ this.unitrow = this.edit.unit
+ })
+ },
+ editApi() {
+ this.modifyevent = false
+ this.writeQueById()
+ },
+ writeQueById() {
+ this.$axios.post(this.$api.url.writeQueById,{
+ devId:this.edit.did,
+ techTemId:this.edit.tid,
+ technicalModelId:this.edit.name,
+ }, {headers: {"Content-Type": "application/json"}
+ }).then(res =>{
+ })
+ },
+ //========================
+ TYpe(val) {
this.typeselect = val
this.selectAllleft()
},
@@ -342,16 +522,24 @@
this.selectAllTeque()
},
-
+ //鏌ヨ
+ query(val) {
+ this.selectAllleft()
+ },
//涓讳綋宸�
selectAllleft() {
this.$axios.get(this.$api.url.selectAllleft,{
- params:{type:this.typeselect}
+ params:{type:this.typeselect,message:this.search.technology}
}).then(res => {
this.list = res.data;
console.log(this.list);
+ this.selectDataList()
+ this.$nextTick(() => {
+ this.$refs.tree.setCurrentKey(this.list[0].children[0].name) // 榛樿閫変腑鑺傜偣绗竴涓�
+ })
})
},
+
//涓讳綋鍙�
selectAllTeque() {
this.$axios.get(this.$api.url.selectAllTeque,{
@@ -365,12 +553,34 @@
modify(){
this.modifyevent = true
},
- deleteRow(index, rows) {
- rows.splice(index, 1);
+ //delQueById
+ delQueById() {
+ this.$axios.post(this.$api.url.delQueById,{
+ id:this.upData.id
+ }).then(res =>{
+ this.selectAllTeque()
+ this.$message.success('鍒犻櫎瀹屾垚')
+ })
+ },
+ deleteRow(index, row) {
+ this.tableData.splice(index,1)
+ this.upData.id = row.id
+ console.log(this.upData.id);
+ this.delQueById()
},
handleSelectionChange(val) {
this.selects = val
},
+ //鎵归噺鍒犻櫎
+ delAllQue() {
+ this.$axios.post(this.$api.url.delAllQue,{
+ ids:this.delete
+ }).then(res =>{
+ this.selectAllTeque()
+ this.$message.success('鍒犻櫎瀹屾垚')
+ })
+ },
+
dels() {
this.selects.forEach(a => {
for (var b = 0; b < this.tableData.length; b++) {
@@ -380,18 +590,24 @@
}
}
})
+ let cc = this.selects.map(el => {
+ return el.id
+ })
+ this.delete = cc.join(',')
+ console.log(this.delete);
+ this.delAllQue()
this.$message.success('鍒犻櫎瀹屾垚')
},
- handleClose(){
- this.$confirm('纭鍏抽棴锛�')
- .then(_ => {
- done();
- })
- .catch(_ => {})
- },
- filterNode(){
+ // handleClose(){
+ // // this.$confirm('纭鍏抽棴锛�')
+ // // .then(_ => {
+ // // done();
+ // // })
+ // // .catch(_ => {})
+ // // },
+ // // filterNode(){
- },
+ // },
}
}
@@ -445,6 +661,7 @@
height: calc(100% - 20px);
border-right: 3px solid rgb(245, 247, 251);
padding: 16px;
+ overflow-y: auto;
}
.thing .left .custom-tree-node span {
--
Gitblit v1.9.3