|
@@ -40,7 +40,8 @@
|
|
|
<view class="info-box">
|
|
|
<view>
|
|
|
<view class="name-box ellipsis2">
|
|
|
- <view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
|
|
|
+ <view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}
|
|
|
+ </view>{{item.productName}}
|
|
|
</view>
|
|
|
<view class="spec ellipsis2">{{item.productAttrName}}</view>
|
|
|
</view>
|
|
@@ -59,7 +60,8 @@
|
|
|
<text class="text">运费</text>
|
|
|
</view>
|
|
|
<view class="right" v-if="price&&price.length > 0">
|
|
|
- <text class="text">{{price[idx].payPostage==null||price[idx].payPostage==0?'免运费':price[idx].payPostage.toFixed(2)}}</text>
|
|
|
+ <text
|
|
|
+ class="text">{{price[idx].payPostage==null||price[idx].payPostage==0?'免运费':price[idx].payPostage.toFixed(2)}}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 备注 -->
|
|
@@ -68,7 +70,8 @@
|
|
|
<text class="text">备注</text>
|
|
|
</view>
|
|
|
<view class="remarks">
|
|
|
- <input type="text" v-model="shop.markinfo" placeholder="备注留言(选填)" placeholder-class="input" />
|
|
|
+ <input type="text" v-model="shop.markinfo" placeholder="备注留言(选填)"
|
|
|
+ placeholder-class="input" />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -92,7 +95,8 @@
|
|
|
</view>
|
|
|
<view class="right">
|
|
|
<text class="text">{{priceAll.usedIntegral}}积分</text>
|
|
|
- <evan-switch @change="integralChange" v-model="checked" activeColor="#0bb3f2" inactiveColor="rgba(0, 0, 0, 0.1)"></evan-switch>
|
|
|
+ <evan-switch @change="integralChange" v-model="checked" activeColor="#0bb3f2"
|
|
|
+ inactiveColor="rgba(0, 0, 0, 0.1)"></evan-switch>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="points" @click="openCoupon()">
|
|
@@ -140,48 +144,58 @@
|
|
|
<view class="btn" @click="submitOrder">提交订单</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <popupBottom ref="popup" :visible.sync="couponVisible" title=" " bgColor="#f5f5f5" radius="30" maxHeight="60%">
|
|
|
- <view class="coupon" style="height:650rpx;">
|
|
|
- <div class="coupon-list" v-if="couponsList.length > 0">
|
|
|
- <div class="item acea-row row-center-wrapper" v-for="(item, index) in couponsList" :key="index">
|
|
|
- <div class="money" >
|
|
|
- <image v-if="item.status==0" class="img" src="https://user.test.ylrztop.com/images/coupon1.png" mode="widthFix"></image>
|
|
|
- <image v-if="item.status!=0" class="img" src="https://user.test.ylrztop.com/images/coupon2.png" mode="widthFix"></image>
|
|
|
- <div style="z-index: 999;">
|
|
|
- ¥<span class="num">{{ item.couponPrice }}</span>
|
|
|
- </div>
|
|
|
- <div class="pic-num" >满{{ item.useMinPrice }}元可用</div>
|
|
|
- </div>
|
|
|
- <div class="text">
|
|
|
- <div class="condition line1">
|
|
|
- {{ item.couponTitle }}
|
|
|
- </div>
|
|
|
- <div class="data acea-row row-between-wrapper">
|
|
|
- <div >{{ item.limitTime }}到期</div>
|
|
|
- <div class="bnt bg-color-red" @click="couponSelect(item)" >选择</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <view v-if="couponsList.length == 0" class="no-data-box" >
|
|
|
- <image src="/static/images/no_data.png" mode="aspectFit"></image>
|
|
|
- <view class="empty-title">暂无数据</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
-
|
|
|
+ <popupBottom ref="popup" :visible.sync="couponVisible" title=" " bgColor="#f5f5f5" radius="30" maxHeight="60%">
|
|
|
+ <view class="coupon" style="height:650rpx;">
|
|
|
+ <div class="coupon-list" v-if="couponsList.length > 0">
|
|
|
+ <div class="item acea-row row-center-wrapper" v-for="(item, index) in couponsList" :key="index">
|
|
|
+ <div class="money">
|
|
|
+ <image v-if="item.status==0" class="img"
|
|
|
+ src="https://user.test.ylrztop.com/images/coupon1.png" mode="widthFix"></image>
|
|
|
+ <image v-if="item.status!=0" class="img"
|
|
|
+ src="https://user.test.ylrztop.com/images/coupon2.png" mode="widthFix"></image>
|
|
|
+ <div style="z-index: 999;">
|
|
|
+ ¥<span class="num">{{ item.couponPrice }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="pic-num">满{{ item.useMinPrice }}元可用</div>
|
|
|
+ </div>
|
|
|
+ <div class="text">
|
|
|
+ <div class="condition line1">
|
|
|
+ {{ item.couponTitle }}
|
|
|
+ </div>
|
|
|
+ <div class="data acea-row row-between-wrapper">
|
|
|
+ <div>{{ item.limitTime }}到期</div>
|
|
|
+ <div class="bnt bg-color-red" @click="couponSelect(item)">选择</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <view v-if="couponsList.length == 0" class="no-data-box">
|
|
|
+ <image src="/static/images/no_data.png" mode="aspectFit"></image>
|
|
|
+ <view class="empty-title">暂无数据</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
</popupBottom>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import {getWeixinOrderTemps} from '@/api/common'
|
|
|
-
|
|
|
- import {confirm,computed,create} from '@/api/storeOrder'
|
|
|
- import { getMyEnableCouponList } from '@/api/coupon'
|
|
|
-
|
|
|
+ import {
|
|
|
+ getWeixinOrderTemps
|
|
|
+ } from '@/api/common'
|
|
|
+
|
|
|
+ import {
|
|
|
+ confirm,
|
|
|
+ computed,
|
|
|
+ create
|
|
|
+ } from '@/api/storeOrder'
|
|
|
+ import {
|
|
|
+ getMyEnableCouponList
|
|
|
+ } from '@/api/coupon'
|
|
|
+
|
|
|
import EvanSwitch from '@/components/evan-switch/evan-switch.vue'
|
|
|
import popupBottom from '@/components/px-popup-bottom/px-popup-bottom.vue'
|
|
|
-
|
|
|
+
|
|
|
export default {
|
|
|
components: {
|
|
|
EvanSwitch,
|
|
@@ -189,101 +203,104 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- temps:[],
|
|
|
- couponUserId:null,
|
|
|
- couponText:"请选择",
|
|
|
- couponsList:[],
|
|
|
- couponVisible:false,
|
|
|
+ temps: [],
|
|
|
+ couponUserId: null,
|
|
|
+ couponText: "请选择",
|
|
|
+ couponsList: [],
|
|
|
+ couponVisible: false,
|
|
|
price: [],
|
|
|
- priceAll:{
|
|
|
- payPrice:0,
|
|
|
- totalPostage:0,
|
|
|
- usedIntegral:0,
|
|
|
- totalPrice:0.00,
|
|
|
+ priceAll: {
|
|
|
+ payPrice: 0,
|
|
|
+ totalPostage: 0,
|
|
|
+ usedIntegral: 0,
|
|
|
+ totalPrice: 0.00,
|
|
|
},
|
|
|
- address:null,
|
|
|
- carts:[],
|
|
|
+ address: null,
|
|
|
+ carts: [],
|
|
|
checked: false,
|
|
|
- type:null,
|
|
|
- cartIds:null,
|
|
|
- storeId:null,
|
|
|
- form:{
|
|
|
- useIntegral:0,
|
|
|
- orderKey:null,
|
|
|
- addressId:null,
|
|
|
- mark:null,
|
|
|
- companyId:null,
|
|
|
- companyUserId:null
|
|
|
+ type: null,
|
|
|
+ cartIds: null,
|
|
|
+ storeId: null,
|
|
|
+ form: {
|
|
|
+ useIntegral: 0,
|
|
|
+ orderKey: null,
|
|
|
+ addressId: null,
|
|
|
+ mark: null,
|
|
|
+ companyId: null,
|
|
|
+ companyUserId: null
|
|
|
},
|
|
|
- confirmParam: []
|
|
|
+ confirmParam:[]
|
|
|
}
|
|
|
},
|
|
|
onLoad(option) {
|
|
|
- this.form.companyId=option.companyId;
|
|
|
- this.form.companyUserId=option.companyUserId;
|
|
|
+ this.form.companyId = option.companyId;
|
|
|
+ this.form.companyUserId = option.companyUserId;
|
|
|
// this.cartIds=option.cartIds;
|
|
|
- this.type=option.type;
|
|
|
- this.storeId=option.storeId;
|
|
|
+ this.type = option.type;
|
|
|
+ this.storeId = option.storeId;
|
|
|
this.confirmParam = JSON.parse(decodeURIComponent(option.confirmParam))
|
|
|
this.confirm();
|
|
|
uni.$on('updateAddress', (e) => {
|
|
|
- this.address=e;
|
|
|
- this.form.addressId=e.id;
|
|
|
+ this.address = e;
|
|
|
+ this.form.addressId = e.id;
|
|
|
})
|
|
|
this.getWeixinOrderTemps();
|
|
|
},
|
|
|
methods: {
|
|
|
- getWeixinOrderTemps:function(){
|
|
|
+ getWeixinOrderTemps: function() {
|
|
|
getWeixinOrderTemps().then(
|
|
|
res => {
|
|
|
- if(res.code==200){
|
|
|
- this.temps=res.temp
|
|
|
- }else{
|
|
|
-
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.temps = res.temp
|
|
|
+ } else {
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
rej => {}
|
|
|
);
|
|
|
},
|
|
|
- couponSelect(item){
|
|
|
- this.couponText="-¥"+item.couponPrice.toFixed(2);
|
|
|
- this.couponUserId=item.id;
|
|
|
- this.couponVisible=false;
|
|
|
+ couponSelect(item) {
|
|
|
+ this.couponText = "-¥" + item.couponPrice.toFixed(2);
|
|
|
+ this.couponUserId = item.id;
|
|
|
+ this.couponVisible = false;
|
|
|
this.computed();
|
|
|
},
|
|
|
- openCoupon(){
|
|
|
+ openCoupon() {
|
|
|
let that = this;
|
|
|
- var data={couponType:0,useMinPrice:this.price.payPrice};
|
|
|
+ var data = {
|
|
|
+ couponType: 0,
|
|
|
+ useMinPrice: this.price.payPrice
|
|
|
+ };
|
|
|
getMyEnableCouponList(data).then(res => {
|
|
|
- this.couponVisible=true;
|
|
|
- that.couponsList = res.data
|
|
|
+ this.couponVisible = true;
|
|
|
+ that.couponsList = res.data
|
|
|
})
|
|
|
},
|
|
|
- integralChange(e){
|
|
|
- this.form.useIntegral=e?1:0
|
|
|
+ integralChange(e) {
|
|
|
+ this.form.useIntegral = e ? 1 : 0
|
|
|
this.computed()
|
|
|
},
|
|
|
- confirm(item){
|
|
|
+ confirm(item) {
|
|
|
// let data = {type:this.type,cartIds:this.cartIds};
|
|
|
- if(this.confirmParam && this.confirmParam.length > 0) {
|
|
|
+ if (this.confirmParam&&this.confirmParam.length>0) {
|
|
|
confirm(this.confirmParam).then(
|
|
|
res => {
|
|
|
- if(res.code==200){
|
|
|
-
|
|
|
- this.carts=res.carts.map(item=>({
|
|
|
- ...item,
|
|
|
- markinfo: ""
|
|
|
- }));
|
|
|
- this.form.orderKey=res.orderKeys;
|
|
|
- if(res.address!=null){
|
|
|
- this.form.addressId=res.address.id;
|
|
|
- this.address=res.address;
|
|
|
- }
|
|
|
- this.computed()
|
|
|
- }else{
|
|
|
-
|
|
|
+ if (res.code == 200) {
|
|
|
+
|
|
|
+ this.carts = res.carts.map(item => ({
|
|
|
+ ...item,
|
|
|
+ markinfo: ""
|
|
|
+ }));
|
|
|
+ this.form.orderKey = res.orderKeys;
|
|
|
+ if (res.address != null) {
|
|
|
+ this.form.addressId = res.address.id;
|
|
|
+ this.address = res.address;
|
|
|
+ }
|
|
|
+ this.computed()
|
|
|
+ } else {
|
|
|
+
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: res.msg,
|
|
|
});
|
|
|
}
|
|
@@ -293,47 +310,46 @@
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
icon: 'none',
|
|
|
- title:'订单参数不存在~',
|
|
|
+ title: '订单参数不存在~',
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- computed(item){
|
|
|
+ computed(item) {
|
|
|
let data = {
|
|
|
- couponUserId:this.couponUserId,
|
|
|
- orderKeys:this.form.orderKey,
|
|
|
- addressId:this.form.addressId,
|
|
|
- useIntegral:this.form.useIntegral,
|
|
|
+ couponUserId: this.couponUserId,
|
|
|
+ orderKeys: this.form.orderKey,
|
|
|
+ addressId: this.form.addressId,
|
|
|
+ useIntegral: this.form.useIntegral,
|
|
|
};
|
|
|
computed(data).then(
|
|
|
res => {
|
|
|
- if(res.code==200){
|
|
|
- this.price= res.data && res.data.length > 0 ? res.data : []
|
|
|
- this.priceAll = res.data && res.data.length > 0 ? res.data[res.data.length -1] : {
|
|
|
- payPrice:0,
|
|
|
- totalPostage:0,
|
|
|
- usedIntegral:0,
|
|
|
- totalPrice:0.00,
|
|
|
- }
|
|
|
- }else{
|
|
|
- if(res.code==501){
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.price = res.data && res.data.length > 0 ? res.data : []
|
|
|
+ this.priceAll = res.data && res.data.length > 0 ? res.data[res.data.length - 1] : {
|
|
|
+ payPrice: 0,
|
|
|
+ totalPostage: 0,
|
|
|
+ usedIntegral: 0,
|
|
|
+ totalPrice: 0.00,
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (res.code == 501) {
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: res.msg,
|
|
|
});
|
|
|
- setTimeout(function(){
|
|
|
+ setTimeout(function() {
|
|
|
uni.navigateBack({
|
|
|
- delta:1
|
|
|
+ delta: 1
|
|
|
})
|
|
|
- },500);
|
|
|
+ }, 500);
|
|
|
return;
|
|
|
- }
|
|
|
- else{
|
|
|
+ } else {
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: res.msg,
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
rej => {}
|
|
@@ -341,88 +357,110 @@
|
|
|
},
|
|
|
// 提交订单
|
|
|
submitOrder() {
|
|
|
- var that=this;
|
|
|
- if(this.form.orderKey==null || this.form.orderKey.length == 0){
|
|
|
+ var that = this;
|
|
|
+ if (this.form.orderKey == null || this.form.orderKey.length == 0) {
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: '订单KEY不存在',
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
- if(this.form.addressId==null){
|
|
|
+ if (this.form.addressId == null) {
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: '收货地址不能为空',
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
uni.requestSubscribeMessage({
|
|
|
tmplIds: this.temps,
|
|
|
success(res) {
|
|
|
- that.createOrder();
|
|
|
+ that.createOrder();
|
|
|
},
|
|
|
fail(res) {
|
|
|
that.createOrder();
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
- createOrder(){
|
|
|
+ createOrder() {
|
|
|
const mark = this.carts.map(item => item.markinfo)
|
|
|
- var that=this;
|
|
|
- var data=null;
|
|
|
- var tuiUserId=uni.getStorageSync('tuiUserId');
|
|
|
+ var that = this;
|
|
|
+ var data = null;
|
|
|
+ var tuiUserId = uni.getStorageSync('tuiUserId');
|
|
|
uni.showLoading({
|
|
|
title: '正在处理中...'
|
|
|
});
|
|
|
- if(tuiUserId!=null&&tuiUserId!=undefined&&tuiUserId>0){
|
|
|
- data = {orderCreateType:1,tuiUserId:tuiUserId,companyId:this.form.companyId,companyUserId:this.form.companyUserId,couponUserId:this.couponUserId,mark:mark,orderKeys:this.form.orderKey,addressId:this.form.addressId,useIntegral:this.form.useIntegral,payType:1};
|
|
|
- }
|
|
|
- else{
|
|
|
- data = {orderCreateType:1,companyId:this.form.companyId,companyUserId:this.form.companyUserId,couponUserId:this.couponUserId,mark:mark,orderKeys:this.form.orderKey,addressId:this.form.addressId,useIntegral:this.form.useIntegral,payType:1};
|
|
|
+ if (tuiUserId != null && tuiUserId != undefined && tuiUserId > 0) {
|
|
|
+ data = {
|
|
|
+ orderCreateType: 1,
|
|
|
+ tuiUserId: tuiUserId,
|
|
|
+ companyId: this.form.companyId,
|
|
|
+ companyUserId: this.form.companyUserId,
|
|
|
+ couponUserId: this.couponUserId,
|
|
|
+ mark: mark,
|
|
|
+ orderKeys: this.form.orderKey,
|
|
|
+ addressId: this.form.addressId,
|
|
|
+ useIntegral: this.form.useIntegral,
|
|
|
+ payType: 1
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ data = {
|
|
|
+ orderCreateType: 1,
|
|
|
+ companyId: this.form.companyId,
|
|
|
+ companyUserId: this.form.companyUserId,
|
|
|
+ couponUserId: this.couponUserId,
|
|
|
+ mark: mark,
|
|
|
+ orderKeys: this.form.orderKey,
|
|
|
+ addressId: this.form.addressId,
|
|
|
+ useIntegral: this.form.useIntegral,
|
|
|
+ payType: 1
|
|
|
+ };
|
|
|
}
|
|
|
- if(this.storeId!=null&& this.storeId>0){
|
|
|
- data.storeId=this.storeId;
|
|
|
+ if (this.storeId != null && this.storeId > 0) {
|
|
|
+ data.storeId = this.storeId;
|
|
|
}
|
|
|
create(data).then(
|
|
|
res => {
|
|
|
uni.hideLoading()
|
|
|
- if(!res.code && res.code !== 0){
|
|
|
+ if (!res.code && res.code !== 0) {
|
|
|
uni.hideLoading()
|
|
|
-
|
|
|
- if(res.some(item=> item.order.isPrescribe) == 1) {
|
|
|
- setTimeout(function(){
|
|
|
- let orderIds = res.filter(item=> item.order.isPrescribe == 1).map(it=>it.order.id)
|
|
|
+
|
|
|
+ if (res.some(item => item.order.isPrescribe) == 1) {
|
|
|
+ setTimeout(function() {
|
|
|
+ let orderIds = res.filter(item => item.order.isPrescribe == 1).map(it => it
|
|
|
+ .order.id)
|
|
|
orderIds = orderIds.join(',')
|
|
|
uni.redirectTo({
|
|
|
- url:"prescribe?orderId="+orderIds+"&combinationOrderId="+encodeURIComponent(res[0].order.combinationOrderId)
|
|
|
+ url: "prescribe?orderId=" + orderIds + "&combinationOrderId=" +
|
|
|
+ encodeURIComponent(res[0].order.combinationOrderId)
|
|
|
})
|
|
|
- },200);
|
|
|
+ }, 200);
|
|
|
} else {
|
|
|
- setTimeout(function(){
|
|
|
+ setTimeout(function() {
|
|
|
uni.redirectTo({
|
|
|
- url: './paymentOrder?combinationOrderId='+encodeURIComponent(res[0].order.combinationOrderId)
|
|
|
+ url: './paymentOrder?combinationOrderId=' + encodeURIComponent(
|
|
|
+ res[0].order.combinationOrderId)
|
|
|
})
|
|
|
- },200);
|
|
|
+ }, 200);
|
|
|
}
|
|
|
return;
|
|
|
- } else{
|
|
|
- if(res.code==501){
|
|
|
+ } else {
|
|
|
+ if (res.code == 501) {
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: res.msg,
|
|
|
});
|
|
|
- setTimeout(function(){
|
|
|
+ setTimeout(function() {
|
|
|
uni.navigateBack({
|
|
|
- delta:1
|
|
|
+ delta: 1
|
|
|
})
|
|
|
- },200);
|
|
|
+ }, 200);
|
|
|
return;
|
|
|
- }
|
|
|
- else{
|
|
|
+ } else {
|
|
|
uni.showToast({
|
|
|
- icon:'none',
|
|
|
+ icon: 'none',
|
|
|
title: res.msg,
|
|
|
});
|
|
|
}
|
|
@@ -431,7 +469,7 @@
|
|
|
rej => {}
|
|
|
);
|
|
|
},
|
|
|
- openAddress(){
|
|
|
+ openAddress() {
|
|
|
uni.navigateTo({
|
|
|
url: '/pages_user/user/address'
|
|
|
})
|
|
@@ -441,9 +479,10 @@
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
- .inner-box{
|
|
|
+ .inner-box {
|
|
|
padding: 20upx 20upx 140upx;
|
|
|
- .address-box{
|
|
|
+
|
|
|
+ .address-box {
|
|
|
box-sizing: border-box;
|
|
|
min-height: 171upx;
|
|
|
margin-bottom: 20rpx;
|
|
@@ -457,55 +496,66 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
- .left{
|
|
|
+
|
|
|
+ .left {
|
|
|
width: 92%;
|
|
|
- .name-box{
|
|
|
+
|
|
|
+ .name-box {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- .text{
|
|
|
+
|
|
|
+ .text {
|
|
|
font-size: 32upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: bold;
|
|
|
color: #111111;
|
|
|
line-height: 1;
|
|
|
- &.name{
|
|
|
+
|
|
|
+ &.name {
|
|
|
margin-right: 30upx;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .address{
|
|
|
+
|
|
|
+ .address {
|
|
|
font-size: 28upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #666666;
|
|
|
line-height: 42upx;
|
|
|
- text-align:left;
|
|
|
+ text-align: left;
|
|
|
margin-top: 23upx;
|
|
|
}
|
|
|
}
|
|
|
- .arrow-box{
|
|
|
+
|
|
|
+ .arrow-box {
|
|
|
width: 12upx;
|
|
|
height: 23upx;
|
|
|
display: flex;
|
|
|
align-items: cenetr;
|
|
|
justify-content: cenetr;
|
|
|
- image{
|
|
|
+
|
|
|
+ image {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.shopbox {
|
|
|
background: #FFFFFF;
|
|
|
border-radius: 16rpx;
|
|
|
margin-bottom: 20rpx;
|
|
|
+
|
|
|
.points {
|
|
|
padding: 0 !important;
|
|
|
}
|
|
|
+
|
|
|
.remarks {
|
|
|
padding: 0 !important;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.shopbox-name {
|
|
|
padding: 30rpx 30rpx 0 30rpx;
|
|
|
font-family: PingFang SC, PingFang SC;
|
|
@@ -516,38 +566,45 @@
|
|
|
white-space: nowrap;
|
|
|
text-overflow: ellipsis;
|
|
|
}
|
|
|
- .goods-list{
|
|
|
+
|
|
|
+ .goods-list {
|
|
|
// margin-top: 20upx;
|
|
|
padding: 0 30upx;
|
|
|
background-color: #FFFFFF;
|
|
|
border-radius: 16upx;
|
|
|
- .item{
|
|
|
+
|
|
|
+ .item {
|
|
|
padding: 30upx 0;
|
|
|
border-bottom: 1px solid #EDEEEF;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- .img-box{
|
|
|
+
|
|
|
+ .img-box {
|
|
|
width: 160upx;
|
|
|
height: 160upx;
|
|
|
margin-right: 30upx;
|
|
|
- image{
|
|
|
+
|
|
|
+ image {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
}
|
|
|
- .info-box{
|
|
|
+
|
|
|
+ .info-box {
|
|
|
width: calc(100% - 190upx);
|
|
|
height: 160upx;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
justify-content: space-between;
|
|
|
- .name-box{
|
|
|
+
|
|
|
+ .name-box {
|
|
|
font-size: 28upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #111111;
|
|
|
line-height: 40upx;
|
|
|
- .tag{
|
|
|
+
|
|
|
+ .tag {
|
|
|
display: inline-block;
|
|
|
padding: 0 6upx;
|
|
|
height: 30upx;
|
|
@@ -563,7 +620,8 @@
|
|
|
margin-top: 7upx;
|
|
|
}
|
|
|
}
|
|
|
- .spec{
|
|
|
+
|
|
|
+ .spec {
|
|
|
margin-top: 10upx;
|
|
|
font-size: 24upx;
|
|
|
font-family: PingFang SC;
|
|
@@ -571,14 +629,17 @@
|
|
|
color: #999999;
|
|
|
line-height: 1;
|
|
|
}
|
|
|
- .price-num{
|
|
|
+
|
|
|
+ .price-num {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
- .price{
|
|
|
+
|
|
|
+ .price {
|
|
|
display: flex;
|
|
|
align-items: flex-end;
|
|
|
- .unit{
|
|
|
+
|
|
|
+ .unit {
|
|
|
font-size: 24upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
@@ -586,7 +647,8 @@
|
|
|
line-height: 1.2;
|
|
|
margin-right: 4upx;
|
|
|
}
|
|
|
- .num{
|
|
|
+
|
|
|
+ .num {
|
|
|
font-size: 32upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
@@ -594,7 +656,8 @@
|
|
|
line-height: 1;
|
|
|
}
|
|
|
}
|
|
|
- .num{
|
|
|
+
|
|
|
+ .num {
|
|
|
font-size: 24upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
@@ -604,21 +667,25 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .sub-total{
|
|
|
+
|
|
|
+ .sub-total {
|
|
|
height: 88upx;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: flex-end;
|
|
|
- .label{
|
|
|
+
|
|
|
+ .label {
|
|
|
font-size: 24upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #999999;
|
|
|
}
|
|
|
- .price{
|
|
|
+
|
|
|
+ .price {
|
|
|
display: flex;
|
|
|
align-items: flex-end;
|
|
|
- .unit{
|
|
|
+
|
|
|
+ .unit {
|
|
|
font-size: 24upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
@@ -626,7 +693,8 @@
|
|
|
line-height: 1.2;
|
|
|
margin-right: 4upx;
|
|
|
}
|
|
|
- .num{
|
|
|
+
|
|
|
+ .num {
|
|
|
font-size: 32upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: bold;
|
|
@@ -636,24 +704,29 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.price-info {
|
|
|
background: #FFFFFF;
|
|
|
border-radius: 16upx;
|
|
|
+
|
|
|
&-title {
|
|
|
- padding: 30rpx 30rpx 20rpx 30rpx;
|
|
|
- font-family: PingFang SC, PingFang SC;
|
|
|
- font-weight: 500;
|
|
|
- font-size: 30rpx;
|
|
|
- color: #111;
|
|
|
+ padding: 30rpx 30rpx 20rpx 30rpx;
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #111;
|
|
|
}
|
|
|
+
|
|
|
&-unit {
|
|
|
font-size: 24rpx;
|
|
|
}
|
|
|
+
|
|
|
&-num {
|
|
|
font-size: 28rpx;
|
|
|
}
|
|
|
}
|
|
|
- .points{
|
|
|
+
|
|
|
+ .points {
|
|
|
height: 88upx;
|
|
|
width: 100%;
|
|
|
padding: 0 30upx;
|
|
@@ -663,53 +736,62 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
- .left{
|
|
|
+
|
|
|
+ .left {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- image{
|
|
|
+
|
|
|
+ image {
|
|
|
width: 28upx;
|
|
|
height: 28upx;
|
|
|
margin-right: 20upx;
|
|
|
}
|
|
|
- .text{
|
|
|
+
|
|
|
+ .text {
|
|
|
font-size: 28upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #666666;
|
|
|
}
|
|
|
}
|
|
|
- .right{
|
|
|
+
|
|
|
+ .right {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- .text{
|
|
|
+
|
|
|
+ .text {
|
|
|
font-size: 28upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #111111;
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
- image{
|
|
|
+
|
|
|
+ image {
|
|
|
margin-left: 15upx;
|
|
|
width: 14upx;
|
|
|
height: 24upx;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .remarks{
|
|
|
+
|
|
|
+ .remarks {
|
|
|
height: 88upx;
|
|
|
padding: 0 30upx;
|
|
|
background: #FFFFFF;
|
|
|
border-radius: 16upx;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- input{
|
|
|
+
|
|
|
+ input {
|
|
|
width: 100%;
|
|
|
font-size: 28upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #000000;
|
|
|
}
|
|
|
- .input{
|
|
|
+
|
|
|
+ .input {
|
|
|
font-size: 28upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
@@ -717,9 +799,9 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- .btn-foot{
|
|
|
+
|
|
|
+
|
|
|
+ .btn-foot {
|
|
|
box-sizing: border-box;
|
|
|
width: 100%;
|
|
|
height: 121upx;
|
|
@@ -732,24 +814,29 @@
|
|
|
left: 0;
|
|
|
bottom: 0;
|
|
|
z-index: 99;
|
|
|
- .right{
|
|
|
+
|
|
|
+ .right {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- .total{
|
|
|
+
|
|
|
+ .total {
|
|
|
display: flex;
|
|
|
align-items: flex-end;
|
|
|
margin-right: 36upx;
|
|
|
- .label{
|
|
|
+
|
|
|
+ .label {
|
|
|
font-size: 26upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: 500;
|
|
|
color: #999999;
|
|
|
line-height: 1.5;
|
|
|
}
|
|
|
- .price{
|
|
|
+
|
|
|
+ .price {
|
|
|
display: flex;
|
|
|
align-items: flex-end;
|
|
|
- .unit{
|
|
|
+
|
|
|
+ .unit {
|
|
|
font-size: 32upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: bold;
|
|
@@ -757,7 +844,8 @@
|
|
|
line-height: 1.2;
|
|
|
margin-right: 10upx;
|
|
|
}
|
|
|
- .num{
|
|
|
+
|
|
|
+ .num {
|
|
|
font-size: 50upx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: bold;
|
|
@@ -766,7 +854,8 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .btn{
|
|
|
+
|
|
|
+ .btn {
|
|
|
width: 200upx;
|
|
|
height: 88upx;
|
|
|
line-height: 88upx;
|
|
@@ -783,87 +872,89 @@
|
|
|
</style>
|
|
|
<style lang="less" scoped>
|
|
|
.coupon {
|
|
|
- height: 100%;
|
|
|
+ height: 100%;
|
|
|
}
|
|
|
+
|
|
|
/*优惠券列表公共*/
|
|
|
- .coupon-list {
|
|
|
- }
|
|
|
+ .coupon-list {}
|
|
|
+
|
|
|
.coupon-list .item {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- width: 100%;
|
|
|
- height: 1.7 * 100rpx;
|
|
|
- margin-bottom: 0.16 * 100rpx;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ width: 100%;
|
|
|
+ height: 1.7 * 100rpx;
|
|
|
+ margin-bottom: 0.16 * 100rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .money {
|
|
|
- background-size: 100% 100%;
|
|
|
- width: 2.4 * 100rpx;
|
|
|
- height: 100%;
|
|
|
- color: #fff;
|
|
|
- font-size: 0.36 * 100rpx;
|
|
|
- font-weight: bold;
|
|
|
- text-align: center;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- position: relative;
|
|
|
-
|
|
|
+ background-size: 100% 100%;
|
|
|
+ width: 2.4 * 100rpx;
|
|
|
+ height: 100%;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 0.36 * 100rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ text-align: center;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
}
|
|
|
- .coupon-list .item .money .img{
|
|
|
- position: absolute;
|
|
|
- width: 2.4 * 100rpx;
|
|
|
- height: 100%;
|
|
|
- color: #fff;
|
|
|
-
|
|
|
+
|
|
|
+ .coupon-list .item .money .img {
|
|
|
+ position: absolute;
|
|
|
+ width: 2.4 * 100rpx;
|
|
|
+ height: 100%;
|
|
|
+ color: #fff;
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .money .num {
|
|
|
- font-size: 0.6 * 100rpx;
|
|
|
+ font-size: 0.6 * 100rpx;
|
|
|
}
|
|
|
+
|
|
|
.coupon-list .item .money .pic-num {
|
|
|
- font-size: 20rpx;
|
|
|
- z-index: 99;
|
|
|
+ font-size: 20rpx;
|
|
|
+ z-index: 99;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .text {
|
|
|
- width: 4.5 * 100rpx;
|
|
|
- padding: 0 0.17 * 100rpx 0 0.24 * 100rpx;
|
|
|
- background-color: #fff;
|
|
|
- box-sizing: border-box;
|
|
|
+ width: 4.5 * 100rpx;
|
|
|
+ padding: 0 0.17 * 100rpx 0 0.24 * 100rpx;
|
|
|
+ background-color: #fff;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .text .condition {
|
|
|
- font-size: 0.3 * 100rpx;
|
|
|
- color: #282828;
|
|
|
- height: 0.93 * 100rpx;
|
|
|
- line-height: 0.93 * 100rpx;
|
|
|
- border-bottom: 1px solid #f0f0f0;
|
|
|
+ font-size: 0.3 * 100rpx;
|
|
|
+ color: #282828;
|
|
|
+ height: 0.93 * 100rpx;
|
|
|
+ line-height: 0.93 * 100rpx;
|
|
|
+ border-bottom: 1px solid #f0f0f0;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .text .data {
|
|
|
- font-size: 0.2 * 100rpx;
|
|
|
- color: #999;
|
|
|
- height: 0.76 * 100rpx;
|
|
|
+ font-size: 0.2 * 100rpx;
|
|
|
+ color: #999;
|
|
|
+ height: 0.76 * 100rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .text .data .bnt {
|
|
|
- width: 1.36 * 100rpx;
|
|
|
- height: 0.44 * 100rpx;
|
|
|
- border-radius: 0.22 * 100rpx;
|
|
|
- font-size: 0.22 * 100rpx;
|
|
|
- color: #fff;
|
|
|
- text-align: center;
|
|
|
- line-height: 0.44 * 100rpx;
|
|
|
- background-color: red;
|
|
|
+ width: 1.36 * 100rpx;
|
|
|
+ height: 0.44 * 100rpx;
|
|
|
+ border-radius: 0.22 * 100rpx;
|
|
|
+ font-size: 0.22 * 100rpx;
|
|
|
+ color: #fff;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 0.44 * 100rpx;
|
|
|
+ background-color: red;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.coupon-list .item .text .data .bnt.gray {
|
|
|
- background-color: #ccc;
|
|
|
+ background-color: #ccc;
|
|
|
}
|
|
|
-</style>
|
|
|
-
|
|
|
+</style>
|