chore: 详情modal(未完成)
This commit is contained in:
parent
15e6209aa3
commit
e3188acbc4
@ -5,6 +5,17 @@ import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
|
|||||||
|
|
||||||
import { requestClient } from '#/api/request';
|
import { requestClient } from '#/api/request';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO: 这接口后端还没有
|
||||||
|
* @param businessId
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
export function getTaskByBusinessId(businessId: string) {
|
||||||
|
return requestClient.get<TaskInfo>(
|
||||||
|
`/workflow/instance/infoByBusinessId/${businessId}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询正在运行的流程实例
|
* 分页查询正在运行的流程实例
|
||||||
* @param params
|
* @param params
|
||||||
|
@ -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>
|
@ -10,6 +10,11 @@ export { default as ApprovalPanel } from './approval-panel.vue';
|
|||||||
*/
|
*/
|
||||||
export { default as approvalRejectionModal } from './approval-rejection-modal.vue';
|
export { default as approvalRejectionModal } from './approval-rejection-modal.vue';
|
||||||
export { default as ApprovalTimeline } from './approval-timeline.vue';
|
export { default as ApprovalTimeline } from './approval-timeline.vue';
|
||||||
|
/**
|
||||||
|
* 详情信息 modal
|
||||||
|
*/
|
||||||
|
export { default as flowInfoModal } from './flow-info-modal.vue';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 选人 支持单选/多选
|
* 选人 支持单选/多选
|
||||||
*/
|
*/
|
||||||
|
@ -89,7 +89,7 @@ export const columns: VxeGridProps['columns'] = [
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
slots: { default: 'action' },
|
slots: { default: 'action' },
|
||||||
title: '操作',
|
title: '操作',
|
||||||
width: 180,
|
width: 210,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ import {
|
|||||||
import { cancelProcessApply } from '#/api/workflow/instance';
|
import { cancelProcessApply } from '#/api/workflow/instance';
|
||||||
import { commonDownloadExcel } from '#/utils/file/download';
|
import { commonDownloadExcel } from '#/utils/file/download';
|
||||||
|
|
||||||
|
import { flowInfoModal } from '../components';
|
||||||
import userSelectModal from '../components/user-select-modal.vue';
|
import userSelectModal from '../components/user-select-modal.vue';
|
||||||
import { leaveExport, leaveList, leaveRemove } from './api';
|
import { leaveExport, leaveList, leaveRemove } from './api';
|
||||||
import { columns, querySchema } from './data';
|
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({
|
const [UserSelectModal, testApi] = useVbenModal({
|
||||||
connectedComponent: userSelectModal,
|
connectedComponent: userSelectModal,
|
||||||
});
|
});
|
||||||
@ -190,9 +199,11 @@ function handleTest() {
|
|||||||
撤销
|
撤销
|
||||||
</ghost-button>
|
</ghost-button>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
|
<ghost-button @click="handleInfo(row)"> 详情 </ghost-button>
|
||||||
</Space>
|
</Space>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
<UserSelectModal mode="single" />
|
<UserSelectModal mode="single" />
|
||||||
|
<FlowInfoModal />
|
||||||
</Page>
|
</Page>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
Reference in New Issue
Block a user