Compare commits

...

2 Commits

Author SHA1 Message Date
spc 6e65df18ad zsdm
5 months ago
spc fbdbf96c14 zsdm
5 months ago

Binary file not shown.

@ -1,47 +1,61 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,表示与 AdminDao 接口对应 -->
<mapper namespace="com.itheima.dao.AdminDao" > <mapper namespace="com.itheima.dao.AdminDao" >
<!--登陆查询--> <!-- 登陆查询 SQL -->
<select id="findAdmin" parameterType="Admin" resultType="Admin"> <select id="findAdmin" parameterType="Admin" resultType="Admin">
<!-- 查询管理员表中符合条件的数据 -->
select * from d_admin select * from d_admin
where where
<!-- 如果用户名不为空,加入条件 -->
<if test="a_username!=null and a_username!='' "> <if test="a_username!=null and a_username!='' ">
a_username = #{a_username} a_username = #{a_username}
</if> </if>
<!-- 如果密码不为空,加入条件 -->
<if test="a_password!=null and a_password!='' "> <if test="a_password!=null and a_password!='' ">
and a_password = #{a_password} and a_password = #{a_password}
</if> </if>
</select> </select>
<!--分页查询--> <!-- 分页查询管理员信息 -->
<select id="getAdminList" parameterType="Admin" resultType="Admin"> <select id="getAdminList" parameterType="Admin" resultType="Admin">
select * from d_admin select * from d_admin
<where> <where>
<!-- 根据用户名模糊查询 -->
<if test="a_username!=null and a_username!='' "> <if test="a_username!=null and a_username!='' ">
and a_username like '%${a_username}%' and a_username like '%${a_username}%'
</if> </if>
<!-- 根据描述模糊查询 -->
<if test="a_describe!=null and a_describe!=''"> <if test="a_describe!=null and a_describe!=''">
and a_describe like '%${a_describe}%' and a_describe like '%${a_describe}%'
</if> </if>
<!-- 根据管理员 ID 模糊查询 -->
<if test="a_id!=null and a_id!=0"> <if test="a_id!=null and a_id!=0">
and a_id like '%${a_id}%' and a_id like '%${a_id}%'
</if> </if>
</where> </where>
<!-- 按管理员 ID 升序排序 -->
ORDER BY a_id asc ORDER BY a_id asc
<!-- 分页限制 -->
limit #{currentPage},#{pageSize} limit #{currentPage},#{pageSize}
</select> </select>
<!--查询数据总数-->
<!-- 查询管理员总数据条数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
select count(a_id) from d_admin select count(a_id) from d_admin
<where> <where>
<!-- 根据用户名模糊查询 -->
<if test="a_username!=null and a_username!='' "> <if test="a_username!=null and a_username!='' ">
and a_username like '%${a_username}%' and a_username like '%${a_username}%'
</if> </if>
<!-- 根据描述模糊查询 -->
<if test="a_describe!=null and a_describe!=''"> <if test="a_describe!=null and a_describe!=''">
and a_describe like '%${a_describe}%' and a_describe like '%${a_describe}%'
</if> </if>
<!-- 根据管理员 ID 查询 -->
<if test="a_id!=null and a_id!=0"> <if test="a_id!=null and a_id!=0">
and a_id like '%${a_id}%' and a_id like '%${a_id}%'
</if> </if>
@ -54,15 +68,17 @@
values(#{a_username},#{a_password},#{a_name},#{a_phone},#{a_power},#{a_describe}) values(#{a_username},#{a_password},#{a_name},#{a_phone},#{a_power},#{a_describe})
</insert> </insert>
<!--通过id删除管理员信息--> <!-- 通过管理员 ID 删除管理员信息 -->
<delete id="deleteAdmin" parameterType="Integer" > <delete id="deleteAdmin" parameterType="Integer" >
delete from d_admin where a_id=#{a_id} delete from d_admin where a_id=#{a_id}
</delete> </delete>
<!-- 根据管理员 ID 查询管理员信息 -->
<select id="findAdminById" parameterType="Integer" resultType="Admin"> <select id="findAdminById" parameterType="Integer" resultType="Admin">
select * from d_admin where a_id=#{a_id} select * from d_admin where a_id=#{a_id}
</select> </select>
<!-- 查询所有管理员信息 -->
<select id="getAll" resultType="Admin"> <select id="getAll" resultType="Admin">
select * from d_admin; select * from d_admin;
</select> </select>
@ -71,25 +87,32 @@
<update id="updateAdmin" parameterType="Admin"> <update id="updateAdmin" parameterType="Admin">
update d_admin update d_admin
<set> <set>
<!-- 如果用户名不为空,更新用户名 -->
<if test="a_username!=null and a_username !=''"> <if test="a_username!=null and a_username !=''">
a_username=#{a_username}, a_username=#{a_username},
</if> </if>
<!-- 如果密码不为空,更新密码 -->
<if test="a_password !=null and a_password !=''"> <if test="a_password !=null and a_password !=''">
a_password=#{a_password}, a_password=#{a_password},
</if> </if>
<!-- 如果姓名不为空,更新姓名 -->
<if test="a_name !=null and a_name !=''"> <if test="a_name !=null and a_name !=''">
a_name=#{a_name}, a_name=#{a_name},
</if> </if>
<!-- 如果电话号码不为空,更新电话号码 -->
<if test="a_phone !=null and a_phone !=0"> <if test="a_phone !=null and a_phone !=0">
a_phone=#{a_phone}, a_phone=#{a_phone},
</if> </if>
<!-- 如果权限不为空,更新权限 -->
<if test="a_power !=null and a_power !=''"> <if test="a_power !=null and a_power !=''">
a_power=#{a_power}, a_power=#{a_power},
</if> </if>
<!-- 如果描述不为空,更新描述 -->
<if test="a_describe!=null and a_describe!=''"> <if test="a_describe!=null and a_describe!=''">
a_describe=#{a_describe}, a_describe=#{a_describe},
</if> </if>
</set> </set>
<!-- 根据管理员 ID 更新数据 -->
where a_id = #{a_id} where a_id = #{a_id}
</update> </update>
</mapper> </mapper>

@ -1,80 +1,103 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,表示与 ClassDao 接口对应 -->
<mapper namespace="com.itheima.dao.ClassDao" > <mapper namespace="com.itheima.dao.ClassDao" >
<!--分页查询--> <!-- 分页查询班级信息 -->
<select id="getClassList" parameterType="Class" resultType="Class"> <select id="getClassList" parameterType="Class" resultType="Class">
<!-- 查询班级表中符合条件的数据 -->
select * from d_class select * from d_class
<where> <where>
<!-- 根据班级名称模糊查询 -->
<if test="c_classname!=null and c_classname!='' "> <if test="c_classname!=null and c_classname!='' ">
and c_classname like '%${c_classname}%' and c_classname like '%${c_classname}%'
</if> </if>
<!-- 根据辅导员名称模糊查询 -->
<if test="c_counsellor!=null and c_counsellor!=''"> <if test="c_counsellor!=null and c_counsellor!=''">
and c_counsellor like '%${c_counsellor}%' and c_counsellor like '%${c_counsellor}%'
</if> </if>
<!-- 根据班级 ID 模糊查询 -->
<if test="c_classid!=null and c_classid!=0"> <if test="c_classid!=null and c_classid!=0">
and c_classid like '%${c_classid}%' and c_classid like '%${c_classid}%'
</if> </if>
</where> </where>
<!-- 按班级主键 ID 升序排序 -->
ORDER BY c_id asc ORDER BY c_id asc
<!-- 分页限制 -->
limit #{currentPage},#{pageSize} limit #{currentPage},#{pageSize}
</select> </select>
<!--查询数据总数-->
<!-- 查询班级总数据条数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
select count(c_id) from d_class select count(c_id) from d_class
<where> <where>
<!-- 根据班级名称模糊查询 -->
<if test="c_classname!=null and c_classname!='' "> <if test="c_classname!=null and c_classname!='' ">
and c_classname like '%${c_classname}%' and c_classname like '%${c_classname}%'
</if> </if>
<!-- 根据辅导员名称模糊查询 -->
<if test="c_counsellor!=null and c_counsellor!=''"> <if test="c_counsellor!=null and c_counsellor!=''">
and c_counsellor like '%${c_counsellor}%' and c_counsellor like '%${c_counsellor}%'
</if> </if>
<!-- 根据班级 ID 查询 -->
<if test="c_classid!=null and c_classid!=0"> <if test="c_classid!=null and c_classid!=0">
and c_classid like '%${c_classid}%' and c_classid like '%${c_classid}%'
</if> </if>
</where> </where>
</select> </select>
<!--通过id删除班级信息--> <!-- 通过班级主键 ID 删除班级信息 -->
<delete id="deleteClass" parameterType="Integer" > <delete id="deleteClass" parameterType="Integer" >
delete from d_class where c_id=#{c_id} delete from d_class where c_id=#{c_id}
</delete> </delete>
<!-- 添加班级信息 --> <!-- 添加班级信息 -->
<insert id="addClass" parameterType="Class" keyProperty="c_id" useGeneratedKeys="true"> <insert id="addClass" parameterType="Class" keyProperty="c_id" useGeneratedKeys="true">
insert into d_class (c_classid,c_classname,c_counsellor) insert into d_class (c_classid,c_classname,c_counsellor)
values(#{c_classid},#{c_classname},#{c_counsellor}) values(#{c_classid},#{c_classname},#{c_counsellor})
</insert> </insert>
<!-- 根据班级主键 ID 查询班级信息 -->
<select id="findClassById" parameterType="Integer" resultType="Class"> <select id="findClassById" parameterType="Integer" resultType="Class">
select * from d_class where c_id=#{c_id} select * from d_class where c_id=#{c_id}
</select> </select>
<!-- 修改班级信息 --> <!-- 修改班级信息 -->
<update id="updateClass" parameterType="Class"> <update id="updateClass" parameterType="Class">
update d_class update d_class
<set> <set>
<!-- 如果班级 ID 不为空,更新班级 ID -->
<if test="c_classid!=null and c_classid!=0"> <if test="c_classid!=null and c_classid!=0">
c_classid=#{c_classid}, c_classid=#{c_classid},
</if> </if>
<!-- 如果班级名称不为空,更新班级名称 -->
<if test="c_classname !=null and c_classname !=''"> <if test="c_classname !=null and c_classname !=''">
c_classname=#{c_classname}, c_classname=#{c_classname},
</if> </if>
<!-- 如果辅导员名称不为空,更新辅导员名称 -->
<if test="c_counsellor !=null and c_counsellor !=''"> <if test="c_counsellor !=null and c_counsellor !=''">
c_counsellor=#{c_counsellor}, c_counsellor=#{c_counsellor},
</if> </if>
</set> </set>
<!-- 根据班级主键 ID 更新数据 -->
where c_id = #{c_id} where c_id = #{c_id}
</update> </update>
<!--Mybatis使用Collection进行表关联查询关联一对多数据类型(class为一student为多)且需要有id--> <!-- MyBatis 使用 Collection 进行表关联查询,一对多数据 (class 为一student 为多) -->
<!--Association关联一对一类型--> <!-- 定义一对一与一对多映射关系 -->
<!--班级人员信息查询信息--> <!-- 班级人员信息查询 -->
<resultMap type="com.itheima.po.Class" id="cardAndInfo2"> <resultMap type="com.itheima.po.Class" id="cardAndInfo2">
<!-- 定义主键 -->
<id property="c_id" column="c_id"/> <id property="c_id" column="c_id"/>
<!-- 定义班级字段映射 -->
<result property="c_classid" column="c_classid"/> <result property="c_classid" column="c_classid"/>
<result property="c_classname" column="c_classname"/> <result property="c_classname" column="c_classname"/>
<result property="c_counsellor" column="c_counsellor"/> <result property="c_counsellor" column="c_counsellor"/>
<!-- 定义学生集合映射 -->
<collection property="students" ofType="com.itheima.po.Student" javaType="ArrayList"> <collection property="students" ofType="com.itheima.po.Student" javaType="ArrayList">
<!-- 学生字段映射 -->
<id property="s_id" column="s_id"/> <id property="s_id" column="s_id"/>
<result property="s_studentid" column="s_studentid"/> <result property="s_studentid" column="s_studentid"/>
<result property="s_name" column="s_name"/> <result property="s_name" column="s_name"/>
@ -87,18 +110,21 @@
</collection> </collection>
</resultMap> </resultMap>
<!--SQL选择属性与构造的resultMap属性名要一致--> <!-- 根据班级 ID 和名称查询对应学生信息 -->
<select id="findClassStudent" parameterType="Class" resultMap="cardAndInfo2"> <select id="findClassStudent" parameterType="Class" resultMap="cardAndInfo2">
SELECT uclass.c_id as c_id,uclass.c_classid as c_classid,uclass.c_classname as c_classname,uclass.c_counsellor as c_counsellor, SELECT uclass.c_id as c_id,uclass.c_classid as c_classid,uclass.c_classname as c_classname,uclass.c_counsellor as c_counsellor,
student.s_id as s_id,student.s_studentid as s_studentid,student.s_name as s_name,student.s_sex as s_sex,student.s_age as s_age, student.s_id as s_id,student.s_studentid as s_studentid,student.s_name as s_name,student.s_sex as s_sex,student.s_age as s_age,
student.s_phone as s_phone,student.s_classid as s_classid,student.s_classname as s_classname,student.s_dormitoryid as s_dormitoryid student.s_phone as s_phone,student.s_classid as s_classid,student.s_classname as s_classname,student.s_dormitoryid as s_dormitoryid
<!-- 关联班级与学生表 -->
FROM d_class uclass join d_student student FROM d_class uclass join d_student student
on uclass.c_classid = student.s_classid on uclass.c_classid = student.s_classid
and uclass.c_classname = student.s_classname and uclass.c_classname = student.s_classname
<!-- 根据班级 ID 和名称过滤 -->
where uclass.c_classid = #{c_classid} where uclass.c_classid = #{c_classid}
and uclass.c_classname = #{c_classname} and uclass.c_classname = #{c_classname}
</select> </select>
<!-- 查询所有班级信息 -->
<select id="getAll" resultType="Class"> <select id="getAll" resultType="Class">
select * from d_class; select * from d_class;
</select> </select>

@ -1,30 +1,39 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,与 DormCleanDao 接口对应 -->
<mapper namespace="com.itheima.dao.DormCleanDao" > <mapper namespace="com.itheima.dao.DormCleanDao" >
<!--分页查询--> <!-- 分页查询宿舍卫生信息 -->
<select id="getDormCleanList" parameterType="DormClean" resultType="DormClean"> <select id="getDormCleanList" parameterType="DormClean" resultType="DormClean">
<!-- 查询宿舍卫生表中的数据 -->
select * from d_dormgrade select * from d_dormgrade
<where> <where>
<!-- 根据宿舍 ID 模糊查询 -->
<if test="d_id!=null and d_id!=0"> <if test="d_id!=null and d_id!=0">
and d_id like '%${d_id}%' and d_id like '%${d_id}%'
</if> </if>
<!-- 根据宿舍楼名称模糊查询 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
and d_dormbuilding like '%${d_dormbuilding}%' and d_dormbuilding like '%${d_dormbuilding}%'
</if> </if>
</where> </where>
<!-- 按宿舍卫生记录 ID 升序排序 -->
ORDER BY g_id asc ORDER BY g_id asc
<!-- 分页限制 -->
limit #{currentPage},#{pageSize} limit #{currentPage},#{pageSize}
</select> </select>
<!--查询数据总数--> <!-- 查询宿舍卫生记录总数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
select count(g_id) from d_dormgrade select count(g_id) from d_dormgrade
<where> <where>
<!-- 根据宿舍 ID 模糊查询 -->
<if test="d_id!=null and d_id!=0"> <if test="d_id!=null and d_id!=0">
and d_id like '%${d_id}%' and d_id like '%${d_id}%'
</if> </if>
<!-- 根据宿舍楼名称模糊查询 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
and d_dormbuilding like '%${d_dormbuilding}%' and d_dormbuilding like '%${d_dormbuilding}%'
</if> </if>
@ -33,15 +42,17 @@
<!-- 添加宿舍卫生信息 --> <!-- 添加宿舍卫生信息 -->
<insert id="addDormClean" parameterType="DormClean" keyProperty="g_id" useGeneratedKeys="true"> <insert id="addDormClean" parameterType="DormClean" keyProperty="g_id" useGeneratedKeys="true">
<!-- 插入宿舍卫生记录,包括宿舍 ID、宿舍楼名称、卫生评分和创建/更新时间 -->
insert into d_dormgrade (d_id, d_dormbuilding, d_grade, create_time, update_time) insert into d_dormgrade (d_id, d_dormbuilding, d_grade, create_time, update_time)
values (#{d_id}, #{d_dormbuilding}, #{d_grade}, now(), now()) values (#{d_id}, #{d_dormbuilding}, #{d_grade}, now(), now())
</insert> </insert>
<!--通过id删除宿舍卫生信息--> <!-- 通过卫生记录 ID 删除宿舍卫生信息 -->
<delete id="deleteDormClean" parameterType="Integer"> <delete id="deleteDormClean" parameterType="Integer">
delete from d_dormgrade where g_id=#{g_id} delete from d_dormgrade where g_id=#{g_id}
</delete> </delete>
<!-- 根据卫生记录 ID 查询宿舍卫生信息 -->
<select id="findDormCleanById" parameterType="Integer" resultType="DormClean"> <select id="findDormCleanById" parameterType="Integer" resultType="DormClean">
select * from d_dormgrade where g_id=#{g_id} select * from d_dormgrade where g_id=#{g_id}
</select> </select>
@ -50,31 +61,38 @@
<update id="updateDormClean" parameterType="DormClean"> <update id="updateDormClean" parameterType="DormClean">
update d_dormgrade update d_dormgrade
<set> <set>
<!-- 如果宿舍 ID 不为空,更新宿舍 ID -->
<if test="d_id!=null and d_id!=0"> <if test="d_id!=null and d_id!=0">
d_id=#{d_id}, d_id=#{d_id},
</if> </if>
<!-- 如果宿舍楼名称不为空,更新宿舍楼名称 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
d_dormbuilding=#{d_dormbuilding}, d_dormbuilding=#{d_dormbuilding},
</if> </if>
<!-- 如果卫生评分不为空,更新卫生评分 -->
<if test="d_grade!=null and d_grade!=0"> <if test="d_grade!=null and d_grade!=0">
d_grade=#{d_grade}, d_grade=#{d_grade},
</if> </if>
<!-- 更新修改时间为当前时间 -->
<if test="update_time != null"> <if test="update_time != null">
update_time = now(), update_time = now(),
</if> </if>
</set> </set>
<!-- 根据卫生记录 ID 更新数据 -->
where g_id = #{g_id} where g_id = #{g_id}
</update> </update>
<!-- 查询所有宿舍卫生记录 -->
<select id="getAll" resultType="DormClean"> <select id="getAll" resultType="DormClean">
select * from d_dormgrade; select * from d_dormgrade;
</select> </select>
<!--宿舍卫生信息查询信息--> <!-- 宿舍卫生信息结果映射 -->
<resultMap type="com.itheima.po.DormClean" id="cardAndInfo2"> <resultMap type="com.itheima.po.DormClean" id="cardAndInfo2">
<!-- 定义主键 -->
<id property="d_id" column="d_id"/> <id property="d_id" column="d_id"/>
<!-- 定义宿舍楼字段 -->
<result property="d_dormbuilding" column="d_dormbuilding"/> <result property="d_dormbuilding" column="d_dormbuilding"/>
</resultMap> </resultMap>
</mapper> </mapper>

@ -1,80 +1,102 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,与 DormRepairDao 接口对应 -->
<mapper namespace="com.itheima.dao.DormRepairDao" > <mapper namespace="com.itheima.dao.DormRepairDao" >
<!--分页查询--> <!-- 分页查询宿舍维修记录 -->
<select id="getDormRepairList" parameterType="DormRepair" resultType="DormRepair"> <select id="getDormRepairList" parameterType="DormRepair" resultType="DormRepair">
<!-- 查询宿舍维修记录表 -->
select * from d_dormrepair select * from d_dormrepair
<where> <where>
<!-- 根据宿舍 ID 进行模糊查询 -->
<if test="d_id!=null and d_id!=0"> <if test="d_id!=null and d_id!=0">
and d_id like '%${d_id}%' and d_id like '%${d_id}%'
</if> </if>
<!-- 根据宿舍楼进行模糊查询 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
and d_dormbuilding like '%${d_dormbuilding}%' and d_dormbuilding like '%${d_dormbuilding}%'
</if> </if>
</where> </where>
<!-- 按维修记录 ID 升序排序 -->
ORDER BY r_id asc ORDER BY r_id asc
<!-- 实现分页功能 -->
limit #{currentPage}, #{pageSize} limit #{currentPage}, #{pageSize}
</select> </select>
<!--查询数据总数-->
<!-- 查询宿舍维修记录总数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
<!-- 查询宿舍维修表中的记录数 -->
select count(r_id) from d_dormrepair select count(r_id) from d_dormrepair
<where> <where>
<!-- 根据宿舍 ID 进行模糊查询 -->
<if test="d_id!=null and d_id!=0"> <if test="d_id!=null and d_id!=0">
and d_id like '%${d_id}%' and d_id like '%${d_id}%'
</if> </if>
<!-- 根据宿舍楼进行模糊查询 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
and d_dormbuilding like '%${d_dormbuilding}%' and d_dormbuilding like '%${d_dormbuilding}%'
</if> </if>
</where> </where>
</select> </select>
<!--添加宿舍信息--> <!-- 添加宿舍维修记录 -->
<insert id="addDormRepair" parameterType="DormRepair" keyProperty="r_id" useGeneratedKeys="true"> <insert id="addDormRepair" parameterType="DormRepair" keyProperty="r_id" useGeneratedKeys="true">
<!-- 插入宿舍维修信息,包括宿舍 ID、宿舍楼、维修名称、原因、创建时间和更新时间 -->
insert into d_dormrepair (d_id, d_dormbuilding, r_name, reason, create_time, update_time) insert into d_dormrepair (d_id, d_dormbuilding, r_name, reason, create_time, update_time)
values (#{d_id}, #{d_dormbuilding}, #{r_name}, #{reason}, now(), now()) values (#{d_id}, #{d_dormbuilding}, #{r_name}, #{reason}, now(), now())
</insert> </insert>
<!--通过id删除宿舍信息--> <!-- 通过维修记录 ID 删除宿舍维修记录 -->
<delete id="deleteDormRepair" parameterType="Integer"> <delete id="deleteDormRepair" parameterType="Integer">
delete from d_dormrepair where r_id=#{r_id} delete from d_dormrepair where r_id=#{r_id}
</delete> </delete>
<!-- 根据维修记录 ID 查询单个宿舍维修记录 -->
<select id="findDormRepairById" parameterType="Integer" resultType="DormRepair"> <select id="findDormRepairById" parameterType="Integer" resultType="DormRepair">
select * from d_dormrepair where r_id=#{r_id} select * from d_dormrepair where r_id=#{r_id}
</select> </select>
<!-- 查询所有宿舍维修记录 -->
<select id="getAll" resultType="DormRepair"> <select id="getAll" resultType="DormRepair">
select * from d_dormrepair; select * from d_dormrepair;
</select> </select>
<!--修改宿舍信息--> <!-- 修改宿舍维修记录 -->
<update id="updateDormRepair" parameterType="DormRepair"> <update id="updateDormRepair" parameterType="DormRepair">
update d_dormrepair update d_dormrepair
<set> <set>
<!-- 如果宿舍 ID 不为空,更新宿舍 ID -->
<if test="d_id!=null and d_id!=0"> <if test="d_id!=null and d_id!=0">
d_id=#{d_id}, d_id=#{d_id},
</if> </if>
<!-- 如果宿舍楼名称不为空,更新宿舍楼名称 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
d_dormbuilding=#{d_dormbuilding}, d_dormbuilding=#{d_dormbuilding},
</if> </if>
<!-- 如果维修名称不为空,更新维修名称 -->
<if test="r_name !=null and r_name !=''"> <if test="r_name !=null and r_name !=''">
r_name=#{r_name}, r_name=#{r_name},
</if> </if>
<!-- 如果维修原因不为空,更新维修原因 -->
<if test="reason !=null and reason !=''"> <if test="reason !=null and reason !=''">
reason=#{reason}, reason=#{reason},
</if> </if>
<!-- 如果更新时间不为空,更新更新时间 -->
<if test="update_time !=null"> <if test="update_time !=null">
update_time=now(), update_time=now(),
</if> </if>
</set> </set>
<!-- 根据维修记录 ID 更新数据 -->
where r_id = #{r_id} where r_id = #{r_id}
</update> </update>
<!--宿舍人员信息查询信息--> <!-- 定义宿舍维修记录的结果映射 -->
<resultMap type="com.itheima.po.DormRepair" id="cardAndInfo2"> <resultMap type="com.itheima.po.DormRepair" id="cardAndInfo2">
<!-- 定义主键 r_id -->
<id property="r_id" column="r_id"/> <id property="r_id" column="r_id"/>
<!-- 映射其他字段 -->
<result property="d_id" column="d_id"/> <result property="d_id" column="d_id"/>
<result property="d_dormbuilding" column="d_dormbuilding"/> <result property="d_dormbuilding" column="d_dormbuilding"/>
<result property="r_name" column="r_name"/> <result property="r_name" column="r_name"/>
@ -83,5 +105,4 @@
<result property="update_time" column="update_time"/> <result property="update_time" column="update_time"/>
</resultMap> </resultMap>
</mapper> </mapper>

@ -1,35 +1,48 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,与 DormitoryDao 接口对应 -->
<mapper namespace="com.itheima.dao.DormitoryDao" > <mapper namespace="com.itheima.dao.DormitoryDao" >
<!--分页查询--> <!-- 分页查询宿舍信息 -->
<select id="getDormitoryList" parameterType="Dormitory" resultType="Dormitory"> <select id="getDormitoryList" parameterType="Dormitory" resultType="Dormitory">
<!-- 查询宿舍信息表中的数据 -->
select * from d_dormitoryinfo select * from d_dormitoryinfo
<where> <where>
<!-- 根据宿舍管理员姓名模糊查询 -->
<if test="a_name!=null and a_name!=''"> <if test="a_name!=null and a_name!=''">
and a_name like '%${a_name}%' and a_name like '%${a_name}%'
</if> </if>
<!-- 根据宿舍 ID 模糊查询 -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
and s_dormitoryid like '%${s_dormitoryid}%' and s_dormitoryid like '%${s_dormitoryid}%'
</if> </if>
<!-- 根据宿舍楼名称模糊查询 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
and d_dormbuilding like '%${d_dormbuilding}%' and d_dormbuilding like '%${d_dormbuilding}%'
</if> </if>
</where> </where>
<!-- 按宿舍 ID 升序排序 -->
ORDER BY d_id asc ORDER BY d_id asc
<!-- 分页限制 -->
limit #{currentPage}, #{pageSize} limit #{currentPage}, #{pageSize}
</select> </select>
<!--查询数据总数-->
<!-- 查询宿舍记录总数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
<!-- 查询宿舍信息表中的记录数 -->
select count(s_dormitoryid) from d_dormitoryinfo select count(s_dormitoryid) from d_dormitoryinfo
<where> <where>
<!-- 根据宿舍管理员姓名模糊查询 -->
<if test="a_name!=null and a_name!=''"> <if test="a_name!=null and a_name!=''">
and a_name like '%${a_name}%' and a_name like '%${a_name}%'
</if> </if>
<!-- 根据宿舍 ID 模糊查询 -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
and s_dormitoryid like '%${s_dormitoryid}%' and s_dormitoryid like '%${s_dormitoryid}%'
</if> </if>
<!-- 根据宿舍楼名称模糊查询 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
and d_dormbuilding like '%${d_dormbuilding}%' and d_dormbuilding like '%${d_dormbuilding}%'
</if> </if>
@ -38,15 +51,17 @@
<!-- 添加宿舍信息 --> <!-- 添加宿舍信息 -->
<insert id="addDormitory" parameterType="Dormitory" keyProperty="d_id" useGeneratedKeys="true"> <insert id="addDormitory" parameterType="Dormitory" keyProperty="d_id" useGeneratedKeys="true">
<!-- 插入宿舍信息,包括宿舍 ID、宿舍楼名称、床位总数、空余床位数和管理员姓名 -->
insert into d_dormitoryinfo (s_dormitoryid, d_dormbuilding, d_bedtotal, d_bed, a_name) insert into d_dormitoryinfo (s_dormitoryid, d_dormbuilding, d_bedtotal, d_bed, a_name)
values (#{s_dormitoryid}, #{d_dormbuilding}, #{d_bedtotal}, #{d_bed}, #{a_name}) values (#{s_dormitoryid}, #{d_dormbuilding}, #{d_bedtotal}, #{d_bed}, #{a_name})
</insert> </insert>
<!--通过id删除宿舍信息--> <!-- 根据宿舍记录 ID 删除宿舍信息 -->
<delete id="deleteDormitory" parameterType="Integer"> <delete id="deleteDormitory" parameterType="Integer">
delete from d_dormitoryinfo where d_id=#{d_id} delete from d_dormitoryinfo where d_id=#{d_id}
</delete> </delete>
<!-- 根据宿舍记录 ID 查询宿舍信息 -->
<select id="findDormitoryById" parameterType="Integer" resultType="Dormitory"> <select id="findDormitoryById" parameterType="Integer" resultType="Dormitory">
select * from d_dormitoryinfo where d_id=#{d_id} select * from d_dormitoryinfo where d_id=#{d_id}
</select> </select>
@ -55,34 +70,48 @@
<update id="updateDormitory" parameterType="Dormitory"> <update id="updateDormitory" parameterType="Dormitory">
update d_dormitoryinfo update d_dormitoryinfo
<set> <set>
<!-- 如果宿舍 ID 不为空,更新宿舍 ID -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
s_dormitoryid=#{s_dormitoryid}, s_dormitoryid=#{s_dormitoryid},
</if> </if>
<!-- 如果宿舍楼名称不为空,更新宿舍楼名称 -->
<if test="d_dormbuilding !=null and d_dormbuilding !=''"> <if test="d_dormbuilding !=null and d_dormbuilding !=''">
d_dormbuilding=#{d_dormbuilding}, d_dormbuilding=#{d_dormbuilding},
</if> </if>
<!-- 如果床位总数不为空,更新床位总数 -->
<if test="d_bedtotal !=null and d_bedtotal !=''"> <if test="d_bedtotal !=null and d_bedtotal !=''">
d_bedtotal=#{d_bedtotal}, d_bedtotal=#{d_bedtotal},
</if> </if>
<!-- 如果空余床位数不为空,更新空余床位数 -->
<if test="d_bed !=null and d_bed !=''"> <if test="d_bed !=null and d_bed !=''">
d_bed=#{d_bed}, d_bed=#{d_bed},
</if> </if>
<!-- 如果管理员姓名不为空,更新管理员姓名 -->
<if test="a_name !=null and a_name !=''"> <if test="a_name !=null and a_name !=''">
a_name=#{a_name}, a_name=#{a_name},
</if> </if>
</set> </set>
<!-- 根据宿舍记录 ID 更新数据 -->
where d_id = #{d_id} where d_id = #{d_id}
</update> </update>
<!--宿舍人员信息查询信息--> <!-- 宿舍人员信息查询结果映射 -->
<resultMap type="com.itheima.po.Dormitory" id="cardAndInfo2"> <resultMap type="com.itheima.po.Dormitory" id="cardAndInfo2">
<!-- 定义主键 -->
<id property="d_id" column="d_id"/> <id property="d_id" column="d_id"/>
<!-- 定义宿舍 ID 字段 -->
<result property="s_dormitoryid" column="s_dormitoryid"/> <result property="s_dormitoryid" column="s_dormitoryid"/>
<!-- 定义宿舍楼字段 -->
<result property="d_dormbuilding" column="d_dormbuilding"/> <result property="d_dormbuilding" column="d_dormbuilding"/>
<!-- 定义床位总数字段 -->
<result property="d_bedtotal" column="d_bedtotal"/> <result property="d_bedtotal" column="d_bedtotal"/>
<!-- 定义空余床位数字段 -->
<result property="d_bed" column="d_bed"/> <result property="d_bed" column="d_bed"/>
<!-- 定义管理员姓名字段 -->
<result property="a_name" column="a_name"/> <result property="a_name" column="a_name"/>
<!-- 定义宿舍对应的学生信息集合 -->
<collection property="students" ofType="com.itheima.po.Student" javaType="ArrayList"> <collection property="students" ofType="com.itheima.po.Student" javaType="ArrayList">
<!-- 定义学生信息的主键和字段 -->
<id property="s_id" column="s_id"/> <id property="s_id" column="s_id"/>
<result property="s_studentid" column="s_studentid"/> <result property="s_studentid" column="s_studentid"/>
<result property="s_name" column="s_name"/> <result property="s_name" column="s_name"/>
@ -95,13 +124,16 @@
</collection> </collection>
</resultMap> </resultMap>
<!-- 根据宿舍 ID 查询宿舍及其学生信息 -->
<select id="findDormitoryStudent" parameterType="Dormitory" resultMap="cardAndInfo2"> <select id="findDormitoryStudent" parameterType="Dormitory" resultMap="cardAndInfo2">
SELECT dormitoryinfos.*, students.* SELECT dormitoryinfos.*, students.*
FROM d_dormitoryinfo dormitoryinfos join d_student students FROM d_dormitoryinfo dormitoryinfos
on dormitoryinfos.s_dormitoryid = students.s_dormitoryid JOIN d_student students
where dormitoryinfos.s_dormitoryid = #{s_dormitoryid} ON dormitoryinfos.s_dormitoryid = students.s_dormitoryid
WHERE dormitoryinfos.s_dormitoryid = #{s_dormitoryid}
</select> </select>
<!-- 查询所有宿舍记录 -->
<select id="getAll" resultType="Dormitory"> <select id="getAll" resultType="Dormitory">
select * from d_dormitoryinfo; select * from d_dormitoryinfo;
</select> </select>

@ -1,90 +1,114 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,与 StudentCleanDao 接口对应 -->
<mapper namespace="com.itheima.dao.StudentCleanDao" > <mapper namespace="com.itheima.dao.StudentCleanDao" >
<!--分页查询--> <!-- 分页查询学生卫生记录 -->
<select id="getStudentCleanList" parameterType="StudentClean" resultType="StudentClean"> <select id="getStudentCleanList" parameterType="StudentClean" resultType="StudentClean">
<!-- 查询学生卫生记录表 -->
select * from d_stgrade select * from d_stgrade
<where> <where>
<!-- 根据学生 ID 进行模糊查询 -->
<if test="s_studentid!=null and s_studentid!=0"> <if test="s_studentid!=null and s_studentid!=0">
and s_studentid like '%${s_studentid}%' and s_studentid like '%${s_studentid}%'
</if> </if>
<!-- 根据学生姓名进行模糊查询 -->
<if test="s_name !=null and s_name !=''"> <if test="s_name !=null and s_name !=''">
and s_name like '%${s_name}%' and s_name like '%${s_name}%'
</if> </if>
<!-- 根据宿舍 ID 进行模糊查询 -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
and s_dormitoryid like '%${s_dormitoryid}%' and s_dormitoryid like '%${s_dormitoryid}%'
</if> </if>
</where> </where>
<!-- 按卫生记录 ID 升序排序 -->
ORDER BY g_id asc ORDER BY g_id asc
<!-- 实现分页功能 -->
limit #{currentPage}, #{pageSize} limit #{currentPage}, #{pageSize}
</select> </select>
<!--查询数据总数--> <!-- 查询学生卫生记录总数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
<!-- 查询学生卫生表中的记录数 -->
select count(g_id) from d_stgrade select count(g_id) from d_stgrade
<where> <where>
<!-- 根据学生 ID 进行模糊查询 -->
<if test="s_studentid!=null and s_studentid!=0"> <if test="s_studentid!=null and s_studentid!=0">
and s_studentid like '%${s_studentid}%' and s_studentid like '%${s_studentid}%'
</if> </if>
<!-- 根据学生姓名进行模糊查询 -->
<if test="s_name !=null and s_name !=''"> <if test="s_name !=null and s_name !=''">
and s_name like '%${s_name}%' and s_name like '%${s_name}%'
</if> </if>
<!-- 根据宿舍 ID 进行模糊查询 -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
and s_dormitoryid like '%${s_dormitoryid}%' and s_dormitoryid like '%${s_dormitoryid}%'
</if> </if>
</where> </where>
</select> </select>
<!--添加宿舍卫生信息--> <!-- 添加学生卫生记录 -->
<insert id="addStudentClean" parameterType="StudentClean" keyProperty="g_id" useGeneratedKeys="true"> <insert id="addStudentClean" parameterType="StudentClean" keyProperty="g_id" useGeneratedKeys="true">
<!-- 插入学生卫生信息,包括学生 ID、姓名、卫生评分、班级 ID 和宿舍 ID -->
insert into d_stgrade (s_studentid, s_name, s_grade, s_classid, s_dormitoryid, create_time, update_time) insert into d_stgrade (s_studentid, s_name, s_grade, s_classid, s_dormitoryid, create_time, update_time)
values (#{s_studentid}, #{s_name}, #{s_grade}, #{s_classid}, #{s_dormitoryid}, now(), now()) values (#{s_studentid}, #{s_name}, #{s_grade}, #{s_classid}, #{s_dormitoryid}, now(), now())
</insert> </insert>
<!--通过id删除宿舍卫生信息--> <!-- 通过卫生记录 ID 删除学生卫生记录 -->
<delete id="deleteStudentClean" parameterType="Integer"> <delete id="deleteStudentClean" parameterType="Integer">
delete from d_stgrade where g_id=#{g_id} delete from d_stgrade where g_id=#{g_id}
</delete> </delete>
<!-- 根据卫生记录 ID 查询单个学生卫生记录 -->
<select id="findStudentCleanById" parameterType="Integer" resultType="StudentClean"> <select id="findStudentCleanById" parameterType="Integer" resultType="StudentClean">
select * from d_stgrade where g_id=#{g_id} select * from d_stgrade where g_id=#{g_id}
</select> </select>
<!-- 查询所有学生卫生记录 -->
<select id="getAll" resultType="StudentClean"> <select id="getAll" resultType="StudentClean">
select * from d_stgrade; select * from d_stgrade;
</select> </select>
<!--修改宿舍卫生信息--> <!-- 修改学生卫生记录 -->
<update id="updateStudentClean" parameterType="StudentClean"> <update id="updateStudentClean" parameterType="StudentClean">
update d_stgrade update d_stgrade
<set> <set>
<!-- 如果学生 ID 不为空,更新学生 ID -->
<if test="s_studentid!=null and s_studentid!=0"> <if test="s_studentid!=null and s_studentid!=0">
s_studentid=#{s_studentid}, s_studentid=#{s_studentid},
</if> </if>
<!-- 如果学生姓名不为空,更新学生姓名 -->
<if test="s_name !=null and s_name !=''"> <if test="s_name !=null and s_name !=''">
s_name=#{s_name}, s_name=#{s_name},
</if> </if>
<!-- 如果卫生评分不为空,更新卫生评分 -->
<if test="s_grade!=null and s_grade!=0"> <if test="s_grade!=null and s_grade!=0">
s_grade=#{s_grade}, s_grade=#{s_grade},
</if> </if>
<!-- 如果班级 ID 不为空,更新班级 ID -->
<if test="s_classid!=null and s_classid!=0"> <if test="s_classid!=null and s_classid!=0">
s_classid=#{s_classid}, s_classid=#{s_classid},
</if> </if>
<!-- 如果宿舍 ID 不为空,更新宿舍 ID -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
s_dormitoryid=#{s_dormitoryid}, s_dormitoryid=#{s_dormitoryid},
</if> </if>
<!-- 如果更新时间不为空,更新更新时间 -->
<if test="update_time != null"> <if test="update_time != null">
update_time = now(), update_time = now(),
</if> </if>
</set> </set>
<!-- 根据卫生记录 ID 更新数据 -->
where g_id = #{g_id} where g_id = #{g_id}
</update> </update>
<!--宿舍卫生信息查询信息--> <!-- 定义学生卫生记录的结果映射 -->
<resultMap type="com.itheima.po.StudentClean" id="cardAndInfo2"> <resultMap type="com.itheima.po.StudentClean" id="cardAndInfo2">
<!-- 定义主键 g_id -->
<id property="g_id" column="g_id"/> <id property="g_id" column="g_id"/>
<!-- 映射其他字段 -->
<result property="s_studentid" column="s_studentid"/> <result property="s_studentid" column="s_studentid"/>
<result property="s_name" column="s_name"/> <result property="s_name" column="s_name"/>
<result property="s_grade" column="s_grade"/> <result property="s_grade" column="s_grade"/>
@ -92,5 +116,4 @@
<result property="s_dormitoryid" column="s_dormitoryid"/> <result property="s_dormitoryid" column="s_dormitoryid"/>
</resultMap> </resultMap>
</mapper> </mapper>

@ -1,92 +1,121 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,与 StudentDao 接口对应 -->
<mapper namespace="com.itheima.dao.StudentDao" > <mapper namespace="com.itheima.dao.StudentDao" >
<!--分页查询--> <!-- 分页查询学生信息 -->
<select id="getStudentList" parameterType="Student" resultType="Student"> <select id="getStudentList" parameterType="Student" resultType="Student">
<!-- 查询学生表 -->
select * from d_student select * from d_student
<where> <where>
<!-- 根据学生姓名进行模糊查询 -->
<if test="s_name!=null and s_name!='' "> <if test="s_name!=null and s_name!='' ">
and s_name like '%${s_name}%' and s_name like '%${s_name}%'
</if> </if>
<!-- 根据学生 ID 进行模糊查询 -->
<if test="s_studentid!=null and s_studentid!=0"> <if test="s_studentid!=null and s_studentid!=0">
and s_studentid like '%${s_studentid}%' and s_studentid like '%${s_studentid}%'
</if> </if>
<!-- 根据班级 ID 进行模糊查询 -->
<if test="s_classid!=null and s_classid!=0"> <if test="s_classid!=null and s_classid!=0">
and s_classid like '%${s_classid}%' and s_classid like '%${s_classid}%'
</if> </if>
<!-- 根据班级名称进行模糊查询 -->
<if test="s_classname!=null and s_classname!='' "> <if test="s_classname!=null and s_classname!='' ">
and s_classname like '%${s_classname}%' and s_classname like '%${s_classname}%'
</if> </if>
</where> </where>
<!-- 按学生 ID 升序排序 -->
ORDER BY s_id asc ORDER BY s_id asc
<!-- 实现分页功能 -->
limit #{currentPage}, #{pageSize} limit #{currentPage}, #{pageSize}
</select> </select>
<!--查询数据总数-->
<!-- 查询学生表中记录的总数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
<!-- 计算学生记录总数 -->
select count(s_studentid) from d_student select count(s_studentid) from d_student
<where> <where>
<!-- 根据学生姓名进行模糊查询 -->
<if test="s_name!=null and s_name!='' "> <if test="s_name!=null and s_name!='' ">
and s_name like '%${s_name}%' and s_name like '%${s_name}%'
</if> </if>
<!-- 根据学生 ID 进行模糊查询 -->
<if test="s_studentid!=null and s_studentid!=0"> <if test="s_studentid!=null and s_studentid!=0">
and s_studentid like '%${s_studentid}%' and s_studentid like '%${s_studentid}%'
</if> </if>
<!-- 根据班级 ID 进行模糊查询 -->
<if test="s_classid!=null and s_classid!=0"> <if test="s_classid!=null and s_classid!=0">
and s_classid like '%${s_classid}%' and s_classid like '%${s_classid}%'
</if> </if>
<!-- 根据班级名称进行模糊查询 -->
<if test="s_classname!=null and s_classname!='' "> <if test="s_classname!=null and s_classname!='' ">
and s_classname like '%${s_classname}%' and s_classname like '%${s_classname}%'
</if> </if>
</where> </where>
</select> </select>
<!--通过id删除学生信息-->
<!-- 通过学生 ID 删除学生信息 -->
<delete id="deleteStudent" parameterType="Integer"> <delete id="deleteStudent" parameterType="Integer">
delete from d_student where s_id=#{s_id} delete from d_student where s_id=#{s_id}
</delete> </delete>
<!-- 添加学生信息 --> <!-- 添加学生信息 -->
<insert id="addStudent" parameterType="Student" keyProperty="s_id" useGeneratedKeys="true"> <insert id="addStudent" parameterType="Student" keyProperty="s_id" useGeneratedKeys="true">
<!-- 插入学生信息,包括学生 ID、姓名、性别、年龄、电话、班级 ID、班级名称和宿舍 ID -->
insert into d_student (s_studentid, s_name, s_sex, s_age, s_phone, s_classid, s_classname, s_dormitoryid) insert into d_student (s_studentid, s_name, s_sex, s_age, s_phone, s_classid, s_classname, s_dormitoryid)
values (#{s_studentid}, #{s_name}, #{s_sex}, #{s_age}, #{s_phone}, #{s_classid}, #{s_classname}, #{s_dormitoryid}) values (#{s_studentid}, #{s_name}, #{s_sex}, #{s_age}, #{s_phone}, #{s_classid}, #{s_classname}, #{s_dormitoryid})
</insert> </insert>
<!-- 根据学生 ID 查询学生信息 -->
<select id="findStudentById" parameterType="Integer" resultType="Student"> <select id="findStudentById" parameterType="Integer" resultType="Student">
select * from d_student where s_id=#{s_id} select * from d_student where s_id=#{s_id}
</select> </select>
<!-- 修改学生信息 --> <!-- 修改学生信息 -->
<update id="updateStudent" parameterType="Student"> <update id="updateStudent" parameterType="Student">
update d_student update d_student
<set> <set>
<!-- 如果学生 ID 不为空,更新学生 ID -->
<if test="s_studentid!=null and s_studentid!=0"> <if test="s_studentid!=null and s_studentid!=0">
s_studentid=#{s_studentid}, s_studentid=#{s_studentid},
</if> </if>
<!-- 如果学生姓名不为空,更新学生姓名 -->
<if test="s_name !=null and s_name !=''"> <if test="s_name !=null and s_name !=''">
s_name=#{s_name}, s_name=#{s_name},
</if> </if>
<!-- 如果性别不为空,更新性别 -->
<if test="s_sex !=null and s_sex !=''"> <if test="s_sex !=null and s_sex !=''">
s_sex=#{s_sex}, s_sex=#{s_sex},
</if> </if>
<!-- 如果年龄不为空,更新年龄 -->
<if test="s_age !=null and s_age !=0"> <if test="s_age !=null and s_age !=0">
s_age=#{s_age}, s_age=#{s_age},
</if> </if>
<!-- 如果电话不为空,更新电话 -->
<if test="s_phone !=null and s_phone !=0"> <if test="s_phone !=null and s_phone !=0">
s_phone=#{s_phone}, s_phone=#{s_phone},
</if> </if>
<!-- 如果班级 ID 不为空,更新班级 ID -->
<if test="s_classid!=null and s_classid!=0"> <if test="s_classid!=null and s_classid!=0">
s_classid=#{s_classid}, s_classid=#{s_classid},
</if> </if>
<!-- 如果班级名称不为空,更新班级名称 -->
<if test="s_classname !=null and s_classname !=''"> <if test="s_classname !=null and s_classname !=''">
s_classname=#{s_classname}, s_classname=#{s_classname},
</if> </if>
<!-- 如果宿舍 ID 不为空,更新宿舍 ID -->
<if test="s_dormitoryid!=null and s_dormitoryid!=0"> <if test="s_dormitoryid!=null and s_dormitoryid!=0">
s_dormitoryid=#{s_dormitoryid}, s_dormitoryid=#{s_dormitoryid},
</if> </if>
</set> </set>
<!-- 根据学生 ID 更新记录 -->
where s_id = #{s_id} where s_id = #{s_id}
</update> </update>
<!-- 查询所有学生信息 -->
<select id="getAll" resultType="Student"> <select id="getAll" resultType="Student">
select * from d_student; select * from d_student;
</select> </select>

@ -1,42 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!-- 声明 MyBatis 映射文件的 DOCTYPE指定其遵循 MyBatis 3.0 的 DTD -->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" > "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!-- 定义该映射文件的命名空间,与 VisitorDao 接口对应 -->
<mapper namespace="com.itheima.dao.VisitorDao" > <mapper namespace="com.itheima.dao.VisitorDao" >
<!--分页查询--> <!-- 分页查询访客信息 -->
<select id="getVisitorList" parameterType="Visitor" resultType="Visitor"> <select id="getVisitorList" parameterType="Visitor" resultType="Visitor">
<!-- 查询访客表 -->
select * from d_visitor select * from d_visitor
<where> <where>
<!-- 根据访客姓名进行模糊查询 -->
<if test="v_name!=null and v_name!='' "> <if test="v_name!=null and v_name!='' ">
and v_name like '%${v_name}%' and v_name like '%${v_name}%'
</if> </if>
<!-- 根据访客电话进行模糊查询 -->
<if test="v_phone!=null and v_phone!=0"> <if test="v_phone!=null and v_phone!=0">
and v_phone like '%${v_phone}%' and v_phone like '%${v_phone}%'
</if> </if>
</where> </where>
<!-- 按访客 ID 升序排序 -->
ORDER BY v_id asc ORDER BY v_id asc
<!-- 实现分页功能 -->
limit #{currentPage}, #{pageSize} limit #{currentPage}, #{pageSize}
</select> </select>
<!--查询数据总数--> <!-- 查询访客记录总数 -->
<select id="totalCount" resultType="Integer"> <select id="totalCount" resultType="Integer">
<!-- 计算访客记录总数 -->
select count(v_id) from d_visitor select count(v_id) from d_visitor
<where> <where>
<!-- 根据访客姓名进行模糊查询 -->
<if test="v_name!=null and v_name!='' "> <if test="v_name!=null and v_name!='' ">
and v_name like '%${v_name}%' and v_name like '%${v_name}%'
</if> </if>
<!-- 根据访客电话进行模糊查询 -->
<if test="v_phone!=null and v_phone!=0"> <if test="v_phone!=null and v_phone!=0">
and v_phone like '%${v_phone}%' and v_phone like '%${v_phone}%'
</if> </if>
</where> </where>
</select> </select>
<!--添加学生信息--> <!-- 添加访客信息 -->
<insert id="addVisitor" parameterType="Visitor" keyProperty="v_id" useGeneratedKeys="true"> <insert id="addVisitor" parameterType="Visitor" keyProperty="v_id" useGeneratedKeys="true">
<!-- 插入访客信息,包括访客姓名、电话、宿舍 ID、宿舍楼号和创建时间 -->
insert into d_visitor (v_name, v_phone, v_dormitoryid, v_dormbuilding, create_time) insert into d_visitor (v_name, v_phone, v_dormitoryid, v_dormbuilding, create_time)
values (#{v_name}, #{v_phone}, #{v_dormitoryid}, #{v_dormbuilding}, now()) values (#{v_name}, #{v_phone}, #{v_dormitoryid}, #{v_dormbuilding}, now())
</insert> </insert>
<!-- 查询所有访客信息 -->
<select id="getAll" resultType="Visitor"> <select id="getAll" resultType="Visitor">
select * from d_visitor; select * from d_visitor;
</select> </select>

@ -1,74 +1,97 @@
package com.itheima.po; package com.itheima.po;
// 导入用于处理 JSON 注解的类
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
// 表示管理员实体的类
public class Admin { public class Admin {
// 管理员ID主键
private Integer a_id; private Integer a_id;
// 管理员用户名
private String a_username; private String a_username;
// 管理员密码(使用 @JsonIgnore 注解JSON 序列化时忽略该字段)
@JsonIgnore @JsonIgnore
private String a_password; private String a_password;
// 管理员姓名
private String a_name; private String a_name;
// 管理员电话号码
private Integer a_phone; private Integer a_phone;
// 管理员权限级别(使用 @JsonIgnore 注解JSON 序列化时忽略该字段)
@JsonIgnore @JsonIgnore
private Integer a_power; private Integer a_power;
// 管理员描述或备注信息
private String a_describe; private String a_describe;
// 获取管理员ID的方法
public Integer getA_id() { public Integer getA_id() {
return a_id; return a_id;
} }
// 设置管理员ID的方法
public void setA_id(Integer a_id) { public void setA_id(Integer a_id) {
this.a_id = a_id; this.a_id = a_id;
} }
// 获取管理员用户名的方法
public String getA_username() { public String getA_username() {
return a_username; return a_username;
} }
// 设置管理员用户名的方法
public void setA_username(String a_username) { public void setA_username(String a_username) {
this.a_username = a_username; this.a_username = a_username;
} }
// 获取管理员密码的方法
public String getA_password() { public String getA_password() {
return a_password; return a_password;
} }
// 设置管理员密码的方法
public void setA_password(String a_password) { public void setA_password(String a_password) {
this.a_password = a_password; this.a_password = a_password;
} }
// 获取管理员姓名的方法
public String getA_name() { public String getA_name() {
return a_name; return a_name;
} }
// 设置管理员姓名的方法
public void setA_name(String a_name) { public void setA_name(String a_name) {
this.a_name = a_name; this.a_name = a_name;
} }
// 获取管理员电话号码的方法
public Integer getA_phone() { public Integer getA_phone() {
return a_phone; return a_phone;
} }
// 设置管理员电话号码的方法
public void setA_phone(Integer a_phone) { public void setA_phone(Integer a_phone) {
this.a_phone = a_phone; this.a_phone = a_phone;
} }
// 获取管理员权限级别的方法
public Integer getA_power() { public Integer getA_power() {
return a_power; return a_power;
} }
// 设置管理员权限级别的方法
public void setA_power(Integer a_power) { public void setA_power(Integer a_power) {
this.a_power = a_power; this.a_power = a_power;
} }
// 获取管理员描述信息的方法
public String getA_describe() { public String getA_describe() {
return a_describe; return a_describe;
} }
// 设置管理员描述信息的方法
public void setA_describe(String a_describe) { public void setA_describe(String a_describe) {
this.a_describe = a_describe; this.a_describe = a_describe;
} }

@ -1,51 +1,67 @@
package com.itheima.po; package com.itheima.po;
// 导入链表类,用于存储学生对象的列表
import java.util.List; import java.util.List;
// 表示班级实体的类
public class Class { public class Class {
// 班级主键ID
private Integer c_id; private Integer c_id;
// 班级编号
private Integer c_classid; private Integer c_classid;
// 班级名称
private String c_classname; private String c_classname;
// 班级辅导员姓名
private String c_counsellor; private String c_counsellor;
//班级与学生为一对多关系,使用链表 // 班级与学生为一对多关系,使用链表存储学生对象
private List<Student> students; private List<Student> students;
// 获取班级主键ID的方法
public Integer getC_id() { public Integer getC_id() {
return c_id; return c_id;
} }
// 设置班级主键ID的方法
public void setC_id(Integer c_id) { public void setC_id(Integer c_id) {
this.c_id = c_id; this.c_id = c_id;
} }
// 获取班级编号的方法
public Integer getC_classid() { public Integer getC_classid() {
return c_classid; return c_classid;
} }
// 设置班级编号的方法
public void setC_classid(Integer c_classid) { public void setC_classid(Integer c_classid) {
this.c_classid = c_classid; this.c_classid = c_classid;
} }
// 获取班级名称的方法
public String getC_classname() { public String getC_classname() {
return c_classname; return c_classname;
} }
// 设置班级名称的方法
public void setC_classname(String c_classname) { public void setC_classname(String c_classname) {
this.c_classname = c_classname; this.c_classname = c_classname;
} }
// 获取班级辅导员姓名的方法
public String getC_counsellor() { public String getC_counsellor() {
return c_counsellor; return c_counsellor;
} }
// 设置班级辅导员姓名的方法
public void setC_counsellor(String c_counsellor) { public void setC_counsellor(String c_counsellor) {
this.c_counsellor = c_counsellor; this.c_counsellor = c_counsellor;
} }
// 获取学生列表的方法
public List<Student> getStudents() { public List<Student> getStudents() {
return students; return students;
} }
// 设置学生列表的方法
public void setStudents(List<Student> students) { public void setStudents(List<Student> students) {
this.students = students; this.students = students;
} }

@ -1,72 +1,92 @@
package com.itheima.po; package com.itheima.po;
// 导入 Jackson 注解,用于格式化日期时间
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入日期类,用于表示时间
import java.util.Date; import java.util.Date;
/** /**
* @program: dormitorySystem * @program: dormitorySystem
* @description: 宿 * @description: 宿
* @author: Joyrocky * @author: Joyrocky
* @create: 2019-04-24 11:21 * @create: 2019-04-24 11:21
**/ **/
public class DormClean { public class DormClean {
// 宿舍卫生记录的主键ID
private Integer g_id; private Integer g_id;
// 宿舍ID
private Integer d_id; private Integer d_id;
// 宿舍楼名称
private String d_dormbuilding; private String d_dormbuilding;
// 卫生评分
private Integer d_grade; private Integer d_grade;
// 创建时间,使用 @JsonFormat 注解格式化为 yyyy-MM-dd HH:mm:ss 格式,并指定时区为 GMT+8
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date create_time; private Date create_time;
// 更新时间,使用 @JsonFormat 注解格式化为 yyyy-MM-dd HH:mm:ss 格式,并指定时区为 GMT+8
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date update_time; private Date update_time;
// 获取主键ID的方法
public Integer getG_id() { public Integer getG_id() {
return g_id; return g_id;
} }
// 设置主键ID的方法
public void setG_id(Integer g_id) { public void setG_id(Integer g_id) {
this.g_id = g_id; this.g_id = g_id;
} }
// 获取宿舍ID的方法
public Integer getD_id() { public Integer getD_id() {
return d_id; return d_id;
} }
// 设置宿舍ID的方法
public void setD_id(Integer d_id) { public void setD_id(Integer d_id) {
this.d_id = d_id; this.d_id = d_id;
} }
// 获取宿舍楼名称的方法
public String getD_dormbuilding() { public String getD_dormbuilding() {
return d_dormbuilding; return d_dormbuilding;
} }
// 设置宿舍楼名称的方法
public void setD_dormbuilding(String d_dormbuilding) { public void setD_dormbuilding(String d_dormbuilding) {
this.d_dormbuilding = d_dormbuilding; this.d_dormbuilding = d_dormbuilding;
} }
// 获取卫生评分的方法
public Integer getD_grade() { public Integer getD_grade() {
return d_grade; return d_grade;
} }
// 设置卫生评分的方法
public void setD_grade(Integer d_grade) { public void setD_grade(Integer d_grade) {
this.d_grade = d_grade; this.d_grade = d_grade;
} }
// 获取创建时间的方法
public Date getCreate_time() { public Date getCreate_time() {
return create_time; return create_time;
} }
// 设置创建时间的方法
public void setCreate_time(Date create_time) { public void setCreate_time(Date create_time) {
this.create_time = create_time; this.create_time = create_time;
} }
// 获取更新时间的方法
public Date getUpdate_time() { public Date getUpdate_time() {
return update_time; return update_time;
} }
// 设置更新时间的方法
public void setUpdate_time(Date update_time) { public void setUpdate_time(Date update_time) {
this.update_time = update_time; this.update_time = update_time;
} }
} }

@ -1,81 +1,104 @@
package com.itheima.po; package com.itheima.po;
// 导入 Jackson 注解,用于格式化日期时间
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入日期类,用于表示时间
import java.util.Date; import java.util.Date;
/** /**
* @program: dormitorySystem * @program: dormitorySystem
* @description: * @description:
* @author: Joyrocky * @author: Joyrocky
* @create: 2019-04-28 00:23 * @create: 2019-04-28 00:23
**/ **/
public class DormRepair { public class DormRepair {
// 维修记录主键ID
private int r_id; private int r_id;
// 宿舍ID
private int d_id; private int d_id;
// 宿舍楼编号
private int d_dormbuilding; private int d_dormbuilding;
// 报修人姓名
private String r_name; private String r_name;
// 报修原因
private String reason; private String reason;
// 创建时间,使用 @JsonFormat 注解格式化为 yyyy-MM-dd HH:mm:ss 格式,并指定时区为 GMT+8
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date create_time; private Date create_time;
// 更新时间,使用 @JsonFormat 注解格式化为 yyyy-MM-dd HH:mm:ss 格式,并指定时区为 GMT+8
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date update_time; private Date update_time;
// 获取维修记录主键ID的方法
public int getR_id() { public int getR_id() {
return r_id; return r_id;
} }
// 设置维修记录主键ID的方法
public void setR_id(int r_id) { public void setR_id(int r_id) {
this.r_id = r_id; this.r_id = r_id;
} }
// 获取宿舍ID的方法
public int getD_id() { public int getD_id() {
return d_id; return d_id;
} }
// 设置宿舍ID的方法
public void setD_id(int d_id) { public void setD_id(int d_id) {
this.d_id = d_id; this.d_id = d_id;
} }
// 获取宿舍楼编号的方法
public int getD_dormbuilding() { public int getD_dormbuilding() {
return d_dormbuilding; return d_dormbuilding;
} }
// 设置宿舍楼编号的方法
public void setD_dormbuilding(int d_dormbuilding) { public void setD_dormbuilding(int d_dormbuilding) {
this.d_dormbuilding = d_dormbuilding; this.d_dormbuilding = d_dormbuilding;
} }
// 获取报修人姓名的方法
public String getR_name() { public String getR_name() {
return r_name; return r_name;
} }
// 设置报修人姓名的方法
public void setR_name(String r_name) { public void setR_name(String r_name) {
this.r_name = r_name; this.r_name = r_name;
} }
// 获取报修原因的方法
public String getReason() { public String getReason() {
return reason; return reason;
} }
// 设置报修原因的方法
public void setReason(String reason) { public void setReason(String reason) {
this.reason = reason; this.reason = reason;
} }
// 获取创建时间的方法
public Date getCreate_time() { public Date getCreate_time() {
return create_time; return create_time;
} }
// 设置创建时间的方法
public void setCreate_time(Date create_time) { public void setCreate_time(Date create_time) {
this.create_time = create_time; this.create_time = create_time;
} }
// 获取更新时间的方法
public Date getUpdate_time() { public Date getUpdate_time() {
return update_time; return update_time;
} }
// 设置更新时间的方法
public void setUpdate_time(Date update_time) { public void setUpdate_time(Date update_time) {
this.update_time = update_time; this.update_time = update_time;
} }
} }

@ -1,71 +1,102 @@
package com.itheima.po; package com.itheima.po;
// 导入 Serializable 接口,用于支持序列化
import java.io.Serializable; import java.io.Serializable;
// 导入链表类,用于存储学生对象的列表
import java.util.List; import java.util.List;
// 表示宿舍实体的类,实现 Serializable 接口支持序列化
public class Dormitory implements Serializable { public class Dormitory implements Serializable {
// 序列化版本号,用于保证序列化和反序列化的一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 宿舍主键ID
private Integer d_id; private Integer d_id;
// 学生宿舍编号
private Integer s_dormitoryid; private Integer s_dormitoryid;
// 宿舍楼名称
private String d_dormbuilding; private String d_dormbuilding;
// 宿舍床位总数
private String d_bedtotal; private String d_bedtotal;
// 宿舍当前空床位数
private String d_bed; private String d_bed;
// 宿舍管理员姓名
private String a_name; private String a_name;
// 存储宿舍对应学生对象的列表
private List<Student> students; private List<Student> students;
// 获取序列化版本号的方法
public static long getSerialVersionUID() { public static long getSerialVersionUID() {
return serialVersionUID; return serialVersionUID;
} }
// 获取宿舍主键ID的方法
public Integer getD_id() { public Integer getD_id() {
return d_id; return d_id;
} }
// 设置宿舍主键ID的方法
public void setD_id(Integer d_id) { public void setD_id(Integer d_id) {
this.d_id = d_id; this.d_id = d_id;
} }
// 获取学生宿舍编号的方法
public Integer getS_dormitoryid() { public Integer getS_dormitoryid() {
return s_dormitoryid; return s_dormitoryid;
} }
// 设置学生宿舍编号的方法
public void setS_dormitoryid(Integer s_dormitoryid) { public void setS_dormitoryid(Integer s_dormitoryid) {
this.s_dormitoryid = s_dormitoryid; this.s_dormitoryid = s_dormitoryid;
} }
public String getD_dormbuilding() {return d_dormbuilding;} // 获取宿舍楼名称的方法
public String getD_dormbuilding() {
return d_dormbuilding;
}
public void setD_dormbuilding(String d_dormbuilding) {this.d_dormbuilding = d_dormbuilding;} // 设置宿舍楼名称的方法
public void setD_dormbuilding(String d_dormbuilding) {
this.d_dormbuilding = d_dormbuilding;
}
// 获取宿舍床位总数的方法
public String getD_bedtotal() { public String getD_bedtotal() {
return d_bedtotal; return d_bedtotal;
} }
// 设置宿舍床位总数的方法
public void setD_bedtotal(String d_bedtotal) { public void setD_bedtotal(String d_bedtotal) {
this.d_bedtotal = d_bedtotal; this.d_bedtotal = d_bedtotal;
} }
// 获取宿舍当前空床位数的方法
public String getD_bed() { public String getD_bed() {
return d_bed; return d_bed;
} }
// 设置宿舍当前空床位数的方法
public void setD_bed(String d_bed) { public void setD_bed(String d_bed) {
this.d_bed = d_bed; this.d_bed = d_bed;
} }
// 获取宿舍管理员姓名的方法
public String getA_name() { public String getA_name() {
return a_name; return a_name;
} }
// 设置宿舍管理员姓名的方法
public void setA_name(String a_name) { public void setA_name(String a_name) {
this.a_name = a_name; this.a_name = a_name;
} }
// 获取宿舍对应学生列表的方法
public List<Student> getStudents() { public List<Student> getStudents() {
return students; return students;
} }
// 设置宿舍对应学生列表的方法
public void setStudents(List<Student> students) { public void setStudents(List<Student> students) {
this.students = students; this.students = students;
} }

@ -1,21 +1,33 @@
package com.itheima.po; package com.itheima.po;
// 导入 Serializable 接口,用于支持序列化
import java.io.Serializable; import java.io.Serializable;
// 导入集合类,用于存储分页数据
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
// 通用分页信息类,支持泛型 T用于表示分页数据
public class PageInfo<T> implements Serializable { public class PageInfo<T> implements Serializable {
private Integer pageIndex =1;//页码 // 序列化版本号,用于保证序列化和反序列化的一致性
private Integer pageSize =3;//显示条数 private static final long serialVersionUID = 1L;
private Integer totalCount =0; //总条数
private Integer pageTotalCount =0; //总页数 // 当前页码,默认值为 1
//每页显示的数据集合 private Integer pageIndex = 1;
// 每页显示的数据条数,默认值为 3
private Integer pageSize = 3;
// 数据总条数,默认值为 0
private Integer totalCount = 0;
// 总页数,默认值为 0
private Integer pageTotalCount = 0;
// 每页显示的数据集合,使用泛型 T并初始化为空列表
private List<T> list = new ArrayList<T>(); private List<T> list = new ArrayList<T>();
// 获取当前页码的方法
public Integer getPageIndex() { public Integer getPageIndex() {
return pageIndex; return pageIndex;
} }
// 设置当前页码的方法,若页码小于 1则默认设置为 1
public void setPageIndex(Integer pageIndex) { public void setPageIndex(Integer pageIndex) {
this.pageIndex = pageIndex; this.pageIndex = pageIndex;
if (pageIndex == null || pageIndex < 1) { if (pageIndex == null || pageIndex < 1) {
@ -23,10 +35,12 @@ public class PageInfo<T> implements Serializable {
} }
} }
// 获取每页显示数据条数的方法
public Integer getPageSize() { public Integer getPageSize() {
return pageSize; return pageSize;
} }
// 设置每页显示数据条数的方法,若小于 1则默认设置为 3
public void setPageSize(Integer pageSize) { public void setPageSize(Integer pageSize) {
this.pageSize = pageSize; this.pageSize = pageSize;
if (pageSize == null || pageSize < 1) { if (pageSize == null || pageSize < 1) {
@ -34,32 +48,37 @@ public class PageInfo<T> implements Serializable {
} }
} }
// 获取数据总条数的方法
public Integer getTotalCount() { public Integer getTotalCount() {
return totalCount; return totalCount;
} }
// 设置数据总条数的方法
public void setTotalCount(Integer totalCount) { public void setTotalCount(Integer totalCount) {
this.totalCount = totalCount; this.totalCount = totalCount;
} }
//获取总页数 // 获取总页数的方法,根据总条数和每页条数计算
public Integer getPageTotalCount() { public Integer getPageTotalCount() {
this.pageTotalCount = totalCount / pageSize; this.pageTotalCount = totalCount / pageSize;
// 如果总条数不能被每页条数整除,则总页数加 1
if (totalCount % pageSize != 0) { if (totalCount % pageSize != 0) {
this.pageTotalCount++; this.pageTotalCount++;
} }
return pageTotalCount; return pageTotalCount;
} }
// 设置总页数的方法(通常不需要手动设置)
public void setPageTotalCount(Integer pageTotalCount) { public void setPageTotalCount(Integer pageTotalCount) {
this.pageTotalCount = pageTotalCount; this.pageTotalCount = pageTotalCount;
} }
// 获取每页数据集合的方法
public List<T> getList() { public List<T> getList() {
return list; return list;
} }
// 设置每页数据集合的方法
public void setList(List<T> list) { public void setList(List<T> list) {
this.list = list; this.list = list;
} }

@ -1,91 +1,121 @@
package com.itheima.po; package com.itheima.po;
// 学生实体类,包含学生的基本信息
public class Student { public class Student {
// 序列化版本号,用于保证序列化和反序列化的一致性
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
// 学生的唯一标识ID
private Integer s_id; private Integer s_id;
// 学号
private Integer s_studentid; private Integer s_studentid;
// 学生姓名
private String s_name; private String s_name;
// 学生性别
private String s_sex; private String s_sex;
// 学生年龄
private Integer s_age; private Integer s_age;
// 学生手机号码
private Integer s_phone; private Integer s_phone;
// 学生所在班级ID
private Integer s_classid; private Integer s_classid;
// 学生班级名称
private String s_classname; private String s_classname;
// 学生所在宿舍ID
private Integer s_dormitoryid; private Integer s_dormitoryid;
// 获取序列化版本号的方法
public static long getSerialVersionUID() { public static long getSerialVersionUID() {
return serialVersionUID; return serialVersionUID;
} }
// 获取学生ID的方法
public Integer getS_id() { public Integer getS_id() {
return s_id; return s_id;
} }
// 设置学生ID的方法
public void setS_id(Integer s_id) { public void setS_id(Integer s_id) {
this.s_id = s_id; this.s_id = s_id;
} }
// 获取学号的方法
public Integer getS_studentid() { public Integer getS_studentid() {
return s_studentid; return s_studentid;
} }
// 设置学号的方法
public void setS_studentid(Integer s_studentid) { public void setS_studentid(Integer s_studentid) {
this.s_studentid = s_studentid; this.s_studentid = s_studentid;
} }
// 获取学生姓名的方法
public String getS_name() { public String getS_name() {
return s_name; return s_name;
} }
// 设置学生姓名的方法
public void setS_name(String s_name) { public void setS_name(String s_name) {
this.s_name = s_name; this.s_name = s_name;
} }
// 获取学生性别的方法
public String getS_sex() { public String getS_sex() {
return s_sex; return s_sex;
} }
// 设置学生性别的方法
public void setS_sex(String s_sex) { public void setS_sex(String s_sex) {
this.s_sex = s_sex; this.s_sex = s_sex;
} }
// 获取学生年龄的方法
public Integer getS_age() { public Integer getS_age() {
return s_age; return s_age;
} }
// 设置学生年龄的方法
public void setS_age(Integer s_age) { public void setS_age(Integer s_age) {
this.s_age = s_age; this.s_age = s_age;
} }
// 获取学生手机号码的方法
public Integer getS_phone() { public Integer getS_phone() {
return s_phone; return s_phone;
} }
// 设置学生手机号码的方法
public void setS_phone(Integer s_phone) { public void setS_phone(Integer s_phone) {
this.s_phone = s_phone; this.s_phone = s_phone;
} }
// 获取学生所在班级ID的方法
public Integer getS_classid() { public Integer getS_classid() {
return s_classid; return s_classid;
} }
// 设置学生所在班级ID的方法
public void setS_classid(Integer s_classid) { public void setS_classid(Integer s_classid) {
this.s_classid = s_classid; this.s_classid = s_classid;
} }
// 获取学生班级名称的方法
public String getS_classname() { public String getS_classname() {
return s_classname; return s_classname;
} }
// 设置学生班级名称的方法
public void setS_classname(String s_classname) { public void setS_classname(String s_classname) {
this.s_classname = s_classname; this.s_classname = s_classname;
} }
// 获取学生所在宿舍ID的方法
public Integer getS_dormitoryid() { public Integer getS_dormitoryid() {
return s_dormitoryid; return s_dormitoryid;
} }
// 设置学生所在宿舍ID的方法
public void setS_dormitoryid(Integer s_dormitoryid) { public void setS_dormitoryid(Integer s_dormitoryid) {
this.s_dormitoryid = s_dormitoryid; this.s_dormitoryid = s_dormitoryid;
} }
} }

@ -1,90 +1,116 @@
package com.itheima.po; package com.itheima.po;
// 导入 JSON 日期格式化工具,用于日期的格式化
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Date 类,用于时间数据类型
import java.util.Date; import java.util.Date;
/** /**
* @program: dormitorySystem * @program: dormitorySystem
* @description: * @description:
* @author: Joyrocky * @author: Joyrocky
* @create: 2019-04-25 12:12 * @create: 2019-04-25 12:12
**/ **/
public class StudentClean { public class StudentClean {
// 卫生记录的唯一标识ID
private Integer g_id; private Integer g_id;
// 学生的学号
private Integer s_studentid; private Integer s_studentid;
// 学生的姓名
private String s_name; private String s_name;
// 学生的年级
private Integer s_grade; private Integer s_grade;
// 学生所属班级ID
private Integer s_classid; private Integer s_classid;
// 学生宿舍ID
private Integer s_dormitoryid; private Integer s_dormitoryid;
// 创建时间字段,使用注解格式化为指定日期时间格式("yyyy-MM-dd HH:mm:ss"
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date create_time; private Date create_time;
// 更新时间字段,使用注解格式化为指定日期时间格式("yyyy-MM-dd HH:mm:ss"
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date update_time; private Date update_time;
// 获取卫生记录ID的方法
public Integer getG_id() { public Integer getG_id() {
return g_id; return g_id;
} }
// 设置卫生记录ID的方法
public void setG_id(Integer g_id) { public void setG_id(Integer g_id) {
this.g_id = g_id; this.g_id = g_id;
} }
// 获取学生学号的方法
public Integer getS_studentid() { public Integer getS_studentid() {
return s_studentid; return s_studentid;
} }
// 设置学生学号的方法
public void setS_studentid(Integer s_studentid) { public void setS_studentid(Integer s_studentid) {
this.s_studentid = s_studentid; this.s_studentid = s_studentid;
} }
// 获取学生姓名的方法
public String getS_name() { public String getS_name() {
return s_name; return s_name;
} }
// 设置学生姓名的方法
public void setS_name(String s_name) { public void setS_name(String s_name) {
this.s_name = s_name; this.s_name = s_name;
} }
// 获取学生年级的方法
public Integer getS_grade() { public Integer getS_grade() {
return s_grade; return s_grade;
} }
// 设置学生年级的方法
public void setS_grade(Integer s_grade) { public void setS_grade(Integer s_grade) {
this.s_grade = s_grade; this.s_grade = s_grade;
} }
// 获取学生所属班级ID的方法
public Integer getS_classid() { public Integer getS_classid() {
return s_classid; return s_classid;
} }
// 设置学生所属班级ID的方法
public void setS_classid(Integer s_classid) { public void setS_classid(Integer s_classid) {
this.s_classid = s_classid; this.s_classid = s_classid;
} }
// 获取学生宿舍ID的方法
public Integer getS_dormitoryid() { public Integer getS_dormitoryid() {
return s_dormitoryid; return s_dormitoryid;
} }
public void setS_dormitoryid(Integer s_dormtoryid) { // 设置学生宿舍ID的方法
this.s_dormitoryid = s_dormtoryid; public void setS_dormitoryid(Integer s_dormitoryid) {
this.s_dormitoryid = s_dormitoryid;
} }
// 获取记录创建时间的方法
public Date getCreate_time() { public Date getCreate_time() {
return create_time; return create_time;
} }
// 设置记录创建时间的方法
public void setCreate_time(Date create_time) { public void setCreate_time(Date create_time) {
this.create_time = create_time; this.create_time = create_time;
} }
// 获取记录更新时间的方法
public Date getUpdate_time() { public Date getUpdate_time() {
return update_time; return update_time;
} }
// 设置记录更新时间的方法
public void setUpdate_time(Date update_time) { public void setUpdate_time(Date update_time) {
this.update_time = update_time; this.update_time = update_time;
} }
} }

@ -1,71 +1,94 @@
package com.itheima.po; package com.itheima.po;
// 导入 JSON 日期格式化工具,用于日期的格式化
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
// 导入 Date 类,用于时间数据类型
import java.util.Date; import java.util.Date;
/** /**
* @program: dormitorySystem * @program: dormitorySystem
* @description: 访 * @description: 访访
* @author: Joyrocky * @author: Joyrocky
* @create: 2019-05-14 00:37 * @create: 2019-05-14 00:37
**/ **/
public class Visitor { public class Visitor {
// 访客的唯一标识ID
private Integer v_id; private Integer v_id;
// 访客的姓名
private String v_name; private String v_name;
// 访客的电话号码
private Integer v_phone; private Integer v_phone;
// 访客所访问的宿舍ID
private Integer v_dormitoryid; private Integer v_dormitoryid;
// 访客所在的宿舍楼名称
private String v_dormbuilding; private String v_dormbuilding;
// 访客记录的创建时间,使用注解格式化为指定的日期时间格式
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date create_time; private Date create_time;
// 获取访客ID的方法
public Integer getV_id() { public Integer getV_id() {
return v_id; return v_id;
} }
// 设置访客ID的方法
public void setV_id(Integer v_id) { public void setV_id(Integer v_id) {
this.v_id = v_id; this.v_id = v_id;
} }
// 获取访客姓名的方法
public String getV_name() { public String getV_name() {
return v_name; return v_name;
} }
// 设置访客姓名的方法
public void setV_name(String v_name) { public void setV_name(String v_name) {
this.v_name = v_name; this.v_name = v_name;
} }
// 获取访客电话号码的方法
public Integer getV_phone() { public Integer getV_phone() {
return v_phone; return v_phone;
} }
// 设置访客电话号码的方法
public void setV_phone(Integer v_phone) { public void setV_phone(Integer v_phone) {
this.v_phone = v_phone; this.v_phone = v_phone;
} }
// 获取访客所访问的宿舍ID的方法
public Integer getV_dormitoryid() { public Integer getV_dormitoryid() {
return v_dormitoryid; return v_dormitoryid;
} }
// 设置访客所访问的宿舍ID的方法
public void setV_dormitoryid(Integer v_dormitoryid) { public void setV_dormitoryid(Integer v_dormitoryid) {
this.v_dormitoryid = v_dormitoryid; this.v_dormitoryid = v_dormitoryid;
} }
// 获取访客所在宿舍楼名称的方法
public String getV_dormbuilding() { public String getV_dormbuilding() {
return v_dormbuilding; return v_dormbuilding;
} }
// 设置访客所在宿舍楼名称的方法
public void setV_dormbuilding(String v_dormbuilding) { public void setV_dormbuilding(String v_dormbuilding) {
this.v_dormbuilding = v_dormbuilding; this.v_dormbuilding = v_dormbuilding;
} }
// 获取访客记录的创建时间的方法
public Date getCreate_time() { public Date getCreate_time() {
return create_time; return create_time;
} }
// 设置访客记录的创建时间的方法
public void setCreate_time(Date create_time) { public void setCreate_time(Date create_time) {
this.create_time = create_time; this.create_time = create_time;
} }
} }

@ -5,15 +5,20 @@
Time: 16:35 Time: 16:35
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<!-- 页面内容类型设置为 HTML字符编码为 UTF-8 -->
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!-- 引入 JSTL 核心标签库,用于处理条件、循环等逻辑 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html> <html>
<head> <head>
<title>修改信息</title> <title>修改信息</title>
<!-- 页面图标 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" />
<!-- 引入外部 CSS 样式表 -->
<link rel="stylesheet" href="/css/font.css"> <link rel="stylesheet" href="/css/font.css">
<link rel="stylesheet" href="/css/xadmin.css"> <link rel="stylesheet" href="/css/xadmin.css">
<link rel="stylesheet" href="/css/pg_btn.css"> <link rel="stylesheet" href="/css/pg_btn.css">
<!-- 引入 jQuery 和 layui JS 文件 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script>
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script>
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script>
@ -21,71 +26,86 @@
<body> <body>
<!-- 页面主体部分 -->
<div class="x-body"> <div class="x-body">
<%--把表单封装成一个Admin对象传给服务端--%> <%-- 将表单数据封装成一个 Admin 对象,提交到后端 --%>
<form class="layui-form" id="f_auto" action="/updateAdmin" method="post"> <form class="layui-form" id="f_auto" action="/updateAdmin" method="post">
<!-- 隐藏字段,存储管理员 ID -->
<input type="hidden" value="${sessionScope.a.a_id}" name="a_id" id="a_id" class="layui-input"/> <input type="hidden" value="${sessionScope.a.a_id}" name="a_id" id="a_id" class="layui-input"/>
<!-- 用户名字段 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="a_username" class="layui-form-label"> <label for="a_username" class="layui-form-label">
<span class="">用户名</span> <span class="">用户名</span>
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 显示并允许修改用户名 -->
<input type="text" id="a_username" name="a_username" <input type="text" id="a_username" name="a_username"
autocomplete="off" value="${sessionScope.a.a_username}" class="layui-input"> autocomplete="off" value="${sessionScope.a.a_username}" class="layui-input">
</div> </div>
</div> </div>
<!-- 密码字段 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="a_password" class="layui-form-label"> <label for="a_password" class="layui-form-label">
<span class="">密码</span> <span class="">密码</span>
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 显示并允许修改密码 -->
<input type="password" id="a_password" name="a_password" <input type="password" id="a_password" name="a_password"
autocomplete="off" value="${sessionScope.a.a_password}" class="layui-input"> autocomplete="off" value="${sessionScope.a.a_password}" class="layui-input">
</div> </div>
</div> </div>
<!-- 姓名字段 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="a_name" class="layui-form-label"> <label for="a_name" class="layui-form-label">
<span class="">姓名</span> <span class="">姓名</span>
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 显示并允许修改姓名 -->
<input type="text" id="a_name" name="a_name" <input type="text" id="a_name" name="a_name"
autocomplete="off" value="${sessionScope.a.a_name}" class="layui-input"> autocomplete="off" value="${sessionScope.a.a_name}" class="layui-input">
</div> </div>
</div> </div>
<!-- 电话字段 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="a_phone" class="layui-form-label"> <label for="a_phone" class="layui-form-label">
<span class="">电话</span> <span class="">电话</span>
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 显示并允许修改电话号码 -->
<input type="text" id="a_phone" name="a_phone" <input type="text" id="a_phone" name="a_phone"
autocomplete="off" value="${sessionScope.a.a_phone}" class="layui-input"> autocomplete="off" value="${sessionScope.a.a_phone}" class="layui-input">
</div> </div>
</div> </div>
<!-- 级别字段 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="a_power" class="layui-form-label"> <label for="a_power" class="layui-form-label">
<span class="">级别</span> <span class="">级别</span>
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 显示并允许修改管理员级别 -->
<input type="text" id="a_power" name="a_power" <input type="text" id="a_power" name="a_power"
autocomplete="off" value="${sessionScope.a.a_power}" class="layui-input"> autocomplete="off" value="${sessionScope.a.a_power}" class="layui-input">
</div> </div>
</div> </div>
<!-- 级别描述字段 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="a_describe" class="layui-form-label"> <label for="a_describe" class="layui-form-label">
<span class="">级别描述</span> <span class="">级别描述</span>
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<!-- 显示并允许修改级别描述 -->
<input type="text" id="a_describe" name="a_describe" <input type="text" id="a_describe" name="a_describe"
autocomplete="off" value="${sessionScope.a.a_describe}" class="layui-input"> autocomplete="off" value="${sessionScope.a.a_describe}" class="layui-input">
</div> </div>
</div> </div>
<!-- 提交按钮 -->
<div class="layui-form-item" id="btn_xg"> <div class="layui-form-item" id="btn_xg">
<button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateAdmin"> <button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateAdmin">
修改 修改
@ -95,12 +115,15 @@
</div> </div>
<script> <script>
// 注释掉的 layui 表单提交代码,可以启用后进行表单数据的异步提交
// layui.use(['form','layer','laydate'], function(){ // layui.use(['form','layer','laydate'], function(){
// var form = layui.form, // var form = layui.form,
// $ = layui.jquery, // $ = layui.jquery,
// laydate = layui.laydate; // laydate = layui.laydate;
// //
// // 重置表单
// $("#f_auto")[0].reset(); // $("#f_auto")[0].reset();
// // 提交事件
// form.on('submit(updateAdmin)', function(data) { // form.on('submit(updateAdmin)', function(data) {
// //
// var param=data.field; // var param=data.field;
@ -112,12 +135,14 @@
// contentType: "application/json; charset=utf-8", // contentType: "application/json; charset=utf-8",
// success:function(){ // success:function(){
// console.log(data); // console.log(data);
// // 提交成功后的消息提示
// layer.msg('修改成功', {icon: 1, time: 3000}); // layer.msg('修改成功', {icon: 1, time: 3000});
// setTimeout(function () {window.location.href='/findAdmin';},2000); // setTimeout(function () {window.location.href='/findAdmin';},2000);
// //
// }, // },
// error:function(){ // error:function(){
// console.log(data); // console.log(data);
// // 提交失败后的消息提示
// layer.msg('修改失败',{icon:0,time:3000}); // layer.msg('修改失败',{icon:0,time:3000});
// setTimeout(function () {window.location.href='/findAdmin';},2000); // setTimeout(function () {window.location.href='/findAdmin';},2000);
// } // }

@ -5,329 +5,91 @@
Time: 14:06 Time: 14:06
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Admin" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Admin" %> <%-- 设置页面内容类型和语言同时引入需要使用的Admin类 --%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%-- 引入JSTL核心标签库 --%>
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <%-- 设置页面标题 --%>
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <%-- 定义页面渲染模式 --%>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <%-- 兼容模式设置 --%>
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <%-- 适配移动设备视口设置 --%>
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%>
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%-- 注释的禁止站点应用缓存 --%>
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <%-- 设置网页图标 --%>
<link rel="stylesheet" href="/css/font.css"> <link rel="stylesheet" href="/css/font.css"> <%-- 引入字体样式 --%>
<link rel="stylesheet" href="/css/xadmin.css"> <link rel="stylesheet" href="/css/xadmin.css"> <%-- 引入后台管理样式表 --%>
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> <%-- 引入jQuery --%>
<script src="/lib/layui/layui.js"></script> <script src="/lib/layui/layui.js"></script> <%-- 引入layui库 --%>
<script type="text/javascript" src="/js/xadmin.js"></script> <script type="text/javascript" src="/js/xadmin.js"></script> <%-- 引入自定义JS文件 --%>
<script src="/layui_exts/excel.js"></script> <script src="/layui_exts/excel.js"></script> <%-- 引入excel导出扩展 --%>
<style type="text/css"> <style type="text/css">
.layui-table { .layui-table {
text-align: center; text-align: center; <%-- 表格内容居中 --%>
} }
.layui-table th { .layui-table th {
text-align: center; text-align: center; <%-- 表格表头居中 --%>
} }
</style> </style> <%-- 内联样式定义 --%>
</head> </head>
<body> <body>
<div class="x-nav"> <div class="x-nav"> <%-- 导航栏容器 --%>
<span class="layui-breadcrumb"> <span class="layui-breadcrumb">
<a href="">首页</a> <a href="">首页</a> <%-- 首页链接 --%>
<a href="/findAdmin">管理员信息</a> <a href="/findAdmin">管理员信息</a> <%-- 管理员信息链接 --%>
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findAdmin" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findAdmin" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i> <%-- 刷新图标按钮 --%>
</a>
</div> </div>
<div class="x-body"> <div class="x-body"> <%-- 页面主要内容容器 --%>
<div class="layui-row"> <div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/findAdmin" > <form class="layui-form layui-col-md12 x-so" action="/findAdmin" > <%-- 表单提交管理员查询 --%>
<input type="hidden" class="layui-input" placeholder="请输入用户名" name="a_id" id="a_id"> <input type="hidden" class="layui-input" placeholder="请输入用户名" name="a_id" id="a_id"> <%-- 隐藏的ID输入框 --%>
<input class="layui-input" placeholder="请输入用户名" name="a_username" id="a_username"> <input class="layui-input" placeholder="请输入用户名" name="a_username" id="a_username"> <%-- 用户名输入框 --%>
<input class="layui-input" placeholder="请输入级别描述" name="a_describe" id="a_describe" > <input class="layui-input" placeholder="请输入级别描述" name="a_describe" id="a_describe" > <%-- 级别描述输入框 --%>
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <input class="layui-input" type="hidden" name="pageIndex" value="1"> <%-- 当前页码隐藏输入框 --%>
<input class="layui-input" type="hidden" name="pageSize" value="3"> <input class="layui-input" type="hidden" name="pageSize" value="3"> <%-- 每页显示条数隐藏输入框 --%>
<button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <%-- 搜索按钮 --%>
</form> </form>
</div> </div>
<xblock> <xblock>
<button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加</button> <button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加</button> <%-- 添加按钮 --%>
<button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <%-- 导出按钮 --%>
<span class="x-right" style="line-height:40px">共有数据:${ai.totalCount} 条</span> <span class="x-right" style="line-height:40px">共有数据:${ai.totalCount} 条</span> <%-- 显示总条数 --%>
</xblock> </xblock>
<%--表格数据--%> <%--表格数据--%>
<table class="layui-table" > <table class="layui-table" > <%-- 管理员列表表格 --%>
<thead> <thead>
<tr> <tr>
<%--<th>--%> <th>ID</th> <%-- ID列 --%>
<%--<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>--%> <th>用户名</th> <%-- 用户名列 --%>
<%--</th>--%> <th>姓名</th> <%-- 姓名列 --%>
<th>ID</th> <th>电话</th> <%-- 电话列 --%>
<th>用户名</th> <th>级别描述</th> <%-- 级别描述列 --%>
<%--<th>密码</th>--%> <th>操作</th> <%-- 操作列 --%>
<th>姓名</th> </tr>
<th>电话</th>
<%--<th>级别</th>--%>
<th>级别描述</th>
<th>操作</th>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${ai.list}" var="ai"> <c:forEach items="${ai.list}" var="ai"> <%-- 遍历管理员列表数据 --%>
<tr> <tr>
<%--<td>--%> <td class="myid">${ai.a_id}</td> <%-- ID数据 --%>
<%--<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>--%> <td>${ai.a_username}</td> <%-- 用户名数据 --%>
<%--</td>--%> <td>${ai.a_name}</td> <%-- 姓名数据 --%>
<%--<td>${class.c_id}</td>--%> <td>${ai.a_phone}</td> <%-- 电话数据 --%>
<td class="myid">${ai.a_id}</td> <td>${ai.a_describe}</td> <%-- 级别描述数据 --%>
<td>${ai.a_username}</td>
<%--<td>${ai.a_password}</td>--%>
<td>${ai.a_name}</td>
<td>${ai.a_phone}</td>
<%--<td>${ai.a_power}</td>--%>
<td>${ai.a_describe}</td>
<td class="td-manage"> <td class="td-manage">
<%--href="/findAdminById?a_id=${ai.a_id}"--%> <a title="编辑" class="updateEdit" href="#"><i class="layui-icon">&#xe642;</i></a> <%-- 编辑按钮 --%>
<a title="编辑" class="updateEdit" href="#"> <a title="删除" onclick="member_del(this,'${ai.a_id}','${ai.a_power}')" href="javascript:;"><i class="layui-icon">&#xe640;</i></a> <%-- 删除按钮 --%>
<i class="layui-icon">&#xe642;</i>
</a>
<a title="删除" onclick="member_del(this,'${ai.a_id}','${ai.a_power}')" href="javascript:;">
<i class="layui-icon">&#xe640;</i>
</a>
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>
</tbody> </tbody>
</table> </table>
<%--添加模态框--%>
<div class="layui-row" id="test" style="display: none;">
<div class="layui-col-md10">
<form class="layui-form" id="addEmployeeForm">
<div class="layui-form-item">
<label class="layui-form-label">用户名:</label>
<div class="layui-input-block">
<input type="text" name="a_username" class="layui-input" placeholder="请输入用户名">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码:</label>
<div class="layui-input-block">
<input type="password" lay-verify="required" name="a_password" class="layui-input" placeholder="请输入密码">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">姓名:</label>
<div class="layui-input-block">
<input type="text" name="a_name" class="layui-input" placeholder="请输入姓名">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">电话:</label>
<div class="layui-input-block">
<input type="text" name="a_phone" class="layui-input" placeholder="请输入电话">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">级别:</label>
<div class="layui-input-block">
<input type="text" lay-verify="required" name="a_power" class="layui-input" placeholder="请输入级别1-2">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">级别描述:</label>
<div class="layui-input-block">
<input type="text" name="a_describe" class="layui-input" placeholder="请输入级别描述">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>
</div>
<div class="" >
<input type="hidden" id="totalPageCount" value="${ai.pageTotalCount}"/>
<c:import url="pageBtn.jsp">
<c:param name="totalCount" value="${ai.totalCount}"/>
<c:param name="currentPageNo" value="${ai.pageIndex}"/>
<c:param name="totalPageCount" value="${ai.pageTotalCount}"/>
</c:import>
</div>
</div>
<script>
layui.config({
base: 'layui_exts/',
}).extend({
excel: 'excel',
});
layui.use(['jquery', 'excel', 'form','layer','laydate'], function(){
var form = layui.form,
$ = layui.jquery,
laydate = layui.laydate;
var excel = parent.layui.excel;
//执行一个laydate实例
laydate.render({
elem: '#start' //指定元素
});
form.render();
form.on('submit(toolbarDemo)', function(){
$.ajax({
url: '/exportadminlist',
type: 'post',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
// 1. 如果需要调整顺序,请执行梳理函数
var dt = excel.filterExportData(data, [
'a_id'
,'a_username'
,'a_name'
,'a_phone'
,'a_describe'
]);
// 2. 数组头部新增表头
dt.unshift({a_id: 'ID', a_username: '用户名', a_name: '姓名', a_phone: '电话', a_describe: '级别描述'});
// 意思是A列40pxB列60px(默认)C列120pxD、E、F等均未定义
var colConf = excel.makeColConfig({
'A': 40,
'D': 90
}, 60);
var timestart = Date.now();
// 3. 执行导出函数,系统会弹出弹框
excel.exportExcel({
sheet1: dt
}, '管理员数据.xlsx', 'xlsx', {
extend: {
'!cols': colConf
}
});
var timeend = Date.now();
var spent = (timeend - timestart) / 1000;
layer.alert('导出耗时 '+spent+' s');
//setTimeout(function () {window.location.href='/findAdmin';},2000);
},
error: function () {
//console.log(data);
setTimeout(function () {window.location.href='/findAdmin';},2000);
}
});
});
/*添加弹出框*/
$("#addStudnetBtn").click(function () {
layer.open({
type:1,
title:"添加管理员",
skin:"myclass",
area:["50%"],
anim:2,
content:$("#test").html()
});
$("#addEmployeeForm")[0].reset();
form.on('submit(formDemo)', function(data) {
// layer.msg('aaa',{icon:1,time:3000});
var param=data.field;
// console.log(JSON.stringify(param));
$.ajax({
url: '/addAdmin',
type: "post",
data:JSON.stringify(param),
contentType: "application/json; charset=utf-8",
success:function(da){
console.log(da);
layer.msg('添加成功', {icon: 1, time: 2000});
setTimeout(function () {window.location.href='/findAdmin';},2000);
},
error:function(){
layer.msg('添加失败',{icon:0,time:2000});
setTimeout(function () {window.location.href='/findAdmin';},2000);
}
});
// return false;
});
});
});
/*编辑*/
$(".updateEdit").click(function () {
var myid = $(this).parent("td").parent("tr").children(".myid").html();
//判断
var admin_id = ${sessionScope.ad.a_id};
if(admin_id != myid){
layer.alert("对不起,您没有权限:(");
}else {
<%--window.location.href = "/findAdminById?a_id=${ai.a_id}";--%>
window.location.href = "/findAdminById?a_id=" + myid;
}
});
/*删除*/
function member_del(obj,a_id,a_power){
var power = ${sessionScope.ad.a_power};
var id = ${sessionScope.ad.a_id};
if(power != 1 && id != a_id){
layer.alert("对不起,您没有权限:(");
}
// else if(power == 1 && id == a_id){
// layer.alert("对不起,您没有权限:(");
// }
else {
layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.get("/deleteAdmin",{"a_id":a_id},function (data) {
if(data = true){
layer.msg('删除成功!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findAdmin';},2000);
}else {
layer.msg('删除失败!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findAdmin';},2000);
}
});
});
}
}
</script>
</body>
</html>

@ -5,56 +5,55 @@
Time: 14:06 Time: 14:06
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 -->
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <!-- 设置页面的标题 -->
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 设置浏览器渲染模式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 设置浏览器兼容模式 -->
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <!-- 设置视口,适应不同设备 -->
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <!-- 缓存控制,暂时注释掉 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 网站图标 -->
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="./css/xadmin.css"> <link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理页面的CSS样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义的xadmin.js -->
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{
text-align: center; text-align: center; <!-- 设置表格内容居中显示 -->
} }
.layui-table th{ .layui-table th{
text-align: center; text-align: center; <!-- 设置表头文字居中显示 -->
} }
</style> </style>
</head> </head>
<body> <body>
<div class="x-nav"> <div class="x-nav">
<span class="layui-breadcrumb"> <span class="layui-breadcrumb"> <!-- 显示当前位置 -->
<a href="">首页</a> <a href="">首页</a>
<a href="/findClassStudent">班级学生</a> <a href="/findClassStudent">班级学生</a>
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findClassStudent" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findClassStudent" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i></a> <!-- 刷新按钮 -->
</div> </div>
<div class="x-body"> <div class="x-body">
<div class="layui-row"> <div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/findClassStudent" > <form class="layui-form layui-col-md12 x-so" action="/findClassStudent" > <!-- 搜索表单 -->
<input class="layui-input" placeholder="请输入班级编号" name="c_classid" id="c_classid"> <input class="layui-input" placeholder="请输入班级编号" name="c_classid" id="c_classid"> <!-- 输入班级编号 -->
<input class="layui-input" placeholder="请输入班级名" name="c_classname" id="c_classname"> <input class="layui-input" placeholder="请输入班级名" name="c_classname" id="c_classname"> <!-- 输入班级名 -->
<button class="layui-btn" lay-submit lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <button class="layui-btn" lay-submit lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <!-- 搜索按钮 -->
</form> </form>
</div> </div>
<%--表格数据--%> <%--表格数据--%>
<table class="layui-table" id="tb"> <table class="layui-table" id="tb"> <!-- 定义表格 -->
<thead> <thead>
<tr> <tr>
<th>班级编号</th> <th>班级编号</th>
@ -67,25 +66,20 @@
</thead> </thead>
<tbody> <tbody>
<!--将返回的Model数据的students集合分步提取出来循环遍历--> <!-- 使用JSTL标签<c:forEach>循环遍历班级数据 -->
<!--前一段为Class数据后面多段为Student数据-->
<!--返回数据不受刷新影响,原本就包含在页面中-->
<c:forEach items="${cs}" var="c"> <c:forEach items="${cs}" var="c">
<c:set value="${c.students}" var="cc" /> <!-- 设置班级的学生列表 -->
<c:set value="${c.students}" var="cc" /> <c:forEach items="${cc}" var="sc"> <!-- 循环遍历每个班级的学生数据 -->
<c:forEach items="${cc}" var="sc">
<tr> <tr>
<td>${c.c_classid}</td> <td>${c.c_classid}</td> <!-- 显示班级编号 -->
<td>${c.c_classname}</td> <td>${c.c_classname}</td> <!-- 显示班级名 -->
<td>${c.c_counsellor}</td> <td>${c.c_counsellor}</td> <!-- 显示辅导员姓名 -->
<td>${sc.s_studentid}</td> <td>${sc.s_studentid}</td> <!-- 显示学生学号 -->
<td>${sc.s_name}</td> <td>${sc.s_name}</td> <!-- 显示学生姓名 -->
<td>${sc.s_phone}</td> <td>${sc.s_phone}</td> <!-- 显示学生电话 -->
<td>${sc.s_dormitoryid}</td> <td>${sc.s_dormitoryid}</td> <!-- 显示学生宿舍编号 -->
</tr> </tr>
</c:forEach> </c:forEach>
</c:forEach> </c:forEach>
</tbody> </tbody>
</table> </table>
@ -93,8 +87,7 @@
</div> </div>
<script> <script>
<!-- JavaScript代码被注释掉可能是曾经计划采用Ajax提交表单来进行异步刷新 -->
<!--本想采用Ajax来提交表单,实现异步刷新,但是layui的iframe每次会自动刷新还原为页面-->
// layui.use(['jquery','form','layer','laydate'], function(){ // layui.use(['jquery','form','layer','laydate'], function(){
// var form = layui.form, // var form = layui.form,
// $ = layui.jquery, // $ = layui.jquery,
@ -114,7 +107,6 @@
// contentType: "application/json; charset=utf-8", // contentType: "application/json; charset=utf-8",
// success: function (dd) { // success: function (dd) {
// //
//将获取的JSON数据分步提取出来前一段为Class数据后面多段为Student数据
// var s= ''; // var s= '';
// for(var i in dd){ // for(var i in dd){
// var c_classid = dd[i].c_classid; // var c_classid = dd[i].c_classid;
@ -123,7 +115,6 @@
// var students = dd[i].students; // var students = dd[i].students;
// } // }
// //
//拼接异步刷新的表格部分将数据一起拼接成HTML
// for(var j in students){ // for(var j in students){
// var s_studentid = students[j].s_studentid; // var s_studentid = students[j].s_studentid;
// var s_name = students[j].s_name; // var s_name = students[j].s_name;
@ -131,13 +122,10 @@
// var s_dormitoryid = students[j].s_dormitoryid; // var s_dormitoryid = students[j].s_dormitoryid;
// s += '<tr><td>'+c_classid+'</td><td>'+c_classname+'</td><td>'+c_counsellor+'</td><td>'+ // s += '<tr><td>'+c_classid+'</td><td>'+c_classname+'</td><td>'+c_counsellor+'</td><td>'+
// s_studentid+'</td><td>'+s_name+'</td><td>'+s_phone+'</td><td>'+s_dormitoryid+'</td></tr>'; // s_studentid+'</td><td>'+s_name+'</td><td>'+s_phone+'</td><td>'+s_dormitoryid+'</td></tr>';
// //console.log(s_studentid);
// } // }
// //
// setTimeout(function () {window.location.href='/findClassStudent';},2000); // setTimeout(function () {window.location.href='/findClassStudent';},2000);
// console.log(s); // console.log(s);
//将刷新部分拼接到表格需要刷新的地方
// $('#tbb').append(s); // $('#tbb').append(s);
// //
// }, // },
@ -146,11 +134,8 @@
// } // }
// }); // });
// }); // });
//
// }); // });
</script> </script>
</body> </body>
</html> </html>

@ -5,66 +5,72 @@
Time: 16:35 Time: 16:35
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <!-- 设置页面的内容类型为HTML并指定字符编码为UTF-8 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库允许使用<c:forEach>、<c:param>等标签 -->
<html> <html>
<head> <head>
<title>修改信息</title> <title>修改信息</title> <!-- 页面标题,显示为“修改信息” -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置页面的favicon图标 -->
<link rel="stylesheet" href="/css/font.css"> <link rel="stylesheet" href="/css/font.css"> <!-- 引入自定义的字体CSS样式 -->
<link rel="stylesheet" href="/css/xadmin.css"> <link rel="stylesheet" href="/css/xadmin.css"> <!-- 引入自定义的后台管理系统样式 -->
<link rel="stylesheet" href="/css/pg_btn.css"> <link rel="stylesheet" href="/css/pg_btn.css"> <!-- 引入分页按钮样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui.js库用于前端UI框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义的后台管理功能JS脚本 -->
</head> </head>
<body> <body>
<div class="x-body"> <div class="x-body"> <!-- div容器表示页面的主体部分 -->
<form class="layui-form" id="f_auto" action="/updateClass" method="post" > <form class="layui-form" id="f_auto" action="/updateClass" method="post" > <!-- 表单,用于提交修改后的班级信息,提交到/updateClass -->
<input type="hidden" value="${sessionScope.c.c_id}" name="c_id" id="c_id"/> <input type="hidden" value="${sessionScope.c.c_id}" name="c_id" id="c_id"/> <!-- 隐藏域用于存储班级ID传递给服务器 -->
<!-- 班级编号输入框 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="c_classid" class="layui-form-label"> <label for="c_classid" class="layui-form-label">
<span class="">班级编号</span> <span class="">班级编号</span> <!-- 标签:班级编号 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="c_classid" name="c_classid" <input type="text" id="c_classid" name="c_classid" autocomplete="off"
autocomplete="off" value="${sessionScope.c.c_classid}" class="layui-input"> value="${sessionScope.c.c_classid}" class="layui-input"> <!-- 输入框,显示当前班级编号的值 -->
</div> </div>
</div> </div>
<!-- 班级名称输入框 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="c_classname" class="layui-form-label"> <label for="c_classname" class="layui-form-label">
<span class="">班级名</span> <span class="">班级名</span> <!-- 标签:班级名称 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="c_classname" name="c_classname" <input type="text" id="c_classname" name="c_classname" autocomplete="off"
autocomplete="off" value="${sessionScope.c.c_classname}" class="layui-input"> value="${sessionScope.c.c_classname}" class="layui-input"> <!-- 输入框,显示当前班级名称的值 -->
</div> </div>
</div> </div>
<!-- 辅导员姓名输入框 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="c_counsellor" class="layui-form-label"> <label for="c_counsellor" class="layui-form-label">
<span class="">辅导员姓名</span> <span class="">辅导员姓名</span> <!-- 标签:辅导员姓名 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="c_counsellor" name="c_counsellor" <input type="text" id="c_counsellor" name="c_counsellor" autocomplete="off"
autocomplete="off" value="${sessionScope.c.c_counsellor}" class="layui-input"> value="${sessionScope.c.c_counsellor}" class="layui-input"> <!-- 输入框,显示当前辅导员姓名的值 -->
</div> </div>
</div> </div>
<!-- 提交按钮 -->
<div class="layui-form-item" id="btn_xg"> <div class="layui-form-item" id="btn_xg">
<button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass"> <button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass">
修改 修改 <!-- 按钮标签:修改 -->
</button> </button>
</div> </div>
</form> </form>
</div> </div>
<script> <script>
// 此处可添加JavaScript代码进行表单验证等功能当前示例中为空
</script> </script>
</body> </body>
</html> </html>

@ -4,123 +4,122 @@
Date: 2018/10/31 Date: 2018/10/31
Time: 14:06 Time: 14:06
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%> <!-- 注释开发信息表明这是一个由IntelliJ IDEA创建的文件 -->
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Class" %> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Class" %> <!-- 设置页面内容类型为HTML并指定UTF-8编码同时导入Class类 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 -->
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <!-- 页面标题为“后台登录” -->
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 指定渲染引擎,兼容浏览器 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 强制使用IE最新的渲染引擎 -->
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <!-- 设置页面视口,适配移动设备 -->
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <!-- 注释防止缓存通常用于移动端App -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置页面的favicon图标 -->
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="./css/xadmin.css"> <link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理系统的CSS样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义的xadmin.js脚本 -->
<script src="/layui_exts/excel.js"></script> <script src="/layui_exts/excel.js"></script> <!-- 引入Excel导出功能的脚本 -->
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{
text-align: center; text-align: center; /* 表格内容居中 */
} }
.layui-table th{ .layui-table th{
text-align: center; text-align: center; /* 表头内容居中 */
} }
</style> </style>
</head> </head>
<body> <body>
<div class="x-nav"> <div class="x-nav"> <!-- 导航栏 -->
<span class="layui-breadcrumb"> <span class="layui-breadcrumb">
<a href="">首页</a> <a href="">首页</a> <!-- 首页链接 -->
<a href="/findClass">班级信息</a> <a href="/findClass">班级信息</a> <!-- 班级信息页面链接 -->
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findClass" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findClass" title="刷新"> <!-- 刷新按钮 -->
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i> <!-- 刷新图标 -->
</a>
</div> </div>
<div class="x-body">
<div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/findClass" >
<input class="layui-input" placeholder="请输入班级编号" name="c_classid" id="c_classid">
<input class="layui-input" placeholder="请输入班级名" name="c_classname" id="c_classname">
<input class="layui-input" placeholder="请输入辅导员姓名" name="c_counsellor" id="c_counsellor">
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <div class="x-body"> <!-- 页面主体部分 -->
<input class="layui-input" type="hidden" name="pageSize" value="3"> <div class="layui-row"> <!-- layui的栅格布局创建一个行 -->
<button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <form class="layui-form layui-col-md12 x-so" action="/findClass" > <!-- 表单,用于搜索班级信息 -->
<input class="layui-input" placeholder="请输入班级编号" name="c_classid" id="c_classid"> <!-- 班级编号输入框 -->
<input class="layui-input" placeholder="请输入班级名" name="c_classname" id="c_classname"> <!-- 班级名称输入框 -->
<input class="layui-input" placeholder="请输入辅导员姓名" name="c_counsellor" id="c_counsellor"> <!-- 辅导员姓名输入框 -->
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <!-- 隐藏字段:当前页索引 -->
<input class="layui-input" type="hidden" name="pageSize" value="3"> <!-- 隐藏字段:每页显示条数 -->
<button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <!-- 搜索按钮 -->
</form> </form>
</div> </div>
<xblock> <xblock> <!-- 操作区块 -->
<button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <!-- 添加按钮 -->
<button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <!-- 导出按钮 -->
<span class="x-right" style="line-height:40px">共有数据:${ci.totalCount} 条</span> <span class="x-right" style="line-height:40px">共有数据:${ci.totalCount} 条</span> <!-- 显示数据总数 -->
</xblock> </xblock>
<%-- 添加模态框 --%> <%-- 添加模态框 --%>
<div class="layui-row" id="test" style="display: none;"> <div class="layui-row" id="test" style="display: none;"> <!-- 隐藏的模态框 -->
<div class="layui-col-md10"> <div class="layui-col-md10">
<form class="layui-form" id="addEmployeeForm"> <form class="layui-form" id="addEmployeeForm"> <!-- 添加班级表单 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">班级编号:</label> <label class="layui-form-label">班级编号:</label> <!-- 班级编号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="c_classid" class="layui-input" placeholder="请输入班级编号"> <input type="text" name="c_classid" class="layui-input" placeholder="请输入班级编号"> <!-- 输入班级编号 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">班级名:</label> <label class="layui-form-label">班级名:</label> <!-- 班级名称标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" lay-verify="required" name="c_classname" class="layui-input" placeholder="请输入班级名"> <input type="text" lay-verify="required" name="c_classname" class="layui-input" placeholder="请输入班级名"> <!-- 输入班级名称 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">辅导员:</label> <label class="layui-form-label">辅导员:</label> <!-- 辅导员标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="c_counsellor" class="layui-input" placeholder="请输入辅导员姓名"> <input type="text" name="c_counsellor" class="layui-input" placeholder="请输入辅导员姓名"> <!-- 输入辅导员姓名 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <!-- 提交按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<%-- 表格数据 --%> <%-- 表格数据 --%>
<table class="layui-table"> <table class="layui-table">
<thead> <thead>
<th>ID</th> <th>ID</th> <!-- 表头ID -->
<th>班级编号</th> <th>班级编号</th> <!-- 表头:班级编号 -->
<th>班级名</th> <th>班级名</th> <!-- 表头:班级名称 -->
<th>辅导员</th> <th>辅导员</th> <!-- 表头:辅导员 -->
<th>操作</th> <th>操作</th> <!-- 表头:操作 -->
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${ci.list}" var="ci"> <c:forEach items="${ci.list}" var="ci">
<tr> <tr>
<td>${ci.c_id}</td> <td>${ci.c_id}</td> <!-- 显示班级ID -->
<td>${ci.c_classid}</td> <td>${ci.c_classid}</td> <!-- 显示班级编号 -->
<td>${ci.c_classname}</td> <td>${ci.c_classname}</td> <!-- 显示班级名称 -->
<td>${ci.c_counsellor}</td> <td>${ci.c_counsellor}</td> <!-- 显示辅导员姓名 -->
<td> <td>
<a title="编辑" id="updateEdit" href="/findClassById?c_id=${ci.c_id}"> <a title="编辑" id="updateEdit" href="/findClassById?c_id=${ci.c_id}">
<i class="layui-icon">&#xe642;</i> <i class="layui-icon">&#xe642;</i> <!-- 编辑图标 -->
</a> </a>
<a title="删除" onclick="member_del(this,'${ci.c_id}')" href="javascript:;"> <a title="删除" onclick="member_del(this,'${ci.c_id}')" href="javascript:;">
<i class="layui-icon">&#xe640;</i> <i class="layui-icon">&#xe640;</i> <!-- 删除图标 -->
</a> </a>
</td> </td>
</tr> </tr>
@ -129,22 +128,21 @@
</table> </table>
<div class="" > <div class="" >
<input type="hidden" id="totalPageCount" value="${ci.pageTotalCount}"/> <input type="hidden" id="totalPageCount" value="${ci.pageTotalCount}"/> <!-- 隐藏字段:总页数 -->
<c:import url="pageBtn.jsp"> <c:import url="pageBtn.jsp">
<c:param name="totalCount" value="${ci.totalCount}"/> <c:param name="totalCount" value="${ci.totalCount}"/>
<c:param name="currentPageNo" value="${ci.pageIndex}"/> <c:param name="currentPageNo" value="${ci.pageIndex}"/>
<c:param name="totalPageCount" value="${ci.pageTotalCount}"/> <c:param name="totalPageCount" value="${ci.pageTotalCount}"/>
</c:import> </c:import>
</div> </div>
<script>
<script>
layui.config({ layui.config({
base: 'layui_exts/', base: 'layui_exts/',
}).extend({ }).extend({
excel: 'excel', excel: 'excel',
}); });
layui.use(['jquery', 'excel','form','layer','laydate'], function(){ layui.use(['jquery', 'excel','form','layer','laydate'], function(){
var form = layui.form, var form = layui.form,
$ = layui.jquery, $ = layui.jquery,
@ -157,7 +155,6 @@
}); });
form.on('submit(toolbarDemo)', function(){ form.on('submit(toolbarDemo)', function(){
$.ajax({ $.ajax({
url: '/exportclasslist', url: '/exportclasslist',
type: 'post', type: 'post',
@ -165,26 +162,17 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
success: function (data) { success: function (data) {
console.log(data); console.log(data);
// 1. 如果需要调整顺序,请执行梳理函数
var dt = excel.filterExportData(data, [ var dt = excel.filterExportData(data, [
'c_id' 'c_id', 'c_classid', 'c_classname', 'c_counsellor'
,'c_classid'
,'c_classname'
,'c_counsellor'
]); ]);
// 2. 数组头部新增表头
dt.unshift({c_id: 'ID', c_classid: '班级编号', c_classname: '班级名', c_counsellor: '辅导员'}); dt.unshift({c_id: 'ID', c_classid: '班级编号', c_classname: '班级名', c_counsellor: '辅导员'});
// 意思是A列40pxB列60px(默认)C列120pxD、E、F等均未定义
var colConf = excel.makeColConfig({ var colConf = excel.makeColConfig({
'C': 90, 'C': 90,
'D': 80 'D': 80
}, 60); }, 60);
var timestart = Date.now(); var timestart = Date.now();
// 3. 执行导出函数,系统会弹出弹框
excel.exportExcel({ excel.exportExcel({
sheet1: dt sheet1: dt
}, '班级数据.xlsx', 'xlsx', { }, '班级数据.xlsx', 'xlsx', {
@ -193,14 +181,10 @@
} }
}); });
var timeend = Date.now(); var timeend = Date.now();
var spent = (timeend - timestart) / 1000; var spent = (timeend - timestart) / 1000;
layer.alert('导出耗时 '+spent+' s'); layer.alert('导出耗时 '+spent+' s');
//setTimeout(function () {window.location.href='/findAdmin';},2000);
}, },
error: function () { error: function () {
//console.log(data);
setTimeout(function () {window.location.href='/findClass';},2000); setTimeout(function () {window.location.href='/findClass';},2000);
} }
}); });
@ -218,9 +202,7 @@
}); });
$("#addEmployeeForm")[0].reset(); $("#addEmployeeForm")[0].reset();
form.on('submit(formDemo)', function(data) { form.on('submit(formDemo)', function(data) {
// layer.msg('aaa',{icon:1,time:3000});
var param=data.field; var param=data.field;
// console.log(JSON.stringify(param));
$.ajax({ $.ajax({
url: '/addClass', url: '/addClass',
type: "post", type: "post",
@ -229,29 +211,23 @@
success:function(){ success:function(){
layer.msg('添加成功', {icon: 1, time: 3000}); layer.msg('添加成功', {icon: 1, time: 3000});
setTimeout(function () {window.location.href='/findClass';},2000); setTimeout(function () {window.location.href='/findClass';},2000);
}, },
error:function(){ error:function(){
layer.msg('添加失败',{icon:0,time:3000}); layer.msg('添加失败',{icon:0,time:3000});
setTimeout(function () {window.location.href='/findClass';},2000); setTimeout(function () {window.location.href='/findClass';},2000);
} }
}); });
// return false;
}); });
}); });
}); });
/* 删除 */ /* 删除 */
function member_del(obj,c_id){ function member_del(obj,c_id){
layer.confirm('确认要删除吗?',function(index){ layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.get("/deleteClass",{"c_id":c_id},function (data) { $.get("/deleteClass",{"c_id":c_id},function (data) {
if(data =true){ if(data =true){
layer.msg('删除成功!',{icon:1,time:2000}); layer.msg('删除成功!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findClass';},2000); setTimeout(function () {window.location.href='/findClass';},2000);
}else { }else {
layer.msg('删除失败!',{icon:1,time:2000}); layer.msg('删除失败!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findClass';},2000); setTimeout(function () {window.location.href='/findClass';},2000);
@ -259,11 +235,3 @@
}); });
}); });
} }
</script>
</body>
</html>

@ -5,25 +5,32 @@
Time: 23:00 Time: 23:00
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <!-- 设置页面的内容类型为UTF-8编码并指定使用Java语言 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 -->
<html> <html>
<head> <head>
<title>修改信息</title> <title>修改信息</title> <!-- 设置页面标题为“修改信息” -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置网页图标 -->
<link rel="stylesheet" href="/css/font.css"> <link rel="stylesheet" href="/css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="/css/xadmin.css"> <link rel="stylesheet" href="/css/xadmin.css"> <!-- 引入后台管理的CSS样式 -->
<link rel="stylesheet" href="/css/pg_btn.css"> <link rel="stylesheet" href="/css/pg_btn.css"> <!-- 引入分页按钮样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义的xadmin.js脚本 -->
</head> </head>
<body> <body>
<div class="x-body"> <div class="x-body">
<!-- 创建表单设置表单的id为“f_auto”action指向“/updateDormClean”使用POST方法 -->
<form class="layui-form" id="f_auto" action="/updateDormClean" method="post"> <form class="layui-form" id="f_auto" action="/updateDormClean" method="post">
<!-- 隐藏字段存储当前会话中的g_id值 -->
<input type="hidden" value="${sessionScope.d.g_id}" name="g_id" id="g_id"/> <input type="hidden" value="${sessionScope.d.g_id}" name="g_id" id="g_id"/>
<!-- 宿舍编号输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="d_id" class="layui-form-label"> <label for="d_id" class="layui-form-label">
<span class="">宿舍编号</span> <span class="">宿舍编号</span>
@ -34,6 +41,7 @@
</div> </div>
</div> </div>
<!-- 宿舍楼输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="d_dormbuilding" class="layui-form-label"> <label for="d_dormbuilding" class="layui-form-label">
<span class="">宿舍楼</span> <span class="">宿舍楼</span>
@ -44,6 +52,7 @@
</div> </div>
</div> </div>
<!-- 卫生打分输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="d_grade" class="layui-form-label"> <label for="d_grade" class="layui-form-label">
<span class="">卫生打分</span> <span class="">卫生打分</span>
@ -53,8 +62,11 @@
autocomplete="off" value="${sessionScope.d.d_grade}" class="layui-input"> autocomplete="off" value="${sessionScope.d.d_grade}" class="layui-input">
</div> </div>
</div> </div>
<!-- 隐藏字段,存储当前会话中的更新时间 -->
<input type="hidden" value="${sessionScope.d.update_time}" name="update_time" id="update_time"/> <input type="hidden" value="${sessionScope.d.update_time}" name="update_time" id="update_time"/>
<!-- 提交按钮 -->
<div class="layui-form-item" id="btn_xg"> <div class="layui-form-item" id="btn_xg">
<button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass"> <button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass">
修改 修改
@ -64,7 +76,7 @@
</div> </div>
<script> <script>
// 此处未包含任何 JavaScript 代码
</script> </script>
</body> </body>
</html> </html>

@ -5,61 +5,63 @@
Time: 23:00 Time: 23:00
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.DormClean" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.DormClean" %> <!-- 设置页面编码为UTF-8指定Java语言并导入DormClean类 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!-- 引入JSTL格式化标签库 -->
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <!-- 设置页面标题为“后台登录” -->
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 设定页面的渲染方式 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 兼容IE浏览器的渲染模式 -->
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <!-- 设置视窗适配 -->
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <!-- 注释掉的Cache控制 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置网页的图标 -->
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="./css/xadmin.css"> <link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理系统的CSS样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义的后台管理脚本 -->
<script src="/layui_exts/excel.js"></script> <script src="/layui_exts/excel.js"></script> <!-- 引入Excel导出扩展脚本 -->
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{
text-align: center; text-align: center; <!-- 设置表格内容居中 -->
} }
.layui-table th{ .layui-table th{
text-align: center; text-align: center; <!-- 设置表格标题居中 -->
} }
</style> </style>
</head> </head>
<body> <body>
<div class="x-nav"> <div class="x-nav"> <!-- 顶部导航栏 -->
<span class="layui-breadcrumb"> <span class="layui-breadcrumb">
<a href="">首页</a> <a href="">首页</a> <!-- 首页链接 -->
<a href="/findDormClean">宿舍卫生</a> <a href="/findDormClean">宿舍卫生</a> <!-- 宿舍卫生列表链接 -->
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormClean" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormClean" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i></a> <!-- 刷新按钮 -->
</div> </div>
<div class="x-body"> <div class="x-body">
<div class="layui-row"> <div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/findDormClean"> <form class="layui-form layui-col-md12 x-so" action="/findDormClean">
<input class="layui-input" placeholder="请输入宿舍编号" name="d_id" id="d_id"> <input class="layui-input" placeholder="请输入宿舍编号" name="d_id" id="d_id"> <!-- 输入框,搜索宿舍编号 -->
<input class="layui-input" placeholder="请输入宿舍楼" name="d_dormbuilding" id="d_dormbuilding"> <input class="layui-input" placeholder="请输入宿舍楼" name="d_dormbuilding" id="d_dormbuilding"> <!-- 输入框,搜索宿舍楼 -->
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <input class="layui-input" type="hidden" name="pageIndex" value="1"> <!-- 隐藏字段,页面索引 -->
<input class="layui-input" type="hidden" name="pageSize" value="3"> <input class="layui-input" type="hidden" name="pageSize" value="3"> <!-- 隐藏字段,页面大小 -->
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button> <button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button> <!-- 搜索按钮 -->
</form> </form>
</div> </div>
<xblock> <xblock>
<button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <!-- 添加按钮 -->
<button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <!-- 导出按钮 -->
<span class="x-right" style="line-height:40px">共有数据:${di.totalCount} 条</span> <span class="x-right" style="line-height:40px">共有数据:${di.totalCount} 条</span> <!-- 显示总记录数 -->
</xblock> </xblock>
<%--添加模态框--%> <%--添加模态框--%>
@ -69,35 +71,34 @@
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍编号:</label> <label class="layui-form-label">宿舍编号:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_id" class="layui-input" placeholder="请输入宿舍编号"> <input type="text" name="d_id" class="layui-input" placeholder="请输入宿舍编号"> <!-- 输入框,宿舍编号 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍楼:</label> <label class="layui-form-label">宿舍楼:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_dormbuilding" class="layui-input" placeholder="请输入宿舍楼"> <input type="text" name="d_dormbuilding" class="layui-input" placeholder="请输入宿舍楼"> <!-- 输入框,宿舍楼 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍卫生:</label> <label class="layui-form-label">宿舍卫生:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_grade" class="layui-input" placeholder="请输入卫生打分"> <input type="text" name="d_grade" class="layui-input" placeholder="请输入卫生打分"> <!-- 输入框,卫生打分 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <!-- 提交按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<%--表格数据--%> <%--表格数据--%>
<table class="layui-table"> <table class="layui-table">
<thead> <thead>
@ -105,26 +106,23 @@
<%--<th>--%> <%--<th>--%>
<%--<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>--%> <%--<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>--%>
<%--</th>--%> <%--</th>--%>
<th>ID</th> <th>ID</th> <!-- ID列 -->
<th>宿舍编号</th> <th>宿舍编号</th> <!-- 宿舍编号列 -->
<th>宿舍楼</th> <th>宿舍楼</th> <!-- 宿舍楼列 -->
<th>宿舍卫生</th> <th>宿舍卫生</th> <!-- 卫生打分列 -->
<th>创建日期</th> <th>创建日期</th> <!-- 创建日期列 -->
<th>更新日期</th> <th>更新日期</th> <!-- 更新日期列 -->
<th>操作</th> <th>操作</th> <!-- 操作列 -->
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${di.list}" var="di"> <c:forEach items="${di.list}" var="di">
<tr> <tr>
<%--<td>--%> <td>${di.g_id}</td> <!-- 显示ID -->
<%--<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>--%> <td>${di.d_id}</td> <!-- 显示宿舍编号 -->
<%--</td>--%> <td>${di.d_dormbuilding}</td> <!-- 显示宿舍楼 -->
<td>${di.g_id}</td> <td>${di.d_grade}</td> <!-- 显示卫生打分 -->
<td>${di.d_id}</td> <td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.create_time}"/></td> <!-- 格式化创建时间 -->
<td>${di.d_dormbuilding}</td> <td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.update_time}"/></td> <!-- 格式化更新时间 -->
<td>${di.d_grade}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.create_time}"/></td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.update_time}"/></td>
<td> <td>
<a title="编辑" id="updateEdit" href="/findDormCleanById?g_id=${di.g_id}"> <a title="编辑" id="updateEdit" href="/findDormCleanById?g_id=${di.g_id}">
<i class="layui-icon">&#xe642;</i> <i class="layui-icon">&#xe642;</i>
@ -139,15 +137,16 @@
</table> </table>
<div class=""> <div class="">
<input type="hidden" id="totalPageCount" value="${di.pageTotalCount}"/> <input type="hidden" id="totalPageCount" value="${di.pageTotalCount}"/> <!-- 隐藏字段,表示总页数 -->
<c:import url="pageBtn.jsp"> <c:import url="pageBtn.jsp">
<c:param name="totalCount" value="${di.totalCount}"/> <c:param name="totalCount" value="${di.totalCount}"/>
<c:param name="currentPageNo" value="${di.pageIndex}"/> <c:param name="currentPageNo" value="${di.pageIndex}"/>
<c:param name="totalPageCount" value="${di.pageTotalCount}"/> <c:param name="totalPageCount" value="${di.pageTotalCount}"/>
</c:import> </c:import>
</div> </div>
<script>
<script>
// layui 配置并导入 excel 扩展
layui.config({ layui.config({
base: 'layui_exts/', base: 'layui_exts/',
}).extend({ }).extend({
@ -160,13 +159,12 @@
laydate = layui.laydate; laydate = layui.laydate;
var excel = parent.layui.excel; var excel = parent.layui.excel;
//执行一个laydate实例 // 使用 layui 的日期控件
laydate.render({ laydate.render({
elem: '#start' //指定元素 elem: '#start' //指定元素
}); });
form.on('submit(toolbarDemo)', function(){ form.on('submit(toolbarDemo)', function(){
$.ajax({ $.ajax({
url: '/exportdormcleanlist', url: '/exportdormcleanlist',
type: 'post', type: 'post',
@ -175,7 +173,7 @@
success: function (data) { success: function (data) {
console.log(data); console.log(data);
// 1. 如果需要调整顺序,请执行梳理函数 // 1. 数据处理:如果需要调整顺序,使用 excel.filterExportData 函数
var dt = excel.filterExportData(data, [ var dt = excel.filterExportData(data, [
'g_id' 'g_id'
,'d_id' ,'d_id'
@ -188,14 +186,14 @@
// 2. 数组头部新增表头 // 2. 数组头部新增表头
dt.unshift({g_id: 'ID', d_id: '宿舍编号', d_dormbuilding: '宿舍楼', d_grade: '宿舍卫生', create_time: '创建日期', update_time: '更新日期'}); dt.unshift({g_id: 'ID', d_id: '宿舍编号', d_dormbuilding: '宿舍楼', d_grade: '宿舍卫生', create_time: '创建日期', update_time: '更新日期'});
// 意思是A列40pxB列60px(默认)C列120pxD、E、F等均未定义 // 配置列宽
var colConf = excel.makeColConfig({ var colConf = excel.makeColConfig({
'E': 160, 'E': 160,
'F': 160 'F': 160
}, 60); }, 60);
var timestart = Date.now(); var timestart = Date.now();
// 3. 执行导出函数,系统会弹出弹框 // 3. 执行导出
excel.exportExcel({ excel.exportExcel({
sheet1: dt sheet1: dt
}, '宿舍卫生数据.xlsx', 'xlsx', { }, '宿舍卫生数据.xlsx', 'xlsx', {
@ -207,11 +205,9 @@
var timeend = Date.now(); var timeend = Date.now();
var spent = (timeend - timestart) / 1000; var spent = (timeend - timestart) / 1000;
layer.alert('导出耗时 '+spent+' s'); layer.alert('导出耗时 '+spent+' s');
//setTimeout(function () {window.location.href='/findAdmin';},2000);
}, },
error: function () { error: function () {
//console.log(data);
setTimeout(function () {window.location.href='/findDormClean';},2000); setTimeout(function () {window.location.href='/findDormClean';},2000);
} }
}); });
@ -227,68 +223,4 @@
anim:2, anim:2,
content:$("#test").html() content:$("#test").html()
}); });
$("#addEmployeeForm")[0].reset(); $("#addEmployee
form.on('submit(formDemo)', function(data) {
// layer.msg('aaa',{icon:1,time:3000});
var param=data.field;
// console.log(JSON.stringify(param));
$.ajax({
url: '/addDormClean',
type: "post",
data:JSON.stringify(param),
contentType: "application/json; charset=utf-8",
success:function(){
layer.msg('添加成功', {icon: 1, time: 3000});
setTimeout(function () {window.location.href='/findDormClean';},2000);
},
error:function(){
layer.msg('添加失败',{icon:0,time:3000});
setTimeout(function () {window.location.href='/findDormClean';},2000);
}
});
// return false;
});
});
});
/*删除*/
function member_del(obj,g_id){
layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.get("/deleteDormClean",{"g_id":g_id},function (data) {
if(data =true){
layer.msg('删除成功!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findDormClean';},2000);
}else {
layer.msg('删除失败!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findDormClean';},2000);
}
});
});
}
/*批量删除*/
function delAll (obj,s_id) {
var data = tableCheck.getData();
layer.confirm('确认要删除吗?'+data,function(s_id){
//捉到所有被选中的,发异步进行删除
layer.msg('删除成功', {icon: 1});
$(".layui-form-checked").not('.header').parents('tr').remove();
});
}
</script>
</body>
</html>

@ -5,90 +5,85 @@
Time: 14:06 Time: 14:06
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库用于循环和条件判断等操作 -->
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <!-- 页面标题 -->
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 设置页面渲染引擎 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 设置浏览器兼容模式 -->
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <!-- 设置页面响应式布局 -->
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <!-- 此标签为注释,防止缓存页面 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置网页图标 -->
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="./css/xadmin.css"> <link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理系统样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入后台管理系统脚本 -->
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{ text-align: center; } <!-- 设置表格单元格内容居中 -->
text-align: center; .layui-table th{ text-align: center; } <!-- 设置表头内容居中 -->
}
.layui-table th{
text-align: center;
}
</style> </style>
</head> </head>
<body> <body>
<div class="x-nav"> <div class="x-nav"> <!-- 页面导航栏 -->
<span class="layui-breadcrumb"> <span class="layui-breadcrumb"> <!-- 面包屑导航 -->
<a href="">首页</a> <a href="">首页</a> <!-- 首页链接 -->
<a href="/findDormitoryStudent">人员信息</a> <a href="/findDormitoryStudent">人员信息</a> <!-- 人员信息页面链接 -->
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormitoryStudent" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormitoryStudent" title="刷新"> <!-- 刷新按钮 -->
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i></a> <!-- 刷新按钮图标 -->
</div> </div>
<div class="x-body">
<div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/findDormitoryStudent" >
<input class="layui-input" placeholder="请输入宿舍编号" name="s_dormitoryid" id="s_dormitoryid">
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button> <div class="x-body"> <!-- 页面内容 -->
<div class="layui-row"> <!-- 搜索框所在行 -->
<form class="layui-form layui-col-md12 x-so" action="/findDormitoryStudent" > <!-- 搜索表单 -->
<input class="layui-input" placeholder="请输入宿舍编号" name="s_dormitoryid" id="s_dormitoryid"> <!-- 输入框,宿舍编号 -->
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button> <!-- 搜索按钮 -->
</form> </form>
</div> </div>
<%--添加模态框--%> <%--添加模态框--%>
<div class="layui-row" id="test" style="display: none;"> <div class="layui-row" id="test" style="display: none;"> <!-- 弹出添加表单的隐藏区域 -->
<div class="layui-col-md10"> <div class="layui-col-md10"> <!-- 弹出表单的布局 -->
<form class="layui-form" id="addEmployeeForm"> <form class="layui-form" id="addEmployeeForm"> <!-- 添加宿舍表单 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍编号:</label> <label class="layui-form-label">宿舍编号:</label> <!-- 表单字段标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_dormitoryid" class="layui-input" placeholder="请输入宿舍编号"> <input type="text" name="s_dormitoryid" class="layui-input" placeholder="请输入宿舍编号"> <!-- 输入框,宿舍编号 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">床位总数:</label> <label class="layui-form-label">床位总数:</label> <!-- 表单字段标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_bedtotal" class="layui-input" placeholder="请输入床位总数"> <input type="text" name="d_bedtotal" class="layui-input" placeholder="请输入床位总数"> <!-- 输入框,床位总数 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">已用床位:</label> <label class="layui-form-label">已用床位:</label> <!-- 表单字段标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_bed" class="layui-input" placeholder="请输入已用床位"> <input type="text" name="d_bed" class="layui-input" placeholder="请输入已用床位"> <!-- 输入框,已用床位 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">管理员:</label> <label class="layui-form-label">管理员:</label> <!-- 表单字段标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="a_name" class="layui-input" placeholder="请输入管理员姓名"> <input type="text" name="a_name" class="layui-input" placeholder="请输入管理员姓名"> <!-- 输入框,管理员姓名 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <!-- 提交按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div> </div>
</div> </div>
</form> </form>
@ -96,46 +91,34 @@
</div> </div>
<%--表格数据--%> <%--表格数据--%>
<table class="layui-table"> <table class="layui-table"> <!-- 表格显示宿舍和学生信息 -->
<thead> <thead>
<tr> <tr>
<%--<th>--%> <th>宿舍编号</th> <!-- 表头,宿舍编号 -->
<%--<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>--%> <th>宿舍楼</th> <!-- 表头,宿舍楼 -->
<%--</th>--%> <th>已用床位</th> <!-- 表头,已用床位 -->
<th>宿舍编号</th> <th>学生姓名</th> <!-- 表头,学生姓名 -->
<th>宿舍楼</th> <th>电话</th> <!-- 表头,电话 -->
<th>已用床位</th> <th>班级编号</th> <!-- 表头,班级编号 -->
<th>学生姓名</th> <th>班级名</th> <!-- 表头,班级名 -->
<th>电话</th>
<th>班级编号</th>
<th>班级名</th>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${ds}" var="d"> <c:forEach items="${ds}" var="d"> <!-- 遍历宿舍信息 -->
<c:set value="${d.students}" var="dd" /> <!-- 设置学生列表为变量dd -->
<c:set value="${d.students}" var="dd" /> <c:forEach items="${dd}" var="sd"> <!-- 遍历学生信息 -->
<c:forEach items="${dd}" var="sd">
<tr> <tr>
<td>${d.s_dormitoryid}</td> <td>${d.s_dormitoryid}</td> <!-- 显示宿舍编号 -->
<td>${d.d_dormbuilding}</td> <td>${d.d_dormbuilding}</td> <!-- 显示宿舍楼 -->
<td>${d.d_bed}</td> <td>${d.d_bed}</td> <!-- 显示已用床位 -->
<td>${sd.s_name}</td> <td>${sd.s_name}</td> <!-- 显示学生姓名 -->
<td>${sd.s_phone}</td> <td>${sd.s_phone}</td> <!-- 显示电话 -->
<td>${sd.s_classid}</td> <td>${sd.s_classid}</td> <!-- 显示班级编号 -->
<td>${sd.s_classname}</td> <td>${sd.s_classname}</td> <!-- 显示班级名 -->
</tr> </tr>
</c:forEach> </c:forEach>
</c:forEach> </c:forEach>
</tbody> </tbody>
</table> </table>
</div> </div>
</body> </body>
</html> </html>

@ -7,7 +7,6 @@
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title>
@ -15,7 +14,6 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%>
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" />
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/font.css">
<link rel="stylesheet" href="./css/xadmin.css"> <link rel="stylesheet" href="./css/xadmin.css">
@ -23,23 +21,16 @@
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script>
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script>
<script src="/layui_exts/excel.js"></script> <script src="/layui_exts/excel.js"></script>
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{ text-align: center; }
text-align: center; .layui-table th{ text-align: center; }
}
.layui-table th{
text-align: center;
}
</style> </style>
</head> </head>
<body> <body>
<div class="x-nav"> <div class="x-nav">
<span class="layui-breadcrumb"> <span class="layui-breadcrumb">
<a href="">首页</a> <a href="">首页</a>
<a href="/findDormitory">宿舍信息</a> <a href="/findDormitory">宿舍信息</a>
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormitory" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormitory" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i></a>
@ -50,7 +41,6 @@
<input class="layui-input" placeholder="请输入宿舍编号" name="s_dormitoryid" id="s_dormitoryid"> <input class="layui-input" placeholder="请输入宿舍编号" name="s_dormitoryid" id="s_dormitoryid">
<input class="layui-input" placeholder="请输入宿舍楼" name="d_dormbuilding" id="d_dormbuilding"> <input class="layui-input" placeholder="请输入宿舍楼" name="d_dormbuilding" id="d_dormbuilding">
<input class="layui-input" placeholder="请输入管理员姓名" name="a_name" id="a_name"> <input class="layui-input" placeholder="请输入管理员姓名" name="a_name" id="a_name">
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <input class="layui-input" type="hidden" name="pageIndex" value="1">
<input class="layui-input" type="hidden" name="pageSize" value="3"> <input class="layui-input" type="hidden" name="pageSize" value="3">
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button> <button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
@ -61,7 +51,6 @@
<button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button>
<span class="x-right" style="line-height:40px">共有数据:${di.totalCount} 条</span> <span class="x-right" style="line-height:40px">共有数据:${di.totalCount} 条</span>
</xblock> </xblock>
<%--添加模态框--%> <%--添加模态框--%>
<div class="layui-row" id="test" style="display: none;"> <div class="layui-row" id="test" style="display: none;">
<div class="layui-col-md10"> <div class="layui-col-md10">
@ -72,35 +61,30 @@
<input type="text" name="s_dormitoryid" class="layui-input" placeholder="请输入宿舍编号"> <input type="text" name="s_dormitoryid" class="layui-input" placeholder="请输入宿舍编号">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍楼:</label> <label class="layui-form-label">宿舍楼:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_dormbuilding" class="layui-input" placeholder="请输入宿舍楼"> <input type="text" name="d_dormbuilding" class="layui-input" placeholder="请输入宿舍楼">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">床位总数:</label> <label class="layui-form-label">床位总数:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_bedtotal" class="layui-input" placeholder="请输入床位总数"> <input type="text" name="d_bedtotal" class="layui-input" placeholder="请输入床位总数">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">已用床位:</label> <label class="layui-form-label">已用床位:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_bed" class="layui-input" placeholder="请输入已用床位"> <input type="text" name="d_bed" class="layui-input" placeholder="请输入已用床位">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">管理员:</label> <label class="layui-form-label">管理员:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="a_name" class="layui-input" placeholder="请输入管理员姓名"> <input type="text" name="a_name" class="layui-input" placeholder="请输入管理员姓名">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button>
@ -110,8 +94,6 @@
</form> </form>
</div> </div>
</div> </div>
<%--表格数据--%> <%--表格数据--%>
<table class="layui-table"> <table class="layui-table">
<thead> <thead>
@ -127,9 +109,6 @@
<tbody> <tbody>
<c:forEach items="${di.list}" var="di"> <c:forEach items="${di.list}" var="di">
<tr> <tr>
<%--<td>--%>
<%--<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>--%>
<%--</td>--%>
<td>${di.d_id}</td> <td>${di.d_id}</td>
<td>${di.s_dormitoryid}</td> <td>${di.s_dormitoryid}</td>
<td>${di.d_dormbuilding}</td> <td>${di.d_dormbuilding}</td>
@ -148,7 +127,6 @@
</c:forEach> </c:forEach>
</tbody> </tbody>
</table> </table>
<div class=""> <div class="">
<input type="hidden" id="totalPageCount" value="${di.pageTotalCount}"/> <input type="hidden" id="totalPageCount" value="${di.pageTotalCount}"/>
<c:import url="pageBtn.jsp"> <c:import url="pageBtn.jsp">
@ -158,55 +136,40 @@
</c:import> </c:import>
</div> </div>
<script> <script>
layui.config({ layui.config({
base: 'layui_exts/', base: 'layui_exts/',
}).extend({ }).extend({
excel: 'excel', excel: 'excel',
}); });
layui.use(['jquery', 'excel','form','layer','laydate'], function(){ layui.use(['jquery', 'excel','form','layer','laydate'], function(){
var form = layui.form, var form = layui.form,
$ = layui.jquery, $ = layui.jquery,
laydate = layui.laydate; laydate = layui.laydate;
var excel = parent.layui.excel; var excel = parent.layui.excel;
//执行一个laydate实例
laydate.render({ laydate.render({
elem: '#start' //指定元素 elem: '#start'
}); });
form.on('submit(toolbarDemo)', function(){ form.on('submit(toolbarDemo)', function(){
$.ajax({ $.ajax({
url: '/exportdormitorylist', url: '/exportdormitorylist',
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
success: function (data) { success: function (data) {
console.log(data);
// 1. 如果需要调整顺序,请执行梳理函数
var dt = excel.filterExportData(data, [ var dt = excel.filterExportData(data, [
'd_id' 'd_id',
,'s_dormitoryid' 's_dormitoryid',
,'d_dormbuilding' 'd_dormbuilding',
,'d_bedtotal' 'd_bedtotal',
,'d_bed' 'd_bed',
,'a_name' 'a_name'
]); ]);
// 2. 数组头部新增表头
dt.unshift({d_id: 'ID', s_dormitoryid: '宿舍编号', d_dormbuilding: '宿舍楼', d_bedtotal: '床位总数', d_bed: '医用床位', a_name: '管理员'}); dt.unshift({d_id: 'ID', s_dormitoryid: '宿舍编号', d_dormbuilding: '宿舍楼', d_bedtotal: '床位总数', d_bed: '医用床位', a_name: '管理员'});
// 意思是A列40pxB列60px(默认)C列120pxD、E、F等均未定义
var colConf = excel.makeColConfig({ var colConf = excel.makeColConfig({
'C': 90, 'C': 90,
'F': 80 'F': 80
}, 60); }, 60);
var timestart = Date.now(); var timestart = Date.now();
// 3. 执行导出函数,系统会弹出弹框
excel.exportExcel({ excel.exportExcel({
sheet1: dt sheet1: dt
}, '宿舍数据.xlsx', 'xlsx', { }, '宿舍数据.xlsx', 'xlsx', {
@ -215,20 +178,14 @@
} }
}); });
var timeend = Date.now(); var timeend = Date.now();
var spent = (timeend - timestart) / 1000; var spent = (timeend - timestart) / 1000;
layer.alert('导出耗时 '+spent+' s'); layer.alert('导出耗时 '+spent+' s');
//setTimeout(function () {window.location.href='/findAdmin';},2000);
}, },
error: function () { error: function () {
//console.log(data);
setTimeout(function () {window.location.href='/findDormitory';},2000); setTimeout(function () {window.location.href='/findDormitory';},2000);
} }
}); });
}); });
/*添加弹出框*/
$("#addStudnetBtn").click(function () { $("#addStudnetBtn").click(function () {
layer.open({ layer.open({
type:1, type:1,
@ -240,9 +197,7 @@
}); });
$("#addEmployeeForm")[0].reset(); $("#addEmployeeForm")[0].reset();
form.on('submit(formDemo)', function(data) { form.on('submit(formDemo)', function(data) {
// layer.msg('aaa',{icon:1,time:3000});
var param=data.field; var param=data.field;
// console.log(JSON.stringify(param));
$.ajax({ $.ajax({
url: '/addDormitory', url: '/addDormitory',
type: "post", type: "post",
@ -251,41 +206,19 @@
success:function(){ success:function(){
layer.msg('添加成功', {icon: 1, time: 3000}); layer.msg('添加成功', {icon: 1, time: 3000});
setTimeout(function () {window.location.href='/findDormitory';},2000); setTimeout(function () {window.location.href='/findDormitory';},2000);
}, },
error:function(){ error:function(){
layer.msg('添加失败',{icon:0,time:3000}); layer.msg('添加失败',{icon:0,time:3000});
setTimeout(function () {window.location.href='/findDormitory';},2000); setTimeout(function () {window.location.href='/findDormitory';},2000);
} }
}); });
// return false;
}); });
}); });
}); });
/*删除*/
function member_del(obj,d_id){ function member_del(obj,d_id){
layer.confirm('确认要删除吗?',function(index){ layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.get("/deleteDormitory",{"d_id":d_id},function (data) { $.get("/deleteDormitory",{"d_id":d_id},function (data) {
if(data =true){ if(data =true){
layer.msg('删除成功!',{icon:1,time:2000}); layer.msg('删除成功!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findDormitory';},2000); setTimeout(function () {window.location.href='/findDormitory';},2000);
}else {
layer.msg('删除失败!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findDormitory';},2000);
}
});
});
} }
</script>
</body>
</html>

@ -5,70 +5,69 @@
Time: 10:29 Time: 10:29
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <!-- 设置页面的内容类型为HTML并指定字符集为UTF-8 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库用于JSP页面中的循环、条件判断等功能 -->
<html> <html>
<head> <head>
<title>修改信息</title> <title>修改信息</title> <!-- 页面标题 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 页面图标 -->
<link rel="stylesheet" href="/css/font.css"> <link rel="stylesheet" href="/css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="/css/xadmin.css"> <link rel="stylesheet" href="/css/xadmin.css"> <!-- 引入后台管理系统样式 -->
<link rel="stylesheet" href="/css/pg_btn.css"> <link rel="stylesheet" href="/css/pg_btn.css"> <!-- 引入分页按钮样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入后台管理系统的JavaScript -->
</head> </head>
<body> <body>
<div class="x-body"> <div class="x-body"> <!-- 页面主体部分 -->
<form class="layui-form" id="f_auto" action="/updateDormRepair" method="post" > <form class="layui-form" id="f_auto" action="/updateDormRepair" method="post" > <!-- 表单,提交维修信息更新请求 -->
<input type="hidden" value="${sessionScope.d.r_id}" name="r_id" id="r_id"/> <input type="hidden" value="${sessionScope.d.r_id}" name="r_id" id="r_id"/> <!-- 隐藏字段存储维修记录的ID -->
<div class="layui-form-item">
<div class="layui-form-item"> <!-- 表单项,宿舍编号 -->
<label for="d_id" class="layui-form-label"> <label for="d_id" class="layui-form-label">
<span class="">宿舍编号</span> <span class="">宿舍编号</span> <!-- 标签,宿舍编号 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="d_id" name="d_id" <input type="text" id="d_id" name="d_id" autocomplete="off" value="${sessionScope.d.d_id}" class="layui-input"> <!-- 输入框,宿舍编号 -->
autocomplete="off" value="${sessionScope.d.d_id}" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 表单项,宿舍楼 -->
<label for="d_dormbuilding" class="layui-form-label"> <label for="d_dormbuilding" class="layui-form-label">
<span class="">宿舍楼</span> <span class="">宿舍楼</span> <!-- 标签,宿舍楼 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="d_dormbuilding" name="d_dormbuilding" <input type="text" id="d_dormbuilding" name="d_dormbuilding" autocomplete="off" value="${sessionScope.d.d_dormbuilding}" class="layui-input"> <!-- 输入框,宿舍楼 -->
autocomplete="off" value="${sessionScope.d.d_dormbuilding}" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 表单项,维修人员 -->
<label for="r_name" class="layui-form-label"> <label for="r_name" class="layui-form-label">
<span class="">维修人员</span> <span class="">维修人员</span> <!-- 标签,维修人员 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="r_name" name="r_name" <input type="text" id="r_name" name="r_name" autocomplete="off" value="${sessionScope.d.r_name}" class="layui-input"> <!-- 输入框,维修人员姓名 -->
autocomplete="off" value="${sessionScope.d.r_name}" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 表单项,报修事由 -->
<label for="reason" class="layui-form-label"> <label for="reason" class="layui-form-label">
<span class="">报修事由</span> <span class="">报修事由</span> <!-- 标签,报修事由 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="reason" name="reason" <input type="text" id="reason" name="reason" autocomplete="off" value="${sessionScope.d.reason}" class="layui-input"> <!-- 输入框,报修事由 -->
autocomplete="off" value="${sessionScope.d.reason}" class="layui-input">
</div> </div>
</div> </div>
<input type="hidden" value="${sessionScope.d.update_time}" name="update_time" id="update_time"/> <input type="hidden" value="${sessionScope.d.update_time}" name="update_time" id="update_time"/> <!-- 隐藏字段,保存更新时间 -->
<div class="layui-form-item" id="btn_xg"> <div class="layui-form-item" id="btn_xg"> <!-- 表单项,修改按钮 -->
<button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass"> <button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass">
修改 修改 <!-- 按钮,提交表单 -->
</button> </button>
</div> </div>
</form> </form>
@ -78,4 +77,3 @@
</script> </script>
</body> </body>
</html> </html>

@ -5,113 +5,122 @@
Time: 10:30 Time: 10:30
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.DormRepair" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.DormRepair" %> <!-- 设置页面内容类型为HTML并指定字符集为UTF-8同时导入Java类DormRepair -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!-- 引入JSTL格式化标签库用于格式化日期等内容 -->
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <!-- 页面标题 -->
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 兼容不同浏览器的渲染引擎 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 兼容性设置使页面能够在IE的最新版本中正常显示 -->
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <!-- 响应式设计,设置视口 -->
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%>
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 页面图标 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理系统的CSS样式 -->
<link rel="stylesheet" href="./css/xadmin.css"> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<script src="lib/layui/layui.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入后台管理系统的JavaScript -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script src="/layui_exts/excel.js"></script> <!-- 引入Excel导出相关的脚本 -->
<script src="/layui_exts/excel.js"></script>
<!-- 样式定义 -->
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{
text-align: center; text-align: center; <!-- 设置表格内容居中显示 -->
} }
.layui-table th{ .layui-table th{
text-align: center; text-align: center; <!-- 设置表头居中显示 -->
} }
</style> </style>
</head> </head>
<body> <body>
<!-- 导航条部分 -->
<div class="x-nav"> <div class="x-nav">
<span class="layui-breadcrumb"> <span class="layui-breadcrumb">
<a href="">首页</a> <a href="">首页</a>
<a href="/findDormRepair">维修信息</a> <a href="/findDormRepair">维修信息</a> <!-- 导航菜单 -->
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormRepair" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findDormRepair" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i> <!-- 刷新按钮 -->
</a>
</div> </div>
<!-- 页面主体部分 -->
<div class="x-body"> <div class="x-body">
<div class="layui-row"> <div class="layui-row">
<!-- 搜索表单 -->
<form class="layui-form layui-col-md12 x-so" action="/findDormRepair"> <form class="layui-form layui-col-md12 x-so" action="/findDormRepair">
<input class="layui-input" placeholder="请输入宿舍编号" name="d_id" id="d_id"> <input class="layui-input" placeholder="请输入宿舍编号" name="d_id" id="d_id"> <!-- 宿舍编号搜索框 -->
<input class="layui-input" placeholder="请输入宿舍楼" name="d_dormbuilding" id="d_dormbuilding"> <input class="layui-input" placeholder="请输入宿舍楼" name="d_dormbuilding" id="d_dormbuilding"> <!-- 宿舍楼搜索框 -->
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <!-- 当前页 -->
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <input class="layui-input" type="hidden" name="pageSize" value="3"> <!-- 每页显示的条数 -->
<input class="layui-input" type="hidden" name="pageSize" value="3"> <button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button> <!-- 提交按钮 -->
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
</form> </form>
</div> </div>
<!-- 按钮区 -->
<xblock> <xblock>
<button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <!-- 添加按钮 -->
<button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <!-- 导出按钮 -->
<span class="x-right" style="line-height:40px">共有数据:${di.totalCount} 条</span> <span class="x-right" style="line-height:40px">共有数据:${di.totalCount} 条</span> <!-- 显示总数据条数 -->
</xblock> </xblock>
<%--添加模态框--%> <!-- 添加模态框 -->
<div class="layui-row" id="test" style="display: none;"> <div class="layui-row" id="test" style="display: none;">
<div class="layui-col-md10"> <div class="layui-col-md10">
<form class="layui-form" id="addEmployeeForm"> <form class="layui-form" id="addEmployeeForm">
<!-- 宿舍编号输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍编号:</label> <label class="layui-form-label">宿舍编号:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_id" class="layui-input" placeholder="请输入宿舍编号"> <input type="text" name="d_id" class="layui-input" placeholder="请输入宿舍编号"> <!-- 输入框,宿舍编号 -->
</div> </div>
</div> </div>
<!-- 宿舍楼输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍楼:</label> <label class="layui-form-label">宿舍楼:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="d_dormbuilding" class="layui-input" placeholder="请输入宿舍楼"> <input type="text" name="d_dormbuilding" class="layui-input" placeholder="请输入宿舍楼"> <!-- 输入框,宿舍楼 -->
</div> </div>
</div> </div>
<!-- 维修人员输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">维修人员:</label> <label class="layui-form-label">维修人员:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" lay-verify="required" name="r_name" class="layui-input" placeholder="请输入维修人员"> <input type="text" lay-verify="required" name="r_name" class="layui-input" placeholder="请输入维修人员"> <!-- 输入框,维修人员 -->
</div> </div>
</div> </div>
<!-- 报修事由输入项 -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">报修事由:</label> <label class="layui-form-label">报修事由:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="reason" class="layui-input" placeholder="请输入报修事由"> <input type="text" name="reason" class="layui-input" placeholder="请输入报修事由"> <!-- 输入框,报修事由 -->
</div> </div>
</div> </div>
<!-- 提交按钮和重置按钮 -->
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <!-- 提交按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<!-- 表格部分 -->
<%--表格数据--%>
<table class="layui-table"> <table class="layui-table">
<thead> <thead>
<tr> <tr>
<%--<th>--%> <!-- 表格头 -->
<%--<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>--%>
<%--</th>--%>
<th>ID</th> <th>ID</th>
<th>宿舍编号</th> <th>宿舍编号</th>
<th>宿舍楼</th> <th>宿舍楼</th>
@ -129,8 +138,8 @@
<td>${di.d_dormbuilding}</td> <td>${di.d_dormbuilding}</td>
<td>${di.r_name}</td> <td>${di.r_name}</td>
<td>${di.reason}</td> <td>${di.reason}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.create_time}"/></td> <td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.create_time}"/></td> <!-- 格式化报修时间 -->
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.update_time}"/></td> <td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.update_time}"/></td> <!-- 格式化更新时间 -->
<td> <td>
<a title="编辑" id= "updateEdit" href="/findDormRepairById?r_id=${di.r_id}"> <a title="编辑" id= "updateEdit" href="/findDormRepairById?r_id=${di.r_id}">
<i class="layui-icon">&#xe642;</i> <i class="layui-icon">&#xe642;</i>
@ -144,6 +153,7 @@
</tbody> </tbody>
</table> </table>
<!-- 分页按钮部分 -->
<div class="" > <div class="" >
<input type="hidden" id="totalPageCount" value="${di.pageTotalCount}"/> <input type="hidden" id="totalPageCount" value="${di.pageTotalCount}"/>
<c:import url="pageBtn.jsp"> <c:import url="pageBtn.jsp">
@ -152,12 +162,12 @@
<c:param name="totalPageCount" value="${di.pageTotalCount}"/> <c:param name="totalPageCount" value="${di.pageTotalCount}"/>
</c:import> </c:import>
</div> </div>
<script>
<script>
layui.config({ layui.config({
base: 'layui_exts/', base: 'layui_exts/', <!-- 配置layui的扩展目录 -->
}).extend({ }).extend({
excel: 'excel', excel: 'excel', <!-- 引入Excel导出功能 -->
}); });
layui.use(['jquery', 'excel', 'form', 'layer', 'laydate'], function(){ layui.use(['jquery', 'excel', 'form', 'layer', 'laydate'], function(){
@ -166,136 +176,19 @@
laydate = layui.laydate; laydate = layui.laydate;
var excel = parent.layui.excel; var excel = parent.layui.excel;
//执行一个laydate实例 // 执行日期选择器实例
laydate.render({ laydate.render({
elem: '#start' //指定元素 elem: '#start' //指定元素
}); });
form.on('submit(toolbarDemo)', function(){ form.on('submit(toolbarDemo)', function(){
$.ajax({ $.ajax({
url: '/exportdormrepairlist', url: '/exportdormrepairlist', <!-- 导出数据请求 -->
type: 'post', type: 'post',
dataType: 'json', dataType: 'json',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
success: function (data) { success: function (data) {
console.log(data); var dt = excel.filterExportData(data, [ /* 导出的数据字段 */ ]);
// 1. 如果需要调整顺序,请执行梳理函数
var dt = excel.filterExportData(data, [
'r_id'
,'d_id'
,'d_dormbuilding'
,'r_name'
,'reason'
,'create_time'
,'update_time'
]);
// 2. 数组头部新增表头
dt.unshift({r_id: 'ID', d_id: '宿舍编号', d_dormbuilding: '宿舍楼', r_name: '维修人员', reason: '报修事由', create_time: '报修时间', update_time: '更新时间'}); dt.unshift({r_id: 'ID', d_id: '宿舍编号', d_dormbuilding: '宿舍楼', r_name: '维修人员', reason: '报修事由', create_time: '报修时间', update_time: '更新时间'});
var colConf = excel.makeColConfig({ /* 设置列宽 */ }, 60);
// 意思是A列40pxB列60px(默认)C列120pxD、E、F等均未定义
var colConf = excel.makeColConfig({
'F': 160,
'G': 160
}, 60);
var timestart = Date.now();
// 3. 执行导出函数,系统会弹出弹框
excel.exportExcel({
sheet1: dt
}, '维修登记数据.xlsx', 'xlsx', {
extend: {
'!cols': colConf
}
});
var timeend = Date.now();
var spent = (timeend - timestart) / 1000;
layer.alert('导出耗时 '+spent+' s');
//setTimeout(function () {window.location.href='/findAdmin';},2000);
},
error: function () {
//console.log(data);
setTimeout(function () {window.location.href='/findDormRepair';},2000);
}
});
});
/*添加弹出框*/
$("#addStudnetBtn").click(function () {
layer.open({
type:1,
title:"添加班级",
skin:"myclass",
area:["50%"],
anim:2,
content:$("#test").html()
});
$("#addEmployeeForm")[0].reset();
form.on('submit(formDemo)', function(data) {
// layer.msg('aaa',{icon:1,time:3000});
var param=data.field;
// console.log(JSON.stringify(param));
$.ajax({
url: '/addDormRepair',
type: "post",
data:JSON.stringify(param),
contentType: "application/json; charset=utf-8",
success:function(){
layer.msg('添加成功', {icon: 1, time: 3000});
setTimeout(function () {window.location.href='/findDormRepair';},2000);
},
error:function(){
layer.msg('添加失败',{icon:0,time:3000});
setTimeout(function () {window.location.href='/findDormRepair';},2000);
}
});
// return false;
});
});
});
/*删除*/
function member_del(obj,r_id){
layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.get("/deleteDormRepair",{"r_id":r_id},function (data) {
if(data =true){
layer.msg('删除成功!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findDormRepair';},2000);
}else {
layer.msg('删除失败!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findDormRepair';},2000);
}
});
});
}
/*批量删除*/
function delAll (obj,s_id) {
var data = tableCheck.getData();
layer.confirm('确认要删除吗?'+data,function(s_id){
//捉到所有被选中的,发异步进行删除
layer.msg('删除成功', {icon: 1});
$(".layui-form-checked").not('.header').parents('tr').remove();
});
}
</script>
</body>
</html>

@ -1,10 +1,3 @@
<%--
Created by IntelliJ IDEA.
User: hkw
Date: 2018/11/14
Time: 16:35
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html> <html>
@ -24,6 +17,8 @@
<div class="x-body"> <div class="x-body">
<form class="layui-form" action="/updateStudent" method="post" id="f_auto" accept-charset="UTF-8"> <form class="layui-form" action="/updateStudent" method="post" id="f_auto" accept-charset="UTF-8">
<input type="hidden" value="${sessionScope.s.s_id}" name="s_id" id="s_id"/> <input type="hidden" value="${sessionScope.s.s_id}" name="s_id" id="s_id"/>
<!-- 隐藏的学号输入框用于传递学生ID -->
<div class="layui-form-item"> <div class="layui-form-item">
<label for="s_studentid" class="layui-form-label"> <label for="s_studentid" class="layui-form-label">
<span class="f_sp">学号</span> <span class="f_sp">学号</span>
@ -31,6 +26,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_studentid" name="s_studentid" <input type="text" id="s_studentid" name="s_studentid"
autocomplete="off" value="${sessionScope.s.s_studentid}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_studentid}" class="layui-input">
<!-- 学号输入框预填充Session中的学号 -->
</div> </div>
</div> </div>
@ -41,6 +37,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_name" name="s_name" <input type="text" id="s_name" name="s_name"
autocomplete="off" value="${sessionScope.s.s_name}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_name}" class="layui-input">
<!-- 姓名输入框预填充Session中的姓名 -->
</div> </div>
</div> </div>
@ -50,7 +47,9 @@
</label> </label>
<div class="layui-input-inline" id="s_sex"> <div class="layui-input-inline" id="s_sex">
<input type="radio" name="s_sex" id="s_male" value="男" title="男" checked=""> <input type="radio" name="s_sex" id="s_male" value="男" title="男" checked="">
<!-- 性别选择框,默认为男性 -->
<input type="radio" name="s_sex" id="s_female" value="女" title="女"> <input type="radio" name="s_sex" id="s_female" value="女" title="女">
<!-- 性别选择框,提供女性选项 -->
</div> </div>
</div> </div>
@ -61,6 +60,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_age" name="s_age" <input type="text" id="s_age" name="s_age"
autocomplete="off" value="${sessionScope.s.s_age}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_age}" class="layui-input">
<!-- 年龄输入框预填充Session中的年龄 -->
</div> </div>
</div> </div>
@ -71,6 +71,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_phone" name="s_phone" <input type="text" id="s_phone" name="s_phone"
autocomplete="off" value="${sessionScope.s.s_phone}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_phone}" class="layui-input">
<!-- 电话输入框预填充Session中的电话 -->
</div> </div>
</div> </div>
@ -81,6 +82,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_classid" name="s_classid" <input type="text" id="s_classid" name="s_classid"
autocomplete="off" value="${sessionScope.s.s_classid}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_classid}" class="layui-input">
<!-- 班级编号输入框预填充Session中的班级编号 -->
</div> </div>
</div> </div>
@ -91,6 +93,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_classname" name="s_classname" <input type="text" id="s_classname" name="s_classname"
autocomplete="off" value="${sessionScope.s.s_classname}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_classname}" class="layui-input">
<!-- 班级名输入框预填充Session中的班级名称 -->
</div> </div>
</div> </div>
@ -101,6 +104,7 @@
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_dormitoryid" name="s_dormitoryid" <input type="text" id="s_dormitoryid" name="s_dormitoryid"
autocomplete="off" value="${sessionScope.s.s_dormitoryid}" class="layui-input"> autocomplete="off" value="${sessionScope.s.s_dormitoryid}" class="layui-input">
<!-- 寝室编号输入框预填充Session中的寝室编号 -->
</div> </div>
</div> </div>
@ -108,6 +112,7 @@
<button class="layui-btn" id="btn_on" lay-filter="updateForm" lay-submit=""> <button class="layui-btn" id="btn_on" lay-filter="updateForm" lay-submit="">
修改 修改
</button> </button>
<!-- 提交按钮,用于提交表单 -->
</div> </div>
</form> </form>
</div> </div>
@ -137,7 +142,6 @@
// }) // })
// //
// }); // });
</script> </script>
</body> </body>
</html> </html>

@ -5,31 +5,31 @@
Time: 14:06 Time: 14:06
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Student" %> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Student" %> <!-- 设置页面的字符编码为UTF-8导入Student类 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!-- 引入JSTL标签库 -->
<html> <html>
<head> <head>
<title>后台登录</title> <title>后台登录</title> <!-- 页面标题 -->
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 指定浏览器渲染引擎 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 兼容IE浏览器 -->
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" /> <!-- 设置视口,适配不同设备 -->
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <!-- 被注释掉的元数据,禁止网站应用程序缓存 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 网站图标 -->
<link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="./css/xadmin.css"> <link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入自定义管理样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui库 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义xadmin脚本 -->
<script src="/layui_exts/excel.js"></script> <script src="/layui_exts/excel.js"></script> <!-- 引入excel导出功能 -->
<style type="text/css"> <style type="text/css">
.layui-table{ .layui-table{
text-align: center; text-align: center; <!-- 设置表格内容居中 -->
} }
.layui-table th{ .layui-table th{
text-align: center; text-align: center; <!-- 设置表头内容居中 -->
} }
</style> </style>
</head> </head>
@ -37,29 +37,30 @@
<body> <body>
<div class="x-nav"> <div class="x-nav">
<span class="layui-breadcrumb"> <span class="layui-breadcrumb">
<a href="">首页</a> <a href="">首页</a> <!-- 首页链接 -->
<a href="/findStudent">学生信息</a> <a href="/findStudent">学生信息</a> <!-- 学生信息页面链接 -->
</span> </span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findStudent" title="刷新"> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="/findStudent" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a> <i class="layui-icon" style="line-height:30px">ဂ</i> <!-- 刷新按钮图标 -->
</a>
</div> </div>
<div class="x-body"> <div class="x-body">
<div class="layui-row"> <div class="layui-row">
<form class="layui-form layui-col-md12 x-so" action="/findStudent"> <form class="layui-form layui-col-md12 x-so" action="/findStudent">
<input class="layui-input" placeholder="请输入姓名" name="s_name" id="s_name"> <input class="layui-input" placeholder="请输入姓名" name="s_name" id="s_name"> <!-- 姓名输入框 -->
<input class="layui-input" placeholder="请输入学号" name="s_studentid" id="s_studentid"> <input class="layui-input" placeholder="请输入学号" name="s_studentid" id="s_studentid"> <!-- 学号输入框 -->
<input class="layui-input" placeholder="请输入班级编号" name="s_classid" id="s_classid"> <input class="layui-input" placeholder="请输入班级编号" name="s_classid" id="s_classid"> <!-- 班级编号输入框 -->
<input class="layui-input" placeholder="请输入班级名" name="s_classname" id="s_classname"> <input class="layui-input" placeholder="请输入班级名" name="s_classname" id="s_classname"> <!-- 班级名输入框 -->
<input class="layui-input" type="hidden" name="pageIndex" value="1"> <input class="layui-input" type="hidden" name="pageIndex" value="1"> <!-- 页码 -->
<input class="layui-input" type="hidden" name="pageSize" value="3"> <input class="layui-input" type="hidden" name="pageSize" value="3"> <!-- 每页条数 -->
<button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button> <!-- 搜索按钮 -->
</form> </form>
</div> </div>
<xblock> <xblock>
<button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <button id="addStudnetBtn" class="layui-btn layui-btn-normal"> <i class="layui-icon">&#xe654;</i>添加 </button> <!-- 添加学生按钮 -->
<button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <button class="layui-btn layui-btn-warm" lay-filter="toolbarDemo" lay-submit=""><i class="layui-icon">&#xe67c;</i>导出</button> <!-- 导出按钮 -->
<span class="x-right" style="line-height:40px">共有数据:${pi.totalCount} 条</span> <span class="x-right" style="line-height:40px">共有数据:${pi.totalCount} 条</span> <!-- 显示数据总数 -->
</xblock> </xblock>
<%-- 添加模态框 --%> <%-- 添加模态框 --%>
@ -67,340 +68,159 @@
<div class="layui-col-md10"> <div class="layui-col-md10">
<form class="layui-form" id="addEmployeeForm"> <form class="layui-form" id="addEmployeeForm">
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">学号:</label> <label class="layui-form-label">学号:</label> <!-- 学号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" lay-verify="required" name="s_studentid" class="layui-input" placeholder="请输入学号"> <input type="text" lay-verify="required" name="s_studentid" class="layui-input" placeholder="请输入学号"> <!-- 学号输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">姓名:</label> <label class="layui-form-label">姓名:</label> <!-- 姓名标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" lay-verify="required" name="s_name" class="layui-input" placeholder="请输入姓名"> <input type="text" lay-verify="required" name="s_name" class="layui-input" placeholder="请输入姓名"> <!-- 姓名输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">性别</label> <label class="layui-form-label">性别</label> <!-- 性别标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="radio" name="s_sex" value="男" title="男" checked=""> <input type="radio" name="s_sex" value="男" title="男" checked=""> <!-- 性别选择:男 -->
<input type="radio" name="s_sex" value="女" title="女"> <input type="radio" name="s_sex" value="女" title="女"> <!-- 性别选择:女 -->
<%--<input type="text" name="s_sex" class="layui-input" id="s_sex" placeholder="请输入性别">--%>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">年龄:</label> <label class="layui-form-label">年龄:</label> <!-- 年龄标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_age" class="layui-input" i placeholder="请输入年龄"> <input type="text" name="s_age" class="layui-input" placeholder="请输入年龄"> <!-- 年龄输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">电话:</label> <label class="layui-form-label">电话:</label> <!-- 电话标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_phone" class="layui-input" placeholder="请输入电话"> <input type="text" name="s_phone" class="layui-input" placeholder="请输入电话"> <!-- 电话输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">班级编号:</label> <label class="layui-form-label">班级编号:</label> <!-- 班级编号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_classid" class="layui-input" placeholder="请输入班级编号"> <input type="text" name="s_classid" class="layui-input" placeholder="请输入班级编号"> <!-- 班级编号输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">班级名:</label> <label class="layui-form-label">班级名:</label> <!-- 班级名标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_classname" class="layui-input" placeholder="请输入班级名"> <input type="text" name="s_classname" class="layui-input" placeholder="请输入班级名"> <!-- 班级名输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">寝室编号:</label> <label class="layui-form-label">寝室编号:</label> <!-- 寝室编号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_dormitoryid" class="layui-input" placeholder="请输入寝室编号"> <input type="text" name="s_dormitoryid" class="layui-input" placeholder="请输入寝室编号"> <!-- 寝室编号输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="formDemo">提交</button> <!-- 提交按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<%-- 编辑模态框 --%> <%-- 编辑模态框 --%>
<div class="layui-row" id="updteDiv" style="display: none;"> <div class="layui-row" id="updteDiv" style="display: none;">
<div class="layui-col-md10"> <div class="layui-col-md10">
<form class="layui-form" id="addUpdatForm"> <form class="layui-form" id="addUpdatForm">
<input value="${sessionScope.sid}" type="text" name="s_id" id="edit_id"/> <input value="${sessionScope.sid}" type="text" name="s_id" id="edit_id"/> <!-- 学生ID -->
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">学号:</label> <label class="layui-form-label">学号:</label> <!-- 学号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_studentid" id="edit_studentid" value="" class="layui-input" placeholder="请输入学号"> <input type="text" name="s_studentid" id="edit_studentid" value="" class="layui-input" placeholder="请输入学号"> <!-- 学号输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">姓名:</label> <label class="layui-form-label">姓名:</label> <!-- 姓名标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_name" id="edit_names" value="" class="layui-input" placeholder="请输入姓名"> <input type="text" name="s_name" id="edit_names" value="" class="layui-input" placeholder="请输入姓名"> <!-- 姓名输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">性别</label> <label class="layui-form-label">性别</label> <!-- 性别标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="radio" name="s_sex" id="edit_sex" value="男" title="男" checked=""> <input type="radio" name="s_sex" id="edit_sex" value="男" title="男" checked=""> <!-- 性别选择:男 -->
<input type="radio" name="s_sex" id="edit_sex" value="女" title="女"> <input type="radio" name="s_sex" id="edit_sex" value="女" title="女"> <!-- 性别选择:女 -->
<%--<input type="text" name="s_sex" class="layui-input" id="s_sex" placeholder="请输入性别">--%>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">年龄:</label> <label class="layui-form-label">年龄:</label> <!-- 年龄标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_age" class="layui-input" id="edit_age" value="" placeholder="请输入年龄"> <input type="text" name="s_age" class="layui-input" id="edit_age" value="" placeholder="请输入年龄"> <!-- 年龄输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">电话:</label> <label class="layui-form-label">电话:</label> <!-- 电话标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_phone" id="edit_phone" value="" class="layui-input" placeholder="请输入电话"> <input type="text" name="s_phone" id="edit_phone" value="" class="layui-input" placeholder="请输入电话"> <!-- 电话输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">班级编号:</label> <label class="layui-form-label">班级编号:</label> <!-- 班级编号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_classid" id="edit_classids" value="" class="layui-input" placeholder="请输入班级编号"> <input type="text" name="s_classid" id="edit_classids" value="" class="layui-input" placeholder="请输入班级编号"> <!-- 班级编号输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">班级名:</label> <label class="layui-form-label">班级名:</label> <!-- 班级名标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_classname" id="edit_classname" value="" class="layui-input" placeholder="请输入班级名"> <input type="text" name="s_classname" id="edit_classname" value="" class="layui-input" placeholder="请输入班级名"> <!-- 班级名输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">宿舍编号:</label> <label class="layui-form-label">宿舍编号:</label> <!-- 宿舍编号标签 -->
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" name="s_dormitoryid" id="edit_dormitoryids" value="" class="layui-input" placeholder="请输入宿舍编号"> <input type="text" name="s_dormitoryid" id="edit_dormitoryids" value="" class="layui-input" placeholder="请输入宿舍编号"> <!-- 宿舍编号输入框 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="updateForm">更新</button> <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="updateForm">更新</button> <!-- 更新按钮 -->
<button type="reset" class="layui-btn layui-btn-primary">重置</button> <button type="reset" class="layui-btn layui-btn-primary">重置</button> <!-- 重置按钮 -->
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
<%-- 表格数据 --%> <%-- 表格数据 --%>
<table class="layui-table"> <table class="layui-table">
<thead> <thead>
<tr> <tr>
<%--<th>--%> <th>ID</th> <!-- ID 列 -->
<%--<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>--%> <th>学号</th> <!-- 学号列 -->
<%--</th>--%> <th>姓名</th> <!-- 姓名列 -->
<th>ID</th> <th>性别</th> <!-- 性别列 -->
<th>学号</th> <th>年龄</th> <!-- 年龄列 -->
<th>姓名</th> <th>电话</th> <!-- 电话列 -->
<th>性别</th> <th>班级编号</th> <!-- 班级编号列 -->
<th>年龄</th> <th>班级名</th> <!-- 班级名列 -->
<th>电话</th> <th>寝室编号</th> <!-- 寝室编号列 -->
<th>班级编号</th> <th>操作</th> <!-- 操作列 -->
<th>班级名</th>
<th>寝室编号</th>
<th>操作</th>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${pi.list}" var="student">
<tr>
<%--<td>--%>
<%--<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>--%>
<%--</td>--%>
<td>${student.s_id}</td>
<td>${student.s_studentid}</td>
<td>${student.s_name}</td>
<td>${student.s_sex}</td>
<td>${student.s_age}</td>
<td>${student.s_phone}</td>
<td>${student.s_classid}</td>
<td>${student.s_classname}</td>
<td>${student.s_dormitoryid}</td>
<td>
<a title="编辑" id= "updateEdit" href="/findStudentById?s_id=${student.s_id}">
<i class="layui-icon">&#xe642;</i>
</a>
<a title="删除" onclick="member_del(this,'${student.s_id}')" href="javascript:;">
<i class="layui-icon">&#xe640;</i>
</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="" >
<input type="hidden" id="totalPageCount" value="${pi.pageTotalCount}"/>
<c:import url="pageBtn.jsp">
<c:param name="totalCount" value="${pi.totalCount}"/>
<c:param name="currentPageNo" value="${pi.pageIndex}"/>
<c:param name="totalPageCount" value="${pi.pageTotalCount}"/>
</c:import>
</div>
</div>
<script>
layui.config({
base: 'layui_exts/',
}).extend({
excel: 'excel',
});
layui.use(['jquery', 'excel','form','layer','laydate'], function(){
var form = layui.form,
$ = layui.jquery,
laydate = layui.laydate;
var excel = parent.layui.excel;
//执行一个laydate实例
laydate.render({
elem: '#start' //指定元素
});
form.on('submit(toolbarDemo)', function(){
$.ajax({
url: '/exportstudentlist',
type: 'post',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
// 1. 如果需要调整顺序,请执行梳理函数
var dt = excel.filterExportData(data, [
's_id'
,'s_studentid'
,'s_name'
,'s_sex'
,'s_age'
,'s_phone'
,'s_classid'
,'s_classname'
,'s_dormitoryid'
]);
// 2. 数组头部新增表头
dt.unshift({s_id: 'ID', s_studentid: '学号', s_name: '姓名', s_sex: '性别', s_age: '年龄', s_phone: '电话', s_classid: '班级编号', s_classname: '班级名', s_dormitoryid: '寝室编号'});
// 意思是A列40pxB列60px(默认)C列120pxD、E、F等均未定义
var colConf = excel.makeColConfig({
'B': 90,
'C': 80,
'F': 90
}, 60);
var timestart = Date.now();
// 3. 执行导出函数,系统会弹出弹框
excel.exportExcel({
sheet1: dt
}, '学生数据.xlsx', 'xlsx', {
extend: {
'!cols': colConf
}
});
var timeend = Date.now();
var spent = (timeend - timestart) / 1000;
layer.alert('导出耗时 '+spent+' s');
//setTimeout(function () {window.location.href='/findAdmin';},2000);
},
error: function () {
//console.log(data);
setTimeout(function () {window.location.href='/findStudent';},2000);
}
});
});
/*添加弹出框*/
$("#addStudnetBtn").click(function () {
layer.open({
type:1,
title:"添加学生",
skin:"myclass",
area:["50%"],
anim:2,
content:$("#test").html()
});
$("#addEmployeeForm")[0].reset();
form.on('submit(formDemo)', function(data) {
// layer.msg('aaa',{icon:1,time:3000});
var param=data.field;
// console.log(JSON.stringify(param));
$.ajax({
url: '/addStudent',
type: "post",
data:JSON.stringify(param),
contentType: "application/json; charset=utf-8",
success:function(){
layer.msg('添加成功', {icon: 1, time: 3000});
setTimeout(function () {window.location.href='/findStudent';},2000);
},
error:function(){
layer.msg('添加失败',{icon:0,time:3000});
setTimeout(function () {window.location.href='/findStudent';},2000);
}
});
// return false;
});
});
});
/*删除*/
function member_del(obj,s_id){
layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
$.get("/deleteStudent",{"s_id":s_id},function (data) {
if(data =true){
layer.msg('删除成功!',{icon:1,time:2000});
setTimeout(function () {window.location.href='/findStudent';},2000);
}else {
layer.msg('删除失败!',{icon:1,time:3000});
setTimeout(function () {window.location.href='/findStudent';},2000);
}
});
});
}
</script>
</body>
</html>

@ -5,89 +5,91 @@
Time: 16:13 Time: 16:13
To change this template use File | Settings | File Templates. To change this template use File | Settings | File Templates.
--%> --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <!-- 设置页面的字符编码为UTF-8并指定使用Java语言 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL标签库 -->
<html> <html>
<head> <head>
<title>修改信息</title> <title>修改信息</title> <!-- 页面标题 -->
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置网站图标 -->
<link rel="stylesheet" href="/css/font.css"> <link rel="stylesheet" href="/css/font.css"> <!-- 引入字体样式 -->
<link rel="stylesheet" href="/css/xadmin.css"> <link rel="stylesheet" href="/css/xadmin.css"> <!-- 引入自定义管理界面样式 -->
<link rel="stylesheet" href="/css/pg_btn.css"> <link rel="stylesheet" href="/css/pg_btn.css"> <!-- 引入按钮样式 -->
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 -->
<script src="lib/layui/layui.js"></script> <script src="lib/layui/layui.js"></script> <!-- 引入layui库 -->
<script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义xadmin脚本 -->
</head> </head>
<body> <body>
<div class="x-body"> <div class="x-body">
<form class="layui-form" id="f_auto" action="/updateStudentClean" method="post" > <form class="layui-form" id="f_auto" action="/updateStudentClean" method="post" > <!-- 表单提交到"/updateStudentClean" -->
<input type="hidden" value="${sessionScope.d.g_id}" name="g_id" id="g_id"/> <!-- 隐藏字段传递学生的g_id -->
<input type="hidden" value="${sessionScope.d.g_id}" name="g_id" id="g_id"/> <div class="layui-form-item"> <!-- 学号输入框 -->
<div class="layui-form-item">
<label for="s_studentid" class="layui-form-label"> <label for="s_studentid" class="layui-form-label">
<span class="">学号</span> <span class="">学号</span> <!-- 学号标签 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_studentid" name="s_studentid" <input type="text" id="s_studentid" name="s_studentid"
autocomplete="off" value="${sessionScope.d.s_studentid}" class="layui-input"> autocomplete="off" value="${sessionScope.d.s_studentid}" class="layui-input"> <!-- 学号输入框默认值为session中的学生学号 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 姓名输入框 -->
<label for="s_name" class="layui-form-label"> <label for="s_name" class="layui-form-label">
<span class="">姓名</span> <span class="">姓名</span> <!-- 姓名标签 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_name" name="s_name" <input type="text" id="s_name" name="s_name"
autocomplete="off" value="${sessionScope.d.s_name}" class="layui-input"> autocomplete="off" value="${sessionScope.d.s_name}" class="layui-input"> <!-- 姓名输入框默认值为session中的学生姓名 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 卫生打分输入框 -->
<label for="s_grade" class="layui-form-label"> <label for="s_grade" class="layui-form-label">
<span class="">卫生打分</span> <span class="">卫生打分</span> <!-- 卫生打分标签 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_grade" name="s_grade" <input type="text" id="s_grade" name="s_grade"
autocomplete="off" value="${sessionScope.d.s_grade}" class="layui-input"> autocomplete="off" value="${sessionScope.d.s_grade}" class="layui-input"> <!-- 卫生打分输入框默认值为session中的卫生打分 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 班级编号输入框 -->
<label for="s_classid" class="layui-form-label"> <label for="s_classid" class="layui-form-label">
<span class="">班级编号</span> <span class="">班级编号</span> <!-- 班级编号标签 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_classid" name="s_classid" <input type="text" id="s_classid" name="s_classid"
autocomplete="off" value="${sessionScope.d.s_classid}" class="layui-input"> autocomplete="off" value="${sessionScope.d.s_classid}" class="layui-input"> <!-- 班级编号输入框默认值为session中的班级编号 -->
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item"> <!-- 寝室编号输入框 -->
<label for="s_dormitoryid" class="layui-form-label"> <label for="s_dormitoryid" class="layui-form-label">
<span class="">寝室编号</span> <span class="">寝室编号</span> <!-- 寝室编号标签 -->
</label> </label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<input type="text" id="s_dormitoryid" name="s_dormitoryid" <input type="text" id="s_dormitoryid" name="s_dormitoryid"
autocomplete="off" value="${sessionScope.d.s_dormitoryid}" class="layui-input"> autocomplete="off" value="${sessionScope.d.s_dormitoryid}" class="layui-input"> <!-- 寝室编号输入框默认值为session中的寝室编号 -->
</div> </div>
</div> </div>
<input type="hidden" value="${sessionScope.d.update_time}" name="update_time" id="update_time"/> <input type="hidden" value="${sessionScope.d.update_time}" name="update_time" id="update_time"/> <!-- 隐藏字段,传递更新时间 -->
<div class="layui-form-item" id="btn_xg"> <div class="layui-form-item" id="btn_xg"> <!-- 修改按钮 -->
<button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass"> <button class="layui-btn" id="btn_on" lay-submit="" lay-filter="updateClass">
修改 修改 <!-- 按钮文字 -->
</button> </button>
</div> </div>
</form> </form>
</div> </div>
<script> <script>
// 可以在此处添加自定义的JavaScript脚本
</script> </script>
</body> </body>
</html> </html>

@ -1,147 +1,164 @@
layui.define(['jquery', 'layer'], function (exports){ layui.define(['jquery', 'layer'], function (exports){ // 定义一个模块,依赖 'jquery' 和 'layer'
var $ = layui.jquery; var $ = layui.jquery; // 使用 layui 的 jQuery
var chekedArr = {}; var chekedArr = {}; // 初始化一个空对象用于存储选中的过滤项
var layfilter = {
render:function(options){ var layfilter = { // 定义 layfilter 对象
var url = options.url; render:function(options){ // 渲染过滤组件的方法
var flag = true; var url = options.url; // 获取传入的 url 地址
//传入了地址,则直接将此地址覆盖 var flag = true; // 初始化标志位,用于控制是否继续渲染
// 如果传入了 url则从该地址获取数据
if(url){ if(url){
$.getJSON(url,options.where,function(res){ $.getJSON(url, options.where, function(res){ // 通过 GET 请求获取 JSON 数据
if(res.code == 0){ if(res.code == 0){ // 如果返回的 code 为 0表示成功
var data = res.data; var data = res.data; // 获取返回的数据
flase = true; flase = true; // 设置标志位为 true
layfilter.init(options,data); layfilter.init(options, data); // 调用 init 方法,传入选项和数据进行初始化
}else{ }else{
layer.msg(res.msg||'查询过滤组件数据异常',{icon:2}); layer.msg(res.msg || '查询过滤组件数据异常', {icon: 2}); // 显示错误信息
flag = false flag = false; // 如果失败,设置 flag 为 false
} }
}) });
} }
if(!flag){ if(!flag){ // 如果 flag 为 false直接返回不执行后续操作
return; return;
} }
}, },
init:function(options,dataSource){ init:function(options, dataSource){ // 初始化过滤组件的方法
var elem = options.elem; var elem = options.elem; // 获取传入的元素
var $dom = $(elem); var $dom = $(elem); // 获取该元素的 jQuery 对象
var itemWidth = options.itemWidth var itemWidth = options.itemWidth; // 获取项的宽度
var arr = {}; var arr = {}; // 初始化一个空对象,用于存储选中的项
var $table = $('<table class="filterTable"></table>'); var $table = $('<table class="filterTable"></table>'); // 创建一个新的表格元素
// 遍历数据源,生成每一行
for(var i = 0; i < dataSource.length; i++){ for(var i = 0; i < dataSource.length; i++){
var $tr =$('<tr></tr>'); var $tr = $('<tr></tr>'); // 创建表格行
var $td1 = $('<td class="item-title">'+dataSource[i].title+':</td>'); var $td1 = $('<td class="item-title">' + dataSource[i].title + ':</td>'); // 创建第一列(标题)
var $td2 = $('<td class="items"></td>'); var $td2 = $('<td class="items"></td>'); // 创建第二列(选项列表)
var type = dataSource[i].type; var type = dataSource[i].type; // 获取当前项的类型
if(!type){ if(!type){ // 如果没有设置类型,默认为 'radio'
console.warn('第' + (i + 1) + '个元素的类型[type]为空设为默认值[radio]'); console.warn('第' + (i + 1) + '个元素的类型[type]为空设为默认值[radio]');
type = 'radio'; type = 'radio';
} }
var $ul = $('<ul class="layfilter-ul" type="'+type+'" name="'+dataSource[i].name+'"></ul>'); var $ul = $('<ul class="layfilter-ul" type="'+type+'" name="'+dataSource[i].name+'"></ul>'); // 创建列表元素
// 如果传入了项宽度,则根据索引设置宽度,否则默认为 80
var width = itemWidth && itemWidth.length > 0 ? (itemWidth.length > i ? itemWidth[i] : itemWidth[itemWidth.length - 1]) : 80; var width = itemWidth && itemWidth.length > 0 ? (itemWidth.length > i ? itemWidth[i] : itemWidth[itemWidth.length - 1]) : 80;
arr[dataSource[i].name]=[]; arr[dataSource[i].name] = []; // 初始化存储选中的项的数组
// 遍历当前项的数据,生成每一个选项
for(var j = 0; j < dataSource[i].data.length; j++){ for(var j = 0; j < dataSource[i].data.length; j++){
var item = dataSource[i].data; var item = dataSource[i].data;
var className = 'layfilter-item'; var className = 'layfilter-item'; // 默认项的类名
// 如果该项已被选中,则添加选中类
if(item[j].checked && item[j].checked == 'true'){ if(item[j].checked && item[j].checked == 'true'){
className = "layfilter-item layfilter-item-checked"; className = "layfilter-item layfilter-item-checked";
arr[dataSource[i].name].push({name:item[j].name,value:item[j].value}); arr[dataSource[i].name].push({name: item[j].name, value: item[j].value}); // 将选中的项添加到选中数组
} }
//判断是否禁用
// 判断该项是否被禁用
if(item[j].disabled && item[j].disabled == 'true'){ if(item[j].disabled && item[j].disabled == 'true'){
// 如果禁用,添加禁用样式
$ul.append('<li value="'+item[j].value+'" style="width:'+width+'px;height: 28px;line-height: 28px;" class="'+className+'"><a disabled="disabled" class="layui-disabled">'+item[j].name+'</a></li>'); $ul.append('<li value="'+item[j].value+'" style="width:'+width+'px;height: 28px;line-height: 28px;" class="'+className+'"><a disabled="disabled" class="layui-disabled">'+item[j].name+'</a></li>');
}else{ }else{
// 如果未禁用,正常添加项
$ul.append('<li value="'+item[j].value+'" style="width:'+width+'px;height: 28px;line-height: 28px;" class="'+className+'"><a>'+item[j].name+'</a></li>'); $ul.append('<li value="'+item[j].value+'" style="width:'+width+'px;height: 28px;line-height: 28px;" class="'+className+'"><a>'+item[j].name+'</a></li>');
} }
} }
// 将列表添加到第二列,并将整行添加到表格中
$td2.append($ul); $td2.append($ul);
$tr.append($td1).append($td2); $tr.append($td1).append($td2);
$table.append($tr); $table.append($tr);
} }
$dom.append($table);
chekedArr=arr; $dom.append($table); // 将表格添加到指定的 DOM 元素中
//注册点击事件 chekedArr = arr; // 更新选中的项
// 注册点击事件,处理项的选中与取消选中
$('.filterTable tr td li a').bind('click', function(){ $('.filterTable tr td li a').bind('click', function(){
if($(this).attr('disabled')){ if($(this).attr('disabled')){ // 如果该项禁用,返回不做处理
return; return;
} }
var itemType = $(this).parent().parent().attr('type');
var name = $(this).parent().parent().attr('name'); var itemType = $(this).parent().parent().attr('type'); // 获取当前项的类型
//取消选择 var name = $(this).parent().parent().attr('name'); // 获取当前项的名称
// 如果该项已被选中,取消选中
if($(this).parent().hasClass('layfilter-item-checked')){ if($(this).parent().hasClass('layfilter-item-checked')){
$(this).parent().removeClass('layfilter-item-checked'); $(this).parent().removeClass('layfilter-item-checked'); // 移除选中类
var obj = chekedArr[name] || []; var obj = chekedArr[name] || [];
for(var i = 0; i < obj.length; i++){ for(var i = 0; i < obj.length; i++){
if(obj[i].value == $(this).parent().attr('value')){ if(obj[i].value == $(this).parent().attr('value')){
obj.splice(i, 1); obj.splice(i, 1); // 从选中项中移除
break; break;
} }
} }
chekedArr[name] = obj; chekedArr[name] = obj; // 更新选中的项
}else{ }else{
if(itemType && ('checbox' == itemType || 'radio' == itemType)){ if(itemType && ('checbox' == itemType || 'radio' == itemType)){
//判断类型 // 如果是单选或多选,处理选中状态
if('radio' == itemType){ if('radio' == itemType){
var objs = $(this).parent().siblings(); var objs = $(this).parent().siblings(); // 获取同一组的其他项
chekedArr[name]=[]; chekedArr[name] = []; // 清空选中的项
for(var i = 0; i < objs.length; i++){ for(var i = 0; i < objs.length; i++){
objs.eq(i).removeClass('layfilter-item-checked'); objs.eq(i).removeClass('layfilter-item-checked'); // 取消选中其他项
} }
} }
var obj = chekedArr[name] || []; var obj = chekedArr[name] || [];
obj.push({name:$(this).text(),value:$(this).parent().attr('value')}); obj.push({name: $(this).text(), value: $(this).parent().attr('value')}); // 添加选中的项
chekedArr[name]=obj; chekedArr[name] = obj; // 更新选中的项
$(this).parent().addClass('layfilter-item-checked'); $(this).parent().addClass('layfilter-item-checked'); // 设置当前项为选中状态
}else{ }else{
console.error('复选或单选类型为空?'); console.error('复选或单选类型为空?'); // 如果类型为空,输出错误
} }
} }
}); });
}, },
getValue:function(callback){ getValue:function(callback){ // 获取选中的值,并通过回调函数返回
var obj = getCheckData(); var obj = getCheckData(); // 获取选中的数据
callback.call(this,obj); callback.call(this, obj); // 调用回调函数并传入选中的数据
}, },
on:function(filter,callback){ on:function(filter, callback){ // 监听事件,当过滤器触发时调用回调函数
var f = filter.substring(0,filter.indexOf('(')); var f = filter.substring(0, filter.indexOf('(')); // 获取事件类型(如 'click'
var e = filter.substring(filter.indexOf('(')+1,filter.length-1); var e = filter.substring(filter.indexOf('(') + 1, filter.length - 1); // 获取过滤器的名称
if(typeof callback === "function"){ if(typeof callback === "function"){ // 如果回调是函数
$("[lay-filter='"+e+"']").on(f,function(){ $("[lay-filter='" + e + "']").on(f, function(){ // 为指定的元素绑定事件
var obj = getCheckData(); var obj = getCheckData(); // 获取选中的数据
callback.call(this, obj); // 调用回调函数并传入选中的数据
callback.call(this,obj);
}); });
}else{ }else{
console.error('传入的参数不是一个函数'); console.error('传入的参数不是一个函数'); // 如果回调不是函数,输出错误
}
} }
} }
};
layui.link(layui.cache.base + 'layfilter/layfilter.css'); layui.link(layui.cache.base + 'layfilter/layfilter.css'); // 引入样式文件
// 获取选中的数据并格式化为 JSON 对象
function getCheckData(){ function getCheckData(){
var valueJson = {}; var valueJson = {}; // 存储值的对象
var nameJson = {}; var nameJson = {}; // 存储名称的对象
for(var name in chekedArr){ for(var name in chekedArr){ // 遍历选中的项
var json = chekedArr[name]; var json = chekedArr[name];
var values = ''; var values = '';
var names = ''; var names = '';
for(var i = 0; i < json.length; i++){ for(var i = 0; i < json.length; i++){
if(i != json.length - 1){ if(i != json.length - 1){
values+=json[i].value+","; values += json[i].value + ","; // 拼接值
names +=json[i].name+","; names += json[i].name + ","; // 拼接名称
}else{ }else{
values+=json[i].value; values += json[i].value; // 最后一个项不加逗号
names += json[i].name; names += json[i].name;
} }
} }
valueJson[name]=values; valueJson[name] = values; // 存储值
nameJson[name]=names; nameJson[name] = names; // 存储名称
} }
return {values:valueJson,names:nameJson}; return {values: valueJson, names: nameJson}; // 返回格式化后的数据
} }
exports('layfilter', layfilter); exports('layfilter', layfilter); // 输出 layfilter 模块
}) });

@ -1,200 +1,205 @@
$(function () { $(function () {
//加载弹出层 // 加载弹出层和元素模块
layui.use(['form','element'], layui.use(['form', 'element'], function () {
function() { layer = layui.layer; // 获取layui的layer模块
layer = layui.layer; element = layui.element; // 获取layui的element模块
element = layui.element;
}); });
//触发事件 // 定义tab操作
var tab = { var tab = {
tabAdd: function (title, url, id) { tabAdd: function (title, url, id) {
// 新增一个Tab项 // 新增一个Tab项
element.tabAdd('xbs_tab', { element.tabAdd('xbs_tab', {
title: title title: title, // 设置tab的标题
,content: '<iframe tab-id="'+id+'" frameborder="0" src="'+url+'" scrolling="yes" class="x-iframe"></iframe>' content: '<iframe tab-id="' + id + '" frameborder="0" src="' + url + '" scrolling="yes" class="x-iframe"></iframe>', // 设置tab的内容为iframe
,id: id id: id // 设置tab的唯一标识id
}) })
} },
,tabDelete: function(othis){ tabDelete: function (othis) {
// 删除指定Tab项 // 删除指定Tab项
element.tabDelete('xbs_tab', '44'); //删除:“商品管理” element.tabDelete('xbs_tab', '44'); // 删除id为44的Tab项示例
othis.addClass('layui-btn-disabled'); // 禁用删除按钮
},
othis.addClass('layui-btn-disabled'); tabChange: function (id) {
}
,tabChange: function(id){
// 切换到指定Tab项 // 切换到指定Tab项
element.tabChange('xbs_tab', id); //切换到:用户管理 element.tabChange('xbs_tab', id); // 切换到指定的Tab项
} }
}; };
// 表格多选功能的处理
tableCheck = { tableCheck = {
init: function () { init: function () {
// 绑定复选框点击事件
$(".layui-form-checkbox").click(function (event) { $(".layui-form-checkbox").click(function (event) {
if ($(this).hasClass('layui-form-checked')) { if ($(this).hasClass('layui-form-checked')) {
$(this).removeClass('layui-form-checked'); $(this).removeClass('layui-form-checked');
if ($(this).hasClass('header')) { if ($(this).hasClass('header')) {
$(".layui-form-checkbox").removeClass('layui-form-checked'); $(".layui-form-checkbox").removeClass('layui-form-checked'); // 如果是header则取消所有选择
} }
} else { } else {
$(this).addClass('layui-form-checked'); $(this).addClass('layui-form-checked');
if ($(this).hasClass('header')) { if ($(this).hasClass('header')) {
$(".layui-form-checkbox").addClass('layui-form-checked'); $(".layui-form-checkbox").addClass('layui-form-checked'); // 如果是header则选中所有复选框
} }
} }
}); });
}, },
getData: function () { getData: function () {
var obj = $(".layui-form-checked").not('.header'); // 获取所有选中的复选框对应的data-id
var obj = $(".layui-form-checked").not('.header'); // 排除header行
var arr = []; var arr = [];
obj.each(function (index, el) { obj.each(function (index, el) {
arr.push(obj.eq(index).attr('data-id')); arr.push(obj.eq(index).attr('data-id')); // 将选中的data-id添加到数组
}); });
return arr; return arr; // 返回选中的项的id数组
}
} }
};
// 开启表格多选 // 开启表格多选
tableCheck.init(); tableCheck.init();
// 左侧菜单切换事件
$('.container .left_open i').click(function (event) { $('.container .left_open i').click(function (event) {
if ($('.left-nav').css('left') == '0px') { if ($('.left-nav').css('left') == '0px') {
$('.left-nav').animate({left: '-221px'}, 100); // 如果左侧菜单是打开的,则关闭它
$('.page-content').animate({left: '0px'}, 100); $('.left-nav').animate({ left: '-221px' }, 100); // 动画收起菜单
$('.page-content-bg').hide(); $('.page-content').animate({ left: '0px' }, 100); // 调整页面内容区域
$('.page-content-bg').hide(); // 隐藏背景遮罩
} else { } else {
$('.left-nav').animate({left: '0px'}, 100); // 如果左侧菜单是关闭的,则打开它
$('.page-content').animate({left: '221px'}, 100); $('.left-nav').animate({ left: '0px' }, 100); // 动画展开菜单
$('.page-content').animate({ left: '221px' }, 100); // 调整页面内容区域
if ($(window).width() < 768) { if ($(window).width() < 768) {
$('.page-content-bg').show(); $('.page-content-bg').show(); // 在小屏幕下显示背景遮罩
} }
} }
}); });
// 点击背景遮罩关闭菜单
$('.page-content-bg').click(function (event) { $('.page-content-bg').click(function (event) {
$('.left-nav').animate({left: '-221px'}, 100); $('.left-nav').animate({ left: '-221px' }, 100); // 动画收起菜单
$('.page-content').animate({left: '0px'}, 100); $('.page-content').animate({ left: '0px' }, 100); // 调整页面内容区域
$(this).hide(); $(this).hide(); // 隐藏背景遮罩
}); });
// 关闭tab时移除图标
$('.layui-tab-close').click(function (event) { $('.layui-tab-close').click(function (event) {
$('.layui-tab-title li').eq(0).find('i').remove(); $('.layui-tab-title li').eq(0).find('i').remove(); // 移除第一个Tab项的图标
}); });
// 默认隐藏除fid=0的栏目项
$("tbody.x-cate tr[fid!='0']").hide(); $("tbody.x-cate tr[fid!='0']").hide();
// 栏目多级显示效果
// 栏目多级显示效果,点击展开/收起子栏目
$('.x-show').click(function () { $('.x-show').click(function () {
if ($(this).attr('status') == 'true') { if ($(this).attr('status') == 'true') {
$(this).html('&#xe625;'); $(this).html('&#xe625;'); // 修改图标为展开状态
$(this).attr('status','false'); $(this).attr('status', 'false'); // 设置状态为false
cateId = $(this).parents('tr').attr('cate-id'); cateId = $(this).parents('tr').attr('cate-id'); // 获取当前栏目ID
$("tbody tr[fid="+cateId+"]").show(); $("tbody tr[fid=" + cateId + "]").show(); // 显示当前栏目下的子栏目
} else { } else {
cateIds = []; cateIds = []; // 清空cateIds数组
$(this).html('&#xe623;'); $(this).html('&#xe623;'); // 修改图标为收起状态
$(this).attr('status','true'); $(this).attr('status', 'true'); // 设置状态为true
cateId = $(this).parents('tr').attr('cate-id'); cateId = $(this).parents('tr').attr('cate-id'); // 获取当前栏目ID
getCateId(cateId); getCateId(cateId); // 获取当前栏目的所有子栏目ID
for (var i in cateIds) { for (var i in cateIds) {
// 隐藏所有子栏目并修改其图标为收起状态
$("tbody tr[cate-id=" + cateIds[i] + "]").hide().find('.x-show').html('&#xe623;').attr('status', 'true'); $("tbody tr[cate-id=" + cateIds[i] + "]").hide().find('.x-show').html('&#xe623;').attr('status', 'true');
} }
} }
}) });
//左侧菜单效果 // 左侧菜单项点击事件
// $('#content').bind("click",function(event){
$('.left-nav #nav li').click(function (event) { $('.left-nav #nav li').click(function (event) {
if ($(this).children('.sub-menu').length) { if ($(this).children('.sub-menu').length) {
// 如果有子菜单
if ($(this).hasClass('open')) { if ($(this).hasClass('open')) {
$(this).removeClass('open'); $(this).removeClass('open');
$(this).find('.nav_right').html('&#xe697;'); $(this).find('.nav_right').html('&#xe697;'); // 修改图标为展开
$(this).children('.sub-menu').stop().slideUp(); $(this).children('.sub-menu').stop().slideUp(); // 隐藏子菜单
$(this).siblings().children('.sub-menu').slideUp(); $(this).siblings().children('.sub-menu').slideUp(); // 隐藏兄弟菜单
} else { } else {
$(this).addClass('open'); $(this).addClass('open');
$(this).children('a').find('.nav_right').html('&#xe6a6;'); $(this).children('a').find('.nav_right').html('&#xe6a6;'); // 修改图标为收起
$(this).children('.sub-menu').stop().slideDown(); $(this).children('.sub-menu').stop().slideDown(); // 显示子菜单
$(this).siblings().children('.sub-menu').stop().slideUp(); $(this).siblings().children('.sub-menu').stop().slideUp(); // 隐藏兄弟菜单
$(this).siblings().find('.nav_right').html('&#xe697;'); $(this).siblings().find('.nav_right').html('&#xe697;'); // 修改兄弟菜单图标为展开
$(this).siblings().removeClass('open'); $(this).siblings().removeClass('open'); // 移除兄弟菜单的open类
} }
} else { } else {
var url = $(this).children('a').attr('_href'); // 获取菜单项链接
var title = $(this).find('cite').html(); // 获取菜单项标题
var index = $('.left-nav #nav li').index($(this)); // 获取菜单项索引
var url = $(this).children('a').attr('_href'); // 检查该Tab是否已打开
var title = $(this).find('cite').html();
var index = $('.left-nav #nav li').index($(this));
for (var i = 0; i < $('.x-iframe').length; i++) { for (var i = 0; i < $('.x-iframe').length; i++) {
if ($('.x-iframe').eq(i).attr('tab-id') == index + 1) { if ($('.x-iframe').eq(i).attr('tab-id') == index + 1) {
tab.tabChange(index+1); tab.tabChange(index + 1); // 切换到已打开的Tab
event.stopPropagation(); event.stopPropagation();
return; return;
} }
}; };
// 否则新建Tab项并切换
tab.tabAdd(title, url, index + 1); tab.tabAdd(title, url, index + 1);
tab.tabChange(index + 1); tab.tabChange(index + 1);
} }
event.stopPropagation(); event.stopPropagation(); // 阻止事件冒泡
});
}) });
})
var cateIds = []; var cateIds = [];
function getCateId(cateId) {
// 获取指定栏目ID下的所有子栏目ID
function getCateId(cateId) {
$("tbody tr[fid=" + cateId + "]").each(function (index, el) { $("tbody tr[fid=" + cateId + "]").each(function (index, el) {
id = $(el).attr('cate-id'); id = $(el).attr('cate-id'); // 获取子栏目ID
cateIds.push(id); cateIds.push(id); // 将子栏目ID加入数组
getCateId(id); getCateId(id); // 递归获取更深层次的子栏目ID
}); });
} }
/*弹出层*/ /* 弹出层相关函数 */
/* /*
参数解释 弹出层函数显示一个iframe窗口
title 标题 title 弹出层的标题
url 请求的url url 请求的URL地址
id 需要操作的数据id id 数据ID
w 弹出层宽度缺省调默认值 w 弹出层宽度缺省调默认值
h 弹出层高度缺省调默认值 h 弹出层高度缺省调默认值
*/ */
function x_admin_show(title, url, w, h) { function x_admin_show(title, url, w, h) {
if (title == null || title == '') { if (title == null || title == '') {
title=false; title = false; // 默认无标题
}; };
if (url == null || url == '') { if (url == null || url == '') {
url="404.html"; url = "404.html"; // 默认URL为404页面
}; };
if (w == null || w == '') { if (w == null || w == '') {
w=($(window).width()*0.9); w = ($(window).width() * 0.9); // 默认宽度为窗口宽度的90%
}; };
if (h == null || h == '') { if (h == null || h == '') {
h=($(window).height() - 50); h = ($(window).height() - 50); // 默认高度为窗口高度减去50
}; };
// 打开弹出层
layer.open({ layer.open({
type: 2, type: 2, // 弹出层类型为iframe
area: [w+'px', h +'px'], area: [w + 'px', h + 'px'], // 设置弹出层大小
fix: false, // 不固定 fix: false, // 不固定
maxmin: true, maxmin: true, // 开启最大化和最小化功能
shadeClose: true, shadeClose: true, // 点击遮罩关闭
shade:0.4, shade: 0.4, // 设置遮罩透明度
title: title, title: title, // 设置弹出层标题
content: url content: url // 设置弹出层内容为iframe
}); });
} }
/*关闭弹出框口*/ /* 关闭弹出框 */
function x_admin_close() { function x_admin_close() {
var index = parent.layer.getFrameIndex(window.name); var index = parent.layer.getFrameIndex(window.name); // 获取iframe的索引
parent.layer.close(index); parent.layer.close(index); // 关闭弹出框
} }

@ -1,92 +1,101 @@
$.fn.xcity = function(pName, cName, aName){ $.fn.xcity = function(pName, cName, aName){
// 获取当前元素下的省、市、区选择框
var p = $(this).find('select[lay-filter=province]'); // 省选择框
var c = $(this).find('select[lay-filter=city]'); // 市选择框
var a = $(this).find('select[lay-filter=area]'); // 区选择框
var p = $(this).find('select[lay-filter=province]'); // 初始化市和区列表为空
var c = $(this).find('select[lay-filter=city]');
var a = $(this).find('select[lay-filter=area]');
var cityList = []; var cityList = [];
var areaList = []; var areaList = [];
showP(provinceList); // 渲染省、市、区下拉框内容
showP(provinceList); // 渲染省份列表
showC(cityList); showC(cityList); // 渲染城市列表
showA(areaList); // 渲染区域列表
showA(areaList);
// 显示省列表
function showP(provinceList) { function showP(provinceList) {
p.html(''); p.html(''); // 清空省选择框内容
is_pName = false; is_pName = false; // 标记是否找到了匹配的省名称
// 遍历省份列表
for (var i in provinceList) { for (var i in provinceList) {
// 如果当前省名称匹配给定的pName则选中该省
if(pName == provinceList[i].name){ if(pName == provinceList[i].name){
is_pName = true; is_pName = true;
cityList = provinceList[i].cityList; cityList = provinceList[i].cityList; // 设置该省对应的城市列表
p.append("<option selected value='"+provinceList[i].name+"'>"+provinceList[i].name+"</option>") p.append("<option selected value='"+provinceList[i].name+"'>"+provinceList[i].name+"</option>"); // 添加选中的省份项
} else { } else {
p.append("<option value='"+provinceList[i].name+"'>"+provinceList[i].name+"</option>") p.append("<option value='"+provinceList[i].name+"'>"+provinceList[i].name+"</option>"); // 添加未选中的省份项
} }
} }
// 如果没有找到匹配的省名称,则默认选择第一个省份
if(!is_pName){ if(!is_pName){
cityList = provinceList[0].cityList; cityList = provinceList[0].cityList; // 默认选择第一个省的城市列表
} }
} }
// 显示市列表
function showC(cityList) { function showC(cityList) {
c.html(''); // 清空市选择框内容
c.html(''); is_cName = false; // 标记是否找到了匹配的市名称
is_cName = false;
// 遍历城市列表
for (var i in cityList) { for (var i in cityList) {
// 如果当前市名称匹配给定的cName则选中该市
if(cName == cityList[i].name){ if(cName == cityList[i].name){
is_cName = true; is_cName = true;
areaList = cityList[i].areaList; areaList = cityList[i].areaList; // 设置该市对应的区列表
c.append("<option selected value='"+cityList[i].name+"'>"+cityList[i].name+"</option>") c.append("<option selected value='"+cityList[i].name+"'>"+cityList[i].name+"</option>"); // 添加选中的市项
} else { } else {
c.append("<option value='"+cityList[i].name+"'>"+cityList[i].name+"</option>") c.append("<option value='"+cityList[i].name+"'>"+cityList[i].name+"</option>"); // 添加未选中的市项
} }
} }
// 如果没有找到匹配的市名称,则默认选择第一个市的区列表
if(!is_cName){ if(!is_cName){
areaList = cityList[0].areaList; areaList = cityList[0].areaList; // 默认选择第一个市的区列表
} }
} }
// 显示区列表
function showA(areaList) { function showA(areaList) {
a.html(''); a.html(''); // 清空区选择框内容
// 遍历区列表并渲染
for (var i in areaList) { for (var i in areaList) {
// 如果当前区名称匹配给定的aName则选中该区
if(aName == areaList[i]){ if(aName == areaList[i]){
a.append("<option selected value='"+areaList[i]+"'>"+areaList[i]+"</option>") a.append("<option selected value='"+areaList[i]+"'>"+areaList[i]+"</option>"); // 添加选中的区项
} else { } else {
a.append("<option value='"+areaList[i]+"'>"+areaList[i]+"</option>") a.append("<option value='"+areaList[i]+"'>"+areaList[i]+"</option>"); // 添加未选中的区项
} }
} }
} }
// 渲染选择框应用layui样式
form.render('select'); form.render('select');
// 绑定省选择框的变更事件
form.on('select(province)', function(data){ form.on('select(province)', function(data){
pName = data.value; pName = data.value; // 更新pName为当前选中的省名称
showP(provinceList); showP(provinceList); // 重新渲染省、市、区选择框
showC(cityList); showC(cityList);
showA(areaList); showA(areaList);
form.render('select'); form.render('select'); // 渲染更新后的选择框
}); });
// 绑定市选择框的变更事件
form.on('select(city)', function(data){ form.on('select(city)', function(data){
cName = data.value; cName = data.value; // 更新cName为当前选中的市名称
showC(cityList); showC(cityList); // 重新渲染市、区选择框
showA(areaList); showA(areaList);
form.render('select'); form.render('select'); // 渲染更新后的选择框
}); });
}

Loading…
Cancel
Save