@tplc/business 0.1.11 → 0.1.13
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 +49 -0
- package/action.d.ts +1 -1
- package/components/lcb-image/Image/index.vue +2 -1
- package/components/lcb-list/components/FilterList/index.vue +9 -4
- package/components/lcb-list/components/FilterList/mockData.ts +575 -0
- package/components/lcb-list/lcb-list.vue +28 -16
- package/components/lcb-list/types.ts +0 -13
- package/components/lcb-product/lcb-product.vue +37 -33
- package/components/lcb-product-item/components/ItemValue.vue +103 -22
- package/components/lcb-product-item/lcb-product-item.vue +249 -70
- package/components/lcb-product-item/types.ts +15 -14
- package/package.json +1 -1
- package/types/components/lcb-list/components/FilterList/mockData.d.ts +63 -0
- package/types/components/lcb-list/lcb-list.vue.d.ts +7 -3
- package/types/components/lcb-list/types.d.ts +0 -1
- package/types/components/lcb-product/lcb-product.vue.d.ts +2 -22
- package/types/components/lcb-product-item/components/ItemValue.vue.d.ts +26 -8
- package/types/components/lcb-product-item/lcb-product-item.vue.d.ts +63 -23
- package/types/components/lcb-product-item/types.d.ts +14 -13
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, provide, useAttrs } from 'vue'
|
|
3
|
-
import {
|
|
3
|
+
import { LcbProductItemProps } from './types'
|
|
4
4
|
import ItemValue from './components/ItemValue.vue'
|
|
5
5
|
|
|
6
|
+
const isNumber = (value: any) => typeof value === 'number'
|
|
7
|
+
|
|
6
8
|
defineOptions({
|
|
7
9
|
name: 'LcbProductItem',
|
|
8
10
|
options: {
|
|
@@ -14,36 +16,54 @@ defineOptions({
|
|
|
14
16
|
|
|
15
17
|
const props = withDefaults(defineProps<LcbProductItemProps>(), {
|
|
16
18
|
layoutType: 'horizontal',
|
|
19
|
+
titleLineClamp: 1,
|
|
20
|
+
tagOverflowWrap: false,
|
|
21
|
+
tagType: 'primary',
|
|
22
|
+
tagPlain: true,
|
|
23
|
+
tagMark: false,
|
|
24
|
+
tagRound: false,
|
|
25
|
+
distanceUnit: 'km',
|
|
26
|
+
|
|
17
27
|
priceUnit: '¥',
|
|
18
28
|
originPriceUnit: '¥',
|
|
19
29
|
imageVisible: true,
|
|
20
30
|
titleVisible: true,
|
|
21
|
-
subTitleVisible:
|
|
31
|
+
subTitleVisible: false,
|
|
22
32
|
priceVisible: true,
|
|
23
33
|
priceUnitVisible: true,
|
|
24
34
|
priceSuffixVisible: true,
|
|
25
35
|
originPriceVisible: true,
|
|
26
36
|
originPriceUnitVisible: true,
|
|
37
|
+
originPriceSuffixVisible: true,
|
|
27
38
|
tagsVisible: true,
|
|
28
39
|
locationVisible: true,
|
|
29
|
-
distanceVisible:
|
|
40
|
+
distanceVisible: false,
|
|
30
41
|
})
|
|
31
42
|
const attrs = useAttrs()
|
|
32
43
|
|
|
33
44
|
provide('lcb-product-item-props', props)
|
|
34
45
|
|
|
35
46
|
defineSlots<{
|
|
36
|
-
image(): any
|
|
37
|
-
title(): any
|
|
38
|
-
subTitle(): any
|
|
39
|
-
price(): any
|
|
40
|
-
priceUnit(): any
|
|
41
|
-
priceSuffix(): any
|
|
42
|
-
originPrice(): any
|
|
43
|
-
originPriceUnit(): any
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
image(props: { value: any }): any
|
|
48
|
+
title(props: { value: any }): any
|
|
49
|
+
subTitle(props: { value: any }): any
|
|
50
|
+
price(props: { value: any }): any
|
|
51
|
+
priceUnit(props: { value: any }): any
|
|
52
|
+
priceSuffix(props: { value: any }): any
|
|
53
|
+
originPrice(props: { value: any }): any
|
|
54
|
+
originPriceUnit(props: { value: any }): any
|
|
55
|
+
originPriceSuffix(props: { value: any }): any
|
|
56
|
+
tags(props: { value: any }): any
|
|
57
|
+
location(props: { value: any }): any
|
|
58
|
+
distance(props: { value: any }): any
|
|
59
|
+
|
|
60
|
+
itemSection(): any
|
|
61
|
+
itemTopSection(): any
|
|
62
|
+
itemBottomSection(): any
|
|
63
|
+
itemLeftSection(): any
|
|
64
|
+
itemRightSection(): any
|
|
65
|
+
imageSection(): any
|
|
66
|
+
contentSection(): any
|
|
47
67
|
}>()
|
|
48
68
|
|
|
49
69
|
// console.log('attrs', attrs)
|
|
@@ -51,87 +71,246 @@ defineSlots<{
|
|
|
51
71
|
|
|
52
72
|
<template>
|
|
53
73
|
<!-- 横向布局 -->
|
|
54
|
-
<view
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
74
|
+
<view
|
|
75
|
+
v-if="layoutType === 'horizontal'"
|
|
76
|
+
:class="className"
|
|
77
|
+
class="flex flex-col gap-1 px-2 py-3 bg-white relative"
|
|
78
|
+
>
|
|
79
|
+
<slot name="itemSection" />
|
|
80
|
+
<slot name="itemTopSection" />
|
|
81
|
+
<view class="flex gap-2">
|
|
82
|
+
<slot name="itemLeftSection" />
|
|
83
|
+
<ItemValue
|
|
84
|
+
v-if="!!$slots?.['image']"
|
|
85
|
+
prop="image"
|
|
86
|
+
className="w-1/3 h-220rpx bg-gray-100 rounded-sm overflow-hidden relative"
|
|
60
87
|
>
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
88
|
+
<template #default>
|
|
89
|
+
<slot name="imageSection" />
|
|
90
|
+
</template>
|
|
91
|
+
<template #image="{ value }">
|
|
92
|
+
<slot name="image" :value="value" />
|
|
93
|
+
</template>
|
|
94
|
+
</ItemValue>
|
|
95
|
+
<ItemValue
|
|
96
|
+
v-else
|
|
97
|
+
prop="image"
|
|
98
|
+
className="w-1/3 h-220rpx bg-gray-100 rounded-sm overflow-hidden relative"
|
|
99
|
+
>
|
|
100
|
+
<template #default>
|
|
101
|
+
<slot name="imageSection" />
|
|
102
|
+
</template>
|
|
103
|
+
</ItemValue>
|
|
104
|
+
<view class="flex flex-col flex-1 gap-2 justify-between text-26rpx overflow-hidden relative">
|
|
105
|
+
<slot name="contentSection" />
|
|
106
|
+
<view class="flex flex-col gap-2 overflow-hidden">
|
|
67
107
|
<template
|
|
68
|
-
v-for="
|
|
69
|
-
:key="
|
|
70
|
-
#[slotName]="slotContext"
|
|
108
|
+
v-for="propName in ['title', 'subTitle', 'location', 'distance', 'tags']"
|
|
109
|
+
:key="propName"
|
|
71
110
|
>
|
|
72
|
-
<
|
|
111
|
+
<ItemValue :prop="propName" v-if="!!$slots?.[propName]">
|
|
112
|
+
<template #image="{ value }"><slot name="image" :value="value" /></template>
|
|
113
|
+
<template #title="{ value }"><slot name="title" :value="value" /></template>
|
|
114
|
+
<template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
|
|
115
|
+
<template #price="{ value }"><slot name="price" :value="value" /></template>
|
|
116
|
+
<template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
|
|
117
|
+
<template #priceSuffix="{ value }">
|
|
118
|
+
<slot name="priceSuffix" :value="value" />
|
|
119
|
+
</template>
|
|
120
|
+
<template #originPrice="{ value }">
|
|
121
|
+
<slot name="originPrice" :value="value" />
|
|
122
|
+
</template>
|
|
123
|
+
<template #originPriceUnit="{ value }">
|
|
124
|
+
<slot name="originPriceUnit" :value="value" />
|
|
125
|
+
</template>
|
|
126
|
+
<template #tags="{ value }"><slot name="tags" :value="value" /></template>
|
|
127
|
+
<template #location="{ value }"><slot name="location" :value="value" /></template>
|
|
128
|
+
<template #distance="{ value }"><slot name="distance" :value="value" /></template>
|
|
129
|
+
</ItemValue>
|
|
130
|
+
<ItemValue :prop="propName" v-else />
|
|
73
131
|
</template>
|
|
74
|
-
</
|
|
75
|
-
</view>
|
|
132
|
+
</view>
|
|
76
133
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
134
|
+
<view class="flex gap-2">
|
|
135
|
+
<view class="flex gap-[4rpx] items-end" v-if="priceVisible && isNumber(price)">
|
|
136
|
+
<template v-for="propName in ['priceUnit', 'price', 'priceSuffix']" :key="propName">
|
|
137
|
+
<ItemValue :prop="propName" v-if="!!$slots?.[propName]">
|
|
138
|
+
<template #image="{ value }"><slot name="image" :value="value" /></template>
|
|
139
|
+
<template #title="{ value }"><slot name="title" :value="value" /></template>
|
|
140
|
+
<template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
|
|
141
|
+
<template #price="{ value }"><slot name="price" :value="value" /></template>
|
|
142
|
+
<template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
|
|
143
|
+
<template #priceSuffix="{ value }">
|
|
144
|
+
<slot name="priceSuffix" :value="value" />
|
|
145
|
+
</template>
|
|
146
|
+
<template #originPrice="{ value }">
|
|
147
|
+
<slot name="originPrice" :value="value" />
|
|
148
|
+
</template>
|
|
149
|
+
<template #originPriceUnit="{ value }">
|
|
150
|
+
<slot name="originPriceUnit" :value="value" />
|
|
151
|
+
</template>
|
|
152
|
+
<template #tags="{ value }"><slot name="tags" :value="value" /></template>
|
|
153
|
+
<template #location="{ value }"><slot name="location" :value="value" /></template>
|
|
154
|
+
<template #distance="{ value }"><slot name="distance" :value="value" /></template>
|
|
155
|
+
</ItemValue>
|
|
156
|
+
<ItemValue :prop="propName" v-else />
|
|
157
|
+
</template>
|
|
158
|
+
</view>
|
|
159
|
+
<view
|
|
160
|
+
class="flex gap-[2rpx] items-end line-through"
|
|
161
|
+
v-if="originPriceVisible && isNumber(originPrice)"
|
|
162
|
+
>
|
|
80
163
|
<template
|
|
81
|
-
v-for="
|
|
82
|
-
:key="
|
|
83
|
-
#[slotName]="slotContext"
|
|
164
|
+
v-for="propName in ['originPriceUnit', 'originPrice', 'originPriceSuffix']"
|
|
165
|
+
:key="propName"
|
|
84
166
|
>
|
|
85
|
-
<
|
|
167
|
+
<ItemValue :prop="propName" v-if="!!$slots?.[propName]">
|
|
168
|
+
<template #image="{ value }"><slot name="image" :value="value" /></template>
|
|
169
|
+
<template #title="{ value }"><slot name="title" :value="value" /></template>
|
|
170
|
+
<template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
|
|
171
|
+
<template #price="{ value }"><slot name="price" :value="value" /></template>
|
|
172
|
+
<template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
|
|
173
|
+
<template #priceSuffix="{ value }">
|
|
174
|
+
<slot name="priceSuffix" :value="value" />
|
|
175
|
+
</template>
|
|
176
|
+
<template #originPrice="{ value }">
|
|
177
|
+
<slot name="originPrice" :value="value" />
|
|
178
|
+
</template>
|
|
179
|
+
<template #originPriceUnit="{ value }">
|
|
180
|
+
<slot name="originPriceUnit" :value="value" />
|
|
181
|
+
</template>
|
|
182
|
+
<template #originPriceSuffix="{ value }">
|
|
183
|
+
<slot name="originPriceSuffix" :value="value" />
|
|
184
|
+
</template>
|
|
185
|
+
<template #tags="{ value }"><slot name="tags" :value="value" /></template>
|
|
186
|
+
<template #location="{ value }"><slot name="location" :value="value" /></template>
|
|
187
|
+
<template #distance="{ value }"><slot name="distance" :value="value" /></template>
|
|
188
|
+
</ItemValue>
|
|
189
|
+
<ItemValue :prop="propName" v-else />
|
|
86
190
|
</template>
|
|
87
|
-
</
|
|
191
|
+
</view>
|
|
88
192
|
</view>
|
|
89
193
|
</view>
|
|
194
|
+
<slot name="itemRightSection" />
|
|
90
195
|
</view>
|
|
196
|
+
<slot name="itemBottomSection" />
|
|
91
197
|
</view>
|
|
92
198
|
|
|
93
199
|
<!-- 竖向布局 -->
|
|
94
|
-
<view v-if="layoutType === 'vertical'"
|
|
95
|
-
<
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
200
|
+
<view v-if="layoutType === 'vertical'" class="flex bg-white relative" :class="className">
|
|
201
|
+
<slot name="itemSection" />
|
|
202
|
+
<slot name="itemLeftSection" />
|
|
203
|
+
<view class="flex-1 flex flex-col w-full overflow-hidden">
|
|
204
|
+
<slot name="itemTopSection" />
|
|
205
|
+
<ItemValue v-if="!!$slots?.['image']" prop="image" className="overflow-hidden relative">
|
|
206
|
+
<template #default>
|
|
207
|
+
<slot name="imageSection" />
|
|
208
|
+
</template>
|
|
209
|
+
<template #image="{ value }">
|
|
210
|
+
<slot name="image" :value="value" />
|
|
211
|
+
</template>
|
|
212
|
+
</ItemValue>
|
|
213
|
+
<ItemValue v-else prop="image" className="overflow-hidden relative">
|
|
214
|
+
<template #default>
|
|
215
|
+
<slot name="imageSection" />
|
|
216
|
+
</template>
|
|
217
|
+
</ItemValue>
|
|
218
|
+
<view
|
|
219
|
+
:class="'p-2'"
|
|
220
|
+
class="flex flex-col flex-1 gap-2 justify-between text-26rpx overflow-hidden relative"
|
|
100
221
|
>
|
|
101
|
-
<slot
|
|
102
|
-
|
|
103
|
-
</ItemValue>
|
|
104
|
-
<view
|
|
105
|
-
:class="'p-2'"
|
|
106
|
-
class="flex flex-col flex-1 gap-2 justify-between text-26rpx overflow-hidden"
|
|
107
|
-
>
|
|
108
|
-
<view class="flex flex-col gap-2 overflow-hidden">
|
|
109
|
-
<!-- <ItemValue prop="title"></ItemValue> -->
|
|
110
|
-
<ItemValue v-for="prop in ['title', 'location', 'tags']" :prop="prop" :key="prop">
|
|
222
|
+
<slot name="contentSection" />
|
|
223
|
+
<view class="flex flex-col gap-2 overflow-hidden">
|
|
111
224
|
<template
|
|
112
|
-
v-for="
|
|
113
|
-
:key="
|
|
114
|
-
#[slotName]="slotContext"
|
|
225
|
+
v-for="propName in ['title', 'subTitle', 'location', 'distance', 'tags']"
|
|
226
|
+
:key="propName"
|
|
115
227
|
>
|
|
116
|
-
<
|
|
228
|
+
<ItemValue :prop="propName" v-if="!!$slots?.[propName]">
|
|
229
|
+
<template #image="{ value }"><slot name="image" :value="value" /></template>
|
|
230
|
+
<template #title="{ value }"><slot name="title" :value="value" /></template>
|
|
231
|
+
<template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
|
|
232
|
+
<template #price="{ value }"><slot name="price" :value="value" /></template>
|
|
233
|
+
<template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
|
|
234
|
+
<template #priceSuffix="{ value }">
|
|
235
|
+
<slot name="priceSuffix" :value="value" />
|
|
236
|
+
</template>
|
|
237
|
+
<template #originPrice="{ value }">
|
|
238
|
+
<slot name="originPrice" :value="value" />
|
|
239
|
+
</template>
|
|
240
|
+
<template #originPriceUnit="{ value }">
|
|
241
|
+
<slot name="originPriceUnit" :value="value" />
|
|
242
|
+
</template>
|
|
243
|
+
<template #tags="{ value }"><slot name="tags" :value="value" /></template>
|
|
244
|
+
<template #location="{ value }"><slot name="location" :value="value" /></template>
|
|
245
|
+
<template #distance="{ value }"><slot name="distance" :value="value" /></template>
|
|
246
|
+
</ItemValue>
|
|
247
|
+
<ItemValue :prop="propName" v-else />
|
|
117
248
|
</template>
|
|
118
|
-
</
|
|
119
|
-
</view>
|
|
249
|
+
</view>
|
|
120
250
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
251
|
+
<view class="flex gap-2">
|
|
252
|
+
<view class="flex gap-[4rpx] items-end" v-if="priceVisible && isNumber(price)">
|
|
253
|
+
<template v-for="propName in ['priceUnit', 'price', 'priceSuffix']" :key="propName">
|
|
254
|
+
<ItemValue :prop="propName" v-if="!!$slots?.[propName]">
|
|
255
|
+
<template #image="{ value }"><slot name="image" :value="value" /></template>
|
|
256
|
+
<template #title="{ value }"><slot name="title" :value="value" /></template>
|
|
257
|
+
<template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
|
|
258
|
+
<template #price="{ value }"><slot name="price" :value="value" /></template>
|
|
259
|
+
<template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
|
|
260
|
+
<template #priceSuffix="{ value }">
|
|
261
|
+
<slot name="priceSuffix" :value="value" />
|
|
262
|
+
</template>
|
|
263
|
+
<template #originPrice="{ value }">
|
|
264
|
+
<slot name="originPrice" :value="value" />
|
|
265
|
+
</template>
|
|
266
|
+
<template #originPriceUnit="{ value }">
|
|
267
|
+
<slot name="originPriceUnit" :value="value" />
|
|
268
|
+
</template>
|
|
269
|
+
<template #tags="{ value }"><slot name="tags" :value="value" /></template>
|
|
270
|
+
<template #location="{ value }"><slot name="location" :value="value" /></template>
|
|
271
|
+
<template #distance="{ value }"><slot name="distance" :value="value" /></template>
|
|
272
|
+
</ItemValue>
|
|
273
|
+
<ItemValue :prop="propName" v-else />
|
|
274
|
+
</template>
|
|
275
|
+
</view>
|
|
276
|
+
<view
|
|
277
|
+
class="flex gap-[2rpx] items-end line-through"
|
|
278
|
+
v-if="originPriceVisible && isNumber(originPrice)"
|
|
279
|
+
>
|
|
124
280
|
<template
|
|
125
|
-
v-for="
|
|
126
|
-
:key="
|
|
127
|
-
#[slotName]="slotContext"
|
|
281
|
+
v-for="propName in ['originPriceUnit', 'originPrice', 'originPriceSuffix']"
|
|
282
|
+
:key="propName"
|
|
128
283
|
>
|
|
129
|
-
<
|
|
284
|
+
<ItemValue :prop="propName" v-if="!!$slots?.[propName]">
|
|
285
|
+
<template #image="{ value }"><slot name="image" :value="value" /></template>
|
|
286
|
+
<template #title="{ value }"><slot name="title" :value="value" /></template>
|
|
287
|
+
<template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
|
|
288
|
+
<template #price="{ value }"><slot name="price" :value="value" /></template>
|
|
289
|
+
<template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
|
|
290
|
+
<template #priceSuffix="{ value }">
|
|
291
|
+
<slot name="priceSuffix" :value="value" />
|
|
292
|
+
</template>
|
|
293
|
+
<template #originPrice="{ value }">
|
|
294
|
+
<slot name="originPrice" :value="value" />
|
|
295
|
+
</template>
|
|
296
|
+
<template #originPriceUnit="{ value }">
|
|
297
|
+
<slot name="originPriceUnit" :value="value" />
|
|
298
|
+
</template>
|
|
299
|
+
<template #originPriceSuffix="{ value }">
|
|
300
|
+
<slot name="originPriceSuffix" :value="value" />
|
|
301
|
+
</template>
|
|
302
|
+
<template #tags="{ value }"><slot name="tags" :value="value" /></template>
|
|
303
|
+
<template #location="{ value }"><slot name="location" :value="value" /></template>
|
|
304
|
+
<template #distance="{ value }"><slot name="distance" :value="value" /></template>
|
|
305
|
+
</ItemValue>
|
|
306
|
+
<ItemValue :prop="propName" v-else />
|
|
130
307
|
</template>
|
|
131
|
-
</
|
|
308
|
+
</view>
|
|
132
309
|
</view>
|
|
133
310
|
</view>
|
|
311
|
+
<slot name="itemBottomSection" />
|
|
134
312
|
</view>
|
|
313
|
+
<slot name="itemRightSection" />
|
|
135
314
|
</view>
|
|
136
315
|
</template>
|
|
137
316
|
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { CSSProperties } from 'vue'
|
|
2
|
-
|
|
3
|
-
export const lcbProductItemContentTypes = [
|
|
4
|
-
'image',
|
|
5
|
-
'title',
|
|
6
|
-
'subTitle',
|
|
7
|
-
'price',
|
|
8
|
-
'priceUnit',
|
|
9
|
-
'priceSuffix',
|
|
10
|
-
'originPrice',
|
|
11
|
-
'originPriceUnit',
|
|
12
|
-
'tags',
|
|
13
|
-
'location',
|
|
14
|
-
'distance',
|
|
15
|
-
] as const
|
|
2
|
+
import { TagType } from '@tplc/wot/components/wd-tag/types'
|
|
16
3
|
|
|
17
4
|
export interface LcbProductItemProps {
|
|
18
5
|
// Define the component's prop types here
|
|
19
6
|
className?: string
|
|
20
7
|
layoutType?: 'vertical' | 'horizontal'
|
|
8
|
+
titleLineClamp?: number
|
|
9
|
+
tagOverflowWrap?: boolean
|
|
10
|
+
tagType?: TagType
|
|
11
|
+
tagContentColor?: string
|
|
12
|
+
tagBgColor?: string
|
|
13
|
+
tagPlain?: boolean
|
|
14
|
+
tagMark?: boolean
|
|
15
|
+
tagRound?: boolean
|
|
16
|
+
distanceUnit?: string
|
|
17
|
+
|
|
21
18
|
image?: any
|
|
22
19
|
title?: any
|
|
23
20
|
subTitle?: any
|
|
@@ -26,6 +23,7 @@ export interface LcbProductItemProps {
|
|
|
26
23
|
priceSuffix?: any
|
|
27
24
|
originPrice?: any
|
|
28
25
|
originPriceUnit?: any
|
|
26
|
+
originPriceSuffix?: any
|
|
29
27
|
tags?: any
|
|
30
28
|
location?: any
|
|
31
29
|
distance?: any
|
|
@@ -38,6 +36,7 @@ export interface LcbProductItemProps {
|
|
|
38
36
|
priceSuffixVisible?: boolean
|
|
39
37
|
originPriceVisible?: boolean
|
|
40
38
|
originPriceUnitVisible?: boolean
|
|
39
|
+
originPriceSuffixVisible?: boolean
|
|
41
40
|
tagsVisible?: boolean
|
|
42
41
|
locationVisible?: boolean
|
|
43
42
|
distanceVisible?: boolean
|
|
@@ -50,6 +49,7 @@ export interface LcbProductItemProps {
|
|
|
50
49
|
priceSuffixClass?: string
|
|
51
50
|
originPriceClass?: string
|
|
52
51
|
originPriceUnitClass?: string
|
|
52
|
+
originPriceSuffixClass?: string
|
|
53
53
|
tagsClass?: string
|
|
54
54
|
tagsWrapperClass?: string
|
|
55
55
|
locationClass?: string
|
|
@@ -63,6 +63,7 @@ export interface LcbProductItemProps {
|
|
|
63
63
|
priceSuffixStyle?: CSSProperties
|
|
64
64
|
originPriceStyle?: CSSProperties
|
|
65
65
|
originPriceUnitStyle?: CSSProperties
|
|
66
|
+
originPriceSuffixStyle?: CSSProperties
|
|
66
67
|
tagsStyle?: CSSProperties
|
|
67
68
|
tagsWrapperStyle?: CSSProperties
|
|
68
69
|
locationStyle?: CSSProperties
|
package/package.json
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
code: string
|
|
3
|
+
count: number
|
|
4
|
+
data: {
|
|
5
|
+
address: string
|
|
6
|
+
agentId: string
|
|
7
|
+
areaId: string
|
|
8
|
+
areaName: string
|
|
9
|
+
auditDateTime: string
|
|
10
|
+
auditRemark: string
|
|
11
|
+
auditStatus: number
|
|
12
|
+
behindUnit: string
|
|
13
|
+
bigIcon: boolean
|
|
14
|
+
businessStatus: number
|
|
15
|
+
cityAreaName: string
|
|
16
|
+
cityId: string
|
|
17
|
+
cityName: string
|
|
18
|
+
clickCount: number
|
|
19
|
+
collectCount: number
|
|
20
|
+
collectFlag: boolean
|
|
21
|
+
commentCount: number
|
|
22
|
+
coverImg: string
|
|
23
|
+
createDate: string
|
|
24
|
+
distance: string
|
|
25
|
+
hideTags: string
|
|
26
|
+
hierarchy: number
|
|
27
|
+
lastModifyDate: string
|
|
28
|
+
latitude: string
|
|
29
|
+
level: string
|
|
30
|
+
longitude: string
|
|
31
|
+
mapShowFlag: boolean
|
|
32
|
+
marketingType: number
|
|
33
|
+
merchantHeadId: string
|
|
34
|
+
merchantId: string
|
|
35
|
+
orderCount: number
|
|
36
|
+
orderSkuCount: number
|
|
37
|
+
peopleNumScope: string
|
|
38
|
+
phone: string
|
|
39
|
+
poiId: string
|
|
40
|
+
poiName: string
|
|
41
|
+
poiNameI18n: string
|
|
42
|
+
poiType: string
|
|
43
|
+
praiseCount: number
|
|
44
|
+
praiseFlag: boolean
|
|
45
|
+
price: number
|
|
46
|
+
productId: string
|
|
47
|
+
productName: string
|
|
48
|
+
productNameI18n: string
|
|
49
|
+
productType: string
|
|
50
|
+
provinceId: string
|
|
51
|
+
provinceName: string
|
|
52
|
+
scribePrice: number
|
|
53
|
+
showDateFlag: boolean
|
|
54
|
+
startDateStr: string
|
|
55
|
+
startTime: string
|
|
56
|
+
status: number
|
|
57
|
+
tags: string
|
|
58
|
+
weightSort: string
|
|
59
|
+
}[]
|
|
60
|
+
dataClass: string
|
|
61
|
+
traceId: string
|
|
62
|
+
}
|
|
63
|
+
export default _default
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { LcbListProps } from './types'
|
|
2
2
|
import './index.scss'
|
|
3
|
-
declare function __VLS_template(): {
|
|
4
|
-
list
|
|
3
|
+
declare function __VLS_template(): Readonly<{
|
|
4
|
+
list(props: { items: any }): any
|
|
5
|
+
item(props: { item: any }): any
|
|
6
|
+
}> & {
|
|
7
|
+
list(props: { items: any }): any
|
|
8
|
+
item(props: { item: any }): any
|
|
5
9
|
}
|
|
6
10
|
declare const __VLS_component: import('vue').DefineComponent<
|
|
7
11
|
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbListProps>, any>,
|
|
@@ -20,9 +24,9 @@ declare const __VLS_component: import('vue').DefineComponent<
|
|
|
20
24
|
{
|
|
21
25
|
listType: 'horizontal' | 'list' | 'grid' | 'waterfall'
|
|
22
26
|
pageFilterType: string
|
|
27
|
+
pageListProps: import('./components/FilterList/type').PageListProps
|
|
23
28
|
border: boolean
|
|
24
29
|
styleMode: 'default' | 'plain'
|
|
25
|
-
pageListProps: import('./components/FilterList/type').PageListProps
|
|
26
30
|
},
|
|
27
31
|
{}
|
|
28
32
|
>
|
|
@@ -1,28 +1,8 @@
|
|
|
1
1
|
import { LcbProductProps } from './types'
|
|
2
2
|
declare function __VLS_template(): Readonly<{
|
|
3
|
-
|
|
4
|
-
title(): any
|
|
5
|
-
subTitle(): any
|
|
6
|
-
price(): any
|
|
7
|
-
priceUnit(): any
|
|
8
|
-
priceSuffix(): any
|
|
9
|
-
originPrice(): any
|
|
10
|
-
originPriceUnit(): any
|
|
11
|
-
tags(): any
|
|
12
|
-
location(): any
|
|
13
|
-
distance(): any
|
|
3
|
+
item(props: { item: any }): any
|
|
14
4
|
}> & {
|
|
15
|
-
|
|
16
|
-
title(): any
|
|
17
|
-
subTitle(): any
|
|
18
|
-
price(): any
|
|
19
|
-
priceUnit(): any
|
|
20
|
-
priceSuffix(): any
|
|
21
|
-
originPrice(): any
|
|
22
|
-
originPriceUnit(): any
|
|
23
|
-
tags(): any
|
|
24
|
-
location(): any
|
|
25
|
-
distance(): any
|
|
5
|
+
item(props: { item: any }): any
|
|
26
6
|
}
|
|
27
7
|
declare const __VLS_component: import('vue').DefineComponent<
|
|
28
8
|
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbProductProps>, any>,
|
|
@@ -1,11 +1,29 @@
|
|
|
1
|
-
declare function __VLS_template(): {
|
|
2
|
-
image
|
|
3
|
-
title
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
priceUnit
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
declare function __VLS_template(): Readonly<{
|
|
2
|
+
image(props: { value: any }): any
|
|
3
|
+
title(props: { value: any }): any
|
|
4
|
+
subTitle(props: { value: any }): any
|
|
5
|
+
price(props: { value: any }): any
|
|
6
|
+
priceUnit(props: { value: any }): any
|
|
7
|
+
priceSuffix(props: { value: any }): any
|
|
8
|
+
originPrice(props: { value: any }): any
|
|
9
|
+
originPriceUnit(props: { value: any }): any
|
|
10
|
+
originPriceSuffix(props: { value: any }): any
|
|
11
|
+
tags(props: { value: any }): any
|
|
12
|
+
location(props: { value: any }): any
|
|
13
|
+
distance(props: { value: any }): any
|
|
14
|
+
}> & {
|
|
15
|
+
image(props: { value: any }): any
|
|
16
|
+
title(props: { value: any }): any
|
|
17
|
+
subTitle(props: { value: any }): any
|
|
18
|
+
price(props: { value: any }): any
|
|
19
|
+
priceUnit(props: { value: any }): any
|
|
20
|
+
priceSuffix(props: { value: any }): any
|
|
21
|
+
originPrice(props: { value: any }): any
|
|
22
|
+
originPriceUnit(props: { value: any }): any
|
|
23
|
+
originPriceSuffix(props: { value: any }): any
|
|
24
|
+
tags(props: { value: any }): any
|
|
25
|
+
location(props: { value: any }): any
|
|
26
|
+
distance(props: { value: any }): any
|
|
9
27
|
}
|
|
10
28
|
declare const __VLS_component: import('vue').DefineComponent<
|
|
11
29
|
__VLS_WithDefaults<
|