/** * @author herong * 公共类 */ var CFWComm = _FW.fCreateClass(); /** * 公共类API */ CFWComm.prototype = { /** * 初始化 * */ fInitialize : function(options) { }, /** * 类似oracle数据库的nvl函数 * 主要是判断传入对象是空值的话,就替换成传入的默认值 * @param sInputs 被判断对象 * @param sDefaultValue 默认值 * @return 如果sInputs为空,则返回sDefaultValue,若不为空,返回sInputs *
* 使用举例:
* var _aResult = CFW.oComm.fnNvl("null",1);//为空时,设置默认值为1
*
*/
fnNvl : function (sInputs,sDefaultValue){
if(typeof(sInputs)=="undefined" || sInputs==null || sInputs=="" || sInputs.toLowerCase()=="null"){
return sDefaultValue;
}else{
return sInputs;
}
},
/**
* 加法函数
* @param double dInput1 (必需)数值1
* @param double dInput2 (必需)数值2
* @returns double dInput1与dInput2相加后的值
*
* 使用举例:
* var _aResult = CFW.oComm.fnAdd(_iAge,60);//如计算年龄加上60年的值
*
*/
fnAdd : function (dInput1,dInput2){
var r1,r2,m,v,r,t,c;
if(CFW.oValid.fnIsNull(dInput1,"CFW.oComm.fnAdd 数值1")){
return ;
}
if(CFW.oValid.fnIsNull(dInput2,"CFW.oComm.fnAdd 数值2")){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput1)){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput2)){
return ;
}
try{r1=dInput1.toString().split(".")[1].length;}catch(e){r1=0;}
try{r2=dInput2.toString().split(".")[1].length;}catch(e){r2=0;}
/*
m = Math.pow(10,Math.max(r1,r2));
v = (dInput1*m+dInput2*m)/m;
if(v==0){return v;}
r = Math.max(r1,r2);
if(r!=0){
if(v>=0){
v = v+0.000000001; //需要进行特殊处理 例如 135.67 + 1.2=136.869999999999998
}else{
v = v-0.000000001; //需要进行特殊处理 例如 0 - 0.23
}
}
t = v.toString();
if(r!=0){
var iPos = t.indexOf(".");
var re = t.substr(0,iPos + r + 1);
t = re;
}
return t;
*/
//使用上述算法:出现异常:8508072.95+2666814.76的返回结果是11174887.70 正常应该返回11174887.71
c = Math.abs(r1 - r2);
m = Math.pow(10, Math.max(r1, r2));
if (c > 0) {
var cm = Math.pow(10, c);
if (r1 > r2) {
dInput1 = Number(dInput1.toString().replace(".", ""));
dInput2 = Number(dInput2.toString().replace(".", "")) * cm;
} else {
dInput1 = Number(dInput1.toString().replace(".", "")) * cm;
dInput2 = Number(dInput2.toString().replace(".", ""));
}
} else {
dInput1 = Number(dInput1.toString().replace(".", ""));
dInput2 = Number(dInput2.toString().replace(".", ""));
}
return (dInput1 + dInput2) / m;
},
/**
* 减法函数
* @param double dInput1(必需) 数值1
* @param double dInput2(必需) 数值2
* @returns double 减后值
*
* 使用举例:
* var _aResult = CFW.oComm.fnSub(_iAge,60);//如计算年龄减去60年的值
*
*/
fnSub : function (dInput1,dInput2){
var r1,r2,m,v,r,t;
if(CFW.oValid.fnIsNull(dInput1,"CFW.oComm.fnSub 数值1")){
return ;
}
if(CFW.oValid.fnIsNull(dInput2,"CFW.oComm.fnSub 数值2")){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput1)){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput2)){
return ;
}
try{r1=dInput1.toString().split(".")[1].length;}catch(e){r1=0;}
try{r2=dInput2.toString().split(".")[1].length;}catch(e){r2=0;}
m = Math.pow(10,Math.max(r1,r2));
v = (dInput1*m - dInput2*m)/m;
if(v==0){return v;}
r = Math.max(r1,r2);
if(r!=0){
if(v>=0){
v = v+0.000000001; //需要进行特殊处理 例如 135.67 + 1.2=136.869999999999998
}else{
v = v-0.000000001; //需要进行特殊处理 例如 0 - 0.23
}
}
t = v.toString();
if(r!=0){
var iPos = t.indexOf(".");
var re = t.substr(0,iPos + r + 1);
t = re;
}
return t;
},
/**
* js 乘法函数
* @param double dInput1(必需)数值1
* @param double dInput2(必需)数值2
* @returns double 乘后值
*
* 使用举例:
* var _aResult = CFW.oComm.fnMult(_iJfjs,12);//如计算缴费基数乘以12个月的结果
*
*/
fnMult : function (dInput1,dInput2){
var i,j,v;
if(CFW.oValid.fnIsNull(dInput1,"CFW.oComm.fnMult 数值1")){
return ;
}
if(CFW.oValid.fnIsNull(dInput2,"CFW.oComm.fnMult 数值2")){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput1)){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput2)){
return ;
}
dInput1=String(dInput1);
dInput2=String(dInput2);
i=dInput1.length-dInput1.indexOf(".")-1;
i=(i>=dInput1.length)?0:i;
j=dInput2.length-dInput2.indexOf(".")-1;
j=(j>=dInput2.length)?0:j;
v=dInput1.replace(".","")*dInput2.replace(".","")/Math.pow(10,i+j);
return v;
},
/**
* js 除法函数
* @param double dInput1(必需)数值1
* @param double dInput2(必需)数值2
* @returns double 除后值
*
* 使用举例:
* var _aResult = CFW.oComm.fnDiv(_iJfje,12);//如计算缴费金额除以12个月的结果
*
*/
fnDiv : function (dInput1,dInput2){
var t1=0,t2=0,r1,r2,v;
if(CFW.oValid.fnIsNull(dInput1,"CFW.oComm.fnDiv 数值1")){
return ;
}
if(CFW.oValid.fnIsNull(dInput2,"CFW.oComm.fnDiv 数值2")){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput1)){
return ;
}
if(!CFW.oValid.fnIsFloat(dInput2)){
return ;
}
if(dInput2==0){
return;
}
try{t1=dInput1.toString().split(".")[1].length;}catch(e){}
try{t2=dInput2.toString().split(".")[1].length;}catch(e){}
with(Math){
r1=Number(dInput1.toString().replace(".",""));
r2=Number(dInput2.toString().replace(".",""));
v =(r1/r2)*pow(10,t2-t1);
}
return v;
},
/**
* 从身份证号码取生日(支持15位、18位身份证号码)
* @param String sSfzh (必需) 身份证号码字符串
* @return String 获取到的生日字符串,格式yyyy-mm-dd
*
* 使用举例:
* var _sBirthday = CFW.oComm.fnGetBirthday(_sSfzh);
*
*/
fnGetBirthday : function (sSfzh){
var year,month,day,retStr;
if(CFW.oValid.fnIsNull(sSfzh,"CFW.oComm.fnGetBirthday 身份证号码字符串")){
return ;
}
if(sSfzh!=""){
if(sSfzh.length==15){
year = "19" + sSfzh.substring(6,8);
month = sSfzh.substring(8,10);
day = sSfzh.substring(10,12);
retStr = year + "-" + month + "-" + day;
//window.CFW.oWin.fnAlert(year);
//window.CFW.oWin.fnAlert(month);
//window.CFW.oWin.fnAlert(day);
//window.CFW.oWin.fnAlert(retStr);
return retStr;
}
else if(sSfzh.length==18){
year = sSfzh.substring(6,10);
month = sSfzh.substring(10,12);
day = sSfzh.substring(12,14);
retStr = year + "-" + month + "-" + day;
return retStr;
}
}
else
return "";
},
/**
* 校验身份证合法性并提示错误提示信息
* 校验包括:是否有非法字符、日期合法性、18位身份证校验位等(支持15位、18位身份证号码)
* @param String sSfzh (必需) 身份证号码字符串
* @return boolean 合法返回true,不合法返回false
*
* 使用举例:
* var _bValid = CFW.oComm.fnValidSfzh(_sSfzh);
*
*/
fnValidSfzh : function (sSfzh){
var inputPro = "公民身份号码";
if(sSfzh == null) sSfzh = "";
if(CFW.oValid.fnIsNull(sSfzh,"CFW.oComm.fnValidSfzh 身份证号码字符串")){
return false;
}
if(_CHECK_IDCARD){
var sGmsfz='';
var sFhz='';
var sMsg='';
var mParams = {
"PI_GMSFZ" : sSfzh
};
var obj=this;
CFW.oAJax.doProc("PKG_FW_PUB.CHECK_GMSFZ", mParams, '',
function(mData) {
sFhz=mData[0].PO_FHZ;
if(sFhz=='1'){
sGmsfz=mData[0].PO_GMSFZ;
}else{
sMsg=mData[0].PO_MSG;
}
},
function(sMsg){
},
false
);
if(sFhz=='1'){
return true;
}else{
CFW.oWin.fnAlert(sMsg);
return false;
}
}else{
var format=sSfzh.length;
if(!CFW.oValid._fnIs0AndPosInteger(sSfzh)){
CFW.oWin.fnAlert(inputPro + "输入不合法!");
return false;
}
if(sSfzh == "") return true;
if((format==18)&&(!this._checkCheckStr(sSfzh))) return false;
/*
if(format==15){
sSfzh= this.fnTransact(sSfzh);
format=18;
}*/
if(format==15 || format==18){
if(!this._fnCheckID(sSfzh,inputPro,format))
return false;
}else{
CFW.oWin.fnAlert("公民身份号码的位数输入不正确!");
return false;
}
return true;
}
},
/**
* 转换身份证号(无提示信息)
* 校验包括:是否有非法字符、日期合法性、18位身份证校验位等(支持15位、18位身份证号码)
* @param String sSfzh (必需) 需要转换身份证
* @return 返回值:身份证号码 或 错误代码,如下:
* 0 传入参数str为null
* -1 公民身份证长度不是15或18位
* -2 15位公民身份证不是数字
* -3 18位公民身份证前17位不是数字
* -4 没有通过18位校验
*
* 使用举例:
* var _sNewSfzh = CFW.oComm.fnTransformSfzhNa(_sSfzh);
*
*/
fnTransformSfzhNa : function (sSfzh){
var newstr="new";
if ((CFW.oValid.fnIsNull(sSfzh)) || (sSfzh == "null") || (sSfzh == "")){
return 0;
}
if(CFW.oValid.fnIsNull(sSfzh,"CFW.oComm.fnTransformSfzhNa 身份证号码字符串")){
return 0;
}
if (sSfzh.length!=15 && sSfzh.length !=18){
//CFW.oWin.fnAlert("公民身份证长度不正确应该为15或18位!");
return -1;
}
if (sSfzh.length==15){
if (isNaN(sSfzh)==true){
//CFW.oWin.fnAlert("15位公民身份证应该为数字!");
return -2;
}
newstr = this.fnTransact(sSfzh);
}
if (sSfzh.length==18){
if (isNaN(sSfzh.substr(0,17))==true){
//CFW.oWin.fnAlert("18位公民身份证前17位应该为数字!");
return -3;
}
newstr = sSfzh;
}
if (this.fnValidSfzh(newstr)==true){
return newstr;
}else{
return -4;
}
},
/**
* 升15位身份证为18位(升位前提示)
* 主要是将传入的15位身份证转换为18位身份证,并提示转换后的18位身份证字符串
* @param String sSfhz15bit (必需) 15位身份证
* @param String sSfts 是否提示,'1'表示提示,'0'表示不提示,默认为'0'
* @return String 18位身份证
*
* 使用举例:
* var _sNewSfzh = CFW.oComm.fnTransact(_sSfzh);
*
*/
fnTransact : function (sSfhz15bit,iSfts){
if(CFW.oValid.fnIsNull(sSfhz15bit,"CFW.oComm.fnTransact 15位身份证")){
return ;
}
if(CFW.oValid.fnIsNull(iSfts)){
iSfts = '0';
}
if(this.fnValidSfzh(sSfhz15bit) == false){
return ;
}
var getno=sSfhz15bit;
if(getno.length==15){
var wi=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
// CFW.oWin.fnAlert("wi="+wi[1]);
var ai=new Array(1,0,'X',9,8,7,6,5,4,3,2);
// CFW.oWin.fnAlert("ai="+ai);
var F1=getno.substr(0,6)+"19"+getno.substr(6,15);
// CFW.oWin.fnAlert("F1="+F1);
var F2=new Array();
F2=F1.split("");
// CFW.oWin.fnAlert("F2="+F2[1]);
var i=0;
var j=0;
var sum =0;
for(i = 0 ; i<17; i++){
j = wi[i]*F2[i];
sum = sum + j;
}
// CFW.oWin.fnAlert("sum="+sum);
sum=sum%11;
// CFW.oWin.fnAlert("again.sum="+sum);
F2[17]=ai[sum];
var F3=new String();
for(i=0;i<18;i++){
if(F2[i]=='X'){
F3=F3+"X";
break;
}
F3=F3+''+F2[i];
}
if(iSfts == '1'){
CFW.oWin.fnAlert("身份证自动升位为"+F3);
}
return F3;
}else{
return sSfhz15bit;
}
},
/**
* 升15位身份证为18位(升位前不提示)
* 主要是将传入的15位身份证,转换为18位身份证(其中年份固定为20世纪)
* @param String sSfhz15bit (必需) 15位身份证
* @return String 18位身份证
*
* 使用举例:
* var _sNewSfzh = CFW.oComm.fnTransactNa(_sSfzh);
*
*/
/*
fnTransactNa : function (sSfhz15bit){
if(CFW.oValid.fnIsNull(sSfhz15bit)){
return ;
}
if(CFW.oComm.fnValidSfzh(sSfhz15bit) == false){
return ;
}
var getno=sSfhz15bit;
if(getno.length==15){
var wi=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
// CFW.oWin.fnAlert("wi="+wi[1]);
var ai=new Array(1,0,'X',9,8,7,6,5,4,3,2);
// CFW.oWin.fnAlert("ai="+ai);
var F1=getno.substr(0,6)+"19"+getno.substr(6,15);
// CFW.oWin.fnAlert("F1="+F1);
var F2=new Array();
F2=F1.split("");
// CFW.oWin.fnAlert("F2="+F2[1]);
var i=0;
var j=0;
var sum =0;
for(i = 0 ; i<17; i++){
j = wi[i]*F2[i];
sum = sum + j;
}
// CFW.oWin.fnAlert("sum="+sum);
sum=sum%11;
// CFW.oWin.fnAlert("again.sum="+sum);
F2[17]=ai[sum];
var F3=new String();
for(i=0;i<18;i++){
if(F2[i]=='X'){
F3=F3+"X";
break;
}
eval("F3=F3+"+F2[i]);
}
//CFW.oWin.fnAlert("身份证自动升位为"+F3);
return F3;
}else{
return sSfhz15bit;
}
},
*/
/**
* 校验身份证号码是否符合规则 目前仅支持15位和18位的校验
* @param String sInput (必需) 身份证号码
* @param String sObjName (必需) 中文名
* @param String sInput (必需) 号码长度
* @return boolean true/false
*
* 使用举例:
* CFW.oComm._fnCheckID(sSfzh,inputPro,format);
*
*/
_fnCheckID : function (sInput,sObjName,iFormat){
var temp;
var year,month,day;
//0、校验位数是否为15或18位
if(sInput.length != iFormat){
CFW.oWin.fnAlert("目前不支持校验长度为"+iFormat+"的证件号码,目前仅支持15位或18位身份证号码。");
return false;
}
//1、校验位数是否一致
if(sInput.length != iFormat){
CFW.oWin.fnAlert(sObjName+"格式不对,应为“"+iFormat+"”位。");
return false;
}
//2、校验年份是否合法
if(iFormat==15){
temp=sInput.substring(6,8);
year=parseInt(temp,10);
if(year<00 || year>99){
CFW.oWin.fnAlert(sObjName+"年份应介于00与99之间,请重新输入!");
return false;
}
}else { // if(iFormat==18)
temp=sInput.substring(6,10);
year=parseInt(temp,10);
if(year<1900 || year>2200){
CFW.oWin.fnAlert(sObjName+"年份应介于1900与2200之间,请重新输入!");
return false;
}
}
//3、校验月份是否合法
if(iFormat==15){
temp=sInput.substring(8,10);
}else{ //if(iFormat==18)
temp=sInput.substring(10,12);
}
month=parseInt(temp,10);
if(month<1 ||month>12){
CFW.oWin.fnAlert(sObjName+"月份必须介于1与12之间!");
return false;
}
//4、校验日期是否合法
if(iFormat==15){
temp=sInput.substring(10,12);
}else{ //if(iFormat==18)
temp=sInput.substring(12,14);
}
day=parseInt(temp,10);
if((day==0)||(day>31)){
CFW.oWin.fnAlert(sObjName+"日必须介于0与31之间!");
return false;
}else if(day>28 && day<31){
if(month==2){
if(day!=29){
CFW.oWin.fnAlert(sObjName+year+"年"+month+"月无"+day+"日。" +
"");
return false;
}
else {
if((year%4)!=0){
CFW.oWin.fnAlert(sObjName+year+"年"+month+"月无"+day+"日。");
return false;
}
else {
if((year%100==0)&&(year%400!=0)){
CFW.oWin.fnAlert(sObjName+year+"年"+month+"月无"+day+"日。");
return false;
}
}
}
}
}else if(day==31){
if((month==2)||(month==4)||(month==6)||(month==9)||(month==11)){
CFW.oWin.fnAlert(sObjName+month+"月无"+day+"日");
return false;
}
}
return true;
},
/**
* 功能:构造一个form,发送HTTP请求。发送请求后,构造的form会被删除。
*
* @param action 字符串,必填项,form的action属性。
* @param data 字符串,必填项,form的字段名值对。
* @param method 字符串,非必填项,form的method属性,默认值是POST。
* 为安全起见,尽可能使用post方法,而不是get方法
* @returns
*
* 例子
* var param = {"listWhereCls":" AAE100 ='1' and BAE001 like '4419%'",
* "configId":"fw_authmngr_geneauth_list1",
* "serviceId":"gltExcelService",
* "method":"exportGlt"
* };
* sendRequest(contextPath + '/downFile.do',param);
*/
fnSendRequest:function(action,data,method){
method = method || 'post';
var div = document.createElement("div");
var html = "";
div.innerHTML=html;
var form = div.getElementsByTagName("form")[0];
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
},
/**
*
* 动态异步加载单记录表,多记录表或者JSP到当前页面的目标DIV中
* @param divId 字符串,必填项,目标DIV的id值
* @param type 字符串,必填项,加载的类型,值为'gt','glt','jsp'其中之一。
* @param idOrJsp 字符串,必填项,值为加载gt的id,glt的id,或者是jsp路径。
* 如果是jsp路径,为安全起见,路径后不能包含?a=xx&b=xx的字符串。参数请放在下面的data参数。
* @param data JSON对象,选填项,用作指定gt,glt,jsp的参数.
* 1. gt的参数仅支持defV
* 2. glt的参数支持whereCls,height,width,showContent,editable,expBtns,
* hasPage,pageSize,hasTitle
* 如果gt,glt的参数没有在上述列出,请联系框架组改进,或者使用jsp方式动态加载
* gt,glt方式仅仅用于动态产生简单的单记录表和多记录表,如果需要动态产生复杂的记录表,
* 请编写jsp文件,用jsp方式动态载入
* 3. jsp的参数无限制,与一般请求JSP的参数一样。
* 动态载入JSP,对JSP文件的要求如下: (其实与hnisi:tabPanel下的hnisi:tab的要求类似)
* 3.1 要动态载入的jsp文件,文件头部不能有这么一行
* <%@ include file="/jsp/framework/head.jsp"%>
* 需要将这一行改成
* <%@ include file="/jsp/framework/taglib.jsp"%>
* 从而避免重复导入js文件,
* 3.2 jsp文件里面不要包含,,
标签,因为动态载入会载入JSP所有内容 * 如果被动态载入的JSP文件包含了
,
,
那么载入后的页面会包含多个 *
,
,
* * 例子: * jsp页面: * * *
* CFW.oComm.fnReportGenerate('bxgx_rydj_grjbzl_rpt',aform,false,true,'blank',true,false,true);
* 具体的使用说明详见手册
*
*/
fnReportGenerate: function (sCfgId,form,bNdp,bNsp,sTarget,bNeedSaveAsExcel,bNeedPaginationAsXls,bNeedSaveAsWord){
var _bNeedSaveAsExcel = bNeedSaveAsExcel||false;
var _bNeedPaginationAsXls = bNeedPaginationAsXls||false;
var _bNeedSaveAsWord = bNeedSaveAsWord || false;
if(sCfgId==''||sCfgId==null){
CFW.oWin.fnAlert("入参报表的配置ID不能为空!");
return;
}
//执行AJAX获取该ID对应的配置
new Service().appendQuery([{
configId:'FW_CONFIG.FW_REPORT_CONF_Q',
parameters:{ID:sCfgId},
transform:'firstRow'
}]).sentAjax(function(data){//处理成功的函数
_rpt_1(sCfgId,data,form,bNdp,bNsp,sTarget,_bNeedSaveAsExcel,_bNeedPaginationAsXls,_bNeedSaveAsWord);
return true;
},function(XMLHttpRequest, textStatus, errorThrown){//处理失败的函数
var tipMsg = XMLHttpRequest.responseText;
CFW.oWin.fnAlert("错误信息:" + tipMsg);
if(window['fwReportGentBack']){
//调用回调函数
fwReportGentBack();
}
});
//内置函数
function _rpt_1(sCfgId,data,dataForm,bNdp,bNsp,sTarget,bNeedSaveAsExcel,bNeedPaginationAsXls,bNeedSaveAsWord){
var frms = document.getElementsByTagName("form");
var iLen = frms.length;
var params = data[0]["REPORTPARM"];
var commService = data[0]["COMMSERVICE"];
var commProc = data[0]["COMMPROC"];
var arrParams;
var tmp="";
var fw_id="";
var fwparams="";
var fwmap = {};
//找出已经存在相同的form删掉
for(var i=0;i
* 使用举例:
* 例子:按顺序加载encrypt.js文件和encrypt2文件
* CFW.oComm.fnLoadScript({
* url:curSerUrl + "/js/fw/encrypt.js",
* beforeFunc: function(){return null==document.getElementById("fwencrypt");},//返回true的时候才载入脚本
* afterFunc: function(script){
* if(null != script){
* script.id = "fwencrypt";
* }
* CFW.oComm.fnLoadScript({
* url:curSerUrl + "/js/fw/encrypt2.js",
* beforeFunc: function(){return null==document.getElementById("fwencrypt2");},//返回true的时候才载入脚本
* afterFunc: function(script){
* if(null != script){
* script.id = "fwencrypt2";
* }
* }
* });
* }
* });
*
*/
fnLoadScript : function(oOpt){
var url = oOpt.url || "";
var afterFunc = oOpt.afterFunc || function(){};
var beforeFunc = oOpt.beforeFunc || function(){return true};
if('[object Function]' != Object.prototype.toString.call(beforeFunc)){
beforeFunc = function(){return true};
}
if('[object Function]' != Object.prototype.toString.call(afterFunc)){
afterFunc = function(){};
}
//校验不通过,直接调用回调函数
if(false == beforeFunc()){
afterFunc();
return;
}
//校验通过,则下载script,并且下载执行完毕后调用afterFunc,并且把script作为参数传递
var script = document.createElement('script');
script.src = url;
script.type= 'text/javascript';
if(script.readyState){
script.onreadystatechange = function(){
if('complete' == this.readyState || 'loaded' == this.readyState){
this.onreadystatechange = null;
afterFunc(script);
}
}
}else{
script.onload = function(){
afterFunc(script);
}
}
document.getElementsByTagName("head")[0].appendChild(script);
},
fnDownAttach : function(zlid){
//把文件绝对路径+名字传给downloadform表单
var url = contextPath + '/downFile.do?serviceId=uploadAttachExportService&method=exportFile&ZLID='+encodeURI(zlid);
window.location.href = url;
},
fnDeleteAttach : function(zlid){
var params = {ZLID:zlid};
new Service({
serviceId:'uploadAttachService',
method:'deleteAttach',
parameters:params
}).sentAjax(function(data){
CFW.oGlt.fnRefreshData('fw_comm_attachlist');
alert('操作成功!');
},function(msg){
alert(msg);
});
},
/**
* 调用上传下载组件
* @param ywbh 业务编号
* @param ywlb 业务类别
* @param uploadType 上传类型
* @param uploadService 上传处理方法
* @param uploadPath 上传路径
* @param maxfileSize 限制只能上传N个附件或者不限制附件个数,默认不限制。
* @returns {Boolean}
* * CFW.oComm.fnUploadAttach(ywbh,ywlb,uploadType,uploadService,uploadPath,maxfileSize) **/ fnUploadAttach : function(ywbh,ywlb,uploadType,uploadService,uploadPath,maxfileSize){ if(CFW.oValid.fnIsNull(ywbh)){ FWalert('业务编号为空,请核实!'); return; } var ywlsh=CFW.oValid.fnIsNull(ywlb)?ywbh:(ywlb+ywbh); if (CFW.oValid.fnIsNull(uploadType)) { CFW.oWin.fnAlert('请选择上传类别!!'); return; } var paramStr=''; if(!CFW.oValid.fnIsNull(uploadPath)){ paramStr+='&uploadType='+uploadType; } if(!CFW.oValid.fnIsNull(uploadPath)){ paramStr+='&uploadPath='+uploadPath; } if(!CFW.oValid.fnIsNull(uploadService)){ paramStr+='&uploadService='+uploadService; } if(!CFW.oValid.fnIsNull(maxfileSize)){ paramStr+='&fileSize='+maxfileSize; } var url=contextPath + "/framework/web/uploadattach.do?ywlsh="+ywlsh+paramStr; window.open(url, "newwindow", "height=300, width=800, toolbar =no, menubar=no, scrollbars=yes, resizable=no, location=no, status=no"); }, /** * 单击回车键就调用TAB键 * @param event * @returns {Boolean} *
* CFW.oComm._fnEnterToTab(event) **/ _fnEnterToTab : function(event){ //8 backspace 9 tab 46 delete if(event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46){ return true; } if (event.keyCode == 13) { event.keyCode = 9; return true; } if(event.ctrlKey||event.shiftKey){return true;} return false; } };