word_report.js 4.7 KB
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgarr: [],
    myimgurl: []
  },
  //放大图片
  look_img(e){
    let index = Number(e.currentTarget.dataset.index)
    let imgarr = this.data.imgarr
    wx.previewImage({
      urls: imgarr,
      current: this.data.imgarr[index]
    })
  },  
  //图片删除
  del_img(e) {
    let that = this
    let index = e.currentTarget.dataset.index
    let imgarr = that.data.imgarr
    imgarr.splice(index, 1)
    that.setData({
      imgarr: imgarr
    })
  },
  //图片添加
  upimg: function() {
    let that = this
    let imgarr = that.data.imgarr
    let allow_image = 9 - that.data.imgarr.length
    if (allow_image == 0) {
      wx.showToast({
        title: '最多添加9张图片',
        icon: 'none',
        duration: 1000
      })
      return
    }
    wx.chooseImage({
      count: allow_image,
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
      success: function(res) {
        that.setData({
          imgarr: imgarr.concat(res.tempFilePaths)
        })
      },
    })
  },
  // 图片上传
  upload_img(imgarr) {
    wx.showLoading({
      title: '提交中',
      mask: true
    })
    let that = this
    let myimgurl = that.data.myimgurl
    let header = {
      'XX-Token': wx.getStorageSync('token'),
      'XX-Device-Type': ''
    }
    for (let obj of imgarr) {
      wx.uploadFile({
        url: "https://volunteer.cnpu.org/api/user/upload/one", //上传图片接口
        filePath: obj,
        name: 'file',
        header: header,
        formData: {
          filetype: 'image',
          app: 'material'
        },
        success: function(res) {
          if (JSON.parse(res.data).code == 20000) {
            myimgurl.push(JSON.parse(res.data).data.url)
            that.setData({
              myimgurl: myimgurl
            })
            if (that.data.myimgurl.length == imgarr.length){
              wx.hideLoading()
              that.push()
            }
          }
        },
        fail: function(red) {

        }
      })
    }
  },


  get_word(e) {
    this.setData({
      word: e.detail.value
    })
  },
  //获取信息
  get_info(id) {
    let url = 'index/index/workReportInfo'
    let params = {
      id: id
    }
    if (this.data.user_id) {
      params.user_id = this.data.user_id
    }
    let header = {
      'XX-Token': wx.getStorageSync('token')
    }
    app.post(url, params, header).then((res) => {
      this.setData({
        info: res,
        imgarr: res.pic ? res.pic : [],
        myimgurl: res.pic ? res.pic : [],
        word: res.work_report ? res.work_report : null
      })
    })
  },
  // 提交
  submit() {
    let that = this
    if (!that.data.word) {
      wx.showToast({
        title: '请添加文字',
        icon: 'none'
      })
      return
    }
    if (that.data.imgarr.length > 0){
      that.upload_img(that.data.imgarr)
    } else {
      that.push()
    }

  },
  push(){
    let that = this
    wx.showLoading({
      title: '提交中',
      mask: true
    })
    let url = 'index/index/sginIn'
    let params = {
      id: that.data.id,
      work_report: that.data.word
    }
    if (that.data.myimgurl.length > 0){
      params.work_pic = JSON.stringify(that.data.myimgurl)
    }
    let header = {
      'XX-Token': wx.getStorageSync('token')
    }
    app.post(url, params, header).then((res) => {
      wx.hideLoading()
      wx.showToast({
        title: '提交成功',
        duration: 1000,
        success: () => {
          wx.setStorageSync('page_type', true)
          setTimeout(() => {
            wx.navigateBack({
              dellta: 1
            })
          }, 1000)

        }
      })
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    this.setData({
      id: options.id,
      user_id: options.user_id ? options.user_id : null
    })
    if (options.id) {
      this.get_info(options.id)
    }

  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  }
})