dedsudiyu 6 mesi fa
parent
commit
ad9b250501

+ 8 - 8
api/request/config.js

@@ -1,17 +1,17 @@
 const config = {
-	base_url: 'http://192.168.1.43/api', //43服务器
-	//base_url: 'http://192.168.1.8/api',//1.8服务器
-	 //base_url: 'http://192.168.1.9:8080',//柴
+	// base_url: 'http://192.168.1.43/api', //43服务器
+	// base_url: 'http://192.168.1.8/api',//1.8服务器
+	// base_url: 'http://192.168.1.9:8080',//柴
 	// base_url: 'http://192.168.1.24:8080',//林总
 	// base_url: 'http://192.168.1.7:8080',//刘波
-	//base_url: 'http://192.168.1.17:8080',//小飞
-	//base_url: 'http://192.168.1.43/api',//小飞
-	// base_url: 'http://192.168.1.20:8080',//志伟
-	//  base_url: 'http://192.168.1.39:8080',//高升
+	// base_url: 'http://192.168.1.17:8080',//小飞
+	// base_url: 'http://192.168.1.43/api',//小飞
+	base_url: 'http://192.168.1.20:8080',//志伟
+	// base_url: 'http://192.168.1.39:8080',//高升
 	// base_url: 'http://192.168.1.29:8080',//何成
 	// base_url: 'https://demo.zjznai.com/xzgd/',
 	// base_url: 'https://lab.zjznai.com/labNhSystem/',//43服务器高升测试
-	//  base_url: 'https://lab.zjznai.com/labTest/',//1.8外网
+	// base_url: 'https://lab.zjznai.com/labTest/',//1.8外网
 	// base_url: 'https://lab.zjznai.com/labAppTest/',//43服务器线上
 	 //base_url: 'https://lab.zjznai.com/appTest/',//88服务器线上
 	// base_url: 'https://lab.zjznai.com/labSystem/', //矿大地址

+ 55 - 8
pages_safetyCheck/api/index.js

@@ -48,7 +48,7 @@ export const securityAppCheckPhotoUpdate = (data) => {
 		data: { ...data }
 	})
 };
-//实验室检查项列表
+//随手拍-实验室检查项列表
 export const securityAppCheckPhotoList = (data) => {
 	return apiResquest({
 		url: `/security/appCheckPhoto/list`,
@@ -64,15 +64,15 @@ export const securityAppCheckPlanTitleList = (data) => {
        data: { ...data }
     })
 };
-//根据id查询计划方法
-export const securityCheckPlanFindCheckPlan = (data) => {
+//获取分级列表
+export const laboratoryClassLevelGetList = (data) => {
 	return apiResquest({
-		url: `/security/checkPlan/findCheckPlan`,
-		method: 'GET',
-		data: data,
+		url: `/laboratory/classLevel/getList`,
+		method: 'POST',
+		data: { ...data }
 	})
 };
-//根据条件获取检查计划列表
+//根据条件获取检查任务列表
 export const securityAppCheckManageList = (data) => {
     return apiResquest({
         url: '/security/appCheckManage/list',
@@ -80,7 +80,54 @@ export const securityAppCheckManageList = (data) => {
        data: { ...data }
     })
 };
-
+//根据条件获取复查任务列表
+export const securityAppCheckDangerReviewSubList = (data) => {
+    return apiResquest({
+        url: '/security/appCheckDanger/reviewSubList',
+       method: 'POST',
+       data: { ...data }
+    })
+};
+//根据条件获取整改任务列表
+export const securityAppCheckDangerGetCheckDangerSubList = (data) => {
+    return apiResquest({
+        url: '/security/appCheckDanger/getCheckDangerSubList',
+       method: 'POST',
+       data: { ...data }
+    })
+};
+//检查计划详情
+export const securityAppCheckPlanFindCheckPlan = (data) => {
+    return apiResquest({
+        url: '/security/appCheckPlan/findCheckPlan',
+       method: 'GET',
+       data: { ...data }
+    })
+};
+//实验室下-检查任务-检查项列表
+export const securityAppCheckSetOptionList = (data) => {
+    return apiResquest({
+        url: '/security/appCheckSetOption/list',
+       method: 'POST',
+       data: { ...data }
+    })
+};
+//实验室下-复查验证-检查项列表
+export const securityAppCheckDangerReviewList = (data) => {
+    return apiResquest({
+        url: '/security/appCheckDanger/reviewList',
+       method: 'POST',
+       data: { ...data }
+    })
+};
+//实验室下-隐患整改-检查项列表
+export const securityAppCheckDangerGetCheckDangerSubId = (data) => {
+    return apiResquest({
+        url: '/security/appCheckDanger/getCheckDangerSubId',
+       method: 'POST',
+       data: { ...data }
+    })
+};
 
 
 

+ 319 - 292
pages_safetyCheck/views/inspectManage/inspectList.vue

@@ -4,12 +4,13 @@
 		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
 			<view class="title" @click="planClick()">
 				<view class="title-l">
-					<view class="title-l-t">{{newData.planTitle}}</view>
+					<view class="title-l-t">{{optionData.planTitle}}</view>
 					<view class="title-l-b">
-						<view v-if="newData.checkCategory">
-							{{newData.checkCategory==1?'校院巡查':(newData.checkCategory==2?'学院自查':'')}}</view>
-						<view v-if="newData.checkTypeName">{{newData.checkTypeName}}</view>
-						<view v-if="newData.crossCheck==1">交叉互检</view>
+						<view v-if="optionData.checkCategory">
+							{{optionData.checkCategory==1?'校院巡查':(optionData.checkCategory==2?'学院自查':'')}}
+						</view>
+						<view v-if="optionData.checkTypeName">{{optionData.checkTypeName}}</view>
+						<view v-if="optionData.crossCheck==1">交叉互检</view>
 					</view>
 				</view>
 				<img class="title-r" src="@/pages_safetyCheck/images/icon_wd_gd@1x.png">
@@ -20,16 +21,17 @@
 			</view>
 			<view>
 				<view class="srearch">
-					<picker @change="deptChange" :value="deptIndex" :range="deptList"  :range-key="'deptName'">
-						<view class="college">{{queryParams.deptName?queryParams.deptName:'学院'}}
+					<picker @change="deptChange" :value="deptData.index" :range="deptData.list" :range-key="'deptName'">
+						<view class="college">
+							<view>{{deptData.name?deptData.name:'学院'}}</view>
 							<img src="@/pages_safetyCheck/images/icon_06.png">
 						</view>
 					</picker>
 					<view class="srearch-n">
-						<view class="srearch-l" @click="popupClick(1)">
+						<view class="srearch-l">
 							<img src="@/pages_safetyCheck/images/icon_aqjc_ss.png">
 						</view>
-						<input class="srearch-c" type="text" @confirm="carriageReturnRequest" v-model="form.searchValue"
+						<input class="srearch-c" type="text" @confirm="carriageReturnRequest" v-model="searchValue"
 							placeholder="实验室/房间号" />
 						<view class="srearch-r" @click="saoCode()">
 							<img src="@/pages_safetyCheck/images/icon_aqjc_sm.png">
@@ -37,37 +39,34 @@
 					</view>
 				</view>
 				<view class="level">
-					<view class="level-li" :id="levelIndex==index?'levelColor-A':'levelColor-B'"
-						@click="levelClick(index)" v-for="(item,index) in levelList">{{item}}</view>
+					<view class="level-li" :id="levelId==item.levelId?'levelColor-A':'levelColor-B'" @click="levelClick(item.levelId)"
+						v-for="(item,index) in levelList">{{item.levelName}}</view>
 				</view>
 			</view>
 			<view class="hidden">
 				<view class="hidden-li" @click="listClick(item)" v-for="(item,index) in dataList">
 					<img class="hidden-li-l" src="@/pages_safetyCheck/images/icon_sys_xz@1x.png">
 					<view class="hidden-li-c">{{item.subName}}</view>
-					<view class="hidden-li-r">待检查{{item.unCheckCount}}项
+					<view class="hidden-li-r" :class="item.manageStatus == 2?'manageClass':''" v-if="tabIndexTow==0">
+						{{item.manageStatus == 2?'已检查':'待检查'+item.unCheckCount+'项'}}
 						<img src="@/pages_safetyCheck/images/icon_ssp_gd@1x.png">
 					</view>
-				</view>
-			</view>
-
-		</scroll-view>
-		<view class="popup-max-box" v-if="popupType">
-			<view class="popup-null" @click="popupClick(2)"></view>
-			<view class="popup-big-box">
-				<view class="popup-input-box">
-					<input type="text" maxlength="10" v-model="room" placeholder="请输入关键字">
-					<view @click="buildBySub">搜索</view>
-				</view>
-				<view class="popup-for-max-box">
-					<view class="popup-for-null" v-if="!roomList[0]">暂无数据</view>
-					<view class="popup-for-box" v-for="(item,index) in roomList" :key="index">
-						<view class="name-p">{{item.subName}} ({{item.roomNum?item.roomNum:'-'}})</view>
-						<view class="button-p" @click="popupClickItem(item)">确定</view>
+					<view class="hidden-li-r" :class="item.manageStatus == 2?'manageClass':''" v-if="tabIndexTow==1">
+						{{item.overCheck?'已检查':'待复查'+item.stayExamineCheckNum+'项'}}
+						<img src="@/pages_safetyCheck/images/icon_ssp_gd@1x.png">
 					</view>
+					<view class="hidden-li-r" :class="item.manageStatus == 2?'manageClass':''" v-if="tabIndexTow==2">
+						{{item.overCheck?'已检查':'待整改'+item.stayExamineCheckNum+'项'}}
+						<img src="@/pages_safetyCheck/images/icon_ssp_gd@1x.png">
+					</view>
+				</view>
+				<view class="get-data-p" v-if="!getDataType">
+					<img class="get-data-img" src="@/pages_safetyCheck/images/icon_aqjc_sl.png">
+					<view class="get-data-text">上拉加载</view>
 				</view>
+				<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
 			</view>
-		</view>
+		</scroll-view>
 	</view>
 </template>
 
@@ -80,8 +79,10 @@
 	} from '@/pages/api/index.js'
 	import {
 		laboratorySubRelInfoGetRelList,
-		checkOptionListNew,
-		securityAppCheckManageList
+		laboratoryClassLevelGetList,
+		securityAppCheckManageList,
+		securityAppCheckDangerGetCheckDangerSubList,
+		securityAppCheckDangerReviewSubList,
 	} from '@/pages_safetyCheck/api/index.js'
 	export default {
 		name: "snapshotList",
@@ -96,55 +97,55 @@
 				tabListTow: ['检查任务', '复查验证', '隐患整改'],
 				tabIndexTow: 0,
 				//学院选择
+				deptData:{
+					index:null,
+					list:[],
+					id:null,
+					name:null
+				},
 				deptIndex: null,
 				deptList: [],
-				newData: {
-					planCategory: [], //检查类别
-				},
-				form: {
-					rectifyDescribe: '',
-					imgDtoList: [],
-					hazardCheckName: '',
-				},
+				//弹层实验室数据
 				popupType: false,
 				roomList: [],
-				checkOptionList: [],
-				levelList: ['一级', '二级', '三级', '四级'],
-				levelIndex: 0,
+				//级别
+				levelList: [],
+				levelId: null,
+				optionData: {
+					planCategory: [], //检查类别
+				},
+				//实验室/房间号
+				searchValue:'',
+				subId:'',
+				planSetId:null,
 				// 查询参数
 				queryParams: {
 					page: 1,
 					pageSize: 10,
-					deptId: '',
-					deptName: '',
-					manageStatus:'',//0待检查,1检查中,2已检查
-					planSetId:'',//计划批次Id
 				},
-				dataList:[],
+				dataList: [],
+				total:0,
+				getDataType:false,
 			}
 		},
 		onLoad(option) {
-			this.$set(this, 'newData', JSON.parse(decodeURIComponent(option.infoData)));
-			this.pageType = this.newData.pageType;
-			console.log(this.newData)
+			let optionData = JSON.parse(decodeURIComponent(option.infoData))
 			uni.setNavigationBarTitle({
-				title: this.newData.checkPlanSetVoList[0].checkName
+				title: optionData.checkPlanSetVoList.checkName
 			})
-			this.queryParams.planSetId= this.newData.checkPlanSetVoList[0].planSetId
-			if (this.pageType == 0) {
-				//校级检查
-				this.tabListTow = ['检查任务', '复查验证', '隐患整改'];
-			} else if (this.pageType == 1) {
-				//学院自查
-				this.tabListTow = ['自查任务', '复查验证', '隐患整改'];
-			}
-
+			this.$set(this, 'tabListTow',
+				optionData.checkCategory == 1 ? ['检查任务', '复查验证', '隐患整改'] :
+				(optionData.checkCategory == 2 ? ['自查任务', '复查验证', '隐患整改'] : [])
+			)
+			this.$set(this, 'optionData', optionData);
+			this.$set(this, 'planSetId', optionData.checkPlanSetVoList.planSetId);
 		},
 		onShow() {
 
 		},
 		mounted() {
 			this.systemDeptDropList();
+			this.laboratoryClassLevelGetList();
 			this.getList();
 		},
 		methods: {
@@ -156,52 +157,58 @@
 				} else {
 					this.queryParams.page += 1;
 					this.$nextTick(() => {
-						if(this.pageType==0){
-							//检查任务
-							this.getList();
-						}else if(this.pageType==1){
-							
-						}else if(this.pageType==2){
-							
-						}
+						this.getList();
 					})
 				}
 			},
-			levelClick(index) {
-				this.levelIndex = index;
+			//级别切换
+			levelClick(id) {
+				if(this.levelId == id){
+					this.$set(this,'levelId',null);
+				}else{
+					this.$set(this,'levelId',id);
+				}
+				this.$set(this, 'getDataType', false);
+				this.$set(this.queryParams,'page',1);
+				this.getList();
 			},
+			//查询类型切换
 			tabClickTow(index) {
-				this.tabIndexTow = index;
-				this.pageType = index;
+				this.$set(this.queryParams,'page',1);
+				this.$set(this,'deptData',{
+					index:null,
+					list:this.deptData.list,
+					id:null,
+					name:null
+				});
+				this.$set(this,'searchValue',null);
+				this.$set(this,'levelId',null);
+				this.$set(this, 'getDataType', false);
+				this.$set(this, 'dataList', []);
+				this.$set(this, 'total', 0);
+				this.$set(this,'tabIndexTow',index);
+				this.getList();
 			},
+			//计划详情
 			planClick() {
 				let infoData = {
-					planId: this.newData.planId
+					planId: this.optionData.planId
 				};
 				uni.navigateTo({
 					url: '/pages_safetyCheck/views/planDetail?infoData=' + encodeURIComponent(JSON.stringify(
 						infoData))
 				});
 			},
+			//实验室列表数据选择
 			listClick(row) {
 				let infoData = row;
 				infoData.pageType = this.tabIndexTow;
+				infoData.checkPlanSetVoList = this.optionData.checkPlanSetVoList;
 				uni.navigateTo({
 					url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItems?infoData=' + encodeURIComponent(
 						JSON.stringify(infoData))
 				});
 			},
-			/******搜索房间弹层开关******/
-			popupClick(type) {
-				if (type == 1) {
-					this.room = "";
-					this.roomList = [];
-					this.popupType = true;
-					this.buildBySub();
-				} else if (type == 2) {
-					this.popupType = false;
-				}
-			},
 			//搜索房间接口
 			async buildBySub() {
 				let self = this;
@@ -223,12 +230,6 @@
 					}
 				}
 			},
-			//确认搜索房间
-			popupClickItem(item) {
-				this.$set(this.queryParams, "subId", item.subId)
-				this.$set(this.queryParams, "levelId", item.levelId)
-				this.popupType = false;
-			},
 			/******调用摄像头******/
 			saoCode() {
 				let self = this;
@@ -240,9 +241,8 @@
 						list.forEach((item) => {
 							codeData[item.split("=")[0]] = item.split("=")[1];
 						})
-						console.log('二维码', codeData)
 						if (codeData.code) {
-							self.laboratoryAppletGetSubDetailInfo(codeData.code);
+							self.saoList(codeData.subId);
 						} else {
 							uni.showToast({
 								title: '请扫描正确的二维码',
@@ -254,15 +254,102 @@
 					}
 				});
 			},
+			//扫一扫查询数据
+			async saoList(subId){
+				let obj = {
+					planSetId:this.planSetId,
+					subId:subId,
+				}
+				if(this.tabIndexTow == 0){
+					//检查计划
+					const { data } = await securityAppCheckManageList(obj);
+					if (data.code == 200) {
+						if(data.data.records[0]){
+							//跳转检查项列表页面
+							let infoData = data.data.records[0];
+							infoData.pageType = this.tabIndexTow;
+							infoData.checkName = this.optionData.checkPlanSetVoList.checkName;
+							uni.navigateTo({
+								url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItems?infoData=' + encodeURIComponent(
+									JSON.stringify(infoData))
+							});
+						}else{
+							//未找到数据提示
+							uni.showToast({
+								title: '未找到该实验室与本计划批次关联的数据',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+						}
+					}
+				}else if(this.tabIndexTow == 1){
+					//复查计划
+					obj.planId = this.optionData.planId;
+					const { data } = await securityAppCheckDangerReviewSubList(obj);
+					if (data.code == 200) {
+						if(data.data.records[0]){
+							//跳转检查项列表页面
+							let infoData = data.data.records[0];
+							infoData.pageType = this.tabIndexTow;
+							infoData.checkName = this.optionData.checkPlanSetVoList.checkName;
+							uni.navigateTo({
+								url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItems?infoData=' + encodeURIComponent(
+									JSON.stringify(infoData))
+							});
+						}else{
+							//未找到数据提示
+							uni.showToast({
+								title: '未找到该实验室与本计划批次关联的数据',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+						}
+					}
+				} else if(this.tabIndexTow == 2){
+					//整改计划
+					obj.planId = this.optionData.planId;
+					const { data } = await securityAppCheckDangerGetCheckDangerSubList(obj);
+					if (data.code == 200) {
+						if(data.data.records[0]){
+							//跳转检查项列表页面
+							let infoData = data.data.records[0];
+							infoData.pageType = this.tabIndexTow;
+							infoData.checkName = this.optionData.checkPlanSetVoList.checkName;
+							uni.navigateTo({
+								url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItems?infoData=' + encodeURIComponent(
+									JSON.stringify(infoData))
+							});
+						}else{
+							//未找到数据提示
+							uni.showToast({
+								title: '未找到该实验室与本计划批次关联的数据',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+						}
+					}
+				}
+			},
 			//学院选择
 			deptChange(e) {
 				let self = this;
-				self.deptList.forEach(function(item, index) {
-					if (index == e.detail.value) {
-						self.$set(self.queryParams, 'deptId', item.deptId)
-						self.$set(self.queryParams, 'deptName', item.deptName)
-					}
+				self.deptData.list.forEach(function(item, index) {
+						if (index == e.detail.value) {
+							if(!item.deptId){
+								self.$set(self.deptData, 'id', null)
+								self.$set(self.deptData, 'name', null)
+							}else{
+								self.$set(self.deptData, 'id', item.deptId)
+								self.$set(self.deptData, 'name', item.deptName)
+							}
+						}
 				})
+				this.$set(this, 'getDataType', false);
+				this.$set(this.queryParams,'page',1);
+				this.getList();
 			},
 			//获取院系
 			async systemDeptDropList() {
@@ -274,38 +361,105 @@
 					deptType: 1
 				});
 				if (data.code == 200) {
-					this.deptList = data.data
+					data.data.unshift({
+						deptid:null,
+						deptName:'全部'
+					})
+					this.$set(this.deptData,'list',data.data);
+				}
+			},
+			//获取分级
+			async laboratoryClassLevelGetList() {
+				const {
+					data
+				} = await laboratoryClassLevelGetList({});
+				if (data.code == 200) {
+					this.$set(this,'levelList',data.data);
 				}
 			},
 			//回车触发
 			carriageReturnRequest() {
-				console.log('123123')
+				this.$set(this, 'getDataType', false);
+				this.$set(this.queryParams,'page',1);
+				this.getList();
 			},
 			//检查任务
 			async getList() {
 				let self = this;
-				const {
-					data
-				} = await securityAppCheckManageList(this.queryParams);
-				if (data.code == 200) {
-					if (self.queryParams.page == 1) {
-						this.dataList = data.data.records;
-						this.total = data.data.total;
-						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
-							this.$set(this, 'getDataType', true);
-						}
-					} else {
-						this.dataList = [...this.dataList, ...data.data.records]
-						this.total = data.data.total;
-						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
-							this.$set(this, 'getDataType', true);
+				let obj = JSON.parse(JSON.stringify(this.queryParams));
+				obj.planSetId = this.planSetId;
+				obj.deptId = this.deptData.id?this.deptData.id:'';
+				obj.searchValue = this.searchValue?this.searchValue:'';
+				obj.levelId = this.levelId?this.levelId:'';
+				if(this.tabIndexTow == 0){
+					//检查计划
+					const { data } = await securityAppCheckManageList(obj);
+					if (data.code == 200) {
+						if (self.queryParams.page == 1) {
+							this.dataList = data.data.records;
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
+						} else {
+							this.dataList = [...this.dataList, ...data.data.records]
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
 						}
 					}
+				}else if(this.tabIndexTow == 1){
+					//复查计划
+					obj.planId = this.optionData.planId;
+					const { data } = await securityAppCheckDangerReviewSubList(obj);
+					if (data.code == 200) {
+						this.dataList = data.data;
+						this.$set(this, 'getDataType', true);
+						// 后台接口暂时不支持分页
+						// if (self.queryParams.page == 1) {
+						// 	this.dataList = data.data.records;
+						// 	this.total = data.data.total;
+						// 	if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+						// 		this.$set(this, 'getDataType', true);
+						// 	}
+						// } else {
+						// 	this.dataList = [...this.dataList, ...data.data.records]
+						// 	this.total = data.data.total;
+						// 	if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+						// 		this.$set(this, 'getDataType', true);
+						// 	}
+						// }
+					}
+					
+				}else if(this.tabIndexTow == 2){
+					//整改计划
+					obj.planId = this.optionData.planId;
+					const { data } = await securityAppCheckDangerGetCheckDangerSubList(obj);
+					if (data.code == 200) {
+						this.dataList = data.data;
+						this.$set(this, 'getDataType', true);
+						// 后台接口暂时不支持分页
+						// if (self.queryParams.page == 1) {
+						// 	this.dataList = data.data.records;
+						// 	this.total = data.data.total;
+						// 	if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+						// 		this.$set(this, 'getDataType', true);
+						// 	}
+						// } else {
+						// 	this.dataList = [...this.dataList, ...data.data.records]
+						// 	this.total = data.data.total;
+						// 	if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+						// 		this.$set(this, 'getDataType', true);
+						// 	}
+						// }
+					}
+					
 				}
 			},
-			
-			
-			
+
+
+
 
 		}
 	}
@@ -315,9 +469,13 @@
 	.snapshotList {
 		height: 100%;
 		display flex;
-
+		overflow: hidden;
+		.info-max-box{
+			padding-top:20rpx;
+		}
 		.title {
-			width: 750rpx;
+			width: 690rpx;
+			margin:0 30rpx 20rpx;
 			height: 150rpx;
 			background: #FFFFFF;
 			border-radius: 20rpx 20rpx 20rpx 20rpx;
@@ -438,8 +596,15 @@
 				overflow: hidden;
 				text-overflow: ellipsis;
 				white-space: nowrap;
-
+				>view{
+					width:124rpx;
+					display:block;
+					overflow:hidden;
+					text-overflow:ellipsis;
+					white-space:nowrap;
+				}
 				>img {
+					display: block;
 					width: 24rpx;
 					height: 12rpx;
 				}
@@ -475,13 +640,13 @@
 				}
 
 				.srearch-r {
-					width: 60rpx;
+					width: 90rpx;
 					height: 60rpx;
 
 					>img {
 						width: 30rpx;
 						height: 30rpx;
-						margin: 14rpx 22rpx 0 0;
+						margin: 14rpx 22rpx 0 30rpx;
 					}
 
 
@@ -638,180 +803,18 @@
 			}
 		}
 
-		/* 实验室弹框 */
-		.popup-max-box {
-			z-index: 10;
-			height: 100%;
-			width: 100%;
-			position fixed;
-			background rgba(0, 0, 0, 0.2);
-			display flex;
-
-			flex-direction column;
-
-			.popup-null {
-				flex: 1;
-			}
-
-			.popup-big-box {
-				border-top-left-radius: 20rpx;
-				border-top-right-radius: 20rpx;
-
-				background #fff;
-
-				.popup-input-box {
-					padding: 30rpx 20rpx;
-					display: flex;
-
-					input {
-						flex: 1;
-						height: 70rpx;
-						border: 1rpx solid #e0e0e0;
-						border-radius: 10rpx;
-						margin-right: 20rpx;
-						padding: 0 20rpx;
-					}
-
-					view {
-						background #0183FA;
-						color: #fff;
-						border-radius: 10rpx;
-						width: 140rpx;
-						line-height: 70rpx;
-						text-align center;
-						font-size: 28rpx;
-					}
-				}
-
-				.popup-for-max-box {
-					margin: 0 20rpx 30rpx;
-					height: 600rpx;
-					overflow-y scroll;
-
-					.popup-for-null {
-						line-height: 100rpx;
-						text-align center;
-						color: #999;
-					}
-
-					.popup-for-box {
-						display: flex;
-						padding: 10px 0;
-
-						.name-p {
-							flex: 1;
-							line-height: 60rpx;
-						}
-
-						.button-p {
-							background #0183FA;
-							color: #fff;
-							text-align center;
-							width: 100rpx;
-							line-height: 60rpx;
-							height: 60rpx;
-							border-radius: 10rpx;
-						}
-					}
-				}
-			}
-		}
-
-		.subBtn {
-			width: 690rpx;
-			height: 100rpx;
-			background: #0183FA;
-			border-radius: 50rpx 50rpx 50rpx 50rpx;
-			font-weight: 400;
-			font-size: 30rpx;
-			color: #FFFFFF;
-			line-height: 100rpx;
-			text-align: center;
-			position: fixed;
-			left: 30rpx;
-			bottom: 10rpx;
-		}
-
-		/* 上报记录 */
-		.escalation {
-
-			.escalation-li {
-				width: 690rpx;
-				height: 162rpx;
-				background: #FFFFFF;
-				border-radius: 20rpx 20rpx 20rpx 20rpx;
-				margin: 20rpx 30rpx;
-				padding: 0 30rpx;
-				box-sizing: border-box;
-
-				.escalation-li-t {
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-					border-bottom: 1rpx solid #E0E0E0;
-
-					>view:nth-of-type(1) {
-						font-weight: 400;
-						font-size: 30rpx;
-						color: #333333;
-						line-height: 80rpx;
-						text-align: left;
-					}
-
-					>view:nth-of-type(2) {
-						font-weight: 400;
-						font-size: 28rpx;
-						color: #0183FA;
-						line-height: 80rpx;
-						text-align: left;
-						display: flex;
-						justify-content: flex-start;
-						align-items: center;
-
-						>img {
-							width: 24rpx;
-							height: 24rpx;
-						}
-					}
-				}
-
-				.escalation-li-b {
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-
-					>view:nth-of-type(1) {
-						font-weight: 400;
-						font-size: 30rpx;
-						color: #333333;
-						line-height: 80rpx;
-						text-align: left;
-					}
-
-					>view:nth-of-type(2) {
-						font-weight: 400;
-						font-size: 30rpx;
-						color: #666666;
-						line-height: 80rpx;
-						text-align: left;
-					}
-				}
-
-			}
-		}
-
 		/* 隐患整改 */
 		.hidden {
-			width: 690rpx;
-			border-radius: 20rpx 20rpx 20rpx 20rpx;
-			background: #FFFFFF;
-			padding: 0 30rpx;
 			box-sizing: border-box;
-			margin: 20rpx 30rpx;
-
+			margin: 20rpx 0;
+			.hidden-li:nth-child(1){
+				border-top:none;
+			}
 			.hidden-li {
+				padding: 0 30rpx;
 				height: 80rpx;
-				border-bottom: 1rpx solid #E0E0E0;
+				background: #FFFFFF;
+				border-top: 1rpx solid #E0E0E0;
 				display: flex;
 				justify-content: flex-start;
 				align-items: center;
@@ -847,11 +850,35 @@
 						height: 24rpx;
 					}
 				}
+				.manageClass{
+					color: #009c1f !important;;
+				}
 			}
 
 			.hidden-li:last-of-type {
 				border: none;
 			}
+			.get-data-p {
+				height: 100rpx;
+				text-align: center;
+			
+				.get-data-img {
+					width: 30rpx;
+					height: 30rpx;
+					margin: 0 auto;
+					margin-top: 15rpx;
+				}
+			
+				.get-data-text {
+					text-align: center;
+				}
+			}
+			
+			.get-data-null-p {
+				height: 100rpx;
+				line-height: 100rpx;
+				text-align: center;
+			}
 		}
 
 		#color-A {
@@ -866,4 +893,4 @@
 			color: #16B531;
 		}
 	}
-</style>
+</style>

+ 199 - 83
pages_safetyCheck/views/itemsManage/hiddenDangerItems.vue

@@ -2,26 +2,39 @@
 <template>
 	<view class="hiddenDangerItems">
 		<view class="header">
+			<view class="lotName" :class="pageType != 0?'lotNameOne':''" v-if="lotName">{{lotName}}</view>
+			<view class="line"></view>
 			<view class="tabTitle_tow">
-				<view class="tabTitle_tow_li" @tap="tabClickTow(index)" :key="index" v-for="(item,index) in tabTextTow">
-					<view :class="{on:curTabTow==index}" class="tabTitle_tow_text">{{item}}</view>
-					<view :class="{on:curTabTow==index}" class="tabTitle_tow_across"></view>
+				<view class="tabTitle_tow_li" @tap="tabClickTow(item.value)" :key="index" v-for="(item,index) in tabTextTow">
+					<view :class="{on:curTabTow==item.value}" class="tabTitle_tow_text">{{item.label}}</view>
+					<view :class="{on:curTabTow==item.value}" class="tabTitle_tow_across"></view>
 				</view>
 			</view>
 			<view class="line"></view>
 			<view class="search">
-				<view class="search-l">
-					<view @click="searchClick(item,index)" :class="item.selected?'search-B':'search-A'" v-for="(item,index) in searchList">{{item.name}}</view>
+				<view class="search-l" v-if="pageType == 0 && curTabTow != 0">
+					<view :class="checkFlag == 1 ?'search-B':'search-A'" @click="checkFlagChange(1)">符合</view>
+					<view :class="checkFlag == 0 ?'search-B':'search-A'" @click="checkFlagChange(0)">不符合</view>
 				</view>
-				<view class="search-r" @click="inspectionItemsClick()">
+				<view class="search-r" :class="(pageType == 0 && curTabTow == 0)||(pageType != 0) ?'search-r-margin':''"
+					@click="inspectionItemsClick()">
 					<img src="@/pages_safetyCheck/images/icon_aqjc_ss.png">
-					{{newData.hazardCheckCode?newData.hazardCheckCode:''}}{{newData.hazardCheckName?newData.hazardCheckName:'模糊搜索检查项'}}
+					{{newData.hazardCheckCode?newData.hazardCheckCode:''}}{{newData.hazardCheckName?newData.hazardCheckName:'搜索检查项'}}
 				</view>
 			</view>
+			<view class="line"></view>
 		</view>
-		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+		<scroll-view scroll-y style="overflow-y: scroll;flex:1;" @scrolltolower="scrollGet" class="info-max-box">
 			<view class="list">
-				<view class="total">待整改共{{total}}项</view>
+				<view class="total" :class="curTabTow == 2?'total-color-1':(curTabTow == 0?'total-color-3':(curTabTow == 1?'total-color-2':''))" v-if="pageType == 0">
+					{{curTabTow == 2?'待检查共'+total+'项':(curTabTow == 0?'检查中草稿箱共'+total+'项':(curTabTow == 1?'已检查共'+total+'项':''))}}
+				</view>
+				<view class="total" :class="curTabTow == 0?'total-color-1':(curTabTow == 1?'total-color-2':(curTabTow == 2?'total-color-3':''))"v-if="pageType == 1">
+					{{curTabTow == 0?'待复查共'+total+'项':(curTabTow == 1?'复查完毕共'+total+'项':(curTabTow == 2?'退回整改共'+total+'项':''))}}
+				</view>
+				<view class="total" :class="curTabTow == 2?'total-color-1':(curTabTow == 0?'total-color-2':(curTabTow == 4?'total-color-3':''))"v-if="pageType == 2">
+					{{curTabTow == 2?'待整改共'+total+'项':(curTabTow == 1?'已整改共'+total+'项':(curTabTow == 4?'暂无法整改共'+total+'项':''))}}
+				</view>
 				<view class="list-li" v-for="(item,index) in dataList" :key="index">
 					<view class="list-li-t" @click="itemsClick(item)">
 						<img v-if="item.rectifyStatus==0" src="@/pages_safetyCheck/images/icon_zg_zh@1x.png">
@@ -35,6 +48,10 @@
 					</view>
 				</view>
 			</view>
+			<view class="get-data-p" v-if="!getDataType">
+				<img class="get-data-img" src="@/pages_safetyCheck/images/icon_aqjc_sl.png">
+				<view class="get-data-text">上拉加载</view>
+			</view>
 			<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
 		</scroll-view>
 	</view>
@@ -46,7 +63,9 @@
 		config
 	} from '@/api/request/config.js'
 	import {
-		securityAppCheckPhotoList,
+		securityAppCheckSetOptionList,
+		securityAppCheckDangerReviewList,
+		securityAppCheckDangerGetCheckDangerSubId,
 	} from '@/pages_safetyCheck/api/index.js'
 	export default {
 		name: "hiddenDangerItems",
@@ -57,11 +76,12 @@
 			return {
 				baseUrl: config.base_url,
 				pageType: 1,
-				tabTextTow: ['待整改', '已整改', '暂无法整改'],
-				curTabTow: 0,
+				tabTextTow: [],
+				curTabTow: null,
 				form: {
 					imgDtoList: [],
 				},
+				lotName: null,
 				newData: {
 
 				},
@@ -70,53 +90,43 @@
 				queryParams: {
 					page: 1,
 					pageSize: 10,
-					subId: '',
-					rectifyStatus: 0,
-					hazardCheckId: '',
-					searchValue: '',
 				},
+				//符合/不符合
+				checkFlag:null,
 				total: 0,
 				dataList: [],
 				getDataType: false,
-				searchList:[
-					{
-						name:'符合',
-						selected:false,
-					},
-					{
-						name:'不符合',
-						selected:false,
-					},
-				],
-				searchIndex:0,
+				searchIndex: 0,
 
 			}
 		},
 		onLoad(option) {
-			this.$set(this, 'newData', JSON.parse(decodeURIComponent(option.infoData)));
-			this.pageType = this.newData.pageType;
-			this.queryParams.subId = this.newData.subId ? this.newData.subId : ''
-			this.queryParams.hazardCheckId = this.newData.hazardCheckId ? this.newData.hazardCheckId : ''
+			let optionData = JSON.parse(decodeURIComponent(option.infoData));
 			uni.setNavigationBarTitle({
-				title: '实验室名称(房间号)'
+				title: optionData.subName + '(' + (optionData.pageType == 0 ? optionData.roomNum : optionData.subRoom) + ')'
 			})
-			if (this.pageType == 0) {
-				//检查
-				this.tabTextTow = ['待检查', '检查中', '已检查']
-			} else if (this.pageType == 1) {
-				//复查
-				this.tabTextTow = ['待复查', '复查完毕', '退回整改']
-			} else if (this.pageType == 2) {
-				//整改
-				this.tabTextTow = ['待整改', '已整改', '暂无法整改']
+			this.$set(this, 'pageType', optionData.pageType);
+			this.$set(this, 'lotName',
+				optionData.pageType == 0 ? optionData.checkPlanSetVoList.checkName : (
+					optionData.checkPlanSetVoList.overdueUnrectify ? '整改期限' + optionData.checkPlanSetVoList.checkStartTime +
+					'(逾期未完成整改关闭实验室)' : '整改期限' + optionData.checkPlanSetVoList.checkStartTime));
+			this.$set(this, 'tabTextTow',
+				optionData.pageType == 0 ? [{value: '2',label: '检查中'}, {value: '0',label: '待检查'}, {value: '1',label: '已检查'}] : (
+				optionData.pageType == 1 ? [{value: '0',label: '待复查'}, {value: '1',label: '复查完毕'}, {value: '2',label: '退回整改'}] : (
+				optionData.pageType == 2 ? [{value: '2',label: '待整改'}, {value: '1',label: '已整改'}, {value: '4',label: '暂无法整改'}] : []
+			)))
+			this.$set(this, 'curTabTow', optionData.pageType == 0 ? '2' : (optionData.pageType == 1 ? '0' : (optionData
+				.pageType == 2 ? '2' : '')));
+			this.$set(this, 'newData', optionData);
+			this.$nextTick(() => {
 				this.getList()
-			}
+			})
 		},
 		onShow() {
 
 		},
 		mounted() {
-			
+
 		},
 		methods: {
 			//滚动事件
@@ -132,10 +142,12 @@
 				}
 			},
 			//顶部tab点击
-			tabClickTow(index) {
-				this.curTabTow = index;
-				this.queryParams.rectifyStatus = index;
-				this.getList()
+			tabClickTow(value) {
+				this.$set(this,'hazardCheckPro',null);
+				this.$set(this,'checkFlag',null);
+				this.$set(this.queryParams,'page',1);
+				this.$set(this,'curTabTow',value);
+				this.getList();
 			},
 			dialogOpen() {
 				this.dialogVisible = true;
@@ -143,13 +155,19 @@
 			dialogClose() {
 				this.dialogVisible = false;
 			},
-			searchClick(row,index){
-				row.selected=row.selected?false:true
-				
+			//符合/不符合
+			checkFlagChange(type){
+				if(this.checkFlag == type){
+					this.$set(this,'checkFlag',null);
+				}else{
+					this.$set(this,'checkFlag',type);
+				}
+				this.$set(this.queryParams,'page',1);
+				this.getList()
 			},
 			//搜索项跳转
 			inspectionItemsClick() {
-				this.newData.pageType = 2; //1随手拍检查项
+				this.pageType = 2; //1随手拍检查项
 				uni.redirectTo({
 					url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItemsSearch?form=' + encodeURIComponent(
 						JSON.stringify(this.newData))
@@ -174,26 +192,79 @@
 			//
 			async getList() {
 				let self = this;
-				const {
-					data
-				} = await securityAppCheckPhotoList(this.queryParams);
-				if (data.code == 200) {
-					if (self.queryParams.page == 1) {
-						this.dataList = data.data.records;
-						this.total = data.data.total;
-						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
-							this.$set(this, 'getDataType', true);
+				let obj = JSON.parse(JSON.stringify(this.queryParams))
+				if (this.pageType == 0) {
+					//检查任务
+					obj.manageId = this.newData.manageId;
+					obj.checkStatus = this.curTabTow;
+					obj.checkFlag = this.checkFlag;
+					const {
+						data
+					} = await securityAppCheckSetOptionList(obj);
+					if (data.code == 200) {
+						if (self.queryParams.page == 1) {
+							this.dataList = data.data.records;
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
+						} else {
+							this.dataList = [...this.dataList, ...data.data.records]
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
+						}
+					}
+				} else if (this.pageType == 1) {
+					//复查验证
+					obj.planId = this.newData.planId;
+					obj.planSetId = this.newData.planSetId;
+					obj.subId = this.newData.subId;
+					obj.appReviewStatus = this.curTabTow;
+					const {
+						data
+					} = await securityAppCheckDangerReviewList(obj);
+					if (data.code == 200) {
+						if (self.queryParams.page == 1) {
+							this.dataList = data.data.records;
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
+						} else {
+							this.dataList = [...this.dataList, ...data.data.records]
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
 						}
-					} else {
-						this.dataList = [...this.dataList, ...data.data.records]
-						this.total = data.data.total;
-						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
-							this.$set(this, 'getDataType', true);
+					}
+				} else if (this.pageType == 2) {
+					//隐患整改
+					obj.planId = this.newData.planId;
+					obj.planSetId = this.newData.planSetId;
+					obj.subId = this.newData.subId;
+					obj.appReviewStatus = this.curTabTow;
+					const { data } = await securityAppCheckDangerGetCheckDangerSubId(obj);
+					if (data.code == 200) {
+						if (self.queryParams.page == 1) {
+							this.dataList = data.data.records;
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
+						} else {
+							this.dataList = [...this.dataList, ...data.data.records]
+							this.total = data.data.total;
+							if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+								this.$set(this, 'getDataType', true);
+							}
 						}
 					}
 				}
 			},
-			
+
 
 		}
 	}
@@ -203,6 +274,8 @@
 	.hiddenDangerItems {
 		height: 100%;
 		display flex;
+		flex-direction: column;
+		overflow: hidden;
 		box-sizing: border-box;
 
 		#totalColor-A {
@@ -222,11 +295,24 @@
 
 		.header {
 			width: 100%;
-			position: fixed;
-			top: 0rpx;
-			z-index: 100;
+			height: 268rpx;
+			overflow: hidden;
 			background: #fff;
 
+			.lotName {
+				height: 70rpx;
+				line-height: 70rpx;
+				font-size: 28rpx;
+				background: rgba(1, 131, 250, 0.2);
+				color: #0183FA;
+				text-align: center;
+			}
+
+			.lotNameOne {
+				background: #F7E0C4;
+				color: #FF8C00;
+			}
+
 			.tabTitle_tow {
 				width: 520rpx;
 				height: 80rpx;
@@ -272,7 +358,7 @@
 
 			.line {
 				width: 100%;
-				height: 20rpx;
+				height: 13rpx;
 				background: #F5F5F5;
 			}
 
@@ -289,14 +375,14 @@
 					display: flex;
 					justify-content: flex-start;
 					align-items: center;
-					margin: 0 30rpx;
-					.search-A{
+					margin: 0 20rpx 0 30rpx;
+
+					.search-A {
 						border-radius: 50rpx 50rpx 50rpx 50rpx;
 						border: 1rpx solid #E0E0E0;
 						width: 100rpx;
 						height: 60rpx;
 						background: #E0E0E0;
-						border-radius: 50rpx 50rpx 50rpx 50rpx;
 						font-weight: normal;
 						font-size: 24rpx;
 						color: #333333;
@@ -304,13 +390,13 @@
 						text-align: center;
 						margin-right: 10rpx;
 					}
-					.search-B{
+
+					.search-B {
 						border-radius: 50rpx 50rpx 50rpx 50rpx;
-						border: 1rpx solid #E0E0E0;
+						border: 1rpx solid #0183FA;
 						width: 100rpx;
 						height: 60rpx;
 						background: #0183FA;
-						border-radius: 50rpx 50rpx 50rpx 50rpx;
 						font-weight: normal;
 						font-size: 24rpx;
 						color: #FFFFFF;
@@ -320,8 +406,13 @@
 					}
 				}
 
+				.search-r-margin {
+					width: 700rpx !important;
+					margin: 0 auto;
+				}
+
 				.search-r {
-					width: 470rpx;
+					width: 440rpx;
 					height: 60rpx;
 					background: #FFFFFF;
 					border-radius: 50rpx 50rpx 50rpx 50rpx;
@@ -348,12 +439,11 @@
 		.list {
 			width: 750rpx;
 			background: #FFFFFF;
-			margin-top: 200rpx;
 			padding-bottom: 20rpx;
 			box-sizing: border-box;
 
 			.total {
-				width: 180rpx;
+				display: inline-block;
 				height: 50rpx;
 				background: rgba(1, 131, 250, 0.2);
 				border-radius: 0rpx 0rpx 20rpx 0rpx;
@@ -365,6 +455,18 @@
 				box-sizing: border-box;
 				margin-bottom: 20rpx;
 			}
+			.total-color-1{
+				background: rgba(1, 131, 250, 0.2);
+				color: #0183FA;
+			}
+			.total-color-2{
+				background: rgba(22,181,49,0.2);
+				color: #16B531;
+			}
+			.total-color-3{
+				background: #F7E0C4;
+				color: #FF8C00;
+			}
 
 			.list-li {
 				margin: 0 30rpx;
@@ -408,12 +510,26 @@
 			}
 		}
 
-		.get-data-null-p {
+		.get-data-p {
+			height: 100rpx;
 			text-align: center;
+
+			.get-data-img {
+				width: 30rpx;
+				height: 30rpx;
+				margin: 0 auto;
+				margin-top: 15rpx;
+			}
+
+			.get-data-text {
+				text-align: center;
+			}
+		}
+
+		.get-data-null-p {
 			height: 100rpx;
 			line-height: 100rpx;
-			color: #999;
-			padding-bottom: 200rpx;
+			text-align: center;
 		}
 	}
-</style>
+</style>

+ 197 - 211
pages_safetyCheck/views/planDetail.vue

@@ -1,11 +1,12 @@
 <!-- 计划详情 -->
 <template>
 	<view class="planDetail">
-		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+		<view class="info-max-box" v-if="pageType">
 			<view class="title">
 				<view class="title-t">{{newData.planTitle}}</view>
 				<view class="title-b">
-					<view v-if="newData.checkCategory">{{newData.checkCategory==1?'校院巡查':(newData.checkCategory==2?'学院自查':'')}}</view>
+					<view v-if="newData.checkCategory">{{newData.checkCategory==1?'校院巡查':(newData.checkCategory==2?'学院自查':'')}}
+					</view>
 					<view v-if="newData.checkTypeName">{{newData.checkTypeName}}</view>
 					<view v-if="newData.crossCheck==1">交叉互检</view>
 				</view>
@@ -28,9 +29,9 @@
 					<view>{{newData.checkDemand}}</view>
 				</view>
 			</view>
-			<view class="small-title" v-if="newData.uploadDtoList">
+			<view class="small-title" v-if="newData.uploadDtoList[0]" @click="attachmentClick(newData.uploadDtoList)">
 				<view>材料附件</view>
-				<view @click="attachmentClick(newData.uploadDtoList)">
+				<view>
 					<text>{{newData.uploadDtoList.length}}个</text>
 					<img src="@/pages_safetyCheck/images/icon_wd_gd@1x.png">
 				</view>
@@ -39,7 +40,7 @@
 				<view class="subscript">{{index+1}}</view>
 				<view class="list-li">
 					<view>{{item.checkName}}</view>
-					<view >进度 {{item.checkSetProgress}} %</view>
+					<view>进度 {{item.checkSetProgress}} %</view>
 				</view>
 				<view class="list-li">
 					<view>检查开始日期</view>
@@ -55,10 +56,10 @@
 				</view>
 				<view class="list-li">
 					<view>检查依据</view>
-					<view>{{item.checkBasisName}}</view>
+					<view>{{item.checkBasisIds == 0?'全部检查项目':item.checkBasisName}}</view>
 				</view>
 			</view>
-		</scroll-view>
+		</view>
 	</view>
 
 </template>
@@ -68,7 +69,7 @@
 		config
 	} from '@/api/request/config.js'
 	import {
-		securityCheckPlanFindCheckPlan,
+		securityAppCheckPlanFindCheckPlan,
 	} from '@/pages_safetyCheck/api/index.js'
 	export default {
 		name: "planDetail",
@@ -78,62 +79,40 @@
 		data() {
 			return {
 				baseUrl: config.base_url,
-				pageType: 0,
-				newData: {
-					data1: '计划标题计划标题计划标题计划标题计划标题计标题计划标题计划标题',
-					data2: ['校级检查', '全面检查', '交叉检查'],
-					data3: '2024-04-01至2024-08-31',
-					data4: '共33间实验室',
-					data5: '督导组名称',
-					data6: '内容内容内容内容内容内容内容内容内内容内容 内容内容容内容内容内容内容内容内容内容内容 内容内容内容内容内容内容内容内容',
-					data7: '2',
-					data8: [{
-							data1: '未开始',
-							data2: '2024-09-06',
-							data3: '2024-09-06',
-							data4: '全部检查项',
-							status: 0,
-						},
-						{
-							data1: '进行中',
-							data2: '2024-09-06',
-							data3: '2024-09-06',
-							data4: '全部检查项',
-							status: 1,
-						},
-					],
-				},
-				planId:'',
+				pageType: false,
+				optionData: {},
+				newData: {},
 			}
 		},
 		onLoad(option) {
-			this.planId=JSON.parse(decodeURIComponent(option.infoData)).planId
+			let optionData = JSON.parse(decodeURIComponent(option.infoData))
+			this.$set(this, 'optionData', optionData);
 		},
 		onShow() {
 
 		},
 		mounted() {
-			this.securityCheckPlanFindCheckPlan();
+			this.securityAppCheckPlanFindCheckPlan();
 		},
 		methods: {
-			//滚动事件
-			scrollGet() {},
 			//材料附件跳转
-			attachmentClick(row){
-				let infoData=row;
+			attachmentClick(row) {
+				let infoData = row;
 				uni.navigateTo({
-					url: '/pages_safetyCheck/views/materialAttachments?infoData=' + encodeURIComponent(JSON.stringify(infoData))
+					url: '/pages_safetyCheck/views/materialAttachments?infoData=' + encodeURIComponent(JSON.stringify(
+						infoData))
 				});
 			},
-			async securityCheckPlanFindCheckPlan() {
+			async securityAppCheckPlanFindCheckPlan() {
 				let self = this;
 				const {
 					data
-				} = await securityCheckPlanFindCheckPlan({
-					planId: this.planId
+				} = await securityAppCheckPlanFindCheckPlan({
+					planId: this.optionData.planId
 				});
 				if (data.code == 200) {
 					this.$set(this, 'newData', data.data);
+					this.$set(this, 'pageType', true);
 				}
 			},
 		}
@@ -145,213 +124,220 @@
 		height: 100%;
 		display flex;
 		box-sizing: border-box;
-		padding: 0 30rpx;
-		box-sizing: border-box;
-
-		.title {
-			width: 689rpx;
-			min-height: 200rpx;
-			background: #FFFFFF;
-			border-radius: 0rpx 0rpx 20rpx 20rpx;
-			padding: 20rpx 30rpx 0;
-			box-sizing: border-box;
-
-			.title-t {
-				font-size: 30rpx;
-				color: #333333;
-				line-height: 42rpx;
-				text-align: left;
-			}
-
-			.title-b {
-				display: flex;
-				justify-content: flex-start;
-				margin-top: 16rpx;
-
-				>view {
-					width: 130rpx;
-					height: 50rpx;
-					background: rgba(1, 131, 250, 0.2);
-					border-radius: 6rpx 6rpx 6rpx 6rpx;
-					font-size: 24rpx;
-					color: #0183FA;
-					line-height: 50rpx;
-					text-align: center;
-					margin-right: 14rpx;
-				}
-			}
-		}
-
-		.box {
-			width: 689rpx;
-			min-height: 500rpx;
-			background: #FFFFFF;
-			border-radius: 20rpx 20rpx 20rpx 20rpx;
-			margin-top: 20rpx;
-
-			.content-li {
-				height: 80rpx;
-				border-bottom: 1rpx solid #E0E0E0;
-				display: flex;
-				justify-content: space-between;
-				padding: 0 30rpx;
+		padding: 20rpx 0;
+		overflow: hidden;
+
+		.info-max-box {
+			padding:0 30rpx;
+			overflow-y: scroll;
+			.title {
+				width: 689rpx;
+				background: #FFFFFF;
+				border-radius:20rpx;
+				padding: 20rpx 30rpx;
 				box-sizing: border-box;
 
-				>view:nth-of-type(1) {
+				.title-t {
 					font-size: 30rpx;
 					color: #333333;
-					line-height: 80rpx;
+					line-height: 42rpx;
 					text-align: left;
 				}
 
-				>view:nth-of-type(2) {
-					font-size: 30rpx;
-					color: #666666;
-					line-height: 80rpx;
-					text-align: right;
+				.title-b {
+					display: flex;
+					justify-content: flex-start;
+					margin-top: 16rpx;
+
+					>view {
+						width: 130rpx;
+						height: 50rpx;
+						background: rgba(1, 131, 250, 0.2);
+						border-radius: 6rpx 6rpx 6rpx 6rpx;
+						font-size: 24rpx;
+						color: #0183FA;
+						line-height: 50rpx;
+						text-align: center;
+						margin-right: 14rpx;
+					}
 				}
 			}
 
-			.content-li-tow {
-				padding: 0 30rpx;
-				box-sizing: border-box;
-
-				>view:nth-of-type(1) {
-					font-size: 30rpx;
-					color: #333333;
-					line-height: 80rpx;
-					text-align: left;
+			.box {
+				width: 689rpx;
+				background: #FFFFFF;
+				border-radius: 20rpx 20rpx 20rpx 20rpx;
+				margin-top: 20rpx;
+				overflow: hidden;
+				.content-li:nth-child(1){
+					border-top:none;
 				}
-
-				>view:nth-of-type(2) {
-					padding: 20rpx;
+				.content-li {
+					height: 80rpx;
+					border-top: 1rpx solid #E0E0E0;
+					display: flex;
+					justify-content: space-between;
+					padding: 0 30rpx;
 					box-sizing: border-box;
-					width: 630rpx;
-					min-height: 160rpx;
-					background: #F5F5F5;
-					border-radius: 20rpx 20rpx 20rpx 20rpx;
-					font-size: 28rpx;
-					color: #666666;
-					line-height: 39rpx;
-					text-align: left;
-				}
-			}
-		}
-
-		.small-title {
-			display: flex;
-			justify-content: space-between;
-			padding: 0 30rpx;
-			box-sizing: border-box;
-			margin-top: 20rpx;
-
-			>view:nth-of-type(1) {
-				font-size: 30rpx;
-				color: #333333;
-				line-height: 40rpx;
-				text-align: left;
-			}
-
-			>view:nth-of-type(2) {
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
 
-				>text {
-					font-size: 28rpx;
-					color: #0183FA;
-					line-height: 40rpx;
-					text-align: left;
+					>view:nth-of-type(1) {
+						font-size: 30rpx;
+						color: #333333;
+						line-height: 80rpx;
+						text-align: left;
+					}
+
+					>view:nth-of-type(2) {
+						font-size: 30rpx;
+						color: #666666;
+						line-height: 80rpx;
+						text-align: right;
+					}
 				}
 
-				>img {
-					width: 24rpx;
-					height: 24rpx;
-					margin-left: 12rpx;
+				.content-li-tow {
+					padding: 0 30rpx;
+					box-sizing: border-box;
+					margin-bottom:20rpx;
+
+					>view:nth-of-type(1) {
+						font-size: 30rpx;
+						color: #333333;
+						line-height: 80rpx;
+						text-align: left;
+					}
+
+					>view:nth-of-type(2) {
+						padding: 20rpx;
+						box-sizing: border-box;
+						width: 630rpx;
+						min-height: 160rpx;
+						background: #F5F5F5;
+						border-radius: 20rpx 20rpx 20rpx 20rpx;
+						font-size: 28rpx;
+						color: #666666;
+						line-height: 39rpx;
+						text-align: left;
+					}
 				}
 			}
 
-		}
-
-		.list {
-			width: 690rpx;
-			height: 323rpx;
-			background: #FFFFFF;
-			border-radius: 20rpx 20rpx 20rpx 20rpx;
-			padding: 0 30rpx;
-			box-sizing: border-box;
-			margin-top: 20rpx;
-			position: relative;
-			.subscript {
-				position: absolute;
-				left: 0;
-				top: 0;
-				width: 36rpx;
-				height: 36rpx;
-				background: #0183FA;
-				border-radius: 20rpx 0rpx 20rpx 0rpx;
-				font-size: 24rpx;
-				color: #FFFFFF;
-				line-height: 36rpx;
-				text-align: center;
-			}
-
-			.list-li {
-				border-bottom: 1rpx solid #E0E0E0;
+			.small-title {
 				display: flex;
 				justify-content: space-between;
-				
+				padding: 0 30rpx;
+				box-sizing: border-box;
+				margin-top: 20rpx;
 
 				>view:nth-of-type(1) {
-					font-size: 28rpx;
+					font-size: 30rpx;
 					color: #333333;
-					line-height: 80rpx;
+					line-height: 40rpx;
 					text-align: left;
 				}
 
 				>view:nth-of-type(2) {
-					font-size: 28rpx;
-					color: #666666;
-					line-height: 80rpx;
-					text-align: left;
+					display: flex;
+					justify-content: flex-start;
+					align-items: center;
+
+					>text {
+						font-size: 28rpx;
+						color: #0183FA;
+						line-height: 40rpx;
+						text-align: left;
+					}
+
+					>img {
+						width: 24rpx;
+						height: 24rpx;
+						margin-left: 12rpx;
+					}
 				}
+
 			}
 
-			.rectify-term {
-				.rectify-term-l {
+			.list {
+				width: 690rpx;
+				height: 323rpx;
+				background: #FFFFFF;
+				border-radius: 20rpx 20rpx 20rpx 20rpx;
+				padding: 0 30rpx;
+				box-sizing: border-box;
+				margin-top: 20rpx;
+				position: relative;
+
+				.subscript {
+					position: absolute;
+					left: 0;
+					top: 0;
+					width: 36rpx;
+					height: 36rpx;
+					background: #0183FA;
+					border-radius: 20rpx 0rpx 20rpx 0rpx;
 					font-size: 24rpx;
-					color: #FF8C00;
-					line-height: 34rpx;
-					text-align: left;
+					color: #FFFFFF;
+					line-height: 36rpx;
+					text-align: center;
 				}
 
-				.rectify-term-c {
-					color: #666666;
+				.list-li {
+					border-bottom: 1rpx solid #E0E0E0;
+					display: flex;
+					justify-content: space-between;
+
+
+					>view:nth-of-type(1) {
+						font-size: 28rpx;
+						color: #333333;
+						line-height: 80rpx;
+						text-align: left;
+					}
+
+					>view:nth-of-type(2) {
+						font-size: 28rpx;
+						color: #666666;
+						line-height: 80rpx;
+						text-align: left;
+					}
 				}
 
-				.rectify-term-r {
-					font-size: 28rpx;
-					color: #666666;
-					line-height: 80rpx;
-					text-align: left;
+				.rectify-term {
+					.rectify-term-l {
+						font-size: 24rpx;
+						color: #FF8C00;
+						line-height: 34rpx;
+						text-align: left;
+					}
+
+					.rectify-term-c {
+						color: #666666;
+					}
+
+					.rectify-term-r {
+						font-size: 28rpx;
+						color: #666666;
+						line-height: 80rpx;
+						text-align: left;
+					}
 				}
-			}
 
-			.list-li:last-of-type {
-				border: none;
+				.list-li:last-of-type {
+					border: none;
+				}
 			}
-		}
 
-		#color-A {
-			color: #FF8C00;
-		}
+			#color-A {
+				color: #FF8C00;
+			}
 
-		#color-B {
-			color: #0183FA;
-		}
+			#color-B {
+				color: #0183FA;
+			}
 
-		#color-C {
-			color: #16B531;
+			#color-C {
+				color: #16B531;
+			}
 		}
 	}
-</style>
+</style>

+ 31 - 16
pages_safetyCheck/views/safetyCheck.vue

@@ -20,6 +20,7 @@
 				</view>
 			</view>
 		</view>
+		<!-- 列表部分 -->
 		<scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
 			<view class="list">
 				<view class="list-li" @click="planClick(item)" v-for="(item,index) in dataList">
@@ -34,6 +35,7 @@
 			</view>
 			<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
 		</scroll-view>
+		<!-- 弹窗部分 -->
 		<view class="shade" v-if="dialogVisible">
 			<view class="null-box" @click="dialogClose()"></view>
 			<view class="shade_n">
@@ -42,7 +44,7 @@
 					<img src="@/pages_safetyCheck/images/icon_06.png">
 				</view>
 				<view class="batch">
-					<view class="batch-li" @click="batchClick(batchList.checkPlanSetVoList)" v-for="(item,index) in batchList.checkPlanSetVoList">
+					<view class="batch-li" @click="batchClick(item)" v-for="(item,index) in batchList.checkPlanSetVoList">
 						<view class="batch-li-l">
 							<text>{{item.checkName}}</text>
 							<text>开始检查日期:{{item.checkStartTime}}</text>
@@ -95,6 +97,7 @@
 						img: require('@/pages_safetyCheck/images/icon_aqjc_ssp@1x.png'),
 					},
 				],
+				//校级/院级
 				curTab: 0,
 				queryParams: {
 					page: 1,
@@ -106,6 +109,7 @@
 				getDataType: false,
 				dialogVisible: false,
 				batchList: [],
+				batchData:{},
 			}
 		},
 		onLoad(option) {
@@ -125,7 +129,6 @@
 				if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
 					this.$set(this, 'getDataType', true);
 				} else {
-					console.log('滚动加载触发')
 					this.queryParams.page += 1;
 					this.$nextTick(() => {
 						this.getList();
@@ -155,27 +158,39 @@
 			},
 			//检查批次点击
 			batchClick(row) {
-				let infoData = row;
-				infoData.pageType = this.curTab;
-				uni.navigateTo({
-					url: '/pages_safetyCheck/views/inspectManage/inspectList?infoData=' + encodeURIComponent(JSON
-						.stringify(
-							infoData))
-				});
+				this.$set(this.batchData,'checkPlanSetVoList',row);
+				this.$nextTick(()=>{
+					uni.navigateTo({
+						url: '/pages_safetyCheck/views/inspectManage/inspectList?infoData=' + encodeURIComponent(JSON.stringify(this.batchData))
+					});
+				})
 			},
 			planClick(row) {
 				if(row.checkPlanSetVoList.length>1){
-					this.dialogVisible = true;
+					this.$set(this,'batchData',{
+						planId:row.planId,
+						planTitle:row.planTitle,
+						checkCategory:row.checkCategory,
+						checkTypeName:row.checkTypeName,
+						crossCheck:row.crossCheck,
+					});
 					this.$set(this, 'batchList', row);
+					this.dialogVisible = true;
 				}else{
 					//如果只有1个检查批次不弹窗
-					let infoData = row;
-					infoData.pageType = this.curTab;
-					uni.navigateTo({
-						url: '/pages_safetyCheck/views/inspectManage/inspectList?infoData=' + encodeURIComponent(JSON
-							.stringify(
-								infoData))
+					this.$set(this,'batchData',{
+						planId:row.planId,
+						planTitle:row.planTitle,
+						checkCategory:row.checkCategory,
+						checkTypeName:row.checkTypeName,
+						crossCheck:row.crossCheck,
+						checkPlanSetVoList:row.checkPlanSetVoList[0]
 					});
+					this.$nextTick(()=>{
+						uni.navigateTo({
+							url: '/pages_safetyCheck/views/inspectManage/inspectList?infoData=' + encodeURIComponent(JSON.stringify(this.batchData))
+						});
+					})
 				}
 			},
 			dialogClose() {