【代码评审】BPM:办理人的逻辑

This commit is contained in:
YunaiV 2025-02-12 18:46:30 +08:00
parent 575f6038a7
commit 666fb16db5
5 changed files with 43 additions and 9 deletions

View File

@ -114,7 +114,8 @@ const include = [
'element-plus/es/components/segmented/style/css', 'element-plus/es/components/segmented/style/css',
'@element-plus/icons-vue', '@element-plus/icons-vue',
'element-plus/es/components/footer/style/css', 'element-plus/es/components/footer/style/css',
'element-plus/es/components/empty/style/css' 'element-plus/es/components/empty/style/css',
'element-plus/es/components/mention/style/css'
] ]
const exclude = ['@iconify/json'] const exclude = ['@iconify/json']

View File

@ -15,6 +15,7 @@
</div> </div>
<div class="handler-item-text">审批人</div> <div class="handler-item-text">审批人</div>
</div> </div>
<!-- TODO @lesan办理人增加自定义 icon 可以换 jason 怎么弄 -->
<div class="handler-item" @click="addNode(NodeType.TRANSACTOR_NODE)"> <div class="handler-item" @click="addNode(NodeType.TRANSACTOR_NODE)">
<div class="approve handler-item-icon"> <div class="approve handler-item-icon">
<span class="iconfont icon-approve icon-size"></span> <span class="iconfont icon-approve icon-size"></span>
@ -63,7 +64,7 @@
</div> </div>
<div class="handler-item-text">触发器</div> <div class="handler-item-text">触发器</div>
</div> </div>
</div> </div>
<template #reference> <template #reference>
<div class="add-icon"><Icon icon="ep:plus" /></div> <div class="add-icon"><Icon icon="ep:plus" /></div>
</template> </template>
@ -84,7 +85,7 @@ import {
SimpleFlowNode, SimpleFlowNode,
DEFAULT_CONDITION_GROUP_VALUE DEFAULT_CONDITION_GROUP_VALUE
} from './consts' } from './consts'
import {generateUUID} from '@/utils' import { generateUUID } from '@/utils'
defineOptions({ defineOptions({
name: 'NodeHandler' name: 'NodeHandler'

View File

@ -1,3 +1,4 @@
<!-- TODO @lesan涉及到审批关键字需要换成办理建议通过一个变量控制哈 -->
<template> <template>
<el-drawer <el-drawer
:append-to-body="true" :append-to-body="true"
@ -61,7 +62,13 @@
label="指定角色" label="指定角色"
prop="roleIds" prop="roleIds"
> >
<el-select filterable v-model="configForm.roleIds" clearable multiple style="width: 100%"> <el-select
filterable
v-model="configForm.roleIds"
clearable
multiple
style="width: 100%"
>
<el-option <el-option
v-for="item in roleOptions" v-for="item in roleOptions"
:key="item.id" :key="item.id"
@ -99,7 +106,13 @@
prop="postIds" prop="postIds"
span="24" span="24"
> >
<el-select filterable v-model="configForm.postIds" clearable multiple style="width: 100%"> <el-select
filterable
v-model="configForm.postIds"
clearable
multiple
style="width: 100%"
>
<el-option <el-option
v-for="item in postOptions" v-for="item in postOptions"
:key="item.id" :key="item.id"
@ -114,7 +127,13 @@
prop="userIds" prop="userIds"
span="24" span="24"
> >
<el-select filterable v-model="configForm.userIds" clearable multiple style="width: 100%"> <el-select
filterable
v-model="configForm.userIds"
clearable
multiple
style="width: 100%"
>
<el-option <el-option
v-for="item in userOptions" v-for="item in userOptions"
:key="item.id" :key="item.id"
@ -128,7 +147,13 @@
label="指定用户组" label="指定用户组"
prop="userGroups" prop="userGroups"
> >
<el-select filterable v-model="configForm.userGroups" clearable multiple style="width: 100%"> <el-select
filterable
v-model="configForm.userGroups"
clearable
multiple
style="width: 100%"
>
<el-option <el-option
v-for="item in userGroupOptions" v-for="item in userGroupOptions"
:key="item.id" :key="item.id"
@ -424,6 +449,7 @@
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
<!-- TODO @lesan办理时应该还是有字段权限 -->
<el-tab-pane label="表单字段权限" name="fields" v-if="formType === 10"> <el-tab-pane label="表单字段权限" name="fields" v-if="formType === 10">
<div class="field-setting-pane"> <div class="field-setting-pane">
<div class="field-setting-desc">字段权限</div> <div class="field-setting-desc">字段权限</div>
@ -471,7 +497,11 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="监听器" name="listener"> <el-tab-pane label="监听器" name="listener">
<UserTaskListener ref="userTaskListenerRef" v-model="configForm" :form-field-options="formFieldOptions" /> <UserTaskListener
ref="userTaskListenerRef"
v-model="configForm"
:form-field-options="formFieldOptions"
/>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<template #footer> <template #footer>

View File

@ -36,6 +36,7 @@
:rule="approveForm.rule" :rule="approveForm.rule"
/> />
</el-card> </el-card>
<!-- TODO @lesan需要分成审批办理意见包括 labelplaceholderrule 校验 -->
<el-form-item label="审批意见" prop="reason"> <el-form-item label="审批意见" prop="reason">
<el-input <el-input
v-model="approveReasonForm.reason" v-model="approveReasonForm.reason"

View File

@ -121,6 +121,7 @@
" "
class="text-#a5a5a5 text-13px mt-1 w-full bg-#f8f8fa p2 rounded-md" class="text-#a5a5a5 text-13px mt-1 w-full bg-#f8f8fa p2 rounded-md"
> >
<!-- TODO lesan这里如果是办理需要是办理意见 -->
审批意见{{ task.reason }} 审批意见{{ task.reason }}
</div> </div>
<div <div
@ -240,7 +241,7 @@ const nodeTypeSvgMap = {
[NodeType.START_USER_NODE]: { color: '#909398', svg: starterSvg }, [NodeType.START_USER_NODE]: { color: '#909398', svg: starterSvg },
// //
[NodeType.USER_TASK_NODE]: { color: '#ff943e', svg: auditorSvg }, [NodeType.USER_TASK_NODE]: { color: '#ff943e', svg: auditorSvg },
// // TODO @lesan
[NodeType.TRANSACTOR_NODE]: { color: '#ff943e', svg: auditorSvg }, [NodeType.TRANSACTOR_NODE]: { color: '#ff943e', svg: auditorSvg },
// //
[NodeType.COPY_TASK_NODE]: { color: '#3296fb', svg: copySvg }, [NodeType.COPY_TASK_NODE]: { color: '#3296fb', svg: copySvg },