jufubao-base 1.0.169-beta8 → 1.0.169
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/package.json +1 -1
- package/src/components/JfbBaseLogin/Attr.js +510 -1147
- package/src/components/JfbBaseLogin/JfbBaseLogin.vue +63 -364
- package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +4 -2
- package/src/components/JfbBaseTfkCardBind/Api.js +30 -49
- package/src/components/JfbBaseTfkCardBind/Attr.js +38 -635
- package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +22 -589
- package/src/components/JfbBaseTfkCardBind/Mock.js +9 -19
- package/src/components/JfbBaseTfkCardDetail/Api.js +32 -19
- package/src/components/JfbBaseTfkCardDetail/Attr.js +33 -692
- package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +23 -630
- package/src/components/JfbBaseTfkCardDetail/Mock.js +11 -151
- package/src/components/JfbBaseTfkCardLogin/Api.js +34 -19
- package/src/components/JfbBaseTfkCardLogin/Attr.js +33 -885
- package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +16 -729
- package/src/components/JfbBaseTfkCardLogin/Mock.js +11 -721
- package/src/components/JfbBaseTfkSearch/Api.js +42 -11
- package/src/components/JfbBaseTfkSearch/Attr.js +33 -143
- package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +23 -167
- package/src/components/JfbBaseTfkSearch/Mock.js +11 -90
- package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +0 -271
- package/src/components/JfbBaseTfkSearch/AllList.vue +0 -231
- package/src/components/JfbBaseTfkSearch/ContentCinema.vue +0 -157
- package/src/components/JfbBaseTfkSearch/ContentFilm.vue +0 -179
- package/src/components/JfbBaseTfkSearch/ContentProduct.vue +0 -308
- package/src/components/JfbBaseTfkSearch/ContentShop.vue +0 -184
- package/src/components/JfbBaseTfkSearch/CusAttr.js +0 -203
- package/src/components/JfbBaseTfkSearch/CustomList.vue +0 -382
- package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +0 -45
- package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +0 -109
- package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +0 -137
- package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +0 -81
- package/src/components/JfbBaseTfkSearch/handleKeyword.js +0 -24
- package/src/components/JfbBaseTfkSearch/listMixins.js +0 -147
- package/src/components/JfbBaseTfkSearch/search.js +0 -293
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="xd-coupon_item" :style="couponItemBoxStyle">
|
|
3
|
-
<view class="coupon_left" :style="{
|
|
4
|
-
background: couponLeftBgColor
|
|
5
|
-
}">
|
|
6
|
-
<view class="_point">
|
|
7
|
-
<xd-unit
|
|
8
|
-
:unitFontSize="24"
|
|
9
|
-
:fontSize="48"
|
|
10
|
-
:price="item.card_point"
|
|
11
|
-
:isOld="false"
|
|
12
|
-
:unit="item.unit || ''"
|
|
13
|
-
:colorNew="'#ffffff'"
|
|
14
|
-
></xd-unit>
|
|
15
|
-
<!-- <text style="font-size: 24rpx;">{{ item.unit }}</text> -->
|
|
16
|
-
</view>
|
|
17
|
-
<view class="_rule">{{ item.card_use_rule }}</view>
|
|
18
|
-
</view>
|
|
19
|
-
<view class="coupon_right" :style="couponRightItemBoxStyle">
|
|
20
|
-
<view class="cont_top" :style="{
|
|
21
|
-
background: couponTitleBgColor
|
|
22
|
-
}">{{ item.card_type_name }}</view>
|
|
23
|
-
<view class="cont_main">
|
|
24
|
-
<view class="cou_number">券号:{{ item.card_number }}</view>
|
|
25
|
-
<view class="cou_time">有效期:{{ item.end_time }}</view>
|
|
26
|
-
<view class="cou_point">
|
|
27
|
-
余额:
|
|
28
|
-
<xd-unit
|
|
29
|
-
:unitFontSize="24"
|
|
30
|
-
:fontSize="28"
|
|
31
|
-
:price="item.card_point"
|
|
32
|
-
:isOld="false"
|
|
33
|
-
:unit="item.unit || ''"
|
|
34
|
-
:colorNew="'#333333'"
|
|
35
|
-
></xd-unit>
|
|
36
|
-
</view>
|
|
37
|
-
<view class="cou_btn"
|
|
38
|
-
:style="[
|
|
39
|
-
item.is_login === 'Y' ? couponBtnActiveStyle : couponBtnStyle,
|
|
40
|
-
{
|
|
41
|
-
padding: couponBtnPadding,
|
|
42
|
-
borderRadius: couponBtnRadius + 'rpx'
|
|
43
|
-
}
|
|
44
|
-
]"
|
|
45
|
-
@click="goToUseCoupon"
|
|
46
|
-
>{{item.is_login === 'Y' ? '已登录' : '去使用'}}</view>
|
|
47
|
-
</view>
|
|
48
|
-
<view class="cont_bottom">
|
|
49
|
-
<view class="switch_rule" @click="switchRule">
|
|
50
|
-
<view>使用规则</view>
|
|
51
|
-
<view>
|
|
52
|
-
<xd-font-icon v-if="!expand" icon="iconxia_down" size="24"></xd-font-icon>
|
|
53
|
-
<xd-font-icon v-else icon="iconshang_up" size="24"></xd-font-icon>
|
|
54
|
-
</view>
|
|
55
|
-
</view>
|
|
56
|
-
<view v-if="expand" class="expand_rule">
|
|
57
|
-
{{ item.card_use_rule }}
|
|
58
|
-
</view>
|
|
59
|
-
</view>
|
|
60
|
-
</view>
|
|
61
|
-
</view>
|
|
62
|
-
</template>
|
|
63
|
-
<script>
|
|
64
|
-
import getServiceUrl from '@/common/getServiceUrl'
|
|
65
|
-
import XdUnit from "@/components/XdUnit/XdUnit";
|
|
66
|
-
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
67
|
-
export default{
|
|
68
|
-
name: "XdCouponItem",
|
|
69
|
-
components: {
|
|
70
|
-
XdFontIcon,
|
|
71
|
-
XdUnit
|
|
72
|
-
},
|
|
73
|
-
props: {
|
|
74
|
-
item:{
|
|
75
|
-
type: Object,
|
|
76
|
-
},
|
|
77
|
-
couponRadius: {
|
|
78
|
-
type: String,
|
|
79
|
-
default: "16"
|
|
80
|
-
},
|
|
81
|
-
couponLeftBgColor: {
|
|
82
|
-
type: String,
|
|
83
|
-
default: 'linear-gradient(180deg, #FFA852 0%, #FF5733 100%)'
|
|
84
|
-
},
|
|
85
|
-
couponImageUrl: {
|
|
86
|
-
type: Object | String
|
|
87
|
-
},
|
|
88
|
-
couponTitleBgColor: {
|
|
89
|
-
type: String,
|
|
90
|
-
default: "rgba(255, 87, 51, 0.1)"
|
|
91
|
-
},
|
|
92
|
-
couponUseBtnPadding: {
|
|
93
|
-
type: Object,
|
|
94
|
-
default(){
|
|
95
|
-
return {
|
|
96
|
-
top: 20,
|
|
97
|
-
right: 20,
|
|
98
|
-
bottom: 10,
|
|
99
|
-
left: 20
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
couponBtnRadius: {
|
|
104
|
-
type: String,
|
|
105
|
-
default: "16"
|
|
106
|
-
},
|
|
107
|
-
couponBtnTextStyle: {
|
|
108
|
-
type: Object,
|
|
109
|
-
default(){
|
|
110
|
-
return {
|
|
111
|
-
color: '#fff',
|
|
112
|
-
bgColor: '#ff5722',
|
|
113
|
-
fontSize: '30rpx',
|
|
114
|
-
fontWeight: 'normal'
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
data() {
|
|
120
|
-
return {
|
|
121
|
-
expand: false,
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
computed: {
|
|
125
|
-
couponItemBoxStyle(){
|
|
126
|
-
return this.styleObjectToString({
|
|
127
|
-
borderRadius: this.couponRadius + 'rpx',
|
|
128
|
-
})
|
|
129
|
-
},
|
|
130
|
-
couponBtnPadding(){
|
|
131
|
-
let padding = `${this.checkValue(this.couponUseBtnPadding.top, 20)}rpx`;
|
|
132
|
-
padding = `${padding} ${this.checkValue(this.couponUseBtnPadding.right, 20)}rpx`;
|
|
133
|
-
padding = `${padding} ${this.checkValue(this.couponUseBtnPadding.bottom, 20)}rpx`;
|
|
134
|
-
padding = `${padding} ${this.checkValue(this.couponUseBtnPadding.left, 20)}rpx`;
|
|
135
|
-
return padding;
|
|
136
|
-
},
|
|
137
|
-
couponBtnStyle(){
|
|
138
|
-
let styleObj = {
|
|
139
|
-
color: this.couponBtnTextStyle['color'] || '#333',
|
|
140
|
-
background: this.couponBtnTextStyle['bgColor'] || '#fff',
|
|
141
|
-
fontSize: this.couponBtnTextStyle['fontSize'] || '30rpx',
|
|
142
|
-
fontWeight: this.couponBtnTextStyle['fontWeight'] || 'normal',
|
|
143
|
-
}
|
|
144
|
-
return this.styleObjectToString(styleObj)
|
|
145
|
-
},
|
|
146
|
-
couponBtnActiveStyle(){
|
|
147
|
-
return this.styleObjectToString({
|
|
148
|
-
color: this.couponBtnTextStyle['actColor'] || '#fff',
|
|
149
|
-
background: this.couponBtnTextStyle['actBgColor'] || '#ff5722',
|
|
150
|
-
fontSize: this.couponBtnTextStyle['actFontSize'] || '30rpx',
|
|
151
|
-
fontWeight: this.couponBtnTextStyle['actFontWeight'] || 'normal',
|
|
152
|
-
})
|
|
153
|
-
},
|
|
154
|
-
couponRightItemBoxStyle(){
|
|
155
|
-
let image = {};
|
|
156
|
-
if(this.cardImageUrl) image = {
|
|
157
|
-
backgroundImage: `url(${this.getCouponBgImage})`,
|
|
158
|
-
backgroundSize: '100%',
|
|
159
|
-
backgroundRepeat: 'no-repeat',
|
|
160
|
-
}
|
|
161
|
-
return this.styleObjectToString(image)
|
|
162
|
-
},
|
|
163
|
-
getCouponBgImage(){
|
|
164
|
-
let bg = '';
|
|
165
|
-
if(this.$xdUniHelper.checkVarType(this.couponImageUrl) === 'object'
|
|
166
|
-
|| this.$xdUniHelper.checkVarType(this.couponImageUrl) === 'array'
|
|
167
|
-
) {
|
|
168
|
-
if(!this.$xdUniHelper.isEmpty(this.couponImageUrl)) {
|
|
169
|
-
return getServiceUrl(this.couponImageUrl.url)
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return bg
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
methods: {
|
|
176
|
-
switchRule(){
|
|
177
|
-
this.expand = !this.expand;
|
|
178
|
-
},
|
|
179
|
-
goToUseCoupon(){
|
|
180
|
-
this.$emit('useCoupon', this.item);
|
|
181
|
-
},
|
|
182
|
-
checkValue(value, dValue = 0){
|
|
183
|
-
if(value === undefined || value === '' || value === null) return dValue;
|
|
184
|
-
return Number(value || 0);
|
|
185
|
-
},
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
</script>
|
|
190
|
-
<style lang="less" scoped>
|
|
191
|
-
.xd-coupon_item{
|
|
192
|
-
display: flex;
|
|
193
|
-
margin: 20rpx 0;
|
|
194
|
-
border-radius: 16rpx;
|
|
195
|
-
background: #FFFFFF;
|
|
196
|
-
overflow: hidden;
|
|
197
|
-
.coupon_left{
|
|
198
|
-
color: #FFFFFF;
|
|
199
|
-
width: 170rpx;
|
|
200
|
-
display: flex;
|
|
201
|
-
flex-direction: column;
|
|
202
|
-
align-items: center;
|
|
203
|
-
justify-content: center;
|
|
204
|
-
|
|
205
|
-
._point{
|
|
206
|
-
font-size: 48rpx;
|
|
207
|
-
}
|
|
208
|
-
._rule{
|
|
209
|
-
font-size: 24rpx;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
.coupon_right{
|
|
213
|
-
flex: 1;
|
|
214
|
-
width: 530rpx;
|
|
215
|
-
.cont_top{
|
|
216
|
-
background: rgba(255, 87, 51, 0.1);
|
|
217
|
-
padding: 8rpx 40rpx;
|
|
218
|
-
font-size: 24rpx;
|
|
219
|
-
overflow: hidden;
|
|
220
|
-
white-space: nowrap;
|
|
221
|
-
text-overflow: ellipsis;
|
|
222
|
-
}
|
|
223
|
-
.cont_main{
|
|
224
|
-
position: relative;
|
|
225
|
-
padding: 28rpx 20rpx 28rpx 40rpx;
|
|
226
|
-
color: #333333;
|
|
227
|
-
.cou_number{
|
|
228
|
-
font-size: 32rpx;
|
|
229
|
-
font-weight: bold;
|
|
230
|
-
}
|
|
231
|
-
.cou_time{
|
|
232
|
-
font-size: 28rpx;
|
|
233
|
-
margin: 16rpx 0;
|
|
234
|
-
}
|
|
235
|
-
.cou_point{
|
|
236
|
-
font-size: 28rpx;
|
|
237
|
-
display: flex;
|
|
238
|
-
align-items: center;
|
|
239
|
-
}
|
|
240
|
-
.cou_btn{
|
|
241
|
-
position: absolute;
|
|
242
|
-
padding: 10rpx 30rpx;
|
|
243
|
-
background-color: #ddd;
|
|
244
|
-
border-radius: 12rpx;
|
|
245
|
-
right: 20rpx;
|
|
246
|
-
bottom: 20rpx;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
.cont_bottom{
|
|
250
|
-
background: #EEEEEE;
|
|
251
|
-
.switch_rule{
|
|
252
|
-
display: flex;
|
|
253
|
-
align-items: center;
|
|
254
|
-
justify-content: space-between;
|
|
255
|
-
padding: 12rpx 40rpx;
|
|
256
|
-
font-size: 24rpx;
|
|
257
|
-
color: #666666;
|
|
258
|
-
}
|
|
259
|
-
.expand_rule{
|
|
260
|
-
padding: 12rpx 40rpx;
|
|
261
|
-
font-size: 20rpx;
|
|
262
|
-
color: #333333;
|
|
263
|
-
overflow: hidden;
|
|
264
|
-
white-space: nowrap;
|
|
265
|
-
text-overflow: ellipsis;
|
|
266
|
-
background-color: #F5F5F5;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
</style>
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="search_all_list" >
|
|
3
|
-
<view class="module_item" v-for="parent in list" :key="parent.setting_id"
|
|
4
|
-
:style="{
|
|
5
|
-
padding:contMarginComp,
|
|
6
|
-
}"
|
|
7
|
-
>
|
|
8
|
-
<view class="module_title">{{ parent.name }}</view>
|
|
9
|
-
<view class="module_cont">
|
|
10
|
-
<view v-for="(item, i) in parent.items" :key="i">
|
|
11
|
-
<content-cinema v-if="parent.type === 'cinema'"
|
|
12
|
-
style="width: 100%; height: 100%"
|
|
13
|
-
:item="item"
|
|
14
|
-
:out-spacing="$parentVm.outSpacing"
|
|
15
|
-
:color="{SEAT:$parentVm.mainColor,CODE:$parentVm.subMainColor,SELL:$parentVm.successColor}"
|
|
16
|
-
:border-radius="$parentVm.imgRradius"
|
|
17
|
-
@on-schedule="(cinema)=>{$parentVm.handleSchedule(cinema,parent)}"
|
|
18
|
-
@on-cashier-detail="(cinema)=>{$parentVm.handleCashierDetail(cinema,parent)}"
|
|
19
|
-
@on-code-detail="(cinema)=>{$parentVm.handleCodeDetail(cinema,parent)}"
|
|
20
|
-
></content-cinema>
|
|
21
|
-
|
|
22
|
-
<content-film v-if="parent.type === 'film'"
|
|
23
|
-
style="width: 100%; height: 100%"
|
|
24
|
-
:item="item"
|
|
25
|
-
:out-spacing="$parentVm.outSpacing"
|
|
26
|
-
:color="$parentVm.mainColor"
|
|
27
|
-
:border-radius="$parentVm.imgRradius"
|
|
28
|
-
@on-film-detail="(film_id)=>{$parentVm.handleFilmDetail(film_id, parent)}"
|
|
29
|
-
@on-buy="(film_id)=>{$parentVm.handleBuy(film_id, parent)}"
|
|
30
|
-
></content-film>
|
|
31
|
-
|
|
32
|
-
<content-shop v-if="parent.type === 'shop'"
|
|
33
|
-
style="width: 100%; height: 100%"
|
|
34
|
-
:item="item"
|
|
35
|
-
:out-spacing="$parentVm.outSpacing"
|
|
36
|
-
:color="$parentVm.mainColor"
|
|
37
|
-
:border-radius="$parentVm.imgRradius"
|
|
38
|
-
:is-echange="'Y' || $parentVm.isShowExchange"
|
|
39
|
-
@on-shop-jhd="(shop)=>{$parentVm.handleShopJhd(shop,parent)}"
|
|
40
|
-
@on-shop-detail="(shop)=>{$parentVm.handleShopDetail(shop,parent)}"
|
|
41
|
-
></content-shop>
|
|
42
|
-
|
|
43
|
-
<content-product v-if="parent.type === 'product'"
|
|
44
|
-
style="width: 100%; height: 100%"
|
|
45
|
-
:item="item"
|
|
46
|
-
:product-config="$parentVm.productConfig"
|
|
47
|
-
:out-spacing="$parentVm.outSpacing"
|
|
48
|
-
:color="$parentVm.mainColor"
|
|
49
|
-
:border-radius="$parentVm.imgRradius"
|
|
50
|
-
:cell="1"
|
|
51
|
-
@on-product-detail="(product)=>{$parentVm.handleProductDetail(product,parent)}"
|
|
52
|
-
></content-product>
|
|
53
|
-
</view>
|
|
54
|
-
</view>
|
|
55
|
-
<view class="module_more">
|
|
56
|
-
<view>查看全部{{ parent.name }} >></view>
|
|
57
|
-
</view>
|
|
58
|
-
</view>
|
|
59
|
-
</view>
|
|
60
|
-
</template>
|
|
61
|
-
|
|
62
|
-
<script>
|
|
63
|
-
import ContentCinema from "./ContentCinema.vue"
|
|
64
|
-
import ContentFilm from "./ContentFilm.vue"
|
|
65
|
-
import ContentShop from "./ContentShop.vue"
|
|
66
|
-
import ContentProduct from "./ContentProduct.vue"
|
|
67
|
-
export default{
|
|
68
|
-
name: "SearchAllList",
|
|
69
|
-
components: {
|
|
70
|
-
ContentCinema,
|
|
71
|
-
ContentFilm,
|
|
72
|
-
ContentShop,
|
|
73
|
-
ContentProduct
|
|
74
|
-
},
|
|
75
|
-
props: {
|
|
76
|
-
|
|
77
|
-
},
|
|
78
|
-
computed: {
|
|
79
|
-
contMarginComp(){
|
|
80
|
-
let str = `${this.$parentVm.checkValue(this.$parentVm.contMargin.top, 20)}rpx`;
|
|
81
|
-
str = `${str} ${this.$parentVm.checkValue(this.$parentVm.contMargin.right, 20)}rpx`;
|
|
82
|
-
str = `${str} ${this.$parentVm.checkValue(this.$parentVm.contMargin.bottom, 20)}rpx`;
|
|
83
|
-
str = `${str} ${this.$parentVm.checkValue(this.$parentVm.contMargin.left, 20)}rpx`;
|
|
84
|
-
return str
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
data(){
|
|
88
|
-
return {
|
|
89
|
-
$parentVm:null,
|
|
90
|
-
parentStatus: false,
|
|
91
|
-
|
|
92
|
-
list: [
|
|
93
|
-
{
|
|
94
|
-
"type": "product",
|
|
95
|
-
"name": "蛋糕",
|
|
96
|
-
"detail_redirect_data": "{\"dir\":\"wtxsaas\",\"host\":\"sandbox-website-05.jufubao.cn\",\"path\":\"\\/main\\/order\\/detail\",\"appType\":\"h5\",\"site_id\":\"17928cc37788be02\",\"site_url\":\"https:\\/\\/sandbox-website-05.jufubao.cn\\/wtxsaas\\/main\\/order\\/detail\",\"frontPath\":\"\\/wtxsaas\\/main\\/order\\/detail\",\"fixed_business_code\":\"\"}",
|
|
97
|
-
"detail1_redirect_data": "",
|
|
98
|
-
"more_redirect_data": "",
|
|
99
|
-
"sort": 0,
|
|
100
|
-
"setting_id": 1,
|
|
101
|
-
"next_page_token": "a:2:{i:0;d:1705.0785;i:1;s:8:\"60030143\";}",
|
|
102
|
-
"items": [
|
|
103
|
-
{
|
|
104
|
-
"brand_id": 100003,
|
|
105
|
-
"brand_name": "品牌jls0519",
|
|
106
|
-
"list_title": "3",
|
|
107
|
-
"market_price": 2000,
|
|
108
|
-
"market_tags": [],
|
|
109
|
-
"product_id": 60030143,
|
|
110
|
-
"product_name": "仅快递实物商品(北京廊坊支持配送)",
|
|
111
|
-
"product_type": "good",
|
|
112
|
-
"promo_price": 0,
|
|
113
|
-
"sale_num": 8,
|
|
114
|
-
"sale_price": 3000,
|
|
115
|
-
"status": "ok",
|
|
116
|
-
"thumb": "/uploads/20231215/b2ce0235129aa592044f96343f25c338.jpeg"
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
"type": "shop",
|
|
122
|
-
"name": "蛋糕",
|
|
123
|
-
"detail_redirect_data": "",
|
|
124
|
-
"detail1_redirect_data": "",
|
|
125
|
-
"more_redirect_data": "",
|
|
126
|
-
"sort": 1,
|
|
127
|
-
"setting_id": 5,
|
|
128
|
-
"next_page_token": "a:1:{i:0;d:4.4;}",
|
|
129
|
-
"items": [
|
|
130
|
-
{
|
|
131
|
-
"brand_id": 0,
|
|
132
|
-
"brand_name": "",
|
|
133
|
-
"shop_icon": "https://dimg04.uat.qa.nt.ctripcorp.com/images/1lo4a12000007fyeg8D96.gif",
|
|
134
|
-
"distance": 4,
|
|
135
|
-
"business_status": "5",
|
|
136
|
-
"full_address": "北京北京北京市东城区景山前街4号",
|
|
137
|
-
"phone": "",
|
|
138
|
-
"consume_mode": [
|
|
139
|
-
"TRAVEL"
|
|
140
|
-
],
|
|
141
|
-
"consume_mode_name": "",
|
|
142
|
-
"shop_id": 1052782,
|
|
143
|
-
"resource_shop_id": 8000302,
|
|
144
|
-
"resource_shop_name": "故宫-测试1-攻略修改",
|
|
145
|
-
"shop_tags": {},
|
|
146
|
-
"stars": 2
|
|
147
|
-
}
|
|
148
|
-
]
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"type": "cinema",
|
|
152
|
-
"name": "影院",
|
|
153
|
-
"detail_redirect_data": "{\"dir\":\"apply06\",\"host\":\"sandbox-website-05.jufubao.cn\",\"path\":\"\\/main\\/movie\\/suhedule\",\"appType\":\"h5\",\"site_id\":\"17928cc37788be02\",\"site_url\":\"https:\\/\\/sandbox-website-05.jufubao.cn\\/apply06\\/main\\/movie\\/suhedule\",\"frontPath\":\"\\/apply06\\/main\\/movie\\/suhedule\",\"fixed_business_code\":\"\"}",
|
|
154
|
-
"detail1_redirect_data": "{\"dir\":\"apply06\",\"host\":\"sandbox-website-05.jufubao.cn\",\"path\":\"\\/main\\/movie\\/cdetailnew\",\"appType\":\"h5\",\"site_id\":\"17928cc37788be02\",\"site_url\":\"https:\\/\\/sandbox-website-05.jufubao.cn\\/apply06\\/main\\/movie\\/cdetailnew\",\"frontPath\":\"\\/apply06\\/main\\/movie\\/cdetailnew\",\"fixed_business_code\":\"\"}",
|
|
155
|
-
"more_redirect_data": "",
|
|
156
|
-
"sort": 3,
|
|
157
|
-
"setting_id": 10,
|
|
158
|
-
"next_page_token": 1,
|
|
159
|
-
"items": [
|
|
160
|
-
{
|
|
161
|
-
"address": "朝阳区安慧里三区10号 (北辰购物中心对面)",
|
|
162
|
-
"brand_id": 0,
|
|
163
|
-
"brand_name": "",
|
|
164
|
-
"cinema_id": 6771413,
|
|
165
|
-
"cinema_name": "北京剧院",
|
|
166
|
-
"cinema_type": [
|
|
167
|
-
"SEAT"
|
|
168
|
-
],
|
|
169
|
-
"cinema_type_name": [
|
|
170
|
-
"在线选座"
|
|
171
|
-
],
|
|
172
|
-
"distance": "",
|
|
173
|
-
"is_open": "Y",
|
|
174
|
-
"shop_icon": ""
|
|
175
|
-
}
|
|
176
|
-
]
|
|
177
|
-
}
|
|
178
|
-
],
|
|
179
|
-
}
|
|
180
|
-
},
|
|
181
|
-
created(){
|
|
182
|
-
this.getParentMV();
|
|
183
|
-
this.getList();
|
|
184
|
-
},
|
|
185
|
-
methods: {
|
|
186
|
-
getParentMV(){
|
|
187
|
-
this.$emit('on-parent-vm', ($vm)=>{
|
|
188
|
-
this.$parentVm = $vm;
|
|
189
|
-
this.parentStatus = true;
|
|
190
|
-
})
|
|
191
|
-
},
|
|
192
|
-
getList(){
|
|
193
|
-
this.$xdShowLoading({});
|
|
194
|
-
this.$emit('on-list', {
|
|
195
|
-
params: {},
|
|
196
|
-
cb:(list)=>{
|
|
197
|
-
this.list = list;
|
|
198
|
-
this.$xdHideLoading();
|
|
199
|
-
}
|
|
200
|
-
})
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
</script>
|
|
205
|
-
|
|
206
|
-
<style lang="less" scoped>
|
|
207
|
-
.search_all_list{
|
|
208
|
-
.module_item{
|
|
209
|
-
background-color: #FFFFFF;
|
|
210
|
-
margin-bottom: 20rpx;
|
|
211
|
-
}
|
|
212
|
-
.module_title{
|
|
213
|
-
height: 88rpx;
|
|
214
|
-
line-height: 88rpx;
|
|
215
|
-
border-bottom: 1px solid #EEEEEE;
|
|
216
|
-
font-size: 28rpx;
|
|
217
|
-
color: #333333;
|
|
218
|
-
}
|
|
219
|
-
.module_cont{
|
|
220
|
-
padding: 20rpx 0;
|
|
221
|
-
}
|
|
222
|
-
.module_more{
|
|
223
|
-
display: flex;
|
|
224
|
-
justify-content: center;
|
|
225
|
-
align-items: center;
|
|
226
|
-
height: 80rpx;
|
|
227
|
-
font-size: 26rpx;
|
|
228
|
-
color: #999999;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
</style>
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="content" @click="handleCinemaDetail">
|
|
3
|
-
<view class="title" v-html="cusName"></view>
|
|
4
|
-
<view class="address">{{item['address']}}</view>
|
|
5
|
-
<view class="bottom">
|
|
6
|
-
<view class="distance">
|
|
7
|
-
<template v-if="item['distance']">
|
|
8
|
-
<xd-font-icon size="26" icon="icondizhi" :color="color.SEAT"></xd-font-icon>
|
|
9
|
-
<text :style="{color: color.SEAT}">{{item['distance']}}</text>
|
|
10
|
-
</template>
|
|
11
|
-
</view>
|
|
12
|
-
<view class="btn">
|
|
13
|
-
<!--不展示核销类型【SELL】-->
|
|
14
|
-
<view
|
|
15
|
-
v-for="(name,index) in item['cinema_type_name']"
|
|
16
|
-
v-if="item['cinema_type'][index] !== 'SELL'"
|
|
17
|
-
:key="index"
|
|
18
|
-
@click.stop="handleBtn(item['cinema_type'][index])"
|
|
19
|
-
:style="{
|
|
20
|
-
backgroundColor:color[item['cinema_type'][index]],
|
|
21
|
-
color:'#fff'
|
|
22
|
-
}">{{name}}</view>
|
|
23
|
-
</view>
|
|
24
|
-
</view>
|
|
25
|
-
</view>
|
|
26
|
-
</template>
|
|
27
|
-
|
|
28
|
-
<script>
|
|
29
|
-
import XdButton from "@/components/XdButton/XdButton.vue";
|
|
30
|
-
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon.vue";
|
|
31
|
-
import handleKeyword from "./handleKeyword";
|
|
32
|
-
|
|
33
|
-
export default {
|
|
34
|
-
name:'ContentCinema',
|
|
35
|
-
components:{
|
|
36
|
-
XdButton,
|
|
37
|
-
XdFontIcon
|
|
38
|
-
},
|
|
39
|
-
props:{
|
|
40
|
-
keyword:{
|
|
41
|
-
type:String,
|
|
42
|
-
default: '',
|
|
43
|
-
},
|
|
44
|
-
item:Object,
|
|
45
|
-
color: {
|
|
46
|
-
type: Object,
|
|
47
|
-
default: {}
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
},
|
|
51
|
-
computed:{
|
|
52
|
-
cusName(){
|
|
53
|
-
return handleKeyword(this, this.item['cinema_name'], this.keyword)
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
data(){
|
|
57
|
-
return {
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
created() {
|
|
62
|
-
|
|
63
|
-
},
|
|
64
|
-
methods:{
|
|
65
|
-
handleCinemaDetail(){
|
|
66
|
-
//优先在线选座
|
|
67
|
-
if(this.item['cinema_type'].includes('SEAT')) {
|
|
68
|
-
this.handleSchedule();
|
|
69
|
-
return
|
|
70
|
-
}
|
|
71
|
-
if(this.item['cinema_type'].includes('CODE')) {
|
|
72
|
-
this.handleCodeDetail();
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
if(this.item['cinema_type'].includes('SELL')) {
|
|
76
|
-
this.handleCashierDetail();
|
|
77
|
-
return
|
|
78
|
-
}
|
|
79
|
-
console.error(`${JSON.stringify(this.item['cinema_type'])}`)
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
handleBtn(code){
|
|
83
|
-
if(code === 'SEAT') this.handleSchedule();
|
|
84
|
-
else if(code === 'CODE') this.handleCodeDetail();
|
|
85
|
-
else if(code === 'SELL') this.handleCashierDetail();
|
|
86
|
-
else console.error(`${JSON.stringify(this.item['cinema_type'])}`)
|
|
87
|
-
},
|
|
88
|
-
|
|
89
|
-
//电子码
|
|
90
|
-
handleCodeDetail(){
|
|
91
|
-
console.warn(`handleCodeDetail`)
|
|
92
|
-
this.$emit('on-code-detail', this.item);
|
|
93
|
-
},
|
|
94
|
-
//核销
|
|
95
|
-
handleCashierDetail(){
|
|
96
|
-
console.warn(`handleCashierDetail`)
|
|
97
|
-
this.$emit('on-cashier-detail', this.item);
|
|
98
|
-
},
|
|
99
|
-
|
|
100
|
-
//选座排期
|
|
101
|
-
handleSchedule(){
|
|
102
|
-
console.warn(`handleSchedule`)
|
|
103
|
-
this.$emit('on-schedule', this.item);
|
|
104
|
-
},
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
</script>
|
|
108
|
-
|
|
109
|
-
<style scoped lang="less">
|
|
110
|
-
.content {
|
|
111
|
-
.title {
|
|
112
|
-
font-size: 30rpx;
|
|
113
|
-
line-height: 40rpx;
|
|
114
|
-
margin-bottom: 20rpx;
|
|
115
|
-
color: #333;
|
|
116
|
-
font-weight: 500;
|
|
117
|
-
}
|
|
118
|
-
.address {
|
|
119
|
-
font-size: 24rpx;
|
|
120
|
-
line-height: 30rpx;
|
|
121
|
-
color: #999;
|
|
122
|
-
margin-bottom: 15rpx;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.bottom {
|
|
126
|
-
display: flex;
|
|
127
|
-
justify-content: space-between;
|
|
128
|
-
align-items: center;
|
|
129
|
-
margin-top: 30rpx;
|
|
130
|
-
|
|
131
|
-
& > .distance {
|
|
132
|
-
display: flex;
|
|
133
|
-
justify-content: flex-start;
|
|
134
|
-
align-items: center;
|
|
135
|
-
|
|
136
|
-
& > text {
|
|
137
|
-
margin-left: 10rpx;
|
|
138
|
-
font-size: 24rpx;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
& > .btn {
|
|
143
|
-
display: flex;
|
|
144
|
-
justify-content: flex-end;
|
|
145
|
-
align-items: center;
|
|
146
|
-
|
|
147
|
-
& > view {
|
|
148
|
-
margin-left: 10rpx;
|
|
149
|
-
padding: 0 30rpx;
|
|
150
|
-
line-height: 60rpx;
|
|
151
|
-
border-radius: 30rpx;
|
|
152
|
-
font-size: 26rpx;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
</style>
|