var ERRORMSG={101:"请选择一个产品",102:"产品已经提交审核,不可修改"}; var uploadFlag = false; function setErrorMessage(errMsg){ ERRORMSG = errMsg; } var uploadForm; var className; var uploadCallBack; var curEntityId; function uploadInitValue(refUploadForm,refClassName){ uploadForm=refUploadForm; className=refClassName; } /** * 有附件时上传 * @param confirmMsg * @return */ function doSave(confirmMsg,overCallBack){ errorArr=[]; if($("#"+uploadForm).valid()){//"请确认保存" if(confirmMsg.length==0||confirm(confirmMsg)){ uploadCallBack = overCallBack; doOverLay(); initAjaxForm(); } } } function justUpload(confirmMsg,entityId,overCallBack){ errorArr=[]; if($("#"+uploadForm).valid()){ if(confirmMsg!=null && confirmMsg!=''){ if(!confirm(confirmMsg)){ return; } } uploadCallBack = overCallBack; doOverLay(); upload(entityId); } } function initAjaxForm(){ var urlStr=$("#"+uploadForm).attr("action"); var options={ url : urlStr, dataType : 'json', error:function(response){alert("系统繁忙,请重试"); //关闭遮罩层 $("#overLay").remove(); $.powerFloat.hide(); }, success : function(data){ if(data.type!=null && data.type=='login'){ alert("会话过时,请重新登陆!!"); uUrl("/login.do"); return; } if( data.fieldErrors != null ){ //关闭遮罩层 $("#overLay").remove(); $.powerFloat.hide(); showErrorMsg(data); return false; } if(data.isError){//isExist //关闭遮罩层 $("#overLay").remove(); $.powerFloat.hide(); if(ERRORMSG[data.errorCode]!=undefined){ alert(ERRORMSG[data.errorCode]); }else{ alert("系统错误,请稍候再试"); } }else{ curEntityId = data.entityId; upload(curEntityId); if(uploadFlag){ //关闭遮罩层 saveOver(); } } } }; $("#"+uploadForm).ajaxSubmit(options); } function JsonToString(o) { var arr = []; var fmt = function(s) { if (typeof s == 'object' && s != null) return JsonToStr(s); return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s; } for (var i in o) arr.push("'" + i + "':" + fmt(o[i])); return '{' + arr.join(',') + '}'; } function upload(entityId){ sumAttachment(); $("#"+uploadForm).find(":file").each(function(){ var id=$(this).attr("id"); if($("#"+id+"_HIDDEN").val()!=null && $("#"+id+"_HIDDEN").val()!=''){ var temp=$("#"+uploadForm).find("#"+"uploadifive-"+id+"-queue").children().size(); var type=id; var curParams ={}; curParams['attachment.attachmentType']=type; curParams['classId']=entityId; curParams['className']=className; getAttachMentParams(curParams,id); if(temp>0){ for(key in curParams){ $(this).data('uploadifive').settings.formData[key] = curParams[key]; } $(this).uploadifive('upload'); }else if(haveId(id)){//文件没变化只需要保存里面的内容 updateAttachment(curParams,id); } } }); } function updateAttachment(curParams,id){ var entityId = $("#"+id+"_ATTACH_ID").val(); setAttachMentValue(curParams,'attachment.id',entityId); ajaxPostParams(curParams,yUrl('attachment/save.do'),function(){ fileNum-=1; if(fileNum<=0){ saveOver(); } },function(){ alert("保存失败,稍候再试"); closeLay(); }); } function haveId(id){ return $("#"+id+"_ATTACH_ID").val()!=null&&$("#"+id+"_ATTACH_ID").val()!=''; } function getAttachMentParams(curParams,id){ //取有效期 var st=$("#"+id+"_PERIOD_S").val(); var et=$("#"+id+"_PERIOD_E").val(); //取备注 var remark=$("#"+id+"_REMARK").val(); setAttachMentValue(curParams,'attachment.remark',remark); setAttachMentValue(curParams,'attachment.period.start',st); setAttachMentValue(curParams,'attachment.period.end',et); setAttachMentField(curParams,'codeNumber', id); setAttachMentField(curParams,'orgname',id); setAttachMentField(curParams,'orgtype',id); setAttachMentField(curParams,'orgAddress',id); setAttachMentField(curParams,'awardUnit',id); setAttachMentField(curParams,'orgcodeSn',id); setAttachMentField(curParams,'legalPerson',id); setAttachMentField(curParams,'mainPerson',id); setAttachMentField(curParams,'regCapital',id); setAttachMentField(curParams,'factCapital',id); setAttachMentField(curParams,'operationScope',id); setAttachMentField(curParams,'operationPattern',id); setAttachMentField(curParams,'operationNature',id); setAttachMentField(curParams,'diagnosisSubject',id); setAttachMentField(curParams,'capitalSources',id); setAttachMentField(curParams,'otherAddress',id); setAttachMentField(curParams,'continuedScope',id); setAttachMentField(curParams,'approveVersion',id); } function setAttachMentField(params,refField,refId){ setAttachMentValue(params,"attachment."+refField,$("#"+refId+"_"+refField).val()); } function setAttachMentValue(params,refKey,refValue){ if(refValue!=null){ params[refKey] = refValue; } } var fileNum; //统计需要提交的附件数量 function sumAttachment(){ fileNum = 0; // eval(formId+"Var=0"); $("#"+uploadForm).find(":file").each(function(){ var id=$(this).attr("id"); if($("#"+id+"_HIDDEN").val()!=null && $("#"+id+"_HIDDEN").val()!=''){ var temp=$("#"+uploadForm).find("#"+"uploadifive-"+id+"-queue").children().size(); //alert(temp); if(temp>0){ fileNum = fileNum+temp; }else if(haveId(id)){ fileNum+=1; } // eval(formId+"Var=new Number("+formId+"Var)+new Number("+temp+")"); } }); if(fileNum==0){ //关闭遮罩层 closeLay(); uploadFlag=true; } } function deleteImg(entityId,obj){ if(window.confirm("确定删除附件?")){ $.ajax({ type:"post", url:yUrl("attachment/deleteAtt.do"), data:"attachment.id="+entityId+"&className="+className, success:function(){ var objId = $(obj).parent().parent().attr('id'); objId = objId.substring(0,objId.indexOf("_MSG")); //alert(objId); //如果上层DIV只含有1个元素,代表里面只有即将删除的上传文件,应该把隐藏域置空 if($(obj).parent().parent().children().size()==1){ //$(obj).parent().parent().next().next().val(""); if ($("#"+"uploadifive-"+objId+"-queue").children().size()==0) { $("#"+objId+"_HIDDEN").val(""); } checkHaveUpload(objId); } $(obj).parent().remove(); } }); } } function showErrorMsg(data){ var alertStr=""; alert(alertStr); } function checkHaveUpload(fileId){ var haveImg = $("#"+fileId+"_HIDDEN").val(); if(haveImg!=null && haveImg.length>0){ $("#"+fileId+"_PF_DOWNLOAD").css("background-color","#E5F3FB"); } } var errorArr=[]; function configUploadify(fileId,msgId,fileType,fileDesc,fileSize){ if(fileType==undefined || fileType=='' || fileType==null){ //fileType='*.jpg;*.gif;*.png;*.pdf;*.doc;*.docx;'; fileType='.jpg,.gif,.png,.pdf,.doc,.docx'; fileDesc='请选择'; } if(msgId==undefined){ msgId=fileId+"_MSG"; } if(fileSize==undefined){ fileSize= '2048576'; } //浮动窗口 $("#"+fileId).after( "" ); $("#"+fileId).after( " " ); checkHaveUpload(fileId); $('#'+fileId).uploadifive({ 'uploadScript' : yUrl("attachment/upload.do") + ';jsessionid=' + sessionId,// 'fileObjName' : 'uploadify', 'multi' : true, 'buttonClass':'uploadifive-button', 'simUploadLimit' : '1', 'fileType' : fileType, 'buttonText' : fileDesc, 'fileSizeLimit' : fileSize, 'cancelImg' : contextPath+'/scripts/jquery/plugins/uploadify/cancel.png', 'queueSizeLimit' : '100', 'auto' : false, 'width' : 46, 'height' : 20, 'overrideEvents' : ['onUploadComplete','onFallback','onError','onCancel','onSelect'], 'onFallback' : function() {//如果浏览器没有兼容的HTML5文件API功能触发 alert('浏览器不支持HTML5,无法上传!'); }, 'onUploadComplete' : function (file,data){ var entityId=eval("("+data+")").entityId; //var entityId = null; if(entityId==null){ errorArr.push($(this).attr('id')); $("#"+$(this).attr('id')+"_PF_UPLOAD").css("background-color","red"); updateOver(); return; } //$("#" + jQuery(event.target).attr('id') + queueID).remove(); //file框ID如果含有ma表示是产品信息,否则表示基础信息 var divStr= "
"+ ""+ ""+ "
"; $("#"+msgId).append(divStr); checkHaveUpload(fileId); $("#"+fileId+"_PF_UPLOAD").attr("style",""); //取所在form的ID var formId=$("#"+fileId).parents("form").attr("id"); updateOver(); }, 'onError' : function (file,errorType,data){ if(errorType=="FILE_SIZE_LIMIT_EXCEEDED"){ alert("文件大小超出限制,请重新选择"); } $("#"+fileId+data.queueId).remove(); if( $("#"+msgId).children().size()==0 && $("#"+"uploadifive-"+fileId+"-queue").children().size()==0 ){ $("#"+fileId+"_HIDDEN").val(""); } var str=$(this).parents("form").attr("id"); var num=str.replace(/[a-zA-Z]+/g,""); modelShow(num); $("#"+"uploadifive-"+fileId+"-queue").css("display","block"); // $("#" + jQuery(event.target).attr('id') + queueID).focus(); }, 'onSelect' : function (){ $("#"+fileId+"_PF_UPLOAD").css("background-color","#E5F3FB"); }, 'onCancel' : function (data){ if(data.fileCount==0&&$("#"+msgId).children().size()==0){ var id=$(this).attr('id'); $("#"+ id + "_HIDDEN").val(""); } if(data.fileCount==0)$("#"+fileId+"_PF_UPLOAD").attr("style",""); } }); $("#"+fileId+"_PF_UPLOAD").powerFloat({ target:$("#"+"uploadifive-"+fileId+"-queue") }); $("#"+fileId+"_PF_DOWNLOAD").powerFloat({ target:$("#"+msgId) }); } function updateOver(){ fileNum-=1; if(fileNum==0){ if(errorArr.length==0){ //关闭遮罩层 saveOver(); }else{ closeLay(); alert( "保存失败,有" + errorArr.length + "个文件为空文件或者其它不达标文件导致上传不成功,请重新选择并保存" ); errorArr=[]; } } } function saveOver(){ closeLay(); uploadCallBack(); }