merge
commit
b08950c360
8
App.vue
8
App.vue
|
|
@ -67,11 +67,11 @@
|
|||
// tabbar页面
|
||||
tabbar_pages: ['/pages/index/index', '/pages/goods-category/goods-category', '/pages/cart/cart', '/pages/user/user'],
|
||||
// 请求地址
|
||||
request_url: 'https://new.shopxo.vip/',
|
||||
//request_url: 'http://shopxo.com/',
|
||||
request_url: 'https://new.shopxo.vip/',
|
||||
// request_url: 'http://shopxo.com/',
|
||||
// 静态资源地址(如系统根目录不在public目录下面请在静态地址后面加public目录、如:https://d1.shopxo.vip/public/)
|
||||
static_url: 'https://new.shopxo.vip/',
|
||||
//static_url: 'http://shopxo.com/',
|
||||
static_url: 'https://new.shopxo.vip/',
|
||||
// static_url: 'http://shopxo.com/',
|
||||
// 系统类型(默认default、如额外独立小程序、可与程序分身插件实现不同主体小程序及支付独立)
|
||||
system_type: 'default',
|
||||
// 基础信息
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ uni-page-head[uni-page-head-type=default]~uni-page-wrapper {
|
|||
}
|
||||
|
||||
/* #endif */
|
||||
|
||||
/**
|
||||
* 公共样式、框架样式覆盖
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,98 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="pa-w" :class="(propFixed ? 'pf z-i left-0 top-0 right-0' : '') + ' ' + propClass" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 0) + 'px;background-color:rgba(255,255,255,' + opacity + ');' + propStyle">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main round va-m flex-row align-c" :class="(opacity > 0.3 ? 'cr-black ' : 'cr-white ') + (status_bar_height > 0 ? 'padding-bottom-main' : 'padding-vertical-main')">
|
||||
<view v-if="propName" class="text-size tc pa left-0 right-0 padding-top-xs" :style="propNameOpacity ? (opacity ? 'color:rgba(51,51,51,' + opacity + ')' : '') : ''">{{ propName }}</view>
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event" class="pr top-xs z-i" :color="propColor"></iconfont>
|
||||
<slot name="right"></slot>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<slot name="content"></slot>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const app = getApp();
|
||||
export default {
|
||||
name: 'back',
|
||||
props: {
|
||||
// 最外层class
|
||||
propClass: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
// 最外层style
|
||||
propStyle: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
// 是否需要定位
|
||||
propFixed: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
// 箭头颜色
|
||||
propColor: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
// 标题名称
|
||||
propName: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
// 标题是否需要透明
|
||||
propNameOpacity: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
var self = this;
|
||||
uni.$on('onPageScroll', function (e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
self.setData({
|
||||
opacity: top,
|
||||
});
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
top_nav_left_back_event() {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.more {
|
||||
width: 30rpx;
|
||||
padding: 15rpx 20rpx;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: 101;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -159,13 +159,7 @@
|
|||
search_event() {
|
||||
// 是否回调事件
|
||||
if (this.propIsIconOnEvent) {
|
||||
this.$emit('onsearch', this.input_value);
|
||||
} else {
|
||||
console.log('this.input_value', this.input_value);
|
||||
// 进入搜索页面
|
||||
uni.navigateTo({
|
||||
url: this.propUrl + '?' + this.propFormName + '=' + this.input_value,
|
||||
});
|
||||
this.$emit('onicon', {});
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
|||
2
main.js
2
main.js
|
|
@ -15,6 +15,6 @@ Vue.component("iconfont", iconfont);
|
|||
App.mpType = 'app';
|
||||
|
||||
const app = new Vue({
|
||||
...App
|
||||
...App
|
||||
});
|
||||
app.$mount();
|
||||
22
pages.json
22
pages.json
|
|
@ -281,7 +281,7 @@
|
|||
{
|
||||
"path": "pages/user-answers-detail/user-answers-detail",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -301,7 +301,7 @@
|
|||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"navigationBarTitleText": "限时秒杀"
|
||||
|
|
@ -313,7 +313,7 @@
|
|||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -341,7 +341,7 @@
|
|||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -358,7 +358,7 @@
|
|||
{
|
||||
"path": "user/user",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -421,7 +421,7 @@
|
|||
"pages": [{
|
||||
"path": "user/user",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -540,7 +540,7 @@
|
|||
"pages": [{
|
||||
"path": "user/user",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -550,7 +550,7 @@
|
|||
{
|
||||
"path": "recharge/recharge",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": false,
|
||||
|
|
@ -699,7 +699,7 @@
|
|||
{
|
||||
"path": "index-detail/index-detail",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -734,7 +734,7 @@
|
|||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
@ -984,7 +984,7 @@
|
|||
"pages": [{
|
||||
"path": "index/index",
|
||||
"style": {
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || H5 || APP
|
||||
// #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU || APP
|
||||
"navigationStyle": "custom",
|
||||
// #endif
|
||||
"enablePullDownRefresh": true,
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
<view :class="'category-content bs-bb pr ' + (category_show_level == 0 ? 'goods-model' : '')" :style="'height:calc(100vh - ' + search_height + 'px);'">
|
||||
<block v-if="category_show_level == 1">
|
||||
<!-- 一级模式 -->
|
||||
<scroll-view scroll-y class="ht-auto" show-scrollbar="false">
|
||||
<scroll-view scroll-y class="ht-auto" :show-scrollbar="false">
|
||||
<view class="model-one padding-sm oh flex-row flex-warp">
|
||||
<block v-for="(item, index) in category_list" :key="index">
|
||||
<view class="content-item cp" :data-value="item.id" @tap="category_event">
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
<block v-if="category_show_level == 0">
|
||||
<!-- 一级导航 -->
|
||||
<view class="top-nav wh-auto pa scroll-view-horizontal bottom-0">
|
||||
<scroll-view :scroll-x="true" show-scrollbar="false" :scroll-with-animation="true" :scroll-into-view="'one-nav-item-' + nav_active_index" class="top-nav-scroll">
|
||||
<scroll-view :scroll-x="true" :show-scrollbar="false" :scroll-with-animation="true" :scroll-into-view="'one-nav-item-' + nav_active_index" class="top-nav-scroll">
|
||||
<block v-for="(item, index) in category_list" :key="index">
|
||||
<view class="item tc cp dis-inline-block text-size-xss" :id="'one-nav-item-' + index" :data-index="index" :data-itemtwoindex="-1" :data-itemthreeindex="-1" @tap="nav_event">
|
||||
<view :class="'icon-content circle br auto ' + (nav_active_index == index ? 'border-color-main' : '')">
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
</view>
|
||||
<!-- 二级导航 -->
|
||||
<view v-if="category_one_subset_count > 0" class="left-nav bg-white ht-auto">
|
||||
<scroll-view :scroll-y="true" show-scrollbar="false" class="ht-auto">
|
||||
<scroll-view :scroll-y="true" :show-scrollbar="false" class="ht-auto">
|
||||
<view :class="common_site_type != 1 ? 'left-content-actual ht-auto' : ''">
|
||||
<view class="left-content-actual-list ht-auto">
|
||||
<view :class="'text-size-sm item tc cr-base cp oh ' + (nav_active_item_two_index == -1 ? 'nav-active cr-main nav-left-border' : '')" :data-index="nav_active_index" :data-itemtwoindex="-1" :data-itemthreeindex="-1" @tap="nav_event">
|
||||
|
|
@ -92,11 +92,11 @@
|
|||
</view>
|
||||
<!-- 商品列表 -->
|
||||
<view :class="'goods-right-content pa bs-bb ' + (category_one_subset_count > 0 ? '' : 'category-one-subset-content')">
|
||||
<scroll-view :scroll-y="true" show-scrollbar="false" class="ht-auto goods-list" :scroll-top="scroll_top" @scroll="scroll_event" @scrolltolower="scroll_lower" lower-threshold="60">
|
||||
<scroll-view :scroll-y="true" :show-scrollbar="false" class="ht-auto goods-list" :scroll-top="scroll_top" @scroll="scroll_event" @scrolltolower="scroll_lower" lower-threshold="60">
|
||||
<view class="padding-top-main padding-left-sm" :class="(common_site_type != 1 ? 'right-content-actual' : '') + ' pr'">
|
||||
<!-- 三级导航 -->
|
||||
<view v-if="(data_three_content || null) != null && (data_three_content.items || null) != null && data_three_content.items.length > 0" class="word-list scroll-view-horizontal">
|
||||
<scroll-view :scroll-x="true" show-scrollbar="false" :scroll-with-animation="true" :scroll-into-view="'three-nav-item-' + nav_active_item_three_index">
|
||||
<scroll-view :scroll-x="true" :show-scrollbar="false" :scroll-with-animation="true" :scroll-into-view="'three-nav-item-' + nav_active_item_three_index">
|
||||
<view
|
||||
:class="'word-icon dis-inline-block text-size-xs round padding-top-xs padding-bottom-xs padding-left padding-right ' + (nav_active_item_three_index == -1 ? 'bg-main-light br-main-light cr-main' : 'br-grey cr-grey')"
|
||||
:data-index="nav_active_index"
|
||||
|
|
@ -185,7 +185,7 @@
|
|||
<block v-else>
|
||||
<!-- 一级导航 -->
|
||||
<view class="left-nav bg-white ht-auto">
|
||||
<scroll-view :scroll-y="true" class="ht-auto" show-scrollbar="false">
|
||||
<scroll-view :scroll-y="true" class="ht-auto" :show-scrollbar="false">
|
||||
<view :class="common_site_type != 1 ? 'left-content-actual ht-auto' : ''">
|
||||
<view class="left-content-actual-list ht-auto padding-0">
|
||||
<block v-for="(item, index) in category_list" :key="index">
|
||||
|
|
@ -198,7 +198,7 @@
|
|||
</scroll-view>
|
||||
</view>
|
||||
<view class="right-container pa">
|
||||
<scroll-view :scroll-y="true" class="ht-auto bg-white" show-scrollbar="false">
|
||||
<scroll-view :scroll-y="true" class="ht-auto bg-white" :show-scrollbar="false">
|
||||
<!-- 一级内容基础容 -->
|
||||
<view v-if="(data_content || null) != null" class="oh">
|
||||
<view class="padding-top-main padding-horizontal-main">
|
||||
|
|
@ -294,7 +294,7 @@
|
|||
<text class="cr-red va-m text-size-xs">清空</text>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view :scroll-y="true" class="cart-list goods-list" show-scrollbar="false">
|
||||
<scroll-view :scroll-y="true" class="cart-list goods-list" :show-scrollbar="false">
|
||||
<view v-for="(goods, index) in cart.data" :key="index" class="item padding-main oh spacing-mb">
|
||||
<navigator :url="goods.goods_url" hover-class="none">
|
||||
<image :src="goods.images" mode="widthFix" class="goods-img radius fl br"></image>
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
}
|
||||
|
||||
.scroll-box {
|
||||
height: calc(100vh - 166rpx - var(--status-bar-height) + 20rpx);
|
||||
height: calc(100vh - 194rpx - var(--status-bar-height) - 5px);
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 166rpx);
|
||||
height: calc(100vh - 170rpx);
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,50 +1,47 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="bg-white padding-horizontal-main padding-top-main" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;'">
|
||||
<view class="flex-row align-c spacing-mb">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back margin-right-main round va-m">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<view :class="status_bar_height > 0 ? 'top-search-width' : 'flex-1 flex-width'">
|
||||
<component-nav-back :prop-fixed="false" prop-class="bg-white" prop-color="#333">
|
||||
<template slot="right" :class="status_bar_height > 0 ? 'top-search-width' : ''">
|
||||
<view class="margin-left-main" :class="status_bar_height > 0 ? '' : 'flex-1 flex-width'">
|
||||
<component-search @onsearch="search_button_event" propIsOnEvent :propIsRequired="false" propIconColor="#ccc" propPlaceholderClass="cr-grey-c" propBgColor="#f6f6f6"></component-search>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="nav_list.length > 0" class="answers-type flex-row jc-sa align-c">
|
||||
<view v-for="(item, index) in nav_list" :key="index" class="flex-1 padding-vertical-sm tc" :class="nav_index === index ? 'cr-main fw-b nav-active-line' : 'cr-base'" :data-index="index" :data-type="item.type" @tap="nav_change_event">{{ item.name }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view :scroll-y="true" class="scroll-box page-bottom-fixed" @scrolltolower="scroll_lower" lower-threshold="60">
|
||||
<view v-if="data_list.length > 0" class="padding-horizontal-main padding-top-main">
|
||||
<block v-for="(item, index) in data_list" :key="index">
|
||||
<navigator :url="'/pages/plugins/answers/detail/detail?id=' + item.id" hover-class="none" class="padding-main border-radius-main bg-white oh spacing-mb flex-row">
|
||||
<view v-if="nav_index === 1">
|
||||
<view class="answers-hot border-radius-sm tc margin-right-sm va-m pr top-md" :class="index < 3 ? 'cr-white text-size-xs hot-bg-' + index : 'text-size-md'">{{ index + 1 }}</view>
|
||||
</view>
|
||||
<view class="flex-1 flex-width">
|
||||
<view class="title text-size fw-b">{{ item.title }}</view>
|
||||
<view class="content cr-base margin-top-sm padding-top-xs multi-text">{{ item.content }}</view>
|
||||
<view class="status flex-row align-c spacing-mt text-size-xs">
|
||||
<view v-if="nav_index !== 1" class="answers-status cr-white border-radius-sm text-size-xss" :class="item.is_reply === '1' ? 'answers-bg-green' : 'answers-bg-yellow'">{{ item.is_reply === '1' ? '已回' : '未回' }}</view>
|
||||
<view class="num cr-grey-9 flex-row self-c">
|
||||
{{ item.add_time_date }}
|
||||
<view class="fw-b padding-horizontal-xs">·</view>
|
||||
{{ item.access_count || '0' }}浏览
|
||||
</template>
|
||||
<template slot="content">
|
||||
<view v-if="nav_list.length > 0" class="answers-type flex-row jc-sa align-c">
|
||||
<view v-for="(item, index) in nav_list" :key="index" class="flex-1 padding-vertical-sm tc" :class="nav_index === index ? 'cr-main fw-b nav-active-line' : 'cr-base'" :data-index="index" :data-type="item.type" @tap="nav_change_event">{{ item.name }}</view>
|
||||
</view>
|
||||
</template>
|
||||
</component-nav-back>
|
||||
<scroll-view :scroll-y="true" class="scroll-box" @scrolltolower="scroll_lower" lower-threshold="60">
|
||||
<view class="page-bottom-fixed">
|
||||
<view v-if="data_list.length > 0" class="padding-horizontal-main padding-top-main">
|
||||
<block v-for="(item, index) in data_list" :key="index">
|
||||
<navigator :url="'/pages/plugins/answers/detail/detail?id=' + item.id" hover-class="none" class="padding-main border-radius-main bg-white oh spacing-mb flex-row">
|
||||
<view v-if="nav_index === 1">
|
||||
<view class="answers-hot border-radius-sm tc margin-right-sm va-m pr top-md" :class="index < 3 ? 'cr-white text-size-xs hot-bg-' + index : 'text-size-md'">{{ index + 1 }}</view>
|
||||
</view>
|
||||
<view class="flex-1 flex-width">
|
||||
<view class="title text-size fw-b">{{ item.title }}</view>
|
||||
<view class="content cr-base margin-top-sm padding-top-xs multi-text">{{ item.content }}</view>
|
||||
<view class="status flex-row align-c spacing-mt text-size-xs">
|
||||
<view v-if="nav_index !== 1" class="answers-status cr-white border-radius-sm text-size-xss" :class="item.is_reply === '1' ? 'answers-bg-green' : 'answers-bg-yellow'">{{ item.is_reply === '1' ? '已回' : '未回' }}</view>
|
||||
<view class="num cr-grey-9 flex-row self-c">
|
||||
{{ item.add_time_date }}
|
||||
<view class="fw-b padding-horizontal-xs">·</view>
|
||||
{{ item.access_count || '0' }}浏览
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</navigator>
|
||||
</block>
|
||||
</navigator>
|
||||
</block>
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status"></component-no-data>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status"></component-no-data>
|
||||
</view>
|
||||
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
</scroll-view>
|
||||
<view class="bottom-fixed answers-btn-content">
|
||||
<view class="flex-row jc-sa align-c text-size fw-b bottom-line-exclude">
|
||||
|
|
@ -66,6 +63,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '@/components/no-data/no-data';
|
||||
import componentBottomLine from '@/components/bottom-line/bottom-line';
|
||||
import componentSearch from '@/components/search/search';
|
||||
|
|
@ -74,8 +72,6 @@
|
|||
data() {
|
||||
return {
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
data_list: [],
|
||||
data_total: 0,
|
||||
data_page_total: 0,
|
||||
|
|
@ -93,6 +89,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentBottomLine,
|
||||
componentSearch,
|
||||
|
|
@ -170,36 +167,28 @@
|
|||
success: (res) => {
|
||||
uni.stopPullDownRefresh();
|
||||
if (res.data.code == 0) {
|
||||
if (res.data.data.data.length > 0) {
|
||||
if (this.data_page <= 1) {
|
||||
var temp_data_list = res.data.data.data;
|
||||
} else {
|
||||
var temp_data_list = this.data_list || [];
|
||||
var temp_data = res.data.data.data;
|
||||
for (var i in temp_data) {
|
||||
temp_data_list.push(temp_data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
data_list: temp_data_list,
|
||||
data_total: res.data.data.total,
|
||||
data_page_total: res.data.data.page_total,
|
||||
data_list_loding_status: 3,
|
||||
data_page: this.data_page + 1,
|
||||
data_is_loading: 0,
|
||||
});
|
||||
|
||||
// 是否还有数据
|
||||
this.setData({
|
||||
data_bottom_line_status: this.data_page > 1 && this.data_page > this.data_page_total,
|
||||
});
|
||||
if (this.data_page <= 1) {
|
||||
var temp_data_list = res.data.data.data;
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
data_is_loading: 0,
|
||||
});
|
||||
var temp_data_list = this.data_list || [];
|
||||
var temp_data = res.data.data.data;
|
||||
for (var i in temp_data) {
|
||||
temp_data_list.push(temp_data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
data_list: temp_data_list,
|
||||
data_total: res.data.data.total,
|
||||
data_page_total: res.data.data.page_total,
|
||||
data_list_loding_status: temp_data_list.length > 0 ? 3 : 0,
|
||||
data_page: this.data_page + 1,
|
||||
data_is_loading: 0,
|
||||
});
|
||||
// 是否还有数据
|
||||
this.setData({
|
||||
data_bottom_line_status: this.data_page > 1 && this.data_page > this.data_page_total,
|
||||
});
|
||||
} else {
|
||||
this.setData({
|
||||
data_list_loding_status: 0,
|
||||
|
|
@ -211,6 +200,7 @@
|
|||
}
|
||||
},
|
||||
fail: () => {
|
||||
console.log(';123');
|
||||
uni.stopPullDownRefresh();
|
||||
this.setData({
|
||||
data_list_loding_status: 2,
|
||||
|
|
@ -248,17 +238,6 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
nav_change_event(e) {
|
||||
// 索引值
|
||||
var index = e.currentTarget.dataset.index || 0;
|
||||
|
|
|
|||
|
|
@ -1,38 +1,32 @@
|
|||
<template>
|
||||
<view class="pr" v-if="(data_base || null) != null">
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<view class="text-size flex-1 tc pa left-0 right-0 padding-top-xs" :style="'color:rgba(51,51,51,' + opacity + ')'">{{ data_base.application_name || '领券中心' }}</view>
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event" class="pr z-i"></iconfont>
|
||||
<view>
|
||||
<component-nav-back :prop-name="data_base.application_name || '领券中心'"></component-nav-back>
|
||||
<view class="pr" v-if="(data_base || null) != null">
|
||||
<view class="pa top-0 bg-img wh-auto">
|
||||
<image v-if="(data_base || null) != null" class="wh-auto dis-block" :src="data_base.app_banner_images || coupon_static_url + 'coupon-bg.png'" mode="widthFix" :data-value="data_base.url || ''" @tap="url_event"></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view class="pa top-0 bg-img wh-auto">
|
||||
<image v-if="(data_base || null) != null" class="wh-auto dis-block" :src="data_base.app_banner_images || coupon_static_url + 'coupon-bg.png'" mode="widthFix" :data-value="data_base.url || ''" @tap="url_event"></image>
|
||||
</view>
|
||||
<view class="plugins-coupon-container">
|
||||
<view class="coupon-content bg-white pr page-bottom-fixed">
|
||||
<!-- 优惠劵列表 -->
|
||||
<view v-if="data_list.length > 0" class="flex-col">
|
||||
<block v-for="(item, index) in data_list" :key="index">
|
||||
<component-coupon-card :prop-data="item" :prop-status-type="item.status_type" :prop-status-operable-name="item.status_operable_name" :prop-index="index" propIsProgress @call-back="coupon_receive_event"></component-coupon-card>
|
||||
</block>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
|
||||
</view>
|
||||
<view class="plugins-coupon-container">
|
||||
<view class="coupon-content bg-white pr page-bottom-fixed">
|
||||
<!-- 优惠劵列表 -->
|
||||
<view v-if="data_list.length > 0" class="flex-col">
|
||||
<block v-for="(item, index) in data_list" :key="index">
|
||||
<component-coupon-card :prop-data="item" :prop-status-type="item.status_type" :prop-status-operable-name="item.status_operable_name" :prop-index="index" propIsProgress @call-back="coupon_receive_event"></component-coupon-card>
|
||||
</block>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
|
||||
</view>
|
||||
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="popup-bottom bottom-fixed bg-white">
|
||||
<view class="bottom-line-exclude">
|
||||
<view class="popup-btn tc">
|
||||
<navigator url="/pages/plugins/coupon/user/user" hover-class="none">我的优惠券</navigator>
|
||||
<view class="popup-bottom bottom-fixed bg-white">
|
||||
<view class="bottom-line-exclude">
|
||||
<view class="popup-btn tc">
|
||||
<navigator url="/pages/plugins/coupon/user/user" hover-class="none">我的优惠券</navigator>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -40,6 +34,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
import componentBottomLine from '../../../../components/bottom-line/bottom-line';
|
||||
import componentCouponCard from '@/components/coupon-card/coupon-card.vue';
|
||||
|
|
@ -48,11 +43,6 @@
|
|||
data() {
|
||||
return {
|
||||
coupon_static_url: coupon_static_url + 'app/',
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
|
|
@ -67,6 +57,7 @@
|
|||
};
|
||||
},
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentBottomLine,
|
||||
componentCouponCard,
|
||||
|
|
@ -236,24 +227,9 @@
|
|||
app.globalData.url_event(e);
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
<template>
|
||||
<view class="pr">
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<component-nav-back></component-nav-back>
|
||||
<view v-if="(data_base || null) != null" class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<!-- 头部背景 -->
|
||||
|
|
@ -205,6 +198,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
import componentPopup from '../../../../components/popup/popup';
|
||||
var currency_symbol = app.globalData.currency_symbol();
|
||||
|
|
@ -212,11 +206,6 @@
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
distribution_static_url: distribution_static_url,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
|
|
@ -246,6 +235,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentPopup,
|
||||
},
|
||||
|
|
@ -480,24 +470,9 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -29,6 +29,13 @@
|
|||
/**
|
||||
* 等级介绍
|
||||
*/
|
||||
.head-top {
|
||||
padding-top: calc(94rpx + var(--status-bar-height) + 5px);
|
||||
/* #ifdef H5 */
|
||||
padding-top: 94rpx;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.data-list .item {
|
||||
width: calc(100% / 3);
|
||||
margin-bottom: 20rpx;
|
||||
|
|
|
|||
|
|
@ -1,63 +1,58 @@
|
|||
<template>
|
||||
<view class="bg-white">
|
||||
<view v-if="(data_base || null) != null" class="oh wh-auto">
|
||||
<image :src="membership_level_vip + 'bg.png'" mode="widthFix" class="vip-bg"></image>
|
||||
<view class="banner oh pa top-0 pa-w wh-auto" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-top-sm round va-m cr-white">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<view class="tc">
|
||||
<image :src="membership_level_vip + 'title.png'" mode="widthFix" class="title-img"></image>
|
||||
<!-- 标题 -->
|
||||
<view v-if="(data_base.banner_top_title || null) != null" class="banner-title single-text text-size-lg margin-top-xxxl"> {{ data_base.banner_top_title }}123 </view>
|
||||
<!-- 购买按钮 -->
|
||||
<navigator url="/pages/plugins/membershiplevelvip/buy/buy" hover-class="none" class="dis-inline">
|
||||
<button class="banner-buy fw-b round margin-top-xxxl" hover-class="none" :style="join_vip_btn">
|
||||
{{ data_base.banner_middle_name || '加入会员' }}
|
||||
</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 介绍列表 -->
|
||||
<view v-if="(introduce_data || null) != null && introduce_data.length > 0" class="data-list oh flex-row jc-sa align-c">
|
||||
<block v-for="(item, index) in introduce_data" :key="index">
|
||||
<view class="item tc bg-white">
|
||||
<image class="dis-block auto" :src="item.images_url" mode="scaleToFill"></image>
|
||||
<view class="single-text text-size margin-top-main">{{ item.name }}</view>
|
||||
<view class="multi-text cr-grey-c text-size-xs margin-top-xs">{{ item.desc }}</view>
|
||||
<view>
|
||||
<component-nav-back></component-nav-back>
|
||||
<view v-if="(data_base || null) != null" class="bg-white">
|
||||
<view class="pr wh-auto oh">
|
||||
<image :src="membership_level_vip + 'bg.png'" mode="widthFix" class="vip-bg"></image>
|
||||
<view class="banner oh pa top-0 pa-w wh-auto head-top">
|
||||
<view class="tc">
|
||||
<image :src="membership_level_vip + 'title.png'" mode="widthFix" class="title-img"></image>
|
||||
<!-- 标题 -->
|
||||
<view v-if="(data_base.banner_top_title || null) != null" class="banner-title single-text text-size-lg margin-top-xxxl"> {{ data_base.banner_top_title }}123 </view>
|
||||
<!-- 购买按钮 -->
|
||||
<navigator url="/pages/plugins/membershiplevelvip/buy/buy" hover-class="none" class="dis-inline">
|
||||
<button class="banner-buy fw-b round margin-top-xxxl" hover-class="none" :style="join_vip_btn">
|
||||
{{ data_base.banner_middle_name || '加入会员' }}
|
||||
</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 介绍列表 -->
|
||||
<view v-if="(introduce_data || null) != null && introduce_data.length > 0" class="data-list oh flex-row jc-sa align-c">
|
||||
<block v-for="(item, index) in introduce_data" :key="index">
|
||||
<view class="item tc bg-white">
|
||||
<image class="dis-block auto" :src="item.images_url" mode="scaleToFill"></image>
|
||||
<view class="single-text text-size margin-top-main">{{ item.name }}</view>
|
||||
<view class="multi-text cr-grey-c text-size-xs margin-top-xs">{{ item.desc }}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 富文本 -->
|
||||
<view v-if="(data_base.banner_bottom_content || null) != null" class="padding-main spacing-mt">
|
||||
<view class="border-radius-main bg-white oh">
|
||||
<mp-html :content="data_base.banner_bottom_content" />
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 富文本 -->
|
||||
<view v-if="(data_base.banner_bottom_content || null) != null" class="padding-main spacing-mt">
|
||||
<view class="border-radius-main bg-white oh">
|
||||
<mp-html :content="data_base.banner_bottom_content" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
|
||||
</view>
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
import componentBottomLine from '../../../../components/bottom-line/bottom-line';
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '@/components/no-data/no-data';
|
||||
import componentBottomLine from '@/components/bottom-line/bottom-line';
|
||||
let membership_level_vip = app.globalData.get_static_url('membershiplevelvip', true);
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
membership_level_vip: membership_level_vip + 'app/',
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
|
|
@ -70,6 +65,7 @@
|
|||
};
|
||||
},
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentBottomLine,
|
||||
},
|
||||
|
|
@ -87,6 +83,7 @@
|
|||
// 获取数据
|
||||
this.get_data_list();
|
||||
},
|
||||
|
||||
// 获取数据
|
||||
get_data_list() {
|
||||
uni.showLoading({
|
||||
|
|
@ -157,15 +154,10 @@
|
|||
},
|
||||
});
|
||||
},
|
||||
top_nav_left_back_event() {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m cr-black">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<component-nav-back prop-color="#333"></component-nav-back>
|
||||
<view v-if="(data_base || null) != null" class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<!-- 头部背景 -->
|
||||
|
|
@ -181,6 +174,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
var membershiplevelvip_static_url = app.globalData.get_static_url('membershiplevelvip', true) + 'app/';
|
||||
|
||||
|
|
@ -188,11 +182,6 @@
|
|||
data() {
|
||||
return {
|
||||
membershiplevelvip_static_url: membershiplevelvip_static_url,
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
|
|
@ -208,6 +197,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
},
|
||||
props: {},
|
||||
|
|
@ -373,24 +363,9 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,6 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m flex-row" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
<text class="text-size flex-1 tc">积分</text>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<component-nav-back prop-name="积分"></component-nav-back>
|
||||
<view v-if="(data_base || null) != null" class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<!-- 广告图片 -->
|
||||
|
|
@ -120,6 +112,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
import componentBottomLine from '../../../../components/bottom-line/bottom-line';
|
||||
import componentGoodsList from '../../../../components/goods-list/goods-list';
|
||||
|
|
@ -130,11 +123,6 @@
|
|||
data() {
|
||||
return {
|
||||
points_static_url: points_static_url,
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
data_bottom_line_status: false,
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
|
|
@ -165,6 +153,7 @@
|
|||
};
|
||||
},
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentBottomLine,
|
||||
componentGoodsList,
|
||||
|
|
@ -376,24 +365,9 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -108,16 +108,16 @@
|
|||
* 中间内容
|
||||
*/
|
||||
.content {
|
||||
height: calc(100vh - 334rpx);
|
||||
/* #ifdef H5 || APP */
|
||||
/* height: calc(100vh - 505rpx); */
|
||||
height: calc(100vh - 384rpx);
|
||||
height: calc(100vh - 382rpx - var(--status-bar-height) - 5px);
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 358rpx);
|
||||
/* #endif */
|
||||
/* #ifdef MP-ALIPAY || MP-TOUTIAO */
|
||||
height: calc(100vh - 294rpx);
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-KUAISHOU */
|
||||
height: calc(100vh - 454rpx);
|
||||
}
|
||||
|
||||
.content.content-tablecode {
|
||||
height: calc(100vh - 426rpx - var(--status-bar-height) - 5px);
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 402rpx);
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,43 +1,39 @@
|
|||
<template>
|
||||
<view>
|
||||
<!-- 头部 -->
|
||||
<view class="header pr z-i">
|
||||
<component-nav-back :prop-fixed="false" prop-color="#333">
|
||||
<template slot="right" :class="status_bar_height > 0 ? 'top-search-width' : 'flex-1 flex-width'">
|
||||
<view :class="'va-m padding-left-main ' + (is_realstore_top_nav_back == 1 ? 'nav-search' : 'wh-auto')">
|
||||
<!-- #ifndef H5 -->
|
||||
<component-search
|
||||
@onsearch="search_button_event"
|
||||
@onicon="search_icon_event"
|
||||
:propIsIconOnEvent="is_realstore_top_search_scan == 1"
|
||||
:propIsOnEvent="true"
|
||||
:propIsRequired="false"
|
||||
:propIcon="is_realstore_top_search_scan == 1 ? 'icon-mendian-sousuosm' : 'icon-qiandao-dqxz'"
|
||||
propPlaceholderClass="cr-grey-c"
|
||||
propBgColor="#fff"
|
||||
propIconColor="#333"
|
||||
propPlaceholder="商品搜索"
|
||||
></component-search>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<component-search @onsearch="search_button_event" :propIsRequired="false" propIconColor="#333" propPlaceholderClass="cr-grey-c" propPlaceholder="商品搜索" propBgColor="#fff"></component-search>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</template>
|
||||
<template slot="content">
|
||||
<!-- 桌码 -->
|
||||
<view v-if="(tablecode || null) != null" class="tablecode dis-inline-block margin-left-main round cr-red"> {{ tablecode.name }}({{ tablecode.code }}) </view>
|
||||
</template>
|
||||
</component-nav-back>
|
||||
</view>
|
||||
<view v-if="(info || null) != null" class="pr">
|
||||
<view class="pr">
|
||||
<!-- 头部背景 -->
|
||||
<image :src="info.banner" mode="widthFix" class="wh-auto pa left-0 right-0" />
|
||||
<!-- 头部 -->
|
||||
<view class="header pr z-i">
|
||||
<!-- 顶部 -->
|
||||
<view v-if="is_single_page == 0" class="header-top padding-horizontal-main flex-row align-c" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back dis-inline-block round tc va-m">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" color="#333" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- 搜索 -->
|
||||
<view :class="'va-m padding-left-main ' + (is_realstore_top_nav_back == 1 ? 'nav-search' : 'wh-auto')">
|
||||
<!-- #ifndef H5 -->
|
||||
<component-search
|
||||
@onsearch="search_button_event"
|
||||
@onicon="search_icon_event"
|
||||
:propIsIconOnEvent="is_realstore_top_search_scan == 1"
|
||||
:propIsOnEvent="true"
|
||||
:propIsRequired="false"
|
||||
:propIcon="is_realstore_top_search_scan == 1 ? 'icon-mendian-sousuosm' : 'icon-qiandao-dqxz'"
|
||||
propPlaceholderClass="cr-grey-c"
|
||||
propBgColor="#fff"
|
||||
propIconColor="#333"
|
||||
propPlaceholder="商品搜索"
|
||||
></component-search>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<component-search @onsearch="search_button_event" :propIsRequired="false" propIconColor="#333" propPlaceholderClass="cr-grey-c" propPlaceholder="商品搜索" propBgColor="#fff"></component-search>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- 桌码 -->
|
||||
<view v-if="(tablecode || null) != null" class="tablecode dis-inline-block margin-left-main round cr-red"> {{ tablecode.name }}({{ tablecode.code }}) </view>
|
||||
</view>
|
||||
<!-- 头部基础内容 -->
|
||||
<view class="header-content padding-horizontal-main">
|
||||
<view class="padding-main border-radius-main bg-white pr box-shadow z-i-deep">
|
||||
|
|
@ -121,7 +117,7 @@
|
|||
</view>
|
||||
|
||||
<!-- 内容 -->
|
||||
<view class="content oh bg-white pr flex-row jc-sb">
|
||||
<view class="content oh bg-white pr flex-row jc-sb" :class="(tablecode || null) === null ? '' : 'content-tablecode'">
|
||||
<!-- 左侧 -->
|
||||
<scroll-view :scroll-y="true" class="left-content ht-auto bg-base">
|
||||
<view class="left-content-actual text-size-xs">
|
||||
|
|
@ -300,6 +296,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import base64 from '../../../../common/js/lib/base64.js';
|
||||
import componentGoodsBuy from '../../../../components/goods-buy/goods-buy';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
|
|
@ -368,6 +365,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentGoodsBuy,
|
||||
componentNoData,
|
||||
componentSearch,
|
||||
|
|
@ -1283,18 +1281,6 @@
|
|||
this.get_data_list();
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 地址信息初始化
|
||||
user_location_init() {
|
||||
var result = uni.getStorageSync(app.globalData.data.cache_userlocation_key) || null;
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@
|
|||
</view>
|
||||
|
||||
<!-- 图标 -->
|
||||
<view v-if="icon_list.length > 0" class="padding-horizontal-main">
|
||||
<view v-if="icon_list.length > 0" class="padding-horizontal-main spacing-mb">
|
||||
<view class="bg-white border-radius-main">
|
||||
<component-icon-nav :propData="icon_list" class="spacing-mb"></component-icon-nav>
|
||||
<component-icon-nav :propData="icon_list"></component-icon-nav>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,10 @@
|
|||
width: 142rpx;
|
||||
}
|
||||
|
||||
.seckill-right-title {
|
||||
padding-right: 40rpx;
|
||||
}
|
||||
|
||||
.nav_seckill .item {
|
||||
width: 176rpx;
|
||||
padding: 26rpx 0;
|
||||
|
|
@ -56,8 +60,8 @@
|
|||
* 内容
|
||||
*/
|
||||
.scroll-y {
|
||||
height: calc(100vh - 198rpx - var(--window-top) - 5px);
|
||||
height: calc(100vh - 258rpx - var(--status-bar-height) - 5px);
|
||||
/* #ifdef H5 */
|
||||
height: calc(100vh - 198rpx - 10px);
|
||||
height: calc(100vh - 234rpx);
|
||||
/* #endif */
|
||||
}
|
||||
|
|
@ -1,16 +1,12 @@
|
|||
<template>
|
||||
<view>
|
||||
<view v-if="(data_base || null) != null">
|
||||
<view :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;' + seckill_bg">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-top-sm round va-m cr-white flex-row">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
<view class="flex-1 tc">
|
||||
<image :src="seckill_title_url" mode="widthFix" class="title pr top-sm"></image>
|
||||
</view>
|
||||
<component-nav-back :prop-fixed="false" :prop-style="seckill_bg">
|
||||
<template slot="right" class="flex-1 flex-width seckill-right-title">
|
||||
<view class="flex-1 seckill-right-title tc">
|
||||
<image :src="seckill_title_url" mode="widthFix" class="title pr top-md"></image>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</template>
|
||||
<template v-if="periods_list.length > 0" slot="content">
|
||||
<!-- 秒杀时段 -->
|
||||
<scroll-view :scroll-x="true" :scroll-with-animation="true" :scroll-into-view="'one-nav-item-' + nav_active_index" class="top-nav-scroll wh-auto">
|
||||
<view class="nav_seckill flex-row flex-nowrap cr-white tc">
|
||||
|
|
@ -20,46 +16,46 @@
|
|||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<scroll-view :scroll-top="scroll_top" scroll-y="true" class="scroll-y" @scroll="scroll_event">
|
||||
<view class="padding-horizontal-main padding-top-main">
|
||||
<!-- 基础信息、倒计时 -->
|
||||
<view class="oh spacing-mb flex-row jc-sb align-c">
|
||||
<view>
|
||||
<text :class="'va-m text-size-xs fw-b cr-blak ' + (is_valid == 1 ? 'cr-base' : 'cr-red')">{{ time_first_text }}</text>
|
||||
<view v-if="is_valid == 1" class="dis-inline-block va-m margin-left-sm">
|
||||
<component-countdown :propHour="time.hours" :propMinute="time.minutes" :propSecond="time.seconds" :prop-time-background-color="seckill_status === 1 ? '#E22C08' : '#333333'"></component-countdown>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="(data_base.content_notice || null) != null && data_base.content_notice.length > 0" class="text-size-xs cr-blak" @tap="quick_open_event">
|
||||
活动规则
|
||||
<iconfont name="icon-miaosha-hdgz" size="26rpx" class="margin-left-xs pr top-xs" color="#999"></iconfont>
|
||||
</template>
|
||||
</component-nav-back>
|
||||
<scroll-view v-if="periods_list.length > 0" :scroll-top="scroll_top" scroll-y="true" class="scroll-y" @scroll="scroll_event">
|
||||
<view class="padding-horizontal-main padding-top-main">
|
||||
<!-- 基础信息、倒计时 -->
|
||||
<view class="oh spacing-mb flex-row jc-sb align-c">
|
||||
<view>
|
||||
<text :class="'va-m text-size-xs fw-b cr-blak ' + (is_valid == 1 ? 'cr-base' : 'cr-red')">{{ time_first_text }}</text>
|
||||
<view v-if="is_valid == 1" class="dis-inline-block va-m margin-left-sm">
|
||||
<component-countdown :propHour="time.hours" :propMinute="time.minutes" :propSecond="time.seconds" :prop-time-background-color="seckill_status === 1 ? '#E22C08' : '#333333'"></component-countdown>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 商品 -->
|
||||
<view v-if="goods.length > 0">
|
||||
<component-goods-list :propData="{ style_type: 1, goods_list: goods }" :propCurrencySymbol="currency_symbol" :prop-grid-btn-config="grid_btn_config" :prop-is-open-grid-btn-set="isOpenGridBtnSet" propPriceField="seckill_min_price"></component-goods-list>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data propStatus="0" propMsg="没有相关商品"></component-no-data>
|
||||
<view v-if="(data_base.content_notice || null) != null && data_base.content_notice.length > 0" class="text-size-xs cr-blak" @tap="quick_open_event">
|
||||
活动规则
|
||||
<iconfont name="icon-miaosha-hdgz" size="26rpx" class="margin-left-xs pr top-xs" color="#999"></iconfont>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
<!-- 弹窗 -->
|
||||
<component-popup v-if="(data_base.content_notice || null) != null && data_base.content_notice.length > 0" :propShow="popup_status" :propIsBar="propIsBar" propPosition="bottom" @onclose="quick_close_event">
|
||||
<view class="rule">
|
||||
<view class="title cr-black text-size-md fw-b margin-bottom-main tc">活动规则</view>
|
||||
<scroll-view :scroll-y="true" class="item">
|
||||
<view v-for="(item, index) in data_base.content_notice" :key="index" class="cr-grey text-size-md">{{ item }}</view>
|
||||
</scroll-view>
|
||||
<button type="default" class="bg-main cr-white round text-size-md pa bottom-0 left-0 right-0" @tap="quick_close_event">知道了</button>
|
||||
</view>
|
||||
</component-popup>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
<!-- 商品 -->
|
||||
<view v-if="goods.length > 0">
|
||||
<component-goods-list :propData="{ style_type: 1, goods_list: goods }" :propCurrencySymbol="currency_symbol" :prop-grid-btn-config="grid_btn_config" :prop-is-open-grid-btn-set="isOpenGridBtnSet" propPriceField="seckill_min_price"></component-goods-list>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data propStatus="0" propMsg="没有相关商品"></component-no-data>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 结尾 -->
|
||||
<component-bottom-line :propStatus="data_bottom_line_status"></component-bottom-line>
|
||||
<!-- 弹窗 -->
|
||||
<component-popup v-if="(data_base.content_notice || null) != null && data_base.content_notice.length > 0" :propShow="popup_status" :propIsBar="propIsBar" propPosition="bottom" @onclose="quick_close_event">
|
||||
<view class="rule">
|
||||
<view class="title cr-black text-size-md fw-b margin-bottom-main tc">活动规则</view>
|
||||
<scroll-view :scroll-y="true" class="item">
|
||||
<view v-for="(item, index) in data_base.content_notice" :key="index" class="cr-grey text-size-md">{{ item }}</view>
|
||||
</scroll-view>
|
||||
<button type="default" class="bg-main cr-white round text-size-md pa bottom-0 left-0 right-0" @tap="quick_close_event">知道了</button>
|
||||
</view>
|
||||
</component-popup>
|
||||
</scroll-view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
|
||||
|
|
@ -68,6 +64,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentCountdown from '../../../../components/countdown/countdown';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
import componentBottomLine from '../../../../components/bottom-line/bottom-line';
|
||||
|
|
@ -80,7 +77,7 @@
|
|||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
seckill_bg: 'background: url(' + seckill_static_url + 'app/header-bg.png) top/100% no-repeat;',
|
||||
seckill_bg: 'background: url(' + seckill_static_url + 'app/header-bg.png) top/100% no-repeat;background-size:100% 100%;',
|
||||
seckill_title_url: seckill_static_url + 'seckill-title.png',
|
||||
scroll_top: 0,
|
||||
scroll_top_old: 0,
|
||||
|
|
@ -116,6 +113,7 @@
|
|||
};
|
||||
},
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentCountdown,
|
||||
componentNoData,
|
||||
componentBottomLine,
|
||||
|
|
@ -262,17 +260,6 @@
|
|||
popup_status: false,
|
||||
});
|
||||
},
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 重置滑动位置
|
||||
reset_scroll() {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
<template>
|
||||
<view class="signin-container">
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<component-nav-back></component-nav-back>
|
||||
<view v-if="(data || null) != null" class="pr signin-bg oh">
|
||||
<image :src="signin_static_url + 'signin-bg.png'" mode="widthFix" class="wh-auto"></image>
|
||||
<view class="signin-opration-group pa right-0 flex-col cr-white">
|
||||
|
|
@ -136,6 +129,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '../../../../components/no-data/no-data';
|
||||
import componentSharePopup from '../../../../components/share-popup/share-popup';
|
||||
var signin_static_url = app.globalData.get_static_url('signin', true) + 'app/';
|
||||
|
|
@ -143,11 +137,6 @@
|
|||
data() {
|
||||
return {
|
||||
signin_static_url: signin_static_url,
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
// 首页地址
|
||||
home_page_url: app.globalData.data.tabbar_pages[0],
|
||||
data_bottom_line_status: false,
|
||||
|
|
@ -180,6 +169,7 @@
|
|||
};
|
||||
},
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentSharePopup,
|
||||
},
|
||||
|
|
@ -444,24 +434,9 @@
|
|||
}
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,14 +1,6 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m flex-row" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
<text class="text-size flex-1 tc">充值</text>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<component-nav-back prop-name="充值"></component-nav-back>
|
||||
<view v-if="data.length > 0" class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<!-- 头部背景 -->
|
||||
|
|
@ -77,6 +69,7 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '@/components/no-data/no-data';
|
||||
import componentPayment from '@/components/payment/payment';
|
||||
var wallet_static_url = app.globalData.get_static_url('wallet', true) + 'app/';
|
||||
|
|
@ -85,11 +78,6 @@
|
|||
data() {
|
||||
return {
|
||||
wallet_static_url: wallet_static_url,
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
currency_symbol: app.globalData.data.currency_symbol,
|
||||
params: null,
|
||||
data_list_loding_status: 1,
|
||||
|
|
@ -116,6 +104,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentPayment,
|
||||
componentNoData,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,103 +1,99 @@
|
|||
<template>
|
||||
<view>
|
||||
<scroll-view :scroll-y="true" class="scroll-box" @scrolltolower="scroll_lower" lower-threshold="60" @scroll="scroll_event">
|
||||
<view class="page-bottom-fixed">
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<view v-if="(data_base || null) != null" class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<!-- 头部背景 -->
|
||||
<image :src="wallet_static_url + 'title-bg.png'" mode="widthFix" class="pa top-0 bg-img wh-auto wallet-bg" />
|
||||
<view class="pr padding-top-main">
|
||||
<!-- 钱包信息 -->
|
||||
<view class="padding-top-xxxl oh margin-top-main">
|
||||
<view class="wallet-head padding-horizontal-xxxl">
|
||||
<!-- 用户中心公告 -->
|
||||
<view v-if="(data_base.user_center_notice || null) != null && data_base.user_center_notice.length > 0">
|
||||
<uni-notice-bar class="padding-0" show-icon scrollable :text="data_base.user_center_notice.join('')" background-color="transparent" color="#fff" />
|
||||
</view>
|
||||
<view class="content oh cr-white pr filter-blur">
|
||||
<view class="pa content-padding-1 oh filter-blur-child">
|
||||
<image :src="wallet_static_url + 'wallet-bg.png'" mode="widthFix" class="wh-auto wallet-child-bg" />
|
||||
<component-nav-back prop-name="充值"></component-nav-back>
|
||||
<view v-if="(data_base || null) != null">
|
||||
<scroll-view :scroll-y="true" class="scroll-box" @scrolltolower="scroll_lower" lower-threshold="60" @scroll="scroll_event">
|
||||
<view class="page-bottom-fixed">
|
||||
<view class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<!-- 头部背景 -->
|
||||
<image :src="wallet_static_url + 'title-bg.png'" mode="widthFix" class="pa top-0 bg-img wh-auto wallet-bg" />
|
||||
<view class="pr padding-top-main">
|
||||
<!-- 钱包信息 -->
|
||||
<view class="padding-top-xxxl oh margin-top-main">
|
||||
<view class="wallet-head padding-horizontal-xxxl">
|
||||
<!-- 用户中心公告 -->
|
||||
<view v-if="(data_base.user_center_notice || null) != null && data_base.user_center_notice.length > 0">
|
||||
<uni-notice-bar class="padding-0" show-icon scrollable :text="data_base.user_center_notice.join('')" background-color="transparent" color="#fff" />
|
||||
</view>
|
||||
<view class="pr z-i flex-row jc-c">
|
||||
<view class="flex-1 flex-width">
|
||||
<view>有效(元)</view>
|
||||
<text class="fw-b effective">{{ is_price_show ? user_wallet.normal_money || '0.00' : '***' }}</text>
|
||||
<view class="flex-row jc-sb align-c margin-top-main">
|
||||
<view class="flex-1">
|
||||
<view class="tetx-size-xs">冻结(元)</view>
|
||||
<text class="freeze">{{ is_price_show ? user_wallet.frozen_money || '0.00' : '***' }}</text>
|
||||
</view>
|
||||
<view class="flex-1">
|
||||
<view class="tetx-size-xs">赠送(元)</view>
|
||||
<text class="give">{{ is_price_show ? user_wallet.give_money || '0.00' : '***' }}</text>
|
||||
<view class="content oh cr-white pr filter-blur">
|
||||
<view class="pa content-padding-1 oh filter-blur-child">
|
||||
<image :src="wallet_static_url + 'wallet-bg.png'" mode="widthFix" class="wh-auto wallet-child-bg" />
|
||||
</view>
|
||||
<view class="pr z-i flex-row jc-c">
|
||||
<view class="flex-1 flex-width">
|
||||
<view>有效(元)</view>
|
||||
<text class="fw-b effective">{{ is_price_show ? user_wallet.normal_money || '0.00' : '***' }}</text>
|
||||
<view class="flex-row jc-sb align-c margin-top-main">
|
||||
<view class="flex-1">
|
||||
<view class="tetx-size-xs">冻结(元)</view>
|
||||
<text class="freeze">{{ is_price_show ? user_wallet.frozen_money || '0.00' : '***' }}</text>
|
||||
</view>
|
||||
<view class="flex-1">
|
||||
<view class="tetx-size-xs">赠送(元)</view>
|
||||
<text class="give">{{ is_price_show ? user_wallet.give_money || '0.00' : '***' }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="is-price-show">
|
||||
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx" @tap="price_change"></iconfont>
|
||||
<view class="is-price-show">
|
||||
<iconfont :name="is_price_show ? 'icon-wodeqianbao-eye' : 'icon-wodeqianbao-eyeclo2'" size="44rpx" @tap="price_change"></iconfont>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-main padding-top-xxxl">
|
||||
<!-- 导航 -->
|
||||
<view v-if="nav_list.length > 0" class="nav oh margin-bottom-xl">
|
||||
<view class="flex-row jc-sb align-c">
|
||||
<block v-for="(item, index) in nav_list" :key="index">
|
||||
<view class="text-size fw-b" :data-index="index" @tap="nav_change">
|
||||
<view class="pr dis-inline-block">
|
||||
{{ item.title }}
|
||||
<view v-if="current === index" class="pa active" :style="'background: linear-gradient(90deg, ' + theme_color + ' 0%, rgba(255, 255, 255, 0.27) 100%)'"></view>
|
||||
<view class="padding-main padding-top-xxxl">
|
||||
<!-- 导航 -->
|
||||
<view v-if="nav_list.length > 0" class="nav oh margin-bottom-xl">
|
||||
<view class="flex-row jc-sb align-c">
|
||||
<block v-for="(item, index) in nav_list" :key="index">
|
||||
<view class="text-size fw-b" :data-index="index" @tap="nav_change">
|
||||
<view class="pr dis-inline-block">
|
||||
{{ item.title }}
|
||||
<view v-if="current === index" class="pa active" :style="'background: linear-gradient(90deg, ' + theme_color + ' 0%, rgba(255, 255, 255, 0.27) 100%)'"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 明细 -->
|
||||
<view class="nav-detail margin-bottom-lg">
|
||||
<view v-if="current === 0">
|
||||
<component-wallet-log :prop-pull-down-refresh="propPullDownRefresh" :prop-scroll-lower="scroll_lower_bool"></component-wallet-log>
|
||||
</view>
|
||||
<view v-if="current === 1">
|
||||
<component-user-recharge :prop-pull-down-refresh="propPullDownRefresh" :prop-scroll-lower="scroll_lower_bool" @pay-success="pay_success_event"></component-user-recharge>
|
||||
</view>
|
||||
<view v-if="current === 2">
|
||||
<component-user-cash :prop-pull-down-refresh="propPullDownRefresh" :prop-scroll-lower="scroll_lower_bool"></component-user-cash>
|
||||
<!-- 明细 -->
|
||||
<view class="nav-detail margin-bottom-lg">
|
||||
<view v-if="current === 0">
|
||||
<component-wallet-log :prop-pull-down-refresh="propPullDownRefresh" :prop-scroll-lower="scroll_lower_bool"></component-wallet-log>
|
||||
</view>
|
||||
<view v-if="current === 1">
|
||||
<component-user-recharge :prop-pull-down-refresh="propPullDownRefresh" :prop-scroll-lower="scroll_lower_bool" @pay-success="pay_success_event"></component-user-recharge>
|
||||
</view>
|
||||
<view v-if="current === 2">
|
||||
<component-user-cash :prop-pull-down-refresh="propPullDownRefresh" :prop-scroll-lower="scroll_lower_bool"></component-user-cash>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bottom-fixed submit-container">
|
||||
<view class="bottom-line-exclude flex-row jc-sb align-c">
|
||||
<navigator v-if="(data_base || null) != null && (data_base.is_enable_recharge || 0) == 1" url="/pages/plugins/wallet/recharge/recharge" hover-class="none" class="sub-btn">
|
||||
<button class="round cr-white bg-main br-main text-size wh-auto" type="default" hover-class="none">充值</button>
|
||||
</navigator>
|
||||
<navigator v-if="(data_base || null) != null && (data_base.is_enable_cash || 0) == 1" url="/pages/plugins/wallet/cash-auth/cash-auth" hover-class="none" class="sub-btn">
|
||||
<button class="round cr-main bg-white br-main text-size wh-auto" type="default" hover-class="none">提现</button>
|
||||
</navigator>
|
||||
<view class="bottom-fixed submit-container">
|
||||
<view class="bottom-line-exclude flex-row jc-sb align-c">
|
||||
<navigator v-if="(data_base || null) != null && (data_base.is_enable_recharge || 0) == 1" url="/pages/plugins/wallet/recharge/recharge" hover-class="none" class="sub-btn">
|
||||
<button class="round cr-white bg-main br-main text-size wh-auto" type="default" hover-class="none">充值</button>
|
||||
</navigator>
|
||||
<navigator v-if="(data_base || null) != null && (data_base.is_enable_cash || 0) == 1" url="/pages/plugins/wallet/cash-auth/cash-auth" hover-class="none" class="sub-btn">
|
||||
<button class="round cr-main bg-white br-main text-size wh-auto" type="default" hover-class="none">提现</button>
|
||||
</navigator>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view v-else>
|
||||
<!-- 提示信息 -->
|
||||
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '@/components/no-data/no-data';
|
||||
import componentBottomLine from '@/components/bottom-line/bottom-line';
|
||||
import componentWalletLog from '@/components/wallet/wallet-log/wallet-log';
|
||||
|
|
@ -109,11 +105,6 @@
|
|||
data() {
|
||||
return {
|
||||
wallet_static_url: wallet_static_url,
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
theme_color: app.globalData.get_theme_color(),
|
||||
data_list_loding_status: 1,
|
||||
data_list_loding_msg: '',
|
||||
|
|
@ -132,6 +123,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
componentBottomLine,
|
||||
componentWalletLog,
|
||||
|
|
@ -262,18 +254,6 @@
|
|||
});
|
||||
},
|
||||
|
||||
// 顶部返回操作
|
||||
top_nav_left_back_event(e) {
|
||||
var pages = getCurrentPages();
|
||||
if (pages.length <= 1) {
|
||||
uni.switchTab({
|
||||
url: app.globalData.data.tabbar_pages[0],
|
||||
});
|
||||
} else {
|
||||
uni.navigateBack();
|
||||
}
|
||||
},
|
||||
|
||||
// 支付成功回调
|
||||
pay_success_event() {
|
||||
this.get_data();
|
||||
|
|
@ -281,10 +261,7 @@
|
|||
|
||||
// 页面滚动监听
|
||||
scroll_event(e) {
|
||||
var top = e.detail.scrollTop > 47 ? 1 : e.detail.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
uni.$emit('onPageScroll', e.detail);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,13 +1,6 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="pf z-i left-0 top-0 right-0 pa-w" :style="'padding-top:' + (status_bar_height > 0 ? status_bar_height + 5 : 10) + 'px;background-color:rgba(255,255,255,' + opacity + ')'">
|
||||
<!-- 返回 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ || MP-KUAISHOU || H5 || APP -->
|
||||
<view v-if="is_realstore_top_nav_back == 1" class="nav-back padding-horizontal-main padding-vertical-sm round va-m" :class="opacity > 0.3 ? 'cr-black' : 'cr-white'">
|
||||
<iconfont name="icon-tongyong-fanhui" size="40rpx" @tap="top_nav_left_back_event"></iconfont>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<component-nav-back></component-nav-back>
|
||||
<view v-if="Object.keys(detail_data.length !== 0)" class="weixin-nav-padding-top">
|
||||
<view class="padding-top-xxxl">
|
||||
<view class="pa top-0 left-0 right-0 nav-top pa-w">
|
||||
|
|
@ -56,17 +49,13 @@
|
|||
</template>
|
||||
<script>
|
||||
const app = getApp();
|
||||
import componentNavBack from '@/components/nav-back/nav-back';
|
||||
import componentNoData from '@/components/no-data/no-data';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
answers_static_url: app.globalData.get_static_url('answers', true),
|
||||
status_bar_height: parseInt(app.globalData.get_system_info('statusBarHeight', 0)),
|
||||
// 顶部导航返回按钮
|
||||
is_realstore_top_nav_back: app.globalData.data.is_realstore_top_nav_back || 0,
|
||||
// 顶部返回导航背景透明度
|
||||
opacity: 0,
|
||||
detail_data: {},
|
||||
data_list_loding_status: 1,
|
||||
params: '',
|
||||
|
|
@ -74,6 +63,7 @@
|
|||
},
|
||||
|
||||
components: {
|
||||
componentNavBack,
|
||||
componentNoData,
|
||||
},
|
||||
props: {},
|
||||
|
|
@ -172,11 +162,8 @@
|
|||
},
|
||||
|
||||
// 页面滚动监听
|
||||
onPageScroll(e) {
|
||||
var top = e.scrollTop > 47 ? 1 : e.scrollTop / 47;
|
||||
this.setData({
|
||||
opacity: top,
|
||||
});
|
||||
onPageScroll(res) {
|
||||
uni.$emit('onPageScroll', res);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue