旅游管理开发(三)模态框修改,添加操做

1.project_edit.jshtml

$(document).ready(function () {
//绑定点击事件
$("#modal-dialog").on("click",".ok",saveOrUpdate);

//当弹框被隐藏时执行的函数
$("#modal-dialog").on("hidden.bs.modal",function () {
//当弹框被隐藏时执行的函数
$("#modal-dialog").off("click",".ok");
$("#modal-dialog").removeData("id");
});

var id = $("#modal-dialog").data("id");
if(id){//若是有值说明单机的是修改按钮
findProjectById(id);
}


})

//修改弹框获取值
function findProjectById(id) {
var url = "project/findProjectById";
var params = {"id":id};
$.getJSON(url,params,function (result) {
if(result.state == 1){//查询成功
//给弹框赋值
initFormDate(result.data);
}else{
alert(result.message);
}
});
}

//初始话弹窗的数据
function initFormDate(project){
$("#nameId").val(project.name);
$("#codeId").val(project.code);
$("#beginDateId").val(project.beginDate);
$("#endDateId").val(project.endDate);
$("input[type='radio']").each(function () {
//设置选中状态
if(project.status == $(this).val()){//判断状态值
$(this).prop("checked",true);
}
});


$("#endDateId").val(project.endDate);
}

//添加或者修改项目数据
function saveOrUpdate() {
//验证表单数据是否为空
if(!$("#editFormId").valid()){//表单为空返回false
return;
}

//获取表单数据
var params = {
name:$("#nameId").val(),
code:$("#codeId").val(),
beginDate:$("#beginDateId").val(),
endDate:$("#endDateId").val(),
remarks:$("#remarks").val(),
status:$("input[type='radio']:checked").val()
};
// console.log(params);
//异步提交数据
var saveUrl = "project/saveProject";
var updateUrl = "project/updateProject";

//从模态框取出id判断当前操做是新增仍是修改
var id = $("#modal-dialog").data("id");
var url = (id?updateUrl:saveUrl);

if(id){
params.id = id;
}else{
alert("模态框当前id不存在")
}

$.post(url,params,function (result) {
if(result.state == 1){
alert(result.message);
$("#modal-dialog").modal("hide");
findAllObject();
} else{
alert(result.message);
}
});


}

  2.project_listjava

// $(document).read(function () {
//     //调用
//     findAllObject();
// })

$(function () {
    findAllObject();

    //单击事件
    //获取表单对象
    $("#queryFormId").on("click",".btn-search",doQueryObject);
    $("#queryFormId").on("click",".btn-invalid,.btn-valid",updateStatusById);

    //绑定添加按钮
    $("#queryFormId").on("click",".btn-add",loadEditPage);

    //在修改按钮上绑定一个事件
    $("#queryFormId").on("click",".btn-info",loadEditPage);

})

//add编辑页面
function loadEditPage() {
    //显示编辑页面
    var url = "project/editUI";
    var title;

    if($(this).hasClass("btn-add")){
        title = "添加项目信息";
    }else if($(this).hasClass("btn-info")){
        title = "修改项目信息";
        //修改按钮父亲是td,td父亲是tr
        var ValueId = $(this).parent().parent().data("id");
        $("#modal-dialog").data("id",ValueId);
    }

    //在弹框中异步加载显示编辑页面
    $("#modal-dialog .modal-body").load(url,function () {
        //页面加载完成后显示弹框
        //方法传入show表示显示,传入hide表示隐藏
        $(".modal-title").html(title);
        $("#modal-dialog").modal("show");
    });
}

//禁用启用项目信息
function updateStatusById(){

    //获取当前点击按钮是启用仍是禁用
    // var clazz = $(this).attr("class");
    // if(clazz == "btn btn-primary btn-invalid"){}
    var status;
    if($(this).hasClass("btn-invalid")){
        status = 0;
    }
    if($(this).hasClass("btn-valid")){
        status = 1;
    }
    //获取选中的复选框id的值
    var ids = "";
    $("#tbodyId input[name='checkId']").each(function () {
        //获取全部的复选框进行遍历
        //判断哪一个被选中
        if($(this).prop("checked")){//若是结果为true,表明当前遍历到的复选框被选中
            if(ids == ""){
                ids += $(this).val();
            }else{
                ids += ","+$(this).val();
            }
        }
    })

    if(ids==""){
        alert("😙亲,请至少选用一条记录!");
        return;
    }

    var url = "project/updateStatusById";
    var params={"status":status,"ids":ids};
    //发送异步请求,更新数据
    $.post(url,params,function (result) {
        if(result.state == 1){
            alert(result.message);
            findAllObject();
        }else{
            alert(result.message);
        }
    });
}

function doQueryObject(){//按条件查询
    //先初始化页码
    $("pageId").data("pageCurrent",1);
    findAllObject();
}

function findAllObject() {
    // var url = "project/findAllProject";
    var url = "project/findPageObject";
    var pageCurrent = $("#pageId").data("pageCurrent");
    if(!pageCurrent){
        pageCurrent = 1;
    }
    var params = {"pageCurrent":pageCurrent};
    params.name = $("#searchNameId").val();
    params.status = $("#searchValidId").val();
    $.getJSON(url,params,function (result) {

        setTableBodyRows(result.data.list);//查询数据

        setPagination(result.data.pageObject);//分页

    });
}

function setTableBodyRows(result){
    //1.先获取tbody对象
    var tbody = $("#tbodyId");
    tbody.empty();//清空数据为了防止还保留着之前的数据
    //2. 循环数据result
    for(var i in result){
        //3.建立一个tr对象,用来显示每行数据
        var tr = $("<tr></tr>");
        //给tr绑定id值
        tr.data("id",result[i].id);
        //var td = $("<td></td>")
        //td.append(result[i].id)
        //4.建立每行的td对象(一行有多个数据)
        //5.在td对象内部填充查询出来的具体数据
        var td = "<td><input type='checkbox' name='checkId' value="+result[i].id+" /></td>"
            +"<td>"+result[i].code+"</td>"
            +"<td>"+result[i].name+"</td>"
            +"<td>"+result[i].beginDate+"</td>"
            +"<td>"+result[i].endDate+"</td>"
            //				+"<td>"+new Date(result[i].beginDate).toLocaleDateString()+"</td>"
            //				+"<td>"+new Date(result[i].endDate).toLocaleDateString()+"</td>"
            +"<td>"+(result[i].status==1?'有效':'无效')+"</td>"
            +"<td><input type='button' class='btn btn-info btn-warning' value='修改' /></td>";

        //6.将建立出来的td对象添加到tr对象当中去
        tr.append(td);
        //7.将建立出来的tr对象添加到tbody中
        tbody.append(tr);
    }
}

  3.projectMapper.xmlweb

<?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.tanzhou.tzms.product.dao.ProjectDao">
    <!-- 抽取重复代码 -->
    <sql id="whereQuery">
        <where><!-- 将条件前多余的and或者or去掉 -->
            <if test = "name!=null and name != ''">
                name like concat("%",#{name},"%")
            </if>
            <if test = "status!=null">
                and status = #{status}
            </if>
        </where>
    </sql>

    <!-- public List<Project> findAllProject(); -->
    <select id="findAllProject" resultType="com.tanzhou.tzms.product.domain.Project">
		SELECT id,code,name,beginDate,endDate,status,remarks,createdTime,
		modifiedTime,createdUser,modifiedUser FROM tz_projects
	</select>

<!--    public List<Project> findPageObject(-->
<!--    @Param("startIndex") int startIndex,-->
<!--    @Param("pageSize") int pageSize,-->
<!--    @Param("name") String name,-->
<!--    @Param("status") Integer status);-->
    <select id="findPageObject" resultType="com.tanzhou.tzms.product.domain.Project">
        SELECT id,code,name,beginDate,endDate,status,remarks,createdTime,modifiedTime,createdUser,modifiedUser FROM tz_projects
        <include refid="whereQuery"></include><!-- 重复代码块复用 -->
        ORDER BY beginDate DESC LIMIT #{startIndex},#{pageSize}
    </select>


    <!-- public int getRowCount();  -->
    <update id="updateProject">
        update tz_projects
        <set>
            <if test="code != null and code != ''">
                code = #{code}
            </if>
            <if test="name != null and name != ''">
                ,name = #{name}
            </if>
            <if test="beginDate != null and beginDate != ''">
                ,beginDate = #{beginDate}
            </if>
            <if test="endDate != null and endDate != ''">
                ,endDate = #{endDate}
            </if>
            <if test="status != null and status != ''">
                ,status = #{status}
            </if>
            <if test="remarks != null and remarks != ''">
                ,remarks = #{remarks}
            </if>
            , modifiedTime = now()
        </set>

        where id = #{id}
    </update>
    <!--
    public Integer updateStatusById(Integer status,String[] Ids); -->
    <select id="getRowCount" resultType="int">
        SELECT COUNT(*) FROM tz_projects
        <include refid="whereQuery"></include><!-- 重复代码块复用 -->
    </select>
<!--    public Project findProjectById(Integer id);-->
    <select id="findProjectById" resultType="com.tanzhou.tzms.product.domain.Project">
        select * from tz_projects where id = #{id}
    </select>

    <!--    public Integer updateProject(Project project);-->
    <update id = "updateStatusById">
        update tz_projects set status=#{status} where id in
        <foreach collection="ids" item="id" open="(" close=")" separator=",">
            #{id}
        </foreach>
    </update>

    <!--
    public Integer insertProject(Project project); -->
    <insert id="insertProject">
		insert into tz_projects(code,name,beginDate,endDate,remarks,createdTime,createdUser,modifiedTime,modifiedUser)
		values(#{code},#{name},#{beginDate},#{endDate},#{remarks},now(),#{createdUser},now(),#{modifiedUser})
	</insert>

</mapper>

  4.projectServiceImpl.javaspring

package com.tanzhou.tzms.product.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.tanzhou.tzms.common.exception.ServiceException;
import com.tanzhou.tzms.common.web.PageObject;
import com.tanzhou.tzms.product.dao.ProjectDao;
import com.tanzhou.tzms.product.domain.Project;
import com.tanzhou.tzms.product.service.ProjectService;
@Service("projectService")
public class ProjectServiceImpl implements ProjectService{

    @Autowired
    private ProjectDao projectDao;

    public List<Project> findAllProject() {
        return projectDao.findAllProject();
    }

    /**
     * 分页须要返回两个数据,一个是查询出来的当前数据,一个是分页的数据
     */
    public Map<String,Object> findPageObject(int currentPage,String name,Integer status) {

        //页面显示条数
        int pageSize = 5;
        Integer startIndex = (currentPage - 1) * pageSize;
        System.out.println("pageSize---"+pageSize+"  startIndex---"+startIndex);

        //获取当前页面数据
        List<Project> findPageObject = projectDao.findPageObject(startIndex, pageSize,name,status);
        System.out.println("findPageObjectIMPL当前页数据条数------>"+findPageObject.size());

        //获取总条数
        int rowCount = projectDao.getRowCount(name,status);
        System.out.println("获取总条数"+rowCount);

        //计算总页数
//		int pageCount;
//		if(rowCount%2 == 0) {
//			pageCount = rowCount/2;
//		}else {
//			pageCount = rowCount/2;
//			pageCount += 1;
//		}

        //封装分页信息
        PageObject page = new PageObject();
        page.setRowCount(rowCount);//总条数
        page.setPageSize(pageSize);//每一页显示的数据
        page.setPageCurrent(currentPage);//选择的页数(用户传递)
        page.setStartIndex(startIndex);//查询数据开始

        //把当前数据以及分页信息封装到map进行返回
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("list",findPageObject);
        map.put("pageObject",page);
        return map;
    }

    @Override
    public Integer updateStatusById(Integer status, String ids) {
        //ids:1,2,3-->数组
        if(ids.length() == 0 && ids.equals("")) {
            throw new ServiceException("ids的值不能为空");
        }

        String[] idArray = ids.split(",");

        if(status != 0 && status != 1) {
            throw new ServiceException("状态值不合法");
        }

        return projectDao.updateStatusById(status,idArray);
    }

    @Override
    public void saveProject(Project project) {
        if(project == null)
            throw new ServiceException("保存对象不能为空");
        Integer rows = projectDao.insertProject(project);
        System.out.println("新增行数==="+rows);
        if(rows <= 0) {
            throw new ServiceException("新增失败 ");
        }
    }

    @Override
    public void updateProject(Project project) {
        if(project == null){
            throw new ServiceException("修改对象不能为空");
        }
        Integer rows = projectDao.updateProject(project);
        if(rows <= 0){
            throw new ServiceException("修改失败");
        }
    }

    @Override
    public Project findProjectById(Integer id) {
        if(id ==null){
            throw new ServiceException("修改对象不能为空");
        }
        Project project = projectDao.findProjectById(id);
        if(project == null){
            throw new ServiceException("对象不存在");
        }
        return project;
    }


}

  5.projectController.javasql

package com.tanzhou.tzms.product.controller;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.tanzhou.tzms.common.web.JsonResult;
import com.tanzhou.tzms.product.domain.Project;
import com.tanzhou.tzms.product.service.ProjectService;

@Controller
@RequestMapping("/project")
public class ProjectController {
	
	@Autowired
	private ProjectService projectService;
	
	/**
	 * 返回项目管理页面
	 * @return
	 */
	@RequestMapping("/listUI")
	public String listUI(){
		return "product/project_list";//项目列表页面
	}
	
	/**
	 * 项目管理下的首页展现数据
	 */
	@RequestMapping("/findAllProject")
	@ResponseBody
	public List<Project> findAllProject(){
		System.out.println("全部数据");
		List<Project> list = projectService.findAllProject();
		return list;//转成json[{"id":1,"name":"日本游"...},{}]
	}
	
//	@RequestMapping("/findPageObject")
//	@ResponseBody
//	/**
//	 * {
//	 * 	"list":[{id:1,name:"长沙游"}]
//	 * 	"page":[pageCount:1,pageCount:2]
//	 * }
//	 * @return
//	 */
//	public Map<String,Object> findPageObject(Integer pageCurrent,String name,Integer status){
//		Map<String, Object> map = projectService.findPageObject(pageCurrent,name,status);
//		return map;
//	}
	

	/**
	 * {
	 * 	
	 * }
	 * @return
	 */
	/*
	 {
	 	status:1
	 	message:"ok"
	 	data:{
	 		"list":[{id:1,name:"长沙游"}]
	 		"page":[pageCount:1,pageCount:2]
	 	}
	 }
	  */
	@RequestMapping("/findPageObject")
	@ResponseBody
	public JsonResult findPageObject(Integer pageCurrent, String name, Integer status){
		System.out.println(pageCurrent+"===="+name+"========"+status);
		Map<String, Object> map = projectService.findPageObject(pageCurrent,name,status);
		return new JsonResult(map);
//		return map;
	}
	
//	/**
//	 * 状态更新
//	 */
//	@RequestMapping("/updateStatusById")
//	@ResponseBody
//	public void updateStatusById(Integer status, String ids) {
//		projectService.updateStatusById(status, ids);
//	}
	//重构
	/**
	 * 状态更新
	 */
	/**
	 * 
	 * 正确:
	 * {
	 * 		status:1
	 * 		message:"启用成功或者禁用成功失败"
	 * 		data:
	 * }
	 * 出现异常:
	 * {
	 * 		status:0
	 * 		message:"状态值不合法"
	 * 		data:
	 * }
	 * @param status
	 * @param ids
	 * @return
	 */
	@RequestMapping("/updateStatusById")
	@ResponseBody
	public JsonResult updateStatusById(Integer status, String ids) {
		projectService.updateStatusById(status, ids);
		return new JsonResult(status==1?"启用成功":"禁用成功");
	}
	
	/**
	 * 新增
	 * @param project
	 * @return
	 */
	@RequestMapping("/saveProject")
	@ResponseBody
	public JsonResult saveProject(Project project){
		projectService.saveProject(project);
		//springmvc底层获取到的参数数据,会对数据进行解析
		//调用参数project对象的set的方法将数据封装到project对象中去
		return new JsonResult("新增成功");
	}
	
	/**
	 * 用于显示编辑页面
	 */
	@RequestMapping("/editUI")
	public String editUI() {
		return "product/project_edit";
	}

	/**
	 * 修改项目信息
	 */
	@RequestMapping("/updateProjet")
	@ResponseBody
	public JsonResult updateProjet(Project project){
		projectService.updateProject(project);
		return new JsonResult("修改为功");
	}

	/**
	 * 根据id拿到数据
	 * @param id
	 * @return
	 */
	@RequestMapping("findProjectById")
	@ResponseBody
	public JsonResult findProjectById(Integer id){
		return new JsonResult(projectService.findProjectById(id));
	}
}

  

相关文章
相关标签/搜索