jufubao-base 1.0.262-beta1 → 1.0.263-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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jufubao-base",
3
- "version": "1.0.262-beta1",
3
+ "version": "1.0.263-beta1",
4
4
  "private": false,
5
5
  "description": "聚福宝业务组件基础插件包",
6
6
  "main": "index.js",
@@ -594,9 +594,14 @@ export default {
594
594
  //#endif
595
595
 
596
596
  //单业务线卡券直接跳转到业务线
597
- if((item.business_codes && item.business_codes.length === 1)
598
- && item.entries.length ===1
599
- ) {
597
+ // if((item.business_codes && item.business_codes.length === 1)
598
+ // && item.entries.length ===1
599
+ // ) {
600
+ // this.handleOneBussClick(item.entries[0]);
601
+ // return
602
+ // }
603
+
604
+ if(item.entries.length ===1) {
600
605
  this.handleOneBussClick(item.entries[0]);
601
606
  return
602
607
  }
@@ -311,9 +311,14 @@
311
311
  //#endif
312
312
 
313
313
  //单业务线卡券直接跳转到业务线
314
- if((item.business_codes && item.business_codes.length === 1)
315
- && item.entries.length ===1
316
- ) {
314
+ // if((item.business_codes && item.business_codes.length === 1)
315
+ // && item.entries.length ===1
316
+ // ) {
317
+ // this.handleOneBussClick(item.entries[0]);
318
+ // return
319
+ // }
320
+
321
+ if(item.entries.length ===1) {
317
322
  this.handleOneBussClick(item.entries[0]);
318
323
  return
319
324
  }
@@ -228,9 +228,14 @@
228
228
  //#endif
229
229
 
230
230
  //单业务线卡券直接跳转到业务线
231
- if((item.business_codes && item.business_codes.length === 1)
232
- && item.entries.length ===1
233
- ) {
231
+ // if((item.business_codes && item.business_codes.length === 1)
232
+ // && item.entries.length ===1
233
+ // ) {
234
+ // this.handleOneBussClick(item.entries[0]);
235
+ // return
236
+ // }
237
+
238
+ if(item.entries.length ===1) {
234
239
  this.handleOneBussClick(item.entries[0]);
235
240
  return
236
241
  }
@@ -518,6 +518,19 @@ export default {
518
518
  },
519
519
  inline: false,
520
520
  },
521
+ {
522
+ label: '查看服务进度路径:',
523
+ ele: 'xd-select-pages-path',
524
+ valueKey: 'serviceStepPath',
525
+ groupKey:'advanced',
526
+ placeholder: '查看服务进度路径',
527
+ value: data['serviceStepPath'] || null,
528
+ setting: {
529
+ router: XdBus.getParentApi('getPagesTree'),
530
+ },
531
+ inline: false,
532
+ },
533
+
521
534
 
522
535
  // 废弃 - 隐藏
523
536
  {
@@ -902,6 +902,7 @@ export default {
902
902
  codeSrc: "",
903
903
  packageListPath: "", //包裹列表路径
904
904
  payPath: "", //支付路径
905
+ serviceStepPath: "", //服务进度路径
905
906
  // logisticsPath: "", //物流详情路径
906
907
  webViewPath: "", //容器路径
907
908
  viewStatus: "", //业务类型预览
@@ -1269,9 +1270,9 @@ export default {
1269
1270
  this.bgColor = this.$colorChange(this.mainColor).alpha(0.1).toString();
1270
1271
  this.brandPath = getContainerPropsValue(container, "content.brandPath", {value: "",}).value;
1271
1272
  this.payPath = getContainerPropsValue(container, "content.payPath", {value: "",}).value;
1273
+ this.serviceStepPath = getContainerPropsValue(container, "content.serviceStepPath", { value: "" }).value;
1272
1274
  this.refundPath = getContainerPropsValue(container, "content.refundPath", {value: "",}).value;
1273
1275
  this.refundFastPath = getContainerPropsValue(container, "content.refundFastPath", {value: "",}).value;
1274
-
1275
1276
  this.packageListPath = getContainerPropsValue(container, "content.packageListPath", { value: "" }).value;
1276
1277
  this.webViewPath = getContainerPropsValue(container, "content.webViewPath", {value: "",}).value;
1277
1278
  this.margin = getContainerPropsValue(container, "content.margin", {top: 0, left: 0, right: 0, bottom: 0,});
@@ -1457,6 +1458,10 @@ export default {
1457
1458
  },
1458
1459
  });
1459
1460
  }
1461
+ else if(item.action === 'service_process_list'){
1462
+ this.$xdUniHelper.navigateTo({
1463
+ url: `${this.serviceStepPath}?main_order_id=${this.main_order_id}`,
1464
+ });
1460
1465
  else if(item.action === 'apply_refund'){
1461
1466
  this.$xdShowLoading({});
1462
1467
  jfbRootExec("getSupportQuickRefund", {
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:Order
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ mapFnName: 'getServiceProcess',
10
+ title: '获取服务单进度',
11
+ path: '/order/v1/service-process',
12
+ isRule: false,
13
+ params: {
14
+ main_order_id: ['main_order_id', 'String', '必选'],
15
+ },
16
+ isConsole: true,
17
+ disabled: true,
18
+ },
19
+ ];
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+
11
+ ].filter(i=>i)
12
+ },
13
+ advanced: [],
14
+ };
@@ -0,0 +1,158 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-order-service-step"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-order-service-step__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-order-service-step__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-order-service-step__body" :style=[bodyWrapStyle]>
17
+ <view class="steps_box">
18
+ <view class="order_id">渠道订单号:{{ channel_order_id }}</view>
19
+ <view class="service_box">
20
+ <view class="mtb40">服务进度</view>
21
+ <uni-steps :options="list" active-color="#007AFF" :active="active" direction="column" />
22
+ </view>
23
+ </view>
24
+ </view>
25
+ </view>
26
+ </template>
27
+
28
+ <script>
29
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
30
+ import UniSteps from "./uni-steps.vue"
31
+ import { jfbRootExec } from "@/utils/xd.event";
32
+ import JfbBaseOrderServiceStepMixin from "./JfbBaseOrderServiceStepMixin";
33
+ import { getContainerPropsValue } from "@/utils/xd.base";
34
+ import componentsMixins from "@/mixins/componentsMixins";
35
+ import extsMixins from "@/mixins/extsMixins";
36
+ export default {
37
+ name: "JfbBaseOrderServiceStep",
38
+ components: {
39
+ XdFontIcon,
40
+ UniSteps
41
+ },
42
+ mixins: [
43
+ componentsMixins, extsMixins, JfbBaseOrderServiceStepMixin
44
+ ],
45
+ data() {
46
+ return {
47
+ main_order_id: "",
48
+ channel_order_id: "",
49
+ active: 2,
50
+ list: []
51
+ //todo
52
+ }
53
+ },
54
+ computed: {
55
+ bodyWrapStyle(){
56
+ return {
57
+ minHeight: this.layoutInfo.bodyMinHeightRpx + 'rpx',
58
+ }
59
+ }
60
+ },
61
+ watch: {
62
+ container(value, oldValue) {
63
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
64
+ if (this.$configProject['isPreview']) this.init(value)
65
+ },
66
+ },
67
+ created() {
68
+ this.init(this.container);
69
+
70
+ //todo
71
+ },
72
+ methods: {
73
+ onJfbLoad(options) {
74
+ this.main_order_id = options.main_order_id;
75
+ this.p_getServiceProcess();
76
+ },
77
+ /**
78
+ * @description 监听事件变化
79
+ * @param container {object} 业务组件对象自己
80
+ */
81
+ init(container) {
82
+ //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
83
+ //this.height = getContainerPropsValue(container, 'content.height', 10);
84
+ },
85
+ p_getServiceProcess(){
86
+ jfbRootExec("getServiceProcess", {
87
+ vm: this,
88
+ data: {
89
+ main_order_id: this.main_order_id
90
+ }
91
+ }).then(res => {
92
+ this.list = res.list.map(item => {
93
+ item.title = item.process_desc;
94
+ item.desc = item.process_desc;
95
+ item.time = this.$xdUniHelper.getDate(
96
+ item.process_time * 1000
97
+ ).fullTime;
98
+ return item;
99
+ });
100
+ this.active = res.list.length - 1;
101
+ this.channel_order_id = res.channel_order_id;
102
+ })
103
+ },
104
+ onJfbScroll(options) {
105
+ // console.log('event.onJfbScroll', options)
106
+ },
107
+ onJfbReachBottom(options) {
108
+ console.log('event.onJfbReachBottom', options)
109
+ },
110
+ onJfbShow(options) {
111
+ console.log('event.onJfbShow', options)
112
+ },
113
+ onJfbHide(options) {
114
+ console.log('event.onJfbHide', options)
115
+ },
116
+ onJfbBack(options) {
117
+ console.log('event.onJfbBack', options)
118
+ },
119
+ onJfbUpdate(...data) {
120
+ console.log('event.onJfbUpdate', data)
121
+ },
122
+ onJfbCustomEvent(options) {
123
+ console.log('event.onJfbReachBottom', options)
124
+ },
125
+ }
126
+ }
127
+
128
+ </script>
129
+
130
+ <style scoped lang="less">
131
+ @import "./JfbBaseOrderServiceStepLess.less";
132
+
133
+ .jfb-base-order-service-step {
134
+ &__body{
135
+ padding: 40rpx;
136
+ .steps_box{
137
+ border: 1px solid #E5E5E5;
138
+ border-radius: 16rpx;
139
+ padding: 40rpx;
140
+ background: #FFFFFF;
141
+
142
+ .order_id{
143
+ font-size: 32rpx;
144
+ color: #777777;
145
+ }
146
+ .service_box{
147
+ font-size: 32rpx;
148
+ }
149
+
150
+ .mtb40{
151
+ margin-top: 60rpx;
152
+ margin-bottom: 60rpx;
153
+ }
154
+
155
+ }
156
+ }
157
+ }
158
+ </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-order-service-step {
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-order-service-step {
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-order-service-step'
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
+ getServiceProcess: {"total_size":1,"next_page_token":"","list":[{"id":1,"process_desc":"洗护服务单-配送中","process_time":1749541227}],"channel_order_id":"20250610154015710702","request_id":"98b5a154fd1c60c1"}
5
+ }
@@ -0,0 +1,285 @@
1
+ <template>
2
+ <view class="uni-steps">
3
+ <view :class="[direction==='column'?'uni-steps__column':'uni-steps__row']">
4
+ <view :class="[direction==='column'?'uni-steps__column-text-container':'uni-steps__row-text-container']">
5
+ <view v-for="(item,index) in options" :key="index"
6
+ :class="[direction==='column'?'uni-steps__column-text':'uni-steps__row-text']">
7
+ <text :style="{
8
+ color:index < active?activeColor:(index == active ? '#333' :deactiveColor)
9
+ }"
10
+ :class="[direction==='column'?'uni-steps__column-title':'uni-steps__row-title']">{{item.title}}</text>
11
+ <text :style="{
12
+ color:index < active?activeColor:(index == active ? '#333' :deactiveColor)
13
+ }"
14
+ :class="[direction==='column'?'uni-steps__column-desc':'uni-steps__row-desc']">{{item.desc}}</text>
15
+ <text class="uni-steps__column-time">{{ item.time }}</text>
16
+ </view>
17
+ </view>
18
+ <view :class="[direction==='column'?'uni-steps__column-container':'uni-steps__row-container']">
19
+ <view :class="[direction==='column'?'uni-steps__column-line-item':'uni-steps__row-line-item']"
20
+ v-for="(item,index) in options" :key="index">
21
+ <view
22
+ :class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--before':'uni-steps__row-line--before']"
23
+ :style="{backgroundColor:index<=active&&index!==0?activeColor:index===0?'transparent':deactiveColor}">
24
+ </view>
25
+ <view :class="[direction==='column'?'uni-steps__column-circle':'uni-steps__row-check']"
26
+ v-if="index === active">
27
+ {{ index + 1}}
28
+ </view>
29
+ <view v-else :class="[direction==='column'?'uni-steps__column-circle':'uni-steps__row-circle']"
30
+ :style="{
31
+ borderColor: index<active?activeColor:deactiveColor,
32
+ color: index<active?activeColor:deactiveColor
33
+ }">{{ index + 1}}</view>
34
+ <view
35
+ :class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--after':'uni-steps__row-line--after']"
36
+ :style="{backgroundColor:index<active&&index!==options.length-1?activeColor:index===options.length-1?'transparent':deactiveColor}">
37
+ </view>
38
+ </view>
39
+ </view>
40
+ </view>
41
+ </view>
42
+ </template>
43
+
44
+ <script>
45
+ /**
46
+ * Steps 步骤条
47
+ * @description 评分组件
48
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=34
49
+ * @property {Number} active 当前步骤
50
+ * @property {String} direction = [row|column] 当前步骤
51
+ * @value row 横向
52
+ * @value column 纵向
53
+ * @property {String} activeColor 选中状态的颜色
54
+ * @property {Array} options 数据源,格式为:[{title:'xxx',desc:'xxx'},{title:'xxx',desc:'xxx'}]
55
+ */
56
+
57
+ export default {
58
+ name: 'UniSteps',
59
+ props: {
60
+ direction: {
61
+ // 排列方向 row column
62
+ type: String,
63
+ default: 'row'
64
+ },
65
+ activeColor: {
66
+ // 激活状态颜色
67
+ type: String,
68
+ default: '#2979FF'
69
+ },
70
+ deactiveColor: {
71
+ // 未激活状态颜色
72
+ type: String,
73
+ default: '#B7BDC6'
74
+ },
75
+ active: {
76
+ // 当前步骤
77
+ type: Number,
78
+ default: 0
79
+ },
80
+ activeIcon: {
81
+ // 当前步骤
82
+ type: String,
83
+ default: 'checkbox-filled'
84
+ },
85
+ options: {
86
+ type: Array,
87
+ default () {
88
+ return []
89
+ }
90
+ } // 数据
91
+ },
92
+ data() {
93
+ return {}
94
+ }
95
+ }
96
+ </script>
97
+
98
+ <style lang="scss">
99
+ $uni-primary: #2979ff !default;
100
+ $uni-border-color:#EDEDED;
101
+ .uni-steps {
102
+ /* #ifndef APP-NVUE */
103
+ display: flex;
104
+ width: 100%;
105
+ /* #endif */
106
+ /* #ifdef APP-NVUE */
107
+ flex: 1;
108
+ /* #endif */
109
+ flex-direction: column;
110
+ }
111
+
112
+ .uni-steps__row {
113
+ /* #ifndef APP-NVUE */
114
+ display: flex;
115
+ /* #endif */
116
+ flex-direction: column;
117
+ }
118
+
119
+ .uni-steps__column {
120
+ /* #ifndef APP-NVUE */
121
+ display: flex;
122
+ /* #endif */
123
+ flex-direction: row-reverse;
124
+ }
125
+
126
+ .uni-steps__row-text-container {
127
+ /* #ifndef APP-NVUE */
128
+ display: flex;
129
+ /* #endif */
130
+ flex-direction: row;
131
+ align-items: flex-end;
132
+ margin-bottom: 8px;
133
+ }
134
+
135
+ .uni-steps__column-text-container {
136
+ /* #ifndef APP-NVUE */
137
+ display: flex;
138
+ /* #endif */
139
+ flex-direction: column;
140
+ flex: 1;
141
+ margin-left: 12rpx;
142
+ }
143
+
144
+ .uni-steps__row-text {
145
+ /* #ifndef APP-NVUE */
146
+ display: inline-flex;
147
+ /* #endif */
148
+ flex: 1;
149
+ flex-direction: column;
150
+ }
151
+
152
+ .uni-steps__column-text {
153
+ padding: 6px 0px;
154
+ /* #ifndef APP-NVUE */
155
+ display: flex;
156
+ /* #endif */
157
+ flex-direction: column;
158
+ }
159
+
160
+ .uni-steps__row-title {
161
+ font-size: 14px;
162
+ line-height: 16px;
163
+ text-align: center;
164
+ }
165
+
166
+ .uni-steps__column-title {
167
+ font-size: 14px;
168
+ text-align: left;
169
+ line-height: 18px;
170
+ color: #333;
171
+ }
172
+
173
+ .uni-steps__row-desc {
174
+ font-size: 12px;
175
+ line-height: 14px;
176
+ text-align: center;
177
+ }
178
+
179
+ .uni-steps__column-desc {
180
+ font-size: 12px;
181
+ text-align: left;
182
+ line-height: 18px;
183
+ margin-top: 10rpx;
184
+ }
185
+ .uni-steps__column-time{
186
+ font-size: 26rpx;
187
+ color: #999;
188
+ }
189
+
190
+ .uni-steps__row-container {
191
+ /* #ifndef APP-NVUE */
192
+ display: flex;
193
+ /* #endif */
194
+ flex-direction: row;
195
+ }
196
+
197
+ .uni-steps__column-container {
198
+ /* #ifndef APP-NVUE */
199
+ display: inline-flex;
200
+ /* #endif */
201
+ width: 30px;
202
+ flex-direction: column;
203
+ }
204
+
205
+ .uni-steps__row-line-item {
206
+ /* #ifndef APP-NVUE */
207
+ display: inline-flex;
208
+ /* #endif */
209
+ flex-direction: row;
210
+ flex: 1;
211
+ height: 14px;
212
+ line-height: 14px;
213
+ align-items: center;
214
+ justify-content: center;
215
+ }
216
+
217
+ .uni-steps__column-line-item {
218
+ /* #ifndef APP-NVUE */
219
+ display: flex;
220
+ /* #endif */
221
+ flex-direction: column;
222
+ flex: 1;
223
+ align-items: center;
224
+ justify-content: center;
225
+ }
226
+
227
+ .uni-steps__row-line {
228
+ flex: 1;
229
+ height: 1px;
230
+ background-color: #B7BDC6;
231
+ }
232
+
233
+ .uni-steps__column-line {
234
+ width: 1px;
235
+ background-color: #B7BDC6;
236
+ }
237
+
238
+ .uni-steps__row-line--after {
239
+ transform: translateX(1px);
240
+ }
241
+
242
+ .uni-steps__column-line--after {
243
+ flex: 1;
244
+ transform: translate(0px, 1px);
245
+ }
246
+
247
+ .uni-steps__row-line--before {
248
+ transform: translateX(-1px);
249
+ }
250
+
251
+ .uni-steps__column-line--before {
252
+ height: 6px;
253
+ transform: translate(0px, -13px);
254
+ }
255
+
256
+ .uni-steps__row-circle {
257
+ width: 5px;
258
+ height: 5px;
259
+ border-radius: 50%;
260
+ background-color: #B7BDC6;
261
+ margin: 0px 3px;
262
+ }
263
+
264
+ .uni-steps__column-circle {
265
+ width: 40rpx;
266
+ height: 40rpx;
267
+ font-size: 24rpx;
268
+ border-radius: 50%;
269
+ margin: 0px 0px 5px 0px;
270
+ display: flex;
271
+ justify-content: center;
272
+ align-items: center;
273
+ border: 1px solid #333333;
274
+ }
275
+
276
+ .uni-steps__row-check {
277
+ margin: 0px 6px;
278
+ }
279
+
280
+ .uni-steps__column-check {
281
+ height: 14px;
282
+ line-height: 14px;
283
+ margin: 2px 0px;
284
+ }
285
+ </style>
@@ -307,6 +307,7 @@ export default {
307
307
  list: [
308
308
  {"label": "焦点图显示", "value": 1},
309
309
  {"label": "轮播图显示", "value": 2},
310
+ {"label": "滑块", "value": 3},
310
311
  ]
311
312
  },
312
313
  params['isCarousel'] === 2 && {
@@ -361,6 +362,8 @@ export default {
361
362
  valueKey: 'jdRows',
362
363
  groupKey:'content',
363
364
  value: params.jdRows,
365
+ defaultValue: params['isCarousel']===3?1:params.jdRows,
366
+ disabled: params['isCarousel']===3,
364
367
  className: 'input60',
365
368
  labelInline: true,
366
369
  list: [
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <view class="sreen">
3
- <view
3
+ <view v-if="!config['carouselType']">
4
+ <view
4
5
  class="sreen__box notCarousel"
5
6
  :class="{
6
7
  cell4: config['column'] === 4,
@@ -128,6 +129,30 @@
128
129
  <!--#endif-->
129
130
  </xd-swiper-dot>
130
131
  </view>
132
+ </view>
133
+ <view v-else>
134
+ <scroll-view scroll-x="true">
135
+ <view class="scroll-box">
136
+ <view
137
+ v-for="item in content"
138
+ :key="item['content_id']"
139
+ @click="handleClick(item)"
140
+ :style="[config['iconItemStyleComp']]"
141
+ >
142
+ <view :style="[config['iconItemBoxStyleComp']]">
143
+ <view :style="[config['iconStyleComp']]" class="image">
144
+ <image :src="item.image_url"></image>
145
+ </view>
146
+ </view>
147
+ <view
148
+ class="content_name"
149
+ v-if="item['content_name']"
150
+ :style="[config['titleStyle']]"
151
+ >{{item['content_name']}}</view>
152
+ </view>
153
+ </view>
154
+ </scroll-view>
155
+ </view>
131
156
  </view>
132
157
  </template>
133
158
 
@@ -207,6 +232,8 @@
207
232
 
208
233
  },
209
234
  created() {
235
+ console.log(this.content,'content');
236
+
210
237
  this.isPreview = this.$configProject.isPreview;
211
238
  this.init();
212
239
  },
@@ -344,6 +371,12 @@
344
371
  }
345
372
  }
346
373
  }
374
+ .scroll-box {
375
+ width: 100%;
376
+ display: flex;
377
+ align-items: center;
378
+ white-space: nowrap;
379
+ }
347
380
  }
348
381
 
349
382
 
@@ -83,6 +83,7 @@
83
83
  bgColor:'rgba(0,0,0,0)',
84
84
  bgRadius: 0,
85
85
  bgImage: "",
86
+ carouselType: ''
86
87
  }
87
88
  },
88
89
  computed: {
@@ -147,7 +148,8 @@
147
148
  height: this.iconWH.height,
148
149
  width: this.iconWH.width,
149
150
  titleStyle: this.titleStyle,
150
- dotStyleData: this.dotStyleData
151
+ dotStyleData: this.dotStyleData,
152
+ carouselType: this.carouselType
151
153
  }
152
154
  },
153
155
  iconItemStyleComp(){
@@ -242,7 +244,11 @@
242
244
 
243
245
  //content
244
246
  this.mode = getContainerPropsValue(container, 'content.dot_type', 'round');
245
- this.isCarousel = getContainerPropsValue(container, 'content.isCarousel', 1) === 2;
247
+ this.isCarousel = getContainerPropsValue(container, 'content.isCarousel', 1);
248
+ if(this.isCarousel===3){
249
+ this.carouselType='slider'
250
+ }
251
+ this.isCarousel = this.isCarousel=== 2
246
252
  this.carouselTime = Number(getContainerPropsValue(container, 'content.carouselTime', 5)) * 1000;
247
253
  let useNumberDefault = 20;
248
254
  if(this.isCarousel === false) useNumberDefault = this.row * this.column;