<style>
.customerDialogBox.add-box .add-tit{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 20px;
}
.customerDialogBox.add-box .add-tit p{
    display: flex;
    align-items: center;
    font-weight: bold;
    color:rgba(17,17,17,1);
    font-size:14px;
}
.customerDialogBox.add-box .add-tit p span{
    display: inline-block;
    width:6px;
    height:6px;
    background:rgba(13,36,129,1);
    border-radius:50%;
    margin-right: 10px;
}
.customerDialogBox.add-box .el-dialog__header{
    padding: 15px 20px;
    background:rgba(255,255,255,1);
}
.customerDialogBox.add-box .dialog-footer{
    text-align: center;
    background-color: rgba(248,250,251,1);
    padding-bottom: 20px;
}
.customerDialogBox.add-box .el-dialog__footer{
    padding: 0;
}
.customerDialogBox.add-box .el-dialog__body{
    background-color: rgba(248,250,251,1);
    padding-top: 20px;
    max-height: 500px;
    overflow: auto;
}
.customerDialogBox .add-box-btn.el-button{
    border-radius: 0;
    background-color: rgba(13, 36, 129, .8);
    border-color: rgba(13, 36, 129, .8);
    color: white;
    padding: 12px 43px;
}
.customerDialogBox .add-box-btn.el-button:hover{
    background-color: rgba(13, 36, 129, 1);
    border-color: rgba(13, 36, 129, 1);
    color: white;
}
.customerDialogBox .add-box-btn.el-button.add-box-cancel{
    color: rgba(13, 36, 129, .8);
    background-color: white;
}
.customerDialogBox .add-box-btn.el-button.add-box-cancel:hover{
    color: rgba(13, 36, 129, 1);
    background-color: white;
}
.customerDialogBox .el-input .el-input-group__append {
    background-color: rgba(13, 36, 129, 1);
    border-color: rgba(13, 36, 129, 1);
    color: #fff;
}
.customerDialogBox .form-box .form-box-tit{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.customerDialogBox .form-box .radius{
    display: flex;
    width:4px;
    height:4px;
    background:rgba(255,164,117,1);
    border-radius:50%;
    margin-right: 10px;
}
.customerDialogBox .up-img-box .uib-item{
    margin-right: 30px;
    width: 120px;
    height: 120px;
    background-color: white;
    position: relative;
    margin-bottom: 30px;
}
.customerDialogBox .up-img-box .uib-item p{
    position: absolute;
    bottom: -30px;
    font-size: 12px;
    text-align: center;
    width: 100%;
}
.customerDialogBox .up-img-box .uib-item:hover .imgzhe-btn{
    opacity: 1
}
.customerDialogBox .imgzhe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
}
.customerDialogBox .imgzhe .imgzhe-btn{
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 120px;
    position: absolute;
    top: 0;
    opacity: 1;
    transition: all linear .5s
}
.customerDialogBox .imgzhe .imgzhe-btn i{
    font-size: 22px;
    margin-right: 5px;
    color: white;
    cursor: pointer;
}
.customerDialogBox .up-ctrl{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.customerDialogBox .up-ctrl>div{
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 140px;
}
.MyEditForm-item-checkd.MyEditForm-item .el-form-item{
    width: 80%;
}
.MyEditForm-item-checkd .el-checkbox{
    position: absolute;
    right: -50px;
    top: 10px;
}
._addPassengerEconomicCapability {
    line-height: 22px;
    overflow: hidden;
    width: 100%;
}

._addPassengerEconomicCapability span {
    display: inline-block;
    padding: 2px 4px;
    border: 1px solid #c0c4cc;
    margin: 1px;
    cursor: pointer;
    color: #c0c4cc;
    font-size: 12px;
    border-radius: 4px;
}

._addPassengerEconomicCapability span._active {
    border: 1px solid rgb(123, 194, 245);
    color: rgb(123, 194, 245);
}
</style>
<template>
    <el-dialog :visible.sync="dialogTableVisible" @closed="closedDialog" :close-on-click-modal="false" class="add-box add-box1 customerDialogBox">
        <div class="add-tit" slot="title">
            <p><span></span>{{name}}</p>
            <span icon="el-icon-close"></span>
        </div>
        <div class="form-box" v-if="show">
            <el-form :model="form" ref="form" class="MyEditForm" :rules="rules">
                <p class="form-box-tit"><span class="radius"></span> 基本信息</p>
                <el-row :gutter="30">
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="身份证号码" prop="IdCard">
                                <el-input placeholder="请输入客户身份证号码" v-model="form.IdCard"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="中文姓" prop="SurName">
                                <el-input placeholder="请输入中文姓" v-model="form.SurName" @input="Transformation(form.SurName,'SurName')"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="中文名" prop="Name">
                                <el-input placeholder="请输入中文名" v-model="form.Name" @input="Transformation(form.Name,'Name')"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="性别" prop="Sex">
                                <el-select v-model="form.Sex">
                                    <el-option :key="0" label="保密" :value="0"></el-option>
                                    <el-option :key="1" label="男" :value="1"></el-option>
                                    <el-option :key="2" label="女" :value="2"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="英文姓" prop="ESurName">
                                <el-input placeholder="请输入英文姓" v-model="form.ESurName"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="英文名" prop="EName">
                                <el-input placeholder="请输入英文名" v-model="form.EName"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="手机号码" prop="MobilePhone">
                                <el-input placeholder="请输入手机号码" v-model="form.MobilePhone"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="生日">
                                <el-date-picker
                                    :clearable="false"
                                    value-format="yyyy-MM-dd HH:mm:ss"
                                    v-model="form.Birthday"
                                    type="date"
                                    placeholder="选择日期">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="出生地">
                                <el-input placeholder="请输入出生地" v-model="form.BirthdayAddress"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="护照号">
                                <el-input placeholder="请输入护照号" v-model="form.PassportNo"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="护照号签发地">
                                <el-input placeholder="请输入护照号签发地" v-model="form.PassportAddress"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="护照签发日期">
                                <el-date-picker
                                    :clearable="false"
                                    value-format="yyyy-MM-dd HH:mm:ss"
                                    v-model="form.PassportIssued"
                                    type="date"
                                    placeholder="选择日期">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="护照过期日">
                                <el-date-picker
                                    :clearable="false"
                                    value-format="yyyy-MM-dd HH:mm:ss"
                                    v-model="form.PassportExpiry"
                                    type="date"
                                    placeholder="选择日期">
                                </el-date-picker>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="国籍" prop="Nationality">
                                <el-select
                                    v-model="form.Nationality" placeholder="国家">
                                    <el-option
                                        v-for="item in countryList"
                                        :key="item.ID"
                                        :label="item.Name"
                                        :value="item.ID">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="婚姻">
                                <el-select v-model="form.Marriage">
                                    <el-option :key="0" label="保密" :value="0"></el-option>
                                    <el-option :key="1" label="未婚" :value="1"></el-option>
                                    <el-option :key="2" label="已婚" :value="2"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="家庭居住地">
                                <el-input placeholder="请输入家庭居住地" v-model="form.Address"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="家庭详细地址">
                                <el-input placeholder="请输入详细地址" v-model="form.AddressDetail"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="身份确认">
                                <el-select v-model="form.IdentityType">
                                    <el-option v-for="item in VisaIdentityTypeEnum" :key="item.Id" :label="item.Name" :value="item.Name"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item MyEditForm-item-checkd label-pad-left">
                            <el-form-item label="出境记录">
                                <el-select v-model="form.HistoryRecord" filterable>
                                    <el-option v-for="item in VisaDeparturesType" :key="item.Id" :label="item.Name" :value="item.Name">
                                    </el-option>
                                </el-select>
                                <el-checkbox v-model='form.IsRecommend' :true-label='1' :false-label='2'>推荐</el-checkbox>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item ">
                            <el-form-item label="职务" prop="Duty">
                                <el-select v-model="form.Duty" filterable>
                                    <el-option v-for="item in VisaDutyTypeEnum" :key="item.Id" :label="item.Name" :value="item.Name"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item label-pad-left">
                            <el-form-item label="备注">
                                <el-input type="textarea" placeholder="客户的特殊喜好" v-model="form.Remarks"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="出游类型" prop="TravelType">
                                <el-select v-model="form.TravelType" filterable >
                                    <el-option v-for="item in TravelTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="单位类型" prop="UnitType">
                                <el-select v-model="form.UnitType" filterable >
                                    <el-option v-for="item in UnitTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="职务类型" prop="DutyType">
                                <el-select v-model="form.DutyType" filterable >
                                    <el-option v-for="item in DutyTypeList" :key="item.Code" :label="item.Content" :value="item.Code"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="高校学生">
                                <el-select v-model="form.IsHightSchool">
                                    <el-option :key="1" label="是" :value="1"></el-option>
                                    <el-option :key="2" label="否" :value="2"></el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="8">
                        <div class="MyEditForm-item">
                            <el-form-item label="客户来源" prop="CustomerSourceType">
                                <el-select v-model="form.CustomerSourceType" placeholder="请选择客户来源">
                                    <el-option
                                        v-for="item in SourceEnum"
                                        :key="item.ID"
                                        :label="item.Name"
                                        :value="item.ID">
                                    </el-option>
                                </el-select>
                            </el-form-item>
                        </div>
                    </el-col>
                    <el-col :span="16" v-if="form.CustomerSourceType === 6">
                        <div class="MyEditForm-item">
                            <el-form-item label="客户来源信息" prop="CustomerSource">
                                <el-input type="textarea" placeholder="请输入客户来源信息" v-model="form.CustomerSource"></el-input>
                            </el-form-item>
                        </div>
                    </el-col>
                    <template v-for='(item,index) in EconomicCapabilityS' >
                        <el-col :span="8" :key="index" v-if='item.isShow' >
                            <div class="MyEditForm-item">
                                <el-form-item :label="item.Name">
                                    <el-input v-model="item.Content" type="text" maxlength="50"></el-input>
                                </el-form-item>
                            </div>
                        </el-col>
                    </template>
                </el-row>
            </el-form>
            <div class="_addPassengerEconomicCapability">
                <span v-for="(item, index) in EconomicCapabilityS" :key="index" @click="addEconomicCapability(item)"
                        :class="{_active:item.isShow}">{{item.Name}}</span>
            </div>
        </div>
        <div slot="footer" class="dialog-footer">
            <el-button type="primary" class="add-box-btn" @click="submitForm('form')">确 定</el-button>
            <el-button class="add-box-btn add-box-cancel" @click="dialogTableVisible = false, resetForm('form')">取 消</el-button>
        </div>
        <el-dialog :visible.sync="dialogVisible">
            <img width="100%" :src="dialogImageUrl" alt="">
        </el-dialog>
    </el-dialog>
</template>
<script>
export default {
  props:{
    CustomerId: {
        type: Number,
        default: 0
    },
    name: {
        type: String,
        default: '新建客户'
    }
  },
  data() {
    let checkPhone = (rule, value, callback) => {
        if (!value) {
            return callback(new Error('手机号不能为空'));
        } else {
            const reg = /^1[3|4|5|7|8][0-9]\d{8}$/
            if (reg.test(value)) {
                callback();
            } else {
                return callback(new Error('请输入正确的手机号'));
            }
        }
    }
    return {
        dialogTableVisible: false,
        SourceEnum: [],
        countryList: "",
        provinceList: "",
        dialogImageUrl: '',
        dialogVisible: false,
        cityList: "",
        district: "",
        jycs: [],
        fileList: [],
        CustomerLevelEnum: [],
        CustomerBrandList: [],
        form: {
            Id: 0,
            SurName: '',
            Name: '',
            Sex: '',
            EName: '',
            ESurName: '',
            Birthday: '',
            BirthdayAddress: '',
            PassportAddress: '',
            PassportExpiry: '',
            PassportNo: '',
            Nationality: '',
            Marriage: '',
            Address: '',
            AddressDetail: '',
            HistoryRecord: '',
            IdentityType: '',
            Duty: '',
            EconomicCapabilityList: [],
            Remarks: '',
            TravelType: '',
            UnitType: '',
            DutyType: '',
            IsHightSchool: '',
            IsRecommend: '',
            PassportIssued: '',
            IssuingAuthority: '',
            IdCard: '',
            MobilePhone: '',
            CustomerSourceType: '',
            CustomerSource: ''
        },
        VisaIdentityTypeEnum: [],
        VisaDeparturesType: [],
        VisaDutyTypeEnum: [],
        TravelTypeList: [],
        DutyTypeList: [],
        UnitTypeList: [],
        rules: {
          DutyType: [
            { required: true, message: '请选择职务类型', trigger: 'change' }
          ],
          UnitType: [
            { required: true, message: '请选择单位类型', trigger: 'change' }
          ],
          TravelType: [
            { required: true, message: '请选择出游类型', trigger: 'change' }
          ],
          IdCard: [{
            required: true,
            message: "请填身份证号码",
            trigger: "blur"
          }],
          SurName: [{
            required: true,
            message: "请填写中文姓",
            trigger: "blur"
          }],
          Name: [{
            required: true,
            message: "请填写中文名",
            trigger: "blur"
          }],
          Sex: [{
            required: true,
            message: "请填选择性别",
            trigger: "change"
          }],
          ESurName: [{
            required: true,
            message: "请填写英文姓",
            trigger: "blur"
          },
            {
              pattern: /^[a-zA-Z]/,
              message: "请输入英文姓"
            }
          ],
          EName: [{
            required: true,
            message: "请填写英文名",
            trigger: "blur"
          },
            {
              pattern: /^[a-zA-Z]/,
              message: "请输入英文姓"
            }
          ],
          Birthday: [{
            required: true,
            message: "请填选择出生日期",
            trigger: "blur"
          }],
          PassportNo: [{
            required: true,
            message: "请填写护照号",
            trigger: "blur"
          },
            {
              pattern: /^[0-9a-zA-Z]+$/,
              message: "正确的护照号"
            }
          ],
          PassportIssued: [{
            required: true,
            message: "请选择签发日期",
            trigger: "blur"
          }],
          PassportExpiry: [{
            required: true,
            message: "请选择过期日",
            trigger: "blur"
          }],
          AddressDetail: [{
            required: true,
            message: "请输入详细地址",
            trigger: "blur"
          }],
          Address: [{
            required: true,
            message: "请输入家庭居住地",
            trigger: "blur"
          }],
          PassportAddress: [{
            required: true,
            message: "请填写签发地",
            trigger: "blur"
          }],
          MobilePhone: [{validator: checkPhone, trigger: 'blur'}],
          Nationality: [{
            required: true,
            message: "请选择国籍",
            trigger: "change"
          }],
          BirthdayAddress: [{
            required: true,
            message: "请填写出生地",
            trigger: "change"
          }],
          IdentityType: [{
            required: true,
            message: "请选择身份确认",
            trigger: "change"
          }],
          HistoryRecord: [{
            required: true,
            message: "请选择出境记录",
            trigger: "change"
          }],
          Duty: [{
            required: true,
            message: "请选择职务",
            trigger: "change"
          }],
          Marriage: [{
            required: true,
            message: "请选择婚姻",
            trigger: "change"
          }],
          CustomerSource: [
                { required: true, message: '请输入客户来源信息', trigger: 'blur' }
            ],
            CustomerSourceType: [
                { required: true, message: '请选择客户来源', trigger: 'change' }
            ],
        },
        show: true,
        CustomerList: [],
        EconomicCapabilityS: [],
    };
  },watch:{
        CustomerId: {
            handler(val, oldVal){
                console.log(val)
            },
            deep:true
        }
    },
  mounted() {
    this.GetCustomerLevelEnum()
    this.getJycs()
    this.getCustomerBrandList()
    this.getCountryList()
    this.GetCustomerSourceEnum()
    this.getCustomerList()
    this.getVisaIdentityTypeEnum()
    this.getVisaDeparturesType()
    this.getVisaDutyTypeEnum()
    this.getTravelType()
    this.getUnitType()
    this.getDutyType()
    this.getEconomicCapability();
    let $this = this
    setTimeout(()=>{
        $this.dialogTableVisible = true
    },50)
    if (this.CustomerId!==0) {
        this.apipost('/api/Customer/GetAllGuesstCustomerModel', {ID: this.CustomerId}, res=>{
            if (res.data.resultCode == 1) {
                let data = res.data.data
                if(!data.HousePhotos){
                    data.HousePhotos = []
                }
                if(!data.BusinessCardPhotos){
                    data.BusinessCardPhotos = []
                }
                if(!data.Images){
                    data.Images = []
                }
                if(!data.CustomerSourceType){
                    data.CustomerSourceType = ''
                }
                if(!data.CustomerSource){
                    data.CustomerSource = ''
                }
                if(!data.Province){
                    data.Province = ''
                }
                if(!data.Country){
                    data.Country = ''
                }
                if(!data.City){
                    data.City = ''
                }
                if(!data.District){
                    data.District = ''
                }  
                if(data.Country){
                    this.getProvinceList2(data.Country, 1)
                }
                if(data.Province){
                    this.getProvinceList2(data.Province, 2)
                }
                if(data.City){
                    this.getProvinceList2(data.City, 3)
                }
                this.form = data
            } 
        })
    }
  },
  methods: {
      Transformation(val, type) {
        let text = this.pinyin(val, {
          style: this.pinyin.STYLE_NORMAL
        });
        if (type == "SurName") {
          let upText = text.join("").toLocaleUpperCase()
          this.form.ESurName = upText;
        }
        if (type == "Name") {
          let upText = text.join("").toLocaleUpperCase()
          this.form.EName = upText;
        }
      },
      getEconomicCapability() {
        //获取经济能力
        this.apipost2(
          "dict_post_GetList", {
            Key: "SK_Visa_EconomicCapability",
            IsTimer:1
          },
          res => {
            this.EconomicCapabilityS = res.data.data;
            if (this.CustomerId != 0) {
                this.form.Id = this.CustomerId;
                this.apipost('/api/Customer/GetAllGuesstCustomerModel', {ID: this.CustomerId}, res=>{
                    if (res.data.resultCode == 1) {
                        let obj = res.data.data;
                        obj.TravelType = obj.TravelType.toString()
                        obj.UnitType = obj.UnitType.toString()
                        obj.DutyType = obj.DutyType.toString()
                        this.form = obj;
                        this.EconomicCapabilityS.forEach(x => {
                            if (obj.EconomicCapabilityList) {
                                obj.EconomicCapabilityList.forEach(y => {
                                    if (x.ID == y.ID) {
                                        x.isShow = true;
                                        x.Content = y.Value;
                                    }
                                });
                            }
                        });
                    } 
                })
            }
          },
          err => {}
        );
      },
      addEconomicCapability(obj) {
        // 添加经济能力说明
        this.EconomicCapabilityS.forEach(x => {
          if (x.ID == obj.ID) {
            x.isShow ? (x.isShow = false) : (x.isShow = true);
          }
        });
        this.$forceUpdate();
      },
      getDutyType(){
        this.apipost2(
          "dict_get_GetDictValueCommonList",
          {
            Key: 'SK_CRM_DutyType',
          },
          res => { 
            if (res.data.resultCode == 1) {
               this.DutyTypeList = res.data.data
            }else{ 
            }
          },
          err => {}
        );
      },
      getUnitType(){
        this.apipost2(
          "dict_get_GetDictValueCommonList",
          {
            Key: 'SK_CRM_UnitType',
          },
          res => { 
            if (res.data.resultCode == 1) {
               this.UnitTypeList = res.data.data
            }else{ 
            }
          },
          err => {}
        );
      },
    getTravelType(){
        this.apipost2(
          "dict_get_GetDictValueCommonList",
          {
            Key: 'SK_CRM_TravelType',
          },
          res => { 
            if (res.data.resultCode == 1) {
               this.TravelTypeList = res.data.data
            }else{ 
            }
          },
          err => {}
        );
      },
    getVisaDutyTypeEnum() {
        //获取职务
        let msg = {};
        this.apipost2(
          "dmc_get_visa_GetVisaDutyTypeEnum",
          msg,
          res => {
            if (res.data.resultCode == 1) {
              this.VisaDutyTypeEnum = res.data.data;
            } else {
              this.$message.error(res.data.message);
            }
          },
          err => {}
        );
      },
    getVisaDeparturesType() {
        //获取出境记录状态
        let msg = {};
        this.apipost2(
          "dmc_get_visa_GetVisaDeparturesTypeEnum",
          msg,
          res => {
            if (res.data.resultCode == 1) {
              this.VisaDeparturesType = res.data.data;
            } else {
              this.$message.error(res.data.message);
            }
          },
          err => {}
        );
      },
    getVisaIdentityTypeEnum() {
        //获取身份证明
        let msg = {};
        this.apipost2(
          "dmc_get_visa_GetVisaIdentityTypeEnum",
          msg,
          res => {
            if (res.data.resultCode == 1) {
              this.VisaIdentityTypeEnum = res.data.data;
            } else {
              this.$message.error(res.data.message);
            }
          },
          err => {}
        );
      },
    getCustomerList(){
        this.apipost('/api/Customer/GetCustomerListByCreateInfo', {}, res=>{
            if (res.data.resultCode == 1) {
                this.CustomerList = res.data.data
            }
        })
    },
    closedDialog(){
        this.MsgBus.$emit('closeCustomerDialogBox')
    },
    addData(){
        if (this.form.CustomerID === '') {
            this.form.CustomerID = 0
        }
        this.form.EconomicCapabilityList = []
        this.EconomicCapabilityS.forEach(x => {
            if (x.isShow == true) {
                this.form.EconomicCapabilityList.push({
                    Key: x.Name,
                    Value: x.Content,
                    ID: x.ID
                });
            }
        });
        this.apipost('/api/Customer/CreateGuestCustomerClue', this.form, res=>{
            if (res.data.resultCode == 1) {
                this.dialogTableVisible = false;
                // 有id 发送更新抽屉消息
                if(this.CustomerId !== 0) {
                    this.$message.success('修改直客成功');
                    this.MsgBus.$emit('RefreshInfoBox')
                } else {
                    this.$message.success('新建直客成功');
                }
                this.$emit('getList')
                this.resetForm("form");
            }
        })
    },
    submitForm(addMsg) {
      //提交创建、修改表单
      this.$refs[addMsg].validate(valid => {
        if (valid) {
          this.addData();
        } else {
          return false;
        }
      });
    },
    resetForm(formName) { // 重置表单
        this.form =  {
            Id: 0,
            SurName: '',
            Name: 0,
            Sex: '',
            EName: '',
            ESurName: 0,
            Birthday: '',
            BirthdayAddress: 2,
            PassportAddress: '',
            PassportExpiry: '',
            PassportNo: '',
            Nationality: '',
            Marriage: '',
            Address: '',
            AddressDetail: '',
            HistoryRecord: '',
            IdentityType: '',
            Duty: '',
            EconomicCapabilityList: [],
            Remarks: '',
            TravelType: '',
            UnitType: '',
            DutyType: '',
            IsHightSchool: '',
            IsRecommend: '',
            PassportIssued: '',
            IssuingAuthority: '',
            IdCard: '',
            MobilePhone: '',
            CustomerSourceType: '',
            CustomerSource: ''
        }
        this.$refs[formName].resetFields();
    },
    getCustomerBrandList() { // 获取品牌
        this.apipost2('app_get_customer_brand', {}, res => {
            if (res.data.resultCode == 1) {
            this.CustomerBrandList = res.data.data;
            } else {
            this.$message.error(res.data.message)
            }
        }, err => {})
    },
    getJycs() {
        this.apipost2('app_today_visit_GetCustomerPremisesEnum', {}, res => {
            if (res.data.resultCode == 1) {
            this.jycs = res.data.data
            }
        }, err => {})
    },
    GetCustomerLevelEnum(){
        this.apipost('/api/Customer/GetCustomerLevelEnum', {}, res=>{
            if (res.data.resultCode == 1) {
                this.CustomerLevelEnum = res.data.data
            }
        })
    },
    GetCustomerSourceEnum(){
        this.apipost('/api/Customer/GetCustomerSourceEnum', {}, res=>{
            if (res.data.resultCode == 1) {
                this.SourceEnum = res.data.data
            }
        })
    },
    getProvinceList2(ID, type) {
        let msg = {
            Id: ID
        };
        this.apipost2(
        "dict_post_Destination_GetChildList",
        msg,
        res => {
            if (type == 1) {
                this.provinceList = res.data.data;
            } else if (type == 2) {
                this.cityList = res.data.data;
            } else if (type == 3) {
                this.district = res.data.data;
            }
        },
        err => {}
        );
    },
    //获取国家
    getCountryList() {
        this.apipost2(
          "dict_post_Destination_GetCountry", {},
          res => {
            this.countryList = res.data.data;
          },
          err => {}
        );
      },
      //根据省份获取城市
    getProvinceList(ID, type) {
        let msg = {
            Id: ID
        };
        if (type == 1) {
            this.form.Province = "";
            this.form.City = "";
            this.form.District = "";
        } else if (type == 2) {
            this.form.City = "";
            this.form.District = "";
        } else if (type == 3) {
            this.form.District = "";
        }
        if (this.QCountry !== "") {
            this.apipost2(
            "dict_post_Destination_GetChildList",
            msg,
            res => {
                if (type == 1) {
                    this.provinceList = res.data.data;
                } else if (type == 2) {
                    this.cityList = res.data.data;
                } else if (type == 3) {
                    this.district = res.data.data;
                }
            },
            err => {}
            );
        }
    },
    uploadImg(file) {
      //上传
      let newArr = [];
      newArr.push(file.file);
      let path = "/Upload/Temporary/";
      this.UploadSelfFileT(path, newArr, x => {
        let url = this.domainManager().ViittoFileUrl + x.data.FilePath
        this.form.Images.push(url);
      });
    },
    uploadImg2(file) {
      //上传
      let newArr = [];
      newArr.push(file.file);
      let path = "/Upload/Temporary/";
      this.UploadSelfFileT(path, newArr, x => {
        let url = this.domainManager().ViittoFileUrl + x.data.FilePath
        this.form.BusinessCardPhotos.push(url);
      });
    },
    uploadImg3(file) {
      //上传
      let newArr = [];
      newArr.push(file.file);
      let path = "/Upload/Temporary/";
      this.UploadSelfFileT(path, newArr, x => {
        let url = this.domainManager().ViittoFileUrl + x.data.FilePath
        this.form.HousePhotos.push(url);
      });
    },
    showImg(i){
        let url = ''
        if (i === 1) {
            url = this.form.Images[0]
        } else if (i === 2) {
            url = this.form.BusinessCardPhotos[0]
        } else if (i === 3) {
            url = this.form.HousePhotos[0]
        }
        this.dialogImageUrl = url;
        this.dialogVisible = true;
    },
    delImg(i){
        if (i === 1) {
            this.form.Images = []
        } else if (i === 2) {
            this.form.BusinessCardPhotos = []
        } else if (i === 3) {
            this.form.HousePhotos = []
        }
    },
  }
}
</script>