var DepotsLocation = {
|
InTable: undefined,
|
// 查询
|
PageClick: function (PageIndex, PageSize) {
|
$.jBox.tip("正在努力加载数据...", "loading");
|
var search = DepotsLocation.GetSearch();
|
search["PageIndex"] = PageIndex;
|
search["PageSize"] = PageSize;
|
|
$.gitAjax({
|
async: false,
|
url: "/DLocationAjax/GetDLocationItems",
|
data: { ajaxdata: JSON.stringify(search) },
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
$.jBox.closeTip();
|
if (result != null) {
|
if (result.Code == 1) {
|
// 查询成功,绑定Table
|
DepotsLocation.SetTable(result);
|
}
|
else {
|
// 查询失败,提示操作员
|
$.jBox.tip(result.Message, "warn");
|
}
|
}
|
}
|
});
|
},
|
|
// 加载Table表格
|
SetTable: function (result) {
|
// 定义Table列
|
var cols = [
|
{
|
title: '库位编码', name: 'LocationCode', width: 100, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '所属库区', name: 'DepotsAreaName', width: 100, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '库排', name: 'LRow', width: 90, hidden:'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '库列', name: 'LColumn', width: 90, hidden: 'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '库层', name: 'LLayer', width: 90, hidden: 'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '库位属性', name: 'Property', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '库位状态', name: 'TurnoverDemand', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '库位类型', name: 'Type', width: 110, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '重量限制', name: 'Weight', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '体积限制', name: 'Volume', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '长', name: 'Long', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '宽', name: 'Width', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '高', name: 'Height', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '层数', name: 'NumPlies', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '混放产品', name: 'IsProduct', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
var html = "";
|
if (data == 0) {
|
html += '<input type="checkbox" checked="checked"/>';
|
}
|
else {
|
html += '<input type="checkbox" />';
|
}
|
|
return html;
|
}
|
},
|
{
|
title: '混放批次', name: 'IsBatch', width: 90, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
var html = "";
|
if (data == 0) {
|
html += '<input type="checkbox" checked="checked"/>';
|
}
|
else {
|
html += '<input type="checkbox" />';
|
}
|
|
return html;
|
}
|
},
|
{
|
title: '备注', name: 'Demo', width: 120, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '创建日期', name: 'CreatTime', width: 130, hidden: 'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
|
return git.JsonToDateTimeto(data);
|
}
|
},
|
{
|
title: '创建人', name: 'CreatUser', width: 80, hidden: 'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '修改日期', name: 'UpdateTime', width: 130, hidden: 'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return git.JsonToDateTimeto(data);
|
}
|
},
|
{
|
title: '修改人', name: 'UpdateUser', width: 80, hidden: 'true', align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '操作', name: 'Guid', width: 80, align: 'center', lockWidth: false, renderer: function (data, item, rowIndex) {
|
var html = "";
|
html += '<a class="edit dis" href="javascript:void(0)">编辑</a> ';
|
return html;
|
}
|
},
|
];
|
|
// 设置Table
|
if (this.InTable == undefined) {
|
var ht = masterUI.MMGridHeight();
|
this.InTable = $("#tabList").mmGrid({
|
cols: cols,
|
sortName: 'CreateTime',
|
sortStatus: 'desc',
|
fullWidthRows: true,
|
multiSelect: true,
|
//indexCol: true,
|
items: result.Result.List,
|
checkCol: true,
|
nowrap: true,
|
height: ht
|
});
|
|
//绑定事件
|
DepotsLocation.BindEvent();
|
}
|
else {
|
this.InTable.load(result.Result.List);
|
}
|
|
// 绑定分页信息,切换分页调用查询方法
|
var pageInfo = result.PageInfo;
|
if (pageInfo != undefined) {
|
$("#mypager").pager({ pagenumber: pageInfo.PageIndex, recordCount: pageInfo.RowCount, pageSize: pageInfo.PageSize, buttonClickCallback: DepotsLocation.PageClick });
|
}
|
},
|
|
// 绑定行事件
|
BindEvent: function () {
|
this.InTable.on('loadSuccess', function (e, data) { //loadSuccess
|
LoadBtn.SetBtn();
|
});
|
|
this.InTable.off("cellSelected").on("cellSelected", function (e, item, rowIndex, colIndex) {
|
// 绑定编辑库区事件
|
if ($(e.target).is("a.edit")) {
|
var Guid = item.Guid;
|
$.gitAjax({
|
url: "/DLocationAjax/CheckDepartment",
|
data: { ajaxdata: Guid },
|
type: "post",
|
dataType: "json",
|
async: false,
|
success: function (result) {
|
if (result.Code == '1') {
|
$.jBox.tip("该库位别的部门已使用,不可修改!", "warn");
|
return false;
|
}
|
}
|
});
|
DepotsLocation.Dialog(Guid, "Edit");
|
}
|
});
|
},
|
|
// 获取查询条件
|
GetSearch: function () {
|
var search = {};
|
var searchBar = $("div[data-condition='search']");
|
search["DepotsAreaID"] = searchBar.find("select[name='DepotsArea']").val();
|
var LRow = searchBar.find("select[name='DepotsRow']").val();
|
var LColumn = searchBar.find("select[name='DepotsColumn']").val();
|
var LLayer = searchBar.find("select[name='DepotsLayer']").val();
|
|
search["LRow"] = 0;
|
if (LRow.length > 0)
|
{
|
search["LRow"] = LRow;
|
|
}
|
search["LColumn"] = 0;
|
if (LColumn.length > 0) {
|
search["LColumn"] = LColumn;
|
|
}
|
search["LLayer"] = 0;
|
if (LLayer.length > 0) {
|
search["LLayer"] = LLayer;
|
|
}
|
|
search["LocationCode"] = searchBar.find("input[name='LocationCode']").val();
|
search["PropertyID"] = searchBar.find("select[name='Property']").val();
|
search["TurnoverDemandID"] = searchBar.find("select[name='TurnoverDemand']").val();
|
search["TypeID"] = searchBar.find("select[name='Type']").val();
|
|
return search;
|
},
|
|
// 获取Table选中行
|
GetSelect: function () {
|
var list = [];
|
if (this.InTable != undefined) {
|
var rows = this.InTable.selectedRows();
|
if (rows != undefined && rows.length > 0) {
|
for (var i = 0; i < rows.length; i++) {
|
list.push(rows[i].Guid);
|
|
}
|
}
|
}
|
return list;
|
},
|
|
// Add Edit 窗体赋值
|
Dialog: function (Guid, Command) {
|
var submit = function (v, h, f) {
|
if (v) {
|
var param = validation(h);
|
param["Guid"] = Guid;
|
$.gitAjax({
|
url: "/DLocationAjax/SetDLocations",
|
data: { ajaxdata: JSON.stringify(param) },
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
if (result.Code == 1) {
|
$.jBox.tip(result.Message, "info");
|
var pageSize = $("#mypager").pager("GetPageSize");
|
var pageIndex = $("#mypager").pager("GetCurrent");
|
DepotsLocation.PageClick(pageIndex, pageSize);
|
}
|
else {
|
$.jBox.tip(result.Message, "warn");
|
}
|
}
|
});
|
}
|
}
|
|
var validation = function (h) {
|
var param = {};
|
param["LRow"] = h.find('select[name = "LRow"]').val(); // 库排
|
param["LColumn"] = h.find('select[name = "LColumn"]').val(); // 库列
|
param["DepotsArea"] = h.find('select[name = "DepotsArea"]').val(); // 库区
|
param["LLayer"] = h.find('select[name = "LLayer"]').val(); // 库层
|
param["Type"] = h.find('select[name="Type"]').val(); // 库位类型
|
param["Property"] = h.find('select[name="Property"]').val(); // 库位属性
|
param["TurnoverDemand"] = h.find('select[name="TurnoverDemand"]').val(); // 库位状态
|
|
param["Weight"] = h.find("input[name='Weight']").val(); // 重量限制
|
param["Volume"] = h.find("input[name='Volume']").val(); // 体积限制
|
param["Long"] = h.find("input[name='Long']").val(); // 长
|
param["Width"] = h.find("input[name='Width']").val(); // 宽
|
param["Height"] = h.find("input[name='Height']").val(); // 高
|
param["NumPlies"] = h.find("input[name='NumPlies']").val(); // 层
|
param["Demo"] = h.find("input[name='Demo']").val(); // 备注
|
param["IsBatch"] = "1"; // 混放批次
|
param["IsProduct"] = "1"; // 混放产品
|
if ($("#IsBatch").prop('checked')){
|
param["IsBatch"] = "0";
|
}
|
if ($("#IsProduct").prop('checked')){
|
param["IsProduct"] = "0";
|
}
|
|
if (git.IsEmpty(param["Type"])) {
|
$.jBox.tip("请选择库位类型!", "warn");
|
return;
|
}
|
if (git.IsEmpty(param["Property"])){
|
$.jBox.tip("请选择库位属性!", "warn");
|
return;
|
}
|
if (git.IsEmpty(param["TurnoverDemand"])) {
|
$.jBox.tip("请选择库位状态!", "warn");
|
return;
|
}
|
|
var regPos = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/; // 正则 数字
|
var regex = /^[0]+/;
|
|
var Weight = param["Weight"].replace(regex, "");
|
if (!regPos.test(Weight) || git.IsEmpty(Weight))
|
{
|
$.jBox.tip("重量限制应为数字!", "warn");
|
return;
|
}
|
|
//var Volume = param["Volume"].replace(regex, "");
|
if (!regPos.test(param["Volume"]) || git.IsEmpty(param["Volume"])) {
|
$.jBox.tip("体积限制应为数字!", "warn");
|
return;
|
}
|
|
var Long = param["Long"].replace(regex, "");
|
if (!regPos.test(Long) || git.IsEmpty(Long)) {
|
$.jBox.tip("长应为数字!", "warn");
|
return;
|
}
|
var Width = param["Width"].replace(regex, "");
|
if (!regPos.test(Width) || git.IsEmpty(Width)) {
|
$.jBox.tip("宽应为数字!", "warn");
|
return;
|
}
|
var Height = param["Height"].replace(regex, "");
|
if (!regPos.test(Height) || git.IsEmpty(Height)) {
|
$.jBox.tip("高应为数字!", "warn");
|
return;
|
}
|
|
|
return param;
|
}
|
|
//窗体加载完成回调事件
|
var loaded = function (h) {
|
// 设置禁止更改列
|
h.find('input[name="LocationCode"]').attr("disabled", "disabled");
|
h.find('input[name="NumPlies"]').attr("disabled", "disabled");
|
h.find('select[name = "DepotsArea"]').attr("disabled", "disabled");
|
h.find('select[name = "LRow"]').attr("disabled", "disabled");
|
h.find('select[name = "LColumn"]').attr("disabled", "disabled");
|
h.find('select[name = "LLayer"]').attr("disabled", "disabled");
|
}
|
|
switch (Command) {
|
case "Add":
|
$.jBox.open("get:/BasicInfo/DepotsLocation/AddEdit", "新增库位", 600, 450, { buttons: { "确定": true, "关闭": false },top:'5%', submit: submit });
|
break;
|
case "Edit":
|
$.jBox.open("get:/BasicInfo/DepotsLocation/AddEdit?Guid=" + Guid, "编辑库位", 600, 450, { buttons: { "确定": true, "关闭": false }, submit: submit, loaded: loaded });
|
break;
|
default: break;
|
}
|
},
|
|
// view页操作响应
|
ToolBar: function () {
|
|
var btnClick = $("div.toolbar");
|
btnClick.find("a.btn").click(function () {
|
var command = $(this).attr("data-command");
|
switch (command) {
|
case "Add":
|
var list = DepotsLocation.Dialog("", "Add");
|
break;
|
case "Del":
|
var submit = function (v, h, f) {
|
if (v == "ok") {
|
var list = DepotsLocation.GetSelect();
|
if (list.length == 0) {
|
$.jBox.tip("请选择要删除的项", "warn");
|
return false;
|
}
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
|
$.gitAjax({
|
url: "/DLocationAjax/DelLocations",
|
data: param,
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
// 提示操作信息
|
$.jBox.tip(result.Message, "success");
|
|
var pageSize = $("#mypager").pager("GetPageSize");
|
DepotsLocation.PageClick(1, pageSize);
|
}
|
});
|
}
|
}
|
$.jBox.confirm("确定要删除吗?", "提示", submit);
|
break;
|
case "Edits":
|
var list = DepotsLocation.GetSelect();
|
if (list.length == 0) {
|
$.jBox.tip("请选择要编辑的项", "warn");
|
return false;
|
}
|
|
for (i = list.length - 1; i >= 0; i--) {
|
console.log(i)
|
$.gitAjax({
|
url: "/DLocationAjax/CheckDepartment",
|
data: { ajaxdata: list[i]},
|
type: "post",
|
dataType: "json",
|
async: false ,
|
success: function (result) {
|
if (result.Code == '1') {
|
list.pop();
|
$.jBox.tip("已自动移除别的部门占用的库位!", "warn");
|
}
|
}
|
});
|
}
|
if (list.length == 0) {
|
$.jBox.tip("请选择本部门占用储位!", "warn");
|
return false;
|
}
|
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
$.gitAjax({
|
url: "/DLocationAjax/SetLocationsSeession",
|
data: param,
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
// 提示操作信息
|
//$.jBox.tip(result.Message, "success");
|
|
// var pageSize = $("#mypager").pager("GetPageSize");
|
//DepotsArea.PageClick(1, pageSize);
|
}
|
});
|
|
|
var Guid = list[0];
|
DepotsLocation.Dialog(Guid, "Edit");
|
break;
|
default: break;
|
}
|
|
})
|
|
// 搜索按钮绑定查询事件 获取div => div.find事件搜寻按钮 => click事件
|
var searchBar = $("div[data-condition='search']");
|
searchBar.find("a[data-command='search']").click(function () {
|
// 调用查询方法,绑定分页信息
|
DepotsLocation.PageClick(1, 50);
|
});
|
|
|
$("#Region").change(function () {
|
var Region = ($(this).val()); // 获取库区编码
|
|
if (Region != "") {
|
$.gitAjax({
|
url: "/DLocationAjax/BindOption",
|
data: { ajaxdata: Region, opertype:"Region"},
|
type: "post",
|
dataType: "json",
|
success: function (result) { // result = 后台返回值
|
if (result != null) {
|
// 清空下拉框选项 重新赋值
|
$("#DepotsArea").empty();
|
$("#DepotsArea").html(result.DepotsArea);
|
$("#DepotsRow").empty();
|
$("#DepotsColumn").empty();
|
$("#DepotsLayer").empty();
|
}
|
}
|
})
|
}
|
});
|
|
$("#DepotsArea").change(function () {
|
var DepotsArea = ($(this).val()); // 获取库区编码
|
if (DepotsArea != "") {
|
$.gitAjax({
|
url: "/DLocationAjax/BindOption",
|
data: { ajaxdata: DepotsArea, opertype: ""},
|
type: "post",
|
dataType: "json",
|
success: function (result) { // result = 后台返回值
|
if (result != null) {
|
// 清空下拉框选项 重新赋值
|
$("#DepotsRow").empty();
|
$("#DepotsRow").html(result.DepotsRow);
|
$("#DepotsColumn").empty();
|
$("#DepotsColumn").html(result.DepotsColumn);
|
$("#DepotsLayer").empty();
|
$("#DepotsLayer").html(result.DepotsLayer);
|
}
|
}
|
})
|
}
|
});
|
|
//监听回车事件,用于扫描
|
searchBar.find("input[name='DepotsCode']").keydown(function (event) {
|
if (event.keyCode == 13) {
|
var value = $(this).val();
|
if (!git.IsEmpty(value)) {
|
DepotsLocation.PageClick(1, 50);
|
|
setTimeout(function () {
|
searchBar.find("input[name='DepotsCode']").val("");
|
searchBar.find("input[name='DepotsCode']").focus();
|
}, 300);
|
}
|
}
|
});
|
|
//窗体加载获得焦点
|
searchBar.find("input[name='DepotsCode']").focus();
|
|
//加载默认数据
|
DepotsLocation.PageClick(1, 50);
|
}
|
}
|