1.type_edit.js
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.js
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.java
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("新增成功");
}
}
原文:https://www.cnblogs.com/luyuan-chen/p/11919429.html