| 
					
				 | 
			
			
				@@ -0,0 +1,237 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	<view class="wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<uni-section :title="measure.hazardTitle" type="line"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			<uni-forms ref="form" :modelValue="formData" :rules="rules" :label-width="300" label-position="top"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-forms-item label="检查内容" required> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  {{measure.measureContent}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</uni-forms-item>				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-forms-item label="检查结果" name="checkResult" required> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					<view class="uni-data-checkbox-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						<uni-data-checkbox v-model="formData.checkResult" :localdata="checkResults" />				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					</view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</uni-forms-item>	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-forms-item label="备注" name="remark"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				  <uni-easyinput v-model="formData.remark" type="textarea" :maxlength="-1" autoHeight placeholder="备注" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				</uni-forms-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				<uni-file-picker  v-model="formData.attachList"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 fileMediatype="image"  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 title="请上传附件" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 limit="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 @select="uploadSuccess" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				 @delete="deleteFile"></uni-file-picker>	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			</uni-forms> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		</uni-section> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		<button type="primary" @click="onSubmit" class="submit-BT">提交</button>		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	</view> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {upload} from '@/api/system/upload.js'	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	getChecklistHazardRecordById,  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	updateChecklistHazardRecordDoing , 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from '@/api/aqpt/checklistHazardRecordApi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getChecklistHazardRecordView } from '@/api/aqpt/checklistRecordHazardApi' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				checkResults:[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					{text:"通过",value:1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					{text:"不通过",value:-1}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				formData:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					checkResult:1,	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					remark:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					attachList:[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				rules:{}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				measure:{}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				handles:[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				itemList:[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		created() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			this.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			init(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let measure=uni.getStorageSync('measure'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.measure=measure; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.getLocation() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.getchecklist() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			getchecklist(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				getChecklistHazardRecordView(this.measure.recordId).then((res)=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					let itemList=res.data.hazardList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					let measures=[]						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					for(let i=0;i<itemList.length;i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						if(itemList[i].riskList){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							itemList[i].riskList.map(child=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								child.recordList.map(measure=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+									measures.push(measure) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					let index=measures.findIndex(item=>item.measureId===this.measure.measureId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(index>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						let temp=measures[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						measures[0]=JSON.parse(JSON.stringify(this.measure)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						measures[index]=temp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					this.handles=measures					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			getLocation(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				const self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				uni.getLocation({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					type: 'wgs84', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					success: function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						self.formData.dutyLongitude=res.longitude 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						self.formData.dutyLatitude=res.latitude 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				});		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			async onSubmit() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let measure=uni.getStorageSync('measure') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let attachList=[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				for(let i=0;i<this.formData.attachList.length;i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					let filePath=this.formData.attachList[i].url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					let fileresq=await upload({filePath,formData:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						additions: `经度:${this.formData.dutyLongitude};纬度:${this.formData.dutyLatitude}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}}).catch(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							icon:'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							title:"提交失败!" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						})	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					if(fileresq.includes('html')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							icon:'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							title:"图片上传异常" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					}					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					fileresq=JSON.parse(fileresq) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					attachList.push(fileresq.data)		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				await updateChecklistHazardRecordDoing({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					recordId:measure.recordId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					checklistId:measure.checklistId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					riskId:measure.riskId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					hazardId:measure.hazardId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					measureId:measure.measureId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					checkResult:this.formData.checkResult, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					remark:this.formData.remark, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					attachList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}).catch(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						icon:'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						title:"提交失败!" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					})				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				})	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.batchHandle() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 批量处理未处理的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			batchHandle(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let measure=uni.getStorageSync('measure') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let handles=JSON.parse(JSON.stringify(this.handles)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				handles.shift()	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.handles=handles 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(handles.length<1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						icon:'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						title:"处理完毕", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						duration:1000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						complete() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							uni.redirectTo({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								url:`/pages/index/detail/detail?type=task&name=待办任务` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					})	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					return					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.formData={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					checkResult:1,	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					remark:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					attachList:[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				uni.setStorageSync('measure',handles[0]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.measure=handles[0];								 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// 批量处理未处理的【按顺序走到最后一个】 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			goOnNext(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let point=uni.getStorageSync('point')				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let pointIdex=this.itemList.findIndex(item=>point.pointId===item.pointId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let handles=this.itemList.slice(pointIdex+1);			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let nextPointIdx=handles.findIndex(item=>(!item.checkResult)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					nextPointIdx=nextPointIdx+pointIdex 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if(handles.length<1||nextPointIdx<0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					uni.showToast({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						icon:'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						title:"处理完毕", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						duration:1000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						complete() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							uni.redirectTo({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+								url:`/pages/app_views/checkList/index/index?type=form&id=${point.checklistId}&recordId=${point.recordId}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+							}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+						} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					})	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.formData={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					checkResult:1,	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					remark:"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					attachList:[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}						 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let nextPoint=this.itemList[nextPointIdx+1]				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				uni.setStorageSync('measure',nextPoint);//防止测试刷新数据丢失 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.measure=nextPoint;					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			uploadSuccess(e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let attachList=JSON.parse(JSON.stringify(this.formData.attachList)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				attachList.push(e.tempFiles[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.formData.attachList=attachList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			deleteFile(e){							 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				let attachList=JSON.parse(JSON.stringify(this.formData.attachList)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				attachList.filter(item=>item.uuid!==e.tempFile.uuid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				this.formData.attachList=attachList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			},			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		onUnload() {			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			uni.removeStorageSync('point') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss" scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.wrap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	padding: 20rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	padding-bottom: 200rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.submit-BT { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		width: 750rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		color: #4D73FF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		font-size: 32rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		padding-bottom: 68rpx; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		position: fixed; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		bottom: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		z-index: 99; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		box-shadow: 0px 0px 12px 0px #0000000A; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		border-radius: 8px 8px 0px 0px 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	::v-deep .uni-forms-item{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.uni-forms-item__content{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			.uni-data-checkbox-wrap{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				align-items: center;					 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |