Calendar_wev8.js 6.03 KB
define("Calendar_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" ></div>'}),define(["mUtil","Component","_calendar"],function(_,s,y){return s.init(function(e){var m,D={};s.super(this,e),this.type="Calendar",this.tpl=this.type+"_html",this.css=this.type+"_css";var L=this.viewModel={basic:{showLunar:!0,showNew:!0,showBack:!0,expand:!0},action:{type:"",target:{id:"",sourceType:""},dataFilter:{field:"",field2:""},dataInit:"currentMonth",dataReload:!0},remark:null,callback:{},standalone:!0};this.mounted=function(){var e=this.$el.children(".wev-comp-"+this.type),t=L.action.type,a=D.getListChooseId(),i=L.action.target.sourceType,r=L.action.dataInit,n=new Date,s=n.getFullYear(),o=9<n.getMonth()+1?n.getMonth()+1:"0"+(n.getMonth()+1),l=n.getDate(),c="",d="";(m=new y(e,!L.basic.expand)).init(),L.basic.showLunar&&8!=_.getUserLanguage()||m.showLunar(),L.basic.showNew&&m.showAddData(),L.basic.showBack&&m.showBack(),"currentDay"==r?d=c=s+"-"+o+"-"+(9<l?l:"0"+l):"currentWeek"==r?(n.setDate(l-n.getDay()),o=9<n.getMonth()+1?n.getMonth()+1:"0"+(n.getMonth()+1),l=9<n.getDate()?n.getDate():"0"+n.getDate(),c=n.getFullYear()+"-"+o+"-"+l,n.setDate(n.getDate()+6),o=9<n.getMonth()+1?n.getMonth()+1:"0"+(n.getMonth()+1),l=9<n.getDate()?n.getDate():"0"+n.getDate(),d=n.getFullYear()+"-"+o+"-"+l):"currentMonth"==r&&(c=s+"-"+o+"-01",d=s+"-"+o+"-"+new Date(s,n.getMonth()+1,0).getDate());var h=function(){D.resetListHeight(!1)},u="",g="",f=L.action.dataFilter;f&&(u=f.field,g=f.field2);var p=L.standalone?"refreshList":"triggerLazyLoad";if("refreshList"==t||"refreshNList"==t&&("cube"==i||"sql"==i)||"refreshTimelinr"==t){var v=[];c&&d&&u&&(v.push({name:u,value:c,opt:"greaterThanEqualTo"}),v.push({name:g||u,value:d,opt:"lessThanEqualTo"})),D.getSqlwhere(v,function(e){var t={sqlwhere:e};Mobile_NS[p](a,t,h)})}else if("refreshUrlList"==t||"refreshNList"==t){var b={},w=c;c!=d&&(w+=","+d),b[u]=w,Mobile_NS[p](a,b,h)}"all"==r&&(c=s+"-"+o+"-01",n.setDate(0),d=s+"-"+o+"-"+n.getDate()),L.basic.expand||$("._m_cdar_upDownCalendar",e).bind("click",function(){$(this).hasClass("_m_cdar_upDownCalendarSwitch")||D.drawingDate(c,d)}),D.drawingDate(c,d)},this.monthChange=function(e,t){if(!e&&!t)return D.resetListHeight(!0);if(D.drawingDate(e,t),D.resetListHeight(!0),L.action.dataReload){var a=D.getListChooseId(),i=L.action.type,r=L.action.target.sourceType,n=(L.action.dataReload,""),s="";if(L.action.dataFilter&&(n=L.action.dataFilter.field,s=L.action.dataFilter.field2),"refreshList"==i||"refreshNList"==i&&("cube"==r||"sql"==r)||"refreshTimelinr"==i){var o=[];n&&(o.push({name:n,value:e,opt:"greaterThanEqualTo"}),o.push({name:s||n,value:t,opt:"lessThanEqualTo"})),o.length&&D.getSqlwhere(o,function(e){var t="sqlwhere="+e;Mobile_NS.refreshList(a,t)})}else{var l=e+","+t;if("refreshUrlList"==i||"refreshNList"==i)Mobile_NS.refreshList(a,n+"="+l);else if("custom"==i&&L.script){var c='var $cal_date = "'+l+'";';_.eval(c+L.script,this.pageid)}}L.callback&&_.isFunction(L.callback.swipe)&&L.callback.swipe.call(this,startDate,endDate)}},this.dayChange=function(e,t){if(!e||!t||e==t){var a=D.getListChooseId(),i=L.action.type,r=L.action.target.sourceType,n=(L.action.dataReload,""),s="";if(L.action.dataFilter&&(n=L.action.dataFilter.field,s=L.action.dataFilter.field2),"refreshList"==i||"refreshNList"==i&&("cube"==r||"sql"==r)||"refreshTimelinr"==i){var o=[];n&&(o.push({name:n,value:e,opt:s?"lessThanEqualTo":"equalTo"}),s&&o.push({name:s,value:e,opt:"greaterThanEqualTo"})),o.length&&D.getSqlwhere(o,function(e){var t="sqlwhere="+e;Mobile_NS.refreshList(a,t)})}else if("refreshUrlList"==i||"refreshNList"==i)Mobile_NS.refreshList(a,n+"="+e);else if("custom"==i&&L.script){var l='var $cal_date = "'+e+'";';_.eval(l+L.script,this.pageid)}L.callback&&_.isFunction(L.callback.click)&&L.callback.click.call(this,e,t)}},D.getSqlwhere=function(e,t){var a=_.jionActionUrl("com.api.mobilemode.web.mobile.service.MobileCommonAction","action=getCalendarCondition&columns="+encodeURIComponent(JSON.stringify(e)));_.getJSON(a,function(e){t&&t(e.data)})},this.addData=function(e){var t=L.parseWayChoose;if(L.standalone)L.callback&&_.isFunction(L.callback.add)&&L.callback.add.call(this,e);else if(1==t){var a=L.layoutUrl,i=(a.param||"").replace(/\${calendarDateVal}/g,e);if(L.autoParseUrl)return $u(L.autoParseUrl+i);var r=_.getActionUrl("service.FormComponent",{action:"getLayoutUrl"}),n={modelid:a.modeid,appid:a.appid,uitype:0},s=(new Date).valueOf(),o=function(e){if(500<=(new Date).valueOf()-s)return Mobile_NS.hideLoader(),e.call();setTimeout(function(){Mobile_NS.hideLoader(),e.call()},500)};Mobile_NS.showLoader(),_.getJSON(r,n,function(e){o(function(){L.autoParseUrl=e.data,$u(L.autoParseUrl+i)})},function(e){o(function(){Mobile_NS.msg(e)})})}else if(2==t&&L.clickScript){var l='var $cal_date = "'+e+'";';_.eval(l+L.clickScript,this.pageid)}},D.drawingDate=function(e,t){var a;if(L.standalone?a=L.remark:!0===L.remark&&(a=_.getActionUrl(this.type,{action:"getDatas",mec_id:L.id},this.pageid)),a)return _.isArray(a)?D.buildDrawingDate(a):void _.getJSON(a,{startDate:e,endDate:t},function(e){D.buildDrawingDate(e.data)})},D.toogleMarkPoint=function(e,t){var a=$("td[data-id='"+e+"']",this.$el),i=$("<div class='_m_cdar_mark'></div>").css("background-color",t);a.find("._m_cdar_mark").remove(),a.append(i)},D.buildDrawingDate=function(e){e="string"==typeof e?$.parseJSON(e):e,$.isArray(e)&&e.forEach(function(e){var t=e,a="";if("object"==typeof e){var i=Object.values(e);t=e.date||i[0],a=e.color||i[1]}D.toogleMarkPoint(t,a)})},D.resetListHeight=function(e){if(!e)return D.setListHeight();setTimeout(D.setListHeight.bind(D),100)},D.setListHeight=function(){var e=D.getListChooseId(),t=e&&s.getInstance(e);if(t){var a=this.$container,i=t.$el.find(".wev-comp-"+t.type),r=i.offset().top,n=a.height()-r;n<=50||i.height(n).css({"overflow-x":"hidden","overflow-y":"auto","-webkit-overflow-scrolling":"touch"})}},D.getListChooseId=function(){var e=L.action.target;return _.isObject(e)?e.id:e},D.drawingDate=D.drawingDate.bind(this),D.buildDrawingDate=D.buildDrawingDate.bind(this),D.resetListHeight=D.resetListHeight.bind(this),D.setListHeight=D.setListHeight.bind(this)})});