<template>
  <div>
    <a-form-model ref="form" :model="formData" :rules="rules">
      <a-form-model-item label="姓 名" prop="personName">
        <a-input v-model="formData.personName" :maxLength="30" style="width:180px;" />
      </a-form-model-item>
      <a-form-model-item label="民 族" prop="nation">
        <para-select v-model="formData.nation" :width="180" :typeId="11" />
      </a-form-model-item>
      <a-form-model-item label="职 称" prop="title">
        <para-multi-select :width="180" v-model="formData.title" :typeId="7" />
      </a-form-model-item>
      <a-form-model-item label="专 业" prop="spec">
        <para-multi-select :width="180" v-model="formData.spec" :typeId="57" />
      </a-form-model-item>
      <a-form-model-item label="学 位" prop="degree">
        <para-select v-model="formData.degree" :width="180" :typeId="9" />
      </a-form-model-item>
      <a-form-model-item label="职 务" prop="duty">
        <a-input v-model="formData.duty" :maxLength="30" style="width:180px;" />
      </a-form-model-item>
      <a-form-model-item label="联系电话" prop="telephone">
        <a-input v-model="formData.telephone" :maxLength="30" style="width:180px;" />
      </a-form-model-item>
      <a-form-model-item label="传 真" prop="fax">
        <a-input v-model="formData.fax" :maxLength="30" style="width:180px;" />
      </a-form-model-item>
      <a-form-model-item label="邮 箱" prop="email">
        <a-input v-model="formData.email" :maxLength="30" style="width:180px;" />
      </a-form-model-item>
      <a-form-model-item label="通讯地址" prop="address">
        <a-input v-model="formData.address" :maxLength="60" style="width:180px;" />
      </a-form-model-item>
    </a-form-model>
  </div>
</template>

<script>
import { isEmptyParams, hideIdCard, hidePhone, checkEmail } from "@/views/utils/common"
import paraMultiSelect from '@/views/components/common/paraMultiSelect'
import paraSelect from '@/views/components/common/paraSelect'
import baseSelect from '@/views/components/common/baseSelect'

export default {
  name: "infoEdit",
  components: {
    paraMultiSelect, paraSelect, baseSelect
  },
  data () {
    return {
      rules: {
        personName: [{ required: true, message: '*', trigger: 'blur' },],
        nation: [{ required: true, message: '*', trigger: 'change' }],
        title: [{ required: true, message: '*', trigger: 'change' }],
        spec: [{ required: true, message: '*', trigger: 'change' }],
        degree: [{ required: true, message: '*', trigger: 'change' }],
        duty: [{ required: true, message: '*', trigger: 'blur' }],
        telephone: [{ required: true, message: '*', trigger: 'blur' },],
        fax: [{ required: true, message: '*', trigger: 'blur' },],
        email: [{ required: true, message: '*', trigger: 'blur' },],
        address: [{ required: true, message: '*', trigger: 'blur' },],
      },
    }
  },
  props: {
    formData: {
      type: Object,
      default: () => {
        return null
      }
    },
  },
  created () {
  },
  methods: {
    submit () {
      this.$refs.form.validate(valid => {
        if (valid) {
          this.$emit('load', true)
          let pars = isEmptyParams(this.formData)
          let par = { ...pars }
          this.$api.person.updatePerson(par).then(({ data = {} }) => {
            if (data) {
              this.$message.success('成功!')
            }
            this.$emit('load', false)
          }).catch(() => { this.$emit('load', false) })
        } else {
          this.$message.warn('信息未填写完全!')
          return false
        }
      });
    },
  }
}
</script>
<style scoped lang="less">
.app-content {
  padding: 10px 8px 10px 8px;
  min-width: 920px;
  .border-style {
    border-radius: 4px;
    border: 1px solid #e6ebf5;
    background-color: #ffffff;
    overflow: hidden;
    color: #303133;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .card-left {
    float: left;
    width: 300px;
    height: 600px;
    margin-right: 6px;
    .holder-photo {
      margin: 20px 0px 10px 0px;
      text-align: center;
    }
    .holder-photo > img {
      width: 104px;
      height: 104px;
      margin-bottom: 10px;
    }
    .holder-info {
      padding: 0px 10px 0px 10px;
      .ant-row .ant-col {
        padding: 3px 5px 3px 5px;
      }
    }
    .title {
      text-align: right;
    }
  }
  .card-right {
    float: left;
    width: calc(100% - 320px);
    min-width: 600px;
    min-height: 200px;
    padding: 0px 15px 15px 15px;
    .ant-form-item {
      margin-bottom: 0px;
    }
    ::v-deep .ant-row {
      .ant-col {
        display: inline-block;
      }
      .ant-form-item-label {
        width: 70px;
      }
      .ant-form-item-control-wrapper {
        width: calc(100% - 70px);
      }
      .ant-form-explain {
        margin-left: 5px;
        display: inline-block;
      }
    }
  }
}
</style>