jufubao-movie 1.0.67-beta3 → 1.0.68-beta1
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/JfbMovieLineCinema/Attr.js +26 -92
- package/src/components/JfbMovieLineCinema/JfbMovieLineCinema.vue +310 -121
- package/src/components/JfbMovieLineCinema/Mock.js +28 -2
- package/src/components/JfbMovieLineCinema/cusAttr/advanced.js +136 -0
- package/src/components/JfbMovieLineCinema/cusAttr/content.js +203 -0
- package/src/components/JfbMovieLineCinema/cusAttr/shops.js +242 -0
- package/src/components/JfbMovieLineCinema/cusAttr/style.js +80 -0
|
@@ -13,17 +13,21 @@
|
|
|
13
13
|
:class="{ editx: isEditx && active }"
|
|
14
14
|
v-if="isEditx && active && !noBorder"
|
|
15
15
|
>
|
|
16
|
-
<view class="jfb-movie-line-cinema__edit-icon"@click.stop="delEdit">
|
|
17
|
-
<xd-font-icon
|
|
16
|
+
<view class="jfb-movie-line-cinema__edit-icon" @click.stop="delEdit">
|
|
17
|
+
<xd-font-icon
|
|
18
|
+
icon="iconshanchu-01"
|
|
19
|
+
color="#fff"
|
|
20
|
+
size="30"
|
|
21
|
+
></xd-font-icon>
|
|
18
22
|
</view>
|
|
19
23
|
</view>
|
|
20
24
|
<!-- #endif -->
|
|
21
25
|
<view
|
|
22
26
|
class="jfb-movie-line-cinema__body"
|
|
23
|
-
:style="{minHeight: layoutInfo.bodyMinHeight}"
|
|
27
|
+
:style="{ minHeight: layoutInfo.bodyMinHeight }"
|
|
24
28
|
v-if="loading"
|
|
25
29
|
>
|
|
26
|
-
<view class="cinema_header" :style="{top: layoutInfo.top + 'rpx'}">
|
|
30
|
+
<view class="cinema_header" :style="{ top: layoutInfo.top + 'rpx' }">
|
|
27
31
|
<view class="addr_point">
|
|
28
32
|
<xd-city-show
|
|
29
33
|
city-location-type="baidu"
|
|
@@ -83,66 +87,40 @@
|
|
|
83
87
|
<view>
|
|
84
88
|
<view class="item_addr"></view>
|
|
85
89
|
</view>
|
|
86
|
-
<view
|
|
90
|
+
<view
|
|
91
|
+
style="
|
|
92
|
+
display: flex;
|
|
93
|
+
justify-content: space-between;
|
|
94
|
+
align-items: center;
|
|
95
|
+
margin-top: 24rpx;
|
|
96
|
+
"
|
|
97
|
+
>
|
|
87
98
|
<view class="item_dist"></view>
|
|
88
|
-
<view style="display: flex
|
|
99
|
+
<view style="display: flex">
|
|
89
100
|
<view class="cinema_item-btn"></view>
|
|
90
101
|
</view>
|
|
91
102
|
</view>
|
|
92
103
|
</view>
|
|
93
104
|
</view>
|
|
94
105
|
<template v-else>
|
|
95
|
-
<view v-if="
|
|
96
|
-
<
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
justify-content: space-between;
|
|
112
|
-
align-items: center;
|
|
113
|
-
margin-top: 24rpx;
|
|
114
|
-
"
|
|
115
|
-
>
|
|
116
|
-
<view class="item_dist">
|
|
117
|
-
<xd-font-icon icon="icondizhi" size="32" style="margin-right: 30rpx;"></xd-font-icon>
|
|
118
|
-
{{ item.distance }}</view
|
|
119
|
-
>
|
|
120
|
-
<!-- seat_index code_index -->
|
|
121
|
-
<view style="display: flex;">
|
|
122
|
-
<view
|
|
123
|
-
v-if="is_show_sell === 'Y' && item.sell_index > -1"
|
|
124
|
-
:style="{background: mainColor}"
|
|
125
|
-
class="cinema_item-btn"
|
|
126
|
-
@click.stop="toSellPath(item)">{{ sellName }}</view>
|
|
127
|
-
<view
|
|
128
|
-
v-if="item.code_index > -1"
|
|
129
|
-
:style="{background: mainColor, marginLeft: '20rpx'}"
|
|
130
|
-
class="cinema_item-btn"
|
|
131
|
-
@click.stop="toCodePath(item)">电子码</view>
|
|
132
|
-
<view
|
|
133
|
-
v-if="item.seat_index > -1"
|
|
134
|
-
:style="{background: mainColor, marginLeft: '20rpx'}"
|
|
135
|
-
class="cinema_item-btn"
|
|
136
|
-
@click.stop="toSchedulePath(item)">在线选座</view>
|
|
137
|
-
</view>
|
|
138
|
-
</view>
|
|
139
|
-
</view>
|
|
140
|
-
</view>
|
|
141
|
-
<view v-else class="cinema_list">
|
|
142
|
-
<view class="empty_cinema">暂无影院数据</view>
|
|
106
|
+
<view v-if="initAttr" :style="[contStyleComp]">
|
|
107
|
+
<cus-shops
|
|
108
|
+
:layout="shopListStyle"
|
|
109
|
+
:select-id="selectIds"
|
|
110
|
+
:is-show-btn="fastEntryStatus"
|
|
111
|
+
:content="cusContent"
|
|
112
|
+
:cus-style="cusStyle"
|
|
113
|
+
:list="filterCinemaList"
|
|
114
|
+
:main-color="mainColor"
|
|
115
|
+
:sub-main-color="subMainColor"
|
|
116
|
+
:names="cusNames"
|
|
117
|
+
:entry="cusEntry"
|
|
118
|
+
:is-auto-jump="isAutoJump"
|
|
119
|
+
:mapKeys="mapKeys"
|
|
120
|
+
@on-event="handleToEvent"
|
|
121
|
+
></cus-shops>
|
|
143
122
|
</view>
|
|
144
123
|
</template>
|
|
145
|
-
|
|
146
124
|
</view>
|
|
147
125
|
</view>
|
|
148
126
|
</template>
|
|
@@ -156,8 +134,9 @@ import JfbMovieLineCinemaMixin from "./JfbMovieLineCinemaMixin";
|
|
|
156
134
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
157
135
|
import extsMixins from "@/mixins/extsMixins";
|
|
158
136
|
import XdCityShow from "@/components/XdCityShowApi/XdCityShowApi";
|
|
159
|
-
import { getContainerPropsValue } from "@/utils/xd.base";
|
|
137
|
+
import { getContainerPropsValue, gCPVal } from "@/utils/xd.base";
|
|
160
138
|
import { mapState } from "vuex";
|
|
139
|
+
import CusShops from "@/components/CusShops/CusShops.vue";
|
|
161
140
|
export default {
|
|
162
141
|
name: "JfbMovieLineCinema",
|
|
163
142
|
components: {
|
|
@@ -165,6 +144,7 @@ export default {
|
|
|
165
144
|
XdFormInput,
|
|
166
145
|
XdSwiper,
|
|
167
146
|
XdCityShow,
|
|
147
|
+
CusShops,
|
|
168
148
|
},
|
|
169
149
|
mixins: [componentsMixins, extsMixins, JfbMovieLineCinemaMixin],
|
|
170
150
|
data() {
|
|
@@ -184,14 +164,35 @@ export default {
|
|
|
184
164
|
loadingList: true,
|
|
185
165
|
|
|
186
166
|
//面板
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
scheduleChoosePath: "",
|
|
167
|
+
scanPath: "", //扫一扫
|
|
168
|
+
jhdPath: "", //聚好兑
|
|
169
|
+
qpPath: "", //快捷码 scheduleChoosePath: "",
|
|
191
170
|
codeChoosePath: "",
|
|
192
171
|
choseCityPath: "",
|
|
193
|
-
sort_consume_mode:
|
|
172
|
+
sort_consume_mode: "",
|
|
194
173
|
loading: false, //是否已经加载完成
|
|
174
|
+
|
|
175
|
+
shopListStyle: "v3", //门店风格
|
|
176
|
+
cusContent: [], //显示内容
|
|
177
|
+
fastEntryStatus: false,
|
|
178
|
+
cusNames: {}, //按钮名称
|
|
179
|
+
cusEntry: {}, //入口状态
|
|
180
|
+
isAutoJump: [],
|
|
181
|
+
mapKeys: {
|
|
182
|
+
id: "cinema_id",
|
|
183
|
+
brand_id: "brand_id", //品牌ID
|
|
184
|
+
shop_id: "cinema_id", //整理前的门店ID
|
|
185
|
+
name: "cinema_name", //店铺名字
|
|
186
|
+
distance: "distance", //距离
|
|
187
|
+
address: "address", //店铺地址
|
|
188
|
+
image: "shop_icon", //店铺图片
|
|
189
|
+
mode: "cinema_type", //标签类型[]
|
|
190
|
+
},
|
|
191
|
+
//style
|
|
192
|
+
bodyPadding: {},
|
|
193
|
+
contentBgColor: "rgba(0,0,0,0)",
|
|
194
|
+
cusStyle: {}, //门店样式设置
|
|
195
|
+
initAttr: false, //状态完成
|
|
195
196
|
};
|
|
196
197
|
},
|
|
197
198
|
computed: {
|
|
@@ -199,27 +200,50 @@ export default {
|
|
|
199
200
|
stateCity: (state) => state.cityLocation.city,
|
|
200
201
|
stateLocation: (state) => state.cityLocation.location || {},
|
|
201
202
|
}),
|
|
202
|
-
filterCinemaList(){
|
|
203
|
-
let keywordFilterList = this.cinema_name
|
|
204
|
-
|
|
203
|
+
filterCinemaList() {
|
|
204
|
+
let keywordFilterList = this.cinema_name
|
|
205
|
+
? this.cinemaList.filter(
|
|
206
|
+
(item) => item.cinema_name.indexOf(this.cinema_name) > -1
|
|
207
|
+
)
|
|
208
|
+
: this.cinemaList;
|
|
209
|
+
if (this.subIndex == 0) {
|
|
205
210
|
return keywordFilterList;
|
|
206
|
-
}else{
|
|
211
|
+
} else {
|
|
207
212
|
let area_code = this.citySubs[this.subIndex].value;
|
|
208
|
-
return keywordFilterList.filter(item => item.area_code == area_code)
|
|
213
|
+
return keywordFilterList.filter((item) => item.area_code == area_code);
|
|
209
214
|
}
|
|
210
215
|
// return this.cinemaList.filter(item => item.cinema_name.indexOf(this.cinema_name) > -1 || item.address.indexOf(this.cinema_name) > -1)
|
|
211
216
|
},
|
|
212
217
|
listMarginTop() {
|
|
213
218
|
return {
|
|
214
219
|
// marginTop: (this.layoutInfo.top + 20) + "rpx"
|
|
215
|
-
marginTop:
|
|
216
|
-
}
|
|
220
|
+
marginTop: "100rpx",
|
|
221
|
+
};
|
|
222
|
+
},
|
|
223
|
+
selectIds() {
|
|
224
|
+
let id = "";
|
|
225
|
+
if (!id && this.resource_shop_id) id = this.cinema_id;
|
|
226
|
+
if (!id && this.brand_id) id = this.brand_id;
|
|
227
|
+
if (!id && this.shop_id) id = this.cinema_id;
|
|
228
|
+
return id;
|
|
229
|
+
},
|
|
230
|
+
contStyleComp() {
|
|
231
|
+
let height = this.layoutInfo.bodyMinHeightRpx - 80;
|
|
232
|
+
//大于一个标签显示标签
|
|
233
|
+
//if(this.titleList.length > 1) height = height - 100;
|
|
234
|
+
//if(this.mapIsExtend) height = height - 400;
|
|
235
|
+
height = height - this.getPMValue(this.bodyPadding, "TB", 0);
|
|
236
|
+
return {
|
|
237
|
+
minHeight: height + "rpx",
|
|
238
|
+
padding: this.getMarginAndPadding(this.bodyPadding, 0),
|
|
239
|
+
backgroundColor: this.contentBgColor,
|
|
240
|
+
};
|
|
217
241
|
},
|
|
218
242
|
},
|
|
219
243
|
watch: {
|
|
220
|
-
container(value,oldValue) {
|
|
221
|
-
if(JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
222
|
-
if (this.$configProject[
|
|
244
|
+
container(value, oldValue) {
|
|
245
|
+
if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
|
|
246
|
+
if (this.$configProject["isPreview"]) this.init(value);
|
|
223
247
|
},
|
|
224
248
|
stateCity(n, o) {
|
|
225
249
|
if (n && JSON.stringify(n) != JSON.stringify(o)) {
|
|
@@ -228,8 +252,7 @@ export default {
|
|
|
228
252
|
this.getList();
|
|
229
253
|
}
|
|
230
254
|
},
|
|
231
|
-
cinemaList(n){
|
|
232
|
-
}
|
|
255
|
+
cinemaList(n) {},
|
|
233
256
|
},
|
|
234
257
|
created() {
|
|
235
258
|
this.init(this.container);
|
|
@@ -244,49 +267,219 @@ export default {
|
|
|
244
267
|
* @param container {object} 业务组件对象自己
|
|
245
268
|
*/
|
|
246
269
|
init(container) {
|
|
247
|
-
|
|
270
|
+
//content
|
|
271
|
+
this.sort_consume_mode = gCPVal(container, "sort_consume_mode", "");
|
|
272
|
+
//内容显示
|
|
273
|
+
let cusContent = [];
|
|
274
|
+
if (gCPVal(container, "showStoreAddress", "Y") === "Y")
|
|
275
|
+
cusContent.push("address"); //门店地址
|
|
276
|
+
if (gCPVal(container, "showStoreDistance", "Y") === "Y")
|
|
277
|
+
cusContent.push("distance"); //地址
|
|
278
|
+
this.cusContent = cusContent;
|
|
279
|
+
this.fastEntryStatus = gCPVal(container, "fastEntryStatus", "N") === "Y";
|
|
280
|
+
let cusNames = {},
|
|
281
|
+
cusEntry = {};
|
|
282
|
+
let fastEntry = gCPVal(container, "fastEntry", []).filter((item) => {
|
|
283
|
+
return item.check === true;
|
|
284
|
+
});
|
|
285
|
+
if (this.fastEntryStatus) {
|
|
286
|
+
for (let i = 0; i < fastEntry.length; i++) {
|
|
287
|
+
if (fastEntry[i].input)
|
|
288
|
+
cusNames[fastEntry[i].value] = fastEntry[i].input;
|
|
289
|
+
cusEntry[fastEntry[i].value] = fastEntry[i].check;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
this.cusNames = cusNames;
|
|
293
|
+
this.cusEntry = cusEntry;
|
|
294
|
+
//style
|
|
295
|
+
this.shopListStyle = gCPVal(container, "shopListStyle", "v3");
|
|
296
|
+
let sValue = `{"cardItemSpace":16,"margin":{"bottom":16,"left":0,"right":0,"top":16},"backgroundColor":"rgba(245, 245, 245, 1)"}`;
|
|
297
|
+
let shopStyle = this.getRelationStatus(container,'shopStyle', { cardItemSpaceStatus:['cardItemSpace'],bodyPaddingStatus:['bodyPadding']}, sValue);
|
|
298
|
+
this.bodyPadding = gCPVal(container,'bodyPadding', [{ bottom:0,left:16, right:16,top:16}], {sKey:'bodyPaddingStatus',fields:['bodyPadding'],cusFields: ['shopStyle','margin',shopStyle],isPMR: true});
|
|
299
|
+
this.contentBgColor = gCPVal(container, "contentBgColor", "#f8f8f8", {
|
|
300
|
+
sKey: "contentBgColorStatus",
|
|
301
|
+
fields: ["contentBgColor"],
|
|
302
|
+
});
|
|
303
|
+
let cardItemSpace = gCPVal(container, "cardItemSpace", [16, 20], {
|
|
304
|
+
sKey: "cardItemSpaceStatus",
|
|
305
|
+
fields: ["cardItemSpace"],
|
|
306
|
+
cusFields: ["shopStyle", "cardItemSpace", shopStyle],
|
|
307
|
+
});
|
|
308
|
+
let cardItemRadius =
|
|
309
|
+
gCPVal(
|
|
310
|
+
container,
|
|
311
|
+
"cardItemRadius",
|
|
312
|
+
[sValue === shopStyle ? 0 : this.gStyleValue.radius, 0],
|
|
313
|
+
{ sKey: "cardItemRadiusStatus", fields: ["listItemRadius"] }
|
|
314
|
+
) || 0;
|
|
315
|
+
let cardItemShadow = gCPVal(
|
|
248
316
|
container,
|
|
249
|
-
"
|
|
250
|
-
{
|
|
251
|
-
|
|
252
|
-
|
|
317
|
+
"cardItemShadow",
|
|
318
|
+
[this.gStyleValue.shadow, { color: "", width: "0" }],
|
|
319
|
+
{ isShadow: true }
|
|
320
|
+
);
|
|
321
|
+
let cardItemBorder = gCPVal(
|
|
253
322
|
container,
|
|
254
|
-
"
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
323
|
+
"cardItemBorder",
|
|
324
|
+
[
|
|
325
|
+
{ color: "#f8f8f8", width: 0, style: "solid" },
|
|
326
|
+
{ color: "#f8f8f8", width: 0, style: "solid" },
|
|
327
|
+
],
|
|
328
|
+
{ isBorder: true }
|
|
329
|
+
);
|
|
330
|
+
let distanceColor = gCPVal(container, "distanceColor", "#999", {
|
|
331
|
+
sKey: "distanceColorStatus",
|
|
332
|
+
fields: ["distanceColor"],
|
|
333
|
+
});
|
|
334
|
+
let cardItemBgColor = gCPVal(container, "cardItemBgColor", "", {
|
|
335
|
+
sKey: "cardItemBgColorStatus",
|
|
336
|
+
fields: ["cardItemBgColor"],
|
|
337
|
+
});
|
|
338
|
+
let itemPadding = gCPVal(
|
|
258
339
|
container,
|
|
259
|
-
"
|
|
260
|
-
{
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
this.
|
|
264
|
-
|
|
265
|
-
|
|
340
|
+
"itemPadding",
|
|
341
|
+
[{ top: 16, left: 16, right: 16, bottom: 16 }, 20],
|
|
342
|
+
{ sKey: "itemPaddingStatus", fields: ["itemPadding"], isPMR: true }
|
|
343
|
+
);
|
|
344
|
+
this.cusStyle = {
|
|
345
|
+
item: {
|
|
346
|
+
"margin-bottom": `${cardItemSpace}rpx`,
|
|
347
|
+
"border-radius": cardItemRadius + "rpx",
|
|
348
|
+
"box-shadow": cardItemShadow,
|
|
349
|
+
border: cardItemBorder,
|
|
350
|
+
backgroundColor: cardItemBgColor,
|
|
351
|
+
padding: this.getMarginAndPadding(itemPadding, 0),
|
|
352
|
+
},
|
|
353
|
+
distance: {
|
|
354
|
+
color: distanceColor,
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
this.scheduleChoosePath = gCPVal(container, "scheduleChoosePath", {
|
|
359
|
+
value: "",
|
|
360
|
+
}).value;
|
|
361
|
+
this.codeChoosePath = gCPVal(container, "codeChoosePath", {
|
|
362
|
+
value: "",
|
|
363
|
+
}).value;
|
|
364
|
+
this.choseCityPath = gCPVal(container, "choseCityPath", {
|
|
365
|
+
value: "",
|
|
366
|
+
}).value;
|
|
367
|
+
this.scanPath = gCPVal(container, "cscanPath", { value: "" }).value;
|
|
368
|
+
this.jhdPath = gCPVal(container, "jhdPath", { value: "" }).value;
|
|
369
|
+
this.qpPath = gCPVal(container, "qpPath", { value: "" }).value;
|
|
370
|
+
this.initAttr = true;
|
|
266
371
|
},
|
|
267
372
|
toChooseSchedule(item) {
|
|
268
|
-
if(item.seat_index > -1) this.toSchedulePath(item);
|
|
269
|
-
else if(item.code_index > -1) this.toCodePath(item);
|
|
373
|
+
if (item.seat_index > -1) this.toSchedulePath(item);
|
|
374
|
+
else if (item.code_index > -1) this.toCodePath(item);
|
|
270
375
|
},
|
|
271
|
-
toCodePath(item){
|
|
376
|
+
toCodePath(item) {
|
|
272
377
|
this.$xdUniHelper.navigateTo({
|
|
273
378
|
url: this.codeChoosePath + `?cinema_id=${item.cinema_id}`,
|
|
274
379
|
});
|
|
275
380
|
},
|
|
276
|
-
toSellPath(item){
|
|
381
|
+
toSellPath(item) {
|
|
277
382
|
let params = {
|
|
278
|
-
|
|
279
|
-
}
|
|
383
|
+
"x-params": Base64.encodeURI(`shop_id:${item.cinema_id}`),
|
|
384
|
+
};
|
|
280
385
|
let options = this.$xdUniHelper.jsonToParams(params);
|
|
281
386
|
this.$xdUniHelper.navigateTo({
|
|
282
387
|
url: this.sellPath + `?${options}`,
|
|
283
388
|
});
|
|
284
389
|
},
|
|
285
|
-
toSchedulePath(item){
|
|
390
|
+
toSchedulePath(item) {
|
|
286
391
|
this.$xdUniHelper.navigateTo({
|
|
287
392
|
url: this.scheduleChoosePath + `?cinema_id=${item.cinema_id}`,
|
|
288
393
|
});
|
|
289
394
|
},
|
|
395
|
+
//==evnet===
|
|
396
|
+
handleToEvent({ item, type }) {
|
|
397
|
+
let url = "";
|
|
398
|
+
let parmas = [];
|
|
399
|
+
|
|
400
|
+
//扫一扫
|
|
401
|
+
if (type === "WB") url = this.scanPath;
|
|
402
|
+
//聚好兑
|
|
403
|
+
if (type === "JHD") url = this.jhdPath;
|
|
404
|
+
//快捷码
|
|
405
|
+
if (type === "QP") url = this.qpPath;
|
|
406
|
+
//在线选择
|
|
407
|
+
if (type === "SEAT") {
|
|
408
|
+
if (this.seatPath) url = this.seatPath;
|
|
409
|
+
else {
|
|
410
|
+
type = "DL";
|
|
411
|
+
url = this.shopInfoPath;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
//小时达
|
|
415
|
+
if (type === "HDSELF") {
|
|
416
|
+
if (this.hdSelfPath) url = this.hdSelfPath;
|
|
417
|
+
else {
|
|
418
|
+
type = "DL";
|
|
419
|
+
url = this.shopInfoPath;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
//旅游购票
|
|
423
|
+
if (type === "TRAVEL") {
|
|
424
|
+
if (this.travelfPath) url = this.travelfPath;
|
|
425
|
+
else {
|
|
426
|
+
type = "DL";
|
|
427
|
+
url = this.shopInfoPath;
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
if (item.resource_shop_id)
|
|
432
|
+
parmas.push(`resource_shop_id=${item.resource_shop_id}`);
|
|
433
|
+
if (item.brand_id) parmas.push(`brand_id=${item.brand_id}`);
|
|
434
|
+
if (item.consume_mode)
|
|
435
|
+
parmas.push(`consume_mode=${item.consume_mode.join(",")}`);
|
|
436
|
+
if (item.shop_id) parmas.push(`shop_id=${item.shop_id}`);
|
|
437
|
+
|
|
438
|
+
//详情增加扩张参数
|
|
439
|
+
if (item.exts_params) parmas.push(`exts_params=${item.exts_params}`);
|
|
440
|
+
|
|
441
|
+
//详情增加扩张参数
|
|
442
|
+
if (["DL", "JHD", "QP"].includes(type)) {
|
|
443
|
+
parmas.push(
|
|
444
|
+
`resource_shop=${Base64.encodeURI(
|
|
445
|
+
JSON.stringify({
|
|
446
|
+
shop_id: item.shop_id,
|
|
447
|
+
resource_shop_id: item.resource_shop_id,
|
|
448
|
+
})
|
|
449
|
+
)}`
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
//在线选择,电子码传惨处理
|
|
454
|
+
if (["SEAT", "CODE"].includes(type))
|
|
455
|
+
parmas = [`cinema_id=${item.resource_shop_id}`];
|
|
456
|
+
if (["TRAVEL"].includes(type))
|
|
457
|
+
parmas = [`shop_id=${item.resource_shop_id}`];
|
|
458
|
+
if (["WB"].includes(type))
|
|
459
|
+
parmas = [`x-params=${Base64.encodeURI(`shop_id:${item.shop_id}`)}`];
|
|
460
|
+
if (["JHD"].includes(type)) {
|
|
461
|
+
parmas.push(`x-jfb-os=jhd`);
|
|
462
|
+
parmas.push(this.$xdUniHelper.jsonToParams(this.options));
|
|
463
|
+
}
|
|
464
|
+
if (["JHD", "QP"].includes(type)) {
|
|
465
|
+
parmas.push(`xnamespace=${this.xnamespace}`);
|
|
466
|
+
parmas.push(`x-params=${Base64.encodeURI(`shop_id:${item.shop_id}`)}`);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
//预览模式
|
|
470
|
+
if (this.$configProject["isPreview"]) {
|
|
471
|
+
console.warn(`uri=>${url}?${parmas.join("&")}`);
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
if (!url) throw new Error(`${type} => 未设置访问地址`);
|
|
476
|
+
|
|
477
|
+
//普通跳转
|
|
478
|
+
this.$xdUniHelper.navigateTo({
|
|
479
|
+
url: `${url}?${parmas.join("&")}`,
|
|
480
|
+
});
|
|
481
|
+
},
|
|
482
|
+
//==evnet===
|
|
290
483
|
|
|
291
484
|
getList() {
|
|
292
485
|
const { city, location, citySubs, subIndex, cinema_name } = this;
|
|
@@ -307,24 +500,18 @@ export default {
|
|
|
307
500
|
this.$xdHideLoading();
|
|
308
501
|
const { list, next_page_token, area_list } = res;
|
|
309
502
|
|
|
310
|
-
this.cinemaList = list
|
|
311
|
-
let sell_index = item.cinema_type.findIndex(ii => ii == 'SELL'); //线下核销
|
|
312
|
-
let seat_index = item.cinema_type.findIndex(ii => ii == 'SEAT'); //在线选座
|
|
313
|
-
let code_index = item.cinema_type.findIndex(ii => ii == 'CODE'); //电子码
|
|
314
|
-
item['sell_index'] = sell_index;
|
|
315
|
-
item['code_index'] = code_index;
|
|
316
|
-
item['seat_index'] = seat_index;
|
|
317
|
-
return item;
|
|
318
|
-
});
|
|
503
|
+
this.cinemaList = list;
|
|
319
504
|
this.page_token = next_page_token;
|
|
320
|
-
let citySubs = area_list.map(item => {
|
|
505
|
+
let citySubs = area_list.map((item) => {
|
|
321
506
|
return {
|
|
322
507
|
label: item.area_name,
|
|
323
508
|
value: item.area_code,
|
|
324
|
-
count: item.cinema_count
|
|
325
|
-
}
|
|
326
|
-
})
|
|
327
|
-
this.citySubs = [{ label: "全城", value: "", count: "" }].concat(
|
|
509
|
+
count: item.cinema_count,
|
|
510
|
+
};
|
|
511
|
+
});
|
|
512
|
+
this.citySubs = [{ label: "全城", value: "", count: "" }].concat(
|
|
513
|
+
citySubs
|
|
514
|
+
);
|
|
328
515
|
});
|
|
329
516
|
},
|
|
330
517
|
/**城市定位**********************/
|
|
@@ -381,11 +568,13 @@ export default {
|
|
|
381
568
|
this.subIndex = i;
|
|
382
569
|
},
|
|
383
570
|
|
|
384
|
-
|
|
385
571
|
handleCityChange() {
|
|
386
|
-
this.$xdUniHelper.navigateTo(
|
|
387
|
-
|
|
388
|
-
|
|
572
|
+
this.$xdUniHelper.navigateTo(
|
|
573
|
+
{
|
|
574
|
+
url: this.choseCityPath,
|
|
575
|
+
},
|
|
576
|
+
true
|
|
577
|
+
);
|
|
389
578
|
},
|
|
390
579
|
|
|
391
580
|
handleGetCitySub(city_code) {
|
|
@@ -423,7 +612,7 @@ export default {
|
|
|
423
612
|
flex-direction: column;
|
|
424
613
|
.cinema_header {
|
|
425
614
|
&-mask {
|
|
426
|
-
height: unit(108, rpx)
|
|
615
|
+
height: unit(108, rpx);
|
|
427
616
|
}
|
|
428
617
|
display: flex;
|
|
429
618
|
align-items: center;
|
|
@@ -504,18 +693,18 @@ export default {
|
|
|
504
693
|
padding: unit(24, rpx);
|
|
505
694
|
flex: 1;
|
|
506
695
|
overflow: auto;
|
|
507
|
-
&.skeleton-wrap{
|
|
508
|
-
.cinema_item{
|
|
509
|
-
.item_name{
|
|
696
|
+
&.skeleton-wrap {
|
|
697
|
+
.cinema_item {
|
|
698
|
+
.item_name {
|
|
510
699
|
.skeleton-item(100%, 62rpx);
|
|
511
700
|
}
|
|
512
|
-
.item_addr{
|
|
701
|
+
.item_addr {
|
|
513
702
|
.skeleton-item(300rpx);
|
|
514
703
|
}
|
|
515
|
-
.item_dist{
|
|
704
|
+
.item_dist {
|
|
516
705
|
.skeleton-item(100rpx);
|
|
517
706
|
}
|
|
518
|
-
.cinema_item-btn{
|
|
707
|
+
.cinema_item-btn {
|
|
519
708
|
.skeleton-item(160rpx, 50rpx, 50rpx);
|
|
520
709
|
}
|
|
521
710
|
}
|
|
@@ -22,7 +22,20 @@ module.exports = {
|
|
|
22
22
|
show_cinema_type_name: "在线选座",
|
|
23
23
|
brand_name: "",
|
|
24
24
|
area_code: "2809",
|
|
25
|
-
area_name: "通州区"
|
|
25
|
+
area_name: "通州区",
|
|
26
|
+
"consume_options": [{
|
|
27
|
+
"consume_mode": "CODE",
|
|
28
|
+
"desc": "电子码",
|
|
29
|
+
"icon": "iconduihuan"
|
|
30
|
+
}, {
|
|
31
|
+
"consume_mode": "SEAT",
|
|
32
|
+
"desc": "在线选座",
|
|
33
|
+
"icon": "iconxuanze"
|
|
34
|
+
}, {
|
|
35
|
+
"consume_mode": "SELL",
|
|
36
|
+
"desc": "线下核销",
|
|
37
|
+
"icon": "iconduihuan"
|
|
38
|
+
}]
|
|
26
39
|
},
|
|
27
40
|
{
|
|
28
41
|
cinema_id: 6785091,
|
|
@@ -43,7 +56,20 @@ module.exports = {
|
|
|
43
56
|
show_cinema_type_name: "在线选座",
|
|
44
57
|
brand_name: "",
|
|
45
58
|
area_code: "2810",
|
|
46
|
-
area_name: "大兴区"
|
|
59
|
+
area_name: "大兴区",
|
|
60
|
+
"consume_options": [{
|
|
61
|
+
"consume_mode": "CODE",
|
|
62
|
+
"desc": "电子码",
|
|
63
|
+
"icon": "iconduihuan"
|
|
64
|
+
}, {
|
|
65
|
+
"consume_mode": "SEAT",
|
|
66
|
+
"desc": "在线选座",
|
|
67
|
+
"icon": "iconxuanze"
|
|
68
|
+
}, {
|
|
69
|
+
"consume_mode": "SELL",
|
|
70
|
+
"desc": "线下核销",
|
|
71
|
+
"icon": "iconduihuan"
|
|
72
|
+
}]
|
|
47
73
|
},
|
|
48
74
|
{
|
|
49
75
|
cinema_id: 6771491,
|