| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- MWF.xApplication.SelecterTest.options.multitask = true;
- MWF.xDesktop.requireApp("Selector", "package", null, false);
- MWF.xApplication.SelecterTest.Main = new Class({
- Extends: MWF.xApplication.Common.Main,
- Implements: [Options, Events],
- options: {
- "style": "default",
- "name": "SelecterTest",
- "icon": "icon.png",
- "width": "1200",
- "height": "600",
- "isResize": true,
- "isMax": true,
- "title": MWF.xApplication.SelecterTest.LP.title
- },
- onQueryLoad: function(){
- this.lp = MWF.xApplication.SelecterTest.LP;
- },
- loadApplication: function(callback){
- this.createNode();
- this.sel1Content = new Element("div", {"styles":{"padding": "10px"}}).inject(this.node);
- this.sel2Content = new Element("div", {"styles":{"padding": "10px"}}).inject(this.node);
- MWF.require("MWF.widget.Tab", function(){
- this.tab = new MWF.widget.Tab(this.node, {"style": "processlayout"});
- this.tab.load();
- this.page1 = this.tab.addTab(this.sel1Content, "组织选人", false);
- this.page2 = this.tab.addTab(this.sel2Content, "缓存选人", false);
- this.page1.showIm();
- this.setContentHeight();
- this.addEvent("resize", function(){this.setContentHeight();}.bind(this));
- }.bind(this));
- this.loadApplicationContent();
- },
- createNode: function(){
- this.content.setStyle("overflow", "hidden");
- this.node = new Element("div", {
- "styles": {"width": "100%", "height": "100%", "overflow": "hidden"}
- }).inject(this.content);
- },
- loadApplicationContent: function(){
- //MWF.xDesktop.requireApp("Organization", "Selector.package", null, false);
- var textareaStyle = {
- "height": "120px",
- "width": "360px"
- };
- this.textarea1 = new Element("textarea", {
- "value": "{\n\t\"title\": \"Select Identity\", \n\t\"count\": 0, \n\t\"groups\": [], \n\t\"roles\": [], \n\t\"companys\": [], \n\t\"departments\": []\n}",
- "styles": textareaStyle
- }).inject(this.sel1Content);
- this.selecteds = [];
- this.textareaResault1 = new Element("textarea", {
- "value": "",
- "styles": textareaStyle
- }).inject(this.sel1Content);
- this.textareaResault2 = new Element("textarea", {
- "value": "",
- "styles": textareaStyle
- }).inject(this.sel1Content);
- this.selecteds = [];
- new Element("p").inject(this.sel1Content);
- //new Element("br").inject(this.sel1Content);
- this.createButton1("选择人员", "Person");
- this.createButton1("选择群组", "Group");
- this.createButton1("选择角色", "Role");
- this.createButton1("选择身份", "Identity");
- this.createButton1("选择部门", "Department");
- this.createButton1("选择公司", "Company");
- this.createButton3("复合选择")
- new Element("p").inject(this.sel1Content);
- //this.createButton2("选择人员", "Person");
- //this.createButton2("选择群组", "Group");
- //this.createButton2("选择角色", "Role");
- //this.createButton2("选择身份", "Identity");
- //this.createButton2("选择部门", "Department");
- //this.createButton2("选择公司", "Company");
- this.currentButton = null;
- },
- createButton3: function(text){
- var button = new Element("input", {
- "type": "button",
- "value": text,
- "events": {
- "click": function(e) {
- var options = {
- "types": ["company","group","department", "identity","person"],
- "names": [],
- "count": 0,
- "departments": ["公司领导","工程部"],
- "groups" : ["工作组"],
- "companys": ["兰德纵横"],
- "personNames" : ["王艳琴"],
- "identityNames": ["李杰(人力资源部)","林玲(人力资源部)"],
- "departmentNames": ["公司领导","工程部"],
- "groupNames" : ["工作组"],
- "companyValues": ["2cd4ef06-6105-4c85-b0d9-9e9aa806558d"],
- "onComplete": function (items, itemsObject) {
- var values = {};
- for( var key in itemsObject ){
- var item = itemsObject[key];
- var value = [];
- item.each( function(it){
- value.push({
- id : it.id,
- name: it.name
- })
- })
- values[ key + "Value" ] = value;
- }
- }.bind(this),
- "onCancel": function () {
- }.bind(this),
- "onLoad": function () {
- // if (this.descriptionNode) this.descriptionNode.setStyle("display", "none");
- }.bind(this),
- "onClose": function () {
- // var v = this.node.getFirst().get("value");
- // if (!v || !v.length) if (this.descriptionNode) this.descriptionNode.setStyle("display", "block");
- }.bind(this)
- };
- //if (layout.mobile) options.style = "mobile";
- //var selector = new MWF.OrgSelector(this.form.node.getParent(), options);
- var selector = new MWF.O2Selector(this.content, options);
- }.bind(this)}}).inject(this.sel1Content);
- },
- createButton1: function(text, type){
- var button = new Element("input", {
- "type": "button",
- "value": text,
- "events": {
- "click": function(e){
- if (this.currentButton!= e.target){
- this.textareaResault1.set("value", "");
- this.textareaResault2.set("value", "");
- this.selecteds = [];
- this.currentButton = e.target;
- }else{
- var v = this.textareaResault1.get("value");
- if (v){this.selecteds = v.split("\n");}else{this.selecteds = [];}
- }
- var options = {
- "type": type,
- "values": this.selecteds,
- "onComplete": function(items){
- var ids = [];
- var names = [];
- items.each(function(item){
- ids.push(item.data.id);
- names.push(item.data.name);
- });
- this.selecteds = ids;
- this.textareaResault1.set("value", this.selecteds.join("\n"));
- this.textareaResault2.set("value", names.join("\n"));
- }.bind(this)
- };
- //try {
- var jsonStr = this.textarea1.get("value");
- var json = JSON.decode(jsonStr);
- Object.each(json, function(v, k){
- options[k] = v;
- });
- var selector = new MWF.O2Selector(this.content, options);
- // selector.load();
- // }catch(e){
- // this.notice("json参数有错误:"+ e.message, "error");
- //}
- }.bind(this)
- }
- }).inject(this.sel1Content);
- },
- createButton2: function(text, type){
- var button = new Element("input", {
- "type": "button",
- "value": text,
- "events": {
- "click": function(e){
- if (this.currentButton!= e.target){
- this.textareaResault1.set("value", "");
- this.textareaResault2.set("value", "");
- this.selecteds = [];
- this.currentButton = e.target;
- }else{
- var v = this.textareaResault1.get("value");
- if (v){this.selecteds = v.split("\n");}else{this.selecteds = [];}
- }
- var options = {
- "type": type,
- "values": this.selecteds,
- "onComplete": function(items){
- var ids = [];
- var names = [];
- items.each(function(item){
- ids.push(item.data.id);
- names.push(item.data.name);
- });
- this.selecteds = ids;
- this.textareaResault1.set("value", this.selecteds.join("\n"));
- this.textareaResault2.set("value", names.join("\n"));
- }.bind(this)
- };
- try {
- var jsonStr = this.textarea1.get("value");
- var json = JSON.decode(jsonStr);
- Object.each(json, function(v, k){
- options[k] = v;
- });
- var selector = new MWF.O2Selector(this.content, options);
- // selector.load();
- }catch(e){
- this.notice("json参数有错误:"+ e.message, "error");
- }
- }.bind(this)
- }
- }).inject(this.sel1Content);
- },
- setContentHeight: function(node){
- var size = this.node.getSize();
- var tabSize = this.tab.tabNodeContainer.getSize();
- var height = size.y-tabSize.y-20;
- this.sel1Content.setStyle("height", height);
- this.sel2Content.setStyle("height", height);
- }
- });
|