6.15(优化

This commit is contained in:
Hong
2024-06-15 19:23:07 +08:00
parent 0fcd135b9f
commit 525a02c761

View File

@@ -0,0 +1,442 @@
<template>
<view>
<view class="cont ">
<view class="f-a-i">
<view class="cont-tit">处理进度</view>
<view v-if="type!=2">
<text v-if="refundDeta.refundStatus==0">待审核</text>
<text v-if="refundDeta.refundStatus==1">审核未通过</text>
<text v-if="refundDeta.refundStatus==2">退款中</text>
<text v-if="refundDeta.refundStatus==3">已退款</text>
</view>
<view v-else>
<text v-if="refundDeta.orderRefund.refundStatus==0">待审核</text>
<text v-if="refundDeta.orderRefund.refundStatus==1">审核未通过</text>
<text v-if="refundDeta.orderRefund.refundStatus==2">退款中</text>
<text v-if="refundDeta.orderRefund.refundStatus==3">已退款</text>
<text v-if="refundDeta.orderRefund.refundStatus==4">已拒绝</text>
</view>
</view>
<view class="f-a-i cont-explain">
<view class="cont-tit">处理说明</view>
<view v-if="type==2">{{refundDeta.orderRefund.refundReason?refundDeta.orderRefund.refundReason:''}}
</view>
<view v-else>{{refundDeta.refundReason?refundDeta.refundReason:''}}</view>
</view>
</view>
<view v-if="type==1">
<view class="refund-order">
<view :class="['integral']">
<view class="f-a-i integral-data">
<image :src="refundDeta.image" mode=""></image>
<view class="integral-cont">
<view class="">
<u--text :lines="1" size="14" :text="refundDeta.name"></u--text>
</view>
<view class="f-jcsb integral-specification">
<text class="">{{refundDeta.content}}</text>
<view class="">X {{refundDeta.num}}</view>
</view>
<view class="f-a-i" v-if="refundDeta.totalIntegral">
<view class="integral-price">¥{{refundDeta.price}} +</view>
<!-- #ifdef MP-WEIXIN -->
<image style="width: 28rpx;height: 28rpx;"
:src="`${config.aliyunOssUrl}/static/images/app/mine/integral_hei.png`" mode="">
</image>
<!-- #endif -->
<!-- #ifdef APP -->
<image style="width: 28rpx;height: 28rpx;"
src="@/static/images/app/mine/integral_hei.png" mode=""></image>
<!-- #endif -->
<view class="integral-price">198</view>
</view>
<view v-else class="f-a-i">
<view class="integral-price">¥{{refundDeta.price}}</view>
</view>
</view>
</view>
<view class="f-jce integral-all-price">
<view>
{{refundDeta.num}}件商品 合计<text>{{refundDeta.refundPrice}}</text>
</view>
</view>
</view>
</view>
</view>
<view v-if="type==2">
<view class="refund-order">
<view :class="['integral']">
<view class="integral-shop">{{refundDeta.userName}} ></view>
<view :class="['f-a-i','car-rental']">
<image :src="refundDeta.image" mode="aspectFill"></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">{{refundDeta.title}}</view>
<view class="car-rental-cont-auto-age">车龄 {{refundDeta.carAge}} | 租期
{{refundDeta.monthRent}}个月
</view>
<view class="f-a-i">
<!-- <text class="car-rental-cont-total-payment">全款价格</text> -->
<view class="car-rental-cont-price" style="margin-left: 8rpx;">
{{refundDeta.rentalPrice}}<text>/</text>
</view>
</view>
</view>
</view>
<view class="f-jce integral-all-price">
<view>
共1件商品 合计<text>{{refundDeta.orderRefund.refundPrice}}</text>
</view>
</view>
</view>
</view>
</view>
<view v-if="type==3">
<view class="refund-order">
<view :class="['integral']">
<view class="integral-shop">{{refundDeta.userName}}</view>
<view :class="['f-a-i','car-rental']">
<image :src="refundDeta.order.mainImage" mode="aspectFill"></image>
<view class="car-rental-cont">
<view class="car-rental-cont-name">{{refundDeta.order.title}}</view>
<view class="f-a-i">
<text class="car-rental-cont-total-payment">全款价格</text>
<view class="car-rental-cont-price" style="margin-left: 8rpx;">
{{refundDeta.order.fullPrice}}
</view>
</view>
</view>
</view>
<view class="f-jce integral-all-price">
<view>
共1件商品 合计<text>{{refundDeta.refundPrice}}</text>
</view>
</view>
</view>
</view>
</view>
<view>
<view class="order-info" v-if="type!=2">
<view>退款原因{{refundDeta.refundReasonWap}}</view>
<view>退款金额{{refundDeta.refundPrice}}</view>
<view>申请时间{{refundDeta.createTime}} </view>
<view v-if="refundDeta.refundTime">退款时间{{refundDeta.refundTime?refundDeta.refundTime:'--'}} </view>
<view>退款编号{{refundDeta.refundOrderNo}} </view>
</view>
<view class="order-info" v-else>
<view>退款原因{{refundDeta.orderRefund.refundReasonWap}}</view>
<view>退款金额{{refundDeta.orderRefund.refundPrice}}</view>
<view>申请时间{{refundDeta.orderRefund.createTime}} </view>
<view v-if="refundDeta.orderRefund.refundTime">
退款时间{{refundDeta.orderRefund.refundTime?refundDeta.orderRefund.refundTime:'--'}} </view>
<view>退款编号{{refundDeta.orderRefund.refundOrderNo}} </view>
</view>
</view>
<view class="order-buttom">
<view class="f-jce" style="padding-bottom: 24rpx;">
<view class="f-jce">
<u-button type="primary" shape="circle" text="拒绝" :plain="true" color="#999999"
:customStyle='{width: "232rpx",height: "80rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(2)"></u-button>
<u-button type="primary" shape="circle" text="通过" color="#13AFA8"
:customStyle='{width: "232rpx",height: "80rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="disposeShowFn(1)"></u-button>
</view>
</view>
</view>
<u-popup :show="disposeShow" @close="disposeClose" @open="disposeOpen" :round="32" closeable>
<view class="dispose-popup">
<view>
<view class="dispose-popup-title">
{{disposeType==1?"备注":'拒绝原因'}}
</view>
<view v-if="disposeType==1" class="dispose-popup-input">
<u--textarea placeholder="备注" border="none" v-model="platformRemark" maxlength="-1"
:customStyle="{backgroundColor: '#F5F5F5',paddingLeft:'15rpx'}"></u--textarea>
</view>
<view v-if="disposeType==2" class="dispose-popup-input">
<u--textarea placeholder="请输入审核意见" border="none" v-model="refundReason" maxlength="-1"
:customStyle="{backgroundColor: '#F5F5F5',paddingLeft:'15rpx'}"></u--textarea>
</view>
<!-- <view class="dispose-popup-input">
<u--input placeholder="填写审批人" border="none" v-model="auditName"
:customStyle="{backgroundColor: '#F5F5F5',height:'88rpx',paddingLeft:'15rpx'}"></u--input>
</view> -->
<view class="dispose-popup-button">
<u-button type="primary" shape="circle" text="提交" color="#13AFA8"
:customStyle='{height: "80rpx",marginRight: "16rpx",fontSize: "24rpx",fontWeight: 500,}'
@click="submitFn"></u-button>
</view>
</view>
</view>
</u-popup>
</view>
</template>
<script>
import {getCarInformationRefund,setCarNoRefund,getProductRefund,setProductNoRefund} from "@/api/carShop/order/order.js"
import {
config
} from "@/config.js"
import {
getCardOrderRefundDetail,
getInformationInfo
} from "@/api/myOrder/index.js"
import {
getOrderRefundDetail
} from "@/api/showroom/showroom.js"
export default {
data() {
return {
//拒绝原因
refundReason:'',
//备注
platformRemark:'',
//审核弹出层
disposeShow: false,
//弹出类型 1:同意 2:拒绝
disposeType: 1,
config,
//退款类型 1:优惠券 2:租车 3:买车
type: 1,
refundDeta: {
order: {},
orderRefund: {}
}
}
},
methods: {
//处理弹出层
disposeOpen() {
this.auditName = ''
},
disposeClose() {
this.disposeShow = false
},
//审核按钮打开弹出层
disposeShowFn(type) {
this.disposeShow = true
this.disposeType = type
},
//提交
submitFn() {
console.log(this.type);
console.log(this.disposeType);
console.log(this.refundDeta);
if(this.type==2){
let refundOrderNo=this.refundDeta.orderRefund.refundOrderNo
if(this.disposeType==1){
getCarInformationRefund({
refundOrderNo:refundOrderNo,
reason:this.platformRemark
}).then(res=>{
uni.navigateBack()
})
}else{
setCarNoRefund({
refundOrderNo:refundOrderNo,
reason:this.refundReason
}).then(res=>{
uni.navigateBack()
})
}
}else if(this.type==3){
console.log(this.refundDeta);
let refundOrderNo=this.refundDeta.refundOrderNo
if(this.disposeType==1){
getProductRefund({
refundOrderNo:refundOrderNo,
reason:this.platformRemark
}).then(res=>{
uni.navigateBack()
})
}else{
setProductNoRefund({
refundOrderNo:refundOrderNo,
reason:this.refundReason
}).then(res=>{
uni.navigateBack()
})
}
}
}
},
onLoad(optons) {
this.type = optons.type
if (this.type == 3) {
getOrderRefundDetail(optons.orderNo).then(res => {
console.log(33333, res.data);
this.refundDeta = res.data
})
} else if (this.type == 2) {
getInformationInfo(optons.orderNo).then(res => {
console.log(222222, res.data);
this.refundDeta = res.data
})
} else {
getCardOrderRefundDetail(optons.orderNo).then(res => {
console.log(11111, res.data);
this.refundDeta = res.data
})
}
}
}
</script>
<style lang="scss">
page {
background: #f5f5f5;
}
.dispose-popup {
width: 100%;
padding: 64rpx 32rpx;
.dispose-popup-title {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
.dispose-popup-input {
margin: 32rpx 0 32rpx 0;
}
.dispose-popup-button {
margin-bottom: 24rpx;
}
}
.order-buttom {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
padding: 16rpx;
background: #fff;
}
.order-info {
margin: 32rpx 24rpx;
padding: 32rpx 24rpx;
background: #fff;
font-size: 28rpx;
font-weight: 400;
color: #666666;
line-height: 50rpx;
border-radius: 8rpx;
}
.cont {
background: #fff;
margin: 32rpx 24rpx;
padding: 32rpx 24rpx;
border-radius: 8rpx;
.cont-explain {
margin-top: 32rpx;
}
.cont-tit {
width: 200rpx;
}
}
.integral {
margin: 24rpx;
padding: 24rpx;
background-color: #fff;
border-radius: 8rpx 8rpx 8rpx 8rpx;
.integral-shop {
padding-bottom: 16rpx;
border-bottom: 1rpx solid #eee;
margin-bottom: 16rpx;
}
.integral-data {
padding-bottom: 32rpx;
border-bottom: 1rpx solid #eee;
margin-bottom: 32rpx;
}
.integral-cont {
height: 144rpx;
width: calc(100% - 165rpx);
margin-left: 16rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
.integral-specification {
font-size: 26rpx;
font-weight: 400;
color: #666666;
}
.integral-price {
font-size: 32rpx;
font-weight: bold;
color: #111111;
}
}
.integral-all-price {
font-size: 22rpx;
font-weight: 400;
color: #666666;
margin-top: 16rpx;
text {
font-size: 30rpx;
font-weight: 500;
color: #F20808;
}
}
image {
border-radius: 4rpx 4rpx 4rpx 4rpx;
width: 144rpx;
height: 144rpx;
}
}
.car-rental {
padding-bottom: 24rpx;
border-bottom: 1rpx solid #eee;
.car-rental-cont {
height: 150rpx;
width: calc(100% - 218rpx);
margin-left: 16rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
.car-rental-cont-name {
font-size: 32rpx;
font-weight: 400;
color: #111111;
}
.car-rental-cont-price {
font-size: 32rpx;
font-weight: 500;
color: #111111;
}
.car-rental-cont-total-payment {
font-size: 24rpx;
font-weight: 400;
color: #666666;
}
}
image {
width: 202rpx;
height: 150rpx;
}
}
</style>