jufubao-base 1.0.109-beta1 → 1.0.110-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 (55) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseCardInfo/JfbBaseCardInfo.vue +37 -18
  3. package/src/components/JfbBaseCardInfoEntry/JfbBaseCardInfoEntry.vue +37 -17
  4. package/src/components/JfbBaseConDialog/Api.js +35 -0
  5. package/src/components/JfbBaseConDialog/Attr.js +13 -0
  6. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +169 -6
  7. package/src/components/JfbBaseConDialog/XdCouCardBind.vue +197 -0
  8. package/src/components/JfbBaseConList/Attr.js +11 -0
  9. package/src/components/JfbBaseConList/JfbBaseConList.vue +49 -19
  10. package/src/components/JfbBaseConList/Mock.js +19 -5
  11. package/src/components/JfbBasePay/Api.js +3 -2
  12. package/src/components/JfbBasePay/JfbBasePay.vue +28 -18
  13. package/src/components/JfbBaseSaasBlessDetail/Api.js +60 -0
  14. package/src/components/JfbBaseSaasBlessDetail/Attr.js +106 -0
  15. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetail.vue +227 -0
  16. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailLess.less +80 -0
  17. package/src/components/JfbBaseSaasBlessDetail/JfbBaseSaasBlessDetailMixin.js +30 -0
  18. package/src/components/JfbBaseSaasBlessDetail/Mock.js +5 -0
  19. package/src/components/JfbBaseSaasBlessDialog/Api.js +60 -0
  20. package/src/components/JfbBaseSaasBlessDialog/Attr.js +50 -0
  21. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialog.vue +265 -0
  22. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogLess.less +80 -0
  23. package/src/components/JfbBaseSaasBlessDialog/JfbBaseSaasBlessDialogMixin.js +30 -0
  24. package/src/components/JfbBaseSaasBlessDialog/Mock.js +5 -0
  25. package/src/components/JfbBaseSaasBlessReceive/Api.js +60 -0
  26. package/src/components/JfbBaseSaasBlessReceive/Attr.js +106 -0
  27. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceive.vue +172 -0
  28. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveLess.less +80 -0
  29. package/src/components/JfbBaseSaasBlessReceive/JfbBaseSaasBlessReceiveMixin.js +30 -0
  30. package/src/components/JfbBaseSaasBlessReceive/Mock.js +5 -0
  31. package/src/components/JfbBaseSaasHome/Api.js +60 -0
  32. package/src/components/JfbBaseSaasHome/Attr.js +106 -0
  33. package/src/components/JfbBaseSaasHome/JfbBaseSaasHome.vue +271 -0
  34. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeLess.less +80 -0
  35. package/src/components/JfbBaseSaasHome/JfbBaseSaasHomeMixin.js +30 -0
  36. package/src/components/JfbBaseSaasHome/Mock.js +5 -0
  37. package/src/components/JfbBaseSaasLogin/Api.js +60 -0
  38. package/src/components/JfbBaseSaasLogin/Attr.js +37 -0
  39. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLogin.vue +297 -0
  40. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginLess.less +80 -0
  41. package/src/components/JfbBaseSaasLogin/JfbBaseSaasLoginMixin.js +30 -0
  42. package/src/components/JfbBaseSaasLogin/Mock.js +5 -0
  43. package/src/components/JfbBaseSaasNewsDetail/Api.js +60 -0
  44. package/src/components/JfbBaseSaasNewsDetail/Attr.js +106 -0
  45. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetail.vue +140 -0
  46. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailLess.less +80 -0
  47. package/src/components/JfbBaseSaasNewsDetail/JfbBaseSaasNewsDetailMixin.js +30 -0
  48. package/src/components/JfbBaseSaasNewsDetail/Mock.js +5 -0
  49. package/src/components/JfbBaseSaasNewsList/Api.js +60 -0
  50. package/src/components/JfbBaseSaasNewsList/Attr.js +106 -0
  51. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsList.vue +155 -0
  52. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListLess.less +80 -0
  53. package/src/components/JfbBaseSaasNewsList/JfbBaseSaasNewsListMixin.js +30 -0
  54. package/src/components/JfbBaseSaasNewsList/Mock.js +5 -0
  55. package/src/components/JfbBaseSuccess/JfbBaseSuccess.vue +4 -1
@@ -0,0 +1,265 @@
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 class="dialog_num">
21
+ <text>1/4</text>
22
+ </view>
23
+ <view class="dialog_main">
24
+ <view class="_left" @click="handleChange('left')">
25
+ <xd-font-icon icon="iconxiangzuo_xian"></xd-font-icon>
26
+ </view>
27
+ <view class="_cont">
28
+ <image class="dialog_image" :src="currentImage"></image>
29
+ <view class="pop_tip">聚福宝节日祝福券 1张</view>
30
+ <view class="bless_wrap">
31
+ <view class="bless_name">亲爱的张珊珊:</view>
32
+ <view class="bless_cont">您收到了一份为您定制的专属祝福,快去查看并使用吧!</view>
33
+ </view>
34
+ <xd-button class="btn_image" type="primary" @click="handleToList">去看看</xd-button>
35
+ </view>
36
+ <view class="_right" @click="handleChange('right')">
37
+ <xd-font-icon icon="iconxiangyou_xian"></xd-font-icon>
38
+ </view>
39
+ </view>
40
+ <xd-font-icon
41
+ @click="handleClose"
42
+ class="dialog_close"
43
+ icon="iconguanbi_xian"
44
+ color="#fff"
45
+ size="64"
46
+ ></xd-font-icon>
47
+
48
+ </view>
49
+ </view>
50
+ <view
51
+ v-if="isPreview"
52
+ :style="{ background: backgroundColor, color: warningColor }"
53
+ class="jfb-base-con-dialog__body-pop"
54
+ >弹框方便编辑(占位),在线上此模块不显</view>
55
+ </view>
56
+ </view>
57
+ </template>
58
+
59
+ <script>
60
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
61
+ import XdButton from "@/components/XdButton/XdButton"
62
+ import { jfbRootExec } from "@/utils/xd.event";
63
+ import JfbBaseSaasBlessDialogMixin from "./JfbBaseSaasBlessDialogMixin";
64
+ import { getContainerPropsValue } from "@/utils/xd.base";
65
+ import componentsMixins from "@/mixins/componentsMixins";
66
+ import extsMixins from "@/mixins/extsMixins";
67
+ export default {
68
+ name: "JfbBaseSaasBlessDialog",
69
+ components: {
70
+ XdFontIcon,
71
+ XdButton
72
+ },
73
+ mixins: [
74
+ componentsMixins, extsMixins, JfbBaseSaasBlessDialogMixin
75
+ ],
76
+ data() {
77
+ return {
78
+ isPreview: false, //是否预览
79
+ isShow: true,
80
+ currentImage: "",
81
+ currentIndex: 0,
82
+ list: [],
83
+
84
+ list_url: "",
85
+ type: "",
86
+ isHide: false,
87
+ }
88
+ },
89
+ watch: {
90
+ container(value) {
91
+ this.init(value)
92
+ }
93
+ },
94
+ created() {
95
+ this.isPreview = this.$configProject.isPreview;
96
+ this.init(this.container);
97
+ },
98
+ methods: {
99
+ onJfbLoad(options) {
100
+
101
+ },
102
+ /**
103
+ * @description 监听事件变化
104
+ * @param container {object} 业务组件对象自己
105
+ */
106
+ init(container) {
107
+ this.type = getContainerPropsValue(container, "content.type", 1);
108
+ this.isHide = getContainerPropsValue(container, "content.isHide", false);
109
+ if (this.isPreview) {
110
+ this.isShow = !this.isHide;
111
+ }
112
+ },
113
+ handleToList(){
114
+ this.$xdUniHelper.navigateTo({
115
+ url: `${this.list_url}`,
116
+ });
117
+ },
118
+ handleClose(){
119
+ if (this.currentIndex == this.list.length - 1 || this.type == 2) {
120
+ this.isShow = false;
121
+ return;
122
+ }
123
+ this.currentIndex = this.currentIndex + 1;
124
+ },
125
+ handleChange(type){
126
+ this.currentIndex = type === "left" ? this.currentIndex - 1 : this.currentIndex + 1;
127
+ this.currentIndex = Math.max(0, Math.min(this.currentIndex, this.list.length - 1));
128
+ },
129
+ onJfbScroll(options) {
130
+ console.log('event.onJfbScroll', options)
131
+ },
132
+ onJfbReachBottom(options) {
133
+ console.log('event.onJfbReachBottom', options)
134
+ },
135
+ onJfbShow(options) {
136
+ this.isShow=false
137
+ this.onJfbLoad(options);
138
+ },
139
+ onJfbHide(options) {
140
+ console.log('event.onJfbHide', options)
141
+ },
142
+ onJfbBack(options) {
143
+ console.log('event.onJfbBack', options)
144
+ },
145
+ onJfbUpdate(...data) {
146
+ console.log('event.onJfbUpdate', data)
147
+ },
148
+ onJfbCustomEvent(options) {
149
+ console.log('event.onJfbReachBottom', options)
150
+ },
151
+ }
152
+ }
153
+
154
+ </script>
155
+
156
+ <style scoped lang="less">
157
+ @import "./JfbBaseSaasBlessDialogLess.less";
158
+
159
+ .jfb-base-saas-bless-dialog {
160
+ &__body{
161
+ .dialog_wrap{
162
+ position: fixed;
163
+ top: 0;
164
+ bottom: 0;
165
+ left: 0;
166
+ right: 0;
167
+ z-index: 3000;
168
+
169
+ .dialog_mask{
170
+ position: absolute;
171
+ top: 0;
172
+ bottom: 0;
173
+ left: 0;
174
+ right: 0;
175
+ background: rgba(0, 0, 0, 0.5);
176
+ }
177
+ .dialog_content{
178
+ max-height: unit(1000, rpx);
179
+ overflow-y: auto;
180
+ overflow-x: hidden;
181
+ position: absolute;
182
+ top: 50%;
183
+ left: 50%;
184
+ transform: translate(-50%, -50%);
185
+ display: flex;
186
+ flex-direction: column;
187
+
188
+ .dialog_num{
189
+ margin: 0 auto;
190
+ background: rgba(255, 255, 255, 0.5);
191
+ border-radius: unit(40, rpx);
192
+ padding: unit(8, rpx) unit(24, rpx);
193
+ color: #fff;
194
+ font-size: unit(40, rpx);
195
+ }
196
+ .dialog_close{
197
+ margin: 0 auto;
198
+ }
199
+ .dialog_main{
200
+ display: flex;
201
+ align-items: center;
202
+
203
+ ._left{
204
+ background: rgba(255, 255, 255, 0.1);
205
+ padding: unit(40, rpx) unit(10, rpx);
206
+ color: #fff;
207
+ border-radius: unit(40, rpx);
208
+ }
209
+ ._right{
210
+ background: rgba(255, 255, 255, 0.1);
211
+ padding: unit(40, rpx) unit(10, rpx);
212
+ color: #fff;
213
+ border-radius: unit(40, rpx);
214
+ }
215
+ ._cont{
216
+ min-width: unit(600, rpx);
217
+ min-height: unit(800, rpx);
218
+ height: unit(800, rpx);
219
+ display: flex;
220
+ align-items: center;
221
+ flex-direction: column;
222
+ margin: 20rpx;
223
+ position: relative;
224
+ background-color: #FFFFFF;
225
+ border-radius: 16rpx;
226
+
227
+ .dialog_image {
228
+ width: 100%;
229
+ height: 328rpx;
230
+ background: red;
231
+ }
232
+ .pop_tip{
233
+ width: 100%;
234
+ padding: 20rpx 32rpx;
235
+ background-color: #FFF2CD;
236
+ box-sizing: border-box;
237
+ color: #FA2300;
238
+ font-size: 28rpx;
239
+ font-weight: 400;
240
+ }
241
+ .bless_wrap{
242
+ padding: 48rpx 32rpx;
243
+ .bless_name{
244
+ font-size: 36rpx;
245
+ color: #333333;
246
+ font-weight: 500;
247
+ }
248
+ .bless_cont{
249
+ font-size: 32rpx;
250
+ color: #999999;
251
+ font-weight: 400;
252
+ margin-top: 32rpx;
253
+ }
254
+ }
255
+ .btn_image{
256
+ width: unit(448, rpx);
257
+ height: unit(70, rpx);
258
+ }
259
+ }
260
+ }
261
+ }
262
+ }
263
+ }
264
+ }
265
+ </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,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
+ };