jufubao-base 1.0.115 → 1.0.116-beta2

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 (45) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseConDialog/XdCouCardBind.vue +30 -31
  3. package/src/components/JfbBaseConList/JfbBaseConList.vue +88 -95
  4. package/src/components/JfbBaseSaasBlessDetail/Api.js +60 -0
  5. package/src/components/JfbBaseSaasBlessDetail/Attr.js +106 -0
  6. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetail.vue +227 -0
  7. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailLess.less +80 -0
  8. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailMixin.js +30 -0
  9. package/src/components/JfbBaseSaasBlessDetail/Mock.js +5 -0
  10. package/src/components/JfbBaseSaasBlessDialog/Api.js +60 -0
  11. package/src/components/JfbBaseSaasBlessDialog/Attr.js +50 -0
  12. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialog.vue +265 -0
  13. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogLess.less +80 -0
  14. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogMixin.js +30 -0
  15. package/src/components/JfbBaseSaasBlessDialog/Mock.js +5 -0
  16. package/src/components/JfbBaseSaasBlessReceive/Api.js +60 -0
  17. package/src/components/JfbBaseSaasBlessReceive/Attr.js +106 -0
  18. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceive.vue +172 -0
  19. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveLess.less +80 -0
  20. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveMixin.js +30 -0
  21. package/src/components/JfbBaseSaasBlessReceive/Mock.js +5 -0
  22. package/src/components/JfbBaseSaasHome/Api.js +60 -0
  23. package/src/components/JfbBaseSaasHome/Attr.js +106 -0
  24. package/src/components/JfbBaseSaasHome/JfbBaseSaasHome.vue +285 -0
  25. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeLess.less +80 -0
  26. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeMixin.js +30 -0
  27. package/src/components/JfbBaseSaasHome/Mock.js +5 -0
  28. package/src/components/JfbBaseSaasLogin/Api.js +26 -0
  29. package/src/components/JfbBaseSaasLogin/Attr.js +37 -0
  30. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLogin.vue +353 -0
  31. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginLess.less +80 -0
  32. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginMixin.js +30 -0
  33. package/src/components/JfbBaseSaasLogin/Mock.js +5 -0
  34. package/src/components/JfbBaseSaasNewsDetail/Api.js +60 -0
  35. package/src/components/JfbBaseSaasNewsDetail/Attr.js +106 -0
  36. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetail.vue +140 -0
  37. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailLess.less +80 -0
  38. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailMixin.js +30 -0
  39. package/src/components/JfbBaseSaasNewsDetail/Mock.js +5 -0
  40. package/src/components/JfbBaseSaasNewsList/Api.js +60 -0
  41. package/src/components/JfbBaseSaasNewsList/Attr.js +106 -0
  42. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsList.vue +155 -0
  43. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListLess.less +80 -0
  44. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListMixin.js +30 -0
  45. package/src/components/JfbBaseSaasNewsList/Mock.js +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-base",
3
- "version": "1.0.115",
3
+ "version": "1.0.116-beta2",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -6,13 +6,13 @@
6
6
  <view class="ticket_list">
7
7
  <view class="ticket_item" :class="item.can_take_num"
8
8
  v-for="(item,i) in uiList" :key="i"
9
- :style="{backgroundImage: item.backgroundImage}"
10
9
  >
11
- <view class="ticket_names">
12
- <view class="name_main">{{item.prize_type}}</view>
13
- <view class="name_sub">{{item.prize_name}}</view>
10
+ <view class="item_head">
11
+ <image class="t_icon" mode="widthFix" :src="item.headIcon"></image>
12
+ <view>{{ item.prize_type }}</view>
14
13
  </view>
15
- <view class="name_tit">{{item.prize_name}}</view>
14
+ <view class="item_sub">{{ item.prize_name }}</view>
15
+
16
16
  <xd-font-icon class="ticket_icon" :icon="item.icon"></xd-font-icon>
17
17
  <view class="btn">
18
18
  <xd-button
@@ -63,11 +63,11 @@ export default{
63
63
  let mapArr = {"Y": "去查看", "P": "领取", "N": "已发完"}
64
64
  item.btn_txt = mapArr[item.can_take_num];
65
65
  if(item.can_take_num === "Y" || item.can_take_num === "P"){
66
- item.backgroundImage = `url(${getServiceUrl(this.setting.app_coupon_url)})`;
66
+ item.headIcon = getServiceUrl(this.setting.app_coupon_url);
67
67
  item.btnImage = `url(${getServiceUrl(this.setting.app_coupon_button_bg_url)})`;
68
68
  item.icon = item.can_take_num === "Y" ? "iconyilingqu" : "icondailingqu";
69
69
  }else if(item.can_take_num === "N"){
70
- item.backgroundImage = `url(${getServiceUrl(this.setting.app_coupon_invalid_url)})`;
70
+ item.headIcon = getServiceUrl(this.setting.app_coupon_invalid_url);
71
71
  item.btnImage = "";
72
72
  item.icon = "iconyifawan";
73
73
  }
@@ -116,6 +116,7 @@ export default{
116
116
 
117
117
  .ticket_item{
118
118
  display: flex;
119
+ flex-direction: column;
119
120
  position: relative;
120
121
  width: 540rpx;
121
122
  height: @ticketHeight;
@@ -123,19 +124,19 @@ export default{
123
124
  border-radius: 20rpx;
124
125
  padding: 30rpx;
125
126
  box-sizing: border-box;
126
- background: #EEEEEE url("//sandbox-img.jufubao.cn/uploads/20231205/fee9b644b83495c9ba8a4db277600b54.jpg") no-repeat;
127
- background-size: auto @bgHeight;
128
- background-position: 30rpx center;
127
+ background: #FFF8F8;
129
128
 
130
129
  &.P,
131
130
  &.Y{
132
131
 
133
132
  }
134
133
  &.N{
135
- .ticket_names{
136
- .name_main{
137
- color: #BBBBBB;
138
- }
134
+ background: #F3F3F3;
135
+ .item_head{
136
+ color: #BBBBBB;
137
+ }
138
+ .item_sub{
139
+ color: #BBBBBB;
139
140
  }
140
141
  .ticket_icon{
141
142
  color: #D6D6D6;
@@ -148,25 +149,23 @@ export default{
148
149
  }
149
150
  }
150
151
  }
151
- .name_tit{
152
- font-size: 28rpx;
153
- margin-left: 20rpx;
154
- }
155
- .ticket_names{
156
- width: 168rpx;
157
- height: 120rpx;
158
- text-align: center;
159
- font-size: 28rpx;
160
- .name_main{
161
- margin-bottom: 26rpx;
162
- margin-top: 20rpx;
163
- color: #fb5b3f;
164
- }
165
- .name_sub{
166
- font-size: 24rpx;
167
- color: #FFFFFF;
152
+ .item_head{
153
+ display: flex;
154
+ align-items: center;
155
+ font-size: 40rpx;
156
+ color: #000000;
157
+ font-weight: 500;
158
+ .t_icon{
159
+ width: 44rpx;
160
+ margin-right: 20rpx;
168
161
  }
169
162
  }
163
+ .item_sub{
164
+ margin-top: 20rpx;
165
+ color: #FF4D4A;
166
+ font-size: 36rpx;
167
+ font-weight: 400;
168
+ }
170
169
  .ticket_icon{
171
170
  font-size: 80rpx !important;
172
171
  position: absolute;
@@ -44,76 +44,36 @@
44
44
  <view v-for="(item, index) in couponList" :key="index">
45
45
  <view
46
46
  class="jfb-base-con-list__body-content-list-item"
47
+ :class="'status_' + item.can_take_num"
47
48
  :style="{
48
49
  backgroundColor: item.can_take_num==='Y'||item.can_take_num==='P'? contentBackground:'#F3F3F3',
49
50
  }"
50
51
  >
51
- <view class="jfb-base-con-list__body-content-list-item-left">
52
- <view
53
- :style="item.couponBackground"
54
- class="jfb-base-con-list__body-content-list-item-left-info"
55
- >
56
- <view
57
- :style="{
58
- color: item.nameColor,
59
- textAlign: 'center',
60
- }"
61
- >{{ item.prize_type }}</view
62
- >
63
- <view
64
- :style="{
65
- color: item.infoColor,
66
- }"
67
- >{{ item.prize_name }}</view
68
- >
69
- </view>
52
+ <view class="item_head">
53
+ <image class="t_icon" mode="widthFix" :src="item.headIcon"></image>
54
+ <view>{{ item.prize_type }}</view>
70
55
  </view>
71
- <view class="jfb-base-con-list__body-content-list-item-right">
72
- <view
73
- class="jfb-base-con-list__body-content-list-item-right-name"
74
- >
75
- <view>{{ item.prize_name }}</view>
76
- <xd-font-icon
77
- size="100"
78
- :style="{
79
- color: item.iconColor,
80
- position: 'absolute',
81
- right: '0rpx',
82
- top: '0rpx',
83
- }"
84
- :icon="item.icon"
85
- ></xd-font-icon>
86
- </view>
87
- <view
88
- class="jfb-base-con-list__body-content-list-item-right-num"
89
- >
90
- <!-- <view
91
- :style="{
92
- color: '#FF4D4A',
93
- display: 'flex',
94
- alignItems: 'center',
95
- fontSize: '28rpx',
96
- }"
97
- >
98
- <xd-font-icon
99
- style="margin-right: 10rpx"
100
- size="22"
101
- icon="icondanchuangguanbi_xian"
102
- ></xd-font-icon>
103
- {{ item.prize_num }}
104
- </view> -->
105
- <view></view>
106
-
107
- <xd-button
108
- size="small"
109
- :disabled="item.can_take_num !=='Y' && item.remain_card_count == 0"
110
- @click="getCoupont(item)"
111
- type="primary"
112
- style="width: 170rpx;height: 60rpx;"
113
- :style="item.btn"
114
- :color="item.infoColor"
115
- >{{ item.btn_txt }}</xd-button>
116
- </view>
56
+ <view class="item_sub">{{ item.prize_name }}</view>
57
+ <xd-font-icon
58
+ size="100"
59
+ :style="{
60
+ color: item.iconColor,
61
+ position: 'absolute',
62
+ right: '0rpx',
63
+ top: '0rpx',
64
+ }"
65
+ :icon="item.icon"
66
+ ></xd-font-icon>
67
+ <view class="btn_wrap">
68
+ <xd-button
69
+ size="small"
70
+ :disabled="item.can_take_num !=='Y' && item.remain_card_count == 0"
71
+ @click="getCoupont(item)"
72
+ type="primary"
73
+ style="width: 170rpx;height: 60rpx;"
74
+ :style="item.btn"
75
+ :color="item.infoColor"
76
+ >{{ item.btn_txt }}</xd-button>
117
77
  </view>
118
78
  </view>
119
79
  </view>
@@ -261,6 +221,7 @@ export default {
261
221
  margin: "0",
262
222
  };
263
223
  //整块背景
224
+ item.headIcon = getServiceUrl(res.app_coupon_url);
264
225
  item.couponBackground = {
265
226
  backgroundImage: `url(${getServiceUrl(res.app_coupon_url)})`,
266
227
  backgroundSize: "100%",
@@ -278,6 +239,7 @@ export default {
278
239
  //按钮样式
279
240
  item.btn = { background: "#D6D6D6", margin: "0" };
280
241
  //整块背景
242
+ item.headIcon = getServiceUrl(res.app_coupon_invalid_url)
281
243
  item.couponBackground = {
282
244
  backgroundImage: `url(${getServiceUrl(res.app_coupon_invalid_url)})`,
283
245
  backgroundSize: "100%",
@@ -520,43 +482,74 @@ export default {
520
482
 
521
483
  &-item {
522
484
  display: flex;
523
- justify-content: space-between;
524
- align-items: center;
525
- padding: unit(20, rpx) unit(30, rpx);
485
+ flex-direction: column;
486
+ padding: unit(40, rpx) unit(40, rpx);
526
487
  border-radius: unit(12, rpx);
527
488
  margin: unit(20, rpx) auto 0 auto;
528
489
  position: relative;
529
- &-left {
530
- display: flex;
531
- &-info {
532
- padding: unit(20, rpx) unit(36, rpx);
533
- & > view:first-child {
534
- font-size: unit(44, rpx);
535
- font-weight: 500;
536
- margin-bottom: unit(36, rpx);
537
- }
538
- & > view:nth-child(2) {
539
- font-size: unit(28, rpx);
540
- color: #fff;
541
- }
490
+
491
+ &.status_N{
492
+ .item_head{
493
+ color: #BBBBBB;
542
494
  }
543
- }
544
- &-right {
545
- margin-left: unit(24, rpx);
546
- flex: 1;
547
- &-name {
548
- font-size: unit(40, rpx);
549
- color: #000;
550
- display: flex;
551
- align-items: center;
552
- justify-content: space-between;
495
+ .item_sub{
496
+ color: #BBBBBB;
553
497
  }
554
- &-num {
555
- margin-top: unit(40, rpx);
556
- display: flex;
557
- justify-content: space-between;
498
+ }
499
+ .btn_wrap{
500
+ position: absolute;
501
+ right: 30rpx;
502
+ bottom: 40rpx;
503
+ }
504
+
505
+ .item_head{
506
+ display: flex;
507
+ align-items: center;
508
+ font-size: 40rpx;
509
+ color: #000000;
510
+ font-weight: 500;
511
+ .t_icon{
512
+ width: 44rpx;
513
+ margin-right: 20rpx;
558
514
  }
559
515
  }
516
+ .item_sub{
517
+ margin-top: 26rpx;
518
+ color: #FF4D4A;
519
+ font-size: 36rpx;
520
+ font-weight: 400;
521
+ }
522
+ // &-left {
523
+ // display: flex;
524
+ // &-info {
525
+ // padding: unit(20, rpx) unit(36, rpx);
526
+ // & > view:first-child {
527
+ // font-size: unit(44, rpx);
528
+ // font-weight: 500;
529
+ // margin-bottom: unit(36, rpx);
530
+ // }
531
+ // & > view:nth-child(2) {
532
+ // font-size: unit(28, rpx);
533
+ // color: #fff;
534
+ // }
535
+ // }
536
+ // }
537
+ // &-right {
538
+ // margin-left: unit(24, rpx);
539
+ // flex: 1;
540
+ // &-name {
541
+ // font-size: unit(40, rpx);
542
+ // color: #000;
543
+ // display: flex;
544
+ // align-items: center;
545
+ // justify-content: space-between;
546
+ // }
547
+ // &-num {
548
+ // margin-top: unit(40, rpx);
549
+ // display: flex;
550
+ // justify-content: space-between;
551
+ // }
552
+ // }
560
553
  }
561
554
  }
562
555
  &-foot {
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description API模型
5
+ * 建议:Ffff=>模块 Xxxx=>自定义名字
6
+ * 获取单记录(getByIdFfffXxxx)
7
+ * 获取列表记录(getByListFfffXxxx)
8
+ * 添加列表记录(addFfffXxxxx)
9
+ * 删除列表记录(removeFfffXxxxx|deleteFfffXxxx)
10
+ * 更新列表记录(updateFfffXxxxx)
11
+ * @type {*[]}
12
+ */
13
+ module.exports = [
14
+ {
15
+ mapFnName: 'getByIdFilmSquate', //自定义方法名字(必选)
16
+ title: '获取电影广场列表',
17
+ path: '/api/account/film/list-film-square',
18
+ isRule: false,
19
+ params: {
20
+ last_key: ['当前页', 'Number', '必选'],
21
+ page_size: ['每页数量', 'Number', '必选'],
22
+ },
23
+ isConsole: true,
24
+ disabled: true,
25
+ },
26
+ {
27
+ mapFnName: 'updateFilmPaiqiDate', //自定义方法名字(必选)
28
+ title: '更新排期',
29
+ path: '/api/account/film/paiqi-date',
30
+ isRule: false,
31
+ params: {
32
+ film_id: ['电影id', 'Number', '必选'],
33
+ cinema_id: ['影院id', 'Number', '必选'],
34
+ },
35
+ isConsole: true,
36
+ disabled: true,
37
+ },
38
+ {
39
+ mapFnName: 'removeFilmAddress', //自定义方法名字(必选)
40
+ title: '删除我的配送地址',
41
+ path: '/api/account/film/paiqi-date',
42
+ isRule: false,
43
+ params: {
44
+ film_id: ['电影id', 'Number', '必选'],
45
+ },
46
+ isConsole: true,
47
+ disabled: true,
48
+ },
49
+ {
50
+ mapFnName: 'addFilmcart', //自定义方法名字(必选)
51
+ title: '添加购物车',
52
+ path: '/api/account/film/paiqi-date',
53
+ isRule: false,
54
+ params: {
55
+ film_id: ['电影id', 'Number', '必选'],
56
+ },
57
+ isConsole: true,
58
+ disabled: true,
59
+ },
60
+ ];
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '背景颜色:', //label
12
+ ele: 'xd-color', //package 名称
13
+ valueKey: 'bgcolor', //form[valueKey]
14
+ value: data.bgcolor || '', //v-model
15
+ placeholder: '请输入占位框背景颜色',
16
+ classNmae: 'input80', //样式名称 //input100,input80,input70,input60,input50,input40,input30,input20,
17
+ rules: [
18
+ {
19
+ required: true,
20
+ message: '请输入占位框背景颜色',
21
+ trigger: 'blur'
22
+ },
23
+ ]
24
+ },
25
+ {
26
+ label: '选中路径:', //label
27
+ ele: 'xd-select-pages-path', //package 名称
28
+ valueKey: 'select-pages-path', //form[valueKey]
29
+ value: data['select-pages-path'] || {},
30
+ setting: {
31
+ router: XdBus.getParentApi('getPagesTree')
32
+ },
33
+ inline: false,
34
+ },
35
+ data.bgcolor && {
36
+ label: '高度:', //label
37
+ ele: 'el-input', //package 名称
38
+ type: 'number',
39
+ valueKey: 'height', //form[valueKey]
40
+ value: data.height || 100, //v-model
41
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
42
+ className: 'input80', //样式名称 //input100,input80,input70,input60,input50,input40,input30,input20,
43
+ rules: [
44
+ {
45
+ required: true,
46
+ message: '请输入占位框高度',
47
+ trigger: 'blur'
48
+ },
49
+ ]
50
+ },
51
+ {
52
+ label: '', //label
53
+ ele: 'slot', //package 名称
54
+ slot: 'is_reference',
55
+ },
56
+ ].filter(i=>i)
57
+ },
58
+ advanced: [
59
+ {
60
+ label: '背景颜色:', //label
61
+ ele: 'xd-color', //package 名称
62
+ valueKey: 'bgcolor', //form[valueKey]
63
+ value: '', //v-model
64
+ placeholder: '请输入占位框背景颜色',
65
+ classNmae: 'input80', //样式名称 //input100,input80,input70,input60,input50,input40,input30,input20,
66
+ rules: [
67
+ {
68
+ required: true,
69
+ message: '请输入占位框背景颜色',
70
+ trigger: 'blur'
71
+ },
72
+ ]
73
+ },
74
+ {
75
+ label: '选中路径:', //label
76
+ ele: 'xd-select-pages-path', //package 名称
77
+ valueKey: 'select-pages-path', //form[valueKey]
78
+ value: null,
79
+ setting: {
80
+ router: XdBus.getParentApi('getPagesTree')
81
+ },
82
+ inline: false,
83
+ },
84
+ {
85
+ label: '高度:', //label
86
+ ele: 'el-input', //package 名称
87
+ type: 'number',
88
+ valueKey: 'height', //form[valueKey]
89
+ value: null, //v-model
90
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
91
+ classNmae: 'input80', //样式名称 //input100,input80,input70,input60,input50,input40,input30,input20,
92
+ rules: [
93
+ {
94
+ required: true,
95
+ message: '请输入占位框高度',
96
+ trigger: 'blur'
97
+ },
98
+ ]
99
+ },
100
+ {
101
+ label: '', //label
102
+ ele: 'slot', //package 名称
103
+ slot: 'is_reference',
104
+ },
105
+ ],
106
+ };