jufubao-base 1.0.176-beta1 → 1.0.177-beta1

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 (24) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseCardDelay/Api.js +19 -30
  3. package/src/components/JfbBaseCardDelay/Attr.js +227 -37
  4. package/src/components/JfbBaseCardDelay/JfbBaseCardDelay.vue +254 -79
  5. package/src/components/JfbBaseCardDetailEntry/Attr.js +12 -0
  6. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +14 -0
  7. package/src/components/JfbBaseCardDetailEntry/Mock.js +1 -1
  8. package/src/components/JfbBaseCardEntry/Attr.js +121 -0
  9. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +202 -29
  10. package/src/components/JfbBaseCardGive/Api.js +18 -34
  11. package/src/components/JfbBaseCardGive/Attr.js +29 -36
  12. package/src/components/JfbBaseCardGive/JfbBaseCardGive.vue +463 -80
  13. package/src/components/JfbBaseCardGive/Mock.js +2 -9
  14. package/src/components/JfbBaseCardReceive/Api.js +10 -36
  15. package/src/components/JfbBaseCardReceive/Attr.js +9 -39
  16. package/src/components/JfbBaseCardReceive/JfbBaseCardReceive.vue +382 -81
  17. package/src/components/JfbBaseCardReceiveCover/Api.js +5 -43
  18. package/src/components/JfbBaseCardReceiveCover/Attr.js +57 -32
  19. package/src/components/JfbBaseCardReceiveCover/JfbBaseCardReceiveCover.vue +143 -82
  20. package/src/components/JfbBasePay/Attr.js +12 -0
  21. package/src/components/JfbBasePay/JfbBasePay.vue +4 -4
  22. package/src/components/JfbBaseRechargeOrder/JfbBaseRechargeOrder.vue +2 -2
  23. package/src/components/JfbBaseRechargeOrderDetail/JfbBaseRechargeOrderDetail.vue +135 -12
  24. package/src/components/JfbBaseRechargeSuccess/JfbBaseRechargeSuccess.vue +1 -1
@@ -8,51 +8,21 @@ export default {
8
8
  content: (data) => {
9
9
  return [
10
10
  {
11
- label: '背景颜色:',
12
- ele: 'xd-color',
13
- valueKey: 'bgcolor',
14
- value: data.bgcolor || '',
15
- placeholder: '请输入占位框背景颜色',
16
- classNmae: 'input80',
17
- rules: [
18
- {
19
- required: true,
20
- message: '请输入占位框背景颜色',
21
- trigger: 'blur'
22
- },
23
- ]
24
- },
25
- {
26
- label: '选中路径:',
11
+ label: '使用地址:',
27
12
  ele: 'xd-select-pages-path',
28
- valueKey: 'select-pages-path',
29
- value: data['select-pages-path'] || null,
13
+ valueKey: 'use_url',
14
+ groupKey: 'advanced',
15
+ placeholder: '请选择使用地址',
16
+ value: null,
30
17
  setting: {
31
- router: XdBus.getParentApi('getPagesTree')
18
+ router: XdBus.getParentApi('getPagesTree'),
32
19
  },
33
- },
34
- data.bgcolor && {
35
- label: '高度:',
36
- ele: 'el-input',
37
- type: 'number',
38
- valueKey: 'height',
39
- value: data.height || 100,
40
- placeholder: '请输入占位框高度,单位像素,默认:10px',
41
- className: 'input80',
20
+ inline: false,
42
21
  rules: [
43
- {
44
- required: true,
45
- message: '请输入占位框高度',
46
- trigger: 'blur'
47
- },
22
+ { required: true, message: '请选择领取地址', trigger: ['blur', 'change'] },
48
23
  ]
49
24
  },
50
- {
51
- label: '', //label
52
- ele: 'slot', //package 名称
53
- slot: 'is_reference',
54
- },
55
- ].filter(i=>i)
25
+ ].filter(i => i)
56
26
  },
57
27
  advanced: [],
58
28
  };
@@ -2,110 +2,411 @@
2
2
  <view
3
3
  class="jfb-base-card-receive"
4
4
  @click="handleEditxSelect"
5
- :class="{ editx : isEditx && active }"
5
+ :class="{ editx: isEditx && active }"
6
6
  >
7
7
  <!--#ifdef H5-->
8
8
  <view
9
9
  class="jfb-base-card-receive__edit"
10
- :class="{ editx : isEditx && active }"
10
+ :class="{ editx: isEditx && active }"
11
11
  v-if="isEditx && active"
12
12
  >
13
- <view class="jfb-base-card-receive__edit-icon" @click="delEdit">删除</view>
13
+ <view class="jfb-base-card-receive__edit-icon" @click="delEdit"
14
+ >删除</view
15
+ >
14
16
  </view>
15
17
  <!-- #endif -->
16
- <view class="jfb-base-card-receive__body">
17
- <view>测试插件( {{containerId}} )</view>
18
+ <view class="jfb-base-card-receive__body" v-if="info !== null">
19
+ <view
20
+ class="qrcode_card"
21
+ :style="{ background: info['theme']['color'], backgroundSize: '100%' }"
22
+ >
23
+ <view
24
+ :style="{ backgroundImage: 'url(' + info['theme']['image'] + ')' }"
25
+ >
26
+ <view class="card-title"
27
+ ><view>{{ info["card_type_name"] }}</view></view
28
+ >
29
+ <view class="card_info">
30
+ <view class="card_type">券号:{{ info.card_number }}</view>
31
+ <view class="card_sec">有效期:{{ info.end_time }}</view>
32
+ <view class="card_sec"
33
+ >余额:{{ info.card_point }}{{ info.unit }}</view
34
+ >
35
+ <view
36
+ class="card_other"
37
+ v-if="info.other_card_point && info.card_point_type === 2"
38
+ >
39
+ <text>购买其他物品可抵:</text
40
+ ><text>{{ info.other_card_point }} {{ info.unit }}</text>
41
+ </view>
42
+ </view>
43
+ </view>
44
+ </view>
45
+
46
+ <view class="jfb-base-card-receive__body-status">
47
+ <view
48
+ style="margin-bottom: 32rpx"
49
+ class="jfb-base-card-receive__body-status-item"
50
+ >
51
+ <view>领取状态:</view>
52
+ <view
53
+ :style="{
54
+ color:
55
+ info.transfer_record.status === 'Y' ? '#29CB97' : mainColor,
56
+ }"
57
+ >{{ info.transfer_record.status_name }}</view
58
+ >
59
+ </view>
60
+ <view class="jfb-base-card-receive__body-status-item">
61
+ <view>赠送时间:</view>
62
+ <view>{{ info.transfer_record.transfer_time }}</view>
63
+ </view>
64
+ </view>
65
+
66
+ <view
67
+ v-if="info.site_entry_settings && info.site_entry_settings.length > 0"
68
+ class="jfb-base-card-receive__body-business"
69
+ >
70
+ <view class="jfb-base-card-receive__body-business-title"
71
+ >支持业务板块</view
72
+ >
73
+ <view
74
+ style="
75
+ display: flex;
76
+ align-content: center;
77
+ justify-content: flex-start;
78
+ "
79
+ >
80
+ <view class="jfb-base-card-receive__body-business-content">
81
+ <view
82
+ class="jfb-base-card-receive__body-business-content-item"
83
+ v-for="(item, index) in info.site_entry_settings"
84
+ :key="index"
85
+ >
86
+ <view><image :src="item.image_url"></image></view>
87
+ <view>{{ item.entry_name }}</view>
88
+ </view>
89
+ </view>
90
+ </view>
91
+ </view>
92
+ <view v-if="info.transfer_record.status !== 'Y'" style="height: 110rpx"></view>
93
+ <view v-if="info.transfer_record.status !== 'Y'" class="jfb-base-card-receive__body-footer" :style="prod_bottom">
94
+ <xd-button width="670rpx" type="primary" @click="handleReceive"
95
+ >立即领取</xd-button
96
+ >
97
+ </view>
98
+ <xd-dailog
99
+ title=""
100
+ :cancel="false"
101
+ :confirm="false"
102
+ :show.sync="dialogShow"
103
+ >
104
+ <view class="dialog">
105
+ <view class="dialog-title">领取失败</view>
106
+ <view class="dialog-content">{{ errMsg }}</view>
107
+ <xd-button @click="dialogShow = false" width="360rpx" type="primary"
108
+ >确定</xd-button
109
+ >
110
+ </view>
111
+ </xd-dailog>
112
+ <xd-dailog
113
+ title=""
114
+ :cancel="false"
115
+ :confirm="false"
116
+ :show.sync="resultDialog"
117
+ >
118
+ <view class="dialog">
119
+ <view class="dialog-title">领取成功</view>
120
+ <view class="dialog-content">恭喜您领取成功</view>
121
+ <view class="dialog-notice">票券已放入您的票券列表中</view>
122
+ <!-- <button open-type="share">通知微信好友</button> -->
123
+ <xd-button @click="toUse" width="360rpx" type="primary"
124
+ >去使用</xd-button
125
+ >
126
+ </view>
127
+ </xd-dailog>
18
128
  </view>
19
129
  </view>
20
130
  </template>
21
131
 
22
132
  <script>
23
- import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
- import { jfbRootExec } from "@/utils/xd.event";
25
- import JfbBaseCardReceiveMixin from "./JfbBaseCardReceiveMixin";
26
- import { getContainerPropsValue } from "@/utils/xd.base";
27
- import componentsMixins from "@/mixins/componentsMixins";
28
- import extsMixins from "@/mixins/extsMixins";
29
- export default {
30
- name: "JfbBaseCardReceive",
31
- components: {
32
- XdFontIcon
33
- },
34
- mixins: [
35
- componentsMixins, extsMixins, JfbBaseCardReceiveMixin
36
- ],
37
- data() {
38
- return {
133
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
134
+ import XdButton from "@/components/XdButton/XdButton";
135
+ import XdDailog from "@/components/XdDailog/XdDailog";
136
+ import { jfbRootExec } from "@/utils/xd.event";
137
+ import JfbBaseCardReceiveMixin from "./JfbBaseCardReceiveMixin";
138
+ import { getContainerPropsValue } from "@/utils/xd.base";
139
+ import componentsMixins from "@/mixins/componentsMixins";
140
+ import extsMixins from "@/mixins/extsMixins";
141
+ import getServiceUrl from "@/common/getServiceUrl";
142
+ import colorCardMixins from "@/mixins/colorCardMixins";
39
143
 
40
- //todo
41
- }
144
+ export default {
145
+ name: "JfbBaseCardReceive",
146
+ components: {
147
+ XdFontIcon,
148
+ XdButton,
149
+ XdDailog,
150
+ },
151
+ mixins: [
152
+ componentsMixins,
153
+ extsMixins,
154
+ JfbBaseCardReceiveMixin,
155
+ colorCardMixins,
156
+ ],
157
+ data() {
158
+ return {
159
+ info: null,
160
+ transfer_auth_code: null,
161
+ dialogShow: false,
162
+ resultDialog: false,
163
+ isPreview: false,
164
+ errMsg: "",
165
+ };
166
+ },
167
+ computed: {
168
+ prod_bottom() {
169
+ return this.fixedStyle({ height: 0, zIndex: 111 });
42
170
  },
43
- watch: {
44
- container(value, oldValue) {
45
- if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
46
- if (this.$configProject['isPreview']) this.init(value)
47
- },
171
+ },
172
+ watch: {
173
+ container(value, oldValue) {
174
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
175
+ if (this.$configProject["isPreview"]) this.init(value);
48
176
  },
49
- created() {
50
- this.init(this.container);
177
+ },
178
+ created() {
179
+ this.init(this.container);
180
+ console.log(this.layoutInfo, "apapap");
51
181
 
52
- //todo
182
+ //todo
183
+ },
184
+ methods: {
185
+ onJfbLoad(options) {
186
+ debugger
187
+ this.transfer_auth_code = options.transfer_auth_code;
188
+ this.getDetail();
53
189
  },
54
- methods: {
55
- onJfbLoad(options) {
56
-
57
- // jfbRootExec('baiduUserLogin', {
58
-
59
- // vm: this,// data: {
60
-
61
- // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
62
-
63
- // }
64
-
65
- // }).then().catch()
66
- },
67
- /**
68
- * @description 监听事件变化
69
- * @param container {object} 业务组件对象自己
70
- */
71
- init(container) {
72
-
73
- //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
74
-
75
- //this.height = getContainerPropsValue(container, 'content.height', 10);
76
- },
77
- onJfbScroll(options) {
78
- console.log('event.onJfbScroll', options)
79
- },
80
- onJfbReachBottom(options) {
81
- console.log('event.onJfbReachBottom', options)
82
- },
83
- onJfbShow(options) {
84
- console.log('event.onJfbShow', options)
85
- },
86
- onJfbHide(options) {
87
- console.log('event.onJfbHide', options)
88
- },
89
- onJfbBack(options) {
90
- console.log('event.onJfbBack', options)
91
- },
92
- onJfbUpdate(...data) {
93
- console.log('event.onJfbUpdate', data)
94
- },
95
- onJfbCustomEvent(options) {
96
- console.log('event.onJfbReachBottom', options)
97
- },
98
- }
99
- }
100
-
190
+ getDetail() {
191
+ jfbRootExec("getReceiveDetailCard", {
192
+ vm: this,
193
+ data: {
194
+ transfer_auth_code: this.transfer_auth_code,
195
+ is_show_entry_settings: "Y",
196
+ },
197
+ })
198
+ .then((res) => {
199
+ this.info = res;
200
+ this.info["theme"] = this.getCardThemes(this.info["card_type_name"]);
201
+ if (
202
+ this.info &&
203
+ this.info.site_entry_settings &&
204
+ this.info.site_entry_settings.length > 0
205
+ ) {
206
+ this.info.site_entry_settings =
207
+ this.info.site_entry_settings.filter((item) => {
208
+ item["image_url"] = getServiceUrl(item["image_url"]);
209
+ return this.info.business_codes.includes(item.business_code);
210
+ });
211
+ }
212
+ })
213
+ .catch((err) => {
214
+ console.log(err, "err");
215
+ });
216
+ },
217
+ handleReceive() {
218
+ jfbRootExec("receiveCard", {
219
+ vm: this,
220
+ data: {
221
+ transfer_auth_code: this.transfer_auth_code,
222
+ },
223
+ })
224
+ .then((res) => {
225
+ if (res.error_code) {
226
+ this.dialogShow = true;
227
+ this.errMsg = res.error_msg;
228
+ } else {
229
+ this.resultDialog = true;
230
+ this.getDetail();
231
+ }
232
+ })
233
+ .catch((err) => {
234
+ console.log(err, "err");
235
+ });
236
+ },
237
+ toUse() {
238
+ this.$xdUniHelper.navigateTo({
239
+ url: `${this.use_url}`,
240
+ });
241
+ },
242
+ /**
243
+ * @description 监听事件变化
244
+ * @param container {object} 业务组件对象自己
245
+ */
246
+ init(container) {
247
+ this.use_url = getContainerPropsValue(container, "content.use_url", {
248
+ value: "",
249
+ }).value;
250
+ },
251
+ },
252
+ };
101
253
  </script>
102
254
 
103
255
  <style scoped lang="less">
104
- @import "./JfbBaseCardReceiveLess.less";
256
+ @import "./JfbBaseCardReceiveLess.less";
257
+
258
+ .jfb-base-card-receive {
259
+ &__body {
260
+ padding: 28rpx;
261
+ color: #333;
262
+ .qrcode_card {
263
+ position: relative;
264
+ border-radius: unit(16, rpx);
265
+ &-title {
266
+ display: flex;
267
+ font-size: 32rpx;
268
+ }
269
+ .card-title {
270
+ height: unit(56, rpx);
271
+ display: flex;
272
+ justify-content: flex-start;
273
+ align-items: center;
105
274
 
106
- .jfb-base-card-receive {
107
- &__body{
275
+ & > view {
276
+ padding: 0 unit(50, rpx);
277
+ font-size: unit(24, rpx);
278
+ line-height: unit(56, rpx);
279
+ background: rgba(102, 102, 102, 0.4);
280
+ color: #fff;
281
+ border-radius: unit(16, rpx) 0 unit(16, rpx) 0;
282
+ display: flex;
283
+ align-items: center;
284
+ }
285
+ }
286
+ .card_info {
287
+ color: #ffffff;
288
+ font-size: 28rpx;
289
+ padding-left: 40rpx;
290
+ background-size: 100%;
291
+ min-height: unit(200, rpx);
108
292
 
293
+   .card_type {
294
+ font-size: 40rpx;
295
+ font-weight: 600;
296
+ margin-top: 20rpx;
297
+ }
298
+ .card_sec {
299
+ margin: 12rpx 0;
300
+ }
301
+ .card_other {
302
+ background-color: rgba(255, 255, 255, 0.2);
303
+ border-radius: 8rpx;
304
+ padding: 8rpx 20rpx;
305
+ display: inline-block;
306
+ }
307
+ }
308
+ }
309
+ .dialog {
310
+ padding-top: 70rpx;
311
+ .dialog-title {
312
+ font-size: 40rpx;
313
+ font-weight: 500;
314
+ text-align: center;
315
+ }
316
+ .dialog-content {
317
+ font-size: 36rpx;
318
+ margin: 40rpx 0;
319
+ text-align: center;
320
+ }
321
+ .dialog-notice {
322
+ font-size: 24rpx;
323
+ color: rgba(255, 87, 51, 1);
324
+ text-align: center;
325
+ margin-bottom: 40rpx;
326
+ }
327
+ }
328
+ &-footer {
329
+ position: fixed;
330
+ left: 0;
331
+ right: 0;
332
+ height: unit(100, rpx);
333
+ display: flex;
334
+ justify-content: center;
335
+ align-items: center;
336
+ background: #fff;
337
+ }
338
+ &-status {
339
+ background: #fff;
340
+ border-radius: unit(16, rpx);
341
+ margin-top: unit(24, rpx);
342
+ padding: 40rpx;
343
+ font-size: 26rpx;
344
+ &-item {
345
+ display: flex;
346
+ }
347
+ }
348
+ &-business {
349
+ background: #fff;
350
+ border-radius: unit(16, rpx);
351
+ margin-top: unit(24, rpx);
352
+
353
+ &-title {
354
+ font-size: unit(28, rpx);
355
+ font-weight: 500;
356
+ text-align: center;
357
+ padding: unit(28, rpx);
358
+ }
359
+
360
+ &-content {
361
+ display: flex;
362
+ justify-content: flex-start;
363
+ align-items: center;
364
+ flex-flow: wrap;
365
+ padding-left: unit(30, rpx);
366
+
367
+ & > view {
368
+ width: unit(120, rpx);
369
+ margin-right: unit(10, rpx);
370
+ flex-shrink: 0;
371
+ display: flex;
372
+ justify-content: center;
373
+ flex-direction: column;
374
+ align-items: center;
375
+
376
+ & > view:first-child {
377
+ width: unit(76, rpx);
378
+ height: unit(76, rpx);
379
+ overflow: hidden;
380
+
381
+ & > image {
382
+ height: 100%;
383
+ width: 100%;
384
+ }
385
+ }
386
+
387
+ & > view:nth-child(2) {
388
+ margin-top: unit(10, rpx);
389
+ font-size: unit(24, rpx);
390
+ line-height: unit(36, rpx);
391
+ margin-bottom: unit(10, rpx);
392
+ .uni-cut(1,36);
393
+ }
394
+
395
+ & > view:nth-child(3) {
396
+ display: flex;
397
+ justify-content: flex-start;
398
+ align-items: center;
399
+ flex-shrink: 0;
400
+ font-size: unit(20, rpx);
401
+ color: #999;
402
+ }
403
+
404
+ &:last-child {
405
+ margin-right: 0;
406
+ }
407
+ }
408
+ }
109
409
  }
110
410
  }
411
+ }
111
412
  </style>
@@ -7,52 +7,14 @@
7
7
  module.exports = [
8
8
  {
9
9
  //设置方法名字当别忘记加上【模块名字】:Card
10
- mapFnName: 'getCardByIdFilmSquate',
11
- title: '获取电影广场列表',
12
- path: '/api/account/film/list-film-square',
10
+ mapFnName: 'getReceiveGreetingCard',
11
+ title: '获取祝福语',
12
+ path: '/card/v1/card-transfer/get-record',
13
13
  isRule: false,
14
14
  params: {
15
- last_key: ['当前页', 'Number', '必选'],
16
- page_size: ['每页数量', 'Number', '必选'],
15
+ transfer_auth_code: ['转增授权码', 'Number', '必选'],
17
16
  },
18
17
  isConsole: true,
19
18
  disabled: true,
20
- },
21
- {
22
- //设置方法名字当别忘记加上【模块名字】:Card
23
- mapFnName: 'updateCardFilmPaiqiDate',
24
- title: '更新排期',
25
- path: '/api/account/film/paiqi-date',
26
- isRule: false,
27
- params: {
28
- film_id: ['电影id', 'Number', '必选'],
29
- cinema_id: ['影院id', 'Number', '必选'],
30
- },
31
- isConsole: true,
32
- disabled: true,
33
- },
34
- {
35
- //设置方法名字当别忘记加上【模块名字】:Card
36
- mapFnName: 'removeCardFilmAddress',
37
- title: '删除我的配送地址',
38
- path: '/api/account/film/paiqi-date',
39
- isRule: false,
40
- params: {
41
- film_id: ['电影id', 'Number', '必选'],
42
- },
43
- isConsole: true,
44
- disabled: true,
45
- },
46
- {
47
- //设置方法名字当别忘记加上【模块名字】:Card
48
- mapFnName: 'addCardFilmcart',
49
- title: '添加购物车',
50
- path: '/api/account/film/paiqi-date',
51
- isRule: false,
52
- params: {
53
- film_id: ['电影id', 'Number', '必选'],
54
- },
55
- isConsole: true,
56
- disabled: true,
57
- },
19
+ }
58
20
  ];