EasyUI+JavaWeb奖助学金管理系统[14]-机构新增、编辑、删除的实现

简介: 本文目录1. 本章任务2. 新增功能的实现2.1 添加新增弹窗2.2 页面初始化时加载上级机构列表2.3 后端提供获取机构列表方法2.4 点击保存后将内容提交2.5 后端处理新增保存请求2.6 测试3. 编辑功能的实现4. 删除功能的实现5. 总结

1. 本章任务

之前已实现了机构的分页浏览,本章来实现下机构的新增、编辑、删除功能。


2. 新增功能的实现

机构新增与之前的项目新增比较类似,但是需要注意的是,机构新增时需要选择新增机构的上级机构。所以在页面初始化时应加载结构列表信息到新增弹窗中。


2.1 添加新增弹窗

代码如下,需要注意的是我们将表单输入框的id设置为add-xxx格式便于区分这是属于新增弹窗的输入框。


xxx部分可以设置为跟后端Depart类属性名字相同,便于对应。

  <!-- 新增弹窗 -->
  <div id="dialog-add" class="easyui-dialog" title="新增" data-options="iconCls:'icon-ok',closed:'true'"
    style="width: 600px; height: 400px; padding: 10px">
    <table>
      <tr>
        <td>类型:</td>
        <td><select id="add-type" class="easyui-combobox" style="width: 200px;">
            <option value="school">学校</option>
            <option value="college">学院</option>
            <option value="class">班级</option>
          </select></td>
      </tr>
      <tr>
        <td>名称:</td>
        <td><input id="add-name" class="easyui-textbox" style="width: 200px"></td>
      </tr>
      <tr>
        <td>上级机构:</td>
        <td><select id="add-parentId" class="easyui-combobox" style="width: 200px;">
            <option value="-1">请选择</option>
          </select></td>
      </tr>
      <tr>
        <td></td>
        <td><a id="btn" onclick="btnAddSubmit()" href="#" class="easyui-linkbutton">保存</a></td>
      </tr>
    </table>
  </div>
2.2 页面初始化时加载上级机构列表
下面的代码实现了在页面初始化时,为新增弹窗的下拉框动态添加选项的功能。
  // 初始化
  $(function () {
    loadDeparts();
  });
  // 加载上级机构
  function loadDeparts() {
    $.ajax({
      url: "CoreServlet?method=getDepartList",
      type: "post",
      dataType: "json",
      data: null,
      success: function (res) {
        console.log(res);
        if (res.code == 0) {
          // 为指定下拉框增加选项
          addItemsForSelect("#add-parentId", res.data);
        } else {//提示错误信息
          alert(res.msg);
        }
      },
    });
  }
  // 为下拉框增加选项
  function addItemsForSelect(id, data) {
    // 清空选项
    $(id).combobox("clear");
    // 动态添加的选项
    var items = [{
      "value": "-1",
      "text": "请选择"
    }];
    $.each(data, function (i, v) {//遍历返回值
      items.push({
        "value": v.id,
        "text": v.name
      });
    });
    // 加载数据
    $(id).combobox("loadData", items);
    // 设置默认选中值
    $(id).combobox("setValue", "-1");
  }
注意$(id).combobox("clear");可以清空下拉框中的选项。$(id).combobox("loadData", items);可以加载items数组中的数据,数组中的value和text分别对应<option>标签的值和显示文本。最后,$(id).combobox("setValue", "-1");可以设置默认选中项的值,所以新增弹窗中,“请选择”会被默认选中。
我们既然使用了EasyUI,相关操作还是需要用框架提供的方法。
2.3 后端提供获取机构列表方法
修改CoreServlet
    // 获取机构列表
    else if (method.equals("getDepartList")) {
      DepartDao departDao = new DepartDao();
      result.setCode(0);
      result.setData(departDao.getAll());
    }
2.4 点击保存后将内容提交
在页面中增加方法:
  // 新增点击
  function btnAddClick() {
    $('#dialog-add').dialog('open');
  }
  // 新增保存
  function btnAddSubmit() {
    var param = {
      type: $("#add-type").val(),
      name: $("#add-name").val(),
      parentId: $("#add-select-depart").val(),
    }
    $.ajax({
      url: "CoreServlet?method=addDepart",
      type: "post",
      dataType: "json",
      data: param,
      success: function (res) {
        console.log(res);
        if (res.code == 0) {//成功则刷新表格
          $('#mainTable').datagrid('reload');
          $('#dialog-add').dialog('close');
        } else {//提示错误信息
          alert(res.msg);
        }
      },
    });
  }
2.5 后端处理新增保存请求
修改CoreServlet
    // 新增机构保存
    else if (method.equals("addDepart")) {
      DepartDao departDao = new DepartDao();
      Depart depart = new Depart();
      depart.setType(request.getParameter("type"));
      depart.setName(request.getParameter("name"));
      depart.setParentId(request.getParameter("parentId"));
      departDao.insert(depart);
      result.setCode(0);
      result.setMsg("操作成功");
    }

2.6 测试

我们在汉东大学下面新增一个学院,点击保存后效果如下:

image.png

3. 编辑功能的实现

编辑与新增差别不大,只是在打开编辑弹窗时,将编辑行的内容默认加载到弹窗中,此处不再讲解具体代码,需要的同学可以去我的Github查看。


4. 删除功能的实现

点击删除后,将选中行的id传递到CoreServlet,执行删除后,前端重新加载数据表格即可。也比较简单没啥好讲的。


5. 总结

从本章节开始,基础的操作已完成,后续我们重点讲解每个功能中比较不同的部分,相似部分大家可以直接查看我提交的源码。

相关文章
|
6月前
基于EasyUI的后台管理系统页面原型_示例图_下载地址
基于EasyUI的后台管理系统页面原型_示例图_下载地址
44 0
Easyui datagrid 编辑结束时combobox显示value而不显示text
Easyui datagrid 编辑结束时combobox显示value而不显示text
EasyUI DataGrid 可编辑列级联操作
EasyUI DataGrid 可编辑列级联操作
easyUI datagarid 编辑状态下的combobox动态赋值
easyUI datagarid 编辑状态下的combobox动态赋值
|
前端开发 容器
04EasyUI 应用- 创建展开行明细编辑表单的 CRUD 应用
04EasyUI 应用- 创建展开行明细编辑表单的 CRUD 应用
56 0
|
数据可视化 安全 Java
【项目源码】基于spring boot+mybatis+easyui开发的质量溯源系统
粮油溯源系统是从种植到加工、包装、库存、物流、销售、售出、异常反馈的全流程可视化质量溯源系统。技术架构:spring boot+mybatis+easyui+mysql
164 0
【项目源码】基于spring boot+mybatis+easyui开发的质量溯源系统
|
存储 关系型数据库 MySQL
Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
419 0
|
Java 关系型数据库 MySQL
Eclipse+Java+SSM+Easyui实现网上考试系统
Eclipse+Java+SSM+Easyui实现网上考试系统
165 0
Eclipse+Java+SSM+Easyui实现网上考试系统
|
安全 数据安全/隐私保护
EasyUI+JavaWeb奖助学金管理系统[20]-项目总结与展望
本文目录 1. 总结 1.1 管理员新增奖助学金项目 1.2 学生发起申请 1.3 班主任审批 1.4 学院管理员审批 1.5 学校管理员审批 1.6 学生查看申请结果 2. 展望
185 0
EasyUI+JavaWeb奖助学金管理系统[20]-项目总结与展望