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

 

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

 

目录
相关文章
|
8月前
|
SQL 存储 JavaScript
Layui之OA会议增删改查
Layui之OA会议增删改查
74 0
|
开发框架 JavaScript 前端开发
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
J2EE项目部署与发布(Windows版本)->会议OA单体项目Windows部署,spa前后端分离项目Windows部署
73 0
会议OA项目-其它页面->自定义组件应用,其它界面的布局
会议OA项目-其它页面->自定义组件应用,其它界面的布局
47 0
|
容器
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
会议OA项目-首页->flex弹性布局,轮播图后台数据获取及组件使用(后台数据交互mockjs),首页布局
89 0
|
JSON 小程序 前端开发
小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)
小程序之自定义组件 结合案例(会议OA的会议/投票管理及个人中心的搭建)详解 (4)
|
JSON 小程序 前端开发
小程序之实例会议OA的首页 (3)
小程序之实例会议OA的首页 (3)
|
7天前
|
存储 安全 BI
怎样利用点晴免费OA办公系统提升工作效率
随着信息技术的不断发展,OA办公系统的使用率越来越高,让企业更快捷、高效地处理各类事务。点晴免费OA办公系统是一款全面优秀的办公管理系统,其强大的功能和灵活性,为办公环境带来了巨大提升。
35 10
|
5天前
|
人工智能 自然语言处理 数据挖掘
企业数字化转型的关键:如何利用OA系统实现自动化与智能决策
在数字化时代,传统办公系统已无法满足现代企业的需求。通过将RPA(机器人流程自动化)和AI(人工智能)技术与OA系统结合,企业能实现业务流程自动化、智能决策支持,大幅提升工作效率和资源配置优化,推动数字化转型。RPA可自动处理重复任务,如审批、数据同步等;AI则提供智能数据分析、预测和决策支持,两者协同作用,助力财务管理、人力资源管理、项目管理和客户服务等多个领域实现智能化升级。未来,智能化OA系统将进一步提升个性化服务、数据安全和协作能力,成为企业发展的关键驱动力。
|
12天前
|
安全 BI
点晴免费OA系统对工作有哪些作用
点晴OA在企事业单位中所扮演的角色越来越重要,点晴免费OA的核心本质是帮助用户提高日常办公效率,所以我们日常工作的所有内容可以归入免费OA处理的范畴,我们的办公趋势是无纸化、移动化、社交化。
27 5
|
27天前
|
安全 数据安全/隐私保护
免费企业级OA办公系统,助力高效办公
拥有一套高效的免费OA办公自动化系统对于企业和机构来说至关重要。然而,对于许多中小型企业而言,购买一套全面的OA系统的成本又比较高。今天,我们为大家带来真正完全免费的点晴OA,让它成为您企业高效办公的得力助手!
61 10