对接访客邀请接口

This commit is contained in:
zhouyanli
2026-05-06 17:48:39 +08:00
parent e030bb7cb9
commit 231de9cde8
13 changed files with 1028 additions and 1037 deletions

View File

@@ -55,14 +55,14 @@
</view>
<!-- 车牌号 -->
<view class="item-row" v-if="item.carNumber">
<view class="item-row">
<text class="label" :class="item.status">车牌号</text>
<text class="value" :class="item.status">{{ item.carNumber }}</text>
</view>
<!-- 时间+查看详情 -->
<view class="item-footer">
<text class="time-text">时间{{ item.createTime }}</text>
<text class="time-text" :class="item.status">时间{{ item.createTime }}</text>
<view class="detail-btn" @click="viewDetail(item)">
<text>查看详情</text>
<uni-icons type="arrowright" size="14"></uni-icons>
@@ -97,17 +97,18 @@ const activeTab = ref('waiting')
// 访客列表数据
const visitorList = ref([])
// 后端数据映射到前端结构(根据实际字段名调整)
// 后端数据映射到前端
const mapData = (list) => {
if (!Array.isArray(list)) return []
return list.map(item => {
const status = item.status === 1 || item.status === '1' ? 'visited' : 'waiting'
return {
name: item.visitorName,
...item,
visitorName: item.visitorName,
status,
statusText: status === 'visited' ? '已到访' : '等待来访',
startTime: item.startTime,
endTime:item.endTime,
endTime: item.endTime,
phone: item.visitorPhone,
carNumber: item.carNum,
createTime: item.createTime || ''
@@ -121,9 +122,9 @@ const fetchVisitorList = async () => {
let params = {userId:userId}
try {
const res = await getVisitorList(params)
// visitorList.value = mapData(res.data|| [])
visitorList.value = res.data || []
visitorList.value = mapData(res.data || [])
// console.log('222222',visitorList.value)
} catch (e) {
console.error('获取访客列表失败:', e)
}
@@ -154,10 +155,8 @@ const goBack = () => {
// 查看详情
const viewDetail = (item) => {
const itemStr = encodeURIComponent(JSON.stringify(item))
console.log('eeeee',itemStr)
uni.navigateTo({
url: `/pageSubPack/visitor/visitor-detail?item=${itemStr}` // 传到详情页
url: `/pageSubPack/visitor/visitor-detail?id=${item.id}` // 传 id 到详情页
})
}
@@ -249,7 +248,7 @@ const addInvitation = () => {
/* 列表容器 */
.list-container {
height: calc(100vh - 150px); /* 预留导航、标签、按钮高度 */
height: calc(100vh - 220px); /* 预留导航、标签、按钮高度 */
}
/* 访客列表项 */
@@ -308,7 +307,9 @@ const addInvitation = () => {
.value.visited{
color: #999;
}
.time-text.visited{
color: #999;
}
/* 列表项底部(时间+查看详情) */
.item-footer {
display: flex;
@@ -316,11 +317,11 @@ const addInvitation = () => {
align-items: center;
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid #f5f5f5;
/* border-top: 1px solid #f5f5f5; */
}
.time-text {
font-size: 12px;
color: #666;
font-size: 28rpx;
/* color: #666; */
}
.detail-btn {
display: flex;