var dateTimePicker = require('./dateTimePicker.js');
let vpage = [];
const db = wx.cloud.database();
const util=require('../../utils/util.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active: 0,
    imgList: [],
    src: '',
    options:[{opsname:"",opsid:"",opsdetail:"",opsvideo:'',opsimage:'',votelist:[],number:0}],
    opdhidden: true,
    envId: '',
    imgSrc: '',
    navState: 0,
    dateTimeArray1: null,
    sttime:"请选择开始日期",
    entime:"请选择注销日期",
    dateTimeArray2: null,
    dateTime2: null,
    setvotes: null,
    votename:'',
    votedetail:''
 
  },
//   active的切换
  onChange(event) {
  
      this.setData({
          active:event.detail.index
      })

  },
//   选择开始时间
  bindDateChange: function (e) {
    this.setData({
      sttime: e.detail.value
    })
  },
//   结束时间
  bindDateenChange(e){
    this.setData({
      entime: e.detail.value
    })
  },

  onLoad(options) {
    let that = this
    wx.getSystemInfo({
      success: function (res) {
        that.setData({
          clientHeight: res.windowHeight - 177
        });
      }
    })
    this.setData({
      envId: options.envId
    });

    // 获取完整的年月日 时分秒，以及默认显示的数组
    var obj1 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
    // 精确到分的处理，将数组的秒去掉
    var lastArray = obj1.dateTimeArray.pop();
    var lastTime = obj1.dateTime.pop();

    this.setData({
      dateTimeArray1: obj1.dateTimeArray,
     
    });

    var obj2 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
    // 精确到分的处理，将数组的秒去掉
    var lastArray = obj2.dateTimeArray.pop();
    var lastTime = obj2.dateTime.pop();

    this.setData({
      dateTimeArray2: obj2.dateTimeArray,
      dateTime2: obj2.dateTime
    });

  },

  uploadImg() {
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success: chooseResult => {
        wx.showLoading({
            title: '加载中',
          });
        // 将图片上传至云存储空间
        wx.cloud.uploadFile({
          // 指定上传到的云路径
          cloudPath: 'vp/' + new Date().getTime() + '.png',
          // 指定要上传的文件的小程序临时文件路径
          filePath: chooseResult.tempFilePaths[0],
          // filePath: that.data.imgSrc[0],
          config: {
            env: this.data.envId
          }
        }).then(res => {
          console.log('上传成功', res);
          this.setData({
    
            imgSrc: res.fileID
          });
          wx.hideLoading();
          vpage = res.fileID
        }).catch((e) => {
          wx.hideLoading();
        });
      },
    });
  },


  //选项描述显示
  adddetail: function () {
    this.setData({
      opdhidden: !this.data.opdhidden
    })
  },
  /*选项图片  视频 选择框*/
  addfujian: function (e) {
    var index=e.currentTarget.dataset.index
    var that= this;
    let time=Date.now()//获取当前的时间戳
    wx.showActionSheet({
      itemList: ['图片', '视频'],
      success: function (res) {
        if (res.tapIndex == 0) {
          wx.chooseImage({
            count: 1, //count表示数量
            sizeType: ['original'],
            sourceType: ['album', 'camera'],
            success(res) {
              wx.showLoading({
                title: '上传中',
              })
          
              wx.cloud.uploadFile({
                cloudPath:"friends.images/"+time,//文件名
                filePath:res.tempFilePaths[0] //文件
              })
              .then(res=>{
                that.setData({
                  ["options["+index+"].opsimage"]:res.fileID
                })
                wx.hideLoading()
                wx.showToast({
                  title: '上传成功',
                  icon:'none'
                })
              })
            }
          })
        }
        else  {
          wx.chooseVideo({
            sourceType:["album","camera"],
            maxDuration:60,
            camera:"back",
            success(res){
              wx.showLoading({
                title: '上传中',
              })
        
              wx.cloud.uploadFile({
                cloudPath:"friends.video/"+time,//文件名
                filePath:res.tempFilePath //文件
              })
              .then(res=>{
                that.setData({
                  ["options["+index+"].opsvideo"]:res.fileID
                })
                wx.hideLoading()
                wx.showToast({
                  title: '上传成功',
                  icon:'none'
                })
              })
             
            }
          })
        }
      },
      fail: function (res) {
        console.log(res.errMsg)
      }
    })
  },
  // 选择照片
  chooseImg: function () {
    var _this = this;
    wx.showActionSheet({
      itemList: ["拍照", "从相册中选择"],
      itemColor: "#000000",
      success: function (res) {
        if (!res.cancel) {
          if (res.tapIndex == 0) {
            _this.imgWShow("camera") //拍照
          } else if (res.tapIndex == 1) {
            _this.imgWShow("album") //相册
          }
        }
      }
    })
  },
  // 点击调用手机相册/拍照
  imgWShow: function (type) {
    var _this = this;
    let len = 0;
    if (_this.data.imgList != null) {
      len = _this.data.imgList.length
    } //获取当前已有的图片
    wx.chooseImage({
      count: 6 - len, //最多还能上传的图片数,这里最多可以上传5张
      sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
      sourceType: [type], //可以指定来源是相册还是相机, 默认二者都有
      success: function (res) {
        wx.showToast({
          title: '正在上传...',
          icon: "loading",
          mask: true,
          duration: 1000
        })

        // for(let i=0;i<_this.data.imgList.length;i++){
        //   wx.cloud.uploadFile({
        //     cloudPath:'opsimg/'+new Date().getTime() + i + '.png',
        //     filePath:_this.data.imgList[i]
        //   }).then(res => {
        //     wx.hideLoading()
        //     wx.showToast({
        //       title: '上传成功',
        //     })
        //     console.log(res)
        //   }).catch(error => {
        //     console.log(error)
        //   })
        // }

        // 返回选定照片的本地文件路径列表,tempFilePaths可以作为img标签的scr属性显示图片
        var imgList = res.tempFilePaths
        let tempFilePathsImg = _this.data.imgList
        // 获取当前已上传的图片的数组
        var tempFilePathsImgs = tempFilePathsImg.concat(imgList)
        _this.setData({
          imgList: tempFilePathsImgs
        })
      },
      fail: function () {
        wx.showToast({
          title: '图片上传失败',
          icon: 'none'
        })
        return;
      }
    })
  },
  // 预览图片
  previewImg: function (e) {
    let index = e.target.dataset.index;
    let src=[]
    src[0]=this.data.options[index].opsimage
    wx.previewImage({
    
      urls: src
    })
  },
  /**
   * 点击删除图片
   */
  deleteImg: function (e) {
    var that=this
    var index = e.currentTarget.dataset.index; //获取当前点击图片下标
    wx.showModal({
      title: '提示',
      content: '确认要删除该图片吗?',
      confirmColor: '#000000',
      cancelColor: '#5ea6e9',
      success: function (res) {
        if (res.confirm) {
          that.setData({
            ["options["+index+"].opsimage"]:""
          })
        }
      }
    })
  },
 

  // 选择视频
  chooseVideo: function () {
    var _this = this;
    wx.chooseVideo({
      sourceType: ['album'],
      maxDuration: 60,
      success: function (res) {
        _this.setData({
          src: res.tempFilePath,
        })
      }
    })
  },
  /*上传视频 目前后台限制最大100M, 以后如果视频太大可以选择视频的时候进行压缩*/
  uploadvideo: function () {
    var src = this.data.src;
    wx.uploadFile({
      url: '',
      methid: 'POST', // 可用可不用
      filePath: src,
      name: 'files', // 服务器定义key字段名称
      header: app.globalData.header,
      success: function () {
        console.log('视频上传成功')
      },
      fail: function () {
        console.log('接口调用失败')
      }
    })
  },
  /*点击删除视频*/
  deleteVideo: function (e) {
    var that=this
    var index = e.currentTarget.dataset.index; //获取当前点击图片下标
    wx.showModal({
      title: '提示',
      content: '确认要删除该视频吗?',
      confirmColor: '#000000',
      cancelColor: '#5ea6e9',
      success: function (res) {
        if (res.confirm) {
          that.setData({
            ["options["+index+"].opsvideo"]:""
          })
        }
      }
    })
  },
  


  addoptions: function () {
    let newArray = {
      opsid:'',
      opsname:'',
      opsdetail:'',
      opsvideo:"",
      opsimage:"",
      votelist:[],
      number:0,
    }
    var that = this;
    var old = this.data.options;
      old.push(newArray); //这里不管push什么，只要数组长度增加1就行
    this.setData({
      options: old
    })
  
  },
  // 删除选项
  deleteoptions: function (e) {
    let index=e.currentTarget.dataset.index
  let option=this.data.options
  var that=this
  if(option.length==1){
    wx.showToast({
      title: '最少一个选项',
    })
  }
  else{
     option.splice(index,1)
     that.setData({
       options:option
     })
  }
   
  },
  // 选项名称
  getopsname: function (e) {
    let index=e.currentTarget.dataset.index
    let name=e.detail.value
    console.log(index,name)
    let option=this.data.options
    var that=this
    that.setData({
      ["options["+index+"].opsname"]:name
    })
    
    
  },
  // 选项描述
  getopsdetail: function (e) {
    let index=e.currentTarget.dataset.index
    let opsdetail=e.detail.value
    let option=this.data.options
    var that=this
    that.setData({
      ["options["+index+"].opsdetail"]:opsdetail
    })
 
  },
//   投票名称
votename(e){
    this.setData({
        votename:e.detail.value
    })
},
// 投票描述
votedetail(e){
    this.setData({
        votedetail:e.detail.value
    })
},

  // 用户点击发布
  summit(e) {
    let dd=e.detail.value
    dd.votename=this.data.votename
    dd.votedetail=this.data.votedetail
    //data imgSrc封面图片 optins选项
    //value votename投票名称 votedetail投票描述  canshare是否可转发 ispublic是否公开  canvotes是否可对单一选项重复投票  setvotes*1每人可投票次数 dateTime1开始时间 dateTime2结束时间
    //time 发布时间
    var that=this
    // 判断用户输入信息是否完整了
    if(!dd.dateTime1){
       wx.showToast({
         title: '请选择开始时间',
       })
    }
    else if(!dd.dateTime2){
       wx.showToast({
         title: '请选择注销时间',
       })
    }
   else{
    wx.showModal({
        title:"发布公告",
        content:"是否确认发布公告",
        success(res){
          if(res.confirm){
           db.collection("Vote").add({
             data:{
               imgSrc:that.data.imgSrc,
               votename:dd.votename,
               options:that.data.options,
               votedetail:dd.votedetail,
               optins:that.data.optins,
               dateTime1:dd.dateTime1,
               dateTime2:dd.dateTime2,
               canshare:dd.canshare,
               ispublic:dd.ispublic,
               canvotes:dd.canvotes,
               setvotes:dd.setvotes*1,
               attentionlist:[],
               time:util.formatTime(new Date()),
             }
           })
           .then(res=>{
             wx.showToast({
               title: '发布成功',
             })
           })
          }
        }
      })
   }
   
  },

})