diff --git a/yudao-ui-admin-vue3/src/api/bpm/leave/index.ts b/yudao-ui-admin-vue3/src/api/bpm/leave/index.ts index 567fa5807..ff6d86a0a 100644 --- a/yudao-ui-admin-vue3/src/api/bpm/leave/index.ts +++ b/yudao-ui-admin-vue3/src/api/bpm/leave/index.ts @@ -1,5 +1,15 @@ import request from '@/config/axios' -import { LeaveVO } from './types' + +export type LeaveVO = { + id: number + result: number + type: number + reason: string + processInstanceId: string + startTime: string + endTime: string + createTime: string +} // 创建请假申请 export const createLeaveApi = async (data: LeaveVO) => { diff --git a/yudao-ui-admin-vue3/src/api/bpm/leave/types.ts b/yudao-ui-admin-vue3/src/api/bpm/leave/types.ts deleted file mode 100644 index 60b4bf831..000000000 --- a/yudao-ui-admin-vue3/src/api/bpm/leave/types.ts +++ /dev/null @@ -1,10 +0,0 @@ -export type LeaveVO = { - id: number - result: number - type: number - reason: string - processInstanceId: string - startTime: string - endTime: string - createTime: string -} diff --git a/yudao-ui-admin-vue3/src/router/modules/remaining.ts b/yudao-ui-admin-vue3/src/router/modules/remaining.ts index c53bcb2df..9dc37a3c9 100644 --- a/yudao-ui-admin-vue3/src/router/modules/remaining.ts +++ b/yudao-ui-admin-vue3/src/router/modules/remaining.ts @@ -220,6 +220,54 @@ const remainingRouter: AppRouteRecordRaw[] = [ canTo: true, title: '任务分配规则' } + }, + { + path: '/process-instance/create', + component: () => import('@/views/bpm/processInstance/create.vue'), + name: 'BpmProcessInstanceCreate', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '发起流程', + activeMenu: 'bpm/processInstance/create' + } + }, + { + path: '/process-instance/detail', + component: () => import('@/views/bpm/processInstance/detail.vue'), + name: 'BpmProcessInstanceDetail', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '流程详情', + activeMenu: 'bpm/processInstance/detail' + } + }, + { + path: '/oa/leave/create', + component: () => import('@/views/bpm/oa/leave/create.vue'), + name: 'OALeaveCreate', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '发起 OA 请假', + activeMenu: 'bpm/oa/leave/create' + } + }, + { + path: '/oa/leave/detail', + component: () => import('@/views/bpm/oa/leave/detail.vue'), + name: 'OALeaveDetail', + meta: { + noCache: true, + hidden: true, + canTo: true, + title: '查看 OA 请假', + activeMenu: 'bpm/oa/leave/detail' + } } ] } diff --git a/yudao-ui-admin-vue3/src/types/auto-imports.d.ts b/yudao-ui-admin-vue3/src/types/auto-imports.d.ts index 68e0f7a40..53862b631 100644 --- a/yudao-ui-admin-vue3/src/types/auto-imports.d.ts +++ b/yudao-ui-admin-vue3/src/types/auto-imports.d.ts @@ -3,6 +3,7 @@ export {} declare global { const DICT_TYPE: typeof import('@/utils/dict')['DICT_TYPE'] const EffectScope: typeof import('vue')['EffectScope'] + const ElMessage: typeof import('element-plus/es')['ElMessage'] const computed: typeof import('vue')['computed'] const createApp: typeof import('vue')['createApp'] const customRef: typeof import('vue')['customRef'] diff --git a/yudao-ui-admin-vue3/src/views/bpm/oa/index.vue b/yudao-ui-admin-vue3/src/views/bpm/oa/index.vue deleted file mode 100644 index 2292e1c95..000000000 --- a/yudao-ui-admin-vue3/src/views/bpm/oa/index.vue +++ /dev/null @@ -1,4 +0,0 @@ - - diff --git a/yudao-ui-admin-vue3/src/views/bpm/oa/leave/create.vue b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/create.vue new file mode 100644 index 000000000..d2d24f8eb --- /dev/null +++ b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/create.vue @@ -0,0 +1,90 @@ + + diff --git a/yudao-ui-admin-vue3/src/views/bpm/oa/leave/detail.vue b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/detail.vue new file mode 100644 index 000000000..9e351e255 --- /dev/null +++ b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/detail.vue @@ -0,0 +1,54 @@ + + + diff --git a/yudao-ui-admin-vue3/src/views/bpm/oa/leave/index.vue b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/index.vue new file mode 100644 index 000000000..c25e52c4b --- /dev/null +++ b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/index.vue @@ -0,0 +1,81 @@ + + + diff --git a/yudao-ui-admin-vue3/src/views/bpm/oa/leave/leave.data.ts b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/leave.data.ts new file mode 100644 index 000000000..041bde1fe --- /dev/null +++ b/yudao-ui-admin-vue3/src/views/bpm/oa/leave/leave.data.ts @@ -0,0 +1,74 @@ +import { reactive } from 'vue' +import { DICT_TYPE } from '@/utils/dict' +import { VxeCrudSchema, useVxeCrudSchemas } from '@/hooks/web/useVxeCrudSchemas' +// 国际化 +const { t } = useI18n() +// 表单校验 +export const rules = reactive({ + startTime: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }], + endTime: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }], + type: [{ required: true, message: '请假类型不能为空', trigger: 'change' }], + reason: [{ required: true, message: '请假原因不能为空', trigger: 'change' }] +}) + +// crudSchemas +const crudSchemas = reactive({ + primaryKey: 'id', + primaryType: 'id', + primaryTitle: '申请编号', + action: true, + actionWidth: '260', + columns: [ + { + title: t('common.status'), + field: 'result', + dictType: DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, + dictClass: 'number', + isSearch: true + }, + { + title: t('common.startTimeText'), + field: 'startTime', + formatter: 'formatDate', + table: { + width: 180 + } + }, + { + title: t('common.endTimeText'), + field: 'endTime', + formatter: 'formatDate', + table: { + width: 180 + } + }, + { + title: '请假类型', + field: 'result', + dictType: DICT_TYPE.BPM_OA_LEAVE_TYPE, + dictClass: 'number', + isSearch: true + }, + { + title: '原因', + field: 'reason', + isSearch: true + }, + { + title: '申请时间', + field: 'createTime', + formatter: 'formatDate', + table: { + width: 180 + }, + isSearch: true, + search: { + show: true, + itemRender: { + name: 'XDataTimePicker' + } + } + } + ] +}) +export const { allSchemas } = useVxeCrudSchemas(crudSchemas)