// pages/member/investigation/investigation.js
import { get, post } from '../../../utils/http'
Page({
  /**
   * 页面的初始数据
   */
  data: {
    questions: [],
    isFinished: 0,
    loading: 1
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getInvestigationData()
  },

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

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {},

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

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

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

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {},

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

  /**
   * 操作loading
   */
  operLoading: function (flag = 0) {
    this.setData({ loading: flag })
  },

  /**
   * 获取问诊信息
   */
  getInvestigationData: function () {
    get(
      'api/user/investigation',
      {},
      (res) => {
        this.setData({
          questions: res.data.list,
          isFinished: res.data.is_finished
        })
        this.operLoading()
      },
      (err) => {
        this.operLoading()
      }
    )
  },

  /**
   * 点击切换问诊卡问题
   */
  onChangeStatus(e) {
    let index = e.currentTarget.dataset.index
    let value = e.currentTarget.dataset.value
    this.setData({
      ['questions[' + index + '].value']: value
    })
  },

  /**
   * 保存用户问诊信息
   */
  submit() {
    let { questions } = this.data
    let checkFlag = true
    let ids = []
    let values = []

    questions.forEach((item) => {
      if (['1', '2'].indexOf(String(item.value)) == -1) {
        checkFlag = false
      }
      ids.push(item.id)
      values.push(item.value)
    })
    if (!checkFlag) {
      wx.showToast({
        title: '请选择完所有选项',
        icon: 'none'
      })
      return
    }
    post(
      'api/user/investigation',
      {
        ids: ids.toString(),
        values: values.toString()
      },
      (res) => {
        wx.showToast({
          title: '提交成功',
          icon: 'none'
        })
        setTimeout(() => {
          wx.navigateBack()
        }, 1500)
      },
      () => {}
    )
  }
})