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
6304a8e9
authored
Nov 19, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【代码评审】工作流:详情界面
parent
3783582b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
29 deletions
+23
-29
src/components/UserSelectForm/index.vue
+18
-25
src/views/bpm/processInstance/create/index.vue
+5
-4
No files found.
src/components/UserSelectForm/index.vue
View file @
6304a8e9
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<ContentWrap
class=
"h-1/1"
>
<ContentWrap
class=
"h-1/1"
>
<el-tree
<el-tree
ref=
"treeRef"
ref=
"treeRef"
:data=
"dept
List
"
:data=
"dept
Tree
"
:expand-on-click-node=
"false"
:expand-on-click-node=
"false"
:props=
"defaultProps"
:props=
"defaultProps"
default-expand-all
default-expand-all
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
</Dialog>
</Dialog>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
defaultProps
,
handleTree
}
from
'@/utils/tree'
import
{
defaultProps
,
findTreeNode
,
handleTree
}
from
'@/utils/tree'
import
*
as
DeptApi
from
'@/api/system/dept'
import
*
as
DeptApi
from
'@/api/system/dept'
import
*
as
UserApi
from
'@/api/system/user'
import
*
as
UserApi
from
'@/api/system/user'
...
@@ -49,27 +49,27 @@ const emit = defineEmits<{
...
@@ -49,27 +49,27 @@ const emit = defineEmits<{
}
>
()
}
>
()
const
{
t
}
=
useI18n
()
// 国际
const
{
t
}
=
useI18n
()
// 国际
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
const
dept
List
=
ref
<
Tree
[]
>
([])
// 部门树形结构化
const
dept
Tree
=
ref
<
Tree
[]
>
([])
// 部门树形结构化
const
allU
serList
=
ref
<
UserApi
.
UserVO
[]
>
([])
// 所有用户列表
const
u
serList
=
ref
<
UserApi
.
UserVO
[]
>
([])
// 所有用户列表
const
filteredUserList
=
ref
<
UserApi
.
UserVO
[]
>
([])
// 当前部门过滤后的用户列表
const
filteredUserList
=
ref
<
UserApi
.
UserVO
[]
>
([])
// 当前部门过滤后的用户列表
const
selectedUserIdList
:
any
=
ref
([])
// 选中的用户列表
const
selectedUserIdList
:
any
=
ref
([])
// 选中的用户列表
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
dialogVisible
=
ref
(
false
)
// 弹窗的是否展示
const
formLoading
=
ref
(
false
)
// 表单的加载中
const
formLoading
=
ref
(
false
)
// 表单的加载中
const
activityId
=
ref
()
const
activityId
=
ref
()
/
/ 计算属性:合并已选择的用户和当前部门过滤后的用户
/
** 计算属性:合并已选择的用户和当前部门过滤后的用户 */
const
transferUserList
=
computed
(()
=>
{
const
transferUserList
=
computed
(()
=>
{
// 获取所有已选择的用户
//
1.1
获取所有已选择的用户
const
selectedUsers
=
allU
serList
.
value
.
filter
((
user
:
any
)
=>
const
selectedUsers
=
u
serList
.
value
.
filter
((
user
:
any
)
=>
selectedUserIdList
.
value
.
includes
(
user
.
id
)
selectedUserIdList
.
value
.
includes
(
user
.
id
)
)
)
// 获取当前部门过滤后的未选择用户
//
1.2
获取当前部门过滤后的未选择用户
const
filteredUnselectedUsers
=
filteredUserList
.
value
.
filter
(
const
filteredUnselectedUsers
=
filteredUserList
.
value
.
filter
(
(
user
:
any
)
=>
!
selectedUserIdList
.
value
.
includes
(
user
.
id
)
(
user
:
any
)
=>
!
selectedUserIdList
.
value
.
includes
(
user
.
id
)
)
)
// 合并并去重
//
2.
合并并去重
return
[...
selectedUsers
,
...
filteredUnselectedUsers
]
return
[...
selectedUsers
,
...
filteredUnselectedUsers
]
})
})
...
@@ -78,23 +78,15 @@ const open = async (id: number, selectedList?: any[]) => {
...
@@ -78,23 +78,15 @@ const open = async (id: number, selectedList?: any[]) => {
activityId
.
value
=
id
activityId
.
value
=
id
resetForm
()
resetForm
()
deptList
.
value
=
handleTree
(
await
DeptApi
.
getSimpleDeptList
())
// 加载部门、用户列表
// 初始加载所有用户
deptTree
.
value
=
handleTree
(
await
DeptApi
.
getSimpleDeptList
())
await
getAllUserList
()
userList
.
value
=
await
UserApi
.
getSimpleUserList
()
// 初始状态下,过滤列表等于所有用户列表
// 初始状态下,过滤列表等于所有用户列表
filteredUserList
.
value
=
[...
allU
serList
.
value
]
filteredUserList
.
value
=
[...
u
serList
.
value
]
selectedUserIdList
.
value
=
selectedList
?.
map
((
item
:
any
)
=>
item
.
id
)
||
[]
selectedUserIdList
.
value
=
selectedList
?.
map
((
item
:
any
)
=>
item
.
id
)
||
[]
dialogVisible
.
value
=
true
dialogVisible
.
value
=
true
}
}
/** 获取所有用户列表 */
const
getAllUserList
=
async
()
=>
{
try
{
// @ts-ignore
const
data
=
await
UserApi
.
getSimpleUserList
()
allUserList
.
value
=
data
}
finally
{
}
}
/** 获取部门过滤后的用户列表 */
/** 获取部门过滤后的用户列表 */
const
getUserList
=
async
(
deptId
?:
number
)
=>
{
const
getUserList
=
async
(
deptId
?:
number
)
=>
{
...
@@ -102,6 +94,7 @@ const getUserList = async (deptId?: number) => {
...
@@ -102,6 +94,7 @@ const getUserList = async (deptId?: number) => {
try
{
try
{
// @ts-ignore
// @ts-ignore
// TODO @芋艿:替换到 simple List 暂不支持 deptId 过滤
// TODO @芋艿:替换到 simple List 暂不支持 deptId 过滤
// TODO @Zqqq:这个,可以使用前端过滤么?通过 deptList 获取到 deptId 子节点,然后去 userList
const
data
=
await
UserApi
.
getUserPage
({
pageSize
:
100
,
pageNo
:
1
,
deptId
})
const
data
=
await
UserApi
.
getUserPage
({
pageSize
:
100
,
pageNo
:
1
,
deptId
})
// 更新过滤后的用户列表
// 更新过滤后的用户列表
filteredUserList
.
value
=
data
.
list
filteredUserList
.
value
=
data
.
list
...
@@ -116,7 +109,7 @@ const submitForm = async () => {
...
@@ -116,7 +109,7 @@ const submitForm = async () => {
message
.
success
(
t
(
'common.updateSuccess'
))
message
.
success
(
t
(
'common.updateSuccess'
))
dialogVisible
.
value
=
false
dialogVisible
.
value
=
false
// 从所有用户列表中筛选出已选择的用户
// 从所有用户列表中筛选出已选择的用户
const
emitUserList
=
allU
serList
.
value
.
filter
((
user
:
any
)
=>
const
emitUserList
=
u
serList
.
value
.
filter
((
user
:
any
)
=>
selectedUserIdList
.
value
.
includes
(
user
.
id
)
selectedUserIdList
.
value
.
includes
(
user
.
id
)
)
)
// 发送操作成功的事件
// 发送操作成功的事件
...
@@ -127,8 +120,8 @@ const submitForm = async () => {
...
@@ -127,8 +120,8 @@ const submitForm = async () => {
/** 重置表单 */
/** 重置表单 */
const
resetForm
=
()
=>
{
const
resetForm
=
()
=>
{
dept
List
.
value
=
[]
dept
Tree
.
value
=
[]
allU
serList
.
value
=
[]
u
serList
.
value
=
[]
filteredUserList
.
value
=
[]
filteredUserList
.
value
=
[]
selectedUserIdList
.
value
=
[]
selectedUserIdList
.
value
=
[]
}
}
...
...
src/views/bpm/processInstance/create/index.vue
View file @
6304a8e9
...
@@ -174,17 +174,18 @@ const handleQuery = () => {
...
@@ -174,17 +174,18 @@ const handleQuery = () => {
/** 流程定义的分组 */
/** 流程定义的分组 */
const
processDefinitionGroup
:
any
=
computed
(()
=>
{
const
processDefinitionGroup
:
any
=
computed
(()
=>
{
if
(
!
processDefinitionList
.
value
?.
length
)
return
{}
if
(
!
processDefinitionList
.
value
?.
length
)
{
const
grouped
=
groupBy
(
filteredProcessDefinitionList
.
value
,
'category'
)
return
{}
}
const
orderedGroup
=
{}
const
grouped
=
groupBy
(
filteredProcessDefinitionList
.
value
,
'category'
)
// 按照 categoryList 的顺序重新组织数据
// 按照 categoryList 的顺序重新组织数据
const
orderedGroup
=
{}
categoryList
.
value
.
forEach
((
category
:
any
)
=>
{
categoryList
.
value
.
forEach
((
category
:
any
)
=>
{
if
(
grouped
[
category
.
code
])
{
if
(
grouped
[
category
.
code
])
{
orderedGroup
[
category
.
code
]
=
grouped
[
category
.
code
]
orderedGroup
[
category
.
code
]
=
grouped
[
category
.
code
]
}
}
})
})
return
orderedGroup
return
orderedGroup
})
})
...
...
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