Ai
2 Star 14 Fork 48

兰德网络O2OA平台软件/o2oa-crm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Explorer.min.js 15.03 KB
一键复制 编辑 原始数据 按行查看 历史
鲸歌 提交于 2021-01-13 14:15 +08:00 . crm初始上传
MWF.xApplication.CRM=MWF.xApplication.CRM||{},MWF.require("MWF.xAction.org.express.RestActions",null,!1),MWF.require("MWF.widget.O2Identity",null,!1),MWF.xDesktop.requireApp("CRM","lp."+MWF.language,null,!1),MWF.xApplication.CRM.Explorer=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",isAdmin:!1,searchKey:""},initialize:function(t,e,s,i){this.setOptions(i),this.app=e,this.path="/x_component_CRM/$Explorer/",this.cssPath="/x_component_CRM/$Explorer/"+this.options.style+"/css.wcss",this._loadCss(),this.actions=s,this.node=$(t),this.initData(),this.personActions||(this.personActions=new MWF.xAction.org.express.RestActions)},initData:function(){this.toolItemNodes=[]},reload:function(){this.node.empty(),this.load()},load:function(){this.loadToolbar(),this.loadContentNode(),this.loadView(),this.setNodeScroll()},destroy:function(){this.node.empty()},loadToolbar:function(){this.toolbarNode=new Element("div",{styles:this.css.toolbarNode}),this.toolbarNode.inject(this.node);var t=this.path+"toolbar.json";MWF.getJSON(t,function(t){t.each(function(t){this.createToolbarItemNode(t)}.bind(this))}.bind(this))},createToolbarItemNode:function(t){var e=new Element("div",{styles:t.styles&&this.css[t.styles]?this.css[t.styles]:this.css.toolbarItemNode});(t.id&&e.set("name",t.id),e.store("toolData",t),t.icon)&&new Element("div",{styles:this.css.toolbarItemIconNode}).inject(e).setStyle("background-image","url("+this.path+this.options.style+"/icon/"+t.icon+")");if(t.title){var s=new Element("div",{styles:this.css.toolbarItemTextNode,text:t.title});t.text&&s.set("title",t.text),s.inject(e)}e.inject(this.toolbarNode),this.toolItemNodes.push(e),this.setToolbarItemEvent(e)},setToolbarItemEvent:function(t){var e=this;t.addEvents({click:function(){var t=this.retrieve("toolData");e[t.action]&&e[t.action].apply(e,[this])}})},loadContentNode:function(){this.elementContentNode=new Element("div.elementContentNode",{styles:this.css.elementContentNode}).inject(this.node),this.app.addEvent("resize",function(){this.setContentSize()}.bind(this))},loadView:function(){this.view=new MWF.xApplication.CRM.Explorer.View(this.elementContentNode,this.app,this,this.viewData,this.options.searchKey),this.view.load(),this.setContentSize()},setContentSize:function(){var t=this.toolbarNode?this.toolbarNode.getSize():{x:0,y:0},e=this.app.titleBar?this.app.titleBar.getSize():{x:0,y:0},s=this.node.getSize(),i=this.elementContentNode.getStyle("padding-top").toFloat(),o=this.elementContentNode.getStyle("padding-bottom").toFloat(),n=this.filterConditionNode?this.filterConditionNode.getSize():{x:0,y:0},l=s.y-t.y-i-o-n.y-e.y;this.elementContentNode.setStyle("height","360px"),this.elementContentNode.setStyle("width","700px"),this.pageCount=(l/30).toInt()+5,this._setContentSize(),this.view&&this.view.items.length<this.pageCount&&this.view.loadElementList(this.pageCount-this.view.items.length)},_setContentSize:function(){},setNodeScroll:function(){var i=this;MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.elementContentNode,{indent:!1,style:"xApp_TaskList",where:"before",distance:30,friction:4,axis:{x:!1,y:!0},onScroll:function(t){var e=i.elementContentNode.getScrollSize(),s=i.elementContentNode.getSize();e.y-s.y<t+200&&(i.view.isItemsLoaded||i.view.loadElementList())}})}.bind(this))}}),MWF.xApplication.CRM.Explorer.View=new Class({initialize:function(t,e,s,i){this.container=t,this.app=e,this.explorer=s,this.css=s.css,this.actions=s.actions,this.searchKey=i,this.listItemUrl=this.explorer.path+"listItem.json"},initData:function(){this.items=[],this.documents={},this.isItemsLoaded=!1,this.isItemLoadding=!1,this.loadItemQueue=0,this.count=0},load:function(){this.initData(),this.node=new Element("div",{styles:this.css.elementContentListNode}).inject(this.container),this.table=new Element("table",{width:"100%",border:"0",cellpadding:"5",cellspacing:"0",class:"editTable"}).inject(this.node),this.initSortData(),this.createListHead(),this.loadElementList()},initSortData:function(){this.sortField=null,this.sortType=null,this.sortFieldDefault=null,this.sortTypeDefault=null},clear:function(){this.documents=null,MWF.release(this.items),this.items=[],this.documents={},this.container.empty(),this.isItemsLoaded=!1,this.isItemLoadding=!1,this.loadItemQueue=0},reload:function(){this.clear(),this.node=new Element("div",{styles:this.css.elementContentListNode}).inject(this.container),this.table=new Element("table",{width:"100%",border:"0",cellpadding:"5",cellspacing:"0",class:"editTable"}).inject(this.node),this.createListHead(),this.loadElementList()},resort:function(t){this.sortField=t.retrieve("sortField"),""==t.retrieve("sortType")?this.sortType="asc":"asc"==this.sortType?this.sortType="desc":(this.sortField=null,this.sortType=null),this.reload()},createListHead:function(){var i=this,o=new Element("tr",{styles:this.css.listHeadNode}).inject(this.table);MWF.getJSON(this.listItemUrl,function(t){(this.listItemTemplate=t).each(function(t){var e=!0;if(t.access&&("admin"!=t.access||this.explorer.options.isAdmin||(e=!1)),e){var s=new Element("th",{styles:this.css[t.headStyles],text:t.title,width:t.width}).inject(o);"checkbox"==t.name&&(this.checkboxElement=new Element("input",{type:"checkbox"}).inject(s),this.checkboxElement.addEvent("click",function(){this.selectAllCheckbox()}.bind(this))),t.defaultSort&&""!=t.defaultSort&&(this.sortFieldDefault=t.name,this.sortTypeDefault=t.defaultSort),t.sort&&""!=t.sort&&(s.store("sortField",t.name),this.sortField==t.name&&""!=this.sortType?(s.store("sortType",this.sortType),this.sortIconNode=new Element("div",{styles:"asc"==this.sortType?this.css.sortIconNode_asc:this.css.sortIconNode_desc}).inject(s,"top")):(s.store("sortType",""),this.sortIconNode=new Element("div",{styles:this.css.sortIconNode}).inject(s,"top")),s.setStyle("cursor","pointer"),s.addEvent("click",function(){i.resort(this)}))}}.bind(this))}.bind(this),!1)},selectAllCheckbox:function(){var e=this.checkboxElement.get("checked");this.items.each(function(t){t.checkboxElement&&t.checkboxElement.set("checked",e)}.bind(this))},loadElementList:function(t){this.isItemsLoaded||(this.isItemLoadding?this.loadItemQueue++:(this.isItemLoadding=!0,this._getCurrentPageData(function(t){t.data=t.data||[],t.count<=this.items.length&&(this.isItemsLoaded=!0),t.data.each(function(t){if(!this.documents[t.id]){var e=this._createItem(t);this.items.push(e),this.documents[t.id]=e}}.bind(this)),this.isItemLoadding=!1,0<this.loadItemQueue&&(this.loadItemQueue--,this.loadElementList())}.bind(this),t)))},_createItem:function(t){return new MWF.xApplication.CRM.Explorer.Document(this.table,t,this.explorer,this)},_getCurrentPageData:function(t,e){},_removeDocument:function(t,e){},_createDocument:function(){},_openDocument:function(t){}}),MWF.xApplication.CRM.Explorer.Document=new Class({initialize:function(t,e,s,i){this.explorer=s,this.app=s.app,this.data=e,this.container=t,this.view=i,this.css=this.explorer.css,this.load()},load:function(){this.node=new Element("tr",{styles:this.css.documentItemNode}),this.node.inject(this.container),this.view.listItemTemplate.each(function(cell){var isShow=!0;if(cell.access&&("admin"!=cell.access||this.explorer.options.isAdmin||(isShow=!1)),isShow){var value;value="function"==cell.item.substr(0,"function".length)?(eval("var fun = "+cell.item),fun.call(this,this.data)):"number"==typeOf(this.data[cell.item])?this.data[cell.item]:this.data[cell.item]?this.data[cell.item]:"";var td=this[cell.name]=new Element("td",{styles:this.css[cell.contentStyles],text:value}).inject(this.node);if("actions"==cell.name&&"array"==typeOf(cell.sub)&&this.setActions(this[cell.name],cell.sub),"checkbox"==cell.name){var showCheckBox=!0;cell.condition&&"function"==cell.condition.substr(0,"function".length)&&(eval("var fun = "+cell.condition),showCheckBox=fun.call(this,this.data)),showCheckBox&&(this.checkboxElement=new Element("input",{type:"checkbox"}).inject(td),this.checkboxElement.addEvent("click",function(t){t.stopPropagation()}.bind(this)),td.addEvent("click",function(t){this.checkboxElement.set("checked",!this.checkboxElement.get("checked")),t.stopPropagation()}.bind(this)))}}}.bind(this)),this.node.addEvents({mouseover:function(){this.readyRemove||this.node.setStyles(this.css.documentItemDocumentNode_over)}.bind(this),mouseout:function(){this.readyRemove||this.node.setStyles(this.css.documentItemDocumentNode)}.bind(this),click:function(t){this.openDocument(t)}.bind(this)})},setActions:function(actionsNode,data){var _self=this;data.each(function(d){if(d.action&&this[d.action]&&(!d.condition||"function"!=d.condition.substr(0,"function".length)||(eval("var fun = "+d.condition),fun.call(this,this.data)))){var node=this[d.action+"Node"]=new Element("div",{title:d.title}).inject(actionsNode),styles,overStyles,downStyles;"string"==typeOf(d.styles)&&(styles=this.css[d.styles]),"object"==typeOf(d.styles)&&(styles=d.styles),"string"==typeOf(d.overStyles)&&(overStyles=this.css[d.overStyles]),"object"==typeOf(d.overStyles)&&(overStyles=d.overStyles),"string"==typeOf(d.downStyles)&&(downStyles=this.css[d.downStyles]),"object"==typeOf(d.downStyles)&&(downStyles=d.downStyles),styles&&node.setStyles(styles),overStyles&&styles&&(node.addEvent("mouseover",function(t){t.target.setStyles(this.styles)}.bind({styles:overStyles})),node.addEvent("mouseout",function(t){t.target.setStyles(this.styles)}.bind({styles:styles}))),downStyles&&(overStyles||styles)&&(node.addEvent("mousedown",function(t){t.target.setStyles(this.styles)}.bind({styles:downStyles})),node.addEvent("mouseup",function(t){t.target.setStyles(this.styles)}.bind({styles:overStyles||styles}))),this[d.action]&&node.addEvent("click",function(t){this.fun.call(_self,t),t.stopPropagation()}.bind({fun:this[d.action]}))}}.bind(this))},openDocument:function(t){this.view._openDocument(this.data)},remove:function(t){var e=this.app.lp,s=e.deleteDocument.replace(/{title}/g,this.data.title),i=this;this.node.setStyles(this.css.documentItemDocumentNode_remove),this.readyRemove=!0,this.explorer.app.confirm("warn",t,e.deleteDocumentTitle,s,350,120,function(){i.view._removeDocument(i.data,!1),this.close()},function(){i.node.setStyles(i.css.documentItemDocumentNode),i.readyRemove=!1,this.close()})},destroy:function(){this.node.destroy()}}),MWF.xApplication.CRM.Explorer.PopupForm=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{width:"500",height:"400"},initialize:function(t,e,s){this.setOptions(s),this.explorer=t,this.app=t.app,this.data=e||{},this.css=this.explorer.css,this.load()},load:function(){},open:function(t){this.isNew=!1,this.isEdited=!1,this._open()},create:function(){this.isNew=!0,this._open()},edit:function(){this.isEdited=!0,this._open()},_open:function(){this.formMaskNode=new Element("div",{styles:this.css.formMaskNode,events:{mouseover:function(t){t.stopPropagation()},mouseout:function(t){t.stopPropagation()}}}).inject(this.app.content,"after"),this.formAreaNode=new Element("div",{styles:this.css.formAreaNode}),this.createFormNode(),this.formAreaNode.inject(this.formMaskNode,"after"),this.formAreaNode.fade("in"),this.setFormNodeSize(),this.setFormNodeSizeFun=this.setFormNodeSize.bind(this),this.addEvent("resize",this.setFormNodeSizeFun)},createFormNode:function(){this.formNode=new Element("div",{styles:this.css.formNode}).inject(this.formAreaNode),this.formIconNode=new Element("div",{styles:this.isNew?this.css.formNewNode:this.css.formIconNode}).inject(this.formNode),this.formFormNode=new Element("div",{styles:this.css.formFormNode}).inject(this.formNode),this.formTableContainer=new Element("div",{styles:this.css.formTableContainer}).inject(this.formFormNode),this.formTableArea=new Element("div",{styles:this.css.formTableArea}).inject(this.formTableContainer),this._createTableContent(),this._createAction()},_createTableContent:function(){this.formTableArea.set("html","<table width='100%' bordr='0' cellpadding='5' cellspacing='0' styles='formTable'><tr><td colspan='2' styles='formTableHead'>申诉处理单</td></tr><tr><td styles='formTabelTitle' lable='empName'></td> <td styles='formTableValue' item='empName'></td></tr><tr><td styles='formTabelTitle' lable='unitName'></td> <td styles='formTableValue' item='unitName'></td></tr><tr><td styles='formTabelTitle' lable='recordDateString'></td> <td styles='formTableValue' item='recordDateString'></td></tr><tr><td styles='formTabelTitle' lable='status'></td> <td styles='formTableValue' item='status'></td></tr><tr><td styles='formTabelTitle' lable='appealReason'></td> <td styles='formTableValue' item='appealReason'></td></tr><tr><td styles='formTabelTitle' lable='appealDescription'></td> <td styles='formTableValue' item='appealDescription'></td></tr><tr><td styles='formTabelTitle' lable='opinion1'></td> <td styles='formTableValue' item='opinion1'></td></tr></table>"),MWF.xDesktop.requireApp("Template","MForm",function(){this.form=new MForm(this.formTableArea,{empName:"xadmin"},{isEdited:this.isEdited||this.isNew,itemTemplate:{empName:{text:"姓名",type:"innertext"},unitName:{text:"部门",tType:"unit",notEmpty:!0},recordDateString:{text:"日期",tType:"date"},status:{text:"状态",tType:"number"},appealReason:{text:"下拉框",type:"select",selectValue:["测试1","测试2"]},appealDescription:{text:"描述",type:"textarea"},opinion1:{text:"测试",type:"button",value:"测试"}}},this.app),this.form.load()}.bind(this),!0)},setFormNodeSize:function(t,e,s,i){t||(t=this.options&&this.options.width?this.options.width:"50%"),e||(e=this.options&&this.options.height?this.options.height:"50%"),s||(s=this.options&&this.options.top?this.options.top:0),i||(i=this.options&&this.options.left?this.options.left:0);var o=this.app.content.getSize(),n=o.x,l=o.y;"string"==typeof t&&1<t.length&&"%"==t.substr(t.length-1,1)&&(t=parseInt(n*parseInt(t,10)/100,10)),"string"==typeof e&&1<e.length&&"%"==e.substr(e.length-1,1)&&(e=parseInt(l*parseInt(e,10)/100,10)),t<300&&(t=300),e<220&&(e=220),s=s||parseInt((l-e)/2,10),i=i||parseInt((n-t)/2,10),this.formAreaNode.setStyles({width:t+"px",height:e+"px",top:s+"px",left:i+"px"}),this.formNode.setStyles({width:t+"px",height:e+"px"});var a=this.formIconNode?this.formIconNode.getSize():{x:0,y:0},d=this.formTopNode?this.formTopNode.getSize():{x:0,y:0},h=this.formBottomNode?this.formBottomNode.getSize():{x:0,y:0},c=e-a.y-d.y-h.y;this.formFormNode.setStyles({height:c+"px"})},_createAction:function(){this.cancelActionNode=new Element("div",{styles:this.css.formCancelActionNode,text:this.app.lp.cancel}).inject(this.formFormNode),this.cancelActionNode.addEvent("click",function(t){this.cancel(t)}.bind(this)),(this.isNew||this.isEdited)&&(this.okActionNode=new Element("div",{styles:this.css.formOkActionNode,text:this.app.lp.ok}).inject(this.formFormNode),this.okActionNode.addEvent("click",function(t){this.ok(t)}.bind(this)))},cancel:function(t){this.close()},close:function(t){this.formMaskNode.destroy(),this.formAreaNode.destroy()},ok:function(t){var e=this.form.getResult(!0,",",!0,!1,!0);e&&this._ok(e,function(t){"ERROR"==t.type?this.app.notice(t.message,"error"):(this.formMaskNode.destroy(),this.formAreaNode.destroy(),this.explorer.view&&this.explorer.view.reload(),this.app.notice(this.isNew?this.app.lp.createSuccess:this.app.lp.updateSuccess,"success"))}.bind(this))},_ok:function(t,e){}});
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/o2oa/o2oa-crm.git
git@gitee.com:o2oa/o2oa-crm.git
o2oa
o2oa-crm
o2oa-crm
master

搜索帮助