Skip to content

Commit ecdb392

Browse files
JustaCattthLinx
authored andcommitted
feat(frontend): 工具箱支持资源池协议变更 #8076
1 parent 1ee5058 commit ecdb392

File tree

123 files changed

+13914
-220
lines changed

Some content is hidden

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

123 files changed

+13914
-220
lines changed

dbm-ui/frontend/src/components/editable-table/Index.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
import Input from './edit/Input.vue';
6868
import Select from './edit/Select.vue';
6969
import TagInput from './edit/TagInput.vue';
70+
import Text from './edit/Text.vue';
7071
import Textarea from './edit/Textarea.vue';
7172
import TimePicker from './edit/TimePicker.vue';
7273
import useResize from './hooks/use-resize';
@@ -112,7 +113,7 @@
112113
} & Expose
113114
> = Symbol.for('bk-editable-table');
114115
115-
export { Block, Column, DatePicker, Input, Row, Select, TagInput, Textarea, TimePicker, useColumn, useTable };
116+
export { Block, Column, DatePicker, Input, Row, Select, TagInput, Text, Textarea, TimePicker, useColumn, useTable };
116117
</script>
117118
<script setup lang="ts">
118119
const props = defineProps<Props>();

dbm-ui/frontend/src/components/editable-table/edit/Block.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
5858
const contentRef = useTemplateRef('content');
5959
60-
const isShowPlacehoder = ref(false);
60+
const isShowPlacehoder = ref(true);
6161
6262
watch(modelValue, () => {
6363
columnContext?.validate('change');

dbm-ui/frontend/src/components/editable-table/edit/Input.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,27 +40,28 @@
4040
}
4141
4242
const props = defineProps<Props>();
43+
4344
const emits = defineEmits<Emits>();
4445
46+
const modelValue = defineModel<string>();
47+
4548
const slots = defineSlots<{
4649
prepend?: () => VNode;
4750
default?: () => VNode;
4851
append?: () => VNode;
4952
}>();
5053
5154
const attrs = useAttrs();
52-
5355
const columnContext = useColumn();
5456
55-
const modelValue = defineModel<string>();
56-
5757
watch(modelValue, () => {
5858
columnContext?.validate('change');
5959
});
6060
6161
const handleChange = (value: string) => {
6262
emits('change', value);
6363
};
64+
6465
const handleBlur = () => {
6566
columnContext?.blur();
6667
columnContext?.validate('blur');

dbm-ui/frontend/src/components/editable-table/edit/Select.vue

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,23 @@
44
class="bk-editable-select"
55
v-bind="{ ...attrs, ...props }"
66
@blur="handleBlur"
7+
@change="handleChange"
78
@focus="handleFocus">
8-
<slot />
9+
<template
10+
v-if="slots.option"
11+
#optionRender="{ item, index }">
12+
<slot
13+
:index="index"
14+
:item="item"
15+
name="option" />
16+
</template>
17+
<template
18+
v-if="slots.trigger"
19+
#trigger="{ selected }">
20+
<slot
21+
name="trigger"
22+
:selected="selected" />
23+
</template>
924
</BkSelect>
1025
</template>
1126
<script lang="ts">
@@ -25,12 +40,18 @@
2540
import useColumn from '../useColumn';
2641
2742
const props = defineProps<Props>();
43+
2844
const emits = defineEmits<{
2945
(e: 'blur'): void;
3046
(e: 'focus'): void;
3147
(e: 'change', value: T): void;
3248
}>();
3349
50+
const slots = defineSlots<{
51+
trigger?: (value: { selected: any[] }) => VNode;
52+
option?: (value: { item: Record<string, any>; index: number }) => VNode;
53+
}>();
54+
3455
const attrs = useAttrs();
3556
3657
const columnContext = useColumn();
@@ -41,6 +62,10 @@
4162
columnContext?.validate('change');
4263
});
4364
65+
const handleChange = (value: T) => {
66+
emits('change', value);
67+
};
68+
4469
const handleBlur = () => {
4570
columnContext?.blur();
4671
columnContext?.validate('blur');

dbm-ui/frontend/src/components/editable-table/edit/Text.vue

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
</div>
3434
</template>
3535
<script setup lang="ts">
36-
import { onBeforeUpdate, ref, useTemplateRef, type VNode, watch } from 'vue';
36+
import { ref, useTemplateRef, type VNode, watch } from 'vue';
3737
3838
import useColumn from '../useColumn';
3939
@@ -57,7 +57,7 @@
5757
5858
const contentRef = useTemplateRef('content');
5959
60-
const isShowPlacehoder = ref(false);
60+
const isShowPlacehoder = ref(true);
6161
6262
watch(modelValue, () => {
6363
columnContext?.validate();
@@ -71,8 +71,10 @@
7171
columnContext?.focus();
7272
};
7373
74-
onBeforeUpdate(() => {
75-
isShowPlacehoder.value = !contentRef.value?.innerText;
74+
onUpdated(() => {
75+
nextTick(() => {
76+
isShowPlacehoder.value = !contentRef.value?.innerText;
77+
});
7678
});
7779
</script>
7880
<style lang="less">

dbm-ui/frontend/src/components/instance-selector/Index.vue

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
import type { InjectionKey, Ref } from 'vue';
9999
100100
import TendbclusterMachineModel from '@services/model/tendbcluster/tendbcluster-machine';
101-
import type { ListBase } from '@services/types';
101+
import type { HostInfo, ListBase } from '@services/types';
102102
103103
import { t } from '@locales/index';
104104
@@ -113,7 +113,7 @@
113113
create_at: string;
114114
db_module_id: number;
115115
db_module_name: string;
116-
host_info: any;
116+
host_info: HostInfo;
117117
id: number;
118118
name: string;
119119
instance_address: string;
@@ -1000,9 +1000,6 @@
10001000
isInnerChange = false;
10011001
return;
10021002
}
1003-
if (props.selected) {
1004-
Object.assign(lastValues, props.selected);
1005-
}
10061003
if (
10071004
props.clusterTypes.length > 0 &&
10081005
(!panelTabActive.value || !props.clusterTypes.includes(panelTabActive.value as Props['clusterTypes'][number]))
@@ -1016,6 +1013,15 @@
10161013
},
10171014
);
10181015
1016+
watch(
1017+
() => props.selected,
1018+
() => {
1019+
if (props.selected) {
1020+
Object.assign(lastValues, props.selected);
1021+
}
1022+
},
1023+
);
1024+
10191025
const handleChangePanel = (obj: PanelListItem) => {
10201026
activePanelObj.value = obj;
10211027
if (props.onlyOneType) {

dbm-ui/frontend/src/components/render-table/columns/spec-display/Panel.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,16 @@
2727
<div class="item-title">CPU:</div>
2828
<div class="item-content">
2929
{{
30-
data.cpu.min === data.cpu.max
31-
? t('n核', { n: data.cpu.min })
32-
: t('((n-m))核', { n: data.cpu.min, m: data.cpu.max })
30+
data.cpu?.min === data.cpu?.max
31+
? t('n核', { n: data.cpu?.min })
32+
: t('((n-m))核', { n: data.cpu?.min, m: data.cpu?.max })
3333
}}
3434
</div>
3535
</div>
3636
<div class="item">
3737
<div class="item-title">{{ $t('内存') }}:</div>
3838
<div class="item-content">
39-
{{ data.mem.min === data.mem.max ? data.mem.min : `(${data.mem.min}~${data.mem.max})` }} G
39+
{{ data.mem?.min === data.mem?.max ? data.mem?.min : `(${data.mem?.min}~${data.mem?.max})` }} G
4040
</div>
4141
</div>
4242
<div
@@ -58,13 +58,13 @@
5858
</div>
5959
<div class="table-row">
6060
<div class="row-one">
61-
{{ data.storage_spec[0].mount_point }}
61+
{{ data.storage_spec[0]?.mount_point || '--' }}
6262
</div>
6363
<div class="row-two">
64-
{{ data.storage_spec[0].size }}
64+
{{ data.storage_spec[0]?.size || '--' }}
6565
</div>
6666
<div class="row-three">
67-
{{ data.storage_spec[0].type }}
67+
{{ data.storage_spec[0]?.type || '--' }}
6868
</div>
6969
</div>
7070
</div>
@@ -77,7 +77,7 @@
7777
{{ $t('单机 QPS') }}
7878
</div>
7979
<div class="item-content">
80-
{{ data.qps.min === data.qps.max ? `${data.qps.min}/s` : `${data.qps.min}/s~${data.qps.max}/s` }}
80+
{{ data.qps?.min === data.qps?.max ? `${data.qps?.min}/s` : `${data.qps?.min}/s~${data.qps?.max}/s` }}
8181
</div>
8282
</div>
8383
</div>

dbm-ui/frontend/src/components/resource-host-selector/Index.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<HostAgentStatus :data="data.agent_status" />
5252
</template>
5353
</BkTableColumn>
54-
<BkTableColumn
54+
<!-- <BkTableColumn
5555
field="bk_cpu"
5656
:label="t('资源归属')"
5757
:min-width="300">
@@ -60,7 +60,7 @@
6060
v-if="false"
6161
:data="data" />
6262
</template>
63-
</BkTableColumn>
63+
</BkTableColumn> -->
6464
<BkTableColumn
6565
field="rack_id"
6666
:label="t('机架')"
@@ -159,15 +159,22 @@
159159
160160
import DiskPopInfo from '@components/disk-pop-info/DiskPopInfo.vue';
161161
import HostAgentStatus from '@components/host-agent-status/Index.vue';
162-
import ResourceHostOwner from '@components/resource-host-owner/Index.vue';
163162
163+
// import ResourceHostOwner from '@components/resource-host-owner/Index.vue';
164164
import PanelTab from './components/PanelTab.vue';
165165
import useSearchSelectData from './hooks/use-search-select-data';
166166
167+
export interface IValue {
168+
bk_biz_id: number;
169+
bk_cloud_id: number;
170+
bk_host_id: number;
171+
ip: string;
172+
}
173+
167174
interface Props {
168175
multiple?: boolean;
169176
params?: {
170-
bk_biz_id?: number;
177+
for_biz?: number;
171178
bk_cloud_ids?: string;
172179
resource_type?: string;
173180
os_type?: string;
@@ -178,13 +185,6 @@
178185
(e: 'change', value: IValue[]): void;
179186
}
180187
181-
interface IValue {
182-
bk_biz_id: number;
183-
bk_cloud_id: number;
184-
bk_host_id: number;
185-
ip: string;
186-
}
187-
188188
const props = withDefaults(defineProps<Props>(), {
189189
multiple: true,
190190
params: () => ({}),
@@ -251,7 +251,7 @@
251251
const handleSubmit = () => {
252252
isShow.value = false;
253253
const latestValue = Object.values(rowSelectMemo.value).map((item) => ({
254-
bk_biz_id: item.bk_biz_id,
254+
bk_biz_id: item.dedicated_biz,
255255
bk_cloud_id: item.bk_cloud_id,
256256
bk_host_id: item.bk_host_id,
257257
ip: item.ip,

dbm-ui/frontend/src/demo/Index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
TimePicker as EditTimePicker,
100100
} from '@components/editable-table/Index.vue';
101101
102-
import OperationColumn from '@views/db-manage/common/toolbox-field/operation-column/Index.vue';
102+
import OperationColumn from '@views/db-manage/common/toolbox-field/column/operation-column/Index.vue';
103103
104104
const createData = () => ({
105105
name: 'name',

dbm-ui/frontend/src/hooks/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export * from './useApplyBase';
1515
export * from './useBeforeClose';
1616
export * from './useCopy';
1717
export * from './useCopyFromSelection';
18+
export * from './useCreateTicket';
1819
export * from './useDebouncedRef';
1920
export * from './useDebouncedRef';
2021
export * from './useDefaultPagination';

0 commit comments

Comments
 (0)