| | |
| | | @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> |
| | |
| | | activeName: 'approve', |
| | | applist: [], |
| | | assigneeData: [], |
| | | allAssigneeData: [], |
| | | managerAssigneeData: [],//数控管理员角色的审批用户 |
| | | row: {}, |
| | | approveBox: false, |
| | | formApprove: { |
| | |
| | | label: '发送给', |
| | | prop: 'assignee', |
| | | type: 'select', |
| | | // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`, |
| | | // dicFlag: true, |
| | | props: { |
| | | label: 'name', |
| | | value: 'id', |
| | |
| | | dicData: [ |
| | | |
| | | ], |
| | | // rules: [{ required: true, message: '请选择下一审批用户', trigger: 'blur' }], |
| | | }, |
| | | { |
| | | label: '工序版次', |
| | | prop: 'processEdition', |
| | | type: 'input', |
| | | span: 24, |
| | | // disabled: true, |
| | | display: false,// 隐藏显示 |
| | | // rules: [{ required: true, message: '请选择下一审批用户', trigger: 'blur' }], |
| | | }, |
| | | { |
| | |
| | | columnBtn: false, |
| | | tip: false, |
| | | // simplePage: true, |
| | | searchEnter:true, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | dialogWidth: '60%', |
| | |
| | | { |
| | | label: '标题', |
| | | prop: '', |
| | | width: 100, |
| | | width: 200, |
| | | render: ({ row }) => { |
| | | return h('p', |
| | | { |
| | |
| | | { |
| | | label: '流程名称', |
| | | prop: '', |
| | | width: 100, |
| | | width: 110, |
| | | render: ({ row }) => { |
| | | return h('p', |
| | | { |
| | |
| | | style: {}, |
| | | }, row?.variables?.myProcessName) |
| | | } |
| | | },/* |
| | | }, |
| | | { |
| | | label: '流程类型', |
| | | label: '编制', |
| | | width: 100, |
| | | prop: 'categoryName', |
| | | },*/ |
| | | |
| | | render: ({ row }) => { |
| | | return h('p', |
| | | { |
| | | attrs: {}, |
| | | class: {}, |
| | | style: {}, |
| | | }, row?.variables?.programmerName) |
| | | } |
| | | }, |
| | | { |
| | | label: '机床', |
| | | width: 100, |
| | |
| | | }, |
| | | { |
| | | 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', |
| | |
| | | }, |
| | | { |
| | | label: '上一步用户', |
| | | width: 200, |
| | | width: 100, |
| | | prop: '', |
| | | formatter: (val, value, label) => { |
| | | return `${val?.variables?.approveUserNickName || ''}`; |
| | |
| | | }, |
| | | { |
| | | label: '当前节点', |
| | | width: 200, |
| | | width: 100, |
| | | prop: 'taskName', |
| | | }, |
| | | { |
| | |
| | | }, |
| | | { |
| | | label: '到达时间', |
| | | width: 200, |
| | | width: 120, |
| | | prop: 'createTime', |
| | | }, |
| | | { |
| | |
| | | prop: 'newAssigneeId', |
| | | filterable:true, |
| | | type: 'select', |
| | | // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`, |
| | | // dicFlag: true, |
| | | props: { |
| | | label: 'name', |
| | | value: 'id', |
| | |
| | | }, |
| | | }, |
| | | mounted() { |
| | | getAssignee().then(res => { |
| | | this.assigneeData = res.data.data; |
| | | this.optionApprove.column[1].dicData = this.assigneeData; |
| | | this.reassignOption.column[1].dicData = this.assigneeData; |
| | | }) |
| | | this.setApproveBtn() |
| | | //this.setApproveBtn(row) |
| | | }, |
| | | methods: { |
| | | // 设置审批结果的状态 |
| | | setApproveBtn () { |
| | | setApproveBtn (row) { |
| | | // 1.审批界面radio文本修改,普通节点的2个radio文本 通过(approve=Y),不通过(现在的驳回)(approve=N) |
| | | |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '通过', value: 'Y' }, |
| | | { label: '不通过', value: 'N' }, |
| | | ]; |
| | | switch (this.row.taskDefinitionKey) { |
| | | case 'teamLeaderTask': // 任务派工 |
| | | case 'cureProgramTask': // 固化编制 |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '通过', value: 'Y' }, |
| | | { label: '结束', value: 'N' }, |
| | | ]; |
| | | break; |
| | | case 'confirmIsUseableTask': // 检查程序是否可用 |
| | | case 'cureProgramTask': // 固化编制,可以通过(给校对);不通过N(给程序管理员) |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '通过', value: 'Y' }, |
| | | { label: '不通过', value: 'N' }, |
| | | { label: '驳回', value: 'R' }, |
| | | { label: '不通过', value: 'N' },//给程序管理员 |
| | | |
| | | ]; |
| | | break; |
| | | case 'confirmIsUseableTask': // 检查程序是否可用,驳回是给 |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '可用', value: 'Y' }, //给校对 |
| | | { label: '不可用', value: 'N' },//给编制 |
| | | { label: '驳回', value: 'R' },//给驳回组长 |
| | | ]; |
| | | break; |
| | | case 'programmingTask': //试切 编制节点 |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '通过', value: 'Y' }, |
| | | { label: '不通过', value: 'N' },//给组长 |
| | | { label: '结束', value: 'E' },//结束流程 |
| | | ]; |
| | | break; |
| | | case 'programMgrConfirm'://固化流程 程序管理员,只能结束 |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '结束', value: 'E' }, |
| | | ]; |
| | | break; |
| | | case 'seniorApproveTask': // 高师审核 |
| | | case 'approveTask': // 高师审核 |
| | | |
| | | default: |
| | | this.optionApprove.column[0].dicData = [ |
| | | { label: '通过', value: 'Y' }, |
| | |
| | | } |
| | | }, |
| | | setAssignee (row, approve) { |
| | | |
| | | if (["cureProgramTask"].includes(row.taskDefinitionKey)) { |
| | | if(approve === 'N'){ |
| | | this.optionApprove.column[1].dicData = this.managerAssigneeData; |
| | | }else{ |
| | | //this.assigneeData = this.allAssigneeData; |
| | | this.optionApprove.column[1].dicData = this.allAssigneeData; |
| | | } |
| | | } |
| | | if (approve === 'Y') {//审批通过的情况 |
| | | |
| | | this.optionApprove.column[1].disabled = false; |
| | |
| | | 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行,'发送给'是禁用,但有默认选项 |
| | | this.optionApprove.column[1].disabled = true; |
| | | |
| | | if (["approveTask", 'seniorApproveTask','replaceApprove'].includes(row.taskDefinitionKey)) { |
| | | //审批节点,上一步是校对 |
| | | this.formApprove.assignee = row.variables.checker; |
| | | }else if(["check", 'cureCheckTask','repalceCheckTask'].includes(row.taskDefinitionKey)){ |
| | | 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)) { |
| | | //固化编制节点,不通过就结束了,assignee设置='' |
| | | this.formApprove.assignee = ''; |
| | | //固化编制节点,不通过给数控管理员 |
| | | //TODO 按找角色定位给其中一个数控管理员 |
| | | this.optionApprove.column[1].disabled = false; |
| | | for(var i=0;i<this.assigneeData.length;i++){ |
| | | if(this.assigneeData[i].manager == true){ |
| | | this.formApprove.assignee = this.assigneeData[i].id; |
| | | break; |
| | | } |
| | | } |
| | | //this.formApprove.assignee = ''; |
| | | }else if(["confirmIsUseableTask"].includes(row.taskDefinitionKey)) { |
| | | //判断是否可用节点,不可用,给编制 |
| | | this.formApprove.assignee = row.variables.programmer; |
| | | }if(['teamLeaderTask','repalceProgrammingTask'].includes(row.taskDefinitionKey)){ |
| | | }if(['teamLeaderTask','repalceProgrammingTask','unlockProgramConfirm'].includes(row.taskDefinitionKey)){ |
| | | //初始节点不通过就是结束流程,处理人为空 |
| | | this.formApprove.assignee = ''; |
| | | } |
| | |
| | | //判断程序是否可用节点,驳回,给组长 |
| | | this.formApprove.assignee = row.variables.teamLeader; |
| | | } |
| | | }else if(approve === 'E'){//END 结束流程,不可选处理人 |
| | | //驳回,目前只有检查程序是否可用节点 |
| | | this.optionApprove.column[1].disabled = true;//处理人选项禁用 |
| | | this.formApprove.assignee = '' |
| | | } |
| | | |
| | | }, |
| | |
| | | } |
| | | }, |
| | | handleAction(row, index) { |
| | | getAssignee({ |
| | | taskId: row.taskId, |
| | | }).then(res => { |
| | | //if(row.taskDefinitionKey === '') |
| | | this.assigneeData = res.data.data; |
| | | this.allAssigneeData = res.data.data; |
| | | //初始化数控管理员的数组 |
| | | for(var i=0;i<this.allAssigneeData.length;i++){ |
| | | if(this.allAssigneeData[i].manager == true){ |
| | | this.managerAssigneeData[this.managerAssigneeData.length] = this.allAssigneeData[i]; |
| | | } |
| | | } |
| | | this.optionApprove.column[1].dicData = this.assigneeData; |
| | | this.reassignOption.column[1].dicData = this.assigneeData; |
| | | }) |
| | | this.formApprove = { |
| | | comment: '', |
| | | approve: 'Y', // 默认同 |
| | | } |
| | | this.approveBox = true; |
| | | this.row = row |
| | | |
| | | this.setAssignee(row, this.formApprove.approve); |
| | | this.setApproveBtn(row); |
| | | console.log('handleAction', row, index); |
| | | }, |
| | | handleSubmit(form, done) { |
| | |
| | | } |
| | | |
| | | .left { |
| | | width: 400px; |
| | | width: 40%; |
| | | } |
| | | |
| | | .right { |