@tplc/business 0.2.65 → 0.2.67

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 CHANGED
@@ -2,6 +2,21 @@
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.2.67](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.66...v0.2.67) (2025-01-05)
6
+
7
+
8
+ ### ✨ Features | 新功能
9
+
10
+ * 新增配置 ([3f75c1f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/3f75c1f75f1f86d1f5049700bef7af0b1d1185cd))
11
+
12
+ ### [0.2.66](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.65...v0.2.66) (2025-01-05)
13
+
14
+
15
+ ### ✨ Features | 新功能
16
+
17
+ * slider 改造 ([d472ee7](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/d472ee7a24b8539ec93defd27ab94cef14938d1f))
18
+ * 新增切换模式 ([a8849df](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/a8849df2d7ee55127f0b40c2c47f9e5c75cccab0))
19
+
5
20
  ### [0.2.65](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.1.52...v0.2.65) (2025-01-05)
6
21
 
7
22
  ### [0.2.64](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.63...v0.2.64) (2025-01-05)
@@ -25,41 +25,33 @@
25
25
  </template>
26
26
 
27
27
  <FilterList
28
- v-bind="{ ...info.listInfo, listType, ...attrs }"
28
+ v-bind="{ ...info.listInfo, listType, ...props }"
29
29
  :autoHeight="!isSticky"
30
30
  v-model="items"
31
31
  v-if="mode === 'list'"
32
32
  >
33
33
  <slot name="list" :items="items" v-if="$slots.list" />
34
34
  <template v-else>
35
- <lcb-product
36
- v-bind="{ ...attrs, form }"
37
- :listType="listType"
38
- :items="items"
39
- v-if="$slots.item"
40
- >
35
+ <lcb-product v-bind="{ ...$props, form }" :items="items" v-if="$slots.item">
41
36
  <template #item="{ item }">
42
37
  <slot name="item" :item="item"></slot>
43
38
  </template>
44
39
  </lcb-product>
45
- <lcb-product v-bind="{ ...attrs, form }" :listType="listType" :items="items" v-else />
40
+ <lcb-product v-bind="{ ...$props, form }" :items="items" v-else />
46
41
  </template>
47
42
  </FilterList>
48
- <lcb-map v-else-if="mode === 'map'" v-bind="{ ...info.listInfo, ...attrs }" />
43
+ <lcb-map v-else-if="mode === 'map'" v-bind="{ ...info.listInfo, ...$props }" />
49
44
  </template>
50
- <!-- <lcb-product v-bind="{ ...attrs }" :listType="listType" :items="mockData.data" v-else /> -->
51
45
  </template>
52
46
 
53
47
  <script setup lang="ts">
54
- import { inject, Ref, ref, useAttrs, watch } from 'vue'
48
+ import { inject, Ref, ref, watch } from 'vue'
55
49
  import { getFilterDetail, LcbFilterResult } from './api'
56
50
  import FilterList from './components/FilterList/index.vue'
57
51
  import FilterView from './components/FilterView/index.vue'
58
52
  import { LcbListProps } from './types'
59
- import mockData from './components/FilterList/mockData'
60
53
  import { FORM_KEY } from '../../constants'
61
54
  import './index.scss'
62
- const attrs = useAttrs()
63
55
  /** 是否悬停 */
64
56
  const sticky = ref(false)
65
57
  const items = ref([])
@@ -75,11 +67,13 @@ const titleObj = ref<Record<string, any>>({})
75
67
  const form = inject<Ref<Record<string, any>>>(FORM_KEY)
76
68
  const props = withDefaults(defineProps<LcbListProps>(), {
77
69
  pageFilterType: 'hotelTravelFilter',
78
- border: true,
70
+ borderRadius: 12,
79
71
  styleMode: 'default',
80
72
  listType: 'list',
81
73
  isSticky: true,
82
74
  mode: 'list',
75
+ imageWidth: 250,
76
+ titleLineClamp: 2,
83
77
  // @ts-ignore
84
78
  pageListProps: () => ({
85
79
  productProps: {
@@ -4,11 +4,18 @@ import { LcbProductProps } from '../lcb-product/types'
4
4
  export interface LcbListProps {
5
5
  pageFilterType?: string
6
6
  pageListProps?: PageListProps
7
- border?: boolean
7
+ borderRadius?: number
8
8
  styleMode?: 'default' | 'plain'
9
+ imageWidth?: number
10
+ border?: boolean
11
+ imageHeight?: number
12
+ titleLineClamp?: number
9
13
  listType?: LcbProductProps['listType']
10
14
  isSticky?: boolean
11
15
  mode?: 'map' | 'list'
16
+ layoutType?: 'vertical' | 'horizontal'
17
+ imageRadius?: number
18
+ itemWidth?: number // 列表项宽度
12
19
  }
13
20
  export interface Option {
14
21
  label: string
@@ -2,23 +2,24 @@
2
2
  import { ref, useAttrs, watch } from 'vue'
3
3
  import UWaterfall from 'uview-plus/components/u-waterfall/u-waterfall.vue'
4
4
  import { LcbProductProps } from './types'
5
+ import { transformValueUnit } from '../../utils/transform'
5
6
 
6
- const attrs = useAttrs()
7
7
  const uWaterfallRef = ref()
8
8
  defineOptions({
9
9
  name: 'LcbProduct',
10
10
  options: {
11
11
  addGlobalClass: true,
12
12
  virtualHost: true,
13
+ layoutType: 'vertical',
13
14
  styleIsolation: 'shared',
14
15
  },
15
16
  })
16
17
  const props = withDefaults(defineProps<LcbProductProps>(), {
17
18
  listType: 'list',
18
19
  items: [],
19
- imageWidthPercent: (1 / 3) * 100,
20
- imageHeightPercent: (260 / 670) * 100,
21
- itemHeight: 670,
20
+ imageWidth: 200,
21
+ imageHeight: 250,
22
+ titleLineClamp: 2,
22
23
  } as any)
23
24
  defineSlots<{
24
25
  item(props: { item: any }): any
@@ -34,6 +35,7 @@ watch(
34
35
 
35
36
  <template>
36
37
  <lcb-block v-bind="$props">
38
+ <!-- 单列 -->
37
39
  <view class="flex flex-col gap-2 p-3" v-if="listType === 'list'">
38
40
  <lcb-action-view
39
41
  v-for="(item, index) in items"
@@ -52,25 +54,27 @@ watch(
52
54
  />
53
55
  <lcb-product-item
54
56
  v-else
55
- v-bind="{ ...item, ...attrs }"
57
+ v-bind="{ ...item, ...$props }"
58
+ :layoutType="layoutType"
56
59
  :coverImgStyle="{
57
- width: imageWidth ?? `${imageWidthPercent}%`,
58
- height: imageHeight ? `${imageHeight}rpx` : undefined,
59
- borderRadius: imageRadius ? `${imageRadius}rpx` : undefined,
60
- ...(attrs?.coverImgStyle ?? {}),
60
+ width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
61
+ height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
62
+ minHeight: layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
63
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
64
+ ...($props?.coverImgStyle ?? {}),
61
65
  }"
62
66
  ></lcb-product-item>
63
67
  </slot>
64
68
  </lcb-action-view>
65
69
  </view>
66
-
70
+ <!-- 双列 -->
67
71
  <view class="grid p-3 grid-cols-2 gap-2 box-border" v-if="listType === 'grid'">
68
72
  <lcb-action-view
69
73
  v-for="(item, index) in items"
70
74
  :key="`${item?.productId}:${index}`"
71
75
  v-bind="item.link"
72
76
  >
73
- <view class="rounded-md overflow-hidden" :style="{ height: `${itemHeight}rpx` }">
77
+ <view class="rounded-md overflow-hidden">
74
78
  <slot name="item" :item="item">
75
79
  <lcb-absolute-config-layout
76
80
  v-if="renderItemAbsoluteConfigLayout"
@@ -83,12 +87,13 @@ watch(
83
87
  />
84
88
  <lcb-product-item
85
89
  v-else
86
- v-bind="{ ...item, ...attrs }"
90
+ v-bind="{ ...item, ...$props }"
87
91
  layoutType="vertical"
88
- className="!h-full"
89
92
  :coverImgStyle="{
90
- height: `${imageHeightPercent}%`,
91
- ...(attrs?.coverImgStyle ?? {}),
93
+ width: '100%',
94
+ height: transformValueUnit(imageHeight),
95
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
96
+ ...($props?.coverImgStyle ?? {}),
92
97
  }"
93
98
  ></lcb-product-item>
94
99
  </slot>
@@ -118,10 +123,9 @@ watch(
118
123
  />
119
124
  <lcb-product-item
120
125
  v-else
121
- v-bind="{ ...item, ...attrs }"
126
+ v-bind="{ ...item, ...$props }"
122
127
  layoutType="vertical"
123
128
  tag-overflow-wrap
124
- :title-line-clamp="2"
125
129
  >
126
130
  <template #coverImg="{ value }">
127
131
  <image :src="value" class="w-full" mode="widthFix" />
@@ -151,10 +155,9 @@ watch(
151
155
  />
152
156
  <lcb-product-item
153
157
  v-else
154
- v-bind="{ ...item, ...attrs }"
158
+ v-bind="{ ...item, ...$props }"
155
159
  layoutType="vertical"
156
160
  tag-overflow-wrap
157
- :title-line-clamp="2"
158
161
  >
159
162
  <template #coverImg="{ value }">
160
163
  <image :src="value" class="w-full" mode="widthFix" />
@@ -168,11 +171,15 @@ watch(
168
171
  </view>
169
172
 
170
173
  <scroll-view v-if="listType == 'horizontal'" scroll-x>
171
- <view class="p-2 flex gap-2 whitespace-nowrap overflow-auto flex-nowrap">
174
+ <view class="p-3 whitespace-nowrap overflow-x-auto">
172
175
  <view
173
176
  v-for="(item, index) in items"
174
177
  :key="`${item?.productId}:${index}`"
175
- class="!w-66vw flex-shrink-0"
178
+ class="inline-block"
179
+ :style="{
180
+ width: `${itemWidth}rpx`,
181
+ marginLeft: index === 0 ? 0 : '24rpx',
182
+ }"
176
183
  >
177
184
  <slot name="item" :item="item">
178
185
  <lcb-absolute-config-layout
@@ -184,7 +191,19 @@ watch(
184
191
  ...item,
185
192
  }"
186
193
  />
187
- <lcb-product-item v-else v-bind="item" imageClass="!w-1/2"></lcb-product-item>
194
+ <lcb-product-item
195
+ v-else
196
+ v-bind="item"
197
+ :layoutType="layoutType"
198
+ :coverImgStyle="{
199
+ width: layoutType === 'vertical' ? '100%' : transformValueUnit(imageWidth),
200
+ height: layoutType === 'vertical' ? transformValueUnit(imageHeight) : undefined,
201
+ minHeight: layoutType !== 'vertical' ? transformValueUnit(imageHeight) : undefined,
202
+ borderRadius: imageRadius ? transformValueUnit(imageRadius) : undefined,
203
+ ...($props?.coverImgStyle ?? {}),
204
+ }"
205
+ :titleLineClamp="titleLineClamp"
206
+ ></lcb-product-item>
188
207
  </slot>
189
208
  </view>
190
209
  </view>
@@ -1,14 +1,16 @@
1
1
  export interface LcbProductProps {
2
2
  // Define the component's prop types here
3
3
  listType?: 'list' | 'horizontal' | 'grid' | 'waterfall' // 1列表 2 左右滑动 3一行两个 4瀑布流
4
- imageWidthPercent?: number
5
- imageHeightPercent?: number
6
4
  imageWidth?: number
7
5
  imageHeight?: number
8
6
  imageRadius?: number
9
- itemHeight?: number // 列表项高度
7
+ borderRadius?: number
8
+ itemWidth?: number // 列表项宽度
10
9
  items?: Record<string, any>[]
11
10
  form?: Record<string, any>
11
+ layoutType?: 'vertical' | 'horizontal' // 布局方式
12
+ titleLineClamp?: number
13
+ coverImgStyle?: Record<string, any>
12
14
  renderItemAbsoluteConfigLayout?: {
13
15
  dataset?: Record<string, any>
14
16
  blocks: any[]
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { inject, computed, useAttrs } from 'vue'
2
+ import { inject, computed } from 'vue'
3
3
  import { isArray } from '@tplc/wot/components/common/util'
4
4
  import { formatJson } from '../../../utils/utils'
5
5
  defineOptions({
@@ -10,13 +10,10 @@ defineOptions({
10
10
  styleIsolation: 'shared',
11
11
  },
12
12
  })
13
- // const attrs = useAttrs()
14
13
 
15
14
  const itemProps: any = inject('lcb-product-item-props')
16
15
  const itemAttrs: any = inject('lcb-product-item-attrs')
17
16
 
18
- // console.log('itemAttrs', itemAttrs)
19
-
20
17
  const props = withDefaults(
21
18
  defineProps<{
22
19
  prop: string
@@ -143,7 +140,13 @@ const value = computed(() => {
143
140
 
144
141
  <slot :value="value" v-if="prop === 'level'" name="level">
145
142
  <view :class="className" :style="style" class="inline pl-1 relative top-[-3px]">
146
- <wd-rate :model-value="Number(value)" :num="value" readonly size="12px" space="2px" />
143
+ <wd-rate
144
+ :model-value="Number(value)"
145
+ :num="Number(value)"
146
+ readonly
147
+ size="12px"
148
+ space="2px"
149
+ />
147
150
  </view>
148
151
  </slot>
149
152
  <slot :value="value" v-if="prop === 'titleIcon'" name="titleIcon">
@@ -333,17 +336,20 @@ const value = computed(() => {
333
336
  -webkit-box-orient: vertical;
334
337
  -webkit-line-clamp: 1;
335
338
  overflow: hidden;
339
+ white-space: normal;
336
340
  }
337
341
  .line-clamp-2 {
338
342
  display: -webkit-box;
339
343
  -webkit-box-orient: vertical;
340
344
  -webkit-line-clamp: 2;
341
345
  overflow: hidden;
346
+ white-space: normal;
342
347
  }
343
348
  .line-clamp-3 {
344
349
  display: -webkit-box;
345
350
  -webkit-box-orient: vertical;
346
351
  -webkit-line-clamp: 3;
347
352
  overflow: hidden;
353
+ white-space: normal;
348
354
  }
349
355
  </style>
@@ -1,7 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { computed, provide, useAttrs } from 'vue'
2
+ import { provide, useAttrs } from 'vue'
3
3
  import { LcbProductItemProps } from './types'
4
4
  import ItemValue from './components/ItemValue.vue'
5
+ import { transformValueUnit } from '../../utils/transform'
5
6
  defineOptions({
6
7
  name: 'LcbProductItem',
7
8
  options: {
@@ -46,6 +47,7 @@ const props = withDefaults(defineProps<LcbProductItemProps>(), {
46
47
  tagsVisible: true,
47
48
  addressIntroVisible: true,
48
49
  distanceVisible: true,
50
+ borderRadius: 12,
49
51
  })
50
52
  const attrs = useAttrs()
51
53
  provide('lcb-product-item-props', props)
@@ -93,7 +95,10 @@ defineSlots<{
93
95
  <view
94
96
  v-if="layoutType === 'horizontal'"
95
97
  :class="className"
96
- class="flex flex-col gap-1 px-2 py-3 bg-white relative"
98
+ class="flex flex-col gap-1 px-2 py-3 bg-white relative overflow-clip"
99
+ :style="{
100
+ borderRadius: transformValueUnit(borderRadius),
101
+ }"
97
102
  >
98
103
  <slot name="itemSection" />
99
104
  <slot name="itemTopSection" />
@@ -102,7 +107,7 @@ defineSlots<{
102
107
  <ItemValue
103
108
  v-if="!!$slots?.['coverImg']"
104
109
  prop="coverImg"
105
- customClass="w-1/3 h-[360rpx] bg-gray-100 rounded-sm overflow-hidden relative"
110
+ customClass=" bg-gray-100 rounded-sm overflow-hidden relative"
106
111
  >
107
112
  <template #default>
108
113
  <slot name="coverImgSection" />
@@ -114,7 +119,7 @@ defineSlots<{
114
119
  <ItemValue
115
120
  v-else
116
121
  prop="coverImg"
117
- customClass="w-1/3 h-[360rpx] bg-gray-100 rounded-sm overflow-hidden relative"
122
+ customClass=" bg-gray-100 rounded-sm overflow-hidden relative"
118
123
  >
119
124
  <template #default>
120
125
  <slot name="coverImgSection" />
@@ -123,33 +128,6 @@ defineSlots<{
123
128
  <view class="flex flex-col flex-1 text-26rpx overflow-hidden relative">
124
129
  <slot name="contentSection" />
125
130
  <view class="flex flex-col gap-[5px] overflow-hidden">
126
- <!-- <template
127
- v-for="propName in ['productName', 'subTitle', 'addressIntro', 'distance', 'tags']"
128
- :key="propName"
129
- >
130
- <ItemValue :prop="propName" v-if="!!$slots?.[propName]">
131
- <template #coverImg="{ value }"><slot name="coverImg" :value="value" /></template>
132
- <template #productName="{ value }"><slot name="productName" :value="value" /></template>
133
- <template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
134
- <template #price="{ value }"><slot name="price" :value="value" /></template>
135
- <template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
136
- <template #priceSuffix="{ value }">
137
- <slot name="priceSuffix" :value="value" />
138
- </template>
139
- <template #scribePrice="{ value }">
140
- <slot name="scribePrice" :value="value" />
141
- </template>
142
- <template #scribePriceUnit="{ value }">
143
- <slot name="scribePriceUnit" :value="value" />
144
- </template>
145
- <template #tags="{ value }"><slot name="tags" :value="value" /></template>
146
- <template #addressIntro="{ value }">
147
- <slot name="addressIntro" :value="value" />
148
- </template>
149
- <template #distance="{ value }"><slot name="distance" :value="value" /></template>
150
- </ItemValue>
151
- <ItemValue :prop="propName" v-else />
152
- </template> -->
153
131
  <view class="text-ellipsis line-clamp-2">
154
132
  <ItemValue prop="productName">
155
133
  <!-- <template #productName="{ value }"><slot name="productName" :value="value" /></template> -->
@@ -257,7 +235,14 @@ defineSlots<{
257
235
  </view>
258
236
 
259
237
  <!-- 竖向布局 -->
260
- <view v-if="layoutType === 'vertical'" class="flex bg-white relative" :class="className">
238
+ <view
239
+ v-if="layoutType === 'vertical'"
240
+ class="flex bg-white relative overflow-hidden"
241
+ :class="className"
242
+ :style="{
243
+ borderRadius: transformValueUnit(borderRadius),
244
+ }"
245
+ >
261
246
  <slot name="itemSection" />
262
247
  <slot name="itemLeftSection" />
263
248
  <view class="flex-1 flex flex-col w-full overflow-hidden">
@@ -282,33 +267,6 @@ defineSlots<{
282
267
  <view class="p-2 flex flex-col flex-1 text-26rpx overflow-hidden relative">
283
268
  <slot name="contentSection" />
284
269
  <view class="flex flex-col gap-[5px] overflow-hidden">
285
- <!-- <template
286
- v-for="propName in ['productName', 'subTitle', 'addressIntro', 'distance', 'tags']"
287
- :key="propName"
288
- >
289
- <ItemValue :prop="propName" v-if="!!$slots?.[propName]">
290
- <template #coverImg="{ value }"><slot name="coverImg" :value="value" /></template>
291
- <template #productName="{ value }"><slot name="productName" :value="value" /></template>
292
- <template #subTitle="{ value }"><slot name="subTitle" :value="value" /></template>
293
- <template #price="{ value }"><slot name="price" :value="value" /></template>
294
- <template #priceUnit="{ value }"><slot name="priceUnit" :value="value" /></template>
295
- <template #priceSuffix="{ value }">
296
- <slot name="priceSuffix" :value="value" />
297
- </template>
298
- <template #scribePrice="{ value }">
299
- <slot name="scribePrice" :value="value" />
300
- </template>
301
- <template #scribePriceUnit="{ value }">
302
- <slot name="scribePriceUnit" :value="value" />
303
- </template>
304
- <template #tags="{ value }"><slot name="tags" :value="value" /></template>
305
- <template #addressIntro="{ value }">
306
- <slot name="addressIntro" :value="value" />
307
- </template>
308
- <template #distance="{ value }"><slot name="distance" :value="value" /></template>
309
- </ItemValue>
310
- <ItemValue :prop="propName" v-else />
311
- </template> -->
312
270
  <view class="text-ellipsis line-clamp-2">
313
271
  <ItemValue prop="productName">
314
272
  <!-- <template #productName="{ value }"><slot name="productName" :value="value" /></template> -->
@@ -15,7 +15,7 @@ export interface LcbProductItemProps {
15
15
  tagRound?: boolean
16
16
  distanceUnit?: string
17
17
  imageType?: 'square' | 'vertical' | 'horizontal'
18
-
18
+ borderRadius?: number
19
19
  coverImg?: any
20
20
  productName?: any
21
21
  headImg?: string
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tplc/business",
3
- "version": "0.2.65",
3
+ "version": "0.2.67",
4
4
  "keywords": [
5
5
  "业务组件"
6
6
  ],
@@ -20,12 +20,19 @@ declare const __VLS_component: import('vue').DefineComponent<
20
20
  >,
21
21
  {
22
22
  mode: 'map' | 'list'
23
+ imageRadius: number
24
+ imageWidth: number
25
+ borderRadius: number
26
+ imageHeight: number
23
27
  listType: 'list' | 'horizontal' | 'grid' | 'waterfall'
24
28
  pageFilterType: string
25
29
  pageListProps: import('./components/FilterList/type').PageListProps
26
- border: boolean
27
30
  styleMode: 'default' | 'plain'
31
+ border: boolean
32
+ titleLineClamp: number
28
33
  isSticky: boolean
34
+ layoutType: 'vertical' | 'horizontal'
35
+ itemWidth: number
29
36
  },
30
37
  {}
31
38
  >
@@ -3,11 +3,18 @@ import { LcbProductProps } from '../lcb-product/types'
3
3
  export interface LcbListProps {
4
4
  pageFilterType?: string
5
5
  pageListProps?: PageListProps
6
- border?: boolean
6
+ borderRadius?: number
7
7
  styleMode?: 'default' | 'plain'
8
+ imageWidth?: number
9
+ border?: boolean
10
+ imageHeight?: number
11
+ titleLineClamp?: number
8
12
  listType?: LcbProductProps['listType']
9
13
  isSticky?: boolean
10
14
  mode?: 'map' | 'list'
15
+ layoutType?: 'vertical' | 'horizontal'
16
+ imageRadius?: number
17
+ itemWidth?: number
11
18
  }
12
19
  export interface Option {
13
20
  label: string
@@ -25,11 +25,13 @@ declare const __VLS_component: import('vue').DefineComponent<
25
25
  imageRadius: number
26
26
  items: Record<string, any>[]
27
27
  imageWidth: number
28
+ borderRadius: number
28
29
  imageHeight: number
29
30
  listType: 'list' | 'horizontal' | 'grid' | 'waterfall'
30
- imageWidthPercent: number
31
- imageHeightPercent: number
32
- itemHeight: number
31
+ titleLineClamp: number
32
+ layoutType: 'vertical' | 'horizontal'
33
+ itemWidth: number
34
+ coverImgStyle: Record<string, any>
33
35
  renderItemAbsoluteConfigLayout: {
34
36
  dataset?: Record<string, any>
35
37
  blocks: any[]
@@ -1,13 +1,15 @@
1
1
  export interface LcbProductProps {
2
2
  listType?: 'list' | 'horizontal' | 'grid' | 'waterfall'
3
- imageWidthPercent?: number
4
- imageHeightPercent?: number
5
3
  imageWidth?: number
6
4
  imageHeight?: number
7
5
  imageRadius?: number
8
- itemHeight?: number
6
+ borderRadius?: number
7
+ itemWidth?: number
9
8
  items?: Record<string, any>[]
10
9
  form?: Record<string, any>
10
+ layoutType?: 'vertical' | 'horizontal'
11
+ titleLineClamp?: number
12
+ coverImgStyle?: Record<string, any>
11
13
  renderItemAbsoluteConfigLayout?: {
12
14
  dataset?: Record<string, any>
13
15
  blocks: any[]
@@ -99,6 +99,7 @@ declare const __VLS_component: import('vue').DefineComponent<
99
99
  tagsVisible: boolean
100
100
  addressIntroVisible: boolean
101
101
  distanceVisible: boolean
102
+ borderRadius: number
102
103
  }
103
104
  >,
104
105
  {},
@@ -148,14 +149,16 @@ declare const __VLS_component: import('vue').DefineComponent<
148
149
  tagsVisible: boolean
149
150
  addressIntroVisible: boolean
150
151
  distanceVisible: boolean
152
+ borderRadius: number
151
153
  }
152
154
  >
153
155
  >
154
156
  >,
155
157
  {
158
+ borderRadius: number
159
+ titleLineClamp: number
156
160
  layoutType: 'vertical' | 'horizontal'
157
161
  tagOverflowWrap: boolean
158
- titleLineClamp: number
159
162
  priceUnit: any
160
163
  scribePriceUnit: any
161
164
  tagType: import('@tplc/wot/components/wd-tag/types').TagType
@@ -13,6 +13,7 @@ export interface LcbProductItemProps {
13
13
  tagRound?: boolean
14
14
  distanceUnit?: string
15
15
  imageType?: 'square' | 'vertical' | 'horizontal'
16
+ borderRadius?: number
16
17
  coverImg?: any
17
18
  productName?: any
18
19
  headImg?: string
@@ -1,70 +0,0 @@
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
- subTitle: string
60
- scoreAvg: number
61
- scoreTips: string
62
- titleIcon: string
63
- userInteractionInfo: string
64
- orderTips: string
65
- priceTips: string
66
- }[]
67
- dataClass: string
68
- traceId: string
69
- }
70
- export default _default