mirror of
https://gitee.com/ZhongBangKeJi/crmeb_java.git
synced 2026-04-24 04:18:34 +08:00
feat:v1.4前端更新
This commit is contained in:
@@ -1,6 +1,36 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class='shoppingCart copy-data'>
|
||||
<view :data-theme="theme">
|
||||
<view class="cart_nav" :style='"height:"+navH+"rpx;"'>
|
||||
<view class='navbarCon acea-row'>
|
||||
<!-- #ifdef MP -->
|
||||
<view class="select_nav flex justify-center align-center" id="home" :style="{ top: homeTop + 'rpx' }">
|
||||
<text class="iconfont icon-fanhui2 px-20" @tap="returns"></text>
|
||||
<text class="iconfont icon-gengduo5 px-20" @tap.stop="showNav"></text>
|
||||
<text class="nav_line"></text>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 -->
|
||||
<view id="home" class="home acea-row row-center-wrapper iconfont icon-shouye4 h5_back"
|
||||
:style="{ top: homeTop + 'rpx' }" @tap="returns">
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifndef APP-PLUS -->
|
||||
<view class="nav_title" :style="{ top: homeTop + 'rpx' }">购物车</view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef H5 || APP-PLUS -->
|
||||
<view class="right_select" :style="{ top: homeTop + 'rpx' }" @tap="showNav">
|
||||
<text class="iconfont icon-gengduo2"></text>
|
||||
</view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="dialog_nav" :style='"top:"+navH+"rpx;"' v-show="currentPage">
|
||||
<view class="dialog_nav_item" v-for="(item,index) in selectNavList" :key="index" @click="linkPage(item.url)">
|
||||
<text class="iconfont" :class="item.icon"></text>
|
||||
<text class="pl-20">{{item.name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class='shoppingCart copy-data' :style='"top:"+navH+"rpx;"' @touchstart="touchStart">
|
||||
<view class='labelNav acea-row row-around'>
|
||||
<view class='item'><text class='iconfont icon-xuanzhong'></text>100%正品保证</view>
|
||||
<view class='item'><text class='iconfont icon-xuanzhong'></text>所有商品精挑细选</view>
|
||||
@@ -9,13 +39,13 @@
|
||||
<view class="borRadius14 cartBox">
|
||||
<view
|
||||
v-if="(cartList.valid.length === 0 && cartList.invalid.length === 0) || (cartList.valid.length > 0)"
|
||||
class='nav acea-row row-between-wrapper my_nav'>
|
||||
<view>购物数量 <text class='num font-color'>{{cartCount}}</text></view>
|
||||
class='nav acea-row row-between-wrapper'>
|
||||
<view>购物数量 <text class='num font_color'>{{cartCount}}</text></view>
|
||||
<view v-if="cartList.valid.length > 0 || cartList.invalid.length > 0"
|
||||
class='administrate acea-row row-center-wrapper' @click='manage'>{{ footerswitch ? '管理' : '取消'}}
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="cartList.valid.length > 0 || cartList.invalid.length > 0" class="pad30 my_nav_top">
|
||||
<view v-if="cartList.valid.length > 0 || cartList.invalid.length > 0" class="pad30">
|
||||
<view class='list'>
|
||||
<checkbox-group @change="checkboxChange">
|
||||
<block v-for="(item,index) in cartList.valid" :key="index">
|
||||
@@ -28,7 +58,7 @@
|
||||
<checkbox :value="item.id" :checked="item.checked"
|
||||
:disabled="!item.attrStatus && footerswitch" />
|
||||
<!-- #endif -->
|
||||
<navigator :url='"/pages/goods_details/index?id="+item.productId' hover-class='none'
|
||||
<navigator :url='"/pages/goods/goods_details/index?id="+item.productId' hover-class='none'
|
||||
class='picTxt acea-row row-between-wrapper'>
|
||||
<view class='pictrue'>
|
||||
<image :src='item.image'></image>
|
||||
@@ -37,8 +67,7 @@
|
||||
<view class='line1' :class="item.attrStatus?'':'reColor'">{{item.storeName}}
|
||||
</view>
|
||||
<view class='infor line1' v-if="item.suk">属性:{{item.suk}}</view>
|
||||
<view class='money' v-if="item.attrStatus">¥{{item.price}}</view>
|
||||
<!-- <view class='money' v-if="item.attrStatus">¥{{item.truePrice}}</view> -->
|
||||
<view class='money mt-28' v-if="item.attrStatus">¥{{item.vipPrice ? item.vipPrice :item.price}}</view>
|
||||
<view class="reElection acea-row row-between-wrapper" v-else>
|
||||
<view class="title">请重新选择商品规格</view>
|
||||
<view class="reBnt cart-color acea-row row-center-wrapper"
|
||||
@@ -57,7 +86,6 @@
|
||||
</block>
|
||||
</checkbox-group>
|
||||
</view>
|
||||
<!-- cartList.valid.length===0 && cartList.invalid.length > 0 -->
|
||||
<view v-if="cartList.invalid.length > 0" class='invalidGoods borRadius14'
|
||||
:style="cartList.valid.length===0 && cartList.invalid.length > 0 ? 'position: relative;z-index: 111;top: -120rpx;':'position: static;'">
|
||||
<view class='goodsNav acea-row row-between-wrapper'>
|
||||
@@ -90,23 +118,31 @@
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class='loadingicon acea-row row-center-wrapper' v-if="cartList.valid.length&&!loadend">
|
||||
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
|
||||
</view> -->
|
||||
<!-- #ifdef H5 -->
|
||||
<view style="height:240rpx;"></view>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP || APP-PLUS -->
|
||||
<view style="height:120rpx;"></view>
|
||||
<!-- #endif -->
|
||||
<view class='loadingicon acea-row row-center-wrapper' v-if="cartList.invalid.length&&loadend">
|
||||
<text class='loading iconfont icon-jiazai'
|
||||
:hidden='loadingInvalid==false'></text>{{loadTitleInvalid}}
|
||||
</view>
|
||||
</view>
|
||||
<view class='noCart' v-if="cartList.valid.length == 0 && cartList.invalid.length == 0 && canShow">
|
||||
<view class='noCart' v-if="(cartList.valid.length == 0 && cartList.invalid.length == 0 && canShow) || !isLogin">
|
||||
<view class='pictrue'>
|
||||
<image src='../../static/images/noCart.png'></image>
|
||||
<image :src="urlDomain+'crmebimage/perset/staticImg/noCart.png'"></image>
|
||||
</view>
|
||||
<recommend :hostProduct='hostProduct'></recommend>
|
||||
<!-- 推荐商品 -->
|
||||
<recommend ref="recommendIndex"></recommend>
|
||||
<!-- #ifdef H5 -->
|
||||
<view style="height:120rpx;"></view>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class='footer acea-row row-between-wrapper' v-if="cartList.valid.length > 0">
|
||||
<!-- <view style="height:260rpx;"></view> -->
|
||||
<view class='footer acea-row row-between-wrapper' v-if="cartList.valid.length > 0" :class="bottomNavigationIsCustom?'bottom-custom':''">
|
||||
<view>
|
||||
<checkbox-group @change="checkboxAllChange">
|
||||
<checkbox value="all" :checked="!!isAllSelect" />
|
||||
@@ -114,14 +150,14 @@
|
||||
</checkbox-group>
|
||||
</view>
|
||||
<view class='money acea-row row-middle' v-if="footerswitch==true">
|
||||
<text class='font-color'>¥{{selectCountPrice}}</text>
|
||||
<text class='price-color'>¥{{selectCountPrice}}</text>
|
||||
<form @submit="subOrder" report-submit='true'>
|
||||
<button class='placeOrder bg-color' formType="submit">立即下单</button>
|
||||
<button class='placeOrder bg_color' formType="submit">立即下单</button>
|
||||
</form>
|
||||
</view>
|
||||
<view class='button acea-row row-middle' v-else>
|
||||
<form @submit="subCollect" report-submit='true'>
|
||||
<button class='bnt cart-color' formType="submit">收藏</button>
|
||||
<button class='btn_cart_color' formType="submit">收藏</button>
|
||||
</form>
|
||||
<form @submit="subDel" report-submit='true'>
|
||||
<button class='bnt' formType="submit">删除</button>
|
||||
@@ -133,15 +169,18 @@
|
||||
id='product-window'></productWindow>
|
||||
<view class="uni-p-b-96"></view>
|
||||
<view class="uni-p-b-98"></view>
|
||||
<!-- #ifdef MP -->
|
||||
<!-- <authorize :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> -->
|
||||
<!-- #endif -->
|
||||
|
||||
<pageFooter></pageFooter>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pageFooter from '@/components/pageFooter/index.vue'
|
||||
// #ifdef APP-PLUS
|
||||
let sysHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
|
||||
// #endif
|
||||
// #ifndef APP-PLUS
|
||||
let sysHeight = 0
|
||||
// #endif
|
||||
import {
|
||||
getCartList,
|
||||
getCartCounts,
|
||||
@@ -150,31 +189,30 @@
|
||||
getResetCart
|
||||
} from '@/api/order.js';
|
||||
import {
|
||||
getProductHot,
|
||||
tokenIsExistApi
|
||||
} from '@/api/api.js';
|
||||
import {
|
||||
collectAll,
|
||||
getProductDetail
|
||||
} from '@/api/store.js';
|
||||
import {
|
||||
toLogin
|
||||
} from '@/libs/login.js';
|
||||
import {
|
||||
mapGetters
|
||||
} from "vuex";
|
||||
import {getShare} from '@/api/public.js';
|
||||
import {mapGetters} from "vuex";
|
||||
import recommend from '@/components/recommend';
|
||||
import productWindow from '@/components/productWindow';
|
||||
// #ifdef MP
|
||||
import authorize from '@/components/Authorize';
|
||||
// #endif
|
||||
import animationType from '@/utils/animationType.js'
|
||||
import {
|
||||
Debounce
|
||||
} from '@/utils/validate.js'
|
||||
let app = getApp();
|
||||
export default {
|
||||
components: {
|
||||
recommend,
|
||||
productWindow,
|
||||
// #ifdef MP
|
||||
authorize
|
||||
// #endif
|
||||
pageFooter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
urlDomain: this.$Cache.get("imgHost"),
|
||||
cartCount: 0,
|
||||
goodsHidden: false,
|
||||
footerswitch: true,
|
||||
@@ -213,19 +251,69 @@
|
||||
cartId: 0,
|
||||
product_id: 0,
|
||||
sysHeight: sysHeight,
|
||||
canShow: false
|
||||
canShow: false,
|
||||
configApi: {}, //分享类容配置
|
||||
theme:app.globalData.theme,
|
||||
navH:"",
|
||||
homeTop: 20,
|
||||
currentPage:false,
|
||||
selectNavList:[
|
||||
{name:'首页',icon:'icon-shouye8',url:'/pages/index/index'},
|
||||
{name:'搜索',icon:'icon-sousuo6',url:'/pages/goods/goods_search/index'},
|
||||
{name:'我的收藏',icon:'icon-shoucang3',url:'/pages/users/user_goods_collection/index'},
|
||||
{name:'个人中心',icon:'icon-gerenzhongxin1',url:'/pages/user/index'},
|
||||
],
|
||||
tokenIsExist: false, //校验token是否有效
|
||||
};
|
||||
},
|
||||
computed: mapGetters(['isLogin']),
|
||||
|
||||
computed: mapGetters(['isLogin','bottomNavigationIsCustom']),
|
||||
onLoad: function(options) {
|
||||
let that = this;
|
||||
if (that.isLogin == false) {
|
||||
toLogin();
|
||||
}
|
||||
//检查token是否有效
|
||||
this.getTokenIsExist();
|
||||
// #ifdef MP
|
||||
this.navH = app.globalData.navHeight;
|
||||
// #endif
|
||||
// #ifndef MP
|
||||
this.navH = 96;
|
||||
// #endif
|
||||
// #ifdef H5
|
||||
this.shareApi();
|
||||
// #endif
|
||||
},
|
||||
onReady() {
|
||||
this.$nextTick(function() {
|
||||
// #ifdef MP
|
||||
const menuButton = uni.getMenuButtonBoundingClientRect();
|
||||
const query = uni.createSelectorQuery().in(this);
|
||||
query
|
||||
.select('#home')
|
||||
.boundingClientRect(data => {
|
||||
this.homeTop = menuButton.top * 2 + menuButton.height - data.height;
|
||||
})
|
||||
.exec();
|
||||
// #endif
|
||||
});
|
||||
},
|
||||
onShow: function() {
|
||||
this.canShow = false
|
||||
if (this.isLogin == true) {
|
||||
if (this.isLogin && this.tokenIsExist) {
|
||||
this.getIndex();
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
//校验token是否有效,true为有效,false为无效
|
||||
getTokenIsExist() {
|
||||
tokenIsExistApi().then(res => {
|
||||
this.tokenIsExist = res.data;
|
||||
this.canShow = true;
|
||||
if (this.isLogin && this.tokenIsExist) {
|
||||
this.getIndex();
|
||||
}
|
||||
})
|
||||
},
|
||||
//首次进入加载的接口
|
||||
getIndex(){
|
||||
this.hotPage = 1;
|
||||
this.hostProduct = [],
|
||||
this.hotScroll = false,
|
||||
@@ -237,7 +325,6 @@
|
||||
this.pageInvalid = 1;
|
||||
this.cartList.invalid = [];
|
||||
this.getInvalidList();
|
||||
//this.getCartNum();
|
||||
this.footerswitch = true;
|
||||
this.hotScroll = false;
|
||||
this.hotPage = 1;
|
||||
@@ -246,17 +333,11 @@
|
||||
valid: [],
|
||||
invalid: []
|
||||
},
|
||||
this.isAllSelect = false; //全选
|
||||
this.isAllSelect = false; //全选
|
||||
this.selectValue = []; //选中的数据
|
||||
this.selectCountPrice = 0.00;
|
||||
this.cartCount = 0;
|
||||
this.isShowAuth = false;
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
// 授权关闭
|
||||
authColse: function(e) {
|
||||
this.isShowAuth = e;
|
||||
},
|
||||
// 修改购物车
|
||||
reGoCat: function() {
|
||||
@@ -321,8 +402,19 @@
|
||||
that.attr.cartAttr = true;
|
||||
let productInfo = res.data.productInfo;
|
||||
that.$set(that, 'productInfo', productInfo);
|
||||
that.$set(that.attr, 'productAttr', res.data.productAttr);
|
||||
// that.$set(that.attr, 'productAttr', res.data.productAttr);
|
||||
that.$set(that, 'productValue', res.data.productValue);
|
||||
let productAttr = res.data.productAttr.map(item => {
|
||||
return {
|
||||
attrName : item.attrName,
|
||||
attrValues: item.attrValues.split(','),
|
||||
id:item.id,
|
||||
isDel:item.isDel,
|
||||
productId:item.productId,
|
||||
type:item.type
|
||||
}
|
||||
});
|
||||
this.$set(that.attr,'productAttr',productAttr);
|
||||
that.DefaultSelect();
|
||||
}).catch(err => {
|
||||
uni.hideLoading();
|
||||
@@ -507,7 +599,7 @@
|
||||
}
|
||||
},
|
||||
// 立即下单
|
||||
subOrder: function(event) {
|
||||
subOrder: Debounce(function(event) {
|
||||
|
||||
let that = this,
|
||||
selectValue = that.selectValue;
|
||||
@@ -518,7 +610,7 @@
|
||||
title: '请选择产品'
|
||||
});
|
||||
}
|
||||
},
|
||||
}),
|
||||
/**
|
||||
* 预下单
|
||||
*/
|
||||
@@ -622,8 +714,7 @@
|
||||
for (let index in validList) {
|
||||
if (that.inArray(validList[index].id, selectValue)) {
|
||||
selectCountPrice = that.$util.$h.Add(selectCountPrice, that.$util.$h.Mul(validList[index]
|
||||
.cartNum, validList[
|
||||
index].price))
|
||||
.cartNum, validList[index].vipPrice ? validList[index].vipPrice : validList[index].price))
|
||||
}
|
||||
}
|
||||
that.selectCountPrice = selectCountPrice;
|
||||
@@ -647,7 +738,7 @@
|
||||
this.$set(this.cartList, 'valid', this.cartList.valid)
|
||||
}
|
||||
},
|
||||
subCart: function(index) {
|
||||
subCart: Debounce(function(index) {
|
||||
let that = this;
|
||||
let status = false;
|
||||
let item = that.cartList.valid[index];
|
||||
@@ -667,26 +758,34 @@
|
||||
that.getCartNum();
|
||||
});
|
||||
}
|
||||
},
|
||||
addCart: function(index) {
|
||||
}),
|
||||
addCart: Debounce(function(index) {
|
||||
let that = this;
|
||||
let item = that.cartList.valid[index];
|
||||
item.cartNum = Number(item.cartNum) + 1;
|
||||
let productInfo = item;
|
||||
if (item.cartNum >= item.stock) {
|
||||
if (item.cartNum < item.stock) {
|
||||
item.numAdd = false;
|
||||
item.numSub = false;
|
||||
that.setCartNum(item.id, item.cartNum, function(data) {
|
||||
that.cartList.valid[index] = item;
|
||||
that.switchSelect();
|
||||
that.getCartNum();
|
||||
});
|
||||
} else if (item.cartNum === item.stock) {
|
||||
item.numAdd = true;
|
||||
item.numSub = false;
|
||||
that.setCartNum(item.id, item.cartNum, function(data) {
|
||||
that.cartList.valid[index] = item;
|
||||
that.switchSelect();
|
||||
that.getCartNum();
|
||||
});
|
||||
} else {
|
||||
item.cartNum = item.stock;
|
||||
item.numAdd = true;
|
||||
item.numSub = false;
|
||||
} else {
|
||||
item.numAdd = false;
|
||||
item.numSub = false;
|
||||
}
|
||||
that.setCartNum(item.id, item.cartNum, function(data) {
|
||||
that.cartList.valid[index] = item;
|
||||
that.switchSelect();
|
||||
that.getCartNum();
|
||||
});
|
||||
},
|
||||
}),
|
||||
//购物车数量变化
|
||||
setCartNum(cartId, cartNum, successCallback) {
|
||||
let that = this;
|
||||
changeCartNum(cartId, cartNum).then(res => {
|
||||
@@ -695,7 +794,7 @@
|
||||
},
|
||||
getCartNum: function() {
|
||||
let that = this;
|
||||
getCartCounts(true, 'sum').then(res => {
|
||||
getCartCounts(true, 'total').then(res => {
|
||||
that.cartCount = res.data.count;
|
||||
});
|
||||
},
|
||||
@@ -723,9 +822,8 @@
|
||||
limit: that.limit,
|
||||
isValid: true
|
||||
}
|
||||
getCartCounts(true, 'sum').then(async c => {
|
||||
getCartCounts(true, 'total').then(async c => {
|
||||
that.cartCount = c.data.count;
|
||||
if (c.data.count === 0) that.getHostProduct();
|
||||
for (let i = 0; i < Math.ceil(that.cartCount / that.limit); i++) {
|
||||
let cartList = await this.getCartData(data);
|
||||
let valid = cartList.list;
|
||||
@@ -766,7 +864,7 @@
|
||||
}
|
||||
}
|
||||
that.$set(that.cartList, 'valid', validList);
|
||||
data.page += 1;
|
||||
data.page +=1;
|
||||
that.selectValue = selectValue;
|
||||
let newArr = validList.filter(item => item.attrStatus);
|
||||
that.isAllSelect = newArr.length == selectValue.length && newArr.length;
|
||||
@@ -793,7 +891,7 @@
|
||||
let invalidList = that.$util.SplitArray(invalid, that.cartList.invalid);
|
||||
that.$set(that.cartList, 'invalid', invalidList);
|
||||
that.loadendInvalid = loadendInvalid;
|
||||
that.loadTitleInvalid = loadendInvalid ? '我也是有底线的' : '加载更多';
|
||||
that.loadTitleInvalid = loadendInvalid ? '我也是有底线的~' : '加载更多';
|
||||
that.pageInvalid = that.pageInvalid + 1;
|
||||
that.loadingInvalid = false;
|
||||
//if(invalid.length===0) that.getHostProduct();
|
||||
@@ -803,18 +901,6 @@
|
||||
})
|
||||
|
||||
},
|
||||
getHostProduct: function() {
|
||||
let that = this;
|
||||
if (that.hotScroll) return
|
||||
getProductHot(
|
||||
that.hotPage,
|
||||
that.hotLimit,
|
||||
).then(res => {
|
||||
that.hotPage++
|
||||
that.hotScroll = res.data.list.length < that.hotLimit
|
||||
that.hostProduct = that.hostProduct.concat(res.data.list)
|
||||
});
|
||||
},
|
||||
goodsOpen: function() {
|
||||
let that = this;
|
||||
that.goodsHidden = !that.goodsHidden;
|
||||
@@ -865,6 +951,53 @@
|
||||
}).catch(res => {
|
||||
|
||||
});
|
||||
},
|
||||
shareApi: function() {
|
||||
getShare().then(res => {
|
||||
this.$set(this, 'configApi', res.data);
|
||||
// #ifdef H5
|
||||
this.setOpenShare(res.data);
|
||||
// #endif
|
||||
})
|
||||
},
|
||||
// 微信分享;
|
||||
setOpenShare: function(data) {
|
||||
let that = this;
|
||||
if (that.$wechat.isWeixin()) {
|
||||
let configAppMessage = {
|
||||
desc: data.synopsis,
|
||||
title: data.title,
|
||||
link: location.href,
|
||||
imgUrl: data.img
|
||||
};
|
||||
that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"],
|
||||
configAppMessage);
|
||||
}
|
||||
},
|
||||
returns: function() {
|
||||
uni.switchTab({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
},
|
||||
showNav(){
|
||||
this.currentPage = !this.currentPage;
|
||||
},
|
||||
//下拉导航页面跳转
|
||||
linkPage(url){
|
||||
if(url == '/pages/index/index' || url == '/pages/user/index'){
|
||||
uni.switchTab({
|
||||
url
|
||||
})
|
||||
}else{
|
||||
uni.navigateTo({
|
||||
animationType: animationType.type, animationDuration: animationType.duration,
|
||||
url
|
||||
})
|
||||
}
|
||||
this.currentPage = false
|
||||
},
|
||||
touchStart(){
|
||||
this.currentPage = false;
|
||||
}
|
||||
},
|
||||
onReachBottom() {
|
||||
@@ -872,8 +1005,8 @@
|
||||
if (that.loadend) {
|
||||
that.getInvalidList();
|
||||
}
|
||||
if (that.cartList.valid.length == 0 && that.cartList.invalid.length == 0 && this.hotPage != 1) {
|
||||
that.getHostProduct();
|
||||
if (that.cartList.valid.length == 0 && that.cartList.invalid.length == 0) {
|
||||
that.$refs.recommendIndex.get_host_product();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -894,35 +1027,169 @@
|
||||
.cartBox {
|
||||
// background-color: #fff;
|
||||
}
|
||||
|
||||
.cart_nav{
|
||||
position: fixed;
|
||||
@include main_bg_color(theme);
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 99;
|
||||
width: 100%;
|
||||
}
|
||||
.navbarCon {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
height: 100rpx;
|
||||
width: 100%;
|
||||
}
|
||||
.h5_back {
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
left:20rpx;
|
||||
font-size: 32rpx;
|
||||
text-align: center;
|
||||
line-height: 58rpx;
|
||||
}
|
||||
.select_nav{
|
||||
width: 170rpx !important;
|
||||
height: 60rpx !important;
|
||||
border-radius: 33rpx;
|
||||
background: rgba(255, 255, 255, 0.6);
|
||||
color: #000;
|
||||
position: fixed;
|
||||
font-size: 18px;
|
||||
line-height: 58rpx;
|
||||
z-index: 1000;
|
||||
left: 14rpx;
|
||||
}
|
||||
.px-20{
|
||||
padding: 0 20rpx 0;
|
||||
}
|
||||
.nav_line{
|
||||
content: '';
|
||||
display: inline-block;
|
||||
width: 1px;
|
||||
height: 34rpx;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
}
|
||||
.container_detail{
|
||||
/* #ifdef MP */
|
||||
margin-top:32rpx;
|
||||
/* #endif */
|
||||
}
|
||||
.tab_nav{
|
||||
width: 100%;
|
||||
height: 48px;
|
||||
padding:0 30rpx 0;
|
||||
}
|
||||
.nav_title{
|
||||
width: 200rpx;
|
||||
height: 58rpx;
|
||||
line-height: 58rpx;
|
||||
color: #fff;
|
||||
font-size: 36rpx;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: auto;
|
||||
}
|
||||
.right_select{
|
||||
position: fixed;
|
||||
right: 20rpx;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
line-height: 58rpx;
|
||||
}
|
||||
.dialog_nav{
|
||||
position: fixed;
|
||||
/* #ifdef MP */
|
||||
left: 14rpx;
|
||||
/* #endif */
|
||||
/* #ifdef H5 || APP-PLUS*/
|
||||
right: 14rpx;
|
||||
/* #endif */
|
||||
width: 240rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 0px 16rpx rgba(0, 0, 0, 0.08);
|
||||
z-index: 999;
|
||||
border-radius: 14rpx;
|
||||
&::before{
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
position: absolute;
|
||||
/* #ifdef MP */
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin:auto;
|
||||
/* #endif */
|
||||
/* #ifdef H5 || APP-PLUS */
|
||||
right: 8px;
|
||||
/* #endif */
|
||||
top:-9px;
|
||||
border-bottom: 10px solid #fff;
|
||||
border-left: 10px solid transparent; /*transparent 表示透明*/
|
||||
border-right: 10px solid transparent;
|
||||
}
|
||||
}
|
||||
.dialog_nav_item{
|
||||
width: 100%;
|
||||
height: 84rpx;
|
||||
line-height: 84rpx;
|
||||
padding: 0 20rpx 0;
|
||||
box-sizing: border-box;
|
||||
border-bottom: #eee;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
position: relative;
|
||||
.iconfont{
|
||||
font-size: 32rpx;
|
||||
}
|
||||
&::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
width:86px;
|
||||
height: 1px;
|
||||
background-color: #EEEEEE;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
.pl-20{
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.px-20{
|
||||
padding: 0 20rpx 0;
|
||||
}
|
||||
.justify-center{
|
||||
justify-content: center;
|
||||
}
|
||||
.align-center {
|
||||
align-items: center;
|
||||
}
|
||||
.shoppingCart {
|
||||
/* #ifdef H5 */
|
||||
// padding-bottom: 0;
|
||||
// padding-bottom: constant(safe-area-inset-bottom);
|
||||
// padding-bottom: env(safe-area-inset-bottom);
|
||||
/* #endif */
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.shoppingCart .labelNav {
|
||||
position: sticky;
|
||||
height: 178rpx;
|
||||
padding: 30rpx 30rpx 0 30rpx;
|
||||
padding: 30rpx 30rpx 0 ;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
background-color: $theme-color;
|
||||
@include main_bg_color(theme);
|
||||
z-index: 5;
|
||||
top: 0;
|
||||
|
||||
/* #ifdef MP-WEIXIN */
|
||||
// top: calc(44px + 88rpx);
|
||||
height: calc(178rpx + 44px + 45rpx);
|
||||
padding-top: calc(44px + 50rpx);
|
||||
// background-color: #282828;
|
||||
/* #endif */
|
||||
}
|
||||
|
||||
.shoppingCart .labelNav .item .iconfont {
|
||||
@@ -939,10 +1206,8 @@
|
||||
box-sizing: border-box;
|
||||
font-size: 28rpx;
|
||||
color: #282828;
|
||||
position: fixed;
|
||||
left: 30rpx;
|
||||
margin: -90rpx auto 0 ;
|
||||
z-index: 6;
|
||||
top: 94rpx;
|
||||
border-top-left-radius: 14rpx;
|
||||
border-top-right-radius: 14rpx;
|
||||
}
|
||||
@@ -957,7 +1222,7 @@
|
||||
}
|
||||
|
||||
.shoppingCart .noCart {
|
||||
margin-top: 171rpx;
|
||||
// margin-top: 171rpx;
|
||||
background-color: #fff;
|
||||
padding-top: 0.1rpx;
|
||||
}
|
||||
@@ -975,11 +1240,18 @@
|
||||
|
||||
.shoppingCart .list {
|
||||
width: 100%;
|
||||
margin-top: 178rpx;
|
||||
// margin-top: 178rpx;
|
||||
/* #ifdef MP */
|
||||
// margin-bottom:120rpx;
|
||||
/* #endif */
|
||||
/* #ifndef MP */
|
||||
// margin-bottom:240rpx;
|
||||
/* #endif */
|
||||
overflow: hidden;
|
||||
border-bottom-left-radius: 14rpx;
|
||||
border-bottom-right-radius: 14rpx;
|
||||
}
|
||||
|
||||
|
||||
.shoppingCart .list .item {
|
||||
padding: 24rpx;
|
||||
@@ -1033,13 +1305,23 @@
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
.shoppingCart .list .item .picTxt .text .money {
|
||||
.money {
|
||||
font-size: 32rpx;
|
||||
color: #E93323;
|
||||
margin-top: 28rpx;
|
||||
font-weight: 600;
|
||||
@include price_color(theme);
|
||||
.price-color{
|
||||
@include price_color(theme);
|
||||
}
|
||||
}
|
||||
.mt-28{
|
||||
margin-top: 28rpx;
|
||||
}
|
||||
.bg_color{
|
||||
@include main_bg_color(theme);
|
||||
}
|
||||
.font_color{
|
||||
@include main_color(theme);
|
||||
}
|
||||
|
||||
.shoppingCart .list .item .picTxt .carnum {
|
||||
height: 47rpx;
|
||||
position: absolute;
|
||||
@@ -1065,9 +1347,9 @@
|
||||
line-height: 40rpx;
|
||||
}
|
||||
|
||||
.shoppingCart .list .item .picTxt .carnum .reduce.on {
|
||||
border-color: #e3e3e3;
|
||||
color: #dedede;
|
||||
.on {
|
||||
border-color: #e3e3e3 !important;
|
||||
color: #dedede !important;
|
||||
}
|
||||
|
||||
.shoppingCart .list .item .picTxt .carnum .plus {
|
||||
@@ -1085,10 +1367,6 @@
|
||||
.shoppingCart .invalidGoods {
|
||||
background-color: #fff;
|
||||
margin-top: 30rpx;
|
||||
/* #ifdef MP */
|
||||
margin-top: 140rpx;
|
||||
/* #endif */
|
||||
|
||||
}
|
||||
|
||||
.shoppingCart .invalidGoods .goodsNav {
|
||||
@@ -1167,7 +1445,7 @@
|
||||
}
|
||||
|
||||
.footer {
|
||||
z-index: 9;
|
||||
z-index: 999;
|
||||
width: 100%;
|
||||
height: 100rpx;
|
||||
background-color: #fff;
|
||||
@@ -1175,18 +1453,8 @@
|
||||
padding: 0 24rpx;
|
||||
box-sizing: border-box;
|
||||
border-top: 1rpx solid #eee;
|
||||
// border-bottom: 1px solid #EEEEEE;
|
||||
/* #ifdef H5 */
|
||||
bottom: 98rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP */
|
||||
bottom: 0;
|
||||
/* #endif */
|
||||
/* #ifndef MP */
|
||||
// bottom: 98rpx;
|
||||
// bottom: calc(98rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
|
||||
// bottom: calc(98rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
|
||||
/* #endif */
|
||||
bottom: var(--window-bottom);
|
||||
|
||||
}
|
||||
|
||||
.footer .checkAll {
|
||||
@@ -1224,7 +1492,16 @@
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
}
|
||||
|
||||
.btn_cart_color{
|
||||
font-size: 14px;
|
||||
border-radius: 25px;
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
line-height: 30px;
|
||||
@include coupons_border_color(theme);
|
||||
@include main_color(theme);
|
||||
}
|
||||
.footer .button form~form {
|
||||
margin-left: 17rpx;
|
||||
}
|
||||
@@ -1232,17 +1509,20 @@
|
||||
.uni-p-b-96 {
|
||||
height: 96rpx;
|
||||
}
|
||||
|
||||
.my_nav {
|
||||
/* #ifdef MP-WEIXIN */
|
||||
top: calc(44px + 88rpx + 50rpx) !important;
|
||||
// background-color: #00aaff;
|
||||
/* #endif */
|
||||
/deep/ checkbox .uni-checkbox-input.uni-checkbox-input-checked {
|
||||
@include main_bg_color(theme);
|
||||
border: none !important;
|
||||
color: #fff!important
|
||||
}
|
||||
.my_nav_top{
|
||||
/* #ifdef MP-WEIXIN */
|
||||
margin-top: calc(44px + 88rpx + 30rpx + 105rpx) !important;
|
||||
// background-color: #00aaff;
|
||||
/* #endif */
|
||||
|
||||
/deep/ checkbox .wx-checkbox-input.wx-checkbox-input-checked {
|
||||
@include main_bg_color(theme);
|
||||
border: none !important;
|
||||
color: #fff!important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
.bottom-custom{
|
||||
bottom: calc(98rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
|
||||
bottom: calc(98rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user