Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zrch-risk-39
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
zrch-risk-39
Commits
f7616295
提交
f7616295
authored
4月 22, 2026
作者:
liuluyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加转办转阅人员选择
上级
eaebc31b
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
245 行增加
和
103 行删除
+245
-103
Assign.vue
...ent-39/src/views/flowable/task/todo/components/Assign.vue
+96
-0
AssignRead.vue
...39/src/views/flowable/task/todo/components/AssignRead.vue
+96
-0
TodoIndex.vue
...-39/src/views/flowable/task/todo/components/TodoIndex.vue
+53
-103
没有找到文件。
zrch-risk-client-39/src/views/flowable/task/todo/components/Assign.vue
0 → 100644
浏览文件 @
f7616295
<
template
>
<BasicModal
v-bind=
"$attrs"
@
register=
"register"
:centered=
"true"
title=
"任务转办"
destroyOnClose
width=
"50%"
@
cancel=
"handleCancel"
:helpMessage=
"['帮助']"
@
ok=
"saveAssign"
>
<BasicForm
@
register=
"registerForm"
style=
"margin: 0px 0px 0 0px"
/>
</BasicModal>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
reactive
,
nextTick
}
from
'vue'
import
{
useForm
,
BasicForm
,
FormSchema
}
from
'/@/components/Form'
import
{
BasicModal
,
useModalInner
}
from
'/@/components/Modal'
import
{
assign
}
from
"/@/components/Process/api/todo"
const
flowTodoTask
=
ref
({})
const
onSuccess
=
ref
()
const
[
register
,
{
closeModal
,
setModalProps
}]
=
useModalInner
(
async
(
data
)
=>
{
flowTodoTask
.
value
=
data
.
data
// 保存传入的onSuccess回调
onSuccess
.
value
=
data
.
onSuccess
});
const
formSchemas
:
FormSchema
[]
=
[
{
label
:
'接收人'
,
field
:
'checkSendUser'
,
component
:
'JSelectUser'
,
required
:
true
,
componentProps
:
{
allowClear
:
true
,
rowKey
:
'id'
,
labelKey
:
'realname'
,
showButton
:
false
,
modalTitle
:
'选择接收人'
,
placeholder
:
'请选择接收人'
,
mode
:
'multiple'
,
},
},
];
const
[
registerForm
,
{
setProps
,
validate
}]
=
useForm
({
schemas
:
formSchemas
,
showActionButtonGroup
:
false
,
});
const
handleCancel
=
()
=>
{
closeModal
();
}
const
saveAssign
=
async
()
=>
{
const
formDataTmp
=
await
validate
();
formDataTmp
[
"instanceId"
]
=
flowTodoTask
.
value
.
procInsId
formDataTmp
[
"deployId"
]
=
flowTodoTask
.
value
.
deployId
formDataTmp
[
"taskId"
]
=
flowTodoTask
.
value
.
taskId
formDataTmp
[
"comment"
]
=
''
formDataTmp
[
"values"
]
=
{}
// 处理转办数据
if
(
formDataTmp
.
checkSendUser
)
{
formDataTmp
.
values
[
'targetUserId'
]
=
formDataTmp
.
checkSendUser
;
formDataTmp
.
values
[
'approvalType'
]
=
'user'
;
}
// 获取表单URL中的参数
const
formUrl
=
flowTodoTask
.
value
.
formUrl
||
''
;
const
dataId
=
formUrl
.
split
(
'='
).
pop
();
formDataTmp
.
values
[
'dataId'
]
=
dataId
;
const
lastEqualIndex
=
formUrl
.
lastIndexOf
(
'='
);
let
startIndex
=
formUrl
.
lastIndexOf
(
'&'
,
lastEqualIndex
);
if
(
startIndex
===
-
1
)
{
startIndex
=
formUrl
.
lastIndexOf
(
'?'
,
lastEqualIndex
);
}
const
dataName
=
formUrl
.
substring
(
startIndex
+
1
,
lastEqualIndex
);
formDataTmp
.
values
[
'dataName'
]
=
dataName
;
await
assign
(
formDataTmp
).
then
(
res
=>
{
closeModal
()
// 调用传入的onSuccess回调
if
(
onSuccess
.
value
)
{
onSuccess
.
value
()
}
});
}
</
script
>
<
style
scoped
>
</
style
>
\ No newline at end of file
zrch-risk-client-39/src/views/flowable/task/todo/components/AssignRead.vue
0 → 100644
浏览文件 @
f7616295
<
template
>
<BasicModal
v-bind=
"$attrs"
@
register=
"register"
:centered=
"true"
title=
"任务转阅"
destroyOnClose
width=
"50%"
@
cancel=
"handleCancel"
:helpMessage=
"['帮助']"
@
ok=
"saveAssignRead"
>
<BasicForm
@
register=
"registerForm"
style=
"margin: 0px 0px 0 0px"
/>
</BasicModal>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
reactive
,
nextTick
}
from
'vue'
import
{
useForm
,
BasicForm
,
FormSchema
}
from
'/@/components/Form'
import
{
BasicModal
,
useModalInner
}
from
'/@/components/Modal'
import
{
assignRead
}
from
"/@/components/Process/api/todo"
const
flowTodoTask
=
ref
({})
const
onSuccess
=
ref
()
const
[
register
,
{
closeModal
,
setModalProps
}]
=
useModalInner
(
async
(
data
)
=>
{
flowTodoTask
.
value
=
data
.
data
// 保存传入的onSuccess回调
onSuccess
.
value
=
data
.
onSuccess
});
const
formSchemas
:
FormSchema
[]
=
[
{
label
:
'接收人'
,
field
:
'checkSendUser'
,
component
:
'JSelectUser'
,
required
:
true
,
componentProps
:
{
allowClear
:
true
,
rowKey
:
'id'
,
labelKey
:
'realname'
,
showButton
:
false
,
modalTitle
:
'选择接收人'
,
placeholder
:
'请选择接收人'
,
mode
:
'multiple'
,
},
},
];
const
[
registerForm
,
{
setProps
,
validate
}]
=
useForm
({
schemas
:
formSchemas
,
showActionButtonGroup
:
false
,
});
const
handleCancel
=
()
=>
{
closeModal
();
}
const
saveAssignRead
=
async
()
=>
{
const
formDataTmp
=
await
validate
();
formDataTmp
[
"instanceId"
]
=
flowTodoTask
.
value
.
procInsId
formDataTmp
[
"deployId"
]
=
flowTodoTask
.
value
.
deployId
formDataTmp
[
"taskId"
]
=
flowTodoTask
.
value
.
taskId
formDataTmp
[
"comment"
]
=
''
formDataTmp
[
"values"
]
=
{}
// 处理转阅数据
if
(
formDataTmp
.
checkSendUser
)
{
formDataTmp
.
values
[
'targetUserId'
]
=
formDataTmp
.
checkSendUser
;
formDataTmp
.
values
[
'approvalType'
]
=
'user'
;
}
// 获取表单URL中的参数
const
formUrl
=
flowTodoTask
.
value
.
formUrl
||
''
;
const
dataId
=
formUrl
.
split
(
'='
).
pop
();
formDataTmp
.
values
[
'dataId'
]
=
dataId
;
const
lastEqualIndex
=
formUrl
.
lastIndexOf
(
'='
);
let
startIndex
=
formUrl
.
lastIndexOf
(
'&'
,
lastEqualIndex
);
if
(
startIndex
===
-
1
)
{
startIndex
=
formUrl
.
lastIndexOf
(
'?'
,
lastEqualIndex
);
}
const
dataName
=
formUrl
.
substring
(
startIndex
+
1
,
lastEqualIndex
);
formDataTmp
.
values
[
'dataName'
]
=
dataName
;
await
assignRead
(
formDataTmp
).
then
(
res
=>
{
closeModal
()
// 调用传入的onSuccess回调
if
(
onSuccess
.
value
)
{
onSuccess
.
value
()
}
});
}
</
script
>
<
style
scoped
>
</
style
>
\ No newline at end of file
zrch-risk-client-39/src/views/flowable/task/todo/components/TodoIndex.vue
浏览文件 @
f7616295
...
@@ -188,6 +188,8 @@
...
@@ -188,6 +188,8 @@
<!-- 弹窗组件 -->
<!-- 弹窗组件 -->
<Approve
@
register=
"registerApprove"
ref=
"refApprove"
/>
<Approve
@
register=
"registerApprove"
ref=
"refApprove"
/>
<Reject
@
register=
"registerReject"
ref=
"refReject"
/>
<Reject
@
register=
"registerReject"
ref=
"refReject"
/>
<Assign
@
register=
"registerAssign"
ref=
"refAssign"
/>
<AssignRead
@
register=
"registerAssignRead"
ref=
"refAssignRead"
/>
</div>
</div>
</template>
</template>
...
@@ -219,6 +221,8 @@
...
@@ -219,6 +221,8 @@
import
FlowInnerForm
from
'/@/views/flowable/task/components/FlowInnerForm.vue'
;
import
FlowInnerForm
from
'/@/views/flowable/task/components/FlowInnerForm.vue'
;
import
Approve
from
'./Approve.vue'
;
import
Approve
from
'./Approve.vue'
;
import
Reject
from
'./Reject.vue'
;
import
Reject
from
'./Reject.vue'
;
import
Assign
from
'./Assign.vue'
;
import
AssignRead
from
'./AssignRead.vue'
;
// 工具
// 工具
import
{
useForm
,
BasicForm
}
from
'/@/components/Form'
;
import
{
useForm
,
BasicForm
}
from
'/@/components/Form'
;
...
@@ -274,9 +278,38 @@
...
@@ -274,9 +278,38 @@
// 弹窗
// 弹窗
const
refApprove
=
ref
(
null
);
const
refApprove
=
ref
(
null
);
const
refReject
=
ref
(
null
);
const
refReject
=
ref
(
null
);
const
refAssign
=
ref
(
null
);
const
refAssignRead
=
ref
(
null
);
const
[
registerApprove
,
{
openModal
:
openApproveModal
}]
=
useModal
();
const
[
registerApprove
,
{
openModal
:
openApproveModal
}]
=
useModal
();
const
[
registerReject
,
{
openModal
:
openRejectModal
}]
=
useModal
();
const
[
registerReject
,
{
openModal
:
openRejectModal
}]
=
useModal
();
const
[
registerAssign
,
{
openModal
:
openAssignModal
}]
=
useModal
();
const
[
registerAssignRead
,
{
openModal
:
openAssignReadModal
}]
=
useModal
();
// 转办表单配置
const
assignFormSchemas
=
[
{
label
:
computed
(()
=>
(
isApproval
.
value
?
'审批人'
:
'接收人'
)),
field
:
'checkSendUser'
,
component
:
'JSelectUser'
,
required
:
true
,
componentProps
:
{
allowClear
:
true
,
rowKey
:
'id'
,
labelKey
:
'realname'
,
showButton
:
false
,
modalTitle
:
computed
(()
=>
(
isApproval
.
value
?
'选择审批人'
:
'选择接收人'
)),
placeholder
:
computed
(()
=>
(
isApproval
.
value
?
'请选择审批人'
:
'请选择接收人'
)),
mode
:
'multiple'
,
},
},
];
// 转办表单注册
const
[
registerAssignForm
,
{
validate
:
validateAssign
}]
=
useForm
({
schemas
:
assignFormSchemas
,
showActionButtonGroup
:
false
,
});
// 计算属性
// 计算属性
// const isFixed = computed(() => {
// const isFixed = computed(() => {
...
@@ -755,112 +788,29 @@
...
@@ -755,112 +788,29 @@
};
};
//转办处理
//转办处理
const
handleAssignTask
=
async
()
=>
{
const
handleAssignTask
=
()
=>
{
if
(
assigning
.
value
)
return
;
openAssignModal
(
true
,
{
try
{
isUpdate
:
false
,
assigning
.
value
=
true
;
data
:
workFlowData
.
value
,
const
submitData
=
{
onSuccess
:
()
=>
{
instanceId
:
taskForm
.
instanceId
,
message
.
success
(
'任务转办成功'
);
deployId
:
taskForm
.
deployId
,
emit
(
'success'
);
taskId
:
taskForm
.
taskId
,
emit
(
'callback'
);
comment
:
''
,
},
values
:
{},
});
};
const
formData
=
await
validate
();
Object
.
assign
(
submitData
,
formData
);
submitData
.
comment
=
submitData
.
comment
||
''
;
//test1 1958436761110269953
// submitData.values['targetUserId'] = '1959869916657950721';
if
(
userType
.
value
===
'user'
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendUser
;
submitData
.
values
[
'approvalType'
]
=
'user'
;
if
(
formData
.
checkSendUser
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendUser
;
submitData
.
values
[
'approvalType'
]
=
'user'
;
}
}
else
if
(
formData
.
checkSendRole
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendRole
;
submitData
.
values
[
'approvalType'
]
=
'role'
;
}
const
dataId
=
formUrl
.
value
.
split
(
'='
).
pop
();
submitData
.
values
[
'dataId'
]
=
dataId
;
const
lastEqualIndex
=
formUrl
.
value
.
lastIndexOf
(
'='
);
// 往前找到 & 或 ? 的位置
let
startIndex
=
formUrl
.
value
.
lastIndexOf
(
'&'
,
lastEqualIndex
);
if
(
startIndex
===
-
1
)
{
startIndex
=
formUrl
.
value
.
lastIndexOf
(
'?'
,
lastEqualIndex
);
}
const
dataName
=
formUrl
.
value
.
substring
(
startIndex
+
1
,
lastEqualIndex
);
submitData
.
values
[
'dataName'
]
=
dataName
;
// 执行发送
const
result
=
await
assign
(
submitData
);
message
.
success
(
'任务转办成功'
);
emit
(
'success'
,
result
);
emit
(
'callback'
);
}
catch
(
error
:
any
)
{
if
(
error
.
errorFields
)
{
message
.
error
(
'请完善表单信息'
);
}
else
{
console
.
error
(
'发送任务失败:'
,
error
);
message
.
error
(
error
.
message
||
'转办任务失败'
);
}
}
finally
{
assigning
.
value
=
false
;
}
};
};
//转阅处理
//转阅处理
const
handleAssignReadTask
=
async
()
=>
{
const
handleAssignReadTask
=
()
=>
{
if
(
assiReadgning
.
value
)
return
;
openAssignReadModal
(
true
,
{
try
{
isUpdate
:
false
,
assiReadgning
.
value
=
true
;
data
:
workFlowData
.
value
,
const
submitData
=
{
onSuccess
:
()
=>
{
instanceId
:
taskForm
.
instanceId
,
message
.
success
(
'任务转阅成功'
);
deployId
:
taskForm
.
deployId
,
emit
(
'success'
);
taskId
:
taskForm
.
taskId
,
emit
(
'callback'
);
comment
:
''
,
},
values
:
{},
});
};
const
formData
=
await
validate
();
Object
.
assign
(
submitData
,
formData
);
submitData
.
comment
=
submitData
.
comment
||
''
;
//test1 1958436761110269953
// submitData.values['targetUserId'] = '1959869916657950721';
if
(
userType
.
value
===
'user'
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendUser
;
submitData
.
values
[
'approvalType'
]
=
'user'
;
if
(
formData
.
checkSendUser
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendUser
;
submitData
.
values
[
'approvalType'
]
=
'user'
;
}
}
else
if
(
formData
.
checkSendRole
)
{
submitData
.
values
[
'targetUserId'
]
=
formData
.
checkSendRole
;
submitData
.
values
[
'approvalType'
]
=
'role'
;
}
// 执行发送
const
result
=
await
assignRead
(
submitData
);
message
.
success
(
'任务转阅成功'
);
emit
(
'success'
,
result
);
emit
(
'callback'
);
}
catch
(
error
:
any
)
{
if
(
error
.
errorFields
)
{
message
.
error
(
'请完善表单信息'
);
}
else
{
console
.
error
(
'转阅任务失败:'
,
error
);
message
.
error
(
error
.
message
||
'转阅任务失败'
);
}
}
finally
{
assiReadgning
.
value
=
false
;
}
};
};
defineExpose
({
defineExpose
({
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论