|
|
@@ -15,6 +15,7 @@
|
|
|
>
|
|
|
<el-radio-button :label="1">PBOM</el-radio-button>
|
|
|
<el-radio-button :label="2">MBOM</el-radio-button>
|
|
|
+ <el-radio-button :label="3">ABOM</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
|
|
|
@@ -45,7 +46,6 @@
|
|
|
size="mini"
|
|
|
icon="el-icon-plus"
|
|
|
@click="add"
|
|
|
- v-if="currentNodeData.bomType == 2"
|
|
|
>新建</el-button
|
|
|
>
|
|
|
<el-button
|
|
|
@@ -79,7 +79,7 @@
|
|
|
v-if="currentNodeData.bomType == 1"
|
|
|
>转换MBOM</el-button
|
|
|
>
|
|
|
- <div class="back-btn">
|
|
|
+ <div v-if="!noBack" class="back-btn">
|
|
|
<el-button size="mini" icon="el-icon-back" @click="back"
|
|
|
>返回</el-button
|
|
|
>
|
|
|
@@ -90,14 +90,23 @@
|
|
|
:dataInfo="currentNodeData"
|
|
|
v-if="currentNodeData.bomType == 2"
|
|
|
/>
|
|
|
- <el-tabs class="tab-box" type="border-card">
|
|
|
- <el-tab-pane label="属性">
|
|
|
+ <el-tabs
|
|
|
+ v-model="activeName"
|
|
|
+ class="tab-box"
|
|
|
+ type="border-card"
|
|
|
+ @tab-click="handleClick"
|
|
|
+ >
|
|
|
+ <el-tab-pane label="属性" name="属性">
|
|
|
<attribute :attributeData="currentNodeData"></attribute>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="文档">
|
|
|
+ <el-tab-pane label="文档" name="文档">
|
|
|
<document></document>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane v-if="currentNodeData.level == 3" label="工艺">
|
|
|
+ <el-tab-pane
|
|
|
+ v-if="currentNodeData.children?.length < 1"
|
|
|
+ label="工艺"
|
|
|
+ name="工艺"
|
|
|
+ >
|
|
|
<workmanship
|
|
|
ref="workmanshipRef"
|
|
|
:taskParam="currentNodeData"
|
|
|
@@ -108,7 +117,7 @@
|
|
|
</template>
|
|
|
</ele-split-layout>
|
|
|
</el-card>
|
|
|
- <bomTreeDialog ref="bomTreeDialogRef" @reload="getTreeData" />
|
|
|
+ <bomTreeDialog ref="bomTreeDialogRef" @reload="bomTreeDialogReload" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -135,6 +144,7 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ activeName: '属性',
|
|
|
currentNodeData: {
|
|
|
bomType: 1,
|
|
|
children: []
|
|
|
@@ -152,15 +162,44 @@
|
|
|
filterText: null,
|
|
|
categoryId: 1,
|
|
|
versions: null,
|
|
|
- loadingInstance: null
|
|
|
+ loadingInstance: null,
|
|
|
+ noBack: false
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.versions = this.$route.query.versions;
|
|
|
- this.categoryId = this.$route.query.categoryId;
|
|
|
- this.getTreeData();
|
|
|
+ this.initData();
|
|
|
+ },
|
|
|
+ activated() {
|
|
|
+ this.initData();
|
|
|
},
|
|
|
methods: {
|
|
|
+ bomTreeDialogReload(versions) {
|
|
|
+ this.versions = versions;
|
|
|
+ if (!this.$route.query.versions) {
|
|
|
+ this.$router.replace({
|
|
|
+ path: '/material/BOMmanage/details',
|
|
|
+ query: { categoryId: this.categoryId, versions: versions }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ this.getTreeData();
|
|
|
+ },
|
|
|
+ initData() {
|
|
|
+ console.log('触发了!!!!');
|
|
|
+ this.versions = this.$route.query.versions;
|
|
|
+ this.categoryId = this.$route.query.categoryId;
|
|
|
+ this.noBack = this.$route.query.noBack;
|
|
|
+ (this.currentNodeData = {
|
|
|
+ bomType: 1,
|
|
|
+ children: []
|
|
|
+ }),
|
|
|
+ this.getTreeData();
|
|
|
+ },
|
|
|
+ handleClick(tab) {
|
|
|
+ console.log(tab);
|
|
|
+ if (tab.name === '工艺' && this.currentNodeData.children?.length < 1) {
|
|
|
+ this.$refs.workmanshipRef.reload();
|
|
|
+ }
|
|
|
+ },
|
|
|
remove() {
|
|
|
this.$confirm('是否确认删除?', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
@@ -226,12 +265,16 @@
|
|
|
});
|
|
|
this.treeLoading = false;
|
|
|
if (res?.code === '0') {
|
|
|
- this.treeList = res.data;
|
|
|
- this.$nextTick(() => {
|
|
|
- // 默认高亮第一个
|
|
|
- this.$refs.treeRef.setCurrentKey(res.data[0].id);
|
|
|
- this.handleNodeClick(res.data[0]);
|
|
|
- });
|
|
|
+ if (res.data?.length > 0) {
|
|
|
+ this.treeList = res.data;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ // 默认高亮第一个
|
|
|
+ this.$refs.treeRef.setCurrentKey(res.data[0].id);
|
|
|
+ this.handleNodeClick(res.data[0]);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.treeList = [];
|
|
|
+ }
|
|
|
return this.treeList;
|
|
|
}
|
|
|
} catch (error) {
|
|
|
@@ -242,8 +285,23 @@
|
|
|
},
|
|
|
|
|
|
handleNodeClick(data) {
|
|
|
- console.log(data);
|
|
|
- this.currentNodeData = data;
|
|
|
+ if (data) {
|
|
|
+ this.versions = data.versions;
|
|
|
+ this.currentNodeData = data;
|
|
|
+ if (
|
|
|
+ this.activeName == '工艺' &&
|
|
|
+ this.currentNodeData.children?.length < 1
|
|
|
+ ) {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.workmanshipRef.reload();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.currentNodeData = {
|
|
|
+ bomType: 1,
|
|
|
+ children: []
|
|
|
+ };
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|