@ -2,9 +2,15 @@
< view class = "order-create-container" >
< view class = "flex-center order-status" >
<!-- 待支付 -- >
< template v-if = "orderData.status === SHOP_ORDER_UNPAY && !orderData.tui_status" >
< template
v-if = "orderData.status === SHOP_ORDER_UNPAY && !orderData.tui_status"
>
< view class = "flex-row-center" >
< image class = "status-icon" src = "./static/order_unpay.png" mode = "widthFix" / >
< image
class = "status-icon"
src = "./static/order_unpay.png"
mode = "widthFix"
/ >
< text class = "fs-36 app-fc-main app-font-bold" > 待支付 < / text >
< / view >
< view v-if = "countDownTime > 0" class="fs-24 app-fc-main status-tips" >
@ -16,31 +22,47 @@
< / template >
<!-- 待发货 -- >
< template v-if = "orderData.status === SHOP_ORDER_UNSLIVER && !orderData.tui_status" >
< template
v-if = "orderData.status === SHOP_ORDER_UNSLIVER && !orderData.tui_status"
>
< view class = "flex-row-center" >
< image class = "status-icon" src = "./static/order_ungo.png" mode = "widthFix" / >
< image
class = "status-icon"
src = "./static/order_ungo.png"
mode = "widthFix"
/ >
< text class = "fs-36 app-fc-main app-font-bold" > 待预约 < / text >
< / view >
< view class = "fs-24 app-fc-main status-tips" >
已付款 , 待预约
< / view >
< view class = "fs-24 app-fc-main status-tips" > 已付款 , 待预约 < / view >
< / template >
<!-- 待收货 -- >
< template v-if ="
< template
v-if ="
orderData.status === SHOP_ORDER_UNRECEIVE && !orderData.tui_status
">
"
>
<view class="flex-row-center">
<image class="status-icon" src="./static/order_go.png" mode="widthFix" />
<image
class="status-icon"
src="./static/order_go.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">待收货</text>
</view>
<view class="fs-24 app-fc-main status-tips"> 已发货,等待收货 </view>
</template>
<!-- 已签收 -->
<template v-if="orderData.status === SHOP_ORDER_UNREMARK && !orderData.tui_status">
<template
v-if="orderData.status === SHOP_ORDER_UNREMARK && !orderData.tui_status"
>
<view class="flex-row-center">
<image class="status-icon" src="./static/order_done.png" mode="widthFix" />
<image
class="status-icon"
src="./static/order_done.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">已签收</text>
</view>
<view class="fs-24 app-fc-main status-tips">
@ -49,17 +71,29 @@
</template>
<!-- 已完成 -->
<template v-if="orderData.status === SHOP_ORDER_DONE && !orderData.tui_status">
<template
v-if="orderData.status === SHOP_ORDER_DONE && !orderData.tui_status"
>
<view class="flex-row-center">
<image class="status-icon" src="./static/order_done.png" mode="widthFix" />
<image
class="status-icon"
src="./static/order_done.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">已完成</text>
</view>
</template>
<!-- 已取消 -->
<template v-if="orderData.status === SHOP_ORDER_CANCEL && !orderData.tui_status">
<template
v-if="orderData.status === SHOP_ORDER_CANCEL && !orderData.tui_status"
>
<view class="flex-row-center">
<image class="status-icon" src="./static/order_cancel.png" mode="widthFix" />
<image
class="status-icon"
src="./static/order_cancel.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">已取消</text>
</view>
</template>
@ -67,7 +101,11 @@
<!-- 申请售后-等待平台确认 -->
<template v-if="orderData.tui_status === SHOP_ORDER_AFTERSALE">
<view class="flex-row-center">
<image class="status-icon" src="./static/refund_undo.png" mode="widthFix" />
<image
class="status-icon"
src="./static/refund_undo.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">等待平台确认</text>
</view>
<view class="fs-24 app-fc-main status-tips">
@ -78,7 +116,11 @@
<!-- 申请售后-退款成功 -->
<template v-if="orderData.tui_status === SHOP_ORDER_AFTERSALE_DONE">
<view class="flex-row-center">
<image class="status-icon" src="./static/order_done.png" mode="widthFix" />
<image
class="status-icon"
src="./static/order_done.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">退款成功</text>
</view>
<view class="fs-24 app-fc-main status-tips">
@ -89,10 +131,17 @@
<!-- 申请售后-退款驳回 -->
<template v-if="orderData.tui_status === SHOP_ORDER_AFTERSALE_REJECT">
<view class="flex-row-center">
<image class="status-icon" src="./static/order_cancel.png" mode="widthFix" />
<image
class="status-icon"
src="./static/order_cancel.png"
mode="widthFix"
/>
<text class="fs-36 app-fc-main app-font-bold">退款驳回</text>
</view>
<view class="fs-24 app-fc-main flex-center refund-btn" @click="showRefundModal = true">
<view
class="fs-24 app-fc-main flex-center refund-btn"
@click="showRefundModal = true"
>
查看驳回原因
</view>
</template>
@ -145,16 +194,29 @@
<!-- 商品信息 -->
<view class="info-cell goods-info-cell">
<template>
<view class="goods-item" v-for="(item, index) in orderData.products" :key="index">
<image class="goods-img" :src="item.product_pic" mode="aspectFill" @click="jumpToGoodDetails(item)" />
<view
class="goods-item"
v-for="(item, index) in orderData.products"
:key="index"
>
<image
class="goods-img"
:src="item.product_pic"
mode="aspectFill"
@click="jumpToGoodDetails(item)"
/>
<view class="goods-content" @click="jumpToGoodDetails(item)">
<view class="goods-row-first">
<view class="goods-name">{{ item.product_name || "" }}</view>
<text class="goods-price">¥{{ item.product_actual_price || 0 }}</text>
<text class="goods-price"
>¥{{ item.product_actual_price || 0 }}</text
>
</view>
<view class="goods-row-second">
<view class="goods-spec">
{{ item.shuxing_name || "" }}{{ item.shuxing_name && item.price_name ? ";" : "" }} {{ item.price _name || "" }}
{{ item.shuxing _name || ""
}}{{ item.shuxing_name && item.price_name ? ";" : ""
}}{{ item.price_name || "" }}
</view>
<text class="goods-count">共{{ item.number || 1 }}件</text>
</view>
@ -165,11 +227,13 @@
<view class="info-cell pay-cell">
<view class="flex-row-between pay-price">
<text class="pay-label">
商品总价
</text>
<text class="pay-label"> 商品总价 </text>
<text class="pay-total">
¥{{ [SHOP_ORDER_AFTERSALE_DONE].includes(orderData.tui_status) ? refundPrice : orderData.actual_price }}
¥{{
[SHOP_ORDER_AFTERSALE_DONE].includes(orderData.tui_status)
? refundPrice
: orderData.actual_price
}}
</text>
</view>
</view>
@ -196,15 +260,26 @@
<text class="order-value">{{ formatTime(orderData.shou_time) }}</text>
</view>
<view
v-if="[SHOP_ORDER_CANCEL].includes(orderData.status) && !orderData.tui_status && orderData.quxiao_time "
class="flex-row-between order-row">
v-if= "
[SHOP_ORDER_CANCEL].includes(orderData.status) &&
!orderData.tui_status &&
orderData.quxiao_time
"
class="flex-row-between order-row"
>
<text class="order-label">取消时间</text>
<text class="order-value">{{ formatTime(orderData.quxiao_time) }}</text>
</view>
<view v-if="
[SHOP_ORDER_AFTERSALE, SHOP_ORDER_AFTERSALE_DONE, SHOP_ORDER_AFTERSALE_REJECT].includes(orderData.tui_status) &&
orderData.tui_yuanyin
" class="flex-row-between order-row">
<view
v-if="
[
SHOP_ORDER_AFTERSALE,
SHOP_ORDER_AFTERSALE_DONE,
SHOP_ORDER_AFTERSALE_REJECT,
].includes(orderData.tui_status) && orderData.tui_yuanyin
"
class="flex-row-between order-row"
>
<text class="order-label">售后事项</text>
<text class="order-value">{{ orderData.tui_yuanyin }}</text>
</view>
@ -241,20 +316,28 @@
<view class="place-view"></view>
<view v-if="
<view
v-if="
[
SHOP_ORDER_UNPAY,
SHOP_ORDER_UNSLIVER,
SHOP_ORDER_UNRECEIVE,
SHOP_ORDER_DONE,
SHOP_ORDER_UNREMARK
SHOP_ORDER_UNREMARK,
].includes(orderData.status)
&& showBeforeSaleOrderStatus
" class="bottom-view">
"
class="bottom-view"
:class="{ 'two-buttons': showTwoButtons }"
>
<!-- 待支付 -->
<template v-if="[SHOP_ORDER_UNPAY].includes(orderData.status)">
<template
v-if="
[SHOP_ORDER_UNPAY].includes(orderData.status) &&
showBeforeSaleOrderStatus
"
>
<view class="handle-btn" @click.stop="showCancelModal = true">
<text class="fs-32 btnColor" style="color: #FF19A0; ">取消订单</text>
<text class="fs-32 btnColor" style="color: #ff19a0 ">取消订单</text>
</view>
<view class="handle-btn" @click.stop="pay">
<text class="fs-32 btnColor">立即支付</text>
@ -263,9 +346,11 @@
<!-- 待发货 -->
<template v-if="[SHOP_ORDER_UNSLIVER].includes(orderData.status)">
<!-- 抖音退款组件 -->
<view class="refund-btn-wrapper ">
<pay-button-sdk
<!-- 抖音退款组件 - 只有在没有售后状态或售后被驳回时显示 -->
<view v-if="showBeforeSaleOrderStatus" class="handle-btn refund-btn" @click.stop="remindRefund(orderData.order_id) ">
<text class="fs-32 btnColor" style="color: #ff19a0">立即退款</text>
</view>
<!-- <pay-button-sdk
mode={{1}}
:order-id="orderData.order_no"
:order-status="1"
@ -280,8 +365,8 @@
style="width:280rpx;height:100rpx;text-align:center;line-height: 100rpx;"
@refund="handleRefundSuccess"
@error="handleRefundError"
/>
</view >
/> -->
<!-- 立即预约按钮始终显示 -- >
<view class="handle-btn" @click.stop="remindSliver">
<text class="fs-32 btnColor">立即预约</text>
</view>
@ -316,60 +401,96 @@
</template>
</view>
<good-info-modal v-if="showGoodInfoModal" :goods="orderData.goods_list" @close="showGoodInfoModal = false"
@clickGoodImg="jumpToGoodDetails" @clickGoodInfo="jumpToGoodDetails" />
<good-info-modal
v-if="showGoodInfoModal"
:goods="orderData.goods_list"
@close="showGoodInfoModal = false"
@clickGoodImg="jumpToGoodDetails"
@clickGoodInfo="jumpToGoodDetails"
/>
<recharge-coupon-modal v-if="showCouponModal" :couponList="couponList" :price="payPrice" :showOptBtn="true"
@useCoupon="useCoupon" @close ="showCouponModal = false" />
<recharge-coupon-modal
v-if ="showCouponModal"
:couponList="couponList"
:price="payPrice"
:showOptBtn="true"
@useCoupon="useCoupon"
@close="showCouponModal = false"
/>
<contact-modal v-if="showContact" :data="configInfo" @close="showContact = false" />
<contact-modal
v-if="showContact"
:data="configInfo"
@close="showContact = false"
/>
<pop-up-modal v-if="showCancelModal" content="确定要退款吗?" @confirm="orderCancel"
@cancel ="showCancelModal = false" />
<pop-up-modal
v-if ="showCancelModal"
content="确定要退款吗?"
@confirm="orderCancel"
@cancel="showCancelModal = false"
/>
<success-modal v-if="showRemindSliver" title="提醒成功" message="已通知商家,请耐心等待商家发货" @close="showRemindSliver = false"
@ok ="showRemindSliver = false" />
<success-modal
v-if ="showRemindSliver"
title="提醒成功"
message="已通知商家,请耐心等待商家发货"
@close="showRemindSliver = false"
@ok="showRemindSliver = false"
/>
<success-modal v-if="showRefundModal" class="reject-modal" :showImg="false" title="驳回原因"
:message="orderData.tui_msg" @close="showRefundModal = false" @ok ="showRefundModal = false" />
<success-modal
v-if ="showRefundModal"
class="reject-modal"
:showImg="false"
title="驳回原因"
:message="orderData.tui_msg"
@close="showRefundModal = false"
@ok="showRefundModal = false"
/>
<sliver-info v-if="showSliverRouteModal" :orderId="orderId" :orderInfo="orderData"
@close ="showSliverRouteModal = false" />
<sliver-info
v-if ="showSliverRouteModal"
:orderId="orderId"
:orderInfo="orderData"
@close="showSliverRouteModal = false"
/>
<call-modal :phone-number="managerPhoneNum" v-if="isShowCallManagerModal"
@close="isShowCallManagerModal = false" />
<call-modal
:phone-number="managerPhoneNum"
v-if="isShowCallManagerModal"
@close="isShowCallManagerModal = false"
/>
</view>
</template>
<script>
import moment from "moment";
import SelectModal from "@/components/select-modal.vue";
import GoodInfoModal from "./components/GoodInfoModal.vue";
import RechargeCouponModal from "@/components/coupon/RechargeCouponModal.vue";
import ContactModal from "@/components/ContactModal.vue";
import PopUpModal from "@/components/PopUpModal.vue";
import SuccessModal from "@/components/SuccessModal.vue";
import SliverInfo from "./components/SliverInfo.vue";
import moment from "moment";
import SelectModal from "@/components/select-modal.vue";
import GoodInfoModal from "./components/GoodInfoModal.vue";
import RechargeCouponModal from "@/components/coupon/RechargeCouponModal.vue";
import ContactModal from "@/components/ContactModal.vue";
import PopUpModal from "@/components/PopUpModal.vue";
import SuccessModal from "@/components/SuccessModal.vue";
import SliverInfo from "./components/SliverInfo.vue";
import CallModal from "@/components/petOrder/call-modal.vue";
import DraggableContact from "@/components/DraggableContact.vue";
import {
walletTransaction,
cancelPetOrderRefund,
cancelPetOrderMall
} from "../../../api/login";
cancelPetOrderMall,
} from "../../../api/login";
import {
getConfig
} from "../../../api/config";
import {
import { getConfig } from "../../../api/config";
import {
cancelOrder,
confirmOrder,
getShopOrderDetails,
payOrder,
deleteCart,
remindOrder,
} from "../../../api/shop";
import {
} from "../../../api/shop";
import {
SHOP_ORDER_UNPAY,
SHOP_ORDER_UNSLIVER,
SHOP_ORDER_UNRECEIVE,
@ -381,14 +502,11 @@ import {
SHOP_ORDER_UNREMARK,
ORDER_TYPE_ADDRESS,
ORDER_TYPE_BYCAR,
ORDER_TYPE_BYPET
} from "@/constants/app.business";
import {
jumpToWeChat,
imgPrefix
} from "@/utils/common";
ORDER_TYPE_BYPET,
} from "@/constants/app.business";
import { jumpToWeChat, imgPrefix } from "@/utils/common";
export default {
export default {
components: {
SelectModal,
GoodInfoModal,
@ -398,7 +516,7 @@ import {
SuccessModal,
SliverInfo,
CallModal,
DraggableContact
DraggableContact,
},
data() {
return {
@ -418,9 +536,12 @@ import {
orderData: {},
showGoodInfoModal: false,
showCouponModal: false,
couponList: Array.from({
length: 5
}, (v, k) => k) ,
couponList: Array.from(
{
length: 5 ,
},
(v, k) => k
),
couponInfo: null,
showContact: false,
configInfo: {
@ -451,6 +572,24 @@ import {
};
},
computed: {
// 判断是否显示两个按钮
showTwoButtons() {
// 待支付状态显示两个按钮
if (
this.orderData.status === SHOP_ORDER_UNPAY &&
this.showBeforeSaleOrderStatus
) {
return true;
}
// 待发货状态且没有售后时显示两个按钮
if (
this.orderData.status === SHOP_ORDER_UNSLIVER &&
this.showBeforeSaleOrderStatus
) {
return true;
}
return false;
},
goodsImgs() {
return (this.orderData?.goods_list || [])
.map((item) => item.goods_pic)
@ -469,19 +608,22 @@ import {
return +this.orderData?.refund_fee || 0;
},
showBeforeSaleOrderStatus() {
return !this.orderData.tui_status || this.orderData.tui_status === SHOP_ORDER_AFTERSALE_REJECT
return (
!this.orderData.tui_status ||
this.orderData.tui_status === SHOP_ORDER_AFTERSALE_REJECT
);
},
carNumber() {
return this.orderData?.car_info?.car_no || ''
return this.orderData?.car_info?.car_no || "";
},
managerPhoneNum() {
return this.orderData?.guanjia_info?.mobile || ''
return this.orderData?.guanjia_info?.mobile || "";
},
managerName() {
return this.orderData?.guanjia_info?.name || ''
return this.orderData?.guanjia_info?.name || "";
},
guanjiaPic() {
return this.orderData?.guanjia_info?.guanjia_pic || ''
return this.orderData?.guanjia_info?.guanjia_pic || "";
},
},
@ -494,7 +636,7 @@ import {
const windowHeight = systemInfo.windowHeight;
// 计算底部距离: calc(35vh - 130rpx - 48rpx) 转换为rpx
// 35vh = windowHeight * 0.35, 转换为rpx (750rpx = windowHeight px)
const vh35InRpx = (windowHeight * 0.35 / windowHeight) * 750;
const vh35InRpx = ( (windowHeight * 0.35) / windowHeight) * 750;
this.contactBtnBottom = vh35InRpx - 130 - 48;
},
beforeDestroy() {
@ -505,7 +647,7 @@ import {
jumpToWeChat,
// 获取订单详情
getOrderDetail() {
getShopOrderDetails( Number(this.orderId) ).then((res) => {
getShopOrderDetails(Number(this.orderId)).then((res) => {
this.orderData = res?.data || {};
if (
this.orderData.status === SHOP_ORDER_UNPAY &&
@ -530,9 +672,33 @@ import {
useCoupon(data) {
this.showCouponModal = false;
this.couponInfo = {
...data
...data,
};
},
remindRefund(id) {
const data = {
id: Number(id),
};
cancelPetOrderMall(data).then((res) => {
const plugin = tt.requirePlugin("lifeServicePlugin");
plugin.applyRefund({
goodsList:res.data.goodsList,
outOrderNo:res.data.outOrderNo,
refundInfo:res.data.refundInfo,
success(res) {
uni.showToast({
title: '退款成功',
icon: 'success'
})
const { outRefundNo } = res;
tt.showToast({ title: outRefundNo });
},
fail(res) {
console.log("fail", res);
},
});
});
},
// 取消订单
orderCancel() {
@ -543,7 +709,7 @@ import {
});
const data = {
order_id: Number(this.orderId),
}
};
cancelPetOrderMall(data).then((res) => {
uni.hideLoading();
this.showCancelModal = false;
@ -557,7 +723,7 @@ import {
title: "处理中",
mask: true,
});
confirmOrder(Number(this.orderId) ).then((res) => {
confirmOrder(Number(this.orderId)).then((res) => {
uni.hideLoading();
this.getOrderDetail();
});
@ -577,17 +743,17 @@ import {
mask: true,
});
payOrder({
type:4,
type: 4,
total_fee: Number(this.orderData.actual_price),
order_id:this.orderData.order_id,
order_no:this.orderData.order_no
order_id: this.orderData.order_id,
order_no: this.orderData.order_no,
}).then((res) => {
tt.pay({
orderInfo: {
order_id:res.data.orderInfo.order_id,
order_token:res.data.orderInfo.order_token,
order_id: res.data.orderInfo.order_id,
order_token: res.data.orderInfo.order_token,
},
service:5,
service: 5,
success: (res) => {
uni.hideLoading();
uni.showToast({
@ -605,8 +771,6 @@ import {
},
});
});
},
// 提醒发货
remindSliver() {
@ -633,7 +797,7 @@ import {
title: "暂无评价",
icon: "none",
});
return
return;
}
uni.navigateTo({
url: `/pages/client/remark/details?remarkId=${this.orderData.pinglun_id}`,
@ -686,7 +850,10 @@ import {
// 按钮高度约120rpx
const btnHeight = 120;
newBottom = Math.max(0, Math.min(newBottom, windowHeight * 2 - btnHeight));
newBottom = Math.max(
0,
Math.min(newBottom, windowHeight * 2 - btnHeight)
);
// right始终保持为0
this.contactBtnRight = 0;
@ -709,15 +876,15 @@ import {
},
// 退款成功回调
handleRefundSuccess(e) {
console.log(' 退款成功:' , e.detail)
uni.showToast({ title: ' 退款申请已提交' , icon: ' success' })
this.getOrderDetail()
console.log(" 退款成功:" , e.detail);
uni.showToast({ title: " 退款申请已提交" , icon: " success" });
this.getOrderDetail();
},
// 退款错误回调
handleRefundError(e) {
console.error(' 退款错误:' , e.detail)
uni.showToast({ title: e.detail.message || ' 退款失败' , icon: ' none' })
console.error(" 退款错误:" , e.detail);
uni.showToast({ title: e.detail.message || " 退款失败" , icon: " none" });
},
formatSecond(seconds) {
@ -729,15 +896,15 @@ import {
}${second > 0 ? second + "秒" : ""}`;
},
},
};
};
</script>
<style lang="scss" scoped >
. order - create - container {
. order - create - container {
height : 100 % ;
padding : 20 rpx ;
box - sizing : border - box ;
background : # F7F8FA ;
background : # f7f8fa ;
padding - top : 0 ;
. order - status {
@ -804,7 +971,7 @@ import {
. address - name {
font - size : 28 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
. address - phone {
margin - left : 8 rpx ;
@ -829,14 +996,13 @@ import {
width : 34 rpx ;
height : 34 rpx ;
flex - shrink : 0 ;
}
. sliver - text {
flex : 1 ;
margin - left : 20 rpx ;
font - size : 24 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
}
}
@ -880,7 +1046,7 @@ import {
. goods - name {
flex : 1 ;
font - size : 28 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
line - height : 40 rpx ;
overflow : hidden ;
text - overflow : ellipsis ;
@ -891,7 +1057,7 @@ import {
. goods - price {
flex - shrink : 0 ;
font - size : 28 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
font - weight : 500 ;
}
}
@ -940,7 +1106,7 @@ import {
. payment - text {
font - size : 24 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
}
}
@ -963,19 +1129,19 @@ import {
. pay - label {
font - size : 24 rpx ;
color : # 9 B 939A ;
color : # 9 b 939a ;
}
. pay - value {
font - size : 24 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
}
}
. coupon - row {
. coupon - price {
font - size : 28 rpx ;
color : # FF 19A 0;
color : # ff 19a 0;
margin - right : 12 rpx ;
}
}
@ -989,12 +1155,12 @@ import {
. pay - label {
font - size : 28 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
}
. pay - total {
font - size : 28 rpx ;
color : # FF 19A 0;
color : # ff 19a 0;
font - weight : 500 ;
}
}
@ -1045,12 +1211,12 @@ import {
. order - label {
font - size : 24 rpx ;
color : # 9 B 939A ;
color : # 9 b 939a ;
}
. order - value {
font - size : 24 rpx ;
color : # 3 D3D3D ;
color : # 3 d3d3d ;
}
}
@ -1118,11 +1284,16 @@ import {
box - sizing : border - box ;
display : flex ;
flex - direction : row ;
justify - content : space - between ;
justify - content : center ;
background - color : # ffffff ;
padding - top : 12 rpx ;
align - items : center ;
// 两个按钮时左右分布
& . two - buttons {
justify - content : space - between ;
}
. refund - btn - wrapper {
flex : 1 ;
min - width : 0 ;
@ -1149,10 +1320,20 @@ import {
}
}
// 最后一个按钮的特殊样式(优先级最高)
// 退款按钮保持粉色边框白色背景样式
. handle - btn . refund - btn {
border : 2 rpx solid # ff19a0 ! important ;
background : transparent ! important ;
. btnColor {
color : # ff19a0 ! important ;
}
}
// 最后一个按钮(立即预约)保持粉色背景白色文字样式
. handle - btn : last - child {
border : 2 rpx solid # FF 19A 0 ! important ;
background : # FF 19A 0 ! important ;
border : 2 rpx solid # ff 19a 0 ! important ;
background : # ff 19a 0 ! important ;
text {
color : # fff ! important ;
@ -1181,8 +1362,8 @@ import {
}
. contact - btn {
color : # FFFFFF ;
background - color : # FF 19A 0;
color : # ffffff ;
background - color : # ff 19a 0;
border - radius : 257 px ;
padding : 6 rpx 8 rpx ;
transform : translateY ( - 8 px ) ;
@ -1226,6 +1407,5 @@ import {
}
}
}
}
}
< / style >