From 0867327d337ea6e30d1363a776e276d7a32e1db8 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期日, 20 七月 2025 20:49:43 +0800 Subject: [PATCH] 流程查询 --- src/views/flowmgr/processQuery.vue | 269 ++++++++++++++++++++++++++++++++++++++++++++ src/api/flowmgr/processQuery.js | 28 ++++ src/views/tasks/dncreturnfiles.vue | 42 ++++-- 3 files changed, 323 insertions(+), 16 deletions(-) diff --git a/src/api/flowmgr/processQuery.js b/src/api/flowmgr/processQuery.js new file mode 100644 index 0000000..c6c8977 --- /dev/null +++ b/src/api/flowmgr/processQuery.js @@ -0,0 +1,28 @@ +/* + * @Date: 2025-06-12 22:38:05 + * @LastEditors: gaoshp + * @LastEditTime: 2025-07-20 20:33:26 + * @FilePath: /mdmweb/src/api/flowmgr/processQuery.js + */ +import request from '@/axios'; +export const getList = (current, size, params) => { + return request({ + url: '/blade-mdm/flow/mgr/search-list', + method: 'get', + params: { + ...params, + current, + size, + }, + }) +}; + +export const deleteRow = (data) => { + return request({ + url: '/blade-mdm/flow/mgr/delete-instance', + method: 'post', + data: { + ...data, + }, + }) +}; \ No newline at end of file diff --git a/src/views/flowmgr/processQuery.vue b/src/views/flowmgr/processQuery.vue new file mode 100644 index 0000000..db902c0 --- /dev/null +++ b/src/views/flowmgr/processQuery.vue @@ -0,0 +1,269 @@ +<!-- + * @Date: 2025-06-18 09:17:09 + * @LastEditors: gaoshp + * @LastEditTime: 2025-07-20 20:48:15 + * @FilePath: /mdmweb/src/views/flowmgr/processQuery.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" @selection-change="selectionChange"> + <template #menu-left> + <!-- <el-button type="primary" plain @click="exportWebSite">瀵煎嚭鍥炰紶娑夊瘑缃�</el-button> --> + <!-- <el-button type="primary" plain @click="reassign">鎸傝浇杞﹀簥绋嬪簭搴�</el-button> --> + <!-- <el-button type="primary" plain @click="exportExcel">瀵煎嚭鍒癊XCEL</el-button> --> + </template> + <template #menu="scope"> + <el-button type="danger" text size="default" + @click.stop="handleAction(scope.row, scope.index, 0)">鍒犻櫎 + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> +import { getList, deleteRow } from '@/api/flowmgr/processQuery.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() { + return { + page: { + pageSize: 10, + currentPage: 1, + total: 0, + }, + form: {}, + query: {}, + loading: true, + data: [], + option: { + addBtn: false, + editBtn: false, + delBtn: false, + viewBtn: true, + columnBtn: false, + tip: false, + // simplePage: true, + searchShow: true, + searchMenuSpan: 6, + dialogWidth: '60%', + // tree: true, + border: true, + index: true, + selection: true, + + menuWidth: 200, + // menu: false, + dialogClickModal: false, + column: [ + { + label: '娴佺▼绫诲瀷', + prop: '', + search: true, + searchType: 'select', + hide: true, + dicUrl: `/blade-system/dict/dictionary?code=flow`, + props: { + label: 'dictValue', + value: 'dictKey', + }, + }, + { + label: '鍒涘缓鏃堕棿', + prop: 'createTime', + type: 'datetime', + format: 'YYYY-MM-DD HH:mm:ss', + valueFormat: 'YYYY-MM-DD HH:mm:ss', + search: true, + searchRange: true, + hide: true, + }, + { + label: '鍏抽敭瀛�', + prop: 'keyword', + search: true, + searchType: 'input', + hide: true, + }, + { + label: '娴佺▼妯$増', + prop: '', + }, + { + label: '鏈哄簥', + prop: '', + }, + { + label: '鏍囬', + prop: '', + }, + { + label: '鍒涘缓浜�', + prop: 'startUserName', + }, + { + label: '缂栧埗', + prop: '', + }, + { + label: '宸ュ簭鍚嶇О', + prop: '', + }, + { + label: '鍔犲伐杞﹂棿', + prop: '', + }, + { + label: '鍒涘缓鏃堕棿', + prop: 'processCreateTime', + }, + { + label: '褰撳墠鑺傜偣', + prop: 'taskName', + }, + ], + selectedList: [], + } + } + }, + methods: { + handleAction (row, index, flag) { + // 澶勭悊鎺ュ彈鎴栨嫆缁濇搷浣� + let ids = [row.id].toString(); + this.$confirm('纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(() => { + deleteRow({processInstanceId: row.processInstanceId}) + }) + }, + 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?.createTime?.[0] || ''; + params.createTimeEnd = params?.createTime?.[1] || ''; + console.log(params); + // data = { + // createTimeBegin: dayjs(params.createTimeBegin).isValid() ? dayjs(params.createTimeBegin).format('YYYY-MM-DD') : '', + // createTimeEnd: dayjs(params.createTimeEnd).isValid() ? dayjs(params.createTimeEnd).format('YYYY-MM-DD') : '', + // keyword: params.keyword || '' + // } + data = { + createTimeBegin: params.createTimeBegin, + createTimeEnd: params.createTimeEnd, + } + this.query = data + this.onLoad(this.page, data); + done(); + }, + searchReset() { + let data = {} + this.query = params; + this.page.currentPage = 1; + data = { + createTimeBegin: params.createTimeBegin, + createTimeEnd: params.createTimeEnd, + keyword: params.keyword || '' + } + this.onLoad(this.page, data); + done(); + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + // this.onLoad(); + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + /** * 椤甸潰鍔犺浇鏃惰幏鍙栨暟鎹� + */ + 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.confirmTime; // 鍒犻櫎涓嶅繀瑕佺殑鏌ヨ鏉′欢 + } catch (error) { + console.error('鏃ユ湡鏍煎紡鍖栭敊璇�', error); + } + + this.loading = true; + getList(page.currentPage, page.pageSize, Object.assign(query, params)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + }, () => { + this.data = []; + this.loading = false; + }).catch(err => { + this.data = []; + this.loading = false; + }); + } + } +}; +</script> + +<style lang="scss" scoped></style> \ No newline at end of file diff --git a/src/views/tasks/dncreturnfiles.vue b/src/views/tasks/dncreturnfiles.vue index f70e9dd..183d3ea 100644 --- a/src/views/tasks/dncreturnfiles.vue +++ b/src/views/tasks/dncreturnfiles.vue @@ -1,25 +1,24 @@ <!-- * @Date: 2025-06-18 09:17:09 * @LastEditors: gaoshp - * @LastEditTime: 2025-07-20 12:34:42 + * @LastEditTime: 2025-07-20 20:29:18 * @FilePath: /mdmweb/src/views/tasks/dncreturnfiles.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" @selection-change="selectionChange"> + @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad" + @selection-change="selectionChange"> <template #menu-left> <el-button type="primary" plain @click="exportWebSite">瀵煎嚭鍥炰紶娑夊瘑缃�</el-button> <el-button type="primary" plain @click="reassign">鎸傝浇杞﹀簥绋嬪簭搴�</el-button> <el-button type="primary" plain @click="exportExcel">瀵煎嚭鍒癊XCEL</el-button> </template> <template #menu="scope"> - <el-button type="primary" text size="default" - @click.stop="handleAction(scope.row, scope.index, 1)">鎺ュ彈 + <el-button type="primary" text size="default" @click.stop="handleAction(scope.row, scope.index, 1)">鎺ュ彈 </el-button> - <el-button type="danger" text size="default" - @click.stop="handleAction(scope.row, scope.index, 0)">鎷掔粷 + <el-button type="danger" text size="default" @click.stop="handleAction(scope.row, scope.index, 0)">鎷掔粷 </el-button> </template> </avue-crud> @@ -94,7 +93,7 @@ label: '鏂囦欢鍥哄寲鐘舵��', prop: 'isCured', formatter: (val, value, label) => { - return `${val==0?'鏈浐鍖�':"宸插浐鍖�"}`; + return `${val == 0 ? '鏈浐鍖�' : "宸插浐鍖�"}`; }, }, { @@ -110,26 +109,37 @@ } }, methods: { - handleAction (row, index, flag) { + handleAction(row, index, flag) { // 澶勭悊鎺ュ彈鎴栨嫆缁濇搷浣� let ids = [row.id].toString(); - if(flag) { + if (flag) { accept({ ids }).then(() => { this.$message.success(`鎿嶄綔鎴愬姛: ${row.name}`); + this.$refs.crud.toggleSelection(); + this.onLoad(this.page); }).catch(() => { this.$message.error(`鎿嶄綔澶辫触: ${row.name}`); this.$refs.crud.refreshChange(); }); } else { - reject({ ids }).then(() => { - this.$message.success(`鎿嶄綔鎴愬姛: ${row.name}`); - }).catch(() => { - this.$message.error(`鎿嶄綔澶辫触: ${row.name}`); - this.$refs.crud.refreshChange(); - }); + this.$confirm('纭畾鎷掔粷?', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(() => { + reject({ ids }).then(() => { + this.$message.success(`鎿嶄綔鎴愬姛: ${row.name}`); + }).catch(() => { + this.$message.error(`鎿嶄綔澶辫触: ${row.name}`); + this.$refs.crud.toggleSelection(); + this.onLoad(this.page); + }); + }) + } }, - selectionChange (list) { + selectionChange(list) { this.selectedList = list; }, exportWebSite() { -- Gitblit v1.9.3