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

1443 lines
56 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 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;
}
}