Skip to content

Commit caa31a6

Browse files
committed
feat: 发起流程页面-左侧分类列表只展示有流程的分类
1 parent 5f2e23f commit caa31a6

File tree

2 files changed

+25
-6
lines changed

2 files changed

+25
-6
lines changed

src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,10 @@ const getApprovalDetail = async (row: any) => {
162162
startUserSelectTasks.value = data.activityNodes?.filter(
163163
(node: ApprovalNodeInfo) => CandidateStrategy.START_USER_SELECT === node.candidateStrategy
164164
)
165-
for (const node of startUserSelectTasks.value) {
166-
startUserSelectAssignees.value[node.id] = []
165+
if (startUserSelectTasks.value?.length > 0) {
166+
for (const node of startUserSelectTasks.value) {
167+
startUserSelectAssignees.value[node.id] = []
168+
}
167169
}
168170
169171
// 获取审批节点,显示 Timeline 的数据

src/views/bpm/processInstance/create/index.vue

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<el-col :span="5">
2323
<div class="flex flex-col">
2424
<div
25-
v-for="category in categoryList"
25+
v-for="category in availableCategories"
2626
:key="category.code"
2727
class="flex items-center p-10px cursor-pointer text-14px rounded-md"
2828
:class="categoryActive.code === category.code ? 'text-#3e7bff bg-#e8eeff' : ''"
@@ -137,9 +137,11 @@ const getCategoryList = async () => {
137137
try {
138138
// 流程分类
139139
categoryList.value = await CategoryApi.getCategorySimpleList()
140-
// 选中首个分类
141-
if (categoryList.value.length > 0) {
142-
categoryActive.value = categoryList.value[0]
140+
// 等待流程定义数据加载完成后再设置默认选中分类
141+
await nextTick()
142+
// 选中第一个有流程的分类
143+
if (availableCategories.value.length > 0) {
144+
categoryActive.value = availableCategories.value[0]
143145
}
144146
} finally {
145147
}
@@ -261,6 +263,21 @@ const handleScroll = (e) => {
261263
onMounted(() => {
262264
getList()
263265
})
266+
267+
/** 过滤出有流程的分类列表 */
268+
const availableCategories = computed(() => {
269+
if (!categoryList.value?.length || !processDefinitionGroup.value) {
270+
return []
271+
}
272+
273+
// 获取所有有流程的分类代码
274+
const availableCategoryCodes = Object.keys(processDefinitionGroup.value)
275+
276+
// 过滤出有流程的分类
277+
return categoryList.value.filter(category =>
278+
availableCategoryCodes.includes(category.code)
279+
)
280+
})
264281
</script>
265282

266283
<style lang="scss" scoped>

0 commit comments

Comments
 (0)