jufubao-base 1.0.195 → 1.0.196-beta101

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 (26) hide show
  1. package/commands.js +1 -1
  2. package/package.json +1 -1
  3. package/src/ICONS.js +1128 -0
  4. package/src/components/JfbBaseAddress/Attr.js +109 -1
  5. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +153 -77
  6. package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
  7. package/src/components/JfbBaseFastLink/Attr.js +24 -8
  8. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +37 -21
  9. package/src/components/JfbBaseFooter/Attr.js +141 -75
  10. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
  11. package/src/components/JfbBaseOrderDetail/Attr.js +147 -65
  12. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +96 -46
  13. package/src/components/JfbBaseOrderList/Attr.js +59 -2
  14. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
  15. package/src/components/JfbBaseOrderList/Mock.js +3 -0
  16. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
  17. package/src/components/JfbBasePoster/Attr.js +8 -0
  18. package/src/components/JfbBasePoster/JfbBasePoster.vue +3 -0
  19. package/src/components/JfbBaseUserCenter/Attr.js +308 -52
  20. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +138 -31
  21. package/src/components/JfbBaseUserInfo/Attr.js +194 -33
  22. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +80 -44
  23. package/src/components/JfbBaseUserOrder/Attr.js +322 -28
  24. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +205 -54
  25. package/src/components/JfbBaseWallet/Attr.js +376 -8
  26. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +185 -49
@@ -14,21 +14,29 @@
14
14
  </view>
15
15
  <!-- #endif -->
16
16
  <view class="jfb-base-wallet__body">
17
+ <view class="x-line"></view>
17
18
  <template v-if="showContent">
18
- <view class="jfb-base-wallet__body-title">我的账户</view>
19
- <view class="jfb-base-wallet__body-type" v-if="showType.length > 0">
20
- <view
21
- :style="{marginRight: index === showType.length - 1 ? '0' : '36rpx',}"
22
- v-for="(item, index) in showType"
23
- @click="handleJumpTo(item)"
24
- :key="index"
25
- class="jfb-base-wallet__body-type-item"
26
- >
27
- <XdFontIcon :icon="item.icon"></XdFontIcon>
28
- <view>{{ item.label }}</view>
19
+ <view :style="[{
20
+ margin:marginComp,
21
+ padding:paddingComp,
22
+ backgroundColor:bodyBgColor,
23
+ borderRadius:bodyRadius+'rpx'
24
+ }]">
25
+ <view class="jfb-base-wallet__body-title" :style="[titleStyleComp]">{{accountName}}</view>
26
+ <view class="jfb-base-wallet__body-type" :style="[contStyleComp]" v-if="showType.length > 0">
27
+ <view
28
+ :style="[itemStyleComp]"
29
+ v-for="(item, index) in showType"
30
+ @click="handleJumpTo(item)"
31
+ :key="index"
32
+ class="jfb-base-wallet__body-type-item"
33
+ >
34
+ <xd-font-icon :icon="item.icon" :color="iconColor"></xd-font-icon>
35
+ <view>{{ item.label }}</view>
36
+ </view>
29
37
  </view>
38
+ <view v-else class="jfb-base-wallet__body-type notice" :style="{backgroundColor:backgroundColor, color:warningColor}">我的账户无配置数据,在正式环境将不显示改模块</view>
30
39
  </view>
31
- <view v-else class="jfb-base-wallet__body-type notice" :style="{backgroundColor:backgroundColor, color:warningColor}">我的账户无配置数据,在正式环境将不显示改模块</view>
32
40
  </template>
33
41
  </view>
34
42
  </view>
@@ -72,6 +80,38 @@ export default {
72
80
  isCard: "Y",
73
81
  isYuanbao: "Y",
74
82
  isIntegral: "Y",
83
+ accountName:'我的账户',
84
+
85
+ //标题
86
+ titleStyle:{},
87
+ titleMargin:{},
88
+
89
+ //轮廓
90
+ bodyRadius:'0',
91
+ bodyMargin:{},
92
+ bodyPadding:{},
93
+ rowSpacing:10,
94
+ columnSpacing:36,
95
+ bodyBgColor:'rgba(0,0,0,0)',
96
+
97
+ //content
98
+ contPadding:{},
99
+ contBgColor:'rgba(0,0,0,0)',
100
+ contRadius:'10',
101
+ contShadow:'0 0 0 rgba(0,0,0,0)',
102
+ contBorder:{},
103
+
104
+ //item
105
+ itemPadding:{},
106
+ itemBgColor:'rgba(0,0,0,0)',
107
+ itemRadius:'10',
108
+ itemShadow: '0 0 0 rgba(0,0,0,0)',
109
+ itemBorder:{},
110
+ itemPStyle:{},
111
+ iconColor: '#333',
112
+
113
+
114
+ //高级
75
115
  cardPath: "",
76
116
  yuanbaoPath: "",
77
117
  integralPath: "",
@@ -163,6 +203,15 @@ export default {
163
203
  },
164
204
  },
165
205
  computed: {
206
+ titleMarginComp(){
207
+ let str = `${this.checkValue(this.titleMargin.top, 0)}rpx`;
208
+ str = `${str} ${this.checkValue(this.titleMargin.right, 0)}rpx`;
209
+ str = `${str} ${this.checkValue(this.titleMargin.bottom, 0)}rpx`;
210
+ str = `${str} ${this.checkValue(this.titleMargin.left, 0)}rpx`;
211
+ return {
212
+ padding: str
213
+ }
214
+ },
166
215
  showType() {
167
216
  this.typeList.forEach((item1, index) => {
168
217
  const item2 = this.newLabel.find((item) => item.value === item1.value);
@@ -177,7 +226,90 @@ export default {
177
226
  showContent(){
178
227
  if(this.$configProject.isPreview) return true;
179
228
  return this.showType.length > 0;
180
- }
229
+ },
230
+
231
+ titleStyleComp(){
232
+ return {
233
+ fontSize: this.titleStyle.fontSize || '28rpx',
234
+ color: `${this.titleStyle.color || '#333'}`,
235
+ fontWeight: `${this.titleStyle.fontWeight || 'normal'}`,
236
+ marginBottom: `${this.rowSpacing}rpx`,
237
+ ...this.titleMarginComp
238
+ }
239
+ },
240
+
241
+ marginComp() {
242
+ let str = `${this.checkValue(this.bodyMargin.top, 0)}rpx`;
243
+ str = `${str} ${this.checkValue(this.bodyMargin.right, 0)}rpx`;
244
+ str = `${str} ${this.checkValue(this.bodyMargin.bottom, 0)}rpx`;
245
+ str = `${str} ${this.checkValue(this.bodyMargin.left, 0)}rpx`;
246
+ return str
247
+ },
248
+
249
+ paddingComp() {
250
+ let str = `${this.checkValue(this.bodyPadding.top, 20)}rpx`;
251
+ str = `${str} ${this.checkValue(this.bodyPadding.right, 20)}rpx`;
252
+ str = `${str} ${this.checkValue(this.bodyPadding.bottom, 20)}rpx`;
253
+ str = `${str} ${this.checkValue(this.bodyPadding.left, 20)}rpx`;
254
+ return str
255
+ },
256
+
257
+ contStyleComp(){
258
+ let str = `${this.checkValue(this.contPadding.top, 32)}rpx`;
259
+ str = `${str} ${this.checkValue(this.contPadding.right, 48)}rpx`;
260
+ str = `${str} ${this.checkValue(this.contPadding.bottom, 32)}rpx`;
261
+ str = `${str} ${this.checkValue(this.contPadding.left, 48)}rpx`;
262
+ let border = {
263
+ borderWidth: '2rpx',
264
+ borderStyle: 'solid',
265
+ borderColor: '#eee',
266
+ }
267
+ if(this.contBorder && this.contBorder.type === 'Y') {
268
+ let value = this.contBorder.value || {};
269
+ if(value.color) border.borderColor = value.color;
270
+ if(value.style) border.borderStyle = value.style;
271
+ if(value.width) border.borderWidth = value.width + 'rpx';
272
+ }
273
+
274
+ return {
275
+ padding: str,
276
+ backgroundColor: this.contBgColor,
277
+ borderRadius: this.contRadius + 'rpx',
278
+ boxShadow: this.contShadow,
279
+ ...border,
280
+ }
281
+ },
282
+
283
+ itemStyleComp(){
284
+ let str = `${this.checkValue(this.itemPadding.top, 20)}rpx`;
285
+ str = `${str} ${this.checkValue(this.itemPadding.right, 0)}rpx`;
286
+ str = `${str} ${this.checkValue(this.itemPadding.bottom, 20)}rpx`;
287
+ str = `${str} ${this.checkValue(this.itemPadding.left, 0)}rpx`;
288
+
289
+ let border = {
290
+ borderWidth: '2rpx',
291
+ borderStyle: 'solid',
292
+ borderColor: '#eee',
293
+ }
294
+ if(this.itemBorder && this.itemBorder.type === 'Y') {
295
+ let value = this.itemBorder.value || {};
296
+ if(value.color) border.borderColor = value.color;
297
+ if(value.style) border.borderStyle = value.style;
298
+ if(value.width) border.borderWidth = value.width + 'rpx';
299
+ }
300
+ if(this.itemPStyle.color !== undefined) this.iconColor =this.itemPStyle.color
301
+ return {
302
+ padding: str,
303
+ backgroundColor: this.itemBgColor,
304
+ borderRadius: this.itemRadius + 'rpx',
305
+ marginRight: this.columnSpacing + 'rpx',
306
+ boxShadow: this.itemShadow,
307
+ fontSize: this.itemPStyle.fontSize || '28rpx',
308
+ color: `${this.itemPStyle.color || '#333'}`,
309
+ fontWeight: `${this.itemPStyle.fontWeight || 'normal'}`,
310
+ ...border
311
+ }
312
+ },
181
313
  },
182
314
  created() {
183
315
  this.backgroundColor = Color(this.warningColor).alpha(0.2).toString();
@@ -196,34 +328,43 @@ export default {
196
328
  init(container) {
197
329
  this.newLabel = getContainerPropsValue(container, "content.newLabel", []);
198
330
  this.isCard = getContainerPropsValue(container, "content.isCard", "Y");
199
- this.isYuanbao = getContainerPropsValue(
200
- container,
201
- "content.isYuanbao",
202
- "Y"
203
- );
204
- this.isIntegral = getContainerPropsValue(
205
- container,
206
- "content.isIntegral",
207
- "Y"
208
- );
209
- this.cardPath = getContainerPropsValue(container, "content.cardPath", {
210
- value: "",
211
- }).value;
212
-
213
- this.yuanbaoPath = getContainerPropsValue(
214
- container,
215
- "content.yuanbaoPath",
216
- { value: "" }
217
- ).value;
218
-
219
- this.integralPath = getContainerPropsValue(
220
- container,
221
- "content.integralPath",
222
- { value: "" }
223
- ).value;
331
+ this.isYuanbao = getContainerPropsValue(container, "content.isYuanbao", "Y");
332
+ this.isIntegral = getContainerPropsValue(container, "content.isIntegral", "Y");
333
+ this.accountName = getContainerPropsValue(container, "content.accountName", "我的账户");
334
+ this.rowSpacing = Number(getContainerPropsValue(container, "content.rowSpacing", 10));
335
+ this.columnSpacing = Number(getContainerPropsValue(container, "content.columnSpacing", 36));
336
+ this.bodyBgColor = getContainerPropsValue(container, "content.bodyBgColor", 'rgba(0,0,0,0)');
337
+ this.bodyPadding = getContainerPropsValue(container, "content.bodyPadding", {});
338
+ this.bodyMargin = getContainerPropsValue(container, "content.bodyMargin", {});
339
+ this.bodyRadius = getContainerPropsValue(container, "content.bodyRadius", '0');
340
+
341
+ //标题
342
+ this.titleStyle = getContainerPropsValue(container, 'content.titleStyle', {});
343
+ this.titleMargin = getContainerPropsValue(container, 'content.titleMargin', {})
344
+
345
+ //content
346
+ this.contPadding = getContainerPropsValue(container, "content.contPadding", {});
347
+ this.contBgColor = getContainerPropsValue(container, "content.contBgColor", 'rgba(0,0,0,0)');
348
+ this.contRadius = getContainerPropsValue(container, "content.contRadius", '10');
349
+ this.contBorder = getContainerPropsValue(container, "content.contBorder", {});
350
+ this.contShadow = this.getXdShadow({width:20, color:'rgba(0,0,0,.3)'},getContainerPropsValue(container, 'content.contShadow', {}))
351
+
352
+
353
+ //item
354
+ this.itemPadding = getContainerPropsValue(container, 'content.itemPadding', {});
355
+ this.itemBgColor = getContainerPropsValue(container, 'content.itemBgColor', 'rgba(0,0,0,0)');
356
+ this.itemRadius = getContainerPropsValue(container, 'content.itemRadius', '10');
357
+ this.itemShadow = this.getXdShadow({width:20, color:'rgba(0,0,0,.3)'},getContainerPropsValue(container, 'content.itemShadow', {}))
358
+ this.itemBorder = getContainerPropsValue(container, "content.itemBorder", {});
359
+ this.itemPStyle = getContainerPropsValue(container, "content.itemStyle", {});
360
+
361
+ //高级
362
+ this.cardPath = getContainerPropsValue(container, "content.cardPath", {value: "",}).value;
363
+ this.yuanbaoPath = getContainerPropsValue(container, "content.yuanbaoPath", { value: "" }).value;
364
+ this.integralPath = getContainerPropsValue(container, "content.integralPath", { value: "" }).value;
224
365
  },
225
366
  handleJumpTo(item) {
226
- console.log(item, "ppppp");
367
+ if(this.$configProject.isPreview) return;
227
368
  switch (item.value) {
228
369
  case "card":
229
370
  this.$xdUniHelper.navigateTo({
@@ -257,22 +398,20 @@ export default {
257
398
  .jfb-base-wallet {
258
399
  &__body {
259
400
  &-title {
260
- padding: 20rpx;
401
+ min-height: 64rpx;
402
+ line-height: 64rpx;
261
403
  }
262
404
  &-type {
263
405
  display: flex;
264
406
  border-radius: 20rpx;
265
407
  background: rgba(255, 255, 255, 1);
266
408
  border: 1rpx solid rgba(238, 238, 238, 1);
267
- padding: 32rpx 48rpx 32rpx 48rpx;
268
- margin: 0 20rpx 0;
269
409
 
270
410
  &.notice {
271
411
  font-size: 26rpx;
272
412
  }
273
413
 
274
414
  &-item {
275
- color: #999999;
276
415
  flex: 1;
277
416
  display: flex;
278
417
  flex-direction: column;
@@ -280,12 +419,9 @@ export default {
280
419
  justify-content: center;
281
420
  font-size: 24rpx;
282
421
  border: 2rpx solid #eeeeee;
283
- border-radius: 16rpx;
284
- background: #ffffff;
285
- padding: 16rpx 0;
286
- margin-right: 36rpx;
287
- & > view:nth-child(2) {
288
- margin-top: 12rpx;
422
+
423
+ &:last-child{
424
+ margin-right: 0!important;
289
425
  }
290
426
  }
291
427
  }