// pages/task/task.js
const app = getApp()
const util = require("../../utils/util")
const urlDef = require("../../utils/urls")
Page({

  /**
   * 页面的初始数据
   */
  data: {
    curStu: null,
    switchTitle: ['待提交', '已提交'],
    doName: "做作业",
    beginDate: null,
    endDate: null,
    status: 0,
    loading: '上拉加载',
    list: [],
    pageNum: 0,
    hasNextPage: true,
  },

  changeIndex: function (e) {
    if (e.detail == 0) {
      this.setData({ 'status': 0, pageNum: 0, list: [], doName: '做作业' })
    } else {
      this.setData({ 'status': 1, pageNum: 0, list: [], doName: '查看详情' })
    }
    this.queryList()
  },

  doTask: function (e) {
    let type =0
    if(this.data.doName != '做作业'){
      type = 1
    }
    wx.navigateTo({
      url: '/pages/taskDetail/taskDetail?id=' + e.currentTarget.dataset.id+"&type=" + type,
    })
  },

  getDates: function (e) {
    this.setData({
      beginDate: e.detail[0],
      endDate: e.detail[1],
      loading: '加载中'
    })
    this.queryList()
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let bd = options.beginDate
    let ed = options.endDate
    if (bd && ed) {
      this.setData({ 'beginDate': bd, 'endDate': ed })
    } else {
      let today = util.curTime().substring(0, 10).replace(/\//g, '-')
      this.setData({ 'beginDate': today.substring(0, 8) + '01', 'endDate': today })
    }

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({ list: [] })
    this.queryList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.hasNextPage) {
      let pn = this.data.pageNum
      this.setData({ loading: '加载中', 'pageNum': ++pn })
      this.queryList()
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  queryList: function () {
    const urls = urlDef.urls;
    let stu = wx.getStorageSync('student');
    if (stu) {
      this.setData({ 'curStu': stu });
      let params = { 'q.beginDate': this.data.beginDate, 'q.endDate': this.data.endDate, 'q.studentId': stu.studentId, 'q.status': this.data.status }
      params.pageNum = this.data.pageNum
      util.apiPost(urls.my_homework, params).then(rs => {
        let list = rs.list;
        list.map(o => {
          if (o.beginTime) {
            o.beginTime = o.beginTime.substring(11, 16)
          }
          if (o.endTime) {
            o.endTime = o.endTime.substring(11, 16)
          }
          if (o.completedTime) {
            o.completedTime = o.completedTime.substring(0, 10)
          }
          if (o.homeworkContent) {
            o.homeworkContent = this.parseContent(o.homeworkContent)
          }
        })
        this.setData({
          'hasNextPage': rs.hasNextPage,
          'loading': rs.hasNextPage ? '下拉刷新' : '没有更多数据',
          'list': this.data.list.concat(list)
        })
      })
    }
  },
  parseContent(content) {
    let contents = null
    try {
      contents = JSON.parse(content)
      content = contents.content
    } catch (e) {
      contents = {}
      console.log(JSON.stringify(e))
    }
    return content
  }
})