refactor: clean up whitespace and formatting in index.vue

This commit is contained in:
wxg0103 2025-07-11 16:52:25 +08:00
parent caa03dc489
commit 723aaf30c3

View File

@ -13,7 +13,7 @@
</template> </template>
<ContentContainer> <ContentContainer>
<template #header> <template #header>
<FolderBreadcrumb :folderList="folderList" @click="folderClickHandle" /> <FolderBreadcrumb :folderList="folderList" @click="folderClickHandle"/>
</template> </template>
<template #search> <template #search>
<div class="flex"> <div class="flex">
@ -24,9 +24,9 @@
style="width: 120px" style="width: 120px"
@change="search_type_change" @change="search_type_change"
> >
<el-option :label="$t('common.creator')" value="create_user" /> <el-option :label="$t('common.creator')" value="create_user"/>
<el-option :label="$t('common.name')" value="name" /> <el-option :label="$t('common.name')" value="name"/>
</el-select> </el-select>
<el-input <el-input
v-if="search_type === 'name'" v-if="search_type === 'name'"
@ -44,14 +44,14 @@
clearable clearable
style="width: 220px" style="width: 220px"
> >
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name" /> <el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name"/>
</el-select> </el-select>
</div> </div>
<el-dropdown trigger="click" v-if="permissionPrecise.create()"> <el-dropdown trigger="click" v-if="permissionPrecise.create()">
<el-button type="primary" class="ml-8"> <el-button type="primary" class="ml-8">
{{ $t('common.create') }} {{ $t('common.create') }}
<el-icon class="el-icon--right"> <el-icon class="el-icon--right">
<arrow-down /> <arrow-down/>
</el-icon> </el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
@ -68,7 +68,7 @@
<div class="pre-wrap ml-8"> <div class="pre-wrap ml-8">
<div class="lighter">{{ $t('views.application.simple') }}</div> <div class="lighter">{{ $t('views.application.simple') }}</div>
<el-text type="info" size="small" <el-text type="info" size="small"
>{{ $t('views.application.simplePlaceholder') }} >{{ $t('views.application.simplePlaceholder') }}
</el-text> </el-text>
</div> </div>
</div> </div>
@ -85,7 +85,7 @@
<div class="pre-wrap ml-8"> <div class="pre-wrap ml-8">
<div class="lighter">{{ $t('views.application.workflow') }}</div> <div class="lighter">{{ $t('views.application.workflow') }}</div>
<el-text type="info" size="small" <el-text type="info" size="small"
>{{ $t('views.application.workflowPlaceholder') }} >{{ $t('views.application.workflowPlaceholder') }}
</el-text> </el-text>
</div> </div>
</div> </div>
@ -104,7 +104,7 @@
<el-dropdown-item> <el-dropdown-item>
<div class="flex align-center w-full"> <div class="flex align-center w-full">
<el-avatar shape="square" class="mt-4" :size="36" style="background: none"> <el-avatar shape="square" class="mt-4" :size="36" style="background: none">
<img src="@/assets/icon_import.svg" alt="" /> <img src="@/assets/icon_import.svg" alt=""/>
</el-avatar> </el-avatar>
<div class="pre-wrap ml-8"> <div class="pre-wrap ml-8">
<div class="lighter">{{ $t('common.importCreate') }}</div> <div class="lighter">{{ $t('common.importCreate') }}</div>
@ -176,7 +176,7 @@
@click="goApp(item)" @click="goApp(item)"
> >
<template #icon> <template #icon>
<LogoIcon height="32px" /> <LogoIcon height="32px"/>
</template> </template>
<template #subTitle> <template #subTitle>
<el-text class="color-secondary" size="small"> <el-text class="color-secondary" size="small">
@ -197,13 +197,15 @@
<template #footer> <template #footer>
<div v-if="item.is_publish" class="flex align-center"> <div v-if="item.is_publish" class="flex align-center">
<el-icon class="color-success mr-8" style="font-size: 16px"> <el-icon class="color-success mr-8" style="font-size: 16px">
<SuccessFilled /> <SuccessFilled/>
</el-icon> </el-icon>
<span class="color-secondary"> <span class="color-secondary">
{{ $t('views.application.status.published') }} {{ $t('views.application.status.published') }}
</span> </span>
<el-divider direction="vertical" /> <el-divider direction="vertical"/>
<el-icon class="mr-8"><Clock /></el-icon> <el-icon class="mr-8">
<Clock/>
</el-icon>
<span class="color-secondary">{{ dateFormat(item.update_time) }}</span> <span class="color-secondary">{{ dateFormat(item.update_time) }}</span>
</div> </div>
<div v-else class="flex align-center"> <div v-else class="flex align-center">
@ -218,7 +220,7 @@
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button text @click.stop> <el-button text @click.stop>
<el-icon> <el-icon>
<MoreFilled /> <MoreFilled/>
</el-icon> </el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
@ -233,7 +235,9 @@
@click.stop="settingApplication(item)" @click.stop="settingApplication(item)"
v-if="permissionPrecise.edit(item.id)" v-if="permissionPrecise.edit(item.id)"
> >
<el-icon><Setting /></el-icon> <el-icon>
<Setting/>
</el-icon>
{{ $t('common.setting') }} {{ $t('common.setting') }}
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item <el-dropdown-item
@ -263,7 +267,8 @@
icon="Delete" icon="Delete"
@click.stop="deleteApplication(item)" @click.stop="deleteApplication(item)"
v-if="permissionPrecise.delete(item.id)" v-if="permissionPrecise.delete(item.id)"
>{{ $t('common.delete') }}</el-dropdown-item >{{ $t('common.delete') }}
</el-dropdown-item
> >
</el-dropdown-menu> </el-dropdown-menu>
</template> </template>
@ -274,13 +279,13 @@
</el-col> </el-col>
</template> </template>
</el-row> </el-row>
<el-empty :description="$t('common.noData')" v-else /> <el-empty :description="$t('common.noData')" v-else/>
</InfiniteScroll> </InfiniteScroll>
</div> </div>
</ContentContainer> </ContentContainer>
<CreateApplicationDialog ref="CreateApplicationDialogRef" /> <CreateApplicationDialog ref="CreateApplicationDialogRef"/>
<CopyApplicationDialog ref="CopyApplicationDialogRef" /> <CopyApplicationDialog ref="CopyApplicationDialogRef"/>
<CreateFolderDialog ref="CreateFolderDialogRef" @refresh="refreshFolder" /> <CreateFolderDialog ref="CreateFolderDialogRef" @refresh="refreshFolder"/>
<MoveToDialog <MoveToDialog
ref="MoveToDialogRef" ref="MoveToDialogRef"
:source="SourceTypeEnum.APPLICATION" :source="SourceTypeEnum.APPLICATION"
@ -291,24 +296,24 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { onMounted, ref, reactive, computed } from 'vue' import {onMounted, ref, reactive, computed} from 'vue'
import CreateApplicationDialog from '@/views/application/component/CreateApplicationDialog.vue' import CreateApplicationDialog from '@/views/application/component/CreateApplicationDialog.vue'
import CreateFolderDialog from '@/components/folder-tree/CreateFolderDialog.vue' import CreateFolderDialog from '@/components/folder-tree/CreateFolderDialog.vue'
import CopyApplicationDialog from '@/views/application/component/CopyApplicationDialog.vue' import CopyApplicationDialog from '@/views/application/component/CopyApplicationDialog.vue'
import MoveToDialog from '@/components/folder-tree/MoveToDialog.vue' import MoveToDialog from '@/components/folder-tree/MoveToDialog.vue'
import ApplicationApi from '@/api/application/application' import ApplicationApi from '@/api/application/application'
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message' import {MsgSuccess, MsgConfirm, MsgError} from '@/utils/message'
import useStore from '@/stores' import useStore from '@/stores'
import { t } from '@/locales' import {t} from '@/locales'
import { useRouter, useRoute } from 'vue-router' import {useRouter, useRoute} from 'vue-router'
import { isWorkFlow } from '@/utils/application' import {isWorkFlow} from '@/utils/application'
import { dateFormat } from '@/utils/time' 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 {hasPermission} from '@/utils/permission'
import { ComplexPermission } from '@/utils/permission/type' import {ComplexPermission} from '@/utils/permission/type'
import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' import {EditionConst, PermissionConst, RoleConst} from '@/utils/permission/data'
const router = useRouter() const router = useRouter()
const route = useRoute() const route = useRoute()
@ -320,7 +325,7 @@ const permissionPrecise = computed(() => {
return permissionMap['application'][apiType.value] return permissionMap['application'][apiType.value]
}) })
const { folder, application, user, common } = useStore() const {folder, application, user, common} = useStore()
const loading = ref(false) const loading = ref(false)
@ -343,6 +348,7 @@ const applicationList = ref<any[]>([])
const CopyApplicationDialogRef = ref() const CopyApplicationDialogRef = ref()
const MoveToDialogRef = ref() const MoveToDialogRef = ref()
function openMoveToDialog(data: any) { function openMoveToDialog(data: any) {
const obj = { const obj = {
id: data.id, id: data.id,
@ -350,63 +356,55 @@ function openMoveToDialog(data: any) {
} }
MoveToDialogRef.value?.open(obj) MoveToDialogRef.value?.open(obj)
} }
function refreshApplicationList(row: any) { function refreshApplicationList(row: any) {
const index = applicationList.value.findIndex((v) => v.id === row.id) const index = applicationList.value.findIndex((v) => v.id === row.id)
applicationList.value.splice(index, 1) applicationList.value.splice(index, 1)
} }
const goApp=(item : any) => { const goApp = (item: any) => {
router.push({ path: get_route(item) }) router.push({path: get_route(item)})
} }
const get_route=(item: any)=>{ const get_route = (item: any) => {
if( hasPermission( [new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'), if (hasPermission([new ComplexPermission([RoleConst.USER], [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], [], 'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_OVERVIEW_READ.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(item.id)],'OR')){ PermissionConst.APPLICATION_OVERVIEW_READ.getApplicationWorkspaceResourcePermission(item.id)], 'OR')) {
return `/application/${item.id}/${item.type}/overview` return `/application/${item.id}/${item.type}/overview`
} else if (hasPermission([ new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'), } else if (hasPermission([new ComplexPermission([RoleConst.USER], [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], [], 'AND'),
RoleConst.WORKSPACE_MANAGE.getWorkspaceRole, RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,
PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole, PermissionConst.APPLICATION_EDIT.getWorkspacePermissionWorkspaceManageRole,
PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(item.id)],'OR')){ PermissionConst.APPLICATION_EDIT.getApplicationWorkspaceResourcePermission(item.id)], 'OR')) {
if(item.type=='WORK_FLOW'){ return `/application/${item.id}/workflow`}else{ if (item.type == 'WORK_FLOW') {
return `/application/${item.id}/${item.type}/setting`} return `/application/${item.id}/workflow`
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'AND'), } else {
new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole,],[PermissionConst.APPLICATION_ACCESS_READ.getWorkspacePermissionWorkspaceManageRole],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'), return `/application/${item.id}/${item.type}/setting`
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'),
} 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([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole],[PermissionConst.APPLICATION_CHAT_USER_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')) {
new ComplexPermission([],[PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(item.id)],[EditionConst.IS_EE, EditionConst.IS_PE],'OR'),],'OR')) { return `/application/${item.id}/${item.type}/access`
return `/application/${item.id}/${item.type}/chat-user` } else if (hasPermission([new ComplexPermission([RoleConst.USER], [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], [EditionConst.IS_EE, EditionConst.IS_PE], 'AND'),
} else if (hasPermission([new ComplexPermission([RoleConst.USER],[PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)],[],'AND'), new ComplexPermission([RoleConst.WORKSPACE_MANAGE.getWorkspaceRole], [PermissionConst.APPLICATION_CHAT_USER_READ.getWorkspacePermissionWorkspaceManageRole], [EditionConst.IS_EE, EditionConst.IS_PE], 'OR'),
PermissionConst.APPLICATION_CHAT_LOG_READ.getWorkspacePermissionWorkspaceManageRole, new ComplexPermission([], [PermissionConst.APPLICATION_CHAT_USER_READ.getApplicationWorkspaceResourcePermission(item.id)], [EditionConst.IS_EE, EditionConst.IS_PE], 'OR'),], 'OR')) {
PermissionConst.APPLICATION_CHAT_LOG_READ.getApplicationWorkspaceResourcePermission(item.id)],'OR')) { return `/application/${item.id}/${item.type}/chat-user`
return `/application/${item.id}/${item.type}/chat-log` } else if (hasPermission([new ComplexPermission([RoleConst.USER], [PermissionConst.APPLICATION.getApplicationWorkspaceResourcePermission(item.id)], [], 'AND'),
} else return `/application/` 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 CreateApplicationDialogRef.value.open(folder.currentFolder?.id || 'default', type)
.asyncGetValid(ValidType.Application, ValidCount.Application, loading)
.then(async (res: any) => {
if (res?.data) {
CreateApplicationDialogRef.value.open(folder.currentFolder?.id || 'default', type)
} else if (res?.code === 400) {
MsgConfirm(t('common.tip'), t('views.application.tip.professionalMessage'), {
cancelButtonText: t('common.confirm'),
confirmButtonText: t('common.professional'),
}).then(() => {
window.open('https://maxkb.cn/pricing.html', '_blank')
})
}
})
} }
const search_type_change = () => { const search_type_change = () => {
search_form.value = { name: '', create_user: '' } search_form.value = {name: '', create_user: ''}
} }
function getAccessToken(id: string) { function getAccessToken(id: string) {
@ -416,20 +414,20 @@ function getAccessToken(id: string) {
.map((v: any) => { .map((v: any) => {
apiInputParams.value = v.properties.api_input_field_list apiInputParams.value = v.properties.api_input_field_list
? v.properties.api_input_field_list.map((v: any) => { ? v.properties.api_input_field_list.map((v: any) => {
return { return {
name: v.variable, name: v.variable,
value: v.default_value, value: v.default_value,
} }
}) })
: v.properties.input_field_list : v.properties.input_field_list
? v.properties.input_field_list ? v.properties.input_field_list
.filter((v: any) => v.assignment_method === 'api_input') .filter((v: any) => v.assignment_method === 'api_input')
.map((v: any) => { .map((v: any) => {
return { return {
name: v.variable, name: v.variable,
value: v.default_value, value: v.default_value,
} }
}) })
: [] : []
}) })
const apiParams = mapToUrlParams(apiInputParams.value) const apiParams = mapToUrlParams(apiInputParams.value)
@ -446,7 +444,7 @@ function copyApplication(row: any) {
application.asyncGetApplicationDetail(row.id, loading).then((res: any) => { application.asyncGetApplicationDetail(row.id, loading).then((res: any) => {
if (res?.data) { if (res?.data) {
CopyApplicationDialogRef.value.open( CopyApplicationDialogRef.value.open(
{ ...res.data, model_id: res.data.model }, {...res.data, model_id: res.data.model},
folder.currentFolder?.id || 'default', folder.currentFolder?.id || 'default',
) )
} }
@ -455,9 +453,9 @@ function copyApplication(row: any) {
function settingApplication(row: any) { function settingApplication(row: any) {
if (isWorkFlow(row.type)) { if (isWorkFlow(row.type)) {
router.push({ path: `/application/${row.id}/workflow` }) router.push({path: `/application/${row.id}/workflow`})
} else { } else {
router.push({ path: `/application/${row.id}/${row.type}/setting` }) router.push({path: `/application/${row.id}/${row.type}/setting`})
} }
} }
@ -489,7 +487,8 @@ function deleteApplication(row: any) {
MsgSuccess(t('common.deleteSuccess')) MsgSuccess(t('common.deleteSuccess'))
}) })
}) })
.catch(() => {}) .catch(() => {
})
} }
const exportApplication = (application: any) => { const exportApplication = (application: any) => {
@ -528,6 +527,7 @@ const importApplication = (file: any) => {
// //
const CreateFolderDialogRef = ref() const CreateFolderDialogRef = ref()
function openCreateFolder() { function openCreateFolder() {
CreateFolderDialogRef.value.open(SourceTypeEnum.APPLICATION, folder.currentFolder.id) CreateFolderDialogRef.value.open(SourceTypeEnum.APPLICATION, folder.currentFolder.id)
} }
@ -549,6 +549,7 @@ function clickFolder(item: any) {
applicationList.value = [] applicationList.value = []
getList() getList()
} }
function folderClickHandle(row: any) { function folderClickHandle(row: any) {
if (row.id === folder.currentFolder?.id) { if (row.id === folder.currentFolder?.id) {
return return
@ -557,6 +558,7 @@ function folderClickHandle(row: any) {
applicationList.value = [] applicationList.value = []
getList() getList()
} }
function refreshFolder() { function refreshFolder() {
applicationList.value = [] applicationList.value = []
getFolder() getFolder()