From 3cb31d03a35de130fb8b03c658853e692f9b451c Mon Sep 17 00:00:00 2001 From: 3octaves <873551943@qq.com> Date: Tue, 11 Jun 2024 09:53:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(frontend):=20=E6=96=B0=E5=A2=9Edoris?= =?UTF-8?q?=E9=9B=86=E7=BE=A4=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=20#3391?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbm-ui/frontend/src/common/const.ts | 19 + .../bigdata-instance-detail/Index.vue | 435 +++++++ .../cluster-common/RenderOperationTagNew.vue | 17 + .../doris-observer-host-expansion/Index.vue | 111 ++ .../components/HostSelector.vue | 187 +++ .../components/ResourcePoolSelector.vue | 204 ++++ .../doris-observer-host-shrink/Index.vue | 336 ++++++ .../es-host-expansion/Index.vue | 22 +- .../cluster-common/host-expansion/Index.vue | 22 +- .../host-expansion/NodeStatusList.vue | 29 +- .../cluster-common/host-replace/Index.vue | 5 +- .../host-replace/components/HostSelector.vue | 5 +- .../components/ResourcePoolSelector.vue | 5 +- .../cluster-common/host-shrink/Index.vue | 50 +- .../host-shrink/NodeStatusList.vue | 22 +- .../components/SelectOriginalHost.vue | 12 +- .../cluster-details/ClusterTopo.vue | 2 + .../cluster-details/common/useRenderGraph.tsx | 3 + .../components/mongo/Index.vue | 10 +- .../components/sqlserver/Index.vue | 12 +- .../components/redis/Index.vue | 10 +- .../components/tendb-cluster/Index.vue | 10 +- .../components/tendb-single/Index.vue | 10 +- .../components/tendbha/Index.vue | 10 +- .../src/components/cluster-tab/Index.vue | 5 + .../frontend/src/components/db-tab/Index.vue | 5 + .../dropdown-export-excel/index.vue | 10 +- .../ip-selector-submit-tips/Index.vue | 31 + .../system-search/hooks/useRedirect.ts | 1 + dbm-ui/frontend/src/layout/Index.vue | 1 + .../components/ModuleConfig.vue | 5 + .../components/module-group/Doris.vue | 24 + .../components/module-group/Index.vue | 2 + dbm-ui/frontend/src/locales/zh-cn.json | 46 +- dbm-ui/frontend/src/router/index.ts | 2 + .../services/model/doris/doris-instance.ts | 120 ++ .../src/services/model/doris/doris-node.ts | 108 ++ .../services/model/doris/doris-password.ts | 26 + .../src/services/model/doris/doris.ts | 263 ++++ .../src/services/model/es/es-instance.ts | 2 +- dbm-ui/frontend/src/services/model/es/es.ts | 14 +- .../function-controller/functionController.ts | 2 +- .../src/services/model/hdfs/hdfs-instance.ts | 2 +- .../frontend/src/services/model/hdfs/hdfs.ts | 14 +- .../model/influxdb/influxdbInstance.ts | 6 +- .../services/model/kafka/kafka-instance.ts | 2 +- .../src/services/model/kafka/kafka.ts | 14 +- .../services/model/mongodb/mongodb-detail.ts | 157 ++- .../model/mongodb/mongodb-instance.ts | 16 +- .../src/services/model/mongodb/mongodb.ts | 6 +- .../src/services/model/mysql/tendbha.ts | 12 +- .../src/services/model/mysql/tendbsingle.ts | 12 +- .../services/model/pulsar/pulsar-instance.ts | 2 +- .../src/services/model/pulsar/pulsar.ts | 14 +- .../src/services/model/redis/redis.ts | 12 +- .../src/services/model/riak/riak-node.ts | 4 +- .../frontend/src/services/model/riak/riak.ts | 12 +- .../src/services/model/spider/tendbCluster.ts | 10 +- .../model/sqlserver/sqlserver-ha-cluster.ts | 10 +- .../model/sqlserver/sqlserver-ha-instance.ts | 22 + .../sqlserver/sqlserver-single-cluster.ts | 8 +- dbm-ui/frontend/src/services/source/doris.ts | 143 +++ .../list/components/hooks/useTreeData.ts | 1 + .../src/views/db-configure/common/const.ts | 9 +- .../frontend/src/views/doris-manage/Index.vue | 16 + .../src/views/doris-manage/apply/Index.vue | 862 ++++++++++++++ .../doris-manage/common/expansion/Index.vue | 473 ++++++++ .../doris-manage/common/replace/Index.vue | 444 +++++++ .../doris-manage/common/shrink/Index.vue | 433 +++++++ .../src/views/doris-manage/list/Index.vue | 38 + .../list/components/detail/Index.vue | 162 +++ .../components/detail/components/BaseInfo.vue | 35 + .../detail/components/node-list/Index.vue | 725 ++++++++++++ .../list/components/list/Index.vue | 1054 +++++++++++++++++ .../frontend/src/views/doris-manage/routes.ts | 47 + .../es-manage/common/expansion/Index.vue | 3 + .../views/es-manage/common/shrink/Index.vue | 3 + .../detail/components/node-list/Index.vue | 6 +- .../node-list/components/InstanceDetail.vue | 2 +- .../es-manage/list/components/list/Index.vue | 16 +- .../hdfs-manage/common/expansion/Index.vue | 1 + .../views/hdfs-manage/common/shrink/Index.vue | 1 + .../detail/components/node-list/Index.vue | 7 +- .../node-list/components/InstanceDetail.vue | 2 +- .../list/components/list/Index.vue | 16 +- .../components/render-list/Index.vue | 17 +- .../kafka-manage/common/expansion/Index.vue | 1 + .../kafka-manage/common/shrink/Index.vue | 1 + .../detail/components/node-list/Index.vue | 8 +- .../node-list/components/InstanceDetail.vue | 2 +- .../list/components/list/Index.vue | 55 +- .../mongodb-instance/list/index.vue | 13 +- .../components/list/Index.vue | 13 +- .../components/list/Index.vue | 13 +- .../mysql/ha-cluster-list/components/List.vue | 12 +- .../views/mysql/partition-manage/Index.vue | 10 +- .../single-cluster-list/components/List.vue | 12 +- .../pulsar-manage/common/expansion/Index.vue | 2 + .../pulsar-manage/common/shrink/Index.vue | 2 + .../detail/components/node-list/Index.vue | 13 +- .../node-list/components/InstanceDetail.vue | 2 +- .../list/components/list/Index.vue | 16 +- .../redis/list-ha/components/list/Index.vue | 6 +- .../redis/list/components/list/Index.vue | 8 +- .../src/views/resource-manage/spec/Index.vue | 19 + .../spec/components/SpecList.vue | 4 +- .../list/components/list/Index.vue | 11 +- .../src/views/service-apply/index/Index.vue | 7 + .../src/views/service-apply/routes.ts | 8 + .../list/components/list/Index.vue | 14 +- .../spider-manage/partition-manage/Index.vue | 10 +- .../ha-cluster-list/components/List.vue | 2 +- .../single-cluster/components/List.vue | 6 +- .../components/demand-factory/Index.vue | 9 + .../demand-factory/bigdata/DetailsDoris.vue | 301 +++++ .../bigdata/expansion-capacity/Index.vue | 2 + .../components/demand-factory/common/types.ts | 30 +- .../src/views/version-files/list/Index.vue | 21 +- .../list/components/FileContent.vue | 2 +- 119 files changed, 7336 insertions(+), 365 deletions(-) create mode 100644 dbm-ui/frontend/src/components/bigdata-instance-detail/Index.vue create mode 100644 dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/Index.vue create mode 100644 dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/HostSelector.vue create mode 100644 dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/ResourcePoolSelector.vue create mode 100644 dbm-ui/frontend/src/components/cluster-common/doris-observer-host-shrink/Index.vue create mode 100644 dbm-ui/frontend/src/components/ip-selector-submit-tips/Index.vue create mode 100644 dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Doris.vue create mode 100644 dbm-ui/frontend/src/services/model/doris/doris-instance.ts create mode 100644 dbm-ui/frontend/src/services/model/doris/doris-node.ts create mode 100644 dbm-ui/frontend/src/services/model/doris/doris-password.ts create mode 100644 dbm-ui/frontend/src/services/model/doris/doris.ts create mode 100644 dbm-ui/frontend/src/services/source/doris.ts create mode 100644 dbm-ui/frontend/src/views/doris-manage/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/apply/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/common/expansion/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/common/replace/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/common/shrink/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/list/components/detail/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/BaseInfo.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/node-list/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/list/components/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/doris-manage/routes.ts create mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/bigdata/DetailsDoris.vue diff --git a/dbm-ui/frontend/src/common/const.ts b/dbm-ui/frontend/src/common/const.ts index 2782e3474..5d5a07b86 100644 --- a/dbm-ui/frontend/src/common/const.ts +++ b/dbm-ui/frontend/src/common/const.ts @@ -28,6 +28,7 @@ export enum DBTypes { INFLUXDB = 'influxdb', SPIDER = 'spider', RIAK = 'riak', + DORIS = 'doris', } export type DBTypesValues = `${DBTypes}`; @@ -61,6 +62,7 @@ export enum ClusterTypes { PULSAE = 'pulsar', INFLUXDB = 'influxdb', RIAK = 'riak', + DORIS = 'doris', } // 机器类型 @@ -149,6 +151,9 @@ export const clusterTypeInfos = { [ClusterTypes.SQLSERVER_SINGLE]: { dbType: DBTypes.SQLSERVER, }, + [ClusterTypes.DORIS]: { + dbType: DBTypes.DORIS, + }, }; export type ClusterTypeInfos = keyof typeof clusterTypeInfos; @@ -336,6 +341,14 @@ export enum TicketTypes { REDIS_INSTANCE_PROXY_OPEN = 'REDIS_INSTANCE_PROXY_OPEN', // redis 主从集群启用 REDIS_INSTANCE_PROXY_CLOSE = 'REDIS_INSTANCE_PROXY_CLOSE', // redis 主从集群禁用 REDIS_INSTANCE_DESTROY = 'REDIS_INSTANCE_DESTROY', // redis 主从集群删除 + DORIS_APPLY = 'DORIS_APPLY', // doris 部署 + DORIS_ENABLE = 'DORIS_ENABLE', // doris 启用 + DORIS_DISABLE = 'DORIS_DISABLE', // doris 禁用 + DORIS_DESTROY = 'DORIS_DESTROY', // doris 删除 + DORIS_REBOOT = 'DORIS_REBOOT', // doris 重启 + DORIS_REPLACE = 'DORIS_REPLACE', // doris 替换 + DORIS_SCALE_UP = 'DORIS_SCALE_UP', // doris 扩容 + DORIS_SHRINK = 'DORIS_SHRINK', // doris 缩容 MYSQL_DUMP_DATA = 'MYSQL_DUMP_DATA', // 数据导出 } export type TicketTypesStrings = keyof typeof TicketTypes; @@ -434,6 +447,11 @@ export const bigDataType = { name: t('Riak集群部署'), type: ClusterTypes.RIAK, }, + [TicketTypes.DORIS_APPLY]: { + id: TicketTypes.DORIS_APPLY, + name: t('Doris集群部署'), + type: ClusterTypes.DORIS, + }, }; export const mongoType = { @@ -534,6 +552,7 @@ export enum UserPersonalSettings { REDIS_HA_INSTANCE_SETTINGS = 'REDIS_HA_INSTANCE_SETTINGS', SQLSERVER_TOOLBOX_MENUS = 'SQLSERVER_TOOLBOX_MENUS', SQLSERVER_TOOLBOX_FAVOR = 'SQLSERVER_TOOLBOX_FAVOR', + DORIS_TABLE_SETTINGS = 'DORIS_TABLE_SETTINGS', } /** diff --git a/dbm-ui/frontend/src/components/bigdata-instance-detail/Index.vue b/dbm-ui/frontend/src/components/bigdata-instance-detail/Index.vue new file mode 100644 index 000000000..6d2038c4d --- /dev/null +++ b/dbm-ui/frontend/src/components/bigdata-instance-detail/Index.vue @@ -0,0 +1,435 @@ + + + + + + + {{ t('基本信息') }} + + + + + + {{ t('实例列表') }} + + + + {{ t('批量重启') }} + + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/components/cluster-common/RenderOperationTagNew.vue b/dbm-ui/frontend/src/components/cluster-common/RenderOperationTagNew.vue index 3561c7c08..7c8a144b9 100644 --- a/dbm-ui/frontend/src/components/cluster-common/RenderOperationTagNew.vue +++ b/dbm-ui/frontend/src/components/cluster-common/RenderOperationTagNew.vue @@ -81,6 +81,22 @@ color: '#FE9C00', background: '#FFF1DB', }, + [t('替换中')]: { + color: '#29AAE8', + background: '#EDFBFF', + }, + [t('扩容中')]: { + color: '#14A568', + background: '#E4FAF0', + }, + [t('重启中')]: { + color: '#3A84FF', + background: '#EDF4FF', + }, + [t('缩容中')]: { + color: '#8E3AFF', + background: '#F2EDFF', + }, }; const rootRef = ref(); @@ -146,6 +162,7 @@ padding: 0 4px; line-height: 16px; cursor: pointer; + border-radius: 2px; .icon-text { display: inline-block; diff --git a/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/Index.vue b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/Index.vue new file mode 100644 index 000000000..9c0d38849 --- /dev/null +++ b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/Index.vue @@ -0,0 +1,111 @@ + + + + + + {{ data.label }} + + {{ data.tagText }} + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/HostSelector.vue b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/HostSelector.vue new file mode 100644 index 000000000..7631d6afe --- /dev/null +++ b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/HostSelector.vue @@ -0,0 +1,187 @@ + + + + + + + + + {{ hostList.length }} + + + {{ calcSelectHostDisk(hostList) }} + + + {{ data.targetDisk - data.totalDisk }} + + + + + + + + + {{ hostTableData.length }} + + + {{ calcSelectHostDisk(hostTableData) }} + + + + + {{ targetMatchReal }} + + + + + {{ Math.abs(targetMatchReal) }} + + + + + + + + diff --git a/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/ResourcePoolSelector.vue b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/ResourcePoolSelector.vue new file mode 100644 index 000000000..41da7cf42 --- /dev/null +++ b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-expansion/components/ResourcePoolSelector.vue @@ -0,0 +1,204 @@ + + + + + + + + + {{ t('xx节点规格', { name: data.label.toLocaleLowerCase() }) }} + * + + + + + + {{ item.spec_name }} + {{ specCountMap[item.spec_id] }} + + + + + + + + + + + + {{ originalHostNums }} + + * + + + + + + + {{ t('预估容量(以最小配置计算)') }}: + {{ estimateCapacity + data.totalDisk }} + G + + + + + diff --git a/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-shrink/Index.vue b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-shrink/Index.vue new file mode 100644 index 000000000..d0fca86d9 --- /dev/null +++ b/dbm-ui/frontend/src/components/cluster-common/doris-observer-host-shrink/Index.vue @@ -0,0 +1,336 @@ + + + + + + {{ data.label }} + + {{ data.tagText }} + + + + + + {{ data.originalNodeList.length }} + + + + + + + + {{ t('缩容至') }} + + + + + {{ t('台') }} + + , {{ t('共缩容') }} + + {{ data.originalNodeList.length - localTargetDisk }} + + {{ t('台') }} + + + + + {{ t('当前数量') }}: + {{ data.originalNodeList.length }} + {{ t('台') }} + + ,{{ t('至少保留n台', { n: data.minHost }) }} + + + + + + + {{ t('缩容的节点 IP') }} + + {{ t('(默认从节点列表选取,如不满足,可以手动添加)') }} + + + + + + {{ t('请先设置期望容量') }} + + + + + {{ nodeTableData.length }} + + + {{ data.shrinkDisk }} + + + + + + {{ targetMatchReal }} + + + + + {{ Math.abs(targetMatchReal) }} + + + + + + {{ t('手动添加') }} + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/components/cluster-common/es-host-expansion/Index.vue b/dbm-ui/frontend/src/components/cluster-common/es-host-expansion/Index.vue index 39293a617..4b106898c 100644 --- a/dbm-ui/frontend/src/components/cluster-common/es-host-expansion/Index.vue +++ b/dbm-ui/frontend/src/components/cluster-common/es-host-expansion/Index.vue @@ -13,8 +13,13 @@ - - {{ data.label }} + + {{ data.label }} + + {{ data.tagText }} + @@ -69,7 +74,7 @@ - + { - targetDisk.value = ~~value; + targetDisk.value = Math.floor(value); window.changeConfirm = true; }; @@ -189,11 +196,14 @@ font-weight: bold; } - .header { + .header-box { padding: 10px 0; font-size: 14px; - font-weight: bold; color: #313238; + + .header-box-label { + font-weight: bold; + } } .target-content-box { diff --git a/dbm-ui/frontend/src/components/cluster-common/host-expansion/Index.vue b/dbm-ui/frontend/src/components/cluster-common/host-expansion/Index.vue index 250916789..237416033 100644 --- a/dbm-ui/frontend/src/components/cluster-common/host-expansion/Index.vue +++ b/dbm-ui/frontend/src/components/cluster-common/host-expansion/Index.vue @@ -13,8 +13,13 @@ - - {{ data.label }} + + {{ data.label }} + + {{ data.tagText }} + @@ -69,7 +74,7 @@ - + { - targetDisk.value = ~~value; + targetDisk.value = Math.floor(value); window.changeConfirm = true; }; @@ -188,11 +195,14 @@ font-weight: bold; } - .header { + .header-box { padding: 10px 0; font-size: 14px; - font-weight: bold; color: #313238; + + .header-box-label { + font-weight: bold; + } } .target-content-box { diff --git a/dbm-ui/frontend/src/components/cluster-common/host-expansion/NodeStatusList.vue b/dbm-ui/frontend/src/components/cluster-common/host-expansion/NodeStatusList.vue index dfcce16cc..4618d1bcb 100644 --- a/dbm-ui/frontend/src/components/cluster-common/host-expansion/NodeStatusList.vue +++ b/dbm-ui/frontend/src/components/cluster-common/host-expansion/NodeStatusList.vue @@ -24,11 +24,27 @@ + {{ + nodeInfo[nodeItem.key].resourceSpec.count - nodeInfo[nodeItem.key].originalHostList.length + }} + {{ t('台') }} + + {{ nodeInfo[nodeItem.key].expansionDisk }} G + + {{ t('未完善') }} + @@ -42,6 +58,8 @@ import { reactive } from 'vue'; import { useI18n } from 'vue-i18n'; + import DorisNodeModel from '@services/model/doris/doris-node'; + import type { TExpansionNode } from './Index.vue'; interface Props { @@ -83,7 +101,7 @@ validate() { Object.keys(validateStatusMemo).forEach((key) => (validateStatusMemo[key] = true)); return Object.values(props.nodeInfo).some((nodeData) => { - if (!nodeData.targetDisk) { + if (!nodeData.targetDisk && nodeData.role !== DorisNodeModel.ROLE_OBSERVER) { return false; } if (props.ipSource === 'manual_input') { @@ -141,6 +159,13 @@ flex: 0 0 auto; } + .unfinished-tips { + margin-left: auto; + font-weight: normal; + color: #ea3636; + flex: 0 0 auto; + } + .disk-tips { margin-left: auto; font-weight: normal; diff --git a/dbm-ui/frontend/src/components/cluster-common/host-replace/Index.vue b/dbm-ui/frontend/src/components/cluster-common/host-replace/Index.vue index 50878913e..ed029826b 100644 --- a/dbm-ui/frontend/src/components/cluster-common/host-replace/Index.vue +++ b/dbm-ui/frontend/src/components/cluster-common/host-replace/Index.vue @@ -110,10 +110,13 @@ diff --git a/dbm-ui/frontend/src/components/system-search/hooks/useRedirect.ts b/dbm-ui/frontend/src/components/system-search/hooks/useRedirect.ts index 80bb479c0..a5340297f 100644 --- a/dbm-ui/frontend/src/components/system-search/hooks/useRedirect.ts +++ b/dbm-ui/frontend/src/components/system-search/hooks/useRedirect.ts @@ -36,6 +36,7 @@ export const useRedirect = () => { sqlserver_single: 'SqlServerSingle', MongoShardedCluster: 'MongoDBSharedClusterList', MongoReplicaSet: 'MongoDBReplicaSetList', + doris: 'DorisList', } as Record; return (clusterType: string, queryParams: Record, bizId: number) => { diff --git a/dbm-ui/frontend/src/layout/Index.vue b/dbm-ui/frontend/src/layout/Index.vue index 3ccd9e1c0..ed317a549 100644 --- a/dbm-ui/frontend/src/layout/Index.vue +++ b/dbm-ui/frontend/src/layout/Index.vue @@ -133,6 +133,7 @@ 'RiakManage', 'MongoDBManage', 'SqlServerManage', + 'DorisManage', 'taskHistory', 'DatabaseWhitelist', 'ticketManage', diff --git a/dbm-ui/frontend/src/layout/components/database-manage/components/ModuleConfig.vue b/dbm-ui/frontend/src/layout/components/database-manage/components/ModuleConfig.vue index 974a7b96e..e3c7448fb 100644 --- a/dbm-ui/frontend/src/layout/components/database-manage/components/ModuleConfig.vue +++ b/dbm-ui/frontend/src/layout/components/database-manage/components/ModuleConfig.vue @@ -172,6 +172,11 @@ value: 'hdfs', icon: 'hdfs', }, + { + name: 'Doris', + value: 'doris', + icon: 'doris', + }, ], }; diff --git a/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Doris.vue b/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Doris.vue new file mode 100644 index 000000000..876a67052 --- /dev/null +++ b/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Doris.vue @@ -0,0 +1,24 @@ + + + + + + + + + {{ t('集群管理') }} + + + + + + + diff --git a/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Index.vue b/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Index.vue index 7fbda0794..5114016e6 100644 --- a/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Index.vue +++ b/dbm-ui/frontend/src/layout/components/database-manage/components/module-group/Index.vue @@ -4,6 +4,7 @@ + diff --git a/dbm-ui/frontend/src/views/doris-manage/common/expansion/Index.vue b/dbm-ui/frontend/src/views/doris-manage/common/expansion/Index.vue new file mode 100644 index 000000000..04b35def5 --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/common/expansion/Index.vue @@ -0,0 +1,473 @@ + + + + + + + + {{ t('资源池自动匹配') }} + + + {{ t('手动选择') }} + + + + + + + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/common/replace/Index.vue b/dbm-ui/frontend/src/views/doris-manage/common/replace/Index.vue new file mode 100644 index 000000000..e79516312 --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/common/replace/Index.vue @@ -0,0 +1,444 @@ + + + + + + + + {{ t('资源池自动匹配') }} + + + {{ t('手动选择') }} + + + + + {{ t('热节点') }} + + + + + + {{ t('冷节点') }} + + + + + + {{ t('Observer节点') }} + + + + + + {{ t('Follower节点') }} + + + + + + + + + {{ t('请先返回列表选择要替换的节点 IP') }} + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/common/shrink/Index.vue b/dbm-ui/frontend/src/views/doris-manage/common/shrink/Index.vue new file mode 100644 index 000000000..7e0a03e76 --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/common/shrink/Index.vue @@ -0,0 +1,433 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/list/Index.vue b/dbm-ui/frontend/src/views/doris-manage/list/Index.vue new file mode 100644 index 000000000..d5760dfc8 --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/list/Index.vue @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/list/components/detail/Index.vue b/dbm-ui/frontend/src/views/doris-manage/list/components/detail/Index.vue new file mode 100644 index 000000000..8f5507fc6 --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/list/components/detail/Index.vue @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/BaseInfo.vue b/dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/BaseInfo.vue new file mode 100644 index 000000000..71a8a3582 --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/BaseInfo.vue @@ -0,0 +1,35 @@ + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/node-list/Index.vue b/dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/node-list/Index.vue new file mode 100644 index 000000000..55eb4326d --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/list/components/detail/components/node-list/Index.vue @@ -0,0 +1,725 @@ + + + + + + + + {{ t('扩容') }} + + + + + + {{ t('缩容') }} + + + + + + + {{ t('替换') }} + + + + (isCopyDropdown = false)" + @show="() => (isCopyDropdown = true)"> + + {{ t('复制IP') }} + + + + + + handleCopyIp(tableData)"> + {{ t('复制全部IP') }} + + + + handleCopyIp(abnormalNodeList)"> + {{ t('复制异常IP') }} + + + + handleCopyIp(Object.values(checkedNodeMap))"> + {{ t('复制已选IP') }} + + + + + + + + + + {{ operationData?.operationStatusText }} + + {{ t('我的服务单') }} + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/list/components/list/Index.vue b/dbm-ui/frontend/src/views/doris-manage/list/components/list/Index.vue new file mode 100644 index 000000000..a52d054bd --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/list/components/list/Index.vue @@ -0,0 +1,1054 @@ + + + + + + + {{ t('申请实例') }} + + + + + + + + + + + + + + + + + + + {{ t('关闭') }} + + + + + + + + + + + diff --git a/dbm-ui/frontend/src/views/doris-manage/routes.ts b/dbm-ui/frontend/src/views/doris-manage/routes.ts new file mode 100644 index 000000000..a3b337f9b --- /dev/null +++ b/dbm-ui/frontend/src/views/doris-manage/routes.ts @@ -0,0 +1,47 @@ +/* + * TencentBlueKing is pleased to support the open source community by making 蓝鲸智云-DB管理系统(BlueKing-BK-DBM) available. + * + * Copyright (C) 2017-2023 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at https://opensource.org/licenses/MIT + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for + * the specific language governing permissions and limitations under the License. + */ + +import type { RouteRecordRaw } from 'vue-router'; + +import type { BigdataFunctions } from '@services/model/function-controller/functionController'; + +import { t } from '@locales/index'; + +const routes: RouteRecordRaw[] = [ + { + name: 'DorisManage', + path: 'doris-manage', + meta: { + navName: t('【Doris】集群管理'), + }, + redirect: { + name: 'DorisList', + }, + component: () => import('@views/doris-manage/Index.vue'), + children: [ + { + name: 'DorisList', + path: 'list', + meta: { + navName: t('【Doris】集群管理'), + fullscreen: true, + }, + component: () => import('@views/doris-manage/list/Index.vue'), + }, + ], + }, +]; + +export default function getRoutes(controller: Record) { + return controller.doris ? routes : []; +} diff --git a/dbm-ui/frontend/src/views/es-manage/common/expansion/Index.vue b/dbm-ui/frontend/src/views/es-manage/common/expansion/Index.vue index b2b3f99ee..828ccd8f9 100644 --- a/dbm-ui/frontend/src/views/es-manage/common/expansion/Index.vue +++ b/dbm-ui/frontend/src/views/es-manage/common/expansion/Index.vue @@ -140,6 +140,7 @@ count: 1, instance_num: 1, }, + tagText: t('存储层') }, cold: { label: '冷节点', @@ -158,6 +159,7 @@ count: 1, instance_num: 1, }, + tagText: t('存储层') }, client: { label: 'Client 节点', @@ -176,6 +178,7 @@ count: 1, instance_num: 1, }, + tagText: t('接入层') }, }); diff --git a/dbm-ui/frontend/src/views/es-manage/common/shrink/Index.vue b/dbm-ui/frontend/src/views/es-manage/common/shrink/Index.vue index dff5fc5f7..2f6ddd28e 100644 --- a/dbm-ui/frontend/src/views/es-manage/common/shrink/Index.vue +++ b/dbm-ui/frontend/src/views/es-manage/common/shrink/Index.vue @@ -112,6 +112,7 @@ targetDisk: 0, shrinkDisk: 0, minHost: 0, + tagText: t('存储层') }, cold: { label: t('冷节点'), @@ -121,6 +122,7 @@ targetDisk: 0, shrinkDisk: 0, minHost: 0, + tagText: t('存储层') }, client: { label: 'Client', @@ -130,6 +132,7 @@ targetDisk: 0, shrinkDisk: 0, minHost: 0, + tagText: t('接入层') }, }); diff --git a/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/Index.vue b/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/Index.vue index 0b72f6d4d..2cfd121a5 100644 --- a/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/Index.vue +++ b/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/Index.vue @@ -165,9 +165,10 @@ :show-footer="false" :title="t('节点详情')" :width="960"> - @@ -190,6 +191,7 @@ import { ClusterTypes } from '@common/const'; + import BigdataInstanceDetail from '@components/bigdata-instance-detail/Index.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderClusterRole from '@components/cluster-common/RenderRole.vue'; import RenderHostStatus from '@components/render-host-status/Index.vue'; @@ -206,7 +208,7 @@ import { useTimeoutPoll } from '@vueuse/core'; - import InstanceDetail from './components/InstanceDetail.vue'; + // import InstanceDetail from './components/InstanceDetail.vue'; interface Props { clusterId: number; diff --git a/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/components/InstanceDetail.vue b/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/components/InstanceDetail.vue index 495479b4d..af80996ca 100644 --- a/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/components/InstanceDetail.vue +++ b/dbm-ui/frontend/src/views/es-manage/list/components/detail/components/node-list/components/InstanceDetail.vue @@ -53,7 +53,7 @@ import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderInstanceStatus from '@components/cluster-common/RenderInstanceStatus.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import { useTimeoutPoll } from '@vueuse/core'; diff --git a/dbm-ui/frontend/src/views/es-manage/list/components/list/Index.vue b/dbm-ui/frontend/src/views/es-manage/list/components/list/Index.vue index 241abe492..4c2b23a75 100644 --- a/dbm-ui/frontend/src/views/es-manage/list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/es-manage/list/components/list/Index.vue @@ -132,7 +132,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderNodeInstance from '@components/cluster-common/RenderNodeInstance.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import RenderPassword from '@components/cluster-common/RenderPassword.vue'; import RenderClusterStatus from '@components/cluster-common/RenderStatus.vue'; import EditEntryConfig from '@components/cluster-entry-config/Index.vue'; @@ -365,11 +365,15 @@ { data.operationTagTips.map(item => ) } - + { + !data.isOnline && !data.isStarting && ( + + {t('已禁用')} + + ) + } { isRecentDays(data.create_at, 24 * 3) && diff --git a/dbm-ui/frontend/src/views/hdfs-manage/common/expansion/Index.vue b/dbm-ui/frontend/src/views/hdfs-manage/common/expansion/Index.vue index c41bbf96f..e0aa6fd0b 100644 --- a/dbm-ui/frontend/src/views/hdfs-manage/common/expansion/Index.vue +++ b/dbm-ui/frontend/src/views/hdfs-manage/common/expansion/Index.vue @@ -121,6 +121,7 @@ spec_id: 0, count: 1, }, + tagText: t('存储层') }, }); diff --git a/dbm-ui/frontend/src/views/hdfs-manage/common/shrink/Index.vue b/dbm-ui/frontend/src/views/hdfs-manage/common/shrink/Index.vue index ed0e83f5a..84c424490 100644 --- a/dbm-ui/frontend/src/views/hdfs-manage/common/shrink/Index.vue +++ b/dbm-ui/frontend/src/views/hdfs-manage/common/shrink/Index.vue @@ -105,6 +105,7 @@ shrinkDisk: 0, // 最小主机数 minHost: 2, + tagText: t('存储层') }, }); diff --git a/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/Index.vue b/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/Index.vue index 739384e6e..99aea6a87 100644 --- a/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/Index.vue +++ b/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/Index.vue @@ -159,8 +159,10 @@ :show-footer="false" :title="t('节点详情')" :width="960"> - @@ -183,6 +185,7 @@ import { ClusterTypes } from '@common/const'; + import BigdataInstanceDetail from '@components/bigdata-instance-detail/Index.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderClusterRole from '@components/cluster-common/RenderRole.vue'; import RenderHostStatus from '@components/render-host-status/Index.vue'; @@ -199,7 +202,7 @@ import { useTimeoutPoll } from '@vueuse/core'; - import InstanceDetail from './components/InstanceDetail.vue'; + // import InstanceDetail from './components/InstanceDetail.vue'; interface Props { clusterId: number; diff --git a/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/components/InstanceDetail.vue b/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/components/InstanceDetail.vue index 3d224c277..08926320a 100644 --- a/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/components/InstanceDetail.vue +++ b/dbm-ui/frontend/src/views/hdfs-manage/list/components/detail/components/node-list/components/InstanceDetail.vue @@ -51,7 +51,7 @@ import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderInstanceStatus from '@components/cluster-common/RenderInstanceStatus.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import { useTimeoutPoll } from '@vueuse/core'; diff --git a/dbm-ui/frontend/src/views/hdfs-manage/list/components/list/Index.vue b/dbm-ui/frontend/src/views/hdfs-manage/list/components/list/Index.vue index a515e4f1a..0d862b9a9 100644 --- a/dbm-ui/frontend/src/views/hdfs-manage/list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/hdfs-manage/list/components/list/Index.vue @@ -141,7 +141,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderNodeInstance from '@components/cluster-common/RenderNodeInstance.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import RenderPassword from '@components/cluster-common/RenderPassword.vue'; import RenderClusterStatus from '@components/cluster-common/RenderStatus.vue'; import EditEntryConfig from '@components/cluster-entry-config/Index.vue'; @@ -380,11 +380,15 @@ { data.operationTagTips.map(item => ) } - + { + data.isOffline && ( + + {t('已禁用')} + + ) + } { isRecentDays(data.create_at, 24 * 3) && diff --git a/dbm-ui/frontend/src/views/influxdb-manage/instance-list/components/render-list/Index.vue b/dbm-ui/frontend/src/views/influxdb-manage/instance-list/components/render-list/Index.vue index 9a72877f5..7a9b3d348 100644 --- a/dbm-ui/frontend/src/views/influxdb-manage/instance-list/components/render-list/Index.vue +++ b/dbm-ui/frontend/src/views/influxdb-manage/instance-list/components/render-list/Index.vue @@ -167,7 +167,7 @@ import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderInstanceStatus from '@components/cluster-common/RenderInstanceStatus.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import DropdownExportExcel from '@components/dropdown-export-excel/index.vue'; import TextOverflowLayout from '@components/text-overflow-layout/Index.vue'; @@ -323,12 +323,15 @@ { data.operationTagTips.map(item => ) } - + { + !data.isOnline && !data.isStarting && ( + + {t('已禁用')} + + ) + } { data.isNew && ( diff --git a/dbm-ui/frontend/src/views/kafka-manage/common/expansion/Index.vue b/dbm-ui/frontend/src/views/kafka-manage/common/expansion/Index.vue index 7c1b32cc2..a1629655a 100644 --- a/dbm-ui/frontend/src/views/kafka-manage/common/expansion/Index.vue +++ b/dbm-ui/frontend/src/views/kafka-manage/common/expansion/Index.vue @@ -121,6 +121,7 @@ spec_id: 0, count: 1, }, + tagText: t('存储层') }, }); diff --git a/dbm-ui/frontend/src/views/kafka-manage/common/shrink/Index.vue b/dbm-ui/frontend/src/views/kafka-manage/common/shrink/Index.vue index 1f446af72..d0dde4aa1 100644 --- a/dbm-ui/frontend/src/views/kafka-manage/common/shrink/Index.vue +++ b/dbm-ui/frontend/src/views/kafka-manage/common/shrink/Index.vue @@ -104,6 +104,7 @@ // 实际选择的缩容主机容量 shrinkDisk: 0, minHost: 1, + tagText: t('存储层') }, }); diff --git a/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/Index.vue b/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/Index.vue index 7445dcd35..ee5c9243d 100644 --- a/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/Index.vue +++ b/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/Index.vue @@ -166,9 +166,10 @@ :show-footer="false" :title="t('节点详情')" :width="960"> - @@ -189,8 +190,9 @@ import { useGlobalBizs } from '@stores'; - import { ClusterTypes } from '@common/const'; + import { ClusterTypes } from '@common/const' + import BigdataInstanceDetail from '@components/bigdata-instance-detail/Index.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderClusterRole from '@components/cluster-common/RenderRole.vue'; import RenderHostStatus from '@components/render-host-status/Index.vue'; @@ -207,7 +209,7 @@ import { useTimeoutPoll } from '@vueuse/core'; - import InstanceDetail from './components/InstanceDetail.vue'; + // import InstanceDetail from './components/InstanceDetail.vue'; interface Props { clusterId: number; diff --git a/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/components/InstanceDetail.vue b/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/components/InstanceDetail.vue index 6a1e8e88c..04f9b4439 100644 --- a/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/components/InstanceDetail.vue +++ b/dbm-ui/frontend/src/views/kafka-manage/list/components/detail/components/node-list/components/InstanceDetail.vue @@ -53,7 +53,7 @@ import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderInstanceStatus from '@components/cluster-common/RenderInstanceStatus.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import { useTimeoutPoll } from '@vueuse/core'; diff --git a/dbm-ui/frontend/src/views/kafka-manage/list/components/list/Index.vue b/dbm-ui/frontend/src/views/kafka-manage/list/components/list/Index.vue index d4fb36d00..e135b5ab6 100644 --- a/dbm-ui/frontend/src/views/kafka-manage/list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/kafka-manage/list/components/list/Index.vue @@ -131,7 +131,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderNodeInstance from '@components/cluster-common/RenderNodeInstance.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import RenderPassword from '@components/cluster-common/RenderPassword.vue'; import RenderClusterStatus from '@components/cluster-common/RenderStatus.vue'; import EditEntryConfig from '@components/cluster-entry-config/Index.vue'; @@ -349,34 +349,47 @@ minWidth: 200, fixed: 'left', showOverflowTooltip: false, - render: ({ data }: {data: KafkaModel}) => ( + render: ({ data }: { data: KafkaModel }) => ( {{ default: () => ( - - - {data.cluster_name} - - {data.cluster_alias || '--'} - + + {data.cluster_name} + + {data.cluster_alias || '--'} + + ), + append: () => ( + <> { data.operationTagTips.map(item => ) } + { + data.isOffline && !data.isStarting && ( + + {t('已禁用')} + + ) + } + { + data.isNew && ( + + NEW + + ) + } - {data.isNew && } - - ), - append: () => ( - copy(data.cluster_name)} /> + v-bk-tooltips={t('复制集群名称')} + type="copy" + class="mt-2" + onClick={() => copy(data.cluster_name)} /> + > ) }} diff --git a/dbm-ui/frontend/src/views/mongodb-manage/mongodb-instance/list/index.vue b/dbm-ui/frontend/src/views/mongodb-manage/mongodb-instance/list/index.vue index 3622e4bc3..ccc41965b 100644 --- a/dbm-ui/frontend/src/views/mongodb-manage/mongodb-instance/list/index.vue +++ b/dbm-ui/frontend/src/views/mongodb-manage/mongodb-instance/list/index.vue @@ -83,6 +83,7 @@ } from '@common/const'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import DbStatus from '@components/db-status/index.vue'; import DropdownExportExcel from '@components/dropdown-export-excel/index.vue'; @@ -206,13 +207,11 @@ { - data.isRebooting && ( - - ) + data.operationTagTips.map(item => ( + + )) } ), diff --git a/dbm-ui/frontend/src/views/mongodb-manage/replica-set-list/components/list/Index.vue b/dbm-ui/frontend/src/views/mongodb-manage/replica-set-list/components/list/Index.vue index ef81852f1..ce9fb00aa 100644 --- a/dbm-ui/frontend/src/views/mongodb-manage/replica-set-list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/mongodb-manage/replica-set-list/components/list/Index.vue @@ -115,7 +115,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import ExcelAuthorize from '@components/cluster-common/ExcelAuthorize.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import RenderClusterStatus from '@components/cluster-common/RenderStatus.vue'; import DbTable from '@components/db-table/index.vue'; import DropdownExportExcel from '@components/dropdown-export-excel/index.vue'; @@ -307,11 +307,12 @@ )) } { - data.isDisabled && ( - + data.isOffline && ( + + {t('已禁用')} + ) } > diff --git a/dbm-ui/frontend/src/views/mongodb-manage/shared-cluster-list/components/list/Index.vue b/dbm-ui/frontend/src/views/mongodb-manage/shared-cluster-list/components/list/Index.vue index 915b27b79..dd3f90fec 100644 --- a/dbm-ui/frontend/src/views/mongodb-manage/shared-cluster-list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/mongodb-manage/shared-cluster-list/components/list/Index.vue @@ -132,7 +132,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import ExcelAuthorize from '@components/cluster-common/ExcelAuthorize.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import RenderClusterStatus from '@components/cluster-common/RenderStatus.vue'; import DbTable from '@components/db-table/index.vue'; import DropdownExportExcel from '@components/dropdown-export-excel/index.vue'; @@ -298,11 +298,12 @@ )) } { - data.isDisabled && ( - + data.isOffline && ( + + {t('已禁用')} + ) } > diff --git a/dbm-ui/frontend/src/views/mysql/ha-cluster-list/components/List.vue b/dbm-ui/frontend/src/views/mysql/ha-cluster-list/components/List.vue index 3c2dde2f2..f20aff244 100644 --- a/dbm-ui/frontend/src/views/mysql/ha-cluster-list/components/List.vue +++ b/dbm-ui/frontend/src/views/mysql/ha-cluster-list/components/List.vue @@ -150,7 +150,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import ExcelAuthorize from '@components/cluster-common/ExcelAuthorize.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import EditEntryConfig from '@components/cluster-entry-config/Index.vue'; import ClusterExportData from '@components/cluster-export-data/Index.vue' import DbStatus from '@components/db-status/index.vue'; @@ -399,11 +399,11 @@ } { data.isOffline && !data.isStarting && ( - + + {t('已禁用')} + ) } { diff --git a/dbm-ui/frontend/src/views/mysql/partition-manage/Index.vue b/dbm-ui/frontend/src/views/mysql/partition-manage/Index.vue index d2a55be23..d779b90de 100644 --- a/dbm-ui/frontend/src/views/mysql/partition-manage/Index.vue +++ b/dbm-ui/frontend/src/views/mysql/partition-manage/Index.vue @@ -136,11 +136,11 @@ } { data.isOffline && ( - + + {t('已禁用')} + ) } diff --git a/dbm-ui/frontend/src/views/mysql/single-cluster-list/components/List.vue b/dbm-ui/frontend/src/views/mysql/single-cluster-list/components/List.vue index 3e830a49a..6d8b64e2a 100644 --- a/dbm-ui/frontend/src/views/mysql/single-cluster-list/components/List.vue +++ b/dbm-ui/frontend/src/views/mysql/single-cluster-list/components/List.vue @@ -134,7 +134,7 @@ import ClusterCapacityUsageRate from '@components/cluster-capacity-usage-rate/Index.vue' import ExcelAuthorize from '@components/cluster-common/ExcelAuthorize.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; - import RenderOperationTag from '@components/cluster-common/RenderOperationTag.vue'; + import RenderOperationTag from '@components/cluster-common/RenderOperationTagNew.vue'; import EditEntryConfig from '@components/cluster-entry-config/Index.vue'; import ClusterExportData from '@components/cluster-export-data/Index.vue' import DbStatus from '@components/db-status/index.vue'; @@ -357,11 +357,11 @@ } { data.isOffline && !data.isStarting && ( - + + {t('已禁用')} + ) } { diff --git a/dbm-ui/frontend/src/views/pulsar-manage/common/expansion/Index.vue b/dbm-ui/frontend/src/views/pulsar-manage/common/expansion/Index.vue index c4a0f03d7..fe0e1146c 100644 --- a/dbm-ui/frontend/src/views/pulsar-manage/common/expansion/Index.vue +++ b/dbm-ui/frontend/src/views/pulsar-manage/common/expansion/Index.vue @@ -135,6 +135,7 @@ spec_id: 0, count: 1, }, + tagText: t('接入层') }, bookkeeper: { label: 'Bookkeeper', @@ -152,6 +153,7 @@ spec_id: 0, count: 1, }, + tagText: t('存储层') }, }); diff --git a/dbm-ui/frontend/src/views/pulsar-manage/common/shrink/Index.vue b/dbm-ui/frontend/src/views/pulsar-manage/common/shrink/Index.vue index 493cb6389..c5828fc1c 100644 --- a/dbm-ui/frontend/src/views/pulsar-manage/common/shrink/Index.vue +++ b/dbm-ui/frontend/src/views/pulsar-manage/common/shrink/Index.vue @@ -111,6 +111,7 @@ // 实际选择的缩容主机容量 shrinkDisk: 0, minHost: 1, + tagText: t('接入层') }, bookkeeper: { label: 'Bookkeeper', @@ -120,6 +121,7 @@ targetDisk: 0, shrinkDisk: 0, minHost: 2, + tagText: t('存储层') }, }); diff --git a/dbm-ui/frontend/src/views/pulsar-manage/list/components/detail/components/node-list/Index.vue b/dbm-ui/frontend/src/views/pulsar-manage/list/components/detail/components/node-list/Index.vue index 361c612aa..ba6dcdd34 100644 --- a/dbm-ui/frontend/src/views/pulsar-manage/list/components/detail/components/node-list/Index.vue +++ b/dbm-ui/frontend/src/views/pulsar-manage/list/components/detail/components/node-list/Index.vue @@ -165,10 +165,12 @@ :show-footer="false" :title="t('节点详情')" :width="960"> - + :cluster-type="ClusterTypes.PULSAE" + :data="operationNodeData" + @close="handleClose" /> @@ -189,6 +191,7 @@ import { ClusterTypes } from '@common/const'; + import BigdataInstanceDetail from '@components/bigdata-instance-detail/Index.vue'; import OperationBtnStatusTips from '@components/cluster-common/OperationBtnStatusTips.vue'; import RenderClusterRole from '@components/cluster-common/RenderRole.vue'; import RenderHostStatus from '@components/render-host-status/Index.vue'; @@ -204,7 +207,7 @@ import { useTimeoutPoll } from '@vueuse/core'; - import InstanceDetail from './components/InstanceDetail.vue'; + // import InstanceDetail from './components/InstanceDetail.vue'; interface Props { clusterId: number; @@ -653,6 +656,10 @@ isShowDetail.value = true; operationNodeData.value = data; }; + + const handleClose = () => { + isShowDetail.value = false; + };