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/jsGridImportReceiptList.js

1243 lines
38 KiB
JavaScript

11 months ago
var mygrid_recv;
var page_count = 5;
var column_count;
var jsonImportReceiptListObj;
var changeCount = 0;
function $(id){
return document.getElementById(id);
}
function initWinScreen()
{
var winScreenHeight = 0;
var winScreenWidth = 0;
if(window.screen.height)
{
winScreenHeight = window.screen.height;
}
if(window.screen.width)
{
winScreenWidth = window.screen.width;
}
if(winScreenWidth >= 1440 && winScreenWidth >= 900)
{
document.getElementById("mygrid_container_recv").style.height = "420px";
}
else if(winScreenWidth >= 1366 && winScreenWidth >= 768)
{
document.getElementById("mygrid_container_recv").style.height = "340px";
}
else if(winScreenWidth >= 1024 && winScreenWidth >= 768)
{
document.getElementById("mygrid_container_recv").style.height = "300px";
}
}
function doInitRecvGrid(){
mygrid_recv = new dhtmlXGridObject('mygrid_container_recv');
mygrid_recv.setImagePath("../images/");
mygrid_recv.setSkin("xp");
// 0 1 2 3 4 5 6 7 8 9
mygrid_recv.setHeader("单据类型,单据编号,单据状态,发出时间,收到时间,快递公司,快递单号,备注,录入人,录入时间");
mygrid_recv.setInitWidths("70,100,60,80,80,100,100,220,80,120");
mygrid_recv.setColAlign("center,center,center,center,center,center,center,center,center,center");
mygrid_recv.setColSorting("str,str,str,date,date,str,str,str,str,str");
mygrid_recv.setColTypes("co,ed,co,calendar,calendar,ed,ed,ed,ro,ro");
var BSNO = $("dvOrderNumVal").value.trim();
var urlVal = "ImportReceiptListGridSource.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("ImportReceiptListGridSource.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)
{
var selectedId = mygrid_recv.getSelectedRowId();
var rowIndex = mygrid_recv.getRowIndex(selectedId);
var txtEdit;
for(i = 0; i < document.all.length; i++)
{
if(document.all(i).tagName == "TEXTAREA")
{
txtEdit = document.all(i);
txtEdit.focus();
txtEdit.select();
break;
}
}
}
//如果编辑结束
if(stage == 2)
{
if (cInd == 0 || cInd == 2)
{
var rowIndex = mygrid_recv.getRowIndex(rId);
if(pressCount == 1)
{
if(flagFilter == 1)
{
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(oValue);
return true;
}
else
{
var cellVal = mygrid_recv.cellByIndex(rowIndex,cInd).getValue();
var combo = mygrid_recv.getCustomCombo(rId,cInd);
var comboArg = combo.getKeys();
var tempCount = 0;
if(cellVal.indexOf(" ") >0 && cellVal.indexOf(" ") < cellVal.length){
cellVal = cellVal.substring(0,cellVal.indexOf(" "));
for(var i = 0;i<comboArg.length;i++){
if(combo.get(comboArg[i]).trim().indexOf(cellVal) == 0){
mygrid_recv.cellByIndex(rowIndex,cInd).setValue(comboArg[i]);
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(comboArg[i]);
tempCount++;
break;
}
}
}
else
{
for(var i = 0;i<comboArg.length;i++)
{
if(combo.get(comboArg[i]).trim().indexOf(cellVal) > 0)
{
mygrid_recv.cellByIndex(rowIndex,cInd).setValue(comboArg[i]);
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(comboArg[i]);
tempCount++;
break;
}
}
}
if(tempCount == 0)
{
mygrid_recv.cellByIndex(rowIndex,cInd).setValue("");
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel("");
}
isExchange = false;
pressRecord = "";
pressRowIndex = -1;
pressCellIndex = -1;
pressCount = 0;
flagFilter = 0;
return true;
}
}
else if(pressCount == 2)
{
if(flagFilter == 1)
{
mygrid_recv.editStop();
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(oValue);
}
else
{
if(pressRowIndex != rowIndex && pressCellIndex != cInd)
{
return true;
}
else
{
isExchange = false;
pressRecord = "";
pressRowIndex = -1;
pressCellIndex = -1;
pressCount = 0;
flagFilter = 0;
var cellVal = mygrid_recv.cellByIndex(rowIndex,cInd).getValue();
var combo = mygrid_recv.getCustomCombo(rId,cInd);
var comboArg = combo.getKeys();
var tempCount = 0;
if(cellVal.indexOf(" ") >0 && cellVal.indexOf(" ") < cellVal.length){
cellVal = cellVal.substring(0,cellVal.indexOf(" "));
for(var i = 0;i<comboArg.length;i++){
if(combo.get(comboArg[i]).trim().indexOf(cellVal) == 0){
mygrid_recv.cellByIndex(rowIndex,cInd).setValue(comboArg[i]);
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(comboArg[i]);
tempCount++;
break;
}
}
}
if(tempCount == 0){
mygrid_recv.cellByIndex(rowIndex,cInd).setValue("");
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel("");
}
return true;
}
}
}
else
{
var cellVal = mygrid_recv.cellByIndex(rowIndex,cInd).getValue();
var combo = mygrid_recv.getCustomCombo(rId,cInd);
var comboArg = combo.getKeys();
if(cellVal.indexOf(" ") >0 && cellVal.indexOf(" ") < cellVal.length)
{
cellVal = cellVal.substring(0,cellVal.indexOf(" "));
for(var i = 0;i<comboArg.length;i++)
{
if(combo.get(comboArg[i]).trim().indexOf(cellVal) == 0)
{
mygrid_recv.cellByIndex(rowIndex,cInd).setValue(comboArg[i]);
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(comboArg[i]);
break;
}
}
}
else
{
for(var i = 0;i<comboArg.length;i++)
{
if(combo.get(comboArg[i]).trim().indexOf(cellVal) > 0)
{
mygrid_recv.cellByIndex(rowIndex,cInd).setValue(comboArg[i]);
mygrid_recv.cellByIndex(rowIndex,cInd).setLabel(comboArg[i]);
break;
}
}
}
return true;
}
}
else
{
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;
for(i = 0; i < document.all.length; i++)
{
if(document.all(i).tagName == "TEXTAREA")
{
txtEdit = document.all(i);
break;
}
}
if(code == 13)
{
if(ind ==0)
{
//如果是检索失败,
if(pressCount == 2)
{
mygrid_recv.editStop();
//将value写入cell(触发 stage2)
mygrid_recv.cellByIndex(rowIndex,ind).setValue(oldVal);
//重新打开cell(触发stage0 stage1)
mygrid_recv.selectCell(rowIndex,ind,true,true);
mygrid_recv.cellByIndex(rowIndex,ind).setLabel(oldVal);
mygrid_recv.editCell();
return true;
}
return true;
}
else
{
return true;
}
}
else if(code == 9)//Tab键
{
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>=65&&code<=90)//如果是输入英文字符
{
if(ind == 0 || ind == 2)
{
//获取键盘输入字符
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
{
return true;
}
}
else if(code == 8)//delete
{
//code8 begin
if (ind == 0 || ind == 2)
{
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 ++;
}
}
}
// alert(start);alert(end);
//未选中多个字符
if(start == end)
{
if(start != 0)
{
var firstVal = pressRecord.substring(0,start - 1);
var endVal = pressRecord.substring(start + 1,txtEdit.value.length - 1);
pressRecord = firstVal;
// alert(firstVal);alert(endVal);alert(pressRecord);
}
}
//选中多个字符
if(start != end)
{
var firstVal = pressRecord.substring(0,start);
var endVal = pressRecord.substring(end - 1,txtEdit.value.length - 1);
pressRecord = firstVal+endVal;
}
setTimeout(function()
{
if(pressRecord.trim().length > 0)
{
var combo = mygrid_recv.getCustomCombo(selectedId,ind);
var comboArg = combo.getKeys();
var count = 0;
for(var i = 0;i<comboArg.length;i++)
{
if(combo.get(comboArg[i]).toUpperCase().trim().indexOf(pressRecord) == 0)
{
count++;
var oldVal = comboArg[i];
var oldLab = combo.get(comboArg[i]);
pressCount = 3;
mygrid_recv.editStop();
mygrid_recv.cellByIndex(rowIndex,ind).setValue(oldVal);
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位
//txtEdit.focus();
r.select();
}
}
break;
}
}
}
},500);
return true;
}
else
{
return true;
}
//code8 end
}
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
{
return true;
}
});
setTimeout(function(){
markStatusColor(mygrid_recv);
},400);
}
//讲下拉列表Combo所有生成Array数组
function setComboByArray(gridNewObj,comboObj,rowGID,colIndex)
{
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();
// var loader = dhtmlxAjax.getSync("ImportReceiptListGridSource.aspx?read=addrq");
// var loadrq = loader.xmlDoc.responseText;
// loader = dhtmlxAjax.getSync("ImportReceiptListGridSource.aspx?read=addname");
// var loadname = loader.xmlDoc.responseText;
// 0 1 2 3 4 5 6 7 8 9
//mygrid_recv.setHeader("单据类型,单据编号,单据状态,发出时间,收到时间,快递公司,快递单号,备注,录入人,录入时间");
mygrid_recv.addRow(newId, ["", "", "", "", "", "", "", "", "", ""], rowCount);
mygrid_recv.clearSelection();
//重新状态类型
var rId = mygrid_recv.getRowId(rowCount - 1);
var combo_0;
combo_0 = mygrid_recv.getCustomCombo(rId,0);
setComboByArray(mygrid_recv, combo_0, newId, 0);
var combo_2;
combo_2 = mygrid_recv.getCustomCombo(rId, 2);
setComboByArray(mygrid_recv, combo_2, newId, 2);
mygrid_recv.editStop(true);
mygrid_recv.selectCell(mygrid_recv.getRowIndex(newId),0,true,true);
mygrid_recv.editCell();
}
else
{
var BSNO = $("dvOrderNumVal").value.trim();
if(BSNO=="")
{
alert("请先确定委托信息已保存!");
return;
}
mygrid_recv.loadXML("ImportReceiptListGridSource.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 urlVal = "ImportReceiptListGridSource.aspx?read=delete&gid="+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 status = mygrid_recv.cellByIndex(rowIndex,0).getValue();
if(window.confirm("您确定要将("+status+")删除吗?")){
var dg=new dialog();
dg.html="<img src=\"../images/icon/progress.gif\" />";
dg.width=200;
dg.height=100;
dg.title="标题";
dg.show();
var urlVal = "ImportReceiptListGridSource.aspx?read=delete&gid="+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 BSNO = $("dvOrderNumVal").value.trim();
if(BSNO=="")
{
alert("请先确定委托信息已保存!");
return;
}
//
jsonImportReceiptListObj = "{\"$type\":\"DSWeb.Models.JsonImportReceiptListGroupEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",\"JsonImportReceiptListEntities\":[";
column_count = mygrid_recv.getColumnsNum();
var tempJson = "";
var rowCount = mygrid_recv.getRowsNum();
for(var i = 0;i < rowCount;i++){
//获取RowID
var rId = mygrid_recv.getRowId(i);
tempJson = "";
tempJson += "\"$type\":\"DSWeb.Models.JsonImportReceiptListEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",";
tempJson += "\"ImportReceiptList1\":\""+rId+"\",";//gid
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(value == "")
{
value = "null";
}
if ((j == 3 || j == 4) && value != "null")
{
var aValue = new Array();
if(value.indexOf("/")>0)
{
aValue = value.split("/");
value = aValue[2] + "-" + aValue[0] + "-" + aValue[1] + " 00:00:00"
}
}
tempJson += "\"ImportReceiptList" + (j + 2) + "\":\"" + value.trim() + "\"";
}
tempJson = "{" + tempJson + "}";
//
if(i == rowCount - 1){
jsonImportReceiptListObj = jsonImportReceiptListObj+tempJson;
}else{
jsonImportReceiptListObj = jsonImportReceiptListObj+tempJson+",";
}
}
jsonImportReceiptListObj += "]}";
var txt_name = $("recvContainer");
txt_name.value = jsonImportReceiptListObj;
msgBox();
setTimeout(postEnterImportReceiptList,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 postEnterImportReceiptList(){
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(totalDynamicImportReceiptListGain,700);
}
//放弃应收费用修改 重新加载页面
function recoverRecvChange()
{
mygrid_recv.editStop();
var selRowID = mygrid_recv.getSelectedRowId();
//查看是否有被选中的费用项
if(selRowID != null)
{
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 = "ImportReceiptListGridSource.aspx?read=recover&gid="+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.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 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();
}