zouling 4 tháng trước cách đây
mục cha
commit
d7844a7ca4

+ 41 - 1
property_ui/api/work/people.js

@@ -124,4 +124,44 @@ export function stafflistNoPage(data) {
     method: 'get',
 	'data': data
   })
-}
+}
+
+// 居住人员-列表wuYe:residentInfo:list
+export function residentInfoList(data) {
+  return request({
+    url: '/wuYe/residentInfo/list',
+    method: 'get',
+    data: data
+  })
+}
+// 居住人员-详情wuYe:residentInfo:query
+export function residentInfoDet(data) {
+  return request({
+    url: '/wuYe/residentInfo/'+data,
+    method: 'get',
+  })
+}
+// 居住人员-新增wuYe:residentInfo:add
+export function residentInfoAdd(data) {
+  return request({
+    url: '/wuYe/residentInfo',
+    method: 'post',
+    data: data
+  })
+}
+// 居住人员-修改wuYe:residentInfo:edit
+export function residentInfoPut(data) {
+  return request({
+    url: '/wuYe/residentInfo/put',
+    method: 'post',
+    data: data
+  })
+}
+// 居住人员-删除wuYe:residentInfo:remove
+export function residentInfoDel(data) {
+  return request({
+    url: '/wuYe/residentInfo/delete/'+data,
+    method: 'get',
+  })
+}
+

+ 3 - 0
property_ui/car/pages/index.vue

@@ -74,6 +74,9 @@
 			// getNextFn(){
 			// 	this.$tab.navigateTo("/work/pages/business/add")
 			// },
+			init(){
+				// 车辆状态car_status
+			},
 			getConfirm(){
 				this.getrefreshData()
 			},

+ 585 - 0
property_ui/health/pages/health/add.vue

@@ -0,0 +1,585 @@
+<template>
+	<view class="check" :style="'padding-top:'+nvaHeight+'px;'">
+		<view class="navbox">
+			<uni-nav-bar  color="#ffffff" left-icon="left" title="健康档案"  :background-color="backgroundColor" :border="false" statusBar='true' fixed="true" @clickLeft="getBackFn">
+			</uni-nav-bar>
+		</view>
+		<uni-forms ref="form" :model="datainfo" :rules="rules">
+			<view class="cbox">
+				<view class="chmain">
+					<view class="plr6">
+						<view class="rztit">请上传身份证照片</view>
+						<view class="flexcj mb10">
+							<view class="carbox" @click="getaddImage('front')">
+								<image :src="baseUrl+datainfo.front" class="img" v-if="datainfo.front"></image>
+								<image :src="cardz" class="img" v-else></image>
+								<view class="tit">拍摄人像面</view>
+							</view>
+							<view class="carbox" @click="getaddImage('back')">
+								<image :src="baseUrl+datainfo.back" class="img" v-if="datainfo.back"></image>
+								<image :src="cardf" class="img" v-else></image>
+								<view class="tit">拍摄国徽面</view>
+							</view>
+						</view>
+						<view class="mb4">
+							<view class="cardtip">身份信息会根据上传的证件照片自动识别,支持手动输入。</view>
+							<view class="cardtip">如果识别错误,可尝试再次拍照。</view>
+						</view>
+					</view>
+					<uni-forms-item label="身份证号" required name="residentIdCard">
+						<view class="flexc">
+							<uni-easyinput  :disabled="isdisabled" v-model="datainfo.residentIdCard"  :inputBorder='false' placeholder="自动识别" />
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="姓名" required 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="residentGender">
+						<view class="flexc">
+							<view class="flex1"></view>
+							<uni-data-checkbox  :disabled="isdisabled" selectedColor="#0156FE" selectedTextColor="#272727" v-model="datainfo.residentGender" :localdata="sexs" />
+						</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="居住门户" name="portalId">
+						<w-select
+						      style="margin-left: 20rpx;" 
+						     v-model="chooseValue"
+						      :list='fwlist'
+						      valueName='label' 
+						      keyName="value"
+							  :chosevalue="datainfo.houseId"
+							  :filterable='filterable'
+						      @change='getchange'
+						    >
+						    </w-select>
+					</uni-forms-item>
+					<!-- <uni-forms-item label="家庭地址" required name="detailedAddress">
+						<view class="flexc">
+							<uni-easyinput  disabled  v-model="datainfo.detailedAddress"  :inputBorder='false' placeholder="自动识别" />
+						</view>
+					</uni-forms-item> -->
+					<picker range-key='dictLabel' :disabled="isdisabled" :value="sfhzidx" :range="sfList"   @change='bindDateChange'>
+						<uni-forms-item label="是否户主" required name="isHouseholder">
+							<view class="flexc mh35">
+								<view class="flex1 txr f13 co27" v-if="datainfo.isHouseholder&&!sfhz">{{statusFormats(datainfo.isHouseholder,sfList,'sfhz')}}</view>
+								<view class="flex1 txr f13" v-else :class="sfhz?'co27':'coa'">{{sfhz||"请选择是/否"}}</view>
+								
+							</view>
+						</uni-forms-item>
+					</picker>
+					<picker range-key='dictLabel' :disabled="isdisabled" :value="hzgxidx" :range="hzgxList"   @change='bindDateChangea'>
+						<uni-forms-item 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>
+						</uni-forms-item>
+					</picker>
+					<picker range-key='dictLabel' :disabled="isdisabled" :value="sfzhidx" :range="sfList"   @change='bindDateChangeb'>
+						<uni-forms-item label="是否租户" required name="isTenant">
+							<view class="flexc mh35">
+								<view class="flex1 txr f13 co27" v-if="datainfo.isTenant&&!sfzh">{{statusFormats(datainfo.isTenant,sfList,'sfzh')}}</view>
+								<view class="flex1 txr f13" v-else :class="sfzh?'co27':'coa'">{{sfzh||"请选择是/否"}}</view>
+								
+							</view>
+						</uni-forms-item>
+					</picker>
+					<picker range-key='dictLabel' :disabled="isdisabled" :value="rymmidx" :range="rymmList"   @change='bindDateChangec'>
+						<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>
+						</uni-forms-item>
+					</picker>
+					<!-- <picker range-key='dictLabel' :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+						<uni-forms-item label="特殊类型" name="phonenumber">
+							<view class="flexc ml10">
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'如有五保户等特殊类型,请选择'}}</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="hobby">
+						<view class="flexc ml10">
+							<uni-easyinput type="textarea" :disabled="isdisabled" autoHeight v-model="datainfo.hobby" :inputBorder='false' placeholder="请输入兴趣爱好" />
+						</view>
+					</uni-forms-item>
+					
+					<uni-forms-item label="上传头像" name="phonenumber">			
+						<view class="addimgs">
+							<block v-if="phofile&&phofile.length">
+								<view class="assimg" v-for="(ite,idx) in phofile" :key="idx" @click="getPreview(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="getaddImage">
+								<image :src="aphoto"></image>
+								<view>添加图片</view>
+							</view>
+						</view>
+					</uni-forms-item>
+				</view>
+				<view class="rhbtn mt30 bga" @click="getEditFn" v-if="isdisabled">修改</view>
+				<view class="rhbtn mt30 bga" @click="getSubmit" v-else>提交</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 {houseInfolistNoPage} from "@/api/work/work.js"
+	import {residentInfoAdd,residentInfoPut,residentInfoDel} from "@/api/work/people.js"
+	import {getDictionaryFn} from "@/api/system/user.js"
+	import {selectValueKey} from "@/utils/common.js"
+	import wSelect from "@/people/components/w-select/w-select.vue"
+	export default {
+		components: {wSelect},
+		data() {
+			return {
+				cardz:require('@/health/static/health/cardz.png'),
+				cardf:require('@/health/static/health/cardf.png'),
+				aphoto: require('@/service/static/service/photo.png'),
+				rdelimg: require('@/service/static/service/rdel.png'),
+				baseUrl: config.baseUrl,
+				checkflag:true,
+				nvaHeight:44,
+				backgroundColor: "transparent",
+				datainfo: {
+					// "residentId":"",//居住人员主键
+					"houseId":"",//关联房屋信息表的house_id
+					// "userId":"",//关联sys_user表中user_id
+					"detailedAddress":"",//居住人员的详细门牌号
+					"residentName":"",//居住人员姓名
+					"residentIdCard":"340622198001021245",//居住人员身份证号码,18位
+					"residentBirthday":"",//居住人员出生日期
+					// "yearsOld":"",//年龄
+					"residentPhone":"",//居住人员手机号
+					"residentGender":" ",//居住人员性别:1-男,2-女
+					"residentRelationship":"",//居住人员与户主的关系,如父子、夫妻等
+					"isHouseholder":"",//是否是户主 N不是 Y是
+					"isTenant":"",//是否是租户:Y-是,N-否
+					"residentEmployer":"",//居住人员工作单位
+					"residentAppearance":""//居住人员面貌,如党员、群众等
+				},
+				syqxidx:'',
+				sexs: [{
+					text: '男',
+					value: 0
+				}, {
+					text: '女',
+					value: 1
+				}],
+				rules:{
+					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: '请选择与户主关系' }]},
+					// isTenant: {rules: [{required: true,errorMessage: '请选择是否租户' }]},
+					// residentAppearance: {rules: [{required: true,errorMessage: '请选择人员面貌' }]},
+				  },
+				sfhz:"",
+				hzgx:"",
+				sfzh:"",
+				rymm:"",
+				sfhzidx:0,
+				hzgxidx:0,
+				sfzhidx:0,
+				rymmidx:0,
+				sfhzidx:0,
+				list:[],
+				sfList:[],
+				hzgxList:[],
+				rymmList:[],
+				xbList:[],
+				phofile:[],
+				fwlist:[],
+				isdisabled:false,
+				ptype:'add',
+				filterable:true,
+				chooseValue:'',
+			}
+		},
+		onLoad: function(e) {
+			if(e.id){
+				this.id=e.id;
+				this.ptype="edit";
+				this.isdisabled=true;
+				this.getDetail()
+			}
+			this.init()
+			uni.getSystemInfo({
+				success: (e) => {
+					this.nvaHeight = Number(e.statusBarHeight)+44;
+				}
+			})
+		},
+		onPageScroll(e) {
+			var scrollTop = Number(e.scrollTop);
+			if (scrollTop > 0) {
+				this.backgroundColor = '#48CC9A'
+			} else {
+				this.backgroundColor = 'transparent'
+			}
+		},
+		methods: {
+			checkPermi,
+			checkRole,
+			getEditFn(){
+				this.isdisabled=false;
+			},
+			statusFormats(data, list,type) {
+				var aite=selectValueKey(list, data);
+				if(type=='sfhz'){
+					this.sfhzidx=aite.key
+				}else if(type=='hzgx'){
+					this.hzgxidx=aite.key;
+				}else if(type=='sfzh'){
+					this.sfzhidx=aite.key;
+				}else if(type=='rymm'){
+					this.rymmidx=aite.key;
+				}
+				return aite.actions;
+			},
+			getchange(e){
+				this.datainfo.houseId=e.value;
+				this.datainfo.detailedAddress=e.label;
+			},
+			init(){
+				houseInfolistNoPage().then(res=>{
+					if(res.code==200){
+						this.fwlist= res.rows.map(v => {
+							return {
+								label: v.detailedAddress,
+								value: v.houseId,
+								location: v.location
+							}
+						})
+					}
+				})
+				// 是否
+				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('affiliation_personnel').then(res=>{
+					if(res.code==200){
+						this.rymmList = 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: v.dictValue
+							}
+						})
+					}
+				})
+				
+			},
+			getBackFn(){
+				uni.navigateBack({
+					delta:1
+				})
+			},
+			bindDateChange(e){
+				var val=e.detail.value;
+				this.datainfo.isHouseholder=this.sfList[val].dictValue;
+				this.sfhz=this.sfList[val].dictLabel;
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.datainfo.residentRelationship=this.hzgxList[val].dictValue;
+				this.hzgx=this.hzgxList[val].dictLabel;
+			},
+			bindDateChangeb(e){
+				var val=e.detail.value;
+				this.datainfo.isTenant=this.sfList[val].dictValue;
+				this.sfzh=this.sfList[val].dictLabel;
+			},
+			bindDateChangec(e){
+				var val=e.detail.value;
+				this.datainfo.residentAppearance=this.rymmList[val].dictValue;
+				this.rymm=this.rymmList[val].dictLabel;
+			},
+			getDetail(){
+				residentInfoDet(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data
+					}
+				})
+			},
+			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.equipmentPhotos=this.phofile.join(',');
+					// }
+					// if(!params.assetId){
+					// 	this.$toast('请选择资产类型')
+					// 	return
+					// }
+					// if(!params.equipmentName){
+					// 	this.$toast('请输入资产名称')
+					// 	return
+					// }
+					// if(!params.equipmentNumber){
+					// 	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'){
+						residentInfoAdd(params).then(res=>{
+							if(res.code==200){
+								this.$toast("新增成功")
+								setTimeout(function(){
+									uni.$emit("residentInfoList")
+									uni.navigateBack({
+										delta:1
+									})
+								},1500)
+							}
+						})
+					}else{
+						residentInfoPut(params).then(res=>{
+							if(res.code==200){
+								this.$toast("修改成功")
+								setTimeout(function(){
+									uni.$emit("residentInfoList")
+									uni.navigateBack({
+										delta:1
+									})
+								},1500)
+							}
+						})
+					}	
+				})
+			},
+			getPreview(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) {}
+				});
+			},
+			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) {
+						}
+					}
+				});
+			},
+			getaddImage(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(e) {
+			// 	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 (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)
+			// 					}
+			// 				})
+			// 			}
+			// 		}
+			// 	});
+			// },
+			// 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.realName = datainfo.realName;
+			// 				this.datainfo.idCard = datainfo.idCard;
+			// 				this.datainfo.address = datainfo.address;
+			// 			} else {
+			// 				this.datainfo.expirationDate = datainfo.expirationDate
+			// 			}
+			// 		}
+			// 	})
+			// }
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+	.bga{background-color: #46CB99;}
+.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 /deep/ .uni-forms-item:last-child{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{background: linear-gradient(180deg, #45CB99 0%, rgba(238,227,197,0) 100%) no-repeat;background-size: 100% 782rpx;min-height: 100vh;box-sizing: border-box;padding: 0 18rpx 22rpx;}
+.cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;padding: 30rpx 24rpx 46rpx;
+	.chmain{
+		padding: 0 8rpx;
+		.upbox{height: 224rpx;background: #EFF4FF;border-radius: 20rpx;display: flex;align-items: center;justify-content: center;flex-direction: column;margin-bottom: 8rpx;overflow: auto;
+			.img{width: 100%;height: 100%;}
+			.addimg{width: 70rpx;height: 70rpx;margin-bottom: 16rpx;}
+			view{font-weight: bold;font-size: 26rpx;color: #4C6686;}
+		}
+		.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+			image{width: 100%;height: 100%;}
+		}
+		.checkimg{width: 80rpx;height: 40rpx;margin-right: 8rpx;}
+		.aphoto{padding: 0 24rpx;border-left: 2rpx solid #e6e6e6;margin-left: 26rpx;
+			image{width: 40rpx;height: 38rpx;}
+		}
+	}
+	
+}
+.navbox{position: fixed;left: 0;right: 0;top: 0;z-index: 4;	}
+.rztit{font-weight: bold;font-size: 30rpx;color: #222327;margin-bottom: 30rpx;}
+	.carbox{width: 300rpx;border-radius: 14rpx;overflow: hidden;
+		.img{width: 300rpx;height: 208rpx;}
+		.tit{width: 100%;height: 56rpx;background: #7CC2A8;text-align: center;font-weight: 500;
+font-size: 26rpx;line-height: 56rpx;
+color: #FFFFFF;}
+	}
+	.cardtip{font-weight: 500;font-size: 24rpx;color: #999999;line-height: 40rpx;}
+.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;}
+	}
+}
+.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>

BIN
property_ui/health/static/health/cardf.png


BIN
property_ui/health/static/health/cardz.png


+ 26 - 54
property_ui/manage/pages/community/newssqdetail.vue

@@ -3,10 +3,10 @@
 		<!-- 详情 -->
 		<view class="ndbox mb12">
 			<view class="plr15">
-				<view class="tit">物业服务费缴费公告</view>
-				<view class="time mb12">2024-12-01 08:21</view>
+				<view class="tit">{{datainfo.communityTitle}}</view>
+				<view class="time mb12">{{datainfo.publishTime}}</view>
 				<view class="rich">
-					<rich-text :nodes="infoContent" style="word-break: break-all;"></rich-text>
+					<rich-text :nodes="communityContent" style="word-break: break-all;"></rich-text>
 				</view>
 			</view>
 			<view class="ndbfox flexc">
@@ -30,7 +30,7 @@
 			<view class="pllist flex">
 				<image :src="head" class="head"></image>
 				<view class="flex1 overh">
-					<view class="flext mb14 ">
+					<view class="flexat mb14 ">
 						<view class="plname flex1 over">床前明月光</view>
 						<view class="plrbtn flexc flex0">
 							<!-- <image :src="niconb" class="imga"></image> -->
@@ -48,7 +48,7 @@
 			<view class="pllist flex">
 				<image :src="head" class="head"></image>
 				<view class="flex1 overh">
-					<view class="flext mb14 ">
+					<view class="flexat mb14 ">
 						<view class="plname flex1 over">疑是地上霜</view>
 						<view class="plrbtn flexc flex0">
 							<image :src="niconb" class="imga"></image>
@@ -65,7 +65,7 @@
 					<view class="pllist flex">
 						<image :src="head" class="head"></image>
 						<view class="flex1 overh">
-							<view class="flext mb14 ">
+							<view class="flexat mb14 ">
 								<view class="plname flex1 over">幸福小区物业</view>
 								<view class="plrbtn flexc flex0">
 									<image :src="niconb" class="imga"></image>
@@ -98,6 +98,7 @@
 	import config from '@/config'
 	const baseUrl = config.baseUrl
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import {newsDet} from "@/api/work/manage.js"
 	export default{
 		components:{},
 		data(){
@@ -108,18 +109,17 @@
 				nicond:require('@/manage/static/news/nicond.png'),
 				nicone:require('@/manage/static/news/nicone.png'),
 				head:require('@/manage/static/news/head.png'),
-				list:[],
-				pageSize: 10,
-				pageNum: 1,
-				reachflag: true,
-				wtdt:'',
-				showAll:true,
-				infoContent:'<span>hello uni-app x!</span><br/><span>uni-app x,终极跨平台方案</span>',
+				datainfo:{
+					
+				},
+				communityContent:'<span>hello uni-app x!</span><br/><span>uni-app x,终极跨平台方案</span>',
 				text:'',
+				id:"",
 			}
 		},
-		onLoad: function() {
-		
+		onLoad: function(e) {
+			this.id=e.id;
+			// this.getDetailFn()
 		},
 		// 上拉触底加载更多触发事件
 		onReachBottom() {
@@ -130,9 +130,17 @@
 		},
 		methods:{
 			checkPermi, checkRole,
-			// getNextFn(){
-			// 	this.$tab.navigateTo("/work/pages/business/add")
-			// },
+			getDetailFn(){
+				newsDet(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data;
+						var data=JSON.parse(JSON.stringify(res.data))
+						if(data.communityContent){
+							this.communityContent=this.formatRichText(data.communityContent)
+						}
+					}
+				})
+			},
 			//解析富文本方法
 			formatRichText(html) {
 					let newContent = html.replace(/<img[^>]*>/gi, function(match, capture) {
@@ -150,42 +158,6 @@
 						'<img style="max-width:100%;height:auto;display:block;margin:10rpx auto;" src="' +baseUrlimg);
 					return newContent;
 			},
-			getDataFn(){
-				return
-				var params={
-					pageSize:this.pageSize,
-					pageNum: this.pageNum,
-				}
-				params.noticeType=this.tabidx
-				getNoticeList(params).then(res=>{
-					if(res.code==200){
-						if(res.data.infoContent){
-							this.infoContent=this.formatRichText(res.data.infoContent);
-						}
-						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 = '到底了~';
-							}
-						}
-						if (this.pageNum == 1) {
-							this.list = res.rows;
-						} else {
-							this.list = this.list.concat(res.rows)
-						}
-					}else{
-						this.$toast(res.msg)
-					}
-				})
-				
-			},
 		}
 	}
 </script>

+ 18 - 0
property_ui/pages.json

@@ -142,6 +142,15 @@
 						"titleNView":false
 					}
 				}
+			},
+			{
+				"path": "pages/manage/addhouse",
+				"style": {
+					"navigationBarTitleText": "修改房屋",
+					"h5":{
+						"titleNView":false
+					}
+				}
 			}
 		]
   	},
@@ -484,6 +493,15 @@
 					}
 				}
 			},
+			{
+				"path": "pages/health/add",
+				"style": {
+					"navigationBarTitleText": "添加档案",
+					"h5":{
+						"titleNView":false
+					}
+				}
+			},
 			{
 				"path": "pages/health/detail",
 				"style": {

+ 4 - 1
property_ui/people/pages/people/comeadd.vue

@@ -21,7 +21,10 @@
 						</view>
 					</uni-forms-item>
 					<uni-forms-item label="来访时间" name="visitorTime" v-if="tabval==1">
-						<uni-datetime-picker  :disabled="isdisabled" :class="datainfo.visitorTime?'co27':'coa'" type="date" placeholder="请选择来访时间" :border="false" :hide-second='true' v-model="datainfo.visitorTime" @change="changeLog" />
+						<view class="flexc">
+							<uni-datetime-picker  :disabled="isdisabled" :class="datainfo.visitorTime?'co27':'coa'" type="date" placeholder="请选择来访时间" :border="false" :hide-second='true' v-model="datainfo.visitorTime" @change="changeLog" />
+							<view class="rimg"><image :src="rimg"></image></view>
+						</view>
 						<!-- <picker range-key='dictLabel' :value="vxlbidx" :range="vxlbList"   @change='bindDateChangea'>
 							<view class="flexc">
 								<view class="flex1 txr f13 co27" v-if="datainfo.maintenanceCategory&&!vxlb">{{statusFormats(datainfo.maintenanceCategory,vxlbList,'vxlb')}}</view>

+ 10 - 2
property_ui/people/pages/people/comegl.vue

@@ -77,7 +77,9 @@
 		},
 		methods:{
 			checkPermi, checkRole,
-			init(){},
+			init(){
+				
+			},
 			getAddFn(){
 				this.$tab.navigateTo("/people/pages/people/comeadd?type="+this.tabval)
 			},
@@ -113,8 +115,14 @@
 				this.xzrq=val;
 				this.getrefreshData()
 			},
-			getDelFn(id){
+			getDelFn(ite){
 				var that=this;
+				var id='';
+				if(this.tabval==1){
+					id=ite.reservRecordId
+				}else{
+					id=ite.visitorManageId
+				}
 				if(this.tabval==1){
 					reservDel(id).then(res=>{
 						if(res.code==200){

+ 43 - 11
property_ui/people/pages/people/index.vue

@@ -19,8 +19,12 @@
 		</view>
 		<!-- 列表 -->
 		<view class="carlists">
-			<car-list :datainfo="list" :wtdt="wtdt" type='people'></car-list>
+			<car-list :datainfo="list" :wtdt="wtdt" type='people' @getDelFn="getDelFn"></car-list>
 		</view>
+		<block v-if="checkPermi(['wuYe:residentInfo:add'])">
+			<view style="height: 100rpx;"></view>
+			<view class="rfbtn" @click="getAddFn">添加人员</view>
+		</block>
 		<loading></loading>
 	</view>
 </template>
@@ -30,6 +34,7 @@
 	const baseUrl = config.baseUrl
 	import carList from "@/people/components/car/list.vue"
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import {residentInfoList,residentInfoDel} from "@/api/work/people.js"
 	export default{
 		components:{carList},
 		data(){
@@ -43,15 +48,25 @@
 				sfxx:"",
 				text:'',
 				jclxlist:[{dictLabel:'党员',dictValue:'0'}],
-				list:[{tit:'皖A IC520',type:1,hzflag:true,sex:1,zhanflag:false},{tit:'晋E KD783',type:2,hzflag:false,sex:0,zhanflag:false},],
+				list:[],
 				pageSize: 10,
 				pageNum: 1,
 				reachflag: true,
 				wtdt:'',
+				houseId:'',
 			}
 		},
-		onLoad: function() {
-		
+		onUnload() {
+			uni.$off('residentInfoList')
+		},
+		onLoad: function(e) {
+			uni.$on('residentInfoList',(res)=>{
+				this.getrefreshData()
+			})
+			if(e.id){
+				this.houseId=e.id;
+			}
+			this.getDataFn()
 		},
 		// 上拉触底加载更多触发事件
 		onReachBottom() {
@@ -62,9 +77,9 @@
 		},
 		methods:{
 			checkPermi, checkRole,
-			// getNextFn(){
-			// 	this.$tab.navigateTo("/work/pages/business/add")
-			// },
+			getAddFn(){
+				this.$tab.navigateTo("/health/pages/health/add")
+			},
 			getConfirm(){
 				this.getrefreshData()
 			},
@@ -87,13 +102,26 @@
 				this.sfxx=this.jclxlist[val].dictLabel;
 				// this.orderFoodType=this.jclxlist[val].dictValue;
 			},
+			getDelFn(id){
+				var that=this;
+				residentInfoDel(id).then(res=>{
+					if(res.code==200){
+						that.$toast("删除成功")
+						setTimeout(function(){
+							that.getrefreshData()
+						},1500)
+					}
+				})
+			},
 			getDataFn(){
 				var params={
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
 				}
-				params.noticeType=this.tabidx
-				getNoticeList(params).then(res=>{
+				if(this.houseId){
+					params.houseId=this.houseId
+				}
+				residentInfoList(params).then(res=>{
 					if(res.code==200){
 						if (res.rows.length < this.pageSize) {
 							this.reachflag = false
@@ -108,10 +136,14 @@
 								this.wtdt = '到底了~';
 							}
 						}
+						var newArr=JSON.parse(JSON.stringify(res.rows))
+						newArr.forEach(ite=>{
+							ite.right=0;
+						})
 						if (this.pageNum == 1) {
-							this.list = res.rows;
+							this.list = newArr;
 						} else {
-							this.list = this.list.concat(res.rows)
+							this.list = this.list.concat(newArr)
 						}
 					}else{
 						this.$toast(res.msg)

BIN
property_ui/people/static/people/cmico.png


+ 1 - 1
property_ui/service/components/car/list.vue

@@ -51,7 +51,7 @@
 					<view class="watop ">
 						<view class="watit">
 							<view class="tit">{{ite.repairTitle}}</view>
-							<view class="txt co01":class="{'co01':ite.repairStatus=='1','coa':ite.repairStatus=='3','co28':ite.repairStatus=='3'}">{{kaType(ite.repairStatus,tsjyList)}}</view>
+							<view class="txt co01":class="{'co01':ite.repairStatus=='1','coa':ite.repairStatus=='3','co28':ite.repairStatus=='3'}">{{kaType(ite.repairStatus,bxztList)}}</view>
 							<!-- <view class="txt coa" v-if="ite.type==3">已完成</view>
 							<view class="txt co28" v-if="ite.type==2">处理中</view> -->
 						</view>

+ 1 - 1
property_ui/service/pages/service/warrantydetail.vue

@@ -21,7 +21,7 @@
 					<view class="txt">报修订单已完成</view>
 				</view>
 			</view>
-			<view class="wabox peobox">
+			<view class="wabox peobox" v-if="repairStatus>1">
 				<image :src="head" class="head"></image>
 				<view class="flex1">
 					<view class="peotit mb6">{{datainfo.staffName}}</view>

+ 1 - 0
property_ui/static/style.css

@@ -74,6 +74,7 @@ font-weight: bold;font-size: 26rpx;color: #FFFFFF;background: #0256FD;border-rad
 .mb24{margin-bottom: 48rpx;}
 .mt6{margin-top: 12rpx;}
 .mt12{margin-top: 24rpx;}
+.mt30{margin-top: 60rpx;}
 .mt40{margin-top: 80rpx;}
 .mt55{margin-top: 110rpx;}
 .mt63{margin-top: 126rpx;}

+ 9 - 3
property_ui/work/components/car/list.vue

@@ -4,7 +4,7 @@
 	<block v-if="datainfo.length>0">
 		<!-- 房屋管理 -->
 		<block v-if="type=='comehouse'">
-			<view class="carlist houselist" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.houseId,'look')">
+			<view class="carlist houselist" v-for="(ite,idx) in datainfo" :key="idx" @click="getDetail(ite.houseId)">
 				<view class="ctop flexc">
 					<image :src="house" class="imgs" v-if="ite.houseStatus==1"></image>
 					<image :src="housea" class="imgs" v-if="ite.houseStatus==2"></image>
@@ -37,8 +37,8 @@
 					<!-- <view class="clist"><view class="tit">手机号码</view>13656788668</view> -->
 				</view>
 				<view class="btns flexc">
-					<view class="bga" v-if="checkPermi(['wuYe:houseInfo:edit'])" @click.stop="getDetail(ite.houseId,'edit')">编辑信息</view>
-					<view class="bgb" >居住信息</view>
+					<view class="bga" v-if="checkPermi(['wuYe:houseInfo:edit'])" @click.stop="getPut(ite.houseId)">编辑信息</view>
+					<view class="bgb" v-if="checkPermi(['wuYe:residentInfo:list'])" @click.stop="getJuzhu(ite.houseId)">居住信息</view>
 					<view class="bgc"> 车辆信息</view>
 				</view>
 			</view>
@@ -266,6 +266,12 @@
 			getDetail(e){
 				this.$emit('getDetail',e)
 			},
+			getPut(e){
+				this.$emit('getPut',e)
+			},
+			getJuzhu(e){
+				this.$emit('getJuzhu',e)
+			},
 			getAddFn(e){
 				this.$emit('getAddFn',e)
 			},

+ 502 - 0
property_ui/work/pages/manage/addhouse.vue

@@ -0,0 +1,502 @@
+<template>
+	<view class="check">
+		<view class="cbox">
+			<view class="chtop flexc">
+				<view class="line"></view>
+				<view>房屋信息</view>
+			</view>
+			<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">
+					  <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>
+							</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>
+							</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="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="phonenumber">
+						<view class="flexc">
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.phonenumber" :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>
+					</uni-forms-item> -->
+					<!-- <uni-forms-item label="住户类型" name="realName">
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="syqxidx" :range="sexs"   @change='bindDateChange'>
+							<view class="flexc">
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择住户类型'}}</view>
+								<view class="rimg"><image :src="rimg"></image></view>
+							</view>
+						</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">
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择与户主关系'}}</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="syqxidx" :range="sexs"   @change='bindDateChange'>
+							<view class="flexc">
+								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择居住人口'}}</view>
+								<view class="rimg"><image :src="rimg"></image></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>确定添加</view>
+			</view>
+		</view>
+		<loading></loading>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import {uploadIdentify,selectValueKey,geocodeAddress} from '@/utils/common.js'
+	import {getDictionaryFn} from "@/api/system/user.js"
+	import {houseInfoAdd,houseInfoPut,houseInfoDet} from "@/api/work/work.js"
+	var key='';
+	// #ifdef H5
+	key='8de52b560193f01932ad997dba3e76c0'
+	// #endif
+	// #ifdef APP-PLUS
+	key='ccbe52b1ec5f66295fa4609c90a819b7'
+	// #endif
+	// #ifdef MP-WEIXIN
+	key='ccbe52b1ec5f66295fa4609c90a819b7'
+	// #endif
+	export default{
+		components:{},
+		data(){
+			return{
+				rimg: require('@/people/static/people/rimg.png'),
+				cmico:require('@/people/static/people/cmico.png'),
+				baseUrl:config.baseUrl,
+				datainfo:{
+					 // "houseId":"",//房屋信息主键
+					 "ownerName":"",//权利人姓名
+					 "location":"",//房屋坐落位置
+					 "rightType":"",//权利类型,如所有权、使用权等
+					 "area":"",//房屋面积,单位为平方米
+					 "documentNumber":"",//房屋相关的字第号
+					 "propertyUnitNumber":"",//不动产单元号
+					 "coOwnership":"",//房屋的共有情况,如共有比例等
+					 "usageType":"",//房屋用途,如住宅、商业等
+					 "usagePeriod":"",//房屋使用期限
+					 "registrationDate":"",//房屋登记日期
+					 "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
+					 "detailedAddress":"",//房屋的详细门牌号
+					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
+					 "communityName":"",//房屋所在小区名称
+					 "houseStatus":""//房屋状态:1-自住,2-出租,3-空闲,4-待售
+				},
+				rules: {
+				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
+				  detailedAddress: {rules: [{required: true,errorMessage: '请输入详细门牌号' }]},
+				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
+				},
+				id:'',
+				ptype:'add',
+				fwzt:'',
+				qllx:'',
+				fwyt:'',
+				ywcw:'',
+				fwztidx:'',
+				qllxidx:'',
+				fwytidx:'',
+				ywcwidx:'',
+				fwztList:[],
+				qllxList:[],
+				fwytList:[],
+				ywcwList:[{dictLabel:'有',dictValue:'Y'},{dictLabel:'无',dictValue:'N'},],
+				isdisabled:false,
+				latitude:'',
+				longitude:"",
+			}
+		},
+		onLoad: function(e) {
+			if(e.id){
+				this.id=e.id;
+				this.ptype="edit";
+				this.isdisabled=true;
+				this.getDetail()
+			}
+			this.init()
+		},
+		methods:{
+			checkPermi, checkRole,
+			getEditFn(){
+				this.isdisabled=false;
+			},
+			statusFormats(data, list,type) {
+				var aite=selectValueKey(list, data);
+				if(type=='qllx'){
+					this.qllxidx=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;
+				}
+				return aite.actions;
+			},
+			init(){
+				// 房屋状态
+				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
+							}
+						})
+					}
+				})
+			},
+			bindDateChange(e){
+				var val=e.detail.value;
+				this.datainfo.rightType=this.qllxList[val].dictValue;
+				this.qllx=this.qllxList[val].dictLabel;
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.datainfo.registrationDate=val;
+			},
+			bindDateChangeb(e){
+				var val=e.detail.value;
+				this.datainfo.houseStatus=this.fwztList[val].dictValue;
+				this.fwzt=this.fwztList[val].dictLabel;
+			},
+			bindDateChangec(e){
+				var val=e.detail.value;
+				this.datainfo.usageType=this.fwytList[val].dictValue;
+				this.fwyt=this.fwytList[val].dictLabel;
+			},
+			bindDateChanged(e){
+				var val=e.detail.value;
+				this.datainfo.hasParkingSpace=this.ywcwList[val].dictValue;
+				this.ywcw=this.ywcwList[val].dictLabel;
+			},
+			getDetail(){
+				houseInfoDet(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data;
+						
+					}
+				})
+			},
+			async getLocation(address) {
+			      if (!address) {
+			        uni.showToast({ title: '请输入地址', icon: 'none' });
+			        return;
+			      }
+			
+			      try {
+			        const { latitude, longitude } = await geocodeAddress(address, key);
+			        this.latitude = latitude;
+			        this.longitude = longitude;
+			      } catch (error) {
+			        uni.showToast({ title: '获取经纬度失败', icon: 'none' });
+			      }
+			},
+			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.location){
+					// 	var pobj=this.getLocation(params.location)
+					// 	console.log(pobj)
+					// 	params.lgt=longitude;
+					// 	params.lat=latitude;
+
+					// }
+					if(this.ptype=='add'){
+						houseInfoAdd(params).then(res=>{
+							if(res.code==200){
+								this.$toast("新增成功")
+								setTimeout(function(){
+									uni.$emit("refHouseList")
+									uni.navigateBack({
+										delta:1
+									})
+								},1500)
+							}
+						})
+					}else{
+						houseInfoPut(params).then(res=>{
+							if(res.code==200){
+								this.$toast("修改成功")
+								setTimeout(function(){
+									uni.$emit("refHouseList")
+									uni.navigateBack({
+										delta:1
+									})
+								},1500)
+							}
+						})
+					}
+				})
+			},
+			getaddImage(e){
+				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(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)
+								// }
+							})	
+						}
+					}
+				});
+			},
+			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.realName=datainfo.realName;
+							this.datainfo.idCard=datainfo.idCard;
+							this.datainfo.address=datainfo.address;
+						}else{
+							this.datainfo.expirationDate=datainfo.expirationDate
+						}
+					}
+				})
+			},
+		}
+	}
+</script>
+<style>
+	page{background: #F3F3F0;}
+</style>
+<style lang="scss" scoped>
+.coa /deep/ .uni-date__x-input{text-align: right;color: #AAAAAA;}
+.check /deep/ .uni-date-editor--x__disabled{opacity: 1;}
+.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 /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/ .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: 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;}
+	}
+	.chmain{
+		padding: 0 32rpx;
+		.upbox{height: 224rpx;background: #EFF4FF;border-radius: 20rpx;display: flex;align-items: center;justify-content: center;flex-direction: column;margin-bottom: 8rpx;overflow: auto;
+			.img{width: 100%;height: 100%;}
+			.addimg{width: 90rpx;height: 90rpx;margin-bottom: 8rpx;}
+			view{font-weight: bold;font-size: 26rpx;color: #4C6686;}
+		}
+	}
+	.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+		image{width: 100%;height: 100%;}
+	}
+}
+.tips{font-weight: bold;color: #272727;font-size: 26rpx;margin-left: 8rpx;}
+</style>

+ 10 - 3
property_ui/work/pages/manage/house.vue

@@ -22,7 +22,7 @@
 		</view>
 		<!-- 列表 -->
 		<view class="carlists">
-			<car-list :datainfo="list" :wtdt="wtdt" type='comehouse' @getDetail="getDetail"></car-list>
+			<car-list :datainfo="list" :wtdt="wtdt" type='comehouse' @getDetail="getDetail" @getPut="getPut" @getJuzhu="getJuzhu"></car-list>
 		</view>
 		<view class="cdbtns">
 			<view class="btna" @click="getAddFn">单个添加</view>
@@ -99,10 +99,17 @@
 				this.$tab.navigateTo("/work/pages/manage/houseadd")
 			},
 			getDetail(e){
-				this.$tab.navigateTo("/work/pages/manage/houseadd?id="+e)
+				this.$tab.navigateTo("/work/pages/manage/addhouse?id="+e)
+			},
+			getPut(e){
+				this.$tab.navigateTo("/work/pages/manage/addhouse?id="+e)
+			},
+			getJuzhu(e){
+				this.$tab.navigateTo("/people/pages/people/index?id="+e)
 			},
 			getTabFn(val){
-				this.tabval=val
+				this.tabval=val;
+				this.getrefreshData()
 			},
 			getConfirm(){
 				this.getrefreshData()

+ 104 - 156
property_ui/work/pages/manage/houseadd.vue

@@ -1,70 +1,48 @@
 <template>
 	<view class="check">
-		<uni-forms ref="form" :model="datainfo">
-			<view class="cbox">
-				<view class="chtop flexc">
-					<image :src="line"></image>
-					<view>房屋信息</view>
-				</view>
-				<view class="chmain">
-					<uni-forms-item label="房屋坐落" name="location">
+		<view class="cbox">
+			<view class="chtop flexc">
+				<view class="line"></view>
+				<view>房屋信息</view>
+			</view>
+			<view class="chmain">
+				<uni-forms ref="form" :model="datainfo" :rules="rules">
+				  <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 v-model="datainfo.location" :disabled="isdisabled" :inputBorder='false' placeholder="请输入房屋坐落" />
+							<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">
+					<uni-forms-item label="建筑面积" required name="area">
 						<view class="flexc">
-							<uni-easyinput v-model="datainfo.rightType" :disabled="isdisabled" :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="建筑面积" name="area">
+					<uni-forms-item label="小区名称" name="communityName">
 						<view class="flexc">
-							<uni-easyinput v-model="datainfo.area" :disabled="isdisabled" :inputBorder='false' placeholder="请输入建筑面积" />
-							<view class="tips">m²</view>
+							<uni-easyinput :disabled="isdisabled" v-model="datainfo.communityName" :inputBorder='false' placeholder="请输入小区名称" />
 							<view class="rimg"></view>
 						</view>
 					</uni-forms-item>
-					<!-- <uni-forms-item label="建筑面积" name="area">
-						<picker range-key='dictLabel' :value="yglbidx" :range="yglbList"   @change='bindDateChange'>
-							<view class="flexc">
-								<view class="flex1 txr f13 co27" v-if="datainfo.staffCategory&&!yglb">{{statusFormats(datainfo.staffCategory,yglbList,'yglb')}}</view>
-								<view class="flex1 txr f13" v-else :class="yglb?'co27':'coa'">{{yglb||"请选择员工类别"}}</view>
-								<view class="rimg"><image :src="rimg"></image></view>
-							</view>
-						</picker>
-					</uni-forms-item> -->
-					<uni-forms-item label="房型" name="realName">
-						<view class="flexjd">
-							<picker range-key='dictLabel' :disabled="isdisabled" :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' :disabled="isdisabled" :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 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="realName">
-						<picker range-key='dictLabel' :disabled="isdisabled" :value="syqxidx" :range="sexs"   @change='bindDateChange'>
-							<view class="flexc">
-								<view class="flex1 txr f13" :class="datainfo.iszc?'co27':'coa'">{{datainfo.iszc?'是':'请选择居住人口'}}</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="syqxidx" :range="sexs"   @change='bindDateChange'>
+						<picker range-key='dictLabel' :disabled="isdisabled" :value="ywcwidx" :range="ywcwList"   @change='bindDateChanged'>
 							<view class="flexc">
-								<view class="flex1 txr f13" :class="datainfo.hasParkingSpace?'co27':'coa'">{{datainfo.hasParkingSpace?'是':'请选择有/无'}}</view>
+								<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>
@@ -75,127 +53,102 @@
 							<view class="rimg"></view>
 						</view>
 					</uni-forms-item>
-				</view>
+				</uni-forms>
+				<view class="rhbtn mt30" @click="getSubmit">确定添加</view>
 			</view>
-		</uni-forms>
-		<view class="pdlr12 mt55">
-			<view class="rhbtn" @click="getNext">确定添加</view>
 		</view>
-
 		<loading></loading>
 	</view>
 </template>
 
 <script>
 	import config from '@/config'
-	import {checkPermi,checkRole} from "@/utils/permission"; // 权限判断函数
-	import {uploadIdentify} from '@/utils/common.js'
-	import {houseInfoAdd,houseInfoPut,houseInfoDet} from "@/api/work/people.js"
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import {uploadIdentify,selectValueKey,geocodeAddress} from '@/utils/common.js'
 	import {getDictionaryFn} from "@/api/system/user.js"
-	import {selectValueKey} from "@/utils/common.js"
-	export default {
-		components: {},
-		data() {
-			return {
-				line: require('@/car/static/car/line.png'),
-				car: require('@/car/static/car/carico.png'),
+	import {houseInfoAdd,houseInfoPut,houseInfoDet} from "@/api/work/work.js"
+	export default{
+		components:{},
+		data(){
+			return{
 				rimg: require('@/people/static/people/rimg.png'),
-				aphoto: require('@/people/static/people/aphoto.png'),
-				check: require('@/people/static/people/check.png'),
-				ncheck: require('@/people/static/people/ncheck.png'),
-				baseUrl: config.baseUrl,
-				checkflag:true,
-				datainfo: {
-					// "houseId":"",//房屋信息主键
-					 "ownerName":"",////权利人姓名
+				cmico:require('@/people/static/people/cmico.png'),
+				baseUrl:config.baseUrl,
+				datainfo:{
+					 // "houseId":"",//房屋信息主键
+					 "ownerName":"",//权利人姓名
 					 "location":"",//房屋坐落位置
 					 "rightType":"",//权利类型,如所有权、使用权等
 					 "area":"",//房屋面积,单位为平方米
-					 "documentNumber":"",//房屋相关的字第号
-					 "propertyUnitNumber":"",//不动产单元号
-					 "coOwnership":"",//房屋的共有情况,如共有比例等
-					 "usageType":"",//房屋用途,如住宅、商业等
-					 "usagePeriod":"",//房屋使用期限
-					 "registrationDate":"",//房屋登记日期
-					 "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
+					 // "documentNumber":"",//房屋相关的字第号
+					 // "propertyUnitNumber":"",//不动产单元号
+					 // "coOwnership":"",//房屋的共有情况,如共有比例等
+					 // "usageType":"",//房屋用途,如住宅、商业等
+					 // "usagePeriod":"",//房屋使用期限
+					 // "registrationDate":"",//房屋登记日期
+					 // "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
 					 "detailedAddress":"",//房屋的详细门牌号
 					 "hasParkingSpace":"",//是否有车位,Y表示有,N表示无
 					 "communityName":"",//房屋所在小区名称
-					 "houseStatus":""//房屋状态:1-自住,2-出租,3-空闲,4-待售
+					 // "houseStatus":""//房屋状态:1-自住,2-出租,3-空闲,4-待售
+				},
+				rules: {
+				  location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
+				  detailedAddress: {rules: [{required: true,errorMessage: '请输入详细门牌号' }]},
+				  area: {rules: [{required: true,errorMessage: '请输入面积' }]},
 				},
-				cwlist:[{dictLabel:'有',dictValue:"Y"},{dictLabel:'无',dictValue:"N"}],
 				id:'',
+				ptype:'add',
+				fwzt:'',
+				qllx:'',
+				fwyt:'',
+				ywcw:'',
 				fwztidx:'',
+				qllxidx:'',
+				fwytidx:'',
+				ywcwidx:'',
 				fwztList:[],
 				qllxList:[],
 				fwytList:[],
+				ywcwList:[{dictLabel:'有',dictValue:'Y'},{dictLabel:'无',dictValue:'N'},],
 				isdisabled:false,
+				latitude:'',
+				longitude:"",
 			}
 		},
-		onLoad: function() {
-
+		onLoad: function(e) {
+			// this.init()
 		},
-		methods: {
-			checkPermi,
-			checkRole,
-			init(){
-				// 房屋状态
-				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
-							}
-						})
-					}
-				})
+		methods:{
+			checkPermi, checkRole,
+			statusFormats(data, list,type) {
+				var aite=selectValueKey(list, data);
+				if(type=='ywcw'){
+					this.ywcwidx=aite.key;
+				}
+				return aite.actions;
 			},
-			bindDateChange(e){
+			bindDateChanged(e){
 				var val=e.detail.value;
-				// this.datainfo.applicationBank=this.sdyhlist[val].value;
-				// this.applicationBank=this.sdyhlist[val].label;
+				this.datainfo.hasParkingSpace=this.ywcwList[val].dictValue;
+				this.ywcw=this.ywcwList[val].dictLabel;
 			},
-			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.realName = datainfo.realName;
-							this.datainfo.idCard = datainfo.idCard;
-							this.datainfo.address = datainfo.address;
-						} else {
-							this.datainfo.expirationDate = datainfo.expirationDate
+			getSubmit(){
+				this.$refs.form.validate().then(res => {
+					var params=JSON.parse(JSON.stringify(this.datainfo))
+					houseInfoAdd(params).then(res=>{
+						if(res.code==200){
+							this.$toast("新增成功")
+							setTimeout(function(){
+								uni.$emit("refHouseList")
+								uni.navigateBack({
+									delta:1
+								})
+							},1500)
 						}
-					}
+					})
 				})
-			}
+			},
 		}
 	}
 </script>
@@ -203,40 +156,35 @@
 	page{background: #F3F3F0;}
 </style>
 <style lang="scss" scoped>
+.coa /deep/ .uni-date__x-input{text-align: right;color: #AAAAAA;}
+.check /deep/ .uni-date-editor--x__disabled{opacity: 1;}
 .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 /deep/ .uni-forms-item:last-child{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-forms-item__label text{width: 110rpx;text-align-last: justify;}
-.check /deep/ .uni-data-checklist{flex: 0 0 auto;}
-.check{min-height: 100vh;padding: 20rpx 18rpx 24rpx;box-sizing: border-box;}
-.cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;margin-bottom: 24rpx;
-	.chtop{padding-top: 32rpx;margin-bottom: 8rpx;
-		image{width: 14rpx;height: 48rpx;margin-right: 20rpx;}
+.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: 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;}
 	}
 	.chmain{
 		padding: 0 32rpx;
 		.upbox{height: 224rpx;background: #EFF4FF;border-radius: 20rpx;display: flex;align-items: center;justify-content: center;flex-direction: column;margin-bottom: 8rpx;overflow: auto;
 			.img{width: 100%;height: 100%;}
-			.addimg{width: 70rpx;height: 70rpx;margin-bottom: 16rpx;}
+			.addimg{width: 90rpx;height: 90rpx;margin-bottom: 8rpx;}
 			view{font-weight: bold;font-size: 26rpx;color: #4C6686;}
 		}
-		.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
-			image{width: 100%;height: 100%;}
-		}
-		.checkimg{width: 80rpx;height: 40rpx;margin-right: 8rpx;}
-		.aphoto{padding: 0 24rpx;border-left: 2rpx solid #e6e6e6;margin-left: 26rpx;
-			image{width: 40rpx;height: 38rpx;}
-		}
 	}
-	
+	.rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
+		image{width: 100%;height: 100%;}
+	}
 }
 .tips{font-weight: bold;color: #272727;font-size: 26rpx;margin-left: 8rpx;}
-</style>
+</style>