当前位置: 首页 > news >正文

小程序前端功能更新说明

🎯 更新概述

本次更新为小程序违规管理页面新增了预约详细信息显示功能,现在可以查看预约类型、审核人、审核状态等完整的预约信息。

✨ 新增功能

1. 预约详细信息显示

*� 高风险车辆统计区域

在违规详情展开面板中新增了预约信息行:

  • 预约类型:显示访客预约、业主预约、送货预约等类型
  • 审核人:显示审核该预约的管理员姓名
  • 审核状态:显示已审核通过、已拒绝、待审核等状态
  • 预约日期:显示预约的计划访问日期
*� 实时违规记录区域

在违规记录详情页面新增了完整的预约信息区域:

  • 预约原因:详细的访问目的说明
  • 预约类型:中文显示的预约类型
  • 审核人:负责审核的管理员姓名
  • 审核状态:带颜色标识的审核状态
  • 预约日期:计划访问日期
  • 审核时间:实际审核处理时间

2. 交互式预约详情查看

点击查看详情功能
  • 预约信息区域支持点击操作
  • 点击后弹出完整的预约详情对话框
  • 右上角显示"点击查看详情"提示
  • 支持鼠标悬停效果(Web端)
新增API接口调用
  • getAppointmentDetail(appointmentId) - 获取预约详细信息
  • showAppointmentDetailModal(record) - 显示预约详情弹窗

3. 美观的UI设计

视觉优化
  • 预约信息区域采用渐变蓝色背景
  • 不同类型的信息标签使用不同的颜色主题
  • 审核状态采用语义化颜色:
    • 🟢 已审核通过:绿色渐变
    • 🔴 已拒绝:红色渐变
    • 🟡 待审核:黄色渐变
响应式设计
  • 支持移动端和Web端适配
  • 点击效果和悬停效果
  • 流畅的过渡动画

📊 数据字段映射

后端返回的新字段

字段名

类型

说明

前端显示

appointmentReason

String

预约原因

📝 预约原因

appointmentType

String

预约类型代码

🔄 后端代码

appointmentTypeText

String

预约类型中文

🏠 预约类型

auditorName

String

审核人姓名

👤 审核人

appointmentStatus

String

审核状态代码

🔄 后端代码

appointmentStatusText

String

审核状态中文

✅ 审核状态

appointmentDate

String

预约日期

📅 预约日期

auditDate

DateTime

审核时间

⏰ 审核时间

前端处理逻辑

// 优先显示中文字段,回退到原始字段
appointmentTypeText: record.appointmentTypeText || record.appointmentType
appointmentStatusText: record.appointmentStatusText || record.appointmentStatus// CSS类名动态绑定
:class="{'status-approved': record.appointmentStatus === 'approved','status-rejected': record.appointmentStatus === 'rejected','status-pending': record.appointmentStatus === 'pending'
}"

🎨 界面展示示例

违规记录详情页面

🚗 违规记录详情
─────────────────────
📋 基础信息
车牌:川A12345
时间:01-15 14:30
位置:A区域
状态:⚪ 在场👤 业主信息  
姓名:张三
电话:138****8000 📞
地址:阳光小区1栋2单元301室📅 预约详细信息 [点击查看详情 👆]
────────────────────────────────
📝 预约原因:探望老人
🏠 预约类型:访客预约
👤 审核人:王管理员
✅ 审核状态:已审核通过
📅 预约日期:2025-01-15
⏰ 审核时间:2025-01-14 10:30:00

预约详情弹窗

┌─────────────────────┐
│ 📋 预约详情         │
├─────────────────────┤
│ 预约类型:访客预约   │
│ 预约原因:探望老人   │
│ 审核人:王管理员     │
│ 审核状态:已审核通过 │
├─────────────────────┤
│        [知道了]      │
└─────────────────────┘

🔧 技术实现细节

1. Vue组件更新

模板部分新增
<!-- 预约详细信息行 -->
<view class="info-row appointment-details" v-if="violation.appointmentType || violation.auditorName"><view class="info-tag appointment-type-tag" v-if="violation.appointmentType"><u-icon name="home" size="16" color="#52c41a"></u-icon><text class="tag-label">预约类型</text><text class="tag-value">{{ violation.appointmentTypeText || violation.appointmentType }}</text></view><!-- 更多信息... -->
</view>
交互式预约信息区域
<view class="appointment-info-section" v-if="record.appointmentReason || record.appointmentType || record.auditorName"@click="showAppointmentDetailModal(record)"><!-- 预约详细信息 -->
</view>

2. 样式设计

预约信息区域样式
.appointment-info-section {background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);border-radius: 16rpx;padding: 20rpx;margin-top: 16rpx;border: 1rpx solid #bae6fd;cursor: pointer;transition: all 0.3s ease;position: relative;
}.appointment-info-section::after {content: '👆 点击查看详情';position: absolute;top: 8rpx;right: 16rpx;font-size: 20rpx;color: #0284c7;opacity: 0.7;
}
状态颜色样式
.status-text.status-approved {background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);color: #15803d;
}.status-text.status-rejected {background: linear-gradient(135deg, #fef2f2 0%, #fecaca 100%);color: #dc2626;
}.status-text.status-pending {background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);color: #d97706;
}

3. API接口调用

获取预约详情方法
async getAppointmentDetail(appointmentId) {try {const response = await uni.request({url: `${apiConfig.baseURL}/api/violations/appointment-detail/${appointmentId}`,method: 'GET',header: {'Content-Type': 'application/json'}});if (response.statusCode === 200 && response.data && response.data.code === 200) {return response.data.data;}return null;} catch (error) {console.error('获取预约详情失败:', error);return null;}
}
http://www.dtcms.com/a/431002.html

相关文章:

  • Cartograph+explore_lite未知地形建图
  • FileLocator Pro(文件搜索工具) 多语便携版
  • 兼职做任务的网站免费网站下载直播软件免费
  • RabbitMQ死信交换机:消息的“流放之地“
  • LeetCode每日一题——加1
  • BriLLM框架研究可行性分析
  • 苏州工程网站建设wordpress导航菜单最右边
  • Java SE “泛型 + 注解 + 反射”面试清单(含超通俗生活案例与深度理解)
  • 22408计算机网络(初学)
  • 关于docker pull不了相关资源
  • OSPF Authentication-mode 概念
  • 网站怎么搭建在线编程网站开发
  • 以江协科技STM32入门教程的方式打开FreeRTOS——STM32C8T6如何移植FreeRTOS
  • 企业建设网站有哪些费用网站设计培训学院
  • ORB_SLAM2原理及代码解析:Frame::UnprojectStereo() 函数
  • SLAM算法分类对比
  • 碎片笔记|生成模型原理解读:AutoEncoder、GAN 与扩散模型图像生成机制
  • 中文粤语(广州)语音语料库:6219条高质量语音数据助力粤语语音识别与自然语言处理研究
  • Kubernetes HTTPS迁移:Ingress到GatewayAPI实战
  • [Power BI] 矩阵表
  • 陕西省建设厅网站劳保统筹基金网站建设合同需要注意什么
  • 【多线程】——基础篇
  • 多语言网站 自助洛阳兼职网站
  • 【C++实战(61)】C++ 并发编程实战:解锁线程池的奥秘与实现
  • 外贸网站做开关行业的哪个好做网站用什么配置笔记本
  • 极路由 极1s J1S hc5661 刷入OpenWRT并设置同网段子路由
  • 帮传销组织做网站wordpress换域名安装
  • ubuntu 24.04 从 6.8 内核升级 6.11 网卡加载失败问题
  • 如何让网站gzipwordpress 站长
  • SQL——子查询