售后处理

master
wqy 2 years ago
parent fb76b1cc02
commit 60ddb6eced

@ -39,19 +39,19 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请原因" prop="reason"></el-table-column> <el-table-column label="申请原因" prop="reason"></el-table-column>
<!-- <el-table-column label="凭证" prop="proofPics">--> <el-table-column label="凭证" prop="proofPics">
<!-- <template slot-scope="{row}">--> <template slot-scope="{row}">
<!-- <el-image class="small-img circle-img" :src="row.proofPics"--> <el-image class="small-img circle-img" :src="row.proofPics"
<!-- :preview-src-list="[row.proofPics]" />--> :preview-src-list="[row.proofPics]" />
<!-- </template>--> </template>
<!-- </el-table-column>--> </el-table-column>
<el-table-column label="申请状态" prop="refundStatus" width="110"> <el-table-column label="申请状态" prop="refundStatus" width="110">
<template slot-scope="{row}"> <template slot-scope="{row}">
<span>{{ getAftersaleStatus(row) }}</span> <span>{{ getAftersaleStatus(row) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="平台拒绝理由" prop="remark"></el-table-column> <el-table-column label="平台拒绝理由" prop="remark"></el-table-column>
<!-- <el-table-column label="退货快递号" prop="expressNo"></el-table-column>--> <el-table-column label="退货快递号" prop="refundWaybillCode"></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" <el-button size="mini" type="text" icon="el-icon-edit"
@ -103,14 +103,24 @@
<el-descriptions-item label="申请售后时间">{{ parseTime(refundInfoDetail.applyRefundTime,'') }}</el-descriptions-item> <el-descriptions-item label="申请售后时间">{{ parseTime(refundInfoDetail.applyRefundTime,'') }}</el-descriptions-item>
<el-descriptions-item label="退款金额">{{ refundInfoDetail.refundAmount }}</el-descriptions-item> <el-descriptions-item label="退款金额">{{ refundInfoDetail.refundAmount }}</el-descriptions-item>
<el-descriptions-item label="申请原因">{{ refundInfoDetail.reason }}</el-descriptions-item> <el-descriptions-item label="申请原因">{{ refundInfoDetail.reason }}</el-descriptions-item>
<!-- <el-descriptions-item label="凭证">--> <el-descriptions-item label="具体描述">{{ refundInfoDetail.description }}</el-descriptions-item>
<!-- <el-image class="small-img circle-img" :src="refundInfoDetail.proofPics"--> <el-descriptions-item label="凭证">
<!-- :preview-src-list="[refundInfoDetail.proofPics]" />--> <el-image class="small-img circle-img" :src="refundInfoDetail.proofPics"
<!-- </el-descriptions-item>--> :preview-src-list="[refundInfoDetail.proofPics]" />
</el-descriptions-item>
<el-descriptions-item label="申请状态">{{ getAftersaleStatus(refundInfoDetail) }}</el-descriptions-item> <el-descriptions-item label="申请状态">{{ getAftersaleStatus(refundInfoDetail) }}</el-descriptions-item>
<el-descriptions-item label="平台拒绝理由">{{ refundInfoDetail.remark }}</el-descriptions-item> <el-descriptions-item label="平台拒绝理由">{{ refundInfoDetail.remark }}</el-descriptions-item>
<el-descriptions-item label="退货快递号">{{ refundInfoDetail.expressNo }}</el-descriptions-item> <el-descriptions-item label="退货快递号">{{ refundInfoDetail.refundWaybillCode }}</el-descriptions-item>
<el-descriptions-item label="物流公司">{{ getExpressName(refundInfoDetail) }}</el-descriptions-item> <el-descriptions-item label="物流公司">{{ getExpressName(refundInfoDetail.refundWpCode) }}</el-descriptions-item>
<el-descriptions-item label="物流进度">
<el-popover placement="left" width="300" trigger="hover" popper-class="popperOptions">
<el-timeline-item v-for="(activity, index) in aliLogisticsInfoList" :key="index"
:timestamp="activity.time">
{{ activity.context }}
</el-timeline-item>
<span slot="reference">{{ refundInfoDetail.logistics }}</span>
</el-popover>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-dialog> </el-dialog>
</el-main> </el-main>
@ -119,6 +129,7 @@
<script> <script>
import { getOmsAftersale } from "@/api/oms/aftersale"; import { getOmsAftersale } from "@/api/oms/aftersale";
import {getConfigKey2} from "@/api/system/config";
export default { export default {
name: "OmsAftersaleDetail", name: "OmsAftersaleDetail",
@ -138,6 +149,7 @@ export default {
} }
}, },
created() { created() {
this.getExpressData()
const { id } = this.$route.query const { id } = this.$route.query
this.queryDetail(id).then((expressNo) => { this.queryDetail(id).then((expressNo) => {
// this.getLogistic(expressNo) // this.getLogistic(expressNo)
@ -166,11 +178,19 @@ export default {
}, },
expressMap() { expressMap() {
let obj = this.experssList.map(item => [item.expressCode, item.expressName]) let obj = this.experssList.map(item => [item.expressCode, item.expressName])
let map = new Map(obj) return new Map(obj)
return map
} }
}, },
methods: { methods: {
getExpressData() {
getConfigKey2('express-set-key').then(res => {
if (res.data && res.data.configValue) {
this.experssList = JSON.parse(res.data.configValue)
} else {
this.experssList = []
}
})
},
queryDetail(id) { queryDetail(id) {
this.loading = true this.loading = true
return new Promise(resolve => return new Promise(resolve =>
@ -196,14 +216,14 @@ export default {
getAftersaleStatus(row) { getAftersaleStatus(row) {
return this.aftersaleStatusMap.get(row.refundStatus + '') return this.aftersaleStatusMap.get(row.refundStatus + '')
}, },
getExpressName(row) { getExpressName(name) {
return this.expressMap.get(row.expressName + '') return this.expressMap.get(name)
}, },
handleWatch(row) { handleWatch(row) {
this.refundInfoDetail = row this.refundInfoDetail = row
// if(this.refundInfoDetail.allLogistics){ if(this.refundInfoDetail.allLogistics){
// this.aliLogisticsInfoList = JSON.parse(refundInfoDetail.allLogistics) this.aliLogisticsInfoList = JSON.parse(refundInfoDetail.allLogistics)
// } }
this.open = true this.open = true
}, },
cancel() { cancel() {

@ -79,6 +79,8 @@
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">同意</el-button> v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">同意</el-button>
<el-button size="mini" type="text" @click="handleOpen(scope.row.orderId, 2)" <el-button size="mini" type="text" @click="handleOpen(scope.row.orderId, 2)"
v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">拒绝</el-button> v-if="scope.row.aftersaleStatus == 0" v-hasPermi="['manager:oms:aftersale:update']">拒绝</el-button>
<el-button size="mini" type="text" @click="confirmReceive(scope.row.orderId, 3)"
v-if="scope.row.aftersaleStatus == 1 && scope.row.applyRefundType == 2" v-hasPermi="['manager:oms:aftersale:update']">确认收货</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -327,6 +329,15 @@ export default {
this.updateOrderForm.optType = type this.updateOrderForm.optType = type
this.open = true this.open = true
}, },
confirmReceive(orderId, type){
this.updateOrderForm.orderId = orderId
this.updateOrderForm.optType = type
dealWithAftersale(this.updateOrderForm).then((response) => {
this.cancel()
this.$message.success('操作成功')
this.getList()
})
},
getAftersaleStatusTag(row) { getAftersaleStatusTag(row) {
switch (row.aftersaleStatus) { switch (row.aftersaleStatus) {
case 0: case 0:

Loading…
Cancel
Save