quanwei
2025-10-30 204b4cb1fcf1234010f722e0c9d4e88d10e654b1
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() {