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.
DS7/DSWeb/js/jsGridCwVouchersAddDo.js

1443 lines
56 KiB
JavaScript

3 years ago
var mygrid_recv;
var page_count = 5;
var column_count;
var jsonCwVouchersAddDoObj;
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_recv").style.height = "580px";
}
else if (winScreenWidth >= 1366 && winScreenWidth >= 768) {
document.getElementById("mygrid_recv").style.height = "340px";
}
else if (winScreenWidth >= 1024 && winScreenWidth >= 768) {
document.getElementById("mygrid_recv").style.height = "300px";
}
}
function doInitRecvGrid() {
mygrid_recv = new dhtmlXGridObject('mygrid_recv');
mygrid_recv.setImagePath("../images/");
mygrid_recv.setSkin("xp");
mygrid_recv.setHeader("<input type=\"checkbox\" id=\"ck_all\" onclick=\"checkall()\" />,行号,摘要,科目代码,科目名称,本位币借方,本位币贷方,外币借方,外币贷方,汇率,客户名称,客户财务编码,揽货人,业务编号");
mygrid_recv.setInitWidths("30,30,200,80,100,100,100,100,100,100,100,100,80,120");
mygrid_recv.setColAlign("center,left,left,left,left,right,right,right,right,right,left,left,left,left");
mygrid_recv.setColSorting("na,str,str,str,str,str,str,str,str,str,str,str,str,str");
mygrid_recv.setColTypes("ch,ro,ed,co,ed,ed,ed,ed,ed,ed,co,ed,co,ed");
var urlVal = "CwVouchersAddDoGridSource.aspx?read=exist&showcount=1&ordno=" + $("hdOrdno").value + "&val=" + newGuid();
var loader = dhtmlxAjax.getSync(urlVal);
var loadVal = loader.xmlDoc.responseText;
loader = null;
if (parseInt(loadVal) == 1) {
mygrid_recv.loadXML("CwVouchersAddDoGridSource.aspx?read=init&showcount=1&ordno=" + $("hdOrdno").value + "&val=" + newGuid());
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) {
//获取当前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 (cInd == 3) {
var rowIndex = mygrid_recv.getRowIndex(rId);
mygrid_recv.cellByIndex(rowIndex, cInd).setLabel(oValue);
//
var urlVal5 = "CwVouchersListGridSource_2.aspx?read=accid&accid=" + oValue + "&val=" + newGuid();
var loader5 = dhtmlxAjax.getSync(urlVal5);
var sLabel = loader5.xmlDoc.responseText;
mygrid_recv.cellByIndex(rowIndex, cInd + 1).setLabel(sLabel);
//mygrid_recv.cellByIndex(rowIndex, 4).setLabel(sLabel);
return true;
}
else if (cInd == 10) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
var s1 = cellVal; // mygrid_recv.cellByIndex(rowIndex, cInd).getLabel();
var s2 = s1.indexOf("|");
if (s1 == "") {
//mygrid_recv.cellByIndex(rowIndex, cInd).setLabel("");
}
else {
if (s2 > 0) {
s2 = s2 + 2;
}
var s3 = s1.substring(s2);
if (s2 > 0) {
mygrid_recv.cellByIndex(rowIndex, cInd).setLabel(s3);
//
var urlVal6 = "CwVouchersListGridSource_2.aspx?read=customername&customername=" + escape(s3) + "&val=" + newGuid();
var loader6 = dhtmlxAjax.getSync(urlVal6);
var sLabel = loader6.xmlDoc.responseText;
mygrid_recv.cellByIndex(rowIndex, ind + 1).setLabel(sLabel);
}
else {
//mygrid_recv.cellByIndex(rowIndex, cInd).setLabel("");
}
}
return true;
}
else if (cInd == 12) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
var s1 = cellVal; // mygrid_recv.cellByIndex(rowIndex, cInd).getLabel();
var s2 = s1.indexOf("|");
if (s1 == "") {
//mygrid_recv.cellByIndex(rowIndex, cInd).setLabel("");
}
else {
if (s2 > 0) {
s2 = s2 + 2;
}
var s3 = s1.substring(s2);
if (s2 > 0) {
mygrid_recv.cellByIndex(rowIndex, cInd).setLabel(s3);
}
else {
//mygrid_recv.cellByIndex(rowIndex, cInd).setLabel("");
}
}
return true;
}
else if (cInd == 12) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
var s1 = cellVal; // mygrid_recv.cellByIndex(rowIndex, cInd).getLabel();
var s2 = s1.indexOf("|");
if (s1 == "") {
//mygrid_recv.cellByIndex(rowIndex, cInd).setLabel("");
}
else {
if (s2 > 0) {
s2 = s2 + 2;
}
var s3 = s1.substring(s2);
if (s2 > 0) {
mygrid_recv.cellByIndex(rowIndex, cInd).setLabel(s3);
}
else {
//mygrid_recv.cellByIndex(rowIndex, cInd).setLabel("");
}
}
return true;
}
else if (cInd == 5) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
if (cellVal>0) {
mygrid_recv.cellByIndex(rowIndex, 6).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 8).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 9).setLabel("1");
}
return true;
}
else if (cInd == 6) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 5).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 7).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 9).setLabel("1");
}
return true;
}
else if (cInd == 7) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 6).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 8).setLabel("0");
//
var cell9 = mygrid_recv.cellByIndex(rowIndex, 9).getValue();
var ls = cellVal * cell9;
mygrid_recv.cellByIndex(rowIndex, 5).setLabel(ls);
}
return true;
}
else if (cInd == 8) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 5).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 7).setLabel("0");
//
var cell9 = mygrid_recv.cellByIndex(rowIndex, 9).getValue();
var ls = cellVal * cell9;
mygrid_recv.cellByIndex(rowIndex, 6).setLabel(ls);
}
return true;
}
else if (cInd == 9) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, cInd).getValue();
if (cellVal>1) {
var cell7 = mygrid_recv.cellByIndex(rowIndex, 7).getValue();
var ls = cellVal * cell7;
mygrid_recv.cellByIndex(rowIndex, 5).setLabel(ls);
//
var cell8 = mygrid_recv.cellByIndex(rowIndex, 8).getValue();
var ls = cellVal * cell8;
mygrid_recv.cellByIndex(rowIndex, 6).setLabel(ls);
}
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 == 9)//Tab键
{
var colCount = mygrid_recv.getColumnsNum();
var rowCount = mygrid_recv.getRowsNum();
if (ind == 3) {
var urlVal5 = "CwVouchersListGridSource_2.aspx?read=accid&accid=" + mygrid_recv.cellByIndex(rowIndex, ind).getValue() + "&val=" + newGuid();
var loader5 = dhtmlxAjax.getSync(urlVal5);
var sLabel = loader5.xmlDoc.responseText;
mygrid_recv.cellByIndex(rowIndex, ind + 1).setLabel(sLabel);
return true;
}
else if (ind == 10) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
var s1 = cellVal; // mygrid_recv.cellByIndex(rowIndex, cInd).getLabel();
var s2 = s1.indexOf("|");
if (s1 == "") {
mygrid_recv.cellByIndex(rowIndex, ind).setLabel("");
}
else {
if (s2 > 0) {
s2 = s2 + 2;
}
var s3 = s1.substring(s2);
if (s2 > 0) {
mygrid_recv.editStop(true);
mygrid_recv.cellByIndex(rowIndex, ind).setLabel(s3);
//
var urlVal6 = "CwVouchersListGridSource_2.aspx?read=customername&customername=" + escape(s3) + "&val=" + newGuid();
var loader6 = dhtmlxAjax.getSync(urlVal6);
var sLabel = loader6.xmlDoc.responseText;
mygrid_recv.cellByIndex(rowIndex, ind + 1).setLabel(sLabel);
}
else {
mygrid_recv.cellByIndex(rowIndex, ind).setLabel("");
}
}
return true;
}
else if (ind == 12) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
var s1 = cellVal; // mygrid_recv.cellByIndex(rowIndex, cInd).getLabel();
var s2 = s1.indexOf("|");
if (s1 == "") {
mygrid_recv.cellByIndex(rowIndex, ind).setLabel("");
}
else {
if (s2 > 0) {
s2 = s2 + 2;
}
var s3 = s1.substring(s2);
if (s2 > 0) {
mygrid_recv.editStop(true);
mygrid_recv.cellByIndex(rowIndex, ind).setLabel(s3);
}
else {
mygrid_recv.cellByIndex(rowIndex, ind).setLabel("");
}
}
return true;
}
else if (ind == 5) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 6).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 8).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 9).setLabel("1");
}
//return true;
}
else if (ind == 6) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 5).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 7).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 9).setLabel("1");
}
//return true;
}
else if (ind == 7) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 6).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 8).setLabel("0");
//
var cell9 = mygrid_recv.cellByIndex(rowIndex, 9).getValue();
var ls = cellVal * cell9;
mygrid_recv.cellByIndex(rowIndex, 5).setLabel(ls);
}
//return true;
}
else if (ind == 8) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
if (cellVal > 0) {
mygrid_recv.cellByIndex(rowIndex, 5).setLabel("0");
mygrid_recv.cellByIndex(rowIndex, 7).setLabel("0");
//
var cell9 = mygrid_recv.cellByIndex(rowIndex, 9).getValue();
var ls = cellVal * cell9;
mygrid_recv.cellByIndex(rowIndex, 6).setLabel(ls);
}
//return true;
}
else if (ind == 9) {
var cellVal = mygrid_recv.cellByIndex(rowIndex, ind).getValue();
if (cellVal > 1) {
var cell7 = mygrid_recv.cellByIndex(rowIndex, 7).getValue();
var ls = cellVal * cell7;
mygrid_recv.cellByIndex(rowIndex, 5).setLabel(ls);
//
var cell8 = mygrid_recv.cellByIndex(rowIndex, 8).getValue();
var ls = cellVal * cell8;
mygrid_recv.cellByIndex(rowIndex, 6).setLabel(ls);
}
//return true;
}
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 == 10) {
//获取键盘输入字符
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) {
// create a selection of the whole textarea
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);
// alert(firstVal);alert(endVal);
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);
// alert(firstVal);alert(endVal);
pressRecord = firstVal + pressVal + endVal;
}
} else {
pressRecord = pressVal;
pressRowIndex = rowIndex;
pressCellIndex = ind;
}
// alert(pressRecord);alert(start);alert(end);alert(txtEdit.value);
//获取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 == 2 || ind == 4 || ind == 11 || ind == 13) {
return true;
}
//mygrid_recv.setHeader("<input type=\"checkbox\" id=\"ck_all_2\" onclick=\"checkall_2()\" />,行号,摘要,科目代码,科目名称,本位币借方,本位币贷方,外币借方,外币贷方,汇率,客户名称,客户财务编码,揽货人");
}
else if (code == 8)//delete
{
//code8 begin
if (ind == 3 || ind == 10 || ind == 12) {
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)//向下方向键
{
if (ind == 3 || ind == 10 || ind == 12) {
return true;
}
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 (ind == 3 || ind == 10 || ind == 12) {
return true;
}
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("CwVouchersListGridSource_2.aspx?read=additemno&ordno=" + $("hdOrdno").value);
var strITEMNO = loader.xmlDoc.responseText;
//mygrid_recv.addRow(newId,["",loadrq,loadname,""],rowCount);
mygrid_recv.addRow(newId, [0, strITEMNO, "", "", "", "0.00", "0.00", "0.00", "0.00", "0.00", "", "", "", ""], rowCount);
mygrid_recv.clearSelection();
var rId = mygrid_recv.getRowId(rowCount - 1);
var combo_customer;
combo_customer = mygrid_recv.getCustomCombo(rId, 3);
//重新状态类型
setComboByArray(mygrid_recv, combo_customer, newId, 3);
//
combo_customer = mygrid_recv.getCustomCombo(rId, 10);
//重新状态类型
setComboByArray(mygrid_recv, combo_customer, newId, 10);
//
combo_customer = mygrid_recv.getCustomCombo(rId, 12);
//重新状态类型
setComboByArray(mygrid_recv, combo_customer, newId, 12);
mygrid_recv.editStop(true);
mygrid_recv.selectCell(mygrid_recv.getRowIndex(newId), 0, true, true);
mygrid_recv.editCell();
}
else {
//mygrid_recv.loadXML("CwVouchersListGridSource_2.aspx?read=add&showcount=1&ordno=" + $("hdOrdno").value);
mygrid_recv.loadXML("CwVouchersAddDoGridSource.aspx?read=add&showcount=1&ordno=" + $("hdOrdno").value);
}
}
function deleteRecvRow() {
mygrid_recv.editStop();
var selRowID = mygrid_recv.getCheckedRows(0); //所有选中的grid的id编号
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 CwVouchersAddDoName = mygrid_recv.cellByIndex(rowIndex, 1).getValue();
var cusName = mygrid_recv.cellByIndex(rowIndex, 2).getValue();
//var urlVal = "CwVouchersAddDoService.aspx?gid="+selGroup[delCount]+"&handle=delete"+"&no="+newGuid();
var urlVal = "CwVouchersAddDoGridSource.aspx?read=delete&gid=" + selGroup[delCount] + "&ordno=" + $("hdOrdno").value;
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 CwVouchersAddDoName = mygrid_recv.cellByIndex(rowIndex, 1).getValue();
var cusName = mygrid_recv.cellByIndex(rowIndex, 2).getValue();
if (window.confirm("您确定要将(" + CwVouchersAddDoName + ")删除吗?")) {
var dg = new dialog();
dg.html = "<img src=\"../images/icon/progress.gif\" />";
dg.width = 200;
dg.height = 100;
dg.title = "标题";
dg.show();
//var urlVal = "CwVouchersAddDoService.aspx?gid="+selGroup[delCount]+"&handle=delete"+"&no="+newGuid();
var urlVal = "CwVouchersAddDoGridSource.aspx?read=delete&gid=" + selGroup[delCount] + "&ordno=" + $("hdOrdno").value;
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();
jsonCwVouchersAddDoObj = "{\"$type\":\"DSWeb.Models.JsonCwVouchersAddDoGroupEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",\"JsonCwVouchersAddDoEntities\":[";
column_count = mygrid_recv.getColumnsNum();
ReShowLabel(mygrid_recv);
var tempJson = "";
var rowCount = mygrid_recv.getRowsNum();
for (var i = 0; i < rowCount; i++) {
//获取RowID
tempJson = "";
var str78 = 0;
var rId = mygrid_recv.getRowId(i);
tempJson += "\"$type\":\"DSWeb.Models.JsonCwVouchersAddDoEntity, DSWeb, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null\",";
tempJson += "\"CwVouchersAddDo1\":\"" + rId + "\","; //gid
for (var j = 0; j < column_count-1; j++) {
var cell = mygrid_recv.cellById(rId, j+1);
var value = "";
//value = cell.cell.innerText; // .getValue();
value = cell.cell.textContent || cell.cell.innerText;
if (j == 2) {
var s2 = value.indexOf("|");
if (s2 > -1) {
value = value.substring(0,s2-1);
}
}
if (j == 6) {
var istr = parseFloat(value);
if (istr > 0) {
str78 = 1;
}
}
if (j == 7) {
var istr = parseFloat(value);
if (istr > 0) {
str78 = 1;
}
}
if (j == 8) {
var istr = parseFloat(value);
if (str78 > 0 && istr <= 1) {
var lscb = $("cbISRATE").checked;
if (lscb) {
alert("有外币金额则汇率不得等于1或0 ");
return;
}
else {
if ($("tbRATE").value == "1" || $("tbRATE").value == "0") {
alert("有外币金额则汇率不得等于1或0 ");
return;
}
}
}
}
if (value.trim() == "") {
value = "null";
}
tempJson += "\"CwVouchersAddDo" + (j + 2) + "\":\"" + value.trim() + "\",";
}
//tempJson += "\"CwVouchersAddDo6\":\""+BSNO+"\"";
tempJson = "{" + tempJson + "}";
if (i == rowCount - 1) {
jsonCwVouchersAddDoObj = jsonCwVouchersAddDoObj + tempJson;
} else {
jsonCwVouchersAddDoObj = jsonCwVouchersAddDoObj + tempJson + ",";
}
}
jsonCwVouchersAddDoObj += "]}";
var txt_name = $("recvContainer");
txt_name.value = jsonCwVouchersAddDoObj;
msgBox();
setTimeout(postEnterCwVouchersAddDo, 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 postEnterCwVouchersAddDo() {
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(totalDynamicCwVouchersAddDoGain,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 CwVouchersAddDoName = 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 = "CwVouchersAddDoGridSource.aspx?read=recover&ordno=" + $("hdOrdno").value + "&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, ""); }
//下拉框内容显示value的值
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 == 3) {
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();
}
//全选框
function checkall() {
var checkStatus = $("ck_all").checked;
if (checkStatus == 1) {
var iCount = mygrid_recv.getRowsNum();
for (var i = 0; i < iCount; i++) {
mygrid_recv.cellByIndex(i, 0).setValue(1);
}
}
else {
var iCount = mygrid_recv.getRowsNum();
for (var i = 0; i < iCount; i++) {
mygrid_recv.cellByIndex(i, 0).setValue(0);
}
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------------
function getisvbm(rId) {
var urlVal3 = "CwVouchersListGridSource_2.aspx?read=isedit&gid=" + rId + "&val=" + newGuid();
var loader3 = dhtmlxAjax.getSync(urlVal3);
var loadVal3 = loader3.xmlDoc.responseText;
if (loadVal3.trim() == "False") {
return false;
}
else {
return true;
}
}
var comboPREPARED;
function $(id) {
return document.getElementById(id);
}
function initcomboPREPARED()//
{;
comboPREPARED = dhtmlXComboFromSelect("ddlPREPARED");
comboPREPARED.loadXML("../FeeCodes/OPAdapter.aspx?mask=0&pos=0&rName=isSaleMan&userID=" + $("hdUserID").value.trim());
}
function initcomboPREPARED2()//
{
comboPREPARED.attachEvent("onChange", function() {
comboPREPARED.setComboText($("hd_comboPREPARED").value);
});
comboPREPARED.attachEvent("onBlur", function() {
var s1 = comboPREPARED.getComboText().trim();
var s2 = s1.indexOf("|");
if (s1 == "") {
$("hd_comboPREPARED").value = "";
comboPREPARED.setComboText($("hd_comboPREPARED").value);
}
else {
if (s2 > 0) {
s2 = s2 + 2;
}
var s3 = s1.substring(s2);
if (s2 > 0) {
comboPREPARED.setComboText(s3);
$("hd_comboPREPARED").value = s3;
}
else {
comboPREPARED.setComboText($("hd_comboPREPARED").value);
}
}
});
comboPREPARED.setComboText($("hd_comboPREPARED").value);
comboPREPARED.attachEvent("onKeyPressed", function(keyCode) {
if (keyCode != "8") {
var arrayArg = new Array();
setTimeout(function() {
var filterCount = 0;
var is = -1;
var ishd = $("hd_comboPREPARED").value.trim();
if ("" != comboPREPARED.getComboText().trim()) {
while ("undefined" != typeof comboPREPARED.getOptionByIndex(filterCount)) {
var comboValue = comboPREPARED.getOptionByIndex(filterCount).text.toUpperCase(); //.value;
var enterValue = comboPREPARED.getComboText().trim().toUpperCase();
$("hd_comboPREPARED").value = comboPREPARED.getComboText().trim().toUpperCase();
if (comboValue.indexOf(enterValue) == 0) {
comboPREPARED.selectOption(filterCount, true, true);
is = filterCount;
break;
}
++filterCount;
}
if (is == -1) {
$("hd_comboPREPARED").value = ishd;
alert("无此内容,请重新选择!");
}
}
}, 10);
}
});
comboPREPARED.attachEvent("onSelectionChange", function() {
$("hd_comboPREPARED").value = comboPREPARED.getComboText().trim();
});
}
//是否为数字,且数值格式是否正确
function IsNumFormat(val) {
var re = /^[-\+]?\d+(\.\d+)?$/;
if (!re.test(val)) {
return false;
}
else {
if (val.toString().indexOf(".") > 0) {
val.toString().replace("-", "");
val.toString().replace("+", "");
if (val.toString().substr(0, 1) == "0" && val.toString().substr(0, 2) != "0.") {
return false;
}
}
else {
var re1 = /^[-\+]+[1-9]+[0-9]*]*$/;
if (!re1.test(val)) {
re1 = /^[1-9]+[0-9]*]*$/;
if (!re1.test(val)) {
return false;
}
}
}
return true;
}
}
//
function getIsNum(x) {
var str = x.value.trim();
if (str == "0") {
return;
}
else if (str == "") {
str = 0;
x.value = 0;
}
else {
var bl = IsNumFormat(str);
if (!bl) {
alert("数值格式错误!");
x.focus();
x.select();
}
}
}
function ShowDetailDel() {
if (confirm('确定撤销生成的凭证吗?')) {
var urlVal01 = "CwVouchersListGridSource.aspx?handle=delete&gids=" + $("hdOrdno").value.trim() + "&val=" + newGuid();
var loader01 = dhtmlxAjax.getSync(urlVal01);
var strDel = loader01.xmlDoc.responseText;
if (strDel.trim() != "") {
alert(strDel);
}
else {
window.close();
}
return;
}
}