From 511ce651667f5b2284247cc60599078b86f7963f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 23 一月 2026 13:48:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/src/components/business/OperaGoodsOrderDetail.vue |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/admin/src/components/business/OperaGoodsOrderDetail.vue b/admin/src/components/business/OperaGoodsOrderDetail.vue
index 76c4f46..dc6a2ac 100644
--- a/admin/src/components/business/OperaGoodsOrderDetail.vue
+++ b/admin/src/components/business/OperaGoodsOrderDetail.vue
@@ -14,8 +14,8 @@
           <div  v-if="info.status ==4"   class="header-grey">宸插叧闂�</div>
           <div  v-if="info.status ==6"   class="header-grey">宸查��娆�</div>
           <div style="text-align: right;">
-            <div class="header-red-btn" v-if="info.status == 0" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', info)">鍙栨秷璁㈠崟</div>
-            <div class="header-red-btn" v-if="info.status == 3" @click="$refs.OperaOrderCancelWindow.open('璁㈠崟閫�娆�', info)">璁㈠崟閫�娆�</div>
+            <div class="header-red-btn" v-if="info.status == 0 || info.status == 1" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', info)">鍙栨秷璁㈠崟</div>
+            <div class="header-red-btn" v-if="info.status == 3" @click="$refs.OperaOrderRefundWindow.open('璁㈠崟閫�娆�', info)">璁㈠崟閫�娆�</div>
             <div class="header-blue-btn" @click="showChangeRecord">鍙樻洿璁板綍</div>
           </div>
       </div>
@@ -94,7 +94,7 @@
         </div>
         <div class="info-item"  >
           <div class="info-item-a">鍙栨秷鏃堕棿锛�<span >{{info.cancelDate}}</span></div>
-          <div class="info-item-a">鍙栨秷浜哄憳锛�<span>{{info.cancelUserName }}</span></div>
+          <div class="info-item-a">鍙栨秷浜哄憳锛�<span>{{info.cancelUser !=null?info.cancelUserName:'鐢ㄦ埛涓诲姩鍙栨秷'}}</span></div>
           <div class="info-item-a">鍙栨秷璇存槑锛�<span>{{info.cancelInfo }}</span></div>
         </div>
         <div class="info-item"></div>
@@ -121,20 +121,47 @@
           <el-table-column prop="name" label="鍟嗗搧鍚嶇О"   align="center" min-width="150px">  </el-table-column>
           <el-table-column prop="categoryName" label="鍟嗗搧鍒嗙被"   align="center" min-width="150px">  </el-table-column>
           <el-table-column prop="goodsWeight" label="閲嶉噺(kg)" align="center" min-width="150px"></el-table-column>
-          <el-table-column prop="price" label="閿�鍞环(鍏�)" align="center" min-width="100px"></el-table-column>
+          <el-table-column prop="price" label="閿�鍞环(鍏�)" align="center" min-width="100px">
+            <template slot-scope="{row}">
+              <span>锟{(row.price || 0).toFixed(2)}}</span>
+            </template>
+          </el-table-column>
           <el-table-column prop="goodsNum" label="鏁伴噺" align="center" min-width="150px"></el-table-column>
-          <el-table-column prop="totalPrice" label="灏忚" align="center" min-width="150px"></el-table-column>
+          <el-table-column prop="totalPrice" label="灏忚(鍏�)" align="center" min-width="150px">
+            <template slot-scope="{row}">
+              <span class="orange">锟{(row.totalPrice || 0).toFixed(2)}}</span>
+            </template>
+          </el-table-column>
         </el-table>
       </div>
       <div class="info-item"  >
         <div class="info-item-a">鍟嗗搧鎬讳环锛�<span> 锟{((info.totalPrice||0)-(info.mailPrice || 0)).toFixed(2)}}</span></div>
         <div class="info-item-a">蹇�掕垂锛�<span>锟{(info.mailPrice||0).toFixed(2)}}</span></div>
-        <div class="info-item-a">璁㈠崟鎬讳环锛�<span > 锟{(info.totalPrice||0).toFixed(2)}}</span></div>
+        <div class="info-item-a">璁㈠崟鎬讳环锛�<span> 锟{(info.totalPrice||0).toFixed(2)}}</span></div>
       </div>
       <div class="info-item"  >
         <div class="info-item-a">浼樻儬鍏卞噺锛�<span> -锟{((info.integral||0) + (info.couponPrice||0)).toFixed(2) }}</span>
-          <span style="margin-left: 20px;" >
-           <el-button  type="text" @click="showCouponPrice">鏌ョ湅</el-button>
+          <span  v-if="((info.integral||0) + (info.couponPrice||0)).toFixed(2)>0">
+            <el-popover
+                style="margin-left: 20px;"
+                placement="right-start"
+                width="360px"
+                @show="visible2=true"
+                @hide="visible2=false"
+                trigger="click" >
+                <div style="margin-top: 10px;font-size: 12px;">
+                  <div style="margin-bottom: 20px;font-weight: 600;"> 浼樻儬鍏卞噺锛�<span class="red"> -锟{((info.integral||0) + (info.couponPrice||0)).toFixed(2) }}</span></div>
+                  <div style="margin-bottom: 10px;display: flex;align-items: baseline;" v-if="(info.integral||0)>0">
+                    <span  style="border-left: 3px solid red;font-size: 10px;margin-right: 10px;height: 10px;"></span>
+                    绉垎鎶垫墸锛�-锟{(info.integral||0).toFixed(2) +'  '}}浣跨敤{{(info.useIntegral||0)}}绉垎鎶垫墸锟{(info.integral||0).toFixed(2) +'  '}}鍏�
+                  </div>
+                  <div  style="margin-bottom: 10px;display: flex;align-items: baseline;" v-if="(info.couponPrice||0)>0">
+                     <span  style="border-left: 3px solid red;font-size: 10px;margin-right: 10px;height: 10px;"></span>
+                   {{' 浼�  鎯�  鍒� '}}锛歿{'  '}}-锟{(info.couponPrice||0).toFixed(2) +'  '}}浣跨敤{{info.couponName}}
+                  </div>
+                </div>
+                <el-button  slot="reference"  type="text">{{visible2?'鏀惰捣':'鏌ョ湅'}}</el-button>
+              </el-popover>
         </span>
         </div>
       </div>
@@ -150,6 +177,7 @@
     <OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
     <OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="successBiz"/>
     <OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="successBiz"/>
+    <OperaOrderRefundWindow ref="OperaOrderRefundWindow" @success="successBiz"/>
   </GlobalWindow>
 </template>
 
@@ -161,13 +189,15 @@
 import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
 import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
 import OperaShipmentsWindow from '@/components/business/OperaShipmentsWindow'
+import OperaOrderRefundWindow from '@/components/business/OperaOrderRefundWindow'
 export default {
   name: 'OperaShopGoodsWindow',
   extends: BaseOpera,
-  components: { GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow,OperaOrderMarkWindow,OperaShipmentsWindow ,OperaOrderCancelWindow},
+  components: { OperaOrderRefundWindow, GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow, OperaOrderMarkWindow, OperaShipmentsWindow, OperaOrderCancelWindow },
   data () {
     return {
       title: '',
+      visible2: false,
       visible: false,
       tabelHeight: null,
       info: {},
@@ -192,7 +222,7 @@
       this.loadInfo()
       this.$emit('success')
     },
-    showCouponPrice(){
+    showCouponPrice () {
 
     },
     loadInfo () {
@@ -286,7 +316,7 @@
 
 }
 .info-item-a span{
-  font-weight: 600;
+  //font-weight: 500;
 }
 .info-item-a  .btn{
   font-size: 12px !important;

--
Gitblit v1.9.3