| | |
| | | <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 :tableRowInfo="currentRightClickedTableRowInfo" ref="tableContextMenuRef"/> |
| | |
| | | components: { TableContextMenu, OtherDocumentTableList, NcDocumentTableList }, |
| | | data() { |
| | | return { |
| | | activeTabKey: '1', |
| | | activeTabKey: null, |
| | | hasLoadingDataTabKey: [], |
| | | tableContainerSize: 'small', |
| | | currentRightClickedTableRowInfo: {}, |
| | | currentTreeNodeInfo: {} |
| | |
| | | }, |
| | | created() { |
| | | this.$bus.$on('sendCurrentTreeNodeInfo', this.receiveCurrentTreeNodeInfo) |
| | | }, |
| | | watch: { |
| | | activeTabKey: { |
| | | handler(value) { |
| | | // tab切换时加载对应文档列表,当前树节点下已经加载过的文档列表不再重复加载 |
| | | 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: { |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 接收树组件传来的当前选中的树节点信息 |
| | | * @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切换时加载对应文档列表,当前树节点下已经加载过的文档列表不再重复加载 |
| | | 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) |
| | | } |
| | | }, |
| | | |
| | | /** |