|
var MatManager = {
|
MatGrid: undefined,
|
Server: function () {
|
var config = (function () {
|
var URL_GetList = "/MatAjax/GetMatList";
|
var URL_Delete = "/MatAjax/DeleteMat";
|
var URL_Add = "/MatAjax/AddMat";
|
var URL_OutExcel = "/MatAjax/ToExcel";
|
var URL_InExcel = "/MatAjax/InExcel";
|
var URL_Audit = "/MatAjax/AuditMat";
|
|
return {
|
URL_GetList: URL_GetList,
|
URL_Delete: URL_Delete,
|
URL_Add: URL_Add,
|
URL_OutExcel: URL_OutExcel,
|
URL_InExcel: URL_InExcel,
|
URL_Audit: URL_Audit
|
};
|
})();
|
|
//数据操作服务
|
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 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);
|
}
|
}
|
});
|
}
|
|
var Add = function (data, callback) {
|
$.gitAjax({
|
async: false,
|
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 OutExcel = function (data, callback) {
|
$.gitAjax({
|
url: config.URL_OutExcel,
|
data: data,
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
if (callback != undefined && typeof callback == "function") {
|
callback(result);
|
}
|
}
|
});
|
}
|
|
var InExcel = function (data, callback) {
|
$.gitAjax({
|
url: config.URL_InExcel,
|
data: data,
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
if (callback != undefined && typeof callback == "function") {
|
callback(result);
|
}
|
}
|
});
|
}
|
|
var Audit = function (data, callback) {
|
$.gitAjax({
|
url: config.URL_Audit,
|
data: { ajaxdata: JSON.stringify(data) },
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
if (callback != undefined && typeof callback == "function") {
|
callback(result);
|
}
|
}
|
});
|
}
|
|
|
return {
|
GetList: GetList,
|
Delete: Delete,
|
Add: Add,
|
OutExcel: OutExcel,
|
InExcel: InExcel,
|
Audit: Audit
|
}
|
|
})($, config);
|
return dataServer;
|
},
|
Dialog: function (Guid, Command) {
|
var submit = function (v, h, f) {
|
if (v) {
|
var MatNo = h.find('input[name="MatNo"]').val();
|
var MatName = h.find('input[name="MatName"]').val();
|
var Unit = h.find('select[name="Unit"]').val();
|
var PackFormat = h.find('input[name="PackFormat"]').val();
|
var Demo = h.find('input[name="Demo"]').val();
|
var Weight = h.find('input[name="Weight"]').val();
|
var Long = h.find('input[name="Long"]').val();
|
var Width = h.find('input[name="Width"]').val();
|
var Height = h.find('input[name="Height"]').val();
|
var Brand = h.find('select[name="Brand"]').val();
|
var MatType = h.find('select[name="MatType"]').val();
|
|
if (git.IsEmpty(MatNo)) {
|
$.jBox.tip("请输入物料编码", "warn");
|
return false;
|
}
|
|
if (git.IsEmpty(MatName)) {
|
$.jBox.tip("请输入物料名称", "warn");
|
return false;
|
}
|
//if (git.IsEmpty(PackFormat)) {
|
// $.jBox.tip("请输入规格型号", "warn");
|
// return false;
|
//}
|
if (git.IsEmpty(Unit)) {
|
$.jBox.tip("请选择计量单位", "warn");
|
return false;
|
}
|
//if (git.IsEmpty(Brand)) {
|
// $.jBox.tip("请选择品牌", "warn");
|
// return false;
|
//}
|
if (git.IsEmpty(MatType)) {
|
$.jBox.tip("请选择类别", "warn");
|
return false;
|
}
|
var regPos = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/; // 正则 数字
|
var regex = /^[0]+/;
|
|
Weight = Weight.replace(regex, "");
|
if (!regPos.test(Weight) && !git.IsEmpty(Weight)) {
|
$.jBox.tip("重量为数字!", "warn");
|
return false;
|
}
|
Long = Long.replace(regex, "");
|
if (!regPos.test(Long) && !git.IsEmpty(Long)) {
|
$.jBox.tip("长为数字!", "warn");
|
return false;
|
}
|
Width = Width.replace(regex, "");
|
if (!regPos.test(Width) && !git.IsEmpty(Width)) {
|
$.jBox.tip("宽为数字!", "warn");
|
return false;
|
}
|
Height = Height.replace(regex, "");
|
if (!regPos.test(Height) && !git.IsEmpty(Height)) {
|
$.jBox.tip("高为数字!", "warn");
|
return false;
|
}
|
|
var param = {};
|
param["Operation"] = Command;
|
param["MatNo"] = MatNo;
|
param["MatName"] = MatName;
|
param["Unit"] = Unit;
|
param["PackFormat"] = PackFormat;
|
param["Demo"] = Demo;
|
param["NWeight"] = Weight;
|
param["Long"] = Long;
|
param["Width"] = Width;
|
param["Height"] = Height;
|
param["MatTypeId"] = MatType;
|
param["BrandId"] = Brand;
|
param["Guid"] = Guid
|
param["IsDel"] = 0;
|
|
var bl = false;
|
var Server = MatManager.Server();
|
Server.Add(param, function (result) {
|
if (result.Code == 1) {
|
bl = true;
|
var pageSize = $("#mypager").pager("GetPageSize");
|
var pageIndex = $("#mypager").pager("GetCurrent");
|
if (Command == "Add") {
|
MatManager.PageClick(1, pageSize);
|
} else if (Command == "Edit") {
|
MatManager.Refresh();
|
}
|
} else {
|
$.jBox.tip(result.Message, "warn");
|
}
|
});
|
|
return bl;
|
}
|
}
|
|
//窗体加载完成回调事件
|
var loaded = function (h) {
|
h.find('input[name="MatNo"]').attr("disabled", true);
|
}
|
if (Command == "Add") {
|
$.jBox.open("get:/BasicInfo/Mat/AddMat", "新增物料", 560, 340, { buttons: { "确定": true, "关闭": false }, submit: submit});
|
} else if (Command == "Edit") {
|
$.jBox.open("get:/BasicInfo/Mat/AddMat?MatNo=" + Guid, "编辑物料", 560, 340, { buttons: { "确定": true, "关闭": false }, submit: submit, loaded: loaded });
|
}
|
},
|
|
|
PageClick: function (PageIndex, PageSize) {
|
$.jBox.tip("正在努力加载数据...", "loading");
|
var Server = MatManager.Server();
|
var search = MatManager.GetSearch();
|
search["PageIndex"] = PageIndex;
|
search["PageSize"] = PageSize;
|
console.log(JSON.stringify(search));
|
Server.GetList(search, function (result) {
|
MatManager.SetTable(result);
|
$.jBox.closeTip();
|
});
|
},
|
Refresh: function () {
|
var PageSize = $("#mypager").pager("GetPageSize");
|
var PageIndex = $("#mypager").pager("GetCurrent");
|
$.jBox.tip("正在努力加载数据...", "loading");
|
var Server = MatManager.Server();
|
var search = MatManager.GetSearch();
|
search["PageIndex"] = PageIndex;
|
search["PageSize"] = PageSize;
|
Server.GetList(search, function (result) {
|
MatManager.SetTable(result);
|
$.jBox.closeTip();
|
});
|
},
|
SetTable: function (result) {
|
var ht = masterUI.MMGridHeight();
|
var cols = [
|
{
|
title: '物料编码', name: 'MatNo', width: 100, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '物料名称', name: 'MatName', width: 260, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '规格型号', name: 'PackFormat', width: 100, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '单位', name: 'Unit', width: 80, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '品牌', name: 'BrandName', width: 80, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '类别', name: 'MatType', width: 80, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '状态', name: 'IsDel', width: 80, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
if (data == 0) {
|
return "在用";
|
} else
|
{
|
return "删除";
|
}
|
}
|
},
|
{
|
title: '重量', name: 'Nweight', width: 80, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '长', name: 'Long', width: 60, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '宽', name: 'Width', width: 60, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '高', name: 'Height', width: 60, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '创建人', name: 'CreateUser', width: 80, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '创建时间', name: 'CreateTime', width: 160, align: 'center', lockWidth: false, sortable: true, renderer: function (data, item, rowIndex) {
|
|
return git.JsonToDateTimeto(data);
|
//return data;
|
}
|
},
|
{
|
title: '更新人', name: 'UpdateUser', width: 80, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '更新时间', name: 'UpdateTime', width: 160, align: 'center', lockWidth: false, hidden: true, sortable: true, renderer: function (data, item, rowIndex) {
|
|
return git.JsonToDateTimeto(data);
|
//return data;
|
}
|
},
|
{
|
title: '备注', name: 'Demo', width: 150, align: 'center', lockWidth: false, sortable: false, renderer: function (data, item, rowIndex) {
|
return data;
|
}
|
},
|
{
|
title: '操作', name: 'ID', width: 60, align: 'left', lockWidth: false, renderer: function (data, item, rowIndex) {
|
if (item.IsDel == 0)
|
{
|
var html = "";
|
html += '<a class="edit dis" href="javascript:void(0)">编辑 </a>';
|
return html;
|
}
|
}
|
},
|
|
];
|
|
if (this.MatGrid == undefined) {
|
this.MatGrid = $("#tabList").mmGrid({
|
cols: cols,
|
items: result.Result.List,
|
checkCol: true,
|
nowrap: true,
|
fullWidthRows: true,
|
remoteSort: true,
|
multiSelect: true,
|
height: ht
|
});
|
//绑定事件
|
MatManager.BindEvent();
|
} else {
|
this.MatGrid.load(result.Result.List);
|
}
|
var pageInfo = result.PageInfo;
|
if (pageInfo != undefined) {
|
$("#mypager").pager({ pagenumber: pageInfo.PageIndex, recordCount: pageInfo.RowCount, pageSize: pageInfo.PageSize, buttonClickCallback: MatManager.PageClick });
|
}
|
},
|
BindEvent: function () {
|
this.MatGrid.on('loadSuccess', function (e, data) {
|
LoadBtn.SetBtn();
|
});
|
//编辑删除事件都绑定
|
this.MatGrid.off("cellSelected").on("cellSelected", function (e, item, rowIndex, colIndex) {
|
if ($(e.target).is("a.edit")) {
|
var Guid = item.Guid;
|
MatManager.Dialog(Guid, "Edit");
|
}
|
else if ($(e.target).is("a.delete")) {
|
var Guid = item.Guid;
|
var submit = function (v, h, f) {
|
if (v == "ok") {
|
var list = [];
|
list.push(Guid);
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
var Server = MatManager.Server();
|
Server.Delete(param, function (result) {
|
$.jBox.tip(result.Message, "success");
|
var pageSize = $("#mypager").pager("GetPageSize");
|
MatManager.PageClick(1, pageSize);
|
});
|
}
|
}
|
$.jBox.confirm("确定要删除该物料吗?", "提示", submit);
|
}
|
else
|
if ($(e.target).is("a.audit")) {
|
var MatNo = item.MatNo;
|
var AuditFlag = item.AuditFlag;
|
if (AuditFlag == "已审核") {
|
$.jBox.tip("该项目已审核,无需再审核", "warn");
|
return false;
|
}
|
|
var submit = function (v, h, f) {
|
if (v) {
|
var list = [];
|
list.push(MatNo);
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
if (f.AuditMat == "Yes")
|
param["Operation"] = "AD02";
|
else if (f.AuditMat == "No")
|
param["Operation"] = "AD03";
|
var Server = MatManager.Server();
|
Server.Audit(param, function (result) {
|
$.jBox.tip(result.Message, "success");
|
var pageSize = $("#mypager").pager("GetPageSize");
|
MatManager.PageClick(1, pageSize);
|
});
|
}
|
};
|
var html = "<div style='padding: 20px; text-align: center'><input type='radio' name='AuditMat' class= 'input-medium' value = 'Yes' style='margin:0px 5px;'/>通过 <input type='radio' name='AuditMat' class= 'input-medium' value = 'No' style='margin:0px 5px 0px 20px;'/>拒绝</div> ";
|
|
$.jBox(html, { title: "审核物料", buttons: { "确定": true, "取消": false }, submit: submit });
|
}
|
});
|
},
|
GetSelect: function () {
|
var list = [];
|
if (this.MatGrid != undefined) {
|
var rows = this.MatGrid.selectedRows();
|
if (rows != undefined && rows.length > 0) {
|
for (var i = 0; i < rows.length; i++) {
|
list.push(rows[i].Guid);
|
}
|
}
|
}
|
return list;
|
},
|
GetSearch: function () {
|
var searchBar = $("div[data-condition='search']");
|
var MatNo = searchBar.find("input[name='MatNoS']").val();
|
var MatName = searchBar.find("input[name='MatNameS']").val();
|
var PackFormat = searchBar.find("input[name='PackFormat']").val();
|
var BrandId = searchBar.find("select[name='Brand']").val();
|
var MatTypeId = searchBar.find("select[name='MatType']").val()
|
var IsDel = searchBar.find("select[name='IsDel']").val()
|
|
var search = {};
|
search["MatNo"] = MatNo;
|
search["MatName"] = MatName;
|
search["PackFormat"] = PackFormat;
|
search["BrandId"] = BrandId;
|
search["MatTypeId"] = MatTypeId;
|
search["IsDel"] = IsDel;
|
return search;
|
},
|
ToolBar: function () {
|
|
//工具栏按钮点击事件
|
$("div.toolbar").find("a.btn").click(function () {
|
var command = $(this).attr("data-command");
|
|
if (command == "Add") {
|
MatManager.Dialog(undefined, command);
|
}
|
else if (command == "Edit") {
|
var list = MatManager.GetSelect();
|
if (list.length == 0) {
|
$.jBox.tip("请选择要编辑的项", "warn");
|
return false;
|
}
|
var MatNo = list[0];
|
MatManager.Dialog(MatNo, command);
|
}
|
else if (command == "Del") {
|
var submit = function (v, h, f) {
|
if (v == "ok") {
|
var list = MatManager.GetSelect();
|
if (list.length == 0) {
|
$.jBox.tip("请选择要删除的项", "warn");
|
return false;
|
}
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
var Server = MatManager.Server();
|
Server.Delete(param, function (result) {
|
var pageSize = $("#mypager").pager("GetPageSize");
|
MatManager.PageClick(1, pageSize);
|
|
$.jBox.messager(result.Message, "提示");
|
});
|
}
|
}
|
$.jBox.confirm("确定要删除吗?", "提示", submit);
|
|
} else if (command == "outExcel") {
|
var list = MatManager.GetSelect();
|
if (list.length == 0) {
|
$.jBox.tip("请选择要导出的项", "warn");
|
return false;
|
}
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
var Server = MatManager.Server();
|
//var search = MatManager.GetSearch();
|
Server.ToExcel(param, function (result) {
|
if (result.Code == 1000) {
|
var path = unescape(result.Message);
|
window.location.href = path;
|
} else {
|
$.jBox.info(result.Message, "提示");
|
}
|
});
|
} else if (command == "Refresh") {
|
MatManager.Refresh();
|
} else if (command == "inExcel") {
|
$.jBox.tip("请选择要导出的项", "warn");
|
} else if (command == "Audit") {
|
var list = [];
|
var listrue = false;
|
if (MatManager.MatGrid != undefined) {
|
var rows = MatManager.MatGrid.selectedRows();
|
if (rows != undefined && rows.length > 0) {
|
for (var i = 0; i < rows.length; i++) {
|
if (rows[i].AuditFlag == "已审核") {
|
listrue = true;
|
break;
|
}
|
list.push(rows[i].MatNo);
|
}
|
}
|
}
|
|
if (listrue) {
|
$.jBox.tip("请选择要审核的项包含已审核项,无法完成操作", "warn");
|
return false;
|
}
|
if (list.length == 0) {
|
$.jBox.tip("请选择要审核的项", "warn");
|
return false;
|
}
|
var submit = function (v, h, f) {
|
if (v) {
|
var param = {};
|
param["list"] = JSON.stringify(list);
|
if (f.AuditMat == "Yes")
|
param["Operation"] = "AD02";
|
else if (f.AuditMat == "No")
|
param["Operation"] = "AD03";
|
var Server = MatManager.Server();
|
Server.Audit(param, function (result) {
|
$.jBox.tip(result.Message, "success");
|
var pageSize = $("#mypager").pager("GetPageSize");
|
MatManager.PageClick(1, pageSize);
|
});
|
}
|
}; //<label><br/></label>
|
var html = "<div style='padding: 20px; text-align: center'><input type='radio' name='AuditMat' class= 'input-medium' value = 'Yes' style='margin:0px 5px;'/>通过 <input type='radio' name='AuditMat' class= 'input-medium' value = 'No' style='margin:0px 5px 0px 20px;'/>拒绝</div> ";
|
|
$.jBox(html, { title: "审核物料", buttons: { "确定": true, "取消": false }, submit: submit });
|
} else if (command == "Input") {
|
$('#excelFile').click();
|
}
|
});
|
|
//搜索
|
var searchBar = $("div[data-condition='search']");
|
searchBar.find("a[data-command='search']").click(function () {
|
MatManager.PageClick(1, 50);
|
});
|
|
//监听回车事件,用于扫描
|
$("input[name='MatNoS']").keydown(function (event) {
|
if (event.keyCode == 13) {
|
var value = $(this).val();
|
if (!git.IsEmpty(value)) {
|
MatManager.PageClick(1, 50);
|
setTimeout(function () {
|
$("input[name='MatNoS']").val("");
|
$("input[name='MatNoS']").focus();
|
}, 300);
|
}
|
}
|
});
|
|
$('#excelFile').on('change', function () {
|
MatManager.ImportExcel();
|
});
|
|
$("input[name='MatNoS']").focus();
|
//加载默认数据
|
MatManager.PageClick(1, 50);
|
|
|
},
|
//导入excel
|
ImportExcel: function () {
|
var formData = new FormData();
|
var filename = $('#excelFile').val();
|
if (filename == null || filename == "" || filename == "undefined") {
|
$.jBox.tip("请选择文件", "warning");
|
return;
|
} else {
|
formData.append('file', $("#excelFile")[0].files[0]); //将文件转成二进制形式
|
$.ajax({
|
type: "post",
|
url: "/BasicInfo/Mat/ExcelToUpload",//"/文件名/控制器名/控制器内方法"
|
async: false,
|
contentType: false, //这个一定要写
|
processData: false, //这个也一定要写,不然会报错
|
data: formData,
|
dataType: 'json', //返回类型
|
success: function (data) {
|
if (data == "导入失败,请检查匹配") {
|
//$.jBox.tip(data, 'error');
|
var submit = function (v, h, f) {
|
window.location.href = "/BasicInfo/Mat/MatList";
|
}
|
$.jBox.confirm(data, "提示", submit);
|
} else {
|
//window.location.href = "/BasicInfo/Mat/MatList";
|
// $.jBox.tip(data, 'success');
|
var submit = function (v, h, f) {
|
window.location.href = "/BasicInfo/Mat/MatList";
|
}
|
$.jBox.confirm(data, "提示", submit);
|
}
|
}
|
})
|
}
|
},
|
};
|
|
var AddMatManager = {
|
Server: function (URL, data, callback) {
|
$.gitAjax({
|
url: URL,
|
data: data,
|
type: "post",
|
dataType: "json",
|
success: function (result) {
|
callback(result);
|
}
|
});
|
},
|
ToolBar1: function () {
|
$('div.controls').find("#MatNo").change(function () {
|
var MatNo = $('div.controls').find("#MatNo").val();
|
if (MatNo.length > 5)
|
{
|
AddMatManager.Server("/MatAjax/IsCheckMatNo",
|
{ aaa: MatNo }, function (result) {
|
if (result.Code != 1) {
|
$.jBox.tip("物料编码重复,请重新输入!", "warn");
|
}
|
});
|
}
|
})
|
}
|
}
|