13 changed files with 2189 additions and 1576 deletions
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 91 KiB |
File diff suppressed because it is too large
@ -1,7 +1,8 @@ |
|||||
{ |
{ |
||||
"usingComponents": { |
"usingComponents": { |
||||
"wux-select": "../../../../components/dist/select", |
"wux-select": "../../../../components/dist/select", |
||||
"DynamicForms": "../../../../components/DynamicForms/DynamicForms" |
"DynamicForms": "../../../../components/DynamicForms/DynamicForms", |
||||
|
"van-icon": "@vant/weapp/icon/index" |
||||
}, |
}, |
||||
"navigationStyle": "custom" |
"navigationStyle": "custom" |
||||
} |
} |
@ -1,279 +1,271 @@ |
|||||
<!--subpages/addResi/pages/addResi/addResi.wxml--> |
<!--subpages/addResi/pages/addResi/addResi.wxml--> |
||||
<view class="header"> |
<view class="header"> |
||||
<image src="../../../../images/back.png" class="back" style=" top: {{statusHeight}}px;width: 50rpx;height: 50rpx;" |
<image src="../../../../images/back.png" class="back" style=" top: {{statusHeight}}px;width: 50rpx;height: 50rpx;" bindtap="back" mode="" /> |
||||
bindtap="back" mode=""/> |
<image class="header-bg" src="../images/header.png" mode="widthFix" /> |
||||
<image class="header-bg" src="../images/header.png" mode="widthFix"/> |
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;"> |
||||
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;"> |
{{formType == 'edit' ? '修改人口信息' : '新增人口信息'}} |
||||
{{formType == 'edit' ? '修改人口信息' : '新增人口信息'}} |
</view> |
||||
</view> |
<view class="content"> |
||||
<view class="content"> |
<view class="h2">填写居民信息</view> |
||||
<view class="h2">填写居民信息</view> |
<view class="tag">带 <b>*</b> 号为必填项 |
||||
<view class="tag">带 <b>*</b> 号为必填项 |
|
||||
</view> |
|
||||
</view> |
</view> |
||||
|
</view> |
||||
</view> |
</view> |
||||
<view class="content"> |
<view class="content"> |
||||
<view class="form_card"> |
<view class="form_card"> |
||||
<view class="title"> |
<view class="title"> |
||||
<text class="tag"></text> 基本信息 |
<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 bindchange="bindPickerChangeGrid" range-key="label" value="{{index}}" range="{{gridList}}"> |
|
||||
<view class="{{form.gridName?'':'gray'}}"> |
|
||||
{{form.gridName ? form.gridName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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 bindchange="bindPickerChangevillageId" range-key="label" value="{{index}}" |
|
||||
range="{{villageList}}"> |
|
||||
<view class="{{villageName?'':'gray'}}"> |
|
||||
{{villageName ? villageName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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 bindchange="bindPickerChangebuilding" range-key="label" value="{{index}}" |
|
||||
range="{{buildingList}}"> |
|
||||
<view class="{{buildingName?'':'gray'}}"> |
|
||||
{{buildingName ? buildingName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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 bindchange="bindPickerChangeUnit" range-key="label" value="{{index}}" range="{{unitList}}"> |
|
||||
<view class="{{unitName?'':'gray'}}"> |
|
||||
{{unitName ? unitName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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 bindchange="bindPickerChangeHouse" range-key="label" value="{{index}}" |
|
||||
range="{{houseList}}"> |
|
||||
<view class="{{houseName?'':'gray'}}"> |
|
||||
{{houseName ? houseName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../images/right.png" mode=""/> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="form_bottom">选项中如无该房屋,请先 |
|
||||
<text bind: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" bindblur="bindNameInput" bindinput="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 bindchange="bindPickerChangeGender" range-key="label" value="{{index}}" range="{{genderList}}"> |
|
||||
<view class="{{form.gender?'':'gray'}}"> |
|
||||
{{genderName ? genderName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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}}" bindchange="bindDateChange"> |
|
||||
<view class="{{form.birthday?'':'gray'}}"> |
|
||||
{{form.birthday ? form.birthday : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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" bindblur="bindIdNumInput" bindinput="bindidNumInput" value="{{form.idNum}}" |
|
||||
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"> |
|
||||
<input confirm-type="next" bindblur="bindMobileInput" bindinput="bindmobileInput" |
|
||||
value="{{form.mobile}}" placeholder-class="gray" placeholder="请输入"/> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
</view> |
||||
<view class="form_card m-top20"> |
<view class="form_item"> |
||||
<view class="title"> |
<view class="label"> |
||||
<text class="tag"></text> 详细信息 |
<text class="must">*</text> |
||||
</view> |
<view class="title">所在网格</view> |
||||
<view class="form_item"> |
</view> |
||||
<view class="label"> |
<view class="input"> |
||||
<view class="title">户籍地</view> |
<picker bindchange="bindPickerChangeGrid" range-key="label" value="{{index}}" range="{{gridList}}"> |
||||
</view> |
<view class="{{form.gridName?'':'gray'}}"> |
||||
<view class="input"> |
{{form.gridName ? form.gridName : '请选择'}} |
||||
<input confirm-type="next" bindblur="bindPlaceOfDomicileInput" bindinput="bindPlaceOfDomicileInput" |
</view> |
||||
value="{{form.resideInfoDto.placeOfDomicile}}" placeholder-class="gray" placeholder="请输入"/> |
</picker> |
||||
</view> |
<image src="../../../../images/right.png" mode="" /> |
||||
</view> |
</view> |
||||
<view class="form_item"> |
</view> |
||||
<view class="label"> |
<view class="form_item"> |
||||
<view class="title">现居地</view> |
<view class="label"> |
||||
</view> |
<text class="must">*</text> |
||||
<view class="input"> |
<view class="title">所在小区</view> |
||||
<input confirm-type="next" bindblur="bindCurrentResidenceInput" bindinput="bindCurrentResidenceInput" |
</view> |
||||
value="{{form.resideInfoDto.currentResidence}}" placeholder-class="gray" placeholder="请输入"/> |
<view class="input"> |
||||
</view> |
<picker bindchange="bindPickerChangevillageId" range-key="label" value="{{index}}" range="{{villageList}}"> |
||||
</view> |
<view class="{{villageName?'':'gray'}}"> |
||||
<view class="form_item"> |
{{villageName ? villageName : '请选择'}} |
||||
<view class="label"> |
</view> |
||||
<view class="title">民族</view> |
</picker> |
||||
</view> |
<image src="../../../../images/right.png" mode="" /> |
||||
<view class="input"> |
</view> |
||||
<picker bindchange="bindPickerChangeNation" range-key="label" value="{{index}}" range="{{nation}}"> |
</view> |
||||
<view class="{{form.nation?'':'gray'}}"> |
<view class="form_item"> |
||||
{{form.nation ? nation[form.nation].label : '请选择'}} |
<view class="label"> |
||||
</view> |
<text class="must">*</text> |
||||
</picker> |
<view class="title">所在楼栋</view> |
||||
<image src="../../../../images/right.png" mode=""/> |
</view> |
||||
</view> |
<view class="input"> |
||||
</view> |
<picker bindchange="bindPickerChangebuilding" range-key="label" value="{{index}}" range="{{buildingList}}"> |
||||
<view class="form_item"> |
<view class="{{buildingName?'':'gray'}}"> |
||||
<view class="label"> |
{{buildingName ? buildingName : '请选择'}} |
||||
<view class="title">籍贯</view> |
</view> |
||||
</view> |
</picker> |
||||
<view class="input"> |
<image src="../../../../images/right.png" mode="" /> |
||||
<input confirm-type="next" bindblur="bindNativePlaceInput" bindinput="bindNativePlaceInput" |
</view> |
||||
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 bindchange="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="../../../../images/right.png" mode=""/> |
|
||||
</view> |
|
||||
</view> |
|
||||
<view class="form_item"> |
|
||||
<view class="label"> |
|
||||
<view class="title">婚姻状况</view> |
|
||||
</view> |
|
||||
<view class="input"> |
|
||||
<picker bindchange="bindPickerChangemarriage" range-key="label" value="{{index}}" |
|
||||
range="{{marriageList}}"> |
|
||||
<view class="{{form.familyInfoDto.marriage?'':'gray'}}"> |
|
||||
{{marriageName ? marriageName : '请选择'}} |
|
||||
</view> |
|
||||
</picker> |
|
||||
<image src="../../../../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" bindblur="bindReligionInput" bindinput="bindReligionInput" |
|
||||
value="{{form.religionDto.religion}}" placeholder-class="gray" placeholder="请输入"/> |
|
||||
</view> |
|
||||
</view> |
|
||||
</view> |
</view> |
||||
<view class="form_card m-top20"> |
<view class="form_item"> |
||||
<view class="title"> |
<view class="label"> |
||||
<text class="tag"></text> 居民类别 |
<text class="must">*</text> |
||||
|
<view class="title">所在单元</view> |
||||
|
</view> |
||||
|
<view class="input"> |
||||
|
<picker bindchange="bindPickerChangeUnit" range-key="label" value="{{index}}" range="{{unitList}}"> |
||||
|
<view class="{{unitName?'':'gray'}}"> |
||||
|
{{unitName ? unitName : '请选择'}} |
||||
|
</view> |
||||
|
</picker> |
||||
|
<image src="../../../../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> |
||||
<view class="form_item"> |
<view class="input"> |
||||
<view class="label"> |
<picker bindchange="bindPickerChangeHouse" range-key="label" value="{{index}}" range="{{houseList}}"> |
||||
<view class="title">居民类别</view> |
<view class="{{houseName?'':'gray'}}"> |
||||
</view> |
{{houseName ? houseName : '请选择'}} |
||||
<view class="input" bind:tap="onClick3"> |
|
||||
<view class="residentCategorySty {{residentCategorySty?'':'gray'}}" style="text-align: left;"> |
|
||||
{{residentCategorySty ? residentCategorySty : '请选择'}} |
|
||||
</view> |
|
||||
<image src="../../../../images/right.png" mode=""/> |
|
||||
</view> |
</view> |
||||
|
</picker> |
||||
|
<image src="../../../../images/right.png" mode="" /> |
||||
</view> |
</view> |
||||
<view class="form_item" |
</view> |
||||
wx:for="{{residentTypeFormCell}}" |
<view class="form_bottom">选项中如无该房屋,请先 |
||||
:key="index" |
<text bind:tap="handelJump">新增房屋</text> |
||||
bind:tap="openDynamicForms" |
</view> |
||||
data-title="{{item.title}}" |
</view> |
||||
data-formtype="{{item.value}}" |
<view class="form_item"> |
||||
> |
<view class="label"> |
||||
<view class="label"> |
<text class="must">*</text> |
||||
<view class="title">{{item.title}}</view> |
<view class="title">姓名</view> |
||||
</view> |
</view> |
||||
<view class="input text-right"> |
<view class="input"> |
||||
<image src="../../../../images/right.png" mode=""/> |
<input confirm-type="next" bindblur="bindNameInput" bindinput="bindNameInput" value="{{form.name}}" placeholder-class="gray" placeholder="请输入" /> |
||||
</view> |
</view> |
||||
|
</view> |
||||
|
<view class="form_item"> |
||||
|
<view class="label"> |
||||
|
<text class="must">*</text> |
||||
|
<view class="title">性别</view> |
||||
|
</view> |
||||
|
<view class="input"> |
||||
|
<picker bindchange="bindPickerChangeGender" range-key="label" value="{{index}}" range="{{genderList}}"> |
||||
|
<view class="{{form.gender?'':'gray'}}"> |
||||
|
{{genderName ? genderName : '请选择'}} |
||||
|
</view> |
||||
|
</picker> |
||||
|
<image src="../../../../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}}" bindchange="bindDateChange"> |
||||
|
<view class="{{form.birthday?'':'gray'}}"> |
||||
|
{{form.birthday ? form.birthday : '请选择'}} |
||||
|
</view> |
||||
|
</picker> |
||||
|
<image src="../../../../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" bindblur="bindIdNumInput" bindinput="bindidNumInput" value="{{form.idNum}}" placeholder-class="gray" placeholder="请输入" /> |
||||
|
<block wx:if="{{resiId}}"> |
||||
|
|
||||
|
<view bind:tap="showData" wx:if="{{isShowIdNum}}" data-key='idNum'> |
||||
|
<van-icon name="closed-eye" /> |
||||
|
</view> |
||||
|
<view bind:tap="hideData" wx: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" bindblur="bindMobileInput" bindinput="bindmobileInput" value="{{form.mobile}}" placeholder-class="gray" placeholder="请输入" /> |
||||
|
<block wx:if="{{resiId}}"> |
||||
|
<view bind:tap="showData" wx:if="{{isShowIdTel}}" data-key='mobile'> |
||||
|
<van-icon name="closed-eye" /> |
||||
|
</view> |
||||
|
<view bind:tap="hideData" wx: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" bindblur="bindPlaceOfDomicileInput" bindinput="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" bindblur="bindCurrentResidenceInput" bindinput="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 bindchange="bindPickerChangeNation" range-key="label" value="{{index}}" range="{{nation}}"> |
||||
|
<view class="{{form.nation?'':'gray'}}"> |
||||
|
{{form.nation ? nation[form.nation].label : '请选择'}} |
||||
|
</view> |
||||
|
</picker> |
||||
|
<image src="../../../../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" bindblur="bindNativePlaceInput" bindinput="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 bindchange="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="../../../../images/right.png" mode="" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="form_item"> |
||||
|
<view class="label"> |
||||
|
<view class="title">婚姻状况</view> |
||||
|
</view> |
||||
|
<view class="input"> |
||||
|
<picker bindchange="bindPickerChangemarriage" range-key="label" value="{{index}}" range="{{marriageList}}"> |
||||
|
<view class="{{form.familyInfoDto.marriage?'':'gray'}}"> |
||||
|
{{marriageName ? marriageName : '请选择'}} |
||||
|
</view> |
||||
|
</picker> |
||||
|
<image src="../../../../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" bindblur="bindReligionInput" bindinput="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" bind:tap="onClick3"> |
||||
|
<view class="residentCategorySty {{residentCategorySty?'':'gray'}}" style="text-align: left;"> |
||||
|
{{residentCategorySty ? residentCategorySty : '请选择'}} |
||||
</view> |
</view> |
||||
|
<image src="../../../../images/right.png" mode="" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="form_item" wx:for="{{residentTypeFormCell}}" :key="index" bind:tap="openDynamicForms" data-title="{{item.title}}" data-formtype="{{item.value}}"> |
||||
|
<view class="label"> |
||||
|
<view class="title">{{item.title}}</view> |
||||
|
</view> |
||||
|
<view class="input text-right"> |
||||
|
<image src="../../../../images/right.png" mode="" /> |
||||
|
</view> |
||||
</view> |
</view> |
||||
<view class="bottom_btn" bind:tap="submit">提交</view> |
</view> |
||||
|
<view class="bottom_btn" bind:tap="submit">提交</view> |
||||
</view> |
</view> |
||||
<wux-select id="wux-select3"/> |
<wux-select id="wux-select3" /> |
||||
|
|
||||
<DynamicForms |
<DynamicForms show="{{isShowDynamicForms}}" title="{{dynamicFormsTitle}}" bind:close="closeDynamicForms" bind:ok="okDynamicForms" formController="{{formController}}" /> |
||||
show="{{isShowDynamicForms}}" |
|
||||
title="{{dynamicFormsTitle}}" |
|
||||
bind:close="closeDynamicForms" |
|
||||
bind:ok="okDynamicForms" |
|
||||
formController="{{formController}}" |
|
||||
/> |
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,71 @@ |
|||||
|
import { |
||||
|
getFamilyRelationshipList, getPersonalFeature, |
||||
|
getPersonalFile, potentialSatisfactionForResident, queryResidentFollowRecord |
||||
|
} from "../../../../utils/statisticsApi"; |
||||
|
|
||||
|
Page({ |
||||
|
data: { |
||||
|
id: 0, |
||||
|
userInfo: {}, |
||||
|
relationship: {}, |
||||
|
unSolvedNum: 0, |
||||
|
unFinishNum: 0, |
||||
|
noServiceNum: 0, |
||||
|
event12345Num: 0, |
||||
|
provinceSatisfactionNum: 0, |
||||
|
selfInspectNum: 0, |
||||
|
logList: [], |
||||
|
tags: {} |
||||
|
}, |
||||
|
|
||||
|
onLoad(options) { |
||||
|
this.setData({ |
||||
|
id: options.id |
||||
|
}) |
||||
|
this.getUser() |
||||
|
this.getNum() |
||||
|
this.getlog() |
||||
|
}, |
||||
|
getUser() { |
||||
|
getPersonalFile({resid: this.data.id}).then(({data}) => { |
||||
|
this.setData({ |
||||
|
userInfo: data |
||||
|
}) |
||||
|
}) |
||||
|
getFamilyRelationshipList({resid: this.data.id, type: 0}).then(({data}) => { |
||||
|
this.setData({ |
||||
|
relationship: data |
||||
|
}) |
||||
|
}) |
||||
|
getPersonalFeature({resid: this.data.id}).then(({data}) => { |
||||
|
this.setData({ |
||||
|
tags: data |
||||
|
}) |
||||
|
}) |
||||
|
}, |
||||
|
getNum() { |
||||
|
let params = { |
||||
|
resiId: this.data.id, |
||||
|
}; |
||||
|
potentialSatisfactionForResident(params).then(({data}) => { |
||||
|
this.setData({ |
||||
|
unSolvedNum: data.unSolvedNum, |
||||
|
unFinishNum: data.unFinishNum, |
||||
|
noServiceNum: data.noServiceNum, |
||||
|
event12345Num: data.event12345Num, |
||||
|
provinceSatisfactionNum: data.provinceSatisfactionNum, |
||||
|
selfInspectNum: data.selfInspectNum |
||||
|
}) |
||||
|
}); |
||||
|
}, |
||||
|
getlog() { |
||||
|
let params = { |
||||
|
resiId: this.data.id, |
||||
|
}; |
||||
|
queryResidentFollowRecord(params).then(({data}) => { |
||||
|
this.setData({ |
||||
|
logList: data |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
}) |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"navigationBarTitleText": "居民画像", |
||||
|
"usingComponents": {} |
||||
|
} |
@ -0,0 +1,164 @@ |
|||||
|
<view class="resident-container"> |
||||
|
<view class="card"> |
||||
|
<view class="title">居民档案</view> |
||||
|
<view class="user-info"> |
||||
|
<image src="../../images/woman.png" class="img" mode="widthFix" /> |
||||
|
<view class="name"> |
||||
|
张三 125468745410 |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="user-infos"> |
||||
|
<view class="label"> |
||||
|
居住地址: |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
四季景园1号楼1单元101 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="user-infos"> |
||||
|
<view class="label"> |
||||
|
所属网格: |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
第三网格 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="user-infos"> |
||||
|
<view class="label"> |
||||
|
入户状况: |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
入户一致 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="user-infos"> |
||||
|
<view class="label"> |
||||
|
居住类型: |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
与子女同住 |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="user-infos"> |
||||
|
<view class="label"> |
||||
|
家庭预警: |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
满意度风险家庭 |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
<view class="table"> |
||||
|
<view class="tr"> |
||||
|
<view class="th">姓名</view> |
||||
|
<view class="th" style="flex:2">与本人关系</view> |
||||
|
<view class="th">性别</view> |
||||
|
<view class="th">年龄</view> |
||||
|
</view> |
||||
|
<view class="tr" wx:for="{{relationship}}" wx:key="{{index}}"> |
||||
|
<view class="td">{{item.name}}</view> |
||||
|
<view class="td" style="flex:2">{{item.houseHolderRel ? item.houseHolderRel : ''}}</view> |
||||
|
<view class="td">{{item.gender == 2?'男':item.gender == 1?'女':item.gender === '0'?'未知':''}}</view> |
||||
|
<view class="td">{{item.age}} |
||||
|
<image mode="widthFix" class="table-right-icon" src="../../images/right2.png" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
<view class="card"> |
||||
|
<view class="title">居民画像</view> |
||||
|
|
||||
|
<view class="portrait"> |
||||
|
<view class="bg"> |
||||
|
<image src="../../images/jmhx_center.png" mode="widthFix" /> |
||||
|
</view> |
||||
|
|
||||
|
<view class="tags"> |
||||
|
<view class="tag" wx-if="{{tags.age}}"> |
||||
|
<view class="text">{{tags.age}}岁</view> |
||||
|
</view> |
||||
|
<view class="tag" wx-if="{{tags.category1}}"> |
||||
|
<view class="text">{{tags.category1}}</view> |
||||
|
</view> |
||||
|
<view class="tag" wx-if="{{tags.category2}}"> |
||||
|
<view class="text">{{tags.category2}}</view> |
||||
|
</view> |
||||
|
<view class="tag" wx-if="{{tags.monthIncomeLevel}}"> |
||||
|
<view class="text">{{tags.monthIncomeLevel}}</view> |
||||
|
</view> |
||||
|
<view class="tag" wx-if="{{tags.cultureLevel}}"> |
||||
|
<view class="text">{{tags.cultureLevel}}</view> |
||||
|
</view> |
||||
|
<view class="tag" wx-if="{{tags.marriage}}"> |
||||
|
<view class="text">{{tags.marriage}}</view> |
||||
|
</view> |
||||
|
<view class="tag" wx-if="{{tags.gender || tags.gender === '0'}}"> |
||||
|
<view class="text">{{tags.gender == 2?'男':tags.gender == 1?'女':tags.gender === '0'?'未知':''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="card"> |
||||
|
<view class="title">历史及潜在不满意事项</view> |
||||
|
<view class="num-list"> |
||||
|
<view class="num-item"> |
||||
|
<view class="txt"> |
||||
|
<text>12345投诉</text> |
||||
|
</view> |
||||
|
<view class="num">{{event12345Num}}</view> |
||||
|
</view> |
||||
|
<view class="num-item"> |
||||
|
<view class="txt"> |
||||
|
<text>省满意度调查</text> |
||||
|
</view> |
||||
|
<view class="num">{{provinceSatisfactionNum}}</view> |
||||
|
</view> |
||||
|
<view class="num-item"> |
||||
|
<view class="txt"> |
||||
|
<text>社区满意度自查</text> |
||||
|
</view> |
||||
|
<view class="num">{{selfInspectNum}}</view> |
||||
|
</view> |
||||
|
<view class="num-item"> |
||||
|
<view class="txt"> |
||||
|
<text>事件未解决 |
||||
|
的次数</text> |
||||
|
</view> |
||||
|
<view class="num">{{unSolvedNum}}</view> |
||||
|
</view> |
||||
|
<view class="num-item"> |
||||
|
<view class="txt"> |
||||
|
<text>需求未满足 |
||||
|
的次数</text> |
||||
|
</view> |
||||
|
<view class="num">{{unFinishNum}}</view> |
||||
|
</view> |
||||
|
<view class="num-item"> |
||||
|
<view class="txt"> |
||||
|
<text>应享未享服务 |
||||
|
的次数</text> |
||||
|
</view> |
||||
|
<view class="num">{{noServiceNum}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="card"> |
||||
|
<view class="title">回访记录</view> |
||||
|
<view class="log-list"> |
||||
|
<view class="log-item" wx:for="{{logList}}" wx:key="{{index}}"> |
||||
|
<view> |
||||
|
<view class="user"> |
||||
|
<view class="tag blue">{{item.followUpWay}}</view> |
||||
|
<view class="name">{{item.followPersonName}}({{item.roleNames}})</view> |
||||
|
</view> |
||||
|
<view class="date">{{item.followTime}}</view> |
||||
|
</view> |
||||
|
<image src="../../../images/right.png" mode="widthFix" class="icon" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
@ -0,0 +1,299 @@ |
|||||
|
|
||||
|
.resident-container { |
||||
|
padding: 20rpx; |
||||
|
} |
||||
|
|
||||
|
page { |
||||
|
background-color: #f7f7f7; |
||||
|
} |
||||
|
|
||||
|
.card { |
||||
|
background: #fff; |
||||
|
border-radius: 20rpx; |
||||
|
padding: 30rpx; |
||||
|
margin-top: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.card .title { |
||||
|
font-size: 34rpx; |
||||
|
font-weight: bold; |
||||
|
color: #333333; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
margin-left: -30rpx; |
||||
|
margin-bottom: 39rpx; |
||||
|
position: relative; |
||||
|
} |
||||
|
|
||||
|
.card .title:before { |
||||
|
content: ''; |
||||
|
display: block; |
||||
|
width: 10rpx; |
||||
|
height: 28rpx; |
||||
|
background: #3A80E7; |
||||
|
border-radius: 4rpx; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.user-info .name { |
||||
|
font-size: 32rpx; |
||||
|
font-weight: bold; |
||||
|
color: #333333; |
||||
|
margin-bottom: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.user-info .address { |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 400; |
||||
|
color: #666666; |
||||
|
padding-bottom: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.table .tr { |
||||
|
display: flex; |
||||
|
padding: 0 20rpx; |
||||
|
} |
||||
|
|
||||
|
.table .tr .th { |
||||
|
font-size: 32rpx; |
||||
|
font-weight: bold; |
||||
|
color: #333333; |
||||
|
} |
||||
|
.table .tr .td { |
||||
|
font-size: 30rpx; |
||||
|
font-weight: 500; |
||||
|
color: #666666; |
||||
|
} |
||||
|
.table .tr .th, |
||||
|
.table .tr .td { |
||||
|
flex: 1; |
||||
|
position: relative; |
||||
|
height: 100rpx; |
||||
|
line-height: 100rpx; |
||||
|
} |
||||
|
.table .tr:nth-of-type(2n) { |
||||
|
background: rgba(58, 128, 231, 0.08); |
||||
|
} |
||||
|
|
||||
|
.table-right-icon { |
||||
|
width: 24rpx; |
||||
|
height: 24rpx; |
||||
|
position: absolute; |
||||
|
right: 0; |
||||
|
top: calc(50% - 12rpx); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
.portrait { |
||||
|
position: relative; |
||||
|
width: 633rpx; |
||||
|
height: 542rpx; |
||||
|
font-size: 30rpx; |
||||
|
font-weight: bold; |
||||
|
color: #3A80E7; |
||||
|
line-height: 36rpx; |
||||
|
} |
||||
|
|
||||
|
.portrait .tag { |
||||
|
position: absolute; |
||||
|
background: #f4f8fe; |
||||
|
padding: 30rpx; |
||||
|
width: 129rpx; |
||||
|
height: 129rpx; |
||||
|
border-radius: 50%; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: center; |
||||
|
box-sizing: border-box; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
.portrait .tag:after { |
||||
|
content: ""; |
||||
|
display: block; |
||||
|
width: calc(100% - 28rpx); |
||||
|
height: calc(100% - 28rpx); |
||||
|
position: absolute; |
||||
|
left: 14rpx; |
||||
|
top: 14rpx; |
||||
|
background: #d3e3fa; |
||||
|
border-radius: 50%; |
||||
|
} |
||||
|
.portrait .tag .text { |
||||
|
position: relative; |
||||
|
z-index: 2; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(1) { |
||||
|
padding: 38rpx; |
||||
|
width: 163rpx; |
||||
|
height: 163rpx; |
||||
|
left: 227rpx; |
||||
|
top: 0; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(2) { |
||||
|
padding: 24rpx; |
||||
|
width: 121rpx; |
||||
|
height: 121rpx; |
||||
|
right: 58rpx; |
||||
|
top: 101rpx; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(3) { |
||||
|
width: 145rpx; |
||||
|
height: 145rpx; |
||||
|
right: 0rpx; |
||||
|
top: 249rpx; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(4) { |
||||
|
width: 163rpx; |
||||
|
height: 163rpx; |
||||
|
right: 100rpx; |
||||
|
bottom: 0; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(5) { |
||||
|
left: 99rpx; |
||||
|
bottom: 10rpx; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(6) { |
||||
|
left: 0rpx; |
||||
|
top: 251rpx; |
||||
|
} |
||||
|
.portrait .tag:nth-of-type(7) { |
||||
|
left: 53rpx; |
||||
|
top: 101rpx; |
||||
|
} |
||||
|
|
||||
|
.bg { |
||||
|
width: 238rpx; |
||||
|
height: 238rpx; |
||||
|
position: absolute; |
||||
|
left: calc(50% - 119rpx); |
||||
|
top: calc(50% - 100rpx); |
||||
|
} |
||||
|
.bg image { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
|
||||
|
.num-list { |
||||
|
display: flex; |
||||
|
width: 100%; |
||||
|
justify-content: space-between; |
||||
|
position: relative; |
||||
|
flex-wrap: wrap; |
||||
|
} |
||||
|
|
||||
|
.num-list .num-item { |
||||
|
flex: 0 0 33.333333%; |
||||
|
position: relative; |
||||
|
margin-bottom: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.num-list .num-item:after { |
||||
|
content: ''; |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
right: 25rpx; |
||||
|
top: calc(50% - 45rpx); |
||||
|
width: 1rpx; |
||||
|
height: 90rpx; |
||||
|
background: #C1C1C1; |
||||
|
opacity: 0.66; |
||||
|
} |
||||
|
|
||||
|
.num-list .num-item:nth-of-type(3n):after { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
.num-list .num-item:last-child:after { |
||||
|
display: none; |
||||
|
} |
||||
|
|
||||
|
.num-list .num-item .txt { |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 500; |
||||
|
color: #999999; |
||||
|
margin-bottom: 10rpx; |
||||
|
} |
||||
|
|
||||
|
.num-list .num-item .num { |
||||
|
font-size: 42rpx; |
||||
|
font-weight: bold; |
||||
|
color: #333333; |
||||
|
} |
||||
|
|
||||
|
.tag { |
||||
|
display: inline-block; |
||||
|
line-height: 40rpx; |
||||
|
height: 40rpx; |
||||
|
border-radius: 20rpx; |
||||
|
font-size: 26rpx; |
||||
|
font-weight: 500; |
||||
|
padding: 0 20rpx; |
||||
|
margin-right: 30rpx; |
||||
|
} |
||||
|
|
||||
|
.blue { |
||||
|
background: rgba(79, 148, 255, 0.14); |
||||
|
color: #4F94FF; |
||||
|
} |
||||
|
|
||||
|
.orange { |
||||
|
background: rgba(255, 120, 60, 0.14); |
||||
|
color: #FF783C; |
||||
|
} |
||||
|
|
||||
|
.green { |
||||
|
background: rgba(4, 184, 173, 0.14); |
||||
|
color: #04B8AD; |
||||
|
} |
||||
|
|
||||
|
.red { |
||||
|
color: #FA1919; |
||||
|
background: rgba(255, 48, 27, 0.14); |
||||
|
} |
||||
|
|
||||
|
.log-item { |
||||
|
border-bottom: 1px solid #EAEAEA; |
||||
|
padding: 30rpx 0; |
||||
|
} |
||||
|
|
||||
|
.log-item .user { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
} |
||||
|
|
||||
|
.log-item .tag { |
||||
|
margin-right: 17px; |
||||
|
} |
||||
|
|
||||
|
.log-item .icon { |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
} |
||||
|
|
||||
|
.log-item .name { |
||||
|
font-size: 32rpx; |
||||
|
font-weight: 500; |
||||
|
color: #333333; |
||||
|
} |
||||
|
|
||||
|
.log-item .date { |
||||
|
font-size: 28rpx; |
||||
|
font-weight: 500; |
||||
|
color: #C1C1C1; |
||||
|
margin-top: 17rpx; |
||||
|
} |
||||
|
|
||||
|
.log-item { |
||||
|
display: flex; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
} |
||||
|
.img { |
||||
|
width: 128rpx; |
||||
|
height: 128rpx |
||||
|
} |
||||
|
.user-info { |
||||
|
display: flex; |
||||
|
} |
Loading…
Reference in new issue