Преглед изворни кода

添加老人列表和老人详情修改

chubiao пре 11 месеци
родитељ
комит
264dc7db2b

+ 9 - 0
api/kh.js

@@ -97,4 +97,13 @@ export function SaveYcxx(data) {
 		method: 'post',
 		data: data
 	})
+}
+
+// 活体认证回调
+export function CheckReturn(data) {
+	return request({
+		url: '/api/lnst/lrxx/checkReturn',
+		method: 'post',
+		data: data
+	})
 }

+ 2 - 0
manifest.json

@@ -86,6 +86,7 @@
                 "/api" : {
                     // "target" : "http://10.16.4.9:8080", // 需要跨域的域名
                     "target" : "http://10.16.4.5:8080", // 需要跨域的域名
+                    // "target" : "http://10.16.4.14:9090", // 需要跨域的域名
 
                     // "target" : "https://www.jlyanglao.com/prod-api", // 需要跨域的域名
                     // "target" : "http://121.36.73.159:805", // 需要跨域的域名
@@ -98,6 +99,7 @@
                 "/uploadPath" : {
                     // "target" : "http://10.16.4.9:8080/file/uploadPath/", // 需要跨域的域名
                     "target" : "http://10.16.4.5:8080/file/uploadPath/", // 需要跨域的域名
+                    // "target" : "http://10.16.4.14:9090/file/uploadPath/", // 需要跨域的域名
 
                     // "target" : "https://www.jlyanglao.com/prod-api/file/uploadPath/", // 需要跨域的域名
                     // "target" : "http://121.36.73.159:805/file/uploadPath/", // 需要跨域的域名

+ 25 - 1
pages.json

@@ -10,6 +10,12 @@
 				"selectedIconPath": "static/images/index-s.png",
 				"text": "首页"
 			},
+			{
+				"pagePath": "pages/lr/list",
+				"iconPath": "static/images/list.png",
+				"selectedIconPath": "static/images/list-s.png",
+				"text": "老人"
+			},
 			{
 				"pagePath": "pages/my/index",
 				"iconPath": "static/images/my.png",
@@ -20,13 +26,13 @@
 	},
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 
+
 		{
 			"path": "pages/index/index",
 			"style": {
 				"navigationBarTitleText": "首页"
 			}
 		},
-
 		{
 			"path": "pages/test/index",
 			"style": {
@@ -35,6 +41,18 @@
 				// "onReachBottomDistance": 100 //距离底部100像素时,触发加载更多功能
 			}
 		},
+		{
+			"path": "pages/living/success",
+			"style": {
+				"navigationBarTitleText": "成功"
+			}
+		},
+		{
+			"path": "pages/living/fail",
+			"style": {
+				"navigationBarTitleText": "失败"
+			}
+		},
 
 		{
 			"path": "pages/login/index",
@@ -93,6 +111,12 @@
 				"onReachBottomDistance": 100 //距离底部100像素时,触发加载更多功能
 			}
 		},
+		{
+			"path": "pages/lr/info",
+			"style": {
+				"navigationBarTitleText": "老人详情"
+			}
+		},
 		{
 			"path": "pages/lr/shxxList",
 			"style": {

+ 30 - 17
pages/index/index.vue

@@ -27,25 +27,24 @@
 
 					<uni-list>
 						<uni-list-item v-for="(item,index) in dataList" :key="index" :title="item.lrXm"
-							 :note="item.lrCydh"
-							thumbSize="lg" :showArrow="false" :to="'/pages/lr/shxxList?lrId='+item.id">
+							 :note="item.sqyy"
+							thumbSize="lg" :showArrow="false" >
 							<template v-slot:header>
 								<image :src="item.lrTx?config.baseUrl+item.lrTx:config.baseUrl + config.head" style="width: 10vw;height: 5vh;margin-right: 2vw;border-radius: 50%;"></image>
 							</template>
 							<template v-slot:footer>
-								<view v-if="item.lzzt == '0'"
+							<!-- 	<view v-if="item.lzzt == '0'"
 									style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/caogao.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
 									<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
 									<text v-else>{{item.createTime.substring(0,8) }}</text>
 									<text>{{item.lrSpyj || '无'}}</text>
-								</view>
-								<view v-else-if="item.lzzt == '1' || item.lzzt == '2' || item.lzzt == '5'"
+								</view> -->
+								<view v-if="item.lzzt == '1' || item.lzzt == '2' || item.lzzt == '5'|| item.lzzt == '7'"
 									style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/daishenhe.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
-									<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
-									<text v-else>{{item.createTime.substring(0,8) }}</text>
+									<text>{{item.sqsj.substring(0,8) }}</text>
 									<text>{{item.lrSpyj || '无'}}</text>
 								</view>
-								<view v-else-if="item.lzzt == '3'"
+							<!-- 	<view v-else-if="item.lzzt == '3'"
 									style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/tongguo.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
 									<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
 									<text v-else>{{item.createTime.substring(0,8) }}</text>
@@ -56,7 +55,7 @@
 									<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
 									<text v-else>{{item.createTime.substring(0,8) }}</text>
 									<text>{{item.lrSpyj || '无'}}</text>
-								</view>
+								</view> -->
 
 							</template>
 						</uni-list-item>
@@ -82,7 +81,8 @@
 	import {
 		updateKhjbxx,
 		infoKhjbxx,
-		ListKhjbxx
+		ListKhjbxx,
+		ListKhShxx
 	} from '@/api/kh.js'
 	export default {
 		data() {
@@ -118,14 +118,27 @@
 		},
 		methods: {
 			getDaiBanList() {
-				ListKhjbxx(this.form).then(res => {
+				// ListKhjbxx(this.form).then(res => {
+				// 	if (res.code == 200) {
+				// 		this.total = res.total
+				// 		let list = decryptRowData_ECB(res.rows, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx",
+				// 			"lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh",
+				// 			"yhzh", "khmc"
+				// 		], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5])
+				// 		if (list) this.dataList.push(...list)
+				// 	}
+				// })
+				
+				
+				ListKhShxx(this.form).then(res => {
 					if (res.code == 200) {
 						this.total = res.total
-						let list = decryptRowData_ECB(res.rows, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx",
-							"lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh",
-							"yhzh", "khmc"
-						], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5])
-						if (list) this.dataList.push(...list)
+						// let list = decryptRowData_ECB(res.rows, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx",
+						// 	"lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh",
+						// 	"yhzh", "khmc"
+						// ], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5])
+						let list = res.rows
+						this.dataList.push(...list)
 					}
 				})
 			},
@@ -133,7 +146,7 @@
 				// 待办事项(他给老人注册、他给老人维护)  会员维护  结算记账(食堂)
 				// 登录不获取openid
 				uni.navigateTo({
-					url: '/pages/lr/list'
+					url: '/pages/lr/shxxList'
 				})
 			},
 			info(id) {

+ 66 - 26
pages/info/add-files.vue

@@ -38,12 +38,12 @@
 						<uni-easyinput ref="xm" type="text" :disabled="disabled" v-model="baseFormData.jhrxm"
 							placeholder="请输入监护人姓名" :inputBorder="true"></uni-easyinput>
 					</uni-forms-item>
-					<uni-forms-item label="监护人联系电话">
+					<uni-forms-item label="监护人联系电话" name="jhrlxdh">
 						<uni-easyinput type="text" v-model="baseFormData.jhrlxdh" :disabled="disabled"
 							placeholder="请输入监护人联系电话" :inputBorder="true"></uni-easyinput>
 					</uni-forms-item>
 					<uni-forms-item label="街道社区">
-						<uni-easyinput type="text" v-model="baseFormData.diqu" @focus="toggle('bottom')"
+						<uni-easyinput type="text" v-model="diqu" @focus="toggle('bottom')"
 							placeholder="请选择街道社区" :clearable="false"></uni-easyinput>
 
 
@@ -189,6 +189,7 @@
 		},
 		data() {
 			return {
+				diqu: '',
 				tkzmList: [],
 				dbzmList: [],
 				zczmList: [],
@@ -303,6 +304,21 @@
 								errorMessage: '请输入正确的手机号',
 							}
 						]
+					},
+					jhrlxdh: {
+						rules: [{
+								required: false,
+								errorMessage: '监护人联系电话不能为空'
+							},
+							{
+								format: 'number',
+								errorMessage: '请输入正确的手机号',
+							},
+							{
+								pattern: '^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\\d{8})$',
+								errorMessage: '请输入正确的手机号',
+							}
+						]
 					}
 				},
 			}
@@ -319,7 +335,7 @@
 					this.faceBase64 = ''
 					this.cardType = uni.getStorageSync("cardType")
 					console.log("正反面", this.cardType);
-					if (this.cardType == 'front') e.data.data.arg.base64 = jl.front
+					if (this.cardType == 'front') e.data.data.arg.base64 = jl.chenhang
 					if (this.cardType == 'back') e.data.data.arg.base64 = jl.back
 
 
@@ -387,7 +403,7 @@
 
 						this.jiedaoValue = this.jiedaoData[0]
 						this.shequValue = this.shequData[0]
-						this.baseFormData.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
+						this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
 						this.baseFormData.lrHjdz = this.shequValue.code
 					}
 				})
@@ -403,8 +419,10 @@
 					})
 					if (this.score >= config.score) {
 						this.show = false
-						this.baseFormData.lzzt = 3
-						this.baseFormData.lrSpyj = '同意'
+						// this.baseFormData.lzzt = 3
+						this.baseFormData.lzzt = 0
+						// this.baseFormData.lrSpyj = '同意'
+						this.baseFormData.lrSpyj = ''
 					} else {
 						// 低于80选项是否人工审核,是的话进记录表
 						// 身份证头像保存后端
@@ -415,7 +433,10 @@
 						// 后端没入库,人脸库相应删除
 						// ocr失败身份证原版入库,ocr成功人脸入库
 						// showConfirm('人像与身份证不符,请重新上传')
-						this.baseFormData.lzzt = 1
+						
+						// this.baseFormData.lzzt = 1
+						// this.baseFormData.lrSpyj = ''
+						this.baseFormData.lzzt = 0
 						this.baseFormData.lrSpyj = ''
 						this.show = true
 					}
@@ -482,7 +503,7 @@
 					// this.baseFormData.lrXb = getDictInfo(this.dicts.C0007, words.words_result['性别'].words)[0].value
 					// this.baseFormData.lrMz = getDictInfo(this.dicts.C0009, words.words_result['民族'].words)[0].value
 
-					this.baseFormData.lrXb = words.words_result['性别'].words
+					this.baseFormData.lrXb = sex
 					this.baseFormData.lrMz = words.words_result['民族'].words
 
 
@@ -492,7 +513,7 @@
 					this.baseFormData.lrCsrq = csrq
 					this.idcardMD5 = CryptoJS.MD5(this.baseFormData.lrZjhm).toString()
 					this.baseFormData.lrXm = words.words_result['姓名'].words
-					this.baseFormData.lrHjbcxx = words.words_result['姓名'].words
+					this.baseFormData.lrHjbcxx = zz
 					this.ocrXm = words.words_result['姓名'].words
 
 
@@ -519,14 +540,14 @@
 												if (ee.code == this.baseFormData.lrHjdz) {
 													this.shequValue = ee
 													this.jiedaoValue = e
-													this.baseFormData.diqu = this.jiedaoValue
+													this.diqu = this.jiedaoValue
 														.label +
 														'/' + this.shequValue.label
 												}
 											} else {
 												if (e.code == this.baseFormData.lrHjdz) {
 													this.jiedaoValue = e
-													this.baseFormData.diqu = this.jiedaoValue.label
+													this.diqu = this.jiedaoValue.label
 												}
 											}
 
@@ -593,6 +614,7 @@
 			},
 			toggle(type) {
 				uni.hideKeyboard()
+				this.shequData = this.jiedaoData[0].children
 				// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
 				this.$refs.popup.open(type)
 			},
@@ -602,19 +624,20 @@
 					this.shequData = this.jiedaoData[e.detail.value[0]].children
 					if (this.shequData.length > 0 && this.shequData[0] != null) {
 						this.shequValue = this.shequData[0]
-						this.baseFormData.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
+						this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
 						this.baseFormData.lrHjdz = this.shequValue.code
 					} else {
 						this.shequData = []
 						this.shequValue = ''
-						this.baseFormData.diqu = this.jiedaoValue.label
+						this.diqu = this.jiedaoValue.label
 						this.baseFormData.lrHjdz = this.jiedaoValue.code
 					}
 
 				} else {
-					this.jiedaoValue = this.jiedaoData[e.detail.value[0] ?? 0]
+					let index = e.detail.value[0] ? e.detail.value[0] : 0
+					this.jiedaoValue = this.jiedaoData[index]
 					this.shequValue = this.shequData[e.detail.value[1]]
-					this.baseFormData.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
+					this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
 					this.baseFormData.lrHjdz = this.shequValue.code
 				}
 
@@ -733,9 +756,14 @@
 								uri: this.file4
 							})
 						})
-						// 特殊材料待审核
-						this.baseFormData.lzzt = 5
-						this.baseFormData.lrSpyj = '无'
+
+						if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
+							// 特殊材料待审核
+							// this.baseFormData.lzzt = 5
+							this.baseFormData.lzzt = 0
+							this.baseFormData.lrSpyj = '无'
+						}
+
 					}
 					if (this.baseFormData.isdb == 1 && this.dbzmList.length == 1 && this.dbzmList[0].indexOf(
 							'data:image') > -1) {
@@ -746,9 +774,12 @@
 								uri: this.file5
 							})
 						})
-						// 特殊材料待审核
-						this.baseFormData.lzzt = 5
-						this.baseFormData.lrSpyj = '无'
+						if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
+							// 特殊材料待审核
+							// this.baseFormData.lzzt = 5
+							this.baseFormData.lzzt = 0
+							this.baseFormData.lrSpyj = '无'
+						}
 					}
 					if (this.baseFormData.iszc == 1 && this.zczmList.length == 1 && this.zczmList[0].indexOf(
 							'data:image') > -1) {
@@ -759,9 +790,12 @@
 								uri: this.file6
 							})
 						})
-						// 特殊材料待审核
-						this.baseFormData.lzzt = 5
-						this.baseFormData.lrSpyj = '无'
+						if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
+							// 特殊材料待审核
+							// this.baseFormData.lzzt = 5
+							this.baseFormData.lzzt = 0
+							this.baseFormData.lrSpyj = '无'
+						}
 					}
 					console.log("this1", this)
 					let that = this
@@ -866,9 +900,15 @@
 		margin-left: 4vw;
 		width: 68vw;
 		/* height: 5vh; */
-		border-radius: 16px;
-		border: 1px solid rgba(176, 179, 199, 1);
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
 		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow:0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125,0.4);
 	}
 
 	.picker-view {

+ 8 - 2
pages/info/add.vue

@@ -824,9 +824,15 @@
 		margin-left: 4vw;
 		width: 68vw;
 		/* height: 5vh; */
-		border-radius: 16px;
-		border: 1px solid rgba(176, 179, 199, 1);
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
 		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow:0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125,0.4);
 	}
 
 	.picker-view {

+ 104 - 0
pages/living/fail.vue

@@ -0,0 +1,104 @@
+<template>
+	<view class="container">
+		<uni-icons type="clear" size="60" color="#28d87d" style="margin-top: 5vh;"></uni-icons>
+		<text class="title">人脸采集失败</text>
+
+		<view class="line"></view>
+		<view class="fontBox">
+			<text class="biaoti">温馨提示</text>
+			<text class="content">您可以通过以下方式提高通过率</text>
+			<text class="content">1.录制时,保持头部居中,光线充足,面部无遮挡</text>
+			<text class="content">2.请确保动作连贯完整</text>
+		</view>
+
+		<button class="buttonClass" @click="restart">重新录制</button>
+		<button class="buttonClass1" @click="quit">退出</button>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		methods: {
+			restart() {
+				uni.navigateTo({
+					url: '/pages/test/index'
+				})
+			},
+			restart() {
+				uni.navigateTo({
+					url: '/pages/test/index'
+				})
+			},
+			quit() {
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			},
+		},
+	};
+</script>
+
+<style scoped>
+	.container {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+	}
+
+	.title {
+		margin-top: 1vh;
+		font-size: 24px;
+	}
+
+	.fontBox {
+		display: flex;
+		flex-direction: column;
+		width: 80%;
+		margin-top: 3vh;
+
+		.biaoti {
+			font-weight: 800;
+			min-height: 4vh;
+		}
+
+		.content {
+			font-weight: 400;
+			line-height: 4vh;
+			font-size: 3vw;
+		}
+	}
+
+	.line {
+		border: 1px solid rgba(204, 204, 204, 1);
+		width: 80%;
+		margin-top: 8vh;
+	}
+
+	.buttonClass {
+		margin-top: 5vh;
+		width: 80%;
+		border-radius: 5.8vw;
+		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow: 0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125, 0.4);
+	}
+
+	.buttonClass1 {
+		margin-top: 2vh;
+		width: 80%;
+		color: rgba(40, 216, 125, 1);
+		border-radius: 5.8vw;
+		/* background: #28d87d; */
+		border: 1px solid rgba(40, 216, 125, 1);
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		/* box-shadow: 0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125, 0.4); */
+	}
+</style>

+ 63 - 0
pages/living/success.vue

@@ -0,0 +1,63 @@
+<template>
+	<view class="container">
+		<uni-icons type="checkbox-filled" size="60" color="#28d87d" style="margin-top: 5vh;"></uni-icons>
+		<text class="title">人脸采集成功</text>
+		<image src="/static/22.jpg" class="rx" mode="heightFix"></image>
+		<button class="buttonClass" @click="handleComplete">完成</button>
+
+	</view>
+</template>
+
+
+<script>
+	import {CheckReturn} from '@/api/kh.js'
+ 	export default {
+		mounted() {
+			this.getResult()
+		},
+		methods: {
+			handleComplete() {
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			},
+			getResult(){
+				CheckReturn({ylid:730727}).then(res=>{
+					
+				})
+			}
+		},
+	};
+</script>
+
+<style scoped>
+	.container {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+	}
+
+	.title {
+		margin-top: 1vh;
+		font-size: 24px;
+	}
+
+	.rx {
+		border: 1px solid rgba(176, 179, 199, 1);
+		margin-top: 5vh;
+		height: 25vh;
+	}
+
+	.buttonClass {
+		margin-top: 5vh;
+		width: 80%;
+		border-radius: 5.8vw;
+		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow: 0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125, 0.4);
+	}
+</style>

+ 9 - 3
pages/login/index.vue

@@ -350,7 +350,7 @@
 		margin-left: 4vw;
 		width: 68vw;
 		/* height: 5vh; */
-		border-radius: 2.8vw;
+		border-radius: 5.8vw;
 		border: 1px solid rgba(176, 179, 199, 1);
 		text-indent: 4vw;
 	}
@@ -363,9 +363,15 @@
 		display: flex;
 		justify-content: center;
 		align-items: center;
-		border-radius: 2.8vw;
-		border: 1px solid rgba(176, 179, 199, 1);
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
 		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow:0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125,0.4);
 	}
 
 	.mzText {

+ 8 - 2
pages/lr/base.vue

@@ -591,8 +591,14 @@
 		margin-left: 4vw;
 		width: 280px;
 		/* height: 5vh; */
-		border-radius: 16px;
-		border: 1px solid rgba(176, 179, 199, 1);
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
 		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow:0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125,0.4);
 	}
 </style>

+ 704 - 0
pages/lr/info.vue

@@ -0,0 +1,704 @@
+<template>
+	<view class="content">
+		<uni-card class="card">
+			<uni-section title="基本信息" type="line">
+
+				<view>
+					<view class="lzcOCR">
+						<view class="imgBox">
+							<image :src="zjcaijianSrc" style="width: 40vw;" mode="widthFix">
+							</image>
+							<view class="text">拍摄人像面</view>
+						</view>
+						<view class="imgBox">
+							<image :src="zjcaijianSrcFan" style="width: 40vw;" mode="widthFix">
+							</image>
+							<view class="text">拍摄国徽面</view>
+						</view>
+					</view>
+				</view>
+
+
+				<uni-forms ref="baseForm" :modelValue="baseFormData" :rules="rules" style="margin-top: 5vh;">
+
+
+					<uni-forms-item label="姓名" required name="lrXm">
+						<uni-easyinput ref="xm" type="text" :disabled="disabled" v-model="baseFormData.lrXm"
+							placeholder="请输入姓名" :inputBorder="true"></uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item label="手机号" required name="lrCydh">
+						<uni-easyinput type="text" v-model="baseFormData.lrCydh" placeholder="请输入手机号"
+							:inputBorder="true"></uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item label="监护人姓名">
+						<uni-easyinput ref="xm" type="text" v-model="baseFormData.jhrxm" placeholder="请输入监护人姓名"
+							:inputBorder="true"></uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item label="监护人联系电话" name="jhrlxdh">
+						<uni-easyinput type="text" v-model="baseFormData.jhrlxdh" placeholder="请输入监护人联系电话"
+							:inputBorder="true"></uni-easyinput>
+					</uni-forms-item>
+					<uni-forms-item label="街道社区">
+						<uni-easyinput type="text" v-model="diqu" @focus="toggle('bottom')"
+							placeholder="请选择街道社区" :clearable="false"></uni-easyinput>
+
+
+					</uni-forms-item>
+					<uni-forms-item label="住址" required name="jzdz">
+						<uni-easyinput type="text" v-model="baseFormData.jzdz" placeholder="请输入住址"
+							:inputBorder="true"></uni-easyinput>
+					</uni-forms-item>
+
+					<uni-forms-item label="是否特困">
+						<uni-data-checkbox v-model="baseFormData.istk" :localdata="radioData"></uni-data-checkbox>
+					</uni-forms-item>
+
+					<uni-forms-item label="特困证明" v-if="baseFormData.istk == 1">
+						<myfile :zczmList="tkzmList" @recordsChange="tkChange"></myfile>
+					</uni-forms-item>
+
+					<uni-forms-item label="是否低保">
+						<uni-data-checkbox v-model="baseFormData.isdb" :localdata="radioData"></uni-data-checkbox>
+					</uni-forms-item>
+
+					<uni-forms-item label="低保证明" v-if="baseFormData.isdb == 1">
+						<myfile :zczmList="dbzmList" @recordsChange="dbChange"></myfile>
+					</uni-forms-item>
+
+					<uni-forms-item label="是否重残">
+						<uni-data-checkbox v-model="baseFormData.iszc" :localdata="radioData"></uni-data-checkbox>
+					</uni-forms-item>
+
+					<uni-forms-item label="重残证明" v-if="baseFormData.iszc == 1">
+						<!-- <uni-file-picker v-model="zczm" @select="imgSelect3" @delete="imgDelete3"></uni-file-picker> -->
+						<myfile :zczmList="zczmList" @recordsChange="zcChange"></myfile>
+					</uni-forms-item>
+
+					<view>
+						<button cursor-spacing="22px" class="buttonClass" @click="preSave()">修改</button>
+					</view>
+				</uni-forms>
+			</uni-section>
+
+
+
+
+		</uni-card>
+
+
+		<view>
+			<!-- 普通弹窗 -->
+			<uni-popup ref="popup" background-color="#fff">
+				<picker-view :indicator-style="indicatorStyle" @change="bindChange" class="picker-view">
+					<picker-view-column>
+						<view class="item" v-for="(item,index) in jiedaoData" :key="index">{{item.label}}</view>
+					</picker-view-column>
+					<picker-view-column>
+						<view class="item" v-for="(item,index) in shequData" :key="index">{{item.label}}</view>
+					</picker-view-column>
+				</picker-view>
+			</uni-popup>
+		</view>
+	</view>
+</template>
+
+<script>
+	import myfile from '@/components/my-file/my-file.vue';
+	let jl = require('../../static/json/bufen.json')
+	import {
+		decryptRowData_ECB,
+		decryptData_ECB
+	} from '@/common/sm4.js'
+	import {
+		GetChildListByCode
+	} from '@/api/dict.js'
+	import {
+		showConfirm,
+		getDictInfo,
+		toast,
+		toBase64
+	} from '@/common/common.js'
+	import {
+		UploadOne,
+		UploadSome,
+		UploadSomeFile
+	} from '@/api/upload.js'
+	import {
+		Register
+	} from '@/api/login.js'
+	import {
+		getUser
+	} from '@/common/auth.js'
+	import CryptoJS from 'crypto-js';
+	import config from '@/config.js';
+	import idCardNoUtil from '@/common/idcard.js'
+	import {
+		translate,
+		base64ToUrl,
+		blobToDataURI,
+		translateAll,
+		base64toFilen,
+		fileToBlob
+	} from '@/common/image.js'
+	import {
+		setToken,
+		setOpenid,
+		getOpenid,
+		setUser
+	} from '@/common/auth.js'
+	import {
+		getAccessToken,
+		idcard,
+		match
+	} from '@/common/baiduUtil.js'
+	import {
+		updateKhjbxx,
+		infoKhjbxx,
+		GetLrByZjhm,
+		SaveKhjbxx
+	} from '@/api/kh.js'
+	export default {
+		components: {
+			myfile
+		},
+		data() {
+			return {
+				id: '',
+				diqu: '',
+				item: {},
+				tkzmList: [],
+				dbzmList: [],
+				zczmList: [],
+				isCheck: false,
+				indicatorStyle: `height: 50px;`,
+				jiedaoData: [],
+				shequData: [],
+				jiedaoValue: {},
+				shequValue: {},
+				shequIndex: 0,
+				jiedaoIndex: 0,
+				disabled: true,
+				show: false,
+				radio: "0",
+				radioData: [{
+					text: '否',
+					value: "0"
+				}, {
+					text: '是',
+					value: "1"
+				}],
+				// 字典
+				dicts: {
+					// 民族
+					C0009: [],
+					// 性别
+					C0007: [],
+				},
+				// 百度云access_token
+				token: '',
+				// 人像地址
+				src: "/static/images/head.png",
+				// 身份拍摄地址
+				zjSrc: "",
+				// 身份证裁剪地址
+				zjcaijianSrc: '/static/images/zhengmian.png',
+				zjcaijianSrcFan: '/static/images/fanmian.png',
+				cardType: 'front',
+				frontBase64: '',
+				backBase64: '',
+				file1: "",
+				file2: "",
+				file3: "",
+				file4: "",
+				file5: "",
+				file6: "",
+				showSrc: "",
+				// 人员信息
+				userInfo: {},
+				// 组
+				groupId: '',
+				// 身份证号加密
+				idcardMD5: '',
+				// 人像base64
+				faceBase64: '',
+				// 身份证base64
+				idcardFace: '',
+				idcardFaceUrl: '',
+				// 对比份数
+				score: 0,
+				// ocrXm
+				ocrXm: '',
+				isSearch: false,
+				baseFormData: {
+					lrXm: '',
+					lrZjhm: '',
+					lrHjbcxx: '',
+					lrCydh: '',
+					code: '',
+					diqu: '',
+					lrHjdz: '',
+					istk: "0",
+					isdb: "0",
+					iszc: "0",
+					lzzt: 0,
+					lrZjz: ""
+				},
+				rules: {
+					jzdz: {
+						rules: [{
+							required: true,
+							errorMessage: '住址不能为空'
+						}]
+					},
+					lrXm: {
+						rules: [{
+							required: true,
+							errorMessage: '姓名不能为空'
+						}]
+					},
+					diqu: {
+						rules: [{
+							required: true,
+							errorMessage: '请选择地区'
+						}]
+					},
+					photo: {
+						rules: [{
+							required: true,
+							errorMessage: '请上传人像'
+						}]
+					},
+					lrCydh: {
+						rules: [{
+								required: true,
+								errorMessage: '手机号不能为空'
+							},
+							{
+								format: 'number',
+								errorMessage: '请输入正确的手机号',
+							},
+							{
+								pattern: '^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\\d{8})$',
+								errorMessage: '请输入正确的手机号',
+							}
+						]
+					},
+					jhrlxdh: {
+						rules: [{
+								required: false,
+								errorMessage: '监护人联系电话不能为空'
+							},
+							{
+								format: 'number',
+								errorMessage: '请输入正确的手机号',
+							},
+							{
+								pattern: '^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1})|(17[0-9]{1}))+\\d{8})$',
+								errorMessage: '请输入正确的手机号',
+							}
+						]
+					}
+				},
+			}
+		},
+		onLoad(o) {
+			this.userInfo = getUser()
+			//  查询街道和社区
+			this.getAddressList(this.userInfo.dept.locationCode)
+
+			// this.getDictList(Object.keys(this.dicts), this.dicts)
+			this.baseFormData.code = getOpenid()
+
+			this.groupId = this.userInfo.dept.locationCode.substring(0, 6)
+			this.id = o.id
+		},
+		methods: {
+			showInfo(id) {
+				infoKhjbxx(id).then(res => {
+					if (res.data) this.baseFormData = decryptData_ECB(res.data, ["lrZjhm", "lrXm",
+						"lrHjbcxx",
+						"lrXjdzBcxx",
+						"lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh",
+						"cjzh",
+						"yhzh", "khmc", "jhrxm", "jhrlxdh"
+					], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5]);
+
+					if (this.baseFormData.lrTx) this.src = config.baseUrl + this.baseFormData.lrTx
+					if (this.baseFormData.lrHjdz) {
+						this.jiedaoData.forEach((e, jiedaoIndex) => {
+							if (e.children.length > 0) {
+								e.children.forEach((ee, shequIndex) => {
+									if (ee) {
+										if (ee.code == this.baseFormData.lrHjdz) {
+											this.shequValue = ee
+											this.jiedaoValue = e
+											this.diqu = this.jiedaoValue
+												.label +
+												'/' + this.shequValue.label
+											console.log("4444444444444");
+										}
+									} else {
+										if (e.code == this.baseFormData.lrHjdz) {
+											this.jiedaoValue = e
+											this.diqu = this.jiedaoValue.label
+											console.log("333333333333");
+										}
+									}
+
+								})
+							}
+						})
+					}
+					if (this.baseFormData.lrZjz) this.zjcaijianSrc = this.baseFormData.lrZjz
+					if (res.data && res.data.sfzzpb) this.zjcaijianSrcFan = res.data.sfzzpb
+					if (res.data && res.data.tkzm) this.tkzmList = [res.data.tkzm]
+					if (res.data && res.data.dbzm) this.dbzmList = [res.data.dbzm]
+					if (res.data && res.data.zczm) this.zczmList = [res.data.zczm]
+					if (res.data) this.updateFlag = true
+				})
+			},
+			tkChange(e) {
+				this.tkzmList = e
+			},
+			dbChange(e) {
+				this.dbzmList = e
+			},
+			zcChange(e) {
+				this.zczmList = e
+			},
+			getAddressList(code) {
+				GetChildListByCode({
+					code: code
+				}).then(res => {
+					if (res.data) {
+						this.jiedaoData = res.data
+						this.shequData = res.data[0].children
+
+
+						this.jiedaoValue = this.jiedaoData[0]
+						if (this.shequData.length > 0) {
+							this.shequValue = this.shequData[0]
+							this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
+							this.baseFormData.lrHjdz = this.shequValue.code
+						} else {
+							this.diqu = this.jiedaoValue.label
+							this.baseFormData.lrHjdz = this.shequValue.code
+						}
+						console.log("2222222222222");
+						if (this.id) this.showInfo(this.id)
+					}
+				})
+			},
+			callbackFace(res) {
+				uni.hideLoading()
+				if (res.data.error_msg == 'SUCCESS') {
+					this.score = res.data.result.score;
+
+					this.baseFormData.lrTxdb = JSON.stringify({
+						"lrJmzjhm": this.idcardMD5,
+						"xsfs": this.score
+					})
+					if (this.score >= config.score) {
+						this.show = false
+						// this.baseFormData.lzzt = 3
+						this.baseFormData.lzzt = 0
+						// this.baseFormData.lrSpyj = '同意'
+						this.baseFormData.lrSpyj = ''
+					} else {
+						// 低于80选项是否人工审核,是的话进记录表
+						// 身份证头像保存后端
+						// 人脸库注册人脸、身份证md5
+						// 修改的时候去人脸库搜索,搜索不到不允许修改
+						// 修改成功替换原始人脸库照片
+						// 首次修改搜索身份证
+						// 后端没入库,人脸库相应删除
+						// ocr失败身份证原版入库,ocr成功人脸入库
+						// showConfirm('人像与身份证不符,请重新上传')
+
+						// this.baseFormData.lzzt = 1
+						// this.baseFormData.lrSpyj = ''
+						this.baseFormData.lzzt = 0
+						this.baseFormData.lrSpyj = ''
+						this.show = true
+					}
+					this.baseFormData.prelrZjz = this.zjcaijianSrc
+
+				} else {
+					showConfirm(res.data.error_msg)
+					this.faceBase64 = ''
+				}
+			},
+			callbackToken(e) {
+				this.token = e
+			},
+			toggle(type) {
+				uni.hideKeyboard()
+				this.shequData = this.jiedaoData[0].children
+				// open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
+				this.$refs.popup.open(type)
+			},
+			bindChange(e) {
+				console.log(e.detail.value);
+				if (e.detail.value.length == 1) {
+					console.log("11111111111111");
+					this.jiedaoValue = this.jiedaoData[e.detail.value[0]]
+					this.shequData = this.jiedaoData[e.detail.value[0]].children
+					if (this.shequData.length > 0 && this.shequData[0] != null) {
+						this.shequValue = this.shequData[0]
+						this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
+						this.baseFormData.lrHjdz = this.shequValue.code
+					} else {
+						this.shequData = []
+						this.shequValue = ''
+						this.diqu = this.jiedaoValue.label
+						this.baseFormData.lrHjdz = this.jiedaoValue.code
+					}
+
+				} else {
+					let index = e.detail.value[0] ? e.detail.value[0] : 0
+					this.jiedaoValue = this.jiedaoData[index]
+					this.shequValue = this.shequData[e.detail.value[1]]
+					this.diqu = this.jiedaoValue.label + '/' + this.shequValue.label
+					this.baseFormData.lrHjdz = this.shequValue.code
+
+					console.log(index, e.detail.value[1], this.jiedaoValue, this.shequValue, this.diqu, this
+						.baseFormData.lrHjdz);
+
+					// this.diqu = "1111"
+				}
+
+			},
+			buildDataByLevel(data, pid) {
+				let result = [];
+				data.filter(e => {
+					return e.parent_id === pid
+				}).forEach(e => {
+					result.push({
+						value: e.code,
+						text: e.name,
+						id: e.id,
+						children: this.buildDataByLevel(data, e.id)
+					})
+				})
+				return result.length > 0 ? result : []
+			},
+			paizhao(type) {
+				this.type = type
+				if (this.type == 'back' && !this.ocrXm) {
+					showConfirm('请先拍摄身份证人像面')
+					return
+				}
+				uni.setStorageSync("cardType", type)
+				uni.navigateTo({
+					url: '/pages/info/card'
+				})
+			},
+			onchange(e) {
+				console.log("onchange", e);
+			},
+			onnodeclick(node) {
+				this.groupId = node.code.substring(0, 6)
+				this.baseFormData.lrHjdz = this.groupId + '000000'
+			},
+
+			preSave() {
+				if (this.baseFormData.lzzt != 0 && this.baseFormData.lzzt != 3 && this.baseFormData.lzzt != 4 && this
+					.baseFormData.lzzt != 6) {
+					showConfirm('信息正在审核,请审核后重试')
+					return
+				}
+				if (this.baseFormData.istk == 1 && this.tkzmList.length == 0) {
+					showConfirm('请先上传特困证明')
+					return
+				}
+				if (this.baseFormData.isdb == 1 && this.dbzmList.length == 0) {
+					showConfirm('请先上传低保证明')
+					return
+				}
+				if (this.baseFormData.iszc == 1 && this.zczmList.length == 0) {
+					showConfirm('请先上传重残证明')
+					return
+				}
+
+				this.save()
+			},
+			save() {
+
+
+				uni.showLoading({
+					title: '正在修改中...'
+				})
+				let paramFiles = []
+
+
+				if (this.baseFormData.istk == 1 && this.tkzmList.length == 1 && this.tkzmList[0].indexOf(
+						'data:image') > -1) {
+					fileToBlob(base64toFilen(this.tkzmList[0]), (e) => {
+						this.file4 = e
+						paramFiles.push({
+							name: "file4",
+							uri: this.file4
+						})
+					})
+
+					if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
+						// 特殊材料待审核
+						// this.baseFormData.lzzt = 5
+						this.baseFormData.lzzt = 0
+						this.baseFormData.lrSpyj = '无'
+					}
+
+				}
+				if (this.baseFormData.isdb == 1 && this.dbzmList.length == 1 && this.dbzmList[0].indexOf(
+						'data:image') > -1) {
+					fileToBlob(base64toFilen(this.dbzmList[0]), (e) => {
+						this.file5 = e
+						paramFiles.push({
+							name: "file5",
+							uri: this.file5
+						})
+					})
+					if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
+						// 特殊材料待审核
+						// this.baseFormData.lzzt = 5
+						this.baseFormData.lzzt = 0
+						this.baseFormData.lrSpyj = '无'
+					}
+				}
+				if (this.baseFormData.iszc == 1 && this.zczmList.length == 1 && this.zczmList[0].indexOf(
+						'data:image') > -1) {
+					fileToBlob(base64toFilen(this.zczmList[0]), (e) => {
+						this.file6 = e
+						paramFiles.push({
+							name: "file6",
+							uri: this.file6
+						})
+					})
+					if (this.baseFormData.lzzt != 2 || this.baseFormData.lzzt != 1) {
+						// 特殊材料待审核
+						// this.baseFormData.lzzt = 5
+						this.baseFormData.lzzt = 0
+						this.baseFormData.lrSpyj = '无'
+					}
+				}
+				let that = this
+				setTimeout(function() {
+					UploadSomeFile(paramFiles).then(res => {
+						that.baseFormData.lrZjz = res.data.url1
+						if (that.backBase64) {
+							that.baseFormData.sfzzpb = res.data.url2
+						}
+						that.baseFormData.lrTx = res.data.url3
+						if (that.baseFormData.istk == 1 && that.tkzmList.length == 1) {
+							that.baseFormData.tkzm = res.data.url4
+						}
+						if (that.baseFormData.isdb == 1 && that.dbzmList.length == 1) {
+							that.baseFormData.dbzm = res.data.url5
+						}
+						if (that.baseFormData.iszc == 1 && that.zczmList.length == 1) {
+							that.baseFormData.zczm = res.data.url6
+						}
+
+						that.$refs['baseForm'].validate().then(res => {
+							if (that.updateFlag) {
+								updateKhjbxx(that.baseFormData).then(r => {
+									uni.hideLoading()
+									if (r.code == 200) {
+										toast('保存成功')
+										setTimeout(function() {
+											// uni.switchTab({
+											// 	url: '/pages/index/index'
+											// })
+											
+											uni.navigateBack()
+										}, 1000)
+									}
+								})
+							} else {
+								SaveKhjbxx(that.baseFormData).then(r => {
+									uni.hideLoading()
+									if (r.code == 200) {
+										toast('保存成功')
+										// setOpenid(r.data.openId)
+										// setUser(r.data.sysUser)
+										// setToken(r.data.token.access_token)
+										setTimeout(function() {
+											uni.switchTab({
+												url: '/pages/index/index'
+											})
+										}, 1000)
+									}
+								})
+							}
+
+						}).catch(err => {
+							uni.hideLoading()
+						})
+
+					})
+				}, 500)
+
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		padding: 1vh;
+	}
+
+
+	.lzcOCR {
+		display: flex;
+		justify-content: space-between;
+		margin-top: 5vh;
+
+	}
+
+	.imgBox {
+		width: 47%;
+		text-align: center;
+
+		image {
+			width: 100%;
+		}
+
+		.text {
+			width: 100%;
+			/* background-color: red; */
+		}
+	}
+
+	.miaoshu {
+		margin-top: 5vh;
+		font-size: 14px;
+	}
+
+	.buttonClass {
+		margin-top: 4vh;
+		margin-left: 4vw;
+		width: 68vw;
+		/* height: 5vh; */
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
+		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow: 0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125, 0.4);
+	}
+
+	.picker-view {
+		width: 750rpx;
+		height: 600rpx;
+		margin-top: 20rpx;
+	}
+
+	.item {
+		line-height: 100rpx;
+		text-align: center;
+	}
+</style>

+ 6 - 6
pages/lr/list.vue

@@ -1,11 +1,11 @@
 <template>
 	<view>
 		<uni-card>
-			<uni-search-bar :radius="100" @confirm="search" placeholder="请输入姓名搜索" v-model="form.lrXm"></uni-search-bar>
+			<uni-search-bar :radius="100" @confirm="search" placeholder="请输入姓名搜索" v-model="form.lrZjhm"></uni-search-bar>
 			<uni-list>
 				<uni-list-item v-for="(item,index) in dataList" :key="index" :title="item.lrXm"
-					:thumb="item.lrTx?config.baseUrl+item.lrTx:config.baseUrl + config.head" :note="item.lrCydh" :to="'/pages/lr/shxxList?lrId='+item.id"
-					thumbSize="lg" :showArrow="false">
+					:to="'/pages/lr/info?id='+ item.id"
+					:thumb="item.lrTx?config.baseUrl+item.lrTx:config.baseUrl + config.head" :note="item.lrCydh" thumbSize="lg" :showArrow="false">
 					<template v-slot:footer>
 						<view v-if="item.lzzt == '0'"
 							style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/caogao.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
@@ -13,7 +13,7 @@
 							<text v-else>{{item.createTime.substring(0,8) }}</text>
 							<text>{{item.lrSpyj || '无'}}</text>
 						</view>
-						<view v-else-if="item.lzzt == '1' || item.lzzt == '2'"
+						<view v-else-if="item.lzzt == '1' || item.lzzt == '2' || item.lzzt == '5'|| item.lzzt == '7'"
 							style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/daishenhe.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
 							<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
 							<text v-else>{{item.createTime.substring(0,8) }}</text>
@@ -58,7 +58,7 @@
 				form: {
 					pageNum: 1,
 					pageSize: 10,
-					createUserId: ''
+					// createUserId: ''
 				},
 				dataList: [],
 				total: 0,
@@ -67,7 +67,7 @@
 		mounted() {
 			this.userInfo = getUser()
 			if (this.userInfo.userType != '07') {
-				this.form.createUserId = this.userInfo.userId
+				// this.form.createUserId = this.userInfo.userId
 			}
 			this.getList()
 		},

+ 8 - 2
pages/lr/register.vue

@@ -600,8 +600,14 @@
 		margin-left: 4vw;
 		width: 68vw;
 		/* height: 5vh; */
-		border-radius: 16px;
-		border: 1px solid rgba(176, 179, 199, 1);
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
 		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow:0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125,0.4);
 	}
 </style>

+ 17 - 15
pages/lr/shxxList.vue

@@ -1,34 +1,30 @@
 <template>
 	<view>
 		<uni-card>
-			<!-- <uni-search-bar :radius="100" @confirm="search" placeholder="请输入姓名搜索" v-model="form.lrXm"></uni-search-bar> -->
+			<uni-search-bar :radius="100" @confirm="search" placeholder="请输入身份证号或手机号搜索" v-model="form.lrZjhm"></uni-search-bar>
 			<uni-list>
 				<uni-list-item v-for="(item,index) in dataList" :key="index" :title="item.lrXm"
-					:thumb="item.lrTx?config.baseUrl+item.lrTx:config.baseUrl + config.head" :note="item.lrCydh"
+					:thumb="item.lrTx?config.baseUrl+item.lrTx:config.baseUrl + config.head" :note="item.sqyy"
 					thumbSize="lg" :showArrow="false">
 					<template v-slot:footer>
 						<view v-if="item.lzzt == '0'"
 							style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/caogao.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
-							<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
-							<text v-else>{{item.createTime.substring(0,8) }}</text>
+							<text>{{item.sqsj.substring(0,8) }}</text>
 							<text>{{item.lrSpyj || '无'}}</text>
 						</view>
-						<view v-else-if="item.lzzt == '1' || item.lzzt == '2'"
+						<view v-else-if="item.lzzt == '1' || item.lzzt == '2' || item.lzzt == '5'|| item.lzzt == '7'"
 							style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/daishenhe.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
-							<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
-							<text v-else>{{item.createTime.substring(0,8) }}</text>
+							<text>{{item.sqsj.substring(0,8) }}</text>
 							<text>{{item.lrSpyj || '无'}}</text>
 						</view>
 						<view v-else-if="item.lzzt == '3'"
 							style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/tongguo.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
-							<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
-							<text v-else>{{item.createTime.substring(0,8) }}</text>
+							<text>{{item.sqsj.substring(0,8) }}</text>
 							<text>{{item.lrSpyj || '无'}}</text>
 						</view>
 						<view v-else-if="item.lzzt == '4'"
 							style="width: 60px;display: flex;flex-direction: column;background-image: url('../../static/images/jujue.png');background-position: left;background-size:58px 58px;background-repeat: no-repeat;">
-							<text v-if="item.updateTime">{{item.updateTime.substring(0,8) }}</text>
-							<text v-else>{{item.createTime.substring(0,8) }}</text>
+							<text>{{item.sqsj.substring(0,8) }}</text>
 							<text>{{item.lrSpyj || '无'}}</text>
 						</view>
 					</template>
@@ -67,6 +63,11 @@
 		},
 		mounted() {
 			this.userInfo = getUser()
+			if (this.userInfo.userType == '07') {
+				this.info(this.userInfo.userId)
+			} else {
+				this.form.createUserId = this.userInfo.userId
+			}
 			this.getList()
 		},
 		created() {},
@@ -105,10 +106,11 @@
 				ListKhShxx(this.form).then(res => {
 					if (res.code == 200) {
 						this.total = res.total
-						let list = decryptRowData_ECB(res.rows, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx",
-							"lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh",
-							"yhzh", "khmc"
-						], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5])
+						// let list = decryptRowData_ECB(res.rows, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx",
+						// 	"lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh",
+						// 	"yhzh", "khmc"
+						// ], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5])
+						let list = res.rows
 						this.dataList.push(...list)
 						uni.stopPullDownRefresh();
 						if (this.dataList.length < this.total) {

+ 7 - 1
pages/my/index.vue

@@ -1,8 +1,9 @@
 <template>
 	<view>
 		<uni-card>
-		<!-- 	<uni-list-item title="操作手册" showExtraIcon="true" :extra-icon="list" showArrow
+			<!-- 	<uni-list-item title="操作手册" showExtraIcon="true" :extra-icon="list" showArrow
 				to="/pages/my/updatePwd" /> -->
+			<uni-list-item title="活体激活" showExtraIcon="true" :extra-icon="cameraExtraIcon" showArrow to="/pages/test/index" />
 			<uni-list-item title="修改密码" showExtraIcon="true" :extra-icon="extraIcon" showArrow
 				to="/pages/my/updatePwd" />
 			<view @click="goOut">
@@ -27,6 +28,11 @@
 					size: '18',
 					type: 'list'
 				},
+				cameraExtraIcon: {
+					color: '#4a4a4a',
+					size: '18',
+					type: 'camera-filled'
+				},
 				extraIcon: {
 					color: '#4a4a4a',
 					size: '18',

+ 8 - 2
pages/my/updatePwd.vue

@@ -154,8 +154,14 @@
 		margin-left: 9vw;
 		width: 68vw;
 		height: 5vh;
-		border-radius: 16px;
-		border: 1px solid rgba(176, 179, 199, 1);
+		border-radius: 5.8vw;
+		/* border: 1px solid rgba(176, 179, 199, 1); */
 		background: #28d87d;
+		color: white;
+		height: 5vh;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		box-shadow:0rpx 4rpx 10rpx 1rpx rgba(40, 216, 125,0.4);
 	}
 </style>

+ 17 - 69
pages/test/index.vue

@@ -1,21 +1,13 @@
 <template>
 	<view>
-		<uni-file-picker :value="zczm" @select="imgSelect" @delete="imgDelete" :limit="limit"></uni-file-picker>
-		<button @click="upload">上传</button>
+		<button @click="zhuce">注册ylht</button>
+		<button @click="success">成功</button>
+		<button @click="fail">失败</button>
+		<button @click="huidiao">回调</button>
 	</view>
 </template>
 
 <script>
-	import {
-		UploadSomeFile,
-		UploadForm,
-		UploadFiles
-	} from '@/api/upload.js'
-	let jl = require('../../static/json/bufen.json')
-	import {
-		base64toFilen,
-		fileToBlob
-	} from '@/common/image.js'
 	export default {
 		name: "my-file",
 		data() {
@@ -29,71 +21,27 @@
 
 		},
 		mounted() {
-			let data = []
-			let a;
-
-			// console.log("wwwww", fileToBlob(this.base64toFilen(jl.front)))
-			fileToBlob(this.base64toFilen(jl.front), (e) => {
-				console.log("wwwww", e);
-				a = e
-
-				// setTimeout(function() {
-				// 	data = [{
-				// 			name: "file1",
-				// 			uri: a
-				// 		},
-				// 		{
-				// 			name: "file2",
-				// 			uri: a
-				// 		}
-				// 	]
-				// 	UploadSomeFile(data).then(res => {
-				// 		console.log(res);
-				// 	})
-
-
-
-
-				// }, 500)
-			})
-			setTimeout(function(){
-				console.log("aaaaaaaaaaaaa", a);
-			},100)
 
 		},
 		methods: {
-			base64toFilen(dataurl, filename = 'file') {
-				let arr = dataurl.split(',')
-				console.log("文件类型", arr[0]);
-				let mime = arr[0].match(/:(.*?);/)[1]
-				let suffix = mime.split('/')[1]
-				let bstr = atob(arr[1])
-				let n = bstr.length
-				let u8arr = new Uint8Array(n)
-				while (n--) {
-					u8arr[n] = bstr.charCodeAt(n)
-				}
-				return new File([u8arr], `${filename}.${suffix}`, {
-					type: mime
-				})
+			zhuce() {
+
 			},
-			imgSelect(e) {
-				console.log(e);
-				e.tempFilePaths.forEach(ee => {
-					this.zczmList.push({
-						uri: ee
-					})
+			success() {
+				uni.navigateTo({
+					url: '/pages/living/success'
 				})
-				console.log(this.zczmList);
-			},
-			imgDelete(e) {
-				this.zczmList.splice(this.zczmList.indexOf(e.tempFile.path), 1)
+
 			},
-			upload() {
-				UploadSomeFile(this.zczmList, {}).then(res => {
-					console.log(res);
+			fail() {
+				uni.navigateTo({
+					url: '/pages/living/fail'
 				})
+			},
+			huidiao() {
+
 			}
+
 		}
 	}
 </script>


BIN
static/images/list-s.png


BIN
static/images/list.png


Разлика између датотеке није приказан због своје велике величине
+ 2 - 1
static/json/bufen.json