旅遊項目開發之產品分類(分級)添加

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("新增成功");
    }

}
相關文章
相關標籤/搜索