jufubao-mall 2.0.27-beta3 → 2.0.27-beta4

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.27-beta3",
3
+ "version": "2.0.27-beta4",
4
4
  "private": false,
5
5
  "description": "聚福宝商城业务组件插件包",
6
6
  "main": "index.js",
@@ -73,50 +73,52 @@
73
73
  </view>
74
74
  </view>
75
75
  </view>
76
- <!-- 配送信息 -->
77
- <view v-if="shop.support_delivery_method_options.length" class="delivery">
78
- <xd-list-item v-if="shop.sub_show_delivery_method==='Y'" label="配送方式" showRight paddingLR="48rpx" showBottom size="large">
79
- <picker @change="e => bindPickerChange(e, shopIndex)"
80
- range-key="label" :range="shop.support_delivery_method_options"
81
- :value="shop.support_delivery_method_options.findIndex(ll => ll.value == shop.deliveryPickValue)"
82
- >
83
- <view style="color: #333333;">{{shop.deliveryPickLabel || "选择配送方式"}}</view>
84
- </picker>
76
+ <!-- 配送信息 -->
77
+ <view v-if="shop.support_delivery_method_options.length" class="delivery">
78
+ <xd-list-item v-if="shop.sub_show_delivery_method==='Y'" label="配送方式" showRight paddingLR="48rpx" paddingTB="24rpx" showBottom size="large">
79
+ <picker @change="e => bindPickerChange(e, shopIndex)"
80
+ range-key="label" :range="shop.support_delivery_method_options"
81
+ :value="shop.support_delivery_method_options.findIndex(ll => ll.value == shop.deliveryPickValue)"
82
+ >
83
+ <view style="color: #333333;">{{shop.deliveryPickLabel || "选择配送方式"}}</view>
84
+ </picker>
85
+ </xd-list-item>
86
+ <template>
87
+ <xd-list-item v-if="shop.sub_show_delivery_price==='Y'" label="配送费用" showBottom paddingLR="48rpx" paddingTB="24rpx">
88
+ <xd-unit :price="shop.user_logistics_amount_origin" :fontSize="28" :isOld="false"></xd-unit>
89
+ </xd-list-item>
90
+ <xd-list-item v-if="shop.deliveryPickValue === 'samecity' && shop.is_support_delivery == 'Y'"
91
+ :label="shop.time_label" showRight paddingLR="48rpx" paddingTB="24rpx" showBottom
92
+ @click="toSetSelectTime(shopIndex,shop)">
93
+ {{shop.selectTime ? shop.selectTime.dateTime : "请选择"}}
85
94
  </xd-list-item>
86
- <view>
87
- <xd-list-item v-if="shop.sub_show_delivery_price==='Y'" label="配送费用" showBottom paddingLR="48rpx">
88
- <xd-unit :price="shop.user_logistics_amount_origin" :isOld="false"></xd-unit>
95
+ <template v-if="shop.deliveryPickValue === 'takeout'" >
96
+ <!-- 配送方式:到店自提 -->
97
+ <xd-list-item label="选择门店" show-right paddingLR="48rpx" paddingTB="24rpx" showBottom @click="toSetSelectShop(shopIndex)">
98
+ <view style="text-overflow: ellipsis;overflow: hidden;white-space: nowrap;width: 460rpx;text-align: right;">
99
+ {{shop.choseShop ? shop.choseShop.resource_shop_name : "请选择"}}
100
+ </view>
89
101
  </xd-list-item>
90
- <xd-list-item v-if="shop.deliveryPickValue === 'samecity' && shop.is_support_delivery == 'Y'" :label="shop.time_label" showRight paddingLR="48rpx" @click="toSetSelectTime(shopIndex,shop)">
91
- {{shop.selectTime ? shop.selectTime.dateTime : "请选择"}}
102
+ <xd-list-item v-if="shop.takeoutTimeList" :label="shop.time_label" show-right paddingLR="48rpx" paddingTB="24rpx" @click="toSetTakeoutTime(shopIndex,shop)">
103
+ <view style="">{{shop.takeoutTime ? shop.takeoutTime.dateTime : '请选择'}}</view>
92
104
  </xd-list-item>
93
- <view v-if="shop.deliveryPickValue === 'takeout'" >
94
- <!-- 配送方式:到店自提 -->
95
- <xd-list-item label="选择门店" show-right paddingLR="48rpx" @click="toSetSelectShop(shopIndex)">
96
- <view style="color: #999999;">
97
- {{shop.choseShop ? shop.choseShop.resource_shop_name : "请选择"}}
98
- </view>
99
- </xd-list-item>
100
- <xd-list-item v-if="shop.takeoutTimeList" :label="shop.time_label" show-right paddingLR="48rpx" @click="toSetTakeoutTime(shopIndex,shop)">
101
- <view style="color: #999999;">{{shop.takeoutTime ? shop.takeoutTime.dateTime : '请选择'}}</view>
102
- </xd-list-item>
103
- </view>
104
- </view>
105
- </view>
106
- <!-- <xd-list-item v-if="shop.delivery_message" :label="shop.delivery_message" paddingLR="48rpx" size="large"></xd-list-item> -->
107
- <view v-if="showLogisticsTip === 'Y' && shop.deliveryPickValue === 'logistics'" class="logistics_tip">
108
- {{logisticsTipText}}
109
- </view>
110
- <view v-if="shop.is_support_delivery == 'N'" :style="{background:bgColor,color:warningColor}" class="err_message">
111
- {{shop.message}}
112
- </view>
105
+ </template>
106
+ </template>
107
+ </view>
108
+ <!-- <xd-list-item v-if="shop.delivery_message" :label="shop.delivery_message" paddingLR="48rpx" size="large"></xd-list-item> -->
109
+ <view v-if="showLogisticsTip === 'Y' && shop.deliveryPickValue === 'logistics'" class="logistics_tip">
110
+ {{logisticsTipText}}
111
+ </view>
112
+ <view v-if="shop.is_support_delivery == 'N'" :style="{background:bgColor,color:warningColor}" class="err_message">
113
+ {{shop.message}}
114
+ </view>
113
115
  </view>
114
116
  </view>
115
117
 
116
118
  <!-- 订单备注信息 -->
117
119
  <view v-if="showOrderComment == 'Y'" class="order_comment section" :style=[blockSectionStyleComp]>
118
120
  <view class="title">备注信息</view>
119
- <input v-model="comment" class="order_market" :maxlength="200" placeholder="建议留言前先与平台沟通确认,最多只支持200字"/>
121
+ <input v-model="comment" class="order_market" :maxlength="50" placeholder="建议留言前先与平台沟通确认,最多只支持50字"/>
120
122
  </view>
121
123
  <!-- 展示vip -->
122
124
  <view v-if="is_show_vip_card_list === 'Y'" class="section" style="overflow: hidden;" :style=[blockSectionStyleComp]>
@@ -189,7 +191,7 @@
189
191
  </xd-list-item>
190
192
  </view>
191
193
  </view>
192
- <view :style="fixedBottomPlaceholder"></view>
194
+ <view :style=[fixedBottomPlaceholder]></view>
193
195
  <!-- 靠低支付, 增加淘福客布局 -->
194
196
  <view class="fixe_bottom" :style="prod_bottom">
195
197
  <view class="fixed_bottom_body" :style="[bottomBoxStyle]">
@@ -311,7 +313,7 @@
311
313
  ></xd-select-time>
312
314
  <xd-down-drawer
313
315
  :show.sync="showShopList"
314
- height="60vh"
316
+ height="45vh"
315
317
  >
316
318
  <template v-if="showShopList">
317
319
  <view :style="{height: '100rpx'}"></view>
@@ -456,6 +458,8 @@
456
458
  showCouponChose: false,
457
459
  couponList: [],
458
460
 
461
+ fixedBottomBodyHeight: 0,
462
+
459
463
  //面板
460
464
  xnamespace: "",
461
465
  showBuyer: "",
@@ -612,8 +616,9 @@
612
616
  return flat;
613
617
  },
614
618
  fixedBottomPlaceholder() {
615
- let bottomHeight = this.bottomPadding.top + this.bottomPadding.bottom;
616
- return this.fixedStyle({paddingBottom: 40 + bottomHeight, zIndex: 110}, 'bottom', false);
619
+ return {
620
+ height: (this.fixedBottomBodyHeight + 14) + 'px'
621
+ }
617
622
  },
618
623
  prod_bottom() {
619
624
  return this.fixedStyle({height: 0, zIndex: 111});
@@ -798,11 +803,11 @@
798
803
  this.showPrice = "Y"
799
804
  }
800
805
 
801
- let contStyle = this.getRelationStatus(container,'cont_style',{ sectionHeightStatus: ['sectionHeight'], lrPaddingStatus: ['lrPadding'] }, `{"spacing":20,"margin":{"bottom":0,"top":0,"left":0,"right":0},"backgroundColor": "rgba(245, 245, 245, 1)"}`);
806
+ let contStyle = this.getRelationStatus(container,'cont_style',{ sectionHeightStatus: ['sectionHeight'], lrPaddingStatus: ['lrPadding'] }, `{"spacing":16,"margin":{"bottom":0,"top":0,"left":16,"right":16},"backgroundColor": "rgba(245, 245, 245, 1)"}`);
802
807
  this.sectionHeight = gCPVal(container, 'sectionHeight', [16], {sKey: "sectionHeightStatus", fields: ['sectionHeight'], cusFields: ['cont_style', 'spacing', contStyle]});
803
808
  this.lrPadding = gCPVal(container, 'lrPadding', [0], {sKey:'lrPaddingStatus',fields:['lrPadding'],isPMR: true, cusFields: ['cont_style', 'margin', contStyle]})
804
809
 
805
- let addrStyle = this.getRelationStatus(container,'addr_style',{ addrLrPaddingStatus: ['addrLrPadding'] }, `{"margin":{"bottom":0,"top":0,"left":0,"right":0}}`);
810
+ let addrStyle = this.getRelationStatus(container,'addr_style',{ addrLrPaddingStatus: ['addrLrPadding'] }, `{"margin":{"bottom":0,"top":16,"left":16,"right":16}}`);
806
811
  this.addrLrPadding = gCPVal(container, 'addrLrPadding', [0], {sKey:'addrLrPaddingStatus',fields:['addrLrPadding'],isPMR: true, cusFields: ['addr_style', 'margin', addrStyle]});
807
812
 
808
813
  this.brandTextColor = gCPVal(container, 'brandTextColor', [this.mainColor], {sKey: "brandTextStatus", fields: ['brandTextColor']})
@@ -850,6 +855,21 @@
850
855
  if(this.skipToPay === 'N'){
851
856
  this.hasAlertCardChose = true;
852
857
  }
858
+ this.$nextTick(() => {
859
+ setTimeout(() => {
860
+ this.getDomReadyRect();
861
+ }, 200)
862
+ });
863
+ },
864
+ getDomReadyRect(){
865
+ return new Promise((resolve, reject) => {
866
+ let query = uni.createSelectorQuery();
867
+ query.select('.fixed_bottom_body').boundingClientRect(rect => {
868
+ console.log('getDomReadyRect', rect);
869
+ this.fixedBottomBodyHeight = rect.height;
870
+ resolve(rect);
871
+ }).exec();
872
+ });
853
873
  },
854
874
  //选择元宝
855
875
  toChoseWallet(){
@@ -1629,7 +1649,7 @@
1629
1649
  color: #999999;
1630
1650
  }
1631
1651
  .logistics_tip{
1632
- padding: 24rpx 48rpx;
1652
+ padding: 0 48rpx 24rpx;
1633
1653
  font-size: 24rpx;
1634
1654
  color: var(--g-theme-dangerColor);
1635
1655
  }
@@ -1637,6 +1657,11 @@
1637
1657
  padding: 20rpx 48rpx;
1638
1658
  font-size: 24rpx;
1639
1659
  }
1660
+ .delivery{
1661
+ ::v-deep .xd-my-list-item:last-child{
1662
+ border-bottom: none !important;
1663
+ }
1664
+ }
1640
1665
  .shop_name{
1641
1666
  padding: 24rpx 48rpx;
1642
1667
  border-bottom: 1px solid #eee;
@@ -93,7 +93,7 @@
93
93
 
94
94
  .icon_wrap{
95
95
  width: 44rpx;
96
- padding: 8rpx 0 0 0rpx;
96
+ padding: 8rpx 12rpx 0 0rpx;
97
97
  box-sizing: border-box;
98
98
  }
99
99
  }
@@ -103,6 +103,8 @@ export default {
103
103
  .my-list_label{
104
104
  font-size: 28rpx;
105
105
  font-weight: 400;
106
+ height: 40rpx;
107
+ line-height: 40rpx;
106
108
  }
107
109
  }
108
110
  &.size_default{
@@ -110,6 +112,8 @@ export default {
110
112
  .my-list_label{
111
113
  font-size: 28rpx;
112
114
  font-weight: 400;
115
+ height: 40rpx;
116
+ line-height: 40rpx;
113
117
  }
114
118
  }
115
119
  &.size_small{
@@ -179,7 +179,7 @@ export default function (data, gValue,gColor,oldData){
179
179
  key: 'addr_style',
180
180
  gValue,
181
181
  fields: { addrLrPaddingStatus: ['addrLrPadding'] },
182
- sValue: `{"margin":{"bottom":0,"top":0,"left":0,"right":0}}`,
182
+ sValue: `{"margin":{"bottom":0,"top":16,"left":16,"right":16}}`,
183
183
  }),
184
184
  labelInline:true,
185
185
  isTplRef: true, //内容引用模版被禁用
@@ -209,7 +209,7 @@ export default function (data, gValue,gColor,oldData){
209
209
  key: 'cont_style',
210
210
  gValue,
211
211
  fields: { sectionHeightStatus: ['sectionHeight'], lrPaddingStatus: ['lrPadding'] },
212
- sValue: `{"spacing":20,"margin":{"bottom":0,"top":0,"left":0,"right":0},"backgroundColor": "rgba(245, 245, 245, 1)"}`,
212
+ sValue: `{"spacing":16,"margin":{"bottom":0,"top":0,"left":16,"right":16},"backgroundColor": "rgba(245, 245, 245, 1)"}`,
213
213
  }),
214
214
  labelInline:true,
215
215
  isTplRef: true, //内容引用模版被禁用
@@ -1,25 +1,25 @@
1
1
  <template>
2
2
  <view class="chose_shop_list">
3
- <view class="shop-search">
4
- <input
5
- class="uni-input"
6
- placeholder="输入门店名称"
7
- :value="keyword"
8
- @input="handleInput"
9
- @confirm="handleInput"
10
- />
11
- <view>
12
- <xd-font-icon icon="iconsousuo_mian" color="#666" size="32"></xd-font-icon>
13
- </view>
14
- </view>
15
- <view class="chose_location">
3
+ <view class="shop_header">
16
4
  <xd-city-show
17
5
  city-location-type="baidu"
18
6
  @done="handleCityDone"
19
7
  @onChange="handleCityChange"
20
8
  color="#333"></xd-city-show>
21
- <view class="switch_city" @click="handleCityChange">切换城市 <xd-font-icon size="28" icon="iconxiangyou_xian"></xd-font-icon> </view>
9
+ <view class="shop-search">
10
+ <input
11
+ class="uni-input"
12
+ placeholder="输入门店名称"
13
+ :value="keyword"
14
+ @input="handleInput"
15
+ @confirm="handleInput"
16
+ />
17
+ <view>
18
+ <xd-font-icon icon="iconsousuo_mian" color="#999999" size="32"></xd-font-icon>
19
+ </view>
20
+ </view>
22
21
  </view>
22
+
23
23
  <view class="shop_list" v-if="list && list.length">
24
24
  <view
25
25
  class="shop_item"
@@ -33,31 +33,38 @@
33
33
  <view class="shop_info">
34
34
  <view class="shop_name">
35
35
  <view class="_name">{{item.resource_shop_name}}</view>
36
- <view class="distance" v-if="item.distance">{{item.distance}}</view>
36
+ <!-- <view class="distance" v-if="item.distance">{{item.distance}}</view> -->
37
37
  </view>
38
38
  <view>
39
39
  <view class="shop_sub">
40
- <view class="_icon"><xd-font-icon size="32" icon="icondizhitubiao"></xd-font-icon></view>
41
- <view>{{item.address}}</view>
40
+ <!-- <view class="_icon"><xd-font-icon size="32" icon="icondizhitubiao"></xd-font-icon></view> -->
41
+ <view class="addr_text">{{item.address}}</view>
42
+ <view v-if="item.distance">{{item.distance}}</view>
42
43
  </view>
43
44
  <view class="shop_sub">
44
- <view class="_icon"><xd-font-icon size="32" icon="icondianhuatubiao"></xd-font-icon></view>
45
+ <view class="_icon"><xd-font-icon size="24" icon="icondianhuatubiao"></xd-font-icon></view>
45
46
  <view>{{item.phone}}</view>
46
47
  </view>
47
48
  </view>
48
49
  </view>
49
50
  </view>
50
51
  </view>
51
- <view v-else class="empty_data">该地区暂无可选门店</view>
52
+ <view v-else class="empty_data">
53
+ <xd-no-data :scaleSize="3" iconType="shop">
54
+ <view style="margin-top: -100rpx;">该地区暂无可选门店</view>
55
+ </xd-no-data>
56
+ </view>
52
57
  </view>
53
58
  </template>
54
59
  <script>
55
60
  import XdCityShow from "@/components/XdCityShowApi/XdCityShowApi"
56
61
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
62
+ import XdNoData from "@/components/XdNoData/XdNoData"
57
63
  export default {
58
64
  components: {
59
65
  XdCityShow,
60
- XdFontIcon
66
+ XdFontIcon,
67
+ XdNoData
61
68
  },
62
69
  props: {
63
70
  getCityInfoByLocation: {
@@ -102,23 +109,42 @@ export default {
102
109
  <style lang="less" scoped>
103
110
  .chose_shop_list{
104
111
  background: #F7F7F7;
105
- padding: 32rpx;
112
+ padding: 16rpx;
106
113
  position: relative;
107
- height: calc(60vh - 164rpx);
114
+ height: 45vh;
108
115
  }
116
+ .shop_header{
117
+ position: absolute;
118
+ top: -80rpx;
119
+ left: 8rpx;
120
+ display: flex;
121
+ ::v-deep .xd-city__name-title{
122
+ color: #999999 !important;
123
+ font-size: 24rpx !important;
124
+ }
125
+ ::v-deep .xd-city__name-icon{
126
+ color: #999999 !important;
109
127
 
128
+ .xd-iconfont {
129
+ font-size: 28rpx !important;
130
+ }
131
+ }
132
+ }
110
133
  .shop-search {
111
- position: absolute;
112
134
  border:1px solid #eee;
113
- top: -80rpx;
114
- left: 30rpx;
115
- width: 400rpx;
135
+ width: 420rpx;
116
136
  padding: 10rpx 20rpx;
117
137
  border-radius: 40rpx;
118
138
  background-color: #f8f8f8;
119
139
  display: flex;
120
140
  justify-content: flex-start;
121
141
  align-items: center;
142
+ margin-left: 8rpx;
143
+
144
+ ::v-deep .uni-input-placeholder{
145
+ color: #999999;
146
+ }
147
+
122
148
 
123
149
  & .uni-input {
124
150
  font-size: 28rpx;
@@ -155,23 +181,24 @@ export default {
155
181
  font-size: 28rpx;
156
182
  }
157
183
  .empty_data{
158
- line-height: 300rpx;
159
184
  text-align: center;
160
185
  font-size: 28rpx;
161
186
  color: #999999;
187
+ height: 100%;
162
188
  }
163
189
  .shop_list{
164
- height: calc(60vh - 164rpx);
190
+ height: 100%;
165
191
  overflow-y: auto;
166
192
  .shop_item{
167
193
  display: flex;
168
194
  background: #FFFFFF;
169
- padding: 20rpx;
195
+ padding: 16rpx;
170
196
  margin-bottom: 20rpx;
197
+ border-radius: 16rpx;
171
198
  }
172
199
  .shop_image{
173
- width: 200rpx;
174
- height: 200rpx;
200
+ width: 160rpx;
201
+ height: 160rpx;
175
202
  border: 1px solid #DDD;
176
203
  image{
177
204
  width: 100%;
@@ -185,13 +212,21 @@ export default {
185
212
  flex: 1;
186
213
  margin-left: 24rpx;
187
214
  justify-content: space-between;
215
+
216
+ .addr_text{
217
+ width: 420rpx;
218
+ padding-right: 20rpx;
219
+ overflow: hidden;
220
+ text-overflow: ellipsis;
221
+ white-space: nowrap;
222
+ }
188
223
  }
189
224
  .shop_name{
190
225
  display: flex;
191
226
  align-items: flex-start;
192
227
  justify-content: space-between;
193
228
  font-size: 32rpx;
194
- color: #242424;
229
+ color: #333333;
195
230
  ._name{
196
231
  flex: 1;
197
232
  width: 200rpx;
@@ -207,6 +242,7 @@ export default {
207
242
  }
208
243
  .shop_sub{
209
244
  display: flex;
245
+ align-items: center;
210
246
  color: #999999;
211
247
  font-size: 24rpx;
212
248
  margin-top: 20rpx;