| | |
| | | import scheduleservice from '../../../service/scheduleservice' |
| | | import sysSchedules from '../../../data/schedules' |
| | | import moment from '../../../utils/moment.min' |
| | | import util from '../../../utils/util' |
| | | import scheduleservice from '../../../service/scheduleservice'; |
| | | import sysSchedules from '../../../data/schedules'; |
| | | import moment from '../../../utils/moment.min'; |
| | | import util from '../../../utils/util'; |
| | | |
| | | const app = getApp() |
| | | const app = getApp(); |
| | | |
| | | /** |
| | | * 环保日程管理 |
| | |
| | | ledgerCompleted: { |
| | | type: Boolean, |
| | | observer(value) { |
| | | this.checkScheduleComplete(0, value) |
| | | } |
| | | this.checkScheduleComplete(0, value); |
| | | }, |
| | | }, |
| | | assessmentCompleted: { |
| | | type: Boolean, |
| | | observer(value) { |
| | | this.checkScheduleComplete(1, value) |
| | | } |
| | | } |
| | | this.checkScheduleComplete(1, value); |
| | | }, |
| | | }, |
| | | }, |
| | | data: { |
| | | allSchedules: [], |
| | | thisSchedule: {}, |
| | | index: 0 |
| | | index: 0, |
| | | }, |
| | | lifetimes: { |
| | | attached: function () { |
| | | this.getRecentSchedule() |
| | | this.getRecentSchedule(); |
| | | this.getSchedules(); |
| | | if (app.globalData.newUser) { |
| | | this.nextSchedules() |
| | | this.nextSchedules(); |
| | | } |
| | | // this.getAllSchedules() |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | getSchedules() { |
| | | // let startTime = '2023-04-10'; |
| | | // let endTime = '2023-04-10'; |
| | | let startTime = moment().format('YYYY-MM-DD'); |
| | | let endTime = startTime; |
| | | const that = this; |
| | | scheduleservice.getSchedules( |
| | | { startTime, endTime, type: 0 }, |
| | | { |
| | | success(res) { |
| | | if (res.data.length > 0) { |
| | | const schedule = res.data[0]; |
| | | schedule.time = moment(schedule.time.split('T')[0]).format( |
| | | 'YYYY-MM-DD', |
| | | ); |
| | | that.setData({ |
| | | thisSchedule: schedule, |
| | | }); |
| | | } |
| | | }, |
| | | fail(e) { |
| | | console.log(e); |
| | | }, |
| | | }, |
| | | ); |
| | | }, |
| | | |
| | | //查找最临近的日程 |
| | | getRecentSchedule() { |
| | | //1. 从接口获取用户个人、用户企业类型的相关最临近日程 |
| | | //2. 按照本地逻辑,得出最邻近日程 |
| | | const schedules = sysSchedules() |
| | | const schedules = sysSchedules(); |
| | | //2.1 将台账、评估、承诺三项APP功能定义为日程 |
| | | //2.2 选择最邻近的事项作为当日的提醒事项, |
| | | let today = moment().hour(0).minute(0).second(0).millisecond(0) |
| | | let diffDays = 999 |
| | | let schedule |
| | | let index = 0 |
| | | //2.2 选择最邻近的事项作为当日的提醒事项, |
| | | let today = moment().hour(0).minute(0).second(0).millisecond(0); |
| | | let diffDays = 999; |
| | | let schedule; |
| | | let index = 0; |
| | | for (let i = 0; i < schedules.length; i++) { |
| | | let s = schedules[i]; |
| | | let d = s.time.diff(today, 'days') |
| | | s.diffDays = d |
| | | let d = s.time.diff(today, 'days'); |
| | | s.diffDays = d; |
| | | if (Math.abs(d) < Math.abs(diffDays)) { |
| | | let _index = i |
| | | let _index = i; |
| | | |
| | | schedule = s |
| | | diffDays = d |
| | | index = _index |
| | | schedule = s; |
| | | diffDays = d; |
| | | index = _index; |
| | | } |
| | | } |
| | | //2.3 日程在时间维度上分为三类提醒,预告、当日、未完成的逾期提醒 |
| | | |
| | | |
| | | this.setData({ |
| | | allSchedules: schedules, |
| | | thisSchedule: { |
| | | date: schedule.time, |
| | | time: schedule.time.format('YYYY-MM-DD dddd'), |
| | | type: schedule.type, |
| | | events: schedule.events, |
| | | diffDays: schedule.diffDays, |
| | | }, |
| | | index |
| | | }) |
| | | // thisSchedule: { |
| | | // date: schedule.time, |
| | | // time: schedule.time.format('YYYY-MM-DD dddd'), |
| | | // type: schedule.type, |
| | | // events: schedule.events, |
| | | // diffDays: schedule.diffDays, |
| | | // }, |
| | | index, |
| | | }); |
| | | }, |
| | | |
| | | //获取所有日程 |
| | | getAllSchedules() { |
| | | console.log('getAllSchedules'); |
| | | scheduleservice.getAllSchedules(app.globalData.accessToken.userId, { |
| | | success(res) { |
| | | console.log('success'); |
| | | console.log(res); |
| | | }, |
| | | fail(e) { |
| | | console.log('fail'); |
| | | console.log(e); |
| | | }, |
| | | complete(res) { |
| | | console.log('complete'); |
| | | }, |
| | | }) |
| | | const schedules = sysSchedules(); |
| | | this.setData({ |
| | | allSchedules: schedules, |
| | | }); |
| | | }, |
| | | |
| | | // 当前日程完成,顺延下一个日程 |
| | | nextSchedules() { |
| | | let today = moment().hour(0).minute(0).second(0).millisecond(0) |
| | | let today = moment().hour(0).minute(0).second(0).millisecond(0); |
| | | let s = this.data.allSchedules[this.data.index + 1]; |
| | | let d = s.time.diff(today, 'days') |
| | | s.diffDays = d |
| | | let d = s.time.diff(today, 'days'); |
| | | s.diffDays = d; |
| | | |
| | | this.setData({ |
| | | thisSchedule: { |
| | | date: s.time, |
| | | time: s.time.format('YYYY-MM-DD dddd'), |
| | | time: s.time.format('YYYY-MM-DD'), |
| | | type: s.type, |
| | | events: s.events, |
| | | diffDays: s.diffDays, |
| | | }, |
| | | index: this.data.index + 1 |
| | | }) |
| | | index: this.data.index + 1, |
| | | }); |
| | | }, |
| | | |
| | | // 检查当前日程是否完成 |
| | | checkScheduleComplete(type, value) { |
| | | debugger |
| | | // 新用户不做判断 |
| | | if (app.globalData.newUser) return |
| | | if (app.globalData.newUser) return; |
| | | // 日程类型不一致无需判断 |
| | | if (this.data.thisSchedule.type != type) return |
| | | if (this.data.thisSchedule.type != type) return; |
| | | // 日程不在当月的无需判断 |
| | | const thisMonth = moment().month() |
| | | const sTimeMonth = moment(this.data.thisSchedule.date).month() |
| | | if (thisMonth != sTimeMonth) return |
| | | const thisMonth = moment().month(); |
| | | const sTimeMonth = moment(this.data.thisSchedule.date).month(); |
| | | if (thisMonth != sTimeMonth) return; |
| | | |
| | | // 日程完成则顺延下个日程 |
| | | if (value) { |
| | | this.nextSchedules() |
| | | this.nextSchedules(); |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | }, |
| | | }); |