From 5d95479b3f05d487be25154426ce96fed77b6efe Mon Sep 17 00:00:00 2001 From: hLinx <327159425@qq.com> Date: Sun, 29 Sep 2024 17:23:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(frontend):=20=E5=8D=95=E6=8D=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E8=BF=AD=E4=BB=A3=20#7190?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbm-ui/frontend/.prettierignore | 3 + .../frontend/lib/bk-icon/fonts/iconcool.svg | 456 +++++++-------- dbm-ui/frontend/lib/bk-icon/iconcool.js | 19 +- dbm-ui/frontend/lib/bk-icon/iconcool.json | 2 +- dbm-ui/frontend/package.json | 72 +-- .../src/common/const/clusterAffinity.ts | 10 + dbm-ui/frontend/src/common/const/index.ts | 1 + .../frontend/src/common/const/ticketTypes.ts | 86 +-- dbm-ui/frontend/src/common/importComps.ts | 16 +- dbm-ui/frontend/src/common/table/BkTable.vue | 340 +++++++++++ .../src/common/table/BkTableColumn.vue | 68 +++ dbm-ui/frontend/src/common/table/adapter.ts | 126 ++++ .../src/common/table/components/RenderCell.ts | 26 + .../src/common/table/components/RenderHead.ts | 17 + .../table/components/setting-column/Index.vue | 283 +++++++++ .../setting-column/components/ActionTab.vue | 25 + .../setting-column/components/FieldList.vue | 139 +++++ .../setting-column/components/Others.vue | 56 ++ .../setting-column/useOutSideClick.ts | 26 + .../common/table/style/vxe-table-path.less | 125 ++++ .../frontend/src/common/table/utils/index.ts | 1 + .../table/utils/makeMap.ts} | 31 +- .../src/components/cluster-selector/Index.vue | 1 + .../components/common/task-panel/Item.vue | 2 +- .../src/components/db-popconfirm/index.vue | 58 +- .../src/components/db-search-select/index.vue | 5 + .../src/components/db-table/OriginalTable.vue | 1 - .../src/components/db-table/index.vue | 22 +- .../components/RenderManualHost.vue | 6 - .../components/RenderTopoHost.vue | 6 - .../manual-content-host/table/Index.vue | 6 - .../common/manual-content/table/Index.vue | 6 - .../components/mongo/table/Index.vue | 6 - .../components/mysql/table/Index.vue | 6 - .../components/redis-host/table/Index.vue | 6 - .../components/redis/table/Index.vue | 6 - .../components/sqlserver/table/Index.vue | 6 - .../tendb-cluster-host/table/Index.vue | 30 +- .../components/tendb-cluster/table/Index.vue | 6 - .../components/tendb-ha-host/table/Index.vue | 6 - .../tendb-single-host/table/Index.vue | 6 - .../Index.vue | 17 +- .../components/mysql-toolbox/ToolboxTable.vue | 4 +- .../columns/spec-display/Index.vue | 4 +- .../src/components/scroll-faker/Index.vue | 37 +- .../stretch-layout/StretchLayout.vue | 41 +- .../src/components/tag-block/Index.vue | 231 ++++++++ .../components/text-overflow-layout/Index.vue | 1 + .../components/ticket-status-tag/Index.vue | 73 +++ .../src/components/vue2/ip-selector/index.ts | 9 +- dbm-ui/frontend/src/hooks/index.ts | 1 + .../frontend/src/hooks/useSQLTaskNotify.tsx | 4 +- .../generateCloneData/mysql/authorizeRule.ts | 5 +- .../generateCloneData/mysql/checksum.ts | 5 +- .../generateCloneData/mysql/clientClone.ts | 5 +- .../generateCloneData/mysql/dataMigrate.ts | 5 +- .../generateCloneData/mysql/dbRename.ts | 5 +- .../generateCloneData/mysql/flashback.ts | 5 +- .../generateCloneData/mysql/haApply.ts | 5 +- .../generateCloneData/mysql/haDbBackup.ts | 5 +- .../generateCloneData/mysql/haDbClear.ts | 5 +- .../mysql/haDbTableBackup.ts | 5 +- .../generateCloneData/mysql/importSqlFile.ts | 6 +- .../generateCloneData/mysql/instanceClone.ts | 5 +- .../generateCloneData/mysql/masterFailover.ts | 5 +- .../mysql/masterSlaveSwitch.ts | 5 +- .../generateCloneData/mysql/migrateCluster.ts | 5 +- .../generateCloneData/mysql/openArea.ts | 5 +- .../generateCloneData/mysql/proxyAdd.ts | 5 +- .../generateCloneData/mysql/proxyReplace.ts | 5 +- .../mysql/restoreLocalSlave.ts | 5 +- .../generateCloneData/mysql/restoreSlave.ts | 5 +- .../generateCloneData/mysql/rollback.ts | 5 +- .../generateCloneData/mysql/singleApply.ts | 5 +- .../generateCloneData/mysql/slaveAdd.ts | 5 +- .../mysql/versionLocalUpgrade.ts | 5 +- .../mysql/versionMigrateUpgrade.ts | 5 +- .../mysql/versionProxyUpgrade.ts | 5 +- .../generateCloneData/redis/apply.ts | 5 +- .../redis/clusterAddSlave.ts | 5 +- .../generateCloneData/redis/clusterCutoff.ts | 5 +- .../redis/clusterShardUpdate.ts | 7 +- .../redis/clusterTypeUpdate.ts | 5 +- .../generateCloneData/redis/dataCopy.ts | 5 +- .../redis/dataCopyCheckRepair.ts | 5 +- .../generateCloneData/redis/dataStructure.ts | 5 +- .../redis/masterSlaveSwitch.ts | 5 +- .../generateCloneData/redis/operation.ts | 5 +- .../generateCloneData/redis/proxyScaleDown.ts | 5 +- .../generateCloneData/redis/proxyScaleUp.ts | 5 +- .../generateCloneData/redis/rollbackData.ts | 5 +- .../generateCloneData/redis/scaleUpdown.ts | 5 +- .../generateCloneData/redis/versionUpgrade.ts | 5 +- .../generateCloneData/spider/addMnt.ts | 5 +- .../generateCloneData/spider/apply.ts | 5 +- .../generateCloneData/spider/authorizeRule.ts | 5 +- .../spider/capacityChange.ts | 5 +- .../generateCloneData/spider/checksum.ts | 5 +- .../generateCloneData/spider/dbBackup.ts | 5 +- .../generateCloneData/spider/dbClear.ts | 5 +- .../generateCloneData/spider/dbRename.ts | 5 +- .../generateCloneData/spider/dbTableBackup.ts | 5 +- .../generateCloneData/spider/flashback.ts | 5 +- .../generateCloneData/spider/index.ts | 2 +- .../spider/masterFailover.ts | 5 +- .../spider/masterSlaveClone.ts | 5 +- .../spider/masterSlaveSwap.ts | 5 +- .../spider/privilegeCloneClient.ts | 5 +- .../spider/privilegeCloneInst.ts | 7 +- .../spider/proxyScaleDown.ts | 5 +- .../generateCloneData/spider/proxyScaleUp.ts | 5 +- .../spider/proxySlaveApply.ts | 5 +- .../generateCloneData/spider/rollback.ts | 44 -- .../spider/slaveRebuildLocal.ts | 7 +- .../spider/slaveRebuildNew.ts | 5 +- .../generateCloneData/spider/sqlExecute.ts | 6 +- .../tendbcluster/rollback.ts | 5 +- dbm-ui/frontend/src/hooks/useTicketCount.ts | 49 ++ dbm-ui/frontend/src/layout/Index.vue | 19 +- .../layout/components/PersonalWorkbench.vue | 84 ++- .../components/database-manage/Index.vue | 2 +- dbm-ui/frontend/src/locales/zh-cn.json | 159 ++++- dbm-ui/frontend/src/router/index.ts | 35 +- .../frontend/src/services/http/lib/request.ts | 9 +- .../src/services/model/doris/doris.ts | 14 +- dbm-ui/frontend/src/services/model/es/es.ts | 12 +- .../frontend/src/services/model/hdfs/hdfs.ts | 12 +- .../src/services/model/kafka/kafka.ts | 12 +- .../services/model/mongodb/mongodb-detail.ts | 12 +- .../model/mongodb/mongodb-instance.ts | 2 + .../src/services/model/mongodb/mongodb.ts | 8 +- .../services/model/mysql/tendbha-instance.ts | 10 + .../src/services/model/mysql/tendbha.ts | 12 +- .../src/services/model/pulsar/pulsar.ts | 12 +- .../services/model/redis/redis-instance.ts | 10 + .../src/services/model/redis/redis.ts | 10 +- .../frontend/src/services/model/riak/riak.ts | 12 + .../model/sqlserver/sqlserver-ha-instance.ts | 8 + .../services/model/sqlserver/sqlserver-ha.ts | 8 + .../tendbcluster/tendbcluster-instance.ts | 2 + .../model/tendbcluster/tendbcluster.ts | 10 +- .../services/model/ticket/details/common.ts | 23 +- .../model/ticket/details/doris/apply.ts | 27 + .../model/ticket/details/doris/destroy.ts | 6 + .../model/ticket/details/doris/disable.ts | 6 + .../model/ticket/details/doris/enable.ts | 6 + .../model/ticket/details/doris/index.ts | 8 + .../model/ticket/details/doris/reboot.ts | 14 + .../model/ticket/details/doris/replace.ts | 33 ++ .../model/ticket/details/doris/scaleUp.ts | 41 ++ .../model/ticket/details/doris/shrink.ts | 41 ++ .../ticket/details/dumper/disableNodes.ts | 37 ++ .../ticket/details/dumper/enableNodes.ts | 37 ++ .../model/ticket/details/dumper/index.ts | 5 + .../model/ticket/details/dumper/install.ts | 19 + .../ticket/details/dumper/reduceNodes.ts | 3 + .../ticket/details/dumper/switchNodes.ts | 15 + .../ticket/details/elastic-search/apply.ts | 26 + .../ticket/details/elastic-search/destroy.ts | 6 + .../ticket/details/elastic-search/disable.ts | 6 + .../ticket/details/elastic-search/enable.ts | 6 + .../ticket/details/elastic-search/index.ts | 8 + .../ticket/details/elastic-search/reboot.ts | 14 + .../ticket/details/elastic-search/replace.ts | 33 ++ .../ticket/details/elastic-search/scaleUp.ts | 41 ++ .../ticket/details/elastic-search/shrink.ts | 41 ++ .../model/ticket/details/hdfs/apply.ts | 25 + .../model/ticket/details/hdfs/destroy.ts | 6 + .../model/ticket/details/hdfs/disable.ts | 6 + .../model/ticket/details/hdfs/enable.ts | 6 + .../model/ticket/details/hdfs/index.ts | 8 + .../model/ticket/details/hdfs/reboot.ts | 14 + .../model/ticket/details/hdfs/replace.ts | 33 ++ .../model/ticket/details/hdfs/scaleUp.ts | 41 ++ .../model/ticket/details/hdfs/shrink.ts | 41 ++ .../model/ticket/details/influxdb/apply.ts | 19 + .../model/ticket/details/influxdb/destroy.ts | 11 + .../model/ticket/details/influxdb/disable.ts | 11 + .../model/ticket/details/influxdb/enable.ts | 11 + .../model/ticket/details/influxdb/index.ts | 6 + .../model/ticket/details/influxdb/reboot.ts | 11 + .../model/ticket/details/influxdb/replace.ts | 18 + .../model/ticket/details/kafka/apply.ts | 25 + .../model/ticket/details/kafka/destroy.ts | 6 + .../model/ticket/details/kafka/disable.ts | 6 + .../model/ticket/details/kafka/enable.ts | 6 + .../model/ticket/details/kafka/index.ts | 8 + .../model/ticket/details/kafka/reboot.ts | 14 + .../model/ticket/details/kafka/replace.ts | 33 ++ .../model/ticket/details/kafka/scaleUp.ts | 41 ++ .../model/ticket/details/kafka/shrink.ts | 41 ++ .../model/ticket/details/mongodb/addMongos.ts | 18 + .../ticket/details/mongodb/addShardNodes.ts | 19 + .../ticket/details/mongodb/authorizeRules.ts | 16 + .../model/ticket/details/mongodb/backup.ts | 17 + .../model/ticket/details/mongodb/cutoff.ts | 22 + .../model/ticket/details/mongodb/destroy.ts | 6 + .../model/ticket/details/mongodb/disable.ts | 6 + .../model/ticket/details/mongodb/enable.ts | 6 + .../ticket/details/mongodb/excelAuthorize.ts | 16 + .../ticket/details/mongodb/execScriptApply.ts | 11 + .../ticket/details/mongodb/fullBackup.ts | 35 ++ .../model/ticket/details/mongodb/index.ts | 20 + .../details/mongodb/instanceDeinstall.ts | 11 + .../ticket/details/mongodb/reduceMongos.ts | 16 + .../details/mongodb/reduceShardNodes.ts | 11 + .../model/ticket/details/mongodb/removeNs.ts | 17 + .../ticket/details/mongodb/replicasetApply.ts | 30 + .../model/ticket/details/mongodb/restore.ts | 122 ++++ .../ticket/details/mongodb/scaleUpdown.ts | 19 + .../ticket/details/mongodb/shardApply.ts | 25 + .../details/mongodb/temporaryDestroy.ts | 32 + .../ticket/details/mysql/accountRuleChange.ts | 18 + .../model/ticket/details/mysql/addSlava.ts | 19 + .../ticket/details/mysql/authorizeRules.ts | 44 ++ .../model/ticket/details/mysql/checkSum.ts | 37 ++ .../ticket/details/mysql/clientCloneRules.ts | 17 + .../model/ticket/details/mysql/dataMigrate.ts | 15 + .../model/ticket/details/mysql/dataRepair.ts | 34 ++ .../model/ticket/details/mysql/dumpData.ts | 13 + .../model/ticket/details/mysql/flashBack.ts | 21 + .../model/ticket/details/mysql/haApply.ts | 33 ++ .../ticket/details/mysql/haDBTableBackup.ts | 15 + .../model/ticket/details/mysql/haDestroy.ts | 10 + .../model/ticket/details/mysql/haDisable.ts | 10 + .../model/ticket/details/mysql/haEnable.ts | 10 + .../ticket/details/mysql/haFullBackup.ts | 14 + .../ticket/details/mysql/haRenameDatabase.ts | 12 + .../ticket/details/mysql/importSqlFile.ts | 42 ++ .../model/ticket/details/mysql/index.ts | 37 ++ .../details/mysql/instanceCloneRules.ts | 18 + .../ticket/details/mysql/localUpgrade.ts | 18 + .../ticket/details/mysql/masterFailOver.ts | 30 + .../ticket/details/mysql/masterSlaveSwitch.ts | 29 + .../ticket/details/mysql/migrateCluster.ts | 27 + .../ticket/details/mysql/migrateUpgrade.ts | 60 ++ .../model/ticket/details/mysql/openArea.ts | 36 ++ .../model/ticket/details/mysql/partition.ts | 31 + .../model/ticket/details/mysql/proxyAdd.ts | 15 + .../model/ticket/details/mysql/proxySwitch.ts | 33 ++ .../ticket/details/mysql/proxyUpgrade.ts | 14 + .../ticket/details/mysql/restoreLocalSlave.ts | 21 + .../ticket/details/mysql/restoreSlave.ts | 27 + .../ticket/details/mysql/rollBackCluster.ts | 36 ++ .../model/ticket/details/mysql/singleApply.ts | 28 + .../ticket/details/mysql/singleDestroy.ts | 10 + .../ticket/details/mysql/singleDisable.ts | 10 + .../ticket/details/mysql/singleEnable.ts | 10 + .../details/mysql/singleRenameDatabase.ts | 12 + .../ticket/details/mysql/truncateData.ts | 18 + .../model/ticket/details/pulsar/apply.ts | 28 + .../model/ticket/details/pulsar/destroy.ts | 6 + .../model/ticket/details/pulsar/disable.ts | 6 + .../model/ticket/details/pulsar/enable.ts | 6 + .../model/ticket/details/pulsar/index.ts | 8 + .../model/ticket/details/pulsar/reboot.ts | 14 + .../model/ticket/details/pulsar/replace.ts | 33 ++ .../model/ticket/details/pulsar/scaleUp.ts | 41 ++ .../model/ticket/details/pulsar/shrink.ts | 41 ++ .../model/ticket/details/redis/backup.ts | 17 + .../ticket/details/redis/clusterAddSlave.ts | 24 + .../ticket/details/redis/clusterApply.ts | 49 ++ .../ticket/details/redis/clusterCutoff.ts | 43 ++ .../ticket/details/redis/clusterDataCopy.ts | 24 + .../details/redis/clusterRollbackDataCopy.ts | 15 + .../details/redis/clusterShardNumUpdate.ts | 33 ++ .../ticket/details/redis/clusterTypeUpdate.ts | 35 ++ .../ticket/details/redis/dataStructure.ts | 19 + .../details/redis/dataStructureTaskDelete.ts | 9 + .../details/redis/datacopyCheckRepair.ts | 21 + .../model/ticket/details/redis/destroy.ts | 6 + .../model/ticket/details/redis/index.ts | 33 ++ .../model/ticket/details/redis/insApply.ts | 32 + .../ticket/details/redis/instanceDestroy.ts | 6 + .../details/redis/instanceProxyClose.ts | 6 + .../ticket/details/redis/instanceProxyOpen.ts | 6 + .../model/ticket/details/redis/keysDelete.ts | 17 + .../model/ticket/details/redis/keysExtract.ts | 17 + .../ticket/details/redis/masterSlaveSwitch.ts | 15 + .../ticket/details/redis/pluginCreateClb.ts | 6 + .../details/redis/pluginCreatePolaris.ts | 3 + .../ticket/details/redis/pluginDeleteClb.ts | 6 + .../details/redis/pluginDeletePolaris.ts | 3 + .../ticket/details/redis/pluginDnsBindClb.ts | 6 + .../details/redis/pluginDnsUnbindClb.ts | 6 + .../model/ticket/details/redis/proxyClose.ts | 6 + .../model/ticket/details/redis/proxyOpen.ts | 6 + .../ticket/details/redis/proxyScaleDown.ts | 17 + .../ticket/details/redis/proxyScaleUp.ts | 18 + .../model/ticket/details/redis/purge.ts | 17 + .../model/ticket/details/redis/scaleUpdown.ts | 34 ++ .../ticket/details/redis/slotsMigrate.ts | 3 + .../details/redis/versionUpdateOnline.ts | 11 + .../model/ticket/details/riak/apply.ts | 22 + .../model/ticket/details/riak/destroy.ts | 6 + .../model/ticket/details/riak/disable.ts | 6 + .../model/ticket/details/riak/enable.ts | 6 + .../model/ticket/details/riak/index.ts | 7 + .../model/ticket/details/riak/reboot.ts | 9 + .../model/ticket/details/riak/scaleIn.ts | 22 + .../model/ticket/details/riak/scaleOut.ts | 22 + .../ticket/details/sqlserver/importSqlFile.ts | 12 +- .../model/ticket/details/sqlserver/index.ts | 1 + .../ticket/details/sqlserver/modifyStatus.ts | 9 + .../details/tendbCluster/accountRuleChange.ts | 16 + .../ticket/details/tendbCluster/apply.ts | 34 ++ .../details/tendbCluster/authorizeRules.ts | 44 ++ .../ticket/details/tendbCluster/checkSum.ts | 30 + .../details/tendbCluster/clientCloneRules.ts | 17 + .../details/tendbCluster/dBTableBackup.ts | 16 + .../ticket/details/tendbCluster/dataRepair.ts | 34 ++ .../ticket/details/tendbCluster/destroy.ts | 9 + .../ticket/details/tendbCluster/disable.ts | 9 + .../ticket/details/tendbCluster/dumpData.ts | 13 + .../ticket/details/tendbCluster/enable.ts | 9 + .../tendbCluster/excelAuthorizeRules.ts | 33 ++ .../ticket/details/tendbCluster/flashBack.ts | 22 + .../ticket/details/tendbCluster/fullBackup.ts | 16 + .../details/tendbCluster/importSqlFile.ts | 42 ++ .../ticket/details/tendbCluster/index.ts | 36 ++ .../tendbCluster/instanceCloneRules.ts | 19 + .../details/tendbCluster/masterFailOver.ts | 30 + .../details/tendbCluster/masterSlaveSwitch.ts | 28 + .../details/tendbCluster/migrateCluster.ts | 26 + .../details/tendbCluster/nodeRebalance.ts | 40 ++ .../ticket/details/tendbCluster/openArea.ts | 31 + .../ticket/details/tendbCluster/partition.ts | 31 + .../details/tendbCluster/renameDataBase.ts | 15 + .../details/tendbCluster/restoreLocalSlave.ts | 21 + .../details/tendbCluster/restoreSlave.ts | 44 ++ .../details/tendbCluster/rollBackCluster.ts | 76 +++ .../details/tendbCluster/spiderAddNodes.ts | 21 + .../details/tendbCluster/spiderMntApply.ts | 18 + .../details/tendbCluster/spiderMntDestroy.ts | 13 + .../details/tendbCluster/spiderReduceNodes.ts | 21 + .../details/tendbCluster/spiderSlaveApply.ts | 49 ++ .../tendbCluster/spiderSlaveDestroy.ts | 7 + .../details/tendbCluster/temporaryDestroy.ts | 9 + .../details/tendbCluster/truncateData.ts | 18 + .../details/tendbCluster/truncateDataBase.ts | 18 + .../src/services/model/ticket/flow.ts | 148 +++++ .../src/services/model/ticket/ticket.ts | 97 ++- .../frontend/src/services/source/profile.ts | 1 + .../frontend/src/services/source/ticket.tsx | 34 +- .../src/services/source/ticketFlow.ts | 97 +++ dbm-ui/frontend/src/services/types/ticket.ts | 515 +--------------- dbm-ui/frontend/src/stores/useUserProfile.ts | 21 +- dbm-ui/frontend/src/styles/common.less | 148 +---- dbm-ui/frontend/src/utils/getBusinessHref.ts | 2 + dbm-ui/frontend/src/utils/index.ts | 1 + .../components/ParameterTable.vue | 52 +- .../db-configure/components/PublishRecord.vue | 4 - .../db-configure/components/RangeInput.vue | 2 +- .../db-configure/components/ReadonlyTable.vue | 4 - .../diff-compare/components/ValueDiff.vue | 17 - .../db-manage/common/FlowRedisKeyExtract.vue | 399 +++++++++++++ .../views/db-manage/common/RenderBaseInfo.vue | 12 + .../add-permission-rule-dialog/Index.vue | 2 +- .../common/apply-items/BackendQPSSpec.vue | 12 - .../common/apply-items/CloudItem.vue | 2 +- .../common/apply-items/SpecSelector.vue | 4 +- .../components/AccountRulesTable.vue | 2 +- .../accout-rules-preview-table/Index.vue | 2 +- .../common/cluster-entry-config/Index.vue | 7 - .../doris-observer-host-shrink/Index.vue | 6 - .../common/es-host-expansion/Index.vue | 6 - .../db-manage/common/host-expansion/Index.vue | 6 - .../db-manage/common/host-shrink/Index.vue | 6 - .../db-manage/common/permission/Index.vue | 22 +- .../create-rule/components/PreviewDiff.vue | 248 ++++---- .../render-instances/RenderInstances.vue | 2 +- .../common/sql-execute/cluster-ids/Index.vue | 17 +- .../sql-content/components/RenderFileList.vue | 10 +- .../components/manual-input/Index.vue | 1 + .../doris/list/components/list/Index.vue | 46 +- .../list/components/list/Index.vue | 48 +- .../hdfs/list/components/list/Index.vue | 48 +- .../components/render-list/Index.vue | 3 +- .../kafka/list/components/list/Index.vue | 49 +- .../mongodb/components/MongoConfigSpec.vue | 12 - .../detail/components/BaseInfo.vue | 2 +- .../mongodb/mongodb-instance/list/index.vue | 7 + .../components/detail/BaseInfo.vue | 10 + .../components/list/Index.vue | 30 +- .../components/detail/BaseInfo.vue | 10 + .../components/list/Index.vue | 30 +- .../mongodb/structure-instance/Index.vue | 8 +- .../db-manage/mysql/apply/ApplyMySQL.vue | 4 - .../mysql/apply/components/PreviewTable.vue | 6 +- .../mysql/checksum/pages/page1/Index.vue | 1 + .../mysql/db-backup/pages/page1/Index.vue | 2 +- .../RenderData/RenderBackupLocal.vue | 6 +- .../components/RenderData/RenderCluster.vue | 176 ++++++ .../pages/page1/components/RenderData/Row.vue | 5 +- .../dumper/components/render-list/Index.vue | 2 +- .../render-list/components/RuleList.vue | 2 +- .../components/instance-list/Index.vue | 4 +- .../mysql/ha-cluster-list/components/List.vue | 52 +- .../components/detail/components/BaseInfo.vue | 10 + .../ha-instance-list/components/List.vue | 21 +- .../components/detail/components/BaseInfo.vue | 4 +- .../components/template-detail/Index.vue | 2 +- .../components/PrivRuleDetail.vue | 2 +- .../mysql/openarea/template-create/Index.vue | 2 +- .../components/variable-box/Index.vue | 24 +- .../mysql/partition-manage/Index.vue | 3 +- .../partition-manage/components/DryRun.vue | 2 +- .../components/RenderData/Index.vue | 4 +- .../components/RenderData/Index.vue | 2 +- .../mysql/rollback/pages/page1/Index.vue | 8 +- .../pages/page1/components/RenderData.vue | 25 +- .../pages/page1/components/RenderTable.vue | 26 +- .../page1/components/render-row/Index.vue | 21 +- .../components/RenderHostInputSelect.vue | 11 +- .../single-cluster-list/components/List.vue | 39 +- .../mysql/sql-execute/steps/step2/Index.vue | 6 +- .../components/render-status/Success.vue | 1 + .../page1/components/RenderTargetVersion.vue | 2 + .../ha-access-layer/RenderTargetVersion.vue | 14 +- .../page1/components/ha-access-layer/Row.vue | 6 +- .../RenderTargetVersion.vue | 1 + .../detail/components/node-list/Index.vue | 2 +- .../pulsar/list/components/list/Index.vue | 36 +- .../apply/components/backend-spec/Index.vue | 12 - .../components/Table.vue | 7 +- .../page1/components/RenderSwitchMode.vue | 2 +- .../page1/components/RenderTargetCapacity.vue | 1 + .../page1/components/RenderTargetVersion.vue | 1 + .../pages/page1/components/Row.vue | 37 +- .../common/cluster-deploy-plan/Index.vue | 2 +- .../db-data-copy-record/pages/page1/Index.vue | 4 +- .../redis/db-data-copy/pages/page1/Index.vue | 6 +- .../Index.vue | 6 +- .../RenderClusterType.vue | 11 +- .../selfbuilt-clusters-intra-business/Row.vue | 13 +- .../components/RenderManualHost.vue | 6 - .../components/RenderRedisHost.vue | 6 - .../components/list/Index.vue | 16 +- .../components/detail/components/BaseInfo.vue | 4 +- .../instance-list/components/list/Index.vue | 16 +- .../redis/list-ha/components/list/Index.vue | 19 +- .../redis/list/components/detail/BaseInfo.vue | 11 +- .../redis/list/components/list/Index.vue | 40 +- .../master-failover/pages/page1/Index.vue | 2 + .../page1/components/RenderSwitchMode.vue | 3 + .../pages/page1/components/Row.vue | 1 + .../structure-instance/pages/page1/Index.vue | 4 +- .../components/detail/components/BaseInfo.vue | 16 +- .../detail/components/EventChange.vue | 6 - .../riak/list/components/list/Index.vue | 25 +- .../apply/components/PreviewTable.vue | 4 +- .../common/edit-rename-info/Index.vue | 4 +- .../components/rename-list/Index.vue | 4 +- .../ha-cluster-list/components/List.vue | 36 +- .../components/detail/BaseInfo.vue | 4 + .../ha-instance-list/components/List.vue | 25 +- .../components/detail/components/BaseInfo.vue | 34 +- .../single-cluster/components/List.vue | 5 +- .../list-instance/components/list/Index.vue | 27 +- .../components/detail/components/BaseInfo.vue | 10 + .../list/components/list/Index.vue | 60 +- .../components/list/components/SpecInfo.vue | 4 +- .../components/template-detail/Index.vue | 2 +- .../components/PrivRuleDetail.vue | 2 +- .../openarea-template-create/Index.vue | 2 +- .../components/PermissionRule.vue | 2 +- .../components/variable-box/Index.vue | 6 +- .../tendb-cluster/partition-manage/Index.vue | 3 +- .../partition-manage/components/DryRun.vue | 2 +- .../tendb-cluster/rollback-record/Index.vue | 6 +- .../rollback/pages/page1/Index.vue | 8 +- .../pages/page1/components/RenderData.vue | 25 +- .../pages/page1/components/RenderTable.vue | 26 +- .../page1/components/render-row/Index.vue | 21 +- .../components/table/Index.vue | 6 - .../sql-execute/steps/step1/Index.vue | 4 +- .../sql-execute/steps/step2/Index.vue | 6 +- .../views/dbha-switch-events/list/Index.vue | 8 + .../components/FailSlaveInstance.vue | 6 +- .../components/result/Index.vue | 2 +- .../result/components/table/IpTable.vue | 6 +- .../quick-search/components/ClusterDomain.vue | 9 +- .../quick-search/components/ClusterName.vue | 4 +- .../quick-search/components/Instance.vue | 2 +- .../views/quick-search/components/Ticket.vue | 7 +- .../resource-manage/dirty-machine/Index.vue | 2 +- .../pool/host-list/components/RenderTable.vue | 2 +- .../components/ResourceSpecStorage.vue | 11 +- .../pool/summary-view/components/List.vue | 31 +- .../views/resource-manage/record/Index.vue | 2 +- .../components/spec-form-item/SpecStorage.vue | 4 +- .../rollback/pages/page1/Index.vue | 77 --- .../task-history/components/RetrySelector.vue | 8 - .../src/views/task-history/pages/Details.vue | 4 +- .../list => ticket-center/business}/Index.vue | 40 +- .../business/components/list/Index.vue | 30 + .../components/list/components/CardMode.vue | 58 ++ .../components/list/components/TableMode.vue | 140 +++++ .../ticket-center/common/CardModeList.vue | 264 +++++++++ .../ticket-center/common/TableModeTable.vue | 532 +++++++++++++++++ .../ticket-center/common/TicketClone.vue | 186 ++++++ .../ticket-center/common/TicketDetailLink.vue | 25 + .../ticket-center/common/TicketRevoke.vue | 43 ++ .../action-confirm/ProcessApproveExce.vue | 84 +++ .../action-confirm/ProcessFailedTerminate.vue | 96 +++ .../common/action-confirm/ProcessPass.vue | 101 ++++ .../common/action-confirm/ProcessRefuse.vue | 103 ++++ .../ProcessResourceReplenish.vue | 84 +++ .../common/action-confirm/ProcessRetry.vue | 64 ++ .../action-confirm/ProcessTerminate.vue | 103 ++++ .../common}/hooks/use-date-picker.ts | 20 +- .../common/hooks/use-detail-precheck.ts | 48 ++ .../common/hooks/use-fetch-data.ts} | 95 +-- .../common/hooks/use-search-select.ts | 125 ++++ .../common/ticket-detail/Index.vue | 165 ++++++ .../ticket-detail/components/BaseInfo.vue | 23 +- .../components/common}/MessageList.vue | 4 +- .../components/common/SqlFileContent.vue} | 5 - .../components/common}/SqlFileList.vue | 0 .../components/flow-info/Index.vue | 105 ++++ .../flow-info/components/FlowTypeBase.vue | 21 + .../flow-type-common/StatusFailed.vue | 103 ++++ .../flow-type-common/StatusRunning.vue | 78 +++ .../flow-type-common/StatusSkipped.vue | 87 +++ .../flow-type-common/StatusSucceeded.vue | 80 +++ .../flow-type-common/StatusTerminated.vue | 76 +++ .../flow-type-common/StausPending.vue | 28 + .../components/flow-type-common/index.ts | 17 + .../components/flow-type-delivery/Index.vue | 45 ++ .../components/SqlGrammarCheck.vue | 235 ++++++++ .../flow-type-describe-task/Index.vue | 38 ++ .../StatusSucceeded.vue | 67 +++ .../components/flow-type-inner-flow/Index.vue | 38 ++ .../flow-type-inner-flow/StatusFailed.vue | 93 +++ .../flow-type-inner-flow/StatusRunning.vue | 61 ++ .../flow-type-inner-flow/StatusSucceeded.vue | 72 +++ .../flow-type-inner-flow/StatusTerminated.vue | 46 ++ .../components/MysqlDumpDataDownload.vue | 37 ++ .../components/flow-type-itsm/Index.vue | 46 ++ .../flow-type-itsm/StatusFailed.vue | 53 ++ .../flow-type-itsm/StatusRunning.vue | 36 ++ .../flow-type-itsm/StatusSucceeded.vue | 60 ++ .../flow-type-itsm/StatusTerminated.vue | 72 +++ .../components/flow-type-pause/Index.vue | 43 ++ .../flow-type-pause/StatusFailed.vue | 58 ++ .../flow-type-pause/StatusRunning.vue | 33 ++ .../flow-type-pause/StatusSucceeded.vue | 33 ++ .../flow-type-pause/StatusTerminated.vue | 33 ++ .../components/flow-type-timer/Index.vue | 31 + .../flow-type-timer/StatusRunning.vue | 44 ++ .../components/RunCountdown.vue | 29 + .../flow-info/components/time-line/Index.vue | 11 + .../components/time-line/TimeLineItem.vue | 107 ++++ .../flow-info/components/todo-list/Index.vue | 35 ++ .../todo-list/common/StatusDoneFailed.vue | 56 ++ .../todo-list/common/StatusDoneSuccess.vue | 47 ++ .../todo-list/common/StatusTodo.vue | 68 +++ .../components/todo-list/common/index.ts | 17 + .../todo-list/type-approve/Index.vue | 22 + .../todo-list/type-inner-approve/Index.vue | 26 + .../type-inner-approve/StatusTodo.vue | 40 ++ .../components/todo-list/type-itsm/Index.vue | 30 + .../todo-list/type-itsm/StatusDoneFailed.vue | 29 + .../todo-list/type-itsm/StatusSuccess.vue | 18 + .../todo-list/type-itsm/StatusTodo.vue | 62 ++ .../type-resource-replenish/Index.vue | 26 + .../type-resource-replenish/StatusTodo.vue | 54 ++ .../components/task-info/Index.vue | 125 ++++ .../task-info/com-factory}/Default.vue | 2 +- .../task-info/com-factory/Index.vue | 469 +-------------- .../common/BatchClusterOperation.vue} | 29 +- .../com-factory/common/ClusterOperation.vue | 56 ++ .../bigdata/scale-up-&-shrink}/Index.vue | 15 +- .../scale-up-&-shrink}/SelectIpTable.vue | 0 .../mysql-account-rule-change}/Index.vue | 12 +- .../components/PreviewDiff.vue | 267 ++++----- .../components/RuleDeleteTable.vue | 47 ++ .../common/mysql-authorize-rules/Index.vue | 92 +++ .../components/RenderTable.vue | 277 +++++++++ .../common/mysql-dump-data/Index.vue} | 66 +-- .../common/mysql-import-sqlfile}/Index.vue | 20 +- .../components/render-sqlfile/Index.vue | 41 +- .../components/RenderFileContent.vue | 0 .../components/RenderFileList.vue | 0 .../common/mysql-open-area}/Index.vue | 13 +- .../mysql-open-area}/components/CloneRule.vue | 0 .../components/PermissionRule.vue | 9 +- .../components/TargetCluster.vue | 5 +- .../common/mysql-partition/Index.vue} | 9 +- .../common/mysql-rollback}/Index.vue | 31 +- .../components/RenderTableBase.vue | 112 ++++ .../components/RollbackExistCluster.vue | 40 ++ .../components/RollbackNewCluster.vue | 45 ++ .../components/RollbackOriginCluster.vue} | 12 +- .../common/mysql-truncate-data/Index.vue | 98 ++++ .../com-factory}/components/DemandInfo.vue | 90 ++- .../com-factory}/components/SpecInfos.vue | 4 +- .../components/TableGroupContent.vue | 0 .../components/info-list/Index.vue | 0 .../components/info-list/InfoItem.vue | 45 ++ .../task-info/com-factory/doris/Apply.vue} | 19 +- .../task-info/com-factory/doris/Destroy.vue | 34 ++ .../task-info/com-factory/doris/Disable.vue | 34 ++ .../task-info/com-factory/doris/Enable.vue | 34 ++ .../task-info/com-factory/doris/Reboot.vue | 74 +++ .../task-info/com-factory/doris/Replace.vue | 129 ++++ .../task-info/com-factory/doris/ScaleUp.vue | 34 ++ .../task-info/com-factory/doris/Shrink.vue | 34 ++ .../com-factory/dumper/DisableNodes.vue | 34 ++ .../com-factory/dumper/EnableNodes.vue | 34 ++ .../task-info/com-factory/dumper/Install.vue} | 21 +- .../com-factory/dumper/SwitchNodes.vue} | 16 +- .../dumper/common/Disable&Enable.vue} | 11 +- .../com-factory/elastic-search/Apply.vue} | 36 +- .../com-factory/elastic-search/Destroy.vue | 34 ++ .../com-factory/elastic-search/Disable.vue | 34 ++ .../com-factory/elastic-search/Enable.vue | 34 ++ .../com-factory/elastic-search}/Reboot.vue | 29 +- .../com-factory/elastic-search/Replace.vue | 129 ++++ .../com-factory/elastic-search/ScaleUp.vue | 34 ++ .../com-factory/elastic-search/Shrink.vue | 34 ++ .../task-info/com-factory/hdfs/Apply.vue} | 34 +- .../task-info/com-factory/hdfs/Destroy.vue | 34 ++ .../task-info/com-factory/hdfs/Disable.vue | 34 ++ .../task-info/com-factory/hdfs/Enable.vue | 34 ++ .../task-info/com-factory/hdfs/Reboot.vue} | 62 +- .../task-info/com-factory/hdfs}/Replace.vue | 47 +- .../task-info/com-factory/hdfs/ScaleUp.vue | 34 ++ .../task-info/com-factory/hdfs/Shrink.vue | 34 ++ .../task-info/com-factory/influxdb/Apply.vue} | 45 +- .../com-factory/influxdb/Destroy.vue | 35 ++ .../com-factory/influxdb/Disable.vue | 35 ++ .../task-info/com-factory/influxdb/Enable.vue | 35 ++ .../task-info/com-factory/influxdb/Reboot.vue | 35 ++ .../com-factory}/influxdb/Replace.vue | 27 +- .../influxdb/common/Operation.vue} | 0 .../task-info/com-factory/kafka/Apply.vue} | 34 +- .../task-info/com-factory/kafka/Destroy.vue | 34 ++ .../task-info/com-factory/kafka/Disable.vue | 34 ++ .../task-info/com-factory/kafka/Enable.vue | 34 ++ .../task-info/com-factory/kafka/Reboot.vue} | 64 +- .../task-info/com-factory/kafka/Replace.vue | 129 ++++ .../task-info/com-factory/kafka/ScaleUp.vue | 34 ++ .../task-info/com-factory/kafka/Shrink.vue | 34 ++ .../com-factory/mongodb/AddMongos.vue} | 67 +-- .../com-factory/mongodb/AddShardNodes.vue} | 56 +- .../com-factory/mongodb/AuthorizeRules.vue | 14 +- .../task-info/com-factory/mongodb/Backup.vue} | 74 +-- .../task-info/com-factory/mongodb/Cutoff.vue} | 71 +-- .../task-info/com-factory/mongodb/Destroy.vue | 21 + .../task-info/com-factory/mongodb/Disable.vue | 21 + .../task-info/com-factory/mongodb/Enable.vue | 21 + .../com-factory/mongodb/ExcelAuthorize.vue} | 14 +- .../com-factory/mongodb/ExecScriptApply.vue} | 47 +- .../com-factory/mongodb/FullBackup.vue} | 67 +-- .../com-factory/mongodb/InstanceDeinstall.vue | 53 ++ .../com-factory/mongodb/ReduceMongos.vue} | 45 +- .../com-factory/mongodb/ReduceShardNodes.vue} | 68 +-- .../com-factory/mongodb/RemoveNs.vue} | 73 +-- .../com-factory/mongodb/ReplicasetApply.vue} | 20 +- .../com-factory/mongodb/Restore.vue} | 175 +----- .../com-factory/mongodb/ScaleUpdown.vue} | 73 +-- .../com-factory/mongodb/ShardApply.vue} | 16 +- .../com-factory/mongodb/TemporaryDestroy.vue} | 40 +- .../common/Destroy&Disable&Enable.vue} | 46 +- .../mongodb}/components/RenderFileContent.vue | 0 .../mongodb}/components/SqlFileList.vue | 0 .../components}/TargetClusterPreview.vue | 0 .../com-factory/mysql/AccountRuleChange.vue | 21 + .../task-info/com-factory/mysql/AddSlave.vue | 61 ++ .../com-factory/mysql/AuthorizeRule.vue | 21 + .../task-info/com-factory/mysql/Checksum.vue | 119 ++++ .../com-factory/mysql/ClientCloneRules.vue | 72 +++ .../com-factory/mysql/DataMigrate.vue | 89 +++ .../com-factory/mysql/DataRepair.vue | 62 ++ .../task-info/com-factory/mysql/DumpData.vue | 21 + .../com-factory/mysql/ExcelAuthrizeRule.vue | 21 + .../task-info/com-factory/mysql/Flashback.vue | 104 ++++ .../com-factory/mysql/ForceImportSqlfile.vue | 21 + .../task-info/com-factory/mysql/HaApply.vue | 191 ++++++ .../com-factory/mysql/HaDBTableBackup.vue | 85 +++ .../com-factory/mysql/HaDbRename.vue | 32 + .../task-info/com-factory/mysql/HaDestroy.vue | 22 + .../task-info/com-factory/mysql/HaDisable.vue | 22 + .../task-info/com-factory/mysql/HaEnable.vue | 22 + .../com-factory/mysql/HaFullBackup.vue | 98 ++++ .../com-factory/mysql/HaTruncateData.vue | 21 + .../com-factory/mysql/ImportSqlfile.vue | 21 + .../com-factory/mysql/InstanceCloneRules.vue | 54 ++ .../com-factory/mysql/LocalUpgrade.vue | 82 +++ .../com-factory/mysql/MasterFailOver.vue | 74 +++ .../com-factory/mysql/MasterSlaveSwitch.vue | 74 +++ .../com-factory/mysql/MigrateCluster.vue | 78 +++ .../com-factory/mysql/MigrateUpgrade.vue | 145 +++++ .../task-info/com-factory/mysql/OpenArea.vue | 21 + .../task-info/com-factory/mysql/Partition.vue | 21 + .../task-info/com-factory/mysql/ProxyAdd.vue | 56 ++ .../com-factory/mysql/ProxySwitch.vue | 90 +++ .../com-factory/mysql/ProxyUpgrade.vue | 68 +++ .../com-factory/mysql/RestoreLocalSlave.vue | 62 ++ .../com-factory/mysql/RestoreSlave.vue | 68 +++ .../com-factory/mysql/RollbackCluster.vue | 21 + .../com-factory/mysql/SingleApply.vue | 130 ++++ .../com-factory/mysql/SingleBbRename.vue | 21 + .../com-factory/mysql/SingleDestroy.vue | 22 + .../com-factory/mysql/SingleDisable.vue | 22 + .../com-factory/mysql/SingleEnable.vue | 22 + .../com-factory/mysql/SingleTruncateData.vue | 21 + .../mysql/authorize-rule/Index.vue | 250 -------- .../com-factory/mysql/common/DBRename.vue | 36 ++ .../mysql}/components/VersionContent.vue | 0 .../openarea/components/PermissionRule.vue | 2 +- .../task-info/com-factory/pulsar/Apply.vue} | 60 +- .../task-info/com-factory/pulsar/Destroy.vue | 34 ++ .../task-info/com-factory/pulsar/Disable.vue | 34 ++ .../task-info/com-factory/pulsar/Enable.vue | 34 ++ .../task-info/com-factory/pulsar/Reboot.vue | 82 +++ .../task-info/com-factory/pulsar/Replace.vue | 141 +++++ .../task-info/com-factory/pulsar/ScaleUp.vue | 34 ++ .../task-info/com-factory/pulsar/Shrink.vue | 34 ++ .../task-info/com-factory/redis/Backup.vue | 72 +++ .../com-factory/redis/ClusterAddSlave.vue} | 12 +- .../com-factory/redis/ClusterApply.vue | 227 +++++++ .../com-factory/redis/ClusterCutoff.vue | 56 ++ .../com-factory/redis/ClusterDataCopy.vue | 170 ++++++ .../redis/ClusterRollbackDataCopy.vue} | 15 +- .../redis/ClusterShardNumUpdate.vue | 110 ++++ .../com-factory/redis/ClusterTypeUpdate.vue | 118 ++++ .../com-factory/redis/DataStructure.vue | 80 +++ .../redis/DataStructureTaskDelete.vue} | 14 +- .../redis/DatacopyCheckRepair.vue} | 17 +- .../task-info/com-factory/redis/Destroy.vue | 34 ++ .../task-info/com-factory/redis/InsApply.vue} | 20 +- .../com-factory/redis/InstanceDestroy.vue | 34 ++ .../com-factory/redis/InstanceProxyClose.vue | 34 ++ .../com-factory/redis/InstanceProxyOpen.vue | 34 ++ .../com-factory/redis/KeysDelete.vue | 73 +++ .../com-factory/redis/KeysExtract.vue | 75 +++ .../com-factory/redis/PluginDeleteClb.vue | 34 ++ .../com-factory/redis/PluginDnsBindClb.vue | 34 ++ .../com-factory/redis/PluginDnsUnbindClb.vue | 34 ++ .../com-factory/redis/ProxyClose.vue | 34 ++ .../task-info/com-factory/redis/ProxyOpen.vue | 34 ++ .../com-factory/redis/ProxyScaleDown.vue | 75 +++ .../com-factory/redis/ProxyScaleUp.vue | 63 ++ .../task-info/com-factory/redis/Purge.vue | 99 ++++ .../com-factory/redis/ScaleUpdown.vue | 208 +++++++ .../redis/VersionUpdateOnline.vue} | 14 +- .../com-factory/redis/common/Clb.vue} | 5 +- .../redis/common/InstanceOperation.vue} | 26 +- .../com-factory/redis/masterSlaveSwitch.vue | 71 +++ .../com-factory/redis/pluginCreateClb.vue | 34 ++ .../task-info/com-factory/riak/Apply.vue} | 41 +- .../task-info/com-factory/riak/Destroy.vue | 34 ++ .../task-info/com-factory/riak/Disable.vue | 34 ++ .../task-info/com-factory/riak/Enable.vue | 34 ++ .../task-info/com-factory/riak/Reboot.vue} | 36 +- .../task-info/com-factory/riak/ScaleIn.vue | 34 ++ .../task-info/com-factory/riak/ScaleOut.vue | 34 ++ .../riak/common/ScaleIn&ScaleOut.vue} | 30 +- .../com-factory/spider/AuthorizeRules.vue | 204 ------- .../com-factory}/sqlserver/AddSlave.vue | 5 +- .../com-factory}/sqlserver/AuthorizeRules.vue | 3 +- .../com-factory}/sqlserver/BackupDbs.vue | 9 +- .../com-factory}/sqlserver/BuildDbSync.vue | 5 +- .../com-factory}/sqlserver/ClearDbs.vue | 5 +- .../com-factory}/sqlserver/ClusterDestroy.vue | 7 +- .../com-factory}/sqlserver/ClusterDisable.vue | 7 +- .../com-factory}/sqlserver/ClusterEnable.vue | 7 +- .../com-factory}/sqlserver/DataMigrate.vue | 5 +- .../com-factory}/sqlserver/DbRename.vue | 5 +- .../com-factory}/sqlserver/HaApply.vue | 15 +- .../com-factory}/sqlserver/ImportSqlfile.vue | 3 +- .../com-factory}/sqlserver/MasterFailOver.vue | 5 +- .../sqlserver/MasterSlaveSwitch.vue | 5 +- .../com-factory/sqlserver/ModifyStatus.vue | 52 ++ .../com-factory}/sqlserver/Reset.vue | 5 +- .../sqlserver/RestoreLocalSlave.vue | 5 +- .../com-factory}/sqlserver/RestoreSlave.vue | 5 +- .../com-factory}/sqlserver/Rollback.vue | 9 +- .../com-factory}/sqlserver/SingleApply.vue | 13 +- .../sqlserver/common/DataMigrate.vue | 8 +- .../com-factory}/sqlserver/fullMigrate.vue | 1 + .../com-factory}/sqlserver/incrMigrate.vue | 1 + .../tendbCluster/AccountRuleChange.vue | 23 + .../com-factory/tendbCluster/Apply.vue | 156 +++++ .../tendbCluster/AuthorizeRule.vue | 21 + .../com-factory/tendbCluster/CheckSum.vue | 178 ++++++ .../tendbCluster/ClientCloneRules.vue | 73 +++ .../tendbCluster/ClusterDestroy.vue | 35 ++ .../tendbCluster/ClusterDisable.vue | 35 ++ .../tendbCluster/ClusterEnable.vue | 35 ++ .../tendbCluster/DBTableBackup.vue | 104 ++++ .../com-factory/tendbCluster/DataRepair.vue | 62 ++ .../com-factory/tendbCluster/DumpData.vue | 21 + .../tendbCluster/ExcelAuthrizeRule.vue | 21 + .../com-factory/tendbCluster/Flashback.vue | 111 ++++ .../tendbCluster/ForceImportSqlfile.vue | 21 + .../com-factory/tendbCluster/FullBackup.vue | 88 +++ .../tendbCluster/ImportSqlfile.vue | 21 + .../tendbCluster/InstanceCloneRules.vue | 54 ++ .../tendbCluster/MasterFailOver.vue | 69 +++ .../tendbCluster/MasterSlaveSwitch.vue | 69 +++ .../tendbCluster/MigrateCluster.vue | 156 +++++ .../tendbCluster/NodeRebalance.vue | 115 ++++ .../com-factory/tendbCluster/OpenArea.vue | 21 + .../com-factory/tendbCluster/Partition.vue | 21 + .../tendbCluster/RenameDataBase.vue | 67 +++ .../tendbCluster/RestoreLocalSlave.vue | 60 ++ .../com-factory/tendbCluster/RestoreSlave.vue | 62 ++ .../tendbCluster/RollbackCluster.vue | 150 +++++ .../tendbCluster/SpiderAddNodes.vue | 88 +++ .../tendbCluster/SpiderMntApply.vue | 56 ++ .../tendbCluster/SpiderMntDestroy.vue | 52 ++ .../tendbCluster/SpiderReduceNodes.vue | 73 +++ .../tendbCluster/SpiderSlaveApply.vue | 56 ++ .../tendbCluster/SpiderSlaveDestroy.vue | 54 ++ .../tendbCluster/TemporaryDestroy.vue | 52 ++ .../tendbCluster/TruncateDatabase.vue | 21 + .../components/task-info}/hooks/logCounts.ts | 0 .../task-info}/hooks/useAffinity.ts | 0 .../task-info}/hooks/useTargetClusterData.ts | 16 +- .../views/ticket-center/detail-page/Index.vue | 12 + .../src/views/ticket-center/routes.ts | 65 ++ .../self-apply}/Index.vue | 40 +- .../self-apply/components/list/Index.vue | 30 + .../components/list/components/CardMode.vue | 56 ++ .../components/list/components/TableMode.vue | 139 +++++ .../self-done}/Index.vue | 40 +- .../self-done/components/list/Index.vue | 30 + .../components/list/components/CardMode.vue | 56 ++ .../components/list/components/TableMode.vue | 133 +++++ .../self-manage}/Index.vue | 40 +- .../self-manage/components/list/Index.vue | 30 + .../components/list/components/CardMode.vue | 56 ++ .../components/list/components/TableMode.vue | 127 ++++ .../views/ticket-center/self-todo/Index.vue | 72 +++ .../self-todo/components/list/Index.vue | 30 + .../components/list/components/CardMode.vue | 122 ++++ .../components/list/components/TableMode.vue | 188 ++++++ .../components/batch-operation/Index.vue | 144 +++++ .../batch-operation/StatusApproveAction.vue | 35 ++ .../StatusResourceReplenishAction.vue | 35 ++ .../batch-operation/StatusTodoAction.vue | 35 ++ .../components/row-action/Index.vue | 31 + .../components/row-action/StatusApprove.vue | 41 ++ .../components/row-action/StatusFailed.vue | 65 ++ .../components/row-action/StatusInnerTodo.vue | 65 ++ .../row-action/StatusResourceReplenish.vue | 40 ++ .../components/row-action/StatusTodo.vue | 40 ++ .../list/components/hooks/useStatusList.ts | 66 +++ .../src/views/ticket-manage/Index.vue | 3 - .../list/components/detail/Index.vue | 12 - .../list/components/list/Index.vue | 19 - .../components/list/components/CardMode.vue | 234 -------- .../components/list/components/TableMode.vue | 184 ------ .../list/components/hooks/use-data.ts | 107 ---- .../list/components/hooks/use-date-picker.ts | 74 --- .../components/hooks/use-search-select.ts | 77 --- .../list/components/hooks/use-table-height.ts | 28 - .../src/views/ticket-manage/routes.ts | 48 -- .../components/detail/Index.vue | 12 - .../components/list/Index.vue | 19 - .../components/list/components/CardMode.vue | 234 -------- .../components/list/components/TableMode.vue | 1 - .../list/components/hooks/use-data.ts | 104 ---- .../list/components/hooks/use-date-picker.ts | 74 --- .../components/hooks/use-search-select.ts | 92 --- .../list/components/hooks/use-table-height.ts | 28 - .../src/views/ticket-self-apply/routes.ts | 30 - .../components/detail/Index.vue | 12 - .../components/list/Index.vue | 19 - .../components/list/components/CardMode.vue | 234 -------- .../components/list/components/TableMode.vue | 186 ------ .../components/hooks/use-search-select.ts | 92 --- .../list/components/hooks/use-table-height.ts | 28 - .../src/views/ticket-self-manage/routes.ts | 30 - .../components/detail/Index.vue | 255 -------- .../components/list/Index.vue | 19 - .../components/list/components/CardMode.vue | 234 -------- .../components/list/components/TableMode.vue | 184 ------ .../list/components/hooks/use-data.ts | 104 ---- .../list/components/hooks/use-date-picker.ts | 74 --- .../components/hooks/use-search-select.ts | 91 --- .../list/components/hooks/use-table-height.ts | 28 - .../src/views/ticket-self-todo/routes.ts | 30 - .../common/components/baseinfo/Index.vue | 289 --------- .../components/demand-factory/common/types.ts | 194 ------ .../components/info-list/InfoItem.vue | 2 +- .../demand-factory/mongodb/ScaleUpdown.vue | 59 -- .../demand-factory/mysql/Checksum.vue | 162 ----- .../components/demand-factory/mysql/Clone.vue | 131 ----- .../demand-factory/mysql/ClusterOperation.vue | 95 --- .../demand-factory/mysql/DataMigrate.vue | 91 --- .../demand-factory/mysql/Details.vue | 210 ------- .../demand-factory/mysql/Flashback.vue | 115 ---- .../demand-factory/mysql/HATruncate.vue | 174 ------ .../demand-factory/mysql/MasterFailOver.vue | 117 ---- .../mysql/MasterSlaveSwitch.vue | 117 ---- .../demand-factory/mysql/MigrateCluster.vue | 101 ---- .../demand-factory/mysql/OpenArea.vue | 127 ---- .../demand-factory/mysql/ProxyAdd.vue | 95 --- .../mysql/RestoreLocalSlave.vue | 102 ---- .../demand-factory/mysql/RestoreSlave.vue | 113 ---- .../demand-factory/mysql/SlaveAdd.vue | 104 ---- .../demand-factory/mysql/TableBackup.vue | 151 ----- .../components/RuleDeleteTable.vue | 65 -- .../components/SyntaxChecking.vue | 38 -- .../mysql/proxy-replace/Index.vue | 70 --- .../proxy-replace/components/ReplaceHost.vue | 88 --- .../demand-factory/mysql/rollback/Index.vue | 66 --- .../components/RollbackNewCluster.vue | 146 ----- .../components/RollbackOriginCluster.vue | 75 --- .../version-upgrade/VersionLocalUpgrade.vue | 158 ----- .../version-upgrade/VersionMigrateUpgrade.vue | 243 -------- .../version-upgrade/VersionProxyUpgrade.vue | 125 ---- .../redis/ClusterCapacityUpdate.vue | 245 -------- .../redis/ClusterShardUpdate.vue | 170 ------ .../redis/ClusterTypeUpdate.vue | 191 ------ .../demand-factory/redis/DBReplace.vue | 71 --- .../demand-factory/redis/DataCopy.vue | 285 --------- .../demand-factory/redis/DataStructure.vue | 98 ---- .../demand-factory/redis/Details.vue | 298 ---------- .../demand-factory/redis/MasterFailover.vue | 94 --- .../demand-factory/redis/Operation.vue | 265 --------- .../demand-factory/redis/ProxyScaleDown.vue | 92 --- .../demand-factory/redis/ProxyScaleUp.vue | 85 --- .../demand-factory/spider/CheckSum.vue | 162 ----- .../demand-factory/spider/Destroy.vue | 88 --- .../demand-factory/spider/Details.vue | 166 ------ .../demand-factory/spider/Disable.vue | 85 --- .../demand-factory/spider/Enable.vue | 88 --- .../demand-factory/spider/Flashback.vue | 128 ---- .../demand-factory/spider/MNTApply.vue | 92 --- .../demand-factory/spider/MNTDestroy.vue | 92 --- .../demand-factory/spider/MasterFailOver.vue | 81 --- .../spider/MasterSlaveSwitch.vue | 83 --- .../demand-factory/spider/MigrateCluster.vue | 134 ----- .../demand-factory/spider/RenameDatabase.vue | 96 --- .../demand-factory/spider/SlaveDestroy.vue | 88 --- .../demand-factory/spider/SlaveRebuild.vue | 105 ---- .../spider/TargetClusterPreview.vue | 160 ----- .../spider/TruncateDatabase.vue | 127 ---- .../components/RollbackNewCluster.vue | 150 ----- .../components/RollbackOriginCluster.vue | 73 --- .../demand-factory/sqlserver/Details.vue | 198 ------- .../components/ContentInnerFlow.vue | 156 ----- .../flow-content/components/ContentTodo.vue | 91 --- .../flow-content/components/FlowIcon.vue | 125 ---- .../tickets/common/styles/ticketDetails.less | 79 --- .../src/views/tickets/my-tickets/Index.vue | 63 -- .../my-tickets/components/details/Index.vue | 12 - .../details/components/BaseInfo.vue | 67 --- .../details/components/flow/Index.vue | 165 ------ .../components/flow/components/Common.vue | 62 -- .../flow/components/MySqlDumpDataFlows.vue | 100 ---- .../components/flow/components/RedisFlows.vue | 92 --- .../my-tickets/components/list/Index.vue | 498 ---------------- .../list/components/TicketStatus.vue | 61 -- .../src/views/tickets/my-todos/Index.vue | 48 -- .../tickets/my-todos/components/List.vue | 553 ------------------ .../my-todos/components/details/Index.vue | 289 --------- .../details/components/BaseInfo.vue | 67 --- .../components/details/components/Demand.vue | 28 - .../details/components/flow/Index.vue | 193 ------ .../components/flow/components/Approve.vue | 263 --------- .../components/flow/components/RedisFlows.vue | 295 ---------- .../flow/components/approve/Index.vue | 88 --- .../components/approve/InnerManualConfirm.vue | 111 ---- .../flow/components/approve/ManualConfirm.vue | 224 ------- dbm-ui/frontend/src/views/tickets/routes.ts | 51 -- .../list/components/FileContent.vue | 2 +- .../src/views/whitelist/list/Index.vue | 2 +- dbm-ui/frontend/tsconfig.json | 2 +- 974 files changed, 25595 insertions(+), 19697 deletions(-) create mode 100644 dbm-ui/frontend/src/common/const/clusterAffinity.ts create mode 100644 dbm-ui/frontend/src/common/table/BkTable.vue create mode 100644 dbm-ui/frontend/src/common/table/BkTableColumn.vue create mode 100644 dbm-ui/frontend/src/common/table/adapter.ts create mode 100644 dbm-ui/frontend/src/common/table/components/RenderCell.ts create mode 100644 dbm-ui/frontend/src/common/table/components/RenderHead.ts create mode 100644 dbm-ui/frontend/src/common/table/components/setting-column/Index.vue create mode 100644 dbm-ui/frontend/src/common/table/components/setting-column/components/ActionTab.vue create mode 100644 dbm-ui/frontend/src/common/table/components/setting-column/components/FieldList.vue create mode 100644 dbm-ui/frontend/src/common/table/components/setting-column/components/Others.vue create mode 100644 dbm-ui/frontend/src/common/table/components/setting-column/useOutSideClick.ts create mode 100644 dbm-ui/frontend/src/common/table/style/vxe-table-path.less create mode 100644 dbm-ui/frontend/src/common/table/utils/index.ts rename dbm-ui/frontend/src/{views/tickets/common/styles/DetailsTable.less => common/table/utils/makeMap.ts} (69%) rename dbm-ui/frontend/src/components/{mult-line-text => multline-text}/Index.vue (85%) create mode 100644 dbm-ui/frontend/src/components/tag-block/Index.vue create mode 100644 dbm-ui/frontend/src/components/ticket-status-tag/Index.vue delete mode 100644 dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/rollback.ts create mode 100644 dbm-ui/frontend/src/hooks/useTicketCount.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/replace.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/scaleUp.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/doris/shrink.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/dumper/disableNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/dumper/enableNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/dumper/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/dumper/install.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/dumper/reduceNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/dumper/switchNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/replace.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/scaleUp.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/elastic-search/shrink.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/replace.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/scaleUp.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/hdfs/shrink.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/influxdb/replace.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/replace.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/scaleUp.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/kafka/shrink.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/addMongos.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/addShardNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/authorizeRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/backup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/cutoff.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/excelAuthorize.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/execScriptApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/fullBackup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/instanceDeinstall.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/reduceMongos.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/reduceShardNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/removeNs.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/replicasetApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/restore.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/scaleUpdown.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/shardApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mongodb/temporaryDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/accountRuleChange.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/addSlava.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/authorizeRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/checkSum.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/clientCloneRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/dataMigrate.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/dataRepair.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/dumpData.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/flashBack.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haDBTableBackup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haDisable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haEnable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haFullBackup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/haRenameDatabase.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/importSqlFile.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/instanceCloneRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/localUpgrade.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/masterFailOver.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/masterSlaveSwitch.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/migrateCluster.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/migrateUpgrade.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/openArea.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/partition.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/proxyAdd.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/proxySwitch.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/proxyUpgrade.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/restoreLocalSlave.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/restoreSlave.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/rollBackCluster.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/singleApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/singleDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/singleDisable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/singleEnable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/singleRenameDatabase.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/mysql/truncateData.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/replace.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/scaleUp.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/pulsar/shrink.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/backup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterAddSlave.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterCutoff.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterDataCopy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterRollbackDataCopy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterShardNumUpdate.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/clusterTypeUpdate.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/dataStructure.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/dataStructureTaskDelete.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/datacopyCheckRepair.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/insApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/instanceDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/instanceProxyClose.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/instanceProxyOpen.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/keysDelete.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/keysExtract.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/masterSlaveSwitch.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/pluginCreateClb.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/pluginCreatePolaris.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/pluginDeleteClb.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/pluginDeletePolaris.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/pluginDnsBindClb.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/pluginDnsUnbindClb.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/proxyClose.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/proxyOpen.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/proxyScaleDown.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/proxyScaleUp.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/purge.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/scaleUpdown.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/slotsMigrate.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/redis/versionUpdateOnline.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/reboot.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/scaleIn.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/riak/scaleOut.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/sqlserver/modifyStatus.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/accountRuleChange.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/apply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/authorizeRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/checkSum.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/clientCloneRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/dBTableBackup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/dataRepair.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/destroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/disable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/dumpData.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/enable.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/excelAuthorizeRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/flashBack.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/fullBackup.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/importSqlFile.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/index.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/instanceCloneRules.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/masterFailOver.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/masterSlaveSwitch.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/migrateCluster.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/nodeRebalance.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/openArea.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/partition.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/renameDataBase.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/restoreLocalSlave.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/restoreSlave.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/rollBackCluster.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/spiderAddNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/spiderMntApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/spiderMntDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/spiderReduceNodes.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/spiderSlaveApply.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/spiderSlaveDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/temporaryDestroy.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/truncateData.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/details/tendbCluster/truncateDataBase.ts create mode 100644 dbm-ui/frontend/src/services/model/ticket/flow.ts create mode 100644 dbm-ui/frontend/src/services/source/ticketFlow.ts create mode 100644 dbm-ui/frontend/src/utils/getBusinessHref.ts create mode 100644 dbm-ui/frontend/src/views/db-manage/common/FlowRedisKeyExtract.vue create mode 100644 dbm-ui/frontend/src/views/db-manage/mysql/db-backup/pages/page1/components/RenderData/RenderCluster.vue delete mode 100644 dbm-ui/frontend/src/views/spider-manage/rollback/pages/page1/Index.vue rename dbm-ui/frontend/src/views/{ticket-manage/list => ticket-center/business}/Index.vue (54%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/business/components/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/business/components/list/components/CardMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/business/components/list/components/TableMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/CardModeList.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/TableModeTable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/TicketClone.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/TicketDetailLink.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/TicketRevoke.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessApproveExce.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessFailedTerminate.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessPass.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessRefuse.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessResourceReplenish.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessRetry.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/action-confirm/ProcessTerminate.vue rename dbm-ui/frontend/src/views/{ticket-self-manage/components/list/components => ticket-center/common}/hooks/use-date-picker.ts (84%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/hooks/use-detail-precheck.ts rename dbm-ui/frontend/src/views/{ticket-self-manage/components/list/components/hooks/use-data.ts => ticket-center/common/hooks/use-fetch-data.ts} (54%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/hooks/use-search-select.ts create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/Index.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/import-sql-file/components => ticket-center/common/ticket-detail/components/common}/MessageList.vue (98%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/import-sql-file/components/RenderFileContent.vue => ticket-center/common/ticket-detail/components/common/SqlFileContent.vue} (97%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/import-sql-file/components => ticket-center/common/ticket-detail/components/common}/SqlFileList.vue (100%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/FlowTypeBase.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/StatusFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/StatusRunning.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/StatusSkipped.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/StatusSucceeded.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/StatusTerminated.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/StausPending.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-common/index.ts create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-delivery/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-delivery/components/SqlGrammarCheck.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-describe-task/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-describe-task/StatusSucceeded.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-inner-flow/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-inner-flow/StatusFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-inner-flow/StatusRunning.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-inner-flow/StatusSucceeded.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-inner-flow/StatusTerminated.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-inner-flow/components/MysqlDumpDataDownload.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-itsm/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-itsm/StatusFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-itsm/StatusRunning.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-itsm/StatusSucceeded.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-itsm/StatusTerminated.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-pause/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-pause/StatusFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-pause/StatusRunning.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-pause/StatusSucceeded.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-pause/StatusTerminated.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-timer/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-timer/StatusRunning.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/flow-type-timer/components/RunCountdown.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/time-line/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/time-line/TimeLineItem.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/common/StatusDoneFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/common/StatusDoneSuccess.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/common/StatusTodo.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/common/index.ts create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-approve/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-inner-approve/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-inner-approve/StatusTodo.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-itsm/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-itsm/StatusDoneFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-itsm/StatusSuccess.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-itsm/StatusTodo.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-resource-replenish/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/flow-info/components/todo-list/type-resource-replenish/StatusTodo.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/Index.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/Default.vue (95%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/sqlserver/common/Disabled&enable&destroy.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/common/BatchClusterOperation.vue} (71%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/ClusterOperation.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/expansion-capacity => ticket-center/common/ticket-detail/components/task-info/com-factory/common/bigdata/scale-up-&-shrink}/Index.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/expansion-capacity => ticket-center/common/ticket-detail/components/task-info/com-factory/common/bigdata/scale-up-&-shrink}/SelectIpTable.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/account-rule-change => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-account-rule-change}/Index.vue (79%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/account-rule-change => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-account-rule-change}/components/PreviewDiff.vue (55%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-account-rule-change/components/RuleDeleteTable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-authorize-rules/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-authorize-rules/components/RenderTable.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/ExportData.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-dump-data/Index.vue} (76%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/components/import-sqlfile => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-import-sqlfile}/Index.vue (92%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/components/import-sqlfile => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-import-sqlfile}/components/render-sqlfile/Index.vue (82%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/components/import-sqlfile => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-import-sqlfile}/components/render-sqlfile/components/RenderFileContent.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/components/import-sqlfile => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-import-sqlfile}/components/render-sqlfile/components/RenderFileList.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/openarea => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-open-area}/Index.vue (93%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/openarea => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-open-area}/components/CloneRule.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/openarea => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-open-area}/components/PermissionRule.vue (95%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/openarea => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-open-area}/components/TargetCluster.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/Partition.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-partition/Index.vue} (88%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/spider/rollback => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-rollback}/Index.vue (66%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-rollback/components/RenderTableBase.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-rollback/components/RollbackExistCluster.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-rollback/components/RollbackNewCluster.vue rename dbm-ui/frontend/src/views/{tickets/my-tickets/components/details/components/Demand.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-rollback/components/RollbackOriginCluster.vue} (73%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/common/mysql-truncate-data/Index.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/components/DemandInfo.vue (51%) rename dbm-ui/frontend/src/views/{tickets/common => ticket-center/common/ticket-detail/components/task-info/com-factory}/components/SpecInfos.vue (97%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/components/TableGroupContent.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/components/info-list/Index.vue (100%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/components/info-list/InfoItem.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsDoris.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Apply.vue} (95%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Enable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Reboot.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Replace.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/ScaleUp.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/doris/Shrink.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/dumper/DisableNodes.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/dumper/EnableNodes.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/DumperInstall.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/dumper/Install.vue} (92%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/DumperSwitchNode.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/dumper/SwitchNodes.vue} (82%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/DumperNodeStatusUpdate.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/dumper/common/Disable&Enable.vue} (85%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsES.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/Apply.vue} (92%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/Enable.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata => ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search}/Reboot.vue (76%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/Replace.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/ScaleUp.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/elastic-search/Shrink.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsHDFS.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/Apply.vue} (91%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/Enable.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsClusterOperation.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/Reboot.vue} (60%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata => ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs}/Replace.vue (83%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/ScaleUp.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/hdfs/Shrink.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsInfluxDB.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/influxdb/Apply.vue} (86%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/influxdb/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/influxdb/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/influxdb/Enable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/influxdb/Reboot.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/influxdb/Replace.vue (74%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/influxdb/Operations.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/influxdb/common/Operation.vue} (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsKafka.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Apply.vue} (91%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Enable.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/Rename.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Reboot.vue} (53%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Replace.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/ScaleUp.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/kafka/Shrink.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/ProxyScaleUp.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/AddMongos.vue} (58%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/ShardScaleUp.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/AddShardNodes.vue} (66%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DbTableBackup.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/Backup.vue} (72%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DBReplace.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/Cutoff.vue} (59%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/Enable.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/AuthorizeRules.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ExcelAuthorize.vue} (95%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/script-execute/Index.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ExecScriptApply.vue} (85%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DbBackup.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/FullBackup.vue} (64%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/InstanceDeinstall.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/ProxyScaleDown.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ReduceMongos.vue} (67%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/ShardScaleDown.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ReduceShardNodes.vue} (70%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DbClear.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/RemoveNs.vue} (71%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DetailsMongoDBReplicaSet.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ReplicasetApply.vue} (91%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DbStruct.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/Restore.vue} (54%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/CapacityChange.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ScaleUpdown.vue} (56%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DetailsMongoDBSharedCluster.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/ShardApply.vue} (92%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/TemporaryDestrot.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/TemporaryDestroy.vue} (61%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/DetailsClusterOperation.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/common/Destroy&Disable&Enable.vue} (62%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/script-execute => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb}/components/RenderFileContent.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb/script-execute => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb}/components/SqlFileList.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mongodb => ticket-center/common/ticket-detail/components/task-info/com-factory/mongodb/components}/TargetClusterPreview.vue (100%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/AccountRuleChange.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/AddSlave.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/AuthorizeRule.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/Checksum.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ClientCloneRules.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/DataMigrate.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/DataRepair.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/DumpData.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ExcelAuthrizeRule.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/Flashback.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ForceImportSqlfile.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaApply.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaDBTableBackup.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaDbRename.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaDisable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaEnable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaFullBackup.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/HaTruncateData.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ImportSqlfile.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/InstanceCloneRules.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/LocalUpgrade.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/MasterFailOver.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/MasterSlaveSwitch.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/MigrateCluster.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/MigrateUpgrade.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/OpenArea.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/Partition.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ProxyAdd.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ProxySwitch.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/ProxyUpgrade.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/RestoreLocalSlave.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/RestoreSlave.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/RollbackCluster.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/SingleApply.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/SingleBbRename.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/SingleDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/SingleDisable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/SingleEnable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/SingleTruncateData.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/authorize-rule/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/mysql/common/DBRename.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/mysql/version-upgrade => ticket-center/common/ticket-detail/components/task-info/com-factory/mysql}/components/VersionContent.vue (100%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsPulsar.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Apply.vue} (88%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Enable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Reboot.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Replace.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/ScaleUp.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/pulsar/Shrink.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/Backup.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/AddSlave.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterAddSlave.vue} (90%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterApply.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterCutoff.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterDataCopy.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/RollbackDataCopy.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterRollbackDataCopy.vue} (91%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterShardNumUpdate.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ClusterTypeUpdate.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/DataStructure.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/StructureDelete.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/DataStructureTaskDelete.vue} (78%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/DataCheckAndRepair.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/DatacopyCheckRepair.vue} (91%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/Destroy.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/DetailsHa.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/InsApply.vue} (93%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/InstanceDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/InstanceProxyClose.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/InstanceProxyOpen.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/KeysDelete.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/KeysExtract.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/PluginDeleteClb.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/PluginDnsBindClb.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/PluginDnsUnbindClb.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ProxyClose.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ProxyOpen.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ProxyScaleDown.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ProxyScaleUp.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/Purge.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/ScaleUpdown.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/VersionUpgrade.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/VersionUpdateOnline.vue} (84%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/CLBDetail.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/common/Clb.vue} (88%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/redis/HaClusterOperation.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/redis/common/InstanceOperation.vue} (75%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/masterSlaveSwitch.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/redis/pluginCreateClb.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/DetailsRiak.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/riak/Apply.vue} (86%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/riak/Destroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/riak/Disable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/riak/Enable.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/RiakReboot.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/riak/Reboot.vue} (75%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/riak/ScaleIn.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/riak/ScaleOut.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory/bigdata/RiakExpansionCapacity.vue => ticket-center/common/ticket-detail/components/task-info/com-factory/riak/common/ScaleIn&ScaleOut.vue} (87%) delete mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/spider/AuthorizeRules.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/AddSlave.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/AuthorizeRules.vue (99%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/BackupDbs.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/BuildDbSync.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/ClearDbs.vue (97%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/ClusterDestroy.vue (85%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/ClusterDisable.vue (85%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/ClusterEnable.vue (85%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/DataMigrate.vue (96%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/DbRename.vue (95%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/HaApply.vue (93%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/ImportSqlfile.vue (92%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/MasterFailOver.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/MasterSlaveSwitch.vue (94%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/sqlserver/ModifyStatus.vue rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/Reset.vue (93%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/RestoreLocalSlave.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/RestoreSlave.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/Rollback.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/SingleApply.vue (94%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/common/DataMigrate.vue (93%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/fullMigrate.vue (97%) rename dbm-ui/frontend/src/views/{tickets/common/components/demand-factory => ticket-center/common/ticket-detail/components/task-info/com-factory}/sqlserver/incrMigrate.vue (97%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/AccountRuleChange.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/Apply.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/AuthorizeRule.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/CheckSum.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ClientCloneRules.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ClusterDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ClusterDisable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ClusterEnable.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/DBTableBackup.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/DataRepair.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/DumpData.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ExcelAuthrizeRule.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/Flashback.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ForceImportSqlfile.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/FullBackup.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/ImportSqlfile.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/InstanceCloneRules.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/MasterFailOver.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/MasterSlaveSwitch.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/MigrateCluster.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/NodeRebalance.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/OpenArea.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/Partition.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/RenameDataBase.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/RestoreLocalSlave.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/RestoreSlave.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/RollbackCluster.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/SpiderAddNodes.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/SpiderMntApply.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/SpiderMntDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/SpiderReduceNodes.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/SpiderSlaveApply.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/SpiderSlaveDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/TemporaryDestroy.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/common/ticket-detail/components/task-info/com-factory/tendbCluster/TruncateDatabase.vue rename dbm-ui/frontend/src/views/{tickets/common => ticket-center/common/ticket-detail/components/task-info}/hooks/logCounts.ts (100%) rename dbm-ui/frontend/src/views/{tickets/common => ticket-center/common/ticket-detail/components/task-info}/hooks/useAffinity.ts (100%) rename dbm-ui/frontend/src/views/{tickets/common => ticket-center/common/ticket-detail/components/task-info}/hooks/useTargetClusterData.ts (84%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/detail-page/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/routes.ts rename dbm-ui/frontend/src/views/{ticket-self-todo => ticket-center/self-apply}/Index.vue (55%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-apply/components/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-apply/components/list/components/CardMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-apply/components/list/components/TableMode.vue rename dbm-ui/frontend/src/views/{ticket-self-manage => ticket-center/self-done}/Index.vue (55%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-done/components/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-done/components/list/components/CardMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-done/components/list/components/TableMode.vue rename dbm-ui/frontend/src/views/{ticket-self-apply => ticket-center/self-manage}/Index.vue (55%) create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-manage/components/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-manage/components/list/components/CardMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-manage/components/list/components/TableMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/CardMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/TableMode.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/batch-operation/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/batch-operation/StatusApproveAction.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/batch-operation/StatusResourceReplenishAction.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/batch-operation/StatusTodoAction.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/row-action/Index.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/row-action/StatusApprove.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/row-action/StatusFailed.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/row-action/StatusInnerTodo.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/row-action/StatusResourceReplenish.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/components/row-action/StatusTodo.vue create mode 100644 dbm-ui/frontend/src/views/ticket-center/self-todo/components/list/components/hooks/useStatusList.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/Index.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/Index.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/components/CardMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/components/TableMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/components/hooks/use-data.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/components/hooks/use-date-picker.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/components/hooks/use-search-select.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/list/components/list/components/hooks/use-table-height.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-manage/routes.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/components/list/Index.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/components/list/components/CardMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/components/list/components/hooks/use-data.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/components/list/components/hooks/use-date-picker.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/components/list/components/hooks/use-search-select.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/components/list/components/hooks/use-table-height.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-apply/routes.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-manage/components/list/Index.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-manage/components/list/components/CardMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-manage/components/list/components/TableMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-manage/components/list/components/hooks/use-search-select.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-manage/components/list/components/hooks/use-table-height.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-manage/routes.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/detail/Index.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/Index.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/components/CardMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/components/TableMode.vue delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/components/hooks/use-data.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/components/hooks/use-date-picker.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/components/hooks/use-search-select.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/components/list/components/hooks/use-table-height.ts delete mode 100644 dbm-ui/frontend/src/views/ticket-self-todo/routes.ts delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/baseinfo/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/common/types.ts delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mongodb/ScaleUpdown.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/Checksum.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/Clone.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/ClusterOperation.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/DataMigrate.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/Details.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/Flashback.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/HATruncate.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/MasterFailOver.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/MasterSlaveSwitch.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/MigrateCluster.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/OpenArea.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/ProxyAdd.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/RestoreLocalSlave.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/RestoreSlave.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/SlaveAdd.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/TableBackup.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/account-rule-change/components/RuleDeleteTable.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/import-sql-file/components/SyntaxChecking.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/proxy-replace/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/proxy-replace/components/ReplaceHost.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/rollback/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/rollback/components/RollbackNewCluster.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/rollback/components/RollbackOriginCluster.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/version-upgrade/VersionLocalUpgrade.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/version-upgrade/VersionMigrateUpgrade.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/mysql/version-upgrade/VersionProxyUpgrade.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/ClusterCapacityUpdate.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/ClusterShardUpdate.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/ClusterTypeUpdate.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/DBReplace.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/DataCopy.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/DataStructure.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/Details.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/MasterFailover.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/Operation.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/ProxyScaleDown.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/redis/ProxyScaleUp.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/CheckSum.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/Destroy.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/Details.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/Disable.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/Enable.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/Flashback.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/MNTApply.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/MNTDestroy.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/MasterFailOver.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/MasterSlaveSwitch.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/MigrateCluster.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/RenameDatabase.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/SlaveDestroy.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/SlaveRebuild.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/TargetClusterPreview.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/TruncateDatabase.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/rollback/components/RollbackNewCluster.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/spider/rollback/components/RollbackOriginCluster.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/demand-factory/sqlserver/Details.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/flow-content/components/ContentInnerFlow.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/flow-content/components/ContentTodo.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/components/flow-content/components/FlowIcon.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/common/styles/ticketDetails.less delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/details/components/BaseInfo.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/details/components/flow/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/details/components/flow/components/Common.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/details/components/flow/components/MySqlDumpDataFlows.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/details/components/flow/components/RedisFlows.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/list/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-tickets/components/list/components/TicketStatus.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/List.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/BaseInfo.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/Demand.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/flow/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/flow/components/Approve.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/flow/components/RedisFlows.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/flow/components/approve/Index.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/flow/components/approve/InnerManualConfirm.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/my-todos/components/details/components/flow/components/approve/ManualConfirm.vue delete mode 100644 dbm-ui/frontend/src/views/tickets/routes.ts diff --git a/dbm-ui/frontend/.prettierignore b/dbm-ui/frontend/.prettierignore index b1e3b23119..657b422922 100644 --- a/dbm-ui/frontend/.prettierignore +++ b/dbm-ui/frontend/.prettierignore @@ -1,3 +1,6 @@ node_modules dist +lib +patch +public src/types/auto-imports.d.ts \ No newline at end of file diff --git a/dbm-ui/frontend/lib/bk-icon/fonts/iconcool.svg b/dbm-ui/frontend/lib/bk-icon/fonts/iconcool.svg index e783836126..21171643ce 100644 --- a/dbm-ui/frontend/lib/bk-icon/fonts/iconcool.svg +++ b/dbm-ui/frontend/lib/bk-icon/fonts/iconcool.svg @@ -7,682 +7,682 @@ - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/dbm-ui/frontend/lib/bk-icon/iconcool.js b/dbm-ui/frontend/lib/bk-icon/iconcool.js index 3b0970e0b2..b3bb2c829b 100644 --- a/dbm-ui/frontend/lib/bk-icon/iconcool.js +++ b/dbm-ui/frontend/lib/bk-icon/iconcool.js @@ -1,11 +1,10 @@ !(function () { - var svgCode = - ''; - if (document.body) { - document.body.insertAdjacentHTML('afterbegin', svgCode); - } else { - document.addEventListener('DOMContentLoaded', function () { - document.body.insertAdjacentHTML('afterbegin', svgCode); - }); - } -})(); + var svgCode = '' + if (document.body) { + document.body.insertAdjacentHTML('afterbegin', svgCode) + } else { + document.addEventListener('DOMContentLoaded', function() { + document.body.insertAdjacentHTML('afterbegin', svgCode) + }) + } +})() diff --git a/dbm-ui/frontend/lib/bk-icon/iconcool.json b/dbm-ui/frontend/lib/bk-icon/iconcool.json index f4bfb437fa..837184d7f1 100644 --- a/dbm-ui/frontend/lib/bk-icon/iconcool.json +++ b/dbm-ui/frontend/lib/bk-icon/iconcool.json @@ -1 +1 @@ -{"iconName":"bk-dbm","icons":[{"name":"tags","svgCode":"\n\n\n\n\n\n\n\t\n\t\n\n\n","codepoint":"\\e206"},{"name":"check-circle-fill","svgCode":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n","codepoint":"\\e1a7"},{"name":"exclamation-fill","svgCode":"\n\n\n\n\n\n","codepoint":"\\e173"},{"name":"help","svgCode":"\n\n\n\n\n\t\n\t\n\t\n\n\n","codepoint":"\\e1f5"},{"name":"help-document","svgCode":"\n\n\n\n\n\t\n\t\n\t\n\n\n","codepoint":"\\e1fa"},{"name":"check","svgCode":"\n\n\n\n\n\t\n\t\n\n\n","codepoint":"\\e205"},{"name":"auth","svgCode":"","codepoint":"\\e152"},{"name":"apply","svgCode":"","codepoint":"\\e144"},{"name":"increase","svgCode":"","codepoint":"\\e1fb"},{"name":"close-circle-shape","svgCode":"","codepoint":"\\e1be"},{"name":"right-shape","svgCode":"","codepoint":"\\e1a3"},{"name":"bulk-edit","svgCode":"","codepoint":"\\e15f"},{"name":"funnel","svgCode":"","codepoint":"\\e1bd"},{"name":"copy-2","svgCode":"","codepoint":"\\e1e4"},{"name":"paste","svgCode":"","codepoint":"\\e1e5"},{"name":"keyboard","svgCode":"","codepoint":"\\e1ae"},{"name":"draft","svgCode":"","codepoint":"\\e145"},{"name":"todolist","svgCode":"","codepoint":"\\e146"},{"name":"file","svgCode":"","codepoint":"\\e136"},{"name":"script","svgCode":"","codepoint":"\\e137"},{"name":"fast-script","svgCode":"","codepoint":"\\e151"},{"name":"homepage","svgCode":"","codepoint":"\\e158"},{"name":"template","svgCode":"","codepoint":"\\e147"},{"name":"unlock-line","svgCode":"","codepoint":"\\e166"},{"name":"sync-failed","svgCode":"","codepoint":"\\e18c"},{"name":"sync-pending","svgCode":"","codepoint":"\\e18f"},{"name":"sync-success","svgCode":"","codepoint":"\\e18d"},{"name":"sync-default","svgCode":"","codepoint":"\\e18e"},{"name":"pulsar","svgCode":"","codepoint":"\\e1b8"},{"name":"abnormal","svgCode":"","codepoint":"\\e187"},{"name":"normal","svgCode":"","codepoint":"\\e188"},{"name":"unknown","svgCode":"","codepoint":"\\e189"},{"name":"code","svgCode":"","codepoint":"\\e139"},{"name":"download-line","svgCode":"","codepoint":"\\e1f2"},{"name":"invisible1","svgCode":"","codepoint":"\\e1ff"},{"name":"variable-manage","svgCode":"","codepoint":"\\e1f7"},{"name":"visible1","svgCode":"","codepoint":"\\e1c5"},{"name":"sync-waiting-01","svgCode":"","codepoint":"\\e18a"},{"name":"script-template","svgCode":"","codepoint":"\\e138"},{"name":"qiyeweixin","svgCode":"","codepoint":"\\e1d9"},{"name":"lianxi","svgCode":"","codepoint":"\\e209"},{"name":"sql","svgCode":"","codepoint":"\\e1cb"},{"name":"daochu","svgCode":"","codepoint":"\\e1ed"},{"name":"version","svgCode":"","codepoint":"\\e156"},{"name":"copy","svgCode":"","codepoint":"\\e103"},{"name":"database","svgCode":"","codepoint":"\\e101"},{"name":"eyes","svgCode":"","codepoint":"\\e102"},{"name":"setting-fill","svgCode":"","codepoint":"\\e104"},{"name":"resource","svgCode":"","codepoint":"\\e105"},{"name":"ticket","svgCode":"","codepoint":"\\e106"},{"name":"pc","svgCode":"","codepoint":"\\e1e6"},{"name":"edit","svgCode":"","codepoint":"\\e108"},{"name":"loading","svgCode":"","codepoint":"\\e1a8"},{"name":"help-fill","svgCode":"","codepoint":"\\e109"},{"name":"unlock-line-2","svgCode":"","codepoint":"\\e10b"},{"name":"lock-fill","svgCode":"","codepoint":"\\e10c"},{"name":"un-full-screen","svgCode":"","codepoint":"\\e10f"},{"name":"full-screen","svgCode":"","codepoint":"\\e110"},{"name":"minus-fill","svgCode":"","codepoint":"\\e111"},{"name":"plus-fill","svgCode":"","codepoint":"\\e112"},{"name":"add","svgCode":"","codepoint":"\\e116"},{"name":"delete-fill","svgCode":"","codepoint":"\\e117"},{"name":"refresh","svgCode":"","codepoint":"\\e118"},{"name":"more","svgCode":"","codepoint":"\\e119"},{"name":"arrow-fill","svgCode":"","codepoint":"\\e11e"},{"name":"attention-fill","svgCode":"","codepoint":"\\e11f"},{"name":"attention","svgCode":"","codepoint":"\\e120"},{"name":"up-big","svgCode":"","codepoint":"\\e121"},{"name":"down-big","svgCode":"","codepoint":"\\e123"},{"name":"arrow-down","svgCode":"","codepoint":"\\e122"},{"name":"arrow-up","svgCode":"","codepoint":"\\e124"},{"name":"right-big","svgCode":"","codepoint":"\\e125"},{"name":"arrow-right","svgCode":"","codepoint":"\\e126"},{"name":"arrow-left","svgCode":"","codepoint":"\\e127"},{"name":"mysql","svgCode":"","codepoint":"\\e128"},{"name":"redis","svgCode":"","codepoint":"\\e129"},{"name":"mongo-db","svgCode":"","codepoint":"\\e12a"},{"name":"kafka","svgCode":"","codepoint":"\\e12b"},{"name":"approval-node","svgCode":"","codepoint":"\\e155"},{"name":"down-shape","svgCode":"","codepoint":"\\e12c"},{"name":"import","svgCode":"","codepoint":"\\e12d"},{"name":"master","svgCode":"","codepoint":"\\e13a"},{"name":"cluster","svgCode":"","codepoint":"\\e13b"},{"name":"host","svgCode":"","codepoint":"\\e13c"},{"name":"proxy","svgCode":"","codepoint":"\\e13e"},{"name":"node","svgCode":"","codepoint":"\\e13d"},{"name":"check-search","svgCode":"","codepoint":"\\e13f"},{"name":"deploy","svgCode":"","codepoint":"\\e140"},{"name":"switch","svgCode":"","codepoint":"\\e141"},{"name":"refresh-2","svgCode":"","codepoint":"\\e142"},{"name":"stop","svgCode":"","codepoint":"\\e143"},{"name":"dns","svgCode":"","codepoint":"\\e148"},{"name":"member","svgCode":"","codepoint":"\\e14c"},{"name":"spec","svgCode":"","codepoint":"\\e149"},{"name":"timed-task","svgCode":"","codepoint":"\\e14d"},{"name":"history","svgCode":"","codepoint":"\\e14a"},{"name":"backup","svgCode":"","codepoint":"\\e14f"},{"name":"account","svgCode":"","codepoint":"\\e14b"},{"name":"note","svgCode":"","codepoint":"\\e150"},{"name":"single-node","svgCode":"","codepoint":"\\e14e"},{"name":"dba-config","svgCode":"","codepoint":"\\e154"},{"name":"db-config","svgCode":"","codepoint":"\\e157"},{"name":"default-node","svgCode":"","codepoint":"\\e159"},{"name":"position","svgCode":"","codepoint":"\\e15c"},{"name":"plus-circle","svgCode":"","codepoint":"\\e15d"},{"name":"minus-circle","svgCode":"","codepoint":"\\e15e"},{"name":"rtx","svgCode":"","codepoint":"\\e160"},{"name":"expand-line","svgCode":"","codepoint":"\\e161"},{"name":"star","svgCode":"","codepoint":"\\e162"},{"name":"search","svgCode":"","codepoint":"\\e163"},{"name":"plus-8","svgCode":"","codepoint":"\\e164"},{"name":"star-fill","svgCode":"","codepoint":"\\e165"},{"name":"unlock","svgCode":"","codepoint":"\\e167"},{"name":"return","svgCode":"","codepoint":"\\e168"},{"name":"link","svgCode":"","codepoint":"\\e169"},{"name":"new","svgCode":"","codepoint":"\\e16b"},{"name":"drag","svgCode":"","codepoint":"\\e1a4"},{"name":"warning-2","svgCode":"","codepoint":"\\e18b"},{"name":"exclamation","svgCode":"","codepoint":"\\e16c"},{"name":"close","svgCode":"","codepoint":"\\e16d"},{"name":"check-line","svgCode":"","codepoint":"\\e16e"},{"name":"early-warning","svgCode":"","codepoint":"\\e16f"},{"name":"warning","svgCode":"","codepoint":"\\e170"},{"name":"spce","svgCode":"","codepoint":"\\e171"},{"name":"password","svgCode":"","codepoint":"\\e172"},{"name":"redis-2","svgCode":"","codepoint":"\\e176"},{"name":"mysql-2","svgCode":"","codepoint":"\\e174"},{"name":"es","svgCode":"","codepoint":"\\e177"},{"name":"hdfs","svgCode":"","codepoint":"\\e175"},{"name":"delete","svgCode":"","codepoint":"\\e178"},{"name":"excel","svgCode":"","codepoint":"\\e179"},{"name":"history-2","svgCode":"","codepoint":"\\e17a"},{"name":"migration","svgCode":"","codepoint":"\\e17d"},{"name":"switch-2","svgCode":"","codepoint":"\\e17e"},{"name":"remote","svgCode":"","codepoint":"\\e17f"},{"name":"clearing","svgCode":"","codepoint":"\\e180"},{"name":"alert","svgCode":"","codepoint":"\\e181"},{"name":"rebuild","svgCode":"","codepoint":"\\e182"},{"name":"clone","svgCode":"","codepoint":"\\e183"},{"name":"associated","svgCode":"","codepoint":"\\e184"},{"name":"rollback","svgCode":"","codepoint":"\\e185"},{"name":"aa","svgCode":"","codepoint":"\\e1f6"},{"name":"data","svgCode":"","codepoint":"\\e186"},{"name":"audit","svgCode":"","codepoint":"\\e190"},{"name":"yijinyong","svgCode":"","codepoint":"\\e19a"},{"name":"kuorongzhong","svgCode":"","codepoint":"\\e19d"},{"name":"zhongqizhong","svgCode":"","codepoint":"\\e19b"},{"name":"suorongzhong","svgCode":"","codepoint":"\\e19e"},{"name":"tihuanzong","svgCode":"","codepoint":"\\e19c"},{"name":"shanchuzhong","svgCode":"","codepoint":"\\e19f"},{"name":"jinyongzhong","svgCode":"","codepoint":"\\e1a0"},{"name":"qiyongzhong","svgCode":"","codepoint":"\\e1a1"},{"name":"help-fill-2","svgCode":"","codepoint":"\\e1a2"},{"name":"2-jiantou-you","svgCode":"","codepoint":"\\e1a5"},{"name":"2-jiantou-zuo","svgCode":"","codepoint":"\\e1a6"},{"name":"tools","svgCode":"","codepoint":"\\e1a9"},{"name":"todos","svgCode":"","codepoint":"\\e1aa"},{"name":"manual","svgCode":"","codepoint":"\\e1ac"},{"name":"minimap","svgCode":"","codepoint":"\\e1ad"},{"name":"backup-2","svgCode":"","codepoint":"\\e1af"},{"name":"loading-tubiao","svgCode":"","codepoint":"\\e208"},{"name":"host-select","svgCode":"","codepoint":"\\e1b0"},{"name":"batch-host-select","svgCode":"","codepoint":"\\e1b1"},{"name":"revoke","svgCode":"","codepoint":"\\e1b3"},{"name":"en","svgCode":"","codepoint":"\\e1b4"},{"name":"cn","svgCode":"","codepoint":"\\e1b5"},{"name":"list","svgCode":"","codepoint":"\\e1b7"},{"name":"influxdb","svgCode":"","codepoint":"\\e1ba"},{"name":"summation","svgCode":"","codepoint":"\\e1bb"},{"name":"folder-open","svgCode":"","codepoint":"\\e1bc"},{"name":"wenjian","svgCode":"","codepoint":"\\e1bf"},{"name":"drag","svgCode":"","codepoint":"\\e1c0"},{"name":"gaokeyong","svgCode":"","codepoint":"\\e1c2"},{"name":"fenbushijiqun","svgCode":"","codepoint":"\\e1c3"},{"name":"danjiedian","svgCode":"","codepoint":"\\e1c1"},{"name":"zhongkongji","svgCode":"","codepoint":"\\e1c4"},{"name":"wenjian","svgCode":"","codepoint":"\\e1c6"},{"name":"manual-2","svgCode":"","codepoint":"\\e1c7"},{"name":"clock","svgCode":"","codepoint":"\\e1c8"},{"name":"auto","svgCode":"","codepoint":"\\e1c9"},{"name":"dirty-host","svgCode":"","codepoint":"\\e1ca"},{"name":"tag-3","svgCode":"","codepoint":"\\e207"},{"name":"saoba","svgCode":"","codepoint":"\\e1f4"},{"name":"dongzuo-xiazai","svgCode":"","codepoint":"\\e1f3"},{"name":"entry","svgCode":"","codepoint":"\\e1d0"},{"name":"gaojingcelve","svgCode":"","codepoint":"\\e1d1"},{"name":"lunzhi","svgCode":"","codepoint":"\\e1d5"},{"name":"gaojing","svgCode":"","codepoint":"\\e1d2"},{"name":"yonghuzu","svgCode":"","codepoint":"\\e1d3"},{"name":"pingbi","svgCode":"","codepoint":"\\e1d4"},{"name":"hongqi","svgCode":"","codepoint":"\\e1d6"},{"name":"jiankong","svgCode":"","codepoint":"\\e1d7"},{"name":"mimasuijihua","svgCode":"","codepoint":"\\e1d8"},{"name":"jiqiren","svgCode":"","codepoint":"\\e1da"},{"name":"qiyeweixin-2","svgCode":"","codepoint":"\\e1db"},{"name":"weixin-2","svgCode":"","codepoint":"\\e1dc"},{"name":"youjian","svgCode":"","codepoint":"\\e1dd"},{"name":"duanxin","svgCode":"","codepoint":"\\e1de"},{"name":"yuyin","svgCode":"","codepoint":"\\e1df"},{"name":"warn-lightning","svgCode":"","codepoint":"\\e1e1"},{"name":"unlink","svgCode":"","codepoint":"\\e1e2"},{"name":"mobanshili","svgCode":"","codepoint":"\\e1e3"},{"name":"qiangzhizhongzhi","svgCode":"","codepoint":"\\e1e7"},{"name":"sqlserver","svgCode":"","codepoint":"\\e1e8"},{"name":"qianyizhong","svgCode":"","codepoint":"\\e1ea"},{"name":"liucheng","svgCode":"","codepoint":"\\e1eb"},{"name":"kejian","svgCode":"","codepoint":"\\e1ec"},{"name":"doris","svgCode":"","codepoint":"\\e1ee"},{"name":"daochu-2","svgCode":"","codepoint":"\\e1f0"},{"name":"daoru","svgCode":"","codepoint":"\\e1ef"},{"name":"piliangluru","svgCode":"","codepoint":"\\e1f1"},{"name":"cluster-standardize","svgCode":"","codepoint":"\\e1f9"},{"name":"fill-1","svgCode":"","codepoint":"\\e1fc"},{"name":"kelong","svgCode":"","codepoint":"\\e1fe"},{"name":"yuandezhongjian","svgCode":"","codepoint":"\\e1fd"},{"name":"daihuishou-2","svgCode":"","codepoint":"\\e202"},{"name":"daihuishou","svgCode":"","codepoint":"\\e203"},{"name":"guzhangji","svgCode":"","codepoint":"\\e204"}]} \ No newline at end of file +{"iconName":"bk-dbm","icons":[{"name":"tags","svgCode":"\n\n\n\n\n\n\n\t\n\t\n\n\n","codepoint":"\\e206"},{"name":"check-circle-fill","svgCode":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\n\n\n\n\n\n\n\n\n\n\n\n\n","codepoint":"\\e1a7"},{"name":"exclamation-fill","svgCode":"\n\n\n\n\n\n","codepoint":"\\e173"},{"name":"help","svgCode":"\n\n\n\n\n\t\n\t\n\t\n\n\n","codepoint":"\\e1f5"},{"name":"help-document","svgCode":"\n\n\n\n\n\t\n\t\n\t\n\n\n","codepoint":"\\e1fa"},{"name":"check","svgCode":"\n\n\n\n\n\t\n\t\n\n\n","codepoint":"\\e205"},{"name":"auth","svgCode":"","codepoint":"\\e152"},{"name":"apply","svgCode":"","codepoint":"\\e144"},{"name":"increase","svgCode":"","codepoint":"\\e1fb"},{"name":"close-circle-shape","svgCode":"","codepoint":"\\e1be"},{"name":"right-shape","svgCode":"","codepoint":"\\e1a3"},{"name":"bulk-edit","svgCode":"","codepoint":"\\e15f"},{"name":"funnel","svgCode":"","codepoint":"\\e1bd"},{"name":"copy-2","svgCode":"","codepoint":"\\e1e4"},{"name":"paste","svgCode":"","codepoint":"\\e1e5"},{"name":"keyboard","svgCode":"","codepoint":"\\e1ae"},{"name":"draft","svgCode":"","codepoint":"\\e145"},{"name":"todolist","svgCode":"","codepoint":"\\e146"},{"name":"file","svgCode":"","codepoint":"\\e136"},{"name":"script","svgCode":"","codepoint":"\\e137"},{"name":"fast-script","svgCode":"","codepoint":"\\e151"},{"name":"homepage","svgCode":"","codepoint":"\\e158"},{"name":"template","svgCode":"","codepoint":"\\e147"},{"name":"unlock-line","svgCode":"","codepoint":"\\e166"},{"name":"sync-failed","svgCode":"","codepoint":"\\e18c"},{"name":"sync-pending","svgCode":"","codepoint":"\\e18f"},{"name":"sync-success","svgCode":"","codepoint":"\\e18d"},{"name":"sync-default","svgCode":"","codepoint":"\\e18e"},{"name":"pulsar","svgCode":"","codepoint":"\\e1b8"},{"name":"abnormal","svgCode":"","codepoint":"\\e187"},{"name":"normal","svgCode":"","codepoint":"\\e188"},{"name":"unknown","svgCode":"","codepoint":"\\e189"},{"name":"code","svgCode":"","codepoint":"\\e139"},{"name":"download-line","svgCode":"","codepoint":"\\e1f2"},{"name":"invisible1","svgCode":"","codepoint":"\\e1ff"},{"name":"variable-manage","svgCode":"","codepoint":"\\e1f7"},{"name":"visible1","svgCode":"","codepoint":"\\e1c5"},{"name":"sync-waiting-01","svgCode":"","codepoint":"\\e18a"},{"name":"script-template","svgCode":"","codepoint":"\\e138"},{"name":"qiyeweixin","svgCode":"","codepoint":"\\e1d9"},{"name":"sql","svgCode":"","codepoint":"\\e1cb"},{"name":"daochu","svgCode":"","codepoint":"\\e1ed"},{"name":"version","svgCode":"","codepoint":"\\e156"},{"name":"copy","svgCode":"","codepoint":"\\e103"},{"name":"database","svgCode":"","codepoint":"\\e101"},{"name":"eyes","svgCode":"","codepoint":"\\e102"},{"name":"setting-fill","svgCode":"","codepoint":"\\e104"},{"name":"resource","svgCode":"","codepoint":"\\e105"},{"name":"ticket","svgCode":"","codepoint":"\\e106"},{"name":"pc","svgCode":"","codepoint":"\\e1e6"},{"name":"edit","svgCode":"","codepoint":"\\e108"},{"name":"loading","svgCode":"","codepoint":"\\e1a8"},{"name":"help-fill","svgCode":"","codepoint":"\\e109"},{"name":"unlock-line-2","svgCode":"","codepoint":"\\e10b"},{"name":"lock-fill","svgCode":"","codepoint":"\\e10c"},{"name":"un-full-screen","svgCode":"","codepoint":"\\e10f"},{"name":"full-screen","svgCode":"","codepoint":"\\e110"},{"name":"minus-fill","svgCode":"","codepoint":"\\e111"},{"name":"plus-fill","svgCode":"","codepoint":"\\e112"},{"name":"add","svgCode":"","codepoint":"\\e116"},{"name":"delete-fill","svgCode":"","codepoint":"\\e117"},{"name":"refresh","svgCode":"","codepoint":"\\e118"},{"name":"more","svgCode":"","codepoint":"\\e119"},{"name":"arrow-fill","svgCode":"","codepoint":"\\e11e"},{"name":"attention-fill","svgCode":"","codepoint":"\\e11f"},{"name":"attention","svgCode":"","codepoint":"\\e120"},{"name":"up-big","svgCode":"","codepoint":"\\e121"},{"name":"down-big","svgCode":"","codepoint":"\\e123"},{"name":"arrow-down","svgCode":"","codepoint":"\\e122"},{"name":"arrow-up","svgCode":"","codepoint":"\\e124"},{"name":"right-big","svgCode":"","codepoint":"\\e125"},{"name":"arrow-right","svgCode":"","codepoint":"\\e126"},{"name":"arrow-left","svgCode":"","codepoint":"\\e127"},{"name":"mysql","svgCode":"","codepoint":"\\e128"},{"name":"redis","svgCode":"","codepoint":"\\e129"},{"name":"mongo-db","svgCode":"","codepoint":"\\e12a"},{"name":"kafka","svgCode":"","codepoint":"\\e12b"},{"name":"approval-node","svgCode":"","codepoint":"\\e155"},{"name":"down-shape","svgCode":"","codepoint":"\\e12c"},{"name":"import","svgCode":"","codepoint":"\\e12d"},{"name":"master","svgCode":"","codepoint":"\\e13a"},{"name":"cluster","svgCode":"","codepoint":"\\e13b"},{"name":"host","svgCode":"","codepoint":"\\e13c"},{"name":"proxy","svgCode":"","codepoint":"\\e13e"},{"name":"node","svgCode":"","codepoint":"\\e13d"},{"name":"check-search","svgCode":"","codepoint":"\\e13f"},{"name":"deploy","svgCode":"","codepoint":"\\e140"},{"name":"switch","svgCode":"","codepoint":"\\e141"},{"name":"refresh-2","svgCode":"","codepoint":"\\e142"},{"name":"stop","svgCode":"","codepoint":"\\e143"},{"name":"dns","svgCode":"","codepoint":"\\e148"},{"name":"member","svgCode":"","codepoint":"\\e14c"},{"name":"spec","svgCode":"","codepoint":"\\e149"},{"name":"timed-task","svgCode":"","codepoint":"\\e14d"},{"name":"history","svgCode":"","codepoint":"\\e14a"},{"name":"backup","svgCode":"","codepoint":"\\e14f"},{"name":"account","svgCode":"","codepoint":"\\e14b"},{"name":"note","svgCode":"","codepoint":"\\e150"},{"name":"single-node","svgCode":"","codepoint":"\\e14e"},{"name":"dba-config","svgCode":"","codepoint":"\\e154"},{"name":"db-config","svgCode":"","codepoint":"\\e157"},{"name":"default-node","svgCode":"","codepoint":"\\e159"},{"name":"position","svgCode":"","codepoint":"\\e15c"},{"name":"plus-circle","svgCode":"","codepoint":"\\e15d"},{"name":"minus-circle","svgCode":"","codepoint":"\\e15e"},{"name":"rtx","svgCode":"","codepoint":"\\e160"},{"name":"expand-line","svgCode":"","codepoint":"\\e161"},{"name":"star","svgCode":"","codepoint":"\\e162"},{"name":"search","svgCode":"","codepoint":"\\e163"},{"name":"plus-8","svgCode":"","codepoint":"\\e164"},{"name":"star-fill","svgCode":"","codepoint":"\\e165"},{"name":"unlock","svgCode":"","codepoint":"\\e167"},{"name":"return","svgCode":"","codepoint":"\\e168"},{"name":"link","svgCode":"","codepoint":"\\e169"},{"name":"new","svgCode":"","codepoint":"\\e16b"},{"name":"drag","svgCode":"","codepoint":"\\e1a4"},{"name":"warning-2","svgCode":"","codepoint":"\\e18b"},{"name":"exclamation","svgCode":"","codepoint":"\\e16c"},{"name":"close","svgCode":"","codepoint":"\\e16d"},{"name":"check-line","svgCode":"","codepoint":"\\e16e"},{"name":"early-warning","svgCode":"","codepoint":"\\e16f"},{"name":"warning","svgCode":"","codepoint":"\\e170"},{"name":"spce","svgCode":"","codepoint":"\\e171"},{"name":"password","svgCode":"","codepoint":"\\e172"},{"name":"redis-2","svgCode":"","codepoint":"\\e176"},{"name":"mysql-2","svgCode":"","codepoint":"\\e174"},{"name":"es","svgCode":"","codepoint":"\\e177"},{"name":"hdfs","svgCode":"","codepoint":"\\e175"},{"name":"delete","svgCode":"","codepoint":"\\e178"},{"name":"excel","svgCode":"","codepoint":"\\e179"},{"name":"history-2","svgCode":"","codepoint":"\\e17a"},{"name":"migration","svgCode":"","codepoint":"\\e17d"},{"name":"switch-2","svgCode":"","codepoint":"\\e17e"},{"name":"remote","svgCode":"","codepoint":"\\e17f"},{"name":"clearing","svgCode":"","codepoint":"\\e180"},{"name":"alert","svgCode":"","codepoint":"\\e181"},{"name":"rebuild","svgCode":"","codepoint":"\\e182"},{"name":"clone","svgCode":"","codepoint":"\\e183"},{"name":"associated","svgCode":"","codepoint":"\\e184"},{"name":"rollback","svgCode":"","codepoint":"\\e185"},{"name":"aa","svgCode":"","codepoint":"\\e1f6"},{"name":"data","svgCode":"","codepoint":"\\e186"},{"name":"audit","svgCode":"","codepoint":"\\e190"},{"name":"yijinyong","svgCode":"","codepoint":"\\e19a"},{"name":"kuorongzhong","svgCode":"","codepoint":"\\e19d"},{"name":"zhongqizhong","svgCode":"","codepoint":"\\e19b"},{"name":"suorongzhong","svgCode":"","codepoint":"\\e19e"},{"name":"tihuanzong","svgCode":"","codepoint":"\\e19c"},{"name":"shanchuzhong","svgCode":"","codepoint":"\\e19f"},{"name":"jinyongzhong","svgCode":"","codepoint":"\\e1a0"},{"name":"qiyongzhong","svgCode":"","codepoint":"\\e1a1"},{"name":"help-fill-2","svgCode":"","codepoint":"\\e1a2"},{"name":"2-jiantou-you","svgCode":"","codepoint":"\\e1a5"},{"name":"2-jiantou-zuo","svgCode":"","codepoint":"\\e1a6"},{"name":"tools","svgCode":"","codepoint":"\\e1a9"},{"name":"todos","svgCode":"","codepoint":"\\e1aa"},{"name":"manual","svgCode":"","codepoint":"\\e1ac"},{"name":"minimap","svgCode":"","codepoint":"\\e1ad"},{"name":"backup-2","svgCode":"","codepoint":"\\e1af"},{"name":"loading-tubiao","svgCode":"","codepoint":"\\e208"},{"name":"host-select","svgCode":"","codepoint":"\\e1b0"},{"name":"batch-host-select","svgCode":"","codepoint":"\\e1b1"},{"name":"revoke","svgCode":"","codepoint":"\\e1b3"},{"name":"en","svgCode":"","codepoint":"\\e1b4"},{"name":"cn","svgCode":"","codepoint":"\\e1b5"},{"name":"list","svgCode":"","codepoint":"\\e1b7"},{"name":"influxdb","svgCode":"","codepoint":"\\e1ba"},{"name":"summation","svgCode":"","codepoint":"\\e1bb"},{"name":"folder-open","svgCode":"","codepoint":"\\e1bc"},{"name":"wenjian","svgCode":"","codepoint":"\\e1bf"},{"name":"drag","svgCode":"","codepoint":"\\e1c0"},{"name":"gaokeyong","svgCode":"","codepoint":"\\e1c2"},{"name":"fenbushijiqun","svgCode":"","codepoint":"\\e1c3"},{"name":"danjiedian","svgCode":"","codepoint":"\\e1c1"},{"name":"zhongkongji","svgCode":"","codepoint":"\\e1c4"},{"name":"wenjian","svgCode":"","codepoint":"\\e1c6"},{"name":"manual-2","svgCode":"","codepoint":"\\e1c7"},{"name":"clock","svgCode":"","codepoint":"\\e1c8"},{"name":"auto","svgCode":"","codepoint":"\\e1c9"},{"name":"dirty-host","svgCode":"","codepoint":"\\e1ca"},{"name":"tag-3","svgCode":"","codepoint":"\\e207"},{"name":"saoba","svgCode":"","codepoint":"\\e1f4"},{"name":"dongzuo-xiazai","svgCode":"","codepoint":"\\e1f3"},{"name":"entry","svgCode":"","codepoint":"\\e1d0"},{"name":"gaojingcelve","svgCode":"","codepoint":"\\e1d1"},{"name":"lunzhi","svgCode":"","codepoint":"\\e1d5"},{"name":"gaojing","svgCode":"","codepoint":"\\e1d2"},{"name":"yonghuzu","svgCode":"","codepoint":"\\e1d3"},{"name":"pingbi","svgCode":"","codepoint":"\\e1d4"},{"name":"hongqi","svgCode":"","codepoint":"\\e1d6"},{"name":"jiankong","svgCode":"","codepoint":"\\e1d7"},{"name":"mimasuijihua","svgCode":"","codepoint":"\\e1d8"},{"name":"jiqiren","svgCode":"","codepoint":"\\e1da"},{"name":"qiyeweixin-2","svgCode":"","codepoint":"\\e1db"},{"name":"weixin-2","svgCode":"","codepoint":"\\e1dc"},{"name":"youjian","svgCode":"","codepoint":"\\e1dd"},{"name":"duanxin","svgCode":"","codepoint":"\\e1de"},{"name":"yuyin","svgCode":"","codepoint":"\\e1df"},{"name":"warn-lightning","svgCode":"","codepoint":"\\e1e1"},{"name":"unlink","svgCode":"","codepoint":"\\e1e2"},{"name":"mobanshili","svgCode":"","codepoint":"\\e1e3"},{"name":"qiangzhizhongzhi","svgCode":"","codepoint":"\\e1e7"},{"name":"sqlserver","svgCode":"","codepoint":"\\e1e8"},{"name":"qianyizhong","svgCode":"","codepoint":"\\e1ea"},{"name":"liucheng","svgCode":"","codepoint":"\\e1eb"},{"name":"kejian","svgCode":"","codepoint":"\\e1ec"},{"name":"doris","svgCode":"","codepoint":"\\e1ee"},{"name":"daochu-2","svgCode":"","codepoint":"\\e1f0"},{"name":"daoru","svgCode":"","codepoint":"\\e1ef"},{"name":"piliangluru","svgCode":"","codepoint":"\\e1f1"},{"name":"cluster-standardize","svgCode":"","codepoint":"\\e1f9"},{"name":"fill-1","svgCode":"","codepoint":"\\e1fc"},{"name":"kelong","svgCode":"","codepoint":"\\e1fe"},{"name":"yuandezhongjian","svgCode":"","codepoint":"\\e1fd"},{"name":"daihuishou-2","svgCode":"","codepoint":"\\e202"},{"name":"daihuishou","svgCode":"","codepoint":"\\e203"},{"name":"guzhangji","svgCode":"","codepoint":"\\e204"}]} diff --git a/dbm-ui/frontend/package.json b/dbm-ui/frontend/package.json index c7264bccfa..0bdf00bc1e 100644 --- a/dbm-ui/frontend/package.json +++ b/dbm-ui/frontend/package.json @@ -24,12 +24,12 @@ "@blueking/login-modal": "^1.0.5", "@blueking/notice-component": "2.0.5", "@blueking/sub-saas": "0.0.0-beta.6", - "@icon-cool/bk-icon-bk-biz-components": "0.0.4", - "@jridgewell/gen-mapping": "0.3.5", - "@vueuse/core": "^11.0.3", - "axios": "^1.7.7", + "@blueking/table": "^0.0.1-beta.20", + "@icon-cool/bk-icon-bk-biz-components": "^0.0.4", + "@vueuse/core": "^12.0.0", + "axios": "^1.7.9", "bkui-vue": "2.0.1-beta.78", - "date-fns": "3.6.0", + "date-fns": "^4.1.0", "dayjs": "^1.11.13", "echarts": "^5.5.1", "html-to-image": "1.11.11", @@ -37,65 +37,65 @@ "jsencrypt": "3.3.2", "lodash": "4.17.21", "mitt": "3.0.1", - "monaco-editor": "^0.51.0", - "pinia": "2.2.2", - "qs": "6.13.0", + "monaco-editor": "^0.52.0", + "pinia": "^2.3.0", + "qs": "^6.13.1", "screenfull": "6.0.2", "tiny-pinyin": "1.3.2", "tippy.js": "6.3.7", "url-join": "5.0.0", - "vue": "^3.5.4", + "vue": "^3.5.13", "vue-content-loader": "2.0.1", - "vue-i18n": "^10.0.1", + "vue-i18n": "^10.0.5", "vue-request": "2.0.4", - "vue-router": "^4.4.5", + "vue-router": "^4.5.0", "vue-types": "^5.1.3", "vuedraggable": "4.1.0", "xlsx": "^0.18.5" }, "devDependencies": { - "@commitlint/config-conventional": "^19.5.0", - "@trivago/prettier-plugin-sort-imports": "4.3.0", + "@commitlint/config-conventional": "^19.6.0", + "@trivago/prettier-plugin-sort-imports": "^5.1.0", "@tsconfig/node20": "20.1.4", - "@types/lodash": "4.17.7", - "@types/node": "^22.5.4", - "@types/qs": "6.9.15", - "@vitejs/plugin-basic-ssl": "1.1.0", - "@vitejs/plugin-vue": "^5.1.3", - "@vitejs/plugin-vue-jsx": "4.0.1", + "@types/lodash": "^4.17.13", + "@types/node": "^22.10.1", + "@types/qs": "^6.9.17", + "@vitejs/plugin-basic-ssl": "^1.2.0", + "@vitejs/plugin-vue": "^5.2.1", + "@vitejs/plugin-vue-jsx": "^4.1.1", "@vue/eslint-config-typescript": "13.0.0", - "@vue/tsconfig": "0.5.1", - "commitlint": "^19.5.0", + "@vue/tsconfig": "^0.7.0", + "commitlint": "^19.6.0", "cross-env": "7.0.3", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", - "eslint-config-tencent": "1.0.4", + "eslint-config-tencent": "^1.1.1", "eslint-plugin-simple-import-sort": "12.1.1", - "eslint-plugin-vue": "^9.28.0", - "less": "4.2.0", + "eslint-plugin-vue": "^9.32.0", + "less": "^4.2.1", "lint-staged": "^15.2.10", - "npm-run-all2": "6.2.2", + "npm-run-all2": "^7.0.1", "postcss-html": "1.7.0", "postcss-less": "6.0.0", - "prettier": "3.3.3", - "prettier-plugin-curly": "0.2.2", + "prettier": "^3.4.2", + "prettier-plugin-curly": "^0.3.1", "simple-git-hooks": "2.11.1", - "stylelint": "^16.9.0", + "stylelint": "^16.11.0", "stylelint-config-standard": "36.0.1", "stylelint-less": "3.0.1", "stylelint-order": "6.0.4", - "typescript": "5.6.2", - "unplugin-auto-import": "^0.18.3", - "unplugin-vue-components": "0.27.4", - "vite": "^5.4.5", - "vite-plugin-babel": "1.2.0", + "typescript": "^5.7.2", + "unplugin-auto-import": "^0.18.6", + "unplugin-vue-components": "^0.27.5", + "vite": "^6.0.3", + "vite-plugin-babel": "^1.3.0", "vite-plugin-html-env": "1.2.8", "vite-plugin-imp": "2.4.0", "vite-plugin-monaco-editor": "1.1.0", - "vite-plugin-static-copy": "^1.0.6", + "vite-plugin-static-copy": "^2.2.0", "vite-plugin-style-import": "2.0.0", - "vue-component-type-helpers": "^2.1.6", - "vue-tsc": "^2.1.6" + "vue-component-type-helpers": "^2.1.10", + "vue-tsc": "^2.1.10" }, "simple-git-hooks": { "pre-commit": "cd dbm-ui/frontend && npx lint-staged", diff --git a/dbm-ui/frontend/src/common/const/clusterAffinity.ts b/dbm-ui/frontend/src/common/const/clusterAffinity.ts new file mode 100644 index 0000000000..91a780a6f9 --- /dev/null +++ b/dbm-ui/frontend/src/common/const/clusterAffinity.ts @@ -0,0 +1,10 @@ +import { t } from '@locales/index'; + +export const ClusterAffinityMap = { + CROS_SUBZONE: t('同城跨园区'), + SAME_SUBZONE_CROSS_SWTICH: t('同城同园区跨机架'), + CROSS_RACK: t('跨机架'), + SAME_SUBZONE: t('同城同园区'), + NONE: t('同城无园区要求'), + MAX_EACH_ZONE_EQUAL: t('尽量均匀分布'), +}; diff --git a/dbm-ui/frontend/src/common/const/index.ts b/dbm-ui/frontend/src/common/const/index.ts index f4a2ecc29d..e600c24e77 100644 --- a/dbm-ui/frontend/src/common/const/index.ts +++ b/dbm-ui/frontend/src/common/const/index.ts @@ -1,4 +1,5 @@ export * from './accountTypes'; +export * from './clusterAffinity'; export * from './clusterInsStatus'; export * from './clusterTypeInfos'; export * from './clusterTypes'; diff --git a/dbm-ui/frontend/src/common/const/ticketTypes.ts b/dbm-ui/frontend/src/common/const/ticketTypes.ts index 3485a6a2e3..f7c6e75451 100644 --- a/dbm-ui/frontend/src/common/const/ticketTypes.ts +++ b/dbm-ui/frontend/src/common/const/ticketTypes.ts @@ -36,7 +36,8 @@ export enum TicketTypes { MYSQL_HA_FULL_BACKUP = 'MYSQL_HA_FULL_BACKUP', MYSQL_OPEN_AREA = 'MYSQL_OPEN_AREA', // 开区 MYSQL_PARTITION = 'MYSQL_PARTITION', - MYSQL_DUMP_DATA = 'MYSQL_DUMP_DATA', // mysql mysql 数据导出 + MYSQL_DUMP_DATA = 'MYSQL_DUMP_DATA', // mysql 数据导出 + MYSQL_DATA_REPAIR = 'MYSQL_DATA_REPAIR', // mysql 数据修复 MYSQL_PROXY_UPGRADE = 'MYSQL_PROXY_UPGRADE', // MySQL Proxy 升级 MYSQL_LOCAL_UPGRADE = 'MYSQL_LOCAL_UPGRADE', // MySQL 原地升级 MYSQL_MIGRATE_UPGRADE = 'MYSQL_MIGRATE_UPGRADE', // MySQL 迁移升级 @@ -44,42 +45,43 @@ export enum TicketTypes { MYSQL_ACCOUNT_RULE_CHANGE = 'MYSQL_ACCOUNT_RULE_CHANGE', // MySQL 权限变更 } export enum TicketTypes { - REDIS_CLUSTER_APPLY = 'REDIS_CLUSTER_APPLY', - REDIS_KEYS_EXTRACT = 'REDIS_KEYS_EXTRACT', - REDIS_KEYS_DELETE = 'REDIS_KEYS_DELETE', REDIS_BACKUP = 'REDIS_BACKUP', - REDIS_PURGE = 'REDIS_PURGE', + REDIS_CLUSTER_ADD_SLAVE = 'REDIS_CLUSTER_ADD_SLAVE', + REDIS_CLUSTER_APPLY = 'REDIS_CLUSTER_APPLY', + REDIS_CLUSTER_CUTOFF = 'REDIS_CLUSTER_CUTOFF', + REDIS_CLUSTER_DATA_COPY = 'REDIS_CLUSTER_DATA_COPY', + REDIS_CLUSTER_ROLLBACK_DATA_COPY = 'REDIS_CLUSTER_ROLLBACK_DATA_COPY', + REDIS_CLUSTER_SHARD_NUM_UPDATE = 'REDIS_CLUSTER_SHARD_NUM_UPDATE', + REDIS_CLUSTER_TYPE_UPDATE = 'REDIS_CLUSTER_TYPE_UPDATE', + REDIS_DATACOPY_CHECK_REPAIR = 'REDIS_DATACOPY_CHECK_REPAIR', REDIS_DESTROY = 'REDIS_DESTROY', - REDIS_PROXY_OPEN = 'REDIS_PROXY_OPEN', - REDIS_PROXY_CLOSE = 'REDIS_PROXY_CLOSE', - REDIS_PLUGIN_DNS_BIND_CLB = 'REDIS_PLUGIN_DNS_BIND_CLB', - REDIS_PLUGIN_DNS_UNBIND_CLB = 'REDIS_PLUGIN_DNS_UNBIND_CLB', + REDIS_INS_APPLY = 'REDIS_INS_APPLY', + REDIS_INSTANCE_PROXY_CLOSE = 'REDIS_INSTANCE_PROXY_CLOSE', + REDIS_INSTANCE_PROXY_OPEN = 'REDIS_INSTANCE_PROXY_OPEN', + REDIS_INSTANCE_DESTROY = 'REDIS_INSTANCE_DESTROY', // redis 主从集群删除 + REDIS_KEYS_DELETE = 'REDIS_KEYS_DELETE', + REDIS_KEYS_EXTRACT = 'REDIS_KEYS_EXTRACT', + REDIS_MASTER_SLAVE_SWITCH = 'REDIS_MASTER_SLAVE_SWITCH', REDIS_PLUGIN_CREATE_CLB = 'REDIS_PLUGIN_CREATE_CLB', - REDIS_PLUGIN_DELETE_CLB = 'REDIS_PLUGIN_DELETE_CLB', REDIS_PLUGIN_CREATE_POLARIS = 'REDIS_PLUGIN_CREATE_POLARIS', + REDIS_PLUGIN_DELETE_CLB = 'REDIS_PLUGIN_DELETE_CLB', REDIS_PLUGIN_DELETE_POLARIS = 'REDIS_PLUGIN_DELETE_POLARIS', - REDIS_CLUSTER_CUTOFF = 'REDIS_CLUSTER_CUTOFF', // redis 整机替换 - REDIS_PROXY_SCALE_UP = 'REDIS_PROXY_SCALE_UP', // redis 接入层扩容 - REDIS_PROXY_SCALE_DOWN = 'REDIS_PROXY_SCALE_DOWN', // redis 接入层缩容 - REDIS_SCALE_UPDOWN = 'REDIS_SCALE_UPDOWN', // redis 集群容量变更 - REDIS_SCALE_UP = 'REDIS_SCALE_UP', // redis 存储层扩容 - REDIS_SCALE_DOWN = 'REDIS_SCALE_DOWN', // redis 存储层缩容 - REDIS_MASTER_SLAVE_SWITCH = 'REDIS_MASTER_SLAVE_SWITCH', // redis 主故障切换 - REDIS_SLOTS_MIGRATE = 'REDIS_SLOTS_MIGRATE', // redis slots 迁移 + REDIS_PLUGIN_DNS_BIND_CLB = 'REDIS_PLUGIN_DNS_BIND_CLB', + REDIS_PLUGIN_DNS_UNBIND_CLB = 'REDIS_PLUGIN_DNS_UNBIND_CLB', REDIS_DATA_STRUCTURE = 'REDIS_DATA_STRUCTURE', // redis 定点构造 REDIS_DATA_STRUCTURE_TASK_DELETE = 'REDIS_DATA_STRUCTURE_TASK_DELETE', // redis 构造销毁 - REDIS_CLUSTER_ADD_SLAVE = 'REDIS_CLUSTER_ADD_SLAVE', // redis 新建从库 - REDIS_CLUSTER_DATA_COPY = 'REDIS_CLUSTER_DATA_COPY', // redis 数据复制 - REDIS_CLUSTER_SHARD_NUM_UPDATE = 'REDIS_CLUSTER_SHARD_NUM_UPDATE', // redis 集群分片变更 - REDIS_CLUSTER_TYPE_UPDATE = 'REDIS_CLUSTER_TYPE_UPDATE', // redis 集群类型变更 - REDIS_DATACOPY_CHECK_REPAIR = 'REDIS_DATACOPY_CHECK_REPAIR', // redis 数据校验与修复 - REDIS_CLUSTER_ROLLBACK_DATA_COPY = 'REDIS_CLUSTER_ROLLBACK_DATA_COPY', // redis 数据回写 - REDIS_VERSION_UPDATE_ONLINE = 'REDIS_VERSION_UPDATE_ONLINE', // redis 版本升级 - REDIS_INS_APPLY = 'REDIS_INS_APPLY', // redis 主从集群部署 REDIS_INSTANCE_OPEN = 'REDIS_INSTANCE_OPEN', // redis 主从集群启用 REDIS_INSTANCE_CLOSE = 'REDIS_INSTANCE_CLOSE', // redis 主从集群禁用 - REDIS_INSTANCE_DESTROY = 'REDIS_INSTANCE_DESTROY', // redis 主从集群删除 REDIS_CLUSTER_LOAD_MODULES = 'REDIS_CLUSTER_LOAD_MODULES', // redis 安装Module + REDIS_PURGE = 'REDIS_PURGE', + REDIS_PROXY_CLOSE = 'REDIS_PROXY_CLOSE', + REDIS_PROXY_OPEN = 'REDIS_PROXY_OPEN', + REDIS_PROXY_SCALE_DOWN = 'REDIS_PROXY_SCALE_DOWN', + REDIS_PROXY_SCALE_UP = 'REDIS_PROXY_SCALE_UP', + REDIS_SCALE_DOWN = 'REDIS_SCALE_DOWN', + REDIS_SCALE_UP = 'REDIS_SCALE_UP', + REDIS_SCALE_UPDOWN = 'REDIS_SCALE_UPDOWN', + REDIS_VERSION_UPDATE_ONLINE = 'REDIS_VERSION_UPDATE_ONLINE', } export enum TicketTypes { TENDBCLUSTER_APPLY = 'TENDBCLUSTER_APPLY', @@ -115,31 +117,34 @@ export enum TicketTypes { TENDBCLUSTER_RESTORE_LOCAL_SLAVE = 'TENDBCLUSTER_RESTORE_LOCAL_SLAVE', // spider 重建从库-原地重建 TENDBCLUSTER_RESTORE_SLAVE = 'TENDBCLUSTER_RESTORE_SLAVE', // spider 重建从库-新机重建 TENDBCLUSTER_DUMP_DATA = 'TENDBCLUSTER_DUMP_DATA', // spider 数据导出 + TENDBCLUSTER_DATA_REPAIR = 'TENDBCLUSTER_DATA_REPAIR', // spider 数据修复 TENDBCLUSTER_SEMANTIC_CHECK = 'TENDBCLUSTER_SEMANTIC_CHECK', // spider 模拟执行 TENDBCLUSTER_ACCOUNT_RULE_CHANGE = 'TENDBCLUSTER_ACCOUNT_RULE_CHANGE', // spider 权限变更 + TENDBCLUSTER_TEMPORARY_DESTROY = 'TENDBCLUSTER_TEMPORARY_DESTROY', // 临时集群销毁 } export enum TicketTypes { + MONGODB_ADD_MONGOS = 'MONGODB_ADD_MONGOS', // mongo 扩容接入层 + MONGODB_ADD_SHARD_NODES = 'MONGODB_ADD_SHARD_NODES', // mongo 扩容 shard 节点数 + MONGODB_AUTHORIZE_RULES = 'MONGODB_AUTHORIZE_RULES', // MongoDB 集群授权 + MONGODB_BACKUP = 'MONGODB_BACKUP', // mongo 库表备份 + MONGODB_CUTOFF = 'MONGODB_CUTOFF', // mongo 整机替换 MONGODB_DISABLE = 'MONGODB_DISABLE', // mongodb禁用 - MONGODB_INSTANCE_RELOAD = 'MONGODB_INSTANCE_RELOAD', // mongodb重启 - MONGODB_SHARD_APPLY = 'MONGODB_SHARD_APPLY', // MongoDB 分片式集群部署申请 - MONGODB_REPLICASET_APPLY = 'MONGODB_REPLICASET_APPLY', // MongoDB 副本集部署申请 - MONGODB_ENABLE = 'MONGODB_ENABLE', // MongoDB 集群启用 MONGODB_DESTROY = 'MONGODB_DESTROY', // MongoDB 集群删除 - MONGODB_SCALE_UPDOWN = 'MONGODB_SCALE_UPDOWN', // MongoDB 分片式集群单个容量变更 + MONGODB_ENABLE = 'MONGODB_ENABLE', // MongoDB 集群启用 MONGODB_EXCEL_AUTHORIZE = 'MONGODB_EXCEL_AUTHORIZE', // MongoDB 导入授权 - MONGODB_AUTHORIZE_RULES = 'MONGODB_AUTHORIZE_RULES', // MongoDB 集群授权 MONGODB_EXCEL_AUTHORIZE_RULES = 'MONGODB_EXCEL_AUTHORIZE_RULES', // MongoDB 导入授权 MONGODB_EXEC_SCRIPT_APPLY = 'MONGODB_EXEC_SCRIPT_APPLY', // mongo 变更脚本执行 - MONGODB_ADD_SHARD_NODES = 'MONGODB_ADD_SHARD_NODES', // mongo 扩容 shard 节点数 - MONGODB_REDUCE_SHARD_NODES = 'MONGODB_REDUCE_SHARD_NODES', // mongo 缩容 shard 节点数 - MONGODB_ADD_MONGOS = 'MONGODB_ADD_MONGOS', // mongo 扩容接入层 - MONGODB_REDUCE_MONGOS = 'MONGODB_REDUCE_MONGOS', // mongo 缩容接入层 - MONGODB_CUTOFF = 'MONGODB_CUTOFF', // mongo 整机替换 - MONGODB_FULL_BACKUP = 'MONGODB_FULL_BACKUP', // mongo 全库备份 + MONGODB_INSTANCE_RELOAD = 'MONGODB_INSTANCE_RELOAD', // mongodb重启 MONGODB_REMOVE_NS = 'MONGODB_REMOVE_NS', // mongo 清档 - MONGODB_BACKUP = 'MONGODB_BACKUP', // mongo 库表备份 + MONGODB_REDUCE_MONGOS = 'MONGODB_REDUCE_MONGOS', // mongo 缩容接入层 + MONGODB_REDUCE_SHARD_NODES = 'MONGODB_REDUCE_SHARD_NODES', // mongo 缩容 shard 节点数 MONGODB_RESTORE = 'MONGODB_RESTORE', // mongo 定点构造 + MONGODB_SCALE_UPDOWN = 'MONGODB_SCALE_UPDOWN', // MongoDB 分片式集群单个容量变更 + MONGODB_SHARD_APPLY = 'MONGODB_SHARD_APPLY', // MongoDB 分片式集群部署申请 + MONGODB_REPLICASET_APPLY = 'MONGODB_REPLICASET_APPLY', // MongoDB 副本集部署申请 MONGODB_TEMPORARY_DESTROY = 'MONGODB_TEMPORARY_DESTROY', // mongo 临时集群销毁 + MONGODB_FULL_BACKUP = 'MONGODB_FULL_BACKUP', // mongo 全库备份 + MONGODB_INSTANCE_DEINSTALL = 'MONGODB_INSTANCE_DEINSTALL', // mongo 实例下架 } export enum TicketTypes { SQLSERVER_SINGLE_APPLY = 'SQLSERVER_SINGLE_APPLY', // sqlserver单节点部署 @@ -164,6 +169,7 @@ export enum TicketTypes { SQLSERVER_FULL_MIGRATE = 'SQLSERVER_FULL_MIGRATE', // sqlserver 全量迁移 SQLSERVER_INCR_MIGRATE = 'SQLSERVER_INCR_MIGRATE', // sqlserver 增量迁移 SQLSERVER_BUILD_DB_SYNC = 'SQLSERVER_BUILD_DB_SYNC', // DB建立同步 + SQLSERVER_MODIFY_STATUS = 'SQLSERVER_MODIFY_STATUS', // SQLServer 修改故障实例状态 } export enum TicketTypes { diff --git a/dbm-ui/frontend/src/common/importComps.ts b/dbm-ui/frontend/src/common/importComps.ts index 9f4a9be534..61d2d3fb86 100644 --- a/dbm-ui/frontend/src/common/importComps.ts +++ b/dbm-ui/frontend/src/common/importComps.ts @@ -11,8 +11,8 @@ * the specific language governing permissions and limitations under the License. */ -import { Table } from 'bkui-vue'; import type { App } from 'vue'; +import { VxeTooltip } from 'vxe-pc-ui'; import AuthButton from '@components/auth-component/button.vue'; import AuthTemplate from '@components/auth-component/component.vue'; @@ -37,8 +37,11 @@ import SkeletonLoading from '@components/skeleton-loading/Index.vue'; import SmartAction from '@components/smart-action/Index.vue'; import { ipSelector } from '@components/vue2/ip-selector'; +import { Table, TableColumn } from '@blueking/table'; import UserSelector from '@patch/user-selector/selector.vue'; +import('@blueking/table/vue3/vue3.css'); + export const setGlobalComps = (app: App) => { app.component('DbCard', DbCard); app.component('DbForm', DbForm); @@ -63,5 +66,14 @@ export const setGlobalComps = (app: App) => { app.component('AuthOption', AuthOption); app.component('AuthSwitcher', AuthSwitch); app.component('AuthRouterLink', AuthRouterLink); - app.component('BKTableColumn', Table.Column); + setTimeout(() => { + // eslint-disable-next-line + delete app._context.components.BkTable; + // eslint-disable-next-line + delete app._context.components.BkTableColumn; + + app.component('BkTable', Table); + app.component('BkTableColumn', TableColumn); + app.component('VxeTooltip', VxeTooltip); + }); }; diff --git a/dbm-ui/frontend/src/common/table/BkTable.vue b/dbm-ui/frontend/src/common/table/BkTable.vue new file mode 100644 index 0000000000..2e5a7b9da0 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/BkTable.vue @@ -0,0 +1,340 @@ + + + diff --git a/dbm-ui/frontend/src/common/table/BkTableColumn.vue b/dbm-ui/frontend/src/common/table/BkTableColumn.vue new file mode 100644 index 0000000000..893d330328 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/BkTableColumn.vue @@ -0,0 +1,68 @@ + + diff --git a/dbm-ui/frontend/src/common/table/adapter.ts b/dbm-ui/frontend/src/common/table/adapter.ts new file mode 100644 index 0000000000..6f128ddb9d --- /dev/null +++ b/dbm-ui/frontend/src/common/table/adapter.ts @@ -0,0 +1,126 @@ +import _ from 'lodash'; + +import { makeMap } from './utils'; + +export const columnConfig = (bkColumnConfig: any) => { + const vxeColumnConfig = { + ...bkColumnConfig, + slots: {}, + }; + + if (bkColumnConfig.label) { + if (_.isString(bkColumnConfig.label)) { + vxeColumnConfig.title = bkColumnConfig.label; + } else if (_.isFunction(bkColumnConfig.label)) { + const renderLabel = bkColumnConfig.label; + Object.assign(vxeColumnConfig.slots, { + header: (payload: any) => { + const res = renderLabel({ + column: payload.column, + index: payload.$rowIndex, + }); + + return res; + }, + }); + } + delete vxeColumnConfig.label; + } + + if (_.has(bkColumnConfig, 'sort')) { + vxeColumnConfig.sortable = bkColumnConfig.sort; + delete vxeColumnConfig.sort; + } + + if (bkColumnConfig.filter && bkColumnConfig.filter.list) { + const checkedMap = makeMap(bkColumnConfig.filter.checked || []); + vxeColumnConfig.filters = bkColumnConfig.filter.list.map((item: any) => ({ + label: item.text, + value: item.value, + checked: Boolean(checkedMap[item.value]), + })); + vxeColumnConfig.filterMultiple = true; + delete vxeColumnConfig.filter; + } + + if (bkColumnConfig.render) { + const cellRender = bkColumnConfig.render; + Object.assign(vxeColumnConfig.slots, { + default: (payload: any) => cellRender(payload), + }); + delete vxeColumnConfig.render; + } + + if (bkColumnConfig.renderHead) { + const headRender = bkColumnConfig.renderHead; + Object.assign(vxeColumnConfig.slots, { + header: (payload: any) => + headRender({ + column: payload.column, + }), + }); + delete vxeColumnConfig.renderHead; + } + + delete vxeColumnConfig.label; + delete vxeColumnConfig.sort; + delete vxeColumnConfig.textAlign; + + // 废弃属性 + delete vxeColumnConfig.children; + delete vxeColumnConfig.titleHelp; + + return vxeColumnConfig; +}; + +export const tableConfig = (bkTableConfig: any) => { + const bkTableConfigMemo = { ...bkTableConfig }; + const vxeTableConfig = { + ...bkTableConfig, + rowConfig: { + isHover: true, + }, + }; + + if (bkTableConfigMemo.columns) { + delete vxeTableConfig.columns; + } + if (bkTableConfigMemo['row-class']) { + if (typeof bkTableConfigMemo['row-class'] === 'string') { + vxeTableConfig.rowClassName = bkTableConfigMemo.rowClas; + } else if (typeof bkTableConfigMemo['row-class'] === 'function') { + const rowClass = bkTableConfigMemo['row-class']; + + vxeTableConfig.rowClassName = ({ row }: { row: any }) => rowClass(row); + } + } + + if (bkTableConfigMemo['row-height']) { + Object.assign(vxeTableConfig.rowConfig, { + height: bkTableConfigMemo['row-height'], + }); + } + + if (bkTableConfigMemo.settings && bkTableConfigMemo.settings.size) { + vxeTableConfig.size = bkTableConfigMemo.settings.size; + } + + delete vxeTableConfig.style; + delete vxeTableConfig['row-class']; + delete vxeTableConfig.class; + delete vxeTableConfig['show-overflow-tooltip']; + delete vxeTableConfig.pagination; + delete vxeTableConfig['pagination-height']; + delete vxeTableConfig['remote-pagination']; + delete vxeTableConfig['selection-key']; + delete vxeTableConfig.settings; + delete vxeTableConfig.spellcheck; + delete vxeTableConfig['row-height']; + delete vxeTableConfig.isrowselectenable; + delete vxeTableConfig.settings; + delete vxeTableConfig.showSettings; + + console.log('vxeTableConfigvxeTableConfig = ', vxeTableConfig); + + return vxeTableConfig; +}; diff --git a/dbm-ui/frontend/src/common/table/components/RenderCell.ts b/dbm-ui/frontend/src/common/table/components/RenderCell.ts new file mode 100644 index 0000000000..ffc2f27bbd --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/RenderCell.ts @@ -0,0 +1,26 @@ +import { defineComponent } from 'vue'; + +export default defineComponent({ + name: 'RenderCell', + props: { + column: { + type: Object, + required: true, + }, + params: { + type: Object, + required: true, + }, + }, + setup(props) { + return () => + props.column.slots.default({ + cell: props.column.field ? props.params.row[props.column.field] : '', + data: props.params.row, + column: props.column, + index: props.params.$columnIndex, + row: props.params.row, + rows: props.params.data, + }); + }, +}); diff --git a/dbm-ui/frontend/src/common/table/components/RenderHead.ts b/dbm-ui/frontend/src/common/table/components/RenderHead.ts new file mode 100644 index 0000000000..0c1910fbfb --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/RenderHead.ts @@ -0,0 +1,17 @@ +import { defineComponent } from 'vue'; + +export default defineComponent({ + name: 'RenderHead', + props: { + column: { + type: Object, + required: true, + }, + }, + setup(props) { + return () => + props.column.slots.header({ + column: props.column, + }); + }, +}); diff --git a/dbm-ui/frontend/src/common/table/components/setting-column/Index.vue b/dbm-ui/frontend/src/common/table/components/setting-column/Index.vue new file mode 100644 index 0000000000..d68177ba52 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/setting-column/Index.vue @@ -0,0 +1,283 @@ + + + diff --git a/dbm-ui/frontend/src/common/table/components/setting-column/components/ActionTab.vue b/dbm-ui/frontend/src/common/table/components/setting-column/components/ActionTab.vue new file mode 100644 index 0000000000..02467da6ec --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/setting-column/components/ActionTab.vue @@ -0,0 +1,25 @@ + + diff --git a/dbm-ui/frontend/src/common/table/components/setting-column/components/FieldList.vue b/dbm-ui/frontend/src/common/table/components/setting-column/components/FieldList.vue new file mode 100644 index 0000000000..4d8ad52d2b --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/setting-column/components/FieldList.vue @@ -0,0 +1,139 @@ + + + diff --git a/dbm-ui/frontend/src/common/table/components/setting-column/components/Others.vue b/dbm-ui/frontend/src/common/table/components/setting-column/components/Others.vue new file mode 100644 index 0000000000..7aef4c5449 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/setting-column/components/Others.vue @@ -0,0 +1,56 @@ + + + diff --git a/dbm-ui/frontend/src/common/table/components/setting-column/useOutSideClick.ts b/dbm-ui/frontend/src/common/table/components/setting-column/useOutSideClick.ts new file mode 100644 index 0000000000..1560218c87 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/components/setting-column/useOutSideClick.ts @@ -0,0 +1,26 @@ +import { onBeforeUnmount, onMounted } from 'vue'; + +export default (callback: () => void) => { + const handeOutsideClick = (event: Event) => { + const eventPath = event.composedPath(); + // eslint-disable-next-line no-plusplus + for (let i = 0; i < eventPath.length; i++) { + const target = eventPath[i] as HTMLElement; + if ( + /bk-vxe-table-setting-column-btn/.test(target.className) || + (target.dataset && /bk-vxe-table-setting-column-theme/.test(target.dataset.theme || 'null')) + ) { + return; + } + } + callback(); + }; + + onMounted(() => { + document.body.addEventListener('click', handeOutsideClick); + }); + + onBeforeUnmount(() => { + document.body.removeEventListener('click', handeOutsideClick); + }); +}; diff --git a/dbm-ui/frontend/src/common/table/style/vxe-table-path.less b/dbm-ui/frontend/src/common/table/style/vxe-table-path.less new file mode 100644 index 0000000000..2d15b1dfe7 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/style/vxe-table-path.less @@ -0,0 +1,125 @@ +.bk-vxe-table { + --vxe-ui-table-column-padding-mini: 9px 0; + --vxe-ui-font-size-small: 12px; + --vxe-ui-table-cell-padding-left: 16px; + --vxe-ui-table-cell-padding-right: 16px; + + .vxe-header--column { + font-weight: normal; + color: var(--table-head-font-color); + + .vxe-resizable{ + right: -5px; + + &.is--line{ + &:hover{ + &::before{ + background: var(--primary-color); + } + } + + &::before{ + width: 5px; + height: 100%; + background: transparent; + } + } + } + } + + .vxe-table--render-default { + color: var(--table-body-font-color); + + .vxe-table--resizable-bar { + &::before{ + background: var(--primary-color); + } + } + + &.column--highlight .vxe-header--column:not(.col--seq):hover{ + background: var(--table-row-active-bg-color); + } + + .vxe-header--column.vxe-header--setting-wrapper{ + padding: 0; + } + } + + [class*='vxe-table-icon-'] { + font-size: 12px; + } + + .is--filter-active .vxe-cell--filter .vxe-filter--btn { + color: var(--primary-color); + } + + .vxe-table--filter-wrapper { + min-width: 148px; + + .vxe-table--filter-body{ + max-height: 300px !important; + } + + .vxe-table--filter-option { + padding-top: 8px; + padding-bottom: 8px; + + &.is--checked { + color: var(--primary-color); + } + + .vxe-checkbox--icon { + font-size: 16px; + color: var(--primary-color) !important; + } + } + + .vxe-table--filter-footer { + button { + display: inline-flex; + height: var(--component-size-small); + padding: var(--component-size-small-padding); + font-size: var(--font-size-base); + color: var(--default-color); + text-decoration: none; + white-space: nowrap; + cursor: pointer; + background: var(--white-color); + border: 1px solid var(--light-gray); + border-radius: var(--border-radius-base); + outline: none; + box-sizing: border-box; + transition: background-color ease 0.3s; + appearance: none; + align-items: center; + justify-content: center; + + &:first-child { + color: var(--white-color); + background: var(--primary-color); + border-color: var(--primary-color); + + &:hover { + background: var(--button-primary-hover-color); + border-color: var(--button-primary-hover-color); + } + + &.is--disabled { + color: var(--white-color); + background: var(--disable-color); + border-color: var(--disable-color); + } + } + + & ~ button { + margin-left: 8px; + + &:hover { + color: var(--default-color); + border-color: var(--button-default-hover-border-color); + } + } + } + } + } +} \ No newline at end of file diff --git a/dbm-ui/frontend/src/common/table/utils/index.ts b/dbm-ui/frontend/src/common/table/utils/index.ts new file mode 100644 index 0000000000..7d5838ab30 --- /dev/null +++ b/dbm-ui/frontend/src/common/table/utils/index.ts @@ -0,0 +1 @@ +export * from './makeMap'; diff --git a/dbm-ui/frontend/src/views/tickets/common/styles/DetailsTable.less b/dbm-ui/frontend/src/common/table/utils/makeMap.ts similarity index 69% rename from dbm-ui/frontend/src/views/tickets/common/styles/DetailsTable.less rename to dbm-ui/frontend/src/common/table/utils/makeMap.ts index 7c04a55186..550fb9d37e 100644 --- a/dbm-ui/frontend/src/views/tickets/common/styles/DetailsTable.less +++ b/dbm-ui/frontend/src/common/table/utils/makeMap.ts @@ -9,27 +9,12 @@ * 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 "@styles/mixins.less"; - -:deep(.cell) { - margin: 5px 0; - line-height: unset !important; - - .db-icon-copy { - margin-top: 1px; - margin-left: 4px; - color: @primary-color; - cursor: pointer; - } - - .cluster-name { - padding: 8px 0; - line-height: 16px; - - &__alias { - color: @light-gray; - } - } -} \ No newline at end of file +export const makeMap = (list: Array = []): Record => { + const map = Object.create(null); + list.forEach((item) => { + map[item] = true; + }); + return map; +}; diff --git a/dbm-ui/frontend/src/components/cluster-selector/Index.vue b/dbm-ui/frontend/src/components/cluster-selector/Index.vue index f6dbe5ca12..afecd1dfc1 100644 --- a/dbm-ui/frontend/src/components/cluster-selector/Index.vue +++ b/dbm-ui/frontend/src/components/cluster-selector/Index.vue @@ -497,6 +497,7 @@ [tabKey]: tabSelectMap, }; }, {} as SelectMapValueType); + showTabTips.value = true; } }); diff --git a/dbm-ui/frontend/src/components/cluster-selector/components/common/task-panel/Item.vue b/dbm-ui/frontend/src/components/cluster-selector/components/common/task-panel/Item.vue index c913610b21..a2ddd2e50b 100644 --- a/dbm-ui/frontend/src/components/cluster-selector/components/common/task-panel/Item.vue +++ b/dbm-ui/frontend/src/components/cluster-selector/components/common/task-panel/Item.vue @@ -30,7 +30,7 @@ class="fail-tip">  ,  {{ $t('执行失败') }} -  , {{ $t('待确认') }} +  , {{ $t('待继续') }} diff --git a/dbm-ui/frontend/src/components/db-popconfirm/index.vue b/dbm-ui/frontend/src/components/db-popconfirm/index.vue index 2b645a42aa..5dd0cc3e34 100644 --- a/dbm-ui/frontend/src/components/db-popconfirm/index.vue +++ b/dbm-ui/frontend/src/components/db-popconfirm/index.vue @@ -21,12 +21,14 @@
+ :style="contentStyle">
{{ title }}
- {{ content }} + + {{ content }} +
Promise | void; cancelHandler?: () => Promise | void; } const props = withDefaults(defineProps(), { placement: 'top', + content: '', + width: 280, cancelHandler: () => Promise.resolve(), }); @@ -72,6 +77,11 @@ const popRef = ref(); const isConfirmLoading = ref(false); + const contentStyle = computed(() => ({ + width: `${props.width}px`, + padding: '15px 10px', + })); + const handleConfirm = () => { isConfirmLoading.value = true; Promise.resolve() @@ -114,7 +124,7 @@ { name: 'flip', options: { - fallbackPlacements: ['top-start', 'top-end'], + fallbackPlacements: ['top', 'bottom'], allowedAutoPlacements: ['top-start', 'top-end'], }, }, @@ -147,25 +157,25 @@ background-color: #fff; } - .tippy-arrow { - position: absolute; - bottom: -6px !important; - left: 50% !important; - background: #fff; - border: 1px solid #dcdee5 !important; - transform: translateX(-50%) rotateZ(45deg) !important; - box-shadow: 0 0 6px 0 #dcdee5 !important; - - &::before { - content: none; - } - } - - &[data-placement^='top-end'] { - & > .tippy-arrow { - right: -6px; - left: unset !important; - } - } + // .tippy-arrow { + // position: absolute; + // bottom: -6px !important; + // left: 50% !important; + // background: #fff; + // border: 1px solid #dcdee5 !important; + // transform: translateX(-50%) rotateZ(45deg) !important; + // box-shadow: 0 0 6px 0 #dcdee5 !important; + + // &::before { + // content: none; + // } + // } + + // &[data-placement^='top-end'] { + // & > .tippy-arrow { + // right: -6px; + // left: unset !important; + // } + // } } diff --git a/dbm-ui/frontend/src/components/db-search-select/index.vue b/dbm-ui/frontend/src/components/db-search-select/index.vue index 6e847af905..1a545bd1cd 100644 --- a/dbm-ui/frontend/src/components/db-search-select/index.vue +++ b/dbm-ui/frontend/src/components/db-search-select/index.vue @@ -108,6 +108,11 @@ .search-container-selected { height: 22px; max-width: 250px !important; + + .selected-name { + height: 22px; + overflow: hidden; + } } } diff --git a/dbm-ui/frontend/src/components/db-table/OriginalTable.vue b/dbm-ui/frontend/src/components/db-table/OriginalTable.vue index d8b2321882..704c186ef9 100644 --- a/dbm-ui/frontend/src/components/db-table/OriginalTable.vue +++ b/dbm-ui/frontend/src/components/db-table/OriginalTable.vue @@ -15,7 +15,6 @@ diff --git a/dbm-ui/frontend/src/components/db-table/index.vue b/dbm-ui/frontend/src/components/db-table/index.vue index e831c85e44..05f009ce46 100644 --- a/dbm-ui/frontend/src/components/db-table/index.vue +++ b/dbm-ui/frontend/src/components/db-table/index.vue @@ -25,9 +25,9 @@ :data="tableData.results" :max-height="tableMaxHeight" :pagination="pagination" - :pagination-heihgt="60" :remote-pagination="remotePagination" - show-overflow-tooltip + show-overflow + :show-settings="showSettings" v-bind="$attrs" @column-sort="handleColumnSortChange" @page-limit-change="handlePageLimitChange" @@ -96,8 +96,8 @@ fixedPagination?: boolean, clearSelection?: boolean, paginationExtra?: { - small?: boolean; - }, + small?: boolean; + }, selectable?: boolean, disableSelectMethod?: (data: any) => boolean|string, // data 数据的主键 @@ -111,6 +111,7 @@ // 是否允许行点击选中 allowRowClickSelect?: boolean, remoteSort?: boolean, + showSettings?: boolean, } interface Emits { @@ -145,6 +146,7 @@ remotePagination: true, allowRowClickSelect: false, remoteSort: false, + showSettings: true, }); const emits = defineEmits(); @@ -525,6 +527,10 @@ // 切换每页条数 const handlePageLimitChange = (pageLimit: number) => { + console.log('pagination.limit = ', pagination.limit,pageLimit ) + if (pagination.limit === pageLimit){ + return + } pagination.limit = pageLimit; pagination.current = 1; fetchListData(); @@ -532,9 +538,13 @@ // 切换页码 const handlePageValueChange = (pageValue:number) => { + if (pagination.current === pageValue) { + return + } pagination.current = pageValue; + + console.log('pagination.current = ', pagination.current, pageValue, pagination ) fetchListData(); - bkTableRef.value.scrollTo(0, 0); }; // 情况搜索条件 @@ -620,7 +630,7 @@ justify-content: center; } - table tbody tr td .cell { + table tbody tr td .vxe-cell { line-height: unset !important; } } diff --git a/dbm-ui/frontend/src/components/instance-selector/components/RenderManualHost.vue b/dbm-ui/frontend/src/components/instance-selector/components/RenderManualHost.vue index df2fe753ad..7bf55be7b3 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/RenderManualHost.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/RenderManualHost.vue @@ -246,11 +246,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/RenderTopoHost.vue b/dbm-ui/frontend/src/components/instance-selector/components/RenderTopoHost.vue index 03ec0a526d..908564c7a1 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/RenderTopoHost.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/RenderTopoHost.vue @@ -331,11 +331,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content-host/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content-host/table/Index.vue index 07f1325edd..31a06dfa95 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content-host/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content-host/table/Index.vue @@ -360,11 +360,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content/table/Index.vue index 189c4211cf..ede9f06d7a 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/common/manual-content/table/Index.vue @@ -296,11 +296,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/mongo/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/mongo/table/Index.vue index ab5ac70c01..aa5989c9db 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/mongo/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/mongo/table/Index.vue @@ -396,11 +396,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/mysql/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/mysql/table/Index.vue index c84248fc59..2b0b60f2d2 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/mysql/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/mysql/table/Index.vue @@ -397,11 +397,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/redis-host/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/redis-host/table/Index.vue index 1499b4698d..a3a43d8cc0 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/redis-host/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/redis-host/table/Index.vue @@ -371,11 +371,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/redis/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/redis/table/Index.vue index fe08c10a7e..56199bbe90 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/redis/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/redis/table/Index.vue @@ -395,11 +395,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/sqlserver/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/sqlserver/table/Index.vue index d20eb56a32..e6dae9d16a 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/sqlserver/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/sqlserver/table/Index.vue @@ -352,11 +352,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster-host/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster-host/table/Index.vue index 4dc1d0f3d6..c9e6c21d34 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster-host/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster-host/table/Index.vue @@ -243,6 +243,30 @@ showOverflowTooltip: true, render: ({ data }: DataRow) => data.host_info?.agent_id || '--', }, + { + label: t('园区'), + field: 'bk_sub_zone', + showOverflowTooltip: true, + render: ({ data }: DataRow) => data.host_info.bk_sub_zone || '--', + }, + { + label: t('CPU'), + field: 'bk_cpu', + showOverflowTooltip: true, + render: ({ data }: DataRow) => data.host_info.bk_cpu || '--', + }, + { + label: t('内存'), + field: 'bk_mem', + showOverflowTooltip: true, + render: ({ data }: DataRow) => data.host_info.bk_mem || '--', + }, + { + label: t('磁盘'), + field: 'bk_disk', + showOverflowTooltip: true, + render: ({ data }: DataRow) => data.host_info.bk_disk || '--', + }, ]; watch(() => props.lastValues, () => { @@ -336,11 +360,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster/table/Index.vue index e1256bf1e1..cc4cebfbc6 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/tendb-cluster/table/Index.vue @@ -397,11 +397,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/tendb-ha-host/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/tendb-ha-host/table/Index.vue index eac27cbf96..c05265d3f6 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/tendb-ha-host/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/tendb-ha-host/table/Index.vue @@ -357,11 +357,5 @@ diff --git a/dbm-ui/frontend/src/components/instance-selector/components/tendb-single-host/table/Index.vue b/dbm-ui/frontend/src/components/instance-selector/components/tendb-single-host/table/Index.vue index 230e3a40dc..ec802b48de 100644 --- a/dbm-ui/frontend/src/components/instance-selector/components/tendb-single-host/table/Index.vue +++ b/dbm-ui/frontend/src/components/instance-selector/components/tendb-single-host/table/Index.vue @@ -328,11 +328,5 @@ diff --git a/dbm-ui/frontend/src/components/mult-line-text/Index.vue b/dbm-ui/frontend/src/components/multline-text/Index.vue similarity index 85% rename from dbm-ui/frontend/src/components/mult-line-text/Index.vue rename to dbm-ui/frontend/src/components/multline-text/Index.vue index 9b9b5fc2d0..6974a7bf11 100644 --- a/dbm-ui/frontend/src/components/mult-line-text/Index.vue +++ b/dbm-ui/frontend/src/components/multline-text/Index.vue @@ -18,16 +18,18 @@ text theme="primary" @click="handleToggleMore"> - {{ t('更多') }} - + + {{ t('更多') }} + +
- + @@ -177,9 +176,9 @@ } & > .scroll-faker-content { - height: inherit; - max-width: inherit; - max-height: inherit; + height: 100%; + max-width: 100%; + max-height: 100%; overflow: scroll; &::-webkit-scrollbar { diff --git a/dbm-ui/frontend/src/components/stretch-layout/StretchLayout.vue b/dbm-ui/frontend/src/components/stretch-layout/StretchLayout.vue index ebd646daad..2a9dde2a17 100644 --- a/dbm-ui/frontend/src/components/stretch-layout/StretchLayout.vue +++ b/dbm-ui/frontend/src/components/stretch-layout/StretchLayout.vue @@ -42,6 +42,22 @@ + diff --git a/dbm-ui/frontend/src/components/text-overflow-layout/Index.vue b/dbm-ui/frontend/src/components/text-overflow-layout/Index.vue index 3cd6e8c95d..da2a8cd483 100644 --- a/dbm-ui/frontend/src/components/text-overflow-layout/Index.vue +++ b/dbm-ui/frontend/src/components/text-overflow-layout/Index.vue @@ -82,6 +82,7 @@ display: block; width: 100%; overflow: hidden; + line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } diff --git a/dbm-ui/frontend/src/components/ticket-status-tag/Index.vue b/dbm-ui/frontend/src/components/ticket-status-tag/Index.vue new file mode 100644 index 0000000000..3bf5f44b73 --- /dev/null +++ b/dbm-ui/frontend/src/components/ticket-status-tag/Index.vue @@ -0,0 +1,73 @@ + + + diff --git a/dbm-ui/frontend/src/components/vue2/ip-selector/index.ts b/dbm-ui/frontend/src/components/vue2/ip-selector/index.ts index e3fcbc8721..b566c2a9f9 100644 --- a/dbm-ui/frontend/src/components/vue2/ip-selector/index.ts +++ b/dbm-ui/frontend/src/components/vue2/ip-selector/index.ts @@ -55,8 +55,15 @@ export const ipSelector = createFactory({ label: t('磁盘_GB'), field: 'bk_disk', }, + { + key: 'zone', + index: 7, + width: '100px', + label: t('所在园区'), + field: 'bk_sub_zone', + }, ], - hostTableRenderColumnList: ['ip', 'ipv6', 'cloudArea', 'alive', 'cpu', 'memo', 'disk'], + hostTableRenderColumnList: ['ip', 'ipv6', 'cloudArea', 'alive', 'cpu', 'memo', 'disk', 'zone'], fetchTopologyHostCount: getHostTopo, fetchTopologyHostsNodes: getHosts, fetchTopologyHostIdsNodes: getHostIdInfos, diff --git a/dbm-ui/frontend/src/hooks/index.ts b/dbm-ui/frontend/src/hooks/index.ts index d8cfd8c6c8..2b3d724061 100644 --- a/dbm-ui/frontend/src/hooks/index.ts +++ b/dbm-ui/frontend/src/hooks/index.ts @@ -36,6 +36,7 @@ export * from './useTableSettings'; export * from './useTagsOverflow'; export * from './useTaskCount'; export * from './useTicketCloneInfo'; +export * from './useTicketCount'; export * from './useTicketMessage'; export * from './useTimeZoneFormat'; export * from './useUrlSearach'; diff --git a/dbm-ui/frontend/src/hooks/useSQLTaskNotify.tsx b/dbm-ui/frontend/src/hooks/useSQLTaskNotify.tsx index b4e246e4c6..a8721d356c 100644 --- a/dbm-ui/frontend/src/hooks/useSQLTaskNotify.tsx +++ b/dbm-ui/frontend/src/hooks/useSQLTaskNotify.tsx @@ -40,8 +40,8 @@ export const useSQLTaskNotify = () => { }; const { cancel: cancelRequest } = useRequest(getUserSemanticTasks, { - pollingInterval: 10000, - debounceInterval: 10000, + pollingInterval: 10000000, + debounceInterval: 10000000, onSuccess(data) { const isAlterItem = _.find(data, (item) => item.is_alter); diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/authorizeRule.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/authorizeRule.ts index 388930ded0..a7dceedeb3 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/authorizeRule.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/authorizeRule.ts @@ -10,8 +10,7 @@ * 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 { MysqlAuthorizationDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { checkHost } from '@services/source/ipchooser'; import { getTendbhaList } from '@services/source/tendbha'; import { getTendbsingleList } from '@services/source/tendbsingle'; @@ -19,7 +18,7 @@ import { getTendbsingleList } from '@services/source/tendbsingle'; import { ClusterTypes } from '@common/const'; // Mysql 集群授权 -export async function generateMysqlAuthorizeRuleCloneData(ticketData: TicketModel) { +export async function generateMysqlAuthorizeRuleCloneData(ticketData: TicketModel) { const { authorize_data: authorizeData } = ticketData.details; const sourceIpList: ServiceReturnType = []; if (authorizeData.source_ips && Array.isArray(authorizeData.source_ips)) { diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/checksum.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/checksum.ts index ce31db2819..ac0da80761 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/checksum.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/checksum.ts @@ -11,14 +11,13 @@ * the specific language governing permissions and limitations under the License. */ import TendbhaModel from '@services/model/mysql/tendbha'; -import type { MySQLChecksumDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { getTendbhaList } from '@services/source/tendbha'; import { random } from '@utils'; // Mysql SQL变更执行 -export async function generateMysqlChecksumCloneData(ticketData: TicketModel) { +export async function generateMysqlChecksumCloneData(ticketData: TicketModel) { const { details, remark } = ticketData; const clustersResult = await getTendbhaList({ cluster_ids: details.infos.map((item) => item.cluster_id), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/clientClone.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/clientClone.ts index 7cb26710e7..d08c30eff6 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/clientClone.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/clientClone.ts @@ -10,13 +10,12 @@ * 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 { MySQLCloneDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Mysql 客户端权限克隆 -export function generateMysqlClientCloneData(ticketData: TicketModel) { +export function generateMysqlClientCloneData(ticketData: TicketModel) { return Promise.resolve({ tableDataList: ticketData.details.clone_data.map((item) => ({ ...item, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dataMigrate.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dataMigrate.ts index ab5aa08720..255ac4fbc3 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dataMigrate.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dataMigrate.ts @@ -10,13 +10,12 @@ * 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 { MysqlDataMigrateDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL DB克隆 -export function generateMysqlDataMigrateCloneData(ticketData: TicketModel) { +export function generateMysqlDataMigrateCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => { const sourceClusterInfo = clusters[item.source_cluster]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dbRename.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dbRename.ts index 92ee67924e..ce36cc58d3 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dbRename.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/dbRename.ts @@ -10,13 +10,12 @@ * 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 { MySQLRenameDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 高可用DB重命名 -export function generateMysqlDbRenameCloneData(ticketData: TicketModel) { +export function generateMysqlDbRenameCloneData(ticketData: TicketModel) { const { clusters, force, infos } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/flashback.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/flashback.ts index f2dd11db49..29d08a2992 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/flashback.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/flashback.ts @@ -10,13 +10,12 @@ * 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 { MySQLFlashback } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 闪回 -export function generateMysqlFlashbackCloneData(ticketData: TicketModel) { +export function generateMysqlFlashbackCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haApply.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haApply.ts index ea8e332edb..29abf73ed1 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haApply.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haApply.ts @@ -10,11 +10,10 @@ * 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 { MySQLDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; // Mysql 高可用部署 -export function generateMysqlHaApplyCloneData(ticketData: TicketModel) { +export function generateMysqlHaApplyCloneData(ticketData: TicketModel) { const { details } = ticketData; return Promise.resolve({ affinity: details.disaster_tolerance_level, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbBackup.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbBackup.ts index a3b9dcfb12..b63515d8e4 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbBackup.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbBackup.ts @@ -10,13 +10,12 @@ * 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 { MySQLFullBackupDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Mysql 全库备份 -export function generateMysqlDbBackupCloneData(ticketData: TicketModel) { +export function generateMysqlDbBackupCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const isNewProtocol = Array.isArray(infos); const tableDataList = (isNewProtocol ? infos : infos.clusters).map((item) => ({ diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbClear.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbClear.ts index 7045929318..3b65e2ccf8 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbClear.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbClear.ts @@ -10,13 +10,12 @@ * 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 { MySQLHATruncateDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 高可用清档 -export function generateMysqlDbClearCloneData(ticketData: TicketModel) { +export function generateMysqlDbClearCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbTableBackup.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbTableBackup.ts index 8966753389..146b8ff234 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbTableBackup.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/haDbTableBackup.ts @@ -10,15 +10,14 @@ * 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 { MySQLTableBackupDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { ClusterTypes } from '@common/const'; import { random } from '@utils'; // Mysql 库表备份 -export function generateMysqlDbTableBackupCloneData(ticketData: TicketModel) { +export function generateMysqlDbTableBackupCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/importSqlFile.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/importSqlFile.ts index ead1893165..8a581ba8df 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/importSqlFile.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/importSqlFile.ts @@ -10,11 +10,10 @@ * 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 { MySQLImportSQLFileDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; // Mysql SQL变更执行 -export function generateMysqlImportSqlFileCloneData(ticketData: TicketModel) { +export function generateMysqlImportSqlFileCloneData(ticketData: TicketModel) { const { details } = ticketData; return Promise.resolve({ backup: details.backup, @@ -22,7 +21,6 @@ export function generateMysqlImportSqlFileCloneData(ticketData: TicketModel[number]; // Mysql DB实例权限克隆 -export async function generateMysqlInstanceCloneData(ticketData: TicketModel) { +export async function generateMysqlInstanceCloneData(ticketData: TicketModel) { const instanceList = _.flatMap(ticketData.details.clone_data.map((item) => [item.source, item.target])); const instanceListInfos = await checkMysqlInstances({ bizId: ticketData.bk_biz_id, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterFailover.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterFailover.ts index 55f06f897b..402be45767 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterFailover.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterFailover.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLMasterFailDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 主库故障切换 -export function generateMysqlMasterFailoverCloneData(ticketData: TicketModel) { +export function generateMysqlMasterFailoverCloneData(ticketData: TicketModel) { const { clusters, infos, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterSlaveSwitch.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterSlaveSwitch.ts index df3a6fbec3..687cf638fb 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterSlaveSwitch.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/masterSlaveSwitch.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLMasterSlaveDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 主从互换 -export function generateMysqlMasterSlaveSwicthCloneData(ticketData: TicketModel) { +export function generateMysqlMasterSlaveSwicthCloneData(ticketData: TicketModel) { const { clusters, infos, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/migrateCluster.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/migrateCluster.ts index bb00bc7e43..ddb45552a1 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/migrateCluster.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/migrateCluster.ts @@ -10,13 +10,12 @@ * 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 { MySQLMigrateDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 迁移(克隆)主从 -export function generateMysqlMigrateClusterCloneData(ticketData: TicketModel) { +export function generateMysqlMigrateClusterCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => { const clusterId = item.cluster_ids[0]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/openArea.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/openArea.ts index a65f88336c..2e389e9513 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/openArea.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/openArea.ts @@ -12,8 +12,7 @@ */ import _ from 'lodash'; -import type { MysqlOpenAreaDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { getDetail } from '@services/source/openarea'; import { random } from '@utils'; @@ -25,7 +24,7 @@ const parser = (pattern: string, input: string) => { }; // MySQL 开区 -export async function generateMysqlOpenAreaCloneData(ticketData: TicketModel) { +export async function generateMysqlOpenAreaCloneData(ticketData: TicketModel) { const { details } = ticketData; // 获取模板详情 const templateDetail = await getDetail({ id: details.config_id }); diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyAdd.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyAdd.ts index 85c01d98b6..5e5ed3a6fb 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyAdd.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyAdd.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLProxyAddDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 添加Proxy -export function generateMysqlProxyAddCloneData(ticketData: TicketModel) { +export function generateMysqlProxyAddCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => { const clusterId = item.cluster_ids[0]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyReplace.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyReplace.ts index a6887cba46..d20780b8a9 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyReplace.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/proxyReplace.ts @@ -10,11 +10,10 @@ * 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 { MySQLProxySwitchDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; // MySQL 替换Proxy -export function generateMysqlProxyReplaceCloneData(ticketData: TicketModel) { +export function generateMysqlProxyReplaceCloneData(ticketData: TicketModel) { const { force, infos } = ticketData.details; return Promise.resolve({ force, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreLocalSlave.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreLocalSlave.ts index f2fba038f8..b35d41344c 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreLocalSlave.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreLocalSlave.ts @@ -10,13 +10,12 @@ * 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 { MySQLRestoreLocalSlaveDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 重建从库-原地重建 -export function generateMysqlRestoreLocalSlaveCloneData(ticketData: TicketModel) { +export function generateMysqlRestoreLocalSlaveCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreSlave.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreSlave.ts index d40934cfdc..74b597e73d 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreSlave.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/restoreSlave.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLRestoreSlaveDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 重建从库-新机重建 -export function generateMysqlRestoreSlaveCloneData(ticketData: TicketModel) { +export function generateMysqlRestoreSlaveCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const tableDataList = infos.map((item) => { const clusterId = item.cluster_ids[0]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/rollback.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/rollback.ts index f1b9449fd3..4d2a20f0c0 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/rollback.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/rollback.ts @@ -10,13 +10,12 @@ * 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 { MySQLRollbackDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 定点构造 -export function generateMysqlRollbackCloneData(ticketData: TicketModel) { +export function generateMysqlRollbackCloneData(ticketData: TicketModel) { const { clusters, infos, rollback_cluster_type } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/singleApply.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/singleApply.ts index a993b02451..d7dd3a5027 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/singleApply.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/singleApply.ts @@ -10,11 +10,10 @@ * 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 { MySQLDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; // Mysql 单节点部署 -export function generateMysqlSingleApplyCloneData(ticketData: TicketModel) { +export function generateMysqlSingleApplyCloneData(ticketData: TicketModel) { const { details } = ticketData; return Promise.resolve({ affinity: details.disaster_tolerance_level, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/slaveAdd.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/slaveAdd.ts index a80d61565d..a02299a882 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/slaveAdd.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/slaveAdd.ts @@ -10,13 +10,12 @@ * 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 { MySQLSlaveDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL 添加从库 -export function generateMysqlSlaveAddCloneData(ticketData: TicketModel) { +export function generateMysqlSlaveAddCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionLocalUpgrade.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionLocalUpgrade.ts index bf1003d137..fc309b426b 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionLocalUpgrade.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionLocalUpgrade.ts @@ -13,8 +13,7 @@ import TendbhaModel from '@services/model/mysql/tendbha'; import TendbsingleModel from '@services/model/mysql/tendbsingle'; -import type { MySQLLocalUpgradeDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { getTendbhaList } from '@services/source/tendbha'; import { getTendbsingleList } from '@services/source/tendbsingle'; @@ -23,7 +22,7 @@ import { ClusterTypes } from '@common/const'; import { random } from '@utils'; // MySQL 原地升级 -export async function generateMysqlVersionLocalUpgradeCloneData(ticketData: TicketModel) { +export async function generateMysqlVersionLocalUpgradeCloneData(ticketData: TicketModel) { const { clusters, infos, force } = ticketData.details; const clusterType = infos[0].display_info.cluster_type; const apiMap = { diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionMigrateUpgrade.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionMigrateUpgrade.ts index d0ea40691a..dbd3e082c6 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionMigrateUpgrade.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionMigrateUpgrade.ts @@ -12,14 +12,13 @@ */ import TendbhaModel from '@services/model/mysql/tendbha'; -import type { MySQLMigrateUpgradeDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { getTendbhaList } from '@services/source/tendbha'; import { random } from '@utils'; // MySQL 迁移升级 -export async function generateMysqlVersionMigrateUpgradeCloneData(ticketData: TicketModel) { +export async function generateMysqlVersionMigrateUpgradeCloneData(ticketData: TicketModel) { const { clusters, infos, backup_source: backupSource, force } = ticketData.details; const clusterListResult = await getTendbhaList({ cluster_ids: infos.map((item) => item.cluster_ids[0]), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionProxyUpgrade.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionProxyUpgrade.ts index cb46443455..93efa2a8c3 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionProxyUpgrade.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/mysql/versionProxyUpgrade.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLProxyUpgradeDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Mysql } from '@services/model/ticket/ticket'; import { random } from '@utils'; // MySQL Proxy 升级 -export function generateMysqlVersionProxyUpgradeCloneData(ticketData: TicketModel) { +export function generateMysqlVersionProxyUpgradeCloneData(ticketData: TicketModel) { const { clusters, infos, force } = ticketData.details; const tableList = infos.map((item) => { const clusterId = item.cluster_ids[0]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/apply.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/apply.ts index 703c5fd908..232bd892d8 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/apply.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/apply.ts @@ -10,13 +10,12 @@ * 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 { RedisDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { TicketTypes } from '@common/const'; // Redis 集群部署 -export function generateRedisApplyCloneData(ticketData: TicketModel) { +export function generateRedisApplyCloneData(ticketData: TicketModel) { const { details } = ticketData; return Promise.resolve({ bk_biz_id: ticketData.bk_biz_id, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterAddSlave.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterAddSlave.ts index 1c6096a112..d0643991a8 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterAddSlave.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterAddSlave.ts @@ -10,14 +10,13 @@ * 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 { RedisAddSlaveDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisMachineList } from '@services/source/redis'; import { random } from '@utils'; // Redis 重建从库 -export async function generateRedisClusterAddSlaveCloneData(ticketData: TicketModel) { +export async function generateRedisClusterAddSlaveCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const masterIps: string[] = []; const masterSlaveIpMap: Record = {}; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterCutoff.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterCutoff.ts index f7c724a585..c9493b41f9 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterCutoff.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterCutoff.ts @@ -10,13 +10,12 @@ * 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 { RedisDBReplaceDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Redis 整机替换 -export function generateRedisClusterCutoffCloneData(ticketData: TicketModel) { +export function generateRedisClusterCutoffCloneData(ticketData: TicketModel) { const { clusters, infos, specs } = ticketData.details; return Promise.resolve({ tableDataList: infos.flatMap((info) => diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterShardUpdate.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterShardUpdate.ts index 0cf5bcd9fb..298fa3270c 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterShardUpdate.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterShardUpdate.ts @@ -11,8 +11,7 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisClusterShardUpdateDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisList } from '@services/source/redis'; import { random } from '@utils'; @@ -20,9 +19,7 @@ import { random } from '@utils'; import { t } from '@locales/index'; // Redis 集群分片数变更 -export async function generateRedisClusterShardUpdateCloneData( - ticketData: TicketModel, -) { +export async function generateRedisClusterShardUpdateCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const clusterListResult = await getRedisList({ cluster_ids: infos.map((item) => item.src_cluster).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterTypeUpdate.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterTypeUpdate.ts index b1b287e808..1f25faf2bd 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterTypeUpdate.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/clusterTypeUpdate.ts @@ -11,8 +11,7 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisClusterTypeUpdateDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisList } from '@services/source/redis'; import { random } from '@utils'; @@ -20,7 +19,7 @@ import { random } from '@utils'; import { t } from '@locales/index'; // Redis 集群类型变更 -export async function generateRedisClusterTypeUpdateCloneData(ticketData: TicketModel) { +export async function generateRedisClusterTypeUpdateCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const clusterListResult = await getRedisList({ cluster_ids: infos.map((item) => item.src_cluster).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopy.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopy.ts index 7a89a1adbe..0abaa07195 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopy.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopy.ts @@ -10,13 +10,12 @@ * 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 { RedisDataCopyDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Redis 集群数据复制 -export function generateRedisDataCopyCloneData(ticketData: TicketModel) { +export function generateRedisDataCopyCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableList = infos.map((item) => ({ diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopyCheckRepair.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopyCheckRepair.ts index a387746454..1187ed0b3c 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopyCheckRepair.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataCopyCheckRepair.ts @@ -12,15 +12,14 @@ */ import dayjs from 'dayjs'; -import type { RedisDataCheckAndRepairDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { random } from '@utils'; import { t } from '@locales/index'; // Redis 数据校验与修复 -export function generateRedisDataCopyCheckRepairCloneData(ticketData: TicketModel) { +export function generateRedisDataCopyCheckRepairCloneData(ticketData: TicketModel) { const { details } = ticketData; const tableList = details.infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataStructure.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataStructure.ts index c269595ba9..4c20211445 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataStructure.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/dataStructure.ts @@ -11,14 +11,13 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisDataStructrueDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisList } from '@services/source/redis'; import { random } from '@utils'; // Redis 定点构造 -export async function generateRedisDataStructureCloneData(ticketData: TicketModel) { +export async function generateRedisDataStructureCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const clusterListResult = await getRedisList({ cluster_ids: infos.map((item) => item.cluster_id).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/masterSlaveSwitch.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/masterSlaveSwitch.ts index 50207f059d..02e739328e 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/masterSlaveSwitch.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/masterSlaveSwitch.ts @@ -10,15 +10,14 @@ * 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 { RedisMasterSlaveSwitchDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { checkRedisInstances } from '@services/source/instances'; import { queryMachineInstancePair } from '@services/source/redisToolbox'; import { random } from '@utils'; // Redis 主从切换 -export async function generateRedisMasterSlaveSwitchCloneData(ticketData: TicketModel) { +export async function generateRedisMasterSlaveSwitchCloneData(ticketData: TicketModel) { const { infos, force } = ticketData.details; const masterIps: string[] = []; const ipSwitchMode: Record = {}; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/operation.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/operation.ts index 8fe9a53283..869ee122c3 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/operation.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/operation.ts @@ -11,11 +11,10 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisKeysDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; // Redis 提取Key/删除Key/备份 -export function generateRedisOperationCloneData(ticketData: TicketModel) { +export function generateRedisOperationCloneData(ticketData: TicketModel) { const { clusters, rules } = ticketData.details; return Promise.resolve( rules.map( diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleDown.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleDown.ts index 480309d50e..fad832225e 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleDown.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleDown.ts @@ -15,14 +15,13 @@ import _ from 'lodash'; import RedisModel from '@services/model/redis/redis'; import RedisInstanceModel from '@services/model/redis/redis-instance'; -import type { RedisProxyScaleDownDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisInstances, getRedisList } from '@services/source/redis'; import { random } from '@utils'; // Redis 接入层缩容 -export async function generateRedisProxyScaleDownCloneData(ticketData: TicketModel) { +export async function generateRedisProxyScaleDownCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const [clusterListResult, instanceListResult] = await Promise.all([ getRedisList({ diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleUp.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleUp.ts index a68c194aca..0d273e6817 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleUp.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/proxyScaleUp.ts @@ -11,14 +11,13 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisProxyScaleUpDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisList } from '@services/source/redis'; import { random } from '@utils'; // Redis 接入层扩容 -export async function generateRedisProxyScaleUpCloneData(ticketData: TicketModel) { +export async function generateRedisProxyScaleUpCloneData(ticketData: TicketModel) { const { clusters, infos, specs } = ticketData.details; const clusterListResult = await getRedisList({ cluster_ids: infos.map((item) => item.cluster_id).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/rollbackData.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/rollbackData.ts index 0c61546f9e..045c800607 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/rollbackData.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/rollbackData.ts @@ -10,13 +10,12 @@ * 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 { RedisRollbackDataCopyDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Redis 以构造实例恢复 -export function generateRedisRollbackDataCloneData(ticketData: TicketModel) { +export function generateRedisRollbackDataCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const tableList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/scaleUpdown.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/scaleUpdown.ts index 6e5951e5db..3e7c38a8cc 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/scaleUpdown.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/scaleUpdown.ts @@ -11,8 +11,7 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisScaleUpDownDetails } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisList } from '@services/source/redis'; import { ClusterTypes } from '@common/const'; @@ -20,7 +19,7 @@ import { ClusterTypes } from '@common/const'; import { random } from '@utils'; // Redis 集群容量变更 -export async function generateRedisScaleUpdownCloneData(ticketData: TicketModel) { +export async function generateRedisScaleUpdownCloneData(ticketData: TicketModel) { const { clusters, infos } = ticketData.details; const clusterListResult = await getRedisList({ cluster_ids: infos.map((item) => item.cluster_id).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/versionUpgrade.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/versionUpgrade.ts index 67f50961f0..73c76a32bc 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/versionUpgrade.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/redis/versionUpgrade.ts @@ -11,14 +11,13 @@ * the specific language governing permissions and limitations under the License. */ import RedisModel from '@services/model/redis/redis'; -import type { RedisVersionUpgrade } from '@services/model/ticket/details/redis'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type Redis } from '@services/model/ticket/ticket'; import { getRedisList } from '@services/source/redis'; import { random } from '@utils'; // Redis 版本升级 -export async function generateRedisRedisVersionUpgradeCloneData(ticketData: TicketModel) { +export async function generateRedisRedisVersionUpgradeCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const clusterListResult = await getRedisList({ cluster_ids: infos.map((item) => item.cluster_ids[0]).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/addMnt.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/addMnt.ts index ec580196a3..4670fba20e 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/addMnt.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/addMnt.ts @@ -12,14 +12,13 @@ */ import TendbclusterModel from '@services/model/tendbcluster/tendbcluster'; -import type { SpiderMNTApplyDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbClusterList } from '@services/source/tendbcluster'; import { random } from '@utils'; // Spider 临时节点添加 -export async function generateSpiderAddMntDataCloneData(ticketData: TicketModel) { +export async function generateSpiderAddMntDataCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const clusterListResult = await getTendbClusterList({ cluster_ids: infos.map((item) => item.cluster_id), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/apply.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/apply.ts index 670e0361ab..630c4dacbc 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/apply.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/apply.ts @@ -11,11 +11,10 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderApplyDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; // spider 集群部署 -export async function generateSpiderApplyCloneData(ticketData: TicketModel) { +export async function generateSpiderApplyCloneData(ticketData: TicketModel) { const { details } = ticketData; return Promise.resolve({ diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/authorizeRule.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/authorizeRule.ts index 1fb4dd9a7d..afbaf6374a 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/authorizeRule.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/authorizeRule.ts @@ -10,15 +10,14 @@ * 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 { MysqlAuthorizationDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { checkHost } from '@services/source/ipchooser'; import { getTendbClusterList } from '@services/source/tendbcluster'; import { ClusterTypes } from '@common/const'; // Spider 集群授权 -export async function generateSpiderAuthorizeRuleCloneData(ticketData: TicketModel) { +export async function generateSpiderAuthorizeRuleCloneData(ticketData: TicketModel) { const { authorize_data: authorizeData } = ticketData.details; const sourceIpList: ServiceReturnType = []; if (authorizeData.source_ips && Array.isArray(authorizeData.source_ips)) { diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/capacityChange.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/capacityChange.ts index 07f926b35c..88f4a4edba 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/capacityChange.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/capacityChange.ts @@ -12,14 +12,13 @@ */ import TendbclusterModel from '@services/model/tendbcluster/tendbcluster'; -import type { SpiderNodeRebalanceDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbClusterList } from '@services/source/tendbcluster'; import { random } from '@utils'; // Spider 集群remote节点扩缩容 -export async function generateSpiderCapacityChangeCloneData(ticketData: TicketModel) { +export async function generateSpiderCapacityChangeCloneData(ticketData: TicketModel) { const { infos, need_checksum: needChecksum, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/checksum.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/checksum.ts index c64696fb69..0606e01437 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/checksum.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/checksum.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderCheckSumDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider Checksum -export function generateSpiderChecksumCloneData(ticketData: TicketModel) { +export function generateSpiderChecksumCloneData(ticketData: TicketModel) { const { details, remark } = ticketData; const { infos, clusters } = details; const tableDataList = infos.map((item) => { diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbBackup.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbBackup.ts index f6e18d3f86..2091b29ff9 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbBackup.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbBackup.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderFullBackupDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider TenDBCluster 全备单据 -export function generateSpiderDbBackupCloneData(ticketData: TicketModel) { +export function generateSpiderDbBackupCloneData(ticketData: TicketModel) { const { infos, clusters } = ticketData.details; const isNewProtocol = Array.isArray(infos); const tableDataList = (isNewProtocol ? infos : infos.clusters).map((item) => { diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbClear.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbClear.ts index af95c16ebb..b156069b4a 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbClear.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbClear.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderTruncateDatabaseDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider tendbcluster 清档 -export function generateSpiderDbClearCloneData(ticketData: TicketModel) { +export function generateSpiderDbClearCloneData(ticketData: TicketModel) { const { infos, clusters } = ticketData.details; const tableDataList = infos.map((item) => { const clusterItem = clusters[item.cluster_id]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbRename.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbRename.ts index 8f2fecf451..30ee1b7e3a 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbRename.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbRename.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderRenameDatabaseDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider Tendbcluster 重命名 -export function generateSpiderDbRenameCloneData(ticketData: TicketModel) { +export function generateSpiderDbRenameCloneData(ticketData: TicketModel) { const { infos, force, clusters } = ticketData.details; const tableDataList = infos.map((item) => { const clusterItem = clusters[item.cluster_id]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbTableBackup.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbTableBackup.ts index c3747f01b6..8195135e86 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbTableBackup.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/dbTableBackup.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderTableBackupDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider TenDBCluster 库表备份 -export function generateSpiderDbTableBackupCloneData(ticketData: TicketModel) { +export function generateSpiderDbTableBackupCloneData(ticketData: TicketModel) { const { infos, clusters } = ticketData.details; const tableDataList = infos.map((item) => { const clusterItem = clusters[item.cluster_id]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/flashback.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/flashback.ts index 389f83d992..15fc8b2a2e 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/flashback.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/flashback.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderFlashbackDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider flashback -export function generateSpiderFlashbackCloneData(ticketData: TicketModel) { +export function generateSpiderFlashbackCloneData(ticketData: TicketModel) { const { infos, clusters } = ticketData.details; const tableDataList = infos.map((item) => { const clusterItem = clusters[item.cluster_id]; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/index.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/index.ts index 2dc6ba5184..033d50b0b7 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/index.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/index.ts @@ -29,7 +29,7 @@ export * from './privilegeCloneInst'; export * from './proxyScaleDown'; export * from './proxyScaleUp'; export * from './proxySlaveApply'; -export * from './rollback'; +// export * from './rollback'; export * from './slaveRebuildLocal'; export * from './slaveRebuildNew'; export * from './sqlExecute'; diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterFailover.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterFailover.ts index 642637e93f..88c4f738d4 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterFailover.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterFailover.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderMasterSlaveSwitchDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider 主库故障切换 -export function generateSpiderMasterFailoverCloneData(ticketData: TicketModel) { +export function generateSpiderMasterFailoverCloneData(ticketData: TicketModel) { const { clusters, infos, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveClone.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveClone.ts index b4d8f366a1..c54e34869c 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveClone.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveClone.ts @@ -12,14 +12,13 @@ */ import TendbclusterMachineModel from '@services/model/tendbcluster/tendbcluster-machine'; -import type { SpiderMigrateCluster } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbclusterMachineList } from '@services/source/tendbcluster'; import { random } from '@utils'; // spider 迁移主从 -export async function generateSpiderMasterSlaveCloneCloneData(ticketData: TicketModel) { +export async function generateSpiderMasterSlaveCloneCloneData(ticketData: TicketModel) { const { infos, backup_source: backupSource } = ticketData.details; const masterMachineResult = await getTendbclusterMachineList({ ip: infos.map((item) => item.old_master.ip).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveSwap.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveSwap.ts index cdc1dde63a..f06024bc94 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveSwap.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/masterSlaveSwap.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { SpiderMasterSlaveSwitchDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider 主从切换 -export function generateSpiderMasterSlaveSwapCloneData(ticketData: TicketModel) { +export function generateSpiderMasterSlaveSwapCloneData(ticketData: TicketModel) { const { clusters, infos, diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneClient.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneClient.ts index 09eb672fd6..8d8986f1bc 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneClient.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneClient.ts @@ -11,13 +11,12 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLCloneDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { random } from '@utils'; // Spider 权限克隆 -export function generateSpiderPrivilegeCloneClientCloneData(ticketData: TicketModel) { +export function generateSpiderPrivilegeCloneClientCloneData(ticketData: TicketModel) { return Promise.resolve({ tableDataList: ticketData.details.clone_data.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneInst.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneInst.ts index f7b912dabd..ae5155c6f1 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneInst.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/privilegeCloneInst.ts @@ -12,14 +12,15 @@ */ import TendbclusterInstanceModel from '@services/model/tendbcluster/tendbcluster-instance'; -import type { MySQLInstanceCloneDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbclusterInstanceList } from '@services/source/tendbcluster'; import { random } from '@utils'; // Spider 权限克隆 -export async function generateSpiderPrivilegeCloneInstCloneData(ticketData: TicketModel) { +export async function generateSpiderPrivilegeCloneInstCloneData( + ticketData: TicketModel, +) { const { clone_data: cloneData } = ticketData.details; const instanceListResult = await getTendbclusterInstanceList({ // instance_address: cloneData.reduce((prev, item) => [...prev, item.source], []).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleDown.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleDown.ts index a3240efc02..8f7d048247 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleDown.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleDown.ts @@ -15,14 +15,13 @@ import _ from 'lodash'; import TendbclusterModel from '@services/model/tendbcluster/tendbcluster'; import TendbclusterInstanceModel from '@services/model/tendbcluster/tendbcluster-instance'; -import type { SpiderReduceNodesDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbclusterInstanceList, getTendbClusterList } from '@services/source/tendbcluster'; import { random } from '@utils'; // spider 缩容接入层 -export async function generateSpiderProxyScaleDownCloneData(ticketData: TicketModel) { +export async function generateSpiderProxyScaleDownCloneData(ticketData: TicketModel) { const { infos, is_safe: isSafe } = ticketData.details; const [clusterListResult, instanceListResult] = await Promise.all([ getTendbClusterList({ diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleUp.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleUp.ts index deba3d271e..d7d8466247 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleUp.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxyScaleUp.ts @@ -12,14 +12,13 @@ */ import TendbclusterModel from '@services/model/tendbcluster/tendbcluster'; -import type { SpiderAddNodesDeatils } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbClusterList } from '@services/source/tendbcluster'; import { random } from '@utils'; // spider扩容接入层 -export async function generateSpiderProxyScaleUpCloneData(ticketData: TicketModel) { +export async function generateSpiderProxyScaleUpCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const clusterListResult = await getTendbClusterList({ cluster_ids: infos.map((item) => item.cluster_id), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxySlaveApply.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxySlaveApply.ts index f4295a3cc7..33c729f9f7 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxySlaveApply.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/proxySlaveApply.ts @@ -12,14 +12,13 @@ */ import TendbclusterModel from '@services/model/tendbcluster/tendbcluster'; -import type { SpiderSlaveApplyDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbClusterList } from '@services/source/tendbcluster'; import { random } from '@utils'; // Spider slave集群添加 -export async function generateSpiderProxySlaveApplyCloneData(ticketData: TicketModel) { +export async function generateSpiderProxySlaveApplyCloneData(ticketData: TicketModel) { const { infos } = ticketData.details; const clusterListResult = await getTendbClusterList({ cluster_ids: infos.map((item) => item.cluster_id), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/rollback.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/rollback.ts deleted file mode 100644 index 15da2bb195..0000000000 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/rollback.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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 { SpiderRollbackDetails } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; - -import { random } from '@utils'; - -// spider 定点回档 -export function generateSpiderRollbackCloneData(ticketData: TicketModel) { - const tableDataList = [ticketData.details].map((item) => { - const clusterItem = ticketData.details.clusters[item.cluster_id]; - return { - rowKey: random(), - isLoading: false, - clusterData: { - id: clusterItem.id, - domain: clusterItem.immute_domain, - cloudId: clusterItem.bk_cloud_id, - }, - rollbackupType: item.rollback_type, - rollbackTime: item.rollback_time, - databases: item.databases, - databasesIgnore: item.databases_ignore, - tables: item.tables, - tablesIgnore: item.tables_ignore, - }; - }); - - return Promise.resolve({ - tableDataList, - remark: ticketData.remark, - }); -} diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildLocal.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildLocal.ts index 7614cd2d93..b16eb9029c 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildLocal.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildLocal.ts @@ -12,14 +12,15 @@ */ import TendbclusterInstanceModel from '@services/model/tendbcluster/tendbcluster-instance'; -import type { SpiderSlaveRebuid } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbclusterInstanceList } from '@services/source/tendbcluster'; import { random } from '@utils'; // spider 重建从库-本地重建 -export async function generateSpiderSlaveRebuildLocalCloneData(ticketData: TicketModel) { +export async function generateSpiderSlaveRebuildLocalCloneData( + ticketData: TicketModel, +) { const { infos, backup_source } = ticketData.details; const instanceListResult = await getTendbclusterInstanceList({ instance: infos.map((item) => item.slave.ip), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildNew.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildNew.ts index 8d4f1652d2..df235c7873 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildNew.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/slaveRebuildNew.ts @@ -12,14 +12,13 @@ */ import TendbclusterMachineModel from '@services/model/tendbcluster/tendbcluster-machine'; -import type { SpiderSlaveRebuid } from '@services/model/ticket/details/spider'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; import { getTendbclusterMachineList } from '@services/source/tendbcluster'; import { random } from '@utils'; // spider 重建从库-新机重建 -export async function generateSpiderSlaveRebuildNewCloneData(ticketData: TicketModel) { +export async function generateSpiderSlaveRebuildNewCloneData(ticketData: TicketModel) { const { infos, backup_source } = ticketData.details; const slaveMachineResult = await getTendbclusterMachineList({ ip: infos.map((item) => item.old_slave.ip).join(','), diff --git a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/sqlExecute.ts b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/sqlExecute.ts index 6dbf2a0d28..8e5efa718a 100644 --- a/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/sqlExecute.ts +++ b/dbm-ui/frontend/src/hooks/useTicketCloneInfo/generateCloneData/spider/sqlExecute.ts @@ -11,11 +11,10 @@ * the specific language governing permissions and limitations under the License. */ -import type { MySQLImportSQLFileDetails } from '@services/model/ticket/details/mysql'; -import TicketModel from '@services/model/ticket/ticket'; +import TicketModel, { type TendbCluster } from '@services/model/ticket/ticket'; // spider SQL变更执行 -export function generateSpiderSqlExecuteCloneData(ticketData: TicketModel) { +export function generateSpiderSqlExecuteCloneData(ticketData: TicketModel) { const { details } = ticketData; return Promise.resolve({ backup: details.backup, @@ -23,7 +22,6 @@ export function generateSpiderSqlExecuteCloneData(ticketData: TicketModel) { +export function generateSpiderRollbackCloneData(ticketData: TicketModel) { const { clusters, infos, rollback_cluster_type } = ticketData.details; const tableDataList = infos.map((item) => ({ rowKey: random(), diff --git a/dbm-ui/frontend/src/hooks/useTicketCount.ts b/dbm-ui/frontend/src/hooks/useTicketCount.ts new file mode 100644 index 0000000000..acf9be0912 --- /dev/null +++ b/dbm-ui/frontend/src/hooks/useTicketCount.ts @@ -0,0 +1,49 @@ +import { onBeforeUnmount } from 'vue'; +import { useRequest } from 'vue-request'; + +import { getTicketCount } from '@services/source/ticketFlow'; + +import { useEventBus } from '@hooks'; + +const run = () => { + const isLoading = ref(true); + const data = ref>({ + APPROVE: 0, + DONE: 0, + FAILED: 0, + INNER_TODO: 0, + MY_APPROVE: 0, + RESOURCE_REPLENISH: 0, + SELF_MANAGE: 0, + TODO: 0, + }); + + const { run } = useRequest(getTicketCount, { + onSuccess(result) { + data.value = result; + isLoading.value = false; + }, + }); + + const eventBus = useEventBus(); + + eventBus.on('refreshTicketStatus', run); + + onBeforeUnmount(() => { + eventBus.off('refreshTicketStatus', run); + }); + + return { + loading: isLoading, + data, + }; +}; + +let context: ReturnType; + +export const useTicketCount = () => { + if (!context) { + context = run(); + } + return context; +}; diff --git a/dbm-ui/frontend/src/layout/Index.vue b/dbm-ui/frontend/src/layout/Index.vue index fefc69d996..c5a34fe4a8 100644 --- a/dbm-ui/frontend/src/layout/Index.vue +++ b/dbm-ui/frontend/src/layout/Index.vue @@ -133,7 +133,7 @@ 'DorisManage', 'taskHistory', 'DatabaseWhitelist', - 'ticketManage', + 'bizTicketManage', 'DBPasswordTemporaryModify', ], [menuEnum.observableManage]: ['DBHASwitchEvents', 'inspectionManage'], @@ -158,7 +158,13 @@ 'PlatformTicketFlowSetting', 'PlatformStaffManage', ], - [menuEnum.personalWorkbench]: ['SelfServiceMyTickets', 'MyTodos', 'serviceApply', 'ticketSelfManage'], + [menuEnum.personalWorkbench]: [ + 'serviceApply', + 'SelfServiceMyTickets', + 'MyTodos', + 'ticketSelfDone', + 'ticketSelfManage', + ], } as Record; const menuType = ref(''); @@ -178,7 +184,7 @@ const contentTitle = computed(() => route.meta.navName); const isContendFullscreen = computed(() => Boolean(route.meta.fullscreen)); // 全局搜索结果页面不显示,点击顶部导航栏后显示并自动跳转 - const needMenu = computed(() => !(route.name === 'QuickSearch' && menuType.value === '')); + const needMenu = computed(() => Boolean(menuType.value)); // 解析路由分组 watch( @@ -206,6 +212,13 @@ menuType.value = routeGroupMap[routeName]; } }); + + // // fix: menu 组件 acitve 生效有延迟的问题 + // setTimeout(() => { + // document.body.querySelector('.bk-menu-item.is-active')?.scrollIntoView({ + // block: 'start', + // }); + // }, 300); }, { immediate: true, diff --git a/dbm-ui/frontend/src/layout/components/PersonalWorkbench.vue b/dbm-ui/frontend/src/layout/components/PersonalWorkbench.vue index 47962227a4..1d9996b67e 100644 --- a/dbm-ui/frontend/src/layout/components/PersonalWorkbench.vue +++ b/dbm-ui/frontend/src/layout/components/PersonalWorkbench.vue @@ -6,18 +6,17 @@ @click="handleMenuChange"> + :name="t('单据管理')"> + key="MyTodos" + v-db-console="'personalWorkbench.myTodos'"> - - {{ t('服务申请') }} + + {{ t('我的待办') }} + {{ todoCount }} - + {{ t('我的申请') }} + key="ticketSelfDone" + v-db-console="'personalWorkbench.myTickets'"> - - {{ t('我的待办') }} + + {{ t('我的已办') }} + + {{ t('我负责的业务') }} + + + + - {{ t('我负责的业务') }} + {{ t('服务申请') }} @@ -62,6 +67,8 @@ import { Menu } from 'bkui-vue'; import { useI18n } from 'vue-i18n'; + import { useTicketCount } from '@hooks'; + import { useActiveKey } from './hooks/useActiveKey'; const { t } = useI18n(); @@ -72,5 +79,44 @@ parentKey, key: currentActiveKey, routeLocation: handleMenuChange, - } = useActiveKey(menuRef as Ref>, 'serviceApply'); + } = useActiveKey(menuRef as Ref>, 'MyTodos'); + + const { data: ticketCount } = useTicketCount(); + + const todoCount = computed(() => { + if (!ticketCount.value) { + return 0; + } + + return ( + ticketCount.value.APPROVE + + ticketCount.value.FAILED + + ticketCount.value.RESOURCE_REPLENISH + + ticketCount.value.INNER_TODO + + ticketCount.value.TODO + ); + }); + diff --git a/dbm-ui/frontend/src/layout/components/database-manage/Index.vue b/dbm-ui/frontend/src/layout/components/database-manage/Index.vue index b0bc677666..ad1596bfdb 100644 --- a/dbm-ui/frontend/src/layout/components/database-manage/Index.vue +++ b/dbm-ui/frontend/src/layout/components/database-manage/Index.vue @@ -36,7 +36,7 @@ v-db-console="'databaseManage.missionManage'" :name="t('任务中心')"> + :merge-cells="mergeCells"> + + + + + + + + - diff --git a/dbm-ui/frontend/src/views/db-manage/redis/apply/components/recommend-architectrue/components/Table.vue b/dbm-ui/frontend/src/views/db-manage/redis/apply/components/recommend-architectrue/components/Table.vue index 91d871fae1..9138afa1a9 100644 --- a/dbm-ui/frontend/src/views/db-manage/redis/apply/components/recommend-architectrue/components/Table.vue +++ b/dbm-ui/frontend/src/views/db-manage/redis/apply/components/recommend-architectrue/components/Table.vue @@ -148,11 +148,6 @@ diff --git a/dbm-ui/frontend/src/views/db-manage/redis/db-replace/pages/page1/components/instance-selector/components/RenderRedisHost.vue b/dbm-ui/frontend/src/views/db-manage/redis/db-replace/pages/page1/components/instance-selector/components/RenderRedisHost.vue index 07ee41484e..dedbcecc61 100644 --- a/dbm-ui/frontend/src/views/db-manage/redis/db-replace/pages/page1/components/instance-selector/components/RenderRedisHost.vue +++ b/dbm-ui/frontend/src/views/db-manage/redis/db-replace/pages/page1/components/instance-selector/components/RenderRedisHost.vue @@ -488,12 +488,6 @@ diff --git a/dbm-ui/frontend/src/views/db-manage/riak/list/components/list/Index.vue b/dbm-ui/frontend/src/views/db-manage/riak/list/components/list/Index.vue index 6df725ad35..cd3f5054c4 100644 --- a/dbm-ui/frontend/src/views/db-manage/riak/list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/riak/list/components/list/Index.vue @@ -51,6 +51,7 @@ :row-class="setRowClass" selectable :settings="tableSetting" + :show-overflow="false" @clear-search="clearSearchValue" @column-filter="columnFilterChange" @column-sort="columnSortChange" @@ -341,6 +342,22 @@ }, render: ({ data }: { data: RiakModel }) => {data.db_module_name || '--'}, }, + { + label: t('容灾要求'), + field: 'disaster_tolerance_level', + minWidth: 100, + render: ({ data }: { data: RiakModel }) => data.disasterToleranceLevelName || '--', + }, + { + label: t('地域'), + field: 'region', + minWidth: 100, + filter: { + list: columnAttrs.value.region, + checked: columnCheckedMap.value.region, + }, + render: ({ data }: { data: RiakModel }) => {data.region || '--'}, + }, { label: t('管控区域'), width: 120, @@ -349,7 +366,7 @@ list: columnAttrs.value.bk_cloud_id, checked: columnCheckedMap.value.bk_cloud_id, }, - render: ({ data }: { data: RiakModel }) => {data.bk_cloud_name || '--'}, + render: ({ data }: { data: RiakModel }) => data.bk_cloud_name ? `${data.bk_cloud_name}[${data.bk_cloud_id}]` : '--', }, { label: t('状态'), @@ -545,7 +562,9 @@ checked: [ 'cluster_name', 'major_version', + 'disaster_tolerance_level', 'region', + 'bk_cloud_id', 'db_module_id', 'status', 'cluster_stats', @@ -748,7 +767,7 @@ } .is-offline { - .cell { + .vxe-cell { color: #c4c6cc !important; } } @@ -763,7 +782,7 @@ margin-left: 4px; } - td .cell .db-icon-copy { + td .vxe-cell .db-icon-copy { display: none; } diff --git a/dbm-ui/frontend/src/views/db-manage/sqlserver/apply/components/PreviewTable.vue b/dbm-ui/frontend/src/views/db-manage/sqlserver/apply/components/PreviewTable.vue index 648643612a..52c070aa74 100644 --- a/dbm-ui/frontend/src/views/db-manage/sqlserver/apply/components/PreviewTable.vue +++ b/dbm-ui/frontend/src/views/db-manage/sqlserver/apply/components/PreviewTable.vue @@ -127,11 +127,11 @@ diff --git a/dbm-ui/frontend/src/views/db-manage/sqlserver/ha-instance-list/components/detail/components/BaseInfo.vue b/dbm-ui/frontend/src/views/db-manage/sqlserver/ha-instance-list/components/detail/components/BaseInfo.vue index a687df053f..238001c8a1 100644 --- a/dbm-ui/frontend/src/views/db-manage/sqlserver/ha-instance-list/components/detail/components/BaseInfo.vue +++ b/dbm-ui/frontend/src/views/db-manage/sqlserver/ha-instance-list/components/detail/components/BaseInfo.vue @@ -94,10 +94,6 @@ label: t('所在城市'), key: 'idc_city_name', }, - { - label: t('所在机房'), - key: 'bk_idc_name', - }, ], [ { @@ -112,6 +108,36 @@ label: t('部署时间'), key: 'create_at', }, + { + label: 'CPU', + key: 'bk_cpu', + render: () => { + if (!Number.isFinite(props.data.bk_cpu)) { + return '--'; + } + return `${props.data.bk_cpu}${t('核')}`; + }, + }, + { + label: t('内存'), + key: 'bk_mem', + render: () => { + if (!Number.isFinite(props.data.bk_mem)) { + return '--'; + } + return `${props.data.bk_mem}MB`; + }, + }, + { + label: t('磁盘'), + key: 'bk_disk', + render: () => { + if (!Number.isFinite(props.data.bk_disk)) { + return '--'; + } + return `${props.data.bk_disk}GB`; + }, + }, ], ]; diff --git a/dbm-ui/frontend/src/views/db-manage/sqlserver/single-cluster/components/List.vue b/dbm-ui/frontend/src/views/db-manage/sqlserver/single-cluster/components/List.vue index 108def78e5..1b4706188c 100644 --- a/dbm-ui/frontend/src/views/db-manage/sqlserver/single-cluster/components/List.vue +++ b/dbm-ui/frontend/src/views/db-manage/sqlserver/single-cluster/components/List.vue @@ -49,6 +49,7 @@ :row-class="setRowClass" selectable :settings="settings" + :show-overflow="false" show-overflow-tips @clear-search="clearSearchValue" @column-filter="columnFilterChange" @@ -833,9 +834,7 @@ } } - td .cell { - line-height: normal !important; - + td .vxe-cell { .db-icon-copy, .db-icon-link, .db-icon-visible1 { diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list-instance/components/list/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list-instance/components/list/Index.vue index b4e357c7bd..2d2779026d 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list-instance/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list-instance/components/list/Index.vue @@ -150,7 +150,6 @@ field: 'instance', fixed: 'left', width: 200, - showOverflowTooltip: false, render: ({ data }: IColumn) => ( {{ @@ -201,10 +200,16 @@ checked: columnCheckedMap.value.role, }, }, + { + label: t('所在园区'), + field: 'bk_sub_zone', + width: 140, + render: ({ data }: IColumn) => data.bk_sub_zone || '--', + }, { label: t('所属集群'), field: 'master_domain', - width: 260, + minWidth: 260, showOverflowTooltip: false, render: ({ data }: {data: TendbInstanceModel}) => ( @@ -223,7 +228,7 @@ { label: t('集群名称'), field: 'cluster_name', - width: 180, + minWidth: 180, showOverflowTooltip: false, render: ({ data }: {data: TendbInstanceModel}) => ( @@ -417,21 +422,13 @@ height: 100%; } - .bk-table { - height: 100% !important; - } - - .bk-table-body { - max-height: calc(100% - 100px); - } - tr:hover { .db-icon-copy { display: inline-block !important; } } - .cell { + .vxe-cell { .db-icon-copy { display: none; margin-left: 4px; @@ -440,11 +437,5 @@ } } } - - .is-shrink-table { - .bk-table-body { - overflow: hidden auto; - } - } } diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/detail/components/BaseInfo.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/detail/components/BaseInfo.vue index f37f47701f..00fd3a28fb 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/detail/components/BaseInfo.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/detail/components/BaseInfo.vue @@ -54,6 +54,7 @@ { label: t('管控区域'), key: 'bk_cloud_name', + render: () => (props.data.bk_cloud_name ? `${props.data.bk_cloud_name}[${props.data.bk_cloud_id}]` : '--'), }, { label: t('创建人'), @@ -63,6 +64,11 @@ label: t('创建时间'), key: 'create_at', }, + { + label: t('规格'), + key: 'spec_name', + render: () => props.data.cluster_spec.spec_name || '--', + }, ], [ { @@ -95,6 +101,10 @@ key: 'remote_dr', render: () => props.data.remote_dr.map((item) => item.instance).join(','), }, + { + label: t('容灾要求'), + key: 'disasterToleranceLevelName', + }, ], ]; diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/Index.vue index d58d5dc047..95a9c6242f 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/Index.vue @@ -71,6 +71,7 @@ :row-class="setRowClass" selectable :settings="settings" + :show-overflow="false" @clear-search="clearSearchValue" @column-filter="columnFilterChange" @column-sort="columnSortChange" @@ -359,8 +360,7 @@ label: t('主访问入口'), field: 'master_domain', fixed: 'left', - minWidth: 320, - showOverflowTooltip: false, + minWidth: 280, renderHead: () => ( data.major_version, // }, - { - label: t('管控区域'), - width: 120, - field: 'bk_cloud_id', - filter: { - list: columnAttrs.value.bk_cloud_id, - checked: columnCheckedMap.value.bk_cloud_id, - }, - render: ({ data }: IColumn) => {data.bk_cloud_name ?? '--'}, - }, { label: t('状态'), field: 'status', @@ -870,6 +860,13 @@ }, render: ({ data }: IColumn) => {data.major_version || '--'}, }, + { + label: t('容灾要求'), + field: 'disaster_tolerance_level', + minWidth: 100, + render: ({ data }: IColumn) => data.disasterToleranceLevelName || '--', + }, + { label: t('地域'), field: 'region', @@ -880,6 +877,22 @@ }, render: ({ data }: IColumn) => {data.region || '--'}, }, + { + label: t('规格'), + field: 'spec_name', + minWidth: 180, + render: ({ data }: IColumn) => data.cluster_spec.spec_name || '--', + }, + { + label: t('管控区域'), + width: 120, + field: 'bk_cloud_id', + filter: { + list: columnAttrs.value.bk_cloud_id, + checked: columnCheckedMap.value.bk_cloud_id, + }, + render: ({ data }: IColumn) => data.bk_cloud_name ? `${data.bk_cloud_name}[${data.bk_cloud_id}]` : '--', + }, { label: t('创建人'), field: 'creator', @@ -1162,7 +1175,10 @@ 'remote_db', 'remote_dr', 'major_version', + 'disaster_tolerance_level', 'region', + 'spec_name', + 'bk_cloud_id', ], showLineHeight: false, trigger: 'manual' as const, @@ -1401,25 +1417,9 @@ .table-wrapper { background-color: white; - - .bk-table { - height: 100% !important; - } - - :deep(.bk-table-body) { - max-height: calc(100% - 100px); - } } - .is-shrink-table { - :deep(.bk-table-body) { - overflow: hidden auto; - } - } - - :deep(td .cell) { - line-height: normal !important; - + :deep(td .vxe-cell) { .domain { display: flex; flex-wrap: wrap; @@ -1487,7 +1487,7 @@ color: @gray-color; } - .cell { + .vxe-cell { color: @disable-color; } } diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/components/SpecInfo.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/components/SpecInfo.vue index a389722a3c..3c06ec0528 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/components/SpecInfo.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/list/components/list/components/SpecInfo.vue @@ -75,8 +75,9 @@ .info { display: flex; - align-items: center; + overflow: hidden; line-height: 32px; + align-items: center; } .info-name { @@ -91,6 +92,7 @@ } .info-value { + width: 100%; color: @title-color; } } diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/Index.vue index 7a6ea35448..a00c74c40d 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/Index.vue @@ -187,7 +187,7 @@ } .cell-privilege { - .cell { + .vxe-cell { padding: 0 !important; margin-left: -16px; diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/components/PrivRuleDetail.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/components/PrivRuleDetail.vue index f1b04587eb..eaf02ed968 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/components/PrivRuleDetail.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-create/components/template-detail/components/PrivRuleDetail.vue @@ -142,7 +142,7 @@ } .cell-privilege { - .cell { + .vxe-cell { padding: 0 !important; margin-left: -16px; diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/Index.vue index 272ab3a443..23525346f5 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/Index.vue @@ -448,7 +448,7 @@ } .cell-privilege { - .cell { + .vxe-cell { padding: 0 !important; margin-left: -16px; diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/config-rule/components/RenderData/RenderPrivData/components/PermissionRule.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/config-rule/components/RenderData/RenderPrivData/components/PermissionRule.vue index 044f7a8d86..730428421b 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/config-rule/components/RenderData/RenderPrivData/components/PermissionRule.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/config-rule/components/RenderData/RenderPrivData/components/PermissionRule.vue @@ -216,7 +216,7 @@ } .cell-privilege { - .cell { + .vxe-cell { padding: 0 !important; margin-left: -16px; diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/variable-box/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/variable-box/Index.vue index 6f90712e69..97a596c1e0 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/variable-box/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/openarea-template-create/components/variable-box/Index.vue @@ -136,9 +136,9 @@ background-color: #fff; box-shadow: -1px 0 0 0 #dcdee5; - .bk-table { - .bk-table-body { - tr { + .bk-vxe-table { + .bk-vxe-table { + .vxe-body--row { .copy-btn { cursor: pointer; opacity: 0%; diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/Index.vue index 75f053c1ee..b58afdd438 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/Index.vue @@ -123,7 +123,8 @@ { label: t('策略 ID'), field: 'id', - fixed: true, + fixed: 'left', + width: 100, render: ({ data }: {data: PartitionModel}) => (
{data.id} diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/components/DryRun.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/components/DryRun.vue index 26f2611047..dda4b40c09 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/components/DryRun.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/partition-manage/components/DryRun.vue @@ -326,7 +326,7 @@ .partition-dry-run { padding: 16px 24px; - .bk-table { + .bk-vxe-table { tr { &:hover { .copy-btn, diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback-record/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback-record/Index.vue index 5b2e4f850d..c249776393 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback-record/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback-record/Index.vue @@ -37,6 +37,8 @@ import { useGlobalBizs } from '@stores'; + import { TicketTypes } from '@common/const' + const { t } = useI18n(); const { currentBizId } = useGlobalBizs(); const ticketMessage = useTicketMessage(); @@ -165,7 +167,7 @@ const handleDestroy = (payload: FixpointLogModel) => createTicket({ bk_biz_id: currentBizId, remark: '', - ticket_type: 'TENDBCLUSTER_TEMPORARY_DESTROY', + ticket_type: TicketTypes.TENDBCLUSTER_TEMPORARY_DESTROY, details: { cluster_ids: [payload.target_cluster.cluster_id], }, @@ -181,7 +183,7 @@ const handleBatchDisable = () => createTicket({ bk_biz_id: currentBizId, remark: '', - ticket_type: 'TENDBCLUSTER_TEMPORARY_DESTROY', + ticket_type: TicketTypes.TENDBCLUSTER_TEMPORARY_DESTROY, details: { cluster_ids: selectionList.value, }, diff --git a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback/pages/page1/Index.vue b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback/pages/page1/Index.vue index a8e8bc65d3..004cabfb42 100644 --- a/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback/pages/page1/Index.vue +++ b/dbm-ui/frontend/src/views/db-manage/tendb-cluster/rollback/pages/page1/Index.vue @@ -43,8 +43,6 @@ diff --git a/dbm-ui/frontend/src/views/task-history/pages/Details.vue b/dbm-ui/frontend/src/views/task-history/pages/Details.vue index 241270bccb..902458261e 100644 --- a/dbm-ui/frontend/src/views/task-history/pages/Details.vue +++ b/dbm-ui/frontend/src/views/task-history/pages/Details.vue @@ -124,7 +124,7 @@ margin-right :nodes-count="todoNodesCount" :nodes-tree-data="todoNodesTreeData" - status-keypath="待确认n" + status-keypath="待继续n" theme="warning" title-keypath="人工确认节点(n)" :tooltips="t('人工确认节点列表')" @@ -283,7 +283,7 @@ children="todoChildren" :nodes-count="todoNodesCount" :nodes-tree-data="todoNodesTreeData" - status-keypath="待确认n" + status-keypath="待继续n" theme="warning" title-keypath="人工确认节点(n)" :tooltips="t('人工确认节点列表')" diff --git a/dbm-ui/frontend/src/views/ticket-manage/list/Index.vue b/dbm-ui/frontend/src/views/ticket-center/business/Index.vue similarity index 54% rename from dbm-ui/frontend/src/views/ticket-manage/list/Index.vue rename to dbm-ui/frontend/src/views/ticket-center/business/Index.vue index 3c07d5974c..62ae248d14 100644 --- a/dbm-ui/frontend/src/views/ticket-manage/list/Index.vue +++ b/dbm-ui/frontend/src/views/ticket-center/business/Index.vue @@ -13,12 +13,14 @@