//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("");
}
}