|
@ -39,7 +39,7 @@ |
|
|
<view class="date" :class="[item.isToday ? todayClass : '', item.fullDate === selectedDate ? checkedClass : '']"> |
|
|
<view class="date" :class="[item.isToday ? todayClass : '', item.fullDate === selectedDate ? checkedClass : '']"> |
|
|
{{ item.time.getDate() }} |
|
|
{{ item.time.getDate() }} |
|
|
</view> |
|
|
</view> |
|
|
<view class="dot-show" v-if="item.info" :style="dotStyle"> </view> |
|
|
<view class="dot-show" v-if="item.info === '1'" :style="dotStyle"> </view> |
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
<template v-else> |
|
|
<template v-else> |
|
@ -86,9 +86,10 @@ |
|
|
<view class="flex justify-center u-font-18" style="color: #3b82f6" @click="goback"> 今日 </view> |
|
|
<view class="flex justify-center u-font-18" style="color: #3b82f6" @click="goback"> 今日 </view> |
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
mb-3 |
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import { gegerateDates, dateEqual, formatDate } from './generateDates.js'; |
|
|
import { mapState } from 'vuex'; |
|
|
|
|
|
import { gegerateDates, formatDate } from './generateDates.js'; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
props: { |
|
|
props: { |
|
@ -96,12 +97,6 @@ export default { |
|
|
type: Number, |
|
|
type: Number, |
|
|
default: 500, |
|
|
default: 500, |
|
|
}, |
|
|
}, |
|
|
dotList: { |
|
|
|
|
|
type: Array, /// 打点日期列表 |
|
|
|
|
|
default() { |
|
|
|
|
|
return []; |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
showBack: { |
|
|
showBack: { |
|
|
type: Boolean, // 是否返回今日 |
|
|
type: Boolean, // 是否返回今日 |
|
|
default: false, |
|
|
default: false, |
|
@ -117,7 +112,7 @@ export default { |
|
|
dotStyle: { |
|
|
dotStyle: { |
|
|
type: Object, // 打点日期的自定义样式 |
|
|
type: Object, // 打点日期的自定义样式 |
|
|
default() { |
|
|
default() { |
|
|
return { background: '#FF0000' }; |
|
|
return { background: '#DC2626' }; |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
@ -125,11 +120,12 @@ export default { |
|
|
watch: { |
|
|
watch: { |
|
|
dotList: function (newvalue) { |
|
|
dotList: function (newvalue) { |
|
|
const days = this.days.slice(0); |
|
|
const days = this.days.slice(0); |
|
|
newvalue.forEach(item => { |
|
|
days.forEach((day, i) => { |
|
|
const index = days.findIndex(ditem => ditem.fullDate === item.date); |
|
|
newvalue.forEach((item, j) => { |
|
|
if (index > 0) { |
|
|
if (i === j) { |
|
|
days[index].info = item; |
|
|
day.info = item; |
|
|
} |
|
|
} |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
this.days = days; |
|
|
this.days = days; |
|
|
}, |
|
|
}, |
|
@ -143,14 +139,14 @@ export default { |
|
|
currentMonth: '', |
|
|
currentMonth: '', |
|
|
currentDate: '', |
|
|
currentDate: '', |
|
|
days: [], |
|
|
days: [], |
|
|
weekMode: false, // false -> 月 true -> 显示周 |
|
|
// weekMode: false, // false -> 月 true -> 显示周 |
|
|
swiper: [0, 1, 2], |
|
|
swiper: [0, 1, 2], |
|
|
// dotList: [], // 打点的日期列表 |
|
|
|
|
|
selectedDate: formatDate(new Date(), 'yyyy-MM-dd'), // 当前选中的日期 |
|
|
selectedDate: formatDate(new Date(), 'yyyy-MM-dd'), // 当前选中的日期 |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
computed: { |
|
|
computed: { |
|
|
|
|
|
...mapState('project', ['dotList', 'weekMode']), |
|
|
sheight() { |
|
|
sheight() { |
|
|
// 根据年月判断有多少行 |
|
|
// 根据年月判断有多少行 |
|
|
// 判断该月有多少天 |
|
|
// 判断该月有多少天 |
|
@ -268,13 +264,13 @@ export default { |
|
|
// this.selectedDate = formatDate(new Date(this.currentYear, this.currentMonth-1,1), 'yyyy-MM-dd') |
|
|
// this.selectedDate = formatDate(new Date(this.currentYear, this.currentMonth-1,1), 'yyyy-MM-dd') |
|
|
// } |
|
|
// } |
|
|
} |
|
|
} |
|
|
days.forEach(day => { |
|
|
// 设置小红点 |
|
|
const dot = this.dotList.find(item => { |
|
|
days.forEach((day, i) => { |
|
|
return dateEqual(item.date, day.fullDate); |
|
|
this.dotList.forEach((item, j) => { |
|
|
|
|
|
if (i === j) { |
|
|
|
|
|
day.info = item; |
|
|
|
|
|
} |
|
|
}); |
|
|
}); |
|
|
if (dot) { |
|
|
|
|
|
day.info = dot; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
}); |
|
|
this.days = days; |
|
|
this.days = days; |
|
|
// 派发事件,时间发生改变 |
|
|
// 派发事件,时间发生改变 |
|
@ -458,8 +454,8 @@ export default { |
|
|
border-radius: 25px; |
|
|
border-radius: 25px; |
|
|
} |
|
|
} |
|
|
.dot-show { |
|
|
.dot-show { |
|
|
width: 8px; |
|
|
width: 6px; |
|
|
height: 8px; |
|
|
height: 6px; |
|
|
// background: red; |
|
|
// background: red; |
|
|
border-radius: 5px; |
|
|
border-radius: 5px; |
|
|
position: absolute; |
|
|
position: absolute; |
|
|