1.type_edit.jscss
var zTree; var setting = {//用於插件數據顯示 data : { simpleData : { enable : true, idKey : "id", //節點數據中保存惟一標識的屬性名稱 pIdKey : "parentId", //節點數據中保存其父節點惟一標識的屬性名稱 rootPId : null //根節點id } } } $(document).ready(function(){ //給back按鈕綁定事件 $("#btn-return").click(function () { back(); }); //給上級分類文本框綁定事件 $("#editTypeForm").on("click","#parentNameId",loadZTreeNodes); //取消事件 $("#typeLayer").on("click",".btn-cancle",hideTree); //給樹的肯定綁定事件 $("#typeLayer").on("click",".btn-confirm",setType); //給保存按鈕添加事件 $("#editTypeForm").on("click",".btn-primary",saveOrUpdateProjectType); }); function saveOrUpdateProjectType() { //獲取表單數據 //判斷表單項設置是否爲必填,進行判斷,若是填了則爲true,不然爲false if(!$("#editTypeForm").valid()){//判斷是否爲空, return; } var params = getEditFormData();//獲取表單函數 console.log(params); //保存數據 var url = "productType/saveProductType"; $.post(url,params,function (result) { if(result.state == 1){ alert(result.message); back(); }else{ alert(result.message); } }); } //獲取表單函數 function getEditFormData() { var params = { name: $("#typeNameId").val(), parentId: $("#parentNameId").data("parentId"), sort: $("#typeSortId").val(), remarks: $("#typeNoteId").val() }; return params; } //設置上級分類信息 function setType() { //先獲取選中數據 var nodes = zTree.getSelectedNodes(); // console.log(nodes[0].id); if(nodes.length == 0) alert("親~,請任意選擇一個分類!") //將選中的數據信息填充到form的表單中 $("#parentNameId").val(nodes[0].name); //在新增數據時須要將上級分類的id傳到後臺中去 $("#parentNameId").data("parentId",nodes[0].id); //隱藏樹 hideTree(); }; //隱藏樹 function hideTree() { $("#typeLayer").css("display","none"); } //加載上級分類表單的樹 function loadZTreeNodes() { //顯示樹 $("#typeLayer").css("display","block"); var url = "productType/findZTreeNode"; $.getJSON(url,function (result) { if(result.state == 1){//正常返回數據jquery.zTree.js zTree = $.fn.zTree.init($("#typeTree"),setting,result.data); }else { alert(result.message); } }); } //返回到分類頁面 function back() { var url="productType/listUI?t="+Math.random(1000); $(".content").load(url); }
2.type_list.jshtml
var columns = [ { field : 'selectItem', radio : true }, { title : '分類id', field : 'id', visible : false, align : 'center', valign : 'middle', width : '80px' }, { title : '分類名稱', field : 'name', align : 'center', valign : 'middle', sortable : true, width : '180px' }, { title : '上級分類', field : 'parentName', align : 'center', valign : 'middle', sortable : true, width : '180px' }, { title : '排序號', field : 'sort',//與數據庫查詢的屬性一一對應 align : 'center', valign : 'middle', sortable : true, width : '100px' }]; $(document).ready(function () { //給刪除按鈕綁定刪除事件 $("#formHead").on("click",".btn-delete",deleteType); //加載編輯頁面 $("#formHead").on("click",".btn-add",loadEditPage); findAllProductType(); }); //加載編輯頁面 function loadEditPage() { var url="productType/editUI"; $(".content").load(url,function () { $(".page-title").html("添加產品分類"); }); } //刪除節點 function deleteType() { //獲取點中按鈕的id值 var id = getSelectedId(); if(!id){ alert("請先選擇要刪除的分類信息!"); return; } //根據選中的id值進行刪除分類信息 var url = "productType/delectType"; var params = {"id":id}; $.post(url,params,function (result) { if(result.state == 1){ alert(result.message); //查詢全部數據 findAllProductType(); }else{ alert(result.message); } }); } //獲取選中的id值 function getSelectedId() { //用來獲取選中的記錄,返回成數組 var selections = $("#typeTable").bootstrapTreeTable("getSelections"); if(selections.length == 0){//表示沒有選中 return; } //獲取選中的id值 return selections[0].id; } //查詢全部數據 function findAllProductType() { var tableId = "typeTable";//不用寫#,後邊js處理過了 //訪問服務端的url地址 var url = "productType/findAllProductType"; var table = new TreeTable(tableId, url, columns);//建立表格對象 table.setExpandColumn(2);//設置默認展開列 //初始化table對象 table.init();//發起異步請求獲取數據,更新頁面 } // $(document).ready(function(){ // $("#formHead") // .on("click",".btn-delete",deleteType) // .on("click",".btn-add",loadEditPage) // ; // findAllProductType(); // }); // //加載新增修改頁面 // function loadEditPage(){ // var url = "productType/editUI"; // $(".content").load(url,function(){ // //設置標題 // $("#pageTitle").html("添加產品分類"); // }); // } // // function deleteType(){ // var id = getSelectedId(); // if(!id){ // alert("請先選擇要刪除的分類信息!"); // return ; // } // // console.log(id); // var url = "productType/deleteType"; // var params = {"id":id}; // $.post(url,params,function(result){ // if(result.state==1){ // alert(result.message); // //從新查詢 // findAllProductType(); // }else{ // alert(result.message); // } // }) // } // function getSelectedId(){ // var selections = $("#typeTable").bootstrapTreeTable("getSelections"); // if(selections.length==0){ // return ;//表示沒選擇任何對象 // } // return selections[0].id; // } // // function findAllProductType(){ // var tableId="typeTable";//對象type_list.jsp中的table id // var url="productType/findAllProductType"; // var table=new TreeTable(tableId,url,columns); // // table.setIdField("id");//設置選中記錄的返回id() // // table.setCodeField("id");//設置級聯關係的id // // table.setParentCodeField("parentId");//設置級聯關係中的parentId // table.setExpandColumn(2);//設置默認展開列 // // table.setExpandAll(false);//設置默認不展開 // table.init();//初始化對象樹(底層會發起異步請求) // }
3.ProductTypeController.javajava
package com.tanzhou.tzms.product.controller; import com.tanzhou.tzms.common.vo.Node; import com.tanzhou.tzms.common.web.JsonResult; import com.tanzhou.tzms.product.domain.ProductType; import com.tanzhou.tzms.product.service.ProductTypeService; 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 java.util.List; import java.util.Map; @Controller @RequestMapping("/productType") public class ProductTypeController { @Autowired private ProductTypeService typeService; /** * 返回頁面方法 * @return */ @RequestMapping("/listUI") public String listUI(){ return "product/type_list"; } /** * 返回產品分類數據 * @return */ @RequestMapping("/findAllProductType") @ResponseBody public JsonResult findAllProductType(){ List<Map<String, Object>> list = typeService.findAllProductType(); return new JsonResult(list); } /** * 刪除結點 */ @RequestMapping("/delectType") @ResponseBody public JsonResult delectType(Integer id){ typeService.delectType(id); return new JsonResult("刪除成功"); } /** * 添加產品編輯頁面 * @return */ @RequestMapping("editUI") public String editUI(){ return "product/type_edit"; } /** * ZTree分層 */ @RequestMapping("/findZTreeNode") @ResponseBody public JsonResult findZTreeNode(){ List<Node> list = typeService.findZTreeNode(); System.out.println(list); return new JsonResult(list); } @RequestMapping("/saveProductType") @ResponseBody public JsonResult saveProductType(ProductType pt){ System.out.println(pt); typeService.saveProductType(pt); return new JsonResult("新增成功"); } }