diff --git a/apps/web-antd/src/views/workflow/leave/data.tsx b/apps/web-antd/src/views/workflow/leave/data.tsx index 061b825b..5f6b3226 100644 --- a/apps/web-antd/src/views/workflow/leave/data.tsx +++ b/apps/web-antd/src/views/workflow/leave/data.tsx @@ -10,12 +10,12 @@ import { OptionsTag } from '#/components/table'; import { renderDict } from '#/utils/render'; export const leaveTypeOptions = [ - { label: '病假 😷', value: '1' }, - { label: '事假 🖥', value: '2' }, - { label: '年假 🏝', value: '3' }, - { label: '婚假 💒', value: '4' }, - { label: '产假 🤰', value: '5' }, - { label: '其他 🤔', value: '7' }, + { label: '病假', value: '1' }, + { label: '事假', value: '2' }, + { label: '年假', value: '3' }, + { label: '婚假', value: '4' }, + { label: '产假', value: '5' }, + { label: '其他', value: '7' }, ]; export const leaveFlowOptions = [ @@ -96,7 +96,7 @@ export const columns: VxeGridProps['columns'] = [ }, ]; -export const formSchema: () => VbenFormSchema[] = () => [ +export const modalSchema: () => VbenFormSchema[] = () => [ { label: '主键', fieldName: 'id', @@ -129,17 +129,21 @@ export const formSchema: () => VbenFormSchema[] = () => [ componentProps: { options: [ { - label: '前端发起 (可选审批人, 选抄送人, 上传附件)', + label: '前端发起(可选审批人, 选抄送人, 上传附件)', value: 'frontend', }, - { - label: '后端发起 (自行编写后端逻辑, 由后端发起流程)', - value: 'backend', - }, + { label: '后端发起(自行编写构造发起参数)', value: 'backend' }, ], - getPopupContainer, }, defaultValue: 'frontend', + dependencies: { + componentProps: (model) => { + return { + disabled: model.id, + }; + }, + triggerFields: ['id'], + }, }, { label: '请假类型', @@ -150,6 +154,7 @@ export const formSchema: () => VbenFormSchema[] = () => [ getPopupContainer, }, rules: 'selectRequired', + formItemClass: 'col-span-1', }, { label: '开始时间', @@ -171,6 +176,7 @@ export const formSchema: () => VbenFormSchema[] = () => [ }; }, rules: 'required', + formItemClass: 'col-span-1', }, { label: '请假天数', @@ -179,11 +185,12 @@ export const formSchema: () => VbenFormSchema[] = () => [ componentProps: { disabled: true, }, - // rules: 'required', + rules: 'required', }, { label: '请假原因', fieldName: 'remark', component: 'Textarea', + formItemClass: 'items-start', }, ]; diff --git a/apps/web-antd/src/views/workflow/leave/index.vue b/apps/web-antd/src/views/workflow/leave/index.vue index df3ab61b..cbd84c1a 100644 --- a/apps/web-antd/src/views/workflow/leave/index.vue +++ b/apps/web-antd/src/views/workflow/leave/index.vue @@ -5,7 +5,9 @@ import type { LeaveForm } from './api/model'; import type { VxeGridProps } from '#/adapter/vxe-table'; -import { Page, useVbenDrawer, useVbenModal } from '@vben/common-ui'; +import { useRouter } from 'vue-router'; + +import { Page, useVbenModal } from '@vben/common-ui'; import { getVxePopupContainer } from '@vben/utils'; import { Modal, Popconfirm, Space } from 'ant-design-vue'; @@ -14,10 +16,9 @@ import { useVbenVxeGrid, vxeCheckboxChecked } from '#/adapter/vxe-table'; import { cancelProcessApply } from '#/api/workflow/instance'; import { commonDownloadExcel } from '#/utils/file/download'; -import { applyModal, flowInfoModal } from '../components'; +import { flowInfoModal } from '../components'; import { leaveExport, leaveList, leaveRemove } from './api'; import { columns, querySchema } from './data'; -import leaveDrawer from './leave-drawer.vue'; const formOptions: VbenFormProps = { commonConfig: { @@ -83,25 +84,13 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ }, }); -const [ApplyModal, applyModalApi] = useVbenModal({ - connectedComponent: applyModal, -}); -const [LeaveDrawer, leaveDrawerApi] = useVbenDrawer({ - connectedComponent: leaveDrawer, -}); - +const router = useRouter(); function handleAdd() { - leaveDrawerApi.setData({ applyModalApi }).open(); + router.push('/workflow/leaveEdit/index'); } async function handleEdit(row: Required) { - leaveDrawerApi.setData({ id: row.id, applyModalApi }).open(); -} - -async function handleCompleteOrCancel() { - leaveDrawerApi.close(); - applyModalApi.close(); - tableApi.query(); + router.push({ path: '/workflow/leaveEdit/index', query: { id: row.id } }); } async function handleDelete(row: Required) { @@ -144,7 +133,6 @@ function handleDownloadExcel() { const [FlowInfoModal, flowInfoModalApi] = useVbenModal({ connectedComponent: flowInfoModal, }); - function handleInfo(row: Required) { flowInfoModalApi.setData({ businessId: row.id }); flowInfoModalApi.open(); @@ -230,10 +218,5 @@ function handleInfo(row: Required) { - - diff --git a/apps/web-antd/src/views/workflow/leave/leave-drawer.vue b/apps/web-antd/src/views/workflow/leave/leave-drawer.vue deleted file mode 100644 index 4c7beec4..00000000 --- a/apps/web-antd/src/views/workflow/leave/leave-drawer.vue +++ /dev/null @@ -1,190 +0,0 @@ - - - diff --git a/apps/web-antd/src/views/workflow/leave/leave-form.vue b/apps/web-antd/src/views/workflow/leave/leave-form.vue index 16453797..37f6e996 100644 --- a/apps/web-antd/src/views/workflow/leave/leave-form.vue +++ b/apps/web-antd/src/views/workflow/leave/leave-form.vue @@ -1,7 +1,3 @@ - - +