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
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
62 additions
and
39 deletions
+62
-39
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
+12
-16
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[] = [
...
@@ -330,6 +330,18 @@ const remainingRouter: AppRouteRecordRaw[] = [
title
:
'查看 OA 请假'
,
title
:
'查看 OA 请假'
,
activeMenu
:
'/bpm/oa/leave'
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) => {
...
@@ -339,21 +339,22 @@ const handleChangeState = async (row: any) => {
/** 设计流程 */
/** 设计流程 */
const
handleDesign
=
(
row
:
any
)
=>
{
const
handleDesign
=
(
row
:
any
)
=>
{
if
(
row
.
type
==
BpmModelType
.
BPMN
)
{
// if (row.type == BpmModelType.BPMN) {
push
({
// push({
name
:
'BpmModelEditor'
,
// name: 'BpmModelEditor',
query
:
{
// query: {
modelId
:
row
.
id
// modelId: row.id
}
// }
})
// })
}
else
{
// } else {
push
({
// push({
name
:
'SimpleModelDesign'
,
// name: 'SimpleModelDesign',
query
:
{
// query: {
modelId
:
row
.
id
// modelId: row.id
}
// }
})
// })
}
// }
push
(
`/bpm/manager/model/create-update?id=
${
row
.
id
}
`
)
}
}
/** 发布流程 */
/** 发布流程 */
...
@@ -496,7 +497,11 @@ const handleDeleteCategory = async () => {
...
@@ -496,7 +497,11 @@ const handleDeleteCategory = async () => {
/** 添加流程模型弹窗 */
/** 添加流程模型弹窗 */
const
modelFormRef
=
ref
()
const
modelFormRef
=
ref
()
const
openModelForm
=
(
type
:
string
,
id
?:
number
)
=>
{
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
})
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'
...
@@ -34,6 +34,10 @@ import * as ModelApi from '@/api/bpm/model'
defineOptions
({
name
:
'BpmModelEditor'
})
defineOptions
({
name
:
'BpmModelEditor'
})
const
props
=
defineProps
<
{
modelId
:
string
}
>
()
const
emit
=
defineEmits
([
'success'
])
const
router
=
useRouter
()
// 路由
const
router
=
useRouter
()
// 路由
const
{
query
}
=
useRoute
()
// 路由的查询
const
{
query
}
=
useRoute
()
// 路由的查询
const
message
=
useMessage
()
// 国际化
const
message
=
useMessage
()
// 国际化
...
@@ -59,36 +63,28 @@ const initModeler = (item) => {
...
@@ -59,36 +63,28 @@ const initModeler = (item) => {
/** 添加/修改模型 */
/** 添加/修改模型 */
const
save
=
async
(
bpmnXml
:
string
)
=>
{
const
save
=
async
(
bpmnXml
:
string
)
=>
{
try
{
const
data
=
{
const
data
=
{
...
model
.
value
,
...
model
.
value
,
bpmnXml
:
bpmnXml
// bpmnXml 只是初始化流程图,后续修改无法通过它获得
bpmnXml
:
bpmnXml
}
as
unknown
as
ModelApi
.
ModelVO
}
as
unknown
as
ModelApi
.
ModelVO
// 提交
// 提交
if
(
data
.
id
)
{
await
ModelApi
.
updateModelBpmn
(
data
)
await
ModelApi
.
updateModelBpmn
(
data
)
message
.
success
(
'修改成功
'
)
emit
(
'success
'
)
}
else
{
}
catch
(
error
)
{
await
ModelApi
.
updateModelBpmn
(
data
)
console
.
error
(
'保存失败:'
,
error
)
message
.
success
(
'新增成功
'
)
message
.
error
(
'保存失败
'
)
}
}
// 跳转回去
close
()
}
/** 关闭按钮 */
const
close
=
()
=>
{
router
.
push
({
path
:
'/bpm/manager/model'
})
}
}
/** 初始化 */
/** 初始化 */
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
const
modelId
=
query
.
modelId
as
unknown
as
number
if
(
!
props
.
modelId
)
{
if
(
!
modelId
)
{
message
.
error
(
'缺少模型 modelId 编号'
)
message
.
error
(
'缺少模型 modelId 编号'
)
return
return
}
}
// 查询模型
// 查询模型
const
data
=
await
ModelApi
.
getModel
(
modelId
)
const
data
=
await
ModelApi
.
getModel
(
String
(
props
.
modelId
)
)
if
(
!
data
.
bpmnXml
)
{
if
(
!
data
.
bpmnXml
)
{
// 首次创建的 Model 模型,它是没有 bpmnXml,此时需要给它一个默认的
// 首次创建的 Model 模型,它是没有 bpmnXml,此时需要给它一个默认的
data
.
bpmnXml
=
` <?xml version="1.0" encoding="UTF-8"?>
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'
...
@@ -106,6 +106,7 @@ import CategoryDraggableModel from './CategoryDraggableModel.vue'
defineOptions
({
name
:
'BpmModel'
})
defineOptions
({
name
:
'BpmModel'
})
const
{
push
}
=
useRouter
()
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
const
loading
=
ref
(
true
)
// 列表的加载中
const
loading
=
ref
(
true
)
// 列表的加载中
const
isCategorySorting
=
ref
(
false
)
// 是否 category 正处于排序状态
const
isCategorySorting
=
ref
(
false
)
// 是否 category 正处于排序状态
...
@@ -124,7 +125,11 @@ const handleQuery = () => {
...
@@ -124,7 +125,11 @@ const handleQuery = () => {
/** 添加/修改操作 */
/** 添加/修改操作 */
const
formRef
=
ref
()
const
formRef
=
ref
()
const
openForm
=
(
type
:
string
,
id
?:
number
)
=>
{
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
>
<
template
>
<ContentWrap
:bodyStyle=
"
{ padding: '20px 16px' }">
<ContentWrap
:bodyStyle=
"
{ padding: '20px 16px' }">
<SimpleProcessDesigner
:model-id=
"modelId"
@
success=
"
close
"
/>
<SimpleProcessDesigner
:model-id=
"modelId"
@
success=
"
handleSuccess
"
/>
</ContentWrap>
</ContentWrap>
</
template
>
</
template
>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
...
@@ -9,11 +9,16 @@ import { SimpleProcessDesigner } from '@/components/SimpleProcessDesignerV2/src/
...
@@ -9,11 +9,16 @@ import { SimpleProcessDesigner } from '@/components/SimpleProcessDesignerV2/src/
defineOptions
({
defineOptions
({
name
:
'SimpleModelDesign'
name
:
'SimpleModelDesign'
})
})
const
router
=
useRouter
()
// 路由
const
{
query
}
=
useRoute
()
// 路由的查询
defineProps
<
{
const
modelId
=
query
.
modelId
as
string
modelId
:
string
const
close
=
()
=>
{
}
>
()
router
.
push
({
path
:
'/bpm/manager/model'
})
const
emit
=
defineEmits
([
'success'
])
// 修改成功回调
const
handleSuccess
=
()
=>
{
emit
(
'success'
)
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
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