<view class="dm-calendar {{className}}" a:if="{{dates.length > 0}}">
  <view class="dm-calendar-months">
    <view class="dm-calendar-prev-month" onTap="onPrevYearTap" a:if="{{haveYear}}">
      <view class="dm-calendar-arrow dm-calendar-arrow_year"></view>
    </view>
    <view class="dm-calendar-prev-month" onTap="onPrevMonthTap">
      <view class="dm-calendar-arrow"></view>
    </view>
    <view class="dm-calendar-selected-month">{{selectedFormatDate}}</view>
    <view class="dm-calendar-next-month" onTap="onNextMonthTap">
      <view class="dm-calendar-arrow next"></view>
    </view>
    <view class="dm-calendar-next-month" onTap="onNextYearTap" a:if="{{haveYear}}">
      <view class="dm-calendar-arrow dm-calendar-arrow_year next"></view>
    </view>
  </view>
  <view class="dm-calendar-days">
    <block a:for="{{weeksText}}">
      <view class="dm-calendar-day">{{item}}</view>
    </block>
  </view>
  <view class="dm-calendar-dates">
    <block a:for="{{dates}}">
      <view class="dm-calendar-week">
        <block a:for="{{item}}">
          <view
            class="dm-calendar-date-wrap
              {{ item.isSelected ? 'dm-calendar-selected': '' }}
              {{ item.isStart ? 'dm-calendar-start': '' }}
              {{ item.isMiddle ? 'dm-calendar-middle': '' }}
              {{ item.isEnd ? 'dm-calendar-end': '' }}
              {{ item.disable ? 'dm-calendar-disable': '' }}
              {{ type === 'range' ? 'is-range' : '' }}"
            data-year="{{item.year}}"
            data-month="{{item.month}}"
            data-date="{{item.date}}"
            onTap="onDateTap"
          >
            <view
              class="dm-calendar-block {{ blockType === 2 ? 'has-tag': '' }}"
            ></view>
            <view
              class="dm-calendar-date {{ item.isGray ? 'dm-calendar-gray': '' }} {{ item.isToday ? 'dm-calendar-today': ''}}"
            >{{item.date}}</view>
            <view class="dm-calendar-tag {{item.isSelected || item.isMiddle || item.isStart || item.isEnd ? 'active' : (item.disable ? 'disable' : item.color)}}">
            {{item.disable ? '' : item.tag}}</view>
          </view>
        </block>
      </view>
    </block>
  </view>