369 lines
11 KiB
Vue
369 lines
11 KiB
Vue
<template>
|
||
<view class="pages">
|
||
<u-navbar title="订单详情" :border-bottom="false" :background="bgc" back-icon-color="#3D3D3D" title-color='#3D3D3D'
|
||
title-size='36' height='44'></u-navbar>
|
||
|
||
<view class="box">
|
||
<view class="top">
|
||
订单详情
|
||
</view>
|
||
<view class="xiao">
|
||
<view>订单编号</view>
|
||
<view>{{obj.billNo == undefined ? '--' : obj.billNo}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>租赁用户</view>
|
||
<view>{{obj.userName == undefined ? '--' : obj.userName}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>设备编号</view>
|
||
<view style="color: #8883F0;">{{obj.deviceNo == undefined ? '--' : obj.deviceNo}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>经营场所</view>
|
||
<view style="color: #8883F0;">{{obj.storeName == undefined ? '--' : obj.storeName}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view style="width: 180rpx;">经营地址</view>
|
||
<view>{{obj.storeAddress == undefined ? '--' : obj.storeAddress}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>房间号</view>
|
||
<view>{{obj.deviceRoom == undefined ? '--' : obj.deviceRoom}}号</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>支付时间</view>
|
||
<view>{{obj.payTime == undefined ? '--' : obj.payTime}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>购买套餐</view>
|
||
<view>{{obj.suitName == undefined ? '--' : obj.suitName}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>套餐时长</view>
|
||
<view>{{obj.suitTime == undefined ? '--' : obj.suitTime}}{{obj.timeUnit == 3 ? '分钟' : '小时'}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>支付类型</view>
|
||
<view>{{obj.channelName == undefined ? '--' : obj.channelName}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>套餐金额</view>
|
||
<view>¥{{obj.money == undefined ? '--' : obj.money}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>到账金额</view>
|
||
<view>¥{{obj.arrivalAmount == undefined ? '--' : obj.arrivalAmount}}</view>
|
||
</view>
|
||
<view class="xiao" v-if="obj.status == 3">
|
||
<view>退款金额</view>
|
||
<view style="color: #e10328;">¥{{obj.refundAmount == undefined ? '--' : obj.refundAmount}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>结束时间</view>
|
||
<view>{{obj.suitEndTime == undefined ? '--' : obj.suitEndTime}}</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>订单状态</view>
|
||
<view style="color: #17b402;" v-if="obj.isUsing == true"> <text
|
||
style="background-color: #17b402;"></text> 进行中 </view>
|
||
<view style="color: #8883F0;" v-if="obj.isFinished == true && obj.status != 3"> <text
|
||
style="background-color: #8883F0;"></text> 已完成 </view>
|
||
<view v-if="obj.status == 3" style="color: #e10328;"><text style="background-color: #e10328;"></text> 已退款</view>
|
||
<view class="" v-if="obj.isUsing == false && obj.isFinished == false && obj.status != 3">
|
||
<view v-if="obj.status == 1" style="color: rgb(99, 178, 168);"><text style="background-color: rgb(99, 178, 168);"></text> 未支付</view>
|
||
<view v-if="obj.status == 2" style="color: #e6b000;"><text style="background-color: #e6b000;"></text> 支付成功</view>
|
||
<view v-if="obj.status == 3" style="color: #e10328;"><text style="background-color: #e10328;"></text> 已退款</view>
|
||
<view v-if="obj.status == 4" style="color: #5d5d5d;"><text style="background-color: #5d5d5d;"></text> 用户取消</view>
|
||
<view v-if="obj.status == 5" style="color: #5d5d5d;"><text style="background-color: #5d5d5d;"></text> 系统超时取消</view>
|
||
<view v-if="obj.status == 6" style="color: #e6b000;"><text style="background-color: #e6b000;"></text> 支付中</view>
|
||
<view v-if="obj.status == 7" style="color: #e10328;"><text style="background-color: #e10328;"></text> 退款中</view>
|
||
<view v-if="obj.status == 8" style="color: rgb(99, 178, 168);"><text style="background-color: rgb(99, 178, 168);"></text> 押金未支付</view>
|
||
<view v-if="obj.status == 9" style="color: #e6b000;"><text style="background-color: #e6b000;"></text> 押金已支付</view>
|
||
</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>直属合作伙伴</view>
|
||
<view>{{obj.agentName == undefined ? '--' : obj.agentName}}({{obj.agentMobile == undefined ? '--' : obj.agentMobile}})</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>直属渠道商</view>
|
||
<view>{{obj.bizName == undefined ? '--' : obj.bizName}}({{obj.bizMobile == undefined ? '--' : obj.bizMobile}})</view>
|
||
</view>
|
||
<view class="xiao">
|
||
<view>创业者</view>
|
||
<view>{{obj.investorName == undefined ? '--' : obj.investorName}}({{obj.investorMobile == undefined ? '--' : obj.investorMobile}})</view>
|
||
</view>
|
||
<view class="symx">
|
||
收益明细
|
||
</view>
|
||
<view class="xiao" v-for="(item,index) in obj.bonusList" :key="index">
|
||
<view class="one">{{item.arrivalName == undefined ? '--' : item.arrivalName}}(<text v-if="item.arrivalType == 1">平台</text><text v-if="item.arrivalType == 2">公司</text><text v-if="item.arrivalType == 3">合作伙伴</text><text v-if="item.arrivalType == 4">渠道商</text><text v-if="item.arrivalType == 5">创业者</text><text v-if="item.arrivalType == 6">经营场所</text>){{item.point}}%</view>
|
||
<view class="two">¥{{item.amount == undefined ? '--' : item.amount}} <text v-if="obj.status == 3" style="margin-left: 20rpx;color: #e10328;">(已退¥{{item.refundAmount}})</text> </view>
|
||
</view>
|
||
</view>
|
||
<view class="sb" v-if="userflag" @click="btntz" style="width:680rpx;height: 100rpx;display: flex;justify-content: space-between;background: #FFFFFF;
|
||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||
margin: auto;
|
||
padding: 32rpx 24rpx;
|
||
box-sizing: border-box; font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
margin-top: 30rpx;align-items: center;">
|
||
<text class="shen">¥{{obj.money == undefined ? '--' : obj.money}}</text> <text>退款</text>
|
||
</view>
|
||
<!-- 退款弹窗 -->
|
||
<view class="tanc" v-if="maskflag">
|
||
<view class="top">
|
||
请输入退款金额
|
||
</view>
|
||
<view class="shuzhi">
|
||
<input type="text" v-model="inptext" placeholder="请输入退款金额"/>
|
||
</view>
|
||
<view class="anniu">
|
||
<view class="qux" @click="btnqx">
|
||
取消
|
||
</view>
|
||
<view class="qd" @click="btnqd">
|
||
确定
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="mask" v-if="maskflag"></view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
bgc: {
|
||
// backgroundColor: "#8883f0",
|
||
},
|
||
billId:'',
|
||
obj:{},
|
||
userflag:false,
|
||
maskflag:false,
|
||
inptext:'',
|
||
userid:''
|
||
}
|
||
},
|
||
onLoad(option) {
|
||
this.userid = uni.getStorageSync('userType').userId
|
||
this.billId = option.billId
|
||
this.getxq()
|
||
},
|
||
// 分享到好友(会话)
|
||
onShareAppMessage: function() {
|
||
return {
|
||
title: '创亿康',
|
||
path: '/pages/index/index'
|
||
}
|
||
},
|
||
|
||
// 分享到朋友圈
|
||
onShareTimeline: function() {
|
||
return {
|
||
title: '创亿康',
|
||
query: '',
|
||
path: '/pages/index/index'
|
||
}
|
||
},
|
||
methods: {
|
||
getxq(){
|
||
this.$u.get(`/app/bill/arrival/${this.billId}`).then(res => {
|
||
if(res.code == 200){
|
||
this.obj = res.data
|
||
if(this.userid == res.data.agentId && res.data.status == 2){
|
||
this.userflag = true
|
||
}else{
|
||
this.userflag = false
|
||
}
|
||
}
|
||
})
|
||
},
|
||
// 取消退款
|
||
btnqx(){
|
||
this.maskflag = false
|
||
this.inptext = ''
|
||
},
|
||
// 退款
|
||
btntz(){
|
||
this.maskflag = true
|
||
},
|
||
btnqd(){
|
||
if(this.inptext > this.obj.money){
|
||
uni.showToast({
|
||
title: '退款金额不能大于订单金额',
|
||
icon: 'none',
|
||
duration: 3000
|
||
})
|
||
}else{
|
||
this.maskflag = false
|
||
let data = {
|
||
billId:this.billId,
|
||
refundAmount:this.inptext
|
||
}
|
||
this.$u.put(`/app/bill/refund`,data).then((res) => {
|
||
if (res.code == 200) {
|
||
uni.showToast({
|
||
title: '操作成功',
|
||
icon: 'success',
|
||
duration: 3000
|
||
})
|
||
setTimeout(()=>{
|
||
uni.navigateBack()
|
||
},1000)
|
||
}else{
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 3000
|
||
})
|
||
}
|
||
})
|
||
}
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
/deep/ .u-title {
|
||
padding-bottom: 15rpx;
|
||
}
|
||
|
||
/deep/ .u-icon__icon {
|
||
padding-bottom: 15rpx;
|
||
}
|
||
.mask{
|
||
width: 100%;
|
||
height: 100vh;
|
||
position: fixed;
|
||
top: 0;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
background-color: #000;
|
||
opacity: .6;
|
||
}
|
||
.tanc {
|
||
width: 594rpx;
|
||
height: 420rpx;
|
||
background: #FFFFFF;
|
||
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||
position: fixed;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
top: 506rpx;
|
||
z-index: 98;
|
||
|
||
.anniu {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
padding: 0 44rpx;
|
||
box-sizing: border-box;
|
||
margin-top: 64rpx;
|
||
width: 100%;
|
||
|
||
.qux {
|
||
width: 234rpx;
|
||
height: 80rpx;
|
||
border-radius: 40rpx 40rpx 40rpx 40rpx;
|
||
border: 2rpx solid #8883F0;
|
||
font-size: 36rpx;
|
||
color: #8883F0;
|
||
text-align: center;
|
||
line-height: 80rpx;
|
||
}
|
||
|
||
.qd {
|
||
width: 234rpx;
|
||
height: 80rpx;
|
||
background: #8883F0;
|
||
border-radius: 40rpx 40rpx 40rpx 40rpx;
|
||
font-size: 36rpx;
|
||
color: #FFFFFF;
|
||
text-align: center;
|
||
line-height: 80rpx;
|
||
}
|
||
}
|
||
|
||
.shuzhi {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
margin-top: 50rpx;
|
||
box-sizing: border-box;
|
||
|
||
input {
|
||
width: 500rpx;
|
||
height: 76rpx;
|
||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||
border: 2rpx solid #808080;
|
||
padding-left: 10rpx;
|
||
box-sizing: border-box;
|
||
margin: 0 10rpx;
|
||
z-index: 99 !important;
|
||
}
|
||
}
|
||
|
||
.top {
|
||
font-weight: 600;
|
||
font-size: 36rpx;
|
||
color: #3D3D3D;
|
||
width: 100%;
|
||
text-align: center;
|
||
padding-top: 40rpx;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
image {
|
||
width: 198rpx;
|
||
height: 172rpx;
|
||
position: absolute;
|
||
top: 12rpx;
|
||
right: 20rpx;
|
||
opacity: .5;
|
||
}
|
||
}
|
||
.pages {
|
||
background-color: #F7FAFE !important;
|
||
height: 100vh;
|
||
width: 100%;
|
||
overflow: scroll;
|
||
padding: 28rpx;
|
||
box-sizing: border-box;
|
||
.box{
|
||
width: 100%;
|
||
max-height: 100%;
|
||
background-color: #fff;
|
||
border-radius: 20rpx;
|
||
padding: 24rpx 28rpx;
|
||
box-sizing: border-box;
|
||
.top{
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
font-weight: 600;
|
||
border-bottom: 1px solid #D8D8D8;
|
||
padding-bottom: 20rpx;
|
||
box-sizing: border-box;
|
||
}
|
||
.xiao{
|
||
display: flex;
|
||
justify-content: space-between;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
margin-top: 20rpx;
|
||
}
|
||
.symx{
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
font-weight: 600;
|
||
border-top: 1px solid #D8D8D8;
|
||
padding-top: 20rpx;
|
||
box-sizing: border-box;
|
||
margin-top: 20rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
</style> |