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/mbom.vue | 278 ++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 180 insertions(+), 98 deletions(-)
diff --git a/src/components/view/mbom.vue b/src/components/view/mbom.vue
index 05d29af..155fb78 100644
--- a/src/components/view/mbom.vue
+++ b/src/components/view/mbom.vue
@@ -29,22 +29,33 @@
</el-form-item>
</el-col>
<el-col :span="8">
- <el-form-item label="宸ュ簭:">
- <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
- <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
- <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
- <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
- <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
- </el-select>
- </el-form-item>
+ <el-form-item label="宸ュ簭">
+ <template>
+ <el-select v-model="search.work"
+ placeholder="璇烽�夋嫨绫诲瀷"
+ allow-create
+ filterable
+ @change="workevent"
+ >
+ <el-option
+ v-for="(item,index) in process"
+ :key="item.name"
+ :label="item.name"
+ :value="item.name">
+ </el-option>
+ </el-select>
+ </template>
+ </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宸ヨ壓鍚嶇О:">
- <el-select v-model="search.type" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
- <el-option label="姗¤兌杩炴帴鍣�" :value="0"></el-option>
- <el-option label="閲戝睘杩炴帴鍣�" :value="1"></el-option>
- <el-option label="婀挎彃鎷旂數杩炴帴鍣�" :value="2"></el-option>
- <el-option label="鍒嗘敮缁勪欢" :value="3"></el-option>
+ <el-select v-model="search.craft" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
+ <el-option
+ v-for="item in craftapi"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
+ </el-option>
</el-select>
</el-form-item>
</el-col>
@@ -56,7 +67,7 @@
<template>
<el-table
border
- :data="tableData"
+ :data="tableapi"
height="calc(80vh - 250px)"
style="width: 100%">
<el-table-column type="index" label="搴忓彿" width="70">
@@ -66,28 +77,37 @@
label="渚涘簲鍟嗗悕绉�"
width="180">
<template slot-scope="scope">
- <el-input v-model="scope.row.input" placeholder="璇疯緭鍏ュ唴瀹�" ></el-input>
+ <el-input v-model="scope.row.supplier" placeholder="" ></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop=""
+ label="璐ㄩ噺杩芥函鍙�"
+ width="180">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.qualityTraceability" placeholder="" ></el-input>
</template>
</el-table-column>
<el-table-column
prop="name"
- label="璐ㄩ噺杩芥函鍙�"
- width="180">
+ label="鍘熸潗鏂欏悕绉�">
<template slot-scope="scope">
- <el-input v-model="scope.row.name" placeholder="璇疯緭鍏ュ唴瀹�" ></el-input>
+ <el-input v-model="scope.row.name" placeholder="" ></el-input>
</template>
</el-table-column>
<el-table-column
prop="address"
- label="鍘熸潗鏂欏悕绉�">
- </el-table-column>
- <el-table-column
- prop="address"
label="瑙勬牸鍨嬪彿">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.specifications" placeholder="" ></el-input>
+ </template>
</el-table-column>
<el-table-column
- prop="address"
+ prop="unit"
label="鍗曚綅">
+ <template slot-scope="scope">
+ <el-input v-model="scope.row.unit" placeholder="" ></el-input>
+ </template>
</el-table-column>
</el-table>
</template>
@@ -101,23 +121,25 @@
<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" @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>
+ <!-- <span>鍘熸潗鏂欏悕绉帮細</span>
<el-select v-model="search.name" size="small" placeholder="璇烽�夋嫨" style="width: 224px;margin-right: 30px;">
<el-option v-for="(a, ai) in process" key="ai" :label="a.name" :value="a.id"></el-option>
</el-select>
<el-button size="mini"><span>閲� 缃�</span></el-button>
- <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌ヨ</span></el-button>
+ <el-button size="mini" type="primary" style="background: #004EA2;"><span>鏌ヨ</span></el-button> -->
</div>
<div class="thing">
<div class="left">
<el-input v-model="search.technology" 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>
+ <el-tree :data="list" ref="tree"
+ :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>
{{data.code}} {{ data.name }}</span>
@@ -141,7 +163,7 @@
<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>
@@ -160,76 +182,126 @@
data() {
return {
search:{},
- list: [{
- id: 0,
- name: "鍘熸潗鏂�",
- children: [{
- id: 3,
- name: "宸ヨ壓",
- children: [{
- id: 6,
- name: "璁惧1"
- }]
- }]
- }, {
- id: 1,
- name: "鎴愬搧",
- children: [{
- id: 4,
- name: "宸ヨ壓"
- }]
- }, {
- id: 2,
- name: "鍗婃垚鍝�",
- children: [{
- id: 5,
- name: "宸ヨ壓"
- }]
- }],
- process:[],
+ list:[],
+ process:{},
// handleClose:[],
- search:{},
+ checkTreeNode:{
+ id:2,
+ },
+ tableData:[],
+ tableapi:[{
+ supplier:'',
+ qualityTraceability:'',
+ name:'',
+ specifications:'',
+ unit:'',
+ }],
+ search:{
+ type:'',
+ work:'',
+ craft:'',
+
+ },
+ addsearch:{},
+ upData:{},
form:{},
dialogVisible:false,
- tableData: [{
- id: 1,
- name: "璐ㄩ噺杩芥函鍙�",
- unit: "鍗曚綅",
- thing: "dajskda",
- input:'浣犲ソ1'
- }, {
- id: 2,
- name: "浣滀笟浜哄憳",
- unit: "鍗曚綅",
- thing: "dajskda",
- input:'浣犲ソ2'
-
- }, {
- id: 3,
- name: "瑙勬牸",
- unit: "鍗曚綅",
- thing: "dajskda",
- input:'浣犲ソ3'
-
- }, {
- id: 4,
- name: "瑙勬牸",
- unit: "鍗曚綅",
- thing: "dajskda",
- input:'浣犲ソ4'
-
- }, {
- id: 5,
- name: "瑙勬牸",
- unit: "鍗曚綅",
- thing: "dajskda",
- input:'浣犲ソ5'
-
- }],
- input:''
+ typeselect:0,
+ input:'',
+ craftapi:[],
}
},
+ mounted() {
+ this.selectAllleft()
+ this.selectAllMbom()
+ },
methods:{
+ 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"
+ }
+ })
+ },
+ addMbom(data) {
+ this.$axios.post(this.$api.url.addMbom,data
+ // {
+ // name:this.tableapi.name,
+ // qualityTraceability:this.tableapi.qualityTraceability,
+ // specifications:this.tableapi.specifications,
+ // supplier:this.tableapi.supplier,
+ // techTemId:this.craftapi.id,
+ // unit:this.tableapi.unit,
+ // }
+ , {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ }).then(res =>{
+ console.log(res);
+ this.$message.success('娣诲姞瀹屾垚')
+ this.selectAllMbom()
+ this.tableapi = [{}]
+ })
+ },
+ //鍒犻櫎
+ material(index) {
+ console.log(this.upData.id);
+ this.$axios.post(this.$api.url.material,{
+ id:this.upData.id
+ }).then(res =>{
+ this.$message.success(res.message)
+ this.tableData.splice(index,1)
+
+ // console.log(res);
+ })
+ },
+ TYpe(val) {
+ this.typeselect = val
+ this.selectAllleft()
+ },
+ //宸﹁竟
+ selectAllleft() {
+ this.$axios.get(this.$api.url.selectAllleft,{
+ params:{type:this.typeselect}
+ }).then(res => {
+ this.list = res.data;
+ console.log(this.list);
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ },
+ //鍙宠竟
+ selectAllMbom() {
+ this.$axios.get(this.$api.url.selectAllMbom,{
+ params:{id:this.checkTreeNode.id}
+ }).then(res => {
+ this.tableData = res.data;
+ console.log(this.tableData);
+ }, {
+ headers: {
+ "Content-Type": "application/json"
+ }
+ })
+ },
+ handleNodeClick(data){
+ this.checkTreeNode = data
+ console.log(this.checkTreeNode.id);
+ this.selectAllMbom()
+ },
handleClose(done) {
this.$confirm('纭鍏抽棴锛�')
.then(_ => {
@@ -239,19 +311,25 @@
},
event(){
this.dialogVisible = true
+ this.chooseTechFath()
},
Addrow() {
- if (this.tableData == undefined) {
- this.tableData = new Array();
+ if (this.tableapi == undefined) {
+ this.tableapi = new Array();
}
let obj = [];
- this.tableData.push(obj);
+ this.tableapi.push(obj);
},
skipshow(){
console.log('666');
- const data = this.tableData.at(-1)
- console.log(data);
+ let data = this.tableapi.at(-1)
+ // this.addMbom()
+ data.techTemId = this.search.craft
+ // console.log(this.search.craft);
+ // console.log(data);
+
+ this.addMbom(data)
this.dialogVisible = false
},
@@ -270,7 +348,11 @@
this.selects = val;
},
deleteRow(index, rows) {
- rows.splice(index, 1);
+ console.log(rows);
+ // this.tableData.splice(index,1)
+ this.upData.id = rows.id
+ console.log(this.upData);
+ this.material(index)
},
}
--
Gitblit v1.9.3