chore: 详情modal(未完成)

This commit is contained in:
dap 2024-12-17 17:10:08 +08:00
parent 15e6209aa3
commit e3188acbc4
5 changed files with 65 additions and 1 deletions

View File

@ -5,6 +5,17 @@ import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
import { requestClient } from '#/api/request';
/**
* TODO: 这接口后端还没有
* @param businessId
* @returns
*/
export function getTaskByBusinessId(businessId: string) {
return requestClient.get<TaskInfo>(
`/workflow/instance/infoByBusinessId/${businessId}`,
);
}
/**
*
* @param params

View File

@ -0,0 +1,37 @@
<!-- 弹窗查看流程信息 -->
<script setup lang="ts">
import type { TaskInfo } from '#/api/workflow/task/model';
import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { getTaskByBusinessId } from '#/api/workflow/instance';
import { ApprovalPanel } from '.';
interface ModalProps {
businessId: string;
}
const taskInfo = ref<TaskInfo>();
const [BasicModal, modalApi] = useVbenModal({
title: '流程信息',
class: 'w-[1000px]',
onOpenChange: async (isOpen) => {
if (!isOpen) {
return null;
}
const { businessId } = modalApi.getData() as ModalProps;
const taskResp = await getTaskByBusinessId(businessId);
taskInfo.value = taskResp;
},
});
</script>
<template>
<BasicModal>
<ApprovalPanel :task="taskInfo" type="readonly" />
</BasicModal>
</template>

View File

@ -10,6 +10,11 @@ export { default as ApprovalPanel } from './approval-panel.vue';
*/
export { default as approvalRejectionModal } from './approval-rejection-modal.vue';
export { default as ApprovalTimeline } from './approval-timeline.vue';
/**
* modal
*/
export { default as flowInfoModal } from './flow-info-modal.vue';
/**
* /
*/

View File

@ -89,7 +89,7 @@ export const columns: VxeGridProps['columns'] = [
fixed: 'right',
slots: { default: 'action' },
title: '操作',
width: 180,
width: 210,
},
];

View File

@ -16,6 +16,7 @@ import {
import { cancelProcessApply } from '#/api/workflow/instance';
import { commonDownloadExcel } from '#/utils/file/download';
import { flowInfoModal } from '../components';
import userSelectModal from '../components/user-select-modal.vue';
import { leaveExport, leaveList, leaveRemove } from './api';
import { columns, querySchema } from './data';
@ -113,6 +114,14 @@ function handleDownloadExcel() {
},
);
}
const [FlowInfoModal, flowInfoModalApi] = useVbenModal({
connectedComponent: flowInfoModal,
});
function handleInfo(row: Required<LeaveForm>) {
flowInfoModalApi.setData({ businessId: row.id });
flowInfoModalApi.open();
}
const [UserSelectModal, testApi] = useVbenModal({
connectedComponent: userSelectModal,
});
@ -190,9 +199,11 @@ function handleTest() {
撤销
</ghost-button>
</Popconfirm>
<ghost-button @click="handleInfo(row)"> 详情 </ghost-button>
</Space>
</template>
</BasicTable>
<UserSelectModal mode="single" />
<FlowInfoModal />
</Page>
</template>