mx-datepicker.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. (global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/mx-datepicker/mx-datepicker"],{1805:
  2. /*!********************************************************!*\
  3. !*** ./src/components/mx-datepicker/mx-datepicker.vue ***!
  4. \********************************************************/
  5. /*! no static exports found */function(e,t,i){"use strict";i.r(t);var n=i(/*! ./mx-datepicker.vue?vue&type=template&id=16c42f82&scoped=true& */1806),s=i(/*! ./mx-datepicker.vue?vue&type=script&lang=js& */1808);for(var a in s)["default"].indexOf(a)<0&&function(e){i.d(t,e,(function(){return s[e]}))}(a);i(/*! ./mx-datepicker.vue?vue&type=style&index=0&id=16c42f82&lang=scss&scoped=true& */1810);var r,o=i(/*! ../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */56),c=Object(o["default"])(s["default"],n["render"],n["staticRenderFns"],!1,null,"16c42f82",null,!1,n["components"],r);c.options.__file="components/mx-datepicker/mx-datepicker.vue",t["default"]=c.exports},1806:
  6. /*!***************************************************************************************************!*\
  7. !*** ./src/components/mx-datepicker/mx-datepicker.vue?vue&type=template&id=16c42f82&scoped=true& ***!
  8. \***************************************************************************************************/
  9. /*! exports provided: render, staticRenderFns, recyclableRender, components */function(e,t,i){"use strict";i.r(t);var n=i(/*! -!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--15-0!../../../node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/style.js!./mx-datepicker.vue?vue&type=template&id=16c42f82&scoped=true& */1807);i.d(t,"render",(function(){return n["render"]})),i.d(t,"staticRenderFns",(function(){return n["staticRenderFns"]})),i.d(t,"recyclableRender",(function(){return n["recyclableRender"]})),i.d(t,"components",(function(){return n["components"]}))},1807:
  10. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  11. !*** ./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--15-0!./node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/style.js!./src/components/mx-datepicker/mx-datepicker.vue?vue&type=template&id=16c42f82&scoped=true& ***!
  12. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  13. /*! exports provided: render, staticRenderFns, recyclableRender, components */function(e,t,i){"use strict";var n;i.r(t),i.d(t,"render",(function(){return s})),i.d(t,"staticRenderFns",(function(){return r})),i.d(t,"recyclableRender",(function(){return a})),i.d(t,"components",(function(){return n}));var s=function(){var e=this,t=e.$createElement;e._self._c},a=!1,r=[];s._withStripped=!0},1808:
  14. /*!*********************************************************************************!*\
  15. !*** ./src/components/mx-datepicker/mx-datepicker.vue?vue&type=script&lang=js& ***!
  16. \*********************************************************************************/
  17. /*! no static exports found */function(e,t,i){"use strict";i.r(t);var n=i(/*! -!../../../node_modules/_babel-loader@8.2.3@babel-loader/lib!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/style.js!./mx-datepicker.vue?vue&type=script&lang=js& */1809),s=i.n(n);for(var a in n)["default"].indexOf(a)<0&&function(e){i.d(t,e,(function(){return n[e]}))}(a);t["default"]=s.a},1809:
  18. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  19. !*** ./node_modules/_babel-loader@8.2.3@babel-loader/lib!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/style.js!./src/components/mx-datepicker/mx-datepicker.vue?vue&type=script&lang=js& ***!
  20. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  21. /*! no static exports found */function(e,t,i){"use strict";(function(e){function i(e){return r(e)||a(e)||s(e)||n()}function n(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e,t){if(e){if("string"===typeof e)return o(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?o(e,t):void 0}}function a(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function r(e){if(Array.isArray(e))return o(e)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i<t;i++)n[i]=e[i];return n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var c={getHoliday:function(e){var t={"0101":"元旦","0214":"情人","0308":"妇女","0312":"植树","0401":"愚人","0501":"劳动","0504":"青年","0601":"儿童","0701":"建党","0801":"建军","0903":"抗日","0910":"教师",1001:"国庆",1031:"万圣",1224:"平安",1225:"圣诞"},i=this.format(e,"mmdd");return!!t[i]&&t[i]},parse:function(e){return new Date(e.replace(/(年|月|-)/g,"/").replace(/(日)/g,""))},isSameDay:function(e,t){return e.getMonth()==t.getMonth()&&e.getFullYear()==t.getFullYear()&&e.getDate()==t.getDate()},format:function(e,t){var i={"m+":e.getMonth()+1,"d+":e.getDate(),"h+":e.getHours(),"i+":e.getMinutes(),"s+":e.getSeconds(),"q+":Math.floor((e.getMonth()+3)/3)};for(var n in/(y+)/.test(t)&&(t=t.replace(RegExp.$1,(e.getFullYear()+"").substr(4-RegExp.$1.length))),i)new RegExp("("+n+")").test(t)&&(t=t.replace(RegExp.$1,1==RegExp.$1.length?i[n]:("00"+i[n]).substr((""+i[n]).length)));return t},inverse:function(e,t){var i={y:"",m:"",d:"",h:"",i:"",s:""},n=new Date;if(e.length!=t.length)return n;for(var s in t)void 0!=i[t[s]]&&(i[t[s]]+=e[s]);return i.y&&n.setFullYear(i.y.length<4?(n.getFullYear()+"").substr(0,4-i.y.length)+i.y:i.y),i.m&&n.setMonth(i.m-1,1),i.d&&n.setDate(i.d-0),i.h&&n.setHours(i.h-0),i.i&&n.setMinutes(i.i-0),i.s&&n.setSeconds(i.s-0),n},getCalendar:function(e,t){var i=new Date(e),n=[];i.setDate(1),i.setDate(i.getDate()-((0==i.getDay()?7:i.getDay())-1));for(var s=0;s<42;s++){var a={dateObj:new Date(i),title:i.getDate(),isOtherMonth:i.getMonth()<e.getMonth()||i.getMonth()>e.getMonth()};n.push(Object.assign(a,t?t(a):{})),i.setDate(i.getDate()+1)}return n},getDateToMonth:function(e,t){var i=new Date(e);return i.setMonth(t,1),i},formatTimeArray:function(e,t){var n=i(e);return t||(n.length=2),n.forEach((function(e,t){return n[t]=("0"+e).slice(-2)})),n.join(":")}},h={props:{color:{type:String,default:"#409eff"},showSeconds:{type:Boolean,default:!1},value:[String,Array],type:{type:String,default:"range"},show:{type:Boolean,default:!1},format:{type:String,default:""},showHoliday:{type:Boolean,default:!0},showTips:{type:Boolean,default:!1},beginText:{type:String,default:"开始"},endText:{type:String,default:"结束"}},data:function(){return{isShow:!1,isMultiSelect:!1,isContainTime:!1,date:{},weeks:["一","二","三","四","五","六","日"],title:"初始化",calendars:[[],[],[]],calendarIndex:1,checkeds:[],showTimePicker:!1,timeValue:[0,0,0],timeType:"begin",beginTime:[0,0,0],endTime:[0,0,0]}},methods:{setValue:function(e){var t=this;this.date=new Date,this.checkeds=[],this.isMultiSelect=this.type.indexOf("range")>=0,this.isContainTime=this.type.indexOf("time")>=0;var n=function(e){return t.format?c.inverse(e,t.format):c.parse(e)};if(e){if(this.isMultiSelect)Array.isArray(e)&&e.forEach((function(e,i){var s=n(e),a=[s.getHours(),s.getMinutes(),s.getSeconds()];0==i?t.beginTime=a:t.endTime=a,t.checkeds.push(s)}));else if("time"==this.type){var s=n("2019/1/1 "+e);this.beginTime=[s.getHours(),s.getMinutes(),s.getSeconds()],this.onShowTimePicker("begin")}else this.checkeds.push(n(e)),this.isContainTime&&(this.beginTime=[this.checkeds[0].getHours(),this.checkeds[0].getMinutes(),this.checkeds[0].getSeconds()]);this.checkeds.length&&(this.date=new Date(this.checkeds[0]))}else this.isContainTime&&(this.beginTime=[this.date.getHours(),this.date.getMinutes(),this.date.getSeconds()],this.isMultiSelect&&(this.endTime=i(this.beginTime))),this.checkeds.push(new Date(this.date));"time"!=this.type?this.refreshCalendars(!0):this.onShowTimePicker("begin")},onSetYear:function(e){this.date.setFullYear(this.date.getFullYear()+parseInt(e)),this.refreshCalendars(!0)},onSetMonth:function(e){this.date.setMonth(this.date.getMonth()+parseInt(e)),this.refreshCalendars(!0)},onTimeChange:function(e){this.timeValue=e.detail.value},onShowTimePicker:function(e){this.showTimePicker=!0,this.timeType=e,this.timeValue=i("begin"==e?this.beginTime:this.endTime)},procCalendar:function(e){var t=this;if(e.statusStyle={opacity:1,color:e.isOtherMonth?"#ddd":"#000",background:"transparent"},e.bgStyle={type:"",background:"transparent"},e.dotStyle={opacity:1,background:"transparent"},e.tips="",c.isSameDay(new Date,e.dateObj)&&(e.statusStyle.color=this.color,e.isOtherMonth&&(e.statusStyle.opacity=.3)),this.checkeds.forEach((function(i){c.isSameDay(i,e.dateObj)&&(e.statusStyle.background=t.color,e.statusStyle.color="#fff",e.statusStyle.opacity=1,t.isMultiSelect&&t.showTips&&(e.tips=t.beginText))})),e.statusStyle.background!=this.color){var i=!!this.showHoliday&&c.getHoliday(e.dateObj);(i||c.isSameDay(new Date,e.dateObj))&&(e.title=i||e.title,e.dotStyle.background=this.color,e.isOtherMonth&&(e.dotStyle.opacity=.2))}else e.title=e.dateObj.getDate();2==this.checkeds.length&&(c.isSameDay(this.checkeds[0],e.dateObj)&&(e.bgStyle.type="bgbegin"),c.isSameDay(this.checkeds[1],e.dateObj)&&(this.isMultiSelect&&this.showTips&&(e.tips=e.bgStyle.type?this.beginText+" / "+this.endText:this.endText),e.bgStyle.type?e.bgStyle.type="":e.bgStyle.type="bgend"),!e.bgStyle.type&&+e.dateObj>+this.checkeds[0]&&+e.dateObj<+this.checkeds[1]&&(e.bgStyle.type="bg",e.statusStyle.color=this.color),e.bgStyle.type&&(e.bgStyle.background=this.color,e.dotStyle.opacity=1,e.statusStyle.opacity=1))},refreshCalendars:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=new Date(this.date),i=c.getDateToMonth(t,t.getMonth()-1),n=c.getDateToMonth(t,t.getMonth()+1);0==this.calendarIndex?(e&&this.calendars.splice(0,1,c.getCalendar(t,this.procCalendar)),this.calendars.splice(1,1,c.getCalendar(n,this.procCalendar)),this.calendars.splice(2,1,c.getCalendar(i,this.procCalendar))):1==this.calendarIndex?(this.calendars.splice(0,1,c.getCalendar(i,this.procCalendar)),e&&this.calendars.splice(1,1,c.getCalendar(t,this.procCalendar)),this.calendars.splice(2,1,c.getCalendar(n,this.procCalendar))):2==this.calendarIndex&&(this.calendars.splice(0,1,c.getCalendar(n,this.procCalendar)),this.calendars.splice(1,1,c.getCalendar(i,this.procCalendar)),e&&this.calendars.splice(2,1,c.getCalendar(t,this.procCalendar))),this.title=c.format(this.date,"yyyy年mm月")},onSwiperChange:function(e){this.calendarIndex=e.detail.current;var t=this.calendars[this.calendarIndex];this.date=new Date(t[22].dateObj),this.refreshCalendars()},onSelectDate:function(e){var t=this;(~this.type.indexOf("range")&&2==this.checkeds.length||!~this.type.indexOf("range")&&this.checkeds.length)&&(this.checkeds=[]),this.checkeds.push(new Date(e.dateObj)),this.checkeds.sort((function(e,t){return e-t})),this.calendars.forEach((function(e){e.forEach(t.procCalendar)}))},onCancelTime:function(){this.showTimePicker=!1,"time"==this.type&&this.onCancel()},onConfirmTime:function(){"begin"==this.timeType?this.beginTime=this.timeValue:this.endTime=this.timeValue,this.showTimePicker=!1,"time"==this.type&&this.onConfirm()},onCancel:function(){this.$emit("cancel",!1)},onConfirm:function(){var t=this,i={value:null,date:null},n={date:"yyyy/mm/dd",time:"hh:ii"+(this.showSeconds?":ss":""),datetime:""};n["datetime"]=n.date+" "+n.time;var s=function(e,i){e.setHours(i[0],i[1]),t.showSeconds&&e.setSeconds(i[2])};if("time"==this.type){var a=new Date;s(a,this.beginTime),i.value=c.format(a,this.format?this.format:n.time),i.date=a}else if(this.isMultiSelect){var r=[],o=[];if(this.checkeds.length<2)return e.showToast({icon:"none",title:"请选择两个日期"});this.checkeds.forEach((function(e,i){var a=new Date(e);if(t.isContainTime){var h=[t.beginTime,t.endTime];s(a,h[i])}r.push(c.format(a,t.format?t.format:n[t.isContainTime?"datetime":"date"])),o.push(a)})),i.value=r,i.date=o}else{var h=new Date(this.checkeds[0]);this.isContainTime&&(h.setHours(this.beginTime[0],this.beginTime[1]),this.showSeconds&&h.setSeconds(this.beginTime[2])),i.value=c.format(h,this.format?this.format:n[this.isContainTime?"datetime":"date"]),i.date=h}this.$emit("confirm",i)}},computed:{BeginTitle:function(){var e="未选择";return this.checkeds.length&&(e=c.format(this.checkeds[0],"yy/mm/dd")),e},EndTitle:function(){var e="未选择";return 2==this.checkeds.length&&(e=c.format(this.checkeds[1],"yy/mm/dd")),e},PickerTimeTitle:function(){return c.formatTimeArray(this.timeValue,this.showSeconds)},BeginTimeTitle:function(){return"未选择"!=this.BeginTitle?c.formatTimeArray(this.beginTime,this.showSeconds):""},EndTimeTitle:function(){return"未选择"!=this.EndTitle?c.formatTimeArray(this.endTime,this.showSeconds):""}},watch:{show:function(e,t){e&&this.setValue(this.value),this.isShow=e},value:function(e,t){var i=this;setTimeout((function(){i.setValue(e)}),0)}}};t.default=h}).call(this,i(/*! ./node_modules/_@dcloudio_uni-mp-weixin@2.0.0@@dcloudio/uni-mp-weixin/dist/index.js */1)["default"])},1810:
  22. /*!******************************************************************************************************************!*\
  23. !*** ./src/components/mx-datepicker/mx-datepicker.vue?vue&type=style&index=0&id=16c42f82&lang=scss&scoped=true& ***!
  24. \******************************************************************************************************************/
  25. /*! no static exports found */function(e,t,i){"use strict";i.r(t);var n=i(/*! -!../../../node_modules/_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--9-oneOf-1-2!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src??ref--9-oneOf-1-3!../../../node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--9-oneOf-1-5!../../../node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/style.js!./mx-datepicker.vue?vue&type=style&index=0&id=16c42f82&lang=scss&scoped=true& */1811),s=i.n(n);for(var a in n)["default"].indexOf(a)<0&&function(e){i.d(t,e,(function(){return n[e]}))}(a);t["default"]=s.a},1811:
  26. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27. !*** ./node_modules/_mini-css-extract-plugin@0.9.0@mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!./node_modules/_css-loader@3.6.0@css-loader/dist/cjs.js??ref--9-oneOf-1-1!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--9-oneOf-1-2!./node_modules/_postcss-loader@3.0.0@postcss-loader/src??ref--9-oneOf-1-3!./node_modules/_sass-loader@8.0.2@sass-loader/dist/cjs.js??ref--9-oneOf-1-4!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--9-oneOf-1-5!./node_modules/_@dcloudio_vue-cli-plugin-uni@2.0.0@@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/_@dcloudio_webpack-uni-mp-loader@2.0.0@@dcloudio/webpack-uni-mp-loader/lib/style.js!./src/components/mx-datepicker/mx-datepicker.vue?vue&type=style&index=0&id=16c42f82&lang=scss&scoped=true& ***!
  28. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29. /*! no static exports found */function(e,t,i){}}]);
  30. //# sourceMappingURL=../../../.sourcemap/mp-weixin/components/mx-datepicker/mx-datepicker.js.map
  31. ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
  32. 'components/mx-datepicker/mx-datepicker-create-component',
  33. {
  34. 'components/mx-datepicker/mx-datepicker-create-component':(function(module, exports, __webpack_require__){
  35. __webpack_require__('1')['createComponent'](__webpack_require__(1805))
  36. })
  37. },
  38. [['components/mx-datepicker/mx-datepicker-create-component']]
  39. ]);