@tplc/business 0.7.89 → 0.7.91
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.
- package/CHANGELOG.md +23 -0
- package/components/lcb-action-view/components/RoomTypeCalendarPicker/api.ts +42 -0
- package/components/lcb-action-view/components/RoomTypeCalendarPicker/index.vue +313 -0
- package/components/lcb-action-view/lcb-action-view.vue +7 -0
- package/components/lcb-action-view/types.ts +3 -3
- package/components/lcb-image/lcb-image.vue +12 -0
- package/components/lcb-image/types.ts +4 -0
- package/package.json +2 -2
- package/types/components/lcb-action-view/components/RoomTypeCalendarPicker/api.d.ts +41 -0
- package/types/components/lcb-action-view/components/RoomTypeCalendarPicker/index.vue.d.ts +66 -0
- package/types/components/lcb-action-view/lcb-action-view.vue.d.ts +1 -1
- package/types/components/lcb-action-view/types.d.ts +3 -3
- package/types/components/lcb-calendar/lcb-calendar.vue.d.ts +1 -1
- package/types/components/lcb-filter-grid/lcb-filter-grid.vue.d.ts +1 -1
- package/types/components/lcb-image/lcb-image.vue.d.ts +12 -0
- package/types/components/lcb-image/types.d.ts +4 -0
- package/types/components/lcb-list/lcb-list.vue.d.ts +1 -1
- package/types/components/lcb-search/lcb-search.vue.d.ts +10 -120
- package/types/components/lcb-tabs/components/Imgs/index.vue.d.ts +1 -1
- package/types/components/lcb-tabs/components/Tabs/index.vue.d.ts +1 -1
- package/types/components/lcb-tabs/lcb-tabs.vue.d.ts +1 -1
- package/types/components/lcb-tags/lcb-tags.vue.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.7.91](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.7.90...v0.7.91) (2026-01-24)
|
|
6
|
+
|
|
7
|
+
### [0.7.90](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v0.7.88...v0.7.90) (2026-01-24)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### ♻️ Code Refactoring | 代码重构
|
|
11
|
+
|
|
12
|
+
* replace slot usage with lcb-render-view component in lcb-area and lcb-render-view ([e13844d](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/e13844da071827319420a00448ec1340c783dc06))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### 🚀 Chore | 构建/工程依赖/工具
|
|
16
|
+
|
|
17
|
+
* **release:** 0.7.89 ([19eabb7](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/19eabb773f93bdbb313430a8fd0000324a15797b))
|
|
18
|
+
* **release:** 1.0.35 ([21c6baf](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/21c6bafeb8bf198f7af1db4e9efcd5ee5375ab71))
|
|
19
|
+
* **release:** 1.0.36 ([ca0036b](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/ca0036b6378f7d8daa1e98136ee1cc3ccc280e09))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### ✨ Features | 新功能
|
|
23
|
+
|
|
24
|
+
* Add a `publish:all` script, refactor `lcb-block` background styling with MP-XHS specific handling, and improve `wd-sticky`'s window info retrieval. ([e1c15cd](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/e1c15cd21385e42be5cf784eb46065a27bc38e13))
|
|
25
|
+
* 图片内边距 ([8708890](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/8708890072faa3ba7e9656a01fef40512246a414))
|
|
26
|
+
* 调整限制 ([015304f](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/commit/015304f6bf453c88257d2158a39b03a06eff5429))
|
|
27
|
+
|
|
5
28
|
### [0.7.89](https://gitlab888.30jia.com.cn/tourism-front/zero-code-pro/compare/v1.0.32...v0.7.89) (2026-01-22)
|
|
6
29
|
|
|
7
30
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { IPageBtn } from '../../../lcb-operation-actions/types'
|
|
2
|
+
|
|
3
|
+
/** 房型价格日历 */
|
|
4
|
+
export interface RoomPriceCalendarButton {
|
|
5
|
+
buttonName: string
|
|
6
|
+
buttonProps: {
|
|
7
|
+
size: string
|
|
8
|
+
customStyle: string
|
|
9
|
+
}
|
|
10
|
+
jumpType: string
|
|
11
|
+
jumpUrl: string
|
|
12
|
+
popUpFlag: boolean
|
|
13
|
+
styleContent: {
|
|
14
|
+
buttonType: string
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface CalendarPriceItem {
|
|
19
|
+
bottomText: string
|
|
20
|
+
date: string
|
|
21
|
+
dateName: string
|
|
22
|
+
floorText: string
|
|
23
|
+
price: string
|
|
24
|
+
restFlag: boolean
|
|
25
|
+
status: number
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface RoomPriceCalendarResponse {
|
|
29
|
+
buttonList: IPageBtn[]
|
|
30
|
+
calendarDaysList: { label: string; value: string }[]
|
|
31
|
+
calendarPriceList: CalendarPriceItem[]
|
|
32
|
+
storeHotelRoomList: {
|
|
33
|
+
roomName: string
|
|
34
|
+
storeHotelRoomId: string
|
|
35
|
+
}[]
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const getRoomPriceCalendar = (data: {
|
|
39
|
+
startDate: string
|
|
40
|
+
endDate: string
|
|
41
|
+
productSkuId?: string
|
|
42
|
+
}) => uni.$lcb.http.post<RoomPriceCalendarResponse>('/productCalendar/roomPriceCalendar', data)
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<wd-popup
|
|
3
|
+
v-model="visible"
|
|
4
|
+
position="bottom"
|
|
5
|
+
:safe-area-inset-bottom="false"
|
|
6
|
+
custom-class="!bg-transparent"
|
|
7
|
+
:z-index="1000000"
|
|
8
|
+
>
|
|
9
|
+
<view class="flex justify-start p-2 box-border">
|
|
10
|
+
<wd-icon name="close-circle" color="white" size="48rpx" @click="visible = false" />
|
|
11
|
+
</view>
|
|
12
|
+
<view class="popup-content">
|
|
13
|
+
<!-- 房型选择 Tabs -->
|
|
14
|
+
<view class="mb-2" v-if="apiRoomTypes.length > 0">
|
|
15
|
+
<wd-tabs
|
|
16
|
+
v-model="activeRoomIndex"
|
|
17
|
+
@change="handleRoomChange"
|
|
18
|
+
custom-class="room-tabs"
|
|
19
|
+
animated
|
|
20
|
+
slidable="auto"
|
|
21
|
+
:slidable-num="0"
|
|
22
|
+
>
|
|
23
|
+
<wd-tab
|
|
24
|
+
v-for="(room, index) in apiRoomTypes"
|
|
25
|
+
:key="room.storeHotelRoomId || room.id"
|
|
26
|
+
auto-line-width
|
|
27
|
+
:name="index"
|
|
28
|
+
:title="room.roomName || room.name"
|
|
29
|
+
/>
|
|
30
|
+
</wd-tabs>
|
|
31
|
+
</view>
|
|
32
|
+
|
|
33
|
+
<!-- 自选晚数 tags -->
|
|
34
|
+
<view class="px-3 pb-3" v-if="tags?.length">
|
|
35
|
+
<view class="flex items-center gap-2">
|
|
36
|
+
<view
|
|
37
|
+
v-for="option in tags"
|
|
38
|
+
:key="option.value"
|
|
39
|
+
class="flex-center rounded-md w-10 h-6 text-3.5 font-500"
|
|
40
|
+
:class="
|
|
41
|
+
innerCustomNights === option.value
|
|
42
|
+
? 'bg-primary text-white'
|
|
43
|
+
: 'border-2rpx border-solid border-#CFCFCF text-[var(--content-color)]'
|
|
44
|
+
"
|
|
45
|
+
@click="innerCustomNights = option.value"
|
|
46
|
+
>
|
|
47
|
+
{{ option.label }}
|
|
48
|
+
</view>
|
|
49
|
+
</view>
|
|
50
|
+
</view>
|
|
51
|
+
|
|
52
|
+
<!-- 日历视图 -->
|
|
53
|
+
<view class="calendar-view-wrapper">
|
|
54
|
+
<wd-calendar-view
|
|
55
|
+
ref="calendarViewRef"
|
|
56
|
+
type="daterange"
|
|
57
|
+
v-model="innerTimes"
|
|
58
|
+
:min-date="innerDateRange.minDate"
|
|
59
|
+
:max-date="innerDateRange.maxDate"
|
|
60
|
+
:formatter="calendarFormatter(holidayInfo, t)"
|
|
61
|
+
:default-days="innerCustomNights"
|
|
62
|
+
:panel-height="panelHeight"
|
|
63
|
+
/>
|
|
64
|
+
</view>
|
|
65
|
+
|
|
66
|
+
<!-- 底部按钮区域 -->
|
|
67
|
+
<view class="bottom-buttons">
|
|
68
|
+
<lcb-operation-actions :buttonList="buttonList" size="large" />
|
|
69
|
+
</view>
|
|
70
|
+
<wd-gap :safe-area-bottom="true" :height="0" />
|
|
71
|
+
</view>
|
|
72
|
+
</wd-popup>
|
|
73
|
+
</template>
|
|
74
|
+
|
|
75
|
+
<script lang="ts" setup>
|
|
76
|
+
import { ref, watch, computed } from 'vue'
|
|
77
|
+
import type { CalendarViewExpose } from '@tplc/wot/components/wd-calendar-view/types'
|
|
78
|
+
import dayjs from 'dayjs/esm'
|
|
79
|
+
import { calendarFormatter } from '@tplc/business/utils/formatter'
|
|
80
|
+
import { useTranslate } from '@tplc/wot'
|
|
81
|
+
import type { ButtonProps } from '@tplc/wot/components/wd-button/types'
|
|
82
|
+
import { getRoomPriceCalendar, RoomPriceCalendarResponse } from './api'
|
|
83
|
+
import { HolidayInfo } from '../../../lcb-calendar-filter/types'
|
|
84
|
+
|
|
85
|
+
defineOptions({
|
|
86
|
+
name: 'RoomTypeCalendarPicker',
|
|
87
|
+
options: {
|
|
88
|
+
addGlobalClass: true,
|
|
89
|
+
virtualHost: true,
|
|
90
|
+
styleIsolation: 'shared',
|
|
91
|
+
},
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
interface RoomType {
|
|
95
|
+
id: string
|
|
96
|
+
name: string
|
|
97
|
+
price?: number
|
|
98
|
+
[key: string]: any
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const props = withDefaults(
|
|
102
|
+
defineProps<{
|
|
103
|
+
/** 日历面板高度 */
|
|
104
|
+
panelHeight?: number
|
|
105
|
+
}>(),
|
|
106
|
+
{
|
|
107
|
+
panelHeight: 490,
|
|
108
|
+
},
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
const tags = ref<{ label: string; value: number | undefined }[]>([])
|
|
112
|
+
|
|
113
|
+
// 使用 defineModel 控制弹窗显示
|
|
114
|
+
const visible = defineModel<boolean>({ default: false })
|
|
115
|
+
|
|
116
|
+
const innerTimes = ref<number[]>([])
|
|
117
|
+
const innerCustomNights = ref<number | undefined>(undefined)
|
|
118
|
+
const activeRoomIndex = ref(0)
|
|
119
|
+
const apiRoomTypes = ref<RoomType[]>([])
|
|
120
|
+
const holidayInfo = ref<Record<string, HolidayInfo>>({})
|
|
121
|
+
const { translate: t } = useTranslate()
|
|
122
|
+
|
|
123
|
+
// 内部日期范围(根据 holidayInfo 动态设置)
|
|
124
|
+
const innerDateRange = ref({
|
|
125
|
+
minDate: dayjs().valueOf(),
|
|
126
|
+
maxDate: dayjs().add(60, 'day').valueOf(),
|
|
127
|
+
})
|
|
128
|
+
const responseData = ref<RoomPriceCalendarResponse>({
|
|
129
|
+
buttonList: [],
|
|
130
|
+
calendarDaysList: [],
|
|
131
|
+
calendarPriceList: [],
|
|
132
|
+
storeHotelRoomList: [],
|
|
133
|
+
})
|
|
134
|
+
|
|
135
|
+
// 查询房型价格日历
|
|
136
|
+
const queryRoomPriceCalendar = async (storeHotelRoomId?: string) => {
|
|
137
|
+
const { data } = await getRoomPriceCalendar({
|
|
138
|
+
startDate: dayjs(innerDateRange.value.minDate).startOf('day').format('YYYY-MM-DD'),
|
|
139
|
+
endDate: dayjs(innerDateRange.value.maxDate).endOf('day').format('YYYY-MM-DD'),
|
|
140
|
+
productSkuId: storeHotelRoomId || '',
|
|
141
|
+
})
|
|
142
|
+
handleRoomPriceCalendarData(data)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const buttonList = computed(() => {
|
|
146
|
+
return responseData.value.buttonList.map((v) => {
|
|
147
|
+
return {
|
|
148
|
+
...v,
|
|
149
|
+
jumpUrl: `${v.jumpUrl}&startDate=${dayjs(innerTimes.value[0]).startOf('day').format('YYYY-MM-DD')}&endDate=${dayjs(innerTimes.value[1]).endOf('day').format('YYYY-MM-DD')}`,
|
|
150
|
+
buttonProps: {
|
|
151
|
+
...v.buttonProps,
|
|
152
|
+
disabled: confirmDisabled.value,
|
|
153
|
+
} as ButtonProps,
|
|
154
|
+
}
|
|
155
|
+
})
|
|
156
|
+
})
|
|
157
|
+
|
|
158
|
+
// 处理房型价格日历数据
|
|
159
|
+
const handleRoomPriceCalendarData = (data: RoomPriceCalendarResponse) => {
|
|
160
|
+
responseData.value = data
|
|
161
|
+
// 处理 tags(calendarDaysList)
|
|
162
|
+
if (data.calendarDaysList && data.calendarDaysList.length > 0) {
|
|
163
|
+
tags.value = data.calendarDaysList.map((item) => {
|
|
164
|
+
return {
|
|
165
|
+
label: item.label,
|
|
166
|
+
value: item.value === '0' ? undefined : Number(item.value),
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// 处理房型列表
|
|
172
|
+
if (data.storeHotelRoomList && data.storeHotelRoomList.length > 0) {
|
|
173
|
+
apiRoomTypes.value = data.storeHotelRoomList.map((item) => ({
|
|
174
|
+
id: item.storeHotelRoomId,
|
|
175
|
+
name: item.roomName,
|
|
176
|
+
storeHotelRoomId: item.storeHotelRoomId,
|
|
177
|
+
roomName: item.roomName,
|
|
178
|
+
}))
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// 处理日历价格列表(转换为 holidayInfo)
|
|
182
|
+
holidayInfo.value = data.calendarPriceList.reduce(
|
|
183
|
+
(acc, cur) => {
|
|
184
|
+
acc[cur.date] = cur as unknown as HolidayInfo
|
|
185
|
+
return acc
|
|
186
|
+
},
|
|
187
|
+
{} as Record<string, HolidayInfo>,
|
|
188
|
+
)
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// 监听弹窗打开
|
|
192
|
+
watch(
|
|
193
|
+
visible,
|
|
194
|
+
(val) => {
|
|
195
|
+
if (val) {
|
|
196
|
+
queryRoomPriceCalendar()
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
{ immediate: true },
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
// 确认按钮是否禁用
|
|
203
|
+
const confirmDisabled = computed(() => {
|
|
204
|
+
return (
|
|
205
|
+
!innerTimes.value || innerTimes.value.length < 2 || !innerTimes.value[0] || !innerTimes.value[1]
|
|
206
|
+
)
|
|
207
|
+
})
|
|
208
|
+
|
|
209
|
+
// 房型切换
|
|
210
|
+
const handleRoomChange = ({ index }: { index: number }) => {
|
|
211
|
+
const room = apiRoomTypes.value[index]
|
|
212
|
+
if (room) {
|
|
213
|
+
// 切换房型时重新查询该房型的价格日历
|
|
214
|
+
const skuId = room.storeHotelRoomId || room.id
|
|
215
|
+
if (skuId) {
|
|
216
|
+
queryRoomPriceCalendar(skuId)
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
</script>
|
|
221
|
+
|
|
222
|
+
<style lang="scss" scoped>
|
|
223
|
+
.popup-content {
|
|
224
|
+
display: flex;
|
|
225
|
+
flex-direction: column;
|
|
226
|
+
overflow: hidden;
|
|
227
|
+
background: #fff;
|
|
228
|
+
border-radius: 24rpx 24rpx 0 0;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.popup-header {
|
|
232
|
+
position: relative;
|
|
233
|
+
display: flex;
|
|
234
|
+
align-items: center;
|
|
235
|
+
justify-content: center;
|
|
236
|
+
padding: 28rpx 24rpx;
|
|
237
|
+
border-bottom: 1rpx solid #eee;
|
|
238
|
+
|
|
239
|
+
.popup-title {
|
|
240
|
+
font-size: 32rpx;
|
|
241
|
+
font-weight: 600;
|
|
242
|
+
color: #333;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.close-icon {
|
|
246
|
+
position: absolute;
|
|
247
|
+
right: 24rpx;
|
|
248
|
+
color: #999;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.room-tab-title {
|
|
253
|
+
display: -webkit-box;
|
|
254
|
+
max-width: 160rpx;
|
|
255
|
+
overflow: hidden;
|
|
256
|
+
text-overflow: ellipsis;
|
|
257
|
+
-webkit-line-clamp: 2;
|
|
258
|
+
font-size: 28rpx;
|
|
259
|
+
line-height: 1.3;
|
|
260
|
+
word-break: break-all;
|
|
261
|
+
-webkit-box-orient: vertical;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.calendar-view-wrapper {
|
|
265
|
+
flex: 1;
|
|
266
|
+
min-height: 0;
|
|
267
|
+
overflow-y: auto;
|
|
268
|
+
|
|
269
|
+
.calendar-loading {
|
|
270
|
+
display: flex;
|
|
271
|
+
align-items: center;
|
|
272
|
+
justify-content: center;
|
|
273
|
+
height: 548px;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.bottom-buttons {
|
|
278
|
+
box-sizing: border-box;
|
|
279
|
+
display: flex;
|
|
280
|
+
gap: 16rpx;
|
|
281
|
+
align-items: center;
|
|
282
|
+
padding: 20rpx 24rpx;
|
|
283
|
+
border-top: 1rpx solid #eee;
|
|
284
|
+
|
|
285
|
+
.btn-item {
|
|
286
|
+
display: flex;
|
|
287
|
+
align-items: center;
|
|
288
|
+
justify-content: center;
|
|
289
|
+
height: 80rpx;
|
|
290
|
+
font-size: 28rpx;
|
|
291
|
+
font-weight: 500;
|
|
292
|
+
border-radius: 40rpx;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.btn-small {
|
|
296
|
+
flex: 1;
|
|
297
|
+
color: var(--wot-color-theme, #4d80f0);
|
|
298
|
+
background: #fff;
|
|
299
|
+
border: 2rpx solid var(--wot-color-theme, #4d80f0);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.btn-large {
|
|
303
|
+
flex: 2;
|
|
304
|
+
color: #fff;
|
|
305
|
+
background: var(--wot-color-theme, #4d80f0);
|
|
306
|
+
|
|
307
|
+
&.is-disabled {
|
|
308
|
+
pointer-events: none;
|
|
309
|
+
opacity: 0.5;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
</style>
|
|
@@ -79,6 +79,8 @@
|
|
|
79
79
|
:jumpUrl="jumpUrl"
|
|
80
80
|
/>
|
|
81
81
|
<MemberRolePopup v-model:show="showMemberRole" v-if="showMemberRole" />
|
|
82
|
+
<!-- 房型日历选择器测试 -->
|
|
83
|
+
<RoomTypeCalendarPicker v-model="showRoomCalendar" v-if="showRoomCalendar" />
|
|
82
84
|
</view>
|
|
83
85
|
</template>
|
|
84
86
|
|
|
@@ -94,6 +96,7 @@ import { PAGE_PROVIDE_KEY, USER_BASIC_INFO } from '../../constants'
|
|
|
94
96
|
import { getTemplateMessageList, TemplateMessage } from '../../api/user'
|
|
95
97
|
import PayPopup from './components/PayPopup/index.vue'
|
|
96
98
|
import MemberRolePopup from './components/MemberRolePopup/index.vue'
|
|
99
|
+
import RoomTypeCalendarPicker from './components/RoomTypeCalendarPicker/index.vue'
|
|
97
100
|
const { translate } = useTranslate()
|
|
98
101
|
defineOptions({
|
|
99
102
|
name: 'LcbActionView',
|
|
@@ -110,6 +113,7 @@ const pageInfo = inject(PAGE_PROVIDE_KEY) as unknown as Ref<Record<string, any>>
|
|
|
110
113
|
const showPoster = ref(false)
|
|
111
114
|
const showPay = ref(false)
|
|
112
115
|
const showMemberRole = ref(false)
|
|
116
|
+
const showRoomCalendar = ref(false)
|
|
113
117
|
const emits = defineEmits<{
|
|
114
118
|
(e: 'phone', value: { detail: { errMsg: string; encryptedData: string; iv: string } }): void
|
|
115
119
|
(e: 'avatar', value: string): void
|
|
@@ -391,6 +395,9 @@ const onActionClick = async () => {
|
|
|
391
395
|
case '148':
|
|
392
396
|
showMemberRole.value = true
|
|
393
397
|
break
|
|
398
|
+
case '149':
|
|
399
|
+
showRoomCalendar.value = true
|
|
400
|
+
break
|
|
394
401
|
default:
|
|
395
402
|
emits('click', props)
|
|
396
403
|
break
|
|
@@ -63,8 +63,10 @@ export type LcbActionViewProps = {
|
|
|
63
63
|
| 104
|
|
64
64
|
| 241
|
|
65
65
|
| 143
|
|
66
|
+
| 146
|
|
66
67
|
| 147
|
|
67
68
|
| 148
|
|
69
|
+
| 149
|
|
68
70
|
/** 小程序appid */
|
|
69
71
|
jumpAppid?: string
|
|
70
72
|
|
|
@@ -107,9 +109,6 @@ export type LcbActionViewProps = {
|
|
|
107
109
|
jumpType: 142
|
|
108
110
|
events: string
|
|
109
111
|
}
|
|
110
|
-
| {
|
|
111
|
-
jumpType: 146
|
|
112
|
-
}
|
|
113
112
|
)
|
|
114
113
|
|
|
115
114
|
// 根据LcbActionViewProps 的jumTyp帮我生成一份英文映射 key为英文 value 为number
|
|
@@ -145,4 +144,5 @@ export const jumpTypeMap = {
|
|
|
145
144
|
arScan: 146,
|
|
146
145
|
translate: 147,
|
|
147
146
|
userLevelRole: 148,
|
|
147
|
+
roomPriceCalendar: 149,
|
|
148
148
|
}
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
marginLeft: transformValueUnit(marginHorizontal),
|
|
19
19
|
marginRight: transformValueUnit(marginHorizontal),
|
|
20
20
|
marginTop: transformValueUnit(-(floatUp || 0)),
|
|
21
|
+
paddingTop: transformValueUnit(paddingTop),
|
|
22
|
+
paddingBottom: transformValueUnit(paddingBottom),
|
|
23
|
+
paddingLeft: transformValueUnit(paddingLeft),
|
|
24
|
+
paddingRight: transformValueUnit(paddingRight),
|
|
21
25
|
}"
|
|
22
26
|
>
|
|
23
27
|
<LcbWrapperImage v-bind="$props" />
|
|
@@ -31,6 +35,10 @@
|
|
|
31
35
|
marginLeft: transformValueUnit(marginHorizontal),
|
|
32
36
|
marginRight: transformValueUnit(marginHorizontal),
|
|
33
37
|
marginTop: transformValueUnit(-(floatUp || 0)),
|
|
38
|
+
paddingTop: transformValueUnit(paddingTop),
|
|
39
|
+
paddingBottom: transformValueUnit(paddingBottom),
|
|
40
|
+
paddingLeft: transformValueUnit(paddingLeft),
|
|
41
|
+
paddingRight: transformValueUnit(paddingRight),
|
|
34
42
|
}"
|
|
35
43
|
>
|
|
36
44
|
<view class="flex shrink-0">
|
|
@@ -58,6 +66,10 @@ const props = withDefaults(defineProps<LcbImageProps>(), {
|
|
|
58
66
|
marginTop: 0,
|
|
59
67
|
marginBottom: 0,
|
|
60
68
|
marginHorizontal: 0,
|
|
69
|
+
paddingTop: 0,
|
|
70
|
+
paddingBottom: 0,
|
|
71
|
+
paddingLeft: 0,
|
|
72
|
+
paddingRight: 0,
|
|
61
73
|
})
|
|
62
74
|
</script>
|
|
63
75
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tplc/business",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.91",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"业务组件"
|
|
6
6
|
],
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
13
|
"vue": ">=3.2.47",
|
|
14
|
-
"@tplc/wot": "1.0.
|
|
14
|
+
"@tplc/wot": "1.0.36"
|
|
15
15
|
},
|
|
16
16
|
"engines": {
|
|
17
17
|
"node": ">=18",
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { IPageBtn } from '../../../lcb-operation-actions/types'
|
|
2
|
+
/** 房型价格日历 */
|
|
3
|
+
export interface RoomPriceCalendarButton {
|
|
4
|
+
buttonName: string
|
|
5
|
+
buttonProps: {
|
|
6
|
+
size: string
|
|
7
|
+
customStyle: string
|
|
8
|
+
}
|
|
9
|
+
jumpType: string
|
|
10
|
+
jumpUrl: string
|
|
11
|
+
popUpFlag: boolean
|
|
12
|
+
styleContent: {
|
|
13
|
+
buttonType: string
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export interface CalendarPriceItem {
|
|
17
|
+
bottomText: string
|
|
18
|
+
date: string
|
|
19
|
+
dateName: string
|
|
20
|
+
floorText: string
|
|
21
|
+
price: string
|
|
22
|
+
restFlag: boolean
|
|
23
|
+
status: number
|
|
24
|
+
}
|
|
25
|
+
export interface RoomPriceCalendarResponse {
|
|
26
|
+
buttonList: IPageBtn[]
|
|
27
|
+
calendarDaysList: {
|
|
28
|
+
label: string
|
|
29
|
+
value: string
|
|
30
|
+
}[]
|
|
31
|
+
calendarPriceList: CalendarPriceItem[]
|
|
32
|
+
storeHotelRoomList: {
|
|
33
|
+
roomName: string
|
|
34
|
+
storeHotelRoomId: string
|
|
35
|
+
}[]
|
|
36
|
+
}
|
|
37
|
+
export declare const getRoomPriceCalendar: (data: {
|
|
38
|
+
startDate: string
|
|
39
|
+
endDate: string
|
|
40
|
+
productSkuId?: string
|
|
41
|
+
}) => Promise<import('../../../../action').IResData<RoomPriceCalendarResponse>>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
declare let __VLS_typeProps: {
|
|
2
|
+
/** 日历面板高度 */
|
|
3
|
+
panelHeight?: number
|
|
4
|
+
}
|
|
5
|
+
type __VLS_PublicProps = {
|
|
6
|
+
modelValue?: boolean
|
|
7
|
+
} & typeof __VLS_typeProps
|
|
8
|
+
declare const _default: import('vue').DefineComponent<
|
|
9
|
+
__VLS_WithDefaults<
|
|
10
|
+
__VLS_TypePropsToOption<__VLS_PublicProps>,
|
|
11
|
+
{
|
|
12
|
+
panelHeight: number
|
|
13
|
+
}
|
|
14
|
+
>,
|
|
15
|
+
{},
|
|
16
|
+
unknown,
|
|
17
|
+
{},
|
|
18
|
+
{},
|
|
19
|
+
import('vue').ComponentOptionsMixin,
|
|
20
|
+
import('vue').ComponentOptionsMixin,
|
|
21
|
+
{
|
|
22
|
+
'update:modelValue': (modelValue: boolean) => void
|
|
23
|
+
},
|
|
24
|
+
string,
|
|
25
|
+
import('vue').PublicProps,
|
|
26
|
+
Readonly<
|
|
27
|
+
import('vue').ExtractPropTypes<
|
|
28
|
+
__VLS_WithDefaults<
|
|
29
|
+
__VLS_TypePropsToOption<__VLS_PublicProps>,
|
|
30
|
+
{
|
|
31
|
+
panelHeight: number
|
|
32
|
+
}
|
|
33
|
+
>
|
|
34
|
+
>
|
|
35
|
+
> & {
|
|
36
|
+
'onUpdate:modelValue'?: ((modelValue: boolean) => any) | undefined
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
panelHeight: number
|
|
40
|
+
},
|
|
41
|
+
{}
|
|
42
|
+
>
|
|
43
|
+
export default _default
|
|
44
|
+
type __VLS_WithDefaults<P, D> = {
|
|
45
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D
|
|
46
|
+
? __VLS_Prettify<
|
|
47
|
+
P[K] & {
|
|
48
|
+
default: D[K]
|
|
49
|
+
}
|
|
50
|
+
>
|
|
51
|
+
: P[K]
|
|
52
|
+
}
|
|
53
|
+
type __VLS_Prettify<T> = {
|
|
54
|
+
[K in keyof T]: T[K]
|
|
55
|
+
} & {}
|
|
56
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
|
|
57
|
+
type __VLS_TypePropsToOption<T> = {
|
|
58
|
+
[K in keyof T]-?: {} extends Pick<T, K>
|
|
59
|
+
? {
|
|
60
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
|
|
61
|
+
}
|
|
62
|
+
: {
|
|
63
|
+
type: import('vue').PropType<T[K]>
|
|
64
|
+
required: true
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -16,7 +16,7 @@ declare const __VLS_component: import('vue').DefineComponent<
|
|
|
16
16
|
string,
|
|
17
17
|
import('vue').PublicProps,
|
|
18
18
|
any,
|
|
19
|
-
{} | {} | {} | {} | {} | {} | {} | {} | {}
|
|
19
|
+
{} | {} | {} | {} | {} | {} | {} | {} | {},
|
|
20
20
|
{}
|
|
21
21
|
>
|
|
22
22
|
declare const _default: __VLS_WithTemplateSlots<
|
|
@@ -61,8 +61,10 @@ export type LcbActionViewProps = {
|
|
|
61
61
|
| 104
|
|
62
62
|
| 241
|
|
63
63
|
| 143
|
|
64
|
+
| 146
|
|
64
65
|
| 147
|
|
65
66
|
| 148
|
|
67
|
+
| 149
|
|
66
68
|
/** 小程序appid */
|
|
67
69
|
jumpAppid?: string
|
|
68
70
|
}
|
|
@@ -103,9 +105,6 @@ export type LcbActionViewProps = {
|
|
|
103
105
|
jumpType: 142
|
|
104
106
|
events: string
|
|
105
107
|
}
|
|
106
|
-
| {
|
|
107
|
-
jumpType: 146
|
|
108
|
-
}
|
|
109
108
|
)
|
|
110
109
|
export declare const jumpTypeMap: {
|
|
111
110
|
webview: number
|
|
@@ -139,4 +138,5 @@ export declare const jumpTypeMap: {
|
|
|
139
138
|
arScan: number
|
|
140
139
|
translate: number
|
|
141
140
|
userLevelRole: number
|
|
141
|
+
roomPriceCalendar: number
|
|
142
142
|
}
|
|
@@ -163,8 +163,8 @@ declare const __VLS_component: import('vue').DefineComponent<
|
|
|
163
163
|
params: Record<string, any>
|
|
164
164
|
minDate: number
|
|
165
165
|
maxDate: number
|
|
166
|
-
defaultValue: number[]
|
|
167
166
|
defaultDays: number
|
|
167
|
+
defaultValue: number[]
|
|
168
168
|
confirmText: string
|
|
169
169
|
},
|
|
170
170
|
{}
|
|
@@ -48,10 +48,10 @@ declare const _default: import('vue').DefineComponent<
|
|
|
48
48
|
marginHorizontal: number
|
|
49
49
|
fontSize: number
|
|
50
50
|
textAlign: 'left' | 'center' | 'right'
|
|
51
|
+
activeFontSize: number
|
|
51
52
|
gap: number
|
|
52
53
|
cols: number
|
|
53
54
|
activeColor: string
|
|
54
|
-
activeFontSize: number
|
|
55
55
|
activeBgColor: string
|
|
56
56
|
},
|
|
57
57
|
{}
|
|
@@ -9,6 +9,10 @@ declare const _default: import('vue').DefineComponent<
|
|
|
9
9
|
marginTop: number
|
|
10
10
|
marginBottom: number
|
|
11
11
|
marginHorizontal: number
|
|
12
|
+
paddingTop: number
|
|
13
|
+
paddingBottom: number
|
|
14
|
+
paddingLeft: number
|
|
15
|
+
paddingRight: number
|
|
12
16
|
}
|
|
13
17
|
>,
|
|
14
18
|
{},
|
|
@@ -31,12 +35,20 @@ declare const _default: import('vue').DefineComponent<
|
|
|
31
35
|
marginTop: number
|
|
32
36
|
marginBottom: number
|
|
33
37
|
marginHorizontal: number
|
|
38
|
+
paddingTop: number
|
|
39
|
+
paddingBottom: number
|
|
40
|
+
paddingLeft: number
|
|
41
|
+
paddingRight: number
|
|
34
42
|
}
|
|
35
43
|
>
|
|
36
44
|
>
|
|
37
45
|
>,
|
|
38
46
|
{
|
|
39
47
|
marginHorizontal: number
|
|
48
|
+
paddingTop: number
|
|
49
|
+
paddingBottom: number
|
|
50
|
+
paddingLeft: number
|
|
51
|
+
paddingRight: number
|
|
40
52
|
marginBottom: number
|
|
41
53
|
styleGroup: number
|
|
42
54
|
imageSize: number
|
|
@@ -35,7 +35,6 @@ declare const __VLS_component: import('vue').DefineComponent<
|
|
|
35
35
|
position: 'relative' | 'absolute' | 'fixed'
|
|
36
36
|
backgroundImage: string
|
|
37
37
|
border: boolean
|
|
38
|
-
imageRadius: number
|
|
39
38
|
marginHorizontal: number
|
|
40
39
|
paddingHorizontal: number
|
|
41
40
|
paddingVertical: number
|
|
@@ -75,6 +74,7 @@ declare const __VLS_component: import('vue').DefineComponent<
|
|
|
75
74
|
dynamicStyleOptions: import('../../action').DynamicOptions
|
|
76
75
|
dynamicBgImage: string
|
|
77
76
|
borderVisible: Record<string, number>
|
|
77
|
+
imageRadius: number
|
|
78
78
|
gap: number
|
|
79
79
|
imageWidth: number
|
|
80
80
|
borderRadius: number
|
|
@@ -114,8 +114,10 @@ declare const _default: import('vue').DefineComponent<
|
|
|
114
114
|
| 104
|
|
115
115
|
| 241
|
|
116
116
|
| 143
|
|
117
|
+
| 146
|
|
117
118
|
| 147
|
|
118
119
|
| 148
|
|
120
|
+
| 149
|
|
119
121
|
jumpAppid?: string
|
|
120
122
|
} & import('../lcb-block/types').LcbBlockProps
|
|
121
123
|
>,
|
|
@@ -848,92 +850,6 @@ declare const _default: import('vue').DefineComponent<
|
|
|
848
850
|
}
|
|
849
851
|
>
|
|
850
852
|
>
|
|
851
|
-
>
|
|
852
|
-
| Readonly<
|
|
853
|
-
import('vue').ExtractPropTypes<
|
|
854
|
-
__VLS_WithDefaults<
|
|
855
|
-
__VLS_TypePropsToOption<
|
|
856
|
-
{
|
|
857
|
-
placeholder?: string
|
|
858
|
-
icon?: string
|
|
859
|
-
url?: string
|
|
860
|
-
iconSize?: string
|
|
861
|
-
borderWidth?: number
|
|
862
|
-
iconColor?: string
|
|
863
|
-
gap?: number
|
|
864
|
-
link?: import('../lcb-action-view/types').LcbActionViewProps
|
|
865
|
-
iconType?: 'icon' | 'img'
|
|
866
|
-
mode?: 'search' | 'link'
|
|
867
|
-
productTypeList?: string[]
|
|
868
|
-
city?: boolean
|
|
869
|
-
cityColor?: string
|
|
870
|
-
citySize?: number
|
|
871
|
-
cityIconSize?: number
|
|
872
|
-
cityIconColor?: string
|
|
873
|
-
lineColor?: string
|
|
874
|
-
lineWidth?: number
|
|
875
|
-
linePadding?: number
|
|
876
|
-
lineHeight?: number
|
|
877
|
-
historyKey?: string
|
|
878
|
-
showCancel?: boolean
|
|
879
|
-
initFocus?: boolean
|
|
880
|
-
blockBackground?: string
|
|
881
|
-
} & {
|
|
882
|
-
jumpUrl?: string
|
|
883
|
-
urlParams?: string
|
|
884
|
-
customClass?: string
|
|
885
|
-
customStyle?: import('vue').StyleValue
|
|
886
|
-
renderMode?: 'view' | 'button' | 'noClick'
|
|
887
|
-
autoJumpSecond?: number
|
|
888
|
-
position?: import('@tplc/wot/types/components/wd-popup/types').PopupType
|
|
889
|
-
jumpInterceptor?: (
|
|
890
|
-
action: import('../lcb-action-view/types').LcbActionViewProps,
|
|
891
|
-
) => boolean
|
|
892
|
-
content?: string
|
|
893
|
-
title?: string
|
|
894
|
-
requestParam?: Record<string, any>
|
|
895
|
-
requestInfo?: {
|
|
896
|
-
requestUrl: string
|
|
897
|
-
requestParams: Record<string, any>
|
|
898
|
-
refreshSchemaPage?: boolean
|
|
899
|
-
formKeys?: string[]
|
|
900
|
-
}
|
|
901
|
-
submitRequestInfo?: {
|
|
902
|
-
requestUrl: string
|
|
903
|
-
requestParams: Record<string, any>
|
|
904
|
-
}
|
|
905
|
-
} & {
|
|
906
|
-
jumpType: 146
|
|
907
|
-
} & import('../lcb-block/types').LcbBlockProps
|
|
908
|
-
>,
|
|
909
|
-
{
|
|
910
|
-
placeholder: string
|
|
911
|
-
iconSize: string
|
|
912
|
-
borderWidth: number
|
|
913
|
-
color: string
|
|
914
|
-
iconColor: string
|
|
915
|
-
gap: number
|
|
916
|
-
paddingVertical: number
|
|
917
|
-
marginHorizontal: number
|
|
918
|
-
cityColor: string
|
|
919
|
-
citySize: number
|
|
920
|
-
cityIconSize: number
|
|
921
|
-
radius: number
|
|
922
|
-
paddingHorizontal: number
|
|
923
|
-
borderColor: string
|
|
924
|
-
cityIconColor: string
|
|
925
|
-
lineColor: string
|
|
926
|
-
lineWidth: number
|
|
927
|
-
linePadding: number
|
|
928
|
-
lineHeight: number
|
|
929
|
-
iconType: string
|
|
930
|
-
mode: string
|
|
931
|
-
fontSize: number
|
|
932
|
-
initFocus: boolean
|
|
933
|
-
showCancel: boolean
|
|
934
|
-
}
|
|
935
|
-
>
|
|
936
|
-
>
|
|
937
853
|
>,
|
|
938
854
|
| {
|
|
939
855
|
mode: 'search' | 'link'
|
|
@@ -949,34 +865,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
949
865
|
fontSize: number
|
|
950
866
|
borderColor: string
|
|
951
867
|
borderWidth: number
|
|
952
|
-
gap: number
|
|
953
868
|
lineWidth: number
|
|
954
|
-
iconType: 'icon' | 'img'
|
|
955
|
-
cityColor: string
|
|
956
|
-
citySize: number
|
|
957
|
-
cityIconSize: number
|
|
958
|
-
cityIconColor: string
|
|
959
|
-
lineColor: string
|
|
960
|
-
linePadding: number
|
|
961
|
-
showCancel: boolean
|
|
962
|
-
initFocus: boolean
|
|
963
|
-
}
|
|
964
|
-
| {
|
|
965
|
-
mode: 'search' | 'link'
|
|
966
|
-
color: string
|
|
967
|
-
lineHeight: number
|
|
968
|
-
radius: number
|
|
969
|
-
iconSize: string
|
|
970
|
-
iconColor: string
|
|
971
|
-
placeholder: string
|
|
972
|
-
marginHorizontal: number
|
|
973
|
-
paddingHorizontal: number
|
|
974
|
-
paddingVertical: number
|
|
975
|
-
fontSize: number
|
|
976
|
-
borderColor: string
|
|
977
|
-
borderWidth: number
|
|
978
869
|
gap: number
|
|
979
|
-
lineWidth: number
|
|
980
870
|
iconType: 'icon' | 'img'
|
|
981
871
|
cityColor: string
|
|
982
872
|
citySize: number
|
|
@@ -1001,8 +891,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1001
891
|
fontSize: number
|
|
1002
892
|
borderColor: string
|
|
1003
893
|
borderWidth: number
|
|
1004
|
-
gap: number
|
|
1005
894
|
lineWidth: number
|
|
895
|
+
gap: number
|
|
1006
896
|
iconType: 'icon' | 'img'
|
|
1007
897
|
cityColor: string
|
|
1008
898
|
citySize: number
|
|
@@ -1027,8 +917,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1027
917
|
fontSize: number
|
|
1028
918
|
borderColor: string
|
|
1029
919
|
borderWidth: number
|
|
1030
|
-
gap: number
|
|
1031
920
|
lineWidth: number
|
|
921
|
+
gap: number
|
|
1032
922
|
iconType: 'icon' | 'img'
|
|
1033
923
|
cityColor: string
|
|
1034
924
|
citySize: number
|
|
@@ -1053,8 +943,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1053
943
|
fontSize: number
|
|
1054
944
|
borderColor: string
|
|
1055
945
|
borderWidth: number
|
|
1056
|
-
gap: number
|
|
1057
946
|
lineWidth: number
|
|
947
|
+
gap: number
|
|
1058
948
|
iconType: 'icon' | 'img'
|
|
1059
949
|
cityColor: string
|
|
1060
950
|
citySize: number
|
|
@@ -1079,8 +969,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1079
969
|
fontSize: number
|
|
1080
970
|
borderColor: string
|
|
1081
971
|
borderWidth: number
|
|
1082
|
-
gap: number
|
|
1083
972
|
lineWidth: number
|
|
973
|
+
gap: number
|
|
1084
974
|
iconType: 'icon' | 'img'
|
|
1085
975
|
cityColor: string
|
|
1086
976
|
citySize: number
|
|
@@ -1105,8 +995,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1105
995
|
fontSize: number
|
|
1106
996
|
borderColor: string
|
|
1107
997
|
borderWidth: number
|
|
1108
|
-
gap: number
|
|
1109
998
|
lineWidth: number
|
|
999
|
+
gap: number
|
|
1110
1000
|
iconType: 'icon' | 'img'
|
|
1111
1001
|
cityColor: string
|
|
1112
1002
|
citySize: number
|
|
@@ -1131,8 +1021,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1131
1021
|
fontSize: number
|
|
1132
1022
|
borderColor: string
|
|
1133
1023
|
borderWidth: number
|
|
1134
|
-
gap: number
|
|
1135
1024
|
lineWidth: number
|
|
1025
|
+
gap: number
|
|
1136
1026
|
iconType: 'icon' | 'img'
|
|
1137
1027
|
cityColor: string
|
|
1138
1028
|
citySize: number
|
|
@@ -1157,8 +1047,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1157
1047
|
fontSize: number
|
|
1158
1048
|
borderColor: string
|
|
1159
1049
|
borderWidth: number
|
|
1160
|
-
gap: number
|
|
1161
1050
|
lineWidth: number
|
|
1051
|
+
gap: number
|
|
1162
1052
|
iconType: 'icon' | 'img'
|
|
1163
1053
|
cityColor: string
|
|
1164
1054
|
citySize: number
|
|
@@ -1183,8 +1073,8 @@ declare const _default: import('vue').DefineComponent<
|
|
|
1183
1073
|
fontSize: number
|
|
1184
1074
|
borderColor: string
|
|
1185
1075
|
borderWidth: number
|
|
1186
|
-
gap: number
|
|
1187
1076
|
lineWidth: number
|
|
1077
|
+
gap: number
|
|
1188
1078
|
iconType: 'icon' | 'img'
|
|
1189
1079
|
cityColor: string
|
|
1190
1080
|
citySize: number
|
|
@@ -38,10 +38,10 @@ declare const _default: import('vue').DefineComponent<
|
|
|
38
38
|
>
|
|
39
39
|
>,
|
|
40
40
|
{
|
|
41
|
+
itemFontSize: number
|
|
41
42
|
gap: number
|
|
42
43
|
itemVerticalPadding: number
|
|
43
44
|
itemHorizontalPadding: number
|
|
44
|
-
itemFontSize: number
|
|
45
45
|
tagsMode: 'scroll' | 'tiled'
|
|
46
46
|
itemBackgroundColor: string
|
|
47
47
|
itemRadius: number
|