src/views/dnc/base/modules/DeviceStructure/DeviceStructureMainTop.vue
@@ -1,15 +1,15 @@
<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="发送">
      <!--<NcDocumentTableList ref="ncDocumentTableListRef" />-->
      <HasSentDocumentTableList ref="hasSentDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"
                                @handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/>
    </a-tab-pane>
    <a-tab-pane :key="2" tab="接收">
      <!--<OtherDocumentTableList ref="otherDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"-->
      <!--@handleTableContextMenuOpen="handleTableContextMenuOpen" :size="tableContainerSize"/>-->
      <HasReceivedDocumentTableList ref="hasReceivedDocumentTableListRef" :currentTreeNodeInfo="currentTreeNodeInfo"
                                    @handleTableContextMenuOpen="handleTableContextMenuOpen"
                                    :size="tableContainerSize"/>
    </a-tab-pane>
    <TableContextMenu :tableRowInfo="currentRightClickedTableRowInfo" ref="tableContextMenuRef"/>
@@ -19,11 +19,12 @@
<script>
  import dncApi from '@/api/dnc'
  import TableContextMenu from '../../../common/TableContextMenu'
  import HasSentDocumentTableList from './HasSentDocumentTableList'
  import HasSentDocumentTableList from './Document/HasSentDocumentTableList'
  import HasReceivedDocumentTableList from './Document/HasReceivedDocumentTableList'
  export default {
    name: 'DeviceStructureMainTop',
    components: { HasSentDocumentTableList, TableContextMenu },
    components: { HasReceivedDocumentTableList, HasSentDocumentTableList, TableContextMenu },
    props: {
      currentTreeNodeInfo: {
        type: Object
@@ -33,7 +34,8 @@
      return {
        activeTabKey: 1,
        tableContainerSize: 'small',
        currentRightClickedTableRowInfo: {}
        currentRightClickedTableRowInfo: {},
        hasLoadedDataTabKeyArray: []
      }
    },
    created() {
@@ -61,8 +63,31 @@
       */
      loadHasSentDocumentListData(treeNodeInfo) {
        this.$nextTick(() => {
          if (this.$refs.hasSentDocumentTableListRef) this.$refs.hasSentDocumentTableListRef.loadData(1)
          if (this.$refs.hasSentDocumentTableListRef) {
            this.$refs.hasSentDocumentTableListRef.loadData(1)
            this.hasLoadedDataTabKeyArray.push(this.activeTabKey)
          }
        })
      },
      /**
       * tab标签切换时触发
       * @param activeTabKey 当前已激活tab的key
       */
      handleTabChange(activeTabKey) {
        this.$bus.$emit('handleSwitchDeviceDocClassCode', activeTabKey)
        if (activeTabKey && !this.hasLoadedDataTabKeyArray.includes(activeTabKey)) {
          if (activeTabKey === 1) {
            this.$nextTick(() => {
              if (this.$refs.hasSentDocumentTableListRef) this.$refs.hasSentDocumentTableListRef.loadData(1)
            })
          } else {
            this.$nextTick(() => {
              if (this.$refs.hasReceivedDocumentTableListRef) this.$refs.hasReceivedDocumentTableListRef.loadData(1)
            })
          }
          this.hasLoadedDataTabKeyArray.push(activeTabKey)
        }
      },
      /**
@@ -75,6 +100,8 @@
        if (this.currentTreeNodeInfo.key !== attributionId) return
        if (docClassCode === 'SEND') {
          if (this.$refs.hasSentDocumentTableListRef) this.$refs.hasSentDocumentTableListRef.loadData(1)
        } else {
          if (this.$refs.hasReceivedDocumentTableListRef) this.$refs.hasReceivedDocumentTableListRef.loadData(1)
        }
      },
@@ -223,7 +250,6 @@
        })
      },
      /**
       * 点击发布时触发当前文档发布
       * @param menuLabel
@@ -357,6 +383,12 @@
        })
      },
      // 重置tabKey并且释放加载文档列表的接口
      releaseLoadDocumentListApi() {
        this.hasLoadedDataTabKeyArray = []
        this.handleTabChange(this.activeTabKey)
      },
      // 控制右键菜单关闭
      handleMenuClose() {
        this.$refs.tableContextMenuRef.menuVisible = false