diff --git a/src/api/platform/workflow/controller/form.ts b/src/api/platform/workflow/controller/form.ts new file mode 100644 index 0000000..1a0045e --- /dev/null +++ b/src/api/platform/workflow/controller/form.ts @@ -0,0 +1,26 @@ +/** + * 提供api模板规范代码参考,请尽量保证编写代码风格跟模板规范代码一致 + * Copyright © 2023-2023 海豚生态开源社区 All rights reserved. + * author wangxiang4 + */ +import { Workflow } from '/@/api/platform/workflow/entity/workflow'; +import { defHttp } from '/@/utils/http/axios'; +import { FormProperty } from '/@/api/platform/workflow/entity/formProperty'; + +enum Api { + startProcessDefinition = '/workflow_proxy/workflow/form/startProcessDefinition', + getTaskFormData = '/workflow_proxy/workflow/form/getTaskFormData', + getProcessStartEventFormData = '/workflow_proxy/workflow/form/getProcessStartEventFormData', + auditTask = '/workflow_proxy/workflow/form/auditTask', + getHistoryFormTaskData = '/workflow_proxy/workflow/form/getHistoryFormTaskData', +} + +export const startProcessDefinition = (data: Partial) => defHttp.post({ url: Api.startProcessDefinition, data }); + +export const getTaskFormData = (taskId: string) => defHttp.get({ url: `${Api.getTaskFormData}/${taskId}` }); + +export const getProcessStartEventFormData = (processDefId: string) => defHttp.get({ url: `${Api.getProcessStartEventFormData}/${processDefId}` }); + +export const auditTask = (data: Partial) => defHttp.post({ url: Api.auditTask, data }); + +export const getHistoryFormTaskData = (params?: Recordable) => defHttp.get({ url: Api.getHistoryFormTaskData, params }); diff --git a/src/api/platform/workflow/controller/model.ts b/src/api/platform/workflow/controller/model.ts index 5654069..1d68cfc 100644 --- a/src/api/platform/workflow/controller/model.ts +++ b/src/api/platform/workflow/controller/model.ts @@ -17,9 +17,15 @@ enum Api { } export const listModel = (params?: Partial) => defHttp.get({url: Api.list, params}, { isReturnResultResponse: true }); + export const getModelXml = (modelId: string) => defHttp.get({url: `${Api.getBpmnXml}/${modelId}` }); + export const delModel = (ids: string) => defHttp.delete({ url: `${Api.del}/${ids}` }); + export const copyModel = (modelId: string)=> defHttp.post({ url: `${Api.copy}/${modelId}` }); + export const deployModel = (modelId: string, category: string)=> defHttp.post({ url: Api.deploy, params: { id: modelId, category } }); + export const saveModel = (modelId: string, params: Recordable)=> defHttp.post({url: `${Api.save}/${modelId}`, data: params}); + export const bpmnXmlDownload = (modelId: string) => defHttp.get({url: `${Api.bpmnXmlDownload}/${modelId}` }); diff --git a/src/api/platform/workflow/controller/task.ts b/src/api/platform/workflow/controller/task.ts new file mode 100644 index 0000000..8109389 --- /dev/null +++ b/src/api/platform/workflow/controller/task.ts @@ -0,0 +1,60 @@ +/** + * 提供api模板规范代码参考,请尽量保证编写代码风格跟模板规范代码一致 + * Copyright © 2023-2023 海豚生态开源社区 All rights reserved. + * author wangxiang4 + */ +import { Workflow } from '/@/api/platform/workflow/entity/workflow'; +import { defHttp } from '/@/utils/http/axios'; +import { ProcessInstanceInfoResult } from '/@/api/platform/workflow/entity/processInstanceInfo'; +import { HistoryTaskInfoResult } from '/@/api/platform/workflow/entity/historyTaskInfo'; + +enum Api { + list = '/workflow_proxy/workflow/task/list', + historyFlowChangeList = '/workflow_proxy/workflow/task/historyFlowChangeList', + historyList = '/workflow_proxy/workflow/task/historyList', + getTaskDefinition = '/workflow_proxy/workflow/task/getTaskDefinition', + complete = '/workflow_proxy/workflow/task/complete', + getPaintDiagramXml = '/workflow_proxy/workflow/task/getPaintDiagramXml', + removeTask = '/workflow_proxy/workflow/task/removeTask', + auditTask = '/workflow_proxy/workflow/task/auditTask', + undoTask = '/workflow_proxy/workflow/task/undoTask', + delegateTask = '/workflow_proxy/workflow/task/delegateTask', + claim = '/workflow_proxy/workflow/task/claim', + cancelClaim = '/workflow_proxy/workflow/task/cancelClaim', + transferTask = '/workflow_proxy/workflow/task/transferTask', + rollBackTaskList = '/workflow_proxy/workflow/task/rollBackTaskList', + rejectTask = '/workflow_proxy/workflow/task/rejectTask', + getFlowChart = '/workflow_proxy/workflow/task/getFlowChart', +} + +export const listTodoTask = (params?: Recordable) => defHttp.get({ url: Api.list, params }, { isReturnResultResponse: true }); + +export const listHistoryFlowChange = (processInsId: string) => defHttp.get({ url: `${Api.historyFlowChangeList}/${processInsId}` }); + +export const listHistoryTask = (params?: Recordable) => defHttp.get({ url: Api.historyList, params }, { isReturnResultResponse: true }); + +export const getTaskDefinition = (params?: Partial)=> defHttp.get({ url: Api.getTaskDefinition, params }); + +export const complete = (data: Partial)=> defHttp.post({ url: Api.complete, data }); + +export const getPaintDiagramXml = (processInsId: string)=> defHttp.get({ url: `${Api.getPaintDiagramXml}/${processInsId}` }); + +export const removeTask = (taskId: string , reason: string ) => defHttp.delete({url: Api.removeTask, params: { taskId, reason } }); + +export const auditTask = (data: Partial)=> defHttp.post({ url: Api.auditTask, data }); + +export const undoTask = (data: Recordable)=> defHttp.post({ url: Api.undoTask, data }); + +export const delegateTask = (taskId: string, userId: string) => defHttp.post({url: Api.delegateTask, params: { taskId, userId } }); + +export const claim = (taskId: string)=> defHttp.post({ url: `${Api.claim}/${taskId}` }); + +export const cancelClaim = (taskId: string)=> defHttp.post({ url: `${Api.cancelClaim}/${taskId}` }); + +export const transferTask = (taskId: string, userId: string)=> defHttp.post({ url: Api.transferTask, params: { taskId, userId } }); + +export const rollBackTaskList = (taskId: string)=> defHttp.get({ url: `${Api.rollBackTaskList}/${taskId}` }); + +export const rejectTask = (data: Recordable) => defHttp.post({ url: Api.rejectTask, data }); + +export const getFlowChart = (processInsId: string)=> defHttp.get({ url: `${Api.getFlowChart}/${processInsId}` }); diff --git a/src/api/platform/workflow/entity/formProperty.ts b/src/api/platform/workflow/entity/formProperty.ts new file mode 100644 index 0000000..6abc4a4 --- /dev/null +++ b/src/api/platform/workflow/entity/formProperty.ts @@ -0,0 +1,19 @@ +import type { FormType } from './formType'; + +export interface FormProperty { + /** The key used to submit the property */ + id: string; + /** The display label */ + name: string; + /** Type of the property. */ + type: FormType; + /** Optional value that should be used to display in this property */ + value: string; + /** Is this property read to be displayed in the form and made accessible */ + readable: boolean; + /** Is this property expected when a user submits the form? */ + isWritable: boolean; + /** Is this property a required input field */ + required: boolean; + [key:string]: any; +} diff --git a/src/api/platform/workflow/entity/formType.ts b/src/api/platform/workflow/entity/formType.ts new file mode 100644 index 0000000..f2fcff5 --- /dev/null +++ b/src/api/platform/workflow/entity/formType.ts @@ -0,0 +1,12 @@ + +export interface FormType { + /** Name for the form type. */ + name: string; + + /** + * Retrieve type specific extra information like the list of values for enum types or the format for date types. Look in the userguide for which extra information keys each type provides and what + * return type they give. + */ + information: Recordable; + [key:string]: any; +} diff --git a/src/views/system/menu/menu.data.ts b/src/views/system/menu/menu.data.ts index e57c60a..3b1ff44 100644 --- a/src/views/system/menu/menu.data.ts +++ b/src/views/system/menu/menu.data.ts @@ -29,7 +29,7 @@ export const columns: BasicColumn[] = [ dataIndex: 'icon', width: 100, customRender: ({ record }) => { - return record.icon ? h(Icon, { icon: record.icon }) : h(Tag, { color: 'red' }, () => '暂无图标'); + return record.icon ? h(Icon, { icon: record.icon }) : h(Tag, { color: 'warning' }, () => '暂无图标'); } }, { @@ -41,14 +41,14 @@ export const columns: BasicColumn[] = [ title: '权限标识', dataIndex: 'permission', customRender: ({record}) => { - return record.permission || h(Tag, { color: 'red' }, () => '暂无数据'); + return record.permission || h(Tag, { color: 'warning' }, () => '暂无数据'); } }, { title: '组件', dataIndex: 'component', customRender: ({record}) => { - return record.component || h(Tag, { color: 'red' }, () => '暂无数据'); + return record.component || h(Tag, { color: 'warning' }, () => '暂无数据'); } }, { @@ -60,7 +60,7 @@ export const columns: BasicColumn[] = [ // 采用二进制~~取反,只要为null或者0等等一些其他的空元素都会转为0 // 第一次取反会运算为-1,在后一次取反会运算为0 const enable = ~~hideMenu === 0; - const color = enable ? 'green' : 'red'; + const color = enable ? 'green' : 'warning'; const text = enable ? '显示' : '隐藏'; return h(Tag, { color: color }, () => text); } diff --git a/src/views/workflow/extension/form/index.vue b/src/views/workflow/extension/form/index.vue index ce81274..2987091 100644 --- a/src/views/workflow/extension/form/index.vue +++ b/src/views/workflow/extension/form/index.vue @@ -5,49 +5,50 @@ fixedHeight dense > - - - + + - +
+ +