fix: different setting pages of simple_work_flow application

This commit is contained in:
zhangzhanwei 2025-07-09 16:11:37 +08:00 committed by zhanweizhang7
parent eceb8f8375
commit 2ba043e801
3 changed files with 71 additions and 5 deletions

View File

@ -150,6 +150,8 @@ import useStore from '@/stores'
import { WorkFlowInstance } from '@/workflow/common/validate'
import { hasPermission } from '@/utils/permission'
import { t } from '@/locales'
import { ComplexPermission } from '@/utils/permission/type'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
const { theme, application } = useStore()
const router = useRouter()
@ -199,10 +201,10 @@ function back() {
saveApplication(true, true)
})
.catch((action: Action) => {
action === 'cancel' && router.push({ path: `/application/${id}/WORK_FLOW/overview` })
action === 'cancel' && go()
})
} else {
router.push({ path: `/application/${id}/WORK_FLOW/overview` })
go()
}
}
function clickoutsideHistory() {
@ -405,7 +407,7 @@ function saveApplication(bool?: boolean, back?: boolean) {
cloneWorkFlow.value = getGraphData()
MsgSuccess(t('common.saveSuccess'))
if (back) {
router.push({ path: `/application/${id}/WORK_FLOW/overview` })
go()
}
}
})
@ -413,6 +415,31 @@ function saveApplication(bool?: boolean, back?: boolean) {
loading.value = false
})
}
const go=()=>{
return router.push({ path: get_route() })
}
const get_route=()=>{
if( hasPermission( [new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(id)],'OR')){
return `/application/${id}/WORK_FLOW/overview`
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,],[PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
new ComplexPermission([],[PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
return `/application/${id}/WORK_FLOW/access`
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],[PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
new ComplexPermission([],[PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
return `/application/${id}/WORK_FLOW/chat-user`
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(id)],[],'AND'),
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission(id)],'OR')) {
return `/application/${id}/WORK_FLOW/chat-log`
} else return `/application`
}
/**
* 定时保存

View File

@ -165,6 +165,11 @@ const submitHandle = async (formEl: FormInstance | undefined) => {
if (valid) {
applicationApi
.postApplication({ ...applicationForm.value, folder_id: currentFolder.value }, loading)
.then((res) => {
return user.profile().then(() => {
return res
})
})
.then((res) => {
MsgSuccess(t('common.createSuccess'))
if (isWorkFlow(applicationForm.value.type)) {

View File

@ -173,7 +173,7 @@
:title="item.name"
:description="item.desc"
class="cursor"
@click="router.push({ path: `/application/${item.id}/${item.type}/overview` })"
@click="goApp(item)"
>
<template #icon>
<LogoIcon height="32px" />
@ -225,7 +225,6 @@
<el-dropdown-menu>
<el-dropdown-item
@click.stop="getAccessToken(item.id)"
v-if="permissionPrecise.overview_access(item.id)"
>
<AppIcon iconName="app-create-chat"></AppIcon>
{{ $t('views.application.operation.toChat') }}
@ -307,6 +306,9 @@ import { dateFormat } from '@/utils/time'
import { SourceTypeEnum, ValidType, ValidCount } from '@/enums/common'
import permissionMap from '@/permission'
import WorkspaceApi from '@/api/workspace/workspace'
import { hasPermission } from '@/utils/permission'
import { ComplexPermission } from '@/utils/permission/type'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
const router = useRouter()
const route = useRoute()
@ -353,6 +355,38 @@ function refreshApplicationList(row: any) {
applicationList.value.splice(index, 1)
}
const goApp=(item : any) => {
router.push({ path: get_route(item) })
}
const get_route=(item: any)=>{
if( hasPermission( [new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(item.id)],'OR')){
return `/application/${item.id}/${item.type}/overview`
} else if (hasPermission([ new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(item.id)],'OR')){
if(item.type=='WORK_FLOW'){ return `/application/${item.id}/workflow`}else{
return `/application/${item.id}/${item.type}/setting`}
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,],[PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
new ComplexPermission([],[PermissionConst.APPLICATION_ACCESS_READ.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
return `/application/${item.id}/${item.type}/access`
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'),
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],[PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),
new ComplexPermission([],[PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) {
return `/application/${item.id}/${item.type}/chat-user`
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'),
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission(item.id)],'OR')) {
return `/application/${item.id}/${item.type}/chat-log`
} else return `/application/`
}
const CreateApplicationDialogRef = ref()
function openCreateDialog(type?: string) {
common