CodeWave学习笔记--博物馆预约管理系统

场馆信息管理页面搭建(PC)

首先是场馆实体的创建

页面的搭建

在总览界面下创建子界面venueManage界面

现在总览页中实现跳转场馆管理子界面

设计场馆管理界面

效果

访客预约申请页面搭建(H5)

添加H5端,点击确认即可

在index页面下创建子页面

拖入一个标签栏,对标签栏进行修改

然后进行访客预约申请的操作,先创建四个线性布局,然后直接把实体拖进来。选择网格的形式(每行展示一个)然后拖入带图片的卡片

效果实现,但是网格长度太小了重新设置一下

预约流程梳理与相关实体创建

需要创建俩个实体,一个存放访客信息(Visitor) 另一个存放预约记录(VisitRecord)

我们需要将这俩个实体相连起来

我们同时也需要知道你预约的是那个场馆,因此也需要将场馆Venue也关联起来

这里因为需要使用到status因此需要用枚举

页面搭建

在组件中找到弹出层组件,并把访客信息拖拽进去。找到创建模板

拖入一个创建日期组件,并使用visitDate用来存储他

并把值给绑定上,还需要修改一下验证条件

例如手机号的验证可以在添加这条

设计成这个样子

进行逻辑的书写

取消

当点击取消按钮的时候,直接清空visitor的值。然后在调用弹出层的close关闭事件

点击预约,打开pop弹出层

这里我们要做俩件事情。首先我们要获取到我们页面上这个预约按钮对应的场馆信息,关联到我们的场馆

我们创建一个局部变量用来表示我们当前预约的这个场馆的Id,接下来就是当点击预约的时候对这个场馆ID进行赋值

效果实现

预约功能实现--逻辑编写(H5)

在这个保存到数据库的业务逻辑之前要考虑到访客信息是否已经预约过

通过身份证号,查询是否存在改访客信息

     存在:不需要进行访客信息的保存

     不存在:保存访客信息

在服务器端书写查询逻辑

查询内容

筛选条件

立即预约下创建局部变量用来存放查询到的数据

左边如果等于0就是说不存在改访客信息 ,则执行创建访客记录,并用一个变量visitorTemp来接收它

如果有记录那么就把获取到记录赋值给visitorTemp

对预约记录的信息进行保存

记录赋值完后,在进行记录的保存执行的是visitRecord的create事件

最后弹出层的关闭,表单的记录清空

还需要对日期设置最小日期,不能让他选择之前的日期

给最小日期绑定了当前日期。那么最小只能选到今天了

预约记录查询功能实现(H5)

创建一个子页面(预约查询)

并且设置立即预约按钮填写后跳转逻辑

然后是静态界面的搭建

这里运用到了新的组件(搜索框)

这里有一个思路,就是在上个界面直接带入这个身份证的参数(预约查询界面设置一个输入参数)

然后返回到访客预约按钮中的立即预约,并把参数传进去

这里要注意的是先传参,然后在清空。把顺序换一下

审批状态通过标签实现 通过显示条件是否于枚举相同来显示与隐藏

存在问题,拿不到场馆名称,是下面这块立即预约的赋值写错了

 

搞定没有问题 

但这里也有问题,我是张三,因此只展示我的记录。而不是所有的记录,因此需要筛选

定位到他的查询语句

添加筛选 身份证相同

把从其他页面传入过来的身份证信息赋值上

还有一个查询按钮的逻辑,只需要对数据表格进行刷新即可

预约记录管理(PC)

创建子页面

界面设计没有问题 现在我们要进行四个逻辑筛选操作

新建俩个局部变量,用来绑定俩个输入框 

写手机号与场馆名称的筛选条件

找loadRecordManageTableView_1设置俩个输入参数

按照他这种形式做一个嵌套

这里我们使用模糊查询的方式

然后把俩个局部变量拖进去即可

 

 效果实现

批量更新预约记录状态(PC)

如果预约的人比较多,一个个改比较麻烦。这里可以使用批量的修改

新建一个局部变量用来存放多选后的id 

可以参观按钮逻辑设计

 左边是没有选中idList为空。那么右边的逻辑就说明了idList里面有数据了,我们需要在服务器中书写逻辑用来匹配

 数据源

筛选条件这样就能把idList里面的数据全部查询出来了 

回到逻辑当中,新建一个变量来承接我们当当查询出来的数据 

这样我们就拿到了idList

 通过循环对里面的所有数据进行赋值

在新建一个结果list来接收赋值完后的数据

 调用逻辑,更新数据(这里不在循环里面更新是防止多次调用,浪费资源)

效果实现

同理设置不可参观按钮的逻辑

复制可以参观逻辑到不可参观中,对里面的赋值修改一下

 效果实现

公告管理页搭建(PC)

先创建一个公共的实体

 公告栏的状态类型设置为枚举

创建子界面

 这里用到了一个新的组件,富文本(扩展里面)

公告创建与修改逻辑编写(PC)

当我们创建一个公共页的时候,默认给他展示为公告页展示

修改理解创建按钮的逻辑

 他意思是说在表单验证后,保存到数据库中。那么我们就需要在保存数据库之前就把表单的内容进行修改

提交修改按钮逻辑

 修改表单之后我们需要进行判断,因为h5端只能显示一个界面

判断input是否为首页展示

 

查询到状态为首页展示的数据

 新建一个局部变量用于保存我们刚刚查询到的数据

不为0说明数据库中存在首页展示的公告,接下来的操作就是把数据库里面的拿出来对比一下是不是这个公告

 等于就是我们修改的这一条,不等于就是不是我们修改的那条(因为首页只能展示一条公告因此需要断开)

ok搞定

 然后发现有问题,可以有俩个首页展示这是错误的。修改

这里的条件弄错了,所有的操作都是满足的首页展示下进行的 

效果实现 

详情与删除功能完善(PC)

就是查看详情与删除的二次确认的开发

现在,我们需要创建一个局部变量用于存放这条表单项的详情信息

 点击详情,拿到数据并赋值 并调用打开弹窗事件

详情页面设计如上,注意的一点。不需要底部按钮。可以在弹窗的属性当中把底部栏关闭即可

 现在对删除确认进行开发

 点击删除文本逻辑如上

弹窗确认逻辑如上

 效果实现

公共轮播标题设置(H5)

这里我们需要用到这个通知栏组件

 首页进入时,进行首页展示的公告查询

创建一个局部变量用来保存查询到的信息

如果等于0就说明不存在首页展示状态的公告

 在首页中创建一个局部变量用于存放这个公告栏信息

获取到这条公告,然后在给这个通知栏绑定变量

 在前端全局变量(其他界面也需要用到)中设置一个变量用来控制通知栏的显示隐藏

逻辑如上

效果实现

公告详情页开发(H5)

类型选择链接 这样就能点击公告栏跳转到公共详情页 

界面是这样的,我们需要一个输入参数,告诉这个详情界面是那个?

我们通过这个传过来的id来查询到这条公告

 

然后回到首页把这个id传进入所有下架

我们继续完善,在公共详情当中所有非下架的数据也显示出来

 把公告实体中间拖进来

找到这个实体的数据源,进去 

 需要降序排序

点击卡片对卡片里面的数据也要进行修改 

这样它就获取到了我们点击这一行的这一条数据

OK界面完成

参观数据统计(PC)

创建一个数据展示页,并设计界面

 书写获取数量统计逻辑 那么我们首先需要查询到这些数据

数据源

 筛选条件 数据库里的类型等于输入的类型

之后想要统计数量可以来到分组聚合,因为我们需要计数,因此需要用到计数函数

回到页面在对这些数据进行绑定。因为是三个数据,因此需要创建三个变量用来存储这些数据 

然后给这个界面设置一个进入时的事件,依此对三个变量进行赋值

 

 效果实现

图表基础使用(PC)

在组件的扩展当中直接拖出你需要的图表

图表需要数据源,因此我们需要书写逻辑

 

而我们统计是每天的已参观数量

 

我们需要对每天的日期进去分组 计数

接下来我们就需要把这个查询到的数据作为一个数据源来给到我们的图表

书写一个逻辑用来存储当当拿到的数据,并把它绑定上柱形的数据源

 设置柱状图的维度(X轴)和度量(Y轴) 

效果如上,同理设置折线图和饼图

 现在展示的都是每日参观人数

图表属性当中的标题指的是下载后的名称

完整效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/677207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

特征工程:数据平衡

目录 一、前言 二、正文 Ⅰ.基于过采样算法 Ⅱ.基于欠采样算法 Ⅲ..基于过采样和欠采样的综合算法 三、结语 一、前言 大多数情况下,使用的数据集是不完美的,会出现各种各样的问题,尤其针对分类问题的时候,会出现类别不平衡的…

RabbitMQ的延迟队列实现[死信队列](笔记一)

关于死信队列的使用场景不再强调,只针对服务端配置 注意: 本文只针对实现死信队列的rabbitMQ基本配置步骤进行阐述和实现 目录 1、docker-compose 安装rabbitMq2、查看对应的版本及插件下载3、安装插件和检测 1、docker-compose 安装rabbitMq a、使用d…

【Java EE初阶十二】网络初识

1. 网络发展史 网络发展的几个主要时期: 单机时代->局域网时代->广域网时代->移动互联网时代 随着时代的发展,越来越需要计算机之间互相通信,共享软件和数据,即以多个计算机协同工作来完成 业务,就有了网络互…

Linux文本三剑客(2)

文章目录 一、Linux文本三剑客之awk使用方法awk 的原理实例一:只查看test.txt文件(100行)内第20到第30行的内容(企业面试)实例二:已知test.txt文件内容为 BEGIN 和 END 模块实例一:统计/etc/pas…

【Qt 学习之路】在 Qt 使用 ZeroMQ

文章目录 1、概述2、ZeroMQ介绍2.1、ZeroMQ 是什么2.2、ZeroMQ 主线程与I/O线程2.3、ZeroMQ 4种模型2.4、ZeroMQ 相关地址 3、Qt 使用 ZeroMQ3.1、下载 ZeroMQ3.2、添加 ZeroMQ 库3.3、使用 ZeroMQ3.4、相关 ZeroMQ 案例 1、概述 今天是大年初一,先给大家拜个年&am…

移动端web开发布局

目录 flex布局: flex布局父项常见属性: flex布局子项常见属性: REM适配布局: 响应式布局: flex布局: 需要先给父类盒子设置display:flex flex是flexiblebox的缩写,意为"弹…

【51单片机】添加模块代码的常见问题(图示&代码演示)

前言 大家好吖,欢迎来到 YY 滴 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 本章节是Lcd1602章节的一部分,以把4个Lcd驱动程序添加为例子,完整传送门在下方传送门 欢迎订阅 YY滴C专栏&…

提升MySQL访问性能

1. 读写分离 设置多个从数据库,从数据库可能在多个机器中。写操作在主数据库进行主数据库提供数据的主要依据 缓解了MySQL的读压力。 主从复制原理图如下 如果对于读操作有一致性要求,那么读操作去主数据库即可。 2. 连接池 因为一个请求必须要…

基于springboot广场舞团管理系统源码和论文

随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&#xf…

内存管理 | 进程地址空间

文章目录 1.进程地址空间的理解2.将虚拟地址转换为物理地址3.进程地址空间的设计4.进程地址空间的好处 1.进程地址空间的理解 在 前文 分享的fork创建子进程的系统调用中,一个变量接收了两个不同的返回值!通过推测也知道,那个地址绝不是真是…

分享66个相册特效,总有一款适合您

分享66个相册特效,总有一款适合您 66个相册特效下载链接:https://pan.baidu.com/s/1jqctaho4sL_iGSNExhWB6A?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不…

【java苍穹外卖项目实战二】苍穹外卖环境搭建

文章目录 1、前端环境搭建2、后端环境搭建1、项目结构搭建2、Git版本控制3、数据库创建 开发环境搭建主要包含前端环境和后端环境两部分。 前端的页面我们只需要导入资料中的nginx, 前端页面的代码我们只需要能看懂即可。 1、前端环境搭建 前端运行环境的nginx&am…

STM32 FSMC (Flexible static memory controller) 灵活静态内存控制器介绍

文章目录 1. 介绍FSMC2. FSMC特点3. Block示意图4. AHB接口4.1 Supported memories and transactionsGeneral transaction rulesConfiguration registers 5. 外部设备地址映射5.1 NOR/PSRAM地址映射将NOR Flash/PSRAM的支持进行封装 5.2 NAND/PC Card地址映射 1. 介绍FSMC 说到…

使用python-numpy实现一个简单神经网络

目录 前言 导入numpy并初始化数据和激活函数 初始化学习率和模型参数 迭代更新模型参数(权重) 小彩蛋 前言 这篇文章,小编带大家使用python-numpy实现一个简单的三层神经网络,不使用pytorch等深度学习框架,来理解…

TELNET 远程终端协议

远程终端协议 TELNET TELNET 是一个简单的远程终端协议,也是互联网的正式标准。 用户用 TELNET 就可在其所在地通过 TCP 连接注册(即登录)到远地的另一个主机上(使用主机名或 IP 地址)。 TELNET 能将用户的击键传到…

使用cocos2d-console初始化一个项目

先下载好cocos2d-x的源码包 地址 https://www.cocos.com/cocos2dx-download 这里使用的版本是 自己的电脑要先装好python27 用python安装cocos2d-console 看到项目中有个setup.py的一个文件 python setup.py 用上面的命令执行一下。 如果执行正常的话回出现上面的图 然后…

每日五道java面试题之java基础篇(二)

第一题. 为什么说 Java 语⾔“编译与解释并存”? ⾼级编程语⾔按照程序的执⾏⽅式分为编译型和解释型两种。 简单来说,编译型语⾔是指编译器针对特定的操作系统将源代码⼀次性翻译成可被该平台执⾏的机器码;解释型语⾔是指解释器对源程序逐…

前端JavaScript篇之call() 和 apply() 的区别?

目录 call() 和 apply() 的区别? call() 和 apply() 的区别? 在JavaScript中,call()和apply()都是用来改变函数中this指向的方法,它们的作用是一样的,只是传参的方式不同。 call()方法和apply()方法的第一个参数都是…

4核8g服务器能支持多少人访问?2024新版测评

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线?通用型-4核8G-180G-2000G,2000GB月流量,系统盘为180GB SSD盘,12M公网带宽,下载速度峰值为1536KB/s,即1.5M/秒,假设网站内页平均大小为60KB…

js-添加网页快捷方式

title: js-添加网页快捷方式 categories: Javascript tags: [p快捷方式] date: 2024-02-04 15:28:25 comments: false mathjax: true toc: true js-添加网页快捷方式 前篇 谷歌上包困难的情况, 只能通过投放落地页来缓解一下痛苦, web2app 那种形式有几个比较大的缺点就是需要…