7 changed files with 1078 additions and 241 deletions
			
			
		| @ -1,52 +1,116 @@ | |||
| <!--subpages/searchResult/pages/punchCard/punchCard.wxml--> | |||
| <!-- 基本信息 --> | |||
|     <view class="card"> | |||
|     <view class="top"> | |||
|         <view class="left"> | |||
|             <view class="name"> | |||
|                 <view style="font-size: 32rpx;margin-right: 35rpx;">{{form.baseInfoDto.name}}</view> | |||
|                 <view style="font-size: 28rpx;color:#999999 ;">信息完整度:</view> | |||
|                 <view style="color:#04b8ad;">{{form.integrityData.score}}%</view> | |||
|             </view> | |||
|             <view class="tags"> | |||
|                 <view class="tag" wx:for="{{form.baseInfoDto.categoryInfo.categoryNames}}" wx:key="index">{{item}}</view> | |||
|             </view> | |||
|         </view> | |||
|         <view class="right"> | |||
|             <view class="jm-btn" bind:tap="toAddResi">编辑</view> | |||
|         </view> | |||
|     </view> | |||
|     <view class="form"> | |||
|         <view class="form_label">地址:</view> | |||
|         <view class="form_value">{{form | |||
|         .resideInfoDtos[0].agencyName + form.resideInfoDtos[0].homeName}}</view> | |||
|     </view> | |||
|     <view class="form"> | |||
|         <view class="form_label">创建时间:</view> | |||
|         <view class="form_value">{{form.baseInfoDto.createdTime}}</view> | |||
|     </view> | |||
|     <view class="form"> | |||
|         <view class="form_label">最近更新时间:</view> | |||
|         <view class="form_value">{{form.baseInfoDto.updatedTime}}</view> | |||
|     </view> | |||
|     <view class="tabs"> | |||
|         <view class="tab_item {{activeType === index ? 'border_bto' : ''}}" wx:for="{{tabList}}" bind:tap="handelClickTab" data-item="{{item}}" data-index="{{index}}" wx:key="index"> | |||
|      {{item.name}} <text style="color:{{item.filledQty!==item.totalQty?'#f27225':'#1ebfb5'}}">({{ item.filledQty }}/{{ item.totalQty }})</text> | |||
|         </view> | |||
|     </view> | |||
| </view> | |||
| 
 | |||
| <view class="card"> | |||
|     <view class="title">基础信息</view> | |||
|     <view class="info"> | |||
|         <view class="item"> | |||
|             <view class="label">姓名:</view> | |||
|             <View class="value">{{form.name}}</View> | |||
|             <view class="label">国籍:</view> | |||
|             <View class="value">{{form.baseInfoDto.nationalityName|| '--' }}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">证件类型:</view> | |||
|             <View class="value">{{idTypeList[form.baseInfoDto.idType].label}}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">证件号:</view> | |||
|             <View class="value">{{form.baseInfoDto.idNum}}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">联系电话:</view> | |||
|             <View class="value">{{form.baseInfoDto.mobile}}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">文化程度:</view> | |||
|             <View class="value">{{form.eduInfoDto.cultureLevelName}}</View> | |||
|         </view> | |||
|        | |||
|         <view class="item"> | |||
|             <view class="label">性别:</view> | |||
|             <View class="value">{{form.genderName}}</View> | |||
|             <View class="value">{{form.baseInfoDto.genderName}}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">出生日期:</view> | |||
|             <View class="value">{{form.birthday}}</View> | |||
|             <View class="value">{{form.baseInfoDto.birthday}}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">民族:</view> | |||
|             <View class="value">{{form.baseInfoDto.nationName}}</View> | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">住宅:</view> | |||
|             <View class="value">{{form.homeName}}</View> | |||
|             <view class="label">婚姻状况:</view> | |||
|             <View class="value"> {{marriageName}}</View> | |||
|            | |||
|         </view> | |||
|         <view class="item"> | |||
|             <view class="label">电话:</view> | |||
|             <View class="value">{{form.mobile}}</View> | |||
|             <view class="label">籍贯:</view> | |||
|             <View class="value">{{form.baseInfoDto.nativePlace}}</View> | |||
|         </view> | |||
|     </view> | |||
|     <view class="jm-btn" bind:tap="goResidentPortrait2">居民画像</view> | |||
| </view> | |||
| 
 | |||
| 
 | |||
| 
 | |||
| <!-- 走访打卡 --> | |||
| <view class="card "> | |||
| <view class="flex-sb"> | |||
|   <view class="title">走访打卡</view> | |||
|   <view class="view" bind:tap="gotopage" data-url="/subpages/searchResult/pages/checkLog/checkLog?resiId={{resiId}}">打卡记录</view> | |||
| <view class="card" wx:for="{{expandList}}" wx:key="index" id="{{item.scrollId}}"> | |||
|     <view class="title">{{item.title}}</view> | |||
|     <view class="info" wx:for="{{item.children}}" wx:for-index="indexC" wx:key="indexC" wx:for-item="itemC"> | |||
|         <view class="item"> | |||
|             <view class="label">{{itemC.label}}:</view> | |||
|             <View class="value">{{itemC.value|| '--' }}</View> | |||
|         </view> | |||
|     </view> | |||
| </view> | |||
| <!-- 走访打卡 --> | |||
| <!-- <view class="card "> | |||
|     <view class="flex-sb"> | |||
|         <view class="title">走访打卡</view> | |||
|         <view class="view" bind:tap="gotopage" data-url="/subpages/searchResult/pages/checkLog/checkLog?resiId={{resiId}}">打卡记录</view> | |||
|     </view> | |||
|     <view class="punch {{animationClass}}" bind:tap="handlePunch"> | |||
|         <!-- <view class="{{animationClass}}" style="font-size: 36rpx;">{{!punchFlag ? '打卡' : '更新打卡'}}</view> --> | |||
|         <view class="{{animationClass}}" style="font-size: 36rpx;">打卡</view> | |||
|         <view class="{{animationClass}}" style="font-family:PingFang-SC-Regular;font-size: 28rpx;opacity: 0.72;">{{currentTime}}</view> | |||
|     </view> | |||
|     <view class="address">当前位置:{{addressContent}}</view> | |||
|     <view class="address" style="margin-top: 0;" wx:if="{{lastLog.clockInTime}}">最近打卡时间:{{lastLog.clockInTime}}</view> | |||
| </view> | |||
| <!-- 相关操作 --> | |||
| <view class="card"> | |||
|     <view class="title">相关操作</view> | |||
|     <view class="blue btn" bind:tap="toAddResi" style="margin-top: 40rpx ; ">修改居民信息</view> | |||
|     <view class="yellow btn" bind:tap="toWebView" wx:if="{{agencyLevel!=='street'}}">满意度调查</view> | |||
|     <view class="green btn" bind:tap="toEvent">上报居民诉求</view> | |||
| </view> --> | |||
| 
 | |||
| 
 | |||
| <view class="bto_btn"> | |||
|     <button class="btn" hover-class="blue" bind:tap="toEvent">上报诉求</button> | |||
|     <button class="btn" hover-class="blue" bind:tap="toWebView" wx:if="{{agencyLevel!=='street'}}"> | |||
|     满意度调查</button> | |||
|     <!--  --> | |||
|     <button class="btn blue">走访打卡</button> | |||
| </view> | |||
| @ -1,127 +1,235 @@ | |||
| /* subpages/searchResult/pages/punchCard/punchCard.wxss */ | |||
| /**index.wxss**/ | |||
| page { | |||
|     width: 100%; | |||
|     min-height: 100vh; | |||
|     overflow: hidden; | |||
|     overflow-y: scroll; | |||
|     background-color: #f7f7f7; | |||
|     padding: 0 20rpx; | |||
|     box-sizing: border-box; | |||
|   } | |||
| .card{ | |||
|     background-color: #fff; | |||
|     border-radius: 20rpx; | |||
|     display: flex; | |||
|     flex-direction: column; | |||
|     min-height: 350rpx; | |||
|     margin-top: 20rpx; | |||
|     padding: 30rpx 30rpx 40rpx; | |||
| } | |||
| 
 | |||
| .card .title{ | |||
|     position: relative; | |||
|     font-size: 34rpx; | |||
| } | |||
| .card .title::after{ | |||
|     position: absolute; | |||
|     left: -30rpx; | |||
|     top: 8rpx; | |||
|     content: " "; | |||
|     width: 10rpx; | |||
|     height: 28rpx; | |||
|     background-color: #3A80E7; | |||
| } | |||
| .info{ | |||
|     margin-top: 6rpx; | |||
| } | |||
| .info .item{ | |||
|     display: flex; | |||
|     margin-top: 28rpx; | |||
| } | |||
| .info .item .label{ | |||
|     width: fit-content; | |||
| } | |||
| .punch{ | |||
|     width: 260rpx; | |||
|     height: 260rpx; | |||
|     background: linear-gradient(180deg,#5E9FFF, #3A80E7); | |||
|     box-shadow: 0rpx 4rpx 35rpx 0rpx rgba(61,139,248,0.48); | |||
|     color: #fff; | |||
|     display: flex; | |||
|     flex-direction: column; | |||
|     justify-content: center; | |||
|     align-items: center; | |||
|     border-radius: 50%; | |||
|     margin: 50rpx auto 0; | |||
| } | |||
| 
 | |||
| .address{ | |||
|     color: #666666; | |||
|     font-size: 28rpx ; | |||
|     margin: 0 auto; | |||
|     margin: 40rpx auto 30rpx; | |||
| } | |||
|    | |||
|   background-color: #f7f7f7; | |||
|   height: auto; | |||
|   overflow-y: scroll; | |||
|   padding: 0 20rpx 160rpx ; | |||
|   box-sizing: border-box; | |||
| } | |||
| 
 | |||
| .form { | |||
|   display: flex; | |||
|   margin-top: 20rpx; | |||
| } | |||
| 
 | |||
| .form .form_label { | |||
|   font-size: 30rpx; | |||
|   color: #999999; | |||
| } | |||
| 
 | |||
| .form .form_value { | |||
|   color: #333333; | |||
|   text-align: left; | |||
|   font-weight: 500; | |||
|   flex: 1; | |||
| } | |||
| 
 | |||
| .card { | |||
|   background-color: #fff; | |||
|   border-radius: 20rpx; | |||
|   display: flex; | |||
|   flex-direction: column; | |||
|   margin-top: 20rpx; | |||
|   padding: 30rpx 30rpx 40rpx; | |||
|   box-sizing: border-box; | |||
|   position: relative; | |||
|   overflow: hidden; | |||
| } | |||
| 
 | |||
| .card .title { | |||
|   position: relative; | |||
|   font-size: 34rpx; | |||
| } | |||
| 
 | |||
| .card .title::after { | |||
|   position: absolute; | |||
|   left: -30rpx; | |||
|   top: 8rpx; | |||
|   content: " "; | |||
|   width: 10rpx; | |||
|   height: 28rpx; | |||
|   background-color: #3A80E7; | |||
| } | |||
| 
 | |||
| .info { | |||
|   margin-top: 6rpx; | |||
| } | |||
| 
 | |||
| .info .item { | |||
|   display: flex; | |||
|   margin-top: 28rpx; | |||
| } | |||
| 
 | |||
| .info .item .label { | |||
|   width: fit-content; | |||
| } | |||
| 
 | |||
| .punch { | |||
|   width: 260rpx; | |||
|   height: 260rpx; | |||
|   background: linear-gradient(180deg, #5E9FFF, #3A80E7); | |||
|   box-shadow: 0rpx 4rpx 35rpx 0rpx rgba(61, 139, 248, 0.48); | |||
|   color: #fff; | |||
|   display: flex; | |||
|   flex-direction: column; | |||
|   justify-content: center; | |||
|   align-items: center; | |||
|   border-radius: 50%; | |||
|   margin: 50rpx auto 0; | |||
| } | |||
| 
 | |||
| .address { | |||
|   color: #666666; | |||
|   font-size: 28rpx; | |||
|   margin: 0 auto; | |||
|   margin: 40rpx auto 30rpx; | |||
| } | |||
| 
 | |||
| @keyframes rotateAnimation { | |||
|     0% { | |||
|       transform: rotateY(0deg); | |||
|     } | |||
|     100% { | |||
|       transform: rotateY(180deg); | |||
|     } | |||
|   } | |||
|    | |||
| .animate { | |||
|     animation: rotateAnimation 2s forwards; | |||
|   0% { | |||
|     transform: rotateY(0deg); | |||
|   } | |||
|   .btn{ | |||
|       padding: 0 85rpx; | |||
|       box-sizing: border-box; | |||
|       min-width: 364rpx; | |||
|       text-align: center; | |||
|       height: 76rpx; | |||
|       border-radius: 38rpx; | |||
|       margin: 30rpx auto 0; | |||
|       line-height: 76rpx; | |||
|       border-radius: 76rpx; | |||
|   } | |||
|    | |||
|   .blue{ | |||
|       color:#3A80E7 ; | |||
|       border: 2rpx solid #3A80E7; | |||
| 
 | |||
|   100% { | |||
|     transform: rotateY(180deg); | |||
|   } | |||
|   .yellow{ | |||
|       color: #FF783C; | |||
|       border: 2rpx solid #FF783C; | |||
|   } | |||
|   .green{ | |||
|     color: #13C8BD; | |||
|     border: 2rpx solid #13C8BD; | |||
|   } | |||
| } | |||
| 
 | |||
|   .flex-sb { | |||
|     display: flex; | |||
|     justify-content: space-between; | |||
|   } | |||
|   .view { | |||
|     color: #999; | |||
|     font-size: 24rpx; | |||
|   } | |||
|   .jm-btn { | |||
|     position: absolute; | |||
|     top: 30rpx; | |||
|     right: 20rpx; | |||
|     width: 146rpx; | |||
|     height: 56rpx; | |||
|     line-height: 56rpx; | |||
|     background: #3A80E7; | |||
|     border-radius: 28rpx; | |||
|     color: #fff; | |||
|     text-align: center; | |||
|     font-size: 28rpx; | |||
|   } | |||
|   .card { | |||
|     position: relative; | |||
|   } | |||
| .animate { | |||
|   animation: rotateAnimation 2s forwards; | |||
| } | |||
| 
 | |||
| .btn { | |||
|   box-sizing: border-box; | |||
|   text-align: center; | |||
|   height: 76rpx; | |||
|   border-radius: 38rpx; | |||
|   margin: 30rpx  0; | |||
|   line-height: 76rpx; | |||
|   border-radius: 76rpx; | |||
|   border: 2rpx solid #999999; | |||
| } | |||
| 
 | |||
| .blue{ | |||
|   background-color:#3974f6; | |||
|   color: #fff; | |||
|   border-color: #3974f6; | |||
| } | |||
| 
 | |||
| .flex-sb { | |||
|   display: flex; | |||
|   justify-content: space-between; | |||
| } | |||
| 
 | |||
| .view { | |||
|   color: #999; | |||
|   font-size: 24rpx; | |||
| } | |||
| 
 | |||
| .jm-btn { | |||
|   position: absolute; | |||
|   top: 30rpx; | |||
|   right: 20rpx; | |||
|   width: fit-content; | |||
|   height: 56rpx; | |||
|   padding: 0 20rpx; | |||
|   box-sizing: border-box; | |||
|   line-height: 56rpx; | |||
|   background: #3974f6; | |||
|   border-radius: 28rpx; | |||
|   color: #fff; | |||
|   text-align: center; | |||
|   font-size: 28rpx; | |||
| } | |||
| 
 | |||
| .tabs { | |||
|   display: flex; | |||
|   justify-content: start; | |||
|   flex-wrap: wrap; | |||
|   border-top: 1px solid #EAEAEA; | |||
|   margin-top: 30rpx; | |||
| } | |||
| 
 | |||
| .tabs .tab_item { | |||
|   display: flex; | |||
|   margin-right: 20rpx; | |||
|   padding-bottom: 10rpx; | |||
|   width: auto; | |||
|   margin-top: 20rpx; | |||
|   justify-content: center; | |||
| } | |||
| 
 | |||
| .tabs .tab_item .num { | |||
|   font-weight: 400; | |||
|   font-size: 36rpx; | |||
| } | |||
| 
 | |||
| .tabs .tab_item .name { | |||
|   font-size: 26rpx; | |||
|   padding-bottom: 6rpx; | |||
|   box-sizing: border-box; | |||
|   color: #666666; | |||
| } | |||
| 
 | |||
| 
 | |||
| 
 | |||
| .top { | |||
|   display: flex; | |||
|   align-items: center; | |||
| } | |||
| 
 | |||
| .top .left { | |||
|   flex: 1; | |||
| } | |||
| 
 | |||
| .top .right { | |||
|   width: 130rpx; | |||
| 
 | |||
| } | |||
| 
 | |||
| .top .left .name { | |||
|   display: flex; | |||
| } | |||
| 
 | |||
| .top .left .tags { | |||
|   display: flex; | |||
|   flex-grow: 0; | |||
|   justify-content: start; | |||
|   max-width: 645rpx; | |||
|   overflow-x: scroll; | |||
|   margin-top: 20rpx; | |||
|   box-sizing: border-box; | |||
| } | |||
| 
 | |||
| .top .left .tags .tag { | |||
|   background-color: rgba(236, 236, 236, 0.500000); | |||
|   border-radius: 4rpx; | |||
|   margin-right: 6rpx; | |||
|   white-space: nowrap; | |||
|   padding: 7rpx 8rpx; | |||
|   width: auto; | |||
|   box-sizing: border-box; | |||
|   font-weight: 500; | |||
|   font-size: 24rpx; | |||
|   color: #999999; | |||
| } | |||
| .border_bto{ | |||
|   color: #3974f6 !important; | |||
|   border-bottom: solid 6rpx #3974f6; | |||
| } | |||
| 
 | |||
| .bto_btn{ | |||
|   position: fixed; | |||
|   bottom: 0; | |||
|   display: flex; | |||
|   justify-content: space-between; | |||
|   align-items: center; | |||
|   left: 0; | |||
|   right: 0; | |||
|   padding:0 20rpx; | |||
|   box-sizing: border-box; | |||
|   background: #fff; | |||
|   padding-bottom: constant(safe-area-inset-bottom);  | |||
|   padding-bottom: env(safe-area-inset-bottom);  | |||
| } | |||
					Loading…
					
					
				
		Reference in new issue