From c313a253b1fcdc75b6be5db575fc2b29fb407021 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 15 四月 2026 20:05:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 admin/src/components/business/OperaShopInfoWindow.vue |  100 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 62 insertions(+), 38 deletions(-)

diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 55322fc..98d7223 100644
--- a/admin/src/components/business/OperaShopInfoWindow.vue
+++ b/admin/src/components/business/OperaShopInfoWindow.vue
@@ -1,16 +1,17 @@
 <template>
   <GlobalWindow
     :title="title"
+    :withFooter="false"
     :visible.sync="visible"
     width="80%"
   >
     <div class="store-header" v-if="storeInfo">
       <div class="store-header-left">
-        <!-- <el-image :src="storeInfo.headImage || defaultAvatar" fit="cover" class="store-avatar">
+        <el-image :src="storeInfo.payMemberCoverImage ? storeInfo.imgPrefix + storeInfo.payMemberCoverImage : ''" fit="cover" class="store-avatar">
           <div slot="error" class="image-slot">
             <i class="el-icon-picture-outline"></i>
           </div>
-        </el-image> -->
+        </el-image>
       </div>
       <div class="store-header-right">
         <div class="store-name">{{ storeInfo.name }}</div>
@@ -38,14 +39,14 @@
     <el-tabs v-model="activeTab" class="store-tabs">
       <el-tab-pane label="闂ㄥ簵涓氱哗" name="performance">
         <el-form ref="searchForm" :model="searchForm" inline>
-          <el-form-item label="浜ゆ槗鍙�" prop="transactionId">
-            <el-input v-model="searchForm.transactionId" clearable placeholder="璇疯緭鍏ヤ氦鏄撳彿"></el-input>
+          <el-form-item label="浜ゆ槗鍙�" prop="orderNo">
+            <el-input v-model="searchForm.orderNo" clearable placeholder="璇疯緭鍏ヤ氦鏄撳彿"></el-input>
           </el-form-item>
-          <el-form-item label="鏀舵敮绫诲瀷" prop="type">
-            <el-select v-model="searchForm.type" clearable placeholder="璇烽�夋嫨绫诲瀷">
-              <el-option label="鍏ㄩ儴" :value="0"></el-option>
+          <el-form-item label="鏀舵敮绫诲瀷" prop="optType">
+            <el-select v-model="searchForm.optType" clearable placeholder="璇烽�夋嫨绫诲瀷">
+              <el-option label="鍏ㄩ儴" value=""></el-option>
               <el-option label="鏀跺叆" :value="1"></el-option>
-              <el-option label="鏀嚭" :value="2"></el-option>
+              <el-option label="鏀嚭" :value="-1"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="鏀舵敮鏃堕棿" prop="createTime">
@@ -62,26 +63,32 @@
         <el-table :data="tableData.list" border stripe v-loading="isWorking.search" class="performance-table">
           <el-table-column label="鏀跺叆/鏀嚭" min-width="100px">
             <template slot-scope="{row}">
-              <span :class="row.type === 1 ? 'income' : 'expense'">{{ row.type === 1 ? '鏀跺叆' : '鏀嚭' }}</span>
+              <span :class="row.optType === 1 ? 'income' : 'expense'">{{ row.optType === 1 ? '鏀跺叆' : '鏀嚭' }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="amount" label="閲戦锛堝厓锛�" min-width="100px">
             <template slot-scope="{row}">
-              <span :class="row.type === 1 ? 'income' : 'expense'">{{ row.amount }}</span>
+              <span :class="row.optType === 1 ? 'income' : 'expense'">{{ row.amount }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="createTime" label="鏀舵敮鏃堕棿" min-width="160px"></el-table-column>
-          <el-table-column prop="businessType" label="涓氬姟绫诲瀷" min-width="100px"></el-table-column>
-          <el-table-column prop="transactionId" label="浜ゆ槗鍙�" min-width="180px"></el-table-column>
+          <el-table-column label="涓氬姟绫诲瀷" min-width="100px">
+            <template slot-scope="{row}">
+              <span v-if="row.type === 0">瀹屾垚璁㈠崟</span>
+              <span v-if="row.type === 1">鎻愮幇鏀嚭</span>
+              <span v-if="row.type === 2">鎻愮幇閫�鍥�</span>
+              <span v-if="row.type === 3">骞冲彴濂栧姳</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="orderNo" label="浜ゆ槗鍙�" min-width="180px"></el-table-column>
           <el-table-column label="鐘舵��" min-width="100px">
             <template slot-scope="{row}">
-              <span :class="row.status === 1 ? 'status-success' : 'status-pending'">
-                {{ row.status === 1 ? '宸插埌璐�' : '鎻愮幇涓�' }}
+              <span :class="row.vaildStatus === 1 ? 'status-success' : 'status-pending'">
+                {{ row.vaildStatus === 1 ? '宸插埌璐�' : '鎻愮幇涓�' }}
               </span>
             </template>
           </el-table-column>
         </el-table>
-
         <pagination
           @size-change="handleSizeChange"
           @current-change="handlePageChange"
@@ -221,6 +228,7 @@
 import GlobalWindow from '@/components/common/GlobalWindow'
 import Pagination from '@/components/common/Pagination'
 import { detail } from '@/api/business/shopInfo'
+import { fetchList, exportExcel } from '@/api/business/revenue'
 export default {
   name: 'OperaShopInfoWindow',
   extends: BaseOpera,
@@ -230,9 +238,11 @@
       activeTab: 'performance',
       storeInfo: null,
       searchForm: {
-        transactionId: '',
-        type: 0,
-        createTime: ''
+        orderNo: '',
+        optType: 0,
+        createTime: '',
+        memberId: '',
+        memberType: 2
       },
       tableData: {
         list: [],
@@ -257,14 +267,17 @@
   },
   methods: {
     open (title, row) {
+      this.searchForm.memberId = row.id
       detail(row.id)
         .then(res => {
           this.storeInfo = res
           this.activeTab = 'performance'
           this.searchForm = {
-            transactionId: '',
-            type: 0,
-            createTime: ''
+            orderNo: '',
+            optType: '',
+            createTime: '',
+            memberId: '',
+            memberType: 2
           }
           this.title = title
           this.visible = true
@@ -277,15 +290,18 @@
     search () {
       this.isWorking.search = true
       const data = {
-        pageIndex: this.tableData.pagination.pageIndex,
-        pageSize: this.tableData.pagination.pageSize,
-        shopId: this.storeInfo?.id,
-        transactionId: this.searchForm.transactionId,
-        type: this.searchForm.type,
-        startTime: this.searchForm.createTime?.[0] || '',
-        endTime: this.searchForm.createTime?.[1] || ''
+        capacity: this.tableData.pagination.pageSize,
+        page: this.tableData.pagination.pageIndex,
+        model: {
+          orderNo: this.searchForm.orderNo,
+          optType: this.searchForm.optType,
+          startTime: this.searchForm.createTime?.[0] || '',
+          endTime: this.searchForm.createTime?.[1] || '',
+          memberId: this.searchForm.memberId,
+          memberType: this.searchForm.memberType || ''
+        }
       }
-      this.api.fetchPerformance(data)
+      fetchList(data)
         .then(res => {
           this.tableData.list = res.list || []
           this.tableData.pagination.total = res.total || 0
@@ -299,9 +315,11 @@
     },
     reset () {
       this.searchForm = {
-        transactionId: '',
-        type: 0,
-        createTime: ''
+        orderNo: '',
+        optType: '',
+        createTime: '',
+        memberId: '',
+        memberType: 2
       }
       this.search()
     },
@@ -316,14 +334,20 @@
     exportExcel () {
       this.isWorking.export = true
       const data = {
-        shopId: this.storeInfo?.id,
-        transactionId: this.searchForm.transactionId,
-        type: this.searchForm.type,
-        startTime: this.searchForm.createTime?.[0] || '',
-        endTime: this.searchForm.createTime?.[1] || ''
+        capacity: 999999,
+        page: this.tableData.pagination.pageIndex,
+        model: {
+          orderNo: this.searchForm.orderNo,
+          optType: this.searchForm.optType,
+          startTime: this.searchForm.createTime?.[0] || '',
+          endTime: this.searchForm.createTime?.[1] || '',
+          memberId: this.searchForm.memberId,
+          memberType: this.searchForm.memberType || ''
+        }
       }
-      this.api.exportPerformance(data)
+      exportExcel(data)
         .then(res => {
+          this.download(res)
           this.$tip.apiSuccess('瀵煎嚭鎴愬姛')
         })
         .catch(e => {

--
Gitblit v1.9.3