@tplc/business 0.2.39 → 0.2.41
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 +24 -0
- package/components/lcb-calendar-search/lcb-calendar-search.vue +3 -11
- package/components/lcb-calendar-search/types.ts +3 -0
- package/components/lcb-list/api.ts +1 -1
- package/components/lcb-list/components/FilterList/index.vue +2 -28
- package/components/lcb-list/lcb-list.vue +1 -4
- package/components/lcb-map/lcb-map.vue +128 -106
- package/components/lcb-map/types.ts +37 -2
- package/components/lcb-product-item/components/ItemValue.vue +15 -3
- package/iconfonts/index.css +103 -3
- package/package.json +1 -1
- package/types/components/lcb-calendar-search/lcb-calendar-search.vue.d.ts +1 -0
- package/types/components/lcb-calendar-search/types.d.ts +3 -0
- package/types/components/lcb-list/api.d.ts +1 -1
- package/types/components/lcb-list/lcb-list.vue.d.ts +3 -6
- package/types/components/lcb-map/lcb-map.vue.d.ts +15 -43
- package/types/components/lcb-map/types.d.ts +36 -1
- package/components/lcb-map/images/1.png +0 -0
- package/components/lcb-map/images/3.png +0 -0
- package/components/lcb-map/images/4.png +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
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.41](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.40...v0.2.41) (2024-12-28)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### ✨ Features | 新功能
|
|
9
|
+
|
|
10
|
+
* add map list ([f22a31b](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/f22a31b5dd263d036e1c36ac979ce7a93d4f9d18))
|
|
11
|
+
* map color ([59b79eb](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/59b79eb7720de13f338b5d485408d1827618bd4f))
|
|
12
|
+
* map link ([f64b14f](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/f64b14f9889077f846dfedc3cc8899427f894307))
|
|
13
|
+
* map 支持过滤 ([fd5c4fb](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/fd5c4fbcc0d48afa5e9947664b5fd7e0682068b8))
|
|
14
|
+
|
|
15
|
+
### [0.2.40](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.2.38...v0.2.40) (2024-12-27)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### 🚀 Chore | 构建/工程依赖/工具
|
|
19
|
+
|
|
20
|
+
* **release:** 0.2.39 ([188053e](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/188053edc4e98d208740c6a364aba343fa146f18))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### ✨ Features | 新功能
|
|
24
|
+
|
|
25
|
+
* 支持头像昵称 ([a1061f0](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/a1061f0646637c797cdd2f5d9dbadd0862256398))
|
|
26
|
+
* 新增测试waterfall ([34b352d](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/34b352dffc3fcc852a658e34ac673bd5d1c77a4d))
|
|
27
|
+
* 更新product ([3fb575b](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/commit/3fb575b7be9ec92b10c3cd36d19ee9593999bb4a))
|
|
28
|
+
|
|
5
29
|
### [0.2.39](http://gitlab888.30jia.com.cn/bhBank/zero-code-pro/compare/v0.1.46...v0.2.39) (2024-12-27)
|
|
6
30
|
|
|
7
31
|
|
|
@@ -26,14 +26,9 @@
|
|
|
26
26
|
<view class="text-#999999">{{ placeholder }}</view>
|
|
27
27
|
</view>
|
|
28
28
|
</view>
|
|
29
|
-
<
|
|
30
|
-
name="
|
|
31
|
-
|
|
32
|
-
size="36rpx"
|
|
33
|
-
color="#333"
|
|
34
|
-
custom-class="ml-4"
|
|
35
|
-
@click="toMap"
|
|
36
|
-
/>
|
|
29
|
+
<lcb-action-view v-bind="link" v-if="link">
|
|
30
|
+
<wd-icon :name="icon" class-prefix="lcb" size="36rpx" color="#333" custom-class="ml-4" />
|
|
31
|
+
</lcb-action-view>
|
|
37
32
|
</lcb-block>
|
|
38
33
|
</template>
|
|
39
34
|
|
|
@@ -84,9 +79,6 @@ watch(
|
|
|
84
79
|
},
|
|
85
80
|
)
|
|
86
81
|
getLocation()
|
|
87
|
-
const toMap = () => {
|
|
88
|
-
uni.$lcb.navigateTo(`/pages/map/index?form=${JSON.stringify(form?.value)}`)
|
|
89
|
-
}
|
|
90
82
|
</script>
|
|
91
83
|
|
|
92
84
|
<style lang="scss" scoped>
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { LcbActionViewProps } from '../lcb-action-view/types'
|
|
1
2
|
import { LcbBlockProps } from '../lcb-block/types'
|
|
2
3
|
|
|
3
4
|
export interface LcbCalendarSearchProps extends LcbBlockProps {
|
|
4
5
|
// Define the component's prop types here
|
|
5
6
|
placeholder?: string
|
|
7
|
+
link?: LcbActionViewProps
|
|
8
|
+
icon?: string
|
|
6
9
|
}
|
|
@@ -2,7 +2,7 @@ import { FilterTabsProps } from './components/FilterTabs/type'
|
|
|
2
2
|
import { Option } from './types'
|
|
3
3
|
export interface LcbListInfo {
|
|
4
4
|
url: string
|
|
5
|
-
baseParam
|
|
5
|
+
baseParam?: Record<string, unknown>
|
|
6
6
|
}
|
|
7
7
|
export interface LcbFilterResult {
|
|
8
8
|
btnComponent: BtnComponent
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import { inject, Ref, ref, watch, watchEffect } from 'vue'
|
|
19
19
|
import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging'
|
|
20
20
|
import { FORM_KEY } from '../../../../constants'
|
|
21
|
-
import {
|
|
21
|
+
import { getPageOptions } from '../../../../utils/utils'
|
|
22
22
|
import { LcbFilterListProps } from './type'
|
|
23
23
|
import useAutoHeight from '../../../../hooks/useAutoHeight'
|
|
24
24
|
|
|
@@ -40,33 +40,7 @@ const modelValue = defineModel<unknown[]>({
|
|
|
40
40
|
default: [],
|
|
41
41
|
})
|
|
42
42
|
watchEffect(() => {
|
|
43
|
-
|
|
44
|
-
return item
|
|
45
|
-
// // 以下假数据无效
|
|
46
|
-
// // const imgArr = formatJson(item.coverImg, [])
|
|
47
|
-
// // const tags = formatJson(item.tags, [])
|
|
48
|
-
// // eslint-disable-next-line no-unreachable
|
|
49
|
-
// return {
|
|
50
|
-
// title: item?.productName,
|
|
51
|
-
// addressIntro: item?.address,
|
|
52
|
-
// price: item?.price,
|
|
53
|
-
// priceSuffix: item?.behindUnit,
|
|
54
|
-
// subTitle: '专用通道接送8分钟到候机楼',
|
|
55
|
-
// score: 4.7,
|
|
56
|
-
// scoreTips: '很好',
|
|
57
|
-
// level: 4,
|
|
58
|
-
// // imgCornerIcon: 'test',
|
|
59
|
-
// // imgBottomIcon: 'test',
|
|
60
|
-
// titleIcon: 'I',
|
|
61
|
-
// userInteractionInfo: '2991点评 · 8039收藏',
|
|
62
|
-
// orderTips: '18分钟前有人预定',
|
|
63
|
-
// priceTips: '白银贵宾价 | 十亿豪补 | 2项优惠',
|
|
64
|
-
// ...item,
|
|
65
|
-
// // coverImg: imgArr?.[1] || imgArr?.[0],
|
|
66
|
-
// // tags,
|
|
67
|
-
// }
|
|
68
|
-
})
|
|
69
|
-
modelValue.value = list
|
|
43
|
+
modelValue.value = dataList.value
|
|
70
44
|
})
|
|
71
45
|
|
|
72
46
|
watch(
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
<lcb-product v-bind="{ ...attrs, form }" :listType="listType" :items="items" v-else />
|
|
46
46
|
</template>
|
|
47
47
|
</FilterList>
|
|
48
|
+
<lcb-map v-else-if="mode === 'map'" v-bind="{ ...info.listInfo, ...attrs }" />
|
|
48
49
|
</template>
|
|
49
50
|
</template>
|
|
50
51
|
|
|
@@ -116,10 +117,6 @@ watch(
|
|
|
116
117
|
immediate: true,
|
|
117
118
|
},
|
|
118
119
|
)
|
|
119
|
-
defineSlots<{
|
|
120
|
-
list(props: { items: any }): any
|
|
121
|
-
item(props: { item: any }): any
|
|
122
|
-
}>()
|
|
123
120
|
</script>
|
|
124
121
|
|
|
125
122
|
<style lang="scss" scoped>
|
|
@@ -1,25 +1,48 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view
|
|
2
|
+
<view id="pagingTop"></view>
|
|
3
|
+
<view class="flex-col flex w-full" :style="{ height }" v-if="height">
|
|
3
4
|
<view class="flex-1 h-0 relative">
|
|
4
5
|
<map
|
|
5
|
-
|
|
6
|
-
:
|
|
7
|
-
:longitude="form.longitude"
|
|
6
|
+
:latitude="form.mapLatitude"
|
|
7
|
+
:longitude="form.mapLongitude"
|
|
8
8
|
:markers="info.covers"
|
|
9
9
|
show-location
|
|
10
10
|
show-compass
|
|
11
11
|
show-scale
|
|
12
|
+
class="w-full h-full"
|
|
12
13
|
@regionchange="onRegionChange"
|
|
13
|
-
@
|
|
14
|
+
@callouttap="onCalloutTap"
|
|
14
15
|
/>
|
|
15
16
|
<image
|
|
16
17
|
src="./images/2.png"
|
|
17
|
-
class="w-36rpx h-66rpx absolute
|
|
18
|
+
class="w-36rpx h-66rpx absolute left-0 top-0 m-auto bottom-0 right-0"
|
|
18
19
|
/>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
|
|
21
|
+
<view class="absolute bottom-0 left-0 p-3 box-border w-full h-fit" v-if="list[current]">
|
|
22
|
+
<lcb-action-view v-bind="list[current].link">
|
|
23
|
+
<lcb-product-item
|
|
24
|
+
v-bind="{
|
|
25
|
+
...list[current],
|
|
26
|
+
...attrs,
|
|
27
|
+
}"
|
|
28
|
+
/>
|
|
29
|
+
</lcb-action-view>
|
|
30
|
+
<wd-icon
|
|
31
|
+
class-prefix="lcb"
|
|
32
|
+
size="28"
|
|
33
|
+
name="youbian"
|
|
34
|
+
custom-class="icon right-0"
|
|
35
|
+
@click="onCurrentChange(1)"
|
|
36
|
+
v-if="list[current + 1]"
|
|
37
|
+
/>
|
|
38
|
+
<wd-icon
|
|
39
|
+
class-prefix="lcb"
|
|
40
|
+
size="28"
|
|
41
|
+
name="zuobian"
|
|
42
|
+
custom-class="icon left-0"
|
|
43
|
+
@click="onCurrentChange(-1)"
|
|
44
|
+
v-if="list[current - 1]"
|
|
45
|
+
/>
|
|
23
46
|
</view>
|
|
24
47
|
</view>
|
|
25
48
|
</view>
|
|
@@ -27,33 +50,12 @@
|
|
|
27
50
|
|
|
28
51
|
<script lang="ts" setup>
|
|
29
52
|
import { FORM_KEY } from '@tplc/business/constants'
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
longitude: number
|
|
37
|
-
latitude: number
|
|
38
|
-
iconPath: string
|
|
39
|
-
width: number
|
|
40
|
-
height: number
|
|
41
|
-
poiId: string
|
|
42
|
-
anchor?: {
|
|
43
|
-
x: number
|
|
44
|
-
y: number
|
|
45
|
-
}
|
|
46
|
-
callout?: {
|
|
47
|
-
content: string
|
|
48
|
-
color: string
|
|
49
|
-
fontSize: number
|
|
50
|
-
borderRadius: number
|
|
51
|
-
bgColor: string
|
|
52
|
-
padding: number
|
|
53
|
-
display: 'ALWAYS' | 'BYCLICK'
|
|
54
|
-
}
|
|
55
|
-
zIndex?: number
|
|
56
|
-
}
|
|
53
|
+
import { reactive, inject, ref, useAttrs, watch } from 'vue'
|
|
54
|
+
import { LcbListInfo } from '../lcb-list/api'
|
|
55
|
+
import { getPageOptions } from '../../utils/utils'
|
|
56
|
+
import { MapItem, MapMarker } from './types'
|
|
57
|
+
import useAutoHeight from '../../hooks/useAutoHeight'
|
|
58
|
+
const height = useAutoHeight()
|
|
57
59
|
defineOptions({
|
|
58
60
|
name: 'LcbMap',
|
|
59
61
|
options: {
|
|
@@ -62,7 +64,8 @@ defineOptions({
|
|
|
62
64
|
styleIsolation: 'shared',
|
|
63
65
|
},
|
|
64
66
|
})
|
|
65
|
-
|
|
67
|
+
const attrs = useAttrs()
|
|
68
|
+
const props = defineProps<LcbListInfo>()
|
|
66
69
|
const scaleRadius: Record<string, number> = {
|
|
67
70
|
3: 1_000_000,
|
|
68
71
|
4: 500_000,
|
|
@@ -83,27 +86,48 @@ const scaleRadius: Record<string, number> = {
|
|
|
83
86
|
19: 10,
|
|
84
87
|
20: 5,
|
|
85
88
|
}
|
|
89
|
+
const themeColor = inject('theme-color', '#3875FF')
|
|
90
|
+
const callout: MapMarker['callout'] = {
|
|
91
|
+
content: '腾讯总部大楼',
|
|
92
|
+
padding: 4,
|
|
93
|
+
display: 'ALWAYS',
|
|
94
|
+
fontSize: 14,
|
|
95
|
+
textAlign: 'center',
|
|
96
|
+
borderRadius: 4,
|
|
97
|
+
|
|
98
|
+
borderWidth: 1,
|
|
99
|
+
borderColor: themeColor,
|
|
100
|
+
bgColor: '#ffffff',
|
|
101
|
+
color: themeColor,
|
|
102
|
+
}
|
|
86
103
|
const info = reactive({
|
|
87
104
|
covers: [] as MapMarker[],
|
|
88
105
|
})
|
|
89
106
|
const form = inject<Record<string, any>>(FORM_KEY, {})
|
|
90
107
|
const current = ref(0)
|
|
91
|
-
const
|
|
108
|
+
const list = ref<MapItem[]>([])
|
|
109
|
+
|
|
92
110
|
const getData = async () => {
|
|
93
|
-
|
|
94
|
-
data
|
|
95
|
-
|
|
111
|
+
// || props.url
|
|
112
|
+
const { data } = (await uni.$lcb.http.post('/productInfo/map', {
|
|
113
|
+
...props.baseParam,
|
|
114
|
+
...form?.value,
|
|
115
|
+
...getPageOptions(),
|
|
116
|
+
})) as {
|
|
117
|
+
data: MapItem[]
|
|
118
|
+
}
|
|
119
|
+
list.value = data
|
|
120
|
+
getCurrentData(data)
|
|
96
121
|
}
|
|
97
|
-
|
|
98
122
|
const getLocation = () => {
|
|
99
123
|
uni.getLocation({
|
|
100
124
|
type: 'gcj02',
|
|
101
125
|
success: (res) => {
|
|
126
|
+
form.value.mapViewRadius = scaleRadius[16]
|
|
102
127
|
form.value.userLongitude = res.longitude
|
|
103
128
|
form.value.userLatitude = res.latitude
|
|
104
129
|
form.value.mapLatitude = res.latitude
|
|
105
130
|
form.value.mapLongitude = res.longitude
|
|
106
|
-
getData()
|
|
107
131
|
},
|
|
108
132
|
fail: () => {
|
|
109
133
|
uni.showToast({
|
|
@@ -132,72 +156,70 @@ const onRegionChange = (e: {
|
|
|
132
156
|
getData()
|
|
133
157
|
}
|
|
134
158
|
}
|
|
135
|
-
const
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
159
|
+
const onCurrentChange = (p: number) => {
|
|
160
|
+
onCalloutTap({
|
|
161
|
+
detail: {
|
|
162
|
+
markerId: current.value + p,
|
|
163
|
+
},
|
|
164
|
+
})
|
|
165
|
+
}
|
|
166
|
+
const onCalloutTap = (e: { detail: { markerId: number } }) => {
|
|
167
|
+
const pre = info.covers[e.detail.markerId].callout
|
|
168
|
+
const old = info.covers[current.value].callout
|
|
169
|
+
info.covers[e.detail.markerId].callout = {
|
|
170
|
+
...pre,
|
|
171
|
+
borderColor: themeColor,
|
|
172
|
+
bgColor: themeColor,
|
|
173
|
+
color: '#fff',
|
|
174
|
+
}
|
|
175
|
+
info.covers[current.value].callout = {
|
|
176
|
+
...old,
|
|
177
|
+
borderColor: '#eeeeee',
|
|
178
|
+
bgColor: '#ffffff',
|
|
179
|
+
color: themeColor,
|
|
150
180
|
}
|
|
181
|
+
current.value = e.detail.markerId
|
|
151
182
|
}
|
|
152
|
-
const getCurrentData = (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
{
|
|
173
|
-
zIndex: 2,
|
|
174
|
-
iconPath: res.tempFilePath,
|
|
175
|
-
width: 34,
|
|
176
|
-
height: 34,
|
|
177
|
-
id: 2,
|
|
178
|
-
poiId: item.poiId,
|
|
179
|
-
latitude: item.latitude,
|
|
180
|
-
longitude: item.longitude,
|
|
181
|
-
},
|
|
182
|
-
...list.map((item: any, index: number) => ({
|
|
183
|
-
id: index + 3,
|
|
184
|
-
iconPath: './images/4.png',
|
|
185
|
-
width: 26,
|
|
186
|
-
height: 26,
|
|
187
|
-
poiId: item.poiId,
|
|
188
|
-
latitude: item.latitude,
|
|
189
|
-
longitude: item.longitude,
|
|
190
|
-
})),
|
|
191
|
-
]
|
|
192
|
-
console.log(item.poiId, data.value)
|
|
193
|
-
current.value = data.value?.findIndex?.(({ poiId }) => item.poiId === poiId) || -1
|
|
194
|
-
},
|
|
183
|
+
const getCurrentData = (markers: MapItem[]) => {
|
|
184
|
+
info.covers = markers.map((current, index: number) => {
|
|
185
|
+
const isCurrent = index === 0
|
|
186
|
+
return {
|
|
187
|
+
id: index,
|
|
188
|
+
iconPath: 'https://lycs.eluying.com/default/1319653665276882944/20241226142012/饭店竖图.png',
|
|
189
|
+
width: 1,
|
|
190
|
+
height: 1,
|
|
191
|
+
poiId: current.productId,
|
|
192
|
+
latitude: current.latitude,
|
|
193
|
+
longitude: current.longitude,
|
|
194
|
+
alpha: 0,
|
|
195
|
+
callout: {
|
|
196
|
+
...callout,
|
|
197
|
+
content: current.mapPriceTips,
|
|
198
|
+
borderColor: isCurrent ? themeColor : '#eeeeee',
|
|
199
|
+
bgColor: isCurrent ? themeColor : '#ffffff',
|
|
200
|
+
color: isCurrent ? '#ffffff' : themeColor,
|
|
201
|
+
},
|
|
202
|
+
}
|
|
195
203
|
})
|
|
204
|
+
current.value = 0
|
|
196
205
|
}
|
|
206
|
+
watch(
|
|
207
|
+
() => form.value,
|
|
208
|
+
() => {
|
|
209
|
+
getData()
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
deep: true,
|
|
213
|
+
},
|
|
214
|
+
)
|
|
197
215
|
</script>
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
216
|
+
<style lang="scss">
|
|
217
|
+
.icon {
|
|
218
|
+
position: absolute;
|
|
219
|
+
top: 0;
|
|
220
|
+
height: fit-content;
|
|
221
|
+
bottom: 0;
|
|
222
|
+
margin: auto;
|
|
223
|
+
color: #666;
|
|
202
224
|
}
|
|
203
225
|
</style>
|
|
@@ -1,3 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { LcbActionViewProps } from '../lcb-action-view/types'
|
|
2
|
+
|
|
3
|
+
export interface MapMarker {
|
|
4
|
+
id: number
|
|
5
|
+
name?: string
|
|
6
|
+
longitude: number
|
|
7
|
+
latitude: number
|
|
8
|
+
iconPath: string
|
|
9
|
+
width: number
|
|
10
|
+
height: number
|
|
11
|
+
poiId: string
|
|
12
|
+
anchor?: {
|
|
13
|
+
x: number
|
|
14
|
+
y: number
|
|
15
|
+
}
|
|
16
|
+
alpha?: number
|
|
17
|
+
|
|
18
|
+
callout: {
|
|
19
|
+
textAlign: string
|
|
20
|
+
borderWidth: number
|
|
21
|
+
borderColor: string
|
|
22
|
+
content: string
|
|
23
|
+
color: string
|
|
24
|
+
fontSize: number
|
|
25
|
+
borderRadius: number
|
|
26
|
+
bgColor: string
|
|
27
|
+
padding: number
|
|
28
|
+
display: 'ALWAYS' | 'BYCLICK'
|
|
29
|
+
}
|
|
30
|
+
zIndex?: number
|
|
31
|
+
}
|
|
32
|
+
export interface MapItem {
|
|
33
|
+
mapPriceTips: string
|
|
34
|
+
latitude: number
|
|
35
|
+
longitude: number
|
|
36
|
+
productId: string
|
|
37
|
+
link: LcbActionViewProps
|
|
3
38
|
}
|
|
@@ -86,14 +86,26 @@ const value = computed(() => {
|
|
|
86
86
|
<!-- 图片 -->
|
|
87
87
|
<slot :value="value" v-if="prop === 'coverImg'" name="coverImg">
|
|
88
88
|
<view :class="`relative ${className}`" :style="style">
|
|
89
|
-
<
|
|
89
|
+
<wd-img :src="value" mode="aspectFill" width="100%" height="100%" />
|
|
90
90
|
<!-- imgBottomIcon -->
|
|
91
91
|
<view class="absolute bottom-0 left-0 w-full z-1" v-if="itemProps.imgBottomIcon">
|
|
92
|
-
<
|
|
92
|
+
<wd-img
|
|
93
|
+
:src="itemProps.imgBottomIcon"
|
|
94
|
+
custom-class="block"
|
|
95
|
+
mode="widthFix"
|
|
96
|
+
width="100%"
|
|
97
|
+
height="auto"
|
|
98
|
+
/>
|
|
93
99
|
</view>
|
|
94
100
|
<!-- imgCornerIcon -->
|
|
95
101
|
<view class="absolute top-0 left-0 h-8 z-1" v-if="itemProps.imgCornerIcon">
|
|
96
|
-
<
|
|
102
|
+
<wd-img
|
|
103
|
+
:src="itemProps.imgCornerIcon"
|
|
104
|
+
width="auto"
|
|
105
|
+
height="100%"
|
|
106
|
+
custom-class="block"
|
|
107
|
+
mode="heightFix"
|
|
108
|
+
/>
|
|
97
109
|
</view>
|
|
98
110
|
<slot></slot>
|
|
99
111
|
</view>
|
package/iconfonts/index.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: 'lcb'; /* Project id 4710234 */
|
|
3
3
|
src:
|
|
4
|
-
url('//at.alicdn.com/t/c/
|
|
5
|
-
url('//at.alicdn.com/t/c/
|
|
6
|
-
url('//at.alicdn.com/t/c/
|
|
4
|
+
url('//at.alicdn.com/t/c/font_4710234_0cmn6exn7ocb.woff2?t=1735307783373') format('woff2'),
|
|
5
|
+
url('//at.alicdn.com/t/c/font_4710234_0cmn6exn7ocb.woff?t=1735307783373') format('woff'),
|
|
6
|
+
url('//at.alicdn.com/t/c/font_4710234_0cmn6exn7ocb.ttf?t=1735307783373') format('truetype');
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.lcb {
|
|
@@ -14,6 +14,106 @@
|
|
|
14
14
|
-moz-osx-font-smoothing: grayscale;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
.lcb-ditu:before {
|
|
18
|
+
content: '\e6a8';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.lcb-ruzhu:before {
|
|
22
|
+
content: '\e6a0';
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.lcb-xihu:before {
|
|
26
|
+
content: '\e6a1';
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.lcb-qipai:before {
|
|
30
|
+
content: '\e6a2';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.lcb-huwei:before {
|
|
34
|
+
content: '\e6a3';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.lcb-dayin:before {
|
|
38
|
+
content: '\e6a4';
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.lcb-jiatingtaofang:before {
|
|
42
|
+
content: '\e6a5';
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.lcb-jiageyouhui:before {
|
|
46
|
+
content: '\e6a6';
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.lcb-bingxiang:before {
|
|
50
|
+
content: '\e6a7';
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.lcb-you1:before {
|
|
54
|
+
content: '\e69d';
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.lcb-wifi1:before {
|
|
58
|
+
content: '\e69e';
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.lcb-qianbao:before {
|
|
62
|
+
content: '\e69f';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.lcb-xuanzhong1:before {
|
|
66
|
+
content: '\e691';
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.lcb-Frame:before {
|
|
70
|
+
content: '\e692';
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.lcb-songxi:before {
|
|
74
|
+
content: '\e693';
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.lcb-yule:before {
|
|
78
|
+
content: '\e694';
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.lcb-jianshen:before {
|
|
82
|
+
content: '\e695';
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.lcb-qiantai:before {
|
|
86
|
+
content: '\e696';
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.lcb-qiche:before {
|
|
90
|
+
content: '\e697';
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.lcb-xingji:before {
|
|
94
|
+
content: '\e698';
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.lcb-hanglijicun:before {
|
|
98
|
+
content: '\e699';
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.lcb-huiyi:before {
|
|
102
|
+
content: '\e69a';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.lcb-fapiao:before {
|
|
106
|
+
content: '\e69b';
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.lcb-jinzhi:before {
|
|
110
|
+
content: '\e69c';
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.lcb-wifi:before {
|
|
114
|
+
content: '\e690';
|
|
115
|
+
}
|
|
116
|
+
|
|
17
117
|
.lcb-shoucanghou:before {
|
|
18
118
|
content: '\e68f';
|
|
19
119
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { FilterTabsProps } from './components/FilterTabs/type'
|
|
|
2
2
|
import { Option } from './types'
|
|
3
3
|
export interface LcbListInfo {
|
|
4
4
|
url: string
|
|
5
|
-
baseParam
|
|
5
|
+
baseParam?: Record<string, unknown>
|
|
6
6
|
}
|
|
7
7
|
export interface LcbFilterResult {
|
|
8
8
|
btnComponent: BtnComponent
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { LcbListProps } from './types'
|
|
2
2
|
import './index.scss'
|
|
3
|
-
declare function __VLS_template():
|
|
4
|
-
list(
|
|
5
|
-
item(
|
|
6
|
-
}> & {
|
|
7
|
-
list(props: { items: any }): any
|
|
8
|
-
item(props: { item: any }): any
|
|
3
|
+
declare function __VLS_template(): {
|
|
4
|
+
list?(_: { items: never[] }): any
|
|
5
|
+
item?(_: { item: any }): any
|
|
9
6
|
}
|
|
10
7
|
declare const __VLS_component: import('vue').DefineComponent<
|
|
11
8
|
__VLS_WithDefaults<__VLS_TypePropsToOption<LcbListProps>, any>,
|
|
@@ -1,33 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
id: number
|
|
3
|
-
name?: string
|
|
4
|
-
longitude: number
|
|
5
|
-
latitude: number
|
|
6
|
-
iconPath: string
|
|
7
|
-
width: number
|
|
8
|
-
height: number
|
|
9
|
-
poiId: string
|
|
10
|
-
anchor?: {
|
|
11
|
-
x: number
|
|
12
|
-
y: number
|
|
13
|
-
}
|
|
14
|
-
callout?: {
|
|
15
|
-
content: string
|
|
16
|
-
color: string
|
|
17
|
-
fontSize: number
|
|
18
|
-
borderRadius: number
|
|
19
|
-
bgColor: string
|
|
20
|
-
padding: number
|
|
21
|
-
display: 'ALWAYS' | 'BYCLICK'
|
|
22
|
-
}
|
|
23
|
-
zIndex?: number
|
|
24
|
-
}
|
|
1
|
+
import { LcbListInfo } from '../lcb-list/api'
|
|
25
2
|
declare const _default: import('vue').DefineComponent<
|
|
26
|
-
|
|
27
|
-
import('vue').ComponentPropsOptions<{
|
|
28
|
-
[x: string]: unknown
|
|
29
|
-
}>
|
|
30
|
-
>,
|
|
3
|
+
__VLS_TypePropsToOption<LcbListInfo>,
|
|
31
4
|
{},
|
|
32
5
|
unknown,
|
|
33
6
|
{},
|
|
@@ -37,20 +10,19 @@ declare const _default: import('vue').DefineComponent<
|
|
|
37
10
|
{},
|
|
38
11
|
string,
|
|
39
12
|
import('vue').PublicProps,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
import('vue').ExtractPropTypes<
|
|
43
|
-
Readonly<
|
|
44
|
-
import('vue').ComponentObjectPropsOptions<{
|
|
45
|
-
[x: string]: unknown
|
|
46
|
-
}>
|
|
47
|
-
>
|
|
48
|
-
>
|
|
49
|
-
>,
|
|
50
|
-
| {
|
|
51
|
-
readonly [x: number]: string
|
|
52
|
-
}
|
|
53
|
-
| {},
|
|
13
|
+
Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToOption<LcbListInfo>>>,
|
|
14
|
+
{},
|
|
54
15
|
{}
|
|
55
16
|
>
|
|
56
17
|
export default _default
|
|
18
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T
|
|
19
|
+
type __VLS_TypePropsToOption<T> = {
|
|
20
|
+
[K in keyof T]-?: {} extends Pick<T, K>
|
|
21
|
+
? {
|
|
22
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>
|
|
23
|
+
}
|
|
24
|
+
: {
|
|
25
|
+
type: import('vue').PropType<T[K]>
|
|
26
|
+
required: true
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
import { LcbActionViewProps } from '../lcb-action-view/types'
|
|
2
|
+
export interface MapMarker {
|
|
3
|
+
id: number
|
|
4
|
+
name?: string
|
|
5
|
+
longitude: number
|
|
6
|
+
latitude: number
|
|
7
|
+
iconPath: string
|
|
8
|
+
width: number
|
|
9
|
+
height: number
|
|
10
|
+
poiId: string
|
|
11
|
+
anchor?: {
|
|
12
|
+
x: number
|
|
13
|
+
y: number
|
|
14
|
+
}
|
|
15
|
+
alpha?: number
|
|
16
|
+
callout: {
|
|
17
|
+
textAlign: string
|
|
18
|
+
borderWidth: number
|
|
19
|
+
borderColor: string
|
|
20
|
+
content: string
|
|
21
|
+
color: string
|
|
22
|
+
fontSize: number
|
|
23
|
+
borderRadius: number
|
|
24
|
+
bgColor: string
|
|
25
|
+
padding: number
|
|
26
|
+
display: 'ALWAYS' | 'BYCLICK'
|
|
27
|
+
}
|
|
28
|
+
zIndex?: number
|
|
29
|
+
}
|
|
30
|
+
export interface MapItem {
|
|
31
|
+
mapPriceTips: string
|
|
32
|
+
latitude: number
|
|
33
|
+
longitude: number
|
|
34
|
+
productId: string
|
|
35
|
+
link: LcbActionViewProps
|
|
36
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|