jufubao-mall 2.0.43 → 2.0.44-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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-mall",
3
- "version": "2.0.43",
3
+ "version": "2.0.44-beta1",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -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
  ];
@@ -2,7 +2,6 @@
2
2
  import style from "./cusAttr/style";
3
3
  import advanced from "./cusAttr/advanced";
4
4
  import content from "./cusAttr/content";
5
-
6
5
  /**
7
6
  * @description 当表单组件中有联动操作时候,使用方法进行返回
8
7
  */
@@ -38,31 +38,47 @@
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.brand_about}}</view>
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}}福司令渠道门店品牌描述内容福司令渠道门店品牌描述内容
70
+ 福司令渠道门店品牌描述内容福司令渠道门店品牌描述内容
71
+ 福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述
72
+
73
+
57
74
  </view>
58
- <view class="p_n_box">
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>
75
+ <view id="textRefHidden">{{shopInfo.brand_about}}福司令渠道门店品牌描述内容福司令渠道门店品牌描述内容
76
+ 福司令渠道门店品牌描述内容福司令渠道门店品牌描述内容
77
+ 福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述
78
+
79
+
65
80
  </view>
81
+ <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
82
  </view>
67
83
  </view>
68
84
  <view class="shop_exchange_box">
@@ -85,7 +101,7 @@
85
101
  <xd-button @click="handleToExchange(item)" style="margin:0 0 0 20rpx" type="primary" size="small">{{exchangeBtnName}}</xd-button>
86
102
  </view>
87
103
  </view>
88
- <view v-if="item.consume_mode === 'QP' && showTake === 'Y'" class="shop_wrap-exchange" :key="item.consume_mode">
104
+ <view v-if="item.consume_mode === 'QP' && showTake === 'Y'&&is_plus_site" class="shop_wrap-exchange" :key="item.consume_mode">
89
105
  <view class="shop_wrap-exchange_txt">
90
106
  <view class="exchange_name">{{takeName}}</view>
91
107
  <view class="exchange_desc">{{item.desc}}</view>
@@ -123,6 +139,11 @@
123
139
  </view>
124
140
  </template>
125
141
  </view>
142
+ <!-- 二维码 -->
143
+ <view class="qrcode_box" v-if="shopInfo&&shopInfo.show_qrcode&&!is_plus_site&&showTake==='Y'">
144
+ <qrcode-show :show_qrcode="shopInfo.show_qrcode" :shop_id="shopInfo.shop_id" :layoutInfo="layoutInfo"></qrcode-show>
145
+ </view>
146
+ <!-- 二维码 -->
126
147
  <view v-if="isShowCodeProduct && productList.length" class="code_product_wrap">
127
148
  <view class="code_title">电子码商品</view>
128
149
  <view class="product_list">
@@ -181,6 +202,18 @@
181
202
  </view>
182
203
  </view>
183
204
  </view>
205
+ <xd-down-drawer
206
+ :show.sync="showBrandDetailDialog"
207
+ height="50vh"
208
+ >
209
+ <template>
210
+ <view class="brand_detail_box">
211
+ {{shopInfo.brand_about}}
212
+ 福司令渠道门店品牌描述内容福司令渠道门店品牌描述内容
213
+ 福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述福司令渠道门店品牌描述品牌描述描述
214
+ </view>
215
+ </template>
216
+ </xd-down-drawer>
184
217
  </view>
185
218
  </template>
186
219
 
@@ -191,12 +224,14 @@
191
224
  // #ifdef H5
192
225
  import XdBaiduMap from "./XdBaiduMap"
193
226
  // #endif
227
+ import QrcodeShow from "./QrcodeShow"
194
228
  import { jfbRootExec } from "@/utils/xd.event";
195
229
  import { getContainerPropsValue, gCPVal, toProductDetail } from "@/utils/xd.base";
196
230
  import JfbMallShopMixin from "./JfbMallShopMixin";
197
231
  import componentsMixins from "@/mixins/componentsMixins";
198
232
  import extsMixins from "@/mixins/extsMixins"
199
233
  import getServiceUrl from "@/common/getServiceUrl";
234
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer"
200
235
  import { mapState } from 'vuex';
201
236
  import Color from 'color'
202
237
  export default {
@@ -206,8 +241,10 @@
206
241
  CusPrice,
207
242
  XdButton,
208
243
  // #ifdef H5
209
- XdBaiduMap
244
+ XdBaiduMap,
210
245
  // #endif
246
+ XdDownDrawer,
247
+ QrcodeShow,
211
248
  },
212
249
  mixins: [componentsMixins,extsMixins,JfbMallShopMixin],
213
250
  data() {
@@ -287,6 +324,8 @@
287
324
  showDiscount: "",
288
325
  isAddCart: "",
289
326
  differ: "",
327
+ isTextOverflow:false,
328
+ showBrandDetailDialog:false,
290
329
  }
291
330
  },
292
331
  watch: {
@@ -414,6 +453,14 @@
414
453
  this.is_plus_site = this.projectAttr.headers['X-Site-Group']==="vip";
415
454
  this.alphaColor = Color(this.mainColor).alpha(0.1).toString();
416
455
  this.isPreview = this.$configProject.isPreview;
456
+ console.log(this.isPreview, 'isPreview')
457
+ },
458
+ mounted() {
459
+ this.$nextTick(()=>{
460
+ setTimeout(()=>{
461
+ this.checkTextOverflow();
462
+ }, 3000)
463
+ })
417
464
  },
418
465
  methods: {
419
466
  onJfbLoad(options) {
@@ -464,6 +511,7 @@
464
511
  this.shopInfo = shopInfo;
465
512
  this.mapCenter = {lng: shopInfo.longitude, lat: shopInfo.latitude}
466
513
  this.initBaidu = true;
514
+ this.checkTextOverflow();
467
515
  this.$nextTick(() => {
468
516
  if(this.isShowCodeProduct){
469
517
  this.p_getProductList();
@@ -497,9 +545,14 @@
497
545
  this.scanBtnName = gCPVal(container, 'scanBtnName', '扫一扫')
498
546
  this.scanRemark = getContainerPropsValue(container, 'content.scanRemark', '');
499
547
  this.scanPath = getContainerPropsValue(container, 'content.scanPath', {value: ""}).value;
500
- this.showTake = oldShowCashier || gCPVal(container, 'showTake', 'Y');
501
- this.takeBtnName = gCPVal(container, 'takeBtnName', '去提货');
502
- this.takeName = getContainerPropsValue(container, 'content.takeName', '快捷提货');
548
+ if(this.is_plus_site){
549
+ this.showTake = oldShowCashier || gCPVal(container, 'showTake', 'Y');
550
+ this.takeBtnName = gCPVal(container, 'takeBtnName', '去提货');
551
+ this.takeName = getContainerPropsValue(container, 'content.takeName', '快捷提货');
552
+ }else{
553
+ this.showTake = gCPVal(container, 'showTake', 'Y');
554
+ }
555
+ console.log("this.showTake", this.showTake)
503
556
  this.takeRemark = getContainerPropsValue(container, 'content.takeRemark', '');
504
557
  this.takePath = getContainerPropsValue(container, 'content.takePath', {value: ""}).value;
505
558
  this.showMovie = gCPVal(container, 'showMovie', ['Y',"N"], {isOld: true});
@@ -588,6 +641,34 @@
588
641
  this.hasNext = !!this.next_page_token;
589
642
  })
590
643
  },
644
+ checkTextOverflow() {
645
+ // 创建选择器查询
646
+ const query = uni.createSelectorQuery().in(this)
647
+
648
+ // 获取元素位置信息
649
+ query.select('#textRef').fields({
650
+ size: true,
651
+ scrollOffset: true
652
+ }, (res) => {
653
+ if (!res) return;
654
+ const hiddenQuery = uni.createSelectorQuery().in(this)
655
+ hiddenQuery.select('#textRefHidden').fields({
656
+ size: true,
657
+ scrollOffset: true
658
+ }, (hiddenRes) => {
659
+ if (!hiddenRes) return;
660
+ console.log('元素尺寸:', res);
661
+
662
+ this.isTextOverflow = hiddenRes.height > res.height;
663
+ console.log('文字是否超出3行:', this.isTextOverflow);
664
+ console.log('展示容器高度:', res.height);
665
+ console.log('文本实际高度:', hiddenRes.height);
666
+ })
667
+ .exec();
668
+ })
669
+ .exec();
670
+
671
+ },
591
672
  handleError(){
592
673
  this.errorStatus = true;
593
674
  },
@@ -712,6 +793,9 @@
712
793
  onJfbBack(options) {
713
794
  this.$xdUniHelper.navigateBack();
714
795
  },
796
+ handleShowBrandDetail(){
797
+ this.showBrandDetailDialog = true;
798
+ },
715
799
  }
716
800
  }
717
801
 
@@ -735,8 +819,8 @@
735
819
  }
736
820
  .shop_addr{
737
821
  background: #FFFFFF;
738
- margin-top: 24rpx;
739
- padding: 32rpx;
822
+ padding: 24rpx 32rpx 32rpx 32rpx;
823
+ border-top: 2rpx solid #F8F8F8;
740
824
  .addr_title{
741
825
  font-size: 32rpx;
742
826
  color: #333333;
@@ -754,26 +838,43 @@
754
838
  font-size: 24rpx;
755
839
  color: #666666;
756
840
  margin-top: 20rpx;
841
+ position: relative;
757
842
  }
758
- .p_n_box{
759
- display: flex;
760
- align-items: center;
761
-
843
+ #textRef{
844
+ display: -webkit-box;
845
+ -webkit-box-orient: vertical;
846
+ -webkit-line-clamp: 3;
847
+ overflow: hidden;
848
+ line-height: 40rpx;
849
+ width: 100%;
762
850
  }
763
-
764
- .p_n{
851
+ #textRefHidden{
852
+ position: absolute;
853
+ top: 0;
854
+ left: 0;
855
+ width: 100%;
856
+ z-index: -1;
857
+ opacity: 0;
858
+ line-height: 40rpx;
859
+ }
860
+ .addr_more{
765
861
  display: flex;
766
- align-items: center;
767
- background: var(--alpha-color);
862
+ position: absolute;
863
+ background-color: #FFFFFF;
864
+ right: 0;
865
+ bottom: 4rpx;
768
866
  color: var(--main-color);
769
- padding: 8rpx 20rpx;
770
- border-radius: 30rpx;
771
-
772
- & + .p_n{
773
- margin-left: 24rpx;
774
- }
867
+ box-shadow: -20rpx 0 20rpx rgba(255,255,255,1);
868
+ cursor: pointer;
775
869
  }
776
870
  }
871
+ .qrcode_box{
872
+ border-radius: unit(16, rpx);
873
+ background: #FFFFFF;
874
+ font-size: unit(28, rpx);
875
+ padding: 0 unit(32, rpx);
876
+ margin-top: unit(16, rpx);
877
+ }
777
878
  .code_product_wrap{
778
879
  .code_title{
779
880
  font-size: 28rpx;
@@ -844,7 +945,7 @@
844
945
  background: #FFFFFF;
845
946
  font-size: unit(28, rpx);
846
947
  padding: 24rpx;
847
- margin-top: 24rpx;
948
+ margin-top: 16rpx;
848
949
  .mpa_wrap{
849
950
  height: unit(600, rpx);
850
951
  background: #fff;
@@ -863,7 +964,7 @@
863
964
  }
864
965
  }
865
966
  .shop_wrap{
866
- border-radius: unit(16, rpx);
967
+ // border-radius: unit(16, rpx);
867
968
  background: #FFFFFF;
868
969
 
869
970
  &-exchange {
@@ -901,7 +1002,7 @@
901
1002
  display: flex;
902
1003
  justify-content: flex-start;
903
1004
  align-items: flex-start;
904
- padding: 32rpx;
1005
+ padding: 32rpx 32rpx 24rpx 32rpx;
905
1006
 
906
1007
 
907
1008
  .shop_image {
@@ -992,5 +1093,32 @@
992
1093
 
993
1094
  }
994
1095
  }
1096
+ .contact_box{
1097
+ display: flex;
1098
+ justify-content: space-between;
1099
+ align-items: center!important;
1100
+ .p_n_box{
1101
+ display: flex;
1102
+ align-items: center;
1103
+ width: auto !important;
1104
+ .p_n{
1105
+ display: flex;
1106
+ align-items: center;
1107
+ background: var(--alpha-color);
1108
+ color: var(--main-color);
1109
+ padding: 8rpx 20rpx;
1110
+ border-radius: 30rpx;
1111
+
1112
+ & + .p_n{
1113
+ margin-left: 24rpx;
1114
+ }
1115
+ }
1116
+ }
1117
+ }
1118
+ .brand_detail_box{
1119
+ padding: 60rpx 32rpx 32rpx 32rpx;
1120
+ font-size: 28rpx;
1121
+ color: #666666;
1122
+ }
995
1123
  }
996
1124
  </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: "52648",
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,