From 045bd52acc6cec67ae9b47200cb02301db1b54e3 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期三, 11 六月 2025 09:27:54 +0800 Subject: [PATCH] 导入模板下载,图片上传 --- src/views/tms/modules/baseTools/BaseToolsListRight.vue | 78 +++++++++++++++++++++++++++++++++----- 1 files changed, 67 insertions(+), 11 deletions(-) diff --git a/src/views/tms/modules/baseTools/BaseToolsListRight.vue b/src/views/tms/modules/baseTools/BaseToolsListRight.vue index 9672d5b..61d747a 100644 --- a/src/views/tms/modules/baseTools/BaseToolsListRight.vue +++ b/src/views/tms/modules/baseTools/BaseToolsListRight.vue @@ -50,10 +50,14 @@ <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" @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> @@ -78,13 +82,11 @@ :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 @@ -161,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' @@ -261,6 +263,13 @@ dataIndex: 'toolModel' }, { + title: '宸ュ叿鍥剧墖', + align: 'center', + width: 120, + dataIndex: 'toolPicture', + scopedSlots: { customRender: 'toolPicture' } + }, + { title:'澶囨敞', align:"center", dataIndex: 'remark' @@ -301,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() { @@ -322,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: { @@ -534,6 +563,9 @@ 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.ipagination.total = 0 @@ -577,7 +609,31 @@ } } }, - + 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