提交 32dbf63d authored 作者: liuluyu's avatar liuluyu

更新计划管理待办流程

上级 edac5be9
......@@ -113,10 +113,10 @@
import { message } from 'ant-design-vue';
import { definitionStartByDeployId } from '/@/components/Process/api/definition';
import { useRoute } from 'vue-router';
import { useUserStore } from "/@/store/modules/user";
import { useUserStore } from '/@/store/modules/user';
// 引入待办任务组件
import TodoIndex from '../../flowable/task/todo/components/TodoIndex.vue';
import { todoList,getMyTaskFlow } from '/@/components/Process/api/todo';
import { todoList, getMyTaskFlow } from '/@/components/Process/api/todo';
const refTodoIndex = ref();
const isShowDrawer = ref(false);
const startUser = ref<string>('');
......@@ -266,9 +266,7 @@
// 流程未启动时,先启动流程
const needStartFlow =
!record.taskId &&
!record.procInsId &&
(record['bpmStatus'] == null || record['bpmStatus'] == '' || record['bpmStatus'] == '1');
!record.taskId && !record.procInsId && (record['bpmStatus'] == null || record['bpmStatus'] == '' || record['bpmStatus'] == '1');
if (needStartFlow && record.deployId) {
try {
......@@ -293,7 +291,7 @@
if (todoRow?.taskId) {
payload = Object.assign({}, record, startRes, todoRow);
}
}else{
} else {
//console.log("definitionStartByDeployId 返回值-payload -2");
}
......@@ -316,7 +314,7 @@
//console.log("definitionStartByDeployId 返回值-payload- return");
return;
}
console.log("流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查");
console.log('流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查');
// 流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查
try {
let payload: any = { ...record };
......@@ -346,30 +344,48 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc
}
}
// 待办任务:
async function handleTodoDb(record: Recordable) {
const dataId = record.id;
const deployId = record.deployId;
if (!dataId||!deployId) {
if (!dataId || !deployId) {
message.error('未找到业务数据标识');
return;
}
const myTaskFlow = await getMyTaskFlow({ deploymentId: record.deployId,dataId: record.id});
try {
const myTaskFlow = await getMyTaskFlow({ deploymentId: record.deployId, dataId: record.id });
console.log('获取流程任务信息:', myTaskFlow);
// 提取任务流信息,支持多层返回结构(data/result/直接对象)
const taskData = pickStartResult(myTaskFlow);
if (!taskData || !taskData.taskId) {
message.error('未获取到待办任务信息');
return;
}
// 若未指定是否审批,则默认展示审批意见(保持与发起流程一致)
if (taskData.nodeisApprove == null) {
taskData.nodeisApprove = true;
}
// 保存缓存
taskCache.set(String(dataId), taskData);
async function handleSubmit(record) {
if (record.approveDepCode == '' || record.approveUser == '') {
message.warning('请选择审核部门与审核人后进行提交');
} else {
record['planFlag'] = '1';
await handlePlan(record, handleSuccess);
// 打开抽屉并初始化待办任务数据
startUser.value = taskData.startUserName || taskData.startUser || '';
taskName.value = taskData.taskName || taskData.currentTaskName || '';
isShowDrawer.value = true;
await nextTick();
refTodoIndex.value?.iniData?.(taskData);
} catch (e) {
console.error('获取流程任务信息失败:', e);
message.error('获取任务信息失败,请重试');
}
}
/**
* 删除事件
*/
......@@ -393,7 +409,6 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc
*/
function getTableAction(record) {
return [
{
label: '发起',
ifShow: () => {
......@@ -405,7 +420,7 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc
{
label: '待办',
ifShow: () => {
if (record['bpmStatus'] == '2' && record['uid'] ==userStore.getUserInfo.id) return true;
if (record['bpmStatus'] == '2' && record['uid'] == userStore.getUserInfo.id) return true;
else return false;
},
onClick: handleTodoDb.bind(null, record),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论