FDateTime_wev8.js
3.89 KB
define("FDateTime_html",function(){return'<div id="NMEC_${id}" class="wev-comp-${compType}" data-form="${form}">\t<div class="wev-field{@if required} wev-field-required{@/if}{@if needWrap} wev-vertical{@/if}">\t\t<div>${field.label}</div>\t\t<div {@if showCleanBtn}class="wev-has-value"{@/if}>\t\t\t<input type="hidden" name="fieldname_${field.name}" fieldid="${field.id}" value="${field.value}"/>\t\t\t<span class="wev-field-view-span">${field.mind}</span>\t\t\t<div class="wev-clear-btn"></div>\t\t</div>\t</div></div>'}),define(["mUtil","Component","Form"],function(n,i,a){return i.init(function(e){var t,d,s,f,u,l={};i.super(this,e),this.type="FDateTime",this.tpl=this.type+"_html",this.dataload=!0;var o=this.viewModel={form:"",field:{label:"",name:"",id:"",type:"date",value:"",defaultValue:""},yearOffest:{prev:100,next:1},detailtable:{isA:!1},placeholder:"请选择...",required:!1,readonly:!1,needWrap:!1};this.dbValueHasSet=!1,this.beforeMount=function(){var e=o.field.value,i=o.field.type;o.showCleanBtn=!o.readonly&&e,o.dtpicker="date"==i||"time"==i||"datetime"==i,a.utils.setDefaultValue(this.pageid,o)},this.mounted=function(){var i=this;if(t=this.$el.find(".wev-field"),d=this.$el.find("input[name='fieldname_"+o.field.name+"']"),s=this.$el.find(".wev-field-view-span"),f=this.$el.find(".wev-clear-btn"),u=f.parent(),o.readonly||l.init(),o.field.needParseSqlValue)return a.utils.parseDefaultSqlValue(o.field.defaultValue,this.pageid,function(e){o.field.value=e,i.setValue(e)});i.setValue(o.field.value)},l.init=function(){var a=this,l=o.field.type,n=(new Date).getFullYear(),r=require("pageEvent");require(["dtpicker"],function(){var e=null,t=function(){e&&e.dispose()};s.on("click",function(){var i=this;i.dtPicker||(i.dtPicker=new $.DtPicker({value:d.val(),type:l,beginYear:n-Number(o.yearOffest.prev),endYear:n+Number(o.yearOffest.next),close:function(){r.destory("change",t)}})),i.dtPicker.show(function(e){return a.setValue(e.value),i.dtPicker.dispose(),i.dtPicker=null,!1}),e=i.dtPicker,r.destory("change",t).register("change",t)})}),d.on("change",function(){u.toggleClass("wev-has-value",!!d.val())}),f.on("click",function(){a.setValue("")})},this.getData=function(){return n.parseJSON("fieldname_"+o.field.name,d.val())},this.getShowData=function(){var e=n.parseJSON(o.field.name+"_showvalue",d.val());return e[o.field.name]=d.val(),e},this.reset=function(){this.setValue(o.field.value),t.removeClass("wev-required-remind")},this.checkRequired=function(){var e=o.required&&!d.val(),i=o.field.label||n.getLabel(82281,"日期时间");return t.toggleClass("wev-required-remind",e),e&&i},this.setRequired=function(e){o.required=e,t.toggleClass("wev-field-required",e),!e&&t.removeClass("wev-required-remind")},this.setValueByDB=function(e){this.dbValueHasSet=!0,!e&&o.field.value||(!o.detailtable.isA&&"datetime"==o.field.type&&(e=l.getDateTimeByTimeZone(e)),o.field.value=e,this.setValue(e))},this.setValue=function(e){o.readonly?e&&s.html(e):s[e?"removeClass":"addClass"]("wev-field-view-tip").html(e||o.placeholder),d.val(e||"").triggerHandler("change"),this.dbValueHasSet&&n.trigger("dataload",this.pageid,this.id)},this.bindTrigger=function(e,i){var t=this,a=o.field.id;if($p("billid"),a&&n.isObject(e)&&e["field"+a]){var l=e["field"+a];d.bind("change",function(){Mobile_NS.readyToTrigger(l,d,t.$container)}),o.field.value&&(-1==o.form.indexOf("detailtable")&&!$p("billid")||i)&&Mobile_NS.readyToTrigger(l,d,t.$container)}},l.getDateTimeByTimeZone=function(e,i,t){if(e){if(!(i=i||window.__meta__.serverTimeZone))return e;var a=new Date(Date.parse(e.replace(/-/g,"/"))).getTime();return i==(t=t||(new Date).getTimezoneOffset())?e:l.formatDate(new Date(a+60*i*1e3-60*t*1e3))}},l.formatDate=function(e){var i=e.getFullYear(),t=e.getMonth()+1;t=t<10?"0"+t:t;var a=e.getDate();a=a<10?"0"+a:a;var l=e.getHours();l=l<10?"0"+l:l;var n=e.getMinutes();n=n<10?"0"+n:n;var r=e.getSeconds();return i+"-"+t+"-"+a+" "+l+":"+n+":"+(r=r<10?"0"+r:r)},l.init=l.init.bind(this)})});