Files
ebiz-h5/src/views/ebiz/customer/addCustomer.vue
2023-05-08 18:37:22 +08:00

331 lines
10 KiB
Vue

<template>
<div class="container">
<!-- 基本信息 -->
<p class="title pl10 pv12 mt10">基本信息</p>
<van-field
v-model="userInfo.customerName"
required
clearable
label="姓名"
name="姓名"
placeholder="请输入"
v-validate="'required|name'"
/>
<van-field
v-model="userInfo.customerPhone"
required
clearable
label="移动电话"
name="移动电话"
placeholder="请输入"
maxlength="11"
type="tel"
v-validate="'required|mobile'"
/>
<form-block :userInfo="userInfo" ref="formBlock"></form-block>
<van-button type="danger" class="bottom-btn" @click="save" v-no-more-click="1000">保存</van-button>
</div>
</template>
<script>
import { Field, CellGroup, Cell } from 'vant'
import { updateCustomerInfo } from '@/api/ebiz/customer/customer'
import formBlock from '@/components/ebiz/customer/formBlock'
export default {
name: 'addCustomer',
components: {
[Field.name]: Field,
[CellGroup.name]: CellGroup,
[Cell.name]: Cell,
[formBlock.name]: formBlock
},
data() {
return {
userInfo: {
customerName: '', //姓名
customerPhone: '', // 手机号
customerSex: '0', //性别
nativeplace: '1', //国家地区
province: '', //户籍省
city: '', //户籍市
birthday: '', //出生日期
idType: '1', //证件类型
customerIdNumber: '', //证件号码
certificateValidate: '', //证件起始日期
certiexpiredate: '', //证件到期时间
effectiveDateType: false, //是否长期
email: '', //电子邮箱
stature: '', //身高
weight: '', //体重,
customerType: '0', //客户类别
customerSource: '-1', //客户来源
degree: '', //文化程度
socialSecurity: '0', //有无社保
taxIdentity: '1', //税收居民身份
occupationCode: '', //职业类别
occupationName: '',
lifeGrade: '', //寿险等级
healthGrade: '', //健康等级
averageYearlyIncome: '', //平均年收入
liabilitiesMoney: '', //负债金额
workUnits: '', //工作单位
workCondition: '', //在职情况
companyProvince: '', //单位省
companyCity: '', //单位市
companyArea: '', //单位区
companyAddress: '', //单位详细地址
companyZip: '', //单位邮编
companyPhone: '', //单位电话
marriage: '', //婚姻状况
familyAnnualIncome: '', //家庭年收入
homeProvince: '', //家庭省
homeCity: '', //家庭市
homeArea: '', //家庭区
homeAddress: '', //家庭详细地址
homeZip: '', //家庭邮编
homePhone: '' //家庭电话
}
}
},
mounted() {
//this.filterBtn() //按钮初始化
//window.appCallBack = this.appCallBack //app回调
},
methods: {
// filterBtn() {
// EWebBridge.webCallAppInJs('webview_right_button', {
// btns: [
// {
// // img:"@/assets/images/u12045.png",
// title: '保存'
// }
// ]
// })
// },
// appCallBack(data) {
// if (data.trigger == 'right_button_click') {
// if (data.index == 0 && this.loading) {
// this.$validator.validate().then(valid => {
// if (true === valid) {
// this.updateCustomerInfo()
// } else {
// this.$toast(this.$validator.errors.all()[0])
// }
// })
// }
// }
// },
save() {
this.$validator.validate().then(valid => {
if (true === valid) {
let vf1 = this.$refs.formBlock.validateForm()
Promise.all([vf1]).then(result => {
if (result.indexOf(false) > -1) {
this.$toast(this.$refs.formBlock.$validator.errors.all()[0])
return
} else if (this.userInfo.customerIdNumber) {
this.$refs.formBlock.validateIdType()
} else if (this.userInfo.birthday && this.userInfo.marriage) {
this.$refs.formBlock.validateMarr()
} else {
if (this.userInfo.birthday && this.userInfo.marriage) {
this.$refs.formBlock.validateMarr()
} else {
this.updateCustomerInfo()
}
}
})
} else {
this.$toast(this.$validator.errors.all()[0])
}
})
},
updateCustomerInfo() {
let $this = this
let data = {
agentCustomerInfoDTO: {
customerNumber: '',
customerName: $this.userInfo.customerName,
customerPhone: $this.userInfo.customerPhone,
customerSex: $this.userInfo.customerSex,
country: $this.userInfo.nativeplace,
//rgtaddress: $this.userInfo.census,
birthday: $this.userInfo.birthday,
customerIdType: $this.userInfo.idType,
customerIdNumber: $this.userInfo.customerIdNumber,
idEffectStartDate: $this.userInfo.certificateValidate,
idEffectEndDate: $this.userInfo.certiexpiredate,
email: $this.userInfo.email,
height: $this.userInfo.stature,
weight: $this.userInfo.weight,
customerType: $this.userInfo.customerType,
customerSource: $this.userInfo.customerSource,
educationLevel: $this.userInfo.degree,
socialSecurity: $this.userInfo.socialSecurity,
residentStatus: $this.userInfo.taxIdentity,
occupationCode: $this.userInfo.occupationCode,
occupationName: $this.userInfo.occupationName,
lifeGrade: $this.userInfo.lifeGrade,
healthGrade: $this.userInfo.healthGrade,
averageYearlyIncome: $this.userInfo.averageYearlyIncome,
liabilitiesMoney: $this.userInfo.liabilitiesMoney,
workUnits: $this.userInfo.workUnits,
jobStatus: $this.userInfo.workCondition,
companyProvince: $this.userInfo.companyProvince,
companyCity: $this.userInfo.companyCity,
companyArea: $this.userInfo.companyArea,
companyAddress: $this.userInfo.companyAddress,
companyZip: $this.userInfo.companyZip,
companyPhone: $this.userInfo.companyPhone,
marryStatus: $this.userInfo.marriage,
homeProvince: $this.userInfo.homeProvince,
homeCity: $this.userInfo.homeCity,
homeArea: $this.userInfo.homeArea,
homeAddress: $this.userInfo.homeAddress,
homeZip: $this.userInfo.homeZip,
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
province: $this.userInfo.province,
city: $this.userInfo.city,
homePhone: $this.userInfo.homePhone
}
}
switch (data.agentCustomerInfoDTO.companyArea) {
case '500129':
data.agentCustomerInfoDTO.companyArea = '500229'
break
case '500130':
data.agentCustomerInfoDTO.companyArea = '500230'
break
case '500131':
data.agentCustomerInfoDTO.companyArea = '500231'
break
case '500133':
data.agentCustomerInfoDTO.companyArea = '500233'
break
case '500135':
data.agentCustomerInfoDTO.companyArea = '500235'
break
case '500136':
data.agentCustomerInfoDTO.companyArea = '500236'
break
case '500137':
data.agentCustomerInfoDTO.companyArea = '500237'
break
case '500138':
data.agentCustomerInfoDTO.companyArea = '500238'
break
case '500140':
data.agentCustomerInfoDTO.companyArea = '500240'
break
case '500141':
data.agentCustomerInfoDTO.companyArea = '500241'
break
case '500142':
data.agentCustomerInfoDTO.companyArea = '500242'
break
case '500143':
data.agentCustomerInfoDTO.companyArea = '500243'
break
}
switch (data.agentCustomerInfoDTO.homeArea) {
case '500129':
data.agentCustomerInfoDTO.homeArea = '500229'
break
case '500130':
data.agentCustomerInfoDTO.homeArea = '500230'
break
case '500131':
data.agentCustomerInfoDTO.homeArea = '500231'
break
case '500133':
data.agentCustomerInfoDTO.homeArea = '500233'
break
case '500135':
data.agentCustomerInfoDTO.homeArea = '500235'
break
case '500136':
data.agentCustomerInfoDTO.homeArea = '500236'
break
case '500137':
data.agentCustomerInfoDTO.homeArea = '500237'
break
case '500138':
data.agentCustomerInfoDTO.homeArea = '500238'
break
case '500140':
data.agentCustomerInfoDTO.homeArea = '500240'
break
case '500141':
data.agentCustomerInfoDTO.homeArea = '500241'
break
case '500142':
data.agentCustomerInfoDTO.homeArea = '500242'
break
case '500143':
data.agentCustomerInfoDTO.homeArea = '500243'
break
}
updateCustomerInfo(data)
.then(res => {
if (res.result == 0) {
// EWebBridge.webCallAppInJs('goBack', { refresh: '1' })
this.$jump({
flag: 'goBack',
extra: {
refresh: '1'
},
routerInfo: {
path: '/customer/customerList'
}
})
} else {
$this.$toast(res.resultMessage)
}
})
.catch(err => {})
}
}
}
</script>
<style lang="scss" scoped>
.van-index-anchor {
background: #fff;
}
.container {
padding-bottom: 45px;
.header {
display: flex;
justify-content: flex-end;
padding: 10px;
}
.title {
font-size: 15px;
font-weight: bold;
background: #fff;
border-bottom: 1px solid #ebedf0;
}
.sex-radio {
.radio-area {
display: -webkit-flex;
display: flex;
justify-content: flex-start;
.item {
width: 70px;
height: 30px;
line-height: 30px;
border: 1px solid #ea5b50;
border-radius: 20px;
text-align: center;
color: #ea5b50;
margin-right: 10px;
}
.active {
background: #ea5b50;
color: #fff;
}
}
}
}
</style>