<template>
|
<div>
|
<el-form class="refund" size="mini" ref="form" :model="form" label-width="110px">
|
<order-basic-info :form="form" :warehouseData="warehouseData"
|
:logisticSupplier="logisticSupplier" :warehouse="warehouse">
|
</order-basic-info>
|
<el-form-item label="退款编号:">{{form.omsOrderRefund ? form.omsOrderRefund.orderRefundId : '-'}}
|
</el-form-item>
|
<el-form-item label="订单状态:">
|
{{form.omsOrder ? getLabel(orderStatus,form.omsOrder.orderStatus,1) : '-'}}</el-form-item>
|
<el-form-item label="申请时间:">
|
{{form.omsOrderRefund ? form.omsOrderRefund.applicationTime : '-'}}</el-form-item>
|
<el-form-item label="退款原因:">
|
<span
|
v-html="form.omsOrderRefund && form.omsOrderRefund.applicationReason? form.omsOrderRefund.applicationReason : '-'"></span>
|
</el-form-item>
|
<el-form-item label="退款金额:">
|
{{form.omsOrderRefund && form.omsOrderRefund.refundAmount ? '¥ '+form.omsOrderRefund.refundAmount : '-'}}
|
</el-form-item>
|
<el-form-item label="退款说明:">
|
<span
|
v-html="form.omsOrderRefund && form.omsOrderRefund.applicationExplain ? form.omsOrderRefund.applicationExplain : '-'"></span>
|
</el-form-item>
|
<el-form-item label="申请图片:">
|
<el-row
|
v-if="form.omsOrderRefund && form.omsOrderRefund.pictureUrl && form.omsOrderRefund.pictureUrl.length">
|
<el-col class="applyImg" v-for="(item,index) in form.omsOrderRefund.pictureUrl"
|
:key="index">
|
<el-image style="width: 100px;height:100px;" :src="item" fit="contain"
|
:preview-src-list="form.omsOrderRefund.pictureUrl">
|
</el-image>
|
</el-col>
|
</el-row>
|
<span v-else>-</span>
|
</el-form-item>
|
<!-- 推送状态 -->
|
<el-form-item label="推送状态:">
|
{{form.omsOrderRefund && form.omsOrderRefund.pushAnjiType? (form.omsOrderRefund.pushAnjiType === '2'
|
? '推送失败' :form.omsOrderRefund.pushAnjiType === '1' ? '推送成功' :'-'): '-'}}
|
</el-form-item>
|
<el-form-item label="退款类型:">
|
{{form.omsOrderRefund ? getLabel(refundTypeArr,form.omsOrderRefund.refundType) : '-'}}
|
</el-form-item>
|
<!-- 货物状态 -->
|
<el-form-item label="货物状态:"
|
v-show="form.omsOrderRefund && form.omsOrderRefund.refundType==='1'">
|
{{form.omsOrderRefund && form.omsOrderRefund.receivingStatus=='1' ? '已收到货' : form.omsOrderRefund && form.omsOrderRefund.receivingStatus=='2' ? '未收到货' : '-'}}
|
</el-form-item>
|
<el-form-item label="凭证:" v-if="form.omsOrderRefund &&
|
form.omsOrderRefund.expInfo &&
|
JSON.parse(form.omsOrderRefund.expInfo).evidence">
|
<el-row>
|
<el-col class="applyImg">
|
<el-image style="width: 100px;height:100px;"
|
:src="JSON.parse(form.omsOrderRefund.expInfo).evidence" fit="contain"
|
:preview-src-list="[JSON.parse(form.omsOrderRefund.expInfo).evidence]">
|
</el-image>
|
</el-col>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="协商历史:"
|
v-if="form.orderRefundFlowList && form.orderRefundFlowList.length">
|
<div class="refundFlow" v-for="item in form.orderRefundFlowList"
|
:key="item.orderRefundFlowId" v-show="item.applicationStatus !== '99' &&
|
item.applicationStatus !== '21' &&
|
item.applicationStatus !== '14' &&
|
item.applicationStatus !== '15'">
|
<span>{{item.operationOn}}</span>
|
<span>操作人:{{getOperationType(item.operationByName,item.operationType)}}</span>
|
<span>反馈意见:{{item.operationDesc ? getOperationDesc(item) : '-'}}</span>
|
<span v-show="item.statusName">操作状态:{{item.statusName ? item.statusName : '-'}}</span>
|
</div>
|
</el-form-item>
|
<el-form-item label="回寄物流信息:" v-show="form.omsOrderRefundDelivery">
|
<div>物流单号:{{form.omsOrderRefundDelivery ? form.omsOrderRefundDelivery.waybillId : '-'}}
|
</div>
|
<div>物流公司:{{form.omsOrderRefundDelivery ? form.omsOrderRefundDelivery.companyName : '-'}}
|
</div>
|
<div>联系电话:{{form.omsOrderRefundDelivery ? form.omsOrderRefundDelivery.sendByPhone : '-'}}
|
</div>
|
<el-row v-if="form.omsOrderRefundDelivery && form.omsOrderRefundDelivery.sendRemark">
|
<el-col class="applyImg"
|
v-for="(item,index) in form.omsOrderRefundDelivery.sendRemark.split(',')"
|
:key="index">
|
<el-image style="width: 100px;height:100px;" :src="item" fit="contain"
|
:preview-src-list="form.omsOrderRefundDelivery.sendRemark.split(',')">
|
</el-image>
|
</el-col>
|
</el-row>
|
</el-form-item>
|
<div>
|
<el-form-item label="客服审核:" v-if="form.customer && form.customer.length">
|
<div class="refundFlow" v-for="item in form.customer" :key="item.orderRefundFlowId">
|
<span>{{item.operationOn}}</span> <span>操作人:{{item.operationByName}}</span>
|
<span>反馈意见:{{item.operationDesc ? item.operationDesc : '-'}}</span>
|
<span>操作状态:{{item.statusName ? item.statusName : '-'}}</span>
|
</div>
|
</el-form-item>
|
<el-form-item label="仓储操作:" v-if="form.storage && form.storage.length">
|
<div class="refundFlow" v-for="item in form.storage" :key="item.orderRefundFlowId">
|
<span>{{item.operationOn}}</span> <span>操作人:{{item.operationByName}}</span>
|
<span>反馈意见:{{item.operationDesc ? item.operationDesc : '-'}}</span>
|
<span>操作状态:{{item.statusName ? item.statusName : '-'}}</span>
|
</div>
|
</el-form-item>
|
</div>
|
<slot name="refundResult" :data="form"></slot>
|
</el-form>
|
</div>
|
</template>
|
<script>
|
import orderBasicInfo from '@/views/refundMgt/components/orderBasicInfo.vue'
|
import orderStatus from '@/utils/constant/orderStatus'
|
import dyRefuseType from '@/utils/constant/dyRefuseType'
|
import refundType from '@/utils/constant/refundType'
|
import { getArrayLable } from '@/utils/getArrayLable'
|
|
export default {
|
props: ['form', 'warehouseData', 'warehouse', 'logisticSupplier'],
|
components: { orderBasicInfo },
|
data() {
|
return {
|
orderStatus,
|
dyRefuseType,
|
refundTypeArr: refundType
|
}
|
},
|
methods: {
|
// 获取反馈意见
|
getOperationDesc(item) {
|
let str = null
|
if (this.form.omsOrder && this.form.omsOrder.orderSource === 'DY' && item.applicationStatus === '12') {
|
str = this.getLabel(dyRefuseType, item.operationDesc)
|
} else {
|
str = item.operationDesc
|
}
|
return str
|
},
|
// 获取状态显示名称
|
getStatusName(val) {
|
if (this.form.omsOrder.orderType === 'T05') {
|
switch (val) {
|
case '77':
|
return '售后失败'
|
case '88':
|
return '售后中'
|
case '99':
|
return '售后成功'
|
default:
|
this.getStatusrefundName(val)
|
break
|
}
|
} else {
|
this.getStatusrefundName(val)
|
}
|
},
|
// 获取退款时的状态
|
getStatusrefundName(val) {
|
switch (val) {
|
case '00':
|
return '删除申请'
|
case '01':
|
return '提交申请'
|
case '03':
|
return '撤销申请'
|
case '04':
|
return '提交寄回信息'
|
case '11':
|
return '同意申请'
|
case '12':
|
return '拒绝申请'
|
case '14':
|
return '已扫码同意退货'
|
case '15':
|
return '拒绝退货'
|
case '77':
|
return '退款失败'
|
case '88':
|
return '退款中'
|
case '99':
|
return '退款成功'
|
case '16':
|
return '未扫码同意退货'
|
case '17':
|
return '仓储(安吉)拒绝退货'
|
default:
|
break
|
}
|
},
|
/**
|
* 获取数组的label
|
*/
|
getLabel(array, id, val) {
|
if (this.form.omsOrder && this.form.omsOrder.orderType === 'T05' && val === 1) { // 当是积分订单时
|
switch (id) {
|
case '88':
|
return '售后中'
|
case '10':
|
return '售后成功'
|
case '06':
|
return '已完成'
|
default:
|
return getArrayLable(array, id)
|
}
|
} else {
|
return getArrayLable(array, id)
|
}
|
},
|
getOperationType(name, val) {
|
switch (val) {
|
case '1':
|
return '用户'
|
case '2':
|
return `(业务人员)${name ? name : ''}`
|
case '3':
|
return `(业务人员)${name ? name : ''}`
|
case '4':
|
return '仓储(安吉)'
|
default:
|
break
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="scss">
|
$w: 100px;
|
.refund {
|
.el-table__body img {
|
width: 50px;
|
}
|
.applyImg {
|
width: $w;
|
margin-right: 10px;
|
}
|
.refundFlow span {
|
margin-right: 15px;
|
}
|
}
|
</style>
|