//ajax的交易地址 // var url="http://127.0.0.1:9080/"; // var send_url = "http://172.18.1.216:2122/";//玉环 // var url = "http://127.0.0.1:3080/";//临海 // var send_url = "http://172.18.1.217:7080/";//临海 // var send_url = "http://172.18.1.217:7080";//三门 // var send_url = "http://172.18.1.216:8111/";//玉环 var qzjip=GetCookie("qzjip"); var send_url ="http://127.0.0.1:7080"; if (qzjip!=''&&qzjip!=undefined){ send_url="http://"+qzjip+":7080"; console.log("前置机IP"+qzjip); } //ajax的交易方式 var type="post"; var tzqh = true;//台州市本级测试! function sendAjax(msg,type,url,tyb,str,returnFun,ifalways){ var result={}; var userBean = getUserBean(); var timeout = 10000;//默认超时限制10秒 if(userBean.ssqh.indexOf("500")>-1 || (msg &&msg =='正在下载目录信息')){ timeout = 30000; } if(msg=='正在查询累计信息'){ // 累计信息特殊处理 timeout=5000; } try{ jQuery.support.cors = true; var sfdzpz = false; if(msg && msg.indexOf("电子凭证")>-1){ sfdzpz = true; } if(ifalways!='1' || sfdzpz){ setTimeout(function () { sendOutAjax.abort(); },timeout); } var index; var sendOutAjax = $.ajax({ crossDomain: true, dataType:"text", //jsonp解决ie下跨域问题 url:url, type:type, jsonp:'callback', async:tyb, data: str, beforeSend:function () { index = parent.layer.open({ type: 1, content: '
'+msg+'!
', shade: 0, shadeClose: true, success:function (layero, index) { var offset = $(layero[0]).offset(); var left = offset.left + 35; $(layero[0]).css("left",left+"px"); } }); }, success: function(data){ if(data.indexOf("操作超时")>-1){ result.resultFlag = "-1"; var datas = { ReturnCode : result.resultFlag, Message : data } result.resultMsg = JSON.stringify(datas); }else{ result.resultFlag = "1"; result.resultMsg = data; } returnFun(result); }, error :function(XMLHttpRequest, textStatus, errorThrown) { var errorThrownStr = errorThrown+""; if((errorThrownStr && errorThrownStr.indexOf("127.0.0.1:7080")>-1) || !errorThrownStr ){ errorThrownStr = "发送医保交易不成功,请检查前置机是否运行正常!"; } var msg = "调用失败:"+"请求对象:"+XMLHttpRequest+"错误类型:"+textStatus+"异常对象:"+errorThrownStr; if(textStatus =='abort'){ msg = "发送交易失败!请检查网络."; } result.resultFlag = "-1"; var data = { ReturnCode : result.resultFlag, Message : msg } result.resultMsg = JSON.stringify(data); returnFun(result); }, complete:function () { parent.layer.close(index); console.log("BUFFALO-----"+index); } }); }catch(e){ var errMsg = "交易失败!请检查医保前置机是否打开!具体失败原因是:"+e; result.resultFlag = "-1"; result.resultMsg = errMsg; returnFun(result); } } function sendTrade(msg,xzdm,dyfs,paramString,returnFun){ var data=""; type="post"; var str =encodeURIComponent(paramString); sendAjax(msg,type,send_url,true,str,returnFun,dyfs); } function sendTradeAsync(msg,xzdm,dyfs,paramString,returnFun){ var data=""; type="post"; var str =encodeURIComponent(paramString); sendAjax(msg,type,send_url,false,str,returnFun,dyfs); } function sendAjax_noMessage(zfdz,str,returnFun){ try{ jQuery.support.cors = true; $.ajax({ crossDomain: true, dataType:"text", //jsonp解决ie下跨域问题 url:send_url, type:'post', jsonp:'callback', async:true, data: encodeURIComponent(str), success: function(data){ returnFun(data); },error :function(XMLHttpRequest, textStatus, errorThrown) { returnFun("");//防止部分交易因为等待返回卡死 } }); }catch(e){ returnFun(""); } } function sendTradeNoFrame(msg,jylx,paramString,returnFun){ var type = "post"; var url = send_url; var str = paramString; //str =encodeURI(encodeURI(str)); var result = {}; var data=""; try{ if(jylx=="1"){ if(type=="post"){ jQuery.support.cors = true; $.ajax({ crossDomain: true, dataType:"text", //jsonp解决ie下跨域问题 url:url, type:type, jsonp:'callback', async:true, data: encodeURIComponent(str), success: function(data){ result.resultFlag = "1"; result.resultMsg = data; returnFun(result); }, error :function(XMLHttpRequest, textStatus, errorThrown) { var errorThrownStr = errorThrown+""; if((errorThrownStr && errorThrownStr.indexOf("127.0.0.1:7080")>-1) || !errorThrownStr ){ errorThrownStr = "发送医保交易不成功,请检查前置机是否运行正常!"; } var msg = "调用失败:"+"请求对象:"+XMLHttpRequest+"错误类型:"+textStatus+"异常对象:"+errorThrownStr; result.resultFlag = "-1"; var data = { ReturnCode : result.resultFlag, Message : msg } result.resultMsg = JSON.stringify(data); returnFun(result); } }); } }else if(jylx=="2"){ data=document.getElementById("MiTrans").MiTransApply2(paramString); result.resultFlag = "1"; result.resultMsg = data; returnFun(data); }else if(jylx=="3"){ data=document.getElementById("MiTrans").MiTransApply(paramString); result.resultFlag = "1"; result.resultMsg = data; returnFun(data); } }catch (e){ var errMsg = "交易失败!请检查医保前置机是否打开!具体失败原因是:"+e; result.resultFlag = "-1"; result.resultMsg = errMsg; returnFun(result); } } function sendTradeNoFrameAsync(msg,jylx,paramString,returnFun){ var type = "post"; var url = send_url; var str = paramString; //str =encodeURI(encodeURI(str)); var result = {}; var data=""; try{ if(jylx=="1"){ if(type=="post"){ jQuery.support.cors = true; $.ajax({ crossDomain: true, dataType:"text", //jsonp解决ie下跨域问题 url:url, type:type, jsonp:'callback', async:false, data: encodeURIComponent(str), success: function(data){ result.resultFlag = "1"; result.resultMsg = data; returnFun(result); }, error :function(XMLHttpRequest, textStatus, errorThrown) { var errorThrownStr = errorThrown+""; if((errorThrownStr && errorThrownStr.indexOf("127.0.0.1:7080")>-1) || !errorThrownStr ){ errorThrownStr = "发送医保交易不成功,请检查前置机是否运行正常!"; } var msg = "调用失败:"+"请求对象:"+XMLHttpRequest+"错误类型:"+textStatus+"异常对象:"+errorThrownStr; result.resultFlag = "-1"; var data = { ReturnCode : result.resultFlag, Message : msg } result.resultMsg = JSON.stringify(data); returnFun(result); } }); } }else if(jylx=="2"){ data=document.getElementById("MiTrans").MiTransApply2(paramString); result.resultFlag = "1"; result.resultMsg = data; returnFun(data); }else if(jylx=="3"){ data=document.getElementById("MiTrans").MiTransApply(paramString); result.resultFlag = "1"; result.resultMsg = data; returnFun(data); } }catch (e){ var errMsg = "交易失败!请检查医保前置机是否打开!具体失败原因是:"+e; result.resultFlag = "-1"; result.resultMsg = errMsg; returnFun(result); } } function getKxxy(klx,xzdm,checkHttp,returnFun){ var data=""; if((xzdm=="33100001" || xzdm =="33102201" || xzdm =="33102401")&&klx=='99'){ dealCard(xzdm, "0", "0", klx, returnFun); }else { if ((xzdm == "33100001" || xzdm == "33102201" || xzdm == "33102401") ) { var userBean = getUserBean(); if(tzqh && xzdm == '33100001' && userBean.ywktbz && userBean.ywktbz.indexOf("9")>-1){ }else{ return ""; } } // if("1"==checkHttp){ if (xzdm == "32098101") { dealCard(xzdm, "2", "0", klx, function (data) {//默认卡密码校验 if (data) { var dataJson = ( data ); if (dataJson.ReturnCode == "0") { dealCard(xzdm, "1", "0", klx, returnFun); } else { dealCard(xzdm, "2", "1", klx, function (value) {//输入卡密码校验 var valueJson = value ; if (valueJson.ReturnCode == "0") { dealCard(xzdm, "1", "0", klx, returnFun); } else { alert("校验卡密码失败:" + valueJson.Message); } }); } } }); } // else if (xzdm=='33000001'){ // dealCardSyb(xzdm,"1113","0",klx,function (data){ // returnFun(data); // }) // //return '339900D15600000500461030A7809AF5|3|A03531424|330125194002010825|企退21 |2|||||330100910462|' // } else { //dealCard(xzdm,"0","0",klx,returnFun); var checkCard = QueryString("checkCard"); if (checkHttp && checkHttp == 'true') { checkCard = checkHttp; } if (checkCard || "checkCard" == checkCard || "true" == checkCard) { dealCard(xzdm, "1", "1", klx, function (data) {//默认卡密码校验 returnFun(data); }); } else { dealCard(xzdm, "0", "0", klx, returnFun); } } } } //校验字符串是否是json格式 function isJSON(str){ if(str==""||str==null){ return false; }else { return true; } } function dealCard(xzdm,jydm,defaultPw,cardlx,returnFun){ var userBean=getUserBean(); if((xzdm=="33100001" || xzdm =="33102201" || xzdm =="33102401")&&cardlx=='99'){//台州异地 }else{ if (cardlx!='SFZ'){ cardlx = "0"; } } if(ifGjpt() && cardlx !='SFZ'){ cardlx='99'; } var str = ""+xzdm+"--READCARD--"+jydm+"--"+userBean.yybh+"--0--"+defaultPw+"--"+cardlx+"--0"; str =encodeURIComponent(str); console.log(str); sendAjax("正在进行读卡",type,send_url,false,str,function(data){ var isJs=isJSON(data); if(isJs){ returnFun(data); }else{ LayerMsg("读卡异常,格式无法识别:"+data); returnFun(""); } }); } function dealCardSyb(xzdm,jydm,defaultPw,cardlx,returnFun){ var userBean=getUserBean(); var str = ""+xzdm+"--READCARD--"+jydm+"--"+userBean.gjjgbh+"--0--"+defaultPw+"--"+cardlx+"--0--0"; str =encodeURIComponent(str); sendAjax("正在进行读卡",type,send_url,false,str,function(data){ var isJs=isJSON(data); if(isJs){ returnFun(data); }else{ LayerMsg("读卡异常,格式无法识别:"+data); returnFun(""); } }); } // 前置机身份证读卡方法 function getIDCardInfo(klx,jydm,xzdm,checkHttp,returnFun) { var sfzkxxy = ""; var ArryStr = null; var img = null; if(sfzkxxy==""||sfzkxxy == null){ getSFZKxxy(klx,xzdm,jydm,checkHttp,function(data){ if(data){ if("1"==checkHttp){ if(data.resultFlag==="1"){ var dataJson = JSON.parse(data.resultMsg); if(dataJson.ReturnCode!="-1"){ var str = dataJson.Message; ArryStr = str.split("|"); if (jydm == '1') {// jydm 为1 则返回证件图片信息 img = dataJson.Photo; ArryStr[5] = img; } returnFun(ArryStr); }else{ LayerMsg("读卡出错:"+dataJson.Message); returnFun(""); } }else{ LayerMsg("读卡出错"); returnFun(""); } } } }); } } // 获取身份证卡信息域 function getSFZKxxy(klx,xzdm,jydm,checkHttp,returnFun){ var data=""; if("1"==checkHttp){ if (klx == "SFZ") { dealCard(xzdm,jydm,"0",klx,returnFun); } else { alert("卡类型出错:所读卡不是身份证!"); } } } //通过电子凭证获取卡串 function getDzpz(xzdm,jydm,defaultPw,ssqh,cardlx,ymywlx,czygh,czyxm,returnFun){ var userBean=getUserBean(); var str = ""+xzdm+"--READCARD--"+jydm+"--"+userBean.gjjgbh+"--"+defaultPw+"--"+userBean.gjjgbh+"|"+ymywlx+"|"+"0|"+czygh +"|"+czyxm+"|"+" | |"+"--"+cardlx+"--"+ssqh+""; str =encodeURIComponent(str); console.log("这是电子凭证卡串!:"+str); // var moni ="张三|330106201208154029|01|639900D15600000500BF7C7A48FB4966|330500|"; // var dats = { // "resultMsg":moni, // "resultFlag":"1" // } // returnFun(dats); sendAjax("启动电子凭证",'post',send_url,false,str,function(data){ var isJs=isJSON(data); if(isJs){ console.log("ret"+data); /*var test ="{\"ReturnCode\":\"0\",\"Message\":\"杨振宇|330124199405270070|01|3300001eiaqaugo2qfc49e550a00004743ce66|330199|\",\"AdditionalInfo\":\"|\"}"; data.resultMsg = test;*/ try { var newDzpz = data.resultMsg; // newDzpz = "{\"ReturnCode\":\"0\",\"Message\":\"方赛君|332603197007310020|01|330000ec3pc7svq5rqf69e550a000035f5f25a|331003|4243722005515021875201330000\",\"AdditionalInfo\":\"4243722005515021875201330000|1DBHJRS5I01E0F34A8C00000B959FA87\"}"; // newDzpz = "{\"ReturnCode\":\"0\",\"Message\":\"叶子桐|330825202005082918|01|330000ec3mann5m8ehfc9e550a00001bc4860a|330800|?\",\"AdditionalInfo\":\"?|?\"}"; // newDzpz = "{\"ReturnCode\":\"0\",\"Message\":\"徐素珍|330825197206043129|01|330000ec3m3fsei4m7fa9e550a00009ee5318a|330800|4243721825535825177601330000\",\"AdditionalInfo\":\"4243721825535825177601330000|1DBHJRS5I01E0F34A8C00000B959FA87\"}"; var indexs = newDzpz.indexOf("?"); if(indexs>-1){ newDzpz = newDzpz.substring(0,indexs)+"\"}"; } var retData = JSON.parse(newDzpz); returnFun(retData); }catch (e){ var errMsg = data; var result_yb = {}; result_yb.ReturnCode = "-1"; result_yb.Message = errMsg; returnFun(result_yb); } }else{ LayerMsg("电子凭证二维码异常,格式无法识别:"+data); } }); } function dealCard_Jkk(xzdm,jydm,defaultPw,cardlx,returnFun) {//121 健康卡 defaultPw是二维码 cardlx 121 用户名密码 var str = "" + xzdm + "--READCARD--" + jydm + "--" + "471288012" + "--0--" + defaultPw + "--" + cardlx + "--" + "471288012|1234abcd_" + "--0"; str = encodeURIComponent(str); console.log("这是电子健康卡卡串!:" + str); sendAjax("启动电子健康卡", 'post', send_url, false, str, function (data) { // data = "{"ReturnCode":"0","Message":"04385223191831313086|王颖萍|2|||330523198504276428|||13735123955|"}"; /*data.resultFlag = '1'; data.resultMsg = { ReturnCode:'0', Message:'04385223191831313086|王颖萍|2|||330523198504276428|||13735123955|' }*/ var isJs=isJSON(data); if(isJs){ console.log("ret"+data); try { var newDzpz = data.resultMsg; var parse = JSON.parse(newDzpz); if ("0" == parse.ReturnCode){ //var retData = JSON.parse(newDzpz.Message); returnFun(parse.Message); }else { LayerMsg("电子健康卡二维码异常:"+data.resultMsg); } }catch (e){ var errMsg = data; var result_yb = {}; result_yb.ReturnCode = "-1"; result_yb.Message = errMsg; returnFun(result_yb); } }else{ LayerMsg("电子健康卡二维码异常,格式无法识别:"+data); } }); } function getAlipay(xzdm,jydm,defaultPw,ssqh,cardlx,ymywlx,czygh,czyxm,returnFun){ var userBean=getUserBean(); var str = ""+xzdm+"--READCARD--"+jydm+"--"+userBean.yybh+"--0--"+defaultPw+"--"+cardlx+"--0--0"; str =encodeURIComponent(str); console.log("这是支付宝付款码串!:"+str); sendAjax("启动支付宝读卡",'post',send_url,false,str,function(data){ var isJs=isJSON(data); if(isJs){ try { var newDzpz = data.resultMsg; //var newDzpz='{\"ReturnCode\":\"0\",\"Message\":\"330100D156000005010417FF9261CA54|3|W29123160|330522198811096113|徐龙|1||||||02|286192982152428704|2088102587022182\"}' //var newDzpz='{\"ReturnCode\":"\-60\",\"Message\":\"(3C)\\t支付宝验证失败\"}' var retData = JSON.parse(newDzpz); returnFun(retData); }catch (e) { var errMsg = data.resultMsg; var result_yb = {}; result_yb.ReturnCode = "-1"; result_yb.Message = errMsg; returnFun(result_yb); } }else { LayerMsg("支付宝二维码异常,格式无法识别:"+data); } }) } //为部分支持冲正的地区添加自动冲正功能 function autoRush_Yb(xzdm,jsbh,jzxh,err) { var buffalo = new Buffalo(JSUtil.WebRoot + "/bfapp", true); var data_send = { xzdm: xzdm, jsbh: jsbh, dyfs: "10", "jzxh":jzxh } buffalo.remoteCall("sysSettingService.getCancelCenter_requestString_jycx", [data_send, getUserBean()], function (reply) { var data_req = JSON.parse(reply.getResult()); if(data_req.flag == '1') { var req = data_req.message; if(!req){ req = data_req.requestString; } sendTrade("正在冲正交易", xzdm, "", req, function (data) { if (data.resultFlag == "1") { var param = { responseString: data.resultMsg, xzdm: xzdm, jzxh: jzxh, jsbh: jsbh } buffalo.remoteCall("sysSettingService.saveCancelCenter_responseString_jycx", [param, getUserBean()], function (reply) { var resultValues = JSON.parse(reply.getResult()); searchStatus_retCqDr(err); }); } else { searchStatus_retCqDr(err); } }); }else{ parent.parent.LayerMsg("结算调用返回:" + err + "", 2); parent.window.location.reload(); } }); } function searchStatus_retCqDr(err) { parent.parent.LayerMsg("结算调用返回:" + err + "", 2); parent.window.location.reload(); } //特殊版本的冲正. function searchStatus_ret(maps) { var jslsh = maps.jslsh; if(jslsh){ //如果有 那么是重庆等需要补账退账地区 var lshs = jslsh.split("$"); if(lshs.length==1){ if(jslsh=="##"){ }else{//获得流水号 进行冲正! } } } } function searchStatus_err(err){ parent.parent.LayerMsg("结算调用返回:" + err + "", 2); parent.window.location.reload(); } function autoRush_Fyjs(jsbh) { if(jsbh){ var buffalo = new Buffalo(JSUtil.WebRoot + "/bfapp", true); var data_send = { jsbh: jsbh } try { buffalo.remoteCall("sysSettingService.rushFyjsForpassword", [data_send, getUserBean()], function (reply) { var data_req = JSON.parse(reply.getResult()); }); }catch(e){} } } //给批量上传使用的 function sendAjax_noMessagePlsc(str,tyb,returnFun){ var result={}; try{ jQuery.support.cors = true; $.ajax({ crossDomain: true, dataType:"text", //jsonp解决ie下跨域问题 url:send_url, type:'post', jsonp:'callback', async:tyb, data: encodeURIComponent(str), success: function(data){ if(data.indexOf("操作超时")>-1){ result.resultFlag = "-1"; var datas = { ReturnCode : result.resultFlag, Message : data } result.resultMsg = JSON.stringify(datas); }else{ result.resultFlag = "1"; result.resultMsg = data; } returnFun(result); }, error :function(XMLHttpRequest, textStatus, errorThrown) { var errorThrownStr = errorThrown+""; if((errorThrownStr && errorThrownStr.indexOf("127.0.0.1:7080")>-1) || !errorThrownStr ){ errorThrownStr = "发送医保交易不成功,请检查前置机是否运行正常!"; } var msg = "调用失败:"+"请求对象:"+XMLHttpRequest+"错误类型:"+textStatus+"异常对象:"+errorThrownStr; if(textStatus =='abort'){ msg = "发送交易失败!请检查网络."; } result.resultFlag = "-1"; var data = { ReturnCode : result.resultFlag, Message : msg } result.resultMsg = JSON.stringify(data); returnFun(result); } }); }catch(e){ returnFun(""); } }