jufubao-base 1.0.158-beta5 → 1.0.158-beta7

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-base",
3
- "version": "1.0.158-beta5",
3
+ "version": "1.0.158-beta7",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -221,7 +221,6 @@ export default {
221
221
  }
222
222
 
223
223
  let path = this.getUrlCallback(this.my_card_url || this.backUrl);
224
-
225
224
  //有优惠券处理
226
225
  if(this.hasCon){
227
226
  this.toShowCouponDialog();
@@ -238,7 +238,6 @@ export default {
238
238
  }
239
239
  },
240
240
  handlerAfterBindCard(res){
241
-
242
241
  if(res.pop_info && res.pop_info.pop_code === '1001'){
243
242
  this.handleBindConfirm();
244
243
  return;
@@ -57,7 +57,6 @@
57
57
  :isRandom="isRandom"
58
58
  :list="couponList"
59
59
  :setting="couponOther"
60
- :btnImage="btnImage"
61
60
  @closeDialog="handleCardBindClose"
62
61
  @getCoupont="handleGetCoupon"
63
62
  @getAllCoupont="getAllCoupont"
@@ -118,10 +117,8 @@ export default {
118
117
  //预览是否显示弹窗
119
118
  is_preview_hide_dailog: false,
120
119
 
121
- isAll: true,
122
- isRandom: true,
123
- btnImage: ''
124
-
120
+ isAll: false,
121
+ isRandom: false
125
122
  };
126
123
  },
127
124
  computed: {
@@ -268,6 +265,7 @@ export default {
268
265
  this.list[this.currentIndex].app_activity_button
269
266
  );
270
267
  this.activity_id = this.list[this.currentIndex].activity_id;
268
+ this.isAll =
271
269
  this.handlePop();
272
270
  })
273
271
  .catch((err) => {
@@ -286,13 +284,27 @@ export default {
286
284
  const { list, ...other } = res;
287
285
  this.couponList = list;
288
286
  this.couponOther = other;
289
- if(res.can_take === "Y" && res.has_times === "Y" && list.length > 0){
287
+ this.isAll = res.receive_method==="batch"
288
+ this.isRandom = res.distribution_type==="random"
289
+ this.activity_id = res.activity_id
290
+ if(res.receive_method !== "batch") {
291
+ if(res.can_take === "Y" && res.has_times === "Y" && list.length > 0){
292
+ if (this.isPreview) {
293
+ console.log(getContainerPropsValue(value, "content.is_show_dailog", 'Y'))
294
+ this.isShow = getContainerPropsValue(value, "content.is_show_dailog", 'Y') === 'N';
295
+ }else this.isShow = true;
296
+ }else{
297
+ this.handleCardBindClose();
298
+ }
299
+ } else {
300
+ if(res.can_take === "Y"){
290
301
  if (this.isPreview) {
291
302
  console.log(getContainerPropsValue(value, "content.is_show_dailog", 'Y'))
292
303
  this.isShow = getContainerPropsValue(value, "content.is_show_dailog", 'Y') === 'N';
293
- }else this.isShow = true;
294
- }else{
295
- this.handleCardBindClose();
304
+ }else this.isShow = true;
305
+ }else{
306
+ this.handleCardBindClose();
307
+ }
296
308
  }
297
309
  })
298
310
  },
@@ -305,7 +317,7 @@ export default {
305
317
  }
306
318
  },
307
319
 
308
- getAllCoupont() {
320
+ getAllCoupont(info) {
309
321
  this.p_getAllDialogList();
310
322
  },
311
323
 
@@ -316,6 +328,7 @@ export default {
316
328
  vm: this,
317
329
  data: {
318
330
  distribution_method: this.distribution_method,
331
+ activity_id: this.activity_id,
319
332
  ...this.dispatchData
320
333
  }
321
334
  }).then(res => {
@@ -3,50 +3,95 @@
3
3
  <view
4
4
  class="ticket_box"
5
5
  :style="{
6
- backgroundImage: dialogBackground
6
+ backgroundImage: dialogBackground,
7
7
  }"
8
8
  >
9
- <view v-if="!isRandom" class="ticket_list">
10
- <view
11
- class="ticket_item"
12
- :class="item.can_take_num"
13
- v-for="(item,i) in uiList"
14
- :key="i"
15
- >
16
- <view class="item_head">
17
- <image class="t_icon" mode="widthFix" :src="item.headIcon"></image>
18
- <view>{{ item.prize_type }}</view>
19
- </view>
20
- <view class="item_sub">{{ item.prize_name }}</view>
9
+ <view v-if="isAll">
10
+ <view v-if="!isRandom" class="ticket_list">
11
+ <view
12
+ class="ticket_item"
13
+ :class="item.can_take_num"
14
+ v-for="(item, i) in uiList"
15
+ :key="i"
16
+ >
17
+ <view class="item_head">
18
+ <image
19
+ class="t_icon"
20
+ mode="widthFix"
21
+ :src="item.headIcon"
22
+ ></image>
23
+ <view>{{ item.prize_type }}</view>
24
+ </view>
25
+ <view class="item_sub">{{ item.prize_name }}</view>
21
26
 
22
- <xd-font-icon class="ticket_icon" :color="item.iconColor" :icon="item.icon"></xd-font-icon>
23
- <view v-if="!isAll" class="btn">
24
- <xd-button
25
- size="small"
26
- type="primary"
27
- :disabled="item.remain_card_count == 0"
28
- :style="{
29
- backgroundImage: item.btnImage,
30
- backgroundSize: '100% 100%',
31
- }"
32
- @click="getCoupont(item)"
33
- >{{item.btn_txt}}</xd-button>
27
+ <xd-font-icon
28
+ class="ticket_icon"
29
+ :color="item.iconColor"
30
+ :icon="item.icon"
31
+ ></xd-font-icon>
34
32
  </view>
35
33
  </view>
34
+ <view v-else>
35
+ <img
36
+ style="width: 100%"
37
+ mode="widthFix"
38
+ :src="bottomBackground"
39
+ alt=""
40
+ />
41
+ </view>
42
+ <xd-button
43
+ size="small"
44
+ type="primary"
45
+ :style="{
46
+ backgroundImage: btnImage,
47
+ backgroundSize: '100% 100%',
48
+ height: '70rpx',
49
+ width: '450rpx',
50
+ marginTop: '26rpx'
51
+ }"
52
+ @click="getAllCoupont"
53
+ >{{ isRandom ? "开心获取" : "一键领取" }}</xd-button
54
+ >
36
55
  </view>
37
56
  <view v-else>
38
- 随机领取图片
57
+ <view class="ticket_list">
58
+ <view
59
+ class="ticket_item"
60
+ :class="item.can_take_num"
61
+ v-for="(item, i) in uiList"
62
+ :key="i"
63
+ >
64
+ <view class="item_head">
65
+ <image
66
+ class="t_icon"
67
+ mode="widthFix"
68
+ :src="item.headIcon"
69
+ ></image>
70
+ <view>{{ item.prize_type }}</view>
71
+ </view>
72
+ <view class="item_sub">{{ item.prize_name }}</view>
73
+
74
+ <xd-font-icon
75
+ class="ticket_icon"
76
+ :color="item.iconColor"
77
+ :icon="item.icon"
78
+ ></xd-font-icon>
79
+ <view class="btn">
80
+ <xd-button
81
+ size="small"
82
+ type="primary"
83
+ :disabled="item.remain_card_count == 0"
84
+ :style="{
85
+ backgroundImage: item.btnImage,
86
+ backgroundSize: '100% 100%',
87
+ }"
88
+ @click="getCoupont(item)"
89
+ >{{ item.btn_txt }}</xd-button
90
+ >
91
+ </view>
92
+ </view>
93
+ </view>
39
94
  </view>
40
- <xd-button
41
- v-if="isAll"
42
- size="small"
43
- type="primary"
44
- :style="{
45
- backgroundImage: btnImage,
46
- backgroundSize: '100% 100%',
47
- }"
48
- @click="getAllCoupont"
49
- >{{isRandom?'开心获取':'一键领取'}}</xd-button>
50
95
  </view>
51
96
 
52
97
  <xd-font-icon
@@ -62,172 +107,173 @@
62
107
  import XdButton from "@/components/XdButton/XdButton";
63
108
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
64
109
  import getServiceUrl from "@/common/getServiceUrl";
65
- export default{
110
+ export default {
66
111
  name: "XdCouCardBind",
67
112
  components: {
68
113
  XdButton,
69
- XdFontIcon
114
+ XdFontIcon,
70
115
  },
71
116
  props: {
72
117
  list: {
73
118
  type: Array,
74
- default(){
75
- return []
76
- }
119
+ default() {
120
+ return [];
121
+ },
77
122
  },
78
123
  isAll: {
79
124
  type: Boolean,
80
- default: false
125
+ default: false,
81
126
  },
82
127
  isRandom: {
83
128
  type: Boolean,
84
- default: false
129
+ default: false,
85
130
  },
86
131
  btnImage: {
87
132
  type: String,
88
- default: ""
133
+ default: "",
89
134
  },
90
- setting: {}
135
+ setting: {},
91
136
  },
92
137
  computed: {
93
- uiList(){
94
- return this.list.map(item => {
95
- let mapArr = {"Y": "去查看", "P": "领取", "N": "已发完"}
138
+ uiList() {
139
+ return this.list.map((item) => {
140
+ let mapArr = { Y: "去查看", P: "领取", N: "已发完" };
96
141
  item.btn_txt = mapArr[item.can_take_num];
97
- if(item.can_take_num === "Y" || item.can_take_num === "P"){
142
+ if (item.can_take_num === "Y" || item.can_take_num === "P") {
98
143
  item.headIcon = getServiceUrl(this.setting.app_coupon_url);
99
- item.btnImage = `url(${getServiceUrl(this.setting.app_coupon_button_bg_url)})`;
100
- item.icon = item.can_take_num === "Y" ? "iconyilingqu" : "icondailingqu";
101
- item.iconColor = item.can_take_num === "Y"?'#D6D6D6':"#FF4D4A"
102
- }else if(item.can_take_num === "N"){
144
+ item.btnImage = `url(${getServiceUrl(
145
+ this.setting.app_coupon_button_bg_url
146
+ )})`;
147
+ item.icon =
148
+ item.can_take_num === "Y" ? "iconyilingqu" : "icondailingqu";
149
+ item.iconColor = item.can_take_num === "Y" ? "#D6D6D6" : "#FF4D4A";
150
+ } else if (item.can_take_num === "N") {
103
151
  item.headIcon = getServiceUrl(this.setting.app_coupon_invalid_url);
104
152
  item.btnImage = "";
105
153
  item.icon = "iconyifawan";
106
- item.iconColor = '#D6D6D6'
154
+ item.iconColor = "#D6D6D6";
107
155
  }
108
156
  return item;
109
- })
157
+ });
110
158
  },
111
- dialogBackground(){
159
+ dialogBackground() {
112
160
  return `url(${getServiceUrl(this.setting.background)})`;
113
- }
161
+ },
162
+ bottomBackground() {
163
+ return getServiceUrl(this.setting.app_coupon_bottom_url);
164
+ },
114
165
  },
115
- data(){
116
- return {
117
-
118
- }
166
+ data() {
167
+ return {};
119
168
  },
120
169
  methods: {
121
170
  //领取优惠券
122
- getCoupont(item){
123
- if(item.can_take_num === "P"){
171
+ getCoupont(item) {
172
+ if (item.can_take_num === "P") {
124
173
  this.$emit("getCoupont", item);
125
174
  }
126
175
  },
127
176
  getAllCoupont() {
128
- this.$emit("getAllCoupont", item);
177
+ this.$emit("getAllCoupont");
129
178
  },
130
- handleClose(){
179
+ handleClose() {
131
180
  this.$emit("closeDialog");
132
- }
133
- }
134
- }
181
+ },
182
+ },
183
+ };
135
184
  </script>
136
185
 
137
186
  <style lang="less" scoped>
138
187
  @ticketHeight: 180rpx;
139
188
  @bgHeight: @ticketHeight - 40rpx;
140
- .xd-cou-card-bind{
141
- width: 600rpx;
142
- max-height: 900rpx;
143
- padding-bottom: 80rpx;
144
- .ticket_box{
145
- background-color: #fff;
146
- background-size: 100% auto;
147
- background-repeat: no-repeat;
148
- padding-top: 200rpx;
149
- border-radius: 20rpx;
150
- box-sizing: border-box;
151
- padding-bottom: 20rpx;
152
- }
153
-
154
- .ticket_item{
155
- display: flex;
156
- flex-direction: column;
157
- position: relative;
158
- width: 540rpx;
159
- height: @ticketHeight;
160
- margin: 20rpx auto;
161
- border-radius: 20rpx;
162
- padding: 30rpx;
163
- box-sizing: border-box;
164
- background: #FFF8F8;
165
-
166
- &.P,
167
- &.Y{
189
+ .xd-cou-card-bind {
190
+ width: 600rpx;
191
+ max-height: 900rpx;
192
+ padding-bottom: 80rpx;
193
+ .ticket_box {
194
+ background-color: #fff;
195
+ background-size: 100% auto;
196
+ background-repeat: no-repeat;
197
+ padding-top: 200rpx;
198
+ border-radius: 20rpx;
199
+ box-sizing: border-box;
200
+ padding-bottom: 20rpx;
201
+ }
168
202
 
169
- }
170
- &.N{
171
- background: #F3F3F3;
172
- .item_head{
173
- color: #BBBBBB;
174
- }
175
- .item_sub{
176
- color: #BBBBBB;
177
- }
178
- .ticket_icon{
179
- color: #D6D6D6;
203
+ .ticket_item {
204
+ display: flex;
205
+ flex-direction: column;
206
+ position: relative;
207
+ width: 540rpx;
208
+ height: @ticketHeight;
209
+ margin: 20rpx auto;
210
+ border-radius: 20rpx;
211
+ padding: 30rpx;
212
+ box-sizing: border-box;
213
+ background: #fff8f8;
180
214
 
181
- }
182
- .btn{
183
- .xd-button{
184
- background-color: #DDDDDD !important;
185
- color: #999999 !important;
186
- }
187
- }
188
- }
189
- .item_head{
190
- display: flex;
191
- align-items: center;
192
- font-size: 40rpx;
193
- color: #000000;
194
- font-weight: 500;
195
- .t_icon{
196
- width: 44rpx;
197
- margin-right: 20rpx;
198
- }
215
+ &.P,
216
+ &.Y {
217
+ }
218
+ &.N {
219
+ background: #f3f3f3;
220
+ .item_head {
221
+ color: #bbbbbb;
199
222
  }
200
- .item_sub{
201
- margin-top: 20rpx;
202
- color: #FF4D4A;
203
- font-size: 36rpx;
204
- font-weight: 400;
223
+ .item_sub {
224
+ color: #bbbbbb;
205
225
  }
206
- .ticket_icon{
207
- font-size: 80rpx !important;
208
- position: absolute;
209
- top: 0;
210
- right: 0;
226
+ .ticket_icon {
227
+ color: #d6d6d6;
211
228
  }
212
- .btn{
213
- position: absolute;
214
- right: 20rpx;
215
- bottom: 20rpx;
216
- .xd-button{
217
- height: 30rpx;
218
- width: 100rpx;
219
- font-size: 28rpx;
220
- background-size: cover !important;
221
- background-color: #fb5b3f;
229
+ .btn {
230
+ .xd-button {
231
+ background-color: #dddddd !important;
232
+ color: #999999 !important;
222
233
  }
223
234
  }
224
-
225
235
  }
226
- .dialog_close{
236
+ .item_head {
237
+ display: flex;
238
+ align-items: center;
239
+ font-size: 40rpx;
240
+ color: #000000;
241
+ font-weight: 500;
242
+ .t_icon {
243
+ width: 44rpx;
244
+ margin-right: 20rpx;
245
+ }
246
+ }
247
+ .item_sub {
248
+ margin-top: 20rpx;
249
+ color: #ff4d4a;
250
+ font-size: 36rpx;
251
+ font-weight: 400;
252
+ }
253
+ .ticket_icon {
254
+ font-size: 80rpx !important;
227
255
  position: absolute;
228
- bottom: 0rpx;
229
- left: 50%;
230
- transform: translateX(-50%);
256
+ top: 0;
257
+ right: 0;
258
+ }
259
+ .btn {
260
+ position: absolute;
261
+ right: 20rpx;
262
+ bottom: 20rpx;
263
+ .xd-button {
264
+ height: 30rpx;
265
+ width: 100rpx;
266
+ font-size: 28rpx;
267
+ background-size: cover !important;
268
+ background-color: #fb5b3f;
269
+ }
231
270
  }
232
271
  }
272
+ .dialog_close {
273
+ position: absolute;
274
+ bottom: 0rpx;
275
+ left: 50%;
276
+ transform: translateX(-50%);
277
+ }
278
+ }
233
279
  </style>
@@ -68,7 +68,6 @@
68
68
  </view>
69
69
  <view v-else>
70
70
  <view
71
- v-if="can_take === 'Y'"
72
71
  class="jfb-base-con-list__body-content-list"
73
72
  >
74
73
  <view>
@@ -78,8 +77,7 @@
78
77
  :class="'status_' + item.can_take_num"
79
78
  :style="{
80
79
  backgroundColor:
81
- item.can_take_num === 'Y' ||
82
- item.can_take_num === 'P'
80
+ item.can_take_num === 'Y'
83
81
  ? contentBackground
84
82
  : '#F3F3F3',
85
83
  }"
@@ -114,13 +112,6 @@
114
112
  >{{ btn_txt }}</xd-button
115
113
  >
116
114
  </view>
117
- <view
118
- v-else
119
- class="jfb-base-con-list__body-content-list"
120
- style="padding-bottom: 60rpx"
121
- >
122
- <image mode="widthFix" :src="used_up_url"></image>
123
- </view>
124
115
  </view>
125
116
  </view>
126
117
 
@@ -418,14 +409,16 @@ export default {
418
409
  backgroundRepeat: "no-repeat",
419
410
  // 设置背景颜色
420
411
  backgroundColor: "",
421
- // 设置外边距
422
- margin: "0",
412
+ height: '70rpx',
413
+ width: '450rpx',
414
+ marginTop: '26rpx'
423
415
  }
424
416
  : {
425
417
  // 设置背景颜色
426
418
  backgroundColor: "#FB5B3F",
427
- // 设置外边距
428
- margin: "0",
419
+ height: '70rpx',
420
+ width: '450rpx',
421
+ marginTop: '26rpx'
429
422
  };
430
423
  // 设置按钮文字
431
424
  btn_txt = res.can_take === "Y" ? "一键领取" : "去查看";