var StorageManager = {
StorageGrid: undefined,
Server: function () {
var config = (function () {
var URL_GetList = "/StorageAjax/GetStorageList";
var URL_Add = "/StorageAjax/AddStorage";
var URL_Delete = "/StorageAjax/DelStorage";
var URL_Pass = "/StorageAjax/Createlocation"; // 生成库位
var URL_Print = "/StorageAjax/PrintBarCode"; // 打印条形码
return {
URL_GetList: URL_GetList,
URL_Add: URL_Add,
URL_Delete: URL_Delete,
URL_Pass: URL_Pass,
URL_Print: URL_Print,
};
})();
//数据操作服务
var dataServer = (function ($, config) {
//查询分页列表
var GetList = function (data, callback) {
$.gitAjax({
url: config.URL_GetList,
data: { ajaxdata: JSON.stringify(data) },
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var Add = function (data, callback) {
$.gitAjax({
url: config.URL_Add,
data: { ajaxdata: JSON.stringify(data) },
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
// 创建库位
var Create = function (data, callback)
{
$.gitAjax({
url: config.URL_Pass,
data: data,
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
// 打印条形码
var PrintBarCode = function (data, callback) {
$.gitAjax({
url: config.URL_Print,
data: data,
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
var Delete = function (data, callback) {
$.gitAjax({
url: config.URL_Delete,
data: data,
type: "post",
dataType: "json",
success: function (result) {
if (callback != undefined && typeof callback == "function") {
callback(result);
}
}
});
}
return {
GetList: GetList,
Add: Add,
Delete: Delete,
Create: Create,
PrintBarCode: PrintBarCode,
}
})($, config);
return dataServer;
},
Dialog: function (StorageNo, Command) {
var submit = function (v, h, f) {
if (v) {
var regPos = /^[1-9]\d*$/; // 正则 整数
var regPosStr = /^[A-Za-z]+$/; // 正则 字母
var StorageNo = h.find('input[name="StorageNo"]').val();
var StorageName = h.find('input[name="StorageName"]').val();
var Demo = h.find('input[name="Demo"]').val();
var Pai = h.find('input[name="Pai"]').val();
var Lie = h.find('input[name="Lie"]').val();
var Ceng = h.find('input[name="Ceng"]').val();
if (git.IsEmpty(StorageNo)) {
$.jBox.tip("请输入两位库区的编码", "warn");
return false;
}
else if (StorageNo.length != 2)
{
$.jBox.tip("请输入两位库区的编码", "warn");
return false;
}
if (git.IsEmpty(StorageName)) {
$.jBox.tip("请输入库区名称", "warn");
return false;
}
if (git.IsEmpty(Pai)) {
$.jBox.tip("请输入总排数", "warn");
return false;
}
if (git.IsEmpty(Lie)) {
$.jBox.tip("请输入总列数", "warn");
return false;
}
if (git.IsEmpty(Ceng)) {
$.jBox.tip("请输入总层数", "warn");
return false;
}
if (!regPosStr.test(StorageNo)) {
$.jBox.tip("库区编码:请输入字母", "warn");
return false;
}
if (!regPos.test(Pai)) {
$.jBox.tip("总排数 :请输入数字", "warn");
return false;
}
if (!regPos.test(Lie)) {
$.jBox.tip("总列数:请输入数字", "warn");
return false;
}
if (!regPos.test(Ceng)) {
$.jBox.tip("总层数:请输入数字", "warn");
return false;
}
var param = {};
param["Operation"] = Command;
param["StorageNo"] = StorageNo.toUpperCase(); // 将小写字母转换为大写
param["StorageName"] = StorageName;
param["Demo"] = Demo;
param["Pai"] = Pai;
param["Ceng"] = Ceng;
param["Lie"] = Lie;
var Server = StorageManager.Server();
Server.Add(param, function (result) {
if (result.Code == 1) {
$.jBox.tip(result.Message, "info");
var pageSize = $("#mypager").pager("GetPageSize");
var pageIndex = $("#mypager").pager("GetCurrent");
StorageManager.PageClick(pageIndex, pageSize);
} else {
$.jBox.tip(result.Message, "warn");
}
});
}
}
//窗体加载完成回调事件
var loaded = function (h) {
h.find('input[name="StorageNo"]').attr("disabled", true);
h.find('input[name="Pai"]').attr("disabled", true); // 库区编码 总排 列 行 禁止编辑
h.find('input[name="Lie"]').attr("disabled", true);
h.find('input[name="Ceng"]').attr("disabled", true);
}
if (Command == "Add") {
$.jBox.open("get:/BasicInfo/Storage/Add", "添加库区", 650, 250, { buttons: { "确定": true, "取消": false }, submit: submit });
}
if (Command == "Edit") {
$.jBox.open("get:/BasicInfo/Storage/Add?StorageNo=" + StorageNo, "编辑库区", 650, 250, { buttons: { "确定": true, "取消": false }, submit: submit, loaded: loaded });
}
},
PageClick: function (PageIndex, PageSize) {
$.jBox.tip("正在努力加载数据...", "loading");
var Server = StorageManager.Server();
var search = StorageManager.GetSearch();
search["PageIndex"] = PageIndex;
search["PageSize"] = PageSize;
console.log(JSON.stringify(search));
Server.GetList(search, function (result) {
StorageManager.SetTable(result);
$.jBox.closeTip();
});
},
Refresh: function () {
var PageSize = $("#mypager").pager("GetPageSize");
var PageIndex = $("#mypager").pager("GetCurrent");
$.jBox.tip("正在努力加载数据...", "loading");
var Server = StorageManager.Server();
var search = StorageManager.GetSearch();
search["PageIndex"] = PageIndex;
search["PageSize"] = PageSize;
Server.GetList(search, function (result) {
StorageManager.SetTable(result);
$.jBox.closeTip();
});
},
SetTable: function (result) {
var cols = [
{
title: '库区编码', name: 'StorageNo', width: 110, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '库区名称', name: 'StorageName', width: 90, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '总排数', name: 'Pai', width: 60, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '总列数', name: 'Lie', width: 60, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '总层数', name: 'Ceng', width: 60, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '描述', name: 'Demo', width: 150, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
return data;
}
},
{
title: '操作', name: 'ID', width: 180, align: 'left', lockWidth: false, renderer: function (data, item, rowIndex) {
var html = "";
html += '打印 ';
html += '生成库位 ';
return html;
}
},
];
if (this.StorageGrid == undefined) {
var ht = masterUI.MMGridHeight();
this.StorageGrid = $("#tabList").mmGrid({
cols: cols,
items: result.Result.List,
checkCol: true,
nowrap: true,
remoteSort: true,
multiSelect: true,
height: ht
});
//绑定事件
StorageManager.BindEvent();
} else {
this.StorageGrid.load(result.Result.List);
}
var pageInfo = result.PageInfo;
if (pageInfo != undefined) {
$("#mypager").pager({ pagenumber: pageInfo.PageIndex, recordCount: pageInfo.RowCount, pageSize: pageInfo.PageSize, buttonClickCallback: StorageManager.PageClick });
}
},
BindEvent: function () {
this.StorageGrid.on('loadSuccess', function (e, data) {
LoadBtn.SetBtn();
});
this.StorageGrid.off("cellSelected").on("cellSelected", function (e, item, rowIndex, colIndex) {
// 编辑绑定生成库位事件
if ($(e.target).is("a.pass")) {
var StorageNo = item.StorageNo;
var StorageName = item.StorageName;
var submit = function (v, h, f) {
if (v == "ok") {
var list = [];
list.push(StorageNo);
var param = {};
param["list"] = JSON.stringify(list);
var Server = StorageManager.Server();
Server.Create(param, function (result) {
// 此方法内的执行顺序是由下往上。
// 刷新页面
var pageSize = $("#mypager").pager("GetPageSize");
StorageManager.PageClick(1, pageSize);
$.jBox.tip(result.Message, "warn"); // 库位生成成功! 提示
});
}
}
$.jBox.confirm("确认生成" + StorageName + "库区的库位?", "提示", submit);
}
// 打印条形码
else if ($(e.target).is("a.print"))
{
var StorageNo = item.StorageNo;
var submit = function (v, h, f) {
if (v == "ok") {
var list = [];
list.push(StorageNo);
list.push(item.StorageName);
var param = {};
param["list"] = JSON.stringify(list);
var Server = StorageManager.Server();
Server.PrintBarCode(param, function (result) {
// 此方法内的执行顺序是由下往上。
// 刷新页面
var pageSize = $("#mypager").pager("GetPageSize");
StorageManager.PageClick(1, pageSize);
$.jBox.tip(result.Message, "warn"); // 条形码打印完毕! 提示
});
}
}
$.jBox.confirm("批量打印" + StorageName + "库区的库位条形码?", "提示", submit);
}
});
},
GetSelect: function () {
var list = [];
if (this.StorageGrid != undefined) {
var rows = this.StorageGrid.selectedRows();
if (rows != undefined && rows.length > 0) {
for (var i = 0; i < rows.length; i++) {
list.push(rows[i].StorageNo);
}
}
}
return list;
},
GetSearch: function () {
var searchBar = $("div[data-condition='search']");
var StorageNo = searchBar.find("input[name='StorageNo']").val();
var StorageName = searchBar.find("input[name='StorageName']").val();
var search = {};
search["StorageNo"] = StorageNo;
search["StorageName"] = StorageName;
return search;
},
ToolBar: function () {
//工具栏按钮点击事件
$("div.toolbar").find("a.btn").click(function () {
var command = $(this).attr("data-command");
if (command == "Add")
{
var list = StorageManager.Dialog("", "Add");
}
else if (command == "Edit")
{
var list = StorageManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要编辑项", "warn");
return false;
}
var StorageNo = list[0];
StorageManager.Dialog(StorageNo, "Edit");
}
else if (command == "Delete") {
var submit = function (v, h, f) {
if (v == "ok") {
var list = StorageManager.GetSelect();
if (list.length == 0) {
$.jBox.tip("请选择要删除的项", "warn");
return false;
}
var param = {};
param["list"] = JSON.stringify(list);
var Server = StorageManager.Server();
Server.Delete(param, function (result) {
$.jBox.tip(result.Message, "success");
var pageSize = $("#mypager").pager("GetPageSize");
StorageManager.PageClick(1, pageSize);
});
}
}
$.jBox.confirm("确定要删除吗?", "提示", submit);
}
else if (command == "Refresh") {
MatManager.Refresh();
}
});
//搜索
var searchBar = $("div[data-condition='search']");
searchBar.find("a[data-command='search']").click(function () {
StorageManager.PageClick(1, 10);
});
//监听回车事件,用于扫描
$("input[name='StorageNo']").keydown(function (event) {
if (event.keyCode == 13) {
var value = $(this).val();
if (!git.IsEmpty(value)) {
StorageManager.PageClick(1, 10);
setTimeout(function () {
$("input[name='StorageNo']").val("");
$("input[name='StorageNo']").focus();
}, 300);
}
}
});
$("input[name='StorageNo']").focus();
//加载默认数据
StorageManager.PageClick(1, 10);
},
};