• layUI项目之(待开会议&历史会议&所有会议)


     

    目录

    一,待开会议

    (1)SQL语句

    (2)前台编码

    jsp界面

    js文件

    (3)后台编码

    dao方法

    Action类

    二,所有会议

    (1)SQL语句

    (2)前台编码

    jsp界面

    js文件

    (3)后台编码

    dao方法

    Action类


    前言:

    待开会议:当前登录账号,只要是 某会议的参与者,列席者,主持人中的一员,并且该会议未反馈,则需要通过SQL语句查询出来。

    历史会议:当前登录账号,只要是某会议的参与者,列席者,主持人中的一员,并且会议状态是结束,则通过方法里的SQL语句查询出来

    所有会议:当前登录账号,只要是某会议的参与者,列席者,主持人,审批人中的一员,那么必须查询出来

    一,待开会议

    (1)SQL语句

    1. select CONCAT(canyuze,',',liexize,',',zhuchiren),a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren
    2. ,b.`name`zhuchirenname,
    3. a.location,
    4. DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,
    5. DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,
    6. a.state,
    7. (
    8. case a.state
    9. when 0 then '取消会议'
    10. when 1 then '新建'
    11. when 2 then '待审核'
    12. when 3 then '驳回'
    13. when 4 then '代开'
    14. when 5 then '进行中'
    15. when 6 then '开启投票'
    16. when 7 then '结束会议'
    17. else '其它' end
    18. ) meetingstate,
    19. a.seatPic,a.remark,a.auditor,
    20. c.`name` auditorname from t_oa_meeting_info a
    21. inner join t_oa_user b on a.zhuchiren = b.id
    22. left join t_oa_user c on a.auditor = c.id where 1=1 and state = 4 and FIND_IN_SET(6,CONCAT(canyuze,',',liexize,',',zhuchiren))

    (2)前台编码

    jsp界面

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. <%@include file="/common/header.jsp"%>
    4. DOCTYPE html>
    5. class="layui-input">
  • 查询
  • js文件

    1. let layer,form,table,$;
    2. var row;
    3. layui.use(['layer','form','table'],function(){
    4. layer=layui.layer,form=layui.form,table=layui.table,$=layui.jquery;
    5. //初始化会议列表
    6. initMeeting();
    7. //绑定查询按钮的点击事件
    8. $('#btn_meeting_search').click(function(){
    9. query();
    10. });
    11. });
    12. //1.初始化会议列表
    13. function initMeeting(){
    14. table.render({ //执行渲染
    15. elem: '#tb_meeting', //指定原始表格元素选择器(推荐id选择器)
    16. height: 400, //自定义高度
    17. loading: false, //是否显示加载条(默认 true)
    18. cols: [[ //设置表头
    19. {field: 'title', title: '会议标题', width: 180},
    20. {field: 'location', title: '会议地点', width: 120},
    21. {field: 'startTime', title: '开始时间', width: 180},
    22. {field: 'endTime', title: '结束时间', width: 180},
    23. {field: 'meetingstate', title: '会议状态', width: 90},
    24. {field: 'zhuchirenname', title: '主持人', width: 120},
    25. //{field: '', title: '操作', width: 260, toolbar: '#tbMeeting'}
    26. ]]
    27. });
    28. }
    29. //2.待开会议
    30. function query(){
    31. table.reload('tb_meeting', {
    32. url: 'info.action', //请求地址
    33. method: 'POST', //请求方式,GET或者POST
    34. loading: true, //是否显示加载条(默认 true)
    35. page: true, //是否分页
    36. where: { //设定异步数据接口的额外参数,任意设
    37. 'methodName':'queryMeetingInfoByState',
    38. 'title':$('#title').val(),
    39. 'zhuchiren':$('#userid').val(),
    40. 'state':4
    41. },
    42. request: { //自定义分页请求参数名
    43. pageName: 'page', //页码的参数名称,默认:page
    44. limitName: 'rows' //每页数据量的参数名,默认:limit
    45. },
    46. done: function (res, curr, count) {
    47. //查询完成的回调函数
    48. }
    49. });
    50. }

    (3)后台编码

    dao方法

    1. //待开会议
    2. public List<Map<String, Object>> queryMeetingInfoByState(MeetingInfo info, PageBean pageBean) throws Exception{
    3. String sql = "select CONCAT(canyuze,',',liexize,',',zhuchiren),a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren\r\n" +
    4. " ,b.`name`zhuchirenname,\r\n" +
    5. " a.location,\r\n" +
    6. " DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,\r\n" +
    7. " DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,\r\n" +
    8. " a.state,\r\n" +
    9. "(\r\n" +
    10. " case a.state\r\n" +
    11. " when 0 then '取消会议'\r\n" +
    12. " when 1 then '新建'\r\n" +
    13. " when 2 then '待审核'\r\n" +
    14. " when 3 then '驳回'\r\n" +
    15. " when 4 then '代开'\r\n" +
    16. " when 5 then '进行中'\r\n" +
    17. " when 6 then '开启投票'\r\n" +
    18. " when 7 then '结束会议'\r\n" +
    19. " else '其它' end\r\n" +
    20. " \r\n" +
    21. ") meetingstate,\r\n" +
    22. "a.seatPic,a.remark,a.auditor,\r\n" +
    23. "c.`name` auditorname from t_oa_meeting_info a\r\n" +
    24. "inner join t_oa_user b on a.zhuchiren = b.id\r\n" +
    25. "left join t_oa_user c on a.auditor = c.id where 1=1 and state = 4 and FIND_IN_SET("+info.getZhuchiren()+",CONCAT(canyuze,',',liexize,',',zhuchiren))";
    26. return super.executeQuery(sql, pageBean);
    27. }

    Action类

    1. public String queryMeetingInfoByState(HttpServletRequest req,HttpServletResponse resp) {
    2. try {
    3. PageBean pageBean = new PageBean();
    4. pageBean.setRequest(req);
    5. List<Map<String, Object>> users = infodao.queryMeetingInfoByState(info, pageBean);
    6. //注意:layui中的数据的格式
    7. ResponseUtil.writeJson(resp, R.ok(0, "待开会议数据查询成功",pageBean.getTotal(),users));
    8. } catch (Exception e) {
    9. e.printStackTrace();
    10. try {
    11. ResponseUtil.writeJson(resp,R.error(0, "待开会议数据查询失败"));
    12. } catch (Exception e1) {
    13. e1.printStackTrace();
    14. }
    15. }
    16. return null;
    17. }

    效果图

    二,所有会议

    (1)SQL语句

    1. select a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren
    2. ,b.`name`zhuchirenname,
    3. a.location,
    4. DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,
    5. DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,
    6. a.state,
    7. (
    8. case a.state
    9. when 0 then '取消会议'
    10. when 1 then '新建'
    11. when 2 then '待审核'
    12. when 3 then '驳回'
    13. when 4 then '代开'
    14. when 5 then '进行中'
    15. when 6 then '开启投票'
    16. when 7 then '结束会议'
    17. else '其它' end
    18. ) meetingstate,
    19. a.seatPic,a.remark,a.auditor,
    20. c.`name` auditorname from t_oa_meeting_info a
    21. inner join t_oa_user b on a.zhuchiren = b.id
    22. left join t_oa_user c on a.auditor = c.id where 1=1 and FIND_IN_SET(6,CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren,',',IFNULL(a.auditor,-1)))

    (2)前台编码

    jsp界面

    1. <%@ page language="java" contentType="text/html; charset=UTF-8"
    2. pageEncoding="UTF-8"%>
    3. <%@include file="/common/header.jsp"%>
    4. DOCTYPE html>
    5. class="layui-input">
    6. 查询

    js文件

    1. let layer,form,table,$;
    2. var row;
    3. layui.use(['layer','form','table'],function(){
    4. layer=layui.layer,form=layui.form,table=layui.table,$=layui.jquery;
    5. //初始化会议列表
    6. initMeeting();
    7. //绑定查询按钮的点击事件
    8. $('#btn_meeting_search').click(function(){
    9. query();
    10. });
    11. });
    12. //1.初始化会议列表
    13. function initMeeting(){
    14. table.render({ //执行渲染
    15. elem: '#tb_meeting', //指定原始表格元素选择器(推荐id选择器)
    16. height: 400, //自定义高度
    17. loading: false, //是否显示加载条(默认 true)
    18. cols: [[ //设置表头
    19. {field: 'title', title: '会议标题', width: 180},
    20. {field: 'location', title: '会议地点', width: 120},
    21. {field: 'startTime', title: '开始时间', width: 180},
    22. {field: 'endTime', title: '结束时间', width: 180},
    23. {field: 'meetingstate', title: '会议状态', width: 90},
    24. {field: 'zhuchirenname', title: '主持人', width: 120},
    25. //{field: '', title: '操作', width: 260, toolbar: '#tbMeeting'}
    26. ]]
    27. });
    28. }
    29. //2.查询所有会议
    30. function query(){
    31. table.reload('tb_meeting', {
    32. url: 'info.action', //请求地址
    33. method: 'POST', //请求方式,GET或者POST
    34. loading: true, //是否显示加载条(默认 true)
    35. page: true, //是否分页
    36. where: { //设定异步数据接口的额外参数,任意设
    37. 'methodName':'allInfos',
    38. 'title':$('#title').val(),
    39. 'zhuchiren':$('#userid').val()
    40. },
    41. request: { //自定义分页请求参数名
    42. pageName: 'page', //页码的参数名称,默认:page
    43. limitName: 'rows' //每页数据量的参数名,默认:limit
    44. },
    45. done: function (res, curr, count) {
    46. //查询完成的回调函数
    47. }
    48. });
    49. }

    (3)后台编码

    dao方法

    1. public List<Map<String, Object>> allInfos(MeetingInfo info, PageBean pageBean) throws Exception{
    2. String sql = "select a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren\r\n" +
    3. ",b.`name`zhuchirenname,\r\n" +
    4. "a.location,\r\n" +
    5. "DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,\r\n" +
    6. "DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,\r\n" +
    7. "a.state,\r\n" +
    8. "(\r\n" +
    9. " case a.state\r\n" +
    10. " when 0 then '取消会议'\r\n" +
    11. " when 1 then '新建'\r\n" +
    12. " when 2 then '待审核'\r\n" +
    13. " when 3 then '驳回'\r\n" +
    14. " when 4 then '代开'\r\n" +
    15. " when 5 then '进行中'\r\n" +
    16. " when 6 then '开启投票'\r\n" +
    17. " when 7 then '结束会议'\r\n" +
    18. " else '其它' end\r\n" +
    19. " \r\n" +
    20. ") meetingstate,\r\n" +
    21. "a.seatPic,a.remark,a.auditor,\r\n" +
    22. "c.`name` auditorname from t_oa_meeting_info a\r\n" +
    23. "inner join t_oa_user b on a.zhuchiren = b.id\r\n" +
    24. "left join t_oa_user c on a.auditor = c.id where 1=1 and FIND_IN_SET("+info.getZhuchiren()+",CONCAT(a.canyuze,',',a.liexize,',',a.zhuchiren,',',IFNULL(a.auditor,-1)))";
    25. return super.executeQuery(sql, pageBean);
    26. }

    Action类

    1. //所有会议
    2. public String allInfos(HttpServletRequest req,HttpServletResponse resp) {
    3. try {
    4. PageBean pageBean = new PageBean();
    5. pageBean.setRequest(req);
    6. List<Map<String, Object>> users = infodao.allInfos(info, pageBean);
    7. //注意:layui中的数据的格式
    8. ResponseUtil.writeJson(resp, R.ok(0, "所有会议数据查询成功",pageBean.getTotal(),users));
    9. } catch (Exception e) {
    10. e.printStackTrace();
    11. try {
    12. ResponseUtil.writeJson(resp,R.error(0, "所有会议数据查询失败"));
    13. } catch (Exception e1) {
    14. e1.printStackTrace();
    15. }
    16. }
    17. return null;
    18. }

    效果图

     

     

  • 相关阅读:
    阳离子脂质DMG-PEG2000;1,2-二肉豆蔻酰-rac-甘油-3-甲氧基聚乙二醇2000
    Spring事务失效场景
    趣链的产品构架
    湖南湘菜 7页面 美食主题 带设计说明 美食网页设计制作 HTML美食网页成品 美食网页成品 HTML美食网页设计
    node.js+校内废品回收管理 毕业设计-附源码140933
    简述SVM
    Redis 切片集群
    OpenCV 4.0.0学习笔记 (一) 图像与视频的读写
    【探索Linux】—— 强大的命令行工具 P.15(进程间通信 —— system V共享内存)
    Nacos的服务手动注册与发现
  • 原文地址:https://blog.csdn.net/weixin_66202611/article/details/126061612