@dt-frames/ui 1.0.13 → 1.0.15

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 (208) hide show
  1. package/es/components/curd/src/components/dialog.d.ts +20 -20
  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/useFormActions.d.ts +2 -2
  8. package/es/components/forms/src/index.d.ts +2 -2
  9. package/es/components/forms/src/types/form.type.d.ts +3 -17
  10. package/es/components/index.d.ts +1 -1
  11. package/es/components/modal/src/components/modal.d.ts +2 -2
  12. package/es/components/modal/src/components/modalFooter.d.ts +1 -1
  13. package/es/components/modal/src/index.d.ts +15 -15
  14. package/es/components/modal/src/props.d.ts +1 -1
  15. package/es/components/source/src/hooks/useFetch.d.ts +1 -1
  16. package/es/components/table/src/index.d.ts +3 -3
  17. package/es/components/table/src/props.d.ts +1 -2
  18. package/es/components/tree/src/props.d.ts +8 -1
  19. package/es/components/upload/src/upload.d.ts +3 -3
  20. package/es/index.js +43 -19
  21. package/es/style/components/icons/index.less +1 -1
  22. package/package.json +1 -10
  23. package/vite.config.js +10 -0
  24. package/src/assets/data/icons/actions.ts +0 -427
  25. package/src/assets/data/icons/code.ts +0 -10
  26. package/src/assets/data/icons/commuticate.ts +0 -190
  27. package/src/assets/data/icons/currency.ts +0 -46
  28. package/src/assets/data/icons/devices.ts +0 -128
  29. package/src/assets/data/icons/edit.ts +0 -165
  30. package/src/assets/data/icons/file.ts +0 -104
  31. package/src/assets/data/icons/math.ts +0 -53
  32. package/src/assets/data/icons/message.ts +0 -75
  33. package/src/assets/data/icons/navigate.ts +0 -181
  34. package/src/assets/data/icons/other.ts +0 -333
  35. package/src/assets/data/icons.ts +0 -58
  36. package/src/assets/imgs/header/avatar.png +0 -0
  37. package/src/assets/imgs/logo/logo.png +0 -0
  38. package/src/assets/locales/en_US.json +0 -3
  39. package/src/assets/locales/zh_CN.json +0 -3
  40. package/src/assets/style/index.less +0 -10
  41. package/src/assets/style/reset.less +0 -17
  42. package/src/components/container/index.less +0 -85
  43. package/src/components/container/index.ts +0 -8
  44. package/src/components/container/src/bar.ts +0 -107
  45. package/src/components/container/src/lazy-container.vue +0 -9
  46. package/src/components/container/src/scroll-bar.vue +0 -117
  47. package/src/components/container/src/scroll-container.vue +0 -61
  48. package/src/components/curd/index.ts +0 -5
  49. package/src/components/curd/src/components/dialog.vue +0 -73
  50. package/src/components/curd/src/components/props.ts +0 -32
  51. package/src/components/curd/src/hooks/useCurd.tsx +0 -87
  52. package/src/components/curd/src/types/curd.type.ts +0 -32
  53. package/src/components/excel/index.ts +0 -6
  54. package/src/components/excel/src/export2Excel.ts +0 -44
  55. package/src/components/forms/index.less +0 -107
  56. package/src/components/forms/index.ts +0 -11
  57. package/src/components/forms/src/componentMap.ts +0 -46
  58. package/src/components/forms/src/components/formButton.vue +0 -150
  59. package/src/components/forms/src/components/formIcon.vue +0 -51
  60. package/src/components/forms/src/components/formInputUseDialog.vue +0 -43
  61. package/src/components/forms/src/components/formItem.vue +0 -420
  62. package/src/components/forms/src/components/radioButton.vue +0 -58
  63. package/src/components/forms/src/const/form.const.ts +0 -7
  64. package/src/components/forms/src/hooks/helper.ts +0 -70
  65. package/src/components/forms/src/hooks/useForm.ts +0 -130
  66. package/src/components/forms/src/hooks/useFormActions.ts +0 -63
  67. package/src/components/forms/src/hooks/useFormEvents.ts +0 -248
  68. package/src/components/forms/src/hooks/useFormValue.ts +0 -49
  69. package/src/components/forms/src/hooks/useFormValues.ts +0 -131
  70. package/src/components/forms/src/hooks/useLabelWidth.ts +0 -57
  71. package/src/components/forms/src/index.vue +0 -310
  72. package/src/components/forms/src/prop.ts +0 -80
  73. package/src/components/forms/src/types/form.type.ts +0 -275
  74. package/src/components/icons/index.less +0 -101
  75. package/src/components/icons/index.ts +0 -7
  76. package/src/components/icons/src/pick-icon.vue +0 -119
  77. package/src/components/icons/src/svg-icon.vue +0 -117
  78. package/src/components/iframe/index.less +0 -3
  79. package/src/components/iframe/index.ts +0 -5
  80. package/src/components/iframe/src/index.less +0 -3
  81. package/src/components/iframe/src/index.vue +0 -38
  82. package/src/components/index.ts +0 -53
  83. package/src/components/modal/index.less +0 -60
  84. package/src/components/modal/index.ts +0 -8
  85. package/src/components/modal/src/components/close-icon.vue +0 -46
  86. package/src/components/modal/src/components/modal-wrap.vue +0 -128
  87. package/src/components/modal/src/components/modal.tsx +0 -30
  88. package/src/components/modal/src/components/modalFooter.vue +0 -46
  89. package/src/components/modal/src/hooks/useDrag.ts +0 -107
  90. package/src/components/modal/src/hooks/useFullScreen.ts +0 -29
  91. package/src/components/modal/src/hooks/useModal.ts +0 -200
  92. package/src/components/modal/src/index.vue +0 -184
  93. package/src/components/modal/src/props.ts +0 -44
  94. package/src/components/modal/src/types/modal.type.ts +0 -30
  95. package/src/components/router/base-router.vue +0 -11
  96. package/src/components/router/index.ts +0 -3
  97. package/src/components/source/index.ts +0 -1
  98. package/src/components/source/src/hooks/useFetch.ts +0 -42
  99. package/src/components/source/src/hooks/usePage.ts +0 -3
  100. package/src/components/source/src/hooks/useSource.ts +0 -214
  101. package/src/components/source/src/index.ts +0 -5
  102. package/src/components/source/src/types/source.type.ts +0 -58
  103. package/src/components/source/src/types/table.type.ts +0 -8
  104. package/src/components/table/index.less +0 -179
  105. package/src/components/table/index.ts +0 -7
  106. package/src/components/table/src/components/TableActions.vue +0 -108
  107. package/src/components/table/src/components/TableHeader.vue +0 -78
  108. package/src/components/table/src/components/TableRender.vue +0 -76
  109. package/src/components/table/src/components/editable/CellComponent.ts +0 -57
  110. package/src/components/table/src/components/editable/EditTableCell.vue +0 -181
  111. package/src/components/table/src/components/editable/componentMap.ts +0 -18
  112. package/src/components/table/src/components/editable/index.ts +0 -58
  113. package/src/components/table/src/components/setting/Column.vue +0 -354
  114. package/src/components/table/src/components/setting/Download.vue +0 -55
  115. package/src/components/table/src/components/setting/Fullscreen.vue +0 -43
  116. package/src/components/table/src/components/setting/Size.vue +0 -42
  117. package/src/components/table/src/components/setting/index.vue +0 -64
  118. package/src/components/table/src/const.ts +0 -13
  119. package/src/components/table/src/hooks/useColumns.ts +0 -326
  120. package/src/components/table/src/hooks/useCustomRow.ts +0 -86
  121. package/src/components/table/src/hooks/useDataSource.ts +0 -97
  122. package/src/components/table/src/hooks/useHeaderCode.ts +0 -89
  123. package/src/components/table/src/hooks/useLoading.ts +0 -29
  124. package/src/components/table/src/hooks/usePagination.ts +0 -76
  125. package/src/components/table/src/hooks/useRowSelection.ts +0 -145
  126. package/src/components/table/src/hooks/useRows.ts +0 -30
  127. package/src/components/table/src/hooks/useTable.ts +0 -90
  128. package/src/components/table/src/hooks/useTableHeader.ts +0 -48
  129. package/src/components/table/src/hooks/useTableInstance.ts +0 -29
  130. package/src/components/table/src/hooks/useTableScroll.ts +0 -229
  131. package/src/components/table/src/index.vue +0 -212
  132. package/src/components/table/src/props.ts +0 -160
  133. package/src/components/table/src/types/table.type.ts +0 -160
  134. package/src/components/table/src/types/tableHeader.type.ts +0 -27
  135. package/src/components/tree/index.less +0 -41
  136. package/src/components/tree/index.ts +0 -5
  137. package/src/components/tree/src/components/TreeHeader.vue +0 -97
  138. package/src/components/tree/src/hooks/useTree.ts +0 -239
  139. package/src/components/tree/src/index.vue +0 -392
  140. package/src/components/tree/src/props.ts +0 -133
  141. package/src/components/tree/src/type/tree.ts +0 -105
  142. package/src/components/tree/src/utils/tree.ts +0 -73
  143. package/src/components/type.ts +0 -0
  144. package/src/components/upload/index.less +0 -35
  145. package/src/components/upload/index.ts +0 -5
  146. package/src/components/upload/src/helper.ts +0 -60
  147. package/src/components/upload/src/props.ts +0 -51
  148. package/src/components/upload/src/upload.vue +0 -191
  149. package/src/directives/icon.ts +0 -36
  150. package/src/directives/index.ts +0 -26
  151. package/src/directives/permission.ts +0 -20
  152. package/src/global.d.ts +0 -8
  153. package/src/index.ts +0 -4
  154. package/src/theme/content/index.vue +0 -37
  155. package/src/theme/feature/back-top.vue +0 -11
  156. package/src/theme/feature/index.vue +0 -7
  157. package/src/theme/footer/index.less +0 -16
  158. package/src/theme/footer/index.vue +0 -24
  159. package/src/theme/header/components/bread-crumb.vue +0 -26
  160. package/src/theme/header/components/fullscreen.vue +0 -12
  161. package/src/theme/header/components/handler.ts +0 -81
  162. package/src/theme/header/components/index.ts +0 -21
  163. package/src/theme/header/components/lang-picker.vue +0 -36
  164. package/src/theme/header/components/logo.vue +0 -35
  165. package/src/theme/header/components/menu-search.vue +0 -62
  166. package/src/theme/header/components/notify.vue +0 -22
  167. package/src/theme/header/components/setting-theme.vue +0 -123
  168. package/src/theme/header/components/theme-drawer/enum.ts +0 -12
  169. package/src/theme/header/components/theme-drawer/feature.vue +0 -75
  170. package/src/theme/header/components/theme-drawer/index.ts +0 -7
  171. package/src/theme/header/components/theme-drawer/menu-type.vue +0 -40
  172. package/src/theme/header/components/theme-drawer/select-item.vue +0 -46
  173. package/src/theme/header/components/theme-drawer/switch-item.vue +0 -39
  174. package/src/theme/header/components/theme-drawer/theme-color.vue +0 -26
  175. package/src/theme/header/components/trigger.vue +0 -14
  176. package/src/theme/header/components/user-info.vue +0 -60
  177. package/src/theme/header/const/index.ts +0 -40
  178. package/src/theme/header/helper/menu-tree.ts +0 -64
  179. package/src/theme/header/index.less +0 -442
  180. package/src/theme/header/index.ts +0 -0
  181. package/src/theme/header/index.vue +0 -96
  182. package/src/theme/header/multiple-header.vue +0 -67
  183. package/src/theme/header/set-theme.less +0 -68
  184. package/src/theme/index.ts +0 -3
  185. package/src/theme/sider/components/basic-menu/basic-menu-item.vue +0 -14
  186. package/src/theme/sider/components/basic-menu/basic-menu.vue +0 -122
  187. package/src/theme/sider/components/basic-menu/basic-sub-menu-item.vue +0 -46
  188. package/src/theme/sider/components/basic-menu/menu-item-content.vue +0 -13
  189. package/src/theme/sider/components/drag-bar.vue +0 -26
  190. package/src/theme/sider/components/layout-menu.vue +0 -132
  191. package/src/theme/sider/components/props.ts +0 -97
  192. package/src/theme/sider/components/sider-trigger.vue +0 -24
  193. package/src/theme/sider/helper/sider.ts +0 -52
  194. package/src/theme/sider/helper/split-menu.ts +0 -146
  195. package/src/theme/sider/hooks/useDragLine.ts +0 -86
  196. package/src/theme/sider/hooks/useOpenKeys.ts +0 -57
  197. package/src/theme/sider/index.less +0 -203
  198. package/src/theme/sider/index.vue +0 -88
  199. package/src/theme/tabs/components/TabContent.vue +0 -36
  200. package/src/theme/tabs/components/TabRedo.vue +0 -18
  201. package/src/theme/tabs/hooks/useMultifyTabs.ts +0 -96
  202. package/src/theme/tabs/hooks/useTabDropdown.ts +0 -89
  203. package/src/theme/tabs/index.less +0 -165
  204. package/src/theme/tabs/index.vue +0 -98
  205. package/src/theme/tabs/types/tabs.type.ts +0 -8
  206. package/src/theme/theme.less +0 -67
  207. package/src/theme/theme.vue +0 -90
  208. 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>