|
@@ -2,9 +2,17 @@
|
|
|
<div class="ele-body">
|
|
<div class="ele-body">
|
|
|
<el-card shadow="never">
|
|
<el-card shadow="never">
|
|
|
<ele-split-layout
|
|
<ele-split-layout
|
|
|
- width="260px"
|
|
|
|
|
|
|
+ width="320px"
|
|
|
allow-collapse
|
|
allow-collapse
|
|
|
|
|
+ :resizable="true"
|
|
|
|
|
+ :min-size="200"
|
|
|
|
|
+ :max-size="-200"
|
|
|
|
|
+ :left-style="{
|
|
|
|
|
+ overflow: 'hidden',
|
|
|
|
|
+ width: '100%'
|
|
|
|
|
+ }"
|
|
|
:right-style="{ overflow: 'hidden' }"
|
|
:right-style="{ overflow: 'hidden' }"
|
|
|
|
|
+ :responsive="false"
|
|
|
>
|
|
>
|
|
|
<div class="ele-border-lighter sys-organization-list">
|
|
<div class="ele-border-lighter sys-organization-list">
|
|
|
<div class="radio_box rx-cc">
|
|
<div class="radio_box rx-cc">
|
|
@@ -16,6 +24,7 @@
|
|
|
<el-radio-button :label="1">PBOM</el-radio-button>
|
|
<el-radio-button :label="1">PBOM</el-radio-button>
|
|
|
<el-radio-button :label="2">MBOM</el-radio-button>
|
|
<el-radio-button :label="2">MBOM</el-radio-button>
|
|
|
<el-radio-button :label="3">ABOM</el-radio-button>
|
|
<el-radio-button :label="3">ABOM</el-radio-button>
|
|
|
|
|
+ <el-radio-button :label="4">CBOM</el-radio-button>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -36,7 +45,12 @@
|
|
|
:highlight-current="true"
|
|
:highlight-current="true"
|
|
|
node-key="id"
|
|
node-key="id"
|
|
|
@node-click="handleNodeClick"
|
|
@node-click="handleNodeClick"
|
|
|
- ></el-tree>
|
|
|
|
|
|
|
+ >
|
|
|
|
|
+ <span class="custom-tree-node" slot-scope="{ node, data }">
|
|
|
|
|
+ {{ node.label }} / {{ data.code }}
|
|
|
|
|
+ </span>
|
|
|
|
|
+
|
|
|
|
|
+ </el-tree>
|
|
|
</div>
|
|
</div>
|
|
|
<template v-slot:content>
|
|
<template v-slot:content>
|
|
|
<div class="pbom-box">
|
|
<div class="pbom-box">
|
|
@@ -85,11 +99,22 @@
|
|
|
size="mini"
|
|
size="mini"
|
|
|
icon="el-icon-refresh"
|
|
icon="el-icon-refresh"
|
|
|
plain
|
|
plain
|
|
|
- @click="transformation('A')"
|
|
|
|
|
|
|
+ @click="transformation('A')"
|
|
|
v-if="currentNodeData.bomType == 1"
|
|
v-if="currentNodeData.bomType == 1"
|
|
|
>转换ABOM</el-button
|
|
>转换ABOM</el-button
|
|
|
>
|
|
>
|
|
|
|
|
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ icon="el-icon-refresh"
|
|
|
|
|
+ plain
|
|
|
|
|
+ @click="transformation('C')"
|
|
|
|
|
+ v-if="currentNodeData.bomType == 1"
|
|
|
|
|
+ >转换CBOM</el-button
|
|
|
|
|
+ >
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
<div v-if="!noBack" class="back-btn">
|
|
<div v-if="!noBack" class="back-btn">
|
|
|
<el-button size="mini" icon="el-icon-back" @click="back"
|
|
<el-button size="mini" icon="el-icon-back" @click="back"
|
|
|
>返回</el-button
|
|
>返回</el-button
|
|
@@ -97,13 +122,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- <baseInfo
|
|
|
|
|
- :dataInfo="currentNodeData"
|
|
|
|
|
-
|
|
|
|
|
- />
|
|
|
|
|
-
|
|
|
|
|
|
|
+ <baseInfo :dataInfo="currentNodeData" />
|
|
|
|
|
|
|
|
<el-tabs
|
|
<el-tabs
|
|
|
v-model="activeName"
|
|
v-model="activeName"
|
|
@@ -152,6 +171,7 @@
|
|
|
getBomGetById,
|
|
getBomGetById,
|
|
|
convert,
|
|
convert,
|
|
|
convertABom,
|
|
convertABom,
|
|
|
|
|
+ convertCBom,
|
|
|
deleteBomTreeList
|
|
deleteBomTreeList
|
|
|
} from '@/api/material/BOM.js';
|
|
} from '@/api/material/BOM.js';
|
|
|
import { getTreeByGroup } from '@/api/classifyManage';
|
|
import { getTreeByGroup } from '@/api/classifyManage';
|
|
@@ -185,7 +205,8 @@
|
|
|
rootTreeId: null,
|
|
rootTreeId: null,
|
|
|
defaultProps: {
|
|
defaultProps: {
|
|
|
children: 'children',
|
|
children: 'children',
|
|
|
- label: 'name'
|
|
|
|
|
|
|
+ label: 'name',
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
loading: false,
|
|
loading: false,
|
|
|
filterText: null,
|
|
filterText: null,
|
|
@@ -220,7 +241,7 @@
|
|
|
this.noBack = this.$route.query.noBack;
|
|
this.noBack = this.$route.query.noBack;
|
|
|
|
|
|
|
|
(this.currentNodeData = {
|
|
(this.currentNodeData = {
|
|
|
- bomType: this.$route.query.bType || 1,
|
|
|
|
|
|
|
+ bomType: this.$route.query.bType || 1,
|
|
|
children: []
|
|
children: []
|
|
|
}),
|
|
}),
|
|
|
this.getTreeData();
|
|
this.getTreeData();
|
|
@@ -276,8 +297,8 @@
|
|
|
text: '转换中...',
|
|
text: '转换中...',
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
});
|
|
|
- let ULR = tt == 'M' ? convert : convertABom;
|
|
|
|
|
- ULR({ versions: this.versions, categoryId: this.categoryId }).then(
|
|
|
|
|
|
|
+ let ULR = tt == 'M' ? convert : tt == 'A' ? convertABom : convertCBom;
|
|
|
|
|
+ ULR({ versions: this.versions, categoryId: this.categoryId }).then(
|
|
|
(data) => {
|
|
(data) => {
|
|
|
if (data.code == '0') {
|
|
if (data.code == '0') {
|
|
|
this.loadingInstance.close();
|
|
this.loadingInstance.close();
|
|
@@ -291,7 +312,7 @@
|
|
|
this.currentNodeData.bomType,
|
|
this.currentNodeData.bomType,
|
|
|
this.versions,
|
|
this.versions,
|
|
|
this.categoryId,
|
|
this.categoryId,
|
|
|
- this.treeId
|
|
|
|
|
|
|
+ this.treeId
|
|
|
);
|
|
);
|
|
|
},
|
|
},
|
|
|
async getTreeData() {
|
|
async getTreeData() {
|
|
@@ -323,7 +344,7 @@
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
handleNodeClick(data) {
|
|
handleNodeClick(data) {
|
|
|
- this.treeId = data.id;
|
|
|
|
|
|
|
+ this.treeId = data.id;
|
|
|
this.handBomDetails(data.id);
|
|
this.handBomDetails(data.id);
|
|
|
},
|
|
},
|
|
|
|
|
|