目录

1.查询出本场会议中的所有参与人员
2.需要完成在页面上元素的拖动功能,把对应的参会人员放在指定位置,如:重要的人就放在主位
3.将已经画好的会议座位图,保存下来,并且绑定到本次会议数据上去;

- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <base href="${pageContext.request.contextPath }/"/>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <link href="static/js/layui/css/layui.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="static/js/jquery-3.3.1.min.js">script>
- <script type="text/javascript" src="static/js/layui/layui.js">script>
- <script type="text/javascript" src="static/js/plugins/html2canvas/html2canvas.js">script>
- <title>会议座位安排title>
- head>
- <style type="text/css">
- * {
- padding: 0;
- margin: 0;
- }
-
- body{
- width: 100%;
- height: 100%;
- /* background: red; */
- }
-
- .tips {
- /* position: absolute; */
- background: pink;
- display: inline-block;
- height: 60px;
- /* width: 60px; */
- line-height: 60px;
- text-align: center;
- margin: 5px;
- padding: 0 10px;
- }
-
- .add {
- position: fixed;
- right: 10px;
- top: 10px;
- display:inline;
- }
-
- #tu {
- width: 100%;
- height: 100%;
- /* background: lightblue; */
- /*background: url('u=3318199716,2583790385&fm=26&gp=0.jpg');*/
- }
- .layui-input{
- height:30px;
- }
- style>
- <body id="screen_body">
- <div id="tu">div>
-
- <div class="add">
- <div style="display:inline-block;">
- <input id="dan_input" type="text" value="" class="layui-input">
- div>
- <div style="display:inline-block;">
- <button onclick="return addDanMu()" class="layui-btn layui-btn-sm">添加座位button><input id="jie_input" type="button" class="layui-btn layui-btn-sm" value='下载'>
- div>
- div>
- body>
- <script type="text/javascript">
- var $id = function(id) {
- return document.getElementById(id);
- }
- //会议排座拖拽
- var dragF = {
- locked: false,
- lastObj: undefined,
- drag: function(obj) {
- $id(obj).onmousedown = function(e) {
- var e = e ? e : window.event;
- if (!window.event) {
- e.preventDefault();
- } /* 阻止标注浏览器下拖动a,img的默认事件 */
- dragF.locked = true;
- $id(obj).style.position = "absolute";
- $id(obj).style.zIndex = "100";
- if (dragF.lastObj && dragF.lastObj != $id(obj)) { /* 多元素拖动需要恢复上次元素状态 */
- dragF.lastObj.style.zIndex = "1";
- }
-
- dragF.lastObj = $id(obj);
- var tempX = $id(obj).offsetLeft;
- var tempY = $id(obj).offsetTop;
-
- dragF.x = e.clientX;
- dragF.y = e.clientY;
- document.onmousemove = function(e) {
- var e = e ? e : window.event;
- if (dragF.locked == false) return false;
- $id(obj).style.left = tempX + e.clientX - dragF.x + "px";
- $id(obj).style.top = tempY + e.clientY - dragF.y + "px";
- if (window.event) {
- e.returnValue = false;
- } /* 阻止ie下a,img的默认事件 */
-
- }
-
- document.onmouseup = function() {
- dragF.locked = false;
- }
- }
- }
- }
- script>
-
- <script type="text/javascript">
- var layer;
- layui.use(['layer'],function(){
- layer=layui.layer;
-
- //初始化会议排座:根据会议ID获取参会的所有人员的名字(主持人+参会人+列席人)
- initMeetingUsers();
-
- //绘制会议排座图片
- $("#jie_input").on("click", function(event) {
- $('.add').hide();
- event.preventDefault();
- html2canvas(document.getElementById("screen_body")).then(function(canvas) {
- var dataUrl = canvas.toDataURL();
- console.log(dataUrl);
- var param = {};
- param['seatPic'] = dataUrl;
- param['id'] = '${param.id}';
- param['methodName']='updateSeatPicById';
- console.log(param);
- //此处需要完成会议排座图片上传操作
- $.post('${pageContext.request.contextPath }/info.action',param,function(rs){
- if(rs.success){
- //先得到当前iframe层的索引
- var index = parent.layer.getFrameIndex(window.name);
- //再执行关闭
- parent.layer.close(index);
- //调用父页面的刷新方法
- parent.query();
- }else{
- layer.msg(rs.msg,{icon:5},function(){});
- }
- },'json');
- });
- });
- });
-
- function initMeetingUsers(){
- //http://localhost:8080/xxx/seatPic.jsp?id=12 -> ${param.id}
- $.getJSON('${pageContext.request.contextPath }/user.action',{
- 'methodName':'queryUserByMeetingId',
- 'meetingId':'${param.id}'
- },function(rs){
- console.log(rs);
- let data=rs.data;
- $.each(data,function(i,e){
- $('#dan_input').val(e.name);
- addDanMu();
- });
- });
- }
-
-
- //添加会议排座
- function addDanMu() {
- var dan = document.getElementById("dan_input").value;
- if (dan == "") {
- alert("请输入弹幕~");
- return false;
- } else {
- document.getElementById("dan_input").value = ""; //清空 弹幕输入框
- // var br = document.createElement("BR"); //
- var node = document.createElement("DIV"); //
- var tipsArr = document.getElementsByClassName('tips');
- var i;
- // console.log(parseInt(tipsArr[tipsArr.length-1].id.substr(4))+1);
- if (tipsArr.length == 0) {
- i = 1
- } else {
-
- i = parseInt(tipsArr[tipsArr.length - 1].id.substr(4)) + 1;
- }
- // var aNode = document.createElement("P"); //
- node.setAttribute("class", "tips");
- node.setAttribute("id", "tips" + i);
- node.setAttribute("onmouseover", "dragF.drag('tips" + i + "');");
- var textnode = document.createTextNode(dan); // 创建个 文本节点, 将用户输入的弹幕,存入 创建的 元素节点
中
- // aNode.appendChild(textnode);
- node.appendChild(textnode);
- // document.body.appendChild(br);
- // document.body.appendChild(node);
-
- document.getElementById("tu").appendChild(node);
- return true;
- }
- }
- script>
- html>
会议参会用户数据初始化
数据库的分析要查出 会议排座用户查询 用一条SQL语句 联两个表
-- find in set
-- 第一个参数:数据库字段
-- 第二个参数:列段的条件
select * from t_oa_user where FIND_IN_SET (id,(select CONCAT(canyuze,',',liexize,',',zhuchiren) from t_oa_meeting_info where id=8))

点击会议排座时进入另一个页面
- //打开会议排座对话框
- function open(id){
- layer.open({
- type: 2, //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
- title: '会议排座', //对话框标题
- area: ['460px', '340px'], //宽高
- skin: 'layui-layer-rim', //样式类名
- content: $("#ctx").val()+'/jsp/meeting/seatPic.jsp?id='+id, //弹出内容。可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同
- });
- }
UserDao绑定座位人员
- public List
list(Integer meetingId) throws Exception { - String sql="select * from t_oa_user where FIND_IN_SET(id,(select concat(canyuze,',',liexize,',',zhuchiren) from "
- + "t_oa_meeting_info where id="+meetingId+"))";
- return super.executeQuery(sql, User.class, null);
- }
UserAction
- package com.oyang.web;
-
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import com.oyang.dao.UserDao;
- import com.oyang.entity.User;
- import com.oyang.framework.ActionSupport;
- import com.oyang.framework.ModelDriver;
- import com.oyang.util.PageBean;
- import com.oyang.util.R;
- import com.oyang.util.ResponseUtil;
-
-
- public class UserAction extends ActionSupport implements ModelDriver
{ -
- private User user=new User();
- private UserDao udao=new UserDao();
-
- //写一个方法处理前台的请求
- /*public String login(HttpServletRequest req, HttpServletResponse resp) {
- Map
map=new HashMap(); - if("oyang".equals(user.getUsername())&&"123456".equals(user.getPassword())) {
- //登录成功
- map.put("code", 200);
- map.put("msg", "登录成功");
- //响应到前端
- }
- else {
- //登录失败
- map.put("code", 0);
- map.put("msg", "账户密码错误");
- }
- try {
- ResponseUtil.writeJson(resp, map);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }*/
-
- public String login(HttpServletRequest req, HttpServletResponse resp) {
- try {
- User u = udao.login(user);
- //通过账户名密码查到了用户记录
- if(u!=null) {
- /*ResponseUtil.writeJson(resp, new R()
- .data("code", 200)
- .data("msg", "登录成功"));*/
- ResponseUtil.writeJson(resp, R.ok(200, "登录成功"));
- req.getSession().setAttribute("user", u);
- }
- else {
- /*ResponseUtil.writeJson(resp, new R()
- .data("code", 0)
- .data("msg", "账户密码错误"));*/
- ResponseUtil.writeJson(resp, R.error(0, "用户名密码错误"));
- }
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "登录失败"));
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return null;
- }
-
- //用户查询
- public String queryUserByMeetingId(HttpServletRequest req, HttpServletResponse resp) {
- try {
- String parameter = req.getParameter("meetingId");
- List
users = udao.list(Integer.valueOf(parameter)); - //注意:LayUI中数据表格的格式
- ResponseUtil.writeJson(resp, R.ok(0, "会议用户数据初始化成功",users));
-
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "会议用户数据初始化失败"));
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return null;
- }
-
- //用户查询
- public String list(HttpServletRequest req, HttpServletResponse resp) {
- try {
- PageBean pageBean=new PageBean();
- pageBean.setRequest(req);
- List
- //注意:LayUI中数据表格的格式
- ResponseUtil.writeJson(resp, R.ok(0, "用户数据查询成功",pageBean.getTotal(),users));
-
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "用户查询失败"));
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return null;
- }
-
-
- //用户增加
- public String add(HttpServletRequest req, HttpServletResponse resp) {
- try {
- //rs是sql语句执行的影响行数
- int rs = udao.add(user);
- if(rs>0) {
- ResponseUtil.writeJson(resp, R.ok(200, "用户数据新增成功"));
- }
- else {
- ResponseUtil.writeJson(resp, R.ok(0, "用户数据新增失败"));
- }
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "用户数据新增失败"));
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return null;
- }
-
- //用户删除
- public String del(HttpServletRequest req, HttpServletResponse resp) {
- try {
- //rs是sql语句执行的影响行数
- int rs = udao.del(user);
- if(rs>0) {
- ResponseUtil.writeJson(resp, R.ok(200, "用户数据删除成功"));
- }
- else {
- ResponseUtil.writeJson(resp, R.ok(0, "用户数据删除失败"));
- }
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "用户数据删除失败"));
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return null;
- }
-
- //用户修改
- public String edit(HttpServletRequest req, HttpServletResponse resp) {
- try {
- //rs是sql语句执行的影响行数
- int rs = udao.add(user);
- if(rs>0) {
- ResponseUtil.writeJson(resp, R.ok(200, "用户数据修改成功"));
- }
- else {
- ResponseUtil.writeJson(resp, R.ok(0, "用户数据修改失败"));
- }
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "用户修改新增失败"));
- } catch (Exception e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
- return null;
- }
-
- //查询所有用户用于绑定多功能下拉框
- public String queryUserAll(HttpServletRequest req, HttpServletResponse resp) {
- try {
- List
- // 注意:layui中的数据表格的格式
- ResponseUtil.writeJson(resp, R.ok(0, "多功能下拉框数据查询成功",users));
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "多功能下拉框数据查询失败"));
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- return null;
- }
-
- @Override
- public User getModel() {
- // TODO Auto-generated method stub
- return user;
- }
-
- }
配置图片下载路径
- dirPath=E:/temp/images/oyang/
- serverPath=/upload/paizuo/
- dirPathSign=E:/temp/images/oyang/sign/
- serverPathSign=/upload/sign/
MeetingInfoDao
- package com.oyang.dao;
-
- import java.util.List;
- import java.util.Map;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import java.lang.Long;
- import java.lang.String;
- import java.sql.SQLException;
- import java.lang.String;
- import com.oyang.entity.MeetingInfo;
- import com.oyang.util.BaseDao;
- import com.oyang.util.PageBean;
- import com.oyang.util.StringUtils;
-
- /**
- *
- * @author yang
- *
- */
- public class MeetingInfoDao extends BaseDao
{ - /*public List
list(MeetingInfo meetingInfo, PageBean pageBean) throws Exception { - String sql = "select * from t_oa_meeting_info where 1 = 1 ";
- if (!(meetingInfo.getId() == null || meetingInfo.getId() == 0)) {
- sql += "and id = " + meetingInfo.getId();
- }
- return super.executeQuery(sql, MeetingInfo.class, pageBean);
- }*/
-
- // 添加会议信息
- public int add(MeetingInfo t) throws Exception {
- String sql="insert into t_oa_meeting_info"
- +"(title,content,canyuze,liexize,zhuchiren,location,startTime,endTime,remark) values (?,?,?,?,?,?,?,?,?)";
- return super.executeUpdate(sql, t, new String[] {"title","content","canyuze","liexize","zhuchiren","location","startTime","endTime","remark"});
- }
-
-
- //我的会议sql,后续其他的菜单也会使用
- private String getSQL() {
- return "select a.id,a.title,a.content,a.canyuze,a.liexize,a.zhuchiren\r\n" +
- ",b.name zhuchirenname,\r\n" +
- "a.location,\r\n" +
- "DATE_FORMAT(a.startTime,'%Y-%m-%d %H-%m-%s') startTime,\r\n" +
- "DATE_FORMAT(a.endTime,'%Y-%m-%d %H-%m-%s') endTime,\r\n" +
- "a.state,\r\n" +
- "(\r\n" +
- " case a.state\r\n" +
- " when 0 then '取消会议'\r\n" +
- " when 1 then '新建'\r\n" +
- " when 2 then '待审核'\r\n" +
- " when 3 then '驳回'\r\n" +
- " when 4 then '待开'\r\n" +
- " when 5 then '进行中'\r\n" +
- " when 6 then '开启投票'\r\n" +
- " when 7 then '结束会议'\r\n" +
- " else '其他' end\r\n" +
- ") meetingstate,\r\n" +
- "a.seatPic,a.remark,a.auditor,\r\n" +
- "c.name auditorname from t_oa_meeting_info a\r\n" +
- "inner join t_oa_user b on a.zhuchiren = b.id\r\n" +
- "left join t_oa_user c on a.auditor = c.id and 1=1";
- }
-
- //我的会议
- public List
- throws SQLException, InstantiationException, IllegalAccessException {
- String sql = getSQL();
- //会议标题
- String title = info.getTitle();
- if(StringUtils.isNotBlank(title)){
- sql+=" and title like '%"+title+"%'";
- }
- sql +=" and zhuchiren = " + info.getZhuchiren();
- return super.executeQuery(sql, pageBean);
- }
-
-
- // 状态:0取消会议 1新建 2待审核 3驳回 4待开 5进行中 6开启投票 7结束会议,默认值为1
- public int updatezt(MeetingInfo m) throws Exception {
- String sql = "update t_oa_meeting_info set state=? where id = ?";
- return super.executeUpdate(sql, m, new String[] {"state","id"});
- }
-
-
-
- //设置会议排座图片
- public int updateSeatPicById(MeetingInfo info) throws Exception {
- String sql="update t_oa_meeting_info set seatPic=? where id=?";
- return super.executeUpdate(sql, info, new String[] {"seatPic","id"});
- }
-
-
- }
MeetingInfoAction
- package com.oyang.web;
-
- import java.io.IOException;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import java.util.UUID;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import org.apache.commons.beanutils.ConvertUtils;
-
- import com.oyang.dao.MeetingInfoDao;
- import com.oyang.entity.MeetingInfo;
- import com.oyang.framework.ActionSupport;
- import com.oyang.framework.ModelDriver;
- import com.oyang.util.Base64ImageUtils;
- import com.oyang.util.MyDateConverter;
- import com.oyang.util.PageBean;
- import com.oyang.util.PropertiesUtil;
- import com.oyang.util.R;
- import com.oyang.util.ResponseUtil;
-
- public class MeetingInfoAction extends ActionSupport implements ModelDriver
{ - private MeetingInfo info=new MeetingInfo();
- private MeetingInfoDao infoDao=new MeetingInfoDao();
-
- public String updateSeatPicById(HttpServletRequest req, HttpServletResponse resp) {
- /**
- * 1、接收前端页面传递到后台的图片对应的字符串
- * 2、借助工具类将字符串生成一个图片,保存到配置文件所配置的路径下
- * 3、添加服务器硬盘与请求地址 的映射,即可访问
- * 4、将请求地址 保存到数据库中
- */
- //获取到图片的存放地址
- try {
- String dirPath = PropertiesUtil.getValue("dirPath");
- //获取到浏览器请求路径,为了后续保存到数据库
- String serverPath = PropertiesUtil.getValue("serverPath");
- //随机生成一个图片名称
- String fileName = UUID.randomUUID().toString().replace("-", "")+".jpg";
- //info.getSeatPic();//图片字符串
- Base64ImageUtils.GenerateImage(info.getSeatPic().replaceAll("data:image/png;base64,", ""), dirPath+fileName);
- //将seatPic中内容修改为 请求地址
- info.setSeatPic(serverPath+fileName);
- //修改会议排座 数据库图片 对应的数据库列段
-
- int rs = infoDao.updateSeatPicById(info);
- if(rs>0) {
- ResponseUtil.writeJson(resp, R.ok(200, "会议排座成功"));
- }else {
- ResponseUtil.writeJson(resp, R.error(0, "会议排座失败"));
- }
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "会议排座失败"));
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- return null;
- }
- }
引入插件画布插件

运行结果

看文件中是否有此图片

三、会议送审
myMeeting.js
- let layer,table,$,form;
- let row;
- layui.use(['layer','table','jquery','form'],function(){
- layer=layui.layer,
- table=layui.table,
- form=layui.form,
- $=layui.jquery;
-
- initTable();
-
- //查询事件
- $('#btn_search').click(function(){
- query();
- });
-
- //初始化审批人
- initFormSelects();
-
- //送审
- $('#btn_auditor').click(function(){
- $.post($("#ctx").val()+'/info.action',{
- 'methodName':'updateAuditorById',
- 'id':$('#meetingId').val(),
- 'auditor':$('#auditor').val()
- },function(rs){
- if(rs.success){
- //关闭对话框
- layer.closeAll();
- //刷新列表
- query();
- }else{
- layer.msg(rs.msg,{icon:5},function(){});
- }
- },'json');
- return false;
- });
-
- });
-
- //1.初始化数据表格
- function initTable(){
- table.render({ //执行渲染
- elem: '#tb', //指定原始表格元素选择器(推荐id选择器)
- height: 400, //自定义高度
- loading: false, //是否显示加载条(默认 true)
- cols: [[ //设置表头
- {field: 'id', title: '会议编号', width: 90},
- {field: 'title', title: '会议标题', width: 120},
- {field: 'location', title: '会议地点', width: 140},
- {field: 'startTime', title: '开始时间', width: 120},
- {field: 'endTime', title: '结束时间', width: 120},
- {field: 'meetingState', title: '会议状态', width: 120},
- {field: 'seatPic', title: '会议排座', width: 120,
- templet: function(d){
- if(d.seatPic==null || d.seatPic=="")
- return "尚未排座";
- else
- return "
"; - }
- },
- {field: 'auditor', title: '审批人', width: 120},
- {field: '', title: '操作', width: 200,toolbar:'#tbar'},
- ]]
- });
- }
-
- //2.点击查询
- function query(){
- table.reload('tb', {
- url: $("#ctx").val()+'/info.action', //请求地址
- method: 'POST', //请求方式,GET或者POST
- loading: true, //是否显示加载条(默认 true)
- page: true, //是否分页
- where: { //设定异步数据接口的额外参数,任意设
- 'methodName':'myInfos',
- 'zhuchiren':$('#zhuchiren').val(),
- 'title':$('#title').val(),
- },
- request: { //自定义分页请求参数名
- pageName: 'page', //页码的参数名称,默认:page
- limitName: 'rows' //每页数据量的参数名,默认:limit
- },
- done: function (res, curr, count) {
- console.log(res);
- }
- });
-
- //工具条事件
- table.on('tool(tb)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
- row = obj.data; //获得当前行数据
- var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
- var tr = obj.tr; //获得当前行 tr 的 DOM 对象(如果有的话)
- console.log(row);
- if(layEvent === 'seat'){ //会议排座
- open(row.id);
- } else if(layEvent === 'send'){ //送审
- if(row.seatPic==null || row.seatPic==""){
- layer.msg('先请完成会议排座,再进行送审操作!',function(){});
- return false;
- }
- //在打开送审页面之前,先请完成会议ID的赋值操作
- $('#meetingId').val(row.id);
- openLayerAudit();
- } else if(layEvent==="back"){ //反馈详情
- openLayerFeedBack(row.id);
- } else {
-
- }
- });
- }
-
- //打开会议排座对话框
- function open(id){
- layer.open({
- type: 2, //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
- title: '会议排座', //对话框标题
- area: ['460px', '340px'], //宽高
- skin: 'layui-layer-rim', //样式类名
- content: $("#ctx").val()+'/jsp/meeting/seatPic.jsp?id='+id, //弹出内容。可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同
- });
- }
-
- //会议送审
- function openLayerAudit(){
- //每次打开都对送审人进行初始化默认值设置
- $('#auditor').val("");
- //必须重新渲染
- form.render('select');
- //弹出对话框
- layer.open({
- type: 1, //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
- title:'会议送审',
- area: ['426px', '140px'], //宽高
- skin: 'layui-layer-rim', //样式类名
- content: $('#audit'), //弹出内容。可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同
- });
- }
-
- //初始化审批人
- function initFormSelects(){
- $.getJSON($("#ctx").val()+'/user.action',{
- 'methodName':'queryUserAll'
- },function(rs){
- console.log(rs);
- let data=rs.data;
- $.each(data,function(i,e){
- $('#auditor').append(new Option(e.name,e.value));
- });
- //重新渲染
- form.render('select');
- });
- }
-
- // 打开查看本会议的反馈详情
- function openLayerFeedBack(id){
- $.getJSON('feedBack.action',{
- methodName:'queryMeetingBackByMeetingId',
- meetingId:id
- },function(data){
- $('#meeting_ok').html("");
- $('#meeting_no').html("");
- $('#meeting_noread').html("");
- if(data.success){
- console.log(data.data);
- $.each(data.data,function(i,e){
- if(e.result==1)
- $('#meeting_ok').html(e.names);
- else if(e.result==2)
- $('#meeting_no').html(e.names);
- else
- $('#meeting_noread').html(e.names);
- });
- //弹出对话框
- layer.open({
- type: 1, //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
- title:'反馈详情',
- area: ['426px', '420px'], //宽高
- skin: 'layui-layer-rim', //样式类名
- content: $('#feedback'), //弹出内容。可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同
- btn:['关闭'],
- yes:function(index,layero){
- layer.closeAll();
- }
- });
- }
- });
- }

MeetingInfoDao
- // 会议送审
- public int updateAuditorById(MeetingInfo info) throws Exception {
- String sql="update t_oa_meeting_info set auditor=?,state=2 where id=?";
- return super.executeUpdate(sql, info, new String[] {"auditor","id"});
- }
MeetingInfoAction
- // 会议送审
- public String updateAuditorById(HttpServletRequest req, HttpServletResponse resp) {
- try {
- // rs是sql语句执行的影响行数
- int rs = infoDao.updateAuditorById(info);
- if(rs>0) {
- ResponseUtil.writeJson(resp, R.ok(200, "会议送审成功"));
- }else {
- ResponseUtil.writeJson(resp, R.error(0, "会议送审失败"));
- }
- } catch (Exception e) {
- e.printStackTrace();
- try {
- ResponseUtil.writeJson(resp, R.error(0, "会议送审失败"));
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- return null;
- }
OK,今日的分享就到此结束啦,如果对个位看官有帮助的话可以留下免费的赞哦(收藏或关注也行),如果文章中有什么问题或不足以及需要改正的地方可以私信博主,博主会做出改正的。个位看官,小陽在此跟大家说拜拜啦!