Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
c0396962
authored
Feb 11, 2025
by
smallNorthLee
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:发布前校验当前流程模型下是否存在正在审批中的单据信息
parent
1b0fe232
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
15 deletions
+43
-15
src/views/bpm/model/CategoryDraggableModel.vue
+5
-5
src/views/bpm/model/form/index.vue
+6
-7
src/views/bpm/processInstance/create/index.vue
+32
-3
No files found.
src/views/bpm/model/CategoryDraggableModel.vue
View file @
c0396962
...
...
@@ -159,7 +159,7 @@
<el-button
link
type=
"primary"
@
click=
"openModelForm('update', scope.row.id, scope.row.processDefinition.id)"
@
click=
"openModelForm('update', scope.row.id, scope.row.processDefinition
?
.id)"
v-if=
"hasPermiUpdate"
:disabled=
"!isManagerUser(scope.row)"
>
...
...
@@ -448,7 +448,7 @@ const handleDeploy = async (row: any) => {
// 发布的二次确认
await
message
.
confirm
(
'是否发布该流程!!'
)
//校验当前版本的流程下是否存在正在进行中的单据
const
res
=
await
ModelApi
.
getProcessInstance
(
row
.
processDefinition
.
id
)
const
res
=
await
ModelApi
.
getProcessInstance
(
row
.
id
)
if
(
res
)
{
message
.
error
(
'当前版本下存在正在进行中的单据,请先结束单据后再发布'
)
return
...
...
@@ -593,14 +593,14 @@ const handleDeleteCategory = async () => {
/** 添加流程模型弹窗 */
const
tagsView
=
useTagsView
()
const
openModelForm
=
async
(
type
:
string
,
id
?:
number
,
processDefinitionId
?:
string
)
=>
{
alert
(
processDefinitionId
)
const
openModelForm
=
async
(
type
:
string
,
id
?:
number
,
processDefinitionId
?:
any
)
=>
{
if
(
type
===
'create'
)
{
await
push
({
name
:
'BpmModelCreate'
})
}
else
{
const
params
=
processDefinitionId
?
{
id
,
type
,
processDefinitionId
}
:
{
id
,
type
}
await
push
({
name
:
'BpmModelUpdate'
,
params
:
{
id
,
type
}
params
:
params
})
// 设置标题
if
(
type
===
'copy'
)
{
...
...
src/views/bpm/model/form/index.vue
View file @
c0396962
...
...
@@ -179,6 +179,8 @@ const userList = ref<UserApi.UserVO[]>([])
/** 初始化数据 */
const
initData
=
async
()
=>
{
console
.
log
(
route
.
params
);
const
modelId
=
route
.
params
.
id
as
string
if
(
modelId
)
{
// 修改场景
...
...
@@ -295,7 +297,7 @@ const handleSave = async () => {
// 跳转到编辑页面
await
router
.
push
({
name
:
'BpmModelUpdate'
,
params
:
{
id
:
formData
.
value
.
id
,
processDefinitionId
:
formData
.
value
.
processDefinitionId
}
params
:
{
id
:
formData
.
value
.
id
}
})
}
catch
{
// 先删除当前页签
...
...
@@ -312,6 +314,8 @@ const handleSave = async () => {
/** 发布操作 */
const
handleDeploy
=
async
()
=>
{
console
.
log
(
route
.
params
);
try
{
// 修改场景下直接发布,新增场景下需要先确认
if
(
!
formData
.
value
.
id
)
{
...
...
@@ -319,7 +323,7 @@ const handleDeploy = async () => {
}
//校验当前版本的流程下是否存在正在进行中的单据
const
res
=
await
ModelApi
.
getProcessInstance
(
row
.
processDefinition
.
id
)
const
res
=
await
ModelApi
.
getProcessInstance
(
formData
.
value
.
id
)
if
(
res
)
{
message
.
error
(
'当前版本下存在正在进行中的单据,请先结束单据后再发布'
)
return
...
...
@@ -352,11 +356,6 @@ const handleDeploy = async () => {
}
}
const
validateProcessInstance
=
async
(
processDefinitionId
)
=>
{
const
valid
=
await
ModelApi
.
getProcessInstance
(
processDefinitionId
)
console
.
log
(
valid
)
}
/** 步骤切换处理 */
const
handleStepClick
=
async
(
index
:
number
)
=>
{
try
{
...
...
src/views/bpm/processInstance/create/index.vue
View file @
c0396962
...
...
@@ -58,7 +58,16 @@
>
<
template
#
default
>
<div
class=
"flex"
>
<el-image
:src=
"definition.icon"
class=
"w-32px h-32px"
/>
<el-image
v-if=
"definition.icon"
:src=
"definition.icon"
class=
"w-32px h-32px"
/>
<div
v-else
class=
"flow-icon"
>
<span
style=
"font-size: 12px; color: #fff"
>
{{
sliceName
(
definition
.
name
)
}}
</span>
</div>
<el-text
class=
"!ml-10px"
size=
"large"
>
{{
definition
.
name
}}
</el-text>
</div>
</
template
>
...
...
@@ -275,6 +284,14 @@ const availableCategories = computed(() => {
)
})
// 处理显示的名称
const
sliceName
=
(
name
:
string
)
=>
{
if
(
name
.
length
>
2
)
{
return
name
.
slice
(
0
,
2
)
}
return
name
}
/** 初始化 */
onMounted
(()
=>
{
getList
()
...
...
@@ -282,13 +299,25 @@ onMounted(() => {
</
script
>
<
style
lang=
"scss"
scoped
>
.flow-icon
{
display
:
flex
;
width
:
32px
;
height
:
32px
;
margin-right
:
10px
;
background-color
:
var
(
--el-color-primary
);
border-radius
:
0.25rem
;
align-items
:
center
;
justify-content
:
center
;
}
.process-definition-container
::before
{
content
:
''
;
border-left
:
1px
solid
#e6e6e6
;
position
:
absolute
;
left
:
20.8%
;
height
:
100%
;
border-left
:
1px
solid
#e6e6e6
;
content
:
''
;
}
:deep
()
{
.definition-item-card
{
.el-card__body
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment