| 1 |
- MWF.xDesktop.requireApp("process.Xform","Attachment",null,false);MWF.xDesktop.requireApp("cms.FormDesigner","widget.AttachmentController",null,false);MWF.xApplication.cms.Xform.AttachmentController=new Class({Extends:MWF.xApplication.cms.FormDesigner.widget.AttachmentController,checkDeleteAction:function(){if(this.options.readonly){this.setActionDisabled(this.deleteAction);this.setActionDisabled(this.min_deleteAction);return false}if(this.options.isDeleteOption!=="y"&&this.options.isDeleteOption!=="n"){if(this.selectedAttachments.length){var t=true;if(this.options.isDeleteOption==="o"){for(var e=0;e<this.selectedAttachments.length;e++){if(this.selectedAttachments[e].data.person!==layout.desktop.session.user.distinguishedName){t=false;break}}}else if(this.options.isDeleteOption==="a"){for(var e=0;e<this.selectedAttachments.length;e++){if(this.selectedAttachments[e].data.activity!==this.module.form.businessData.activity.id){t=false;break}}}else if(this.options.isDeleteOption==="ao"){for(var e=0;e<this.selectedAttachments.length;e++){if(this.selectedAttachments[e].data.activity!==this.module.form.businessData.activity.id||this.selectedAttachments[e].data.person!==layout.desktop.session.user.distinguishedName){t=false;break}}}if(t){this.setActionEnabled(this.deleteAction);this.setActionEnabled(this.min_deleteAction)}else{this.setActionDisabled(this.deleteAction);this.setActionDisabled(this.min_deleteAction)}}else{this.setActionDisabled(this.deleteAction);this.setActionDisabled(this.min_deleteAction)}}else{if(!this.options.isDelete){this.setActionDisabled(this.deleteAction);this.setActionDisabled(this.min_deleteAction)}else{if(this.selectedAttachments.length){this.setActionEnabled(this.deleteAction);this.setActionEnabled(this.min_deleteAction)}else{this.setActionDisabled(this.deleteAction);this.setActionDisabled(this.min_deleteAction)}}}},checkReplaceAction:function(){if(this.options.readonly){this.setActionDisabled(this.replaceAction);this.setActionDisabled(this.min_replaceAction);return false}if(this.options.isReplaceOption!=="y"&&this.options.isReplaceOption!=="n"){if(this.selectedAttachments.length&&this.selectedAttachments.length===1){var t;if(this.options.isReplaceOption==="o"){t=this.selectedAttachments[0].data.person===layout.desktop.session.user.distinguishedName}if(this.options.isReplaceOption==="a"){t=this.selectedAttachments[0].data.activity===this.module.form.businessData.activity.id}if(this.options.isReplaceOption==="ao"){t=this.selectedAttachments[0].data.person===layout.desktop.session.user.distinguishedName&&this.selectedAttachments[0].data.activity===this.module.form.businessData.activity.id}if(t){this.setActionEnabled(this.replaceAction);this.setActionEnabled(this.min_replaceAction)}else{this.setActionDisabled(this.replaceAction);this.setActionDisabled(this.min_replaceAction)}}else{this.setActionDisabled(this.replaceAction);this.setActionDisabled(this.min_replaceAction)}}else{if(!this.options.isReplace){this.setActionDisabled(this.replaceAction);this.setActionDisabled(this.min_replaceAction)}else{if(this.selectedAttachments.length&&this.selectedAttachments.length===1){this.setActionEnabled(this.replaceAction);this.setActionEnabled(this.min_replaceAction)}else{this.setActionDisabled(this.replaceAction);this.setActionDisabled(this.min_replaceAction)}}}}});MWF.xApplication.cms.Xform.Attachment=MWF.CMSAttachment=new Class({Extends:MWF.APPAttachment,options:{moduleEvents:["upload","delete"]},initialize:function(t,e,i,s){this.node=$(t);this.node.store("module",this);this.json=e;this.form=i;this.field=true},_loadUserInterface:function(){this.node.empty();this.loadAttachmentController()},loadAttachmentController:function(){var t={title:"附件区域",listStyle:this.json.listStyle||"icon",size:this.json.size||"max",resize:this.json.size=="true"?true:false,attachmentCount:this.json.attachmentCount||0,isUpload:this.json.isUpload=="y"?true:false,isDelete:this.json.isDelete=="y"?true:false,isReplace:this.json.isReplace=="y"?true:false,isDownload:this.json.isDownload=="y"?true:false,isSizeChange:this.json.isSizeChange=="y"?true:false,readonly:this.json.readonly=="y"?true:false,toolbarGroupHidden:this.json.toolbarGroupHidden||[]};if(this.readonly)t.readonly=true;this.attachmentController=new MWF.xApplication.cms.Xform.AttachmentController(this.node,this,t);this.attachmentController.load();this.form.businessData.attachmentList.each(function(t){if(t.site==this.json.id)this.attachmentController.addAttachment(t)}.bind(this))},loadAttachmentSelecter:function(e,i){MWF.require("MWF.widget.AttachmentSelector",function(){var t={title:"选择附件",listStyle:"icon",selectType:"all",size:"max",attachmentCount:0,isUpload:true,isDelete:true,isReplace:true,isDownload:true,toBase64:true,base64MaxSize:800,readonly:false};t=Object.merge(t,e);if(this.readonly)t.readonly=true;this.attachmentController=new MWF.widget.AttachmentSelector(this.node,this,t);this.attachmentController.load();this.postSelect=i;this.form.businessData.attachmentList.each(function(t){this.attachmentController.addAttachment(t)}.bind(this))}.bind(this))},selectAttachment:function(t,e,i){if(i.length>0){var s=i[i.length-1].data;this.form.documentAction.getAttachmentUrl(s.id,this.form.businessData.document.id,function(i){if(this.attachmentController.options.toBase64){this.form.documentAction.getSubjectAttachmentBase64(s.id,this.attachmentController.options.base64MaxSize,function(t){var e=t.data?"data:image/png;base64,"+t.data.value:null;if(this.postSelect)this.postSelect(i,s,e)}.bind(this))}else{if(this.postSelect)this.postSelect(i,s)}}.bind(this))}},createUploadFileNode:function(){this.attachmentController.doUploadAttachment({site:this.json.id},this.form.documentAction.action,"uploadAttachment",{id:this.form.businessData.document.id},null,function(t){if(t.id){this.form.documentAction.getAttachment(t.id,this.form.businessData.document.id,function(t){if(t.data){this.attachmentController.addAttachment(t.data);this.form.businessData.attachmentList.push(t.data)}this.attachmentController.checkActions();this.fireEvent("upload",[t.data])}.bind(this))}this.attachmentController.checkActions()}.bind(this),function(t){if(t.length){if(t.length+this.attachmentController.attachments.length>this.attachmentController.options.attachmentCount&&this.attachmentController.options.attachmentCount>0){var e=MWF.xApplication.cms.Xform.LP.uploadMore;e=e.replace("{n}",this.attachmentController.options.attachmentCount);this.form.notice(e,"error");return false}}return true}.bind(this))},getData:function(){return this.attachmentController.getAttachmentNames()},deleteAttachment:function(e){this.fireEvent("delete",[e.data]);this.form.documentAction.deleteAttachment(e.data.id,function(t){this.attachmentController.removeAttachment(e);this.attachmentController.checkActions()}.bind(this))},createReplaceFileNode:function(e){this.attachmentController.doUploadAttachment({site:this.json.id},this.form.documentAction.action,"replaceAttachment",{id:e.data.id,documentid:this.form.businessData.document.id},null,function(t){this.form.documentAction.getAttachment(e.data.id,this.form.businessData.document.id,function(t){e.data=t.data;e.reload();this.attachmentController.checkActions()}.bind(this))}.bind(this),null)},downloadAttachment:function(t,e,i){if(this.form.businessData.document){i.each(function(t){this.form.documentAction.getAttachmentStream(t.data.id,this.form.businessData.document.id)}.bind(this))}},openAttachment:function(t,e,i){if(this.form.businessData.document){i.each(function(t){this.form.documentAction.getAttachmentData(t.data.id,this.form.businessData.document.id)}.bind(this))}},getAttachmentUrl:function(t,e){if(this.form.businessData.document){this.form.documentAction.getAttachmentUrl(t.data.id,this.form.businessData.document.id,e)}},validationConfigItem:function(t,e){var i=e.status=="all"?true:t=="publish";if(i){var s=this.getData();var n=e.valueType=="value"?s:s.length;switch(e.operateor){case"isnull":if(!n){this.notValidationMode(e.prompt);return false}break;case"notnull":if(n){this.notValidationMode(e.prompt);return false}break;case"gt":if(n>e.value){this.notValidationMode(e.prompt);return false}break;case"lt":if(n<e.value){this.notValidationMode(e.prompt);return false}break;case"equal":if(n==e.value){this.notValidationMode(e.prompt);return false}break;case"neq":if(n!=e.value){this.notValidationMode(e.prompt);return false}break;case"contain":if(n.indexOf(e.value)!=-1){this.notValidationMode(e.prompt);return false}break;case"notcontain":if(n.indexOf(e.value)==-1){this.notValidationMode(e.prompt);return false}break}}return true}});
|