yangys
2025-08-20 1eb06fe948b92d9a3248f2f36da9cea819528b64
src/views/flow/todolist.vue
@@ -5,11 +5,12 @@
            @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"
            @selection-change="selectionTransferTask">
            <template #menu-left>
                <el-button type="primary" plain @click="reassign(0)">重新指派</el-button>
                <el-button type="primary" v-if="permission.manual_dispatch" plain @click="reassign(1)">手动派工
                </el-button>
                <el-button type="primary" v-if="permission.auto_dispatch" plain @click="reassign(2)">自动派工
                </el-button>
                <el-button type="primary" v-if="permission.manual_dispatch" plain @click="reassign(1)">手动派工
                </el-button>
                <el-button type="primary" plain @click="reassign(0)">重新指派</el-button>
                <el-button type="primary" v-if="permission.batch_approve" plain @click="reassign(3)">批量审批
                </el-button>
            </template>
@@ -186,7 +187,7 @@
               {
                        label: '标题',
                        prop: '',
                        width: 100,
                        width: 200,
                  render: ({ row }) => {
                            return h('p',
                                {
@@ -199,7 +200,7 @@
                    {
                        label: '流程名称',
                        prop: '',
                        width: 100,
                        width: 110,
                  render: ({ row }) => {
                            return h('p',
                                {
@@ -208,13 +209,19 @@
                                    style: {},
                                }, row?.variables?.myProcessName)
                        }
                    },/*
                    },
                    {
                        label: '流程类型',
                        label: '编制',
                        width: 100,
                        prop: 'categoryName',
                    },*/
                        render: ({ row }) => {
                            return h('p',
                                {
                                    attrs: {},
                                    class: {},
                                    style: {},
                                }, row?.variables?.programmerName)
                        }
                    },
                    {
                        label: '机床',
                        width: 100,
@@ -225,12 +232,13 @@
                    },
                    {
                        label: '创建人',
                        width: 100,
                        width: 70,
                        overHidden:true,
                        prop: 'startUserName',
                    },
                    {
                        label: '创建时间',
                        width: 200,
                        width: 100,
                        prop: 'processCreateTime',
                        type: 'datetime',
                        format: 'YYYY-MM-DD HH:mm:ss',
@@ -242,7 +250,7 @@
                    },
                    {
                        label: '上一步用户',
                        width: 200,
                        width: 100,
                        prop: '',
                        formatter: (val, value, label) => {
                            return `${val?.variables?.approveUserNickName || ''}`;
@@ -250,7 +258,7 @@
                    },
                    {
                        label: '当前节点',
                        width: 200,
                        width: 100,
                        prop: 'taskName',
                    },
                    {
@@ -260,7 +268,7 @@
                    },
                    {
                        label: '到达时间',
                        width: 200,
                        width: 120,
                        prop: 'createTime',
                    },
                    {
@@ -294,6 +302,7 @@
                    {
                        label: '发送给',
                        prop: 'newAssigneeId',
                        filterable:true,
                        type: 'select',
                        // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`,
                        // dicFlag: true,
@@ -422,43 +431,45 @@
                    this.formApprove.assignee = row.variables.programmer
                } else if (row.taskDefinitionKey == "confirmIsUseableTask") {//判断程序是否可用节点,都是发送给校对
                    this.formApprove.assignee = row.variables.checker
                } else if (["approveTask", 'seniorApproveTask','replaceApprove'].includes(row.taskDefinitionKey)) {// 高师审核
                } else if (["approveTask", 'seniorApproveTask','replaceApprove','unlockApproveTask'].includes(row.taskDefinitionKey)) {// 高师审核
                    this.optionApprove.column[1].disabled = true;//最后一个节点"发送给" 禁用
                    this.formApprove.assignee = ''; // 如果是通过流程直接结束
                }else if('unlockProgramConfirm'==row.taskDefinitionKey){
                    //解锁流程,编程复核,默认给高师
                    this.formApprove.assignee = row.variables.senior;
                }
            } else if(approve === 'N'){
                //不通过的情况
                //根据在线文档34行,驳回'发送给'是禁用,但有默认选项
                //根据在线文档34行,'发送给'是禁用,但有默认选项
                this.optionApprove.column[1].disabled = true;
                //this.formApprove.assignee = ''
                //if (["approveTask", 'seniorApproveTask','replaceApprove'].includes(row.taskDefinitionKey)) {
                    //数控程序审核(高师),是最后一个节点,不通过 都是禁用'发送给',直接给 校对人员
                    //this.optionApprove.column[1].disabled = true;
                //}
                if(["cureProgramTask"].includes(row.taskDefinitionKey)) {
                    //固化编制节点,不通过就结束了,assignee设置=''
                if (["approveTask", 'seniorApproveTask','replaceApprove','unlockApproveTask'].includes(row.taskDefinitionKey)) {
                    //审批节点,不通过给编制:编制是责任人,不给校对了
                    this.formApprove.assignee = row.variables.programmer;
                } else if(["check", 'cureCheckTask','repalceCheckTask'].includes(row.taskDefinitionKey)){
                    //校对节点,上一步是编程
                    this.formApprove.assignee = row.variables.programmer;
                }else if (["programmingTask"].includes(row.taskDefinitionKey)) {
                    // 试切编制节点,上一步是组长
                    this.formApprove.assignee = row.variables.teamLeader;
                }else if(["cureProgramTask"].includes(row.taskDefinitionKey)) {
                    //固化编制节点,不通过给数控管理员
                    //TODO 按找角色定位给其中一个数控管理员
                    this.formApprove.assignee = '';
                }else if(["confirmIsUseableTask"].includes(row.taskDefinitionKey)) {
                    //判断是否可用节点,不可用,给编制
                    this.formApprove.assignee = row.variables.programmer;
                }if(['teamLeaderTask','repalceProgrammingTask','unlockProgramConfirm'].includes(row.taskDefinitionKey)){
                    //初始节点不通过就是结束流程,处理人为空
                    this.formApprove.assignee = '';
                }
                if(["teamLeaderTask" ,'repalceProgrammingTask'].includes(row.taskDefinitionKey)) {
                    //组长,替换流程的程序编制,禁用'发送给'
                    //this.optionApprove.column[1].disabled = true;
                }else {
                    //除了组长,替换流程的编制,其他节点的不通过,都是给上一个步骤的处理人
                    if(!["cureProgramTask"].includes(row.taskDefinitionKey)) {
                        //非固化编制节点,需要初始化默认处理人
                        getPrevius({processInstanceId: row.processInstanceId}).then(res => {
                            console.log(res)
                            if(res.data.code === 200) {
                                this.formApprove.assignee = res.data.data // 如果是通过,则默认指派给自己
                            }
                        });
                    }
            }else if(approve === 'R'){
                //驳回,目前只有检查程序是否可用节点
                if(["confirmIsUseableTask"].includes(row.taskDefinitionKey)) {
                    //判断程序是否可用节点,驳回,给组长
                    this.formApprove.assignee = row.variables.teamLeader;
                }
            }
            
        },