Merge branch 'dev-sws' into dev-yxl

master
于肖磊 2024-10-17 17:28:03 +08:00
commit ee8a668e31
3 changed files with 15 additions and 26 deletions

View File

@ -8,8 +8,8 @@
</view>
<view class="content flex-col" :style="'padding-top:' + (temp_is_header_top ? temp_header_top : '0')">
<view v-for="item in tabs_data" :key="item.key">
<componentDiyTabs v-if="item.key == 'tabs'" :propValue="item.com_data" :propTop="temp_sticky_top" :propNavIsTop="is_header_top" :propTabsIsTop="temp_is_header_top" @computer-height="tabs_height_event" @tabs-click="tabs_click_event"></componentDiyTabs>
<componentDiyTabsCarousel v-else-if="item.key == 'tabs-carousel'" :propValue="item.com_data" :propTop="temp_sticky_top" :propNavIsTop="is_header_top" :propTabsIsTop="temp_is_header_top" @computer-height="tabs_height_event" @tabs-click="tabs_click_event"></componentDiyTabsCarousel>
<componentDiyTabs v-if="item.key == 'tabs'" :propValue="item.com_data" :propTop="temp_header_top" :propNavIsTop="is_header_top" :propTabsIsTop="temp_is_header_top" @computer-height="tabs_height_event" @tabs-click="tabs_click_event"></componentDiyTabs>
<componentDiyTabsCarousel v-else-if="item.key == 'tabs-carousel'" :propValue="item.com_data" :propTop="temp_header_top" :propNavIsTop="is_header_top" :propTabsIsTop="temp_is_header_top" @computer-height="tabs_height_event" @tabs-click="tabs_click_event"></componentDiyTabsCarousel>
</view>
<template v-if="is_tabs_type">
<template v-if="diy_data.length > 0">
@ -23,8 +23,8 @@
<componentDiyNotice v-else-if="item.key == 'notice'" :propkey="item.id" :propValue="item.com_data"></componentDiyNotice>
<componentDiyVideo v-else-if="item.key == 'video'" :propkey="item.id" :propValue="item.com_data"></componentDiyVideo>
<componentDiyArticleList v-else-if="item.key == 'article-list'" :propkey="item.id" :propValue="item.com_data"></componentDiyArticleList>
<componentDiyArticleTabs v-else-if="item.key == 'article-tabs'" :propkey="item.id" :propValue="item.com_data" :propTop="(!is_immersion_model ? temp_sticky_top : 0) + tabs_height" :propScrollTop="scroll_top" :propCustomNavHeight="!is_immersion_model && is_header_top ? 33 : 0"></componentDiyArticleTabs>
<componentDiyGoodsTabs v-else-if="item.key == 'goods-tabs'" :ref="'diy_goods_buy' + index" :propIndex="index" :propkey="item.id" :propValue="item.com_data" :propTop="(!is_immersion_model ? temp_sticky_top : 0) + tabs_height" :propScrollTop="scroll_top" :propCustomNavHeight="!is_immersion_model && is_header_top ? 33 : 0" @goods_buy_event="goods_buy_event"></componentDiyGoodsTabs>
<componentDiyArticleTabs v-else-if="item.key == 'article-tabs'" :propkey="item.id" :propValue="item.com_data" :propTop="(!is_immersion_model ? temp_sticky_top : 0) + tabs_height" :propScrollTop="scroll_top" :propCustomNavHeight="!is_immersion_model && is_header_top ? (is_search_alone_row ? 66 + data_alone_row_space : 33) : 0"></componentDiyArticleTabs>
<componentDiyGoodsTabs v-else-if="item.key == 'goods-tabs'" :ref="'diy_goods_buy' + index" :propIndex="index" :propkey="item.id" :propValue="item.com_data" :propTop="(!is_immersion_model ? temp_sticky_top : 0) + tabs_height" :propScrollTop="scroll_top" :propCustomNavHeight="!is_immersion_model && is_header_top ? (is_search_alone_row ? 66 + data_alone_row_space : 33) : 0" @goods_buy_event="goods_buy_event"></componentDiyGoodsTabs>
<componentDiyGoodsList v-else-if="item.key == 'goods-list'" :ref="'diy_goods_buy' + index" :propIndex="index" :propkey="item.id" :propValue="item.com_data" @goods_buy_event="goods_buy_event"></componentDiyGoodsList>
<componentDiyDataMagic v-else-if="item.key == 'data-magic'" :propkey="item.id" :propValue="item.com_data"></componentDiyDataMagic>
@ -191,16 +191,14 @@
// 5,7,0 12 66bar_height
// #ifdef MP
sticky_top: bar_height + 5 + 12,
header_top: 'calc(' + (bar_height + 5 + 12) + 'px + 66px);',
// #endif
// #ifdef H5 || MP-TOUTIAO
sticky_top: bar_height + 7 + 12,
header_top: 'calc(' + (bar_height + 7 + 12) + 'px + 66rpx);',
// #endif
// #ifdef APP
sticky_top: bar_height + 0 + 12,
header_top: 'calc(' + (bar_height + 0 + 12) + 'px + 66rpx);',
// #endif
header_top: '',
temp_sticky_top: 0,
temp_header_top: '0px',
is_header_top: false,
@ -246,6 +244,7 @@
popup_height: '0rpx',
//
is_search_alone_row: false,
data_alone_row_space: 0,
};
},
watch: {
@ -290,9 +289,14 @@
//
is_header_top: parseInt(this.propValue.header.com_data.style.up_slide_display) == 1 ? true : false,
temp_sticky_top: this.sticky_top,
temp_header_top: this.header_top,
// temp_header_top: `calc(${this.sticky_top}px + 66rpx + ${parseInt(this.propValue.header.com_data.style.data_alone_row_space || 5) * 2}rpx + ${this.propValue.header.com_data.content.data_alone_row_value.length > 0 ? '66rpx' : '0rpx'});`,
temp_header_top: `calc(${this.sticky_top}px + 66rpx + 40rpx + 66rpx);`,
header_top: `calc(${this.sticky_top}px + 66rpx + 40rpx + 66rpx);`,
// --------------------------------------------------
is_search_alone_row: false,
// is_search_alone_row: this.propValue.header.com_data.content.data_alone_row_value.length > 0 ? true : false,
// data_alone_row_space: parseInt(this.propValue.header.com_data.style.data_alone_row_space || 5),
is_search_alone_row: true,
data_alone_row_space: 20,
});
//
@ -489,7 +493,7 @@
//
// #ifdef H5 || MP-TOUTIAO
if (!this.is_header_top) {
if (e.detail.scrollTop >= this.sticky_top + 33) {
if (e.detail.scrollTop >= this.sticky_top + 33 + (is_search_alone_row ? 0 : 33 + data_alone_row_space)) {
this.setData({
temp_sticky_top: 0,
temp_header_top: 0,

View File

@ -59,7 +59,6 @@
margin_right: 0,
},
top_up: '0',
tabs_style: '',
};
},
created() {
@ -80,25 +79,11 @@
init() {
const new_content = this.propValue.content || {};
const new_style = this.propValue.style || {};
// let tabs_style_obj = {
// padding_top: new_style.common_style.padding_top,
// padding_left: new_style.common_style.padding_left,
// padding_right: new_style.common_style.padding_right,
// margin_top: new_style.common_style.margin_top,
// margin_left: new_style.common_style.margin_left,
// margin_right: new_style.common_style.margin_right,
// };
// let new_tabs_style = padding_computer(tabs_style_obj) + margin_computer(tabs_style_obj) + `position:relative;left: -${tabs_style_obj.padding_left * 2}rpx;right: -${tabs_style_obj.padding_right * 2}rpx;width:100%;`;
// let common_style = Object.assign({}, new_style.common_style, {
// padding_top: 0,
// margin_top: 0,
// });
this.setData({
// style_container: `${common_styles_computer(common_style)};gap:${new_style.data_spacing * 2}rpx`,
style_container: `${common_styles_computer(new_style.common_style)};gap:${new_style.data_spacing * 2}rpx`,
style_img_container: common_img_computer(new_style.common_style),
top_up: new_content.tabs_top_up,
// tabs_style: new_tabs_style,
});
},
tabs_click_event(tabs_id, is_micro_page) {

View File

@ -100,7 +100,7 @@
let new_tabs_data = JSON.parse(JSON.stringify(this.propValue));
new_tabs_data.content.tabs_list.unshift(new_tabs_data.content.home_data);
//
let other_style = 'calc(' + this.propTop + 'px' + ' + 66rpx)';
let other_style = this.propTop;
let new_tabs_top_style = this.propNavIsTop || this.propTabsIsTop || new_content.tabs_top_up == '1' ? (new_content.tabs_top_up == '1' ? 'top:' + other_style + ';z-index:3;' : '') : '';
let new_top_up = new_content.tabs_top_up;