|
|
|
@ -2,16 +2,20 @@
|
|
|
|
|
* @Author: ch
|
|
|
|
|
* @Date: 2022-04-14 13:44:30
|
|
|
|
|
* @LastEditors: ch
|
|
|
|
|
* @LastEditTime: 2022-04-14 19:25:37
|
|
|
|
|
* @LastEditTime: 2022-04-15 11:08:54
|
|
|
|
|
* @Description: file content
|
|
|
|
|
-->
|
|
|
|
|
<template>
|
|
|
|
|
<view>
|
|
|
|
|
<UiWhiteBox>
|
|
|
|
|
<view class="title">商家已同意退货申请,请尽早退货。</view>
|
|
|
|
|
<u-cell class="address" :title="data.refundLogistics.recipientAddress" :label="`收货人:${data.refundLogistics.recipientName} ${data.refundLogistics.recipientPhone}`"
|
|
|
|
|
:border="false">
|
|
|
|
|
<image class="address--icon" slot="icon" src="@/static/order/dw.png" />
|
|
|
|
|
</u-cell>
|
|
|
|
|
</UiWhiteBox>
|
|
|
|
|
<UiWhiteBox>
|
|
|
|
|
<view class="title">退货说明:拒收到付</view>
|
|
|
|
|
<view class="title title__normal">退货说明:拒收到付</view>
|
|
|
|
|
<view class="content">
|
|
|
|
|
<view>•未与商家协商一致,请勿使用到付或平邮,以免商家拒签货物</view>
|
|
|
|
|
<view>•请填写真实退货物流信息,逾期未填写,退货申请将关闭</view>
|
|
|
|
@ -21,21 +25,19 @@
|
|
|
|
|
</view>
|
|
|
|
|
</UiWhiteBox>
|
|
|
|
|
<UiWhiteBox class="box">
|
|
|
|
|
<UiCell title="物流公司" ></UiCell>
|
|
|
|
|
<UiCell title="物流单号" >
|
|
|
|
|
<input class="input" slot="value" />
|
|
|
|
|
<UiCell title="物流公司" @click="logisticsShow = true">
|
|
|
|
|
<input class="cell-input" v-model="params.companyName" placeholder="请选择物流公司" slot="value" />
|
|
|
|
|
</UiCell>
|
|
|
|
|
<UiCell title="退款金额" :rightIcon="false">
|
|
|
|
|
<text class="price" slot="value">¥36.3</text>
|
|
|
|
|
<UiCell title="物流单号" :rightIcon="false">
|
|
|
|
|
<input class="cell-input" v-model="params.trackingNo" placeholder="请填写物流单号" slot="value" />
|
|
|
|
|
</UiCell>
|
|
|
|
|
<view class="cell-title">
|
|
|
|
|
<view>
|
|
|
|
|
<text>问题描述</text>
|
|
|
|
|
<text class="cell-title--min">(选填)</text>
|
|
|
|
|
<text>备注说明</text>
|
|
|
|
|
</view>
|
|
|
|
|
<text class="cell-title--min">10/45</text>
|
|
|
|
|
<text class="cell-title--min">{{params.remark.length}}/45</text>
|
|
|
|
|
</view>
|
|
|
|
|
<textarea class="cell-textarea" maxlength="45" placeholder="请输入您申请退款的问题"></textarea>
|
|
|
|
|
<textarea class="cell-textarea" v-model="params.remark" maxlength="45" placeholder="请输入您申请退款的问题"></textarea>
|
|
|
|
|
</UiWhiteBox>
|
|
|
|
|
<UiWhiteBox class="box">
|
|
|
|
|
<view class="cell-title">
|
|
|
|
@ -43,14 +45,16 @@
|
|
|
|
|
<text class="cell-title--min">(0/9)</text>
|
|
|
|
|
</view>
|
|
|
|
|
<u-upload
|
|
|
|
|
:fileList="fileList"
|
|
|
|
|
@afterRead="upload"
|
|
|
|
|
@delete="delImage"
|
|
|
|
|
multiple
|
|
|
|
|
:maxCount="9"
|
|
|
|
|
:previewFullImage="true"
|
|
|
|
|
></u-upload>
|
|
|
|
|
</UiWhiteBox>
|
|
|
|
|
|
|
|
|
|
<UiButton class="submit-btn" size="max" type="gradual">确认提交</UiButton>
|
|
|
|
|
|
|
|
|
|
<UiButton class="submit-btn" size="max" type="gradual" @click="submit">确认提交</UiButton>
|
|
|
|
|
<u-picker :show="logisticsShow" :columns="company" keyName="companyName" @confirm="confirmCompany" @cancel="logisticsShow = false"></u-picker>
|
|
|
|
|
<u-modal :show="cancelShow" @confirm="cancelSaleAfter" showCancelButton @cancel="cancelShow = false"
|
|
|
|
|
content="你将撤销本次申请,撤销后,保障期内你可以再次申请售后服务" cancelText="我再想想"></u-modal>
|
|
|
|
|
</view>
|
|
|
|
@ -59,18 +63,33 @@
|
|
|
|
|
import UiButton from '../../../../../components/UiButton.vue'
|
|
|
|
|
import UiCell from '../../../../../components/UiCell.vue'
|
|
|
|
|
import UiWhiteBox from '../../../../../components/UiWhiteBox.vue'
|
|
|
|
|
import {ApiPostCancelSaleAfter} from '@/common/api/order.js';
|
|
|
|
|
import {ApiPostCancelSaleAfter, ApiPutLogisticsInfo} from '@/common/api/order.js';
|
|
|
|
|
import {ApiPostGetOssConfig} from '@/common/api/oss.js';
|
|
|
|
|
export default {
|
|
|
|
|
components: { UiWhiteBox, UiButton, UiCell },
|
|
|
|
|
props:{
|
|
|
|
|
data : {
|
|
|
|
|
type : Object,
|
|
|
|
|
default : ()=>({})
|
|
|
|
|
},
|
|
|
|
|
company : {
|
|
|
|
|
type : Array,
|
|
|
|
|
default : ()=>([])
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data(){
|
|
|
|
|
return {
|
|
|
|
|
cancelShow : false
|
|
|
|
|
cancelShow : false,
|
|
|
|
|
logisticsShow : false,
|
|
|
|
|
fileList : [],
|
|
|
|
|
params : {
|
|
|
|
|
companyCode : '',
|
|
|
|
|
companyName : '',
|
|
|
|
|
logisticsImages : [],
|
|
|
|
|
refundId : this.$Route.query.id,
|
|
|
|
|
remark : '',
|
|
|
|
|
trackingNo : ''
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
methods:{
|
|
|
|
@ -83,6 +102,61 @@ export default {
|
|
|
|
|
this.$emit('reload');
|
|
|
|
|
this.cancelShow = false;
|
|
|
|
|
},
|
|
|
|
|
confirmCompany(val){
|
|
|
|
|
this.params = {...this.params, ...val.value[0]}
|
|
|
|
|
this.logisticsShow = false;
|
|
|
|
|
},
|
|
|
|
|
async getOssCon(){
|
|
|
|
|
const {error, result} = await ApiPostGetOssConfig({
|
|
|
|
|
configId : 'refund-evidence/',
|
|
|
|
|
serviceName : 'mall-trade'
|
|
|
|
|
});
|
|
|
|
|
if(error){
|
|
|
|
|
uni.$u.toast(error.message);
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
},
|
|
|
|
|
async upload(val){
|
|
|
|
|
const file = val.file[0];
|
|
|
|
|
const oss = await this.getOssCon();
|
|
|
|
|
if(!oss) {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
uni.uploadFile({
|
|
|
|
|
name : 'file',
|
|
|
|
|
filePath : file.url,
|
|
|
|
|
url : oss.host,
|
|
|
|
|
formData : {
|
|
|
|
|
name : file.name,
|
|
|
|
|
key : `${oss.dir}${'${filename}'}`,
|
|
|
|
|
policy : oss.policy,
|
|
|
|
|
OSSAccessKeyId : oss.accessId,
|
|
|
|
|
success_action_status : 200,
|
|
|
|
|
signature : oss.signature
|
|
|
|
|
},
|
|
|
|
|
success:(res)=>{
|
|
|
|
|
this.fileList.push({
|
|
|
|
|
url : `${oss.host}/${oss.dir}${file.name}`
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
/**
|
|
|
|
|
* 删除凭证图片
|
|
|
|
|
*/
|
|
|
|
|
delImage(val){
|
|
|
|
|
this.fileList.splice(val.index , 1);
|
|
|
|
|
},
|
|
|
|
|
async submit(){
|
|
|
|
|
this.params.logisticsImages = this.fileList.map(i => i.url);
|
|
|
|
|
const {error, result} = await ApiPutLogisticsInfo(this.params);
|
|
|
|
|
if(error){
|
|
|
|
|
uni.$u.toast(error.message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
this.$emit('reload');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
@ -90,12 +164,20 @@ export default {
|
|
|
|
|
.box{
|
|
|
|
|
padding: 0 30rpx;
|
|
|
|
|
}
|
|
|
|
|
.address--icon{
|
|
|
|
|
width: 40rpx;
|
|
|
|
|
height: 48rpx;
|
|
|
|
|
margin-right: 10rpx;
|
|
|
|
|
}
|
|
|
|
|
.title{
|
|
|
|
|
height: 98rpx;
|
|
|
|
|
line-height: 98rpx;
|
|
|
|
|
padding-left: 30rpx;
|
|
|
|
|
border-bottom: 2rpx solid $color-grey2;
|
|
|
|
|
color: $color-yellow3;
|
|
|
|
|
&__normal{
|
|
|
|
|
color: $color-grey6;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.content{
|
|
|
|
|
padding: 30rpx 30rpx 0;
|
|
|
|
@ -123,6 +205,10 @@ export default {
|
|
|
|
|
color: $color-grey4;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.cell-input{
|
|
|
|
|
text-align: right;
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
.cell-textarea{
|
|
|
|
|
height: 100rpx;
|
|
|
|
|
}
|
|
|
|
|