//-----------------------系统管理-->入库单管理----------------------// 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); } //------------------------系统管理-->入库单管理结束--------------------------// |