// pages/member/editmobile/editmobile.js
var app = getApp();
// var WxParse = require('../../../wxParse/wxParse.js');
import uitil from '../../../utils/util.js';
var int = (app.globalData.statusBarHeight * 2) + 20;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    statusBarHeight: int,
    repeatStatus: false,//防止快速
    isset: '',
    invite: '',
    isrequired: '',
    showChangeID: false,
    changidInfo: {
      uid: null,
      change_uid: null,
    },
    editType: '',
    uploadUrl: 'upload.uploadPic',
    form: {
      country: '86',
      mobile: '',
      mobileErr: '',
      password: '',
      passwordErr: '',
      confirm_password: '',
      confirm_passwordErr: '',
      captcha: '',
      province_name: '', //省
      city_name: '', //市
      area_name: '', //区
      province: '', //省ID
      city: '', //市ID
      area: '', //区ID
      address: '', //详细地址
      gender: '',
      custom_value: '',
      realname:'', //姓名
    },
    showBack: false,
    //性别----
    showSex: false,
    sexItems: [
      {
        name: '男'
      },
      {
        name: '女'
      }
    ],
    is_password: '0',
    customDatas: [],
    form_address: false,
    form_birthday: false,
    form_sex: false,
    date_v1: uitil.formatTime(new Date()).substring(0, 10),
    diydata: [],
    diyform: {},
    types: {
      "88": 'diyusername',
      "99": 'diypassword',
      "0": 'diyinput',
      "1": 'diytextarea',
      "3": 'diycheckbox',
      "4": 'diyradio',
      "2": 'diyselect',
      "7": 'diydate',
      "9": 'diycity',
      "5": 'diyimage',
    },
    agreementStatus: false,
    protocol_content: "",
    protocol_title: "",
    agreement_name: "平台协议",
    PlatformAgreement: '',
    showPlatformAgreement: false,
    imgcode: "",
    agreementCB: true,
    show2: false,
    start1: false,
    codetext: '获取短信验证码',
    //地区
    provinceData: [],
    cityData: [],
    districtData: [],
    pickerValue: [0, 0, 0],
    selectAddressData: [],
    isValidation: true,
    currentDate: new Date().getTime(),
    yzredirect: '',
    nowtime: '2019-09-01',
    country_code: 0,
    fromApp: 0,
    anchorApplyBol: false,
    // 绑定手机优化 新加 2020_09_04
    isShowAddress: false,

    orderLocationObj: { positioning_success: 0, register_province: "", register_city: "" },

    // 自定义字段是否必填
    formOpen: false,
    default_invite:"",
    datas :{
      form_id:''
    },
    visibleSet: false,
    visibleSure: false,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function (options) {
    let userLocationFlag = await this.checkAlbum('scope.userLocation');
    console.log("userLocationFlag", userLocationFlag);
    if (!userLocationFlag) {
      return this.tips("获取位置失败，请重新进入后授权");
    }

    if (!app.globalData.qqmapkey) {
      app._getTemplate().then(res => {
        this.getCurrentOrderLocation();
      });
    } else {
      this.getCurrentOrderLocation();
    }


    if (options.editType) {
      this.setData({
        editType: options.editType
      });
    }
    if (options.anchorApply) {
      // this.data.anchorApplyBol = true
      this.setData({
        anchorApplyBol: true
      });
    }
    if (options.code) {
      this.setData({
        "form.invite_code": options.code
      });
    }
    if (options.logintype) {
      this.data.yzredirect = app.getyzredirect();
    }
    if (options.fromApp && options.fromApp != 0) {
      this.setData({
        fromApp: options.fromApp
      });
    }

    //加载地址数据初始化
    this._initAddressInfo();

    if (options.num) {
      this.setData({
        "form.mobile": options.num
      });
    }
    this.getAllData();
    //加载地址数据初始化
    this._initAddressInfo();
    // this._initInviteCode();
    // this._getDiyFormStatus();
    // this._getProtocolStatus();
    // this.getimgdata();
    let timestamp = new Date().getTime();
    let nowtime = this.timestampToTime(timestamp);
    let name = wx.getStorageSync('userInfo');
    this.setData({
      nowtime: nowtime,
      nickName: name.userInfo?name.userInfo.nickName:''
    });
  },
  fillInCode() {
    this.setData({
      'form.invite_code': this.data.default_invite
    });
  },
  getPhoneNumber(e) {
    let info = e.detail;
    if(info.errMsg == 'getPhoneNumber:ok') {
      this.getPhoneM(info.code);
    }
  },
  back() {
    wx.navigateBack({
      delta: 1,
    });
  },
  //详细地址值绑定
  addressinp(e) {
    let val = e.detail.value;
    this.setData({
      'form.address': val
    });
  },
  getPhoneM(info) {
    let urlStr = app.getNetAddresss('member.member.miniMemberMobile');
    let that = this;
    app._postNetWork({
      url: urlStr,
      data: {
        code: info,
        not_validate_page: '0'
      },
      showToastIn: false,
      success: function (resdata) {
        var res = resdata.data;
        if (res.result == 1) {
          that.setData({
            'form.mobile': res.data.phone_info.purePhoneNumber
          });
        } else {
          wx.showToast({
            icon: 'none',
            title: res.msg,
            duration: 1500
          });
        }
      },
      fail: function (res) { }
    });
  },
  sexSelectBtn(e) {
    let val = e.detail.name;
    console.log(val);
    if (val == '男') {
      this.setData({
        'form.gender': '1',
        sexName: '男'
      });
    } else if (val == '女') {
      this.setData({
        'form.gender': '0',
        sexName: '女'
      });
    }
    this.setData({
      showSex: false
    });
  },
  sexClose() {
    this.setData({
      showSex: false
    });
  },
  bindDateChange_v1(e) {
    console.log(e.detail.value);
    this.setData({
      'form.birthday': e.detail.value
    });
  },
  //生日选择
  openPicker_v1() {
    this.setData({
      birthdayShow: true
    });
  },
  //显示性别设置
  showSexInfo() {
    this.setData({
      showSex: true
    });
  },
  // 关闭选择收货地址
  _closeDateLw_v1: function () {
    this.setData({
      showAdd_v1: false
    });
  },
  //所在地选择显示
  showAddBtn_v1() {
    this.setData({
      showAdd_v1: true
    });
  },
  //地址选择器数据初始化
  _initAddressInfo: function () {
    var that = this;
    var _keyName = 'provinceData';
    wx.getStorage({
      key: _keyName,
      success: function (res) {
        console.log('地址信息准备就绪');
        that._getProvinceData();
      },
      fail: function (res) {
        console.log('省fail');
        app._getNetWork({
          url: app.getNetAddresss('member.member-address.address'),
          success: function (res) {
            var response = res.data;
            var province = response.data.province;
            var city = response.data.city;
            var district = response.data.district;
            wx.setStorage({
              key: 'provinceData',
              data: province
            });
            wx.setStorage({
              key: 'cityData',
              data: city
            });
            wx.setStorage({
              key: 'districtData',
              data: district
            });
            that._initAddressInfo();
          },
          fail: function (res) { },
          state: true
        });
      }
    });
  },
  //初始化城市
  _initDistrict(data, district) {
    console.log(app._isTextEmpty(data.myform));
    if (!app._isTextEmpty(data)) {
      if (!app._isTextEmpty(data.myform.form)) {
        this.setData({
          isShowAddress: data.myform.base.address == 1 ? true : false
        });
      }
      this.setData({
        'form.province': data.province,
        'form.province_name': data.province_name,
        'form.city': data.city,
        'form.city_name': data.city_name,
        'form.area': data.area,
        'form.area_name': data.area_name,
        districtName:
          data.province_name + ' ' + data.city_name + ' ' + data.area_name,
        'form.address': data.address
      });
      return;
    }

    if (!app._isTextEmpty(district)) {
      this.setData({
        'form.province': district.itemValue1,
        'form.province_name': district.itemName1,
        'form.city': district.itemValue2,
        'form.city_name': district.itemName2,
        'form.area': district.itemValue3,
        'form.area_name': district.itemName3
      });
      this.setData({
        districtName:
          district.itemName1 +
          ' ' +
          district.itemName2 +
          ' ' +
          district.itemName3
      });
    }
  },
  // 读取省key
  _getProvinceData: function () {
    var that = this;
    var _keyName = 'provinceData';
    wx.getStorage({
      key: _keyName,
      success: function (res) {
        console.log('省读取成功', res.data);
        that.setData({
          provinceData: res.data
        });
        that.setData({
          'selectAddressData[0].name':
            res.data[that.data.pickerValue[0]].areaname,
          'selectAddressData[0].id': res.data[that.data.pickerValue[0]].id,
          'selectAddressData[0].index': that.data.pickerValue[0]
        });
        that._getCityData();
      }
    });
  },
  // 读取城市key，筛选城市data
  _getCityData: function () {
    var _data = this.data.selectAddressData[0];
    console.log('城市', '_data', _data);
    var that = this;
    var _keyName = 'cityData';
    wx.getStorage({
      key: _keyName,
      success: function (res) {
        console.log('城市读取成功', res);

        var _json = [];
        for (var i = 0; i < res.data.length; i++) {
          if (res.data[i].parentid == _data.id) {
            _json.push(res.data[i]);
          }
        }
        console.log('城市数据筛选', _json);
        that.setData({
          cityData: _json
        });
        that.setData({
          'selectAddressData[1].name': _json[that.data.pickerValue[1]].areaname,
          'selectAddressData[1].id': _json[that.data.pickerValue[1]].id,
          'selectAddressData[1].index': that.data.pickerValue[1]
        });
        that._getDistrictData();
      }
    });
  },
  // 读取地区key，筛选地区data
  _getDistrictData: function () {
    var _data = this.data.selectAddressData[1];
    console.log('地区', '_data', _data);
    console.log(_data);
    var that = this;
    var _keyName = 'districtData';
    wx.getStorage({
      key: _keyName,
      success: function (res) {
        console.log('地区读取成功');
        var _json = [];
        for (var i = 0; i < res.data.length; i++) {
          if (res.data[i].parentid == _data.id) {
            _json.push(res.data[i]);
          }
        }
        console.log('地区数据筛选', _json);
        that.setData({
          districtData: _json
        });
        console.log('districtData', _json);
        that.setData({
          'selectAddressData[2].name': _json[that.data.pickerValue[2]].areaname,
          'selectAddressData[2].id': _json[that.data.pickerValue[2]].id,
          'selectAddressData[2].index': that.data.pickerValue[2]
        });
        console.log('over', that.data.selectAddressData);
      }
    });
  },
  // 收货地址滚动事件
  bindChange: function (e) {
    var val = e.detail.value;
    if (this.data.pickerValue[0] != val[0]) {
      val[1] = 0;
      val[2] = 0;
    }
    if (this.data.pickerValue[1] != val[1]) {
      val[2] = 0;
    }
    this.setData({
      'pickerValue[0]': val[0],
      'pickerValue[1]': val[1],
      'pickerValue[2]': val[2]
    });
    this._initAddressInfo();
  },
  //城市结果
  resultAdd_v1: function () {
    let seleData = this.data.selectAddressData;
    let district = {
      itemValue1: seleData[0].id,
      itemName1: seleData[0].name,
      itemValue2: seleData[1].id,
      itemName2: seleData[1].name,
      itemValue3: seleData[2].id,
      itemName3: seleData[2].name
    };
    this._initDistrict('', district);
    this._closeDateLw_v1();
  },
  //初始化自定义表单
  _initCustomForm(data) {
    if (app._isTextEmpty(data.form)) {
      this.setData({
        isForm: false
      });
      return;
    }
    if (data.form.length == 0) {
      this.setData({
        isForm: false
      });
      return;
    }
    this.setData({
      isForm: true
    });
    this.setData({
      customDatas: data.form
    });
  },
  //其他信息值绑定
  cItemInp(e) {
    let citemidx = e.currentTarget.dataset.citemidx;
    let val = e.detail.value;
    console.log(this.data.customDatas);
    this.setData({
      ['customDatas[' + citemidx + '].value']: val
    });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    var that = this;
    var query = wx.createSelectorQuery();
    query.select('.topback').boundingClientRect(function (res) {
      that.setData({
        tabScrollTop: res.top + 10   //根据实际需求加减值
      });
    }).exec();
  },
  onPageScroll(e) {
    // console.log(e);
    if (e.scrollTop >= this.data.tabScrollTop) {
      this.setData({
        showBack: true
      });
    } else if (e.scrollTop < this.data.tabScrollTop) {
      this.setData({
        showBack: false
      });
    }
  },

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

  },

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

  },

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

  },

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

  },

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

  },

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

  },
  //获取图片验证码
  getimgdata(data) {
    let that = this;
    let urlStr = app.getNetAddresss("home-page.getCaptcha");
    if (data && data.captcha) {
      if (data.captcha) {
        that.setData({
          imgcode: data.captcha.img
        });
      }
    } else {
      app._getNetWork({
        url: urlStr,
        validateBol: 2,
        success: function (resdata) {
          var res = resdata.data;
          if (res.result == 1) {
            if (res.data.captcha) {
              that.setData({
                imgcode: res.data.captcha.img
              });
            }
          }
        },
        fail: function (res) {
          console.log(res);
        }
      });
    }

  },

  //判断是否需要邀请码
  _initInviteCode(data) {
    let that = this;
    // let urlStr = app.getNetAddresss("member.register.getInviteCode");

    // app._getNetWork({
    // 	url: urlStr,
    // 	validateBol:2,
    // 	success: function(resdata) {
    // 		var res = resdata.data;
    // 		if (res.result == 1) {
    // 			if (res.data.status == 1) {
    that.setData({
      invite: data.status,
      isrequired: data.required,
      country_code: data.country_code,
    });
    if (data.invitation_code) {
      that.setData({
        'form.invite_code': data.invitation_code.invite_code
      });
    }
    // 			}
    // 		}
    // 	},
    // 	fail: function(res) {
    // 		console.log(res);
    // 	}
    // });
  },
  //获取diy 状态信息
  // _getDiyFormStatus() {
  // 	let that = this;
  // 	let urlStr = app.getNetAddresss("setting.get-register-diy-form");
  // 	app._getNetWork({
  // 		url: urlStr,
  // 		validateBol:2,
  // 		success: function(resdata) {
  // 			var res = resdata.data;
  // 			if (res.result == 1) {
  // 				if (res.data.status == 1) {
  // 					that.setData({
  // 						diyStatus: 1,
  // 						form_id: res.data.form_id
  // 					})
  // 					that._getDiyFormInfo(res.data.form_id)
  // 				} else {
  // 					that.setData({
  // 						diyStatus: 0
  // 					})
  // 				}
  // 			} else {
  // 				that.setData({
  // 					diyStatus: 0
  // 				})
  // 			}
  // 		},
  // 		fail: function(res) {
  // 			console.log(res);
  // 			that.setData({
  // 				diyStatus: 0
  // 			})
  // 		}
  // 	});
  // },
  //获取diy 信息
  _getDiyFormInfo(data) {
    let that = this;
    // let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.get-diy-form-by-id");
    // urlStr += '&form_id=' + id;
    // app._getNetWork({
    // 	url: urlStr,
    // 	validateBol:2,
    // 	success: function(resdata) {
    // var res = resdata.data;
    // if (res.result == 1) {
    that.setData({
      diyform: data,
      form_id:data.id,
      'datas.form_id':data.id
    });
    console.log(data);
    let fields = that.data.diyform.fields;
    let diydata = that.data.diydata;
    let f = {};
    for (var field in fields) {
      console.log(that.data.types[fields[field].data_type], fields[field].data_type);
      if (that.data.types[fields[field].data_type] == 'diycheckbox') {
        f = {
          name: field,
          data: fields[field],
          value: [],
          type: that.data.types[fields[field].data_type],
        };
      } else if (that.data.types[fields[field].data_type] == 'diyselect') {
        let tp_textArr = [];
        for (let i = 0; i < fields[field].tp_text.length; i++) {
          tp_textArr.push({
            name: fields[field].tp_text[i]
          });
        }

        f = {
          name: field,
          data: fields[field],
          value: '',
          type: that.data.types[fields[field].data_type],
          diysishow: false,
          sitem: tp_textArr
        };
      } else if (that.data.types[fields[field].data_type] == 'diycity') {
        f = {
          name: field,
          data: fields[field],
          value: '',
          type: that.data.types[fields[field].data_type],
          showAdd: false
        };

      } else if (that.data.types[fields[field].data_type] == 'diydate') {
        f = {
          name: field,
          data: fields[field],
          value: '',
          type: that.data.types[fields[field].data_type],
          timeShow: false,
          currentDate: new Date().getTime()
        };
      } else if (that.data.types[fields[field].data_type] == 'diyimage') {
        f = {
          name: field,
          data: fields[field],
          imgUrls: fields[field].value ? fields[field].value : [],
          isPhoto: false,
          type: that.data.types[fields[field].data_type],
        };

      } else {
        f = {
          name: field,
          data: fields[field],
          value: '',
          type: that.data.types[fields[field].data_type],
        };
      }
      diydata.push(f);
      that.setData({
        diydata: diydata
      });
    }
    console.log(this.data.diydata,'21121121');
    // }
    // 	},
    // 	fail: function(res) {
    // 		console.log(res);
    // 	}
    // });
  },
  onRead_1(e) {
    try {
      let diydata = this.data.diydata;
      let index = e.currentTarget.dataset.idex;
      if (diydata[index].type == "diyimage") {
        if (diydata[index].imgUrls.length >= diydata[index].data.tp_max) {
          wx.showToast({
            title: `最多只能上传${diydata[index].data.tp_max}张`,
            icon: 'none',
            duration: 1000
          });
          return;
        }
      }
      // for (var i = 0; i < diydata.length; i++){
      //   if(diydata[i].type == "diyimage"){
      //     if(diydata[i].imgUrls.length >= diydata[i].data.tp_max){
      //       wx.showToast({
      //         title: `最多只能上传${diydata[i].data.tp_max}张`,
      //         icon:'none',
      //         duration:1000
      //       })
      //       return
      //     }
      //   }
      // }
      // console.log(this.data.diydata)
    } catch (err) { console.log(err); }
    let name = e.currentTarget.dataset.name;
    this.setData({
      setname: name
    });
    let that = this;
    let urlStr = app.getNetAddresss(this.data.uploadUrl);
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        const tempFilePaths = res.tempFilePaths;
        wx.compressImage({
          src: tempFilePaths[0], // 图片路径
          quality: 60, // 压缩质量
          success(e) {
            // console.log(e)
            let photourl = e.tempFilePath;

            wx.uploadFile({
              url: urlStr,
              filePath: photourl,
              name: 'file',
              formData: {
                attach: that.data.setname
              },
              success(resdata) {
                var res = JSON.parse(resdata.data);
                console.log(res);
                if (res.result == 1) {
                  let diydata = that.data.diydata;
                  console.log(res);
                  for (var i = 0; i < diydata.length; i++) {
                    if (diydata[i].name == res.data.attach) {
                      diydata[i].imgUrls.push(res.data.img_url);
                    }
                  }
                  that.setData({
                    diydata: diydata
                  });
                } else {
                  wx.showToast({
                    icon: 'none',
                    title: res.msg,
                    duration: 1500
                  });
                }
              }
            });
          },
          fail(e) {
            console.log(e);
          },
          complete(e) {

          }
        });
      }
    });
  },
  removeImg: function (e) {
    let delIndex = e.currentTarget.dataset.indexc;
    let index_1 = e.currentTarget.dataset.index;
    let diydata = this.data.diydata;
    diydata[index_1].imgUrls.splice(delIndex, 1);
    this.setData({
      diydata: diydata
    });
  },
  //获取是否开启协议
  _getProtocolStatus(data) {
    let that = this;
    // let urlStr = app.getNetAddresss("setting.get-member-protocol");
    // app._getNetWork({
    // 	url: urlStr,
    // 	validateBol:2,
    // 	success: function(resdata) {
    // 		var res = resdata.data;
    // 		if (res.result == 1) {
    that.setData({
      agreementStatus: data.protocol === "1" || data.protocol === 1,
      protocol_content: data.content,
      protocol_title: data.title,
      agreement_name: data.agreement_name || '平台协议',
      PlatformAgreement: data.new_agreement
    });
    // let article = that.data.protocol_content;
    /**
           * WxParse.wxParse(bindName , type, data, target,imagePadding)
           * 1.bindName绑定的数据名(必填)
           * 2.type可以为html或者md(必填)
           * 3.data为传入的具体数据(必填)
           * 4.target为Page对象,一般为this(必填)
           * 5.imagePadding为当图片自适应是左右的单一padding(默认为0,可选)
           */
    // WxParse.wxParse('article', 'html', article, that);
    // 		} else(
    // 			that.setData({
    // 				agreementStatus: false
    // 			})
    // 		)
    // 	},
    // 	fail: function(res) {
    // 		that.setData({
    // 			agreementStatus: false
    // 		})
    // 	}
    // });
  },
  editCustom(e) {
    let key = e.detail.value;
    this.setData({
      'form.custom_value': key
    });
  },
  // 新的合并接口
  getAllData() {
    let that = this;
    let urlStr = app.getNetAddresss("member.register.newApiData");
    try {
      var value = wx.getStorageSync('isset');
      if (value) {
        that.setData({
          isset: value
        });
      }
    } catch (e) {
      console.log(e);
    }
    if (this.data.isset) {
      wx.removeStorage({
        key: 'isset',
        success(res) {
          console.log(res.data);
        }
      });
      urlStr += '&close=' + 1;
    }
    app._postNetWork({
      url: urlStr,
      validateBol: 2,
      data: {
        not_validate_page: '0'
      },
      success: function (resdata) {
        var res = resdata.data;
        if (res.result == 1) {
          that.setData({
            formOpen: (res.data.form_open == "1" ? true : false)
          });
          if (res.data.get_register_diy_form && res.data.get_register_diy_form.status == 1) {
            that.setData({
              diyStatus: 1,
              form_id: res.data.get_register_diy_form.form_id
            });
            if (res.data.get_diy_form_by_id) {
              that._getDiyFormInfo(res.data.get_diy_form_by_id);
            }
          } else {
            that.setData({
              diyStatus: 0
            });
          }
          if (res.data.get_member_protocol) {
            that._getProtocolStatus(res.data.get_member_protocol);
            if (res.data.get_member_protocol.form) {
              that._initCustomForm(res.data.get_member_protocol.form);
              if (res.data.get_member_protocol.form.base) {
                that.setData({
                  form_address: res.data.get_member_protocol.form.base.address == '1' ? res.data.get_member_protocol.form.base.address : '',
                  form_birthday: res.data.get_member_protocol.form.base.birthday == '1' ? res.data.get_member_protocol.form.base.birthday : false,
                  form_sex: res.data.get_member_protocol.form.base.sex == '1' ? res.data.get_member_protocol.form.base.sex : false,
                  form_name: res.data.get_member_protocol.form.base.name == '1' ? true : false,
                  is_custom: res.data.get_member_protocol.custom_field.is_custom == '1' ? true : false,
                  custom_title: res.data.get_member_protocol.custom_field.custom_title
                });
              }
            }
            if (res.data.get_member_protocol.register) {
              that.setData({
                top_img: res.data.get_member_protocol.register.top_img,
                title1: res.data.get_member_protocol.register.title1,
                title2: res.data.get_member_protocol.register.title2,
                is_password: res.data.get_member_protocol.register.is_password
              });
            }
            if (res.data.get_member_protocol.member) {
              let member = res.data.get_member_protocol.member;
              if (member.birthmonth < 10) {
                member.birthmonth = `-0${member.birthmonth}`;
              } else {
                member.birthmonth = `-${member.birthmonth}`;
              }
              if (member.birthday < 10) {
                member.birthday = `-0${member.birthday}`;
              } else {
                member.birthday = `-${member.birthday}`;
              }
              if(res.data.name_must){
                that.setData({
                  name_must:res.data.name_must == '1'?true:false
                });
              }
              that.setData({
                districtName: `${member.province_name}${member.city_name}${member.area_name}`,
                'form.address': member.address,
                'form.birthday': `${member.birthyear}${member.birthmonth}${member.birthday}`,
                sexName: member.gender == 0 ? '女' : '男',
                //  customDatas: member.member_form,
                'form.custom_value': member.custom_value
              });
            }

          }

          if (res.data.get_captcha) {
            that.getimgdata(res.data.get_captcha);
          }

          if (res.data.getInviteCode) {
            that.setData({
              default_invite: res.data.getInviteCode.default_invite
            });
            that._initInviteCode(res.data.getInviteCode);
          }
        } else {
          wx.showToast({
            icon: 'none',
            title: res.msg,
            duration: 1500
          });
        }
      },
      fail: function (res) {
        console.log(res);
      }
    });
  },
  //绑定国家区号的值
  countryinp(e) {
    let val = e.detail.value;
    this.setData({
      "form.country": val.trim()
    });
  },
  //绑定图形验证码的值
  captchainp(e) {
    let val = e.detail.value;
    this.setData({
      "form.captcha": val.trim()
    });
  },
  //绑定手机号的值
  mobileinp(e) {
    let val = e.detail.value;
    this.setData({
      "form.mobile": val.trim()
    });
  },
  sjnz(e) {
    console.log(e.detail.value);
    let val = e.detail.value;
    this.setData({
      "form.mobile": val.trim()
    });
  },
  //绑定验证码的值
  codeinp(e) {
    let val = e.detail.value;
    this.setData({
      "form.code": val.trim()
    });
  },
  //绑定邀请码的值
  inviteinp(e) {
    let val = e.detail.value;
    this.setData({
      "form.invite_code": val.trim()
    });
  },
  //绑定设置密码的值
  passwordinp(e) {
    let val = e.detail.value;
    this.setData({
      "form.password": val.trim()
    });
  },
  //绑定确认密码的值
  conpasswordinp(e) {
    let val = e.detail.value;
    this.setData({
      "form.confirm_password": val.trim()
    });
  },
  //绑定注册协议的值
  agreementCBinp(e) {
    let bol = e.detail;
    this.setData({
      agreementCB: bol
    });
  },
  //打开注册协议
  goAgreement() {
    this.setData({
      show2: true
    });
  },
  popClose() {
    this.setData({
      show2: false
    });
  },
  openPlatformAgreement() {
    this.setData({
      showPlatformAgreement: true
    });
  },
  closePlatformAgreement() {
    this.setData({
      showPlatformAgreement: false
    });
  },
  sendCode(e) {
    if (this.data.start1) {
      return false;
    }
    let time = 60;
    let that = this;
    that.setData({
      "start1": true,
      "codetext": "(" + time + ")秒后重新获取"
    });
    let set = setInterval(function () {
      that.setData({
        codetext: "(" + --time + ")秒后重新获取",
      });
    }, 1000);
    setTimeout(function () {
      that.setData({
        codetext: "获取短信验证码",
        start1: false
      });
      clearInterval(set);
    }, 60000);
    that.verificationCode(set);
  },
  //发送验证码
  verificationCode(set) {
    let that = this;
    if (app._isTextEmpty(this.data.form.country)) {
      wx.showToast({
        icon: 'none',
        title: '请输入国际区号',
        duration: 1500
      });
      that.setData({
        codetext: "获取短信验证码",
        start1: false
      });
      clearInterval(set);
      return;
    }
    if (app._isTextEmpty(this.data.form.mobile)) {
      wx.showToast({
        icon: 'none',
        title: '请填写手机号',
        duration: 1500
      });
      that.setData({
        codetext: "获取短信验证码",
        start1: false
      });
      clearInterval(set);
      return;
    }

    if (this.data.form.country == "86" && app._isMoblie(this.data.form.mobile)) {
      wx.showToast({
        icon: 'none',
        title: '请填写正确的手机号',
        duration: 1500
      });
      return;
    }

    if (app._isTextEmpty(this.data.form.captcha) && this.data.imgcode) {
      wx.showToast({
        icon: 'none',
        title: '请填图形验证码',
        duration: 1500
      });
      that.setData({
        codetext: "获取短信验证码",
        start1: false
      });
      clearInterval(set);
      return;
    } else {
      let urlStr = app.getNetAddresss("member.register.sendCodeV2");
      urlStr += '&mobile=' + this.data.form.mobile;
      urlStr += '&state=' + this.data.form.country;
      urlStr += '&captcha=' + this.data.form.captcha;
      urlStr += '&code=' + this.data.form.code;
      // 发送获取验证码的请求
      app._getNetWork({
        url: urlStr,
        validateBol: 2,
        success: function (resdata) {
          var res = resdata.data;
          if (res.result == 1) {
            wx.showToast({
              icon: 'none',
              title: '已发送',
              duration: 1500
            });
          } else {
            wx.showToast({
              icon: 'none',
              title: res.msg,
              duration: 1500
            });
            //刷新图形验证码
            that.setData({
              'form.captcha': '',
              start1: false,
              codetext: "获取短信验证码",
            });
            clearTimeout(set);
            that.getimgdata();
          }
        },
        fail: function (res) {
          console.log(res);
        }
      });
    }
  },
  //自定义表单值绑定
  tpnameinp(e) {
    let val = e.detail.value;
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].value"]: val
    });
  },
  diytextareainp(e) {
    let val = e.detail.value;
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].value"]: val
    });
  },
  checkboxinp(e) {
    let val = e.detail;
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].value"]: val
    });
  },
  diyselectBtn(e) {
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].diysishow"]: true
    });
  },
  sitemClose(e) {
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].diysishow"]: false
    });
  },
  sitemSelectBtn(e) {
    let idx = e.target.dataset.idex;
    let val = e.detail.name;
    this.setData({
      ["diydata[" + idx + "].value"]: val,
      ["diydata[" + idx + "].diysishow"]: false
    });
  },
  raidinp(e) {
    let val = e.detail;
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].value"]: val
    });
  },
  //所在地选择显示
  showAddBtn(e) {
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].showAdd"]: true
    });
  },
  // 关闭选择收货地址
  _closeDateLw: function (e) {
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].showAdd"]: false
    });
  },

  //城市结果
  resultAdd: function (e) {
    let idx = e.currentTarget.dataset.idex;
    let seleData = this.data.selectAddressData;
    let retCity = seleData[0].name + ' ' + seleData[1].name + ' ' + seleData[2].name;
    this.setData({
      ["diydata[" + idx + "].value"]: retCity,
      ["diydata[" + idx + "].showAdd"]: false
    });
  },
  //自定义日期选择
  openPicker(e) {
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].timeShow"]: true
    });
  },
  PickerClose(e) {
    let idx = e.currentTarget.dataset.idex;
    this.setData({
      ["diydata[" + idx + "].timeShow"]: false
    });
  },
  PickerChange(event) {
    let idx = event.currentTarget.dataset.idex;
    let time = event.detail;
    this.setData({
      ["diydata[" + idx + "].currentDate"]: time
    });
  },
  birthdayconfirm(e) {
    let idx = e.currentTarget.dataset.idex;
    let time = e.detail;
    let changtime = this.timestampToTime(time);
    this.setData({
      ["diydata[" + idx + "].value"]: changtime,
      ["diydata[" + idx + "].timeShow"]: false
    });
  },
  timestampToTime(timestamp) {
    var date = new Date(timestamp); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    var D = (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate());
    return Y + M + D;
  },
  //注册
  register() {
    let is_customDatas = {},
      adress = {};
    is_customDatas.customDatas = this.data.customDatas;
    adress.province_name = this.data.form.province_name;
    adress.city_name = this.data.form.city_name;
    adress.area_name = this.data.form.area_name;
    adress.province = this.data.form.province;
    adress.city = this.data.form.city;
    adress.area = this.data.form.area;
    adress.address = this.data.form.address;
    let is_form = {
      invite_code: this.data.form.invite_code,
      country: this.data.form.country,
      mobile: this.data.form.mobile,
      mobileErr: this.data.form.mobileErr,
      password: this.data.form.password,
      passwordErr: this.data.form.passwordErr,
      confirm_password: this.data.form.confirm_password,
      confirm_passwordErr: this.data.form.confirm_passwordErr,
      captcha: this.data.form.captcha,
      gender: this.data.form.gender,
      code: this.data.form.code,
      birthday: this.data.form.birthday,
      custom_value: this.data.form.custom_value,
      close: this.data.form.close
    };
    is_form.address = adress;
    is_form.customDatas = is_customDatas.customDatas;
    let that = this;


    if (this.data.formOpen && (this.data.customDatas instanceof Array)) {
      let result = this.data.customDatas.every((item) => {return (item.value != "");});
      if (!result) {
        wx.showToast({
          icon: 'none',
          title: '请先填写自定义信息',
          duration: 1500
        });
        return;
      }
    }

    //防止快速点击，重复触发
    if (this.data.repeatStatus) {
      return;
    }
    this.setData({
      repeatStatus: true
    });

    //判断是否从设置页面跳转
    if (!this.data.isset) {
      const {
        ...formData
      } = is_form;
      this.setData({
        is_form: formData
      });
    }
    if (this.data.isset) {
      wx.removeStorage({
        key: 'isset',
        success(res) {
          console.log(res.data);
        }
      });
      const {
        ...formData
      } = is_form;
      this.setData({
        is_form: formData
      });
      that.data.is_form.close = 1;
    }
    let urlStr = app.getNetAddresss("member.member.bindMobile");
    app._postNetWork({
      url: urlStr,
      showToastIn: false,
      data: that.data.is_form,
      validateBol: 2,
      success: function (resdata) {
        that.setData({
          repeatStatus: false
        });
        var res = resdata.data;
        if (res.result == 1) {
          app.resetBasicInfo();
          console.log(that.data.diyStatus);
          if (that.data.diyStatus == 0) {
            wx.showToast({
              icon: 'none',
              title: '绑定成功',
              duration: 1500
            });
            if (that.data.anchorApplyBol) {
              wx.navigateBack({
                delta: 1
              });
              return;
            }
            if (that.data.isset == 1 && !that.data.editType) {
              console.log('跳去首页');
              wx.removeStorage({
                key: 'isset',
                success(res) {
                  console.log(res.data);
                }
              });
              wx.reLaunch({
                url: '/packageG/index/index'
              });
            } else {
              console.log('返回路由上一个');
              that.gotourl();
            }

          } else if (that.data.diyStatus == 1) {
            //去提交diy
            let child = that.selectComponent('.dsfrom');
            child.submit();
            // that.postDiy();
          }
        } else {
          wx.showToast({
            icon: 'none',
            title: res.msg,
            duration: 1500
          });
        }

      },
      fail: function (res) { }
    });
  },
  //先验证是否导致会员id变更
  getPrepBind() {
    let that = this;
    if(this.data.name_must && this.data.editType!='1'){
      if (app._isTextEmpty(this.data.form.realname)) {
        app.tips('请输入姓名');
        return;
      }
    }
    if (app._isTextEmpty(this.data.form.country)) {
      wx.showToast({
        icon: 'none',
        title: '请输入国际区号',
        duration: 1500
      });
      return;
    }

    if (app._isTextEmpty(this.data.form.mobile)) {
      wx.showToast({
        icon: 'none',
        title: '请填写手机号',
        duration: 1500
      });
      return;
    }

    if (this.data.form.country == "86" && app._isMoblie(this.data.form.mobile)) {
      wx.showToast({
        icon: 'none',
        title: '请填写正确的手机号',
        duration: 1500
      });
      return;
    }

    if (app._isTextEmpty(this.data.form.code)) {
      wx.showToast({
        icon: 'none',
        title: '请填验证码',
        duration: 1500
      });
      return;
    }

    if (this.data.is_password == '1') {
      if (app._isTextEmpty(this.data.form.password)) {
        wx.showToast({
          icon: 'none',
          title: '请填写密码',
          duration: 1500
        });
        return;
      }
      if (app._isTextEmpty(this.data.form.confirm_password)) {
        wx.showToast({
          icon: 'none',
          title: '请填写确认密码',
          duration: 1500
        });
        return;
      }
      if (this.data.form.password != this.data.form.confirm_password) {
        wx.showToast({
          icon: 'none',
          title: '两次密码不一致',
          duration: 1500
        });
        return;
      }
    }
    if (this.data.isrequired == 1) {
      if (app._isTextEmpty(this.data.form.invite_code)) {
        wx.showToast({
          icon: 'none',
          title: '请填写邀请码',
          duration: 1500
        });
        return;
      }
    }
    if(this.data.formOpen){
      for(let i = 0;i<this.data.customDatas.length;i++){
        if(app._isTextEmpty(this.data.customDatas[i].value)){
          app.tips(`请输入${this.data.customDatas[i].name}`);
          return;
        }
      }
    }
    if (this.data.imgcode) {
      if (app._isTextEmpty(this.data.form.captcha)) {
        wx.showToast({
          icon: 'none',
          title: '图形验证码不能为空',
          duration: 1500
        });
        return;
      }
    }
    // 位置调整
    if (this.data.diyStatus == 1) {
      this.validation();
      if (!this.data.isValidation) {
        return;
      }
    }

    if(this.data.PlatformAgreement){
      if(!this.data.agreementCB){
        wx.showToast({
          icon: 'none',
          title: "请先勾选同意"+this.data.agreement_name,
          duration: 2000
        });
        return;
      }
    }

    if (this.data.agreementStatus) {
      if (!this.data.agreementCB) {
        wx.showToast({
          icon: 'none',
          title: "请先勾选同意"+ this.data.protocol_title || '会员注册协议',
          duration: 2000
        });
        return;
      }
    }
    //防止快速点击，重复触发
    if (this.data.repeatStatus) {
      return;
    }
    this.setData({
      repeatStatus: true
    });

    //判断是否从设置页面跳转
    if (!this.data.isset) {
      const {
        ...formData
      } = this.data.form;
      this.setData({
        form: formData
      });
    }
    Object.assign(this.data.form, this.data.orderLocationObj);
    let urlStr = app.getNetAddresss("member.member.prepBind");
    app._postNetWork({
      url: urlStr,
      showToastIn: false,
      data: this.data.form,
      validateBol: 2,
      success: function (resdata) {
        that.setData({
          repeatStatus: false
        });
        var res = resdata.data;
        if (res.result == 1) {
          if (res.data.is_show) {
            // 显示 导致会员id变更 弹窗
            that.setData({
              showChangeID: true,
              changidInfo: {
                uid: res.data.uid,
                change_uid: res.data.change_uid
              }
            });
          } else {
            //不显示提示弹窗
            that.register();
          }
        } else {
          wx.showToast({
            icon: 'none',
            title: res.msg,
            duration: 1500
          });
        }

      },
      fail: function (res) { }
    });
  },
  closeChangeId() {
    this.setData({
      showChangeID: false
    });
  },
  //验证参数
  validation() {
    this.setData({
      isValidation: true
    });
    this.data.diydata.forEach(item => {
      if (item.data.tp_must == 1 && !item.value && item.type) {
        wx.showToast({
          icon: 'none',
          title: item.data.tp_name + '必须填写哦',
          duration: 1500
        });
        this.setData({
          isValidation: true
        });
      }
      if (item.type == 'diycheckbox' && item.value.length == 0) {
        wx.showToast({
          icon: 'none',
          title: item.data.tp_name + '必须选择哦',
          duration: 1500
        });
        this.setData({
          isValidation: false
        });
      }
    });
  },
  postDiy(e) {
    let that = this;
    let formData = e.detail;
    // let formObject = {};
    // this.data.diydata.forEach(item => {
    //   if (item.type == 'diyimage') {
    //     formObject[item.name] = item.imgUrls;
    //   } else {
    //     formObject[item.name] = item.value;
    //   }
    // });
    // formData.push(formObject);

    let json = {
      form_data: formData,
      form_id: this.data.form_id,
      "form_type": "register"
    };
    let urlStr = app.getNetAddresss("plugin.diyform.api.diy-form.save-diy-form-data");
    app._postNetWork({
      url: urlStr,
      showToastIn: false,
      data: json,
      success: function (resdata) {
        var res = resdata.data;
        if (res.result == 1) {
          wx.showToast({
            title: '绑定成功',
            icon: 'none',
            duration: 1500,
            success: function () {
              setTimeout(function () {
                that.gotourl();
                //要延时执行的代码
              }, 1500); //延迟时间
            },
          });
        } else {
          wx.showToast({
            icon: 'none',
            title: res.msg,
            duration: 1500
          });
        }

      },
      fail: function (res) { }
    });
  },
  gotourl() {
    let that = this;
    if (that.data.fromApp != 0 && that.data.fromApp != undefined) {
      if (that.data.fromApp == 1) {
        wx.reLaunch({
          url: '/packageG/index/index'
        });
      } else if (that.data.fromApp == 2) {
        // 会员修改手机进入
        wx.reLaunch({
          url: '/packageG/member_v2/member_v2'
        });
      } else if (that.data.fromApp == 3) {
        //从邀请码进入
        wx.navigateBack({
          delta: 2
        });
      } else if (that.data.fromApp == 4) {
        wx.reLaunch({
          url: '/packageG/pages/member/extension/extension'
        });
      } else if (that.data.fromApp == 5) {
        wx.navigateBack({
          delta: 3
        });
      }

    } else if (!that.data.yzredirect) {
      wx.navigateBack({
        delta: 1,
        fail:()=> {
          wx.reLaunch({
            url: '/packageG/index/index'
          });
        }
      });
    } else {
      try {
        wx.reLaunch({
          url: '/' + that.data.yzredirect,
          fail:()=> {
            wx.reLaunch({
              url: '/packageG/index/index'
            });
          }
        });
      } catch (e) {
        wx.navigateBack({
          delta: 1,
          fail:()=> {
            wx.reLaunch({
              url: '/packageG/index/index'
            });
          }
        });
      }
    }
  },
  bindDateChange: function (e) {
    let idx = e.target.dataset.idex;
    let time = e.detail.value;
    this.setData({
      ["diydata[" + idx + "].value"]: time,
      ["diydata[" + idx + "].timeShow"]: false,
      date: time
    });
  },
  //获取经纬度
  getCurrentOrderLocation() {
    let that =  this;
    wx.getLocation({
      type: 'gcj02',
      success: (res) => {
        console.log("userLocationFlag", res);
        const latitude = res.latitude;
        const longitude = res.longitude;
        app.getReverseGeocoder(latitude,longitude).then(function (res) {
          console.log("userLocationFlag", res);
          let mapdata = res;
          let recommend = mapdata.address_component;
          let orderLocationObj = {
            positioning_success: 1,
            register_province: recommend.province,
            register_city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province
          };
          that.data.orderLocationObj = orderLocationObj;
        }).catch(function(err){
          console.log(err);
        });
      }
    });
  },
  //根据经纬度转换具体地址名称
  _setOrderLocation(e) {
    let that = this;
    app.getReverseGeocoder(e.lat,e.lng).then(function (res) {
      console.log("userLocationFlag", res);
      let mapdata = res;
      let recommend = mapdata.address_component;
      let orderLocationObj = {
        positioning_success: 1,
        register_province: recommend.province,
        register_city: !app._isTextEmpty(recommend.city) ? recommend.city : recommend.province
      };
      that.data.orderLocationObj = orderLocationObj;
    }).catch(function(err){
      console.log(err);
    });
  },



  async checkAlbum(scopeName) {
    let writePhotosAlbum = await this.getAuthSetting(scopeName);
    return new Promise( (resolve, reject) => {
      if (!writePhotosAlbum) {
        wx.showModal({
          title: '请开启授权',
          content: '是否跳转设置页开启授权',
          success(res) {
            if (res.confirm) {
              wx.openSetting({
                success(settingdata) {
                  if (settingdata.authSetting[scopeName]) {
                    resolve(true);
                  } else {
                    resolve(false);
                  }
                }
              });
            } else if (res.cancel) {
              resolve(false);
            }
          },
          fail: () => {
            resolve(false);
          }
        });
      } else resolve(true);

    });

  },
  getAuthSetting(authName) {
    return new Promise((resolve, reject) => {
      wx.getSetting({
        success(res) {
          if (!res.authSetting[authName]) {
            wx.authorize({
              scope: authName,
              success() {
                resolve(true);
              },
              fail() {
                resolve(false);
              }
            });
          } else resolve(true);
        },
        fail() {
          resolve(false);
        }
      });
    });
  },
  tips(msg) {
    wx.showToast({
      title: msg,
      icon: 'none',
      duration: 2000
    });
    return false;
  },
  realnameInp(e){
    let key = e.detail.value;
    this.setData({
      'form.realname':key
    });
  },
  SetPwdClick () {
    this.setData({
      visibleSet: !this.data.visibleSet
    });
  },
  surePwdClick () {
    this.setData({
      visibleSure: !this.data.visibleSure
    });
  },
});
