From 2b728186c745b598e8ccb9dcc37360eed49375f6 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 30 Oct 2025 18:58:21 +0800
Subject: [PATCH] 完成名片列表功能 完成名片筛选功能 完成查看名片详情 完成购买名片查看联系方式

---
 mobile/pages/plus/business/visitors.vue |   78 ++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 37 deletions(-)

diff --git a/mobile/pages/plus/business/visitors.vue b/mobile/pages/plus/business/visitors.vue
index b2b1703..0b88d56 100644
--- a/mobile/pages/plus/business/visitors.vue
+++ b/mobile/pages/plus/business/visitors.vue
@@ -10,49 +10,50 @@
 				</view>
 			</view>
 
-		<!-- 访客列表 -->
-		<scroll-view scroll-y="true" class="visitor-list" @scrolltolower="loadMore">
-			<view v-if="visitors.length > 0">
-				<view class="visitor-item" v-for="(visitor, index) in visitors" :key="index">
-					<image class="visitor-avatar" :src="visitor.avatar || '/static/default.png'" mode="aspectFill"></image>
-					<view class="visitor-info">
-						<view class="visitor-header">
-							<view class="visitor-name">{{visitor.user_name || '未知访客'}}</view>
-							<view class="visitor-time">{{formatTime(visitor.visit_time)}}</view>
-						</view>
-						<view v-if="visitor.company_name" class="visitor-company">{{visitor.company_name}}</view>
-						<view v-if="visitor.position" class="visitor-position">{{visitor.position}}</view>
-						<view class="visitor-action">
-							<view class="action-btn" @click="viewCard(visitor.business_card_id)">
-								<text class="icon iconfont icon-card"></text>
-								<text>查看名片</text>
+			<!-- 访客列表 -->
+			<scroll-view scroll-y="true" :width="screenWidth" class="visitor-list" @scrolltolower="loadMore">
+				<view v-if="visitors.length > 0">
+					<view class="visitor-item" v-for="(visitor, index) in visitors" :key="index">
+						<image class="visitor-avatar" :src="visitor.avatar || '/static/default.png'" mode="aspectFill">
+						</image>
+						<view class="visitor-info">
+							<view class="visitor-header">
+								<view class="visitor-name">{{visitor.user_name || '未知访客'}}</view>
+								<view class="visitor-time">{{formatTime(visitor.visit_time)}}</view>
 							</view>
-							<view class="action-btn" @click="contactVisitor(visitor)">
-								<text class="icon iconfont icon-message"></text>
-								<text>联系访客</text>
+							<view v-if="visitor.company_name" class="visitor-company">{{visitor.company_name}}</view>
+							<view v-if="visitor.position" class="visitor-position">{{visitor.position}}</view>
+							<view class="visitor-action">
+								<view class="action-btn" @click="viewCard(visitor.business_card_id)">
+									<text class="icon iconfont icon-card"></text>
+									<text>查看名片</text>
+								</view>
+								<view class="action-btn" @click="contactVisitor(visitor)">
+									<text class="icon iconfont icon-message"></text>
+									<text>联系访客</text>
+								</view>
 							</view>
 						</view>
 					</view>
 				</view>
-			</view>
 
-			<!-- 无数据提示 -->
-			<view v-else-if="!loading" class="no-data">
-				<text class="icon iconfont icon-wushuju"></text>
-				<text class="text">暂无访客记录</text>
-			</view>
+				<!-- 无数据提示 -->
+				<view v-else-if="!loading" class="no-data">
+					<text class="icon iconfont icon-wushuju"></text>
+					<text class="text">暂无访客记录</text>
+				</view>
 
-			<!-- 加载中 -->
-			<view v-if="loading && visitors.length > 0" class="loading-more">
-				<text>加载中...</text>
-			</view>
+				<!-- 加载中 -->
+				<view v-if="loading && visitors.length > 0" class="loading-more">
+					<text>加载中...</text>
+				</view>
 
-			<!-- 无更多数据 -->
-			<view v-if="!hasMore && visitors.length > 0" class="no-more">
-				<text>没有更多了</text>
-			</view>
-		</scroll-view>
-	</view>
+				<!-- 无更多数据 -->
+				<view v-if="!hasMore && visitors.length > 0" class="no-more">
+					<text>没有更多了</text>
+				</view>
+			</scroll-view>
+		</view>
 </template>
 
 <script>
@@ -64,11 +65,14 @@
 				page: 1,
 				list_rows: 10,
 				hasMore: true,
-				search: ''
+				search: '',
+				screenWidth: 0, // 屏幕宽度
 			};
 		},
 		onLoad() {
 			this.getVisitors();
+			const systemInfo = uni.getSystemInfoSync()
+			this.screenWidth = systemInfo.screenWidth * 2 - 70;
 		},
 		methods: {
 			back() {
@@ -85,7 +89,7 @@
 				if (_this.search) {
 					params.search = _this.search;
 				}
-				_this._post('plus.business/business/getVisitors', params, function(res) {
+				_this._post('plus.business.business/getVisitors', params, function(res) {
 					_this.loading = false;
 					if (_this.page === 1) {
 						_this.visitors = res.data.list;

--
Gitblit v1.9.2