From a95bec239fd7599b4c8766eff35c3d96e813cb25 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 17 四月 2025 15:27:24 +0800
Subject: [PATCH] 新增检索电子样板

---
 src/views/dnc/base/modules/ProductStructure/Cutter/CutterTableList.vue |  153 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 153 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..09270d2
--- /dev/null
+++ b/src/views/dnc/base/modules/ProductStructure/Cutter/CutterTableList.vue
@@ -0,0 +1,153 @@
+<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="handleExportXls('鍒�鍏峰垪琛�')" icon="export">瀵煎嚭</a-button>
+              <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader"
+                        :action="importExcelUrl" @change="handleImportExcel">
+                <a-button type="primary" icon="import">瀵煎叆</a-button>
+              </a-upload>
+            </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="handleEdit(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"/>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import CutterModal from '@views/dnc/base/modules/ProductStructure/Cutter/CutterModal.vue'
+
+export default {
+  name: 'CutterTableList',
+  components: { 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', align: 'center' },
+        { title: '鍒�鍏峰悕绉�', dataIndex: 'cutterName', align: 'center' },
+        { title: '鍒�鍏风被鍨�', dataIndex: 'cutterType_dictText', align: 'center' },
+        { title: '棰濆畾瀵垮懡', dataIndex: 'lifetime', width: 150, align: 'center' },
+        { title: '鍒�浣�', dataIndex: 'cutterSpacing', width: 150, align: 'center' },
+        { title: '鍒�鍏锋暟閲�', dataIndex: 'quantity', width: 150, 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'
+      }
+    }
+  },
+  computed: {
+    importExcelUrl: function() {
+      return `${window._CONFIG['domianURL']}${this.url.importExcelUrl}`
+    }
+  },
+  methods: {
+    setQueryParamAndLoadData(pageNo = 1) {
+      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)
+    }
+  }
+}
+</script>
\ No newline at end of file

--
Gitblit v1.9.3