|
173 | 173 | :title="item.name" |
174 | 174 | :description="item.desc" |
175 | 175 | class="cursor" |
176 | | - @click="router.push({ path: `/application/${item.id}/${item.type}/overview` })" |
| 176 | + @click="goApp(item)" |
177 | 177 | > |
178 | 178 | <template #icon> |
179 | 179 | <LogoIcon height="32px" /> |
|
225 | 225 | <el-dropdown-menu> |
226 | 226 | <el-dropdown-item |
227 | 227 | @click.stop="getAccessToken(item.id)" |
228 | | - v-if="permissionPrecise.overview_access(item.id)" |
229 | 228 | > |
230 | 229 | <AppIcon iconName="app-create-chat"></AppIcon> |
231 | 230 | {{ $t('views.application.operation.toChat') }} |
@@ -307,6 +306,9 @@ import { dateFormat } from '@/utils/time' |
307 | 306 | import { SourceTypeEnum, ValidType, ValidCount } from '@/enums/common' |
308 | 307 | import permissionMap from '@/permission' |
309 | 308 | 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' |
310 | 312 |
|
311 | 313 | const router = useRouter() |
312 | 314 | const route = useRoute() |
@@ -353,6 +355,38 @@ function refreshApplicationList(row: any) { |
353 | 355 | applicationList.value.splice(index, 1) |
354 | 356 | } |
355 | 357 |
|
| 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 | +
|
356 | 390 | const CreateApplicationDialogRef = ref() |
357 | 391 | function openCreateDialog(type?: string) { |
358 | 392 | common |
|
0 commit comments