mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
refactor: clean up whitespace and formatting in index.vue
This commit is contained in:
parent
caa03dc489
commit
723aaf30c3
|
|
@ -13,7 +13,7 @@
|
|||
</template>
|
||||
<ContentContainer>
|
||||
<template #header>
|
||||
<FolderBreadcrumb :folderList="folderList" @click="folderClickHandle" />
|
||||
<FolderBreadcrumb :folderList="folderList" @click="folderClickHandle"/>
|
||||
</template>
|
||||
<template #search>
|
||||
<div class="flex">
|
||||
|
|
@ -24,9 +24,9 @@
|
|||
style="width: 120px"
|
||||
@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-input
|
||||
v-if="search_type === 'name'"
|
||||
|
|
@ -44,14 +44,14 @@
|
|||
clearable
|
||||
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>
|
||||
</div>
|
||||
<el-dropdown trigger="click" v-if="permissionPrecise.create()">
|
||||
<el-button type="primary" class="ml-8">
|
||||
{{ $t('common.create') }}
|
||||
<el-icon class="el-icon--right">
|
||||
<arrow-down />
|
||||
<arrow-down/>
|
||||
</el-icon>
|
||||
</el-button>
|
||||
<template #dropdown>
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
<div class="pre-wrap ml-8">
|
||||
<div class="lighter">{{ $t('views.application.simple') }}</div>
|
||||
<el-text type="info" size="small"
|
||||
>{{ $t('views.application.simplePlaceholder') }}
|
||||
>{{ $t('views.application.simplePlaceholder') }}
|
||||
</el-text>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
<div class="pre-wrap ml-8">
|
||||
<div class="lighter">{{ $t('views.application.workflow') }}</div>
|
||||
<el-text type="info" size="small"
|
||||
>{{ $t('views.application.workflowPlaceholder') }}
|
||||
>{{ $t('views.application.workflowPlaceholder') }}
|
||||
</el-text>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
<el-dropdown-item>
|
||||
<div class="flex align-center w-full">
|
||||
<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>
|
||||
<div class="pre-wrap ml-8">
|
||||
<div class="lighter">{{ $t('common.importCreate') }}</div>
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
@click="goApp(item)"
|
||||
>
|
||||
<template #icon>
|
||||
<LogoIcon height="32px" />
|
||||
<LogoIcon height="32px"/>
|
||||
</template>
|
||||
<template #subTitle>
|
||||
<el-text class="color-secondary" size="small">
|
||||
|
|
@ -197,13 +197,15 @@
|
|||
<template #footer>
|
||||
<div v-if="item.is_publish" class="flex align-center">
|
||||
<el-icon class="color-success mr-8" style="font-size: 16px">
|
||||
<SuccessFilled />
|
||||
<SuccessFilled/>
|
||||
</el-icon>
|
||||
<span class="color-secondary">
|
||||
{{ $t('views.application.status.published') }}
|
||||
</span>
|
||||
<el-divider direction="vertical" />
|
||||
<el-icon class="mr-8"><Clock /></el-icon>
|
||||
<el-divider direction="vertical"/>
|
||||
<el-icon class="mr-8">
|
||||
<Clock/>
|
||||
</el-icon>
|
||||
<span class="color-secondary">{{ dateFormat(item.update_time) }}</span>
|
||||
</div>
|
||||
<div v-else class="flex align-center">
|
||||
|
|
@ -218,7 +220,7 @@
|
|||
<el-dropdown trigger="click">
|
||||
<el-button text @click.stop>
|
||||
<el-icon>
|
||||
<MoreFilled />
|
||||
<MoreFilled/>
|
||||
</el-icon>
|
||||
</el-button>
|
||||
<template #dropdown>
|
||||
|
|
@ -233,7 +235,9 @@
|
|||
@click.stop="settingApplication(item)"
|
||||
v-if="permissionPrecise.edit(item.id)"
|
||||
>
|
||||
<el-icon><Setting /></el-icon>
|
||||
<el-icon>
|
||||
<Setting/>
|
||||
</el-icon>
|
||||
{{ $t('common.setting') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
|
|
@ -263,7 +267,8 @@
|
|||
icon="Delete"
|
||||
@click.stop="deleteApplication(item)"
|
||||
v-if="permissionPrecise.delete(item.id)"
|
||||
>{{ $t('common.delete') }}</el-dropdown-item
|
||||
>{{ $t('common.delete') }}
|
||||
</el-dropdown-item
|
||||
>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
|
|
@ -274,13 +279,13 @@
|
|||
</el-col>
|
||||
</template>
|
||||
</el-row>
|
||||
<el-empty :description="$t('common.noData')" v-else />
|
||||
<el-empty :description="$t('common.noData')" v-else/>
|
||||
</InfiniteScroll>
|
||||
</div>
|
||||
</ContentContainer>
|
||||
<CreateApplicationDialog ref="CreateApplicationDialogRef" />
|
||||
<CopyApplicationDialog ref="CopyApplicationDialogRef" />
|
||||
<CreateFolderDialog ref="CreateFolderDialogRef" @refresh="refreshFolder" />
|
||||
<CreateApplicationDialog ref="CreateApplicationDialogRef"/>
|
||||
<CopyApplicationDialog ref="CopyApplicationDialogRef"/>
|
||||
<CreateFolderDialog ref="CreateFolderDialogRef" @refresh="refreshFolder"/>
|
||||
<MoveToDialog
|
||||
ref="MoveToDialogRef"
|
||||
:source="SourceTypeEnum.APPLICATION"
|
||||
|
|
@ -291,24 +296,24 @@
|
|||
</template>
|
||||
|
||||
<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 CreateFolderDialog from '@/components/folder-tree/CreateFolderDialog.vue'
|
||||
import CopyApplicationDialog from '@/views/application/component/CopyApplicationDialog.vue'
|
||||
import MoveToDialog from '@/components/folder-tree/MoveToDialog.vue'
|
||||
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 { t } from '@/locales'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
import { isWorkFlow } from '@/utils/application'
|
||||
import { dateFormat } from '@/utils/time'
|
||||
import { SourceTypeEnum, ValidType, ValidCount } from '@/enums/common'
|
||||
import {t} from '@/locales'
|
||||
import {useRouter, useRoute} from 'vue-router'
|
||||
import {isWorkFlow} from '@/utils/application'
|
||||
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'
|
||||
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()
|
||||
|
|
@ -320,7 +325,7 @@ const permissionPrecise = computed(() => {
|
|||
return permissionMap['application'][apiType.value]
|
||||
})
|
||||
|
||||
const { folder, application, user, common } = useStore()
|
||||
const {folder, application, user, common} = useStore()
|
||||
|
||||
const loading = ref(false)
|
||||
|
||||
|
|
@ -343,6 +348,7 @@ const applicationList = ref<any[]>([])
|
|||
const CopyApplicationDialogRef = ref()
|
||||
|
||||
const MoveToDialogRef = ref()
|
||||
|
||||
function openMoveToDialog(data: any) {
|
||||
const obj = {
|
||||
id: data.id,
|
||||
|
|
@ -350,63 +356,55 @@ function openMoveToDialog(data: any) {
|
|||
}
|
||||
MoveToDialogRef.value?.open(obj)
|
||||
}
|
||||
|
||||
function refreshApplicationList(row: any) {
|
||||
const index = applicationList.value.findIndex((v) => v.id === row.id)
|
||||
applicationList.value.splice(index, 1)
|
||||
}
|
||||
|
||||
const goApp=(item : any) => {
|
||||
router.push({ path: get_route(item) })
|
||||
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 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
|
||||
.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')
|
||||
})
|
||||
}
|
||||
})
|
||||
CreateApplicationDialogRef.value.open(folder.currentFolder?.id || 'default', type)
|
||||
}
|
||||
|
||||
const search_type_change = () => {
|
||||
search_form.value = { name: '', create_user: '' }
|
||||
search_form.value = {name: '', create_user: ''}
|
||||
}
|
||||
|
||||
function getAccessToken(id: string) {
|
||||
|
|
@ -416,20 +414,20 @@ function getAccessToken(id: string) {
|
|||
.map((v: any) => {
|
||||
apiInputParams.value = v.properties.api_input_field_list
|
||||
? v.properties.api_input_field_list.map((v: any) => {
|
||||
return {
|
||||
name: v.variable,
|
||||
value: v.default_value,
|
||||
}
|
||||
})
|
||||
return {
|
||||
name: v.variable,
|
||||
value: v.default_value,
|
||||
}
|
||||
})
|
||||
: v.properties.input_field_list
|
||||
? v.properties.input_field_list
|
||||
.filter((v: any) => v.assignment_method === 'api_input')
|
||||
.map((v: any) => {
|
||||
return {
|
||||
name: v.variable,
|
||||
value: v.default_value,
|
||||
}
|
||||
})
|
||||
.filter((v: any) => v.assignment_method === 'api_input')
|
||||
.map((v: any) => {
|
||||
return {
|
||||
name: v.variable,
|
||||
value: v.default_value,
|
||||
}
|
||||
})
|
||||
: []
|
||||
})
|
||||
const apiParams = mapToUrlParams(apiInputParams.value)
|
||||
|
|
@ -446,7 +444,7 @@ function copyApplication(row: any) {
|
|||
application.asyncGetApplicationDetail(row.id, loading).then((res: any) => {
|
||||
if (res?.data) {
|
||||
CopyApplicationDialogRef.value.open(
|
||||
{ ...res.data, model_id: res.data.model },
|
||||
{...res.data, model_id: res.data.model},
|
||||
folder.currentFolder?.id || 'default',
|
||||
)
|
||||
}
|
||||
|
|
@ -455,9 +453,9 @@ function copyApplication(row: any) {
|
|||
|
||||
function settingApplication(row: any) {
|
||||
if (isWorkFlow(row.type)) {
|
||||
router.push({ path: `/application/${row.id}/workflow` })
|
||||
router.push({path: `/application/${row.id}/workflow`})
|
||||
} 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'))
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
.catch(() => {
|
||||
})
|
||||
}
|
||||
|
||||
const exportApplication = (application: any) => {
|
||||
|
|
@ -528,6 +527,7 @@ const importApplication = (file: any) => {
|
|||
|
||||
// 文件夹相关
|
||||
const CreateFolderDialogRef = ref()
|
||||
|
||||
function openCreateFolder() {
|
||||
CreateFolderDialogRef.value.open(SourceTypeEnum.APPLICATION, folder.currentFolder.id)
|
||||
}
|
||||
|
|
@ -549,6 +549,7 @@ function clickFolder(item: any) {
|
|||
applicationList.value = []
|
||||
getList()
|
||||
}
|
||||
|
||||
function folderClickHandle(row: any) {
|
||||
if (row.id === folder.currentFolder?.id) {
|
||||
return
|
||||
|
|
@ -557,6 +558,7 @@ function folderClickHandle(row: any) {
|
|||
applicationList.value = []
|
||||
getList()
|
||||
}
|
||||
|
||||
function refreshFolder() {
|
||||
applicationList.value = []
|
||||
getFolder()
|
||||
|
|
|
|||
Loading…
Reference in New Issue