@dt-frames/ui 1.0.13 → 1.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/es/components/curd/src/components/dialog.d.ts +20 -21
  2. package/es/components/curd/src/components/props.d.ts +2 -1
  3. package/es/components/curd/src/hooks/useCurd.d.ts +1 -0
  4. package/es/components/curd/src/types/curd.type.d.ts +2 -2
  5. package/es/components/forms/src/components/formButton.d.ts +1 -2
  6. package/es/components/forms/src/components/formIcon.d.ts +15 -15
  7. package/es/components/forms/src/hooks/helper.d.ts +2 -0
  8. package/es/components/forms/src/hooks/useFormActions.d.ts +2 -2
  9. package/es/components/forms/src/index.d.ts +2 -3
  10. package/es/components/forms/src/types/form.type.d.ts +3 -17
  11. package/es/components/index.d.ts +1 -1
  12. package/es/components/modal/src/components/modal.d.ts +2 -2
  13. package/es/components/modal/src/components/modalFooter.d.ts +1 -1
  14. package/es/components/modal/src/index.d.ts +15 -15
  15. package/es/components/modal/src/props.d.ts +1 -1
  16. package/es/components/source/src/hooks/useFetch.d.ts +1 -1
  17. package/es/components/table/src/components/editable/EditTableCell.d.ts +3 -0
  18. package/es/components/table/src/components/editable/index.d.ts +1 -1
  19. package/es/components/table/src/index.d.ts +6 -3
  20. package/es/components/table/src/props.d.ts +1 -2
  21. package/es/components/table/src/types/table.type.d.ts +2 -0
  22. package/es/components/tree/src/props.d.ts +8 -1
  23. package/es/components/upload/src/upload.d.ts +6 -3
  24. package/es/index.js +196 -39
  25. package/es/style/components/icons/index.less +1 -1
  26. package/es/style/components/table/index.less +4 -0
  27. package/package.json +1 -10
  28. package/vite.config.js +10 -0
  29. package/es/components/upload/src/index.d.ts +0 -2811
  30. package/src/assets/data/icons/actions.ts +0 -427
  31. package/src/assets/data/icons/code.ts +0 -10
  32. package/src/assets/data/icons/commuticate.ts +0 -190
  33. package/src/assets/data/icons/currency.ts +0 -46
  34. package/src/assets/data/icons/devices.ts +0 -128
  35. package/src/assets/data/icons/edit.ts +0 -165
  36. package/src/assets/data/icons/file.ts +0 -104
  37. package/src/assets/data/icons/math.ts +0 -53
  38. package/src/assets/data/icons/message.ts +0 -75
  39. package/src/assets/data/icons/navigate.ts +0 -181
  40. package/src/assets/data/icons/other.ts +0 -333
  41. package/src/assets/data/icons.ts +0 -58
  42. package/src/assets/imgs/header/avatar.png +0 -0
  43. package/src/assets/imgs/logo/logo.png +0 -0
  44. package/src/assets/locales/en_US.json +0 -3
  45. package/src/assets/locales/zh_CN.json +0 -3
  46. package/src/assets/style/index.less +0 -10
  47. package/src/assets/style/reset.less +0 -17
  48. package/src/components/container/index.less +0 -85
  49. package/src/components/container/index.ts +0 -8
  50. package/src/components/container/src/bar.ts +0 -107
  51. package/src/components/container/src/lazy-container.vue +0 -9
  52. package/src/components/container/src/scroll-bar.vue +0 -117
  53. package/src/components/container/src/scroll-container.vue +0 -61
  54. package/src/components/curd/index.ts +0 -5
  55. package/src/components/curd/src/components/dialog.vue +0 -73
  56. package/src/components/curd/src/components/props.ts +0 -32
  57. package/src/components/curd/src/hooks/useCurd.tsx +0 -87
  58. package/src/components/curd/src/types/curd.type.ts +0 -32
  59. package/src/components/excel/index.ts +0 -6
  60. package/src/components/excel/src/export2Excel.ts +0 -44
  61. package/src/components/forms/index.less +0 -107
  62. package/src/components/forms/index.ts +0 -11
  63. package/src/components/forms/src/componentMap.ts +0 -46
  64. package/src/components/forms/src/components/formButton.vue +0 -150
  65. package/src/components/forms/src/components/formIcon.vue +0 -51
  66. package/src/components/forms/src/components/formInputUseDialog.vue +0 -43
  67. package/src/components/forms/src/components/formItem.vue +0 -420
  68. package/src/components/forms/src/components/radioButton.vue +0 -58
  69. package/src/components/forms/src/const/form.const.ts +0 -7
  70. package/src/components/forms/src/hooks/helper.ts +0 -70
  71. package/src/components/forms/src/hooks/useForm.ts +0 -130
  72. package/src/components/forms/src/hooks/useFormActions.ts +0 -63
  73. package/src/components/forms/src/hooks/useFormEvents.ts +0 -248
  74. package/src/components/forms/src/hooks/useFormValue.ts +0 -49
  75. package/src/components/forms/src/hooks/useFormValues.ts +0 -131
  76. package/src/components/forms/src/hooks/useLabelWidth.ts +0 -57
  77. package/src/components/forms/src/index.vue +0 -310
  78. package/src/components/forms/src/prop.ts +0 -80
  79. package/src/components/forms/src/types/form.type.ts +0 -275
  80. package/src/components/icons/index.less +0 -101
  81. package/src/components/icons/index.ts +0 -7
  82. package/src/components/icons/src/pick-icon.vue +0 -119
  83. package/src/components/icons/src/svg-icon.vue +0 -117
  84. package/src/components/iframe/index.less +0 -3
  85. package/src/components/iframe/index.ts +0 -5
  86. package/src/components/iframe/src/index.less +0 -3
  87. package/src/components/iframe/src/index.vue +0 -38
  88. package/src/components/index.ts +0 -53
  89. package/src/components/modal/index.less +0 -60
  90. package/src/components/modal/index.ts +0 -8
  91. package/src/components/modal/src/components/close-icon.vue +0 -46
  92. package/src/components/modal/src/components/modal-wrap.vue +0 -128
  93. package/src/components/modal/src/components/modal.tsx +0 -30
  94. package/src/components/modal/src/components/modalFooter.vue +0 -46
  95. package/src/components/modal/src/hooks/useDrag.ts +0 -107
  96. package/src/components/modal/src/hooks/useFullScreen.ts +0 -29
  97. package/src/components/modal/src/hooks/useModal.ts +0 -200
  98. package/src/components/modal/src/index.vue +0 -184
  99. package/src/components/modal/src/props.ts +0 -44
  100. package/src/components/modal/src/types/modal.type.ts +0 -30
  101. package/src/components/router/base-router.vue +0 -11
  102. package/src/components/router/index.ts +0 -3
  103. package/src/components/source/index.ts +0 -1
  104. package/src/components/source/src/hooks/useFetch.ts +0 -42
  105. package/src/components/source/src/hooks/usePage.ts +0 -3
  106. package/src/components/source/src/hooks/useSource.ts +0 -214
  107. package/src/components/source/src/index.ts +0 -5
  108. package/src/components/source/src/types/source.type.ts +0 -58
  109. package/src/components/source/src/types/table.type.ts +0 -8
  110. package/src/components/table/index.less +0 -179
  111. package/src/components/table/index.ts +0 -7
  112. package/src/components/table/src/components/TableActions.vue +0 -108
  113. package/src/components/table/src/components/TableHeader.vue +0 -78
  114. package/src/components/table/src/components/TableRender.vue +0 -76
  115. package/src/components/table/src/components/editable/CellComponent.ts +0 -57
  116. package/src/components/table/src/components/editable/EditTableCell.vue +0 -181
  117. package/src/components/table/src/components/editable/componentMap.ts +0 -18
  118. package/src/components/table/src/components/editable/index.ts +0 -58
  119. package/src/components/table/src/components/setting/Column.vue +0 -354
  120. package/src/components/table/src/components/setting/Download.vue +0 -55
  121. package/src/components/table/src/components/setting/Fullscreen.vue +0 -43
  122. package/src/components/table/src/components/setting/Size.vue +0 -42
  123. package/src/components/table/src/components/setting/index.vue +0 -64
  124. package/src/components/table/src/const.ts +0 -13
  125. package/src/components/table/src/hooks/useColumns.ts +0 -326
  126. package/src/components/table/src/hooks/useCustomRow.ts +0 -86
  127. package/src/components/table/src/hooks/useDataSource.ts +0 -97
  128. package/src/components/table/src/hooks/useHeaderCode.ts +0 -89
  129. package/src/components/table/src/hooks/useLoading.ts +0 -29
  130. package/src/components/table/src/hooks/usePagination.ts +0 -76
  131. package/src/components/table/src/hooks/useRowSelection.ts +0 -145
  132. package/src/components/table/src/hooks/useRows.ts +0 -30
  133. package/src/components/table/src/hooks/useTable.ts +0 -90
  134. package/src/components/table/src/hooks/useTableHeader.ts +0 -48
  135. package/src/components/table/src/hooks/useTableInstance.ts +0 -29
  136. package/src/components/table/src/hooks/useTableScroll.ts +0 -229
  137. package/src/components/table/src/index.vue +0 -212
  138. package/src/components/table/src/props.ts +0 -160
  139. package/src/components/table/src/types/table.type.ts +0 -160
  140. package/src/components/table/src/types/tableHeader.type.ts +0 -27
  141. package/src/components/tree/index.less +0 -41
  142. package/src/components/tree/index.ts +0 -5
  143. package/src/components/tree/src/components/TreeHeader.vue +0 -97
  144. package/src/components/tree/src/hooks/useTree.ts +0 -239
  145. package/src/components/tree/src/index.vue +0 -392
  146. package/src/components/tree/src/props.ts +0 -133
  147. package/src/components/tree/src/type/tree.ts +0 -105
  148. package/src/components/tree/src/utils/tree.ts +0 -73
  149. package/src/components/type.ts +0 -0
  150. package/src/components/upload/index.less +0 -35
  151. package/src/components/upload/index.ts +0 -5
  152. package/src/components/upload/src/helper.ts +0 -60
  153. package/src/components/upload/src/props.ts +0 -51
  154. package/src/components/upload/src/upload.vue +0 -191
  155. package/src/directives/icon.ts +0 -36
  156. package/src/directives/index.ts +0 -26
  157. package/src/directives/permission.ts +0 -20
  158. package/src/global.d.ts +0 -8
  159. package/src/index.ts +0 -4
  160. package/src/theme/content/index.vue +0 -37
  161. package/src/theme/feature/back-top.vue +0 -11
  162. package/src/theme/feature/index.vue +0 -7
  163. package/src/theme/footer/index.less +0 -16
  164. package/src/theme/footer/index.vue +0 -24
  165. package/src/theme/header/components/bread-crumb.vue +0 -26
  166. package/src/theme/header/components/fullscreen.vue +0 -12
  167. package/src/theme/header/components/handler.ts +0 -81
  168. package/src/theme/header/components/index.ts +0 -21
  169. package/src/theme/header/components/lang-picker.vue +0 -36
  170. package/src/theme/header/components/logo.vue +0 -35
  171. package/src/theme/header/components/menu-search.vue +0 -62
  172. package/src/theme/header/components/notify.vue +0 -22
  173. package/src/theme/header/components/setting-theme.vue +0 -123
  174. package/src/theme/header/components/theme-drawer/enum.ts +0 -12
  175. package/src/theme/header/components/theme-drawer/feature.vue +0 -75
  176. package/src/theme/header/components/theme-drawer/index.ts +0 -7
  177. package/src/theme/header/components/theme-drawer/menu-type.vue +0 -40
  178. package/src/theme/header/components/theme-drawer/select-item.vue +0 -46
  179. package/src/theme/header/components/theme-drawer/switch-item.vue +0 -39
  180. package/src/theme/header/components/theme-drawer/theme-color.vue +0 -26
  181. package/src/theme/header/components/trigger.vue +0 -14
  182. package/src/theme/header/components/user-info.vue +0 -60
  183. package/src/theme/header/const/index.ts +0 -40
  184. package/src/theme/header/helper/menu-tree.ts +0 -64
  185. package/src/theme/header/index.less +0 -442
  186. package/src/theme/header/index.ts +0 -0
  187. package/src/theme/header/index.vue +0 -96
  188. package/src/theme/header/multiple-header.vue +0 -67
  189. package/src/theme/header/set-theme.less +0 -68
  190. package/src/theme/index.ts +0 -3
  191. package/src/theme/sider/components/basic-menu/basic-menu-item.vue +0 -14
  192. package/src/theme/sider/components/basic-menu/basic-menu.vue +0 -122
  193. package/src/theme/sider/components/basic-menu/basic-sub-menu-item.vue +0 -46
  194. package/src/theme/sider/components/basic-menu/menu-item-content.vue +0 -13
  195. package/src/theme/sider/components/drag-bar.vue +0 -26
  196. package/src/theme/sider/components/layout-menu.vue +0 -132
  197. package/src/theme/sider/components/props.ts +0 -97
  198. package/src/theme/sider/components/sider-trigger.vue +0 -24
  199. package/src/theme/sider/helper/sider.ts +0 -52
  200. package/src/theme/sider/helper/split-menu.ts +0 -146
  201. package/src/theme/sider/hooks/useDragLine.ts +0 -86
  202. package/src/theme/sider/hooks/useOpenKeys.ts +0 -57
  203. package/src/theme/sider/index.less +0 -203
  204. package/src/theme/sider/index.vue +0 -88
  205. package/src/theme/tabs/components/TabContent.vue +0 -36
  206. package/src/theme/tabs/components/TabRedo.vue +0 -18
  207. package/src/theme/tabs/hooks/useMultifyTabs.ts +0 -96
  208. package/src/theme/tabs/hooks/useTabDropdown.ts +0 -89
  209. package/src/theme/tabs/index.less +0 -165
  210. package/src/theme/tabs/index.vue +0 -98
  211. package/src/theme/tabs/types/tabs.type.ts +0 -8
  212. package/src/theme/theme.less +0 -67
  213. package/src/theme/theme.vue +0 -90
  214. package/src/theme/transition.less +0 -99
@@ -1,26 +0,0 @@
1
-
2
- import { App } from 'vue'
3
- import { authMounted } from './permission'
4
- import { iconMounted } from './icon'
5
-
6
-
7
- const dtDirectives = [
8
- { name: 'auth', directive: authMounted },
9
- { name: 'icon', directive: iconMounted },
10
- ];
11
-
12
-
13
- // 初始化所有组件
14
- export function initDirectives() {
15
- return {
16
- install(app: App) {
17
- dtDirectives.forEach( comp => app.directive(comp.name, {
18
- mounted: comp.directive
19
- }));
20
- }
21
- }
22
- }
23
-
24
-
25
- export * from './permission'
26
- export * from './icon'
@@ -1,20 +0,0 @@
1
- /**
2
- * 权限控制,不使用传统的通过css隐藏dom元素
3
- * 使用方法: v-auth="'ADD'"
4
- */
5
- import { CacheKey, DtCache } from '@dt-frames/core';
6
- import type { DirectiveBinding } from 'vue';
7
-
8
-
9
- function hasAuth( el: Element, binding: any ) {
10
- const value = binding.value;
11
- if (!value) return;
12
-
13
- if(!DtCache.getLocal(CacheKey.AUTHS).includes( value )) {
14
- el.parentNode?.removeChild(el);
15
- }
16
- }
17
-
18
- export const authMounted = (el: Element, binding: DirectiveBinding<any>) => {
19
- hasAuth(el, binding);
20
- };
package/src/global.d.ts DELETED
@@ -1,8 +0,0 @@
1
- // 主要解决文件后缀引入后 代码报错的问题
2
- declare module '*.vue' {
3
- import { DefineComponent } from 'vue';
4
- const Component: DefineComponent<{}, {}, any>;
5
- export default Component;
6
- }
7
-
8
- declare module 'lodash-es';
package/src/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './components'
2
- export * from './theme'
3
- export * from './directives'
4
-
@@ -1,37 +0,0 @@
1
- <template>
2
- <div id="dt-layout-content" :class="['dt-layout-content', getLayoutContentMode]" :loading="getPageLoading && getOpenPageLoading">
3
- <LayoutContent>
4
- <router-view #default="{ Component, route}">
5
- <transition :name="getTransitionName(route)">
6
- <keep-alive v-if="!route.meta.hideTab && getCanCache" :include="getCaches">
7
- <component :is="Component" :key="route.path" />
8
- </keep-alive>
9
-
10
- <component v-else :is="Component" />
11
- </transition>
12
- </router-view>
13
- </LayoutContent>
14
- </div>
15
- </template>
16
-
17
- <script setup lang="ts">
18
- import { unref, computed } from 'vue';
19
- import { LayoutContent } from 'ant-design-vue';
20
- import { useTheme, useApp, RouteReuseStore, useMultipleTab } from '@dt-frames/core';
21
- import { RouteRecordRaw } from 'vue-router';
22
-
23
- const { getTransitionMode, getOpenPageLoading } = useApp()
24
- const { getLayoutContentMode, getPageLoading } = useTheme()
25
- const { getCanCache } = useMultipleTab()
26
-
27
- const tabStore = RouteReuseStore()
28
-
29
- // 返回动画name
30
- function getTransitionName( route: RouteRecordRaw ): string | undefined {
31
- return (route.meta.transitionName || unref(getTransitionMode)) as string;
32
- }
33
-
34
- const getCaches = computed((): string[] => {
35
- return tabStore.getCachedTabList
36
- })
37
- </script>
@@ -1,11 +0,0 @@
1
- <template>
2
- <BackTop v-if="getShowBackToTop" :target="getTarget" :visibilityHeight="300" />
3
- </template>
4
-
5
- <script lang="ts" setup>
6
- import { BackTop } from 'ant-design-vue'
7
- import { useTheme } from '@dt-frames/core'
8
-
9
- const getTarget = () => document.getElementById('dt-layout-content')
10
- const { getShowBackToTop } = useTheme()
11
- </script>
@@ -1,7 +0,0 @@
1
- <template>
2
- <DtBackTop />
3
- </template>
4
-
5
- <script lang="ts" setup>
6
- import DtBackTop from './back-top.vue'
7
- </script>
@@ -1,16 +0,0 @@
1
- .dt-theme-footer{
2
- text-align: center;
3
- padding: 0;
4
- width: 100%;
5
- display: block;
6
- position: absolute;
7
- right: 0;
8
- bottom: 0;
9
- z-index: 1;
10
- background: #ebeff5;
11
- color: #b5b5b5;
12
- border-top: 1px solid #e7e7e7;
13
- span:first-of-type{
14
- padding-right: 10px;
15
- }
16
- }
@@ -1,24 +0,0 @@
1
- <template>
2
- <LayoutFooter class="dt-theme-footer" :style="footerOptions">
3
- <span>{{ title }}</span>
4
- <span>{{ subTitle }}</span>
5
- </LayoutFooter>
6
- </template>
7
-
8
- <script setup lang="ts">
9
- import { useTheme } from '@dt-frames/core';
10
- import { LayoutFooter } from 'ant-design-vue';
11
- import { computed, unref } from 'vue';
12
-
13
- const { getFooter } = useTheme()
14
- const { title, subTitle, height } = unref(getFooter) as any;
15
-
16
- const footerOptions = computed( () => {
17
- return {
18
- lineHeight: `${ height }px`,
19
- height: `${ height }px`,
20
- padding: '0',
21
- width: `100%`
22
- }
23
- } );
24
- </script>
@@ -1,26 +0,0 @@
1
- <template>
2
- <div class="dt-breadcrumb">
3
- <Breadcrumb :routes="routes">
4
- <template #itemRender="{ route }">
5
- <span>{{ route.label || route.meta?.title }}</span>
6
- </template>
7
- </Breadcrumb>
8
- </div>
9
- </template>
10
-
11
- <script lang="ts" setup>
12
- import { ref, watchEffect } from 'vue'
13
- import { Breadcrumb } from 'ant-design-vue'
14
- import { getBreadCrumb } from '../helper/menu-tree'
15
- import { useRouter } from 'vue-router';
16
-
17
- let routes = ref([]);
18
- const { currentRoute } = useRouter();
19
-
20
- watchEffect( () => {
21
- if (currentRoute.value.path === '/') return
22
-
23
- routes.value = getBreadCrumb( currentRoute.value.path );
24
- });
25
-
26
- </script>
@@ -1,12 +0,0 @@
1
- <template>
2
- <span class="icon" @click="toggle">
3
- <span v-if="!isFullscreen" v-icon="'ic:baseline-fullscreen'"></span>
4
- <span v-else v-icon="'ic:baseline-fullscreen-exit'"></span>
5
- </span>
6
- </template>
7
-
8
- <script lang="ts" setup>
9
- import { useFullscreen } from '@vueuse/core';
10
- const { toggle, isFullscreen } = useFullscreen();
11
-
12
- </script>
@@ -1,81 +0,0 @@
1
- import { useThemeStore, ThemeOptions } from "@dt-frames/core";
2
- import { HandlerEnum } from "../const";
3
-
4
- export function baseHandler(event: HandlerEnum, value: any) {
5
- const themeStore = useThemeStore()
6
- const config = handler(event, value)
7
- themeStore.initThemeStore(config)
8
- }
9
-
10
- function handler(event: HandlerEnum, value: any): ThemeOptions {
11
- switch(event) {
12
- case HandlerEnum.CHANGE_LAYOUT:
13
- const { mode, type, split, headTheme, menuTheme } = value
14
- return {
15
- headOptions: {
16
- theme: headTheme
17
- },
18
- menuOptions: {
19
- mode,
20
- type,
21
- split,
22
- theme: menuTheme,
23
- show: true
24
- }
25
- }
26
-
27
- case HandlerEnum.SHOW_BREADCRUMB:
28
- return {
29
- headOptions: {
30
- showBreadCrumb: value
31
- }
32
- }
33
-
34
- case HandlerEnum.SHOW_SEARCH:
35
- return {
36
- headOptions: {
37
- showSearch: value
38
- }
39
- }
40
-
41
- case HandlerEnum.SHOW_NOTICY:
42
- return {
43
- headOptions: {
44
- notice: value
45
- }
46
- }
47
-
48
- case HandlerEnum.SHOW_FULL_SCREEN:
49
- return {
50
- headOptions: {
51
- showFullScreen: value
52
- }
53
- }
54
-
55
- case HandlerEnum.SHOW_LOCAL:
56
- return {
57
- headOptions: {
58
- showLocaleSwitch :value
59
- }
60
- }
61
-
62
- case HandlerEnum.SHOW_ROUTE_REUSE:
63
- return {
64
- routeReuse: {
65
- show: value
66
- }
67
- }
68
-
69
- case HandlerEnum.SHOW_FOOTER:
70
- return {
71
- footerOptions: {
72
- show: value
73
- }
74
- }
75
-
76
- case HandlerEnum.CONTENT_MODE:
77
- return {
78
- contentMode: value
79
- }
80
- }
81
- }
@@ -1,21 +0,0 @@
1
- import DtLogo from './logo.vue'
2
- import DtTrigger from './trigger.vue'
3
- import DtBreadCrumb from './bread-crumb.vue'
4
- import Notify from './notify.vue'
5
- import FullScreen from './fullscreen.vue'
6
- import UserInfo from './user-info.vue'
7
- import LangPicker from './lang-picker.vue'
8
- import SettingTheme from './setting-theme.vue'
9
- import MenuSearch from './menu-search.vue'
10
-
11
- export {
12
- DtLogo,
13
- DtTrigger,
14
- DtBreadCrumb,
15
- Notify,
16
- FullScreen,
17
- UserInfo,
18
- LangPicker,
19
- SettingTheme,
20
- MenuSearch
21
- }
@@ -1,36 +0,0 @@
1
- <template>
2
- <Popover placement="bottom" v-model:visible="visible" overlayClassName="lacale__popover" trigger="click">
3
- <template #content>
4
- <ul class="lang">
5
- <li v-for="it in localeList" @click="toggleLang(it.event)">
6
- <span v-icon="it.icon"></span>
7
- <span>{{ it.text }}</span>
8
- </li>
9
- </ul>
10
- </template>
11
-
12
- <span v-icon="'ic:baseline-language'" :fontSize="16"></span>
13
- </Popover>
14
- </template>
15
-
16
-
17
- <script setup lang="ts">
18
- import { ref } from 'vue'
19
- import { Popover } from 'ant-design-vue'
20
- import { DtCache, Language, changeLocale, localeList, CacheKey } from '@dt-frames/core'
21
-
22
- const visible = ref<boolean>(false);
23
-
24
- const props = defineProps({
25
- reload: { type: Boolean }
26
- })
27
-
28
- function toggleLang( lang: Language ) {
29
- visible.value = false;
30
-
31
- if( DtCache.getLocal(CacheKey.LOCALE) !== lang ) {
32
- changeLocale(lang);
33
- props.reload && location.reload();
34
- }
35
- }
36
- </script>
@@ -1,35 +0,0 @@
1
- <template>
2
- <div class="dt-logo" :class="getLogoClass">
3
- <!-- <img src="../../../assets/imgs/logo/logo.jpeg" /> -->
4
- <DtIcon icon-class="logo" :size="42" class-name="brand-logo"></DtIcon>
5
- <div class="dt-logo__title" v-show="showTitle">
6
- {{ title }}
7
- </div>
8
- </div>
9
- </template>
10
-
11
- <script lang="ts" setup>
12
- import { computed, unref } from "vue";
13
- import { useMenu, useTheme } from "@dt-frames/core"
14
- import { DtIcon } from "../../../components"
15
-
16
- const title = '隆基税务后台管理系统';
17
- const { getCollapsedShowTitle } = useMenu()
18
-
19
- const props = defineProps({
20
- // logo主题
21
- theme: { type: String, validator: ( v: string ) => ['light', 'dark'].includes(v) },
22
-
23
- // 是否显示标题
24
- showTitle: { type: Boolean, default: true },
25
- });
26
-
27
- // logo 背景颜色修改 logo是否显示标题
28
- const getLogoClass = computed(() => {
29
- return [
30
- 'dt-logo',
31
- props.theme,
32
- { 'collapsed-show-title': unref(getCollapsedShowTitle) }
33
- ]
34
- })
35
- </script>
@@ -1,62 +0,0 @@
1
- <template>
2
- <div class="dt-menu-search" v-if="isUseDef">
3
- <Popover placement="bottom" overlayClassName="menu_search__popover" trigger="focus" @visibleChange="visibleChange">
4
- <template #content>
5
- <p v-for="menu in menuList" @click="navigation(menu.url)">{{ menu.label }}</p>
6
-
7
- <div v-if="!menuList.length">
8
- <Empty description="" :imageStyle="{width: '100%'}"/>
9
- </div>
10
- </template>
11
-
12
- <InputSearch v-model:value="filter" placeholder="搜索..." @input="filterMenu"></InputSearch>
13
- </Popover>
14
- </div>
15
-
16
- <template v-else>
17
- <getShowSearch></getShowSearch>
18
- </template>
19
-
20
- </template>
21
-
22
- <script setup lang="ts">
23
- import { ref, computed } from 'vue';
24
- import { Popover,InputSearch, Empty } from 'ant-design-vue'
25
- import { useRouter } from 'vue-router'
26
- import { getFilterMenu } from '../helper/menu-tree'
27
- import { useHeader, isBoolean } from '@dt-frames/core'
28
-
29
-
30
- const menuList = ref([]);
31
- const router = useRouter()
32
- const filter = ref('');
33
-
34
-
35
- const { getShowSearch } = useHeader()
36
-
37
- const isUseDef = computed(() => {
38
- return isBoolean(getShowSearch.value)
39
- })
40
-
41
- function visibleChange(e) {
42
- if( e ) {
43
- filterMenu()
44
- } else {
45
- filter.value = null
46
- }
47
- }
48
-
49
- function filterMenu() {
50
- menuList.value = getFilterMenu( filter.value, true );
51
- }
52
-
53
- function navigation(url: string) {
54
- router.push(url);
55
-
56
- setTimeout(() => {
57
- filter.value = '';
58
- menuList.value = [];
59
- });
60
- }
61
-
62
- </script>
@@ -1,22 +0,0 @@
1
- <template>
2
- <Popover trigger="click" overlayClassName="nofify__popover">
3
- <template #content>
4
- <getShowNotice></getShowNotice>
5
- </template>
6
-
7
- <span>
8
- <span v-icon="'ant-design:bell-outlined'"></span>
9
- <span class="red-dot"></span>
10
- </span>
11
-
12
- </Popover>
13
- </template>
14
-
15
- <script lang="ts" setup>
16
- import { ref } from 'vue';
17
- import { Popover } from 'ant-design-vue';
18
- import { useHeader } from '@dt-frames/core';
19
-
20
- const { getShowNotice } = useHeader()
21
-
22
- </script>
@@ -1,123 +0,0 @@
1
- <template>
2
- <Tooltip placement="bottom" title="风格设置">
3
- <span v-icon="'ant-design:setting-outlined'" @click="visible = true"></span>
4
- </Tooltip>
5
-
6
- <Drawer
7
- v-model:visible="visible"
8
- title="项目配置"
9
- placement="right"
10
- width="320"
11
- >
12
- <Divider>导航栏模式</Divider>
13
- <MenuType></MenuType>
14
- <Divider>界面显示</Divider>
15
- <Feature></Feature>
16
- <Divider></Divider>
17
- <div class="dt-setting-theme-footer">
18
- <Button @click="copy" type="primary" block>拷贝</Button>
19
- <Button @click="reset" block>重置</Button>
20
- </div>
21
-
22
- <div class="setting-theme-tips">
23
- 该功能主要实时预览各种布局效果,更多完整配置在 src/core/settings/theme.ts 中设置,在生产环境该布局预览功能将被关闭。
24
- </div>
25
- </Drawer>
26
- </template>
27
-
28
- <script setup lang="tsx">
29
- import { ref, unref, computed } from 'vue'
30
- import { useMenu, useHeader, useMultipleTab, useTheme, useThemeStore, copyText } from '@dt-frames/core'
31
- import { Tooltip, Drawer, Divider, Button, Modal } from 'ant-design-vue'
32
- import { MenuType, Feature } from './theme-drawer'
33
- import { Recordable } from '../../../../../core/es'
34
-
35
- const themeStore = useThemeStore()
36
- const { getMenuType, getMenuMode } = useMenu()
37
- const {
38
- getShowBread,
39
- getShowSearch,
40
- getShowNotice,
41
- getShowFullScreen,
42
- getShowLocale
43
- } = useHeader()
44
- const { getShowMultipleTab } = useMultipleTab()
45
- const { getFooter, getContentMode } = useTheme()
46
-
47
- const showFooter = computed(() => unref(getFooter)?.show)
48
-
49
- const visible = ref(false)
50
- function getConfig() {
51
- return {
52
- contentMode: unref(getContentMode),
53
- menuOptions: {
54
- mode: unref(getMenuMode),
55
- type: unref(getMenuType),
56
- split: unref(getMenuType) === MenuType.MIX ? true : false,
57
- },
58
- headOptions: {
59
- showBreadCrumb: unref(getShowBread),
60
- showSearch: unref(getShowSearch),
61
- notice: unref(getShowNotice),
62
- showFullScreen: unref(getShowFullScreen),
63
- showLocaleSwitch: unref(getShowLocale)
64
- },
65
- mulTabsOptions: {
66
- show: unref(getShowMultipleTab)
67
- },
68
- footerOptions: {
69
- show: unref(showFooter)
70
- }
71
- }
72
- }
73
-
74
- const defaultConfig = getConfig()
75
-
76
- // 拷贝配置项
77
- function copy() {
78
- const afterUpdateConfig = getConfig()
79
- let copyObj: Recordable = {}
80
-
81
- const isDiff = (newVal, oldVal) => newVal !== oldVal ? newVal : null
82
- const isSameObj = ( val1, val2 ) => JSON.stringify(val1) === JSON.stringify(val2)
83
-
84
- const getDiff = (target, orgTarget) => {
85
- let obj = {}
86
- for( let it in target ) {
87
- if(isDiff(target[it], orgTarget[it]) !== null) {
88
- obj[it] = target[it]
89
- }
90
- }
91
-
92
- return obj
93
- }
94
-
95
- for( let it in afterUpdateConfig ) {
96
- if( !isSameObj(afterUpdateConfig[it], defaultConfig[it]) ) {
97
- copyObj[it] = getDiff( afterUpdateConfig[it], defaultConfig[it] )
98
- }
99
- }
100
-
101
- if( Object.keys(copyObj).length ) {
102
- if( copyText(JSON.stringify(copyObj)) ) {
103
- Modal.success({
104
- centered: true,
105
- okText: '确定',
106
- title: '操作成功',
107
- content: '复制成功,请到 src/core/settings/theme.ts 中修改配置!'
108
- })
109
- }
110
- } else {
111
- Modal.info({
112
- centered: true,
113
- okText: '确定',
114
- title: '拷贝提示',
115
- content: '未检测到修改任何配置信息!'
116
- })
117
- }
118
- }
119
-
120
- function reset() {
121
- themeStore.initThemeStore( defaultConfig )
122
- }
123
- </script>
@@ -1,12 +0,0 @@
1
- import { ContentMode } from "@dt-frames/core";
2
-
3
- export const contentModeOptions = [
4
- {
5
- value: ContentMode.FULL,
6
- label: '流式',
7
- },
8
- {
9
- value: ContentMode.FIXED,
10
- label: '定宽',
11
- },
12
- ];
@@ -1,75 +0,0 @@
1
- <template>
2
- <SwitchItem
3
- title="面包屑"
4
- :event="HandlerEnum.SHOW_BREADCRUMB"
5
- :def="unref(getShowBread)"
6
- ></SwitchItem>
7
-
8
- <SwitchItem
9
- title="菜单检索"
10
- :event="HandlerEnum.SHOW_SEARCH"
11
- :def="unref(getShowSearch) ? true : false"
12
- ></SwitchItem>
13
-
14
- <SwitchItem
15
- title="通知公告"
16
- :event="HandlerEnum.SHOW_NOTICY"
17
- :def="unref(getShowNotice) ? true : false"
18
- ></SwitchItem>
19
-
20
- <SwitchItem
21
- title="页面全屏"
22
- :event="HandlerEnum.SHOW_FULL_SCREEN"
23
- :def="unref(getShowFullScreen)"
24
- ></SwitchItem>
25
-
26
- <SwitchItem
27
- title="国际化"
28
- :event="HandlerEnum.SHOW_LOCAL"
29
- :def="unref(getShowLocale)"
30
- ></SwitchItem>
31
-
32
- <SwitchItem
33
- title="路由复用"
34
- :event="HandlerEnum.SHOW_ROUTE_REUSE"
35
- :def="unref(getShowMultipleTab)"
36
- ></SwitchItem>
37
-
38
- <SwitchItem
39
- title="显示底部"
40
- :event="HandlerEnum.SHOW_FOOTER"
41
- :def="unref(showFooter)"
42
- ></SwitchItem>
43
-
44
- <!-- 内容区域宽度 -->
45
- <SelectItem
46
- title="内容区域宽度"
47
- :event="HandlerEnum.CONTENT_MODE"
48
- :def="getContentMode"
49
- :options="contentModeOptions"
50
- ></SelectItem>
51
-
52
- </template>
53
-
54
- <script lang="ts" setup>
55
- import { unref, computed } from 'vue'
56
- import { useMultipleTab, useHeader, useTheme } from '@dt-frames/core'
57
- import { HandlerEnum } from '../../const'
58
- import { contentModeOptions } from './enum'
59
- import SwitchItem from './switch-item.vue'
60
- import SelectItem from './select-item.vue'
61
-
62
- const {
63
- getShowBread,
64
- getShowSearch,
65
- getShowNotice,
66
- getShowFullScreen,
67
- getShowLocale
68
- } = useHeader()
69
-
70
- const { getShowMultipleTab } = useMultipleTab()
71
- const { getFooter, getContentMode } = useTheme()
72
-
73
- const showFooter = computed(() => unref(getFooter)?.show)
74
-
75
- </script>