Commit 762e5dee140f9643764bc84f35a365da93b798ba
1 parent
fa18365c
fix: 修复循环依赖问题
Showing
52 changed files
with
86 additions
and
99 deletions
internal/eslint-config/build.config.ts
internal/eslint-config/package.json
... | ... | @@ -17,6 +17,11 @@ |
17 | 17 | "types": "./dist/index.d.ts", |
18 | 18 | "import": "./dist/index.mjs", |
19 | 19 | "require": "./dist/index.cjs" |
20 | + }, | |
21 | + "./strict": { | |
22 | + "types": "./dist/strict.d.ts", | |
23 | + "import": "./dist/strict.mjs", | |
24 | + "require": "./dist/strict.cjs" | |
20 | 25 | } |
21 | 26 | }, |
22 | 27 | "main": "./dist/index.cjs", |
... | ... | @@ -38,7 +43,6 @@ |
38 | 43 | "eslint-plugin-import": "^2.27.5", |
39 | 44 | "eslint-plugin-prettier": "^4.2.1", |
40 | 45 | "eslint-plugin-simple-import-sort": "^10.0.0", |
41 | - "eslint-plugin-unused-imports": "^2.0.0", | |
42 | 46 | "eslint-plugin-vue": "^9.10.0", |
43 | 47 | "vue-eslint-parser": "^9.1.1" |
44 | 48 | } | ... | ... |
internal/eslint-config/src/index.ts
... | ... | @@ -17,14 +17,7 @@ export default { |
17 | 17 | createDefaultProgram: false, |
18 | 18 | extraFileExtensions: ['.vue'], |
19 | 19 | }, |
20 | - plugins: [ | |
21 | - 'vue', | |
22 | - '@typescript-eslint', | |
23 | - 'import', | |
24 | - // TODO: 改造完成后开启 | |
25 | - // 'unused-imports', | |
26 | - // 'simple-import-sort', | |
27 | - ], | |
20 | + plugins: ['vue', '@typescript-eslint', 'import'], | |
28 | 21 | extends: [ |
29 | 22 | 'eslint:recommended', |
30 | 23 | 'plugin:vue/vue3-recommended', |
... | ... | @@ -37,19 +30,10 @@ export default { |
37 | 30 | 'no-use-before-define': 'off', |
38 | 31 | 'space-before-function-paren': 'off', |
39 | 32 | |
40 | - // TODO: 改造完成后开启 | |
41 | - // 'simple-import-sort/imports': 'error', | |
42 | - // 'simple-import-sort/exports': 'error', | |
43 | - | |
44 | 33 | 'import/first': 'error', |
45 | 34 | 'import/newline-after-import': 'error', |
46 | 35 | 'import/no-duplicates': 'error', |
47 | 36 | |
48 | - // 'unused-imports/no-unused-imports': 'error', | |
49 | - // 'unused-imports/no-unused-vars': [ | |
50 | - // 'warn', | |
51 | - // { vars: 'all', varsIgnorePattern: '^_', args: 'after-used', argsIgnorePattern: '^_' }, | |
52 | - // ], | |
53 | 37 | '@typescript-eslint/no-unused-vars': [ |
54 | 38 | 'error', |
55 | 39 | { |
... | ... | @@ -58,13 +42,13 @@ export default { |
58 | 42 | }, |
59 | 43 | ], |
60 | 44 | '@typescript-eslint/ban-ts-ignore': 'off', |
45 | + '@typescript-eslint/ban-ts-comment': 'off', | |
46 | + '@typescript-eslint/ban-types': 'off', | |
61 | 47 | '@typescript-eslint/explicit-function-return-type': 'off', |
62 | 48 | '@typescript-eslint/no-explicit-any': 'off', |
63 | 49 | '@typescript-eslint/no-var-requires': 'off', |
64 | 50 | '@typescript-eslint/no-empty-function': 'off', |
65 | 51 | '@typescript-eslint/no-use-before-define': 'off', |
66 | - '@typescript-eslint/ban-ts-comment': 'off', | |
67 | - '@typescript-eslint/ban-types': 'off', | |
68 | 52 | '@typescript-eslint/no-non-null-assertion': 'off', |
69 | 53 | '@typescript-eslint/explicit-module-boundary-types': 'off', |
70 | 54 | 'vue/script-setup-uses-vars': 'error', | ... | ... |
internal/eslint-config/src/strict.ts
0 → 100644
1 | +import baseLintConfig from './index'; | |
2 | + | |
3 | +export default { | |
4 | + extends: [baseLintConfig], | |
5 | + plugins: ['simple-import-sort'], | |
6 | + rules: { | |
7 | + 'simple-import-sort/imports': 'error', | |
8 | + 'simple-import-sort/exports': 'error', | |
9 | + | |
10 | + '@typescript-eslint/ban-types': 'error', | |
11 | + '@typescript-eslint/ban-ts-ignore': 'error', | |
12 | + '@typescript-eslint/ban-ts-comment': 'error', | |
13 | + '@typescript-eslint/no-explicit-any': 'error', | |
14 | + | |
15 | + 'vue/attributes-order': 'error', | |
16 | + 'vue/require-default-prop': 'error', | |
17 | + }, | |
18 | +}; | ... | ... |
package.json
pnpm-lock.yaml
... | ... | @@ -19,6 +19,9 @@ importers: |
19 | 19 | '@vben/hooks': |
20 | 20 | specifier: workspace:* |
21 | 21 | version: link:packages/hooks |
22 | + '@vue/shared': | |
23 | + specifier: ^3.2.47 | |
24 | + version: 3.2.47 | |
22 | 25 | '@vueuse/core': |
23 | 26 | specifier: ^9.13.0 |
24 | 27 | version: 9.13.0(vue@3.2.47) |
... | ... | @@ -321,9 +324,6 @@ importers: |
321 | 324 | eslint-plugin-simple-import-sort: |
322 | 325 | specifier: ^10.0.0 |
323 | 326 | version: 10.0.0(eslint@8.37.0) |
324 | - eslint-plugin-unused-imports: | |
325 | - specifier: ^2.0.0 | |
326 | - version: 2.0.0(@typescript-eslint/eslint-plugin@5.57.1)(eslint@8.37.0) | |
327 | 327 | eslint-plugin-vue: |
328 | 328 | specifier: ^9.10.0 |
329 | 329 | version: 9.10.0(eslint@8.37.0) |
... | ... | @@ -4483,21 +4483,6 @@ packages: |
4483 | 4483 | eslint: 8.37.0 |
4484 | 4484 | dev: true |
4485 | 4485 | |
4486 | - /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.57.1)(eslint@8.37.0): | |
4487 | - resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} | |
4488 | - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} | |
4489 | - peerDependencies: | |
4490 | - '@typescript-eslint/eslint-plugin': ^5.0.0 | |
4491 | - eslint: ^8.0.0 | |
4492 | - peerDependenciesMeta: | |
4493 | - '@typescript-eslint/eslint-plugin': | |
4494 | - optional: true | |
4495 | - dependencies: | |
4496 | - '@typescript-eslint/eslint-plugin': 5.57.1(@typescript-eslint/parser@5.57.1)(eslint@8.37.0)(typescript@5.0.3) | |
4497 | - eslint: 8.37.0 | |
4498 | - eslint-rule-composer: 0.3.0 | |
4499 | - dev: true | |
4500 | - | |
4501 | 4486 | /eslint-plugin-vue@9.10.0(eslint@8.37.0): |
4502 | 4487 | resolution: {integrity: sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g==} |
4503 | 4488 | engines: {node: ^14.17.0 || >=16.0.0} |
... | ... | @@ -4516,11 +4501,6 @@ packages: |
4516 | 4501 | - supports-color |
4517 | 4502 | dev: true |
4518 | 4503 | |
4519 | - /eslint-rule-composer@0.3.0: | |
4520 | - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} | |
4521 | - engines: {node: '>=4.0.0'} | |
4522 | - dev: true | |
4523 | - | |
4524 | 4504 | /eslint-scope@5.1.1: |
4525 | 4505 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} |
4526 | 4506 | engines: {node: '>=8.0.0'} | ... | ... |
src/components/Application/src/AppLocalePicker.vue
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | import type { DropMenu } from '/@/components/Dropdown'; |
23 | 23 | import { ref, watchEffect, unref, computed } from 'vue'; |
24 | 24 | import { Dropdown } from '/@/components/Dropdown'; |
25 | - import { Icon } from '/@/components/Icon'; | |
25 | + import Icon from '@/components/Icon/Icon.vue'; | |
26 | 26 | import { useLocale } from '/@/locales/useLocale'; |
27 | 27 | import { localeList } from '/@/settings/localeSetting'; |
28 | 28 | ... | ... |
src/components/Application/src/search/AppSearchKeyItem.vue
src/components/Application/src/search/AppSearchModal.vue
... | ... | @@ -61,7 +61,7 @@ |
61 | 61 | import { computed, unref, ref, watch, nextTick } from 'vue'; |
62 | 62 | import { SearchOutlined } from '@ant-design/icons-vue'; |
63 | 63 | import AppSearchFooter from './AppSearchFooter.vue'; |
64 | - import { Icon } from '/@/components/Icon'; | |
64 | + import Icon from '@/components/Icon/Icon.vue'; | |
65 | 65 | // @ts-ignore |
66 | 66 | import vClickOutside from '/@/directives/clickOutside'; |
67 | 67 | import { useDesign } from '/@/hooks/web/useDesign'; | ... | ... |
src/components/Basic/src/BasicArrow.vue
... | ... | @@ -9,7 +9,7 @@ |
9 | 9 | </template> |
10 | 10 | <script lang="ts" setup> |
11 | 11 | import { computed } from 'vue'; |
12 | - import { Icon } from '/@/components/Icon'; | |
12 | + import Icon from '@/components/Icon/Icon.vue'; | |
13 | 13 | import { useDesign } from '/@/hooks/web/useDesign'; |
14 | 14 | |
15 | 15 | const props = defineProps({ | ... | ... |
src/components/Button/src/BasicButton.vue
... | ... | @@ -11,7 +11,7 @@ |
11 | 11 | <script lang="ts" setup> |
12 | 12 | import { Button } from 'ant-design-vue'; |
13 | 13 | import { computed, unref } from 'vue'; |
14 | - import Icon from '/@/components/Icon/src/Icon.vue'; | |
14 | + import Icon from '@/components/Icon/Icon.vue'; | |
15 | 15 | import { buttonProps } from './props'; |
16 | 16 | import { useAttrs } from '@vben/hooks'; |
17 | 17 | ... | ... |
src/components/ContextMenu/src/ContextMenu.vue
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | import type { ContextMenuItem, ItemContentProps, Axis } from './typing'; |
3 | 3 | import type { FunctionalComponent, CSSProperties, PropType } from 'vue'; |
4 | 4 | import { defineComponent, nextTick, onMounted, computed, ref, unref, onUnmounted } from 'vue'; |
5 | - import { Icon } from '/@/components/Icon'; | |
5 | + import Icon from '@/components/Icon/Icon.vue'; | |
6 | 6 | import { Menu, Divider } from 'ant-design-vue'; |
7 | 7 | |
8 | 8 | const prefixCls = 'context-menu'; | ... | ... |
src/components/Cropper/src/CropperAvatar.vue
... | ... | @@ -45,7 +45,7 @@ |
45 | 45 | import { useMessage } from '/@/hooks/web/useMessage'; |
46 | 46 | import { useI18n } from '/@/hooks/web/useI18n'; |
47 | 47 | import type { ButtonProps } from '/@/components/Button'; |
48 | - import { Icon } from '/@/components/Icon'; | |
48 | + import Icon from '@/components/Icon/Icon.vue'; | |
49 | 49 | |
50 | 50 | const props = { |
51 | 51 | width: { type: [String, Number], default: '200px' }, | ... | ... |
src/components/Dropdown/src/Dropdown.vue
... | ... | @@ -37,9 +37,10 @@ |
37 | 37 | |
38 | 38 | <script lang="ts" setup> |
39 | 39 | import { computed, PropType } from 'vue'; |
40 | - import type { DropMenu } from './typing'; | |
40 | + import { type Recordable } from '@vben/types'; | |
41 | + import { type DropMenu } from './typing'; | |
41 | 42 | import { Dropdown, Menu, Popconfirm } from 'ant-design-vue'; |
42 | - import { Icon } from '/@/components/Icon'; | |
43 | + import Icon from '@/components/Icon/Icon.vue'; | |
43 | 44 | import { omit } from 'lodash-es'; |
44 | 45 | import { isFunction } from '/@/utils/is'; |
45 | 46 | |
... | ... | @@ -63,7 +64,7 @@ |
63 | 64 | }, |
64 | 65 | }, |
65 | 66 | dropMenuList: { |
66 | - type: Array as PropType<(DropMenu & Recordable)[]>, | |
67 | + type: Array as PropType<(DropMenu & Recordable<any>)[]>, | |
67 | 68 | default: () => [], |
68 | 69 | }, |
69 | 70 | selectedKeys: { | ... | ... |
src/components/FlowChart/src/FlowChartToolbar.vue
... | ... | @@ -19,7 +19,7 @@ |
19 | 19 | |
20 | 20 | import { defineComponent, ref, onUnmounted, unref, nextTick, watchEffect } from 'vue'; |
21 | 21 | import { Divider, Tooltip } from 'ant-design-vue'; |
22 | - import { Icon } from '/@/components/Icon'; | |
22 | + import Icon from '@/components/Icon/Icon.vue'; | |
23 | 23 | |
24 | 24 | import { useFlowChartContext } from './useFlowContext'; |
25 | 25 | import { ToolbarTypeEnum } from './enum'; | ... | ... |
src/components/Icon/src/Icon.vue renamed to src/components/Icon/Icon.vue
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 | computed, |
26 | 26 | CSSProperties, |
27 | 27 | } from 'vue'; |
28 | - import SvgIcon from './SvgIcon.vue'; | |
28 | + import SvgIcon from './src/SvgIcon.vue'; | |
29 | 29 | import Iconify from '@purge-icons/generated'; |
30 | 30 | import { isString } from '/@/utils/is'; |
31 | 31 | import { propTypes } from '/@/utils/propTypes'; |
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 | const update = async () => { |
58 | 58 | if (unref(isSvgIcon)) return; |
59 | 59 | |
60 | - const el = unref(elRef); | |
60 | + const el: any = unref(elRef); | |
61 | 61 | if (!el) return; |
62 | 62 | |
63 | 63 | await nextTick(); | ... | ... |
src/components/Icon/index.ts
src/components/Icon/src/IconPicker.vue
... | ... | @@ -69,7 +69,7 @@ |
69 | 69 | import { useDesign } from '/@/hooks/web/useDesign'; |
70 | 70 | import { ScrollContainer } from '/@/components/Container'; |
71 | 71 | import { Input, Popover, Pagination, Empty } from 'ant-design-vue'; |
72 | - import Icon from './Icon.vue'; | |
72 | + import Icon from '../Icon.vue'; | |
73 | 73 | import SvgIcon from './SvgIcon.vue'; |
74 | 74 | |
75 | 75 | import iconsData from '../data/icons.data'; |
... | ... | @@ -167,7 +167,7 @@ |
167 | 167 | } |
168 | 168 | } |
169 | 169 | |
170 | - function handleSearchChange(e: ChangeEvent) { | |
170 | + function handleSearchChange(e: Event) { | |
171 | 171 | const value = e.target.value; |
172 | 172 | if (!value) { |
173 | 173 | setCurrentPage(1); | ... | ... |
src/components/Menu/src/components/MenuItemContent.vue
... | ... | @@ -6,8 +6,7 @@ |
6 | 6 | </template> |
7 | 7 | <script lang="ts"> |
8 | 8 | import { computed, defineComponent } from 'vue'; |
9 | - | |
10 | - import { Icon } from '/@/components/Icon/index'; | |
9 | + import Icon from '@/components/Icon/Icon.vue'; | |
11 | 10 | import { useI18n } from '/@/hooks/web/useI18n'; |
12 | 11 | import { useDesign } from '/@/hooks/web/useDesign'; |
13 | 12 | import { contentProps } from '../props'; | ... | ... |
src/components/SimpleMenu/src/SimpleSubMenu.vue
... | ... | @@ -48,7 +48,7 @@ |
48 | 48 | |
49 | 49 | import { defineComponent, computed } from 'vue'; |
50 | 50 | import { useDesign } from '/@/hooks/web/useDesign'; |
51 | - import { Icon } from '/@/components/Icon/index'; | |
51 | + import Icon from '@/components/Icon/Icon.vue'; | |
52 | 52 | |
53 | 53 | import MenuItem from './components/MenuItem.vue'; |
54 | 54 | import SubMenu from './components/SubMenuItem.vue'; | ... | ... |
src/components/SimpleMenu/src/components/SubMenuItem.vue
... | ... | @@ -75,7 +75,7 @@ |
75 | 75 | import { useMenuItem } from './useMenu'; |
76 | 76 | import { useSimpleRootMenuContext } from './useSimpleMenuContext'; |
77 | 77 | import { CollapseTransition } from '/@/components/Transition'; |
78 | - import { Icon } from '/@/components/Icon'; | |
78 | + import Icon from '@/components/Icon/Icon.vue'; | |
79 | 79 | import { Popover } from 'ant-design-vue'; |
80 | 80 | import { isBoolean, isObject } from '/@/utils/is'; |
81 | 81 | import { mitt } from '/@/utils/mitt'; | ... | ... |
src/components/Table/src/components/TableAction.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | import { defineComponent, PropType, computed, toRaw, unref } from 'vue'; |
35 | 35 | import { MoreOutlined } from '@ant-design/icons-vue'; |
36 | 36 | import { Divider, Tooltip, TooltipProps } from 'ant-design-vue'; |
37 | - import { Icon } from '/@/components/Icon/index'; | |
37 | + import Icon from '@/components/Icon/Icon.vue'; | |
38 | 38 | import { ActionItem, TableActionType } from '/@/components/Table'; |
39 | 39 | import { PopConfirmButton } from '/@/components/Button'; |
40 | 40 | import { Dropdown } from '/@/components/Dropdown'; | ... | ... |
src/components/Table/src/components/settings/ColumnSetting.vue
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 | import { Tooltip, Popover, Checkbox, Divider } from 'ant-design-vue'; |
114 | 114 | import type { CheckboxChangeEvent } from 'ant-design-vue/lib/checkbox/interface'; |
115 | 115 | import { SettingOutlined, DragOutlined } from '@ant-design/icons-vue'; |
116 | - import { Icon } from '/@/components/Icon'; | |
116 | + import Icon from '@/components/Icon/Icon.vue'; | |
117 | 117 | import { ScrollContainer } from '/@/components/Container'; |
118 | 118 | import { useI18n } from '/@/hooks/web/useI18n'; |
119 | 119 | import { useTableContext } from '../../hooks/useTableContext'; | ... | ... |
src/components/Tree/src/TreeIcon.ts
1 | 1 | import type { VNode, FunctionalComponent } from 'vue'; |
2 | 2 | import { h } from 'vue'; |
3 | 3 | import { isString } from 'lodash-es'; |
4 | -import { Icon } from '/@/components/Icon'; | |
4 | +import Icon from '@/components/Icon/Icon.vue'; | |
5 | 5 | |
6 | 6 | export const TreeIcon: FunctionalComponent = ({ icon }: { icon: VNode | string }) => { |
7 | 7 | if (!icon) return null; | ... | ... |
src/components/Tree/src/components/TreeHeader.vue
... | ... | @@ -33,9 +33,9 @@ |
33 | 33 | </div> |
34 | 34 | </template> |
35 | 35 | <script lang="ts" setup> |
36 | - import { computed, ref, watch, useSlots } from 'vue'; | |
36 | + import { type PropType, computed, ref, watch, useSlots } from 'vue'; | |
37 | 37 | import { Dropdown, Menu, MenuItem, MenuDivider, InputSearch } from 'ant-design-vue'; |
38 | - import { Icon } from '/@/components/Icon'; | |
38 | + import Icon from '@/components/Icon/Icon.vue'; | |
39 | 39 | import { BasicTitle } from '/@/components/Basic'; |
40 | 40 | import { useI18n } from '/@/hooks/web/useI18n'; |
41 | 41 | import { useDebounceFn } from '@vueuse/core'; | ... | ... |
src/components/Upload/src/BasicUpload.vue
... | ... | @@ -37,7 +37,8 @@ |
37 | 37 | </template> |
38 | 38 | <script lang="ts"> |
39 | 39 | import { defineComponent, ref, watch, unref, computed } from 'vue'; |
40 | - import { Icon } from '/@/components/Icon'; | |
40 | + import { Recordable } from '@vben/types'; | |
41 | + import Icon from '@/components/Icon/Icon.vue'; | |
41 | 42 | import { Tooltip, Space } from 'ant-design-vue'; |
42 | 43 | import { useModal } from '/@/components/Modal'; |
43 | 44 | import { uploadContainerProps } from './props'; |
... | ... | @@ -96,7 +97,7 @@ |
96 | 97 | emit('change', fileList.value); |
97 | 98 | } |
98 | 99 | |
99 | - function handleDelete(record: Recordable) { | |
100 | + function handleDelete(record: Recordable<any>) { | |
100 | 101 | emit('delete', record); |
101 | 102 | } |
102 | 103 | ... | ... |
src/layouts/default/header/components/Breadcrumb.vue
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | import { defineComponent, ref, watchEffect } from 'vue'; |
22 | 22 | |
23 | 23 | import { Breadcrumb } from 'ant-design-vue'; |
24 | - import { Icon } from '/@/components/Icon'; | |
24 | + import Icon from '@/components/Icon/Icon.vue'; | |
25 | 25 | |
26 | 26 | import { useDesign } from '/@/hooks/web/useDesign'; |
27 | 27 | import { useRootSetting } from '/@/hooks/setting/useRootSetting'; | ... | ... |
src/layouts/default/header/components/ErrorAction.vue
... | ... | @@ -13,8 +13,7 @@ |
13 | 13 | <script lang="ts"> |
14 | 14 | import { defineComponent, computed } from 'vue'; |
15 | 15 | import { Tooltip, Badge } from 'ant-design-vue'; |
16 | - import { Icon } from '/@/components/Icon'; | |
17 | - | |
16 | + import Icon from '@/components/Icon/Icon.vue'; | |
18 | 17 | import { useI18n } from '/@/hooks/web/useI18n'; |
19 | 18 | import { useErrorLogStore } from '/@/store/modules/errorLog'; |
20 | 19 | import { PageEnum } from '/@/enums/pageEnum'; | ... | ... |
src/layouts/default/header/components/user-dropdown/DropMenuItem.vue
... | ... | @@ -10,8 +10,8 @@ |
10 | 10 | import { Menu } from 'ant-design-vue'; |
11 | 11 | |
12 | 12 | import { computed, defineComponent, getCurrentInstance } from 'vue'; |
13 | + import Icon from '@/components/Icon/Icon.vue'; | |
13 | 14 | |
14 | - import { Icon } from '/@/components/Icon/index'; | |
15 | 15 | import { propTypes } from '/@/utils/propTypes'; |
16 | 16 | |
17 | 17 | export default defineComponent({ | ... | ... |
src/layouts/default/setting/index.vue
... | ... | @@ -7,7 +7,7 @@ |
7 | 7 | <script lang="ts"> |
8 | 8 | import { defineComponent } from 'vue'; |
9 | 9 | import SettingDrawer from './SettingDrawer'; |
10 | - import { Icon } from '/@/components/Icon'; | |
10 | + import Icon from '@/components/Icon/Icon.vue'; | |
11 | 11 | |
12 | 12 | import { useDrawer } from '/@/components/Drawer'; |
13 | 13 | ... | ... |
src/layouts/default/sider/MixSider.vue
... | ... | @@ -84,7 +84,7 @@ |
84 | 84 | import type { RouteLocationNormalized } from 'vue-router'; |
85 | 85 | import { ScrollContainer } from '/@/components/Container'; |
86 | 86 | import { SimpleMenu, SimpleMenuTag } from '/@/components/SimpleMenu'; |
87 | - import { Icon } from '/@/components/Icon'; | |
87 | + import Icon from '@/components/Icon/Icon.vue'; | |
88 | 88 | import { AppLogo } from '/@/components/Application'; |
89 | 89 | import { useMenuSetting } from '/@/hooks/setting/useMenuSetting'; |
90 | 90 | import { usePermissionStore } from '/@/store/modules/permission'; | ... | ... |
src/layouts/default/tabs/components/FoldButton.vue
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 | </template> |
6 | 6 | <script lang="ts"> |
7 | 7 | import { defineComponent, unref, computed } from 'vue'; |
8 | - import { Icon } from '/@/components/Icon'; | |
8 | + import Icon from '@/components/Icon/Icon.vue'; | |
9 | 9 | |
10 | 10 | import { useDesign } from '/@/hooks/web/useDesign'; |
11 | 11 | import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting'; | ... | ... |
src/layouts/default/tabs/components/TabContent.vue
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | |
21 | 21 | import { defineComponent, computed, unref } from 'vue'; |
22 | 22 | import { Dropdown } from '/@/components/Dropdown/index'; |
23 | - import { Icon } from '/@/components/Icon'; | |
23 | + import Icon from '@/components/Icon/Icon.vue'; | |
24 | 24 | |
25 | 25 | import { TabContentProps } from '../types'; |
26 | 26 | ... | ... |
src/views/dashboard/analysis/components/GrowCard.vue
... | ... | @@ -27,7 +27,7 @@ |
27 | 27 | </template> |
28 | 28 | <script lang="ts" setup> |
29 | 29 | import { CountTo } from '/@/components/CountTo/index'; |
30 | - import { Icon } from '/@/components/Icon'; | |
30 | + import Icon from '@/components/Icon/Icon.vue'; | |
31 | 31 | import { Tag, Card } from 'ant-design-vue'; |
32 | 32 | import { growCardList } from '../data'; |
33 | 33 | ... | ... |
src/views/dashboard/workbench/components/DynamicInfo.vue
... | ... | @@ -24,7 +24,7 @@ |
24 | 24 | <script lang="ts" setup> |
25 | 25 | import { Card, List } from 'ant-design-vue'; |
26 | 26 | import { dynamicInfoItems } from './data'; |
27 | - import { Icon } from '/@/components/Icon'; | |
27 | + import Icon from '@/components/Icon/Icon.vue'; | |
28 | 28 | |
29 | 29 | const ListItem = List.Item; |
30 | 30 | const ListItemMeta = List.Item.Meta; | ... | ... |
src/views/dashboard/workbench/components/ProjectCard.vue
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | <script lang="ts"> |
21 | 21 | import { defineComponent } from 'vue'; |
22 | 22 | import { Card, CardGrid } from 'ant-design-vue'; |
23 | - import { Icon } from '/@/components/Icon'; | |
23 | + import Icon from '@/components/Icon/Icon.vue'; | |
24 | 24 | import { groupItems } from './data'; |
25 | 25 | |
26 | 26 | export default defineComponent({ | ... | ... |
src/views/dashboard/workbench/components/QuickNav.vue
src/views/demo/feat/icon/index.vue
... | ... | @@ -64,7 +64,8 @@ |
64 | 64 | CodepenCircleFilled, |
65 | 65 | } from '@ant-design/icons-vue'; |
66 | 66 | |
67 | - import { Icon, IconPicker, SvgIcon } from '/@/components/Icon/index'; | |
67 | + import { IconPicker, SvgIcon } from '/@/components/Icon/index'; | |
68 | + import Icon from '/@/components/Icon/Icon.vue'; | |
68 | 69 | |
69 | 70 | import { openWindow } from '/@/utils'; |
70 | 71 | import { PageWrapper } from '/@/components/Page'; | ... | ... |
src/views/demo/page/account/center/Application.vue
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | <script lang="ts"> |
31 | 31 | import { defineComponent } from 'vue'; |
32 | 32 | import { List, Card, Row, Col } from 'ant-design-vue'; |
33 | - import { Icon } from '/@/components/Icon/index'; | |
33 | + import Icon from '@/components/Icon/Icon.vue'; | |
34 | 34 | import { applicationList } from './data'; |
35 | 35 | |
36 | 36 | export default defineComponent({ | ... | ... |
src/views/demo/page/account/center/Article.vue
... | ... | @@ -42,7 +42,7 @@ |
42 | 42 | <script lang="ts"> |
43 | 43 | import { defineComponent } from 'vue'; |
44 | 44 | import { List, Tag } from 'ant-design-vue'; |
45 | - import { Icon } from '/@/components/Icon/index'; | |
45 | + import Icon from '@/components/Icon/Icon.vue'; | |
46 | 46 | import { actions, articleList } from './data'; |
47 | 47 | |
48 | 48 | export default defineComponent({ | ... | ... |
src/views/demo/page/account/center/index.vue
... | ... | @@ -56,7 +56,7 @@ |
56 | 56 | import { Tag, Tabs, Row, Col } from 'ant-design-vue'; |
57 | 57 | import { defineComponent, computed } from 'vue'; |
58 | 58 | import { CollapseContainer } from '/@/components/Container/index'; |
59 | - import { Icon } from '/@/components/Icon/index'; | |
59 | + import Icon from '@/components/Icon/Icon.vue'; | |
60 | 60 | import Article from './Article.vue'; |
61 | 61 | import Application from './Application.vue'; |
62 | 62 | import Project from './Project.vue'; | ... | ... |
src/views/demo/page/account/setting/AccountBind.vue
... | ... | @@ -26,7 +26,7 @@ |
26 | 26 | import { List } from 'ant-design-vue'; |
27 | 27 | import { defineComponent } from 'vue'; |
28 | 28 | import { CollapseContainer } from '/@/components/Container/index'; |
29 | - import { Icon } from '/@/components/Icon/index'; | |
29 | + import Icon from '@/components/Icon/Icon.vue'; | |
30 | 30 | |
31 | 31 | import { accountBindList } from './data'; |
32 | 32 | ... | ... |
src/views/demo/page/list/basic/index.vue
... | ... | @@ -53,7 +53,7 @@ |
53 | 53 | <script lang="ts"> |
54 | 54 | import { Progress, Row, Col, List } from 'ant-design-vue'; |
55 | 55 | import { defineComponent } from 'vue'; |
56 | - import { Icon } from '/@/components/Icon/index'; | |
56 | + import Icon from '@/components/Icon/Icon.vue'; | |
57 | 57 | import { cardList } from './data'; |
58 | 58 | import { PageWrapper } from '/@/components/Page'; |
59 | 59 | ... | ... |
src/views/demo/page/list/card/index.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | </template> |
35 | 35 | <script lang="ts"> |
36 | 36 | import { defineComponent } from 'vue'; |
37 | - import { Icon } from '/@/components/Icon/index'; | |
37 | + import Icon from '@/components/Icon/Icon.vue'; | |
38 | 38 | import { cardList } from './data'; |
39 | 39 | import { PageWrapper } from '/@/components/Page'; |
40 | 40 | import { Card, Row, Col, List } from 'ant-design-vue'; | ... | ... |
src/views/demo/page/list/search/index.vue
... | ... | @@ -55,7 +55,7 @@ |
55 | 55 | <script lang="ts"> |
56 | 56 | import { Tag, List } from 'ant-design-vue'; |
57 | 57 | import { defineComponent } from 'vue'; |
58 | - import { Icon } from '/@/components/Icon/index'; | |
58 | + import Icon from '@/components/Icon/Icon.vue'; | |
59 | 59 | import { BasicForm } from '/@/components/Form/index'; |
60 | 60 | import { actions, searchList, schemas } from './data'; |
61 | 61 | import { PageWrapper } from '/@/components/Page'; | ... | ... |
src/views/demo/system/menu/menu.data.ts
src/views/form-design/components/VFormDesign/components/FormNodeOperate.vue
... | ... | @@ -17,7 +17,7 @@ |
17 | 17 | import { IVFormComponent } from '../../../typings/v-form-component'; |
18 | 18 | import { remove } from '../../../utils'; |
19 | 19 | import { useFormDesignState } from '../../../hooks/useFormDesignState'; |
20 | - import { Icon } from '/@/components/Icon/index'; | |
20 | + import Icon from '@/components/Icon/Icon.vue'; | |
21 | 21 | |
22 | 22 | export default defineComponent({ |
23 | 23 | name: 'FormNodeOperate', | ... | ... |
src/views/form-design/components/VFormDesign/components/FormOptions.vue
... | ... | @@ -38,7 +38,7 @@ |
38 | 38 | import { remove } from '../../../utils'; |
39 | 39 | import message from '../../../utils/message'; |
40 | 40 | import { Input } from 'ant-design-vue'; |
41 | - import { Icon } from '/@/components/Icon/index'; | |
41 | + import Icon from '@/components/Icon/Icon.vue'; | |
42 | 42 | |
43 | 43 | export default defineComponent({ |
44 | 44 | name: 'FormOptions', | ... | ... |
src/views/form-design/components/VFormDesign/components/RuleProps.vue
... | ... | @@ -38,7 +38,7 @@ |
38 | 38 | import { useFormDesignState } from '../../../hooks/useFormDesignState'; |
39 | 39 | import { isArray } from 'lodash-es'; |
40 | 40 | import { Form, FormItem, AutoComplete, Input } from 'ant-design-vue'; |
41 | - import { Icon } from '/@/components/Icon'; | |
41 | + import Icon from '@/components/Icon/Icon.vue'; | |
42 | 42 | |
43 | 43 | export default defineComponent({ |
44 | 44 | name: 'RuleProps', | ... | ... |
src/views/form-design/components/VFormDesign/modules/CollapseItem.vue
... | ... | @@ -34,7 +34,7 @@ |
34 | 34 | import { defineComponent, reactive } from 'vue'; |
35 | 35 | import { IVFormComponent } from '../../../typings/v-form-component'; |
36 | 36 | import draggable from 'vuedraggable'; |
37 | - import { Icon } from '/@/components/Icon'; | |
37 | + import Icon from '@/components/Icon/Icon.vue'; | |
38 | 38 | import { useDesign } from '/@/hooks/web/useDesign'; |
39 | 39 | |
40 | 40 | export default defineComponent({ | ... | ... |
src/views/form-design/components/VFormDesign/modules/Toolbar.vue
... | ... | @@ -31,7 +31,7 @@ |
31 | 31 | import { UseRefHistoryReturn } from '@vueuse/core'; |
32 | 32 | import { IFormConfig } from '../../../typings/v-form-component'; |
33 | 33 | import { Tooltip, Divider } from 'ant-design-vue'; |
34 | - import { Icon } from '/@/components/Icon/index'; | |
34 | + import Icon from '@/components/Icon/Icon.vue'; | |
35 | 35 | |
36 | 36 | interface IToolbarsConfig { |
37 | 37 | type: string; | ... | ... |
src/views/form-design/components/VFormItem/index.vue
... | ... | @@ -48,7 +48,7 @@ |
48 | 48 | import { handleAsyncOptions } from '../../utils'; |
49 | 49 | import { omit } from 'lodash-es'; |
50 | 50 | import { Tooltip, FormItem, Divider, Col } from 'ant-design-vue'; |
51 | - import { Icon } from '/@/components/Icon'; | |
51 | + import Icon from '@/components/Icon/Icon.vue'; | |
52 | 52 | import { useFormModelState } from '../../hooks/useFormDesignState'; |
53 | 53 | |
54 | 54 | export default defineComponent({ | ... | ... |