一个项目:启用/禁用

来源:互联网 发布:南昌软件外包公司 编辑:程序博客网 时间:2024/05/21 20:16

启用/禁用

ProjectDao

/*** 禁用或启用项目信息 * */     int validById(             @Param("valid")Integer valid,             @Param("ids")String[] ids);

ProjectMapper.xml

<!-- 禁用或启用项目信息        valid 表示状态值        ids对应dao层方法中的数组参数    -->   <update id="validById">       update tms_projects       set valid=#{valid}       where id in        <!-- 通过动态sql拼接(1,2,3,4)这样格式的数据 -->       <foreach collection="ids"                 open="("                 close=")"                item="item"                separator=",">                #{item} <!-- ids中的一个元素 -->       </foreach>   </update>

ProjectService及其实现类

/**      * @param valid 状态      * @param ids 由多个id构成的字符串      */     void validById(Integer valid,String ids);//"1,2,3,4";//实现类@Override    public void validById(Integer valid, String ids) {        //1.对数据进行业务验证        if(valid!=0&&valid!=1)        throw new ServiceException("valid的值不合法:valid="+valid);        if(StringUtils.isEmpty(ids))        throw new ServiceException("ids 的值不能为空");        //2.对参数数据进行处理        String[] idArray=ids.split(",");        //3.执行业务更新操作        int rows=projectDao.validById(valid, idArray);        //4.验证结果的有效性        if(rows==0)        throw new ServiceException("修改失败");    }

ProjectController

/**禁用或启用项目信息*/      @RequestMapping("doValidById")      @ResponseBody      public void doValidById(Integer valid,              String ids){          projectService.validById(valid, ids);      }

页面Js代码

$(document).ready(function(){    //在查询按钮上注册点击事件     $("#queryFormId")     .on("click",".btn-search",doQueryObjects)     .on("click",".btn-valid,.btn-invalid",doValidById)     //页面加载完成执行数据的获取操作      doGetObjects();})/*禁用或启用项目信息*/function doValidById(){//valid,ids  //1.设置valid的值  var valid;  //1.1获得点击的button对象,根据点击对象的不同设置不同的valid  /*var clazz=$(this).attr("class");  if(clazz=="btn btn-primary btn-valid"){    valid=1;    }*/  if($(this).hasClass("btn-valid")){      valid=1;//启用  }  if($(this).hasClass("btn-invalid")){      valid=0;//禁用  }  //2.获得选中的checkbox的id值  var ids="";//1,2,3,4  $("#tbodyId input[name='checkId']")//迭代input对象  .each(function(){//each函数用于迭代一个数组      if($(this).prop("checked")){//判定此input对象是否是选中的          if(ids==""){              ids+=$(this).val();          }else{              ids+=","+$(this).val();          }      }  });  //console.log("valid="+valid);  //console.log("ids="+ids);  if(ids==""){      alert("请至少选择一个");      return;  }  //3.发起异步请求,更新数据  var url="project/doValidById.do";  var params={          "valid":valid,          "ids":ids  }  $.post(url,params,function(){      //重新执行查询操作      doGetObjects();  })}/*点击查询按钮时执行此方法*/function doQueryObjects(){    //1.初始化当前页码数据    $("#pageId").data("pageCurrent",1);    //2.根据条件查询数据    doGetObjects();}/*获取项目信息*/function doGetObjects(){    //var url="project/doGetObjects.do";    /*$.ajax({        url:url,        type:"get",        dataType:"json",        success:function(result){        }    });*/    var url="project/doGetPageObjects.do"    var pageCurrent=$("#pageId").data("pageCurrent");    if(!pageCurrent)pageCurrent=1;//默认取第一页的数据    var params={"pageCurrent":pageCurrent};    //获得表单数据,并将其添加到params对象    params.name=$("#searchNameId").val();    params.valid=$("#searchValidId").val();    console.log(params);//检测一下向服务端传递的数据    //发起异步请求获取服务端数据    $.getJSON(url,params,function(result){//callback method        //console.log(result);//json对象        //将数据显示在table的tbody位置        setTableBodyRows(result.list);//map中的key对应的值        //设置分页信息(函数定义在了page.js文件中)        setPagination(result.pageObject);    });}/*将数据填充在table对象的body中*/function setTableBodyRows(data){//扩展作业     //1.获得tbody对象     var tBody=$("#tbodyId");     tBody.empty();     //2.迭代数据集result     //for(var i=0;i<result.length;i++){}     for(var i in data){     //2.1构建一个tr对象     var tr=$("<tr></tr>");     //2.2构建每行td对象(一行有多个)     //var td0=$("<td></td>");     //....     //2.3在td对象内容填充具体数据     //td0.append(result[id].id);     //....     var tds="<td><input type='checkbox' name='checkId' value='"+data[i].id+"'></td>"+             "<td>"+data[i].code+"</td>"+             "<td>"+data[i].name+"</td>"+             "<td>"+data[i].beginDate+"</td>"+             "<td>"+data[i].endDate+"</td>"+             "<td>"+(data[i].valid?"有效":"无效")+"</td>"+             "<td><input type='button'  class='btn btn-default' value='修改'/></td>";     //2.4将td添加到tr对象中(一行要放多个)     tr.append(tds);     //2.5将tr追加到tbody中     tBody.append(tr);     }}