wui-components-v2 1.1.69 → 1.1.70

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 (45) hide show
  1. package/api/core/index.ts +74 -74
  2. package/api/menu.ts +45 -45
  3. package/api/page.ts +114 -114
  4. package/api/sys.ts +12 -12
  5. package/components/add-address-page/add-address-page.vue +77 -77
  6. package/components/custom-date-picker/custom-date-picker.vue +106 -106
  7. package/components/custom-select-picker/custom-select-picker.vue +95 -95
  8. package/components/demo-block/demo-block.vue +63 -63
  9. package/components/detail-popup/detail-popup.vue +99 -99
  10. package/components/evaluation-page/evaluation-page.vue +196 -196
  11. package/components/fold-card/fold-card.vue +171 -171
  12. package/components/form-control/form-control.vue +661 -661
  13. package/components/global-message/global-message.vue +68 -68
  14. package/components/label-value/label-value.vue +144 -144
  15. package/components/list-top-buttons/list-top-buttons.vue +19 -19
  16. package/components/login-form/login-form.vue +126 -126
  17. package/components/mulselect-picker/mulselect-picker.vue +86 -86
  18. package/components/product-card/product-card.vue +201 -201
  19. package/components/search/search.vue +128 -128
  20. package/components/user-choose/user-choose.vue +1 -1
  21. package/components/wui-enume-select-control/wui-enume-select-control.vue +92 -92
  22. package/components/wui-list/wui-list.vue +235 -235
  23. package/components/wui-menus/wui-menus.vue +247 -247
  24. package/components/wui-menus1/components/navbar.vue +43 -43
  25. package/components/wui-menus1/wui-menus.vue +564 -564
  26. package/components/wui-notify-info/wui-notify-info.vue +280 -280
  27. package/components/wui-search-history-babbar/wui-search-history-babbar.vue +204 -204
  28. package/components/wui-select-list/wui-select-list.vue +310 -310
  29. package/components/wui-select-popup/wui-select-popup.vue +612 -612
  30. package/components/wui-system-settings/wui-system-settings.vue +144 -144
  31. package/components/wui-tabbar/wui-tabbar.vue +106 -106
  32. package/components/wui-tree-page/components/tree-item.vue +238 -238
  33. package/components/wui-user/wui-user.vue +202 -202
  34. package/composables/useCompanyFieldFilter.ts +91 -91
  35. package/composables/useEnumes.ts +2 -2
  36. package/composables/useMenus.ts +193 -193
  37. package/index.ts +83 -83
  38. package/package.json +1 -1
  39. package/static/iconfont/iconfont.css +63 -63
  40. package/store/language.ts +151 -151
  41. package/styles/dark-mode.css +523 -523
  42. package/styles/dark-mode.min.css +1 -1
  43. package/type.ts +2 -2
  44. package/utils/control-tree.ts +2 -2
  45. package/utils/control-type-supportor.ts +148 -148
@@ -1,171 +1,171 @@
1
- <script lang="ts" setup>
2
- import { computed, defineOptions, defineProps, ref } from 'vue'
3
- import type { Columns, Entities, Enums, FoldCardModel, Groups } from '../../type'
4
- import { formatItemData } from '../../utils'
5
- import LabelValue from '../label-value/label-value.vue'
6
- import { useManualTheme } from '../../composables/useManualTheme'
7
-
8
- defineOptions({
9
- name: 'FoldCard',
10
- })
11
-
12
- const props = defineProps<{
13
- columns: Columns[]
14
- collapseNum?: number
15
- primaryColumn?: Columns
16
- secondColumn?: Columns
17
- labelColumn?: Columns
18
- data: Entities
19
- model: FoldCardModel
20
- sourceId: string
21
- groups: Groups
22
- enumColumn?: Enums
23
- index: number
24
- }>()
25
- const contentRef = ref<any>()
26
- const { currentThemeColor } = useManualTheme()
27
- // 展示内容
28
- const exhibitData = computed(() => {
29
- const { collapseNum } = props
30
- const num = collapseNum || 2
31
- const columns = props.columns.length >= num ? props.columns.slice(0, num) : props.columns
32
- return columns.filter(item => item.title !== '操作')
33
- })
34
-
35
- // 是否展示折叠按钮
36
- const showCollapse = computed(() => {
37
- const { collapseNum } = props
38
- const num = collapseNum || 2
39
- return props.columns.length > num
40
- })
41
-
42
- // 折叠内容
43
- const collapseData = ref<Columns[]>([])
44
-
45
- // 标签字段
46
- const labelColumns = computed(() => {
47
- if (props.labelColumn && props.enumColumn) {
48
- return props.enumColumn[props.labelColumn.mstrucId]
49
- } else {
50
- return []
51
- }
52
- })
53
-
54
- // 折叠图标
55
- const collapseIcon = ref('arrow-down')
56
- // 切换折叠内容
57
- function toggleCollapse(contentId: string) {
58
- console.log(contentId)
59
- if (collapseIcon.value === 'arrow-down') {
60
- const { collapseNum } = props
61
- const num = collapseNum || 2
62
- const columns = props.columns.length >= num ? props.columns.slice(num) : []
63
- collapseData.value = columns.filter(item => item.title !== '操作')
64
- // 展开
65
- // content.classList.remove('max-h-0')
66
- // content.classList.add('max-h-[500px]')
67
- collapseIcon.value = 'arrow-up'
68
- } else {
69
- collapseData.value = []
70
- // 折叠
71
- // content?.classList.add('max-h-0')
72
- // content?.classList.remove('max-h-[500px]')
73
- collapseIcon.value = 'arrow-down'
74
- }
75
- }
76
- </script>
77
-
78
- <template>
79
- <!-- 订单卡片容器 -->
80
- <view class="mx-auto max-w-md space-y-4">
81
- <!-- 订单卡片2 -->
82
- <view class="ma-2 overflow-hidden rounded-xl bg-white shadow-sm dark:bg-[var(--wot-dark-background2)]">
83
- <!-- 订单头部 -->
84
- <view v-if="props.primaryColumn" class="flex items-center justify-between border-b border-gray-100 p-4">
85
- <view class="flex items-center gap-4 text-base text-gray-800 font-medium dark:text-white">
86
- <view class="flex items-center gap-1">
87
- <slot name="select" />
88
- <view class="mr-1 h-4 w-1 rounded-2xl" :style="{ backgroundColor: currentThemeColor.primary }" />
89
- </view>
90
- <view>
91
- <view class="flex items-center gap-2">
92
- <view class="overflow-hidden text-ellipsis font-700">
93
- {{
94
- formatItemData(
95
- data.fieldMap[props.primaryColumn.sourceId],
96
- props.primaryColumn.extControlType || props.primaryColumn.controlType
97
- )
98
- }}
99
- </view>
100
- <slot name="addressInfo" />
101
- </view>
102
- <slot name="detailAddress" />
103
- </view>
104
- </view>
105
- <view
106
- v-if="props.labelColumn"
107
- class="whitespace-nowrap rounded px-1 py-1 text-sm text-white font-700"
108
- :style="{
109
- color: labelColumns?.find(
110
- item => props.labelColumn && item.value === data.fieldMap[props.labelColumn.sourceId]
111
- )?.css?.color,
112
- }"
113
- >
114
- {{
115
- formatItemData(
116
- data.fieldMap[props.labelColumn.sourceId],
117
- props.labelColumn.extControlType || props.labelColumn.controlType
118
- )
119
- }}
120
- </view>
121
- </view>
122
-
123
- <!-- 订单内容 -->
124
- <view v-if="props.model === 'complex'" class="p-4 pt-0">
125
- <!-- 商品列表 -->
126
- <view class="mb-3">
127
- <!-- 订单信息 -->
128
- <view class="text-sm space-y-3">
129
- <LabelValue :exhibit-data="exhibitData" :data="data" :index="index" />
130
-
131
- <!-- 可折叠内容 -->
132
- <view :id="`${data.code}`" ref="contentRef">
133
- <view class="space-y-3">
134
- <LabelValue :exhibit-data="collapseData" :data="data" :index="index" />
135
- </view>
136
- </view>
137
- </view>
138
- </view>
139
-
140
- <!-- 订单底部 -->
141
- <view class="flex items-center justify-between border-t border-gray-100">
142
- <!-- 折叠按钮 -->
143
- <view>
144
- <wd-icon
145
- v-if="showCollapse"
146
- id="toggle-btn-2"
147
- name="down"
148
- size="24px"
149
- :icon="collapseIcon"
150
- class="mr-auto flex items-center px-3 py-2 text-sm text-[#6b7280] !py-1"
151
- @click.stop="toggleCollapse(data.code)"
152
- />
153
- </view>
154
-
155
- <view class="flex items-center gap-1">
156
- <slot name="buttons" />
157
- </view>
158
- </view>
159
- </view>
160
- </view>
161
- </view>
162
- </template>
163
-
164
- <style>
165
- :deep(.wd-collapse-item__body) {
166
- background-color: #f9f9f9 !important;
167
- }
168
- :deep(.wot-theme-dark .wd-collapse-item__body) {
169
- background-color: #1b1b1e !important;
170
- }
171
- </style>
1
+ <script lang="ts" setup>
2
+ import { computed, defineOptions, defineProps, ref } from 'vue'
3
+ import type { Columns, Entities, Enums, FoldCardModel, Groups } from '../../type'
4
+ import { formatItemData } from '../../utils'
5
+ import LabelValue from '../label-value/label-value.vue'
6
+ import { useManualTheme } from '../../composables/useManualTheme'
7
+
8
+ defineOptions({
9
+ name: 'FoldCard',
10
+ })
11
+
12
+ const props = defineProps<{
13
+ columns: Columns[]
14
+ collapseNum?: number
15
+ primaryColumn?: Columns
16
+ secondColumn?: Columns
17
+ labelColumn?: Columns
18
+ data: Entities
19
+ model: FoldCardModel
20
+ sourceId: string
21
+ groups: Groups
22
+ enumColumn?: Enums
23
+ index: number
24
+ }>()
25
+ const contentRef = ref<any>()
26
+ const { currentThemeColor } = useManualTheme()
27
+ // 展示内容
28
+ const exhibitData = computed(() => {
29
+ const { collapseNum } = props
30
+ const num = collapseNum || 2
31
+ const columns = props.columns.length >= num ? props.columns.slice(0, num) : props.columns
32
+ return columns.filter(item => item.title !== '操作')
33
+ })
34
+
35
+ // 是否展示折叠按钮
36
+ const showCollapse = computed(() => {
37
+ const { collapseNum } = props
38
+ const num = collapseNum || 2
39
+ return props.columns.length > num
40
+ })
41
+
42
+ // 折叠内容
43
+ const collapseData = ref<Columns[]>([])
44
+
45
+ // 标签字段
46
+ const labelColumns = computed(() => {
47
+ if (props.labelColumn && props.enumColumn) {
48
+ return props.enumColumn[props.labelColumn.mstrucId]
49
+ } else {
50
+ return []
51
+ }
52
+ })
53
+
54
+ // 折叠图标
55
+ const collapseIcon = ref('arrow-down')
56
+ // 切换折叠内容
57
+ function toggleCollapse(contentId: string) {
58
+ console.log(contentId)
59
+ if (collapseIcon.value === 'arrow-down') {
60
+ const { collapseNum } = props
61
+ const num = collapseNum || 2
62
+ const columns = props.columns.length >= num ? props.columns.slice(num) : []
63
+ collapseData.value = columns.filter(item => item.title !== '操作')
64
+ // 展开
65
+ // content.classList.remove('max-h-0')
66
+ // content.classList.add('max-h-[500px]')
67
+ collapseIcon.value = 'arrow-up'
68
+ } else {
69
+ collapseData.value = []
70
+ // 折叠
71
+ // content?.classList.add('max-h-0')
72
+ // content?.classList.remove('max-h-[500px]')
73
+ collapseIcon.value = 'arrow-down'
74
+ }
75
+ }
76
+ </script>
77
+
78
+ <template>
79
+ <!-- 订单卡片容器 -->
80
+ <view class="mx-auto max-w-md space-y-4">
81
+ <!-- 订单卡片2 -->
82
+ <view class="ma-2 overflow-hidden rounded-xl bg-white shadow-sm dark:bg-[var(--wot-dark-background2)]">
83
+ <!-- 订单头部 -->
84
+ <view v-if="props.primaryColumn" class="flex items-center justify-between border-b border-gray-100 p-4">
85
+ <view class="flex items-center gap-4 text-base text-gray-800 font-medium dark:text-white">
86
+ <view class="flex items-center gap-1">
87
+ <slot name="select" />
88
+ <view class="mr-1 h-4 w-1 rounded-2xl" :style="{ backgroundColor: currentThemeColor.primary }" />
89
+ </view>
90
+ <view>
91
+ <view class="flex items-center gap-2">
92
+ <view class="overflow-hidden text-ellipsis font-700">
93
+ {{
94
+ formatItemData(
95
+ data.fieldMap[props.primaryColumn.sourceId],
96
+ props.primaryColumn.extControlType || props.primaryColumn.controlType
97
+ )
98
+ }}
99
+ </view>
100
+ <slot name="addressInfo" />
101
+ </view>
102
+ <slot name="detailAddress" />
103
+ </view>
104
+ </view>
105
+ <view
106
+ v-if="props.labelColumn"
107
+ class="whitespace-nowrap rounded px-1 py-1 text-sm text-white font-700"
108
+ :style="{
109
+ color: labelColumns?.find(
110
+ item => props.labelColumn && item.value === data.fieldMap[props.labelColumn.sourceId]
111
+ )?.css?.color,
112
+ }"
113
+ >
114
+ {{
115
+ formatItemData(
116
+ data.fieldMap[props.labelColumn.sourceId],
117
+ props.labelColumn.extControlType || props.labelColumn.controlType
118
+ )
119
+ }}
120
+ </view>
121
+ </view>
122
+
123
+ <!-- 订单内容 -->
124
+ <view v-if="props.model === 'complex'" class="p-4 pt-0">
125
+ <!-- 商品列表 -->
126
+ <view class="mb-3">
127
+ <!-- 订单信息 -->
128
+ <view class="text-sm space-y-3">
129
+ <LabelValue :exhibit-data="exhibitData" :data="data" :index="index" />
130
+
131
+ <!-- 可折叠内容 -->
132
+ <view :id="`${data.code}`" ref="contentRef">
133
+ <view class="space-y-3">
134
+ <LabelValue :exhibit-data="collapseData" :data="data" :index="index" />
135
+ </view>
136
+ </view>
137
+ </view>
138
+ </view>
139
+
140
+ <!-- 订单底部 -->
141
+ <view class="flex items-center justify-between border-t border-gray-100">
142
+ <!-- 折叠按钮 -->
143
+ <view>
144
+ <wd-icon
145
+ v-if="showCollapse"
146
+ id="toggle-btn-2"
147
+ name="down"
148
+ size="24px"
149
+ :icon="collapseIcon"
150
+ class="mr-auto flex items-center px-3 py-2 text-sm text-[#6b7280] !py-1"
151
+ @click.stop="toggleCollapse(data.code)"
152
+ />
153
+ </view>
154
+
155
+ <view class="flex items-center gap-1">
156
+ <slot name="buttons" />
157
+ </view>
158
+ </view>
159
+ </view>
160
+ </view>
161
+ </view>
162
+ </template>
163
+
164
+ <style>
165
+ :deep(.wd-collapse-item__body) {
166
+ background-color: #f9f9f9 !important;
167
+ }
168
+ :deep(.wot-theme-dark .wd-collapse-item__body) {
169
+ background-color: #1b1b1e !important;
170
+ }
171
+ </style>