Calendar_wev8.js
8.55 KB
define("Calendar_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" ></div>'}),define(["mUtil","Component","_calendar"],function(k,l,M){return l.init(function(e){var y,w={},D=new Date,_=null;l.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:"",fieldType:"",field2Type:"",isEquals:!0},dataInit:"currentMonth",dataReload:!0},remark:null,callback:{},standalone:!0,reloadCallback:function(){}};this.reload=function(e,t,a){k.isFunction(a)&&(L.reloadCallback=a);var i=/^[0-9]{4}[-/][0-9]{2}[-/][0-9]{2}(\s[0-2][0-9]:[0-5][0-9]:[0-5][0-9])?$/.test(e)?e:k.getCurrDate();D=new Date(i),y.reload(i,_,t);var r=this.getStartAndEndDate(D);w.drawingDate(r[0],r[1])},this.mounted=function(){var e=this.$el.children(".wev-comp-"+this.type),t=L.action.type,a=w.getListChooseId(),i=L.action.target.sourceType,r=L.action.dataInit,n=D.getFullYear(),l=9<D.getMonth()+1?D.getMonth()+1:"0"+(D.getMonth()+1),s=(D.getDate(),""),o="";(y=new M(_=e,!L.basic.expand)).init(),L.basic.showLunar&&8!=k.getUserLanguage()||y.showLunar(),L.basic.showNew&&y.showAddData(),L.basic.showBack&&y.showBack();var d=this.getStartAndEndDate(D);s=d[0],o=d[1];var c=function(){w.resetListHeight(!1)},h="",u="",f="",p="",g=L.action.dataFilter;g&&(h=g.field,u=g.field2,f=g.fieldType,p=g.field2Type);var v=L.standalone?"refreshList":"triggerLazyLoad";if("refreshList"==t||"refreshNList"==t&&("cube"==i||"sql"==i)||"refreshTimelinr"==t||"refreshNTimeline"==t&&("cube"==i||"sql"==i)){var T=[];s&&o&&(h&&!u?L.action.dataFilter.isEquals?(T.push({name:h,value:s,opt:"greaterThanEqualTo",fieldType:f}),T.push({name:h,value:o,opt:"lessThanEqualTo",fieldType:f})):T.push({name:h,value:s,opt:"greaterThanEqualTo",fieldType:f}):u&&!h?T.push({name:u,value:o,opt:"lessThanEqualTo",fieldType:p}):u&&h&&(T.push({name:h,value:s,opt:"greaterThanEqualTo",fieldType:f}),T.push({name:u,value:o,opt:"lessThanEqualTo",fieldType:p}))),w.getSqlwhere(T,function(e){var t={};T.length&&(t={sqlwhere:e}),Mobile_NS[v](a,t,c)})}else if("refreshUrlList"==t||"refreshNList"==t||"refreshNTimeline"==t){var m={},b=s;s!=o&&(b+=","+o),m[h]=b,Mobile_NS[v](a,m,c)}"all"==r&&(s=n+"-"+l+"-01",D.setDate(0),o=n+"-"+l+"-"+D.getDate()),L.basic.expand||$("._m_cdar_upDownCalendar",e).bind("click",function(){$(this).hasClass("_m_cdar_upDownCalendarSwitch")||w.drawingDate(s,o)}),w.drawingDate(s,o)},this.getStartAndEndDate=function(e){var t=e.getFullYear(),a=L.action.dataInit,i=9<e.getMonth()+1?e.getMonth()+1:"0"+(e.getMonth()+1),r=e.getDate(),n="",l="";return"currentDay"==a?l=n=t+"-"+i+"-"+(9<r?r:"0"+r):"currentWeek"==a?(D.setDate(r-D.getDay()),i=9<D.getMonth()+1?D.getMonth()+1:"0"+(D.getMonth()+1),r=9<D.getDate()?D.getDate():"0"+D.getDate(),n=D.getFullYear()+"-"+i+"-"+r,D.setDate(D.getDate()+6),i=9<D.getMonth()+1?D.getMonth()+1:"0"+(D.getMonth()+1),r=9<D.getDate()?D.getDate():"0"+D.getDate(),l=D.getFullYear()+"-"+i+"-"+r):"currentMonth"==a&&(n=t+"-"+i+"-01",l=t+"-"+i+"-"+new Date(t,D.getMonth()+1,0).getDate()),[n,l]},this.monthChange=function(e,t){if(!e&&!t)return w.resetListHeight(!0);if(w.drawingDate(e,t),w.resetListHeight(!0),L.action.dataReload){var a=w.getListChooseId(),i=L.action.type,r=L.action.target.sourceType,n=(L.action.dataReload,""),l="",s="",o="";if(L.action.dataFilter&&(n=L.action.dataFilter.field,l=L.action.dataFilter.field2,s=L.action.dataFilter.fieldType,o=L.action.dataFilter.field2Type),"refreshList"==i||"refreshNList"==i&&("cube"==r||"sql"==r)||"refreshTimelinr"==i||"refreshNTimeline"==i&&("cube"==r||"sql"==r)){var d=[];e&&t&&(n&&!l?L.action.dataFilter.isEquals?(d.push({name:n,value:e,opt:"greaterThanEqualTo",fieldType:s}),d.push({name:n,value:t,opt:"lessThanEqualTo",fieldType:s})):d.push({name:n,value:e,opt:"greaterThanEqualTo",fieldType:s}):l&&!n?d.push({name:l,value:t,opt:"lessThanEqualTo",fieldType:o}):l&&n&&(d.push({name:n,value:e,opt:"greaterThanEqualTo",fieldType:s}),d.push({name:l,value:t,opt:"lessThanEqualTo",fieldType:o}))),d.length&&w.getSqlwhere(d,function(e){var t="sqlwhere="+e;Mobile_NS.refreshList(a,t)})}else{var c=e+","+t;if("refreshUrlList"==i||"refreshNList"==i||"refreshNTimeline"==i)Mobile_NS.refreshList(a,n+"="+c);else if("custom"==i&&L.script){var h='var $cal_date = "'+c+'";';k.eval(h+L.script,this.pageid)}}L.callback&&k.isFunction(L.callback.swipe)&&L.callback.swipe.call(this,startDate,endDate)}},this.dayChange=function(e,t){if(!e||!t||e==t){var a=w.getListChooseId(),i=L.action.type,r=L.action.target.sourceType,n=(L.action.dataReload,""),l="",s="",o="";L.action.dataFilter&&(n=L.action.dataFilter.field,l=L.action.dataFilter.field2,s=L.action.dataFilter.fieldType,o=L.action.dataFilter.field2Type);var d=L.reloadCallback||function(){};if("refreshList"==i||"refreshNList"==i&&("cube"==r||"sql"==r)||"refreshTimelinr"==i||"refreshNTimeline"==i&&("cube"==r||"sql"==r)){var c=[];e&&t&&(n&&!l?L.action.dataFilter.isEquals?(c.push({name:n,value:e,opt:"greaterThanEqualTo",fieldType:s}),c.push({name:n,value:t,opt:"lessThanEqualTo",fieldType:s})):c.push({name:n,value:e,opt:"lessThanEqualTo",fieldType:s}):l&&!n?c.push({name:l,value:t,opt:"greaterThanEqualTo",fieldType:o}):l&&n&&(c.push({name:n,value:e,opt:"lessThanEqualTo",fieldType:s}),c.push({name:l,value:t,opt:"greaterThanEqualTo",fieldType:o}))),c.length&&w.getSqlwhere(c,function(e){var t="sqlwhere="+e;Mobile_NS.refreshList(a,t,d)})}else if("refreshUrlList"==i||"refreshNList"==i||"refreshNTimeline"==i)Mobile_NS.refreshList(a,n+"="+e,d);else if("custom"==i&&L.script){var h='var $cal_date = "'+e+'";';k.eval(h+L.script,this.pageid),d()}else d();L.callback&&k.isFunction(L.callback.click)&&L.callback.click.call(this,e,t),L.reloadCallback=function(){}}},w.getSqlwhere=function(e,t){var a=k.jionActionUrl("com.api.mobilemode.web.mobile.service.MobileCommonAction","action=getCalendarCondition&columns="+encodeURIComponent(JSON.stringify(e)));k.getJSON(a,function(e){t&&t(e.data)})},this.addData=function(e){var t=L.parseWayChoose;if(L.standalone)L.callback&&k.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=k.getActionUrl("service.FormComponent",{action:"getLayoutUrl"}),n={modelid:a.modeid,appid:a.appid,uitype:0},l=(new Date).valueOf(),s=function(e){if(500<=(new Date).valueOf()-l)return Mobile_NS.hideLoader(),e.call();setTimeout(function(){Mobile_NS.hideLoader(),e.call()},500)};Mobile_NS.showLoader(),k.getJSON(r,n,function(e){s(function(){L.autoParseUrl=e.data,$u(L.autoParseUrl+i)})},function(e){s(function(){Mobile_NS.msg(e)})})}else if(2==t&&L.clickScript){var o='var $cal_date = "'+e+'";';k.eval(o+L.clickScript,this.pageid)}},w.drawingDate=function(e,t){var a;if(L.standalone?a=L.remark:!0===L.remark&&(a=k.getActionUrl(this.type,{action:"getDatas",mec_id:L.id},this.pageid)),a)return k.isArray(a)?w.buildDrawingDate(a):void k.getJSON(a,{startDate:e,endDate:t},function(e){w.buildDrawingDate(e.data)})},w.toogleMarkPoint=function(e,t){var a=$(".swiper-slide-visible",this.$el).find("td[data-id='"+k.dateToStr(new Date(e),"yyyy-MM-dd")+"']"),i=a.find("._m_cdar_mark_wrap");i.size()||(i=$("<div class='_m_cdar_mark_wrap'></div>"),a.append(i));var r=$("<span class='_m_cdar_mark'></span>").css("background-color",t).data("color",t),n=i.find('._m_cdar_mark[data-color="'+t+'"]'),l=i.find("._m_cdar_mark");n.remove(),t||l.remove(),i.append(r)},w.clearMarkPoint=function(e){$.isArray(e)&&e.forEach(function(e){var t=e;if(k.isObject(e)){var a=Object.values(e);t=e.date||a[0]}var i=$(".swiper-slide-visible",this.$el).find("td[data-id='"+t+"']").find("._m_cdar_mark_wrap");i.size()&&i.empty()})},w.buildDrawingDate=function(e){e=k.isString(e)?$.parseJSON(e):e,w.clearMarkPoint(e),$.isArray(e)&&e.forEach(function(e){var t=e,a="";if(k.isObject(e)){var i=Object.values(e);t=e.date||i[0],a=e.color||i[1]}w.toogleMarkPoint(t,a)})},w.resetListHeight=function(e){if(!e)return w.setListHeight();setTimeout(w.setListHeight.bind(w),100)},w.setListHeight=function(){var e=w.getListChooseId(),t=e&&l.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"})}},w.getListChooseId=function(){var e=L.action.target;return k.isObject(e)?e.id:e},w.toogleMarkPoint=w.toogleMarkPoint.bind(this),w.clearMarkPoint=w.clearMarkPoint.bind(this),w.drawingDate=w.drawingDate.bind(this),w.buildDrawingDate=w.buildDrawingDate.bind(this),w.resetListHeight=w.resetListHeight.bind(this),w.setListHeight=w.setListHeight.bind(this)})});