From f10e31bd606cfa2df2415cfc81b5418994f74a43 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 15 Dec 2023 18:29:42 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E5=A4=8D=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/img/chatbot.svg | 1 + .../ListTable/TableAction/LabelSearch.vue | 26 ++++++++++--------- src/i18n/langs/en.json | 5 ++-- src/i18n/langs/ja.json | 5 ++-- src/i18n/langs/zh.json | 5 ++-- src/icons/svg/tag.svg | 1 + src/views/labels/BindDialog.vue | 12 +++------ src/views/labels/LabelList.vue | 9 +++++-- 8 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 src/assets/img/chatbot.svg create mode 100644 src/icons/svg/tag.svg diff --git a/src/assets/img/chatbot.svg b/src/assets/img/chatbot.svg new file mode 100644 index 000000000..f2e44b4b5 --- /dev/null +++ b/src/assets/img/chatbot.svg @@ -0,0 +1 @@ + diff --git a/src/components/Table/ListTable/TableAction/LabelSearch.vue b/src/components/Table/ListTable/TableAction/LabelSearch.vue index 362a21ad0..c80789ffd 100644 --- a/src/components/Table/ListTable/TableAction/LabelSearch.vue +++ b/src/components/Table/ListTable/TableAction/LabelSearch.vue @@ -3,13 +3,16 @@ - + + {{ $t('common.Label') }} 0) { @@ -57,17 +58,15 @@ export default { const groupedLabelOptions = _.groupBy(data, 'name') const labelOptions = [] for (const [key, labels] of Object.entries(groupedLabelOptions)) { - let children = _.sortBy(labels, 'value') - children = [{ id: '*', value: this.$t('common.All') }, ...children] + const all = { value: '*', label: this.$t('common.All') } + const children = _.sortBy(labels, 'value').map(label => ({ + value: label.value, + label: label.value + })) labelOptions.push({ value: key, label: key, - children: children.map(label => { - return { - value: label.id, - label: label.value - } - }) + children: [all, ...children] }) } this.labelOptions = _.sortBy(labelOptions, 'label') @@ -77,6 +76,9 @@ export default { this.getLabelOptions() this.showLabelSearch = true this.showLabelButton = false + setTimeout(() => { + this.$refs.labelCascader.toggleDropDownVisible(true) + }, 100) } } } @@ -88,7 +90,7 @@ export default { } .label-button { - padding: 10px 15px; + padding: 10px 13px 10px 12px; } .label-select { diff --git a/src/i18n/langs/en.json b/src/i18n/langs/en.json index 69ec824ba..0e5b83932 100644 --- a/src/i18n/langs/en.json +++ b/src/i18n/langs/en.json @@ -942,7 +942,8 @@ "ImageName": "Image name", "ID": "ID", "Ports": "Ports", - "EnterMessage": "Please enter a question, press Enter to send" + "EnterMessage": "Please enter a question, press Enter to send", + "Label": "Label" }, "dashboard": { "ActiveAsset": "Asset active", @@ -2405,4 +2406,4 @@ "BindResource": "Bind resource", "SelectResource": "Select resource" } -} +} \ No newline at end of file diff --git a/src/i18n/langs/ja.json b/src/i18n/langs/ja.json index 1d4dacf0d..39d56e4a4 100644 --- a/src/i18n/langs/ja.json +++ b/src/i18n/langs/ja.json @@ -941,7 +941,8 @@ "ImageName": "イメージ名", "ID": "ID", "Ports": "ポート", - "EnterMessage": "質問を入力してください、Enter キーを押して送信" + "EnterMessage": "質問を入力してください、Enter キーを押して送信", + "Label": "ラベル" }, "dashboard": { "TotalJobLog": "ジョブ実行総数", @@ -2396,4 +2397,4 @@ "BindResource": "リソースを関連付ける", "SelectResource": "リソースを選択" } -} +} \ No newline at end of file diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json index caaa79afd..a7df95ade 100644 --- a/src/i18n/langs/zh.json +++ b/src/i18n/langs/zh.json @@ -130,7 +130,7 @@ "SelectValueOrCreateNew": "选择标签值或创建新的", "BindLabel": "关联标签", "LabelList": "标签列表", - "SelectLabelFilter": "选择标签进行过滤", + "SelectLabelFilter": "选择标签搜索", "BindResource": "关联资源", "ResourceType": "资源类型", "Resources": "资源", @@ -490,6 +490,7 @@ "ReLoginErr": "登录时长已超过 5 分钟,请重新登录" }, "common": { + "Tag": "标签", "Selection": "可选择", "Selected": "已选择", "PagePrev": "上一页", @@ -803,7 +804,7 @@ "ConceptTitle": "\uD83E\uDD14 Python 解释器 ", "ConceptContent": "我想让你像一个 Python 解释器一样行事。我将给你 Python 代码,你将执行它。不要提供任何解释。除了代码的输出,不要用任何东西来回应。", "IdeaTitle": "\uD83C\uDF31 Linux 终端", - "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要用英语告诉你一些事情时,我会把文字放在大括号里{备注文本}。" + "IdeaContent": "我想让你充当一个 Linux 终端。我将输入命令,你将回答终端应该显示的内容。我希望你只在一个独特的代码块内回复终端输出,而不是其他。不要写解释。当我需要告诉你一些事情时,我会把文字放在大括号里{备注文本}。" }, "imExport": { "ExportAll": "导出所有", diff --git a/src/icons/svg/tag.svg b/src/icons/svg/tag.svg new file mode 100644 index 000000000..acd4c60ac --- /dev/null +++ b/src/icons/svg/tag.svg @@ -0,0 +1 @@ + diff --git a/src/views/labels/BindDialog.vue b/src/views/labels/BindDialog.vue index a7e4572b6..cb5635c31 100644 --- a/src/views/labels/BindDialog.vue +++ b/src/views/labels/BindDialog.vue @@ -6,6 +6,7 @@ top="80px" v-bind="$attrs" width="768px" + @cancel="handleCancel" @confirm="handleConfirm" v-on="$listeners" > @@ -110,6 +111,9 @@ export default { }) this.$refs.pageTransfer.getData(1) }, + handleCancel() { + this.$emit('update:visible', false) + }, handleConfirm() { const selectedData = this.$refs.pageTransfer.getSelectedData() const data = { @@ -117,15 +121,7 @@ export default { } const url = `/api/v1/labels/labels/${this.label.id}/resource-types/${this.select2.value}/resources/` this.$axios.put(url, data).then(res => { - this.pagingTransfer.selectedData = [] - this.pagingTransfer.dataList = [] - this.select2.value = '' this.$message.success('绑定成功') - this.transferLoading = true - setTimeout(() => { - this.transferLoading = false - }, 100) - this.$emit('update:visible', false) }) }, async getResourceTypes() { diff --git a/src/views/labels/LabelList.vue b/src/views/labels/LabelList.vue index 59df81bbc..9bea5d237 100644 --- a/src/views/labels/LabelList.vue +++ b/src/views/labels/LabelList.vue @@ -1,8 +1,13 @@