< template >
< view >
<!-- subpages / addResi / pages / addResi / addResi . wxml -- >
< view class = "header" >
< image src = "/static/images/back.png" class = "back" : style = "' top: ' + statusHeight + 'px;width: 50rpx;height: 50rpx;'" @tap ="back" mode = "" / >
<!-- < image class = "header-bg" src = "/static/subpages/addResi/pages/images/header.png" mode = "widthFix" / > -- >
< view class = "navigation" : style = "'height: ' + navigationHeight + 'px; top: ' + statusHeight + 'px;'" >
{ { formType == 'edit' ? '修改人口信息' : '新增人口信息' } }
< / view >
< view class = "content" >
< view class = "h2" > 填写居民信息 < / view >
< view class = "tag" >
带
< b > * < / b >
号为必填项
< / view >
< / view >
< / view >
< view class = "content" >
< view class = "form_card" >
< view class = "title" >
< text class = "tag" > < / text >
基本信息
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 所在网格 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangeGrid" range -key = " label " :value ="index" :range ="gridList" >
< view : class = "form.gridName ? '' : 'gray'" >
{ { form . gridName ? form . gridName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 所在小区 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangevillageId" range -key = " label " :value ="index" :range ="villageList" >
< view : class = "villageName ? '' : 'gray'" >
{ { villageName ? villageName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 所在楼栋 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangebuilding" range -key = " label " :value ="index" :range ="buildingList" >
< view : class = "buildingName ? '' : 'gray'" >
{ { buildingName ? buildingName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 所在单元 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangeUnit" range -key = " label " :value ="index" :range ="unitList" >
< view : class = "unitName ? '' : 'gray'" >
{ { unitName ? unitName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_house" >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 所在房屋 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangeHouse" range -key = " label " :value ="index" :range ="houseList" >
< view : class = "houseName ? '' : 'gray'" >
{ { houseName ? houseName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_bottom" >
选项中如无该房屋 , 请先
< text @tap ="handelJump" > 新增房屋 < / text >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 姓名 < / view >
< / view >
< view class = "input" >
< input confirm -type = " next " @blur ="bindNameInput" @input ="bindNameInput" :value ="form.name" placeholder -class = " gray " placeholder = "请输入" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 性别 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangeGender" range -key = " label " :value ="index" :range ="genderList" >
< view : class = "form.gender ? '' : 'gray'" >
{ { genderName ? genderName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 出生日期 < / view >
< / view >
< view class = "input" >
< picker mode = "date" :value ="form.birthday" :end ="day" @change ="bindDateChange" >
< view : class = "form.birthday ? '' : 'gray'" >
{ { form . birthday ? form . birthday : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 证件号 < / view >
< / view >
< view class = "input" >
< input confirm -type = " next " @blur ="bindIdNumInput" @input ="bindidNumInput" :value ="form.idNum" placeholder -class = " gray " placeholder = "请输入" / >
< block v-if ="resiId" >
< view @tap ="showData" v-if ="isShowIdNum" data-key="idNum" >
< van -icon name = "closed-eye" / >
< / view >
< view @tap ="hideDataFun" v -else data -key = " idNum " >
< van -icon name = "eye-o" / >
< / view >
< / block >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< text class = "must" > * < / text >
< view class = "title" > 联系电话 < / view >
< / view >
< view class = "input" >
< input confirm -type = " next " @blur ="bindMobileInput" @input ="bindmobileInput" :value ="form.mobile" placeholder -class = " gray " placeholder = "请输入" / >
< block v-if ="resiId" >
< view @tap ="showData" v-if ="isShowIdTel" data-key="mobile" >
< van -icon name = "closed-eye" / >
< / view >
< view @tap ="hideDataFun" v -else data -key = " mobile " >
< van -icon name = "eye-o" / >
< / view >
< / block >
< / view >
< / view >
< / view >
< view class = "form_card m-top20" >
< view class = "title" >
< text class = "tag" > < / text >
详细信息
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 户籍地 < / view >
< / view >
< view class = "input" >
< input
confirm - type = "next"
@ blur = "bindPlaceOfDomicileInput"
@ input = "bindPlaceOfDomicileInput"
: value = "form.resideInfoDto.placeOfDomicile"
placeholder - class = "gray"
placeholder = "请输入"
/ >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 现居地 < / view >
< / view >
< view class = "input" >
< input
confirm - type = "next"
@ blur = "bindCurrentResidenceInput"
@ input = "bindCurrentResidenceInput"
: value = "form.resideInfoDto.currentResidence"
placeholder - class = "gray"
placeholder = "请输入"
/ >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 民族 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangeNation" range -key = " label " :value ="index" :range ="nation" >
< view : class = "form.nation ? '' : 'gray'" >
{ { form . nation ? nation [ form . nation ] . label : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 籍贯 < / view >
< / view >
< view class = "input" >
< input
confirm - type = "next"
@ blur = "bindNativePlaceInput"
@ input = "bindNativePlaceInput"
: value = "form.resideInfoDto.nativePlace"
placeholder - class = "gray"
placeholder = "请输入"
/ >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 文化程度 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangeEducation" range -key = " label " :value ="index" :range ="education" >
< view : class = "form.eduInfoDto.cultureLevel ? '' : 'gray'" >
{ { form . eduInfoDto . cultureLevel ? education [ form . eduInfoDto . cultureLevel ] . label : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 婚姻状况 < / view >
< / view >
< view class = "input" >
< picker @change ="bindPickerChangemarriage" range -key = " label " :value ="index" :range ="marriageList" >
< view : class = "form.familyInfoDto.marriage ? '' : 'gray'" >
{ { marriageName ? marriageName : '请选择' } }
< / view >
< / picker >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 宗教信仰 < / view >
< / view >
< view class = "input" >
< input
confirm - type = "next"
@ blur = "bindReligionInput"
@ input = "bindReligionInput"
: value = "form.religionDto.religion"
placeholder - class = "gray"
placeholder = "请输入"
/ >
< / view >
< / view >
< / view >
< view class = "form_card m-top20" >
< view class = "title" >
< text class = "tag" > < / text >
居民类别
< / view >
< view class = "form_item" >
< view class = "label" >
< view class = "title" > 居民类别 < / view >
< / view >
< view class = "input" @tap ="onClick3" >
< view : class = "'residentCategorySty ' + (residentCategorySty ? '' : 'gray')" style = "text-align: left" >
{ { residentCategorySty ? residentCategorySty : '请选择' } }
< / view >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< view class = "form_item" :key ="index" @tap ="openDynamicForms" :data-title ="item.title" :data-formtype ="item.value" v-for ="(item, index) in residentTypeFormCell" >
< view class = "label" >
< view class = "title" > { { item . title } } < / view >
< / view >
< view class = "input text-right" >
< image src = "/static/images/right.png" mode = "" / >
< / view >
< / view >
< / view >
< view class = "bottom_btn" @tap ="submit" > 提交 < / view >
< / view >
< wux -select id = "wux-select3" / >
< DynamicForms :show ="isShowDynamicForms" :title ="dynamicFormsTitle" @close ="closeDynamicForms" @ok ="okDynamicForms" :formController ="formController" / >
< / view >
< / template >
< script >
import wuxSelect from '../../../../wxcomponents/dist/select' ;
import DynamicForms from '../../../../components/DynamicForms/DynamicForms' ;
// subpages/addResi/pages/addResi/addResi.js
import api from '../../../../utils/api' ;
import { cardHide } from '../../../../utils/util' ;
import { $wuxSelect } from '../../../../wxcomponents/dist/index' ;
import {
dictlist ,
getHouseType ,
getOldPeopleDetailById ,
getVeteranDetailById ,
getVolunteerDetailById ,
publicWelfarePost ,
residentEnsureHouse ,
residentSpecial ,
residentTenant ,
residentUnemployed ,
residentUnitedFront ,
specialSupport
} from '../../../../utils/statisticsApi' ;
const app = getApp ( ) ;
export default {
components : {
wuxSelect ,
DynamicForms
} ,
data ( ) {
return {
hideData : { } ,
isShowIdNum : true ,
isShowIdTel : true ,
formController : [ ] ,
ensureHouseFlagOpen : false ,
unemployedFlagOpen : false ,
veteranFlagOpen : false ,
unitedFrontFlagOpen : false ,
volunteerFlagOpen : false ,
specialSupportFlagOpen : false ,
tenantFlagOpen : false ,
specialCrowdFlagOpen : false ,
oldPeopleFlagOpen : false ,
publicWelfareFlagOpen : false ,
residentTypeForm : {
ensureHouseFlag : [
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '住房性质' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典获取
key : 'housingNature'
} ,
{
type : 'input' ,
value : '' ,
label : '保障类型' ,
key : 'securityType'
} ,
{
type : 'date' ,
value : '' ,
label : '发证日期' ,
key : 'certificateDate'
} ,
{
type : 'input' ,
value : '' ,
label : '补贴编号' ,
key : 'subsidyNum'
} ,
{
type : 'input' ,
value : '' ,
label : '补贴金额' ,
afterText : '元' ,
key : 'subsidyAmount'
} ,
{
type : 'input' ,
value : '' ,
label : '房东姓名' ,
key : 'landlordName'
} ,
{
type : 'input' ,
value : '' ,
label : '房东证件号' ,
key : 'landlordIdNum'
} ,
{
type : 'date' ,
value : '' ,
label : '通知书领取日期' ,
key : 'notificationRcvDate'
}
] ,
unemployedFlag : [
{
type : 'input' ,
value : '' ,
label : '原工作单位' ,
key : 'originWorkUnit'
} ,
{
type : 'date' ,
value : '' ,
label : '失业时间' ,
key : 'unemploymentTime'
} ,
{
type : 'input' ,
value : '' ,
label : '失业证号' ,
key : 'unemploymentNum'
} ,
{
type : 'input' ,
value : '' ,
label : '再就业优惠证号' ,
key : 'employmentNum'
} ,
{
type : 'input' ,
value : '' ,
label : '技术特长' ,
key : 'specialSkill'
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '失业原因' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典获取
key : 'unemploymentReason'
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '是否就业困难对象' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [
{
value : 1 ,
label : '是'
} ,
{
value : 0 ,
label : '否'
}
] ,
key : 'employmentHardFlag'
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '劳动能力就业愿望' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典获取
key : 'employmentWish'
}
] ,
veteranFlag : [
{
type : 'date' ,
value : '' ,
label : '入伍时间' ,
key : 'joinArmyTime'
} ,
{
type : 'date' ,
value : '' ,
label : '退伍时间' ,
key : 'leaveArmyTime'
} ,
{
type : 'input' ,
value : '' ,
label : '服役单位' ,
key : 'serviceUnit'
} ,
{
type : 'input' ,
value : '' ,
label : '接收单位' ,
key : 'receiveUnit'
} ,
{
type : 'input' ,
value : '' ,
label : '待安置补助金' ,
afterText : '元' ,
key : 'settlementAmount'
} ,
{
type : 'input' ,
value : '' ,
label : '培训状况' ,
key : 'trainDesc'
} ,
{
type : 'input' ,
value : '' ,
label : '现就业情况' ,
key : 'employmentSituation'
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '是否办理公益性岗位' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [
{
value : 1 ,
label : '是'
} ,
{
value : 0 ,
label : '否'
}
] ,
key : 'pubWelfareJobFlag'
}
] ,
unitedFrontFlag : [
{
type : 'input' ,
value : '' ,
label : '职务' ,
key : 'duty'
} ,
{
type : 'input' ,
value : '' ,
label : '探亲情况' ,
key : 'visitation'
}
] ,
volunteerFlag : [
{
type : 'checkbox' ,
value : '' ,
label : '志愿者类别' ,
key : 'volunteerCategory'
} ,
{
type : 'textarea' ,
value : '' ,
maxlength : 120 ,
label : '备注' ,
key : 'volunteerRemark'
}
] ,
specialSupportFlag : [
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '特扶类别' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [
{
value : '1' ,
label : '失独'
} ,
{
value : '2' ,
label : '伤残'
}
] ,
// 字典
key : 'specialSupportType' ,
masterControl : true
} ,
{
type : 'input' ,
value : '' ,
label : '子女姓名' ,
key : 'childName' ,
showFlag : '2' ,
hide : true
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '子女性别' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [
{
value : '1' ,
label : '男'
} ,
{
value : '2' ,
label : '女'
}
] ,
// 字典
key : 'childGender'
} ,
{
type : 'date' ,
value : '' ,
label : '子女死亡日期' ,
key : 'childDeathDate' ,
showFlag : '1' ,
hide : true
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '伤残类别' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典
key : 'childDisabilityCategoryCode' ,
showFlag : '2' ,
hide : true
} ,
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '伤残等级' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典
key : 'childDisabilityLevel' ,
showFlag : '2' ,
hide : true
} ,
{
type : 'textarea' ,
value : '' ,
maxlength : 120 ,
label : '备注' ,
key : 'remark'
}
] ,
tenantFlag : [
{
type : 'date' ,
value : '' ,
label : '合同开始时间' ,
key : 'contractStartDate'
} ,
{
type : 'date' ,
value : '' ,
label : '合同结束时间' ,
key : 'contractEndDate'
}
] ,
specialCrowdFlag : [
{
type : 'select' ,
value : '' ,
valueIndex : - 1 ,
label : '人群类别' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典
key : 'specialCategoryCode'
}
] ,
oldPeopleFlag : [
{
type : 'input' ,
value : '' ,
label : '高龄补助' ,
afterText : '元' ,
key : 'oldSubsidy'
}
] ,
publicWelfareFlag : [
{
type : 'date' ,
value : '' ,
label : '入职时间' ,
key : 'hireData'
} ,
{
type : 'checkbox' ,
value : '' ,
valueIndex : - 1 ,
label : '岗位类型' ,
optionsKey : 'label' ,
valueKey : 'value' ,
options : [ ] ,
// 字典
key : 'postTypes'
} ,
{
type : '' ,
value : '' ,
key : 'userId'
}
]
} ,
residentTypeFormCell : [ ] ,
nation : [ ] ,
education : [ ] ,
marriageList : [ ] ,
marriageName : '' ,
form : {
agencyName : '' ,
agencyId : '' ,
resiId : '' ,
houseMergeId : '' ,
categoryId : '' ,
gridName : '' ,
gridId : '' ,
villageId : '' ,
buildId : '' ,
unitId : '' ,
homeId : '' ,
name : '' ,
nation : '' ,
remark : '' ,
localResidenceFlag : '' ,
birthday : '' ,
idNum : '' ,
gender : '' ,
mobile : '' ,
partyFlag : 0 ,
subsistenceAllowanceFlag : 0 ,
ensureHouseFlag : 0 ,
unemployedFlag : 0 ,
fertileWomanFlag : 0 ,
veteranFlag : 0 ,
unitedFrontFlag : 0 ,
petitionOfficerFlag : '' ,
volunteerFlag : 0 ,
specialSupportFlag : 0 ,
tenantFlag : 0 ,
floatingFlag : 0 ,
specialCrowdFlag : 0 ,
oldPeopleFlag : 0 ,
emptyNesterFlag : 0 ,
liveAloneFlag : 0 ,
disabledFlag : 0 ,
dementedFlag : 0 ,
disabilityFlag : 0 ,
seriousIllnessFlag : 0 ,
chronicDiseaseFlag : 0 ,
publicWelfareFlag : 0 ,
resideInfoDto : {
placeOfDomicile : '' ,
currentResidence : '' ,
nativePlace : ''
} ,
eduInfoDto : {
cultureLevel : ''
} ,
familyInfoDto : {
marriage : ''
} ,
religionDto : {
religion : ''
}
} ,
isFirstLoadGrid : true ,
isFirstLoadVillage : true ,
isFirstLoadBuilding : true ,
isFirstLoadUnit : true ,
isFirstLoadHouse : true ,
agencyId : '' ,
gridList : [ ] ,
villageList : [ ] ,
villageName : '' ,
buildingList : [ ] ,
buildingName : '' ,
unitList : [ ] ,
unitName : '' ,
houseList : [ ] ,
houseName : '' ,
genderList : [
{
label : '男' ,
value : '1'
} ,
{
label : '女' ,
value : '2'
}
] ,
genderName : '' ,
day : '' ,
value3 : [ ] ,
residentCategory : [
{
title : '党员' ,
value : 'partyFlag'
} ,
{
title : '低保人员' ,
value : 'subsistenceAllowanceFlag'
} ,
{
title : '保障房人员' ,
value : 'ensureHouseFlag' ,
isForm : true
} ,
{
title : '失业人员' ,
value : 'unemployedFlag' ,
isForm : true
} ,
{
title : '育龄妇女' ,
value : 'fertileWomanFlag'
} ,
{
title : '退役军人' ,
value : 'veteranFlag' ,
isForm : true
} ,
{
title : '统战人员' ,
value : 'unitedFrontFlag' ,
isForm : true
} ,
{
title : '信访人员' ,
value : 'petitionOfficerFlag'
} ,
{
title : '志愿者' ,
value : 'volunteerFlag' ,
isForm : true
} ,
{
title : '特扶人员' ,
value : 'specialSupportFlag' ,
isForm : true
} ,
{
title : '租户' ,
value : 'tenantFlag' ,
isForm : true
} ,
{
title : '流动人口' ,
value : 'floatingFlag'
} ,
{
title : '特殊人群' ,
value : 'specialCrowdFlag' ,
isForm : true
} ,
{
title : '老年人' ,
value : 'oldPeopleFlag' ,
isForm : true
} ,
{
title : '空巢老人' ,
value : 'emptyNesterFlag'
} ,
{
title : '独居老人' ,
value : 'liveAloneFlag'
} ,
{
title : '失能老人' ,
value : 'disabledFlag'
} ,
{
title : '失智老人' ,
value : 'dementedFlag'
} ,
{
title : '残疾' ,
value : 'disabilityFlag'
} ,
{
title : '大病' ,
value : 'seriousIllnessFlag'
} ,
{
title : '慢病' ,
value : 'chronicDiseaseFlag'
} ,
{
title : '公益岗人员' ,
value : 'publicWelfareFlag' ,
isForm : true
}
] ,
residentCategorySty : '' ,
categoryInfo : '' ,
isShowDynamicForms : false ,
dynamicTitle : ' ' ,
statusHeight : '' ,
navigationHeight : '' ,
formType : '' ,
resiId : '' ,
isFirstLoadunit : false ,
title3 : '' ,
dynamicFormsTitle : '' ,
currentFormController : '' ,
label : ''
} ;
} ,
/ * *
* 生命周期函数 -- 监听页面加载
* /
onLoad : async function ( options ) {
var nowDate = new Date ( ) ;
var year = nowDate . getFullYear ( ) ;
var month = nowDate . getMonth ( ) + 1 ;
var day = nowDate . getDate ( ) ;
this . setData ( {
statusHeight : app . globalData . deviceInfo . statusHeight ,
navigationHeight : app . globalData . deviceInfo . navigationHeight ,
agencyId : app . globalData . user . agencyId ,
'form.agencyId' : app . globalData . user . agencyId ,
'form.agencyName' : app . globalData . user . agencyName ,
day : ` ${ year } - ${ month } - ${ day } ` ,
formType : options . type ,
resiId : options . resiId
} ) ;
await this . getNationDictList ( ) ;
await this . getGridoptionDict ( ) ;
await this . getEducationDictList ( ) ;
await this . getmarriageDict ( ) ;
if ( options . resiId ) {
uni . setNavigationBarTitle ( {
title : '修改人口信息'
} ) ;
await this . getResiDetail ( ) ;
await this . getResidentResideInfo ( ) ;
await this . getResidentReligion ( ) ;
await this . getResidentEduInfo ( ) ;
setTimeout ( ( ) => {
this . getFamilyInfoDetailById ( ) ;
} , 500 ) ;
} else {
if ( options . idCard ) {
this . setData ( {
'form.name' : options . name ,
'form.idNum' : options . idCard ,
'form.gender' : options . gender == '男' ? '1' : '2' ,
genderName : options . gender ,
'form.birthday' : options . birth
} ) ;
}
this . setData ( {
isFirstLoadGrid : false ,
isFirstLoadVillage : false ,
isFirstLoadBuilding : false ,
isFirstLoadUnit : false ,
isFirstLoadHouse : false
} ) ;
}
} ,
/ * *
* 生命周期函数 -- 监听页面初次渲染完成
* /
onReady ( ) { } ,
/ * *
* 生命周期函数 -- 监听页面显示
* /
onShow ( ) { } ,
/ * *
* 生命周期函数 -- 监听页面隐藏
* /
onHide ( ) { } ,
/ * *
* 生命周期函数 -- 监听页面卸载
* /
onUnload ( ) { } ,
/ * *
* 页面相关事件处理函数 -- 监听用户下拉动作
* /
onPullDownRefresh ( ) { } ,
/ * *
* 页面上拉触底事件的处理函数
* /
onReachBottom ( ) { } ,
/ * *
* 用户点击右上角分享
* /
onShareAppMessage ( ) { } ,
methods : {
getResiDetail : async function ( ) {
try {
let res = await api . getResiDetail ( this . resiId ) ;
const {
birthday ,
gender ,
idNum ,
mobile ,
name ,
nation ,
houseInfo = { } ,
// 为houseInfo提供一个默认值
categoryInfo ,
genderName
} = res . data ;
let result = this . residentCategory . filter ( ( item ) => categoryInfo [ item . value ] === 1 ) ;
let residentCategorySty = result . map ( ( item ) => item . title ) ;
let categoryInfoArr = result . map ( ( item ) => item . value ) ;
this . setDynamicForm ( result ) ;
uni . showLoading ( {
title : '加载中...'
} ) ;
let form = this . form ;
for ( let i in categoryInfoArr ) {
form [ categoryInfoArr [ i ] ] = 1 ;
}
this . setData ( {
form
} ) ;
this . setDataAsync ( {
'form.name' : name ,
'form.birthday' : birthday ,
'form.gender' : gender ,
'form.idNum' : cardHide ( idNum ) ,
'form.mobile' : mobile ,
'form.nation' : nation ,
'form.gridId' : houseInfo ? . gridId || '' ,
// 使用了可选链
'form.gridName' : houseInfo ? . gridName || '' ,
// 使用了可选链
'form.villageId' : houseInfo ? . villageId || '' ,
// 使用了可选链
'form.buildId' : houseInfo ? . buildId || '' ,
// 使用了可选链
'form.unitId' : houseInfo ? . unitId || '' ,
// 使用了可选链
'form.homeId' : houseInfo ? . homeId || '' ,
// 使用了可选链
'form.houseMergeId' : houseInfo ? . mergeId || '' ,
// 使用了可选链
genderName ,
categoryInfo : categoryInfoArr ,
residentCategorySty
} ) ;
await this . delay ( 1000 ) ;
await this . bindPickerChangeGrid ( ) ;
await this . delay ( 400 ) ;
await this . bindPickerChangevillageId ( ) ;
await this . delay ( 400 ) ;
await this . bindPickerChangebuilding ( ) ;
await this . delay ( 400 ) ;
await this . bindPickerChangeUnit ( ) ;
await this . delay ( 400 ) ;
await this . bindPickerChangeHouse ( ) ;
uni . hideLoading ( ) ;
} catch ( err ) {
console . log ( 'CatchClause' , err ) ;
console . log ( 'CatchClause' , err ) ;
console . log ( err ) ;
}
} ,
setDataAsync : function ( data ) {
return new Promise ( ( resolve ) => {
this . setData ( data , resolve ) ;
} ) ;
} ,
delay ( ms ) {
return new Promise ( ( resolve ) => setTimeout ( resolve , ms ) ) ;
} ,
// 居住信息详情
getResidentResideInfo ( ) {
api . getResidentResideInfo ( this . resiId )
. then ( ( res ) => {
this . setData ( {
'form.resideInfoDto' : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 宗教信仰详情
getResidentReligion ( ) {
api . getResidentReligion ( this . resiId )
. then ( ( res ) => {
this . setData ( {
'form.religionDto' : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取教育信息详情
getResidentEduInfo ( ) {
api . getResidentEduInfo ( this . resiId )
. then ( ( res ) => {
this . setData ( {
'form.eduInfoDto' : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取婚姻信息
getFamilyInfoDetailById ( ) {
api . getFamilyInfoDetailById ( this . resiId )
. then ( ( res ) => {
this . setData ( {
'form.familyInfoDto' : res . data ,
marriageName : this . marriageList . filter ( ( item ) => item . value == res . data . marriage ) [ 0 ] . label
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
getNationDictList ( ) {
api . getNationDictList ( )
. then ( ( res ) => {
this . setData ( {
nation : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
getEducationDictList ( ) {
api . getEducationDictList ( )
. then ( ( res ) => {
this . setData ( {
education : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
getGridoptionDict ( ) {
let parm = {
agencyId : this . agencyId ,
purpose : 'addorupdate'
} ;
api . getGridoptionDict ( parm )
. then ( ( res ) => {
this . setData ( {
gridList : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
getmarriageDict ( ) {
api . getDictList ( 'marriage' )
. then ( ( res ) => {
this . setData ( {
marriageList : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取小区列表
getQuartersOptions ( gridId ) {
let parm = {
gridId ,
agencyId : this . agecyId
} ;
api . getQuartersOptions ( parm )
. then ( ( res ) => {
this . setData ( {
villageList : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取楼栋列表
getBuildingoption ( villageId ) {
api . getBuildingoption ( villageId )
. then ( ( res ) => {
this . setData ( {
buildingList : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取单元列表
getUnitoption ( buildingId ) {
api . getUnitoption ( buildingId )
. then ( ( res ) => {
this . setData ( {
unitList : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取房屋列表
getHouseoption ( unitId ) {
api . getHouseoption ( unitId )
. then ( ( res ) => {
this . setData ( {
houseList : res . data
} ) ;
} )
. catch ( ( err ) => {
console . log ( err ) ;
} ) ;
} ,
// 获取网格列表
async bindPickerChangeGrid ( ) {
return new Promise ( async ( resolve , reject ) => {
if ( this . isFirstLoadGrid ) {
// 编辑回填逻辑
const id = this . form . gridId ;
const temp = this . gridList . filter ( ( item ) => item . value == id ) ;
let gridName = '' ;
if ( temp . length != 0 ) {
gridName = temp [ 0 ] . label ;
} else {
this . showToast ( '网格信息有误' ) ;
return ;
}
this . setData ( {
'form.gridName' : gridName ,
'form.gridId' : id
} ) ;
this . getQuartersOptions ( id ) ;
this . setData ( {
isFirstLoadGrid : false
} ) ;
} else {
// 正常修改逻辑
const selectedIndex = e . detail . value ;
const selectedVillage = this . gridList [ selectedIndex ] ;
this . setData ( {
'form.gridName' : selectedVillage . label ,
'form.gridId' : selectedVillage . value ,
'form.villageId' : '' ,
'form.buildId' : '' ,
'form.unitId' : '' ,
'form.homeId' : '' ,
villageName : '' ,
villageList : [ ] ,
buildingName : '' ,
buildingList : [ ] ,
unitName : '' ,
unitList : [ ] ,
houseName : '' ,
houseList : [ ]
} ) ;
this . getQuartersOptions ( selectedVillage . value ) ;
}
resolve ( ) ;
} ) ;
} ,
bindPickerChangevillageId ( e ) {
return new Promise ( ( resolve , reject ) => {
if ( this . isFirstLoadVillage ) {
// 编辑回填逻辑
const id = this . form . villageId ;
const temp = this . villageList . filter ( ( item ) => item . value == id ) ;
let villageName = '' ;
if ( temp . length != 0 ) {
villageName = temp [ 0 ] . label ;
} else {
this . showToast ( '小区信息有误' ) ;
return ;
}
this . setData ( {
villageName : villageName ,
'form.villageId' : id
} ) ;
this . getBuildingoption ( id ) ;
this . setData ( {
isFirstLoadVillage : false
} ) ;
console . log ( this . villageList , '小区' ) ;
} else {
// 正常修改逻辑
const selectedIndex = e . detail . value ;
const selectedVillage = this . villageList [ selectedIndex ] ;
this . setData ( {
villageName : selectedVillage . label ,
'form.villageId' : selectedVillage . value ,
'form.buildId' : '' ,
'form.unitId' : '' ,
'form.homeId' : '' ,
buildingName : '' ,
buildingList : [ ] ,
unitName : '' ,
unitList : [ ] ,
houseName : '' ,
houseList : [ ]
} ) ;
this . getBuildingoption ( selectedVillage . value ) ;
}
resolve ( ) ;
} ) ;
} ,
bindPickerChangebuilding ( e ) {
return new Promise ( ( resolve , reject ) => {
if ( this . isFirstLoadBuilding ) {
const id = this . form . buildId ;
const temp = this . buildingList . filter ( ( item ) => item . value == id ) ;
let buildingName = '' ;
if ( temp . length != 0 ) {
buildingName = temp [ 0 ] . label ;
} else {
this . showToast ( '小区信息有误' ) ;
return ;
}
this . setData ( {
buildingName : buildingName ,
'form.buildId' : id
} ) ;
this . getUnitoption ( id ) ;
this . setData ( {
isFirstLoadBuilding : false
} ) ;
} else {
const selectedIndex = e . detail . value ;
const selectedVillage = this . buildingList [ selectedIndex ] ;
this . setData ( {
buildingName : selectedVillage . label ,
'form.buildId' : selectedVillage . value ,
'form.unitId' : '' ,
'form.homeId' : '' ,
unitName : '' ,
unitList : [ ] ,
houseName : '' ,
houseList : [ ]
} ) ;
this . getUnitoption ( selectedVillage . value ) ;
}
resolve ( ) ;
} ) ;
} ,
bindPickerChangeUnit ( e ) {
return new Promise ( ( resolve , reject ) => {
if ( this . isFirstLoadUnit ) {
const id = this . form . unitId ;
const temp = this . unitList . filter ( ( item ) => item . value == id ) ;
let unitName = '' ;
if ( temp . length != 0 ) {
unitName = temp [ 0 ] . label ;
} else {
this . showToast ( '楼栋信息有误' ) ;
return ;
}
this . setData ( {
unitName : unitName ,
'form.unitId' : id
} ) ;
this . getHouseoption ( id ) ;
this . setData ( {
isFirstLoadunit : false
} ) ;
} else {
const selectedIndex = e . detail . value ;
const selectedVillage = this . unitList [ selectedIndex ] ;
this . setData ( {
unitName : selectedVillage . label ,
'form.unitId' : selectedVillage . value ,
'form.homeId' : '' ,
houseName : '' ,
houseList : [ ]
} ) ;
this . getHouseoption ( selectedVillage . value ) ;
}
resolve ( ) ;
} ) ;
} ,
bindPickerChangeHouse ( e ) {
return new Promise ( ( resolve , reject ) => {
if ( this . isFirstLoadHouse ) {
const id = this . form . homeId ;
const temp = this . houseList . filter ( ( item ) => item . value == id ) ;
let houseName = '' ;
if ( temp . length != 0 ) {
houseName = temp [ 0 ] . label ;
} else {
this . showToast ( '房屋信息有误' ) ;
return ;
}
this . setData ( {
houseName : houseName ,
'form.homeId' : id
} ) ;
this . setData ( {
isFirstLoadHouse : false
} ) ;
} else {
const selectedIndex = e . detail . value ;
const selectedVillage = this . houseList [ selectedIndex ] ;
this . setData ( {
houseName : selectedVillage . label ,
'form.homeId' : selectedVillage . value
} ) ;
}
resolve ( ) ;
} ) ;
} ,
bindNameInput ( e ) {
this . setData ( {
'form.name' : e . detail . value
} ) ;
console . log ( this . form ) ;
} ,
bindPickerChangeGender ( e ) {
this . setData ( {
genderName : this . genderList [ e . detail . value ] . label ,
'form.gender' : this . genderList [ e . detail . value ] . value
} ) ;
} ,
bindDateChange ( e ) {
this . setData ( {
'form.birthday' : e . detail . value
} ) ;
} ,
bindidNumInput ( e ) {
this . setData ( {
isShowIdNum : false ,
'form.idNum' : e . detail . value
} ) ;
console . log ( this . form ) ;
} ,
bindMobileInput ( e ) {
this . setData ( {
isShowIdTel : false ,
'form.mobile' : e . detail . value
} ) ;
console . log ( this . form ) ;
} ,
bindPlaceOfDomicileInput ( e ) {
this . setData ( {
'form.resideInfoDto.placeOfDomicile' : e . detail . value
} ) ;
console . log ( this . form ) ;
} ,
bindCurrentResidenceInput ( e ) {
this . setData ( {
'form.resideInfoDto.currentResidence' : e . detail . value
} ) ;
console . log ( this . form ) ;
} ,
bindPickerChangeNation ( e ) {
this . setData ( {
'form.nation' : this . nation [ e . detail . value ] . value
} ) ;
} ,
bindNativePlaceInput ( e ) {
this . setData ( {
'form.resideInfoDto.nativePlace' : e . detail . value
} ) ;
} ,
bindPickerChangeEducation ( e ) {
this . setData ( {
'form.eduInfoDto.cultureLevel' : this . education [ e . detail . value ] . value
} ) ;
} ,
bindPickerChangemarriage ( e ) {
this . setData ( {
'form.familyInfoDto.marriage' : this . marriageList [ e . detail . value ] . value ,
marriageName : this . marriageList [ e . detail . value ] . label
} ) ;
} ,
bindReligionInput ( e ) {
this . setData ( {
'form.religionDto.religion' : e . detail . value
} ) ;
} ,
onClick3 ( ) {
const than = this ;
$wuxSelect ( '#wux-select3' ) . open ( {
value : this . categoryInfo ,
multiple : true ,
toolbar : {
title : '居民类别' ,
confirmText : '确定'
} ,
options : than . residentCategory ,
onChange : ( value , index , options ) => {
console . log ( 'onChange' , value , index , options ) ;
const matchingLabels = value
. map ( ( valueToFind ) => {
const matchedItem = than . residentCategory . find ( ( item ) => item . value === valueToFind ) ;
return matchedItem ? matchedItem . title : null ;
} )
. filter ( Boolean ) ;
this . setData ( {
value3 : value ,
residentCategorySty : matchingLabels . join ( ',' )
} ) ;
} ,
onConfirm : ( value , index , options ) => {
console . log ( 'onConfirm' , value , index , options ) ;
let updatedForm = {
... this . form
} ;
than . residentCategory . forEach ( ( option ) => {
if ( value . includes ( option . value ) ) {
updatedForm [ option . value ] = 1 ;
} else if ( updatedForm [ option . value ] === 1 ) {
updatedForm [ option . value ] = 0 ;
}
} ) ;
this . setData ( {
value3 : value ,
title3 : index . map ( ( n ) => options [ n ] . title ) ,
form : updatedForm
} ) ;
let residentTypeFormCell = [ ] ;
index . forEach ( ( item ) => {
residentTypeFormCell . push ( this . residentCategory [ item ] ) ;
} ) ;
this . setDynamicForm ( residentTypeFormCell ) ;
console . log ( this . form ) ;
}
} ) ;
} ,
showToast ( title ) {
uni . showToast ( {
title : title ,
duration : 2000 ,
icon : 'none'
} ) ;
} ,
submit : async function ( ) {
if ( ! this . form . gridId ) {
this . showToast ( '请选择所在网格' ) ;
return ;
}
if ( ! this . form . villageId ) {
this . showToast ( '请选择所在小区' ) ;
return ;
}
if ( ! this . form . buildId ) {
this . showToast ( '请选择所在楼栋' ) ;
return ;
}
if ( ! this . form . unitId ) {
this . showToast ( '请选择所在单元' ) ;
return ;
}
if ( ! this . form . homeId ) {
this . showToast ( '请选择所在房屋' ) ;
return ;
}
if ( ! this . form . name ) {
this . showToast ( '请填写姓名' ) ;
return ;
}
if ( ! this . form . gender ) {
this . showToast ( '请选择性别' ) ;
return ;
}
if ( ! this . form . birthday ) {
this . showToast ( '请选择出生日期' ) ;
return ;
}
if ( ! this . form . idNum ) {
this . showToast ( '请填写证件号' ) ;
return ;
}
if ( ! this . form . mobile ) {
this . showToast ( '请填写联系电话' ) ;
return ;
}
console . log ( this . isShowIdNum , this . formType != 'edit' ) ;
const parm = {
... this . form ,
// idNum: this.data.isShowIdNum&&this.data.formType === 'edit'?undefined:this.data.form.idNum,
// mobile: this.data.isShowIdTel&&this.data.formType === 'edit'?undefined:this.data.form.mobile,
ensureHouseDto : this . ensureHouseFlagOpen ? this . getValue ( this . residentTypeForm . ensureHouseFlag ) : undefined ,
unemployedDto : this . unemployedFlagOpen ? this . getValue ( this . residentTypeForm . unemployedFlag ) : undefined ,
veteranDto : this . veteranFlagOpen ? this . getValue ( this . residentTypeForm . veteranFlag ) : undefined ,
unitedFrontDto : this . unitedFrontFlagOpen ? this . getValue ( this . residentTypeForm . unitedFrontFlag ) : undefined ,
volunteerDto : this . volunteerFlagOpen ? this . getValue ( this . residentTypeForm . volunteerFlag ) : undefined ,
specialSupportDto : this . specialSupportFlagOpen ? this . getValue ( this . residentTypeForm . specialSupportFlag ) : undefined ,
tenantDto : this . tenantFlagOpen ? this . getValue ( this . residentTypeForm . tenantFlag ) : undefined ,
specialDto : this . specialCrowdFlagOpen ? this . getValue ( this . residentTypeForm . specialCrowdFlag ) : undefined ,
oldPeopleDto : this . oldPeopleFlagOpen ? this . getValue ( this . residentTypeForm . oldPeopleFlag ) : undefined ,
postDto : this . publicWelfareFlagOpen ? this . getValue ( this . residentTypeForm . publicWelfareFlag ) : undefined
} ;
console . log ( this . formType ) ;
if ( this . formType == 'edit' ) {
parm . resiId = this . resiId ;
try {
const res = await api . resiEdit ( parm ) ;
if ( res . code === 0 ) {
uni . showToast ( {
title : '编辑成功' ,
duration : 3000 ,
success : function ( ) {
setTimeout ( ( ) => {
uni . navigateBack ( {
delta : 1
} ) ;
} , 3000 ) ;
}
} ) ;
}
} catch ( err ) {
console . log ( 'CatchClause' , err ) ;
console . log ( 'CatchClause' , err ) ;
console . log ( err ) ;
}
} else {
try {
const res = await api . resiAdd ( parm ) ;
if ( res . code === 0 ) {
uni . showToast ( {
title : '新增成功' ,
duration : 3000 ,
success : function ( ) {
setTimeout ( ( ) => {
uni . navigateBack ( {
delta : 1
} ) ;
} , 3000 ) ;
}
} ) ;
}
} catch ( err ) {
console . log ( 'CatchClause' , err ) ;
console . log ( 'CatchClause' , err ) ;
console . log ( err ) ;
}
}
} ,
back ( ) {
//返回上一级,关闭当前页面
uni . navigateBack ( {
delta : 1
} ) ;
} ,
handelJump ( ) {
uni . navigateTo ( {
url : '/subpages/addhouse/pages/addhouse/addhouse'
} ) ;
} ,
closeDynamicForms ( ) {
this . setData ( {
isShowDynamicForms : false
} ) ;
} ,
okDynamicForms ( e ) {
console . log ( e ) ;
let residentTypeForm = this . residentTypeForm ;
residentTypeForm [ this . currentFormController ] = e . detail ;
this . setData ( {
residentTypeForm
} ) ;
} ,
setDynamicForm ( data ) {
let residentTypeFormCell = data . filter ( ( item ) => item . isForm ) ;
let values = residentTypeFormCell . map ( ( item ) => item . value ) ;
// 保障房人员
if ( values . includes ( 'ensureHouseFlag' ) ) {
this . getHouseTypes ( ) ;
}
// 失业人员
if ( values . includes ( 'unemployedFlag' ) ) {
// 失业原因
this . getDictData ( 'unemployment_reason' , 'unemploymentReason' ) ;
// 愿望
this . getDictData ( 'career_goals' , 'employmentWish' ) ;
}
// 志愿者
if ( values . includes ( 'volunteerFlag' ) ) {
// 志愿者类别
this . getDictData ( 'VOLUNTEER_CATEGORY' , 'volunteerCategory' ) ;
}
// 特扶
if ( values . includes ( 'specialSupportFlag' ) ) {
//获取伤残类别字典
this . getDictData ( 'disability_category_code' , 'childDisabilityCategoryCode' ) ;
// 获取伤残等级字典
this . getDictData ( 'disability_level' , 'childDisabilityLevel' ) ;
}
// 特殊人群
if ( values . includes ( 'specialCrowdFlag' ) ) {
//人群类别
this . getDictData ( 'special_resident_category' , 'specialCategoryCode' ) ;
}
// 公益岗人员
if ( values . includes ( 'specialCrowdFlag' ) ) {
//岗位类型
this . getDictData ( 'public_welfare_post_type' , 'postTypes' ) ;
}
this . setData ( {
residentTypeFormCell
} ) ;
// residentTypeForm
} ,
async openDynamicForms ( e ) {
var data = { } ;
let formtype = e . currentTarget . dataset . formtype ;
let id = this . resiId ;
if ( formtype === 'ensureHouseFlag' ) {
let res = await residentEnsureHouse ( id ) ;
data = res . data ;
}
if ( formtype === 'unemployedFlag' ) {
let res = await residentUnemployed ( id ) ;
data = res . data ;
}
if ( formtype === 'veteranFlag' ) {
let res = await getVeteranDetailById ( id ) ;
data = res . data ;
}
if ( formtype === 'unitedFrontFlag' ) {
let res = await residentUnitedFront ( id ) ;
data = res . data ;
}
if ( formtype === 'volunteerFlag' ) {
let res = await getVolunteerDetailById ( id ) ;
data = res . data ;
}
if ( formtype === 'specialSupportFlag' ) {
let res = await specialSupport ( id ) ;
data = res . data ;
}
if ( formtype === 'tenantFlag' ) {
let res = await residentTenant ( id ) ;
data = res . data ;
}
if ( formtype === 'specialCrowdFlag' ) {
let res = await residentSpecial ( id ) ;
data = res . data ;
}
if ( formtype === 'oldPeopleFlag' ) {
let res = await getOldPeopleDetailById ( id ) ;
data = res . data ;
}
if ( formtype === 'publicWelfareFlag' ) {
let res = await publicWelfarePost ( id ) ;
data = res . data ;
}
let residentTypeForm = this . residentTypeForm ;
residentTypeForm [ formtype ] . forEach ( ( item ) => {
if ( item . key === 'userId' ) {
item . value = id ;
}
for ( let i in data ) {
if ( item . key === i ) {
item . value = data [ item . key ] ;
if ( data [ item . key ] ) {
console . log ( data [ item . key ] , 'data[item.key]' ) ;
if ( item . type === 'date' ) {
item . value = data [ item . key ] . split ( ' ' ) [ 0 ] ;
}
if ( item . type === 'checkbox' ) {
let arr = [ ] ;
let value = data [ item . key ] . split ( ',' ) ;
value . forEach ( ( item2 ) => {
arr . push ( ... item . options . filter ( ( item3 ) => item3 . value === item2 ) ) ;
} ) ;
item . selected = arr . map ( ( item ) => item . label ) . join ( ',' ) ;
}
if ( item . type === 'select' ) {
let options = item . options . map ( ( item2 ) => item2 [ item . valueKey ] ) ;
item . valueIndex = options . indexOf ( item . value ) ;
if ( item . masterControl ) {
residentTypeForm [ formtype ] . forEach ( ( item3 ) => {
if ( item3 . showFlag ) {
if ( item3 . showFlag === item . value ) {
item3 . hide = false ;
} else {
item3 . hide = true ;
}
}
} ) ;
}
} else {
item . valueIndex = - 1 ;
}
}
}
}
} ) ;
this . setData ( {
residentTypeForm ,
[ formtype + 'Open' ] : true ,
dynamicFormsTitle : '填写' + e . currentTarget . dataset . title ,
currentFormController : formtype ,
formController : this . residentTypeForm [ e . currentTarget . dataset . formtype ] ,
isShowDynamicForms : true
} ) ;
console . log ( this ) ;
} ,
// 获取住房性质
getHouseTypes ( ) {
getHouseType ( {
formCode : 'resi_base_info'
} ) . then ( ( res ) => {
console . log ( res . data ) ;
this . setPickerOptions ( 'housingNature' , res . data ) ;
} ) ;
} ,
getDictData ( dictType , formName ) {
dictlist ( {
dictType : dictType
} ) . then ( ( res ) => {
this . setPickerOptions ( formName , res . data ) ;
} ) ;
} ,
setPickerOptions ( key , options ) {
let residentTypeForm = this . residentTypeForm ;
for ( let item in residentTypeForm ) {
residentTypeForm [ item ] . forEach ( ( item2 ) => {
if ( item2 . key === key ) {
item2 . options = options ;
}
} ) ;
}
this . setData ( {
residentTypeForm
} ) ;
} ,
getValue ( arry ) {
let obj = { } ;
arry . forEach ( ( item ) => {
if ( item . type === 'date' && item . value != '' ) {
item . value = item . value + ' 00:00:00' ;
}
obj [ item . key ] = item . value ;
} ) ;
return obj ;
} ,
hideDataFun ( e ) {
let key = e . currentTarget . dataset . key ;
let form = this . form ;
form [ key ] = this . hideData [ key ] ;
if ( key === 'idNum' ) {
this . setData ( {
isShowIdNum : ! this . isShowIdNum
} ) ;
}
if ( key === 'mobile' ) {
this . setData ( {
isShowIdTel : ! this . isShowIdTel
} ) ;
}
this . setData ( {
form
} ) ;
} ,
showData ( e ) {
let key = e . currentTarget . dataset . key ;
let form = this . form ;
let hideData = this . hideData ;
hideData [ key ] = form [ key ] ;
this . setData ( {
hideData
} ) ;
api . getResiUserInfo ( this . resiId ) . then ( ( res ) => {
if ( key === 'idNum' ) {
this . setData ( {
isShowIdNum : ! this . isShowIdNum
} ) ;
}
if ( key === 'mobile' ) {
this . setData ( {
isShowIdTel : ! this . isShowIdTel
} ) ;
}
form [ key ] = res . data [ key ] ;
this . setData ( {
form
} ) ;
console . log ( res . data [ key ] , this . form [ key ] ) ;
} ) ;
} ,
bindIdNumInput ( ) {
console . log ( '占位:函数 bindIdNumInput 未声明' ) ;
} ,
bindmobileInput ( ) {
console . log ( '占位:函数 bindmobileInput 未声明' ) ;
}
}
} ;
< / script >
< style >
/* subpages/addResi/pages/addResi/addResi.wxss */
page {
width : 100 % ;
min - height : 100 vh ;
overflow - y : auto ;
background - color : # f7f7f7 ;
}
. gray {
color : # c1c1c1 ;
}
. m - top20 {
margin - top : 20 rpx ;
}
. header {
width : 100 % ;
height : 444 rpx ;
overflow : hidden ;
background - image : url ( '/static/subpages/addResi/pages/images/header.png' ) ;
background - size : 100 % 100 % ;
}
. header . header - bg {
width : 100 % ;
height : 444 rpx ;
position : absolute ;
height : 100 % ;
z - index : - 999 ;
}
. back {
width : 30 rpx ;
height : 30 rpx ;
margin - left : 20 rpx ;
position : absolute ;
margin - top : 20 rpx ;
border - radius : 0 rpx ;
z - index : 101 ;
}
. header . navigation {
width : 100 % ;
display : flex ;
align - items : center ;
justify - content : center ;
color : # 333333 ;
font - size : 32 rpx ;
position : relative ;
z - index : 100 ;
}
. header . content {
margin : 160 rpx 0 0 50 rpx ;
}
. header . content . h2 {
font - size : 44 rpx ;
font - family : PingFang SC ;
font - weight : 800 ;
color : # 333333 ;
margin - bottom : 28 rpx ;
}
. header . content . tag {
width : 200 rpx ;
height : 50 rpx ;
position : relative ;
line - height : 48 rpx ;
font - size : 28 rpx ;
font - family : PingFang SC ;
font - weight : 500 ;
color : # 94 a6c2 ;
padding - left : 15 rpx ;
}
. header . content . tag b {
color : # ff2a00 ;
}
. header . content . tag image {
width : 170 rpx ;
height : 50 rpx ;
position : absolute ;
top : 0 ;
left : 0 ;
z - index : - 888 ;
}
. content {
width : 100 % ;
height : auto ;
padding : 0 20 rpx ;
box - sizing : border - box ;
position : relative ;
top : - 30 rpx ;
}
. form_card {
background - color : # fff ;
border - radius : 10 rpx ;
padding : 0 30 rpx ;
box - sizing : border - box ;
height : auto ;
}
. form_card > . title {
height : 90 rpx ;
line - height : 90 rpx ;
font - size : 34 rpx ;
font - family : PingFang SC ;
font - weight : bold ;
color : # 333333 ;
position : relative ;
}
. form_card . title . tag {
width : 10 rpx ;
height : 28 rpx ;
background : # 3 a80e7 ;
border - radius : 4 rpx ;
position : absolute ;
left : - 30 rpx ;
top : 50 % ;
transform : translateY ( - 14 rpx ) ;
}
. form_card . form_item {
display : flex ;
align - items : center ;
border - top : 1 px solid # eaeaea ;
height : 100 rpx ;
}
. form_card . form_house {
height : 139 rpx ;
display : flex ;
flex - direction : column ;
}
. form_card . form_house . form_bottom {
font - size : 24 rpx ;
color : # c1c1c1 ;
position : relative ;
top : - 10 rpx ;
}
. form_card . form_house . form_bottom text {
color : # 3 a80e7 ;
}
. form_card . form_item . label {
min - width : 130 rpx ;
height : 100 % ;
line - height : 100 rpx ;
font - size : 32 rpx ;
font - family : PingFang SC ;
font - weight : 500 ;
color : # 666666 ;
position : relative ;
}
. form_card . form_item . label . must {
font - size : 32 rpx ;
font - weight : 500 ;
color : # ff2a00 ;
position : absolute ;
left : - 18 rpx ;
top : 50 % ;
transform : translateY ( - 50 rpx ) ;
}
. form_card . form_item . input {
flex : 1 ;
display : flex ;
justify - content : space - around ;
align - items : center ;
margin - left : 51 rpx ;
overflow : hidden ;
}
. form_card . form_item . input . residentCategorySty {
flex : 1 ;
overflow : hidden ;
text - overflow : ellipsis ;
white - space : nowrap ;
}
. form_card . form_item . input picker ,
. form_card . form_item . input input {
flex : 1 ;
}
. form_card . form_item . input image {
height : 22 rpx ;
width : 22 rpx ;
}
. bottom_btn {
width : 600 rpx ;
height : 86 rpx ;
background : linear - gradient ( 87 deg , # 81 b5fb 0 % , # 3 e92ff 100 % ) ;
border - radius : 43 rpx ;
text - align : center ;
color : # fff ;
margin : 30 rpx auto 0 ;
line - height : 86 rpx ;
}
. text - right {
text - align : right ! important ;
justify - content : flex - end ! important ;
}
< / style >