diff --git a/cmdb-ui/src/modules/cmdb/lang/en.js b/cmdb-ui/src/modules/cmdb/lang/en.js index de2586a..3d89570 100644 --- a/cmdb-ui/src/modules/cmdb/lang/en.js +++ b/cmdb-ui/src/modules/cmdb/lang/en.js @@ -38,6 +38,7 @@ const cmdb_en = { attributeAD: 'Attributes AutoDiscovery', relationAD: 'Relation AutoDiscovery', grant: 'Grant', + resourceViewTip: 'Not subscribed yet. Please go to the Preference page to complete your subscription.', addGroup: 'New Group', editGroup: 'Edit Group', group: 'Group', diff --git a/cmdb-ui/src/modules/cmdb/lang/zh.js b/cmdb-ui/src/modules/cmdb/lang/zh.js index 125c9e5..2129c82 100644 --- a/cmdb-ui/src/modules/cmdb/lang/zh.js +++ b/cmdb-ui/src/modules/cmdb/lang/zh.js @@ -38,6 +38,7 @@ const cmdb_zh = { attributeAD: '属性自动发现', relationAD: '关系自动发现', grant: '权限配置', + resourceViewTip: '暂未订阅, 请先到我的订阅页面完成订阅', addGroup: '新增分组', editGroup: '修改分组', group: '分组', diff --git a/cmdb-ui/src/modules/cmdb/views/ci/instanceList.vue b/cmdb-ui/src/modules/cmdb/views/ci/instanceList.vue index a5dcf0a..54d3baa 100644 --- a/cmdb-ui/src/modules/cmdb/views/ci/instanceList.vue +++ b/cmdb-ui/src/modules/cmdb/views/ci/instanceList.vue @@ -47,6 +47,13 @@ {{ $t('cmdb.preference.cancelSub') }} + + + {{ $t('cmdb.menu.citypeManage') }} + @@ -782,6 +789,28 @@ export default { }, }) }, + + handleCITypeConfig() { + const { id, name } = this.CIType || {} + if (id && name) { + roleHasPermissionToGrant({ + app_id: 'cmdb', + resource_type_name: 'CIType', + perm: 'config', + resource_name: name, + }).then((res) => { + if (res?.result) { + const storageId = `null%${id}%${name}` + localStorage.setItem('ops_cityps_currentId', storageId) + localStorage.setItem('ops_model_config_tab_key', '1') + window.open('/cmdb/ci_types', '_blank') + } else { + this.$message.error(this.$t('noPermission')) + } + }) + } + }, + handlePerm() { roleHasPermissionToGrant({ app_id: 'cmdb', diff --git a/cmdb-ui/src/modules/cmdb/views/ci_types/ciTypedetail.vue b/cmdb-ui/src/modules/cmdb/views/ci_types/ciTypedetail.vue index 7746a00..17403d9 100644 --- a/cmdb-ui/src/modules/cmdb/views/ci_types/ciTypedetail.vue +++ b/cmdb-ui/src/modules/cmdb/views/ci_types/ciTypedetail.vue @@ -20,6 +20,18 @@ + + + + {{ $t('cmdb.menu.ciTable') }} + @@ -52,6 +64,10 @@ export default { type: String, default: '', }, + preferenceData: { + type: Object, + default: () => {} + } }, data() { return { @@ -91,6 +107,16 @@ export default { break } }) + }, + jumpResourceView() { + const isSub = this?.preferenceData?.type_ids?.includes(this.CITypeId) + + if (!isSub) { + this.$message.error(this.$t('cmdb.ciType.resourceViewTip')) + return + } + localStorage.setItem('ops_ci_typeid', this.CITypeId) + window.open('/cmdb/instances/types', '_blank') } }, } diff --git a/cmdb-ui/src/modules/cmdb/views/ci_types/index.vue b/cmdb-ui/src/modules/cmdb/views/ci_types/index.vue index e6713c0..0d04b98 100644 --- a/cmdb-ui/src/modules/cmdb/views/ci_types/index.vue +++ b/cmdb-ui/src/modules/cmdb/views/ci_types/index.vue @@ -182,7 +182,12 @@