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