查询&会议签字
时间:2023-01-15 06:00:00
目录
- 一、前端
-
-
- 1、addMeetingAudit.jsp
- 2、myAudit.jsp
- 3、myAudit.js
- 4、addMeetingAudit.js
- 记得导入插件
-
- 二、后端
-
-
- 1、MeetingAuditDao
- 2、MeetingAudit
- 3、MeetingAuditAction
- 4、配置xml
-
- 三、运行效果
- 四、总结
一、前端
1、addMeetingAudit.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/common/header.jsp"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/plugins/sign/css/www.jsdaima.com.css"> <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath }/static/js/plugins/sign/font/iconfont.css"> <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/meeting/addMeetingAudit.js"></script> <%-- <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/jquery-3.3.1.min.js"></script> --%> <%-- <script type="text/javascript" src="${pageContext.request.contextPath }/static/js/plugins/sign/index.js"><
/script
>
--
%
>
<title>发布会议
<
/title
>
<
/head
>
<style> body
{
margin
:
5px
;
}
<
/style
>
<body>
<div style
=
"padding:10px 20px 10px 10px;"
>
<form
class
=
"layui-form layui-form-pane" lay
-filter
=
"audit"
>
<input type
=
"hidden" id
=
"id" name
=
"id"
/
>
<input type
=
"hidden" id
=
"auditor" value
=
"${sessionScope.user.id }"
/
>
<div
class
=
"layui-form-item"
>
<label
class
=
"layui-form-label"
>会议标题
<
/label
>
<div
class
=
"layui-input-block"
>
<input type
=
"text" name
=
"title" autocomplete
=
"off"
class
=
"layui-input" readonly
=
"readonly"
>
<
/div
>
<
/div
>
<div
class
=
"layui-form-item layui-form-text"
>
<label
class
=
"layui-form-label"
>会议内容
<
/label
>
<div
class
=
"layui-input-block"
>
<textarea placeholder
=
"请输入内容" name
=
"content"
class
=
"layui-textarea" readonly
=
"readonly"
>
<
/textarea
>
<
/div
>
<
/div
>
<
!
--
<div
class
=
"layui-form-item layui-form-text"
>
--
>
<
!
--
<label
class
=
"layui-form-label"
>会议内容
<
/label
>
--
>
<
!
--
<div
class
=
"layui-input-block"
>
--
>
<div
class
=
"canvasBox"
>
<div
class
=
"contro"
>
<ul
class
=
"drawType"
>
<li data
-name
=
"pen" data
-nameNum
=
"0"
>
<span
class
=
"icon iconfont icon-qianbi"
>
<
/span
>
<span
class
=
"iconAlert"
>铅笔
<
/span
>
<
/li
>
<
!
--
<li
class
=
"downLoad"
>
<span
class
=
"icon iconfont icon-baocun"
>
<
/span
>
<span
class
=
"iconAlert"
>保存
<
/span
>
<img src
=
"" alt
=
""
class
=
"downImg"
>
<
/li
>
<li data
-name
=
"eraser"
>
<span
class
=
"icon iconfont icon-xiangpi"
>
<
/span
>
<span
class
=
"iconAlert"
>橡皮
<
/span
>
<
/li
>
--
>
<li
class
=
"remote"
>
<span
class
=
"icon iconfont icon-delete"
>
<
/span
>
<span
class
=
"iconAlert"
>清空
<
/span
>
<
/li
>
<
/ul
>
<
/div
>
<div
class
=
"canvasDraw"
>
<div
class
=
"drawFont" data
-type
=
"hide"
>
<span
class
=
"intoFont"
>
<
/span
>
<input type
=
"text"
class
=
"intoFontInput"
>
<
/div
>
<canvas id
=
"canvas" width
=
"550" height
=
"150"
>
<
/canvas
>
<
/div
>
<
/div
>
<
!
--
<
/div
>
<
/div
>
--
>
<
/form
>
<
/div
>
<
/body
>
<
/html
>
2、myAudit.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="/common/header.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="${pageContext.request.contextPath }/static/js/meeting/myAudit.js"></script>
</head>
<style>
body{
margin:15px;
}
.layui-table-cell {
height: inherit;}
.layui-layer-page .layui-layer-content {
overflow: visible !important;}
</style>
<body>
<!-- 搜索栏 -->
<div class="layui-form-item" style="margin:15px 0px;">
<div class="layui-inline">
<label class="layui-form-label">会议标题</label>
<div class="layui-input-inline">
<input type="hidden" id="auditor" value="${user.id }"/>
<input type="text" id="title" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button id="btn_search" type="button" class="layui-btn"><i class="layui-icon layui-icon-search"></i> 查询</button>
</div>
</div>
<!-- 数据表格 -->
<table id="tb" lay-filter="tb" class="layui-table" style="margin-top:-15px"></table>
<script type="text/html" id="tbar">
<a class="layui-btn layui-btn-xs" lay-event="edit">审批</a>
</script>
</body>
</html>
3、myAudit.js
let layer,table,$,form; var 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(); }); }); //初始化数据表格(我的审批) 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: '', title: '操作', width: 200,toolbar:'#tbar'}, ]] }); } //点击查询 function query(){ table.reload('tb', { url: $("#ctx").val()+'/info.action', //请求地址 method: 'POST', //请求方式,GET或者POST loading: true, //是否显示加载条(默认 true) page: true, //是否分页 where: { //设定异步数据接口的额外参数,任意设 'methodName':'myAudit', 'auditor':$('#auditor').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 === 'edit'){ //审批 openLayer(row.id); } else { } }); } // 打开审批页面 function openLayer(id){ layer.open({ type: 2, //layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层) title: '审批', //对话框标题 area: ['600px', '500px'], //宽高 skin: 'layui-layer-rim', //样式类名 content: $("#ctx").val()+'/jsp/meeting/addMeetingAudit.jsp', //弹出内容。可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同 btn:['审批通过','审批驳回'], yes:function(index,layero){ //layer.msg('保存'); //调用子页面中提供的getData方法,快速获取子页面的form表单数据 let data= $(layero).find("iframe")[0].contentWindow.save(); data['meetingId']=id; data['auditor']=$('#auditor').val(); addMeetingAudit(data); }, btn2:function(){ let data={ }; data['sign']=null; data['meetingId']=id; data['auditor']=$('#auditor').val(); addMeetingAudit(data); return false; } }); } // 添加审批意见 function addMeetingAudit(params){ params['methodName']="add"; console.log(params); $.post($("#ctx").val()+'/audit.action',params,function(rs){ if(rs.success){ layer.closeAll(); query(); }else{ layer.msg(rs.msg,{ icon:5},function(){ }); } },'json'); }
4、addMeetingAudit.js
let layer,table,$,form; var row; layui.use(['layer','table','jquery','form'],function(){ layer=layui.layer, table=layui.table, form=layui.form, $=layui.jquery; if(parent.row!=null){ form.val('audit',$.extend({ }, parent.row||{ })); } init(); function init() { $('.strokeColorBox').css('border',"4px solid "+$('.strokeColor').val()).find('.icon').css('color',$('.strokeColor').val()); $('.weightBox .icon').html($('.weight').val()+'px'); $('.drawFont').css({ 'height': $('.font_box_size').val() }) } /** * 右键按下不显示浏览器自带框 */ $('#canvas').