wangfukang 3 weeks ago
parent
commit
3642feb846
  1. 4
      src/api/index.js
  2. 54
      src/views/sys/order-manage/logisticsAddress.vue

4
src/api/index.js

@ -799,6 +799,10 @@ export const saveIeAuditSetting = (params) => {
export const returnOrder = (params) => {
return postRequest('/mall/order/cancel', params)
}
// 管理后台强制退款
export const adminForceRefundOrder = (params) => {
return postRequest('/mall/order/adminForceRefund', params)
}
//同意/拒绝退款售后
export const returnOrNoOrder = (params) => {
return postBodyRequest('/mall/refund/allowOrReject', params)

54
src/views/sys/order-manage/logisticsAddress.vue

@ -87,8 +87,8 @@
</div>
<div v-if="orderData.status !=7 && orderData.status != 11" style="background: #fff;padding: 10px;border-radius: 10px;">
<div class="title">运营订单备注</div>
<textarea name="" id="" cols="30" rows="10" style="width: 100%;border: 1px solid #eee;"></textarea>
<div class='btn' @click="returnOrder">退款</div>
<textarea v-model="refundReason" name="" id="" cols="30" rows="10" style="width: 100%;border: 1px solid #eee;"></textarea>
<div v-if="canAdminRefundOrder()" class='btn' @click="adminRefundOrder">{{ refundLoading ? "退款中" : "退款" }}</div>
</div>
</div>
</div>
@ -97,9 +97,9 @@
<script>
import {
returnOrder,
getOrderDetail,
returnOrNoOrder
returnOrNoOrder,
adminForceRefundOrder
} from "@/api/index";
import {
getByShopId
@ -109,7 +109,9 @@
data() {
return {
orderData: {},
returnFormData:{}
returnFormData:{},
refundReason: "",
refundLoading: false
};
},
filters: {
@ -127,6 +129,7 @@
},
methods: {
initRecharge(data) {
this.refundReason = "";
if(data.status == 7 || data.status == 11){
this.orderData = data
this.orderData.goodsList = this.orderData.items
@ -242,22 +245,33 @@
return diffMinutes;
},
returnOrder(){
let returnFormData = {}
this.returnFormData.status = 4
this.returnFormData.id = this.orderData.id;
this.returnFormData.regionId = JSON.parse(this.getStore("user")).departmentId;
this.returnFormData.orderId = this.orderData.orderId;
this.returnFormData.deliveryType = this.orderData.deliveryType;
this.returnFormData.orderType = this.orderData.orderType;
this.returnFormData.refundAmount = this.orderData.refundAmount;
this.returnFormData.refundType = this.orderData.refundType;
this.returnFormData.refundTypeStatus = this.orderData.refundTypeStatus;
returnOrNoOrder(this.returnFormData).then((res) => {
this.loading = false;
canAdminRefundOrder() {
return this.orderData.status != 6 && this.orderData.status != 8 && this.orderData.status != 12;
},
adminRefundOrder() {
if (this.refundLoading || !this.orderData.id) return;
this.$Modal.confirm({
title: "提示",
content: "确定要直接退款给用户吗?该操作会同步更新订单、配送单、拼团单和相关缓存。",
onOk: () => {
this.refundLoading = true;
adminForceRefundOrder({
orderId: this.orderData.id,
refundType: 3,
refundTypeStatus: 4,
reason: this.refundReason || "后台管理直接退款"
}).then((res) => {
this.refundLoading = false;
if (res.success) {
this.$Message.success("取消订单成功");
this.$Message.success(res.message || "退款成功");
this.$emit('closePage');
} else {
this.$Message.error(res.message || "退款失败");
}
}).catch((err) => {
this.refundLoading = false;
this.$Message.error((err && err.message) || "退款失败");
});
}
});
}

Loading…
Cancel
Save