From c384e04f81caf681647c602d5896cc10b289582e Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 27 二月 2026 14:59:16 +0800
Subject: [PATCH] 经销商管理

---
 admin/src/components/business/OperaShopInfoWindow.vue |  103 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 66 insertions(+), 37 deletions(-)

diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 38cdded..8584528 100644
--- a/admin/src/components/business/OperaShopInfoWindow.vue
+++ b/admin/src/components/business/OperaShopInfoWindow.vue
@@ -2,18 +2,19 @@
   <GlobalWindow
       :title="title"
       width="100%"
+      :with-footer="false"
       :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">
+             v-for="(item, i) in groupList" :key="'tab_'+i">
           {{ item.name }}
         </div>
       </div>
     </div>
-    <template v-if="activeGroup ==0">
-      <div style="display: block;">
+    <template v-if="activeGroup ===0">
+      <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 +49,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 +80,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>
@@ -109,18 +110,17 @@
         </TableLayout>
       </div>
     </template>
-    <template v-else-if="activeGroup == 1">
-      <div style="display: block;">
+    <template v-if="activeGroup === 1">
+      <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>
+          <el-form-item label="" prop="code" style="display: inline-block;margin-right: 20px;">
+            <el-input v-model="searchForm1.code" style="width: 130px;" placeholder="璁㈠崟缂栧彿" @keypress.enter.native="handlePageChange1(1)"></el-input>
           </el-form-item>
-          <el-form-item label="" prop="goodsName" style="display: inline-block;margin-right: 30px;">
-            <el-input v-model="searchForm1.goodsName" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�/缂栫爜" @keypress.enter.native="handlePageChange1(1)"></el-input>
+          <el-form-item label="" prop="goodsName" style="display: inline-block;margin-right: 20px;">
+            <el-input v-model="searchForm1.goodsName" style="width: 130px;" placeholder="鍟嗗搧鍚嶇О/缂栫爜" @keypress.enter.native="handlePageChange1(1)"></el-input>
           </el-form-item>
-          <el-form-item label="" prop="status" style="display: inline-block;margin-right: 30px;">
-            <!-- 0姝e父 1绂佺敤 -->
-            <el-select     v-model="searchForm1.status"  placeholder="璇烽�夋嫨璁㈠崟鐘舵��"  @change="handlePageChange1(1)"  >
+          <el-form-item label="" prop="status" style="display: inline-block;margin-right: 20px;">
+            <el-select     v-model="searchForm1.status"  placeholder="璁㈠崟鐘舵��"  style="width: 130px;"  @change="handlePageChange1(1)"  >
               <el-option  :key="0" :value="0"  label="寰呮敮浠�"  ></el-option>
               <el-option   :key="1" :value="1" label="寰呭彂璐�/寰呰嚜鎻�"  ></el-option>
               <el-option   :key="2" :value="2" label="寰呮敹璐�"  ></el-option>
@@ -128,7 +128,13 @@
               <el-option   :key="4" :value="4" label="宸插叧闂�"  ></el-option>
             </el-select>
           </el-form-item>
-          <div class="date-style" style="display: inline-block;font-size: 14px;margin-right: 20px;">璁㈠崟鏃堕棿锛�
+          <el-form-item label="" prop="receiveType" style="display: inline-block;margin-right: 20px;">
+            <el-select v-model="searchForm1.receiveType"   style="width: 130px; "  placeholder="鍙栬揣鏂瑰紡" clearable   @change="handlePageChange1(1)" >
+              <el-option :key="0" :value="0" label="蹇�掗厤閫�"></el-option>
+              <el-option :key="1" :value="1" label="鑷彁"></el-option>
+            </el-select>
+          </el-form-item>
+          <div class="date-style" style="display: inline-block;font-size: 14px;margin-right: 20px;font-size: 12px;">璁㈠崟鏃堕棿锛�
             <el-form-item label="" prop="starttime" style="display: inline-block" >
               <el-date-picker
                   style="width: 160px; "
@@ -148,7 +154,7 @@
                   value-format="yyyy-MM-dd HH:mm:ss"
                   format="yyyy-MM-dd HH:mm:ss"
                   range-separator="鑷�"
-                  placeholder="鎴鏃堕棿"
+                  placeholder="缁撴潫鏃堕棿"
               ></el-date-picker>
             </el-form-item>
           </div>
@@ -175,21 +181,22 @@
                 stripe
                 border
             >
-              <el-table-column prop="type"  label="鑾峰緱/鎵i櫎" align="center" min-width="150px">
+              <el-table-column prop="code" label="璁㈠崟缂栧彿"  fixed align="center" min-width="120px" show-overflow-tooltip>
                 <template slot-scope="{row}">
-                  <span v-if="row.type==0" class="green">鑾峰緱</span>
-                  <span v-else class="red">鎵i櫎</span>
+                <span    style="color: #216EEE; "   @click="$refs.operaGoodsOrderDetail.open('璁㈠崟璇︽儏', row, 'first')">{{row.code}}</span>
                 </template>
+
               </el-table-column>
-              <el-table-column prop="code" label="璁㈠崟缂栧彿" fixed align="center" min-width="100px">  </el-table-column>
-              <el-table-column prop="details" label="鍟嗗搧淇℃伅" fixed align="center" min-width="100px">
+              <el-table-column prop="details" label="鍟嗗搧淇℃伅"   align="center" min-width="250px" show-overflow-tooltip>
                 <template slot-scope="{row}">
-                  <div v-if="row.goodsorderDetailList && row.goodsorderDetailList.length"  >
-                      <div v-for="(item) in row.goodsorderDetailList">銆恵{item.name}}銆戦攢鍞环锛歿{item.price||0}} 鏁伴噺锛歿{item.goodsNum||0}}</div>
+                  <div v-if="row.goodsorderDetailList && row.goodsorderDetailList.length"  style="width: 220px">
+                      <div v-for="(item) in row.goodsorderDetailList" :key="'itemdetail_'+item.id" style="display: flex">
+                        <div style="flex: 1">銆恵{item.name}}銆�</div><div style="flex: 1">閿�鍞环锛歿{item.price||0}} 鏁伴噺锛歿{item.goodsNum||0}}</div>
+                      </div>
                   </div>
                 </template>
               </el-table-column>
-              <el-table-column prop="price" label="鍟嗗搧鎬讳环锛堝厓锛�" align="center" min-width="100px">
+              <el-table-column prop="price" label="鍟嗗搧鎬讳环(鍏�)" align="center" min-width="100px">
                 <template slot-scope="{row}">
                    {{(row.totalPrice || 0) - (row.mailPrice||0)}}
                 </template>
@@ -201,12 +208,28 @@
                   {{(row.couponPrice || 0) + (row.integral||0)}}
                 </template>
               </el-table-column>
+              <el-table-column prop="status" label="璁㈠崟鐘舵��" align="center" min-width="100px">
+                <template slot-scope="{row}">
+                  <span v-if="row.status ==0" class="orange">寰呮敮浠�</span>
+                  <span  v-if="row.status ==1" class="orange">{{ (row.receiveType||0)==1?'寰呰嚜鎻�':'寰呭彂璐�'}}</span>
+                  <span  v-if="row.status ==2" class="orange">寰呮敹璐�</span>
+                  <span  v-if="row.status ==3" class="grey">浜ゆ槗瀹屾垚</span>
+                  <span  v-if="row.status ==4" class="grey">宸插彇娑�</span>
+                  <span  v-if="row.status ==6" class="grey">宸查��娆�</span>
+                </template>
+              </el-table-column>
               <el-table-column prop="price" label="瀹炰粯浠锋牸(鍏�)" align="center" min-width="200px"></el-table-column>
               <el-table-column prop="shopSettlement" label="搴旂粨绠楅噾棰�(鍏�)" align="center" min-width="150px"></el-table-column>
-              <el-table-column prop="orderCode" label="搴旂粨绠楅噾棰�(鍏�)" align="center" min-width="150px"></el-table-column>
-              <el-table-column prop="orderCode" label="杩旂敤鎴风Н鍒�" align="center" min-width="150px"></el-table-column>
-              <el-table-column prop="orderCode" label="杩旂粡閿�鍟嗙Н鍒�" align="center" min-width="150px"></el-table-column>
-              <el-table-column prop="createDate" label="鍒涘缓" align="center" min-width="200px"></el-table-column>
+              <el-table-column prop="returnMemberIntegral" label="杩旂敤鎴风Н鍒�" align="center" min-width="150px"></el-table-column>
+              <el-table-column prop="returnCustomerIntegral" label="杩旂粡閿�鍟嗙Н鍒�" align="center" min-width="150px"></el-table-column>
+              <el-table-column prop="payDate" label="鏀粯鏃堕棿" align="center" min-width="200px"></el-table-column>
+              <el-table-column prop="receiveType"  label="鍙栬揣鏂瑰紡" align="center" min-width="150px">
+                <template slot-scope="{row}">
+                  <span v-if="row.receiveType  === 0" class="green">閰嶉��</span>
+                  <span v-else class="red">鑷彁</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" align="center" min-width="200px"></el-table-column>
             </el-table>
             <pagination
                 @size-change="handleSizeChange1"
@@ -218,14 +241,16 @@
         </TableLayout>
       </div>
     </template>
-    <template v-else-if="activeGroup == 2">
-      <div style="display: block;margin-bottom: 50px;">
+    <template v-if="activeGroup === 2">
+      <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>
@@ -237,7 +262,7 @@
                 </div>
               </div>
               <div style="float: right; margin-bottom: 20px;">
-                <el-select  v-model="searchForm2.type"  placeholder="鍏ㄩ儴"  clearable @change="search" style="width: 120px;" >
+                <el-select  v-model="searchForm2.type"  placeholder="鍏ㄩ儴"  clearable @change="handlePageChange2(1)" style="width: 120px;" >
                   <el-option  :key="0" :value="0"  label="鑾峰緱"  ></el-option>
                   <el-option   :key="1" :value="1" label="鎵i櫎"  ></el-option>
                 </el-select>
@@ -256,8 +281,8 @@
                   <span v-else class="red">鎵i櫎</span>
                 </template>
               </el-table-column>
-              <el-table-column prop="num" label="鏁伴噺" fixed align="center" min-width="100px">  </el-table-column>
-              <el-table-column prop="totalNum" label="浣欓" fixed align="center" min-width="100px">  </el-table-column>
+              <el-table-column prop="num" label="鏁伴噺"   align="center" min-width="100px">  </el-table-column>
+              <el-table-column prop="totalNum" label="浣欓"   align="center" min-width="100px">  </el-table-column>
               <el-table-column prop="strObjType" label="娑堣垂绫诲瀷" align="center" min-width="100px"></el-table-column>
               <el-table-column prop="content" label="鏉ユ簮" align="center" min-width="150px" show-overflow-tooltip></el-table-column>
               <el-table-column prop="remark" label="澶囨敞" align="center" min-width="200px"></el-table-column>
@@ -279,6 +304,7 @@
     </template>
     <OperaChangeShopRecordWindow ref="OperaChangeShopRecordWindow"/>
     <OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
+    <OperaGoodsOrderDetail ref="operaGoodsOrderDetail" @success="handlePageChange"/>
   </GlobalWindow>
 </template>
 <script>
@@ -287,6 +313,7 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaChangeShopRecordWindow from '@/components/business/OperaChangeShopRecordWindow'
+import OperaGoodsOrderDetail from '@/components/business/OperaGoodsOrderDetail'
 import OperaChangeIntegralWindow from '@/components/business/OperaChangeIntegralWindow'
 import { shopDetail as detail } from '@/api/business/shop'
 import { fetchList as actionList } from '@/api/business/userAction'
@@ -295,7 +322,7 @@
 export default {
   name: 'OperaShopInfoWindow',
   extends: BaseTable,
-  components: { GlobalWindow, TableLayout, Pagination, OperaChangeShopRecordWindow, OperaChangeIntegralWindow },
+  components: { GlobalWindow, TableLayout, Pagination, OperaChangeShopRecordWindow, OperaChangeIntegralWindow,OperaGoodsOrderDetail },
   data () {
     return {
       title: '',
@@ -308,6 +335,7 @@
       searchForm1: {
         distributionShopId: '',
         goodsName: null,
+        receiveType:'',
         code: null,
         status: null,
         starttime: null,
@@ -513,6 +541,7 @@
 .platgroup_tabs {
   flex: 1;
   display: flex;
+  font-size: 15px;
   border-bottom: 1px solid #dfe2e8;
   margin-bottom: 30px;
   .tab {
@@ -530,10 +559,10 @@
     border-bottom: 2px solid #216EEE;
   }
 }
-.table-pagination{
+/*.table-pagination{
   position: fixed !important;
   bottom: 50px;
-}
+}*/
 .header-b{
   display: inline-block;
   font-size: 16px;

--
Gitblit v1.9.3