From b29d7b6bbe8256d5e95fb878adf06ffa9abb449a Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 09 二月 2026 10:29:00 +0800
Subject: [PATCH] 新增退款
---
admin/src/views/business/orders.vue | 48 ++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 40 insertions(+), 8 deletions(-)
diff --git a/admin/src/views/business/orders.vue b/admin/src/views/business/orders.vue
index a41d8d1..e505679 100644
--- a/admin/src/views/business/orders.vue
+++ b/admin/src/views/business/orders.vue
@@ -84,23 +84,28 @@
<span v-if="row.type==1">寤舵湡娆�</span>
</template>
</el-table-column>
- <el-table-column prop="remark" label="璁㈠崟澶囨敞" width="100px" ></el-table-column>
+ <el-table-column prop="money" label="宸查��娆鹃噾棰濓紙鍏冿級" min-width="150px">
+ <template slot-scope="{row}">
+ <span class="red">{{((row.refundMoney || 0)/100).toFixed(2)}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="remark" label="璁㈠崟澶囨敞" width="200px" ></el-table-column>
<el-table-column prop="userRealname" label="鏀舵浜哄鍚�" width="100px" ></el-table-column>
<el-table-column prop="username" label="璐熻矗浜鸿处鍙�" width="120px" ></el-table-column>
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="150px"></el-table-column>
<el-table-column prop="payDate" label="浠樻鏃堕棿" min-width="150px"></el-table-column>
<el-table-column prop="cancelDate" label="鍙栨秷鏃堕棿" min-width="150px"></el-table-column>
-<!-- <el-table-column
+ <el-table-column
label="鎿嶄綔"
align="center"
- min-width="150"
+ min-width="180"
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" class="redstate" @click="cancelDo(row)" v-if="row.status!=5 && row.status!=4&& row.status!=99" icon="el-icon-delete" v-permissions="['business:orders:update']">鍙栨秷</el-button>
- <el-button type="text" @click="openDetail( row)" icon="el-icon-info" >璇︽儏</el-button>
+ <el-button type="text" v-if="row.status==1&&(row.money-(row.refundMoney||0)) >=1" @click="sendRefund(row)" icon="el-icon-edit" v-permissions="['business:refund:create']">閫�娆�</el-button>
+ <el-button type="text" @click="payStatus(row)" icon="el-icon-refresh" v-permissions="['business:orders:update']">鍚屾鐘舵��</el-button>
</template>
- </el-table-column>-->
+ </el-table-column>
</el-table>
<pagination
@size-change="handleSizeChange"
@@ -111,6 +116,7 @@
</template>
<!-- 鏂板缓/淇敼 -->
<OperaOrderDetailWindow ref="OperaOrderDetailWindow" @success="handlePageChange"/>
+ <OperaRefundWindow ref="OperaRefundWindow" @success="handlePageChange"/>
</TableLayout>
</template>
@@ -119,11 +125,12 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaOrderDetailWindow from '@/components/business/OperaOrderDetailWindow'
+import OperaRefundWindow from '@/components/business/OperaRefundWindow'
import { cancel } from '@/api/business/orders'
export default {
name: 'Orders',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaOrderDetailWindow },
+ components: { TableLayout, Pagination, OperaOrderDetailWindow, OperaRefundWindow },
data () {
return {
// 鎼滅储
@@ -132,7 +139,7 @@
status: null,
type: null,
starttime: null,
- endTime: null,
+ endtime: null,
username: null,
userRealName: null,
name: null,
@@ -169,6 +176,31 @@
this.dealing = false
})
})
+ },
+ sendRefund (row) {
+ var balance = row.money - (row.refundMoney || 0)
+ if (balance < 1) {
+ this.$message.error('璇ヨ鍗曞凡鏃犲彲閫�娆句綑棰�')
+ return
+ }
+ this.$refs.OperaRefundWindow.open('鍙戣捣閫�娆�', { orderId: row.id, balance: balance ,order:row})
+ },
+ payStatus (row) {
+ this.$dialog.actionConfirm('鎮ㄧ‘璁ゃ�愬悓姝ャ�戣璁㈠崟鏈�鏂扮姸鎬佸悧锛�', '鎿嶄綔纭')
+ .then(() => {
+ this.dealing = true
+ this.api.updateByPayStatus({ id: row.id })
+ .then(res => {
+ this.$tip.apiSuccess('鎿嶄綔鎴愬姛')
+ this.search()
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.dealing = false
+ })
+ })
}
}
}
--
Gitblit v1.9.3