pull/134/head
YunaiV 2025-06-07 20:17:21 +08:00
parent 013f3f3d2d
commit f6f2f65656
25 changed files with 36 additions and 11 deletions

View File

@ -3,7 +3,8 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace BpmCategoryApi {
/** BPM 流程分类 VO */
/** 流程分类 VO */
// TODO @jason不用 VO 后缀哈
export interface CategoryVO {
id: number;
name: string;

View File

@ -2,9 +2,9 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
/** 流程定义 */
export namespace BpmProcessDefinitionApi {
// 流程定义
/** 流程定义 */
// TODO @ziye不用 VO 后缀哈
export interface ProcessDefinitionVO {
id: string;
version: number;

View File

@ -3,7 +3,8 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace BpmFormApi {
// 流程表单
/** 流程表单 */
// TODO @jason不用 VO 后缀哈
export interface FormVO {
id?: number | undefined;
name: string;
@ -23,6 +24,7 @@ export async function getFormPage(params: PageParam) {
}
/** 获取表单详情 */
// TODO @ziye应该不会 string 的情况呢。
export async function getFormDetail(id: number | string) {
return requestClient.get<BpmFormApi.FormVO>(`/bpm/form/get?id=${id}`);
}

View File

@ -12,6 +12,7 @@ export namespace BpmModelApi {
}
/** 流程定义 VO */
// TODO @jason不用 VO 后缀哈
export interface ProcessDefinitionVO {
id: string;
key?: string;

View File

@ -3,6 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace BpmOALeaveApi {
// TODO @ziye不用 VO 后缀
export interface LeaveVO {
id: number;
status: number;

View File

@ -3,7 +3,8 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace BpmProcessExpressionApi {
/** BPM 流程表达式 VO */
// TODO @ziye不用 VO 后缀
/** 流程表达式 VO */
export interface ProcessExpressionVO {
id: number; // 编号
name: string; // 表达式名字

View File

@ -8,6 +8,7 @@ import type { BpmCandidateStrategyEnum, BpmNodeTypeEnum } from '#/utils';
import { requestClient } from '#/api/request';
export namespace BpmProcessInstanceApi {
// TODO @芋艿:一些注释缺少或者不对;
export type Task = {
id: number;
name: string;
@ -42,7 +43,7 @@ export namespace BpmProcessInstanceApi {
tasks: ApprovalTaskInfo[];
};
// 流程实例
/** 流程实例 */
export type ProcessInstanceVO = {
businessKey: string;
category: string;

View File

@ -3,6 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace BpmProcessListenerApi {
// TODO @ziye不用 VO 后缀
/** BPM 流程监听器 VO */
export interface ProcessListenerVO {
id: number; // 编号

View File

@ -5,6 +5,7 @@ import type { BpmProcessInstanceApi } from '../processInstance';
import { requestClient } from '#/api/request';
export namespace BpmTaskApi {
// TODO @ziye不用 VO 后缀;注释使用 /** */ 风格;
/** BPM 流程监听器 VO */
export interface TaskVO {
id: number; // 编号

View File

@ -3,6 +3,7 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace BpmUserGroupApi {
// TODO @ziye不用 VO 后缀
/** BPM 用户组 VO */
export interface UserGroupVO {
id: number;

View File

@ -1,5 +1,6 @@
<script lang="ts" setup>
// TODO @
// TODO @xingyu systeminfra components
import type { Key } from 'ant-design-vue/es/table/interface';
import type { SystemDeptApi } from '#/api/system/dept';

View File

@ -2,7 +2,7 @@
*
*
*/
// 请使用 @vben/utils/download 代替 packages/@core/base/shared/src/utils/download.ts
// TODO @ziye请使用 @vben/utils/download 代替 packages/@core/base/shared/src/utils/download.ts
/**
*

View File

@ -106,6 +106,7 @@ async function initializeDesigner() {
}
}
// TODO @ziye使 /** */
//
function handleSave() {
formModalApi

View File

@ -138,6 +138,7 @@ watch(
url="https://doc.iocoder.cn/bpm/use-bpm-form/"
/>
</template>
<DetailModal />
<Grid table-title="">
<template #toolbar-tools>

View File

@ -93,6 +93,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
url="https://doc.iocoder.cn/bpm/expression/"
/>
</template>
<FormModal @success="onRefresh" />
<Grid table-title="">
<template #toolbar-tools>

View File

@ -222,6 +222,7 @@ onMounted(() => {
<template>
<Page auto-content-height>
<!-- TODO @ziye优先级这里交互可以做成类似 vue3 + element-plus 那个一样滚动切换分类哈对标钉钉飞书哈 -->
<!-- 第一步通过流程定义的列表选择对应的流程 -->
<template v-if="!selectProcessDefinition">
<Card
@ -274,6 +275,7 @@ onMounted(() => {
}"
>
<div class="flex items-center">
<!-- TODO @ziyeiconname 会告警~~ -->
<img
v-if="definition.icon"
:src="definition.icon"

View File

@ -28,7 +28,8 @@ import {
} from '#/utils';
import ProcessInstanceSimpleViewer from '#/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue';
import ProcessInstanceTimeline from '#/views/bpm/processInstance/detail/modules/time-line.vue';
//
/** 类型定义 */
interface ProcessFormData {
rule: any[];
option: Record<string, any>;
@ -121,6 +122,7 @@ async function submitForm() {
message.success('发起流程成功');
// TODO @ziye
closeCurrentTab();
await router.push({ path: '/bpm/task/my' });

View File

@ -222,7 +222,7 @@ function setFieldPermission(field: string, permission: string) {
const activeTab = ref('form');
const taskListRef = ref();
// Tab "record"
/** 监听 Tab 切换,当切换到 "record" 标签时刷新任务列表 */
watch(
() => activeTab.value,
(newVal) => {
@ -238,7 +238,7 @@ watch(
/** 初始化 */
const userOptions = ref<SystemUserApi.User[]>([]); //
onMounted(async () => {
getDetail();
await getDetail();
//
userOptions.value = await getSimpleUserList();
});

View File

@ -3,6 +3,7 @@ defineOptions({ name: 'ProcessInstanceBpmnViewer' });
</script>
<template>
<!-- TODO @ziye可以后续找下 antd 有没可以直接用的组件哈 -->
<div>
<h1>BPMN Viewer</h1>
</div>

View File

@ -5,6 +5,7 @@ import { useVbenModal } from '@vben/common-ui';
import { IconifyIcon } from '@vben/icons';
import { Button, message, Space, Tooltip } from 'ant-design-vue';
// TODO @ziye element-plus
import Vue3Signature from 'vue3-signature';
import { uploadFile } from '#/api/infra/file';
@ -36,6 +37,7 @@ const [Modal, modalApi] = useVbenModal({
),
});
emits('success', signFileUrl);
// TODO @ziyeps ide
modalApi.close();
},
});

View File

@ -14,6 +14,7 @@ import {
getProcessInstanceManagerPage,
} from '#/api/bpm/processInstance';
import { DocAlert } from '#/components/doc-alert';
import { $t } from '#/locales';
import { router } from '#/router';
import { BpmProcessInstanceStatus } from '#/utils';

View File

@ -93,6 +93,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
url="https://doc.iocoder.cn/bpm/listener/"
/>
</template>
<FormModal @success="onRefresh" />
<Grid table-title="">
<template #toolbar-tools>

View File

@ -7,6 +7,7 @@ import { Page } from '@vben/common-ui';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { getProcessInstanceCopyPage } from '#/api/bpm/processInstance';
import { DocAlert } from '#/components/doc-alert';
import { $t } from '#/locales';
import { router } from '#/router';
import { useGridColumns, useGridFormSchema } from './data';

View File

@ -72,6 +72,7 @@ const [Grid] = useVbenVxeGrid({
/>
<DocAlert title="审批加签、减签" url="https://doc.iocoder.cn/bpm/sign/" />
</template>
<Grid table-title="">
<template #actions="{ row }">
<TableAction