//-----------------------系统管理-->入库单管理----------------------//
var editIndex = undefined;
var mainIndex = undefined;
//刷新数据
function initable() {
$( "#dgINSO" ).datagrid({
url: "/InStock/List" ,
title: "入库单管理" ,
pagination: true ,
pageSize: 10,
pageList: [10, 20, 30],
fit: true ,
fitColumns: false ,
loadMsg: "正在加载入库单信息..." ,
nowarp: false ,
border: false ,
idField: "Id" ,
sortName: "Id" ,
sortOrder: "asc" ,
frozenColumns: [[ //冻结列
{ field: "ck" , checkbox: true , align: "left" , width: 50 }
]],
columns: [[
{ title: "编号" , field: "Id" , width: 50, sortable: true },
{ title: "入库单号" , field: "No" , width: 100, sortable: true },
{title: "状态" , field: "Status" , width: 50 },
{ title: '到货日期' , field: 'ReceiveTime' , width: 100, align: 'center' },
{ title: "货主" , field: "OwnerCode" , width: 150, sortable: true },
{ title: "预计到货时间" , field: "PreDeliveryTime" , width: 100, sortable: false },
{ title: '客户' , field: 'CustomerName' , width: 120, align: 'center' },
{ title: '收货人' ,field: 'Oper' , width: 100, align: 'center' },
{ title: '审核人' ,field: 'Checker' , width: 120, align: 'center' },
{ title: '件数' , field: 'PackageQty' , width: 100, align: 'center' },
{ title: '创建时间' , field: 'CreationTime' , width: 100, align: 'center' }
]]
});
}
//显示送货单数据
function ShowCargo() {
abp.log.warn( '货物信息列表日志...' );
$( "#dgCargo" ).datagrid({
url: "/Cargo/List" ,
title: "货物管理管理" ,
pagination: true ,
pageSize: 10,
pageList: [10, 20, 30],
fit: true ,
fitColumns: false ,
loadMsg: "正在加载货物信息..." ,
nowarp: false ,
border: false ,
idField: "Id" ,
sortName: "Id" ,
sortOrder: "asc" ,
frozenColumns: [[ //冻结列
{ field: "ck" , checkbox: true , align: "left" , width: 50 }
]],
columns: [[
{ title: "编号" , field: "Id" , width: 50, sortable: true },
{ title: "供应商" , field: "SupplierId" , width: 80, sortable: true },
{ title: "HSCode" , field: "HSCode" , width: 100, sortable: true },
{ title: "货物代码" , field: "CargoCode" , width: 100, sortable: true },
{ title: "货物名称" , field: "CargoName" , width: 80, sortable: false },
{ title: "规格型号" , field: "Spcf" , width: 100, sortable: false },
{ title: "产销国" , field: "Country" , width: 80, sortable: false },
{ title: "计量单位" , field: "Unit" , width: 100, sortable: false },
{ title: "包装" , field: "Package" , width: 100, sortable: false },
{ title: "单价" , field: "Price" , width: 100, sortable: false },
{ title: "币制" , field: "Curr" , width: 80, sortable: false },
{
title: "长宽高" , field: "Length" , width: 100, sortable: false , formatter: function (value, row, index) {
return row.Length + '*' + row.Width + '*' + row.Height;
}
},
{ title: "体积" , field: "Vol" , width: 80, sortable: false },
{ title: "备注" , field: "Remark" , width: 80, sortable: false },
{ title: '创建时间' , field: 'CreationTime' , width: 100, align: 'center' }
]]
});
abp.log.warn( '3货物信息列表日志...' );
}
function ShowCargoInfo() {
$( "#divImportCargo" ).dialog({
closed: false ,
title: "选择货物信息" ,
modal: true ,
width: 820,
height: 550,
collapsible: true ,
minimizable: true ,
maximizable: true ,
resizable: true
});
ShowCargo();
$( "#dgCargo" ).datagrid( "clearChecked" );
$( "#dgCargo" ).datagrid( "clearSelections" );
}
function reloaded() { //reload
$( "#reload" ).click( function () {
//
$( '#dgINSO' ).datagrid( 'reload' );
});}
//修改点击按钮事件
function updInSOInfo() {
$( "#edit" ).click( function () {
//判断选择的中
var row = $( "#dgINSO" ).datagrid( 'getSelected' );
if (row) {
$.messager.confirm( '编辑' , '您想要编辑吗?' , function (r) {
if (r) {
//先绑定
showINO(row);
//打开对话框编辑
$( "#divAddUpdINO" ).dialog({
closed: false ,
title: "修改入库单" ,
modal: true ,
width: 820,
height: 550,
collapsible: true ,
minimizable: true ,
maximizable: true ,
resizable: true ,
});
defaultTab();
ShowDetail(row.No);
}
});
SetEnabled(row.Status);
} else {
$.messager.alert( '提示' , ' 请选择要编辑的行!' , 'warning' );
}
});
}
//删除入库单
function deleteInSO() {
$( "#del" ).click( function () {
var rows = $( "#dgINSO" ).datagrid( "getSelections" );
if (rows.length > 0) {
$.messager.confirm( "提示" , "确定要删除吗?" , function (res) {
if (res) {
var codes = []; //重要不是{}
for ( var i = 0; i < rows.length; i++) {
codes.push(rows[i].Id);
}
$.post( "/InStock/Delete" , { "ids" : codes.join( ',' ) }, function (data) {
if (data == "OK" ) {
$.messager.alert( "提示" , "删除成功!" );
$( "#dgINSO" ).datagrid( "clearChecked" );
$( "#dgINSO" ).datagrid( "clearSelections" );
$( "#dgINSO" ).datagrid( "load" , {});
}
else if (data == "NO" ) {
$.messager.alert( "提示" , "删除失败!" );
return ;
}
});
}
});
}
})
}
//清空文本框
function clearAll() {
$( "#divAddUpdINO input" ).each( function () {
$( this ).val( "" );
});
$( "#PreDeliveryTimeUpdate" ).val(getNowFormatDate());
$( "#StatusUpdate" ).val( "0" );
$( "#NwtUpdate" ).val( "0" );
$( "#GwtUpdate" ).val( "0" );
$( "#PackageQtyUpdate" ).val( "0" );
}
function GetNo() {
$.get(abp.appPath + "api/services/app/InStockOrder/GetNo" , function (data) {
$( "#UpdNO" ).val(data);
});
}
//获取当前时间,格式YYYY-MM-DD
function getNowFormatDate() {
var date = new Date();
var seperator1 = "-" ;
var year = date.getFullYear();
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = year + seperator1 + month + seperator1 + strDate;
return currentdate;
}
//将表单数据转为json
function form2Json(id) {
var arr = $( "#" + id).serializeArray()
var jsonStr = "" ;
jsonStr += '{' ;
for ( var i = 0; i < arr.length; i++) {
jsonStr += '"' + arr[i].name + '":"' + arr[i].value + '",'
}
jsonStr = jsonStr.substring(0, (jsonStr.length - 1));
jsonStr += '}'
var json = JSON.parse(jsonStr)
return json
}
function SetEnabled(status) {
//var status = $("#StatusUpdate").val()
if (status == "提交" ) {
$( "#btnSave" ).prop( 'disabled' , true );
}
else {
$( "#btnSave" ).removeAttr( "disabled" );
}
}
function defaultTab() {
//默认显示第一个tab
$( '#box' ).tabs( 'select' , "入库单" );
}
//弹出 导入送货单的的对话框
function showInSODialog() {
$( "#add" ).click( function () {
$.messager.confirm( '编辑' , '您想要创建入库单吗?' , function (r) {
if (r) {
//打开对话框编辑
$( "#divAddUpdINO" ).dialog({
closed: false ,
title: "新增入库单" ,
modal: true ,
width: 820,
height: 550,
collapsible: true ,
minimizable: true ,
maximizable: true ,
resizable: true ,
});
}
defaultTab();
GetNo();
clearAll();
ShowDetail( "" );
});
});
$( "#btnSave" ).click( function () {
//保存
var id = $( "#IDUpdate" ).val();
if (id == "" || id == undefined) {
//验证
$.messager.confirm( '确认' , '您确认要保存吗?' , function (r) {
if (r) {
var postData = GetINO();
if (postData.No == "" || postData.CustomerCode == "" || postData.CustomerName== "" || postData.OwnerName== "" ) {
$.messager.alert( '提示' , ' 请填写相关必填项!' , 'warning' );
return ;
}
$.post( "/InStock/Add" , postData, function (data) {
if (data == "OK" ) {
// $("#divAddUpdDO").dialog("close");
$.messager.alert( "提示" , "保存成功!" );
initable();
collapseRows();
}
else if (data == "NO" ) {
$.messager.alert( "提示" , "保存失败!" );
return ;
}
});
}
})
}
else {
saveDetail();
initable();
collapseRows();
}
});
}
//添加明细
function ShowDetail(no) {
var lastIndex;
$( "#dgINOD" ).datagrid({
url: "/InStock/GetDetail?no=" + no,
title: "入库单明细" ,
pagination: false ,
fit: true ,
fitColumns: false ,
loadMsg: "正在加载入库单明细信息..." ,
toolbar: [
{ text: '添加明细' , iconCls: 'icon-add' , handler: function () { ShowCargoInfo(); } },
{ text: '添加库位' , iconCls: 'icon-edit' , handler: function () { SubGridAddRow(); } },
{ text: '删除' , iconCls: 'icon-remove' , handler: function () { deviceInfoDeleteClick(); } },
'-'
],
nowarp: false ,
border: false ,
idField: "Id" ,
sortName: "Id" ,
sortOrder: "asc" ,
singleSelect: true ,
iconCls: 'icon-edit' ,
columns: [[
{ title: "编号" , field: "SeqNo" , width: 50, sortable: true },
{ title: "入库单号" , field: "InStockNo" , width: 100, sortable: true },
{ title: "HSCode" , field: "HSCode" , width: 80, sortable: false },
{ title: "货物代码" , field: "CargoCode" , width: 100, sortable: true },
{ title: "货物名称" , field: "CargoName" , width: 160, sortable: false },
{ title: "规格型号" , field: "Spcf" , width: 80, sortable: false },
{
title: "数量" , field: "Qty" , width: 100, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 4
}
}
},
{
title: "长" , field: "Length" , width: 70, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 2
}
}
},
{ title: "宽" , field: "Width" , width: 70, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 2
}
}
},
{
title: "高" , field: "Height" , width: 70, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 2
}
}
},
{ title: "产销国" , field: "Country" , width: 70, align: 'center' },
{
title: "单价" , field: "Price" , width: 100, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 2
}
}
},
{
title: "总价" , field: "TotalAmt" , width: 100, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 2
}
}
},
{ title: "包装" , field: "Package" , width: 70, align: 'center' },
{ title: "计量单位" , field: "Unit" , width: 70, align: 'center' },
{
title: "总体积" , field: "Vol" , width: 70, align: 'center' , editor: {
type: 'numberbox' , options: {
required: true , min: 0, precision: 4
}
}
},
{ title: "品牌" , field: "Brand" , width: 70, align: 'center' }
]],
onClickRow: function (index, rowData) {
if (mainIndex!=undefined) {
$( '#dgINOD' ).datagrid( 'collapseRow' , mainIndex);
}
if (lastIndex != index) {
$( '#dgINOD' ).datagrid( 'endEdit' , lastIndex);
editrow(index);
}
lastIndex = index;
},
onBeginEdit: function (rowIndex, rowData) {
setEditing(rowIndex);
}
});
}
//计算报价小计
function setEditing(rowIndex) {
var editors = $( '#dgINOD' ).datagrid( 'getEditors' , rowIndex);
var priceEditor = editors[4];
var qtyEditor = editors[0];
var lengthEditor = editors[1];
var widthEditor = editors[2];
var heightEditor = editors[3];
var totalVolEditor = editors[6];
var totalAmtEditor = editors[5];
priceEditor.target.numberbox({
onChange: function () { calculate();}
});
qtyEditor.target.numberbox({
onChange: function () {
calculate();
calculateVol();
}
});
lengthEditor.target.numberbox({
onChange: function () { calculateVol(); }
});
widthEditor.target.numberbox({
onChange: function () { calculateVol(); }
});
heightEditor.target.numberbox({
onChange: function () { calculateVol(); }
});
function calculate() {
var cost = (priceEditor.target.val()) * (qtyEditor.target.val());
console.log(cost);
totalAmtEditor.target.numberbox( "setValue" , cost);
}
function calculateVol() {
var vol = (lengthEditor.target.val() / 100.0) * (widthEditor.target.val() / 100.0)<br> * (heightEditor.target.val() / 100.0)* (qtyEditor.target.val());
console.log(vol);
totalVolEditor.target.numberbox( "setValue" , vol);
}
}
function editrow(index) {
$( '#dgINOD' ).datagrid( 'selectRow' , index)
.datagrid( 'beginEdit' , index);
}
function endEdit() {
var rows = $( '#dgINOD' ).datagrid( 'getRows' );
if (rows==undefined) {
return ;
}
for ( var i = 0; i < rows.length; i++) {
$( '#dgINOD' ).datagrid( 'endEdit' , i);
}
}
//设置入库单明细数据
function setGridDetail(effectRow) {
if ($( '#dgINOD' ).datagrid( 'getChanges' ).length) {
var inserted = $( '#dgINOD' ).datagrid( 'getChanges' , "inserted" );
var deleted = $( '#dgINOD' ).datagrid( 'getChanges' , "deleted" );
var updated = $( '#dgINOD' ).datagrid( 'getChanges' , "updated" );
if (inserted.length) {
effectRow[ "inserted" ] = JSON.stringify(inserted);
}
if (deleted.length) {
effectRow[ "deleted" ] = JSON.stringify(deleted);
}
if (updated.length) {
effectRow[ "updated" ] = JSON.stringify(updated);
}
}
return effectRow;
}
function saveDetail() {
endEdit();
$.messager.confirm( '确认' , '您确认要修改吗?' , function (r) {
var effectRow = new Object();
var postData = GetINO();
if (postData.Id) {
effectRow[ "postdata" ] = JSON.stringify(postData);
}
effectRow = setGridDetail(effectRow);
$.post( "/InStock/Update" , effectRow, function (data) {
if (data.success) {
$.messager.alert( "提示" , data.result);
$( '#dgINOD' ).datagrid( 'acceptChanges' );
}
else {
$.messager.alert( "提示" , data.result);
return ;
}
}, "JSON" )
;
})
}
function init() {
$( "#PreDeliveryTimeUpdate" ).val(getNowFormatDate());
$( "#CreationTimeUpdate" ).val(getNowFormatDate());
$( "#btnCancle" ).click( function () {
$( "#divAddUpdINO" ).dialog( "close" );
$( '#dgINSO' ).datagrid( 'reload' );
});
$( "#btnCancleDO" ).click( function () {
$( "#divImportCargo" ).dialog( "close" );
$( '#dgINSO' ).datagrid( 'reload' );
});
$( "#btnImportDO" ).click( function () {
//保存
var rows = $( '#dgCargo' ).datagrid( 'getSelections' );
if (rows.length > 0) {
//验证
$.messager.confirm( '确认' , '您确认要保存所选择的货物信息吗?' , function (r) {
if (r) {
var obj_No = $( "#UpdNO" ).val();
var ids = []; //重要不是{}
for ( var i = 0; i < rows.length; i++) {
ids.push(rows[i].Id);
}
var postData = {
"Ids" : ids.join( ',' ),
"No" : obj_No
};
$.post( "/InStock/ImportCargo" , postData, function (data) {
if (data == "OK" ) {
$.messager.alert( "提示" , "保存货物信息成功!" );
ShowDetail(obj_No);
}
else if (data == "NO" ) {
$.messager.alert( "提示" , "保存货物信息失败!" );
return ;
}
});
}
})
}
});
$( "#btnSubmit" ).click( function () {
//保存
var id = $( "#IDUpdate" ).val();
if (id == "" || id == undefined) {
$.messager.alert( "提示" , "入库单没有保存,请先保存!" );
return ;
}
//验证
$.messager.confirm( '确认' , '您确认要提交入库单吗?' , function (r) {
if (r) {
var postData = {
"Id" : id
};
$.post( "/InStockMgr/Submit" , postData, function (data) {
if (data == "OK" ) {
$.messager.alert( "提示" , "入库单已经提交成功!" );
$( "#StatusUpdate" ).val( "提交" );
SetEnabled( "提交" );
}
else if (data == "NO" ) {
$.messager.alert( "提示" , "入库单提交失败!" );
return ;
}
});
}
})
});
}
function GetINO() {
var postData = {
"No" : $( "#UpdNO" ).val(),
"DeliveryNo" : "" ,
"PreDeliveryTime" : $( "#PreDeliveryTimeUpdate" ).val(),
"CustomerCode" : $( "#CustomerCodeUpdate" ).val(),
"OwnerName" : $( "#OwnerNameUpdate" ).val(),
"OwnerCode" : $( "#OwnerCodeUpdate" ).val(),
"CustomerName" : $( "#CustomerNameUpdate" ).val(),
"CreationTime" : $( "#CreationTimeUpdate" ).val(),
"CheckTime" : $( "#CheckTimeUpdate" ).val(),
"WarehouseType" : $( "#WarehouseTypeUpdate" ).val(),
"WarehouseNo" : $( "#WarehouseNoUpdate" ).val(),
"Oper" : $( "#OperUpdate" ).val(),
"Receiver" : $( "#ReceiverUpdate" ).val(),
"Nwt" : $( "#NwtUpdate" ).val(),
"Remark" : $( "#RemarkUpdate" ).val(),
"ReceiveTime" : $( "#ReceiveTimeUpdate" ).val(),
"Status" : $( "#StatusUpdate" ).val(),
"Gwt" : $( "#GwtUpdate" ).val(),
"Checker" : $( "#CheckerUpdate" ).val(),
"PackageQty" : $( "PackageQtyUpdate" ).val(),
"LastUpdateTime" : "" ,
"LastOper" : ""
};
var id = $( "#IDUpdate" ).val();
if (!(id== "" || id==undefined)) {
postData.Id = id;
}
return postData;
}
function showINO(row)
{
$( "#IDUpdate" ).val(row.Id);
$( "#UpdNO" ).val(row.No);
$( "#PreDeliveryTimeUpdate" ).val(row.PreDeliveryTime);
$( "#CustomerCodeUpdate" ).val(row.CustomerCode);
$( "#CustomerNameUpdate" ).val(row.CustomerName);
$( "#OwnerCodeUpdate" ).val(row.OwnerCode);
$( "#OwnerNameUpdate" ).val(row.OwnerName);
$( "#CreationTimeUpdate" ).val(row.CreationTime);
$( "#CheckTimeUpdate" ).val(row.CheckTime);
$( "#WarehouseTypeUpdate" ).val(row.WarehouseType);
$( "#WarehouseNoUpdate" ).val(row.WarehouseNo);
$( "#OperUpdate" ).val(row.Oper);
$( "#ReceiverUpdate" ).val(row.Receiver);
$( "#NwtUpdate" ).val(row.Nwt);
$( "#RemarkUpdate" ).val(row.Remark);
$( "#ReceiveTimeUpdate" ).val(row.ReceiveTime);
$( "#StatusUpdate" ).val(row.Status);
$( "#GwtUpdate" ).val(row.Gwt);
$( "#CheckerUpdate" ).val(row.Checker);
}
//------------------------系统管理-->入库单管理结束--------------------------//
|