提交 fd7edf9b authored 作者: kxjia's avatar kxjia

问题管理工作流

上级 000b6ae6
......@@ -198,3 +198,9 @@ export function getNodesByTableName(tableName) {
})
}
export function addMyTaskFlow(data) {
return defHttp.post({
url: '//my/myTaskFlow/add',
data: data
})
}
......@@ -11,6 +11,8 @@ enum Api {
deleteBatch = '/problem/stProblemCheckArchive/deleteBatch',
importExcel = '/problem/stProblemCheckArchive/importExcel',
exportXls = '/problem/stProblemCheckArchive/exportXls',
}
/**
* 导出api
......
......@@ -3,7 +3,6 @@
<BasicTable @register="registerTable" :rowSelection="rowSelection">
<template #tableTitle>
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined">添加问题</a-button>
<a-dropdown v-if="selectedRowKeys.length > 0">
<template #overlay>
<a-menu>
......@@ -168,16 +167,24 @@
}
async function handleFlow(record: Recordable) {
record['deployId'] = props.nextFlowNode.deployId
record['bmpNodeId'] = props.nextFlowNode.id
record['bpmStatus'] = 2
emit("sendWorkFlow",record)
}
async function handleUpdate(dataId) {
let record = {
bmpNodeId: props.nextFlowNode.id,
deployId: props.nextFlowNode.deployId,
bpmStatus: 2,
id:dataId
}
await saveOrUpdate(record,true).then(res => {
handleSuccess(record)
handleSuccess(null);
})
emit("sendWorkFlow",record)
}
defineExpose({
handleUpdate,
})
</script>
......
......@@ -18,6 +18,9 @@
该节点未配置表单
</div>
</a-tab-pane>
<template #tabBarExtraContent>
<a-button type="primary">查看流程图</a-button>
</template>
</a-tabs>
<WorkFlowFormDrawer
v-model:visible="drawerVisible"
......@@ -60,10 +63,12 @@
<script lang="ts" name="problem-stProblemCheck" setup>
import { ref, nextTick, onMounted, defineAsyncComponent, h } from 'vue';
import { getNodesByTableName } from '/@/components/Process/api/definition';
import { definitionStart, definitionStartByDeployId } from "/@/components/Process/api/definition";
import { definitionStart, definitionStartByDeployId,addMyTaskFlow } from "/@/components/Process/api/definition";
import WorkFlowFormDrawer from '/@/views/common/WorkFlowFormDrawer.vue';
import TaskAssigneeDrawer from '/@/views/common/TaskAssigneeDrawer.vue'
const formTableName = "st_problem_check";
const workflowNodes = ref<any[]>([]);
const activeTab = ref(1);
const dataId = ref('');
......@@ -171,12 +176,30 @@
const handleDefinitionStart = async (data) => {
const formData = { dataId:data.id, dataName: 'id' };
const startResRaw = await definitionStartByDeployId(
currentNode.value?.deployId || '',
);
if (startResRaw?.data?.id) {
dataId.value = startResRaw.data.id;
const deployId = currentNode.value.deployId || '';
const startResRaw = await definitionStartByDeployId(deployId, formData);
alert(JSON.stringify(startResRaw))
let myTaskFlow = {}
if (startResRaw?.procInsId) {
myTaskFlow["taskId"] = startResRaw.taskId;
myTaskFlow["deployId"] = startResRaw.deployId;
myTaskFlow["procInsId"] = startResRaw.instanceId;
myTaskFlow["executionId"] = startResRaw.executionId;
myTaskFlow["procDefId"] = startResRaw.procInsId;
myTaskFlow["targetId"] = data.id;
myTaskFlow["taskDefinitionKey"] = currentNode.value.id;
myTaskFlow["formTableName"] = formTableName;
const attributes = currentNode.value?.attributes || {}
const userTypes = attributes.userType || [];
if (userTypes.length > 0) {
userType.value = userTypes[0].value || '';
if(userType.value==="role"){
myTaskFlow["roleid"] = currentNode.value.assignee;
} else {
myTaskFlow["uid"] = currentNode.value.assignee;
}
}
await addMyTaskFlow(myTaskFlow);
}
}
......@@ -207,7 +230,7 @@
procDefId?: string;
formData?: Record<string, any>;
}) => {
console.log('打开多表单抽屉:', params);
if (params.nodeIndex !== undefined) {
currentMultiFormIndex.value = params.nodeIndex;
} else {
......@@ -276,7 +299,6 @@
}
function handlSendSuccess(dataId: any) {
const currentFormComponent = getCurrentFormComponent();
if (currentFormComponent && typeof currentFormComponent.handleUpdate === 'function') {
currentFormComponent.handleUpdate(dataId);
......@@ -298,8 +320,10 @@
onMounted(async () => {
await nextTick();
try {
const nodes = await getNodesByTableName("st_problem_check");
const nodes = await getNodesByTableName(formTableName);
workflowNodes.value = nodes;
console.log('获取到的节点:', workflowNodes.value);
workflowNodes.value.forEach((node, index) => {
console.log(`节点${index + 1}:`, node.name, 'formListUrl:', node.formListUrl);
});
......
......@@ -65,7 +65,7 @@
emit("callback",record)
}
function handleSendNext(record: Recordable) {
async function handleSendNext(record: Recordable) {
emit("sendWorkFlow",record)
}
......@@ -87,10 +87,14 @@
}
async function handleUpdate(dataId) {
await saveOrUpdate({
//alert(dataId)
let record = {
bmpNodeId: props.nextFlowNode.id,
id:dataId,
},true).then(res => {
deployId: props.nextFlowNode.deployId,
bpmStatus: 2,
id:dataId
}
await saveOrUpdate(record,true).then(res => {
handleSuccess();
})
}
......
......@@ -54,6 +54,7 @@
let data = getFieldsValue();
let params = Object.assign({}, formData, data);
await saveOrUpdate(params, true);
alert(1)
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论