feat:优惠券
This commit is contained in:
@@ -50,9 +50,11 @@ export default {
|
|||||||
const res = await getAddress();
|
const res = await getAddress();
|
||||||
if (res && res.bizcode === 100) {
|
if (res && res.bizcode === 100) {
|
||||||
this.addressList = res.data;
|
this.addressList = res.data;
|
||||||
|
console.log("我是秦星星addressList", this.addressList);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
checkAddress(item) {
|
checkAddress(item) {
|
||||||
|
console.log("我是秦星星", item);
|
||||||
this.selectAddress = item;
|
this.selectAddress = item;
|
||||||
this.$emit("valueFunc", item);
|
this.$emit("valueFunc", item);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,16 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="ping-item" @click.stop="onClick">
|
<view class="ping-item" @click.stop="onClick">
|
||||||
<image
|
<image class="top-img" :src="obj.url" mode="widthFix" lazy-load />
|
||||||
class="top-img"
|
|
||||||
:src="obj.url"
|
|
||||||
mode="widthFix"
|
|
||||||
lazy-load
|
|
||||||
/>
|
|
||||||
<view class="shop-bottom-panel">
|
<view class="shop-bottom-panel">
|
||||||
<text class="title text-30 text-zu text-overflow">
|
<text class="title text-30 text-zu text-overflow">
|
||||||
{{ obj.title }}
|
{{ obj.title }}
|
||||||
</text>
|
</text>
|
||||||
<view class="flex-r-lr price-line">
|
<!-- 有优惠券 -->
|
||||||
|
<view class="flex-r-lr price-line coupon-line" v-if="obj.buyDeductionValue">
|
||||||
|
<view class="text-28 text-zi text-bold">
|
||||||
|
<view class="text-36 text-bold">{{ obj.buyDeductionValue }}抵扣券</view>
|
||||||
|
<view class="text-24">+{{ obj.price }}元</view>
|
||||||
|
</view>
|
||||||
|
<text class="text-20 sold">兑换</text>
|
||||||
|
</view>
|
||||||
|
<!-- 无优惠券 -->
|
||||||
|
<view class="flex-r-lr price-line" v-else>
|
||||||
<text class="text-28 text-zi text-bold">¥{{ obj.price }}</text>
|
<text class="text-28 text-zi text-bold">¥{{ obj.price }}</text>
|
||||||
<text class="text-24 sold">已售{{ obj.sales }}件</text>
|
<text class="text-24 sold">已售{{ obj.sales }}件</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -41,7 +45,8 @@ export default {
|
|||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
margin-bottom: 0; /* 瀑布流父层控制间距,这里清零 */
|
margin-bottom: 0;
|
||||||
|
/* 瀑布流父层控制间距,这里清零 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-img {
|
.top-img {
|
||||||
@@ -75,15 +80,48 @@ export default {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.text-30 { font-size: 30rpx; }
|
|
||||||
.text-28 { font-size: 28rpx; }
|
.text-30 {
|
||||||
.text-24 { font-size: 24rpx; }
|
font-size: 30rpx;
|
||||||
.text-zu { color: #333; }
|
}
|
||||||
.text-zi { color: #7A35F6; }
|
|
||||||
.text-bold { font-weight: bold; }
|
.text-28 {
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-24 {
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-zu {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-zi {
|
||||||
|
color: #7A35F6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-bold {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
.flex-r-lr {
|
.flex-r-lr {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.coupon-line {
|
||||||
|
.sold {
|
||||||
|
width: 98rpx;
|
||||||
|
height: 64rpx;
|
||||||
|
background: linear-gradient(270deg, #B164FB 0%, #7934F6 100%);
|
||||||
|
border-radius: 8rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -21,9 +21,9 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="prize_draw_right_warp" v-if="item.type === 4" v-show="item.status === 1" @click="jumpGetFun(item)">
|
<view class="prize_draw_right_warp" v-if="item.type === 'goods'" v-show="item.status === 1" @click="jumpGetFun(item)">
|
||||||
去领取</view>
|
去领取</view>
|
||||||
<view class="prize_draw_right_warp yes_" v-if="item.type === 4" v-show="item.status === 2">已领取</view>
|
<view class="prize_draw_right_warp yes_" v-if="item.type === 'goods'" v-show="item.status === 2">已领取</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-else class="not_order_warp">
|
<view v-else class="not_order_warp">
|
||||||
<up-image src="https://static.tbmall.xin/static/not_order.png" width="80" height="80"
|
<up-image src="https://static.tbmall.xin/static/not_order.png" width="80" height="80"
|
||||||
|
|||||||
@@ -88,8 +88,9 @@
|
|||||||
<view class="content_item_yd_msg">(快递动态跟进请复制单号至[快递100官网] 查询)</view>
|
<view class="content_item_yd_msg">(快递动态跟进请复制单号至[快递100官网] 查询)</view>
|
||||||
<view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view>
|
<view>共{{ item.buyNum }}件,合计¥{{ item.sumAmount }}</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="collect_msg">运费:¥{{ item.postage }},商品总价:¥{{item.sumAmount}}</view>
|
<view class="collect_msg" v-if="item.buyDeductionValue">共{{ item.buyNum }}件,合计抵扣券{{item.buyDeductionValue}} +¥{{item.sumAmount}}</view>
|
||||||
<view class="collect_msg">共{{ item.buyNum }}件,合计¥{{ item.sumAmount + item.postage }}</view>
|
<view class="collect_msg" v-if="!item.buyDeductionValue">运费:¥{{ item.postage }},商品总价:¥{{item.sumAmount}}</view>
|
||||||
|
<view class="collect_msg" v-if="!item.buyDeductionValue">共{{ item.buyNum }}件,合计¥{{ item.sumAmount + item.postage }}</view>
|
||||||
<view class="collect_operate">
|
<view class="collect_operate">
|
||||||
<!-- <view class="operate_comm operate_but_1" v-if="item.status === ORDER_TYPE.UNSHIPPED" @click="checkCancel(true)">取消订单</view> -->
|
<!-- <view class="operate_comm operate_but_1" v-if="item.status === ORDER_TYPE.UNSHIPPED" @click="checkCancel(true)">取消订单</view> -->
|
||||||
<view class="operate_comm operate_but_2" v-if="
|
<view class="operate_comm operate_but_2" v-if="
|
||||||
|
|||||||
@@ -1,27 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<view
|
<view class="mine_order_info_warp" :style="{
|
||||||
class="mine_order_info_warp"
|
height: height,
|
||||||
:style="{
|
}">
|
||||||
height: height,
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
<up-loading-page :loading="listLoading"></up-loading-page>
|
<up-loading-page :loading="listLoading"></up-loading-page>
|
||||||
<view class="order_info_header">
|
<view class="order_info_header">
|
||||||
<up-image
|
<up-image src="/static/common/left_b.png" width="20" height="19" bgColor="#f1f6ff00" @click="jumpLeft"></up-image>
|
||||||
src="/static/common/left_b.png"
|
|
||||||
width="20"
|
|
||||||
height="19"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="jumpLeft"
|
|
||||||
></up-image>
|
|
||||||
<view class="header_status">
|
<view class="header_status">
|
||||||
<view style="margin-top: 10rpx">
|
<view style="margin-top: 10rpx">
|
||||||
<up-image
|
<up-image src="/static/common/order_status_1.png" width="20" height="19" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/order_status_1.png"
|
|
||||||
width="20"
|
|
||||||
height="19"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
<text class="msg">{{ getValue(ORDER_STATUS, orderInfo.status) }}</text>
|
<text class="msg">{{ getValue(ORDER_STATUS, orderInfo.status) }}</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -35,45 +21,25 @@
|
|||||||
<text style="font-size: 36rpx; font-weight: bold">{{
|
<text style="font-size: 36rpx; font-weight: bold">{{
|
||||||
orderInfo.sumAmount
|
orderInfo.sumAmount
|
||||||
}}</text>
|
}}</text>
|
||||||
<text style="font-size: 20rpx; font-weight: bold; margin-left: 20rpx"
|
<text style="font-size: 20rpx; font-weight: bold; margin-left: 20rpx">订单</text>
|
||||||
>订单</text
|
<text style="font-size: 28rpx; font-weight: bold; margin-left: 10rpx">{{ formatDate1(orderInfo.expireTime)
|
||||||
>
|
}}</text>
|
||||||
<text
|
<text style="font-size: 20rpx; font-weight: bold"> 自动取消</text>
|
||||||
style="font-size: 28rpx; font-weight: bold; margin-left: 10rpx"
|
|
||||||
>{{ formatDate1(orderInfo.expireTime) }}</text
|
|
||||||
>
|
|
||||||
<text style="font-size: 20rpx; font-weight: bold"
|
|
||||||
> 自动取消</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="content_cancel" v-if="orderInfo.status === ORDER_TYPE.CANCELED">取消原因:超时未支付</view>
|
||||||
class="content_cancel"
|
|
||||||
v-if="orderInfo.status === ORDER_TYPE.CANCELED"
|
|
||||||
>取消原因:超时未支付</view
|
|
||||||
>
|
|
||||||
<!-- 地址 -->
|
<!-- 地址 -->
|
||||||
<view class="steps_warp">
|
<view class="steps_warp">
|
||||||
<!-- 物流单号 -->
|
<!-- 物流单号 -->
|
||||||
<view class="address_info">
|
<view class="address_info">
|
||||||
<view class="address_data_warp">
|
<view class="address_data_warp">
|
||||||
<up-image
|
<up-image src="/static/common/waybill.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/waybill.png"
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view class="address_info_name">订单编号:</view>
|
<view class="address_info_name">订单编号:</view>
|
||||||
<view class="address_info_mobile" style="margin-right: 20rpx">{{
|
<view class="address_info_mobile" style="margin-right: 20rpx">{{
|
||||||
orderInfo.orderNum
|
orderInfo.orderNum
|
||||||
}}</view>
|
}}</view>
|
||||||
<up-image
|
<up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00"
|
||||||
src="/static/common/copy.png"
|
@click="copyData(orderInfo.orderNum)"></up-image>
|
||||||
width="14"
|
|
||||||
height="14"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="copyData(orderInfo.orderNum)"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="address_info_right"> </view>
|
<view class="address_info_right"> </view>
|
||||||
@@ -81,12 +47,7 @@
|
|||||||
<view class="address_warp">
|
<view class="address_warp">
|
||||||
<view class="address_info">
|
<view class="address_info">
|
||||||
<view class="address_data_warp">
|
<view class="address_data_warp">
|
||||||
<up-image
|
<up-image src="/static/common/address.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/address.png"
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view class="address_info_name">{{ orderInfo.name }}</view>
|
<view class="address_info_name">{{ orderInfo.name }}</view>
|
||||||
<view class="address_info_mobile">{{ orderInfo.phone }}</view>
|
<view class="address_info_mobile">{{ orderInfo.phone }}</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -102,42 +63,25 @@
|
|||||||
<view class="order_comm order_product_warp">
|
<view class="order_comm order_product_warp">
|
||||||
<!-- 头部 -->
|
<!-- 头部 -->
|
||||||
<view class="order_product_header">
|
<view class="order_product_header">
|
||||||
<up-image
|
<up-image :src="orderInfo.shopLogo" width="22" height="22" bgColor="#f1f6ff00" shape="circle"></up-image>
|
||||||
:src="orderInfo.shopLogo"
|
|
||||||
width="22"
|
|
||||||
height="22"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
shape="circle"
|
|
||||||
></up-image>
|
|
||||||
<view class="order_product_title">{{ orderInfo.shopName }}</view>
|
<view class="order_product_title">{{ orderInfo.shopName }}</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 产品详情 -->
|
<!-- 产品详情 -->
|
||||||
<view class="order_item_content">
|
<view class="order_item_content">
|
||||||
<view v-for="pItem in orderInfo.items" :key="pItem.id">
|
<view v-for="pItem in orderInfo.items" :key="pItem.id">
|
||||||
<view class="content_item">
|
<view class="content_item">
|
||||||
<up-image
|
<up-image :src="pItem.mainGraph" width="80" height="80" bgColor="#f1f6ff00"></up-image>
|
||||||
:src="pItem.mainGraph"
|
|
||||||
width="80"
|
|
||||||
height="80"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view class="content_info">
|
<view class="content_info">
|
||||||
<view class="content_info_title">{{ pItem.title }}</view>
|
<view class="content_info_title">{{ pItem.title }}</view>
|
||||||
<view class="content_info_tag">{{ pItem.goodsSpece }}</view>
|
<view class="content_info_tag">{{ pItem.goodsSpece }}</view>
|
||||||
<view>
|
<view>
|
||||||
<text
|
<text class="content_info_description" v-for="dItem in pItem.description" :key="dItem">
|
||||||
class="content_info_description"
|
|
||||||
v-for="dItem in pItem.description"
|
|
||||||
:key="dItem"
|
|
||||||
>
|
|
||||||
{{ dItem }}
|
{{ dItem }}
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content_right">
|
<view class="content_right">
|
||||||
<view class="content_right_total"
|
<view class="content_right_total">¥{{ pItem.goodsAmount }}</view>
|
||||||
>¥{{ pItem.goodsAmount }}</view
|
|
||||||
>
|
|
||||||
<view class="content_right_quantity">x{{ pItem.buyNum }}</view>
|
<view class="content_right_quantity">x{{ pItem.buyNum }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -147,13 +91,8 @@
|
|||||||
<view class="item_value">
|
<view class="item_value">
|
||||||
<view>{{ pItem.expressNo }} </view>
|
<view>{{ pItem.expressNo }} </view>
|
||||||
<view style="margin-left: 10rpx">
|
<view style="margin-left: 10rpx">
|
||||||
<up-image
|
<up-image src="/static/common/copy.png" width="14" height="14" bgColor="#f1f6ff00"
|
||||||
src="/static/common/copy.png"
|
@click="copyData(pItem.expressNo)"></up-image>
|
||||||
width="14"
|
|
||||||
height="14"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="copyData(pItem.expressNo)"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -166,25 +105,27 @@
|
|||||||
<view class="order_comm order_data_warp">
|
<view class="order_comm order_data_warp">
|
||||||
<view class="data_item">
|
<view class="data_item">
|
||||||
<view class="item_title">商品总价</view>
|
<view class="item_title">商品总价</view>
|
||||||
<view class="item_value">¥{{ orderInfo.sumAmount }}</view>
|
<view class="item_value" v-if="!orderInfo.buyDeductionValue">¥{{ orderInfo.sumAmount }}</view>
|
||||||
|
<view class="item_value" v-else>抵扣券{{ orderInfo.buyDeductionValue }} +¥{{ orderInfo.sumAmount }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="data_item">
|
<view class="data_item">
|
||||||
<view class="item_title">快递运费</view>
|
<view class="item_title">快递运费</view>
|
||||||
<view class="item_value">¥{{ orderInfo.postage }}</view>
|
<view class="item_value">¥{{ orderInfo.postage }}</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="data_item" v-if="orderInfo.buyDeductionValue">
|
||||||
|
<view class="item_title">抵扣券</view>
|
||||||
|
<view class="item_value" style="color: #7934F6">{{ orderInfo.buyDeductionValue }}抵扣券</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="data_item">
|
<view class="data_item">
|
||||||
<view class="item_title"
|
<view class="item_title">平台优惠<text class="copy_order_coupon" v-if="orderInfo.coupon">优惠券</text></view>
|
||||||
>平台优惠<text class="copy_order_coupon" v-if="orderInfo.coupon"
|
|
||||||
>优惠券</text
|
|
||||||
></view
|
|
||||||
>
|
|
||||||
<view class="item_value">-¥0.00</view>
|
<view class="item_value">-¥0.00</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="data_item">
|
<view class="data_item">
|
||||||
<view class="item_title">应付款</view>
|
<view class="item_title">应付款</view>
|
||||||
<view class="item_value pay_amount"
|
<view class="item_value pay_amount">¥{{ orderInfo.sumAmount + orderInfo.postage }}</view>
|
||||||
>¥{{ orderInfo.sumAmount + orderInfo.postage }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="order_data_but"></view>
|
<view class="order_data_but"></view>
|
||||||
|
|
||||||
@@ -208,77 +149,45 @@
|
|||||||
|
|
||||||
<view class="code_content" v-if="orderInfo.antChainHash">
|
<view class="code_content" v-if="orderInfo.antChainHash">
|
||||||
<view>
|
<view>
|
||||||
<view style="font-size: 28rpx; color: #333; font-weight: bold"
|
<view style="font-size: 28rpx; color: #333; font-weight: bold">您的订单已接入蚂蚁链溯源</view>
|
||||||
>您的订单已接入蚂蚁链溯源</view
|
<view style="font-size: 20rpx; color: #999; margin-bottom: 18rpx">扫描二维码或复制下方链接查看溯源信息</view>
|
||||||
>
|
<view class="code_content_item">
|
||||||
<view style="font-size: 20rpx; color: #999; margin-bottom: 18rpx"
|
<view class="code_content_item_text">
|
||||||
>扫描二维码或复制下方链接查看溯源信息</view
|
|
||||||
>
|
|
||||||
<view class="code_content_item"><view class="code_content_item_text">
|
|
||||||
{{
|
{{
|
||||||
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
|
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
|
||||||
}}
|
}}
|
||||||
</view>
|
</view>
|
||||||
<up-image
|
<up-image style="margin-left: 8rpx" src="/static/rwa/copy.png" width="12" @click="
|
||||||
style="margin-left: 8rpx"
|
copyData(
|
||||||
src="/static/rwa/copy.png"
|
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
|
||||||
width="12"
|
)
|
||||||
@click="
|
" height="12" bgColor="#f1f6ff00"></up-image>
|
||||||
copyData(
|
</view>
|
||||||
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
|
|
||||||
)
|
|
||||||
"
|
|
||||||
height="12"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image
|
|
||||||
></view>
|
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<up-qrcode
|
<up-qrcode
|
||||||
:val="`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`"
|
:val="`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`"
|
||||||
:size="63"
|
:size="63"
|
||||||
@click.stop="previewQrcode(`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`)"
|
@click.stop="previewQrcode(`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`)"></up-qrcode>
|
||||||
></up-qrcode>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 支付方式 -->
|
<!-- 支付方式 -->
|
||||||
<view
|
<view class="order_way_warp" @click="wayShowFun(true)" v-if="orderInfo.status === ORDER_TYPE.UNPAID">
|
||||||
class="order_way_warp"
|
|
||||||
@click="wayShowFun(true)"
|
|
||||||
v-if="orderInfo.status === ORDER_TYPE.UNPAID"
|
|
||||||
>
|
|
||||||
<view>支付方式</view>
|
<view>支付方式</view>
|
||||||
<view class="order_way_right">
|
<view class="order_way_right">
|
||||||
{{ getValue(wayOption, wayForm.payway) }}
|
{{ getValue(wayOption, wayForm.payway) }}
|
||||||
<up-image
|
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/right.png"
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="collect_operate order_but_warp" v-if="
|
||||||
class="collect_operate order_but_warp"
|
[ORDER_TYPE.UNPAID, ORDER_TYPE.NOT_RECEIVE].includes(orderInfo.status)
|
||||||
v-if="
|
">
|
||||||
[ORDER_TYPE.UNPAID, ORDER_TYPE.NOT_RECEIVE].includes(orderInfo.status)
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.UNSHIPPED">取消订单</view> -->
|
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.UNSHIPPED">取消订单</view> -->
|
||||||
<view
|
<view class="operate_comm operate_but_2" v-if="orderInfo.status === ORDER_TYPE.UNPAID" @click="goPay">去付款</view>
|
||||||
class="operate_comm operate_but_2"
|
|
||||||
v-if="orderInfo.status === ORDER_TYPE.UNPAID"
|
|
||||||
@click="goPay"
|
|
||||||
>去付款</view
|
|
||||||
>
|
|
||||||
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.COMPLETED">申请退款</view> -->
|
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.COMPLETED">申请退款</view> -->
|
||||||
<view
|
<view class="operate_comm operate_but_2" v-if="orderInfo.status === ORDER_TYPE.NOT_RECEIVE"
|
||||||
class="operate_comm operate_but_2"
|
@click="confirmReceiptOk(orderInfo)">确认收货</view>
|
||||||
v-if="orderInfo.status === ORDER_TYPE.NOT_RECEIVE"
|
|
||||||
@click="confirmReceiptOk(orderInfo)"
|
|
||||||
>确认收货</view
|
|
||||||
>
|
|
||||||
<!-- <view class="operate_comm operate_but_3" v-if="orderInfo.status === ORDER_TYPE.UNSHIPPED">提醒发货</view> -->
|
<!-- <view class="operate_comm operate_but_3" v-if="orderInfo.status === ORDER_TYPE.UNSHIPPED">提醒发货</view> -->
|
||||||
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.COMPLETED">申请售后</view> -->
|
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.COMPLETED">申请售后</view> -->
|
||||||
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.AFTER_SALE">查看售后</view> -->
|
<!-- <view class="operate_comm operate_but_1" v-if="orderInfo.status === ORDER_TYPE.AFTER_SALE">查看售后</view> -->
|
||||||
@@ -287,38 +196,22 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 选择支付方式 -->
|
<!-- 选择支付方式 -->
|
||||||
<up-popup
|
<up-popup v-model:show="wayShow" :round="10" :closeOnClickOverlay="false" :closeable="true"
|
||||||
v-model:show="wayShow"
|
:safeAreaInsetBottom="false">
|
||||||
:round="10"
|
|
||||||
:closeOnClickOverlay="false"
|
|
||||||
:closeable="true"
|
|
||||||
:safeAreaInsetBottom="false"
|
|
||||||
>
|
|
||||||
<view class="way_popup_warp">
|
<view class="way_popup_warp">
|
||||||
<view class="way_popup_title">支付方式</view>
|
<view class="way_popup_title">支付方式</view>
|
||||||
<up-radio-group v-model="wayForm.payway" placement="column">
|
<up-radio-group v-model="wayForm.payway" placement="column">
|
||||||
<view
|
<view v-for="item in wayOption" :key="item.id" style="margin-bottom: 10rpx">
|
||||||
v-for="item in wayOption"
|
|
||||||
:key="item.id"
|
|
||||||
style="margin-bottom: 10rpx"
|
|
||||||
>
|
|
||||||
<view class="way_item">
|
<view class="way_item">
|
||||||
<view class="way_item_">
|
<view class="way_item_">
|
||||||
<!-- <view style="margin-top: 2rpx;"><up-image :src="item.path" width="20" height="20" bgColor="#f1f6ff00"></up-image></view> -->
|
<!-- <view style="margin-top: 2rpx;"><up-image :src="item.path" width="20" height="20" bgColor="#f1f6ff00"></up-image></view> -->
|
||||||
<view class="way_item_val"
|
<view class="way_item_val">{{ item.name
|
||||||
>{{ item.name
|
}}<text v-if="item.balance"> (¥{{ item.balance }})</text>
|
||||||
}}<text v-if="item.balance"
|
|
||||||
> (¥{{ item.balance }})</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<up-radio :name="item.type" activeColor="#FF7C41"> </up-radio>
|
<up-radio :name="item.type" activeColor="#FF7C41"> </up-radio>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="balance_comm_msg" v-if="item.type === 'balance' && isShowBalance">当前现金余额不足,如需支付请前往充值</view>
|
||||||
class="balance_comm_msg"
|
|
||||||
v-if="item.type === 'balance' && isShowBalance"
|
|
||||||
>当前现金余额不足,如需支付请前往充值</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</up-radio-group>
|
</up-radio-group>
|
||||||
<view class="popup_but" @click="wayShow = false"> 确认 </view>
|
<view class="popup_but" @click="wayShow = false"> 确认 </view>
|
||||||
@@ -565,7 +458,7 @@ export default {
|
|||||||
this.id,
|
this.id,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
previewQrcode(val) {
|
previewQrcode(val) {
|
||||||
console.log("val--", val);
|
console.log("val--", val);
|
||||||
this.qrcodeVal = val;
|
this.qrcodeVal = val;
|
||||||
this.$refs.qrcodePreview.open();
|
this.$refs.qrcodePreview.open();
|
||||||
@@ -583,11 +476,13 @@ export default {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 48rpx;
|
margin-bottom: 48rpx;
|
||||||
|
|
||||||
.code_content_item {
|
.code_content_item {
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
color: #7934f6;
|
color: #7934f6;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.code_content_item_text {
|
.code_content_item_text {
|
||||||
width: 350rpx;
|
width: 350rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -598,6 +493,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mine_order_info_warp {
|
.mine_order_info_warp {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
// height: calc(100vh - 180rpx);
|
// height: calc(100vh - 180rpx);
|
||||||
@@ -681,8 +577,7 @@ export default {
|
|||||||
margin: 10rpx 20rpx;
|
margin: 10rpx 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.address_warp {
|
.address_warp {}
|
||||||
}
|
|
||||||
|
|
||||||
.address_info {
|
.address_info {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -1,33 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="order_submit_warp">
|
<view class="order_submit_warp">
|
||||||
<Header
|
<Header :leftTitle="$t('order.submit.title')" leftPathType="switchTab"
|
||||||
:leftTitle="$t('order.submit.title')"
|
leftPath="/pages/shopping_cart/shopping_cart" />
|
||||||
leftPathType="switchTab"
|
|
||||||
leftPath="/pages/shopping_cart/shopping_cart"
|
|
||||||
/>
|
|
||||||
<!-- 收件人信息 -->
|
<!-- 收件人信息 -->
|
||||||
<view
|
<view class="order_submit_header_warp" @click="checkAddressShow(true, 'data')"
|
||||||
class="order_submit_header_warp"
|
v-if="orderInfo.address && Object.keys(orderInfo.address).length !== 0">
|
||||||
@click="checkAddressShow(true, 'data')"
|
|
||||||
v-if="orderInfo.address && Object.keys(orderInfo.address).length !== 0"
|
|
||||||
>
|
|
||||||
<view class="header_areaAddress_warp">
|
<view class="header_areaAddress_warp">
|
||||||
<view
|
<view class="tab-comm areaAddress_default" v-if="orderInfo.address.isDefault">默认</view>
|
||||||
class="tab-comm areaAddress_default"
|
|
||||||
v-if="orderInfo.address.isDefault"
|
|
||||||
>默认</view
|
|
||||||
>
|
|
||||||
<!-- <view class="tab-comm areaAddress_tab">家</view> -->
|
<!-- <view class="tab-comm areaAddress_tab">家</view> -->
|
||||||
<text>{{ assembleAddress(orderInfo.address).names }}</text>
|
<text>{{ assembleAddress(orderInfo.address).names }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="header_detailedAddress_warp">
|
<view class="header_detailedAddress_warp">
|
||||||
<view style="width: 90%">{{ orderInfo.address.address }}</view>
|
<view style="width: 90%">{{ orderInfo.address.address }}</view>
|
||||||
<up-image
|
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/right.png"
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="header_name_warp">
|
<view class="header_name_warp">
|
||||||
<text style="margin-right: 20rpx">{{ orderInfo.address.name }}</text>
|
<text style="margin-right: 20rpx">{{ orderInfo.address.name }}</text>
|
||||||
@@ -39,167 +24,92 @@
|
|||||||
<view class="no_address_title">
|
<view class="no_address_title">
|
||||||
<view>请填写地址</view>
|
<view>请填写地址</view>
|
||||||
<view style="margin-top: 10rpx">
|
<view style="margin-top: 10rpx">
|
||||||
<up-image
|
<up-image src="/static/common/right.png" width="14" height="14" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/right.png"
|
|
||||||
width="14"
|
|
||||||
height="14"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="no_address_msg">您还未添加收货地址,请完善地址!</view>
|
<view class="no_address_msg">您还未添加收货地址,请完善地址!</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 店铺信息 -->
|
<!-- 店铺信息 -->
|
||||||
<view
|
<view class="order_store_warp order_product_warp" v-for="(item, index) in orderInfo.shops" :key="item.id">
|
||||||
class="order_store_warp order_product_warp"
|
|
||||||
v-for="(item, index) in orderInfo.shops"
|
|
||||||
:key="item.id"
|
|
||||||
>
|
|
||||||
<!-- 头部 -->
|
<!-- 头部 -->
|
||||||
<view class="order_product_header">
|
<view class="order_product_header">
|
||||||
<up-image
|
<up-image :src="item.logo" width="22" height="22" bgColor="#f1f6ff00" shape="circle"></up-image>
|
||||||
:src="item.logo"
|
|
||||||
width="22"
|
|
||||||
height="22"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
shape="circle"
|
|
||||||
></up-image>
|
|
||||||
<view class="order_product_title">{{ item.name }}</view>
|
<view class="order_product_title">{{ item.name }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-for="(addItem, addIndex) in item.addrTimes" :key="addIndex">
|
<view v-for="(addItem, addIndex) in item.addrTimes" :key="addIndex">
|
||||||
<!-- 单个地址 -->
|
<!-- 单个地址 -->
|
||||||
<view
|
<view v-if="addItem.address" class="shops_address_warp"
|
||||||
v-if="addItem.address"
|
@click="checkAddressShow(true, 'addrTimes', addIndex, index)">
|
||||||
class="shops_address_warp"
|
|
||||||
@click="checkAddressShow(true, 'addrTimes', addIndex, index)"
|
|
||||||
>
|
|
||||||
<view class="shops_address_warp_title">
|
<view class="shops_address_warp_title">
|
||||||
<text style="margin-right: 20rpx">{{ addItem.address.name }}</text>
|
<text style="margin-right: 20rpx">{{ addItem.address.name }}</text>
|
||||||
<text>{{ addItem.address.address }}</text>
|
<text>{{ addItem.address.address }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<up-image
|
<up-image src="/static/common/right.png" width="16" height="16" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/right.png"
|
|
||||||
width="16"
|
|
||||||
height="16"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 产品详情 -->
|
<!-- 产品详情 -->
|
||||||
<view
|
<view v-if="ids" class="order_item_content" v-for="(pItem, pIndex) in addItem.goods" :key="pItem.id">
|
||||||
v-if="ids"
|
<up-image :src="pItem.img" width="80" height="80" bgColor="#f1f6ff00"
|
||||||
class="order_item_content"
|
@click="jumpProductInfo(pItem)"></up-image>
|
||||||
v-for="(pItem, pIndex) in addItem.goods"
|
|
||||||
:key="pItem.id"
|
|
||||||
>
|
|
||||||
<up-image
|
|
||||||
:src="pItem.img"
|
|
||||||
width="80"
|
|
||||||
height="80"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="jumpProductInfo(pItem)"
|
|
||||||
></up-image>
|
|
||||||
<view class="content_info_right">
|
<view class="content_info_right">
|
||||||
<view
|
<view class="content_info_left_total" @click="jumpProductInfo(pItem)">
|
||||||
class="content_info_left_total"
|
|
||||||
@click="jumpProductInfo(pItem)"
|
|
||||||
>
|
|
||||||
<view class="content_info_title">{{ pItem.title }}</view>
|
<view class="content_info_title">{{ pItem.title }}</view>
|
||||||
<view class="content_info_tag">{{ pItem.specs }}</view>
|
<view class="content_info_tag">{{ pItem.specs }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content_info_right_total">
|
<view class="content_info_right_total">
|
||||||
<view class="content_right_total">
|
<view class="content_right_total">
|
||||||
<view
|
<view>¥<text style="font-size: 36rpx">{{
|
||||||
>¥<text style="font-size: 36rpx">{{
|
pItem.totalPrice
|
||||||
pItem.totalPrice
|
}}</text></view>
|
||||||
}}</text></view
|
|
||||||
>
|
|
||||||
<view>每件到手价¥{{ pItem.unitPrice }}</view>
|
<view>每件到手价¥{{ pItem.unitPrice }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="shopping_info_quantity">
|
<view class="shopping_info_quantity">
|
||||||
<view
|
<view class="quantity_but" @click="quantityFun('minus', index, addIndex, pIndex)">-</view>
|
||||||
class="quantity_but"
|
|
||||||
@click="quantityFun('minus', index, addIndex, pIndex)"
|
|
||||||
>-</view
|
|
||||||
>
|
|
||||||
<view class="quantity_value">{{ pItem.num }}</view>
|
<view class="quantity_value">{{ pItem.num }}</view>
|
||||||
<view
|
<view class="quantity_but" @click="quantityFun('add', index, addIndex, pIndex)">+</view>
|
||||||
class="quantity_but"
|
|
||||||
@click="quantityFun('add', index, addIndex, pIndex)"
|
|
||||||
>+</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
|
||||||
v-else
|
<view v-else class="order_item_content" v-for="(pItem, pIndex) in addItem.goods" :key="'else-' + pItem.id">
|
||||||
class="order_item_content"
|
<up-image :src="pItem.img" width="80" height="80" bgColor="#f1f6ff00"
|
||||||
v-for="(pItem, pIndex) in addItem.goods"
|
@click="jumpProductInfo(pItem)"></up-image>
|
||||||
:key="pItem.id"
|
|
||||||
>
|
|
||||||
<up-image
|
|
||||||
:src="pItem.img"
|
|
||||||
width="80"
|
|
||||||
height="80"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="jumpProductInfo(pItem)"
|
|
||||||
></up-image>
|
|
||||||
<view class="content_info_right">
|
<view class="content_info_right">
|
||||||
<view
|
<view class="content_info_left_total" @click="jumpProductInfo(pItem)">
|
||||||
class="content_info_left_total"
|
|
||||||
@click="jumpProductInfo(pItem)"
|
|
||||||
>
|
|
||||||
<view class="content_info_title">{{ pItem.title }}</view>
|
<view class="content_info_title">{{ pItem.title }}</view>
|
||||||
<view class="content_info_tag">{{ pItem.specs }}</view>
|
<view class="content_info_tag">{{ pItem.specs }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content_info_right_total">
|
<view class="content_info_right_total">
|
||||||
<view class="content_right_total">
|
<view class="content_right_total">
|
||||||
<view
|
<view>¥<text style="font-size: 36rpx">{{
|
||||||
>¥<text style="font-size: 36rpx">{{
|
pItem.totalPrice
|
||||||
pItem.totalPrice
|
}}</text></view>
|
||||||
}}</text></view
|
|
||||||
>
|
|
||||||
<view>每件到手价¥{{ pItem.unitPrice }}</view>
|
<view>每件到手价¥{{ pItem.unitPrice }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="shopping_info_quantity">
|
<view class="shopping_info_quantity">
|
||||||
<view
|
<view class="quantity_but" @click="quantityFun('minus', index, addIndex, pIndex)">-</view>
|
||||||
class="quantity_but"
|
|
||||||
@click="quantityFun('minus', index, addIndex, pIndex)"
|
|
||||||
>-</view
|
|
||||||
>
|
|
||||||
<view class="quantity_value">{{ pItem.num }}</view>
|
<view class="quantity_value">{{ pItem.num }}</view>
|
||||||
<view
|
<view class="quantity_but" @click="quantityFun('add', index, addIndex, pIndex)">+</view>
|
||||||
class="quantity_but"
|
|
||||||
@click="quantityFun('add', index, addIndex, pIndex)"
|
|
||||||
>+</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="content_info_right_remark">
|
<view class="content_info_right_remark">
|
||||||
<view class="title">留言</view>
|
<view class="title">留言</view>
|
||||||
<up-input
|
<up-input placeholder="建议留言前先与商家沟通确认" border="surround" v-model="addItem.remark" :customStyle="{
|
||||||
placeholder="建议留言前先与商家沟通确认"
|
'text-align': 'right !important',
|
||||||
border="surround"
|
border: '0rpx',
|
||||||
v-model="addItem.remark"
|
}" style="text-align: right"></up-input>
|
||||||
:customStyle="{
|
|
||||||
'text-align': 'right !important',
|
|
||||||
border: '0rpx',
|
|
||||||
}"
|
|
||||||
style="text-align: right"
|
|
||||||
></up-input>
|
|
||||||
</view>
|
</view>
|
||||||
<!-- 运费 -->
|
<!-- 运费 -->
|
||||||
<view class="order_freight_warp" v-if="orderInfo">
|
<view class="order_freight_warp" v-if="orderInfo">
|
||||||
<view class="order_freight_item">
|
<view class="order_freight_item">
|
||||||
<view
|
<view>运费<text style="color: #c0c3c6; margin-left: 20rpx">{{
|
||||||
>运费<text style="color: #c0c3c6; margin-left: 20rpx">{{
|
getValue(PRODUCT_DELIVERY_TIME, addItem.deliveryTime)
|
||||||
getValue(PRODUCT_DELIVERY_TIME, addItem.deliveryTime)
|
}}</text></view>
|
||||||
}}</text></view
|
|
||||||
>
|
|
||||||
<view class="value_">
|
<view class="value_">
|
||||||
{{ orderInfo.postage ? "¥" + orderInfo.postage : "包邮" }}
|
{{ orderInfo.postage ? "¥" + orderInfo.postage : "包邮" }}
|
||||||
</view>
|
</view>
|
||||||
@@ -220,42 +130,33 @@
|
|||||||
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
</view>
|
</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
|
<!-- 优惠券信息 -->
|
||||||
|
<view class="order_way_warp_two" v-if="isCoupon">
|
||||||
|
<view class="price-view">
|
||||||
|
<text class="text-32 text-zu">抵扣券余额</text>
|
||||||
|
<text class="text-32 text-zu text-bold">{{ couponData.balance || 0 }}</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="price-view">
|
||||||
|
<text class="text-32 text-zu">实付抵扣券 </text>
|
||||||
|
<text class="text-32 text-zu text-bold">{{ buyCouponvalue }}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="order_way_warp_two">
|
<view class="order_way_warp_two">
|
||||||
<text class="text-32 text-zu">支付方式</text>
|
<text class="text-32 text-zu">支付方式</text>
|
||||||
<up-radio-group v-model="orderInfo.paymentMethod" placement="column">
|
<up-radio-group v-model="orderInfo.paymentMethod" placement="column">
|
||||||
<view
|
<view v-for="(item, index) in wayOption" :key="item.id" class="way-option" :style="{
|
||||||
v-for="(item, index) in wayOption"
|
borderWidth: wayOption.length - 1 == index ? '0rpx' : '2rpx',
|
||||||
:key="item.id"
|
}">
|
||||||
class="way-option"
|
|
||||||
:style="{
|
|
||||||
borderWidth: wayOption.length - 1 == index ? '0rpx' : '2rpx',
|
|
||||||
}"
|
|
||||||
>
|
|
||||||
<view class="way-option-item">
|
<view class="way-option-item">
|
||||||
<image
|
<image v-if="item.type == 'wechat'" src="https://static.tbmall.xin/static/new/wx.png"></image>
|
||||||
v-if="item.type == 'wechat'"
|
<image v-if="item.type == 'alipay'" src="https://static.tbmall.xin/static/new/zfb.png"></image>
|
||||||
src="https://static.tbmall.xin/static/new/wx.png"
|
<image v-if="item.type == 'balance'" src="https://static.tbmall.xin/static/new/bank.png"></image>
|
||||||
></image>
|
<image v-if="item.type == 'redpacket'" src="https://static.tbmall.xin/static/new/jf.png"></image>
|
||||||
<image
|
<text v-if="item.type == 'wechat' || item.type == 'alipay'" class="text-32 text-zu"
|
||||||
v-if="item.type == 'alipay'"
|
style="margin-left: 20rpx">{{ item.name }}</text>
|
||||||
src="https://static.tbmall.xin/static/new/zfb.png"
|
<text v-else style="margin-left: 20rpx" class="text-32 text-zu">{{ item.name }}
|
||||||
></image>
|
|
||||||
<image
|
|
||||||
v-if="item.type == 'balance'"
|
|
||||||
src="https://static.tbmall.xin/static/new/bank.png"
|
|
||||||
></image>
|
|
||||||
<image
|
|
||||||
v-if="item.type == 'redpacket'"
|
|
||||||
src="https://static.tbmall.xin/static/new/jf.png"
|
|
||||||
></image>
|
|
||||||
<text
|
|
||||||
v-if="item.type == 'wechat' || item.type == 'alipay'"
|
|
||||||
class="text-32 text-zu"
|
|
||||||
style="margin-left: 20rpx"
|
|
||||||
>{{ item.name }}</text
|
|
||||||
>
|
|
||||||
<text v-else style="margin-left: 20rpx" class="text-32 text-zu"
|
|
||||||
>{{ item.name }}
|
|
||||||
<text style="color: #999; margin: 0 10rpx">可用:</text>
|
<text style="color: #999; margin: 0 10rpx">可用:</text>
|
||||||
{{ item.balance }}
|
{{ item.balance }}
|
||||||
</text>
|
</text>
|
||||||
@@ -267,15 +168,25 @@
|
|||||||
<view class="order_way_warp_two">
|
<view class="order_way_warp_two">
|
||||||
<view class="price-view">
|
<view class="price-view">
|
||||||
<text class="text-32 text-zu">商品总价</text>
|
<text class="text-32 text-zu">商品总价</text>
|
||||||
<text class="text-32 text-zu text-bold"
|
<text class="text-32 text-zu text-bold" v-if="isCoupon">
|
||||||
>¥{{ orderInfo.amount - orderInfo.postage + (orderInfo.enterpriseAmount || 0) }}</text
|
{{ `${buyCouponvalue}抵扣券+${orderInfo.amount - (orderInfo.postage || 0) +
|
||||||
>
|
(orderInfo.enterpriseAmount
|
||||||
|
|| 0)}元` }}
|
||||||
|
</text>
|
||||||
|
<text class="text-32 text-zu text-bold" v-else>¥{{ orderInfo.amount - orderInfo.postage +
|
||||||
|
(orderInfo.enterpriseAmount
|
||||||
|
|| 0) }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="price-view">
|
<view class="price-view">
|
||||||
<text class="text-32 text-zu">运费</text>
|
<text class="text-32 text-zu">运费</text>
|
||||||
<text class="text-32 text-zu text-bold">¥{{ orderInfo.postage }}</text>
|
<text class="text-32 text-zu text-bold">¥{{ orderInfo.postage }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="price-view" v-if="user.isEnterpriseUser">
|
|
||||||
|
<view class="price-view" v-if="isCoupon">
|
||||||
|
<text class="text-32 text-zu">抵扣券</text>
|
||||||
|
<text class="text-32 text-zu text-bold">{{ buyCouponvalue }}抵扣券</text>
|
||||||
|
</view>
|
||||||
|
<view class="price-view" v-if="user?.isEnterpriseUser">
|
||||||
<text class="text-32 text-zu">企业用户优惠</text>
|
<text class="text-32 text-zu">企业用户优惠</text>
|
||||||
<text class="text-32 text-zu text-bold">¥{{ orderInfo.enterpriseAmount }}</text>
|
<text class="text-32 text-zu text-bold">¥{{ orderInfo.enterpriseAmount }}</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -288,55 +199,34 @@
|
|||||||
<!-- 去支付的固定按钮 -->
|
<!-- 去支付的固定按钮 -->
|
||||||
<view class="order_pay_but">
|
<view class="order_pay_but">
|
||||||
<view class="price_">
|
<view class="price_">
|
||||||
<text class="text-32" style="color: #999; font-weight: 400"
|
<text class="text-32" style="color: #999; font-weight: 400">共
|
||||||
>共
|
|
||||||
<text>{{ totleNum }}</text>
|
<text>{{ totleNum }}</text>
|
||||||
件
|
件
|
||||||
</text>
|
</text>
|
||||||
¥<text style="font-size: 60rpx">{{ orderInfo.amount }}</text></view
|
¥<text style="font-size: 60rpx">{{ orderInfo.amount }}</text>
|
||||||
>
|
</view>
|
||||||
<view class="_but" @click="goPay">支付</view>
|
<view class="_but" @click="goPay">支付</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 选择支付方式 -->
|
<!-- 选择支付方式 -->
|
||||||
<up-popup
|
<up-popup v-model:show="wayShow" :round="10" :closeOnClickOverlay="false" :closeable="true"
|
||||||
v-model:show="wayShow"
|
:safeAreaInsetBottom="false">
|
||||||
:round="10"
|
|
||||||
:closeOnClickOverlay="false"
|
|
||||||
:closeable="true"
|
|
||||||
:safeAreaInsetBottom="false"
|
|
||||||
>
|
|
||||||
<view class="way_popup_warp">
|
<view class="way_popup_warp">
|
||||||
<view class="way_popup_title">支付方式</view>
|
<view class="way_popup_title">支付方式</view>
|
||||||
<up-radio-group v-model="orderInfo.paymentMethod" placement="column">
|
<up-radio-group v-model="orderInfo.paymentMethod" placement="column">
|
||||||
<view
|
<view v-for="item in wayOption" :key="item.id" style="margin-bottom: 10rpx">
|
||||||
v-for="item in wayOption"
|
|
||||||
:key="item.id"
|
|
||||||
style="margin-bottom: 10rpx"
|
|
||||||
>
|
|
||||||
<view class="way_item">
|
<view class="way_item">
|
||||||
<view class="way_item_">
|
<view class="way_item_">
|
||||||
<view class="way_item_val"
|
<view class="way_item_val">{{ item.name
|
||||||
>{{ item.name
|
}}<text v-if="item.balance"> ({{ item.balance }})</text>
|
||||||
}}<text v-if="item.balance"
|
|
||||||
> ({{ item.balance }})</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view v-if="item.type === 'balance' && isShowBalance" class="go_balance_comm_warp"
|
||||||
v-if="item.type === 'balance' && isShowBalance"
|
@click="goRechargeFun(item)">去充值</view>
|
||||||
class="go_balance_comm_warp"
|
|
||||||
@click="goRechargeFun(item)"
|
|
||||||
>去充值</view
|
|
||||||
>
|
|
||||||
<up-radio v-else :name="item.type" activeColor="#03AD27">
|
<up-radio v-else :name="item.type" activeColor="#03AD27">
|
||||||
</up-radio>
|
</up-radio>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="balance_comm_msg" v-if="item.type === 'balance' && isShowBalance">当前现金余额不足,如需支付请前往充值</view>
|
||||||
class="balance_comm_msg"
|
|
||||||
v-if="item.type === 'balance' && isShowBalance"
|
|
||||||
>当前现金余额不足,如需支付请前往充值</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</up-radio-group>
|
</up-radio-group>
|
||||||
<view class="popup_but" @click="wayShow = false"> 确认 </view>
|
<view class="popup_but" @click="wayShow = false"> 确认 </view>
|
||||||
@@ -344,68 +234,38 @@
|
|||||||
</up-popup>
|
</up-popup>
|
||||||
|
|
||||||
<!-- 选择地址 -->
|
<!-- 选择地址 -->
|
||||||
<up-popup
|
<up-popup v-model:show="addressShow" :round="10" :closeOnClickOverlay="false" :closeable="true"
|
||||||
v-model:show="addressShow"
|
:safeAreaInsetBottom="false" @close="checkAddressShow(false, null, 0, 0)">
|
||||||
:round="10"
|
|
||||||
:closeOnClickOverlay="false"
|
|
||||||
:closeable="true"
|
|
||||||
:safeAreaInsetBottom="false"
|
|
||||||
@close="checkAddressShow(false, null, 0, 0)"
|
|
||||||
>
|
|
||||||
<view class="address_popup_warp">
|
<view class="address_popup_warp">
|
||||||
<view class="address_popup_title">收件地址</view>
|
<view class="address_popup_title">收件地址</view>
|
||||||
<view class="address_popup_content">
|
<view class="address_popup_content">
|
||||||
<view class="address_popup_content_add" @click="addAdress">
|
<view class="address_popup_content_add" @click="addAdress">
|
||||||
+ 新增地址</view
|
+ 新增地址</view>
|
||||||
>
|
|
||||||
<Address @valueFunc="getAddressValueFunc" />
|
<Address @valueFunc="getAddressValueFunc" />
|
||||||
</view>
|
</view>
|
||||||
<view class="popup_but" @click="addressOk"> 确认 </view>
|
<view class="popup_but" @click="addressOk"> 确认 </view>
|
||||||
</view>
|
</view>
|
||||||
</up-popup>
|
</up-popup>
|
||||||
<u-modal
|
<u-modal :show="tipsShow" title="提示" showCancelButton @cancel="onCancel" @confirm="onConfirm"
|
||||||
:show="tipsShow"
|
:cancelText="type == 1 ? '取消' : '忘记密码'" :confirmText="type == 1 ? '去设置' : '重试'" confirmColor="#7934F6"
|
||||||
title="提示"
|
:content="content"></u-modal>
|
||||||
showCancelButton
|
|
||||||
@cancel="onCancel"
|
|
||||||
@confirm="onConfirm"
|
|
||||||
:cancelText="type == 1 ? '取消' : '忘记密码'"
|
|
||||||
:confirmText="type == 1 ? '去设置' : '重试'"
|
|
||||||
confirmColor="#7934F6"
|
|
||||||
:content="content"
|
|
||||||
></u-modal>
|
|
||||||
|
|
||||||
<u-keyboard
|
<u-keyboard ref="uKeyboard" mode="number" :show="show" @change="onChange" @backspace="onBackspace"
|
||||||
ref="uKeyboard"
|
:dotDisabled="true" :tooltip="false">
|
||||||
mode="number"
|
|
||||||
:show="show"
|
|
||||||
@change="onChange"
|
|
||||||
@backspace="onBackspace"
|
|
||||||
:dotDisabled="true"
|
|
||||||
:tooltip="false"
|
|
||||||
>
|
|
||||||
<view style="background-color: #fff">
|
<view style="background-color: #fff">
|
||||||
<view class="money">
|
<view class="money">
|
||||||
<text style="color: #000; position: relative; top: 40rpx">
|
<text style="color: #000; position: relative; top: 40rpx">
|
||||||
<text style="font-size: 48rpx">¥</text>{{ orderInfo.amount }}</text
|
<text style="font-size: 48rpx">¥</text>{{ orderInfo.amount }}</text>
|
||||||
>
|
|
||||||
<text class="text-40" style="margin-left: 20rpx"></text>
|
<text class="text-40" style="margin-left: 20rpx"></text>
|
||||||
<view class="text-28 close" data-flag="false" @tap="showPop(false)">
|
<view class="text-28 close" data-flag="false" @tap="showPop(false)">
|
||||||
<u-icon name="close" color="#333333" size="20"></u-icon>
|
<u-icon name="close" color="#333333" size="20"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="mid-tips">
|
<view class="mid-tips">
|
||||||
<u-code-input
|
<u-code-input v-model="password" :dot="true" borderColor="#EAEAEA" :maxlength="6"
|
||||||
v-model="password"
|
@finish="finish"></u-code-input>
|
||||||
:dot="true"
|
|
||||||
borderColor="#EAEAEA"
|
|
||||||
:maxlength="6"
|
|
||||||
@finish="finish"
|
|
||||||
></u-code-input>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="tips text-28" style="color: #999; display: inline-block"
|
<view class="tips text-28" style="color: #999; display: inline-block">请输入支付密码</view>
|
||||||
>请输入支付密码</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</u-keyboard>
|
</u-keyboard>
|
||||||
|
|
||||||
@@ -465,7 +325,9 @@ export default {
|
|||||||
}
|
}
|
||||||
return num;
|
return num;
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
Address,
|
Address,
|
||||||
Header,
|
Header,
|
||||||
@@ -493,7 +355,7 @@ export default {
|
|||||||
selectAddress: {}, // 收件地址选择
|
selectAddress: {}, // 收件地址选择
|
||||||
wayOption: [],
|
wayOption: [],
|
||||||
isShowBalance: false,
|
isShowBalance: false,
|
||||||
ji: 0,
|
isPoints: 0, // 是否积分积分支付
|
||||||
sed: null,
|
sed: null,
|
||||||
curPay: null,
|
curPay: null,
|
||||||
user: null,
|
user: null,
|
||||||
@@ -501,32 +363,40 @@ export default {
|
|||||||
content: "您未设置支付密码,请先去设置支付密码",
|
content: "您未设置支付密码,请先去设置支付密码",
|
||||||
type: "1",
|
type: "1",
|
||||||
defaultAddress: "",
|
defaultAddress: "",
|
||||||
|
isCoupon: false, // 是否优惠卷
|
||||||
|
couponData: {}, // 优惠卷数据
|
||||||
|
allOrderInfo: {}, // 所有订单信息
|
||||||
|
buyCouponvalue: 0, // 实付抵扣券积分
|
||||||
|
buyCouponAmount: 0, // 实付抵扣券对应的钱
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
async onLoad(option) {
|
async onLoad(option) {
|
||||||
// const ids = option.ids;
|
// const ids = option.ids;
|
||||||
await this.addressList();
|
await this.addressList();
|
||||||
if (option.address) {
|
if (option.address) {
|
||||||
this.defaultAddress = option.address;
|
this.defaultAddress = option.address;
|
||||||
}
|
}
|
||||||
|
console.log('-------', option.isCoupon)
|
||||||
|
if (option.isCoupon) {
|
||||||
|
this.isCoupon = option.isCoupon;
|
||||||
|
}
|
||||||
if (option.sed) {
|
if (option.sed) {
|
||||||
this.ji = 1;
|
this.isPoints = 1;
|
||||||
this.sed = JSON.parse(option.sed);
|
this.sed = JSON.parse(option.sed);
|
||||||
await this.addressList();
|
await this.addressList();
|
||||||
// console.log('addressListOne',this.addressListOne)
|
// console.log('addressListOne',this.addressListOne)
|
||||||
// if(this.addressListOne && this.addressListOne.length){
|
// if(this.addressListOne && this.addressListOne.length){
|
||||||
// this.addressShow = true;
|
// this.addressShow = true;
|
||||||
// }
|
// }
|
||||||
this.getOrderTwo();
|
this.getOrderTwo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (option.ids) {
|
if (option.ids) {
|
||||||
this.ids = option.ids;
|
this.ids = option.ids;
|
||||||
this.getOrder();
|
this.getOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log("参数---", option,this.defaultAddress);
|
console.log("参数---", option, this.defaultAddress);
|
||||||
|
|
||||||
const addressShowPop = option.addressShow;
|
const addressShowPop = option.addressShow;
|
||||||
if (addressShowPop && addressShowPop !== "null") {
|
if (addressShowPop && addressShowPop !== "null") {
|
||||||
@@ -541,10 +411,19 @@ export default {
|
|||||||
this.getWayOption();
|
this.getWayOption();
|
||||||
this.getUserInfo();
|
this.getUserInfo();
|
||||||
},
|
},
|
||||||
mounted() {},
|
mounted() { },
|
||||||
methods: {
|
methods: {
|
||||||
getValue,
|
getValue,
|
||||||
assembleAddress,
|
assembleAddress,
|
||||||
|
// 实付抵扣券
|
||||||
|
onBuyCouponvalue(currentQuantity) {
|
||||||
|
this.buyCouponvalue = Number((this.allOrderInfo.buyDeductionValue * (currentQuantity || 1)).toFixed(2)) || 0;
|
||||||
|
|
||||||
|
},
|
||||||
|
// 实付抵扣券对应的钱
|
||||||
|
onBuyCouponAmount() {
|
||||||
|
this.buyCouponAmount = Number((this.sed.goodsNum * this.allOrderInfo.buyDeduction).toFixed(2)) || 0;
|
||||||
|
},
|
||||||
async addressList() {
|
async addressList() {
|
||||||
const res = await getAddress();
|
const res = await getAddress();
|
||||||
if (res && res.bizcode === 100) {
|
if (res && res.bizcode === 100) {
|
||||||
@@ -618,18 +497,24 @@ export default {
|
|||||||
},
|
},
|
||||||
async getWayOption() {
|
async getWayOption() {
|
||||||
let parmas = {};
|
let parmas = {};
|
||||||
if (this.ji) {
|
if (this.isPoints) {
|
||||||
parmas["types"] = "4";
|
parmas["types"] = "4";
|
||||||
} else {
|
} else {
|
||||||
parmas["types"] = "1,2,3";
|
parmas["types"] = "1,2,3";
|
||||||
}
|
}
|
||||||
|
console.log('parmas-----', this.isCoupon)
|
||||||
|
|
||||||
|
if (this.isCoupon) {
|
||||||
|
parmas["types"] = "1,2,3";
|
||||||
|
parmas.isDeduction = true;
|
||||||
|
}
|
||||||
const result = await getSupportPay(parmas);
|
const result = await getSupportPay(parmas);
|
||||||
if (result && result.bizcode === 100) {
|
if (result && result.bizcode === 100) {
|
||||||
const data = result.data || [];
|
const data = result.data || [];
|
||||||
const amount = this.orderInfo.amount;
|
// const amount = this.orderInfo.amount;
|
||||||
let flag = data.some((item) =>
|
// let flag = data.some((item) =>
|
||||||
["wechat", "alipay"].includes(item.type)
|
// ["wechat", "alipay"].includes(item.type)
|
||||||
);
|
// );
|
||||||
// 没有支付宝和微信支付
|
// 没有支付宝和微信支付
|
||||||
// if (flag) {
|
// if (flag) {
|
||||||
// this.isShowBalance = false;
|
// this.isShowBalance = false;
|
||||||
@@ -637,8 +522,9 @@ export default {
|
|||||||
// const balanceFlag = data.some(item => item.type === "balance" && item.balance < amount);
|
// const balanceFlag = data.some(item => item.type === "balance" && item.balance < amount);
|
||||||
// this.isShowBalance = balanceFlag;
|
// this.isShowBalance = balanceFlag;
|
||||||
// }
|
// }
|
||||||
this.wayOption = data;
|
this.wayOption = data.filter(item => item.type !== "vcoin");
|
||||||
console.log("getWayOption", this.wayOption);
|
this.couponData = data.filter(item => item.type === "vcoin")[0] || {};
|
||||||
|
console.log("getWayOption", this.wayOption, this.couponData);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getOrder() {
|
async getOrder() {
|
||||||
@@ -697,14 +583,17 @@ export default {
|
|||||||
const params = {
|
const params = {
|
||||||
id: this.sed.id,
|
id: this.sed.id,
|
||||||
};
|
};
|
||||||
|
if(this.isCoupon){
|
||||||
|
params.type = -1;
|
||||||
|
}
|
||||||
const resp = await getGoodsDetail(params);
|
const resp = await getGoodsDetail(params);
|
||||||
if (resp && resp.bizcode === 100) {
|
if (resp && resp.bizcode === 100) {
|
||||||
const data = resp.data;
|
const data = resp.data;
|
||||||
this.ji = data.type == 3 ? 1 : 0;
|
this.isPoints = data.type == 3 ? 1 : 0;
|
||||||
this.orderInfo = {
|
this.orderInfo = {
|
||||||
address: null,
|
address: null,
|
||||||
amount: this.sed.goodsNum * this.sed.specsId.price,
|
amount: this.sed.goodsNum * this.sed.specsId.price,
|
||||||
postage:0,
|
postage: 0,
|
||||||
shops: [
|
shops: [
|
||||||
{
|
{
|
||||||
addrTimes: [
|
addrTimes: [
|
||||||
@@ -742,20 +631,23 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
console.log('this.defaultAddress',this.defaultAddress,this.addressListOne)
|
console.log('this.defaultAddress', this.defaultAddress, this.addressListOne)
|
||||||
if(this.defaultAddress && this.addressListOne && this.addressListOne.length){
|
if (this.defaultAddress && this.addressListOne && this.addressListOne.length) {
|
||||||
let arr = this.addressListOne.filter(i=>i.id == this.defaultAddress);
|
let arr = this.addressListOne.filter(i => i.id == this.defaultAddress);
|
||||||
if(arr.length){
|
if (arr.length) {
|
||||||
this.orderInfo.address = arr[0];
|
this.orderInfo.address = arr[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!this.orderInfo.address && this.addressListOne && this.addressListOne.length){
|
if (!this.orderInfo.address && this.addressListOne && this.addressListOne.length) {
|
||||||
this.orderInfo.address = this.addressListOne[0];
|
this.orderInfo.address = this.addressListOne[0];
|
||||||
}
|
}
|
||||||
|
this.allOrderInfo = data;
|
||||||
this.orderInfo.paymentMethod = null;
|
this.orderInfo.paymentMethod = null;
|
||||||
// if(this.addressListOne && this.addressListOne.length){
|
this.onBuyCouponvalue(this.sed.goodsNum || 1);
|
||||||
// this.orderInfo.address = this.addressListOne[0];
|
this.onBuyCouponAmount();
|
||||||
// }
|
// if(this.addressListOne && this.addressListOne.length){
|
||||||
|
// this.orderInfo.address = this.addressListOne[0];
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
// const params = {
|
// const params = {
|
||||||
// cartIds: ids,
|
// cartIds: ids,
|
||||||
@@ -828,23 +720,28 @@ export default {
|
|||||||
].totalPrice = currentTotalPrice.toFixed(2);
|
].totalPrice = currentTotalPrice.toFixed(2);
|
||||||
this.orderInfo.amount = currentAmount.toFixed(2);
|
this.orderInfo.amount = currentAmount.toFixed(2);
|
||||||
|
|
||||||
|
if (this.isCoupon || this.sed) {
|
||||||
|
this.onBuyCouponvalue(currentQuantity);
|
||||||
|
this.onBuyCouponAmount();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const resp = await getSettleList({cartIds: this.ids});
|
const resp = await getSettleList({ cartIds: this.ids });
|
||||||
if (resp && resp.bizcode === 100) {
|
if (resp && resp.bizcode === 100) {
|
||||||
const data = resp.data;
|
const data = resp.data;
|
||||||
const shops = data.shops;
|
const shops = data.shops;
|
||||||
if (shops && shops.length !== 0) {
|
if (shops && shops.length !== 0) {
|
||||||
shops.map((item) => {
|
shops.map((item) => {
|
||||||
item.addrTimes.map((addItem) => {
|
item.addrTimes.map((addItem) => {
|
||||||
addItem.remark = null;
|
addItem.remark = null;
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
data.shops = shops;
|
||||||
|
data.paymentMethod = null; // 支付方式
|
||||||
|
this.orderInfo = data;
|
||||||
}
|
}
|
||||||
data.shops = shops;
|
|
||||||
data.paymentMethod = null; // 支付方式
|
|
||||||
this.orderInfo = data;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 获取备注
|
// 获取备注
|
||||||
@@ -915,8 +812,18 @@ export default {
|
|||||||
return (this.tipsShow = true);
|
return (this.tipsShow = true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("orderInfo----", arr);
|
||||||
if (arr.length) {
|
if (arr.length) {
|
||||||
if (arr[0].type == "balance" || arr[0].type == "redpacket") {
|
if (this.isCoupon) {
|
||||||
|
if (this.buyCouponvalue > this.couponData.balance) {
|
||||||
|
this.$refs.uToastRef.show({
|
||||||
|
type: "error",
|
||||||
|
message: "您当前优惠券金额不足",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.show = true;
|
||||||
|
} else if (arr[0].type == "balance" || arr[0].type == "redpacket") {
|
||||||
this.show = true;
|
this.show = true;
|
||||||
} else {
|
} else {
|
||||||
this.passPay();
|
this.passPay();
|
||||||
@@ -933,16 +840,20 @@ export default {
|
|||||||
remark: JSON.stringify(this.getRemark()), //备注信息'[{"sid":"店铺ID","rmk":"备注内容"},{"sid":"店铺ID","rmk":"备注内容"}]'
|
remark: JSON.stringify(this.getRemark()), //备注信息'[{"sid":"店铺ID","rmk":"备注内容"},{"sid":"店铺ID","rmk":"备注内容"}]'
|
||||||
};
|
};
|
||||||
let resp = null;
|
let resp = null;
|
||||||
|
console.log("orderInfo----", this.sed);
|
||||||
if (this.sed) {
|
if (this.sed) {
|
||||||
if (
|
if (
|
||||||
this.orderInfo.paymentMethod == "balance" ||
|
this.orderInfo.paymentMethod == "balance" ||
|
||||||
this.orderInfo.paymentMethod == "redpacket"
|
this.orderInfo.paymentMethod == "redpacket" ||
|
||||||
|
this.isCoupon
|
||||||
) {
|
) {
|
||||||
params["password"] = CryptoJS.MD5(this.payPwd).toString();
|
params["password"] = CryptoJS.MD5(this.payPwd).toString();
|
||||||
}
|
}
|
||||||
params["goodsId"] = this.sed.id;
|
params["goodsId"] = this.sed.id;
|
||||||
params["specsId"] = this.sed.specsId.id;
|
params["specsId"] = this.sed.specsId.id;
|
||||||
params["goodsNum"] = this.orderInfo.shops[0].addrTimes[0].goods[0].num;
|
params["goodsNum"] = this.orderInfo.shops[0].addrTimes[0].goods[0].num;
|
||||||
|
if (this.isCoupon) params.payway2 = 'vcoin';
|
||||||
|
|
||||||
resp = await settlementOrder(params);
|
resp = await settlementOrder(params);
|
||||||
} else {
|
} else {
|
||||||
params["cartIds"] = this.ids;
|
params["cartIds"] = this.ids;
|
||||||
@@ -1086,6 +997,7 @@ export default {
|
|||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 16rpx;
|
border-radius: 16rpx;
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.price-view-two {
|
.price-view-two {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 108rpx;
|
height: 108rpx;
|
||||||
@@ -1094,11 +1006,13 @@ export default {
|
|||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.price-line {
|
.price-line {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: 1rpx;
|
min-height: 1rpx;
|
||||||
background-color: #ececec;
|
background-color: #ececec;
|
||||||
}
|
}
|
||||||
|
|
||||||
.price-view {
|
.price-view {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 72rpx;
|
height: 72rpx;
|
||||||
@@ -1106,6 +1020,7 @@ export default {
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
.way-option {
|
.way-option {
|
||||||
height: 112rpx;
|
height: 112rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -1114,11 +1029,13 @@ export default {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: 1rpx solid #ececec;
|
border-bottom: 1rpx solid #ececec;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.way-option-item {
|
.way-option-item {
|
||||||
height: 112rpx;
|
height: 112rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 48rpx;
|
width: 48rpx;
|
||||||
height: 48rpx;
|
height: 48rpx;
|
||||||
@@ -1126,6 +1043,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.money {
|
.money {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 68rpx;
|
font-size: 68rpx;
|
||||||
@@ -1133,6 +1051,7 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
height: 180rpx;
|
height: 180rpx;
|
||||||
|
|
||||||
.close {
|
.close {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 20rpx;
|
top: 20rpx;
|
||||||
@@ -1141,12 +1060,14 @@ export default {
|
|||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mid-tips {
|
.mid-tips {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tips {
|
.tips {
|
||||||
color: $u-tips-color;
|
color: $u-tips-color;
|
||||||
margin: 20rpx 0;
|
margin: 20rpx 0;
|
||||||
@@ -1154,6 +1075,7 @@ export default {
|
|||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.order_submit_warp {
|
.order_submit_warp {
|
||||||
background-color: $app-bj;
|
background-color: $app-bj;
|
||||||
height: calc(100vh - 200rpx);
|
height: calc(100vh - 200rpx);
|
||||||
@@ -1276,8 +1198,7 @@ export default {
|
|||||||
width: calc(100% - 160rpx);
|
width: calc(100% - 160rpx);
|
||||||
}
|
}
|
||||||
|
|
||||||
.content_info_left_total {
|
.content_info_left_total {}
|
||||||
}
|
|
||||||
|
|
||||||
.content_info_title {
|
.content_info_title {
|
||||||
width: 460rpx;
|
width: 460rpx;
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ export default {
|
|||||||
const city = province && province.length !== 0 ? await this.getRegion(province[0].id) : [];
|
const city = province && province.length !== 0 ? await this.getRegion(province[0].id) : [];
|
||||||
const area = city && city.length !== 0 ? await this.getRegion(city[0].id) : [];
|
const area = city && city.length !== 0 ? await this.getRegion(city[0].id) : [];
|
||||||
this.regionColumns = [nation, province, city, area];
|
this.regionColumns = [nation, province, city, area];
|
||||||
|
console.log("我是秦星星regionColumns", this.regionColumns);
|
||||||
} else {
|
} else {
|
||||||
this.regionColumns = [[], [], [], []];
|
this.regionColumns = [[], [], [], []];
|
||||||
}
|
}
|
||||||
@@ -150,6 +151,7 @@ export default {
|
|||||||
picker
|
picker
|
||||||
} = e;
|
} = e;
|
||||||
const selectData = this.regionColumns[columnIndex][index];
|
const selectData = this.regionColumns[columnIndex][index];
|
||||||
|
if (!selectData) return;
|
||||||
const resultData = await this.getRegion(selectData.id);
|
const resultData = await this.getRegion(selectData.id);
|
||||||
if (resultData && resultData.length !== 0) {
|
if (resultData && resultData.length !== 0) {
|
||||||
const index = columnIndex + 1;
|
const index = columnIndex + 1;
|
||||||
@@ -174,6 +176,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.form.regionStr = regionStr;
|
this.form.regionStr = regionStr;
|
||||||
|
console.log("我是秦星星regionStr", regionStr,regionId);
|
||||||
if (regionId && regionId.length !== 0) {
|
if (regionId && regionId.length !== 0) {
|
||||||
this.form.countryId = regionId[0] ? regionId[0] : null;
|
this.form.countryId = regionId[0] ? regionId[0] : null;
|
||||||
this.form.provinceId = regionId[1] ? regionId[1] : null;
|
this.form.provinceId = regionId[1] ? regionId[1] : null;
|
||||||
@@ -225,7 +228,9 @@ export default {
|
|||||||
if (!params.areaId || params.areaId === 0) {
|
if (!params.areaId || params.areaId === 0) {
|
||||||
delete params.areaId;
|
delete params.areaId;
|
||||||
}
|
}
|
||||||
|
console.log("params", params,selectAddress);
|
||||||
delete params.regionStr;
|
delete params.regionStr;
|
||||||
|
delete params.id;
|
||||||
const res = await editAddress(params);
|
const res = await editAddress(params);
|
||||||
if (res && res.bizcode === 100) {
|
if (res && res.bizcode === 100) {
|
||||||
const goodsParams = {
|
const goodsParams = {
|
||||||
@@ -254,6 +259,7 @@ export default {
|
|||||||
// 地址选中
|
// 地址选中
|
||||||
getAddressValueFunc(item) {
|
getAddressValueFunc(item) {
|
||||||
this.selectAddress = item;
|
this.selectAddress = item;
|
||||||
|
console.log("地址选中item", item);
|
||||||
},
|
},
|
||||||
// 地址选中OK
|
// 地址选中OK
|
||||||
addressOk() {
|
addressOk() {
|
||||||
|
|||||||
@@ -3,73 +3,52 @@
|
|||||||
<!-- <image v-if="tmpImg" :src="tmpImg" style="width:620rpx;height:960rpx"></image> -->
|
<!-- <image v-if="tmpImg" :src="tmpImg" style="width:620rpx;height:960rpx"></image> -->
|
||||||
<!-- 头部产品描述图 -->
|
<!-- 头部产品描述图 -->
|
||||||
<view class="product_info_header_warp">
|
<view class="product_info_header_warp">
|
||||||
<up-swiper
|
<up-swiper :list="swiperList" class="product_info_header_swiper" @click="onSwiper"
|
||||||
:list="swiperList"
|
@change="(e) => (currentNum = e.current)">
|
||||||
class="product_info_header_swiper"
|
|
||||||
@click="onSwiper"
|
|
||||||
@change="(e) => (currentNum = e.current)"
|
|
||||||
>
|
|
||||||
<template #indicator>
|
<template #indicator>
|
||||||
<view class="indicator-num">
|
<view class="indicator-num">
|
||||||
<text class="indicator-num__text"
|
<text class="indicator-num__text">{{ currentNum + 1 }}/{{ swiperList.length }}</text>
|
||||||
>{{ currentNum + 1 }}/{{ swiperList.length }}</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</up-swiper>
|
</up-swiper>
|
||||||
<view class="img_comm left_warp">
|
<view class="img_comm left_warp">
|
||||||
<up-image
|
<up-image src="/static/common/left_b_st.png" width="30" height="30" bgColor="#f1f6ff00" v-if="!isShareUrl"
|
||||||
src="/static/common/left_b_st.png"
|
@click="jumpLeft"></up-image>
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
v-if="!isShareUrl"
|
|
||||||
@click="jumpLeft"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="img_comm right_warp">
|
<view class="img_comm right_warp">
|
||||||
<up-image
|
<up-image v-if="!isShareUrl" src="/static/common/share_st.png" width="30" height="30" bgColor="#f1f6ff00"
|
||||||
v-if="!isShareUrl"
|
@click="jumpShare"></up-image>
|
||||||
src="/static/common/share_st.png"
|
|
||||||
width="30"
|
|
||||||
height="30"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="jumpShare"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 数据详情 -->
|
<!-- 数据详情 -->
|
||||||
<view class="product_content_warp">
|
<view class="product_content_warp">
|
||||||
<!-- 标题,系列 -->
|
<!-- 标题,系列 -->
|
||||||
<view class="content_data">
|
<view class="content_data">
|
||||||
<view
|
<view style="
|
||||||
style="
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
"
|
">
|
||||||
>
|
<view class="content_data_price buy_deduction" v-if="orderInfo.buyDeductionValue">
|
||||||
<view class="content_data_price">
|
<view class="buy_deduction_value">
|
||||||
|
<text class="text-38 text-bold mr-10">{{ orderInfo.buyDeductionValue }}抵扣券</text>
|
||||||
|
<text class="text-24">+{{ orderInfo.minPrice }}元</text>
|
||||||
|
</view>
|
||||||
|
<view class="buy_deduction_label">
|
||||||
|
兑后抵扣券不退
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="content_data_price" v-else>
|
||||||
<text>¥</text>
|
<text>¥</text>
|
||||||
<text
|
<text style="font-size: 60rpx" v-if="orderInfo.minPrice && orderInfo.maxPrice">{{ orderInfo.minPrice }} - {{
|
||||||
style="font-size: 60rpx"
|
orderInfo.maxPrice }}</text>
|
||||||
v-if="orderInfo.minPrice && orderInfo.maxPrice"
|
|
||||||
>{{ orderInfo.minPrice }} - {{ orderInfo.maxPrice }}</text
|
|
||||||
>
|
|
||||||
<text style="font-size: 60rpx" v-else>{{
|
<text style="font-size: 60rpx" v-else>{{
|
||||||
orderInfo.minPrice
|
orderInfo.minPrice
|
||||||
}}</text>
|
}}</text>
|
||||||
<text class="price_o">¥{{ orderInfo.adPrice }}</text>
|
<text class="price_o">¥{{ orderInfo.adPrice }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="text-24" style="color: #ff5a5a; width: 120rpx; height: 38rpx" v-if="orderInfo.tag">
|
||||||
class="text-24"
|
<image src="/static/shopping/tg.png" style="width: 120rpx; height: 38rpx"></image>
|
||||||
style="color: #ff5a5a; width: 120rpx; height: 38rpx"
|
|
||||||
v-if="orderInfo.tag"
|
|
||||||
>
|
|
||||||
<image
|
|
||||||
src="/static/shopping/tg.png"
|
|
||||||
style="width: 120rpx; height: 38rpx"
|
|
||||||
></image>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="content_data_title">
|
<view class="content_data_title">
|
||||||
@@ -85,34 +64,21 @@
|
|||||||
|
|
||||||
<!-- 具体规格 -->
|
<!-- 具体规格 -->
|
||||||
<view class="content_concrete">
|
<view class="content_concrete">
|
||||||
<view
|
<view class="concrete_item concrete_item_but" @click="checkSpecification(true, 'n')">
|
||||||
class="concrete_item concrete_item_but"
|
|
||||||
@click="checkSpecification(true, 'n')"
|
|
||||||
>
|
|
||||||
<view class="concrete_item_">
|
<view class="concrete_item_">
|
||||||
<view class="concrete_item_title">规格</view>
|
<view class="concrete_item_title">规格</view>
|
||||||
<view class="concrete_item_value">
|
<view class="concrete_item_value">
|
||||||
{{ selectSpecificationTempl.combTypes || "暂未选择规格" }}
|
{{ selectSpecificationTempl.combTypes || "暂未选择规格" }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<up-image
|
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/right.png"
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="concrete_item">
|
<view class="concrete_item">
|
||||||
<view class="concrete_item_">
|
<view class="concrete_item_">
|
||||||
<view class="concrete_item_title">收货地址</view>
|
<view class="concrete_item_title">收货地址</view>
|
||||||
<view class="concrete_item_value" @click="jumpAddAddress">
|
<view class="concrete_item_value" @click="jumpAddAddress">
|
||||||
<view class="address_warp" v-if="!adressInfo">
|
<view class="address_warp" v-if="!adressInfo">
|
||||||
<up-image
|
<up-image src="/static/common/address2.png" width="10" height="10" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/address2.png"
|
|
||||||
width="10"
|
|
||||||
height="10"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view style="margin-left: 10rpx">请填写地址</view>
|
<view style="margin-left: 10rpx">请填写地址</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="address_warp" v-else>{{ adressInfo }}</view>
|
<view class="address_warp" v-else>{{ adressInfo }}</view>
|
||||||
@@ -138,21 +104,11 @@
|
|||||||
<view class="concrete_item_title">购物保障</view>
|
<view class="concrete_item_title">购物保障</view>
|
||||||
<view class="concrete_item_value concrete_item_bz">
|
<view class="concrete_item_value concrete_item_bz">
|
||||||
<view class="concrete_item_bz concrete_item_bz_item">
|
<view class="concrete_item_bz concrete_item_bz_item">
|
||||||
<up-image
|
<up-image src="/static/product/product_b.png" width="10" height="12" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/product/product_b.png"
|
|
||||||
width="10"
|
|
||||||
height="12"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view class="concrete_item_bz_item_left">品质严保</view>
|
<view class="concrete_item_bz_item_left">品质严保</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="concrete_item_bz">
|
<view class="concrete_item_bz">
|
||||||
<up-image
|
<up-image src="/static/product/product_js.png" width="10" height="10" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/product/product_js.png"
|
|
||||||
width="10"
|
|
||||||
height="10"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view class="concrete_item_bz_item_left">极速退款</view>
|
<view class="concrete_item_bz_item_left">极速退款</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -163,9 +119,7 @@
|
|||||||
|
|
||||||
<view class="tui-view">
|
<view class="tui-view">
|
||||||
<text class="text-32 text-zu">退货提示</text>
|
<text class="text-32 text-zu">退货提示</text>
|
||||||
<text class="text-28 text-fu1"
|
<text class="text-28 text-fu1">拆封后影响品质”或“影响二次销售的”不予退货。</text>
|
||||||
>拆封后影响品质”或“影响二次销售的”不予退货。</text
|
|
||||||
>
|
|
||||||
<view class="tui-list">
|
<view class="tui-list">
|
||||||
<view class="tui-box" :key="index" v-for="(item, index) in tuiList">
|
<view class="tui-box" :key="index" v-for="(item, index) in tuiList">
|
||||||
<image :src="`/static/new/tui_${index}.png`"></image>
|
<image :src="`/static/new/tui_${index}.png`"></image>
|
||||||
@@ -186,67 +140,35 @@
|
|||||||
<view class="product_but_warp">
|
<view class="product_but_warp">
|
||||||
<view class="product_but_left">
|
<view class="product_but_left">
|
||||||
<view class="left_item">
|
<view class="left_item">
|
||||||
<up-image
|
<up-image src="/static/product/home.png" width="20" height="20" bgColor="#f1f6ff00"
|
||||||
src="/static/product/home.png"
|
@click="jumpOther('home')"></up-image>
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="jumpOther('home')"
|
|
||||||
></up-image>
|
|
||||||
<view>首页</view>
|
<view>首页</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="left_item">
|
<view class="left_item">
|
||||||
<up-image
|
<up-image src="/static/product/kefu.png" width="20" height="20" bgColor="#f1f6ff00"
|
||||||
src="/static/product/kefu.png"
|
@click="onZiXun"></up-image>
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="onZiXun"
|
|
||||||
></up-image>
|
|
||||||
<view>咨询</view>
|
<view>咨询</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="left_item" v-if="!ji">
|
<view class="left_item" v-if="!isShowCart && !isCoupon">
|
||||||
<up-image
|
<up-image src="/static/product/cart.png" width="24" height="20" bgColor="#f1f6ff00"
|
||||||
src="/static/product/cart.png"
|
@click="jumpOther('cart')"></up-image>
|
||||||
width="24"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
@click="jumpOther('cart')"
|
|
||||||
></up-image>
|
|
||||||
<view>购物车</view>
|
<view>购物车</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="product_but_right" v-if="!isShareUrl">
|
<view class="product_but_right" v-if="!isShareUrl">
|
||||||
<view
|
<view v-if="!isShowCart && !isCoupon" class="but_comm join_warp" @click="checkSpecification(true, 'addCart')">
|
||||||
v-if="!ji"
|
加入购物车
|
||||||
class="but_comm join_warp"
|
</view>
|
||||||
@click="checkSpecification(true, 'addCart')"
|
<view class="but_comm buy_warp" :class="{ 'border-16': isShowCart || isCoupon }"
|
||||||
>加入购物车</view
|
@click="checkSpecification(true, 'buy')">
|
||||||
>
|
立即购买
|
||||||
<view
|
</view>
|
||||||
class="but_comm buy_warp"
|
|
||||||
:class="{ 'border-16': ji }"
|
|
||||||
@click="checkSpecification(true, 'buy')"
|
|
||||||
>立即购买</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<MyBtn
|
<MyBtn v-if="isShareUrl" mh="88rpx" text="打开APP" wd="200rpx" @ok="onOpenApp"></MyBtn>
|
||||||
v-if="isShareUrl"
|
|
||||||
mh="88rpx"
|
|
||||||
text="打开APP"
|
|
||||||
wd="200rpx"
|
|
||||||
@ok="onOpenApp"
|
|
||||||
></MyBtn>
|
|
||||||
</view>
|
</view>
|
||||||
<!-- 选择规格的弹框 -->
|
<!-- 选择规格的弹框 -->
|
||||||
<up-popup
|
<up-popup :show="specificationShow" :round="10" :closeOnClickOverlay="false" :closeable="true"
|
||||||
:show="specificationShow"
|
@close="specificationShow = false" mode="bottom">
|
||||||
:round="10"
|
|
||||||
:closeOnClickOverlay="false"
|
|
||||||
:closeable="true"
|
|
||||||
@close="specificationShow = false"
|
|
||||||
mode="bottom"
|
|
||||||
>
|
|
||||||
<view class="specification_warp">
|
<view class="specification_warp">
|
||||||
<!-- 选择地址 -->
|
<!-- 选择地址 -->
|
||||||
<view class="specification_adress_warp">
|
<view class="specification_adress_warp">
|
||||||
@@ -263,43 +185,36 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- 商品 -->
|
<!-- 商品 -->
|
||||||
<view class="specification_product_warp">
|
<view class="specification_product_warp">
|
||||||
<up-image
|
<up-image :src="orderInfo.mainGraph" width="100" height="100" bgColor="#f1f6ff00"></up-image>
|
||||||
:src="orderInfo.mainGraph"
|
|
||||||
width="100"
|
|
||||||
height="100"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
<view class="product_content">
|
<view class="product_content">
|
||||||
<view class="price_warp">
|
<view class="price_warp">
|
||||||
<view class="price_content_warp">
|
<!-- 优惠券价格 -->
|
||||||
|
<view class="price_content_warp" v-if="isCoupon">
|
||||||
|
<text class="text-38 text-bold mr-10">{{ orderInfo.buyDeductionValue }}抵扣券</text>
|
||||||
|
<text class="text-24" v-if="
|
||||||
|
selectSpecificationTempl &&
|
||||||
|
Object.keys(selectSpecificationTempl).length !== 0">+{{ selectSpecificationTempl.price }}元</text>
|
||||||
|
<text v-else>+{{ orderInfo.minPrice }}元</text>
|
||||||
|
</view>
|
||||||
|
<view class="price_content_warp" v-else>
|
||||||
<view>¥</view>
|
<view>¥</view>
|
||||||
<text
|
<text style="font-size: 50rpx" v-if="
|
||||||
style="font-size: 50rpx"
|
selectSpecificationTempl &&
|
||||||
v-if="
|
Object.keys(selectSpecificationTempl).length !== 0
|
||||||
selectSpecificationTempl &&
|
">
|
||||||
Object.keys(selectSpecificationTempl).length !== 0
|
|
||||||
"
|
|
||||||
>
|
|
||||||
{{ selectSpecificationTempl.price }}
|
{{ selectSpecificationTempl.price }}
|
||||||
</text>
|
</text>
|
||||||
<view style="font-size: 50rpx" v-else>
|
<view style="font-size: 50rpx" v-else>
|
||||||
{{ orderInfo.minPrice }}
|
{{ orderInfo.minPrice }}
|
||||||
<text v-if="orderInfo.maxPrice"
|
<text v-if="orderInfo.maxPrice">- {{ orderInfo.maxPrice }}</text>
|
||||||
>- {{ orderInfo.maxPrice }}</text
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view class="price_content_coupon_warp" v-if="orderInfo.couponPrice && orderInfo.couponPrice !== 0">
|
||||||
class="price_content_coupon_warp"
|
优惠券{{
|
||||||
v-if="orderInfo.couponPrice && orderInfo.couponPrice !== 0"
|
orderInfo.couponPrice }}</view>
|
||||||
>优惠卷{{ orderInfo.couponPrice }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="oOrice_content_warp">¥{{ orderInfo.adPrice }}</view>
|
<view class="oOrice_content_warp" v-if="!isCoupon">¥{{ orderInfo.adPrice }}</view>
|
||||||
<view
|
<view class="coupon_content_warp" v-if="orderInfo.couponPrice && orderInfo.couponPrice !== 0">优惠卷已优惠¥{{
|
||||||
class="coupon_content_warp"
|
orderInfo.couponPrice }}</view>
|
||||||
v-if="orderInfo.couponPrice && orderInfo.couponPrice !== 0"
|
|
||||||
>优惠卷已优惠¥{{ orderInfo.couponPrice }}</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="inventory_warp">
|
<view class="inventory_warp">
|
||||||
<view>库存</view>
|
<view>库存</view>
|
||||||
@@ -310,25 +225,16 @@
|
|||||||
|
|
||||||
<!-- 规格 -->
|
<!-- 规格 -->
|
||||||
<view class="specification_list_warp">
|
<view class="specification_list_warp">
|
||||||
<view
|
<view v-for="(item, index) in specificationList" :key="item.id" class="list_warp">
|
||||||
v-for="(item, index) in specificationList"
|
|
||||||
:key="item.id"
|
|
||||||
class="list_warp"
|
|
||||||
>
|
|
||||||
<view class="list_title_warp">{{ item.type }}</view>
|
<view class="list_title_warp">{{ item.type }}</view>
|
||||||
<view class="specification_item_warp">
|
<view class="specification_item_warp">
|
||||||
<view
|
<view :class="oItem.inventory === 0
|
||||||
:class="
|
? 'item_Warp item_Warp_no_warp'
|
||||||
oItem.inventory === 0
|
: item.selectVal === oItem.n
|
||||||
? 'item_Warp item_Warp_no_warp'
|
? 'item_Warp item_Warp_yes_warp'
|
||||||
: item.selectVal === oItem.n
|
: 'item_Warp'
|
||||||
? 'item_Warp item_Warp_yes_warp'
|
" v-for="(oItem, oIndex) in item.items" :key="oItem.n"
|
||||||
: 'item_Warp'
|
@click="clickSpecification(oIndex, item, oItem)">
|
||||||
"
|
|
||||||
v-for="(oItem, oIndex) in item.items"
|
|
||||||
:key="oItem.n"
|
|
||||||
@click="clickSpecification(oIndex, item, oItem)"
|
|
||||||
>
|
|
||||||
{{ oItem.n }}
|
{{ oItem.n }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -344,26 +250,14 @@
|
|||||||
<view class="quantity_but" @click="quantityFun('add')">+</view>
|
<view class="quantity_but" @click="quantityFun('add')">+</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view v-if="specificationShowType === 'buy'" class="specification_buy_but" @click="addCart(true)">去支付</view>
|
||||||
v-if="specificationShowType === 'buy'"
|
<view v-else-if="specificationShowType === 'addCart'" class="specification_buy_but" @click="addCart(false)">
|
||||||
class="specification_buy_but"
|
加入购物车
|
||||||
@click="addCart(true)"
|
</view>
|
||||||
>去支付</view
|
|
||||||
>
|
|
||||||
<view
|
|
||||||
v-else-if="specificationShowType === 'addCart'"
|
|
||||||
class="specification_buy_but"
|
|
||||||
@click="addCart(false)"
|
|
||||||
>加入购物车</view
|
|
||||||
>
|
|
||||||
|
|
||||||
<view v-else class="product_but_right popup_buts">
|
<view v-else class="product_but_right popup_buts">
|
||||||
<view class="but_comm join_warp" @click="addCart(false)"
|
<view class="but_comm join_warp" @click="addCart(false)">加入购物车</view>
|
||||||
>加入购物车</view
|
<view class="but_comm buy_warp" @click="addCart(true)">立即购买</view>
|
||||||
>
|
|
||||||
<view class="but_comm buy_warp" @click="addCart(true)"
|
|
||||||
>立即购买</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -372,12 +266,7 @@
|
|||||||
<up-modal :show="serviceShow" :showConfirmButton="false">
|
<up-modal :show="serviceShow" :showConfirmButton="false">
|
||||||
<view class="slot-content">
|
<view class="slot-content">
|
||||||
<view class="close_warp" @click="serviceShow = false">
|
<view class="close_warp" @click="serviceShow = false">
|
||||||
<up-image
|
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
|
||||||
src="/static/common/close.png"
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
bgColor="#f1f6ff00"
|
|
||||||
></up-image>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="content_">
|
<view class="content_">
|
||||||
<view class="content_1">{{
|
<view class="content_1">{{
|
||||||
@@ -390,17 +279,13 @@
|
|||||||
}}</view>
|
}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="but_">
|
<view class="but_">
|
||||||
<view
|
<view class="but_copy" @click="
|
||||||
class="but_copy"
|
copyMobile(
|
||||||
@click="
|
source === 'supply_chain'
|
||||||
copyMobile(
|
? CLOUD_SERVICE_PHONE_NUMBER
|
||||||
source === 'supply_chain'
|
: CUSTOMER_SERVICE_PHONE_NUMBER
|
||||||
? CLOUD_SERVICE_PHONE_NUMBER
|
)
|
||||||
: CUSTOMER_SERVICE_PHONE_NUMBER
|
">复制号码</view>
|
||||||
)
|
|
||||||
"
|
|
||||||
>复制号码</view
|
|
||||||
>
|
|
||||||
<view class="but_close" @click="serviceShow = false">取消</view>
|
<view class="but_close" @click="serviceShow = false">取消</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -411,61 +296,36 @@
|
|||||||
<view class="uni-banner">
|
<view class="uni-banner">
|
||||||
<view class="banner_box">
|
<view class="banner_box">
|
||||||
<view class="title_">温馨提示</view>
|
<view class="title_">温馨提示</view>
|
||||||
<view class="msg_"
|
<view class="msg_">该商家暂未开通供应链权限,请联系供应链客服开通授权。</view>
|
||||||
>该商家暂未开通供应链权限,请联系供应链客服开通授权。</view
|
|
||||||
>
|
|
||||||
<view class="phone_">{{ CLOUD_SERVICE_PHONE_NUMBER }}</view>
|
<view class="phone_">{{ CLOUD_SERVICE_PHONE_NUMBER }}</view>
|
||||||
<view class="but_">
|
<view class="but_">
|
||||||
<view
|
<view class="but_b" @click="copyMobile(CLOUD_SERVICE_PHONE_NUMBER)">立即联系</view>
|
||||||
class="but_b"
|
|
||||||
@click="copyMobile(CLOUD_SERVICE_PHONE_NUMBER)"
|
|
||||||
>立即联系</view
|
|
||||||
>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</up-overlay>
|
</up-overlay>
|
||||||
<!-- 选择地址 -->
|
<!-- 选择地址 -->
|
||||||
<up-popup
|
<up-popup v-model:show="addressShow" :round="10" :closeOnClickOverlay="false" :closeable="true"
|
||||||
v-model:show="addressShow"
|
:safeAreaInsetBottom="false" @close="checkAddressShow(false, null, 0, 0)">
|
||||||
:round="10"
|
|
||||||
:closeOnClickOverlay="false"
|
|
||||||
:closeable="true"
|
|
||||||
:safeAreaInsetBottom="false"
|
|
||||||
@close="checkAddressShow(false, null, 0, 0)"
|
|
||||||
>
|
|
||||||
<view class="address_popup_warp">
|
<view class="address_popup_warp">
|
||||||
<view class="address_popup_title">收件地址</view>
|
<view class="address_popup_title">收件地址</view>
|
||||||
<view class="address_popup_content">
|
<view class="address_popup_content">
|
||||||
<view class="address_popup_content_add" @click="addAdress">
|
<view class="address_popup_content_add" @click="addAdress">
|
||||||
+ 新增地址</view
|
+ 新增地址</view>
|
||||||
>
|
|
||||||
<Address @valueFunc="getAddressValueFunc" />
|
<Address @valueFunc="getAddressValueFunc" />
|
||||||
</view>
|
</view>
|
||||||
<view class="popup_but" @click="addressOk"> 确认 </view>
|
<view class="popup_but" @click="addressOk"> 确认 </view>
|
||||||
</view>
|
</view>
|
||||||
</up-popup>
|
</up-popup>
|
||||||
<SharePopup
|
<SharePopup ref="share" v-if="shareOpen" :show="shareShow" @close="onClose" @share="onShare" :id="id"
|
||||||
ref="share"
|
:text="orderInfo.name ? orderInfo.name : ''" :price="orderInfo.minPrice ? orderInfo.minPrice : ''"
|
||||||
v-if="shareOpen"
|
:tu="swiperList.length && swiperList[0]"></SharePopup>
|
||||||
:show="shareShow"
|
|
||||||
@close="onClose"
|
|
||||||
@share="onShare"
|
|
||||||
:id="id"
|
|
||||||
:text="orderInfo.name ? orderInfo.name : ''"
|
|
||||||
:price="orderInfo.minPrice ? orderInfo.minPrice : ''"
|
|
||||||
:tu="swiperList.length && swiperList[0]"
|
|
||||||
></SharePopup>
|
|
||||||
<view class="hideCanvasView">
|
<view class="hideCanvasView">
|
||||||
<canvas
|
<canvas id="myCanvas" canvas-id="myCanvas" :style="{
|
||||||
id="myCanvas"
|
height: bgObj.height + 'px',
|
||||||
canvas-id="myCanvas"
|
width: bgObj.width + 'px',
|
||||||
:style="{
|
}"></canvas>
|
||||||
height: bgObj.height + 'px',
|
|
||||||
width: bgObj.width + 'px',
|
|
||||||
}"
|
|
||||||
></canvas>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -526,7 +386,7 @@ export default {
|
|||||||
serviceShow: false, // 联系客服弹框
|
serviceShow: false, // 联系客服弹框
|
||||||
openShow: false,
|
openShow: false,
|
||||||
source: null, // 来源:供应链,自营
|
source: null, // 来源:供应链,自营
|
||||||
ji: 0,
|
isShowCart: 0,
|
||||||
selectAddress: {}, // 选择的地址
|
selectAddress: {}, // 选择的地址
|
||||||
postage: null, // 邮费
|
postage: null, // 邮费
|
||||||
adressInfo: "",
|
adressInfo: "",
|
||||||
@@ -542,10 +402,12 @@ export default {
|
|||||||
tmpImg: "",
|
tmpImg: "",
|
||||||
isShareUrl: false,
|
isShareUrl: false,
|
||||||
isSplash: false,
|
isSplash: false,
|
||||||
|
isCoupon: false, // 是否是优惠券商品
|
||||||
|
curAmount: 0, // 当前人剩余优惠券金额
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onBackPress(options) {
|
onBackPress(options) {
|
||||||
console.log("我是侧滑",options)
|
console.log("我是侧滑", options)
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
if (options.from === 'backbutton' && this.isSplash) {
|
if (options.from === 'backbutton' && this.isSplash) {
|
||||||
// 1. 阻止默认 pop
|
// 1. 阻止默认 pop
|
||||||
@@ -557,6 +419,10 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
const id = options.id;
|
const id = options.id;
|
||||||
|
this.isCoupon = options.isPar;
|
||||||
|
if (this.isCoupon && options.curAmount) {
|
||||||
|
this.curAmount = options.curAmount;
|
||||||
|
}
|
||||||
const source = options.source;
|
const source = options.source;
|
||||||
this.isSplash = options.isSplash;
|
this.isSplash = options.isSplash;
|
||||||
console.log("isSplash", this.isSplash == "true");
|
console.log("isSplash", this.isSplash == "true");
|
||||||
@@ -599,9 +465,9 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
assembleAddress,
|
assembleAddress,
|
||||||
limit999(n) {
|
limit999(n) {
|
||||||
return n > 999 ? '999+' : String(n);
|
return n > 999 ? '999+' : String(n);
|
||||||
},
|
},
|
||||||
|
|
||||||
onOpenApp() {
|
onOpenApp() {
|
||||||
//https://download.tbmall.xin/1002/apppacket/20251113/20251113183449483.apk
|
//https://download.tbmall.xin/1002/apppacket/20251113/20251113183449483.apk
|
||||||
@@ -965,10 +831,13 @@ export default {
|
|||||||
const params = {
|
const params = {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
};
|
};
|
||||||
|
if(this.isCoupon){
|
||||||
|
params.type = -1;
|
||||||
|
}
|
||||||
const resp = await getGoodsDetail(params);
|
const resp = await getGoodsDetail(params);
|
||||||
if (resp && resp.bizcode === 100) {
|
if (resp && resp.bizcode === 100) {
|
||||||
const data = resp.data;
|
const data = resp.data;
|
||||||
this.ji = data.type == 3 ? 1 : 0;
|
this.isShowCart = data.type == 3 ? 1 : 0;
|
||||||
// 商品图
|
// 商品图
|
||||||
if (data.goodsGraph) {
|
if (data.goodsGraph) {
|
||||||
this.swiperList = data.goodsGraph.split(",");
|
this.swiperList = data.goodsGraph.split(",");
|
||||||
@@ -1034,7 +903,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const source = this.source;
|
const source = this.source;
|
||||||
if (type == "n" && this.ji == 1) {
|
if (type == "n" && (this.isShowCart == 1 || this.isCoupon)) {
|
||||||
type = "buy";
|
type = "buy";
|
||||||
}
|
}
|
||||||
console.log("afsdfsd", source, type);
|
console.log("afsdfsd", source, type);
|
||||||
@@ -1075,6 +944,9 @@ export default {
|
|||||||
const params = {
|
const params = {
|
||||||
id: this.id,
|
id: this.id,
|
||||||
};
|
};
|
||||||
|
if(this.isCoupon){
|
||||||
|
params.type = -1;
|
||||||
|
}
|
||||||
const resp = await getGoodsSpecs(params);
|
const resp = await getGoodsSpecs(params);
|
||||||
if (resp && resp.bizcode === 100) {
|
if (resp && resp.bizcode === 100) {
|
||||||
const data = resp.data;
|
const data = resp.data;
|
||||||
@@ -1189,12 +1061,24 @@ export default {
|
|||||||
goodsNum: this.orderInfo.quantity, // 商品数量
|
goodsNum: this.orderInfo.quantity, // 商品数量
|
||||||
};
|
};
|
||||||
console.log("selectTempl", selectTempl);
|
console.log("selectTempl", selectTempl);
|
||||||
if (this.ji == 1) {
|
if (this.isShowCart == 1 || this.isCoupon) {
|
||||||
params["specsId"] = selectTempl;
|
params["specsId"] = selectTempl;
|
||||||
|
console.log("----------", params, this.isCoupon, this.orderInfo.buyDeductionValue, this.orderInfo.quantity, this.curAmount);
|
||||||
|
|
||||||
|
const buyCouponvalue = Number((this.orderInfo.buyDeduction * (this.orderInfo.quantity || 1)).toFixed(2)) || 0;
|
||||||
|
|
||||||
|
if (this.isCoupon && buyCouponvalue > this.curAmount) {
|
||||||
|
uni.showToast({
|
||||||
|
title: `您当前优惠券金额不足`,
|
||||||
|
icon: "none", // 可选 success/loading/none
|
||||||
|
duration: 2000, // 持续时长,单位ms
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/order_package/order_submit/order_submit?sed=${JSON.stringify(
|
url: `/pages/order_package/order_submit/order_submit?sed=${JSON.stringify(
|
||||||
params
|
params
|
||||||
)}&address=${this.selectAddress?.id}`,
|
)}&address=${this.selectAddress?.id}&isCoupon=${this.isCoupon}`,
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1308,6 +1192,24 @@ export default {
|
|||||||
text-decoration-line: line-through;
|
text-decoration-line: line-through;
|
||||||
margin-left: 10rpx;
|
margin-left: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.buy_deduction {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.buy_deduction_value {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #7A35F6;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buy_deduction_label {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #E88900;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content_data_title {
|
.content_data_title {
|
||||||
@@ -1338,6 +1240,7 @@ export default {
|
|||||||
padding: 32rpx;
|
padding: 32rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.tui-list {
|
.tui-list {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 104rpx;
|
height: 104rpx;
|
||||||
@@ -1347,6 +1250,7 @@ export default {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.tui-box {
|
.tui-box {
|
||||||
width: 64rpx;
|
width: 64rpx;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
@@ -1354,6 +1258,7 @@ export default {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 64rpx;
|
width: 64rpx;
|
||||||
height: 64rpx;
|
height: 64rpx;
|
||||||
@@ -1536,7 +1441,7 @@ export default {
|
|||||||
|
|
||||||
.product_content {
|
.product_content {
|
||||||
margin-left: 10rpx;
|
margin-left: 10rpx;
|
||||||
display: grid;
|
// display: grid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.price_content_warp {
|
.price_content_warp {
|
||||||
@@ -1578,6 +1483,7 @@ export default {
|
|||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #808080;
|
color: #808080;
|
||||||
|
margin-top: 16rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1668,6 +1574,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.open_Show {
|
.open_Show {
|
||||||
|
|
||||||
/* 弹出层形式的广告 */
|
/* 弹出层形式的广告 */
|
||||||
.uni-banner {
|
.uni-banner {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1731,6 +1638,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.hideCanvasView {
|
.hideCanvasView {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
@@ -1,116 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="content">
|
|
||||||
<TopSafe></TopSafe>
|
|
||||||
<Header :title="name" >
|
|
||||||
<!-- #ifndef MP-WEIXIN -->
|
|
||||||
<template v-slot:right>
|
|
||||||
<u-icon name="share-fill" @click="onShare" color="#333" size="24"></u-icon>
|
|
||||||
</template>
|
|
||||||
<!-- #endif -->
|
|
||||||
</Header>
|
|
||||||
<view class="setting-view">
|
|
||||||
<view class="name-box">
|
|
||||||
<PingItem @ok="onJumpShop" style="margin-top:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></PingItem>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<up-toast ref="uToastRef"></up-toast>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import Header from '@/components/common/header.vue';
|
|
||||||
import TopSafe from '@/components/common/top-safe.nvue'
|
|
||||||
import MyBtn from '@/components/common/my-btn.vue'
|
|
||||||
import { searchList } from '@/api/product.js';
|
|
||||||
import { getCascadeCategory } from '@/api/common.js';
|
|
||||||
|
|
||||||
import PingItem from "@/components/shop/ping-item.vue";
|
|
||||||
import func from '@/utils/func.js';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
components: { Header, TopSafe,MyBtn,PingItem },
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
dataList:[
|
|
||||||
],
|
|
||||||
name:null,
|
|
||||||
id:0
|
|
||||||
};
|
|
||||||
},
|
|
||||||
onShow() {
|
|
||||||
},
|
|
||||||
onLoad(option) {
|
|
||||||
if(option && option.id){
|
|
||||||
this.id = Number(option.id);
|
|
||||||
this.name = option.name;
|
|
||||||
this.init();
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
init() {
|
|
||||||
this.getSearchList();
|
|
||||||
},
|
|
||||||
async getSearchList(){
|
|
||||||
const params = {
|
|
||||||
page: 1,
|
|
||||||
pageSize: 99,
|
|
||||||
categoryId:this.id
|
|
||||||
}
|
|
||||||
const resp = await searchList(params);
|
|
||||||
if(resp && resp.bizcode === 100){
|
|
||||||
this.dataList = resp.data || [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onJumpShop(id){
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/other_package/productInfo/productInfo?id='+id,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onShare(){
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/other_package/invite_friends/invite_friends',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.bottom-btn{
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom:92rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
padding: 0 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
}
|
|
||||||
.setting-view {
|
|
||||||
width: 100%;
|
|
||||||
height: calc(100% - 88rpx - var(--status-bar-height));
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
overflow-y: auto;
|
|
||||||
padding: 0 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
.name-box {
|
|
||||||
width: 100%;
|
|
||||||
border-radius: 16rpx;
|
|
||||||
height: 100%;
|
|
||||||
overflow-y: auto;
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-content: flex-start;
|
|
||||||
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1,173 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="content">
|
|
||||||
<TopSafe></TopSafe>
|
|
||||||
<Header title="信任桥优选专区" >
|
|
||||||
<!-- #ifndef MP-WEIXIN -->
|
|
||||||
<template v-slot:right>
|
|
||||||
<u-icon name="share-fill" @click="onShare" color="#333" size="24"></u-icon>
|
|
||||||
</template>
|
|
||||||
<!-- #endif -->
|
|
||||||
</Header>
|
|
||||||
|
|
||||||
<view class="swiper-view">
|
|
||||||
<up-swiper
|
|
||||||
:list="swiperList"
|
|
||||||
style="width:100%"
|
|
||||||
circular
|
|
||||||
></up-swiper>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="mid-panel">
|
|
||||||
<up-image src="/static/common/jingxuan_left.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
|
|
||||||
<view style="margin:0 12rpx">信任桥优选</view>
|
|
||||||
<up-image src="/static/common/jingxuan_right.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
<view class="setting-view">
|
|
||||||
<YouItem @ok="onJumpShop" style="margin-bottom:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></YouItem>
|
|
||||||
</view>
|
|
||||||
<up-toast ref="uToastRef"></up-toast>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import Header from '@/components/common/header.vue';
|
|
||||||
import TopSafe from '@/components/common/top-safe.nvue'
|
|
||||||
import MyBtn from '@/components/common/my-btn.vue'
|
|
||||||
import YouItem from '@/components/shop/you-item.vue'
|
|
||||||
import { searchList } from '@/api/product.js';
|
|
||||||
import { getCarouselImage } from '@/api/common.js';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
components: { Header, TopSafe,MyBtn,YouItem },
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
dataList:[
|
|
||||||
],
|
|
||||||
swiperList: ['https://cdn.uviewui.com/uview/swiper/swiper1.png'],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
onShow() {
|
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
this.init();
|
|
||||||
this.getCarouselImage();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
init() {
|
|
||||||
this.getSearchList();
|
|
||||||
},
|
|
||||||
async getSearchList(){
|
|
||||||
const params = {
|
|
||||||
type:1,
|
|
||||||
page:1,
|
|
||||||
pageSize:99,
|
|
||||||
}
|
|
||||||
const resp = await searchList(params);
|
|
||||||
if(resp && resp.bizcode === 100){
|
|
||||||
this.dataList = resp.data || [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async getCarouselImage(){
|
|
||||||
const params={
|
|
||||||
pageUi:4,
|
|
||||||
}
|
|
||||||
const resp = await getCarouselImage(params);
|
|
||||||
if(resp && resp.bizcode === 100){
|
|
||||||
const data = resp.data || [];
|
|
||||||
this.swiperList = data.length !== 0 ? data.map(obj=>obj.carouselImage) : [];
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onJumpShop(id){
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/other_package/productInfo/productInfo?id='+id,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
onShare(){
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/other_package/invite_friends/invite_friends',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.bottom-btn{
|
|
||||||
width: 100%;
|
|
||||||
margin-bottom:92rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
padding: 0 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
}
|
|
||||||
.mid-panel{
|
|
||||||
width:100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
height:120rpx;
|
|
||||||
min-height:120rpx;
|
|
||||||
}
|
|
||||||
.swiper-view{
|
|
||||||
width:100%;
|
|
||||||
height:268rpx;
|
|
||||||
min-height:268rpx;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.setting-view {
|
|
||||||
width: 100%;
|
|
||||||
height: calc(100% - 88rpx - var(--status-bar-height));
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
overflow-y: auto;
|
|
||||||
padding: 0 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
.name-box{
|
|
||||||
width:100%;
|
|
||||||
border-radius: 16rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 64rpx 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin-top:24rpx;
|
|
||||||
.mid-view{
|
|
||||||
width:100%;
|
|
||||||
padding: 40rpx 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
border:2rpx solid #eaeaea;
|
|
||||||
border-radius: 16rpx;
|
|
||||||
margin-top:48rpx;
|
|
||||||
}
|
|
||||||
.top-view{
|
|
||||||
width:100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.input-view{
|
|
||||||
border-radius: 20rpx;
|
|
||||||
margin-top:52rpx;
|
|
||||||
width:100%;
|
|
||||||
padding: 0 32rpx;
|
|
||||||
min-height:104rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
@@ -1,29 +1,39 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<TopSafe></TopSafe>
|
<TopSafe></TopSafe>
|
||||||
<Header title="兑换券专区" >
|
<Header :isBack="false">
|
||||||
<!-- #ifndef MP-WEIXIN -->
|
<!-- #ifndef MP-WEIXIN -->
|
||||||
<template v-slot:right>
|
<template v-slot:left>
|
||||||
<u-icon name="share-fill" @click="onShare" color="#333" size="24"></u-icon>
|
<u-icon size="36rpx" name="arrow-left" color="#000" @click="goback"></u-icon>
|
||||||
</template>
|
抵扣券专区: {{ balanceData.curAmount || 0 }}
|
||||||
|
</template>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
</Header>
|
</Header>
|
||||||
<view class="swiper-view">
|
<view class="swiper-view">
|
||||||
<up-swiper
|
<view :class="['swiper-item', { 'active': currentItem === item.key }]" v-for="(item, index) in swiperList"
|
||||||
:list="swiperList"
|
:key="index" @click="onClickItem(item)">
|
||||||
style="width:100%"
|
<view class="swiper-item-content">{{ item.label }}</view>
|
||||||
circular
|
</view>
|
||||||
></up-swiper>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="mid-panel">
|
<view class="name-box">
|
||||||
<up-image src="/static/common/jingxuan_left.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
|
<mescroll-uni ref="mescrollRef" @down="downCallback" @up="upCallback" :up="upOption" :down="downOption"
|
||||||
<view style="margin:0 12rpx">信任桥兑换</view>
|
@init="mescrollInit" :fixed="false">
|
||||||
<up-image src="/static/common/jingxuan_right.png" width="24" height="8" bgColor="#f1f6ff00"></up-image>
|
|
||||||
</view>
|
<!-- 原来单个 v-for 替换成两列 -->
|
||||||
<view class="setting-view">
|
<view class="mescrollUniView">
|
||||||
<FenItem @ok="onJumpShop" style="margin-top:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></FenItem>
|
<view class="fall-col">
|
||||||
|
<PingItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
|
||||||
|
style="margin-top: 24rpx" />
|
||||||
|
</view>
|
||||||
|
<view class="fall-col">
|
||||||
|
<PingItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
|
||||||
|
style="margin-top: 24rpx" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</mescroll-uni>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<up-toast ref="uToastRef"></up-toast>
|
<up-toast ref="uToastRef"></up-toast>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -32,67 +42,151 @@
|
|||||||
import Header from '@/components/common/header.vue';
|
import Header from '@/components/common/header.vue';
|
||||||
import TopSafe from '@/components/common/top-safe.nvue'
|
import TopSafe from '@/components/common/top-safe.nvue'
|
||||||
import MyBtn from '@/components/common/my-btn.vue'
|
import MyBtn from '@/components/common/my-btn.vue'
|
||||||
import FenItem from '@/components/shop/fen-item.vue'
|
|
||||||
import { searchList } from '@/api/product.js';
|
import { searchList } from '@/api/product.js';
|
||||||
import { getCarouselImage } from '@/api/common.js';
|
import { getAcctBalance } from "@/api/finance.js";
|
||||||
|
|
||||||
|
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
|
||||||
|
import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue";
|
||||||
|
import PingItem from "@/components/shop/ping-item.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { Header, TopSafe,MyBtn,FenItem },
|
mixins: [MescrollMixin],
|
||||||
|
components: { Header, TopSafe, MyBtn, PingItem, MescrollUni, },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dataList:[],
|
dataList: [],
|
||||||
swiperList: ['https://cdn.uviewui.com/uview/swiper/swiper1.png'],
|
swiperList: [
|
||||||
|
{ key: 0, label: '全部', minDeduction: 0, maxDeduction: 999999 },
|
||||||
|
{ key: 1, label: '<300积分', minDeduction: 0, maxDeduction: 299.99 },
|
||||||
|
{ key: 2, label: '300-500积分', minDeduction: 300, maxDeduction: 499.99 },
|
||||||
|
{ key: 3, label: '500-1000积分', minDeduction: 500, maxDeduction: 999.99 },
|
||||||
|
{ key: 4, label: '>1000积分', minDeduction: 1000, maxDeduction: 999999 },
|
||||||
|
],
|
||||||
|
currentItem: 0,
|
||||||
|
downOption: {
|
||||||
|
auto: false,
|
||||||
|
textColor: "#333",
|
||||||
|
bgColor: "rgba(0,0,0,0)",
|
||||||
|
},
|
||||||
|
upOption: {
|
||||||
|
auto: false,
|
||||||
|
page: {
|
||||||
|
size: 10,
|
||||||
|
},
|
||||||
|
noMoreSize: 10,
|
||||||
|
empty: {
|
||||||
|
tip: `空空如也`,
|
||||||
|
},
|
||||||
|
textColor: "#333",
|
||||||
|
bgColor: "rgba(0,0,0,0)",
|
||||||
|
},
|
||||||
|
leftList: [],
|
||||||
|
rightList: [],
|
||||||
|
mescroll: null,
|
||||||
|
balanceData: {},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onShow() {
|
|
||||||
},
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
this.init();
|
this.init();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init() {
|
init() {
|
||||||
this.getSearchList();
|
this.getSearchList();
|
||||||
this.getCarouselImage();
|
this.getAcctBalance();
|
||||||
},
|
},
|
||||||
async getCarouselImage(){
|
async getAcctBalance() {
|
||||||
const params={
|
const resp = await getAcctBalance();
|
||||||
pageUi:6,
|
let data = [];
|
||||||
}
|
if (resp && resp.bizcode === 100) {
|
||||||
const resp = await getCarouselImage(params);
|
data = resp.data || [];
|
||||||
if(resp && resp.bizcode === 100){
|
|
||||||
const data = resp.data || [];
|
|
||||||
this.swiperList = data.length !== 0 ? data.map(obj=>obj.carouselImage) : [];
|
|
||||||
}
|
}
|
||||||
|
this.balanceData = data.filter(item => item.categoty === 'vcoin')[0] || {};
|
||||||
},
|
},
|
||||||
async getSearchList(){
|
|
||||||
|
onClickItem(item) {
|
||||||
|
this.currentItem = item.key;
|
||||||
|
this.getSearchList(item);
|
||||||
|
},
|
||||||
|
|
||||||
|
mescrollInit(mescroll) {
|
||||||
|
this.mescroll = mescroll;
|
||||||
|
},
|
||||||
|
upCallback(page) {
|
||||||
|
let currentSwiperItem = this.swiperList.find(item => item.key === this.currentItem) || {};
|
||||||
|
|
||||||
|
let params = {
|
||||||
|
type: -1,
|
||||||
|
page: page.num,
|
||||||
|
pageSize: page.size,
|
||||||
|
minDeduction: currentSwiperItem.minDeduction || 0,
|
||||||
|
maxDeduction: currentSwiperItem.maxDeduction || 999999,
|
||||||
|
};
|
||||||
|
searchList(params).then((res) => {
|
||||||
|
let curPageLen = res.data.length;
|
||||||
|
if (page.num === 1) this.dataList = [];
|
||||||
|
this.dataList = this.dataList.concat(res.data);
|
||||||
|
|
||||||
|
this.waterfall();
|
||||||
|
this.mescroll.endBySize(curPageLen, res.total);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
downCallback() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.mescroll && this.mescroll.resetUpScroll();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
async getSearchList(item = {}) {
|
||||||
const params = {
|
const params = {
|
||||||
type:3,
|
type: -1,
|
||||||
page:1,
|
page: 1,
|
||||||
pageSize:99,
|
pageSize: 99,
|
||||||
|
minDeduction: item.minDeduction || 0,
|
||||||
|
maxDeduction: item.maxDeduction || 999999,
|
||||||
}
|
}
|
||||||
const resp = await searchList(params);
|
const resp = await searchList(params);
|
||||||
if(resp && resp.bizcode === 100){
|
if (resp && resp.bizcode === 100) {
|
||||||
this.dataList = resp.data || [];
|
this.dataList = resp.data || [];
|
||||||
|
this.waterfall();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onJumpShop(id){
|
|
||||||
|
waterfall() {
|
||||||
|
this.leftList = this.dataList
|
||||||
|
.map((item, index) => {
|
||||||
|
if (index % 2 == 0) return item;
|
||||||
|
return null;
|
||||||
|
})
|
||||||
|
.filter(Boolean);
|
||||||
|
this.rightList = this.dataList
|
||||||
|
.map((item, index) => {
|
||||||
|
if (index % 2 != 0) return item;
|
||||||
|
return null;
|
||||||
|
})
|
||||||
|
.filter(Boolean);
|
||||||
|
console.log(this.leftList, this.rightList);
|
||||||
|
},
|
||||||
|
onJumpShop(id) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/other_package/productInfo/productInfo?id='+id,
|
url: '/pages/other_package/productInfo/productInfo?id=' + id + '&isPar=true&curAmount=' + this.balanceData.curAmount || 0,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onShare(){
|
onShare() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/other_package/invite_friends/invite_friends',
|
url: '/pages/other_package/invite_friends/invite_friends',
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
goback() {
|
||||||
|
uni.navigateBack()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.bottom-btn{
|
.bottom-btn {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom:92rpx;
|
margin-bottom: 92rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -101,70 +195,53 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
}
|
}
|
||||||
.mid-panel{
|
|
||||||
width:100%;
|
.swiper-view {
|
||||||
|
width: 100%;
|
||||||
|
height: 80rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
background: #FFFFFF;
|
||||||
justify-content: center;
|
overflow-x: auto;
|
||||||
height:120rpx;
|
white-space: nowrap;
|
||||||
min-height:120rpx;
|
padding: 0 16rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.swiper-item {
|
||||||
|
padding: 0 16rpx;
|
||||||
|
height: 100%;
|
||||||
|
color: #666;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-shrink: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
color: #7A35F6;
|
||||||
|
border-bottom: 4rpx solid #7A35F6;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.swiper-view{
|
|
||||||
width:100%;
|
.name-box {
|
||||||
height:268rpx;
|
|
||||||
min-height:268rpx;
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.setting-view {
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(100% - 88rpx - 268rpx - 156rpx - var(--status-bar-height));
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
overflow-y: auto;
|
}
|
||||||
padding: 0 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
position: relative;
|
|
||||||
.name-box{
|
|
||||||
width:100%;
|
|
||||||
border-radius: 16rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 64rpx 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin-top:24rpx;
|
|
||||||
.mid-view{
|
|
||||||
width:100%;
|
|
||||||
padding: 40rpx 32rpx;
|
|
||||||
box-sizing: border-box;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
border:2rpx solid #eaeaea;
|
|
||||||
border-radius: 16rpx;
|
|
||||||
margin-top:48rpx;
|
|
||||||
}
|
|
||||||
.top-view{
|
|
||||||
width:100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.input-view{
|
|
||||||
border-radius: 20rpx;
|
|
||||||
margin-top:52rpx;
|
|
||||||
width:100%;
|
|
||||||
padding: 0 32rpx;
|
|
||||||
min-height:104rpx;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
box-sizing: border-box;
|
|
||||||
|
|
||||||
}
|
.mescrollUniView {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-between;
|
||||||
|
gap: 24rpx;
|
||||||
|
|
||||||
|
.fall-col {
|
||||||
|
width: 332rpx;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -35,16 +35,7 @@
|
|||||||
@init="mescrollInit"
|
@init="mescrollInit"
|
||||||
:fixed="false"
|
:fixed="false"
|
||||||
>
|
>
|
||||||
<!-- <view class="mescrollUniView">
|
|
||||||
|
|
||||||
<PingItem
|
|
||||||
@ok="onJumpShop"
|
|
||||||
style="margin-top: 24rpx"
|
|
||||||
:obj="item"
|
|
||||||
v-for="(item, index) in dataList"
|
|
||||||
:key="index"
|
|
||||||
></PingItem>
|
|
||||||
</view> -->
|
|
||||||
<!-- 原来单个 v-for 替换成两列 -->
|
<!-- 原来单个 v-for 替换成两列 -->
|
||||||
<view class="mescrollUniView">
|
<view class="mescrollUniView">
|
||||||
<view class="fall-col">
|
<view class="fall-col">
|
||||||
@@ -115,6 +106,7 @@ export default {
|
|||||||
},
|
},
|
||||||
leftList: [],
|
leftList: [],
|
||||||
rightList: [],
|
rightList: [],
|
||||||
|
mescroll: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
@@ -226,7 +218,6 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.content-two {
|
.content-two {
|
||||||
height: calc(100vh);
|
height: calc(100vh);
|
||||||
|
|
||||||
background-color: $app-bj;
|
background-color: $app-bj;
|
||||||
}
|
}
|
||||||
.head-view {
|
.head-view {
|
||||||
|
|||||||
+5
-4
@@ -3,11 +3,12 @@
|
|||||||
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
|
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
|
||||||
|
|
||||||
|
|
||||||
export const BASE_URL = "https://api.tbmall.xin"; //生产
|
// export const BASE_URL = "https://api.tbmall.xin"; //生产
|
||||||
export const MILD_BASE_URL = "https://agent.tbmall.xin/"; //中台生产
|
// export const MILD_BASE_URL = "https://agent.tbmall.xin/"; //中台生产
|
||||||
//
|
//
|
||||||
// export const BASE_URL ='https://api.o.tbmall.xin'; // 本地测试
|
export const BASE_URL ='https://api.o.tbmall.xin'; // 本地测试
|
||||||
// export const MILD_BASE_URL = "https://agent.o.tbmall.xin/"; //中台测试
|
export const MILD_BASE_URL = "https://agent.o.tbmall.xin/"; //中台测试
|
||||||
|
// https://h.o.tbmall.xin/#/
|
||||||
|
|
||||||
|
|
||||||
export const SHARE_URL = 'https://h.tbmall.xin';
|
export const SHARE_URL = 'https://h.tbmall.xin';
|
||||||
|
|||||||
Reference in New Issue
Block a user