<style>
 .addContacts .add-tit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 20px;
}
.addContacts .add-tit p {
  display: flex;
  align-items: center;
  font-weight: bold;
  color: rgba(17, 17, 17, 1);
  font-size: 14px;
}
.addContacts .add-tit p span {
  display: inline-block;
  width: 6px;
  height: 6px;
  /* background: #409efe; */
  border-radius: 50%;
  margin-right: 10px;
}
.addContacts .el-dialog__header {
  padding: 15px 20px;
  background: rgba(255, 255, 255, 1);
}
.addContacts .dialog-footer {
  text-align: center;
  background-color: rgba(248, 250, 251, 1);
  padding-bottom: 20px;
}
.addContacts .el-dialog__footer {
  padding: 0;
}
  </style>
  <template>
      <el-dialog @closed="closedDialog" :modal="false" :visible.sync="dialogTableVisible" 
      :close-on-click-modal="false" class="addContacts"
      width="700px">
          <div class="add-tit" slot="title">
              <p v-if="form.ID==0"><span></span>{{ $t('objFill.tianjialxr') }}</p>
              <p v-else><span></span>{{ $t('objFill.v102.xiugailianxr') }}</p>
              <span icon="el-icon-close"></span>
          </div>
          <div class="form-box">
            <el-form :model="form" ref="form" class="MyEditForm" :rules="rules" label-width="100px">
                <el-row :gutter="30">
                    <el-col :span="12">
                        <div class="MyEditForm-item">
                            <el-form-item :label="$t('hotel.suplier_contact')" prop="ContactName">
                                <el-input :placeholder="$t('objFill.qingshurulxxm')" v-model="form.ContactName" class="w200"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="12">
                        <div class="MyEditForm-item">
                            <el-form-item :label="$t('hotel.table_tel')" prop="ContactPhone">
                                <el-input :placeholder="$t('rule.EnterPNum')" v-model="form.ContactPhone" class="w200"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="12">
                        <div class="MyEditForm-item">
                            <el-form-item :label="$t('visaT.post')" prop="ContactDuty">
                                <el-select v-model="form.ContactDuty" :placeholder="$t('objFill.v102.qingxuanzlxrzw')" class="w200">
                                    <el-option 
                                        v-for='item in zwList' 
                                        :label='item.Name' 
                                        :value='item.ID' 
                                        :key='item.ID'>
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="12">
                        <div class="MyEditForm-item">
                            <el-form-item :label="$t('system.table_sex')" prop="Sex">
                                <el-select v-model="form.Sex" :placeholder="$t('objFill.v102.qingxzlxrxinb')" class="w200">
                                    <el-option :label="$t('objFill.v102.baomi')" :value='0' :key='0'> </el-option>
                                    <el-option :label="$t('pub.man')" :value='1' :key='1'> </el-option>
                                    <el-option :label="$t('pub.woman')" :value='2' :key='2'> </el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="12">
                        <div class="MyEditForm-item">
                            <el-form-item :label="$t('objFill.v102.shifoujuecr')" prop="IsMain">
                                <el-select v-model="form.IsMain" :placeholder="$t('objFill.v102.qingxuanzsfjcr')" class="w200">
                                    <el-option :label="$t('pub.no')" :value='0' :key='0'> </el-option>
                                    <el-option :label="$t('pub.yes')" :value='1' :key='1'> </el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col v-if="ContactData.ID==0" :span="12">
                        <div class="MyEditForm-item">
                            <el-form-item :label="$t('admin.admin_password')" prop="Password">
                                <el-input :placeholder="$t('admin.admin_lnLoginPwd')" v-model="form.Password" class="w200"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="24">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item :label="$t('pub.pubRemark')">
                                <el-input type="textarea" :placeholder="$t('rule.EnterMark')" v-model="form.Remark"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                </el-row>
            </el-form>
          </div>
          <div slot="footer" class="dialog-footer">
              <el-button type="primary" class="add-box-btn" @click="submitForm('form')" :loading="loading">{{$t('pub.sureBtn')}}</el-button>
              <el-button class="add-box-btn add-box-cancel" @click="dialogTableVisible = false, resetForm('form')">{{$t('pub.cancelBtn')}}</el-button>
          </div>
      </el-dialog>
  </template>
  <script>
  export default {
    props: ["ContactData"],
    data() {
      return {        
        loading: false,
        dialogTableVisible: true,
        rules: {
          IsMain: [
            { required: true, message: this.$t('objFill.v102.qingxuanzsfjcr'), trigger: "change" },
          ],
          Sex: [
            { required: true, message: this.$t('objFill.v102.qingxzlxrxinb'), trigger: "change" },
          ],
          ContactDuty: [
            { required: true, message: this.$t('objFill.v102.qingxuanzlxrzw'), trigger: "change" },
          ],
          ContactName: [
            { required: true, message: this.$t('objFill.qingshurulxxm'), trigger: "blur" },
          ],
          ContactPhone: [
            { required: true, message: this.$t('objFill.qingshurulxrdh'), trigger: "blur" },
          ],
          Password: [
            { required: true, message: this.$t('admin.admin_lnLoginPwd'), trigger: "blur" },
          ],
        },
        zwList: [],
        form: {
          InfoID: 0,
          ContactName: "",
          ContactPhone: "",
          ContactDuty: "",
          Sex: 0,
          IsMain: 0,
          Remark: "",
          ID: 0,
          NextContactTime: "",
          Password:""
        },
      };
    },
    watch: {},
    mounted() {
      if(this.ContactData){
        this.form = this.ContactData;
      }
      this.getZw();
      let $this = this;
      setTimeout(() => {
        $this.dialogTableVisible = true;
      }, 50);
    },
    methods: {
      closedDialog() {
        this.$emit("closeaddTeamman");
      },
      addData() {
      this.loading=true;
      this.crmapipost(
        "/api/Customer/CreateMyCustomerContact",
        this.form,
        (res) => {
          if (res.data.resultCode == 1) {
            this.loading=false;
            this.$message.success(this.$t('objFill.chaozuochenggong'));
            this.resetForm("form");
            this.dialogTableVisible = false;
            this.$emit("addTeammanOk");
          }else{
            this.loading=false;
            this.$message.error(res.data.message)
          }
        }
      );
    },
    submitForm(addMsg) {
      //提交创建、修改表单
      this.$refs[addMsg].validate((valid) => {
        if (valid) {
          this.addData();
        } else {
          return false;
        }
      });
    },
      resetForm(formName) {
      // 重置表单
      this.form = {
          InfoID: 0,
          ContactName: "",
          ContactPhone: "",
          ContactDuty: "",
          Sex: 0,
          IsMain: 0,
          Remark: "",
          ID: 0,
          NextContactTime: "",
          Password:""
      };
      this.$refs[formName].resetFields();
    },
      getZw() {
        this.apipost(
          "app_today_visit_GetCustomerDutyEnum",
          {},
          (res) => {
            if (res.data.resultCode == 1) {
              this.zwList = res.data.data;
            }
          },
          (err) => {}
        );
      },
    },
  };
  </script>