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": { |
|||
"wux-select": "../../../../components/dist/select", |
|||
"DynamicForms": "../../../../components/DynamicForms/DynamicForms" |
|||
"DynamicForms": "../../../../components/DynamicForms/DynamicForms", |
|||
"van-icon": "@vant/weapp/icon/index" |
|||
}, |
|||
"navigationStyle": "custom" |
|||
} |
@ -1,279 +1,271 @@ |
|||
<!--subpages/addResi/pages/addResi/addResi.wxml--> |
|||
<view class="header"> |
|||
<image src="../../../../images/back.png" class="back" style=" top: {{statusHeight}}px;width: 50rpx;height: 50rpx;" |
|||
bindtap="back" mode=""/> |
|||
<image class="header-bg" src="../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> |
|||
<image src="../../../../images/back.png" class="back" style=" top: {{statusHeight}}px;width: 50rpx;height: 50rpx;" bindtap="back" mode="" /> |
|||
<image class="header-bg" src="../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 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 class="form_card"> |
|||
<view class="title"> |
|||
<text class="tag"></text> 基本信息 |
|||
</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 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_card m-top20"> |
|||
<view class="title"> |
|||
<text class="tag"></text> 居民类别 |
|||
<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="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> |
|||
<image src="../../../../images/right.png" mode=""/> |
|||
<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 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 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="请输入" /> |
|||
<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> |
|||
<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 class="bottom_btn" bind:tap="submit">提交</view> |
|||
</view> |
|||
<view class="bottom_btn" bind:tap="submit">提交</view> |
|||
</view> |
|||
<wux-select id="wux-select3"/> |
|||
<wux-select id="wux-select3" /> |
|||
|
|||
<DynamicForms |
|||
show="{{isShowDynamicForms}}" |
|||
title="{{dynamicFormsTitle}}" |
|||
bind:close="closeDynamicForms" |
|||
bind:ok="okDynamicForms" |
|||
formController="{{formController}}" |
|||
/> |
|||
<DynamicForms 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