jufubao-base 1.0.186 → 1.0.187-beta3

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 (34) hide show
  1. package/package.json +1 -1
  2. package/src/ICONS.js +1128 -0
  3. package/src/components/JfbBaseAddress/Attr.js +109 -1
  4. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +153 -77
  5. package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
  6. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +4 -1
  7. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +17 -5
  8. package/src/components/JfbBaseFastLink/Attr.js +22 -6
  9. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +35 -20
  10. package/src/components/JfbBaseFastLink/XdFastNav.vue +1 -2
  11. package/src/components/JfbBaseFooter/Attr.js +141 -75
  12. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
  13. package/src/components/JfbBaseOrderDetail/Api.js +1 -0
  14. package/src/components/JfbBaseOrderDetail/Attr.js +201 -65
  15. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +168 -57
  16. package/src/components/JfbBaseOrderList/Attr.js +59 -2
  17. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
  18. package/src/components/JfbBaseOrderList/Mock.js +3 -0
  19. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
  20. package/src/components/JfbBasePhoneCollect/Attr.js +945 -411
  21. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +307 -27
  22. package/src/components/JfbBasePhoneLogin/Attr.js +893 -405
  23. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +609 -253
  24. package/src/components/JfbBaseSuccess/Attr.js +1 -1
  25. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +4 -1
  26. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +0 -1
  27. package/src/components/JfbBaseUserCenter/Attr.js +240 -48
  28. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +101 -30
  29. package/src/components/JfbBaseUserInfo/Attr.js +179 -30
  30. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +80 -44
  31. package/src/components/JfbBaseUserOrder/Attr.js +291 -25
  32. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +172 -54
  33. package/src/components/JfbBaseWallet/Attr.js +344 -3
  34. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +173 -49
@@ -16,37 +16,66 @@
16
16
  <view class="jfb-base-phone-collect__edit-icon" @click="delEdit">删除</view>
17
17
  </view>
18
18
  <!-- #endif -->
19
- <view class="jfb-base-phone-collect__body">
20
- <view class="panel-login-password">
19
+ <view :style="{
20
+ '--agreement-align': agreementAlign
21
+ }" class="jfb-base-phone-collect__body">
22
+ <view :style="loginFormStyle" class="panel-login-password">
21
23
  <xd-form
22
- label-width="128"
23
- style="margin-top: 40rpx"
24
- label-align="right"
25
- content-align="left"
24
+ :label-align="labelAlign"
25
+ :labelPosition="labelPosition"
26
+ :key="formRenderKey"
26
27
  :border="true"
28
+ paddingBetween="0"
29
+ :style="{
30
+ '--form-border-color': formBorderColor,
31
+ '--form-border-width': formBorderWidth + 'px',
32
+ '--label-font-size': ($rpxNum * parseInt(labelFont.fontSize)) + 'px',
33
+ '--label-font-color': labelFont.color,
34
+ '--label-font-weight': labelFont.fontWeight,
35
+ '--content-font-size': ($rpxNum * parseInt(contentFont.fontSize)) + 'px',
36
+ '--content-font-color': contentFont.color,
37
+ '--content-font-weight': contentFont.fontWeight,
38
+ '--placeholder-font-size': ($rpxNum * parseInt(placeholderFont.fontSize)) + 'px',
39
+ '--placeholder-font-color': placeholderFont.color,
40
+ '--placeholder-font-weight': placeholderFont.fontWeight,
41
+ 'margin-top': '40rpx'
42
+ }"
27
43
  >
28
- <xd-form-item label="手机号" content-align="left">
44
+ <xd-form-item
45
+ class="form-item"
46
+ :class="[inputStyle]"
47
+ :leftIcon="phoneIcon"
48
+ :labelWidth="labelWidth"
49
+ label="手机号"
50
+ content-align="left">
29
51
  <xd-form-input
30
52
  v-model="accountForm.phone_number"
31
- placeholder="请输入11位手机号"
53
+ :placeholder="phonePlaceholder"
32
54
  />
33
55
  </xd-form-item>
34
- <xd-form-item label="验证码" content-align="left">
56
+ <xd-form-item
57
+ class="form-item"
58
+ label="验证码"
59
+ content-align="left"
60
+ :class="[inputStyle]"
61
+ :leftIcon="codeIcon"
62
+ :labelWidth="labelWidth"
63
+ >
35
64
  <view class="flex align-center">
36
65
  <xd-form-input
37
66
  v-model="accountForm.verification_code"
38
- placeholder="请输入验证码"
67
+ :placeholder="codePlaceholder"
39
68
  />
40
69
  <view
41
70
  class="get_code"
42
71
  @click="reGetCode"
43
- :style="{ color: mainColor }"
72
+ :style="getCodeStyle"
44
73
  >{{ jfbTimeer ? jfbTimeer + "秒后获取" : "获取验证码" }}</view
45
74
  >
46
75
  </view>
47
76
  </xd-form-item>
48
77
  </xd-form>
49
- <view class="form-group" style="padding-bottom: 0">
78
+ <view class="form-group" :style="agreementBoxStyle">
50
79
  <xd-form-checkbox
51
80
  class="xd-form-checkbox"
52
81
  v-model="panel_1_checked"
@@ -55,19 +84,19 @@
55
84
  :localdata="[{ value: 1, text: '登录即同意《隐私政策》《用户服务协议》' },]"
56
85
  >
57
86
  <template slot="a1">
58
- <view class="text-content">
87
+ <view class="text-content" :style="agreeFont">
59
88
  <text>请阅读并同意</text>
60
- <text @click.stop="handlePrivacy('privacy_privacy')" :style="{color: mainColor}">《隐私政策》</text>
61
- <text @click.stop="handlePrivacy('privacy_service')" :style="{color: mainColor}">《用户服务协议》</text>
89
+ <text @click.stop="handlePrivacy('privacy_privacy')" :style="privacyFont">《隐私政策》</text>
90
+ <text @click.stop="handlePrivacy('privacy_service')" :style="privacyFont">《用户服务协议》</text>
62
91
  </view>
63
92
  </template>
64
93
  </xd-form-checkbox>
65
94
  </view>
66
- <view class="form-group">
95
+ <view :style="btnWrapStyle" class="form-group">
67
96
  <xd-button
68
97
  style="flex: 1"
69
98
  type="primary"
70
- radius="10rpx"
99
+ :radius="btnRadius + 'rpx'"
71
100
  :disabled="!panelIsChecked"
72
101
  @click="doLoginForm"
73
102
  >登录</xd-button
@@ -76,6 +105,13 @@
76
105
  <view
77
106
  v-if="is_show_skip === 'Y'"
78
107
  class="jump_collect"
108
+ :style="{
109
+ '--font-size': ($rpxNum * parseInt(jumpFont.fontSize)) + 'px',
110
+ '--font-color': jumpFont.color,
111
+ '--font-weight': jumpFont.fontWeight,
112
+ '--line-height': ($rpxNum * parseInt(jumpFont.lineHeight)) + 'px',
113
+ '--text-align': jumpAlign
114
+ }"
79
115
  @click="jumpCollect"
80
116
  >跳过</view>
81
117
  </view>
@@ -123,12 +159,123 @@ export default {
123
159
  provider_id: "",
124
160
  callback_url: "",
125
161
  is_show_skip: "Y",
162
+
163
+ inputStyle: "linear", //输入框样式 linear:线性 face: 面性
164
+ formBorderColor: "#F9F9F9", //
165
+ formBorderWidth: 1, //表单边框宽度
166
+ formWrapBorderWidth: 1, //表单外边框宽度
167
+ formWrapBorderColor: "#F9F9F9", //表单外边框宽度
168
+ formShadowW: 0, //表单阴影宽度
169
+ formShadowColor: '#fff', //表单阴影颜色
170
+ formBorderRadius: 20, //表单圆角
171
+ formBgColor: "", //表单背景颜色
172
+ formPadding: {
173
+ top: 0,
174
+ left: 0,
175
+ right: 0,
176
+ bottom: 0
177
+ },
178
+ formMargin: {
179
+ top: 0,
180
+ left: 0,
181
+ right: 0,
182
+ bottom: 0
183
+ },
184
+ labelAlign: "left", //表单label对齐方式
185
+ labelPosition: "left", //表单label位置
186
+ labelWidth: 160, //表单label宽度
187
+ phoneIcon: "", //手机号登录输入框图标
188
+ codeIcon: "", //验证码登录输入框图标
189
+ passwordIcon: "", //密码登录输入框图标
190
+ labelFont: { //表单label字体
191
+ color: "#333",
192
+ fontSize: "24rpx",
193
+ fontWeight: "normal",
194
+ },
195
+ placeholderFont: {
196
+ color: "#d4d4d4",
197
+ fontSize: "24rpx",
198
+ fontWeight: "normal",
199
+ },
200
+ contentFont: { //表单内容字体
201
+ color: "#333",
202
+ fontSize: "24rpx",
203
+ fontWeight: "normal",
204
+ },
205
+ getCodeFont: {
206
+ color: "#ff5a39",
207
+ fontSize: "24rpx",
208
+ fontWeight: "normal",
209
+ },
210
+ getCodeShowType: "text", //获取验证码展示方式
211
+ btnMargin: {},
212
+ btnRadius: 20, //按钮圆角
213
+ agreeFont: {}, //条款字体
214
+ privacyFont: {}, //隐私字体
215
+ agreementAlign: "center", //条款对齐方式
216
+ agreePadding: {
217
+ top: 0,
218
+ left: 0,
219
+ right: 0,
220
+ bottom: 0
221
+ }, //条款内边距
222
+ formRenderKey: "formRenderKey",
223
+ jumpFont: {}, //跳过字体
224
+ jumpAlign: 'right'
126
225
  };
127
226
  },
128
227
  computed: {
129
228
  panelIsChecked() {
130
229
  return this.panel_1_checked.includes(1);
131
230
  },
231
+ loginFormStyle(){
232
+ let padding = `${this.checkValue(this.formPadding.top, 20)}rpx`;
233
+ padding = `${padding} ${this.checkValue(this.formPadding.right, 20)}rpx`;
234
+ padding = `${padding} ${this.checkValue(this.formPadding.bottom, 20)}rpx`;
235
+ padding = `${padding} ${this.checkValue(this.formPadding.left, 20)}rpx`;
236
+ let margin = `${this.checkValue(this.formMargin.top, 20)}rpx`;
237
+ margin = `${margin} ${this.checkValue(this.formMargin.right, 20)}rpx`;
238
+ margin = `${margin} ${this.checkValue(this.formMargin.bottom, 20)}rpx`;
239
+ margin = `${margin} ${this.checkValue(this.formMargin.left, 20)}rpx`;
240
+ let borderRadius = `${this.checkValue(this.formRadius, 20)}rpx`;
241
+ let border = `${this.formWrapBorderWidth}px solid ${this.formWrapBorderColor}`;
242
+ let boxShadow = `0 0 ${this.formShadowW}rpx ${this.formShadowColor}`
243
+
244
+ return this.styleObjectToString({
245
+ background: this.formBgColor,
246
+ padding: padding,
247
+ margin,
248
+ borderRadius,
249
+ border,
250
+ boxShadow
251
+ })
252
+ },
253
+ getCodeStyle(){
254
+ return this.styleObjectToString({
255
+ color: this.getCodeFont.color,
256
+ borderColor: this.getCodeShowType === 'button' ? this.getCodeFont.color : 'transparent',
257
+ fontSize: this.getCodeFont.fontSize,
258
+ fontWeight: this.getCodeFont.fontWeight,
259
+ })
260
+ },
261
+ agreementBoxStyle(){
262
+ let padding = `${this.checkValue(this.agreePadding.top, 20)}rpx`;
263
+ padding = `${padding} ${this.checkValue(this.agreePadding.right, 20)}rpx`;
264
+ padding = `${padding} ${this.checkValue(this.agreePadding.bottom, 20)}rpx`;
265
+ padding = `${padding} ${this.checkValue(this.agreePadding.left, 20)}rpx`;
266
+ return this.styleObjectToString({
267
+ padding: padding,
268
+ })
269
+ },
270
+ btnWrapStyle(){
271
+ let padding = `${this.checkValue(this.btnMargin.top, 20)}rpx`;
272
+ padding = `${padding} ${this.checkValue(this.btnMargin.right, 20)}rpx`;
273
+ padding = `${padding} ${this.checkValue(this.btnMargin.bottom, 20)}rpx`;
274
+ padding = `${padding} ${this.checkValue(this.btnMargin.left, 20)}rpx`;
275
+ return this.styleObjectToString({
276
+ padding: padding,
277
+ })
278
+ },
132
279
  },
133
280
  watch: {
134
281
  container(value,oldValue) {
@@ -165,10 +312,61 @@ export default {
165
312
  * @description 监听事件变化
166
313
  * @param container {object} 业务组件对象自己
167
314
  */
168
- init(container) {
169
- //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
170
- //this.height = getContainerPropsValue(container, 'content.height', 10);
171
- this.is_show_skip = getContainerPropsValue(container, 'content.is_show_skip', "Y");
315
+ init(value) {
316
+ this.inputStyle = getContainerPropsValue(value, "content.inputStyle", 'linear');
317
+ this.formBorderColor = getContainerPropsValue(value, "content.formBorderColor", '#F9F9F9');
318
+ this.is_show_skip = getContainerPropsValue(value, 'content.is_show_skip', "Y");
319
+ this.formBorderWidth = getContainerPropsValue(value, "content.formBorderWidth", '1');
320
+ this.formBgColor = getContainerPropsValue(value, "content.formBgColor", '#FFFFFF');
321
+ this.formPadding = getContainerPropsValue(value, "content.formPadding", {top: 20, left: 20, right: 20, bottom: 20});
322
+ this.formMargin = getContainerPropsValue(value, "content.formMargin", {top: 0, left: 0, right: 0, bottom: 0});
323
+ this.formRadius = getContainerPropsValue(value, "content.formRadius", '0');
324
+ this.formWrapBorderColor = getContainerPropsValue(value, "content.formWrapBorderColor", '#F9F9F9');
325
+ this.formWrapBorderWidth = getContainerPropsValue(value, "content.formWrapBorderWidth", '0');
326
+ this.formShadowColor = getContainerPropsValue(value, "content.formShadowColor", '#F9F9F9');
327
+ this.formShadowW = getContainerPropsValue(value, "content.formShadowW", '0');
328
+ this.labelAlign = getContainerPropsValue(value, "content.labelAlign", 'left');
329
+ this.labelPosition = getContainerPropsValue(value, "content.labelPosition", 'left');
330
+ this.labelWidth = getContainerPropsValue(value, "content.labelWidth", '180');
331
+ this.phoneIcon = getContainerPropsValue(value, "content.phoneIcon", '');
332
+ this.codeIcon = getContainerPropsValue(value, "content.codeIcon", '');
333
+ this.passwordIcon = getContainerPropsValue(value, "content.passwordIcon", '');
334
+ this.labelFont = getContainerPropsValue(value, "content.labelFont", {});
335
+ this.placeholderFont = getContainerPropsValue(value, "content.placeholderFont", {});
336
+ this.contentFont = getContainerPropsValue(value, "content.contentFont", {});
337
+ this.getCodeFont = getContainerPropsValue(value, "content.getCodeFont", {});
338
+ this.getCodeShowType = getContainerPropsValue(value, "content.getCodeShowType", 'text');
339
+ this.btnMargin = getContainerPropsValue(value, "content.btnMargin", {});
340
+ this.btnRadius = getContainerPropsValue(value, "content.btnRadius", '20');
341
+ this.phonePlaceholder = getContainerPropsValue(value, "content.phonePlaceholder", '请输入手机号');
342
+ this.codePlaceholder = getContainerPropsValue(value, "content.codePlaceholder", '请输入验证码');
343
+ let agreeFont = getContainerPropsValue(value, "content.agreeFont", {});
344
+ if(!agreeFont.color) {
345
+ agreeFont.color = '#666'
346
+ }
347
+ this.agreeFont = agreeFont;
348
+ let privacyFont = getContainerPropsValue(value, "content.privacyFont", {});
349
+ if(!privacyFont.color) {
350
+ privacyFont.color = this.mainColor
351
+ }
352
+ this.privacyFont = privacyFont;
353
+ this.agreementAlign = getContainerPropsValue(value, "content.agreementAlign", 'center');
354
+ this.agreePadding = getContainerPropsValue(value, "content.agreePadding", {});
355
+ if(this.inputStyle === 'face'){
356
+ this.labelPosition = 'top';
357
+ this.labelAlign = 'left';
358
+ }
359
+ if(this.$configProject.isPreview){
360
+ this.formRenderKey = Date.now();
361
+ }
362
+ let jumpFont = getContainerPropsValue(value, "content.jumpFont", {});
363
+ if(!jumpFont.color) {
364
+ jumpFont.color = '#a6a6a6'
365
+ }
366
+ this.jumpFont = jumpFont;
367
+ console.log(this.jumpFont,'this.jumpFont');
368
+
369
+ this.jumpAlign = getContainerPropsValue(value, "content.jumpAlign", 'right');
172
370
  },
173
371
  reGetCode() {
174
372
  this.$xdLog.setProject('get.code.handle', {
@@ -261,8 +459,9 @@ export default {
261
459
  }
262
460
 
263
461
  .xd-form-checkbox {
264
- /deep/ .checklist-box {
265
- margin: 0 !important;
462
+ ::v-deep .checklist-box {
463
+ margin: 0;
464
+ align-items: var(--agreement-align);
266
465
  }
267
466
  }
268
467
  .xd-form-checkbox {
@@ -284,6 +483,11 @@ export default {
284
483
  .get_code {
285
484
  color: @xd-base-color;
286
485
  font-size: 24rpx;
486
+ margin-right: unit(20,rpx);
487
+ padding: 10rpx 24rpx;
488
+ border: 1px solid @xd-base-color;
489
+ border-radius: 40rpx;
490
+ white-space: nowrap;
287
491
  }
288
492
  .panel-login-password {
289
493
  /deep/ .uni-forms-item__label {
@@ -307,12 +511,88 @@ export default {
307
511
  color: #fe7a63;
308
512
  }
309
513
  .jump_collect{
310
- font-size: 24rpx;
311
- color: #a6a6a6;
312
- text-align: right;
313
- margin: 20rpx 70rpx 0 0;
514
+ font-size: var(--font-size);
515
+ color: var(--font-color);
516
+ text-align: var(--text-align);
517
+ font-weight: var(--font-weight);
518
+ line-height: var(--line-height);
519
+ margin: 20rpx 70rpx 0 70rpx;
520
+ }
521
+ }
522
+ // #ifdef H5
523
+ .form-item {
524
+ ::v-deep &.uni-forms-item {
525
+ // padding-left: unit(30,rpx) !important;
526
+ .uni-input-input{
527
+ font-size: var(--content-font-size);
528
+ color: var(--content-font-color);
529
+ font-weight: var(--content-font-weight);
530
+ }
531
+ .label-text {
532
+ font-size: var(--label-font-size);
533
+ color: var(--label-font-color);
534
+ font-weight: var(--label-font-weight);
535
+ }
536
+ .uni-easyinput__placeholder-class{
537
+ font-size: var(--placeholder-font-size);
538
+ color: var(--placeholder-font-color);
539
+ font-weight: var(--placeholder-font-weight);
540
+ }
541
+ }
542
+ &.linear{
543
+ ::v-deep &.uni-forms-item--border{
544
+ border-color: var(--form-border-color) !important;
545
+ border-width: var(--form-border-width) !important;
546
+ }
547
+ }
548
+ &.face{
549
+ ::v-deep .uni-forms-item__content{
550
+ background: #F7F7F7;
551
+ border-radius: 16rpx;
552
+ }
553
+ ::v-deep &.uni-forms-item--border{
554
+ border: none;
555
+ }
556
+
557
+ }
558
+ }
559
+ // #endif
560
+
561
+ // #ifdef MP
562
+ ::v-deep .uni-forms-item {
563
+ // padding-left: 30rpx !important;
564
+ .uni-input-input{
565
+ font-size: var(--content-font-size);
566
+ color: var(--content-font-color);
567
+ font-weight: var(--content-font-weight);
568
+ }
569
+ .label-text {
570
+ font-size: var(--label-font-size);
571
+ color: var(--label-font-color);
572
+ font-weight: var(--label-font-weight);
573
+ }
574
+ .uni-easyinput__placeholder-class{
575
+ font-size: var(--placeholder-font-size);
576
+ color: var(--placeholder-font-color);
577
+ font-weight: var(--placeholder-font-weight);
578
+ }
579
+ }
580
+ .linear{
581
+ ::v-deep .uni-forms-item--border{
582
+ border-top: none !important;
583
+ border-bottom: var(--form-border-width) solid var(--form-border-color) !important;
584
+ }
585
+ }
586
+ .face{
587
+ ::v-deep .uni-forms-item__content{
588
+ background: #F7F7F7;
589
+ border-radius: 16rpx;
590
+ }
591
+ ::v-deep .uni-forms-item--border{
592
+ border: none;
314
593
  }
315
594
  }
595
+ // #endif
316
596
  }
317
597
  }
318
598