<template>
  <div id="register">
    <Ediheader></Ediheader>
    <div class="register-container full-page">
      <el-row style="">
        <el-col :span="12" style="margin：auto">
          <div class="grid-content bg-purple" style="width:60%;">
            <el-form
              :model="ruleForm2"
              status-icon
              :rules="rules2"
              ref="ruleForm2"
              label-width="120px"
              class="demo-ruleForm"
            > 
             <el-form-item prop="sUserNo" label="用户编码" class="register_item">
                <el-input
                  v-model="ruleForm2.sUserNo"
                  auto-complete="off"
                  placeholder="请输入数字或字母组成的编码"
                ></el-input>
                <!-- <el-button @click="get_code" type="primary">点击自动获取编码</el-button> -->
                <!-- <el-button type="primary">主要按钮</el-button> -->
              </el-form-item>
               <el-form-item prop="sPassword" label="登录密码" class="register_item">
                <el-input
                  type="password"
                  v-model="ruleForm2.sPassword"
                  auto-complete="off"
                  placeholder="输入密码(长度在 6 到 16个字符)"
                ></el-input>
              </el-form-item>
              <el-form-item prop="checkPass" label="确认密码" class="register_item">
                <el-input
                  type="password"
                  v-model="ruleForm2.checkPass"
                  auto-complete="off"
                  placeholder="确认密码"
                ></el-input>
              </el-form-item>
              <el-form-item prop="sFullName" label="公司全称" class="register_item">
                <el-input v-model="ruleForm2.sFullName" auto-complete="off" placeholder="公司全称"></el-input>
              </el-form-item>
              <el-form-item prop="sUserName" class="register_item" label="公司简称">
                <el-input v-model="ruleForm2.sUserName" placeholder="公司简称"></el-input>
                <!-- <el-button type="primary" :disabled="isDisabled" @click="sendCode">{{buttonText}}</el-button> -->
              </el-form-item>
             
             
              <el-form-item prop label="常用邮箱" class="register_item">
                <el-input v-model="ruleForm2.sEmail" auto-complete="off" placeholder="常用邮箱"></el-input>
              </el-form-item>
              <!-- <el-form-item prop="sTelephone" label="联系电话" class="register_item">
                <el-input v-model="ruleForm2.sTelephone" auto-complete="off" placeholder="联系电话"></el-input>
              </el-form-item>-->
              <!-- <el-form-item class="register_item">
                <el-button type="primary" @click="submitForm('ruleForm2')" style="width:100%;">注册</el-button>
                <p class="login" @click="gotoLogin">已有账号？立即登录</p>
              </el-form-item>-->
            </el-form>
          </div>
        </el-col>
        <el-col :span="12">
          <div class="grid-content bg-purple-light">
            <div class="agreement" style="max-height:280px; overflow:auto;text-align: justify;">
              <h5>环思智慧云平台申请账户协议</h5>尊敬的用户，欢迎您使用环思智慧云平台！ 特别提示：超过40家纺织上市公司
              十六年砥砺奋进，环思大脑、智能排产、SAP、Dynamic、SEDO、SETEX、SaaS、柔性化、决策支持、大数据、动态控制、一揽子、一体化等等，环思在不断创造性的诠释纺织智能智造，
              持续聚集的能量中心，全方位的能力中心，全产业链的全覆盖，100个研发基地，1000个纺织专家，连接10000 家企业将成为环思可见的现实和事实，能量无处不在，能力无所不能，致力于
              “中国纺织因环思而不同”，这个时代真正的魅力，在于不可预测性，勇于挑战和拼搏小概率是环思成长的基因，环思正走在智能智造引领者和领导者的路上。超过40家纺织上市公司
              十六年砥砺奋进，环思大脑、智能排产、SAP、Dynamic、SEDO、SETEX、SaaS、柔性化、决策支持、大数据、动态控制、一揽子、一体化等等，环思在不断创造性的诠释纺织智能智造，
              持续聚集的能量中心，全方位的能力中心，全产业链的全覆盖，100个研发基地，1000个纺织专家，连接10000 家企业将成为环思可见的现实和事实，能量无处不在，能力无所不能，致力于
              “中国纺织因环思而不同”，这个时代真正的魅力，在于不可预测性，勇于挑战和拼搏小概率是环思成长的基因，环思正走在智能智造引领者和领导者的路上。
              尊敬的用户，欢迎您使用环思智慧云平台！ 特别提示：超过40家纺织上市公司
              十六年砥砺奋进，环思大脑、智能排产、SAP、Dynamic、SEDO、SETEX、SaaS、柔性化、决策支持、大数据、动态控制、一揽子、一体化等等，环思在不断创造性的诠释纺织智能智造，
            </div>
          </div>
          <div>
            <el-radio size="medium" v-model="radio" label="1">同意</el-radio>
            <el-radio size="medium" v-model="radio" label="2">不同意</el-radio>
          </div>
        </el-col>
        <el-col :span="24">
          <el-button style="width:200px;" @click="submitForm('ruleForm2')" type="primary">注册</el-button>
          <div style="font-size:16px; margin-top: 30px;">
            已有账号?
            <span class="login" @click="go_login">去登录</span>
          </div>
        </el-col>
      </el-row>
    </div>
  </div>
</template>
<script>
import Ediheader from './header.vue'
import axios from 'axios'
export default {
  components: {
    Ediheader
  },
  name: 'Register',
  data() {
    //  <!--验证码是否为空-->
    const validatePass = (rule, value, callback) => {
      if (!value) {
        callback(new Error('请输入密码'))
      } else {
        // if (this.ruleForm2.checkPass !== '') {
        //   this.$refs.ruleForm2.validateField('checkPass')
        // }
        callback()
      }
    }
    // <!--二次验证密码-->
    const validatePass2 = (rule, value, callback) => {
      if (!value) {
        callback(new Error('请再次输入密码'))
      } else if (value !== this.ruleForm2.sPassword) {
        callback(new Error('两次输入密码不一致!'))
      } else {
        callback()
      }
    }
    // 邮箱的验证格式
    var checkEmail = (rule, value, callback) => {
      const mailReg = /^[1-9]\d*$/
      if (value) {
        setTimeout(() => {
          if (mailReg.test(value)) {
            callback()
          } else {
            callback(new Error('请输入正确的邮箱格式'))
          }
        }, 100)
      } else {
        callback()
      }
    }
    var sUserNo = (rule, value, callback) => {
      const mailReg = /^[A-Za-z0-9]+$/
      if (value) {
        setTimeout(() => {
          if (mailReg.test(value)) {
            callback()
          } else {
            callback(new Error('请输入正确编码格式'))
          }
        }, 100)
      }
    }
    return {
      ruleForm2: {},
      radio: '2',
      module_name: '/mesAPI/register/',
      userinfo: {},
      rules2: {
        sPassword: [
          { validator: validatePass, trigger: 'change', required: true },
          {
            min: 6,
            max: 16,
            message: '长度在 6 到 16个字符'
          }
        ],
        checkPass: [
          { validator: validatePass2, trigger: 'change', required: true }
        ],
        sFullName: [
          { required: true, message: '请输入公司全称', trigger: 'change' }
        ],
        sUserName: [
          { required: true, message: '请输入用户名', trigger: 'change' }
        ],
        sUserNo: [
          { required: true, message: '请输入唯一编码', trigger: 'change' },
          { validator: sUserNo, trigger: 'change' }
        ],
        sEmail: [
          {
            validator: checkEmail
          }
        ]
      },
      buttonText: '发送验证码',
      isDisabled: false, // 是否禁止点击发送验证码按钮
      flag: true,
      sign: ''
    }
  },
  mounted() {
    if (this.$route.query.sign) {
      this.sign = this.$route.query.sign
      this.Expires()
    }
  },
  methods: {
    // 获取唯一编码
    get_code() {
      axios
        .get(`mesAPI/register/`)
        .then(res => {
          console.log(res)
          this.$set(this.ruleForm2, 'sUserNo', res.data.sUserNo)
          // this.ruleForm2.sUserNo = res.data.sUserNo
          console.log(this.ruleForm2.sUserNo)
        })
        .catch(res => {
          // this.$router.push({ path: '/error' })
        })
    },
    // 验证邀请链接是否过期
    Expires() {
      var params = { sign: this.sign }
      axios
        .get(`mesAPI/invitation/verify/`, { params })
        .then(res => {
        })
        .catch(res => {
          // this.$router.push({ path: '/error' })
        })
    },
    // <!--提交注册-->
    submitForm(formName) {
      if (this.radio === '2') {
        this.$message('请先同意协议')
        return
      }
      this.$refs[formName].validate(valid => {
        if (valid) {
          // setTimeout(() => {
          //   alert('注册成功')
          // }, 400)
          this.register()
        } else {
          console.log('error submit!!')
          return false
        }
      })
    },
    register() {
      let url = ''
      if (this.sign) {
        url = `${this.module_name}?sign=${this.sign}`
      } else {
        url = this.module_name
      }
      axios.post(`${url}`, this.ruleForm2).then(res => {
        console.log(res)
        if (res.data.message === '注册成功') {
          this.$message.success(res.data.message)
          this.$router.push({ path: 'login' })
        } else {
          this.$message(res.data.message)
        }
      })
    },
    go_login() {
      if (this.sign) {
        this.$router.push({ path: 'login', query: { sign: this.sign }})
      } else {
        this.$router.push({ path: 'login' })
      }
    },
    // <!--发送验证码-->
    // <!--进入登录页-->
    // gotoLogin() {
    //   this.$router.push({
    //     path: '/login'
    //   })
    // },
    // 验证手机号
    checkMobile(str) {
      const re = /^1\d{10}$/
      if (re.test(str)) {
        return true
      } else {
        return false
      }
    }
  }
}
</script>

<style scoped>
#register {
  margin-top: 60px;
}
.grid-content {
  margin: 20px auto;
}
.register_item {
  margin-top: 20px;
}
.grid-content {
  width: 60%;
  height: 50%;
  margin-top: 90px;
}
.grid-content >>> h5 {
  margin-bottom: 30px;
}
.register_item_two >>> .el-input {
  width: 60%;
}
.login {
  color: #b0dfc5;
}
.register_item >>> .el-form-item__error {
  top: 100%;
}
.item_two {
  display: inline-block;
  text-align: left
}
</style>