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,56 +1,56 @@
1
- <script setup lang="ts">
2
- import { defineExpose, defineOptions, ref } from 'vue'
3
-
4
- defineOptions({
5
- name: 'VideoPlay',
6
- })
7
- const key = ref(1)
8
- const show = ref(false)
9
- const url = ref('')
10
- defineExpose({
11
- open: (e: any) => {
12
- setTimeout(() => {
13
- key.value++// 解决视频显示小,延迟渲染
14
- }, 1000)
15
- show.value = true
16
- url.value = e
17
- },
18
- })
19
- function close() {
20
- uni.createVideoContext('myVideo').pause()
21
- }
22
- </script>
23
-
24
- <template>
25
- <wd-popup v-model="show" :hide-when-close="true" @close="close">
26
- <view class="container">
27
- <video
28
- id="myVideo"
29
- :key="key"
30
- class="video-box"
31
- object-fit="fill"
32
- :src="url"
33
- controls
34
- />
35
- </view>
36
- </wd-popup>
37
- </template>
38
-
39
- <style scoped>
40
- .container {
41
- position: relative;
42
- width: 300px;
43
- height: 0;
44
- /* // 因为 padding 和 margin 等受 width 影响,父容器固定后,子标签可以进行填充。
45
- // 此处的 56.25% 是 9/16【 75% 是 3/4 】其他比例可以依照此法 */
46
- padding-bottom: 56.25%;
47
-
48
- }
49
- .video-box {
50
- position: absolute;
51
- top: 0;
52
- left: 0;
53
- width: 100%;
54
- height: 100%;
55
- }
56
- </style>
1
+ <script setup lang="ts">
2
+ import { defineExpose, defineOptions, ref } from 'vue'
3
+
4
+ defineOptions({
5
+ name: 'VideoPlay',
6
+ })
7
+ const key = ref(1)
8
+ const show = ref(false)
9
+ const url = ref('')
10
+ defineExpose({
11
+ open: (e: any) => {
12
+ setTimeout(() => {
13
+ key.value++// 解决视频显示小,延迟渲染
14
+ }, 1000)
15
+ show.value = true
16
+ url.value = e
17
+ },
18
+ })
19
+ function close() {
20
+ uni.createVideoContext('myVideo').pause()
21
+ }
22
+ </script>
23
+
24
+ <template>
25
+ <wd-popup v-model="show" :hide-when-close="true" @close="close">
26
+ <view class="container">
27
+ <video
28
+ id="myVideo"
29
+ :key="key"
30
+ class="video-box"
31
+ object-fit="fill"
32
+ :src="url"
33
+ controls
34
+ />
35
+ </view>
36
+ </wd-popup>
37
+ </template>
38
+
39
+ <style scoped>
40
+ .container {
41
+ position: relative;
42
+ width: 300px;
43
+ height: 0;
44
+ /* // 因为 padding 和 margin 等受 width 影响,父容器固定后,子标签可以进行填充。
45
+ // 此处的 56.25% 是 9/16【 75% 是 3/4 】其他比例可以依照此法 */
46
+ padding-bottom: 56.25%;
47
+
48
+ }
49
+ .video-box {
50
+ position: absolute;
51
+ top: 0;
52
+ left: 0;
53
+ width: 100%;
54
+ height: 100%;
55
+ }
56
+ </style>
@@ -1,132 +1,132 @@
1
- <script setup lang="ts">
2
- import { onBeforeMount, ref } from 'vue'
3
- import WuiUpdateComponent from '../wui-update-component/wui-update-component.vue'
4
-
5
- defineOptions({
6
- name: 'WuiAutoUpdateComponent',
7
- })
8
- const prop = defineProps({
9
- hydrocarbonProgramToken: {
10
- type: String,
11
- default: '',
12
- },
13
- baseUrl: {
14
- type: String,
15
- default: '',
16
- },
17
- sourceId: {
18
- type: String,
19
- default: '',
20
- },
21
- appId: {
22
- type: String,
23
- default: '',
24
- },
25
- })
26
- const entities = ref([])
27
- // 弹窗开关
28
- const show = ref(false)
29
-
30
- const isUpdate = ref(0)
31
- // 当前版本
32
- const currentVersion = ref('')
33
-
34
- // 最新版本
35
- const latestVersion = ref('')
36
-
37
- // 弹框进入时检查更新
38
- async function beforeEnter() {
39
- // 获取当前应用版本号
40
- const v1 = await new Promise<string>((resolve, reject) => {
41
- plus.runtime.getProperty(plus.runtime.appid || '', (widgetInfo) => {
42
- resolve(widgetInfo.version || '')
43
- })
44
- console.log(reject)
45
- })
46
- currentVersion.value = v1
47
- // 获取接口最新版本号
48
- uni.request({
49
- url:
50
- `${prop.baseUrl
51
- }/v3/mstruc/data?sourceId=${prop.sourceId}&depth=1&sortColIds=创建时间_DESC&pageNo=1&pageSize=1&c_app编码_equals=${prop.appId}&c_标记删除_equals=否`,
52
- method: 'GET',
53
- header: {
54
- 'hydrocarbon-program-token': prop.hydrocarbonProgramToken,
55
- },
56
- success: (res: any) => {
57
- if (res.statusCode === 200) {
58
- if (res.data.entities.length > 0) {
59
- latestVersion.value = res.data.entities[0]['版本号'] // 最新版本号
60
- isUpdate.value = compareVersions(currentVersion.value, latestVersion.value) // 比较版本号
61
- if (isUpdate.value !== 0) {
62
- show.value = true// 显示弹窗
63
- }
64
- entities.value = res.data.entities // 获取接口数据
65
- }
66
- }
67
- },
68
- fail: (err) => {
69
- console.log('接口版本err:', err)
70
- },
71
- })
72
- }
73
-
74
- onBeforeMount(() => {
75
- // #ifdef APP-PLUS
76
- beforeEnter()
77
- // #endif
78
- })
79
-
80
- // 版本号比对 1:大于当前版本,-1:小于当前版本,0:版本号相同
81
- function compareVersions(v1: string, v2: string) {
82
- // 接口版本
83
- const v2Parts = v2.split('.').map(Number)
84
- // 本地版本
85
- const v1Parts = v1.split('.').map(Number)
86
- for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
87
- const part1 = v1Parts[i] || 0
88
- const part2 = v2Parts[i] || 0
89
- if (part1 !== part2)
90
- return part1 < part2 ? 1 : -1
91
- }
92
- return 0
93
- }
94
- </script>
95
-
96
- <template>
97
- <WuiUpdateComponent
98
- :show="show"
99
- :app-id="prop.appId" :hydrocarbon-program-token="prop.hydrocarbonProgramToken" :base-url="prop.baseUrl"
100
- :source-id="prop.sourceId" @close="(e) => { show = e }"
101
- />
102
- </template>
103
-
104
- <style lang="scss" scoped>
105
- .updateBox {
106
- display: flex;
107
- flex-direction: column;
108
- align-items: center;
109
- width: 600rpx;
110
- min-height: 200rpx;
111
- padding: 32rpx;
112
- background-color: #fff;
113
- border-radius: 32rpx;
114
-
115
- .calc {
116
- width: 550rpx;
117
- margin-top: 40rpx;
118
- text-align: center;
119
- }
120
- }
121
-
122
- .loadingBox {
123
- display: flex;
124
- align-items: center;
125
- justify-content: center;
126
- width: 600rpx;
127
- height: 200rpx;
128
- padding: 32rpx;
129
- background-color: #fff;
130
- border-radius: 32rpx;
131
- }
132
- </style>
1
+ <script setup lang="ts">
2
+ import { onBeforeMount, ref } from 'vue'
3
+ import WuiUpdateComponent from '../wui-update-component/wui-update-component.vue'
4
+
5
+ defineOptions({
6
+ name: 'WuiAutoUpdateComponent',
7
+ })
8
+ const prop = defineProps({
9
+ hydrocarbonProgramToken: {
10
+ type: String,
11
+ default: '',
12
+ },
13
+ baseUrl: {
14
+ type: String,
15
+ default: '',
16
+ },
17
+ sourceId: {
18
+ type: String,
19
+ default: '',
20
+ },
21
+ appId: {
22
+ type: String,
23
+ default: '',
24
+ },
25
+ })
26
+ const entities = ref([])
27
+ // 弹窗开关
28
+ const show = ref(false)
29
+
30
+ const isUpdate = ref(0)
31
+ // 当前版本
32
+ const currentVersion = ref('')
33
+
34
+ // 最新版本
35
+ const latestVersion = ref('')
36
+
37
+ // 弹框进入时检查更新
38
+ async function beforeEnter() {
39
+ // 获取当前应用版本号
40
+ const v1 = await new Promise<string>((resolve, reject) => {
41
+ plus.runtime.getProperty(plus.runtime.appid || '', (widgetInfo) => {
42
+ resolve(widgetInfo.version || '')
43
+ })
44
+ console.log(reject)
45
+ })
46
+ currentVersion.value = v1
47
+ // 获取接口最新版本号
48
+ uni.request({
49
+ url:
50
+ `${prop.baseUrl
51
+ }/v3/mstruc/data?sourceId=${prop.sourceId}&depth=1&sortColIds=创建时间_DESC&pageNo=1&pageSize=1&c_app编码_equals=${prop.appId}&c_标记删除_equals=否`,
52
+ method: 'GET',
53
+ header: {
54
+ 'hydrocarbon-program-token': prop.hydrocarbonProgramToken,
55
+ },
56
+ success: (res: any) => {
57
+ if (res.statusCode === 200) {
58
+ if (res.data.entities.length > 0) {
59
+ latestVersion.value = res.data.entities[0]['版本号'] // 最新版本号
60
+ isUpdate.value = compareVersions(currentVersion.value, latestVersion.value) // 比较版本号
61
+ if (isUpdate.value !== 0) {
62
+ show.value = true// 显示弹窗
63
+ }
64
+ entities.value = res.data.entities // 获取接口数据
65
+ }
66
+ }
67
+ },
68
+ fail: (err) => {
69
+ console.log('接口版本err:', err)
70
+ },
71
+ })
72
+ }
73
+
74
+ onBeforeMount(() => {
75
+ // #ifdef APP-PLUS
76
+ beforeEnter()
77
+ // #endif
78
+ })
79
+
80
+ // 版本号比对 1:大于当前版本,-1:小于当前版本,0:版本号相同
81
+ function compareVersions(v1: string, v2: string) {
82
+ // 接口版本
83
+ const v2Parts = v2.split('.').map(Number)
84
+ // 本地版本
85
+ const v1Parts = v1.split('.').map(Number)
86
+ for (let i = 0; i < Math.max(v1Parts.length, v2Parts.length); i++) {
87
+ const part1 = v1Parts[i] || 0
88
+ const part2 = v2Parts[i] || 0
89
+ if (part1 !== part2)
90
+ return part1 < part2 ? 1 : -1
91
+ }
92
+ return 0
93
+ }
94
+ </script>
95
+
96
+ <template>
97
+ <WuiUpdateComponent
98
+ :show="show"
99
+ :app-id="prop.appId" :hydrocarbon-program-token="prop.hydrocarbonProgramToken" :base-url="prop.baseUrl"
100
+ :source-id="prop.sourceId" @close="(e) => { show = e }"
101
+ />
102
+ </template>
103
+
104
+ <style lang="scss" scoped>
105
+ .updateBox {
106
+ display: flex;
107
+ flex-direction: column;
108
+ align-items: center;
109
+ width: 600rpx;
110
+ min-height: 200rpx;
111
+ padding: 32rpx;
112
+ background-color: #fff;
113
+ border-radius: 32rpx;
114
+
115
+ .calc {
116
+ width: 550rpx;
117
+ margin-top: 40rpx;
118
+ text-align: center;
119
+ }
120
+ }
121
+
122
+ .loadingBox {
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ width: 600rpx;
127
+ height: 200rpx;
128
+ padding: 32rpx;
129
+ background-color: #fff;
130
+ border-radius: 32rpx;
131
+ }
132
+ </style>
@@ -1,49 +1,49 @@
1
- <script lang="ts" setup>
2
- import { defineOptions } from 'vue'
3
- import { useManualTheme } from '../../composables/useManualTheme'
4
- import globalLoading from '../../components/global-loading/global-loading.vue'
5
- import globalToast from '../../components/global-toast/global-toast.vue'
6
- import globalMessage from '../../components/global-message/global-message.vue'
7
- import privacyPopup from '../../components/privacy-popup/privacy-popup.vue'
8
-
9
- defineOptions({
10
- name: 'WuiDefault',
11
- })
12
- const { themeVars, theme } = useManualTheme()
13
- </script>
14
-
15
- <script lang="ts">
16
- export default {
17
- options: {
18
- addGlobalClass: true,
19
- virtualHost: true,
20
- styleIsolation: 'shared',
21
- },
22
- }
23
- </script>
24
-
25
- <template>
26
- <wd-config-provider :theme-vars="themeVars" :theme="theme" :custom-class="`page-wraper ${theme} custom-layout`">
27
- <slot />
28
- <wd-notify />
29
- <wd-toast />
30
- <global-loading />
31
- <global-toast />
32
- <global-message />
33
- <!-- #ifdef MP-WEIXIN -->
34
- <privacy-popup />
35
- <!-- #endif -->
36
- </wd-config-provider>
37
- </template>
38
-
39
- <style lang="scss">
40
- .page-wraper {
41
- min-height: calc(100vh - var(--window-top));
42
- box-sizing: border-box;
43
- background: #F8F9FB;
44
- }
45
-
46
- .wot-theme-dark.page-wraper {
47
- background: #222;
48
- }
49
- </style>
1
+ <script lang="ts" setup>
2
+ import { defineOptions } from 'vue'
3
+ import { useManualTheme } from '../../composables/useManualTheme'
4
+ import globalLoading from '../../components/global-loading/global-loading.vue'
5
+ import globalToast from '../../components/global-toast/global-toast.vue'
6
+ import globalMessage from '../../components/global-message/global-message.vue'
7
+ import privacyPopup from '../../components/privacy-popup/privacy-popup.vue'
8
+
9
+ defineOptions({
10
+ name: 'WuiDefault',
11
+ })
12
+ const { themeVars, theme } = useManualTheme()
13
+ </script>
14
+
15
+ <script lang="ts">
16
+ export default {
17
+ options: {
18
+ addGlobalClass: true,
19
+ virtualHost: true,
20
+ styleIsolation: 'shared',
21
+ },
22
+ }
23
+ </script>
24
+
25
+ <template>
26
+ <wd-config-provider :theme-vars="themeVars" :theme="theme" :custom-class="`page-wraper ${theme} custom-layout`">
27
+ <slot />
28
+ <wd-notify />
29
+ <wd-toast />
30
+ <global-loading />
31
+ <global-toast />
32
+ <global-message />
33
+ <!-- #ifdef MP-WEIXIN -->
34
+ <privacy-popup />
35
+ <!-- #endif -->
36
+ </wd-config-provider>
37
+ </template>
38
+
39
+ <style lang="scss">
40
+ .page-wraper {
41
+ min-height: calc(100vh - var(--window-top));
42
+ box-sizing: border-box;
43
+ background: #F8F9FB;
44
+ }
45
+
46
+ .wot-theme-dark.page-wraper {
47
+ background: #222;
48
+ }
49
+ </style>