From dbf31a4f6fcc026c65dc25cc3f898e266d539734 Mon Sep 17 00:00:00 2001 From: 3octaves <873551943@qq.com> Date: Thu, 16 Jan 2025 18:21:19 +0800 Subject: [PATCH] =?UTF-8?q?feat(frontend):=20=E5=91=8A=E8=AD=A6=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E4=BC=98=E5=8C=96=20#8366?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbm-ui/frontend/patch/user-selector/selector.vue | 4 ++-- .../alarm-group/components/ReceiversSelector.vue | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/dbm-ui/frontend/patch/user-selector/selector.vue b/dbm-ui/frontend/patch/user-selector/selector.vue index 7f7dae0ead..5b0a325aa8 100644 --- a/dbm-ui/frontend/patch/user-selector/selector.vue +++ b/dbm-ui/frontend/patch/user-selector/selector.vue @@ -868,9 +868,9 @@ } try { loading.value = true; - const pasteStr = event.clipboardData.getData('text').replace(/\s/g, ''); + const pasteStr = event.clipboardData.getData('text').replace(/[^\S\r\n]/g, ''); const values = pasteStr - .split(/,|;/) + .split(/\s*[||,,;;、\t/\s]\s*/g) .map((value) => pasteFormatter.value(value)) .filter((value) => value.length); const uniqueValues = [...new Set(values)]; diff --git a/dbm-ui/frontend/src/views/monitor-alarm-db/alarm-group/components/ReceiversSelector.vue b/dbm-ui/frontend/src/views/monitor-alarm-db/alarm-group/components/ReceiversSelector.vue index 04abae36d1..5f3ec2636b 100644 --- a/dbm-ui/frontend/src/views/monitor-alarm-db/alarm-group/components/ReceiversSelector.vue +++ b/dbm-ui/frontend/src/views/monitor-alarm-db/alarm-group/components/ReceiversSelector.vue @@ -21,6 +21,7 @@ :default-alternate="defaultAlternate" :disabled="disabled" :fuzzy-search-method="fuzzySearchMethod" + :paste-validator="pasteValidator" :render-list="renderList" :render-tag="renderTag" :search-from-default-alternate="false" @@ -227,6 +228,13 @@ userSelectorRef.value.search(); }; + const pasteValidator = (values: string[]) => + getUserList({ + exact_lookups: values.join(','), + offset: 0, + limit: -1, + }).then((userResult) => userResult.results.map((userItem) => userItem.username)); + defineExpose({ getSelectedReceivers() { return modelValue.value.map((modelValueItem) => ({