From 9b6bd0c014b73456edb095ee53b22324437ae646 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期三, 09 七月 2025 10:59:45 +0800
Subject: [PATCH] 现场问题修改

---
 src/views/tms/modules/baseTools/BaseToolsListRight.vue |  146 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 105 insertions(+), 41 deletions(-)

diff --git a/src/views/tms/modules/baseTools/BaseToolsListRight.vue b/src/views/tms/modules/baseTools/BaseToolsListRight.vue
index 31a17e8..b2285a4 100644
--- a/src/views/tms/modules/baseTools/BaseToolsListRight.vue
+++ b/src/views/tms/modules/baseTools/BaseToolsListRight.vue
@@ -1,5 +1,5 @@
 <template>
-  <a-card :bordered="false">
+  <a-card :bordered="false" style="flex: 1;overflow:auto;max-height: 600px; min-height: 600px">
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
@@ -50,14 +50,18 @@
     <div class="table-operator">
        <Tooltip
         placement="top"
-        title="閫夋嫨宸ュ叿鍒嗙被鍚庡啀鎵ц鏂板"
+        title="閫夋嫨宸ュ叿鍥涚骇鍒嗙被鍚庡啀鎵ц鏂板"
       >
           <a-button @click="handleAdd(nodeSelected)" type="primary" icon="plus" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">鏂板</a-button>
       </Tooltip>
-      <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">瀵煎嚭</a-button>
+      <a-button type="primary" @click="exportToExcel('鍒�鍏蜂俊鎭鍏ユā鏉�')" icon="export" style="margin-left: 8px" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">涓嬭浇瀵煎叆妯℃澘</a-button>
+      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
+        <a-button type="primary" icon="import" :disabled="!nodeSelected.key || nodeSelected.entity.leafFlag === '2'">瀵煎叆</a-button>
+      </a-upload>
+      <!-- <a-button type="primary" icon="download" @click="handleExportXls('tms_tools_classify')">瀵煎嚭</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-upload> -->
     </div>
 
     <!-- table鍖哄煙-begin -->
@@ -75,15 +79,14 @@
         :loading="loading"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}"
         class="j-table-force-nowrap"
+        :customRow="customRow"
         @change="handleTableChange">
 
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text,record">
+        <template slot='toolPicture' slot-scope='text, record, index'>
           <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+          <img v-else :src="getImgView(text)" :preview="record.toolPicture" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
         </template>
+
         <template slot="fileSlot" slot-scope="text">
           <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
           <a-button
@@ -160,7 +163,7 @@
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import BaseToolsModal from './BaseToolsModal'
   import Tooltip from 'ant-design-vue/es/tooltip'
-  import { getAction, postAction, deleteAction, requestPut } from '@api/manage'
+  import { getAction, postAction, deleteAction, requestPut,downFile } from '@api/manage'
   import ParaHoleToolsModal from './ParaHoleToolsModal'
   import ParaMillToolModal from './ParaMillToolModal'
   import ParaThreadingToolModal from './ParaThreadingToolModal'
@@ -200,6 +203,18 @@
     data () {
       return {
         description: '宸ュ叿淇℃伅绠$悊椤甸潰',
+        /* 鍒嗛〉鍙傛暟 */
+      ipagination:{
+        current: 1,
+        pageSize: 5,
+        pageSizeOptions: ['5', '10', '30'],
+        showTotal: (total, range) => {
+          return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+        },
+        showQuickJumper: true,
+        showSizeChanger: true,
+        total: 0
+      },
         // 琛ㄥご
         columns: [
           {
@@ -248,6 +263,13 @@
             dataIndex: 'toolModel'
           },
           {
+          title: '宸ュ叿鍥剧墖',
+          align: 'center',
+          width: 120,
+          dataIndex: 'toolPicture',
+          scopedSlots: { customRender: 'toolPicture' }
+        },
+          {
             title:'澶囨敞',
             align:"center",
             dataIndex: 'remark'
@@ -288,13 +310,21 @@
           exportXlsUrl: "/tms/baseTools/exportXls",
           importExcelUrl: "tms/baseTools/importExcel",
           queryParaByToolCode:"/tms/baseTools/queryByToolCode",
-          queryByToolCode:"/tms/toolsConfigProperty/queryByToolCode"
+          queryByToolCode:"/tms/toolsConfigProperty/queryByToolCode",
+          loadTemplate:"/tms/baseTools/loadTemplate",
+          importBlade:"/tms/paraBlade/importExcel",
+          importCommonTool:"/tms/paraCommonTool/importExcel",
+          importHoleTools:"/tms/paraHoleTools/importExcel",
+          importThreading:"/tms/paraThreadingTool/importExcel",
+          importTurning:"/tms/paraTurningTools/importExcel",
+          importMillTool:"/tms/paraMillTool/importExcel"
         },
         dictOptions:{},
         superFieldList:[],
         nodeSelected: {}, // 褰撳墠閫変腑鐨勮妭鐐规暟鎹�
         paraTypeFlag:'',
-        disableMixinCreated:true
+        disableMixinCreated:true,
+        loading:false
       }
     },
     created() {
@@ -309,7 +339,19 @@
     },
     computed: {
       importExcelUrl: function(){
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+        if(this.paraTypeFlag === "1"){
+          return `${window._CONFIG['domianURL']}/${this.url.importCommonTool}`;
+        }else if(this.paraTypeFlag === "2"){
+          return `${window._CONFIG['domianURL']}/${this.url.importHoleTools}`;
+        }else if(this.paraTypeFlag === "3"){
+          return `${window._CONFIG['domianURL']}/${this.url.importThreading}`;
+        }else if(this.paraTypeFlag === "4"){
+          return `${window._CONFIG['domianURL']}/${this.url.importMillTool}`;
+        }else if(this.paraTypeFlag === "5"){
+          return `${window._CONFIG['domianURL']}/${this.url.importTurning}`;
+        }else if(this.paraTypeFlag === "6"){
+          return `${window._CONFIG['domianURL']}/${this.url.importBlade}`;
+        }
       },
     },
     methods: {
@@ -440,50 +482,32 @@
               this.$refs.paraCommonToolModal.edit(record);
               this.$refs.paraCommonToolModal.title="璇︽儏";
               this.$refs.paraCommonToolModal.disableSubmit = true;
-              this.$refs.paraCommonToolModal.disSeach = true;
-              if(this.$refs.paraCommonToolModal.removeValidate) {
-                this.$refs.paraCommonToolModal.removeValidate()
-              }
+             
             }else if(record.paramaTableName === "2"){
               this.$refs.paraHoleToolsModal.edit(record);
               this.$refs.paraHoleToolsModal.title="璇︽儏";
               this.$refs.paraHoleToolsModal.disableSubmit = true;
-              this.$refs.paraHoleToolsModal.disSeach = true;
-              if(this.$refs.paraHoleToolsModal.removeValidate) {
-                this.$refs.paraHoleToolsModal.removeValidate()
-              }
+              
             }else if(record.paramaTableName === "3"){
                this.$refs.paraThreadingToolModal.edit(record);
               this.$refs.paraThreadingToolModal.title="璇︽儏";
               this.$refs.paraThreadingToolModal.disableSubmit = true;
-              this.$refs.paraThreadingToolModal.disSeach = true;
-              if(this.$refs.paraThreadingToolModal.removeValidate) {
-                this.$refs.paraThreadingToolModal.removeValidate()
-              }
+              
             }else if(record.paramaTableName === "4"){
                this.$refs.paraMillToolModal.edit(record);
               this.$refs.paraMillToolModal.title="璇︽儏";
               this.$refs.paraMillToolModal.disableSubmit = true;
-              this.$refs.paraMillToolModal.disSeach = true;
-              if(this.$refs.paraMillToolModal.removeValidate) {
-                this.$refs.paraMillToolModal.removeValidate()
-              }
+             
             }else if(record.paramaTableName === "5"){
                this.$refs.paraTurningToolsModal.edit(record);
               this.$refs.paraTurningToolsModal.title="璇︽儏";
               this.$refs.paraTurningToolsModal.disableSubmit = true;
-              this.$refs.paraTurningToolsModal.disSeach = true;
-              if(this.$refs.paraTurningToolsModal.removeValidate) {
-                this.$refs.paraTurningToolsModal.removeValidate()
-              }
+             
             }else if(record.paramaTableName === "6"){
                this.$refs.paraBladeModal.edit(record);
               this.$refs.paraBladeModal.title="璇︽儏";
               this.$refs.paraBladeModal.disableSubmit = true;
-              this.$refs.paraBladeModal.disSeach = true;
-              if(this.$refs.paraBladeModal.removeValidate) {
-                this.$refs.paraBladeModal.removeValidate()
-              }
+              
             }
     },
       //绂佺敤鐘舵�佹牱寮�
@@ -515,20 +539,27 @@
         }else{
           this.dataSource = [];
           this.clearPara()
+          this.loading = false;
+          return
         }
         getAction(httpUrl, params)
           .then((res) => {
             if (res.success) {
               this.dataSource = res.result.records; // 鏇存柊琛ㄦ牸鏁版嵁
+              this.ipagination.total = res.result.total
+              //榛樿閫変腑绗竴鏉℃暟鎹�
+              this.selectedRowKeys[0] = res.result.records[0].id
+              this.onSelectChange(this.selectedRowKeys)
             } else {
-              this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
+              //this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
+              this.ipagination.total = 0
             }
           })
           .finally(() => {
             this.loading = false;
           });
         } else {
-          this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
+          //this.$message.warning("璇烽�夋嫨鍙跺瓙鑺傜偣杩涜鏌ヨ");
         }
       },
       onClearSelected() {
@@ -552,8 +583,41 @@
         this.$refs.paraTurningToolsList.visable = false
         this.$refs.paraBladeList.visable = false
         this.$refs.toolsConfigPropertyList.visable = false
-      }
-      
+      },
+      customRow(record) {
+        return {
+          on: {
+            click: () => {
+              this.onSelectChange(record.id.split(","), [record]);
+            }
+          }
+        }
+      },
+      exportToExcel(fileName) {
+      this.loading = true // 鏄剧ず鍔犺浇閬僵
+      this.queryParam.paraTypeFlag = this.paraTypeFlag
+      var params = this.getQueryParams()
+      downFile(this.url.loadTemplate,params).then((data)=>{
+        if (!data) {
+          this.$message.warning("鏂囦欢涓嬭浇澶辫触")
+          return
+        }
+        if (typeof window.navigator.msSaveBlob !== 'undefined') {
+          window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}), fileName+'.xlsx')
+        }else{
+          let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'}))
+          let link = document.createElement('a')
+          link.style.display = 'none'
+          link.href = url
+          link.setAttribute('download', fileName+'.xlsx')
+          document.body.appendChild(link)
+          link.click()
+          document.body.removeChild(link); //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+          window.URL.revokeObjectURL(url); //閲婃斁鎺塨lob瀵硅薄
+        }
+        this.loading = false // 闅愯棌閬僵
+      })
+    },
     },
   }
 </script>

--
Gitblit v1.9.3