jufubao-base 1.0.287 → 1.0.289-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 (56) hide show
  1. package/get.package.path.js +2 -2
  2. package/package.json +1 -1
  3. package/src/components/CusCouponChose/CusCouponChose.vue +1027 -0
  4. package/src/components/CusCouponItem/CusCouponItem.vue +298 -0
  5. package/src/components/CusEnter/CusEnter.vue +360 -0
  6. package/src/components/CusPoster/CusPoster.vue +212 -0
  7. package/src/components/CusPoster/CusSwiperDot.vue +234 -0
  8. package/src/components/CusProduct/CusProduct.vue +372 -0
  9. package/src/components/CusShops/CusShops.vue +518 -0
  10. package/src/components/CusSwiperDot/CusSwiperDot.vue +234 -0
  11. package/src/components/CusTab/CusTab.vue +411 -0
  12. package/src/components/CusVideo/CusVideo.vue +170 -0
  13. package/src/components/JfbBaseCard/JfbBaseCard.vue +6 -0
  14. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +6 -0
  15. package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +6 -0
  16. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +6 -0
  17. package/src/components/JfbBaseChangeCompany/Api.js +18 -0
  18. package/src/components/JfbBaseChangeCompany/Attr.js +18 -0
  19. package/src/components/JfbBaseChangeCompany/JfbBaseChangeCompany.vue +201 -0
  20. package/src/components/JfbBaseChangeCompany/JfbBaseChangeCompanyLess.less +79 -0
  21. package/src/components/JfbBaseChangeCompany/JfbBaseChangeCompanyMixin.js +30 -0
  22. package/src/components/JfbBaseChangeCompany/Mock.js +7 -0
  23. package/src/components/JfbBaseChangeCompany/cusAttr/advanced.js +24 -0
  24. package/src/components/JfbBaseChangeCompany/cusAttr/content.js +27 -0
  25. package/src/components/JfbBaseChangeCompany/cusAttr/style.js +127 -0
  26. package/src/components/JfbBaseChoseCompany/Api.js +33 -0
  27. package/src/components/JfbBaseChoseCompany/Attr.js +18 -0
  28. package/src/components/JfbBaseChoseCompany/JfbBaseChoseCompany.vue +350 -0
  29. package/src/components/JfbBaseChoseCompany/JfbBaseChoseCompanyLess.less +79 -0
  30. package/src/components/JfbBaseChoseCompany/JfbBaseChoseCompanyMixin.js +30 -0
  31. package/src/components/JfbBaseChoseCompany/Mock.js +9 -0
  32. package/src/components/JfbBaseChoseCompany/cusAttr/advanced.js +24 -0
  33. package/src/components/JfbBaseChoseCompany/cusAttr/content.js +69 -0
  34. package/src/components/JfbBaseChoseCompany/cusAttr/style.js +327 -0
  35. package/src/components/JfbBaseFooter/Attr.js +10 -155
  36. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +96 -43
  37. package/src/components/JfbBaseFooter/cusAttr/advanced.js +12 -0
  38. package/src/components/JfbBaseFooter/cusAttr/content.js +446 -0
  39. package/src/components/JfbBaseFooter/cusAttr/style.js +7 -0
  40. package/src/components/JfbBaseFooter/cusAttr/tools.js +17 -0
  41. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -3
  42. package/src/components/JfbBaseOrderList/Mock.js +1 -1
  43. package/src/components/JfbBaseTfkSearch/Api.js +15 -0
  44. package/src/components/JfbBaseTfkSearch/CustomList.vue +10 -0
  45. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +247 -7
  46. package/src/components/JfbBaseTfkSearch/XdQueryFilter.vue +354 -0
  47. package/src/components/JfbBaseTfkSearch/XdQuerySort.vue +192 -0
  48. package/src/components/JfbBaseUserInfo/Attr.js +12 -0
  49. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +8 -2
  50. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +3 -0
  51. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +3 -0
  52. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +17 -7
  53. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +6 -2
  54. package/src/mixins/componentsMixins.js +363 -55
  55. package/src/mixins/posterMixins.js +27 -199
  56. package/src/mixins/productCompMixins.js +252 -0
@@ -23,7 +23,7 @@
23
23
  style="height:100%"
24
24
  v-if="list !== null"
25
25
  :height="height"
26
- :tabbar="list"
26
+ :tab-bar="list"
27
27
  :view="view"
28
28
  :styles="styles"
29
29
  :key="footerBarKey"
@@ -44,7 +44,8 @@
44
44
  import {getNoUrl} from "@/utils/nourl";
45
45
  import {
46
46
  getContainerPropsValue,
47
- getComponentAttr
47
+ getComponentAttr,
48
+ gCPVal
48
49
  } from "@/utils/xd.base";
49
50
  import getServiceUrl from "@/common/getServiceUrl";
50
51
 
@@ -65,6 +66,7 @@
65
66
  backgroundSize: '100% 100%',
66
67
  backgroundRepeat: 'no-repeat',
67
68
  backgroundPosition: 'top center',
69
+ backgroundColor: this.backgroundColor,
68
70
  '--border-color': this.borderColor
69
71
  }
70
72
 
@@ -74,49 +76,46 @@
74
76
  return params
75
77
  }
76
78
  },
79
+ watch: {
80
+ container(value,oloValue) {
81
+ if(JSON.stringify(value) === JSON.stringify(oloValue)) return;
82
+ if (this.$configProject['isPreview']){
83
+ this.init(value);
84
+ this.getNumber();
85
+ this.footerBarKey = this.$xdUniHelper.randomChar(20);
86
+ }
87
+ }
88
+ },
77
89
  data() {
78
90
  return {
91
+ closeMask: true,
79
92
  height: 0,
80
93
  list: null,
81
94
  view: false,
82
95
  numObj: {},
83
96
  footerBarKey: 'footerBarKey', //刷新
84
97
  baseUrl: '',
98
+ footerTpl:'', //模版样式
99
+
100
+ //样式
85
101
  backgroundImage: '',
86
- borderColor: ''
87
- }
88
- },
89
- watch: {
90
- container(value,oloValue) {
91
- if(JSON.stringify(value) === JSON.stringify(oloValue)) return;
92
- if (this.$configProject['isPreview']){
93
- this.init(value);
94
- this.getNumber();
95
- this.footerBarKey = this.$xdUniHelper.randomChar(20);
96
- }
102
+ backgroundColor:'#fff',
103
+ borderColor: '',
97
104
  }
98
105
  },
99
106
  created() {
100
107
  this.view = this.$configProject.isPreview;
101
108
 
102
- //非预览模式
103
109
  //#ifdef H5
104
110
  if (!this.$configProject.isPreview){
105
111
  this.baseUrl = this.projectAttr['deploy_dir']
106
112
  }
107
113
  //#endif
108
114
 
109
- //设置高度
110
- if(this.$configProject.isPreview) {
111
- this.height = getComponentAttr(this.componentAttr, 'height');
112
- }
113
- else {
114
- this.height = getComponentAttr(this.componentAttr, 'height');
115
- }
116
-
117
- this.height = Number(this.height);
115
+ this.height = 96//Number(getComponentAttr(this.componentAttr, 'height'));
118
116
 
119
117
  this.init(this.container);
118
+
120
119
  //监听重试消息数量
121
120
  this.$xdRoot.$on('restFooterNumber', this.handle)
122
121
  },
@@ -196,29 +195,83 @@
196
195
 
197
196
  /**
198
197
  * @description 监听事件变化
199
- * @param value {object} 业务组件对象自己
198
+ * @param container {object} 业务组件对象自己
200
199
  */
201
- init(value) {
200
+ init(container) {
201
+ this.footerTpl = gCPVal(container, 'footerTpl', 'noraml');
202
+
202
203
  //设置底部菜单
203
- let bar = getContainerPropsValue(value, 'content.footer-setting', []);
204
- let imageIcons = getContainerPropsValue(value, 'content.footerSettingImage', []);
205
- this.backgroundImage = getContainerPropsValue(value, 'content.backgroundImage', '');
206
- this.borderColor = getContainerPropsValue(value, 'content.borderColor', '#eee');
204
+ let settingKey = 'footer-setting';
205
+ if(this.footerTpl === 'itemCenterBig') settingKey = 'footer-setting-center-big'
206
+ let barList = gCPVal(container, settingKey, []);
207
+ let imageIcons = gCPVal(container, 'footerSettingImage', []);
208
+
209
+ this.backgroundImage = gCPVal(container, 'backgroundImage', '',{sKey:'navStatus',fields:['bgColor','backgroundImage','borderColor']});
210
+ this.backgroundColor = gCPVal(container, 'bgColor', '#fff',{sKey:'navStatus',fields:['bgColor','backgroundImage','borderColor']});
211
+ this.borderColor = gCPVal(container, 'bgColor', ['#fff','#eee'],{sKey:'navStatus',fields:['bgColor','backgroundImage','borderColor']});
212
+ let color = gCPVal(container,'color', '');
213
+ let selectedColor = gCPVal(container,'selectedColor', '');
214
+ let isShowTitle = gCPVal(container, 'isShowTitle', 'Y');
215
+ this.iconStyle = gCPVal(container, 'iconStyle', [
216
+ {
217
+ cusColor:{
218
+ iconColor: '#333',
219
+ color:'#333'
220
+ },
221
+ cusActColor:{
222
+ color: this.mainColor,
223
+ iconColor: this.mainColor
224
+ }
225
+ },
226
+ {
227
+ cusColor:{
228
+ iconColor: color || '#333',
229
+ color:color || '#333'
230
+ },
231
+ cusActColor:{
232
+ color: selectedColor || this.mainColor,
233
+ iconColor: selectedColor || this.mainColor
234
+ }
235
+ }
236
+ ],{sKey:'iconStyleStatus',fields:['iconStyle','color','selectedColor']});
237
+ let borderColor = gCPVal(container, 'centerColor', this.backgroundColor,{sKey:'iconCenterStatus',fields:['centerWidth','centerColor']});
238
+ let borderWidth = gCPVal(container, 'centerWidth', 12,{sKey:'iconCenterStatus',fields:['centerWidth','centerColor']});
239
+
240
+
207
241
  this.list = {
208
- bgColor: getContainerPropsValue(value, 'content.bgColor', '#fff'),
209
- bodyStyle: this.bodyStyle,
210
- selectedColor: getContainerPropsValue(value, 'content.selectedColor', this.mainColor),
211
- color: getContainerPropsValue(value, 'content.color', '#333'),
212
- list: bar.map((item,index)=>{
213
- return {
214
- name: item.name.slice(0, 6),
215
- icon: item.icon,
216
- path: item.path.value,
217
- size: item.size,
242
+ tpl:this.footerTpl,
243
+ hasName: isShowTitle === 'Y',
244
+ borderColor,
245
+ borderWidth,
246
+ bgColor: this.backgroundColor,
247
+ color:this.iconStyle.cusColor.color,
248
+ selectedColor:this.iconStyle.cusActColor.color,
249
+ iconColor:this.iconStyle.cusColor.iconColor,
250
+ selectedIconColor:this.iconStyle.cusActColor.iconColor,
251
+ list: barList.map((item,index)=>{
252
+ let selfImage = (item.image && item.image.url) ? getServiceUrl(item.image.url,'size3'):'';
253
+ let selfActImage = (item.actImage && item.actImage.url) ? getServiceUrl(item.actImage.url,'size3'):'';
254
+ let image = (selfImage || selfActImage) || this.getImage(imageIcons,index,'image') || this.getImage(imageIcons,index,'actImage');
255
+ let actImage = (selfActImage || selfImage) || this.getImage(imageIcons,index,'actImage') || this.getImage(imageIcons,index,'image');
256
+ let iconType = 'icon';
257
+ if(!item['iconType'] && (actImage || image)) iconType = 'image';
258
+ if(['icon','image'].includes(item['iconType'])) iconType = item['iconType'];
259
+ let router = {
260
+ path: (item.path && item.path.value) ? item.path.value :'',
218
261
  num: this.numObj[index] ? this.numObj[index]: 0 ,
219
- image: this.getImage(imageIcons,index,'image') || this.getImage(imageIcons,index,'actImage'),
220
- actImage: this.getImage(imageIcons,index,'actImage') || this.getImage(imageIcons,index,'image'),
221
262
  }
263
+ if(isShowTitle === 'Y') router['name'] = item.name ? item.name.slice(0, 5): '';
264
+ if(iconType === 'icon') {
265
+ router['icon'] = item.icon;
266
+ router['image'] = '';
267
+ router['actImage'] = '';
268
+ }
269
+ if(iconType === 'image') {
270
+ router['icon'] = '';
271
+ router['image'] = image;
272
+ router['actImage'] = actImage;
273
+ }
274
+ return router
222
275
  }),
223
276
  };
224
277
  },
@@ -234,12 +287,12 @@
234
287
  border-color: var(--border-color);
235
288
  }
236
289
  }
237
-
238
290
 
239
- .jfb-base-footer {
240
291
 
292
+ .jfb-base-footer {
241
293
  &__body{
242
294
  box-sizing: border-box;
295
+ overflow: inherit!important;
243
296
  }
244
297
  }
245
298
  </style>
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ import ICONS from "@/ICONS";
4
+ import tools from "./tools";
5
+
6
+ export default (data, gValue, gColor, oldData={})=>{
7
+ const {footerSettingImage, footerSetting} = tools(data);
8
+ return [
9
+
10
+ ]
11
+ }
12
+
@@ -0,0 +1,446 @@
1
+ 'use strict';
2
+
3
+ import tools from "./tools";
4
+ import ICONS from "@/ICONS";
5
+ import {
6
+ dataVal,
7
+ customVal,
8
+ statusDataVal,
9
+ statusShow
10
+ } from "@/utils/AttrTools";
11
+
12
+ export default function (data, gValue, gColor, oldData){
13
+ const {footerSettingImage, footerSetting} = tools(data);
14
+
15
+ let footerTpl = dataVal({data, key:'footerTpl', dValue:'normal', gValue});
16
+
17
+
18
+ let iconStyle = {
19
+ cusColor:{
20
+ iconColor: '#333',
21
+ color: '#333'
22
+ },
23
+ cusActColor:{
24
+ iconColor: gColor.mainColor,
25
+ color:gColor.mainColor
26
+ }
27
+ }
28
+ if(data.color) {
29
+ iconStyle['cusColor'] = {
30
+ iconColor: data.color,
31
+ color: data.color
32
+ }
33
+ }
34
+ if(data.selectedColor) {
35
+ iconStyle['cusActColor'] = {
36
+ iconColor: data.selectedColor,
37
+ color: data.selectedColor
38
+ }
39
+ }
40
+ if(data.iconStyle !== undefined) iconStyle = data.iconStyle;
41
+
42
+
43
+ return [
44
+ {
45
+ label: '',
46
+ ele: 'slot',
47
+ slot: 'is_reference_title',
48
+ groupKey: 'content',
49
+ labelInline:true,
50
+ },
51
+ {
52
+ ele: 'title',
53
+ label: '基础',
54
+ size: 'small',
55
+ groupKey:'content',
56
+ },
57
+ {
58
+ label: "组件样式",
59
+ ele: "xd-style-image",
60
+ groupKey: 'content',
61
+ valueKey: "footerTpl",
62
+ value: dataVal({data, key:'footerTpl', dValue:'normal', gValue}),
63
+ labelInline:true,
64
+ className: 'input100',
65
+ handleCustom(cusRes) {
66
+ XdBus.getParentApi('getCompStylesOptions')({
67
+ layout_ids: 'lynkWnvoDmMLIdOR1AhSt',
68
+ key: Date.now()
69
+ })
70
+ .then(res => {
71
+ cusRes.data.cb(res)
72
+ })
73
+ .catch(error => {
74
+ console.error(error);
75
+ });
76
+ },
77
+ },
78
+
79
+ footerTpl === 'itemCenterBig'&&{ele: 'group_start'},
80
+ {
81
+ label: '中间图标',
82
+ ele: 'xd-radio',
83
+ groupKey: 'content',
84
+ valueKey: 'iconCenterStatus',
85
+ value: statusDataVal({data, key:'iconCenterStatus', fields:['centerColor','centerWidth'],gValue}),
86
+ hidden: !(footerTpl === 'itemCenterBig'),
87
+ labelInline:true,
88
+ list: [
89
+ {label: '默认', value: 'D'},
90
+ {label: '自定义', value: 'C'},
91
+ ]
92
+ },
93
+ {
94
+ label: '边框大小',
95
+ ele: 'el-input',
96
+ type: 'number',
97
+ groupKey: 'content',
98
+ valueKey: 'centerWidth',
99
+ cusStyle: {paddingLeft: '80px'},
100
+ labelInline:true,
101
+ value: dataVal({data, key:'centerWidth', dValue:12, gValue}),
102
+ hidden:!(footerTpl === 'itemCenterBig') || !statusShow({data, key: 'iconCenterStatus', fields:['centerColor','centerWidth'], gValue}),
103
+ className: 'input100',
104
+ },
105
+ {
106
+ label: '边框颜色',
107
+ ele: 'xd-color',
108
+ valueKey: 'centerColor',
109
+ groupKey:'content',
110
+ labelInline:true,
111
+ cusStyle: {paddingLeft: '80px'},
112
+ value: dataVal({data, key:'centerColor', dValue:'', gValue}),
113
+ hidden:!(footerTpl === 'itemCenterBig') || !statusShow({data, key: 'iconCenterStatus', fields:['centerColor','centerWidth'], gValue}),
114
+ placeholder: '请选择边框颜色',
115
+ setting: {
116
+ showAlpha: true
117
+ },
118
+ className: 'input100',
119
+ },
120
+ footerTpl === 'itemCenterBig'&& {ele: 'group_end'},
121
+
122
+ {
123
+ label: "菜单名称",
124
+ ele: "xd-radio",
125
+ valueKey: "isShowTitle",
126
+ labelInline:true,
127
+ value: dataVal({data, key:'isShowTitle', dValue:'Y', gValue}),
128
+ groupKey:'content',
129
+ list: [
130
+ {"label": "显示", "value": "Y"},
131
+ {"label": "隐藏", "value": "N"},
132
+ ],
133
+ },
134
+
135
+ {
136
+ label: '图标配色',
137
+ ele: 'xd-radio',
138
+ groupKey: 'content',
139
+ valueKey: 'iconStyleStatus',
140
+ value: statusDataVal({data, key:'iconStyleStatus', fields:['iconStyle','color','selectedColor'],gValue}),
141
+ labelInline:true,
142
+ list: [
143
+ {label: '默认', value: 'D'},
144
+ {label: '自定义', value: 'C'},
145
+ ]
146
+ },
147
+ {ele: 'group_start'},
148
+ {
149
+ label: '',
150
+ ele: 'xd-text-and-bgc',
151
+ groupKey:'content',
152
+ valueKey: 'iconStyle',
153
+ value: iconStyle,
154
+ hidden: !statusShow({data, key: 'iconStyleStatus', fields:['iconStyle','color','selectedColor'], gValue}),
155
+ labelInline:true,
156
+ setting: {
157
+ fontSize: false,
158
+ weight:false,
159
+ bgColor: false,
160
+ selected:true,
161
+ color: false,
162
+ cusColor: [
163
+ {label: '图标色', value: 'iconColor'},
164
+ {label: '文字色', value: 'color'},
165
+ ],
166
+ default:{
167
+ cusColor:{
168
+ iconColor: '#333',
169
+ color: '#333'
170
+ },
171
+ cusActColor:{
172
+ color: gColor.mainColor,
173
+ iconColor: gColor.mainColor
174
+ }
175
+ }
176
+ },
177
+ handleCustom({action, data}) {
178
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_font_size'})
179
+ .then(res => {
180
+ data.cb(res.list)
181
+ })
182
+ .catch(error => {
183
+ console.error(error);
184
+ data.cb([])
185
+ });
186
+ },
187
+ },
188
+ {ele: 'group_end'},
189
+
190
+ {
191
+ label: '导航样式',
192
+ ele: 'xd-radio',
193
+ groupKey: 'content',
194
+ valueKey: 'navStatus',
195
+ value: statusDataVal({data, key:'navStatus', fields:['backgroundImage','bgColor','borderColor'], gValue}),
196
+ labelInline:true,
197
+ list: [
198
+ {label: '默认', value: 'D'},
199
+ {label: '自定义', value: 'C'},
200
+ ]
201
+ },
202
+ {ele: 'group_start'},
203
+ {
204
+ label: '背景色',
205
+ ele: 'xd-color',
206
+ valueKey: 'bgColor',
207
+ groupKey:'content',
208
+ value: dataVal({data, key:'bgColor', dValue:'', gValue}),
209
+ hidden:!statusShow({data, key: 'navStatus', fields:['bgColor','backgroundImage','borderColor'], gValue}),
210
+ labelInline:true,
211
+ placeholder: '请选择背景颜色',
212
+ setting: {
213
+ showAlpha: true
214
+ },
215
+ classNmae: 'input800',
216
+ },
217
+ {
218
+ label: '边框色:',
219
+ ele: 'xd-color',
220
+ valueKey: 'borderColor',
221
+ groupKey:'content',
222
+ value: dataVal({data, key:'borderColor', dValue:'', gValue}),
223
+ hidden:!statusShow({data, key: 'navStatus', fields:['bgColor','backgroundImage','borderColor'], gValue}),
224
+ placeholder: '请选择边框颜色',
225
+ labelInline:true,
226
+ setting: {
227
+ showAlpha: true
228
+ },
229
+ classNmae: 'input800',
230
+ },
231
+ {
232
+ label: '背景图',
233
+ labelInline:true,
234
+ ele: 'xd-upload',
235
+ valueKey: 'backgroundImage',
236
+ groupKey:'content',
237
+ value: dataVal({data, key:'backgroundImage', dValue:{}, gValue}),
238
+ hidden:!statusShow({data, key: 'navStatus', fields:['bgColor','backgroundImage','borderColor'], gValue}),
239
+ defaultValue: dataVal({data, key:'backgroundImage', dValue:null, gValue}),
240
+ slot: true,
241
+ oneWidth: 260,
242
+ oneHeight: 260*110/750,
243
+ elinputClassName: 'input40',
244
+ tipsformet: '<span style="font-size: 12px; color: #999">上传文件格式:@imageType@,不超过@size@MB。建议尺寸:<span style="color:red">750*110</span>像素</span>',
245
+ type: ['jpg', 'png', 'jpeg'],
246
+ styleType: 'one',
247
+ uploadType: 'aliyun',
248
+ size: .5,
249
+ action: 'action',
250
+ sort: true,
251
+ maxlen: 1,
252
+ },
253
+ {ele: 'group_end'},
254
+ //--弃用-----
255
+ {
256
+ label: '菜单图片配置:',
257
+ ele: 'xd-footer-setting',
258
+ valueKey: 'footerSettingImage',
259
+ groupKey:'content',
260
+ value: footerSettingImage,
261
+ hidden: true,
262
+ setting: {
263
+ router: XdBus.getParentApi('getPagesTree'),
264
+ hideAdd: true,
265
+ showField: {
266
+ path: true,
267
+ icon: false,
268
+ notice: false,
269
+ image: true,
270
+ actImage: true
271
+ },
272
+ disabel:{
273
+ path: true,
274
+ icon: true,
275
+ notice: true,
276
+ image: true,
277
+ actImage: true
278
+ },
279
+ },
280
+ handleCustom({action,data}){
281
+ if(action === 'number') {
282
+ XdBus.getParentApi('getOptionsNoticeNumber')()
283
+ .then(res => {
284
+ data.cb(res.list)
285
+ })
286
+ .catch();
287
+ }
288
+ },
289
+ },
290
+ {
291
+ label: '选中',
292
+ ele: 'xd-color',
293
+ valueKey: 'selectedColor',
294
+ groupKey:'content',
295
+ labelInline:true,
296
+ hidden: true,
297
+ setting: {
298
+ showAlpha: true
299
+ },
300
+ value: dataVal({data, key:'selectedColor', dValue:'', gValue}),
301
+ placeholder: '请选择菜单文字选中颜色',
302
+ classNmae: 'input100',
303
+ },
304
+ {
305
+ label: '未选中',
306
+ ele: 'xd-color',
307
+ valueKey: 'color',
308
+ groupKey:'content',
309
+ value: dataVal({data, key:'color', dValue:'', gValue}),
310
+ hidden: true,
311
+ labelInline:true,
312
+ setting: {
313
+ showAlpha: true
314
+ },
315
+ placeholder: '请选择菜单文字颜色',
316
+ classNmae: 'input100',
317
+ },
318
+ //--弃用-----
319
+ {
320
+ ele: 'title',
321
+ label: '菜单内容',
322
+ size: 'small',
323
+ groupKey:'content',
324
+ },
325
+ {
326
+ label: '',
327
+ ele: 'xd-footer-new-setting',
328
+ valueKey: 'footer-setting',
329
+ groupKey:'content',
330
+ value: footerSetting,
331
+ labelInline:true,
332
+ hidden: !(dataVal({data, key:'footerTpl', dValue:'normal', gValue}) === 'normal') ,
333
+ cusStyle: {marginLeft: 0,paddingLeft:0,paddingRight:0},
334
+ setting: {
335
+ router: XdBus.getParentApi('getPagesTree'),
336
+ icons:ICONS,
337
+ mode: 'new',
338
+ tplMode: footerTpl,
339
+ iconColor:{
340
+ color: data['iconStyleStatus'] === 'D'? '#333': iconStyle.cusColor.iconColor,
341
+ actColor : data['iconStyleStatus'] === 'D'?gColor.mainColor: iconStyle.cusActColor.iconColor
342
+ },
343
+ showField: {
344
+ path: true,
345
+ icon: true,
346
+ notice: true,
347
+ }
348
+ },
349
+ handleCustom({action,data}){
350
+ console.log(`handleCustom.${action}`, data);
351
+ if(action === 'number') {
352
+ XdBus.getParentApi('getOptionsNoticeNumber')()
353
+ .then(res => {
354
+ data.cb(res.list)
355
+ })
356
+ .catch();
357
+ }
358
+ },
359
+ className: 'input100',
360
+ rules: [
361
+ {
362
+ required: false,
363
+ validator: (rule, value, callback) => {
364
+ let setTpl = dataVal({data, key:'footerTpl', dValue:'normal', gValue});
365
+ if(setTpl === 'normal') {
366
+ if(value && value.length === 0) callback('请设置菜单');
367
+ else callback();
368
+ }
369
+ else callback()
370
+ },
371
+ trigger: ['blur','change']
372
+ }
373
+ ],
374
+ },
375
+ {
376
+ label: '',
377
+ ele: 'xd-footer-new-setting',
378
+ valueKey: 'footer-setting-center-big',
379
+ groupKey:'content',
380
+ value: dataVal({data, key:'footer-setting-center-big', dValue:[], gValue}),
381
+ labelInline:true,
382
+ cusStyle: {marginLeft: 0,paddingLeft:0},
383
+ setting: {
384
+ router: XdBus.getParentApi('getPagesTree'),
385
+ icons:ICONS,
386
+ mode: 'new',
387
+ tplMode: footerTpl,
388
+ showField: {
389
+ path: true,
390
+ icon: true,
391
+ notice: true,
392
+ }
393
+ },
394
+ handleCustom({action,data}){
395
+ console.log(`handleCustom.${action}`, data);
396
+ if(action === 'number') {
397
+ XdBus.getParentApi('getOptionsNoticeNumber')()
398
+ .then(res => {
399
+ data.cb(res.list)
400
+ })
401
+ .catch();
402
+ }
403
+ },
404
+ hidden: !(dataVal({data, key:'footerTpl', dValue:'normal', gValue}) === 'itemCenterBig'),
405
+ rules: [
406
+ {
407
+ required: false,
408
+ validator: (rule, value, callback) => {
409
+ let setTpl = dataVal({data, key:'footerTpl', dValue:'normal', gValue});
410
+ if(setTpl === 'itemCenterBig') {
411
+ if(value && value.length === 0) callback('请设置菜单');
412
+ else callback();
413
+ }
414
+ else callback()
415
+ },
416
+ trigger: 'blur'
417
+ }
418
+ ],
419
+ className: 'input100',
420
+ },
421
+ {
422
+ label: '版本号:',
423
+ ele: 'el-input',
424
+ type: 'text',
425
+ groupKey: 'content',
426
+ valueKey: 'version',
427
+ value: 'v2.0',
428
+ hidden: true,
429
+ },
430
+ {
431
+ label: '引用过滤字段设置:',
432
+ ele: 'el-input',
433
+ type: 'text',
434
+ groupKey: 'content',
435
+ valueKey: 'refFilterContent',
436
+ value: '[]',
437
+ hidden: true,
438
+ },
439
+ {
440
+ label: '',
441
+ ele: 'slot',
442
+ slot: 'is_reference',
443
+ groupKey: 'content',
444
+ },
445
+ ].filter(i=>i)
446
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ export default function (data, gValue,gColor,oldData){
4
+ return [
5
+ ].filter(i=>i)
6
+ }
7
+
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ export default (data)=>{
4
+ let footerSettingImage = [];
5
+ let footerSetting = []
6
+ if(data['footerSettingImage'] && data['footerSettingImage'].length > 0 ) {
7
+ footerSettingImage = data['footerSettingImage'];
8
+ }
9
+ if(data['footer-setting'] && data['footer-setting'].length > 0){
10
+ footerSetting = data['footer-setting'];
11
+ footerSetting.map((item,index)=>{
12
+ if(!footerSettingImage[index]) footerSettingImage[index] = {};
13
+ footerSettingImage[index] = Object.assign({},JSON.parse(JSON.stringify(item)),footerSettingImage[index])
14
+ })
15
+ }
16
+ return {footerSettingImage, footerSetting}
17
+ }