jufubao-mall 2.0.17-beta3 → 2.0.17-beta5
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 +1 -1
- package/src/components/JfbMallSpecialHome/JfbMallSpecialHome.vue +5 -3
- package/src/components/JfbMallSpecialHome/cusAttr/style.js +2 -0
- package/src/components/JfbMallSpecialInfo/cusAttr/style.js +2 -2
- package/src/components/JfbMallSpecialProduct/JfbMallSpecialProduct.vue +36 -15
- package/src/components/JfbMallSpecialProduct/components/title.vue +1 -1
- package/src/components/JfbMallSpecialProduct/cusAttr/content.js +1 -0
- package/src/components/JfbMallSpecialProduct/cusAttr/style.js +1 -1
package/package.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
:style="{
|
|
26
26
|
top: isFixed?(layoutInfo.top + 'rpx'):0,
|
|
27
27
|
position: isFixed ? 'fixed' : 'relative',
|
|
28
|
-
zIndex:
|
|
28
|
+
zIndex: 9999,
|
|
29
29
|
}"
|
|
30
30
|
>
|
|
31
31
|
<xd-tab
|
|
@@ -50,6 +50,8 @@
|
|
|
50
50
|
:style="[height]"
|
|
51
51
|
@scroll="handleProdScroll"
|
|
52
52
|
>
|
|
53
|
+
<!--解决遮挡问题-->
|
|
54
|
+
<view v-if="categories.length > 1" :style="{height:'88rpx',width:'100%'}"></view>
|
|
53
55
|
<!--banner-->
|
|
54
56
|
<view
|
|
55
57
|
v-if="hasBanner || video !== null"
|
|
@@ -348,7 +350,7 @@ export default {
|
|
|
348
350
|
}
|
|
349
351
|
}
|
|
350
352
|
return {
|
|
351
|
-
paddingTop: this.categories.length > 1 ? "88rpx" : "",
|
|
353
|
+
//paddingTop: this.categories.length > 1 ? "88rpx" : "",
|
|
352
354
|
height: this.layoutInfo.bodyMinHeight,
|
|
353
355
|
}
|
|
354
356
|
},
|
|
@@ -644,7 +646,7 @@ export default {
|
|
|
644
646
|
let products = this.products;
|
|
645
647
|
//获取第一个超过滚动位置的索引,则当前滚动位置则是上一个
|
|
646
648
|
let index = products.findIndex(item => {
|
|
647
|
-
return scrollTop < item.top;
|
|
649
|
+
return scrollTop < item.top-200;
|
|
648
650
|
})
|
|
649
651
|
//超过最后一个,则定位最后一个
|
|
650
652
|
if(index === -1) index = products.length;
|
|
@@ -177,6 +177,8 @@ export default function (data = {}, gValue = {}, gColor = {}, oldData = {}) {
|
|
|
177
177
|
handleCustom({ action, data }) {
|
|
178
178
|
XdBus.getParentApi('getOptionsSettingList')({ setting_id: 'edtix_style_radius' })
|
|
179
179
|
.then(res => {
|
|
180
|
+
console.log(res,'resresres');
|
|
181
|
+
|
|
180
182
|
res.list = res.list.filter(item => {
|
|
181
183
|
return item.label !== '无';
|
|
182
184
|
})
|
|
@@ -204,7 +204,7 @@ export default function (data = {}, gValue = {}, gColor = {}, oldData = {}) {
|
|
|
204
204
|
},
|
|
205
205
|
{ ele: 'group_start' },
|
|
206
206
|
{
|
|
207
|
-
label: '
|
|
207
|
+
label: '',
|
|
208
208
|
ele: 'xd-site-select-list',
|
|
209
209
|
labelInline: true,
|
|
210
210
|
valueKey: 'contRadius',
|
|
@@ -246,7 +246,7 @@ export default function (data = {}, gValue = {}, gColor = {}, oldData = {}) {
|
|
|
246
246
|
},
|
|
247
247
|
{ ele: 'group_start' },
|
|
248
248
|
{
|
|
249
|
-
label: '
|
|
249
|
+
label: '',
|
|
250
250
|
ele: 'xd-site-select-list',
|
|
251
251
|
valueKey: 'imageRadius',
|
|
252
252
|
labelInline: true,
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
class="jfb-mall-special-product__body-list"
|
|
31
31
|
>
|
|
32
32
|
<Title
|
|
33
|
-
v-if="is_title === 'Y'"
|
|
33
|
+
v-if="is_title === 'Y'&&initStatus"
|
|
34
34
|
:title="Pitem.special_name"
|
|
35
35
|
:moreName="moreName"
|
|
36
36
|
:wrapStyle="[{
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
:titleStyle="titleStyle"
|
|
47
47
|
:moreStyle="moreStyle"
|
|
48
48
|
:isMore="isMore==='Y'"
|
|
49
|
+
:key="titleKey"
|
|
49
50
|
:titleType="title_type"
|
|
50
51
|
@click.native="handleTo(Pitem)"
|
|
51
52
|
></Title>
|
|
@@ -174,6 +175,7 @@
|
|
|
174
175
|
:cell="row_num"
|
|
175
176
|
:name-font="itemFont"
|
|
176
177
|
:product-config="productConfig"
|
|
178
|
+
:color="mainColor"
|
|
177
179
|
:item="item"
|
|
178
180
|
:isPlus="is_plus_site"
|
|
179
181
|
:row-spacing="rowMainSpacing"
|
|
@@ -218,6 +220,9 @@ import SkeProduct from "@/components/SkeProduct/SkeProduct.vue";
|
|
|
218
220
|
import CusProduct from "@/components/CusProduct/CusProduct.vue";
|
|
219
221
|
import XdVideo from "./XdVideo.vue";
|
|
220
222
|
import Title from './components/title.vue'
|
|
223
|
+
import {
|
|
224
|
+
statusShow,
|
|
225
|
+
} from "@/utils/AttrTools";
|
|
221
226
|
const Color = require('color');
|
|
222
227
|
|
|
223
228
|
export default {
|
|
@@ -306,8 +311,9 @@ export default {
|
|
|
306
311
|
is_plus_site: false,
|
|
307
312
|
|
|
308
313
|
columnOneLayout: 'H', //V=垂直 H=水平
|
|
309
|
-
title_type: ''
|
|
310
|
-
|
|
314
|
+
title_type: '',
|
|
315
|
+
titleKey: 'titleKey',
|
|
316
|
+
initStatus: false
|
|
311
317
|
};
|
|
312
318
|
},
|
|
313
319
|
computed: {
|
|
@@ -434,6 +440,9 @@ export default {
|
|
|
434
440
|
this.onJfbLoad(this.options)
|
|
435
441
|
}
|
|
436
442
|
},
|
|
443
|
+
title_type() {
|
|
444
|
+
this.titleKey = new Date().getTime();
|
|
445
|
+
}
|
|
437
446
|
},
|
|
438
447
|
created() {
|
|
439
448
|
this.isPreview = this.$configProject.isPreview;
|
|
@@ -447,6 +456,12 @@ export default {
|
|
|
447
456
|
*/
|
|
448
457
|
init(container) {
|
|
449
458
|
let moreBackgeound = Color(this.mainColor).alpha(0.15).toString();
|
|
459
|
+
let titleStyleDefault = [{
|
|
460
|
+
color: '#333',
|
|
461
|
+
fontSize: '28rpx',
|
|
462
|
+
fontWeight: '500',
|
|
463
|
+
bgColor: 'rgba(255, 255, 255, 0)'
|
|
464
|
+
}]
|
|
450
465
|
//content
|
|
451
466
|
this.xnamespace = gCPVal(container, 'xnamespace', this.projectAttr.business_code, {});
|
|
452
467
|
this.is_title = gCPVal(container, "is_title", "Y");
|
|
@@ -498,16 +513,21 @@ export default {
|
|
|
498
513
|
this.listBgColor = gCPVal(container, "listBgColor", '',{sKey:'listBgColorStatus',fields:['listBgColor']});
|
|
499
514
|
this.itemMargin = gCPVal(container, 'itemMargin', { top: 16, right: 0, bottom: 0, left: 0 }, {sKey:'itemMarginStatus', isPMR: true, fields:['itemMargin']});
|
|
500
515
|
this.listRadius = gCPVal(container, 'listRadius', [16], { sKey: 'listRadiusStatus', fields: ['listRadius'] }) || 0;
|
|
501
|
-
this.
|
|
502
|
-
this.
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
[{
|
|
506
|
-
color: '#
|
|
516
|
+
this.title_type = gCPVal(container, 'title_type', 'default');
|
|
517
|
+
this.titleBg = getServiceUrl(gCPVal(container, 'titleBg', { url: '' }, { sKey: 'titleStyleStatus', fields: ['titleBg'] }).url);
|
|
518
|
+
|
|
519
|
+
if (this.title_type == 'four' || this.title_type == 'five') {
|
|
520
|
+
titleStyleDefault = [{
|
|
521
|
+
color: '#fff',
|
|
507
522
|
fontSize: '28rpx',
|
|
508
523
|
fontWeight: '500',
|
|
509
524
|
bgColor: 'rgba(255, 255, 255, 0)'
|
|
510
|
-
}]
|
|
525
|
+
}]
|
|
526
|
+
}
|
|
527
|
+
this.titleStyle = gCPVal(
|
|
528
|
+
container,
|
|
529
|
+
"titleStyle",
|
|
530
|
+
titleStyleDefault,
|
|
511
531
|
{sKey:'titleStyleStatus',fields:['titleStyle'],isMerge: true}
|
|
512
532
|
);
|
|
513
533
|
this.titleStyle.backgroundColor = this.titleStyle.bgColor || '#fff';
|
|
@@ -515,7 +535,6 @@ export default {
|
|
|
515
535
|
this.titleBorder = gCPVal(container, 'titleBorder', [{color: '#fff',width: 2,style: 'solid'}], {isBorder: true, bsOld:['is_border','is_border_w','is_border_c'], cusFields: ['productStyle','border']});
|
|
516
536
|
this.titleShadow = gCPVal(container, 'titleShadow', [{width:20, color:'rgba(0,0,0,0)'},'none'], {isShadow:true, bsOld:['is_shadow','is_shadow_w','is_shadow_bg']});
|
|
517
537
|
this.titleRradius = gCPVal(container, 'titleRradius', [16], { sKey: 'titleRradiusStatus', fields: ['titleRradius'] }) || 0;
|
|
518
|
-
this.title_type = gCPVal(container, 'title_type', 'default');
|
|
519
538
|
let moreStyle = gCPVal(
|
|
520
539
|
container,
|
|
521
540
|
"moreStyle",
|
|
@@ -562,6 +581,7 @@ export default {
|
|
|
562
581
|
this.itemPadding = gCPVal(container, 'itemPadding', [16], {sKey:'itemPaddingStatus', isPMR: true, fields:['itemPadding']});
|
|
563
582
|
//advanced
|
|
564
583
|
this.productInfoPath = getContainerPropsValue(container, "content.productInfoPath", { value: "" }).value;
|
|
584
|
+
this.initStatus=true
|
|
565
585
|
},
|
|
566
586
|
|
|
567
587
|
getSkeleton(cellIndex){
|
|
@@ -748,16 +768,17 @@ export default {
|
|
|
748
768
|
|
|
749
769
|
|
|
750
770
|
handleTo(item) {
|
|
751
|
-
if(this.isPreview) return;
|
|
752
|
-
|
|
753
|
-
|
|
771
|
+
if (this.isPreview) return;
|
|
772
|
+
let temp = this.$xdUniHelper.cloneDeep(item);
|
|
773
|
+
temp.special_url = this.checkUrlIsValid(temp.special_url);
|
|
774
|
+
if(!temp.special_url) {
|
|
754
775
|
this.$xdAlert({
|
|
755
776
|
content:'专题地址配置错误!'
|
|
756
777
|
})
|
|
757
778
|
return
|
|
758
779
|
}
|
|
759
780
|
this.$xdUniHelper.navigateTo({
|
|
760
|
-
url: `${
|
|
781
|
+
url: `${temp.special_url}?special_id=${temp.special_id}`,
|
|
761
782
|
});
|
|
762
783
|
},
|
|
763
784
|
|
|
@@ -197,6 +197,7 @@ export default (data, gValue, gColor, oldData = {}) => {
|
|
|
197
197
|
groupKey: 'content',
|
|
198
198
|
ele: 'el-input',
|
|
199
199
|
valueKey: "product_limit",
|
|
200
|
+
cusStyle: { marginTop: '10px' },
|
|
200
201
|
value: dataVal({ data, key: 'product_limit', dValue: 6, gValue }),
|
|
201
202
|
type: 'text',
|
|
202
203
|
groupKey: 'content',
|