Ver Fonte

测试修改

zouling há 3 meses atrás
pai
commit
57a96e168a

+ 34 - 0
user_ui/api/system/card.js

@@ -0,0 +1,34 @@
+import request from '@/utils/request'
+//身份证识别
+export function getOcrIdCard(data) {
+  return request({
+    'url': '/ocr/ocrIdCard',
+    'method': 'post',
+	'data':data
+  })
+}
+//车牌照识别
+export function getlicensePlate(data) {
+  return request({
+    'url': '/ocr/licensePlate',
+    'method': 'post',
+	'data':data
+  })
+}
+//房产证识别wuYe:ocr:realEstateCertificate
+export function getrealEstateCertificatee(data) {
+  return request({
+    'url': '/ocr/realEstateCertificate',
+    'method': 'post',
+	'data':data
+  })
+}
+//行驶证识别wuYe:ocr:vehicleLicense
+export function getvehicleLicense(data) {
+  return request({
+    'url': '/ocr/vehicleLicense',
+    'method': 'post',
+	'data':data
+  })
+}
+

+ 1 - 0
user_ui/config.js

@@ -3,6 +3,7 @@ module.exports = {
   // baseUrl: 'https://vue.ruoyi.vip/prod-api',
   // baseUrl: 'http://47.99.82.249:5010/prod-api',
   baseUrl: 'http://192.168.101.245:8065',
+  // baseUrl: 'http://192.168.101.168:8065',
   // baseUrlimg: 'http://114.99.127.243:2001',
   // 应用信息
   appInfo: {

+ 96 - 75
user_ui/health/pages/health/add.vue

@@ -10,13 +10,13 @@
 					<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>
+							<view class="carbox" @click="getaddImagea('front')">
+								<image :src="baseUrl+datainfo.idCardBack" class="img" v-if="datainfo.idCardBack"></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>
+							<view class="carbox" @click="getaddImagea('back')">
+								<image :src="baseUrl+datainfo.idCardFront" class="img" v-if="datainfo.idCardFront"></image>
 								<image :src="cardf" class="img" v-else></image>
 								<view class="tit">拍摄国徽面</view>
 							</view>
@@ -39,7 +39,12 @@
 					<uni-forms-item label="性别" required name="residentGender">
 						<view class="flexc">
 							<view class="flex1"></view>
-							<uni-data-checkbox  :map="map" :disabled="isdisabled" selectedColor="#0156FE" selectedTextColor="#272727" :value="datainfo.residentGender" :localdata="xbList" />
+							<uni-data-checkbox  :map="map" :disabled="isdisabled" selectedColor="#0156FE" selectedTextColor="#272727" v-model="datainfo.residentGender" :localdata="xbList" />
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="家庭地址" required name="idCardAddress">
+						<view class="flexc">
+							<uni-easyinput  disabled  v-model="datainfo.idCardAddress"  :inputBorder='false' placeholder="自动识别" />
 						</view>
 					</uni-forms-item>
 					<uni-forms-item label="手机号码" required name="residentPhone">
@@ -47,7 +52,7 @@
 							<uni-easyinput  :disabled="isdisabled"  v-model="datainfo.residentPhone"  :inputBorder='false' placeholder="请输入手机号码" />
 						</view>
 					</uni-forms-item>
-					<uni-forms-item label="居住门户" name="portalId">
+					<uni-forms-item label="居住门户" required name="portalId">
 						<w-select
 						      style="margin-left: 20rpx;" 
 						     v-model="chooseValue"
@@ -60,11 +65,7 @@
 						    >
 						    </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">
@@ -101,25 +102,27 @@
 							</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>
+					<picker range-key='dictLabel' :disabled="isdisabled" :value="dslxidx" :range="dslxList"   @change='bindDateChanged'>
+						<uni-forms-item label="特殊类型" name="specialType">
+							<view class="flexc mh35">
+								<view class="flex1 txr f13 co27" v-if="datainfo.specialType&&!dslx">{{statusFormats(datainfo.residentAppearance,dslxList,'dslx')}}</view>
+								<view class="flex1 txr f13" v-else :class="dslx?'co27':'coa'">{{dslx||"如有五保户等特殊类型,请选择"}}</view>
+								
 							</view>
 						</uni-forms-item>
-					</picker> -->
+					</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">
+					<uni-forms-item label="兴趣爱好" name="residentHobby">
 						<view class="flexc ml10">
-							<uni-easyinput type="textarea" :disabled="isdisabled" autoHeight v-model="datainfo.hobby" :inputBorder='false' placeholder="请输入兴趣爱好" />
+							<uni-easyinput type="textarea" :disabled="isdisabled" autoHeight v-model="datainfo.residentHobby" :inputBorder='false' placeholder="请输入兴趣爱好" />
 						</view>
 					</uni-forms-item>
 					
-					<uni-forms-item label="上传头像" name="phonenumber">			
+					<uni-forms-item label="上传头像" name="facePhoto">			
 						<view class="addimgs">
 							<block v-if="phofile&&phofile.length">
 								<view class="assimg" v-for="(ite,idx) in phofile" :key="idx" @click="getPreview(idx,phofile)">
@@ -152,6 +155,7 @@
 	import {residentInfoAdd,residentInfoPut,residentInfoDet} from "@/api/work/people.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
 	import {selectValueKey} from "@/utils/common.js"
+	import {getOcrIdCard} from "@/api/system/card.js"
 	import wSelect from "@/work/components/w-select/w-select.vue"
 	export default {
 		components: {wSelect},
@@ -175,12 +179,18 @@
 					"residentBirthday":"",//居住人员出生日期
 					// "yearsOld":"",//年龄
 					"residentPhone":"",//居住人员手机号
-					"residentGender":1,//居住人员性别:1-男,2-女
+					"residentGender":'',//居住人员性别:1-男,2-女
 					"residentRelationship":"",//居住人员与户主的关系,如父子、夫妻等
 					"isHouseholder":"",//是否是户主 N不是 Y是
 					"isTenant":"",//是否是租户:Y-是,N-否
 					"residentEmployer":"",//居住人员工作单位
-					"residentAppearance":""//居住人员面貌,如党员、群众等
+					"residentAppearance":"",//居住人员面貌,如党员、群众等
+					"residentHobby":"",//爱好
+					"facePhoto":"",//人脸地址
+					"idCardAddress":"",//身份证住址
+					"specialType":"",//特殊类型
+					"idCardFront":"",//身份证正面
+					"idCardBack":"",//身份证反面
 				},
 				rules:{
 					residentIdCard: {rules: [{required: true,errorMessage: '请输入身份证号码' }]},
@@ -198,15 +208,18 @@
 				hzgx:"",
 				sfzh:"",
 				rymm:"",
+				dslx:"",
 				sfhzidx:0,
 				hzgxidx:0,
 				sfzhidx:0,
 				rymmidx:0,
 				sfhzidx:0,
+				dslxidx:0,
 				list:[],
 				sfList:[],
 				hzgxList:[],
 				rymmList:[],
+				dslxList:[],
 				xbList:[],
 				phofile:[],
 				fwlist:[],
@@ -307,6 +320,18 @@
 						})
 					}
 				})
+				// 特殊类型
+				
+				getDictionaryFn('special_type').then(res=>{
+					if(res.code==200){
+						this.dslxList = res.data.map(v => {
+							return {
+								dictLabel: v.dictLabel,
+								dictValue: v.dictValue
+							}
+						})
+					}
+				})
 				//性别
 				getDictionaryFn('gender').then(res=>{
 					if(res.code==200){
@@ -345,6 +370,11 @@
 				this.datainfo.residentAppearance=this.rymmList[val].dictValue;
 				this.rymm=this.rymmList[val].dictLabel;
 			},
+			bindDateChanged(e){
+				var val=e.detail.value;
+				this.datainfo.specialType=this.dslxList[val].dictValue;
+				this.dslx=this.dslxList[val].dictLabel;
+			},
 			getDetail(){
 				residentInfoDet(this.id).then(res=>{
 					if(res.code==200){
@@ -460,60 +490,51 @@
 					}
 				});
 			},
-			// 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
-			// 			}
-			// 		}
-			// 	})
-			// }
+			getaddImagea(e) {
+				let that = this;
+				let file = []
+				uni.chooseImage({
+					count: 1,
+					success: function(res) {
+						let img = res.tempFilePaths;
+						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.idCardBack = resurl.fileName;
+								if (rs && rs.length > 0) {
+									var obj = {
+										type: e,
+										url: resurl.urlOnline
+									}
+									that.getOcrIdCard(obj)
+								}
+							} else {
+								that.datainfo.idCardFront = resurl.fileName;
+							}
+						})
+					}
+				});
+			},
+			getOcrIdCard(obj) {
+				var params = {
+					image: obj.url,
+					idCardSide: obj.type
+				}
+				getOcrIdCard(params).then(res => {
+					if (res.code == 200) {
+						var datainfo = res.data;
+						if (obj.type == 'front') {
+							this.datainfo.residentName = datainfo.realName;
+							this.datainfo.residentIdCard = datainfo.idCard;
+							this.datainfo.idCardAddress = datainfo.address;
+						// } else {
+						// 	this.datainfo.expirationDate = datainfo.expirationDate
+						}
+					}
+				})
+			}
 		}
 	}
 </script>

+ 20 - 10
user_ui/mine/components/box/list.vue

@@ -10,14 +10,17 @@
 				<view class="delleft" style="padding: 0 24rpx;">
 					<view class="carltop flexc">
 						<view class="flex1">
-							<view class="tit mb6" :class="ite.vehicleType=='新能源'?'co16':'co01'">{{ite.plateNumber}}</view>
+							<view class="tit mb6 flexc" :class="ite.vehicleEnergy=='新能源'?'co16':'co01'">{{ite.plateNumber}}
+								<text class="cir"></text>
+								<text v-if="ite.vehicleColour">{{ite.vehicleColour}}</text>
+							</view>
 							<view class="txt flexc">
-								{{kaType(ite.vehicleBrand,clcxList)}}
-								<view class="txtbtn flexcc">{{ite.vehicleType}}</view>
+								{{ite.vehicleBrand}}
+								<view class="txtbtn flexcc" v-if="ite.vehicleEnergy=='新能源'">{{ite.vehicleEnergy}}</view>
 								<!-- <view class="txtbtn flexcc" v-if="ite.vehicleType==2">新能源</view> -->
 							</view>
 						</view>
-						<image :src="carb" class="carb" v-if="ite.vehicleType=='新能源'"></image>
+						<image :src="carb" class="carb" v-if="ite.vehicleEnergy=='新能源'"></image>
 						<image :src="cara" class="cara" v-else></image>
 					</view>
 					<view class="carlf">
@@ -97,15 +100,15 @@
 			<view class="carlist peolist" v-for="(ite,idx) in datainfo" :key="idx">
 				<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>
-					<image :src="houseb" class="imgs" v-if="ite.houseStatus==3"></image>
-					<image :src="housec" class="imgs" v-if="ite.houseStatus==4"></image>
+					<image :src="housea" class="imgs" v-if="ite.houseStatus==4"></image>
+					<image :src="houseb" class="imgs" v-if="ite.houseStatus==2"></image>
+					<image :src="housec" class="imgs" v-if="ite.houseStatus==3"></image>
 					<view class="tit">{{ite.detailedAddress}}</view>
 					<view class="flex1"></view>
 					<view class="txt ca" v-if="ite.houseStatus==1">自住</view>
-					<view class="txt cb" v-if="ite.houseStatus==2">出租</view>
-					<view class="txt cc" v-if="ite.houseStatus==3">空闲</view>
-					<view class="txt co6" v-if="ite.houseStatus==4">代售</view>
+					<view class="txt cb" v-if="ite.houseStatus==4">出租</view>
+					<view class="txt cc" v-if="ite.houseStatus==2">空闲</view>
+					<view class="txt co6" v-if="ite.houseStatus==3">代售</view>
 				</view>
 				<view class="plists">
 					<block v-for="(aite,aidx) in ite.residentInfoList">
@@ -541,6 +544,13 @@
 .mb10{margin-bottom: 20rpx;}
 .carlist{background: #FFFFFF;border-radius: 20rpx;margin-bottom: 24rpx;
 	.carltop{min-height: 154rpx;border-bottom: 2rpx solid #E5E5E5;
+		.cir{width: 8rpx;height: 8rpx;border-radius: 50%;margin: 0 8rpx;display: inline-block;}
+		.co16{
+			.cir{background: #16BE7F;}
+		}
+		.co01{
+			.cir{background: #0156FE;}
+		}
 		.tit{font-weight: bold;font-size: 32rpx;}
 		.txt{font-weight: 500;font-size: 26rpx;color: #272727;}
 		.txtbtn{min-width: 82rpx;

+ 131 - 89
user_ui/mine/pages/car/addcar.vue

@@ -12,12 +12,16 @@
 						<image :src="cmico" class="addimg"></image>
 						<view>扫描行驶证自动填写</view>
 					</view>
+					<view class="tips mb22 mt5 cof4">请上传行驶证正面</view>
 					<view class="carcode">
 						<view class="tit mb16 lh18"><text class="cof4">*</text>车牌号码</view>
-						<!-- <view>需车牌插件</view> -->
 						<view class="carinput-input">
-							<view class="carinput-input-i" :class="{'input-active':carIndex == i}" @tap.stop="inputKey" :data-index="i" v-for="(v,i) in carInput" :key="i" v-show="i < 7">
-								<!-- 塞个点 -->
+							<view class="carinput-input-i" :class="{'input-active':carIndex == i}" @tap.stop="inputKey" :data-index="i" v-for="(v,i) in carInput" :key="i" v-if="i < 2">
+								{{carInput[i].val}}
+							</view>
+							<!-- 塞个点 -->
+							<view class="cir"></view>
+							<view class="carinput-input-i" :class="{'input-active':carIndex == i}" @tap.stop="inputKey" :data-index="i" v-for="(v,i) in carInput" :key="i" v-if="i < 7&&i>1">
 								{{carInput[i].val}}
 							</view>
 							<view class="carinput-input-i " :class="{'input-active':carIndex == 7}" @tap.stop="inputKey" data-index="7">
@@ -30,11 +34,17 @@
 							</view>
 						</view>
 					</view>
-					<uni-forms-item label="车牌号" name="plateNumber">
-						<view class="flexc" @click="">
+					<!-- <uni-forms-item label="车牌号" name="plateNumber">
+						<view class="flexc">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.plateNumber" :inputBorder='false' placeholder="请输入车牌号" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</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 class="rimg"><image :src="rimg"></image></view>
+						</view>
 					</uni-forms-item>
 					<block v-if="zhanfalg">
 						<uni-forms-item label="居住门户" name="houseId">
@@ -50,35 +60,32 @@
 							    >
 							    </w-select>
 						</uni-forms-item>
-					<uni-forms-item label="品牌车型" name="vehicleBrand">
-						<picker range-key='dictLabel' :disabled="isdisabled" :value="cllxidx" :range="cllxList"   @change='bindDateChange'>
-							<view class="flexc mh35">
-								<view class="flex1 txr f13 co27" v-if="datainfo.vehicleBrand&&!cllx">{{statusFormats(datainfo.vehicleBrand,cllxList,'cllx')}}</view>
-								<view class="flex1 txr f13" v-else :class="cllx?'co27':'coa'">{{cllx||"请选择品牌车型"}}</view>
+						<uni-forms-item label="品牌车型" name="vehicleBrand">
+							<view class="flexc">
+								<uni-easyinput :disabled="isdisabled" v-model="datainfo.vehicleBrand" :inputBorder='false' placeholder="请输入品牌车型" />
 								<view class="rimg"><image :src="rimg"></image></view>
 							</view>
-						</picker>
-					</uni-forms-item>
-					<!-- <uni-forms-item label="车辆类型" name="vehicleType">
+						</uni-forms-item>
+					<uni-forms-item label="车辆类型" name="vehicleType">
 						<view class="flexc" @click.stop="">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.vehicleType" :inputBorder='false' placeholder="请输入车辆类型" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
-					</uni-forms-item> -->
+					</uni-forms-item>
 					<uni-forms-item label="车辆颜色" name="vehicleColour">
-						<view class="flexc" @click="">
+						<view class="flexc">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.vehicleColour" :inputBorder='false' placeholder="请输入车辆颜色" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
 					</uni-forms-item>
 					<uni-forms-item label="发动机编号" name="engineNumber">
-						<view class="flexc" @click="">
+						<view class="flexc">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.engineNumber" :inputBorder='false' placeholder="请输入发动机编号" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
 					</uni-forms-item>
 					<uni-forms-item label="车辆识别代号" name="identificationNumber">
-						<view class="flexc" @click="">
+						<view class="flexc">
 							<uni-easyinput :disabled="isdisabled" v-model="datainfo.identificationNumber" :inputBorder='false' placeholder="请输入车辆识别代号" />
 							<view class="rimg"><image :src="rimg"></image></view>
 						</view>
@@ -118,6 +125,7 @@
 	import {houseInfolistNoPage} from "@/api/work/work.js"
 	import {carPut,carAdd,carDet} from "@/api/work/car.js"
 	import {getDictionaryFn} from "@/api/system/user.js"
+	import {getvehicleLicense} from "@/api/system/card.js"
 	import tkiFloatKeyboard from "@/mine/components/tki-float-keyboard/tki-float-keyboard.vue";
 	export default{
 		components:{wSelect,tkiFloatKeyboard},
@@ -145,14 +153,19 @@
 					// "carId":"",//业主车辆主键
 					"houseId":"",//房屋信息id
 					"detailedAddress":"",//房屋的详细门牌号
-					"userId":"",//用户id
+					// "userId":"",//用户id
 					"residentId":"",//居住人员表id
-					"userName":"",//业主姓名
+					// "userName":"",//业主姓名
 					"residentPhone":"",//业主手机号
 					"plateNumber":"",//车牌号码
 					"vehicleBrand":"",//车辆车型
-					// "vehicleType":"",//车辆类型
+					"vehicleType":"",//车辆类型
+					"engineNumber":"",//发动机编号
+					"identificationNumber":"",//车辆识别代号
+					"registrationDate":"",//注册日期
+					"issueDate":"",//发证日期
 				},
+				// vehicleEnergy 	车辆能源类型 燃油 新能源
 				zhanfalg:true,
 				syqxidx:'',
 				filterable:true,
@@ -162,9 +175,7 @@
 				rules:{
 					houseId: {rules: [{required: true,errorMessage: '请选择居住门户' }]},
 					detailedAddress: {rules: [{required: true,errorMessage: '请输入居住地址' }]},
-					// name: {rules: [{required: true,errorMessage: '请输入访客姓名' }]},
-				 //  portalId: {rules: [{required: true,errorMessage: '请选择来访门户' }]},
-				 //  mobileNumber: {rules: [{required: true,errorMessage: '请输入手机号'}, {pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,errorMessage:'请输入正确的手机号码'}]},
+					residentPhone: {rules: [{required: true,errorMessage: '请输入手机号'}, {pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,errorMessage:'请输入正确的手机号码'}]},
 				  },
 				cllx:"",
 				cllxidx:0,
@@ -172,6 +183,8 @@
 				id:'',
 				isdisabled:false,
 				ptype:'add',
+				userId:this.$store.state.user.userId,
+				phonenumber:this.$store.state.user.phonenumber,
 			}
 		},
 		onLoad: function(e) {
@@ -180,8 +193,11 @@
 				this.ptype="edit";
 				this.isdisabled=true;
 				this.getDetail()
+			}else{
+				this.datainfo.residentPhone=this.phonenumber
 			}
 			this.init()
+			
 		},
 		methods:{
 			checkPermi, checkRole,
@@ -201,7 +217,10 @@
 			},
 			init(){
 				// 自己的房屋
-				houseInfolistNoPage().then(res=>{
+				var params={
+					userId:this.userId
+				}
+				houseInfolistNoPage(params).then(res=>{
 					if(res.code==200){
 						this.fwlist= res.rows.map(v => {
 							return {
@@ -212,17 +231,17 @@
 						})
 					}
 				})
-				// 车辆类型
-				getDictionaryFn('cartype').then(res=>{
-					if(res.code==200){
-						this.cllxList = res.data.map(v => {
-							return {
-								dictLabel: v.dictLabel,
-								dictValue: v.dictValue
-							}
-						})
-					}
-				})
+				// // 车辆类型
+				// getDictionaryFn('cartype').then(res=>{
+				// 	if(res.code==200){
+				// 		this.cllxList = res.data.map(v => {
+				// 			return {
+				// 				dictLabel: v.dictLabel,
+				// 				dictValue: v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
 			},
 			bindDateChange(e){
 				var val=e.detail.value;
@@ -232,25 +251,24 @@
 			getDetail(){
 				carDet(this.id).then(res=>{
 					if(res.code==200){
-						this.datainfo=res.data
+						this.datainfo=res.data;
+						if(res.data.plateNumber){
+							this.toCarCode(res.data.plateNumber)
+							if(res.data.vehicleEnergy=='新能源'){
+								this.isPower=true;
+							}
+						}
 					}
 				})
 			},
 			getSubmit(){
+				var num=this.toBind()
+				if(num=='-1'){
+					this.$toast('请输入完整的车牌号')
+					return
+				}
 				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(this.ptype=='add'){
 						carAdd(params).then(res=>{
 							if(res.code==200){
@@ -280,16 +298,6 @@
 			},
 			getaddImage(e){
 				let that = this;
-				// var rs=['D:\\idcard.png']
-				// if(rs&&rs.length>0){
-				// 	var obj={
-				// 		type:e,
-				// 		// url:baseUrl+rs.join(',')
-				// 		url:rs.join(',')
-				// 	}
-				// 	that.getOcrIdCard(obj)
-				// }
-				// return
 				let file =[],count=9
 				uni.chooseImage({
 					count: 1,
@@ -306,14 +314,13 @@
 							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(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)
@@ -326,18 +333,20 @@
 			getOcrIdCard(obj){
 				var params={
 					image:obj.url,
-					idCardSide:obj.type
 				}
-				getOcrIdCard(params).then(res=>{
+				getvehicleLicense(params).then(res=>{
 					if(res.code==200){
 						var datainfo=res.data;
-						if(obj.type=='front'){
-							this.datainfo.realName=datainfo.realName;
-							this.datainfo.idCard=datainfo.idCard;
-							this.datainfo.address=datainfo.address;
-						}else{
-							this.datainfo.expirationDate=datainfo.expirationDate
-						}
+						this.datainfo.vehicleBrand=datainfo.vehicleBrand;
+						this.datainfo.vehicleType=datainfo.vehicleType;
+						this.datainfo.engineNumber=datainfo.engineNumber;
+						this.datainfo.identificationNumber=datainfo.identificationNumber;
+						var zcrq=datainfo.registrationDate;
+						var fzrq=datainfo.issueDate;
+						this.datainfo.registrationDate=`${zcrq.slice(0, 4)}-${zcrq.slice(4, 6)}-${zcrq.slice(6, 8)}`;
+						this.datainfo.issueDate=`${fzrq.slice(0, 4)}-${fzrq.slice(4, 6)}-${fzrq.slice(6, 8)}`;
+						this.datainfo.plateNumber=datainfo.plateNumber;
+						this.toCarCode(datainfo.plateNumber)
 					}
 				})
 			},
@@ -363,15 +372,17 @@
 				let that = this;
 				let data = e.currentTarget.dataset;
 				that.carIndex = data.index;
-				// if (data.index >= 7) {
-				// 	if (!that.isPower) {
-				// 		return false;
-				// 	} else {
-				// 		that.carIndex = 7;
-				// 	}
-				// } else {
-				// 	that.carIndex = data.index;
-				// }
+				if (data.index >= 7) {
+					that.isPower=true;
+					that.carIndex = 7;
+					// if (!that.isPower) {
+					// 	return false;
+					// } else {
+					// 	that.carIndex = 7;
+					// }
+				} else {
+					that.carIndex = data.index;
+				}
 				that.upKeyType();
 				that.keyShow();
 			},
@@ -403,6 +414,7 @@
 			},
 			keyCbDel(e) {
 				let index = this.carIndex;
+				console.log(index,1)
 				if (index > 0) {
 					if (!this.empty(this.carInput[index].val)) {
 						this.carInput[index].val = "";
@@ -411,6 +423,12 @@
 						this.carInput[index - 1].val = "";
 						this.carIndex = index - 1;
 					}
+					if(index==7){
+						var obj={ type: 1, val: "" }
+						this.carInput.splice(index,1,obj)
+						this.isPower=false;
+					}
+					console.log(this.carInput)
 				}
 				this.upKeyType();
 			},
@@ -475,13 +493,35 @@
 				let that = this
 				let ck = that.checkCar();
 				if (ck.i == -1 && !ck.isempty) {
-					console.log('可以绑定车牌了')
+					this.datainfo.plateNumber=ck.val;
+					if(this.isPower){
+						this.datainfo.vehicleEnergy='新能源'
+					}else{
+						this.datainfo.vehicleEnergy='燃油车'
+					}
+					return ck.val
 				} else {
 					// 显示键盘输入
-					that.keyShow();
-					that.carIndex = ck.i;
-					that.keyType = that.carInput[ck.i].type
+					// that.keyShow();
+					// that.carIndex = ck.i;
+					// that.keyType = that.carInput[ck.i].type;
+					return '-1'
 				}
+			},
+			//分解车牌
+			toCarCode(code){
+				var list=JSON.parse(JSON.stringify(this.carInput))
+				var newArr=[]
+				if(code){
+					newArr=code.split('')
+				}
+				list.forEach((ite,idx)=>{
+					ite.val=newArr[idx]
+				})
+				if(newArr.length==8){
+					this.isPower=true;
+				}
+				this.carInput=JSON.parse(JSON.stringify(list))
 			}
 		}
 	}
@@ -492,8 +532,9 @@
 <style lang="scss" scoped>
 // 车牌
 .carinput {margin-top: 74rpx;display: flex;flex-direction: column;padding-left: 40rpx;padding-right: 40rpx}
-.carinput-input{display: flex;justify-content: center;padding-bottom: 40rpx;border-bottom: 2rpx solid #CDCDCD;
+.carinput-input{display: flex;justify-content: center;padding-bottom: 40rpx;border-bottom: 2rpx solid #CDCDCD;align-items: center;
 	.input-active {color: #0256FD;border: 2rpx solid #0256FD;}
+	.cir{width: 14rpx;height: 14rpx;background: #8D8D8D;border-radius: 50%;margin-right: 18rpx;}
 }
 	
 .carinput-input-i{width: 62rpx;height: 88rpx;background: #F5F4F7;border-radius: 10rpx;font-weight: bold;font-size: 30rpx;color: #272727;margin-right: 18rpx;text-align: center;box-sizing: border-box;display: flex;flex-direction: column;align-items: center;justify-content: center;
@@ -502,8 +543,9 @@
 		image{width: 28rpx;height: 28rpx;margin-bottom: 4rpx;}
 	}
 }
+.check /deep/ .uni-date-editor--x__disabled{opacity: 1;}
 .carinput-input-i:nth-last-child(1) {margin-right: 0}
-
+.check /deep/ .uni-forms-item__label .is-required{width: auto;}
 .coa /deep/ .uni-date__x-input{text-align: right;color: #AAAAAA;}
 .check /deep/ .select-wrap{border: none;width: 100%;}
 .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;}
@@ -523,7 +565,7 @@
 	}
 	.chmain{
 		padding: 0 24rpx;
-		.upbox{height: 224rpx;background: #EFF4FF;border-radius: 20rpx;display: flex;align-items: center;justify-content: center;flex-direction: column;margin-bottom: 44rpx;overflow: auto;
+		.upbox{height: 224rpx;background: #EFF4FF;border-radius: 20rpx;display: flex;align-items: center;justify-content: center;flex-direction: column;overflow: auto;
 			.img{width: 100%;height: 100%;}
 			.addimg{width: 90rpx;height: 90rpx;margin-bottom: 8rpx;}
 			view{font-weight: bold;font-size: 26rpx;color: #4C6686;}

+ 3 - 2
user_ui/mine/pages/car/illegalParking.vue

@@ -4,6 +4,7 @@
 			
 			<view class="tabtop flexc">
 				<view class="tabt" :class="tabval==ite.val?'act':''" v-for="(ite,idx) in tablist" :key="idx" @click="getTabFn(ite.val)">{{ite.tit}}</view>
+				<view class="flex1"></view>
 				<view class="topa flexc">
 					<image :src="reset" class="resetimg" @click="getReset"></image>
 					<picker mode="date"   @change='bindDateChangea'>
@@ -45,7 +46,7 @@
 				wtdt:'暂无数据',
 				tabval:'1',
 				phonenumber:this.$store.state.user.phonenumber,
-				tablist:[{tit:'我的车辆',val:'1'},{tit:'访客车辆',val:'2'},],
+				tablist:[{tit:'我的车辆',val:'1'}],
 				carType:[],//车辆类型
 			}
 		},
@@ -126,7 +127,7 @@
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
 					mobileNumber:this.phonenumber,
-					carType:'1'
+					// carType:'1'
 				}
 				// if(this.tabval!='-1'){
 				// 	params.carType=this.tabval

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

@@ -37,12 +37,6 @@
 				</view>
 			</view>
 		</view>
-		<block >
-			<!-- v-if="datainfo.isBlack=='Y'" -->
-			<view style="height: 100rpx;"></view>
-			<view class="rfbtn" @click="getDelFn" >解除黑名单</view>
-		</block>
-		
 		<loading></loading>
 	</view>
 </template>
@@ -175,6 +169,7 @@
 		image{width: 14rpx;height: 48rpx;margin-right: 20rpx;}
 		view{font-weight: bold;font-size: 32rpx;color: #272727;}
 		.num{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+		.line{width: 14rpx;height: 48rpx;background: #0256FD;border-radius:0 12rpx 12rpx 0;margin-right: 18rpx;}
 	}
 	.steps{display: flex;padding: 0 32rpx 12rpx;position: relative;
 		&::after{content: '';background: #E6E6E6;width: 2rpx;position: absolute;top: 38rpx;bottom: -14rpx;left: 44rpx;}

+ 6 - 3
user_ui/mine/pages/car/index.vue

@@ -2,10 +2,10 @@
 	<view class="carbox">
 		<view class="flex1 cartop">
 			<box-list :datainfo="list" type="mycar" :clcxList="clcxList" @getDetail="getDetail" @getDelFn="getDelFn"></box-list>
-			<view class="cartips flexc mt16 mb16" @click="getChargeFn">
+			<!-- <view class="cartips flexc mt16 mb16" @click="getChargeFn">
 				<view class="tit flex1">当前有车辆<text class="co025">充电中…</text></view>
 				<image :src="rimg"></image>
-			</view>
+			</view> -->
 		</view>
 		<view class="plr12 flex0">
 			<view class="rhbtn" @click="getAddFn">添加车辆</view>
@@ -31,7 +31,9 @@
 				pageNum: 1,
 				reachflag: true,
 				wtdt:'',
-				clcxList:[]
+				clcxList:[],
+				userId:this.$store.state.user.userId,
+				phonenumber:this.$store.state.user.phonenumber,
 			}
 		},
 		onUnload() {
@@ -90,6 +92,7 @@
 				var params={
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
+					residentPhone:this.phonenumber
 				}
 				carList(params).then(res=>{
 					if(res.code==200){

+ 6 - 3
user_ui/mine/pages/house/index.vue

@@ -53,7 +53,7 @@
 					<view class="flexc">
 						<view class="hblist w50">
 							<view class="laber"><text>房屋所属</text>:</view>
-							<view class="tit">{{ite.rightType}}</view>
+							<view class="tit">{{ite.ownerName}}</view>
 						</view>
 						<view class="hblist w50">
 							<view class="laber"><text>建筑面积</text>:</view>
@@ -110,6 +110,8 @@
 				wtdt:'',
 				delBtnWidth:66,//左滑默认宽度
 				nickName:this.$store.state.user.nickName,
+				userId:this.$store.state.user.userId,
+				phonenumber:this.$store.state.user.phonenumber,
 			}
 		},
 		onUnload() {
@@ -140,7 +142,6 @@
 				this.$tab.navigateTo("/mine/pages/house/addhouse")
 			},
 			getListFn(){
-				console.log(2)
 				this.$tab.navigateTo("/mine/pages/house/people")
 			},
 			getEdit(id){
@@ -176,7 +177,9 @@
 				});
 			},
 			getDataFn(){
-				var params={}
+				var params={
+					userId:this.userId,
+				}
 				houseInfoList(params).then(res=>{
 					if(res.code==200){
 						var newArr=JSON.parse(JSON.stringify(res.rows))

+ 4 - 0
user_ui/mine/pages/house/people.vue

@@ -55,6 +55,8 @@
 				reachflag: true,
 				wtdt:'',
 				houseId:'',
+				userId:this.$store.state.user.userId,
+				phonenumber:this.$store.state.user.phonenumber,
 			}
 		},
 		onUnload() {
@@ -136,6 +138,8 @@
 				var params={
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
+					residentPhone:this.phonenumber,
+					userId:this.userId
 				}
 				if(this.houseId){
 					params.houseId=this.houseId

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

@@ -148,9 +148,9 @@
 				var params={
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
-					partyType:this.tabval
+					partyType:this.tabval,
+					status:'1'
 				}
-				console.log(this.tabval,typeof(this.tabval))
 				partyNewsList(params).then(res=>{
 					if(res.code==200){
 						if (res.rows.length < this.pageSize) {

+ 2 - 1
user_ui/static/style.css

@@ -38,7 +38,8 @@ font-weight: bold;font-size: 26rpx;color: #FFFFFF;background: #0256FD;border-rad
 .delleft{background-color: #ffffff;border-radius: 20rpx;position: relative;z-index: 1;width: 100%;}
 .pr{position: relative;}
 
-
+.pdlr12{padding: 0 24rpx;}
+.plr15{padding: 0 30rpx;}
 .tdu{text-decoration: underline;}
 .lh18{line-height: 36rpx;}
 .f12{font-size: 24rpx;}

+ 5 - 2
user_ui/work/pages/visitor/vlist.vue

@@ -24,15 +24,17 @@
 				// up:require('@/work/static/car/up.png'),
 				cxrq:"",
 				text:'',
-				list:[{tit:'皖A IC520',type:1},{tit:'晋E KD783',type:2},],
+				list:[],
 				pageSize: 10,
 				pageNum: 1,
 				reachflag: true,
 				wtdt:'',
 				fkztList:[],
+				portalId:'5'
 			}
 		},
-		onLoad: function() {
+		onLoad: function(e) {
+			// this.portalId=e.houseId
 			this.init()
 			this.getDataFn()
 		},
@@ -97,6 +99,7 @@
 				var params={
 					pageSize:this.pageSize,
 					pageNum: this.pageNum,
+					portalId:this.portalId
 				}
 				reservList(params).then(res=>{
 					if(res.code==200){