MWF.xDesktop.requireApp("Attendance", "Explorer", null, false); MWF.xDesktop.requireApp("Template", "MDomItem", null, false); MWF.xDesktop.requireApp("Selector", "package", null, false); MWF.xApplication.Attendance.PermissionExplorer = new Class({ Extends: MWF.xApplication.Attendance.Explorer, Implements: [Options, Events], initialize: function(node, app, actions, options){ this.setOptions(options); this.app = app; this.path = "../x_component_Attendance/$PermissionExplorer/"; this.cssPath = "../x_component_Attendance/$PermissionExplorer/"+this.options.style+"/css.wcss"; this._loadCss(); this.actions = actions; this.node = $(node); this.initData(); if (!this.personActions) this.personActions = new MWF.xAction.org.express.RestActions(); }, loadView : function(){ this.view = new MWF.xApplication.Attendance.PermissionExplorer.View(this.elementContentNode, this.app,this, this.viewData, this.options.searchKey ); this.view.load(); this.setContentSize(); }, createDocument: function(){ if(this.view)this.view._createDocument(); } }); MWF.xApplication.Attendance.PermissionExplorer.View = new Class({ Extends: MWF.xApplication.Attendance.Explorer.View, _createItem: function(data){ return new MWF.xApplication.Attendance.PermissionExplorer.Document(this.table, data, this.explorer, this); }, _getCurrentPageData: function(callback, count){ this.actions.listPermission(function(json){ if (callback) callback(json); }); }, _removeDocument: function(document, all){ this.actions.deletePermission(document.id, function(json){ this.explorer.view.reload(); this.app.notice(this.app.lp.deleteDocumentOK, "success"); }.bind(this)); }, _createDocument: function(){ var permission = new MWF.xApplication.Attendance.PermissionExplorer.Permission(this.explorer); permission.create(); }, _openDocument: function( documentData ){ var permission = new MWF.xApplication.Attendance.PermissionExplorer.Permission(this.explorer, documentData ); permission.edit(); } }); MWF.xApplication.Attendance.PermissionExplorer.Document = new Class({ Extends: MWF.xApplication.Attendance.Explorer.Document }); MWF.xApplication.Attendance.PermissionExplorer.Permission = new Class({ Extends: MWF.xApplication.Attendance.Explorer.PopupForm, options : { "width": 500, "height": 400, "hasTop" : true, "hasBottom" : true, "title" : MWF.xApplication.Attendance.LP.permission.setAttendancer, "draggable" : true, "closeAction" : true }, _createTableContent: function(){ var lp = this.app.lp.permission; var html = ""+ ""+ " " + ""+ " " + ""+ " " + "
"; this.formTableArea.set("html",html); MWF.xDesktop.requireApp("Template", "MForm", function(){ this.form = new MForm( this.formTableArea, this.data, { style: "attendance", isEdited : this.isEdited || this.isNew, itemTemplate : { adminLevel : { text: lp.role, type : "select", "selectText" : lp.roleSelectText, "selectValue" : ["COMPANY","DEPT"] }, unitName : { text: lp.unit, type : "org", orgType:"unit",notEmpty:true }, adminName : { text: lp.personName, type : "org", orgType:"person" ,notEmpty:true } } }, this.app); this.form.load(); }.bind(this), true); }, _ok: function( data, callback ){ this.app.restActions.savePermission(data, function(json){ if( callback )callback(json); }.bind(this)); } }); // //MWF.xApplication.Attendance.PermissionExplorer.Permission2 = new Class({ // Extends: MWF.widget.Common, // options: { // "width": "500", // "height": "400" // }, // initialize: function( explorer, data ){ // this.explorer = explorer; // this.app = explorer.app; // this.data = data || {}; // this.css = this.explorer.css; // // this.load(); // }, // load: function(){ // if( this.data.unitName )this.data.unit = this.data.unitName; // if( this.data.adminName )this.data.personName = this.data.adminName; // if( this.data.adminLevel )this.data.role = this.data.adminLevel; // }, // // open: function(e){ // this.isNew = false; // this.isEdited = false; // }, // create: function(){ // this.isNew = true; // this._open(); // }, // edit: function(){ // this.isEdited = true; // this._open(); // }, // _open : function(){ // this.createMarkNode = new Element("div", { // "styles": this.css.createMarkNode, // "events": { // "mouseover": function(e){e.stopPropagation();}, // "mouseout": function(e){e.stopPropagation();} // } // }).inject(this.app.content, "after"); // // this.createAreaNode = new Element("div", { // "styles": this.css.createAreaNode // }); // // this.createNode(); // // this.createAreaNode.inject(this.createMarkNode, "after"); // this.createAreaNode.fade("in"); // // this.personName.focus(); // // this.setCreateNodeSize(); // this.setCreateNodeSizeFun = this.setCreateNodeSize.bind(this); // this.addEvent("resize", this.setCreateNodeSizeFun); // }, // createNode: function(){ // var _self = this; // this.createNode = new Element("div", { // "styles": this.css.createNode // }).inject(this.createAreaNode); // // // this.createIconNode = new Element("div", { // "styles": this.isNew ? this.css.createNewNode : this.css.createIconNode // }).inject(this.createNode); // // // this.createFormNode = new Element("div", { // "styles": this.css.createFormNode // }).inject(this.createNode); // // var lp = this.app.lp.permission; // // var inputStyle = "width: 99%; border:1px solid #999; background-color:#FFF; border-radius: 3px; box-shadow: 0px 0px 6px #CCC;height: 26px;"; // var inputPersonStyle = "width: 99%; border:1px solid #999; background-color:#FFF; border-radius: 3px; box-shadow: 0px 0px 6px #CCC;height: 26px;"+ // "background : url(../x_component_Attendance/$PermissionExplorer/default/icon/selectperson.png) 98% center no-repeat"; // // //+(!this.isNew && !this.isEdited ? "" : // // ("")) + // // var html = "" + // ""+ // "" + // "" + // ""+ // "" + // ""+ // "" + // "" + // "" + // "" + // "" + // ""+ // "" + // "" + // "" + // "
" + lp.setAttendancer + "
" + lp.role + ":
"+lp.unit+":" + // (!this.isNew && !this.isEdited ? "" : // ("")) + // "
"+lp.personName+":"+ // (!this.isNew && !this.isEdited ? "" : // ("")) + // "
"; // this.createFormNode.set("html", html); // // this.personName = this.createFormNode.getElement("#personName"); // this.unit = this.createFormNode.getElement("#unit"); // this.roleArea = this.createFormNode.getElement("#roleArea"); // this.role = new MDomItem( this.roleArea, { // "name" : "role", // "type" : "select", // "value" : this.data.role || "DEPT", // "selectText" : ["公司管理员","部门管理员"], // "selectValue" : ["COMPANY","DEPT"], // "style" : {"text-align":"left"} // }, true, this.app ); // this.role.load(); // // this.personName.addEvent("click",function(){ // this.selecePerson() // }.bind(this)) // this.unit.addEvent("click",function(){ // this.selectUnit( this.role.get("value") ) // }.bind(this)) // // this.cancelActionNode = new Element("div", { // "styles": this.css.createCancelActionNode, // "text": this.app.lp.cancel // }).inject(this.createFormNode); // this.createOkActionNode = new Element("div", { // "styles": this.css.createOkActionNode, // "text": this.app.lp.ok // }).inject(this.createFormNode); // // this.cancelActionNode.addEvent("click", function(e){ // this.cancelCreate(e); // }.bind(this)); // this.createOkActionNode.addEvent("click", function(e){ // this.okCreate(e); // }.bind(this)); // }, // // setCreateNodeSize: function (width, height, top, left) { // if (!width)width = this.options && this.options.width ? this.options.width : "50%" // if (!height)height = this.options && this.options.height ? this.options.height : "50%" // if (!top) top = this.options && this.options.top ? this.options.top : 0; // if (!left) left = this.options && this.options.left ? this.options.left : 0; // // var allSize = this.app.content.getSize(); // var limitWidth = allSize.x; //window.screen.width // var limitHeight = allSize.y; //window.screen.height // // "string" == typeof width && (1 < width.length && "%" == width.substr(width.length - 1, 1)) && (width = parseInt(limitWidth * parseInt(width, 10) / 100, 10)); // "string" == typeof height && (1 < height.length && "%" == height.substr(height.length - 1, 1)) && (height = parseInt(limitHeight * parseInt(height, 10) / 100, 10)); // 300 > width && (width = 300); // 220 > height && (height = 220); // top = top || parseInt((limitHeight - height) / 2, 10); // left = left || parseInt((limitWidth - width) / 2, 10); // // this.createAreaNode.setStyles({ // "width": "" + width + "px", // "height": "" + height + "px", // "top": "" + top + "px", // "left": "" + left + "px" // }); // // this.createNode.setStyles({ // "width": "" + width + "px", // "height": "" + height + "px" // }); // // var iconSize = this.createIconNode ? this.createIconNode.getSize() : {x: 0, y: 0}; // var topSize = this.formTopNode ? this.formTopNode.getSize() : {x: 0, y: 0}; // var bottomSize = this.formBottomNode ? this.formBottomNode.getSize() : {x: 0, y: 0}; // // var contentHeight = height - iconSize.y - topSize.y - bottomSize.y; // //var formMargin = formHeight -iconSize.y; // this.createFormNode.setStyles({ // "height": "" + contentHeight + "px" // }); // }, // cancelCreate: function(e){ // var _self = this; // if ( this.isNew && this.personName.get("value") ){ // this.app.confirm("warn", e, // this.app.lp.create_cancel_title, // this.app.lp.create_cancel, "320px", "100px", // function(){ // _self.createMarkNode.destroy(); // _self.createAreaNode.destroy(); // this.close(); // },function(){ // this.close(); // } // ); // }else{ // this.createMarkNode.destroy(); // this.createAreaNode.destroy(); // delete _self; // } // }, // okCreate: function(e){ // var data = { // "id" : this.data.id || null, // "unitName": this.unit.get("value"), // //"organizationOu" : this.unit.get("value")=="" ? "" : this.data.organizationOu, // "adminName": this.personName.get("value"), // "adminLevel": this.role.getValue() // }; // if (data.adminName ){ // this.app.restActions.savePermission(data, function(json){ // if( json.type == "ERROR" ){ // this.app.notice( json.message , "error"); // }else{ // this.createMarkNode.destroy(); // this.createAreaNode.destroy(); // if(this.explorer.view)this.explorer.view.reload(); // this.app.notice( this.isNew ? this.app.lp.createSuccess : this.app.lp.updateSuccess , "success"); // } // // // this.app.processConfig(); // }.bind(this)); // }else{ // this.adminName.setStyle("border-color", "red"); // this.adminName.focus(); // this.app.notice( this.app.lp.inputName, "error"); // } // }, // selecePerson: function(){ // var options = { // "type": "person", // "title": "设置管理员", // "count" : "1", // "values": [this.data.personName] || [], // "onComplete": function(items){ // this.data.personName = []; // items.each(function(item){ // this.data.personName.push(item.data.name); // }.bind(this)); // this.personName.set("value",this.data.personName); // }.bind(this) // }; // var selector = new MWF.O2Selector(this.app.content, options); // }, // selectUnit: function( u ){ // var options = { // "type": u=="COMPANY" ? "topUnit" : "unit", // "title": u=="COMPANY" ? "选择公司":"选择部门", // "count" : "1", // "values": [this.data.unit] || [], // "onComplete": function(items){ // this.data.unit = []; // items.each(function(item){ // this.data.unit.push(item.data.name); // }.bind(this)); // this.unit.set("value",this.data.unit); // }.bind(this) // }; // var selector = new MWF.O2Selector(this.app.content, options); // } //});