// pages/worksheetinfo/worksheetinfo.js

Page({

  /**
   * 页面的初始数据
   */
  data: {
    images: [],
    signs: [],
    worksheetinfo: {},
    chargstations: [],
    chargstationsindex: 0,
    pcitures: [],
    workstatus: [{
      value: 1,
      text: '新建'
    }, {
      value: 2,
      text: '人员指派'
    }, {
      value: 3,
      text: '指派确认'
    }, {
      value: 4,
      text: '施工前安全准备'
    }, {
      value: 5,
      text: '进行中'
    }
    // , {
    //   value: 6,
    //   text: '已完成'
    // }
    , {
      value: 7,
      text: '完成确认'
    }],
    workstatusindex: 0,
    
    workBigclass: [{
      value: 1,
      text: '售后服务'
    }, {
      value: 2,
      text: '工程实施'
    }],
    workBigclassindex: 0,
    workSmallclass:[{
      value: 1,
      text: '日常巡站'
      }, {
      value: 2,
      text: '紧急维修'
      }, {
      value: 3,
      text: '施工准备'
      }, {
      value: 4,
      text: '工程进程'
      }, {
      value: 5,
      text: '施工过程'
      }, {
      value: 6,
      text: '工程竣工'
      }, {
      value: 7,
      text: '工程验收'
      }],
    workSmallclassIndex: 0,
    breakdownType: [{
      value: 1,
      text: '车辆导致'
    }, {
      value: 2,
      text: '桩体导致'
    }, {
      value: 3,
      text: '人为导致'
    }, {
      value: 4,
      text: '基础设施问题'
    }, {
      value: 5,
      text: '其他'
    }],
    breakdownTypeindex: null,
    exceptdate: null,
    excepttime: '00:00',
    finishdate: null,
    finishtime: '00:00',
    accendantids: [],
    userNames:[],
    chargStationName:'',

  },
  bindChargstationsChange: function(e) {
    if (this.data.chargstationsindex != e.detail.value) {
      console.log('picker发送选择改变，携带值为', e.detail.value)
      let chargstationid = this.data.chargstations[e.detail.value].id;
      let worksheetinfo = this.data.worksheetinfo;
      worksheetinfo.accendant = null;
      worksheetinfo.chargStationId = chargstationid;
      this.setData({
        chargstationsindex: e.detail.value,
        worksheetinfo
      })
    }

  },
  bindWorkstatusChange: function(e) {
    //console.log('picker发送选择改变，携带值为', e.detail.value)
    let workStatus = this.data.workstatus[e.detail.value].value;
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.workStatus = workStatus;
    this.setData({
      workstatusindex: e.detail.value,
      worksheetinfo
    });
  },
  bindWorkBigclassChange: function(e) {
    //console.log('picker发送选择改变，携带值为', e.detail.value)
    let workBigclass = this.data.workBigclass[e.detail.value].value;
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.workBigclass = workBigclass;
    this.setData({
      workBigclassindex: e.detail.value,
      worksheetinfo
    });
  },
  bindWorkSmallclassChange: function(e) {
    //console.log('picker发送选择改变，携带值为', e.detail.value)
    let workSmallclass = this.data.workSmallclass[e.detail.value].value;
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.workSmallclass = workSmallclass;
    this.setData({
      workSmallclassindex: e.detail.value,
      worksheetinfo
    });
  },
  bindBreakdownType(e) {
    //console.log('picker发送选择改变，携带值为', e.detail.value)
    let breakdownType = this.data.breakdownType[e.detail.value].value;
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.breakdownType = breakdownType;
    this.setData({
      breakdownTypeindex: e.detail.value,
      worksheetinfo
    });
  },
  chargStationNameSelect:function(e){
    let url = `/pages/worksheetinfo/findstation`;
    wx.navigateTo({
      url
    });
  },

  bindAccendantChange: function(e) {
    let accendant = this.data.worksheetinfo.accendant;
    let chargStationId = this.data.worksheetinfo.chargStationId;
    let url = `/pages/worksheetinfo/accendant?chargstationid=${chargStationId}&accendant=${accendant}`;
    wx.navigateTo({
      url
    });
  },
  bindExceptdateChange(e) {
    this.setData({
      exceptdate: e.detail.value
    })
  },
  bindExcepttimeChange(e) {
    this.setData({
      excepttime: e.detail.value
    })
  },
  bindFinishdateChange(e) {
    this.setData({
      finishdate: e.detail.value
    })
  },
  bindFinishtimeChange(e) {
    this.setData({
      finishtime: e.detail.value
    })
  },
  bindMainLocationInput(e) {
    let mainLocation = e.detail.value;
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.mainLocation = mainLocation;
    this.setData({
      worksheetinfo
    });
  },
  bindContentInput(e) {
    let content = e.detail.value;
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.content = content;
    this.setData({
      worksheetinfo
    });
  },
  bindWorkSheetSubmit(e) {
    let worksheetinfo = this.data.worksheetinfo;
    worksheetinfo.operatorName = this.data.userNames.length>0?this.data.userNames[0]:"";
    worksheetinfo.pams = this.data.accendantids;
    worksheetinfo.accendant = null;
    if (this.data.exceptdate ) {
    // if (this.data.exceptdate && this.data.excepttime) {
      worksheetinfo.exceptTime = this.data.exceptdate + " " + this.data.excepttime + ":00";
    }
    if (this.data.finishdate){
    // if (this.data.finishdate && this.data.finishtime){
      worksheetinfo.finishTime = this.data.finishdate + " " + this.data.finishtime + ":00";
    }
    let images = this.data.images;
    var imgString = [];
    
    var pciString = [];
    this.data.pcitures.forEach((item, index) =>{
      pciString.push(item.src);
    });

    let signs = this.data.signs;
    console.log(signs.length == 0);
    var signString = [];
    if (signs.length == 0) {
      //2021-1-1撤销校验
      // wx.showToast({
      //   title: '请设置签名',
      //   icon: 'loading',
      //   duration: 2000,
      //   mask: true,
      //   success: function() {}
      // });
      // return;
    } else {
      signs.forEach((item, index) => {
        wx.uploadFile({
          url: getApp().globalData.postHeadAgreement + '/restapi/wechat/editWorkSheetImg',
          filePath: signs[index],
          name: 'imageFileName',
          success: function(res) {
            let result = JSON.parse(res.data);
            if (result.code == 500) {
              wx.showModal({
                showCancel: false,
                content: result.msg
              });
            } else {
              signString.push(result.msg);
              console.log(signString);
            }
          }
        });
      });
    }
    var uploadSignOverFlag = setInterval(function() {
      if (signString.length == signs.length) {
        clearInterval(uploadSignOverFlag);
        if (images.length == 0) {
          if (worksheetinfo.pciture) {
            console.log(worksheetinfo.pciture);
            worksheetinfo.pciture = (pciString.concat(imgString).concat(signString)).join(",");
            //worksheetinfo.pciture = ((worksheetinfo.pciture.split(",")).concat(signString)).join(",");
            console.log(worksheetinfo.pciture);
          }

          wx.request({
            url: getApp().globalData.postHeadAgreement + '/restapi/wechat/saveWorkSheet',
            data: worksheetinfo,
            method: 'POST',
            success(res) {
              //console.log(res);
              if (res.data.code == 500) {
                wx.showModal({
                  showCancel: false,
                  content: res.data.msg
                });
              } else {
                wx.navigateBack();
              }
            }
          });
        } else {

          images.forEach((item, index) => {
            wx.uploadFile({
              url: getApp().globalData.postHeadAgreement + '/restapi/wechat/editWorkSheetImg',
              filePath: images[index],
              name: 'imageFileName',
              success: function(res) {
                let result = JSON.parse(res.data);
                if (result.code == 500) {
                  wx.showModal({
                    showCancel: false,
                    content: result.msg
                  });
                } else {
                  imgString.push(result.msg);
                  console.log(imgString);
                  if (index == (images.length - 1)) {
                    var uploadImgOverFlag = setInterval(function() {
                      if (imgString.length == images.length) {
                        clearInterval(uploadImgOverFlag);
                        //worksheetinfo.pciture = ((worksheetinfo.pciture.split(",")).concat(signString)).join(",");
                        worksheetinfo.pciture = (pciString.concat(imgString).concat(signString)).join(",");
                        //var images = this.data.images.concat(res.tempFilePaths);
                        wx.request({
                          url: getApp().globalData.postHeadAgreement + '/restapi/wechat/saveWorkSheet',
                          data: worksheetinfo,
                          method: 'POST',
                          success(res) {
                            //console.log(res);
                            if (res.data.code == 500) {
                              wx.showModal({
                                showCancel: false,
                                content: res.data.msg
                              });
                            } else {
                              wx.navigateBack();
                            }
                          }
                        });
                      }
                    }, 100);
                  }
                }
              },
              fail: function(data) {
                console.log(data);
              }
            });
          });
        }
      }

    }, 100);


  },
  openImage(e) {
    //var that = this;
    var imgCount = (9 - this.data.pcitures.length) < 0 ? 0 : 9 - this.data.pcitures.length;
    console.log(imgCount);
    wx.chooseImage({
      count: 9 - (this.data.pcitures.length + this.data.images.length),
      //sizeType: ['original', 'compressed'],  //可选择原图或压缩后的图片
      //sourceType: ['album', 'camera'], //可选择性开放访问相册、相机
      success: res => {
        //console.log(res);
        var images = this.data.images.concat(res.tempFilePaths);
        // 限制最多只能留下5张照片
        images = images.length <= imgCount ? images : images.slice(0, imgCount);
        if (images.length >= imgCount || imgCount<= 0){
          wx.showToast({
            title: '最多9张图片',
            icon:'none'
          });
        }
        this.setData({
          //pcitures: [],
          images
        });
      }
    });
  },
  removeImage(e) {
    //console.log(e);
    //console.log(this.data.images);
    let idx = e.currentTarget.dataset.idx;
    var images = this.data.images;
    images.splice(idx, 1);
    this.setData({
      images
    });
  },
  removePciture(e) {
    //console.log(e);
    //console.log(this.data.images);
    
    let idx = e.currentTarget.dataset.idx;
    var pcitures = this.data.pcitures;
    pcitures.splice(idx, 1);
    this.setData({
      pcitures
    });
  },
  removeSign(e) {
    //console.log(e);
    //console.log(this.data.images);
    let idx = e.currentTarget.dataset.idx;
    var signs = this.data.signs;
    signs.splice(idx, 1);
    this.setData({
      signs
    });
  },
  handleImagePreview(e) {
    const idx = e.target.dataset.idx
    const images = this.data.images
    
    wx.previewImage({
      current: images[idx], //当前预览的图片
      urls: images, //所有要预览的图片
    })
  },
  handleSignPreview(e) {
    const idx = e.target.dataset.idx
    const signs = this.data.signs
    //console.log(idx);
    //console.log(signs);
    //console.log(signs[idx]);
    wx.previewImage({
      current: signs[idx], //当前预览的图片
      urls: signs, //所有要预览的图片
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    //console.log(options);
    // let {
    //   worksheet
    // } = options;
    // //console.log(worksheet);
    // let worksheetinfo = JSON.parse(worksheet);
    // //worksheetinfo.breakdownType = 2;
    // this.setData({
    //   worksheetinfo
    // });z
    let worksheetinfo = {
      workStatus: 0,
      workBigclass: 0,
      workSmallclass: 0,
      chargStationId: 0,
    }
    this.setData({
      worksheetinfo: worksheetinfo
    });
    this.setData({
      workstatusindex: 0,
      workBigclassindex: 0,
      workSmallclassindex: 0,
      chargstationsindex: 0,
    });

    // if (worksheetinfo.exceptTime) {
    //   let datetime = worksheetinfo.exceptTime.split(" ");
    //   this.setData({
    //     exceptdate: datetime[0],
    //     excepttime: datetime[1].substr(0, 5)
    //   });
    // }
    // if (worksheetinfo.finishTime) {
    //   let datetime = worksheetinfo.finishTime.split(" ");
    //   this.setData({
    //     finishdate: datetime[0],
    //     finishtime: datetime[1].substr(0, 5)
    //   });
    // }
    this.setData({
      breakdownTypeindex: 0
    });
    

    //console.log(worksheetinfo);

    let userInfo = wx.getStorageSync('userInfo');
    let isLogin = wx.getStorageSync('isLogin');
    let that = this;
    //console.log(12345);


    if (userInfo && isLogin) {

      wx.request({
        url: getApp().globalData.postHeadAgreement + '/restapi/wechat/userChargStationsWeb',
        data: {
          userId: userInfo.userId,
          pagenum: 1,
          pagesize: 1,
        },
        method: 'POST',
        success(res) {
          //console.log(res);
          let {
            rows: chargstations
          } = res.data;
          let chargStationName='';
          let chargStationId=0;
          chargstations.forEach((item, index) => {
            chargStationName = item.chargStationName
            chargStationId = item.id
          });
          let worksheetinfo = that.data.worksheetinfo;
          worksheetinfo.chargStationId = chargStationId;
          that.setData({
            chargStationName,
            worksheetinfo 
          });
        }
      });



    }
    // wx.request({
    //   url: getApp().globalData.postHeadAgreement + '/restapi/wechat/getuserworksheet',
    //   data: worksheetinfo.id,
    //   method: 'POST',
    //   success(res) {
    //     //console.log(res);
    //     let accendantids = [];
    //     let userNames = [];
    //     res.data.forEach((item, index) => {
    //       accendantids.push(item.userId);
    //       userNames.push(item.userName);
    //     });
    //     that.setData({
    //       accendantids,
    //       userNames
    //     });
    //   }
    // });
  },
  openSign(e) {
    let url = `/pages/sign/sign`;
    wx.navigateTo({
      url
    });

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

  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  }
})