import scheduleservice from '../../../service/scheduleservice'
|
import sysSchedules from '../../../data/schedules'
|
import moment from '../../../utils/moment.min'
|
import util from '../../../utils/util'
|
|
const app = getApp()
|
|
/**
|
* 环保日程管理
|
*/
|
module.exports = Behavior({
|
// behaviors: [b_loadingStatus],
|
data: {
|
allSchedules: [],
|
thisSchedule: {},
|
index: 0
|
},
|
lifetimes: {
|
attached: function () {
|
this.getRecentSchedule()
|
if (app.globalData.newUser) {
|
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
|
|
this.setData({
|
thisSchedule: {
|
time: s.time.format('YYYY-MM-DD dddd'),
|
events: s.events,
|
diffDays: s.diffDays,
|
steps: s.steps,
|
category: s.category
|
},
|
index: this.data.index + 1
|
})
|
}
|
// this.getAllSchedules()
|
}
|
},
|
methods: {
|
//查找最临近的日程
|
getRecentSchedule() {
|
//1. 从接口获取用户个人、用户企业类型的相关最临近日程
|
//2. 按照本地逻辑,得出最邻近日程
|
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
|
for (let i = 0; i < schedules.length; i++) {
|
let s = schedules[i];
|
let d = s.time.diff(today, 'days')
|
s.diffDays = d
|
if (Math.abs(d) < Math.abs(diffDays)) {
|
let _index = i
|
|
schedule = s
|
diffDays = d
|
index = _index
|
}
|
}
|
//2.3 日程在时间维度上分为三类提醒,预告、当日、未完成的逾期提醒
|
|
|
this.setData({
|
allSchedules: schedules,
|
thisSchedule: {
|
time: schedule.time.format('YYYY-MM-DD dddd'),
|
events: schedule.events,
|
diffDays: schedule.diffDays,
|
steps: schedule.steps,
|
category: schedule.category
|
},
|
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');
|
},
|
})
|
}
|
}
|
})
|