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

4
src/api/index.js

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

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

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