jufubao-base 1.0.197-beta4 → 1.0.197-beta7
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/commands.js +1 -1
- package/package.json +1 -1
- package/src/ICONS.js +1128 -0
- package/src/components/JfbBaseAddress/Attr.js +109 -1
- package/src/components/JfbBaseAddress/JfbBaseAddress.vue +164 -80
- package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
- package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +2 -0
- package/src/components/JfbBaseCardEntry/Mock.js +1 -0
- package/src/components/JfbBaseCardEntry/XdCardNew.vue +21 -4
- package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +41 -13
- package/src/components/JfbBaseFastLink/Attr.js +24 -8
- package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +37 -21
- package/src/components/JfbBaseFooter/Attr.js +141 -75
- package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
- package/src/components/JfbBaseHeader/Attr.js +20 -51
- package/src/components/JfbBaseHeader/JfbBaseHeader.vue +23 -28
- package/src/components/JfbBaseHeaderElephant/Attr.js +8 -0
- package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephant.vue +33 -5
- package/src/components/JfbBaseNotice/Attr.js +26 -0
- package/src/components/JfbBaseNotice/JfbBaseNotice.vue +13 -1
- package/src/components/JfbBaseOrderDetail/Attr.js +147 -65
- package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +97 -47
- package/src/components/JfbBaseOrderList/Attr.js +59 -2
- package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
- package/src/components/JfbBaseOrderList/Mock.js +3 -0
- package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
- package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +27 -29
- package/src/components/JfbBasePosterBigSmall/getWidthHeight.js +13 -9
- package/src/components/JfbBaseUserCenter/Attr.js +297 -52
- package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +135 -44
- package/src/components/JfbBaseUserInfo/Attr.js +227 -88
- package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +106 -86
- package/src/components/JfbBaseUserOrder/Attr.js +332 -30
- package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +183 -55
- package/src/components/JfbBaseWallet/Attr.js +376 -8
- package/src/components/JfbBaseWallet/JfbBaseWallet.vue +185 -49
- package/src/mixins/componentsMixins.js +210 -35
|
@@ -16,16 +16,19 @@
|
|
|
16
16
|
<view class="jfb-base-footer__edit-icon" @click="delEdit">删除</view>
|
|
17
17
|
</view>
|
|
18
18
|
<!-- #endif -->
|
|
19
|
-
<view class="jfb-base-footer__body"
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
19
|
+
<view class="jfb-base-footer__body">
|
|
20
|
+
<view :style="[bodyStyle]">
|
|
21
|
+
<xd-footer-bar
|
|
22
|
+
style="height:100%"
|
|
23
|
+
v-if="list !== null"
|
|
24
|
+
:height="height"
|
|
25
|
+
:tabbar="list"
|
|
26
|
+
:view="view"
|
|
27
|
+
:styles="styles"
|
|
28
|
+
:key="footerBarKey"
|
|
29
|
+
:base-url="baseUrl"
|
|
30
|
+
></xd-footer-bar>
|
|
31
|
+
</view>
|
|
29
32
|
</view>
|
|
30
33
|
</view>
|
|
31
34
|
</template>
|
|
@@ -42,6 +45,7 @@
|
|
|
42
45
|
getContainerPropsValue,
|
|
43
46
|
getComponentAttr
|
|
44
47
|
} from "@/utils/xd.base";
|
|
48
|
+
import getServiceUrl from "@/common/getServiceUrl";
|
|
45
49
|
|
|
46
50
|
export default {
|
|
47
51
|
name: "JfbBaseFooter",
|
|
@@ -50,6 +54,21 @@
|
|
|
50
54
|
XdFooterBar
|
|
51
55
|
},
|
|
52
56
|
mixins: [componentsMixins,extsMixins,JfbBaseFooterMixin],
|
|
57
|
+
computed:{
|
|
58
|
+
bodyStyle(){
|
|
59
|
+
let background = 'url(none)';
|
|
60
|
+
if(this.backgroundImage && this.backgroundImage.url) {
|
|
61
|
+
background = `url(${getServiceUrl(this.backgroundImage.url)})`;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
height: this.height + 'rpx',
|
|
65
|
+
backgroundImage: background,
|
|
66
|
+
backgroundSize: '100% 100%',
|
|
67
|
+
backgroundRepeat: 'no-repeat',
|
|
68
|
+
backgroundPosition: 'top center',
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
53
72
|
data() {
|
|
54
73
|
return {
|
|
55
74
|
height: 0,
|
|
@@ -58,6 +77,7 @@
|
|
|
58
77
|
numObj: {},
|
|
59
78
|
footerBarKey: 'footerBarKey', //刷新
|
|
60
79
|
baseUrl: '',
|
|
80
|
+
backgroundImage: '',
|
|
61
81
|
}
|
|
62
82
|
},
|
|
63
83
|
watch: {
|
|
@@ -73,21 +93,23 @@
|
|
|
73
93
|
created() {
|
|
74
94
|
this.view = this.$configProject.isPreview;
|
|
75
95
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
){
|
|
96
|
+
//非预览模式
|
|
97
|
+
//#ifdef H5
|
|
98
|
+
if (!this.$configProject.isPreview){
|
|
80
99
|
this.baseUrl = this.projectAttr['deploy_dir']
|
|
81
100
|
}
|
|
101
|
+
//#endif
|
|
82
102
|
|
|
83
103
|
//设置高度
|
|
84
104
|
if(this.$configProject.isPreview) {
|
|
85
|
-
this.height = getComponentAttr(this.componentAttr, 'height')
|
|
105
|
+
this.height = getComponentAttr(this.componentAttr, 'height');
|
|
86
106
|
}
|
|
87
107
|
else {
|
|
88
108
|
this.height = getComponentAttr(this.componentAttr, 'height');
|
|
89
109
|
}
|
|
90
110
|
|
|
111
|
+
this.height = Number(this.height);
|
|
112
|
+
|
|
91
113
|
this.init(this.container);
|
|
92
114
|
//监听重试消息数量
|
|
93
115
|
this.$xdRoot.$on('restFooterNumber', this.handle)
|
|
@@ -159,6 +181,13 @@
|
|
|
159
181
|
this.footerBarKey = this.$xdUniHelper.randomChar(20);
|
|
160
182
|
},
|
|
161
183
|
|
|
184
|
+
getImage(list=[],index,key){
|
|
185
|
+
if(!list[index]) return '';
|
|
186
|
+
if(list[index] && !list[index][key]) return '';
|
|
187
|
+
let item = list[index][key];
|
|
188
|
+
return getServiceUrl(item.url, 'size1');
|
|
189
|
+
},
|
|
190
|
+
|
|
162
191
|
/**
|
|
163
192
|
* @description 监听事件变化
|
|
164
193
|
* @param value {object} 业务组件对象自己
|
|
@@ -166,8 +195,11 @@
|
|
|
166
195
|
init(value) {
|
|
167
196
|
//设置底部菜单
|
|
168
197
|
let bar = getContainerPropsValue(value, 'content.footer-setting', []);
|
|
198
|
+
let imageIcons = getContainerPropsValue(value, 'content.footerSettingImage', []);
|
|
199
|
+
this.backgroundImage = getContainerPropsValue(value, 'content.backgroundImage', '');
|
|
169
200
|
this.list = {
|
|
170
201
|
bgColor: getContainerPropsValue(value, 'content.bgColor', '#fff'),
|
|
202
|
+
bodyStyle: this.bodyStyle,
|
|
171
203
|
selectedColor: getContainerPropsValue(value, 'content.selectedColor', this.mainColor),
|
|
172
204
|
color: getContainerPropsValue(value, 'content.color', '#333'),
|
|
173
205
|
list: bar.map((item,index)=>{
|
|
@@ -177,6 +209,8 @@
|
|
|
177
209
|
path: item.path.value,
|
|
178
210
|
size: item.size,
|
|
179
211
|
num: this.numObj[index] ? this.numObj[index]: 0 ,
|
|
212
|
+
image: this.getImage(imageIcons,index,'image') || this.getImage(imageIcons,index,'actImage'),
|
|
213
|
+
actImage: this.getImage(imageIcons,index,'actImage') || this.getImage(imageIcons,index,'image'),
|
|
180
214
|
}
|
|
181
215
|
}),
|
|
182
216
|
};
|
|
@@ -190,6 +224,7 @@
|
|
|
190
224
|
@import "./JfbBaseFooterLess.less";
|
|
191
225
|
|
|
192
226
|
.jfb-base-footer {
|
|
227
|
+
|
|
193
228
|
&__body{
|
|
194
229
|
box-sizing: border-box;
|
|
195
230
|
}
|
|
@@ -200,6 +200,14 @@ export default {
|
|
|
200
200
|
classNmae: 'input80',
|
|
201
201
|
groupKey:'style',
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
label: "底部边框设置:",
|
|
205
|
+
ele: "xd-border",
|
|
206
|
+
valueKey: "bottomBorder",
|
|
207
|
+
value: data['bottomBorder'] || {},
|
|
208
|
+
className: 'input80',
|
|
209
|
+
groupKey: 'style',
|
|
210
|
+
},
|
|
203
211
|
{
|
|
204
212
|
ele: 'title',
|
|
205
213
|
label: '定位功能样式设置',
|
|
@@ -266,7 +274,7 @@ export default {
|
|
|
266
274
|
value: data['inputBackgroundColor'] || '',
|
|
267
275
|
groupKey:'style',
|
|
268
276
|
placeholder: '请选择背景颜色',
|
|
269
|
-
|
|
277
|
+
className: 'input80',
|
|
270
278
|
},
|
|
271
279
|
{
|
|
272
280
|
label: '输入框文字颜色:',
|
|
@@ -275,64 +283,22 @@ export default {
|
|
|
275
283
|
groupKey:'style',
|
|
276
284
|
value: data['inputTextColor'] || '',
|
|
277
285
|
placeholder: '请选择输入框文字颜色',
|
|
278
|
-
classNmae: 'input80',
|
|
279
|
-
},
|
|
280
|
-
{
|
|
281
|
-
ele: 'title',
|
|
282
|
-
label: '投影设置',
|
|
283
|
-
size: 'small',
|
|
284
|
-
groupKey:'style',
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
label: '是否有投影:',
|
|
288
|
-
ele: 'xd-radio',
|
|
289
|
-
valueKey: 'is_shadow',
|
|
290
|
-
value: data['is_shadow'] || 'N',
|
|
291
|
-
placeholder: '请选择是否投影',
|
|
292
|
-
groupKey:'style',
|
|
293
|
-
multiple: false,
|
|
294
286
|
className: 'input80',
|
|
295
|
-
list: [
|
|
296
|
-
{label: '是', value: 'Y'},
|
|
297
|
-
{label: '否', value: 'N'},
|
|
298
|
-
]
|
|
299
|
-
},
|
|
300
|
-
data['is_shadow'] === 'Y' && {
|
|
301
|
-
label: '投影颜色:',
|
|
302
|
-
ele: 'xd-color',
|
|
303
|
-
valueKey: 'is_shadow_bg',
|
|
304
|
-
value: data['is_shadow_bg'] || '',
|
|
305
|
-
groupKey:'style',
|
|
306
|
-
placeholder: '请选择投影颜色',
|
|
307
|
-
classNmae: 'input80',
|
|
308
287
|
},
|
|
309
|
-
|
|
310
|
-
label:
|
|
311
|
-
ele:
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
value: data['is_shadow_w'] || '10',
|
|
315
|
-
placeholder: '请选择投影范围',
|
|
316
|
-
multiple: false,
|
|
288
|
+
{
|
|
289
|
+
label: "输入框边框设置:",
|
|
290
|
+
ele: "xd-border",
|
|
291
|
+
valueKey: "inputBorder",
|
|
292
|
+
value: data['inputBorder'] || {},
|
|
317
293
|
className: 'input80',
|
|
318
|
-
|
|
319
|
-
XdBus.getParentApi('getOptionsSettingList')({
|
|
320
|
-
setting_id: 'edtix_style_radius',
|
|
321
|
-
key: Date.now()
|
|
322
|
-
})
|
|
323
|
-
.then(res => {
|
|
324
|
-
data.cb(res.list)
|
|
325
|
-
})
|
|
326
|
-
.catch(error => {
|
|
327
|
-
console.error(error);
|
|
328
|
-
});
|
|
329
|
-
},
|
|
294
|
+
groupKey: 'style',
|
|
330
295
|
},
|
|
331
296
|
{
|
|
332
297
|
ele: 'title',
|
|
333
298
|
label: '边框设置',
|
|
334
299
|
size: 'small',
|
|
335
300
|
groupKey:'style',
|
|
301
|
+
hidden: true,
|
|
336
302
|
},
|
|
337
303
|
{
|
|
338
304
|
label: '是否有边框:',
|
|
@@ -346,7 +312,8 @@ export default {
|
|
|
346
312
|
list: [
|
|
347
313
|
{label: '是', value: 'Y'},
|
|
348
314
|
{label: '否', value: 'N'},
|
|
349
|
-
]
|
|
315
|
+
],
|
|
316
|
+
hidden: true,
|
|
350
317
|
},
|
|
351
318
|
data['is_border'] === 'Y' && {
|
|
352
319
|
label: '边框颜色:',
|
|
@@ -356,6 +323,7 @@ export default {
|
|
|
356
323
|
value: data['is_border_c'] || '',
|
|
357
324
|
placeholder: '请选择边框颜色',
|
|
358
325
|
classNmae: 'input80',
|
|
326
|
+
hidden: true,
|
|
359
327
|
},
|
|
360
328
|
data['is_border'] === 'Y' && {
|
|
361
329
|
label: '边框大小:',
|
|
@@ -366,6 +334,7 @@ export default {
|
|
|
366
334
|
value: data['is_border_w'] || '',
|
|
367
335
|
placeholder: '请输入边框颜色',
|
|
368
336
|
className: 'input80',
|
|
337
|
+
hidden: true,
|
|
369
338
|
},
|
|
370
339
|
{
|
|
371
340
|
label: '搜索页面链接:',
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
class="header_wrap"
|
|
19
19
|
:style="{
|
|
20
20
|
background: backgroundColor,
|
|
21
|
-
|
|
22
|
-
borderBottom:boxBorder
|
|
21
|
+
borderBottom: bottomBorder
|
|
23
22
|
}"
|
|
24
23
|
>
|
|
25
24
|
<view class="header_wrap-back" @click="onJfbBack" v-if="showBack==='Y'">
|
|
@@ -47,10 +46,11 @@
|
|
|
47
46
|
:style="{
|
|
48
47
|
background:inputBackgroundColor,
|
|
49
48
|
color:inputTextColor,
|
|
50
|
-
borderRadius: searchBoxRadius + 'rpx'
|
|
49
|
+
borderRadius: searchBoxRadius + 'rpx',
|
|
50
|
+
border: inputBorder
|
|
51
51
|
}"
|
|
52
52
|
>
|
|
53
|
-
<view v-if="loaded && showLocation==='Y' && searchBoxPosition==='in'" class="header-city-in">
|
|
53
|
+
<view v-if="loaded && showLocation==='Y' && searchBoxPosition==='in'" class="header-city-in" @click.stop>
|
|
54
54
|
<xd-city-show-api
|
|
55
55
|
@done="handleCityDone"
|
|
56
56
|
@onChange="handleCityChange"
|
|
@@ -74,12 +74,12 @@
|
|
|
74
74
|
<xd-font-icon v-if="searchIconPosition==='right'" :icon="icon" :color="iconColor" size="32"/>
|
|
75
75
|
<view v-if="showSearchBtn==='Y' && searchBtnPosition==='in'"
|
|
76
76
|
:style="[searchBtnStyle]"
|
|
77
|
-
style="padding: 4rpx 32rpx;"
|
|
78
|
-
@click="doSearch"
|
|
77
|
+
style="padding: 4rpx 32rpx;font-size: 28rpx;"
|
|
78
|
+
@click.stop="doSearch"
|
|
79
79
|
>{{searchBtnText || '搜索'}}</view>
|
|
80
80
|
</view>
|
|
81
81
|
<view v-if="showSearchBtn==='Y' && searchBtnPosition==='out'"
|
|
82
|
-
style="margin-left: 4px;padding: 8rpx 32rpx;"
|
|
82
|
+
style="margin-left: 4px;padding: 8rpx 32rpx;font-size: 28rpx;"
|
|
83
83
|
:style="[searchBtnStyle]"
|
|
84
84
|
@click="doSearch"
|
|
85
85
|
>{{searchBtnText || '搜索'}}</view>
|
|
@@ -108,15 +108,6 @@
|
|
|
108
108
|
mixins: [componentsMixins,extsMixins,JfbBaseHeaderMixin],
|
|
109
109
|
computed:{
|
|
110
110
|
...mapState(['siteInfo']),
|
|
111
|
-
|
|
112
|
-
boxShadow() {
|
|
113
|
-
if (this.is_shadow === 'Y') return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
|
|
114
|
-
else return '0 0 0 rgba(0,0,0,0)';
|
|
115
|
-
},
|
|
116
|
-
boxBorder() {
|
|
117
|
-
if (this.is_border === 'Y') return `${this.is_border_w}rpx solid ${this.is_border_c}`;
|
|
118
|
-
else return '0';
|
|
119
|
-
},
|
|
120
111
|
searchBtnStyle(){
|
|
121
112
|
return {
|
|
122
113
|
background: this.searchBtnBgColor,
|
|
@@ -131,6 +122,7 @@
|
|
|
131
122
|
saveKey: 'xd_user_current_access_city', //用户选中城市存储key
|
|
132
123
|
loaded: false,
|
|
133
124
|
keyword: "",
|
|
125
|
+
isPreview: false,
|
|
134
126
|
|
|
135
127
|
//面板
|
|
136
128
|
showLocation: "",
|
|
@@ -157,12 +149,6 @@
|
|
|
157
149
|
icon: '',
|
|
158
150
|
iconColor: '',
|
|
159
151
|
|
|
160
|
-
//投影
|
|
161
|
-
is_shadow: 'Y',
|
|
162
|
-
is_shadow_bg: 0,
|
|
163
|
-
is_shadow_w: 0,
|
|
164
|
-
|
|
165
|
-
|
|
166
152
|
//边框
|
|
167
153
|
is_border: 'Y',
|
|
168
154
|
is_border_w: 0,
|
|
@@ -182,6 +168,8 @@
|
|
|
182
168
|
searchBtnTextColor: "",
|
|
183
169
|
searchBtnRadius: 0,
|
|
184
170
|
searchBoxRadius: 30,
|
|
171
|
+
bottomBorder: "",
|
|
172
|
+
inputBorder: "",
|
|
185
173
|
}
|
|
186
174
|
},
|
|
187
175
|
watch: {
|
|
@@ -192,6 +180,7 @@
|
|
|
192
180
|
},
|
|
193
181
|
created() {
|
|
194
182
|
this.init(this.container);
|
|
183
|
+
this.isPreview = this.$configProject['isPreview'];
|
|
195
184
|
},
|
|
196
185
|
methods: {
|
|
197
186
|
...mapMutations(['setShowSwitchCity', 'setCityInfo']),
|
|
@@ -223,10 +212,6 @@
|
|
|
223
212
|
this.locationIcon = getContainerPropsValue(container, "content.locationIcon", "icondizhitubiao")
|
|
224
213
|
this.locationBackgroundColor = getContainerPropsValue(container, "content.locationBackgroundColor", "")
|
|
225
214
|
|
|
226
|
-
this.is_shadow = getContainerPropsValue(container, 'content.is_shadow', 'N');
|
|
227
|
-
this.is_shadow_bg = getContainerPropsValue(container, 'content.is_shadow_bg', '#fff');
|
|
228
|
-
this.is_shadow_w = getContainerPropsValue(container, 'content.is_shadow_w', '10');
|
|
229
|
-
|
|
230
215
|
this.is_border = getContainerPropsValue(container, 'content.is_border', 'N');
|
|
231
216
|
this.is_border_c = getContainerPropsValue(container, 'content.is_border_c', '#fff');
|
|
232
217
|
this.is_border_w = getContainerPropsValue(container, 'content.is_border_w', '2');
|
|
@@ -240,6 +225,13 @@
|
|
|
240
225
|
this.searchBtnTextColor = getContainerPropsValue(container, 'content.searchBtnTextColor', "");
|
|
241
226
|
this.searchBtnRadius = getContainerPropsValue(container, 'content.searchBtnRadius', 0);
|
|
242
227
|
this.searchBoxRadius = getContainerPropsValue(container, 'content.searchBoxRadius', 30);
|
|
228
|
+
let bottomBorder = getContainerPropsValue(container, 'content.bottomBorder', "Y");
|
|
229
|
+
this.bottomBorder = this.getBorderCompatibleOldStyle(bottomBorder, {
|
|
230
|
+
type: this.is_border,
|
|
231
|
+
width: this.is_border_w,
|
|
232
|
+
color: this.is_border_c
|
|
233
|
+
})
|
|
234
|
+
this.inputBorder = this.getXdBorder({}, getContainerPropsValue(container, 'content.inputBorder', {}))
|
|
243
235
|
|
|
244
236
|
let name , logo, platform_logo;
|
|
245
237
|
if (this.projectAttr['site_name']) name = this.projectAttr['site_name'];
|
|
@@ -249,8 +241,9 @@
|
|
|
249
241
|
this.logo = platform_logo || logo || '//dummyimage.com/100x100';
|
|
250
242
|
this.partnerName = name || '聚福宝福利';
|
|
251
243
|
|
|
252
|
-
|
|
253
|
-
|
|
244
|
+
if(this.isPreview){
|
|
245
|
+
document.querySelector('.xd-Layout__top').style.zIndex = 149099;
|
|
246
|
+
}
|
|
254
247
|
},
|
|
255
248
|
handleInput(e){
|
|
256
249
|
this.keyword = e.detail.value;
|
|
@@ -403,9 +396,11 @@
|
|
|
403
396
|
padding-left: 20rpx;
|
|
404
397
|
}
|
|
405
398
|
.search_placeholder{
|
|
399
|
+
flex: 1;
|
|
406
400
|
width: 100%;
|
|
407
401
|
text-align: left;
|
|
408
402
|
font-size: unit(28, rpx);
|
|
403
|
+
padding-left: 20rpx;
|
|
409
404
|
}
|
|
410
405
|
}
|
|
411
406
|
}
|
|
@@ -397,6 +397,14 @@ export default {
|
|
|
397
397
|
groupKey:'content',
|
|
398
398
|
hidden: data.showCategory !== "Y" || data.navExpand !== "Y"
|
|
399
399
|
},
|
|
400
|
+
{
|
|
401
|
+
label: '单个导航字体颜色:',
|
|
402
|
+
ele: "xd-color",
|
|
403
|
+
valueKey: "navFontColor",
|
|
404
|
+
value: data.navFontColor,
|
|
405
|
+
groupKey:'content',
|
|
406
|
+
hidden: data.showCategory !== "Y" || data.navExpand !== "Y"
|
|
407
|
+
},
|
|
400
408
|
{
|
|
401
409
|
label: "导航横向间距:",
|
|
402
410
|
ele: "el-input",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
>{{ site_name }}</view>
|
|
28
28
|
</view>
|
|
29
29
|
<view v-if="showCategory === 'Y'" class="box_r" @click="isExtendCate=!isExtendCate">
|
|
30
|
-
<xd-font-icon :icon=" categoryIcon || 'iconfenlei1'"></xd-font-icon>
|
|
30
|
+
<xd-font-icon :icon=" categoryIcon || 'iconfenlei1'" :color="siteNameFont.color"></xd-font-icon>
|
|
31
31
|
</view>
|
|
32
32
|
</view>
|
|
33
33
|
<view v-if="isExtendCate && showCategory==='Y'" class="cate_pop" :style="[catePopBoxStyle]">
|
|
34
34
|
<view class="cate_list" :style="[cateListBoxStyle]">
|
|
35
35
|
<view class="cate_item"
|
|
36
|
-
v-for="item in cateList" :key="
|
|
36
|
+
v-for="(item, i) in cateList" :key="i"
|
|
37
37
|
:style="[cateItemBoxStyle]"
|
|
38
38
|
@click="handleClick(item)"
|
|
39
39
|
>
|
|
@@ -46,6 +46,10 @@
|
|
|
46
46
|
</view>
|
|
47
47
|
|
|
48
48
|
</view>
|
|
49
|
+
<view v-if="isExtendCate && showCategory==='Y'" class="_modal"
|
|
50
|
+
@click="isExtendCate=false"
|
|
51
|
+
@touchmove.stop.prevent="moveHandle"
|
|
52
|
+
></view>
|
|
49
53
|
</view>
|
|
50
54
|
</view>
|
|
51
55
|
</template>
|
|
@@ -70,6 +74,7 @@
|
|
|
70
74
|
return {
|
|
71
75
|
useNumber: 24,
|
|
72
76
|
cateList: [],
|
|
77
|
+
previewCateList: [],
|
|
73
78
|
site_logo: "",
|
|
74
79
|
site_name: "",
|
|
75
80
|
isPreview: false,
|
|
@@ -89,6 +94,7 @@
|
|
|
89
94
|
iconWidth: "",
|
|
90
95
|
iconHeight: "",
|
|
91
96
|
navBgColor: "",
|
|
97
|
+
navFontColor: "",
|
|
92
98
|
navColumnGap: "",
|
|
93
99
|
navRowGap: "",
|
|
94
100
|
navExpand: "",
|
|
@@ -117,7 +123,8 @@
|
|
|
117
123
|
},
|
|
118
124
|
cateItemBoxStyle(){
|
|
119
125
|
return {
|
|
120
|
-
backgroundColor: this.navBgColor
|
|
126
|
+
backgroundColor: this.navBgColor,
|
|
127
|
+
color: this.navFontColor
|
|
121
128
|
}
|
|
122
129
|
},
|
|
123
130
|
cateIconStyle(){
|
|
@@ -165,7 +172,7 @@
|
|
|
165
172
|
page_size: this.useNumber //可以不传
|
|
166
173
|
},
|
|
167
174
|
}).then(res => {
|
|
168
|
-
|
|
175
|
+
this.previewCateList = res.list;
|
|
169
176
|
if(res.list.length === 0 && this.isPreview) {
|
|
170
177
|
res.list = this.getTestData();
|
|
171
178
|
}
|
|
@@ -190,6 +197,7 @@
|
|
|
190
197
|
this.iconWidth = getContainerPropsValue(container, 'content.iconWidth', 100);
|
|
191
198
|
this.iconHeight = getContainerPropsValue(container, 'content.iconHeight', 100);
|
|
192
199
|
this.navBgColor = getContainerPropsValue(container, 'content.navBgColor', '');
|
|
200
|
+
this.navFontColor = getContainerPropsValue(container, 'content.navFontColor', '');
|
|
193
201
|
this.navColumnGap = getContainerPropsValue(container, 'content.navColumnGap', 10);
|
|
194
202
|
this.navRowGap = getContainerPropsValue(container, 'content.navRowGap', 10);
|
|
195
203
|
this.navExpand = getContainerPropsValue(container, 'content.navExpand', '');
|
|
@@ -205,10 +213,19 @@
|
|
|
205
213
|
|
|
206
214
|
this.useNumber = this.navRow * this.navColumn;
|
|
207
215
|
if(this.isPreview){
|
|
208
|
-
|
|
216
|
+
let testData = this.getTestData();
|
|
217
|
+
testData.unshift(...this.previewCateList);
|
|
218
|
+
//从数组testData中取useNumber个数据
|
|
219
|
+
this.handleOne(testData.slice(0, this.useNumber));
|
|
209
220
|
this.isExtendCate = this.navExpand === 'Y' ? true : false;
|
|
221
|
+
if(this.isExtendCate){
|
|
222
|
+
document.querySelector('.xd-Layout__top').style.zIndex = 149099;
|
|
223
|
+
}else{
|
|
224
|
+
document.querySelector('.xd-Layout__top').style.zIndex = 1490;
|
|
225
|
+
}
|
|
210
226
|
}
|
|
211
227
|
},
|
|
228
|
+
moveHandle(){},
|
|
212
229
|
handleClick(item) {
|
|
213
230
|
if(!item.redirect_data) {
|
|
214
231
|
console.warn(`未配置链接地址: ${item.redirect_data}`);
|
|
@@ -378,8 +395,19 @@
|
|
|
378
395
|
|
|
379
396
|
.jfb-base-header-elephant {
|
|
380
397
|
&__body{
|
|
398
|
+
overflow: initial !important;
|
|
399
|
+
._modal{
|
|
400
|
+
position: fixed;
|
|
401
|
+
top: 0;
|
|
402
|
+
left: 0;
|
|
403
|
+
width: 100vh;
|
|
404
|
+
height: 100vh;
|
|
405
|
+
background: rgba(0, 0, 0, .5);
|
|
406
|
+
z-index: 999;
|
|
407
|
+
}
|
|
381
408
|
.box_wrap{
|
|
382
409
|
position: relative;
|
|
410
|
+
z-index: 1000;
|
|
383
411
|
.cate_pop{
|
|
384
412
|
top: 100%;
|
|
385
413
|
left: 0;
|
|
@@ -275,6 +275,32 @@ export default {
|
|
|
275
275
|
{ label: '否', value: 'N' },
|
|
276
276
|
]
|
|
277
277
|
},
|
|
278
|
+
{
|
|
279
|
+
label: "按钮长度:",
|
|
280
|
+
ele: "el-input",
|
|
281
|
+
valueKey: "btnConfirmWidth",
|
|
282
|
+
value: data['btnConfirmWidth'] || '',
|
|
283
|
+
placeholder: '请输入按钮长度',
|
|
284
|
+
className: 'input60',
|
|
285
|
+
groupKey: "content",
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
label: "按钮背景颜色:",
|
|
289
|
+
ele: "xd-color",
|
|
290
|
+
valueKey: "btnConfirmBgColor",
|
|
291
|
+
groupKey:'content',
|
|
292
|
+
value: data['btnConfirmBgColor'] || '',
|
|
293
|
+
placeholder: '请选择按钮背景颜色',
|
|
294
|
+
groupKey: "content",
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
label: "按钮文字颜色:",
|
|
298
|
+
ele: "xd-color",
|
|
299
|
+
valueKey: "btnConfirmTextColor",
|
|
300
|
+
groupKey:'content',
|
|
301
|
+
value: data['btnConfirmTextColor'] || '',
|
|
302
|
+
placeholder: '请选择按钮文字颜色',
|
|
303
|
+
},
|
|
278
304
|
{
|
|
279
305
|
ele: 'title',
|
|
280
306
|
label: '静态显示',
|
|
@@ -220,7 +220,11 @@
|
|
|
220
220
|
backgroundColor: '',
|
|
221
221
|
is_hide_dailog:'N',
|
|
222
222
|
|
|
223
|
-
isMp:false
|
|
223
|
+
isMp:false,
|
|
224
|
+
|
|
225
|
+
btnConfirmWidth: "",
|
|
226
|
+
btnConfirmBgColor: "",
|
|
227
|
+
btnConfirmTextColor: "",
|
|
224
228
|
}
|
|
225
229
|
},
|
|
226
230
|
watch: {
|
|
@@ -330,11 +334,16 @@
|
|
|
330
334
|
this.scrollMargin = getContainerPropsValue(container, 'content.scrollMargin', {});
|
|
331
335
|
this.radius = getContainerPropsValue(container, 'content.radius', 0);
|
|
332
336
|
this.fontSize = Number(getContainerPropsValue(container, 'content.fontSize', '20'));
|
|
337
|
+
this.btnConfirmWidth = getContainerPropsValue(container, 'content.btnConfirmWidth', '');
|
|
338
|
+
this.btnConfirmBgColor = getContainerPropsValue(container, 'content.btnConfirmBgColor', '');
|
|
339
|
+
this.btnConfirmTextColor = getContainerPropsValue(container, 'content.btnConfirmTextColor', '');
|
|
333
340
|
if (this.fontSize === 20) this.titleFontSize = 28;
|
|
334
341
|
if (this.fontSize === 26) this.titleFontSize = 36;
|
|
335
342
|
if (this.fontSize === 36) this.titleFontSize = 44;
|
|
336
343
|
this.isTitle = getContainerPropsValue(container, 'content.isTitle', false);
|
|
337
344
|
|
|
345
|
+
console.log("this.btnConfirmTextColor", this.btnConfirmTextColor);
|
|
346
|
+
|
|
338
347
|
if(this.style === '2') {
|
|
339
348
|
this.num = getContainerPropsValue(container, 'content.num', 1);
|
|
340
349
|
//#ifdef H5
|
|
@@ -358,6 +367,9 @@
|
|
|
358
367
|
isHtml: true,
|
|
359
368
|
zIndex: 2000,
|
|
360
369
|
cancel: false,
|
|
370
|
+
btnConfirmWidth: this.btnConfirmWidth,
|
|
371
|
+
btnConfirmBgColor: this.btnConfirmBgColor,
|
|
372
|
+
btnConfirmTextColor: this.btnConfirmTextColor,
|
|
361
373
|
});
|
|
362
374
|
},
|
|
363
375
|
|