2022-03-24 11:17:05 +08:00
< template >
2022-03-26 16:33:51 +08:00
< div class = "add" >
2022-03-24 11:17:05 +08:00
< div class = "form-group" >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 与户主关系 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpRelationship" v-model = "form.householdRelation" > < / AiSelect >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 姓名 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< input placeholder = "请输入" type = "text" v-model = "form.name" :maxlength="8"
placeholder - style = "color: #999; font-size: 30rpx;" / >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 身份证号 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< input placeholder = "请输入" type = "idcard" v-model = "form.idNumber" :maxlength="18"
placeholder - style = "color: #999; font-size: 30rpx;" @ input = "changeIdNumber" / >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 性别 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< span : style = "form.sex === '' ? 'color:#999;' : 'color:#333;' " > { { $dict . getLabel ( 'sex' , form . sex ) || '自动识别' } } < / span >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
2022-03-26 16:33:51 +08:00
< / div >
< div class = "form-group" >
2022-03-24 11:17:05 +08:00
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
2022-03-26 16:33:51 +08:00
< i > * < / i >
< span > 联系方式 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< input placeholder = "请输入" type = "number" v-model = "form.phone" :maxlength="11"
placeholder - style = "color: #999; font-size: 30rpx;" / >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
2022-03-26 16:33:51 +08:00
< i > * < / i >
< span > 现住址 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiAreaPicker ref = "address" class = "aiArea" :fullName.sync = "form.currentAreaName" v-model = "form.currentAreaId" :areaId="$areaId" mode="custom" all @select="onAreaChange" >
< div class = "aiArea" >
< span class = "label" v-if = "form.currentAreaName" style="color:#333;" > {{ form.currentAreaName }} < / span >
< span v-else > 请选择 < / span >
< u-icon name = "arrow-right" color = "#ddd" / >
< / div >
< / AiAreaPicker >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
2022-03-26 16:33:51 +08:00
< / div >
< div class = "form-group" >
2022-03-24 11:17:05 +08:00
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i style = "opacity: 0;" > * < / i >
2022-03-26 16:33:51 +08:00
< span > 民族 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpNation" v-model = "form.nation" > < / AiSelect >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
2022-03-26 16:33:51 +08:00
< i style = "opacity: 0;" > * < / i >
< span > 政治面貌 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpPoliticalOutlook" v-model = "form.politicsStatus" > < / AiSelect >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
2022-03-26 16:33:51 +08:00
< i style = "opacity: 0;" > * < / i >
< span > 文化程度 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpEducation" v-model = "form.education" > < / AiSelect >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i style = "opacity: 0;" > * < / i >
< span > 详细地址 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< input placeholder = "请输入" v-model = "form.currentAddress" placeholder-style="color: #999; font-size: 30rpx;" />
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< / div >
< div class = "form-group" >
< div class = "form-item" >
< div class = "form-item__wrapper border-b0" >
< div class = "left" >
< i style = "opacity: 0;" > * < / i >
< span > 个人照片 < / span >
< / div >
< / div >
< / div >
< div class = "upload" >
2022-03-26 16:33:51 +08:00
< AiUploader :def.sync = "form.files" multiple placeholder = "上传图片" :limit = "1" action = "/admin/file/add2" > < / AiUploader >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
2022-03-26 16:33:51 +08:00
2022-03-24 11:17:05 +08:00
< div class = "form-group" >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
2022-03-26 16:33:51 +08:00
< i style = "opacity: 0;" > * < / i >
2022-03-24 11:17:05 +08:00
< span > 在校情况 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpStudentsInSchool" v-model = "form.schoolStatus" > < / AiSelect >
2022-03-24 14:29:32 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
2022-03-26 16:33:51 +08:00
< i style = "opacity: 0;" > * < / i >
2022-03-24 14:29:32 +08:00
< span > 健康状况 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpHealth" v-model = "form.healthyStatus" > < / AiSelect >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i style = "opacity: 0;" > * < / i >
< span > 劳动技能 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< AiSelect dict = "fpLaborSkills" v-model = "form.labourStatus" > < / AiSelect >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i style = "opacity: 0;" > * < / i >
< span > 务工区域 < / span >
< / div >
< div class = "right" >
2022-03-24 14:29:32 +08:00
< input placeholder = "请输入" v-model = "form.workArea" placeholder-style="color: #999; font-size: 30rpx;" />
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i style = "opacity: 0;" > * < / i >
2022-03-26 16:33:51 +08:00
< span > 务工时间 / 月 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< input placeholder = "请输入" v-model = "form.workeMonths" type="number" placeholder-style="color: #999; font-size: 30rpx;" maxlength="2" />
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< / div >
< div class = "form-group" >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 是否参加医保 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< div class = "check-item" : class = "form.basicMedicalTreatment == '01' ? 'check-active' : '' " @click ="form.basicMedicalTreatment='01'" > 是 < img src = "./components/img/check-icon.png" alt = "" > < / div >
< div class = "check-item" : class = "form.basicMedicalTreatment != '01' ? 'check-active' : '' " @click ="form.basicMedicalTreatment='02'" > 否 < img src = "./components/img/check-icon.png" alt = "" > < / div >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 是否参加大病保险 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< div class = "check-item" : class = "form.seriousIllnessInsurance == '01' ? 'check-active' : '' " @click ="form.seriousIllnessInsurance='01'" > 是 < img src = "./components/img/check-icon.png" alt = "" > < / div >
< div class = "check-item" : class = "form.seriousIllnessInsurance != '01' ? 'check-active' : '' " @click ="form.seriousIllnessInsurance='02'" > 否 < img src = "./components/img/check-icon.png" alt = "" > < / div >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 是否参加养老保险 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< div class = "check-item" : class = "form.endowmentInsurance == '01' ? 'check-active' : '' " @click ="form.endowmentInsurance='01'" > 是 < img src = "./components/img/check-icon.png" alt = "" > < / div >
< div class = "check-item" : class = "form.endowmentInsurance != '01' ? 'check-active' : '' " @click ="form.endowmentInsurance='02'" > 否 < img src = "./components/img/check-icon.png" alt = "" > < / div >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
2022-03-24 14:29:32 +08:00
< span > 是否享受最低生活保障 < / span >
2022-03-24 11:17:05 +08:00
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< div class = "check-item" : class = "form.subsistenceAllowance == '01' ? 'check-active' : '' " @click ="form.subsistenceAllowance='01'" > 享受 < img src = "./components/img/check-icon.png" alt = "" > < / div >
< div class = "check-item" : class = "form.subsistenceAllowance != '01' ? 'check-active' : '' " @click ="form.subsistenceAllowance='02'" > 未享受 < img src = "./components/img/check-icon.png" alt = "" > < / div >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< div class = "form-item" >
< div class = "form-item__wrapper" >
< div class = "left" >
< i > * < / i >
< span > 是否特困供养 < / span >
< / div >
< div class = "right" >
2022-03-26 16:33:51 +08:00
< div class = "check-item" : class = "form.specialPovertySupport == '01' ? 'check-active' : '' " @click ="form.specialPovertySupport='01'" > 是 < img src = "./components/img/check-icon.png" alt = "" > < / div >
< div class = "check-item" : class = "form.specialPovertySupport != '01' ? 'check-active' : '' " @click ="form.specialPovertySupport='02'" > 否 < img src = "./components/img/check-icon.png" alt = "" > < / div >
2022-03-24 11:17:05 +08:00
< / div >
< / div >
< / div >
< / div >
2022-03-26 16:33:51 +08:00
< div class = "btn" hover -class = " text " @click ="submit" > 保存 < / div >
2022-03-24 11:17:05 +08:00
< / div >
< / template >
< script >
export default {
data ( ) {
return {
form : {
2022-03-24 14:29:32 +08:00
name : '' ,
2022-03-26 16:33:51 +08:00
householdRelation : '' ,
idNumber : '' ,
2022-03-24 14:29:32 +08:00
sex : '' ,
2022-03-26 16:33:51 +08:00
phone : '' ,
currentAreaId : '' ,
currentAreaName : '' ,
nation : '' ,
politicsStatus : '' ,
education : '' ,
currentAddress : '' ,
files : [ ] ,
schoolStatus : '' ,
labourStatus : '' ,
2022-03-24 14:29:32 +08:00
workArea : '' ,
2022-03-26 16:33:51 +08:00
workeMonths : '' ,
basicMedicalTreatment : '02' ,
seriousIllnessInsurance : '02' ,
endowmentInsurance : '02' ,
subsistenceAllowance : '02' ,
specialPovertySupport : '02' ,
girdId : '' ,
girdName : '' ,
healthyStatus : '' ,
2022-03-24 11:17:05 +08:00
} ,
id : '' ,
2022-03-26 16:33:51 +08:00
$areaId : '' ,
2022-03-24 14:29:32 +08:00
isEdit : false ,
2022-03-26 16:33:51 +08:00
id : '' ,
girdInfo : { } ,
householdIdNumber : '' ,
objectType : ''
2022-03-24 11:17:05 +08:00
}
} ,
onLoad ( query ) {
2022-03-26 16:33:51 +08:00
this . householdIdNumber = query . houseIdNumber
this . objectType = query . objectType
this . $dict . load ( [ 'fpRelationship' , 'riskEliminationMethod' , 'fpRiskType' , 'fpYesOrNo' , 'fpNation' , 'fpEducation' , 'fpStudentsInSchool' , 'fpHealth' ,
'fpLaborSkills' , 'fpPoliticalOutlook' , 'sex' , 'fpHealth' ] ) . then ( ( ) => {
if ( query . id ) {
this . id = query . id
this . getInfo ( query . id )
}
2022-03-24 14:29:32 +08:00
} )
if ( query . index > - 1 ) {
this . isEdit = true
this . index = Number ( query . index )
2022-03-24 11:17:05 +08:00
}
2022-03-26 16:33:51 +08:00
this . isGirdUser ( )
this . $areaId = this . $store . state . user . areaId
uni . $on ( 'reload' , ( ) => {
this . getInfo ( )
} )
} ,
onShow ( ) {
document . title = this . id ? '编辑家庭成员' : '添加家庭成员'
2022-03-24 11:17:05 +08:00
} ,
methods : {
2022-03-24 14:29:32 +08:00
getInfo ( id ) {
this . $http . post ( ` /app/apppreventionreturntopoverty/queryDetailById?id= ${ id } ` ) . then ( res => {
if ( res . code === 0 ) {
2022-03-26 16:33:51 +08:00
this . form = { ... res . data }
if ( this . form . photo ) {
this . form . files = [ { url : this . form . photo } ]
2022-03-29 10:27:14 +08:00
} else {
this . form . files = [ ]
2022-03-24 14:29:32 +08:00
}
}
} )
} ,
2022-03-24 11:17:05 +08:00
2022-03-24 14:29:32 +08:00
rules ( ) {
return {
2022-03-26 16:33:51 +08:00
householdRelation : '请选择与户主关系' ,
2022-03-24 14:29:32 +08:00
name : '请输入姓名' ,
idNumber : '请输入身份证号' ,
2022-03-26 16:33:51 +08:00
phone : '请输入联系方式' ,
currentAreaId : '请选择现住址' ,
2022-03-24 11:17:05 +08:00
}
2022-03-24 14:29:32 +08:00
} ,
2022-03-24 11:17:05 +08:00
2022-03-24 14:29:32 +08:00
submit ( ) {
const rules = this . rules ( )
for ( let v of Object . keys ( rules ) ) {
if ( ! this . form [ v ] ) {
return this . $u . toast ( rules [ v ] )
}
2022-03-24 11:17:05 +08:00
}
2022-03-28 09:42:23 +08:00
let regTel = /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/
if ( this . form . phone . length == 11 && ! regTel . test ( this . form . phone ) ) {
return this . $u . toast ( '请输入正确的手机号' )
}
2022-03-26 16:33:51 +08:00
if ( ! /[^0]0{0,2}$/ . test ( this . form . currentAreaId ) ) {
return this . $u . toast ( '现住址必须选到村级' )
}
if ( this . form . files . length ) {
this . form . photo = this . form . files [ 0 ] . url
2022-03-24 14:29:32 +08:00
}
2022-03-26 16:33:51 +08:00
this . form . girdId = this . girdInfo . girdId
this . form . girdName = this . girdInfo . girdName
this . form . householdIdNumber = this . householdIdNumber
this . form . objectType = this . objectType
this . $http . post ( '/app/apppreventionreturntopoverty/addByEwechat' , {
... this . form ,
id : this . id || ''
2022-03-24 11:17:05 +08:00
} ) . then ( res => {
if ( res . code === 0 ) {
2022-03-26 16:33:51 +08:00
this . $u . toast ( this . isEdit ? '保存成功' : '提交成功' )
2022-03-24 11:17:05 +08:00
uni . $emit ( 'reload' )
uni . navigateBack ( {
delta : 1
} )
}
} )
2022-03-26 16:33:51 +08:00
} ,
isGirdUser ( ) {
this . $http . post ( '/app/appgirdmemberinfo/checkLogOnUser' ) . then ( ( res ) => {
if ( res . code == 0 ) {
this . girdInfo = res . data
}
} )
} ,
changeIdNumber ( ) {
let reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ ;
if ( this . form . idNumber . length == 18 && ! reg . test ( this . form . idNumber ) ) {
return this . $u . toast ( '请输入正确的身份证号码' )
}
var info = this . $idCardNoUtil . getIdCardInfo ( this . form . idNumber )
this . form . sex = info . gender
2022-03-28 16:35:41 +08:00
var myDate = new Date ( ) ;
var month = myDate . getMonth ( ) + 1 ;
var day = myDate . getDate ( ) ;
var age = myDate . getFullYear ( ) - this . form . idNumber . substring ( 6 , 10 ) - 1 ;
if ( this . form . idNumber . substring ( 10 , 12 ) < month || this . form . idNumber . substring ( 10 , 12 ) == month && this . form . idNumber . substring ( 12 , 14 ) <= day ) {
age ++ ;
}
this . form . age = age
2022-03-26 16:33:51 +08:00
} ,
2022-03-24 11:17:05 +08:00
}
}
< / script >
< style lang = "scss" >
. add {
padding - bottom : 120 px ;
: : v - deep . u - radio {
& : last - child {
. u - radio _ _label {
margin - right : 0 ;
}
}
}
& > div {
margin - bottom : 16 px ;
background : # fff ;
}
. form - group {
. form - item {
padding - left : 32 px ;
. form - item _ _wrapper {
display : flex ;
align - items : center ;
justify - content : space - between ;
height : 112 px ;
border - bottom : 1 px solid # E4E5E6 ;
}
. right {
height : 112 px ;
line - height : 112 px ;
padding - right : 32 px ;
span {
font - size : 30 px ;
color : # 999999 ;
}
. check - item {
display : inline - block ;
width : 160 px ;
height : 64 px ;
line - height : 64 px ;
text - align : center ;
background : # F5F5F5 ;
border - radius : 4 px ;
font - size : 30 px ;
font - family : PingFangSC - Medium , PingFang SC ;
font - weight : 500 ;
color : # 333 ;
position : relative ;
img {
display : none ;
}
}
. check - item : nth - of - type ( 1 ) {
margin - right : 36 px ;
}
. check - active {
background : # E7F1FE ;
color : # 1174 FE ;
img {
display : block ;
position : absolute ;
bottom : 0 ;
right : 0 ;
width : 48 px ;
height : 48 px ;
}
}
}
input {
height : 100 % ;
text - align : right ;
}
. left {
display : flex ;
align - items : center ;
span {
color : # 333333 ;
font - size : 32 px ;
}
i {
margin - right : 4 px ;
font - style : normal ;
color : # FF4466 ;
font - size : 32 px ;
}
}
& : last - child {
. form - item _ _wrapper {
border : none ;
}
}
}
}
. form - item _ _imgs {
padding : 32 px ;
. form - item _ _title {
display : flex ;
align - items : center ;
margin - bottom : 34 px ;
h2 {
color : # 333333 ;
font - weight : normal ;
font - size : 32 px ;
}
i {
color : # 999999 ;
font - size : 28 px ;
font - style : normal ;
}
}
textarea {
width : 100 % ;
}
}
. form - type {
display : flex ;
align - items : center ;
justify - content : space - between ;
height : 112 px ;
padding : 0 32 px ;
h2 {
font - weight : normal ;
color : # 333333 ;
font - size : 32 px ;
}
span {
color : # 999999 ;
font - size : 28 px ;
}
}
. btn {
position : fixed ;
left : 0 ;
bottom : 0 ;
z - index : 11 ;
width : 100 % ;
height : 112 px ;
line - height : 112 px ;
margin : 0 ;
text - align : center ;
color : # FFFFFF ;
font - size : 32 px ;
background : # 3192 F4 ;
}
. upload {
width : 100 % ;
padding : 10 px 32 px 32 px 32 px ;
box - sizing : border - box ;
}
. border - b0 {
border - bottom : 0 ! important ;
}
}
< / style >