From 87cdebbfaf95a872368dd45264dc825e98436422 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期日, 20 七月 2025 12:36:09 +0800 Subject: [PATCH] 新增页面 --- src/views/tasks/machinereturnfileop.vue | 99 ++++++++++++++++++++++++++++++++++++------------- 1 files changed, 72 insertions(+), 27 deletions(-) diff --git a/src/views/tasks/machinereturnfileop.vue b/src/views/tasks/machinereturnfileop.vue index 4dadcf5..c066d5e 100644 --- a/src/views/tasks/machinereturnfileop.vue +++ b/src/views/tasks/machinereturnfileop.vue @@ -1,18 +1,18 @@ <!-- * @Date: 2025-06-18 09:17:09 * @LastEditors: gaoshp - * @LastEditTime: 2025-06-20 09:03:42 + * @LastEditTime: 2025-07-20 12:27:48 * @FilePath: /mdmweb/src/views/tasks/machinereturnfileop.vue --> <template> <basic-container> <avue-crud :option="option" :table-loading="loading" :data="data" v-model:page="page" v-model="form" ref="crud" @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange" - @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> + @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" @selection-change="selectionChange"> <template #menu-left> - <el-button type="primary" plain @click="reassign">瀵煎嚭鍥炰紶娑夊瘑缃�</el-button> + <el-button type="primary" plain @click="exportWebSite">瀵煎嚭鍥炰紶娑夊瘑缃�</el-button> <el-button type="primary" plain @click="reassign">鎸傝浇杞﹀簥绋嬪簭搴�</el-button> - <el-button type="primary" plain @click="reassign">瀵煎嚭鍒癊XCEL</el-button> + <el-button type="primary" plain @click="exportExcel">瀵煎嚭鍒癊XCEL</el-button> </template> <template #menu="scope"> <el-button type="primary" text size="default" v-if="permission.flow_model_update" @@ -25,6 +25,11 @@ <script> import { getList } from '@/api/tasks/machinereturnfileop.js'; +import { exportBlob } from '@/api/common'; +import { getToken } from '@/utils/auth'; +import NProgress from 'nprogress'; +import { downloadXls } from '@/utils/util'; +import 'nprogress/nprogress.css'; export default { name: 'MachineReturnFileOp', data() { @@ -54,11 +59,12 @@ selection: true, // viewBtn: true, menuWidth: 100, + menu: false, dialogClickModal: false, column: [ { label: '纭鏃堕棿', - prop: '', + prop: 'confirmTime', type: 'datetime', format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', @@ -70,50 +76,88 @@ { label: '绋嬪簭缂栧彿', - prop: 'processDefinitionName', + prop: 'code', }, { label: '鍥炰紶鏈哄簥', - prop: 'processDefinitionName', + prop: 'machineCode', }, { label: '鏂囦欢鍚嶇О', - prop: '', - formatter: (val, value, label) => { - return `${val?.variables?.machineCode}`; - }, + prop: 'name' }, { label: '鏂囦欢鍥哄寲鐘舵��', - prop: 'startUserName', + prop: 'isCured', + formatter: (val, value, label) => { + return `${val==0?'鏈浐鍖�':"宸插浐鍖�"}`; + }, }, { label: '鏂囦欢鍒拌揪鏃堕棿', - prop: 'processCreateTime', + prop: 'arrivedTime', type: 'datetime', format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - { - label: '鏂囦欢鏁版嵁搴撶紪鍙�', - prop: 'createTime', - }, + } ], + selectedList: [], } } }, methods: { - reassign() { - + selectionChange (list) { + this.selectedList = list; + }, + exportWebSite() { + if (this.selectedList.length === 0) { + this.$message.warning('璇峰厛閫夋嫨闇�瑕佸鍑虹殑鏁版嵁'); + return; + } + this.$confirm('鏄惁瀵煎嚭?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }).then(() => { + NProgress.start(); + exportBlob( + `/blade-mdm/machineback/filehandle/export-to-inner`, + { + ids: this.selectedList.map(item => item.id).join(','), + } + ).then(res => { + downloadXls(res.data, `瀵煎嚭鍥炰紶娑夊瘑缃�${this.$dayjs().format('YYYY-MM-DD HH:mm:ss')}.xlsx`); + NProgress.done(); + }); + }); + }, + exportExcel() { + if (this.selectedList.length === 0) { + this.$message.warning('璇峰厛閫夋嫨闇�瑕佸鍑虹殑鏁版嵁'); + return; + } + this.$confirm('鏄惁瀵煎嚭?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }).then(() => { + NProgress.start(); + exportBlob( + `/blade-mdm/machineback/filehandle/export-excel?${this.website.tokenHeader}=${getToken()}` + ).then(res => { + downloadXls(res.data, `瀵煎嚭鏈哄簥鍥炰紶绋嬪簭${this.$dayjs().format('YYYY-MM-DD HH:mm:ss')}.xlsx`); + NProgress.done(); + }); + }); }, searchChange(params, done) { let data = {} this.query = params; this.page.currentPage = 1; console.log('searchChange', params); - params.createTimeBegin = params?.processCreateTime?.[0] || ''; - params.createTimeEnd = params?.processCreateTime?.[1] || ''; + params.confirmTimeBegin = params?.confirmTime?.[0] || ''; + params.confirmTimeEnd = params?.confirmTime?.[1] || ''; console.log(params); // data = { // createTimeBegin: dayjs(params.createTimeBegin).isValid() ? dayjs(params.createTimeBegin).format('YYYY-MM-DD') : '', @@ -121,10 +165,10 @@ // keyword: params.keyword || '' // } data = { - createTimeBegin: params.createTimeBegin, - createTimeEnd: params.createTimeEnd, - keyword: params.keyword || '' + confirmTimeBegin: params.confirmTimeBegin, + confirmTimeEnd: params.confirmTimeEnd, } + this.query = data this.onLoad(this.page, data); done(); }, @@ -153,13 +197,14 @@ /** * 椤甸潰鍔犺浇鏃惰幏鍙栨暟鎹� */ onLoad(page, params = {}) { + console.log('onLoad', page, params); const query = { ...this.query, // category: params.category ? flowCategory(params.category) : null, mode: this.mode, }; try { - delete query.processCreateTime; // 鍒犻櫎涓嶅繀瑕佺殑鏌ヨ鏉′欢 + delete query.confirmTime; // 鍒犻櫎涓嶅繀瑕佺殑鏌ヨ鏉′欢 } catch (error) { console.error('鏃ユ湡鏍煎紡鍖栭敊璇�', error); } @@ -170,7 +215,7 @@ this.page.total = data.total; this.data = data.records; this.loading = false; - },() => { + }, () => { this.data = []; this.loading = false; }).catch(err => { -- Gitblit v1.9.3