会议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演示效果:

 

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

 

目录
相关文章
|
2月前
|
SQL 存储 JavaScript
Layui之OA会议增删改查
Layui之OA会议增删改查
46 0
|
7月前
|
开发框架 JavaScript 前端开发
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
42 0
|
7月前
会议OA项目-其它页面->自定义组件应用,其它界面的布局
会议OA项目-其它页面->自定义组件应用,其它界面的布局
31 0
|
7月前
|
容器
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
47 0
|
7月前
|
JSON 小程序 前端开发
小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)
小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)
|
7月前
|
JSON 小程序 前端开发
小程序之实例会议OA的首页 (3)
小程序之实例会议OA的首页 (3)
|
2月前
|
安全 网络安全 数据安全/隐私保护
OA办公系统选购注意的事项
随着数字化时代的到来,越来越多的企业开始选择使用OA办公系统来提高工作效率和管理效果。然而,在选购OA办公系统时,需要注意以下几点的事项,希望能对企业选购OA办公系统有所帮助。
65 4
|
2月前
|
UED
点晴OA办公系统如何实现业务表单的自定义设计
在点晴OA办公系统中,业务表单的自定义设计是一项重要的功能,它能够满足企业不同的业务需求,提高工作效率和协作能力。 随着企业的发展,不同的业务部门需要处理各种类型的表单,如人事表单、财务表单、项目表单等。如果这些表单无法根据实际需求进行自定义设计,就会导致工作效率低下、信息不准确、协作困难等问题。因此,实现业务表单的自定义设计是提高企业办公效率和协作能力的重要手段。
43 0
|
2月前
|
BI
四款OA办公系统快速提高企业效率
拥有合适企业的OA系统不仅可以实现办公自动化而且还能提高企业效率,今天盘点以下几家的OA办公系统。
48 0
|
2月前
企业都是用谁家的OA办公系统?
好的免费OA办公系统都有哪几家,下面让我们来一起看看吧!
44 1