浏览代码

编写客户资料信息

wangh 2 年之前
父节点
当前提交
c50e3e821c
共有 1 个文件被更改,包括 225 次插入123 次删除
  1. 225 123
      src/components/OP/visaEdit.vue

+ 225 - 123
src/components/OP/visaEdit.vue

@@ -67,8 +67,8 @@
                         <el-form-item label="电子信箱:" prop="email">
                             <el-input v-model="deleClient.email"></el-input>
                         </el-form-item>
-                        <el-form-item label="邮编:" prop="postcodes">
-                            <el-input v-model="deleClient.postcodes"></el-input>
+                        <el-form-item label="邮编:" prop="postCodes">
+                            <el-input v-model="deleClient.postCodes"></el-input>
                         </el-form-item>
                         <el-form-item label="现居地址" prop="address" style="width: 100%;">
                             <el-input type="textarea" v-model="deleClient.address" placeholder="现居地址"></el-input>
@@ -81,40 +81,41 @@
             <div class="small-title">
                 <span>证件信息</span>
             </div>
-            <div class="foundation-form">
-                <el-form v-for="(item, i) in customerCerts" :key="i" :rules="rules" ref="customerCerts" label-width="100px"
-                    class="demo-deleClient" @submit.native.prevent>
-                    <div class="foundation-box">
-                        <el-form-item label="证件类型" prop="sdId">
-                            <el-select v-model="item.sdId" filterable placeholder="请选择">
-                                <el-option v-for="item1 in SetData" :key=item1.id :label=item1.name
-                                    :value=item1.id></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="证监号" prop="certNo">
-                            <el-input v-model="item.certNo"></el-input>
-                        </el-form-item>
-                        <el-form-item label="证件签发地" prop="area">
-                            <el-input v-model="item.area"></el-input>
-                        </el-form-item>
-                        <el-form-item label="目的地国家" prop="targetCountry">
-                            <el-input v-model="item.targetCountry">
-                                <template slot="append">护照填写</template></el-input>
-                        </el-form-item>
-                        <el-form-item label="证件有效期:" prop="issueDt">
-                            <div>
-                                <el-date-picker v-model="item.issueDt" type="date" placeholder="身份证有效期">
-                                </el-date-picker>
-                            </div>
-                        </el-form-item>
-                        <el-form-item label="至:" prop="expiryDt">
-                            <el-date-picker v-model="item.expiryDt" type="date" placeholder="身份证有效期">
+            <el-form v-for="(item, i) in customerCerts" :key="i" :rules="rules" ref="customerCerts" @submit.native.prevent>
+                <div class="foundation-box1">
+                    <el-form-item label="证件类型" prop="sdId">
+                        <el-select v-model="item.sdId" filterable placeholder="请选择" style="width: 164px;">
+                            <el-option v-for="item1 in SetData" :key=item1.id :label=item1.name :value=item1.id></el-option>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="证件号" prop="certNo">
+                        <el-input v-model="item.certNo"></el-input>
+                    </el-form-item>
+                    <el-form-item label="证件签发地" prop="area">
+                        <el-input v-model="item.area" style="width: 120px;"></el-input>
+                    </el-form-item>
+                    <el-form-item label="目的地国家" prop="targetCountry">
+                        <el-input v-model="item.targetCountry" style="width: 120px;">
+                        </el-input>
+                    </el-form-item>
+                    <el-form-item label="证件有效期:" prop="issueDt">
+                        <div>
+                            <el-date-picker v-model="item.issueDt" type="date" placeholder="身份证有效期">
                             </el-date-picker>
-                        </el-form-item>
+                        </div>
+                    </el-form-item>
+                    <el-form-item label="至:" prop="expiryDt">
+                        <el-date-picker v-model="item.expiryDt" type="date" placeholder="身份证有效期">
+                        </el-date-picker>
+                    </el-form-item>
+                    <div style="margin-top: 40px;,margin-left: 40px;">
+                        <el-button circle icon="el-icon-plus" @click="customerCertsAdd()"></el-button>
+                        <el-button circle icon="el-icon-minus" @click="subcustomerCertsAdd(i)" v-if="i > 0"></el-button>
                     </div>
-                    <hr style='background-color:#5555; height:1px; border:none;' />
-                </el-form>
-            </div>
+
+                </div>
+                <hr style='background-color:#5555; height:1px; border:none;' />
+            </el-form>
         </div>
         <div class="plate-box">
             <div class="small-title">
@@ -226,9 +227,10 @@
         <div class="plate-box">
             <div class="small-title">
                 <span>家庭成员信息</span>
+
             </div>
             <el-form v-for="(item, index) in customerFamily" :key="index">
-                <div class="member-li">
+                <div class="foundation-box1">
                     <el-form-item label="称谓:" prop="appellation">
                         <el-select v-model="item.appellation" filterable placeholder="请选择">
                             <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
@@ -239,61 +241,70 @@
                         <el-input v-model="item.name" clearable></el-input>
                     </el-form-item>
                     <el-form-item label="出生日期:" prop="birthDay">
-                        <el-input v-model="item.birthDay" clearable></el-input>
+                        <el-date-picker v-model="item.birthDay" type="date">
+                        </el-date-picker>
                     </el-form-item>
                     <el-form-item label="出生地:" prop="birthPlace">
+
                         <el-input v-model="item.birthPlace" clearable></el-input>
                     </el-form-item>
                     <el-form-item label="政治面貌:" prop="politics">
                         <el-input v-model="item.politics" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="工作单位:" prop="wlient">
-                        <el-input v-model="item.wlient" clearable></el-input>
-                    </el-form-item>
-                    <el-form-item label="家庭住址:" prop="address">
-                        <el-input v-model="item.address" clearable></el-input>
-                    </el-form-item>
                     <el-form-item label="是否生活在美国:" prop="isUSA">
-                        <el-input v-model="item.isUSA" clearable></el-input>
-                    </el-form-item>
-                    <el-form-item>
-                        <el-button circle icon="el-icon-plus" @click="customerFamilyAdd()"></el-button>
-                        <el-button circle icon="el-icon-minus" @click="subcustomerFamilyAdd(index)" v-if="index > 0"></el-button>
-                    </el-form-item>
-                </div>
-            </el-form>
-        </div>
-        <div>
-             <!-- <el-from el-form v-for="(item, i) in customerFamily" :key="i">
-                <div class="tips">
-                    若家庭成员中有欧盟、欧洲经济区或瑞士公民,请填写下方信息:
-                </div>
-                <div class="foundation-box" v-if="item.name">
-                    <el-form-item label="成员姓名:" prop="name">
-                        <el-input v-model="item.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="出生日期:" prop="name">
-                        <el-input v-model="item.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="成员国籍:" prop="name">
-                        <el-input v-model="item.name"></el-input>
+                        <el-radio-group v-model="item.isUSA">
+                            <el-radio :label=1>是</el-radio>
+                            <el-radio :label=0>否</el-radio>
+                        </el-radio-group>
                     </el-form-item>
-                    <el-form-item label="出生日期:" prop="name">
-                        <el-input v-model="item.name"></el-input>
+                    <el-form-item label="工作单位:" prop="client">
+                        <el-input v-model="item.client" clearable style="width: 400px;"></el-input>
                     </el-form-item>
-                    <el-form-item label="证件号码" prop="name">
-                        <el-input v-model="item.name" placeholder="旅行证件编号或身份证号码"></el-input>
+
+                    <el-form-item label="家庭住址:" prop="address">
+                        <el-input v-model="item.address" clearable style="width: 400px;"></el-input>
                     </el-form-item>
-                    <el-form-item label-width="330px" label="客户与该欧盟、欧洲经济区或瑞士公民亲属关系" prop="resource" style="width: 100%;">
-                        <el-radio-group v-model="item.resource">
-                            <el-radio label="配偶"></el-radio>
-                            <el-radio label="子女"></el-radio>
-                            <el-radio label="孙女儿"></el-radio>
-                            <el-radio label="赡养的老人"></el-radio>
+
+                    <el-form-item label="是否欧盟公民:" prop="isEu">
+                        <el-radio-group v-model="item.isEu">
+                            <el-radio :label=1>是</el-radio>
+                            <el-radio :label=0>否</el-radio>
                         </el-radio-group>
                     </el-form-item>
+
                 </div>
-            </el-from> -->
+                若家庭成员是欧盟、欧洲经济区或瑞士公民,请填写下方信息:
+                <div class="foundation-box1">
+                    <div style="width: 32%;display: flex;">
+                        <el-form-item label="成员国籍:" prop="nationality">
+                            <el-input v-model="item.nationality"></el-input>
+                        </el-form-item>
+
+                        <el-form-item label="证件号码" prop="idCard">
+                            <el-input v-model="item.idCard" placeholder="旅行证件编号或身份证号码"></el-input>
+                        </el-form-item>
+                    </div>
+                    <div>
+                        <div class="textClass">
+                            客户与该欧盟、欧洲经济区或瑞士公民亲属关系
+                        </div>
+                        <el-form-item prop="reletionship">
+                            <el-radio-group v-model="item.reletionship">
+                                <el-radio label="配偶"></el-radio>
+                                <el-radio label="子女"></el-radio>
+                                <el-radio label="孙女儿"></el-radio>
+                                <el-radio label="赡养的老人"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                    </div>
+                    <div style="line-height: 70px;margin-left: 15%;">
+                        <el-button circle icon="el-icon-plus" @click="customerFamilyAdd()"></el-button>
+                        <el-button circle icon="el-icon-minus" @click="subcustomerFamilyAdd(index)"
+                            v-if="index > 0"></el-button>
+                    </div>
+                </div>
+                <hr style='background-color:#5555; height:1px; border:none;' />
+            </el-form>
         </div>
         <div class="plate-box">
             <div class="small-title">
@@ -519,7 +530,7 @@
                 <span>请列出过去10年的工作经历(请填写现任公司之前的工作经历,如果没有请写“无”):</span>
             </div>
             <div>
-                <el-form v-for="(item, w) in workList" :key="w">
+                <el-form v-for="(item, w) in workList" :key="w" @submit.native.prevent>
                     <div class="member-li">
                         <el-form-item label="公司名称:" prop="age">
                             <el-input v-model="item.age" clearable></el-input>
@@ -557,7 +568,7 @@
                 <span>列出除小学以外的所有教育经历:从高中开始填写</span>
             </div>
             <div>
-                <el-form v-for="(item, e) in educationalList" :key="e">
+                <el-form v-for="(item, e) in educationalList" :key="e" @submit.native.prevent>
                     <div class="member-li">
                         <el-form-item label="学校名称和学历:" prop="age">
                             <el-input v-model="item.age" clearable></el-input>
@@ -717,19 +728,33 @@ export default {
                 remark: '',
             },
             //证件信息
-            customerCerts: [],
-
+            customerCerts:
+                [
+                    {
+                        id: 0,
+                        dcId: this.Id,
+                        sdId: '',
+                        certNo: '',
+                        country: '',
+                        area: '',
+                        targetCountry: '',
+                        issueDt: this.dateFormat(new Date()),
+                        expiryDt: this.dateFormat(new Date()),
+                        idCardAddress: '',
+                        createUserId: 0,
+                        remark: '',
+                    }
+                ],
             //现就职单位
             customerCompany:
             {
-                id: '',
-                companyName: '',
-                address: '',
-                postCodes: '',
-                lastedOpUserId: 0,
-                lastedOpDt: '',
-                createUserId: 0,
-                remark: '',
+                address: "",
+                companyName: "",
+                createTime: "",
+                id: 0,
+                postCodes: "",
+                remark: "",
+                userName: "",
             },
 
             //配偶信息
@@ -765,12 +790,25 @@ export default {
                     { required: true, message: '请输入名', trigger: 'blur' },
                     { min: 1, max: 3, message: '长度在 1 到 3 个字符', trigger: 'blur' }
                 ],
+                phone: [
+                    { required: true, message: '请输入移动电话', trigger: 'blur' },
+                ],
+                nationality: [
+                    { required: true, message: '请输入国籍', trigger: 'blur' },
+                ],
+                // certNo: [
+                //     { required: true, message: '请输入证件号', trigger: 'blur' },
+                // ],
+                // sdId: [
+                //     { required: true, message: '请选择证件类型', trigger: 'blur' },
+                // ]
+
             },
             //家庭成员
             customerFamily: [
                 {
                     id: 0,
-                    dcId: 0,
+                    dcId: this.Id,
                     appellation: "",
                     name: "",
                     birthDay: this.dateFormat(new Date()),
@@ -840,8 +878,9 @@ export default {
                     console.log(res.data.data.deleClient)
                     that.deleClient = res.data.data.deleClient
                     that.customerCompany = res.data.data.customerCompany
-                    that.customerCerts = res.data.data.customerCerts
-
+                    if (res.data.data.customerCerts != 0) {
+                        that.customerCerts = res.data.data.customerCerts
+                    }
                     if (res.data.data.customerFamily != 0) {
                         that.customerFamily = res.data.data.customerFamily
                     }
@@ -874,12 +913,20 @@ export default {
             });
         },
         companyChange(Id) {
-            console.log(Id)
             this.CompanySelectData.forEach((item, index) => {
                 if (item.id == Id) {
-                    this.customerCompany = item;
+                    this.customerCompany = {
+                        address: item.address,
+                        companyName: item.companyName,
+                        createTime: item.createTime,
+                        id: item.id,
+                        postCodes: item.postCodes,
+                        remark: item.remark,
+                        userName: item.userName,
+                    };
                 }
             })
+            console.log(this.customerCompany)
         },
         QuerySetData() {
             var url = "/api/System/QuerySetData"
@@ -907,42 +954,59 @@ export default {
         submitForm() {
             this.$refs.deleClient.validate((valid) => {
                 if (valid) {
-
                     var that = this
                     that.deleClient.crmCompanyId = that.customerCompany.id
                     that.deleClient.createUserId = that.userId;
+                    var FamilyIndex = [];
+                    debugger
+                    that.customerFamily.forEach((element, index) => {
+                        debugger
+                        if (element.name == '' && element.appellation == '') {
+                            that.customerFamily.splice(index, 1)
+                        } else {
+                            element.nameSnd = element.name
+                            element.BirthDaySnd = element.birthDay
+                        }
+
+                    });
+                    that.customerCerts.forEach((element, index) => {
+                        if (element.certNo == '' && element.sdId == '') {
+                            that.customerCerts.splice(index, 1)
+                        }
+                    });
 
                     var dttaStr = {
                         Status: that.Status,
                         DeleClient: that.deleClient,
-                        CustomerFamily: that.customerFamily
+                        CustomerFamily: that.customerFamily,
+                        CustomerCert: that.customerCerts
                     }
                     console.log(dttaStr)
-                    // var url = "/api/CRM/EditCustomer"
-                    // this.$axios({
-                    //     method: 'post',
-                    //     url: url,
-                    //     headers: {
-                    //         Authorization: 'Bearer ' + this.token
-                    //     },
-                    //     data: dttaStr
-                    // }).then(function (res) {
-                    //     console.log(res)
-                    //     if (res.data.code == 200) {
-                    //         that.$message({
-                    //             message: res.data.msg,
-                    //             type: 'success'
-                    //         });
-                    //         that.loading = true;
-                    //         setTimeout(() => {
-                    //             // that.$router.push('/home/HotelData')
-                    //         }, 3000);
-                    //     } else {
-                    //         that.$message.error(res.data.msg);
-                    //     }
-                    // }).catch(function (error) {
-                    //     that.$message.error("网络错误,请稍后重试");
-                    // });
+                    var url = "/api/CRM/EditCustomer"
+                    this.$axios({
+                        method: 'post',
+                        url: url,
+                        headers: {
+                            Authorization: 'Bearer ' + this.token
+                        },
+                        data: dttaStr
+                    }).then(function (res) {
+                        console.log(res)
+                        if (res.data.code == 200) {
+                            that.$message({
+                                message: res.data.msg,
+                                type: 'success'
+                            });
+                            that.loading = true;
+                            setTimeout(() => {
+                                // that.$router.push('/home/HotelData')
+                            }, 3000);
+                        } else {
+                            that.$message.error(res.data.msg);
+                        }
+                    }).catch(function (error) {
+                        that.$message.error("网络错误,请稍后重试");
+                    });
                 } else {
                     console.log('error submit!!');
                     return false;
@@ -952,11 +1016,11 @@ export default {
         resetForm(formName) {
             this.$refs[formName].resetFields();
         },
-        //加号
+        //添加家庭信息
         customerFamilyAdd() {
             this.customerFamily.push({
                 id: 0,
-                dcId: this.deleClient.id,
+                dcId: this.Id,
                 appellation: "",
                 name: "",
                 birthDay: this.dateFormat(new Date()),
@@ -975,10 +1039,31 @@ export default {
                 remark: ""
             })
         },
-        //减号
+        //删除家庭信息
         subcustomerFamilyAdd(index) {
             this.customerFamily.splice(index, 1)
         },
+        //添加证件信息
+        customerCertsAdd() {
+            this.customerCerts.push({
+                id: 0,
+                dcId: this.Id,
+                sdId: '',
+                certNo: '',
+                country: '',
+                area: '',
+                targetCountry: '',
+                issueDt: this.dateFormat(new Date()),
+                expiryDt: this.dateFormat(new Date()),
+                idCardAddress: '',
+                createUserId: 0,
+                remark: '',
+            })
+        },
+        //删除证件信息
+        subcustomerCertsAdd(index) {
+            this.customerCerts.splice(index, 1)
+        },
     },
     mounted() {
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
@@ -1030,6 +1115,11 @@ export default {
     flex-wrap: wrap;
 }
 
+.foundation-box1 {
+    display: flex;
+    flex-wrap: wrap;
+}
+
 .foundation-box .el-form-item {
     width: 33%;
 }
@@ -1076,6 +1166,18 @@ export default {
     width: 50%;
 }
 
+.textClass {
+    text-align: right;
+    vertical-align: middle;
+    float: left;
+    font-size: 14px;
+    color: #606266;
+    line-height: 40px;
+    padding: 0 12px 0 0;
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
 .el-date-editor.el-input,
 .el-date-editor.el-input__inner {
     width: 100%;