jufubao-base 1.0.118 → 1.0.119-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 (75) hide show
  1. package/package.json +4 -3
  2. package/src/components/JfbBaseCard/Attr.js +380 -287
  3. package/src/components/JfbBaseCard/JfbBaseCard.vue +51 -2
  4. package/src/components/JfbBaseCardDetailEntry/JfbBaseCardDetailEntry.vue +0 -4
  5. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +6 -1
  6. package/src/components/JfbBaseConFlashHome/Api.js +60 -0
  7. package/src/components/JfbBaseConFlashHome/Attr.js +129 -0
  8. package/src/components/JfbBaseConFlashHome/JfbBaseConFlashHome.vue +388 -0
  9. package/src/components/JfbBaseConFlashHome/JfbBaseConFlashHomeLess.less +80 -0
  10. package/src/components/JfbBaseConFlashHome/JfbBaseConFlashHomeMixin.js +30 -0
  11. package/src/components/JfbBaseConFlashHome/Mock.js +5 -0
  12. package/src/components/JfbBaseConFlashList/Api.js +60 -0
  13. package/src/components/JfbBaseConFlashList/Attr.js +117 -0
  14. package/src/components/JfbBaseConFlashList/JfbBaseConFlashList.vue +656 -0
  15. package/src/components/JfbBaseConFlashList/JfbBaseConFlashListLess.less +80 -0
  16. package/src/components/JfbBaseConFlashList/JfbBaseConFlashListMixin.js +30 -0
  17. package/src/components/JfbBaseConFlashList/Mock.js +5 -0
  18. package/src/components/JfbBaseConList/JfbBaseConList.vue +4 -2
  19. package/src/components/JfbBaseConPhone/Api.js +70 -0
  20. package/src/components/JfbBaseConPhone/Attr.js +10 -0
  21. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +486 -0
  22. package/src/components/JfbBaseConPhone/JfbBaseConPhoneLess.less +80 -0
  23. package/src/components/JfbBaseConPhone/JfbBaseConPhoneMixin.js +30 -0
  24. package/src/components/JfbBaseConPhone/Mock.js +26 -0
  25. package/src/components/JfbBaseMySetting/JfbBaseMySetting.vue +2 -2
  26. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +1 -1
  27. package/src/components/JfbBaseSaasBlessDetail/Api.js +59 -0
  28. package/src/components/JfbBaseSaasBlessDetail/Attr.js +24 -0
  29. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetail.vue +341 -0
  30. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailLess.less +80 -0
  31. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailMixin.js +30 -0
  32. package/src/components/JfbBaseSaasBlessDetail/Mock.js +5 -0
  33. package/src/components/JfbBaseSaasBlessDialog/Api.js +25 -0
  34. package/src/components/JfbBaseSaasBlessDialog/Attr.js +50 -0
  35. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialog.vue +309 -0
  36. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogLess.less +80 -0
  37. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogMixin.js +30 -0
  38. package/src/components/JfbBaseSaasBlessDialog/Mock.js +5 -0
  39. package/src/components/JfbBaseSaasBlessReceive/Api.js +25 -0
  40. package/src/components/JfbBaseSaasBlessReceive/Attr.js +24 -0
  41. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceive.vue +201 -0
  42. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveLess.less +80 -0
  43. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveMixin.js +30 -0
  44. package/src/components/JfbBaseSaasBlessReceive/Mock.js +5 -0
  45. package/src/components/JfbBaseSaasHome/Api.js +48 -0
  46. package/src/components/JfbBaseSaasHome/Attr.js +35 -0
  47. package/src/components/JfbBaseSaasHome/JfbBaseSaasHome.vue +402 -0
  48. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeLess.less +80 -0
  49. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeMixin.js +30 -0
  50. package/src/components/JfbBaseSaasHome/Mock.js +5 -0
  51. package/src/components/JfbBaseSaasLogin/Api.js +98 -0
  52. package/src/components/JfbBaseSaasLogin/Attr.js +59 -0
  53. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLogin.vue +700 -0
  54. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginLess.less +80 -0
  55. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginMixin.js +30 -0
  56. package/src/components/JfbBaseSaasLogin/Mock.js +5 -0
  57. package/src/components/JfbBaseSaasLogin/saaslogin_copy.vue +410 -0
  58. package/src/components/JfbBaseSaasNewsDetail/Api.js +27 -0
  59. package/src/components/JfbBaseSaasNewsDetail/Attr.js +14 -0
  60. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetail.vue +144 -0
  61. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailLess.less +80 -0
  62. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailMixin.js +30 -0
  63. package/src/components/JfbBaseSaasNewsDetail/Mock.js +5 -0
  64. package/src/components/JfbBaseSaasNewsList/Api.js +26 -0
  65. package/src/components/JfbBaseSaasNewsList/Attr.js +24 -0
  66. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsList.vue +182 -0
  67. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListLess.less +80 -0
  68. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListMixin.js +30 -0
  69. package/src/components/JfbBaseSaasNewsList/Mock.js +5 -0
  70. package/src/components/JfbBaseSassPhoneCollect/Api.js +51 -0
  71. package/src/components/JfbBaseSassPhoneCollect/Attr.js +438 -0
  72. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollect.vue +266 -0
  73. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollectLess.less +80 -0
  74. package/src/components/JfbBaseSassPhoneCollect/JfbBaseSassPhoneCollectMixin.js +30 -0
  75. package/src/components/JfbBaseSassPhoneCollect/Mock.js +5 -0
@@ -0,0 +1,309 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-saas-bless-dialog"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-saas-bless-dialog__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-saas-bless-dialog__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-saas-bless-dialog__body">
17
+ <view class="dialog_wrap" v-if="isShow">
18
+ <view class="dialog_mask"></view>
19
+ <view class="dialog_content">
20
+ <view v-if="showIndicator" class="dialog_num">
21
+ <text>{{currentIndex + 1}}/{{ list.length }}</text>
22
+ </view>
23
+ <view class="dialog_main">
24
+ <view v-if="showIndicator" class="_left" @click="handleChange('left')">
25
+ <xd-font-icon icon="iconxiangzuo_xian"></xd-font-icon>
26
+ </view>
27
+ <view class="_cont" v-if="currCover && currCover.bless_cover_config">
28
+ <image class="dialog_image" :src="currCover.bless_cover_config.material_image.path"></image>
29
+ <view class="pop_tip">{{currCover.bless_type_name}} {{ currCover.bless_card_number }}张</view>
30
+ <view class="bless_wrap">
31
+ <view class="bless_name">{{currCover.bless_cover_config.material_nickname}}</view>
32
+ <view class="bless_cont">{{currCover.bless_cover_config.material_content}}</view>
33
+ <!-- <view class="bless_comp">{{ currCover.bless_cover_config.material_end }}</view> -->
34
+ </view>
35
+ <xd-button class="btn_image" type="primary" @click="handleToDetail">去看看</xd-button>
36
+ </view>
37
+ <view v-if="showIndicator" class="_right" @click="handleChange('right')">
38
+ <xd-font-icon icon="iconxiangyou_xian"></xd-font-icon>
39
+ </view>
40
+ </view>
41
+ <xd-font-icon
42
+ @click="handleClose"
43
+ class="dialog_close"
44
+ icon="iconguanbi_xian"
45
+ color="#fff"
46
+ size="64"
47
+ ></xd-font-icon>
48
+
49
+ </view>
50
+ </view>
51
+ <view
52
+ v-if="isPreview"
53
+ :style="{ background: backgroundColor, color: warningColor }"
54
+ class="jfb-base-con-dialog__body-pop"
55
+ >弹框方便编辑(占位),在线上此模块不显</view>
56
+ </view>
57
+ </view>
58
+ </template>
59
+
60
+ <script>
61
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
62
+ import XdButton from "@/components/XdButton/XdButton"
63
+ import { jfbRootExec } from "@/utils/xd.event";
64
+ import JfbBaseSaasBlessDialogMixin from "./JfbBaseSaasBlessDialogMixin";
65
+ import { getContainerPropsValue } from "@/utils/xd.base";
66
+ import getServiceUrl from '@/common/getServiceUrl'
67
+ import componentsMixins from "@/mixins/componentsMixins";
68
+ import extsMixins from "@/mixins/extsMixins";
69
+ export default {
70
+ name: "JfbBaseSaasBlessDialog",
71
+ components: {
72
+ XdFontIcon,
73
+ XdButton
74
+ },
75
+ mixins: [
76
+ componentsMixins, extsMixins, JfbBaseSaasBlessDialogMixin
77
+ ],
78
+ data() {
79
+ return {
80
+ isPreview: false, //是否预览
81
+ isShow: false,
82
+ currentImage: "",
83
+ currentIndex: 0,
84
+ list: [],
85
+
86
+ blessDetailUrl: "", //祝福详情url
87
+ type: "",
88
+ isHide: false,
89
+ }
90
+ },
91
+ watch: {
92
+ container(value) {
93
+ this.init(value)
94
+ }
95
+ },
96
+ computed: {
97
+ currCover(){
98
+ if(this.currentIndex < 0) return this.list[0];
99
+ if(this.currentIndex > this.list.length - 1) return this.list[this.list.length - 1];
100
+ return this.list[this.currentIndex]
101
+ },
102
+ showIndicator(){
103
+ return this.list.length > 1
104
+ }
105
+ },
106
+ created() {
107
+ this.isPreview = this.$configProject.isPreview;
108
+ this.init(this.container);
109
+ },
110
+ methods: {
111
+ onJfbLoad(options) {
112
+
113
+ },
114
+ /**
115
+ * @description 监听事件变化
116
+ * @param container {object} 业务组件对象自己
117
+ */
118
+ init(container) {
119
+ this.type = getContainerPropsValue(container, "content.type", 1);
120
+ this.isHide = getContainerPropsValue(container, "content.isHide", false);
121
+ this.blessDetailUrl = getContainerPropsValue(container, 'content.blessDetailUrl', {value: "/main/saas/blessDetail"}).value;
122
+ if (this.isPreview) {
123
+ this.isShow = !this.isHide;
124
+ }
125
+ },
126
+ getList(){
127
+ jfbRootExec("getBlessList", {
128
+ vm: this,
129
+ data: {
130
+ page_size: 10,
131
+ page_token: '1'
132
+ }
133
+ }).then(res => {
134
+ this.handleBlessList(res);
135
+ })
136
+ },
137
+ handleBlessList(res){
138
+ if(res.list.length > 0) this.isShow = true;
139
+ this.list = res.list.map(item => {
140
+ try{
141
+ item['bless_cover_config'] = JSON.parse(item.bless_cover_config);
142
+ }catch(err){
143
+ item['bless_cover_config'] = {};
144
+ }
145
+ return item;
146
+ });
147
+ },
148
+ handleToDetail(){
149
+ const { bless_id } = this.currCover;
150
+ this.$xdUniHelper.navigateTo({
151
+ url: `${this.blessDetailUrl}?bless_id=${bless_id}`,
152
+ });
153
+ },
154
+ handleClose(){
155
+ if (this.currentIndex == this.list.length - 1 || this.type == 2) {
156
+ this.isShow = false;
157
+ return;
158
+ }
159
+ this.currentIndex = this.currentIndex + 1;
160
+ this.isShow = false;
161
+ },
162
+ handleChange(type){
163
+ this.currentIndex = type === "left" ? this.currentIndex - 1 : this.currentIndex + 1;
164
+ this.currentIndex = Math.max(0, Math.min(this.currentIndex, this.list.length - 1));
165
+ },
166
+ onJfbScroll(options) {
167
+ console.log('event.onJfbScroll', options)
168
+ },
169
+ onJfbReachBottom(options) {
170
+ console.log('event.onJfbReachBottom', options)
171
+ },
172
+ onJfbShow(options) {
173
+ this.isShow=false
174
+ this.onJfbLoad(options);
175
+ },
176
+ onJfbHide(options) {
177
+ console.log('event.onJfbHide', options)
178
+ },
179
+ onJfbBack(options) {
180
+ console.log('event.onJfbBack', options)
181
+ },
182
+ onJfbUpdate(...data) {
183
+ console.log('event.onJfbUpdate', data)
184
+ },
185
+ onJfbCustomEvent({action, data}) {
186
+ if(action === '@showBaseBlessDialog'){
187
+ this.getList();
188
+ }
189
+ console.log('event.onJfbReachBottom', options)
190
+ },
191
+ }
192
+ }
193
+
194
+ </script>
195
+
196
+ <style scoped lang="less">
197
+ @import "./JfbBaseSaasBlessDialogLess.less";
198
+
199
+ .jfb-base-saas-bless-dialog {
200
+ &__body{
201
+ .dialog_wrap{
202
+ position: fixed;
203
+ top: 0;
204
+ bottom: 0;
205
+ left: 0;
206
+ right: 0;
207
+ z-index: 3000;
208
+
209
+ .dialog_mask{
210
+ position: absolute;
211
+ top: 0;
212
+ bottom: 0;
213
+ left: 0;
214
+ right: 0;
215
+ background: rgba(0, 0, 0, 0.5);
216
+ }
217
+ .dialog_content{
218
+ max-height: unit(1000, rpx);
219
+ overflow-y: auto;
220
+ overflow-x: hidden;
221
+ position: absolute;
222
+ top: 50%;
223
+ left: 50%;
224
+ transform: translate(-50%, -50%);
225
+ display: flex;
226
+ flex-direction: column;
227
+
228
+ .dialog_num{
229
+ margin: 0 auto;
230
+ background: rgba(255, 255, 255, 0.5);
231
+ border-radius: unit(40, rpx);
232
+ padding: unit(8, rpx) unit(24, rpx);
233
+ color: #fff;
234
+ font-size: unit(40, rpx);
235
+ }
236
+ .dialog_close{
237
+ margin: 0 auto;
238
+ }
239
+ .dialog_main{
240
+ display: flex;
241
+ align-items: center;
242
+
243
+ ._left{
244
+ background: rgba(255, 255, 255, 0.1);
245
+ padding: unit(40, rpx) unit(10, rpx);
246
+ color: #fff;
247
+ border-radius: unit(40, rpx);
248
+ }
249
+ ._right{
250
+ background: rgba(255, 255, 255, 0.1);
251
+ padding: unit(40, rpx) unit(10, rpx);
252
+ color: #fff;
253
+ border-radius: unit(40, rpx);
254
+ }
255
+ ._cont{
256
+ min-width: unit(600, rpx);
257
+ min-height: unit(800, rpx);
258
+ height: unit(800, rpx);
259
+ display: flex;
260
+ align-items: center;
261
+ flex-direction: column;
262
+ margin: 20rpx;
263
+ position: relative;
264
+ background-color: #FFFFFF;
265
+ border-radius: 16rpx;
266
+
267
+ .dialog_image {
268
+ width: 100%;
269
+ height: 328rpx;
270
+ }
271
+ .pop_tip{
272
+ width: 100%;
273
+ padding: 20rpx 32rpx;
274
+ background-color: #FFF2CD;
275
+ box-sizing: border-box;
276
+ color: #FA2300;
277
+ font-size: 28rpx;
278
+ font-weight: 400;
279
+ }
280
+ .bless_wrap{
281
+ padding: 48rpx 32rpx;
282
+ width: 100%;
283
+ box-sizing: border-box;
284
+ .bless_name{
285
+ font-size: 36rpx;
286
+ color: #333333;
287
+ font-weight: 500;
288
+ }
289
+ .bless_cont{
290
+ font-size: 32rpx;
291
+ color: #999999;
292
+ font-weight: 400;
293
+ margin-top: 32rpx;
294
+ }
295
+ .bless_comp{
296
+ text-align: right;
297
+ }
298
+ }
299
+ .btn_image{
300
+ width: unit(448, rpx);
301
+ height: unit(70, rpx);
302
+ }
303
+ }
304
+ }
305
+ }
306
+ }
307
+ }
308
+ }
309
+ </style>
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @desc 获取绝对路径完整地址
3
+ * @param @path
4
+ **/
5
+ //例如:https://image.jufubao.cn/20220501010108/image/bg/default_gonghui_bg.png
6
+ @basePath: 'business/';
7
+ @doMain: '//sandbox-img.jufubao.cn/';
8
+
9
+ .getBusinessImageUrl(@path, @size: 'size8') {
10
+ @url: "@{doMain}@{basePath}@{path}?x-oss-process=style/@{size}";
11
+ background-image: url(@url);
12
+ }
13
+
14
+ //start
15
+ .jfb-base-saas-bless-dialog {
16
+ border: 1px dashed rgba(0, 0, 0, 0);
17
+ box-sizing: border-box;
18
+ min-height: unit(50, rpx);
19
+
20
+ &__body{
21
+ position: relative;
22
+ overflow: hidden;
23
+ z-index: 2
24
+ }
25
+
26
+ &.editx {
27
+ position: relative;
28
+ border: 1px dashed blue;
29
+ box-sizing: border-box;
30
+ z-index: 3
31
+
32
+ }
33
+
34
+ &:hover {
35
+ border: 1px dashed blue;
36
+ }
37
+
38
+ &.noBorder {
39
+ border-color: rgba(0,0,0,0);
40
+ border-width: 0;
41
+ }
42
+
43
+
44
+ &__edit {
45
+ cursor: pointer;
46
+ position: absolute;
47
+ right: unit(0, rpx);
48
+ top: unit(-52, rpx);
49
+ height: unit(50, rpx);
50
+ line-height: unit(50, rpx);
51
+ display: flex;
52
+ justify-content: center;
53
+ align-items: center;
54
+ background: rgba(0, 0, 0, .6);
55
+ border-radius: unit(10, rpx);
56
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
57
+ color: #fff;
58
+ font-size: unit(22, rpx);
59
+
60
+ &-icon{
61
+ padding: 0 unit(20, rpx);
62
+ }
63
+
64
+ &.editx {
65
+ box-sizing: border-box;
66
+
67
+ }
68
+ }
69
+ }
70
+ //end
71
+
72
+
73
+ /**notPreview**/
74
+ .jfb-base-saas-bless-dialog {
75
+ &:before {
76
+ content: " ";
77
+ display: table;
78
+ }
79
+ }
80
+ /**endNotPreview**/
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+
4
+ //@AttrImport
5
+ import Attr from "./Attr";
6
+ //@EndAttrImport
7
+
8
+
9
+ export default {
10
+ data() {
11
+ return {
12
+ //#ifdef H5
13
+
14
+ //@AttrData
15
+ Attr:{}, //对外开发编辑属性
16
+ //@EndAttrData
17
+
18
+ // #endif
19
+ cssRoot: 'jfb-base-saas-bless-dialog'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+ aaaa: {}
5
+ }
@@ -0,0 +1,25 @@
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: 'getBlessAll',
16
+ title: '祝福 - 列表:所有',
17
+ path: '/saas/v1/bless/items-all',
18
+ isRule: false,
19
+ data: {
20
+ last_key: ['当前页', 'Number', '必选'],
21
+ },
22
+ isConsole: true,
23
+ disabled: true,
24
+ },
25
+ ];
@@ -0,0 +1,24 @@
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-select-pages-path', //package 名称
13
+ valueKey: 'blessSignUrl', //form[valueKey]
14
+ placeholder: '请选择祝福详情跳转地址',
15
+ value: null,
16
+ setting: {
17
+ router: XdBus.getParentApi('getPagesTree'),
18
+ },
19
+ inline: false,
20
+ },
21
+ ].filter(i=>i)
22
+ },
23
+ advanced: [],
24
+ };
@@ -0,0 +1,201 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-saas-bless-receive"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-saas-bless-receive__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-saas-bless-receive__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-saas-bless-receive__body">
17
+ <view class="receive_list">
18
+ <view class="receive_item" v-for="(item, i) in blessData" :key="i">
19
+ <view class="head">{{item.bless_type_name}}</view>
20
+ <view class="card">
21
+ <image :src="item.cover_url"/>
22
+ </view>
23
+ <view class="receive_cont">
24
+ <view class="card_name">{{ item.bless_name }}</view>
25
+ <view class="card_num">× {{ item.bless_card_number }}张</view>
26
+ </view>
27
+ <view class="receive_time">
28
+ <view class="_time">{{ item.release_time }}</view>
29
+ <view>
30
+ <xd-button v-if="item.receive_status === 'N'" size="small" type="primary" @click="toSignUrl(item)">立即签收</xd-button>
31
+ <xd-button v-else size="small" type="default" @click="toSignUrl(item)">再次查看</xd-button>
32
+ </view>
33
+ </view>
34
+ </view>
35
+ </view>
36
+ </view>
37
+ </view>
38
+ </template>
39
+
40
+ <script>
41
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
42
+ import XdButton from "@/components/XdButton/XdButton"
43
+ import { jfbRootExec } from "@/utils/xd.event";
44
+ import JfbBaseSaasBlessReceiveMixin from "./JfbBaseSaasBlessReceiveMixin";
45
+ import { getContainerPropsValue } from "@/utils/xd.base";
46
+ import componentsMixins from "@/mixins/componentsMixins";
47
+ import extsMixins from "@/mixins/extsMixins";
48
+ import getServiceUrl from '@/common/getServiceUrl'
49
+ export default {
50
+ name: "JfbBaseSaasBlessReceive",
51
+ components: {
52
+ XdFontIcon,
53
+ XdButton
54
+ },
55
+ mixins: [
56
+ componentsMixins, extsMixins, JfbBaseSaasBlessReceiveMixin
57
+ ],
58
+ data() {
59
+ return {
60
+ blessData: [],
61
+
62
+ //面板
63
+ blessSignUrl: "", //签收跳转地址
64
+ }
65
+ },
66
+ watch: {
67
+ container(value) {
68
+ this.init(value)
69
+ }
70
+ },
71
+ created() {
72
+ this.init(this.container);
73
+
74
+ //todo
75
+ },
76
+ methods: {
77
+ onJfbLoad(options) {
78
+
79
+ this.p_getBlessAll();
80
+ },
81
+ /**
82
+ * @description 监听事件变化
83
+ * @param container {object} 业务组件对象自己
84
+ */
85
+ init(container) {
86
+ this.blessSignUrl = getContainerPropsValue(container, 'content.blessSignUrl', {value: "/main/saas/blessDetail"}).value;
87
+ },
88
+ toSignUrl(item){
89
+ this.$xdUniHelper.navigateTo({
90
+ url: `${this.blessSignUrl}?bless_id=${item.bless_id}`,
91
+ });
92
+ },
93
+ p_getBlessAll(){
94
+ this.$xdShowLoading({});
95
+ jfbRootExec("getBlessAll", {
96
+ vm: this,
97
+ data: {
98
+
99
+ }
100
+ }).then(res => {
101
+ this.$xdHideLoading();
102
+ this.blessData = res.list.map(item => {
103
+ try{
104
+ let cover = JSON.parse(item.bless_cover_config)
105
+ item['cover_url'] = getServiceUrl(cover.material_image.url);
106
+ }catch(err){
107
+ item['cover_url'] = ""
108
+ }
109
+ item['release_time'] = this.$xdUniHelper.getDate(
110
+ item["release_time"] * 1000
111
+ ).fullTime;
112
+ return item;
113
+ });
114
+ })
115
+ },
116
+ onJfbScroll(options) {
117
+
118
+ },
119
+ onJfbReachBottom(options) {
120
+ console.log('event.onJfbReachBottom', options)
121
+ },
122
+ onJfbShow(options) {
123
+ console.log('event.onJfbShow', options)
124
+ },
125
+ onJfbHide(options) {
126
+ console.log('event.onJfbHide', options)
127
+ },
128
+ onJfbBack(options) {
129
+ console.log('event.onJfbBack', options)
130
+ this.$xdUniHelper.navigateBack();
131
+ },
132
+ onJfbUpdate(...data) {
133
+ console.log('event.onJfbUpdate', data)
134
+ },
135
+ onJfbCustomEvent(options) {
136
+ console.log('event.onJfbReachBottom', options)
137
+ },
138
+ }
139
+ }
140
+
141
+ </script>
142
+
143
+ <style scoped lang="less">
144
+ @import "./JfbBaseSaasBlessReceiveLess.less";
145
+
146
+ .jfb-base-saas-bless-receive {
147
+ &__body{
148
+ background: #F5F9FA;
149
+ .receive_list{
150
+ padding: 20rpx;
151
+ .receive_item{
152
+ background: #FFFFFF;
153
+ border-radius: 20rpx;
154
+ padding: 32rpx 35rpx;
155
+ .head{
156
+ padding-bottom: 24rpx;
157
+ font-size: 28rpx;
158
+ color: #333333;
159
+ font-weight: 500;
160
+ border-bottom: 1px solid #F2F2F2;
161
+ }
162
+ .card{
163
+ height: 300rpx;
164
+ border-radius: 16rpx;
165
+ margin-top: 24rpx;
166
+ overflow: hidden;
167
+ image{
168
+ width: 100%;
169
+ height: 100%;
170
+ }
171
+ }
172
+ .receive_cont{
173
+ display: flex;
174
+ align-items: center;
175
+ justify-content: space-between;
176
+ margin: 32rpx 0;
177
+ .card_name{
178
+ font-size: 32rpx;
179
+ color: #333333;
180
+ font-weight: 400;
181
+ }
182
+ .card_num{
183
+ font-size: 32rpx;
184
+ color: #999999;
185
+ font-weight: 400;
186
+ }
187
+ }
188
+ .receive_time{
189
+ display: flex;
190
+ align-items: center;
191
+ justify-content: space-between;
192
+ ._time{
193
+ font-size: 24rpx;
194
+ color: #999999;
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+ </style>