From b9d86ddf9e6bb36736214cd632d69ae83debc754 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 27 九月 2023 18:17:13 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mom-before
---
src/components/view/standard.vue | 1360 ++++++++++++++++++++++++++++++----------------------------
src/components/view/Processingproducts.vue | 2
src/components/view/rawInsDetail.vue | 5
src/components/view/sale.vue | 2
4 files changed, 700 insertions(+), 669 deletions(-)
diff --git a/src/components/view/Processingproducts.vue b/src/components/view/Processingproducts.vue
index 24828f7..0197cf6 100644
--- a/src/components/view/Processingproducts.vue
+++ b/src/components/view/Processingproducts.vue
@@ -264,7 +264,7 @@
display: flex;
align-items: center;
background-color: #fff;
- border-bottom: 3px solid rgb(245, 247, 251);
+ /* border-bottom: 3px solid rgb(245, 247, 251); */
font-size: 14px;
}
diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index fe4b199..4bda44d 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -386,12 +386,11 @@
console.log(this.projectTable);
if (this.projectTable.length > 0) {
let filterTable = this.projectTable.filter(item => {
- return item.required === '' || item.internal === '' ||
- item.required === null || item.internal === null || item.name === ''
+ return item.name === null || item.name === ''
})
if (filterTable.length > 0) {
this.$message({
- message: "椤圭洰鍚嶇О锛屾爣鍑嗗�煎拰鍐呮帶鍊间笉鑳戒负绌猴紒",
+ message: "椤圭洰鍚嶇О涓嶈兘涓虹┖锛�",
type: 'warning'
});
return
diff --git a/src/components/view/sale.vue b/src/components/view/sale.vue
index 60bd99f..63fe12f 100644
--- a/src/components/view/sale.vue
+++ b/src/components/view/sale.vue
@@ -177,7 +177,7 @@
<span style="color: #ff9900;" v-else>鏈鏍�</span>
</template>
</el-table-column>
- <el-table-column label="鎿嶄綔" width="220">
+ <el-table-column label="鎿嶄綔" width="250">
<template slot-scope="scope">
<span class="table_do" @click="changeShowDetail(scope.row)"> 鏌ョ湅璇︽儏 </span>
<span class="table_do" @click="downloadFile(scope.row)"> 涓嬭浇闄勪欢 </span>
diff --git a/src/components/view/standard.vue b/src/components/view/standard.vue
index a2b6cc0..fdff1f3 100644
--- a/src/components/view/standard.vue
+++ b/src/components/view/standard.vue
@@ -16,10 +16,11 @@
<div class="left_search">
<el-row :gutter="5">
<el-col :span="21">
- <el-input v-model="search" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small" clearable></el-input>
+ <el-input v-model="search" suffix-icon="el-icon-search" placeholder="璇疯緭鍏ユ悳绱㈠唴瀹�" size="small"
+ clearable></el-input>
</el-col>
<el-col :span="2">
- <el-button size="mini" icon="el-icon-plus" @click="bomLeftAdd=true"></el-button>
+ <el-button size="mini" icon="el-icon-plus" @click="leftAddIsCopy"></el-button>
</el-col>
</el-row>
</div>
@@ -27,15 +28,15 @@
<el-row>
<el-col :span="24">
<el-tree :data="list" ref="tree" default-expand-all :props="{ children: 'children', label: 'name' }"
- node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current>
- <div class="custom-tree-node" slot-scope="{ node, data }">
- <span><i :class="`node_i ${data.code != '[5]' ? '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>
+ node-key="id" :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current>
+ <div class="custom-tree-node" slot-scope="{ node, data }">
+ <span><i :class="`node_i ${data.code != '[5]' ? '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>
</el-col>
</el-row>
</div>
@@ -51,8 +52,9 @@
<el-option :value="3" label="鐢熶骇宸ヨ壓"></el-option>
</el-select>
<span>鐗堟湰锛�</span>
- <el-select v-model="versionVal" @change="verevent" size="small" style="width: 13vw;margin-right: 15px;" placeholder="璇烽�夋嫨">
- <el-option v-for="(item,index) in versionData" :key="index" :label="item.label" :value="item.value">
+ <el-select v-model="versionVal" @change="verevent" size="small" style="width: 13vw;margin-right: 15px;"
+ placeholder="璇烽�夋嫨">
+ <el-option v-for="(item, index) in versionData" :key="index" :label="item.label" :value="item.value">
</el-option>
</el-select>
<span>{{ tableType == 1 ? '椤圭洰锛�' : '宸ヨ壓鍚嶇О锛�' }}</span>
@@ -67,10 +69,11 @@
</div>
<div class="contentTable" v-if="this.typeselect == 0">
- <technology @childData="getChildData" @updateDevice="updateDevice" :tableType="tableType" :tableData="tableData"></technology>
+ <technology @childData="getChildData" @updateDevice="updateDevice" :tableType="tableType"
+ :tableData="tableData"></technology>
</div>
<div class="contentTable" v-if="this.typeselect == 1">
- <target @childData="getChildData" :tableType="tableType" :tableData="tableData"></target>
+ <target @childData="getChildData" :tableType="tableType" :tableData="tableData"></target>
</div>
<div class="contentTable" v-if="this.typeselect == 2">
<material @childData="getChildData" :tableType="tableType" :tableData="tableData"></material>
@@ -84,65 +87,66 @@
<div class="bom-add-model">
<!-- 宸ヨ壓璺嚎 -->
<el-dialog title="BOM鏂板" :visible.sync="technologyVisible" width="45%">
- <el-form :model="technologyForm" :inline="true" label-position="right"
- ref="technologyForm" :rules="technologyRules" label-width="90px">
- <el-row>
+ <el-form :model="technologyForm" :inline="true" label-position="right" ref="technologyForm"
+ :rules="technologyRules" label-width="90px">
+ <el-row>
<el-col :span="12">
- <el-form-item label="宸ュ簭:" prop="tefather" style="display: flex;">
- <el-select size="small"
- filterable allow-create default-first-option style="width: 100%;"
- v-model="technologyForm.tefather" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭">
- <el-option :value="item.father" :label="item.father" v-for="(item,index) in fatherList" :key="index"></el-option>
+ <el-form-item label="宸ュ簭:" prop="tefather" style="display: flex;">
+ <el-select size="small" filterable allow-create default-first-option style="width: 100%;"
+ v-model="technologyForm.tefather" placeholder="璇疯緭鍏ユ垨閫夋嫨宸ュ簭">
+ <el-option :value="item.father" :label="item.father" v-for="(item, index) in fatherList"
+ :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="宸ヨ壓鍚嶇О:" prop="tename" style="display: flex;">
- <el-input style="width: 100%;" size="small" placeholder="璇疯緭鍏ュ伐鑹哄悕绉�"
- clearable v-model="technologyForm.tename"></el-input>
+ <el-input style="width: 100%;" size="small" placeholder="璇疯緭鍏ュ伐鑹哄悕绉�" clearable
+ v-model="technologyForm.tename"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="璁惧缁�:" prop="deviceGroup" style="display: flex;">
- <el-select placeholder="璇烽�夋嫨璁惧缁�" size="small" style="width: 100%;"
- v-model="technologyForm.deviceGroup">
- <el-option :value="item.father"
- v-for="(item,index) in deviceList" :key="index" :label="item.father"></el-option>
+ <el-select placeholder="璇烽�夋嫨璁惧缁�" size="small" style="width: 100%;" v-model="technologyForm.deviceGroup">
+ <el-option :value="item.father" v-for="(item, index) in deviceList" :key="index"
+ :label="item.father"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鐢熶骇瀹氶:" prop="productionQuota" style="display: flex;">
- <el-input style="width: 100%;" size="small" clearable v-model.number="technologyForm.productionQuota" placeholder="璇疯緭鍏ョ敓浜у畾棰�" />
+ <el-input style="width: 100%;" size="small" clearable v-model.number="technologyForm.productionQuota"
+ placeholder="璇疯緭鍏ョ敓浜у畾棰�" />
</el-form-item>
</el-col>
</el-row>
- </el-form>
- <span slot="footer" class="dialog-footer" >
- <el-button type="primary" @click="confirmAdd('technologyForm')">纭� 瀹�</el-button>
- <el-button @click="technologyVisible = false">鍙� 娑�</el-button>
- </span>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="confirmAdd('technologyForm')">纭� 瀹�</el-button>
+ <el-button @click="technologyVisible = false">鍙� 娑�</el-button>
+ </span>
</el-dialog>
- <!-- 鎶�鏈寚鏍� -->
+ <!-- 鎶�鏈寚鏍� -->
<el-dialog title="BOM鏂板" :visible.sync="targetVisible" width="45%">
- <el-form :model="targetForm" :inline="true" label-position="right"
- :rules="targetRules" ref="targetForm" label-width="90px">
+ <el-form :model="targetForm" :inline="true" label-position="right" :rules="targetRules" ref="targetForm"
+ label-width="90px">
<el-row>
<el-col :span="12">
<el-form-item label="宸ュ簭:" prop="pfather">
- <el-select v-model="targetForm.pfather"
- @change="changeFather" size="small" placeholder="璇烽�夋嫨宸ュ簭">
- <el-option :value="item.name" :label="item.name" v-for="(item,index) in targetFormList" :key="index"></el-option>
+ <el-select v-model="targetForm.pfather" @change="changeFather" size="small" placeholder="璇烽�夋嫨宸ュ簭">
+ <el-option :value="item.name" :label="item.name" v-for="(item, index) in targetFormList"
+ :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="宸ヨ壓鍚嶇О:" prop="technologyId">
- <el-select v-model="targetForm.technologyId"
- @change="changeTechnologyId" size="small" placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О">
- <el-option :value="item.id" :label="item.name" v-for="(item,index) in technologyIdList" :key="index"></el-option>
+ <el-select v-model="targetForm.technologyId" @change="changeTechnologyId" size="small"
+ placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О">
+ <el-option :value="item.id" :label="item.name" v-for="(item, index) in technologyIdList"
+ :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
@@ -150,65 +154,64 @@
<el-row>
<el-col :span="12">
<el-form-item label="椤圭洰:" prop="father">
- <el-select v-model="targetForm.father"
- filterable allow-create default-first-option
- size="small" placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰">
- <el-option :value="item.father" :label="item.father" v-for="(item,index) in projectList" :key="index"></el-option>
+ <el-select v-model="targetForm.father" filterable allow-create default-first-option size="small"
+ placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰">
+ <el-option :value="item.father" :label="item.father" v-for="(item, index) in projectList"
+ :key="index"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鎸囨爣鍚嶇О:" prop="name">
- <el-input size="small" v-model="targetForm.name" placeholder="璇疯緭鍏ユ寚鏍囧悕绉�"/>
+ <el-input size="small" v-model="targetForm.name" placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="鍗曚綅:" prop="unit">
- <el-input size="small" v-model="targetForm.unit" placeholder="璇疯緭鍏ュ崟浣�"/>
+ <el-input size="small" v-model="targetForm.unit" placeholder="璇疯緭鍏ュ崟浣�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鍐呮帶鍊�:" prop="internal">
- <el-input size="small" v-model="targetForm.internal" placeholder="璇疯緭鍏ュ唴鎺у��"/>
+ <el-input size="small" v-model="targetForm.internal" placeholder="璇疯緭鍏ュ唴鎺у��" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="鏍囧噯鍊�:" prop="required">
- <el-input size="small" v-model="targetForm.required" placeholder="璇疯緭鍏ユ爣鍑嗗��"/>
+ <el-input size="small" v-model="targetForm.required" placeholder="璇疯緭鍏ユ爣鍑嗗��" />
</el-form-item>
</el-col>
<el-col :span="12"></el-col>
</el-row>
- </el-form>
- <span slot="footer" class="dialog-footer" >
- <el-button type="primary" @click="confirmAdd('targetForm')">纭� 瀹�</el-button>
- <el-button @click="targetVisible = false">鍙� 娑�</el-button>
- </span>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="confirmAdd('targetForm')">纭� 瀹�</el-button>
+ <el-button @click="targetVisible = false">鍙� 娑�</el-button>
+ </span>
</el-dialog>
- <!-- 鐗╂枡娓呭崟 -->
+ <!-- 鐗╂枡娓呭崟 -->
<el-dialog title="BOM鏂板" :visible.sync="materialVisible" width="45%">
- <el-form :model="materialForm" label-position="right"
- :rules="materialRules" ref="materialForm" label-width="90px">
+ <el-form :model="materialForm" label-position="right" :rules="materialRules" ref="materialForm"
+ label-width="90px">
<el-row :gutter="100">
<el-col :span="12">
<el-form-item label="宸ュ簭:" prop="mfather">
- <el-select placeholder="璇烽�夋嫨宸ュ簭" @change="changeMName"
- style="width:100%;" v-model="materialForm.mfather" size="small">
- <el-option v-for="(item,index) in materialFormList" :key="index"
- :label="item.name" :value="item.name" ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
+ <el-select placeholder="璇烽�夋嫨宸ュ簭" @change="changeMName" style="width:100%;" v-model="materialForm.mfather"
+ size="small">
+ <el-option v-for="(item, index) in materialFormList" :key="index" :label="item.name"
+ :value="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
<el-form-item label="宸ヨ壓鍚嶇О:" prop="mtechnologyId">
- <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" style="width:100%;"
- v-model="materialForm.mtechnologyId" size="small">
- <el-option v-for="(item,index) in mIdList" :key="index"
- :value="item.id" :label="item.name"></el-option>
+ <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" style="width:100%;" v-model="materialForm.mtechnologyId" size="small">
+ <el-option v-for="(item, index) in mIdList" :key="index" :value="item.id"
+ :label="item.name"></el-option>
</el-select>
</el-form-item>
</el-col>
@@ -224,8 +227,7 @@
<el-row>
<el-col :span="24">
<el-table :data="materialForm.tableList" border max-height="470"
- :cell-style="{height:'20px',textAlign:'left'}"
- :header-cell-style="{height:'20px'}">
+ :cell-style="{ height: '20px', textAlign: 'left' }" :header-cell-style="{ height: '20px' }">
<!-- <el-table-column label="渚涘簲鍟嗗悕绉�">
<template slot-scope="scope">
<el-input size="mini" v-model="scope.row.supplier"
@@ -234,146 +236,161 @@
</el-table-column> -->
<el-table-column label="璐ㄩ噺杩芥函鍙�">
<template slot-scope="scope">
- <el-input size="mini" v-model="scope.row.qualityTraceability"
- placeholder="璇疯緭鍏�"></el-input>
+ <el-input size="mini" v-model="scope.row.qualityTraceability" placeholder="璇疯緭鍏�"></el-input>
</template>
</el-table-column>
<el-table-column label="鍘熸潗鏂欏悕绉�">
<template slot-scope="scope">
- <el-input size="mini" v-model="scope.row.name"
- placeholder="璇疯緭鍏�"></el-input>
+ <el-input size="mini" v-model="scope.row.name" placeholder="璇疯緭鍏�"></el-input>
</template>
</el-table-column>
<el-table-column label="瑙勬牸鍨嬪彿">
<template slot-scope="scope">
- <el-input size="mini" v-model="scope.row.specifications"
- placeholder="璇疯緭鍏�"></el-input>
+ <el-input size="mini" v-model="scope.row.specifications" placeholder="璇疯緭鍏�"></el-input>
</template>
</el-table-column>
<el-table-column label="鍗曚綅">
<template slot-scope="scope">
- <el-input size="mini" v-model="scope.row.unit"
- placeholder="璇疯緭鍏�"></el-input>
+ <el-input size="mini" v-model="scope.row.unit" placeholder="璇疯緭鍏�"></el-input>
</template>
</el-table-column>
<el-table-column label="鏁伴噺">
<template slot-scope="scope">
- <el-input size="mini" v-model="scope.row.num"
- placeholder="璇疯緭鍏�"></el-input>
+ <el-input size="mini" v-model="scope.row.num" placeholder="璇疯緭鍏�"></el-input>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" width="60">
<template slot-scope="scope">
- <el-button type="text" @click="removeMTableRow(scope.$index)">鍒犻櫎</el-button>
+ <el-button type="text" @click="removeMTableRow(scope.$index)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
- </el-form>
- <span slot="footer" class="dialog-footer" >
- <el-button type="primary" @click="confirmAdd('materialForm')">纭� 瀹�</el-button>
- <el-button @click="materialVisible = false">鍙� 娑�</el-button>
- </span>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="confirmAdd('materialForm')">纭� 瀹�</el-button>
+ <el-button @click="materialVisible = false">鍙� 娑�</el-button>
+ </span>
</el-dialog>
- <!-- 鐢熶骇宸ヨ壓 -->
+ <!-- 鐢熶骇宸ヨ壓 -->
<el-dialog title="BOM鏂板" :visible.sync="productVisible" width="45%">
- <el-form :model="productForm" :inline="true" label-position="right"
- :rules="productRules" ref="productForm" label-width="90px">
- <el-row>
- <el-col :span="12">
- <el-form-item label="宸ュ簭:" prop="profather">
- <el-select v-model="productForm.profather"
- @change="changeProduct" placeholder="璇烽�夋嫨宸ュ簭" size="small">
- <el-option v-for="(item,index) in productFormList" :key="index"
- :value="item.name" :label="item.name"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="宸ヨ壓鍚嶇О:" prop="protechnologyId">
- <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" @change="getProductDeviceList"
- v-model="productForm.protechnologyId" size="small">
- <el-option v-for="(item,index) in proIdList" :key="index"
- :value="item.id" :label="item.name"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="璁惧:" prop="device">
- <el-select placeholder="璇烽�夋嫨璁惧" size="small"
- v-model="productForm.device">
- <el-option v-for="(item,index) in productDeviceList" :key="index"
- :value="item.device" :label="item.device"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="椤圭洰:" prop="productFather">
- <el-select placeholder="璇烽�夋嫨椤圭洰" size="small" @change="changeProductFather"
+ <el-form :model="productForm" :inline="true" label-position="right" :rules="productRules" ref="productForm"
+ label-width="90px">
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="宸ュ簭:" prop="profather">
+ <el-select v-model="productForm.profather" @change="changeProduct" placeholder="璇烽�夋嫨宸ュ簭" size="small">
+ <el-option v-for="(item, index) in productFormList" :key="index" :value="item.name"
+ :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="宸ヨ壓鍚嶇О:" prop="protechnologyId">
+ <el-select placeholder="璇烽�夋嫨宸ヨ壓鍚嶇О" @change="getProductDeviceList" v-model="productForm.protechnologyId"
+ size="small">
+ <el-option v-for="(item, index) in proIdList" :key="index" :value="item.id"
+ :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="璁惧:" prop="device">
+ <el-select placeholder="璇烽�夋嫨璁惧" size="small" v-model="productForm.device">
+ <el-option v-for="(item, index) in productDeviceList" :key="index" :value="item.device"
+ :label="item.device"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="椤圭洰:" prop="productFather">
+ <el-select placeholder="璇烽�夋嫨椤圭洰" size="small" @change="changeProductFather"
v-model="productForm.productFather">
- <el-option v-for="(item,index) in productProjectList" :key="index"
- :value="item.name" :label="item.name"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="12">
- <el-form-item label="鎸囨爣:" prop="product">
- <el-select placeholder="璇烽�夋嫨鎸囨爣" size="small" @change="changeProProduct"
- v-model="productForm.product">
- <el-option v-for="(item,index) in proProductList" :key="index"
- :value="item.name" :label="item.name"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鍗曚綅:" prop="unit">
- <el-input style="width:100%" size="small" disabled v-model="productForm.unit"/>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <span slot="footer" class="dialog-footer" >
- <el-button type="primary" @click="confirmAdd('productForm')">纭� 瀹�</el-button>
- <el-button @click="productVisible = false">鍙� 娑�</el-button>
- </span>
+ <el-option v-for="(item, index) in productProjectList" :key="index" :value="item.name"
+ :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="鎸囨爣:" prop="product">
+ <el-select placeholder="璇烽�夋嫨鎸囨爣" size="small" @change="changeProProduct" v-model="productForm.product">
+ <el-option v-for="(item, index) in proProductList" :key="index" :value="item.name"
+ :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍗曚綅:" prop="unit">
+ <el-input style="width:100%" size="small" disabled v-model="productForm.unit" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="confirmAdd('productForm')">纭� 瀹�</el-button>
+ <el-button @click="productVisible = false">鍙� 娑�</el-button>
+ </span>
</el-dialog>
<!-- 宸︿晶鐐瑰嚮+鎸夐挳 -->
- <el-dialog title="BOM鏂板" :visible.sync="bomLeftAdd" width="29%">
- <el-form ref="leftAdd" :model="leftAdd">
- <el-form-item :rules="[{ required: true, message: '璇烽�夋嫨浜у搧绫诲瀷', trigger: 'blur' }]" label="浜у搧绫诲瀷" prop="type">
- <el-cascader @change="changeLeftAdd" v-model="leftAdd.type" style="width: 86%;" :options="formTypeOptions" :props="{ checkStrictly: true }" clearable></el-cascader>
+ <el-dialog title="BOM鏂板" :visible.sync="bomLeftAdd" width="45%">
+ <el-form ref="leftAdd" :model="leftAdd" style="width: 100%;">
+ <el-col :span="24" style="display: flex;justify-content: space-between;">
+ <el-form-item style="display: flex"
+ :rules="[{ required: true, message: '璇烽�夋嫨浜у搧绫诲瀷', trigger: 'blur' }]" label="绫诲瀷" prop="type">
+ <el-cascader @change="changeLeftAdd" v-model="leftAdd.type" style="width: 90%;" :options="formTypeOptions"
+ :props="{ checkStrictly: true }" clearable></el-cascader>
</el-form-item>
- <el-form-item v-if="leftAdd.type.length<2" label="浜у搧澶х被" prop="father">
- <el-autocomplete class="inline-input" style="width: 88%;" v-model="leftAdd.father" :fetch-suggestions="querySearch" placeholder="璇烽�夋嫨浜у搧澶х被" @select="handleSelect"></el-autocomplete>
+ <el-form-item style="display: flex" v-if="leftAdd.type.length < 2" label="澶х被"
+ prop="father">
+ <el-autocomplete class="inline-input" style="width: 100%;" v-model="leftAdd.father"
+ :fetch-suggestions="querySearch" placeholder="璇烽�夋嫨浜у搧澶х被" @select="handleSelect"></el-autocomplete>
</el-form-item>
- <el-form-item v-if="leftAdd.type.length<3" label="浜у搧鍚嶇О" prop="name">
- <el-autocomplete class="inline-input" style="width: 88%;" v-model="leftAdd.name" :fetch-suggestions="querySearchName" placeholder="璇烽�夋嫨浜у搧鍚嶇О" @select="handleSelect"></el-autocomplete>
+ </el-col>
+ <el-col :span="24" style="display: flex;justify-content: space-between;">
+ <el-form-item style="display: flex;margin-left: 10px;" v-if="leftAdd.type.length < 3"
+ label="鍚嶇О" prop="name">
+ <el-autocomplete class="inline-input" style="width: 100%;" v-model="leftAdd.name"
+ :fetch-suggestions="querySearchName" placeholder="璇烽�夋嫨浜у搧鍚嶇О" @select="handleSelect"></el-autocomplete>
</el-form-item>
- <el-form-item v-if="leftAdd.type.length<4" label="浜у搧鏍囧噯" prop="standard">
- <el-autocomplete class="inline-input" style="width: 88%;" v-model="leftAdd.standard" :fetch-suggestions="querySearchStandar" placeholder="璇烽�夋嫨浜у搧鏍囧噯" @select="handleSelect"></el-autocomplete>
+ <el-form-item style="display: flex;margin-left: 13px;" v-if="leftAdd.type.length < 4"
+ label="鏍囧噯" prop="standard">
+ <el-autocomplete class="inline-input" style="width: 100%;" v-model="leftAdd.standard"
+ :fetch-suggestions="querySearchStandar" placeholder="璇烽�夋嫨浜у搧鏍囧噯" @select="handleSelect"></el-autocomplete>
</el-form-item>
- <el-form-item label="浜у搧鍨嬪彿" prop="specifications">
- <el-input v-model="leftAdd.specifications" style="width: 88%;" placeholder="璇疯緭鍏ヤ骇鍝佸瀷鍙�"></el-input>
+ </el-col>
+ <el-col :span="24" style="display: flex;justify-content: space-between;">
+ <el-form-item style="display: flex;margin-left: 5px" label="鍨嬪彿"
+ prop="specifications">
+ <el-input v-model="leftAdd.specifications" style="width: 100%;" placeholder="璇疯緭鍏ヤ骇鍝佸瀷鍙�"></el-input>
</el-form-item>
+ <el-col :span="10">
+ <el-form-item v-if="isCopy" style="display: flex;" label="鏄惁澶嶅埗">
+ <el-radio-group v-model="copyRadio">
+ <el-radio label="1">涓嶅鍒�</el-radio>
+ <el-radio label="2">澶嶅埗</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-col>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="resetForm('leftAdd')">鍙� 娑�</el-button>
<el-button type="primary" @click="submitForm('leftAdd')">纭� 瀹�</el-button>
</span>
</el-dialog>
- <!-- 鍙充笂渚х偣鍑诲垹闄ゆ寜閽� -->
+ <!-- 鍙充笂渚х偣鍑诲垹闄ゆ寜閽� -->
<el-dialog title="BOM鍒犻櫎" :visible.sync="bomRightDl" width="30%">
<el-form>
- 鍒犻櫎
+ 鍒犻櫎
</el-form>
<span slot="footer" class="dialog-footer">
- <el-button @click="bomRightDl=false">鍙� 娑�</el-button>
+ <el-button @click="bomRightDl = false">鍙� 娑�</el-button>
<el-button type="primary" @click="bomRightDl = false">纭� 瀹�</el-button>
</span>
</el-dialog>
@@ -388,100 +405,103 @@
import product from "./standard-table/product.vue"
import bomClickAdd from '@/components/view/standard-box/bomClickAdd'
export default {
- components: { technology,material,target,product,bomClickAdd },
+ components: { technology, material, target, product, bomClickAdd },
data() {
- var checkPq = (rule,value,callback)=>{
- if(value!='' && !Number.isInteger(value)){
+ var checkPq = (rule, value, callback) => {
+ if (value != '' && !Number.isInteger(value)) {
return callback(new Error('璇疯緭鍏ユ暟瀛楀��'));
}
callback();
};
- var checkVal = (rule,value,callback)=>{
- let arr = [">","<","="];
- if(value!='' && arr.indexOf(value.substring(0,1))==-1){
+ var checkVal = (rule, value, callback) => {
+ let arr = [">", "<", "="];
+ if (value != '' && arr.indexOf(value.substring(0, 1)) == -1) {
callback(new Error("寮�澶撮渶鍖呭惈 > 鎴� < 鎴� = "))
}
callback();
};
return {
//瀛愮粍浠朵紶鐨刬d鍒楄〃
- childIds:[],
- isUpdateDevice:false,
+ childIds: [],
+ copyRadio: "1",
+ spId: 0,
+ ver: 0,
+ isUpdateDevice: false,
//宸ュ簭鍒楄〃
- fatherList:[],
- deviceList:[],
- technologyForm:{
- tefather:'',
- tename:'',
- deviceGroup:'',
- productionQuota:''
+ fatherList: [],
+ deviceList: [],
+ technologyForm: {
+ tefather: '',
+ tename: '',
+ deviceGroup: '',
+ productionQuota: ''
},
- technologyRules:{
- tefather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
- tename:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'blur'},
- deviceGroup:{required:true,message:'璁惧缁勪笉鑳戒负绌�',trigger:'change'},
- productionQuota:{validator:checkPq,trigger:'change'}
+ technologyRules: {
+ tefather: { required: true, message: '宸ュ簭涓嶈兘涓虹┖', trigger: 'change' },
+ tename: { required: true, message: '宸ヨ壓鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' },
+ deviceGroup: { required: true, message: '璁惧缁勪笉鑳戒负绌�', trigger: 'change' },
+ productionQuota: { validator: checkPq, trigger: 'change' }
},
//鎶�鏈寚鏍�
- targetFormList:[],
- technologyIdList:[],
- projectList:[],
- targetForm:{
- pfather:'',
+ targetFormList: [],
+ technologyIdList: [],
+ projectList: [],
+ targetForm: {
+ pfather: '',
father: '',
- technologyId:'',
- name:'',
- unit:'',
- internal:'',
+ technologyId: '',
+ name: '',
+ unit: '',
+ internal: '',
required: ''
},
- targetRules:{
- pfather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
- technologyId:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'change'},
- father:{required:true,message:'椤圭洰涓嶈兘涓虹┖',trigger:'change'},
- name:{required:true,message:'鎸囨爣鍚嶇О涓嶈兘涓虹┖',trigger:'blur'},
- unit:{required:true,message:'鍗曚綅涓嶈兘涓虹┖',trigger:'change'},
- internal:{required:true,message:'鍐呮帶鍊间笉鑳戒负绌�',trigger:'change'},
- required:{required:true,message:'鏍囧噯鍊间笉鑳戒负绌�',trigger:'change'}
+ targetRules: {
+ pfather: { required: true, message: '宸ュ簭涓嶈兘涓虹┖', trigger: 'change' },
+ technologyId: { required: true, message: '宸ヨ壓鍚嶇О涓嶈兘涓虹┖', trigger: 'change' },
+ father: { required: true, message: '椤圭洰涓嶈兘涓虹┖', trigger: 'change' },
+ name: { required: true, message: '鎸囨爣鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' },
+ unit: { required: true, message: '鍗曚綅涓嶈兘涓虹┖', trigger: 'change' },
+ internal: { required: true, message: '鍐呮帶鍊间笉鑳戒负绌�', trigger: 'change' },
+ required: { required: true, message: '鏍囧噯鍊间笉鑳戒负绌�', trigger: 'change' }
},
//鐗╂枡娓呭崟
- materialForm:{
+ materialForm: {
mfather: '',
- mtechnologyId:'',
- tableList:[]
+ mtechnologyId: '',
+ tableList: []
},
- materialFormList:[],
- mIdList:[],
- materialRules:{
- mfather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
- mtechnologyId:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'change'},
+ materialFormList: [],
+ mIdList: [],
+ materialRules: {
+ mfather: { required: true, message: '宸ュ簭涓嶈兘涓虹┖', trigger: 'change' },
+ mtechnologyId: { required: true, message: '宸ヨ壓鍚嶇О涓嶈兘涓虹┖', trigger: 'change' },
},
//鐢熶骇宸ヨ壓
- productForm:{
- profather:'',
- protechnologyId:'',
- productFather:'',
- product:'',
- unit:'',
- device:''
+ productForm: {
+ profather: '',
+ protechnologyId: '',
+ productFather: '',
+ product: '',
+ unit: '',
+ device: ''
},
//璁惧鍒楄〃
- productDeviceList:[],
+ productDeviceList: [],
//宸ヨ壓鍚嶇О鍒楄〃
- proIdList:[],
+ proIdList: [],
//椤圭洰鍒楄〃
- productProjectList:[],
+ productProjectList: [],
//鎸囨爣鍒楄〃
- proProductList:[],
- productRules:{
- profather:{required:true,message:'宸ュ簭涓嶈兘涓虹┖',trigger:'change'},
- protechnologyId:{required:true,message:'宸ヨ壓鍚嶇О涓嶈兘涓虹┖',trigger:'change'},
- productFather:{required:true,message:'椤圭洰涓嶈兘涓虹┖',trigger:'change'},
- product:{required:true,message:'鎸囨爣涓嶈兘涓虹┖',trigger:'change'},
- device:{required:true,message:'璁惧涓嶈兘涓虹┖',trigger:'change'}
+ proProductList: [],
+ productRules: {
+ profather: { required: true, message: '宸ュ簭涓嶈兘涓虹┖', trigger: 'change' },
+ protechnologyId: { required: true, message: '宸ヨ壓鍚嶇О涓嶈兘涓虹┖', trigger: 'change' },
+ productFather: { required: true, message: '椤圭洰涓嶈兘涓虹┖', trigger: 'change' },
+ product: { required: true, message: '鎸囨爣涓嶈兘涓虹┖', trigger: 'change' },
+ device: { required: true, message: '璁惧涓嶈兘涓虹┖', trigger: 'change' }
},
- productFormList:[],
+ productFormList: [],
// BOM鏍戞暟鎹粨鏋�
list: [],
search: null,
@@ -496,10 +516,11 @@
bomLeftAdd: false,
bomRightUp: false,
bomRightDl: false,
+ isCopy: false,
formTypeOptions: null,
typeselect: 0,
- returntree: {id:28},
- leftAdd:{
+ returntree: { id: 28 },
+ leftAdd: {
type: [],
father: null,
standard: null,
@@ -509,195 +530,196 @@
versionData: [],
versionVal: null,
restaurants: [],
- bomName:[],
- bomStandard:[],
+ bomName: [],
+ bomStandard: [],
isLeftAdd: true
}
},
mounted() {
- this.tableType=0
+ this.tableType = 0
this.selectMaterialTree()
this.selectVersion()
},
methods: {
- updateDevice(val){
+ leftAddIsCopy() {
+ this.bomLeftAdd = true
+ this.copyRadio="1"
+ },
+ updateDevice(val) {
this.isUpdateDevice = val;
},
- changeLeftAdd(){
- if(this.leftAdd.type.length===2){
- this.leftAdd.father=null
- this.leftAdd.father=this.leftAdd.type[1]
- }
- if(this.leftAdd.type.length===3){
- this.leftAdd.name=null
- this.leftAdd.father=this.leftAdd.type[1]
- this.leftAdd.name=this.leftAdd.type[2]
- }
- if(this.leftAdd.type.length===4){
- this.leftAdd.standard=null
- this.leftAdd.father=this.leftAdd.type[1]
- this.leftAdd.name=this.leftAdd.type[2]
- this.leftAdd.standard=this.leftAdd.type[3]
- }
+ changeLeftAdd() {
+ if (this.leftAdd.type.length === 2) {
+ this.leftAdd.father = null
+ this.leftAdd.father = this.leftAdd.type[1]
+ }
+ if (this.leftAdd.type.length === 3) {
+ this.leftAdd.name = null
+ this.leftAdd.father = this.leftAdd.type[1]
+ this.leftAdd.name = this.leftAdd.type[2]
+ }
+ if (this.leftAdd.type.length === 4) {
+ this.leftAdd.standard = null
+ this.leftAdd.father = this.leftAdd.type[1]
+ this.leftAdd.name = this.leftAdd.type[2]
+ this.leftAdd.standard = this.leftAdd.type[3]
+ }
},
submitForm(formName) {
- this.$refs[formName].validate((valid) => {
- if (valid) {
- let obj=JSON.parse(JSON.stringify(this.leftAdd))
- if(obj.type.length===1){
- obj.type=this.getType(obj.type[0])
- this.$axios.post(this.$api.url.leftAddOneTwo,obj,{
- headers: { "Content-Type": "application/json" }
- }).then(res=>{
- this.$message({
- message: res.message,
- type: 'success'
- });
- this.leftAdd.type=[]
- this.leftAdd.father=null
- this.leftAdd.standard=null
- this.leftAdd.name=null
- this.leftAdd.specifications=null
- this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
- })
- return
- }
- let one=this.list.filter(item=>{
- return item.name===obj.type[0]
- })[0]
- let two=one.children.filter(item=>{
- return item.name===obj.father
- })[0]
- console.log("two",two);
- //鎵ц涓�浜岀骇鏂板
- if(two===undefined||two===null){
- obj.type=this.getType(obj.type[0])
- this.$axios.post(this.$api.url.leftAddOneTwo,obj,{
- headers: { "Content-Type": "application/json" }
- }).then(res=>{
- this.$message({
- message: res.message,
- type: 'success'
- });
- this.leftAdd.type=[]
- this.leftAdd.father=null
- this.leftAdd.standard=null
- this.leftAdd.name=null
- this.leftAdd.specifications=null
- this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
- })
- }else{
- let three=two.children.filter(item=>{
- return item.name===obj.name
- })[0]
- console.log("three",three);
- if(three===undefined||three===null){
- obj.type=this.getType(obj.type[0])
- this.$axios.post(this.$api.url.leftAddOneTwo,obj,{
- headers: { "Content-Type": "application/json" }
- }).then(res=>{
- this.$message({
- message: res.message,
- type: 'success'
- });
- this.leftAdd.type=[]
- this.leftAdd.father=null
- this.leftAdd.standard=null
- this.leftAdd.name=null
- this.leftAdd.specifications=null
- this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
- })
- }else{
- //鏂板鏍囧噯鍨嬪彿
- let four=three.children.filter(item=>{
- return item.name===obj.standard
- })[0]
- if(four===undefined||four===null){
- let StandardDto={
- "id": three.id,
- "specifications": obj.specifications,
- "standard": obj.standard
- }
- this.$axios.post(this.$api.url.leftAddThree,StandardDto,{
- headers: { "Content-Type": "application/json" }
- }).then(res=>{
- this.$message({
- message: res.message,
- type: 'success'
- });
- this.leftAdd.type=[]
- this.leftAdd.father=null
- this.leftAdd.standard=null
- this.leftAdd.name=null
- this.leftAdd.specifications=null
- this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
- })
- }else{
- let specificationsDto={
- "id": four.id,
- "specifications": obj.specifications
- }
- this.$axios.post(this.$api.url.leftAddFour,specificationsDto,{
- headers: { "Content-Type": "application/json" }
- }).then(res=>{
- this.$message({
- message: res.message,
- type: 'success'
- });
- this.leftAdd.type=[]
- this.leftAdd.father=null
- this.leftAdd.standard=null
- this.leftAdd.name=null
- this.leftAdd.specifications=null
- this.selectMaterialTree()
- this.bomLeftAdd=false
- this.selectVersion()
- })
- }
- }
- }
- this.resetForm('leftAdd')
- } else {
- console.log('error submit!!');
- return false;
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ let obj = JSON.parse(JSON.stringify(this.leftAdd))
+ if (obj.type.length === 1) {
+ obj.type = this.getType(obj.type[0])
+ this.$axios.post(this.$api.url.leftAddOneTwo+"?"+"spId="+this.spId+"&&"+"ver="+this.ver, obj, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ this.$message({
+ message: res.message,
+ type: 'success'
+ });
+ this.leftAdd.type = []
+ this.leftAdd.father = null
+ this.leftAdd.standard = null
+ this.leftAdd.name = null
+ this.leftAdd.specifications = null
+ this.selectMaterialTree()
+ this.bomLeftAdd = false
+ this.selectVersion()
+ })
+ return
}
- });
- },
- resetForm(formName) {
- this.bomLeftAdd=false
- this.$refs[formName].resetFields();
- },
- leftAddBom(){
+ let one = this.list.filter(item => {
+ return item.name === obj.type[0]
+ })[0]
+ let two = one.children.filter(item => {
+ return item.name === obj.father
+ })[0]
+ //鎵ц涓�浜岀骇鏂板
+ if (two === undefined || two === null) {
+ obj.type = this.getType(obj.type[0])
+ this.$axios.post(this.$api.url.leftAddOneTwo+"?"+"spId="+this.spId+"&&"+"ver="+this.ver, obj, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ this.$message({
+ message: res.message,
+ type: 'success'
+ });
+ this.leftAdd.type = []
+ this.leftAdd.father = null
+ this.leftAdd.standard = null
+ this.leftAdd.name = null
+ this.leftAdd.specifications = null
+ this.selectMaterialTree()
+ this.bomLeftAdd = false
+ this.selectVersion()
+ })
+ } else {
+ let three = two.children.filter(item => {
+ return item.name === obj.name
+ })[0]
+ if (three === undefined || three === null) {
+ obj.type = this.getType(obj.type[0])
+ this.$axios.post(this.$api.url.leftAddOneTwo+"?"+"spId="+this.spId+"&&"+"ver="+this.ver, obj, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ this.$message({
+ message: res.message,
+ type: 'success'
+ });
+ this.leftAdd.type = []
+ this.leftAdd.father = null
+ this.leftAdd.standard = null
+ this.leftAdd.name = null
+ this.leftAdd.specifications = null
+ this.selectMaterialTree()
+ this.bomLeftAdd = false
+ this.selectVersion()
+ })
+ } else {
+ //鏂板鏍囧噯鍨嬪彿
+ let four = three.children.filter(item => {
+ return item.name === obj.standard
+ })[0]
+ if (four === undefined || four === null) {
+ let StandardDto = {
+ "id": three.id,
+ "specifications": obj.specifications,
+ "standard": obj.standard
+ }
+ this.$axios.post(this.$api.url.leftAddThree+"?"+"spId="+this.spId+"&&"+"ver="+this.ver, StandardDto, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ this.$message({
+ message: res.message,
+ type: 'success'
+ });
+ this.leftAdd.type = []
+ this.leftAdd.father = null
+ this.leftAdd.standard = null
+ this.leftAdd.name = null
+ this.leftAdd.specifications = null
+ this.selectMaterialTree()
+ this.bomLeftAdd = false
+ this.selectVersion()
+ })
+ } else {
+ let specificationsDto = {
+ "id": four.id,
+ "specifications": obj.specifications
+ }
+ this.$axios.post(this.$api.url.leftAddFour+"?"+"spId="+this.spId+"&&"+"ver="+this.ver, specificationsDto, {
+ headers: { "Content-Type": "application/json" }
+ }).then(res => {
+ this.$message({
+ message: res.message,
+ type: 'success'
+ });
+ this.leftAdd.type = []
+ this.leftAdd.father = null
+ this.leftAdd.standard = null
+ this.leftAdd.name = null
+ this.leftAdd.specifications = null
+ this.selectMaterialTree()
+ this.bomLeftAdd = false
+ this.selectVersion()
+ })
+ }
+ }
+ }
+ this.resetForm('leftAdd')
+ } else {
+ return false;
+ }
+ });
+ },
+ resetForm(formName) {
+ this.bomLeftAdd = false
+ this.$refs[formName].resetFields();
+ },
+ leftAddBom() {
},
//鑾峰彇瀛愮粍浠舵暟鎹�
- getChildData(data){
+ getChildData(data) {
this.childIds = data;
},
//鐗╂枡娓呭崟-鏂板bom-琛ㄦ牸鍒犻櫎琛�
- removeMTableRow(index){
- this.materialForm.tableList.splice(index,1);
+ removeMTableRow(index) {
+ this.materialForm.tableList.splice(index, 1);
},
//鍒犻櫎鎸夐挳
- deleteDataBtn(){
+ deleteDataBtn() {
let ids;
let url;
- ids = this.childIds.filter(item=>{
+ ids = this.childIds.filter(item => {
return item != undefined;
});
- if(ids.length < 1){
+ if (ids.length < 1) {
this.$message.error("璇峰厛閫夋嫨鏁版嵁锛�");
return;
}
- switch(this.typeselect){
+ switch (this.typeselect) {
case 0:
url = this.$api.url.delAllByTechnology;
break;
@@ -712,75 +734,75 @@
break;
}
this.$confirm('纭鍒犻櫎宸查�変腑鐨勬暟鎹悧', '鍒犻櫎', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.$axios.post(url,{
- ids : ids.join(",")
- }).then(res=>{
- this.selectAll();
- this.$message.success(res.message);
- }).catch(error=>{
- this.$message.error(error.message);
- })
- }).catch(() => {});
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$axios.post(url, {
+ ids: ids.join(",")
+ }).then(res => {
+ this.selectAll();
+ this.$message.success(res.message);
+ }).catch(error => {
+ this.$message.error(error.message);
+ })
+ }).catch(() => { });
},
//鏂板鐗堟湰
- addVersionBtn(){
- this.$confirm('纭鏂板鐗堟湰鍚�', '鏂板鐗堟湰', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'info'
- }).then(() => {
- this.$axios.post(this.$api.url.addVersion,{
- specificationsId : this.returntree.id,
- version : this.versionVal,
- }).then(res=>{
- this.selectVersion();
- this.$message.success(res.message);
- })
+ addVersionBtn() {
+ this.$confirm('纭鏂板鐗堟湰鍚�', '鏂板鐗堟湰', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'info'
+ }).then(() => {
+ this.$axios.post(this.$api.url.addVersion, {
+ specificationsId: this.returntree.id,
+ version: this.versionVal,
+ }).then(res => {
+ this.selectVersion();
+ this.$message.success(res.message);
})
+ })
},
//鍙充晶bom,纭鏂板
- confirmAdd(formName){
- this.$refs[formName].validate(valid=>{
- if(valid){
+ confirmAdd(formName) {
+ this.$refs[formName].validate(valid => {
+ if (valid) {
let type = this.typeselect;
let obj = {}
- if(type == 0){
+ if (type == 0) {
obj = {
- version : this.versionVal,
- specificationsId: Number.parseInt(this.returntree.id),
- deviceGroup: this.technologyForm.deviceGroup,
- father: this.technologyForm.tefather,
- name: this.technologyForm.tename,
- productionQuota: this.technologyForm.productionQuota,
- }
- this.submitBomAdd(this.$api.url.addTechnology,obj);
- }else if(type == 1){
+ version: this.versionVal,
+ specificationsId: Number.parseInt(this.returntree.id),
+ deviceGroup: this.technologyForm.deviceGroup,
+ father: this.technologyForm.tefather,
+ name: this.technologyForm.tename,
+ productionQuota: this.technologyForm.productionQuota,
+ }
+ this.submitBomAdd(this.$api.url.addTechnology, obj);
+ } else if (type == 1) {
obj = this.targetForm;
obj.version = this.versionVal;
- this.submitBomAdd(this.$api.url.addProductByStandard,obj);
- }else if(type == 2){
+ this.submitBomAdd(this.$api.url.addProductByStandard, obj);
+ } else if (type == 2) {
obj = {
- mbomDto2List:this.materialForm.tableList,
- technologyId:this.materialForm.mtechnologyId,
- version : this.versionVal
+ mbomDto2List: this.materialForm.tableList,
+ technologyId: this.materialForm.mtechnologyId,
+ version: this.versionVal
}
- this.submitBomAdd(this.$api.url.addMBomByStandard,obj);
- }else if(type == 3){
- let form = this.productForm;
- obj = {
- device: form.device,
- product: form.product,
- productFather: form.productFather,
- technologyId: form.protechnologyId,
- unit: form.unit,
- version : this.versionVal
- }
- this.submitBomAdd(this.$api.url.addTechniqueByStandard,obj);
- }else{
+ this.submitBomAdd(this.$api.url.addMBomByStandard, obj);
+ } else if (type == 3) {
+ let form = this.productForm;
+ obj = {
+ device: form.device,
+ product: form.product,
+ productFather: form.productFather,
+ technologyId: form.protechnologyId,
+ unit: form.unit,
+ version: this.versionVal
+ }
+ this.submitBomAdd(this.$api.url.addTechniqueByStandard, obj);
+ } else {
return
}
this.technologyVisible = false;
@@ -790,56 +812,56 @@
}
})
},
- submitBomAdd(url,data){
+ submitBomAdd(url, data) {
this.$axios.post(
- url,data,
- {headers: { "Content-Type": "application/json" }}
- ).then(res=>{
+ url, data,
+ { headers: { "Content-Type": "application/json" } }
+ ).then(res => {
this.selectAll();
this.$message.success(res.message);
- }).catch(error=>{
+ }).catch(error => {
})
},
//娓呯┖鏂板bom琛ㄥ崟
- clearBomAddModel(){
- if(this.typeselect == 0){
- this.deviceList=[];
+ clearBomAddModel() {
+ if (this.typeselect == 0) {
+ this.deviceList = [];
this.$refs["technologyForm"].resetFields();
- }else if(this.typeselect == 1){
+ } else if (this.typeselect == 1) {
this.technologyIdList = [];
this.projectList = [];
this.$refs["targetForm"].resetFields();
- }else if(this.typeselect == 2){
+ } else if (this.typeselect == 2) {
this.mIdList = [];
this.materialForm.tableList = [];
this.$refs["materialForm"].resetFields();
- }else{
- this.productDeviceList=[];
- this.proIdList=[];
- this.productProjectList=[];
- this.proProductList=[];
+ } else {
+ this.productDeviceList = [];
+ this.proIdList = [];
+ this.productProjectList = [];
+ this.proProductList = [];
this.$refs["productForm"].resetFields();
}
},
- changeTechnologyId(val){
- this.$axios.get(this.$api.url.chooseFatherByStandard,{
- params:{technologyId : val}
- }).then(res=>{
+ changeTechnologyId(val) {
+ this.$axios.get(this.$api.url.chooseFatherByStandard, {
+ params: { technologyId: val }
+ }).then(res => {
this.projectList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
});
},
- changeFather(val){
- let arr = this.targetFormList.filter(item=>{
+ changeFather(val) {
+ let arr = this.targetFormList.filter(item => {
return item.name == val;
});
- if(arr != undefined || arr.children != null){
+ if (arr != undefined || arr.children != null) {
this.technologyIdList = arr[0].children;
}
},
//鐗╂枡娓呭崟--娣诲姞琛�
- addRowByMaterial(){
+ addRowByMaterial() {
let obj = {
"name": "",
"num": null,
@@ -851,137 +873,136 @@
this.materialForm.tableList.push(obj);
},
//鐗╂枡娓呭崟--鑾峰彇宸ュ簭锛屽伐鑹哄垪琛�
- getMaterialFormList(){
- this.$axios.get(this.$api.url.chooseTechByMBom,{
- params:{
- specificationsId : this.returntree.id,
- version : this.versionVal
+ getMaterialFormList() {
+ this.$axios.get(this.$api.url.chooseTechByMBom, {
+ params: {
+ specificationsId: this.returntree.id,
+ version: this.versionVal
}
- }).then(res=>{
+ }).then(res => {
this.materialFormList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
- changeMName(val){
- let arr = this.materialFormList.filter(item=>{
+ changeMName(val) {
+ let arr = this.materialFormList.filter(item => {
return item.name == val;
})
this.mIdList = arr[0].children;
},
//鎶�鏈寚鏍�--鑾峰彇宸ュ簭锛屽伐鑹哄垪琛�
- getTargetFormList(){
- this.$axios.get(this.$api.url.chooseTechByStandard,{
- params:{
- specificationsId : this.returntree.id,
- version : this.versionVal
+ getTargetFormList() {
+ this.$axios.get(this.$api.url.chooseTechByStandard, {
+ params: {
+ specificationsId: this.returntree.id,
+ version: this.versionVal
}
- }).then(res=>{
+ }).then(res => {
this.targetFormList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
//1.鐢熶骇宸ヨ壓-->閫夋嫨宸ュ簭,宸ヨ壓
- getProductFormList(){
- this.$axios.get(this.$api.url.chooseTechByProduct,{
- params:{
- specificationsId : this.returntree.id,
- version : this.versionVal
+ getProductFormList() {
+ this.$axios.get(this.$api.url.chooseTechByProduct, {
+ params: {
+ specificationsId: this.returntree.id,
+ version: this.versionVal
}
- }).then(res=>{
+ }).then(res => {
this.productFormList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
//2.閫夋嫨宸ュ簭锛岃幏鍙栧伐鑹哄悕绉�
- changeProduct(val){
- let arr = this.productFormList.filter(item=>{
+ changeProduct(val) {
+ let arr = this.productFormList.filter(item => {
return item.name == val
});
this.proIdList = arr[0].children;
},
//3.鐢熶骇宸ヨ壓-->閫夋嫨璁惧
- getProductDeviceList(val){
- this.$axios.get(this.$api.url.chooseDevByProduct,{
- params:{technologyId : val}
- }).then(res=>{
+ getProductDeviceList(val) {
+ this.$axios.get(this.$api.url.chooseDevByProduct, {
+ params: { technologyId: val }
+ }).then(res => {
this.productDeviceList = res.data;
this.getProjectFormList(val);
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
//4.鐢熶骇宸ヨ壓--鑾峰彇椤圭洰鍒楄〃
- getProjectFormList(val){
- this.$axios.get(this.$api.url.chooseProByProduct,{
- params:{technologyId : val}
- }).then(res=>{
+ getProjectFormList(val) {
+ this.$axios.get(this.$api.url.chooseProByProduct, {
+ params: { technologyId: val }
+ }).then(res => {
this.productProjectList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
//5.閫夋嫨椤圭洰鍒楄〃,鑾峰彇鎸囨爣
- changeProductFather(val){
- let arr = this.productProjectList.filter(item=>{
+ changeProductFather(val) {
+ let arr = this.productProjectList.filter(item => {
return item.name == val;
})
this.proProductList = arr[0].children;
},
//閫夋嫨鎸囨爣鍒楄〃
- changeProProduct(val){
- let arr = this.proProductList.filter(item=>{
+ changeProProduct(val) {
+ let arr = this.proProductList.filter(item => {
return item.name == val;
})
this.productForm.unit = arr[0].unit;
},
//宸ヨ壓璺嚎--鑾峰彇宸ュ簭鍒楄〃
- getFatherList(){
- this.$axios.get(this.$api.url.chooseFather,{
- params:{
- specificationsId : this.returntree.id,
+ getFatherList() {
+ this.$axios.get(this.$api.url.chooseFather, {
+ params: {
+ specificationsId: this.returntree.id,
version: this.versionVal
}
- }).then(res=>{
+ }).then(res => {
this.fatherList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
//宸ヨ壓璺嚎--鑾峰彇璁惧缁勫垪琛�
- getDeviceList(){
- this.$axios.get(this.$api.url.chooseDevice).then(res=>{
+ getDeviceList() {
+ this.$axios.get(this.$api.url.chooseDevice).then(res => {
this.deviceList = res.data;
- }).catch(error=>{
+ }).catch(error => {
this.$message.error(error.message);
})
},
- showBomAddModel(){
- if(this.typeselect == 0){
+ showBomAddModel() {
+ if (this.typeselect == 0) {
this.getFatherList();
this.getDeviceList();
this.technologyVisible = true
- }else if(this.typeselect == 1){
+ } else if (this.typeselect == 1) {
this.getTargetFormList();
this.targetVisible = true
- }else if(this.typeselect == 2){
+ } else if (this.typeselect == 2) {
this.getMaterialFormList();
this.materialVisible = true
- }else{
+ } else {
this.getProductFormList();
this.productVisible = true
}
},
- startLeftAdd(){
+ startLeftAdd() {
},
- getType(typeName){
- return typeName==="鎴愬搧"?1:2
+ getType(typeName) {
+ return typeName === "鎴愬搧" ? 1 : 2
},
handleSelect(item) {
- console.log(item);
},
querySearch(queryString, cb) {
var restaurants = this.restaurants;
@@ -1001,9 +1022,9 @@
// 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
cb(results);
},
- loadFatherType(){
- return [{label:"姗¤兌杩炴帴鍣�",value: "姗¤兌杩炴帴鍣�"},{label:"閲戝睘杩炴帴鍣�",value: "閲戝睘杩炴帴鍣�"},
- {label:"婀挎彃鎷旂數杩炴帴鍣�",value: "婀挎彃鎷旂數杩炴帴鍣�"},{label:"鍒嗘敮缁勪欢",value: "鍒嗘敮缁勪欢"}]
+ loadFatherType() {
+ return [{ label: "姗¤兌杩炴帴鍣�", value: "姗¤兌杩炴帴鍣�" }, { label: "閲戝睘杩炴帴鍣�", value: "閲戝睘杩炴帴鍣�" },
+ { label: "婀挎彃鎷旂數杩炴帴鍣�", value: "婀挎彃鎷旂數杩炴帴鍣�" }, { label: "鍒嗘敮缁勪欢", value: "鍒嗘敮缁勪欢" }]
},
createFilter(queryString) {
return (restaurant) => {
@@ -1011,30 +1032,30 @@
};
},
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]'
- if (c.children != undefined) {
- c.children.forEach(d => {
- d.code = '[4]'
- if (d.children != undefined) {
- d.children.forEach(e => {
- e.code = '[5]'
- })
- }
- })
- }
- })
- }
- })
- }
- })
- },
+ 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]'
+ if (c.children != undefined) {
+ c.children.forEach(d => {
+ d.code = '[4]'
+ if (d.children != undefined) {
+ d.children.forEach(e => {
+ e.code = '[5]'
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ }
+ })
+ },
handleSelectionChange() {
},
@@ -1048,9 +1069,12 @@
}
},
handleNodeClick(val) {//鏍戠殑鍊�
- if(val.code==='[5]'&&val.children===undefined){
+ if (val.code === '[5]' && val.children === undefined) {
+ this.isCopy=true
this.returntree = val
this.selectVersion()
+ }else{
+ this.isCopy=false
}
},
async selectVersion() {//鐗堟湰
@@ -1062,11 +1086,11 @@
}
}).then(res => {
//鍒濆鍖栫増鏈�夋嫨鍒楄〃
- if(res.data != null){
- res.data.forEach(item=>{
+ if (res.data != null) {
+ res.data.forEach(item => {
this.versionData.push({
- label:"v"+item,
- value:item
+ label: "v" + item,
+ value: item
})
this.versionVal = res.data[0];
})
@@ -1089,14 +1113,14 @@
this.tableData = arr;
})
},
- formatData(data){
+ formatData(data) {
let arr = data;
- for(var i=0;i<arr.length;i++){
- arr[i].rowId = Math.random();
- if(arr[i].children != undefined){
- this.formatData(arr[i].children);
- }
+ for (var i = 0; i < arr.length; i++) {
+ arr[i].rowId = Math.random();
+ if (arr[i].children != undefined) {
+ this.formatData(arr[i].children);
}
+ }
},
verevent(val) {
this.versionVal = val
@@ -1104,8 +1128,8 @@
},
//浜旂骇鏍�
selectMaterialTree() {
- this.$axios.get(this.$api.url.selectTreeByMaterial).then( res => {
- this.list=res.data
+ this.$axios.get(this.$api.url.selectTreeByMaterial).then(res => {
+ this.list = res.data
this.list.forEach((el, idx, arr) => {
if (idx == 0) {
arr[idx].name = '鎴愬搧'
@@ -1114,26 +1138,26 @@
arr[idx].name = '鍗婃垚鍝�'
}
})
- if(res.data.length<1){
- let obj={
+ if (res.data.length < 1) {
+ let obj = {
name: '鎴愬搧',
}
- let obj2={
+ let obj2 = {
name: '鍗婃垚鍝�',
}
this.list.push(obj)
this.list.push(obj2)
}
- if(res.data.length===1){
- if(res.data[0].name==='鎴愬搧'){
+ if (res.data.length === 1) {
+ if (res.data[0].name === '鎴愬搧') {
this.list.push({
- name: '鍗婃垚鍝�',
- })
+ name: '鍗婃垚鍝�',
+ })
}
- if(res.data[0].name==='鍗婃垚鍝�'){
+ if (res.data[0].name === '鍗婃垚鍝�') {
this.list.push({
- name: '鎴愬搧',
- })
+ name: '鎴愬搧',
+ })
}
}
this.selectDataList()
@@ -1154,16 +1178,16 @@
})
},
getDefault(arr, index) {
- for (const item of arr) {
- if (item.children && item.children.length > 0) {
- // 鏈夊瓙鑺傜偣
- this.getDefault(item.children, index + 1);
- if (index === 2) {
- item.children = null;
- }
- }
- }
- },
+ for (const item of arr) {
+ if (item.children && item.children.length > 0) {
+ // 鏈夊瓙鑺傜偣
+ this.getDefault(item.children, index + 1);
+ if (index === 2) {
+ item.children = null;
+ }
+ }
+ }
+ },
filterNode(value, data) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
@@ -1185,13 +1209,13 @@
$($(el.$el).find('.node_i')[0]).attr('class', 'node_i el-icon-folder')
},
// 閫掑綊鏇存敼娣诲姞绾ц仈鎵�闇�灞炴��
- replaceProp(arr){
+ replaceProp(arr) {
for (let index = 0; index < arr.length; index++) {
let element = arr[index];
- element.label=element.name
- element.value=element.name
- if(element.children!=undefined){
- if(element.code==='[4]'){
+ element.label = element.name
+ element.value = element.name
+ if (element.children != undefined) {
+ if (element.code === '[4]') {
delete element['children']
continue
}
@@ -1200,96 +1224,104 @@
}
}
},
- watch:{
- isUpdateDevice(val){
- if(val){
+ watch: {
+ isUpdateDevice(val) {
+ if (val) {
this.selectAll();
}
},
search(val) {
- this.$refs.tree.filter(val);
+ this.$refs.tree.filter(val);
},
leftAdd: {
- handler(newVal, oldVal) {
- if(this.isLeftAdd){
- let tree=JSON.parse(JSON.stringify(this.list))
- console.log(tree);
- let father=null;
- if(newVal.father!=null&&newVal.father!=''&&newVal.type.length>0){
- let one=tree.filter(item=>{
- return item.name===newVal.type[0]
- })[0]
- console.log(one);
- if(one.children===undefined){
- return
+ handler(newVal, oldVal) {
+ if (this.isLeftAdd) {
+ let tree = JSON.parse(JSON.stringify(this.list))
+ let father = null;
+ if (newVal.father != null && newVal.father != '' && newVal.type.length > 0) {
+ let one = tree.filter(item => {
+ return item.name === newVal.type[0]
+ })[0]
+ if (one.children === undefined) {
+ return
+ }
+ let two = one.children.filter(item => {
+ return item.name === newVal.father
+ })[0]
+ if (two != undefined) {
+ this.bomName = []
+ father = JSON.parse(JSON.stringify(two))
+ two.children.forEach(item => {
+ let obj = { label: item.name, value: item.name }
+ this.bomName.push(obj)
+ })
+ }
}
- let two=one.children.filter(item=>{
- return item.name===newVal.father
- })[0]
- if(two!=undefined){
- this.bomName=[]
- father=JSON.parse(JSON.stringify(two))
- two.children.forEach(item=>{
- let obj={label: item.name,value: item.name}
- this.bomName.push(obj)
- })
+ if (newVal.name != null && newVal != '' && newVal.father != null && newVal.father != '' && newVal.type.length > 0) {
+ let three = null
+ if (father != undefined && father != null) {
+ three = father.children.filter(item => {
+ return item.name === newVal.name
+ })[0]
+ }
+ if (three != undefined && three != null) {
+ this.bomStandard = []
+ three.children.forEach(item => {
+ let obj = { label: item.name, value: item.name }
+ this.bomStandard.push(obj)
+ })
+ }
}
- }
- if(newVal.name!=null&&newVal!=''&&newVal.father!=null&&newVal.father!=''&&newVal.type.length>0){
- let three=null
- if(father!=undefined&&father!=null){
- three=father.children.filter(item=>{
- return item.name===newVal.name
- })[0]
- }
- if(three!=undefined&&three!=null){
- this.bomStandard=[]
- three.children.forEach(item=>{
- let obj={label: item.name,value: item.name}
- this.bomStandard.push(obj)
- })
- }
- }
- }
+ }
+ },
+ deep: true // 娣卞害鐩戝惉瀵硅薄鍐呴儴灞炴�х殑鍙樺寲锛屽彲閫夌殑
},
- deep: true // 娣卞害鐩戝惉瀵硅薄鍐呴儴灞炴�х殑鍙樺寲锛屽彲閫夌殑
- },
- bomLeftAdd:{
- handler(newval,oldVal){
- if(newval){
- let treeOptions = JSON.parse(JSON.stringify(this.list));
- this.replaceProp(treeOptions)
- this.formTypeOptions=treeOptions
- this.restaurants=this.loadFatherType()
+ bomLeftAdd: {
+ handler(newval, oldVal) {
+ if (newval) {
+ let treeOptions = JSON.parse(JSON.stringify(this.list));
+ this.replaceProp(treeOptions)
+ this.formTypeOptions = treeOptions
+ this.restaurants = this.loadFatherType()
}
}
},
- technologyVisible(newVal){
- if(!newVal){
+ technologyVisible(newVal) {
+ if (!newVal) {
this.clearBomAddModel();
}
},
- targetVisible(newVal){
- if(!newVal){
+ targetVisible(newVal) {
+ if (!newVal) {
this.clearBomAddModel();
}
},
- materialVisible(newVal){
- if(!newVal){
+ materialVisible(newVal) {
+ if (!newVal) {
this.clearBomAddModel();
}
},
- productVisible(newVal){
- if(!newVal){
+ productVisible(newVal) {
+ if (!newVal) {
this.clearBomAddModel();
}
+ },
+ copyRadio: {
+ handler(newval, oldVal) {
+ if (newval==='2') {
+ this.spId=JSON.stringify(this.returntree.id)
+ this.ver=JSON.stringify(this.versionVal)
+ }else{
+ this.spId=0
+ this.ver=0
+ }
}
+ }
}
}
</script>
<style scoped>
-
.standard .title .el-button {
height: 32px;
border: 1px solid rgba(190, 190, 190, 0.44);
@@ -1297,9 +1329,9 @@
padding: 0 12px;
}
- .contentTable{
- width:98%;
- margin-left:1%;
+.contentTable {
+ width: 98%;
+ margin-left: 1%;
}
.standard .title {
@@ -1326,14 +1358,14 @@
padding: 16px;
}
-.thing .left .left_search{
- width:95%;
+.thing .left .left_search {
+ width: 95%;
height: 32px;
line-height: 32px;
margin-bottom: 5px;
}
-.thing .left .left_tree{
+.thing .left .left_tree {
width: 100%;
height: calc(100% - 32px);
overflow-y: scroll;
--
Gitblit v1.9.3