Test.min.js 42 KB

1
  1. MWF.xDesktop.requireApp("Template","MPopupForm",null,false);MWF.xDesktop.requireApp("cms.Module","ExcelForm",null,false);this.define("dipatchNumberToCity",function(){var i=this.getSelectedId();if(i.length==0){this.form.app.notice("先选择号码","error");return}var t=this.getLevel1Unit();var e=[];t.each(function(t){e.push({name:t.name,id:t.distinguishedName})});MWF.xDesktop.requireApp("Template","Selector.Custom",null,false);var n={count:1,title:"选择分配的组织",selectableItems:e,values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.id;if(!e)return;this.saveDocList(i,e,"","")}.bind(this)};var s=new MWF.xApplication.Template.Selector.Custom(this.form.app.content,n);s.load()}.bind(this));this.define("dipatchNumberToCounty",function(i,t){var s=this.getSelectedId();if(s.length==0){this.form.app.notice("先选择号码","error");return}var e=[];if(i){var n=this.org.listSubUnit(i,false);n.each(function(t){e.push({name:t.name,id:t.distinguishedName})})}if(i){MWF.xDesktop.requireApp("Template","Selector.Custom",null,false);var o={count:1,title:"选择分配的组织",selectableItems:e,values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.id;this.saveDocList(s,i,e,"")}.bind(this)};var r=new MWF.xApplication.Template.Selector.Custom(this.form.app.content,o);r.load()}else{MWF.xDesktop.requireApp("Selector","package",null,false);var o={count:1,title:"选择分配的组织",type:"unit",values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.distinguishedName;debugger;var i=t[0].data.levelName;if(i.split("/").length!=2){this.form.app.notice("请选择县级分公司","error");return false}this.getAllUnit();var n=this.name_dnName[i.split("/")[0]];this.saveDocList(s,n,e,"")}.bind(this)};if(t)o.units=[t];var r=new MWF.O2Selector(this.form.app.content,o)}}.bind(this));this.define("dipatchNumberToBranch",function(s,t){var o=this.getSelectedId();if(o.length==0){this.form.app.notice("先选择号码","error");return}var e=[];if(s){var i=this.org.listSubUnit(s,false);i.each(function(t){e.push({name:t.name,id:t.distinguishedName})})}if(s){MWF.xDesktop.requireApp("Template","Selector.Custom",null,false);var n={count:1,title:"选择分配的组织",selectableItems:e,values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.id;this.getAllUnit();var i=this.dnName_levelName[e];if(i.split("/").length!=3){this.form.app.notice("请选择网格","error");return false}var n=this.name_dnName[i.split("/")[0]];this.saveDocList(o,n,s,e)}.bind(this)};var r=new MWF.xApplication.Template.Selector.Custom(this.form.app.content,n);r.load()}else{MWF.xDesktop.requireApp("Selector","package",null,false);var n={count:1,title:"选择分配的组织",type:"unit",values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.distinguishedName;debugger;this.getAllUnit();var i=this.dnName_levelName[e];if(i.split("/").length!=3){this.form.app.notice("请选择网格","error");return false}var n=this.name_dnName[i.split("/")[0]];var s=this.name_dnName[i.split("/")[1]];this.saveDocList(o,n,s,e)}.bind(this)};if(t)n.units=[t];var r=new MWF.O2Selector(this.form.app.content,n)}}.bind(this));this.define("saveDocList",function(e,n,s,o){e.each(function(t){debugger;var e=this.form.selectedItemJson[t];var i={docStatus:"published",city:n,county:s,branch:o};if(!this.form.statJson){this.form.statJson=new StatJson(this)}this.form.statJson.changeData(i,e,e.batch);this.form.statJson.submit()}.bind(this));if(this.form.currentView.docStatus=="error"){var i=0;e.each(function(t){this.saveDoc(t,n,s,o,function(){i++;if(i==e.length){this.setUploadedUnit(function(){this.form.app.notice("分配成功","");this.createImportBatchDiv();this.loadStatTable(this.statTableOptions?this.statTableOptions.container:this.form.get("statContaienr").node);this.form.view.reload();this.form.view.selectedItems=[];if(this.form.view_error){this.form.view_error.reload();this.form.view_error.selectedItems=[]}}.bind(this))}}.bind(this))}.bind(this))}else{this.saveDcc(e,["city","county","branch"],[n,s,o],function(){this.setUploadedUnit(function(){this.form.app.notice("分配成功","");this.createImportBatchDiv();this.loadStatTable(this.statTableOptions?this.statTableOptions.container:this.form.get("statContaienr").node);this.form.currentView.reload();this.form.currentView.selectedItems=[]}.bind(this))}.bind(this))}}.bind(this));this.define("saveDoc",function(t,i,n,s,o){MWF.Actions.get("x_cms_assemble_control").getDocument(t,function(t){var e=t.data;e.data.city=i;e.data.county=n;e.data.branch=s;e.data.errorText="";e.data.docStatus="published";e.data.status="成功";e.data.title=e.data.subject;delete e.data.$document;delete e.document.viewCount;delete e.document.publishTime;delete e.document.hasIndexPic;delete e.document.readPersonList;delete e.document.readUnitList;delete e.document.readGroupList;delete e.document.authorPersonList;delete e.document.authorUnitList;delete e.document.authorGroupList;delete e.document.managerList;delete e.document.pictureList;delete e.documentLogList;delete e.isAppAdmin;delete e.isCategoryAdmin;delete e.isManager;delete e.isCreator;delete e.isEditor;e.document.docData=e.data;delete e.data;e.document.docStatus="published";e.document.subject=e.document.title;MWF.Actions.get("x_cms_assemble_control").updateDocument(e.document,function(){if(o)o()}.bind(this))}.bind(this))}.bind(this));this.define("dipatchNumber",function(){var i=this.getSelectedId();if(i.length==0){this.form.app.notice("先选择号码","error");return}var t=this.getSubUnit();if(t){MWF.xDesktop.requireApp("Template","Selector.Custom",null,false);var e={count:1,title:"选择分配的组织",selectableItems:t,values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.id;this.setUnit(i,e)}.bind(this)};var n=new MWF.xApplication.Template.Selector.Custom(this.form.app.content,e);n.load()}else{MWF.xDesktop.requireApp("Selector","package",null,false);var e={count:1,title:"选择分配的组织",type:"unit",values:[],onComplete:function(t){if(!t||t.length==0)return;var e=t[0].data.distinguishedName;debugger;this.setUnit(i,e)}.bind(this)};var n=new MWF.O2Selector(this.form.app.content,e)}});this.define("getSelectedId",function(){var e=[];if(!this.form.currentView){this.form.currentView=this.form.view}this.form.selectedItemJson={};this.form.currentView.selectedItems.each(function(t){e.push(t.data.bundle);this.form.selectedItemJson[t.data.bundle]={batch:t.data.data.batch,city:t.data.data.city,county:t.data.data.county,branch:t.data.data.branch,docStatus:this.form.currentView.docStatus||"published"}}.bind(this));return e});this.define("getSubUnit",function(){var t=this.data.currentUnit;if(t){var e=this.org.listSubUnit(t,false)}else if(!this.data.newFlag){var e=this.getLevel1Unit()}else{return null}var i=[];e.each(function(t){i.push({name:t.name,id:t.distinguishedName})});return i});this.define("getLevel1Unit",function(e){var i=[];var t=new this.Action("x_organization_assemble_express",{lookup:{uri:"/jaxrs/unit/list/level/object",method:"POST"}});t.invoke({name:"lookup",parameter:{},data:{levelList:["1"]},success:function(t){i=t.data;if(e)e(t)}.bind(this),async:false});return i}.bind(this));this.define("setUnit",function(t,i){debugger;if(!i)return;var e=this.data.flag||this.data.newFlag;var n;if(!e){n="city"}else if(e=="city"){n="county"}else if(e=="county"){n="branch"}this.saveDcc(t,n,i,function(){debugger;var t=this.data[n+"TaskPerson"];var e=[];(t.length?t:[]).each(function(t){e.push(typeOf(t)=="string"?t:t.distinguishedName)}.bind(this));e.push(i);e=e.unique();this.data[n+"TaskPerson"]=e;this.form.app.notice("分配成功","");this.form.save();this.form.view.reload();this.form.view.selectedItems=[]}.bind(this))});this.define("saveDcc",function(t,e,i,n){var s=new this.Action("x_cms_assemble_control",{save:{uri:"/jaxrs/document/batch/data/modify",method:"PUT"}});var o=[];if(typeOf(e)=="array"){for(var r=0;r<e.length;r++){o.push({dataPath:e[r],dataType:"String",dataString:i[r],dataInteger:null,dataBoolean:null,dataDate:null})}}else{o.push({dataPath:e,dataType:"String",dataString:i,dataInteger:null,dataBoolean:null,dataDate:null})}s.invoke({name:"save",data:{docIds:t,dataChanges:o},success:function(t){if(n)n(t)}.bind(this)})}.bind(this));var UploadExcelDialog=new Class({Extends:MWF.xApplication.cms.Module.ImportForm,Implements:[Options,Events],options:{style:"minder",width:"650",height:"430",hasTop:true,hasIcon:false,draggable:true,maxAction:true,title:"导入号码"},_createTableContent:function(){this.formTableContainer.setStyles({margin:"0px auto 20px atuo"});var t="<table width='100%' bordr='0' cellpadding='7' cellspacing='0' styles='formTable' style='margin-top: 20px; '>"+"<tr><td styles='formTableTitle' width='20%'>说明:</td>"+" <td styles='formTableValue' colspan='3' width='80%' style='font-size:12px;color:#666;line-height:20px;'>"+" 您可以直接在Excel表格里填写地市分公司、区县分公司和网格的名称,系统会以您导入的分公司名称进行流转分发。<br/>"+"请注意填写的名称需要与系统内的分公司/组织名称一致。<div item='openUnit''></div>"+"<div item='url2'></div>"+"</td></tr>"+"<tr><td styles='formTableTitle' lable='url' width='20%'></td>"+" <td styles='formTableValue' item='url' colspan='3' width='80%'></td></tr>"+"<tr><td styles='formTableTitle' lable='file' ></td>"+" <td styles='formTableValue' colspan='3'><div item='filename'></div><div item='file'></div></td></tr>"+"</table>";this.formTableArea.set("html",t);MWF.xDesktop.requireApp("Template","MForm",null,false);this.form=new MForm(this.formTableArea,{},{isEdited:true,style:"cms",hasColon:true,itemTemplate:{openUnit:{type:"Innerhtml",value:"<a href='javascript:void(0)'>点击查看组织名称</a>",event:{click:function(t,e){debugger;layout.desktop.openApplication(e,"Org",{onQueryLoad:function(){this.status={navi:0}}})}.bind(this)}},url2:{type:"Innerhtml",text:"下载模板",value:"<a target='_blank' href='/x_component_cms_Module/$ExcelForm/"+encodeURIComponent("Excel导入合法性说明.xls")+"'>点击查看校验说明</a>"},url:{type:"Innerhtml",text:"下载模板",value:"<a target='_blank' href='/x_component_cms_Module/$ExcelForm/"+encodeURIComponent("Excel模板下载.xls")+"'>Excel模板下载</a>"},file:{type:"button",value:"选择Excel文件",text:"选择文件",event:{click:function(){this.selectFile()}.bind(this)}}}},this.app);this.form.load()},_setCustom:function(){this.formBottomNode.setStyles({margin:"0px auto 0px auto",width:"300px"})},ok:function(t){if(!this.formData){this.app.notice("请先选择Excel文件","error")}else{var e={title_column:"subject",identity:"",docType:"数据",wiParameters:[{dataPath:"workName",dataType:"String",dataString:this.data.workName,dataInteger:"",dataBoolean:"",dataDate:""},{dataPath:"workId",dataType:"String",dataString:this.data.workId,dataInteger:"",dataBoolean:"",dataDate:""},{dataPath:"jobId",dataType:"String",dataString:this.data.jobId,dataInteger:"",dataBoolean:"",dataDate:""}]};this.formData.append("json_data",JSON.stringify(e));var n=function(i){this.action.checkImportStatus(i.data.importBatchName,function(t){debugger;this.importedResultJson=t;this.importBatchName=i.data.importBatchName;if(t.data.dataTotal<=t.data.processTotal){debugger;this.progressBar.setProgress(t.data.processTotal,t.data.dataTotal,"正在导入数据");var e=this.context.data.importBatchNames?this.context.data.importBatchNames.split(","):[];e.push(i.data.importBatchName);this.context.data.importBatchNames=e.toString();this.context.form.save();this.allUnit=this.getAllUnit();this.checkImportedData(true,i.data.importBatchName);this.formData=null;this.file=null}else{setTimeout(function(){this.progressBar.setProgress(t.data.processTotal,t.data.dataTotal,"正在导入数据");n(i)}.bind(this),500)}}.bind(this)),function(){debugger;setTimeout(function(){this.progressBar.setProgress(js.data.processTotal,js.data.dataTotal,"正在导入数据");n(i)}.bind(this),500)}.bind(this)}.bind(this);this.loadProgressBar();this.action.importDocumentFormExcel(this.data.categoryId,function(t){n(t)}.bind(this),null,this.formData,this.file)}},checkImportedData:function(t,s){var o=this.context.form;if(t){this.checked=0;if(!o.statJson){o.statJson=new StatJson(this.context)}o.statJson.addBatch(s,true)}this.action.listDocumentFilterNext("(0)",1e3,{importBatchNames:[s],categoryAliasList:["渠道-手机号码设置-手机号码"],statusList:["checking"],orderField:null,orderType:null,documentType:"全部",needData:true},function(t){if(!this.totalCount){this.totalCount=t.count;this.progressBar.gotoStep(2);this.progressBar.setProgress(0,this.totalCount,"正在校验导入数据")}var i=(t.data||[]).length;var n=0;(t.data||[]).each(function(t,e){this.checkDocData(t,function(){this.checked++;n++;this.progressBar.setProgress(this.checked,this.totalCount,"正在校验导入数据");if(n==i&&this.checked<this.totalCount){window.setTimeout(function(){this.checkImportedData(false,s)}.bind(this),1e3)}if(this.checked==this.totalCount){debugger;this.progressBar.gotoStep(3);this.setResult();o.statJson.submit();this.context.setUploadedUnit(function(){o.view.reload();o.view.selectedItems=[];if(o.view_error){o.view_error.reload();o.view_error.selectedItems=[]}this.context.createImportBatchDiv();this.context.loadStatTable(this.context.statTableOptions?this.context.statTableOptions.container:this.context.form.get("statContaienr").node)}.bind(this))}}.bind(this),function(){this.checked++;n++}.bind(this))}.bind(this))}.bind(this))},checkDocData:function(t,e){if(t.docStatus!="checking"){if(e)e();return}var i=t.data;var n=[];var s,o,r;if(i.branch||i.county||i.city){if(i.branch)i.branch=i.branch.trim();if(i.county)i.county=i.county.trim();if(i.city)i.city=i.city.trim();if(i.city){s=this.name_dnName[i.city];if(!s)n.push("未在系统中找到"+i.city+"。")}if(n.length==0&&i.county){o=this.name_dnName[i.county];if(!o){n.push("未在系统中找到"+i.county+"。")}else{if(i.city){if(!this.allUnit.contains(i.city+"/"+i.county)){n.push("未在系统中找到"+i.city+"/"+i.county+"。")}}else{var a=this.name_levelName[i.county];if(!a){n.push("未在系统中找到"+i.county+"所在的市公司。")}else{s=this.name_dnName[a.split("/")[0]];if(!s)n.push("未在系统中找到"+i.county+"所在的市公司。")}}}}if(n.length==0&&i.branch){r=this.name_dnName[i.branch];if(!r){n.push("未在系统中找到"+i.branch+"。")}else{if(i.city&&i.county){if(!this.allUnit.contains(i.city+"/"+i.county+"/"+i.branch)){n.push("未在系统中找到"+i.city+"/"+i.county+"/"+i.branch)}}else{var a=this.name_levelName[i.branch];if(!a){n.push("未在系统中找到"+i.branch+"所在的县公司。")}else{if(!s){s=this.name_dnName[a.split("/")[0]];if(!s)n.push("未在系统中找到"+i.branch+"所在的市公司。")}if(!o){o=this.name_dnName[a.split("/")[1]];if(!o)n.push("未在系统中找到"+i.branch+"所在的县公司。")}}}}}}if(n.length==0){t.docStatus="published";i.docStatus="published";i.status="成功";if(s){i.city_import=i.city;i.city=s}if(o){i.county_import=i.county;i.county=o}if(r){i.branch_import=i.branch;i.branch=r}}else{t.docStatus="error";i.docStatus="error";i.status="错误";i.errorText=n.join("")}t.docData=i;delete t.data;this.context.form.statJson.addData(i);this.action.updateDocument(t,function(){if(e)e()})},setResult:function(){this.formTableArea.empty();this.formTopCloseActionNode.setStyle("display","");this.formTopTextNode.set("text","导入结束");var t=this.importedResultJson.data;new Element("div",{styles:{"margin-top":"10px","font-size":"14px","margin-left":"10px"},text:"本批次共导入"+t.dataTotal+"条数据,成功导入"+t.successTotal+"条数据,发生错误"+t.errorTotal+"条"}).inject(this.formTableArea);if(!this.context.form.statJson){this.context.form.statJson=new StatJson(this.context)}this.context.form.statJson.loadTable(this.formTableArea,this.importBatchName);this.setFormNodeSize()},loadProgressBar:function(){this.formTableArea.empty();this.formBottomNode.setStyle("display","none");this.formTopCloseActionNode.setStyle("display","none");this.formTopTextNode.set("text","正在导入数据,请不要关闭窗口...");this.progressBar=new ProgressBar(this.formTableArea);this.progressBar.load()},getAllUnit:function(e){if(this.name_all){if(e)e()}var i=this.name_all=[];this.name_levelName={};this.dnName_levelName={};this.name_dnName={};var t=new this.context.Action("x_organization_assemble_express",{lookup:{uri:"/jaxrs/unit/list/all/object",method:"GET"}});t.invoke({name:"lookup",parameter:{},data:null,success:function(t){t.data.each(function(t){this.name_levelName[t.name]=t.levelName;this.dnName_levelName[t.distinguishedName]=t.levelName;this.name_dnName[t.name]=t.distinguishedName;i.push(t.name);i.push(t.distinguishedName);i.push(t.shortName);i.push(t.levelName)}.bind(this));if(e)e(t)}.bind(this),async:false});return i}});this.define("setNumberCount",function(){if(this.data.currentUnit){if(!this.form.statJson){this.form.statJson=new StatJson(this)}var t=this.form.statJson.getUnitCount(this.data.currentUnit);if(this.data.numberCount!=t){this.data.numberCount=t;this.form.save()}}}.bind(this));this.define("getErrorCount",function(){if(!this.form.statJson){this.form.statJson=new StatJson(this)}return this.form.statJson.getErrorCount()}.bind(this));this.define("setUploadedUnit",function(t){if(!this.form.statJson){this.form.statJson=new StatJson(this)}var e=this.data.currentUnit;if(e==""&&!this.data.newFlag){var i=this.workContext.getWork().creatorUnitLevelName;if(i){var n=i.split("/")[0];var e=this.org.getUnit(n)}}var s=this.data.flag||this.data.newFlag;debugger;var o=[];if(!s){o=this.form.statJson.getCity();this.data.numberCount=this.form.statJson.getUnitCount()}else if(s=="city"){if(e){o=this.form.statJson.getCounty(e);this.data.numberCount=this.form.statJson.getUnitCount(e)}else{this.data.numberCount=this.form.statJson.getUnitCount();o=this.form.statJson.getAllCounty()}}else if(s=="county"){if(e){var r=this.data.city;if(!r){var i=this.workContext.getWork().creatorUnitLevelName;if(i){var n=i.split("/")[0];r=this.org.getUnit(n)}else{var n=this.org.listSupUnit(e);r=n[0].distinguishedName}}this.data.numberCount=this.form.statJson.getUnitCount(e);o=this.form.statJson.getBranch(r,e)}else{this.data.numberCount=this.form.statJson.getUnitCount();o=this.form.statJson.getAllBranch()}}debugger;var a;if(!s){a="city"}else if(s=="city"){a="county"}else if(s=="county"){a="branch"}this.data[a+"TaskPerson"]=o;this.form.save(function(){if(t)t()})});this.define("loadView",function(e,i){var t=this.data.provinceWorkId||this.data.cityWorkId||this.data.countyWorkId;var n=this.data.currentUnit;if(n==""&&!this.data.newFlag){n=this.workContext.getWork().creatorUnitLevelName.split("/")[0]}var s=this.data.flag||this.data.newFlag;var o=this.workContext.getControl();var r;if(e=="published"){r="手机号码-导入成功"}else if(e=="error"){r="手机号码-导入失败"}else{r="手机号码"}var a={application:"渠道-手机号码设置",viewName:r,isTitle:"yes",select:o.allowSave?"multi":"none",isExpand:"no",filter:[{logic:"and",path:"workId",title:"workId",comparison:"equals",comparisonTitle:"等于",value:t,formatType:"textValue"}]};if(s&&n){a.filter.push({logic:"and",path:s,title:s,comparison:"equals",comparisonTitle:"等于",value:n,formatType:"textValue"})}var l;if(e=="published"){l=this.form.get("view_container_published").node}else if(e=="error"){l=this.form.get("view_container_error").node}else{l=this.form.get("view_container").node}MWF.xDesktop.requireApp("query.Query","Viewer",function(){var t=new MWF.xApplication.query.Query.Viewer(l,a,{resizeNode:true,onSelect:function(){}.bind(this)});if(e=="published"){t.docStatus="published";this.form.view=t}else if(e=="error"){t.docStatus="error";this.form.view_error=t}else{this.form.view=t}if(i)this.form.currentView=t}.bind(this))});this.define("createImportBatchDiv",function(){if(!this.data.importBatchNames)return;if(!this.form.statJson){this.form.statJson=new StatJson(this)}var c=this;var t=this.form.get("importBatchDiv").node;t.empty();var p={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center"};var f=new Element("table",{width:"90%",border:"0",cellpadding:"5",cellspacing:"0",styles:{"border-top":"1px solid #ccc","border-left":"1px solid #ccc",margin:"20px auto 10px auto"}}).inject(t);var e=new Element("tr").inject(f);new Element("th",{styles:p,text:"导入时间"}).inject(e);new Element("th",{styles:p,text:"校验通过条数"}).inject(e);new Element("th",{styles:p,text:"校验未通过条数"}).inject(e);new Element("th",{styles:p,text:"操作"}).inject(e);this.data.importBatchNames.split(",").each(function(t){var e=t.split("_")[1];var i=e.substring(0,4);var n=e.substring(4,6);var s=e.substring(6,8);var o=e.substring(8,10);var r=e.substring(10,12);var a=e.substring(12,14);var l=i+"-"+n+"-"+s+" "+o+":"+r+":"+a;var h=new Element("tr").inject(f);new Element("td",{styles:p,text:l}).inject(h);new Element("td",{styles:p,text:this.form.statJson.getPublishedCount(t)}).inject(h);new Element("td",{styles:p,text:this.form.statJson.getErrorCount(t)}).inject(h);var d=new Element("td",{styles:p}).inject(h);var u=new Element("button",{styles:{"border-radius":"5px",border:"1px solid rgb(204, 204, 204)",height:"26px",color:"rgb(119, 119, 119)",cursor:"pointer","margin-right":"20px"},text:"只查看该批次导入的数据"}).inject(d);u.store("data",t);u.addEvent("click",function(t){var e=t.target;var i={logic:"and",path:"$document.importBatchName",title:"workId",comparison:"equals",comparisonTitle:"等于",value:e.retrieve("data"),formatType:"textValue"};if(this.form.view){var n=this.form.view;var s=n.json.filter?n.json.filter.clone():[];s.push(i);var o={filterList:s};n.createViewNode(o)}if(this.form.view_error){var r=this.form.view_error;var s=r.json.filter?r.json.filter.clone():[];s.push(i);var o={filterList:s};r.createViewNode(o)}this.loadStatTable(this.statTableOptions?this.statTableOptions.contaier:this.form.get("statContaienr").node,e.retrieve("data"))}.bind(this));var u=new Element("button",{styles:{"border-radius":"5px",border:"1px solid rgb(204, 204, 204)",height:"26px",color:"rgb(119, 119, 119)",cursor:"pointer"},text:"删除该批次导入的数据"}).inject(d);u.store("data",t);u.store("time",l);u.addEvent("click",function(i){this.form.app.confirm("infor",i,"删除确认","删除后无法恢复,确定要删除"+i.target.retrieve("time")+"导入的数据?",380,150,function(){MWF.Actions.get("x_cms_assemble_control").deleteDocumentWithBatchName(i.target.retrieve("data"),function(){var t=c.data.importBatchNames.split(",");var e=i.target.retrieve("data");c.form.statJson.deleteBatch(e);c.form.statJson.submit();t.erase(e);c.data.importBatchNames=t.toString();c.form.save(function(){c.setUploadedUnit(function(){c.form.app.notice("删除成功");c.form.loadErrorView=false;c.form.app.refresh()})})});this.close()},function(){this.close()})}.bind(this))}.bind(this));var e=new Element("tr").inject(f);new Element("td",{styles:p,text:"总数"}).inject(e);new Element("td",{styles:p,text:this.form.statJson.getPublishedCount()}).inject(e);new Element("td",{styles:p,text:this.form.statJson.getErrorCount()}).inject(e);var i=new Element("td",{styles:p}).inject(e);var n=new Element("button",{styles:{"border-radius":"5px",border:"1px solid rgb(204, 204, 204)",height:"26px",color:"rgb(119, 119, 119)",cursor:"pointer","margin-right":"20px"},text:"查看全部"}).inject(i);n.addEvent("click",function(t){var e=t.target;if(this.form.view){var i=this.form.view;var n=i.json.filter?i.json.filter.clone():[];var s={filterList:n};i.createViewNode(s)}if(this.form.view_error){var o=this.form.view_error;var n=o.json.filter?o.json.filter.clone():[];var s={filterList:n};o.createViewNode(s)}this.loadStatTable(this.statTableOptions?this.statTableOptions.contaier:this.form.get("statContaienr").node)}.bind(this))});this.define("getAllUnit",function(e){if(this.name_all){if(e)e()}var i=this.name_all=[];this.name_levelName={};this.dnName_levelName={};this.name_dnName={};var t=new this.Action("x_organization_assemble_express",{lookup:{uri:"/jaxrs/unit/list/all/object",method:"GET"}});t.invoke({name:"lookup",parameter:{},data:null,success:function(t){t.data.each(function(t){this.name_levelName[t.name]=t.levelName;this.dnName_levelName[t.distinguishedName]=t.levelName;this.name_dnName[t.name]=t.distinguishedName;i.push(t.name);i.push(t.distinguishedName);i.push(t.shortName);i.push(t.levelName)}.bind(this));if(e)e(t)}.bind(this),async:false});return i}.bind(this));this.define("setWorkId",function(){if(this.workContext.getWork().activityName=="发起"){this.form.get("provinceWorkId").setData(this.workContext.getWork().id);this.form.get("currentWorkId").setData(this.workContext.getWork().id)}if(this.workContext.getWork().activityName=="市级接收单元负责人处理"){this.form.get("cityWorkId").setData(this.workContext.getWork().id);this.form.get("currentWorkId").setData(this.workContext.getWork().id)}if(this.workContext.getWork().activityName=="县级接收单元负责人处理"){this.form.get("countyWorkId").setData(this.workContext.getWork().id);this.form.get("currentWorkId").setData(this.workContext.getWork().id)}if(this.workContext.getWork().activityName=="网格接收单元负责人处理"){this.form.get("branchWorkId").setData(this.workContext.getWork().id);this.form.get("currentWorkId").setData(this.workContext.getWork().id)}});this.define("getUnitLevel",function(t,e){var i=this.workContext.getWork().creatorIdentityDn;var n;MWF.Actions.get("x_organization_assemble_express")[e?"getUnitWithIdentityAndLevel":"getUnitWithIdentityAndLevelValue"]({identity:i,level:t},function(t){n=t.data.unit}.bind(this),null,false);return n}.bind(this));this.define("openMinder",function(t){debugger;layout.desktop.openApplication(null,"portal.Portal",{pageId:"71acdde6-97cc-4c6d-abe2-817ea5afad4f",portalId:"b66420c3-dee9-4b4c-9d52-050fd0921864",workId:t,appId:"portal_"+t})});this.define("openUploadForm",function(){if(!this.data.subject){this.form.app.notice("请填写任务名称并保存","error");return}var t=this.form.uploadExcelDialog=new UploadExcelDialog({app:this.form.app},{workName:this.data.subject,workId:this.data.provinceWorkId||this.data.currentWorkId,jobId:this.workContext.getWork().job,categoryId:"288a0f05-78dd-4650-af79-236e33832a7e"},{});t.contextForm=this.form;t.context=this;t.edit()});var ProgressBar=new Class({initialize:function(t){this.container=t},load:function(){this.getCss();this.loadSteps();this.loadProgressBar()},setProgress:function(t,e,i){var n=Math.floor(t/e*100);this.progressFront.setStyles({width:n+"%"});this.textNode.set("text",i+",共"+e+"条,已处理"+t+"条,进度"+n+"%")},loadProgressBar:function(){this.progressNode=new Element("div",{styles:this.css.progressNode}).inject(this.container);this.progressBack=new Element("div.progressBack",{styles:this.css.progressBack}).inject(this.progressNode);this.progressBack.setStyle("width","100%");this.progressFront=new Element("div.progressFront",{styles:this.css.progressFront,text:" "}).inject(this.progressBack);this.progressFront.setStyle("width","0px");this.textNode=new Element("div",{styles:this.css.textNode}).inject(this.container)},loadSteps:function(){var t=new Element("div",{styles:this.css.stepsContainer}).inject(this.container);this.step_1=new Element("div",{styles:this.css.step_1_active,text:"导入数据"}).inject(t);this.stepLink_1=new Element("div",{styles:this.css.stepLink_1}).inject(this.step_1);this.step_2=new Element("div",{styles:this.css.step_2,text:"校验数据"}).inject(t);this.stepLink_2=new Element("div",{styles:this.css.stepLink_2}).inject(this.step_2);this.step_3=new Element("div",{styles:this.css.step_3,text:"完成"}).inject(t)},gotoStep:function(t){var e;for(e=1;e<=t;e++){this["step_"+e].setStyles(this.css["step_"+e+"_active"]);if(e!==t&&this["stepLink_"+e]){this["stepLink_"+e].setStyles(this.css["stepLink_"+e+"_active"])}}for(e=t+1;e<=3;e++){this["step_"+e].setStyles(this.css["step_"+e]);if(e!==3){this["stepLink_"+e].setStyles(this.css["stepLink_"+e])}}},getCss:function(){this.css={loadingNode:{},textNode:{"margin-top":"10px","font-size":"12px","margin-left":"10px"},progressNode:{margin:"10px 0px",overflow:"hidden"},progressBack:{float:"left","border-radius":"10px","background-color":"#f4f4f4",height:"16px"},progressFront:{height:"16px","background-color":"#4a9adb"},stepsContainer:{"margin-top":"30px","margin-bottom":"30px","margin-left":"70px",overflow:"hidden"},stepLink_1:{position:"absolute",top:"11px",left:"42px","border-top":"2px solid #b3b3b3",height:"2px",width:"150px"},stepLink_1_active:{position:"absolute",top:"11px",left:"42px","border-top":"2px solid #3c75b7",height:"2px",width:"150px"},stepLink_2:{position:"absolute",top:"11px",left:"47px","border-top":"2px solid #b3b3b3",height:"2px",width:"150px"},stepLink_2_active:{position:"absolute",top:"11px",left:"47px","border-top":"2px solid #3c75b7",height:"2px",width:"150px"},step_1:{float:"left",position:"relative",color:"#b3b3b3","font-size":"15px",width:"165px",height:"25px","padding-top":"30px",background:"url("+MWF.defaultPath+"/xDesktop/$Authentication/default/icon/pic_1_pre.png) 20px 1px no-repeat"},step_1_active:{float:"left",position:"relative",color:"#3c75b7","font-size":"15px",width:"165px",height:"25px","padding-top":"30px",background:"url("+MWF.defaultPath+"/xDesktop/$Authentication/default/icon/pic_1_nor.png ) 20px 1px no-repeat"},step_2:{float:"left",position:"relative",color:"#b3b3b3","font-size":"15px",width:"175px",height:"25px","padding-top":"30px",background:"url("+MWF.defaultPath+"/xDesktop/$Authentication/default/icon/pic_2_pre.png) 25px 1px no-repeat"},step_2_active:{float:"left",position:"relative",color:"#3c75b7","font-size":"15px",width:"175px",height:"25px","padding-top":"30px",background:"url("+MWF.defaultPath+"/xDesktop/$Authentication/default/icon/pic_2_nor.png ) 25px 1px no-repeat"},step_3:{float:"left",position:"relative",color:"#b3b3b3","font-size":"15px",width:"50px",height:"25px","padding-top":"30px",background:"url("+MWF.defaultPath+"/xDesktop/$Authentication/default/icon/pic_3_pre.png) 5px 1px no-repeat"},step_3_active:{float:"left",position:"relative",color:"#3c75b7","font-size":"15px",width:"50px",height:"25px","padding-top":"30px",background:"url("+MWF.defaultPath+"/xDesktop/$Authentication/default/icon/pic_3_nor.png ) 5px 1px no-repeat"}}}});this.define("loadStatTable",function(t,e,i,n){t.empty();if(!this.form.statJson){this.form.statJson=new StatJson(this)}if(!i&&this.statTableOptions){i=this.statTableOptions.unitLevel}if(!n&&this.statTableOptions){n=this.statTableOptions.unitName}this.form.statJson.loadTable(t,e,i,n)});var StatJson=new Class({initialize:function(t){this.context=t;if(this.context.data.statJson){this.json=JSON.parse(this.context.data.statJson)}else{this.json={total:{publishedCount:0,errorCount:0},batch:{}}}},submit:function(){this.deleteEmptyUnit();for(var t in this.json.batch){this.deleteEmptyUnit(t)}this.context.data.statJson=JSON.stringify(this.json)},addBatch:function(t,e){if(!this.json.batch[t]){this.json.batch[t]={publishedCount:0,errorCount:0}}if(e)this.currentBatch=this.json.batch[t]},deleteBatch:function(t){var e=this.json;var i=e.batch[t];if(i){if(i.publishedCount){e.total.publishedCount=e.total.publishedCount-i.publishedCount}if(i.errorCount){e.total.errorCount=e.total.errorCount-i.errorCount}this.reduceByBatchData(i);delete this.json.batch[t]}},reduceByBatchData:function(t){var e=this.json.total;for(var i in t){if(i!="publishedCount"&&i!="errorCount"){var n=e[i];var s=t[i];if(t.publishedCount)n.publishedCount=n.publishedCount-s.publishedCount;if(t.errorCount)n.errorCount=n.errorCount-s.errorCount;for(var o in s){if(o!="publishedCount"&&o!="errorCount"){var r=n[o];var a=s[o];if(a.publishedCount)r.publishedCount=r.publishedCount-a.publishedCount;if(a.errorCount)r.errorCount=r.errorCount-a.errorCount;for(var l in a){if(l!="publishedCount"&&l!="errorCount"){var h=r[l];var d=a[l];if(d.publishedCount)h.publishedCount=h.publishedCount-d.publishedCount;if(d.errorCount)h.errorCount=h.errorCount-d.errorCount}}}}}}},addData:function(t){var e=t;var i=this.json.total;var n=this.currentBatch;if(e.docStatus=="published"){i.publishedCount++;n.publishedCount++;this.addCount(i,e);this.addCount(n,e)}else if(e.docStatus=="error"){i.errorCount++;n.errorCount++}},addCount:function(t,e){if(e.city){var i=t[e.city];if(!i){i=t[e.city]={publishedCount:0}}i.publishedCount++;if(e.county){var n=i[e.county];if(!n){n=i[e.county]={publishedCount:0}}n.publishedCount++;if(e.branch){var s=n[e.branch];if(!s){s=n[e.branch]={publishedCount:0}}s.publishedCount++}}}else{var o="未设置组织";var i=t[o];if(!i){i=t[o]={publishedCount:0}}i.publishedCount++}},reduceCount:function(t,e){if(e.city){var i=t[e.city];if(!i){i=t[e.city]={publishedCount:0}}i.publishedCount--;if(e.county){var n=i[e.county];if(!n){n=i[e.county]={publishedCount:0}}n.publishedCount--;if(e.branch){var s=n[e.branch];if(!s){s=n[e.branch]={publishedCount:0}}s.publishedCount--}}}else{var o="未设置组织";var i=t[o];if(!i){i=t[o]={publishedCount:0}}i.publishedCount--}},getCity:function(){var t=this.json.total;var e=[];for(var i in t){if(i!="publishedCount"&&i!="errorCount"&&i!="未设置组织"){if(t[i].publishedCount>0){e.push(i)}}}return e},getCounty:function(t){var e=this.json.total;var i=[];if(e[t]){var n=e[t];for(var s in n){if(s!="publishedCount"&&s!="errorCount"&&s!="未设置组织"){if(n[s].publishedCount>0){i.push(s)}}}}return i},getBranch:function(t,e){var i=this.json.total;var n=[];if(i[t]){var s=i[t];if(s[e]){var o=s[e];for(var r in o){if(r!="publishedCount"&&r!="errorCount"&&r!="未设置组织"){if(o[r].publishedCount>0){n.push(r)}}}}}return n},getAllCounty:function(){debugger;var t=this.json.total;var e=[];for(var i in t){if(i!="publishedCount"&&i!="errorCount"&&i!="未设置组织"){for(var n in t[i]){if(n!="publishedCount"&&n!="errorCount"&&n!="未设置组织"){if(t[i][n].publishedCount>0){e.push(n)}}}}}return e},getAllBranch:function(){var t=this.json.total;var e=[];for(var i in t){if(i!="publishedCount"&&i!="errorCount"&&i!="未设置组织"){for(var n in t[i]){if(n!="publishedCount"&&n!="errorCount"&&n!="未设置组织"){for(var s in t[i][n]){if(s!="publishedCount"&&s!="errorCount"&&s!="未设置组织"){if(t[i][n][s].publishedCount>0){e.push(s)}}}}}}}return e},getUnitCount:function(t,e){var i;if(e&&this.json.batch[e]){i=this.json.batch[e]}else{i=this.json.total}if(!t)return i.publishedCount;for(var n in i){var s=i[n];if(n==t)return s.publishedCount;for(var o in s){var r=s[o];if(o==t)return r.publishedCount;for(var a in r){var l=r[a];if(a==t)return l.publishedCount}}}return 0},changeData:function(t,e,i){debugger;var n;if(i&&this.json.batch[i]){n=this.json.batch[i]}var s=this.json.total;if(e.docStatus=="error"){s.errorCount--;if(n)n.errorCount--}if(e.docStatus=="published"){s.publishedCount--;this.reduceCount(s,e);if(n){n.publishedCount--;this.reduceCount(n,e)}}if(t.docStatus=="error"){s.errorCount++;if(n)n.errorCount++}if(t.docStatus=="published"){s.publishedCount++;this.addCount(s,t);if(n){n.publishedCount++;this.addCount(n,t)}}},getPublishedCount:function(t){if(!t){return this.json.total.publishedCount}else{if(this.json.batch[t]){var e=this.json.batch[t];return e.publishedCount}}},getErrorCount:function(t){if(!t){return this.json.total.errorCount}else{if(this.json.batch[t]){var e=this.json.batch[t];return e.errorCount}}},deleteEmptyUnit:function(t){if(t){var e=this.json.batch[t]}else{var e=this.json.total}for(var i in e){if(i!="publishedCount"&&i!="errorCount"){var n=e[i];if(!n.publishedCount&&!n.errorCount){delete e[i]}else{for(var s in n){if(s!="publishedCount"&&s!="errorCount"){var o=n[s];if(!o.publishedCount&&!o.errorCount){delete e[i][s]}else{for(var r in o){if(r!="publishedCount"&&r!="errorCount"){var a=o[r];if(!a.publishedCount&&!a.errorCount){delete e[i][s][r]}}}}}}}}}},getNoUnitJson:function(t){var e=Object.clone(t);for(var i in e){if(i!="publishedCount"&&i!="errorCount"){var n=e[i];var s=n.publishedCount;var o=0;for(var r in n){if(r!="publishedCount"&&r!="errorCount"){var a=n[r];o=o+a.publishedCount;var l=0;for(var h in a){if(h!="publishedCount"&&h!="errorCount"){var d=a[h];l=l+d.publishedCount}}if(a.publishedCount>l){a["未设置"]={publishedCount:a.publishedCount-l}}}}if(n.publishedCount>o){n["未设置"]={publishedCount:n.publishedCount-o}}}}return e},loadTable:function(t,e,i,n){if(!i){this._loadTable(t,e)}else{this._loadTableByUnit(t,e,i,n)}},_loadTableByUnit:function(t,e,i,n){if(e){var s=this.json.batch[e]}else{var s=this.json.total}var o=this.getNoUnitJson(s);debugger;var r=this.table=new Element("table",{width:"90%",border:"0",cellpadding:"5",cellspacing:"0",styles:{"border-top":"1px solid #ccc","border-left":"1px solid #ccc",margin:"20px auto 10px auto","font-size":"14px"}}).inject(t);if(e){var a=e.split("_")[1];var l=a.substring(0,4);var h=a.substring(4,6);var d=a.substring(6,8);var u=a.substring(8,10);var c=a.substring(10,12);var p=a.substring(12,14);var f=l+"-"+h+"-"+d+" "+u+":"+c+":"+p+"批次数据统计"}else{var f="数据统计"}if(i=="city")this._loadTableByCity(f,o,r,n);if(i=="county")this._loadTableByCounty(f,o,r,n);if(i=="branch")this._loadTableByBranch(f,o,r,n)},_loadTableByCity:function(t,e,i,n){var s={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center"};var o={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center","font-size":"16px","font-weight":"bold"};var r=new Element("tr").inject(i);new Element("td",{styles:o,text:t,colspan:3}).inject(r);var r=new Element("tr").inject(i);new Element("th",{styles:s,text:"市分"}).inject(r);new Element("th",{styles:s,text:"县分"}).inject(r);new Element("th",{styles:s,text:"网格"}).inject(r);debugger;for(var a in e){if(a!=n)continue;if(a!="publishedCount"&&a!="errorCount"){var l=new Element("tr").inject(i);var h=e[a];var d=a=="未设置组织"?"未设置":a.split("@")[0];var u=new Element("td",{styles:s,text:d+"("+h.publishedCount+")"}).inject(l);var c=1;var p=0;var f=null;var m=null;var b=null;for(var v in h){if(v!="publishedCount"&&v!="errorCount"){if(p!=0){c++;f=new Element("tr").inject(i)}p++;var g=1;var x=h[v];m=new Element("td",{styles:s,text:v.split("@")[0]+"("+x.publishedCount+")"}).inject(f||l);var C=0;var y=null;for(var w in x){if(w!="publishedCount"&&w!="errorCount"){if(C!=0){y=new Element("tr").inject(i);c++;g++}C++;var _=x[w];b=new Element("td",{styles:s,text:w.split("@")[0]+"("+_.publishedCount+")"}).inject(y||f||l)}}if(C==0){b=new Element("td",{styles:s,text:""}).inject(y||f||l)}m.set("rowspan",g)}}if(p==0){m=new Element("td",{styles:s,text:""}).inject(f||l)}if(!b){new Element("td",{styles:s,text:""}).inject(f||l)}u.set("rowspan",c)}}},_loadTableByCounty:function(t,e,i,n){var s={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center"};var o={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center","font-size":"16px","font-weight":"bold"};var r=new Element("tr").inject(i);new Element("td",{styles:o,text:t,colspan:2}).inject(r);var r=new Element("tr").inject(i);new Element("th",{styles:s,text:"县分"}).inject(r);new Element("th",{styles:s,text:"网格"}).inject(r);debugger;for(var a in e){if(a!="publishedCount"&&a!="errorCount"){var l=e[a];var h=0;var d=null;var u=null;var c=null;for(var p in l){if(n!=p)continue;if(p!="publishedCount"&&p!="errorCount"){d=new Element("tr").inject(i);h++;var f=1;var m=l[p];u=new Element("td",{styles:s,text:p.split("@")[0]+"("+m.publishedCount+")"}).inject(d);var b=0;var v=null;for(var g in m){if(g!="publishedCount"&&g!="errorCount"){if(b!=0){v=new Element("tr").inject(i);f++}b++;var x=m[g];c=new Element("td",{styles:s,text:g.split("@")[0]+"("+x.publishedCount+")"}).inject(v||d)}}if(b==0){c=new Element("td",{styles:s,text:""}).inject(v||d)}u.set("rowspan",f)}}if(!c&&d){new Element("td",{styles:s,text:""}).inject(d)}}}},_loadTableByBranch:function(t,e,i,n){var s={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center"};var o={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center","font-size":"16px","font-weight":"bold"};var r=new Element("tr").inject(i);new Element("td",{styles:o,text:t}).inject(r);for(var a in e){if(a!="publishedCount"&&a!="errorCount"){var l=e[a];var h=null;for(var d in l){if(d!="publishedCount"&&d!="errorCount"){var u=l[d];for(var c in u){if(c!=n)continue;if(c!="publishedCount"&&c!="errorCount"){var p=new Element("tr").inject(i);var f=u[c];h=new Element("td",{styles:s,text:c.split("@")[0]+"("+f.publishedCount+")"}).inject(p)}}}}}}},_loadTable:function(t,e){if(e){var i=this.json.batch[e]}else{var i=this.json.total}var n=this.getNoUnitJson(i);debugger;var s={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center"};var o={"border-right":"1px solid #ccc","border-bottom":"1px solid #ccc","text-align":"center","font-size":"16px","font-weight":"bold"};var r=this.table=new Element("table",{width:"90%",border:"0",cellpadding:"5",cellspacing:"0",styles:{"border-top":"1px solid #ccc","border-left":"1px solid #ccc",margin:"20px auto 10px auto","font-size":"14px"}}).inject(t);var a=new Element("tr").inject(r);if(e){var l=e.split("_")[1];var h=l.substring(0,4);var d=l.substring(4,6);var u=l.substring(6,8);var c=l.substring(8,10);var p=l.substring(10,12);var f=l.substring(12,14);var m=h+"-"+d+"-"+u+" "+c+":"+p+":"+f+"批次数据统计"}else{var m="数据统计"}new Element("td",{styles:o,text:m,colspan:3}).inject(a);var a=new Element("tr").inject(r);new Element("td",{styles:s,text:"校验未通过(条)"}).inject(a);new Element("td",{styles:s,colspan:2,text:n.errorCount||""}).inject(a);var a=new Element("tr").inject(r);new Element("td",{styles:s,text:"校验通过(条)"}).inject(a);new Element("td",{styles:s,colspan:2,text:n.publishedCount||""}).inject(a);var a=new Element("tr").inject(r);new Element("th",{styles:s,text:"市分"}).inject(a);new Element("th",{styles:s,text:"县分"}).inject(a);new Element("th",{styles:s,text:"网格"}).inject(a);debugger;for(var b in n){if(b!="publishedCount"&&b!="errorCount"){var v=new Element("tr").inject(r);var g=n[b];var x=b=="未设置组织"?"未设置":b.split("@")[0];var C=new Element("td",{styles:s,text:x+"("+g.publishedCount+")"}).inject(v);var y=1;var w=0;var _=null;var j=null;var k=null;for(var N in g){if(N!="publishedCount"&&N!="errorCount"){if(w!=0){y++;_=new Element("tr").inject(r)}w++;var E=1;var T=g[N];j=new Element("td",{styles:s,text:N.split("@")[0]+"("+T.publishedCount+")"}).inject(_||v);var S=0;var D=null;for(var B in T){if(B!="publishedCount"&&B!="errorCount"){if(S!=0){D=new Element("tr").inject(r);y++;E++}S++;var I=T[B];k=new Element("td",{styles:s,text:B.split("@")[0]+"("+I.publishedCount+")"}).inject(D||_||v)}}if(S==0){k=new Element("td",{styles:s,text:""}).inject(D||_||v)}j.set("rowspan",E)}}if(w==0){j=new Element("td",{styles:s,text:""}).inject(_||v)}if(!k){new Element("td",{styles:s,text:""}).inject(_||v)}C.set("rowspan",y)}}}});