You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
5.0 KiB
117 lines
5.0 KiB
|
1 month ago
|
<view class="flex b tb ac" wx:if="{{calendar}}">
|
||
|
|
<view class="calendar b tb">
|
||
|
|
<!-- 头部操作栏 -->
|
||
|
|
<view
|
||
|
|
wx:if="{{!config.hideHeader}}"
|
||
|
|
class="handle {{config.theme}}_handle-color fs32 b lr ac pc"
|
||
|
|
>
|
||
|
|
<view class="prev fs36" wx:if="{{!config.weekMode}}">
|
||
|
|
<text
|
||
|
|
wx:if="{{!config.hideSelectYear}}"
|
||
|
|
class="prev-handle iconfont icon-doubleleft"
|
||
|
|
bindtap="changeDate"
|
||
|
|
data-type="prev_year"
|
||
|
|
></text>
|
||
|
|
<text
|
||
|
|
class="prev-handle iconfont icon-left"
|
||
|
|
bindtap="changeDate"
|
||
|
|
data-type="prev_month"
|
||
|
|
></text>
|
||
|
|
</view>
|
||
|
|
<view class="flex date-in-handle b lr cc blod" bindtap="doubleClickJumpToToday"
|
||
|
|
>{{calendar.curYear || "--"}} 年 {{calendar.curMonth || "--"}} 月</view
|
||
|
|
>
|
||
|
|
<view class="next fs36" wx:if="{{!config.weekMode}}">
|
||
|
|
<text
|
||
|
|
class="next-handle iconfont icon-right"
|
||
|
|
bindtap="changeDate"
|
||
|
|
data-type="next_month"
|
||
|
|
></text>
|
||
|
|
<text
|
||
|
|
wx:if="{{!config.hideSelectYear}}"
|
||
|
|
class="next-handle iconfont icon-doubleright"
|
||
|
|
bindtap="changeDate"
|
||
|
|
data-type="next_year"
|
||
|
|
></text>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
<!-- 星期栏 -->
|
||
|
|
<view class="weeks b lr ac {{config.theme}}_week-color">
|
||
|
|
<view class="week fs28" wx:for="{{calendar.weeksCh}}" wx:key="index" data-idx="{{index}}">
|
||
|
|
{{item}}
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
<!-- 日历面板主体 -->
|
||
|
|
<view
|
||
|
|
class="b lr wrap"
|
||
|
|
bindtouchstart="calendarTouchstart"
|
||
|
|
catchtouchmove="calendarTouchmove"
|
||
|
|
catchtouchend="calendarTouchend"
|
||
|
|
>
|
||
|
|
<!-- 上月日期格子 -->
|
||
|
|
<view
|
||
|
|
class="grid b ac pc {{config.theme}}_prev-month-date"
|
||
|
|
wx:for="{{calendar.prevMonthGrids}}"
|
||
|
|
wx:key="index"
|
||
|
|
data-idx="{{index}}"
|
||
|
|
>
|
||
|
|
<view class="date-wrap b cc">
|
||
|
|
<view class="date">
|
||
|
|
{{item.date}}
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
<!-- 本月日期格子 -->
|
||
|
|
<view
|
||
|
|
wx:for="{{calendar.dates}}"
|
||
|
|
wx:key="index"
|
||
|
|
data-idx="{{index}}"
|
||
|
|
data-info="{{item}}"
|
||
|
|
bindtap="tapDate"
|
||
|
|
class="grid {{item.class ? item.class : ''}} {{config.theme}}_normal-date b ac pc"
|
||
|
|
>
|
||
|
|
<view
|
||
|
|
class="date-wrap b cc {{config.emphasisWeek && (item.week === 0 || item.week === 6) ? config.theme + '_weekend-color' : ''}}"
|
||
|
|
>
|
||
|
|
<view
|
||
|
|
class="date b ac pc {{item.class ? item.class : ''}} {{item.isToday && config.highlightToday ? config.theme + '_today' : ''}} {{item.choosed ? config.theme + '_choosed' : ''}} {{item.disable ? config.theme + '_date-disable' : ''}} {{config.chooseAreaMode ? 'date-area-mode' : ''}} {{calendar.todoLabelCircle && item.showTodoLabel && !item.choosed ? config.theme + '_todo-circle todo-circle' : '' }}"
|
||
|
|
>
|
||
|
|
{{config.markToday && item.isToday ? config.markToday : item.date}}
|
||
|
|
<view
|
||
|
|
wx:if="{{(config.showLunar && item.lunar && !item.showTodoLabel) || (item.showTodoLabel && calendar.todoLabelPos !== 'bottom') || config.showHolidays}}"
|
||
|
|
class="date-desc {{config.theme}}_date-desc date-desc-bottom {{(item.choosed || item.isToday) ? 'date-desc-bottom-always' : ''}} {{item.disable ? config.theme + '_date-desc-disable' : ''}}"
|
||
|
|
>
|
||
|
|
<text
|
||
|
|
class="{{config.showHolidays && !item.showTodoLabel && item.label && !item.choosed ? config.theme + '_date-desc-lunar' : ''}} {{item.type === 'festival' ? config.theme + '_festival' : ''}}"
|
||
|
|
>{{item.label || item.lunar.Term || item.lunar.IDayCn}}</text
|
||
|
|
>
|
||
|
|
</view>
|
||
|
|
<block wx:for="{{item.color}}" wx:for-item="col" wx:for-index="colIndex" wx:key="*this">
|
||
|
|
<view
|
||
|
|
wx:if="{{item.showTodoLabel && !calendar.todoLabelCircle}}"
|
||
|
|
class="{{item.todoText ? 'date-desc' : config.theme + '_todo-dot todo-dot'}} {{config.showLunar ? config.theme + '_date-desc-lunar' : ''}} {{calendar.todoLabelPos === 'bottom' ? 'date-desc-bottom todo-dot-bottom' : 'date-desc-top todo-dot-top'}} {{calendar.showLabelAlways && item.choosed && calendar.todoLabelPos === 'bottom' ? 'date-desc-bottom-always todo-dot-bottom-always' : ''}} {{calendar.showLabelAlways && item.choosed && calendar.todoLabelPos === 'top' ? 'date-desc-top-always todo-dot-top-always' : ''}}"
|
||
|
|
style="background-color: {{item.todoText ? '' : col || calendar.todoLabelColor}}; color: {{col}};left:{{(item.color.length>1 ? 35 : 50)*(colIndex+1)}}%"
|
||
|
|
>
|
||
|
|
{{item.todoText}}
|
||
|
|
</view>
|
||
|
|
</block>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
<!-- 下月日期格子 -->
|
||
|
|
<view
|
||
|
|
class="grid b ac pc {{config.theme}}_next-month-date"
|
||
|
|
wx:for="{{calendar.nextMonthGrids}}"
|
||
|
|
wx:key="index"
|
||
|
|
data-idx="{{index}}"
|
||
|
|
>
|
||
|
|
<view class="date-wrap b cc">
|
||
|
|
<view class="date">
|
||
|
|
{{item.date}}
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|