Skip to content

Commit eb4eed4

Browse files
committed
feat(frontend): 部署单据支持再次提单 #10058
1 parent 2f32908 commit eb4eed4

File tree

52 files changed

+928
-347
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+928
-347
lines changed

dbm-ui/frontend/src/locales/zh-cn.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4399,5 +4399,7 @@
43994399
"请选择标签": "请选择标签",
44004400
"编辑集群别名": "编辑集群别名",
44014401
"目标分区异常": "目标分区异常",
4402+
"SQLServer 起始端口": "SQLServer 起始端口",
4403+
"每台主机 oplog 容量占比": "每台主机 oplog 容量占比",
44024404
"这行勿动!新增翻译请在上一行添加!": ""
44034405
}

dbm-ui/frontend/src/services/model/ticket/details/doris/apply.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { HostInfo } from '@services/types';
33
import type { DetailBase, SpecInfo } from '../common';
44

55
export interface Apply extends DetailBase {
6+
bk_cloud_id: number;
7+
bk_cloud_name: string;
68
city_code: string;
79
cluster_alias: string;
810
cluster_name: string;
@@ -19,9 +21,9 @@ export interface Apply extends DetailBase {
1921
};
2022
query_port: number;
2123
resource_spec?: {
22-
cold: SpecInfo;
24+
cold?: SpecInfo;
2325
follower: SpecInfo;
24-
hot: SpecInfo;
25-
observer: SpecInfo;
26+
hot?: SpecInfo;
27+
observer?: SpecInfo;
2628
};
2729
}

dbm-ui/frontend/src/services/model/ticket/details/elastic-search/apply.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { HostInfo } from '@services/types';
33
import type { DetailBase, SpecInfo } from '../common';
44

55
export interface Apply extends DetailBase {
6+
bk_cloud_id: number;
7+
bk_cloud_name: string;
68
city_code: string;
79
cluster_alias: string;
810
cluster_name: string;
@@ -18,9 +20,9 @@ export interface Apply extends DetailBase {
1820
master: HostInfo[];
1921
};
2022
resource_spec: {
21-
client: SpecInfo;
22-
cold: SpecInfo;
23-
hot: SpecInfo;
23+
client?: SpecInfo;
24+
cold?: SpecInfo;
25+
hot?: SpecInfo;
2426
master: SpecInfo;
2527
};
2628
}

dbm-ui/frontend/src/services/model/ticket/details/hdfs/apply.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { HostInfo } from '@services/types';
33
import type { DetailBase, SpecInfo } from '../common';
44

55
export interface Apply extends DetailBase {
6+
bk_cloud_id: number;
7+
bk_cloud_name: string;
68
city_code: string;
79
cluster_alias: string;
810
cluster_name: string;

dbm-ui/frontend/src/services/model/ticket/details/kafka/apply.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { HostInfo } from '@services/types';
33
import type { DetailBase, SpecInfo } from '../common';
44

55
export interface Apply extends DetailBase {
6+
bk_cloud_id: number;
7+
bk_cloud_name: string;
68
city_code: string;
79
cluster_alias: string;
810
cluster_name: string;

dbm-ui/frontend/src/services/model/ticket/details/mongodb/replicasetApply.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { DetailBase, SpecInfo } from '../common';
22

33
export interface ReplicasetApply extends DetailBase {
4+
bk_cloud_id: number;
45
bk_cloud_name: string;
56
cap_spec: string;
67
city_code: string;

dbm-ui/frontend/src/services/model/ticket/details/mongodb/shardApply.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { DetailBase, SpecInfo } from '../common';
22

33
export interface ShardApply extends DetailBase {
4+
bk_cloud_id: number;
45
bk_cloud_name: string;
56
cap_key: string;
67
cap_spec: string;
@@ -22,4 +23,5 @@ export interface ShardApply extends DetailBase {
2223
mongos: SpecInfo;
2324
};
2425
start_port: number;
26+
sub_zone_ids: string[];
2527
}

dbm-ui/frontend/src/services/model/ticket/details/mysql/haApply.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import type { DetailBase, SpecInfo } from '../common';
22

33
export interface HaApply extends DetailBase {
44
bk_cloud_id: number;
5+
bk_cloud_name: string;
56
charset: string;
67
city_code: string;
78
city_name: string;
89
cluster_count: number;
10+
db_app_abbr: string;
911
db_module_id: number;
1012
db_module_name: string;
1113
db_version: string;
@@ -22,7 +24,6 @@ export interface HaApply extends DetailBase {
2224
proxy: { bk_cloud_id: number; bk_host_id: number; ip: string }[];
2325
};
2426
resource_spec?: {
25-
backend: SpecInfo;
2627
backend_group: SpecInfo;
2728
proxy: SpecInfo;
2829
};

dbm-ui/frontend/src/services/model/ticket/details/mysql/singleApply.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@ import type { DetailBase, SpecInfo } from '../common';
22

33
export interface SingleApply extends DetailBase {
44
bk_cloud_id: number;
5+
bk_cloud_name: string;
56
charset: string;
67
city_code: string;
78
city_name: string;
89
cluster_count: number;
10+
db_app_abbr: string;
911
db_module_id: number;
1012
db_module_name: string;
1113
db_version: string;
14+
disaster_tolerance_level: string;
1215
domains: {
1316
key: string;
1417
master: string;
@@ -18,11 +21,10 @@ export interface SingleApply extends DetailBase {
1821
nodes?: {
1922
backend: { bk_cloud_id: number; bk_host_id: number; ip: string }[];
2023
};
21-
resource_spec: {
24+
resource_spec?: {
2225
backend: SpecInfo;
2326
};
2427
spec: string;
2528
spec_display: string;
2629
start_mysql_port: number;
27-
start_proxy_port: number;
2830
}

dbm-ui/frontend/src/services/model/ticket/details/pulsar/apply.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import type { DetailBase, SpecInfo } from '../common';
22

33
export interface Apply extends DetailBase {
44
ack_quorum: number;
5+
bk_cloud_id: number;
6+
bk_cloud_name: string;
57
city_code: string;
68
cluster_alias: string;
79
cluster_name: string;
@@ -18,7 +20,7 @@ export interface Apply extends DetailBase {
1820
password: string;
1921
port: number;
2022
replication_num: number;
21-
resource_spec: {
23+
resource_spec?: {
2224
bookkeeper: SpecInfo;
2325
broker: SpecInfo;
2426
zookeeper: SpecInfo;

dbm-ui/frontend/src/services/model/ticket/details/redis/clusterApply.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type { DetailBase, SpecInfo } from '../common';
66

77
export interface ClusterApply extends DetailBase {
88
bk_cloud_id: number;
9+
bk_cloud_name: string;
910
cap_key: string;
1011
cap_spec: string;
1112
city_code: string;

dbm-ui/frontend/src/services/model/ticket/details/redis/insApply.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ import type { DetailBase, SpecInfo } from '../common';
33
export interface InsApply extends DetailBase {
44
append_apply: boolean; // 是否是追加部署
55
bk_cloud_id: number;
6+
bk_cloud_name: string;
67
city_code?: string; // 追加就非必填
78
cluster_type: string;
9+
db_app_abbr: string;
810
db_version?: string; // 追加就非必填
911
disaster_tolerance_level: string;
1012
infos: {
@@ -24,9 +26,11 @@ export interface InsApply extends DetailBase {
2426
cluster_name: string;
2527
databases: number;
2628
}[];
29+
ip_source: string;
2730
port?: number; // 追加就非必填
31+
redis_pwd: string;
2832
// 如果是新部署,则一定从资源池部署
29-
resource_spec: {
33+
resource_spec?: {
3034
backend_group: SpecInfo;
3135
};
3236
}
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import type { DetailBase, SpecInfo } from '../common';
22

33
export interface Apply extends DetailBase {
4+
bk_cloud_id: number;
45
bk_cloud_name: string;
56
city_code: string;
67
city_name: string;
78
cluster_alias: string;
89
cluster_name: string;
10+
db_app_abbr: string;
11+
db_module_id: number;
912
db_module_name: string;
1013
db_version: string;
14+
disaster_tolerance_level: string;
1115
ip_source: string;
1216
nodes?: {
1317
riak: {
@@ -16,7 +20,7 @@ export interface Apply extends DetailBase {
1620
ip: string;
1721
}[];
1822
};
19-
resource_spec: {
23+
resource_spec?: {
2024
riak: SpecInfo;
2125
};
2226
}

dbm-ui/frontend/src/services/model/ticket/details/sqlserver/haApply.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ import type { DetailBase, SpecInfo } from '../common';
44

55
export interface HaApply extends DetailBase {
66
bk_cloud_id: number;
7+
bk_cloud_name: string;
78
charset: string;
89
city_code: string;
910
city_name: string;
1011
cluster_count: number;
12+
db_app_abbr: string;
1113
db_module_id: number;
1214
db_module_name: string;
1315
db_version: string;

dbm-ui/frontend/src/services/model/ticket/details/sqlserver/singleApply.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@ import type { DetailBase, SpecInfo } from '../common';
44

55
export interface SingleApply extends DetailBase {
66
bk_cloud_id: number;
7+
bk_cloud_name: string;
78
charset: string;
89
city_code: string;
910
city_name: string;
1011
cluster_count: number;
12+
db_app_abbr: string;
1113
db_module_id: number;
1214
db_module_name: string;
1315
db_version: string;
16+
disaster_tolerance_level: string;
1417
domains: {
1518
key: string;
1619
master: string;
@@ -27,7 +30,6 @@ export interface SingleApply extends DetailBase {
2730
};
2831
resource_spec?: {
2932
backend: SpecInfo;
30-
backend_group: SpecInfo;
3133
};
3234
spec: string;
3335
spec_display: string;

dbm-ui/frontend/src/views/db-manage/common/apply-items/BusinessItems.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,14 @@
138138
);
139139

140140
watch(
141-
() => [bizId.value, bizList.value],
141+
[bizId, bizList],
142142
() => {
143143
currentBiz.value = _.find(bizList.value, (item) => item.bk_biz_id === bizId.value);
144144
const englishName = currentBiz.value?.english_name;
145145
hasEnglishName.value = !!englishName;
146146
appAbbr.value = englishName ?? '';
147-
// 从申请实例 跳转过来,需要同步数据出去
148-
if (route.query.bizId && currentBiz.value) {
147+
// 从申请实例 跳转过来,或单据克隆,需要同步数据出去
148+
if ((route.query.bizId || route.query.ticketType) && currentBiz.value) {
149149
handleAppChange(currentBiz.value);
150150
}
151151
},

dbm-ui/frontend/src/views/db-manage/common/apply-items/region-requirements/components/Subzones.vue

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,26 @@
8080

8181
const { t } = useI18n();
8282

83+
const MIN_COUNT = 2;
84+
8385
const isAllCheck = ref(true);
8486
const subZone = ref<number>(0);
85-
const subZones = ref([]);
87+
const subZones = ref([] as number[]);
88+
89+
if (modelValue.value) {
90+
if (modelValue.value.length >= MIN_COUNT) {
91+
subZones.value = modelValue.value;
92+
isAllCheck.value = false;
93+
} else if (modelValue.value.length === 1) {
94+
[subZone.value] = modelValue.value;
95+
}
96+
}
8697

8798
const rules = [
8899
{
89100
required: true,
90101
trigger: 'change',
91102
validator: (value: number[]) => {
92-
const MIN_COUNT = 2;
93-
94103
if (max.value === 1) {
95104
return value.length > 0 ? true : Promise.resolve(t('园区不能为空'));
96105
}

dbm-ui/frontend/src/views/db-manage/doris/apply/Index.vue

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,10 @@
384384
import _ from 'lodash';
385385
import { useI18n } from 'vue-i18n';
386386

387+
import type { Doris } from '@services/model/ticket/ticket';
387388
import type { BizItem, HostInfo } from '@services/types';
388389

389-
import { useApplyBase } from '@hooks';
390+
import { useApplyBase, useTicketDetail } from '@hooks';
390391

391392
import { Affinity, DBTypes, TicketTypes } from '@common/const';
392393

@@ -409,6 +410,40 @@
409410
const router = useRouter();
410411
const { t } = useI18n();
411412

413+
useTicketDetail<Doris.Apply>(TicketTypes.DORIS_APPLY, {
414+
onSuccess(ticketDetail) {
415+
const { details } = ticketDetail;
416+
417+
Object.assign(formData, {
418+
bk_biz_id: ticketDetail.bk_biz_id,
419+
remark: ticketDetail.remark,
420+
});
421+
Object.assign(formData.details, {
422+
bk_cloud_id: details.bk_cloud_id,
423+
city_code: details.city_code,
424+
cluster_alias: details.cluster_alias,
425+
cluster_name: details.cluster_name,
426+
db_version: details.db_version,
427+
disaster_tolerance_level: details.disaster_tolerance_level,
428+
http_port: details.http_port,
429+
ip_source: details.ip_source,
430+
query_port: details.query_port,
431+
});
432+
433+
if (details.ip_source === 'resource_pool') {
434+
const resourceSpec = Object.entries(details.resource_spec!).reduce((prev, [specType, specInfo]) => {
435+
return Object.assign(prev, {
436+
[specType]: {
437+
count: specInfo.count,
438+
spec_id: specInfo.spec_id,
439+
},
440+
});
441+
}, {});
442+
Object.assign(formData.details.resource_spec, resourceSpec);
443+
}
444+
},
445+
});
446+
412447
const makeMapByHostId = (hostList: HostInfo[]) =>
413448
hostList.reduce(
414449
(result, item) => ({

0 commit comments

Comments
 (0)