FFile_wev8.js 6.12 KB
define("FFile_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" data-form="${form}">\t{@if readonly}\t\t<div class="wev-field wev-vertical{@if required} wev-field-required{@/if}">\t\t\t<div {@if !field.label}style="display:none;"{@/if}>${field.label}</div>\t\t\t<div>\t\t\t\t<div class="wev-file-wrapper">\t\t\t\t</div>\t\t\t\t<input type="hidden" name="fieldname_${field.name}" fieldid="${field.id}"/>\t\t\t\t<input type="hidden" name="type_${field.name}" value="file" />\t\t\t</div>\t\t</div>\t{@else}\t\t<div class="wev-field wev-vertical{@if required} wev-field-required{@/if}">\t\t\t<div {@if !field.label}style="display:none;"{@/if}>${field.label}</div>\t\t\t<div>\t\t\t\t<div class="wev-file-wrapper">\t\t\t\t\t<div class="wev-upload">\t\t\t\t\t\t<input type="file" name="file" single="single"/>\t\t\t\t\t\t<span></span>\t\t\t\t\t</div>\t\t\t\t\t<div class="wev-upload-tip wev-upload-hide"></div>\t\t\t\t</div>\t\t\t\t<input type="hidden" name="fieldname_${field.name}" fieldid="${field.id}"/>\t\t\t\t<input type="hidden" name="type_${field.name}" value="file" />\t\t\t</div>\t\t</div>\t{@/if}</div>'}),define(["mUtil","Component","i18n"],function(h,t,n){return t.init(function(e){var v={};t.super(this,e),this.type="FFile",this.tpl=this.type+"_html",this.css=this.type+"_css",this.dataload=!0;var u=this.viewModel={form:"",field:{label:"",name:"",id:"",value:""},required:!1,readonly:!1,standalone:!0};this.dbValueHasSet=!1,this.beforeMount=function(){u.required&&!u.field.label&&(u.field.label="(必填)")};var l,p,d,a,c=[],s={},m={};for(var i in this.mounted=function(){var f=this;(p=f.$el.find(".wev-upload")).find("span").html(n.SELECT_FILE),l=f.$el.find(".wev-field"),d=f.$el.find(".wev-file-wrapper"),a=f.$el.children(".wev-comp-"+f.type),p.on("change","input",function(e){var i=this.files;if(e.stopPropagation(),i&&i[0]){var t,l=i[0],a=l.name,d=l.size,n=a.lastIndexOf("."),f=~n&&a.substring(n+1).toLowerCase();t=1048576<=d?(d/1024/1024).toFixed(2)+"M":1024<=d?Math.floor(d/1024)+"K":d+"B";var s=['<div class="'+v.getClassName("wev-file wev-file-edit",f)+'">','<span class="wev-ellipsis">'+a+"("+t+")</span>","<i></i>","</div>"].join(""),r=$(this),o="file"+u.id+h.UUID();c.push(o),m[o]={docid:o,name:a,size:t,suffix:f,value:l},r.hide().attr("name",o),p.before($(s).append(r)).prepend("<input type='file' name='file' single='single'/>")}});var i=function(){var e=$(this).data("fileid"),i=$(this).data("docid");if(f.getData(),e){var t=$("#"+u.form),l=t.find("input[name='empowmentType']").val(),a=t.find("input[name='modelid']").val(),d=t.find("input[name='billid']").val(),n="";a&&d&&"0"==l&&"-1"!=a&&(n="&formmode_authorize=formmode_authorize&moduleid=formmode&authorizemodeId="+a+"&authorizeformmodebillId="+d),h.checkEmpJsApi("openLink")?h.invokeEmApi("openLink",{title:s[e],url:"/weaver/weaver.file.FileDownload?fileid="+e+n,openType:2}):"WEB_BROWSER"==h.getClientType()?window.open("/spa/document/index.jsp?id="+i+n):location.href="/download.do?fileid="+e+"&module=3&scope=11&filename="+encodeURI(s[e])+n}},t=function(){if(!u.readonly){var e=$(this).parent(),i=e.index(),t=c[i];e.remove(),t&&c.splice(i,1)}};a.on("click",".wev-file, .wev-file-edit > i",function(e){($(this).hasClass("wev-file")&&i||t).call(this),e.stopPropagation()}),u.field.value&&this.setValue(u.field.value,!0)},this.getData=function(){var i={},e=u.field.name;return c.forEach(function(e){0==e.indexOf("file"+u.id)&&(i[e]=m[e].value)}),i["fieldname_"+e]=v.getFieldIDValue(),i["type_"+e]="file",i["fieldmecid_"+e]=u.id,i},this.getShowData=function(){var t,i,e=h.parseJSON(u.field.name+"_showvalue",(t="",c.forEach(function(e){var i=m[e];t+='<li class="'+v.getClassName("wev-file",i.suffix)+'"><span>'+i.name+"("+i.size+")</span></li>"}),'<ul class="wev-file-wrapper">'+t+"</ul>"));return e[u.field.name+"_filevalue"]=(i={},c.forEach(function(e){0==e.indexOf("file"+u.id)&&(i[e]=m[e])}),i),e[u.field.name]=v.getFieldIDValue(),e},this.reset=function(){v.setValue(u.field.value,u.field.defHtml),l.removeClass("wev-required-remind")},this.checkRequired=function(){var e=u.required&&!c.length;return l[e?"addClass":"removeClass"]("wev-required-remind"),e&&u.field.label},this.setRequired=function(e){u.required=e,l.toggleClass("wev-field-required",e),!e&&l.removeClass("wev-required-remind")},this.checkModeDocCategory=function(e){if(!e){var i=this.$el;h.getLabel(388817,"附件上传目录未设置!",function(e){p.addClass("wev-upload-hide"),i.find(".wev-upload-tip").removeClass("wev-upload-hide").html(e)})}},this.setValueByDB=function(e){this.dbValueHasSet=!0,u.field.value=e,this.setValue(e,!0)},this.setValue=function(t,l,a){if(h.isFunction(l)&&(a=l),!(t=String(t||""))){var e=v.getValueHtml();return l&&(u.field.defHtml=e),v.setValue(t,e,a)}var i=h.getActionUrl(this.type,{action:"parseFiles",values:t},this.pageid);h.getJSON(i,function(e){var i=v.getValueHtml(e.data);l&&(u.field.defHtml=i),v.setValue(t,i,a)})},v.setValue=function(e,i,t){$(".wev-file",this.$el).remove(),u.readonly?d.append(i):p.before(i),c=e&&e.split(",")||[];var l=u.field.filevalue;if(l)for(var a in l)c.push(a);this.dbValueHasSet&&h.trigger("dataload",this.pageid,this.id),t&&t.call(this)},v.getFieldIDValue=function(){var i="";return c.forEach(function(e){isNaN(e)||(i&&(i+=","),i+=e)}),i},v.getValueHtml=function(e){var i="",t=function(e){var i=e.suffix,t=e.name,l=e.size,a=e.imagefileid,d=e.docid;return a&&(s[a]=t),m[e.docid]=e,u.readonly?['<div class="'+v.getClassName("wev-file",i)+'" data-fileid="'+a+'" data-docid="'+d+'">','<span class="wev-ellipsis">'+t+"("+l+")</span>","</div>"].join(""):['<div class="'+v.getClassName("wev-file wev-file-edit",i)+'" data-fileid="'+a+'" data-docid="'+d+'">','<span class="wev-ellipsis">'+t+"("+l+")</span>","<i></i>","</div>"].join("")};h.isArray(e)&&e.forEach(function(e){i+=t(e)});var l=u.field.filevalue;if(l)for(var a in l){var d=l[a];i+=t(d)}return i},v.getClassName=function(e,i){return~["jpg","jpeg","png","gif","bmp"].indexOf(i)?e+=" wev-pic-file":"doc"==i||"docx"==i?e+=" wev-word-file":"xls"==i||"xlsx"==i?e+=" wev-excel-file":"pdf"==i?e+=" wev-pdf-file":"htm"==i||"html"==i?e+=" wev-html-file":"ppt"==i||"pptx"==i?e+=" wev-ppt-file":"zip"!=i&&"rar"!=i||(e+=" wev-zip-file"),e},v)h.isFunction(v[i])&&(v[i]=v[i].bind(this))})});