heyang hace 5 meses
padre
commit
8625b33235

+ 3 - 3
api/request/config.js

@@ -1,6 +1,6 @@
 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.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',//刘波
@@ -20,8 +20,8 @@ const config = {
 	// base_url: 'https://lab.zjznai.com/api/', //暨大化材
 	// base_url: 'https://lab.zjznai.com/kdwclabSystem/', //矿大文昌地址
 	// base_url: 'https://znyj.zjznai.suda.edu.cn/labSystem/', //苏大临时地址
-	// base_url: 'https://labcontrol.nwafu.edu.cn/labSystem/', //西北农林
-	 base_url: 'https://lab.zjznai.com/labapp/', //43测试
+	// base_url: 'https://labcontrol.nwafu.edu.cn/api/', //西北农林
+	// base_url: 'https://lab.zjznai.com/labapp/', //43测试
 }
 export {
 	config

+ 1 - 1
manifest.json

@@ -54,7 +54,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wx60e12abd2e79c618",
+        "appid" : "wxc9180acf05b65dee",
         "setting" : {
             "urlCheck" : false,
             "minified" : true

+ 5 - 3
pages/views/pupilPage/pupilHome.vue

@@ -6,7 +6,7 @@
 			<img class="position-img" :src="rectangleLogo">
 		</view>
 		<view class="button-one-box">
-			<view class="button-min" @click="goPage()">
+			<view class="button-min" @click="goPage('securityExaminationPupil')">
 				<img class="button-img" src="@/pages/images/newImage/icon_sy_aqks@1x.png">
 				<view class="button-name">安全考试</view>
 			</view>
@@ -109,7 +109,9 @@
 				}
 				if (type == 'securityExaminationPupil') {
 					//安全考试
-
+					uni.navigateTo({
+						url: "/pages_basics/views/deviceCageSitePage?pageType=3",
+					});
 				} else if (type == 'securityAdmittancePupil') {
 					//安全准入
 					uni.navigateTo({
@@ -129,7 +131,7 @@
 				} else if (type == 'snapshotPupil') {
 					//随手拍
 					uni.navigateTo({
-						url: "/pages_safetyExamine/views/snapshotManage/snapshotAdd",
+						url: "/pages_safetyCheck/views/snapshotManage/snapshotList",
 					});
 				} else if (type == 'leaveCheckPupil') {
 					//离开检查

+ 6 - 4
pages/views/teacherPage/teacherHome.vue

@@ -14,7 +14,7 @@
 					<img class="button-img" src="@/pages/images/newImage/icon_sy_aqjc@1x.png">
 					<view class="button-name">安全检查</view>
 				</view>
-				<view class="button-min" @click="goPage()">
+				<view class="button-min" @click="goPage('securityExamination')">
 					<img class="button-img" src="@/pages/images/newImage/icon_sy_aqks@1x.png">
 					<view class="button-name">安全考试</view>
 				</view>
@@ -138,7 +138,7 @@
 					});
 					return
 				}
-				/* if (!pageRestrictVerify(type)) {
+				if (!pageRestrictVerify(type)) {
 					uni.showToast({
 						title: '没有相关权限,请联系管理员',
 						icon: "none",
@@ -146,7 +146,7 @@
 						duration: 2000
 					});
 					return
-				} */
+				}
 				if (type == 'dataBoard') {
 					//数据看板
 					this.pageType = 1;
@@ -171,7 +171,9 @@
 					} */
 				} else if (type == 'securityExamination') {
 					//安全考试
-
+					uni.navigateTo({
+						url: "/pages_basics/views/deviceCageSitePage?pageType=3",
+					});	
 				} else if (type == 'securityAdmittance') {
 					//安全准入
 					uni.navigateTo({

+ 8 - 0
pages_basics/api/index.js

@@ -131,6 +131,14 @@ export const systemMineLinkGetCagePositionDetail = (data) => {
 		data: { ...data }
 	})
 };
+//安全教育与考试
+export const systemMineLinkGetEducationExamDetail = (data) => {
+	return apiResquest({
+		url: `/system/mine/link/getEducationExamDetail`,
+		method: 'get',
+		data: { ...data }
+	})
+};
 //设备资产管理/笼位管理获取跳转参数
 export const menuLinkPost  = (url,data) => {
     return apiResquestOutside({

BIN
pages_basics/images/icon_04.png


BIN
pages_basics/images/icon_fjgk_sc.png


BIN
pages_basics/images/icon_pdf.png


BIN
pages_basics/images/icon_word.png


+ 23 - 4
pages_basics/views/deviceCageSitePage.vue

@@ -2,9 +2,11 @@
 <template>
 	<view id="deviceCageSitePage">
 		<!-- 设备管理 -->
-		<web-view v-if="pageType==1" :src="'https://lab.xf100.net/ysms-h5/#/?userId='+userId"></web-view>
+		<web-view v-if="pageType==1" :src="'https://labcontrol.nwafu.edu.cn/ysms/h5/#/?userId='+userId"></web-view>
 		<!-- 笼位管理 -->
-		<web-view v-if="pageType==2" :src="'http://175.27.136.248:9033/#/?ticket='+ticket"></web-view>
+		<web-view v-if="pageType==2" :src="'https://labcontrol.nwafu.edu.cn/cage/app/#/?ticket='+ticket"></web-view>
+		<!-- 安全教育与考试 -->
+		<web-view v-if="pageType==3" :src="'https://labcontrol.nwafu.edu.cn/studay/wx/#/zjznaiLogin?access_token=4e36fbc7-f765-4864-857c-a6a94f5b0f9e'"></web-view>
 	</view>
 </template>
 
@@ -15,7 +17,8 @@
 	import {
 		systemMineLinkGetEquipmentDetail,
 		systemMineLinkGetCagePositionDetail,
-		menuLinkPost
+		systemMineLinkGetEducationExamDetail,
+		menuLinkPost,
 	} from '@/pages_basics/api/index.js'
 	export default {
 		name: "deviceCageSitePage",
@@ -25,12 +28,12 @@
 				pageType: 0, //1设备 2笼位
 				userId: '',
 				ticket: '',
+				access_token:'',
 			}
 		},
 		onLoad(option) {
 			let self = this;
 			this.pageType = option.pageType;
-			console.log(this.pageType)
 		},
 		mounted() {
 			if(this.pageType==1){
@@ -38,7 +41,12 @@
 				//this.systemMineLinkGetEquipmentDetail()
 			}else if(this.pageType==2){
 				this.systemMineLinkGetCagePositionDetail()
+			}else if(this.pageType==3){
+				//安全教育与考试
+				this.access_token='4e36fbc7-f765-4864-857c-a6a94f5b0f9e'
+				//this.systemMineLinkGetEducationExamDetail()
 			}
+			
 
 
 		},
@@ -64,6 +72,17 @@
 				}
 
 			},
+			//安全教育与考试
+			async systemMineLinkGetEducationExamDetail() {
+				const {
+					data
+				} = await systemMineLinkGetEducationExamDetail();
+				if (data.code == 200) {
+					this.getParams(data.data)
+				}
+			
+			},
+			
 
 			getParams(item) {
 				let params = JSON.parse(item.params)

+ 337 - 0
pages_basics/views/gradingControl/gradingControl.vue

@@ -0,0 +1,337 @@
+<!-- 准入资格证书 -->
+<template>
+	<view id="accessQualification">
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+			<view class="list">
+				<view class="list_li" v-for="(item,index) in infoList" :key="index">
+					<view class="list_li_t">
+						<view class="list_li_t_l" v-if="item.levelName"
+							:style="'color:'+item.levelColor+';border-color:'+item.levelColor">{{item.levelName}}</view>
+						<view class="list_li_t_c">{{item.subName}}</view>
+						<view class="list_li_t_r">{{item.typeName}}</view>
+					</view>
+					<view class="list_li_b">
+						<view class="list_li_b_t" @tap="goPageAdd(item,item2)" v-for="(item2,index2) in item.detailList"
+							:key="index2"
+							:style="index2==(item.detailList.length-1)?'border:none;':'border-bottom :1px dashed #cccccc;'">
+							<view class="list_li_b_t_t">
+								<view class="list_li_b_t_t_n">
+									<view class="list_li_b_t_t_l"
+										:class="[item2.ruleType== '日管控' ? 'purple': '', item2.ruleType=='周管控'? 'blue': '',item2.ruleType=='月管控'? 'orange': '',item2.ruleType=='年管控'? 'green': '',]">
+										{{item2.ruleType}}
+									</view>
+									<view class="list_li_b_t_t_c">{{item2.ruleName}}</view>
+									<view class="list_li_b_t_t_r" v-if="item2.isExpired==1">(过期未完成)</view>
+									<view class="list_li_b_t_t_rr">{{item2.endDate}}</view>
+								</view>
+							</view>
+							<view class="list_li_b_t_b">{{item2.ruleRemark}}</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="get-null-box" v-if="infoList.length==0">暂无更多数据</view>
+		</scroll-view>
+		<view class="bottom-button-box" @click="goSafeAccess">完成记录</view>
+	</view>
+</template>
+
+<script>
+	import {
+		parseTime
+	} from '@/component/public.js'
+	import {
+		gradingControl
+	} from '@/pages_basics/api/index.js'
+	export default {
+		data() {
+			return {
+				infoList: {},
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+			this.clearData();
+			this.getList();
+		},
+		methods: {
+			goSafeAccess() {
+				uni.navigateTo({
+					url: '/pages_basics/views/gradingControl/gradingControlFinish',
+				});
+			},
+			//清除
+			clearData() {
+				this.infoList = {};
+
+			},
+			//去添加页面
+			goPageAdd(item, item2) {
+				uni.navigateTo({
+					url: '/pages_basics/views/gradingControl/gradingControlAdd?item=' + encodeURIComponent(JSON
+						.stringify(item)) + '&item2=' + encodeURIComponent(JSON.stringify(item2))
+				})
+			},
+			//滚动事件
+			scrollGet() {
+				this.getList();
+			},
+			//获取列表数据
+			async getList() {
+				let self = this;
+				let obj = {
+
+				}
+				const {
+					data
+				} = await gradingControl(obj)
+				if (data.code == 200) {
+					data.data.forEach(function(item){
+						item.detailList.forEach(function(item2){
+							item2.endDate=parseTime(item2.endDate, "{y}-{m}-{d} {h}:{i}:{s}");
+						})
+					})
+
+					self.infoList = data.data;
+				}
+
+			},
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	#accessQualification {
+		height: 100%;
+
+		display: flex;
+		flex-direction: column;
+
+		.info-max-box {
+			flex: 1;
+
+			overflow: scroll;
+
+			.for-big-box:last-child {
+				margin-bottom: 180rpx;
+			}
+
+			/* 列表 */
+			.list {
+				padding 0 20rpx;
+				box-sizing: border-box;
+
+				.list_li {
+					height: auto;
+
+					.list_li_t {
+						height: 80rpx;
+						display flex;
+						justify-content: flex-start;
+						align-items: center;
+
+						.list_li_t_l {
+							width: 80rpx;
+							height: 30rpx;
+							font-size: 24rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #EE3A3A;
+							line-height: 30rpx;
+							border: 2rpx solid #EE3A3A;
+							border-radius: 6rpx;
+							text-align center;
+						}
+
+						.list_li_t_c {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 30rpx;
+							margin 0 32rpx 0 16rpx;
+						}
+
+						.list_li_t_r {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							line-height: 30rpx;
+						}
+					}
+
+					.list_li_b {
+						width 710rpx;
+						height auto;
+						background: #FFFFFF;
+						border-radius: 20rpx;
+						padding: 0 14rpx;
+						box-sizing: border-box;
+
+						.list_li_b_t {
+							overflow: hidden;
+							border-bottom: 1rpx dashed #cccccc;
+
+							.list_li_b_t_t {
+								display flex;
+								justify-content: flex-start;
+								margin: 24rpx 0 18rpx 0;
+
+								.list_li_b_t_t_n {
+									flex: 1;
+									width: 655rpx;
+									display: flex;
+									justify-content: flex-start;
+
+									.list_li_b_t_t_l {
+										width: 100rpx;
+										height: 30rpx;
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										/* color: #0183FA; */
+										line-height: 24rpx;
+										/* background: rgba(1,131,250,0.2); */
+										border-radius: 6rpx;
+										text-align: center;
+									}
+
+									.list_li_b_t_t_c {
+										font-size: 28rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #333333;
+										line-height: 28rpx;
+										margin: 0 16rpx 0 12rpx;
+									}
+
+									.list_li_b_t_t_r {
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #EE3A3A;
+										line-height: 24rpx;
+									}
+
+									.list_li_b_t_t_rr {
+										flex: 1;
+										text-align: right;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #999;
+										font-size: 24rpx;
+										line-height: 24rpx;
+									}
+								}
+
+								/* 日管控 */
+								.purple {
+									color: #AC20E0;
+									background: rgba(172, 32, 224, 0.2);
+								}
+
+								/* 周管控 */
+								.blue {
+									color: #0183FA;
+									background: rgba(1, 131, 250, 0.2);
+								}
+
+								/* 月管控 */
+								.orange {
+									color: #FA8801;
+									background: rgba(250, 136, 1, 0.2);
+								}
+
+								/* 年管控 */
+								.green {
+									color: #11BA25;
+									background: rgba(17, 186, 37, 0.2);
+								}
+
+								>img {
+									width: 12rpx;
+									height: 24rpx;
+								}
+							}
+
+							.list_li_b_t_b {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 48rpx;
+								margin-bottom: 14rpx;
+								display: block;
+								overflow: hidden;
+								text-overflow: ellipsis;
+								white-space: nowrap;
+							}
+						}
+
+						.list_li_b_b {
+
+							.list_li_b_b_t {
+								display: flex;
+								justify-content: flex-start;
+								margin: 30rpx 0 18rpx;
+
+								.list_li_b_b_t_l {
+									width: 100rpx;
+									height: 30rpx;
+									border-radius: 6rpx;
+									font-size: 24rpx;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #FA8801;
+									line-height: 30rpx;
+									background: rgba(250, 136, 1, 0.2);
+									text-align: center;
+									margin-right: 12rpx;
+								}
+
+								.list_li_b_b_t_r {
+									font-size: 28rpx;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #333333;
+									line-height: 30rpx;
+								}
+							}
+
+							.list_li_b_b_b {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 48rpx;
+							}
+						}
+					}
+				}
+			}
+
+			/*暂无数据*/
+			.get-null-box {
+				height: 100rpx;
+				line-height: 100rpx;
+				color: #999;
+				text-align: center;
+			}
+		}
+
+		.bottom-button-box {
+			border-radius: 20rpx;
+			margin: 20rpx 50rpx;
+			width: 650rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			background: #0183FA;
+			font-size: 30rpx;
+			color: #FFFFFF;
+			text-align: center;
+		}
+	}
+</style>

+ 709 - 0
pages_basics/views/gradingControl/gradingControlAdd.vue

@@ -0,0 +1,709 @@
+<!-- 分级管控完成工作 -->
+<template>
+	<view id="accessQualification">
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+			<view class="list">
+				<view class="list_li">
+					<view class="list_li_t">
+						<view class="list_li_t_l"
+							:style="'color:'+labData.levelColor+';border-color:'+labData.levelColor">
+							{{labData.levelName}}
+						</view>
+						<view class="list_li_t_c">{{labData.subName}}</view>
+						<view class="list_li_t_r">{{labData.typeName}}</view>
+					</view>
+					<view class="list_li_b">
+						<view class="list_li_b_t">
+							<view class="list_li_b_t_t">
+								<view class="list_li_b_t_t_n">
+									<view class="list_li_b_t_t_l"
+										:class="[control.ruleType== '日管控' ? 'purple': '', control.ruleType=='周管控'? 'blue': '',control.ruleType=='月管控'? 'orange': '',control.ruleType=='年管控'? 'green': '',]">
+										{{control.ruleType}}
+									</view>
+									<view class="list_li_b_t_t_c">{{control.ruleName}}</view>
+									<view class="list_li_b_t_t_r" v-if="control.isExpired==1">(过期未完成)</view>
+									<view class="list_li_b_t_t_rr">{{control.endDate}}</view>
+								</view>
+							</view>
+						</view>
+						<view class="flex-view">
+							<view><text style="margin-right: 20rpx;"></text>执行方式:</view>
+							<view>{{control.isAll==1?'多人执行':'单人执行'}}</view>
+						</view>
+						<view class="flex-view">
+							<view><text style="margin-right: 20rpx;"></text>规则描述:</view>
+							<view>{{control.ruleRemark}}</view>
+						</view>
+						<view class="list_li_b_b2"><text
+								style="position: relative;top: 4rpx;color: #f00;margin-right: 10rpx;">*</text>执行描述:
+						</view>
+						<textarea class="list_li_b_b3" v-model="param.detail.remark" maxlength="30"
+							placeholder-class="placeholder-style" placeholder="请输入执行描述"></textarea>
+						<view class="list_li_b_b4" v-if="control.isUpload==1"><text
+								style="position: relative;top: 4rpx;color: #f00;margin-right: 10rpx;">*</text>执行材料:<label
+								@click="itemUpData(item)">+ 请上传执行材料</label></view>
+
+						<view class="list_li_b_b6" v-if="upList.length>0" v-for="(item,index) in upList" :key="index">
+							<view @click="download(item)">{{item.name}}</view>
+							<view @click="delImg(index)">
+								<img src="@/pages_basics/images/icon_fjgk_sc.png" />
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+		<view class="bottom-button-box" @click="goSafeAccess">完成</view>
+	</view>
+</template>
+
+<script>
+	import {
+		parseTime
+	} from '@/component/public.js'
+	import {
+		gradingControlAdd
+	} from '@/pages_basics/api/index.js'
+	import {
+		config
+	} from '@/api/request/config.js'
+	export default {
+		data() {
+			return {
+				labData: {},
+				control: {},
+				upList: [],
+				param: {
+					subId: '', //实验室id
+					ruleId: '', //规则ID
+					ruleUserId: '', //规则细则
+					id: '', //记录id
+					ruleType: '',
+					endDate: '',
+					detail: {
+						imgName: '', //文件名
+						imgUrl: '', //文件路径
+						imgType: '', //文件类型
+						remark: '',
+					}
+				},
+				messageUserId: ""
+			}
+		},
+		onLoad(option) {
+			if (option.item) {
+				let item = JSON.parse(decodeURIComponent(option.item));
+				let item2 = JSON.parse(decodeURIComponent(option.item2));
+				this.labData = item
+				this.control = item2
+				this.param.subId = item.subId;
+				this.param.ruleId = item2.ruleId;
+				this.param.ruleUserId = item2.ruleUserId;
+				// this.param.id=item2.recordId;
+				this.param.ruleType = item2.ruleType;
+				this.param.endDate = item2.endDate;
+
+				if (option.messageUserId) {
+					this.messageUserId = option.messageUserId;
+				}
+			}
+
+		},
+		onShow() {
+
+		},
+		methods: {
+			download(item) {
+				if (item.type == 'png' || item.type == 'jpg' || item.type == 'jpeg' || item.type == 'gif') {
+					//查看图片
+					wx.previewImage({
+						urls: [config.base_url + item.url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+						current: '', // 当前显示图片的http链接,默认是第一个
+						success: function(res) {},
+						fail: function(res) {},
+						complete: function(res) {},
+					})
+				} else if (item.type == 'pdf' || item.type == 'doc' || item.type == 'docx') {
+					uni.showLoading({
+						title: '下载中'
+					});
+					//下载文档
+					wx.downloadFile({
+						url: config.base_url + item.url,
+						header: {
+							Authorization: uni.getStorageSync('token')
+						},
+						success: function(res) {
+							console.log("resresresresresres", res)
+							const fileManager = wx.getFileSystemManager()
+							console.log('wx.env.USER_DATA_PATH', wx.env.USER_DATA_PATH);
+							console.log('item.name', item.name);
+							console.log('item.type', item.type);
+							const filePath = wx.env.USER_DATA_PATH + '/' + item.name
+							console.log('filePath', filePath);
+							fileManager.saveFile({
+								tempFilePath: res.tempFilePath,
+								filePath,
+								success: () => {
+									uni.hideLoading();
+									wx.openDocument({
+										filePath: filePath,
+										showMenu: true,
+										fileType: item.type
+									})
+								},
+								fail: function(res) {
+									uni.hideLoading();
+									uni.showToast({
+										title: '下载失败',
+										icon: "none",
+										mask: true,
+										duration: 2000
+									});
+								}
+							})
+						},
+						fail: function(res) {
+							uni.hideLoading();
+							uni.showToast({
+								title: '下载失败',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+						}
+					})
+				}
+			},
+			delImg(index) {
+				let self = this;
+				uni.showModal({
+					title: '',
+					cancelColor: '#999999',
+					confirmColor: '#0183FA',
+					content: '确定删除吗?',
+					success(res) {
+						if (res.confirm) {
+							self.upList.splice(index, 1)
+							self.$forceUpdate();
+						} else if (res.cancel) {
+
+						}
+					}
+				})
+			},
+			//上传
+			itemUpData(item) {
+				let self = this;
+				if (this.upList.length > 4) {
+					uni.showToast({
+						title: '最多只能上传5个',
+						icon: "none",
+						mask: true,
+						duration: 2000
+					});
+					return
+				}
+				uni.showActionSheet({
+					itemList: ['上传文件', '上传图片'],
+					success: function(res) {
+						if (res.tapIndex == 0) {
+							//上传文件
+							self.upData(item);
+						} else if (res.tapIndex == 1) {
+							//上传图片
+							self.upImg(item);
+						}
+					},
+					fail: function(res) {
+						console.log(res.errMsg);
+					}
+				});
+			},
+			upImg(item) {
+				let self = this;
+				wx.chooseImage({
+					count: 1,
+					sizeType: ["original", "compressed"],
+					sourceType: ["album", "camera"],
+					success: function(res) {
+						console.log(res)
+						let text = res.tempFilePaths[0].substring(res.tempFilePaths[0].lastIndexOf('.') + 1);
+						if (text != 'png' && text != 'jpg' && text != 'jpeg' && text != 'gif' && text !=
+							'pdf' && text != 'doc' && text != 'docx') {
+							uni.showToast({
+								title: '仅支持png/jpg/jpeg/gif/pdf/doc/docx类型的文件上传',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+							return
+						}
+						let upObj = {
+							name: '照片.' + text,
+							path: res.tempFilePaths[0],
+							type: text,
+						}
+						self.upDataFunction(item, upObj);
+						// let tempFilePaths = res.tempFilePaths[0];
+						// self.upDataFunction(tempFilePaths,upObj);
+					}
+				});
+			},
+			//上传文件
+			upData(item) {
+				let self = this;
+				wx.chooseMessageFile({
+					count: 1,
+					type: 'all',
+					success(res) {
+						let text = res.tempFiles[0].path.substring(res.tempFiles[0].path.lastIndexOf('.') + 1);
+
+
+						if (text != 'png' && text != 'jpg' && text != 'jpeg' && text != 'gif' && text != 'pdf' &&
+							text != 'doc' && text != 'docx') {
+							uni.showToast({
+								title: '仅支持png/jpg/jpeg/gif/pdf/doc/docx类型的文件上传',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+							return
+						}
+						let upObj = {
+							name: res.tempFiles[0].name,
+							path: res.tempFiles[0].path,
+							type: text,
+						}
+						self.upDataFunction(item, upObj);
+					}
+				})
+			},
+			async upDataFunction(item, upObj) {
+				var self = this;
+				uni.showLoading({
+					title: '上传中',
+					mask: true
+				});
+				uni.uploadFile({
+					url: config.base_url + '/system/file/upload', //仅为示例,非真实的接口地址
+					header: {
+						'Authorization': uni.getStorageSync('token')
+					},
+					filePath: upObj.path,
+					name: 'file',
+					formData: {
+						'user': 'test'
+					},
+					success: (uploadFileRes) => {
+						let res = JSON.parse(uploadFileRes.data);
+						if (res.code == 200) {
+							let obj = {
+								name: upObj.name,
+								url: config.base_url + res.data.url,
+								realUrl: res.data.url,
+								type: upObj.type
+							}
+							this.upList.push(obj);
+							this.$forceUpdate();
+
+							console.log(this.upList)
+						} else {
+							uni.showToast({
+								title: res.msg,
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+						}
+					},
+					fail: err => {},
+					complete: () => {
+						uni.hideLoading()
+					}
+				});
+			},
+			async goSafeAccess() {
+				if (!this.param.detail.remark) {
+					uni.showToast({
+						title: '请输入执行描述',
+						icon: "none",
+						mask: true,
+						duration: 2000
+					});
+					return
+				}
+				if (this.control.isUpload == 1) {
+					if (!this.upList[0]) {
+						uni.showToast({
+							title: '请上传执行材料',
+							icon: "none",
+							mask: true,
+							duration: 2000
+						});
+						return
+					}
+				}
+
+				let _this = this;
+				let obj = {
+
+				}
+				let imgName = [];
+				let imgUrl = [];
+				let imgType = [];
+				_this.upList.forEach(function(item, index) {
+					imgName.push(item.name)
+					imgUrl.push(item.realUrl)
+					imgType.push(item.type)
+				})
+				_this.param.detail.imgName = imgName.join(',')
+				_this.param.detail.imgUrl = imgUrl.join(',')
+				_this.param.detail.imgType = imgType.join(',')
+				if (this.messageUserId) {
+					_this.param.messageUserId = this.messageUserId
+				}
+				console.log(_this.param)
+				const {
+					data
+				} = await gradingControlAdd(_this.param)
+				if (data.code == 200) {
+					uni.showToast({
+						title: '提交成功!',
+						icon: "none",
+						mask: true,
+						duration: 2000
+					});
+					setTimeout(function() {
+						uni.navigateBack();
+					}, 2000);
+				}
+
+			},
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	#accessQualification {
+		height: 100%;
+
+		display: flex;
+		flex-direction: column;
+
+		.info-max-box {
+			flex: 1;
+
+			overflow: scroll;
+
+			.for-big-box:last-child {
+				margin-bottom: 180rpx;
+			}
+
+			/* 列表 */
+			.list {
+				padding 0 20rpx;
+				box-sizing border-box;
+
+				.list_li {
+					height auto;
+
+					.list_li_t {
+						height: 80rpx;
+						display: flex;
+						justify-content: flex-start;
+						align-items: center;
+
+						.list_li_t_l {
+							width: 80rpx;
+							height: 30rpx;
+							font-size: 24rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #EE3A3A;
+							line-height: 30rpx;
+							border: 2rpx solid #EE3A3A;
+							border-radius: 6rpx;
+							text-align center;
+						}
+
+						.list_li_t_c {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 30rpx;
+							margin 0 32rpx 0 16rpx;
+						}
+
+						.list_li_t_r {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							line-height: 30rpx;
+						}
+					}
+
+					.list_li_b {
+						overflow: hidden;
+						width 710rpx;
+						height auto;
+						background: #FFFFFF;
+						border-radius: 20rpx;
+						padding: 0 14rpx;
+						box-sizing: border-box;
+
+						.list_li_b_t {
+							overflow: hidden;
+
+							.list_li_b_t_t {
+								display flex;
+								justify-content flex-start;
+								margin: 24rpx 0 18rpx 0;
+
+								.list_li_b_t_t_n {
+									flex: 1;
+									width: 655rpx;
+									display flex;
+									justify-content flex-start;
+
+									.list_li_b_t_t_l {
+										width: 100rpx;
+										height: 30rpx;
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										/* color: #0183FA; */
+										line-height: 30rpx;
+										/* background: rgba(1,131,250,0.2); */
+										border-radius: 6rpx;
+										text-align: center;
+									}
+
+									.list_li_b_t_t_c {
+										font-size: 28rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #333333;
+										line-height: 28rpx;
+										margin: 0 16rpx 0 12rpx;
+									}
+
+									.list_li_b_t_t_r {
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #EE3A3A;
+										line-height: 24rpx;
+									}
+
+									.list_li_b_t_t_rr {
+										flex: 1;
+										text-align: right;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #999;
+										font-size: 24rpx;
+										line-height: 24rpx;
+									}
+								}
+
+								/* 日管控 */
+								.purple {
+									color: #AC20E0;
+									background: rgba(172, 32, 224, 0.2);
+								}
+
+								/* 周管控 */
+								.blue {
+									color: #0183FA;
+									background: rgba(1, 131, 250, 0.2);
+								}
+
+								/* 月管控 */
+								.orange {
+									color: #FA8801;
+									background: rgba(250, 136, 1, 0.2);
+								}
+
+								/* 年管控 */
+								.green {
+									color: #11BA25;
+									background: rgba(17, 186, 37, 0.2);
+								}
+
+								>img {
+									width: 12rpx;
+									height: 24rpx;
+								}
+							}
+
+							.list_li_b_t_b {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 48rpx;
+								margin-bottom: 14rpx;
+							}
+						}
+
+						.flex-view {
+							display: flex;
+
+							view {
+								font-size: 28rpx;
+								line-height: 28rpx;
+								margin-top: 28rpx;
+							}
+
+							view:nth-child(1) {
+								width: 220rpx;
+							}
+
+							view:nth-child(2) {
+								width: 460rpx;
+								word-wrap: break-word;
+								word-break: break-all;
+								overflow: hidden;
+								color: #999;
+							}
+						}
+
+						.list_li_b_b {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 28rpx;
+
+							>label {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 28rpx;
+							}
+						}
+
+						.list_li_b_b2 {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 28rpx;
+							margin-top: 32rpx;
+						}
+
+						.list_li_b_b3 {
+							width: 640rpx;
+							height: 250rpx;
+							border: 1rpx solid #E0E0E0;
+							border-radius: 10rpx;
+							margin: 32rpx 0 0 10rpx;
+							padding: 25rpx 18rpx;
+							box-sizing: border-box;
+						}
+
+						.placeholder-style {
+							font-size: 24rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #CCCCCC;
+							line-height: 24rpx;
+						}
+
+						.list_li_b_b4 {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 60rpx;
+							margin-top: 30rpx;
+							margin-bottom: 52rpx;
+
+							>label {
+								display: inline-block;
+								width: 300rpx;
+								height: 60rpx;
+								border: 1rpx solid #0183FA;
+								border-radius: 10rpx;
+								text-align: center;
+								margin-left: 22rpx;
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #0183FA;
+								line-height: 60rpx;
+
+							}
+						}
+
+						.list_li_b_b5 {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 28rpx;
+							margin-top: 30rpx;
+							margin-bottom 20rpx;
+
+							>label {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 28rpx;
+
+							}
+						}
+
+						.list_li_b_b6 {
+							display flex;
+							margin-bottom: 20rpx;
+
+							view:nth-child(1) {
+								flex: 1;
+								line-height: 30rpx;
+								margin: 15rpx 0 15rpx 15rpx;
+							}
+
+							view:nth-child(2) {
+								height: 60rpx;
+								width: 60rpx;
+								margin: 0 20rpx 0 60rpx;
+
+								img {
+									height: 30rpx;
+									width: 30rpx;
+									margin: 15rpx;
+								}
+							}
+						}
+					}
+				}
+			}
+
+			/*暂无数据*/
+			.get-null-box {
+				height: 100rpx;
+				line-height: 100rpx;
+				color: #999;
+				text-align center
+			}
+		}
+
+		.bottom-button-box {
+			border-radius: 20rpx;
+			margin: 20rpx 50rpx;
+			width: 650rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			background: #0183FA;
+			font-size: 30rpx;
+			color: #FFFFFF;
+			text-align center;
+		}
+	}
+</style>

+ 511 - 0
pages_basics/views/gradingControl/gradingControlDetail.vue

@@ -0,0 +1,511 @@
+<!-- 分级管控记录详情 -->
+<template>
+	<view id="accessQualification">
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+			<view class="list">
+				<view class="list_li">
+					<view class="list_li_t">
+						<view class="list_li_t_l"
+							:style="'color:'+infoList.fiedColor+';border-color:'+infoList.fiedColor">
+							{{infoList.levelName}}
+						</view>
+						<view class="list_li_t_c">{{infoList.subName}}</view>
+						<view class="list_li_t_r">{{infoList.typeName}}</view>
+					</view>
+					<view class="list_li_b">
+						<view class="list_li_b_t">
+							<view class="list_li_b_t_t">
+								<view class="list_li_b_t_t_n">
+									<view class="list_li_b_t_t_l"
+										:class="[item2.ruleType== '日管控' ? 'purple': '', item2.ruleType=='周管控'? 'blue': '',item2.ruleType=='月管控'? 'orange': '',item2.ruleType=='年管控'? 'green': '',]">
+										{{item2.ruleType}}
+									</view>
+									<view class="list_li_b_t_t_c">{{infoList.ruleName}}</view>
+								</view>
+								<view class="list_li_b_t_t_n_r">{{infoList.endDate}}</view>
+							</view>
+							<view class="list_li_b_t_b" style="display: flex;"><label
+									style="width:150rpx;">执行方式:</label>{{infoList.isAll==1?'多人执行':'单人执行'}}</view>
+							<view class="list_li_b_t_b" style="display: flex;"><label
+									style="width:150rpx;">规则描述:</label>{{infoList.ruleRemark}}</view>
+							<view class="list_li_b_t_b" style="display: flex;" v-if="infoList.status == 0">
+								<label style="width:200rpx;">指定执行人员:</label>
+								<view style="flex:1;word-wrap:break-word;word-break:break-all;overflow: hidden;">
+									{{infoList.allUserName}}
+								</view>
+							</view>
+							<view class="list_li_b_t_b" style="display: flex;" v-if="infoList.status == 2"><label
+									style="width:150rpx;">执行人:</label>{{infoList.detail.createName}}</view>
+							<view class="list_li_b_t_b" style="display: flex;" v-if="infoList.status == 2"><label
+									style="width:150rpx;">身份:</label>{{infoList.userPosition}}</view>
+							<view class="list_li_b_t_b" style="display: flex;" v-if="infoList.status == 2"><label
+									style="width:150rpx;">执行时间:</label>{{infoList.detail.createTime}}</view>
+							<view class="list_li_b_t_b" style="display: flex;" v-if="infoList.status == 2">
+								<label style="width:150rpx;">执行描述:</label>
+								<view style="flex:1;word-wrap:break-word;word-break:break-all;overflow: hidden;">
+									{{infoList.detail.remark}}
+								</view>
+							</view>
+						</view>
+						<view class="list_li_b_b4" v-if="infoList.status == 2">
+							<label>执行材料:</label>
+							<view class="list_li_b_b4_n">
+								<view class="list_li_b_b4_r" v-for="(item,index) in upList" :key="index"
+									@click="lookItem(item)">
+									<img src="@/pages_basics/images/icon_pdf.png" v-if="item.type == 'pdf'" />
+									<img src="@/pages_basics/images/icon_word.png"
+										v-if="item.type == 'doc' || item.type == 'docx'" />
+									<img :src="item.url"
+										v-if="item.type == 'png' || item.type == 'jpg' || item.type == 'jpeg' || item.type == 'gif'" />
+									<view class="list_li_b_b4_r_r">{{item.name}}</view>
+								</view>
+							</view>
+						</view>
+
+
+					</view>
+				</view>
+			</view>
+
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	import {
+		parseTime
+	} from '@/component/public.js'
+	import {
+		gradingControlDetail,
+		readByLoginUser
+	} from '@/pages_basics/api/index.js'
+	import {
+		config
+	} from '@/api/request/config.js'
+	export default {
+		data() {
+			return {
+
+				infoList: {},
+				id: '',
+				upList: [],
+			}
+		},
+		onLoad(option) {
+			if (option.item) {
+				let item = JSON.parse(decodeURIComponent(option.item));
+				console.log(item)
+				this.id = item.recordId;
+				if (item.messageUserId) {
+					this.readByLoginUser(item.messageUserId);
+				}
+			} else {
+
+			}
+		},
+		onShow() {
+			this.clearData();
+			this.getList();
+		},
+		methods: {
+
+			//清除
+			clearData() {
+				this.infoList = [];
+				this.upList = [];
+
+			},
+			//滚动事件
+			scrollGet() {
+				//this.getList();
+			},
+			lookItem(item) {
+				console.log("item", item)
+				if (item.type == 'png' || item.type == 'jpg' || item.type == 'jpeg' || item.type == 'gif') {
+					//查看图片
+					wx.previewImage({
+						urls: [item.url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+						current: '', // 当前显示图片的http链接,默认是第一个
+						success: function(res) {},
+						fail: function(res) {},
+						complete: function(res) {},
+					})
+				} else if (item.type == 'pdf' || item.type == 'doc' || item.type == 'docx') {
+					uni.showLoading({
+						title: '下载中'
+					});
+					//下载文档
+					wx.downloadFile({
+						url: item.url,
+						header: {
+							Authorization: uni.getStorageSync('token')
+						},
+						success: function(res) {
+							console.log("resresresresresres", res)
+							const fileManager = wx.getFileSystemManager()
+							const filePath = wx.env.USER_DATA_PATH + '/' + item.name + '.docx'
+							fileManager.saveFile({
+								tempFilePath: res.tempFilePath,
+								filePath,
+								success: () => {
+									uni.hideLoading();
+									wx.openDocument({
+										filePath: filePath,
+										showMenu: true,
+										fileType: item.type
+									})
+								},
+								fail: function(res) {
+									uni.hideLoading();
+									uni.showToast({
+										title: '下载失败',
+										icon: "none",
+										mask: true,
+										duration: 2000
+									});
+								}
+							})
+						},
+						fail: function(res) {
+							uni.hideLoading();
+							uni.showToast({
+								title: '下载失败',
+								icon: "none",
+								mask: true,
+								duration: 2000
+							});
+						}
+					})
+				}
+			},
+			//查看图片
+			lockImg(list) {
+				console.log(list)
+				/* if(!list[0]){
+					return
+				} */
+				let url = list.split(',')
+				wx.previewImage({
+					urls: url, //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+					current: '', // 当前显示图片的http链接,默认是第一个
+					success: function(res) {},
+					fail: function(res) {},
+					complete: function(res) {},
+				})
+			},
+			async readByLoginUser(id) {
+				let obj = {
+					id: id
+				}
+				const {
+					data
+				} = await readByLoginUser(obj)
+			},
+			//获取列表数据
+			async getList() {
+				let _this = this;
+				let listUrl = [];
+				let listName = [];
+
+				const {
+					data
+				} = await gradingControlDetail(this.id)
+				if (data.code == 200) {
+					data.data.endDate = parseTime(data.data.endDate, "{y}-{m}-{d} {h}:{i}:{s}");
+					data.data.detail.createTime = parseTime(data.data.detail.createTime, "{y}-{m}-{d} {h}:{i}:{s}");
+					this.infoList = data.data
+					listName = data.data.detail.imgName.split(",")
+					listUrl = data.data.detail.imgUrl.split(",")
+					for (var i = 0; i < listName.length; i++) {
+						if (listName[i]) {
+							let type = listName[i].split(".")[1];
+							this.upList.push({
+								'name': listName[i],
+								'url': config.base_url + listUrl[i],
+								'type': type,
+							})
+						}
+					}
+
+					console.log(this.upList)
+
+
+				}
+
+			},
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	#accessQualification {
+		height: 100%;
+
+		display flex;
+		flex-direction column;
+
+		.info-max-box {
+			flex: 1;
+
+			overflow: scroll;
+
+			.for-big-box:last-child {
+				margin-bottom: 180rpx;
+			}
+
+			/* 列表 */
+			.list {
+				padding 0 20rpx;
+				box-sizing border-box;
+
+				.list_li {
+					height 450rpx;
+
+					.list_li_t {
+						height: 80rpx;
+						display flex;
+						justify-content flex-start;
+						align-items: center;
+
+						.list_li_t_l {
+							width: 80rpx;
+							height: 30rpx;
+							font-size: 24rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #EE3A3A;
+							line-height: 30rpx;
+							border: 2rpx solid #EE3A3A;
+							border-radius: 6rpx;
+							text-align center;
+						}
+
+						.list_li_t_c {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 30rpx;
+							margin 0 32rpx 0 16rpx;
+						}
+
+						.list_li_t_r {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							line-height: 30rpx;
+						}
+					}
+
+					.list_li_b {
+						width 710rpx;
+						height auto;
+						background: #FFFFFF;
+						border-radius: 20rpx;
+						padding: 0 14rpx;
+						box-sizing: border-box;
+
+						overflow hidden;
+
+						.list_li_b_t {
+							overflow: hidden;
+
+							.list_li_b_t_t {
+								display flex;
+								justify-content flex-start;
+								margin: 24rpx 0 18rpx 0;
+
+								.list_li_b_t_t_n {
+									flex: 1;
+									display flex;
+									justify-content flex-start;
+
+									.list_li_b_t_t_l {
+										width: 100rpx;
+										height: 30rpx;
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										/* color: #0183FA; */
+										line-height: 30rpx;
+										/* background: rgba(1,131,250,0.2); */
+										border-radius: 6rpx;
+										text-align: center;
+									}
+
+									.list_li_b_t_t_c {
+										flex: 1;
+										font-size: 28rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #333333;
+										line-height: 28rpx;
+										margin: 0 16rpx 0 12rpx;
+									}
+
+									.list_li_b_t_t_r {
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #EE3A3A;
+										line-height: 24rpx;
+									}
+								}
+
+								.list_li_b_t_t_n_r {
+									font-size: 24rpx;
+									line-height: 30rpx;
+									color: #999;
+								}
+
+								/* 日管控 */
+								.purple {
+									color: #AC20E0;
+									background: rgba(172, 32, 224, 0.2);
+								}
+
+								/* 周管控 */
+								.blue {
+									color: #0183FA;
+									background: rgba(1, 131, 250, 0.2);
+								}
+
+								/* 月管控 */
+								.orange {
+									color: #FA8801;
+									background: rgba(250, 136, 1, 0.2);
+								}
+
+								/* 年管控 */
+								.green {
+									color: #11BA25;
+									background: rgba(17, 186, 37, 0.2);
+								}
+
+								>img {
+									width: 12rpx;
+									height: 24rpx;
+								}
+							}
+
+							.list_li_b_t_b {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 48rpx;
+								margin-bottom: 14rpx;
+
+								>label {
+									color: #333333;
+								}
+							}
+						}
+
+						.list_li_b_b {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 28rpx;
+
+							>label {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 28rpx;
+							}
+						}
+
+						.list_li_b_b2 {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							line-height: 48rpx;
+							margin-top: 32rpx;
+
+							>label {
+								color: #333333;
+							}
+						}
+
+						.list_li_b_b4 {
+							width: 100%;
+							margin-top: 10rpx;
+							margin-bottom 20rpx;
+							display: flex;
+							justify-content: flex-start;
+
+							>label {
+								display: inline-block;
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #333333;
+								line-height: 28rpx;
+								width: 150rpx;
+							}
+
+							.list_li_b_b4_n {
+								width: 560rpx;
+
+								.list_li_b_b4_r {
+									height: 60rpx;
+									width: 100%;
+									margin-bottom: 20rpx;
+									display: flex;
+									justify-content: flex-start;
+									align-items: center;
+
+									img {
+										height: 60rpx;
+										width: 60rpx;
+										margin-right: 10rpx;
+									}
+
+									.list_li_b_b4_r_r {
+										height: 50rpx;
+										white-space: nowrap;
+										overflow: hidden;
+										text-overflow: ellipsis;
+										width: 100%;
+										font-size: 28rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #999999;
+										line-height: 50rpx;
+									}
+								}
+							}
+
+						}
+
+					}
+				}
+			}
+
+			/*暂无数据*/
+			.get-null-box {
+				height: 100rpx;
+				line-height: 100rpx;
+				color: #999;
+				text-align center
+			}
+		}
+
+		.bottom-button-box {
+			border-radius: 20rpx;
+			margin: 20rpx 50rpx;
+			width: 650rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			background: #0183FA;
+			font-size: 30rpx;
+			color: #FFFFFF;
+			text-align center;
+		}
+	}
+</style>

+ 360 - 0
pages_basics/views/gradingControl/gradingControlFinish.vue

@@ -0,0 +1,360 @@
+<!-- 准入资格证书 -->
+<template>
+	<view id="accessQualification">
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+			<view class="list">
+				<view class="list_li" v-for="(item,index) in infoList" :key="index">
+					<view class="list_li_t">
+						<!-- <view class="list_li_t_l" :style="'color:'+item.levelColor+';border-color:'+item.levelColor">{{item.levelName}}</view> -->
+						<view class="list_li_t_c">{{item.subName}}</view>
+						<!-- <view class="list_li_t_r">{{item.typeName}}</view> -->
+					</view>
+					<view class="list_li_b">
+						<view class="list_li_b_t" @tap="goPageInfo(item2)" v-for="(item2,index2) in item.detailList"
+							:key="index2"
+							:style="index2==(item.detailList.length-1)?'border:none;':'border-bottom :1px dashed #cccccc;'">
+							<view class="list_li_b_t_t">
+								<view class="list_li_b_t_t_n">
+									<view class="list_li_b_t_t_l"
+										:class="[item2.ruleType== '日管控' ? 'purple': '', item2.ruleType=='周管控'? 'blue': '',item2.ruleType=='月管控'? 'orange': '',item2.ruleType=='年管控'? 'green': '',]">
+										{{item2.ruleType}}
+									</view>
+									<view class="list_li_b_t_t_c">{{item2.ruleName}}</view>
+									<!-- <view class="list_li_b_t_t_r" v-if="item2.isExpired==1">(过期未完成)</view> -->
+								</view>
+								<view class="list_li_t_rr"
+									:class="item2.status==0?'list_li_t_rr_color_a':(item2.status==2?'list_li_t_rr_color_b':'')">
+									{{item2.status==0?'未执行':(item2.status==2?'已执行':'')}}
+								</view>
+								<img class="list_li_b_t_t_img" src="@/pages_basics/images/icon_04.png">
+							</view>
+							<!-- <view class="list_li_b_t_b">{{item2.ruleRemark}}</view> -->
+							<view class="list_li_b_t_b">截止执行时间:{{item2.endDate}}</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="get-null-box" v-if="infoList.length==0">暂无更多数据</view>
+		</scroll-view>
+
+	</view>
+</template>
+
+<script>
+	import {
+		parseTime
+	} from '@/component/public.js'
+	import {
+		gradingControlFinish
+	} from '@/pages_basics/api/index.js'
+	export default {
+		data() {
+			return {
+				infoList: [],
+			}
+		},
+		onLoad() {
+
+		},
+
+		onShow() {
+			//this.clearData();
+			this.getList();
+		},
+		methods: {
+
+			//清除
+			clearData() {
+				this.infoList = [];
+
+			},
+			//去详情页
+			goPageInfo(item) {
+				console.log(11)
+				console.log(item)
+				uni.navigateTo({
+					url: '/pages_basics/views/gradingControl/gradingControlDetail?item=' + encodeURIComponent(JSON
+						.stringify(item))
+				})
+			},
+			//滚动事件
+			scrollGet() {
+				this.getList();
+			},
+
+
+			//获取列表数据
+			async getList() {
+				let self = this;
+				let obj = {
+
+				}
+				const {
+					data
+				} = await gradingControlFinish(obj)
+				if (data.code == 200) {
+					data.data.forEach(function(item){
+						item.detailList.forEach(function(item2){
+							item2.endDate=parseTime(item2.endDate, "{y}-{m}-{d} {h}:{i}:{s}");
+						})
+					})
+					self.infoList = data.data;
+				}
+
+			},
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	#accessQualification {
+		height: 100%;
+
+		display flex;
+		flex-direction column;
+
+		.info-max-box {
+			flex: 1;
+
+			overflow: scroll;
+
+			.for-big-box:last-child {
+				margin-bottom: 180rpx;
+			}
+
+			/* 列表 */
+			.list {
+				padding 0 20rpx;
+				box-sizing border-box;
+
+				.list_li {
+					height auto;
+
+					.list_li_t {
+						height: 80rpx;
+						display flex;
+						justify-content flex-start;
+						align-items: center;
+
+						.list_li_t_l {
+							width: 80rpx;
+							height: 30rpx;
+							font-size: 24rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #EE3A3A;
+							line-height: 30rpx;
+							border: 2rpx solid #EE3A3A;
+							border-radius: 6rpx;
+							text-align center;
+						}
+
+						.list_li_t_c {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #333333;
+							line-height: 30rpx;
+							margin 0 32rpx 0 16rpx;
+							flex: 1;
+						}
+
+						.list_li_t_r {
+							font-size: 28rpx;
+							font-family: PingFang SC;
+							font-weight: 500;
+							color: #999999;
+							line-height: 30rpx;
+						}
+					}
+
+					.list_li_b {
+						width 710rpx;
+						height auto;
+						background: #FFFFFF;
+						border-radius: 20rpx;
+						padding: 0 14rpx;
+						box-sizing: border-box;
+
+						.list_li_b_t {
+							overflow: hidden;
+							border-bottom: 1rpx dashed #cccccc;
+
+							.list_li_b_t_t {
+								display flex;
+								flex: 1;
+								justify-content flex-start;
+								margin: 24rpx 0 18rpx 0;
+
+								.list_li_b_t_t_n {
+									width: 655rpx;
+									display flex;
+									justify-content flex-start;
+
+									.list_li_b_t_t_l {
+										width: 100rpx;
+										height: 30rpx;
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										/* color: #0183FA; */
+										line-height: 24rpx;
+										/* background: rgba(1,131,250,0.2); */
+										border-radius: 6rpx;
+										text-align: center;
+									}
+
+									.list_li_b_t_t_c {
+										font-size: 28rpx;
+										font-family: PingFang SC;
+										flex: 1;
+										font-weight: 500;
+										color: #333333;
+										line-height: 28rpx;
+										margin: 0 16rpx 0 12rpx;
+									}
+
+									.list_li_b_t_t_r {
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #EE3A3A;
+										line-height: 24rpx;
+									}
+								}
+
+								.list_li_t_rr {
+									width: 100rpx;
+									font-size: 28rpx;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #999999;
+									line-height: 28rpx;
+									margin-right: 10rpx;
+								}
+
+								.list_li_t_rr_color_a {
+									color: #FF4E00;
+								}
+
+								.list_li_t_rr_color_b {
+									color: #14AE10;
+								}
+
+								/* 日管控 */
+								.purple {
+									color: #AC20E0;
+									background: rgba(172, 32, 224, 0.2);
+								}
+
+								/* 周管控 */
+								.blue {
+									color: #0183FA;
+									background: rgba(1, 131, 250, 0.2);
+								}
+
+								/* 月管控 */
+								.orange {
+									color: #FA8801;
+									background: rgba(250, 136, 1, 0.2);
+								}
+
+								/* 年管控 */
+								.green {
+									color: #11BA25;
+									background: rgba(17, 186, 37, 0.2);
+								}
+
+								>img {
+									width: 12rpx;
+									height: 24rpx;
+									margin-top: 2rpx;
+								}
+							}
+
+							.list_li_b_t_b {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 48rpx;
+								margin-bottom: 14rpx;
+							}
+						}
+
+						.list_li_b_b {
+
+							.list_li_b_b_t {
+								display: flex;
+								justify-content: flex-start;
+								margin: 30rpx 0 18rpx;
+
+								.list_li_b_b_t_n {
+									width: 655rpx;
+									display flex;
+									justify-content flex-start;
+
+									.list_li_b_b_t_l {
+										width: 100rpx;
+										height: 30rpx;
+										border-radius: 6rpx;
+										font-size: 24rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #FA8801;
+										line-height: 30rpx;
+										background: rgba(250, 136, 1, 0.2);
+										text-align: center;
+										margin-right: 12rpx;
+									}
+
+									.list_li_b_b_t_r {
+										font-size: 28rpx;
+										font-family: PingFang SC;
+										font-weight: 500;
+										color: #333333;
+										line-height: 30rpx;
+									}
+								}
+
+								>img {
+									width: 12rpx;
+									height: 24rpx;
+								}
+
+							}
+
+							.list_li_b_b_b {
+								font-size: 28rpx;
+								font-family: PingFang SC;
+								font-weight: 500;
+								color: #999999;
+								line-height: 48rpx;
+							}
+						}
+					}
+				}
+			}
+
+			/*暂无数据*/
+			.get-null-box {
+				height: 100rpx;
+				line-height: 100rpx;
+				color: #999;
+				text-align center
+			}
+		}
+
+		.bottom-button-box {
+			border-radius: 20rpx;
+			margin: 20rpx 50rpx;
+			width: 650rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			background: #0183FA;
+			font-size: 30rpx;
+			color: #FFFFFF;
+			text-align center;
+		}
+	}
+</style>

+ 16 - 9
pages_safetyCheck/views/inspectManage/conductInspections.vue

@@ -44,7 +44,7 @@
 								@click="delImg(imgIndex)">
 						</view>
 						<img class="add-button" src="@/pages_safetyCheck/images/img_ssp_pz@1x.png"
-							@click="selectImage()" v-if="form.photoList.length<5">
+							@click="selectImage()" v-if="form.photoList.length<6">
 					</view>
 				</view>
 			</view>
@@ -226,7 +226,7 @@
 					if (this.pageType == 0) {
 						//检查
 						obj.manageId = this.optionData.manageId
-					} 
+					}
 					this.$set(this, 'propsData', obj);
 					this.$set(this, 'checkItemModuleType', true);
 				} else if (type == 'out') {
@@ -335,9 +335,9 @@
 			/******图片上传******/
 			selectImage() {
 				let self = this;
-				if (this.form.photoList.length > 4) {
+				if (this.form.photoList.length > 5) {
 					uni.showToast({
-						title: '最多上传5张图片',
+						title: '最多上传6张图片',
 						icon: "none",
 						mask: true,
 						duration: 2000
@@ -345,12 +345,15 @@
 					return
 				}
 				wx.chooseImage({
-					count: 1,
+					count: 6,
 					sizeType: ["original", "compressed"],
 					sourceType: ["album", "camera"],
 					success: function(res) {
-						let tempFilePaths = res.tempFilePaths[0];
-						self.uploadImg(tempFilePaths);
+						if (res.tempFilePaths[0]) {
+							res.tempFilePaths.forEach(function(item, index) {
+								self.uploadImg(item);
+							})
+						}
 					}
 				});
 			},
@@ -750,6 +753,10 @@
 					border-radius: 10rpx 10rpx 10rpx 10rpx;
 					margin: 0 10rpx 10rpx 0;
 				}
+
+				>img:nth-of-type(4) {
+					margin-right: 0;
+				}
 			}
 
 			.describe {
@@ -781,7 +788,7 @@
 						height: 150rpx;
 						width: 150rpx;
 						position relative;
-						margin: 0 14rpx 20rpx 0;
+						margin: 0 10rpx 20rpx 0;
 						border-radius 10rpx;
 						overflow hidden;
 
@@ -799,7 +806,7 @@
 						}
 					}
 
-					.img-box:nth-of-type(3n+3) {
+					.img-box:nth-of-type(4n+4) {
 						margin-right: 0rpx;
 					}
 

+ 57 - 44
pages_safetyCheck/views/inspectManage/inspectAdd.vue

@@ -9,7 +9,7 @@
 				</view>
 				<view class="items-b">< {{newData.hazardCheckCode2}} {{newData.hazardCheckName2}} <</view>
 			</view>
-			<view class="items-number" >此检查项在当前实验室累计出现<text>{{hazardCheckNum}}</text>次隐患</view>
+			<view class="items-number">此检查项在当前实验室累计出现<text>{{hazardCheckNum}}</text>次隐患</view>
 			<view class="list">
 				<view class="list-li">
 					<view>检查要点</view>
@@ -32,8 +32,8 @@
 						<img src="@/pages_safetyCheck/images/icon_06.png">
 					</view>
 				</view>
-				<textarea v-if="!form.checkFlag" class="describe" type="text" v-model="form.hazardDescribe" maxlength="200"
-					placeholder="请填写隐患描述" placeholder-style="font-size:24rpx;color:#999;"></textarea>
+				<textarea v-if="!form.checkFlag" class="describe" type="text" v-model="form.hazardDescribe"
+					maxlength="200" placeholder="请填写隐患描述" placeholder-style="font-size:24rpx;color:#999;"></textarea>
 				<view v-if="!form.checkFlag" class="check-for-img-max-box">
 					<view class="left-title-p"></view>
 					<view class="right-img-box">
@@ -43,7 +43,7 @@
 								@click="delImg(imgIndex)">
 						</view>
 						<img class="add-button" src="@/pages_safetyCheck/images/img_ssp_pz@1x.png"
-							@click="selectImage()" v-if="form.photoList.length<5">
+							@click="selectImage()" v-if="form.photoList.length<6">
 					</view>
 				</view>
 			</view>
@@ -52,7 +52,8 @@
 					<view class="voice_t_t" v-if="!form.voiceList[0]">语音备注:(选填)</view>
 					<view class="voice_t_b" v-if="form.voiceList[0]">语音备注:({{form.voiceList.length}})</view>
 				</view>
-				<view class="voice_b" v-if="form.voiceList[0]" v-for="(voiceItem,voiceIndex) in form.voiceList" :key="voiceIndex">
+				<view class="voice_b" v-if="form.voiceList[0]" v-for="(voiceItem,voiceIndex) in form.voiceList"
+					:key="voiceIndex">
 					<view class="voice_b_l" @tap="voicePlay(voiceItem.fileUrl)">
 						<img class="add-button" src="@/pages_safetyCheck/images//icon_yybz_yy.png" />
 						{{voiceItem.fileLength}}″
@@ -77,7 +78,7 @@
 </template>
 
 <script>
-	const myaudio  = uni.createInnerAudioContext();
+	const myaudio = uni.createInnerAudioContext();
 	import {
 		config
 	} from '@/api/request/config.js'
@@ -112,28 +113,28 @@
 						checked: true,
 					},
 				],
-				pageType:'',
-				itemsStatus:'',
+				pageType: '',
+				itemsStatus: '',
 				setOptionId: '', //检查项id
 				manageId: '', //检查管理id
 				subId: '',
 				hazardCheckPro: '',
-				hazardCheckNum:0,
+				hazardCheckNum: 0,
 				sendLock: true, //发送锁,当为true时上锁,false时解锁发送
 				recorderManager: wx.getRecorderManager(),
-				optionData:null,
+				optionData: null,
 			}
 		},
 		onLoad(option) {
 			let optionData = JSON.parse(decodeURIComponent(option.infoData));
-			console.log('新增',optionData)
+			console.log('新增', optionData)
 			uni.setNavigationBarTitle({
 				title: optionData.subName + '(' + (optionData.pageType == 0 ? optionData.roomNum : optionData
 					.subRoom) + ')'
 			})
 			this.$set(this, 'pageType', optionData.pageType);
 			this.$set(this, 'itemsStatus', optionData.itemsStatus);
-			
+
 			this.$set(this, 'setOptionId', optionData.setOptionId);
 			this.$set(this, 'manageId', optionData.manageId);
 			this.$set(this, 'subId', optionData.subId);
@@ -145,25 +146,25 @@
 
 		},
 		mounted() {
-			if(this.pageType==0){
+			if (this.pageType == 0) {
 				//检查
-				if(this.itemsStatus==0 || this.itemsStatus==1){
+				if (this.itemsStatus == 0 || this.itemsStatus == 1) {
 					//开始检查-提交的详情
 					this.securityAppCheckPlanCheckInfo();
-				}else if(this.itemsStatus==2){
+				} else if (this.itemsStatus == 2) {
 					//保存草稿详情
 					this.securityDraftFindBySetOptionId();
-					
-					
+
+
 				}
 			}
 			this.securityAppCheckPhotoGetCheckNumBySub();
 		},
 		methods: {
 			hiddenDangerClick(row) {
-				if(!this.hiddenDangerRecordStatus){
+				if (!this.hiddenDangerRecordStatus) {
 					let infoData = this.optionData;
-					infoData.hiddenDangerRecordStatus = true;//判断是否跳转隐患列表
+					infoData.hiddenDangerRecordStatus = true; //判断是否跳转隐患列表
 					uni.redirectTo({
 						url: '/pages_safetyCheck/views/inspectManage/hiddenDangerRecord?infoData=' +
 							encodeURIComponent(JSON.stringify(infoData))
@@ -182,11 +183,11 @@
 				if (data.code == 200) {
 					this.$set(this, 'newData', data.data);
 					//编辑的时候
-					this.$set(this.form, 'checkFlag', data.data.checkFlag?data.data.checkFlag:false);
-					this.$set(this.form, 'hazardDescribe', data.data.hazardDescribe?data.data.hazardDescribe:'');
-					this.$set(this.form, 'photoList', data.data.photoList?data.data.photoList:[]);
-					this.$set(this.form, 'voiceList', data.data.voiceList?data.data.voiceList:[]);
-					
+					this.$set(this.form, 'checkFlag', data.data.checkFlag ? data.data.checkFlag : false);
+					this.$set(this.form, 'hazardDescribe', data.data.hazardDescribe ? data.data.hazardDescribe : '');
+					this.$set(this.form, 'photoList', data.data.photoList ? data.data.photoList : []);
+					this.$set(this.form, 'voiceList', data.data.voiceList ? data.data.voiceList : []);
+
 				}
 			},
 			//获取草稿详情
@@ -201,10 +202,10 @@
 					//编辑的时候
 					this.$set(this, 'newData', data.data);
 					this.$set(this.newData, 'checkPlanSetVoList', this.optionData.checkPlanSetVoList);
-					this.$set(this.form, 'checkFlag', data.data.checkFlag?data.data.checkFlag:false);
-					this.$set(this.form, 'hazardDescribe', data.data.hazardDescribe?data.data.hazardDescribe:'');
-					this.$set(this.form, 'photoList', data.data.photoList?data.data.photoList:[]);
-					this.$set(this.form, 'voiceList', data.data.voiceList?data.data.voiceList:[]);
+					this.$set(this.form, 'checkFlag', data.data.checkFlag ? data.data.checkFlag : false);
+					this.$set(this.form, 'hazardDescribe', data.data.hazardDescribe ? data.data.hazardDescribe : '');
+					this.$set(this.form, 'photoList', data.data.photoList ? data.data.photoList : []);
+					this.$set(this.form, 'voiceList', data.data.voiceList ? data.data.voiceList : []);
 				}
 			},
 			//获取检查项在当前实验室出现的次数
@@ -223,10 +224,10 @@
 			},
 			//提交
 			async submitForm(status) {
-				
+
 				console.log(this.form.checkFlag)
-				if(!this.form.checkFlag){
-					if(!this.form.hazardDescribe){
+				if (!this.form.checkFlag) {
+					if (!this.form.hazardDescribe) {
 						uni.showToast({
 							title: '请填写隐患描述!',
 							icon: "none",
@@ -235,7 +236,7 @@
 						});
 						return
 					}
-					if(!this.form.photoList[0] && !this.form.checkFlag){
+					if (!this.form.photoList[0] && !this.form.checkFlag) {
 						uni.showToast({
 							title: '请选择现场照片!',
 							icon: "none",
@@ -257,14 +258,14 @@
 					data
 				} = await securityAppCheckSetOptionCheckCommit(obj);
 				if (data.code == 200) {
-					if(status==1){
+					if (status == 1) {
 						uni.showToast({
 							title: '保存成功!',
 							icon: "none",
 							mask: true,
 							duration: 2000
 						});
-					}else if(status==2){
+					} else if (status == 2) {
 						uni.showToast({
 							title: '提交成功!',
 							icon: "none",
@@ -273,10 +274,11 @@
 						});
 					}
 					let infoData = this.optionData;
-					infoData.itemsStatus = status==1?2:0;
+					infoData.itemsStatus = status == 1 ? 2 : 0;
 					uni.redirectTo({
-						url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItemsDetail?infoData=' + encodeURIComponent(JSON
-							.stringify(infoData))
+						url: '/pages_safetyCheck/views/itemsManage/hiddenDangerItemsDetail?infoData=' +
+							encodeURIComponent(JSON
+								.stringify(infoData))
 					});
 				}
 			},
@@ -303,9 +305,9 @@
 			/******图片上传******/
 			selectImage() {
 				let self = this;
-				if (this.form.photoList.length > 4) {
+				if (this.form.photoList.length > 5) {
 					uni.showToast({
-						title: '最多上传5张图片',
+						title: '最多上传6张图片',
 						icon: "none",
 						mask: true,
 						duration: 2000
@@ -313,12 +315,15 @@
 					return
 				}
 				wx.chooseImage({
-					count: 1,
+					count: 6,
 					sizeType: ["original", "compressed"],
 					sourceType: ["album", "camera"],
 					success: function(res) {
-						let tempFilePaths = res.tempFilePaths[0];
-						self.uploadImg(tempFilePaths);
+						if (res.tempFilePaths[0]) {
+							res.tempFilePaths.forEach(function(item, index) {
+								self.uploadImg(item);
+							})
+						}
 					}
 				});
 			},
@@ -707,6 +712,10 @@
 					border-radius: 10rpx 10rpx 10rpx 10rpx;
 					margin: 0 10rpx 10rpx 0;
 				}
+
+				>img:nth-of-type(4) {
+					margin-right: 0;
+				}
 			}
 
 			.describe {
@@ -733,12 +742,16 @@
 				}
 
 				.right-img-box {
+					display: flex;
+					justify-content: flex-start;
+					flex-wrap: wrap;
+
 					.img-box {
 						display inline-block;
 						height: 150rpx;
 						width: 150rpx;
 						position relative;
-						margin: 0 14rpx 20rpx 0;
+						margin: 0 10rpx 20rpx 0;
 						border-radius 10rpx;
 						overflow hidden;
 
@@ -756,7 +769,7 @@
 						}
 					}
 
-					.img-box:nth-of-type(3n+3) {
+					.img-box:nth-of-type(4n+4) {
 						margin-right: 0rpx;
 					}
 

+ 3 - 0
pages_safetyCheck/views/itemsManage/hiddenDangerItemsDetail.vue

@@ -646,6 +646,9 @@
 					border-radius: 10rpx 10rpx 10rpx 10rpx;
 					margin: 0 10rpx 10rpx 0;
 				}
+				>img:nth-of-type(4) {
+					margin-right: 0;
+				}
 			}
 
 			/* .list-li:last-of-type {

+ 13 - 8
pages_safetyCheck/views/itemsManage/hiddenDangerRectification.vue

@@ -344,9 +344,9 @@
 			/******图片上传******/
 			selectImage() {
 				let self = this;
-				if (this.form.imgDtoList.length > 4) {
+				if (this.form.imgDtoList.length > 5) {
 					uni.showToast({
-						title: '最多上传5张图片',
+						title: '最多上传6张图片',
 						icon: "none",
 						mask: true,
 						duration: 2000
@@ -354,13 +354,15 @@
 					return
 				}
 				wx.chooseImage({
-					count: 1,
+					count: 6,
 					sizeType: ["original", "compressed"],
 					sourceType: ["album", "camera"],
 					success: function(res) {
-						let tempFilePaths = res.tempFilePaths[0];
-						console.log(tempFilePaths)
-						self.uploadImg(tempFilePaths);
+						if (res.tempFilePaths[0]) {
+							res.tempFilePaths.forEach(function(item, index) {
+								self.uploadImg(item);
+							})
+						}
 					}
 				});
 			},
@@ -782,6 +784,9 @@
 					border-radius: 10rpx 10rpx 10rpx 10rpx;
 					margin: 0 10rpx 10rpx 0;
 				}
+				>img:nth-of-type(4) {
+					margin-right: 0;
+				}
 			}
 
 			.describe {
@@ -813,7 +818,7 @@
 						height: 150rpx;
 						width: 150rpx;
 						position relative;
-						margin: 0 14rpx 20rpx 0;
+						margin: 0 10rpx 20rpx 0;
 						border-radius 10rpx;
 						overflow hidden;
 
@@ -831,7 +836,7 @@
 						}
 					}
 
-					.img-box:nth-of-type(3n+3) {
+					.img-box:nth-of-type(4n+4) {
 						margin-right: 0rpx;
 					}
 

+ 2 - 1
pages_safetyCheck/views/safetyCheck.vue

@@ -139,8 +139,9 @@
 			tabClick(index) {
 				this.$set(this.queryParams, 'page', 1);
 				this.$set(this, 'total', 0);
-				this.$set(this, 'dataList', []);
+				
 				if (this.curTab != index) {
+					this.$set(this, 'dataList', []);
 					if (index == 0) {
 						//校级检查
 						this.$set(this, 'curTab', index);

+ 10 - 5
pages_safetyCheck/views/snapshotManage/snapshotList.vue

@@ -263,12 +263,17 @@
 					return
 				}
 				wx.chooseImage({
-					count: 1,
+					count: 6,
 					sizeType: ["original", "compressed"],
 					sourceType: ["album", "camera"],
 					success: function(res) {
-						let tempFilePaths = res.tempFilePaths[0];
-						self.uploadImg(tempFilePaths);
+						if(res.tempFilePaths[0]){
+							res.tempFilePaths.forEach(function(item,index){
+									self.uploadImg(item);
+							})
+						}
+						
+						
 					}
 				});
 			},
@@ -644,7 +649,7 @@
 						height: 150rpx;
 						width: 150rpx;
 						position relative;
-						margin: 0 14rpx 20rpx 0;
+						margin: 0 10rpx 20rpx 0;
 						border-radius 10rpx;
 						overflow hidden;
 
@@ -662,7 +667,7 @@
 						}
 					}
 
-					.img-box:nth-of-type(3n+3) {
+					.img-box:nth-of-type(4n+4) {
 						margin-right: 0rpx;
 					}
 

+ 3 - 3
pages_safetyCheck/views/snapshotManage/snapshotRectification.vue

@@ -169,9 +169,9 @@
 			/******图片上传******/
 			selectImage() {
 				let self = this;
-				if (this.form.imgDtoList.length > 4) {
+				if (this.form.imgDtoList.length > 5) {
 					uni.showToast({
-						title: '最多上传5张图片',
+						title: '最多上传6张图片',
 						icon: "none",
 						mask: true,
 						duration: 2000
@@ -179,7 +179,7 @@
 					return
 				}
 				wx.chooseImage({
-					count: 1,
+					count: 6,
 					sizeType: ["original", "compressed"],
 					sourceType: ["album", "camera"],
 					success: function(res) {