joinFamilyEvent.js 5.41 KB
// pages/uploadDocuments/uploadDocuments.js
import Notify from '../../dist/notify/notify';
var app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    eventId: '',
    eventTitle: '',

    comment: '',
    fileList1: [],
    fileList2: [],
    fileList3: [],
    imgPaths: [],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //获取参数
    this.setData({
      eventId: options.eventId,
      eventTitle: options.eventTitle
    })
  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  },
  //第1张图片
  delete1(event) {
    const { index, name } = event.detail;
    const fileList = this.data[`fileList1`];
    fileList.splice(index, 1);
    this.setData({ [`fileList1`]: fileList });
  },
  afterRead1(event) {
    const { file, name } = event.detail;
    const fileList = this.data[`fileList1`];
    const images = this.data.imgPaths;

    this.setData({
      [`fileList1`]: fileList.concat(file),
      imgPaths: images.concat(file[0].path)
    });
  },
  beforeRead1(event) {
    const { file, callback } = event.detail;
    if (file[0].path.indexOf('jpg') < 0) {
      wx.showToast({ title: '请选择jpg图片上传', icon: 'none' });
      callback(false);
      return;
    }
    callback(true);
  },

  //第2张图片
  delete2(event) {
    const { index, name } = event.detail;
    const fileList = this.data[`fileList2`];
    fileList.splice(index, 1);
    this.setData({ [`fileList2`]: fileList });
  },
  afterRead2(event) {
    const { file, name } = event.detail;
    const fileList = this.data[`fileList2`];
    const images = this.data.imgPaths;

    this.setData({
      [`fileList2`]: fileList.concat(file),
      imgPaths: images.concat(file[0].path)
    });
  },
  beforeRead2(event) {
    const { file, callback } = event.detail;
    if (file[0].path.indexOf('jpg') < 0) {
      wx.showToast({ title: '请选择jpg图片上传', icon: 'none' });
      callback(false);
      return;
    }
    callback(true);
  },

  //第3张图片
  delete3(event) {
    const { index, name } = event.detail;
    const fileList = this.data[`fileList3`];
    fileList.splice(index, 1);
    this.setData({ [`fileList3`]: fileList });
  },
  afterRead3(event) {
    const { file, name } = event.detail;
    const fileList = this.data[`fileList3`];
    const images = this.data.imgPaths;

    this.setData({
      [`fileList3`]: fileList.concat(file),
      imgPaths: images.concat(file[0].path)
    });
  },
  beforeRead3(event) {
    const { file, callback } = event.detail;
    if (file[0].path.indexOf('jpg') < 0) {
      wx.showToast({ title: '请选择jpg图片上传', icon: 'none' });
      callback(false);
      return;
    }
    callback(true);
  },
  //上传素材
  upload() {
    var that = this;
    //感想必须输入
    if (that.data.comment == null || that.data.comment.trim() == "") {
      Notify('请输入感想')
      return
    }
    var config = wx.getStorageSync('config');
    wx.request({
      url: app.url + 'ajax_set_family_event_result.php',
      data: {
        unionId: config.unionId,
        eventId: that.data.eventId,
        comment: that.data.comment,
      },
      header: { 'content-type': 'application/json' },
      method: 'GET',
      dataType: 'json',
      success: function (res) {
        //循环上传图片
        var completeCount = 0;
        for (var i = 0; i < that.data.imgPaths.length; i++) {
          //停顿1秒
          var imgPath = that.data.imgPaths[i];
          setTimeout(function () {
            wx.uploadFile({
              url: app.url + 'ajax_set_family_event_result.php?unionId=' + config.unionId + "&eventId=" + that.data.eventId,
              filePath: imgPath,
              name: 'photo',
              header: { 'content-type': 'multipart/form-data' },
              success: function (res) {
              },
              fail: function (res) {
                console.log(res, '上传失败')
              },
              complete: function (res) {
                completeCount++;
              },
            })
          }, 1000) //延迟时间 这里是1秒
        }

        //循环执行等待全部结束
        var a = setInterval(function () {
          //循环执行代码 
          if (that.data.imgPaths.length == completeCount) {
            //跳转到首页
            wx.showToast({
              title: '上传成功!',
              icon: 'success',
              duration: 2000
            });
            clearInterval(a)

            //跳转到社会实践页面
            wx.redirectTo({
              url: '../familyEvent/familyEvent',
            });
          }
        }, 1000) //循环时间 这里是1秒

      },
      fail: function (res) { },
      complete: function (res) { },
    })
  },

  //获取输入的感想
  inputComment(event) {
    this.setData({
      comment: event.detail.value
    })
  }
})