You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HENGCHENG/DSWeb/js/jsGridSeaExportInfoCtn.js

1361 lines
43 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var mygrid_recv;
var page_count = 5;
var column_count;
var jsonTopCtnObj;
var changeCount = 0;
//两端去空格函数
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }
function $(id){
return document.getElementById(id);
}
function doInitRecvGrid()
{
if($("hd_comboBLTYPE").value!="整箱")
{
document.getElementById('divadd').style.display = "none";
//document.getElementById('divsave').style.display = "none";
document.getElementById('divrefresh').style.display = "none";
document.getElementById('divdel').style.display = "none";
document.getElementById('divrollback').style.display = "none";
}
//
mygrid_recv = new dhtmlXGridObject('mygrid_container_recv');
mygrid_recv.setImagePath("../images/");
mygrid_recv.setSkin("xp");
mygrid_recv.setHeader("箱型,箱量,箱号,封号,件数,包装类型,箱内货重,箱皮重,尺码,备注");
mygrid_recv.setInitWidths("60,40,90,50,50,80,80,80,80,70");
mygrid_recv.setColAlign("center,left,left,left,left,left,left,left,left,left");
mygrid_recv.setColSorting("str,str,str,str,str,str,str,str,str,str");
mygrid_recv.setColTypes("co,ed,ed,ed,ed,co,ed,ed,ed,ed");
var BSNO = $("dvOrderNumVal").value.trim();
var urlVal = "SeaExportInfoGridSource.aspx?read=exist&showcount=1&BSNO="+BSNO+"&val="+newGuid();
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
loader = null;
if(parseInt(loadVal) == 1)
{
mygrid_recv.loadXML("SeaExportInfoGridSource.aspx?read=init&showcount=1&BSNO="+BSNO);
setTimeout(function(){
ReShowLabel(mygrid_recv);
},200);
}
mygrid_recv.init();
mygrid_recv.enableEditEvents(true,false,true);
mygrid_recv.enableMultiselect(true);
mygrid_recv.enableKeyboardSupport(true);
var pushVal = "";
var pressRecord = "";
var pressRowIndex = -1;
var pressCellIndex = -1;
var pressCount = 0;
var isExchange = false;
var shiftCount = 0;
var isDelete = 0;
var flagFilter = 0;
var flagTab = 0;
var flagEnter = 0;
var flagDelete = 0;
//手动编写Grid控件编辑事件,由于免费控件没有提供完整的编辑判断功能,现特此做更改
mygrid_recv.attachEvent("onEditCell", function(stage, rId, cInd, nValue, oValue) {
var newCheckValue = false;
//初始化状态
if (stage == 0) {
var selectedId = mygrid_recv.getSelectedRowId();
var rowIndex = mygrid_recv.getRowIndex(selectedId);
var oldVal = mygrid_recv.cellByIndex(rowIndex, 0).getValue().trim();
return true;
}
if (stage == 1) {
return true;
}
//如果编辑结束
if (stage == 2) {
//获取当前RowID
var selectedId = mygrid_recv.getSelectedRowId();
//获取当前RowIndex
var rowIndex = mygrid_recv.getRowIndex(selectedId);
//获取当前CellIndex(ind)
var ind = mygrid_recv.getSelectedCellIndex();
//触发操作事件前获取单元值
var oldVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
if (ind == 0) {
oldVal = oldVal.toUpperCase();
var loader = dhtmlxAjax.getSync("../FeeCodes/TopCtnAdapter.aspx?ctn=" + oldVal + "&val=" + newGuid());
oldVal = loader.xmlDoc.responseText;
//将value写入cell(触发 stage2)
mygrid_recv.cellByIndex(rowIndex, ind).setValue(oldVal);
}
else if (ind == 5) {
oldVal = oldVal.toUpperCase();
//comboKINDPKGS.loadXML("../FeeCodes/TCodePackageAdapter.aspx?mask=0&pos=0");
var loader = dhtmlxAjax.getSync("../FeeCodes/TopCtnAdapter.aspx?kindpkgs=" + oldVal + "&val=" + newGuid());
oldVal = loader.xmlDoc.responseText;
//将value写入cell(触发 stage2)
mygrid_recv.cellByIndex(rowIndex, ind).setValue(oldVal);
}
else if (ind == 6 || ind == 7 || ind == 8)//键盘输入浮点数字
{
if (oldVal.trim() != "") {
var bl = isFloat(oldVal);
if (!bl) {
alert("重量或尺码格式出错!");
return false;
}
}
}
else if (ind == 1 || ind == 4)//键盘输入整数
{
if (oldVal.trim() != "") {
var bl = isInt(oldVal);
if (!bl) {
alert("箱量或件数格式出错!");
return false;
}
}
}
return true;
}
});
//键盘操作事件
mygrid_recv.attachEvent("onKeyPress", function(code,cFlag,sFlag)
{
//onKeyPress begin
//获取当前RowID
var selectedId = mygrid_recv.getSelectedRowId();
//获取当前RowIndex
var rowIndex = mygrid_recv.getRowIndex(selectedId);
//获取当前CellIndex(ind)
var ind = mygrid_recv.getSelectedCellIndex();
//触发操作事件前获取单元值
var oldVal = mygrid_recv.cellByIndex(rowIndex,ind).getValue();
//获取编辑单元
var txtEdit;
//Tab键
if(code == 9)
{
var colCount = mygrid_recv.getColumnsNum();
var rowCount = mygrid_recv.getRowsNum();
if(ind < colCount)
{
isExchange = false;
pressRecord = "";
pressRowIndex = -1;
pressCellIndex = -1;
mygrid_recv.editStop(true);
mygrid_recv.cellByIndex(rowIndex,ind).setLabel(oldVal);
var cInd = ind;
var rId = selectedId;
mygrid_recv.selectCell(rowIndex,ind+1,true,true);
mygrid_recv.editCell();
if(ind == colCount - 1)
{
if(rowIndex < rowCount)
{
mygrid_recv.editStop(true);
mygrid_recv.clearSelection();
mygrid_recv.selectCell(rowIndex+1,0,true,true);
mygrid_recv.editCell();
}
else
{
return;
}
}
}
}
else if(code == 40)//向下方向键
{
var rowCount = mygrid_recv.getRowsNum();
mygrid_recv.clearSelection();
mygrid_recv.editStop();
if(rowIndex == (rowCount - 1))
{
addRecvRow();
}
else
{
mygrid_recv.selectCell(rowIndex+1,0,true,true);
mygrid_recv.editCell();
}
}
else if(code == 38)//向上箭头
{
if(rowIndex > 0)
{
mygrid_recv.clearSelection();
mygrid_recv.editStop();
mygrid_recv.selectCell(rowIndex-1,0,true,true);
mygrid_recv.editCell();
}
}
else
{
if(ind == 0 || ind == 5)
{
for(i = 0; i < document.all.length; i++)
{
if(document.all(i).tagName == "TEXTAREA")
{
txtEdit = document.all(i);
break;
}
}
if(code>=65&&code<=90)
{//如果是输入英文字符
if(ind == 0)
{
//获取键盘输入字符
var pressVal = String.fromCharCode(code);
var start=0;
var end=0;
if(document.selection){
var range = document.selection.createRange();
if(range.parentElement().className == txtEdit.className){
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtEdit);
for (start=0; range_all.compareEndPoints("StartToStart", range) < 0; start++){
range_all.moveStart('character', 1);
}
for (var i = 0; i <= start; i ++){
if (txtEdit.value.charAt(i) == '\n')
start++;
}
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtEdit);
for (end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; end ++)
range_all.moveStart('character', 1);
for (var i = 0; i <= end; i ++){
if (txtEdit.value.charAt(i) == '\n')
end ++;
}
}
}
//如果是当前检索位置
if(rowIndex == pressRowIndex && ind == pressCellIndex){
//未选中多个字符
if(start == end){
if(start != pressRecord.length){
if(start != 0){
var firstVal = pressRecord.substring(0,start - 1);
var endVal = pressRecord.substring(start + 1,txtEdit.value.length - 1);
pressRecord = firstVal+pressVal+endVal;
}
}else{
pressRecord = pressRecord+pressVal;
}
}
//选中多个字符
if(start != end){
var firstVal = pressRecord.substring(0,start);
var endVal = pressRecord.substring(end - 1,txtEdit.value.length - 1);
pressRecord = firstVal+pressVal+endVal;
}
}else{
pressRecord = pressVal;
pressRowIndex = rowIndex;
pressCellIndex = ind;
}
//获取combo下拉列表
var combo = mygrid_recv.getCustomCombo(selectedId,ind);
var comboArg = combo.getKeys();
var count = 0;
//开始遍历检索
//如果检索成功 状态pressCount=1 如果不成功应为pressCount=2
for(var i = 0;i<comboArg.length;i++){
if(combo.get(comboArg[i]).toUpperCase().trim().indexOf(pressRecord) == 0){
//计数
count++;
//获取value
var oldVal = comboArg[i];
//获取label
var oldLab = combo.get(comboArg[i]);
//记录状态值 检索到数据项
pressCount = 1;
flagFilter = 1;
//关闭编辑
mygrid_recv.editStop();
//将value写入cell(触发 stage2)
mygrid_recv.cellByIndex(rowIndex,ind).setValue(oldVal);
flagFilter = 0;
//重新打开cell(触发stage0 stage1)
mygrid_recv.selectCell(rowIndex,ind,true,true);
mygrid_recv.editCell();
var old_length = oldLab.length;
//产生效果将检索字母之后的数据进行选黑
for(i = 0; i < document.all.length; i++){
if(document.all(i).tagName == "TEXTAREA"){
txtEdit = document.all(i);
var rt = txtEdit.createTextRange();
rt.collapse();
rt.select();//光标置最前
var r = document.selection.createRange();
r.collapse(false);
r.moveStart("character", pressRecord.length);//从m位开始
r.moveEnd("character", old_length);//选取n位
r.select();
break;
}
}
break;
}
}
//如果检索不能成功 pressCount=2
if(count == 0){
// pressCount = 2;
// txtEdit.value = pressRecord;
// for(i = 0; i < document.all.length; i++)
// {
// if(document.all(i).tagName == "TEXTAREA")
// {
// txtEdit = document.all(i);
//
// var rt = txtEdit.createTextRange();
// rt.collapse();
// rt.select();//光标置最前
//
// var r = document.selection.createRange();
// r.collapse(true);
// r.moveStart("character", pressRecord.length);//从m位开始
// r.moveEnd("character", pressRecord.length);//选取n位
// r.select();
//
// break;
// }
// }
}
}
else if(ind == 5)
{
//获取键盘输入字符
var pressVal = String.fromCharCode(code);
var start=0;
var end=0;
if(document.selection){
var range = document.selection.createRange();
if(range.parentElement().className == txtEdit.className){
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtEdit);
for (start=0; range_all.compareEndPoints("StartToStart", range) < 0; start++){
range_all.moveStart('character', 1);
}
for (var i = 0; i <= start; i ++){
if (txtEdit.value.charAt(i) == '\n')
start++;
}
var range_all = document.body.createTextRange();
range_all.moveToElementText(txtEdit);
for (end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; end ++)
range_all.moveStart('character', 1);
for (var i = 0; i <= end; i ++){
if (txtEdit.value.charAt(i) == '\n')
end ++;
}
}
}
//如果是当前检索位置
if(rowIndex == pressRowIndex && ind == pressCellIndex)
{
//未选中多个字符
if(start == end)
{
var dd =pressRecord.length;
if(start != dd)
{
if(start != 0)
{
var firstVal = pressRecord.substring(0,start - 1);
var endVal = pressRecord.substring(start + 1,txtEdit.value.length - 1);
pressRecord = firstVal+pressVal+endVal;
}
else
{
pressRecord = pressRecord+pressVal;
}
}
else
{
pressRecord = pressRecord+pressVal;
}
}
//选中多个字符
if(start != end)
{
var firstVal = pressRecord.substring(0,start);
var endVal = pressRecord.substring(end - 1,txtEdit.value.length - 1);
pressRecord = firstVal+pressVal+endVal;
}
}
else
{
pressRecord = pressVal;
pressRowIndex = rowIndex;
pressCellIndex = ind;
}
//获取combo下拉列表
var combo = mygrid_recv.getCustomCombo(selectedId,ind);
var comboArg = combo.getKeys();
var count = 0;
//开始遍历检索
//如果检索成功 状态pressCount=1 如果不成功应为pressCount=2
for(var i = 0;i<comboArg.length;i++)
{
if(combo.get(comboArg[i]).toUpperCase().trim().indexOf(pressRecord) == 0)
{
//计数
count++;
//获取value
var oldVal = comboArg[i];
//获取label
var oldLab = combo.get(comboArg[i]);
//记录状态值 检索到数据项
pressCount = 1;
flagFilter = 1;
//关闭编辑
mygrid_recv.editStop();
//将value写入cell(触发 stage2)
mygrid_recv.cellByIndex(rowIndex,ind).setValue(oldVal);
flagFilter = 0;
//重新打开cell(触发stage0 stage1)
mygrid_recv.selectCell(rowIndex,ind,true,true);
mygrid_recv.editCell();
var old_length = oldLab.length;
//产生效果将检索字母之后的数据进行选黑
var r = document.selection.createRange();
r.collapse(true);
r.moveStart("character", pressRecord.length);//从m位开始
r.moveEnd("character", old_length);//选取n位
r.select();
break;
}
}
//如果检索不能成功 pressCount=2
if(count == 0)
{
//关闭编辑
mygrid_recv.editStop();
//将value写入cell(触发 stage2)
mygrid_recv.cellByIndex(rowIndex,ind).setValue(pressRecord);
flagFilter = 0;
//重新打开cell(触发stage0 stage1)
mygrid_recv.selectCell(rowIndex,ind,true,true);
mygrid_recv.editCell();
//产生效果将检索字母之后的数据进行选黑
var r = document.selection.createRange();
r.moveStart("character", pressRecord.length);//从m位开始
r.collapse(true);
r.select();
}
}
//
}
else
{
return true;
}
}
else
{
return true;
}
return true;
}
});
}
//讲下拉列表Combo所有生成Array数组
function setComboByArray(gridNewObj,comboObj,rowGID,colIndex){
//var comboTxt_arg = new Array();
var comboVal_arg = new Array();
comboVal_arg = comboObj.getKeys();
var newCombo = gridNewObj.getCustomCombo(rowGID,colIndex);
for(var i = 0;i < comboVal_arg.length;i++){
var txtValue = comboObj.get(comboVal_arg[i]);
newCombo.put(comboVal_arg[i],txtValue);
}
}
function spliceBuffer(arrayRow){
var strBuffer = "";
for(var i = 0;i<arrayRow.length;++i){
strBuffer = strBuffer + arrayRow[i];
if(i != arrayRow.length - 1){
strBuffer = strBuffer + ",";
}
}
alert(strBuffer);
}
//将整行值暂存到数组中
function getGridRowArray(arrayRow,gridObj,RowID){
var arg = new Array();
var columnCount = gridObj.getColumnsNum();
var rowCount = gridObj.getRowsNum();
alert(columnCount);alert(rowCount);
for(var i = 0;i < columnCount;i++){
alert(i);
var cellObj = gridObj.cellById(RowID, i);
alert(cellObj);
if(i==5){alert("kill");}
var cell = gridObj.cellById(RowID,i);
if(i==5){alert("kill");}
var rowValue = cell.getValue();
if(i==5){alert("kill");}
if(i == columnCount - 1){
arg.push(rowValue == 1?true:false);
break;
}
//校验获取的值是否为数字,如果是数字记录时不加引号,如果是字符增加引号
var re = /^[-\+]?\d+(\.\d+)?$/;
if (!re.test(rowValue)){
switch(i){
case 4:
case 5:
case 6:
case 9:
alert("请正确输入数字");
return;
break;
case 8://如果是币别 则根据value值获取text值
var curCombo = gridObj.getCustomCombo(RowID,i);
arg.push(curCombo.get(rowValue));
break;
default:
arg.push(rowValue);
break;
}
}else{
if(i == 7){
//获取单价
var unitPrice = isObjNaN(parseFloat(gridObj.cellById(RowID,4).getValue()));
//获取数量
var quantityCount = isObjNaN(parseFloat(gridObj.cellById(RowID,5).getValue()));
//金额
var amount = unitPrice * quantityCount;
arg.push(outputMoney(amount.toString()));
}else{
arg.push(outputMoney(isObjNaN(parseFloat(rowValue)).toString()));
}
}
}
//alert(arg);
return arg;
}
function isObjNaN(Obj){
if(Obj.toString().toLowerCase() == "nan"){
return 0;
}else{
return Obj;
}
}
function addRecvRow(){
if(mygrid_recv.getRowsNum() > 0)
{
var newId = newGuid();
//获取插入新纪录位置
var rowCount = mygrid_recv.getRowsNum();
mygrid_recv.addRow(newId,["","",""],rowCount);
mygrid_recv.clearSelection();
var rId = mygrid_recv.getRowId(rowCount-1);
//重新加载FRT
var combo_frt;
combo_frt = mygrid_recv.getCustomCombo(rId, 0);
setComboByArray(mygrid_recv, combo_frt, newId, 0);
//
combo_frt = mygrid_recv.getCustomCombo(rId, 5);
setComboByArray(mygrid_recv, combo_frt, newId, 5)
//;
mygrid_recv.editStop(true);
mygrid_recv.selectCell(mygrid_recv.getRowIndex(newId),0,true,true);
mygrid_recv.editCell();
}
else
{
var BSNO = $("dvOrderNumVal").value.trim();
mygrid_recv.loadXML("SeaExportInfoGridSource.aspx?read=add&showcount=1&BSNO="+BSNO);
}
}
function deleteRecvRow()
{
mygrid_recv.editStop();
var selRowID = mygrid_recv.getSelectedRowId();
var selGroup = new Array();
if(selRowID.indexOf(",") > 0)
{
selGroup = selRowID.split(",");
}
else
{
if(selRowID != null)
{
selGroup.push(selRowID);
}
}
//查看是否有被选中的费用项
if(selGroup.length > 0)
{
if(selGroup.length > 1)
{
var delCount = 0;
if(window.confirm("您确定要将所选数据删除吗?"))
{
var dg=new dialog();
dg.html="<img src=\"../images/icon/progress.gif\" />";
dg.width=200;
dg.height=100;
dg.title="标题";
dg.show();
while(delCount < selGroup.length)
{
var rowIndex = mygrid_recv.getRowIndex(selGroup[delCount]);
var TopCtnName = mygrid_recv.cellByIndex(rowIndex,0).getValue();
var cusName = mygrid_recv.cellByIndex(rowIndex,1).getValue();
//var urlVal = "TopCtnService.aspx?gid="+selGroup[delCount]+"&handle=delete"+"&no="+newGuid();
var urlVal = "SeaExportInfoGridSource.aspx?read=delete&CTN_ID="+selGroup[delCount];
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
if(loadVal > 0 )
{
mygrid_recv.deleteRow(selGroup[delCount]);
}
else
{
mygrid_recv.deleteSelectedRows();
}
delCount++;
}
dg.close();
}
}
else
{
var delCount = 0;
while(delCount < selGroup.length){
var rowIndex = mygrid_recv.getRowIndex(selGroup[delCount]);
var TopCtnName = mygrid_recv.cellByIndex(rowIndex,0).getValue();
var cusName = mygrid_recv.cellByIndex(rowIndex,1).getValue();
if(window.confirm("您确定要将数据("+TopCtnName+")删除吗?")){
var dg=new dialog();
dg.html="<img src=\"../images/icon/progress.gif\" />";
dg.width=200;
dg.height=100;
dg.title="标题";
dg.show();
//var urlVal = "TopCtnService.aspx?gid="+selGroup[delCount]+"&handle=delete"+"&no="+newGuid();
var urlVal = "SeaExportInfoGridSource.aspx?read=delete&CTN_ID="+selGroup[delCount];
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
if(loadVal > 0 )
{
mygrid_recv.deleteRow(selGroup[delCount]);
dg.close();
//alert("删除成功");
}
else
{
mygrid_recv.deleteSelectedRows();
dg.close();
}
}
delCount++;
}
}
}
else
{
alert("未选中要操作的费用项");
}
}
function saveRecvChange()
{
mygrid_recv.editStop();
var strError="";
var strError2="";
var strError3="";
var BSNO = $("dvOrderNumVal").value.trim();
jsonTopCtnObj = "{\"$type\":\"DSWeb.Models.JsonTopCtnGroupEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",\"JsonTopCtnEntities\":[";
column_count = mygrid_recv.getColumnsNum();
var tempJson = "";
var rowCount = mygrid_recv.getRowsNum();
for(var i = 0;i < rowCount;i++){
//获取RowID
tempJson = "";
var rId = mygrid_recv.getRowId(i);
tempJson += "\"$type\":\"DSWeb.Models.JsonTopCtnEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",";
tempJson += "\"TopCtn1\":\""+rId+"\",";//gid
strError="";
for(var j=0;j < column_count;j++){
var cell = mygrid_recv.cellById(rId,j);
var value = "";
//value = cell.cell.innerText; // .getValue();
value = cell.cell.textContent || cell.cell.innerText;
if((j+2)==2)
{
if(value.trim() == "")
{
value = "";
strError="集装箱列表中有箱型为空的数据,不能保存集装箱信息!"
continue;
//value = "null";
}
}
else if((j+2)==3)
{
if(value.trim() == "")
{
value = "1";
strError="集装箱列表中有箱量为空的数据,不能保存集装箱信息!"
continue;
}
else
{
var nb = IsNum(value.trim());
if(nb)
{
if(Number(value.trim())<1)
{
value = "1";
strError="集装箱列表中有箱量小于1的数据不能保存集装箱信息"
continue;
}
}
else
{
value = "1";
strError="集装箱列表中箱量数据格式错误,不能保存集装箱信息!"
continue;
}
}
}
else if((j+2)==4)
{
if(value.trim() != "")
{
var svl = value.trim().length;
if(svl==11)
{
var s13=value.trim().substr(0,3);
var re = new RegExp("^[A-Za-z]+$");
if (!re.test(s13))
{
strError="集装箱列表中箱号为“"+value.trim()+"”的数据,格式错误,请按照正确的箱号格式录入!"
continue;
}
//
var s4=value.trim().substr(3,1).toUpperCase();
if(s4.trim()!="U")
{
strError="集装箱列表中箱号为“"+value.trim()+"”的数据,格式错误,请按照正确的箱号格式录入!"
continue;
}
//
var s5611=value.trim().substr(4);
var bl = IsNum(s5611.trim());
if(!bl)
{
strError="集装箱列表中箱号为“"+value.trim()+"”的数据,格式错误,请按照正确的箱号格式录入!"
continue;
}
}
else
{
strError="集装箱列表中箱号为“"+value.trim()+"”的数据,格式错误,请按照正确的箱号格式录入!"
continue;
}
value=value.trim().toUpperCase();
}
}
else if((j+2)==6)
{
if(value.trim() == "")
{
value = "0";
}
else
{
var nb = IsNum(value.trim());
if(nb)
{
if(Number(value.trim())<1)
{
value = "0";
strError="集装箱列表中有件数小于0的数据不能保存集装箱信息"
continue;
}
}
else
{
value = "0";
strError="集装箱列表中件数格式错误,不能保存集装箱信息!"
continue;
}
}
}
else if((j+2)==8)
{
if(value.trim() == "")
{
value = "0";
}
else
{
var nb = IsNum(value.trim());
if(nb)
{
if(Number(value.trim())<0)
{
value = "0";
strError="集装箱列表中有箱内货重小于0的数据不能保存集装箱信息"
continue;
}
}
else
{
value = "0";
strError="集装箱列表中箱内货重格式错误,不能保存集装箱信息!"
continue;
}
}
}
else if((j+2)==9)
{
if(value.trim() == "")
{
value = "0";
}
else
{
var nb = IsNum(value.trim());
if(nb)
{
if(Number(value.trim())<0)
{
value = "0";
strError="集装箱列表中有箱皮重小于0的数据不能保存集装箱信息"
continue;
}
}
else
{
value = "0";
strError="集装箱列表中箱皮重格式错误,不能保存集装箱信息!"
continue;
}
}
}
else if((j+2)==10)
{
if(value.trim() == "")
{
value = "0";
}
else
{
var nb = IsNum(value.trim());
if(nb)
{
if(Number(value.trim())<0)
{
value = "0";
strError="集装箱列表中有尺码小于1的数据不能保存集装箱信息"
continue;
}
}
else
{
value = "0";
strError="集装箱列表中尺码格式错误,不能保存集装箱信息!"
continue;
}
}
}
else
{
if(value.trim() == "")
{
value = "";
//value = "null";
}
}
tempJson += "\"TopCtn"+(j+2)+"\":\""+value.trim()+"\",";
}
tempJson += "\"TopCtn12\":\""+BSNO+"\"";
tempJson = "{"+tempJson+"}";
//
if(strError!="")
{
strError2=strError;
continue;
}
else
{
strError3+=","+BSNO
}
//
if(i == rowCount - 1)
{
jsonTopCtnObj = jsonTopCtnObj+tempJson;
}
else
{
jsonTopCtnObj = jsonTopCtnObj+tempJson+",";
}
}
//
if(strError2!="")
{
alert(strError2);
strError2="";
var dg=new dialog();
dg.close();
return;
}
//
// if(strError3=="")
// {
// var dg=new dialog();
// dg.close();
// return;
// }
jsonTopCtnObj += "]}";
var txt_name = $("recvContainer");
txt_name.value = jsonTopCtnObj;
msgBox();
setTimeout(postEnterTopCtn,200);
}
function doOnRowSelected(rowID,celInd){
alert("Selected row ID is "+rowID+"\nUser clicked cell with index "+celInd);
}
function getValue(){
var colLabel=mygrid_recv.getColumnLabel(0);
alert(colLabel);
var colLabel2=mygrid_recv.getColumnLabel(0,1);
alert(colLabel2);
}
//post数据
function postEnterTopCtn(){
var myForm = document.getElementById("form1");
myForm.submit() ;
}
function findRow(){
var colNum = mygrid.getColumnsNum();
//alert(colNum);
var count = mygrid.getRowsNum();
//alert(count);
//var combo = mygrid.getCombo(1);
//combo.put("abc","abc");
}
function initGrid(){
doInitRecvGrid();
//setTimeout(doInitPayGrid,200);
//setTimeout(totalDynamicTopCtnGain,700);
}
//放弃应收费用修改 重新加载页面
function recoverRecvChange()
{
mygrid_recv.editStop();
var selRowID = mygrid_recv.getSelectedRowId();
//查看是否有被选中的费用项
if(selRowID != null)
{
var rowIndex = mygrid_recv.getRowIndex(selRowID);
var status = mygrid_recv.cellByIndex(rowIndex,0).getValue();
var TopCtnName = mygrid_recv.cellByIndex(rowIndex,1).getValue();
var cusName = mygrid_recv.cellByIndex(rowIndex,2).getValue();
if(window.confirm("您确定放弃当前行的修改吗?"))
{
var dg=new dialog();
dg.html="<img src=\"../../images/icon/progress.gif\" />";
dg.width=200;
dg.height=100;
dg.title="标题";
dg.show();
var urlVal = "SeaExportInfoGridSource.aspx?read=recover&CTN_ID="+selRowID+"&val="+newGuid();
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
if(!IsNum(loadVal))
{
var recvArg = new Array();
recvArg = loadVal.split(",");
var selRowIndex = mygrid_recv.getRowIndex(recvArg[0]);
var colCount = mygrid_recv.getColumnsNum();
for(var i=0;i<colCount;i++)
{
mygrid_recv.cellByIndex(selRowIndex,i).setValue(recvArg[i+1]);
}
dg.close();
//alert("恢复成功");
//refreshRecv();//刷新
}
else
{
if(parseInt(loadVal) == -3)
{
// mygrid_recv.cellByIndex(rowIndex,1).setValue("");
// mygrid_recv.cellByIndex(rowIndex,2).setValue("");
// mygrid_recv.cellByIndex(rowIndex,3).setValue("");
mygrid_recv.deleteSelectedRows();
}
dg.close();
}
ReShowLabel(mygrid_recv);
}
else
{
return;
}
}
else
{
alert("未选中要操作的费用项");
}
}
function print_recv()
{
alert("正在打印");
}
function amountSum(gridName){
if(gridName == "recv"){
//计算应收
mygrid_recv
}else{
//计算应付
}
}
function outputMoney(number) {
number= number.replace(/\,/g,"");
if (isNaN(number)||number=="") return "";
number = Math.round( number*100) /100;
if(number<0)
return '-'+outputDollars(Math.floor(Math.abs(number)-0) + '') + outputCents(Math.abs(number) - 0);
else
return outputDollars(Math.floor(number-0) + '') + outputCents(number - 0);
}
function outputDollars(number)
{
if (number.length<= 3)
return (number == '' ? '0' : number);
else
{
var mod = number.length%3;
var output = (mod == 0 ? '' : (number.substring(0,mod)));
for (i=0 ; i< Math.floor(number.length/3) ; i++)
{
if ((mod ==0) && (i ==0))
output+= number.substring(mod+3*i,mod+3*i+3);
else
output+= ',' + number.substring(mod+3*i,mod+3*i+3);
}
return (output);
}
}
function outputCents(amount)
{
amount = Math.round( ( (amount) - Math.floor(amount) ) *100);
return (amount<10 ? '.0' + amount : '.' + amount);
}
//获取GUID
function newGuid()
{
var guid = "";
for (var i = 1; i <= 32; i++){
var n = Math.floor(Math.random()*16.0).toString(16);
guid += n;
if((i==8)||(i==12)||(i==16)||(i==20))
guid += "-";
}
return guid.toUpperCase();
}
function dialog() {
this.width = 450;
this.height = 360;
this.title_height = 20;
this.html = '';
this.title = '';
var self = this;
var bgObj, msgObj, titleObj;
this.close = function () {
document.body.removeChild(document.getElementById("bgDiv"));
document.getElementById("msgDiv").removeChild(document.getElementById("msgTitle"));
document.body.removeChild(document.getElementById("msgDiv"));
}
this.show = function () {
var msgw, msgh, bordercolor;
msgw = self.width;
msgh = self.height;
bordercolor = "#336699";
titlecolor = "#99CCFF";
var sWidth, sHeight;
sWidth = document.body.offsetWidth;
sHeight = screen.height;
bgObj = document.createElement("div");
bgObj.setAttribute('id', 'bgDiv');
bgObj.style.position = "absolute";
bgObj.style.top = "0";
bgObj.style.background = "#777";
bgObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
bgObj.style.opacity = "0.6";
bgObj.style.left = "0";
bgObj.style.width = sWidth + "px";
bgObj.style.height = sHeight + "px";
bgObj.style.zIndex = "10000";
document.body.appendChild(bgObj);
msgObj = document.createElement("div")
msgObj.setAttribute("id", "msgDiv");
msgObj.setAttribute("align", "center");
msgObj.style.background = "white";
msgObj.style.border = "1px solid " + bordercolor;
msgObj.style.position = "absolute";
msgObj.style.left = "50%";
msgObj.style.top = "30%";
msgObj.style.font = "12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
msgObj.style.marginLeft = "-225px";
msgObj.style.marginTop = -75 + document.documentElement.scrollTop + "px";
msgObj.style.width = msgw + "px";
msgObj.style.height = msgh + "px";
msgObj.style.textAlign = "center";
msgObj.style.lineHeight = "25px";
msgObj.style.zIndex = "10001";
titleObj = document.createElement("h4");
titleObj.setAttribute("id", "msgTitle");
titleObj.setAttribute("align", "center");
titleObj.style.margin = "0";
titleObj.style.padding = "3px";
titleObj.style.background = bordercolor;
titleObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
titleObj.style.opacity = "0.75";
titleObj.style.border = "1px solid " + bordercolor;
titleObj.style.height = self.title_height + "px";
titleObj.style.font = "12px Verdana, Geneva, Arial, Helvetica, sans-serif";
titleObj.style.color = "white";
titleObj.style.cursor = "pointer";
titleObj.innerHTML = self.title;
//titleObj.onclick=function(){self.close();}
document.body.appendChild(msgObj);
document.getElementById("msgDiv").appendChild(titleObj);
var txt = document.createElement("div");
txt.style.margin = "1em 0"
txt.setAttribute("id", "msgTxt");
txt.innerHTML = self.html;
document.getElementById("msgDiv").appendChild(txt);
}
}
function msgBox() {
var dg = new dialog();
dg.html = "程序正在提交,请稍等!";
//dg.html+="<input type=button onclick='new dialog().close();' value='确定'>";
dg.width = 200;
dg.height = 100;
dg.title = "标题";
dg.show();
}
//是否为数字
function IsNum(val){
var re = /^[-\+]?\d+(\.\d+)?$/;
if (!re.test(val)){
return false;
}else{
return true;
}
}
//整数或者为空
function isIntOrNull(str){
if(!isObj(str))//判断对象是否存在
return 'undefined';
return isNull(str)||isInt(str);
}
//必需是整数
function isInt(str){
var reg = /^(-|\+)?\d+$/ ;
return reg.test(str);
}
//1.2 小数
//小数或者为空
function isFloatOrNull(str){
if(!isObj(str))//判 断对象是否存在
return 'undefined';
if(isInt(str))
return true;
return isNull(str)||isFloat(str);
}
//必需是小数
function isFloat(str){
if(isInt(str))
return true;
var reg = /^(-|\+)?\d+\.\d*$/;
return reg.test(str);
}
//1.3 数字大小判断
//数i不能大于数y
function iMinY(i , y){
if(!isObj(i)||!isObj(y))// 判断对象是否存在
return 'undefined';
if(!(isFloat(i)&&isFloat(y)))
return '比较的必须是数字类型'
if(i<=y)
return true;
return false;
}
// 数i不能小于数y
function iMaxY(i , y){
if(!isObj(i)||!isObj(y))//判断对象是 否存在
return 'undefined';
if(!(isFloat(i)&&isFloat(y)))
return '比较的必须是数字类型'
if(i>=y)
return true;
return false;
}
function ConvertToMoney(strObj){
var result = strObj.replace(",","");
return result;
}
function filterComboCustomerPress(gridObj,rowID,rowIndex,colIndex,filterVal,oldVal){
var combo = gridObj.getCustomCombo(rowID,colIndex);
var comboArg = combo.getKeys();
var doCount = 0;
for(var i = 0;i<comboArg.length;i++){
if(combo.get(comboArg[i]).toUpperCase().trim().indexOf(filterVal.toUpperCase()) == 0){
alert(combo.get(comboArg[i]).toUpperCase().trim());
gridObj.cellByIndex(rowIndex,colIndex).setValue(combo.get(comboArg[i]));
gridObj.selectCell(rowIndex,colIndex,true,true,true,true);
doCount = 1;
break;
}
}
}
//两端去空格函数
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g,""); }
function ReShowLabel(gridObj){
var columnCount = gridObj.getColumnsNum();
var rowCount = gridObj.getRowsNum();
if(rowCount > 0){
for(var i = 0;i<rowCount;i++){
for(var j = 0;j<columnCount;j++){
if(j == 1 || j == 2){
var cellCurVal = gridObj.cellByIndex(i,j).getValue();
gridObj.cellByIndex(i,j).setLabel(cellCurVal);
}
}
}
}
}
function clearNoNum(valObj)
{
//先把非数字的都替换掉,除了数字和.
valObj = valObj.replace(/[^\d.]/g,"");
//必须保证第一个为数字而不是.
valObj = valObj.replace(/^\./g,"");
//保证只有出现一个.而没有多个.
valObj = valObj.replace(/\.{2,}/g,".");
//保证.只出现一次,而不能出现两次以上
valObj = valObj.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
return valObj;
}
function markStatusColor(gridObj)
{
var count = gridObj.getRowsNum();
for(var i = 0;i<count;i++)
{
var status = gridObj.cellByIndex(i,0).getValue();
var rowId = gridObj.getRowId(i);
}
}
//刷新应收
function refreshRecv()
{
doInitRecvGrid();
}