diff --git a/apps/web-ele/src/adapter/vxe-table.ts b/apps/web-ele/src/adapter/vxe-table.ts index 27917454f..c93703bbb 100644 --- a/apps/web-ele/src/adapter/vxe-table.ts +++ b/apps/web-ele/src/adapter/vxe-table.ts @@ -85,6 +85,10 @@ setupVbenVxeTable({ src, previewSrcList: [src], class: props?.class, + style: { + width: props?.width ? `${props.width}px` : undefined, + height: props?.height ? `${props.height}px` : undefined, + }, previewTeleported: true, }); }, diff --git a/apps/web-ele/src/router/routes/modules/bpm.ts b/apps/web-ele/src/router/routes/modules/bpm.ts index d732af975..c895a34ee 100644 --- a/apps/web-ele/src/router/routes/modules/bpm.ts +++ b/apps/web-ele/src/router/routes/modules/bpm.ts @@ -9,24 +9,24 @@ const routes: RouteRecordRaw[] = [ hideInMenu: true, }, children: [ - // { - // path: 'task', - // name: 'BpmTask', - // meta: { - // title: '审批中心', - // icon: 'ant-design:history-outlined', - // }, - // children: [ - // { - // path: 'my', - // name: 'BpmTaskMy', - // component: () => import('#/views/bpm/processInstance/index.vue'), - // meta: { - // title: '我的流程', - // }, - // }, - // ], - // }, + { + path: 'task', + name: 'BpmTask', + meta: { + title: '审批中心', + icon: 'ant-design:history-outlined', + }, + children: [ + { + path: 'my', + name: 'BpmTaskMy', + component: () => import('#/views/bpm/processInstance/index.vue'), + meta: { + title: '我的流程', + }, + }, + ], + }, // { // path: 'process-instance/detail', // component: () => import('#/views/bpm/processInstance/detail/index.vue'), @@ -86,18 +86,18 @@ const routes: RouteRecordRaw[] = [ // keepAlive: true, // }, // }, - // { - // path: 'manager/definition', - // component: () => import('#/views/bpm/model/definition/index.vue'), - // name: 'BpmProcessDefinition', - // meta: { - // title: '流程定义', - // activePath: '/bpm/manager/model', - // icon: 'carbon:flow-modeler', - // hideInMenu: true, - // keepAlive: true, - // }, - // }, + { + path: 'manager/definition', + component: () => import('#/views/bpm/model/definition/index.vue'), + name: 'BpmProcessDefinition', + meta: { + title: '流程定义', + activePath: '/bpm/manager/model', + icon: 'carbon:flow-modeler', + hideInMenu: true, + keepAlive: true, + }, + }, { path: 'process-instance/report', component: () => import('#/views/bpm/processInstance/report/index.vue'), diff --git a/apps/web-ele/src/views/bpm/model/definition/data.ts b/apps/web-ele/src/views/bpm/model/definition/data.ts new file mode 100644 index 000000000..c5dff8010 --- /dev/null +++ b/apps/web-ele/src/views/bpm/model/definition/data.ts @@ -0,0 +1,73 @@ +import type { VxeTableGridOptions } from '#/adapter/vxe-table'; + +import { DICT_TYPE } from '@vben/constants'; + +/** 列表的字段 */ +export function useGridColumns(): VxeTableGridOptions['columns'] { + return [ + { + field: 'id', + title: '定义编号', + minWidth: 250, + }, + { + field: 'name', + title: '流程名称', + minWidth: 150, + }, + { + field: 'icon', + title: '流程图标', + minWidth: 100, + cellRender: { + name: 'CellImage', + props: { + width: 32, + height: 32, + class: 'rounded', + }, + }, + }, + { + field: 'startUsers', + title: '可见范围', + minWidth: 100, + slots: { default: 'startUsers' }, + }, + { + field: 'modelType', + title: '流程类型', + minWidth: 120, + cellRender: { + name: 'CellDict', + props: { type: DICT_TYPE.BPM_MODEL_TYPE }, + }, + }, + { + field: 'formType', + title: '表单信息', + minWidth: 150, + slots: { default: 'formInfo' }, + }, + { + field: 'version', + title: '流程版本', + minWidth: 80, + cellRender: { + name: 'CellTag', + }, + }, + { + field: 'deploymentTime', + title: '部署时间', + minWidth: 180, + formatter: 'formatDateTime', + }, + { + title: '操作', + width: 120, + fixed: 'right', + slots: { default: 'actions' }, + }, + ]; +} diff --git a/apps/web-ele/src/views/bpm/model/definition/index.vue b/apps/web-ele/src/views/bpm/model/definition/index.vue new file mode 100644 index 000000000..7934c7617 --- /dev/null +++ b/apps/web-ele/src/views/bpm/model/definition/index.vue @@ -0,0 +1,151 @@ + + +