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