From 79420fccf055d3b5a89eaa16d40d815c66e3f6c1 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期日, 10 八月 2025 14:49:05 +0800
Subject: [PATCH] 添加待办已办
---
src/views/flow/donelist.vue | 204 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/views/flow/todoindex.vue | 6 +
2 files changed, 208 insertions(+), 2 deletions(-)
diff --git a/src/views/flow/donelist.vue b/src/views/flow/donelist.vue
new file mode 100644
index 0000000..0cb4854
--- /dev/null
+++ b/src/views/flow/donelist.vue
@@ -0,0 +1,204 @@
+<!--
+ * @Date: 2025-08-10 14:23:00
+ * @LastEditors: gaoshp
+ * @LastEditTime: 2025-08-10 14:48:40
+ * @FilePath: /mdmweb/src/views/flow/donelist.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" >
+ </avue-crud>
+ </basic-container>
+</template>
+<script>
+import { getList} from '@/api/flow/todolist';
+import { mapGetters } from 'vuex';
+export default {
+ data() {
+ return {
+ loading: false,
+ option: {
+ addBtn: false,
+ editBtn: false,
+ delBtn: false,
+ columnBtn: false,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ dialogWidth: '60%',
+ border: true,
+ index: true,
+ selection: false,
+ // viewBtn: true,
+ menuWidth: 100,
+ column: [
+ {
+ label: '鍏抽敭瀛�',
+ prop: 'keyword',
+ width: 300,
+ search: true,
+ searchType: 'input',
+ hide: true,
+ dicData: [
+ {
+ label: '娑夊瘑缃戠▼搴�',
+ value: 1,
+ },
+ {
+ label: '宸ユ帶缃戣溅搴婄▼搴�',
+ value: 2,
+ },
+ ],
+ },
+ {
+ label: '鏍囬',
+ prop: '',
+ width: 100,
+ render: ({ row }) => {
+ return h('p',
+ {
+ attrs: {},
+ class: {},
+ style: {},
+ }, row?.variables?.title)
+ }
+ },
+ {
+ label: '娴佺▼鍚嶇О',
+ prop: 'processDefinitionName',
+ width: 100,
+ },/*
+ {
+ label: '娴佺▼绫诲瀷',
+ width: 100,
+ prop: 'categoryName',
+ },*/
+
+ {
+ label: '鏈哄簥',
+ width: 100,
+ prop: '',
+ formatter: (val, value, label) => {
+ return `${val?.variables?.machineCode}`;
+ },
+ },
+ {
+ label: '鍒涘缓浜�',
+ width: 100,
+ prop: 'startUserName',
+ },
+ {
+ label: '鍒涘缓鏃堕棿',
+ width: 200,
+ prop: 'processCreateTime',
+ type: 'datetime',
+ format: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ search: true,
+ searchRange: true,
+ searchSpan: 8,
+ // hide: true,
+ },
+ {
+ label: '涓婁竴姝ョ敤鎴�',
+ width: 200,
+ prop: '',
+ formatter: (val, value, label) => {
+ return `${val?.variables?.approveUserNickName || ''}`;
+ },
+ },
+ {
+ label: '褰撳墠鑺傜偣',
+ width: 200,
+ prop: 'taskName',
+ },
+ {
+ label: '鏂囦欢',
+ width: 200,
+ prop: 'file',
+ },
+ {
+ label: '鍒拌揪鏃堕棿',
+ width: 200,
+ prop: 'createTime',
+ },
+ {
+ label: '鍒拌揪鎻忚堪',
+ width: 200,
+ prop: 'comment',
+ },
+
+ ],
+ },
+ page: {
+ page: 1,
+ size: 10,
+ total: 0,
+ },
+ form: {},
+ data: [],
+ }
+ },
+ methods: {
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ 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] || '';
+ 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,
+ keyword: params.keyword || ''
+ }
+ this.query = data
+ this.onLoad(this.page, data);
+ done();
+ },
+ searchReset () {
+ this.loading = true;
+ this.form = {};
+ this.getList();
+ },
+ sizeChange() {
+ this.loading = true;
+ this.getList();
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ const query = {
+ ...this.query,
+ // category: params.category ? flowCategory(params.category) : null,
+ };
+ try {
+ delete query.processCreateTime; // 鍒犻櫎涓嶅繀瑕佺殑鏌ヨ鏉′欢
+ } 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;
+ });
+ },
+
+ }
+}
+</script>
diff --git a/src/views/flow/todoindex.vue b/src/views/flow/todoindex.vue
index 3318da0..a128ca8 100644
--- a/src/views/flow/todoindex.vue
+++ b/src/views/flow/todoindex.vue
@@ -1,7 +1,7 @@
<!--
* @Date: 2025-08-10 14:14:58
* @LastEditors: gaoshp
- * @LastEditTime: 2025-08-10 14:18:38
+ * @LastEditTime: 2025-08-10 14:32:11
* @FilePath: /mdmweb/src/views/flow/todoindex.vue
-->
<template>
@@ -15,16 +15,18 @@
<todolist></todolist>
</el-tab-pane>
<el-tab-pane label="宸插姙" name="done">
-
+ <donelist> </donelist>
</el-tab-pane>
</el-tabs>
</basic-container>
</template>
<script>
import todolist from './todolist.vue';
+import donelist from './donelist.vue';
export default {
components: {
todolist,
+ donelist
},
data() {
return {
--
Gitblit v1.9.3