jufubao-base 1.0.221 → 1.0.222-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 (25) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseAfterOrderList/Attr.js +13 -0
  3. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +33 -1
  4. package/src/components/JfbBaseAfterSales/Api.js +58 -0
  5. package/src/components/JfbBaseAfterSales/Attr.js +48 -0
  6. package/src/components/JfbBaseAfterSales/JfbBaseAfterSales.vue +111 -0
  7. package/src/components/JfbBaseAfterSales/JfbBaseAfterSalesLess.less +79 -0
  8. package/src/components/JfbBaseAfterSales/JfbBaseAfterSalesMixin.js +30 -0
  9. package/src/components/JfbBaseAfterSales/Mock.js +13 -0
  10. package/src/components/JfbBaseAfterSalesDetail/Api.js +58 -0
  11. package/src/components/JfbBaseAfterSalesDetail/Attr.js +48 -0
  12. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetail.vue +111 -0
  13. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetailLess.less +79 -0
  14. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetailMixin.js +30 -0
  15. package/src/components/JfbBaseAfterSalesDetail/Mock.js +13 -0
  16. package/src/components/JfbBaseAfterSalesFast/Api.js +58 -0
  17. package/src/components/JfbBaseAfterSalesFast/Attr.js +48 -0
  18. package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFast.vue +111 -0
  19. package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFastLess.less +79 -0
  20. package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFastMixin.js +30 -0
  21. package/src/components/JfbBaseAfterSalesFast/Mock.js +13 -0
  22. package/src/components/JfbBaseOrderDetail/Attr.js +12 -0
  23. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +4 -0
  24. package/src/components/JfbBaseOrderList/Attr.js +12 -0
  25. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +3 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-base",
3
- "version": "1.0.221",
3
+ "version": "1.0.222-beta1",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -5,6 +5,19 @@ export default {
5
5
  advanced: [],
6
6
  content: (data)=>{
7
7
  return [
8
+ {
9
+ label: "状态筛选:",
10
+ ele: "xd-radio",
11
+ valueKey: "showStatusFilter",
12
+ groupKey: "content",
13
+ value: data['showStatusFilter'],
14
+ placeholder: '请选择状态筛选',
15
+ className: 'input80',
16
+ list: [
17
+ {label:'展示',value:'Y'},
18
+ {label:'隐藏',value:'N'}
19
+ ]
20
+ },
8
21
  {
9
22
  label: '外填充:',
10
23
  ele: 'xd-margin-padding',
@@ -16,7 +16,17 @@
16
16
  <view class="jfb-base-after-order-list__edit-icon" @click="delEdit">删除</view>
17
17
  </view>
18
18
  <!-- #endif -->
19
- <view class="jfb-base-after-order-list__body">
19
+ <view class="jfb-base-after-order-list__body" :style="{
20
+ '--main-color': mainColor,
21
+ }">
22
+ <view v-if="showStatusFilter==='Y'" class="filter_tab" :style="{
23
+ top: layoutInfo.top + 'rpx',
24
+ }">
25
+ <view class="filter_item active">处理中</view>
26
+ <view class="filter_item">已完成</view>
27
+ </view>
28
+ <view style="height: 80rpx"></view>
29
+
20
30
  <view :style="{ padding: outMargin }">
21
31
  <view v-if="loadingList" class="skeleton-wrap">
22
32
  <view
@@ -131,6 +141,8 @@ export default {
131
141
  loadingList: true,
132
142
  brandTextColor:'',
133
143
 
144
+ showStatusFilter: "",
145
+
134
146
  //基础
135
147
  radius: 0,
136
148
  backgroundColor: "",
@@ -187,6 +199,7 @@ export default {
187
199
  * @param container {object} 业务组件对象自己
188
200
  */
189
201
  init(container) {
202
+ this.showStatusFilter = getContainerPropsValue(container, "content.showStatusFilter", "");
190
203
  this.margin = getContainerPropsValue(container, "content.margin", {});
191
204
  this.radius = getContainerPropsValue(container, "content.radius", 0);
192
205
  this.backgroundColor = getContainerPropsValue(container, "content.backgroundColor", "#f8f8f8");
@@ -272,6 +285,25 @@ export default {
272
285
 
273
286
  .jfb-base-after-order-list {
274
287
  &__body {
288
+ .filter_tab{
289
+ display: flex;
290
+ align-items: center;
291
+ justify-content: center;
292
+ height: 80rpx;
293
+ line-height: 80rpx;
294
+ border-bottom: 1px solid #DDD;
295
+ position: fixed;
296
+ top: 0;
297
+ left: 0;
298
+ width: 100%;
299
+ .filter_item{
300
+ margin: 0 40rpx;
301
+ &.active{
302
+ border-bottom: 1px solid var(--main-color);
303
+ color: var(--main-color);
304
+ }
305
+ }
306
+ }
275
307
  .brand-name {
276
308
  padding-top: 5rpx;
277
309
  font-size: 24rpx;
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:After
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ //设置方法名字当别忘记加上【模块名字】:After
10
+ mapFnName: 'getAfterByIdFilmSquate',
11
+ title: '获取电影广场列表',
12
+ path: '/api/account/film/list-film-square',
13
+ isRule: false,
14
+ params: {
15
+ last_key: ['当前页', 'Number', '必选'],
16
+ page_size: ['每页数量', 'Number', '必选'],
17
+ },
18
+ isConsole: true,
19
+ disabled: true,
20
+ },
21
+ {
22
+ //设置方法名字当别忘记加上【模块名字】:After
23
+ mapFnName: 'updateAfterFilmPaiqiDate',
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
+ //设置方法名字当别忘记加上【模块名字】:After
36
+ mapFnName: 'removeAfterFilmAddress',
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
+ //设置方法名字当别忘记加上【模块名字】:After
48
+ mapFnName: 'addAfterFilmcart',
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
+ },
58
+ ];
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '背景颜色:',
12
+ ele: 'xd-color',
13
+ valueKey: 'bgColor',
14
+ value: data.bgColor || '',
15
+ placeholder: '请输入占位框背景颜色',
16
+ groupKey:'content',
17
+ },
18
+ {
19
+ label: '选中路径:',
20
+ groupKey:'advanced',
21
+ className: 'input100',
22
+ ele: 'xd-select-pages-path',
23
+ valueKey: 'select-pages-path',
24
+ value: data['select-pages-path'] || null,
25
+ setting: {
26
+ router: XdBus.getParentApi('getPagesTree')
27
+ },
28
+ },
29
+ data.bgColor && {
30
+ label: '高度:',
31
+ ele: 'el-input',
32
+ groupKey:'style',
33
+ type: 'number',
34
+ valueKey: 'height',
35
+ value: data.height || 100,
36
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
37
+ className: 'input60',
38
+ },
39
+ {
40
+ label: '', //label
41
+ groupKey:'advanced',
42
+ ele: 'slot', //package 名称
43
+ slot: 'is_reference',
44
+ },
45
+ ].filter(i=>i)
46
+ },
47
+ advanced: [],
48
+ };
@@ -0,0 +1,111 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-after-sales"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-after-sales__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-after-sales__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-after-sales__body">
17
+ <view>售后申请</view>
18
+ </view>
19
+ </view>
20
+ </template>
21
+
22
+ <script>
23
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
+ import { jfbRootExec } from "@/utils/xd.event";
25
+ import JfbBaseAfterSalesMixin from "./JfbBaseAfterSalesMixin";
26
+ import { getContainerPropsValue } from "@/utils/xd.base";
27
+ import componentsMixins from "@/mixins/componentsMixins";
28
+ import extsMixins from "@/mixins/extsMixins";
29
+ export default {
30
+ name: "JfbBaseAfterSales",
31
+ components: {
32
+ XdFontIcon
33
+ },
34
+ mixins: [
35
+ componentsMixins, extsMixins, JfbBaseAfterSalesMixin
36
+ ],
37
+ data() {
38
+ return {
39
+
40
+ //todo
41
+ }
42
+ },
43
+ watch: {
44
+ container(value, oldValue) {
45
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
46
+ if (this.$configProject['isPreview']) this.init(value)
47
+ },
48
+ },
49
+ created() {
50
+ this.init(this.container);
51
+
52
+ //todo
53
+ },
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
+
101
+ </script>
102
+
103
+ <style scoped lang="less">
104
+ @import "./JfbBaseAfterSalesLess.less";
105
+
106
+ .jfb-base-after-sales {
107
+ &__body{
108
+
109
+ }
110
+ }
111
+ </style>
@@ -0,0 +1,79 @@
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-after-sales {
16
+ box-sizing: border-box;
17
+
18
+ &__body{
19
+ position: relative;
20
+ overflow: hidden;
21
+ z-index: 2
22
+ }
23
+
24
+ &.editx,&.editx:hover {
25
+ position: relative;
26
+ min-height: unit(100, rpx);
27
+ z-index: 3;
28
+ &::after {
29
+ border: 2rpx dashed blue;
30
+ content: " ";
31
+ position: absolute;
32
+ top:0;
33
+ left:0;
34
+ bottom:0;
35
+ right:0;
36
+ z-index: 4;
37
+ cursor: pointer;
38
+ }
39
+
40
+ }
41
+
42
+
43
+ &__edit {
44
+ cursor: pointer;
45
+ position: absolute;
46
+ right: unit(0, rpx);
47
+ top: unit(-52, rpx);
48
+ height: unit(50, rpx);
49
+ line-height: unit(50, rpx);
50
+ display: flex;
51
+ justify-content: center;
52
+ align-items: center;
53
+ background: rgba(0, 0, 0, .6);
54
+ border-radius: unit(10, rpx);
55
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
56
+ color: #fff;
57
+ font-size: unit(22, rpx);
58
+
59
+ &-icon{
60
+ padding: 0 unit(20, rpx);
61
+ }
62
+
63
+ &.editx {
64
+ box-sizing: border-box;
65
+
66
+ }
67
+ }
68
+ }
69
+ //end
70
+
71
+
72
+ /**notPreview**/
73
+ .jfb-base-after-sales {
74
+ //&:before {
75
+ //content: " ";
76
+ //display: table;
77
+ //}
78
+ }
79
+ /**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-after-sales'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+
5
+ getAfterByIdFilmSquate:{},
6
+
7
+ updateAfterFilmPaiqiDate:{},
8
+
9
+ removeAfterFilmAddress:{},
10
+
11
+ addAfterFilmcart:{},
12
+
13
+ }
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:After
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ //设置方法名字当别忘记加上【模块名字】:After
10
+ mapFnName: 'getAfterByIdFilmSquate',
11
+ title: '获取电影广场列表',
12
+ path: '/api/account/film/list-film-square',
13
+ isRule: false,
14
+ params: {
15
+ last_key: ['当前页', 'Number', '必选'],
16
+ page_size: ['每页数量', 'Number', '必选'],
17
+ },
18
+ isConsole: true,
19
+ disabled: true,
20
+ },
21
+ {
22
+ //设置方法名字当别忘记加上【模块名字】:After
23
+ mapFnName: 'updateAfterFilmPaiqiDate',
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
+ //设置方法名字当别忘记加上【模块名字】:After
36
+ mapFnName: 'removeAfterFilmAddress',
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
+ //设置方法名字当别忘记加上【模块名字】:After
48
+ mapFnName: 'addAfterFilmcart',
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
+ },
58
+ ];
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '背景颜色:',
12
+ ele: 'xd-color',
13
+ valueKey: 'bgColor',
14
+ value: data.bgColor || '',
15
+ placeholder: '请输入占位框背景颜色',
16
+ groupKey:'content',
17
+ },
18
+ {
19
+ label: '选中路径:',
20
+ groupKey:'advanced',
21
+ className: 'input100',
22
+ ele: 'xd-select-pages-path',
23
+ valueKey: 'select-pages-path',
24
+ value: data['select-pages-path'] || null,
25
+ setting: {
26
+ router: XdBus.getParentApi('getPagesTree')
27
+ },
28
+ },
29
+ data.bgColor && {
30
+ label: '高度:',
31
+ ele: 'el-input',
32
+ groupKey:'style',
33
+ type: 'number',
34
+ valueKey: 'height',
35
+ value: data.height || 100,
36
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
37
+ className: 'input60',
38
+ },
39
+ {
40
+ label: '', //label
41
+ groupKey:'advanced',
42
+ ele: 'slot', //package 名称
43
+ slot: 'is_reference',
44
+ },
45
+ ].filter(i=>i)
46
+ },
47
+ advanced: [],
48
+ };
@@ -0,0 +1,111 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-after-sales-detail"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-after-sales-detail__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-after-sales-detail__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-after-sales-detail__body">
17
+ <view>售后详情</view>
18
+ </view>
19
+ </view>
20
+ </template>
21
+
22
+ <script>
23
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
+ import { jfbRootExec } from "@/utils/xd.event";
25
+ import JfbBaseAfterSalesDetailMixin from "./JfbBaseAfterSalesDetailMixin";
26
+ import { getContainerPropsValue } from "@/utils/xd.base";
27
+ import componentsMixins from "@/mixins/componentsMixins";
28
+ import extsMixins from "@/mixins/extsMixins";
29
+ export default {
30
+ name: "JfbBaseAfterSalesDetail",
31
+ components: {
32
+ XdFontIcon
33
+ },
34
+ mixins: [
35
+ componentsMixins, extsMixins, JfbBaseAfterSalesDetailMixin
36
+ ],
37
+ data() {
38
+ return {
39
+
40
+ //todo
41
+ }
42
+ },
43
+ watch: {
44
+ container(value, oldValue) {
45
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
46
+ if (this.$configProject['isPreview']) this.init(value)
47
+ },
48
+ },
49
+ created() {
50
+ this.init(this.container);
51
+
52
+ //todo
53
+ },
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
+
101
+ </script>
102
+
103
+ <style scoped lang="less">
104
+ @import "./JfbBaseAfterSalesDetailLess.less";
105
+
106
+ .jfb-base-after-sales-detail {
107
+ &__body{
108
+
109
+ }
110
+ }
111
+ </style>
@@ -0,0 +1,79 @@
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-after-sales-detail {
16
+ box-sizing: border-box;
17
+
18
+ &__body{
19
+ position: relative;
20
+ overflow: hidden;
21
+ z-index: 2
22
+ }
23
+
24
+ &.editx,&.editx:hover {
25
+ position: relative;
26
+ min-height: unit(100, rpx);
27
+ z-index: 3;
28
+ &::after {
29
+ border: 2rpx dashed blue;
30
+ content: " ";
31
+ position: absolute;
32
+ top:0;
33
+ left:0;
34
+ bottom:0;
35
+ right:0;
36
+ z-index: 4;
37
+ cursor: pointer;
38
+ }
39
+
40
+ }
41
+
42
+
43
+ &__edit {
44
+ cursor: pointer;
45
+ position: absolute;
46
+ right: unit(0, rpx);
47
+ top: unit(-52, rpx);
48
+ height: unit(50, rpx);
49
+ line-height: unit(50, rpx);
50
+ display: flex;
51
+ justify-content: center;
52
+ align-items: center;
53
+ background: rgba(0, 0, 0, .6);
54
+ border-radius: unit(10, rpx);
55
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
56
+ color: #fff;
57
+ font-size: unit(22, rpx);
58
+
59
+ &-icon{
60
+ padding: 0 unit(20, rpx);
61
+ }
62
+
63
+ &.editx {
64
+ box-sizing: border-box;
65
+
66
+ }
67
+ }
68
+ }
69
+ //end
70
+
71
+
72
+ /**notPreview**/
73
+ .jfb-base-after-sales-detail {
74
+ //&:before {
75
+ //content: " ";
76
+ //display: table;
77
+ //}
78
+ }
79
+ /**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-after-sales-detail'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+
5
+ getAfterByIdFilmSquate:{},
6
+
7
+ updateAfterFilmPaiqiDate:{},
8
+
9
+ removeAfterFilmAddress:{},
10
+
11
+ addAfterFilmcart:{},
12
+
13
+ }
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:After
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ //设置方法名字当别忘记加上【模块名字】:After
10
+ mapFnName: 'getAfterByIdFilmSquate',
11
+ title: '获取电影广场列表',
12
+ path: '/api/account/film/list-film-square',
13
+ isRule: false,
14
+ params: {
15
+ last_key: ['当前页', 'Number', '必选'],
16
+ page_size: ['每页数量', 'Number', '必选'],
17
+ },
18
+ isConsole: true,
19
+ disabled: true,
20
+ },
21
+ {
22
+ //设置方法名字当别忘记加上【模块名字】:After
23
+ mapFnName: 'updateAfterFilmPaiqiDate',
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
+ //设置方法名字当别忘记加上【模块名字】:After
36
+ mapFnName: 'removeAfterFilmAddress',
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
+ //设置方法名字当别忘记加上【模块名字】:After
48
+ mapFnName: 'addAfterFilmcart',
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
+ },
58
+ ];
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: '背景颜色:',
12
+ ele: 'xd-color',
13
+ valueKey: 'bgColor',
14
+ value: data.bgColor || '',
15
+ placeholder: '请输入占位框背景颜色',
16
+ groupKey:'content',
17
+ },
18
+ {
19
+ label: '选中路径:',
20
+ groupKey:'advanced',
21
+ className: 'input100',
22
+ ele: 'xd-select-pages-path',
23
+ valueKey: 'select-pages-path',
24
+ value: data['select-pages-path'] || null,
25
+ setting: {
26
+ router: XdBus.getParentApi('getPagesTree')
27
+ },
28
+ },
29
+ data.bgColor && {
30
+ label: '高度:',
31
+ ele: 'el-input',
32
+ groupKey:'style',
33
+ type: 'number',
34
+ valueKey: 'height',
35
+ value: data.height || 100,
36
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
37
+ className: 'input60',
38
+ },
39
+ {
40
+ label: '', //label
41
+ groupKey:'advanced',
42
+ ele: 'slot', //package 名称
43
+ slot: 'is_reference',
44
+ },
45
+ ].filter(i=>i)
46
+ },
47
+ advanced: [],
48
+ };
@@ -0,0 +1,111 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-after-sales-fast"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-after-sales-fast__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-after-sales-fast__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-after-sales-fast__body">
17
+ <view>极速退款</view>
18
+ </view>
19
+ </view>
20
+ </template>
21
+
22
+ <script>
23
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
24
+ import { jfbRootExec } from "@/utils/xd.event";
25
+ import JfbBaseAfterSalesFastMixin from "./JfbBaseAfterSalesFastMixin";
26
+ import { getContainerPropsValue } from "@/utils/xd.base";
27
+ import componentsMixins from "@/mixins/componentsMixins";
28
+ import extsMixins from "@/mixins/extsMixins";
29
+ export default {
30
+ name: "JfbBaseAfterSalesFast",
31
+ components: {
32
+ XdFontIcon
33
+ },
34
+ mixins: [
35
+ componentsMixins, extsMixins, JfbBaseAfterSalesFastMixin
36
+ ],
37
+ data() {
38
+ return {
39
+
40
+ //todo
41
+ }
42
+ },
43
+ watch: {
44
+ container(value, oldValue) {
45
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
46
+ if (this.$configProject['isPreview']) this.init(value)
47
+ },
48
+ },
49
+ created() {
50
+ this.init(this.container);
51
+
52
+ //todo
53
+ },
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
+
101
+ </script>
102
+
103
+ <style scoped lang="less">
104
+ @import "./JfbBaseAfterSalesFastLess.less";
105
+
106
+ .jfb-base-after-sales-fast {
107
+ &__body{
108
+
109
+ }
110
+ }
111
+ </style>
@@ -0,0 +1,79 @@
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-after-sales-fast {
16
+ box-sizing: border-box;
17
+
18
+ &__body{
19
+ position: relative;
20
+ overflow: hidden;
21
+ z-index: 2
22
+ }
23
+
24
+ &.editx,&.editx:hover {
25
+ position: relative;
26
+ min-height: unit(100, rpx);
27
+ z-index: 3;
28
+ &::after {
29
+ border: 2rpx dashed blue;
30
+ content: " ";
31
+ position: absolute;
32
+ top:0;
33
+ left:0;
34
+ bottom:0;
35
+ right:0;
36
+ z-index: 4;
37
+ cursor: pointer;
38
+ }
39
+
40
+ }
41
+
42
+
43
+ &__edit {
44
+ cursor: pointer;
45
+ position: absolute;
46
+ right: unit(0, rpx);
47
+ top: unit(-52, rpx);
48
+ height: unit(50, rpx);
49
+ line-height: unit(50, rpx);
50
+ display: flex;
51
+ justify-content: center;
52
+ align-items: center;
53
+ background: rgba(0, 0, 0, .6);
54
+ border-radius: unit(10, rpx);
55
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
56
+ color: #fff;
57
+ font-size: unit(22, rpx);
58
+
59
+ &-icon{
60
+ padding: 0 unit(20, rpx);
61
+ }
62
+
63
+ &.editx {
64
+ box-sizing: border-box;
65
+
66
+ }
67
+ }
68
+ }
69
+ //end
70
+
71
+
72
+ /**notPreview**/
73
+ .jfb-base-after-sales-fast {
74
+ //&:before {
75
+ //content: " ";
76
+ //display: table;
77
+ //}
78
+ }
79
+ /**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-after-sales-fast'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ module.exports = {
4
+
5
+ getAfterByIdFilmSquate:{},
6
+
7
+ updateAfterFilmPaiqiDate:{},
8
+
9
+ removeAfterFilmAddress:{},
10
+
11
+ addAfterFilmcart:{},
12
+
13
+ }
@@ -5,6 +5,18 @@ export default {
5
5
  advanced: [],
6
6
  content: (data)=>{
7
7
  return [
8
+ {
9
+ label: "申请售后:",
10
+ ele: 'xd-radio',
11
+ valueKey: "showApplyAfter",
12
+ value: data.showApplyAfter || 'N',
13
+ list: [
14
+ {label: '展示', value: 'Y'},
15
+ {label: '隐藏', value: 'N'},
16
+ ],
17
+ groupKey:'content',
18
+ labelInline: true,
19
+ },
8
20
  {
9
21
  label: '业务类型预览(只是预览模式生效)',
10
22
  ele: "xd-select-list",
@@ -860,6 +860,8 @@ export default {
860
860
  showPassword: false,
861
861
  dialogPassword: "",
862
862
 
863
+ showApplyAfter: "",
864
+
863
865
  //基础
864
866
  radius: 0,
865
867
  backgroundColor: "",
@@ -1189,6 +1191,8 @@ export default {
1189
1191
  * @param container {object} 业务组件对象自己
1190
1192
  */
1191
1193
  init(container) {
1194
+ this.showApplyAfter = getContainerPropsValue(container, "content.showApplyAfter", "");
1195
+
1192
1196
  this.bgColor = this.$colorChange(this.mainColor).alpha(0.1).toString();
1193
1197
  this.brandPath = getContainerPropsValue(container, "content.brandPath", {value: "",}).value;
1194
1198
  this.payPath = getContainerPropsValue(container, "content.payPath", {value: "",}).value;
@@ -4,6 +4,18 @@ export default {
4
4
  style: [],
5
5
  content: (data)=>{
6
6
  return [
7
+ {
8
+ label: "申请售后:",
9
+ ele: 'xd-radio',
10
+ valueKey: "showApplyAfter",
11
+ value: data.showApplyAfter || 'N',
12
+ list: [
13
+ {label: '展示', value: 'Y'},
14
+ {label: '隐藏', value: 'N'},
15
+ ],
16
+ groupKey:'content',
17
+ labelInline: true,
18
+ },
7
19
  {
8
20
  label: "布局样式配置",
9
21
  ele: "xd-radio",
@@ -243,6 +243,8 @@ export default {
243
243
  initStatus: false,
244
244
  loadingList: true,
245
245
 
246
+ showApplyAfter: "",
247
+
246
248
  //基础
247
249
  radius: 0,
248
250
  backgroundColor: "",
@@ -335,6 +337,7 @@ export default {
335
337
  * @param container {object} 业务组件对象自己
336
338
  */
337
339
  init(container) {
340
+ this.showApplyAfter = getContainerPropsValue(container, "content.showApplyAfter", "");
338
341
  this.margin = getContainerPropsValue(container, "content.margin", {top: 0, left: 0, right: 0, bottom: 0,});
339
342
  this.radius = getContainerPropsValue(container, "content.radius", 0);
340
343
  this.backgroundColor = getContainerPropsValue(container, "content.backgroundColor", "#f8f8f8");