From b099e758396f61b39d24cf5fa6be7bb0d10c2b4d Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 18 五月 2026 19:16:26 +0800
Subject: [PATCH] 提交
---
admin/src/components/business/OperaShopInfoWindow.vue | 165 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 144 insertions(+), 21 deletions(-)
diff --git a/admin/src/components/business/OperaShopInfoWindow.vue b/admin/src/components/business/OperaShopInfoWindow.vue
index 10f8587..fe0dc06 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">
@@ -156,7 +216,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">
@@ -180,7 +240,7 @@
<span class="value">{{ storeInfo.deliveryRange || '鏆傛棤' }}</span>
</div>
</div>
- </div>
+ </div> -->
<div class="qualification-section">
<h4 class="section-title">涓讳綋璧勮川</h4>
@@ -299,8 +359,8 @@
components: { GlobalWindow, Pagination,OperaOrderDetail },
data () {
return {
- title: '',
- activeTab: 'performance',
+ title: '闂ㄥ簵璇︽儏',
+ activeTab: 'shopInfo',
storeInfo: {},
visible: false,
searchForm: {
@@ -329,19 +389,27 @@
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'
}
}
}
@@ -359,10 +427,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