From 79ea1e7e5adcd74e6dd8b323239b7232bfe207a8 Mon Sep 17 00:00:00 2001
From: sjf1256754123 <33301030+sjf1256754123@users.noreply.github.com>
Date: Sat, 15 Feb 2020 16:59:29 +0800
Subject: [PATCH] demo

---
 pages/fillIn/fillIn.vue | 412 +++++++++++++++++++++++++++++++++-------
 1 file changed, 343 insertions(+), 69 deletions(-)

diff --git a/pages/fillIn/fillIn.vue b/pages/fillIn/fillIn.vue
index 0e387f8..ee07b33 100644
--- a/pages/fillIn/fillIn.vue
+++ b/pages/fillIn/fillIn.vue
@@ -29,6 +29,31 @@
 						</picker>
 					</view>
 				</template>
+				
+				<template  v-else-if="item.type == 'pickerMore'">
+					<view class="margin-top" :key="index">
+						<uni-collapse>
+							<uni-collapse-item :title="index+1 +'、' + item.label" :open="true" :required="item.required">
+								<view class="padding-lr">
+									<view class="uni-list">
+										<checkbox-group>
+											<label class="uni-list-cell uni-list-cell-pd" v-for="(itemCheck,indexCheck) in item.opts" :key="itemCheck.value"
+											 @click="checkboxChange(indexCheck,item.opts,itemCheck,item.value)">
+												<view class="list-item">
+													<view class="fl">
+														<checkbox :value="itemCheck.value" :checked="itemCheck.checked" />
+													</view>
+													<view style="padding-left:60upx">{{itemCheck.label}}</view>
+												</view>
+											</label>
+										</checkbox-group>
+									</view>
+								</view>
+							</uni-collapse-item>
+						</uni-collapse>
+					</view>
+				</template>
+				
 				<template  v-else-if="item.type == 'date'">
 					<view class="cu-form-group margin-top padding-rl" v-show="!item.hidden"  :key="item.value">
 						<view :class="item.titleClass"><span style="color:red;display: inline-block; vertical-align:inherit;margin-right:4upx" v-if="item.required">*</span>{{index+1}}、{{item.label}}</view>
@@ -64,6 +89,53 @@
 						</view>
 				</view>
 			</template>
+			
+			<view class="cu-form-group margin-top-sm">
+				<view class="uni-padding-wrap uni-common-mt">
+					<view class="padding-top padding-bottom">
+						<checkbox-group @change="checkboxChange($event,'agree')">
+							<label>
+								<checkbox value="A" :checked="form.agree == 'a'" class="fl" style="margin-top:4upx" />
+								<view style="padding-left:60upx;padding-top:6upx" @click="modalName = 'Modal'">
+									我已阅读理解了全部情况,我同意参加
+								</view>
+							</label>
+						</checkbox-group>
+					</view>
+				</view>
+				</checkbox-group>
+			</view>
+			
+			<view class="cu-modal" :class="modalName=='Modal'?'show':''">
+				<view class="cu-dialog">
+					<view class="cu-bar bg-white justify-end text-bold">
+						<view class="content">知情同意书</view>
+						<view class="action" @tap="modalName = ''">
+							<text class="cuIcon-close text-black"></text>
+						</view>
+					</view>
+					<view class="padding-xl green-word">
+						<div class="text-left">
+							<p>在您决定是否参加该筛查(或随访)之前,请仔细阅读以下内容。您可以和您的亲属、朋友一起讨论,或请医生给予解释,然后做出决定。</p>
+							<p>&nbsp;</p>
+							<p class="text-bold">一、筛查开展的背景和目的</p>
+							<p>癌症是严重威胁人民生命和健康的疾病,也是我国居民的主要死亡原因之一。目前因出现临床症状而就诊的患者多为中晚期病人,治疗费用昂贵而且效果不佳,给病人和家属带来极大的痛苦和沉重的经济负担。</p>
+							<p>医学研究和临床实践证实,癌症的发生发展有一个过程,可以通过科学有效的技术方法对人群进行筛查,及时发现癌前病变及早期癌,经有效治疗,可以阻断癌前病变的发展。接受早诊早治的患者痛苦小,经济花费少,而且患者可以很快恢复健康,像健康人一样工作生活。早诊早治是目前控制癌症的最有效的途径。</p>
+							<p>&nbsp;</p>
+							<p class="text-bold">四、哪些人不宜参加筛查</p>
+							<p>具有下列情况的,不宜参加筛查:①严重心脏病,心力衰竭;②重症呼吸道疾病,呼吸困难,哮喘持续状态;③有严重脑部疾病者;④咽后壁脓肿,严重脊柱畸形,或主动脉瘤患者;⑤身体虚弱不能耐受内镜检查,或难以镇静自控者;⑥上消化道腐蚀性炎症急性期,或疑为上消化道穿孔者;⑦大量腹水、严重腹胀,或有重度食管静脉曲张者;⑧有出血倾向者(凝血功能不正常),或正在服用抗凝血药物者,后者须停药一周后检查出凝血功能正常方可进行内镜检查;⑨妊娠期妇女;⑨40-69岁有碘过敏史者等。</p>
+							<p>&nbsp;</p>
+							<p class="text-bold">五、参加筛查可能带来的不适与不便</p>
+							<p>内镜检查和治疗时一般很安全。但也偶有检查和治疗过程中发生食管或胃出血、穿孔及药物反应(如碘过敏)等。对这些情况医生都有很好的预防措施和应急预案,即使发生,罕有危及生命的可能。如果您想进一步了解情况,请与检查小组的医生联系。</p>
+							<p>&nbsp;</p>
+							<p class="text-bold">六、保密原则</p>
+							<p>您的所有个人资料将是保密的,由承担该筛查工作的医院妥善保存。任何公开报告将不会披露您的个人信息。我们将在法律允许的范围内,尽一切努力保护您的隐私。</p>
+							<p>我们将保存所采取的标本资料,并可能在以后的研究中使用,标本上贴有带编码的标签,不会出现您的姓名,您的所有信息将会保密。</p>
+						</div>
+						<button @click="modalName = ''" class="cu-btn block bg-blue margin-tb-sm lg">我知道了</button>
+					</view>
+				</view>
+			</view>
 			<view class="padding">
 				<button form-type="submit" class="cu-btn block bg-blue margin-tb-sm lg">提 交</button>
 			</view>
@@ -82,13 +154,14 @@
 		},
 		data() {
 			return {
+				modalName:'',
 				id:'',
 				radio:[],
 				shanghaiList:[
 					{
 						label:'是否离沪',
 						required:true,
-						value:'relativesGastricCount',
+						value:'left',
 						titleClass:'title',
 						type:'picker',
 						opts:[{value:'a',label:'是'},{value:'b',label:'否'}]
@@ -96,7 +169,7 @@
 					{
 						label:'离沪原因',
 						required:true,
-						value:'relativesGastricCount',
+						value:'leftReason',
 						titleClass:'title',
 						type:'picker',
 						opts:[{value:'a',label:'探亲'},{value:'b',label:'出差'},{value:'b',label:'旅游'},{value:'b',label:'其他'}]
@@ -104,14 +177,14 @@
 					{
 						label:'离沪出发日期',
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'leftDate',
 						titleClass:'title',
 						type:'date',
 					},
 					{
 						label:'离沪方式',
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'leftVehicle',
 						titleClass:'title',
 						type:'date',
 						opts:[{value:'a',label:'火车	'},{value:'飞机',label:'否'},{value:'客车',label:'否'},{value:'自驾',label:'否'}]
@@ -119,7 +192,7 @@
 					{
 						label:'离沪车次/航班',
 						required:true,
-						value:'relativesGastricAge',
+						value:'leftVehicleNum',
 						titleClass:'title',
 						placeholder:'请输入地址',
 						type:'input',
@@ -127,15 +200,14 @@
 					{
 						label:'离沪到达日期',
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'leftReachDate',
 						titleClass:'title',
 						type:'date',
-						opts:[{value:'a',label:'是'},{value:'b',label:'否'}]
 					},
 					{
 						label:'离沪目的地',
 						required:true,
-						value:'relativesGastricAge',
+						value:'leftTarget',
 						titleClass:'title',
 						placeholder:'请输入地址',
 						type:'input',
@@ -143,7 +215,7 @@
 					{
 						label:'离沪具体地址',
 						required:true,
-						value:'relativesGastricAge',
+						value:'leftAddress',
 						titleClass:'title',
 						placeholder:'请输入地址',
 						type:'input',
@@ -151,7 +223,7 @@
 					{
 						label:'离沪同行者姓名(没有填无)',
 						required:true,
-						value:'relativesGastricAge',
+						value:'leftDependentNames',
 						titleClass:'title',
 						placeholder:'请输入',
 						type:'input',
@@ -159,7 +231,7 @@
 					{
 						label:'离沪同行者联系方式(没有填无)',
 						required:true,
-						value:'relativesGastricAge',
+						value:'leftDependentPhones',
 						titleClass:'title',
 						placeholder:'请输入',
 						type:'input',
@@ -167,7 +239,7 @@
 					{
 						label:'是否返沪',
 						required:true,
-						value:'relativesGastricCount',
+						value:'backed',
 						titleClass:'title',
 						type:'picker',
 						opts:[{value:'a',label:'是'},{value:'b',label:'否'}]
@@ -175,7 +247,7 @@
 					{
 						label:'返沪出发地',
 						required:true,
-						value:'relativesGastricAge',
+						value:'backFrom',
 						titleClass:'title',
 						placeholder:'请输入',
 						type:'input',
@@ -183,14 +255,14 @@
 					{
 						label:'返沪出发日期',
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'backDate',
 						titleClass:'title',
 						type:'date',
 					},
 					{
 						label:'返沪方式',
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'backVehicle',
 						titleClass:'title',
 						type:'picker',
 						opts:[{value:'a',label:'火车	'},{value:'飞机',label:'否'},{value:'客车',label:'否'},{value:'自驾',label:'否'}]
@@ -198,7 +270,7 @@
 					{
 						label:'返沪车次/航班',
 						required:true,
-						value:'relativesGastricAge',
+						value:'backVehicleNum',
 						titleClass:'title',
 						placeholder:'请输入地址',
 						type:'input',
@@ -206,14 +278,14 @@
 					{
 						label:'返沪到达日期',
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'backReachedDate',
 						titleClass:'title',
 						type:'date',
 					},
 					{
 						label:'返沪同行者姓名(没有填无)',
 						required:true,
-						value:'relativesGastricAge',
+						value:'backDependentNames',
 						titleClass:'title',
 						placeholder:'请输入',
 						type:'input',
@@ -221,7 +293,7 @@
 					{
 						label:'返沪同行者联系方式(没有填无)',
 						required:true,
-						value:'relativesGastricAge',
+						value:'backDependentPhones',
 						titleClass:'title',
 						placeholder:'请输入',
 						type:'input',
@@ -229,11 +301,20 @@
 					{
 						label:'当前状况',
 						required:true,
-						value:'relativesGastricCount',
+						value:'currentStatus',
 						titleClass:'title',
 						type:'picker',
 						opts:[{value:'a',label:'已经确诊'},{value:'b',label:'疑似诊断'},{value:'b',label:'亲密接触者'},{value:'b',label:'正在接受集中医学观察'},{value:'b',label:'居家观察'},{value:'b',label:'已解除集中医学观察'},{value:'b',label:'无上述情况'}]
 					},
+					
+					{
+						label:'症状',
+						required:true,
+						value:'symptom',
+						titleClass:'title',
+						type:'pickerMore',
+						opts:[{value:'发热',label:'发热'},{value:'咳嗽',label:'咳嗽'},{value:'流涕',label:'流涕'},{value:'咽痛',label:'咽痛'},{value:'咳痰',label:'咳痰'},{value:'胸痛',label:'胸痛'},{value:'肌肉酸痛/关节痛',label:'肌肉酸痛/关节痛'},{value:'气促',label:'气促'},{value:'腹泻',label:'腹泻'},{value:'无上述症状',label:'无上述症状'}]
+					},
 					{
 						label:'湖北接触史',
 						required:true,
@@ -328,12 +409,201 @@
 						label:'计划复工日期',
 						hidden:true,
 						required:true,
-						value:'relativesGastricCount2222',
+						value:'planReturnDate',
 						titleClass:'title',
 						type:'date'
-					}
+					},
+					{
+						label:'是否离沪',
+						required:true,
+						value:'left',
+						titleClass:'title',
+						type:'picker',
+						opts:[{value:'a',label:'是'},{value:'b',label:'否'}]
+					},
+					{
+						label:'离沪原因',
+						required:true,
+						value:'leftReason',
+						titleClass:'title',
+						type:'picker',
+						opts:[{value:'a',label:'探亲'},{value:'b',label:'出差'},{value:'b',label:'旅游'},{value:'b',label:'其他'}]
+					},
+					{
+						label:'离沪出发日期',
+						required:true,
+						value:'leftDate',
+						titleClass:'title',
+						type:'date',
+					},
+					{
+						label:'离沪方式',
+						required:true,
+						value:'leftVehicle',
+						titleClass:'title',
+						type:'date',
+						opts:[{value:'a',label:'火车	'},{value:'飞机',label:'否'},{value:'客车',label:'否'},{value:'自驾',label:'否'}]
+					},
+					{
+						label:'离沪车次/航班',
+						required:true,
+						value:'leftVehicleNum',
+						titleClass:'title',
+						placeholder:'请输入地址',
+						type:'input',
+					},
+					{
+						label:'离沪到达日期',
+						required:true,
+						value:'leftReachDate',
+						titleClass:'title',
+						type:'date',
+						opts:[{value:'a',label:'是'},{value:'b',label:'否'}]
+					},
+					{
+						label:'离沪目的地',
+						required:true,
+						value:'leftTarget',
+						titleClass:'title',
+						placeholder:'请输入地址',
+						type:'input',
+					},
+					{
+						label:'离沪具体地址',
+						required:true,
+						value:'leftAddress',
+						titleClass:'title',
+						placeholder:'请输入地址',
+						type:'input',
+					},
+					{
+						label:'离沪同行者姓名(没有填无)',
+						required:true,
+						value:'leftDependentNames',
+						titleClass:'title',
+						placeholder:'请输入',
+						type:'input',
+					},
+					{
+						label:'离沪同行者联系方式(没有填无)',
+						required:true,
+						value:'leftDependentPhones',
+						titleClass:'title',
+						placeholder:'请输入',
+						type:'input',
+					},
+					{
+						label:'是否返沪',
+						required:true,
+						value:'backed',
+						titleClass:'title',
+						type:'picker',
+						opts:[{value:'a',label:'是'},{value:'b',label:'否'}]
+					},
+					{
+						label:'返沪出发地',
+						required:true,
+						value:'backFrom',
+						titleClass:'title',
+						placeholder:'请输入',
+						type:'input',
+					},
+					{
+						label:'返沪出发日期',
+						required:true,
+						value:'backDate',
+						titleClass:'title',
+						type:'date',
+					},
+					{
+						label:'返沪方式',
+						required:true,
+						value:'backVehicle',
+						titleClass:'title',
+						type:'picker',
+						opts:[{value:'a',label:'火车	'},{value:'飞机',label:'否'},{value:'客车',label:'否'},{value:'自驾',label:'否'}]
+					},
+					{
+						label:'返沪车次/航班',
+						required:true,
+						value:'backVehicleNum',
+						titleClass:'title',
+						placeholder:'请输入地址',
+						type:'input',
+					},
+					{
+						label:'返沪到达日期',
+						required:true,
+						value:'backReachedDate',
+						titleClass:'title',
+						type:'date',
+					},
+					{
+						label:'返沪同行者姓名(没有填无)',
+						required:true,
+						value:'backDependentNames',
+						titleClass:'title',
+						placeholder:'请输入',
+						type:'input',
+					},
+					{
+						label:'返沪同行者联系方式(没有填无)',
+						required:true,
+						value:'backDependentPhones',
+						titleClass:'title',
+						placeholder:'请输入',
+						type:'input',
+					},
+					{
+						label:'当前状况',
+						required:true,
+						value:'currentStatus',
+						titleClass:'title',
+						type:'picker',
+						opts:[{value:'a',label:'已经确诊'},{value:'b',label:'疑似诊断'},{value:'b',label:'亲密接触者'},{value:'b',label:'正在接受集中医学观察'},{value:'b',label:'居家观察'},{value:'b',label:'已解除集中医学观察'},{value:'b',label:'无上述情况'}]
+					},
+					{
+						label:'症状',
+						required:true,
+						value:'symptom',
+						titleClass:'title',
+						type:'pickerMore',
+						opts:[{value:'发热',label:'发热'},{value:'咳嗽',label:'咳嗽'},{value:'流涕',label:'流涕'},{value:'咽痛',label:'咽痛'},{value:'咳痰',label:'咳痰'},{value:'胸痛',label:'胸痛'},{value:'肌肉酸痛/关节痛',label:'肌肉酸痛/关节痛'},{value:'气促',label:'气促'},{value:'腹泻',label:'腹泻'},{value:'以上均无',label:'以上均无'}]
+					},
+					{
+						label:'湖北接触史',
+						required:true,
+						value:'relativesGastricCount',
+						titleClass:'title',
+						type:'radio',
+						opts:[{value:'已经确诊',label:'已经确诊'},{value:'疑似诊断',label:'疑似诊断'},{value:'亲密接触者',label:'亲密接触者'},{value:'正在接受集中医学观察',label:'正在接受集中医学观察'},{value:'居家观察',label:'居家观察'},{value:'已解除集中医学观察',label:'已解除集中医学观察'}]
+					},
+					{
+						label:'患者接触史',
+						required:true,
+						value:'relativesGastricCount',
+						titleClass:'title',
+						type:'radio',
+						opts:[{value:'接触过已确诊或疑似患者',label:'接触过已确诊或疑似患者'},{value:'家属接触过已确诊或疑似患者',label:'家属接触过已确诊或疑似患者'}]
+					},
+					{
+						label:'隔离地址',
+						required:true,
+						value:'quarantineAdress',
+						titleClass:'title',
+						placeholder:'请输入',
+						type:'input',
+					},
+					{
+						label:'隔离开始日期',
+						required:true,
+						value:'quarantineDate',
+						titleClass:'title',
+						type:'date',
+					},
 				],
 				form:{
+					agree:'',
 					orgId:-1,
 					department:'',
 					position:'',
@@ -350,10 +620,6 @@
 		},
 		
 		onLoad(option) {
-			// this.id = option.id || ''
-			// if(option.id){
-			// 	this.getInfo(option.id)
-			// }
 			this.getOrg()
 		},
 		
@@ -384,17 +650,25 @@
 			},
 			// 获取信息
 			getInfo(id){
-				// this.$http.get(`/ewell-gastric-cancer-data/report/selectReportBySampleId?id=${id}`).then(res => {
-				// 	const d = res.data
-				// 	if(d.code == 1){
-				// 		this.form =  Object.assign(this.form,d.object.reportContent.data)    
-				// 		this.isShowChild()
-				// 	}
-				// }).catch(err => {
-				// 	console.log(err)
-				// })
+				
+			},
+			// 更新复选框绑定的表单内容
+			checkboxChange(index, checkList, obj, prop) {
+				for (var i = 0, lenI = checkList.length; i < lenI; ++i) {
+					if (index == i) {
+						this.$set(checkList[i], 'checked', !checkList[i].checked)
+					}
+				}
+				// 处理以上均无情况
+				if (obj.label == '以上均无') {
+					for (var i = 0, lenI = checkList.length; i < lenI; ++i) {
+						this.$set(checkList[i], 'checked', false)
+					}
+					this.$set(checkList[checkList.length - 1], 'checked', true)
+				} else {
+					this.$set(checkList[checkList.length - 1], 'checked', false)
+				}
 			},
-			
 			radioChange(val,prop){
 				this.$set(this.form,prop,val)
 				this.isShowChild()
@@ -419,41 +693,41 @@
 			// 提交信息
 			formSubmit(){
 				console.log(this.form)
-				let flag = true
-				let msg = ''
-				for (let i = 0; i < this.list.length; i++) {
-					if(this.list[i].required){
-						if(!this.form[this.list[i].value]){
-							flag = false
-							uni.showToast({
-								icon: 'none',
-								title: "第"+(i+1)+"项有必填数据未填写"
-							})
-							break
-						}
-						if(!flag){
-							break
-						}
-					}
-				}
+				// let flag = true
+				// let msg = ''
+				// for (let i = 0; i < this.list.length; i++) {
+				// 	if(this.list[i].required){
+				// 		if(!this.form[this.list[i].value]){
+				// 			flag = false
+				// 			uni.showToast({
+				// 				icon: 'none',
+				// 				title: "第"+(i+1)+"项有必填数据未填写"
+				// 			})
+				// 			break
+				// 		}
+				// 		if(!flag){
+				// 			break
+				// 		}
+				// 	}
+				// }
 				
-				if(!flag){
-					return false
-				}else{
-					this.$http.post(`/ewell-gastric-cancer-data/wechat/report`,obj).then(res => {
-						const d = res.data
-						if(d.code == 1){
+				// if(!flag){
+				// 	return false
+				// }else{
+				// 	this.$http.post(`/ewell-gastric-cancer-data/wechat/report`,obj).then(res => {
+				// 		const d = res.data
+				// 		if(d.code == 1){
 							
-						}else{
-							uni.showToast({
-								icon: 'none',
-								title: d.message
-							})
-						}
-					}).catch(err => {
-						console.log(err)
-					})
-				}
+				// 		}else{
+				// 			uni.showToast({
+				// 				icon: 'none',
+				// 				title: d.message
+				// 			})
+				// 		}
+				// 	}).catch(err => {
+				// 		console.log(err)
+				// 	})
+				// }
 			}
 		}
 	}
-- 
2.22.0