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
5063db47
authored
Dec 03, 2024
by
GoldenZqqq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 将流程模型新增/修改/设计整合到同一个页面中,分三个步骤进行;跳转传参逻辑与页面绘制
parent
295a43d5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
66 additions
and
43 deletions
+66
-43
src/router/modules/remaining.ts
+12
-0
src/views/bpm/model/CategoryDraggableModel.vue
+21
-16
src/views/bpm/model/CreateUpdate.vue
+0
-0
src/views/bpm/model/editor/index.vue
+16
-20
src/views/bpm/model/index.vue
+6
-1
src/views/bpm/simple/SimpleModelDesign.vue
+11
-6
No files found.
src/router/modules/remaining.ts
View file @
5063db47
...
...
@@ -330,6 +330,18 @@ const remainingRouter: AppRouteRecordRaw[] = [
title
:
'查看 OA 请假'
,
activeMenu
:
'/bpm/oa/leave'
}
},
{
path
:
'manager/model/create-update'
,
component
:
()
=>
import
(
'@/views/bpm/model/CreateUpdate.vue'
),
name
:
'BpmModelCreateUpdate'
,
meta
:
{
noCache
:
true
,
hidden
:
true
,
canTo
:
true
,
title
:
'创建/修改流程'
,
activeMenu
:
'/bpm/manager/model'
}
}
]
},
...
...
src/views/bpm/model/CategoryDraggableModel.vue
View file @
5063db47
...
...
@@ -339,21 +339,22 @@ const handleChangeState = async (row: any) => {
/** 设计流程 */
const
handleDesign
=
(
row
:
any
)
=>
{
if
(
row
.
type
==
BpmModelType
.
BPMN
)
{
push
({
name
:
'BpmModelEditor'
,
query
:
{
modelId
:
row
.
id
}
})
}
else
{
push
({
name
:
'SimpleModelDesign'
,
query
:
{
modelId
:
row
.
id
}
})
}
// if (row.type == BpmModelType.BPMN) {
// push({
// name: 'BpmModelEditor',
// query: {
// modelId: row.id
// }
// })
// } else {
// push({
// name: 'SimpleModelDesign',
// query: {
// modelId: row.id
// }
// })
// }
push
(
`/bpm/manager/model/create-update?id=
${
row
.
id
}
`
)
}
/** 发布流程 */
...
...
@@ -496,7 +497,11 @@ const handleDeleteCategory = async () => {
/** 添加流程模型弹窗 */
const
modelFormRef
=
ref
()
const
openModelForm
=
(
type
:
string
,
id
?:
number
)
=>
{
modelFormRef
.
value
.
open
(
type
,
id
)
if
(
type
===
'create'
)
{
push
(
'/bpm/manager/model/create-update'
)
}
else
{
push
(
`/bpm/manager/model/create-update?id=
${
id
}
`
)
}
}
watch
(()
=>
props
.
categoryInfo
.
modelList
,
updateModeList
,
{
immediate
:
true
})
...
...
src/views/bpm/model/CreateUpdate.vue
0 → 100644
View file @
5063db47
This diff is collapsed.
Click to expand it.
src/views/bpm/model/editor/index.vue
View file @
5063db47
...
...
@@ -34,6 +34,10 @@ import * as ModelApi from '@/api/bpm/model'
defineOptions
({
name
:
'BpmModelEditor'
})
const
props
=
defineProps
<
{
modelId
:
string
}
>
()
const
emit
=
defineEmits
([
'success'
])
const
router
=
useRouter
()
// 路由
const
{
query
}
=
useRoute
()
// 路由的查询
const
message
=
useMessage
()
// 国际化
...
...
@@ -59,36 +63,28 @@ const initModeler = (item) => {
/** 添加/修改模型 */
const
save
=
async
(
bpmnXml
:
string
)
=>
{
const
data
=
{
...
model
.
value
,
bpmnXml
:
bpmnXml
// bpmnXml 只是初始化流程图,后续修改无法通过它获得
}
as
unknown
as
ModelApi
.
ModelVO
// 提交
if
(
data
.
id
)
{
try
{
const
data
=
{
...
model
.
value
,
bpmnXml
:
bpmnXml
}
as
unknown
as
ModelApi
.
ModelVO
// 提交
await
ModelApi
.
updateModelBpmn
(
data
)
message
.
success
(
'修改成功
'
)
}
else
{
await
ModelApi
.
updateModelBpmn
(
data
)
message
.
success
(
'新增成功
'
)
emit
(
'success
'
)
}
catch
(
error
)
{
console
.
error
(
'保存失败:'
,
error
)
message
.
error
(
'保存失败
'
)
}
// 跳转回去
close
()
}
/** 关闭按钮 */
const
close
=
()
=>
{
router
.
push
({
path
:
'/bpm/manager/model'
})
}
/** 初始化 */
onMounted
(
async
()
=>
{
const
modelId
=
query
.
modelId
as
unknown
as
number
if
(
!
modelId
)
{
if
(
!
props
.
modelId
)
{
message
.
error
(
'缺少模型 modelId 编号'
)
return
}
// 查询模型
const
data
=
await
ModelApi
.
getModel
(
modelId
)
const
data
=
await
ModelApi
.
getModel
(
String
(
props
.
modelId
)
)
if
(
!
data
.
bpmnXml
)
{
// 首次创建的 Model 模型,它是没有 bpmnXml,此时需要给它一个默认的
data
.
bpmnXml
=
` <?xml version="1.0" encoding="UTF-8"?>
...
...
src/views/bpm/model/index.vue
View file @
5063db47
...
...
@@ -106,6 +106,7 @@ import CategoryDraggableModel from './CategoryDraggableModel.vue'
defineOptions
({
name
:
'BpmModel'
})
const
{
push
}
=
useRouter
()
const
message
=
useMessage
()
// 消息弹窗
const
loading
=
ref
(
true
)
// 列表的加载中
const
isCategorySorting
=
ref
(
false
)
// 是否 category 正处于排序状态
...
...
@@ -124,7 +125,11 @@ const handleQuery = () => {
/** 添加/修改操作 */
const
formRef
=
ref
()
const
openForm
=
(
type
:
string
,
id
?:
number
)
=>
{
formRef
.
value
.
open
(
type
,
id
)
if
(
type
===
'create'
)
{
push
(
'/bpm/manager/model/create-update'
)
}
else
{
push
(
`/bpm/manager/model/create-update?id=
${
id
}
`
)
}
}
/** 流程表单的详情按钮操作 */
...
...
src/views/bpm/simple/SimpleModelDesign.vue
View file @
5063db47
<
template
>
<ContentWrap
:bodyStyle=
"
{ padding: '20px 16px' }">
<SimpleProcessDesigner
:model-id=
"modelId"
@
success=
"
close
"
/>
<SimpleProcessDesigner
:model-id=
"modelId"
@
success=
"
handleSuccess
"
/>
</ContentWrap>
</
template
>
<
script
setup
lang=
"ts"
>
...
...
@@ -9,11 +9,16 @@ import { SimpleProcessDesigner } from '@/components/SimpleProcessDesignerV2/src/
defineOptions
({
name
:
'SimpleModelDesign'
})
const
router
=
useRouter
()
// 路由
const
{
query
}
=
useRoute
()
// 路由的查询
const
modelId
=
query
.
modelId
as
string
const
close
=
()
=>
{
router
.
push
({
path
:
'/bpm/manager/model'
})
defineProps
<
{
modelId
:
string
}
>
()
const
emit
=
defineEmits
([
'success'
])
// 修改成功回调
const
handleSuccess
=
()
=>
{
emit
(
'success'
)
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
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