From e48436b9c5dd3f0365f77339f84b37eea95b56e2 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 16 六月 2025 15:22:19 +0800
Subject: [PATCH] 提取刀具选择刀具 修改文件名称展示

---
 src/views/dnc/base/modules/ProductStructure/Cutter/CutterTableList.vue |  239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 239 insertions(+), 0 deletions(-)

diff --git a/src/views/dnc/base/modules/ProductStructure/Cutter/CutterTableList.vue b/src/views/dnc/base/modules/ProductStructure/Cutter/CutterTableList.vue
new file mode 100644
index 0000000..610fa74
--- /dev/null
+++ b/src/views/dnc/base/modules/ProductStructure/Cutter/CutterTableList.vue
@@ -0,0 +1,239 @@
+<template>
+  <div>
+    <!-- 鏌ヨ鍖哄煙 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :md="5" :sm="5">
+            <a-form-item label="鍒�鍏风紪鍙�">
+              <a-input placeholder="璇疯緭鍏ュ垁鍏风紪鍙�" v-model="queryParam.cutterCode" allow-clear/>
+            </a-form-item>
+          </a-col>
+
+          <a-col :md="5" :sm="5">
+            <a-form-item label="鍒�鍏峰悕绉�">
+              <a-input placeholder="璇疯緭鍏ュ垁鍏峰悕绉�" v-model="queryParam.cutterName" allow-clear/>
+            </a-form-item>
+          </a-col>
+
+          <a-col :md="4" :sm="4">
+            <a-space>
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="handleAdd" icon="plus" v-has="'cutter_add'">鏂板</a-button>
+              <a-button type="primary" @click="handleSend()" icon="export">鍙戦�佸垁鍏风郴缁�</a-button>
+            </a-space>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+
+    <a-table :columns="columns" :data-source="dataSource" bordered :pagination="ipagination" :size="size" rowKey="id"
+             @change="handleTableChange" :scroll="{y:189}">
+      <template slot="action" slot-scope="text, record">
+
+        <a @click="handleChoose(record)">閫夋嫨鍒�鍏�</a>
+
+        <a-divider type="vertical"/>
+
+        <a-dropdown>
+          <a class="ant-dropdown-link">
+            鏇村
+            <a-icon type="down"/>
+          </a>
+          <a-menu slot="overlay">
+            <a-menu-item>
+              <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a>
+            </a-menu-item>
+
+            <a-menu-item>
+              <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+                <a>鍒犻櫎</a>
+              </a-popconfirm>
+            </a-menu-item>
+          </a-menu>
+        </a-dropdown>
+      </template>
+    </a-table>
+
+    <CutterModal ref="cutterModalRef" :currentTreeNodeInfo="currentLevelInfo" @submitSuccess="loadData"/>
+
+    <DncToolsSelectModal ref="dncToolsSelectModal" @submitSuccess="loadData"/>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import CutterModal from '@views/dnc/base/modules/ProductStructure/Cutter/CutterModal.vue'
+import DncToolsSelectModal from '@views/tms/modules/baseTools/DncToolsSelectModal.vue'
+import { getAction, httpAction } from '@api/manage'
+import dncApi from '@api/dnc'
+
+export default {
+  name: 'CutterTableList',
+  components: { DncToolsSelectModal, CutterModal },
+  mixins: [JeecgListMixin],
+  props: {
+    currentLevelInfo: {
+      type: Object
+    },
+    size: {
+      type: String
+    }
+  },
+  data() {
+    return {
+      disableMixinCreated: true,
+      columns: [
+        {
+          title: '搴忓彿',
+          dataIndex: 'rowIndex',
+          key: 'rowIndex',
+          width: 65,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
+          }
+        },
+        { title: '鍒�鍏风紪鍙�', dataIndex: 'cutterCode', width: 200, align: 'center' },
+        { title: '鍒�鍏峰悕绉�', dataIndex: 'cutterName', width: 100, align: 'center' },
+        { title: '鍒�鍏风畝绉�', dataIndex: 'cutterType', width: 80, align: 'center' },
+        { title: '鍒�鍏疯鏍�', dataIndex: 'cutterSpec', align: 'center' },
+        { title: '棰濆畾瀵垮懡', dataIndex: 'lifetime', width: 150, align: 'center' },
+        { title: '鍒�浣�', dataIndex: 'cutterSpacing', width: 50, align: 'center' },
+        { title: '鍒�鍏锋暟閲�', dataIndex: 'quantity', width: 80, align: 'center' },
+        { title: '鎻忚堪', dataIndex: 'description', width: 200, align: 'center' },
+        { title: '鎿嶄綔', dataIndex: 'action', scopedSlots: { customRender: 'action' }, align: 'center', width: 150 }
+      ],
+      url: {
+        list: '/nc/cutter/getByBusinessId',
+        delete: '/nc/cutter/delete',
+        exportXlsUrl: '/nc/cutter/exportXls',
+        importExcelUrl: '/nc/cutter/importExcel',
+        sendCutterUrl: '/nc/cutter/sendCutterUrl',
+      }
+    }
+  },
+  computed: {
+    importExcelUrl: function() {
+      return `${window._CONFIG['domianURL']}${this.url.importExcelUrl}`
+    }
+  },
+  methods: {
+    setQueryParamAndLoadData(pageNo = 1) {
+      if (this.currentLevelInfo.classificationId_dictText==='nc'){
+        const {docId,attributionType,attributionId} = this.currentLevelInfo
+        this.queryParam = Object.assign({}, { docId:docId,attributionType:attributionType,attributionId:attributionId })
+      }
+      if (this.currentLevelInfo.deviceManagementId !== null && this.currentLevelInfo.deviceManagementId !== undefined){
+        const {attributionType,id} = this.currentLevelInfo
+        this.queryParam = Object.assign({}, {attributionType:attributionType,attributionId:id })
+      }
+      if (this.currentLevelInfo.id !== null && this.currentLevelInfo.type !== null && this.currentLevelInfo.type !== undefined && this.currentLevelInfo.id !== undefined){
+        const { id, type } = this.currentLevelInfo
+        this.queryParam = Object.assign({}, { attributionId: id, attributionType: type })
+      }
+      this.loadData(pageNo)
+    },
+    searchQuery(pageNo = 1) {
+      if (this.currentLevelInfo.classificationId_dictText==='nc'){
+        const {docId,attributionType,attributionId} = this.currentLevelInfo
+        this.queryParam = Object.assign({}, { docId:docId,attributionType:attributionType,attributionId:attributionId })
+      }
+      if (this.currentLevelInfo.deviceManagementId !== null && this.currentLevelInfo.deviceManagementId !== undefined){
+        const {attributionType,id} = this.currentLevelInfo
+        this.queryParam = Object.assign({}, {attributionType:attributionType,attributionId:id })
+      }
+      if (this.currentLevelInfo.id !== null && this.currentLevelInfo.type !== null && this.currentLevelInfo.type !== undefined && this.currentLevelInfo.id !== undefined){
+        const { id, type } = this.currentLevelInfo
+        this.queryParam = Object.assign({}, { attributionId: id, attributionType: type })
+      }
+      this.loadData(pageNo)
+    },
+
+    handleAdd() {
+      if (!this.$refs.cutterModalRef) return
+      this.$refs.cutterModalRef.title = '娣诲姞鍒�鍏�'
+      this.$refs.cutterModalRef.disableSubmit = false
+      this.$refs.cutterModalRef.handleCutterAdd()
+    },
+
+    /**
+     * 缂栬緫琛ㄦ牸琛屼俊鎭�
+     * @param record 琛ㄦ牸琛屼俊鎭�
+     */
+    handleEdit(record) {
+      if (!this.$refs.cutterModalRef) return
+      this.$refs.cutterModalRef.title = '缂栬緫鍒�鍏蜂俊鎭�'
+      this.$refs.cutterModalRef.disableSubmit = false
+      this.$refs.cutterModalRef.handleCutterEdit(record)
+    },
+
+    /**
+     * 鏌ョ湅琛ㄦ牸瀹屾暣琛屼俊鎭�
+     * @param record 琛ㄦ牸琛屼俊鎭�
+     */
+    handleDetail: function(record) {
+      if (!this.$refs.cutterModalRef) return
+      this.$refs.cutterModalRef.title = '鍒�鍏疯鎯�'
+      this.$refs.cutterModalRef.disableSubmit = true
+      this.$refs.cutterModalRef.handleCutterEdit(record)
+    },
+    /**
+     * 閫夋嫨鍒�鍏�
+     */
+    handleChoose(record){
+      if (record.cutterName.match(/\d+(\.\d+)?/g) !== null) {
+        record.cutterName = record.cutterName.match(/\d+(\.\d+)?/g)[0]
+      }
+      const param = {
+        aliasLabel: record.cutterType,
+        diameter: record.cutterName,
+        cutterId: record.id
+      }
+      this.$refs.dncToolsSelectModal.open(param)
+      this.$refs.dncToolsSelectModal.title = '閫夋嫨鍒�鍏�'
+    },
+    /**
+     * 鍙戦�佸垁鍏风郴缁�
+     */
+    handleSend(){
+      const that = this
+      const { docId,attributionId, attributionType } = this.currentLevelInfo
+      that.$confirm({
+        title: '鎻愮ず',
+        content: `纭鍙戦�佸垁鍏风郴缁熷悧锛焋,
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk: () => {
+          dncApi.sendToolsApi({ docId, attributionId, attributionType })
+            .then(res => {
+              if (res.success) {
+                that.$notification.success({
+                  message: '娑堟伅',
+                  description: res.message
+                })
+              } else {
+                that.$notification.error({
+                  message: '娑堟伅',
+                  description: res.message
+                })
+              }
+            })
+            .catch(err => {
+              that.$notification.error({
+                message: '娑堟伅',
+                description: err.message
+              })
+            })
+            .finally(() => {
+              that.$destroyAll()
+            })
+        },
+        onCancel: () => {
+          that.$destroyAll()
+        }
+      })
+    }
+  }
+}
+</script>
\ No newline at end of file

--
Gitblit v1.9.3