对接报修列表和报修详情、访客列表
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
<view class="activity-list">
|
||||
<!-- 空状态 -->
|
||||
<view v-if="displayedActivities.length === 0" class="empty-state">
|
||||
<uni-icons type="info" size="60" color="#ccc"></uni-icons>
|
||||
<uni-icons type="info" size="30" color="#ccc"></uni-icons>
|
||||
<text class="empty-text">
|
||||
{{ activeTab === 'list' ? '暂无活动' : '暂无参与的活动' }}
|
||||
</text>
|
||||
|
||||
@@ -117,6 +117,11 @@ export const getHouseList = (data) =>{
|
||||
export const getRepairDetail = (data) =>{
|
||||
return get('/repairOrder/queryRepairDetail',data)
|
||||
}
|
||||
// =========访客邀请===========
|
||||
// 获取访客列表
|
||||
export const getVisitorList = (data) =>{
|
||||
return get('/api/visitor/list',data)
|
||||
}
|
||||
|
||||
// 通用文件上传
|
||||
export const uploadImage = () => {
|
||||
|
||||
@@ -2,7 +2,7 @@ let baseUrl = '';
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// http://192.168.1.215
|
||||
// http://192.168.0.224
|
||||
baseUrl = 'http://192.168.0.224:8080'; // 开发环境
|
||||
baseUrl = 'http://192.168.1.215:8080'; // 开发环境
|
||||
} else {
|
||||
baseUrl = 'http://192.168.0.224:8080'; // 生产环境
|
||||
}
|
||||
|
||||
@@ -153,10 +153,9 @@ const fetchRepairList = async () => {
|
||||
problemStatus: statusMap[activeStatus.value].value
|
||||
};
|
||||
const res = await getQueryRepair(params);
|
||||
console.log('接口返回:', res);
|
||||
// console.log('接口返回:', res);
|
||||
if (res.code === 200) {
|
||||
// 兼容多种分页返回结构
|
||||
const list = res.data?.rows || [];
|
||||
const list = res.data || [];
|
||||
repairList.value = list.map(item => {
|
||||
const statusInfo = getStatusInfo(item.problemStatus);
|
||||
const images = item.problemImageUrl ? item.problemImageUrl.split(',').filter(Boolean) : [];
|
||||
|
||||
@@ -129,7 +129,7 @@ const fetchDetail = async (id) => {
|
||||
}
|
||||
|
||||
onLoad((option) => {
|
||||
console.log("页面打开,路由参数:", option)
|
||||
// console.log("页面打开,路由参数:", option)
|
||||
|
||||
// 传了 id 才调用接口
|
||||
if (option?.id) {
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<!-- 有效期/到访时间 -->
|
||||
<view class="item-row">
|
||||
<text class="label" :class="item.status">{{ item.status === 'waiting' ? '有效期' : '到访时间' }}:</text>
|
||||
<text class="value" :class="item.status">{{ item.timeRange }}</text>
|
||||
<text class="value" :class="item.status">{{ item.startTime }}至{{item.endTime}}</text>
|
||||
</view>
|
||||
|
||||
<!-- 联系方式 -->
|
||||
@@ -69,6 +69,13 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 空状态 -->
|
||||
<view v-if="filterdList.length === 0" class="empty-state">
|
||||
<uni-icons type="info" size="30" color="#ccc"></uni-icons>
|
||||
<text class="empty-text">
|
||||
{{ activeTab === 'waiting' ? '暂无等待到访数据' : '暂无已到访数据' }}
|
||||
</text>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
<!-- 新增邀请按钮 -->
|
||||
@@ -81,41 +88,50 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, computed } from 'vue'
|
||||
// import { uniNavigateTo, uniShowToast } from '@dcloudio/uni-app'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { getVisitorList } from '../api/api.js'
|
||||
|
||||
// 激活的标签(waiting=等待来访,visited=已到访)
|
||||
const activeTab = ref('waiting')
|
||||
|
||||
// 模拟访客数据(可替换为接口请求数据)
|
||||
const visitorList = ref([
|
||||
{
|
||||
name: '张三',
|
||||
status: 'waiting', // waiting/visited
|
||||
statusText: '等待来访',
|
||||
timeRange: '2023.06.30 10:00至2023.06.30 23:00',
|
||||
phone: '13866666666',
|
||||
carNumber: '京A88888',
|
||||
createTime: '2023年06月30日 09:35'
|
||||
},
|
||||
{
|
||||
name: '张三',
|
||||
status: 'visited',
|
||||
statusText: '已到访',
|
||||
timeRange: '2023.06.30 16:32:28',
|
||||
phone: '13866666666',
|
||||
carNumber: '京A88888',
|
||||
createTime: '2023年06月30日 09:35'
|
||||
},
|
||||
{
|
||||
name: '张三',
|
||||
status: 'waiting',
|
||||
statusText: '等待来访',
|
||||
timeRange: '2023.06.30 10:00至2023.06.30 23:00',
|
||||
phone: '13866666666',
|
||||
carNumber: '',
|
||||
createTime: '2023年06月30日 09:35'
|
||||
// 访客列表数据
|
||||
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,
|
||||
status,
|
||||
statusText: status === 'visited' ? '已到访' : '等待来访',
|
||||
startTime: item.startTime,
|
||||
endTime:item.endTime,
|
||||
phone: item.visitorPhone,
|
||||
carNumber: item.carNum,
|
||||
createTime: item.createTime || ''
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 获取访客列表
|
||||
const fetchVisitorList = async () => {
|
||||
const userId = uni.getStorageSync('userId')
|
||||
let params = {userId:userId}
|
||||
try {
|
||||
const res = await getVisitorList(params)
|
||||
visitorList.value = mapData(res.data|| [])
|
||||
// visitorList.value = res.data || []
|
||||
|
||||
} catch (e) {
|
||||
console.error('获取访客列表失败:', e)
|
||||
}
|
||||
])
|
||||
}
|
||||
|
||||
onLoad(() => {
|
||||
fetchVisitorList()
|
||||
})
|
||||
|
||||
// 根据标签筛选列表
|
||||
const filterdList = computed(() => {
|
||||
@@ -312,6 +328,22 @@ const addInvitation = () => {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
/* 空状态 */
|
||||
.empty-state {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 100rpx 0;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.empty-text {
|
||||
font-size: 32rpx;
|
||||
color: #999;
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
/* 新增邀请按钮 */
|
||||
.add-btn {
|
||||
|
||||
Reference in New Issue
Block a user