From 9ed9db9716f36e797141d9a80119fd0c1f4ac7a5 Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期二, 14 一月 2025 15:12:14 +0800 Subject: [PATCH] 1、产品/部件/零件的新增与编辑以及根据层级查询对应文档功能已完成后端联调 2、产品结构树新增节点展开记忆功能方便新增节点后查看 --- src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue | 56 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 44 insertions(+), 12 deletions(-) diff --git a/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue b/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue index 9a6a8e1..790df03 100644 --- a/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue +++ b/src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue @@ -1,37 +1,52 @@ <template> - <a-tabs v-model="activeTabKey" @contextmenu.native="e=>e.preventDefault()" + <a-tabs v-model="activeTabKey" @change="handleTabChange" @contextmenu.native="e=>e.preventDefault()" v-if="Object.keys(currentTreeNodeInfo).length!==0"> <a-tab-pane :key="1" tab="NC鏂囨。" v-if="currentTreeNodeInfo.type!==1"> - <NcDocumentTableList @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> + <NcDocumentTableList ref="ncDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo" + @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> </a-tab-pane> <a-tab-pane :key="2" tab="鍏朵粬鏂囨。"> - <OtherDocumentTableList @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> + <OtherDocumentTableList ref="otherDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo" + @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/> </a-tab-pane> - <TableContextMenu :currentTableRowInfo="currentTableRowInfo" ref="tableContextMenuRef"/> + <TableContextMenu :tableRowInfo="currentRightClickedTableRowInfo" ref="tableContextMenuRef"/> </a-tabs> </template> <script> - import ProcessTableList from './Process/ProcessTableList' import NcDocumentTableList from './Document/NcDocumentTableList' import OtherDocumentTableList from './Document/OtherDocumentTableList' import TableContextMenu from '../../../common/TableContextMenu' export default { name: 'ProductStructureMainTop', - components: { TableContextMenu, OtherDocumentTableList, NcDocumentTableList, ProcessTableList }, + components: { TableContextMenu, OtherDocumentTableList, NcDocumentTableList }, data() { return { - activeTabKey: '1', + activeTabKey: null, + hasLoadingDataTabKey: [], tableContainerSize: 'small', - currentTableRowInfo: {}, + currentRightClickedTableRowInfo: {}, currentTreeNodeInfo: {} } }, created() { this.$bus.$on('sendCurrentTreeNodeInfo', this.receiveCurrentTreeNodeInfo) + }, + watch: { + activeTabKey: { + handler(value) { + // tab鍒囨崲鏃跺姞杞藉搴旀枃妗e垪琛紝褰撳墠鏍戣妭鐐逛笅宸茬粡鍔犺浇杩囩殑鏂囨。鍒楄〃涓嶅啀閲嶅鍔犺浇 + if (!this.hasLoadingDataTabKey.includes(value)) { + if (value === 1) this.$nextTick(() => this.$refs.ncDocumentTableListRef.loadData(1)) + else this.$nextTick(() => this.$refs.otherDocumentTableListRef.loadData(1)) + this.hasLoadingDataTabKey.push(value) + } + }, + deep: true + } }, methods: { /** @@ -39,7 +54,7 @@ * @param record 褰撳墠琛ㄦ牸琛屼俊鎭� */ handleTableContextMenuOpen(record) { - this.currentTableRowInfo = Object.assign({}, record) + this.currentRightClickedTableRowInfo = Object.assign({}, record) this.$refs.tableContextMenuRef.currentMenuLevel = record.param this.$refs.tableContextMenuRef.menuStyle.top = event.clientY + 'px' this.$refs.tableContextMenuRef.menuStyle.left = event.clientX + 'px' @@ -49,13 +64,30 @@ /** * 鎺ユ敹鏍戠粍浠朵紶鏉ョ殑褰撳墠閫変腑鐨勬爲鑺傜偣淇℃伅 - * @param treeNodeInfo + * @param treeNodeInfo 鏍戣妭鐐逛俊鎭� */ receiveCurrentTreeNodeInfo(treeNodeInfo) { // 浠庢爲缁勪欢鎺ュ彈鏍戣妭鐐逛俊鎭悗浠庣埗缁勪欢娴佸叆瀛愮粍浠� this.currentTreeNodeInfo = treeNodeInfo - if (treeNodeInfo.type !== 1) this.activeTabKey = 1 - else this.activeTabKey = 2 + // 娓呯┖涓婁竴鑺傜偣宸茬粡鍔犺浇杩囧緱鏂囨。鍒楄〃tabKey + this.hasLoadingDataTabKey = [] + if (treeNodeInfo.type !== 1) { + this.activeTabKey = 1 + this.$nextTick(() => this.$refs.ncDocumentTableListRef.loadData(1)) + } else { + this.activeTabKey = 2 + this.$nextTick(() => this.$refs.otherDocumentTableListRef.loadData(1)) + } + this.hasLoadingDataTabKey.push(this.activeTabKey) + }, + + handleTabChange(activeTabKey) { + // tab鍒囨崲鏃跺姞杞藉搴旀枃妗e垪琛紝褰撳墠鏍戣妭鐐逛笅宸茬粡鍔犺浇杩囩殑鏂囨。鍒楄〃涓嶅啀閲嶅鍔犺浇 + if (!this.hasLoadingDataTabKey.includes(activeTabKey)) { + if (activeTabKey === 1) this.$nextTick(() => this.$refs.ncDocumentTableListRef.loadData(1)) + else this.$nextTick(() => this.$refs.otherDocumentTableListRef.loadData(1)) + this.hasLoadingDataTabKey.push(activeTabKey) + } }, /** -- Gitblit v1.9.3