jufubao-mall 2.0.43 → 2.0.44-beta2
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/JfbMallShop/Api.js +138 -2
- package/src/components/JfbMallShop/Attr.js +0 -1
- package/src/components/JfbMallShop/JfbMallShop.vue +159 -39
- package/src/components/JfbMallShop/Mock.js +3 -2
- package/src/components/JfbMallShop/QrcodeShow.vue +176 -0
- package/src/components/JfbMallShop/ShowCard.vue +602 -0
- package/src/components/JfbMallShop/ShowQp.vue +836 -0
- package/src/components/JfbMallShop/XdDeductSort.vue +201 -0
- package/src/components/JfbMallShop/cusAttr/advanced.js +14 -0
- package/src/components/JfbMallShop/cusAttr/content.js +5 -3
- package/src/components/JfbMallShopList/JfbMallShopList.vue +2 -1
package/package.json
CHANGED
|
@@ -46,6 +46,142 @@ module.exports = [
|
|
|
46
46
|
isConsole: true,
|
|
47
47
|
disabled: true,
|
|
48
48
|
},
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
{
|
|
50
|
+
mapFnName: "getQuickPayQRCode",
|
|
51
|
+
title: "门店核销 - 获取快速支付二维码",
|
|
52
|
+
path: "/store/v1/order/get-quick-pay-code",
|
|
53
|
+
isRule: false,
|
|
54
|
+
params: {
|
|
55
|
+
shop_id: ['门店id', 'Number', '必选'],
|
|
56
|
+
temp_order_id: ['临时订单号第一次获取为空,再次获取需要传上次获取到数据', 'String', '必选'],
|
|
57
|
+
},
|
|
58
|
+
isConsole: true,
|
|
59
|
+
disabled: true,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
mapFnName: "getQRCodeStatus",
|
|
63
|
+
title: "获取快捷支付码扫码状态",
|
|
64
|
+
path: "/store/v1/order/get-quick-pay-scan-status",
|
|
65
|
+
isRule: false,
|
|
66
|
+
params: {
|
|
67
|
+
shop_id: ['门店id', 'Number', '必选'],
|
|
68
|
+
temp_order_id: ['临时订单号第一次获取为空,再次获取需要传上次获取到数据', 'String', '必选'],
|
|
69
|
+
},
|
|
70
|
+
isConsole: true,
|
|
71
|
+
disabled: true,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
path: "/pay/v1/quickpay/list-my-config",
|
|
75
|
+
title: "快捷支付-获取我的支付顺序",
|
|
76
|
+
mapFnName: "getMyPayOrderConfig",
|
|
77
|
+
isRule: false,
|
|
78
|
+
params: {},
|
|
79
|
+
isConsole: true,
|
|
80
|
+
disabled: true,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
path: "/pay/v1/quickpay/save-my-config",
|
|
84
|
+
title: "订单支付-选座可用钱包列表",
|
|
85
|
+
mapFnName: "saveMyPayOrderConfig",
|
|
86
|
+
isRule: false,
|
|
87
|
+
data: {
|
|
88
|
+
configs: ['支付顺序配置', 'String', '必选'],
|
|
89
|
+
pay_method: ['支付方式 card=卡,coupon=优惠券,wallet=钱包', 'String', '必选'],
|
|
90
|
+
priority_rules: ['优先级规则', 'array[string]', '必选'],
|
|
91
|
+
},
|
|
92
|
+
isConsole: true,
|
|
93
|
+
disabled: true,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
path: "/store/v1/order/batch-use-card-created",
|
|
97
|
+
title: "批量使用卡券下单",
|
|
98
|
+
mapFnName: "batchUseCardCreated",
|
|
99
|
+
isRule: false,
|
|
100
|
+
data: {
|
|
101
|
+
temp_order_id: ['temp_order_id', 'Number', '必选'],
|
|
102
|
+
business_code: ['业务类型', 'String', '必选'],
|
|
103
|
+
},
|
|
104
|
+
isConsole: true,
|
|
105
|
+
disabled: true,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
path: '/store/v1/order/async-submit-status',
|
|
109
|
+
title: "获取异步下单的状态",
|
|
110
|
+
mapFnName: "getAsyncSubmitStatus",
|
|
111
|
+
isRule: false,
|
|
112
|
+
params: {
|
|
113
|
+
request_order_id: ['temp_order_id', 'Number', '必选'],
|
|
114
|
+
},
|
|
115
|
+
isConsole: true,
|
|
116
|
+
disabled: true,
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
mapFnName: "getListUserPayChannel",
|
|
120
|
+
title: "获取用户可用支付渠道",
|
|
121
|
+
path: "/pay/v1/pay-channel/list-user-pay-channel",
|
|
122
|
+
isRule: false,
|
|
123
|
+
params: {
|
|
124
|
+
providers: ['支付方式id 多个用逗号分隔', "String", '必选']
|
|
125
|
+
},
|
|
126
|
+
isConsole: true,
|
|
127
|
+
disabled: true
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
mapFnName: "setThirdPlace",
|
|
131
|
+
title: "第三方渠道下单",
|
|
132
|
+
path: "/pay/v1/order/third-place",
|
|
133
|
+
isRule: false,
|
|
134
|
+
data: {
|
|
135
|
+
order_id: ['订单号', "String", "必填"],
|
|
136
|
+
channel_provider_id: ['支付渠道id', "String", '必选']
|
|
137
|
+
},
|
|
138
|
+
isConsole: true,
|
|
139
|
+
disabled: true
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
mapFnName: "updatePay",
|
|
143
|
+
title: "修改订单为支付中",
|
|
144
|
+
path: "/order/v1/order/update-to-paying",
|
|
145
|
+
isRule: false,
|
|
146
|
+
data: {
|
|
147
|
+
main_order_id: ['订单号', "String", "必填"],
|
|
148
|
+
},
|
|
149
|
+
isConsole: true,
|
|
150
|
+
disabled: true
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
mapFnName: "getListBindedCards",
|
|
154
|
+
title: "门店可选卡列表",
|
|
155
|
+
path: "/store/v1/shop/list-binded-cards",
|
|
156
|
+
isRule: false,
|
|
157
|
+
params: {
|
|
158
|
+
shop_id: ['shop_id ', "Number", "必填"],
|
|
159
|
+
show_type: ['show_type ', "String", "非必填"],
|
|
160
|
+
sort_method : ['sort_method', "String", "非必填"],
|
|
161
|
+
},
|
|
162
|
+
isConsole: true,
|
|
163
|
+
disabled: true
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
mapFnName: 'getBaseByIdCardDetail',
|
|
167
|
+
isRule: false,
|
|
168
|
+
title: '获得绑定的卡详情',
|
|
169
|
+
prefix: 'detal',
|
|
170
|
+
path: '/card/v1/card-bind/get-bind-card',
|
|
171
|
+
params: {
|
|
172
|
+
card_number: ['卡号', 'String', '必选'],
|
|
173
|
+
},
|
|
174
|
+
disabled: true,
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
mapFnName: 'getCardYue',
|
|
178
|
+
isRule: false,
|
|
179
|
+
title: '获得绑定的卡剩余点数',
|
|
180
|
+
prefix: 'yue',
|
|
181
|
+
path: '/card/v1/card-bind/get-bind-card-points',
|
|
182
|
+
params: {
|
|
183
|
+
card_number: ['卡号', 'String', '必选'],
|
|
184
|
+
},
|
|
185
|
+
disabled: true,
|
|
186
|
+
},
|
|
51
187
|
];
|
|
@@ -38,31 +38,39 @@
|
|
|
38
38
|
<view class="distance_t" v-if="shopInfo.distance">{{shopInfo.distance}}</view>
|
|
39
39
|
</view>
|
|
40
40
|
</view>
|
|
41
|
+
<view>
|
|
42
|
+
<view class="shop_sub" v-if="shopInfo.business_time_name">
|
|
43
|
+
营业时间:<text>{{ shopInfo.business_time_name }}</text>
|
|
44
|
+
</view>
|
|
45
|
+
</view>
|
|
41
46
|
<view>
|
|
42
47
|
<view class="shop_sub">
|
|
43
|
-
<view>{{shopInfo
|
|
48
|
+
<view>{{getAddress(shopInfo)}}</view>
|
|
49
|
+
</view>
|
|
50
|
+
</view>
|
|
51
|
+
<view>
|
|
52
|
+
<view class="shop_sub contact_box">
|
|
53
|
+
<view v-if="shopInfo.distance">{{shopInfo.distance}}</view>
|
|
54
|
+
<view class="p_n_box">
|
|
55
|
+
<view v-if="isNavigation" class="p_n" @click="toNavigationApp(shopInfo)">
|
|
56
|
+
<xd-font-icon size="30" icon="iconwodedizhi" style="margin-right: 4rpx;"></xd-font-icon>导航
|
|
57
|
+
</view>
|
|
58
|
+
<view v-if="shopInfo.phone" class="p_n" @click="toCallPhone">
|
|
59
|
+
<xd-font-icon size="30" icon="icondianhuatubiao" style="margin-right: 4rpx;"></xd-font-icon>电话
|
|
60
|
+
</view>
|
|
61
|
+
</view>
|
|
44
62
|
</view>
|
|
45
63
|
</view>
|
|
46
64
|
</view>
|
|
47
65
|
</view>
|
|
48
66
|
</view>
|
|
49
67
|
<view class="shop_addr">
|
|
50
|
-
<view class="addr_title">门店地址</view>
|
|
51
|
-
<view class="addr_detail">{{getAddress(shopInfo)}}</view>
|
|
52
68
|
<view class="addr_foot">
|
|
53
|
-
<view>
|
|
54
|
-
<template v-if="shopInfo.business_time_name">
|
|
55
|
-
营业时间:<text>{{ shopInfo.business_time_name }}</text>
|
|
56
|
-
</template>
|
|
69
|
+
<view id="textRef">{{shopInfo.brand_about}}
|
|
57
70
|
</view>
|
|
58
|
-
<view
|
|
59
|
-
<view v-if="isNavigation" class="p_n" @click="toNavigationApp(shopInfo)">
|
|
60
|
-
<xd-font-icon size="30" icon="iconwodedizhi" style="margin-right: 4rpx;"></xd-font-icon>导航
|
|
61
|
-
</view>
|
|
62
|
-
<view v-if="shopInfo.phone" class="p_n" @click="toCallPhone">
|
|
63
|
-
<xd-font-icon size="30" icon="icondianhuatubiao" style="margin-right: 4rpx;"></xd-font-icon>电话
|
|
64
|
-
</view>
|
|
71
|
+
<view id="textRefHidden">{{shopInfo.brand_about}}
|
|
65
72
|
</view>
|
|
73
|
+
<view v-if="isTextOverflow" class="addr_more" @click="handleShowBrandDetail">品牌详情<xd-font-icon style="margin-left: 4rpx;" size="22" icon="iconxiangyou_xian"></xd-font-icon> </view>
|
|
66
74
|
</view>
|
|
67
75
|
</view>
|
|
68
76
|
<view class="shop_exchange_box">
|
|
@@ -85,7 +93,7 @@
|
|
|
85
93
|
<xd-button @click="handleToExchange(item)" style="margin:0 0 0 20rpx" type="primary" size="small">{{exchangeBtnName}}</xd-button>
|
|
86
94
|
</view>
|
|
87
95
|
</view>
|
|
88
|
-
<view v-if="item.consume_mode === 'QP' && showTake === 'Y'" class="shop_wrap-exchange" :key="item.consume_mode">
|
|
96
|
+
<view v-if="item.consume_mode === 'QP' && showTake === 'Y'&&is_plus_site" class="shop_wrap-exchange" :key="item.consume_mode">
|
|
89
97
|
<view class="shop_wrap-exchange_txt">
|
|
90
98
|
<view class="exchange_name">{{takeName}}</view>
|
|
91
99
|
<view class="exchange_desc">{{item.desc}}</view>
|
|
@@ -123,6 +131,11 @@
|
|
|
123
131
|
</view>
|
|
124
132
|
</template>
|
|
125
133
|
</view>
|
|
134
|
+
<!-- 二维码 -->
|
|
135
|
+
<view class="qrcode_box" v-if="shopInfo&&shopInfo.show_qrcode&&!is_plus_site&&showTake==='Y'">
|
|
136
|
+
<qrcode-show :show_qrcode="shopInfo.show_qrcode" :shop_id="shopInfo.shop_id" :layoutInfo="layoutInfo"></qrcode-show>
|
|
137
|
+
</view>
|
|
138
|
+
<!-- 二维码 -->
|
|
126
139
|
<view v-if="isShowCodeProduct && productList.length" class="code_product_wrap">
|
|
127
140
|
<view class="code_title">电子码商品</view>
|
|
128
141
|
<view class="product_list">
|
|
@@ -181,6 +194,18 @@
|
|
|
181
194
|
</view>
|
|
182
195
|
</view>
|
|
183
196
|
</view>
|
|
197
|
+
<xd-down-drawer
|
|
198
|
+
:show.sync="showBrandDetailDialog"
|
|
199
|
+
height="50vh"
|
|
200
|
+
>
|
|
201
|
+
<template>
|
|
202
|
+
<view class="brand_detail_box">
|
|
203
|
+
{{shopInfo.brand_about}}
|
|
204
|
+
福司令渠道门店品牌描述内容福司令渠道门店品牌描述内容
|
|
205
|
+
福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述
|
|
206
|
+
</view>
|
|
207
|
+
</template>
|
|
208
|
+
</xd-down-drawer>
|
|
184
209
|
</view>
|
|
185
210
|
</template>
|
|
186
211
|
|
|
@@ -191,12 +216,14 @@
|
|
|
191
216
|
// #ifdef H5
|
|
192
217
|
import XdBaiduMap from "./XdBaiduMap"
|
|
193
218
|
// #endif
|
|
219
|
+
import QrcodeShow from "./QrcodeShow"
|
|
194
220
|
import { jfbRootExec } from "@/utils/xd.event";
|
|
195
221
|
import { getContainerPropsValue, gCPVal, toProductDetail } from "@/utils/xd.base";
|
|
196
222
|
import JfbMallShopMixin from "./JfbMallShopMixin";
|
|
197
223
|
import componentsMixins from "@/mixins/componentsMixins";
|
|
198
224
|
import extsMixins from "@/mixins/extsMixins"
|
|
199
225
|
import getServiceUrl from "@/common/getServiceUrl";
|
|
226
|
+
import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer"
|
|
200
227
|
import { mapState } from 'vuex';
|
|
201
228
|
import Color from 'color'
|
|
202
229
|
export default {
|
|
@@ -206,8 +233,10 @@
|
|
|
206
233
|
CusPrice,
|
|
207
234
|
XdButton,
|
|
208
235
|
// #ifdef H5
|
|
209
|
-
XdBaiduMap
|
|
236
|
+
XdBaiduMap,
|
|
210
237
|
// #endif
|
|
238
|
+
XdDownDrawer,
|
|
239
|
+
QrcodeShow,
|
|
211
240
|
},
|
|
212
241
|
mixins: [componentsMixins,extsMixins,JfbMallShopMixin],
|
|
213
242
|
data() {
|
|
@@ -287,6 +316,8 @@
|
|
|
287
316
|
showDiscount: "",
|
|
288
317
|
isAddCart: "",
|
|
289
318
|
differ: "",
|
|
319
|
+
isTextOverflow:false,
|
|
320
|
+
showBrandDetailDialog:false,
|
|
290
321
|
}
|
|
291
322
|
},
|
|
292
323
|
watch: {
|
|
@@ -410,10 +441,18 @@
|
|
|
410
441
|
},
|
|
411
442
|
},
|
|
412
443
|
created() {
|
|
413
|
-
this.init(this.container);
|
|
414
444
|
this.is_plus_site = this.projectAttr.headers['X-Site-Group']==="vip";
|
|
415
445
|
this.alphaColor = Color(this.mainColor).alpha(0.1).toString();
|
|
416
446
|
this.isPreview = this.$configProject.isPreview;
|
|
447
|
+
console.log(this.isPreview, 'isPreview')
|
|
448
|
+
this.init(this.container);
|
|
449
|
+
},
|
|
450
|
+
mounted() {
|
|
451
|
+
this.$nextTick(()=>{
|
|
452
|
+
setTimeout(()=>{
|
|
453
|
+
this.checkTextOverflow();
|
|
454
|
+
}, 3000)
|
|
455
|
+
})
|
|
417
456
|
},
|
|
418
457
|
methods: {
|
|
419
458
|
onJfbLoad(options) {
|
|
@@ -464,6 +503,7 @@
|
|
|
464
503
|
this.shopInfo = shopInfo;
|
|
465
504
|
this.mapCenter = {lng: shopInfo.longitude, lat: shopInfo.latitude}
|
|
466
505
|
this.initBaidu = true;
|
|
506
|
+
this.checkTextOverflow();
|
|
467
507
|
this.$nextTick(() => {
|
|
468
508
|
if(this.isShowCodeProduct){
|
|
469
509
|
this.p_getProductList();
|
|
@@ -497,9 +537,14 @@
|
|
|
497
537
|
this.scanBtnName = gCPVal(container, 'scanBtnName', '扫一扫')
|
|
498
538
|
this.scanRemark = getContainerPropsValue(container, 'content.scanRemark', '');
|
|
499
539
|
this.scanPath = getContainerPropsValue(container, 'content.scanPath', {value: ""}).value;
|
|
500
|
-
this.
|
|
501
|
-
|
|
502
|
-
|
|
540
|
+
if(this.is_plus_site){
|
|
541
|
+
this.showTake = oldShowCashier || gCPVal(container, 'showTake', 'Y');
|
|
542
|
+
this.takeBtnName = gCPVal(container, 'takeBtnName', '去提货');
|
|
543
|
+
this.takeName = getContainerPropsValue(container, 'content.takeName', '快捷提货');
|
|
544
|
+
}else{
|
|
545
|
+
this.showTake = gCPVal(container, 'showTake', 'Y');
|
|
546
|
+
}
|
|
547
|
+
console.log("this.showTake",this.takeBtnName,this.takeName, this.showTake)
|
|
503
548
|
this.takeRemark = getContainerPropsValue(container, 'content.takeRemark', '');
|
|
504
549
|
this.takePath = getContainerPropsValue(container, 'content.takePath', {value: ""}).value;
|
|
505
550
|
this.showMovie = gCPVal(container, 'showMovie', ['Y',"N"], {isOld: true});
|
|
@@ -588,6 +633,34 @@
|
|
|
588
633
|
this.hasNext = !!this.next_page_token;
|
|
589
634
|
})
|
|
590
635
|
},
|
|
636
|
+
checkTextOverflow() {
|
|
637
|
+
// 创建选择器查询
|
|
638
|
+
const query = uni.createSelectorQuery().in(this)
|
|
639
|
+
|
|
640
|
+
// 获取元素位置信息
|
|
641
|
+
query.select('#textRef').fields({
|
|
642
|
+
size: true,
|
|
643
|
+
scrollOffset: true
|
|
644
|
+
}, (res) => {
|
|
645
|
+
if (!res) return;
|
|
646
|
+
const hiddenQuery = uni.createSelectorQuery().in(this)
|
|
647
|
+
hiddenQuery.select('#textRefHidden').fields({
|
|
648
|
+
size: true,
|
|
649
|
+
scrollOffset: true
|
|
650
|
+
}, (hiddenRes) => {
|
|
651
|
+
if (!hiddenRes) return;
|
|
652
|
+
console.log('元素尺寸:', res);
|
|
653
|
+
|
|
654
|
+
this.isTextOverflow = hiddenRes.height > res.height;
|
|
655
|
+
console.log('文字是否超出3行:', this.isTextOverflow);
|
|
656
|
+
console.log('展示容器高度:', res.height);
|
|
657
|
+
console.log('文本实际高度:', hiddenRes.height);
|
|
658
|
+
})
|
|
659
|
+
.exec();
|
|
660
|
+
})
|
|
661
|
+
.exec();
|
|
662
|
+
|
|
663
|
+
},
|
|
591
664
|
handleError(){
|
|
592
665
|
this.errorStatus = true;
|
|
593
666
|
},
|
|
@@ -712,6 +785,9 @@
|
|
|
712
785
|
onJfbBack(options) {
|
|
713
786
|
this.$xdUniHelper.navigateBack();
|
|
714
787
|
},
|
|
788
|
+
handleShowBrandDetail(){
|
|
789
|
+
this.showBrandDetailDialog = true;
|
|
790
|
+
},
|
|
715
791
|
}
|
|
716
792
|
}
|
|
717
793
|
|
|
@@ -735,8 +811,8 @@
|
|
|
735
811
|
}
|
|
736
812
|
.shop_addr{
|
|
737
813
|
background: #FFFFFF;
|
|
738
|
-
|
|
739
|
-
|
|
814
|
+
padding: 24rpx 32rpx 32rpx 32rpx;
|
|
815
|
+
border-top: 2rpx solid #F8F8F8;
|
|
740
816
|
.addr_title{
|
|
741
817
|
font-size: 32rpx;
|
|
742
818
|
color: #333333;
|
|
@@ -754,26 +830,43 @@
|
|
|
754
830
|
font-size: 24rpx;
|
|
755
831
|
color: #666666;
|
|
756
832
|
margin-top: 20rpx;
|
|
833
|
+
position: relative;
|
|
757
834
|
}
|
|
758
|
-
|
|
759
|
-
display:
|
|
760
|
-
|
|
761
|
-
|
|
835
|
+
#textRef{
|
|
836
|
+
display: -webkit-box;
|
|
837
|
+
-webkit-box-orient: vertical;
|
|
838
|
+
-webkit-line-clamp: 3;
|
|
839
|
+
overflow: hidden;
|
|
840
|
+
line-height: 40rpx;
|
|
841
|
+
width: 100%;
|
|
762
842
|
}
|
|
763
|
-
|
|
764
|
-
|
|
843
|
+
#textRefHidden{
|
|
844
|
+
position: absolute;
|
|
845
|
+
top: 0;
|
|
846
|
+
left: 0;
|
|
847
|
+
width: 100%;
|
|
848
|
+
z-index: -1;
|
|
849
|
+
opacity: 0;
|
|
850
|
+
line-height: 40rpx;
|
|
851
|
+
}
|
|
852
|
+
.addr_more{
|
|
765
853
|
display: flex;
|
|
766
|
-
|
|
767
|
-
background:
|
|
854
|
+
position: absolute;
|
|
855
|
+
background-color: #FFFFFF;
|
|
856
|
+
right: 0;
|
|
857
|
+
bottom: 4rpx;
|
|
768
858
|
color: var(--main-color);
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
& + .p_n{
|
|
773
|
-
margin-left: 24rpx;
|
|
774
|
-
}
|
|
859
|
+
box-shadow: -20rpx 0 20rpx rgba(255,255,255,1);
|
|
860
|
+
cursor: pointer;
|
|
775
861
|
}
|
|
776
862
|
}
|
|
863
|
+
.qrcode_box{
|
|
864
|
+
border-radius: unit(16, rpx);
|
|
865
|
+
background: #FFFFFF;
|
|
866
|
+
font-size: unit(28, rpx);
|
|
867
|
+
padding: 0 unit(32, rpx);
|
|
868
|
+
margin-top: unit(16, rpx);
|
|
869
|
+
}
|
|
777
870
|
.code_product_wrap{
|
|
778
871
|
.code_title{
|
|
779
872
|
font-size: 28rpx;
|
|
@@ -844,7 +937,7 @@
|
|
|
844
937
|
background: #FFFFFF;
|
|
845
938
|
font-size: unit(28, rpx);
|
|
846
939
|
padding: 24rpx;
|
|
847
|
-
margin-top:
|
|
940
|
+
margin-top: 16rpx;
|
|
848
941
|
.mpa_wrap{
|
|
849
942
|
height: unit(600, rpx);
|
|
850
943
|
background: #fff;
|
|
@@ -863,7 +956,7 @@
|
|
|
863
956
|
}
|
|
864
957
|
}
|
|
865
958
|
.shop_wrap{
|
|
866
|
-
border-radius: unit(16, rpx);
|
|
959
|
+
// border-radius: unit(16, rpx);
|
|
867
960
|
background: #FFFFFF;
|
|
868
961
|
|
|
869
962
|
&-exchange {
|
|
@@ -901,7 +994,7 @@
|
|
|
901
994
|
display: flex;
|
|
902
995
|
justify-content: flex-start;
|
|
903
996
|
align-items: flex-start;
|
|
904
|
-
padding: 32rpx;
|
|
997
|
+
padding: 32rpx 32rpx 24rpx 32rpx;
|
|
905
998
|
|
|
906
999
|
|
|
907
1000
|
.shop_image {
|
|
@@ -992,5 +1085,32 @@
|
|
|
992
1085
|
|
|
993
1086
|
}
|
|
994
1087
|
}
|
|
1088
|
+
.contact_box{
|
|
1089
|
+
display: flex;
|
|
1090
|
+
justify-content: space-between;
|
|
1091
|
+
align-items: center!important;
|
|
1092
|
+
.p_n_box{
|
|
1093
|
+
display: flex;
|
|
1094
|
+
align-items: center;
|
|
1095
|
+
width: auto !important;
|
|
1096
|
+
.p_n{
|
|
1097
|
+
display: flex;
|
|
1098
|
+
align-items: center;
|
|
1099
|
+
background: var(--alpha-color);
|
|
1100
|
+
color: var(--main-color);
|
|
1101
|
+
padding: 8rpx 20rpx;
|
|
1102
|
+
border-radius: 30rpx;
|
|
1103
|
+
|
|
1104
|
+
& + .p_n{
|
|
1105
|
+
margin-left: 24rpx;
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
.brand_detail_box{
|
|
1111
|
+
padding: 60rpx 32rpx 32rpx 32rpx;
|
|
1112
|
+
font-size: 28rpx;
|
|
1113
|
+
color: #666666;
|
|
1114
|
+
}
|
|
995
1115
|
}
|
|
996
1116
|
</style>
|
|
@@ -46,7 +46,7 @@ module.exports = {
|
|
|
46
46
|
business_time_json:
|
|
47
47
|
'{"type":"","custom":{"end":"","start":"","weeks":[],"method":""}}',
|
|
48
48
|
resource_shop_id: "3185468",
|
|
49
|
-
shop_id:
|
|
49
|
+
shop_id: 52648,
|
|
50
50
|
shop_icon:
|
|
51
51
|
"https://jfbcake.oss-cn-beijing.aliyuncs.com/uploads/20220629/dda58a5983eeae3cfdea8bccc7cea714.jpg",
|
|
52
52
|
distance: "20.7km",
|
|
@@ -70,7 +70,8 @@ module.exports = {
|
|
|
70
70
|
resource_shop:
|
|
71
71
|
"eyJyZXNvdXJjZV9zaG9wX2lkIjoiMzE4NTQ2OCIsInNob3BfaWQiOiI1MjY0OCJ9"
|
|
72
72
|
},
|
|
73
|
-
request_id: "8f0a57d7a475f96b"
|
|
73
|
+
request_id: "8f0a57d7a475f96b",
|
|
74
|
+
show_qrcode:'CARD',
|
|
74
75
|
},
|
|
75
76
|
getShopProductList: {
|
|
76
77
|
total_size: 106,
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<view class="body-qrcode">
|
|
3
|
+
<show-qp v-if="show_qrcode==='QP'" :shop_id="shop_id" :layoutInfo="layoutInfo"></show-qp>
|
|
4
|
+
<show-card v-if="show_qrcode==='CARD'" :shop_id="shop_id" :layoutInfo="layoutInfo"></show-card>
|
|
5
|
+
</view>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script>
|
|
9
|
+
import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
|
|
10
|
+
import ShowCard from "./ShowCard"
|
|
11
|
+
import ShowQp from "./ShowQp"
|
|
12
|
+
export default {
|
|
13
|
+
name: "QrcodeShow",
|
|
14
|
+
components:{
|
|
15
|
+
XdFontIcon,
|
|
16
|
+
ShowCard,
|
|
17
|
+
ShowQp,
|
|
18
|
+
},
|
|
19
|
+
props:{
|
|
20
|
+
isBrandLogo: {
|
|
21
|
+
type:Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
show_qrcode: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: ''
|
|
27
|
+
},
|
|
28
|
+
shop_id:{
|
|
29
|
+
type: Number,
|
|
30
|
+
default: null
|
|
31
|
+
},
|
|
32
|
+
layoutInfo: {
|
|
33
|
+
type: Object,
|
|
34
|
+
default: () => {}
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
data(){
|
|
38
|
+
return {
|
|
39
|
+
info:{
|
|
40
|
+
barcode: "//sandbox-apis.jufubao.cn/common/v1/image/barcode?code_content=h.161.8w9ooj0et0bi7b7",
|
|
41
|
+
card_qrcode: "//sandbox-apis.jufubao.cn/common/v1/image/qrcode?code_content=h.161.8w9ooj0et0bi7b7"
|
|
42
|
+
},
|
|
43
|
+
timeStr:'',
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
created() {
|
|
47
|
+
console.log(this.layoutInfo,'layoutInfo')
|
|
48
|
+
},
|
|
49
|
+
methods:{
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
</script>
|
|
54
|
+
|
|
55
|
+
<style scoped lang="less">
|
|
56
|
+
.body-qrcode {
|
|
57
|
+
text-align: center;
|
|
58
|
+
font-size: @xd-font-size-base;
|
|
59
|
+
line-height: unit(36, rpx);
|
|
60
|
+
background: #fff;
|
|
61
|
+
border-radius: unit(16,rpx);
|
|
62
|
+
// padding: 0 unit(70,rpx) 0 unit(70,rpx);
|
|
63
|
+
color: #000;
|
|
64
|
+
position: relative;
|
|
65
|
+
.barcode_title{
|
|
66
|
+
height: unit(104, rpx);
|
|
67
|
+
width: 100%;
|
|
68
|
+
text-align: center;
|
|
69
|
+
line-height: unit(104, rpx);
|
|
70
|
+
background: #fff;
|
|
71
|
+
font-size: unit(28,rpx);
|
|
72
|
+
font-weight: 500;
|
|
73
|
+
border-bottom: 1px solid #F8F8F8;
|
|
74
|
+
}
|
|
75
|
+
.card_bottom{
|
|
76
|
+
content: " ";
|
|
77
|
+
position: absolute;
|
|
78
|
+
left: 0;
|
|
79
|
+
bottom: -40rpx;
|
|
80
|
+
width: 100%;
|
|
81
|
+
height: 100rpx;
|
|
82
|
+
background: #FFFFFF;
|
|
83
|
+
border-radius: 100%;
|
|
84
|
+
z-index: 1;
|
|
85
|
+
}
|
|
86
|
+
// &::after{
|
|
87
|
+
// content: " ";
|
|
88
|
+
// position: absolute;
|
|
89
|
+
// left: 0;
|
|
90
|
+
// bottom: -40rpx;
|
|
91
|
+
// width: 100%;
|
|
92
|
+
// height: 100rpx;
|
|
93
|
+
// background: #FFFFFF;
|
|
94
|
+
// border-radius: 100%;
|
|
95
|
+
// z-index: 1;
|
|
96
|
+
// }
|
|
97
|
+
|
|
98
|
+
& > view {
|
|
99
|
+
// margin-bottom: unit(20, rpx);
|
|
100
|
+
|
|
101
|
+
& > view {
|
|
102
|
+
margin-bottom: 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
.refresh_wrap{
|
|
106
|
+
width: 280rpx;
|
|
107
|
+
height: 72rpx;
|
|
108
|
+
display: flex;
|
|
109
|
+
align-items: center;
|
|
110
|
+
border: 1px solid #333333;
|
|
111
|
+
color: #333333;
|
|
112
|
+
border-radius: 50rpx;
|
|
113
|
+
justify-content: center;
|
|
114
|
+
margin: 36rpx auto 0;
|
|
115
|
+
position: relative;
|
|
116
|
+
z-index: 10;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.barcode_wrap {
|
|
120
|
+
display: flex;
|
|
121
|
+
justify-content: center;
|
|
122
|
+
align-items: center;
|
|
123
|
+
box-sizing: border-box;
|
|
124
|
+
height: unit(140, rpx);
|
|
125
|
+
width: 100%;
|
|
126
|
+
padding-top: unit(32, rpx);
|
|
127
|
+
|
|
128
|
+
& > view {
|
|
129
|
+
width: 100%;
|
|
130
|
+
height: unit(200, rpx);
|
|
131
|
+
padding: 0 unit(10, rpx) unit(10, rpx) unit(10, rpx);
|
|
132
|
+
display: flex;
|
|
133
|
+
justify-content: center;
|
|
134
|
+
align-items: center;
|
|
135
|
+
|
|
136
|
+
& > image {
|
|
137
|
+
max-width: 100%;
|
|
138
|
+
max-height: unit(200, rpx);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.qrcode_wrap {
|
|
144
|
+
display: flex;
|
|
145
|
+
justify-content: center;
|
|
146
|
+
align-items: center;
|
|
147
|
+
padding: unit(20, rpx);
|
|
148
|
+
|
|
149
|
+
& > view {
|
|
150
|
+
width: unit(450, rpx);
|
|
151
|
+
height: unit(450, rpx);
|
|
152
|
+
padding: unit(10, rpx);
|
|
153
|
+
|
|
154
|
+
& > image {
|
|
155
|
+
width: unit(450, rpx);
|
|
156
|
+
height: unit(450, rpx);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
.qrcode_choose{
|
|
161
|
+
width: 100%;
|
|
162
|
+
height: unit(94,rpx);
|
|
163
|
+
display: flex;
|
|
164
|
+
justify-content: space-between;
|
|
165
|
+
align-items: center;
|
|
166
|
+
margin-top: unit(34,rpx);
|
|
167
|
+
font-size: unit(28,rpx);
|
|
168
|
+
color: #666666;
|
|
169
|
+
border-top: 1px solid #F8F8F8;
|
|
170
|
+
&_name{
|
|
171
|
+
display: flex;
|
|
172
|
+
justify-content: flex-start;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
</style>
|