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/RecvSettleInvoiceVerificati...

423 lines
16 KiB
JavaScript

var commonGridObj_invoicelist;
var comboCustomer;//委托单位
function $(id){
return document.getElementById(id);
}
function createGrid(){
//header
var headerArgs_invoicelist = new Array("<input type=\"checkbox\" id=\"ck_all\" onclick=\"checkAll(commonGridObj_invoicelist)\" />", "类别", "收费", "废除", "发票号码", "主提单号", "客户名称", "发票抬头", "金额", "币别", "开票人", "开票日期", "开出人", "开出时间");
//width
var widthArgs_invoicelist = new Array("40", "150", "60", "60", "120", "120", "150", "150", "70", "70", "70", "150", "100", "150");
//column align
var colAlignArgs_invoicelist = new Array("center", "center", "center", "center", "center", "center", "center", "center", "center", "center", "center", "center", "center", "center");
//column sort
var colSortArgs_invoicelist = new Array("na", "str", "str", "str", "str", "str", "str", "str", "str", "str", "str", "str", "str", "str");
//column type
var colTypeArgs_invoicelist = new Array("ch", "ro", "ch", "ch", "ro", "ro", "ro", "ro", "ro", "ro", "ro", "ro", "ro", "ro");
commonGridObj_invoicelist = new TGridCommon("mygrid_container_invoicelist","form1",headerArgs_invoicelist,widthArgs_invoicelist,colAlignArgs_invoicelist,colSortArgs_invoicelist,colTypeArgs_invoicelist);
commonGridObj_invoicelist.setResponseUrl("InvoiceApplicationGridSource.aspx");
commonGridObj_invoicelist.setRequest("InvoiceApplicationGridSource.aspx?handle=unverifyinvoice&show_page=15&cur_page=1&search=" + escape($("h_searchJson").value) + "&uid=" + commonGridObj_invoicelist.newGuid());
commonGridObj_invoicelist.setSourceType("json");
commonGridObj_invoicelist.setSkin("xp");
commonGridObj_invoicelist.setImageUrl("../images/");
commonGridObj_invoicelist.initGrid();
commonGridObj_invoicelist.bind();
commonGridObj_invoicelist.setSearch($("h_searchJson").value);
commonGridObj_invoicelist.initPageByHandle("unverifyinvoice");
commonGridObj_invoicelist.getGridObj().attachEvent("onEditCell",function(stage,rId,cInd,nValue,oValue){
if(stage == 0){
if(cInd == 2 || cInd == 3){
return false;
}else{
return true;
}
}
});
commonGridObj_invoicelist.onEditEvent = function(){
commonGridObj_invoicelist.getGridObj().attachEvent("onEditCell",function(stage,rId,cInd,nValue,oValue){
if(stage == 0){
if(cInd == 2 || cInd == 3){
return false;
}else{
return true;
}
}
});
};
}
function initCombo(){
createComboCustomer();//结算单位
}
//删除发票
function deleteInvoice(){
var iCount = 0;
var iSuccess = 0;
var iError = 0;
var iIsPrint = 0;
var iNoPower = 0;
var strNotes = "";
if(commonGridObj_invoicelist != null){
for(var i = 0;i<commonGridObj_invoicelist.getGridObj().getRowsNum();i++){
var rowId = commonGridObj_invoicelist.getGridObj().getRowId(i);
var chBox = commonGridObj_invoicelist.getGridObj().cellByIndex(i,0).getValue();
//如果选中,则将保存的开发票申请提交,提交前先判断当前发票申请是否已经提交申请
if(chBox == 1){
iCount++;
//异步执行操作
var url = "InvoiceApplicationGridSource.aspx?invoiceid="+rowId+"&handle=deleteinvoice&uid="+commonGridObj_invoicelist.newGuid();
var loader = dhtmlxAjax.getSync(url);
var postStatus = loader.xmlDoc.responseText;
var status = parseInt(postStatus);
switch(status){
case 1:
createGrid();
strNotes = "发票删除成功";
iSuccess++;
break;
case -1:
strNotes = "发票已经打印,不能删除,只能废除操作";
iIsPrint++;
break;
case -2:
strNotes = "处理异常";
iError++;
break;
case -3:
strNotes = "没有权限删除发票";
iNoPower++;
break;
}
}
}
if(iCount == 0){
alert("您没有选择要提交的开票申请");
}else if(iCount == 1){
alert(strNotes);
}else if(iCount > 1){
alert("共操作"+iCount+"条 成功"+iSuccess+"条 异常"+iError+"条 已打印不能删除"+iIsPrint+"条 无权限"+iNoPower+"条");
}
}
}
//作废发票
function voidInvoice(){
var iCount = 0;
var iSuccess = 0;
var iError = 0;
var iReDo = 0;
var iNoPower = 0;
var strNotes = "";
if(commonGridObj_invoicelist != null){
for(var i = 0;i<commonGridObj_invoicelist.getGridObj().getRowsNum();i++){
var rowId = commonGridObj_invoicelist.getGridObj().getRowId(i);
var chBox = commonGridObj_invoicelist.getGridObj().cellByIndex(i,0).getValue();
//如果选中,则将保存的开发票申请提交,提交前先判断当前发票申请是否已经提交申请
if(chBox == 1){
iCount++;
//异步执行操作
var url = "InvoiceApplicationGridSource.aspx?invoiceid="+rowId+"&handle=voidinvoice&uid="+commonGridObj_invoicelist.newGuid();
var loader = dhtmlxAjax.getSync(url);
var postStatus = loader.xmlDoc.responseText;
var status = parseInt(postStatus);
switch(status){
case 1:
createGrid();
strNotes = "发票废除成功";
iSuccess++;
break;
case -1:
strNotes = "发票废除异常";
iError++;
break;
case -2:
strNotes = "发票已经废除,不能重复操作";
iReDo++;
break;
case -3:
strNotes = "没有权限作废发票";
iNoPower++;
break;
}
}
}
if(iCount == 0){
alert("您没有选择要废除的发票");
}else if(iCount == 1){
alert(strNotes);
}else if(iCount > 1){
alert("共操作"+iCount+"条 成功"+iSuccess+"条 异常"+iError+"条 禁止重复操作"+iReDo+"条 无权限"+iNoPower+"条");
}
}
}
//打印发票
function printInvoice(){
var iCount = 0;
var iSuccess = 0;
var iError = 0;
var iIsPrint = 0;
var iNoPower = 0;
var strNotes = "";
if(commonGridObj_invoicelist != null){
for(var i = 0;i<commonGridObj_invoicelist.getGridObj().getRowsNum();i++){
var rowId = commonGridObj_invoicelist.getGridObj().getRowId(i);
var chBox = commonGridObj_invoicelist.getGridObj().cellByIndex(i,0).getValue();
//如果选中,则将保存的开发票申请提交,提交前先判断当前发票申请是否已经提交申请
if(chBox == 1){
iCount++;
//异步执行操作
var url = "InvoiceApplicationGridSource.aspx?invoiceid="+rowId+"&handle=print&uid="+commonGridObj_invoicelist.newGuid();
var loader = dhtmlxAjax.getSync(url);
var postStatus = loader.xmlDoc.responseText;
var status = parseInt(postStatus);
switch(status){
case 1:
createGrid();
strNotes = "发票打印成功";
iSuccess++;
break;
case -1:
strNotes = "处理异常";
iError++;
break;
case -2:
strNotes = "发票已经废除不能打印";
iIsPrint++;
break;
case -3:
strNotes = "没有权限打印发票";
iNoPower++;
break;
}
}
}
if(iCount == 0){
alert("您没有选择要打印的发票");
}else if(iCount == 1){
alert(strNotes);
}else if(iCount > 1){
alert("共操作"+iCount+"条 成功"+iSuccess+"条 异常"+iError+"条 已打印不能重复"+iIsPrint+"条 无权限"+iNoPower+"条");
}
}
}
function refreshList(){
createGrid();
}
//根据条件查询付费申请信息
function search(){
var _begintime = $("txt_beginDate").value.trim();
if(_begintime.trim() != ""){
if(!validateDateTime(_begintime)){
alert("起始时间格式错误");
return;
}
}
var _endtime = $("txt_endDate").value.trim();
if(_endtime.trim() != ""){
if(!validateDateTime(_endtime)){
alert("结束时间格式错误");
return;
}
}
var _customer = $("h_customer").value.trim();
var _checkno = $("txt_billno").value.trim();
var searchJson = "";
//begin
searchJson +="{";
searchJson += "[";
//如果查询条件设置了起始时间和结束时间则判断结束时间是否大于起始时间
if(_begintime != "" && _endtime != ""){
if(_begintime.length > 9 && _endtime.length > 9){
var status = DateTimeEqual(_begintime,_endtime);
if(status == 0){
searchJson += "\"btime\":\""+_begintime+"\","
searchJson += "\"etime\":\""+_endtime+"\","
}else if(status == -1){
alert("时间设置错误,起始时间不能大于结束时间,请修改!");
return;
}
// else if(status == -2){
// alert("时间设置错误,起始时间不能等于结束时间,请修改!");
// return;
// }
}
else{
alert("时间格式有问题,长度应大于9个字符,请修改!");
return;
}
}else{
searchJson += "\"btime\":\""+_begintime+"\","
searchJson += "\"etime\":\""+_endtime+"\","
}
searchJson += "\"cus\":\""+_customer+"\",";
searchJson += "\"no\":\""+_checkno+"\"";
searchJson += "]";
searchJson += "}"; //alert(searchJson);
$("h_searchJson").value = searchJson;
//
createGrid();
}
//校验时间格式
function validateDateTime(dateTimeObj){
var isValid = false;
var parseToObj = new Date(dateTimeObj.replace(/-/g, "/"));
if(!isNaN(parseToObj)){
isValid = true;
}
return isValid;
}
function DateTimeEqual(beginObj,endObj){
var isEqual = 0;
var begin = new Date(beginObj.replace(/-/g, "/"));
var end = new Date(endObj.replace(/-/g, "/"));
if(Date.parse(begin) - Date.parse(end) > 0){
isEqual = -1;//起始时间大于结束时间
}else if(Date.parse(begin) - Date.parse(end) == 0){
isEqual = -2;//起始时间与结束时间相等
}
return isEqual;
}
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g,""); }
function createComboCustomer(){//委托单位
comboCustomer = dhtmlXComboFromSelect("sel_customer");
comboCustomer.loadXML("../FeeCodes/WebCrmClientAdapter.aspx?mask=0&pos=0");
comboCustomer.attachEvent("onChange", function(){
comboCustomer.setComboText($("h_customer").value);
});
comboCustomer.attachEvent("onBlur", function(){
var s1 = comboCustomer.getComboText().trim();
var s2 = s1.indexOf("|");
if(s2>0){
s2=s2+2;
}
var s3 = s1.substring(s2);
if(s2>0){
comboCustomer.setComboText(s3);
$("h_customer").value=s3;
}
else
{
comboCustomer.setComboText($("h_customer").value);
}
});
comboCustomer.setComboText($("h_customer").value);
comboCustomer.attachEvent("onKeyPressed", function(keyCode){
if(keyCode!="8"){
var arrayArg = new Array();
setTimeout(function(){
var filterCount = 0;
var is = -1;
var ishd = $("h_customer").value.trim();
if("" != comboCustomer.getComboText().trim()){
while("undefined" != typeof comboCustomer.getOptionByIndex(filterCount)){
var comboValue = comboCustomer.getOptionByIndex(filterCount).text.toUpperCase();//.value;
var enterValue = comboCustomer.getComboText().trim().toUpperCase();
$("h_customer").value = comboCustomer.getComboText().trim().toUpperCase();
if(comboValue.indexOf(enterValue) == 0){
comboCustomer.selectOption(filterCount,true,true);
is=filterCount;
break;
}
++filterCount;
}
if(is==-1){
$("h_customer").value = ishd;
alert("无此内容,请重新选择!");
}
}
},10);
}
});
comboCustomer.attachEvent("onSelectionChange", function(){
$("h_customer").value = comboCustomer.getComboText().trim();
});
}
//初始化界面
function initGrid(){
$("h_customer").value = "";
comboCustomer.setComboText($("h_customer").value);
$("txt_beginDate").value = "";
$("txt_endDate").value = "";
$("txt_billno").value = "";
$("h_searchJson").value = "";
createGrid();
}
//结算发票
function settleInvoice(){
var invoiceArg = new Array();
var iCount = 0;
for(var i = 0;i<commonGridObj_invoicelist.getGridObj().getRowsNum();i++){
var chBox = commonGridObj_invoicelist.getGridObj().cellByIndex(i,0).getValue();
var rowId = commonGridObj_invoicelist.getGridObj().getRowId(i);
if(chBox == 1){
invoiceArg.push(rowId);
iCount++;
}
}
if(iCount == 1){
if($("h_handle").value.trim() == "verify"){
var verifycachename = "";
verifycachename = $("h_verifycache").value.trim();
var openSet = "height=650, width=1000, toolbar=no, menubar=no,scrollbars=no, resizable=no,location=no, status=no,Top= " +(screen.height-650)/2 + ",Left= "+(screen.width-1000)/2
var openType = "_blank";
var openUrl = "InvoiceRecvAmountVerify.aspx?handle=verify&id="+invoiceArg[0]+"&verifycachename="+verifycachename;
window.open (openUrl,openType,openSet);
}else{
var openSet = "height=650, width=1000, toolbar=no, menubar=no,scrollbars=no, resizable=no,location=no, status=no,Top= " +(screen.height-650)/2 + ",Left= "+(screen.width-1000)/2
var openType = "_blank";
var openUrl = "InvoiceVerificationEdit.aspx?handle=verify&id="+invoiceArg[0];
window.open (openUrl,openType,openSet);
}
}else if(iCount < 0){
alert("您没有选择要结算的发票信息");
return;
}else if(iCount > 1){
alert("每次只能结算一条发票信息");
return;
}
}