CarRental/pages_store/ordder/ordder_Detail.vue
2025-01-06 11:51:31 +08:00

1179 lines
24 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page">
<view class="fixed">
<u-navbar title="订单详情" :border-bottom="false" :background="background" title-color='#000' title-size='36'
height='45' back-icon-color='#000'></u-navbar>
</view>
<view class="backimg">
</view>
<!-- <image class="backimg" src="https://lxnapi.ccttiot.com/bike/img/static/usCZzuQpGCBUpvzCfqyE" mode=""></image> -->
<view class="car_info" >
<view class="info_tit">
{{typeReturn(orderInfo.status) }}
</view>
<view class="box1">
<view class="left">
<view class="name">
{{orderInfo.model}}
</view>
<view class="car_type_li">
<view class="type" v-for="(items,indexs) in modelInfo.accessorys" :key="indexs">
{{items.name}}
</view>
</view>
</view>
<image src="https://lxnapi.ccttiot.com/bike/img/static/uAIbCubNk8w9JI4DlDuX" mode=""></image>
</view>
<view class="txt4" v-if="orderInfo.createTime">
{{returnTime(orderInfo.createTime)}} 至 {{returnTime(orderInfo.expiryTime)}}{{orderInfo.num}} {{timetype(orderInfo.rentalUnit)}}
</view>
<view class="info_li2">
<view class="txt4">
车辆编号
</view>
<view class="txt5">
{{orderInfo.sn}}
</view>
</view>
</view>
<view class="price_box">
<view class="tit">
支付费用
</view>
<view class="price_li">
<view class="txt6">
车辆押金
</view>
<view class="txt7">
¥{{orderInfo.deposit}}
</view>
</view>
<view class="price_li">
<view class="txt6">
车辆租金
</view>
<view class="txt7">
¥{{orderInfo.leaseFee}}
</view>
</view>
<view class="price_li">
<view class="txt6">
实付
</view>
<view class="txt7">
¥{{orderInfo.payFee}}
</view>
</view>
<view class="price_li">
<view class="txt6">
骑行享权服务
</view>
<view class="txt7">
微信支付
</view>
</view>
<view class="price_li">
<view class="txt6">
支付时间
</view>
<view class="txt7">
{{orderInfo.payTime}}
</view>
</view>
<view class="btn_box">
<view class="btn1" @click="showcs=true">
车损扣款
</view>
<!-- <view class="btn1" @click="showtk=true">
服务费退款
</view> -->
<!-- <view class="btn2" @click="backyj()">
押金退还
</view> -->
</view>
<view class="handle_box">
<view class="handle_tit">
操作记录
</view>
<view class="handel_li" v-for="(item,index) in orderInfo.orderOpers" :key="index">
<view class="yuan">
</view>
<view class="info">
<view class="info_top">
{{item.details}}
</view>
<view class="info_bot">
2024-09-11 13:56:03
</view>
</view>
</view>
</view>
</view>
<view class="price_box" >
<view class="tit">
收益明细
</view>
<view class="price_li" v-for="(item,index) in orderInfo.rlDividendDetails" :key="index">
<view class="txt6">
{{item.partnerName}} {{userRrturn(item.partnerType)}} {{item.dividendProportion}}%
</view>
<view class="txt7">
{{item.dividendAmount}}
</view>
</view>
</view>
<view class="user_info">
<view class="info_li2">
<view class="txt4">
租车用户
</view>
<view class="txt5">
{{orderInfo.realName}}
</view>
</view>
<view class="info_li2">
<view class="txt4">
联系方式
</view>
<view class="txt5">
{{orderInfo.phone}}
</view>
<view class="btn" @click="callPhone(orderInfo.phone)">
联系用户
</view>
</view>
</view>
<view class="user_info">
<view class="info_li2">
<view class="txt4">
订单编号
</view>
</view>
<view class="info_li2">
<view class="txt6">
{{orderInfo.orderNo}}
</view>
<view class="txt7" @click="copy(orderInfo.orderNo)">
复制
</view>
</view>
</view>
<u-mask :show="showcs" @click="showcs = false" :z-index='100' />
<view class="tip_box" v-if="showcs">
<view class="top" v-if="showcs">
<view class="tip">
车损扣款退款
</view>
<view class="ipt_box">
<view class="text">
车损扣款
</view>
<view class="ipt">
<input type="text" v-model="csmoney" placeholder="输入退款金额" class="input"
placeholder-style="color:#C7CDD3" >
</view>
</view>
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
<view class="width:10% ;">
</view>
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
最大可退款金额:{{orderInfo.deposit}}元
</view>
</view>
</view>
<view class="bots">
<view class="bot_left" @click="closeCs()">
取消
</view>
<view class="bot_right" @click="backcs()">
确定
</view>
</view>
</view>
<u-mask :show="showtk" @click="showtk = false" :z-index='100' />
<view class="tip_box" v-if="showtk">
<view class="top" v-if="showtk">
<view class="tip">
服务费退款
</view>
<view class="ipt_box">
<view class="text">
送车上门
</view>
<view class="ipt">
<input type="text" v-model="deliveryFee" placeholder="输入退款金额" class="input"
placeholder-style="color:#C7CDD3" >
</view>
</view>
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
<view class="width:10% ;">
</view>
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
最大可退款金额:{{orderInfo.deliveryFee}}元
</view>
</view>
<view class="ipt_box">
<view class="text">
商家取车
</view>
<view class="ipt">
<input type="text" v-model="dispatchFee" placeholder="输入退款金额" class="input"
placeholder-style="color:#C7CDD3" >
</view>
</view>
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
<view class="width:10% ;">
</view>
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
最大可退款金额:{{orderInfo.dispatchFee}}元
</view>
</view>
<view class="ipt_box">
<view class="text">
租金
</view>
<view class="ipt">
<input type="text" v-model="leaseFee" placeholder="输入退款金额" class="input"
placeholder-style="color:#C7CDD3">
</view>
</view>
<view class="ipt_box" style="width:100%;margin-top: 6rpx;">
<view class="width:10% ;">
</view>
<view style="color: #ccc;margin-left: auto; font-size: 24rpx;">
最大可退款金额:{{orderInfo.leaseFee}}元
</view>
</view>
</view>
<view class="bots">
<view class="bot_left" @click="closetk()">
取消
</view>
<view class="bot_right" @click="backMoney()">
确定
</view>
</view>
</view>
<view class="" v-if="orderInfo.status==1||orderInfo.status==2||orderInfo.status==3">
<view class="bot_btn" v-if="orderInfo.deliveryOrder.status!=3&&orderInfo.deliveryOrder">
<view class="btn" @click="getOrder()" v-if="orderInfo.deliveryOrder.status==0">
立即接单
</view>
<view class="btn" @click.stop="goDeli(orderInfo)" v-if="orderInfo.deliveryOrder.status==1&&orderInfo.deliveryOrder.deliverymanPhone==AccountInfo.phonenumber">
立即配送
</view>
<view class="btn" v-if="orderInfo.deliveryOrder.status==2&&orderInfo.deliveryOrder.deliverymanPhone==AccountInfo.phonenumber" @click.stop="overDeli(orderInfo)">
配送完成
</view>
</view>
</view>
<view class="bot_btn" v-if="orderInfo.status==7||orderInfo.status==4">
<view class="btn" @click="backcar()">
确认还车
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
typeidx: 1,
height: 0,
showtips: false,
orderNo:"",
orderInfo:{},
modelInfo:{},
showtk:false,
deliveryFee:0,
dispatchFee:0,
leaseFee:0,
showcs:false,
csmoney:0.,
AccountInfo:{}
}
},
onShow() {
},
onLoad(e) {
if(e.orderNo){
this.orderNo=e.orderNo
this.getOrderInfo()
this.getAccountInfo()
}
},
methods: {
backcar(){
this.$u.post(`appVerify/merchantReturn?orderNo=` + this.orderInfo.orderNo).then((res) => {
if (res.code === 200) {
this.getOrderInfo()
uni.showToast({
title: '操作成功',
icon: 'none',
duration: 2000
});
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
typeReturns(num) {
console.log(num,'aaaaaaaaaaaa');
let result = {
text: '',
color: '#4297F3' // 默认颜色
};
if (num == 0) {
result.text = '待接单';
result.color = '#F14C4C'; // 待支付颜色
} else if (num == 1) {
result.text = '待配送';
result.color = '#F38C42'; // 超时取消颜色
} else if (num == 2) {
result.text = '配送中';
result.color = '#4297F3'; // 超时取消颜色
} else if (num == 3) {
result.text = '已完成';
result.color = '#000000'; // 超时取消颜色
} else if (num == 8) {
result.text = '已取消';
result.color = '#ccc'; // 超时取消颜色
}
return result;
},
getAccountInfo(){
this.$u.get(`/appVerify/myAccountInfo`).then((res) => {
if (res.code === 200) {
this.AccountInfo=res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
goDeli(item) {
this.$u.post(`appAdmin/inDelivery?orderNo=` + this.orderInfo.orderNo).then((res) => {
if (res.code == 200) {
this.getOrderInfo()
uni.showToast({
title: '开始配送',
icon: 'none',
duration: 2000
});
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
overDeli(item) {
this.$u.post(`appAdmin/endDelivery?orderNo=` + this.orderInfo.orderNo).then((res) => {
if (res.code == 200) {
this.getOrderInfo()
uni.showToast({
title: '配送完成',
icon: 'none',
duration: 2000
});
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
getOrder(item) {
this.$u.post(`appAdmin/orderTaking?orderNo=` + this.orderInfo.orderNo).then((res) => {
if (res.code == 200) {
this.getOrderInfo()
uni.showToast({
title: '接单成功',
icon: 'none',
duration: 2000
});
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
backyj(){
this.$u.post(`appVerify/depositRefund?orderNo=`+this.orderInfo.orderNo).then((res) => {
if (res.code == 200) {
this.getOrderInfo()
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
closeCs(){
this.showcs=false
this.csmoney=0
},
backcs(){
this.$u.post(`appVerify/deductMoney?money=`+this.csmoney+'&orderNo='+this.orderInfo.orderNo).then((res) => {
if (res.code == 200) {
this.showcs=false
this.csmoney=0
this.getOrderInfo()
} else {
this.showcs=false
this.csmoney=0
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
backMoney(){
let data ={
orderNo:this.orderInfo.orderNo,
dispatchFee:this.dispatchFee,
deliveryFee:this.deliveryFee,
leaseFee:this.leaseFee,
reason:'退款'
}
this.$u.put(`appAdmin/order/refund`, data).then((res) => {
if (res.code == 200) {
this.showtk=false
this.deliveryFee=0
this.dispatchFee=0
this.leaseFee=0
this.getOrderInfo()
} else {
this.showtk=false
this.deliveryFee=0
this.dispatchFee=0
this.leaseFee=0
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
closetk(){
this.showtk=false
this.deliveryFee=0
this.dispatchFee=0
this.leaseFee=0
},
callPhone(phone){
uni.makePhoneCall({
phoneNumber:phone
})
// setTimeout(()=>{
// this.showkf=false
// },500)
},
copy(orderNo) {
uni.setClipboardData({
data: orderNo,
success: () => {
uni.showToast({
title: '复制成功',
icon: 'success',
duration: 2000
});
},
fail: () => {
uni.showToast({
title: '复制失败',
icon: 'none',
duration: 2000
});
}
});
},
returnTime(time) {
// 将时间字符串转换为 Date 对象
let date = new Date(time.replace(/-/g, "/"));
// 获取月份(注意:月份从 0 开始,需要加 1
let month = (date.getMonth() + 1).toString().padStart(2, "0");
// 获取日期
let day = date.getDate().toString().padStart(2, "0");
// 获取小时
let hours = date.getHours().toString().padStart(2, "0");
// 获取分钟
let minutes = date.getMinutes().toString().padStart(2, "0");
// 返回指定格式
return `${month}/${day} ${hours}:${minutes}`;
},
userRrturn(num){
if(num=='00'){
return '系统用户'
}else if(num=='01'){
return '普通用户'
}else if(num=='02'){
return '代理商'
}else if(num=='03'){
return '商户'
}else if(num=='04'){
return '调度员'
}
},
timetype(time) {
if (time == 'hours') {
return '小时'
} else if (time == 'day') {
return '天'
} else if (time == 'week') {
return '周'
} else if (time == 'month') {
return '月'
} else if (time == 'quarter') {
return '季度'
} else if (time == 'year') {
return '年'
}
},
staReturn(num){
if (num == 0) {
return '待支付'
} else if (num == 1) {
return '下单'
} else if (num == 2) {
return '改价'
} else if (num == 3) {
return '支付'
} else if (num == 4) {
return '还车结束订单'
} else if (num == 5) {
return '押金审核'
} else if (num == 6) {
return '退款'
} else if (num == 7) {
return '用户取消'
}else if (num == 7) {
return '系统自动取消'
}
},
typeReturn(num) {
if (num == 0) {
return '待支付'
} else if (num == 1) {
return '待取车'
} else if (num == 2) {
return '待送车'
} else if (num == 3) {
return '送车中'
} else if (num == 4) {
return '车辆使用中'
} else if (num == 5) {
return '超时取消'
} else if (num == 6) {
return '已取消'
}else if (num == 7) {
return '待审核'
} else if (num == 8) {
return '订单已结束'
}
},
getmodelInfo() {
let data = {
modelId: this.orderInfo.modelId
}
this.$u.get(`appVerify/getModelById?`, data).then((res) => {
if (res.code == 200) {
this.modelInfo = res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
getOrderInfo() {
let data = {
orderNo: this.orderNo
};
this.$u.get(`appVerify/orderInfo?`, data).then((res) => {
if (res.code === 200) {
this.orderInfo = res.data;
// this.getstoreInfo()
this.getmodelInfo()
// this.getAgent()
// 调用倒计时方法
// if (this.orderInfo.status == 0) {
// this.startCountdown(this.orderInfo.autoCancelTime);
// }
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 2000
});
}
});
},
}
}
</script>
<style lang="scss">
page {
background-color: #F7F7F7;
}
.page {
width: 750rpx;
padding-bottom: 220rpx;
.order_code {
width: 696rpx;
margin: 0 auto;
margin-top: 16rpx;
padding: 20rpx 28rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
.tits {
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
.code_li {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
.code {
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
.btn {
font-weight: 400;
font-size: 28rpx;
color: #4297F3;
}
}
}
.tip_box {
position: fixed;
left: 72rpx;
top: 428rpx;
width: 610rpx;
// height: 282rpx;
background: #FFFFFF;
border-radius: 30rpx 30rpx 30rpx 30rpx;
z-index: 110;
padding-bottom: 100rpx;
.top {
padding: 52rpx 38rpx 42rpx 36rpx;
.ipt_box {
margin-top: 22rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
.text {
width: 350rpx;
font-weight: 400;
font-size: 32rpx;
color: #3D3D3D;
}
.ipt {
padding: 10rpx 18rpx;
display: flex;
align-items: center;
justify-content: space-between;
margin-left: 26rpx;
width: 420rpx;
height: 64rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
border: 2rpx solid #979797;
.input {
width: 80%;
}
}
}
.tip {
width: 100%;
text-align: center;
font-weight: 700;
font-size: 32rpx;
color: #3D3D3D;
}
.txt {
margin-top: 32rpx;
width: 100%;
text-align: center;
font-weight: 500;
font-size: 32rpx;
color: #3D3D3D;
}
}
.bots {
position: absolute;
width: 610rpx;
// border-top: 2rpx solid #D8D8D8;
display: flex;
flex-wrap: nowrap;
// height: 100%;
bottom: -20rpx;
.bot_left {
border-radius: 0rpx 0rpx 0rpx 30rpx;
width: 50%;
height: 86rpx;
display: flex;
align-items: center;
justify-content: center;
font-weight: 500;
font-size: 32rpx;
color: #3D3D3D;
background: #EEEEEE;
}
.bot_right {
border-radius: 0rpx 0rpx 30rpx 0rpx;
width: 50%;
height: 86rpx;
background: #4C97E7;
display: flex;
align-items: center;
justify-content: center;
color: #FFFFFF;
// border-left: 2rpx solid #D8D8D8;
font-weight: 500;
font-size: 32rpx;
// color: #4C97E7;
}
}
}
.bot_btn{
display: flex;
align-items: center;
justify-content: center;
position: fixed;
bottom: 0;
width: 750rpx;
height: 160rpx;
background: #FFFFFF;
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0,0,0,0.3);
border-radius: 0rpx 0rpx 0rpx 0rpx;
.btn{
display: flex;
align-items: center;
justify-content: center;
border-radius: 20rpx;
width: 682rpx;
height: 84rpx;
background: #4297F3;
font-weight: 600;
font-size: 36rpx;
color: #FFFFFF;
}
}
.user_info{
margin: 0 auto;
margin-top: 16rpx;
width: 698rpx;
padding:20rpx 28rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
.info_li2 {
margin-top: 14rpx;
// width: 750rpx;
display: flex;
flex-wrap: nowrap;
align-items: flex-start;
// border-bottom: 1rpx solid #D8D8D8;
.txt4{
width: 112rpx;
white-space: nowrap;
margin-right: 48rpx;
font-weight: 600;
font-size: 28rpx;
color: #6F6F6F;
}
.txt5{
flex-wrap: wrap;
font-weight: 600;
font-size: 28rpx;
color: #3D3D3D;
}
.btn{
padding: 6rpx 12rpx;
margin-left: auto;
font-weight: 400;
font-size: 24rpx;
color: #4297F3;
border-radius: 6rpx 6rpx 6rpx 6rpx;
border: 1rpx solid #4297F3;
}
.txt6{
font-weight: 400;
font-size: 28rpx;
color: #6F6F6F;
}
.txt7{
margin-left: auto;
font-weight: 400;
font-size: 28rpx;
color: #4297F3;
}
}
}
.price_box{
margin: 0 auto;
margin-top: 16rpx;
width: 698rpx;
padding:20rpx 28rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
.handle_box{
margin-top: 26rpx;
padding: 22rpx 20rpx;
width: 650rpx;
background: #F4FBFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
.handle_tit{
font-weight:600;
font-size: 28rpx;
color: #3D3D3D;
}
.handel_li{
margin-top: 16rpx;
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
.yuan{
margin-left: 46rpx;
width: 22rpx;
height: 22rpx;
background: #4297F3;
border-radius: 50%;
}
.info{
margin-left: 30rpx;
display: flex;
flex-wrap: wrap;
.info_top{
width: 100%;
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
.info_bot{
margin-top: 8rpx;
font-weight: 400;
font-size: 24rpx;
color: #6F6F6F;
}
}
}
}
.btn_box{
margin-top: 60rpx;
display: flex;
.btn1{
margin-right: 22rpx;
padding: 8rpx 22rpx;
background: #4297F3;
border-radius: 8rpx 8rpx 8rpx 8rpx;
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
}
.btn2{
padding: 8rpx 22rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
border: 2rpx solid #4297F3;
font-weight: 500;
font-size: 32rpx;
color: #4297F3;
}
}
.tit{
font-weight: 600;
font-size: 32rpx;
color: #3D3D3D;
}
.price_li{
margin-top: 18rpx;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
.txt6{
font-weight: 400;
font-size: 28rpx;
color: #3D3D3D;
}
.txt7{
font-weight: 600;
font-size: 32rpx;
color: #3D3D3D;
}
}
}
.car_info {
margin: 0 auto;
margin-top: -200rpx;
width: 698rpx;
// height: 196rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
display: flex;
flex-wrap: wrap;
padding: 0 24rpx;
padding-bottom: 28rpx;
.info_li2 {
margin-top: 14rpx;
width: 750rpx;
display: flex;
flex-wrap: nowrap;
align-items: flex-start;
// border-bottom: 1rpx solid #D8D8D8;
.txt4{
width: 112rpx;
white-space: nowrap;
margin-right: 48rpx;
font-weight: 600;
font-size: 28rpx;
color: #6F6F6F;
}
.txt5{
flex-wrap: wrap;
font-weight: 600;
font-size: 28rpx;
color: #3D3D3D;
}
}
.txt4{
font-weight: 600;
font-size: 28rpx;
color: #3D3D3D;
}
.info_li{
width: 100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
.txt2{
font-weight: 600;
font-size: 28rpx;
color: #6F6F6F;
}
.txt3{
font-weight: 600;
font-size: 24rpx;
color: #3D3D3D;
}
}
.info_tit{
margin-top: 22rpx;
font-weight: 600;
font-size: 36rpx;
color: #FF8C1E;
}
.box1{
width: 100%;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
.left {
.name {
font-weight: 600;
font-size: 32rpx;
color: #3D3D3D;
}
.car_type_li {
margin-top: 16rpx;
display: flex;
.type {
margin-right: 8rpx;
padding: 4rpx 10rpx;
background: #DCEDFF;
border-radius: 6rpx 6rpx 6rpx 6rpx;
font-weight: 400;
font-size: 24rpx;
color: #4297F3;
}
}
}
image {
width: 156rpx;
height: 150rpx;
}
}
}
.tab-container {
display: flex;
border-bottom: 2px solid #ddd;
/* 底部边框 */
}
.tab-item {
position: relative;
padding: 10px 20px;
cursor: pointer;
color: #666;
font-size: 16px;
}
.tab-item.active {
color: #333;
font-weight: bold;
}
.tab-item.active::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
width: 100%;
height: 4px;
background-color: #2e9afe;
/* 下划线颜色 */
border-radius: 50px;
/* 圆角效果模拟弧线 */
}
.fixed {
z-index: 999;
position: fixed;
top: 0;
}
.backimg {
// position: fixed;
z-index: -10;
width: 750rpx;
height: 428rpx;
background: linear-gradient(180deg, #CCE5FF 0%, rgba(204, 229, 255, 0) 100%);
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
}
</style>