From 7986d25c28685939be26288f693395cc26c34217 Mon Sep 17 00:00:00 2001 From: zyronon Date: Wed, 13 Aug 2025 01:40:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=A7=BB=E9=99=A4ElSelect=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/pc/Setting.vue | 28 +- .../pc/article/components/EditArticle.vue | 7 +- src/pages/pc/article/components/EditBook.vue | 27 +- src/pages/pc/components/Select/Option.vue | 75 +++++ src/pages/pc/components/Select/Select.vue | 311 ++++++++++++++++++ src/pages/pc/components/Select/index.ts | 5 + 6 files changed, 424 insertions(+), 29 deletions(-) create mode 100644 src/pages/pc/components/Select/Option.vue create mode 100644 src/pages/pc/components/Select/Select.vue create mode 100644 src/pages/pc/components/Select/index.ts diff --git a/src/pages/pc/Setting.vue b/src/pages/pc/Setting.vue index 2779b888..2b7a7fd6 100644 --- a/src/pages/pc/Setting.vue +++ b/src/pages/pc/Setting.vue @@ -4,19 +4,19 @@ import {ref, watch} from "vue"; import {useSettingStore} from "@/stores/setting.ts"; import {getAudioFileUrl, useChangeAllSound, usePlayAudio, useWatchAllSound} from "@/hooks/sound.ts"; import {getShortcutKey, useDisableEventListener, useEventListener} from "@/hooks/event.ts"; -import {cloneDeep} from "@/utils"; +import {checkAndUpgradeSaveDict, checkAndUpgradeSaveSetting, cloneDeep, shakeCommonDict} from "@/utils"; import {DefaultShortcutKeyMap, ShortcutKey} from "@/types/types.ts"; import BaseButton from "@/components/BaseButton.vue"; import {APP_NAME, EXPORT_DATA_KEY, SAVE_DICT_KEY, SAVE_SETTING_KEY, SoundFileOptions} from "@/utils/const.ts"; import VolumeIcon from "@/components/icon/VolumeIcon.vue"; import {useBaseStore} from "@/stores/base.ts"; import {saveAs} from "file-saver"; -import {checkAndUpgradeSaveDict, checkAndUpgradeSaveSetting, shakeCommonDict} from "@/utils"; import {GITHUB} from "@/config/ENV.ts"; import dayjs from "dayjs"; import BasePage from "@/pages/pc/components/BasePage.vue"; -import {ElSwitch, ElSelect, ElOption, ElSlider, ElRadioGroup, ElRadio, ElInputNumber} from 'element-plus' +import {ElInputNumber, ElRadio, ElRadioGroup, ElSlider, ElSwitch} from 'element-plus' import Toast from '@/pages/pc/components/Toast/Toast.ts' +import {Option, Select} from "@/pages/pc/components/Select"; const emit = defineEmits<{ toggleDisabledDialogEscKey: [val: boolean] @@ -185,12 +185,13 @@ function importData(e) {
- - - - +
@@ -221,10 +222,11 @@ function importData(e) {
- -
- - + +
diff --git a/src/pages/pc/article/components/EditArticle.vue b/src/pages/pc/article/components/EditArticle.vue index a254cbce..56931d0d 100644 --- a/src/pages/pc/article/components/EditArticle.vue +++ b/src/pages/pc/article/components/EditArticle.vue @@ -16,6 +16,7 @@ import BaseIcon from "@/components/BaseIcon.vue"; import Dialog from "@/pages/pc/components/dialog/Dialog.vue"; import {getDefaultArticle} from "@/types/func.ts"; import copy from "copy-to-clipboard"; +import {Option, Select} from "@/pages/pc/components/Select"; interface IProps { article?: Article, @@ -344,15 +345,15 @@ function setStartTime(val: Sentence, i: number, j: number) { 翻译 - - - + {{ progress }}%
diff --git a/src/pages/pc/article/components/EditBook.vue b/src/pages/pc/article/components/EditBook.vue index 405474ab..77ae0671 100644 --- a/src/pages/pc/article/components/EditBook.vue +++ b/src/pages/pc/article/components/EditBook.vue @@ -3,13 +3,14 @@ import {Dict, DictId, DictType} from "@/types/types.ts"; import {cloneDeep} from "@/utils"; -import {ElForm, ElFormItem, ElInput, ElSelect, ElOption, FormInstance, FormRules} from "element-plus"; +import {ElForm, ElFormItem, ElInput, FormInstance, FormRules} from "element-plus"; import Toast from '@/pages/pc/components/Toast/Toast.ts' import {onMounted, reactive} from "vue"; import {useRuntimeStore} from "@/stores/runtime.ts"; import {useBaseStore} from "@/stores/base.ts"; import BaseButton from "@/components/BaseButton.vue"; import {getDefaultDict} from "@/types/func.ts"; +import {Option, Select} from "@/pages/pc/components/Select"; const props = defineProps<{ isAdd: boolean, @@ -104,20 +105,20 @@ onMounted(() => { - - - - - - + - - - - - - +
关闭 diff --git a/src/pages/pc/components/Select/Option.vue b/src/pages/pc/components/Select/Option.vue new file mode 100644 index 00000000..f6eacc57 --- /dev/null +++ b/src/pages/pc/components/Select/Option.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/pages/pc/components/Select/Select.vue b/src/pages/pc/components/Select/Select.vue new file mode 100644 index 00000000..048fa247 --- /dev/null +++ b/src/pages/pc/components/Select/Select.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/src/pages/pc/components/Select/index.ts b/src/pages/pc/components/Select/index.ts new file mode 100644 index 00000000..7fb7d4b1 --- /dev/null +++ b/src/pages/pc/components/Select/index.ts @@ -0,0 +1,5 @@ +import Select from './Select.vue'; +import Option from './Option.vue'; + +export {Select, Option}; +export default Select;