From ed818fbca1a913065a6a3c2c767714efe5b18685 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 17 八月 2020 11:21:22 +0800 Subject: [PATCH] 2020-08-17 --- src/tabviews/zshare/calendar/index.jsx | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/tabviews/zshare/calendar/index.jsx b/src/tabviews/zshare/calendar/index.jsx index 8ac9028..000050d 100644 --- a/src/tabviews/zshare/calendar/index.jsx +++ b/src/tabviews/zshare/calendar/index.jsx @@ -49,7 +49,7 @@ let level = _levels[0] let monthlist = null - if (_levels.includes('month')) { + if (_levels.includes('month') || _levels.includes('year')) { monthlist = datelist.filter(item => item.month === moment().format('MM'))[0] } @@ -67,7 +67,7 @@ let datelist = this.mountdata(this.state.datelist, nextProps.data || []) let monthlist = null - if (this.state.levels.includes('month')) { + if (this.state.levels.includes('month') || this.state.levels.includes('year')) { monthlist = datelist.filter(item => item.month === this.state.selectMonth)[0] } @@ -115,9 +115,9 @@ }) }) - if (datalist.length === 0) return datelist - - datalist.sort((a, b) => a.level - b.level) + if (datalist.length > 0) { + datalist.sort((a, b) => a.level - b.level) + } let styles = [ {background: '#d0021b', color: '#ffffff'}, @@ -131,6 +131,7 @@ ] return datelist.map(month => { + month.subData = [] datalist.forEach(item => { if (item.startMonth <= month.time && item.endMonth >= month.time) { month.subData.push(item) @@ -143,6 +144,7 @@ week.sublist = week.sublist.map(day => { if (!day) return null + day.subData = [] datalist.forEach(item => { if (item.start <= day.time && item.end >= day.time) { day.subData.push(item) @@ -152,13 +154,10 @@ if (day.subData[0]) { day.style = styles[day.subData[0].level - 1] || null } - return day }) - return week }) - return month }) } @@ -218,7 +217,7 @@ let datelist = this.getDateList(value) let monthlist = null - if (levels.includes('month')) { + if (levels.includes('month') || levels.includes('year')) { monthlist = datelist.filter(item => item.month === selectMonth)[0] } @@ -227,9 +226,9 @@ this.setState({ selectYear: value, datelist, monthlist }) } else { - this.setState({ selectYear: value, datelist, monthlist }) - - this.props.changeDate(value) + this.setState({ selectYear: value, datelist, monthlist }, () => { + this.props.changeDate(value) + }) } } @@ -237,6 +236,7 @@ const { datelist } = this.state this.setState({ + level: 'month', selectMonth: value, monthlist: datelist.filter(item => item.month === value)[0] }) @@ -357,7 +357,7 @@ {level === 'year' && monthlist ? <Row className="year-calendar"> {datelist.map(item => ( <Col span={8} key={item.month}> - <div className="year-wrap" style={item.style || null} onClick={() => this.triggerDay(item)}> + <div className="year-wrap" style={item.style || null} onClick={() => this.monthChange(item.month)}> <div className="header" style={item.style ? null : {color: '#1890ff'}}> {item.label} </div> -- Gitblit v1.8.0