• 2020暑假项目-车辆派遣管理系统开发记录#3


    2020暑假项目-车辆派遣管理系统开发记录#3

    内容展示

    • 1、今日完成内容,
      - 用户信息列表完成,及信息更新维护;使用layui的表格编辑功能,可直接在表格中修改信息
      - 车辆信息列表完成,及信息更新维护;使用layui的表格编辑功能,可直接在表格中修改信息
    • 2、核心源码
      userList.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%
        String path = request.getContextPath();
        String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <%@ taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>
    <jsp:include page="common/menu.jsp" />
    
    <html>
    <head>
        <title>用户信息管理</title>
    </head>
    
    <script src="<%=basePath%>js/tools.js"></script>
    <body>
    <div class="layui-tab">
        <ul class="layui-tab-title">
            <li class="layui-this">用户管理</li>
        </ul>
        <div class="layui-tab-content">
            <table class="layui-hide" id="backUser" lay-filter="backUser"></table>
        </div>
    </div>
    
    <script type="text/html" id="toolbar">
        <div class="layui-btn-container">
            <button class="layui-btn layui-btn-sm" lay-event="addUser">新增数据</button>
        </div>
    </script>
    
    <script type="text/html" id="bduCreateDate">
        {{ dateFormat(d.createTime) }}
    </script>
    <script type="text/html" id="status">
        <input type="checkbox" name="status" id="{{d.id}}" value="{{d.status}}" lay-skin="switch" lay-text="启用|停用" lay-filter="bduStatusFilter" {{ d.status == 1 ? 'checked' : '' }}>
    </script>
    </body>
    </html>
    <jsp:include page="common/js.jsp" />
    <script type="text/javascript">
    
        $('document').ready(function() {
            var layer = null;
            var laypage = null;
            var table = null;
            var form = null;
            layui.use([ "laypage", "layer", 'table' ], function() {
                layer = layui.layer;
                laypage = layui.laypage;
                table = layui.table;
                form = layui.form;
    
                table.render({
                    elem : '#backUser',
                    url : '<%=basePath%>user/usersList',
                    id : 'backUser',
                    height:650,
                    toolbar : '#toolbar',
                    cellMinWidth : 100,
                    cols : [ [
                        {
                            field : 'id',
                            title : '编号',
                            width : '5%',
                            unresize : true,
                            sort : true
                        }
                        , {
                            field : 'loginName',
                            title : '登录名',
                            width : '10%',
                            sort : true
                        }
                        , {
                            field : 'pwd',
                            title : '密码',
                            edit: 'text',
                            width : '10%',
                            unresize : true
                        }
                        , {
                            field : 'nickName',
                            title : '姓名',
                            width : '10%',
                            edit: 'text',
                            sort : true
                        }
                        , {
                            field : 'tel',
                            title : '电话',
                            width : '10%',
                            edit: 'text',
                            sort : true
                        }
                        , {
                            field : 'remark',
                            title : '备注',
                            edit: 'text',
                            width : '12%',
                            unresize : true
                        }
                        , {
                            field : 'createTime',
                            title : '创建日期',
                            width : '10%',
                            templet : '#bduCreateDate',
                            unresize : true
                        }
                        , {
                            fixed : 'right',
                            width : '10%',
                            align : 'center',
                            toolbar : '#status',
                            title : '状态'
                        }
                    ] ],
                    page : true
                });
    
                //监听单元格编辑 TODO
                table.on('edit(backUser)', function(obj){
                    var value = obj.value //得到修改后的值
                        ,data = obj.data //得到所在行所有键值
                        ,field = obj.field; //得到字段
                    layer.msg('[ID: '+ data.id +'] ' + field + ' 字段更改为:'+ value);
    
                    var postData ={};
                    postData["id"] = data.id;
                    postData[field] = obj.value;
    
                    $.ajax({
                        url:'<%=basePath %>user/updateUserByPk',
                        data:postData,
                        type:'POST',
                        success:function(data){
                            if(data.responseHead.code == '200'){
                                layer.alert('操作成功!', {icon: 1,title: "结果"});
                            }else{
                                layer.alert(data.responseHead.msg, {icon: 5,title: "结果"});
                            }
    
                            table.reload('backUser', {
                                url: '<%=basePath%>user/usersList'
                            });
                        }
                    });
                });
    
                //头工具栏事件
                table.on('toolbar(backUser)', function(obj) {
                    var checkStatus = table.checkStatus(obj.config.id);
                    var data = checkStatus.data;
                    switch(obj.event){
                        case 'addUser':
                            layer.msg('添加');
                            window.location.href="<%=basePath %>user/toAddUser";
                            break;
                    };
    
                });
    
                form.on('switch(bduStatusFilter)', function(obj) {
    
                    var ids =[];
                    ids[0] = this.id;
                    var type = this.value=="1"?0:1;
                    $.ajax({
                        url:'<%=basePath %>user/updateUserStatus',
                        data:{
                            "type":type,
                            "list":ids
                        },
                        type:'POST',
                        success:function(data){
                            if(data.responseHead.code == '200'){
                                layer.alert('操作成功!', {icon: 1,title: "结果"});
                            }else{
                                layer.alert(data.responseHead.msg, {icon: 5,title: "结果"});
                            }
    
                            table.reload('backUser', {
                                url: '<%=basePath%>user/usersList'
                            });
                        }
                    });
                });
    
            });
        });
    </script>
    

    UserController.java

        @RequestMapping(value = "/toUserList")
        public String toUserList(){return "userList";}
    
        @ResponseBody
        @RequestMapping(value = "/usersList",method = RequestMethod.GET)
        public Map<String,Object> userList(){
            List<UserInfo> userList = userInfoService.userList();
            int count = userInfoService.getUserCount();
            Map<String,Object> retMap = new HashMap<String,Object>();
            retMap.put("code",0);
            retMap.put("msg","");
            retMap.put("count",count);
            retMap.put("data",userList);
            return retMap;
        }
    
        @ResponseBody
        @RequestMapping(value="/updateUserStatus",method=RequestMethod.POST)
        public Map<String,Object> updateUserStatus(@RequestParam(value = "list[]")List<Integer> ids, Integer type){
            if(userInfoService.updateUserStatus(ids, type)>0){
                return ReturnMapUtil.getOKResult();
            }else{
                return ReturnMapUtil.getErrorResult(ErrorConstants.PARAMETER_ERROR);
            }
        }
    
        @ResponseBody
        @RequestMapping(value="/updateUserByPk",method=RequestMethod.POST)
        public Map<String,Object> updateUserByPk(UserInfo user){
            if(userInfoService.updateByPk(user)>0){
                return ReturnMapUtil.getOKResult();
            }else{
                return ReturnMapUtil.getErrorResult(ErrorConstants.PARAMETER_ERROR);
            }
        }
    
        @RequestMapping(value = "/toAddUser")
        public String toAddUser(){return "addUser";}
    
        @RequestMapping(value = "/addUser" , method = RequestMethod.POST)
        public String addUser(UserInfo user){
            userInfoService.insertSelective(user);
            return "redirect:toUserList";
        }
    

    userInfoMapper.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.vdm.dao.UserInfoMapper" >
      <resultMap id="BaseResultMap" type="com.vdm.model.UserInfo" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="login_name" property="loginName" jdbcType="VARCHAR" />
        <result column="pwd" property="pwd" jdbcType="VARCHAR" />
        <result column="nick_name" property="nickName" jdbcType="VARCHAR" />
        <result column="tel" property="tel" jdbcType="VARCHAR" />
        <result column="status" property="status" jdbcType="SMALLINT" />
        <result column="remark" property="remark" jdbcType="VARCHAR" />
        <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
      </resultMap>
      <sql id="Base_Column_List" >
        id, login_name, pwd, nick_name, tel, status, remark, create_time
      </sql>
    
      <select id="listUser" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from user_info
      </select>
    
      <select id="getUserCount" resultType="java.lang.Integer">
    		select count(*) from user_info
    	</select>
    
      <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
        select 
        <include refid="Base_Column_List" />
        from user_info
        where id = #{id,jdbcType=INTEGER}
      </select>
    
      <select id="selectByLoginName" resultMap="BaseResultMap" parameterType="java.lang.String" >
        select
        <include refid="Base_Column_List" />
        from user_info
        where login_name = #{loginName,jdbcType=VARCHAR}
      </select>
    
      <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
        delete from user_info
        where id = #{id,jdbcType=INTEGER}
      </delete>
      <insert id="insert" parameterType="com.vdm.model.UserInfo" >
        insert into user_info (id, login_name, pwd, 
          nick_name, tel, status, 
          remark, create_time)
        values (#{id,jdbcType=INTEGER}, #{loginName,jdbcType=VARCHAR}, #{pwd,jdbcType=VARCHAR}, 
          #{nickName,jdbcType=VARCHAR}, #{tel,jdbcType=VARCHAR}, #{status,jdbcType=SMALLINT}, 
          #{remark,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP})
      </insert>
      <insert id="insertSelective" parameterType="com.vdm.model.UserInfo" >
        insert into user_info
        <trim prefix="(" suffix=")" suffixOverrides="," >
          <if test="id != null" >
            id,
          </if>
          <if test="loginName != null" >
            login_name,
          </if>
          <if test="pwd != null" >
            pwd,
          </if>
          <if test="nickName != null" >
            nick_name,
          </if>
          <if test="tel != null" >
            tel,
          </if>
          <if test="status != null" >
            status,
          </if>
          <if test="remark != null" >
            remark,
          </if>
    
            create_time,
    
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
          <if test="id != null" >
            #{id,jdbcType=INTEGER},
          </if>
          <if test="loginName != null" >
            #{loginName,jdbcType=VARCHAR},
          </if>
          <if test="pwd != null" >
            #{pwd,jdbcType=VARCHAR},
          </if>
          <if test="nickName != null" >
            #{nickName,jdbcType=VARCHAR},
          </if>
          <if test="tel != null" >
            #{tel,jdbcType=VARCHAR},
          </if>
          <if test="status != null" >
            #{status,jdbcType=SMALLINT},
          </if>
          <if test="remark != null" >
            #{remark,jdbcType=VARCHAR},
          </if>
          <if test="createTime != null" >
            #{createTime,jdbcType=TIMESTAMP},
          </if>
          <if test="createTime == null" >
            now()
          </if>
        </trim>
      </insert>
      <update id="updateByPrimaryKeySelective" parameterType="com.vdm.model.UserInfo" >
        update user_info
        <set >
          <if test="loginName != null" >
            login_name = #{loginName,jdbcType=VARCHAR},
          </if>
          <if test="pwd != null" >
            pwd = #{pwd,jdbcType=VARCHAR},
          </if>
          <if test="nickName != null" >
            nick_name = #{nickName,jdbcType=VARCHAR},
          </if>
          <if test="tel != null" >
            tel = #{tel,jdbcType=VARCHAR},
          </if>
          <if test="status != null" >
            status = #{status,jdbcType=SMALLINT},
          </if>
          <if test="remark != null" >
            remark = #{remark,jdbcType=VARCHAR},
          </if>
          <if test="createTime != null" >
            create_time = #{createTime,jdbcType=TIMESTAMP},
          </if>
        </set>
        where id = #{id,jdbcType=INTEGER}
      </update>
    
      <update id="updateByPrimaryKey" parameterType="com.vdm.model.UserInfo" >
        update user_info
        set login_name = #{loginName,jdbcType=VARCHAR},
          pwd = #{pwd,jdbcType=VARCHAR},
          nick_name = #{nickName,jdbcType=VARCHAR},
          tel = #{tel,jdbcType=VARCHAR},
          status = #{status,jdbcType=SMALLINT},
          remark = #{remark,jdbcType=VARCHAR},
          create_time = #{createTime,jdbcType=TIMESTAMP}
        where id = #{id,jdbcType=INTEGER}
      </update>
    
      <update id="updateUserStatus">
        update user_info
        set
        status = #{type,jdbcType=INTEGER}
        where 1=1
        <if test="ids !=null and ids.size()>0">
          and id IN
          <foreach collection="ids" open="(" close=")" separator=","
                   index="index" item="item">
            #{item, jdbcType=INTEGER}
          </foreach>
        </if>
      </update>
    </mapper>
    
    • 3、遇到的问题

    • 4、解决问题

  • 相关阅读:
    Netty解决粘包和拆包问题的四种方案
    springboot 1.4 CXF配置
    聊聊springboot2的embeded container的配置改动
    MFC函数——CWnd::OnCreate
    《开发专家 Visual C 开发入行真功夫》笔记
    MFC中UpdateData()函数的使用
    Visual Studio 2008 添加MScomm控件的方法
    Visual Studio 2008 调试运行Bug记录
    《VS2010/MFC编程入门教程》——读书笔记
    《C++程序设计教程——给予Visual Studio 2008》读书笔记3章
  • 原文地址:https://www.cnblogs.com/mhwl-wll/p/13345925.html
Copyright © 2020-2023  润新知