perf: 修改 资产详情的 card 和 账号模版密文类型

This commit is contained in:
ibuler 2023-07-18 10:24:03 +08:00
parent abd8919225
commit e4d4bc84b6
6 changed files with 40 additions and 26 deletions

View File

@ -1,5 +1,5 @@
<template>
<DetailCard v-if="!loading && hasObject" :items="items" v-bind="$attrs" />
<DetailCard v-if="!loading && hasObject && items.length > 0" :items="items" v-bind="$attrs" />
</template>
<script>

View File

@ -0,0 +1,5 @@
<template>
<div>
Todo: 抽象 Secret
</div>
</template>

View File

@ -267,20 +267,7 @@
"UpdateAccount": "更新账号",
"Account": "账号",
"Defaults": "默认值",
"GPTCreate": "创建资产-GPT",
"GPTUpdate": "更新资产-GPT",
"DatabaseCreate": "创建资产-数据库",
"DatabaseUpdate": "更新资产-数据库",
"HostCreate": "创建资产-主机",
"HostUpdate": "更新资产-主机",
"DeviceCreate": "创建资产-网络设备",
"DeviceUpdate": "更新资产-网络设备",
"CloudCreate": "创建资产-云平台",
"CloudUpdate": "更新资产-云平台",
"WebCreate": "创建资产-Web",
"WebUpdate": "更新资产-Web",
"CustomCreate": "创建资产-自定义",
"CustomUpdate": "更新资产-自定义",
"Privileged": "特权账号",
"SelectPlatforms": "选择平台",
"AppList": "应用列表",
@ -1173,6 +1160,20 @@
"route": {
"": "",
"Acls": "访问控制",
"GPTCreate": "创建资产-GPT",
"GPTUpdate": "更新资产-GPT",
"DatabaseCreate": "创建资产-数据库",
"DatabaseUpdate": "更新资产-数据库",
"HostCreate": "创建资产-主机",
"HostUpdate": "更新资产-主机",
"DeviceCreate": "创建资产-网络设备",
"DeviceUpdate": "更新资产-网络设备",
"CloudCreate": "创建资产-云平台",
"CloudUpdate": "更新资产-云平台",
"WebCreate": "创建资产-Web",
"WebUpdate": "更新资产-Web",
"CustomCreate": "创建资产-自定义",
"CustomUpdate": "更新资产-自定义",
"UserLoginAclCreate": "创建用户登录控制",
"UserLoginAclList": "用户登录",
"UserLoginAclDetail": "用户登录控制详情",

View File

@ -51,7 +51,7 @@ export default [
name: 'HostCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/HostCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.HostCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.HostCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
@ -78,7 +78,7 @@ export default [
name: 'DatabaseCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/DatabaseCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.DatabaseCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.DatabaseCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
@ -105,7 +105,7 @@ export default [
name: 'DeviceCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/DeviceCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.DeviceCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.DeviceCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
@ -132,14 +132,14 @@ export default [
name: 'CloudCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.CloudCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.CloudCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
name: 'CloudUpdate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/CloudsPlatformCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.CloudUpdate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.CloudUpdate'), activeMenu: '/console/assets/assets' }
}
]
},
@ -159,7 +159,7 @@ export default [
name: 'WebCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/WebCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.WebCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.WebCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
@ -185,13 +185,13 @@ export default [
path: 'create',
name: 'GptCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue'),
meta: { title: i18n.t('assets.GPTCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.GPTCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',
name: 'GptUpdate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/GPTCreateUpdate.vue'),
meta: { title: i18n.t('assets.GPTUpdate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.GPTUpdate'), activeMenu: '/console/assets/assets' }
}
]
},
@ -211,7 +211,7 @@ export default [
name: 'CustomCreate',
component: () => import('@/views/assets/Asset/AssetCreateUpdate/CustomCreateUpdate.vue'),
hidden: true,
meta: { title: i18n.t('assets.CustomCreate'), activeMenu: '/console/assets/assets' }
meta: { title: i18n.t('route.CustomCreate'), activeMenu: '/console/assets/assets' }
},
{
path: ':id/update',

View File

@ -62,6 +62,14 @@ export const templateFieldsMeta = (vm) => {
rows: 4
},
hidden: (formValue) => formValue.secret_type !== 'access_key'
},
api_key: {
label: vm.$t('assets.ApiKey'),
el: {
type: 'textarea',
rows: 4
},
hidden: (formValue) => formValue.secret_type !== 'api_key'
}
}
}

View File

@ -224,7 +224,7 @@ export default {
url: `/api/v1/assets/assets/${this.object.id}/`,
object: this.object,
nested: 'spec_info',
showUndefine: false,
showUndefine: true,
excludes: ['script']
},
customInfoConfig: {
@ -248,7 +248,7 @@ export default {
const object = this.object
const type = object.type.value
const autofill = object.spec_info?.autofill
return !(type === 'website' && autofill === 'script')
return !(type === 'website' && autofill === 'script') && Object.keys(object.spec_info || {}).length > 0
}
},
mounted() {