This commit is contained in:
xingyu4j
2025-06-08 17:26:43 +08:00
39 changed files with 56 additions and 18 deletions

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

@@ -164,10 +164,10 @@ async function handleCategorySortSubmit() {
@press-enter="getList"
class="!w-60"
/>
<Button type="primary" @click="createModel">
<Button class="ml-2" type="primary" @click="createModel">
<IconifyIcon icon="lucide:plus" /> 新建模型
</Button>
<Dropdown placement="bottomRight" arrow>
<Dropdown class="ml-2" placement="bottomRight" arrow>
<Button>
<template #icon>
<IconifyIcon icon="lucide:settings" />
@@ -207,7 +207,7 @@ async function handleCategorySortSubmit() {
</div>
<!-- 按照分类展示其所属的模型列表 -->
<div class="px-5" ref="categoryGroupRef">
<div class="px-3" ref="categoryGroupRef">
<CategoryDraggableModel
v-for="element in categoryGroup"
:class="isCategorySorting ? 'cursor-move' : ''"

View File

@@ -344,9 +344,9 @@ const handleRenameSuccess = () => {
v-if="!record.icon"
class="mr-2.5 flex h-9 w-9 items-center justify-center rounded bg-blue-500 text-white"
>
<span style="font-size: 12px">{{
record.name.substring(0, 2)
}}</span>
<span style="font-size: 12px">
{{ record.name.substring(0, 2) }}
</span>
</div>
<img
v-else

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 @ziye下面有个告警哈ps所有告警皆是错误可以关注 ide 给的提示哈;
modalApi.close();
},
});

View File

@@ -25,7 +25,7 @@ const props = defineProps<{
loading: boolean;
}>();
// 使用shallowRef减少不必要的深度响应
// 使用 shallowRef 减少不必要的深度响应
const columns = shallowRef([
{
field: 'name',

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

View File

@@ -162,6 +162,7 @@ export function useGridColumns<T = PayAppApi.App>(
},
];
}
/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {
return [

View File

@@ -1,4 +1,5 @@
<script lang="ts" setup>
// TODO @xingyu是不是不引入 @form-create/ant-design-vue 组件哈;保持和 vben 一致~
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { PayAppApi } from '#/api/pay/app';
@@ -139,6 +140,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
<DocAlert title="支付功能开启" url="https://doc.iocoder.cn/pay/build/" />
</template>
<!-- TODO @xingyu建议和别的一致Modal => FormModal -->
<AppModal @success="onRefresh" />
<ChannelModal @success="onRefresh" />
@@ -281,6 +283,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
/>
</template>
<template #alipayBarConfig="{ row }">
<!-- TODO @xingyu建议用小图标 -->
<TableAction
:actions="[
{

View File

@@ -159,6 +159,7 @@ const [Modal, modalApi] = useVbenModal({
},
});
</script>
<!-- TODO @xingyu支付宝的证书也是支持上传的哈 -->
<template>
<Modal :close-on-click-modal="false" :title="title" class="w-[40%]">
<Form :schema="channelSchema(formType)" />

View File

@@ -2,6 +2,7 @@
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import { Page, useVbenModal } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { getNotifyTaskPage } from '#/api/pay/notify';
@@ -59,6 +60,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
<template #doc>
<DocAlert title="支付功能开启" url="https://doc.iocoder.cn/pay/build/" />
</template>
<DetailModal @success="onRefresh" />
<Grid table-title="支付通知列表">
<template #actions="{ row }">