jufubao-movie 1.0.39-beta9 → 1.0.40
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/JfbMovieLineCinemaChoose/Api.js +3 -3
- package/src/components/JfbMovieLineCinemaChoose/JfbMovieLineCinemaChoose.vue +13 -9
- package/src/components/JfbMovieLineCinemaChoose/Mock.js +2 -2
- package/src/components/JfbMovieLineFilm/JfbMovieLineFilm.vue +16 -3
- package/src/components/JfbMovieLineFilmInfo/JfbMovieLineFilmInfo.vue +2 -4
- package/src/components/JfbMovieLineFilmInfo/Mock.js +1 -1
- package/src/components/JfbMovieLineLineSeat/JfbMovieLineLineSeat.vue +163 -29
- package/src/components/JfbMovieLineLineSeat/XdOnlineSeat.vue +43 -5
- package/src/components/JfbMovieTfkFilmList/Attr.js +5 -238
- package/src/components/JfbMovieTfkFilmList/ContentItem.vue +2 -2
- package/src/components/JfbMovieTfkFilmList/JfbMovieTfkFilmList.vue +200 -110
- package/src/components/JfbMovieTfkFilmList/PosterAttr.js +257 -0
- package/src/components/JfbMovieTfkFilmList/XdPoster.vue +160 -0
- package/src/components/JfbMovieTfkFilmList/XdQueryFilter.vue +2 -1
- package/src/components/JfbMovieTfkFilmRecommend/JfbMovieTfkFilmRecommend.vue +6 -2
- package/src/lib/VirtualList.js +85 -64
- package/src/mixins/posterMixins.js +0 -59
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
module.exports = [
|
|
14
14
|
{
|
|
15
|
-
mapFnName: '
|
|
15
|
+
mapFnName: 'getCinemaChooseList', //自定义方法名字(必选)
|
|
16
16
|
title: '获取影院列表',
|
|
17
17
|
path: '/movie/v1/cinema/list',
|
|
18
18
|
isRule: false,
|
|
@@ -25,7 +25,7 @@ module.exports = [
|
|
|
25
25
|
disabled: true,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
mapFnName: '
|
|
28
|
+
mapFnName: 'getFilmChooseInfo',
|
|
29
29
|
title: '获取影片详情',
|
|
30
30
|
path: '/movie/v1/film/get',
|
|
31
31
|
isRule: false,
|
|
@@ -37,7 +37,7 @@ module.exports = [
|
|
|
37
37
|
disabled: true,
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
|
-
mapFnName: "
|
|
40
|
+
mapFnName: "getCityChooseSub",
|
|
41
41
|
title: "获取城市的区位列表",
|
|
42
42
|
path: "/common/v1/region/city/getsub-lv",
|
|
43
43
|
isRule: false,
|
|
@@ -13,22 +13,20 @@
|
|
|
13
13
|
:class="{ editx: isEditx && active }"
|
|
14
14
|
v-if="isEditx && active && !noBorder"
|
|
15
15
|
>
|
|
16
|
-
<view class="jfb-movie-line-cinema-choose__edit-icon" @click="delEdit"
|
|
17
|
-
>删除</view
|
|
18
|
-
>
|
|
16
|
+
<view class="jfb-movie-line-cinema-choose__edit-icon" @click="delEdit">删除</view>
|
|
19
17
|
</view>
|
|
20
18
|
<!-- #endif -->
|
|
21
19
|
<view class="jfb-movie-line-cinema-choose__body">
|
|
22
20
|
<view class="film_base_wrap-top"></view>
|
|
23
21
|
<view class="film_base_wrap">
|
|
24
|
-
<view class="film_info">
|
|
22
|
+
<view class="film_info" v-if="film.show_name">
|
|
25
23
|
<view class="film_post">
|
|
26
24
|
<image :src="film.poster" />
|
|
27
25
|
</view>
|
|
28
26
|
<view class="film_other">
|
|
29
27
|
<view class="film_name_score">
|
|
30
28
|
<view class="film_name">{{ film.show_name }}</view>
|
|
31
|
-
<view class="film_score">{{ film.remark }}</view>
|
|
29
|
+
<view class="film_score" v-if="film.remark">{{ film.remark }}</view>
|
|
32
30
|
</view>
|
|
33
31
|
<view class="film_type">{{ film.type }}</view>
|
|
34
32
|
<view class="film_sub">导演:{{ film.director }}</view>
|
|
@@ -206,7 +204,7 @@ export default {
|
|
|
206
204
|
const { film_id } = options;
|
|
207
205
|
this.film_id = film_id;
|
|
208
206
|
const { stateCity } = this;
|
|
209
|
-
jfbRootExec("
|
|
207
|
+
jfbRootExec("getFilmChooseInfo", {
|
|
210
208
|
vm: this,
|
|
211
209
|
data: {
|
|
212
210
|
film_id,
|
|
@@ -246,7 +244,7 @@ export default {
|
|
|
246
244
|
});
|
|
247
245
|
},
|
|
248
246
|
handleGetCitySub(city_code) {
|
|
249
|
-
jfbRootExec("
|
|
247
|
+
jfbRootExec("getCityChooseSub", {
|
|
250
248
|
vm: this,
|
|
251
249
|
data: {
|
|
252
250
|
city_code,
|
|
@@ -260,7 +258,7 @@ export default {
|
|
|
260
258
|
// let region = citySubs[subIndex] || {};
|
|
261
259
|
console.log(stateCity, stateLocation, "p_getCinemaList");
|
|
262
260
|
this.$xdShowLoading({});
|
|
263
|
-
jfbRootExec("
|
|
261
|
+
jfbRootExec("getCinemaChooseList", {
|
|
264
262
|
vm: this,
|
|
265
263
|
data: {
|
|
266
264
|
city_code: stateCity.city_code,
|
|
@@ -356,14 +354,20 @@ view {
|
|
|
356
354
|
.film_name_score {
|
|
357
355
|
display: flex;
|
|
358
356
|
justify-content: space-between;
|
|
359
|
-
align-items:
|
|
357
|
+
align-items: flex-start;
|
|
360
358
|
font-size: 36rpx;
|
|
361
359
|
font-weight: 700;
|
|
362
360
|
.film_name {
|
|
363
361
|
color: #000;
|
|
362
|
+
flex: 1;
|
|
363
|
+
line-height: 46rpx;
|
|
364
364
|
}
|
|
365
365
|
.film_score {
|
|
366
366
|
color: #ff5733;
|
|
367
|
+
flex-shrink: 0;
|
|
368
|
+
margin-left: 6rpx;
|
|
369
|
+
font-size: 32rpx;
|
|
370
|
+
line-height: 46rpx;
|
|
367
371
|
}
|
|
368
372
|
}
|
|
369
373
|
.film_type {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
|
-
|
|
4
|
+
getFilmChooseInfo: {
|
|
5
5
|
"id": 155,
|
|
6
6
|
"city_code": "",
|
|
7
7
|
"show_name_en": "我的遗憾和你有关",
|
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
"deleted_time": 0,
|
|
28
28
|
"request_id": "9aefdeb726bc8644"
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
getCinemaChooseList: {
|
|
31
31
|
list: [
|
|
32
32
|
{
|
|
33
33
|
cinema_id: 6780394,
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
}"
|
|
44
44
|
>即将上映</view>
|
|
45
45
|
</view>
|
|
46
|
-
|
|
47
46
|
<view v-if="loadingList" class="switch_section skeleton-wrap">
|
|
48
47
|
<view class="film_item" v-for="i in 6" :key="i">
|
|
49
48
|
<view class="film_post"></view>
|
|
@@ -134,8 +133,6 @@
|
|
|
134
133
|
</view>
|
|
135
134
|
</view>
|
|
136
135
|
</template>
|
|
137
|
-
|
|
138
|
-
|
|
139
136
|
</view>
|
|
140
137
|
</view>
|
|
141
138
|
</template>
|
|
@@ -211,6 +208,22 @@
|
|
|
211
208
|
}
|
|
212
209
|
},
|
|
213
210
|
created() {
|
|
211
|
+
let mapType = {
|
|
212
|
+
hot:0,
|
|
213
|
+
rightnow: 1,
|
|
214
|
+
}
|
|
215
|
+
let tab_id = '';
|
|
216
|
+
// #ifdef H5
|
|
217
|
+
tab_id = this.$xdUniHelper.getParmater('tab_id') ? this.$xdUniHelper.getParmater('tab_id'):'';
|
|
218
|
+
// #endif
|
|
219
|
+
// #ifdef MP-WEIXIN
|
|
220
|
+
let pages = this.$xdUniHelper.parseURL(this.$root.$scope.$page.fullPath);
|
|
221
|
+
tab_id = (pages.params && pages.params['tab_id']) ? pages.params['tab_id'] :'';
|
|
222
|
+
// #endif
|
|
223
|
+
if(['hot', 'rightnow'].includes(tab_id)) {
|
|
224
|
+
this.activeIndex = mapType[tab_id];
|
|
225
|
+
}
|
|
226
|
+
|
|
214
227
|
this.init(this.container);
|
|
215
228
|
this.getList();
|
|
216
229
|
},
|
|
@@ -13,15 +13,13 @@
|
|
|
13
13
|
:class="{ editx: isEditx && active }"
|
|
14
14
|
v-if="isEditx && active && !noBorder"
|
|
15
15
|
>
|
|
16
|
-
<view class="jfb-movie-line-film-info__edit-icon" @click="delEdit"
|
|
17
|
-
>删除</view
|
|
18
|
-
>
|
|
16
|
+
<view class="jfb-movie-line-film-info__edit-icon" @click="delEdit">删除</view>
|
|
19
17
|
</view>
|
|
20
18
|
<!-- #endif -->
|
|
21
19
|
<view class="jfb-movie-line-film-info__body">
|
|
22
20
|
<view class="film_base_wrap-top"></view>
|
|
23
21
|
<view class="film_base_wrap">
|
|
24
|
-
<view class="film_info">
|
|
22
|
+
<view class="film_info" v-if="film.poster">
|
|
25
23
|
<view class="film_post">
|
|
26
24
|
<image :src="film.poster"></image>
|
|
27
25
|
</view>
|
|
@@ -44,10 +44,9 @@
|
|
|
44
44
|
<view class="seat_btn"></view>
|
|
45
45
|
</view>
|
|
46
46
|
<xd-online-seat
|
|
47
|
-
v-if="filmId"
|
|
47
|
+
v-if="isReload && filmId"
|
|
48
48
|
ref="xdOnlineSeat"
|
|
49
49
|
:is-show-title="isShowTitle"
|
|
50
|
-
:key="cinemaSeatKey"
|
|
51
50
|
:is-old="false"
|
|
52
51
|
:film-id="filmId"
|
|
53
52
|
:cinema-id="cinemaId"
|
|
@@ -56,6 +55,7 @@
|
|
|
56
55
|
:is_not_show_price="is_not_show_price"
|
|
57
56
|
@onGetFilm="handleGetFilm"
|
|
58
57
|
@onGetSeatList="handleGetSeatList"
|
|
58
|
+
@onGetFilmPaiqi="handleGetFilmPaiqi"
|
|
59
59
|
@onBuy="handleBuy"></xd-online-seat>
|
|
60
60
|
</view>
|
|
61
61
|
</view>
|
|
@@ -99,6 +99,8 @@
|
|
|
99
99
|
time: 0,
|
|
100
100
|
xItem: 10,
|
|
101
101
|
yItem: 7,
|
|
102
|
+
|
|
103
|
+
isReload: true,//控制重新加载(onJfbShow)
|
|
102
104
|
}
|
|
103
105
|
},
|
|
104
106
|
watch: {
|
|
@@ -125,6 +127,37 @@
|
|
|
125
127
|
}
|
|
126
128
|
},
|
|
127
129
|
|
|
130
|
+
/**
|
|
131
|
+
* @description 获取排期数据
|
|
132
|
+
* @param resolve
|
|
133
|
+
*/
|
|
134
|
+
handleGetFilmPaiqi(resolve){
|
|
135
|
+
const {filmId, cinemaId} = this;
|
|
136
|
+
this.$xdShowLoading({});
|
|
137
|
+
jfbRootExec("getCinemaSchedule", {
|
|
138
|
+
vm: this,
|
|
139
|
+
data: {cinema_id: cinemaId, film_id: filmId}
|
|
140
|
+
}).then(res=>{
|
|
141
|
+
this.paiQiData = res.schedule_data.map(item => {
|
|
142
|
+
item['name'] = item['date_name'];
|
|
143
|
+
item['paiqi_data'] = item['paiqi'].map(pp => {
|
|
144
|
+
pp['price'] = pp['sale_price'];
|
|
145
|
+
pp['jfb_film_id'] = pp['film_id'];
|
|
146
|
+
pp['jfb_cinema_id'] = pp['cinema_id'];
|
|
147
|
+
pp['data_id'] = pp['schedule_id'];
|
|
148
|
+
return pp;
|
|
149
|
+
});
|
|
150
|
+
return item;
|
|
151
|
+
});
|
|
152
|
+
resolve(this.paiQiData);
|
|
153
|
+
this.$xdHideLoading();
|
|
154
|
+
})
|
|
155
|
+
.catch(err=>{
|
|
156
|
+
console.error(err);
|
|
157
|
+
this.$xdHideLoading();
|
|
158
|
+
})
|
|
159
|
+
},
|
|
160
|
+
|
|
128
161
|
getSeatStatus(request_seat_id) {
|
|
129
162
|
this.$xdShowLoading({});
|
|
130
163
|
jfbRootExec("getCinemaSeatsStatus", {
|
|
@@ -133,6 +166,10 @@
|
|
|
133
166
|
request_seat_id: request_seat_id
|
|
134
167
|
}
|
|
135
168
|
}).then(res => {
|
|
169
|
+
// res['seat_code'] = 'P0007';
|
|
170
|
+
// res['seat_message'] = '当前场次有误,请您重新选择影片';
|
|
171
|
+
// res['seat_status'] = 'N'
|
|
172
|
+
|
|
136
173
|
if (res.seat_status === 'Y') {
|
|
137
174
|
this.$xdHideLoading()
|
|
138
175
|
clearTimeout(this.timer)
|
|
@@ -140,17 +177,21 @@
|
|
|
140
177
|
url: this.moviePayPath + `?order_id=${res.temp_order_id}`
|
|
141
178
|
},true);
|
|
142
179
|
return
|
|
143
|
-
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
//有错处理res.seat_status
|
|
183
|
+
else if (res.seat_status === 'N') {
|
|
144
184
|
clearTimeout(this.timer)
|
|
145
185
|
this.$xdHideLoading();
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
return
|
|
153
|
-
}
|
|
186
|
+
|
|
187
|
+
if(res['seat_message']) res['error_msg'] = res['error_msg'] || res['seat_message'];
|
|
188
|
+
if(res['seat_code']) res['error_code'] = res['error_code'] || res['seat_code']
|
|
189
|
+
|
|
190
|
+
//检查是否报错
|
|
191
|
+
this.handleCheckStatusIsError(res);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
else{
|
|
154
195
|
this.timer = setTimeout(() => {
|
|
155
196
|
this.getSeatStatus(request_seat_id);
|
|
156
197
|
}, ++this.time > 5 ? (Math.pow(2, (this.time - 4)) * 1000) : 3000)
|
|
@@ -160,6 +201,7 @@
|
|
|
160
201
|
this.$xdHideLoading()
|
|
161
202
|
})
|
|
162
203
|
},
|
|
204
|
+
|
|
163
205
|
/**
|
|
164
206
|
* @description 监听事件变化
|
|
165
207
|
* @param container {object} 业务组件对象自己
|
|
@@ -171,8 +213,12 @@
|
|
|
171
213
|
if(this.isShowTitle === 'Y') this.yItem = 7;
|
|
172
214
|
else this.yItem = 10;
|
|
173
215
|
},
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @description 获取排期与影片基础信息数据
|
|
219
|
+
* @param resolve
|
|
220
|
+
*/
|
|
174
221
|
handleGetFilm(resolve) {
|
|
175
|
-
// console.log('11111', paiqi.result);
|
|
176
222
|
const {filmId, cinemaId} = this;
|
|
177
223
|
this.$xdShowLoading({});
|
|
178
224
|
Promise.all([
|
|
@@ -182,6 +228,15 @@
|
|
|
182
228
|
]).then(([res, res1]) => {
|
|
183
229
|
this.loadingList = false;
|
|
184
230
|
this.$xdHideLoading();
|
|
231
|
+
|
|
232
|
+
//错误异常
|
|
233
|
+
if(res1['error_code']) {
|
|
234
|
+
this.handleCheckStatusIsError(res1, ()=>{
|
|
235
|
+
this.handleGetFilm(resolve)
|
|
236
|
+
});
|
|
237
|
+
return
|
|
238
|
+
}
|
|
239
|
+
|
|
185
240
|
this.is_not_show_price = res.is_not_show_price;
|
|
186
241
|
let paiqi_data = res.schedule_data.map(item => {
|
|
187
242
|
item['name'] = item['date_name'];
|
|
@@ -195,7 +250,6 @@
|
|
|
195
250
|
return item;
|
|
196
251
|
});
|
|
197
252
|
this.paiQiData = paiqi_data;
|
|
198
|
-
// const {cinema_data, film_data} = res1;
|
|
199
253
|
resolve({
|
|
200
254
|
paiqi_data: paiqi_data,
|
|
201
255
|
film_data: [{
|
|
@@ -225,6 +279,10 @@
|
|
|
225
279
|
request_ident: this.request_ident
|
|
226
280
|
}
|
|
227
281
|
}).then(res => {
|
|
282
|
+
// res['error_code'] = 'P0002';
|
|
283
|
+
// res['error_msg'] = '当前场次有更新 <br/> 请您手动切换或由系统自动切换到下一场次。';
|
|
284
|
+
// res['status'] = 'E'
|
|
285
|
+
|
|
228
286
|
if(res.status === "P"){
|
|
229
287
|
if(!this.$root.$isShow) return;
|
|
230
288
|
this.request_ident = res.request_ident;
|
|
@@ -234,32 +292,36 @@
|
|
|
234
292
|
}, ++this.seatTime > 5 ? (Math.pow(2, (this.seatTime - 4)) * 1000) : 2000)
|
|
235
293
|
return;
|
|
236
294
|
}
|
|
295
|
+
|
|
237
296
|
if(res.status === "E"){
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
})
|
|
297
|
+
this.handleCheckStatusIsError(res, ()=>{
|
|
298
|
+
resolve(null);
|
|
299
|
+
});
|
|
242
300
|
this.$xdHideLoading();
|
|
243
301
|
return;
|
|
244
302
|
}
|
|
303
|
+
|
|
245
304
|
let seatData = Object.assign({}, res, {
|
|
246
305
|
seat: res.seat_data.map(item => {
|
|
247
306
|
return item.seat_columns;
|
|
248
307
|
})
|
|
249
|
-
})
|
|
308
|
+
});
|
|
309
|
+
|
|
250
310
|
resolve(seatData);
|
|
251
311
|
this.$xdHideLoading();
|
|
252
312
|
})
|
|
253
313
|
},
|
|
314
|
+
|
|
254
315
|
//去支付未完成订单
|
|
255
316
|
handleToPay(res){
|
|
256
317
|
const { temp_order_id, oms_order_id, pay_order_id } = res;
|
|
257
318
|
this.$xdConfirm({
|
|
258
319
|
styles: this.styles,
|
|
259
320
|
width: '90%',
|
|
260
|
-
content: '
|
|
261
|
-
confirmText: '
|
|
262
|
-
|
|
321
|
+
content: '您当前有一笔未付款订单,<br/>请先处理!',
|
|
322
|
+
confirmText: '立即付款',
|
|
323
|
+
isHtml: true,
|
|
324
|
+
cancelText: '取消订单',
|
|
263
325
|
showClose: false,
|
|
264
326
|
success: (res) => {
|
|
265
327
|
if (res.confirm) {
|
|
@@ -288,6 +350,60 @@
|
|
|
288
350
|
})
|
|
289
351
|
},
|
|
290
352
|
|
|
353
|
+
handleCheckStatusIsError({error_msg,error_message,error_code}, cb=null){
|
|
354
|
+
let msg = error_message || error_msg;
|
|
355
|
+
if(!msg) return false;
|
|
356
|
+
|
|
357
|
+
//是否切换场次
|
|
358
|
+
if(error_code === 'P0002') {
|
|
359
|
+
this.$xdConfirm({
|
|
360
|
+
content: msg,
|
|
361
|
+
zIndex: 5000,
|
|
362
|
+
isHtml: true,
|
|
363
|
+
isTitle:false,
|
|
364
|
+
cancelText:'手动切换',
|
|
365
|
+
confirmText:'自动切换',
|
|
366
|
+
msgIcon:'iconinformation',
|
|
367
|
+
success:(res)=>{
|
|
368
|
+
if(res.confirm) {
|
|
369
|
+
if(typeof cb === 'function') cb();
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
})
|
|
373
|
+
return true
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
//当前场次有误,请您重新选择影片
|
|
377
|
+
if(error_code === 'P0007') {
|
|
378
|
+
this.$xdConfirm({
|
|
379
|
+
content: msg,
|
|
380
|
+
zIndex: 5000,
|
|
381
|
+
cancel:false,
|
|
382
|
+
isHtml: true,
|
|
383
|
+
isTitle:false,
|
|
384
|
+
confirmText:'返回首页',
|
|
385
|
+
msgIcon:'iconinformation',
|
|
386
|
+
success:(res)=>{
|
|
387
|
+
if(res.confirm) {
|
|
388
|
+
this.$xdUniHelper.redirectTo({
|
|
389
|
+
url: this.$settings.index
|
|
390
|
+
})
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
})
|
|
394
|
+
return true
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
this.$xdAlert({
|
|
398
|
+
content: msg,
|
|
399
|
+
type: 'error',
|
|
400
|
+
time: 3000,
|
|
401
|
+
zIndex: 5000
|
|
402
|
+
})
|
|
403
|
+
this.$xdHideLoading({})
|
|
404
|
+
return true;
|
|
405
|
+
},
|
|
406
|
+
|
|
291
407
|
handleBuy(item) {
|
|
292
408
|
let postData = {
|
|
293
409
|
schedule_id: this.scheduleId,
|
|
@@ -301,16 +417,28 @@
|
|
|
301
417
|
vm: this,
|
|
302
418
|
data: postData
|
|
303
419
|
}).then(res => {
|
|
304
|
-
|
|
420
|
+
//检查是否有错误信息并且弹层
|
|
421
|
+
if(this.handleCheckStatusIsError(res)){
|
|
422
|
+
this.$xdHideLoading()
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
//未获取到锁座ID
|
|
427
|
+
if(!res.request_seat_id) {
|
|
428
|
+
this.$xdHideLoading();
|
|
429
|
+
this.$xdAlert({
|
|
430
|
+
content: '未获取到锁座ID',
|
|
431
|
+
type: 'error',
|
|
432
|
+
time: 3000
|
|
433
|
+
})
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
|
|
305
437
|
this.timer = setTimeout(() => {
|
|
306
438
|
this.getSeatStatus(res.request_seat_id);
|
|
307
439
|
}, 2000)
|
|
308
440
|
}).catch(error=>{
|
|
309
441
|
console.error(error);
|
|
310
|
-
uni.showToast({
|
|
311
|
-
title: '锁座失败!',
|
|
312
|
-
icon: "none"
|
|
313
|
-
})
|
|
314
442
|
this.$xdHideLoading()
|
|
315
443
|
})
|
|
316
444
|
},
|
|
@@ -318,17 +446,23 @@
|
|
|
318
446
|
onJfbBack(options){
|
|
319
447
|
this.$xdUniHelper.navigateBack();
|
|
320
448
|
},
|
|
449
|
+
|
|
321
450
|
onJfbShow(options) {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
451
|
+
this.isReload = false;
|
|
452
|
+
setTimeout(()=>{
|
|
453
|
+
this.isReload = true;
|
|
454
|
+
this.onJfbLoad(options);
|
|
455
|
+
},100)
|
|
325
456
|
},
|
|
457
|
+
|
|
326
458
|
onJfbUnload(){
|
|
327
459
|
this.unmount();
|
|
328
460
|
},
|
|
461
|
+
|
|
329
462
|
onJfbHide(){
|
|
330
463
|
this.unmount();
|
|
331
464
|
},
|
|
465
|
+
|
|
332
466
|
unmount(){
|
|
333
467
|
if(this.seatTimer) clearTimeout(this.seatTimer);
|
|
334
468
|
if(this.timer) clearTimeout(this.timer);
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
>{{ item }}</view>
|
|
38
38
|
</xd-notice-bar>
|
|
39
39
|
</view>
|
|
40
|
+
<view class="xd-seat__footer-name">{{filmInfo.film_name}}</view>
|
|
40
41
|
<view class="xd-seat__footer-paiqi">
|
|
41
42
|
<view class="xd-seat__footer-paiqi-tab">
|
|
42
43
|
<view>
|
|
@@ -256,6 +257,7 @@ export default {
|
|
|
256
257
|
mainColorToArray: null,
|
|
257
258
|
paiqiStatus: false, //影院信息与排期信息状态
|
|
258
259
|
cinemaInfo: null, //影院信息
|
|
260
|
+
paiqiData:null, //排期数据
|
|
259
261
|
filmInfo: null, //电影信息
|
|
260
262
|
height: null, //内容区域高度
|
|
261
263
|
show: false, //是否显示返回
|
|
@@ -453,6 +455,21 @@ export default {
|
|
|
453
455
|
*/
|
|
454
456
|
getSeat(item) {
|
|
455
457
|
this.$emit("onGetSeatList", item, (seat) => {
|
|
458
|
+
|
|
459
|
+
//排期有更新自动选中下一场
|
|
460
|
+
if(seat === null) {
|
|
461
|
+
this.$emit('onGetFilmPaiqi',(paiqiData)=>{
|
|
462
|
+
let list = [];
|
|
463
|
+
paiqiData.map(item => {
|
|
464
|
+
list.push(item["paiqi_data"]);
|
|
465
|
+
});
|
|
466
|
+
this.replaceParams(this.getFirst(list));
|
|
467
|
+
});
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
//正常数据
|
|
472
|
+
this.selectedSeatInfo = seat;
|
|
456
473
|
this.selectedSeatList = seat["seat"];
|
|
457
474
|
this.areaPrices = (seat['area_price'] || []).map(item=>{
|
|
458
475
|
return {
|
|
@@ -466,13 +483,13 @@ export default {
|
|
|
466
483
|
},
|
|
467
484
|
|
|
468
485
|
/**
|
|
469
|
-
* @description
|
|
486
|
+
* @description 获取排期与影院信息数据
|
|
470
487
|
*/
|
|
471
488
|
getFilm() {
|
|
472
489
|
this.$emit("onGetFilm", (film) => {
|
|
473
490
|
this.cinemaInfo = film["cinema_data"];
|
|
491
|
+
this.paiqiData = film["paiqi_data"];
|
|
474
492
|
this.filmInfo = this.getFilmInfo(film["film_data"]);
|
|
475
|
-
debugger
|
|
476
493
|
this.getScheduleList(film["paiqi_data"]);
|
|
477
494
|
console.log("getFilm", film);
|
|
478
495
|
this.paiqiStatus = true;
|
|
@@ -558,9 +575,13 @@ export default {
|
|
|
558
575
|
console.warn(`params.seatId:${this.seatId}`);
|
|
559
576
|
console.warn(`all.seatId:${JSON.stringify(allPaiqiId)}`);
|
|
560
577
|
this.$xdConfirm({
|
|
561
|
-
content:'
|
|
578
|
+
content:'当前场次有更新<br/>请您手动切换或由系统自动切换到下一场次。',
|
|
562
579
|
confirmText:'自动切换',
|
|
563
580
|
cancelText:'手动切换',
|
|
581
|
+
msgIcon:'iconinformation',
|
|
582
|
+
zIndex:5000,
|
|
583
|
+
isHtml: true,
|
|
584
|
+
isTitle:false,
|
|
564
585
|
styles: this.$parent.$parent.$parent.styles,
|
|
565
586
|
success:(status)=>{
|
|
566
587
|
if(status.confirm) {
|
|
@@ -584,9 +605,16 @@ export default {
|
|
|
584
605
|
this.scheduleListIndex
|
|
585
606
|
);
|
|
586
607
|
},
|
|
608
|
+
|
|
587
609
|
replaceParams(selectPaiqi) {
|
|
588
|
-
let
|
|
589
|
-
|
|
610
|
+
let { params, path } = this.$xdUniHelper.parseURL();
|
|
611
|
+
|
|
612
|
+
//#ifdef H5
|
|
613
|
+
let pathArr = path.split("/");
|
|
614
|
+
pathArr.splice(0,2)
|
|
615
|
+
path = `/${pathArr.join('/')}`
|
|
616
|
+
//#endif
|
|
617
|
+
|
|
590
618
|
params["scheduleId"] = selectPaiqi["data_id"];
|
|
591
619
|
let searchParams = this.$xdUniHelper.jsonToParams(params);
|
|
592
620
|
this.$xdUniHelper.redirectTo({
|
|
@@ -755,6 +783,15 @@ export default {
|
|
|
755
783
|
z-index: 101;
|
|
756
784
|
background: #fff;
|
|
757
785
|
|
|
786
|
+
&-name {
|
|
787
|
+
line-height: 40rpx;
|
|
788
|
+
font-size: 36rpx;
|
|
789
|
+
.uni-cut(1,40);
|
|
790
|
+
padding: 0 20rpx;
|
|
791
|
+
font-weight: 600;
|
|
792
|
+
color: #333;
|
|
793
|
+
}
|
|
794
|
+
|
|
758
795
|
&-paiqi {
|
|
759
796
|
&-content {
|
|
760
797
|
height: unit(134, rpx);
|
|
@@ -925,6 +962,7 @@ export default {
|
|
|
925
962
|
|
|
926
963
|
& .tab-show {
|
|
927
964
|
font-size: @xd-font-size-base;
|
|
965
|
+
color:#999
|
|
928
966
|
}
|
|
929
967
|
|
|
930
968
|
& > view {
|