mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2026-01-06 04:58:10 +00:00
2 lines
27 KiB
JavaScript
2 lines
27 KiB
JavaScript
import{B as e,C as t,i as a,j as b,w as f,G as s,H as n,m as c,k as r,I as o,x as d,A as l,P as i,R as h,Q as u,D as m,p,b0 as y,q as g,t as _,F as D,a7 as x}from"./index-faf5e276.js";import{_ as w}from"./u-button.9384f0e3.js";import{_ as M}from"./u-popup.a69d5115.js";import{_ as S}from"./_plugin-vue_export-helper.1b428a4d.js";import{d as Y}from"./index.66e957cd.js";const T=S({name:"u-calendar-header",mixins:[e,t],props:{title:{type:String,default:""},subtitle:{type:String,default:""},showTitle:{type:Boolean,default:!0},showSubtitle:{type:Boolean,default:!0}},data:()=>({}),methods:{name(){}}},[["render",function(e,t,l,i,h,u){const m=o,p=d;return a(),b(p,{class:"u-calendar-header u-border-bottom"},{default:f((()=>[l.showTitle?(a(),b(m,{key:0,class:"u-calendar-header__title"},{default:f((()=>[s(n(l.title),1)])),_:1})):c("v-if",!0),l.showSubtitle?(a(),b(m,{key:1,class:"u-calendar-header__subtitle"},{default:f((()=>[s(n(l.subtitle),1)])),_:1})):c("v-if",!0),r(p,{class:"u-calendar-header__weekdays"},{default:f((()=>[r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("一")])),_:1}),r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("二")])),_:1}),r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("三")])),_:1}),r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("四")])),_:1}),r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("五")])),_:1}),r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("六")])),_:1}),r(m,{class:"u-calendar-header__weekdays__weekday"},{default:f((()=>[s("日")])),_:1})])),_:1})])),_:1})}],["__scopeId","data-v-886c77c3"]]);const k=S({name:"u-calendar-month",mixins:[e,t],props:{showMark:{type:Boolean,default:!0},color:{type:String,default:"#3c9cff"},months:{type:Array,default:()=>[]},mode:{type:String,default:"single"},rowHeight:{type:[String,Number],default:58},maxCount:{type:[String,Number],default:1/0},startText:{type:String,default:"开始"},endText:{type:String,default:"结束"},defaultDate:{type:[Array,String,Date],default:null},minDate:{type:[String,Number],default:0},maxDate:{type:[String,Number],default:0},maxMonth:{type:[String,Number],default:2},readonly:{type:Boolean,default:l.calendar.readonly},maxRange:{type:[Number,String],default:1/0},rangePrompt:{type:String,default:""},showRangePrompt:{type:Boolean,default:!0},allowSameDay:{type:Boolean,default:!1}},data:()=>({width:0,item:{},selected:[]}),watch:{selectedChange:{immediate:!0,handler(e){this.setDefaultDate()}}},computed:{selectedChange(){return[this.minDate,this.maxDate,this.defaultDate]},dayStyle(e,t,a){return(e,t,a)=>{const b={};let f=a.week;const s=Number(parseFloat(this.width/7).toFixed(3).slice(0,-1));return b.height=uni.$u.addUnit(this.rowHeight),0===t&&(f=(0===f?7:f)-1,b.marginLeft=uni.$u.addUnit(f*s)),"range"===this.mode&&(b.paddingLeft=0,b.paddingRight=0,b.paddingBottom=0,b.paddingTop=0),b}},daySelectStyle(){return(e,t,a)=>{let b=Y(a.date).format("YYYY-MM-DD"),f={};if(this.selected.some((e=>this.dateSame(e,b)))&&(f.backgroundColor=this.color),"single"===this.mode)b===this.selected[0]&&(f.borderTopLeftRadius="3px",f.borderBottomLeftRadius="3px",f.borderTopRightRadius="3px",f.borderBottomRightRadius="3px");else if("range"===this.mode)if(this.selected.length>=2){const e=this.selected.length-1;this.dateSame(b,this.selected[0])&&(f.borderTopLeftRadius="3px",f.borderBottomLeftRadius="3px"),this.dateSame(b,this.selected[e])&&(f.borderTopRightRadius="3px",f.borderBottomRightRadius="3px"),Y(b).isAfter(Y(this.selected[0]))&&Y(b).isBefore(Y(this.selected[e]))&&(f.backgroundColor=uni.$u.colorGradient(this.color,"#ffffff",100)[90],f.opacity=.7)}else 1===this.selected.length&&(f.borderTopLeftRadius="3px",f.borderBottomLeftRadius="3px");else this.selected.some((e=>this.dateSame(e,b)))&&(f.borderTopLeftRadius="3px",f.borderBottomLeftRadius="3px",f.borderTopRightRadius="3px",f.borderBottomRightRadius="3px");return f}},textStyle(){return e=>{const t=Y(e.date).format("YYYY-MM-DD"),a={};if(this.selected.some((e=>this.dateSame(e,t)))&&(a.color="#ffffff"),"range"===this.mode){const e=this.selected.length-1;Y(t).isAfter(Y(this.selected[0]))&&Y(t).isBefore(Y(this.selected[e]))&&(a.color=this.color)}return a}},getBottomInfo(){return(e,t,a)=>{const b=Y(a.date).format("YYYY-MM-DD"),f=a.bottomInfo;if("range"===this.mode&&this.selected.length>0){if(1===this.selected.length)return this.dateSame(b,this.selected[0])?this.startText:f;{const e=this.selected.length-1;return this.dateSame(b,this.selected[0])&&this.dateSame(b,this.selected[1])&&1===e?`${this.startText}/${this.endText}`:this.dateSame(b,this.selected[0])?this.startText:this.dateSame(b,this.selected[e])?this.endText:f}}return f}}},mounted(){this.init()},methods:{init(){this.$emit("monthSelected",this.selected),this.$nextTick((()=>{uni.$u.sleep(10).then((()=>{this.getWrapperWidth(),this.getMonthRect()}))}))},dateSame:(e,t)=>Y(e).isSame(Y(t)),getWrapperWidth(){this.$uGetRect(".u-calendar-month-wrapper").then((e=>{this.width=e.width}))},getMonthRect(){const e=this.months.map(((e,t)=>this.getMonthRectByPromise(`u-calendar-month-${t}`)));Promise.all(e).then((e=>{let t=1;const a=[];for(let b=0;b<this.months.length;b++)a[b]=t,t+=e[b].height;this.$emit("updateMonthTop",a)}))},getMonthRectByPromise(e){return new Promise((t=>{this.$uGetRect(`.${e}`).then((e=>{t(e)}))}))},clickHandler(e,t,a){if(this.readonly)return;this.item=a;const b=Y(a.date).format("YYYY-MM-DD");if(a.disabled)return;let f=uni.$u.deepClone(this.selected);if("single"===this.mode)f=[b];else if("multiple"===this.mode)if(f.some((e=>this.dateSame(e,b)))){const e=f.findIndex((e=>e===b));f.splice(e,1)}else f.length<this.maxCount&&f.push(b);else if(0===f.length||f.length>=2)f=[b];else if(1===f.length){const e=f[0];if(Y(b).isBefore(e))f=[b];else if(Y(b).isAfter(e)){if(Y(Y(b).subtract(this.maxRange,"day")).isAfter(Y(f[0]))&&this.showRangePrompt)return void(this.rangePrompt?uni.$u.toast(this.rangePrompt):uni.$u.toast(`选择天数不能超过 ${this.maxRange} 天`));f.push(b);const e=f[0],t=f[1],a=[];let s=0;do{a.push(Y(e).add(s,"day").format("YYYY-MM-DD")),s++}while(Y(e).add(s,"day").isBefore(Y(t)));a.push(t),f=a}else{if(f[0]===b&&!this.allowSameDay)return;f.push(b)}}this.setSelected(f)},setDefaultDate(){if(!this.defaultDate){const e=[Y().format("YYYY-MM-DD")];return this.setSelected(e,!1)}let e=[];const t=this.minDate||Y().format("YYYY-MM-DD"),a=this.maxDate||Y(t).add(this.maxMonth-1,"month").format("YYYY-MM-DD");if("single"===this.mode)e=uni.$u.test.array(this.defaultDate)?[this.defaultDate[0]]:[Y(this.defaultDate).format("YYYY-MM-DD")];else{if(!uni.$u.test.array(this.defaultDate))return;e=this.defaultDate}e=e.filter((e=>Y(e).isAfter(Y(t).subtract(1,"day"))&&Y(e).isBefore(Y(a).add(1,"day")))),this.setSelected(e,!1)},setSelected(e,t=!0){this.selected=e,t&&this.$emit("monthSelected",this.selected)}}},[["render",function(e,t,l,y,g,_){const D=o,x=d;return a(),b(x,{class:"u-calendar-month-wrapper",ref:"u-calendar-month-wrapper"},{default:f((()=>[(a(!0),i(h,null,u(l.months,((e,t)=>(a(),b(x,{key:t,class:m([`u-calendar-month-${t}`]),ref_for:!0,ref:`u-calendar-month-${t}`,id:`month-${t}`},{default:f((()=>[0!==t?(a(),b(D,{key:0,class:"u-calendar-month__title"},{default:f((()=>[s(n(e.year)+"年"+n(e.month)+"月",1)])),_:2},1024)):c("v-if",!0),r(x,{class:"u-calendar-month__days"},{default:f((()=>[l.showMark?(a(),b(x,{key:0,class:"u-calendar-month__days__month-mark-wrapper"},{default:f((()=>[r(D,{class:"u-calendar-month__days__month-mark-wrapper__text"},{default:f((()=>[s(n(e.month),1)])),_:2},1024)])),_:2},1024)):c("v-if",!0),(a(!0),i(h,null,u(e.date,((e,o)=>(a(),b(x,{class:m(["u-calendar-month__days__day",[e.selected&&"u-calendar-month__days__day__select--selected"]]),key:o,style:p([_.dayStyle(t,o,e)]),onClick:a=>_.clickHandler(t,o,e)},{default:f((()=>[r(x,{class:"u-calendar-month__days__day__select",style:p([_.daySelectStyle(t,o,e)])},{default:f((()=>[r(D,{class:m(["u-calendar-month__days__day__select__info",[e.disabled&&"u-calendar-month__days__day__select__info--disabled"]]),style:p([_.textStyle(e)])},{default:f((()=>[s(n(e.day),1)])),_:2},1032,["class","style"]),_.getBottomInfo(t,o,e)?(a(),b(D,{key:0,class:m(["u-calendar-month__days__day__select__buttom-info",[e.disabled&&"u-calendar-month__days__day__select__buttom-info--disabled"]]),style:p([_.textStyle(e)])},{default:f((()=>[s(n(_.getBottomInfo(t,o,e)),1)])),_:2},1032,["class","style"])):c("v-if",!0),e.dot?(a(),b(D,{key:1,class:"u-calendar-month__days__day__select__dot"})):c("v-if",!0)])),_:2},1032,["style"])])),_:2},1032,["style","onClick","class"])))),128))])),_:2},1024)])),_:2},1032,["class","id"])))),128))])),_:1},512)}],["__scopeId","data-v-321a0181"]]),C={props:{title:{type:String,default:l.calendar.title},showTitle:{type:Boolean,default:l.calendar.showTitle},showSubtitle:{type:Boolean,default:l.calendar.showSubtitle},mode:{type:String,default:l.calendar.mode},startText:{type:String,default:l.calendar.startText},endText:{type:String,default:l.calendar.endText},customList:{type:Array,default:l.calendar.customList},color:{type:String,default:l.calendar.color},minDate:{type:[String,Number],default:l.calendar.minDate},maxDate:{type:[String,Number],default:l.calendar.maxDate},defaultDate:{type:[Array,String,Date,null],default:l.calendar.defaultDate},maxCount:{type:[String,Number],default:l.calendar.maxCount},rowHeight:{type:[String,Number],default:l.calendar.rowHeight},formatter:{type:[Function,null],default:l.calendar.formatter},showLunar:{type:Boolean,default:l.calendar.showLunar},showMark:{type:Boolean,default:l.calendar.showMark},confirmText:{type:String,default:l.calendar.confirmText},confirmDisabledText:{type:String,default:l.calendar.confirmDisabledText},show:{type:Boolean,default:l.calendar.show},closeOnClickOverlay:{type:Boolean,default:l.calendar.closeOnClickOverlay},readonly:{type:Boolean,default:l.calendar.readonly},showConfirm:{type:Boolean,default:l.calendar.showConfirm},maxRange:{type:[Number,String],default:l.calendar.maxRange},rangePrompt:{type:String,default:l.calendar.rangePrompt},showRangePrompt:{type:Boolean,default:l.calendar.showRangePrompt},allowSameDay:{type:Boolean,default:l.calendar.allowSameDay},round:{type:[Boolean,String,Number],default:l.calendar.round},monthNum:{type:[Number,String],default:3}}};var R={lunarInfo:[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,23232,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,41696,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,41680,53584,62034,54560],solarMonth:[31,28,31,30,31,30,31,31,30,31,30,31],Gan:["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],Zhi:["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],Animals:["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"],solarTerm:["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"],sTermInfo:["9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","9778397bd19801ec9210c965cc920e","97b6b97bd19801ec95f8c965cc920f","97bd09801d98082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd197c36c9210c9274c91aa","97b6b97bd19801ec95f8c965cc920e","97bd09801d98082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec95f8c965cc920e","97bcf97c3598082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd07f595b0b6fc920fb0722","9778397bd097c36b0b6fc9210c8dc2","9778397bd19801ec9210c9274c920e","97b6b97bd19801ec95f8c965cc920f","97bd07f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c920e","97b6b97bd19801ec95f8c965cc920f","97bd07f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec9210c965cc920e","97bd07f1487f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c9274c920e","97bcf7f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c91aa","97b6b97bd197c36c9210c9274c920e","97bcf7f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c920e","97b6b7f0e47f531b0723b0b6fb0722","7f0e37f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36b0b70c9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e37f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc9210c8dc2","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0787b0721","7f0e27f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c91aa","97b6b7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c8dc2","977837f0e37f149b0723b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f5307f595b0b0bc920fb0722","7f0e397bd097c35b0b6fc9210c8dc2","977837f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0721","7f0e37f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc9210c8dc2","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0723b06bd","7f07e7f0e37f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f1487f595b0b0bb0b6fb0722","7f0e37f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e37f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0723b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0723b06bd","7f07e7f0e37f14998083b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14898082b0723b02d5","7f07e7f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e36665b66aa89801e9808297c35","665f67f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e36665b66a449801e9808297c35","665f67f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e36665b66a449801e9808297c35","665f67f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e26665b66a449801e9808297c35","665f67f0e37f1489801eb072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722"],nStr1:["日","一","二","三","四","五","六","七","八","九","十"],nStr2:["初","十","廿","卅"],nStr3:["正","二","三","四","五","六","七","八","九","十","冬","腊"],lYearDays:function(e){var t,a=348;for(t=32768;t>8;t>>=1)a+=this.lunarInfo[e-1900]&t?1:0;return a+this.leapDays(e)},leapMonth:function(e){return 15&this.lunarInfo[e-1900]},leapDays:function(e){return this.leapMonth(e)?65536&this.lunarInfo[e-1900]?30:29:0},monthDays:function(e,t){return t>12||t<1?-1:this.lunarInfo[e-1900]&65536>>t?30:29},solarDays:function(e,t){if(t>12||t<1)return-1;var a=t-1;return 1==a?e%4==0&&e%100!=0||e%400==0?29:28:this.solarMonth[a]},toGanZhiYear:function(e){var t=(e-3)%10,a=(e-3)%12;return 0==t&&(t=10),0==a&&(a=12),this.Gan[t-1]+this.Zhi[a-1]},toAstro:function(e,t){return"魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯".substr(2*e-(t<[20,19,21,21,21,22,23,23,23,23,22,22][e-1]?2:0),2)+"座"},toGanZhi:function(e){return this.Gan[e%10]+this.Zhi[e%12]},getTerm:function(e,t){if(e<1900||e>2100)return-1;if(t<1||t>24)return-1;var a=this.sTermInfo[e-1900],b=[parseInt("0x"+a.substr(0,5)).toString(),parseInt("0x"+a.substr(5,5)).toString(),parseInt("0x"+a.substr(10,5)).toString(),parseInt("0x"+a.substr(15,5)).toString(),parseInt("0x"+a.substr(20,5)).toString(),parseInt("0x"+a.substr(25,5)).toString()],f=[b[0].substr(0,1),b[0].substr(1,2),b[0].substr(3,1),b[0].substr(4,2),b[1].substr(0,1),b[1].substr(1,2),b[1].substr(3,1),b[1].substr(4,2),b[2].substr(0,1),b[2].substr(1,2),b[2].substr(3,1),b[2].substr(4,2),b[3].substr(0,1),b[3].substr(1,2),b[3].substr(3,1),b[3].substr(4,2),b[4].substr(0,1),b[4].substr(1,2),b[4].substr(3,1),b[4].substr(4,2),b[5].substr(0,1),b[5].substr(1,2),b[5].substr(3,1),b[5].substr(4,2)];return parseInt(f[t-1])},toChinaMonth:function(e){if(e>12||e<1)return-1;var t=this.nStr3[e-1];return t+="月"},toChinaDay:function(e){var t;switch(e){case 10:t="初十";break;case 20:t="二十";break;case 30:t="三十";break;default:t=this.nStr2[Math.floor(e/10)],t+=this.nStr1[e%10]}return t},getAnimal:function(e){return this.Animals[(e-4)%12]},solar2lunar:function(e,t,a){if(e<1900||e>2100)return-1;if(1900==e&&1==t&&a<31)return-1;if(e)b=new Date(e,parseInt(t)-1,a);else var b=new Date;var f,s=0,n=(e=b.getFullYear(),t=b.getMonth()+1,a=b.getDate(),(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate())-Date.UTC(1900,0,31))/864e5);for(f=1900;f<2101&&n>0;f++)n-=s=this.lYearDays(f);n<0&&(n+=s,f--);var c=new Date,r=!1;c.getFullYear()==e&&c.getMonth()+1==t&&c.getDate()==a&&(r=!0);var o=b.getDay(),d=this.nStr1[o];0==o&&(o=7);var l=f,i=this.leapMonth(f),h=!1;for(f=1;f<13&&n>0;f++)i>0&&f==i+1&&0==h?(--f,h=!0,s=this.leapDays(l)):s=this.monthDays(l,f),1==h&&f==i+1&&(h=!1),n-=s;0==n&&i>0&&f==i+1&&(h?h=!1:(h=!0,--f)),n<0&&(n+=s,--f);var u=f,m=n+1,p=t-1,y=this.toGanZhiYear(l),g=this.getTerm(e,2*t-1),_=this.getTerm(e,2*t),D=this.toGanZhi(12*(e-1900)+t+11);a>=g&&(D=this.toGanZhi(12*(e-1900)+t+12));var x=!1,w=null;g==a&&(x=!0,w=this.solarTerm[2*t-2]),_==a&&(x=!0,w=this.solarTerm[2*t-1]);var M=Date.UTC(e,p,1,0,0,0,0)/864e5+25567+10,S=this.toGanZhi(M+a-1),Y=this.toAstro(t,a);return{lYear:l,lMonth:u,lDay:m,Animal:this.getAnimal(l),IMonthCn:(h?"闰":"")+this.toChinaMonth(u),IDayCn:this.toChinaDay(m),cYear:e,cMonth:t,cDay:a,gzYear:y,gzMonth:D,gzDay:S,isToday:r,isLeap:h,nWeek:o,ncWeek:"星期"+d,isTerm:x,Term:w,astro:Y}},lunar2solar:function(e,t,a,b){b=!!b;var f=this.leapMonth(e);if(this.leapDays(e),b&&f!=t)return-1;if(2100==e&&12==t&&a>1||1900==e&&1==t&&a<31)return-1;var s=this.monthDays(e,t),n=s;if(b&&(n=this.leapDays(e,t)),e<1900||e>2100||a>n)return-1;for(var c=0,r=1900;r<e;r++)c+=this.lYearDays(r);var o=0,d=!1;for(r=1;r<t;r++)o=this.leapMonth(e),d||o<=r&&o>0&&(c+=this.leapDays(e),d=!0),c+=this.monthDays(e,r);b&&(c+=s);var l=Date.UTC(1900,1,30,0,0,0),i=new Date(864e5*(c+a-31)+l),h=i.getUTCFullYear(),u=i.getUTCMonth()+1,m=i.getUTCDate();return this.solar2lunar(h,u,m)}};const I=S({name:"u-calendar",mixins:[e,t,C],components:{uHeader:T,uMonth:k},data:()=>({months:[],monthIndex:0,listHeight:0,selected:[],scrollIntoView:"",scrollTop:0,innerFormatter:e=>e}),watch:{selectedChange:{immediate:!0,handler(e){this.setMonth()}},show:{immediate:!0,handler(e){this.setMonth()}}},computed:{innerMaxDate(){return uni.$u.test.number(this.maxDate)?Number(this.maxDate):this.maxDate},innerMinDate(){return uni.$u.test.number(this.minDate)?Number(this.minDate):this.minDate},selectedChange(){return[this.innerMinDate,this.innerMaxDate,this.defaultDate]},subtitle(){return this.months.length?`${this.months[this.monthIndex].year}年${this.months[this.monthIndex].month}月`:""},buttonDisabled(){return"range"===this.mode&&this.selected.length<=1}},mounted(){this.start=Date.now(),this.init()},methods:{setFormatter(e){this.innerFormatter=e},monthSelected(e){this.selected=e,this.showConfirm||("multiple"===this.mode||"single"===this.mode||"range"===this.mode&&this.selected.length>=2)&&this.$emit("confirm",this.selected)},init(){if(this.innerMaxDate&&new Date(this.innerMaxDate).getTime()<=Date.now())return uni.$u.error("maxDate不能小于当前时间");this.listHeight=5*this.rowHeight+30,this.setMonth()},close(){this.$emit("close")},confirm(){this.buttonDisabled||this.$emit("confirm",this.selected)},getMonths(e,t){const a=Y(e).year(),b=Y(e).month()+1;return 12*(Y(t).year()-a)+(Y(t).month()+1-b)+1},setMonth(){const e=this.innerMinDate||Y().valueOf(),t=this.innerMaxDate||Y(e).add(this.monthNum-1,"month").valueOf(),a=uni.$u.range(1,this.monthNum,this.getMonths(e,t));this.months=[];for(let b=0;b<a;b++)this.months.push({date:new Array(Y(e).add(b,"month").daysInMonth()).fill(1).map(((a,f)=>{let s=f+1;const n=Y(e).add(b,"month").date(s).day(),c=Y(e).add(b,"month").date(s).format("YYYY-MM-DD");let r="";if(this.showLunar){r=R.solar2lunar(Y(c).year(),Y(c).month()+1,Y(c).date()).IDayCn}let o={day:s,week:n,disabled:Y(c).isBefore(Y(e).format("YYYY-MM-DD"))||Y(c).isAfter(Y(t).format("YYYY-MM-DD")),date:new Date(c),bottomInfo:r,dot:!1,month:Y(e).add(b,"month").month()+1};return(this.formatter||this.innerFormatter)(o)})),month:Y(e).add(b,"month").month()+1,year:Y(e).add(b,"month").year()})},scrollIntoDefaultMonth(e){const t=this.months.findIndex((({year:t,month:a})=>`${t}-${a=uni.$u.padZero(a)}`===e));-1!==t&&this.$nextTick((()=>{this.scrollIntoView=`month-${t}`}))},onScroll(e){const t=Math.max(0,e.detail.scrollTop);for(let a=0;a<this.months.length;a++)t>=(this.months[a].top||this.listHeight)&&(this.monthIndex=a)},updateMonthTop(e=[]){if(e.map(((e,t)=>{this.months[t].top=e})),!this.defaultDate){const e=Y().format("YYYY-MM");return void this.scrollIntoDefaultMonth(e)}let t=Y().format("YYYY-MM");t=uni.$u.test.array(this.defaultDate)?Y(this.defaultDate[0]).format("YYYY-MM"):Y(this.defaultDate).format("YYYY-MM"),this.scrollIntoDefaultMonth(t)}}},[["render",function(e,t,s,n,o,l){const i=y("uHeader"),h=y("uMonth"),u=x,m=g(_("u-button"),w),S=d,Y=g(_("u-popup"),M);return a(),b(Y,{show:e.show,mode:"bottom",closeable:"",onClose:l.close,round:e.round,closeOnClickOverlay:e.closeOnClickOverlay},{default:f((()=>[r(S,{class:"u-calendar"},{default:f((()=>[r(i,{title:e.title,subtitle:l.subtitle,showSubtitle:e.showSubtitle,showTitle:e.showTitle},null,8,["title","subtitle","showSubtitle","showTitle"]),r(u,{style:p({height:e.$u.addUnit(o.listHeight)}),"scroll-y":"",onScroll:l.onScroll,"scroll-top":o.scrollTop,scrollIntoView:o.scrollIntoView},{default:f((()=>[r(h,{color:e.color,rowHeight:e.rowHeight,showMark:e.showMark,months:o.months,mode:e.mode,maxCount:e.maxCount,startText:e.startText,endText:e.endText,defaultDate:e.defaultDate,minDate:l.innerMinDate,maxDate:l.innerMaxDate,maxMonth:e.monthNum,readonly:e.readonly,maxRange:e.maxRange,rangePrompt:e.rangePrompt,showRangePrompt:e.showRangePrompt,allowSameDay:e.allowSameDay,ref:"month",onMonthSelected:l.monthSelected,onUpdateMonthTop:l.updateMonthTop},null,8,["color","rowHeight","showMark","months","mode","maxCount","startText","endText","defaultDate","minDate","maxDate","maxMonth","readonly","maxRange","rangePrompt","showRangePrompt","allowSameDay","onMonthSelected","onUpdateMonthTop"])])),_:1},8,["style","onScroll","scroll-top","scrollIntoView"]),e.showConfirm?D(e.$slots,"footer",{key:0},(()=>[r(S,{class:"u-calendar__confirm"},{default:f((()=>[r(m,{shape:"circle",text:l.buttonDisabled?e.confirmDisabledText:e.confirmText,color:e.color,onClick:l.confirm,disabled:l.buttonDisabled},null,8,["text","color","onClick","disabled"])])),_:1})]),!0):c("v-if",!0)])),_:3})])),_:3},8,["show","onClose","round","closeOnClickOverlay"])}],["__scopeId","data-v-6511138a"]]);export{I as _};
|