add 工作流挂节点路由表单

This commit is contained in:
wangzk 2024-03-29 17:26:56 +08:00
parent c417c6debe
commit c5b3c121c9
5 changed files with 23 additions and 6 deletions

View File

@ -37,6 +37,7 @@ export interface TaskVO extends BaseEntity {
participantVo: ParticipantVo; participantVo: ParticipantVo;
multiInstance: boolean; multiInstance: boolean;
businessKey: string; businessKey: string;
formKey: string;
wfFormDefinitionVo: any; wfFormDefinitionVo: any;
} }

View File

@ -115,7 +115,9 @@ export default (ops: Options) => {
updateProperties({ name: newVal }); updateProperties({ name: newVal });
} }
}; };
const formKeyChange = (newVal: string) => {
updateProperties({ formKey: newVal });
};
const constant = { const constant = {
MultiInstanceType: [ MultiInstanceType: [
{ id: '373d4b81-a0d1-4eb8-8685-0d2fb1b468e2', label: '无', value: MultiInstanceTypeEnum.NONE }, { id: '373d4b81-a0d1-4eb8-8685-0d2fb1b468e2', label: '无', value: MultiInstanceTypeEnum.NONE },
@ -136,7 +138,7 @@ export default (ops: Options) => {
createModdleElement, createModdleElement,
idChange, idChange,
nameChange, nameChange,
formKeyChange,
getExtensionElements, getExtensionElements,
getPropertiesElements getPropertiesElements
}; };

View File

@ -21,6 +21,9 @@
<el-form-item v-if="showConfig.skipExpression" prop="skipExpression" label="跳过表达式"> <el-form-item v-if="showConfig.skipExpression" prop="skipExpression" label="跳过表达式">
<el-input v-model="formData.skipExpression" @change="skipExpressionChange"> </el-input> <el-input v-model="formData.skipExpression" @change="skipExpressionChange"> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="formKey" label="表单地址">
<el-input v-model="formData.formKey" @change="formKeyChange" placeholder="当前节点表单路由如:/demo/leaveEdit/index"> </el-input>
</el-form-item>
</div> </div>
</el-collapse-item> </el-collapse-item>
<el-collapse-item name="2"> <el-collapse-item name="2">
@ -243,7 +246,7 @@ interface PropType {
element: ModdleElement; element: ModdleElement;
} }
const props = withDefaults(defineProps<PropType>(), {}); const props = withDefaults(defineProps<PropType>(), {});
const { showConfig, nameChange, idChange, updateProperties, getExtensionElements, createModdleElement, constant } = usePanel({ const { showConfig, nameChange, formKeyChange, idChange, updateProperties, getExtensionElements, createModdleElement, constant } = usePanel({
element: toRaw(props.element) element: toRaw(props.element)
}); });
const { parseData } = useParseElement({ const { parseData } = useParseElement({

View File

@ -34,6 +34,7 @@ declare module 'bpmnDesign' {
multiInstanceType: MultiInstanceTypeEnum; multiInstanceType: MultiInstanceTypeEnum;
async?: boolean; async?: boolean;
priority?: number; priority?: number;
formKey?: string;
skipExpression?: string; skipExpression?: string;
isForCompensation?: boolean; isForCompensation?: boolean;
triggerServiceTask?: boolean; triggerServiceTask?: boolean;

View File

@ -135,7 +135,17 @@ const getWaitingList = () => {
}; };
// //
const handleOpen = async (row: TaskVO) => { const handleOpen = async (row: TaskVO) => {
if(row.wfFormDefinitionVo){ if (row.formKey != null) {
proxy.$tab.closePage(proxy.$route);
proxy.$router.push({
path: `${row.formKey}`,
query: {
id: row.businessKey,
type: 'approval',
taskId: row.id
}
});
} else if (row.wfFormDefinitionVo) {
proxy.$tab.closePage(proxy.$route); proxy.$tab.closePage(proxy.$route);
proxy.$router.push({ proxy.$router.push({
path: `${row.wfFormDefinitionVo.path}`, path: `${row.wfFormDefinitionVo.path}`,
@ -144,8 +154,8 @@ const handleOpen = async (row: TaskVO) => {
type: 'approval', type: 'approval',
taskId: row.id taskId: row.id
} }
}) });
}else{ } else {
proxy?.$modal.msgError('请到流程定义菜单配置路由!'); proxy?.$modal.msgError('请到流程定义菜单配置路由!');
} }
}; };