From eb7a808aaf7dd0a6dd2ff70f9ef3f8ce0b1e31d1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 22 五月 2026 18:27:32 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun
---
admin/src/components/business/OperaShopInfoWindow.vue | 203 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 174 insertions(+), 29 deletions(-)
diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 78edb32..dda7fd8 100644
--- a/admin/src/components/business/OperaShopInfoWindow.vue
+++ b/admin/src/components/business/OperaShopInfoWindow.vue
@@ -38,6 +38,66 @@
</div>
<el-tabs v-model="activeTab" class="store-tabs">
+ <el-tab-pane label="闂ㄥ簵淇℃伅" name="shopInfo">
+ <div class="shop-info-content" v-if="storeInfo">
+ <!-- 绗竴閮ㄥ垎锛氫笁涓瓧娈典竴琛� -->
+ <div class="info-grid" style="margin-bottom: 0;">
+ <div class="info-item">
+ <span class="label">鎵�鍦ㄧ渷甯傚尯锛�</span>
+ <span class="value">{{ storeInfo.provinceName || '' }} {{ storeInfo.cityName || '' }} {{ storeInfo.areaName || '' }}</span>
+ </div>
+ <div class="info-item">
+ <span class="label">闂ㄥ簵鍦板潃锛�</span>
+ <span class="value">{{ storeInfo.address || '' }}</span>
+ </div>
+ <div class="info-item">
+ <span class="label">鍏ラ┗鎶奸噾锛�</span>
+ <span class="value amount">楼{{ storeInfo.depositAmount ? (storeInfo.depositAmount / 100).toFixed(2) : '0.00' }}</span>
+ </div>
+ <div class="info-item">
+ <span class="label">钀ヤ笟鏃堕棿锛�</span>
+ <span class="value" v-if="storeInfo.businessType === 1">鍏ㄥぉ钀ヤ笟</span>
+ <span class="value" v-if="storeInfo.businessType === 0">闄愭椂钀ヤ笟</span>
+ </div>
+ <div class="info-item">
+ <span class="label">閰嶉�佽寖鍥达細</span>
+ <span class="value" v-if="storeInfo.deliveryArea">{{ storeInfo.deliveryArea }}鍏噷</span>
+ <span class="value" v-else>鏆傛棤</span>
+ </div>
+ <div class="info-item">
+ <span class="label">浣嶇疆鏍囩锛�</span>
+ <span class="value">{{ storeInfo.locationTagNames || '' }}</span>
+ </div>
+ <div class="info-item">
+ <span class="label">闂ㄥ簵鐘舵�侊細</span>
+ <span class="value" :class="getStatusClass(storeInfo.status)">
+ {{ storeInfo.status === 0 ? '鍚敤' : '绂佺敤' }}
+ </span>
+ </div>
+ </div>
+
+ <!-- 绗簩閮ㄥ垎锛氫竴涓瓧娈典竴琛� -->
+ <div class="info-full">
+ <div class="info-item-full">
+ <span class="label">闂ㄥ簵浠嬬粛锛�</span>
+ <span class="value">{{ storeInfo.content || '' }}</span>
+ </div>
+ <div class="info-item-full">
+ <span class="label">钀ヤ笟鏃堕棿锛�</span>
+ <span class="value">{{ storeInfo.shopHours || '' }}</span>
+ </div>
+ <div class="info-item-full">
+ <span class="label">瀵勫瓨绫诲瀷锛�</span>
+ <span class="value">{{ storeInfo.depositTypes || '' }}</span>
+ </div>
+ <div class="info-item-full">
+ <span class="label">鏀惰垂鏍囧噯锛�</span>
+ <span class="value">{{ storeInfo.feeStandard || '' }}</span>
+ </div>
+ </div>
+ </div>
+ </el-tab-pane>
+
<el-tab-pane label="闂ㄥ簵涓氱哗" name="performance">
<el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
<el-form-item label="璁㈠崟缂栧彿" prop="code">
@@ -91,10 +151,13 @@
</template>
</el-table-column>
<el-table-column prop="goodsInfo" label="鐗╁搧淇℃伅" min-width="180px" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="isUrgent" label="绫诲瀷" min-width="80px">
+ <template slot-scope="{row}"><span>{{ row.type === 1?'鍚屽煄瀵勯��':'灏卞湴瀛樺彇' }}</span></template>
+ </el-table-column>
<el-table-column prop="isUrgent" label="璁㈠崟绾у埆" min-width="80px">
<template slot-scope="{row}"><span v-if="row.type ===1">{{ row.isUrgent === 1?'鏋侀�熻揪':'鏍囬�熻揪' }}</span></template>
</el-table-column>
- <el-table-column label="鐗╁搧淇濊垂锛堝厓锛�" min-width="120px">
+ <!-- <el-table-column label="鐗╁搧淇濊垂锛堝厓锛�" min-width="120px">
<template slot-scope="{row}">楼{{ (row.declaredFee / 100).toFixed(2) }}</template>
</el-table-column>
<el-table-column label="鐗╁搧淇濊垂锛堝厓锛�" min-width="120px">
@@ -102,6 +165,12 @@
</el-table-column>
<el-table-column label="鍩虹鏈嶅姟璐癸紙鍏冿級" min-width="120px">
<template slot-scope="{row}">楼{{ (row.price / 100).toFixed(2) }}</template>
+ </el-table-column> -->
+
+ <el-table-column label="缁撶畻閲戦锛堝厓锛�" min-width="120px">
+ <template slot-scope="{row}">
+ 楼{{ storeInfo.id == row.depositShopId ? (row.depositShopFee / 100).toFixed(2) : storeInfo.id == row.takeShopId ? (row.takeShopFee / 100).toFixed(2) : '' }}
+ </template>
</el-table-column>
<el-table-column label="璁㈠崟鎬讳环锛堝厓锛�" min-width="120px">
<template slot-scope="{row}">楼{{ (row.totalAmount / 100).toFixed(2) }}</template>
@@ -109,18 +178,22 @@
<el-table-column label="瀹炰粯鐜伴噾锛堝厓锛�" min-width="120px">
<template slot-scope="{row}">楼{{ (row.payAmount / 100).toFixed(2) }}</template>
</el-table-column>
- <el-table-column label="鍔犳�ヨ垂锛堝厓锛�" min-width="120px">
- <template slot-scope="{row}"><span v-if="row.type ===1 ">楼{{ (row.urgentAmount / 100).toFixed(2) }}</span></template>
- </el-table-column>
<el-table-column label="閫�娆鹃噾棰濓紙鍏冿級" min-width="120px">
<template slot-scope="{row}">楼{{ (row.refundAmount / 100).toFixed(2) }}</template>
+ </el-table-column>
+ <el-table-column label="瓒呮椂閲戦锛堝厓锛�" min-width="100px">
+ <template slot-scope="{row}">楼{{ (row.overdueAmount / 100).toFixed(2) }}</template>
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="150px"> </el-table-column>
+ <!-- <el-table-column label="鍔犳�ヨ垂锛堝厓锛�" min-width="120px">
+ <template slot-scope="{row}"><span v-if="row.type ===1 ">楼{{ (row.urgentAmount / 100).toFixed(2) }}</span></template>
</el-table-column>
<el-table-column label="瓒呮椂閲戦" min-width="100px">
<template slot-scope="{row}">楼{{ (row.overdueAmount / 100).toFixed(2) }}</template>
</el-table-column>
<el-table-column label="寮傚父閲戦" min-width="100px">
<template slot-scope="{row}">楼{{ (row.exceptionAmount / 100).toFixed(2) }}</template>
- </el-table-column>
+ </el-table-column> -->
<el-table-column prop="statusDesc" label="璁㈠崟鐘舵��" min-width="100px">
<template slot-scope="{row}">
<span :style="{ color: row.status <7 ? '#e6a23c' : (row.status ===7 ? '#67c23a' : 'grey' )}">
@@ -136,7 +209,6 @@
</template>
</el-table-column>
<el-table-column prop="payTime" label="鏀粯鏃堕棿" min-width="150px"> </el-table-column>
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="150px"> </el-table-column>
</el-table>
<pagination
@size-change="handleSizeChange"
@@ -147,7 +219,7 @@
<el-tab-pane label="闂ㄥ簵璧勮川" name="qualification">
<div class="qualification-content" v-if="storeInfo">
- <div class="qualification-section">
+ <!-- <div class="qualification-section">
<h4 class="section-title">鍩烘湰淇℃伅</h4>
<div class="info-grid">
<div class="info-row">
@@ -164,14 +236,14 @@
</div>
<div class="info-row">
<span class="label">瀹℃壒鐘舵�侊細</span>
- <span class="value">{{ storeInfo.auditStatus === 0 ? '寰呭鎵�' : storeInfo.auditStatus === 1 ? '瀹℃壒閫氳繃' : '瀹℃壒鏈�氳繃' }}</span>
+ <span class="value">{{ storeInfo.auditStatus === 0 ? '寰呭鎵�' : storeInfo.auditStatus === 1 ? '瀹℃壒閫氳繃' : storeInfo.auditStatus === 2 ? '瀹℃壒鏈�氳繃' : '宸叉敮浠樻娂閲�' }}</span>
</div>
<div class="info-row">
<span class="label">閰嶉�佽寖鍥达細</span>
<span class="value">{{ storeInfo.deliveryRange || '鏆傛棤' }}</span>
</div>
</div>
- </div>
+ </div> -->
<div class="qualification-section">
<h4 class="section-title">涓讳綋璧勮川</h4>
@@ -243,7 +315,7 @@
</template>
</div>
- <div class="qualification-section" v-if="storeInfo.companyType === 1">
+ <div class="qualification-section">
<h4 class="section-title">闂ㄥ簵鐓х墖鍙婂叾浠栨潗鏂�</h4>
<div class="image-item-row">
<span class="label">闂ㄥ簵闂ㄥご鐓э細</span>
@@ -290,13 +362,17 @@
components: { GlobalWindow, Pagination,OperaOrderDetail },
data () {
return {
- activeTab: 'performance',
+ title: '闂ㄥ簵璇︽儏',
+ activeTab: 'shopInfo',
storeInfo: {},
- visible:false,
+ visible: false,
searchForm: {
+ code: '',
orderNo: '',
goodsInfo: '',
createTime1: '',
+ createStartTime: '',
+ createEndTime: '',
startTime: '',
endTime: '',
orderStatus: '',
@@ -318,20 +394,34 @@
this.searchForm.createEndTime = val ? val[1] : ''
this.search()
},
+ reset () {
+ this.$refs.searchForm.resetFields()
+ this.searchForm.createStartTime = ''
+ this.searchForm.createEndTime = ''
+ this.search()
+ },
open (title, row) {
- this.searchForm.memberId = row.id
- detail(row.id)
- .then(res => {
- this.storeInfo = res
- this.activeTab = 'performance'
- this.title = title
- this.visible = true
- this.searchForm.shopId = row.id
- this.search()
- })
- .catch(e => {
- this.$tip.apiFailed(e)
- })
+ this.searchForm.memberId = row.id
+ this.getStoreInfo(row.id).then(() => {
+ this.activeTab = 'shopInfo'
+ this.title = title
+ this.visible = true
+ this.searchForm.shopId = row.id
+ this.search()
+ })
+ },
+ // 鑾峰彇闂ㄥ簵璇︽儏
+ async getStoreInfo(id) {
+ try {
+ const res = await detail(id)
+ this.storeInfo = res
+ } catch (e) {
+ this.$tip.apiFailed(e)
+ }
+ },
+ // 鑾峰彇闂ㄥ簵鐘舵�佹牱寮�
+ getStatusClass(status) {
+ return status === 0 ? 'status-enabled' : 'status-disabled'
}
}
}
@@ -349,10 +439,65 @@
margin-right: 20px;
}
.store-avatar {
- width: 80px;
- height: 80px;
- border-radius: 50%;
-}
+ width: 100px;
+ height: 100px;
+ border-radius: 50%;
+ }
+
+ .info-grid {
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
+ gap: 20px;
+ margin-bottom: 30px;
+ padding: 20px;
+ /* background: #f5f7fa; */
+ border-radius: 4px;
+ }
+
+ .info-full {
+ padding: 20px;
+ /* background: #f5f7fa; */
+ border-radius: 4px;
+ }
+
+ .info-item {
+ font-size: 14px;
+ }
+
+ .info-item-full {
+ font-size: 14px;
+ margin-bottom: 15px;
+ }
+
+ .info-item-full:last-child {
+ margin-bottom: 0;
+ }
+
+ .label {
+ color: #909399;
+ min-width: 100px;
+ display: inline-block;
+ margin-right: 10px;
+ }
+
+ .value {
+ color: #606266;
+ }
+
+ .value.amount {
+ color: #f56c6c;
+ font-weight: bold;
+ }
+
+ .status-enabled {
+ color: #67c23a;
+ font-weight: bold;
+ }
+
+ .status-disabled {
+ color: #f56c6c;
+ font-weight: bold;
+ }
.store-header-right {
flex: 1;
}
--
Gitblit v1.9.3