
const Constants = require('../../../utils/Constants.js')
const util = require('../../../utils/util.js')
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    inputWidth: {  //输入框长度
      type: String,
      value: '200'
    },
    inputAlign: {  //对齐方式
      type: String,
      value: 'left'
    },
    disabledInput: {
      type: Boolean,
      value: false
    },
    label: {
      type: String,
      value: '联系电话'
    },
    placeholder: {
      type: String,
      value: '请输入联系电话'
    },
    errorMessage: {
      type: String,
      value: ''
    },
    // 是否校验电话格式
    validTelephoneRule: {
      type: Boolean,
      value: true
    },
    disabled: {  //禁用
      type: Boolean,
      value: false
    },
    maxlength: {  //最大位数
      type: Number,
      value: 11
    },
    type: {
      type: String,
      value: 'number'
    },
    value: {
      type: String,
      value: ''
    },
    dataKey: {
      type: String,
      value: ''
    },
    rightIcon: {  //右侧显示图标
      type: String,
      value: ''
    },
    labelClass: {  // label样式
      type: String,
      value: 'label-blue'
    },
    // 字体粗细
    fontWeight: {
      type: String,
      value: 'nomal'
    },
    // 是否只读
    readonly:{
      type:Boolean,
    },
    // 是否显示清空
    clearable:{
      type:Boolean
    }
  },

  options: {
    styleIsolation: 'shared',
  },
  /**
   * 组件的初始数据
   */
  data: {
    clearFlag:false
  },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * @desc   : 值改变
     * @author : 周兴
     * @date   : 2024/1/26 11:46
     */
    changeField(e) {
      this.triggerEvent('changeField', e)
    },
    /**
     * @desc   : 值清空
     * @author : 周兴
     * @date   : 2024/1/26 11:46
     */
    clearField(e){
      this.setData({
        clearFlag:true
      })
      this.triggerEvent('clear')
    },
    /**
     * @desc   : 值改变进行校验
     * @author : 周兴
     * @date   : 2024/1/26 11:46
     */
    changeFieldblur(e) {
      if (this.data.validTelephoneRule) {
        setTimeout(()=>{
          // 点击清空进行的
          if(this.data.clearFlag){
            this.setData({
              clearFlag:false
            })
            return;
          }
          let errorMessage = this.data.errorMessage;
          // 联系电话格式错误
          if (e.detail.value && e.detail.value != "") {
            var myreg = Constants.Mobile_Phone_Number_Regular_Expression
            if (!myreg.test(e.detail.value)) {
              errorMessage = this.data.label + '格式错误'
            }
          } else {
            errorMessage = this.data.label + '格式错误'
          }
          this.setData({
            errorMessage: errorMessage
          })
          e.errMsg = errorMessage
        },200)
      }
      this.triggerEvent('changeFieldblur', e)
    },

    clickFieldInput(e) {
      console.log('clickFieldInput', e)
      this.triggerEvent('clickFieldInput', e)
    },
    /**
     * 联系电话 拨打
     */
    onClickphone(e) {
      console.log('eee', e);
      let icon = e.target.dataset.icon
      // 打电话
      if (icon == 'phone') {
        if (this.data.value) {
          // 拨打电话
          wx.makePhoneCall({
            phoneNumber: this.data.value,
          })
        }
        this.triggerEvent('onClickphone', e)
      } else if (icon == 'edit') {
        // 编辑
        this.triggerEvent('onEditphone', e)
      }
    },
    copyPhone() {
      this.triggerEvent('copyPhone', this.data.value)
      if (!this.data.value) return;
      util.toCopy(this.data.value, this.data.label);
    },
  }
})
