|
@@ -82,7 +82,7 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="content code-box" v-if="info.goodsList[0].jobFlowMap != 'video2'&&info.goodsList[0].jobFlowMap != 'P802'&&info.goodsList[0].goodsState == 'WAIT_USE'&&info.goodsList[0].goodsName!='二维码支付'">
|
|
|
+ <view class="content code-box" v-if="info.goodsList[0].jobFlowMap != 'P802'&&info.goodsList[0].goodsState == 'WAIT_USE'&&info.goodsList[0].goodsName!='二维码支付'">
|
|
|
<view class="title">
|
|
|
券码信息
|
|
|
</view>
|
|
@@ -240,7 +240,7 @@
|
|
|
充值账号
|
|
|
</view>
|
|
|
<view class="value">
|
|
|
- {{info.goodsList[0].extend.rechargeAccount}}
|
|
|
+ {{info.goodsList[0].extend.account}}
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
@@ -281,7 +281,7 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="content apply-box" v-else-if="(info.goodsList[0].goodsState == 'WAIT_USE'||info.goodsList[0].goodsState == 'USED')&&info.goodsList[0].refundLog.refund != 'REFUSAL_REFUND'&&isRefund()&&info.goodsList[0].jobFlowMap !== 'XiaoJu'&&info.goodsList[0].jobFlowMap != 'video2'&&info.goodsList[0].jobFlowMap != 'P802'" @click="apply">
|
|
|
+ <view class="content apply-box" v-else-if="(info.goodsList[0].goodsState == 'WAIT_USE'||info.goodsList[0].goodsState == 'USED')&&info.goodsList[0].refundLog.refund != 'REFUSAL_REFUND'&&isRefund()&&info.goodsList[0].jobFlowMap !== 'XiaoJu'&&info.goodsList[0].jobFlowMap != 'P802'" @click="apply">
|
|
|
<view class="label">
|
|
|
退款申请
|
|
|
</view>
|
|
@@ -430,6 +430,953 @@
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ },
|
|
|
+ isRefund(){
|
|
|
+ if(!this.info.goodsList[0].verifyModel){//没核销
|
|
|
+ return true
|
|
|
+ }else if(this.info.goodsList[0].verifyModel && (new Date().getTime() < (this.info.goodsList[0].verifyModel.checkTime + 1000*60*60*48))){// 已核销 并且没超过48小时
|
|
|
+ return true
|
|
|
+ }else{
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ finish(){
|
|
|
+ this.isNotTime = true
|
|
|
+ this.payDetails(this.info.orderNo)
|
|
|
+ },
|
|
|
+ refundDetail(){
|
|
|
+ uni.navigateTo({
|
|
|
+ url:`/my/order/refundDetail?id=${this.info.orderNo}`
|
|
|
+ })
|
|
|
+ },
|
|
|
+ checkCode() {
|
|
|
+ this.codeData = ''
|
|
|
+ this.$nextTick(()=>{
|
|
|
+
|
|
|
+ this.show = true
|
|
|
+ this.loading = true
|
|
|
+ let that = this
|
|
|
+ // uni.getScreenBrightness({
|
|
|
+ // success(res) {
|
|
|
+ // // 获取用户手机亮度 保存起来
|
|
|
+ // that.oldBright = res.value
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // uni.setScreenBrightness({
|
|
|
+ // value:1
|
|
|
+ // })
|
|
|
+ // },200)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+
|
|
|
+ qrCode(this.info.goodsList[0].id).then(res=>{
|
|
|
+ this.loading = false
|
|
|
+ if(res.state == 'Success'){
|
|
|
+ this.codeData = res.content
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+ close(){
|
|
|
+ this.show = false
|
|
|
+ // uni.setScreenBrightness({
|
|
|
+ // value:this.oldBright
|
|
|
+ // })
|
|
|
+ },
|
|
|
+ handleCall(){
|
|
|
+ uni.makePhoneCall({
|
|
|
+ phoneNumber: '4000016553'//仅为示例
|
|
|
+ });
|
|
|
+ },
|
|
|
+ apply(){
|
|
|
+ let that = this
|
|
|
+ if(this.info.goodsList[0].jobFlowMap == 'XiaoJu'){
|
|
|
+ uni.navigateTo({
|
|
|
+ url:'./webView'
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ uni.navigateTo({
|
|
|
+ url:'./refund',
|
|
|
+ success: function(res) {
|
|
|
+ // 通过eventChannel向被打开页面传送数据
|
|
|
+ res.eventChannel.emit('orderInfo', that.info)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取订单详情
|
|
|
+ payDetails(orderNo){
|
|
|
+ payDetails(orderNo).then(res=>{
|
|
|
+ this.pageLoading = false
|
|
|
+ this.info = res.content
|
|
|
+ if(this.info.goodsList[0].jobFlowMap == 'P802'){
|
|
|
+ this.isVisual = true
|
|
|
+ }
|
|
|
+ if(!this.info.goodsList[0].refundLog){
|
|
|
+ this.info.goodsList[0].refundLog = {}
|
|
|
+ }
|
|
|
+ if(this.info.goodsList[0].jobFlowMap != 'P802'&&this.info.goodsList[0].goodsState == 'WAIT_USE'&&this.info.goodsList[0].goodsName!='二维码支付'){
|
|
|
+
|
|
|
+ qrCode(this.info.goodsList[0].id).then(res=>{
|
|
|
+ this.loading = false
|
|
|
+ if(res.state == 'Success'){
|
|
|
+ this.codeData = res.content
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // try{
|
|
|
+ // let extend = JSON.parse(this.info.goodsList[0].extend)
|
|
|
+ // if(extend.account){
|
|
|
+ // this.isVisual = true
|
|
|
+ // }
|
|
|
+ // }catch(e){
|
|
|
+ // //TODO handle the exception
|
|
|
+ // }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 取消支付
|
|
|
+ cancel(type){
|
|
|
+ uni.showLoading({
|
|
|
+ title: '取消中'
|
|
|
+ })
|
|
|
+ if(type == 'XiaoJu'){
|
|
|
+ let obj = this.info.goodsList[0].extend
|
|
|
+ cancelOrder(obj).then(res=>{
|
|
|
+ if(res.state == 'Success'){
|
|
|
+ uni.showToast({
|
|
|
+ title: '取消成功',
|
|
|
+ icon: 'success'
|
|
|
+ })
|
|
|
+ this.payDetails(this.info.orderNo)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ closeOrder(this.info.orderNo).then(res=>{
|
|
|
+ if(res.state == 'Success'){
|
|
|
+ uni.showToast({
|
|
|
+ title: '取消成功',
|
|
|
+ icon: 'success'
|
|
|
+ })
|
|
|
+ this.payDetails(this.info.orderNo)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 支付
|
|
|
+ pay(){
|
|
|
+ let that = this
|
|
|
+ if(this.info.goodsList[0].jobFlowMap == 'XiaoJu'){
|
|
|
+ let {xjOrderId,tradeId} = this.info.goodsList[0].extend
|
|
|
+ uni.navigateToMiniProgram({
|
|
|
+ appId:"wx0d252f6ed9755862", // 滴滴加油小程序appId
|
|
|
+ path: `packageA/pages/open-energy-pay/index?orderId=${xjOrderId}&tradeId=${tradeId}`, // 滴滴加油收银台页面地址,需要拼接orderId和tradeId
|
|
|
+ envVersion: 'release', // 固定release
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ if (this.btnLoading) return
|
|
|
+ this.btnLoading = true
|
|
|
+ uni.showLoading({
|
|
|
+ title: '支付中'
|
|
|
+ })
|
|
|
+ let miniPayRequest = JSON.parse(this.info.payment.miniPayRequest)
|
|
|
+ uni.requestPayment({
|
|
|
+ "provider": "wxpay",
|
|
|
+ "orderInfo": miniPayRequest,
|
|
|
+ "appid": miniPayRequest.appId, // 微信开放平台 - 应用 - AppId,注意和微信小程序、公众号 AppId 可能不一致
|
|
|
+ "paySign": miniPayRequest.paySign,
|
|
|
+ "nonceStr": miniPayRequest.nonceStr, // 随机字符串
|
|
|
+ "package": miniPayRequest.package, // 固定值
|
|
|
+ // "prepayid": miniPayRequest.package, // 统一下单订单号
|
|
|
+ "timeStamp": miniPayRequest.timeStamp, // 时间戳(单位:秒)
|
|
|
+ "signType": miniPayRequest.signType, //签名算法
|
|
|
+ success(msg) {
|
|
|
+ console.log('msg', msg);
|
|
|
+ queryPayOrder(that.info.orderNo).then(res1 => {
|
|
|
+ if (res1.state == 'Success') {
|
|
|
+ uni.hideLoading()
|
|
|
+ uni.showToast({
|
|
|
+ title: '支付成功',
|
|
|
+ icon: 'success'
|
|
|
+ })
|
|
|
+ that.btnLoading = false
|
|
|
+ that.payDetails(that.info.orderNo)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ fail(e) {
|
|
|
+ that.btnLoading = false
|
|
|
+ uni.hideLoading()
|
|
|
+ uni.showToast({
|
|
|
+ title: '取消支付',
|
|
|
+ icon: 'fail'
|
|
|
+ })
|
|
|
+ // 取消支付后,获取支付信息以备再次支付
|
|
|
+ that.payDetails(that.info.orderNo)
|
|
|
+ console.log('err', e,this);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 取消退款申请
|
|
|
+ cancelReply(){
|
|
|
+ if (this.btnLoading) return
|
|
|
+ this.btnLoading = true
|
|
|
+ uni.showLoading({
|
|
|
+ title: '取消中'
|
|
|
+ })
|
|
|
+ unRefund({id:this.info.goodsList[0].id}).then(res=>{
|
|
|
+ this.btnLoading = false
|
|
|
+ uni.hideLoading()
|
|
|
+
|
|
|
+ if (res.state == 'Success') {
|
|
|
+ this.payDetails(this.info.orderNo)
|
|
|
+ uni.showToast({
|
|
|
+ title:'取消成功',
|
|
|
+ icon:'success'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onReady() {
|
|
|
+
|
|
|
+ },
|
|
|
+ onLoad(options) {
|
|
|
+ this.info.orderNo = options.id
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ this.pageLoading = true
|
|
|
+ this.payDetails(this.info.orderNo)
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ // this.info = JSON.parse(uni.getStorageSync('order'))
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+.order-detail{
|
|
|
+ background: #F9F9F9;
|
|
|
+ min-height: 100vh;
|
|
|
+ padding-bottom: 100rpx;
|
|
|
+ .status-box{
|
|
|
+ padding: 24rpx 24rpx 4rpx;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ .text-box{
|
|
|
+ color: #181818;
|
|
|
+ .status{
|
|
|
+ font-weight: bold;
|
|
|
+ font-size: 32rpx;
|
|
|
+ display: flex;
|
|
|
+ .u-count-down__text{
|
|
|
+ color: $uni-color-primary!important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .notice{
|
|
|
+ font-size: 24rpx;
|
|
|
+ margin-top: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .progress{
|
|
|
+ .progress-title{
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: #181818;
|
|
|
+ }
|
|
|
+
|
|
|
+ .progress-desc{
|
|
|
+ font-weight: 300;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #AAAAAA;
|
|
|
+ margin-top: 15rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .shop-box{
|
|
|
+ width: 690rpx;
|
|
|
+ // margin: 0 30rpx;
|
|
|
+ // padding: 24rpx 24rpx 30rpx;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ margin-top: -30rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ .shop-name{
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 32rpx;
|
|
|
+ color: #181818;
|
|
|
+ width: 100%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ .address{
|
|
|
+ font-weight: 300;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #AAAAAA;
|
|
|
+ margin-top: 20rpx;
|
|
|
+ width: 100%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .black{
|
|
|
+ color: #222222!important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .red{
|
|
|
+ color: red!important;
|
|
|
+ }
|
|
|
+ .fs28{
|
|
|
+ font-size: 28rpx!important;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ .code-box{
|
|
|
+
|
|
|
+ // .left{
|
|
|
+ // .title{
|
|
|
+ // font-weight: 500;
|
|
|
+ // font-size: 28rpx;
|
|
|
+ // color: #222222;
|
|
|
+ // }
|
|
|
+ // .codeNum{
|
|
|
+ // font-weight: 300;
|
|
|
+ // font-size: 24rpx;
|
|
|
+ // color: #AAAAAA;
|
|
|
+ // margin-top: 15rpx;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ .qrcode{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ margin-top: 20rpx;
|
|
|
+ }
|
|
|
+ .code-btn{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ font-weight: 300;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #AAAAAA;
|
|
|
+ .jiantou{
|
|
|
+ width: 24rpx;
|
|
|
+ height: 24rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .input-box{
|
|
|
+ margin: 20rpx 30rpx;
|
|
|
+ padding: 28rpx 24rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ .label {
|
|
|
+ color: #222;
|
|
|
+ font-size: 28rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .value {
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #AAAAAA;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .content{
|
|
|
+ margin: 20rpx 30rpx;
|
|
|
+ padding: 28rpx 24rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ background: #fff;
|
|
|
+ .title{
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #222222;
|
|
|
+ }
|
|
|
+ .item{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-top: 28rpx;
|
|
|
+ .label{
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #AAAAAA;
|
|
|
+ }
|
|
|
+ .value{
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #222222;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .pay-btn{
|
|
|
+ background: $uni-color-primary;
|
|
|
+ width: 688rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ line-height: 80rpx;
|
|
|
+ border-radius: 46rpx;
|
|
|
+ color: #fff;
|
|
|
+ margin-top: 50rpx;
|
|
|
+ }
|
|
|
+ .refund-box{
|
|
|
+ .refund-msg{
|
|
|
+ font-weight: 300;
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #222222;
|
|
|
+ margin-top: 15rpx;
|
|
|
+ line-height: 40rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .apply-box{
|
|
|
+ position: relative;
|
|
|
+ .label{
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #222222;
|
|
|
+ }
|
|
|
+ .value{
|
|
|
+ color: #999999;
|
|
|
+ font-size: 24rpx;
|
|
|
+ margin-top: 15rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .jiantou{
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ right: 24rpx;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ width: 24rpx;
|
|
|
+ height: 24rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .btn-box {
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0%;
|
|
|
+ left: 0%;
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: flex-end;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding: 10rpx 24rpx env(safe-area-inset-bottom);
|
|
|
+ background: #fff;
|
|
|
+ border-top: 1rpx solid #EEEEEE;
|
|
|
+ .cancel-btn{
|
|
|
+ width: 240rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ line-height: 80rpx;
|
|
|
+ text-align: center;
|
|
|
+ border-radius: 40rpx;
|
|
|
+ border: 2rpx solid #EE4320;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #EE4320;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+ .btn {
|
|
|
+ width: 240rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ line-height: 80rpx;
|
|
|
+ text-align: center;
|
|
|
+ background: $uni-color-primary;
|
|
|
+ border-radius: 40rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #FFFFFF;
|
|
|
+ margin: 0;
|
|
|
+ margin-left: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .info{
|
|
|
+ .order-info{
|
|
|
+ display: flex;
|
|
|
+ .icon{
|
|
|
+ width: 164rpx;
|
|
|
+ height: 164rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ }
|
|
|
+ .shop-info{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
+ padding-left: 24rpx;
|
|
|
+ flex: 1;
|
|
|
+ box-sizing: border-box;
|
|
|
+ .title{
|
|
|
+ color: #181818;
|
|
|
+ font-size: 28rpx;
|
|
|
+ width: 450rpx;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ .price-box{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ .price{
|
|
|
+ color: #181818;
|
|
|
+ color: $uni-color-primary;
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ .start-time,.goods-desc{
|
|
|
+ font-size: 24rpx;
|
|
|
+ color: #AAAAAA;
|
|
|
+ width: 450rpx;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .wrap{
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ height: 100vh;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<!-- <template>
|
|
|
+ <view class="order-detail">
|
|
|
+ <zs-skeleton type="orderDetail" :loading="pageLoading"></zs-skeleton>
|
|
|
+ <view class="status-box">
|
|
|
+ <view class="text-box">
|
|
|
+ <view class="status" v-if="info.goodsList[0].goodsState == 'WAIT_PAYMENT'&&!isNotTime">
|
|
|
+ 等待支付,剩余<u-count-down :time="closeTime" format="mm:ss" @finish="finish"></u-count-down>
|
|
|
+ </view>
|
|
|
+ <view class="status" v-else>
|
|
|
+ {{info.goodsList[0] |filterType }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content progress" v-if="info.goodsList[0].goodsState == 'APPLY_REFUND' || info.goodsList[0].goodsState == 'REFUNDED'||info.goodsList[0].goodsState == 'APPLY_REFUNDING'" @click="refundDetail">
|
|
|
+ <view class="progress-title">
|
|
|
+ 退款进度
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="progress-desc">
|
|
|
+ 查看退款详情
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content shop-box" v-if="!isVisual">
|
|
|
+ <view class="shop-name">
|
|
|
+ {{info.shopInfo.shopName}}
|
|
|
+ </view>
|
|
|
+ <view class="address">
|
|
|
+ {{info.shopInfo.address}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content" v-if="info.goodsList[0].jobFlowMap == 'XiaoJu'">
|
|
|
+ <view class="title">
|
|
|
+ 加油明细
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 油号
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{info.goodsList[0].goodsInfo.itemName || '-'}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 油枪号
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{info.goodsList[0].goodsInfo.gunNo}}号
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 加油升数
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{(info.goodsList[0].goodsInfo.litre/1000).toFixed(2)}}升
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content info" v-if="info.goodsList[0].jobFlowMap !== 'XiaoJu'">
|
|
|
+ <view class="order-info">
|
|
|
+ <image class="icon" :src="info.goodsList[0].goodsInfo.goodsPath" mode=""></image>
|
|
|
+ <view class="shop-info">
|
|
|
+ <view class="title">
|
|
|
+ {{info.goodsList[0].goodsInfo.goodsName}}
|
|
|
+ </view>
|
|
|
+ <template v-if="!isVisual">
|
|
|
+ <view class="goods-desc">
|
|
|
+ {{info.goodsList[0].goodsInfo.goodsDescribe}}
|
|
|
+ </view>
|
|
|
+ <view class="price-box">
|
|
|
+ <view class="price">
|
|
|
+ ¥{{info.goodsList[0].goodsInfo.realPrice}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ <view class="price-box" v-else>
|
|
|
+ <view class="price">
|
|
|
+ ¥{{info.payAmount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content code-box" v-if="info.goodsList[0].jobFlowMap != 'video2'&&info.goodsList[0].jobFlowMap != 'P802'&&info.goodsList[0].goodsState == 'WAIT_USE'&&info.goodsList[0].goodsName!='二维码支付'">
|
|
|
+ <view class="title">
|
|
|
+ 券码信息
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <uqrcode class="qrcode" ref="uqrcode" type="2d" auto canvas-id="qrcode" :value="codeData" :loading="loading" :options="{ margin: 20 }">
|
|
|
+ <template v-slot:loading>
|
|
|
+ <text style="color: black;">拼命加载中...</text>
|
|
|
+ </template>
|
|
|
+ </uqrcode>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="content">
|
|
|
+ <view class="title">
|
|
|
+ 订单信息
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 订单编号
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{info.orderNo}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item" v-if="info.goodsList[0].goodsState == 'WAIT_USE'">
|
|
|
+ <view class="label">
|
|
|
+ 付款方式
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{info.payment | filterPay}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 下单时间
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{$u.timeFormat(info.createTime,'yyyy-mm-dd hh:MM:ss')}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item" v-if="info.goodsList[0].goodsState != 'WAIT_PAYMENT' && info.goodsList[0].goodsState != 'CLOSE'">
|
|
|
+ <view class="label">
|
|
|
+ 支付时间
|
|
|
+ </view>
|
|
|
+ <view class="value" >
|
|
|
+ {{payTime}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content" v-if="info.goodsList[0].jobFlowMap == 'XiaoJu'">
|
|
|
+ <view class="title">
|
|
|
+ 交易信息
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 订单金额
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ ¥{{info.totalAmount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 服务费
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ ¥{{(info.goodsList[0].goodsInfo.serviceFee/100).toFixed(2)}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item" >
|
|
|
+ <view class="label">
|
|
|
+ 优惠减免金额
|
|
|
+ </view>
|
|
|
+ <view class="value ">
|
|
|
+ -¥{{info.discountAmount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 支付金额
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ ¥{{info.payAmount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content" v-else>
|
|
|
+ <view class="title">
|
|
|
+ 交易信息
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 商品金额
|
|
|
+ </view>
|
|
|
+ <view class="value black">
|
|
|
+ ¥{{info.payAmount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="item" >
|
|
|
+ <view class="label">
|
|
|
+ 优惠券
|
|
|
+ </view>
|
|
|
+ <view class="value red">
|
|
|
+ -¥{{info.discountAmount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="item">
|
|
|
+ <view class="label">
|
|
|
+ 合计
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ <text class="red fs28">¥{{info.payAmount}}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="input-box" v-if="isVisual">
|
|
|
+ <view class="label">
|
|
|
+ 充值账号
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ {{info.goodsList[0].goodsInfo.rechargeAccount}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <template>
|
|
|
+ <view class="content refund-box" v-if="info.goodsList[0].goodsState == 'APPLY_REFUND'||(info.goodsList[0].refundLog&&info.goodsList[0].refundLog.remark)">
|
|
|
+ <view class="title">
|
|
|
+ 退款原因
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="refund-msg">
|
|
|
+ {{info.goodsList[0].refundLog.remark}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <button type="default" :loading="btnLoading" v-if="info.goodsList[0].goodsState == 'APPLY_REFUND'" class="pay-btn" @click="cancelReply" >取消退款</button>
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+ <view class="btn-box" v-if="info.goodsList[0].goodsState == 'WAIT_PAYMENT'">
|
|
|
+ <button class="cancel-btn" v-if="info.goodsList[0].jobFlowMap == 'XiaoJu'" @click="cancel('XiaoJu')" :loading="btnLoading">
|
|
|
+ 取消订单
|
|
|
+ </button>
|
|
|
+ <button class="cancel-btn" v-else @click="cancel('other')" :loading="btnLoading">
|
|
|
+ 取消订单
|
|
|
+ </button>
|
|
|
+ <button class="btn" @click="pay" :loading="btnLoading">
|
|
|
+ 立即支付
|
|
|
+ </button>
|
|
|
+ </view>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <view class="content apply-box" v-else-if="(info.goodsList[0].goodsState == 'WAIT_USE'||info.goodsList[0].goodsState == 'USED')&&info.goodsList[0].jobFlowMap == 'XiaoJu'" @click="handleCall">
|
|
|
+ <view class="label">
|
|
|
+ 如有申请退款,请联系滴滴客服
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ 滴滴客服电话:4000016553
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content apply-box" v-else-if="(info.goodsList[0].goodsState == 'WAIT_USE'||info.goodsList[0].goodsState == 'USED')&&info.goodsList[0].refundLog.refund != 'REFUSAL_REFUND'&&isRefund()&&info.goodsList[0].jobFlowMap !== 'XiaoJu'&&info.goodsList[0].jobFlowMap != 'video2'&&info.goodsList[0].jobFlowMap != 'P802'" @click="apply">
|
|
|
+ <view class="label">
|
|
|
+ 退款申请
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ 如引发商品争议,可申请平台介入处理
|
|
|
+ </view>
|
|
|
+ <image class="jiantou" src="../../static/jiantou-icon.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="content apply-box" v-if="info.goodsList[0].refundLog&&info.goodsList[0].refundLog.refund == 'REFUSAL_REFUND'">
|
|
|
+ <view class="title">
|
|
|
+ 已拒绝
|
|
|
+ </view>
|
|
|
+ <view class="value">
|
|
|
+ 拒绝理由:{{info.goodsList[0].refundLog.conclusion}}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <button type="default" :loading="btnLoading1" v-if="info.goodsList[0].refundLog&&info.goodsList[0].refundLog.refund == 'REFUSAL_REFUND'&&!info.goodsList[0].refundLog.platInter" class="pay-btn" @click="refundIntervene" >申请介入处理</button>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <u-overlay :show="show" v-if="show" :opacity="0.6">
|
|
|
+ <view class="wrap" @click.stop="close">
|
|
|
+ <uqrcode ref="uqrcode" type="2d" auto canvas-id="qrcode" :value="codeData" :loading="loading" :options="{ margin: 20 }">
|
|
|
+ <template v-slot:loading>
|
|
|
+ <text style="color: black;">拼命加载中...</text>
|
|
|
+ </template>
|
|
|
+ </uqrcode>
|
|
|
+ </view>
|
|
|
+ </u-overlay>
|
|
|
+
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import {qrCode,closeOrder} from '@/api/order.js'
|
|
|
+ import {payDetails,queryPayOrder,unRefund,refundIntervene} from '@/api/payment.js';
|
|
|
+ import {cancelOrder} from '@/api/refuel.js'
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ isVisual:false,//是否是虚拟商品
|
|
|
+ codeData:'123',
|
|
|
+ show:false,
|
|
|
+ loading:false,
|
|
|
+ pageLoading:true,
|
|
|
+ btnLoading:false,
|
|
|
+ btnLoading1:false,
|
|
|
+ oldBright:0,
|
|
|
+ info:{
|
|
|
+ // goodsList:[{goodsState:'CLOSE'}]
|
|
|
+ },
|
|
|
+ isNotTime:false
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ // isNotTime(val) {
|
|
|
+ // if(this.isNotTime){
|
|
|
+ // this.payDetails(this.info.orderNo)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ filters: {
|
|
|
+ filterType: function(val) {
|
|
|
+ if(val.refundLog&&val.refundLog.refund == 'REFUSAL_REFUND'&&!val.change){
|
|
|
+ return '拒绝退款'
|
|
|
+ }
|
|
|
+ else if(val.goodsState == 'APPLY_REFUND'){
|
|
|
+ return '退款审核中'
|
|
|
+ }else if(val.goodsState == 'CLOSE'){
|
|
|
+ return '关闭订单'
|
|
|
+ }else if(val.goodsState == 'REFUNDED'){
|
|
|
+ return '已退款'
|
|
|
+ }else if(val.goodsState == 'REFUSAL_REFUND'){
|
|
|
+ return '拒绝退款'
|
|
|
+ }else if(val.goodsState == 'APPLY_REFUNDING'){
|
|
|
+ return '退款中'
|
|
|
+ }else if(val.goodsState == 'USED'){
|
|
|
+ return '订单已完成'
|
|
|
+ }else if(val.goodsState == 'WAIT_PAYMENT'){
|
|
|
+ return '待付款'
|
|
|
+ }else if(val.goodsState == 'WAIT_USE'){
|
|
|
+ return '待使用'
|
|
|
+ }else{
|
|
|
+ return ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ filterPay(val){
|
|
|
+ if(val){
|
|
|
+ if(val.paymentWay == 'wx.unifiedOrder'){
|
|
|
+ return '微信支付'
|
|
|
+ }else if(val.paymentWay == 'trade.create'){
|
|
|
+ return '支付宝支付'
|
|
|
+ }else if(val.paymentWay == 'uac.miniOrder'){
|
|
|
+ return '云闪付支付'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ return '-'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ closeTime() {
|
|
|
+ return (this.info.createTime + 1000*60*30) - new Date().getTime()
|
|
|
+ },
|
|
|
+ payTime(){
|
|
|
+ // if(this.info.goodsList[0].extend&&!this.info.goodsList[0].extend.hasOwnProperty('account')){
|
|
|
+ if(this.info.goodsList[0].extend&&this.info.goodsList[0].jobFlowMap == 'XiaoJu'){
|
|
|
+ console.log(1);
|
|
|
+ if(this.info.goodsList[0].extend.hasOwnProperty('notifyOrderInfo')){
|
|
|
+ return this.info.goodsList[0].extend.notifyOrderInfo.payTime
|
|
|
+ }else{
|
|
|
+ return '-'
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ console.log(2);
|
|
|
+ if(this.info.payment && this.info.payment.paymentTime){
|
|
|
+ return uni.$u.timeFormat(this.info.payment.paymentTime,'yyyy-mm-dd hh:MM:ss')
|
|
|
+ }else{
|
|
|
+ return '-'
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 申请客服介入
|
|
|
+ refundIntervene(){
|
|
|
+ let that = this
|
|
|
+ uni.showModal({
|
|
|
+ title: '提示',
|
|
|
+ content: '确认申请客服介入吗?',
|
|
|
+ success: function (res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ that.btnLoading1 = true
|
|
|
+ refundIntervene(that.info.goodsList[0].id).then(res=>{
|
|
|
+ that.btnLoading1 = false
|
|
|
+ if(res.state == 'Success'){
|
|
|
+ that.payDetails(that.info.orderNo)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else if (res.cancel) {
|
|
|
+ console.log('用户点击取消');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
},
|
|
|
isRefund(){
|
|
|
if(!this.info.goodsList[0].verifyModel){//没核销
|
|
@@ -953,4 +1900,4 @@
|
|
|
}
|
|
|
|
|
|
}
|
|
|
-</style>
|
|
|
+</style> -->
|