jufubao-mall 2.0.35-beta2 → 2.0.35-beta4

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.
@@ -0,0 +1,310 @@
1
+ 'use strict';
2
+ import {
3
+ dataVal ,
4
+ statusShow,
5
+ statusDataVal,
6
+ customVal,
7
+ cusDisabled ,
8
+ getCustomAttr,
9
+ isArray,
10
+ isObject
11
+ } from "@/utils/AttrTools";
12
+ import IConList from "@/ICONS"
13
+
14
+ export default (data, gValue,gColor,oldData)=>{
15
+ let pageSize = 20;
16
+ if(data.listLayout === 'carousel') {
17
+ pageSize = 45;
18
+ }
19
+
20
+ let isShowMore = dataVal({data, key:'isShowMore', dValue:'Y', gValue});
21
+ let listLayout = 'slide';
22
+ if(data['listLayout'] !== undefined) listLayout = data['listLayout'];
23
+ let titleTpl = 'v1';
24
+ if(data['titleTpl'] !== undefined) titleTpl = data['titleTpl'];
25
+
26
+
27
+ //老数据
28
+ let tabContent = [
29
+ {value:'all', label: '全部',input:'全部',check: true },
30
+ {value:'sell', label: '线下',input:'线下',check: true },
31
+ {value:'code', label: '电子码',input:'电子码' ,check: true},
32
+ {value:'stod', label: '线上',input:'线上',check: true},
33
+ ];
34
+
35
+ if(data['brandCateList'] !== undefined
36
+ && data['brandCateList'] !== null
37
+ ) {
38
+ tabContent = data['brandCateList'].map((item,index)=>{
39
+ let value = item.value[0];
40
+ if(value === 'online') value = 'stod'; //线上
41
+ if(value === 'offline') value = 'sell'; //线下
42
+ return {
43
+ check: true,
44
+ label: item['label'],
45
+ value : value,
46
+ input: item['label']
47
+ };
48
+ })
49
+ }
50
+
51
+ //已设置
52
+ if(data['tabContent'] !== undefined){
53
+ tabContent = data['tabContent'];
54
+ }
55
+
56
+ return[
57
+ {
58
+ ele: 'title',
59
+ label: '基础',
60
+ size: 'small',
61
+ groupKey:'content',
62
+ },
63
+ {
64
+ label: "业务线",
65
+ ele: "xd-choose-namespace",
66
+ valueKey: "xnamespace",
67
+ groupKey:'content',
68
+ placeholder: '请选择业务线',
69
+ notice:'空继承上级业务线',
70
+ inline: false,
71
+ labelInline:true,
72
+ value: dataVal({data, key:'xnamespace', dValue:null, gValue}),
73
+ className: 'input100',
74
+ handleCustom: (cb) => {
75
+ XdBus.getParentApi('getOptionsNamespaces')()
76
+ .then(res => {
77
+ cb(res.list)
78
+ })
79
+ .catch();
80
+ }
81
+ },
82
+ {
83
+ label: "品牌选项卡设置",
84
+ ele: 'xd-brand-cate-new',
85
+ valueKey: "brandCateList",
86
+ value: data['brandCateList'] || null,
87
+ groupKey: 'content',
88
+ hidden: true
89
+ },
90
+ {
91
+ label: '数据内容',
92
+ ele: 'xd-name-check',
93
+ valueKey: 'tabContent',
94
+ value: tabContent,
95
+ className: 'input100',
96
+ groupKey:'content',
97
+ size: 'small',
98
+ labelInline:true,
99
+ setting: {
100
+ width: 90,
101
+ isSort: true,
102
+ bgColor: '#F5F7FA'
103
+ },
104
+ inline: false,
105
+ handleCustom({action, data}) {
106
+ data.cb([
107
+ {value:'all', label: '全部',input:'', def: '全部', check: false,placeholder:''},
108
+ {value:'sell', label: '线下',input:'', def: '线下',check: false, placeholder:''},
109
+ {value:'code', label: '电子码',input:'', def: '电子码',check: false, placeholder:''},
110
+ {value:'stod', label: '线上',input:'', def: '线上',check: false, placeholder:''},
111
+ {value:'stod-samecity', label: '同城配送',input:'', def: '同城配送',check: false,placeholder:''},
112
+ {value:'stod-logistics', label: '快递配送',input:'', def: '快递配送',check: false,placeholder:''},
113
+ {value:'stod-takeout', label: '门店自提',input:'', def: '门店自提',check: false,placeholder:''},
114
+ ])
115
+ },
116
+ },
117
+ {
118
+ label: '品牌数量',
119
+ ele: 'el-input',
120
+ type: 'number',
121
+ labelInline: true,
122
+ valueKey: 'page_size',
123
+ value: dataVal({data, key:'page_size', dValue:pageSize, gValue}),
124
+ groupKey:'content',
125
+ className: 'input100',
126
+ unit: '条'
127
+ },
128
+ {
129
+ label: '商品分类:',
130
+ ele: 'xd-site-select-list',
131
+ valueKey: 'category_ids',
132
+ value: dataVal({data, key:'category_ids', dValue:[], gValue}),
133
+ groupKey:'content',
134
+ labelInline:true,
135
+ placeholder: '请选择商品分类',
136
+ setting: {
137
+ multiple: true,
138
+ },
139
+ className: 'input100',
140
+ handleCustom({action, data}) {
141
+ XdBus.getParentApi('getProductCategories')({
142
+ key: Date.now()
143
+ })
144
+ .then(res => {
145
+ data.cb(res.list)
146
+ })
147
+ .catch(error => {
148
+ console.error(error);
149
+ });
150
+ },
151
+ inline: false,
152
+ },
153
+ {
154
+ ele: 'title',
155
+ label: '组件样式',
156
+ size: 'small',
157
+ groupKey:'content',
158
+ },
159
+ {
160
+ label: "组件布局",
161
+ ele: "xd-style-image",
162
+ groupKey: 'content',
163
+ valueKey: "listLayout",
164
+ value: listLayout,
165
+ labelInline:true,
166
+ key: Date.now(),
167
+ isKey:true,
168
+ className: 'input100',
169
+ handleCustom(cusRes) {
170
+ XdBus.getParentApi('getCompStylesOptions')({
171
+ layout_ids: '4XS5Ot066x8EK5KB7rtf8',
172
+ key: Date.now()
173
+ })
174
+ .then(res => {
175
+ cusRes.data.cb(res)
176
+ })
177
+ .catch(error => {
178
+ console.error(error);
179
+ });
180
+ },
181
+ },
182
+ {
183
+ label: "标题风格",
184
+ ele: "xd-style-image",
185
+ groupKey: 'content',
186
+ valueKey: "titleTpl",
187
+ value: titleTpl,
188
+ labelInline:true,
189
+ key: Date.now(),
190
+ isKey:true,
191
+ className: 'input100',
192
+ handleCustom(cusRes) {
193
+ XdBus.getParentApi('getCompStylesOptions')({
194
+ layout_ids: 'QdFTMI0uoKE5Rte00rLKQ',
195
+ key: Date.now()
196
+ })
197
+ .then(res => {
198
+ cusRes.data.cb(res)
199
+ })
200
+ .catch(error => {
201
+ console.error(error);
202
+ });
203
+ },
204
+ },
205
+
206
+
207
+
208
+ {
209
+ label: '展示行数',
210
+ ele: 'xd-radio',
211
+ valueKey: 'listRow',
212
+ value:dataVal({data, key:'listRow', dValue:2, gValue}),
213
+ multiple: false,
214
+ className: 'input80',
215
+ groupKey: 'content',
216
+ labelInline: true,
217
+ hidden: listLayout !== 'carousel',
218
+ list: [
219
+ {label: '一行', value: 1},
220
+ {label: '两行', value: 2},
221
+ {label: '三行', value: 3},
222
+ ]
223
+ },
224
+ {
225
+ label: '查看更多',
226
+ ele: 'xd-radio',
227
+ valueKey: 'isShowMore',
228
+ value: isShowMore,
229
+ multiple: false,
230
+ className: 'input100',
231
+ groupKey: 'content',
232
+ labelInline: true,
233
+ list: [
234
+ {label: '显示', value: 'Y'},
235
+ {label: '隐藏', value: 'N'},
236
+ ]
237
+ },
238
+ isShowMore === 'Y' && {ele: 'group_start'},
239
+ {
240
+ label: '',
241
+ ele: 'el-input',
242
+ type: 'text',
243
+ valueKey: 'moreName',
244
+ value: dataVal({data, key:'moreName', dValue:'', gValue}),
245
+ placeholder: '更多按钮名称,默认”更多“',
246
+ className: 'input100',
247
+ groupKey: 'content',
248
+ hidden: isShowMore === 'N',
249
+ labelInline: true,
250
+ inline: false,
251
+ },
252
+ isShowMore === 'Y' && {ele: 'group_end'},
253
+
254
+ isShowMore === 'Y' && {ele: 'group_start'},
255
+ // {
256
+ // label: "轮播速度:",
257
+ // groupKey: 'content',
258
+ // ele: 'xd-slider',
259
+ // valueKey: "time",
260
+ // value: data['time'] === undefined?5:data['time'],
261
+ // className: "input80",
262
+ // labelInline: true,
263
+ // hidden: listLayout !== 'carousel',
264
+ // setting:{
265
+ // min: 0,//最小值
266
+ // max: 60, //最小值
267
+ // step:1, //步长
268
+ // showStops:false,//显示间断点
269
+ // unit:'秒'
270
+ // }
271
+ // },
272
+ // {
273
+ // label: "大小设置:",
274
+ // groupKey: 'content',
275
+ // ele: 'xd-slider',
276
+ // valueKey: "iconSize",
277
+ // value: iconSize,
278
+ // className: "input80",
279
+ // labelInline: true,
280
+ // hidden: listLayout !== 'carousel',
281
+ // setting:{
282
+ // min: 0,//最小值
283
+ // max: 60, //最小值
284
+ // step:1, //步长
285
+ // showStops:false,//显示间断点
286
+ // }
287
+ // },
288
+ // {
289
+ // label: '轮播指示图标样式:',
290
+ // ele: 'xd-select-list',
291
+ // valueKey: 'enterMode',
292
+ // value: data['enterMode'] || 'round',
293
+ // groupKey:'content',
294
+ // multiple: false,
295
+ // className: 'input80',
296
+ // hidden: listLayout !== 'carousel',
297
+ // list:[
298
+ // {label: '显示圆点', value: 'dot'},
299
+ // {label: '显示长方形', value: 'default'},
300
+ // {label: '显示圆点+长条', value: 'round'},
301
+ // {label: '显示索引+标题', value: 'nav'},
302
+ // {label: '显示索引', value: 'indexes'},
303
+ // {label: '不显示', value: 'normal'},
304
+ // ],
305
+ // notice: '在使用非通屏显示类型广告位之外的样式时,<span style="color: red">(显示索引+标题|显示索引)</span>使用"<span style="color: red">显示圆点</span>"',
306
+ // inline: false,
307
+ // },
308
+ isShowMore === 'Y' && {ele: 'group_end'},
309
+ ]
310
+ }
@@ -0,0 +1,186 @@
1
+ 'use strict';
2
+
3
+ import {dataVal, statusDataVal, statusShow, clone, cRaBorShadow,isDefStatus} from "@/utils/AttrTools";
4
+
5
+ export default (data, gValue, gColor, oldData={})=>{
6
+ let moreBorder = cRaBorShadow( data, 'moreBorder', {dValue:'N'},gValue);
7
+ let moreShadow = cRaBorShadow( data, 'moreShadow', {dValue:'N'},gValue);
8
+
9
+ return [
10
+ {
11
+ ele: 'title',
12
+ label: '查看更多',
13
+ size: 'small',
14
+ groupKey:'style',
15
+ },
16
+ {
17
+ label: '更多文字',
18
+ ele: 'xd-radio',
19
+ groupKey: 'style',
20
+ valueKey: 'moreStyleStatus',
21
+ value: statusDataVal({data, key:'moreStyleStatus',cValue: 'N', fields:['moreStyle'],gValue}),
22
+ labelInline:true,
23
+ list: [
24
+ {label: '默认', value: 'D'},
25
+ {label: '无圆角', value: 'N'},
26
+ {label: '自定义', value: 'C'},
27
+ ]
28
+ },
29
+ {ele: 'group_start'},
30
+ {
31
+ label: '',
32
+ ele: 'xd-text-and-bgc',
33
+ groupKey:'style',
34
+ valueKey: 'moreStyle',
35
+ value: dataVal({data, key:'moreStyle', dValue:'', gValue}),
36
+ hidden: !statusShow({data, key: 'moreStyleStatus', fields:['moreStyle'], gValue}),
37
+ setting: {
38
+ fontSize: true,
39
+ weight:true,
40
+ bgColor:true,
41
+ selected:false,
42
+ default:{
43
+ color: data['moreNameTextColor'] || '#333',
44
+ fontSize: '28rpx',
45
+ fontWeight:'normal',
46
+ bgColor:'rgba(0,0,0,0)',
47
+ }
48
+ //fontSize:'28rpx', color: moreColor,bgColor:'rgba(0,0,0,0)', fontWeight: 'normal'
49
+ },
50
+ handleCustom({action, data}) {
51
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_font_size'})
52
+ .then(res => {
53
+ data.cb(res.list)
54
+ })
55
+ .catch(error => {
56
+ console.error(error);
57
+ data.cb([])
58
+ });
59
+ },
60
+ },
61
+ {ele: 'group_end'},
62
+ {
63
+ label: '更多描边',
64
+ ele: 'xd-border',
65
+ groupKey:'style',
66
+ valueKey: 'moreBorder',
67
+ value: moreBorder,
68
+ labelInline: true,
69
+ className: 'input100',
70
+ setting: {
71
+ selected: moreBorder.type,//设置默认选中项
72
+ isRadio: true,//启用editx默认
73
+ isDef: true, //启动默认选项
74
+ //==设置默认值==
75
+ color: '#fff',
76
+ width: '0',
77
+ style: 'solid'
78
+ //==设置默认值==
79
+ },
80
+ },
81
+ {
82
+ label: '更多投影',
83
+ ele: 'xd-shadow',
84
+ labelInline: true,
85
+ groupKey:'style',
86
+ valueKey: 'moreShadow',
87
+ value: moreShadow,
88
+ className: 'input100',
89
+ setting: {
90
+ selected: moreShadow.type,
91
+ isRadio:true,
92
+ isDef: true,
93
+ default: {
94
+ color:'rgba(0,0,0,0.1)',
95
+ width:'10',
96
+ }
97
+ },
98
+ handleCustom({action, data}) {
99
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
100
+ .then(res => {
101
+ res.list = res.list.filter(item=>{
102
+ return item.label !== '无';
103
+ });
104
+ data.cb(res.list)
105
+ })
106
+ .catch(error => {
107
+ console.error(error);
108
+ data.cb([])
109
+ });
110
+ },
111
+ },
112
+ {
113
+ label: '更多圆角',
114
+ ele: 'xd-radio',
115
+ groupKey: 'style',
116
+ valueKey: 'moreNewRadiusStatus',
117
+ value: statusDataVal({data, key:'moreNewRadiusStatus',cValue: 'N', fields:['moreNewRadius'],gValue}),
118
+ labelInline:true,
119
+ list: [
120
+ {label: '默认', value: 'D'},
121
+ {label: '无圆角', value: 'N'},
122
+ {label: '自定义', value: 'C'},
123
+ ]
124
+ },
125
+ {ele: 'group_start'},
126
+ {
127
+ label: '',
128
+ ele: 'xd-site-select-list',
129
+ labelInline: true,
130
+ valueKey: 'moreNewRadius',
131
+ value: dataVal({data, key:'moreNewRadius', dValue:'10', gValue}),
132
+ hidden: !statusShow({data, key: 'moreNewRadiusStatus', fields:['moreNewRadius'], gValue}),
133
+ placeholder: '请选择更多圆角',
134
+ multiple: false,
135
+ className: 'input80',
136
+ groupKey:'style',
137
+ handleCustom({action, data}) {
138
+ XdBus.getParentApi('getOptionsSettingList')({
139
+ setting_id: 'edtix_style_radius',
140
+ key: Date.now()
141
+ })
142
+ .then(res => {
143
+ debugger
144
+ res.list = res.list.filter(item=>{
145
+ return item.label !== '无';
146
+ });
147
+ data.cb(res.list)
148
+ })
149
+ .catch(error => {
150
+ console.error(error);
151
+ });
152
+ },
153
+ },
154
+ {ele: 'group_end'},
155
+ //废弃样式(不可删除)
156
+ {
157
+ label: '文字颜色:',
158
+ ele: 'xd-color',
159
+ valueKey: 'moreNameTextColor',
160
+ value: data['moreNameTextColor'] || '',
161
+ placeholder: '请选择更多文字颜色',
162
+ classNmae: 'input80',
163
+ groupKey: 'style',
164
+ hidden: true,
165
+ },
166
+ {
167
+ label: "圆角设置:",
168
+ groupKey: 'style',
169
+ ele: 'xd-slider',
170
+ valueKey: "moreRadius",
171
+ value: data['moreRadius']===undefined?0:data['moreRadius'],
172
+ className: "input80",
173
+ labelInline: true,
174
+ hidden: true,
175
+ setting:{
176
+ min: 0,//最小值
177
+ max: 80, //最小值
178
+ step:1, //步长
179
+ showStops:false,//显示间断点
180
+ }
181
+ },
182
+ //废弃样式(不可删除)
183
+
184
+ ].filter(i=>i)
185
+ }
186
+