zhaowei
2025-01-13 58848b1a18d29929ba84b0336860f258b913070f
src/views/dnc/common/ProductStructureTree.vue
@@ -36,6 +36,8 @@
            <a-icon slot="product" type="shopping"/>
            <a-icon slot="component" type="camera"/>
            <a-icon slot="part" type="hdd"/>
            <a-icon slot="process" type="apartment"/>
            <a-icon slot="processStep" type="tool"/>
          </a-tree>
        </div>
      </div>
@@ -43,26 +45,29 @@
    <!--产品弹窗-->
    <ProductModal ref="productModalFormRef" :currentTreeNodeInfo="rightClickSelected"/>
    <!--零件弹窗-->
    <!--部件弹窗-->
    <ComponentModal :currentTreeNodeInfo="rightClickSelected"/>
    <!--导入文件公共弹窗-->
    <ImportFileModal/>
    <!--零件弹窗-->
    <PartModal :currentTreeNodeInfo="rightClickSelected"/>
    <!--工序弹窗-->
    <ProcessModal :currentTreeNodeInfo="rightClickSelected"/>
  </a-card>
</template>
<script>
  import { deleteAction } from '@/api/manage'
  import { mapActions } from 'vuex'
  import dncApi from '@/api/dnc'
  import ProductStructureTreeContextMenu from './modules/ProductStructureTree/ProductStructureTreeContextMenu'
  import ProductModal from '../base/modules/ProductStructure/Product/ProductModal'
  import ImportFileModal from './ImportFileModal'
  import ComponentModal from '../base/modules/ProductStructure/Component/ComponentModal'
  import PartModal from '../base/modules/ProductStructure/Part/PartModal'
  import ProcessModal from '../base/modules/ProductStructure/Process/ProcessModal'
  export default {
    name: 'ProductStructureTree',
    components: {
      ProcessModal,
      PartModal,
      ComponentModal,
      ImportFileModal,
      ProductModal,
      ProductStructureTreeContextMenu
    },
@@ -91,339 +96,15 @@
      this.$bus.$on('treeMenuItemMethodTrigger', this.triggerCorrespondingMethod)
    },
    methods: {
      ...mapActions(['QueryProduction']),
      queryTreeData() {
        this.loading = true
        this.cardLoading = true
        this.QueryProduction().then(res => {
        dncApi.getProductStructureTreeApi().then(res => {
          console.log('res', res)
          if (res.success) {
            this.dataList = []
            this.allTreeKeys = []
            // this.treeDataSource = res.result
            this.treeDataSource = [
              {
                'id': '1869253349344432129',
                'label': '[让外人]测试',
                'iconClass': '',
                'parentId': '1869253349344432129',
                'children': [
                  {
                    'id': '1869254044432879617',
                    'label': '[378]qgwqg',
                    'iconClass': '',
                    'parentId': '1869253349344432129',
                    'children': [
                      {
                        'id': '1869260302133137410',
                        'label': '[ggjuk]谔谔去',
                        'iconClass': '',
                        'parentId': '1869254044432879617',
                        'children': [
                          {
                            'id': '1869294654070075393',
                            'label': '[8989]qwfq',
                            'iconClass': '',
                            'parentId': '1869260302133137410',
                            'children': null,
                            'type': 2,
                            'entity': {
                              'componentId': '1869294654070075393',
                              'parentId': '1869260302133137410',
                              'productId': '1869253349344432129',
                              'componentName': 'qwfq',
                              'materielCode': '',
                              'materielDesp': '',
                              'componentModel': '',
                              'componentScale': '',
                              'componentWeight': null,
                              'rankLevel': 3,
                              'assembleType': null,
                              'produceType': null,
                              'processType': null,
                              'structureType': null,
                              'componentCode': '8989',
                              'componentStatus': 1,
                              'description': '',
                              'createTime': '2024-12-18 16:12:30',
                              'updateTime': null,
                              'createUser': '1254966905669160962',
                              'updateUser': ''
                            },
                            'leaf': false,
                            'rfield': '1869253349344432129'
                          },
                          {
                            'id': '1869294701801254913',
                            'label': '[888]7878',
                            'iconClass': '',
                            'parentId': '1869260302133137410',
                            'children': null,
                            'type': 2,
                            'entity': {
                              'componentId': '1869294701801254913',
                              'parentId': '1869260302133137410',
                              'productId': '1869253349344432129',
                              'componentName': '7878',
                              'materielCode': '',
                              'materielDesp': '',
                              'componentModel': '',
                              'componentScale': '',
                              'componentWeight': null,
                              'rankLevel': 3,
                              'assembleType': null,
                              'produceType': null,
                              'processType': null,
                              'structureType': null,
                              'componentCode': '888',
                              'componentStatus': 1,
                              'description': '',
                              'createTime': '2024-12-18 16:12:41',
                              'updateTime': null,
                              'createUser': '1254966905669160962',
                              'updateUser': ''
                            },
                            'leaf': false,
                            'rfield': '1869253349344432129'
                          },
                          {
                            'id': '1869294780935188482',
                            'label': '[6855]ww',
                            'iconClass': '',
                            'parentId': '1869260302133137410',
                            'children': null,
                            'type': 2,
                            'entity': {
                              'componentId': '1869294780935188482',
                              'parentId': '1869260302133137410',
                              'productId': '1869253349344432129',
                              'componentName': 'ww',
                              'materielCode': '',
                              'materielDesp': '',
                              'componentModel': '',
                              'componentScale': '',
                              'componentWeight': null,
                              'rankLevel': 3,
                              'assembleType': null,
                              'produceType': null,
                              'processType': null,
                              'structureType': null,
                              'componentCode': '6855',
                              'componentStatus': 1,
                              'description': '',
                              'createTime': '2024-12-18 16:13:00',
                              'updateTime': null,
                              'createUser': '1254966905669160962',
                              'updateUser': ''
                            },
                            'leaf': false,
                            'rfield': '1869253349344432129'
                          },
                          {
                            'id': '1876199480437153794',
                            'label': '[354]zzzzzzzzzzzzzzzzz',
                            'iconClass': '',
                            'parentId': '1869260302133137410',
                            'children': null,
                            'type': 3,
                            'entity': {
                              'partsId': '1876199480437153794',
                              'partsName': 'zzzzzzzzzzzzzzzzz',
                              'productId': '1869253349344432129',
                              'componentId': '1869260302133137410',
                              'materielCode': '',
                              'materielDesp': '',
                              'partsModel': '',
                              'partsScale': '',
                              'partsWeight': null,
                              'assembleType': null,
                              'produceType': null,
                              'processType': null,
                              'structureType': null,
                              'partsCode': '354',
                              'partsStatus': 1,
                              'description': '',
                              'createTime': '2025-01-06 17:29:49',
                              'updateTime': null,
                              'createUser': '1254966905669160962',
                              'updateUser': ''
                            },
                            'leaf': false,
                            'rfield': '1869260302133137410'
                          }
                        ],
                        'type': 2,
                        'entity': {
                          'componentId': '1869260302133137410',
                          'parentId': '1869254044432879617',
                          'productId': '1869253349344432129',
                          'componentName': '谔谔去',
                          'materielCode': '',
                          'materielDesp': '',
                          'componentModel': '',
                          'componentScale': '',
                          'componentWeight': null,
                          'rankLevel': 2,
                          'assembleType': null,
                          'produceType': null,
                          'processType': null,
                          'structureType': null,
                          'componentCode': 'ggjuk',
                          'componentStatus': 1,
                          'description': '',
                          'createTime': '2024-12-18 13:56:00',
                          'updateTime': null,
                          'createUser': '1254966905669160962',
                          'updateUser': ''
                        },
                        'leaf': false,
                        'rfield': '1869253349344432129'
                      }
                    ],
                    'type': 2,
                    'entity': {
                      'componentId': '1869254044432879617',
                      'parentId': null,
                      'productId': '1869253349344432129',
                      'componentName': 'qgwqg',
                      'materielCode': '',
                      'materielDesp': '',
                      'componentModel': '',
                      'componentScale': '',
                      'componentWeight': null,
                      'rankLevel': 1,
                      'assembleType': null,
                      'produceType': null,
                      'processType': null,
                      'structureType': null,
                      'componentCode': '378',
                      'componentStatus': 1,
                      'description': '88',
                      'createTime': '2022-12-18 13:32:48',
                      'updateTime': '2024-12-18 13:32:48',
                      'createUser': '1254966905669160962',
                      'updateUser': '1254966905669160962'
                    },
                    'leaf': false,
                    'rfield': '1869253349344432129'
                  },
                  {
                    'id': '1869253419041181697',
                    'label': '[876]为全国前五给',
                    'iconClass': '',
                    'parentId': '1869253349344432129',
                    'children': null,
                    'type': 2,
                    'entity': {
                      'componentId': '1869253419041181697',
                      'parentId': null,
                      'productId': '1869253349344432129',
                      'componentName': '为全国前五给',
                      'materielCode': '',
                      'materielDesp': '',
                      'componentModel': '56',
                      'componentScale': '',
                      'componentWeight': null,
                      'rankLevel': 1,
                      'assembleType': null,
                      'produceType': null,
                      'processType': null,
                      'structureType': null,
                      'componentCode': '876',
                      'componentStatus': 1,
                      'description': '',
                      'createTime': '2024-12-18 13:28:39',
                      'updateTime': '2024-12-18 14:03:55',
                      'createUser': '1254966905669160962',
                      'updateUser': '1254966905669160962'
                    },
                    'leaf': false,
                    'rfield': '1869253349344432129'
                  },
                  {
                    'id': '1869294861876867073',
                    'label': '[777]he',
                    'iconClass': '',
                    'parentId': '1869253349344432129',
                    'children': [
                      {
                        'id': '1876087437913108481',
                        'label': '[ddd]和维护',
                        'iconClass': '',
                        'parentId': '1869294861876867073',
                        'children': null,
                        'type': 2,
                        'entity': {
                          'componentId': '1876087437913108481',
                          'parentId': '1869294861876867073',
                          'productId': '1869253349344432129',
                          'componentName': '和维护',
                          'materielCode': '',
                          'materielDesp': '',
                          'componentModel': '',
                          'componentScale': '',
                          'componentWeight': null,
                          'rankLevel': 2,
                          'assembleType': null,
                          'produceType': null,
                          'processType': null,
                          'structureType': null,
                          'componentCode': 'ddd',
                          'componentStatus': 1,
                          'description': '',
                          'createTime': '2025-01-06 10:04:36',
                          'updateTime': null,
                          'createUser': '1254966905669160962',
                          'updateUser': ''
                        },
                        'leaf': false,
                        'rfield': '1869253349344432129'
                      }
                    ],
                    'type': 2,
                    'entity': {
                      'componentId': '1869294861876867073',
                      'parentId': null,
                      'productId': '1869253349344432129',
                      'componentName': 'he',
                      'materielCode': '',
                      'materielDesp': '',
                      'componentModel': '',
                      'componentScale': '',
                      'componentWeight': null,
                      'rankLevel': 1,
                      'assembleType': null,
                      'produceType': null,
                      'processType': null,
                      'structureType': null,
                      'componentCode': '777',
                      'componentStatus': 1,
                      'description': '',
                      'createTime': '2024-12-18 16:13:20',
                      'updateTime': null,
                      'createUser': '1254966905669160962',
                      'updateUser': ''
                    },
                    'leaf': false,
                    'rfield': '1869253349344432129'
                  }
                ],
                'type': 1,
                'entity': {
                  'productId': '1869253349344432129',
                  'productNo': '让外人',
                  'productModel': '',
                  'productName': '测试',
                  'productStatus': 1,
                  'createTime': '2024-12-18 13:28:22',
                  'updateTime': null,
                  'createUser': '1254966905669160962',
                  'updateUser': null
                },
                'leaf': false,
                'rfield': null
              }
            ]
            this.treeDataSource = res.list
            this.generateList(this.treeDataSource)
            // this.expandedKeys = this.allTreeKeys
            this.expandedKeys = [this.treeDataSource[0].id]
@@ -477,21 +158,21 @@
              return
            }
            const that = this
            deleteAction(that.url.delete, { id: this.rightClickSelected.id })
              .then((res) => {
                if (res.success) {
                  that.queryTreeData()
                  that.$notification.success({
                    message: '消息',
                    description: res.message
                  })
                } else {
                  that.$notification.warning({
                    message: '消息',
                    description: res.message
                  })
                }
              })
            // deleteAction(that.url.delete, { id: this.rightClickSelected.id })
            //   .then((res) => {
            //     if (res.success) {
            //       that.queryTreeData()
            //       that.$notification.success({
            //         message: '消息',
            //         description: res.message
            //       })
            //     } else {
            //       that.$notification.warning({
            //         message: '消息',
            //         description: res.message
            //       })
            //     }
            //   })
          }
        })
      },
@@ -582,6 +263,12 @@
          case 3:
            treeNode.slots = { icon: 'part' }
            break
          case 4:
            treeNode.slots = { icon: 'process' }
            break
          case 5:
            treeNode.slots = { icon: 'processStep' }
            break
          default:
        }
      }