From c3e8d4cb5edcacfd77a51d388e32a2bd0fb79643 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 14 三月 2025 17:59:10 +0800
Subject: [PATCH] 1、产品结构树以及设备结构树中的列表增加行选中样式 2、产品结构树实现点击设备类出现设备类下挂载的NC程序列表 3、产品结构树实现在设备类中导入NC程序功能

---
 src/views/dnc/common/DocumentBatchDeleteModal.vue |  426 ++++++++++++++++++++++++++--------------------------
 1 files changed, 215 insertions(+), 211 deletions(-)

diff --git a/src/views/dnc/common/DocumentBatchDeleteModal.vue b/src/views/dnc/common/DocumentBatchDeleteModal.vue
index f4fee17..ec1c412 100644
--- a/src/views/dnc/common/DocumentBatchDeleteModal.vue
+++ b/src/views/dnc/common/DocumentBatchDeleteModal.vue
@@ -27,227 +27,231 @@
     <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" :loading="loading"
              :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange"
              :scroll="{y:380}" :size="size" rowKey="docId" style="min-height: 480px">
-      <span slot="docName" slot-scope="text">{{text}}</span>
+      <span slot="docName" slot-scope="text">{{ text }}</span>
     </a-table>
   </a-modal>
 </template>
 
 <script>
-  import { getAction } from '@/api/manage'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import dncApi from '@/api/dnc'
+import { getAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import dncApi from '@/api/dnc'
 
-  export default {
-    name: 'DocumentBatchDeleteModal',
-    components: {},
-    mixins: [JeecgListMixin],
-    props: {
-      currentDocumentInfo: {
-        type: Object
-      },
-      size: {
-        type: String
-      }
+export default {
+  name: 'DocumentBatchDeleteModal',
+  components: {},
+  mixins: [JeecgListMixin],
+  props: {
+    currentDocumentInfo: {
+      type: Object
     },
-    data() {
-      return {
-        disableMixinCreated: true,
-        visible: false,
-        title: '',
-        date: [],
-        columns: [
-          {
-            title: '搴忓彿',
-            dataIndex: 'rowIndex',
-            key: 'rowIndex',
-            width: 65,
-            align: 'center',
-            customRender: function(t, r, index) {
-              return parseInt(index) + 1
-            }
-          },
-          {
-            title: '鏂囦欢鍚嶇О',
-            dataIndex: 'docName',
-            key: 'docName',
-            align: 'center',
-            width: 300,
-            sorter: true
-          },
-          { title: '璁惧缂栧彿', dataIndex: 'docCode', 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', width: 200 },
-          {
-            title: '鍒涘缓鏃堕棿',
-            dataIndex: 'createTime',
-            align: 'center',
-            width: 200,
-            sorter: true
+    size: {
+      type: String
+    }
+  },
+  data() {
+    return {
+      disableMixinCreated: true,
+      visible: false,
+      title: '',
+      date: [],
+      columns: [
+        {
+          title: '搴忓彿',
+          dataIndex: 'rowIndex',
+          key: 'rowIndex',
+          width: 65,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
           }
-        ],
-        spinning: false,
-        url: {
-          list: '/nc/doc/find/page'
+        },
+        {
+          title: '鏂囦欢鍚嶇О',
+          dataIndex: 'docName',
+          key: 'docName',
+          align: 'center',
+          width: 300,
+          sorter: true
+        },
+        { title: '璁惧缂栧彿', dataIndex: 'docCode', 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', width: 200 },
+        {
+          title: '鍒涘缓鏃堕棿',
+          dataIndex: 'createTime',
+          align: 'center',
+          width: 200,
+          sorter: true
         }
-      }
-    },
-    watch: {
-      visible: {
-        handler(value) {
-          if (value) {
-            this.resetData()
-            this.loadData()
-          }
-        }
-      }
-    },
-    methods: {
-      // 鑾峰彇褰撳墠宸ュ簭鎴栧伐姝ュ搴旀枃妗e垪琛�
-      loadData() {
-        this.dataSource = []
-        if (!this.url.list) {
-          this.$message.error('璇疯缃畊rl.list灞炴��!')
-          return
-        }
-
-        var params = this.getQueryParams()//鏌ヨ鏉′欢
-        if (!params) return false
-        const { attributionType, attributionId, param } = this.currentDocumentInfo
-        params.attributionType = attributionType
-        params.attributionId = attributionId
-        params.docClassCode = param
-        console.log('params', params)
-        this.loading = true
-        getAction(this.url.list + `/${this.ipagination.current}/${this.ipagination.pageSize}`, params).then((res) => {
-          if (res.success) {
-            this.dataSource = res.result.records
-            if (res.result.total) {
-              this.ipagination.total = res.result.total
-            } else {
-              this.ipagination.total = 0
-            }
-          }
-          else this.$message.warning(res.message)
-        }).finally(() => {
-          this.loading = false
-        })
-      },
-
-      /**
-       * 琛ㄦ牸鍒嗛〉銆佹帓搴忔敼鍙樸�佺瓫閫夋椂瑙﹀彂
-       * @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()
-      },
-
-      // 鏃堕棿閫夋嫨鍣ㄩ�夋嫨瀹屾垚鍚庤Е鍙�
-      handleDateChange(value) {
-        this.queryParam.startTime = value[0]
-        this.queryParam.endTime = value[1]
-      },
-
-      // 纭鎵归噺鍒犻櫎鏂囨。
-      confirmBatchDeleteDocument() {
-        const that = this
-        const { selectedRowKeys, $notification, $confirm, currentDocumentInfo: { param, attributionId, attributionType } } = that
-
-        if (selectedRowKeys.length === 0) {
-          $notification.warning({
-            message: '娑堟伅',
-            description: '璇烽�夋嫨鏂囨。'
-          })
-          return
-        }
-
-        $confirm({
-          title: '鎻愮ず',
-          content: `鍒犻櫎鍚庝笉鍙彇娑堬紝纭鍒犻櫎鍚楋紵`,
-          okText: '纭',
-          cancelText: '鍙栨秷',
-          onOk: () => {
-            let hasRequestedSuccessCount = 0
-            let hasRequestedCount = 0
-            let method
-            let queryParam
-            selectedRowKeys.forEach(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({
-                      message: '娑堟伅',
-                      description: res.message
-                    })
-                    hasRequestedSuccessCount++
-                  } else {
-                    $notification.error({
-                      message: '娑堟伅',
-                      description: res.message
-                    })
-                  }
-                })
-                .finally(() => {
-                  hasRequestedCount++
-                  if (hasRequestedCount === selectedRowKeys.length && hasRequestedSuccessCount > 0) {
-                    this.loadData()
-                    this.$emit('reloadDocumentListData', { docClassCode: param, attributionId })
-                  }
-                })
-            })
-            that.$destroyAll()
-          },
-          onCancel: () => {
-            that.$destroyAll()
-          }
-        })
-
-
-      },
-
-      resetData() {
-        this.queryParam = {}
-        this.selectedRowKeys = []
+      ],
+      spinning: false,
+      url: {
+        list: '/nc/doc/find/page'
       }
     }
+  },
+  watch: {
+    visible: {
+      handler(value) {
+        if (value) {
+          this.resetData()
+          this.loadData()
+        }
+      }
+    }
+  },
+  methods: {
+    // 鑾峰彇褰撳墠宸ュ簭鎴栧伐姝ュ搴旀枃妗e垪琛�
+    loadData() {
+      this.dataSource = []
+      if (!this.url.list) {
+        this.$message.error('璇疯缃畊rl.list灞炴��!')
+        return
+      }
+
+      var params = this.getQueryParams()//鏌ヨ鏉′欢
+      if (!params) return false
+      const { attributionType, attributionId, param } = this.currentDocumentInfo
+      params.attributionType = attributionType
+      params.attributionId = attributionId
+      params.docClassCode = param
+      console.log('params', params)
+      this.loading = true
+      getAction(this.url.list + `/${this.ipagination.current}/${this.ipagination.pageSize}`, params).then((res) => {
+        if (res.success) {
+          this.dataSource = res.result.records
+          if (res.result.total) {
+            this.ipagination.total = res.result.total
+          } else {
+            this.ipagination.total = 0
+          }
+        } else this.$message.warning(res.message)
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+
+    /**
+     * 琛ㄦ牸鍒嗛〉銆佹帓搴忔敼鍙樸�佺瓫閫夋椂瑙﹀彂
+     * @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()
+    },
+
+    // 鏃堕棿閫夋嫨鍣ㄩ�夋嫨瀹屾垚鍚庤Е鍙�
+    handleDateChange(value) {
+      this.queryParam.startTime = value[0]
+      this.queryParam.endTime = value[1]
+    },
+
+    // 纭鎵归噺鍒犻櫎鏂囨。
+    confirmBatchDeleteDocument() {
+      const that = this
+      const {
+        selectedRowKeys,
+        $notification,
+        $confirm,
+        currentDocumentInfo: { param, attributionId, attributionType }
+      } = that
+
+      if (selectedRowKeys.length === 0) {
+        $notification.warning({
+          message: '娑堟伅',
+          description: '璇烽�夋嫨鏂囨。'
+        })
+        return
+      }
+
+      $confirm({
+        title: '鎻愮ず',
+        content: `鍒犻櫎鍚庝笉鍙彇娑堬紝纭鍒犻櫎鍚楋紵`,
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk: () => {
+          let hasRequestedSuccessCount = 0
+          let hasRequestedCount = 0
+          let method
+          let queryParam
+          selectedRowKeys.forEach(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({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  hasRequestedSuccessCount++
+                } else {
+                  $notification.error({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                hasRequestedCount++
+                if (hasRequestedCount === selectedRowKeys.length && hasRequestedSuccessCount > 0) {
+                  this.loadData()
+                  this.$emit('reloadDocumentListData', { docClassCode: param, attributionId, attributionType })
+                }
+              })
+          })
+          that.$destroyAll()
+        },
+        onCancel: () => {
+          that.$destroyAll()
+        }
+      })
+
+
+    },
+
+    resetData() {
+      this.queryParam = {}
+      this.selectedRowKeys = []
+    }
   }
+}
 </script>
\ No newline at end of file

--
Gitblit v1.9.3