From b05fea19990632b2ec6320cbfaab2bddc87006c0 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 22 一月 2026 21:17:36 +0800
Subject: [PATCH] 经销商管理

---
 admin/src/components/business/OperaMemberDetail.vue                                             |    4 
 admin/src/components/business/OperaShopInfoWindow.vue                                           |   14 +-
 admin/src/components/business/OperaOrderMarkWindow.vue                                          |    4 
 admin/src/components/business/OperaWithdrawRecordWindow.vue                                     |   12 +-
 admin/src/views/business/goodsorder.vue                                                         |   22 ++--
 admin/src/assets/style/style.scss                                                               |    4 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java               |    8 +
 admin/src/components/business/OperaChangeOrderRecordWindow.vue                                  |    1 
 server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderDetail.java         |    3 
 admin/src/components/business/OperaGoodsOrderDetail.vue                                         |  115 +++++++++++++++++++++--
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java |   15 +-
 admin/src/api/business/goodsorder.js                                                            |    3 
 admin/src/components/business/OperaOrderCancelWindow.vue                                        |   85 +++++++++++++++++
 admin/src/components/business/OperaShipmentsWindow.vue                                          |    2 
 14 files changed, 245 insertions(+), 47 deletions(-)

diff --git a/admin/src/api/business/goodsorder.js b/admin/src/api/business/goodsorder.js
index 6cb645f..fc48acd 100644
--- a/admin/src/api/business/goodsorder.js
+++ b/admin/src/api/business/goodsorder.js
@@ -34,6 +34,9 @@
 export function orderRemark (data) {
   return request.post('/business/goodsorder/orderRemark', data)
 }
+export function orderPlanCancelOrder (data) {
+  return request.post('/business/goodsorder/orderPlanCancelOrder', data)
+}
 export function orderSendOutGoods (data) {
   return request.post('/business/goodsorder/orderSendOutGoods', data)
 }
diff --git a/admin/src/assets/style/style.scss b/admin/src/assets/style/style.scss
index b83ba28..686a3d8 100644
--- a/admin/src/assets/style/style.scss
+++ b/admin/src/assets/style/style.scss
@@ -118,3 +118,7 @@
     top: 1px;
   }
 }
+.detail-box{
+  display: block;
+  margin: 20px;
+}
diff --git a/admin/src/components/business/OperaChangeOrderRecordWindow.vue b/admin/src/components/business/OperaChangeOrderRecordWindow.vue
index 0a7a6a4..87ed49d 100644
--- a/admin/src/components/business/OperaChangeOrderRecordWindow.vue
+++ b/admin/src/components/business/OperaChangeOrderRecordWindow.vue
@@ -70,6 +70,7 @@
       this.title = title
       this.visible = true
       this.searchForm.memberId = goods.id
+      this.tableData.list =[]
       this.search()
     }
   }
diff --git a/admin/src/components/business/OperaGoodsOrderDetail.vue b/admin/src/components/business/OperaGoodsOrderDetail.vue
index d5580ef..76c4f46 100644
--- a/admin/src/components/business/OperaGoodsOrderDetail.vue
+++ b/admin/src/components/business/OperaGoodsOrderDetail.vue
@@ -4,7 +4,7 @@
       width="100%"
       :visible.sync="visible"
   >
-    <div style="display: block">
+    <div class="detail-box">
       <div class="header">
         <div  class="header-b">璁㈠崟璇︽儏</div>
           <div v-if="info.status ==0"  class="header-orange">寰呮敮浠�</div>
@@ -13,7 +13,11 @@
           <span  v-if="info.status ==3"   class="header-grey ">浜ゆ槗瀹屾垚</span>
           <div  v-if="info.status ==4"   class="header-grey">宸插叧闂�</div>
           <div  v-if="info.status ==6"   class="header-grey">宸查��娆�</div>
-           <div class="header-blue-btn" @click="showChangeRecord">鍙樻洿璁板綍</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-blue-btn" @click="showChangeRecord">鍙樻洿璁板綍</div>
+          </div>
       </div>
       <div class="info-item">
         <div class="info-item-a">璁㈠崟缂栧彿锛�<span>{{info.code}}</span></div>
@@ -30,7 +34,11 @@
         <div class="info-item-a" style="flex: 3">褰掑睘缁忛攢鍟嗭細<span >{{ info.shopName }}</span></div>
       </div>
       <div class="info-item">
-        <div class="info-item-a" style="flex: 3">澶囨敞锛�<span v-if="info.sysInfo" class="red">{{info.sysInfo}}</span></div>
+        <div class="info-item-a" style="flex: 3">澶囨敞锛�<span v-if="info.sysInfo" class="red">{{info.sysInfo}}</span>
+        <span style="margin-left: 20px;" >
+           <el-button  type="text" @click="$refs.operaOrderMarkWindow.open(info.sysInfo && info.sysInfo.length?'缂栬緫澶囨敞':'娣诲姞澶囨敞', info)">
+              {{ info.sysInfo && info.sysInfo.length?'淇敼澶囨敞':'娣诲姞澶囨敞' }}</el-button>
+        </span></div>
       </div>
       <div class="info-item"></div>
       <div class="header">
@@ -45,6 +53,8 @@
       <template  v-if="info.receiveType!=1">
         <div class="header">
           <div  class="header-b">蹇�掍俊鎭�</div>
+          <div class="header-blue-btn" v-if="info.status==1 && info.receiveType!=1"  @click="$refs.operaShipmentsWindow.open('鍙戣揣',info)">鍙戣揣</div>
+          <div class="header-blue-btn" v-if="info.status==2 && info.receiveType!=1"  @click="$refs.operaShipmentsWindow.open('蹇�掑彉鏇�',info)">蹇�掑彉鏇�</div>
         </div>
         <div class="info-item"  >
           <div class="info-item-a">鏀惰揣浜猴細<span class="el-icon-user">{{info.linkname}}</span></div>
@@ -57,18 +67,89 @@
           <div class="info-item-a"  >鍙戣揣浜猴細<span>{{info.kdUserName }}</span></div>
         </div>
         <div class="info-item"  >
-          <div class="info-item-a">鍙戣揣鏃堕棿锛�<span  >{{info.kdDate }}</span></div>
-          <div class="info-item-a" style="flex: 2">蹇�掑娉細<span>{{info.kdInfo }}</span></div>
+          <div class="info-item-a">鍙戣揣鏃堕棿锛�<span>{{info.kdDate }}</span></div>
+          <div class="info-item-a" style="flex: 2;">蹇�掑娉細<span>{{info.kdInfo }}</span></div>
         </div>
         <div class="info-item"></div>
       </template>
-
+      <template  v-if="info.status ==6">
+        <div class="header">
+          <div  class="header-b">閫�娆句俊鎭�</div>
+          <div class="header-blue-btn" v-if="info.status==1 && info.receiveType!=1"  @click="$refs.operaShipmentsWindow.open('鍙戣揣',info)">鍙戣揣</div>
+          <div class="header-blue-btn" v-if="info.status==2 && info.receiveType!=1"  @click="$refs.operaShipmentsWindow.open('蹇�掑彉鏇�',info)">蹇�掑彉鏇�</div>
+        </div>
+        <div class="info-item"  >
+          <div class="info-item-a">閫�娆鹃噾棰濓細<span class="orange">锟{(info.refundMoney||0).toFixed(2)}}</span></div>
+          <div class="info-item-a"  >鎿嶄綔浜猴細<span>{{info.refundUserName }}</span></div>
+          <div class="info-item-a"  >閫�娆炬椂闂达細<span>{{info.refundTime }}</span></div>
+        </div>
+        <div class="info-item"  >
+          <div class="info-item-a" >閫�娆惧娉細<span>{{info.kdInfo }}</span></div>
+        </div>
+        <div class="info-item"></div>
+      </template>
+      <template  v-if="info.status == 4">
+        <div class="header">
+          <div  class="header-b">鍙栨秷淇℃伅</div>
+        </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.cancelInfo }}</span></div>
+        </div>
+        <div class="info-item"></div>
+      </template>
+       <div class="header">
+          <div  class="header-b">杩旂Н鍒嗕俊鎭�</div>
+        </div>
+        <div class="info-item"  >
+          <div class="info-item-a">杩旇繕鐢ㄦ埛绉垎锛�<span class="orange"> {{(info.returnMemberIntegral||0)}}</span></div>
+          <div class="info-item-a">杩旇繕缁忛攢鍟嗙Н鍒嗭細<span class="orange">{{info.returnCustomerIntegral || 0 }}</span></div>
+          <div class="info-item-a"></div>
+        </div>
+        <div class="info-item"></div>
+      <div class="header">
+        <div  class="header-b">鍟嗗搧淇℃伅</div>
+      </div>
+      <div class="info-item"  >
+        <el-table  :data="info.goodsorderDetailList||[]"  stripe  border >
+          <el-table-column prop="imgurl" label="鍟嗗搧鍥�" min-width="80px" align="center">
+            <template slot-scope="{row}">
+              <el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.imgurl" :preview-src-list="[row.imgurl]"></el-image>
+            </template>
+          </el-table-column>
+          <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="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>
+      </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>
+      <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>
+        </div>
+      </div>
+      <div class="info-item"  >
+        <div class="info-item-a">瀹炰粯閲戦锛�<span class="red"> 锟{(info.price||0).toFixed(2)}}</span></div>
+      </div>
     </div>
     <template  v-slot:footer>
       <el-button @click="visible=false">杩斿洖</el-button>
     </template>
     <OperaChangeOrderRecordWindow ref="OperaChangeOrderRecordWindow"/>
+    <OperaShipmentsWindow ref="operaShipmentsWindow" @success="successBiz"/>
     <OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
+    <OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="successBiz"/>
+    <OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="successBiz"/>
   </GlobalWindow>
 </template>
 
@@ -77,10 +158,13 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import OperaChangeOrderRecordWindow from '@/components/business/OperaChangeOrderRecordWindow'
 import OperaChangeIntegralWindow from '@/components/business/OperaChangeIntegralWindow'
+import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
+import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
+import OperaShipmentsWindow from '@/components/business/OperaShipmentsWindow'
 export default {
   name: 'OperaShopGoodsWindow',
   extends: BaseOpera,
-  components: { GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow },
+  components: { GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow,OperaOrderMarkWindow,OperaShipmentsWindow ,OperaOrderCancelWindow},
   data () {
     return {
       title: '',
@@ -95,7 +179,6 @@
       }
     }
   },
-
   created () {
     this.config({
       module: '鐢ㄦ埛淇℃伅琛�',
@@ -106,9 +189,11 @@
   },
   methods: {
     successBiz () {
-      this.handlePageChange()
       this.loadInfo()
       this.$emit('success')
+    },
+    showCouponPrice(){
+
     },
     loadInfo () {
       this.api.detail(this.info.id).then(res => {
@@ -146,11 +231,21 @@
   font-size: 16px;
   font-weight: bold;
 }
+.header-red-btn{
+  display: inline-block;
+  font-size: 12px;
+  background-color:  red;
+  padding: 2px 10px 3px 10px;
+  margin-left: 20px;
+  color: white;
+  cursor: pointer;
+  border-radius: 5px ;
+}
 .header-blue-btn{
   display: inline-block;
   font-size: 12px;
   background-color:  #216EEE;
-  padding: 2px 10px;
+  padding: 2px 10px 3px 10px;
   margin-left: 20px;
   color: white;
   cursor: pointer;
diff --git a/admin/src/components/business/OperaMemberDetail.vue b/admin/src/components/business/OperaMemberDetail.vue
index 33dbd37..5ce1404 100644
--- a/admin/src/components/business/OperaMemberDetail.vue
+++ b/admin/src/components/business/OperaMemberDetail.vue
@@ -4,7 +4,7 @@
       width="100%"
       :visible.sync="visible"
   >
-    <div style="display: block">
+    <div  class="detail-box">
       <div class="header">
         <div  class="header-b">鐢ㄦ埛淇℃伅</div>
         <div v-if="info.phone!=null && info.phone!=''" class="header-blue">宸叉巿鏉冩墜鏈哄彿</div>
@@ -21,7 +21,7 @@
       </div>
       <div class="info-item"></div>
     </div>
-    <div style="display: block;margin-bottom: 50px;">
+    <div class="detail-box" style="margin-bottom: 50px;">
       <div class="header">
         <div  class="header-b">绉垎鏄庣粏</div>
         <div   class="header-btn">
diff --git a/admin/src/components/business/OperaOrderCancelWindow.vue b/admin/src/components/business/OperaOrderCancelWindow.vue
new file mode 100644
index 0000000..db44db8
--- /dev/null
+++ b/admin/src/components/business/OperaOrderCancelWindow.vue
@@ -0,0 +1,85 @@
+<template>
+  <GlobalAlertWindow
+    v-loading="isUploading"
+    :title="title"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" label-width="120px" label-suffix="锛�"  :rules="rules" inline>
+      <p class="tip-warn" style="margin: 30px;">
+        <i class="el-icon-warning"></i>
+        鎿嶄綔璇存槑锛氭偍姝e湪鍙栨秷璁㈠崟<span class="red">{{ form.code }} </span>锛岃璋ㄦ厧鎿嶄綔锛侊紒</p>
+      <el-form-item label="澶囨敞" prop="cancelInfo">
+        <el-input type="textarea" :autosize="{ minRows: 4, maxRows:4 }" v-model="form.cancelInfo" placeholder="璇疯緭鍏ュ彇娑堣鏄�" :maxlength="50" v-trim/>
+      </el-form-item>
+
+    </el-form>
+  </GlobalAlertWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
+export default {
+  name: 'OperaOrderCancelWindow',
+  extends: BaseOpera,
+  components: { GlobalAlertWindow },
+  data () {
+    return {
+      isUploading: false,
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        cancelInfo: '',
+        code: null
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        cancelInfo: [
+          { required: false, message: '璇疯緭鍏ュ娉ㄤ俊鎭�', tigger: 'blur' }
+        ]
+      }
+    }
+  },
+
+  created () {
+    this.config({
+      api: '/business/goodsorder',
+      'field.id': 'id'
+    })
+  },
+  methods: {
+    confirm () {
+      this.$refs.form.validate((valid) => {
+        if (!valid) {
+          return
+        }
+        this.$dialog.messageWaring(`纭畾鍙栨秷璁㈠崟锛�${this.form.code}锛焋)
+          .then(() => {
+            this.isWorking = true
+            this.api.orderPlanCancelOrder(this.form)
+              .then(() => {
+                this.visible = false
+                this.$tip.apiSuccess('鍙栨秷鎴愬姛')
+                this.$emit('success')
+              }).catch(e => {
+                this.$tip.apiFailed(e)
+              })
+              .finally(() => {
+                this.isWorking = false
+              })
+          })
+
+        // 璋冪敤鏂板缓鎺ュ彛
+      })
+    }
+  }
+
+}
+</script>
+
+<style lang="scss" scoped>
+@import "@/assets/style/alertstyle.scss";
+
+</style>
diff --git a/admin/src/components/business/OperaOrderMarkWindow.vue b/admin/src/components/business/OperaOrderMarkWindow.vue
index 2d5691f..d91aab8 100644
--- a/admin/src/components/business/OperaOrderMarkWindow.vue
+++ b/admin/src/components/business/OperaOrderMarkWindow.vue
@@ -8,7 +8,7 @@
   >
     <el-form :model="form" ref="form" label-width="120px" label-suffix="锛�"  :rules="rules" inline>
       <el-form-item label="澶囨敞" prop="sysInfo">
-        <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 12}" v-model="form.sysInfo" placeholder="璇疯緭鍏ュ娉�" :maxlength="50" v-trim/>
+        <el-input type="textarea" :autosize="{ minRows: 4, maxRows:4 }" v-model="form.sysInfo" placeholder="璇疯緭鍏ュ娉�" :maxlength="50" v-trim/>
       </el-form-item>
 
     </el-form>
@@ -55,7 +55,7 @@
         this.api.orderRemark(this.form)
           .then(() => {
             this.visible = false
-            this.$tip.apiSuccess('鍙戣揣鎴愬姛')
+            this.$tip.apiSuccess('娣诲姞鎴愬姛')
             this.$emit('success')
           }).catch(e => {
             this.$tip.apiFailed(e)
diff --git a/admin/src/components/business/OperaShipmentsWindow.vue b/admin/src/components/business/OperaShipmentsWindow.vue
index fa018c0..ff11517 100644
--- a/admin/src/components/business/OperaShipmentsWindow.vue
+++ b/admin/src/components/business/OperaShipmentsWindow.vue
@@ -22,7 +22,7 @@
         <el-input v-model="form.kdCode" placeholder="璇疯緭鍏ュ揩閫掑崟鍙�"   v-trim/>
       </el-form-item>
       <el-form-item label="鍙戣揣澶囨敞" prop="kdInfo">
-        <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 12}" v-model="form.kdInfo" placeholder="璇疯緭鍏ュ彂璐у娉�"   v-trim/>
+        <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 4}" v-model="form.kdInfo" placeholder="璇疯緭鍏ュ彂璐у娉�"   v-trim/>
       </el-form-item>
 
     </el-form>
diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 05c8b55..4c37612 100644
--- a/admin/src/components/business/OperaShopInfoWindow.vue
+++ b/admin/src/components/business/OperaShopInfoWindow.vue
@@ -4,7 +4,7 @@
       width="100%"
       :visible.sync="visible"
   >
-    <div style="display: block;">
+    <div class="detail-box">
       <div class="platgroup_tabs">
         <div class="tab" :class="{ active: activeGroup === item.id }" @click="groupClick(item)"
              v-for="(item, i) in groupList" :key="i">
@@ -13,7 +13,7 @@
       </div>
     </div>
     <template v-if="activeGroup ==0">
-      <div style="display: block;">
+      <div class="detail-box">
         <div class="header">
           <div  class="header-b">鍩烘湰淇℃伅</div>
           <div v-if="info.status !=1" class="header-green">姝e父</div>
@@ -48,7 +48,7 @@
         </div>
         <div class="info-item"></div>
       </div>
-      <div style="display: block">
+      <div class="detail-box">
         <div class="header">
           <div  class="header-b">璧勮川淇℃伅</div>
         </div>
@@ -79,7 +79,7 @@
         </div>
         <div class="info-item"></div>
       </div>
-      <div style="display: block;margin-bottom: 50px;">
+      <div class="detail-box" style="display: block;margin-bottom: 50px;">
         <div class="header">
           <div  class="header-b">閿�鍞ā寮忓彉鏇磋褰�</div>
         </div>
@@ -110,7 +110,7 @@
       </div>
     </template>
     <template v-else-if="activeGroup == 1">
-      <div style="display: block;">
+      <div class="detail-box">
         <el-form ref="searchForm1"   :model="searchForm1"    style="display: block;" >
           <el-form-item label="" prop="code" style="display: inline-block;margin-right: 30px;">
             <el-input v-model="searchForm1.code" placeholder="璇疯緭鍏ヨ鍗曞彿" @keypress.enter.native="handlePageChange1(1)"></el-input>
@@ -221,13 +221,15 @@
       </div>
     </template>
     <template v-else-if="activeGroup == 2">
-      <div style="display: block;margin-bottom: 50px;">
+      <div  class="detail-box">
         <div class="header">
           <div  class="header-b">绉垎鏄庣粏</div>
           <div  class="header-btn">
             <el-button style="display: inline" type="primary" @click="changeIntegral">绉垎璋冩暣</el-button>
           </div>
         </div>
+        </div>
+      <div style="display: block;margin-bottom: 50px;">
         <TableLayout >
           <!-- 琛ㄦ牸鍜屽垎椤� -->
           <template v-slot:table-wrap>
diff --git a/admin/src/components/business/OperaWithdrawRecordWindow.vue b/admin/src/components/business/OperaWithdrawRecordWindow.vue
index cbf76e4..508e13e 100644
--- a/admin/src/components/business/OperaWithdrawRecordWindow.vue
+++ b/admin/src/components/business/OperaWithdrawRecordWindow.vue
@@ -4,7 +4,7 @@
       width="100%"
       :visible.sync="visible"
   >
-      <div style="display: block;">
+      <div class="detail-box">
         <div class="header">
           <div  class="header-b">鍩烘湰淇℃伅</div>
           <div v-if="form.status ==0" class="header-orange">寰呭鎵�</div>
@@ -18,7 +18,7 @@
         </div>
         <div class="info-item"></div>
       </div>
-      <div style="display: block;">
+      <div class="detail-box">
         <div class="header">
           <div  class="header-b">鎻愮幇淇℃伅</div>
         </div>
@@ -28,13 +28,13 @@
           <div class="info-item-a"> </div>
         </div>
         <div class="info-item">
-          <div class="info-item-a">鎴峰悕锛�<span class="orange">{{ form.name||'' }}</span> </div>
-          <div class="info-item-a">璐﹀彿锛�<span class="orange">{{ form.bankAccount||'' }}</span> </div>
-          <div class="info-item-a">閾惰锛�<span class="orange">{{ form.bankName||'' }}</span> </div>
+          <div class="info-item-a">鎴峰悕锛�<span  >{{ form.name||'' }}</span> </div>
+          <div class="info-item-a">璐﹀彿锛�<span  >{{ form.bankAccount||'' }}</span> </div>
+          <div class="info-item-a">閾惰锛�<span  >{{ form.bankName||'' }}</span> </div>
         </div>
         <div class="info-item"></div>
       </div>
-      <div style="display: block">
+      <div class="detail-box">
         <div class="header">
           <div  class="header-b">瀹℃牳娴佺▼</div>
         </div>
diff --git a/admin/src/views/business/goodsorder.vue b/admin/src/views/business/goodsorder.vue
index ac49b58..3e5f518 100644
--- a/admin/src/views/business/goodsorder.vue
+++ b/admin/src/views/business/goodsorder.vue
@@ -107,8 +107,8 @@
             <div class="mark" v-if="item.sysInfo&& item.sysInfo.length" >澶囨敞锛歿{item.sysInfo}}</div>
           </div>
           <div class="member-message right-border">
-            <div class="el-icon-user" style="padding: 5px 5px;">{{ item.linkname }}</div>
-            <div class="el-icon-phone-outline" style="padding: 10px 5px;color: #777;font-size: 13px;">{{ item.linkphone }}</div>
+            <div class="el-icon-user" style="padding: 5px 5px;width: 100%;">{{ item.linkname }}</div>
+            <div class="el-icon-phone-outline" style="padding: 10px 5px;width: 100%;color: #777;font-size: 13px;">{{ item.linkphone }}</div>
           </div>
           <div class="address-message right-border right-border" style="padding-top: 15px;" >
             <div class="underway el-icon-sell" >{{item.receiveType==1?'鍒板簵鑷彁':'蹇�掗厤閫�'}} </div>
@@ -116,7 +116,7 @@
           </div>
           <div class="price-message right-border">
             <div class="underway" >璁㈠崟鎬讳环锛氾骏{{ (item.totalPrice||0).toFixed(2) }}</div>
-            <div class="price-info">鍟嗗搧鎬讳环锛氾骏{{  ((item.totalPrice||0)-(item.price || 0)).toFixed(2)}}</div>
+            <div class="price-info">鍟嗗搧鎬讳环锛氾骏{{  ((item.totalPrice||0)-(item.mailPrice || 0)).toFixed(2)}}</div>
             <div class="price-info">鐗╂祦杩愯垂锛氾骏{{  (item.mailPrice || 0).toFixed(2)}}</div>
             <div class="price-info">绉垎鎶垫墸锛�-锟{  (item.integral || 0 ).toFixed(2)}}</div>
             <div class="price-info">浼樻儬閲戦锛�-锟{  (item.couponPrice).toFixed(2) }}</div>
@@ -125,7 +125,7 @@
           <div class="action">
             <el-button v-if="item.status==1 && item.receiveType!=1" style=" width: 80%;" type="primary" @click="$refs.operaShipmentsWindow.open('鍙戣揣', item)">鍙戣揣</el-button>
             <div></div>
-            <el-button v-if="item.status == 0" style="color: red; "  type="text" @click="cancelOrder(item)">鍙栨秷璁㈠崟</el-button>
+            <el-button v-if="item.status == 0" style="color: red; "  type="text" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', item)">鍙栨秷璁㈠崟</el-button>
             <div></div>
             <el-button v-if="item.status == 3" style="color: red "  type="text" @click="cancelOrder(item)">璁㈠崟閫�娆�</el-button>
             <div></div>
@@ -149,7 +149,8 @@
     <!-- 鏂板缓/淇敼 -->
     <OperaShipmentsWindow ref="operaShipmentsWindow" @success="search"/>
     <OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="handlePageChange"/>
-    <OperaGoodsOrderDetail ref="operaGoodsOrderDetail"/>
+    <OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="handlePageChange"/>
+    <OperaGoodsOrderDetail ref="operaGoodsOrderDetail" @success="handlePageChange"/>
   </TableLayout>
 </template>
 
@@ -159,11 +160,12 @@
 import Pagination from '@/components/common/Pagination'
 import OperaShipmentsWindow from '@/components/business/OperaShipmentsWindow'
 import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
+import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
 import OperaGoodsOrderDetail from '@/components/business/OperaGoodsOrderDetail'
 export default {
   name: 'Goodsorder',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail },
+  components: { TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail,OperaOrderCancelWindow },
   data () {
     return {
       status: '10',
@@ -187,7 +189,7 @@
         nickName: '',
         starttime: null,
         enttime: null
-      },
+      }
     }
   },
   created () {
@@ -252,7 +254,7 @@
       this.search()
     },
     cancelOrder (item) {
-      this.$dialog.cancelOrder(`纭畾鍙栨秷璁㈠崟锛�${item.code}锛焋)
+      this.$dialog.messageWaring(`纭畾鍙栨秷璁㈠崟锛�${item.code}锛焋)
         .then(() => {
 
         })
@@ -339,7 +341,7 @@
       flex: 0.4;
     }
     .address-message {
-      flex: 0.6;
+      flex: 0.7;
       display: -webkit-box;
       -webkit-box-orient: vertical;
       overflow: hidden;
@@ -382,7 +384,7 @@
       }
     }
     .action {
-      flex: 0.5;
+      flex: 0.4;
       box-sizing: border-box;
       padding: 10px;
       text-align: center;
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
index c39dc11..b1afc85 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/Goodsorder.java
@@ -236,6 +236,12 @@
     @ApiModelProperty(value = "鐢ㄦ埛濮撳悕")
     @TableField(exist = false)
     private String memberName;
+    @ApiModelProperty(value = "鍙栨秷浜哄憳濮撳悕")
+    @TableField(exist = false)
+    private String cancelUserName;
+    @ApiModelProperty(value = "閫�娆句汉濮撳悕")
+    @TableField(exist = false)
+    private String refundUserName;
     @ApiModelProperty(value = "鍙戣揣浜哄鍚�")
     @TableField(exist = false)
     private String kdUserName;
@@ -249,8 +255,6 @@
     @ApiModelProperty(value = "鏀惰揣鍦板潃")
     @TableField(exist = false)
     private String addr;
-
-
 
     @ApiModelProperty(value = "寮�濮嬫椂闂� ")
     @TableField(exist = false)
diff --git a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderDetail.java b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderDetail.java
index 1501568..cc066a4 100644
--- a/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderDetail.java
+++ b/server/dmmall_service/src/main/java/com/doumee/dao/business/model/GoodsorderDetail.java
@@ -123,5 +123,8 @@
     @ApiModelProperty(value = "缁熻閲�")
     @TableField(exist = false)
     private BigDecimal totalNum;
+    @ApiModelProperty(value = "灏忚")
+    @TableField(exist = false)
+    private BigDecimal totalPrice;
 
 }
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
index 4ee7ed1..58dfdfc 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
@@ -113,34 +113,33 @@
         QueryWrapper<UserAction> wrapper = new QueryWrapper<>(userAction);
         return userActionMapper.selectOne(wrapper);
     }
-
     @Override
     public List<UserAction> findList(UserAction userAction) {
         QueryWrapper<UserAction> wrapper = new QueryWrapper<>(userAction);
         return userActionMapper.selectList(wrapper);
     }
-  
     @Override
     public PageData<UserAction> findPage(PageWrap<UserAction> pageWrap) {
         IPage<UserAction> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<UserAction> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-       UserAction queryModel =  pageWrap.getModel();
+        UserAction queryModel =  pageWrap.getModel();
         queryWrapper.selectAll(UserAction.class)
-                .leftJoin(Member.class,Member::getId,UserAction::getMemberId)
+//                .leftJoin(Member.class,Member::getId,UserAction::getMemberId)
                 .leftJoin(SystemUser.class,SystemUser::getId,UserAction::getCreator)
                 .selectAs(SystemUser::getRealname,UserAction::getCreateName)
-                .selectAs(Member::getName,UserAction::getMemberName)
-                .selectAs(Member::getPhone,UserAction::getMobile)
+//                .selectAs(Member::getName,UserAction::getMemberName)
+//                .selectAs(Member::getPhone,UserAction::getMobile)
                 .like(StringUtils.isNotBlank(queryModel.getCreateName()),SystemUser::getRealname,queryModel.getCreateName())
                 .like(StringUtils.isNotBlank(queryModel.getMemberName()),Member::getName,queryModel.getMemberName())
                 .like(StringUtils.isNotBlank(queryModel.getMobile()),Member::getPhone,queryModel.getMobile())
                 .like(StringUtils.isNotBlank(queryModel.getRemark()),Member::getPhone,queryModel.getRemark())
                 .eq(!Objects.isNull(queryModel.getMemberType()),Member::getType,queryModel.getMemberType())
                 .eq(!Objects.isNull(queryModel.getBeforeStatus()),UserAction::getBeforeStatus,queryModel.getBeforeStatus())
+                .eq(!Objects.isNull(queryModel.getMemberId()),UserAction::getMemberId,queryModel.getMemberId())
                 .eq(!Objects.isNull(queryModel.getType()),UserAction::getType,queryModel.getType())
-                .orderByDesc(UserAction::getCreateDate)
-        ;
+                .eq(!Objects.isNull(queryModel.getId()),UserAction::getId,queryModel.getId())
+                .orderByDesc(UserAction::getCreateDate);
         IPage<UserAction> result =  userActionMapper.selectJoinPage(page,UserAction.class,queryWrapper);
         if(result!=null &&result.getRecords()!=null){
             for(UserAction model :result.getRecords()){

--
Gitblit v1.9.3