Merge branch 'dev' of gitee.com:zongzhige/shopxo-uniapp into dev-sws

This commit is contained in:
sws
2024-10-18 10:31:00 +08:00
42 changed files with 146 additions and 153 deletions

View File

@ -7,12 +7,12 @@
data: {
// 基础配置
// 数据接口请求地址
request_url: 'http://shopxo.com/',
// request_url:'https://new.shopxo.vip/',
//request_url: 'http://shopxo.com/',
request_url:'https://new.shopxo.vip/',
// 静态资源地址如系统根目录不在public目录下面请在静态地址后面加public目录、如https://d1.shopxo.vip/public/
static_url: 'http://shopxo.com/',
// static_url:'https://new.shopxo.vip/',
//static_url: 'http://shopxo.com/',
static_url:'https://new.shopxo.vip/',
// 系统类型默认default、如额外独立小程序、可与程序分身插件实现不同主体小程序及支付独立
system_type: 'default',

View File

@ -126,7 +126,7 @@
clearInterval(self.cloice_location_timer);
// 回调事件
self.$emit('onback', result);
self.$emit('onBack', result);
}
}, 1000);
this.setData({

View File

@ -71,7 +71,7 @@
type: Boolean,
default: true,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -122,7 +122,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -2,9 +2,9 @@
<!-- 文章列表 -->
<view class="article-tabs ou" :style="style_container">
<view class="ou" :style="style_img_container">
<componentDiyModulesTabsView :propValue="article_tabs" :propIsTop="top_up == '1'" :propTop="propTop" :propStyle="tabs_style + 'padding-bottom:24rpx;'" :propCustomNavHeight="propCustomNavHeight * 2 + 'rpx'" :propTabsBackground="tabs_background" @tabs-click="tabs_click_event"></componentDiyModulesTabsView>
<componentDiyModulesTabsView :propValue="article_tabs" :propIsTop="top_up == '1'" :propTop="propTop" :propStyle="tabs_style + 'padding-bottom:24rpx;'" :propCustomNavHeight="propCustomNavHeight * 2 + 'rpx'" :propTabsBackground="tabs_background" @onTabsTap="tabs_click_event"></componentDiyModulesTabsView>
<view class="oh">
<componentDiyArticleList :propkey="diy_key" :propValue="article_tabs" :propIsCommonStyle="false"></componentDiyArticleList>
<componentDiyArticleList :propKey="diy_key" :propValue="article_tabs" :propIsCommonStyle="false"></componentDiyArticleList>
</view>
</view>
</view>
@ -38,11 +38,11 @@
default: 0,
},
// 顶部导航是否开启沉浸模式
isImmersionModel: {
propIsImmersionModel: {
type: Boolean,
default: false,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -99,7 +99,7 @@
console.log(2);
}
},
propkey(val) {
propKey(val) {
this.setData({
diy_key: val,
});

View File

@ -16,7 +16,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -29,7 +29,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -15,7 +15,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -28,7 +28,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -75,7 +75,7 @@
type: Boolean,
default: true,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -113,7 +113,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},
@ -255,7 +255,7 @@
video_play(e) {
const list = e.currentTarget.dataset.value;
if (!isEmpty(list)) {
this.$emit('video_play', list[0].url, this.popup_width, this.popup_height);
this.$emit('onVideoPlay', list[0].url, this.popup_width, this.popup_height);
}
},
url_open(link) {

View File

@ -167,7 +167,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -196,7 +196,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -4,19 +4,19 @@
<view class="wh-auto ht-auto pr">
<view v-for="(item, index) in form.custom_list" :key="item.id" class="main-content" :style="{ 'left': get_percentage_count(item.location.x, div_width), 'top': get_percentage_count(item.location.y, div_height), 'width': get_percentage_count(item.com_data.com_width, div_width), 'height': get_percentage_count(item.com_data.com_height, div_height), 'z-index': custom_list_length > 0 ? custom_list_length - index : 0 }">
<template v-if="item.key == 'text'">
<model-text :propkey="propkey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-text>
<model-text :propKey="propKey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-text>
</template>
<template v-else-if="item.key == 'img'">
<model-image :propkey="propkey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-image>
<model-image :propKey="propKey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-image>
</template>
<template v-else-if="item.key == 'auxiliary-line'">
<model-lines :propkey="propkey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content"></model-lines>
<model-lines :propKey="propKey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content"></model-lines>
</template>
<template v-else-if="item.key == 'icon'">
<model-icon :propkey="propkey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-icon>
<model-icon :propKey="propKey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-icon>
</template>
<template v-else-if="item.key == 'panel'">
<model-panel :propkey="propkey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-panel>
<model-panel :propKey="propKey" :propValue="item.com_data" :propScale="scale" :propSourceList="form.data_source_content" @url_event="url_event"></model-panel>
</template>
</view>
</view>
@ -50,7 +50,7 @@ export default {
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -75,7 +75,7 @@ export default {
},
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -14,12 +14,12 @@
<view class="ma-0 wh-auto text-line-1" :style="item.data_style.subtitle_style">{{ item.data_content.subtitle || '' }}</view>
</view>
<view class="wh-auto ht-auto">
<magic-carousel :propValue="item" :propGoodStyle="item.data_style" :propContentImgRadius="content_img_radius" :propActived="form.style_actived" propType="product" @carousel_change="carousel_change($event, index)"></magic-carousel>
<magic-carousel :propValue="item" :propGoodStyle="item.data_style" :propContentImgRadius="content_img_radius" :propActived="form.style_actived" propType="product" @onCarouselChange="carousel_change($event, index)"></magic-carousel>
</view>
</view>
</template>
<template v-else>
<magic-carousel :propValue="item" :propContentImgRadius="content_img_radius" propType="img" :propActived="form.style_actived" @carousel_change="carousel_change($event, index)"></magic-carousel>
<magic-carousel :propValue="item" :propContentImgRadius="content_img_radius" propType="img" :propActived="form.style_actived" @onCarouselChange="carousel_change($event, index)"></magic-carousel>
</template>
<view v-if="item.data_style.is_show == '1' && item.data_content.list.length > 1" :class="{ 'dot-center': item.data_style.indicator_location == 'center', 'dot-right': item.data_style.indicator_location == 'flex-end' }" class="dot flex-row pa" :style="{ bottom: item.data_style.indicator_bottom * 2 + 'rpx' }">
<template v-if="item.data_style.indicator_style == 'num'">
@ -46,12 +46,12 @@
<view class="ma-0 wh-auto text-line-1" :style="item.data_style.subtitle_style">{{ item.data_content.subtitle || '' }}</view>
</view>
<view class="wh-auto ht-auto">
<magic-carousel :propValue="item" :propGoodStyle="item.data_style" :propContentImgRadius="content_img_radius" propType="product" :propActived="form.style_actived" @carousel_change="carousel_change($event, index)"></magic-carousel>
<magic-carousel :propValue="item" :propGoodStyle="item.data_style" :propContentImgRadius="content_img_radius" propType="product" :propActived="form.style_actived" @onCarouselChange="carousel_change($event, index)"></magic-carousel>
</view>
</view>
</template>
<template v-else>
<magic-carousel :propValue="item" :propContentImgRadius="content_img_radius" propType="img" :propActived="form.style_actived" @carousel_change="carousel_change($event, index)"></magic-carousel>
<magic-carousel :propValue="item" :propContentImgRadius="content_img_radius" propType="img" :propActived="form.style_actived" @onCarouselChange="carousel_change($event, index)"></magic-carousel>
</template>
<view v-if="item.data_style.is_show == '1' && item.data_content.list.length > 1" :class="{ 'dot-center': item.data_style.indicator_location == 'center', 'dot-right': item.data_style.indicator_location == 'flex-end' }" class="dot flex-row pa" :style="{ bottom: item.data_style.indicator_bottom * 2 + 'rpx' }">
<template v-if="item.data_style.indicator_style == 'num'">
@ -85,7 +85,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -123,7 +123,7 @@
},
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -4,42 +4,42 @@
<scroll-view :scroll-y="true" class="ht" @scroll="on_scroll_event">
<!-- 头部小程序兼容 -->
<view class="pr header">
<componentDiyHeader :propkey="header_data.id" :propValue="header_data.com_data" :propScrollTop="scroll_top" @immersion-model-call-back="immersion_model_call_back"></componentDiyHeader>
<componentDiyHeader :propKey="header_data.id" :propValue="header_data.com_data" :propScrollTop="scroll_top" @onImmersionModelCallBack="immersion_model_call_back" @onLocationBack="choice_location_back"></componentDiyHeader>
</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_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>
<componentDiyTabs v-if="item.key == 'tabs'" :propValue="item.com_data" :propTop="temp_header_top" :propNavIsTop="is_header_top" :propTabsIsTop="temp_is_header_top" @onComputerHeight="tabs_height_event" @onTabsTap="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" @onComputerHeight="tabs_height_event" @onTabsTap="tabs_click_event"></componentDiyTabsCarousel>
</view>
<template v-if="is_tabs_type">
<template v-if="diy_data.length > 0">
<view v-for="(item, index) in diy_data" :key="index" :style="'margin-top:' + (['float-window'].includes(item.key) ? '0rpx' : -(item.com_data.style.common_style.floating_up * 2 || 0) + 'rpx;z-index:1;')">
<!-- 基础组件 -->
<template v-if="item.is_enable == '1'">
<componentDiySearch v-if="item.key == 'search'" :propkey="item.id" :propValue="item.com_data"></componentDiySearch>
<componentDiyCarousel v-else-if="item.key == 'carousel'" :propkey="item.id" :propValue="item.com_data" @video_play="video_play"></componentDiyCarousel>
<componentDiyNavGroup v-else-if="item.key == 'nav-group'" :propkey="item.id" :propValue="item.com_data"></componentDiyNavGroup>
<componentDiyUserInfo v-else-if="item.key == 'user-info'" :propkey="item.id" :propValue="item.com_data"></componentDiyUserInfo>
<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 ? (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>
<componentDiySearch v-if="item.key == 'search'" :propKey="item.id" :propValue="item.com_data"></componentDiySearch>
<componentDiyCarousel v-else-if="item.key == 'carousel'" :propKey="item.id" :propValue="item.com_data" @onVideoPlay="video_play"></componentDiyCarousel>
<componentDiyNavGroup v-else-if="item.key == 'nav-group'" :propKey="item.id" :propValue="item.com_data"></componentDiyNavGroup>
<componentDiyUserInfo v-else-if="item.key == 'user-info'" :propKey="item.id" :propValue="item.com_data"></componentDiyUserInfo>
<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 ? (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>
<componentDiyCustom v-else-if="item.key == 'custom'" :propkey="item.id" :propValue="item.com_data"></componentDiyCustom>
<componentDiyImgMagic v-else-if="item.key == 'img-magic'" :propkey="item.id" :propValue="item.com_data"></componentDiyImgMagic>
<componentDiyHotZone v-else-if="item.key == 'hot-zone'" :propkey="item.id" :propValue="item.com_data"></componentDiyHotZone>
<componentDiySeckill v-else-if="item.key == 'seckill'" :propkey="item.id" :propValue="item.com_data"></componentDiySeckill>
<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>
<componentDiyCustom v-else-if="item.key == 'custom'" :propKey="item.id" :propValue="item.com_data"></componentDiyCustom>
<componentDiyImgMagic v-else-if="item.key == 'img-magic'" :propKey="item.id" :propValue="item.com_data"></componentDiyImgMagic>
<componentDiyHotZone v-else-if="item.key == 'hot-zone'" :propKey="item.id" :propValue="item.com_data"></componentDiyHotZone>
<componentDiySeckill v-else-if="item.key == 'seckill'" :propKey="item.id" :propValue="item.com_data"></componentDiySeckill>
<!-- 插件 -->
<componentDiyCoupon v-else-if="item.key == 'coupon'" :propkey="item.id" :propValue="item.com_data"></componentDiyCoupon>
<componentDiyCoupon v-else-if="item.key == 'coupon'" :propKey="item.id" :propValue="item.com_data"></componentDiyCoupon>
<!-- 工具组件 -->
<componentDiyFloatWindow v-else-if="item.key == 'float-window'" :propkey="item.id" :propValue="item.com_data"></componentDiyFloatWindow>
<componentDiyTitle v-else-if="item.key == 'title'" :propkey="item.id" :propValue="item.com_data"></componentDiyTitle>
<componentDiyAuxiliaryLine v-else-if="item.key == 'row-line'" :propkey="item.id" :propValue="item.com_data"></componentDiyAuxiliaryLine>
<componentDiyRichText v-else-if="item.key == 'rich-text'" :propkey="item.id" :propValue="item.com_data"></componentDiyRichText>
<componentDiyAuxiliaryBlank v-else-if="item.key == 'auxiliary-blank'" :propkey="item.id" :propValue="item.com_data"></componentDiyAuxiliaryBlank>
<componentDiyFloatWindow v-else-if="item.key == 'float-window'" :propKey="item.id" :propValue="item.com_data"></componentDiyFloatWindow>
<componentDiyTitle v-else-if="item.key == 'title'" :propKey="item.id" :propValue="item.com_data"></componentDiyTitle>
<componentDiyAuxiliaryLine v-else-if="item.key == 'row-line'" :propKey="item.id" :propValue="item.com_data"></componentDiyAuxiliaryLine>
<componentDiyRichText v-else-if="item.key == 'rich-text'" :propKey="item.id" :propValue="item.com_data"></componentDiyRichText>
<componentDiyAuxiliaryBlank v-else-if="item.key == 'auxiliary-blank'" :propKey="item.id" :propValue="item.com_data"></componentDiyAuxiliaryBlank>
</template>
</view>
</template>
@ -77,7 +77,7 @@
<!-- 当前diy页面底部菜单非公共底部菜单 -->
<block v-if="is_show_footer == 1">
<componentDiyFooter :propkey="footer_data.id" :propValue="footer_data.com_data" @footer-height="footer_height_value_event"></componentDiyFooter>
<componentDiyFooter :propKey="footer_data.id" :propValue="footer_data.com_data" @onFooterHeight="footer_height_value_event"></componentDiyFooter>
<view v-if="footer_height_value > 0" :style="'height:' + footer_height_value + 'rpx;'"></view>
</block>
@ -140,7 +140,7 @@
type: [String, Number],
default: '',
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -248,7 +248,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},
@ -517,26 +517,20 @@
footer_height_value: value * 2 + 20,
});
},
// 商品数量更新回调
goods_buy_event(index, goods = {}, params = {}, back_data = null) {
if ((this.$refs.goods_buy || null) != null) {
this.goods_index = index;
this.$refs.goods_buy.init(goods, params, back_data);
}
},
// 商品加购回调
goods_cart_back_event(e) {
if ((this.$refs[`diy_goods_buy${this.goods_index}`][0] || null) != null) {
this.$refs[`diy_goods_buy${this.goods_index}`][0].goods_cart_back_event(e);
}
},
search_tap(form, list, color) {
this.setData({
search_form: form,
hot_word_list: list,
search_hot_words_color: color,
is_focus: true,
});
this.$refs.searchPopup.open();
},
// 视频播放
video_play(url, width, height) {
this.setData({
video_src: url,
@ -549,6 +543,7 @@
videoContext.play();
}
},
// 视频关闭
video_close() {
const videoContext = uni.createVideoContext('carousel_video');
if (!isEmpty(videoContext)) {
@ -556,6 +551,10 @@
}
this.$refs.popup.close();
},
// 位置回调
choice_location_back(e) {
this.$emit('onLocationBack', e);
},
},
};
</script>

View File

@ -34,7 +34,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
}
@ -50,7 +50,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
}

View File

@ -44,11 +44,7 @@
propFooterActiveIndex: {
type: Number,
default: 0,
},
propkey: {
type: String,
default: '',
},
}
},
data() {
return {
@ -80,10 +76,6 @@
propFooterActiveIndex(value, old_value) {
this.init();
},
propkey(val) {
// 初始化
this.init();
},
},
// 页面被展示
created: function () {
@ -146,7 +138,7 @@
footer_height += safe_area_insets_bottom;
// 回调高度
this.$emit('footer-height', footer_height);
this.$emit('onFooterHeight', footer_height);
}
},
@ -155,7 +147,7 @@
let index = e.currentTarget.dataset.index;
let item = this.nav_content[index];
app.globalData.url_event(e);
this.$emit('footer-tap', index, item);
this.$emit('onFooterTap', index, item);
},
},
};

View File

@ -180,7 +180,7 @@
type: Boolean,
default: true,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -228,7 +228,7 @@
},
},
watch: {
propkey(val) {
propKey(val) {
this.init();
},
},

View File

@ -1,9 +1,9 @@
<template>
<view class="goods-tabs ou" :style="style_container">
<view class="ou" :style="style_img_container">
<componentDiyModulesTabsView :propValue="goods_tabs" :propIsTop="top_up == '1'" :propTop="propTop" :propStyle="tabs_style + 'padding-bottom:24rpx;'" :propCustomNavHeight="propCustomNavHeight * 2 + 'rpx'" :propTabsBackground="tabs_background" @tabs-click="tabs_click_event"></componentDiyModulesTabsView>
<componentDiyModulesTabsView :propValue="goods_tabs" :propIsTop="top_up == '1'" :propTop="propTop" :propStyle="tabs_style + 'padding-bottom:24rpx;'" :propCustomNavHeight="propCustomNavHeight * 2 + 'rpx'" :propTabsBackground="tabs_background" @onTabsTap="tabs_click_event"></componentDiyModulesTabsView>
<view class="oh">
<componentGoodsList ref="diy_goods_list" :propkey="diy_key" :propIndex="propIndex" :propValue="goods_tabs" :propIsCommonStyle="false" @goods_buy_event="goods_buy_event"></componentGoodsList>
<componentGoodsList ref="diy_goods_list" :propKey="diy_key" :propIndex="propIndex" :propValue="goods_tabs" :propIsCommonStyle="false" @goods_buy_event="goods_buy_event"></componentGoodsList>
</view>
</view>
</view>
@ -43,11 +43,11 @@
default: 0,
},
// 顶部导航是否开启沉浸模式
isImmersionModel: {
propIsImmersionModel: {
type: Boolean,
default: false,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -100,7 +100,7 @@
});
}
},
propkey(val) {
propKey(val) {
// 初始化
this.setData({
diy_key: val,

View File

@ -33,7 +33,7 @@
<view v-else-if="['4', '5'].includes(form.content.theme)" class="flex-1 flex-row align-c gap-10">
<view class="flex-row align-c gap-2">
<view class="flex-1">
<component-choice-location :propBaseColor="form.style.position_color" :propTextDefaultName="form.content.positioning_name" :propIsLeftIconArrow="form.content.is_location_left_icon_show == '1'" :propLeftImgValue="form.content.location_left_img" :propLeftIconValue="'icon-' + form.content.location_left_icon" :propIsRightIconArrow="form.content.is_location_right_icon_show == '1'" :propRightImgValue="form.content.location_right_img" :propRightIconValue="'icon-' + form.content.location_right_icon" :propTextMaxWidth="['4'].includes(form.content.theme) ? '300rpx' : '150rpx'" @onback="user_back_choice_location"></component-choice-location>
<component-choice-location :propBaseColor="form.style.position_color" :propTextDefaultName="form.content.positioning_name" :propIsLeftIconArrow="form.content.is_location_left_icon_show == '1'" :propLeftImgValue="form.content.location_left_img" :propLeftIconValue="'icon-' + form.content.location_left_icon" :propIsRightIconArrow="form.content.is_location_right_icon_show == '1'" :propRightImgValue="form.content.location_right_img" :propRightIconValue="'icon-' + form.content.location_right_icon" :propTextMaxWidth="['4'].includes(form.content.theme) ? '300rpx' : '150rpx'" @onBack="choice_location_back"></component-choice-location>
</view>
</view>
<template v-if="['5'].includes(form.content.theme) && !is_search_alone_row">
@ -106,7 +106,7 @@
type: Number,
default: 0,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -174,7 +174,7 @@
up_slide_img_style: background_computer(back),
});
},
propkey(val) {
propKey(val) {
if ((this.propValue || null) !== null) {
this.init();
}
@ -226,7 +226,7 @@
is_search_alone_row: new_content.data_alone_row_value && new_content.data_alone_row_value.includes('search'),
is_icon_alone_row: new_content.data_alone_row_value && new_content.data_alone_row_value.includes('icon'),
});
this.$emit('immersion-model-call-back', this.is_immersion_model);
this.$emit('onImmersionModelCallBack', this.is_immersion_model);
},
// 获取顶部导航高度
get_nav_height() {
@ -243,8 +243,8 @@
.exec();
},
// 位置回调
user_back_choice_location(e) {
console.log('选择位置回调', e);
choice_location_back(e) {
this.$emit('onLocationBack', e);
},
// 打开地址
url_event(e) {

View File

@ -19,7 +19,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -43,7 +43,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -49,7 +49,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -73,7 +73,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -21,7 +21,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -38,7 +38,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
this.init();
}
},

View File

@ -24,7 +24,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -42,7 +42,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
this.init();
}
},

View File

@ -11,7 +11,7 @@
},
required: true,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -27,7 +27,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
this.init();
}
},

View File

@ -21,7 +21,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -39,7 +39,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
this.init();
}
},

View File

@ -28,7 +28,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -46,7 +46,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
this.init();
}
},

View File

@ -46,7 +46,7 @@
},
methods: {
carousel_change(e) {
this.$emit('carousel_change', e);
this.$emit('onCarouselChange', e);
},
// 跳转链接
url_event(link) {

View File

@ -199,7 +199,7 @@
active_index: index,
popup_status: false,
});
this.$emit('tabs-click', index, tabs_list_item);
this.$emit('onTabsTap', index, tabs_list_item);
},
// 分类选择事件
category_check_event() {

View File

@ -45,7 +45,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -69,7 +69,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -69,7 +69,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -106,7 +106,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -15,7 +15,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -28,7 +28,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -59,7 +59,7 @@ export default {
type: Boolean,
default: false,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -79,7 +79,7 @@ export default {
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -180,7 +180,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -239,7 +239,7 @@
},
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -1,7 +1,7 @@
<template>
<view class="flex-col ou" :style="style_container">
<view class="ou" :style="style_img_container">
<componentDiyTabs :propValue="propValue" :propTop="propTop" :propNavIsTop="propNavIsTop" :propTabsIsTop="propTabsIsTop" @computer-height="tabs_height_event" @tabs-click="tabs_click_event"></componentDiyTabs>
<componentDiyTabs :propValue="propValue" :propTop="propTop" :propNavIsTop="propNavIsTop" :propTabsIsTop="propTabsIsTop" @onComputerHeight="tabs_height_event" @onTabsTap="tabs_click_event"></componentDiyTabs>
<componentDiycarousel :propValue="propValue" :propIsCommon="false"></componentDiycarousel>
</view>
</view>
@ -37,7 +37,7 @@
type: Boolean,
default: false,
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -70,7 +70,7 @@
propTabsIsTop(value, old_value) {
this.init();
},
propkey(val) {
propKey(val) {
// 初始化
this.init();
},
@ -87,10 +87,10 @@
});
},
tabs_click_event(tabs_id, is_micro_page) {
this.$emit('tabs-click', tabs_id, is_micro_page);
this.$emit('onTabsTap', tabs_id, is_micro_page);
},
tabs_height_event(height) {
this.$emit('computer-height', height);
this.$emit('onComputerHeight', height);
},
},
};

View File

@ -4,7 +4,7 @@
<view :class="top_up == '1' ? 'tabs-top' : ''" :style="tabs_top_style">
<view class="tabs-content wh-auto bs-bb" :style="style_container">
<view class="wh-auto bs-bb" :style="style_img_container">
<componentDiyModulesTabsView :propValue="tabs_data" propIsTabsIcon :propStyle="propStyle" @tabs-click="tabs_click_event"></componentDiyModulesTabsView>
<componentDiyModulesTabsView :propValue="tabs_data" :propIsTabsIcon="true" :propStyle="propStyle" @onTabsTap="tabs_click_event"></componentDiyModulesTabsView>
</view>
</view>
</view>
@ -46,7 +46,7 @@
type: String,
default: '',
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -88,7 +88,7 @@
this.get_tabs_height();
});
},
propkey(val) {
propKey(val) {
// 初始化
this.init();
},
@ -141,12 +141,12 @@
this.setData({
tabs_seat_height: res.height,
});
this.$emit('computer-height', this.tabs_seat_height);
this.$emit('onComputerHeight', this.tabs_seat_height);
}
})
.exec(); // 执行查询
} else {
this.$emit('computer-height', 0);
this.$emit('onComputerHeight', 0);
}
},
// 选项卡回调
@ -156,7 +156,7 @@
tabs_id = this.get_tabs_id(item, index);
// 是否是商品分类页面
const is_micro_page = item.data_type == '0';
this.$emit('tabs-click', tabs_id, is_micro_page);
this.$emit('onTabsTap', tabs_id, is_micro_page);
},
get_tabs_id(item, index) {
if (item.data_type === '0') {

View File

@ -43,7 +43,7 @@
return {};
},
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -63,7 +63,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -40,7 +40,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -85,7 +85,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -17,7 +17,7 @@
type: Object,
default: () => ({}),
},
propkey: {
propKey: {
type: String,
default: '',
},
@ -32,7 +32,7 @@
};
},
watch: {
propkey(val) {
propKey(val) {
// 初始化
this.init();
},

View File

@ -2,7 +2,7 @@
<view :class="theme_view">
<block v-if="(data || null) != null">
<!-- diy模块 -->
<componentDiy :propValue="data.config" :propDataId="data.id">
<componentDiy :propValue="data.config" :propDataId="data.id" @onLocationBack="user_back_choice_location">
<template slot="diy-bottom">
<!-- 结尾 -->
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
@ -172,7 +172,13 @@
// 状态栏设置
set_navigation_bar_color() {
app.globalData.set_navigation_bar_color(parseInt(app.globalData.get_key_data(this.data, 'config.header.com_data.style.function_buttons_type', 0)) == 1);
}
},
// 选择用户地理位置回调
user_back_choice_location(e) {
// 重新刷新数据
this.get_data();
},
}
};
</script>

View File

@ -4,7 +4,7 @@
<!-- diy模式 -->
<block v-if="data_mode == 3">
<block v-if="data_list !== null">
<componentDiy :propValue="data_list.config" :propDataId="data_list.id" :propkey="diy_key">
<componentDiy :propValue="data_list.config" :propDataId="data_list.id" :propKey="random_value" @onLocationBack="user_back_choice_location">
<template slot="diy-bottom">
<!-- 结尾 -->
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
@ -34,7 +34,7 @@
<view class="home-top-nav margin-bottom-sm pr padding-right-main">
<!-- 定位 -->
<view v-if="is_home_location_choice == 1" class="home-top-nav-location dis-inline-block va-m single-text cr-white pr bs-bb padding-left-main padding-right-lg">
<component-choice-location @onback="user_back_choice_location"></component-choice-location>
<component-choice-location @onBack="user_back_choice_location"></component-choice-location>
</view>
<block v-else>
<!-- logo/标题 -->
@ -405,7 +405,6 @@
plugins_binding_data: null,
// 魔方插件
plugins_magic_data: null,
diy_key: '',
};
},
@ -589,9 +588,6 @@
// 初始化返回公共处理
this.init_result_common_handle();
this.setData({
diy_key: Math.random().toString(),
});
},
fail: () => {
// 轮播数据处理
@ -715,7 +711,7 @@
// 搜索icon扫码事件
search_icon_event(e) {
app.globalData.scan_handle();
},
}
},
};
</script>

View File

@ -78,7 +78,7 @@
</view>
<!-- 位置选择 -->
<component-choice-location ref="choice_location" :propIsShowAddressChoice="false" @onback="user_back_choice_location"></component-choice-location>
<component-choice-location ref="choice_location" :propIsShowAddressChoice="false" @onBack="user_back_choice_location"></component-choice-location>
<!-- 公共 -->
<component-common ref="common"></component-common>

View File

@ -42,7 +42,7 @@
</view>
<!-- 位置选择 -->
<component-choice-location ref="choice_location" :propIsShowAddressChoice="false" @onback="user_back_choice_location"></component-choice-location>
<component-choice-location ref="choice_location" :propIsShowAddressChoice="false" @onBack="user_back_choice_location"></component-choice-location>
<!-- 公共 -->
<component-common ref="common"></component-common>

View File

@ -7,7 +7,7 @@
<view class="spacing-mb pr z-i cr-white">
<!-- 位置 -->
<view class="nav-location single-text dis-inline-block bs-bb pr padding-left-main padding-right-xl margin-top">
<component-choice-location ref="choice_location" @onback="user_back_choice_location"></component-choice-location>
<component-choice-location ref="choice_location" @onBack="user_back_choice_location"></component-choice-location>
</view>
</view>
<!-- 搜索 -->

View File

@ -5,7 +5,7 @@
<view class="bg-white padding-top-main padding-horizontal-main oh flex-row jc-sb align-c cr-grey">
<!-- 位置 -->
<view class="nav-location flex-row align-c single-text margin-right-sm">
<component-choice-location ref="choice_location" propIconLocationColor="#999" propIconArrowColor="#999" propTextMaxWidth="180rpx" @onback="user_back_choice_location"></component-choice-location>
<component-choice-location ref="choice_location" propIconLocationColor="#999" propIconArrowColor="#999" propTextMaxWidth="180rpx" @onBack="user_back_choice_location"></component-choice-location>
</view>
<!-- 搜索 -->
<view class="nav-search">

View File

@ -157,7 +157,7 @@
</view>
<!-- 位置选择 -->
<component-choice-location ref="choice_location" :propIsShowAddressChoice="false" @onback="user_back_choice_location"></component-choice-location>
<component-choice-location ref="choice_location" :propIsShowAddressChoice="false" @onBack="user_back_choice_location"></component-choice-location>
<!-- 公共 -->
<component-common ref="common"></component-common>