OA会议管理系统之我的审批(审批签字可生成图片)(一)

简介: OA会议管理系统之我的审批(审批签字可生成图片)

cb61a9f6d0864a85af9fd9fd7a431b3d.jpg

一、前言

1.导读

         

       书接上文,在上一篇中我们完成了我的会议功能,其中有功能会议送审,送审人就可以在我的审批功能中查看,审批者通过审批需要进行审批签字,不通过则是驳回。话不多说下面请欣赏我的操作。

       

二、我的审批功能实现

1.功能介绍及分析

先看效果图,我们根据我们的效果进行分析

功能分析:

我们可以观察到以上只有一条数据,有两个原因

  • ①登录拥有审批权限的账号,并且有人送审给自己才可显示数据
  • ②当我们审批通过该会议的状态就会从待审核变为待开,而我们只会拿到待审核的数据

弹出审批页面

  • 寻找第三方资料进行修改演变成我们所需要的签字页面
  • 审批通过将审批数据进行保存并修改会议状态,驳回则不修改状态
  • 需要将签字的“图片”进行保存并且只截取所签字的地方,多余的地方不要

2.功能实现

这里的审批功能图片下载与我们会议排座的实现一致就不做过多的介绍

2.1.Dao层

MeetingauditDaoImpl审批的数据访问层

package com.xw.dao;
import com.xw.entity.Meetingaudit;
import com.zking.util.BaseDao;
import com.zking.util.StringUtils;
/**
 * Meetingaudit审批的数据访问层接口实现
 * 
 * @author 索隆
 *
 */
public class MeetingauditDaoImpl extends BaseDao<Meetingaudit> implements IMeetingauditDao {
  @Override
  public int add(Meetingaudit mta) throws Exception {
    // 插入数据
    String sql1 = "insert into t_oa_meeting_audit(meetingId,auditor,sign) values(" + mta.getMeetingId() + ","
        + mta.getAuditor() + ",'" + mta.getSign() + "') ";
    // 判断是否签字,签字了是4没签字驳回3
    boolean flag = StringUtils.isNotBlank(mta.getSign());
    int state = flag ? 4 : 3;
    // 修改会议信息的状态
    String sql2 = "update t_oa_meeting_info set state=" + state + " where id=" + mta.getMeetingId();
    // 批处理,要么同时成功要么同时失败
    return super.executeUpdateBatch(new String[] { sql1, sql2 });
  }
}

2.2.JSP层

这里JSP页面有两个一个是展示数据的页面,一个是页面点击审批所展示的弹出页面

myAudit.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
  <%@ include file="/common/static.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>
<title>我的审批</title>
</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>

addMeetingAudit.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
  <%@ include file="/common/static.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="static/js/sign/css/www.jsdaima.com.css">
<link rel="stylesheet" type="text/css" href="static/js/sign/font/iconfont.css">
<script type="text/javascript" src="static/js/meeting/addMeetingAudit.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>



相关文章
|
7月前
|
JSON API 数据格式
在钉钉开放平台中,创建或更新OA审批表单模板需要通过API接口进行操作
在钉钉开放平台中,创建或更新OA审批表单模板需要通过API接口进行操作【1月更文挑战第20天】【1月更文挑战第97篇】
186 1
|
9天前
钉钉OA审批bpms_instance_change无法获取finish消息
订阅了bpms_task_change和bpms_instance_change消息,bms_task_change能正常接收,但bpms_instance_change仅能接收到start事件,无法接收到finish事件。可能原因是finish事件的发布机制或订阅配置存在问题。
19 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的企业oa管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的企业oa管理系统附带文章源码部署视频讲解等
52 1
|
4月前
|
Java uml
某OA系统需要提供一个假条审批的模块,如果员工请假天数小于3天,主任可以审批该请假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批
该博客文章通过一个OA系统中的请假审批模块示例,使用Java语言实现了职责链模式,展示了如何根据不同的请假天数由不同级别的领导进行审批,并讨论了职责链模式的优缺点。
某OA系统需要提供一个假条审批的模块,如果员工请假天数小于3天,主任可以审批该请假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批
|
7月前
|
JavaScript Java 测试技术
基于springboot+vue.js的企业OA管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的企业OA管理系统附带文章和源代码设计说明文档ppt
112 8
|
5月前
|
测试技术 Windows
基于SpringBoot+Vue企业oa管理系统(源码+部署说明+演示视频+源码介绍)(3)
基于SpringBoot+Vue企业oa管理系统(源码+部署说明+演示视频+源码介绍)
249 0
|
5月前
|
数据库 数据安全/隐私保护 数据库管理
基于SpringBoot+Vue企业oa管理系统(源码+部署说明+演示视频+源码介绍)(2)
基于SpringBoot+Vue企业oa管理系统(源码+部署说明+演示视频+源码介绍)
111 0
|
5月前
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue企业oa管理系统(源码+部署说明+演示视频+源码介绍)(1)
基于SpringBoot+Vue企业oa管理系统(源码+部署说明+演示视频+源码介绍)
74 0
|
7月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的企业OA管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的企业OA管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
7月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的企业oa管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的企业oa管理系统的设计与实现(源码+lw+部署文档+讲解等)