// pages/form/addProduct/addProduct.js
const upload = require("../../../utils/upload")
const api = require('../../../api/index')
import { $wuxForm} from '../../../miniprogram_npm/wux-weapp/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    validateMessages: {
      required: '%s 字段为必填',
    },
    form:{
      
    },
    labelWidth:350,
    fileList:[],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const eventChannel = this.getOpenerEventChannel()
    var that = this
    eventChannel.on('acceptDataFromOpenerPage', function(data) {
      var form = {
        searchCondition:data.key,
        concernType:data.concernType
      }
      var file = []
      if(data.filePath){
        file.push(
          {
            status: 'done',
            url: filePath,
          }
        )
      }
      
      that.setData(
        {
          form:form,
          fileList:file
        }
      )
      if(data.filePath){
        that.uploadFile(data.filePath)
      }
      
    })
  },

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

  },

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

  },


  /**
   * 页面方法集合
   */
  //表单栏位值发生变化时
  onValuesChange(e) {
    console.log(e)
    const { changedValues, allValues } = e.detail
    // this.setValues(changedValues)
    Object.keys(changedValues).forEach((field) => {
      this.setData({
          ['form.'+field]: changedValues[field],
      })
    })
    console.log('onValuesChange \n', changedValues, allValues)
  },
  //图片上传
  beforeUpload(e){
    console.log(e)
    if(e.detail.errMsg=="chooseMedia:ok"){
      // var data = [{
      //   status: 'done',
      //   url: e.detail.tempFiles[0].tempFilePath,
      // }]
      var data = this.data.fileList
      var url = e.detail.tempFiles[0].tempFilePath
      data.push(
        {
          status: 'done',
          url: url,
        }
      )
      this.setData({ fileList:data })
      this.uploadFile(url)
    }
  },
  onRemove(e) {
    console.log(e)
    const { file, fileList } = e.detail
    wx.showModal({
      content: '确定删除？',
      success: (res) => {
        if (res.confirm) {
          var data = this.data.fileList
          this.setData({
            fileList: data.filter((n) => n.url !== file.url),
          })
        }
      },
    })
  },
  uploadFile(tempFilePaths){
    var that = this
    upload.upload(tempFilePaths).then(res=>{
      if(res.code == 200){
        var guid = res.data[0]
        var index = that.data.fileList.findIndex(item=>{
          return item.url == tempFilePaths
        })
        that.setData(
          {
            ["fileList["+index+"].guid"]:guid
          }
        )
        // var arr = that.data.form.fileGuids || []
        // arr.push(res.data[0])
        // that.setData(
        //   {
        //     ["form.fileGuids"]:arr
        //   }
        // )
      }
    })
  },
  //上传文件
  // uploadFile(){
  //   const that = this;  
  //   wx.chooseMessageFile({  
  //     count: 1, // 默认9，表示一次最多可以选择的文件个数  
  //     type: 'file', // 可以指定是文件  
  //     success(res) {  
  //       console.log(res)
  //       var obj = res.tempFiles[0]
  //       var data = that.data.fileList
  //       data.push(obj)
  //       // that.setData(
  //       //   {
  //       //     fileList:data
  //       //   }
  //       // )
  //       // 返回选定文件的本地文件路径列表，tempFilePath可以作为文件上传的标识  
  //       const tempFilePaths = obj.path;  
  //       upload.upload(tempFilePaths).then(res=>{
  //         if(res.code == 200){
  //           var arr = that.data.form.fileGuids
  //           if(!arr){
  //             arr = []
  //           }
  //           arr.push(res.data[0])
  //           that.setData(
  //             {
  //               ["form.fileGuids"]:arr,
  //               fileList:data
  //             }
  //           )
  //         }
  //       })
  //     }  
  //   }); 
  // },
  //输入备注
  changRemark(e){
    this.setData(
      {
        ["form.description"]:e.detail.value
      }
    )
  },
  //修改专利无法导出?
  onChange(e){
    this.setData(
      {
        ["form.patentExport"]:e.detail
      }
    )
  },
  //提交工单
  submit(){
    var key = api.isLogin()
    if(!key){
      return false
    }
    var that = this
    const { validateFields } = $wuxForm()
    validateFields((err, values) => {
      console.log(err)
      if (!err) {
        var fileGuids = that.data.fileList.map(item=>{
          return item.guid
        })
        var params = {
          ...that.data.form,
          fileGuids:fileGuids
        }
        wx.showLoading({
          title: '加载中',
        })
        api.addOrUpdateProduct(params).then(res=>{
          if(res.code == 200){
            var pages = getCurrentPages()
            var prepage = pages[pages.length-2]
            var product = {
              concernType : params.concernType,
              id:res.data[0],
              key:params.searchCondition,
              filePath:that.data.fileList[0]?.url
            }
            prepage.setData({
              product : product,
              showDialog:false,
              followType:null,
            })
            prepage.collectPatent()
            wx.navigateBack()
          }
        })
      }else{
        var error = Object.keys(err)
        var key = error[0]
        var len = err[key].errors.length
        var message = err[key].errors[len-1].message
        wx.showModal({
          title: '提示',
          content: message,
          complete: (res) => {
            if (res.cancel) {
              
            }
        
            if (res.confirm) {
              
            }
          }
        })
      }
    })
  },



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

  },

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

  },

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

  },

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

  },

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

  }
})