Skip to content

Commit 4ea25f3

Browse files
committed
feat: 办理人节点
1 parent b0d4e39 commit 4ea25f3

File tree

6 files changed

+164
-109
lines changed

6 files changed

+164
-109
lines changed

src/components/SimpleProcessDesignerV2/src/NodeHandler.vue

+9-3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
</div>
1616
<div class="handler-item-text">审批人</div>
1717
</div>
18+
<div class="handler-item" @click="addNode(NodeType.TRANSACTOR_NODE)">
19+
<div class="approve handler-item-icon">
20+
<span class="iconfont icon-approve icon-size"></span>
21+
</div>
22+
<div class="handler-item-text">办理人</div>
23+
</div>
1824
<div class="handler-item" @click="addNode(NodeType.COPY_TASK_NODE)">
1925
<div class="handler-item-icon copy">
2026
<span class="iconfont icon-size icon-copy"></span>
@@ -114,13 +120,13 @@ const addNode = (type: number) => {
114120
}
115121
116122
popoverShow.value = false
117-
if (type === NodeType.USER_TASK_NODE) {
123+
if (type === NodeType.USER_TASK_NODE || type === NodeType.TRANSACTOR_NODE) {
118124
const id = 'Activity_' + generateUUID()
119125
const data: SimpleFlowNode = {
120126
id: id,
121-
name: NODE_DEFAULT_NAME.get(NodeType.USER_TASK_NODE) as string,
127+
name: NODE_DEFAULT_NAME.get(type) as string,
122128
showText: '',
123-
type: NodeType.USER_TASK_NODE,
129+
type: type,
124130
approveMethod: ApproveMethodType.SEQUENTIAL_APPROVE,
125131
// 超时处理
126132
rejectHandler: {

src/components/SimpleProcessDesignerV2/src/ProcessNodeTree.vue

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
/>
77
<!-- 审批节点 -->
88
<UserTaskNode
9-
v-if="currentNode && currentNode.type === NodeType.USER_TASK_NODE"
9+
v-if="
10+
currentNode &&
11+
(currentNode.type === NodeType.USER_TASK_NODE ||
12+
currentNode.type === NodeType.TRANSACTOR_NODE)
13+
"
1014
:flow-node="currentNode"
1115
@update:flow-node="handleModelValueUpdate"
1216
@find:parent-node="findFromParentNode"

src/components/SimpleProcessDesignerV2/src/consts.ts

+17
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ export enum NodeType {
2323
*/
2424
COPY_TASK_NODE = 12,
2525

26+
/**
27+
* 办理人节点
28+
*/
29+
TRANSACTOR_NODE = 13,
30+
2631
/**
2732
* 延迟器节点
2833
*/
@@ -506,6 +511,7 @@ NODE_DEFAULT_TEXT.set(NodeType.START_USER_NODE, '请设置发起人')
506511
NODE_DEFAULT_TEXT.set(NodeType.DELAY_TIMER_NODE, '请设置延迟器')
507512
NODE_DEFAULT_TEXT.set(NodeType.ROUTER_BRANCH_NODE, '请设置路由节点')
508513
NODE_DEFAULT_TEXT.set(NodeType.TRIGGER_NODE, '请设置触发器')
514+
NODE_DEFAULT_TEXT.set(NodeType.TRANSACTOR_NODE, '请设置办理人')
509515

510516
export const NODE_DEFAULT_NAME = new Map<number, string>()
511517
NODE_DEFAULT_NAME.set(NodeType.USER_TASK_NODE, '审批人')
@@ -515,6 +521,7 @@ NODE_DEFAULT_NAME.set(NodeType.START_USER_NODE, '发起人')
515521
NODE_DEFAULT_NAME.set(NodeType.DELAY_TIMER_NODE, '延迟器')
516522
NODE_DEFAULT_NAME.set(NodeType.ROUTER_BRANCH_NODE, '路由分支')
517523
NODE_DEFAULT_NAME.set(NodeType.TRIGGER_NODE, '触发器')
524+
NODE_DEFAULT_NAME.set(NodeType.TRANSACTOR_NODE, '办理人')
518525

519526
// 候选人策略。暂时不从字典中取。 后续可能调整。控制显示顺序
520527
export const CANDIDATE_STRATEGY: DictDataVO[] = [
@@ -627,6 +634,16 @@ export const DEFAULT_BUTTON_SETTING: ButtonSetting[] = [
627634
{ id: OperationButtonType.RETURN, displayName: '退回', enable: true }
628635
]
629636

637+
// 办理人默认的按钮权限设置
638+
export const TRANSACTOR_DEFAULT_BUTTON_SETTING: ButtonSetting[] = [
639+
{ id: OperationButtonType.APPROVE, displayName: '办理', enable: true },
640+
{ id: OperationButtonType.REJECT, displayName: '拒绝', enable: false },
641+
{ id: OperationButtonType.TRANSFER, displayName: '转办', enable: false },
642+
{ id: OperationButtonType.DELEGATE, displayName: '委派', enable: false },
643+
{ id: OperationButtonType.ADD_SIGN, displayName: '加签', enable: false },
644+
{ id: OperationButtonType.RETURN, displayName: '退回', enable: false }
645+
]
646+
630647
// 发起人的按钮权限。暂时定死,不可以编辑
631648
export const START_USER_BUTTON_SETTING: ButtonSetting[] = [
632649
{ id: OperationButtonType.APPROVE, displayName: '提交', enable: true },

src/components/SimpleProcessDesignerV2/src/node.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ export function useNodeForm(nodeType: NodeType) {
201201
const deptTreeOptions = inject('deptTree', ref()) // 部门树
202202
const formFields = inject<Ref<string[]>>('formFields', ref([])) // 流程表单字段
203203
const configForm = ref<UserTaskFormType | CopyTaskFormType>()
204-
if (nodeType === NodeType.USER_TASK_NODE) {
204+
if (nodeType === NodeType.USER_TASK_NODE || nodeType === NodeType.TRANSACTOR_NODE) {
205205
configForm.value = {
206206
candidateStrategy: CandidateStrategy.USER,
207207
approveMethod: ApproveMethodType.SEQUENTIAL_APPROVE,

0 commit comments

Comments
 (0)