2020暑假專案-車輛派遣管理系統開發記錄#3
阿新 • • 發佈:2020-07-20
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、解決問題
- 無