wui-components-v2 1.1.70 → 1.1.72

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 (82) hide show
  1. package/api/feishu.ts +20 -20
  2. package/api/index.ts +4 -4
  3. package/api/login.ts +51 -51
  4. package/api/tree.ts +28 -28
  5. package/components/action-popup/action-popup.vue +116 -116
  6. package/components/add-address-list/add-address-list.vue +187 -187
  7. package/components/add-address-page/config.ts +297 -297
  8. package/components/audio-play/audio-play.vue +220 -220
  9. package/components/batch-upload-file/batch-upload-file.vue +75 -75
  10. package/components/card-botom-buttons/card-botom-buttons.vue +279 -279
  11. package/components/demo-card/demo-card.vue +44 -44
  12. package/components/fold-card/fold-card.vue +2 -2
  13. package/components/form-control/form-control.vue +9 -1
  14. package/components/global-loading/GlobalLoading.md +366 -366
  15. package/components/global-loading/global-loading.vue +55 -55
  16. package/components/global-message/GlobalMessage.md +570 -570
  17. package/components/global-toast/GlobalToast.md +261 -261
  18. package/components/global-toast/global-toast.vue +56 -56
  19. package/components/label-value/open-value-more.vue +56 -56
  20. package/components/loading/loading.vue +5 -5
  21. package/components/login-form-box/login-form-box.vue +65 -65
  22. package/components/phone-login-form/phone-login-form.vue +204 -204
  23. package/components/privacy-popup/privacy-popup.vue +191 -191
  24. package/components/scan-input/scan-input.vue +406 -406
  25. package/components/select-col-picker/select-col-picker.vue +168 -168
  26. package/components/tab-search/tab-search.vue +73 -73
  27. package/components/tree-select/components/TreeNode.vue +200 -200
  28. package/components/tree-select/components/index.vue +471 -471
  29. package/components/tree-select/components/tree-select.vue +56 -56
  30. package/components/tree-select/index.vue +93 -93
  31. package/components/user-choose/user-choose.vue +169 -151
  32. package/components/video-play/video-play.vue +56 -56
  33. package/components/wui-auto-update-component/wui-auto-update-component.vue +132 -132
  34. package/components/wui-default/wui-default.vue +49 -49
  35. package/components/wui-details-page/wui-details-page.vue +147 -147
  36. package/components/wui-edit-page/wui-edit-page-copy.vue +757 -757
  37. package/components/wui-edit-page/wui-edit-page.vue +793 -793
  38. package/components/wui-login/wui-login.vue +43 -43
  39. package/components/wui-login1/wui-login.vue +41 -41
  40. package/components/wui-menus/wui-menus-top.vue +137 -137
  41. package/components/wui-menus/wui-menus-top1.vue +8 -8
  42. package/components/wui-menus1/components/banner-carousel.vue +320 -320
  43. package/components/wui-menus1/components/quick-panel.vue +55 -55
  44. package/components/wui-menus1/components/search-bar.vue +49 -49
  45. package/components/wui-menus1/components/section-menus.vue +208 -208
  46. package/components/wui-menus1/wui-menus-top.vue +718 -718
  47. package/components/wui-menus1/wui-menus-top1.vue +398 -398
  48. package/components/wui-notify-info/notify-handle.vue +53 -53
  49. package/components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue +75 -75
  50. package/components/wui-search-history-babbar/components/SearchBar.vue +70 -70
  51. package/components/wui-select-list/wui-select-list.vue +1 -9
  52. package/components/wui-select-popup/wui-select-popup.vue +1 -0
  53. package/components/wui-tree-page/wui-tree-page.vue +297 -297
  54. package/components/wui-update-component/wui-update-component.vue +221 -221
  55. package/composables/types/theme.ts +65 -65
  56. package/composables/types/user.ts +5 -5
  57. package/composables/useColorGenerator.ts +221 -221
  58. package/composables/useCompanyFieldFilter.ts +26 -24
  59. package/composables/useEnumes.ts +43 -43
  60. package/composables/useEventBus.ts +37 -37
  61. package/composables/useGlobalLoading.ts +47 -47
  62. package/composables/useGlobalMessage.ts +53 -53
  63. package/composables/useGlobalToast.ts +63 -63
  64. package/composables/useLocale.ts +54 -54
  65. package/composables/useManualTheme.ts +179 -179
  66. package/composables/useSectionMenus.ts +120 -120
  67. package/composables/useTabbar.ts +50 -50
  68. package/composables/useTheme.ts +74 -74
  69. package/composables/useUser.ts +24 -24
  70. package/index.d.ts +90 -90
  71. package/package.json +24 -24
  72. package/store/manualThemeStore.ts +143 -143
  73. package/store/persist.ts +41 -41
  74. package/store/themeStore.ts +74 -74
  75. package/store/userStore.ts +22 -22
  76. package/styles/dark-mode.scss +498 -498
  77. package/type.ts +154 -154
  78. package/utils/control-tree.ts +353 -353
  79. package/utils/eventBus.ts +36 -36
  80. package/utils/idata-scan.ts +99 -99
  81. package/utils/index.ts +979 -979
  82. package/utils/rsaEncrypt.ts +10 -10
@@ -1,43 +1,43 @@
1
- <!-- 纯色风格登录页面 -->
2
- <script setup lang="ts">
3
- import { defineOptions, defineProps } from 'vue'
4
- import loginFormBox from '../login-form-box/login-form-box.vue'
5
- import { useManualTheme } from '../../composables/useManualTheme'
6
- import type { TabbarItem } from '../../composables/useTabbar'
7
-
8
- defineOptions({
9
- name: 'WuiLogin',
10
- })
11
-
12
- const props = defineProps<Props>()
13
- // 定义 Props 类型
14
- interface Props {
15
- tabbarItems: TabbarItem[]
16
- loginlog: any
17
- showRagister?: boolean
18
- gurl?: string// 获取验证码接口
19
- url?: string// 手机号登录接口
20
- }
21
- const {
22
- currentThemeColor,
23
- } = useManualTheme()
24
- </script>
25
-
26
- <template>
27
- <view class="h-[calc(100vh-44px)] flex flex-col" :style="{ backgroundColor: currentThemeColor.primary }">
28
- <!-- <view class="flex flex-col items-center justify-center pa-3 pb-5">
29
- <wd-img :width="100" :height="100" round :src="loginlog" />
30
- <view class="text-center">
31
- <text class="text-2xl dark:text-white">
32
- 欢迎登录
33
- </text>
34
- </view>
35
- </view> -->
36
- <view class="flex items-center justify-center">
37
- <image class="h-250px w-250px" src="./footerImg.png" />
38
- </view>
39
- <view class="flex-1 border-rd-t-2 p-y-2 bg-white dark:bg-[var(--wot-dark-background2)]">
40
- <loginFormBox :tabbar-items="props.tabbarItems" :show-ragister="showRagister" :gurl="props.gurl" :url="props.url" />
41
- </view>
42
- </view>
43
- </template>
1
+ <!-- 纯色风格登录页面 -->
2
+ <script setup lang="ts">
3
+ import { defineOptions, defineProps } from 'vue'
4
+ import loginFormBox from '../login-form-box/login-form-box.vue'
5
+ import { useManualTheme } from '../../composables/useManualTheme'
6
+ import type { TabbarItem } from '../../composables/useTabbar'
7
+
8
+ defineOptions({
9
+ name: 'WuiLogin',
10
+ })
11
+
12
+ const props = defineProps<Props>()
13
+ // 定义 Props 类型
14
+ interface Props {
15
+ tabbarItems: TabbarItem[]
16
+ loginlog: any
17
+ showRagister?: boolean
18
+ gurl?: string// 获取验证码接口
19
+ url?: string// 手机号登录接口
20
+ }
21
+ const {
22
+ currentThemeColor,
23
+ } = useManualTheme()
24
+ </script>
25
+
26
+ <template>
27
+ <view class="h-[calc(100vh-44px)] flex flex-col" :style="{ backgroundColor: currentThemeColor.primary }">
28
+ <!-- <view class="flex flex-col items-center justify-center pa-3 pb-5">
29
+ <wd-img :width="100" :height="100" round :src="loginlog" />
30
+ <view class="text-center">
31
+ <text class="text-2xl dark:text-white">
32
+ 欢迎登录
33
+ </text>
34
+ </view>
35
+ </view> -->
36
+ <view class="flex items-center justify-center">
37
+ <image class="h-250px w-250px" src="./footerImg.png" />
38
+ </view>
39
+ <view class="flex-1 border-rd-t-2 p-y-2 bg-white dark:bg-[var(--wot-dark-background2)]">
40
+ <loginFormBox :tabbar-items="props.tabbarItems" :show-ragister="showRagister" :gurl="props.gurl" :url="props.url" />
41
+ </view>
42
+ </view>
43
+ </template>
@@ -1,41 +1,41 @@
1
- <!-- 自定义背景风格登录页面 -->
2
- <script setup lang="ts">
3
- import { defineOptions, defineProps } from 'vue'
4
- import loginFormBox from '../login-form-box/login-form-box.vue'
5
- import { useManualTheme } from '../../composables/useManualTheme'
6
- import type { TabbarItem } from '../../composables/useTabbar'
7
-
8
- defineOptions({
9
- name: 'Wuilogin1',
10
- })
11
- const props = defineProps<{
12
- loginlog: string
13
- loginBackgroundimg: string
14
- tabbarItems: TabbarItem[]
15
- showRagister?: boolean
16
- gurl?: string// 获取验证码接口
17
- url?: string// 手机号登录接口
18
- }>()
19
- const {
20
- currentThemeColor,
21
- } = useManualTheme()
22
- console.log(currentThemeColor)
23
- </script>
24
-
25
- <template>
26
- <view class="h-[calc(100vh-44px)] flex flex-col">
27
- <view class="position-relative h-390px w-full">
28
- <image class="h-full w-full" :src="props.loginBackgroundimg" />
29
- <view class="position-absolute bottom-40rpx box-border w-full flex justify-center border-rd-t-2 bg-white bg-opacity-20 p-3 backdrop-blur-md dark:bg-[var(--wot-dark-background2)]">
30
- <image class="mr-1.5 h-66px w-66px border-rd-100" :src="props.loginlog" />
31
- <text class="mt-3 font-size-22px c-#171819 font-bold dark:text-white">
32
- 你好,欢迎登录阀门检测
33
- </text>
34
- </view>
35
- </view>
36
-
37
- <view class="flex-1 border-rd-t-2 p-y-2 bg-white dark:bg-[var(--wot-dark-background2)]">
38
- <loginFormBox :tabbar-items="props.tabbarItems" :show-ragister="showRagister" :gurl="props.gurl" :url="props.url" />
39
- </view>
40
- </view>
41
- </template>
1
+ <!-- 自定义背景风格登录页面 -->
2
+ <script setup lang="ts">
3
+ import { defineOptions, defineProps } from 'vue'
4
+ import loginFormBox from '../login-form-box/login-form-box.vue'
5
+ import { useManualTheme } from '../../composables/useManualTheme'
6
+ import type { TabbarItem } from '../../composables/useTabbar'
7
+
8
+ defineOptions({
9
+ name: 'Wuilogin1',
10
+ })
11
+ const props = defineProps<{
12
+ loginlog: string
13
+ loginBackgroundimg: string
14
+ tabbarItems: TabbarItem[]
15
+ showRagister?: boolean
16
+ gurl?: string// 获取验证码接口
17
+ url?: string// 手机号登录接口
18
+ }>()
19
+ const {
20
+ currentThemeColor,
21
+ } = useManualTheme()
22
+ console.log(currentThemeColor)
23
+ </script>
24
+
25
+ <template>
26
+ <view class="h-[calc(100vh-44px)] flex flex-col">
27
+ <view class="position-relative h-390px w-full">
28
+ <image class="h-full w-full" :src="props.loginBackgroundimg" />
29
+ <view class="position-absolute bottom-40rpx box-border w-full flex justify-center border-rd-t-2 bg-white bg-opacity-20 p-3 backdrop-blur-md dark:bg-[var(--wot-dark-background2)]">
30
+ <image class="mr-1.5 h-66px w-66px border-rd-100" :src="props.loginlog" />
31
+ <text class="mt-3 font-size-22px c-#171819 font-bold dark:text-white">
32
+ 你好,欢迎登录阀门检测
33
+ </text>
34
+ </view>
35
+ </view>
36
+
37
+ <view class="flex-1 border-rd-t-2 p-y-2 bg-white dark:bg-[var(--wot-dark-background2)]">
38
+ <loginFormBox :tabbar-items="props.tabbarItems" :show-ragister="showRagister" :gurl="props.gurl" :url="props.url" />
39
+ </view>
40
+ </view>
41
+ </template>
@@ -1,137 +1,137 @@
1
- <script setup lang="ts">
2
- import { defineOptions } from 'vue'
3
- import { useManualTheme } from '../../composables/useManualTheme'
4
- import { useUser } from '../../composables/useUser'
5
- import { formatChineseDate } from '../../utils'
6
-
7
- defineOptions({
8
- name: 'WuiMenusTop',
9
- })
10
-
11
- const user = useUser().getUserInfo()
12
-
13
- const {
14
- currentThemeColor,
15
- } = useManualTheme()
16
- </script>
17
-
18
- <template>
19
- <view class="position-relative">
20
- <view
21
- class="rounded-b-1rem"
22
- style="box-sizing: border-box; padding: 20px; position: absolute;z-index: -1; height: 350rpx;width: 100%; background: linear-gradient( 180deg, #2094FF 0%, rgba(32,148,255,0.3) 100%);"
23
- :style="{ background: currentThemeColor.primary }"
24
- >
25
- <view class="flex items-center gap-2 text-lg color-white">
26
- <image
27
- class="h-10 w-10 border-rd-100%" style="border:2px solid #fff;" src="../../static/hader.png"
28
- mode="scaleToFill"
29
- />
30
- <view>
31
- <view>你好,{{ user.name }}</view>
32
- </view>
33
- </view>
34
- <view style="padding: 20rpx 0;margin-top: 10px;" class="text-xs color-white">
35
- {{ formatChineseDate() }}
36
- </view>
37
- </view>
38
- <!-- <image
39
- class="h-30 w-50"
40
- style="position: absolute;z-index: -1;top: 0; right: -21px;"
41
- src="../../static/home.png"
42
- mode="scaleToFill"
43
- /> -->
44
- <div class="dashboard-header__illustration">
45
- <div class="dec-circle c-1" />
46
- <div class="dec-circle c-2" />
47
- <div class="dec-cube" />
48
- </div>
49
-
50
- <view class="h-3 p-12" />
51
- </view>
52
- </template>
53
-
54
- <style lang="scss" scoped>
55
- .dashboard-header__illustration {
56
- position: absolute;
57
- right: 15px;
58
- top: 15px;
59
- width: 100px;
60
- height: 100px;
61
- opacity: 0.8;
62
- pointer-events: none;
63
- }
64
-
65
- .dec-circle {
66
- position: absolute;
67
- border-radius: 50%;
68
- background: rgba(255, 255, 255, 0.1);
69
- backdrop-filter: blur(4px);
70
- }
71
-
72
- .c-1 {
73
- width: 80px;
74
- height: 80px;
75
- right: 0;
76
- top: 0;
77
- animation: float 6s ease-in-out infinite;
78
- }
79
-
80
- .c-2 {
81
- width: 40px;
82
- height: 40px;
83
- left: 0;
84
- bottom: 0;
85
- background: rgba(255, 255, 255, 0.2);
86
- animation: float 4s ease-in-out infinite reverse;
87
- }
88
-
89
- .dec-cube {
90
- position: absolute;
91
- top: 25px;
92
- left: 25px;
93
- width: 40px;
94
- height: 40px;
95
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.1));
96
- border-radius: 8px;
97
- transform: rotate(45deg);
98
- box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
99
- animation: floatCube 8s ease-in-out infinite;
100
- }
101
-
102
- @keyframes fadeIn {
103
- from {
104
- opacity: 0;
105
- transform: translateY(10px);
106
- }
107
-
108
- to {
109
- opacity: 1;
110
- transform: translateY(0);
111
- }
112
- }
113
-
114
- @keyframes float {
115
-
116
- 0%,
117
- 100% {
118
- transform: translateY(0);
119
- }
120
-
121
- 50% {
122
- transform: translateY(-10px);
123
- }
124
- }
125
-
126
- @keyframes floatCube {
127
-
128
- 0%,
129
- 100% {
130
- transform: rotate(45deg) translateY(0);
131
- }
132
-
133
- 50% {
134
- transform: rotate(45deg) translateY(-8px);
135
- }
136
- }
137
- </style>
1
+ <script setup lang="ts">
2
+ import { defineOptions } from 'vue'
3
+ import { useManualTheme } from '../../composables/useManualTheme'
4
+ import { useUser } from '../../composables/useUser'
5
+ import { formatChineseDate } from '../../utils'
6
+
7
+ defineOptions({
8
+ name: 'WuiMenusTop',
9
+ })
10
+
11
+ const user = useUser().getUserInfo()
12
+
13
+ const {
14
+ currentThemeColor,
15
+ } = useManualTheme()
16
+ </script>
17
+
18
+ <template>
19
+ <view class="position-relative">
20
+ <view
21
+ class="rounded-b-1rem"
22
+ style="box-sizing: border-box; padding: 20px; position: absolute;z-index: -1; height: 350rpx;width: 100%; background: linear-gradient( 180deg, #2094FF 0%, rgba(32,148,255,0.3) 100%);"
23
+ :style="{ background: currentThemeColor.primary }"
24
+ >
25
+ <view class="flex items-center gap-2 text-lg color-white">
26
+ <image
27
+ class="h-10 w-10 border-rd-100%" style="border:2px solid #fff;" src="../../static/hader.png"
28
+ mode="scaleToFill"
29
+ />
30
+ <view>
31
+ <view>你好,{{ user.name }}</view>
32
+ </view>
33
+ </view>
34
+ <view style="padding: 20rpx 0;margin-top: 10px;" class="text-xs color-white">
35
+ {{ formatChineseDate() }}
36
+ </view>
37
+ </view>
38
+ <!-- <image
39
+ class="h-30 w-50"
40
+ style="position: absolute;z-index: -1;top: 0; right: -21px;"
41
+ src="../../static/home.png"
42
+ mode="scaleToFill"
43
+ /> -->
44
+ <div class="dashboard-header__illustration">
45
+ <div class="dec-circle c-1" />
46
+ <div class="dec-circle c-2" />
47
+ <div class="dec-cube" />
48
+ </div>
49
+
50
+ <view class="h-3 p-12" />
51
+ </view>
52
+ </template>
53
+
54
+ <style lang="scss" scoped>
55
+ .dashboard-header__illustration {
56
+ position: absolute;
57
+ right: 15px;
58
+ top: 15px;
59
+ width: 100px;
60
+ height: 100px;
61
+ opacity: 0.8;
62
+ pointer-events: none;
63
+ }
64
+
65
+ .dec-circle {
66
+ position: absolute;
67
+ border-radius: 50%;
68
+ background: rgba(255, 255, 255, 0.1);
69
+ backdrop-filter: blur(4px);
70
+ }
71
+
72
+ .c-1 {
73
+ width: 80px;
74
+ height: 80px;
75
+ right: 0;
76
+ top: 0;
77
+ animation: float 6s ease-in-out infinite;
78
+ }
79
+
80
+ .c-2 {
81
+ width: 40px;
82
+ height: 40px;
83
+ left: 0;
84
+ bottom: 0;
85
+ background: rgba(255, 255, 255, 0.2);
86
+ animation: float 4s ease-in-out infinite reverse;
87
+ }
88
+
89
+ .dec-cube {
90
+ position: absolute;
91
+ top: 25px;
92
+ left: 25px;
93
+ width: 40px;
94
+ height: 40px;
95
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.1));
96
+ border-radius: 8px;
97
+ transform: rotate(45deg);
98
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
99
+ animation: floatCube 8s ease-in-out infinite;
100
+ }
101
+
102
+ @keyframes fadeIn {
103
+ from {
104
+ opacity: 0;
105
+ transform: translateY(10px);
106
+ }
107
+
108
+ to {
109
+ opacity: 1;
110
+ transform: translateY(0);
111
+ }
112
+ }
113
+
114
+ @keyframes float {
115
+
116
+ 0%,
117
+ 100% {
118
+ transform: translateY(0);
119
+ }
120
+
121
+ 50% {
122
+ transform: translateY(-10px);
123
+ }
124
+ }
125
+
126
+ @keyframes floatCube {
127
+
128
+ 0%,
129
+ 100% {
130
+ transform: rotate(45deg) translateY(0);
131
+ }
132
+
133
+ 50% {
134
+ transform: rotate(45deg) translateY(-8px);
135
+ }
136
+ }
137
+ </style>
@@ -1,8 +1,8 @@
1
- <template>
2
- <view>
3
- <image
4
- src="../../imgs/homeLog.png"
5
- class="w-830rpx"
6
- />
7
- </view>
8
- </template>
1
+ <template>
2
+ <view>
3
+ <image
4
+ src="../../imgs/homeLog.png"
5
+ class="w-830rpx"
6
+ />
7
+ </view>
8
+ </template>