Browse Source

测试修改

zouling 2 months ago
parent
commit
98992c1b95

+ 1 - 0
user_ui/1.txt

@@ -15,6 +15,7 @@ SHA256: F4:58:11:98:98:71:FA:DA:74:5A:C7:1C:AD:3B:3D:D6:88:D1:E9:09:76:5C:53:95:
 极光appkey:
 百度语音
 
+一键登录:txpqoiK7RA98Lk9ygrPwu7
 语音识别: AppID:30799445
 	API Key :MuVtMTc6EHaLbrr38WEhqjml
 	Secret Key:rPGCiA3L41VwuTCBHkwkmcOt0IPTsi8z

+ 1 - 1
user_ui/api/system/card.js

@@ -30,4 +30,4 @@ export function getvehicleLicense(data) {
     'method': 'post',
 	'data':data
   })
-}
+}

+ 8 - 1
user_ui/api/work/news.js

@@ -149,5 +149,12 @@ export function getCommentInteraction(data) {
   })
 }
 
-
+// 进行分享操作
+export function setShare(data) {
+  return request({
+    url: '/wuYe/news/setShare',
+    method: 'post',
+    'data': data
+  })
+}
 

+ 25 - 0
user_ui/api/work/people.js

@@ -115,4 +115,29 @@ export function residentInfoDel(data) {
     url: '/wuYe/residentInfo/delete/'+data,
     method: 'get',
   })
+}
+
+
+// 居住人员-详情过滤租户
+export function authentication(data) {
+  return request({
+    url: '/wuYe/residentInfo/authentication/'+data,
+    method: 'get',
+  })
+}
+// 居住人员-认证列表
+export function listAuthentication(data) {
+  return request({
+    url: '/wuYe/residentInfo/listAuthentication',
+    method: 'get',
+	data: data
+  })
+}
+// 居住人员-删除员工信息和权限wuYe:residentInfo:deleteResident
+export function deleteResident(data) {
+  return request({
+    url: '/wuYe/residentInfo/deleteResident',
+    method: 'post',
+	'data':data
+  })
 }

+ 9 - 1
user_ui/api/work/work.js

@@ -53,4 +53,12 @@ export function houseInfolistNoPage(data) {
 //     method: 'get',
 // 	'data':data
 //   })
-// }
+// }
+//房屋信息-列表不分页 查询条件带租户id  wuYe:houseInfo:listNoPageTenant
+export function listNoPageTenant(data) {
+  return request({
+    url: '/wuYe/houseInfo/listNoPageTenant',
+    method: 'get',
+	'data':data
+  })
+}

+ 3 - 3
user_ui/config.js

@@ -2,9 +2,9 @@
 module.exports = {
   // baseUrl: 'https://zhsq.qs163.cn/prod-api',
   // baseUrl: 'https://zhsqhf.qs163.cn/prod-api',
-  baseUrl: 'http://47.99.82.249:5011/prod-api',
-  // baseUrl: 'http://192.168.101.245:8074',
-  // baseUrl: 'http://192.168.101.168:8065',
+  // baseUrl: 'http://47.99.82.249:5011/prod-api',
+  baseUrl: 'http://192.168.101.245:8077',
+  // baseUrl: 'http://192.168.101.168:8074',
   // baseUrl: 'http://10.90.90.52:8065',
   // baseUrl: 'http://10.90.90.53:8065',
   // baseUrlimg: 'http://114.99.127.243:2001',

+ 7 - 5
user_ui/health/pages/health/add.vue

@@ -210,7 +210,6 @@
 				sfzh:"",
 				rymm:"",
 				dslx:"",
-				sfhzidx:0,
 				hzgxidx:0,
 				sfzhidx:0,
 				rymmidx:0,
@@ -270,6 +269,8 @@
 					this.sfzhidx=aite.key;
 				}else if(type=='rymm'){
 					this.rymmidx=aite.key;
+				}else if(type=='dslx'){
+					this.dslxidx=aite.key;
 				}
 				return aite.actions;
 			},
@@ -600,6 +601,11 @@ font-size: 26rpx;line-height: 56rpx;
 color: #FFFFFF;}
 	}
 	.cardtip{font-weight: 500;font-size: 24rpx;color: #999999;line-height: 40rpx;}
+
+.addbox{width: 160rpx;height: 128rpx;background: #F0F0F0;border-radius: 20rpx;display: flex;flex-direction: column;align-items: center;justify-content: center;margin-left: 24rpx;margin-bottom: 20rpx;flex: 0 0 auto;
+		image{width: 48rpx;height: 42rpx;margin-bottom: 12rpx;}
+		view{font-weight: 500;font-size: 24rpx;color: #666666;}
+	}
 .addimgs{display: flex;align-items: center;flex-wrap: wrap;justify-content: flex-end;
 	
 	.assimg{width: 128rpx;height: 128rpx;position: relative;overflow: hidden;margin: 0 0 20rpx 24rpx;
@@ -607,9 +613,5 @@ color: #FFFFFF;}
 		.delimg{width: 24rpx;height: 24rpx;position: absolute;right: 0;top: 0;}
 	}
 }
-.addbox{width: 160rpx;height: 128rpx;background: #F0F0F0;border-radius: 20rpx;display: flex;flex-direction: column;align-items: center;justify-content: center;margin-left: 24rpx;margin-bottom: 20rpx;flex: 0 0 auto;
-		image{width: 48rpx;height: 42rpx;margin-bottom: 12rpx;}
-		view{font-weight: 500;font-size: 24rpx;color: #666666;}
-	}
 .tips{font-weight: bold;color: #272727;font-size: 26rpx;margin-left: 8rpx;}
 </style>

+ 46 - 2
user_ui/mine/components/box/list.vue

@@ -128,6 +128,36 @@
 				</view>
 			</view>
 		</block>
+		<!-- 居住人员 -->
+		<block v-if="type=='authen'">
+			<view class="carlist houselist" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.residentId)">
+				<view class="ctop flexc">
+					<!-- <image :src="house" class="imgs" v-if="ite.houseStatus==1"></image>
+					<image :src="housea" class="imgs" v-if="ite.houseStatus==4"></image>
+					<image :src="houseb" class="imgs" v-if="ite.houseStatus==2"></image>
+					<image :src="housec" class="imgs" v-if="ite.houseStatus==3"></image> -->
+					<view class="tit">{{kaType(ite.tenantId,voList)}}</view>
+					<!-- view class="btn btnbga">预约</view>
+					<view class="btn btnbgb">已来访</view>
+					<view class="btn btnbgc">待来访</view> -->
+					<image :src="hedit" class="hedit"></image>
+					<image :src="hdel" class="hdel" v-if="ite.examine!=2&&checkPermi(['wuYe:residentInfo:remove'])" @click.stop="getDelFn(ite)"></image>
+					<view class="flex1"></view>
+					<view class="txt ca" >{{kaType(ite.residentType,rylxList)}}</view>
+					<!-- <view class="txt cb" v-if="ite.houseStatus==4">出租</view>
+					<view class="txt cc" v-if="ite.houseStatus==2">空闲</view>
+					<view class="txt co6" v-if="ite.houseStatus==3">代售</view> -->
+				</view>
+				<view class="clists">
+					<view class="clist"><view class="tit">姓名</view>{{ite.residentName}}</view>
+					<view class="clist"><view class="tit">联系方式</view>{{ite.residentPhone}}</view>
+					<block v-if="ite.residentType!=3">
+						<image :src="sha" class="shimg" v-if="ite.examine==1"></image>
+						<image :src="shb" class="shimg" v-if="ite.examine==3"></image>
+					</block>
+				</view>
+			</view>
+		</block>
 		<!-- 人员管理 -->
 		<block v-if="type=='people'">
 			<view class="carlist peolist" v-for="(ite,idx) in datainfo" :key="idx">
@@ -367,7 +397,19 @@
 				default () {
 					return []
 				}
-			},	
+			},
+			rylxList:{
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			voList:{
+				type: Array,
+				default () {
+					return []
+				}
+			},
 			tabval:{
 				type:String,
 				default () {
@@ -388,6 +430,7 @@
 				caraa:require("@/mine/static/house/caraa.png"),
 				carbb:require("@/mine/static/house/carbb.png"),
 				hedit:require("@/mine/static/house/hedit.png"),
+				hdel:require("@/mine/static/house/del.png"),
 				sha:require("@/mine/static/house/sha.png"),
 				shb:require("@/mine/static/house/shb.png"),
 				edit:require("@/mine/static/edit.png"),
@@ -705,7 +748,8 @@ border-radius: 10rpx;}
 .houselist{position: relative;
 	.clists{padding-bottom: 2rpx !important;}
 	.clist{margin-bottom: 22rpx !important;}
-	.hedit{width: 22rpx;height: 22rpx;flex: 0 0 auto;marign-left:16rpx;}
+	.hedit{width: 22rpx;height: 22rpx;flex: 0 0 auto;margin-left:16rpx;}
+	.hdel{width: 26rpx;height: 26rpx;flex: 0 0 auto;margin-left:16rpx;}
 	.shimg{width: 117rpx;height: 78rpx;position: absolute;right: 26rpx;bottom: 20rpx;}
 	// .btns{justify-content: flex-end;
 	// 	view{min-width: 156rpx;font-weight: 500;font-size: 26rpx;margin-right: 24rpx;border-radius: 20rpx;padding: 6rpx 8rpx;box-sizing: border-box;text-align: center;margin-bottom: 26rpx;

+ 213 - 214
user_ui/mine/pages/house/addhouse.vue

@@ -1,46 +1,141 @@
 <template>
 	<view class="check">
-		<view class="cartop">
-			<view class="tabtop flexc">
-				<view class="tabt" :class="tabval==ite.val?'act':''" v-for="(ite,idx) in tablist" :key="idx" @click="getTabFn(ite.val)">{{ite.tit}}</view>
+		<view class="cbox">
+			<view class="chtop flexc">
+				<view class="line"></view>
+				<view>房屋信息</view>
 			</view>
-		</view>
-		<view style="width: 100%;">
-		<uni-forms ref="form"  :model="datainfo" :rules="rules">
-			<view class="cbox" >
-				<view class="chmain" v-if="tabval==1">
-					<uni-forms-item label="姓名" name="ownerName">
+			<view class="chmain">
+				<uni-forms ref="form" :model="datainfo" :rules="rules">
+				<view class="upbox" @click="getaddImage">
+					<image :src="baseUrl+datainfo.front" class="img" v-if="datainfo.front"></image>
+					<image :src="cmico" class="addimg"></image>
+					<view>扫描房产证自动填写</view>
+				</view>
+				<uni-forms-item label="房产证" required name="location" v-if="datainfo.houseImage">
+					<view class="flexc">
+						<view class="flex1"></view>
+						<image :src="baseUrl+datainfo.houseImage" class="fczimg" v-if="datainfo.houseImage" @click="getPreview(datainfo.houseImage)"></image>
+						<view class="rimg"></view>
+					</view>
+				</uni-forms-item>
+				  <uni-forms-item label="房屋坐落" required name="location">
+					  <view class="flexc">
+					  	<uni-easyinput :disabled="isdisabled" v-model="datainfo.location" :inputBorder='false' placeholder="自动识别" />
+					  	<view class="rimg"></view>
+					  </view>
+				  </uni-forms-item>
+					<uni-forms-item label="权利人姓名" name="ownerName">
 						<view class="flexc">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.ownerName" :inputBorder='false' placeholder="自动识别" />
 							<view class="rimg"></view>
 						</view>
 					</uni-forms-item>
-					<uni-forms-item label="住户类型" name="realName">
-						<picker range-key='dictLabel' :disabled="isdisabled" :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+					<uni-forms-item label="权利类型" name="rightType">
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="qllxidx" :range="qllxList"   @change='bindDateChange'>
 							<view class="flexc">
-								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择住户类型'}}</view>
+								<view class="flex1 txr f13 co27" v-if="datainfo.rightType&&!qllx">{{statusFormats(datainfo.rightType,qllxList,'qllx')}}</view>
+								<view class="flex1 txr f13" v-else :class="qllx?'co27':'coa'">{{qllx||"请选择权利类型"}}</view>
 								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
 						</picker>
 					</uni-forms-item>
-					<uni-forms-item label="是否户主"  name="phonenumber">
+					<uni-forms-item label="建筑面积" required name="area">
 						<view class="flexc">
-							<uni-easyinput :disabled="isdisabled" v-model="datainfo.phonenumber" disabled :inputBorder='false' placeholder="自动识别" />
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.area" :inputBorder='false' placeholder="自动识别" />
+							<view class="tips">m²</view>
 							<view class="rimg"></view>
 						</view>
 					</uni-forms-item>
-					<uni-forms-item label="与户主关系" :disabled="isdisabled" name="realName">
-						<picker range-key='dictLabel' :value="ywcwidx" :range="ywcwList"   @change='bindDateChange'>
+					<uni-forms-item label="不动产单元号" name="propertyUnitNumber">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.propertyUnitNumber" :inputBorder='false' placeholder="请输入不动产单元号" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="相关的字第号" name="documentNumber">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.documentNumber" :inputBorder='false' placeholder="请输入相关的字第号" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="小区名称" name="communityName">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.communityName" :inputBorder='false' placeholder="请输入小区名称" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="楼栋" required name="loudong">
+						<view class="flexcc">
+							<view class="flexc ml10">
+								<uni-easyinput :disabled="isdisabled" v-model="datainfo.loudong" :inputBorder='false' placeholder="请输入" />
+								<view class="tips">栋</view>
+							</view>
+							<view class="flexc ml10">
+								<uni-easyinput :disabled="isdisabled" v-model="datainfo.danyuan" :inputBorder='false' placeholder="请输入" />
+								<view class="tips">单元</view>
+							</view>
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="详细门牌号" required name="xxaddress">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.xxaddress" :inputBorder='false' placeholder="请输入详细门牌号" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<!-- <uni-forms-item label="门牌号" required name="detailedAddress">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.detailedAddress" :inputBorder='false' placeholder="请输入门牌号" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item> -->
+					<uni-forms-item label="使用期限" name="usagePeriod">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.usagePeriod" :inputBorder='false' placeholder="请输入使用期限" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="登记日期" name="registrationDate">
+						<!-- <picker mode="timed" :disabled="isdisabled"  @change='bindDateChangea'>
 							<view class="flexc">
-								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择与户主关系'}}</view>
+								<view class="flex1 txr f13"  :class="datainfo.registrationDate?'co27':'coa'">{{datainfo.registrationDate||"请选择登记日期"}}</view>
+								<view class="rimg"><image :src="rimg"></image></view>
+							</view>
+						</picker> -->
+						<!-- :hide-second='true' -->
+						<view class="flexc">
+							<uni-datetime-picker  :disabled="isdisabled" :class="datainfo.registrationDate?'co27':'coa'" type="datetime" placeholder="请选择登记日期" :border="false"  v-model="datainfo.registrationDate" @change="changeLog" />
+							<view class="rimg"><image :src="rimg"></image></view>
+						</view>
+					</uni-forms-item>
+					
+					<uni-forms-item label="共有姓名" name="coOwner">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.coOwner" :inputBorder='false' placeholder="请输入共有姓名" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="共有情况" name="coOwnership">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.coOwnership" :inputBorder='false' placeholder="请输入共有情况" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="房屋状态" name="houseStatus">
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="fwztidx" :range="fwztList"   @change='bindDateChangeb'>
+							<view class="flexc">
+								<view class="flex1 txr f13 co27" v-if="datainfo.houseStatus&&!fwzt">{{statusFormats(datainfo.houseStatus,fwztList,'fwzt')}}</view>
+								<view class="flex1 txr f13" v-else :class="fwzt?'co27':'coa'">{{fwzt||"请选择房屋状态"}}</view>
 								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
 						</picker>
 					</uni-forms-item>
-					<uni-forms-item label="居住人口" name="realName">
-						<picker range-key='dictLabel' :disabled="isdisabled" :value="ywcwidx" :range="ywcwList"   @change='bindDateChange'>
+					<uni-forms-item label="房屋用途" name="usageType">
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="fwytidx" :range="fwytList"   @change='bindDateChangec'>
 							<view class="flexc">
-								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择居住人口'}}</view>
+								<view class="flex1 txr f13 co27" v-if="datainfo.usageType&&!fwyt">{{statusFormats(datainfo.usageType,fwytList,'fwyt')}}</view>
+								<view class="flex1 txr f13" v-else :class="fwyt?'co27':'coa'">{{fwyt||"请选择房屋用途"}}</view>
 								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
 						</picker>
@@ -60,158 +155,58 @@
 							<view class="rimg"></view>
 						</view>
 					</uni-forms-item>
-				</view>
-				<view class="chmain " style="padding-top: 30rpx;" v-if="tabval==2">
-						<view class="upbox" @click="getaddImage">
-							<image :src="baseUrl+datainfo.front" class="img" v-if="datainfo.front"></image>
-							<image :src="cmico" class="addimg"></image>
-							<view>扫描房产证自动填写</view>
-						</view>
-					  <uni-forms-item label="房屋坐落" required name="location">
-						  <view class="flexc">
-						  	<uni-easyinput :disabled="isdisabled" v-model="datainfo.location" :inputBorder='false' placeholder="自动识别" />
-						  	<view class="rimg"></view>
-						  </view>
-					  </uni-forms-item>
-						<uni-forms-item label="权利人姓名" name="ownerName">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.ownerName" :inputBorder='false' placeholder="自动识别" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="权利类型" name="rightType">
-							<picker range-key='dictLabel' :disabled="isdisabled" :value="qllxidx" :range="qllxList"   @change='bindDateChange'>
-								<view class="flexc">
-									<view class="flex1 txr f13 co27" v-if="datainfo.rightType&&!qllx">{{statusFormats(datainfo.rightType,qllxList,'qllx')}}</view>
-									<view class="flex1 txr f13" v-else :class="qllx?'co27':'coa'">{{qllx||"请选择权利类型"}}</view>
-									<view class="rimg"><image :src="rimg"></image></view>
+					<!-- <uni-forms-item label="房型" name="realName">
+						<view class="flexjd">
+							<picker range-key='dictLabel' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+								<view class="flexc ml10">
+									<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择'}}</view>
+									<view class="tips">室</view>
 								</view>
 							</picker>
-						</uni-forms-item>
-						<uni-forms-item label="建筑面积" required name="area">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.area" :inputBorder='false' placeholder="自动识别" />
-								<view class="tips">m²</view>
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="不动产单元号" name="propertyUnitNumber">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.propertyUnitNumber" :inputBorder='false' placeholder="请输入不动产单元号" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="相关的字第号" name="documentNumber">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.documentNumber" :inputBorder='false' placeholder="请输入相关的字第号" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="小区名称" name="communityName">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.communityName" :inputBorder='false' placeholder="请输入小区名称" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="门牌号" required name="detailedAddress">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.detailedAddress" :inputBorder='false' placeholder="请输入门牌号" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="使用期限" name="usagePeriod">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.usagePeriod" :inputBorder='false' placeholder="请输入使用期限" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="登记日期" name="registrationDate">
-							<!-- <picker mode="timed" :disabled="isdisabled"  @change='bindDateChangea'>
-								<view class="flexc">
-									<view class="flex1 txr f13"  :class="datainfo.registrationDate?'co27':'coa'">{{datainfo.registrationDate||"请选择登记日期"}}</view>
-									<view class="rimg"><image :src="rimg"></image></view>
+							<picker range-key='dictLabel' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+								<view class="flexc ml10">
+									<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择'}}</view>
+									<view class="tips">厅</view>
 								</view>
-							</picker> -->
-							<!-- :hide-second='true' -->
+							</picker>
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item> -->
+					<!-- <uni-forms-item label="住户类型" name="realName">
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="syqxidx" :range="sexs"   @change='bindDateChange'>
 							<view class="flexc">
-								<uni-datetime-picker  :disabled="isdisabled" :class="datainfo.registrationDate?'co27':'coa'" type="datetime" placeholder="请选择登记日期" :border="false"  v-model="datainfo.registrationDate" @change="changeLog" />
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择住户类型'}}</view>
 								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
-						</uni-forms-item>
-						
-						<uni-forms-item label="共有姓名" name="coOwner">
-							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.coOwner" :inputBorder='false' placeholder="请输入共有姓名" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item>
-						<uni-forms-item label="共有情况" name="coOwnership">
+						</picker>
+					</uni-forms-item> -->
+					<!-- <uni-forms-item label="是否户主"  name="phonenumber">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.phonenumber" disabled :inputBorder='false' placeholder="自动识别" />
+							<view class="rimg"></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="与户主关系" :disabled="isdisabled" name="realName">
+						<picker range-key='dictLabel' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
 							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.coOwnership" :inputBorder='false' placeholder="请输入共有情况" />
-								<view class="rimg"></view>
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择与户主关系'}}</view>
+								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
-						</uni-forms-item>
-						<uni-forms-item label="房屋状态" name="houseStatus">
-							<picker range-key='dictLabel' :disabled="isdisabled" :value="fwztidx" :range="fwztList"   @change='bindDateChangeb'>
-								<view class="flexc">
-									<view class="flex1 txr f13 co27" v-if="datainfo.houseStatus&&!fwzt">{{statusFormats(datainfo.houseStatus,fwztList,'fwzt')}}</view>
-									<view class="flex1 txr f13" v-else :class="fwzt?'co27':'coa'">{{fwzt||"请选择房屋状态"}}</view>
-									<view class="rimg"><image :src="rimg"></image></view>
-								</view>
-							</picker>
-						</uni-forms-item>
-						<uni-forms-item label="房屋用途" name="usageType">
-							<picker range-key='dictLabel' :disabled="isdisabled" :value="fwytidx" :range="fwytList"   @change='bindDateChangec'>
-								<view class="flexc">
-									<view class="flex1 txr f13 co27" v-if="datainfo.usageType&&!fwyt">{{statusFormats(datainfo.usageType,fwytList,'fwyt')}}</view>
-									<view class="flex1 txr f13" v-else :class="fwyt?'co27':'coa'">{{fwyt||"请选择房屋用途"}}</view>
-									<view class="rimg"><image :src="rimg"></image></view>
-								</view>
-							</picker>
-						</uni-forms-item>
-						<!-- <uni-forms-item label="有无车位" name="hasParkingSpace">
-							<picker range-key='dictLabel' :disabled="isdisabled" :value="ywcwidx" :range="ywcwList"   @change='bindDateChanged'>
-								<view class="flexc">
-									<view class="flex1 txr f13 co27" v-if="datainfo.hasParkingSpace&&!ywcw">{{statusFormats(datainfo.hasParkingSpace,ywcwList,'ywcw')}}</view>
-									<view class="flex1 txr f13" v-else :class="ywcw?'co27':'coa'">{{ywcw||"请选择有/无"}}</view>
-									<view class="rimg"><image :src="rimg"></image></view>
-								</view>
-							</picker>
-						</uni-forms-item>
-						<uni-forms-item label="车位号" name="parkingNumber">
+						</picker>
+					</uni-forms-item>
+					<uni-forms-item label="居住人口" name="realName">
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="syqxidx" :range="sexs"   @change='bindDateChange'>
 							<view class="flexc">
-								<uni-easyinput :disabled="isdisabled" v-model="datainfo.parkingNumber" :inputBorder='false' placeholder="请输入车位号" />
-								<view class="rimg"></view>
-							</view>
-						</uni-forms-item> -->
-						<!-- <uni-forms-item label="房型" name="realName">
-							<view class="flexjd">
-								<picker range-key='dictLabel' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
-									<view class="flexc ml10">
-										<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择'}}</view>
-										<view class="tips">室</view>
-									</view>
-								</picker>
-								<picker range-key='dictLabel' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
-									<view class="flexc ml10">
-										<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择'}}</view>
-										<view class="tips">厅</view>
-									</view>
-								</picker>
-								<view class="rimg"></view>
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择居住人口'}}</view>
+								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
-						</uni-forms-item> -->
-				</view>
-				<view class="chmain">
-					<view class="rhbtn mt30" @click="getEditFn" v-if="isdisabled">修改</view>
-					<view class="rhbtn mt30" @click="getSubmit" v-else>确定{{ptype=='add'?'添加':'修改'}}</view>
-				</view>
+						</picker>
+					</uni-forms-item> -->
+					
+				</uni-forms>
+				<view class="rhbtn mt30" @click="getEditFn" v-if="isdisabled">修改</view>
+				<view class="rhbtn mt30" @click="getSubmit" v-else>确定{{ptype=='add'?'添加':'修改'}}</view>
 			</view>
-			<!-- <view class="chtop flexc">
-				<view class="line"></view>
-				<view>房屋信息</view>
-			</view> -->
-		</uni-forms>
 		</view>
 		<loading></loading>
 	</view>
@@ -248,10 +243,11 @@
 					 "communityName":"",//房屋所在小区名称
 					 "houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
 					 "parkingNumber":'',//车位号
+					 'houseImage':'',//房本照片
 				},
 				rules: {
 				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
-				  detailedAddress: {rules: [{required: true,errorMessage: '请输入详细门牌号' }]},
+				  // detailedAddress: {rules: [{required: true,errorMessage: '请输入详细门牌号' }]},
 				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
 				},
 				id:'',
@@ -272,8 +268,6 @@
 				latitude:'',
 				longitude:"",
 				starttime:'',
-				tabval:1,
-				tablist:[{tit:'基本信息',val:'1'},{tit:'房本信息',val:'2'},],
 			}
 		},
 		onLoad: function(e) {
@@ -291,9 +285,6 @@
 			getEditFn(){
 				this.isdisabled=false;
 			},
-			getTabFn(val){
-				this.tabval=val;
-			},
 			time() {
 				var date = new Date();
 				var y = date.getFullYear();
@@ -385,25 +376,31 @@
 				houseInfoDet(this.id).then(res=>{
 					if(res.code==200){
 						this.datainfo=res.data;
-						
+						if(res.data&&res.data.detailedAddress){
+							this.datainfo.xxaddress=res.data.detailedAddress
+							var address=res.data.detailedAddress;
+							var indxa=address.indexOf('栋')
+							var indxb=address.indexOf('单元')
+							var a = address.split(/[栋单元]/).filter(Boolean);
+							this.datainfo.loudong=a[0];
+							this.datainfo.danyuan=a[1];
+							this.datainfo.xxaddress=a[2];
+						}
 					}
 				})
 			},
 			getSubmit(){
 				this.$refs.form.validate().then(res => {
 					var params=JSON.parse(JSON.stringify(this.datainfo))
-					// if(!params.portalId){
-					// 	this.$toast("请选择来访门户")
-					// 	return
-					// }
-					// if(params.isCar=='Y'&&!params.plateNumber){
-					// 	this.$toast("请输入车牌号")
-					// 	return
-					// }
-					// if(!params.visitorTime){
-					// 	this.$toast("请选择来访时间")
-					// 	return
-					// }
+					if(!params.loudong||!params.danyuan){
+						this.$toast("请输入楼栋")
+						return
+					}
+					if(!params.xxaddress){
+						this.$toast("请输入详细门牌号")
+						return
+					}
+					params.detailedAddress=`${params.loudong?params.loudong+'栋':''}` + `${params.danyuan?params.danyuan+'单元':''}` + params.xxaddress;
 					if(this.ptype=='add'){
 						houseInfoAdd(params).then(res=>{
 							if(res.code==200){
@@ -431,6 +428,17 @@
 					}
 				})
 			},
+			getPreview(img) {
+				var newArr=[];
+				var url=this.baseUrl+img
+				newArr.push(url)
+				uni.previewImage({
+					urls: newArr,
+					current:0,
+					success: function(data) {},
+					fail: function(err) {}
+				});
+			},
 			getaddImage(e){
 				let that = this;
 				let file =[],count=9
@@ -448,19 +456,15 @@
 							let imglen = res.tempFilePaths.length;
 							var fuwufile = [];
 							uploadIdentify('/common/upload',img,0,0,0,imglen,fuwufile,function(rs){
-								// var resurl=rs[0];
-								// if(e=='front'){
-								// 	that.datainfo.front=resurl.fileName;
-								// }else{
-								// 	that.datainfo.back=resurl.fileName;
-								// }
-								// if(rs&&rs.length>0){
-								// 	var obj={
-								// 		type:e,
-								// 		url:resurl.urlOnline
-								// 	}
-								// 	that.getOcrIdCard(obj)
-								// }
+								var resurl=rs[0];
+								that.datainfo.houseImage=resurl.fileName
+								if(rs&&rs.length>0){
+									var obj={
+										type:e,
+										url:resurl.urlOnline
+									}
+									that.getOcrIdCard(obj)
+								}
 							})	
 						}
 					}
@@ -468,19 +472,22 @@
 			},
 			getOcrIdCard(obj){
 				var params={
-					image:obj.url,
-					idCardSide:obj.type
+					image:obj.url
 				}
-				getOcrIdCard(params).then(res=>{
+				getrealEstateCertificatee(params).then(res=>{
 					if(res.code==200){
 						var datainfo=res.data;
-						if(obj.type=='front'){
-							this.datainfo.realName=datainfo.realName;
-							this.datainfo.idCard=datainfo.idCard;
-							this.datainfo.address=datainfo.address;
-						}else{
-							this.datainfo.expirationDate=datainfo.expirationDate
-						}
+						this.datainfo.ownerName=datainfo.ownerName;
+						this.datainfo.location=datainfo.location;
+						this.datainfo.rightType=datainfo.rightType;
+						this.datainfo.area=datainfo.area;
+						this.datainfo.documentNumber=datainfo.documentNumber;
+						this.datainfo.propertyUnitNumber=datainfo.propertyUnitNumber;
+						this.datainfo.coOwnership=datainfo.coOwnership;
+						this.datainfo.usageType=datainfo.usageType;
+						this.datainfo.usagePeriod=datainfo.usagePeriod;
+						this.datainfo.registrationDate=datainfo.registrationDate;
+						this.datainfo.coOwner=datainfo.coOwner;
 					}
 				})
 			},
@@ -503,8 +510,8 @@
 .check /deep/ .uni-forms-item__label text{width: 110rpx;text-align-last: justify;}
 .check /deep/ .uni-forms-item__label .is-required{width: auto;}
 .check /deep/ .is-disabled{color: #222327;background-color: #ffffff !important;}
-.check{min-height: 100vh;padding: 140rpx 18rpx 22rpx;box-sizing: border-box;display: flex;box-sizing: border-box;}
-.cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;padding-bottom: 28rpx;min-height: calc(100vh - 160rpx);
+.check{min-height: 100vh;padding: 20rpx 18rpx 22rpx;box-sizing: border-box;display: flex;box-sizing: border-box;}
+.cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;padding-bottom: 28rpx;
 	.chtop{padding-top: 32rpx;margin-bottom: 22rpx;
 		.line{width: 14rpx;height: 48rpx;background: #0256FD;border-radius:0 12rpx 12rpx 0;margin-right: 18rpx;}
 		view{font-weight: bold;font-size: 32rpx;color: #272727;}
@@ -522,13 +529,5 @@
 	}
 }
 .tips{font-weight: bold;color: #272727;font-size: 26rpx;margin-left: 8rpx;}
-.cartop{position: fixed;left: 0;right: 0;top: 0;background-color: #ffffff;z-index: 2;
-	.tabtop{padding-bottom: 40rpx;padding-top: 26rpx;overflow: auto;
-		.tabt{font-weight: 500;font-size: 32rpx;color: #666666;position: relative;line-height: 56rpx;flex: 0 0 auto;text-align: center;margin: 0 10rpx;padding: 0 20rpx;
-			&.act{font-weight: bold;font-size: 32rpx;color: #272727;
-			&::after{content: '';width: 40rpx;height: 10rpx;background: #0156FE;border-radius: 6rpx;position: absolute;left: 50%;margin-left: -20rpx;bottom: -10rpx;}
-			}
-		}
-	}
-}
+.fczimg{width: 100rpx;height: 100rpx;}
 </style>

+ 2 - 5
user_ui/mine/pages/house/index.vue

@@ -20,6 +20,7 @@
 					<view class="tit">我的房屋</view>
 				</view>
 				<view class="txt mb10 fw5">您还未添加房屋信息喔~</view>
+				<!-- 如果是游客,往认证信息跳,相对应修改信息 -->
 			</block>
 			
 			<view class="txt">Welcome back home</view>
@@ -81,11 +82,7 @@
 			</view>
 		</block>
 		<!-- 审核信息 -->
-		<!-- <view class="cartips flexc mt16 mb16" @click="getChargeFn">
-			<view class="tit flex1">当前有房屋<text class="co025">审核中…</text></view>
-			<image :src="rimg"></image>
-		</view> -->
-		<view class="cartipa" @click="getChargeFn">您有 <text class="plr5">2</text> 套房屋信息正在审核中,<text class="line">查看信息</text></view>
+		<!-- <view class="cartipa" @click="getChargeFn">您有 <text class="plr5">2</text> 套房屋信息正在审核中,<text class="line">查看信息</text></view> -->
 		<view style="height: 76rpx;"></view>
 		<!-- <view class="hbtns bga mb18" v-if="list.length">修改信息</view> -->
 		<view class="hbtns bgb" :class="list.length?'':'mt110'" @click="getAddFn">添加房屋</view>

+ 9 - 2
user_ui/mine/pages/info.vue

@@ -3,7 +3,7 @@
 		<uni-forms ref="form" :model="datainfo" :rules="rules">
 			<view class="cbox">
 				<view class="chmain">
-					<uni-forms-item label="头像" name="phonenumber">
+					<uni-forms-item label="头像" >
 						<view class="flexjd mt10">
 							<image :src="avatar?baseUrl+avatar:aphoto" class="inimg" @click="handleToAvatar"></image>
 						</view>	
@@ -128,7 +128,10 @@
 			},
 			getUser() {
 			  getUserProfile().then(response => {
-			    this.datainfo = response.data
+				  var data=response.data;
+				  if(data.user){
+					   this.datainfo = JSON.parse(JSON.stringify(data.user))
+				  }
 			    this.roleGroup = response.roleGroup
 			    this.postGroup = response.postGroup
 			  })
@@ -156,6 +159,10 @@
 			getSubmit(ref) {
 			  this.$refs.form.validate().then(res => {
 			    updateUserProfile(this.datainfo).then(response => {
+					// 判断是不是改了nickname;
+					this.$store.dispatch('checkName', this.datainfo.nickName).then(() => {
+						
+					})
 			      this.$modal.msgSuccess("修改成功")
 			    })
 			  })

+ 254 - 0
user_ui/mine/pages/info/authen.vue

@@ -0,0 +1,254 @@
+<template>
+	<view class="car">
+		<!-- 列表 -->
+		<view class="carlists">
+			<box-list :datainfo="list" :rylxList="rylxList" :voList="voList" :wtdt="wtdt" type='authen' @getDetail="getDetail" @getDelFn="getDelFn"></box-list>
+			<!-- <car-list :datainfo="list" :ygztList="ygztList" :yglbList="yglbList" :wtdt="wtdt" type='rzstaff' @getDetail="getDetail" @getDelFn="getDelFn" @getShFn="getShFn"></car-list> -->
+		</view>
+		<block>
+			<view style="height: 100rpx;"></view>
+			<view class="rfbtn" @click="getAddFn">添加认证信息</view>
+		</block>
+		
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import boxList from "@/mine/components/box/list.vue"
+	import {gettenantList} from "@/api/login.js"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import {residentInfoDel,listAuthentication,deleteResident} from "@/api/work/people.js"
+	import {getDictionaryFn} from "@/api/system/user.js"
+	export default{
+		components:{boxList},
+		data(){
+			return{
+				list:[],
+				pageSize: 10,
+				pageNum: 1,
+				reachflag: true,
+				wtdt:'',
+				userId:this.$store.state.user.userId,
+				rylxList:[],
+				voList:[],
+			}
+		},
+		onUnload() {
+			uni.$off('residentInfoList')
+		},
+		onLoad: function() {
+			uni.$on('residentInfoList',(res)=>{
+				this.getrefreshData()
+			})
+			this.init();
+			this.gettenantList()
+			this.getDataFn();
+		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
+		methods:{
+			checkPermi, checkRole,
+			getTabFn(val){
+				this.tabval=val;
+				this.getrefreshData()
+			},
+			getrefreshData(){
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
+				this.getDataFn()
+			},
+			getDelFn(data){
+				var that=this;
+				var info=JSON.parse(JSON.stringify(data))
+				var params={
+					residentId:info.residentId,
+					userId:info.userId,
+					tenantId:info.tenantId,
+				}
+				deleteResident(params).then(res=>{
+					if(res.code==200){
+						this.$toast("删除成功");
+						setTimeout(function(){
+							that.getrefreshData()
+						},1500)
+					}
+				})
+			},
+			// 获取租户列表
+			gettenantList(){
+				gettenantList().then(res=>{
+					if(res.code==200){
+						if(res.data.voList&&res.data.voList.length){
+							this.voList = res.data.voList.map(v => {
+								return {
+									dictLabel: v.companyName,
+									dictValue: v.tenantId
+								}
+							})
+						}
+						
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+			},
+			init(){
+				getDictionaryFn('resident_Type').then(res=>{
+					if(res.code==200){
+						this.rylxList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+			},
+			getShFn(data){
+				var that=this;
+				var info=JSON.parse(JSON.stringify(data))
+				var ite=JSON.parse(JSON.stringify(info.ite))
+				var params={
+					staffId:ite.staffId,
+					userId:ite.userId,
+					examine:info.sh
+				}
+				// params.examine=info.sh;
+				examineStaff(params).then(res=>{
+					if(res.code==200){
+						this.$toast('审核成功')
+						setTimeout(function(){
+							that.getrefreshData()
+						},1200)
+					}
+				})
+			},
+			getAddFn(){
+				var type='rzadd';
+				this.$tab.navigateTo(`/mine/pages/info/authenadd?type=${type}`)
+				// if(this.list&&this.list.length){
+				// 	var id=this.list[0].residentId
+				// 	this.$tab.navigateTo(`/mine/pages/info/authenadd?type=${type}&id=${id}`) 
+				// }else{
+				// 	this.$tab.navigateTo(`/mine/pages/info/authenadd?type=${type}`) 
+				// }
+				
+			},
+			getDetail(e){
+				this.$tab.navigateTo("/mine/pages/info/authenadd?type=rz&id="+e)
+			},
+
+			getDataFn(){
+				var params={
+					pageSize:this.pageSize,
+					pageNum: this.pageNum,
+					userId:this.userId
+				}
+				// if(this.text){
+				// 	params.staffName=this.text
+				// }
+				// if(this.sfxx){
+				// 	params.staffCategory=this.sfxxid
+				// }
+				listAuthentication(params).then(res=>{
+					if(res.code==200){
+						if (res.rows.length < this.pageSize) {
+							this.reachflag = false
+							this.wtdt = '到底了~';
+						} else {
+							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+							if (num < res.total) {
+								this.reachflag = true
+								this.wtdt = ''
+							} else {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							}
+						}
+						var arr=JSON.parse(JSON.stringify((res.rows)))
+						arr.forEach(ite=>{
+							ite.hideflag=true;
+							if(ite.phoneNumber){
+								ite.phoneNumbera=this.HideType(ite.phoneNumber)
+							}
+							// if(ite.idCard){
+							// 	ite.idCarda=this.HideType(ite.idCard)
+							// }
+						})
+						if (this.pageNum == 1) {
+							this.list = arr;
+						} else {
+							this.list = this.list.concat(arr)
+						}
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+			},
+			getDelFn(data){
+				var that=this;
+				var info=JSON.parse(JSON.stringify(data))
+				var params={
+					staffId:info.staffId,
+					userId:info.userId,
+					tenantId:info.tenantId,
+				}
+				residentInfoDel(params).then(res=>{
+					if(res.code==200){
+						this.$toast("删除成功");
+						setTimeout(function(){
+							that.getrefreshData()
+						},1500)
+					}
+				})
+			},
+			HideType(data,flag,type){
+				const firstPart = data.slice(0, 1);  
+				  // 生成中间8位的星号  
+				  const middlePart = '*'.repeat(data.length-2);  
+				  // 获取后4位  
+				  const lastPart = data.slice(data.length-1); 
+				  var s= firstPart + middlePart + lastPart;
+				  return s
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.car{padding: 12rpx 0 10rpx;}
+.cartop{position: fixed;left: 0;right: 0;top: 0;background-color: #ffffff;z-index: 2;
+	.topa{padding: 20rpx 20rpx 32rpx;
+		.resetimg{width: 36rpx;height: 36rpx;margin-right: 24rpx;flex: 0 0 auto;}
+		.chekt{width: 150rpx;overflow: hidden;
+			view{font-weight: 500;font-size: 26rpx;color: #272727;flex: 1;}
+			image{width: 24rpx;height: 16rpx;margin-left: 18rpx;flex: 0 0 auto;}
+		}
+		.search{flex: 1;margin-left: 16rpx;height: 64rpx;background: #EEEEEE;border-radius: 32rpx;border: 2rpx solid #E6E6E6;padding-left: 24rpx;box-sizing: border-box;
+		image{width: 32rpx;height: 34rpx;margin-right: 22rpx;flex: 0 0 auto;}
+		input{flex: 1;font-size: 26rpx;color: #272727;}
+		.btn{width: 100rpx;height: 64rpx;background: #3565ED;border-radius: 32rpx;flex: 0 0 auto;font-weight: bold;text-align: center;line-height: 64rpx;
+font-size: 26rpx;
+color: #FFFFFF;}
+		}
+	}
+	.tablst{background: #F3F3F0;padding:24rpx 16rpx 26rpx 30rpx;overflow: auto;
+		.tabs{height: 48rpx;background: #DADADA;border-radius: 24rpx;margin-right: 30rpx;font-weight: 500;display: flex;align-items: center;justify-content: center;padding: 0 24rpx;font-size: 26rpx;box-sizing: border-box;flex: 0 0 auto;color: #666666;
+			&.act{border: 2rpx solid #0256FD;background: #FFFFFF;color: #0256FD;}
+		}
+	}
+
+}
+.carlists{padding: 0 18rpx;}
+</style>

+ 1036 - 0
user_ui/mine/pages/info/authenadd.vue

@@ -0,0 +1,1036 @@
+<template>
+	<view class="check">
+		<uni-forms ref="form" :model="datainfo" :rules="rules">
+			<view class="cbox">
+				<view class="chmain">
+					<picker range-key='dictLabel' :disabled="ptype=='edit'?true:false" :value="rylxidx" :range="rylxList"   @change='bindDateChangee'>
+						<uni-forms-item label="人员类型" required name="residentType">
+							<view class="flexc mh35">
+								<view class="flex1 txr f13 co27" v-if="datainfo.residentType&&!rylx">{{statusFormats(datainfo.residentType,rylxList,'rylx')}}</view>
+								<view class="flex1 txr f13" v-else :class="rylx?'co27':'coa'">{{rylx||"请选择人员类型"}}</view>
+								<view class="rimg"><image :src="rimg"></image></view>
+							</view>
+						</uni-forms-item>
+					</picker>
+					<uni-forms-item label="姓名"  name="residentName">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled"  v-model="datainfo.residentName"  :inputBorder='false' placeholder="请输入姓名" />
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="手机号码" required name="residentPhone">
+						<view class="flexc">
+							<uni-easyinput  :disabled="isdisabled"  v-model="datainfo.residentPhone"  :inputBorder='false' placeholder="请输入手机号码" />
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="小区名称" required name="tenantId">
+						<w-select
+						      style="margin-left: 20rpx;" 
+						     v-model="datainfo.tenantId"
+						      :list='voList'
+							  width='200rpx'
+						      valueName='dictLabel' 
+						      keyName="dictValue"
+							  :valuea="datainfo.tenantId"
+							  :chosevalue="tenantName?tenantName:statusFormats(datainfo.tenantId,voList,'tenant')"
+							  :isdisabled="ptype=='edit'?true:false"
+							  :filterable="filterable"
+						      @change='getchangea'
+						    >
+						    </w-select>
+					</uni-forms-item>
+					<block v-if="datainfo.residentType&&datainfo.residentType!=3">
+						<uni-forms-item label="房屋号" required name="houseId" v-if="datainfo.residentType!=3">
+							<w-select
+							      style="margin-left: 20rpx;" 
+							     v-model="datainfo.houseId"
+							      :list='fwlist'
+							      valueName='dictLabel' 
+							      keyName="dictValue"
+								  :valuea="datainfo.houseId"
+								  :chosevalue="datainfo.detailedAddress"
+								  :filterable='filterable'
+							      @change='getchange'
+							    >
+							    </w-select>
+						</uni-forms-item>
+						<block v-if="datainfo.residentType==1">
+							<uni-forms-item label="是否户主" required name="isHouseholder">
+								<view class="flexc ">
+									<view class="flex1"></view>
+									<view class="sylist flexcc" :class="datainfo.isHouseholder==ite.dictValue?'act':''" v-for="(ite,idx) in sfList" :key="idx" @click="getSyFn(ite.dictValue)">{{ite.dictLabel}}</view>
+									<view class="rimg"><image :src="rimg"></image></view>
+								</view>
+							</uni-forms-item>
+							<block v-if="datainfo.isHouseholder!='Y'">
+								<picker range-key='dictLabel' :disabled="isdisabled" :value="hzgxidx" :range="hzgxList"   @change='bindDateChangea'>
+									<uni-forms-item class="isnobor" label="与户主关系" required name="residentRelationship">
+										<view class="flexc mh35">
+											<view class="flex1 txr f13 co27" v-if="datainfo.residentRelationship&&!hzgx">{{statusFormats(datainfo.residentRelationship,hzgxList,'hzgx')}}</view>
+											<view class="flex1 txr f13" v-else :class="hzgx?'co27':'coa'">{{hzgx||"请选择与户主关系"}}</view>
+											<view class="rimg"><image :src="rimg"></image></view>
+										</view>
+									</uni-forms-item>
+								</picker>
+							</block>
+						</block>
+					</block>
+				</view>
+				<uni-collapse ref="collapse" v-model="value" >
+					<block>
+						<view class="chtit">人员信息</view>
+							<block>
+								<uni-collapse-item title-border="none" class="chmain">
+										<template v-slot:title>
+											<uni-forms-item label="身份证号" required name="residentIdCard">
+												<view class="flexc">
+													<uni-easyinput disabled  v-model="datainfo.residentIdCard"  :inputBorder='false' placeholder="自动识别" />
+													<image v-if='datainfo.idCardBack' :src="baseUrl+datainfo.idCardBack" class="cmico" @click.stop="getPreview(datainfo.idCardBack)"></image>
+													<image :src="cmico" @click.stop="getaddImage('front')" class="cmico"></image>
+												</view>
+											</uni-forms-item>
+										</template>
+										<view>
+											<uni-forms-item label="性别" required name="residentGender">
+												<view class="flexc">
+													<view class="flex1"></view>
+													<uni-data-checkbox  :map="map" :disabled="isdisabled" selectedColor="#0156FE" selectedTextColor="#272727" v-model="datainfo.residentGender" :localdata="xbList" />
+												</view>
+											</uni-forms-item>
+											<uni-forms-item label="家庭地址" required name="idCardAddress">
+												<view class="flexc">
+													<uni-easyinput  disabled  v-model="datainfo.idCardAddress"  :inputBorder='false' placeholder="自动识别" />	
+												</view>
+											</uni-forms-item>
+											<picker range-key='dictLabel' :disabled="isdisabled" :value="rymmidx" :range="rymmList"   @change='bindDateChangef'>
+												<uni-forms-item label="人员面貌" required name="residentAppearance">
+													<view class="flexc mh35">
+														<view class="flex1 txr f13 co27" v-if="datainfo.residentAppearance&&!rymm">{{statusFormats(datainfo.residentAppearance,rymmList,'rymm')}}</view>
+														<view class="flex1 txr f13" v-else :class="rymm?'co27':'coa'">{{rymm||"请选择人员面貌"}}</view>
+														<view class="rimg"><image :src="rimg"></image></view>
+													</view>
+												</uni-forms-item>
+											</picker>
+											<picker range-key='dictLabel' :disabled="isdisabled" :value="dslxidx" :range="dslxList"   @change='bindDateChangeg'>
+												<uni-forms-item label="特殊类型" name="specialType">
+													<view class="flexc mh35">
+														<view class="flex1 txr f13 co27" v-if="datainfo.specialType&&!dslx">{{statusFormats(datainfo.specialType,dslxList,'dslx')}}</view>
+														<view class="flex1 txr f13" v-else :class="dslx?'co27':'coa'">{{dslx||"如有五保户等特殊类型,请选择"}}</view>
+														<view class="rimg"><image :src="rimg"></image></view>
+													</view>
+												</uni-forms-item>
+											</picker>
+											<uni-forms-item label="工作单位"  name="residentEmployer">
+												<view class="flexc">
+													<uni-easyinput :disabled="isdisabled"  v-model="datainfo.residentEmployer"  :inputBorder='false' placeholder="请输入工作单位" />
+												</view>
+											</uni-forms-item>
+											<uni-forms-item label="兴趣爱好" name="residentHobby">
+												<view class="flexc ml10">
+													<uni-easyinput type="textarea" :disabled="isdisabled" autoHeight v-model="datainfo.residentHobby" :inputBorder='false' placeholder="请输入兴趣爱好" />
+												</view>
+											</uni-forms-item>
+											
+											<uni-forms-item label="上传头像" name="facePhoto">			
+												<view class="addimgs">
+													<block v-if="phofile&&phofile.length">
+														<view class="assimg" v-for="(ite,idx) in phofile" :key="idx" @click="getPreviewa(idx,phofile)">
+															<image :src="baseUrl+ite" class="img"></image>
+															<image :src="rdelimg" class="delimg" @click.stop="getDelFn(idx,'fm')"></image>
+														</view>
+													</block>
+													<view class="addbox" @click="getaddImageava">
+														<image :src="aphoto"></image>
+														<view>添加图片</view>
+													</view>
+												</view>
+											</uni-forms-item>
+										</view>
+									</uni-collapse-item>
+							</block>
+					</block>
+				<block v-if="datainfo.residentType==1&&datainfo.isHouseholder=='Y'">
+					<view class="chtit">房本信息</view>
+						<block>
+							<uni-collapse-item title-border="none" class="chmain">
+									<template v-slot:title>
+										<uni-forms-item label="房屋坐落" required name="location">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled"  v-model="houserinfo.location"  :inputBorder='false' placeholder="自动识别" />
+												<image v-if='houserinfo.houseImage' :src="baseUrl+houserinfo.houseImage" class="cmico" @click.stop="getPreview(houserinfo.houseImage)"></image>
+												<image :src="cmico" @click.stop="getaddImage('fbxx')" class="cmico"></image>
+											</view>
+										</uni-forms-item>
+									</template>
+									<view >
+										<uni-forms-item label="权利人姓名" name="ownerName">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.ownerName" :inputBorder='false' placeholder="自动识别" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="权利类型" name="rightType">
+											<picker range-key='dictLabel' :disabled="isdisabled" :value="qllxidx" :range="qllxList"  @change='bindDateChange'>
+												<view class="flexc">
+													<view class="flex1 txr f13 co27" v-if="houserinfo.rightType&&!qllx">{{statusFormats(houserinfo.rightType,qllxList,'qllx')}}</view>
+													<view class="flex1 txr f13" v-else :class="qllx?'co27':'coa'">{{qllx||"请选择权利类型"}}</view>
+													<view class="rimg"><image :src="rimg"></image></view>
+												</view>
+											</picker>
+										</uni-forms-item>
+										<uni-forms-item label="建筑面积" required name="area">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.area" :inputBorder='false' placeholder="自动识别" />
+												<view class="tips">m²</view>
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="不动产单元号" name="propertyUnitNumber">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.propertyUnitNumber" :inputBorder='false' placeholder="请输入不动产单元号" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="相关的字第号" name="documentNumber">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.documentNumber" :inputBorder='false' placeholder="请输入相关的字第号" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="小区名称" name="communityName">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.communityName" :inputBorder='false' placeholder="请输入小区名称" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="门牌号" required name="detailedAddress">
+											<view class="flexc">
+												<uni-easyinput disabled v-model="houserinfo.detailedAddress" :inputBorder='false' placeholder="请输入门牌号" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="使用期限" name="usagePeriod">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.usagePeriod" :inputBorder='false' placeholder="请输入使用期限" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="登记日期" name="registrationDate">
+											<!-- <picker mode="timed" :disabled="isdisabled"  @change='bindDateChangea'>
+												<view class="flexc">
+													<view class="flex1 txr f13"  :class="datainfo.registrationDate?'co27':'coa'">{{datainfo.registrationDate||"请选择登记日期"}}</view>
+													<view class="rimg"><image :src="rimg"></image></view>
+												</view>
+											</picker> -->
+											<!-- :hide-second='true' -->
+											<view class="flexc">
+												<uni-datetime-picker  :disabled="isdisabled" :class="houserinfo.registrationDate?'co27':'coa'" type="datetime" placeholder="请选择登记日期" :border="false"  v-model="houserinfo.registrationDate"  />
+												<view class="rimg"><image :src="rimg"></image></view>
+											</view>
+										</uni-forms-item>
+										
+										<uni-forms-item label="共有姓名" name="coOwner">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.coOwner" :inputBorder='false' placeholder="请输入共有姓名" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="共有情况" name="coOwnership">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.coOwnership" :inputBorder='false' placeholder="请输入共有情况" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+										<uni-forms-item label="房屋状态" name="houseStatus">
+											<picker range-key='dictLabel' :disabled="isdisabled" :value="fwztidx" :range="fwztList"   @change='bindDateChangeb'>
+												<view class="flexc">
+													<view class="flex1 txr f13 co27" v-if="houserinfo.houseStatus&&!fwzt">{{statusFormats(houserinfo.houseStatus,fwztList,'fwzt')}}</view>
+													<view class="flex1 txr f13" v-else :class="fwzt?'co27':'coa'">{{fwzt||"请选择房屋状态"}}</view>
+													<view class="rimg"><image :src="rimg"></image></view>
+												</view>
+											</picker>
+										</uni-forms-item>
+										<uni-forms-item label="房屋用途" name="usageType">
+											<picker range-key='dictLabel' :disabled="isdisabled" :value="fwytidx" :range="fwytList"   @change='bindDateChangec'>
+												<view class="flexc">
+													<view class="flex1 txr f13 co27" v-if="houserinfo.usageType&&!fwyt">{{statusFormats(houserinfo.usageType,fwytList,'fwyt')}}</view>
+													<view class="flex1 txr f13" v-else :class="fwyt?'co27':'coa'">{{fwyt||"请选择房屋用途"}}</view>
+													<view class="rimg"><image :src="rimg"></image></view>
+												</view>
+											</picker>
+										</uni-forms-item>
+										<uni-forms-item label="有无车位" name="hasParkingSpace">
+											<picker range-key='dictLabel' :disabled="isdisabled" :value="ywcwidx" :range="ywcwList"   @change='bindDateChanged'>
+												<view class="flexc">
+													<view class="flex1 txr f13 co27" v-if="houserinfo.hasParkingSpace&&!ywcw">{{statusFormats(houserinfo.hasParkingSpace,ywcwList,'ywcw')}}</view>
+													<view class="flex1 txr f13" v-else :class="ywcw?'co27':'coa'">{{ywcw||"请选择有/无"}}</view>
+													<view class="rimg"><image :src="rimg"></image></view>
+												</view>
+											</picker>
+										</uni-forms-item>
+										<uni-forms-item label="车位号" name="parkingNumber">
+											<view class="flexc">
+												<uni-easyinput :disabled="isdisabled" v-model="houserinfo.parkingNumber" :inputBorder='false' placeholder="请输入车位号" />
+												<view class="rimg"></view>
+											</view>
+										</uni-forms-item>
+									</view>
+								</uni-collapse-item>
+						</block>
+				</block>
+				</uni-collapse>
+				<view class="mt12">
+					<!-- <view class="hbtns mb10 bgb" @click="getAddfb" v-if="datainfo.residentType==1&&datainfo.isHouseholder=='Y'">添加房屋信息</view> -->
+					<view class="hbtns bga" @click="getSubmit">提交</view>
+				</view>
+			</view>
+		</uni-forms>
+		
+
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
+	import {uploadIdentify,uploadmore} from '@/utils/common.js'
+	import {listNoPageTenant,houseInfoDet} from "@/api/work/work.js"
+	import {gettenantList} from "@/api/login.js"
+	import {residentInfoAdd,residentInfoPut,authentication} from "@/api/work/people.js"
+	import {getDictionaryFn} from "@/api/system/user.js"
+	import {selectValueKey} from "@/utils/common.js"
+	import {getOcrIdCard,getrealEstateCertificatee} from "@/api/system/card.js"
+	import wSelect from "@/work/components/w-select/w-select.vue"
+	export default {
+		components: {wSelect},
+		data() {
+			return {
+				rdelimg: require('@/work/static/service/rdel.png'),
+				rimg: require('@/mine/static/house/rimg.png'),
+				cmico: require('@/mine/static/house/cmico.png'),
+				del: require('@/mine/static/house/del.png'),
+				aphoto: require('@/work/static/service/photo.png'),
+				baseUrl: config.baseUrl,
+				checkflag:true,
+				backgroundColor: "transparent",
+				value:'',
+				datainfo: {
+					"tenantId":"",//租户id
+					"residentType":"",//人员类型:1:业主 2:租户 3:其他
+					"residentName":"",//居住人员姓名
+					"residentPhone":"",//人员手机号
+					"houseInfoRedidentList":[],//用户房屋信息集合
+					"houseId":"",//关联房屋信息表的house_id
+					"residentRelationship":"",//居住人员与户主的关系,如父子、夫妻等
+					"isHouseholder":"",//是否是户主 N不是 Y是
+					
+					"residentIdCard":"",//居住人员身份证号码,18位
+					// "residentBirthday":"",//居住人员出生日期
+					"residentGender":'',//居住人员性别:1-男,2-女
+					
+					// "isTenant":"",//是否是租户:Y-是,N-否
+					"residentEmployer":"",//居住人员工作单位
+					"residentAppearance":"",//居住人员面貌,如党员、群众等
+					"residentHobby":"",//爱好
+					"facePhoto":"",//人脸地址
+					"idCardAddress":"",//身份证住址
+					"specialType":"",//特殊类型
+					"idCardFront":"",//身份证正面
+					"idCardBack":"",//身份证反面
+				},
+				rules:{
+					residentType: {rules: [{required: true,errorMessage: '请选择人人员类型' }]},
+					// residentIdCard: {rules: [{required: true,errorMessage: '请输入身份证号码' }]},
+					// residentName: {rules: [{required: true,errorMessage: '请输入姓名' }]},
+					// residentGender: {rules: [{required: true,errorMessage: '请选择性别' }]},
+					// houseId: {rules: [{required: true,errorMessage: '请选择房屋号' }]},
+					// detailedAddress: {rules: [{required: true,errorMessage: '请输入居住地址' }]},
+					// isHouseholder: {rules: [{required: true,errorMessage: '请选择是否户主' }]},
+					// residentRelationship: {rules: [{required: true,errorMessage: '请选择与户主关系' }]},
+					residentPhone: {rules: [{required: true,errorMessage: '请输入手机号'}, {pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,errorMessage:'请输入正确的手机号码'}]},
+				  },
+				hzgx:"",
+				rylx:"",
+				hzgxidx:0,
+				dslxidx:0,
+				rylxidx:0,
+				list:[],
+				phofile:[],
+				fwlist:[],
+				rylxList:[],
+				fwzt:'',
+				qllx:'',
+				fwyt:'',
+				ywcw:'',
+				hzgx:'',
+				
+				sfhz:"",
+				sfzh:"",
+				rymm:"",
+				dslx:"",
+				fwztidx:0,
+				qllxidx:0,
+				fwytidx:0,
+				ywcwidx:0,
+				hzgxidx:0,
+				sfzhidx:0,
+				rymmidx:0,
+				sfhzidx:0,
+				dslxidx:0,
+				fwztList:[],
+				qllxList:[],
+				fwytList:[],
+				hzgxList:[],
+				sfList:[],
+				rymmList:[],
+				dslxList:[],
+				xbList:[],
+				ywcwList:[{dictLabel:'有',dictValue:'Y'},{dictLabel:'无',dictValue:'N'},],
+				isdisabled:false,
+				ptype:'add',
+				filterable:true,
+				chooseValue:'',
+				map:{text:'dictLabel',value:'dictValue'},
+				userId:this.$store.state.user.userId,
+				voList:[],
+				tenantName:'',
+				houseInfoRedidentList:[],
+				fwztList:[],
+				qllxList:[],
+				fwytList:[],
+				sfList:[],
+				rzflag:false,
+				choseidx:'',
+				houserinfo:{
+					"houseId":'',
+					"tenantId":"",//租户id
+					"houseImage":null,//房本照片
+					"ownerName":null,//权利人姓名
+					"location":null,//房屋坐落位置
+					"rightType":null,//权利类型,如所有权、使用权等
+					"area":null,//房屋面积,单位为平方米
+					"documentNumber":null,//房屋相关的字第号
+					"propertyUnitNumber":null,//不动产单元号
+					"coOwnership":null,//房屋的共有情况,如共有比例等
+					"usageType":null,//房屋用途,如住宅、商业等
+					"usagePeriod":null,//房屋使用期限
+					"registrationDate":null,//房屋登记日期
+					"coOwner":null,//共有人姓名,多个共有人可以用逗号分隔
+					"detailedAddress":null,//房屋的详细门牌号
+					"hasParkingSpace":null,//是否有车位,Y表示有,N表示无
+					"communityName":null,//房屋所在小区名称
+					"houseStatus":null,//房屋状态:1-自住,2-出租,3-空闲,4-待售
+					"parkingNumber":null,//车位号
+				}
+			}
+		},
+		onLoad: function(e) {
+			if(e.type){
+				this.rztype=e.type
+				this.rzflag=true;
+				this.datainfo.residentPhone=this.$store.state.user.phonenumber;
+				this.datainfo.userId=this.$store.state.user.userId;
+			}else{
+				// var tenantId=this.$store.state.user.tenantId;
+				// this.datainfo.tenantId=tenantId;
+				// this.getRoleNopage(tenantId)
+			}
+			this.gettenantList();
+			if(e.id){
+				this.id=e.id;
+				this.ptype="edit";
+				// this.isdisabled=true;
+				this.getDetail()
+			}
+			this.init()
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#48CC9A'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			getEditFn(){
+				this.isdisabled=false;
+			},
+			getSyFn(e){
+				this.datainfo.isHouseholder=e
+				console.log(this.datainfo.isHouseholder)
+			},
+			getChose(idx){
+				this.choseidx=idx;
+			},
+			getAddfb(){
+				var obj={
+					"ownerName":"",//权利人姓名
+					"location":"",//房屋坐落位置
+					"rightType":"",//权利类型,如所有权、使用权等
+					"area":"",//房屋面积,单位为平方米
+					"documentNumber":"",//房屋相关的字第号
+					"propertyUnitNumber":"",//不动产单元号
+					"coOwnership":"",//房屋的共有情况,如共有比例等
+					"usageType":"",//房屋用途,如住宅、商业等
+					"usagePeriod":"",//房屋使用期限
+					"registrationDate":"",//房屋登记日期
+					"coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
+					"detailedAddress":"",//房屋的详细门牌号
+					"hasParkingSpace":"",//是否有车位,Y表示有,N表示无
+					"communityName":"",//房屋所在小区名称
+					"houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
+					"parkingNumber":'',//车位号
+				}
+				this.houseInfoRedidentList.push(obj)
+			},
+			getDelfb(idx){
+				this.houseInfoRedidentList.splice(idx,1)
+			},
+			statusFormats(data, list,type) {
+				var aite=selectValueKey(list, data);
+				if(type=='qllx'){
+					this.qllxidx=aite.key;
+				}else if(type=='rylx'){
+					this.rylxidx=aite.key;
+				}else if(type=='hzgx'){
+					this.hzgxidx=aite.key;
+				}else if(type=='fwzt'){
+					this.fwztidx=aite.key;
+				}else if(type=='fwyt'){
+					this.fwytidx=aite.key;
+				}else if(type=='ywcw'){
+					this.ywcwidx=aite.key;
+				}else if(type=='tenant'){
+					this.tenantName=aite.actions;
+				}else if(type=='rymm'){
+					this.rymmidx=aite.key;
+				}else if(type=='dslx'){
+					this.dslxidx=aite.key;
+				}
+				return aite.actions;
+			},
+			getchangea(e){
+				var tenantId=this.datainfo.tenantId;
+				this.datainfo.tenantId=e.dictValue;
+				this.houserinfo.communityName=e.dictLabel;
+				// 业主或租户
+				if(this.datainfo.residentType!=3){
+					this.listNoPageTenant(e.dictValue)
+				}
+			},
+			getchange(e){
+				this.datainfo.houseId=e.dictValue;
+				this.datainfo.detailedAddress=e.dictLabel;
+				this.houserinfo.detailedAddress=e.dictLabel;
+				this.houserinfo.houseId=e.dictValue;
+				this.houserinfo.location=e.location;
+			},
+			// 获取租户列表
+			gettenantList(){
+				gettenantList().then(res=>{
+					if(res.code==200){
+						if(res.data.voList&&res.data.voList.length){
+							this.voList = res.data.voList.map(v => {
+								return {
+									dictLabel: v.companyName,
+									dictValue: v.tenantId
+								}
+							})
+						}
+						
+					}else{
+						this.$toast(res.msg)
+					}
+				})
+			},
+			listNoPageTenant(id){
+				var params={
+					tenantId:id,
+				}
+				listNoPageTenant(params).then(res=>{
+					if(res.code==200){
+						this.fwlist= res.data.map(v => {
+							return {
+								dictLabel: v.detailedAddress,
+								dictValue: v.houseId,
+								location: v.location
+							}
+						})
+						// if(res.rows&&res.rows.length<2){
+						// 	var newObj=res.rows[0];
+						// 	this.datainfo.houseId=newObj.houseId;
+						// 	this.datainfo.detailedAddress=newObj.detailedAddress
+						// }
+					}
+				})
+			},
+			init(){
+				// 人员类型
+				getDictionaryFn('resident_Type').then(res=>{
+					if(res.code==200){
+						this.rylxList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				// 是否
+				getDictionaryFn('sys_yes_no').then(res=>{
+					if(res.code==200){
+						this.sfList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				//户主关系
+				getDictionaryFn('relationship_householder').then(res=>{
+					if(res.code==200){
+						this.hzgxList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				// 房屋状态
+				getDictionaryFn('house_status').then(res=>{
+					if(res.code==200){
+						this.fwztList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				//权利类型
+				getDictionaryFn('types_rights').then(res=>{
+					if(res.code==200){
+						this.qllxList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				//房屋用途
+				getDictionaryFn('use_remises').then(res=>{
+					if(res.code==200){
+						this.fwytList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				//人员面貌
+				getDictionaryFn('affiliation_personnel').then(res=>{
+					if(res.code==200){
+						this.rymmList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				// 特殊类型
+				
+				getDictionaryFn('special_type').then(res=>{
+					if(res.code==200){
+						this.dslxList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
+				//性别
+				getDictionaryFn('gender').then(res=>{
+					if(res.code==200){
+						this.xbList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: Number(v.dictValue)
+							}
+						})
+					}
+				})
+				
+			},
+			getBackFn(){
+				uni.navigateBack({
+					delta:1
+				})
+			},
+			bindDateChange(e){
+				var val=e.detail.value;
+				this.houserinfo.rightType=this.qllxList[val].dictValue;
+				this.qllx=this.qllxList[val].dictLabel;
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.houserinfo.registrationDate=val;
+			},
+			bindDateChangeb(e){
+				var val=e.detail.value;
+				this.houserinfo.houseStatus=this.fwztList[val].dictValue;
+				this.fwzt=this.fwztList[val].dictLabel;
+			},
+			bindDateChangec(e){
+				var val=e.detail.value;
+				this.houserinfo.usageType=this.fwytList[val].dictValue;
+				this.fwyt=this.fwytList[val].dictLabel;
+			},
+			bindDateChanged(e){
+				var val=e.detail.value;
+				this.houserinfo.hasParkingSpace=this.ywcwList[val].dictValue;
+				this.ywcw=this.ywcwList[val].dictLabel;
+			},
+			bindDateChangee(e){
+				var val=e.detail.value;
+				this.datainfo.residentType=this.rylxList[val].dictValue;
+				this.rylx=this.rylxList[val].dictLabel;
+			},
+			bindDateChangef(e){
+				var val=e.detail.value;
+				this.datainfo.residentAppearance=this.rymmList[val].dictValue;
+				this.rymm=this.rymmList[val].dictLabel;
+			},
+			bindDateChangeg(e){
+				var val=e.detail.value;
+				this.datainfo.specialType=this.dslxList[val].dictValue;
+				this.dslx=this.dslxList[val].dictLabel;
+			},
+			getDetail(){
+				authentication(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data;
+						if(res.data.facePhoto){
+							this.phofile=res.data.facePhoto.split(',')
+						}
+						var data=JSON.parse(JSON.stringify(res.data))
+						if(data.residentType!=3){
+							this.listNoPageTenant(data.tenantId)
+						}
+						if(res.data.houseInfoRedidentList&&res.data.houseInfoRedidentList.length&&res.data.houseInfoRedidentList[0]){
+							var houseinfo=res.data.houseInfoRedidentList[0]
+							this.houserinfo=JSON.parse(JSON.stringify(houseinfo))
+						}
+						
+					}
+				})
+			},
+			getSubmit(){
+				var that=this;
+				this.$refs.form.validate().then(res => {
+					var params=JSON.parse(JSON.stringify(this.datainfo))
+					var phofile=JSON.parse(JSON.stringify(this.phofile))
+					// if(phofile&&phofile.length){
+					// 	params.facePhoto=this.phofile.join(',');
+					// }
+					params.facePhoto=this.phofile.join(',');
+					if(!params.tenantId){
+						this.$toast('请选择小区名称')
+						return
+					}
+					if(params.residentType==1&&params.isHouseholder=='Y'){
+						var houserinfo=JSON.parse(JSON.stringify(this.houserinfo))
+						if(!houserinfo.location){
+							this.$toast('请输入房屋坐落')
+							return
+						}
+						if(!houserinfo.area){
+							this.$toast('请输入房屋面积')
+							return
+						}
+						if(!houserinfo.detailedAddress){
+							this.$toast('请输入详细门牌号')
+							return
+						}
+						houserinfo.tenantId=params.tenantId;
+						var newarr=[]
+						newarr.push(houserinfo)
+						params.houseInfoRedidentList=JSON.parse(JSON.stringify(newarr))
+					}
+					if(params.residentType==2){
+						params.isTenant='Y'
+					}else{
+						params.isTenant=''
+					}
+					// if(!params.detailedAddress){
+					// 	this.$toast('请选择居住门户')
+					// 	return
+					// }
+					// let _IDRe18 =
+					// 	/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
+					// let _IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
+					// // 校验身份证:
+					// if (params.residentIdCard&&!_IDRe18.test(params.residentIdCard) && !_IDre15.test(params.residentIdCard)) {
+					// 	this.$toast("请输入正确身份证号")
+					// 	return
+					// }
+					if(this.ptype=='add'){
+						if(this.rzflag){
+							residentInfoAdd(params).then(res=>{
+								if(res.code==200){
+									this.$toast("新增成功")
+
+									setTimeout(function(){
+										uni.$emit("residentInfoList")
+										var initFace='N';
+										that.$store.dispatch('checkInitFace', initFace).then(() => {
+											
+										})
+										uni.navigateBack({
+											delta:1
+										})
+									},1500)
+								}
+							})
+						}
+					}else{
+						if(this.rzflag){
+							params.isFilter=true;
+							residentInfoPut(params).then(res=>{
+								if(res.code==200){
+									this.$toast("修改成功")
+									setTimeout(function(){
+										uni.$emit("residentInfoList")
+										var initFace='N';
+										that.$store.dispatch('checkInitFace', initFace).then(() => {
+											
+										})
+										uni.navigateBack({
+											delta:1
+										})
+									},1500)
+								}
+							})
+						}
+						
+					}	
+				})
+			},
+			getPreviewa(idx,arr) {
+				var newArr=[];
+				arr.forEach(ite=>{
+					var ds=this.baseUrl+ite
+					newArr.push(ds)
+				})
+				uni.previewImage({
+					urls: newArr,
+					current:idx,
+					success: function(data) {},
+					fail: function(err) {}
+				});
+			},
+			getPreview(img) {
+				var newArr=[];
+				var url=this.baseUrl+img
+				newArr.push(url)
+				uni.previewImage({
+					urls: newArr,
+					current:0,
+					success: function(data) {},
+					fail: function(err) {}
+				});
+			},
+			getDelFn(idx,type){
+				var that=this;
+				uni.showModal({
+					title: '确认删除',
+					content: "是否确认删除",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							that.phofile.splice(idx,1)	
+						} else if (res.cancel) {
+						}
+					}
+				});
+			},
+			getaddImageava(type){
+				if(this.isdisabled){
+					return
+				}
+				let that = this;
+				let file =[],count=9
+				uni.chooseImage({
+					success:function(res){
+						let img= res.tempFilePaths;
+						if(img.length + file.length > count){
+							uni.showToast({
+								title: '最多上传'+count+'张图片',
+								icon: 'none',
+								duration: 2000
+							})
+						}else{
+							let imglen = res.tempFilePaths.length;
+							var fuwufile = [];
+							uploadmore('/common/upload',img,0,0,0,imglen,fuwufile,function(rs){
+								that.phofile = that.phofile.concat(rs);
+							})	
+						}
+					}
+				});
+			},
+			getaddImage(type){
+				if(this.isdisabled){
+					return
+				}
+				let that = this;
+				let file =[],count=9
+				uni.chooseImage({
+					count: 1,
+					success:function(res){
+						let img= res.tempFilePaths;
+						if(img.length + file.length > count){
+							uni.showToast({
+								title: '最多上传'+count+'张图片',
+								icon: 'none',
+								duration: 2000
+							})
+						}else{
+							let imglen = res.tempFilePaths.length;
+							var fuwufile = [];
+							uploadIdentify('/common/upload',img,0,0,0,imglen,fuwufile,function(rs){
+								var resurl=rs[0]; 
+								if(type=='front'){
+									that.datainfo.idCardBack = resurl.fileName;
+									if (rs && rs.length > 0) {
+										var obj = {
+											type:type,
+											url: resurl.urlOnline
+										}
+										that.getOcrIdCard(obj)
+									}
+								}else{
+									that.houserinfo.houseImage=resurl.fileName
+								}
+								
+								// if(rs&&rs.length>0){
+								// 	var obj={
+								// 		url:resurl.urlOnline
+								// 	}
+								// 	that.getOcrIdCardfz(obj)
+								// }
+							})
+						}
+					}
+				});
+			},
+			getOcrIdCard(obj) {
+				var params = {
+					image: obj.url,
+					idCardSide: obj.type
+				}
+				getOcrIdCard(params).then(res => {
+					if (res.code == 200) {
+						var datainfo = res.data;
+						if (obj.type == 'front') {
+							this.datainfo.residentName = datainfo.realName;
+							this.datainfo.residentIdCard = datainfo.idCard;
+							this.datainfo.idCardAddress = datainfo.address;
+						// } else {
+						// 	this.datainfo.expirationDate = datainfo.expirationDate
+						}
+					}
+				})
+			},
+			getOcrIdCardfz(obj){
+				var params={
+					image:obj.url
+				}
+				getrealEstateCertificatee(params).then(res=>{
+					if(res.code==200){
+						var datainfo=res.data;
+						// var obj=JSON.parse(JSON.stringify(this.houseInfoRedidentList[idx]))
+						this.houserinfo.ownerName=datainfo.ownerName;
+						this.houserinfo.location=datainfo.location;
+						this.houserinfo.rightType=datainfo.rightType;
+						this.houserinfo.area=datainfo.area;
+						this.houserinfo.documentNumber=datainfo.documentNumber;
+						this.houserinfo.propertyUnitNumber=datainfo.propertyUnitNumber;
+						this.houserinfo.coOwnership=datainfo.coOwnership;
+						this.houserinfo.usageType=datainfo.usageType;
+						this.houserinfo.usagePeriod=datainfo.usagePeriod;
+						this.houserinfo.registrationDate=datainfo.registrationDate;
+						this.houserinfo.coOwner=datainfo.coOwner;
+						// this.houseInfoRedidentList.splice(idx,1,obj)
+					}
+				})
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.coa /deep/ .uni-date__x-input{text-align: right;color: #AAAAAA;}
+.check /deep/ .select-wrap{border: none;width: 100%;}
+.mh35{min-height: 70rpx;display: flex;align-items: center;}
+.check /deep/ .uni-forms-item{min-height: 106rpx;box-sizing: border-box;display: flex;align-items: center;margin-bottom: 0;border-bottom: 2rpx solid #E6E6E6;padding:10rpx 0;}
+.check .cbox .chmain /deep/ .isnobor{border: none;}
+.check /deep/ .uni-forms-item__label{font-weight: bold;font-size: 26rpx;color: #222327;flex: 0 0 auto;width: auto !important;}
+.check /deep/ .uni-easyinput{flex: 1;text-align: right;font-size: 26rpx;color: #222327;}
+.check /deep/ .uni-easyinput__content-textarea{min-height: 40rpx;font-size: 26rpx;}
+.check /deep/ .uni-easyinput__placeholder-class{font-size: 26rpx;color: #AAAAAA;}
+.check /deep/ .uni-input-input{font-size: 26rpx;}
+.check /deep/ .uni-textarea-textarea{font-size: 26rpx;}
+.check /deep/ .is-disabled{color: #222327;background-color: #ffffff !important;}
+.check /deep/ .uni-data-checklist .checklist-group .checklist-box{margin:10rpx 8rpx 10rpx 16rpx;}
+.check /deep/ .uni-data-checklist{flex: 0 0 auto;}
+.check /deep/ .is-required{font-size: 26rpx;color: #F40027;margin-right: 4rpx;}
+.check /deep/ .uni-collapse{background-color: transparent;}
+// .check /deep/ .uni-collapse .chmain{margin-bottom: 24rpx;}
+.check{min-height: 100vh;box-sizing: border-box;padding: 20rpx 18rpx 54rpx;}
+.cbox{
+	.chtit{font-weight: 500;font-size: 24rpx;color: #666666;padding:20rpx 14rpx;}
+	.chmain{
+		padding: 0rpx 28rpx;background: #FFFFFF;border-radius: 20rpx;
+		.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+			image{width: 100%;height: 100%;}
+		}
+	}
+	.hbtns{font-weight: bold;display: flex;align-items: center;justify-content: center;font-size: 26rpx;height: 88rpx;border-radius: 20rpx;box-sizing: border-box;
+		&.bga{border: 1px solid #0256FD;color: #FFFFFF;background: #0256FD;}
+		&.bgb{border: 1px solid #0256FD;color: #0256FD;background: #CADBFF;}
+		
+	}
+	.sylist{background: #F0F0F0;border-radius: 26rpx;border:2rpx solid #DADADA;margin-left: 26rpx;font-weight: 500;min-width:112rpx;height: 54rpx;box-sizing: border-box;
+	font-size: 26rpx;
+	color: #666666;
+		&.act{border: 2rpx solid #0256FD;background: #DCE8FF;color: #0256FD;}
+	}
+	.cmico{width: 48rpx;height: 48rpx;margin-left: 16rpx;}
+	.delbox{padding: 12rpx 32rpx;
+		image{width: 26rpx;height: 26rpx;margin-right: 14rpx;}
+		view{font-weight: 500;font-size: 26rpx;color: #FF6969;}
+	}
+}
+.addbox{width: 160rpx;height: 128rpx;background: #F0F0F0;border-radius: 20rpx;display: flex;flex-direction: column;align-items: center;justify-content: center;margin-left: 24rpx;margin-bottom: 20rpx;flex: 0 0 auto;
+		image{width: 48rpx;height: 42rpx;margin-bottom: 12rpx;}
+		view{font-weight: 500;font-size: 24rpx;color: #666666;}
+	}
+.addimgs{display: flex;align-items: center;flex-wrap: wrap;justify-content: flex-end;
+	.assimg{width: 128rpx;height: 128rpx;position: relative;overflow: hidden;margin: 0 0 20rpx 24rpx;
+		.img{width: 100%;height: 100%;}
+		.delimg{width: 24rpx;height: 24rpx;position: absolute;right: 0;top: 0;}
+	}
+}
+</style>

BIN
user_ui/mine/static/house/del.png


+ 23 - 6
user_ui/news/components/box/list.vue

@@ -132,14 +132,13 @@
 						<view class="plname flex1 over">{{ite.commentUser.nickName}}</view>
 						<view class="plrbtn flexc flex0" @click="getDzFn(ite.id,'2',ite.content,idx)">
 							<image :src="nicond" v-if="ite.isLike=='Y'"></image>
-							<image :src="niconb" class="imga" v-else></image>2
+							<image :src="niconb" class="imga" v-else></image>{{ite.likeCount}}
 							<!-- <view>点赞</view> -->
 						</view>
-						<view class="plrbtn flexc flex0" @touchend.prevent="getHfFn('yjhf',ite,ite.id)">
-							<!-- <image :src="niconf" class="imgd"></image> -->
+						<!-- <view class="plrbtn flexc flex0" @touchend.prevent="getHfFn('yjhf',ite,ite.id)">
+							<image :src="niconf" class="imgd"></image>
 							<image :src="niconb" class="imge"></image>2
-							<!-- <view>回复</view> -->
-						</view>
+						</view> -->
 						<!-- <view class="plrbtn flexc flex0" @touchend.prevent="getHfFn('yjhf',ite,ite.id)">
 							<image :src="nicone" class="imgb"></image>
 							<view>回复</view>
@@ -153,7 +152,7 @@
 						<rich-text v-if="ite.content" :nodes="analyzeEmoji(ite.content)"></rich-text>
 						<view class="flexc mt10">
 							<view class="inforeply"  @touchend.prevent="getHfFn('yjhf',ite,ite.id)">回复</view>
-							<view class="infotime">5分钟前</view></view>
+							<view class="infotime">{{formatTimeDiff(ite.createTime)}}</view></view>
 						</view>
 						
 					<!-- <view class="infotime">{{ite.createDate}}</view></view> -->
@@ -375,6 +374,24 @@
 			getDetail(e){
 				this.$emit('getDetail',e)
 			},
+			// 格式时间
+			formatTimeDiff(targetStr) {
+			    const targetDate = new Date(targetStr);
+			    const now = new Date();
+			    const diffInSeconds = Math.floor((now - targetDate) / 1000);
+			    
+			    if (diffInSeconds < 60) {
+			        return "刚刚";
+			    } else if (diffInSeconds < 3600) {
+			        const minutes = Math.floor(diffInSeconds / 60);
+			        return `${minutes}分钟前`;
+			    } else if (diffInSeconds < 86400) {
+			        const hours = Math.floor(diffInSeconds / 3600);
+			        return `${hours}小时前`;
+			    } else {
+			        return targetDate.toISOString().slice(0, 16).replace("T", " ");
+			    }
+			},
 			analyzeEmoji(cont){
 			      //编译表情替换成图片展示出来
 			      var pattern1 = /\[[\u4e00-\u9fa5]+\]/g;

+ 29 - 8
user_ui/news/pages/news/detail.vue

@@ -16,7 +16,7 @@
 				<view class="flext mb15">
 					<view class="pltit flex0">评论<text>({{commenttotal}})</text></view>
 					<view class="flex1"></view>
-					<view class="pltitnum"><text>17</text>赞<text class="line">|</text><text>21</text> 分享</view>
+					<view class="pltitnum"><text>{{datainfo.userLikes}}</text>赞<text class="line">|</text><text>{{datainfo.userShare}}</text> 分享</view>
 
 				</view>
 				
@@ -33,9 +33,9 @@
 					</view>
 					
 					<view class="ndbfox flexc">
-						<view class="flexcc ndbflist" @touchend.prevent="getHfFna">
+						<view class="flexcc ndbflist" @touchend.prevent="getshareFn">
 							<image :src="share"></image>
-							<view>0</view>
+							<view>{{datainfo.userShare}}</view>
 						</view>
 						<view class="flexcc ndbflist" @touchend.prevent="getHfFna">
 							<image :src="nicona"></image>
@@ -64,7 +64,7 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import {newsDet} from "@/api/work/manage.js"
 	import boxList from "@/news/components/box/list.vue"
-	import {getRootComment,getParentComment,commentIndex,giveTheThumbs,getStars,commentContentPut,deletepl} from "@/api/work/news.js"
+	import {getRootComment,getParentComment,commentIndex,giveTheThumbs,getStars,commentContentPut,deletepl,setShare} from "@/api/work/news.js"
 	export default{
 		components:{boxList},
 		data(){
@@ -104,6 +104,7 @@
 				isfocus:false,
 				plinfo:'',//二级评论信息
 				bottom:0,
+				tenantId:this.$store.state.user.tenantId,
 			}
 		},
 		onLoad: function(e) {
@@ -141,6 +142,19 @@
 					 this.isRoot='1'
 				 }
 			 },
+			 // 分享
+			 getshareFn(){
+				 var params={
+					 communityId:this.id,
+					 tenantId:this.tenantId
+				 }
+				 setShare(params).then(res=>{
+					 if(res.code==200){
+						 this.$toast("分享成功")
+						 this.datainfo.userShare++
+					 }
+				 })
+			 },
 			 btns(){
 				 
 			 },
@@ -185,17 +199,17 @@
 				getParentComment(params).then(res=>{
 					if(res.code==200){
 						var reachflag=true;
-						if (res.data.length < obj.pageSize) {
+						if (res.rows.length < obj.pageSize) {
 							list.reachflag = false
 						} else {
-							var num = parseInt(res.data.length) + parseInt(obj.pageSize) * parseInt(obj.pageNum -	1)
+							var num = parseInt(res.rows.length) + parseInt(obj.pageSize) * parseInt(obj.pageNum -	1)
 							if (num < obj.childrenListCount) {
 								list.reachflag = true
 							} else {
 								list.reachflag = false
 							}
 						}
-						list.childrenList=list.childrenList.concat(res.data)
+						list.childrenList=list.childrenList.concat(res.rows)
 						list.pageNum=obj.pageNum++
 						this.commentlist.splice(idx,1,list)
 					}
@@ -210,6 +224,7 @@
 					avatar:this.avatar,
 					targetType:type,
 					communityId:this.id,
+					tenantId:this.tenantId
 				}
 				if(type==1){
 					params.targetId=this.id;
@@ -241,9 +256,11 @@
 								if(erobj.isLike=='Y'){
 									this.$toast("取消点赞成功");
 									erobj.isLike='N';
+									erobj.likeCount--;
 								}else{
 									this.$toast("点赞成功");
 									erobj.isLike='Y';
+									erobj.likeCount++;
 								}
 								obj.childrenList[aidx]=JSON.parse(JSON.stringify(erobj))
 								this.commentlist.splice(idx,1,obj)
@@ -251,9 +268,11 @@
 								if(obj.isLike=='Y'){
 									this.$toast("取消点赞成功");
 									obj.isLike='N';
+									obj.likeCount--;
 								}else{
 									this.$toast("点赞成功");
 									obj.isLike='Y';
+									obj.likeCount++;
 								}
 								this.commentlist.splice(idx,1,obj)
 							}
@@ -272,6 +291,7 @@
 					nickName:this.nickName,
 					avatar:this.avatar,
 					targetType:'1',//目标类型(1:社区 2:党建 )
+					tenantId:this.tenantId
 				}
 				params.targetId=this.id;
 				params.targetTitle=this.datainfo.communityTitle;
@@ -314,7 +334,8 @@
 					communityId:this.id,
 					communityType:this.datainfo.communityType,
 					communityTitle:this.datainfo.communityTitle,
-					commentContent:this.text,	
+					commentContent:this.text,
+					tenantId:this.tenantId
 				}
 				
 				if(this.isRoot==2){

+ 1 - 1
user_ui/news/pages/news/newsdj.vue

@@ -150,7 +150,7 @@
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
 					partyType:this.tabval,
-					status:'1'
+					status:'0'
 				}
 				partyNewsList(params).then(res=>{
 					if(res.code==200){

+ 1 - 1
user_ui/news/pages/news/newssq.vue

@@ -126,7 +126,7 @@
 				var params={
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
-					status:'1',
+					status:'0',
 					communityType:this.tabval
 				}
 				newsList(params).then(res=>{

+ 15 - 1
user_ui/pages.json

@@ -309,7 +309,21 @@
 			  "style": {
 			    "navigationBarTitleText": "编辑资料"
 			  }
-			}, {
+			},
+			{
+			  "path": "pages/info/authenadd",
+			  "style": {
+			    "navigationBarTitleText": "认证信息",
+				"h5":{"titleNView":false}
+			  }
+			},
+			{
+			  "path": "pages/info/authen",
+			  "style": {
+			    "navigationBarTitleText": "认证信息",
+				"h5":{"titleNView":false}
+			  }
+			},{
 			  "path": "pages/pwd/index",
 			  "style": {
 			    "navigationBarTitleText": "修改密码"

+ 25 - 8
user_ui/pages/index/index.vue

@@ -16,8 +16,8 @@
 			<view class="adrbox">
 				<view class="flexc mb14">
 					<image :src="adraimg" class="adr"></image>
-					<view class="adrtit">智慧<text>社区</text></view>
-					<view>
+					<view class="adrtit flex0">智慧<text>社区</text></view>
+					<view v-if="voList&&voList.length>1">
 						<w-select
 						      style="margin-left: 20rpx;" 
 						     v-model="chooseValue"
@@ -194,6 +194,7 @@ import footers from '@/components/footer/footer.vue'
 import notice from '@/components/swiper/notice.vue'
 import boxList from "@/components/box/list.vue"
 import popUp from "@/components/box/popup.vue"
+import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
 import {gettenantUserName,gettenantCheck} from "@/api/login.js"
 import {houseInfoList} from "@/api/work/work.js"
 import {gesettingsList,getCount} from "@/api/work/index.js"
@@ -201,6 +202,8 @@ import {selectValueKey} from "@/utils/common.js"
 import {newsList} from "@/api/work/manage.js"
 import self from '@/utils/location.js';
 import wSelect from "@/work/components/w-select/w-select.vue"
+import config from '@/config'
+const Clientid = config.Clientid
 import store from "@/store"
   export default {
 	components:{footers,notice,boxList,popUp,wSelect},
@@ -271,6 +274,10 @@ import store from "@/store"
 			this.backgroundColor = 'transparent'
 		}
 	},
+	onShow() {
+		this.initFace=this.$store.state.user.initFace;
+		// this.tenantId=this.$store.state.user.tenantId;
+	},
     onLoad: function() {
 		// 登录提示去除,登录页面,验证码不要,微信支付宝登录,快递,我的车辆,,
 		//房屋:房产证分开,我的房本 。物业报修:标题不要,报修门户,不是必填。联系方式:默认自己的。 列表查看详情,列表状态加个进度条,详情东西都在列表页展示,,类似快递形式,报修加评论。社区资讯:发表评论框小了,抄头条。访客,来访人数,5人以上,1,23456789,样式修改。来访时间,当前时间,来访事由,选择,来访门户,默认,,有驾车,在车牌号,手机号放上面,常用访客:家人信息。投诉建议和报修一样,交流回复。管家电话:点击s可以打,
@@ -283,10 +290,18 @@ import store from "@/store"
 		})
 		this.gettenantList()
 		// 获取房子
-		this.getDataFn()
-		this.gesettingsList()
-		this.getCount()
-		this.newsList();
+		if(checkPermi(['wuYe:houseInfo:list'])){
+			this.getDataFn()
+		}
+		if(checkPermi(['wuYe:settings:list'])){
+			this.gesettingsList()
+		}
+		if(checkPermi(['wuYe:statistics:yeZhuTips'])){
+			this.getCount()
+		}
+		if(checkPermi(['wuYe:news:list'])){
+			this.newsList()
+		}
 		// #ifndef H5
 		self.getLocation(function(res){
 			if(res==-1){
@@ -298,6 +313,7 @@ import store from "@/store"
 		// #endif
     },
 	methods:{
+		checkPermi,checkRole,
 		statusFormats(data, list,type) {
 			var aite=selectValueKey(list, data);
 			if(type=='tenant'){
@@ -371,7 +387,7 @@ import store from "@/store"
 							communityName:info.communityName,
 							detailedAddress:info.detailedAddress,
 						}
-						store.commit('SET_HOUSE', obj)
+						this.$store.commit('SET_HOUSE', obj)
 					}
 				}else{
 					this.$toast(res.msg)
@@ -418,7 +434,8 @@ import store from "@/store"
 			this.initFace='N';
 		},
 		getXxwsFn(){
-			this.$tab.navigateTo(`/mine/pages/house/addhouse`) 
+			var type='rz'
+			this.$tab.navigateTo(`/mine/pages/info/authenadd?type=${type}`) 
 		},
 		getNoticeDet(id){
 			this.$tab.navigateTo(`/news/pages/news/detail?id=${id}`) 

+ 16 - 3
user_ui/pages/mine/index.vue

@@ -18,7 +18,7 @@
 						</view>
 					</view>
 					<!-- <view class="txt">点击详情 享受更多精彩信息</view> -->
-					<view class="txt">{{house.communityName}}{{house.detailedAddress}}</view>
+					<view class="txt" v-if="house">{{house.communityName}}{{house.detailedAddress}}</view>
 					<!-- <view class="flexc pr" v-if="deptName">
 						<image :src="headl"></image>
 							<view class="txt">{{deptName}}点击登录 享受更多精彩信息</view>
@@ -60,6 +60,13 @@
 			</view>
 			<!-- v-if="checkPermi([''])" -->
 			<view class="mbgbox">
+				<view class="flexc mine_list" @click="getAuthFn" >
+					<view class="limg">
+						<image :src="listimgr" class="imgh"></image>
+					</view>
+					<view class="tit flex1">认证信息</view>
+					<image :src="rimg" class="rimg"></image>
+				</view>
 				<view class="flexc mine_list" @click="getFeeFn" v-if="checkPermi(['wuYe:fee:list'])">
 					<view class="limg">
 						<image :src="listimge" class="imga"></image>
@@ -192,7 +199,7 @@
 				listimgo: require('@/static/images/mine/mtabo.png'),
 				listimgp: require('@/static/images/mine/mtabp.png'),
 				listimgq: require('@/static/images/mine/mtabq.png'),
-
+				listimgr: require('@/static/images/mine/mtabr.png'),
 				head:require('@/static/images/mine/head.png'),
 				wrimg:require("@/static/images/mine/wrimg.png"),
 				rimg:require("@/static/images/rimg.png"),
@@ -249,7 +256,9 @@
 		},
 		mounted() {
 		}, 
-		
+		onShow() {
+			this.nickName=this.$store.state.user.nickName;
+		},
 		methods: {
 			checkPermi,checkRole,
 			getClockcontFn(){
@@ -258,6 +267,9 @@
 			// 设置
 			handleToSetting() {
 			},
+			getAuthFn(){//认证信息
+				this.$tab.navigateTo('/mine/pages/info/authen')
+			},
 			handleRepair(){//我的报修
 				this.$tab.navigateTo(`/work/pages/service/warranty`)  
 			},
@@ -421,6 +433,7 @@ page{background-color: #ffffff;}
 					.imge{width: 26rpx;height: 30rpx;}//13 15
 					.imgf{width: 26rpx;height: 32rpx;}//13 16
 					.imgg{width: 32rpx;height: 30rpx;}//16 15
+					.imgh{width: 28rpx;height: 32rpx;}//14 16
 				}
 				.tit{font-weight: bold;font-size: 26rpx;color: #272727;}
 				.txt{font-weight: 500;font-size: 26rpx;color: #666666;margin-left: 20rpx;flex: 0 0 auto;}

BIN
user_ui/static/images/mine/mtabr.png


+ 4 - 0
user_ui/store/modules/user.js

@@ -108,6 +108,10 @@ const user = {
 	checkInitFace({commit},data){
 		commit('SET_INITFACE', data)
 	},
+	//修改名称
+	checkName({commit},data){
+		commit('SET_NICKNAME', data)
+	},
 	//修改token
 	checkToken({commit},data){
 		setToken(data)

+ 2 - 2
user_ui/utils/common.js

@@ -263,10 +263,10 @@ export function uploadmore(api, filePaths, successUp, failUp, i, length, files,
 			let result = JSON.parse(resp.data)
 			const code = result.code || 200
 			const msg = errorCode[code] || result.msg || errorCode['default']
-			// console.log(result.fileName,8)
+			console.log(result.data,8)
 			if (result.code == 200) {
 				successUp++;
-				files[i] = result.fileName;
+				files[i] = result.data.fileName;
 			} else if(result.code==401) {
 				showConfirm("登录状态已过期,您可以继续留在该页面,或者重新登录?").then(res => {
 				  if (res.confirm) {

+ 2 - 0
user_ui/utils/upload.js

@@ -6,6 +6,7 @@ import { toast, showConfirm, tansParams } from '@/utils/common'
 
 let timeout = 10000
 const baseUrl = config.baseUrl
+const Clientid = config.Clientid
 
 const upload = config => {
   // 是否需要设置 token
@@ -13,6 +14,7 @@ const upload = config => {
   config.header = config.header || {}
   if (getToken() && !isToken) {
     config.header['Authorization'] = 'Bearer ' + getToken()
+	config.header['Clientid'] = Clientid
   }
   // get请求映射params参数
   if (config.params) {

+ 9 - 1
user_ui/work/components/w-select/w-select.vue

@@ -26,7 +26,7 @@
 		  @input="inputChange"
 		  @blur="blurChange"
 		  :placeholder="multiple ? multiSelectList.length === 0 ? defaultValue : '' : defaultValue"
-		  :disabled="!filterable"
+		  :disabled="!filterable||isdisabled"
 		  :style="!filterable ? 'pointer-events: none' : ''"
 		  :value="inputData"
 		>
@@ -190,6 +190,11 @@
 		type: String,
 		default: 'label'
 	  },
+	  // 禁止输入
+	  isdisabled:{
+		 type: Boolean,
+		 default: false
+	  },
 	  // 绑定的内容
 	  keyName: {
 		type: String,
@@ -293,6 +298,9 @@
 		}
 	  },
 	  changeShow () {
+		if(this.isdisabled){
+			return
+		}
 		this.isShow = !this.isShow
 		if (this.isShow === false) {
 		  this.filterList = this.list

+ 1 - 1
user_ui/work/pages/visitor/index.vue

@@ -13,7 +13,7 @@
 						<image :src="more"></image>
 					</view>
 				</view>
-				<view class="txt mb10 fw5">{{house.communityName}}{{house.detailedAddress}}</view>
+				<view class="txt mb10 fw5" v-if="house">{{house.communityName}}{{house.detailedAddress}}</view>
 				
 				<view class="txt">open the door</view>
 				<image :src="visbg" class="houseimg"></image>