src/api/workflow/definitionConfig/index.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { DefinitionConfigVO, DefinitionConfigForm } from '@/api/workflow/definitionConfig/types'; /** * æ¥è¯¢è¡¨åé ç½®è¯¦ç» * @param id */ export const getByDefId = (definitionId: string | number): AxiosPromise<DefinitionConfigVO> => { return request({ url: '/workflow/definitionConfig/getByDefId/' + definitionId, method: 'get' }); }; /** * æ°å¢è¡¨åé ç½® * @param data */ export const saveOrUpdate = (data: DefinitionConfigForm) => { return request({ url: '/workflow/definitionConfig/saveOrUpdate', method: 'post', data: data }); }; /** * å é¤è¡¨åé ç½® * @param id */ export const deldefinitionConfig = (id: string | number | Array<string | number>) => { return request({ url: '/workflow/definitionConfig/' + id, method: 'delete' }); }; src/api/workflow/definitionConfig/types.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,95 @@ import { FormManageVO } from '@/api/workflow/formManage/types'; export interface DefinitionConfigVO { /** * ä¸»é® */ id: string | number; /** * 表åID */ formId?: string | number; /** * æµç¨å®ä¹ID */ definitionId: string | number; /** * æµç¨KEY */ processKey: string; /** * 夿³¨ */ remark: string; /** * 表å管ç */ wfFormManageVo: FormManageVO; } export interface DefinitionConfigForm extends BaseEntity { /** * ä¸»é® */ id?: string | number; /** * 表åID */ formId?: string | number; /** * æµç¨å®ä¹ID */ definitionId?: string | number; /** * æµç¨KEY */ processKey?: string; /** * 夿³¨ */ remark?: string; /** * 表å管ç */ wfFormManageVo: FormManageVO; } export interface DefinitionConfigQuery extends PageQuery { /** * 表åID */ formId?: string | number; /** * æµç¨å®ä¹ID */ definitionId?: string | number; /** * æµç¨KEY */ processKey?: string; /** * 表å管ç */ wfFormManageVo: FormManageVO; } src/api/workflow/formDefinition/index.ts
ÎļþÒÑɾ³ý src/api/workflow/formDefinition/types.ts
ÎļþÒÑɾ³ý src/api/workflow/formManage/index.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,76 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { FormManageVO, FormManageForm, FormManageQuery } from '@/api/workflow/formManage/types'; /** * æ¥è¯¢è¡¨å管çå表 * @param query * @returns {*} */ export const listFormManage = (query?: FormManageQuery): AxiosPromise<FormManageVO[]> => { return request({ url: '/workflow/formManage/list', method: 'get', params: query }); }; /** * æ¥è¯¢è¡¨å管çå表 * @param query * @returns {*} */ export const selectListFormManage = (): AxiosPromise<FormManageVO[]> => { return request({ url: '/workflow/formManage/list/selectList', method: 'get', }); }; /** * æ¥è¯¢è¡¨å管çè¯¦ç» * @param id */ export const getFormManage = (id: string | number): AxiosPromise<FormManageVO> => { return request({ url: '/workflow/formManage/' + id, method: 'get' }); }; /** * æ°å¢è¡¨å管ç * @param data */ export const addFormManage = (data: FormManageForm) => { return request({ url: '/workflow/formManage', method: 'post', data: data }); }; /** * ä¿®æ¹è¡¨å管ç * @param data */ export const updateFormManage = (data: FormManageForm) => { return request({ url: '/workflow/formManage', method: 'put', data: data }); }; /** * å é¤è¡¨å管ç * @param id */ export const delFormManage = (id: string | number | Array<string | number>) => { return request({ url: '/workflow/formManage/' + id, method: 'delete' }); }; src/api/workflow/formManage/types.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,75 @@ export interface FormManageVO { /** * ä¸»é® */ id: string | number; /** * 表ååç§° */ formName: string; /** * 表åç±»å */ formType: string; /** * 表åç±»ååç§° */ formTypeName: string; /** * è·¯ç±å°å/表åID */ router: string; /** * 夿³¨ */ remork: string; } export interface FormManageForm extends BaseEntity { /** * ä¸»é® */ id?: string | number; /** * 表ååç§° */ formName?: string; /** * 表åç±»å */ formType?: string; /** * è·¯ç±å°å/表åID */ router?: string; /** * 夿³¨ */ remork?: string; } export interface FormManageQuery extends PageQuery { /** * 表ååç§° */ formName?: string; /** * 表åç±»å */ formType?: string; } src/api/workflow/nodeConfig/index.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,63 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; import { NodeConfigVO, NodeConfigForm, NodeConfigQuery } from '@/api/workflow/nodeConfig/types'; /** * æ¥è¯¢èç¹é ç½®å表 * @param query * @returns {*} */ export const listNodeConfig = (query?: NodeConfigQuery): AxiosPromise<NodeConfigVO[]> => { return request({ url: '/workflow/nodeConfig/list', method: 'get', params: query }); }; /** * æ¥è¯¢èç¹é ç½®è¯¦ç» * @param id */ export const getNodeConfig = (id: string | number): AxiosPromise<NodeConfigVO> => { return request({ url: '/workflow/nodeConfig/' + id, method: 'get' }); }; /** * æ°å¢èç¹é ç½® * @param data */ export const addNodeConfig = (data: NodeConfigForm) => { return request({ url: '/workflow/nodeConfig', method: 'post', data: data }); }; /** * ä¿®æ¹èç¹é ç½® * @param data */ export const updateNodeConfig = (data: NodeConfigForm) => { return request({ url: '/workflow/nodeConfig', method: 'put', data: data }); }; /** * å é¤èç¹é ç½® * @param id */ export const delNodeConfig = (id: string | number | Array<string | number>) => { return request({ url: '/workflow/nodeConfig/' + id, method: 'delete' }); }; src/api/workflow/nodeConfig/types.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,43 @@ import { FormManageVO } from '@/api/workflow/formManage/types'; export interface NodeConfigVO { /** * ä¸»é® */ id: string | number; /** * 表åid */ formId: string | number; /** * 表åç±»å */ formType: string; /** * èç¹åç§° */ nodeName: string; /** * èç¹id */ nodeId: string | number; /** * æµç¨å®ä¹id */ definitionId: string | number; /** * 表å管ç */ wfFormManageVo: FormManageVO; } src/api/workflow/task/types.ts
@@ -1,3 +1,5 @@ import { NodeConfigVO } from '@/api/workflow/nodeConfig/types'; import { DefinitionConfigVO } from '@/api/workflow/definitionConfig/types'; export interface TaskQuery extends PageQuery { name?: string; processDefinitionKey?: string; @@ -37,8 +39,8 @@ participantVo: ParticipantVo; multiInstance: boolean; businessKey: string; formKey: string; wfFormDefinitionVo: any; wfNodeConfigVo: NodeConfigVO; wfDefinitionConfigVo: DefinitionConfigVO; } export interface VariableVo { src/api/workflow/workflowCommon/index.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; export default { routerJump(routerJumpVo: RouterJumpVo,proxy){ if (routerJumpVo.wfNodeConfigVo && routerJumpVo.wfNodeConfigVo.formType === 'static' && routerJumpVo.wfNodeConfigVo.wfFormManageVo) { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${routerJumpVo.wfNodeConfigVo.wfFormManageVo.router}`, query: { id: routerJumpVo.businessKey, type: routerJumpVo.type, taskId: routerJumpVo.taskId } }); } else if (routerJumpVo.wfNodeConfigVo && routerJumpVo.wfNodeConfigVo.formType === 'dynamic' && routerJumpVo.wfNodeConfigVo.wfFormManageVo) { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${routerJumpVo.wfNodeConfigVo.wfFormManageVo.router}`, query: { id: routerJumpVo.businessKey, type: routerJumpVo.type, taskId: routerJumpVo.taskId } }); }else if (routerJumpVo.wfDefinitionConfigVo && routerJumpVo.wfDefinitionConfigVo.wfFormManageVo && routerJumpVo.wfDefinitionConfigVo.wfFormManageVo.formType === 'static') { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${routerJumpVo.wfDefinitionConfigVo.wfFormManageVo.router}`, query: { id: routerJumpVo.businessKey, type: routerJumpVo.type, taskId: routerJumpVo.taskId } }); }else if (routerJumpVo.wfDefinitionConfigVo && routerJumpVo.wfDefinitionConfigVo.wfFormManageVo && routerJumpVo.wfDefinitionConfigVo.wfFormManageVo.formType === 'dynamic') { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${routerJumpVo.wfDefinitionConfigVo.wfFormManageVo.router}`, query: { id: routerJumpVo.businessKey, type: routerJumpVo.type, taskId: routerJumpVo.taskId } }); } else { proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } } } src/api/workflow/workflowCommon/types.ts
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ import { NodeConfigVO } from '@/api/workflow/nodeConfig/types'; import { DefinitionConfigVO } from '@/api/workflow/definitionConfig/types'; export interface RouterJumpVo { wfDefinitionConfigVo: DefinitionConfigVO; wfNodeConfigVo: NodeConfigVO; businessKey: string; taskId: string; type: string; } src/components/BpmnDesign/panel/TaskPanel.vue
@@ -21,8 +21,10 @@ <el-form-item v-if="showConfig.skipExpression" prop="skipExpression" label="è·³è¿è¡¨è¾¾å¼"> <el-input v-model="formData.skipExpression" @change="skipExpressionChange"> </el-input> </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 prop="formKey" label="表åå°å" v-loading="formManageListLoading"> <el-select @change="formKeyChange" v-model="formData.formKey" clearable filterable placeholder="è¯·éæ©è¡¨å" style="width: 260px" > <el-option v-for="item in formManageList" :key="item.id" :label="item.formTypeName+':'+item.formName" :value="item.formType+':'+item.id" /> </el-select> </el-form-item> </div> </el-collapse-item> @@ -239,9 +241,10 @@ import { AllocationTypeEnum, MultiInstanceTypeEnum, SpecifyDescEnum } from '@/enums/bpmn/IndexEnums'; import { UserVO } from '@/api/system/user/types'; import { RoleVO } from '@/api/system/role/types'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; import { selectListFormManage } from '@/api/workflow/formManage'; import { FormManageVO } from '@/api/workflow/formManage/types'; const formManageList = ref<FormManageVO[]>([]); const formManageListLoading = ref(false); interface PropType { element: ModdleElement; } @@ -459,6 +462,18 @@ { id: 'fa253b34-4335-458c-b1bc-b039e2a2b7a6', label: 'æå®ä¸ä¸ªäºº', value: 'specifySingle' }, { id: '7365ff54-2e05-4312-9bfb-0b8edd779c5b', label: 'æå®å¤ä¸ªäºº', value: 'specifyMultiple' } ]; const listFormManage = async () => { formManageListLoading.value = true const res = await selectListFormManage(); formManageList.value = res.data; formManageListLoading.value = false } onMounted(() => { nextTick(() => { listFormManage(); }); }); </script> <style lang="scss" scoped></style> src/views/workflow/formManage/index.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,249 @@ <template> <div class="p-2"> <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave"> <div class="search" v-show="showSearch"> <el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px"> <el-form-item label="表ååç§°" prop="formName"> <el-input v-model="queryParams.formName" placeholder="请è¾å ¥è¡¨ååç§°" clearable style="width: 240px" @keyup.enter="handleQuery" /> </el-form-item> <el-form-item> <el-button type="primary" icon="Search" @click="handleQuery">æç´¢</el-button> <el-button icon="Refresh" @click="resetQuery">éç½®</el-button> </el-form-item> </el-form> </div> </transition> <el-card shadow="never"> <template #header> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['workflow:formManage:add']">æ°å¢</el-button> </el-col> <el-col :span="1.5"> <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['workflow:formManage:edit']">ä¿®æ¹</el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()" v-hasPermi="['workflow:formManage:remove']">å é¤</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['workflow:formManage:export']">导åº</el-button> </el-col> <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar> </el-row> </template> <el-table v-loading="loading" :data="formManageList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="表ååç§°" align="center" prop="formName" /> <el-table-column label="表åç±»å" align="center"> <template #default="scope"> <dict-tag :options="wf_form_type" :value="scope.row.formType"></dict-tag> </template> </el-table-column> <el-table-column label="å°å" align="center" prop="router" /> <el-table-column label="夿³¨" align="center" prop="remork" /> <el-table-column label="æä½" align="center" class-name="small-padding fixed-width"> <template #default="scope"> <el-tooltip content="ä¿®æ¹" placement="top"> <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['workflow:formManage:edit']"></el-button> </el-tooltip> <el-tooltip content="å é¤" placement="top"> <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['workflow:formManage:remove']"></el-button> </el-tooltip> </template> </el-table-column> </el-table> <pagination v-show="total>0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> </el-card> <!-- æ·»å æä¿®æ¹è¡¨å管çå¯¹è¯æ¡ --> <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-form ref="formManageFormRef" :model="form" :rules="rules" label-width="80px"> <el-form-item label="表ååç§°" prop="formName"> <el-input v-model="form.formName" placeholder="请è¾å ¥è¡¨ååç§°" /> </el-form-item> <el-form-item label="表åç±»å" prop="formType"> <el-radio-group v-model="form.formType" @change="form.router = ''"> <el-radio border v-for="dict in wf_form_type" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio> </el-radio-group> </el-form-item> <el-form-item label="è·¯ç±å°å" prop="router" v-if="form.formType === 'static'"> <el-input v-model="form.router" placeholder="请è¾å ¥è·¯ç±å°å" /> </el-form-item> <el-form-item label="表å" prop="router" v-else> <el-input v-model="form.router" disabled placeholder="è¯·éæ©è¡¨å" > <template #append> <el-button icon="Search" /> </template> </el-input> </el-form-item> <el-form-item label="夿³¨" prop="remork"> <el-input v-model="form.remork" type="textarea" placeholder="请è¾å ¥å 容" /> </el-form-item> </el-form> <template #footer> <div class="dialog-footer"> <el-button :loading="buttonLoading" type="primary" @click="submitForm">ç¡® å®</el-button> <el-button @click="cancel">å æ¶</el-button> </div> </template> </el-dialog> </div> </template> <script setup name="FormManage" lang="ts"> import { listFormManage, getFormManage, delFormManage, addFormManage, updateFormManage } from '@/api/workflow/formManage'; import { FormManageVO, FormManageQuery, FormManageForm } from '@/api/workflow/formManage/types'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const { wf_form_type } = toRefs<any>(proxy?.useDict('wf_form_type')); const formManageList = ref<FormManageVO[]>([]); const buttonLoading = ref(false); const loading = ref(true); const showSearch = ref(true); const ids = ref<Array<string | number>>([]); const single = ref(true); const multiple = ref(true); const total = ref(0); const queryFormRef = ref<ElFormInstance>(); const formManageFormRef = ref<ElFormInstance>(); const dialog = reactive<DialogOption>({ visible: false, title: '' }); const initFormData: FormManageForm = { id: undefined, formName: undefined, formType: 'static', remork: undefined, } const data = reactive<PageData<FormManageForm, FormManageQuery>>({ form: {...initFormData}, queryParams: { pageNum: 1, pageSize: 10, formName: undefined, formType: undefined }, rules: { id: [ { required: true, message: "主é®ä¸è½ä¸ºç©º", trigger: "blur" } ], formName: [ { required: true, message: "表ååç§°ä¸è½ä¸ºç©º", trigger: "blur" } ], formType: [ { required: true, message: "表åç±»åä¸è½ä¸ºç©º", trigger: "change" } ], router: [ { required: true, message: "ä¸è½ä¸ºç©º", trigger: "blur" } ], } }); const { queryParams, form, rules } = toRefs(data); /** æ¥è¯¢è¡¨å管çå表 */ const getList = async () => { loading.value = true; const res = await listFormManage(queryParams.value); formManageList.value = res.rows; total.value = res.total; loading.value = false; } /** åæ¶æé® */ const cancel = () => { reset(); dialog.visible = false; } /** 表åéç½® */ const reset = () => { form.value = {...initFormData}; formManageFormRef.value?.resetFields(); } /** æç´¢æé®æä½ */ const handleQuery = () => { queryParams.value.pageNum = 1; getList(); } /** éç½®æé®æä½ */ const resetQuery = () => { queryFormRef.value?.resetFields(); handleQuery(); } /** å¤éæ¡é䏿°æ® */ const handleSelectionChange = (selection: FormManageVO[]) => { ids.value = selection.map(item => item.id); single.value = selection.length != 1; multiple.value = !selection.length; } /** æ°å¢æé®æä½ */ const handleAdd = () => { reset(); dialog.visible = true; dialog.title = "æ·»å 表å管ç"; } /** ä¿®æ¹æé®æä½ */ const handleUpdate = async (row?: FormManageVO) => { reset(); const _id = row?.id || ids.value[0] const res = await getFormManage(_id); Object.assign(form.value, res.data); dialog.visible = true; dialog.title = "ä¿®æ¹è¡¨å管ç"; } /** æäº¤æé® */ const submitForm = () => { formManageFormRef.value?.validate(async (valid: boolean) => { if (valid) { buttonLoading.value = true; if (form.value.id) { await updateFormManage(form.value).finally(() => buttonLoading.value = false); } else { await addFormManage(form.value).finally(() => buttonLoading.value = false); } proxy?.$modal.msgSuccess("æä½æå"); dialog.visible = false; await getList(); } }); } /** å é¤æé®æä½ */ const handleDelete = async (row?: FormManageVO) => { const _ids = row?.id || ids.value; await proxy?.$modal.confirm('æ¯å¦ç¡®è®¤å é¤è¡¨å管çç¼å·ä¸º"' + _ids + '"çæ°æ®é¡¹ï¼').finally(() => loading.value = false); await delFormManage(_ids); proxy?.$modal.msgSuccess("å 餿å"); await getList(); } /** å¯¼åºæé®æä½ */ const handleExport = () => { proxy?.download('workflow/formManage/export', { ...queryParams.value }, `formManage_${new Date().getTime()}.xlsx`) } onMounted(() => { getList(); }); </script> src/views/workflow/processDefinition/index.vue
@@ -221,15 +221,17 @@ </el-dialog> <!-- 表åé ç½® --> <el-dialog v-model="formDialog.visible" :title="formDialog.title" width="650px" append-to-body :close-on-click-modal="false"> <el-form :model="formDefinitionForm" label-width="auto"> <el-form :model="definitionConfigForm" label-width="auto"> <el-form-item label="æµç¨KEY"> <el-input v-model="formDefinitionForm.processKey" disabled/> <el-input v-model="definitionConfigForm.processKey" disabled/> </el-form-item> <el-form-item label="è·¯ç±å°å"> <el-input v-model="formDefinitionForm.path" placeholder="请å示ä¾è·¯ç±è¯·å¡«åï¼/demo/leaveEdit/index"/> <el-form-item label="表å" prop="formId"> <el-select v-model="definitionConfigForm.formId" clearable filterable placeholder="è¯·éæ©è¡¨å" style="width: 260px" > <el-option v-for="item in formManageList" :key="item.id" :label="item.formTypeName+':'+item.formName" :value="item.id" /> </el-select> </el-form-item> <el-form-item label="夿³¨"> <el-input v-model="formDefinitionForm.remark" type="textarea" resize="none"/> <el-input v-model="definitionConfigForm.remark" type="textarea" resize="none"/> </el-form-item> </el-form> @@ -258,12 +260,15 @@ } from '@/api/workflow/processDefinition'; import ProcessPreview from './components/processPreview.vue'; import { listCategory } from '@/api/workflow/category'; import { getByDefId,saveOrUpdate } from '@/api/workflow/formDefinition'; import { getByDefId,saveOrUpdate } from '@/api/workflow/definitionConfig'; import { CategoryVO } from '@/api/workflow/category/types'; import { ProcessDefinitionQuery, ProcessDefinitionVO } from '@/api/workflow/processDefinition/types'; import { FormDefinitionForm } from '@/api/workflow/formDefinition/types'; import { definitionConfigForm } from '@/api/workflow/definitionConfig/types'; import { UploadRequestOptions } from 'element-plus'; import { FormManageVO } from '@/api/workflow/formManage/types'; import { selectListFormManage } from '@/api/workflow/formManage'; const formManageList = ref<FormManageVO[]>([]); const { proxy } = getCurrentInstance() as ComponentInternalInstance; const previewRef = ref<InstanceType<typeof ProcessPreview>>(); @@ -290,7 +295,7 @@ const categoryName = ref(''); /** é¨ç½²æä»¶åç±»éæ© */ const selectCategory = ref(); const formDefinitionForm = ref<FormDefinitionForm>({}); const definitionConfigForm = ref<definitionConfigForm>({}); const uploadDialog = reactive<DialogOption>({ visible: false, @@ -473,21 +478,22 @@ }; //æå¼è¡¨åé ç½® const handleFormOpen = async (row: ProcessDefinitionVO) => { listFormManage() formDialog.visible = true formDefinitionForm.value.processKey = row.key formDefinitionForm.value.definitionId = row.id definitionConfigForm.value.processKey = row.key definitionConfigForm.value.definitionId = row.id const resp = await getByDefId(row.id) if(resp.data){ formDefinitionForm.value = resp.data definitionConfigForm.value = resp.data }else{ formDefinitionForm.value.path = undefined formDefinitionForm.value.remark = undefined definitionConfigForm.value.formId = undefined definitionConfigForm.value.remark = undefined } } //ä¿å表å const handlerSaveForm = async () => { await proxy?.$modal.confirm('æ¯å¦ç¡®è®¤ä¿åï¼'); saveOrUpdate(formDefinitionForm.value).then(resp=>{ saveOrUpdate(definitionConfigForm.value).then(resp=>{ if(resp.code === 200){ proxy?.$modal.msgSuccess('æä½æå'); formDialog.visible = false @@ -495,4 +501,9 @@ } }) } //表åå表 const listFormManage = async () => { const res = await selectListFormManage(); formManageList.value = res.data; } </script> src/views/workflow/processInstance/index.vue
@@ -161,6 +161,8 @@ import { listCategory } from '@/api/workflow/category'; import { CategoryVO } from '@/api/workflow/category/types'; import { ProcessInstanceQuery, ProcessInstanceVO } from '@/api/workflow/processInstance/types'; import workflowCommon from '@/api/workflow/workflowCommon'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; //审æ¹è®°å½ç»ä»¶ const { proxy } = getCurrentInstance() as ComponentInternalInstance; const queryFormRef = ref<ElFormInstance>(); @@ -347,18 +349,14 @@ }; /** æ¥çæé®æä½ */ const handleView = (row) => { if(row.wfFormDefinitionVo){ proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${row.wfFormDefinitionVo.path}`, query: { id: row.businessKey, type: 'view' } }) }else{ proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } const routerJumpVo = reactive<RouterJumpVo>({ wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfNodeConfigVo: row.wfNodeConfigVo, businessKey: row.businessKey, taskId: row.id, type: 'view' }); workflowCommon.routerJump(routerJumpVo,proxy) }; onMounted(() => { src/views/workflow/task/allTaskWaiting.vue
@@ -54,13 +54,13 @@ </template> <template v-else> <el-tag type="success"> {{ scope.row.assigneeName }} {{ scope.row.assigneeName || 'æ '}} </el-tag> </template> </template> <template v-else-if="tab === 'finish'" #default="scope"> <el-tag type="success"> {{ scope.row.assigneeName }} {{ scope.row.assigneeName || 'æ '}} </el-tag> </template> </el-table-column> @@ -129,6 +129,8 @@ import MultiInstanceUser from '@/components/Process/multiInstanceUser.vue'; import UserSelect from '@/components/UserSelect'; import { TaskQuery, TaskVO, VariableVo } from '@/api/workflow/task/types'; import workflowCommon from '@/api/workflow/workflowCommon'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; //审æ¹è®°å½ç»ä»¶ //å ç¾ç»ä»¶ const multiInstanceUserRef = ref<InstanceType<typeof MultiInstanceUser>>(); @@ -260,18 +262,14 @@ }; /** æ¥çæé®æä½ */ const handleView = (row) => { if(row.wfFormDefinitionVo){ proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${row.wfFormDefinitionVo.path}`, query: { id: row.businessKey, type: 'view' } }) }else{ proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } const routerJumpVo = reactive<RouterJumpVo>({ wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfNodeConfigVo: row.wfNodeConfigVo, businessKey: row.businessKey, taskId: row.id, type: 'view' }); workflowCommon.routerJump(routerJumpVo,proxy) }; onMounted(() => { getWaitingList(); src/views/workflow/task/myDocument.vue
@@ -117,6 +117,8 @@ import { listCategory } from '@/api/workflow/category'; import { CategoryVO } from '@/api/workflow/category/types'; import { ProcessInstanceQuery, ProcessInstanceVO } from '@/api/workflow/processInstance/types'; import workflowCommon from '@/api/workflow/workflowCommon'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const queryFormRef = ref<ElFormInstance>(); const categoryTreeRef = ref<ElTreeInstance>(); @@ -250,17 +252,13 @@ //åç const handleOpen = async (row,type) => { if(row.wfFormDefinitionVo){ proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${row.wfFormDefinitionVo.path}`, query: { id: row.businessKey, type: type } }) }else{ proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } const routerJumpVo = reactive<RouterJumpVo>({ wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfNodeConfigVo: row.wfNodeConfigVo, businessKey: row.businessKey, taskId: row.id, type: type }); workflowCommon.routerJump(routerJumpVo,proxy) }; </script> src/views/workflow/task/taskCopyList.vue
@@ -43,7 +43,7 @@ </template> <template v-else> <el-tag type="success"> {{ scope.row.assigneeName }} {{ scope.row.assigneeName || 'æ '}} </el-tag> </template> </template> @@ -73,6 +73,8 @@ <script lang="ts" setup> import { getPageByTaskCopy} from '@/api/workflow/task'; import { TaskQuery } from '@/api/workflow/task/types'; import workflowCommon from '@/api/workflow/workflowCommon'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; //审æ¹è®°å½ç»ä»¶ const queryFormRef = ref<ElFormInstance>(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -127,18 +129,14 @@ /** æ¥çæé®æä½ */ const handleView = (row) => { if(row.wfFormDefinitionVo){ proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${row.wfFormDefinitionVo.path}`, query: { id: row.businessKey, type: 'view' } }) }else{ proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } const routerJumpVo = reactive<RouterJumpVo>({ wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfNodeConfigVo: row.wfNodeConfigVo, businessKey: row.businessKey, taskId: row.id, type: 'view' }); workflowCommon.routerJump(routerJumpVo,proxy) }; src/views/workflow/task/taskFinish.vue
@@ -37,7 +37,7 @@ <el-table-column fixed align="center" prop="assigneeName" label="åç人"> <template #default="scope"> <el-tag type="success"> {{ scope.row.assigneeName }} {{ scope.row.assigneeName || 'æ '}} </el-tag> </template> </el-table-column> @@ -62,6 +62,8 @@ <script lang="ts" setup> import { getPageByTaskFinish } from '@/api/workflow/task'; import { TaskQuery, TaskVO } from '@/api/workflow/task/types'; import workflowCommon from '@/api/workflow/workflowCommon'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; //审æ¹è®°å½ç»ä»¶ const queryFormRef = ref<ElFormInstance>(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -113,19 +115,15 @@ }); }; /** æ¥çæé®æä½ */ const handleView = (row) => { if(row.wfFormDefinitionVo){ proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${row.wfFormDefinitionVo.path}`, query: { id: row.businessKey, type: 'view' } }) }else{ proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } const handleView = (row: TaskVO) => { const routerJumpVo = reactive<RouterJumpVo>({ wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfNodeConfigVo: row.wfNodeConfigVo, businessKey: row.businessKey, taskId: row.id, type: 'view' }); workflowCommon.routerJump(routerJumpVo,proxy) }; onMounted(() => { src/views/workflow/task/taskWaiting.vue
@@ -43,7 +43,7 @@ </template> <template v-else> <el-tag type="success"> {{ scope.row.assigneeName }} {{ scope.row.assigneeName || 'æ ' }} </el-tag> </template> </template> @@ -79,6 +79,9 @@ <script lang="ts" setup> import { getPageByTaskWait, claim, returnTask } from '@/api/workflow/task'; import { TaskQuery, TaskVO } from '@/api/workflow/task/types'; import workflowCommon from '@/api/workflow/workflowCommon'; import { RouterJumpVo } from '@/api/workflow/workflowCommon/types'; //æäº¤ç»ä»¶ const queryFormRef = ref<ElFormInstance>(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -135,29 +138,14 @@ }; //åç const handleOpen = async (row: TaskVO) => { 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.$router.push({ path: `${row.wfFormDefinitionVo.path}`, query: { id: row.businessKey, type: 'approval', taskId: row.id } }); } else { proxy?.$modal.msgError('è¯·å°æµç¨å®ä¹èåé 置路ç±ï¼'); } const routerJumpVo = reactive<RouterJumpVo>({ wfDefinitionConfigVo: row.wfDefinitionConfigVo, wfNodeConfigVo: row.wfNodeConfigVo, businessKey: row.businessKey, taskId: row.id, type: 'approval' }); workflowCommon.routerJump(routerJumpVo,proxy) }; /** 认é¢ä»»å¡ */