jufubao-movie 1.0.38-beta1 → 1.0.38
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/JfbMovieLineCinemaChoose.vue +1 -0
- package/src/components/JfbMovieLineFilmInfo/Attr.js +2 -2
- package/src/components/JfbMovieLineFilmInfo/JfbMovieLineFilmInfo.vue +1 -0
- package/src/components/JfbMovieLineLineSeat/XdOnlineSeat.vue +14 -17
- package/src/components/JfbMovieLineLineSeat/XdOnlineSeatMove.vue +100 -424
- package/src/components/JfbMovieLineSchedule/JfbMovieLineSchedule.vue +21 -66
- package/src/components/JfbMovieTfkFilmList/Api.js +22 -41
- package/src/components/JfbMovieTfkFilmList/Attr.js +30 -620
- package/src/components/JfbMovieTfkFilmList/JfbMovieTfkFilmList.vue +29 -944
- package/src/components/JfbMovieTfkFilmList/Mock.js +9 -4
- package/src/components/JfbMovieTfkFilmRecommend/Api.js +36 -16
- package/src/components/JfbMovieTfkFilmRecommend/Attr.js +29 -527
- package/src/components/JfbMovieTfkFilmRecommend/JfbMovieTfkFilmRecommend.vue +35 -535
- package/src/components/JfbMovieTfkFilmRecommend/Mock.js +9 -2
- package/src/mixins/componentsMixins.js +24 -275
- package/src/components/JfbMovieTfkFilmList/ContentCinema.vue +0 -147
- package/src/components/JfbMovieTfkFilmList/ContentItem.vue +0 -164
- package/src/components/JfbMovieTfkFilmList/XdQueryFilter.vue +0 -87
- package/src/components/JfbMovieTfkFilmList/XdQuerySort.vue +0 -149
- package/src/components/JfbMovieTfkFilmList/XdSwiperDot.vue +0 -234
- package/src/mixins/posterMixins.js +0 -125
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
module.exports = {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
|
|
5
|
+
getTfkByIdFilmSquate:{},
|
|
6
|
+
|
|
7
|
+
updateTfkFilmPaiqiDate:{},
|
|
8
|
+
|
|
9
|
+
removeTfkFilmAddress:{},
|
|
10
|
+
|
|
11
|
+
addTfkFilmcart:{},
|
|
12
|
+
|
|
6
13
|
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import {getContainerFnPropsValue, getContainerPropsValue
|
|
4
|
-
import {Base64} from 'js-base64';
|
|
5
|
-
import {mapActions,mapState, mapMutations} from "vuex";
|
|
6
|
-
import helper from "@/utils/helper";
|
|
7
|
-
import store from "@/store/index";
|
|
3
|
+
import {getContainerFnPropsValue, getContainerPropsValue} from "@/utils/xd.base";
|
|
8
4
|
|
|
9
5
|
export default {
|
|
10
6
|
props: {
|
|
@@ -113,55 +109,11 @@ export default {
|
|
|
113
109
|
subMainColor: '',
|
|
114
110
|
infoColor: '',
|
|
115
111
|
defaultColor: '',
|
|
116
|
-
dangerColor: ''
|
|
117
|
-
mainGradient: '',
|
|
118
|
-
subGradient: '',
|
|
119
|
-
|
|
120
|
-
//test
|
|
121
|
-
posterTest:{
|
|
122
|
-
"content_id": "KpBbUKdj4aBejwe7Fh1ki",
|
|
123
|
-
"position_id": "QCk3PmoyQmOWRP1SxnYR3",
|
|
124
|
-
"partner_id": 0,
|
|
125
|
-
"site_id": "",
|
|
126
|
-
"content_name": "测试.",
|
|
127
|
-
"image_url": "//dummyimage.com/200x200",
|
|
128
|
-
"redirect_type": "EMP",
|
|
129
|
-
"redirect_type_name": "无链接",
|
|
130
|
-
"redirect_data": "",
|
|
131
|
-
"sort": "",
|
|
132
|
-
"status": "",
|
|
133
|
-
"start_time": "",
|
|
134
|
-
"end_time": "",
|
|
135
|
-
"op_user_id": "",
|
|
136
|
-
"created_time": 0,
|
|
137
|
-
"updated_time": 0
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
destroyed() {
|
|
143
|
-
console.warn('componentsMixins.destroyed.my(timeer|timer)');
|
|
144
|
-
if (this.timeer && typeof this.timeer === "number") {
|
|
145
|
-
clearTimeout(this.timeer);
|
|
146
|
-
console.warn('componentsMixins.destroyed.my.timeer');
|
|
112
|
+
dangerColor: ''
|
|
147
113
|
}
|
|
148
|
-
if (this.timer && typeof this.timer === "number") {
|
|
149
|
-
clearTimeout(this.timer);
|
|
150
|
-
console.warn('componentsMixins.destroyed.my.timer');
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
//卸载页面
|
|
154
|
-
if(typeof this.onJfbUnload === "function") {
|
|
155
|
-
console.warn('componentsMixins.destroyed.exec.onJfbUnload');
|
|
156
|
-
this.onJfbUnload()
|
|
157
|
-
}
|
|
158
|
-
|
|
159
114
|
},
|
|
160
|
-
|
|
161
115
|
created(){
|
|
162
|
-
|
|
163
|
-
if (this.$vnode && this.$vnode.tag) tag = this.$vnode.tag;
|
|
164
|
-
this.$xdLog.setProject('App.components.start', `App.components.vnode.name.${tag}`);
|
|
116
|
+
console.warn(`init.components._uid:${this._uid},vnode.name=${this.$vnode.tag}`);
|
|
165
117
|
|
|
166
118
|
//设置插件cid
|
|
167
119
|
if (this.cid) {
|
|
@@ -170,14 +122,9 @@ export default {
|
|
|
170
122
|
this.containerId = this.$xdUniHelper.randomChar(20);
|
|
171
123
|
}
|
|
172
124
|
|
|
173
|
-
//保存到vuex
|
|
174
|
-
console.log('setStyleCommon',this)
|
|
175
|
-
this.setStyleCommon(this.styles);
|
|
176
|
-
|
|
177
125
|
//初始化风格
|
|
178
126
|
this.initThemesToData();
|
|
179
127
|
|
|
180
|
-
|
|
181
128
|
//#ifdef H5
|
|
182
129
|
//监听用户点击状态显示虚框
|
|
183
130
|
XdBus.addEvent('select', ({containerId}) => {
|
|
@@ -205,120 +152,35 @@ export default {
|
|
|
205
152
|
|
|
206
153
|
//#ifdef H5
|
|
207
154
|
mounted() {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
let elx =
|
|
155
|
+
if (this.$configProject.isPreview) {
|
|
156
|
+
let that = this;
|
|
157
|
+
function handle() {
|
|
158
|
+
let className = `${that.cssRoot}__body-mask`;
|
|
159
|
+
if (document.getElementsByClassName(className).length === 0) {
|
|
160
|
+
let elx = document.getElementsByClassName(`${that.cssRoot}__body`);
|
|
214
161
|
if (elx.length === 0) {
|
|
215
162
|
setTimeout(() => {
|
|
216
163
|
handle()
|
|
217
|
-
},
|
|
164
|
+
}, 100)
|
|
218
165
|
} else {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
166
|
+
const mask = document.createElement("div");
|
|
167
|
+
mask.className = 'jfb-mask';
|
|
168
|
+
mask.style.position = 'absolute';
|
|
169
|
+
mask.style.left = '0px';
|
|
170
|
+
mask.style.right = '0px';
|
|
171
|
+
mask.style.top = '0px';
|
|
172
|
+
mask.style.bottom = '0px';
|
|
173
|
+
mask.style.zIndex = 9999;
|
|
174
|
+
elx.item(0).appendChild(mask);
|
|
225
175
|
}
|
|
226
176
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
//模式不显示虚线
|
|
232
|
-
if(this.$configProject.type === 'test'
|
|
233
|
-
&& this.$configProject.NODE_ENV === 'development'
|
|
234
|
-
&& this.$configProject.viewType === 'pack'
|
|
235
|
-
){
|
|
236
|
-
this.isEditx = false;
|
|
177
|
+
}
|
|
178
|
+
handle()
|
|
237
179
|
}
|
|
238
|
-
|
|
239
180
|
},
|
|
240
181
|
// #endif
|
|
241
182
|
|
|
242
|
-
computed:{
|
|
243
|
-
...mapState({
|
|
244
|
-
pageNamespace: state=> state.pageBusinessCode,
|
|
245
|
-
})
|
|
246
|
-
},
|
|
247
|
-
|
|
248
|
-
watch:{
|
|
249
|
-
active(val){
|
|
250
|
-
if(this.$configProject.isPreview && val) this.autoHideMask();
|
|
251
|
-
},
|
|
252
|
-
},
|
|
253
|
-
|
|
254
183
|
methods:{
|
|
255
|
-
...mapActions(['setXNamespace','setStyleCommon']),
|
|
256
|
-
...mapMutations(['setCurrentStyle']),
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* @description 自动生成调试模式
|
|
260
|
-
*/
|
|
261
|
-
autoHideMask(){
|
|
262
|
-
if(this.$configProject.isPreview && this.hideMask === true){
|
|
263
|
-
this.$nextTick(()=>{
|
|
264
|
-
let className = this.$el.classList;
|
|
265
|
-
if(!className.contains('gHideMask')) {
|
|
266
|
-
className.add("gHideMask")
|
|
267
|
-
}
|
|
268
|
-
})
|
|
269
|
-
}
|
|
270
|
-
},
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* @description 检查是否同域名
|
|
274
|
-
* @param url
|
|
275
|
-
* @param dir {String} 部署目录
|
|
276
|
-
* @returns {*}
|
|
277
|
-
*/
|
|
278
|
-
//#ifdef H5
|
|
279
|
-
getSameSiteAndDomain(url, dir) {
|
|
280
|
-
let regDir = new RegExp(`^/${dir}/\.*$`);
|
|
281
|
-
let host = window.location.host;
|
|
282
|
-
let pages = this.$xdUniHelper.parseURL(url);
|
|
283
|
-
|
|
284
|
-
//域名相同并且部署目录相同
|
|
285
|
-
if (host === pages.host && regDir.test(pages.path)) {
|
|
286
|
-
return pages.relative;
|
|
287
|
-
}
|
|
288
|
-
return url;
|
|
289
|
-
},
|
|
290
|
-
// #endif
|
|
291
|
-
|
|
292
|
-
setNameSpace(options){
|
|
293
|
-
this.xnamespace = this.xnamespace || this.pageNamespace;
|
|
294
|
-
if(!this.xnamespace && !this.$configProject.isPreview){
|
|
295
|
-
this.$xdAlert({content: '未设置业务编码',type:'error'});
|
|
296
|
-
throw new Error('请配置业务编码')
|
|
297
|
-
}
|
|
298
|
-
this.setXNamespace(this.xnamespace)
|
|
299
|
-
},
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* @description 自动计算列数的宽和间距 (父节点需要设置110%)不兼容微信小程序(废弃)
|
|
303
|
-
* @param index {number} 当前索引值
|
|
304
|
-
* @param cell {number} 当前索引值
|
|
305
|
-
* @param jfbSpacing {number}
|
|
306
|
-
* @returns {{marginRight: string, overflow: string, width: string, marginTop: string}}
|
|
307
|
-
*/
|
|
308
|
-
itemStyle(index, cell, jfbSpacing ) {
|
|
309
|
-
if(this.$xdUniHelper.checkVarType(jfbSpacing) === 'string') jfbSpacing = Number(jfbSpacing);
|
|
310
|
-
let maxW = 100 / cell;
|
|
311
|
-
let padding = Math.floor(this.$rpxNum * jfbSpacing + this.$rpxNum * (jfbSpacing / cell))
|
|
312
|
-
return {
|
|
313
|
-
marginTop: jfbSpacing + 'rpx',
|
|
314
|
-
marginRight: (index + 1) % cell === 0 ? '0' : jfbSpacing + 'rpx',
|
|
315
|
-
width: `calc(${maxW}vw - ${padding}px)`,
|
|
316
|
-
overflow: 'hidden'
|
|
317
|
-
};
|
|
318
|
-
},
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
184
|
/**
|
|
323
185
|
* @description 获取吸顶样式
|
|
324
186
|
* @param options {Object} 样式参数
|
|
@@ -333,14 +195,14 @@ export default {
|
|
|
333
195
|
* @param fixed {Boolean} 是否吸顶或者占位
|
|
334
196
|
* @return {String}
|
|
335
197
|
*/
|
|
336
|
-
fixedStyle(options = {}, type = 'bottom', fixed
|
|
198
|
+
fixedStyle(options = {}, type = 'bottom', fixed=true) {
|
|
337
199
|
let paddingBottom = options.paddingBottom || options.height || 0;
|
|
338
200
|
if (options.paddingBottom) delete options.paddingBottom;
|
|
339
201
|
if (options.height) delete options.height;
|
|
340
202
|
let obj = Object.assign({}, {
|
|
341
203
|
top: 0, left: 0, right: 0, bottom: 0, zIndex: 100,
|
|
342
204
|
}, options);
|
|
343
|
-
if
|
|
205
|
+
if(!fixed) {
|
|
344
206
|
let padding = (this.layoutInfo.bottomHeight + this.layoutInfo.footerHeight + paddingBottom) * this.$rpxNum;
|
|
345
207
|
let sy = `padding-bottom:calc(${padding}px + constant(safe-area-inset-bottom));`;
|
|
346
208
|
sy = `${style}; padding-bottom:calc(${padding}px + env(safe-area-inset-bottom));`;
|
|
@@ -363,7 +225,6 @@ export default {
|
|
|
363
225
|
return style;
|
|
364
226
|
},
|
|
365
227
|
|
|
366
|
-
|
|
367
228
|
/**
|
|
368
229
|
* 检查插件是否加载成功
|
|
369
230
|
*/
|
|
@@ -373,15 +234,10 @@ export default {
|
|
|
373
234
|
* @description 业务组件风格map到data中
|
|
374
235
|
*/
|
|
375
236
|
initThemesToData() {
|
|
376
|
-
let current = {};
|
|
377
237
|
Object.keys(this.styles).map(key => {
|
|
378
238
|
let k = key.replace('$', '');
|
|
379
|
-
if (this[k] !== undefined)
|
|
380
|
-
this[k] = this.styles[key];
|
|
381
|
-
current[k] = this.styles[key];
|
|
382
|
-
}
|
|
239
|
+
if (this[k] !== undefined) this[k] = this.styles[key];
|
|
383
240
|
});
|
|
384
|
-
this.setCurrentStyle(helper.cloneDeep(current))
|
|
385
241
|
},
|
|
386
242
|
|
|
387
243
|
/**
|
|
@@ -397,7 +253,6 @@ export default {
|
|
|
397
253
|
* @description 点击删除操作按钮
|
|
398
254
|
*/
|
|
399
255
|
delEdit() {
|
|
400
|
-
if(this.isReferenceTemplate) return;
|
|
401
256
|
XdBus.send('onDelPackage', {
|
|
402
257
|
containerId: this.containerId,
|
|
403
258
|
componentAtrr: this.componentAtrr,
|
|
@@ -453,112 +308,6 @@ export default {
|
|
|
453
308
|
})
|
|
454
309
|
//#endif
|
|
455
310
|
},
|
|
456
|
-
|
|
457
|
-
checkValue(value, dValue = 0){
|
|
458
|
-
if(value === undefined || value === '' || value === null) return dValue;
|
|
459
|
-
return Number(value || 0);
|
|
460
|
-
},
|
|
461
|
-
|
|
462
|
-
getXdShadow(defaultObj, newObj){
|
|
463
|
-
if(newObj.type === 'N') return `0 0 0 rgba(0,0,0,0)`;
|
|
464
|
-
let width = defaultObj.width;
|
|
465
|
-
let color = defaultObj.color;
|
|
466
|
-
if(newObj.value !== null) {
|
|
467
|
-
if(newObj.value.width) width = newObj.value.width;
|
|
468
|
-
if(newObj.value.color) color = newObj.value.color
|
|
469
|
-
}
|
|
470
|
-
return `0 0 ${width}rpx ${color}`;
|
|
471
|
-
},
|
|
472
|
-
|
|
473
|
-
getXdBorder(defaultObj, newObj){
|
|
474
|
-
if(newObj.type === 'N') return `0`
|
|
475
|
-
let width = defaultObj.width;
|
|
476
|
-
let color = defaultObj.color;
|
|
477
|
-
if(newObj.value !== null) {
|
|
478
|
-
if(newObj.value.width) width = newObj.value.width
|
|
479
|
-
if(newObj.value.color) color = newObj.value.color
|
|
480
|
-
}
|
|
481
|
-
return `${width}rpx solid ${color}`;
|
|
482
|
-
},
|
|
483
|
-
|
|
484
|
-
getUrlCallback(path){
|
|
485
|
-
if(this.inCallbackUrlOrg) {
|
|
486
|
-
if(path.indexOf('?') === -1) path = `${path}?inCallback=${this.inCallbackUrlOrg}`;
|
|
487
|
-
else path = `${path}&inCallback=${this.inCallbackUrlOrg}`;
|
|
488
|
-
}
|
|
489
|
-
return path
|
|
490
|
-
},
|
|
491
|
-
|
|
492
|
-
baiduTogcj(bd_lng, bd_lat) {//坐标第转换
|
|
493
|
-
const x_PI = 3.14159265358979324 * 3000.0 / 180.0;
|
|
494
|
-
const x = bd_lng - 0.0065;
|
|
495
|
-
const y = bd_lat - 0.006;
|
|
496
|
-
const z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_PI);
|
|
497
|
-
const theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_PI);
|
|
498
|
-
const gg_lng = z * Math.cos(theta);
|
|
499
|
-
const gg_lat = z * Math.sin(theta);
|
|
500
|
-
return [gg_lng, gg_lat]
|
|
501
|
-
},
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
//#ifdef H5
|
|
505
|
-
webChatEnvOpenLocation({latitude,longitude,name, address}, cb){
|
|
506
|
-
store.dispatch('getH5WxAuthorize',{jsApiList: ['openLocation', 'getLocation']})
|
|
507
|
-
.then(({jwxSDK})=>{
|
|
508
|
-
let zb = this.baiduTogcj(latitude, longitude)
|
|
509
|
-
jwxSDK.openLocation({
|
|
510
|
-
latitude: zb[0],
|
|
511
|
-
longitude:zb[1],
|
|
512
|
-
name: name || '我的位置',
|
|
513
|
-
address: address||'',
|
|
514
|
-
scale: 15,
|
|
515
|
-
infoUrl: ''
|
|
516
|
-
});
|
|
517
|
-
})
|
|
518
|
-
.catch(err=>{
|
|
519
|
-
console.error(err)
|
|
520
|
-
this.$xdAlert({
|
|
521
|
-
content:'暂时不支持唤起APP导航功能',
|
|
522
|
-
time:5000,
|
|
523
|
-
})
|
|
524
|
-
})
|
|
525
|
-
},
|
|
526
|
-
//#endif
|
|
527
|
-
|
|
528
|
-
handleOpenLocation({latitude,longitude, name, address}, cb){
|
|
529
|
-
//latitude = latitude||39.961521814959795;
|
|
530
|
-
//longitude = longitude || 116.84499635227222
|
|
531
|
-
|
|
532
|
-
if(typeof latitude === 'string') latitude = Number(latitude);
|
|
533
|
-
if(typeof longitude === 'string') longitude = Number(longitude);
|
|
534
|
-
|
|
535
|
-
//#ifdef MP-WEIXIN
|
|
536
|
-
let zb = this.baiduTogcj(latitude, longitude);
|
|
537
|
-
uni.openLocation({
|
|
538
|
-
latitude: zb[0],
|
|
539
|
-
longitude: zb[1],
|
|
540
|
-
name: name || '我的位置',
|
|
541
|
-
scale: 15,
|
|
542
|
-
address: address ||'',
|
|
543
|
-
success: function () {
|
|
544
|
-
if(typeof cb === 'function') {
|
|
545
|
-
cb();
|
|
546
|
-
}
|
|
547
|
-
console.log('success');
|
|
548
|
-
}
|
|
549
|
-
});
|
|
550
|
-
//#endif
|
|
551
|
-
//#ifdef H5
|
|
552
|
-
if(isWechat()) this.webChatEnvOpenLocation({latitude,longitude, name, address}, cb);
|
|
553
|
-
else {
|
|
554
|
-
let params = '';
|
|
555
|
-
params = `${params}&location=${latitude},${longitude}`;
|
|
556
|
-
params = `${params}&title=${encodeURIComponent(name)}`;
|
|
557
|
-
params = `${params}&content=${encodeURIComponent(address)}&output=html&zoom=15`;
|
|
558
|
-
window.location.href = `http://api.map.baidu.com/marker?${params}`;
|
|
559
|
-
}
|
|
560
|
-
//#endif
|
|
561
|
-
},
|
|
562
311
|
}
|
|
563
312
|
}
|
|
564
313
|
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<view class="content" @click="handleCinemaDetail">
|
|
3
|
-
<view class="title">{{item['cinema_name']}}</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
|
-
|
|
32
|
-
export default {
|
|
33
|
-
name:'ContentCinema',
|
|
34
|
-
components:{
|
|
35
|
-
XdButton,
|
|
36
|
-
XdFontIcon
|
|
37
|
-
},
|
|
38
|
-
props:{
|
|
39
|
-
item:Object,
|
|
40
|
-
color: {
|
|
41
|
-
type: Object,
|
|
42
|
-
default: {}
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
data(){
|
|
47
|
-
return {
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
created() {
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
methods:{
|
|
55
|
-
handleCinemaDetail(){
|
|
56
|
-
//优先在线选座
|
|
57
|
-
if(this.item['cinema_type'].includes('SEAT')) {
|
|
58
|
-
this.handleSchedule();
|
|
59
|
-
return
|
|
60
|
-
}
|
|
61
|
-
if(this.item['cinema_type'].includes('CODE')) {
|
|
62
|
-
this.handleCodeDetail();
|
|
63
|
-
return
|
|
64
|
-
}
|
|
65
|
-
if(this.item['cinema_type'].includes('SELL')) {
|
|
66
|
-
this.handleCashierDetail();
|
|
67
|
-
return
|
|
68
|
-
}
|
|
69
|
-
console.error(`${JSON.stringify(this.item['cinema_type'])}`)
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
handleBtn(code){
|
|
73
|
-
if(code === 'SEAT') this.handleSchedule();
|
|
74
|
-
else if(code === 'CODE') this.handleCodeDetail();
|
|
75
|
-
else if(code === 'SELL') this.handleCashierDetail();
|
|
76
|
-
else console.error(`${JSON.stringify(this.item['cinema_type'])}`)
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
//电子码
|
|
80
|
-
handleCodeDetail(){
|
|
81
|
-
console.warn(`handleCodeDetail`)
|
|
82
|
-
this.$emit('on-code-detail', this.item);
|
|
83
|
-
},
|
|
84
|
-
//核销
|
|
85
|
-
handleCashierDetail(){
|
|
86
|
-
console.warn(`handleCashierDetail`)
|
|
87
|
-
this.$emit('on-cashier-detail', this.item);
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
//选座排期
|
|
91
|
-
handleSchedule(){
|
|
92
|
-
console.warn(`handleSchedule`)
|
|
93
|
-
this.$emit('on-schedule', this.item);
|
|
94
|
-
},
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
</script>
|
|
98
|
-
|
|
99
|
-
<style scoped lang="less">
|
|
100
|
-
.content {
|
|
101
|
-
.title {
|
|
102
|
-
font-size: 32rpx;
|
|
103
|
-
line-height: 40rpx;
|
|
104
|
-
margin-bottom: 20rpx;
|
|
105
|
-
color: #333;
|
|
106
|
-
font-weight: 500;
|
|
107
|
-
}
|
|
108
|
-
.address {
|
|
109
|
-
font-size: 24rpx;
|
|
110
|
-
line-height: 30rpx;
|
|
111
|
-
color: #999;
|
|
112
|
-
margin-bottom: 15rpx;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.bottom {
|
|
116
|
-
display: flex;
|
|
117
|
-
justify-content: space-between;
|
|
118
|
-
align-items: center;
|
|
119
|
-
margin-top: 30rpx;
|
|
120
|
-
|
|
121
|
-
& > .distance {
|
|
122
|
-
display: flex;
|
|
123
|
-
justify-content: flex-start;
|
|
124
|
-
align-items: center;
|
|
125
|
-
|
|
126
|
-
& > text {
|
|
127
|
-
margin-left: 10rpx;
|
|
128
|
-
font-size: 24rpx;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
& > .btn {
|
|
133
|
-
display: flex;
|
|
134
|
-
justify-content: flex-end;
|
|
135
|
-
align-items: center;
|
|
136
|
-
|
|
137
|
-
& > view {
|
|
138
|
-
margin-left: 10rpx;
|
|
139
|
-
padding: 0 30rpx;
|
|
140
|
-
line-height: 60rpx;
|
|
141
|
-
border-radius: 30rpx;
|
|
142
|
-
font-size: 26rpx;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
</style>
|