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 { WorkFlowInstance } from '@/workflow/common/validate'
import { hasPermission } from '@/utils/permission' import { hasPermission } from '@/utils/permission'
import { t } from '@/locales' import { t } from '@/locales'
import { ComplexPermission } from '@/utils/permission/type'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data'
const { theme, application } = useStore() const { theme, application } = useStore()
const router = useRouter() const router = useRouter()
@ -199,10 +201,10 @@ function back() {
saveApplication(true, true) saveApplication(true, true)
}) })
.catch((action: Action) => { .catch((action: Action) => {
action === 'cancel' && router.push({ path: `/application/${id}/WORK_FLOW/overview` }) action === 'cancel' && go()
}) })
} else { } else {
router.push({ path: `/application/${id}/WORK_FLOW/overview` }) go()
} }
} }
function clickoutsideHistory() { function clickoutsideHistory() {
@ -405,7 +407,7 @@ function saveApplication(bool?: boolean, back?: boolean) {
cloneWorkFlow.value = getGraphData() cloneWorkFlow.value = getGraphData()
MsgSuccess(t('common.saveSuccess')) MsgSuccess(t('common.saveSuccess'))
if (back) { if (back) {
router.push({ path: `/application/${id}/WORK_FLOW/overview` }) go()
} }
} }
}) })
@ -413,6 +415,31 @@ function saveApplication(bool?: boolean, back?: boolean) {
loading.value = false 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) { if (valid) {
applicationApi applicationApi
.postApplication({ ...applicationForm.value, folder_id: currentFolder.value }, loading) .postApplication({ ...applicationForm.value, folder_id: currentFolder.value }, loading)
.then((res) => {
return user.profile().then(() => {
return res
})
})
.then((res) => { .then((res) => {
MsgSuccess(t('common.createSuccess')) MsgSuccess(t('common.createSuccess'))
if (isWorkFlow(applicationForm.value.type)) { if (isWorkFlow(applicationForm.value.type)) {

View File

@ -173,7 +173,7 @@
:title="item.name" :title="item.name"
:description="item.desc" :description="item.desc"
class="cursor" class="cursor"
@click="router.push({ path: `/application/${item.id}/${item.type}/overview` })" @click="goApp(item)"
> >
<template #icon> <template #icon>
<LogoIcon height="32px" /> <LogoIcon height="32px" />
@ -225,7 +225,6 @@
<el-dropdown-menu> <el-dropdown-menu>
<el-dropdown-item <el-dropdown-item
@click.stop="getAccessToken(item.id)" @click.stop="getAccessToken(item.id)"
v-if="permissionPrecise.overview_access(item.id)"
> >
<AppIcon iconName="app-create-chat"></AppIcon> <AppIcon iconName="app-create-chat"></AppIcon>
{{ $t('views.application.operation.toChat') }} {{ $t('views.application.operation.toChat') }}
@ -307,6 +306,9 @@ import { dateFormat } from '@/utils/time'
import { SourceTypeEnum, ValidType, ValidCount } from '@/enums/common' import { SourceTypeEnum, ValidType, ValidCount } from '@/enums/common'
import permissionMap from '@/permission' import permissionMap from '@/permission'
import WorkspaceApi from '@/api/workspace/workspace' 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 router = useRouter()
const route = useRoute() const route = useRoute()
@ -353,6 +355,38 @@ function refreshApplicationList(row: any) {
applicationList.value.splice(index, 1) 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() const CreateApplicationDialogRef = ref()
function openCreateDialog(type?: string) { function openCreateDialog(type?: string) {
common common