invoiceScanning.jsp 7.54 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="weaver.general.Util"%>
<%@ page import="weaver.hrm.HrmUserVarify" %>
<%@ page import="weaver.hrm.User" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>

<%
User fna_user_inner = HrmUserVarify.getUser(request, response) ;
if(fna_user_inner==null){
    response.sendRedirect("/notice/noright.jsp") ;
    return ;
}

String requestid = Util.null2String(request.getParameter("requestid"));
String workflowid = Util.null2String(request.getParameter("workflowid"));

%>

<html>
<head>

<style type="text/css">

#fnaInvoiceScanningDiv{
    position:fixed;
    left: 0px;
    top: 0px;
    width: 0%;
    height: 100%;
    z-index: 99999;
}

#fnaInvoiceScanningFrame{
    width: 0%;
    height:100%;
    z-index: 99999;
}


</style>

</head>
<body>


<div id="fnaInvoiceScanningDiv">
    <iframe id="fnaInvoiceScanningFrame" src="/mobile/plugin/1/invoices_em6.html" frameborder="0" scrolling="auto">
    </iframe>
</div>

<script type="text/javascript">


var requestid = "<%=requestid%>";
var workflowid = "<%=workflowid%>";

function invoiceScanning(dindex){
    var datas = encodeURI("&dindex="+dindex);
    fnaInvoiceScanning(datas);
}

function fnaInvoiceScanning(data){
    var params = data.split("&");
    var dindex = "";
    for(var i = 0; i < params.length; i++){
        var keyValue = params[i].split("=");
        if(keyValue.length === 2){
            if(keyValue[0] == "dindex"){
                dindex = keyValue[1];                    
            }
        }
    }
    top._BrowserWindow = window;
    $("#fnaInvoiceScanningDiv").animate({width:'100%'},100);
    $("#fnaInvoiceScanningFrame").animate({width:'100%'},100);
    jQuery("#fnaInvoiceScanningFrame")[0].contentWindow.resetBrowser({
        "requestid":requestid,
        "workflowid":workflowid,
        "dindex":dindex
    });
    jQuery("#fnaInvoiceScanningFrame")[0].contentWindow.downCallback();
}

function callbackOk_invoiceScanning(result,fieldindex,fieldIdInvoice,fieldIdSubject,fieldIdAmount,fieldIdDate,fieldIdDesc,descArray){
    var dindex = fieldindex;
    for(var j=0;j<result.length;j++){
    	var resultJson = result[j];
    	if(resultJson == undefined){
    		continue;
    	}
    	var idValue = result[j].idValue;
    	var nameValue = result[j].nameValue;
    	var desc = descArray[j];
        var subjectId = desc.subjectId;
        var subjectName = desc.subjectName;
        var taxIncludedPrice = desc.taxIncludedPrice;
    	var billingDate = desc.billingDate;
    	var invoiceServiceYype = desc.invoiceServiceYype;
    	if(dindex == 0){//主表
            setFieldSpan(fieldIdInvoice,idValue,nameValue);
            if(fieldIdSubject!=0){
            	var fieldSpanId = "field"+fieldIdSubject+"_span";
                setFieldSpanSubject(fieldIdSubject,fieldSpanId,subjectId,subjectName,null,null,0);
            }
            if(fieldIdAmount!=0){
                setFieldSpan(fieldIdAmount,taxIncludedPrice,taxIncludedPrice);
            }
			if(fieldIdDate!=0){
                setFieldSpan(fieldIdDate,billingDate,billingDate);
			}
			if(fieldIdDesc!=0){
                setFieldSpan(fieldIdDesc,invoiceServiceYype,invoiceServiceYype);
			}
        }else{//明细表
            var _dindex_dtlIdx = dindex-1;
            var addId = "addbutton"+_dindex_dtlIdx;
            jQuery("button[name="+addId+"]").trigger("click");
            var _xm_array = jQuery("input[name^='field"+fieldIdInvoice+"_']");
            for(var i = 0; i < _xm_array.length; i++){
                var _iptName = jQuery(_xm_array[i]).attr("name");
                var _iptNameArray = _iptName.split("_");
                if(_iptNameArray.length==2){
                    var _idx = parseInt(_iptNameArray[1]);
                    if(!isNaN(_idx) && _idx >= 0){
                    	if(i == _xm_array.length - 1){
                    		var indexno = _idx;
                    		setDtlFieldSpan(fieldIdInvoice,indexno,idValue,nameValue,_dindex_dtlIdx);
                            if(fieldIdSubject!=0){
                                var fieldSpanId = "field"+fieldIdSubject+"_"+indexno+"_span";
                                setFieldSpanSubject(fieldIdSubject,fieldSpanId,subjectId,subjectName,_dindex_dtlIdx,indexno,1);
                            }
                            if(fieldIdAmount!=0){
                                setDtlFieldSpan(fieldIdAmount,indexno,taxIncludedPrice,taxIncludedPrice,_dindex_dtlIdx);
                            }
                            if(fieldIdDate!=0){
                                setDtlFieldSpan(fieldIdDate,indexno,billingDate,billingDate,_dindex_dtlIdx);
                            }
                            if(fieldIdDesc!=0){
                                setDtlFieldSpan(fieldIdDesc,indexno,invoiceServiceYype,invoiceServiceYype,_dindex_dtlIdx);
                            }
                    	}
                    }
                }
            }
        }
    }
    $("#fnaInvoiceScanningDiv").animate({width:'0'},100);
    $("#fnaInvoiceScanningFrame").animate({width:'0'},100);
}

function setFieldSpanSubject(fieldId,fieldSpanId,idValue,nameValue,_dindex_dtlIdx,indexno,isDtl){
	// 赋值主字段
    var fieldSpan = jQuery("#"+fieldSpanId);   
	var fieldIdBak = fieldId;
    fieldSpan.html("");
    fieldSpan.children().remove();
    var ids = idValue.split(",");
    var names = nameValue.split(",");
    for(var i=0; i<ids.length; i++){
        fieldSpan.append("<span keyid="+ids[i]+">"+names[i]+"</span>");
        if(i < ids.length-1){
            fieldSpan.append("<div style='height:10px; width:1px; overflow:hidden;'></div>");
        }
    }
    jQuery("#"+fieldId).val(idValue);
    // 明细字段赋值
    fieldSpanId = fieldSpanId +"_d";
    fieldId = fieldId + "_d";
    fieldSpan = jQuery("#"+fieldSpanId); 
    fieldSpan.children().remove();
    var ids = idValue.split(",");
    var names = nameValue.split(",");
    //上部表示div
    try{
        var titlefieldSpan = jQuery("#isshow" + fieldSpan.attr("groupid") + "_"+ fieldSpan.attr("rowid") + "_" + fieldSpan.attr("columnid"));
        titlefieldSpan.html("");
        for(var i=0; i<ids.length; i++){
            titlefieldSpan.append("<span keyid="+ids[i]+">"+names[i]+"</span>");
            if(i < ids.length-1){
                titlefieldSpan.append("<div style='height:10px; width:1px; overflow:hidden;'></div>");
            }
        }
    }catch(e){}
    for(var i=0; i<ids.length; i++){
        fieldSpan.append("<span keyid="+ids[i]+">"+names[i]+"</span>");
        if(i < ids.length-1){
            fieldSpan.append("<div style='height:10px; width:1px; overflow:hidden;'></div>");
        }
    }
    jQuery("#"+fieldId).val(idValue);
    if(isDtl=="1"){
        jQuery("#isshow"+_dindex_dtlIdx+"_"+indexno+"_"+fieldIdBak).html(nameValue);
    }
    jQuery("#"+fieldId).change();
}

function setFieldSpan(fieldId,value1,value2){
    jQuery("#field"+fieldId).val(value1);
    jQuery("#field"+fieldId+"_span").html(value2);
    jQuery("#field"+fieldId).change(); 
}

function setDtlFieldSpan(fieldId,indexno,idValue,nameValue,_dindex_dtlIdx){
	jQuery("#field"+fieldId+"_"+indexno).val(idValue);
    jQuery("#field"+fieldId+"_"+indexno+"_d").val(idValue);
    jQuery("#field"+fieldId+"_"+indexno+"_span").html(nameValue);
    jQuery("#isshow"+_dindex_dtlIdx+"_"+indexno+"_"+fieldId).html(nameValue);
    jQuery("#field"+fieldId+"_"+indexno).change();
}

function callbackBack_invoiceScanning(){
    $("#fnaInvoiceScanningDiv").animate({width:'0'},100);
    $("#fnaInvoiceScanningFrame").animate({width:'0'},100);
}

</script>

</body>
</html>