Commit efbde0d57e20d07373d78d1226e2e83f396a74f3
1 parent
fb57cf73
perf(i18n): merge common lang
Showing
47 changed files
with
175 additions
and
102 deletions
package.json
@@ -96,7 +96,7 @@ | @@ -96,7 +96,7 @@ | ||
96 | "stylelint-order": "^4.1.0", | 96 | "stylelint-order": "^4.1.0", |
97 | "ts-node": "^9.1.0", | 97 | "ts-node": "^9.1.0", |
98 | "typescript": "^4.1.3", | 98 | "typescript": "^4.1.3", |
99 | - "vite": "^2.0.0-beta.22", | 99 | + "vite": "^2.0.0-beta.23", |
100 | "vite-plugin-html": "^2.0.0-beta.5", | 100 | "vite-plugin-html": "^2.0.0-beta.5", |
101 | "vite-plugin-mock": "^2.0.0-beta.3", | 101 | "vite-plugin-mock": "^2.0.0-beta.3", |
102 | "vite-plugin-purge-icons": "^0.5.0", | 102 | "vite-plugin-purge-icons": "^0.5.0", |
src/components/Application/src/search/AppSearch.vue
1 | <template> | 1 | <template> |
2 | <div :class="prefixCls" v-if="getShowSearch" @click.stop="handleSearch"> | 2 | <div :class="prefixCls" v-if="getShowSearch" @click.stop="handleSearch"> |
3 | <Tooltip> | 3 | <Tooltip> |
4 | - <template #title> {{ t('component.app.search') }} </template> | 4 | + <template #title> {{ t('common.searchText') }} </template> |
5 | <SearchOutlined /> | 5 | <SearchOutlined /> |
6 | </Tooltip> | 6 | </Tooltip> |
7 | 7 |
src/components/Application/src/search/AppSearchFooter.vue
@@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
15 | <span :class="`${prefixCls}__item`"> | 15 | <span :class="`${prefixCls}__item`"> |
16 | <g-icon icon="mdi:keyboard-esc" /> | 16 | <g-icon icon="mdi:keyboard-esc" /> |
17 | </span> | 17 | </span> |
18 | - <span>{{ t('component.app.toClose') }}</span> | 18 | + <span>{{ t('common.closeText') }}</span> |
19 | </div> | 19 | </div> |
20 | </template> | 20 | </template> |
21 | <script lang="ts"> | 21 | <script lang="ts"> |
@@ -47,7 +47,7 @@ | @@ -47,7 +47,7 @@ | ||
47 | font-size: 12px; | 47 | font-size: 12px; |
48 | color: #666; | 48 | color: #666; |
49 | background: rgb(255 255 255); | 49 | background: rgb(255 255 255); |
50 | - border-radius: 0 0 8px 8px; | 50 | + border-radius: 0 0 16px 16px; |
51 | box-shadow: 0 -1px 0 0 #e0e3e8, 0 -3px 6px 0 rgba(69, 98, 155, 0.12); | 51 | box-shadow: 0 -1px 0 0 #e0e3e8, 0 -3px 6px 0 rgba(69, 98, 155, 0.12); |
52 | align-items: center; | 52 | align-items: center; |
53 | flex-shrink: 0; | 53 | flex-shrink: 0; |
src/components/Application/src/search/AppSearchModal.vue
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | <div :class="`${prefixCls}-input__wrapper`"> | 7 | <div :class="`${prefixCls}-input__wrapper`"> |
8 | <a-input | 8 | <a-input |
9 | :class="`${prefixCls}-input`" | 9 | :class="`${prefixCls}-input`" |
10 | - :placeholder="t('component.app.search')" | 10 | + :placeholder="t('common.searchText')" |
11 | allow-clear | 11 | allow-clear |
12 | @change="handleSearch" | 12 | @change="handleSearch" |
13 | > | 13 | > |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | </template> | 16 | </template> |
17 | </a-input> | 17 | </a-input> |
18 | <span :class="`${prefixCls}-cancel`" @click="handleClose">{{ | 18 | <span :class="`${prefixCls}-cancel`" @click="handleClose">{{ |
19 | - t('component.app.cancel') | 19 | + t('common.cancelText') |
20 | }}</span> | 20 | }}</span> |
21 | </div> | 21 | </div> |
22 | 22 | ||
@@ -116,6 +116,7 @@ | @@ -116,6 +116,7 @@ | ||
116 | scrollWrap, | 116 | scrollWrap, |
117 | handleMouseenter, | 117 | handleMouseenter, |
118 | handleClose: () => { | 118 | handleClose: () => { |
119 | + searchResult.value = []; | ||
119 | emit('close'); | 120 | emit('close'); |
120 | }, | 121 | }, |
121 | }; | 122 | }; |
@@ -135,7 +136,7 @@ | @@ -135,7 +136,7 @@ | ||
135 | height: 100%; | 136 | height: 100%; |
136 | padding-top: 50px; | 137 | padding-top: 50px; |
137 | // background: #656c85cc; | 138 | // background: #656c85cc; |
138 | - background: rgba(0, 0, 0, 0.8); | 139 | + background: rgba(0, 0, 0, 0.25); |
139 | justify-content: center; | 140 | justify-content: center; |
140 | // backdrop-filter: blur(2px); | 141 | // backdrop-filter: blur(2px); |
141 | 142 | ||
@@ -178,12 +179,13 @@ | @@ -178,12 +179,13 @@ | ||
178 | 179 | ||
179 | &-content { | 180 | &-content { |
180 | position: relative; | 181 | position: relative; |
181 | - width: 532px; | 182 | + width: 632px; |
182 | // padding: 14px; | 183 | // padding: 14px; |
183 | margin: 0 auto auto auto; | 184 | margin: 0 auto auto auto; |
184 | background: #f5f6f7; | 185 | background: #f5f6f7; |
185 | - border-radius: 6px; | ||
186 | - box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 100%, 0.5), 0 3px 8px 0 #555a64; | 186 | + border-radius: 16px; |
187 | + box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | ||
188 | + // box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 100%, 0.5), 0 3px 8px 0 #555a64; | ||
187 | flex-direction: column; | 189 | flex-direction: column; |
188 | } | 190 | } |
189 | 191 | ||
@@ -196,9 +198,10 @@ | @@ -196,9 +198,10 @@ | ||
196 | 198 | ||
197 | &-input { | 199 | &-input { |
198 | width: 100%; | 200 | width: 100%; |
199 | - height: 56px; | 201 | + height: 48px; |
200 | font-size: 1.5em; | 202 | font-size: 1.5em; |
201 | color: #1c1e21; | 203 | color: #1c1e21; |
204 | + border-radius: 6px; | ||
202 | 205 | ||
203 | span[role='img'] { | 206 | span[role='img'] { |
204 | color: #999; | 207 | color: #999; |
src/components/Application/src/search/useMenuSearch.ts
1 | import { cloneDeep } from 'lodash-es'; | 1 | import { cloneDeep } from 'lodash-es'; |
2 | -import { ref, onBeforeMount, unref, Ref } from 'vue'; | 2 | +import { ref, onBeforeMount, unref, Ref, nextTick } from 'vue'; |
3 | import { useI18n } from '/@/hooks/web/useI18n'; | 3 | import { useI18n } from '/@/hooks/web/useI18n'; |
4 | import { getMenus } from '/@/router/menus'; | 4 | import { getMenus } from '/@/router/menus'; |
5 | import type { Menu } from '/@/router/types'; | 5 | import type { Menu } from '/@/router/types'; |
@@ -130,7 +130,7 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>, | @@ -130,7 +130,7 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>, | ||
130 | start(); | 130 | start(); |
131 | } | 131 | } |
132 | 132 | ||
133 | - function handleEnter() { | 133 | + async function handleEnter() { |
134 | if (!searchResult.value.length) return; | 134 | if (!searchResult.value.length) return; |
135 | const result = unref(searchResult); | 135 | const result = unref(searchResult); |
136 | const index = unref(activeIndex); | 136 | const index = unref(activeIndex); |
@@ -139,10 +139,12 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>, | @@ -139,10 +139,12 @@ export function useMenuSearch(refs: Ref<HTMLElement[]>, scrollWrap: Ref<ElRef>, | ||
139 | } | 139 | } |
140 | const to = result[index]; | 140 | const to = result[index]; |
141 | handleClose(); | 141 | handleClose(); |
142 | + await nextTick(); | ||
142 | go(to.path); | 143 | go(to.path); |
143 | } | 144 | } |
144 | 145 | ||
145 | function handleClose() { | 146 | function handleClose() { |
147 | + searchResult.value = []; | ||
146 | emit('close'); | 148 | emit('close'); |
147 | } | 149 | } |
148 | 150 |
src/components/Button/src/PopConfirmButton.vue
1 | <script lang="ts"> | 1 | <script lang="ts"> |
2 | - import { defineComponent, h, unref } from 'vue'; | 2 | + import { defineComponent, h, unref, computed } from 'vue'; |
3 | 3 | ||
4 | import { Popconfirm } from 'ant-design-vue'; | 4 | import { Popconfirm } from 'ant-design-vue'; |
5 | import BasicButton from './BasicButton.vue'; | 5 | import BasicButton from './BasicButton.vue'; |
@@ -7,7 +7,6 @@ | @@ -7,7 +7,6 @@ | ||
7 | import { useI18n } from '/@/hooks/web/useI18n'; | 7 | import { useI18n } from '/@/hooks/web/useI18n'; |
8 | import { extendSlots } from '/@/utils/helper/tsxHelper'; | 8 | import { extendSlots } from '/@/utils/helper/tsxHelper'; |
9 | import { omit } from 'lodash-es'; | 9 | import { omit } from 'lodash-es'; |
10 | - const { t } = useI18n(); | ||
11 | 10 | ||
12 | export default defineComponent({ | 11 | export default defineComponent({ |
13 | name: 'PopButton', | 12 | name: 'PopButton', |
@@ -15,19 +14,29 @@ | @@ -15,19 +14,29 @@ | ||
15 | components: { Popconfirm, BasicButton }, | 14 | components: { Popconfirm, BasicButton }, |
16 | props: { | 15 | props: { |
17 | enable: propTypes.bool.def(true), | 16 | enable: propTypes.bool.def(true), |
18 | - okText: propTypes.string.def(t('component.drawer.okText')), | ||
19 | - cancelText: propTypes.string.def(t('component.drawer.cancelText')), | 17 | + okText: propTypes.string, |
18 | + cancelText: propTypes.string, | ||
20 | }, | 19 | }, |
21 | setup(props, { slots, attrs }) { | 20 | setup(props, { slots, attrs }) { |
22 | - return () => { | ||
23 | - const popValues = { ...props, ...unref(attrs) }; | 21 | + const { t } = useI18n(); |
24 | 22 | ||
23 | + const getBindValues = computed(() => { | ||
24 | + const popValues = Object.assign( | ||
25 | + { | ||
26 | + okText: t('common.okText'), | ||
27 | + cancelText: t('common.cancelText'), | ||
28 | + }, | ||
29 | + { ...props, ...unref(attrs) } | ||
30 | + ); | ||
31 | + return popValues; | ||
32 | + }); | ||
33 | + return () => { | ||
25 | const Button = h(BasicButton, omit(unref(attrs), 'icon'), extendSlots(slots)); | 34 | const Button = h(BasicButton, omit(unref(attrs), 'icon'), extendSlots(slots)); |
26 | if (!props.enable) { | 35 | if (!props.enable) { |
27 | return Button; | 36 | return Button; |
28 | } | 37 | } |
29 | 38 | ||
30 | - return h(Popconfirm, omit(popValues, 'icon'), { default: () => Button }); | 39 | + return h(Popconfirm, omit(unref(getBindValues), 'icon'), { default: () => Button }); |
31 | }; | 40 | }; |
32 | }, | 41 | }, |
33 | }); | 42 | }); |
src/components/Drawer/src/BasicDrawer.vue
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | <ScrollContainer | 16 | <ScrollContainer |
17 | :style="getScrollContentStyle" | 17 | :style="getScrollContentStyle" |
18 | v-loading="getLoading" | 18 | v-loading="getLoading" |
19 | - :loading-tip="loadingText || t('component.drawer.loadingText')" | 19 | + :loading-tip="loadingText || t('common.loadingText')" |
20 | > | 20 | > |
21 | <slot /> | 21 | <slot /> |
22 | </ScrollContainer> | 22 | </ScrollContainer> |
src/components/Drawer/src/props.ts
@@ -11,13 +11,13 @@ export const footerProps = { | @@ -11,13 +11,13 @@ export const footerProps = { | ||
11 | */ | 11 | */ |
12 | showCancelBtn: propTypes.bool.def(true), | 12 | showCancelBtn: propTypes.bool.def(true), |
13 | cancelButtonProps: Object as PropType<Recordable>, | 13 | cancelButtonProps: Object as PropType<Recordable>, |
14 | - cancelText: propTypes.string.def(t('component.drawer.cancelText')), | 14 | + cancelText: propTypes.string.def(t('common.cancelText')), |
15 | /** | 15 | /** |
16 | * @description: Show confirmation button | 16 | * @description: Show confirmation button |
17 | */ | 17 | */ |
18 | showOkBtn: propTypes.bool.def(true), | 18 | showOkBtn: propTypes.bool.def(true), |
19 | okButtonProps: Object as PropType<Recordable>, | 19 | okButtonProps: Object as PropType<Recordable>, |
20 | - okText: propTypes.string.def(t('component.drawer.okText')), | 20 | + okText: propTypes.string.def(t('common.okText')), |
21 | okType: propTypes.string.def('primary'), | 21 | okType: propTypes.string.def('primary'), |
22 | showFooter: propTypes.bool, | 22 | showFooter: propTypes.bool, |
23 | footerHeight: { | 23 | footerHeight: { |
src/components/Form/src/components/FormAction.vue
@@ -101,7 +101,7 @@ | @@ -101,7 +101,7 @@ | ||
101 | (): ButtonOptions => { | 101 | (): ButtonOptions => { |
102 | return Object.assign( | 102 | return Object.assign( |
103 | { | 103 | { |
104 | - text: t('component.form.resetButton'), | 104 | + text: t('common.resetText'), |
105 | }, | 105 | }, |
106 | props.resetButtonOptions | 106 | props.resetButtonOptions |
107 | ); | 107 | ); |
@@ -111,7 +111,7 @@ | @@ -111,7 +111,7 @@ | ||
111 | const getSubmitBtnOptions = computed(() => { | 111 | const getSubmitBtnOptions = computed(() => { |
112 | return Object.assign( | 112 | return Object.assign( |
113 | { | 113 | { |
114 | - text: t('component.form.submitButton'), | 114 | + text: t('common.queryText'), |
115 | }, | 115 | }, |
116 | props.submitButtonOptions | 116 | props.submitButtonOptions |
117 | ); | 117 | ); |
src/components/Form/src/helper.ts
@@ -10,10 +10,10 @@ const { t } = useI18n(); | @@ -10,10 +10,10 @@ const { t } = useI18n(); | ||
10 | */ | 10 | */ |
11 | export function createPlaceholderMessage(component: ComponentType) { | 11 | export function createPlaceholderMessage(component: ComponentType) { |
12 | if (component.includes('Input') || component.includes('Complete')) { | 12 | if (component.includes('Input') || component.includes('Complete')) { |
13 | - return t('component.form.input'); | 13 | + return t('common.inputText'); |
14 | } | 14 | } |
15 | if (component.includes('Picker')) { | 15 | if (component.includes('Picker')) { |
16 | - return t('component.form.choose'); | 16 | + return t('common.chooseText'); |
17 | } | 17 | } |
18 | if ( | 18 | if ( |
19 | component.includes('Select') || | 19 | component.includes('Select') || |
@@ -23,7 +23,7 @@ export function createPlaceholderMessage(component: ComponentType) { | @@ -23,7 +23,7 @@ export function createPlaceholderMessage(component: ComponentType) { | ||
23 | component.includes('Switch') | 23 | component.includes('Switch') |
24 | ) { | 24 | ) { |
25 | // return `请选择${label}`; | 25 | // return `请选择${label}`; |
26 | - return t('component.form.choose'); | 26 | + return t('common.chooseText'); |
27 | } | 27 | } |
28 | return ''; | 28 | return ''; |
29 | } | 29 | } |
src/components/MenuPlus/index.ts
0 → 100644
1 | +export { default as Menu } from './src/index.vue'; |
src/components/MenuPlus/src/index.vue
0 → 100644
1 | +<template> | ||
2 | + <ul :class="getClass" :style="getStyle"> | ||
3 | + <slot></slot> | ||
4 | + </ul> | ||
5 | +</template> | ||
6 | + | ||
7 | +<script lang="ts"> | ||
8 | + import { defineComponent, ref, computed, CSSProperties, unref } from 'vue'; | ||
9 | + import { useDesign } from '/@/hooks/web/useDesign'; | ||
10 | + import { propTypes } from '/@/utils/propTypes'; | ||
11 | + export default defineComponent({ | ||
12 | + props: { | ||
13 | + mode: propTypes.oneOf(['horizontal', 'vertical']).def('vertical'), | ||
14 | + theme: propTypes.oneOf(['light', 'dark', 'primary']).def('light'), | ||
15 | + activeName: propTypes.oneOfType([propTypes.string, propTypes.number]), | ||
16 | + openNames: propTypes.array.def([]), | ||
17 | + accordion: propTypes.bool, | ||
18 | + width: propTypes.string.def('210px'), | ||
19 | + }, | ||
20 | + setup(props) { | ||
21 | + const currentActiveName = ref(props.activeName); | ||
22 | + const openedNames = ref<string[]>(); | ||
23 | + | ||
24 | + const { prefixCls } = useDesign('menu'); | ||
25 | + | ||
26 | + const getClass = computed(() => { | ||
27 | + const { theme, mode } = props; | ||
28 | + let curTheme = theme; | ||
29 | + if (mode === 'vertical' && theme === 'primary') { | ||
30 | + curTheme = 'light'; | ||
31 | + } | ||
32 | + return [ | ||
33 | + prefixCls, | ||
34 | + `${prefixCls}-${curTheme}`, | ||
35 | + { | ||
36 | + [`${prefixCls}-${mode}`]: mode, | ||
37 | + }, | ||
38 | + ]; | ||
39 | + }); | ||
40 | + | ||
41 | + const getStyle = computed( | ||
42 | + (): CSSProperties => { | ||
43 | + const { mode, width } = props; | ||
44 | + if (mode === 'vertical') { | ||
45 | + return { | ||
46 | + width: width, | ||
47 | + }; | ||
48 | + } | ||
49 | + return {}; | ||
50 | + } | ||
51 | + ); | ||
52 | + | ||
53 | + function updateActiveName() { | ||
54 | + if (unref(currentActiveName) === undefined) { | ||
55 | + currentActiveName.value = -1; | ||
56 | + } | ||
57 | + } | ||
58 | + | ||
59 | + function updateOpened() {} | ||
60 | + | ||
61 | + return { getClass, getStyle }; | ||
62 | + }, | ||
63 | + }); | ||
64 | +</script> |
src/components/Modal/src/BasicModal.vue
src/components/Modal/src/props.ts
@@ -13,13 +13,14 @@ export const modalProps = { | @@ -13,13 +13,14 @@ export const modalProps = { | ||
13 | // open drag | 13 | // open drag |
14 | draggable: propTypes.bool.def(true), | 14 | draggable: propTypes.bool.def(true), |
15 | centered: propTypes.bool, | 15 | centered: propTypes.bool, |
16 | - cancelText: propTypes.string.def(t('component.modal.cancelText')), | ||
17 | - okText: propTypes.string.def(t('component.modal.okText')), | 16 | + cancelText: propTypes.string.def(t('common.cancelText')), |
17 | + okText: propTypes.string.def(t('common.okText')), | ||
18 | 18 | ||
19 | closeFunc: Function as PropType<() => Promise<boolean>>, | 19 | closeFunc: Function as PropType<() => Promise<boolean>>, |
20 | }; | 20 | }; |
21 | 21 | ||
22 | export const basicProps = Object.assign({}, modalProps, { | 22 | export const basicProps = Object.assign({}, modalProps, { |
23 | + defaultFullscreen: propTypes.bool, | ||
23 | // Can it be full screen | 24 | // Can it be full screen |
24 | canFullscreen: propTypes.bool.def(true), | 25 | canFullscreen: propTypes.bool.def(true), |
25 | // After enabling the wrapper, the bottom can be increased in height | 26 | // After enabling the wrapper, the bottom can be increased in height |
src/components/Preview/src/index.vue
@@ -21,9 +21,26 @@ | @@ -21,9 +21,26 @@ | ||
21 | import { Image } from 'ant-design-vue'; | 21 | import { Image } from 'ant-design-vue'; |
22 | import { useDesign } from '/@/hooks/web/useDesign'; | 22 | import { useDesign } from '/@/hooks/web/useDesign'; |
23 | import { propTypes } from '/@/utils/propTypes'; | 23 | import { propTypes } from '/@/utils/propTypes'; |
24 | - import { ImageItem } from './types'; | ||
25 | import { isString } from '/@/utils/is'; | 24 | import { isString } from '/@/utils/is'; |
26 | 25 | ||
26 | + interface ImageProps { | ||
27 | + alt?: string; | ||
28 | + fallback?: string; | ||
29 | + src: string; | ||
30 | + width: string | number; | ||
31 | + height?: string | number; | ||
32 | + placeholder?: string | boolean; | ||
33 | + preview?: | ||
34 | + | boolean | ||
35 | + | { | ||
36 | + visible?: boolean; | ||
37 | + onVisibleChange?: (visible: boolean, prevVisible: boolean) => void; | ||
38 | + getContainer: string | HTMLElement | (() => HTMLElement); | ||
39 | + }; | ||
40 | + } | ||
41 | + | ||
42 | + type ImageItem = string | ImageProps; | ||
43 | + | ||
27 | export default defineComponent({ | 44 | export default defineComponent({ |
28 | name: 'ImagePreview', | 45 | name: 'ImagePreview', |
29 | components: { | 46 | components: { |
src/components/Table/src/components/settings/ColumnSetting.vue
@@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
33 | </Checkbox> | 33 | </Checkbox> |
34 | 34 | ||
35 | <a-button size="small" type="link" @click="reset"> | 35 | <a-button size="small" type="link" @click="reset"> |
36 | - {{ t('component.table.settingReset') }} | 36 | + {{ t('common.resetText') }} |
37 | </a-button> | 37 | </a-button> |
38 | </div> | 38 | </div> |
39 | </template> | 39 | </template> |
src/components/Table/src/components/settings/RedoSetting.vue
1 | <template> | 1 | <template> |
2 | <Tooltip placement="top"> | 2 | <Tooltip placement="top"> |
3 | <template #title> | 3 | <template #title> |
4 | - <span>{{ t('component.table.settingRedo') }}</span> | 4 | + <span>{{ t('common.redo') }}</span> |
5 | </template> | 5 | </template> |
6 | <RedoOutlined @click="redo" /> | 6 | <RedoOutlined @click="redo" /> |
7 | </Tooltip> | 7 | </Tooltip> |
src/layouts/default/setting/components/SettingFooter.vue
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | 7 | ||
8 | <a-button color="warning" block @click="handleResetSetting" class="my-3"> | 8 | <a-button color="warning" block @click="handleResetSetting" class="my-3"> |
9 | <RedoOutlined class="mr-2" /> | 9 | <RedoOutlined class="mr-2" /> |
10 | - {{ t('layout.setting.resetBtn') }} | 10 | + {{ t('common.resetText') }} |
11 | </a-button> | 11 | </a-button> |
12 | 12 | ||
13 | <a-button color="error" block @click="handleClearAndRedo"> | 13 | <a-button color="error" block @click="handleClearAndRedo"> |
src/layouts/default/tabs/components/TabRedo.vue
1 | <template> | 1 | <template> |
2 | - <Tooltip :title="t('layout.multipleTab.tooltipRedo')" placement="bottom" :mouseEnterDelay="0.5"> | 2 | + <Tooltip :title="t('common.redo')" placement="bottom" :mouseEnterDelay="0.5"> |
3 | <span :class="`${prefixCls}__extra-redo`" @click="handleRedo"> | 3 | <span :class="`${prefixCls}__extra-redo`" @click="handleRedo"> |
4 | <RedoOutlined :spin="loading" /> | 4 | <RedoOutlined :spin="loading" /> |
5 | </span> | 5 | </span> |
src/layouts/default/tabs/useTabDropdown.ts
@@ -51,7 +51,7 @@ export function useTabDropdown(tabContentProps: TabContentProps) { | @@ -51,7 +51,7 @@ export function useTabDropdown(tabContentProps: TabContentProps) { | ||
51 | { | 51 | { |
52 | icon: 'ion:reload-sharp', | 52 | icon: 'ion:reload-sharp', |
53 | event: MenuEventEnum.REFRESH_PAGE, | 53 | event: MenuEventEnum.REFRESH_PAGE, |
54 | - text: t('layout.multipleTab.redo'), | 54 | + text: t('layout.multipleTab.reload'), |
55 | disabled: refreshDisabled, | 55 | disabled: refreshDisabled, |
56 | }, | 56 | }, |
57 | { | 57 | { |
src/locales/lang/en/common.ts
0 → 100644
1 | +export default { | ||
2 | + okText: 'OK', | ||
3 | + closeText: 'Close', | ||
4 | + cancelText: 'Cancel', | ||
5 | + loadingText: 'Loading...', | ||
6 | + saveText: 'Save', | ||
7 | + delText: 'Delete', | ||
8 | + resetText: 'Reset', | ||
9 | + searchText: 'Search', | ||
10 | + queryText: 'Search', | ||
11 | + | ||
12 | + inputText: 'Please enter', | ||
13 | + chooseText: 'Please choose', | ||
14 | + | ||
15 | + redo: 'Refresh', | ||
16 | + back: 'Back', | ||
17 | +}; |
src/locales/lang/en/component/app.ts
1 | export default { | 1 | export default { |
2 | - search: 'Search', | ||
3 | - cancel: 'Cancel', | ||
4 | searchNotData: 'No search results yet', | 2 | searchNotData: 'No search results yet', |
5 | toSearch: 'to search', | 3 | toSearch: 'to search', |
6 | toNavigate: 'to navigate', | 4 | toNavigate: 'to navigate', |
7 | - toClose: 'to close', | ||
8 | - | ||
9 | - okText: 'Confirm', | ||
10 | - cancelText: 'Cancel', | ||
11 | }; | 5 | }; |
src/locales/lang/en/component/drawer.ts deleted
100644 → 0
src/locales/lang/en/component/form.ts
1 | export default { | 1 | export default { |
2 | - resetButton: 'Reset', | ||
3 | - submitButton: 'Search', | ||
4 | putAway: 'Put away', | 2 | putAway: 'Put away', |
5 | unfold: 'Unfold', | 3 | unfold: 'Unfold', |
6 | 4 | ||
7 | - input: 'Please Input ', | ||
8 | - choose: 'Please Choose ', | ||
9 | - | ||
10 | maxTip: 'The number of characters should be less than {0}', | 5 | maxTip: 'The number of characters should be less than {0}', |
11 | 6 | ||
12 | apiSelectNotFound: 'Wait for data loading to complete...', | 7 | apiSelectNotFound: 'Wait for data loading to complete...', |
src/locales/lang/en/component/menu.ts deleted
100644 → 0
src/locales/lang/en/component/modal.ts deleted
100644 → 0
src/locales/lang/en/component/table.ts
1 | export default { | 1 | export default { |
2 | - settingRedo: 'Refresh', | ||
3 | settingDens: 'Density', | 2 | settingDens: 'Density', |
4 | settingDensDefault: 'Default', | 3 | settingDensDefault: 'Default', |
5 | settingDensMiddle: 'Middle', | 4 | settingDensMiddle: 'Middle', |
@@ -8,7 +7,6 @@ export default { | @@ -8,7 +7,6 @@ export default { | ||
8 | settingColumnShow: 'Column display', | 7 | settingColumnShow: 'Column display', |
9 | settingIndexColumnShow: 'Index Column', | 8 | settingIndexColumnShow: 'Index Column', |
10 | settingSelectColumnShow: 'Selection Column', | 9 | settingSelectColumnShow: 'Selection Column', |
11 | - settingReset: 'Reset', | ||
12 | settingFixedLeft: 'Fixed Left', | 10 | settingFixedLeft: 'Fixed Left', |
13 | settingFixedRight: 'Fixed Right', | 11 | settingFixedRight: 'Fixed Right', |
14 | settingFullScreen: 'Full Screen', | 12 | settingFullScreen: 'Full Screen', |
src/locales/lang/en/layout/header.ts
@@ -3,7 +3,6 @@ export default { | @@ -3,7 +3,6 @@ export default { | ||
3 | dropdownItemDoc: 'Document', | 3 | dropdownItemDoc: 'Document', |
4 | dropdownItemLoginOut: 'Login Out', | 4 | dropdownItemLoginOut: 'Login Out', |
5 | 5 | ||
6 | - search: 'Search', | ||
7 | tooltipErrorLog: 'Error log', | 6 | tooltipErrorLog: 'Error log', |
8 | tooltipLock: 'Lock screen', | 7 | tooltipLock: 'Lock screen', |
9 | tooltipNotify: 'Notification', | 8 | tooltipNotify: 'Notification', |
src/locales/lang/en/layout/multipleTab.ts
src/locales/lang/en/layout/setting.ts
@@ -26,7 +26,6 @@ export default { | @@ -26,7 +26,6 @@ export default { | ||
26 | resetSuccess: 'Successfully reset!', | 26 | resetSuccess: 'Successfully reset!', |
27 | 27 | ||
28 | copyBtn: 'Copy', | 28 | copyBtn: 'Copy', |
29 | - resetBtn: 'Reset', | ||
30 | clearBtn: 'Clear cache and to the login page', | 29 | clearBtn: 'Clear cache and to the login page', |
31 | 30 | ||
32 | drawerTitle: 'Configuration', | 31 | drawerTitle: 'Configuration', |
src/locales/lang/en/sys/exception.ts
1 | export default { | 1 | export default { |
2 | backLogin: 'Back Login', | 2 | backLogin: 'Back Login', |
3 | backHome: 'Back Home', | 3 | backHome: 'Back Home', |
4 | - redo: 'Refresh', | ||
5 | subTitle403: "Sorry, you don't have access to this page.", | 4 | subTitle403: "Sorry, you don't have access to this page.", |
6 | subTitle404: 'Sorry, the page you visited does not exist.', | 5 | subTitle404: 'Sorry, the page you visited does not exist.', |
7 | subTitle500: 'Sorry, the server is reporting an error.', | 6 | subTitle500: 'Sorry, the server is reporting an error.', |
src/locales/lang/en/sys/lock.ts
@@ -2,7 +2,6 @@ export default { | @@ -2,7 +2,6 @@ export default { | ||
2 | unlock: 'Click to unlock', | 2 | unlock: 'Click to unlock', |
3 | alert: 'Lock screen password error', | 3 | alert: 'Lock screen password error', |
4 | backToLogin: 'Back to login', | 4 | backToLogin: 'Back to login', |
5 | - back: 'Back', | ||
6 | entry: 'Enter the system', | 5 | entry: 'Enter the system', |
7 | placeholder: 'Please enter the lock screen password or user password', | 6 | placeholder: 'Please enter the lock screen password or user password', |
8 | }; | 7 | }; |
src/locales/lang/zh_CN/common.ts
0 → 100644
1 | +export default { | ||
2 | + okText: '确认', | ||
3 | + closeText: '关闭', | ||
4 | + cancelText: '取消', | ||
5 | + loadingText: '加载中...', | ||
6 | + saveText: '保存', | ||
7 | + delText: '删除', | ||
8 | + resetText: '重置', | ||
9 | + searchText: '搜索', | ||
10 | + queryText: '查询', | ||
11 | + | ||
12 | + inputText: '请输入', | ||
13 | + chooseText: '请选择', | ||
14 | + | ||
15 | + redo: '刷新', | ||
16 | + back: '返回', | ||
17 | +}; |
src/locales/lang/zh_CN/component/app.ts
src/locales/lang/zh_CN/component/drawer.ts deleted
100644 → 0
src/locales/lang/zh_CN/component/form.ts
1 | export default { | 1 | export default { |
2 | - resetButton: '重置', | ||
3 | - submitButton: '查询', | ||
4 | putAway: '收起', | 2 | putAway: '收起', |
5 | unfold: '展开', | 3 | unfold: '展开', |
6 | 4 | ||
7 | - input: '请输入', | ||
8 | - choose: '请选择', | ||
9 | - | ||
10 | maxTip: '字符数应小于{0}位', | 5 | maxTip: '字符数应小于{0}位', |
11 | 6 | ||
12 | apiSelectNotFound: '请等待数据加载完成...', | 7 | apiSelectNotFound: '请等待数据加载完成...', |
src/locales/lang/zh_CN/component/menu.ts deleted
100644 → 0
src/locales/lang/zh_CN/component/modal.ts deleted
100644 → 0
src/locales/lang/zh_CN/component/table.ts
1 | export default { | 1 | export default { |
2 | - settingRedo: '刷新', | ||
3 | settingDens: '密度', | 2 | settingDens: '密度', |
4 | settingDensDefault: '默认', | 3 | settingDensDefault: '默认', |
5 | settingDensMiddle: '中等', | 4 | settingDensMiddle: '中等', |
6 | settingDensSmall: '紧凑', | 5 | settingDensSmall: '紧凑', |
7 | settingColumn: '列设置', | 6 | settingColumn: '列设置', |
8 | settingColumnShow: '列展示', | 7 | settingColumnShow: '列展示', |
9 | - settingReset: '重置', | ||
10 | settingIndexColumnShow: '序号列', | 8 | settingIndexColumnShow: '序号列', |
11 | settingSelectColumnShow: '勾选列', | 9 | settingSelectColumnShow: '勾选列', |
12 | settingFixedLeft: '固定到左侧', | 10 | settingFixedLeft: '固定到左侧', |
src/locales/lang/zh_CN/layout/header.ts
@@ -4,7 +4,6 @@ export default { | @@ -4,7 +4,6 @@ export default { | ||
4 | dropdownItemLoginOut: '退出系统', | 4 | dropdownItemLoginOut: '退出系统', |
5 | 5 | ||
6 | // tooltip | 6 | // tooltip |
7 | - search: '搜索', | ||
8 | tooltipErrorLog: '错误日志', | 7 | tooltipErrorLog: '错误日志', |
9 | tooltipLock: '锁定屏幕', | 8 | tooltipLock: '锁定屏幕', |
10 | tooltipNotify: '消息通知', | 9 | tooltipNotify: '消息通知', |
src/locales/lang/zh_CN/layout/multipleTab.ts
1 | export default { | 1 | export default { |
2 | - redo: '重新加载', | 2 | + reload: '重新加载', |
3 | close: '关闭标签页', | 3 | close: '关闭标签页', |
4 | closeLeft: '关闭左侧标签页', | 4 | closeLeft: '关闭左侧标签页', |
5 | closeRight: '关闭右侧标签页', | 5 | closeRight: '关闭右侧标签页', |
6 | closeOther: '关闭其它标签页', | 6 | closeOther: '关闭其它标签页', |
7 | closeAll: '关闭全部标签页', | 7 | closeAll: '关闭全部标签页', |
8 | - tooltipRedo: '刷新', | ||
9 | }; | 8 | }; |
src/locales/lang/zh_CN/layout/setting.ts
src/locales/lang/zh_CN/sys/exception.ts
1 | export default { | 1 | export default { |
2 | backLogin: '返回登录', | 2 | backLogin: '返回登录', |
3 | backHome: '返回首页', | 3 | backHome: '返回首页', |
4 | - redo: '刷新', | ||
5 | subTitle403: '抱歉,您无权访问此页面。', | 4 | subTitle403: '抱歉,您无权访问此页面。', |
6 | subTitle404: '抱歉,您访问的页面不存在。', | 5 | subTitle404: '抱歉,您访问的页面不存在。', |
7 | subTitle500: '抱歉,服务器报告错误。', | 6 | subTitle500: '抱歉,服务器报告错误。', |
src/locales/lang/zh_CN/sys/lock.ts
src/views/sys/exception/Exception.tsx
@@ -97,7 +97,7 @@ export default defineComponent({ | @@ -97,7 +97,7 @@ export default defineComponent({ | ||
97 | unref(statusMapRef).set(ExceptionEnum.PAGE_NOT_DATA, { | 97 | unref(statusMapRef).set(ExceptionEnum.PAGE_NOT_DATA, { |
98 | title: t('sys.exception.noDataTitle'), | 98 | title: t('sys.exception.noDataTitle'), |
99 | subTitle: '', | 99 | subTitle: '', |
100 | - btnText: t('sys.exception.redo'), | 100 | + btnText: t('common.redo'), |
101 | handler: () => redo(), | 101 | handler: () => redo(), |
102 | icon: notDataImg, | 102 | icon: notDataImg, |
103 | }); | 103 | }); |
src/views/sys/lock/LockPage.vue
@@ -31,7 +31,7 @@ | @@ -31,7 +31,7 @@ | ||
31 | :disabled="loadingRef" | 31 | :disabled="loadingRef" |
32 | @click="handleShowForm(true)" | 32 | @click="handleShowForm(true)" |
33 | > | 33 | > |
34 | - {{ t('sys.lock.back') }} | 34 | + {{ t('common.back') }} |
35 | </a-button> | 35 | </a-button> |
36 | <a-button | 36 | <a-button |
37 | type="link" | 37 | type="link" |
yarn.lock
@@ -7835,10 +7835,10 @@ vite-plugin-pwa@^0.3.5: | @@ -7835,10 +7835,10 @@ vite-plugin-pwa@^0.3.5: | ||
7835 | pretty-bytes "^5.5.0" | 7835 | pretty-bytes "^5.5.0" |
7836 | workbox-build "^6.0.2" | 7836 | workbox-build "^6.0.2" |
7837 | 7837 | ||
7838 | -vite@^2.0.0-beta.22: | ||
7839 | - version "2.0.0-beta.22" | ||
7840 | - resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.22.tgz#c33a4689fe1659bfdc87a36b9e8527baea0e3119" | ||
7841 | - integrity sha512-Mj9qTSYx0625htRTClQV4OLQhjhujgHCV/FStGNu8G9NcHp3MP56gc6+UoRgQzrAsK8HI9MKfcW+NFgljoJKyA== | 7838 | +vite@^2.0.0-beta.23: |
7839 | + version "2.0.0-beta.23" | ||
7840 | + resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.23.tgz#9cbbfc85c5737f5bdee4784c7b838365852396f7" | ||
7841 | + integrity sha512-vrQ56VBUCSjNFgx6DapDXMo6fkW2s3S7zmxWCIEE2ZiAbxoTQCic+NveTiMRA4+JF29ZQf00tzsAri6BIzi9VA== | ||
7842 | dependencies: | 7842 | dependencies: |
7843 | esbuild "^0.8.26" | 7843 | esbuild "^0.8.26" |
7844 | postcss "^8.2.1" | 7844 | postcss "^8.2.1" |