/**
|
* 初始化 Tree Table 的封装
|
*
|
* @author cyf
|
*/
|
(function () {
|
var BSTreeTable = function (bstableId, url, columns) {
|
this.btInstance = null; //jquery和bootstrapTreeTable绑定的对象
|
this.bstableId = bstableId;
|
this.url = Feng.ctxPath + url;
|
this.method = "post";
|
this.columns = columns;
|
this.data = {};// ajax的参数
|
this.expandColumn = null;// 展开显示的列
|
this.id = 'id';// 选取记录返回的值
|
this.code = 'code';// 用于设置父子关系
|
this.parentCode = 'pcode';// 用于设置父子关系
|
this.expandAll = false;// 是否默认全部展开
|
this.toolbarId = bstableId + "Toolbar";
|
this.height = 665; //默认表格高度665
|
};
|
|
BSTreeTable.prototype = {
|
/**
|
* 初始化bootstrap table
|
*/
|
init: function () {
|
var tableId = this.bstableId;
|
this.btInstance =
|
$('#'+tableId).bootstrapTreeTable({
|
id: this.id,// 选取记录返回的值
|
code: this.code,// 用于设置父子关系
|
parentCode: this.parentCode,// 用于设置父子关系
|
rootCodeValue: this.rootCodeValue,//设置根节点code值----可指定根节点,默认为null,"",0,"0"
|
type: this.method, //请求数据的ajax类型
|
url: this.url, //请求数据的ajax的url
|
ajaxParams: this.data, //请求数据的ajax的data属性
|
expandColumn: this.expandColumn,//在哪一列上面显示展开按钮,从0开始
|
striped: true, //是否各行渐变色
|
expandAll: this.expandAll, //是否全部展开
|
columns: this.columns, //列数组
|
toolbar: "#" + this.toolbarId,//顶部工具条
|
height: this.height,
|
});
|
return this;
|
},
|
|
/**
|
* 设置在哪一列上面显示展开按钮,从0开始
|
*/
|
setExpandColumn: function (expandColumn) {
|
this.expandColumn = expandColumn;
|
},
|
/**
|
* 设置记录返回的id值
|
*/
|
setIdField: function (id) {
|
this.id = id;
|
},
|
/**
|
* 设置记录分级的字段
|
*/
|
setCodeField: function (code) {
|
this.code = code;
|
},
|
/**
|
* 设置记录分级的父级字段
|
*/
|
setParentCodeField: function (parentCode) {
|
this.parentCode = parentCode;
|
},
|
/**
|
* 设置根节点code值----可指定根节点,默认为null,"",0,"0"
|
*/
|
setRootCodeValue: function (rootCodeValue) {
|
this.rootCodeValue = rootCodeValue;
|
},
|
/**
|
* 设置是否默认全部展开
|
*/
|
setExpandAll: function (expandAll) {
|
this.expandAll = expandAll;
|
},
|
/**
|
* 设置表格高度
|
*/
|
setHeight: function (height) {
|
this.height = height;
|
},
|
/**
|
* 设置ajax post请求时候附带的参数
|
*/
|
set: function (key, value) {
|
if (typeof key == "object") {
|
for (var i in key) {
|
if (typeof i == "function")
|
continue;
|
this.data[i] = key[i];
|
}
|
} else {
|
this.data[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
|
}
|
return this;
|
},
|
|
/**
|
* 设置ajax post请求时候附带的参数
|
*/
|
setData: function (data) {
|
this.data = data;
|
return this;
|
},
|
|
/**
|
* 清空ajax post请求参数
|
*/
|
clear: function () {
|
this.data = {};
|
return this;
|
},
|
|
/**
|
* 刷新表格
|
*/
|
refresh: function (parms) {
|
if (typeof parms != "undefined") {
|
this.btInstance.bootstrapTreeTable('refresh', parms.query);// 为了兼容bootstrap-table的写法
|
} else {
|
this.btInstance.bootstrapTreeTable('refresh');
|
}
|
}
|
};
|
|
window.BSTreeTable = BSTreeTable;
|
|
}());
|