jufubao-mall 2.0.32 → 2.0.34

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.
Files changed (38) hide show
  1. package/package.json +1 -1
  2. package/src/components/CusCouponChose/CusCouponChose.vue +10 -13
  3. package/src/components/CusEnter/CusEnter.vue +9 -1
  4. package/src/components/CusListItem/CusListItem.vue +141 -0
  5. package/src/components/CusPoster/CusPoster.vue +17 -62
  6. package/src/components/CusPrice/CusPrice.vue +391 -0
  7. package/src/components/CusProduct/CusProduct.vue +576 -184
  8. package/src/components/CusShops/CusShops.vue +409 -209
  9. package/src/components/CusTab/CusTab.vue +159 -22
  10. package/src/components/CusVipList/CusVipList.vue +169 -0
  11. package/src/components/JfbMallConfirm/Api.js +1 -1
  12. package/src/components/JfbMallConfirm/Attr.js +167 -453
  13. package/src/components/JfbMallConfirm/JfbMallConfirm.vue +362 -162
  14. package/src/components/JfbMallConfirm/Mock.js +61 -43
  15. package/src/components/JfbMallConfirm/XdAddrDefault.vue +26 -13
  16. package/src/components/JfbMallConfirm/XdAddrOld.vue +9 -7
  17. package/src/components/JfbMallConfirm/XdListItem.vue +10 -2
  18. package/src/components/JfbMallConfirm/cusAttr/advanced.js +91 -0
  19. package/src/components/JfbMallConfirm/cusAttr/content.js +355 -0
  20. package/src/components/JfbMallConfirm/cusAttr/style.js +628 -0
  21. package/src/components/JfbMallConfirm/shopList.vue +84 -42
  22. package/src/components/JfbMallNetworkMedia/Api.js +94 -0
  23. package/src/components/JfbMallNetworkMedia/Attr.js +20 -0
  24. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMedia.vue +1167 -0
  25. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaLess.less +80 -0
  26. package/src/components/JfbMallNetworkMedia/JfbMallNetworkMediaMixin.js +30 -0
  27. package/src/components/JfbMallNetworkMedia/Mock.js +372 -0
  28. package/src/components/JfbMallNetworkMedia/cusAttr/advanced.js +60 -0
  29. package/src/components/JfbMallNetworkMedia/cusAttr/content.js +230 -0
  30. package/src/components/JfbMallNetworkMedia/cusAttr/font.js +123 -0
  31. package/src/components/JfbMallNetworkMedia/cusAttr/icon.js +257 -0
  32. package/src/components/JfbMallNetworkMedia/cusAttr/style.js +12 -0
  33. package/src/components/JfbMallProductInfo/cusAttr/content.js +2 -0
  34. package/src/components/JfbMallProductList/JfbMallProductList.vue +7 -1
  35. package/src/components/JfbMallProductList/XdCateV1.vue +0 -1
  36. package/src/components/JfbMallShop/JfbMallShop.vue +1 -1
  37. package/src/components/JfbMallShop/cusAttr/content.js +1 -1
  38. package/src/components/SkeProduct/SkeProduct.vue +88 -3
@@ -1,25 +1,27 @@
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>
3
+ <view class="shop_header">
4
+ <view style="display: flex;align-items: center;">
5
+ <xd-city-show
6
+ city-location-type="baidu"
7
+ @done="handleCityDone"
8
+ @onChange="handleCityChange"
9
+ color="#333"></xd-city-show>
10
+ </view>
11
+ <view class="shop-search">
12
+ <input
13
+ class="uni-input"
14
+ placeholder="输入门店名称"
15
+ :value="keyword"
16
+ @input="handleInput"
17
+ @confirm="handleInput"
18
+ />
19
+ <view>
20
+ <xd-font-icon icon="iconsousuo_mian" color="#999999" size="28"></xd-font-icon>
21
+ </view>
13
22
  </view>
14
23
  </view>
15
- <view class="chose_location">
16
- <xd-city-show
17
- city-location-type="baidu"
18
- @done="handleCityDone"
19
- @onChange="handleCityChange"
20
- color="#333"></xd-city-show>
21
- <view class="switch_city" @click="handleCityChange">切换城市 <xd-font-icon size="28" icon="iconxiangyou_xian"></xd-font-icon> </view>
22
- </view>
24
+
23
25
  <view class="shop_list" v-if="list && list.length">
24
26
  <view
25
27
  class="shop_item"
@@ -33,31 +35,38 @@
33
35
  <view class="shop_info">
34
36
  <view class="shop_name">
35
37
  <view class="_name">{{item.resource_shop_name}}</view>
36
- <view class="distance" v-if="item.distance">{{item.distance}}</view>
38
+ <!-- <view class="distance" v-if="item.distance">{{item.distance}}</view> -->
37
39
  </view>
38
40
  <view>
39
41
  <view class="shop_sub">
40
- <view class="_icon"><xd-font-icon size="32" icon="icondizhitubiao"></xd-font-icon></view>
41
- <view>{{item.address}}</view>
42
+ <!-- <view class="_icon"><xd-font-icon size="32" icon="icondizhitubiao"></xd-font-icon></view> -->
43
+ <view class="addr_text">{{item.address}}</view>
44
+ <view v-if="item.distance">{{item.distance}}</view>
42
45
  </view>
43
46
  <view class="shop_sub">
44
- <view class="_icon"><xd-font-icon size="32" icon="icondianhuatubiao"></xd-font-icon></view>
47
+ <view class="_icon"><xd-font-icon size="24" icon="icondianhuatubiao"></xd-font-icon></view>
45
48
  <view>{{item.phone}}</view>
46
49
  </view>
47
50
  </view>
48
51
  </view>
49
52
  </view>
50
53
  </view>
51
- <view v-else class="empty_data">该地区暂无可选门店</view>
54
+ <view v-else class="empty_data">
55
+ <xd-no-data :scaleSize="3" iconType="shop">
56
+ <view style="margin-top: -100rpx;">该地区暂无可选门店</view>
57
+ </xd-no-data>
58
+ </view>
52
59
  </view>
53
60
  </template>
54
61
  <script>
55
62
  import XdCityShow from "@/components/XdCityShowApi/XdCityShowApi"
56
63
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
64
+ import XdNoData from "@/components/XdNoData/XdNoData"
57
65
  export default {
58
66
  components: {
59
67
  XdCityShow,
60
- XdFontIcon
68
+ XdFontIcon,
69
+ XdNoData
61
70
  },
62
71
  props: {
63
72
  getCityInfoByLocation: {
@@ -102,26 +111,49 @@ export default {
102
111
  <style lang="less" scoped>
103
112
  .chose_shop_list{
104
113
  background: #F7F7F7;
105
- padding: 32rpx;
114
+ padding: 0 16rpx 16rpx;
106
115
  position: relative;
107
- height: calc(60vh - 164rpx);
116
+ height: 45vh;
108
117
  }
109
-
110
- .shop-search {
118
+ .shop_header{
111
119
  position: absolute;
112
- border:1px solid #eee;
113
120
  top: -80rpx;
114
- left: 30rpx;
115
- width: 400rpx;
116
- padding: 10rpx 20rpx;
121
+ left: 8rpx;
122
+ display: flex;
123
+ ::v-deep .xd-city__name-title{
124
+ color: #999999 !important;
125
+ font-size: 24rpx !important;
126
+ }
127
+ ::v-deep .xd-city__name-icon{
128
+ color: #999999 !important;
129
+
130
+ .xd-iconfont {
131
+ font-size: 24rpx !important;
132
+ }
133
+ }
134
+ }
135
+ .shop-search {
136
+ border:1px solid #f8f8f8;
137
+ width: 420rpx;
138
+ padding: 16rpx 32rpx;
117
139
  border-radius: 40rpx;
118
140
  background-color: #f8f8f8;
119
141
  display: flex;
120
142
  justify-content: flex-start;
121
143
  align-items: center;
144
+ margin-left: 8rpx;
145
+
146
+ // #ifdef MP-WEIXIN
147
+ padding: 8rpx 32rpx;
148
+ // #endif
149
+
150
+ ::v-deep .uni-input-placeholder{
151
+ color: #999999;
152
+ }
153
+
122
154
 
123
155
  & .uni-input {
124
- font-size: 28rpx;
156
+ font-size: 24rpx;
125
157
  flex: 1;
126
158
  color: #333;
127
159
  line-height: 36rpx;
@@ -155,23 +187,25 @@ export default {
155
187
  font-size: 28rpx;
156
188
  }
157
189
  .empty_data{
158
- line-height: 300rpx;
159
190
  text-align: center;
160
191
  font-size: 28rpx;
161
192
  color: #999999;
193
+ height: 100%;
162
194
  }
163
195
  .shop_list{
164
- height: calc(60vh - 164rpx);
196
+ height: 100%;
165
197
  overflow-y: auto;
198
+ padding-top: 16rpx;
166
199
  .shop_item{
167
200
  display: flex;
168
201
  background: #FFFFFF;
169
- padding: 20rpx;
202
+ padding: 16rpx;
170
203
  margin-bottom: 20rpx;
204
+ border-radius: 16rpx;
171
205
  }
172
206
  .shop_image{
173
- width: 200rpx;
174
- height: 200rpx;
207
+ width: 160rpx;
208
+ height: 160rpx;
175
209
  border: 1px solid #DDD;
176
210
  image{
177
211
  width: 100%;
@@ -183,15 +217,22 @@ export default {
183
217
  flex-direction: column;
184
218
  width: 200rpx;
185
219
  flex: 1;
186
- margin-left: 24rpx;
187
- justify-content: space-between;
220
+ margin-left: 16rpx;
221
+
222
+ .addr_text{
223
+ width: 420rpx;
224
+ padding-right: 20rpx;
225
+ overflow: hidden;
226
+ text-overflow: ellipsis;
227
+ white-space: nowrap;
228
+ }
188
229
  }
189
230
  .shop_name{
190
231
  display: flex;
191
232
  align-items: flex-start;
192
233
  justify-content: space-between;
193
234
  font-size: 32rpx;
194
- color: #242424;
235
+ color: #333333;
195
236
  ._name{
196
237
  flex: 1;
197
238
  width: 200rpx;
@@ -207,9 +248,10 @@ export default {
207
248
  }
208
249
  .shop_sub{
209
250
  display: flex;
251
+ align-items: center;
210
252
  color: #999999;
211
253
  font-size: 24rpx;
212
- margin-top: 20rpx;
254
+ margin-top: 16rpx;
213
255
  line-height: 1.6;
214
256
  ._icon{
215
257
  width: 40rpx;
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:Network
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ mapFnName: "getMallMediaProductContent",
10
+ title: "获取商品内容",
11
+ path: "/product/v1/:xnamespace/product/item/:product_id/content",
12
+ isRule: false,
13
+ params: {
14
+ xnamespace: ['xnamespace', 'string', '必选'],
15
+ product_id: ['product_id', 'string', '必选'],
16
+ },
17
+ isConsole: true,
18
+ disabled: true,
19
+ },
20
+ {
21
+ mapFnName: "getMallMediaProductBuyButton",
22
+ title: "获取商品下单按钮",
23
+ path: "/product/v1/:xnamespace/product/item/:product_id/buy-button",
24
+ isRule: false,
25
+ params: {
26
+ xnamespace: ['xnamespace', 'string', '必选'],
27
+ product_id: ['product_id', 'string', '必选'],
28
+ },
29
+ isConsole: true,
30
+ disabled: true,
31
+ },
32
+ {
33
+ mapFnName: "getMallMediaProductForm",
34
+ title: "单个表单数据",
35
+ path: "/product/v1/:xnamespace/product/item/:product_id/form-data",
36
+ isRule: false,
37
+ params: {
38
+ xnamespace: ['xnamespace', 'string', '必选'],
39
+ product_id: ['product_id', 'string', '必选'],
40
+ },
41
+ isConsole: true,
42
+ disabled: true,
43
+ },
44
+ {
45
+ mapFnName: 'getMallMediaProductList',
46
+ title: '获取商品列表',
47
+ path: '/product/v1/:xnamespace/product/search',
48
+ isRule: false,
49
+ params: {
50
+ xnamespace: ['path', "xnamespace", "必选"],
51
+ sort: ['排序', 'string', '必选'],
52
+ keyword: ['关键词', 'string', '必选'],
53
+ brand_ids: ['品牌ID,多个小写逗号隔开', 'string', '必选'],
54
+ filter_keys: ['过滤KEY,多个逗号隔开', 'string', '必选'],
55
+ city_code: ['城市CODE', 'string', '必选'],
56
+ custom_category_id: ['自定义分类ID', 'string', '必选'],
57
+ market_tags: ['营销标签 rec=推荐, hot=爆款, new=新品 多个逗号隔开', 'string', '必选'],
58
+ random_score_seed: ['随机排序因子, 分页时保证一样', 'string', '必选'],
59
+ page_size: ['page_size', 'string', '必选'],
60
+ page_token: ['page_token', 'string', '必选'],
61
+ },
62
+ isConsole: true,
63
+ disabled: true,
64
+ },
65
+ {
66
+ mapFnName: 'getMallMediaCategoryTree',
67
+ title: '分类 - 树列表',
68
+ path: '/product/v1/:xnamespace/category/tree',
69
+ isRule: false,
70
+ params: {
71
+ xnamespace: ['xnamespace', 'String', '必选'],
72
+ level: ['获取几层数据,默认:2', 'Number', '必选', 2],
73
+ root_category_id: ['父级分类,默认:0', 'Number', '必选', 0],
74
+ tag: ['分类标签', 'String', '选填']
75
+ },
76
+ isConsole: true,
77
+ disabled: true,
78
+ },
79
+ {
80
+ mapFnName: "nowMallMediaBuyPay",
81
+ title: "立即购买",
82
+ path: "/cart/v1/buy",
83
+ isRule: false,
84
+ data: {
85
+ namespace: ['namespace', 'String', '必选'],
86
+ product: {
87
+ product_id: ['商品Id', 'Number', true],
88
+ num: ['数量', 'Number', true, 1]
89
+ }
90
+ },
91
+ isConsole: true,
92
+ disabled: true
93
+ },
94
+ ];
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ import content from "./cusAttr/content";
4
+ import style from "./cusAttr/style";
5
+ import advanced from "./cusAttr/advanced";
6
+
7
+ /**
8
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
9
+ */
10
+ export default {
11
+ style: [],
12
+ content: (data, gValue, gColor, oldData={}) => {
13
+ return [
14
+ ...content(data, gValue, gColor, oldData),
15
+ ...style(data, gValue, gColor, oldData),
16
+ ...advanced(data)
17
+ ].filter(i=>i)
18
+ },
19
+ advanced: [],
20
+ };