Skip to content

Commit 2ba043e

Browse files
committed
fix: different setting pages of simple_work_flow application
1 parent eceb8f8 commit 2ba043e

File tree

3 files changed

+71
-5
lines changed

3 files changed

+71
-5
lines changed

ui/src/views/application-workflow/index.vue

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,8 @@ import useStore from '@/stores'
150150
import { WorkFlowInstance } from '@/workflow/common/validate'
151151
import { hasPermission } from '@/utils/permission'
152152
import { t } from '@/locales'
153+
import { ComplexPermission } from '@/utils/permission/type'
154+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
153155
154156
const { theme, application } = useStore()
155157
const router = useRouter()
@@ -199,10 +201,10 @@ function back() {
199201
saveApplication(true, true)
200202
})
201203
.catch((action: Action) => {
202-
action === 'cancel' && router.push({ path: `/application/${id}/WORK_FLOW/overview` })
204+
action === 'cancel' && go()
203205
})
204206
} else {
205-
router.push({ path: `/application/${id}/WORK_FLOW/overview` })
207+
go()
206208
}
207209
}
208210
function clickoutsideHistory() {
@@ -405,14 +407,39 @@ function saveApplication(bool?: boolean, back?: boolean) {
405407
cloneWorkFlow.value = getGraphData()
406408
MsgSuccess(t('common.saveSuccess'))
407409
if (back) {
408-
router.push({ path: `/application/${id}/WORK_FLOW/overview` })
410+
go()
409411
}
410412
}
411413
})
412414
.catch(() => {
413415
loading.value = false
414416
})
415417
}
418+
const go=()=>{
419+
return router.push({ path: get_route() })
420+
}
421+
422+
const get_route=()=>{
423+
if( hasPermission( [new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[],'AND'),
424+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
425+
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
426+
PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(id)],'OR')){
427+
return `/application/${id}/WORK_FLOW/overview`
428+
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
429+
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,],[PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
430+
new ComplexPermission([],[PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
431+
return `/application/${id}/WORK_FLOW/access`
432+
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
433+
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],[PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
434+
new ComplexPermission([],[PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
435+
return `/application/${id}/WORK_FLOW/chat-user`
436+
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[],'AND'),
437+
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole,
438+
PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission(id)],'OR')) {
439+
return `/application/${id}/WORK_FLOW/chat-log`
440+
} else return `/application`
441+
}
442+
416443
417444
/**
418445
* 定时保存

ui/src/views/application/component/CopyApplicationDialog.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,11 @@ const submitHandle = async (formEl: FormInstance | undefined) => {
165165
if (valid) {
166166
applicationApi
167167
.postApplication({ ...applicationForm.value, folder_id: currentFolder.value }, loading)
168+
.then((res) => {
169+
return user.profile().then(() => {
170+
return res
171+
})
172+
})
168173
.then((res) => {
169174
MsgSuccess(t('common.createSuccess'))
170175
if (isWorkFlow(applicationForm.value.type)) {

ui/src/views/application/index.vue

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@
173173
:title="item.name"
174174
:description="item.desc"
175175
class="cursor"
176-
@click="router.push({ path: `/application/${item.id}/${item.type}/overview` })"
176+
@click="goApp(item)"
177177
>
178178
<template #icon>
179179
<LogoIcon height="32px" />
@@ -225,7 +225,6 @@
225225
<el-dropdown-menu>
226226
<el-dropdown-item
227227
@click.stop="getAccessToken(item.id)"
228-
v-if="permissionPrecise.overview_access(item.id)"
229228
>
230229
<AppIcon iconName="app-create-chat"></AppIcon>
231230
{{ $t('views.application.operation.toChat') }}
@@ -307,6 +306,9 @@ import { dateFormat } from '@/utils/time'
307306
import { SourceTypeEnum, ValidType, ValidCount } from '@/enums/common'
308307
import permissionMap from '@/permission'
309308
import WorkspaceApi from '@/api/workspace/workspace'
309+
import { hasPermission } from '@/utils/permission'
310+
import { ComplexPermission } from '@/utils/permission/type'
311+
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
310312
311313
const router = useRouter()
312314
const route = useRoute()
@@ -353,6 +355,38 @@ function refreshApplicationList(row: any) {
353355
applicationList.value.splice(index, 1)
354356
}
355357
358+
const goApp=(item : any) => {
359+
router.push({ path: get_route(item) })
360+
}
361+
362+
363+
const get_route=(item: any)=>{
364+
if( hasPermission( [new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'),
365+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
366+
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
367+
PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(item.id)],'OR')){
368+
return `/application/${item.id}/${item.type}/overview`
369+
} else if (hasPermission([ new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'),
370+
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
371+
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
372+
PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(item.id)],'OR')){
373+
if(item.type=='WORK_FLOW'){ return `/application/${item.id}/workflow`}else{
374+
return `/application/${item.id}/${item.type}/setting`}
375+
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
376+
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,],[PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
377+
new ComplexPermission([],[PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
378+
return `/application/${item.id}/${item.type}/access`
379+
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
380+
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],[PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
381+
new ComplexPermission([],[PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
382+
return `/application/${item.id}/${item.type}/chat-user`
383+
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'),
384+
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole,
385+
PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission(item.id)],'OR')) {
386+
return `/application/${item.id}/${item.type}/chat-log`
387+
} else return `/application/`
388+
}
389+
356390
const CreateApplicationDialogRef = ref()
357391
function openCreateDialog(type?: string) {
358392
common

0 commit comments

Comments
 (0)