offline_mer/src/views/order/orderRefund/refundDetail.vue

262 lines
7.0 KiB
Vue

<template>
<el-dialog
v-if="orderDatalist"
v-loading="loading"
title="退款单信息"
:visible.sync="dialogVisible"
width="700px"
>
<div class="description">
<div class="title">用户信息</div>
<div class="acea-row">
<div class="description-term">
用户昵称:{{ orderDatalist.user.nickname }}
</div>
<div class="description-term">
退货人:{{ orderDatalist.order.real_name }}
</div>
<div class="description-term">
联系电话:{{ orderDatalist.order.user_phone }}
</div>
<div class="description-term">
退货地址:{{ orderDatalist.order.user_address }}
</div>
<div class="description-term">备注:{{ orderDatalist.mark }}</div>
</div>
<el-divider />
<div class="title">
{{ orderDatalist.refund_type == 1 ? "退款信息" : "退回商品信息" }}
</div>
<div class="acea-row">
<div class="description-term">
订单编号:{{ orderDatalist.order.order_sn }}
</div>
<div class="description-term">
订单状态:{{ orderDatalist.status | orderRefundFilter }}
</div>
<div class="description-term100">
退款单号:{{ orderDatalist.refund_order_sn }}
</div>
<div class="description-term100">
退款商品名称:
<div class="product_name">
<div
v-for="(item, index) in orderDatalist.refundProduct"
:key="index"
>
<span
v-if="
item.product &&
item.product.cart_info &&
item.product.cart_info.product
"
>{{ item.product.cart_info.product.store_name }}</span
>
</div>
</div>
</div>
<div class="description-term">
退款发起方:{{ orderDatalist.create_user }}
</div>
<div class="description-term">
退款商品件数:{{ orderDatalist.refund_num }}件
</div>
<div class="description-term">
退款总金额:{{ orderDatalist.refund_price }}元
</div>
<div v-if="orderDatalist.delivery_id" class="description-term">
退货快递单号:{{ orderDatalist.delivery_id }}
</div>
<div class="description-term">
创建时间:{{ orderDatalist.create_time }}
</div>
<div class="description-term">
退货金额:{{ orderDatalist.refund_good_price }}
</div>
<div class="description-term">退折扣:{{ orderDatalist.amount }}</div>
<div class="description-term">
退铸源星:{{ orderDatalist.integral }}
</div>
<div class="description-term">
退运费金额:{{ orderDatalist.refund_postage }}
</div>
<div class="description-term">
商家备注:{{ orderDatalist.mer_mark }}
</div>
<div class="description-term100">
退款凭证:
<div class="product_name" style="margin-left: 70px;">
<div class="demo-image__preview">
<el-image
v-for="(item, index) in orderDatalist.pics"
:key="index"
:src="item"
class="mr5"
:preview-src-list="[item]"
/>
</div>
</div>
</div>
</div>
<el-divider />
<div class="title">订单记录</div>
<el-table
v-loading="LogLoading"
border
:data="tableDataLog.data"
style="width: 100%"
>
<el-table-column
prop="order_id"
align="center"
label="退款单ID"
min-width="80"
/>
<el-table-column
prop="change_message"
label="操作记录"
align="center"
min-width="280"
/>
<el-table-column
prop="change_time"
label="操作时间"
align="center"
min-width="280"
/>
</el-table>
<div class="block">
<el-pagination
:page-size="tableFromLog.limit"
:current-page="tableFromLog.page"
layout="prev, pager, next, jumper"
:total="tableDataLog.total"
@size-change="handleSizeChangeLog"
@current-change="pageChangeLog"
/>
</div>
<el-divider />
<div
v-if="
(orderDatalist.status == 2 || orderDatalist.status == 3) &&
orderDatalist.refund_type == 2
"
>
<div class="title">退货物流信息</div>
<div class="acea-row">
<div class="description-term">
快递公司:{{ orderDatalist.delivery_type }}
<el-button
size="small"
type="text"
style="margin-left: 10px;"
@click="getLoginstics"
>物流查询</el-button
>
</div>
<div class="description-term">
快递单号:{{ orderDatalist.delivery_id }}
</div>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
import { refundorderLogApi } from "@/api/order";
export default {
name: "OrderDetail",
props: {
orderDatalist: {
type: Object,
default: null
}
},
data() {
return {
dialogVisible: false,
LogLoading: false,
// orderDatalist: null,
loading: false,
listLoading: true,
order_id: "",
tableDataLog: {
data: [],
total: 0
},
tableFromLog: {
page: 1,
limit: 5
}
};
},
mounted() {},
methods: {
// 订单记录
onOrderLog(id) {
this.LogLoading = true;
this.order_id = id;
refundorderLogApi(id, this.tableFromLog)
.then(res => {
this.tableDataLog.data = res.data.list;
this.tableDataLog.total = res.data.count;
this.LogLoading = false;
})
.catch(res => {
this.$message.error(res.message);
this.LogLoading = false;
});
},
/**查看物流 */
getLoginstics() {
this.$emit("get-logistics", this.orderDatalist);
},
pageChangeLog(page) {
this.tableFromLog.page = page;
this.onOrderLog(this.order_id);
},
handleSizeChangeLog(val) {
this.tableFromLog.limit = val;
this.onOrderLog(this.order_id);
}
}
};
</script>
<style scoped lang="scss">
.title {
margin-bottom: 16px;
color: #17233d;
font-weight: 500;
font-size: 14px;
}
.description {
&-term {
display: table-cell;
padding-bottom: 10px;
line-height: 20px;
width: 50%;
font-size: 12px;
}
}
.description-term100 {
display: table-cell;
padding-bottom: 10px;
line-height: 20px;
width: 100%;
font-size: 12px;
}
.product_name {
margin-left: 90px;
position: relative;
top: -20px;
}
.demo-image__preview {
.el-image,
img {
width: 40px;
height: 40px;
}
}
</style>