基础包引导 define(function (require) { var obj = {}; obj.datatablecolumnsmanager = require("./datatablecolumnsmanager"); obj.datatablemanager = require("./datatablemanager"); obj.datatablerowactionmanager = require("./datatablerowactio
define(function (require) {
var obj = {};
obj.datatablecolumnsmanager = require("./datatablecolumnsmanager");
obj.datatablemanager = require("./datatablemanager");
obj.datatablerowactionmanager = require("./datatablerowactionmanager");
return obj;
});
datatablecolumnsmanager
//datatable的columns的管理类 使用注册的方式进行 通过table的用途id进行查找
define(function (require) {
var datatable = {};
var manager = {};
manager.RegistDataTableColumns = function (id, columns) {
if (datatable[id]) {
throw new Error("已经存在名称为"+id+"的table")
}
datatable[id] = columns;
}
manager.GetDataTableColumns = function (id) {
var col = datatable[id];
if (typeof col === "function") {
return col();
}
return $.extend(true, [], col);
}
manager.GetRegistColumns = function (id) {
return datatable[id];
}
return manager;
});
datatablerowactionmanager
//datatable的row的action管理类 通过table的用途id和action类型进行查找 使用注册的方式去实现 为columns服务
define(function (require) {
var ActionTemplate = {};
var manager = {};
var actiondata = [];
var index = 0;
manager.RegistDataTableRowAction = function (id, func) {
if (ActionTemplate[id]) {
throw new Error("已经存在名称为"+id+"的table")
}
ActionTemplate[id] = func;
}
manager.GetDataTableRowAction = function (id) {
var col = ActionTemplate[id];
return col;
}
return manager;
});
实例1
define(function (require) {
var DataTableColumnsManager, basemap, rolemanager, CompanyTypeTransform, DataTableSettingManager, DataManager;
DataTableColumnsManager = require("./../base/datatablecolumnsmanager");
basemap = require("./../base/basemap");
rolemanager = require("./../base/rolemanager");
CompanyTypeTransform = require("./../base/commonfunction").CompanyTypeTransform;
DataTableSettingManager = require("./../base/datatablemanager");
DataManager = require("./../base/datamanager");
var commonfunc = require("./../base/commonfunction");
var addbook_modal;
DataTableColumnsManager.RegistDataTableColumns(basemap["book_manager"], [
{ id: "SN", header: "序号", width: 40, template: function (item, type, value, config, i) { return i + 1; } },
{
id: "ISBN",
header: "编号",
fillspace: 1,
//template:"{common.treetable()} #ISBN#"
template:function(obj, common){
if(obj.$level==1){
return common.treetable(obj, common)+""+obj.ISBN+"";
}
else{
return common.treetable(obj, common)+"借阅详情";
}
}
},
{
id: "Name",
header: "名称",
fillspace: 1,
template:function (obj,common) {
if(obj.$level>1){return "借阅人:"+obj.BorrowerName;}
else{return obj.Name;}
}
},
{
id: "Author",
header: "作者",
fillspace: 0.5,
template:function (obj,common) {
if(obj.$level>1){ return "借阅时间:"+obj.BorrowTime;}
else{return obj.Author;}
}
},
{
id: "Publisher",
header: "主编单位",
fillspace: 1,
template:function (obj,common) {
if (obj.$level > 1) { return "";}
else{return obj.Publisher;}
}
},
{
id: "Type",
header: "类型",
fillspace: 0.5,
template: function (item, type, value, config, i) {
if (item.$level > 1) { return ""; }
else { return commonfunc.BookTypeTransform(value); }
}
},
{
id: "Count",
header: "数量",
fillspace: 0.5,
template: function (item, type, value, config, i) {
if (item.$level > 1) { return item.BorrowNum; }
else { return value; }
}
},
{
id: "Surplus",
header: "剩余数量",
fillspace:0.5,
},
{
id: "Description",
header: "描述",
fillspace: 1,
},
{
id: "rowdataoperate", header: "操作", tooltip: false,
actiontype: ["borrow", "reback", "update","delete"],
fillspace: true,
width:500,
template: function (item, type, value, config, i) {
var html = "";
if (item.$level>1)
{
if(rolemanager.HasRole(actionmap.book_manager_reback.urlsubpath))
html += '';
}
else
{
//通过是否有借阅记录判断可否借阅
if (item.Surplus > 0) {
var mark = true;
if (item.BB && item.BB.length > 0) {
for (var i = 0; i < item.BB.length; i++) {
if (item.BB[i].BorrowerId === DataManager.GetUserInfo.LcUserUUID) {
mark = false;
break;
}
}
}
if (mark && rolemanager.HasRole(actionmap.book_manager_borrow.urlsubpath)) {
html += '';
}
}
if(rolemanager.HasRole(actionmap.book_manager_update.urlsubpath)){
html += '';
}
if ((!item.BB || item.BB.length == 0) && rolemanager.HasRole(actionmap.book_manager_delete.urlsubpath)) {
html += '';
}
}
return html;
}
}
]
);
DataTableSettingManager.RegistDataTable(basemap["book_manager"], {
view: "treetable",
Child: "BB",
toolbar: {
buttons: function (parm) {
bts = [];
if(rolemanager.HasRole(actionmap.book_manager_add.urlsubpath)){
bts.push({
Id: "Addreceipt",
Title: "新增书籍",
Icon: "icon-iconfont-jiajia iconfont fwb f18",
OnClick: function () {
if (!addbook_modal) {
addbook_modal = modalmanager.NewDialog("NewBook_modal", {
content: $('#modaldialog_booknew_modal')
});
}
parm.ActionType = "new";
addbook_modal.Show(parm);
}
})
}
return bts;
}
}
})
})
实例2
define(function (require) {
var funcobject = require("./functionmanager");
var DataTableRowActionManager = require("./../base/datatablerowactionmanager");
var modaldialogobject = require("./modaldialogmanager");
var basemap = require("./../base/basemap");
var modalmanager = require("./../base/modaldialogmanager");
var DataManager = require("./../base/datamanager");
var updatebook_modal;
var borrowbook;
var deletemodal;
DataTableRowActionManager.RegistDataTableRowAction(basemap["book_manager_borrow"], function (obj) {
//图书借阅
if (!borrowbook) {
borrowbook = modalmanager.NewDialog("BorrowBook_modal", {
content: "#modaldialog_bookborrow_modal"
});
}
obj.ActionType = "borrow";
borrowbook.Show(obj)
});
DataTableRowActionManager.RegistDataTableRowAction(basemap["book_manager_reback"], function (obj) {
//图书归还
if (!borrowbook) {
borrowbook = modalmanager.NewDialog("BorrowBook_modal", {
content: "#modaldialog_bookborrow_modal"
});
}
obj.ActionType = "reback";
borrowbook.Show(obj)
});
DataTableRowActionManager.RegistDataTableRowAction(basemap["book_manager_update"], function (obj) {
if (!updatebook_modal) {
updatebook_modal = modalmanager.NewDialog("NewBook_modal", {
content: $('#modaldialog_booknew_modal')
});
}
obj.ActionType = "edit";
updatebook_modal.Show(obj);
});
DataTableRowActionManager.RegistDataTableRowAction(basemap["book_manager_delete"], function (data) {
//删除
if (!deletemodal) {
deletemodal = modalmanager.NewDialog("Delete", {
tipinfo: function (tip) {
return "您确定要删除图书:" + tip.row.Name + "吗?";
},
clickfunc: function (deletedlg, data) {
DataManager.Request(actionmap["book_manager_delete"], {
bookid: data.row.Id
}, {}).success(function (option, resp) {
data.datatable.remove_item(data.row.id);
deletedlg.Hide();
}).fail(function (option, data) {
show_tip(data.message);
deletedlg.Hide();
}).always(function () {
deletedlg.modalDialog.EnableAction(".green");
});
}
},true);
}
deletemodal.Show(data);
});
})
