Browse Source

样式修改

zouling 2 months ago
parent
commit
b4b3351380

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

@@ -140,4 +140,44 @@ export function deleteResident(data) {
     method: 'post',
     method: 'post',
 	'data':data
 	'data':data
   })
   })
+}
+
+
+// 常用访客-列表wuYe:frequentlyVisitorManage:list
+export function cyManageList(data) {
+  return request({
+    url: '/wuYe/frequentlyVisitorManage/list',
+    method: 'get',
+    data: data
+  })
+}
+// 常用访客-详情wuYe:frequentlyVisitorManage:query
+export function cyManageDet(data) {
+  return request({
+    url: '/wuYe/frequentlyVisitorManage/'+data,
+    method: 'get',
+  })
+}
+// 常用访客-新增wuYe:frequentlyVisitorManage:add
+export function cyManageAdd(data) {
+  return request({
+    url: '/wuYe/frequentlyVisitorManage',
+    method: 'post',
+    data: data
+  })
+}
+// 常用访客-修改wuYe:frequentlyVisitorManage:edit
+export function cyManagePut(data) {
+  return request({
+    url: '/wuYe/frequentlyVisitorManage/put',
+    method: 'post',
+    data: data
+  })
+}
+// 常用访客-删除wuYe:frequentlyVisitorManage:remove
+export function cyManageDel(data) {
+  return request({
+    url: '/wuYe/frequentlyVisitorManage/delete/'+data,
+    method: 'get',
+  })
 }
 }

+ 1 - 1
user_ui/health/pages/health/add.vue

@@ -174,7 +174,7 @@
 					// "residentId":"",//居住人员主键
 					// "residentId":"",//居住人员主键
 					"houseId":"",//关联房屋信息表的house_id
 					"houseId":"",//关联房屋信息表的house_id
 					// "userId":"",//关联sys_user表中user_id
 					// "userId":"",//关联sys_user表中user_id
-					"detailedAddress":"",//居住人员的详细门牌号
+					"detailedAddress":"",//居住人员的门牌号
 					"residentName":"",//居住人员姓名
 					"residentName":"",//居住人员姓名
 					"residentIdCard":"",//居住人员身份证号码,18位
 					"residentIdCard":"",//居住人员身份证号码,18位
 					"residentBirthday":"",//居住人员出生日期
 					"residentBirthday":"",//居住人员出生日期

+ 6 - 1
user_ui/mine/pages/car/addcar.vue

@@ -152,7 +152,7 @@
 				datainfo:{
 				datainfo:{
 					// "carId":"",//业主车辆主键
 					// "carId":"",//业主车辆主键
 					"houseId":"",//房屋信息id
 					"houseId":"",//房屋信息id
-					"detailedAddress":"",//房屋的详细门牌号
+					"detailedAddress":"",//房屋的门牌号
 					// "userId":"",//用户id
 					// "userId":"",//用户id
 					"residentId":"",//居住人员表id
 					"residentId":"",//居住人员表id
 					// "userName":"",//业主姓名
 					// "userName":"",//业主姓名
@@ -481,6 +481,7 @@
 				let that = this;
 				let that = this;
 				let i = 7;
 				let i = 7;
 				let rt = { i: -1, isempty: false, val: "" };
 				let rt = { i: -1, isempty: false, val: "" };
+				console.log(that.isPower,22)
 				if (that.isPower) {
 				if (that.isPower) {
 					i = 8;
 					i = 8;
 				}
 				}
@@ -506,6 +507,7 @@
 					}else{
 					}else{
 						this.datainfo.vehicleEnergy='燃油车'
 						this.datainfo.vehicleEnergy='燃油车'
 					}
 					}
+					console.log(ck.val,1)
 					return ck.val
 					return ck.val
 				} else {
 				} else {
 					// 显示键盘输入
 					// 显示键盘输入
@@ -527,6 +529,9 @@
 				})
 				})
 				if(newArr.length==8){
 				if(newArr.length==8){
 					this.isPower=true;
 					this.isPower=true;
+				}else{
+					list[7].val="";
+					this.isPower=false;
 				}
 				}
 				this.carInput=JSON.parse(JSON.stringify(list))
 				this.carInput=JSON.parse(JSON.stringify(list))
 			}
 			}

+ 5 - 5
user_ui/mine/pages/house/addhouse.vue

@@ -78,9 +78,9 @@
 							<view class="rimg"></view>
 							<view class="rimg"></view>
 						</view>
 						</view>
 					</uni-forms-item>
 					</uni-forms-item>
-					<uni-forms-item label="详细门牌号" required name="xxaddress">
+					<uni-forms-item label="门牌号" required name="xxaddress">
 						<view class="flexc">
 						<view class="flexc">
-							<uni-easyinput :disabled="isdisabled" v-model="datainfo.xxaddress" :inputBorder='false' placeholder="请输入详细门牌号" />
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.xxaddress" :inputBorder='false' placeholder="请输入门牌号" />
 							<view class="rimg"></view>
 							<view class="rimg"></view>
 						</view>
 						</view>
 					</uni-forms-item>
 					</uni-forms-item>
@@ -238,7 +238,7 @@
 					 "usagePeriod":"",//房屋使用期限
 					 "usagePeriod":"",//房屋使用期限
 					 "registrationDate":"",//房屋登记日期
 					 "registrationDate":"",//房屋登记日期
 					 "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
 					 "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
-					 "detailedAddress":"",//房屋的详细门牌号
+					 "detailedAddress":"",//房屋的门牌号
 					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
 					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
 					 "communityName":"",//房屋所在小区名称
 					 "communityName":"",//房屋所在小区名称
 					 "houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
 					 "houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
@@ -247,7 +247,7 @@
 				},
 				},
 				rules: {
 				rules: {
 				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
 				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
-				  // detailedAddress: {rules: [{required: true,errorMessage: '请输入详细门牌号' }]},
+				  // detailedAddress: {rules: [{required: true,errorMessage: '请输入门牌号' }]},
 				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
 				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
 				},
 				},
 				id:'',
 				id:'',
@@ -397,7 +397,7 @@
 						return
 						return
 					}
 					}
 					if(!params.xxaddress){
 					if(!params.xxaddress){
-						this.$toast("请输入详细门牌号")
+						this.$toast("请输入门牌号")
 						return
 						return
 					}
 					}
 					params.detailedAddress=`${params.loudong?params.loudong+'栋':''}` + `${params.danyuan?params.danyuan+'单元':''}` + params.xxaddress;
 					params.detailedAddress=`${params.loudong?params.loudong+'栋':''}` + `${params.danyuan?params.danyuan+'单元':''}` + params.xxaddress;

+ 2 - 2
user_ui/mine/pages/house/housedetail.vue

@@ -155,7 +155,7 @@
 					 "usagePeriod":"",//房屋使用期限
 					 "usagePeriod":"",//房屋使用期限
 					 "registrationDate":"",//房屋登记日期
 					 "registrationDate":"",//房屋登记日期
 					 "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
 					 "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
-					 "detailedAddress":"",//房屋的详细门牌号
+					 "detailedAddress":"",//房屋的门牌号
 					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
 					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
 					 "communityName":"",//房屋所在小区名称
 					 "communityName":"",//房屋所在小区名称
 					 "houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
 					 "houseStatus":"",//房屋状态:1-自住,2-出租,3-空闲,4-待售
@@ -163,7 +163,7 @@
 				},
 				},
 				rules: {
 				rules: {
 				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
 				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
-				  detailedAddress: {rules: [{required: true,errorMessage: '请输入详细门牌号' }]},
+				  detailedAddress: {rules: [{required: true,errorMessage: '请输入门牌号' }]},
 				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
 				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
 				},
 				},
 				id:'',
 				id:'',

+ 29 - 29
user_ui/mine/pages/info/authenadd.vue

@@ -101,8 +101,9 @@
 													<uni-easyinput  disabled  v-model="datainfo.idCardAddress"  :inputBorder='false' placeholder="自动识别" />	
 													<uni-easyinput  disabled  v-model="datainfo.idCardAddress"  :inputBorder='false' placeholder="自动识别" />	
 												</view>
 												</view>
 											</uni-forms-item>
 											</uni-forms-item>
+											<!-- required -->
 											<picker range-key='dictLabel' :disabled="isdisabled" :value="rymmidx" :range="rymmList"   @change='bindDateChangef'>
 											<picker range-key='dictLabel' :disabled="isdisabled" :value="rymmidx" :range="rymmList"   @change='bindDateChangef'>
-												<uni-forms-item label="人员面貌" required name="residentAppearance">
+												<uni-forms-item label="人员面貌"  name="residentAppearance">
 													<view class="flexc mh35">
 													<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 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="flex1 txr f13" v-else :class="rymm?'co27':'coa'">{{rymm||"请选择人员面貌"}}</view>
@@ -296,7 +297,7 @@
 	import {uploadIdentify,uploadmore} from '@/utils/common.js'
 	import {uploadIdentify,uploadmore} from '@/utils/common.js'
 	import {listNoPageTenant,houseInfoDet} from "@/api/work/work.js"
 	import {listNoPageTenant,houseInfoDet} from "@/api/work/work.js"
 	import {gettenantList} from "@/api/login.js"
 	import {gettenantList} from "@/api/login.js"
-	import {residentInfoAdd,residentInfoPut,authentication} from "@/api/work/people.js"
+	import {residentInfoAdd,residentInfoPut,authentication,addResidentInfo} from "@/api/work/people.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
 	import {selectValueKey} from "@/utils/common.js"
 	import {selectValueKey} from "@/utils/common.js"
 	import {getOcrIdCard,getrealEstateCertificatee} from "@/api/system/card.js"
 	import {getOcrIdCard,getrealEstateCertificatee} from "@/api/system/card.js"
@@ -315,28 +316,28 @@
 				backgroundColor: "transparent",
 				backgroundColor: "transparent",
 				value:'',
 				value:'',
 				datainfo: {
 				datainfo: {
-					"tenantId":"",//租户id
-					"residentType":"",//人员类型:1:业主 2:租户 3:其他
-					"residentName":"",//居住人员姓名
-					"residentPhone":"",//人员手机号
+					"tenantId":'',//租户id
+					"residentType":null,//人员类型:1:业主 2:租户 3:其他
+					"residentName":null,//居住人员姓名
+					"residentPhone":null,//人员手机号
 					"houseInfoRedidentList":[],//用户房屋信息集合
 					"houseInfoRedidentList":[],//用户房屋信息集合
-					"houseId":"",//关联房屋信息表的house_id
-					"residentRelationship":"",//居住人员与户主的关系,如父子、夫妻等
-					"isHouseholder":"",//是否是户主 N不是 Y是
+					"houseId":null,//关联房屋信息表的house_id
+					"residentRelationship":null,//居住人员与户主的关系,如父子、夫妻等
+					"isHouseholder":null,//是否是户主 N不是 Y是
 					
 					
-					"residentIdCard":"",//居住人员身份证号码,18位
-					// "residentBirthday":"",//居住人员出生日期
+					"residentIdCard":null,//居住人员身份证号码,18位
+					// "residentBirthday":null,//居住人员出生日期
 					"residentGender":'',//居住人员性别:1-男,2-女
 					"residentGender":'',//居住人员性别:1-男,2-女
 					
 					
-					// "isTenant":"",//是否是租户:Y-是,N-否
-					"residentEmployer":"",//居住人员工作单位
-					"residentAppearance":"",//居住人员面貌,如党员、群众等
-					"residentHobby":"",//爱好
-					"facePhoto":"",//人脸地址
-					"idCardAddress":"",//身份证住址
-					"specialType":"",//特殊类型
-					"idCardFront":"",//身份证正面
-					"idCardBack":"",//身份证反面
+					// "isTenant":null,//是否是租户:Y-是,N-否
+					"residentEmployer":null,//居住人员工作单位
+					"residentAppearance":null,//居住人员面貌,如党员、群众等
+					"residentHobby":null,//爱好
+					"facePhoto":null,//人脸地址
+					"idCardAddress":null,//身份证住址
+					"specialType":null,//特殊类型
+					"idCardFront":null,//身份证正面
+					"idCardBack":null,//身份证反面
 				},
 				},
 				rules:{
 				rules:{
 					residentType: {rules: [{required: true,errorMessage: '请选择人人员类型' }]},
 					residentType: {rules: [{required: true,errorMessage: '请选择人人员类型' }]},
@@ -919,15 +920,14 @@
 										that.getOcrIdCard(obj)
 										that.getOcrIdCard(obj)
 									}
 									}
 								}else{
 								}else{
-									that.houserinfo.houseImage=resurl.fileName
-								}
-								
-								// if(rs&&rs.length>0){
-								// 	var obj={
-								// 		url:resurl.urlOnline
-								// 	}
-								// 	that.getOcrIdCardfz(obj)
-								// }
+									that.houserinfo.houseImage=resurl.fileName;
+									if(rs&&rs.length>0){
+										var obj={
+											url:resurl.urlOnline
+										}
+										that.getOcrIdCardfz(obj)
+									}
+								}	
 							})
 							})
 						}
 						}
 					}
 					}

+ 10 - 9
user_ui/news/components/box/list.vue

@@ -30,10 +30,11 @@
 						</swiper-item>
 						</swiper-item>
 					</swiper>
 					</swiper>
 					<view class="toptit mb10">{{ite.content}}</view>
 					<view class="toptit mb10">{{ite.content}}</view>
-					<view class="walist"><view class="tit">提交时间</view>:{{ite.createTime}}</view>
-					<view class="btns">
-						<view class="btn btna" v-if="checkPermi(['wuYe:suggestion:remove'])"  @click.stop="getDelFn(ite.suggestionId)">删除</view>
-						<!-- <view class="btn btnb" v-if="checkPermi(['wuYe:suggestion:edit'])&&ite.status==1">回复</view> -->
+					<view class="flexcw">
+						<view class="walist"><view class="tit">提交时间</view>:{{ite.pushTime}}</view>
+						<view class="btns">
+							<view class="btn btna" v-if="checkPermi(['wuYe:suggestion:remove'])"  @click.stop="getDelFn(ite.suggestionId)">删除</view>
+						</view>
 					</view>
 					</view>
 				</view>
 				</view>
 				<view class="bxsteps">
 				<view class="bxsteps">
@@ -52,7 +53,7 @@
 											<image :src="cira" class="imga"></image>
 											<image :src="cira" class="imga"></image>
 										</view>
 										</view>
 										<view class="flex1">
 										<view class="flex1">
-											<view class="hfstit co01">已回复 <text>回复时间</text></view>
+											<view class="hfstit co01">已回复 <text>{{ite.replyTime}}</text></view>
 											<view class="hfstxt">{{ite.replyContent}}</view>
 											<view class="hfstxt">{{ite.replyContent}}</view>
 											<!-- 附件 -->
 											<!-- 附件 -->
 											<block v-if="ite.suggestionFjList">
 											<block v-if="ite.suggestionFjList">
@@ -74,7 +75,7 @@
 											<image :src="cirb" class="imgb" v-else></image>
 											<image :src="cirb" class="imgb" v-else></image>
 										</view>
 										</view>
 										<view class="flex1">
 										<view class="flex1">
-											<view class="hfstit">已提交 <text>{{ite.createTime}}</text></view>
+											<view class="hfstit">已提交 <text>{{ite.pushTime}}</text></view>
 											<view class="hfstxt">您的投诉建议已提交,请耐心等待</view>
 											<view class="hfstxt">您的投诉建议已提交,请耐心等待</view>
 										</view>
 										</view>
 									</view>
 									</view>
@@ -126,7 +127,7 @@
 		<!-- 评论信息 -->
 		<!-- 评论信息 -->
 		<block v-if="type=='comment'">
 		<block v-if="type=='comment'">
 			<view class="pllist flex" v-for="(ite,idx) in datainfo" :key="`yj${idx}`">
 			<view class="pllist flex" v-for="(ite,idx) in datainfo" :key="`yj${idx}`">
-				<image :src="ite.commentUser.avatar?baseUrl+ite.commentUser.avatar:head" class="head"></image>
+				<image :src="ite.commentUser.avatar&&ite.commentUser.avatar.indexOf('/static/img/profile')==-1?baseUrl+ite.commentUser.avatar:head" class="head"></image>
 				<view class="flex1 overh">
 				<view class="flex1 overh">
 					<view class="flexat mb9 ">
 					<view class="flexat mb9 ">
 						<view class="plname flex1 over">{{ite.commentUser.nickName}}</view>
 						<view class="plname flex1 over">{{ite.commentUser.nickName}}</view>
@@ -650,8 +651,8 @@ color: #161616;}
 		.walist{display: flex;font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 16rpx;
 		.walist{display: flex;font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 16rpx;
 			.tit{min-width: 100rpx;text-align-last: justify}
 			.tit{min-width: 100rpx;text-align-last: justify}
 		}
 		}
-		.btns{position: absolute;right: 26rpx;bottom: 20rpx;}
-		.btn{min-width: 120rpx;height: 54rpx;border-radius: 26rpx;font-weight: 500;font-size: 26rpx;text-align: center;line-height: 54rpx;padding: 0 10rpx;box-sizing: border-box; margin-bottom: 14rpx;
+		.btns{display: flex;flex-wrap: wrap;justify-content: flex-end;flex: 1 0 auto;}
+		.btn{min-width: 120rpx;height: 54rpx;border-radius: 26rpx;font-weight: 500;font-size: 26rpx;text-align: center;line-height: 54rpx;padding: 0 10rpx;box-sizing: border-box; margin-bottom: 14rpx;margin-left: 12rpx;
 			&.btna{border: 2rpx solid #FF6969;background: #FFF8F8;color: #FF6969;}
 			&.btna{border: 2rpx solid #FF6969;background: #FFF8F8;color: #FF6969;}
 			&.btnb{background: #0256FD;color: #FFFFFF;}
 			&.btnb{background: #0256FD;color: #FFFFFF;}
 		}
 		}

+ 2 - 2
user_ui/news/pages/complaint/add.vue

@@ -78,11 +78,11 @@
 				del:require('@/work/static/service/rdel.png'),
 				del:require('@/work/static/service/rdel.png'),
 				datainfo:{
 				datainfo:{
 					// "suggestionId":"投诉建议ID",
 					// "suggestionId":"投诉建议ID",
-					"title":"",//投诉建议标题
+					// "title":"",//投诉建议标题
 					"content":"",//投诉建议内容
 					"content":"",//投诉建议内容
 					"images":"",//投诉照片
 					"images":"",//投诉照片
 					// "status":"投诉建议状态:pending(待回复)、replied(已回复)",
 					// "status":"投诉建议状态:pending(待回复)、replied(已回复)",
-					"replyContent":"",//投诉建议的回复内容
+					// "replyContent":"",//投诉建议的回复内容
 					// "type":"投诉建议类型",
 					// "type":"投诉建议类型",
 					// "isPublic":"投诉建议是否公开:Y(公开)、N(不公开)",
 					// "isPublic":"投诉建议是否公开:Y(公开)、N(不公开)",
 					// "isDel":"是否删除:Y(删除)、N(不删除)"
 					// "isDel":"是否删除:Y(删除)、N(不删除)"

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

@@ -428,7 +428,7 @@
 </style>
 </style>
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .ndetail{
 .ndetail{
-	min-height: 100vh;padding: 20rpx 18rpx 100rpx;
+	min-height: 100vh;padding: 20rpx 18rpx 260rpx;
 	.ndbox{background: #FFFFFF;border-radius: 20rpx;padding-top: 30rpx;padding-bottom: 20rpx;
 	.ndbox{background: #FFFFFF;border-radius: 20rpx;padding-top: 30rpx;padding-bottom: 20rpx;
 		.tit{font-weight: bold;font-size: 32rpx;color: #272727;margin-bottom: 14rpx;text-align: center;padding-top: 4rpx;}
 		.tit{font-weight: bold;font-size: 32rpx;color: #272727;margin-bottom: 14rpx;text-align: center;padding-top: 4rpx;}
 		.time{font-weight: 500;font-size: 24rpx;color: #AAAAAA;text-align: center;}
 		.time{font-weight: 500;font-size: 24rpx;color: #AAAAAA;text-align: center;}

+ 15 - 15
user_ui/pages/index/index.vue

@@ -44,21 +44,21 @@
 				<!-- v-if="checkPermi(['system:application:list'])" -->
 				<!-- v-if="checkPermi(['system:application:list'])" -->
 				<swiper-item>
 				<swiper-item>
 					<view class="grid">
 					<view class="grid">
-						<view class="grid-item-box" @click="getHouseFn" >
+						<view class="grid-item-box" @click="getHouseFn" v-if="checkPermi(['wuYe:houseInfo:list'])">
 							<view class="img"><image :src="htabi" class="imgf"></image></view>
 							<view class="img"><image :src="htabi" class="imgf"></image></view>
 							<view>我的房屋<text class="co05">(
 							<view>我的房屋<text class="co05">(
 								<block v-if="count.houseCount>98">99+</block>
 								<block v-if="count.houseCount>98">99+</block>
 								<block v-else>{{count.houseCount||0}}</block>
 								<block v-else>{{count.houseCount||0}}</block>
 							)</text></view>
 							)</text></view>
 						</view>
 						</view>
-						<view class="grid-item-box" @click="getCarFn" >
+						<view class="grid-item-box" @click="getCarFn" v-if="checkPermi(['wuYe:car:list'])">
 							<view class="img"><image :src="htabj" class="imgg"></image></view>
 							<view class="img"><image :src="htabj" class="imgg"></image></view>
 							<view>我的车辆<text class="co05">(
 							<view>我的车辆<text class="co05">(
 								<block v-if="count.carCount>98">99+</block>
 								<block v-if="count.carCount>98">99+</block>
 								<block v-else>{{count.carCount||0}}</block>
 								<block v-else>{{count.carCount||0}}</block>
 							)</text></view>
 							)</text></view>
 						</view>
 						</view>
-						<view class="grid-item-box" @click="getWarrantyFn" >
+						<view class="grid-item-box" @click="getWarrantyFn" v-if="checkPermi(['wuYe:repair:list'])">
 							<view class="img"><image :src="htabb" class="imga"></image></view>
 							<view class="img"><image :src="htabb" class="imga"></image></view>
 							<view>物业报修
 							<view>物业报修
 								<view class="cir">
 								<view class="cir">
@@ -68,7 +68,7 @@
 							</view>
 							</view>
 						</view>
 						</view>
 						
 						
-						<view class="grid-item-box" @click="getNewsFn" >
+						<view class="grid-item-box" @click="getNewsFn" v-if="checkPermi(['wuYe:news:list'])">
 							<view class="img"><image :src="htabd" class="imgb"></image></view>
 							<view class="img"><image :src="htabd" class="imgb"></image></view>
 							<view>社区资讯<view class="cir">
 							<view>社区资讯<view class="cir">
 								<block v-if="count.commentInteractionUserCount>98">99+</block>
 								<block v-if="count.commentInteractionUserCount>98">99+</block>
@@ -86,22 +86,22 @@
 								<block v-else>{{count.contentCount||0}}</block>
 								<block v-else>{{count.contentCount||0}}</block>
 							)</text></view>
 							)</text></view>
 						</view>
 						</view>
-						<view class="grid-item-box" @click="getNewsDjFn" >
+						<view class="grid-item-box" @click="getNewsDjFn" v-if="checkPermi(['wuYe:partyNews:list'])">
 							<view class="img"><image :src="htabe" class="imgc"></image></view>
 							<view class="img"><image :src="htabe" class="imgc"></image></view>
 							<view>党建资讯</view>
 							<view>党建资讯</view>
 						</view>
 						</view>
-						<view class="grid-item-box" @click="getComplaintFn" >
+						<view class="grid-item-box" @click="getComplaintFn" v-if="checkPermi(['wuYe:suggestion:list'])">
 							<view class="img"><image :src="htabf" class="imgd"></image></view>
 							<view class="img"><image :src="htabf" class="imgd"></image></view>
 							<view>投诉建议<view class="cir">
 							<view>投诉建议<view class="cir">
 								<block v-if="count.complaintSuggestion>98">99+</block>
 								<block v-if="count.complaintSuggestion>98">99+</block>
 								<block v-else>{{count.complaintSuggestion||0}}</block>
 								<block v-else>{{count.complaintSuggestion||0}}</block>
 							</view></view>
 							</view></view>
 						</view>
 						</view>
-						<view class="grid-item-box" @click="getVisitorFn" >
+						<view class="grid-item-box" @click="getVisitorFn" v-if="checkPermi(['wuYe:reservRecord:add'])">
 							<view class="img"><image :src="htabg" class="imge"></image></view>
 							<view class="img"><image :src="htabg" class="imge"></image></view>
 							<view>访客邀请</view>
 							<view>访客邀请</view>
 						</view>
 						</view>
-						<view class="grid-item-box" @click="getWygjFn" >
+						<view class="grid-item-box" @click="getWygjFn" v-if="checkPermi(['wuYe:settings:list'])">
 							<view class="img"><image :src="htabh" class="imga"></image></view>
 							<view class="img"><image :src="htabh" class="imga"></image></view>
 							<view>联系管家</view>
 							<view>联系管家</view>
 						</view>
 						</view>
@@ -381,13 +381,13 @@ import store from "@/store"
 				if(res.code==200){
 				if(res.code==200){
 					this.houselist = JSON.parse(JSON.stringify(res.rows));
 					this.houselist = JSON.parse(JSON.stringify(res.rows));
 					if(res.rows&&res.rows.length){
 					if(res.rows&&res.rows.length){
-						var info=res.rows[0];
-						var obj={
-							houseId:info.houseId,
-							communityName:info.communityName,
-							detailedAddress:info.detailedAddress,
-						}
-						this.$store.commit('SET_HOUSE', obj)
+						// var info=res.rows[0];
+						// var obj={
+						// 	houseId:info.houseId,
+						// 	communityName:info.communityName,
+						// 	detailedAddress:info.detailedAddress,
+						// }
+						// this.$store.commit('SET_HOUSE', obj)
 					}
 					}
 				}else{
 				}else{
 					this.$toast(res.msg)
 					this.$toast(res.msg)

+ 29 - 10
user_ui/utils/common.js

@@ -215,15 +215,25 @@ export function uploadIdentify(api, filePaths, successUp, failUp, i, length, fil
 			failUp++;
 			failUp++;
 		},
 		},
 		complete: function(rsp) {
 		complete: function(rsp) {
+			let rspa = JSON.parse(rsp.data)
 			// console.log(rsp, filePaths[i])
 			// console.log(rsp, filePaths[i])
 			uni.hideLoading();
 			uni.hideLoading();
 			i++;
 			i++;
 			if (i == length) {
 			if (i == length) {
-				uni.showToast({
-					title: '上传成功',
-					icon: 'none',
-					duration: 2000
-				});
+				if(rspa.code==200){
+					uni.showToast({
+						title: '上传成功',
+						icon: 'none',
+						duration: 2000
+					});
+				}else{
+					uni.showToast({
+						title: rspa.msg,
+						icon: 'none',
+						duration: 2000
+					});
+				}
+				
 				callback(files);
 				callback(files);
 			} else { //递归调用upload函数
 			} else { //递归调用upload函数
 				uploadIdentify(api, filePaths, successUp, failUp, i, length, files, callback);
 				uploadIdentify(api, filePaths, successUp, failUp, i, length, files, callback);
@@ -287,14 +297,23 @@ export function uploadmore(api, filePaths, successUp, failUp, i, length, files,
 			failUp++;
 			failUp++;
 		},
 		},
 		complete: function(rsp) {
 		complete: function(rsp) {
+			let rspa = JSON.parse(rsp.data)
 			uni.hideLoading();
 			uni.hideLoading();
 			i++;
 			i++;
 			if (i == length) {
 			if (i == length) {
-				uni.showToast({
-					title: '上传成功',
-					icon: 'none',
-					duration: 2000
-				});
+				if(rspa.code==200){
+					uni.showToast({
+						title: '上传成功',
+						icon: 'none',
+						duration: 2000
+					});
+				}else{
+					uni.showToast({
+						title: rspa.msg,
+						icon: 'none',
+						duration: 2000
+					});
+				}
 				callback(files);
 				callback(files);
 			} else { //递归调用upload函数
 			} else { //递归调用upload函数
 				uploadmore(api, filePaths, successUp, failUp, i, length, files, callback);
 				uploadmore(api, filePaths, successUp, failUp, i, length, files, callback);

+ 26 - 10
user_ui/work/components/box/list.vue

@@ -15,11 +15,12 @@
 					<view class="toptit mb10">{{ite.repairDetails}}</view>
 					<view class="toptit mb10">{{ite.repairDetails}}</view>
 					<view class="walist"><view class="tit">项目</view>:{{kaType(ite.maintenanceCategory,bxlbList)}}</view>
 					<view class="walist"><view class="tit">项目</view>:{{kaType(ite.maintenanceCategory,bxlbList)}}</view>
 					<view class="walist"><view class="tit">报修门户</view>:{{ite.houseAddress}}</view>
 					<view class="walist"><view class="tit">报修门户</view>:{{ite.houseAddress}}</view>
-					<view class="walist"><view class="tit">报修时间</view>:{{ite.repairTime}}</view>
-					<!-- <view class="walist" v-if="ite.type==3"><view class="tit" >完成时间</view>:{{ite.completionTime}}</view> -->
-					<view class="btns">
-						<view class="btn btna" v-if="checkPermi(['wuYe:repair:remove'])&&ite.repairStatus<2" @click.stop="getDelFn(ite.repairId)">删除</view>
-						<!-- <view class="btn btnb" v-if="checkPermi(['wuYe:repair:assign'])&&ite.repairStatus==1">指派</view> -->
+					<view class="flexcw">
+						<view class="walist"><view class="tit">报修时间</view>:{{ite.repairTime}}</view>
+						<!-- <view class="walist" v-if="ite.type==3"><view class="tit" >完成时间</view>:{{ite.completionTime}}</view> -->
+						<view class="btns">
+							<view class="btn btna" v-if="checkPermi(['wuYe:repair:remove'])&&ite.repairStatus<2" @click.stop="getDelFn(ite.repairId)">删除</view>
+						</view>
 					</view>
 					</view>
 				</view>
 				</view>
 				<view class="bxsteps">
 				<view class="bxsteps">
@@ -41,8 +42,8 @@
 										<view class="flex1">
 										<view class="flex1">
 											<view class="hfstit co01">已完成 <text>{{ite.completionTime}}</text></view>
 											<view class="hfstit co01">已完成 <text>{{ite.completionTime}}</text></view>
 											<view class="hfstxt">【{{ite.staffName}} {{ite.staffPhone}}】已完成报修业务</view>
 											<view class="hfstxt">【{{ite.staffName}} {{ite.staffPhone}}】已完成报修业务</view>
-											<view class="hfimgs flexcw">
-												<image :src="cira"></image>
+											<view class="hfimgs flexcw" v-if="ite.completionPhoto&&ite.completionPhoto.length">
+												<image :src="baseUrl+aite" @click="getPreviewImage(ite.completionPhoto,aidx)" v-for="(aite,aidx) in ite.completionPhoto" :key="aidx"></image>
 											</view>
 											</view>
 										</view>
 										</view>
 									</view>
 									</view>
@@ -54,6 +55,9 @@
 										<view class="flex1">
 										<view class="flex1">
 											<view class="hfstit">处理中 <text>{{ite.visitTime}}</text></view>
 											<view class="hfstit">处理中 <text>{{ite.visitTime}}</text></view>
 											<view class="hfstxt">【{{ite.staffName}} {{ite.staffPhone}}】已上门处理中</view>
 											<view class="hfstxt">【{{ite.staffName}} {{ite.staffPhone}}】已上门处理中</view>
+											<view class="hfimgs flexcw" v-if="ite.visitPhoto&&ite.visitPhoto.length">
+												<image :src="baseUrl+aite" @click="getPreviewImage(ite.visitPhoto,aidx)" v-for="(aite,aidx) in ite.visitPhoto" :key="aidx"></image>
+											</view>
 										</view>
 										</view>
 									</view>
 									</view>
 									<view class="hfslist flex" v-if="ite.repairStatus>1">
 									<view class="hfslist flex" v-if="ite.repairStatus>1">
@@ -63,7 +67,7 @@
 										</view>
 										</view>
 										<view class="flex1">
 										<view class="flex1">
 											<view class="hfstit">待上门 <text>{{ite.assignTime}}</text></view>
 											<view class="hfstit">待上门 <text>{{ite.assignTime}}</text></view>
-											<view class="hfstxt">您的报修申请已派于【{{ite.staffName}} {{ite.staffPhone}}】处理</view>
+											<view class="hfstxt">您的报修申请已派于<text @click.stop="getPhoneFn(ite.staffPhone)">【{{ite.staffName}} {{ite.staffPhone}}】</text>处理</view>
 										</view>
 										</view>
 									</view>
 									</view>
 									<view class="hfslist flex" >
 									<view class="hfslist flex" >
@@ -245,6 +249,11 @@
 				}
 				}
 				
 				
 			},
 			},
+			getPhoneFn(phone){
+				uni.makePhoneCall({
+					phoneNumber: phone //仅为示例
+				});
+			},
 			getDelFn(id){
 			getDelFn(id){
 				var that=this;
 				var that=this;
 				uni.showModal({
 				uni.showModal({
@@ -416,8 +425,8 @@ font-size: 26rpx;color: #272727;display: flex;line-height: 34rpx;
 		.walist{display: flex;font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 16rpx;
 		.walist{display: flex;font-weight: 500;font-size: 26rpx;color: #666666;margin-bottom: 16rpx;
 			.tit{min-width: 100rpx;text-align-last: justify}
 			.tit{min-width: 100rpx;text-align-last: justify}
 		}
 		}
-		.btns{position: absolute;right: 26rpx;bottom: 20rpx;}
-		.btn{min-width: 120rpx;height: 54rpx;border-radius: 26rpx;font-weight: 500;font-size: 26rpx;text-align: center;line-height: 54rpx;padding: 0 10rpx;box-sizing: border-box; margin-bottom: 14rpx;
+		.btns{display: flex;flex-wrap: wrap;justify-content: flex-end;flex: 1 0 auto;}
+		.btn{min-width: 120rpx;height: 54rpx;border-radius: 26rpx;font-weight: 500;font-size: 26rpx;text-align: center;line-height: 54rpx;padding: 0 10rpx;box-sizing: border-box; margin-bottom: 14rpx;margin-left: 12rpx;
 			&.btna{border: 2rpx solid #FF6969;background: #FFF8F8;color: #FF6969;}
 			&.btna{border: 2rpx solid #FF6969;background: #FFF8F8;color: #FF6969;}
 			&.btnb{background: #0256FD;color: #FFFFFF;}
 			&.btnb{background: #0256FD;color: #FFFFFF;}
 		}
 		}
@@ -428,6 +437,13 @@ font-size: 26rpx;color: #272727;display: flex;line-height: 34rpx;
 				view{font-weight: bold;font-size: 28rpx;color: #272727;}
 				view{font-weight: bold;font-size: 28rpx;color: #272727;}
 				.upimg{width: 22rpx;height: 14rpx;flex: 0 0 auto;margin-left: 12rpx;transform: rotate(180deg);transition: all 0.3s;}
 				.upimg{width: 22rpx;height: 14rpx;flex: 0 0 auto;margin-left: 12rpx;transform: rotate(180deg);transition: all 0.3s;}
 		}
 		}
+		.fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 20rpx;
+				&:last-child{margin-bottom: 0;}
+				.imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;flex: 0 0 auto;
+					image{width: 26rpx;height: 24rpx;}
+				}
+				.tit{font-size: 26rpx;color: #222327;font-weight: 500;margin-top: 4rpx;word-break: break-all;}
+			}
 		.hfstep{padding: 0 32rpx 30rpx 36rpx;margin-top: 24rpx;
 		.hfstep{padding: 0 32rpx 30rpx 36rpx;margin-top: 24rpx;
 			.hfslist{padding-bottom: 20rpx;position: relative;
 			.hfslist{padding-bottom: 20rpx;position: relative;
 				&:first-child{
 				&:first-child{

+ 6 - 4
user_ui/work/components/w-select/w-select.vue

@@ -440,13 +440,15 @@
 		}
 		}
 	  }
 	  }
 	  .close-icon {
 	  .close-icon {
-		position: absolute;
-		top: 50%;
-		right: 7px;
+		// position: absolute;
+		// top: 50%;
+		// right: 7px;
+		display: inline-block;
+		// margin-top: 50%;
 		z-index: 1000;
 		z-index: 1000;
 		width: 15px;
 		width: 15px;
 		height: 15px;
 		height: 15px;
-		transform: translateY(-50%);
+		// transform: translateY(-50%);
 		image {
 		image {
 		  width: 100%;
 		  width: 100%;
 		  height: 100%;
 		  height: 100%;

+ 7 - 3
user_ui/work/pages/service/warranty.vue

@@ -50,8 +50,7 @@
 				reachflag: true,
 				reachflag: true,
 				wtdt:'',
 				wtdt:'',
 				tabval:'-1',
 				tabval:'-1',
-				// tablist:[{tit:'全部报修',val:-1}],
-				tablist:[],
+				tablist:[{tit:'全部报修',val:-1}],
 				bxztList:[],
 				bxztList:[],
 				bxlbList:[],
 				bxlbList:[],
 				userId:this.$store.state.user.userId,
 				userId:this.$store.state.user.userId,
@@ -87,7 +86,6 @@
 								val: v.dictValue
 								val: v.dictValue
 							}
 							}
 							this.tablist.push(obj)
 							this.tablist.push(obj)
-							this.tabval=res.data[0].dictValue;
 							return {
 							return {
 								dictLabel: v.dictLabel,
 								dictLabel: v.dictLabel,
 								dictValue: v.dictValue
 								dictValue: v.dictValue
@@ -183,6 +181,12 @@
 								if(ite.repairImages){
 								if(ite.repairImages){
 									ite.repairImages=ite.repairImages.split(',')
 									ite.repairImages=ite.repairImages.split(',')
 								}
 								}
+								if(ite.visitPhoto){
+									ite.visitPhoto=ite.visitPhoto.split(',')
+								}
+								if(ite.completionPhoto){
+									ite.completionPhoto=ite.completionPhoto.split(',')
+								}
 							})
 							})
 						}
 						}
 						if (this.pageNum == 1) {
 						if (this.pageNum == 1) {

+ 9 - 8
user_ui/work/pages/service/warrantyadd.vue

@@ -25,12 +25,12 @@
 					<uni-forms-item label="报修门户" name="houseId">
 					<uni-forms-item label="报修门户" name="houseId">
 						<w-select
 						<w-select
 						      style="margin-left: 20rpx;" 
 						      style="margin-left: 20rpx;" 
-						     v-model="chooseValue"
+						     v-model="datainfo.houseId"
 						      :list='fwlist'
 						      :list='fwlist'
 						      valueName='label' 
 						      valueName='label' 
 						      keyName="value"
 						      keyName="value"
 							  :showClose='showClose'
 							  :showClose='showClose'
-							  :value='datainfo.houseAddress'
+							  :valuea="datainfo.houseId"
 							  :chosevalue='datainfo.houseAddress'
 							  :chosevalue='datainfo.houseAddress'
 							  :filterable='filterable'
 							  :filterable='filterable'
 						      @change='getchange'
 						      @change='getchange'
@@ -102,7 +102,7 @@
 				datainfo:{
 				datainfo:{
 					// "repairId":"",//报修ID
 					// "repairId":"",//报修ID
 					 "houseId":"",//门户id
 					 "houseId":"",//门户id
-					 "houseAddress":"",//详细门牌号
+					 "houseAddress":"",//门牌号
 					 "repairTime":"",//报修时间
 					 "repairTime":"",//报修时间
 					 "phoneNumber":this.$store.state.user.phonenumber,//报修用户手机号码
 					 "phoneNumber":this.$store.state.user.phonenumber,//报修用户手机号码
 					 "repairTitle":"",//报修标题
 					 "repairTitle":"",//报修标题
@@ -166,7 +166,7 @@
 				return aite.actions;
 				return aite.actions;
 			},
 			},
 			getchange(e){
 			getchange(e){
-				this.datainfo.houseId.value;
+				this.datainfo.houseId=e.value;
 				this.datainfo.houseAddress=e.label;
 				this.datainfo.houseAddress=e.label;
 				// this.datainfo.detailAddress=e.location;
 				// this.datainfo.detailAddress=e.location;
 			},
 			},
@@ -199,6 +199,7 @@
 						})
 						})
 						if(this.ptype=='add'&&res.rows&&res.rows.length){
 						if(this.ptype=='add'&&res.rows&&res.rows.length){
 							this.datainfo.houseAddress=res.rows[0].detailedAddress
 							this.datainfo.houseAddress=res.rows[0].detailedAddress
+							this.datainfo.houseId=res.rows[0].houseId
 						}
 						}
 					}
 					}
 				})
 				})
@@ -305,10 +306,10 @@
 					// 	this.$toast('请输入标题')
 					// 	this.$toast('请输入标题')
 					// 	return
 					// 	return
 					// }
 					// }
-					if(!params.houseAddress){
-						this.$toast('请选择报修门户')
-						return
-					}
+					// if(!params.houseAddress){
+					// 	this.$toast('请选择报修门户')
+					// 	return
+					// }
 					if(!params.phoneNumber){
 					if(!params.phoneNumber){
 						this.$toast('请输入联系方式')
 						this.$toast('请输入联系方式')
 						return
 						return

+ 83 - 18
user_ui/work/pages/visitor/vadd.vue

@@ -4,29 +4,34 @@
 			<view class="cbox" style="padding-bottom: 24rpx;">
 			<view class="cbox" style="padding-bottom: 24rpx;">
 				<view class="chtop flexc" @click="zhanflag=!zhanflag">
 				<view class="chtop flexc" @click="zhanflag=!zhanflag">
 					<view class="line"></view>
 					<view class="line"></view>
-					<view>常用访客</view>
+					<view class="atit">常用访客</view>
+					<view v-if="!delflag" class="btntit" @click.stop="delflag=true">删除</view>
+					<view v-else class="btntit bttita" @click.stop="delflag=false">完成</view>
 					<view class="flex1"></view>
 					<view class="flex1"></view>
 					<image :src="upimg" class="upimg" :class="zhanflag?'act':''"></image>
 					<image :src="upimg" class="upimg" :class="zhanflag?'act':''"></image>
 				</view>
 				</view>
 				<view class="peobox flexc" v-if="zhanflag">
 				<view class="peobox flexc" v-if="zhanflag">
-					<view class="plists flexcc">
-						<view class="tit overtwo">爷爷奶奶</view>
-						<view class="addimg flexcc">
-							<image :src="addimg"></image>
+					<view class="plists flexcc" v-for="(ite,idx) in visitList" :key="idx">
+						<view class="tit overtwo">{{ite.name}}</view>
+						<view class="addimg flexcc" v-if="delflag" @click.stop="getcyvisDel(ite.frequentlyVisitorManageId,idx)">
+							<image :src="delimg" class="imgb"></image>
+						</view>
+						<view class="addimg flexcc" v-else @click.stop="getcyvisEdit(ite)">
+							<image :src="addimg" class="imga"></image>
 						</view>
 						</view>
 					</view>
 					</view>
-					<view class="plists flexcc">
+					<!-- <view class="plists flexcc">
 						<view class="tit overtwo">王一</view>
 						<view class="tit overtwo">王一</view>
 						<view class="addimg flexcc">
 						<view class="addimg flexcc">
 							<image :src="addimg"></image>
 							<image :src="addimg"></image>
 						</view>
 						</view>
-					</view>
+					</view> -->
 				</view>
 				</view>
 			</view>
 			</view>
 			<view class="cbox">
 			<view class="cbox">
 				<view class="chtop flexc">
 				<view class="chtop flexc">
 					<view class="line"></view>
 					<view class="line"></view>
-					<view>访客信息</view>
+					<view class="atit">访客信息</view>
 				</view>
 				</view>
 				<view class="chmain">
 				<view class="chmain">
 					<!-- 选择房屋 -->
 					<!-- 选择房屋 -->
@@ -39,10 +44,11 @@
 					<uni-forms-item label="来访人数" name="num">
 					<uni-forms-item label="来访人数" name="num">
 						<view class="flexc">
 						<view class="flexc">
 							<!-- <uni-easyinput :disabled="isdisabled" v-model="datainfo.num" type="Number" :inputBorder='false' placeholder="请输入来访人数" /> -->
 							<!-- <uni-easyinput :disabled="isdisabled" v-model="datainfo.num" type="Number" :inputBorder='false' placeholder="请输入来访人数" /> -->
-							<view class="flex1"></view>
+							<!-- <view class="flex1"></view> -->
 							<view class="libox flexcw rslist">
 							<view class="libox flexcw rslist">
-								<view class="sylist flexcc" :class="rsidx==ite.value?'act':''" v-for="(ite,idx) in rslist" :key="idx" @click="getRsFn(ite)">{{ite.label}}</view>
+								<view class="sylist flexcc" :class="datainfo.num==ite.value?'act':''" v-for="(ite,idx) in rslist" :key="idx" @click="getRsFn(ite)">{{ite.label}}</view>
 							</view>
 							</view>
+							<uni-easyinput  :disabled="isdisabled" v-model="datainfo.num" type="Number" :inputBorder='false' placeholder="输入" />
 							<view class="rimg"><image :src="rimg"></image></view>
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
 						</view>
 					</uni-forms-item>
 					</uni-forms-item>
@@ -89,7 +95,7 @@
 			<view class="cbox">
 			<view class="cbox">
 				<view class="chtop flexc">
 				<view class="chtop flexc">
 					<view class="line"></view>
 					<view class="line"></view>
-					<view>驾车信息</view>
+					<view class="atit">驾车信息</view>
 				</view>
 				</view>
 				<view class="chmain">
 				<view class="chmain">
 					<uni-forms-item label="是否驾车" name="isCar">
 					<uni-forms-item label="是否驾车" name="isCar">
@@ -150,7 +156,7 @@
 	import config from '@/config'
 	import config from '@/config'
 	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
 	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
 	import {uploadIdentify,uploadmore,geocodeAddress} from '@/utils/common.js'
 	import {uploadIdentify,uploadmore,geocodeAddress} from '@/utils/common.js'
-	import {reservAdd,reservDet,reservPut} from "@/api/work/people.js"
+	import {reservAdd,reservDet,reservPut,cyManageList,cyManageDet,cyManageAdd,cyManagePut,cyManageDel} from "@/api/work/people.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
 	import {houseInfolistNoPage} from "@/api/work/work.js"
 	import {houseInfolistNoPage} from "@/api/work/work.js"
 	import wSelect from "@/work/components/w-select/w-select.vue"
 	import wSelect from "@/work/components/w-select/w-select.vue"
@@ -173,14 +179,16 @@
 				aphoto: require('@/work/static/visitor/aphoto.png'),
 				aphoto: require('@/work/static/visitor/aphoto.png'),
 				upimg: require('@/work/static/manage/up.png'),
 				upimg: require('@/work/static/manage/up.png'),
 				addimg: require('@/work/static/manage/add.png'),
 				addimg: require('@/work/static/manage/add.png'),
+				delimg: require('@/mine/static/house/del.png'),
 				check: require('@/mine/static/check.png'),
 				check: require('@/mine/static/check.png'),
 				ncheck: require('@/mine/static/ncheck.png'),
 				ncheck: require('@/mine/static/ncheck.png'),
 				baseUrl: config.baseUrl,
 				baseUrl: config.baseUrl,
 				checkflag:true,
 				checkflag:true,
+				delflag:false,
 				datainfo: {
 				datainfo: {
 					// "visitorManageId":"",//来访主键
 					// "visitorManageId":"",//来访主键
 					 "houseId":"",//门户id
 					 "houseId":"",//门户id
-					 "houseAddress":"",//详细门牌号
+					 "houseAddress":"",//门牌号
 					 "name":"",//访客姓名
 					 "name":"",//访客姓名
 					 "num":"",//来访人数
 					 "num":"",//来访人数
 					 "reason":"",//来访事由
 					 "reason":"",//来访事由
@@ -215,7 +223,7 @@
 				syidx:'',
 				syidx:'',
 				rsidx:'',
 				rsidx:'',
 				sylist:[],
 				sylist:[],
-				rslist:[{label:'1',value:'1'},{label:'2',value:'2'},{label:'3',value:'3'},{label:'4',value:'4'},{label:'5',value:'5'},{label:'6',value:'6'},{label:'7',value:'7'},{label:'8',value:'8'},{label:'9',value:'9'},{label:'10及以上',value:'10'}],
+				rslist:[{label:'1',value:'1'},{label:'2',value:'2'},{label:'3',value:'3'},{label:'4',value:'4'},{label:'5',value:'5'},{label:'6',value:'6'},{label:'7',value:'7'}],
 				
 				
 				carIndex: -1,
 				carIndex: -1,
 				carInput: [
 				carInput: [
@@ -231,6 +239,7 @@
 				keyType: 0,
 				keyType: 0,
 				isPower: false, // 新能源
 				isPower: false, // 新能源
 				addnew:require('@/mine/static/house/add.png'),
 				addnew:require('@/mine/static/house/add.png'),
+				visitList:[],//常用访客
 			}
 			}
 		},
 		},
 		onLoad: function(e) {
 		onLoad: function(e) {
@@ -241,6 +250,7 @@
 				this.getDetail()
 				this.getDetail()
 			}
 			}
 			this.init()
 			this.init()
+			this.getcyManageList()
 			if(this.ptype=='add'){
 			if(this.ptype=='add'){
 				this.time()
 				this.time()
 			}
 			}
@@ -253,6 +263,9 @@
 			},
 			},
 			changeLog(){
 			changeLog(){
 				
 				
+			},
+			kaType(data, list) {
+				return selectDictValue(list, data);
 			},
 			},
 			async getLocation(address) {
 			async getLocation(address) {
 				var that=this;
 				var that=this;
@@ -281,7 +294,6 @@
 				var timeStr = (h < 10 ? ('0' + h) : h) + ':' + (min < 10 ? ('0' + min) : min) + ':' + (s < 10 ? (
 				var timeStr = (h < 10 ? ('0' + h) : h) + ':' + (min < 10 ? ('0' + min) : min) + ':' + (s < 10 ? (
 					'0' + s) : s);
 					'0' + s) : s);
 				var kaTime = yearStr + ' ' + timeStr;
 				var kaTime = yearStr + ' ' + timeStr;
-				console.log(kaTime)
 				this.datainfo.visitorTime=kaTime
 				this.datainfo.visitorTime=kaTime
 			},
 			},
 			getSyFn(e){
 			getSyFn(e){
@@ -292,6 +304,18 @@
 				this.rsidx=e.value;
 				this.rsidx=e.value;
 				this.datainfo.num=e.label;
 				this.datainfo.num=e.label;
 			},
 			},
+			getcyManageList(){
+				var params={
+					userId:this.userId,
+					pageSize: 100,
+					pageNum: 1,
+				}
+				cyManageList(params).then(res=>{
+					if(res.code==200){
+						this.visitList=res.rows
+					}
+				})
+			},
 			init(){
 			init(){
 				// 自己的房屋
 				// 自己的房屋
 				var params={
 				var params={
@@ -345,6 +369,43 @@
 					}
 					}
 				})
 				})
 			},
 			},
+			// 常用访客
+			getVisAdd(){
+				var params=JSON.parse(JSON.stringify(this.datainfo))
+				if(params.frequentlyVisitorManageId){
+					cyManagePut(params).then(res=>{
+						if(res.code==200){
+							this.$toast('操作成功')
+							// this.getcyManageList()
+						}
+					})
+				}else{
+					cyManageAdd(params).then(res=>{
+						if(res.code==200){
+							this.$toast('添加成功')
+							this.getcyManageList()
+						}
+					})
+				}
+			},
+			getcyvisEdit(ite){
+				this.datainfo=JSON.parse(JSON.stringify(ite))
+				this.syidx=ite.reason
+			},
+			getcyvisDel(id,idx){
+				cyManageDel(id).then(res=>{
+					if(res.code==200){
+						this.visitList.splice(idx,1)
+						if(this.visitList.length<1){
+							this.delflag=false;
+						}
+						var visid=this.datainfo.frequentlyVisitorManageId
+						if(id==visid){
+							this.datainfo.frequentlyVisitorManageId=''
+						}
+					}
+				})
+			},
 			getSubmit(){
 			getSubmit(){
 				var num=this.toBind()
 				var num=this.toBind()
 				this.$refs.form.validate().then(res => {
 				this.$refs.form.validate().then(res => {
@@ -635,7 +696,7 @@
 .cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;margin-bottom: 24rpx;
 .cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;margin-bottom: 24rpx;
 	.chtop{padding-top: 32rpx;margin-bottom: 8rpx;
 	.chtop{padding-top: 32rpx;margin-bottom: 8rpx;
 		// image{width: 14rpx;height: 48rpx;margin-right: 20rpx;}
 		// image{width: 14rpx;height: 48rpx;margin-right: 20rpx;}
-		view{font-weight: bold;font-size: 32rpx;color: #272727;}
+		.atit{font-weight: bold;font-size: 32rpx;color: #272727;}
 		.upimg{width: 22rpx;height: 14rpx;margin-right: 36rpx;transform: rotate(180deg);transition: all 0.3s;
 		.upimg{width: 22rpx;height: 14rpx;margin-right: 36rpx;transform: rotate(180deg);transition: all 0.3s;
 			&.act{transform: rotate(0deg);}
 			&.act{transform: rotate(0deg);}
 		}
 		}
@@ -660,14 +721,15 @@
 border-radius: 50%;width: 94rpx;height: 94rpx;margin: 0 20rpx 20rpx;padding: 4rpx;box-sizing: border-box;
 border-radius: 50%;width: 94rpx;height: 94rpx;margin: 0 20rpx 20rpx;padding: 4rpx;box-sizing: border-box;
 			.tit{font-weight: 500;font-size: 22rpx;color: #0256FD;}
 			.tit{font-weight: 500;font-size: 22rpx;color: #0256FD;}
 			.addimg{width: 36rpx;height: 36rpx;background: #FFFFFF;box-shadow: 0px 3px 5px 0px rgba(147,147,147,0.35);border-radius: 50%;position: absolute;bottom: -4rpx;right: 4rpx;
 			.addimg{width: 36rpx;height: 36rpx;background: #FFFFFF;box-shadow: 0px 3px 5px 0px rgba(147,147,147,0.35);border-radius: 50%;position: absolute;bottom: -4rpx;right: 4rpx;
-				image{width: 18rpx;height: 18rpx;}
+				.imga{width: 18rpx;height: 18rpx;}
+				.imgb{width: 26rpx;height: 26rpx;}
 			}
 			}
 }
 }
 	}
 	}
 }
 }
 .libox{
 .libox{
 	&.rslist{
 	&.rslist{
-		.sylist{min-width:40rpx;height: 40rpx;margin-left: 14rpx;margin-top: 14rpx;}
+		.sylist{min-width:40rpx;height: 40rpx;margin-left: 14rpx;}
 	}
 	}
 }
 }
 .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;
 .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;
@@ -677,4 +739,7 @@ color: #666666;
 }
 }
 .line{width: 14rpx;height: 48rpx;background: #0256FD;border-radius:0 12rpx 12rpx 0;margin-right: 18rpx;}
 .line{width: 14rpx;height: 48rpx;background: #0256FD;border-radius:0 12rpx 12rpx 0;margin-right: 18rpx;}
 .tips{font-weight: 500;font-size: 22rpx;color: #0256FD;padding: 20rpx 0;}
 .tips{font-weight: 500;font-size: 22rpx;color: #0256FD;padding: 20rpx 0;}
+.btntit{font-size: 26rpx;color: #FF6969;margin-left: 20rpx;
+	&.bttita{color: #0256fd;}
+}
 </style>
 </style>