会议OA项目之会议发布(一)

简介: 会议OA项目之会议发布(一)

 前言:

今天小编带来的是会议OA项目功能之会议发布功能,我们今天正式进入这个会议OA项目的分享。

使用的开发工具:eclipse,MySQL,tonmcat8.5,

会议发布的产品原型图:

 

1.会议发布

1.1实现的特色功能:

1将参与人员的名字能够通过下拉框的形式选择,2添加具有具体时间的选择器,3发布成功后,刷新表单。

1.2思路:

分析得出在这个界面就是LayUi的一个表单提交的功能我们去官网中找到对应的源码这个页面的前端代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<%@include file="/common/head.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/addMeeting.js"></script>
<title>发布会议</title>
</head>
<body>
<form class="layui-form layui-form-pane">
  <div class="layui-form-item">
     <button id="btn_add" type="submit" class="layui-btn" lay-submit="" lay-filter="meeting">立即提交</button>
     <button id="btn_reset" type="reset" class="layui-btn layui-btn-primary">重置</button>
  </div>
  <div class="layui-form-item">
      <label class="layui-form-label">会议标题</label>
      <div class="layui-input-block">
        <input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请输入标题" class="layui-input">
      </div>
  </div>
  <div class="layui-form-item layui-form-text">
      <label class="layui-form-label">会议内容</label>
      <div class="layui-input-block">
        <textarea name="content" lay-verify="required" placeholder="请输入内容" class="layui-textarea"></textarea>
      </div>
  </div>
  <div class="layui-form-item">
      <label class="layui-form-label">参与者</label>
      <div class="layui-input-block">
        <select name="canyuze" xm-select="canyuze" lay-verify="required" lay-vertype="tips">
          <option value="">---请选择---</option>
      </select>
      </div>
  </div>
  <div class="layui-form-item">
      <label class="layui-form-label">列席者</label>
      <div class="layui-input-block">
        <select name="liexize" xm-select="liexize" lay-verify="required" lay-vertype="tips">
          <option value="">---请选择---</option>
      </select>
      </div>
  </div>
  <div class="layui-form-item">
      <label class="layui-form-label">主持人</label>
      <div class="layui-input-block">
        <input type="text" readonly="readonly" name="zhuchirenname" value="${user.name }" autocomplete="off" placeholder="请输入标题" class="layui-input">
        <input type="hidden" name="zhuchiren" value="${user.id }"/>
      </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="location" autocomplete="off" placeholder="请输入会议地点" class="layui-input">
      </div>
  </div>
  <div class="layui-form-item">
      <label class="layui-form-label">会议时间</label>
      <div class="layui-input-block">
        <input type="text" readonly="readonly" lay-verify="required" id="dt" name="dt" autocomplete="off" placeholder="请选择会议时间" class="layui-input">
      </div>
  </div>
  <div class="layui-form-item layui-form-text">
      <label class="layui-form-label">备注</label>
      <div class="layui-input-block">
        <textarea name="remark" placeholder="请输入备注" class="layui-textarea"></textarea>
      </div>
  </div>
</form>
</body>
</html>

使用的数据库:

 

我们要实现多功能下拉框的形式选择可以参考原文档:https://hnzzmsf.github.io/example/example_v4.html#download

1.下载相关的js文件以及css文件

 

我们下载的js/css都在这里面。

将这4个文件下载下来

引入了外部资源后我们便可以根据官网的介绍,来进行我们addMeeting.js的编码工作

将它写的数据改变,使用Ajax传递我们想要传递的数据就行了!

 

1.3使用的知识技术:formSelect插件(用于下拉显示得到的参与用户数据将点击下拉的数据显示到文本框中),ajax,session保存

1.4实现功能:

addMeeting.js

let $,formSelects;
layui.use(['jquery','formSelects'],function(){
  $=layui.jquery,formSelects=layui.formSelects;
  //添加多功能下拉框选项
  formSelects.btns('canyuze', ['select', 'remove', 'reverse']);
  formSelects.btns('liexize', ['select', 'remove', 'reverse']);
  //local模式
  formSelects.data('canyuze', 'local', {
      arr: [
          {"name": "广州", "value": 3},
          {"name": "深圳", "value": 4},
          {"name": "天津", "value": 5}
      ]
  });
})

UserDao中写一个查询所有用户的方法:

//查询所有用户用于绑定多功能下拉框
  public List<Map<String, Object>> queryUserAll(User user,PageBean pageBean) throws InstantiationException, IllegalAccessException, SQLException{
    String sql="select id as value,name from t_oa_user";
    return super.executeQuery(sql, pageBean);
  }

UserAction新增一个查询用户

/**
     * 添加会议的用户信息
     * @param req
     * @param resp
     * @return
     */
    public String queryUserAll(HttpServletRequest req, HttpServletResponse resp) {
      try {
        List<Map<String, Object>> users = userdao.queryUserAll(user,null);
        ResponseUtil.writeJson(resp, R.ok(200, "获取用户多选框数据成功!!!", users));
      } catch (Exception e) {
        e.printStackTrace();
        try {
          ResponseUtil.writeJson(resp, R.error(0, "获取用户多选框数据失败"));
        } catch (Exception e1) {
          e1.printStackTrace();
        }
      }
      return null;
    }

这里我们将查询到的方法更新到js中

let $,formSelects;
layui.use(['jquery','formSelects'],function(){
  $=layui.jquery,formSelects=layui.formSelects;
  //添加多功能下拉框选项
  formSelects.btns('canyuze', ['select', 'remove', 'reverse']);
  formSelects.btns('liexize', ['select', 'remove', 'reverse']);
  $.getJSON("user.action",{methodName:"queryUserAll"},function(rs){
    //local模式
    formSelects.data('canyuze', 'local', {
      arr: rs.data
    });
    formSelects.data('liexize', 'local', {
      arr: rs.data
    });
  })
})

我们查看LayUi的官网,进行copy对应的资源

 

MeetingInfoAction

public String add(HttpServletRequest req, HttpServletResponse resp) {
    try {
      int rs = meetingInfoDao.add(info);
      if (rs > 0) {
        ResponseUtil.writeJson(resp, R.ok(200, "会议信息增加成功"));
      } else {
        ResponseUtil.writeJson(resp, R.error(0, "会议信息增加失败"));
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    return "toList";
  }

MeetingInfoDao

/**
   * 会议新增
   * 
   * @param meetingInfo
   * @return
   * @throws Exception
   */
  public int add(MeetingInfo meetingInfo) throws Exception {
    String sql = "insert into t_oa_meeting_info(title,content,canyuze,liexize,zhuchiren,\r\n"
        + "location,startTime,endTime,remark) values(?,?,?,?,?,?,?,?,?)";
    return super.executeUpdate(sql, meetingInfo, new String[] { "title", "content", "canyuze", "liexize", "zhuchiren",
        "location", "startTime", "endTime", "remark" });
  }

我们实体中的时间是data类型,这里在Action中注册一个转接器(用于时间date类型转页面显示) 我们可以用到一个工具类(将转换的代码全部封装起来,那么以后在其他的地方就方便调用)

@Override
  public MeetingInfo getModel() {
    // 注册一个转接器(用于时间date类型转页面显示)
//    ConvertUtils.register(new MysqlxDatatypes, Date.class);
    return info;
  }
package com.zking.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.beanutils.Converter;
public class MyDateConverter implements Converter {
  @Override
  public Object convert(Class type, Object value) {
    String dateStr = (String)value;
    SimpleDateFormat spdt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    try {
      Date date = spdt.parse(dateStr);
      return date;
    } catch (Exception e) {
      e.printStackTrace();
    }
    return null;
  }
}

1.5演示效果:

 

今天会议管理就分享到这里了!

 

目录
相关文章
|
5月前
|
SQL 存储 JavaScript
Layui之OA会议增删改查
Layui之OA会议增删改查
59 0
|
10月前
|
开发框架 JavaScript 前端开发
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
62 0
|
10月前
会议OA项目-其它页面->自定义组件应用,其它界面的布局
会议OA项目-其它页面->自定义组件应用,其它界面的布局
40 0
|
10月前
|
容器
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
77 0
|
10月前
|
JSON 小程序 前端开发
小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)
小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)
|
10月前
|
JSON 小程序 前端开发
小程序之实例会议OA的首页 (3)
小程序之实例会议OA的首页 (3)
|
15天前
|
数据安全/隐私保护
点晴OA办公系统让企业变得高效协同
随着企业信息化进程的加快,很多企业开始寻求使用企业管理免费OA办公系统来提高工作效率。然而,有些些企业可能缺乏信息化经验,对技术一无所知,甚至从未接触过OA办公系统。在这种情况下,企业需要寻求功能比较全面的OA办公系统,以满足企业的实际需求。
27 1
|
5天前
|
敏捷开发 数据可视化 数据挖掘
哪些OA任务管理系统值得推荐?4款高效办公工具介绍
在现代企业中,OA(办公自动化)任务管理系统是提升工作效率和团队协作的关键工具。本文介绍了4款备受推崇的OA任务管理系统:板栗看板、Trello、Asana和Monday.com,分别从提高工作效率、增强团队协作、优化资源分配和提升工作质量等方面进行了详细说明,为用户提供全面的参考和选择指南。
|
10天前
|
存储 安全 数据安全/隐私保护
如何明智选择免费OA系统的关键因素
在数字化办公日益普及的今天,选择一款合适的免费OA系统对于企业提升工作效率和管理水平至关重要。不管是办公的便捷方便,还是与其他平台的融合,免费OA系统的选择,需要看这几点,易用性、开放性、稳定性、服务性、实用性、安全性。
10 0
|
1月前
|
搜索推荐 BI 数据处理
点晴OA系统让考勤管理不再头疼
在当今数字化管理趋势下,点晴OA办公系统中的考勤管理作为企业内部管理的重要组成部分,其自动化和智能化水平的提高在提高企业运营效率和员工满意度方面发挥着重要作用。
47 4