gaoshp
2025-08-10 79420fccf055d3b5a89eaa16d40d815c66e3f6c1
添加待办已办
已添加1个文件
已修改1个文件
210 ■■■■■ 文件已修改
src/views/flow/donelist.vue 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flow/todoindex.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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 {