Compare commits

..

No commits in common. 'sunpengcheng_branch' and 'main' have entirely different histories.

Binary file not shown.

@ -1,118 +1,95 @@
<?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>
</where> </where>
</select> </select>
<!-- 添加管理员信息 --> <!--添加管理员信息-->
<insert id="addAdmin" parameterType="Admin" keyProperty="a_id" useGeneratedKeys="true"> <insert id="addAdmin" parameterType="Admin" keyProperty="a_id" useGeneratedKeys="true">
insert into d_admin (a_username,a_password,a_name,a_phone,a_power,a_describe) insert into d_admin (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}) 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>
<!-- 修改管理员信息 --> <!--修改管理员信息-->
<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,103 +1,80 @@
<?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 为多) --> <!--Mybatis使用Collection进行表关联查询关联一对多数据类型(class为一student为多)且需要有id-->
<!-- 定义一对一与一对多映射关系 --> <!--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"/>
@ -110,21 +87,18 @@
</collection> </collection>
</resultMap> </resultMap>
<!-- 根据班级 ID 和名称查询对应学生信息 --> <!--SQL选择属性与构造的resultMap属性名要一致-->
<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,98 +1,80 @@
<?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>
</where> </where>
</select> </select>
<!-- 添加宿舍卫生信息 --> <!--添加宿舍卫生信息-->
<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>
<!-- 修改宿舍卫生信息 --> <!--修改宿舍卫生信息-->
<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,108 +1,87 @@
<?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"/>
<result property="reason" column="reason"/> <result property="reason" column="reason"/>
<result property="create_time" column="create_time"/> <result property="create_time" column="create_time"/>
<result property="update_time" column="update_time"/> <result property="update_time" column="update_time"/>
</resultMap> </resultMap>
</mapper> </mapper>

@ -1,117 +1,88 @@
<?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>
</where> </where>
</select> </select>
<!-- 添加宿舍信息 --> <!--添加宿舍信息-->
<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>
<!-- 修改宿舍信息 --> <!--修改宿舍信息-->
<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"/>
@ -124,16 +95,13 @@
</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 FROM d_dormitoryinfo dormitoryinfos join d_student students
JOIN d_student students on dormitoryinfos.s_dormitoryid = students.s_dormitoryid
ON dormitoryinfos.s_dormitoryid = students.s_dormitoryid where dormitoryinfos.s_dormitoryid = #{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,119 +1,96 @@
<?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"/> <result property="s_classid" column="s_classid" />
<result property="s_classid" column="s_classid"/> <result property="s_dormitoryid" column="s_dormitoryid" />
<result property="s_dormitoryid" column="s_dormitoryid"/>
</resultMap> </resultMap>
</mapper> </mapper>

@ -1,121 +1,92 @@
<?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> <if test="s_studentid!=null and s_studentid!=0">
<!-- 根据学生 ID 进行模糊查询 --> and s_studentid like '%${s_studentid}%'
<if test="s_studentid!=null and s_studentid!=0"> </if>
and s_studentid like '%${s_studentid}%' <if test="s_classid!=null and s_classid!=0">
</if> and s_classid like '%${s_classid}%'
<!-- 根据班级 ID 进行模糊查询 --> </if>
<if test="s_classid!=null and s_classid!=0"> <if test="s_classname!=null and s_classname!='' ">
and s_classid like '%${s_classid}%' and s_classname like '%${s_classname}%'
</if> </if>
<!-- 根据班级名称进行模糊查询 --> </where>
<if test="s_classname!=null and s_classname!='' ">
and s_classname like '%${s_classname}%'
</if>
</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 * from d_student where s_id=#{s_id}
</select>
<!-- 修改学生信息 --> <select id="findStudentById" parameterType="Integer" resultType="Student" >
select * from d_student where s_id=#{s_id}
</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,54 +1,42 @@
<?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,97 +1,74 @@
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,67 +1,51 @@
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 String c_classname;
private Integer c_classid; private String c_counsellor;
// 班级名称 //班级与学生为一对多关系,使用链表
private String c_classname; private List<Student> students;
// 班级辅导员姓名
private String c_counsellor;
// 班级与学生为一对多关系,使用链表存储学生对象
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,92 +1,72 @@
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,104 +1,81 @@
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,102 +1,71 @@
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;
private Integer d_id;
private Integer s_dormitoryid;
private String d_dormbuilding;
private String d_bedtotal;
private String d_bed;
private String a_name;
// 宿舍主键ID
private Integer d_id;
// 学生宿舍编号
private Integer s_dormitoryid;
// 宿舍楼名称
private String d_dormbuilding;
// 宿舍床位总数
private String d_bedtotal;
// 宿舍当前空床位数
private String d_bed;
// 宿舍管理员姓名
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,84 +1,65 @@
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 static final long serialVersionUID = 1L; private Integer pageSize =3;//显示条数
private Integer totalCount =0; //总条数
// 当前页码,默认值为 1 private Integer pageTotalCount =0; //总页数
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){
this.pageIndex = 1; this.pageIndex =1;
} }
} }
// 获取每页显示数据条数的方法
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){
this.pageSize = 3; this.pageSize =3;
} }
} }
// 获取数据总条数的方法
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;
// 如果总条数不能被每页条数整除,则总页数加 1 this.pageTotalCount = totalCount/pageSize;
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,121 +1,91 @@
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;
private Integer s_id;
private Integer s_studentid;
private String s_name;
private String s_sex;
private Integer s_age;
private Integer s_phone;
private Integer s_classid;
private String s_classname;
private Integer s_dormitoryid;
// 学生的唯一标识ID
private Integer s_id;
// 学号
private Integer s_studentid;
// 学生姓名
private String s_name;
// 学生性别
private String s_sex;
// 学生年龄
private Integer s_age;
// 学生手机号码
private Integer s_phone;
// 学生所在班级ID
private Integer s_classid;
// 学生班级名称
private String s_classname;
// 学生所在宿舍ID
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,116 +1,90 @@
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;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
// 更新时间字段,使用注解格式化为指定日期时间格式("yyyy-MM-dd HH:mm:ss"
@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;
} }
// 设置学生宿舍ID的方法 public void setS_dormitoryid(Integer s_dormtoryid) {
public void setS_dormitoryid(Integer s_dormitoryid) { this.s_dormitoryid = s_dormtoryid;
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,94 +1,71 @@
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,20 +5,15 @@
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>
@ -26,88 +21,73 @@
<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">
修改 修改
</button> </button>
</div> </div>
@ -115,15 +95,12 @@
</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;
@ -135,14 +112,12 @@
// 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,91 +5,329 @@
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" %>
<%@ 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"%>
<%@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> <%-- 引入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> <%-- 引入自定义JS文件 --%> <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="/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> <%-- 刷新图标按钮 --%> <i class="layui-icon" style="line-height:30px">ဂ</i></a>
</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"> <%-- 隐藏的ID输入框 --%> <input type="hidden" class="layui-input" placeholder="请输入用户名" name="a_id" id="a_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>ID</th> <%-- ID列 --%> <%--<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>ID</th>
<th>级别描述</th> <%-- 级别描述列 --%> <th>用户名</th>
<th>操作</th> <%-- 操作列 --%> <%--<th>密码</th>--%>
</tr> <th>姓名</th>
<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 class="myid">${ai.a_id}</td> <%-- ID数据 --%> <%--<td>--%>
<td>${ai.a_username}</td> <%-- 用户名数据 --%> <%--<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>--%>
<td>${ai.a_name}</td> <%-- 姓名数据 --%> <%--</td>--%>
<td>${ai.a_phone}</td> <%-- 电话数据 --%> <%--<td>${class.c_id}</td>--%>
<td>${ai.a_describe}</td> <%-- 级别描述数据 --%> <td class="myid">${ai.a_id}</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">
<a title="编辑" class="updateEdit" href="#"><i class="layui-icon">&#xe642;</i></a> <%-- 编辑按钮 --%> <%--href="/findAdminById?a_id=${ai.a_id}"--%>
<a title="删除" onclick="member_del(this,'${ai.a_id}','${ai.a_power}')" href="javascript:;"><i class="layui-icon">&#xe640;</i></a> <%-- 删除按钮 --%> <a title="编辑" class="updateEdit" href="#">
<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,55 +5,56 @@
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"> <!-- 引入后台管理页面的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> <!-- 引入自定义的xadmin.js --> <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{ .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>
@ -66,20 +67,25 @@
</thead> </thead>
<tbody> <tbody>
<!-- 使用JSTL标签<c:forEach>循环遍历班级数据 --> <!--将返回的Model数据的students集合分步提取出来循环遍历-->
<!--前一段为Class数据后面多段为Student数据-->
<!--返回数据不受刷新影响,原本就包含在页面中-->
<c:forEach items="${cs}" var="c"> <c:forEach items="${cs}" var="c">
<c:set value="${c.students}" var="cc" /> <!-- 设置班级的学生列表 -->
<c:forEach items="${cc}" var="sc"> <!-- 循环遍历每个班级的学生数据 --> <c:set value="${c.students}" var="cc" />
<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>
@ -87,7 +93,8 @@
</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,
@ -107,6 +114,7 @@
// 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;
@ -115,6 +123,7 @@
// 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;
@ -122,10 +131,13 @@
// 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);
// //
// }, // },
@ -134,8 +146,11 @@
// } // }
// }); // });
// }); // });
//
// }); // });
</script> </script>
</body> </body>
</html> </html>

@ -5,72 +5,66 @@
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" %> <!-- 设置页面的内容类型为HTML并指定字符编码为UTF-8 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库允许使用<c:forEach>、<c:param>等标签 --> <%@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" /> <!-- 设置页面的favicon图标 --> <link rel="icon" href="/images/favicon.ico" sizes="32x32" />
<link rel="stylesheet" href="/css/font.css"> <!-- 引入自定义的字体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> <!-- 引入jQuery库 --> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script>
<script src="lib/layui/layui.js"></script> <!-- 引入layui.js库用于前端UI框架 --> <script src="lib/layui/layui.js"></script>
<script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入自定义的后台管理功能JS脚本 --> <script type="text/javascript" src="./js/xadmin.js"></script>
</head> </head>
<body> <body>
<div class="x-body"> <!-- div容器表示页面的主体部分 --> <div class="x-body">
<form class="layui-form" id="f_auto" action="/updateClass" method="post" > <!-- 表单,用于提交修改后的班级信息,提交到/updateClass --> <form class="layui-form" id="f_auto" action="/updateClass" method="post" >
<input type="hidden" value="${sessionScope.c.c_id}" name="c_id" id="c_id"/> <!-- 隐藏域用于存储班级ID传递给服务器 --> <input type="hidden" value="${sessionScope.c.c_id}" name="c_id" id="c_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" autocomplete="off" <input type="text" id="c_classid" name="c_classid"
value="${sessionScope.c.c_classid}" class="layui-input"> <!-- 输入框,显示当前班级编号的值 --> autocomplete="off" 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" autocomplete="off" <input type="text" id="c_classname" name="c_classname"
value="${sessionScope.c.c_classname}" class="layui-input"> <!-- 输入框,显示当前班级名称的值 --> autocomplete="off" 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" autocomplete="off" <input type="text" id="c_counsellor" name="c_counsellor"
value="${sessionScope.c.c_counsellor}" class="layui-input"> <!-- 输入框,显示当前辅导员姓名的值 --> autocomplete="off" 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,122 +4,123 @@
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" %> <!-- 设置页面内容类型为HTML并指定UTF-8编码同时导入Class类 --> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Class" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 --> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<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"> <!-- 强制使用IE最新的渲染引擎 --> <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" />--%> <!-- 注释防止缓存通常用于移动端App --> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%>
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置页面的favicon图标 --> <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> <!-- 引入自定义的xadmin.js脚本 --> <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="/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> <!-- 刷新图标 --> <i class="layui-icon" style="line-height:30px">ဂ</i></a>
</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">
<div class="x-body"> <!-- 页面主体部分 --> <input class="layui-input" type="hidden" name="pageIndex" value="1">
<div class="layui-row"> <!-- layui的栅格布局创建一个行 --> <input class="layui-input" type="hidden" name="pageSize" value="3">
<form class="layui-form layui-col-md12 x-so" action="/findClass" > <!-- 表单,用于搜索班级信息 --> <button class="layui-btn" lay-submit="" lay-filter="search"><i class="layui-icon">&#xe615;</i></button>
<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> <!-- 表头ID --> <th>ID</th>
<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> <!-- 显示班级ID --> <td>${ci.c_id}</td>
<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>
@ -128,33 +129,35 @@
</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,
laydate = layui.laydate; laydate = layui.laydate;
var excel = parent.layui.excel; var excel = parent.layui.excel;
// 执行一个laydate实例 //执行一个laydate实例
laydate.render({ laydate.render({
elem: '#start' //指定元素 elem: '#start' //指定元素
}); });
form.on('submit(toolbarDemo)', function(){ form.on('submit(toolbarDemo)', function(){
$.ajax({ $.ajax({
url: '/exportclasslist', url: '/exportclasslist',
type: 'post', type: 'post',
@ -162,17 +165,26 @@
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_classid', 'c_classname', 'c_counsellor' 'c_id'
,'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', {
@ -181,16 +193,20 @@
} }
}); });
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);
} }
}); });
}); });
/* 添加弹出框 */ /*添加弹出框*/
$("#addStudnetBtn").click(function () { $("#addStudnetBtn").click(function () {
layer.open({ layer.open({
type:1, type:1,
@ -202,32 +218,40 @@
}); });
$("#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",
data:JSON.stringify(param), data:JSON.stringify(param),
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
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);
@ -235,3 +259,11 @@
}); });
}); });
} }
</script>
</body>
</html>

@ -5,32 +5,25 @@
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" %>
<%@ 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"> <!-- 引入后台管理的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> <!-- 引入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> <!-- 引入自定义的xadmin.js脚本 --> <script type="text/javascript" src="./js/xadmin.js"></script>
</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>
@ -41,7 +34,6 @@
</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>
@ -52,7 +44,6 @@
</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>
@ -62,13 +53,10 @@
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">
修改 修改
</button> </button>
</div> </div>
@ -76,7 +64,7 @@
</div> </div>
<script> <script>
// 此处未包含任何 JavaScript 代码
</script> </script>
</body> </body>
</html> </html>

@ -5,63 +5,61 @@
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" %>
<%@ 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/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 --> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ 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"> <!-- 兼容IE浏览器的渲染模式 --> <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" />--%> <!-- 注释掉的Cache控制 --> <%--<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> <!-- 引入自定义的后台管理脚本 --> <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="/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>
<%--添加模态框--%> <%--添加模态框--%>
@ -71,34 +69,35 @@
<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>
@ -106,25 +105,28 @@
<%--<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> <!-- 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>操作</th>
</thead> </thead>
<tbody> <tbody>
<c:forEach items="${di.list}" var="di"> <c:forEach items="${di.list}" var="di">
<tr> <tr>
<td>${di.g_id}</td> <!-- 显示ID --> <%--<td>--%>
<td>${di.d_id}</td> <!-- 显示宿舍编号 --> <%--<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>--%>
<td>${di.d_dormbuilding}</td> <!-- 显示宿舍楼 --> <%--</td>--%>
<td>${di.d_grade}</td> <!-- 显示卫生打分 --> <td>${di.g_id}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.create_time}"/></td> <!-- 格式化创建时间 --> <td>${di.d_id}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${di.update_time}"/></td> <!-- 格式化更新时间 --> <td>${di.d_dormbuilding}</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>
</a> </a>
<a title="删除" onclick="member_del(this,'${di.g_id}')" href="javascript:;"> <a title="删除" onclick="member_del(this,'${di.g_id}')" href="javascript:;">
@ -136,17 +138,16 @@
</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">
<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({
@ -159,12 +160,13 @@
laydate = layui.laydate; laydate = layui.laydate;
var excel = parent.layui.excel; var excel = parent.layui.excel;
// 使用 layui 的日期控件 //执行一个laydate实例
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',
@ -173,7 +175,7 @@
success: function (data) { success: function (data) {
console.log(data); console.log(data);
// 1. 数据处理:如果需要调整顺序,使用 excel.filterExportData 函数 // 1. 如果需要调整顺序,请执行梳理函数
var dt = excel.filterExportData(data, [ var dt = excel.filterExportData(data, [
'g_id' 'g_id'
,'d_id' ,'d_id'
@ -186,14 +188,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', {
@ -205,9 +207,11 @@
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);
} }
}); });
@ -223,4 +227,68 @@
anim:2, anim:2,
content:$("#test").html() content:$("#test").html()
}); });
$("#addEmployee $("#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: '/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>

@ -1,89 +1,94 @@
<%-- <%--
Created by IntelliJ IDEA. Created by IntelliJ IDEA.
User: hkw User: hkw
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.
--%> --%>
<%@ 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"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Dormitory" %> <html>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库用于循环和条件判断等操作 --> <head>
<title>后台登录</title>
<html> <meta name="renderer" content="webkit|ie-comp|ie-stand">
<head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>后台登录</title> <!-- 页面标题 --> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<meta name="renderer" content="webkit|ie-comp|ie-stand"> <!-- 设置页面渲染引擎 --> <%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%>
<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" /> <!-- 设置页面响应式布局 --> <link rel="icon" href="/images/favicon.ico" sizes="32x32" />
<%--<meta http-equiv="Cache-Control" content="no-siteapp" />--%> <!-- 此标签为注释,防止缓存页面 --> <link rel="stylesheet" href="./css/font.css">
<link rel="stylesheet" href="./css/xadmin.css">
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 设置网页图标 --> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script>
<link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 --> <script src="lib/layui/layui.js"></script>
<link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理系统样式 --> <script type="text/javascript" src="./js/xadmin.js"></script>
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery -->
<script src="lib/layui/layui.js"></script> <!-- 引入layui框架 --> <style type="text/css">
<script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入后台管理系统脚本 --> .layui-table{
text-align: center;
<style type="text/css"> }
.layui-table{ 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="/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">
<div class="x-body"> <!-- 页面内容 --> <button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
<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>
@ -91,34 +96,46 @@
</div> </div>
<%--表格数据--%> <%--表格数据--%>
<table class="layui-table"> <!-- 表格显示宿舍和学生信息 --> <table class="layui-table">
<thead> <thead>
<tr> <tr>
<th>宿舍编号</th> <!-- 表头,宿舍编号 --> <%--<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>
</thead> <th>电话</th>
<tbody> <th>班级编号</th>
<c:forEach items="${ds}" var="d"> <!-- 遍历宿舍信息 --> <th>班级名</th>
<c:set value="${d.students}" var="dd" /> <!-- 设置学生列表为变量dd -->
<c:forEach items="${dd}" var="sd"> <!-- 遍历学生信息 --> </thead>
<tr> <tbody>
<td>${d.s_dormitoryid}</td> <!-- 显示宿舍编号 --> <c:forEach items="${ds}" var="d">
<td>${d.d_dormbuilding}</td> <!-- 显示宿舍楼 -->
<td>${d.d_bed}</td> <!-- 显示已用床位 --> <c:set value="${d.students}" var="dd" />
<td>${sd.s_name}</td> <!-- 显示学生姓名 -->
<td>${sd.s_phone}</td> <!-- 显示电话 --> <c:forEach items="${dd}" var="sd">
<td>${sd.s_classid}</td> <!-- 显示班级编号 --> <tr>
<td>${sd.s_classname}</td> <!-- 显示班级名 --> <td>${d.s_dormitoryid}</td>
<td>${d.d_dormbuilding}</td>
<td>${d.d_bed}</td>
<td>${sd.s_name}</td>
<td>${sd.s_phone}</td>
<td>${sd.s_classid}</td>
<td>${sd.s_classname}</td>
</tr> </tr>
</c:forEach> </c:forEach>
</c:forEach>
</tbody> </c:forEach>
</tbody>
</table> </table>
</div> </div>
</body> </body>
</html> </html>

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

@ -1,73 +1,74 @@
<%-- <%--
Created by IntelliJ IDEA. Created by IntelliJ IDEA.
User: 周训凯 User: 周训凯
Date: 2019/4/28 Date: 2019/4/28
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" %>
<%@ 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核心标签库用于JSP页面中的循环、条件判断等功能 --> <html>
<head>
<html> <title>修改信息</title>
<head> <link rel="icon" href="/images/favicon.ico" sizes="32x32" />
<title>修改信息</title> <!-- 页面标题 --> <link rel="stylesheet" href="/css/font.css">
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 页面图标 --> <link rel="stylesheet" href="/css/xadmin.css">
<link rel="stylesheet" href="/css/font.css"> <!-- 引入字体样式 --> <link rel="stylesheet" href="/css/pg_btn.css">
<link rel="stylesheet" href="/css/xadmin.css"> <!-- 引入后台管理系统样式 --> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script>
<link rel="stylesheet" href="/css/pg_btn.css"> <!-- 引入分页按钮样式 --> <script src="lib/layui/layui.js"></script>
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery库 --> <script type="text/javascript" src="./js/xadmin.js"></script>
<script src="lib/layui/layui.js"></script> <!-- 引入layui框架 -->
<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"/> <!-- 隐藏字段存储维修记录的ID --> <input type="hidden" value="${sessionScope.d.r_id}" name="r_id" id="r_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" autocomplete="off" value="${sessionScope.d.d_id}" class="layui-input"> <!-- 输入框,宿舍编号 --> <input type="text" id="d_id" name="d_id"
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" autocomplete="off" value="${sessionScope.d.d_dormbuilding}" class="layui-input"> <!-- 输入框,宿舍楼 --> <input type="text" id="d_dormbuilding" name="d_dormbuilding"
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" autocomplete="off" value="${sessionScope.d.r_name}" class="layui-input"> <!-- 输入框,维修人员姓名 --> <input type="text" id="r_name" name="r_name"
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" autocomplete="off" value="${sessionScope.d.reason}" class="layui-input"> <!-- 输入框,报修事由 --> <input type="text" id="reason" name="reason"
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>
@ -77,3 +78,4 @@
</script> </script>
</body> </body>
</html> </html>

@ -1,126 +1,117 @@
<%-- <%--
Created by IntelliJ IDEA. Created by IntelliJ IDEA.
User: 周训凯 User: 周训凯
Date: 2019/4/28 Date: 2019/4/28
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" %>
<%@ 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/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL核心标签库 --> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ 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"> <!-- 兼容性设置使页面能够在IE的最新版本中正常显示 --> <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" />--%>
<link rel="icon" href="/images/favicon.ico" sizes="32x32" /> <!-- 页面图标 -->
<link rel="stylesheet" href="./css/font.css"> <!-- 引入字体样式 --> <link rel="icon" href="/images/favicon.ico" sizes="32x32" />
<link rel="stylesheet" href="./css/xadmin.css"> <!-- 引入后台管理系统的CSS样式 --> <link rel="stylesheet" href="./css/font.css">
<script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <!-- 引入jQuery --> <link rel="stylesheet" href="./css/xadmin.css">
<script src="lib/layui/layui.js"></script> <!-- 引入layui框架 --> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="./js/xadmin.js"></script> <!-- 引入后台管理系统的JavaScript --> <script src="lib/layui/layui.js"></script>
<script src="/layui_exts/excel.js"></script> <!-- 引入Excel导出相关的脚本 --> <script type="text/javascript" src="./js/xadmin.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{ .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> <!-- 刷新按钮 --> <i class="layui-icon" style="line-height:30px">ဂ</i></a>
</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>
@ -138,10 +129,10 @@
<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>
</a> </a>
<a title="删除" onclick="member_del(this,'${di.r_id}')" href="javascript:;"> <a title="删除" onclick="member_del(this,'${di.r_id}')" href="javascript:;">
@ -153,7 +144,6 @@
</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">
@ -162,33 +152,150 @@
<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/', <!-- 配置layui的扩展目录 --> base: 'layui_exts/',
}).extend({ }).extend({
excel: '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: '/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) {
var dt = excel.filterExportData(data, [ /* 导出的数据字段 */ ]); console.log(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,3 +1,10 @@
<%--
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>
@ -15,10 +22,8 @@
<body> <body>
<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>
@ -26,7 +31,6 @@
<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>
@ -37,7 +41,6 @@
<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>
@ -47,9 +50,7 @@
</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>
@ -60,7 +61,6 @@
<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,7 +71,6 @@
<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>
@ -82,7 +81,6 @@
<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>
@ -93,7 +91,6 @@
<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>
@ -104,15 +101,13 @@
<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>
<div class="layui-form-item" id="btn_xg"> <div class="layui-form-item" id="btn_xg">
<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>
@ -142,6 +137,7 @@
// }) // })
// //
// }); // });
</script> </script>
</body> </body>
</html> </html>

@ -5,222 +5,402 @@
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" %> <!-- 设置页面的字符编码为UTF-8导入Student类 --> <%@ page contentType="text/html;charset=UTF-8" language="java" import="com.itheima.po.Student" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!-- 引入JSTL标签库 --> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<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"> <!-- 兼容IE浏览器 --> <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> <!-- 引入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> <!-- 引入自定义xadmin脚本 --> <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="/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> <!-- 刷新按钮图标 --> <i class="layui-icon" style="line-height:30px">ဂ</i></a>
</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>
<%-- 添加模态框 --%> <%--添加模态框--%>
<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" 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" placeholder="请输入年龄"> <!-- 年龄输入框 --> <input type="text" name="s_age" class="layui-input" i 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"/> <!-- 学生ID --> <input value="${sessionScope.sid}" type="text" name="s_id" id="edit_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>ID</th> <!-- ID 列 --> <%--<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>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>
</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>

@ -1,95 +1,93 @@
<%-- <%--
Created by IntelliJ IDEA. Created by IntelliJ IDEA.
User: 周训凯 User: 周训凯
Date: 2019/4/25 Date: 2019/4/25
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" %> <!-- 设置页面的字符编码为UTF-8并指定使用Java语言 --> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!-- 引入JSTL标签库 --> <%@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" />
<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> <!-- 引入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> <!-- 引入自定义xadmin脚本 --> <script type="text/javascript" src="./js/xadmin.js"></script>
</head> </head>
<body> <body>
<div class="x-body"> <div class="x-body">
<form class="layui-form" id="f_auto" action="/updateStudentClean" method="post" > <!-- 表单提交到"/updateStudentClean" --> <form class="layui-form" id="f_auto" action="/updateStudentClean" method="post" >
<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"> <!-- 学号输入框默认值为session中的学生学号 --> autocomplete="off" value="${sessionScope.d.s_studentid}" class="layui-input">
</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"> <!-- 姓名输入框默认值为session中的学生姓名 --> autocomplete="off" value="${sessionScope.d.s_name}" class="layui-input">
</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"> <!-- 卫生打分输入框默认值为session中的卫生打分 --> autocomplete="off" value="${sessionScope.d.s_grade}" class="layui-input">
</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"> <!-- 班级编号输入框默认值为session中的班级编号 --> autocomplete="off" value="${sessionScope.d.s_classid}" class="layui-input">
</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"> <!-- 寝室编号输入框默认值为session中的寝室编号 --> autocomplete="off" value="${sessionScope.d.s_dormitoryid}" 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>
</div> </div>
<script> <script>
// 可以在此处添加自定义的JavaScript脚本
</script> </script>
</body> </body>
</html> </html>

@ -1,164 +1,147 @@
layui.define(['jquery', 'layer'], function (exports){ // 定义一个模块,依赖 'jquery' 和 'layer' layui.define(['jquery', 'layer'], function (exports){
var $ = layui.jquery; // 使用 layui 的 jQuery var $ = layui.jquery;
var chekedArr = {}; // 初始化一个空对象用于存储选中的过滤项 var chekedArr = {};
var layfilter = {
var layfilter = { // 定义 layfilter 对象 render:function(options){
render:function(options){ // 渲染过滤组件的方法 var url = options.url;
var url = options.url; // 获取传入的 url 地址 var flag = true;
var flag = true; // 初始化标志位,用于控制是否继续渲染 //传入了地址,则直接将此地址覆盖
// 如果传入了 url则从该地址获取数据
if(url){ if(url){
$.getJSON(url, options.where, function(res){ // 通过 GET 请求获取 JSON 数据 $.getJSON(url,options.where,function(res){
if(res.code == 0){ // 如果返回的 code 为 0表示成功 if(res.code == 0){
var data = res.data; // 获取返回的数据 var data = res.data;
flase = true; // 设置标志位为 true flase = true;
layfilter.init(options, data); // 调用 init 方法,传入选项和数据进行初始化 layfilter.init(options,data);
}else{ }else{
layer.msg(res.msg || '查询过滤组件数据异常', {icon: 2}); // 显示错误信息 layer.msg(res.msg||'查询过滤组件数据异常',{icon:2});
flag = false; // 如果失败,设置 flag 为 false flag = false
} }
}); })
} }
if(!flag){ // 如果 flag 为 false直接返回不执行后续操作 if(!flag){
return; return;
} }
}, },
init:function(options, dataSource){ // 初始化过滤组件的方法 init:function(options,dataSource){
var elem = options.elem; // 获取传入的元素 var elem = options.elem;
var $dom = $(elem); // 获取该元素的 jQuery 对象 var $dom = $(elem);
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++){
// 遍历数据源,生成每一行 var $tr =$('<tr></tr>');
for(var i = 0; i < dataSource.length; i++){ var $td1 = $('<td class="item-title">'+dataSource[i].title+':</td>');
var $tr = $('<tr></tr>'); // 创建表格行 var $td2 = $('<td class="items"></td>');
var $td1 = $('<td class="item-title">' + dataSource[i].title + ':</td>'); // 创建第一列(标题) var type = dataSource[i].type;
var $td2 = $('<td class="items"></td>'); // 创建第二列(选项列表) if(!type){
var type = dataSource[i].type; // 获取当前项的类型 console.warn('第'+(i+1)+'个元素的类型[type]为空设为默认值[radio]');
if(!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>');
var width = itemWidth && itemWidth.length>0 ? (itemWidth.length>i ? itemWidth[i]:itemWidth[itemWidth.length-1]):80;
// 如果传入了项宽度,则根据索引设置宽度,否则默认为 80 arr[dataSource[i].name]=[];
var width = itemWidth && itemWidth.length > 0 ? (itemWidth.length > i ? itemWidth[i] : itemWidth[itemWidth.length - 1]) : 80; for(var j=0;j<dataSource[i].data.length;j++){
arr[dataSource[i].name] = []; // 初始化存储选中的项的数组 var item = dataSource[i].data;
var className = 'layfilter-item';
// 遍历当前项的数据,生成每一个选项 if(item[j].checked && item[j].checked=='true'){
for(var j = 0; j < dataSource[i].data.length; j++){
var item = dataSource[i].data;
var className = 'layfilter-item'; // 默认项的类名
// 如果该项已被选中,则添加选中类
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);
$dom.append($table); // 将表格添加到指定的 DOM 元素中 chekedArr=arr;
chekedArr = arr; // 更新选中的项 //注册点击事件
$('.filterTable tr td li a').bind('click',function(){
// 注册点击事件,处理项的选中与取消选中 if($(this).attr('disabled')){
$('.filterTable tr td li a').bind('click', function(){
if($(this).attr('disabled')){ // 如果该项禁用,返回不做处理
return; return;
} }
var itemType = $(this).parent().parent().attr('type');
var itemType = $(this).parent().parent().attr('type'); // 获取当前项的类型 var name = $(this).parent().parent().attr('name');
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('(')); // 获取事件类型(如 'click' var f = filter.substring(0,filter.indexOf('('));
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); // 输出 layfilter 模块 exports('layfilter', layfilter);
}); })

@ -1,205 +1,200 @@
$(function () { $(function () {
// 加载弹出层和元素模块 //加载弹出层
layui.use(['form', 'element'], function () { layui.use(['form','element'],
layer = layui.layer; // 获取layui的layer模块 function() {
element = layui.element; // 获取layui的element模块 layer = layui.layer;
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, // 设置tab的标题 title: title
content: '<iframe tab-id="' + id + '" frameborder="0" src="' + url + '" scrolling="yes" class="x-iframe"></iframe>', // 设置tab的内容为iframe ,content: '<iframe tab-id="'+id+'" frameborder="0" src="'+url+'" scrolling="yes" class="x-iframe"></iframe>'
id: id // 设置tab的唯一标识id ,id: id
}) })
},
tabDelete: function (othis) {
// 删除指定Tab项
element.tabDelete('xbs_tab', '44'); // 删除id为44的Tab项示例
othis.addClass('layui-btn-disabled'); // 禁用删除按钮
},
tabChange: function (id) {
// 切换到指定Tab项
element.tabChange('xbs_tab', id); // 切换到指定的Tab项
} }
}; ,tabDelete: function(othis){
//删除指定Tab项
element.tabDelete('xbs_tab', '44'); //删除:“商品管理”
othis.addClass('layui-btn-disabled');
}
,tabChange: function(id){
//切换到指定Tab项
element.tabChange('xbs_tab', id); //切换到:用户管理
}
};
// 表格多选功能的处理
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'); // 如果是header则取消所有选择 $(".layui-form-checkbox").removeClass('layui-form-checked');
} }
} 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'); // 如果是header则选中所有复选框 $(".layui-form-checkbox").addClass('layui-form-checked');
} }
} }
}); });
}, },
getData: function () { getData:function () {
// 获取所有选中的复选框对应的data-id var obj = $(".layui-form-checked").not('.header');
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; // 返回选中的项的id数组 return arr;
} }
}; }
// 开启表格多选 //开启表格多选
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);
$('.left-nav').animate({ left: '-221px' }, 100); // 动画收起菜单 $('.page-content').animate({left: '0px'}, 100);
$('.page-content').animate({ left: '0px' }, 100); // 调整页面内容区域 $('.page-content-bg').hide();
$('.page-content-bg').hide(); // 隐藏背景遮罩 }else{
} else { $('.left-nav').animate({left: '0px'}, 100);
// 如果左侧菜单是关闭的,则打开它 $('.page-content').animate({left: '221px'}, 100);
$('.left-nav').animate({ left: '0px' }, 100); // 动画展开菜单 if($(window).width()<768){
$('.page-content').animate({ left: '221px' }, 100); // 调整页面内容区域 $('.page-content-bg').show();
if ($(window).width() < 768) {
$('.page-content-bg').show(); // 在小屏幕下显示背景遮罩
} }
} }
});
// 点击背景遮罩关闭菜单
$('.page-content-bg').click(function (event) {
$('.left-nav').animate({ left: '-221px' }, 100); // 动画收起菜单
$('.page-content').animate({ left: '0px' }, 100); // 调整页面内容区域
$(this).hide(); // 隐藏背景遮罩
}); });
// 关闭tab时移除图标 $('.page-content-bg').click(function(event) {
$('.layui-tab-close').click(function (event) { $('.left-nav').animate({left: '-221px'}, 100);
$('.layui-tab-title li').eq(0).find('i').remove(); // 移除第一个Tab项的图标 $('.page-content').animate({left: '0px'}, 100);
$(this).hide();
}); });
// 默认隐藏除fid=0的栏目项 $('.layui-tab-close').click(function(event) {
$("tbody.x-cate tr[fid!='0']").hide(); $('.layui-tab-title li').eq(0).find('i').remove();
});
// 栏目多级显示效果,点击展开/收起子栏目 $("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'); // 设置状态为false $(this).attr('status','false');
cateId = $(this).parents('tr').attr('cate-id'); // 获取当前栏目ID cateId = $(this).parents('tr').attr('cate-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'); // 设置状态为true $(this).attr('status','true');
cateId = $(this).parents('tr').attr('cate-id'); // 获取当前栏目ID cateId = $(this).parents('tr').attr('cate-id');
getCateId(cateId); // 获取当前栏目的所有子栏目ID getCateId(cateId);
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'); // 移除兄弟菜单的open类 $(this).siblings().removeClass('open');
} }
} else { }else{
var url = $(this).children('a').attr('_href'); // 获取菜单项链接
var title = $(this).find('cite').html(); // 获取菜单项标题 var url = $(this).children('a').attr('_href');
var index = $('.left-nav #nav li').index($(this)); // 获取菜单项索引 var title = $(this).find('cite').html();
var index = $('.left-nav #nav li').index($(this));
// 检查该Tab是否已打开
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 tab.tabChange(index+1);
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 = [];
// 获取指定栏目ID下的所有子栏目ID
function getCateId(cateId) { function getCateId(cateId) {
$("tbody tr[fid=" + cateId + "]").each(function (index, el) {
id = $(el).attr('cate-id'); // 获取子栏目ID $("tbody tr[fid="+cateId+"]").each(function(index, el) {
cateIds.push(id); // 将子栏目ID加入数组 id = $(el).attr('cate-id');
getCateId(id); // 递归获取更深层次的子栏目ID cateIds.push(id);
getCateId(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页面 url="404.html";
}; };
if (w == null || w == '') { if (w == null || w == '') {
w = ($(window).width() * 0.9); // 默认宽度为窗口宽度的90% w=($(window).width()*0.9);
}; };
if (h == null || h == '') { if (h == null || h == '') {
h = ($(window).height() - 50); // 默认高度为窗口高度减去50 h=($(window).height() - 50);
}; };
// 打开弹出层
layer.open({ layer.open({
type: 2, // 弹出层类型为iframe type: 2,
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 // 设置弹出层内容为iframe content: url
}); });
} }
/* 关闭弹出框 */ /*关闭弹出框口*/
function x_admin_close() { function x_admin_close(){
var index = parent.layer.getFrameIndex(window.name); // 获取iframe的索引 var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index); // 关闭弹出框 parent.layer.close(index);
} }

@ -1,101 +1,92 @@
$.fn.xcity = function(pName, cName, aName){ $.fn.xcity = function(pName,cName,aName){
// 获取当前元素下的省、市、区选择框
var p = $(this).find('select[lay-filter=province]'); // 省选择框 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 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(''); // 清空市选择框内容
is_cName = false; // 标记是否找到了匹配的市名称 c.html('');
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为当前选中的省名称 pName = data.value;
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为当前选中的市名称 cName = data.value;
showC(cityList); // 重新渲染市、区选择框 showC(cityList);
showA(areaList); showA(areaList);
form.render('select'); // 渲染更新后的选择框 form.render('select');
}); });
}

Loading…
Cancel
Save