设备结构树:
1、实现文档批量删除功能
2、实现文档列表的排序以及筛选功能
3、实现树节点车间与设备的权限配置功能
系统管理:删除DNC部门管理页面以及在菜单管理中删除对应菜单
已修改5个文件
已删除3个文件
1201 ■■■■ 文件已修改
src/views/dnc/base/modules/DeviceStructure/DeviceStructureMainTop.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dnc/base/modules/DeviceStructure/Document/HasReceivedDocumentTableList.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dnc/base/modules/DeviceStructure/Document/HasSentDocumentTableList.vue 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dnc/common/DocumentBatchDeleteModal.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/DncDepartmentList.vue 634 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/modules/DepartMentAuthModal.vue 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/modules/DncDepartmentModal.vue 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dnc/base/modules/DeviceStructure/DeviceStructureMainTop.vue
@@ -13,6 +13,9 @@
    </a-tab-pane>
    <TableContextMenu :tableRowInfo="currentRightClickedTableRowInfo" ref="tableContextMenuRef"/>
    <DocumentBatchDeleteModal :currentDocumentInfo="currentRightClickedTableRowInfo" :size="tableContainerSize"
                              @reloadDocumentListData="reloadDocumentListData" ref="documentBatchDeleteModalRef"/>
  </a-tabs>
</template>
@@ -21,10 +24,11 @@
  import TableContextMenu from '../../../common/TableContextMenu'
  import HasSentDocumentTableList from './Document/HasSentDocumentTableList'
  import HasReceivedDocumentTableList from './Document/HasReceivedDocumentTableList'
  import DocumentBatchDeleteModal from '../../../common/DocumentBatchDeleteModal'
  export default {
    name: 'DeviceStructureMainTop',
    components: { HasReceivedDocumentTableList, HasSentDocumentTableList, TableContextMenu },
    components: { DocumentBatchDeleteModal, HasReceivedDocumentTableList, HasSentDocumentTableList, TableContextMenu },
    props: {
      currentTreeNodeInfo: {
        type: Object
@@ -49,7 +53,6 @@
       */
      handleTableContextMenuOpen(record) {
        this.currentRightClickedTableRowInfo = Object.assign({}, record)
        console.log('currentRightClickedTableRowInfo', this.currentRightClickedTableRowInfo)
        this.$refs.tableContextMenuRef.currentMenuLevel = record.param
        this.$refs.tableContextMenuRef.menuStyle.top = event.clientY + 'px'
        this.$refs.tableContextMenuRef.menuStyle.left = event.clientX + 'px'
@@ -162,6 +165,16 @@
      },
      /**
       * ç‚¹å‡»æ‰¹é‡åˆ é™¤åŽå‡ºçŽ°å¼¹çª—
       * @param modalTitle å¼¹çª—标题
       */
      handleBatchRemove(modalTitle) {
        if (!this.$refs.documentBatchDeleteModalRef) return
        this.$refs.documentBatchDeleteModalRef.title = modalTitle
        this.$refs.documentBatchDeleteModalRef.visible = true
      },
      /**
       * å‡ºåº“当前右键选中文档
       * @param menuLabel
       */
src/views/dnc/base/modules/DeviceStructure/Document/HasReceivedDocumentTableList.vue
@@ -40,12 +40,44 @@
              return parseInt(index) + 1
            }
          },
          { title: '文件名称', dataIndex: 'docName', align: 'center' },
          {
            title: '文件名称',
            dataIndex: 'docName',
            key: 'docName',
            align: 'center',
            width: 300,
            sorter: true
          },
          { title: '代码版本', dataIndex: 'docAlias', align: 'center' },
          { title: '出库状态', dataIndex: 'pullStatus_dictText', align: 'center' },
          { title: '状  æ€', dataIndex: 'docStatus_dictText', align: 'center' },
          {
            title: '出库状态',
            dataIndex: 'pullStatus_dictText',
            key: 'pullStatus',
            align: 'center',
            filters: [
              { text: '未出库', value: 1 },
              { text: '已出库', value: 2 }
            ]
          },
          {
            title: '状  æ€',
            dataIndex: 'docStatus_dictText',
            key: 'docStatus',
            align: 'center',
            filters: [
              { text: '设计', value: 1 },
              { text: '发布', value: 2 },
              { text: '归档', value: 3 }
            ]
          },
          { title: '系统指定版本', dataIndex: 'publishVersion', align: 'center' },
          { title: '上传时间', dataIndex: 'createTime', align: 'center' }
          {
            title: '创建时间',
            dataIndex: 'createTime',
            align: 'center',
            width: 200,
            sorter: true
          }
        ],
        dataSource: [],
        currentRightClickedDocumentInfo: {},
@@ -115,6 +147,27 @@
        }
      },
      /**
       * è¡¨æ ¼åˆ†é¡µã€æŽ’序改变、筛选时触发
       * @param pagination åˆ†é¡µå™¨é€‰é¡¹
       * @param filters ç­›é€‰é€‰é¡¹
       * @param sorter æŽ’序选项
       */
      handleTableChange(pagination, filters, sorter) {
        if (sorter.order) {
          this.isorter.column = sorter.field
          this.isorter.order = sorter.order === 'ascend' ? 'asc' : 'desc'
        } else {
          this.isorter.column = 'createTime'
          this.isorter.order = 'desc'
        }
        for (let key in filters) {
          this.filters[key] = filters[key].join(',')
        }
        this.ipagination = pagination
        this.loadData()
      },
      handleDocumentEdit(record, modalTitle) {
        this.$refs.modalForm.edit(record)
        this.$refs.modalForm.title = modalTitle
src/views/dnc/base/modules/DeviceStructure/Document/HasSentDocumentTableList.vue
@@ -40,12 +40,54 @@
              return parseInt(index) + 1
            }
          },
          { title: '文件名称', dataIndex: 'docName', align: 'center' },
          {
            title: '文件名称',
            dataIndex: 'docName',
            key: 'docName',
            align: 'center',
            width: 300,
            sorter: true
          },
          { title: '代码版本', dataIndex: 'docAlias', align: 'center' },
          { title: '出库状态', dataIndex: 'pullStatus_dictText', align: 'center' },
          { title: '状  æ€', dataIndex: 'docStatus_dictText', align: 'center' },
          {
            title: '出库状态',
            dataIndex: 'pullStatus_dictText',
            key: 'pullStatus',
            align: 'center',
            filters: [
              { text: '未出库', value: 1 },
              { text: '已出库', value: 2 }
            ]
          },
          {
            title: '状  æ€',
            dataIndex: 'docStatus_dictText',
            key: 'docStatus',
            align: 'center',
            filters: [
              { text: '设计', value: 1 },
              { text: '发布', value: 2 },
              { text: '归档', value: 3 }
            ]
          },
          { title: '系统指定版本', dataIndex: 'publishVersion', align: 'center' },
          { title: '上传时间', dataIndex: 'createTime', align: 'center' }
          {
            title: '同步状态',
            dataIndex: 'syncStatus_dictText',
            key: 'syncStatus',
            align: 'center',
            filters: [
              { text: '未同步', value: 1 },
              { text: '已同步', value: 2 }
            ]
          },
          {
            title: '创建时间',
            dataIndex: 'createTime',
            align: 'center',
            width: 200,
            sorter: true
          }
        ],
        dataSource: [],
        currentRightClickedDocumentInfo: {},
@@ -115,6 +157,27 @@
        }
      },
      /**
       * è¡¨æ ¼åˆ†é¡µã€æŽ’序改变、筛选时触发
       * @param pagination åˆ†é¡µå™¨é€‰é¡¹
       * @param filters ç­›é€‰é€‰é¡¹
       * @param sorter æŽ’序选项
       */
      handleTableChange(pagination, filters, sorter) {
        if (sorter.order) {
          this.isorter.column = sorter.field
          this.isorter.order = sorter.order === 'ascend' ? 'asc' : 'desc'
        } else {
          this.isorter.column = 'createTime'
          this.isorter.order = 'desc'
        }
        for (let key in filters) {
          this.filters[key] = filters[key].join(',')
        }
        this.ipagination = pagination
        this.loadData()
      },
      handleDocumentEdit(record, modalTitle) {
        this.$refs.modalForm.edit(record)
        this.$refs.modalForm.title = modalTitle
src/views/dnc/base/modules/ProductStructure/ProductStructureMainTop.vue
@@ -146,6 +146,10 @@
        })
      },
      /**
       * ç‚¹å‡»æ‰¹é‡åˆ é™¤åŽå‡ºçŽ°å¼¹çª—
       * @param modalTitle å¼¹çª—标题
       */
      handleBatchRemove(modalTitle) {
        if (!this.$refs.documentBatchDeleteModalRef) return
        this.$refs.documentBatchDeleteModalRef.title = modalTitle
src/views/dnc/common/DocumentBatchDeleteModal.vue
@@ -83,7 +83,7 @@
            filters: [
              { text: '未出库', value: 1 },
              { text: '已出库', value: 2 }
            ],
            ]
          },
          {
            title: '状  æ€',
@@ -94,7 +94,7 @@
              { text: '设计', value: 1 },
              { text: '发布', value: 2 },
              { text: '归档', value: 3 }
            ],
            ]
          },
          { title: '系统指定版本', dataIndex: 'publishVersion', align: 'center', width: 200 },
          {
@@ -183,7 +183,7 @@
      // ç¡®è®¤æ‰¹é‡åˆ é™¤æ–‡æ¡£
      confirmBatchDeleteDocument() {
        const that = this
        const { selectedRowKeys, $notification, $confirm, currentDocumentInfo: { param, attributionId } } = that
        const { selectedRowKeys, $notification, $confirm, currentDocumentInfo: { param, attributionId, attributionType } } = that
        if (selectedRowKeys.length === 0) {
          $notification.warning({
@@ -201,8 +201,17 @@
          onOk: () => {
            let hasRequestedSuccessCount = 0
            let hasRequestedCount = 0
            let method
            let queryParam
            selectedRowKeys.forEach(key => {
              dncApi.deleteDocumentApi(key)
              if (attributionType !== 4) {
                method = dncApi.deleteDocumentApi
                queryParam = key
              } else {
                method = dncApi.deleteDeviceRelativeDocumentApi
                queryParam = { docId: key, attributionId }
              }
              method(queryParam)
                .then(res => {
                  if (res.success) {
                    $notification.success({
src/views/system/DncDepartmentList.vue
ÎļþÒÑɾ³ý
src/views/system/modules/DepartMentAuthModal.vue
ÎļþÒÑɾ³ý
src/views/system/modules/DncDepartmentModal.vue
ÎļþÒÑɾ³ý