xieyunhui 3 éve
szülő
commit
1cf4dbf2cc

+ 2 - 2
.hbuilderx/launch.json

@@ -4,11 +4,11 @@
     "configurations": [{
      	"default" : 
      	{
-     		"launchtype" : "remote"
+     		"launchtype" : "local"
      	},
      	"h5" : 
      	{
-     		"launchtype" : "remote"
+     		"launchtype" : "local"
      	},
      	"type" : "uniCloud"
      }

+ 2 - 37
App.vue

@@ -1,45 +1,10 @@
 <script>
 	export default {
 		onLaunch: function() {
-			// console.log("App Launch");
-			// this.checkArguments(); // 检测启动参数
-			// if (uni.getSystemInfoSync().platform == 'android') {
-			// 	// 重点是以下: 一定要监听后台恢复 !一定要
-			// 	plus.globalEvent.addEventListener('newintent', e => {
-			// 		this.checkArguments(); // 检测启动参数
-			// 	});
-			// }
-			// console.log(uni.getSystemInfoSync());
-			const {
-				platform,
-				windowWidth
-			} = uni.getSystemInfoSync();
-			if (platform === 'android' && windowWidth > 500) {
-				//pad下锁死竖屏适配布局
-				// #ifdef APP-PLUS
-				plus.screen.lockOrientation('portrait-primary');
-				// #endif
-			}
-
-
-
+		
 			/* 条件编译,仅在H5平台生效 */
 			// #ifdef H5
-			//在页面加载时读取Storage里的状态信息
-			// const store = uni.getStorageSync('store');
-			// console.log('this.$store.state',this.$store.state);
-			// if (store) {
-			// 	console.log('读取Storage里的状态信息');
-			// 	this.$store.replaceState(
-			// 		Object.assign({},
-			// 			this.$store.state,
-			// 			JSON.parse(store)
-			// 		)
-			// 	);
-			// }else {
-			// 	console.log('设置Storage里的状态信息');
-			// 	uni.setStorageSync('store',JSON.stringify(this.$store.state));
-			// }
+		
 		
 			uni.getSystemInfo({
 				success(e) {

+ 81 - 60
components/app-update/app-update.vue

@@ -41,9 +41,11 @@
 </template>
 
 <script>
-	import uniPopup from '@/components/uni-popup/uni-popup.vue';
-    import { creatRequest } from '../../utils/request.js';
-	export default {
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import {
+		creatRequest
+	} from '../../utils/request.js';
+	export default {
 		// props:['url'],
 		data() {
 			return {
@@ -53,12 +55,12 @@
 				is_reques: false, //是否请求中
 
 				update_info: {
-					"type": "2", //1分发平台更新  2安装包/升级包更新
-					"version_note": "", //ios更新备注
-					"version": "0.0.0", //ios版本号
-					"download_url": "", //ios更新新链接
+					"type": "2", //1分发平台更新  2安装包/升级包更新 3 外链下载安装包
+					"version_note": "", //更新备注
+					"version": "0.0.0", //版本号
+					"download_url": "", //更新新链接
 				},
-                ifCheckAppUpdate:false,
+				ifCheckAppUpdate: false,
 				is_update: false,
 				schedule: 0,
 				update_ing: false, //点击升级
@@ -66,21 +68,30 @@
 				downloadedSize: 0,
 			};
 		},
-		components:{uniPopup},
-		mounted() {
-			const updateRejectStart = uni.getStorageSync('updateRejectStart');
-			const updateRejectCurrent = new Date().getTime();
-			const timeLeft = updateRejectCurrent-(updateRejectStart?updateRejectStart:0);
-			console.log({updateRejectStart,updateRejectCurrent,timeLeft});
-			if(timeLeft>=600000){
-				   this.getSystemInfo() //获取系统新
+		components: {
+			uniPopup
+		},
+		mounted() {
+			const updateRejectStart = uni.getStorageSync('updateRejectStart');
+			const updateRejectCurrent = new Date().getTime();
+			const timeLeft = updateRejectCurrent - (updateRejectStart ? updateRejectStart : 0);
+			console.log({
+				updateRejectStart,
+				updateRejectCurrent,
+				timeLeft
+			});
+			if (timeLeft >= 600000 || timeLeft < 0) {
+				this.getSystemInfo() //获取系统新
+			}
+		},
+		watch: {
+			ifCheckAppUpdate: function(newVal, oldVal) {
+				//其他业务代码
+				console.log({
+					newVal,
+					oldVal
+				});
 			}
-		},
-		watch: {
-		    ifCheckAppUpdate: function(newVal, oldVal) {
-		        //其他业务代码
-				console.log({newVal, oldVal});
-		    }
 		},
 		computed: {
 			// 下载进度计算
@@ -100,44 +111,53 @@
 						vm.platform = res.platform //ios  or android
 					}
 				});
-				// 获取版本号
+				// 获取版本号
 				// #ifdef APP-PLUS
-				plus.runtime.getProperty(plus.runtime.appid, function(inf) {
-					console.log({inf});
-					vm.version = inf.version
+				plus.runtime.getProperty(plus.runtime.appid, function(inf) {
+					vm.version = inf.version
 					vm.getUpdateInfo(); //获取更新信息
-				});
-				// #endif
-		
+				});
+				// #endif
+
 			},
 
 			// 获取线上版本信息
 			getUpdateInfo() {
-				let vm = this;
-				const obj = {
-					method: 'GET',
-					url: 'versionInfo/getVersionData'
-				}
-		        console.log('当前版本',vm.version);
-				creatRequest(obj,{versionNo:vm.version}).then(res=>{
-					  console.log({res});
-					  if(res.isNew){
-						  // vm.update_info.type = "1";
-						  vm.update_info.version_note = res.versionContent;
-						  vm.update_info.version = res.versionNo;
-						  vm.update_info.download_url = res.versionUrl;
-					  }else {
-						  
-					  }
-					  
-					  vm.checkUpdate(); ///检查是否更新
+				let vm = this;
+				const obj = {
+					method: 'GET',
+					url: 'versionInfo/getVersionData'
+				}
+				const hospSign = uni.getStorageSync('hospSign');
+				console.log('当前版本', vm.version, 'hospSign', hospSign);
+				creatRequest(obj, {
+					versionNo: vm.version
+				}).then(res => {
+					console.log('更新接口返回', res);
+					if (res.isNew) {
+						
+						vm.update_info.version_note = res.versionContent;
+						vm.update_info.version = res.versionNo;
+						vm.update_info.download_url = res.versionUrl;
+						vm.update_info.type =  res.type;
+						
+						if ((res.hospSign.split(',')).length > 0 && res.hospSign != '') {
+							if (res.hospSign.split(',').findIndex(t => t == hospSign) != -1) {
+								//指定医院更新
+								vm.checkUpdate(); //更新
+							}
+						} else {
+							//所有医院更新
+							vm.checkUpdate(); //更新
+						}
+					}
 				})
-		
+
 			},
 			// 检查是否更新
 			checkUpdate() {
-				let vm = this;
-				console.log(vm.version,vm.update_info.version);
+				let vm = this;
+				console.log(vm.version, vm.update_info.version);
 				vm.is_update = vm.compareVersion(vm.version, vm.update_info.version); // 检查是否升级
 				if (vm.is_update) {
 					vm.$refs.popup.open() //显示升级弹窗
@@ -148,22 +168,19 @@
 
 			// 取消更新
 			up_close() {
-				console.log('点击取消');
-				// this.$store.commit('setAppUpdateStatus',false);
-				uni.setStorageSync('updateRejectStart',new Date().getTime());
+				uni.setStorageSync('updateRejectStart', new Date().getTime());
 				this.$refs.popup.close();
 				// plus.os.name == "Android" ? plus.runtime.quit() : plus.ios.import("UIApplication").sharedApplication().performSelector("exit");
 			},
 			// 立即更新
 			nowUpdate() {
 				let vm = this;
-				if(vm.is_reques){
-					return false   //如果正在下载就停止操作
-				}else{
+				if (vm.is_reques) {
+					return false //如果正在下载就停止操作
+				} else {
 					vm.is_reques = true
 				}
-				console.log(111111);
-				if (vm.update_info.type == 1) {
+				if (vm.update_info.type == 3) {
 					// 分发平台更新  //调用浏览器打开链接或者分发平台
 					plus.runtime.openURL(vm.update_info.download_url, function() {
 						plus.nativeUI.toast("打开错误");
@@ -175,13 +192,16 @@
 				} else if (vm.update_info.type == 2) {
 					// 安装包/升级包更新
 					vm.download_wgt()
+				}else if (vm.update_info.type == 1) {
+					// 安装包app市场分发
+					
 				}
 
 			},
 			// 下载升级资源包
 			download_wgt() {
 				let vm = this;
-				plus.nativeUI.showWaiting("下载更新文件..."); //下载更新文件...
+				plus.nativeUI.showWaiting("下载更新文件..."); //下载更新文件...
 				// const token = uni.getStorageSync('token');
 				let options = {
 					method: "GET",
@@ -196,7 +216,7 @@
 							vm.update_ing = true;
 							break;
 						case 3: // 已接收到数据  
-							vm.downloadedSize = task.downloadedSize;
+							vm.downloadedSize = task.downloadedSize;
 							console.log(task.downloadedSize);
 							let totalSize = 0;
 							if (task.totalSize) {
@@ -265,6 +285,7 @@
 		flex-direction: column;
 		box-sizing: border-box;
 	}
+
 	/*#endif*/
 
 	.updateBox {

+ 2 - 1
components/uni-popup/uni-popup.vue

@@ -211,7 +211,8 @@
 	@charset "UTF-8";
 
 	.uni-popup {
-		position: fixed;
+		position: fixed;
+		top:0;
 		/* #ifndef APP-NVUE */
 		z-index: 99;
 		/* #endif */

+ 8 - 3
manifest.json

@@ -2,7 +2,7 @@
     "name" : "追踪方法学",
     "appid" : "__UNI__03C4C69",
     "description" : "",
-    "versionName" : "0.6.7",
+    "versionName" : "0.6.8",
     "versionCode" : 100,
     "transformPx" : false,
     "app-plus" : {
@@ -48,8 +48,8 @@
             "sdkConfigs" : {
                 "ad" : {}
             },
-            // 屏幕方向 (屏显示)
-            "orientation" : [ "landscape-primary" ],
+            // 屏幕方向 (屏显示)
+            "orientation" : [ "portrait-primary" ],
             "icons" : {
                 "android" : {
                     "hdpi" : "unpackage/res/icons/72x72.png",
@@ -128,6 +128,11 @@
             "request" : 5000
         },
         "template" : ""
+    },
+    "mp-toutiao" : {
+        "uniStatistics" : {
+            "enable" : true
+        }
     }
 }
 /* 模块配置 *//* 应用发布信息 *//* android打包配置 */

+ 363 - 333
pages/auditItemDetails/auditItemDetails.vue

@@ -1,189 +1,193 @@
-<template>
-	<view class="auditItemDetails">
-		<view class="top-box">
-			<view class="icon-wrap">
-				<image src="../../static/chahexiang-bg.png"></image>
-				<text>查核项</text>
-			</view>
-			<image class="img-tuli" 
-				@click="goLegendDetails(detail.checkItemId)"
-				src="../../static/tuli.png"></image>
-			<view class="title-wrap">
-				<text>{{detail.checkItemName}}</text>
-				<text>{{detail.checkPointName}}</text>
-			</view>
-			<view class="children">
-				<view class="child">
-					<text>{{detail.deptName || '--'}}</text>
-					<text>查核单位</text>
-				</view>
-				<view class="child">
-					<text>{{detail.checkModelName || '--'}}</text>
-					<text>查核方式</text>
-				</view>
-				<view class="child">
-					<text>{{detail.lastResult || '--'}}</text>
-					<text>上次结果</text>
-				</view>
-				<view class="child">
-					<text>{{detail.checkResult || '--'}}</text>
-					<text>本次结果</text>
-				</view>
-			</view>
-		</view>
-		<view class="bottom-box" 
-			v-for="(item, index) in detail.checkResultRequestList"
-			:key="index">
-			<view class="box-item">
-				<view>查核结果</view>
-				<view>{{item.checkResultDescribe}}</view>
-			</view>
-			<view class="box-item">
-				<view>查核时间</view>
-				<view>{{detail.completeTimeStr}}</view>
-			</view>
-			<view class="box-item">
-				<view>图片展示</view>
-				<view class="img-wrap">
-					<image mode="widthFix" 
-						v-for="(img, i) in getArr(item.checkResultUrl)"
-						:key="i"
-						:src="img"></image>
-				</view>
-			</view>
-		</view>
-	
-		<view class="bottomMenuGroup" v-if="ifShowBotBtn">
-			<view class="menuBtn" @click="goToPrevPage">
-				<image class="threeLineMenuIcon" src="/static/threeLineMenu.png" ></image>
-			</view>
-			<view class="prevBtn" @click="switchItem(-1)">上一项</view>
-			<view class="nextBtn" @click="switchItem(1)">下一项</view>
-		</view>
-		<view class="bottomBtn" @click="goToPrevPage" v-if="ifImprover">{{bottomBtnText}}</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * 查核项详情
-	 */
-	import {_goBackFresh} from '../../utils/compatible.js';
-	export default {
-		data() {
-			return {
-				detail: {
-					checkPointName: '',
-					deptName: '',
-					checkModelName: '',
-					lastResult: '',
-					checkResult: '',
-					checkItemName: '',
-					checkResultRequestList: [],
-					checkPointId: ''
-				},
-				ifShowBotBtn:false,
-				itemBelongGroup:[],
-				itemId:'',
-				ifImprover:true,
-				bottomBtnText:'返回改善任务详情'
-			};
-		},
-		onLoad: function ({id, checkPointId}) {
-			const pages = getCurrentPages();
-			const reversedPageList = pages.reverse();
-			if(reversedPageList[1].route=='pages/checkMainPoints/checkMainPoints'){
-				this.bottomBtnText = '返回查核任务列表'
-			}
-			
-			const roleNum = uni.getStorageSync('nowPermission');		
-			if(roleNum==3)this.ifShowBotBtn = true;
-			if(roleNum==3)this.ifImprover = false;
-			this.checkPointId = checkPointId;
-			this.itemId = id;
-			this.loadItemDetail(id);
-			
-			//只有查核展示底部按钮
-			if(roleNum==3){
-				//接收来自上个页面所传过来的数据
-				const eventChannel = this.getOpenerEventChannel();
-				eventChannel.on('acceptDataFromOpenerPage', (data)=>{
-				    // console.log({data});
-					this.itemBelongGroup =data.data[0].responseList.map((item,index)=>{
-						    return({
-								index:index,
-								id:item['id'],
-							})
-					});
-					//重新导航进页面,删除缓存并设置最新数据
-					uni.removeStorageSync('itemBelongGroup');
-				    uni.setStorageSync('itemBelongGroup',this.itemBelongGroup);
-				});
-				//手动刷新页面,获取本地缓存
-				const itemBelongGroup = uni.getStorageSync('itemBelongGroup');
-				this.itemBelongGroup = itemBelongGroup;
-			}
-			
-		},
-		methods: {
-			getArr(value) {
-				return value ? value.split(',') : [];
-			},
-			goLegendDetails(checkItemId) {
-				//跳转到图例详情
-				uni.navigateTo({
-					url: `/pages/legendDetails/legendDetails?checkItemId=${checkItemId}&checkPointId=${this.checkPointId}`
-				});
-			},
-			dispatch(key, data) {
-				return this.$store.dispatch({type: 'checkList/commActions', key, data});
-			},
-			goToPrevPage(){
-				_goBackFresh('pages/checkMainPoints/checkMainPoints');
-				
-			},
-			loadItemDetail(id){
-				this.dispatch('checkTaskDetail', {id}).then((data)=>{
-					if(data) {
-						this.detail = data;
-						this.itemId = id;
-					}
-				});
-			},
-			switchItem(num){
-				let current = this.itemBelongGroup.filter(item=>{
-					  return item.id == this.itemId;
-				});
-				if(num<0){
-					if(current[0].index==0){
-						 uni.showToast({
-						     title: '已经没有上一项',
-						     duration: 2000,
-							 icon:'none'
-						 });
-						 return;
-					}
-				}
-				if(num>0){
-					if(current[0].index==this.itemBelongGroup.length-1){
-						 uni.showToast({
-						     title: '已经没有下一项',
-						     duration: 2000,
-							 icon:'none'
-						 });
-						 return;
-					}
-				}
-				let needItemIndex = num>0?current[0].index+1:current[0].index-1;
-				let needItemId = this.itemBelongGroup[needItemIndex].id;
-				this.loadItemDetail(needItemId);	
-			}
-		}
-	}
-</script>
-
-<style lang="less">
-	.auditItemDetails {
+<template>
+	<view class="auditItemDetails">
+		<view class="top-box">
+			<view class="icon-wrap">
+				<image src="../../static/chahexiang-bg.png"></image>
+				<text>查核项</text>
+			</view>
+			<image class="img-tuli" @click="goLegendDetails(detail.checkItemId)" src="../../static/tuli.png"></image>
+			<view class="title-wrap">
+				<text>{{detail.checkItemName}}</text>
+				<text>{{detail.checkPointName}}</text>
+			</view>
+			<view class="children">
+				<view class="child">
+					<text>{{detail.deptName || '--'}}</text>
+					<text>查核单位</text>
+				</view>
+				<view class="child">
+					<text>{{detail.checkModelName || '--'}}</text>
+					<text>查核方式</text>
+				</view>
+				<view class="child">
+					<text>{{detail.lastResult || '--'}}</text>
+					<text>上次结果</text>
+				</view>
+				<view class="child">
+					<text>{{detail.checkResult || '--'}}</text>
+					<text>本次结果</text>
+				</view>
+			</view>
+		</view>
+		<view class="bottom-box" v-for="(item, index) in detail.checkResultRequestList" :key="index">
+			<view class="box-item">
+				<view>查核结果</view>
+				<view>{{item.checkResultDescribe}}</view>
+			</view>
+			<view class="box-item">
+				<view>查核时间</view>
+				<view>{{detail.completeTimeStr}}</view>
+			</view>
+			<view class="box-item">
+				<view>图片展示</view>
+				<view class="img-wrap">
+					<image mode="widthFix" v-for="(img, i) in getArr(item.checkResultUrl)" :key="i" :src="img"></image>
+				</view>
+			</view>
+		</view>
+
+		<view class="bottomMenuGroup" v-if="ifShowBotBtn">
+			<view class="menuBtn" @click="goToPrevPage">
+				<image class="threeLineMenuIcon" src="/static/threeLineMenu.png"></image>
+			</view>
+			<view class="prevBtn" @click="switchItem(-1)">上一项</view>
+			<view class="nextBtn" @click="switchItem(1)">下一项</view>
+		</view>
+		<view class="bottomBtn" @click="goToPrevPage" v-if="ifImprover">{{bottomBtnText}}</view>
+	</view>
+</template>
+
+<script>
+	/**
+	 * 查核项详情
+	 */
+	import {
+		_goBackFresh
+	} from '../../utils/compatible.js';
+	export default {
+		data() {
+			return {
+				detail: {
+					checkPointName: '',
+					deptName: '',
+					checkModelName: '',
+					lastResult: '',
+					checkResult: '',
+					checkItemName: '',
+					checkResultRequestList: [],
+					checkPointId: ''
+				},
+				ifShowBotBtn: false,
+				itemBelongGroup: [],
+				itemId: '',
+				ifImprover: true,
+				bottomBtnText: '返回改善任务详情'
+			};
+		},
+		onLoad: function({
+			id,
+			checkPointId
+		}) {
+			const pages = getCurrentPages();
+			const reversedPageList = pages.reverse();
+			if (reversedPageList[1].route == 'pages/checkMainPoints/checkMainPoints') {
+				this.bottomBtnText = '返回查核任务列表'
+			}
+
+			const roleNum = uni.getStorageSync('nowPermission');
+			if (roleNum == 3) this.ifShowBotBtn = true;
+			if (roleNum == 3) this.ifImprover = false;
+			this.checkPointId = checkPointId;
+			this.itemId = id;
+			this.loadItemDetail(id);
+
+			//只有查核展示底部按钮
+			if (roleNum == 3) {
+				//接收来自上个页面所传过来的数据
+				const eventChannel = this.getOpenerEventChannel();
+				eventChannel.on('acceptDataFromOpenerPage', (data) => {
+					// console.log({data});
+					this.itemBelongGroup = data.data[0].responseList.map((item, index) => {
+						return ({
+							index: index,
+							id: item['id'],
+						})
+					});
+					//重新导航进页面,删除缓存并设置最新数据
+					uni.removeStorageSync('itemBelongGroup');
+					uni.setStorageSync('itemBelongGroup', this.itemBelongGroup);
+				});
+				//手动刷新页面,获取本地缓存
+				const itemBelongGroup = uni.getStorageSync('itemBelongGroup');
+				this.itemBelongGroup = itemBelongGroup;
+			}
+
+		},
+		methods: {
+			getArr(value) {
+				return value ? value.split(',') : [];
+			},
+			goLegendDetails(checkItemId) {
+				//跳转到图例详情
+				uni.navigateTo({
+					url: `/pages/legendDetails/legendDetails?checkItemId=${checkItemId}&checkPointId=${this.checkPointId}`
+				});
+			},
+			dispatch(key, data) {
+				return this.$store.dispatch({
+					type: 'checkList/commActions',
+					key,
+					data
+				});
+			},
+			goToPrevPage() {
+				_goBackFresh('pages/checkMainPoints/checkMainPoints');
+
+			},
+			loadItemDetail(id) {
+				this.dispatch('checkTaskDetail', {
+					id
+				}).then((data) => {
+					if (data) {
+						this.detail = data;
+						this.itemId = id;
+					}
+				});
+			},
+			switchItem(num) {
+				let current = this.itemBelongGroup.filter(item => {
+					return item.id == this.itemId;
+				});
+				if (num < 0) {
+					if (current[0].index == 0) {
+						uni.showToast({
+							title: '已经没有上一项',
+							duration: 2000,
+							icon: 'none'
+						});
+						return;
+					}
+				}
+				if (num > 0) {
+					if (current[0].index == this.itemBelongGroup.length - 1) {
+						uni.showToast({
+							title: '已经没有下一项',
+							duration: 2000,
+							icon: 'none'
+						});
+						return;
+					}
+				}
+				let needItemIndex = num > 0 ? current[0].index + 1 : current[0].index - 1;
+				let needItemId = this.itemBelongGroup[needItemIndex].id;
+				this.loadItemDetail(needItemId);
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+	.auditItemDetails {
 		.bottomBtn {
 			position: fixed;
 			bottom: 0;
@@ -196,151 +200,177 @@
 			font-weight: 400;
 			color: #FFFFFF;
 			background: #3377FF;
-		}
-		.top-box {
-			position: relative;
-			margin-top: 15rpx;
-			padding-bottom: 37.5rpx;
-			background-color: #fff;
-			.icon-wrap {
-				position: relative;
-				overflow: hidden;
-				width: 125rpx;
-				height: 37.5rpx;
-				image {
-					width: 100%;
-					height: 100%;
-				}
-				text {
-					position: absolute;
-					top: 0;
-					left: 25rpx;
-					font-size: 20rpx;
-					line-height: 37.5rpx;
-					color: #fff;
-				}
-			}
-			.img-tuli {
-				position: absolute;
-				top: 25rpx;
-				right: 25rpx;
-				width: 40rpx;
-				height: 40rpx;
-			}
-			.title-wrap {
-				display: flex;
-				flex-direction: column;
-				padding: 25rpx 31.25rpx;
-				text {
-					font-size: 25rpx;
-					line-height: 37.5rpx;
-					&:last-child {
-						padding-top: 4.37rpx;
-						font-size: 17.5rpx;
-						line-height: 26.25rpx;
-						color: #7A8599;
-					}
-				}
-			}
-			.children {
-				display: flex;
-				flex-direction: row;
-				align-items: center;
-				margin-top: 10.62rpx;
-				.child {
-					display: flex;
-					flex-direction: column;
-					justify-content: center;
-					align-items: center;
-					flex: 1;
-					border-right: 1px solid #DADEE6;
-					text {
-						font-weight: 500;
-						&:last-child {
-							font-size: 17.5rpx;
-							line-height: 26.25rpx;
-							color: #7A8599;
-							font-weight: 400;
-						}
-					}
-					&:last-child {
-						border-right: 0;
-					}
-				}
-			}
-		}
-		.bottom-box {
-			margin-top: 15rpx;
-			padding: 0 25rpx;
-			background-color: #fff;
-			
-			.box-item {
-				display: flex;
-				flex-direction: row;
-				border-bottom: 0.62rpx solid #DADEE6;
-				padding: 26.25rpx 0;
-				&:last-child {
-					border-bottom: 0;
-				}
-				>view {
-					width: 100%;
-					&:first-child {
-						width: 175rpx;
-						white-space: nowrap;
-						color: #525866;
-					}
-					&.img-wrap {
-						display: flex;
-						flex-direction: row;
-						flex-wrap: wrap;
-						
-						image {
-							margin-bottom: 12.5rpx;
-							width: calc(50% - 12.5rpx);
-							&:nth-child(2n) {
-								margin-left: 12.5rpx;
-							}
-						}
-					}
-				}
-			}
-		}
-		.bottomMenuGroup {
-			position: fixed;
-			bottom: 0;
-			width: 100%;
-			height: 75rpx;
-			display: flex;
-			flex-direction: row;
-			background: #FFFFFF;
-			border-top:0.62rpx solid #DADEE6;
-			.menuBtn {
-				display: flex;
-				width: 75rpx;
-				height: 75rpx;
-				justify-content: center;
-				align-items: center;
-				border-right: 0.62rpx solid #DADEE6;
-				.threeLineMenuIcon {
-					width: 26.25rpx;
-					height: 21.25rpx;
-				}
-				
-			}
-			.prevBtn {
-				border-right: 0.62rpx solid #DADEE6;
-			}
-			.prevBtn,.nextBtn {
-				display: flex;
-				flex: 1;
-			    justify-content: center;
-				height:75rpx;
-				line-height:75rpx;
-				font-size: 22.5rpx;
-				font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-				font-weight: 400;
-				color: #3377FF;
-			}
-		}
-	}
+		}
+
+		.top-box {
+			position: relative;
+			margin-top: 15rpx;
+			padding-bottom: 37.5rpx;
+			background-color: #fff;
+
+			.icon-wrap {
+				position: relative;
+				overflow: hidden;
+				width: 125rpx;
+				height: 37.5rpx;
+
+				image {
+					width: 100%;
+					height: 100%;
+				}
+
+				text {
+					position: absolute;
+					top: 0;
+					left: 25rpx;
+					font-size: 20rpx;
+					line-height: 37.5rpx;
+					color: #fff;
+				}
+			}
+
+			.img-tuli {
+				position: absolute;
+				top: 25rpx;
+				right: 25rpx;
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.title-wrap {
+				display: flex;
+				flex-direction: column;
+				padding: 25rpx 31.25rpx;
+				text {
+					font-size: 25rpx;
+					line-height: 37.5rpx;
+                    white-space: nowrap;
+                    text-overflow: ellipsis;
+                    overflow: hidden;
+					&:last-child {
+						padding-top: 4.37rpx;
+						font-size: 17.5rpx;
+						line-height: 26.25rpx;
+						color: #7A8599;
+					}
+				}
+			}
+
+			.children {
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				margin-top: 10.62rpx;
+
+				.child {
+					display: flex;
+					flex-direction: column;
+					justify-content: center;
+					align-items: center;
+					flex: 1;
+					border-right: 1px solid #DADEE6;
+
+					text {
+						font-weight: 500;
+
+						&:last-child {
+							font-size: 17.5rpx;
+							line-height: 26.25rpx;
+							color: #7A8599;
+							font-weight: 400;
+						}
+					}
+
+					&:last-child {
+						border-right: 0;
+					}
+				}
+			}
+		}
+
+		.bottom-box {
+			margin-top: 15rpx;
+			padding: 0 25rpx;
+			background-color: #fff;
+
+			.box-item {
+				display: flex;
+				flex-direction: row;
+				border-bottom: 0.62rpx solid #DADEE6;
+				padding: 26.25rpx 0;
+
+				&:last-child {
+					border-bottom: 0;
+				}
+
+				>view {
+					width: 100%;
+
+					&:first-child {
+						width: 175rpx;
+						white-space: nowrap;
+						color: #525866;
+					}
+
+					&.img-wrap {
+						display: flex;
+						flex-direction: row;
+						flex-wrap: wrap;
+
+						image {
+							margin-bottom: 12.5rpx;
+							width: calc(50% - 12.5rpx);
+
+							&:nth-child(2n) {
+								margin-left: 12.5rpx;
+							}
+						}
+					}
+				}
+			}
+		}
+
+		.bottomMenuGroup {
+			position: fixed;
+			bottom: 0;
+			width: 100%;
+			height: 75rpx;
+			display: flex;
+			flex-direction: row;
+			background: #FFFFFF;
+			border-top: 0.62rpx solid #DADEE6;
+
+			.menuBtn {
+				display: flex;
+				width: 75rpx;
+				height: 75rpx;
+				justify-content: center;
+				align-items: center;
+				border-right: 0.62rpx solid #DADEE6;
+
+				.threeLineMenuIcon {
+					width: 26.25rpx;
+					height: 21.25rpx;
+				}
+
+			}
+
+			.prevBtn {
+				border-right: 0.62rpx solid #DADEE6;
+			}
+
+			.prevBtn,
+			.nextBtn {
+				display: flex;
+				flex: 1;
+				justify-content: center;
+				height: 75rpx;
+				line-height: 75rpx;
+				font-size: 22.5rpx;
+				font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+				font-weight: 400;
+				color: #3377FF;
+			}
+		}
+	}
 </style>

+ 1 - 1
pages/batchDistribution/batchDistribution.vue

@@ -217,7 +217,7 @@
 					"categoryIds":categoryIds
 					
 				}
-				// console.log({data});
+		
 				this.$store.dispatch({
 					type: 'batchDistribution/commActions',
 					key: 'batchCheckEmp',

+ 324 - 234
pages/checkList/checkList.vue

@@ -1,247 +1,337 @@
-<template>
-	<view class="check-map-list-page">
-		<scroll-view scroll-y="true" class="check-map-list">
-			<tm-top-menu>
-				<view class="top-menu"  @click="showModalHandle(!showModal)">
-					<text>{{createTitle}}</text>
-					<image :src="`../../static/${showModal?'open':'close'}-icon.png`"></image>
-				</view>
-			</tm-top-menu>
-			<view class="item"
-				v-for="(item, index) in depList" 
-				@click="gotoCheckMainPointsPage(item)"
-				:key="index">
-				<view class="status" :style="{'background-color':item.color}">{{item.completeDes}}</view>
-				<view class="title-wrap">
-					<text>{{item.deptName}}</text>
-					<view>
-						<image src="../../static/icon-map.png"></image>
-						<text>{{item.deptClassName}}</text>
+<template>
+	<view class="check-map-list-page">
+		<scroll-view scroll-y="true" class="check-map-list">
+			<tm-top-menu>
+				<view class="top-menu" @click="showModalHandle(!showModal)">
+					<text>{{createTitle}}</text>
+					<image :src="`../../static/${showModal?'open':'close'}-icon.png`"></image>
+				</view>
+			</tm-top-menu>
+			<view class="item" v-for="(item, index) in depList" @click="gotoCheckMainPointsPage(item)" :key="index">
+				<view class="title-wrap">
+					<text>{{item.deptName}}</text>
+					<view>
+						<image src="../../static/icon-map.png"></image>
+						<text>{{item.deptClassName}}</text>
 					</view>
-				</view>
-				<view class="content">
-					<text>{{item.decs}}</text>
-					<text>
-						要点概览:{{item.checkPointNames}}
-					</text>
-				</view>
-				<view class="footer">
-					<text>查核人:{{item.empName}}</text>
-					<text v-if="item.startDate && item.endDate">
-						{{item.startDate}}~{{item.endDate}}
-					</text>
-				</view>
-				<view class="icon-wrap" 
-					v-if="Number(item.completeStatus) === 2 || Number(item.completeStatus) === 3">
-					<image :src="`../../static/${Number(item.completeStatus) === 2 ?'hight-bg':'top-img'}.png`"></image>
-					<text>{{item.completeDes}}</text>
-				</view>
-			</view>
-			<tm-no-data v-if="depList.length === 0"
-				:textArr="['暂时没有内容可以展示哦', '请返回上一页面或尝试刷新页面']" />
-			<tm-modal v-show="showModal" v-on:click="showModalHandle(false)">
-				<scroll-view scroll-y="true" class="content-list">
-					<view class="list-item" 
-						v-for="(item, index) in planList"
-						:class="{active: checkId === item.id}" 
-						@click="checkItem($event, item.id)"
-						:key="index">
-						<view>
-							<text>{{item.name}}({{item.startDate}} ~ {{item.endDate}})</text>
-							<view class="item-icon" 
-								:class="{icon2: Number(item.status) === 2}" 
-								v-if="Number(item.status) !== 1">
-								{{Number(item.status) === 2 ? '进行中' : '已完成'}}
-							</view>
-						</view>
-						<image class="check-img" 
-							v-if="checkId === item.id"
-							src="../../static/checkStatus.png"></image>
-					</view>
-				</scroll-view>
-			</tm-modal>
-		</scroll-view>
-		<tm-callback-listpage/>
-	</view>
-</template>
-
+					<view class="scoreAndStatus">
+						<text v-if="item.scoreInfo">{{item.scoreInfo&&((item.scoreInfo.split('/')).map(t=>Number(t).toFixed(1))).join('/')}}</text>
+						<view :class="getStatus(item.completeDes)">{{item.completeDes}}</view>
+					</view>
+				</view>
+				<view class="content">
+					<text>{{item.decs}}</text>
+					<text>
+						要点概览:{{item.checkPointNames}}
+					</text>
+				</view>
+				<view class="footer">
+					<text>查核人:{{item.empName}}</text>
+					<text v-if="item.startDate && item.endDate">
+						{{item.startDate}}~{{item.endDate}}
+					</text>
+				</view>
+				<view class="icon-wrap" v-if="Number(item.completeStatus) === 2 || Number(item.completeStatus) === 3">
+					<image :src="`../../static/${Number(item.completeStatus) === 2 ?'hight-bg':'top-img'}.png`"></image>
+					<text>{{item.completeDes}}</text>
+				</view>
+			</view>
+			<tm-no-data v-if="depList.length === 0" :textArr="['暂时没有内容可以展示哦', '请返回上一页面或尝试刷新页面']" />
+			<tm-modal v-show="showModal" v-on:click="showModalHandle(false)">
+				<scroll-view scroll-y="true" class="content-list">
+					<view class="list-item" v-for="(item, index) in planList" :class="{active: checkId === item.id}"
+						@click="checkItem($event, item.id)" :key="index">
+						<view>
+							<text>{{item.name}}({{item.startDate}} ~ {{item.endDate}})</text>
+							<view class="item-icon" :class="{icon2: Number(item.status) === 2}"
+								v-if="Number(item.status) !== 1">
+								{{Number(item.status) === 2 ? '进行中' : '已完成'}}
+							</view>
+						</view>
+						<image class="check-img" v-if="checkId === item.id" src="../../static/checkStatus.png"></image>
+					</view>
+				</scroll-view>
+			</tm-modal>
+		</scroll-view>
+		<tm-callback-listpage />
+	</view>
+</template>
+
 <script>
-	import {_stopPropagation} from "../../utils/compatible.js";
-	
-	export default {
-		data() {
-			return {
-				showModal: false,
-				planList: [],
-				checkId: '',
-				depList: []
-			};
-		},
+	import {
+		mapState
+	} from 'vuex';
+	import {
+		_stopPropagation
+	} from "../../utils/compatible.js";
+
+	export default {
+		data() {
+			return {
+				showModal: false,
+				planList: [],
+				checkId: '',
+				depList: []
+			};
+		},
 		computed: {
-			createTitle: function() {
-				let item = this.planList.find((item)=> item.id === this.checkId);
-				if(item) {
-					let name = item.name;
-					return name.slice(0, name.length - 3) + `/${this.planList.length}` + name.slice(-3);
-				} else {
-					return '';
-				}
-			}
+			...mapState({
+				ifReloadPageData:state=>{
+					return state.checkList.ifReloadPageData
+				},
+			}),
+			createTitle: function() {
+				let item = this.planList.find((item) => item.id === this.checkId);
+				if (item) {
+					let name = item.name;
+					return name.slice(0, name.length - 3) + `/${this.planList.length}` + name.slice(-3);
+				} else {
+					return '';
+				}
+			}
 		},
-		onLoad: function ({situationId,situationType}) {
+		watch:{
+			/**
+			 * @param {Boolen} newVal
+			 */
+			 ifReloadPageData:function(newVal){
+				 if(newVal){
+					 this.getPageList();
+				 }
+			 }
+		},
+		onLoad: function({
+			situationId,
+			situationType
+		}) {
 			this.situationType = situationType;
-			this.dispatch('planList', {situationId}).then((data)=>{
-				if(data&&data.length>0) {
-					this.planList = data;
-					let checkArr = data.filter((item)=> Number(item.status)=== 2).sort((a,b)=>a.createTime - b.createTime);
-					this.checkId = checkArr ? checkArr[checkArr.length - 1].id 
-						: data.length > 0 ? data[0].id : '';
-					this.getDepList();
-				}
+			this.situationId = situationId;
+			this.getPageList();
+		},
+		onHide(){
+			this.$store.commit('checkList/comChangeState', {
+				key: 'ifReloadPageData',
+				data: false
 			});
 		},
+		onUnload() {
+			this.$store.commit('checkList/comChangeState', {
+				key: 'ifReloadPageData',
+				data: false
+			});
+		},
 		methods: {
-			checkItem: function(e, id) {
-				_stopPropagation(e);
-				if(this.checkId === id) return;
-				this.checkId = id;
-				this.getDepList();
-			},
-			getDepList: function() {
-				this.dispatch('depList', {checkId: this.checkId,situationType:this.situationType}).then((data)=>{
-					if(data) {
-						this.depList = data.sort((a,b)=> {
-							if(a.sort && b.sort) return a.sort - b.sort;
-						});
-						this.showModalHandle(false);
+			getPageList:function(){
+				this.dispatch('planList', {
+					situationId:this.situationId
+				}).then((data) => {
+					if (data && data.length > 0) {
+						this.planList = data;
+						let checkArr = data.filter((item) => Number(item.status) === 2).sort((a, b) => a
+							.createTime - b.createTime);
+						this.checkId = checkArr ? checkArr[checkArr.length - 1].id :
+							data.length > 0 ? data[0].id : '';
+						this.getDepList();
 					}
 				});
 			},
-			showModalHandle: function(showModal) {
-				this.showModal = showModal;
-			},
-			gotoCheckMainPointsPage({checkId, deptId,finishedStatus}) {
-				//跳转到查核要点
-				uni.navigateTo({
-					url: `/pages/checkMainPoints/checkMainPoints?checkId=${checkId}&deptId=${deptId}&finishedStatus=${finishedStatus}&situationType=${this.situationType}`
-				});
-			},
-			dispatch: function(key, data) {
-				return this.$store.dispatch({type: 'checkList/commActions', key, data});
-			},
-		}
-	}
-</script>
-
-<style lang="less">
-	.check-map-list-page {
-		position: relative;
-		height: 100%;
-	}
-	.check-map-list {
-		padding: 25rpx;
-		padding-top: 75rpx;
-		height: 100%;
-		.top-menu {
-			overflow: hidden;
-			display: flex;
-			flex-direction: row;
-			justify-content: center;
-			align-items: center;
-			height: 50rpx;
-			image {
-				margin-left: 9.37rpx;
-				width: 12.5rpx;
-				height: 12.5rpx;
-			}
-		}
-		.item {
-			position: relative;
-			.status {
-				position: absolute;
-				width: 100rpx;
-				height: 35rpx;
-				top:0;
-				right: 0;
-				text-align: center;
-				font-size: 17.5rpx;
-				font-family: SourceHanSansCN-Medium, SourceHanSansCN;
-				font-weight: 500;
-				color: #FFFFFF;
-				border-radius: 0px 5rpx 0px 28.12rpx;
-			}
-		}
-		.icon-wrap {
-			position: absolute;
-			top: 0;
-			right: 0;
-			width: 100rpx;
-			height: 35rpx;
-			image {
-				width: 100%;
-				height: 100%;
-			}
-			text {
-				position: absolute;
-				left: 28.75rpx;
-				line-height: 35rpx;
-				font-size: 17.5rpx;
-				color: #fff;
-			}
-		}
-		.footer {
-			display: flex;
-			flex-direction: row;
-			justify-content: space-between;
-			align-items: center;
-			margin: 0 25rpx 16.87rpx;
-			border-top: 1px solid #DADEE6;
-			padding-top: 16.25rpx;
-			font-size: 17.5rpx;
-			line-height: 26.25rpx;
-			color: #666E80;
-		}
-	}
-	.content-list {
-		padding-top: 50rpx;
-		width: 100%;
-		height: 100%;
-		background-color: #fff;
-		.list-item {
-			display: flex;
-			flex-direction: row;
-			justify-content: space-between;
-			align-items: center;
-			border-bottom: 1px solid #DADEE6;
-			padding: 0 25rpx;
-			width: 100%;
-			height: 87.5rpx;
-			font-size: 22.5rpx;
-			line-height: 33.75rpx;
-			color: #292C33;
-			.check-img {
-				float: right;
-				width: 19.37rpx;
-				height: 14.37rpx;
-			}
-			>view {
-				display: flex;
-				flex-direction: row;
-				.item-icon {
-					border-radius: 5rpx;
-					padding: 6.25rpx 11.25rpx;
-					line-height: 26.25rpx;
-					color: #29CC96;
-					background-color: #e9f9f4;
-					&.icon2 {
-						color: #FFAA00;
-						background-color: #fff9ef;
-					}
+			/**
+			 * @str string [noStart,checking,completed]
+			 */
+			getStatus:function(str){  //设置状态颜色
+			    switch(str){
+					 case '未分配':
+					      return 'status noStart'
+					 	 break;
+					 case '进行中':
+					      return 'status checking'
+					 	 break;
+					 case '已完成':
+					      return 'status completed'
+					 	 break;	
 				}
-			}
-			&.active {
-				color: #3377FF;
-			}
-		}
-	}
+			},
+			checkItem: function(e, id) {
+				_stopPropagation(e);
+				if (this.checkId === id) return;
+				this.checkId = id;
+				this.getDepList();
+			},
+			getDepList: function() {
+				this.dispatch('depList', {
+					checkId: this.checkId,
+					situationType: this.situationType
+				}).then((data) => {
+					if (data) {
+						this.depList = data.sort((a, b) => {
+							if (a.sort && b.sort) return a.sort - b.sort;
+						});
+						this.showModalHandle(false);
+					}
+				});
+			},
+			showModalHandle: function(showModal) {
+				this.showModal = showModal;
+			},
+			gotoCheckMainPointsPage({
+				checkId,
+				deptId,
+				finishedStatus
+			}) {
+				//跳转到查核要点
+				uni.navigateTo({
+					url: `/pages/checkMainPoints/checkMainPoints?checkId=${checkId}&deptId=${deptId}&finishedStatus=${finishedStatus}&situationType=${this.situationType}`
+				});
+			},
+			dispatch: function(key, data) {
+				return this.$store.dispatch({
+					type: 'checkList/commActions',
+					key,
+					data
+				});
+			},
+		}
+	}
+</script>
+
+<style lang="less">
+	.check-map-list-page {
+		position: relative;
+		height: 100%;
+	}
+
+	.check-map-list {
+		padding: 25rpx;
+		padding-top: 75rpx;
+		height: 100%;
+
+		.top-menu {
+			overflow: hidden;
+			display: flex;
+			flex-direction: row;
+			justify-content: center;
+			align-items: center;
+			height: 50rpx;
+
+			image {
+				margin-left: 9.37rpx;
+				width: 12.5rpx;
+				height: 12.5rpx;
+			}
+		}
+
+		.item {
+			position: relative;
+
+			.title-wrap {
+				.scoreAndStatus {
+					 position: absolute;
+					 right:20rpx;
+					 .status {
+					 	display: flex;
+					 	justify-content: center;
+					 	width: 150rpx;
+					 	height: 35rpx;
+					 	font-size: 17.5rpx;
+					 	font-family: SourceHanSansCN-Medium, SourceHanSansCN;
+					 	font-weight: 500;
+					 	color: #FFFFFF;
+					 	border-radius: 20rpx;
+						&.noStart {
+							background-color:#eee;
+						}
+						&.checking {
+							background-color:#FFCC66;
+						}
+						&.completed {
+							background-color:#29CC96;
+						}
+					 }
+				}
+			}
+		}
+
+		.icon-wrap {
+			position: absolute;
+			top: 0;
+			right: 0;
+			width: 100rpx;
+			height: 35rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+
+			text {
+				position: absolute;
+				left: 28.75rpx;
+				line-height: 35rpx;
+				font-size: 17.5rpx;
+				color: #fff;
+			}
+		}
+
+		.footer {
+			display: flex;
+			flex-direction: row;
+			justify-content: space-between;
+			align-items: center;
+			margin: 0 25rpx 16.87rpx;
+			border-top: 1px solid #DADEE6;
+			padding-top: 16.25rpx;
+			font-size: 17.5rpx;
+			line-height: 26.25rpx;
+			color: #666E80;
+		}
+	}
+
+	.content-list {
+		padding-top: 50rpx;
+		width: 100%;
+		height: 100%;
+		background-color: #fff;
+
+		.list-item {
+			display: flex;
+			flex-direction: row;
+			justify-content: space-between;
+			align-items: center;
+			border-bottom: 1px solid #DADEE6;
+			padding: 0 25rpx;
+			width: 100%;
+			height: 87.5rpx;
+			font-size: 22.5rpx;
+			line-height: 33.75rpx;
+			color: #292C33;
+
+			.check-img {
+				float: right;
+				width: 19.37rpx;
+				height: 14.37rpx;
+			}
+
+			>view {
+				display: flex;
+				flex-direction: row;
+
+				.item-icon {
+					border-radius: 5rpx;
+					padding: 6.25rpx 11.25rpx;
+					line-height: 26.25rpx;
+					color: #29CC96;
+					background-color: #e9f9f4;
+
+					&.icon2 {
+						color: #FFAA00;
+						background-color: #fff9ef;
+					}
+				}
+			}
+
+			&.active {
+				color: #3377FF;
+			}
+		}
+	}
 </style>

+ 1 - 0
pages/checkList/model.js

@@ -3,6 +3,7 @@ import { commServer } from './server.js';
 export default {
   namespaced: true,
   state: {
+	ifReloadPageData:false, //是否刷新
   },
   mutations: {
 		comChangeState(state, {key, data}) {

+ 157 - 80
pages/checkMainPoints/checkMainPoints.vue

@@ -25,17 +25,6 @@
 						<image @click="openFilter" class="filterBtn" src="../../static/filterIcon.png" mode="">
 						</image>
 					</view>
-					<!-- <view class="top-btn-wrap">
-						<view class="btn-list" v-if="nowPermission == 3">
-							<com-button v-for="(item, index) in btnArr" :btnText="item.label"
-								:type="active === item.id ? 'pramary':'default'" v-on:btnClick="btnClick(item.id)" />
-						</view>
-						<view class="select-wrap" v-else-if="nowPermission == 2 || nowPermission == 1"
-							@click="toggleModal(!showModal)">
-							<text>{{getCheckPointName}}</text>
-							<image :src="`../../static/${showModal?'open':'close'}-icon.png`"></image>
-						</view>
-					</view> -->
 				</view>
 			</template>
 			<!-- 查核分页模式下// -->
@@ -69,7 +58,7 @@
 				</view>
 			</template>
 			<!-- 只有当查核者进入才展示 -->
-			<view class="rowTwo" v-if="nowPermission == 3" :animation="animationData">
+			<view class="rowTwo" v-if="nowPermission == 3||nowPermission == 1" :animation="animationData">
 				<text class="rowTwoName">查核状态</text>
 				<view class="filterBtnWrap">
 					<com-button v-for="(item, index) in btnArr" :btnText="item.label" :width="350" :height="80"
@@ -139,7 +128,7 @@
 		</view>
 		<tm-callback-listpage />
 		<view class="bottomBtnGroup" v-if="!ifSearchMod">
-			<view class="score">
+			<view v-if="!subtotalScore&&subtotalScore != 0" class="score">
 				<view class="box">
 					<text class="label">得分</text>
 					<text class="currentScore">{{currentScore}}</text>
@@ -150,10 +139,33 @@
 					<text class="totalScore">{{totalScore}}</text>
 				</view>
 			</view>
+			<view v-if="subtotalScore != null&&subtotalScore>=0" class="score scoreTypeTwo">
+				<view class="box">
+					<view class="rowOne">
+						<text class="currentScore">{{currentScore}}</text>
+						<text class="subLabel">得分</text>
+					</view>
+					<view class="rowTwo">
+						<text class="label">总分:</text>
+						<text class="currentScore">{{totalScore}}</text>
+					</view>
+				</view>
+				<view class="midLine"></view>
+				<view class="box">
+					<view class="rowOne">
+						<text class="currentScore xiaoji">{{subtotalScore}}</text>
+						<text class="subLabel">小计</text>
+					</view>
+					<view class="rowTwo">
+						<text class="label">总分:</text>
+						<text class="currentScore">{{totalSubtotalScore}}</text>
+					</view>
+				</view>
+			</view>
 			<view v-if="detailList.length>0&&active != 2&&finishedStatus != 1" @click="onkeyCheckHandle"
-				class="botOneKeyCheck">完成</view>
+				:class="[subtotalScore != null&&subtotalScore>=0?'botOneKeyCheck typeTwo':'botOneKeyCheck']">完成</view>
 		</view>
-		<!-- <view v-if="detailList.length>0&&active != 2&&finishedStatus != 1" @click="onkeyCheckHandle" class="botOneKeyCheck">完成</view> -->
+
 	</view>
 </template>
 
@@ -199,6 +211,8 @@
 				finishedStatus: 0, //所有计划里的查核项是否都以完成
 				totalScore: 0,
 				currentScore: 0,
+				subtotalScore: 0, //小计得分
+				totalSubtotalScore: 0, //小计总分
 				animationData: {}, //动画对象
 				ifOpenFilter: false,
 				searchKey: '', //搜索关键字
@@ -212,8 +226,8 @@
 		computed: {
 			...mapState({
 				investigationUsers: state => state.checkMainPoints.investigationUsers,
-				currentSelectedInvestigationUser: state => state.checkMainPoints.currentSelectedInvestigationUser,
-				ifUpdate:state => state.checkMainPoints.ifUpdate,
+				currentSelectedInvestigationUser: state => state.checkMainPoints.currentSelectedInvestigationUser,
+				ifReloadPageData: state => state.checkMainPoints.ifReloadPageData,
 			}),
 			getCheckPointName() {
 				let item = this.point.find((item) => item.checkPointId === this.checkPointId);
@@ -235,8 +249,20 @@
 						this.loadItemData();
 					}
 				}
+			},
+			ifReloadPageData(newVal){
+				if(newVal){
+					  this.loadItemData();
+				}
 			}
 		},
+		onBackPress() {
+			this.$store.commit('checkList/comChangeState', { //刷新前一页数据
+				key: 'ifReloadPageData',
+				data: true
+			});
+			// return true;
+		},
 		onLoad: function({
 			checkId,
 			deptId,
@@ -258,7 +284,7 @@
 			}
 		},
 		onShow: function() {
-			if (this.ifUpdate) {
+			if (this.ifReloadPageData) {
 				//页面重新拉取数据
 				this.loadItemData();
 			}
@@ -270,55 +296,67 @@
 
 			this.animation = animation;
 
-		},
-		onUnload() {
-			this.$store.commit('checkMainPoints/comChangeState',{key:'ifUpdate',data:false});
+		},
+		onUnload() {
+			this.$store.commit('checkMainPoints/comChangeState', {
+				key: 'ifReloadPageData',
+				data: false
+			});
 		},
 		methods: {
-			//绑定当事人
-			/**
-			 * @param {Boolean} bool true直接执行设置当事人,忽略本地以缓存的deptTd 
+			//绑定当事人
+			/**
+			 * @param {Boolean} bool true直接执行设置当事人,忽略本地以缓存的deptTd 
 			 */
-			toBindPeople(bool) {
-				if(this.isBindResponsible&&bool){
-					uni.showToast({
-						icon:'none',
-					    title: '已绑定过当事人!',
-					    duration: 2000
-					});
-					return;
-				};
-				
-				let notNowBindPeopledeptIds = uni.getStorageSync('notNowBindPeopledeptIds');
-				if(!notNowBindPeopledeptIds){
-					notNowBindPeopledeptIds = []
-				}else {
-					notNowBindPeopledeptIds = JSON.parse(notNowBindPeopledeptIds);
-				}
-				
-				if (!notNowBindPeopledeptIds.includes(this.deptId)||bool) {
-                        const nowPermission = JSON.parse(uni.getStorageSync('nowPermission'));
-                        if (!this.isBindResponsible && this.checkDetailMapResponses.length > 0 && nowPermission == 3) {
-                        	//当未绑定当事人状态为false,可查核项大于0且当前角色是查核组员时
-                        	//只有从查核列表进来才提示
-                        	uni.showModal({
-                        		title: '提示',
-                        		content: '目前未批量分配当事人,是否前往选择?',
-                        		confirmText: '前往设置',
-                        		cancelText: '暂不设置',
-                        		success: (res) => {
-                        			if (res.confirm) {
-                        				uni.navigateTo({
-                        					url: `/pages/responsibleList/responsibleList?deptId=${this.deptId}&isFromCheckMainPoints=true`,
-                        				});
-                        			} else if (res.cancel) {
-                        			     //将当前病区保存,之后不在提示
-										  notNowBindPeopledeptIds.push(this.deptId);
-										  uni.setStorageSync('notNowBindPeopledeptIds',JSON.stringify(notNowBindPeopledeptIds));
-                        			}
-                        		}
-                        	});
-                        }
+			toBindPeople(bool) {
+				if (this.isBindResponsible && bool) {
+					uni.showToast({
+						icon: 'none',
+						title: '已绑定过当事人!',
+						duration: 2000
+					});
+					return;
+				};
+
+				let notNowBindPeopledeptIds = uni.getStorageSync('notNowBindPeopledeptIds');
+				if (!notNowBindPeopledeptIds) {
+					notNowBindPeopledeptIds = []
+				} else {
+					notNowBindPeopledeptIds = JSON.parse(notNowBindPeopledeptIds);
+				}
+ 
+				if (!notNowBindPeopledeptIds.includes(this.deptId) || bool) {
+					const nowPermission = JSON.parse(uni.getStorageSync('nowPermission'));
+					// console.log(!this.isBindResponsible,this.checkDetailMapResponses.length,nowPermission)
+					if (!this.isBindResponsible && this.checkDetailMapResponses.length > 0 && nowPermission == 3) {
+						//当未绑定当事人状态为false,可查核项大于0且当前角色是查核组员时
+						//只有从查核列表进来才提示
+						uni.showModal({
+							title: '提示',
+							content: '目前未批量分配当事人,是否前往选择?',
+							confirmText: '前往设置',
+							cancelText: '暂不设置',
+							success: (res) => {
+								if (res.confirm) {
+									uni.navigateTo({
+										url: `/pages/responsibleList/responsibleList?deptId=${this.deptId}&isFromCheckMainPoints=true`,
+									});
+								} else if (res.cancel) {
+									//将当前病区保存,之后不在提示
+									notNowBindPeopledeptIds.push(this.deptId);
+									uni.setStorageSync('notNowBindPeopledeptIds', JSON.stringify(
+										notNowBindPeopledeptIds));
+								}
+							}
+						});
+					}else{
+						uni.showModal({
+							title: '提示',
+							content: '你目前无法批量分配当事人',
+							confirmText: '确定',
+					        showCancel:false
+						});
+					}
 				}
 			},
 			loadItemData() {
@@ -367,7 +405,8 @@
 					});
 				});
 			},
-			toSearch() {
+			toSearch() {
+				console.log('toSearch')
 				this.ifSearchMod = true;
 				this.detailList = [];
 			},
@@ -486,7 +525,7 @@
 					deptId,
 					situationType,
 				}
-	
+
 				//增加受访人
 				if (situationType == 2) params['investigationUser'] = investigationUserName;
 
@@ -500,11 +539,13 @@
 							key: 'detailList',
 							data: data.checkDetailMapResponses
 						});
-                        this.isBindResponsible = data.isBindResponsible;
+						this.isBindResponsible = data.isBindResponsible;
 						this.detailList = data.checkDetailMapResponses;
 						this.copyDetailList = data.checkDetailMapResponses;
 						this.currentScore = data.getScore;
-						this.totalScore = data.totalScore;
+						this.totalScore = data.totalScore;
+						this.subtotalScore = data.subtotalScore;
+						this.totalSubtotalScore = data.totalSubtotalScore;
 						this.checkDetailMapResponses = data.checkDetailMapResponses;
 						data.checkDetailMapResponses.map(({
 							checkPointId,
@@ -514,10 +555,10 @@
 								checkPointId,
 								checkPointName
 							});
-						});
-						//检查是否需要弹绑定当事人弹窗
+						});
+						//检查是否需要弹绑定当事人弹窗
 						this.toBindPeople();
-                        
+
 						//页面获取完数据时,保持筛选
 						this.filterCompleteFlag(this.active);
 					}
@@ -731,6 +772,10 @@
 						font-size: 30rpx;
 						font-weight: bold;
 						color: #3377FF;
+
+						&.xiaoji {
+							color: #19BE6B;
+						}
 					}
 
 					.totalScore {
@@ -744,18 +789,49 @@
 					height: 17.5rpx;
 					border-left: 0.62rpx solid #DADEE6;
 				}
+
+				&.scoreTypeTwo {
+					height: 100rpx;
+
+					.box {
+						.rowOne {
+							.subLabel {
+								font-size: 10rpx;
+								color: #82848A;
+								margin-left: 10rpx;
+							}
+						}
+
+						.rowTwo {
+							.currentScore {
+								font-size: 20rpx;
+								font-weight: bold;
+								color: #666E80;
+							}
+						}
+					}
+
+					.midLine {
+						height: 25rpx;
+					}
+				}
 			}
 
 			.botOneKeyCheck {
-				text-align: center;
-				height: 75rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				height: 100%;
 				flex-grow: 1;
-				line-height: 75rpx;
 				font-size: 22.5rpx;
 				font-family: SourceHanSansCN-Normal, SourceHanSansCN;
 				font-weight: 400;
 				color: #FFFFFF;
 				background: #3377FF;
+
+				&.typeTwo {
+					font-size: 32.5rpx;
+				}
 			}
 		}
 
@@ -1084,18 +1160,19 @@
 						flex: 1;
 						border-right: 1px solid #DADEE6;
 
-						text {
-							width:150rpx;
-							font-weight: 500;
+						text {
+							width: 150rpx;
+							font-weight: 500;
 							text-align: center;
-                            overflow: hidden;
-							text-overflow: ellipsis;
+							overflow: hidden;
+							text-overflow: ellipsis;
 							white-space: nowrap;
+
 							&:last-child {
 								font-size: 17.5rpx;
 								line-height: 26.25rpx;
 								color: #7A8599;
-								text-align: center;
+								text-align: center;
 								font-weight: 400;
 							}
 						}

+ 1 - 1
pages/checkMainPoints/model.js

@@ -6,7 +6,7 @@ export default {
      // 查核列表
      checkList: [],
 	 detailList:[],//查核项集合
-	 ifUpdate:false,
+	 ifReloadPageData:false, //刷新当前页数据
 	 investigationUsers:[],//受访者集合
 	 currentSelectedInvestigationUser:{
 		 investigationUserName:'',

+ 2 - 2
pages/creatingSituations/components/checkMapDetail.vue

@@ -119,9 +119,9 @@
 	}
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 	.check-map-detail {
-		padding-bottom: 75rpx;
+		// padding-bottom: 75rpx;
 		width: 100%;
 		height: 100%;
 		.item {

+ 1 - 1
pages/creatingSituations/components/checkRent.vue

@@ -14,7 +14,7 @@
 					<view class="info">
 						<view class="text">
 							<view>{{item.name}}</view>
-							<view>组长:{{item.groupManagerNames}}</view>
+							<view>组长:{{item.groupManagerName}}</view>
 						</view>
 						<view class="icon" @click="checkedHandle($event, item)">
 							<image :src="`../../static/check-${checkRent.checkedItem.id === item.id ? 'radio' : 'no'}.png`"></image>

+ 17 - 16
pages/creatingSituations/components/situationPreview.vue

@@ -1,11 +1,5 @@
 <template>
 	<view class="situation-preview">
-		<uni-popup ref="popup" type="bottom" :maskClick="true" @change="onMaskChange">
-			<tm-radio-group :list="situationTypeList" :defaultValue='situationPreview.situationType' :setting="{
-			  value: 'situationType',
-			  name: 'situationTypeName'
-			}" :openkeys="[0]" @change="situationTypeChanged" />
-		</uni-popup>
 		<view class="title">情境预览</view>
 		<view class="box1">
 			<view class="row1">
@@ -76,6 +70,12 @@
 					:src="`/static/${situationPreview.showNotApplicable == 0 ? 'check-checkbox' : 'check-no'}.png`">
 				</image>
 			</view>
+			<view class="setIfShowNotApplicable" @click="setIfCountNum">
+				<text>是否统计小计</text>
+				<image class="icon"
+					:src="`/static/${situationPreview.showCountNum == 1 ? 'check-checkbox' : 'check-no'}.png`">
+				</image>
+			</view>
 		</view>
 	</view>
 </template>
@@ -92,8 +92,11 @@
 				situationTypeList:state => state.creatingSituations.situationTypeList
 			}),
 			situationTypeName(){
-				const temp  = this.situationTypeList.filter(item=>item.situationType == this.situationPreview.situationType);
-				return temp[0].situationTypeName;
+				if(this.situationTypeList.length>0&&this.situationPreview){
+					  const temp  = this.situationTypeList.filter(item=>item.situationType == this.situationPreview.situationType);
+					  return temp.length>0?temp[0].situationTypeName:null;
+				}
+				return null;
 			},
 			list: function() {
 				const { conditionIds, options } = this.condition;
@@ -104,15 +107,9 @@
 		},
 		methods: {
 			...mapMutations(['comChangeState']),
-			situationTypeChanged(type,name){
-				// console.log({type,name});
-                this.$store.commit('creatingSituations/comChangeState',{key:'situationPreview',data:{...this.situationPreview,situationType:type}});
-			},
 			selectSituationType(){
-				this.$refs.popup.open();
-			},
-			onMaskChange(){
-				
+				// this.$refs.popup.open();
+				this.$store.commit('creatingSituations/comChangeState',{key:'showSelectableSituationTypeList',data:true});
 			},
 			loopOptions: function(arr, conditionIds, list) {
 				arr.map((item)=>{
@@ -132,6 +129,10 @@
 			setIfShowNotApplicable(){
 				const showNotApplicable = this.situationPreview.showNotApplicable;
 				this.$store.commit('creatingSituations/comChangeState',{key:'situationPreview',data:{...this.situationPreview,showNotApplicable:showNotApplicable?0:1}});
+			},
+			setIfCountNum(){
+				const showCountNum = this.situationPreview.showCountNum;
+				this.$store.commit('creatingSituations/comChangeState',{key:'situationPreview',data:{...this.situationPreview,showCountNum:showCountNum?0:1}});
 			}
 		}
 	}

+ 5 - 2
pages/creatingSituations/components/utils.js

@@ -161,12 +161,15 @@ export const editCheckPlan = ({planConfig, planList}) =>{
 	}
 }
 // 预览数据
-export const editSituationPreview = ({name, remindPlanDay,remindPlanHour,remindCheckDay}) => {
+export const editSituationPreview = ({name, remindPlanDay,remindPlanHour,remindCheckDay,situationType,subtotal,showNotApplicable}) => {
 	return {
 		sitName: name,
 		preDay: remindPlanDay,
 		preH: remindPlanHour,
-		startDay: remindCheckDay
+		startDay: remindCheckDay,
+		situationType:situationType,
+		subtotal:subtotal,
+		showNotApplicable:showNotApplicable
 	}
 } 
 // 判断两个数组全等

+ 37 - 1
pages/creatingSituations/creatingSituations.vue

@@ -1,5 +1,11 @@
 <template>
 	<view class="creatingSituations">
+		<uni-popup ref="popup" type="bottom" :maskClick="true" @change="popupChangehandle">
+			<tm-radio-group :list="situationTypeList" :defaultValue='situationPreview.situationType' :setting="{
+			  value: 'situationType',
+			  name: 'situationTypeName'
+			}" :openkeys="[0]" @change="situationTypeChanged" />
+		</uni-popup>
 		<check-map-detail v-if="showCheckMapDetail"></check-map-detail>
 		<view v-else class="page-wrap" 
 			:style="{paddingBottom: stepActive !== 0 ? '75rpx' : 0}">
@@ -78,7 +84,13 @@
 				checkMap: state => state.creatingSituations.checkMap,
 				checkPlan: state => state.creatingSituations.checkPlan,
 				situationPreview: state => state.creatingSituations.situationPreview,
+				situationTypeList:state => state.creatingSituations.situationTypeList,
+				showSelectableSituationTypeList:state => state.creatingSituations.showSelectableSituationTypeList,
 			}),
+			situationTypeName(){
+				const temp  = this.situationTypeList.filter(item=>item.situationType == this.situationPreview.situationType);
+				return temp[0].situationTypeName;
+			},
 			botmBtnGroup: function() {
 				if(this.stepActive === 4) {
 					if(this.showCheckPlan1) {
@@ -97,6 +109,19 @@
 				return data.length === 0;
 			}
 		},
+		watch:{
+			/**
+			 * @param {Boolen} newVal
+			 * @param {Boolen} oldVal
+			 */
+			showSelectableSituationTypeList:function(newVal, oldVal){
+				if(newVal){
+					this.$refs.popup.open();
+				}else{
+					this.$refs.popup.close();
+				}
+			}
+		},
 		onLoad:function({id,type}){
 			this.saveType = type ? type : 'POST';
 			this.dispatch('getSituationTypes').then(res=>{
@@ -126,6 +151,7 @@
 								checkPlan,
 								situationPreview
 							};
+							console.log({editConfig});
 						} else { // 复制创建
 							this.myCommit('condition', condition); // 条件
 							editConfig = {
@@ -141,8 +167,13 @@
 			}
 		},
 		methods: {
+			situationTypeChanged(type,name){
+				// console.log({type,name});
+			    this.$store.commit('creatingSituations/comChangeState',{key:'situationPreview',data:{...this.situationPreview,situationType:type}});
+				// this.$store.commit('creatingSituations/comChangeState',{key:'showSelectableSituationTypeList',data:false});
+			},
 			save: function() {
-				const {sitName,preDay,preH,startDay, description,situationType,showNotApplicable} = this.situationPreview;
+				const {sitName,preDay,preH,startDay, description,situationType,showNotApplicable,showCountNum} = this.situationPreview;
 				const {dateObj,checkedItem,checkList} = this.checkPlan;
 				const {depType, options, conditionIds} = this.condition;
 
@@ -197,6 +228,7 @@
 					remindCheckDay: startDay,
 					depType,
 					showNotApplicable:showNotApplicable,
+					subtotal:showCountNum,
 					situationType:situationType,
 					filterCondition: optionsHandle(options, conditionIds),
 					checkGroup: checkGroup(this.checkRent),
@@ -320,6 +352,10 @@
 				checkPlanList[5].model = null;
 				this.$store.commit({type: 'creatingSituations/setInit'});
 			},
+			popupChangehandle:function(data){
+				const {show} = data;
+				this.$store.commit('creatingSituations/comChangeState',{key:'showSelectableSituationTypeList',data:show});
+			},
 		},
 		destroyed() {
 			this.clearData();

+ 2 - 0
pages/creatingSituations/model.js

@@ -8,6 +8,7 @@ const initState = {
 	showCheckPlan1: true,
 	needReload: true, // 切换页面是否需要获取新数据
 	stepActive: 0, // 步骤进度
+	showSelectableSituationTypeList:false, //是否打开类型选择弹窗
 	theme: {id: null, title: null, des: null}, // 主题选中数据(id: 0个案 1系统)
 	condition: { // 条件页面数据
 		options: [], // 树形节点数据
@@ -41,6 +42,7 @@ const initState = {
 		startDay: null,
 		situationType:1,
 		showNotApplicable:0, //情境是否需要展示不适用快捷按钮 0 展示 1不展示
+		showCountNum:0,//查核组员查核列表是否统计小计
 	},
 	situationTypeList:[],//情境类型列表
 	editConfig: null // 编辑时候的原始数据

+ 164 - 159
pages/editCheckList/editCheckList.vue

@@ -2,19 +2,20 @@
 	<view class="check-map-list">
 		<scroll-view :class="[ifAllPlanListHasDistribution==true?'scroll-y noBottom':'scroll-y']" scroll-y="true" v-if="checkList.length > 0">
 			<view class="item" v-for="(item, index) in checkList" :key="index">
-				<view v-if="multiple != 'true'&&ifStartCheck(item.startDate)&&!item.isDistribution"
-					:class="{'checkPoint':true,checked:checkedList.includes(item.deptId)}"
-					@click="checkedHandle(item.deptId)">
-					<image class="innerImg" v-if="checkedList.includes(item.deptId)"
+				<view 
+				    v-if="item.finishedStatus != 1"
+					:class="{'checkPoint':true,checked:(checkedList.findIndex(t=>t.deptId == item.deptId) != -1)}"
+					@click="checkedHandle(item)">
+					<image class="innerImg" v-if="(checkedList.findIndex(t=>t.deptId == item.deptId) != -1)"
 						src="../../static/check-checkbox.png" mode=""></image>
-				</view>
-				<view class="status" :style="{'background':item.color}" >{{item.completeDes}}</view>
+				</view>
 				<view class="title-wrap">
 					<text>{{item.deptName}}</text>
 					<view>
 						<image src="../../static/icon-map.png"></image>
 						<text>{{item.deptClassName}}</text>
-					</view>
+					</view>
+					<view :class="getStatus(item.completeDes)"  >{{item.completeDes}}</view>
 				</view>
 				<view class="content">
 					<text>{{item.decs}}</text>
@@ -52,8 +53,9 @@
 		<view class="fixed-buttom-btn" @click="submit" v-if="multiple == 'true'">
 			<text class="btn-text">完成</text>
 		</view>
-		<view class="bottomBtnGroup" v-if="multiple != 'true'&&ifAllPlanListHasDistribution==false">
-			<view class="leftBtn" @click="bottomBtnClickHandle('left')">{{ifCheckAll?'取消':'全选'}}</view>
+		<view class="bottomBtnGroup" v-if="multiple != 'true'">
+			<view class="selectAll" @click="bottomBtnClickHandle('left')">{{ifSlectedAllCheckList?'取消':'全选'}}</view>
+			<view class="leftBtn" @click="bottomBtnClickHandle('middle')">{{`(已选${checkedList.length}项)撤销分配`}}</view>
 			<view class="rightBtn" @click="bottomBtnClickHandle('right')">{{`(已选${checkedList.length}项)批量分配`}}</view>
 		</view>
 	</view>
@@ -74,6 +76,15 @@
 			ifAllPlanListHasDistribution: function() {
 				const tempData = this.checkList.filter(item => (!item.empId && !item.empName));
 				return tempData.length == 0
+			},
+			ifSlectedAllCheckList:function(){
+				 if(this.checkedList.length == this.checkList.length){ //选中集合==总集合
+				        this.ifCheckAll = true;
+					    return true;
+				 }else {
+					    this.ifCheckAll = false;
+					    return false; 
+				 }
 			}
 		},
 		data() {
@@ -96,7 +107,8 @@
 				checkedList: [], //批量选中的集合
 				ifCheckAll:false,//是否全选
 			};
-		},
+		},
+	
 		onLoad({
 			situationId,
 			checkId,
@@ -173,11 +185,49 @@
 				this.ifshowBottom = true;
 				return true;
 
+			},
+			/**
+			 * @str string [noStart,checking,completed]
+			 */
+			getStatus:function(str){  //设置状态颜色
+			    switch(str){
+					 case '未分配':
+					      return 'status noStart'
+					 	 break;
+					 case '进行中':
+					      return 'status checking'
+					 	 break;
+					 case '已完成':
+					      return 'status completed'
+					 	 break;	
+				}
+			},
+			batchCancelDistri(){ //批量撤销
+			      const _that = this;
+				  this.$store.dispatch({
+				  	type: 'editCheckList/commActions',
+				  	key: "batchCancelCheckDistribution",
+				  	data: {
+				  		checkId:this.checkId,
+				  		deptIds:this.checkedList.map(t=>t.deptId)
+				  	}
+				  }).then(data=>{
+					    if(data){
+							  uni.showModal({
+							  	title: '提示',
+							  	content: '撤销分配成功!',
+							  	showCancel: false,
+								success(res) {
+									if(res.confirm){
+										  _that.checkedList = [];
+										  _that.getCheckList(_that.checkId,_that.situationType);
+									}
+								}
+							  });
+						}
+				  })
 			},
-			bottomBtnClickHandle(key) {
-				
-				
-
+			bottomBtnClickHandle(key) {
 				let details = {
 					index: '', // 修改的下标
 					title: '', // 标题
@@ -187,7 +237,7 @@
 					endDate: '',
 					situationType: this.situationType,
 					checkNo:this.checkNo,
-					checkedList: this.checkedList,
+					checkedList: this.checkedList.map(t=>t.deptId),
 					situationId: this.situationId, //  情境id (批量修改有,不然为0)
 					checkId: this.checkId, // 查核id
 					checkGroupId: this.checkGroupId, //查核组id
@@ -195,22 +245,54 @@
 					planEndDate: this.endDate // 计划结束时间
 				}
 
-				if (key == 'left') {
+				if (key == 'left') {  //全选
                     this.ifCheckAll = !this.ifCheckAll;
 					if(this.ifCheckAll){
-						const tempArr = this.checkList.filter(item => this.ifStartCheck(item.startDate));
-						this.checkedList = tempArr.map(v => v.deptId);
+						this.checkedList = this.checkList;
 					}else {
 						this.checkedList = [];
 					}
 					
 					
-				}
-				if (key == 'right') {
-					if (this.checkedList.length > 0) {
-						uni.navigateTo({
-							url: `/pages/batchDistribution/batchDistribution?details=${encodeURIComponent(JSON.stringify(details))}`
-						});
+				}
+				
+				if(key == 'middle'){  //批量撤销
+					if(this.checkedList.findIndex(item=>item.completeDes == '未分配') != -1){
+						//选中项包含未分配
+						uni.showModal({
+							title: '提示',
+							content: '选择的病区里包含未分配项!是否继续操作?',
+							success:(res)=>{
+								if (res.confirm) {
+								     this.batchCancelDistri(); 
+								}
+							}
+						});
+					}else {
+						this.batchCancelDistri();
+					}
+				}
+				
+				if (key == 'right') {  //批量分配
+					if (this.checkedList.length > 0) {
+						if(this.checkedList.findIndex(item=>item.completeDes == '进行中') != -1){
+							//选中项包含已分配
+							uni.showModal({
+								title: '提示',
+								content: '选择的病区里包含已进行中项!是否继续操作?',
+								success:(res)=>{
+									if (res.confirm) {
+									     uni.navigateTo({
+									     	url: `/pages/batchDistribution/batchDistribution?details=${encodeURIComponent(JSON.stringify(details))}`
+									     });
+									}
+								}
+							});
+						}else {
+							uni.navigateTo({
+								url: `/pages/batchDistribution/batchDistribution?details=${encodeURIComponent(JSON.stringify(details))}`
+							});
+						}
 					} else {
 						uni.showModal({
 							title: '提示',
@@ -220,14 +302,14 @@
 					}
 				}
 			},
-			checkedHandle(deptId) {
-				// console.log({checkId});
-				let temp = JSON.parse(JSON.stringify(this.checkedList)); //去除_observer_
-				if (temp.includes(deptId)) {
-					temp.splice(temp.findIndex(v => v === deptId), 1);
+			checkedHandle(item) {
+				let temp = this.checkedList;
+				let index = temp.findIndex(val=>val.deptId == item.deptId)
+				if ( index != -1) {
+					temp.splice(index, 1);
 					this.checkedList = temp;
 				} else {
-					this.checkedList = this.checkedList.concat([deptId]);
+					this.checkedList = this.checkedList.concat([item]);
 				}
 			},
 			// 完成
@@ -249,118 +331,7 @@
 				this.batchDistribute(commitData);
 				
 			},
-			// submit1() {
-			// 	// baseEmpList: 第一次计划修改的数据; changePlanList: 批量分配,记录第一次计划修改数据的信息;  multipleEmpList: 批量修改的数据
-			// 	let baseEmpList = [],
-			// 		changePlanList = [],
-			// 		multipleEmpList = [];
-			// 	// planStartTimestamp: 开始计划时间戳;
-			// 	let planStartTimestamp = this.dateToTimestamp(this.startDate);
-				
-			// 	this.checkList.map((item, i) => {
-			// 		const {
-			// 			checkId,
-			// 			deptId,
-			// 			empId,
-			// 			empName,
-			// 			categoryIds,
-			// 			startDate,
-			// 			endDate
-			// 		} = item;
-					
-			// 		if (empId && startDate && endDate) {
-			// 			baseEmpList.push({
-			// 				checkId,
-			// 				deptId,
-			// 				empId,
-			// 				empName,
-			// 				categoryIds,
-			// 				startDate: startDate || '',
-			// 				endDate: endDate || ''
-			// 			});
-			// 			if (this.multiple === 'true') { // 批量分配
-			// 				changePlanList.push({
-			// 					index: i, // 第一次计划修改的下标
-			// 					empId,
-			// 					empName,
-			// 					categoryIds,
-			// 					baseEmpListIndex: baseEmpList.length - 1,
-			// 					startDiffTimestamp: (startDate && planStartTimestamp != -1) ? this
-			// 						.dateToTimestamp(startDate) - planStartTimestamp : -1, // 开始时间差
-			// 					endDifTimestamp: (endDate && planStartTimestamp != -1) ? this
-			// 						.dateToTimestamp(endDate) - planStartTimestamp : -1 // 结束时间差
-			// 				});
-			// 			}
-			// 		}
-			// 	});
-			// 	console.log({changePlanList,baseEmpList});
-			// 	return;
-			// 	if (this.multiple === 'true') { // 批量分配
-			// 		this.$store.dispatch({
-			// 			type: 'planList/commActions',
-			// 			payload: {
-			// 				key: 'planList',
-			// 				data: {
-			// 					situationId: this.situationId
-			// 				}
-			// 			}
-			// 		}).then((planList) => {
-			// 			(planList || []).map(((planItem, planI) => {
-			// 				if (planI != 0) { // 过滤掉第一条
-			// 					// 计划开始时间戳
-			// 					let planStartTimestamp = planItem.startDate ? this.dateToTimestamp(
-			// 						planItem.startDate + ' 00:00') : -1;
-			// 					// 计划结束时间戳
-			// 					let planEndTimestamp = planItem.endDate ? this.dateToTimestamp(planItem
-			// 						.endDate + ' 23:59') : -1;
-
-			// 					planItem.empList && planItem.empList.map((empItem, empI) => {
-			// 						// 当前分配明细
-			// 						let currentEmp = changePlanList.find(item => item.index ===
-			// 							empI);
-			// 						if (currentEmp) {
-			// 							const {
-			// 								baseEmpListIndex,
-			// 								startDiffTimestamp,
-			// 								endDifTimestamp
-			// 							} = currentEmp;
-			// 							const {
-			// 								categoryIds,
-			// 								empId,
-			// 								empName,
-			// 							} = baseEmpList[baseEmpListIndex] || {};
-										
-			// 							multipleEmpList.push({
-			// 								categoryIds,
-			// 								empId,
-			// 								empName,
-			// 								checkId: empItem.checkId,
-			// 								deptId: empItem.deptId,
-			// 								startDate: (planStartTimestamp > -1 &&
-			// 										startDiffTimestamp > -1) ?
-			// 									this.getDateStr(planStartTimestamp,
-			// 										planEndTimestamp,
-			// 										startDiffTimestamp, planItem
-			// 										.endDate) : '',
-			// 								endDate: (planStartTimestamp > -1 &&
-			// 										endDifTimestamp > -1) ?
-			// 									this.getDateStr(planStartTimestamp,
-			// 										planEndTimestamp, endDifTimestamp,
-			// 										planItem.endDate) : ''
-			// 							});
-			// 						}
-			// 					})
-			// 				}
-			// 			}))
-			// 			multipleEmpList = [...baseEmpList, ...multipleEmpList];
-			// 			// console.log('批量',multipleEmpList,baseEmpList);
-			// 			// return;
-			// 			this.batchDistribute(multipleEmpList);
-			// 		})
-			// 	} else { // 单个分配
-			// 		this.batchDistribute(baseEmpList);
-			// 	}
-			// },
+			
 			/**
 			 * 获取时间字符串
 			 * @param {Number} startTimestamp 计划开始时间戳
@@ -525,7 +496,33 @@
 				padding-bottom:0;
 			}
 			.item {
-				position: relative;
+				position: relative;
+				.title-wrap {
+					text {
+						white-space: nowrap;
+						text-overflow:ellipsis;
+						overflow:hidden;
+					}
+				}
+				.status {
+					display: flex;
+					justify-content: center;
+					width: 100rpx;
+					height: 35rpx;
+					color: #FFFFFF;
+					text-align: center;
+					line-height: 35rpx;
+					border-radius:20rpx;
+					&.noStart {
+						background-color:#eee;
+					}
+					&.checking {
+						background-color:#FFCC66;
+					}
+					&.completed {
+						background-color:#29CC96;
+					}
+				}
 			}
 
 			.checkPoint {
@@ -547,19 +544,7 @@
 					border: none;
 				}
 			}
-			
-			.status {
-				position: absolute;
-				top: 0;
-				right:0;
-				width: 100rpx;
-				height: 35rpx;
-				color: #FFFFFF;
-				text-align: center;
-				line-height: 35rpx;
-				border-radius: 0px 5rpx 0px 28.12rpx;
-			}
-
+			
 			.footer {
 
 				.row {
@@ -573,7 +558,7 @@
 
 					.label {
 						color: #525866;
-						width: 93.75rpx;
+						width: 100rpx;
 					}
 
 					.content {
@@ -619,11 +604,31 @@
 			display: flex;
 			flex-direction: row;
 			background-color: #FFFFFF;
-
+            .selectAll {
+				position: relative;
+				display: flex;
+				width:20%;
+				height: 100%;
+				justify-content: center;
+				align-items: center;
+				font-size: 22.5rpx;
+				font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+				font-weight: 400;
+				color: #3377FF;
+				&::after {
+					position: absolute;
+					display: inline-block;
+					content: '';
+					right: 0;
+					width: 1rpx;
+					height:40%;
+					background-color: #82848A;
+				}
+			}
 			.leftBtn,
 			.rightBtn {
 				display: flex;
-				width: 50%;
+				width:40%;
 				height: 100%;
 				justify-content: center;
 				align-items: center;

+ 31 - 24
pages/editCheckList/server.js

@@ -1,24 +1,31 @@
-import { creatRequest } from '../../utils/request.js';
-
-const requestList = {
-  // 查核列表
-  getCheckList: {
-    method: 'GET',
-    url: 'plan/depList'
-  },
-  // 分配单位查核人员
-  batchDistribute: {
-    method: 'POST',
-    url: 'plan/batchDistribute'
-  },
-	//计划列表
-	planList:{
-		method:'GET',
-		url: 'plan/list'
-	}
-};
-
-export const commServer = (key, data) => {
-  let obj = requestList[key];
-  return creatRequest(obj, data);
-}
+import {
+	creatRequest
+} from '../../utils/request.js';
+
+const requestList = {
+	// 查核列表
+	getCheckList: {
+		method: 'GET',
+		url: 'plan/depList'
+	},
+	// 分配单位查核人员
+	batchDistribute: {
+		method: 'POST',
+		url: 'plan/batchDistribute'
+	},
+	//计划列表
+	planList: {
+		method: 'GET',
+		url: 'plan/list'
+	},
+	//批量撤销
+	batchCancelCheckDistribution: {
+		method: 'POST',
+		url: 'plan/initDistribution'
+	}
+};
+
+export const commServer = (key, data) => {
+	let obj = requestList[key];
+	return creatRequest(obj, data);
+}

+ 1 - 1
pages/home/home.vue

@@ -99,7 +99,7 @@
 			return {
 				ifshowVersionInfo:false,
 				showJournal: false,
-				version: '0.6.7',
+				version: '0.7.0',
 				versionData: {
 					versionNo: '',
 					versionId: '',

+ 11 - 6
pages/login/login.vue

@@ -18,6 +18,7 @@
 				 	  <view class="modalBar">开发者模式</view>
 					  <input class="keyInutArea" type="text" v-model="appHospSign" @input='setHospSign' placeholder="请输入hospSign" />
 					  <image @click="openScanner" class="scanBtn" src="../../static/scancodeIcon.png" mode=""></image>
+					  <view>{{deviceInfo}}</view>
 					  <button class="commitActBtn" @click="updateHospSign(true)" type="default">确定</button>
 		<!-- 			  <button class="commitActBtn" @click="updateHospSign(false)" type="default">确定</button> -->
 				 </view>
@@ -32,7 +33,7 @@
 		data() {
 			return {
 				index:0,
-				appHospSign:'tYAoFaa20yCAgaiy',//app端更新hospSign 8CJYqxlGIdLEIwaG
+				appHospSign:'8CJYqxlGIdLEIwaG',//app端更新hospSign
 				showInputModal:false,
 				hospSign: '', // 医院标识
 				username: '', // 用户名
@@ -43,7 +44,8 @@
 					{permission: 3, name: '查核组员', pagePath: 'pages/situationsCenter/situationsCenter'},
 					{permission: 4, name: '单位负责人', pagePath: 'pages/mission/mission'},
 					{permission: 5, name: '改善者', pagePath: 'pages/mission/mission'}
-				]
+				],
+				deviceInfo:{}
 			}
 		},
 		computed:{
@@ -52,17 +54,16 @@
 			}
 		},
 		onLoad({ hospSign }){
+			  
 			  this.hospSign = hospSign;
 			  // #ifdef APP-PLUS
 			     const hospSignFromLocal = uni.getStorageSync('hospSign');
-				 console.log({hospSignFromLocal});
 				 if(hospSignFromLocal != ''){
 					 this.appHospSign = hospSignFromLocal;
 				 }
+				 this.deviceInfo = uni.getSystemInfoSync();
 			  // #endif
-		},
-		mounted(){
-            console.log(this.username);
+			  
 		},
 		methods: {
 			openScanner(){
@@ -101,6 +102,7 @@
 				// #ifdef H5
 				  const hospSign = this.hospSign;
 				// #endif
+	
 				this.$store.dispatch({
 					type: 'login/commActions',
 					payload: {
@@ -114,6 +116,7 @@
 						}
 					}
 				}).then((data) => {
+					console.log('loginResData',data);
 					if (data) {
 						uni.setStorageSync('hiId', data.hiId);
 						uni.setStorageSync('permissions', data.permissions);
@@ -163,6 +166,8 @@
 			height: 281.25rpx;
 		}
 		.row {
+			position: relative;
+			z-index: 100;
 			font-size: 45rpx;
 			font-family: SourceHanSansCN-Bold, SourceHanSansCN;
 			font-weight: bold;

+ 1521 - 1397
pages/mainPointsDetail/mainPointsDetail.vue

@@ -1,1398 +1,1522 @@
-<template>
-  <view class="mainPointsDetailPage">
-	<tm-modal v-if="showSelectModal" @click="clickModalhandle">
-		<view class="checkItemResultModal">
-			 <view class="modalContent">
-			 	  <view class="modalBar">请选择查核结果</view>
-				  <scroll-view v-if="data.checkModelName != '访谈'" class="scroll" scroll-y="true" >
-				  	<view v-for="item in checkItemResultList" :class="[checkedSelectResultListIds.includes(item.id)?'list on':'list']" :key="item.id" @click.stop="selectResultHandle(item)" >
-						<image class="checkIcon" src="../../static/check-checkbox.png" mode=""></image>
-					   {{item.resultName}}
-					</view>
-				  </scroll-view>
-				  
-				  <scroll-view v-if="data.checkModelName == '访谈'" class="scroll" scroll-y="true" >
-				  	<view v-for="item in checkItemResultList" :class="[checkedSelectResultListIds[currentEditTextAreaIndex]&&checkedSelectResultListIds[currentEditTextAreaIndex].includes(item.id)?'list on':'list']" :key="item.id" @click.stop="selectResultHandle(item)" >
-				  						<image class="checkIcon" src="../../static/check-checkbox.png" mode=""></image>
-				  					   {{item.resultName}}
-				  					</view>
-				  </scroll-view>
-				  <view class="comfirmBtn" @click="commitSelectResult">确定</view>
-			 </view>
-		</view>
-	</tm-modal>
-    <scroll-view scroll-y="true" class="scroll-y">
-      <view class="checkItem">
-        <view class="chBg">
-          <image
-            src="../../static/chahexiang-bg.png"
-            mode=""
-            class="img"
-          ></image>
-          <text class="title">查核项</text>
-        </view>
-        <image
-          src="../../static/tuli.png"
-          mode=""
-          class="tlImg"
-          @click="toTuLi"
-        ></image>
-        <view class="chContent">
-          <view class="checkItemName">{{ data.checkItemName ? data.checkItemName : "" }}</view>
-          <view class="checkPointName">{{ data.checkPointName ? data.checkPointName : "" }}</view>
-          <view class="cont">
-            <view class="floatLeft other">
-              <view class="letterTitle2">{{ data.deptName ? data.deptName : "" }}</view>
-              <view class="letterTitle">查核单位</view>
-            </view>
-            <view class="floatLeft borderLine"></view>
-            <view class="floatLeft other">
-              <view class="letterTitle2">{{ data.checkModelName ? data.checkModelName : "" }}</view>
-              <view class="letterTitle">查核方式</view>
-            </view>
-            <view class="floatLeft borderLine"></view>
-            <view class="floatLeft other">
-              <view class="letterTitle2">{{ data.lastResult ? data.lastResult : "" }}</view>
-              <view class="letterTitle">上次结果</view>
-            </view>
-            <view class="floatLeft borderLine"></view>
-            <view class="floatLeft other">
-              <view class="letterTitle2">{{ data.checkResult ? data.checkResult : "" }}</view>
-              <view class="letterTitle">本次结果</view>
-            </view>
-          </view>
-          <view class="checked">
-            <view
-              class="checked-checkItem"
-			  v-for="item in checkConfiglist"
-			  :key="item.attr"
-              @click="checkedOne(item)"
-              :style="
-                Index == item.attr
-                  ? { backgroundColor: '#3377FF', color: '#fff' }
-                  : { backgroundColor: '#EBEFF7' }
-              "
-              >{{item.attr}}
-              <view v-if="lastIndex == item.attr"
-                ><image
-                  src="../../static/shangci.png"
-                  mode=""
-                  class="img"
-                ></image>
-                <text class="lastName">上次</text></view
-              >
-            </view>
-			
-          </view>
-          <view class="more" @click="toHistory">
-            <text>查看改善历史</text>
-            <view class="moreImg">
-              <image
-                src="../../static/blue-arrow.png"
-                mode=""
-                class="moreImg2"
-              ></image>
-            </view>
-          </view>
-		 <view class="multipleResponsible">
-			 <view class="inner" @click="toSelectResponsible">
-			 	 <text class="label">当事人</text>
-			 	 <input type="text" disabled v-model="checkedResponsibleList.join(',')" placeholder="请选择当事人(可多选)" class="value" placeholder-class="valuePlaceholder"  />
-			 	 <image class="arrow" src="../../static/incon-more.png" mode=""></image>
-			 </view>
-		  </view>
-		  <view class="score">
-			<view class="box">
-				<text class="lable">总分</text>
-				<text class="totalScore">{{totalScore}}</text>
-			</view>
-			<view class="box">
-				<text class="lable">本次得分</text>
-				<text class="currentScore">{{currentScore>0?currentScore:0}}</text>
-			</view>
-		  </view>
-		  <view class="inputScore">
-		  	<text class="label">本项扣分</text>
-		<!-- 	<text class="label">{{deductPoint}}</text> -->
-			<input class="value" @input="onInputScore" type="number" v-model="inputScore"  :placeholder="deductPoint" placeholder-class="placeholder" />
-		  </view>
-        </view>
-      </view>
-      <view v-if="data.checkModelName == '访谈'" class="talk">
-        <view v-for="(item, i) in talkList">
-          <view class="talkTitle">
-            <text
-              >访谈内容{{ i + 1 }}{{ i == 0 ? "" : "(访谈人员:护士、医生)" }}</text
-            >
-            <text v-if="i != 0" class="del" @click="del(i)">删除</text>
-          </view>
-          <view>
-            <view class="talkResult">
-			  <view class="seeResultFloorOne">
-                   <text class="seeName">查核结果</text>
-				   <view class="plusAction" v-if="checkItemResultList.length>0" @click="openSelectModal(i)">
-				   				<image class="plusIcon" src="../../static/icon-add.png" mode=""></image>
-				   	<text class="threePoint"  >缺陷</text>
-				   </view>
-				   <!-- <text v-if="checkItemResultList.length>0" class="threePoint" @click="openSelectModal(i)">⋮</text> -->
-			  </view>
-			  <text class="clear" @click="clearResult(true,i)">清空</text>
-              <textarea
-                maxlength="300"
-                class="seeTextarea"
-                value=""
-                placeholder="请输入"
-                :value="item.talkResult"
-                @blur="changeTextarea($event, i)"
-              ></textarea>
-            </view>
-            <view class="talkImg" @click="imgClick(i)">
-              <tm-upload-img
-                label="上传图片"
-                :filePaths="item.filePath"
-                :isMultiple="true"
-                @changeFilePaths="changeFilePaths2"
-              />
-            </view>
-          </view>
-        </view>
-      </view>
-      <view v-else class="see">
-        <view class="seeResult">
-		  <view class="seeResultFloorOne">
-		  	  <text class="seeName">查核结果</text>
-			  <view class="plusAction" v-if="checkItemResultList.length>0" @click="openSelectModal">
-				<image class="plusIcon" src="../../static/icon-add.png" mode=""></image>
-			  	<text class="threePoint"  >缺陷</text>
-			  </view>
-			  <!-- <text class="threePoint" v-if="checkItemResultList" @click="openSelectModal">⋮</text> -->
-		  	  <!-- <dropdown :list="checkItemResultList" :current="currentSelect" @onClick="dropDownChange"></dropdown> -->
-		  </view>
-		  <text class="clear" @click="clearResult(false)">清空</text>
-          <textarea
-            maxlength="300"
-            class="seeTextarea"
-            placeholder="请输入"
-            :value="recordList[0].seeResult"
-            @blur="changeTextarea2"
-          ></textarea>
-        </view>
-        <view class="seeImg">
-          <tm-upload-img
-            label="上传图片"
-            :filePaths="filePath"
-            :isMultiple="true"
-            @changeFilePaths="changeFilePaths"
-          />
-        </view>
-      </view>
-
-      <button
-        class="insert"
-        @click="insert"
-        v-if="data.checkModelName == '访谈'"
-      >
-        + 增加一条记录
-      </button>
-    </scroll-view>
-    <!-- <button type="primary" class="sureDetail" @click="sureDetail" v-if="data.display?data.display:false">完成</button> -->
-	<view class="bottomMenuGroup">
-		<view class="menuBtn" @click="goToPrevPage">
-			<image class="threeLineMenuIcon" src="/static/threeLineMenu.png" ></image>
-		</view>
-		<view class="prevBtn" @click="switchItem(1)">下一项</view>
-		<view class="nextBtn" @click="sureDetail('back')" v-if="data.display?data.display:false">完成</view>
-	</view>
-  </view>
-</template>
-
-<script>
-import {_goBackFresh} from '../../utils/compatible.js';
-// import ldSelect from '@/components/ld-select/ld-select.vue'
-export default {
-  // components:{ldSelect},
-  data() {
-    return {
-	  value:'',
-	  showSelectModal:false,
-      data: {}, //详情数据
-      lastIndex: null, //上次选中的结果
-      Index: null, //点击修改本次选中样式
-      filePath: [],
-      recordList: [{ seeResult: "", filePath: [] }],
-      talkLength: 1,
-      talkList: [{ talkResult: "", filePath: [] }],
-      editIndex: null,
-      resultConfigList: [],
-      id: "",
-      checkPointId: "",
-	  itemBelongGroup:[],
-	  itemId:'',
-	  currentEditTextAreaIndex:'',
-	  checkItemResultList:[],//查核结果说明下拉列表
-	  checkedSelectResultList:[],//下拉结果选中集合
-	  checkedSelectResultListIds:[],
-	  currentSelect:'',
-	  checkItemScore:null,//查核选中的分数
-	  checkItemValue:null,//查核选中的分数占比
-	  checkConfiglist:[],//查核情况可配置列表
-	  totalScore:0,//总分
-	  currentScore:0,//当前得分
-	  inputScore:null,//手动填写分值
-	  selectedScore:0,//缺失项分值
-	  checkedResponsibleList:[],
-	  deptId:'',//病区id
-	  checkedResponsibleData:[],
-	  checkedSelectResultListData:[],
-	  multiSelectScore:[],
-	  deductPoint:0,//本次扣分
-    };
-  },
-  onShow() {
-	const {responsibleList} = this.$store.state;
-	this.checkedResponsibleData = responsibleList.checkedResponsibleList;
-  	this.checkedResponsibleList = responsibleList.checkedResponsibleList.map(item=>item.main);
-  },
-  computed:{
-  },
-  watch:{
-	  checkedResponsibleList:function(){
-		   const {responsibleList} = this.$store.state;
-		   // console.log({responsibleList});
-		   return responsibleList.checkedResponsibleList.map(item=>item.main);
-	  }
-  },
-  mounted() {
-    this.checkTaskDetail(this.id);
-    this.getPeizhiList();
-	
-  },
-  methods: {
-	//查核结果清空操作
-	clearResult(ifMulti,index){
-		if(ifMulti){
-			//多个查核结果组件时
-			this.talkList[index].talkResult = '';
-			this.multiSelectScore[index] = 0;
-			this.selectedScore = this.multiSelectScore.reduce((prev,cur)=>(prev+cur),0);
-			
-			this.checkedSelectResultListIds.splice(index,1,[]);
-			this.checkedSelectResultList.splice(index,1,[]);
-			this.checkedSelectResultListData.splice(index,1,[]);
-						
-		}else {
-			this.recordList[0].seeResult='';
-			this.selectedScore = 0;
-			this.checkedSelectResultListIds=[];
-			this.checkedSelectResultList=[];
-			this.checkedSelectResultListData=[];
-		}
-	},
-	clickModalhandle(){
-		this.showSelectModal = false;
-	},
-	openSelectModal(index){
-		// console.log({index});
-		if(index>=0){
-			 this.currentEditTextAreaIndex = index;
-		}
-		this.showSelectModal = true;
-	},
-	//跳转选择当事人
-	toSelectResponsible(){
-		// console.log(this.deptId);
-		uni.navigateTo({
-		  url: `/pages/responsibleList/responsibleList?deptId=${this.deptId}&checkId=${this.id}`,
-		  // animationType: 'pop-in',
-		  // animationDuration: 200
-		});
-	},
-	onInputScore(e){
-		this.inputScore = e.target.value;
-		this.currentScore = this.totalScore - e.target.value;
-	},
-    selectResultHandle(item){
-	
-		if(this.data.checkModelName == '访谈'){
-			const currentIndex = this.currentEditTextAreaIndex;
-			 if(this.checkedSelectResultListIds[currentIndex]&&this.checkedSelectResultListIds[currentIndex].includes(item.id)){
-				  console.log('减去');
-				  const tempIdsArr = JSON.parse(JSON.stringify(this.checkedSelectResultListIds[currentIndex]));
-				  const tempArr = JSON.parse(JSON.stringify(this.checkedSelectResultList[currentIndex]));
-				  const tempArrData = JSON.parse(JSON.stringify(this.checkedSelectResultListData[currentIndex]));
-				  
-				  tempIdsArr.splice(tempIdsArr.indexOf(item.id),1);
-				  tempArr.splice(tempArr.indexOf(item.resultName),1);
-				  tempArrData.splice(tempArrData.indexOf(item.id),1);
-				  
-				  // console.log({tempIdsArr});
-				  
-				  this.checkedSelectResultListIds.splice(currentIndex,1,tempIdsArr);
-				  this.checkedSelectResultList.splice(currentIndex,1,tempArr);
-				  this.checkedSelectResultListData.splice(currentIndex,1,tempArrData);
-			 }else {
-				  if(!Array.isArray(this.checkedSelectResultListIds[currentIndex]))this.checkedSelectResultListIds[currentIndex]=[];
-				  if(!Array.isArray(this.checkedSelectResultList[currentIndex]))this.checkedSelectResultList[currentIndex]=[];
-				  if(!Array.isArray(this.checkedSelectResultListData[currentIndex]))this.checkedSelectResultListData[currentIndex]=[];
-				  
-				  const tempIdsArr = this.checkedSelectResultListIds[currentIndex].concat([item.id]);
-				  const tempArr = this.checkedSelectResultList[currentIndex].concat([item.resultName]);
-				  const tempArrData = this.checkedSelectResultListData[currentIndex].concat([item]);
-		          
-				  this.checkedSelectResultListIds.splice(currentIndex,1,tempIdsArr);
-				  this.checkedSelectResultList.splice(currentIndex,1,tempArr);
-				  this.checkedSelectResultListData.splice(currentIndex,1,tempArrData);
-				  // console.log(this.checkedSelectResultListIds[currentIndex],`index:${currentIndex}`);
-			 }
-		}else {
-			 if(this.checkedSelectResultListIds.includes(item.id)){
-			 	const tempIdsArr = JSON.parse(JSON.stringify(this.checkedSelectResultListIds));
-			 	const tempArr = JSON.parse(JSON.stringify(this.checkedSelectResultList));
-			 	const tempArrData = JSON.parse(JSON.stringify(this.checkedSelectResultListData));
-			 	tempIdsArr.splice(tempIdsArr.indexOf(item.id),1);
-			 	tempArr.splice(tempArr.indexOf(item.resultName),1);
-			 	tempArrData.splice(tempArrData.indexOf(item.id),1);
-			 	this.checkedSelectResultListIds = tempIdsArr;
-			 	this.checkedSelectResultList = tempArr;
-			 	this.checkedSelectResultListData = tempArrData;
-			 }else {
-			 	this.checkedSelectResultListIds.push(item.id);
-			 	this.checkedSelectResultList.push(item.resultName);
-			 	this.checkedSelectResultListData.push(item);
-			 }
-		}
-	},
-	commitSelectResult(){
-		
-		
-		if(this.data.checkModelName == '访谈'){
-			const tempArr = this.checkedSelectResultListData[this.currentEditTextAreaIndex].map(item=>item.percentScore);
-			const tempScore = tempArr.reduce((prev,cur)=>{
-				   return prev + cur;
-			},0);
-			
-			this.talkList[this.currentEditTextAreaIndex].talkResult = this.checkedSelectResultList[this.currentEditTextAreaIndex].join(',');
-			this.multiSelectScore[this.currentEditTextAreaIndex] = tempScore;
-			this.selectedScore = this.multiSelectScore.reduce((prev,cur)=>(prev+cur),0);
-			
-			if(!this.inputScore){
-				this.deductPoint = this.checkItemScore+this.selectedScore;
-				this.currentScore = this.totalScore - this.deductPoint;
-			}
-			
-		 
-		}else {
-			const tempArr = this.checkedSelectResultListData.map(item=>item.percentScore);
-			const tempScore = tempArr.reduce((prev,cur)=>{
-				   return prev + cur;
-			},0);
-			this.recordList[0].seeResult = this.checkedSelectResultList.join(',');
-			this.selectedScore = tempScore;
-			
-			if(this.inputScore){
-				this.deductPoint = this.checkItemScore+this.selectedScore;
-				this.currentScore = this.totalScore - this.deductPoint;
-			}
-		}
-
-		this.showSelectModal = false;
-	},
-    checkTaskDetail(id) {
-      this.$store.dispatch({
-          type: "mainPointsDetail/commActions",
-          payload: {
-            key: "checkTaskDetail",
-            data: {
-              id: id,
-            },
-          },
-        }).then((res) => {
-		  this.id = id;
-		  this.deptId = res.deptId;
-		  //再次编辑回显
-		  const filePath = res.checkResultTxt?JSON.parse(res.checkResultTxt):[];
-		  this.filePath = filePath[0]&&filePath[0].checkResultUrl != ''?filePath[0].checkResultUrl.split(','):[];
-		  this.Index = res.checkResult;
-		  this.totalScore = res.totalScore;
-		  this.deductPoint = res.deductPoint;
-		  this.currentScore = res.score;
-		  // if(res.lastResult){
-			 //  const lastConfig = this.checkConfiglist.filter(item=>item.attr == res.lastResult);
-			 //  this.checkItemScore = lastConfig[0].itemGetScore;
-		  // }
-		  
-		  // this.deductPoint = res.deductPoint;
-		  if(res.checkResultRequestList&&res.checkResultRequestList.length>0){
-			      if(res.checkModelName == '访谈'){
-			      			  this.talkList = res.checkResultRequestList.map((item,currentIndex)=>{
-			      			  			  const arr = item.checkResultDescribe.split(',');
-			      			  			  const tempResult= this.checkItemResultList.filter(v=>arr.includes(v.resultName));
-			      			  			  // console.log({tempResult});
-			      						  
-			      						  if(!Array.isArray(this.checkedSelectResultListIds[currentIndex]))this.checkedSelectResultListIds[currentIndex]=[];
-			      						  if(!Array.isArray(this.checkedSelectResultList[currentIndex]))this.checkedSelectResultList[currentIndex]=[];
-			      						  if(!Array.isArray(this.checkedSelectResultListData[currentIndex]))this.checkedSelectResultListData[currentIndex]=[];
-			      						  
-			      						  const tempIdsArr = this.checkedSelectResultListIds[currentIndex].concat(tempResult.map(item=>item.id));
-			      						  const tempArr = this.checkedSelectResultList[currentIndex].concat(tempResult.map(item=>item.resultName));
-			      						  // const tempArrData = this.checkedSelectResultListData[currentIndex].concat(tempResult.map(item=>item));
-			      						  
-			      						  this.checkedSelectResultListIds.splice(currentIndex,1,tempIdsArr);
-			      						  this.checkedSelectResultList.splice(currentIndex,1,tempArr);
-			      						  this.checkedSelectResultListData.splice(currentIndex,1,tempResult);
-			      						  
-			      						  const tempArrFull = this.checkedSelectResultListData[currentIndex].map(item=>item.percentScore);
-			      						  const tempScore = tempArrFull.reduce((prev,cur)=>{
-			      						  	   return prev + cur;
-			      						  },0);
-			      			              this.multiSelectScore[currentIndex] = tempScore;
-			      			  			  return {
-			      			  				  talkResult:item.checkResultDescribe,
-			      			  				  filePath:item.checkResultUrl !=''?item.checkResultUrl.split(','):[]
-			      			  			  } 
-			      			  });
-			      			  //设置回显分数
-			      			  this.selectedScore = this.multiSelectScore.reduce((prev,cur)=>(prev+cur),0);
-							  
-			      }else {
-					    //       console.log('非访谈');
-							  // console.log(res.checkResultRequestList[0]);
-			      			  const arr = res.checkResultRequestList[0].checkResultDescribe.split(',');
-			      			  const tempResult= this.checkItemResultList.filter(v=>arr.includes(v.resultName));
-							  const tempIds = tempResult.map(item=>item.id);
-							  const scores =  tempResult.map(item=>item.percentScore);
-							  const tempScore = scores.reduce((prev,cur)=>(prev+cur),0);
-			      			  this.recordList[0].seeResult = res.checkResultRequestList[0].checkResultDescribe;
-			      			  this.checkedSelectResultListIds=tempIds;
-			      			  this.checkedSelectResultList=res.checkResultRequestList[0].checkResultDescribe.split(',');
-			      			  this.checkedSelectResultListData=tempResult;
-							  this.selectedScore = tempScore;
-							  // console.log(this.checkedSelectResultListIds,tempResult,tempIds,tempScore,this.selectedScore);
-			      			  
-			      }
-		  }
-		  
-		  //用于当时人页面回显
-		  if(res.responsibleUserName){
-			  const tempResponsibleUserName = res.responsibleUserName.split(',');
-			  const tempResponsibleUserId = res.responsibleUserId.split(',');
-			  this.checkedResponsibleList = tempResponsibleUserName;
-			  const arr = tempResponsibleUserName.map((item,index)=>({
-				   main:item,
-				   id:parseInt(tempResponsibleUserId[index])
-			  }));
-			  // console.log({arr});
-			  this.$store.commit('responsibleList/updateCheckedResponsibleList',arr);
-		  }else{
-			  this.checkedResponsibleList = [];
-			  this.$store.commit('responsibleList/updateCheckedResponsibleList',[]);
-		  }
-		  
-          if (res) {
-			// console.log({res});
-            this.data = res;			
-            if (res && res.lastResult == "不适用") {
-              // this.lastIndex = 1;
-			  this.lastIndex = res.lastResult;
-            } else if (res && res.lastResult == "无缺失") {
-              this.lastIndex = res.lastResult;
-            } else if (res && res.lastResult == "主要缺失") {
-              this.lastIndex = res.lastResult;
-            } else if (res && res.lastResult == "次要缺失") {
-              this.lastIndex = res.lastResult;
-            } else if (res && res.lastResult == "观察事项") {
-              this.lastIndex = res.lastResult;
-            } else {
-              this.lastIndex = 0;
-            }
-          }
-        });
-    },
-    getPeizhiList() {
-      this.$store.dispatch({
-          type: "configure/commActions",
-          payload: {
-            key: "getResultConfig",
-          },
-        }).then((res) => {
-          this.resultConfigList = res ? res : [];
-        });
-    },
-	//查核点击回调
-    checkedOne(data) {
-		const parsedData = JSON.parse(JSON.stringify(data));
-		// console.log({parsedData})
-		this.Index = parsedData.attr;
-		this.data.checkResult = parsedData.attr;
-		this.checkItemScore = parsedData.itemGetScore;
-		this.checkItemValue = parsedData.value;
-		this.calScore = parsedData.calScore;
-		if(!this.inputScore){
-			this.deductPoint = parsedData.itemGetScore;
-			this.currentScore = this.totalScore - parsedData.itemGetScore;
-		}
-		
-   //    this.Index = data;
-	  // this.data.checkResult = data;
-      // if (data == 1) {
-      //   this.data.checkResult = "不适用";
-      // } else if (data == 2) {
-      //   this.data.checkResult = "无缺失";
-      // } else if (data == 3) {
-      //   this.data.checkResult = "主要缺失";
-      // } else if (data == 4) {
-      //   this.data.checkResult = "次要缺失";
-      // } else if (data == 5) {
-      //   this.data.checkResult = "观察事项";
-      // } else {
-      //   this.data.checkResult = "";
-      // }
-    },
-    changeFilePaths(filePaths, index) {
-      let _recordList = [...this.recordList];
-      _recordList[index].filePath = filePaths;
-      this.filePath = _recordList[0].filePath;
-    },
-    insert() {
-      let list = [...this.talkList];
-      if (list.length < 10) {
-        list.push({ talkResult: "", filePath: [] });
-        this.talkList = list;
-      }
-    },
-    del(index) {
-      let list = [...this.talkList];
-      let list2 = [];
-      for (let i = 0; i < list.length; i++) {
-        if (i != index) {
-          list2.push(list[i]);
-        }
-      }
-      this.talkList = list2;
-    },
-    changeFilePaths2(filePaths, index) {
-      for (let j = 0; j < this.talkList.length; j++) {
-        this.talkList[this.editIndex].filePath = filePaths;
-      }
-    },
-    changeTextarea(e, i) {
-      for (let j = 0; j < this.talkList.length; j++) {
-        this.talkList[i].talkResult = e.detail.value;
-      }
-    },
-    changeTextarea2(e) {
-      this.recordList[0].seeResult = e.target.value;
-    },
-    imgClick(i) {
-      this.editIndex = i;
-    },
-    sureDetail(key) {
-      if (this.Index) {
-        let params = {
-          id: this.data.id,
-          checkResult: this.data.checkResult,
-          checkResultRequestList: [],
-		  checkItemScore:this.checkItemScore,
-		  value:this.checkItemValue,
-		  situationType:this.situationType,
-		  calScore:this.calScore,
-		  // responsibleUserId:(this.checkedResponsibleData.map(item=>item.id)).join(','),
-		  // responsibleUserName:(this.checkedResponsibleData.map(item=>item.main)).join(','),
-		  score:Number(this.currentScore),
-		  deductPoint:Number(this.inputScore?this.inputScore:this.deductPoint),
-        };
-		
-		
-        if (this.data.checkModelName == "访谈") {
-          let list = [];
-          for (let i = 0; i < this.talkList.length; i++) {
-            let path = "";
-            for (let j = 0; j < this.talkList[i].filePath.length; j++) {
-              if (j == 0) {
-                path += `${this.talkList[i].filePath[j]}`;
-              } else {
-                path += `,${this.talkList[i].filePath[j]}`;
-              }
-            }
-            let item = {
-              checkResultId: i,
-              checkResultDescribe: this.talkList[i].talkResult,
-              checkResultUrl: path,
-            };
-			
-            list.push(item);
-          }
-          params.checkResultRequestList = list;
-        } else {
-          let list = [];
-          let path = "";
-          for (let j = 0; j < this.recordList[0].filePath.length; j++) {
-            if (j == 0) {
-              path += `${this.recordList[0].filePath[j]}`;
-            } else {
-              path += `,${this.recordList[0].filePath[j]}`;
-            }
-          }
-          let item = {
-            checkResultId: 1,
-            checkResultDescribe: this.recordList[0].seeResult,
-            checkResultUrl: path,
-          };
-
-          list.push(item);
-          params.checkResultRequestList = list;
-        }
-		const checkConfiglist = JSON.parse(JSON.stringify(this.checkConfiglist));
-		// console.log({params});
-		// return;
-        this.$store.dispatch({
-            type: "mainPointsDetail/commActions",
-            payload: {
-              key: "saveCheckTaskDetail",
-              data: {
-                ...params,
-              },
-            },
-          }).then((res) => {
-			// console.log({'res':res,'checkConfiglist':checkConfiglist});
-            if (res) {
-              for (let i = 0; i < checkConfiglist.length; i++) {
-                if (
-                   checkConfiglist[i].attr == params.checkResult &&
-                  (checkConfiglist[i].resultType == 2 ||
-                    checkConfiglist[i].resultType == 3)
-                ) {
-				console.log('开始提交改善前准备');
-				 
-                  let param = {
-                    situationId: this.data.situationId,
-                    situationName: this.data.situationName,
-                    checkGroupId: this.data.checkGroupId,
-                    checkGroupName: this.data.checkGroupName,
-                    checkItemId: this.data.checkItemId,
-                    checkItemName: this.data.checkItemName,
-                    checkPointId: this.data.checkPointId,
-                    checkPointName: this.data.checkPointName,
-                    deptName: this.data.deptName,
-                    deptId: this.data.deptId,
-                    appointFlag: false,
-                    desicion: 0,
-                    taskType: "1",
-                    checkId: this.data.checkId,
-					checkResult:0,
-					newResultType:checkConfiglist[i].resultType,
-                    // checkResult: this.resultConfigList[i].id,
-                    receiveEmpId: this.data.receiveEmpId,
-                    receiveEmpName: this.data.receiveEmpName,
-                    checkDetailId: this.data.id,
-                  };
-				 
-                  this.$store.dispatch({
-                      type: "mission/commActions",
-                      payload: {
-                        key: "comTaskCirculation",
-                        data: {
-                          ...param,
-                        },
-                      },
-					});
-                }else {
-					 console.log('改善条件为false');
-				}
-              }
-
-			  if(key=='back'){
-				  //点完成时返回
-				  console.log('开始返回');
-				  this.$store.commit('checkMainPoints/comChangeState',{'key':'ifUpdate','data':true});
-				  _goBackFresh('pages/checkMainPoints/checkMainPoints');
-			  }
-			  // _goBackFresh('pages/checkMainPoints/checkMainPoints');
-			  //去查核详情页
-			  // uni.navigateTo({
-			  //   url: `/pages/auditItemDetails/auditItemDetails?id=${this.data.id}&checkPointId=${this.checkPointId}`,
-			  // });
-            }else {
-				console.log('res为false');
-			}
-          });
-      } else {
-        uni.showModal({
-          title: "检查选项未选择",
-          showCancel: false,
-        });
-      }
-    },
-    toTuLi() {
-      uni.navigateTo({
-        url: `/pages/legendDetails/legendDetails?checkItemId=${this.data.checkItemId}&checkPointId=${this.checkPointId}`,
-      });
-    },
-    toHistory() {
-	  const situationId = this.data.situationId;
-	  this.$store.dispatch({
-	  	type: 'mission/commActions',
-	  	payload: {
-	  		key: "getMissionList",
-	  		data:{situationId}
-	  	}
-	  }).then(data => {
-	  	if(data) {
-	  		if(data.improvingTaskResponses.length>0){
-				uni.navigateTo({
-				  url: `/pages/improve-mission-list/improve-mission-list?situationId=${this.data.situationId}`,
-				});
-			}else {
-				uni.showModal({
-				    content: '暂无改善历史',
-					showCancel:false
-				});
-			}
-	  		// this.improvingTaskList = data.improvingTaskResponses || [];
-	  		// this.completeTaskList = data.improveCompleteResponses || [];
-	  	}
-	  });
-	  /** 请求参数 data
-	   * situationId: 情境id 当管路员或者查核者通过情境进入任务列表时 必传
-	   * checkItemId 单位负责人通过 查核要点进入改善任务列表时 必传
-	   */
-      
-    },
-	clearForm(index){
-		 this.Index = '';
-		 this.deductPoint = 0;
-		 this.currentScore = 0;
-		 this.inputScore = 0;
-		 if(this.data.checkModelName == '访谈'){
-			 if(index){
-				 this.talkList[index].talkResult = '';
-			 }else {
-				 for(let i=0;i<this.talkList.length;i++){
-					 this.talkList[i].talkResult = '';
-				 }
-			 }
-		 	
-		 }else {
-		 	this.recordList[0].talkResult ='';
-		 }
-		 this.checkedSelectResultListIds=[];
-		 this.checkedSelectResultList=[];
-		 this.checkedSelectResultListData=[];
-	},
-	goToPrevPage(){
-		_goBackFresh('pages/checkMainPoints/checkMainPoints');
-	},
-	switchItem:async function(num){
-		await this.sureDetail();
-		let current = this.itemBelongGroup.filter(item=>{
-			  return item.id == this.id;
-		});
-		if(num<0){
-			if(current[0].index==0){
-				 uni.showToast({
-				     title: '已经没有上一项',
-				     duration: 2000,
-					 icon:'none'
-				 });
-				 return;
-			}
-		}
-		if(num>0){
-			if(current[0].index==this.itemBelongGroup.length-1){
-				 uni.showToast({
-				     title: '已经没有下一项',
-				     duration: 2000,
-					 icon:'none'
-				 });
-				 return;
-			}
-		}
-		let needItemIndex = num>0?current[0].index+1:current[0].index-1;
-		let needItemId = this.itemBelongGroup[needItemIndex].id;
-		// console.log({needItemIndex,needItemId});
-		this.clearForm();
-		this.checkTaskDetail(needItemId);	
-	},
-	// 获取查核项可配置列表
-	getCheckConfigList(checkItemId) {
-		this.$store.dispatch({
-			type: 'mainPointsDetail/commActions',
-			payload: {
-				key:'getCheckItemAttr',
-				data:checkItemId
-			}
-		}).then(data=>{
-			// console.log({data});
-			this.checkConfiglist = data
-		})
-	},
-	// 获取查核项结果说明下拉列表
-	getCheckItemResultList(checkItemId) {
-		this.$store.dispatch({
-			type: 'mainPointsDetail/commActions',
-			payload: {
-				key:'getCheckItemResultList',
-				data:checkItemId
-			}
-		}).then(data=>{
-			// console.log({data});
-			// const temp = [
-			// 	{resultName:'1',id:0},
-			// 	{resultName:'2',id:1},
-			// 	{resultName:'3',id:2},
-			// 	{resultName:'4',id:3}
-			// ]
-			// this.checkItemResultList = temp;
-			this.checkItemResultList = data;
-		})
-	},
-  },
-  onLoad({ id, checkPointId,checkItemId,situationType }) {
-    this.id = id;
-    this.checkPointId = checkPointId;
-	this.situationType = situationType;
-	this.getCheckConfigList(checkItemId);
-	this.getCheckItemResultList(checkItemId);
-	
-	//接收来自上个页面所传过来的数据
-	const eventChannel = this.getOpenerEventChannel();
-	eventChannel.on('acceptDataFromOpenerPage', (data)=>{
-	    // console.log({data});
-		this.itemBelongGroup =data.data[0].responseList.map((item,index)=>{
-			    return({
-					index:index,
-					id:item['id'],
-				})
-		});
-		//重新导航进页面,删除缓存并设置最新数据
-		uni.removeStorageSync('itemBelongGroup');
-	    uni.setStorageSync('itemBelongGroup',this.itemBelongGroup);
-	});
-	//手动刷新页面,获取本地缓存
-	const itemBelongGroup = uni.getStorageSync('itemBelongGroup');
-	this.itemBelongGroup = itemBelongGroup;
-  },
-};
-</script>
-
-<style lang="less">
-.mainPointsDetailPage {
-  position: relative;
-  // min-height: 75rpx;
-  // overflow-y: auto;
-  height: 100%;
-  
-  .checkItemResultModal {
-	  display: flex;
-	  height: 100%;
-	  justify-content: center;
-	  align-items: center;
-	  .modalContent {
-		   width: 90%;
-		   height:600rpx;
-		   border-radius: 10rpx;
-		   overflow: hidden;
-		   background-color: #FFFFFF;
-		   .modalBar{
-			   display: flex;
-			   justify-content: center;
-			   align-items: center;
-			   height: 80rpx;
-			   color: #4E78FF;
-			   font-size: 22.5rpx;
-			   box-shadow: 0 6rpx 6rpx #E5E5E5;
-			   border-bottom: 0.1rpx solid #E5E5E5;
-		   }
-		   .comfirmBtn {
-			   font-size: 22rpx;
-			   color: #FFFFFF;
-			   height: 85rpx;
-			   line-height: 85rpx;
-			   text-align: center;
-			   background-color: #3377FF;
-		   }
-		   .scroll {
-			   height: calc(100% - 160rpx);
-			   .list {
-				   position: relative;
-				   display: flex;
-				   height: 80rpx;
-				   justify-content: center;
-				   align-items: center;
-				   border-bottom: 0.1rpx solid #E5E5E5;
-				   .checkIcon {
-					   display: none;
-					   position: absolute;
-					   left:5%;
-					   width: 25rpx;
-					   height:25rpx;
-				   }
-				   
-				   &.on {
-					   color: #3377FF;
-					   .checkIcon {
-						   display: block;
-					   }
-				   }
-			   }
-		   }
-	  }
-  }
-  .scroll-y {
-    height: calc(100% - 75rpx);
-  }
-  .checkItem {
-    padding-top: 47.5rpx;
-    width: 100%;
-    min-height: 450rpx;
-    background-color: #fff;
-    position: relative;
-    .chBg {
-      position: absolute;
-      top: 0;
-      left: 0;
-      width: 125rpx;
-      height: 37.5rpx;
-      .img {
-        width: 125rpx;
-        height: 37.5rpx;
-      }
-      .title {
-        position: absolute;
-        top: 8.75rpx;
-        left: 25rpx;
-        font-size: 20rpx;
-        color: #fff;
-        font-weight: 500;
-        line-height: 20rpx;
-      }
-    }
-    .tlImg {
-      width: 40rpx;
-      height: 40rpx;
-      position: absolute;
-      right: 25rpx;
-      top: 25rpx;
-    }
-    .chContent {
-      width: 100%;
-      .checkItemName {
-        margin-left: 31.25rpx;
-        font-size: 25rpx;
-        line-height: 55rpx;
-        color: #292c33;
-      }
-      .checkPointName {
-        margin-left: 31.25rpx;
-        font-size: 17.5rpx;
-        line-height: 17.5rpx;
-        color: #7a8599;
-      }
-      .cont {
-        height: 135rpx;
-        .floatLeft {
-          float: left;
-        }
-        .borderLine {
-          margin-top: 56.25rpx;
-          width: 0.62rpx;
-          height: 25rpx;
-          background-color: #dadee6;
-        }
-        .other {
-          padding: 40rpx 0rpx;
-          height: 95rpx;
-          width: 187.18rpx;
-          text-align: center;
-          .letterTitle {
-            font-size: 17.5rpx;
-            color: #7a8599;
-            line-height: 17.5rpx;
-          }
-          .letterTitle2 {
-            height: 22.5rpx;
-            font-size: 22.5rpx;
-            line-height: 22.5rpx;
-            color: #292c33;
-            margin-bottom: 15rpx;
-            font-weight: 500;
-			overflow: hidden;
-			word-break: break-all;  /* break-all(允许在单词内换行。) */
-			text-overflow: ellipsis;  /* 超出部分省略号 */
-			display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
-			-webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
-			-webkit-line-clamp: 1; /** 显示的行数 **/
-          }
-        }
-      }
-      .checked {
-        margin-bottom: 40rpx;
-        padding: 0rpx 15.62rpx;
-        height: 75rpx;
-        .checked-checkItem {
-          margin: 0rpx 9.37rpx;
-          padding: 0;
-          width: 125rpx;
-          height: 75rpx;
-          background: #ebeff7;
-          float: left;
-          line-height: 75rpx;
-          text-align: center;
-          color: #292c33;
-          border-radius: 20rpx;
-          position: relative;
-          .img {
-            width: 51.25rpx;
-            height: 25rpx;
-            position: absolute;
-            right: -6.25rpx;
-            top: -6.25rpx;
-          }
-          .lastName {
-            color: #fff;
-            font-size: 13.75rpx;
-            line-height: 13.75rpx;
-            position: absolute;
-            right: 5rpx;
-            top: -1.87rpx;
-          }
-        }
-      }
-      .more {
-        margin: 0rpx 25rpx 0rpx 25rpx;
-        text-align: center;
-        border-top: 0.62rpx solid #dadee6;
-        text {
-          padding: 29.37rpx 0rpx 27.5rpx;
-          margin-right: 10rpx;
-          line-height: 22.5rpx;
-          font-size: 22.5rpx;
-          color: #3377ff;
-          display: inline-block;
-          vertical-align: top;
-        }
-        .moreImg {
-          margin-top: 28.75rpx;
-          width: 12.37rpx;
-          height: 21.21rpx;
-          display: inline-block;
-        }
-        .moreImg2 {
-          width: 12.37rpx;
-          height: 21.21rpx;
-        }
-      }
-	  .multipleResponsible {
-		  padding-top:15rpx;
-		  background-color:#F5F6FA;
-		  .inner {
-			  position: relative;
-			  display: flex;
-			  height: 87.5rpx;
-			  z-index: 10;
-			  flex-direction: row;
-			  justify-content: flex-start;
-			  align-items: center;
-			  padding: 0 25rpx;
-			  background-color: #FFFFFF;
-			  .label {
-				  display: inline-block;
-				  font-size: 22.5rpx;
-				  font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-				  font-weight: 400;
-				  color: #525866;
-				  margin-right: 105rpx;
-			  }
-			  .value {
-				  flex: 0.9;
-				  font-size: 22.5rpx;
-				  overflow:hidden; //超出的文本隐藏
-				  text-overflow:ellipsis; //溢出用省略号显示
-				  white-space:nowrap; //溢出不换行
-			  }
-			  .valuePlaceholder {
-				  font-size: 22.5rpx;
-				  font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-				  font-weight: 400;
-				  color: #B8BECC;
-			  }
-			  .arrow {
-				  position: absolute;
-				  right:25rpx;
-				  width: 12.5rpx;
-				  height: 20rpx;
-			  }
-		  }
-	  }
-	  .score {
-		 display: flex;
-		 height: 87.5rpx;
-		 flex-direction:row;
-		 justify-content: space-between;
-		 align-items: center;
-		 padding: 0 25rpx;
-		 background: #F5F6FA;
-		 .box {
-			 text-align: center;
-			 vertical-align: bottom;
-			 .lable {
-				 display: inline-block;
-				 font-size: 22.5rpx;
-				 font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-				 font-weight: 400;
-				 color: #525866;
-				 margin-right: 10rpx;
-			 }
-			 .totalScore {
-				 font-size: 30rpx;
-				 font-family: SourceHanSansCN-Bold, SourceHanSansCN;
-				 font-weight: bold;
-				 color: #292C33;
-			 }
-			
-			 .currentScore {
-				 font-size: 30rpx;
-				 font-family: SourceHanSansCN-Bold, SourceHanSansCN;
-				 font-weight: bold;
-				 color: #3377FF;
-			 }
-		 }
-	  }
-	  .inputScore {
-		  display: flex;
-		  flex-direction: row;
-		  justify-content: flex-start;
-		  align-items:center;
-		  height: 87.5rpx;
-		  padding: 0 25rpx;
-		  background-color: #FFFFFF;
-		  .label {
-			  display: inline-block;
-			  font-size: 22.5rpx;
-			  font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-			  font-weight: 400;
-			  color: #525866;
-			  margin-right: 81.25rpx;
-		  }
-		  .value {
-		  	  font-size: 22.5rpx;
-		  }
-		  .placeholder {
-			  font-size: 22.5rpx;
-			  font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-			  font-weight: 400;
-			  color: #525866;
-		  }
-	  }
-    }
-  }
-  .see {
-    margin-top: 15rpx;
-    height: 287.5rpx;
-    background-color: #fff;
-    // padding-left: 25rpx;
-    .seeResult {
-	  position: relative;
-      margin-left: 25rpx;
-      padding-top: 32.5rpx;
-      // height: 200rpx;
-      border-bottom: 1px solid #dadee6;
-	  .clear {
-		  position: absolute;
-		  z-index: 10;
-		  right: 25rpx;
-		  bottom: 25rpx;
-		  font-size: 22.5rpx;
-		  font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-		  font-weight: 400;
-		  color: #FF3355;
-	  }
-	  .seeResultFloorOne {
-		  display: flex;
-		  flex-direction: row;
-		  justify-content:space-between;
-		  align-items: center;
-		  margin-bottom: 25rpx;
-		  padding-right: 25rpx;
-		  .plusAction {
-			  display: flex;
-			  flex-direction: row;
-			  justify-content: center;
-			  align-items: center;
-			  .plusIcon {
-				  width: 25rpx;
-				  height: 25rpx;
-				  margin-right: 10rpx;
-			  }
-		      .threePoint {
-				   font-size: 22.5rpx;
-				   font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-				   font-weight: 400;
-				   color: #7A8599;
-		      }
-	      }
-		  
-	  }
-      .seeName {
-        width: 175rpx;
-        font-size: 22.5rpx;
-        color: #525866;
-        line-height: 22.5rpx;
-        display: inline-block;
-      }
-      .seeTextarea {
-        width: 97%;
-        height: 155rpx;
-        display: inline-block;
-        font-size: 22.5rpx;
-        line-height: 27.5rpx;
-      }
-    }
-    .seeImg {
-      min-height: 87.5rpx;
-      .seeName2 {
-        width: 175rpx;
-        font-size: 22.5rpx;
-        color: #525866;
-        line-height: 87.5rpx;
-        display: inline-block;
-      }
-    }
-  }
-  .talk {
-    .talkTitle {
-      padding: 25rpx 25rpx 15rpx;
-      font-size: 22.5rpx;
-      line-height: 22.5rpx;
-      color: #666f80;
-      .del {
-        float: right;
-        color: #3377ff;
-      }
-    }
-    .talkResult {
-	  position: relative;
-      padding-left: 25rpx;
-      padding-top: 32.5rpx;
-      border-bottom: 1px solid #dadee6;
-      background-color: #fff;
-	  .clear {
-	  		  position: absolute;
-			  z-index: 10;
-	  		  right: 25rpx;
-	  		  bottom: 25rpx;
-	  		  font-size: 22.5rpx;
-	  		  font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-	  		  font-weight: 400;
-	  		  color: #FF3355;
-	  }
-	  .seeResultFloorOne {
-	  		  display: flex;
-	  		  flex-direction: row;
-	  		  justify-content:space-between;
-	  		  align-items: center;
-	  		  margin-bottom: 25rpx;
-	  		  padding-right: 25rpx;
-	  		  .plusAction {
-				  display: flex;
-				  flex-direction: row;
-				  justify-content: center;
-				  align-items: center;
-				  .plusIcon {
-					  width: 25rpx;
-					  height: 25rpx;
-					  margin-right: 10rpx;
-				  }
-	  		      .threePoint {
-				   font-size: 22.5rpx;
-				   font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-				   font-weight: 400;
-				   color: #7A8599;
-	  		      }
-	  		  }
-	  }
-      .seeName {
-        width: 175rpx;
-        font-size: 22.5rpx;
-        color: #525866;
-        line-height: 22.5rpx;
-        display: inline-block;
-      }
-      .seeTextarea {
-        width: 531.25rpx;
-        height: 155rpx;
-        display: inline-block;
-        font-size: 22.5rpx;
-        line-height: 27.5rpx;
-      }
-    }
-    .talkImg {
-      min-height: 87.5rpx;
-      .seeName2 {
-        width: 175rpx;
-        font-size: 22.5rpx;
-        color: #525866;
-        line-height: 87.5rpx;
-        display: inline-block;
-      }
-    }
-  }
-  .insert {
-    background-color: #fff;
-    font-size: 22.5rpx;
-    line-height: 22.5rpx;
-    color: #3377ff;
-    padding: 26.25rpx;
-  }
-  .sureDetail {
-    width: 100%;
-    height: 75rpx;
-    font-size: 22.5rpx;
-    background-color: #3377ff;
-    line-height: 75rpx;
-    position: absolute;
-    bottom: 0rpx;
-  }
-  .bottomMenuGroup {
-  	position: fixed;
-  	bottom: 0;
-  	width: 100%;
-  	height: 75rpx;
-  	display: flex;
-  	flex-direction: row;
-  	background: #FFFFFF;
-  	border-top:0.62rpx solid #DADEE6;
-  	.menuBtn {
-  		display: flex;
-  		width: 75rpx;
-  		height: 75rpx;
-  		justify-content: center;
-  		align-items: center;
-  		border-right: 0.62rpx solid #DADEE6;
-  		.threeLineMenuIcon {
-  			width: 26.25rpx;
-  			height: 21.25rpx;
-  		}
-  		
-  	}
-	.prevBtn,.nextBtn {
-		display: flex;
-		flex: 1;
-	    justify-content: center;
-		height:75rpx;
-		line-height:75rpx;
-		font-size: 22.5rpx;
-		font-family: SourceHanSansCN-Normal, SourceHanSansCN;
-		font-weight: 400;
-		color: #3377FF;
-	}
-  	.prevBtn {
-  		border-right: 0.62rpx solid #DADEE6;
-  	}
-	.nextBtn{
-		color: #FFFFFF;
-		background: #3377FF;
-	}
-  }
-}
+<template>
+	<view class="mainPointsDetailPage">
+		<tm-modal v-if="showSelectModal" @click="clickModalhandle">
+			<view class="checkItemResultModal">
+				<view class="modalContent">
+					<view class="modalBar">请选择查核结果</view>
+					<scroll-view v-if="data.checkModelName != '访谈'" class="scroll" scroll-y="true">
+						<view v-for="item in checkItemResultList"
+							:class="[checkedSelectResultListIds.includes(item.id)?'list on':'list']" :key="item.id"
+							@click.stop="selectResultHandle(item)">
+							<image class="checkIcon" src="../../static/check-checkbox.png" mode=""></image>
+							{{item.resultName}}
+						</view>
+					</scroll-view>
+
+					<scroll-view v-if="data.checkModelName == '访谈'" class="scroll" scroll-y="true">
+						<view v-for="item in checkItemResultList"
+							:class="[checkedSelectResultListIds[currentEditTextAreaIndex]&&checkedSelectResultListIds[currentEditTextAreaIndex].includes(item.id)?'list on':'list']"
+							:key="item.id" @click.stop="selectResultHandle(item)">
+							<image class="checkIcon" src="../../static/check-checkbox.png" mode=""></image>
+							{{item.resultName}}
+						</view>
+					</scroll-view>
+					<view class="comfirmBtn" @click="commitSelectResult">确定</view>
+				</view>
+			</view>
+		</tm-modal>
+		<scroll-view scroll-y="true" class="scroll-y">
+			<view class="checkItem">
+				<view class="chBg">
+					<image src="../../static/chahexiang-bg.png" mode="" class="img"></image>
+					<text class="title">查核项</text>
+				</view>
+				<image src="../../static/tuli.png" mode="" class="tlImg" @click="toTuLi"></image>
+				<view class="chContent">
+					<view class="checkItemName">{{ data.checkItemName ? data.checkItemName : "" }}</view>
+					<view class="checkPointName">{{ data.checkPointName ? data.checkPointName : "" }}</view>
+					<view class="cont">
+						<view class="floatLeft other">
+							<view class="letterTitle2">{{ data.deptName ? data.deptName : "" }}</view>
+							<view class="letterTitle">查核单位</view>
+						</view>
+						<view class="floatLeft borderLine"></view>
+						<view class="floatLeft other">
+							<view class="letterTitle2">{{ data.checkModelName ? data.checkModelName : "" }}</view>
+							<view class="letterTitle">查核方式</view>
+						</view>
+						<view class="floatLeft borderLine"></view>
+						<view class="floatLeft other">
+							<view class="letterTitle2">{{ data.lastResult ? data.lastResult : "" }}</view>
+							<view class="letterTitle">上次结果</view>
+						</view>
+						<view class="floatLeft borderLine"></view>
+						<view class="floatLeft other">
+							<view class="letterTitle2">{{ data.checkResult ? data.checkResult : "" }}</view>
+							<view class="letterTitle">本次结果</view>
+						</view>
+					</view>
+					<view class="checked">
+						<view class="checked-checkItem" v-for="item in checkConfiglist" :key="item.attr"
+							@click="checkedOne(item)" :style="
+                Index == item.attr
+                  ? { backgroundColor: '#3377FF', color: '#fff' }
+                  : { backgroundColor: '#EBEFF7' }
+              ">{{item.attr}}
+							<view v-if="lastIndex == item.attr">
+								<image src="../../static/shangci.png" mode="" class="img"></image>
+								<text class="lastName">上次</text>
+							</view>
+						</view>
+
+					</view>
+					<view class="more" @click="toHistory">
+						<text>查看改善历史</text>
+						<view class="moreImg">
+							<image src="../../static/blue-arrow.png" mode="" class="moreImg2"></image>
+						</view>
+					</view>
+					<view class="multipleResponsible">
+						<view class="inner" @click="toSelectResponsible">
+							<text class="label">当事人</text>
+							<input type="text" disabled v-model="checkedResponsibleList.join(',')"
+								placeholder="请选择当事人(可多选)" class="value" placeholder-class="valuePlaceholder" />
+							<image class="arrow" src="../../static/incon-more.png" mode=""></image>
+						</view>
+					</view>
+					<view class="score">
+						<view class="box">
+							<text class="lable">总分</text>
+							<text class="totalScore">{{totalScore}}</text>
+						</view>
+						<view class="box">
+							<text class="lable">本次得分</text>
+							<text class="currentScore">{{currentScore>0?currentScore:0}}</text>
+						</view>
+					</view>
+					<view class="inputScore">
+						<text class="label">本项扣分</text>
+						<!-- 	<text class="label">{{deductPoint}}</text> -->
+						<input class="value" @input="onInputScore" type="number" v-model="inputScore"
+							:placeholder="deductPoint+''" placeholder-class="placeholder" />
+					</view>
+				</view>
+			</view>
+			<view v-if="data.checkModelName == '访谈'" class="talk">
+				<view v-for="(item, i) in talkList">
+					<view class="talkTitle">
+						<text>访谈内容{{ i + 1 }}{{ i == 0 ? "" : "(访谈人员:护士、医生)" }}</text>
+						<text v-if="i != 0" class="del" @click="del(i)">删除</text>
+					</view>
+					<view>
+						<view class="talkResult">
+							<view class="seeResultFloorOne">
+								<text class="seeName">查核结果</text>
+								<view class="plusAction" v-if="checkItemResultList.length>0"
+									@click="openSelectModal(i)">
+									<image class="plusIcon" src="../../static/icon-add.png" mode=""></image>
+									<text class="threePoint">缺陷</text>
+								</view>
+								<!-- <text v-if="checkItemResultList.length>0" class="threePoint" @click="openSelectModal(i)">⋮</text> -->
+							</view>
+							<text class="clear" @click="clearResult(true,i)">清空</text>
+							<textarea maxlength="300" class="seeTextarea" value="" placeholder="请输入"
+								:value="item.talkResult" @blur="changeTextarea($event, i)"></textarea>
+						</view>
+						<view class="talkImg" @click="imgClick(i)">
+							<tm-upload-img label="上传图片" :filePaths="item.filePath" :isMultiple="true"
+								@changeFilePaths="changeFilePaths2" />
+						</view>
+					</view>
+				</view>
+			</view>
+			<view v-else class="see">
+				<view class="seeResult">
+					<view class="seeResultFloorOne">
+						<text class="seeName">查核结果</text>
+						<view class="plusAction" v-if="checkItemResultList.length>0" @click="openSelectModal">
+							<image class="plusIcon" src="../../static/icon-add.png" mode=""></image>
+							<text class="threePoint">缺陷</text>
+						</view>
+						<!-- <text class="threePoint" v-if="checkItemResultList" @click="openSelectModal">⋮</text> -->
+						<!-- <dropdown :list="checkItemResultList" :current="currentSelect" @onClick="dropDownChange"></dropdown> -->
+					</view>
+					<text class="clear" @click="clearResult(false)">清空</text>
+					<textarea maxlength="300" class="seeTextarea" placeholder="请输入" :value="recordList[0].seeResult"
+						@blur="changeTextarea2"></textarea>
+				</view>
+				<view class="seeImg">
+					<tm-upload-img label="上传图片" :filePaths="filePath" :isMultiple="true"
+						@changeFilePaths="changeFilePaths" />
+				</view>
+			</view>
+
+			<button class="insert" @click="insert" v-if="data.checkModelName == '访谈'">
+				+ 增加一条记录
+			</button>
+		</scroll-view>
+		<!-- <button type="primary" class="sureDetail" @click="sureDetail" v-if="data.display?data.display:false">完成</button> -->
+		<view class="bottomMenuGroup">
+			<view class="menuBtn" @click="goToPrevPage">
+				<image class="threeLineMenuIcon" src="/static/threeLineMenu.png"></image>
+			</view>
+			<view class="prevBtn" @click="switchItem(1)">下一项</view>
+			<view class="nextBtn" @click="sureDetail('back')" v-if="data.display?data.display:false">完成</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		_goBackFresh
+	} from '../../utils/compatible.js';
+	// import ldSelect from '@/components/ld-select/ld-select.vue'
+	export default {
+		// components:{ldSelect},
+		data() {
+			return {
+				value: '',
+				showSelectModal: false,
+				data: {}, //详情数据
+				lastIndex: null, //上次选中的结果
+				Index: null, //点击修改本次选中样式
+				filePath: [],
+				recordList: [{
+					seeResult: "",
+					filePath: []
+				}],
+				talkLength: 1,
+				talkList: [{
+					talkResult: "",
+					filePath: []
+				}],
+				editIndex: null,
+				resultConfigList: [],
+				id: "",
+				checkPointId: "",
+				itemBelongGroup: [],
+				itemId: '',
+				currentEditTextAreaIndex: '',
+				checkItemResultList: [], //查核结果说明下拉列表
+				checkedSelectResultList: [], //下拉结果选中集合
+				checkedSelectResultListIds: [],
+				currentSelect: '',
+				checkItemScore: null, //查核选中的分数
+				checkItemValue: null, //查核选中的分数占比
+				checkConfiglist: [], //查核情况可配置列表
+				totalScore: 0, //总分
+				currentScore: 0, //当前得分
+				inputScore: null, //手动填写分值
+				selectedScore: 0, //缺失项分值
+				checkedResponsibleList: [],
+				deptId: '', //病区id
+				checkedResponsibleData: [],
+				checkedSelectResultListData: [],
+				multiSelectScore: [],
+				deductPoint: 0, //本次扣分
+				currentCheckedTab: null, //当前选中的查核tab
+			};
+		},
+		onShow() {
+			const {
+				responsibleList
+			} = this.$store.state;
+			this.checkedResponsibleData = responsibleList.checkedResponsibleList;
+			this.checkedResponsibleList = responsibleList.checkedResponsibleList.map(item => item.main);
+		},
+		computed: {},
+		watch: {
+			checkedResponsibleList: function() {
+				const {
+					responsibleList
+				} = this.$store.state;
+				// console.log({responsibleList});
+				return responsibleList.checkedResponsibleList.map(item => item.main);
+			}
+		},
+		mounted() {
+			this.checkTaskDetail(this.id);
+			this.getPeizhiList();
+
+		},
+		onBackPress() {
+			this.$store.commit('checkMainPoints/comChangeState', { //刷新前一页数据
+				key: 'ifReloadPageData',
+				data: true
+			});
+		},
+		methods: {
+			//查核结果清空操作
+			clearResult(ifMulti, index) {
+				if (ifMulti) {
+					//多个查核结果组件时
+					this.talkList[index].talkResult = '';
+					this.multiSelectScore[index] = 0;
+					this.selectedScore = this.multiSelectScore.reduce((prev, cur) => (prev + cur), 0);
+
+					this.checkedSelectResultListIds.splice(index, 1, []);
+					this.checkedSelectResultList.splice(index, 1, []);
+					this.checkedSelectResultListData.splice(index, 1, []);
+
+				} else {
+					this.recordList[0].seeResult = '';
+					this.selectedScore = 0;
+					this.checkedSelectResultListIds = [];
+					this.checkedSelectResultList = [];
+					this.checkedSelectResultListData = [];
+				}
+			},
+			clickModalhandle() {
+				this.showSelectModal = false;
+			},
+			openSelectModal(index) {
+				// console.log({index});
+				if (index >= 0) {
+					this.currentEditTextAreaIndex = index;
+				}
+				this.showSelectModal = true;
+			},
+			//跳转选择当事人
+			toSelectResponsible() {
+				// console.log(this.deptId);
+				uni.navigateTo({
+					url: `/pages/responsibleList/responsibleList?deptId=${this.deptId}&checkId=${this.id}`,
+					// animationType: 'pop-in',
+					// animationDuration: 200
+				});
+			},
+			onInputScore(e) {
+				this.inputScore = e.target.value;
+				this.currentScore = this.totalScore - e.target.value;
+			},
+			selectResultHandle(item) {
+
+				if (this.data.checkModelName == '访谈') {
+					const currentIndex = this.currentEditTextAreaIndex;
+					if (this.checkedSelectResultListIds[currentIndex] && this.checkedSelectResultListIds[currentIndex]
+						.includes(item.id)) {
+						console.log('减去');
+						const tempIdsArr = JSON.parse(JSON.stringify(this.checkedSelectResultListIds[currentIndex]));
+						const tempArr = JSON.parse(JSON.stringify(this.checkedSelectResultList[currentIndex]));
+						const tempArrData = JSON.parse(JSON.stringify(this.checkedSelectResultListData[currentIndex]));
+
+						tempIdsArr.splice(tempIdsArr.indexOf(item.id), 1);
+						tempArr.splice(tempArr.indexOf(item.resultName), 1);
+						tempArrData.splice(tempArrData.indexOf(item.id), 1);
+
+						// console.log({tempIdsArr});
+
+						this.checkedSelectResultListIds.splice(currentIndex, 1, tempIdsArr);
+						this.checkedSelectResultList.splice(currentIndex, 1, tempArr);
+						this.checkedSelectResultListData.splice(currentIndex, 1, tempArrData);
+					} else {
+						if (!Array.isArray(this.checkedSelectResultListIds[currentIndex])) this.checkedSelectResultListIds[
+							currentIndex] = [];
+						if (!Array.isArray(this.checkedSelectResultList[currentIndex])) this.checkedSelectResultList[
+							currentIndex] = [];
+						if (!Array.isArray(this.checkedSelectResultListData[currentIndex])) this
+							.checkedSelectResultListData[currentIndex] = [];
+
+						const tempIdsArr = this.checkedSelectResultListIds[currentIndex].concat([item.id]);
+						const tempArr = this.checkedSelectResultList[currentIndex].concat([item.resultName]);
+						const tempArrData = this.checkedSelectResultListData[currentIndex].concat([item]);
+
+						this.checkedSelectResultListIds.splice(currentIndex, 1, tempIdsArr);
+						this.checkedSelectResultList.splice(currentIndex, 1, tempArr);
+						this.checkedSelectResultListData.splice(currentIndex, 1, tempArrData);
+						// console.log(this.checkedSelectResultListIds[currentIndex],`index:${currentIndex}`);
+					}
+				} else {
+					if (this.checkedSelectResultListIds.includes(item.id)) {
+						const tempIdsArr = JSON.parse(JSON.stringify(this.checkedSelectResultListIds));
+						const tempArr = JSON.parse(JSON.stringify(this.checkedSelectResultList));
+						const tempArrData = JSON.parse(JSON.stringify(this.checkedSelectResultListData));
+						tempIdsArr.splice(tempIdsArr.indexOf(item.id), 1);
+						tempArr.splice(tempArr.indexOf(item.resultName), 1);
+						tempArrData.splice(tempArrData.indexOf(item.id), 1);
+						this.checkedSelectResultListIds = tempIdsArr;
+						this.checkedSelectResultList = tempArr;
+						this.checkedSelectResultListData = tempArrData;
+					} else {
+						this.checkedSelectResultListIds.push(item.id);
+						this.checkedSelectResultList.push(item.resultName);
+						this.checkedSelectResultListData.push(item);
+					}
+				}
+			},
+			commitSelectResult() {
+
+				const _commitFunc = () => {
+					if (this.data.checkModelName == '访谈') {
+						const tempArr = this.checkedSelectResultListData[this.currentEditTextAreaIndex].map(item =>
+							item.percentScore);
+						const tempScore = tempArr.reduce((prev, cur) => {
+							return prev + cur;
+						}, 0);
+
+						this.talkList[this.currentEditTextAreaIndex].talkResult = this.checkedSelectResultList[this
+							.currentEditTextAreaIndex].join(',');
+						this.multiSelectScore[this.currentEditTextAreaIndex] = tempScore;
+						this.selectedScore = this.multiSelectScore.reduce((prev, cur) => (prev + cur), 0);
+
+						if (!this.inputScore) {
+							this.deductPoint = this.checkItemScore + this.selectedScore;
+							this.currentScore = this.totalScore - this.deductPoint;
+						}
+
+
+					} else {
+						const tempArr = this.checkedSelectResultListData.map(item => item.percentScore);
+						const tempScore = tempArr.reduce((prev, cur) => {
+							return prev + cur;
+						}, 0);
+						this.recordList[0].seeResult = this.checkedSelectResultList.join(',');
+						this.selectedScore = tempScore;
+
+						if (this.inputScore) {
+							this.deductPoint = this.checkItemScore + this.selectedScore;
+							this.currentScore = this.totalScore - this.deductPoint;
+						}
+					}
+				}
+				_commitFunc();
+				this.showSelectModal = false;
+			},
+			checkTaskDetail(id) {
+				this.$store.dispatch({
+					type: "mainPointsDetail/commActions",
+					payload: {
+						key: "checkTaskDetail",
+						data: {
+							id: id,
+						},
+					},
+				}).then((res) => {
+					this.id = id;
+					this.deptId = res.deptId;
+					//再次编辑回显
+					const filePath = res.checkResultTxt ? JSON.parse(res.checkResultTxt) : [];
+					this.filePath = filePath[0] && filePath[0].checkResultUrl != '' ? filePath[0].checkResultUrl
+						.split(',') : [];
+					this.Index = res.checkResult;
+					this.totalScore = res.totalScore;
+					this.deductPoint = res.deductPoint;
+					this.currentScore = res.score;
+					
+					if (res.checkResultRequestList && res.checkResultRequestList.length > 0) {
+						if (res.checkModelName == '访谈') {
+							this.talkList = res.checkResultRequestList.map((item, currentIndex) => {
+								const arr = item.checkResultDescribe.split(',');
+								const tempResult = this.checkItemResultList.filter(v => arr.includes(v
+									.resultName));
+								// console.log({tempResult});
+
+								if (!Array.isArray(this.checkedSelectResultListIds[currentIndex])) this
+									.checkedSelectResultListIds[currentIndex] = [];
+								if (!Array.isArray(this.checkedSelectResultList[currentIndex])) this
+									.checkedSelectResultList[currentIndex] = [];
+								if (!Array.isArray(this.checkedSelectResultListData[currentIndex])) this
+									.checkedSelectResultListData[currentIndex] = [];
+
+								const tempIdsArr = this.checkedSelectResultListIds[currentIndex].concat(
+									tempResult.map(item => item.id));
+								const tempArr = this.checkedSelectResultList[currentIndex].concat(
+									tempResult.map(item => item.resultName));
+								// const tempArrData = this.checkedSelectResultListData[currentIndex].concat(tempResult.map(item=>item));
+
+								this.checkedSelectResultListIds.splice(currentIndex, 1, tempIdsArr);
+								this.checkedSelectResultList.splice(currentIndex, 1, tempArr);
+								this.checkedSelectResultListData.splice(currentIndex, 1, tempResult);
+
+								const tempArrFull = this.checkedSelectResultListData[currentIndex].map(
+									item => item.percentScore);
+								const tempScore = tempArrFull.reduce((prev, cur) => {
+									return prev + cur;
+								}, 0);
+								this.multiSelectScore[currentIndex] = tempScore;
+								return {
+									talkResult: item.checkResultDescribe,
+									filePath: item.checkResultUrl != '' ? item.checkResultUrl.split(',') :
+										[]
+								}
+							});
+							//设置回显分数
+							this.selectedScore = this.multiSelectScore.reduce((prev, cur) => (prev + cur), 0);
+
+						} else {
+							//       console.log('非访谈');
+							// console.log(res.checkResultRequestList[0]);
+							const arr = res.checkResultRequestList[0].checkResultDescribe.split(',');
+							const tempResult = this.checkItemResultList.filter(v => arr.includes(v.resultName));
+							const tempIds = tempResult.map(item => item.id);
+							const scores = tempResult.map(item => item.percentScore);
+							const tempScore = scores.reduce((prev, cur) => (prev + cur), 0);
+							this.recordList[0].seeResult = res.checkResultRequestList[0].checkResultDescribe;
+							this.checkedSelectResultListIds = tempIds;
+							this.checkedSelectResultList = res.checkResultRequestList[0].checkResultDescribe.split(
+								',');
+							this.checkedSelectResultListData = tempResult;
+							this.selectedScore = tempScore;
+
+						}
+					}
+
+					//用于当时人页面回显
+					if (res.responsibleUserName) {
+						const tempResponsibleUserName = res.responsibleUserName.split(',');
+						const tempResponsibleUserId = res.responsibleUserId.split(',');
+						this.checkedResponsibleList = tempResponsibleUserName;
+						const arr = tempResponsibleUserName.map((item, index) => ({
+							main: item,
+							id: parseInt(tempResponsibleUserId[index])
+						}));
+						// console.log({arr});
+						this.$store.commit('responsibleList/updateCheckedResponsibleList', arr);
+					} else {
+						this.checkedResponsibleList = [];
+						this.$store.commit('responsibleList/updateCheckedResponsibleList', []);
+					}
+
+					if (res) {
+						// console.log({res});
+						this.data = res;
+						if (res && res.lastResult == "不适用") {
+							// this.lastIndex = 1;
+							this.lastIndex = res.lastResult;
+						} else if (res && res.lastResult == "无缺失") {
+							this.lastIndex = res.lastResult;
+						} else if (res && res.lastResult == "主要缺失") {
+							this.lastIndex = res.lastResult;
+						} else if (res && res.lastResult == "次要缺失") {
+							this.lastIndex = res.lastResult;
+						} else if (res && res.lastResult == "观察事项") {
+							this.lastIndex = res.lastResult;
+						} else {
+							this.lastIndex = 0;
+						}
+					}
+				});
+			},
+			getPeizhiList() {
+				this.$store.dispatch({
+					type: "configure/commActions",
+					payload: {
+						key: "getResultConfig",
+					},
+				}).then((res) => {
+					this.resultConfigList = res ? res : [];
+				});
+			},
+			//查核点击回调
+			checkedOne(data) {
+				const parsedData = JSON.parse(JSON.stringify(data));
+				this.currentCheckedTab = data;
+				this.Index = parsedData.attr;
+				this.data.checkResult = parsedData.attr;
+				this.checkItemScore = parsedData.itemGetScore;
+				this.checkItemValue = parsedData.value;
+				this.calScore = parsedData.calScore;
+				if (!this.inputScore) {
+					this.deductPoint = parsedData.itemGetScore;
+					this.currentScore = this.totalScore - parsedData.itemGetScore;
+				}
+
+				//    this.Index = data;
+				// this.data.checkResult = data;
+				// if (data == 1) {
+				//   this.data.checkResult = "不适用";
+				// } else if (data == 2) {
+				//   this.data.checkResult = "无缺失";
+				// } else if (data == 3) {
+				//   this.data.checkResult = "主要缺失";
+				// } else if (data == 4) {
+				//   this.data.checkResult = "次要缺失";
+				// } else if (data == 5) {
+				//   this.data.checkResult = "观察事项";
+				// } else {
+				//   this.data.checkResult = "";
+				// }
+			},
+			changeFilePaths(filePaths, index) {
+				let _recordList = [...this.recordList];
+				_recordList[index].filePath = filePaths;
+				this.filePath = _recordList[0].filePath;
+			},
+			insert() {
+				let list = [...this.talkList];
+				if (list.length < 10) {
+					list.push({
+						talkResult: "",
+						filePath: []
+					});
+					this.talkList = list;
+				}
+			},
+			del(index) {
+				let list = [...this.talkList];
+				let list2 = [];
+				for (let i = 0; i < list.length; i++) {
+					if (i != index) {
+						list2.push(list[i]);
+					}
+				}
+				this.talkList = list2;
+			},
+			changeFilePaths2(filePaths, index) {
+				for (let j = 0; j < this.talkList.length; j++) {
+					this.talkList[this.editIndex].filePath = filePaths;
+				}
+			},
+			changeTextarea(e, i) {
+				for (let j = 0; j < this.talkList.length; j++) {
+					this.talkList[i].talkResult = e.detail.value;
+				}
+			},
+			changeTextarea2(e) {
+				this.recordList[0].seeResult = e.target.value;
+			},
+			imgClick(i) {
+				this.editIndex = i;
+			},
+			sureDetail(key) {
+				console.log('commit check');
+				return new Promise((resolve)=>{
+					     const _commitCheck = () => {
+							 try{
+								   if (this.Index) {
+								   	let params = {
+								   		id: this.data.id,
+								   		checkResult: this.data.checkResult,
+								   		checkResultRequestList: [],
+								   		checkItemScore: this.checkItemScore,
+								   		value: this.checkItemValue,
+								   		situationType: this.situationType,
+								   		calScore: this.calScore,
+								   		// responsibleUserId:(this.checkedResponsibleData.map(item=>item.id)).join(','),
+								   		// responsibleUserName:(this.checkedResponsibleData.map(item=>item.main)).join(','),
+								   		score: Number(this.currentScore),
+								   		deductPoint: Number(this.inputScore ? this.inputScore : this.deductPoint),
+								   	};
+								   					     
+								   					     
+								   	if (this.data.checkModelName == "访谈") {
+								   		let list = [];
+								   		for (let i = 0; i < this.talkList.length; i++) {
+								   			let path = "";
+								   			for (let j = 0; j < this.talkList[i].filePath.length; j++) {
+								   				if (j == 0) {
+								   					path += `${this.talkList[i].filePath[j]}`;
+								   				} else {
+								   					path += `,${this.talkList[i].filePath[j]}`;
+								   				}
+								   			}
+								   			let item = {
+								   				checkResultId: i,
+								   				checkResultDescribe: this.talkList[i].talkResult,
+								   				checkResultUrl: path,
+								   			};
+								   					     
+								   			list.push(item);
+								   		}
+								   		params.checkResultRequestList = list;
+								   	} else {
+								   		let list = [];
+								   		let path = "";
+								   		for (let j = 0; j < this.recordList[0].filePath.length; j++) {
+								   			if (j == 0) {
+								   				path += `${this.recordList[0].filePath[j]}`;
+								   			} else {
+								   				path += `,${this.recordList[0].filePath[j]}`;
+								   			}
+								   		}
+								   		let item = {
+								   			checkResultId: 1,
+								   			checkResultDescribe: this.recordList[0].seeResult,
+								   			checkResultUrl: path,
+								   		};
+								   					     
+								   		list.push(item);
+								   		params.checkResultRequestList = list;
+								   	}
+								   	const checkConfiglist = JSON.parse(JSON.stringify(this.checkConfiglist));
+								   	// console.log({params});
+								   	// return;
+								   	this.$store.dispatch({
+								   		type: "mainPointsDetail/commActions",
+								   		payload: {
+								   			key: "saveCheckTaskDetail",
+								   			data: {
+								   				...params,
+								   			},
+								   		},
+								   	}).then((res) => {
+								   		// console.log({'res':res,'checkConfiglist':checkConfiglist});
+								   		if (res) {
+								   			resolve(true);
+								   			for (let i = 0; i < checkConfiglist.length; i++) {
+								   				if (
+								   					checkConfiglist[i].attr == params.checkResult &&
+								   					(checkConfiglist[i].resultType == 2 ||
+								   						checkConfiglist[i].resultType == 3)
+								   				) {
+								   					console.log('开始提交改善前准备');
+								   					     
+								   					let param = {
+								   						situationId: this.data.situationId,
+								   						situationName: this.data.situationName,
+								   						checkGroupId: this.data.checkGroupId,
+								   						checkGroupName: this.data.checkGroupName,
+								   						checkItemId: this.data.checkItemId,
+								   						checkItemName: this.data.checkItemName,
+								   						checkPointId: this.data.checkPointId,
+								   						checkPointName: this.data.checkPointName,
+								   						deptName: this.data.deptName,
+								   						deptId: this.data.deptId,
+								   						appointFlag: false,
+								   						desicion: 0,
+								   						taskType: "1",
+								   						checkId: this.data.checkId,
+								   						checkResult: 0,
+								   						newResultType: checkConfiglist[i].resultType,
+								   						// checkResult: this.resultConfigList[i].id,
+								   						receiveEmpId: this.data.receiveEmpId,
+								   						receiveEmpName: this.data.receiveEmpName,
+								   						checkDetailId: this.data.id,
+								   					};
+								   					     
+								   					this.$store.dispatch({
+								   						type: "mission/commActions",
+								   						payload: {
+								   							key: "comTaskCirculation",
+								   							data: {
+								   								...param,
+								   							},
+								   						},
+								   					});
+								   				} else {
+								   					console.log('改善条件为false');
+								   				}
+								   			}
+								   					     
+								   			if (key == 'back') {
+								   				//点完成时返回
+								   				console.log('开始返回');
+								   				this.$store.commit('checkMainPoints/comChangeState', {
+								   					'key': 'ifUpdate',
+								   					'data': true
+								   				});
+								   				_goBackFresh('pages/checkMainPoints/checkMainPoints');
+								   			}
+								   			// _goBackFresh('pages/checkMainPoints/checkMainPoints');
+								   			//去查核详情页
+								   			// uni.navigateTo({
+								   			//   url: `/pages/auditItemDetails/auditItemDetails?id=${this.data.id}&checkPointId=${this.checkPointId}`,
+								   			// });
+								   		} else {
+								   			console.log('res为false');
+								   			resolve(false);
+								   		}
+								   	});
+								   } else {
+								   	uni.showModal({
+								   		title: "检查选项未选择",
+								   		showCancel: false,
+								   	});
+								   	resolve(false);
+								   }
+							 }catch(err){
+								 resolve(err);
+							 }     
+					     }
+					     
+					     if(this.data.checkResult == '无缺失'&&this.deductPoint != 0){
+					     	//查核结果为‘无缺失’且扣分为非0
+					     	uni.showModal({
+					     	    title: '提示',
+					     	    content: `当前选择无缺失结果,但扣分数为${this.deductPoint},确认继续提交么?`,
+					     	    success: function (res) {
+					     	        if (res.confirm) {
+					     	            _commitCheck();
+					     	        } else if (res.cancel) {
+					     	            console.log('用户点击取消操作');
+										resolve(false);
+					     	        }
+					     	    }
+					     	});
+					     }else{
+							 _commitCheck();
+						 }
+				})
+			},
+			toTuLi() {
+				uni.navigateTo({
+					url: `/pages/legendDetails/legendDetails?checkItemId=${this.data.checkItemId}&checkPointId=${this.checkPointId}`,
+				});
+			},
+			toHistory() {
+				const situationId = this.data.situationId;
+				this.$store.dispatch({
+					type: 'mission/commActions',
+					payload: {
+						key: "getMissionList",
+						data: {
+							situationId
+						}
+					}
+				}).then(data => {
+					if (data) {
+						if (data.improvingTaskResponses.length > 0) {
+							uni.navigateTo({
+								url: `/pages/improve-mission-list/improve-mission-list?situationId=${this.data.situationId}`,
+							});
+						} else {
+							uni.showModal({
+								content: '暂无改善历史',
+								showCancel: false
+							});
+						}
+						// this.improvingTaskList = data.improvingTaskResponses || [];
+						// this.completeTaskList = data.improveCompleteResponses || [];
+					}
+				});
+				/** 请求参数 data
+				 * situationId: 情境id 当管路员或者查核者通过情境进入任务列表时 必传
+				 * checkItemId 单位负责人通过 查核要点进入改善任务列表时 必传
+				 */
+
+			},
+			clearForm(index) {
+				this.Index = '';
+				this.deductPoint = 0;
+				this.currentScore = 0;
+				this.inputScore = 0;
+				if (this.data.checkModelName == '访谈') {
+					if (index) {
+						this.talkList[index].talkResult = '';
+					} else {
+						for (let i = 0; i < this.talkList.length; i++) {
+							this.talkList[i].talkResult = '';
+						}
+					}
+
+				} else {
+					this.recordList[0].talkResult = '';
+				}
+				this.checkedSelectResultListIds = [];
+				this.checkedSelectResultList = [];
+				this.checkedSelectResultListData = [];
+			},
+			goToPrevPage() {
+				_goBackFresh('pages/checkMainPoints/checkMainPoints');
+			},
+			switchItem: async function(num) {
+				if (!this.data.checkResult) {
+					uni.showToast({
+						title: '请先选择查核结果!',
+						duration: 2000,
+						icon: 'none'
+					});
+					return;
+				}
+				const result = await this.sureDetail();
+				console.log({result});
+				if(result){
+					  let current = this.itemBelongGroup.filter(item => {
+					  	return item.id == this.id;
+					  });
+					  if (num < 0) {
+					  	if (current[0].index == 0) {
+					  		uni.showToast({
+					  			title: '已经没有上一项',
+					  			duration: 2000,
+					  			icon: 'none'
+					  		});
+					  		return;
+					  	}
+					  }
+					  if (num > 0) {
+					  	if (current[0].index == this.itemBelongGroup.length - 1) {
+					  		uni.showToast({
+					  			title: '已经没有下一项',
+					  			duration: 2000,
+					  			icon: 'none'
+					  		});
+					  		return;
+					  	}
+					  }
+					  let needItemIndex = num > 0 ? current[0].index + 1 : current[0].index - 1;
+					  let needItemId = this.itemBelongGroup[needItemIndex].id;
+					  // console.log({needItemIndex,needItemId});
+					  this.clearForm();
+					  this.checkTaskDetail(needItemId);
+				};
+			},
+			// 获取查核项可配置列表
+			getCheckConfigList(checkItemId) {
+				this.$store.dispatch({
+					type: 'mainPointsDetail/commActions',
+					payload: {
+						key: 'getCheckItemAttr',
+						data: checkItemId
+					}
+				}).then(data => {
+					// console.log({data});
+					this.checkConfiglist = data
+				})
+			},
+			// 获取查核项结果说明下拉列表
+			getCheckItemResultList(checkItemId) {
+				this.$store.dispatch({
+					type: 'mainPointsDetail/commActions',
+					payload: {
+						key: 'getCheckItemResultList',
+						data: checkItemId
+					}
+				}).then(data => {
+					// console.log({data});
+					// const temp = [
+					// 	{resultName:'1',id:0},
+					// 	{resultName:'2',id:1},
+					// 	{resultName:'3',id:2},
+					// 	{resultName:'4',id:3}
+					// ]
+					// this.checkItemResultList = temp;
+					this.checkItemResultList = data;
+				})
+			},
+		},
+		onLoad({
+			id,
+			checkPointId,
+			checkItemId,
+			situationType
+		}) {
+			this.id = id;
+			this.checkPointId = checkPointId;
+			this.situationType = situationType;
+			this.getCheckConfigList(checkItemId);
+			this.getCheckItemResultList(checkItemId);
+
+			//接收来自上个页面所传过来的数据
+			const eventChannel = this.getOpenerEventChannel();
+			eventChannel.on('acceptDataFromOpenerPage', (data) => {
+				// console.log({data});
+				this.itemBelongGroup = data.data[0].responseList.map((item, index) => {
+					return ({
+						index: index,
+						id: item['id'],
+					})
+				});
+				//重新导航进页面,删除缓存并设置最新数据
+				uni.removeStorageSync('itemBelongGroup');
+				uni.setStorageSync('itemBelongGroup', this.itemBelongGroup);
+			});
+			//手动刷新页面,获取本地缓存
+			const itemBelongGroup = uni.getStorageSync('itemBelongGroup');
+			this.itemBelongGroup = itemBelongGroup;
+		},
+	};
+</script>
+
+<style lang="less">
+	.mainPointsDetailPage {
+		position: relative;
+		// min-height: 75rpx;
+		// overflow-y: auto;
+		height: 100%;
+
+		.checkItemResultModal {
+			display: flex;
+			height: 100%;
+			justify-content: center;
+			align-items: center;
+
+			.modalContent {
+				width: 90%;
+				height: 600rpx;
+				border-radius: 10rpx;
+				overflow: hidden;
+				background-color: #FFFFFF;
+
+				.modalBar {
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					height: 80rpx;
+					color: #4E78FF;
+					font-size: 22.5rpx;
+					box-shadow: 0 6rpx 6rpx #E5E5E5;
+					border-bottom: 0.1rpx solid #E5E5E5;
+				}
+
+				.comfirmBtn {
+					font-size: 22rpx;
+					color: #FFFFFF;
+					height: 85rpx;
+					line-height: 85rpx;
+					text-align: center;
+					background-color: #3377FF;
+				}
+
+				.scroll {
+					height: calc(100% - 160rpx);
+
+					.list {
+						position: relative;
+						display: flex;
+						height: 80rpx;
+						justify-content: center;
+						align-items: center;
+						border-bottom: 0.1rpx solid #E5E5E5;
+
+						.checkIcon {
+							display: none;
+							position: absolute;
+							left: 5%;
+							width: 25rpx;
+							height: 25rpx;
+						}
+
+						&.on {
+							color: #3377FF;
+
+							.checkIcon {
+								display: block;
+							}
+						}
+					}
+				}
+			}
+		}
+
+		.scroll-y {
+			height: calc(100% - 75rpx);
+		}
+
+		.checkItem {
+			padding-top: 47.5rpx;
+			width: 100%;
+			min-height: 450rpx;
+			background-color: #fff;
+			position: relative;
+
+			.chBg {
+				position: absolute;
+				top: 0;
+				left: 0;
+				width: 125rpx;
+				height: 37.5rpx;
+
+				.img {
+					width: 125rpx;
+					height: 37.5rpx;
+				}
+
+				.title {
+					position: absolute;
+					top: 8.75rpx;
+					left: 25rpx;
+					font-size: 20rpx;
+					color: #fff;
+					font-weight: 500;
+					line-height: 20rpx;
+				}
+			}
+
+			.tlImg {
+				width: 40rpx;
+				height: 40rpx;
+				position: absolute;
+				right: 25rpx;
+				top: 25rpx;
+			}
+
+			.chContent {
+				width: 100%;
+
+				.checkItemName {
+					margin-left: 31.25rpx;
+					font-size: 25rpx;
+					line-height: 55rpx;
+					color: #292c33;
+				}
+
+				.checkPointName {
+					margin-left: 31.25rpx;
+					font-size: 17.5rpx;
+					line-height: 17.5rpx;
+					color: #7a8599;
+				}
+
+				.cont {
+					height: 135rpx;
+
+					.floatLeft {
+						float: left;
+					}
+
+					.borderLine {
+						margin-top: 56.25rpx;
+						width: 0.62rpx;
+						height: 25rpx;
+						background-color: #dadee6;
+					}
+
+					.other {
+						padding: 40rpx 0rpx;
+						height: 95rpx;
+						width: 187.18rpx;
+						text-align: center;
+
+						.letterTitle {
+							font-size: 17.5rpx;
+							color: #7a8599;
+							line-height: 17.5rpx;
+						}
+
+						.letterTitle2 {
+							height: 22.5rpx;
+							font-size: 22.5rpx;
+							line-height: 22.5rpx;
+							color: #292c33;
+							margin-bottom: 15rpx;
+							font-weight: 500;
+							overflow: hidden;
+							word-break: break-all;
+							/* break-all(允许在单词内换行。) */
+							text-overflow: ellipsis;
+							/* 超出部分省略号 */
+							display: -webkit-box;
+							/** 对象作为伸缩盒子模型显示 **/
+							-webkit-box-orient: vertical;
+							/** 设置或检索伸缩盒对象的子元素的排列方式 **/
+							-webkit-line-clamp: 1;
+							/** 显示的行数 **/
+						}
+					}
+				}
+
+				.checked {
+					margin-bottom: 40rpx;
+					padding: 0rpx 15.62rpx;
+					height: 75rpx;
+
+					.checked-checkItem {
+						margin: 0rpx 9.37rpx;
+						padding: 0;
+						width: 125rpx;
+						height: 75rpx;
+						background: #ebeff7;
+						float: left;
+						line-height: 75rpx;
+						text-align: center;
+						color: #292c33;
+						border-radius: 20rpx;
+						position: relative;
+
+						.img {
+							width: 51.25rpx;
+							height: 25rpx;
+							position: absolute;
+							right: -6.25rpx;
+							top: -6.25rpx;
+						}
+
+						.lastName {
+							color: #fff;
+							font-size: 13.75rpx;
+							line-height: 13.75rpx;
+							position: absolute;
+							right: 5rpx;
+							top: -1.87rpx;
+						}
+					}
+				}
+
+				.more {
+					margin: 0rpx 25rpx 0rpx 25rpx;
+					text-align: center;
+					border-top: 0.62rpx solid #dadee6;
+
+					text {
+						padding: 29.37rpx 0rpx 27.5rpx;
+						margin-right: 10rpx;
+						line-height: 22.5rpx;
+						font-size: 22.5rpx;
+						color: #3377ff;
+						display: inline-block;
+						vertical-align: top;
+					}
+
+					.moreImg {
+						margin-top: 28.75rpx;
+						width: 12.37rpx;
+						height: 21.21rpx;
+						display: inline-block;
+					}
+
+					.moreImg2 {
+						width: 12.37rpx;
+						height: 21.21rpx;
+					}
+				}
+
+				.multipleResponsible {
+					padding-top: 15rpx;
+					background-color: #F5F6FA;
+
+					.inner {
+						position: relative;
+						display: flex;
+						height: 87.5rpx;
+						z-index: 10;
+						flex-direction: row;
+						justify-content: flex-start;
+						align-items: center;
+						padding: 0 25rpx;
+						background-color: #FFFFFF;
+
+						.label {
+							display: inline-block;
+							font-size: 22.5rpx;
+							font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+							font-weight: 400;
+							color: #525866;
+							margin-right: 105rpx;
+						}
+
+						.value {
+							flex: 0.9;
+							font-size: 22.5rpx;
+							overflow: hidden; //超出的文本隐藏
+							text-overflow: ellipsis; //溢出用省略号显示
+							white-space: nowrap; //溢出不换行
+						}
+
+						.valuePlaceholder {
+							font-size: 22.5rpx;
+							font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+							font-weight: 400;
+							color: #B8BECC;
+						}
+
+						.arrow {
+							position: absolute;
+							right: 25rpx;
+							width: 12.5rpx;
+							height: 20rpx;
+						}
+					}
+				}
+
+				.score {
+					display: flex;
+					height: 87.5rpx;
+					flex-direction: row;
+					justify-content: space-between;
+					align-items: center;
+					padding: 0 25rpx;
+					background: #F5F6FA;
+
+					.box {
+						text-align: center;
+						vertical-align: bottom;
+
+						.lable {
+							display: inline-block;
+							font-size: 22.5rpx;
+							font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+							font-weight: 400;
+							color: #525866;
+							margin-right: 10rpx;
+						}
+
+						.totalScore {
+							font-size: 30rpx;
+							font-family: SourceHanSansCN-Bold, SourceHanSansCN;
+							font-weight: bold;
+							color: #292C33;
+						}
+
+						.currentScore {
+							font-size: 30rpx;
+							font-family: SourceHanSansCN-Bold, SourceHanSansCN;
+							font-weight: bold;
+							color: #3377FF;
+						}
+					}
+				}
+
+				.inputScore {
+					display: flex;
+					flex-direction: row;
+					justify-content: flex-start;
+					align-items: center;
+					height: 87.5rpx;
+					padding: 0 25rpx;
+					background-color: #FFFFFF;
+
+					.label {
+						display: inline-block;
+						font-size: 22.5rpx;
+						font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+						font-weight: 400;
+						color: #525866;
+						margin-right: 81.25rpx;
+					}
+
+					.value {
+						font-size: 22.5rpx;
+					}
+
+					.placeholder {
+						font-size: 22.5rpx;
+						font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+						font-weight: 400;
+						color: #525866;
+					}
+				}
+			}
+		}
+
+		.see {
+			margin-top: 15rpx;
+			height: 287.5rpx;
+			background-color: #fff;
+
+			// padding-left: 25rpx;
+			.seeResult {
+				position: relative;
+				margin-left: 25rpx;
+				padding-top: 32.5rpx;
+				// height: 200rpx;
+				border-bottom: 1px solid #dadee6;
+
+				.clear {
+					position: absolute;
+					z-index: 10;
+					right: 25rpx;
+					bottom: 25rpx;
+					font-size: 22.5rpx;
+					font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+					font-weight: 400;
+					color: #FF3355;
+				}
+
+				.seeResultFloorOne {
+					display: flex;
+					flex-direction: row;
+					justify-content: space-between;
+					align-items: center;
+					margin-bottom: 25rpx;
+					padding-right: 25rpx;
+
+					.plusAction {
+						display: flex;
+						flex-direction: row;
+						justify-content: center;
+						align-items: center;
+
+						.plusIcon {
+							width: 25rpx;
+							height: 25rpx;
+							margin-right: 10rpx;
+						}
+
+						.threePoint {
+							font-size: 22.5rpx;
+							font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+							font-weight: 400;
+							color: #7A8599;
+						}
+					}
+
+				}
+
+				.seeName {
+					width: 175rpx;
+					font-size: 22.5rpx;
+					color: #525866;
+					line-height: 22.5rpx;
+					display: inline-block;
+				}
+
+				.seeTextarea {
+					width: 97%;
+					height: 155rpx;
+					display: inline-block;
+					font-size: 22.5rpx;
+					line-height: 27.5rpx;
+				}
+			}
+
+			.seeImg {
+				min-height: 87.5rpx;
+
+				.seeName2 {
+					width: 175rpx;
+					font-size: 22.5rpx;
+					color: #525866;
+					line-height: 87.5rpx;
+					display: inline-block;
+				}
+			}
+		}
+
+		.talk {
+			.talkTitle {
+				padding: 25rpx 25rpx 15rpx;
+				font-size: 22.5rpx;
+				line-height: 22.5rpx;
+				color: #666f80;
+
+				.del {
+					float: right;
+					color: #3377ff;
+				}
+			}
+
+			.talkResult {
+				position: relative;
+				padding-left: 25rpx;
+				padding-top: 32.5rpx;
+				border-bottom: 1px solid #dadee6;
+				background-color: #fff;
+
+				.clear {
+					position: absolute;
+					z-index: 10;
+					right: 25rpx;
+					bottom: 25rpx;
+					font-size: 22.5rpx;
+					font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+					font-weight: 400;
+					color: #FF3355;
+				}
+
+				.seeResultFloorOne {
+					display: flex;
+					flex-direction: row;
+					justify-content: space-between;
+					align-items: center;
+					margin-bottom: 25rpx;
+					padding-right: 25rpx;
+
+					.plusAction {
+						display: flex;
+						flex-direction: row;
+						justify-content: center;
+						align-items: center;
+
+						.plusIcon {
+							width: 25rpx;
+							height: 25rpx;
+							margin-right: 10rpx;
+						}
+
+						.threePoint {
+							font-size: 22.5rpx;
+							font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+							font-weight: 400;
+							color: #7A8599;
+						}
+					}
+				}
+
+				.seeName {
+					width: 175rpx;
+					font-size: 22.5rpx;
+					color: #525866;
+					line-height: 22.5rpx;
+					display: inline-block;
+				}
+
+				.seeTextarea {
+					width: 531.25rpx;
+					height: 155rpx;
+					display: inline-block;
+					font-size: 22.5rpx;
+					line-height: 27.5rpx;
+				}
+			}
+
+			.talkImg {
+				min-height: 87.5rpx;
+
+				.seeName2 {
+					width: 175rpx;
+					font-size: 22.5rpx;
+					color: #525866;
+					line-height: 87.5rpx;
+					display: inline-block;
+				}
+			}
+		}
+
+		.insert {
+			background-color: #fff;
+			font-size: 22.5rpx;
+			line-height: 22.5rpx;
+			color: #3377ff;
+			padding: 26.25rpx;
+		}
+
+		.sureDetail {
+			width: 100%;
+			height: 75rpx;
+			font-size: 22.5rpx;
+			background-color: #3377ff;
+			line-height: 75rpx;
+			position: absolute;
+			bottom: 0rpx;
+		}
+
+		.bottomMenuGroup {
+			position: fixed;
+			bottom: 0;
+			width: 100%;
+			height: 75rpx;
+			display: flex;
+			flex-direction: row;
+			background: #FFFFFF;
+			border-top: 0.62rpx solid #DADEE6;
+
+			.menuBtn {
+				display: flex;
+				width: 75rpx;
+				height: 75rpx;
+				justify-content: center;
+				align-items: center;
+				border-right: 0.62rpx solid #DADEE6;
+
+				.threeLineMenuIcon {
+					width: 26.25rpx;
+					height: 21.25rpx;
+				}
+
+			}
+
+			.prevBtn,
+			.nextBtn {
+				display: flex;
+				flex: 1;
+				justify-content: center;
+				height: 75rpx;
+				line-height: 75rpx;
+				font-size: 22.5rpx;
+				font-family: SourceHanSansCN-Normal, SourceHanSansCN;
+				font-weight: 400;
+				color: #3377FF;
+			}
+
+			.prevBtn {
+				border-right: 0.62rpx solid #DADEE6;
+			}
+
+			.nextBtn {
+				color: #FFFFFF;
+				background: #3377FF;
+			}
+		}
+	}
 </style>

+ 0 - 2
pages/model.js

@@ -34,9 +34,7 @@ export default module = {
   todayCheck,
   situationsCenter,
   situationDetail,
-  creatingSituations,
   planList,
-  checkList,
   mainPointsDetail,
   planList,
   checkList,

+ 2 - 1
pages/situationDetail/situationDetail.vue

@@ -94,7 +94,7 @@
 		},
 		computed: {
 			canEdit: function() {
-				return this.compareTime(this.firstCheckTime) && this.isAdmin;
+				return this.compareTime(this.firstCheckTime) && this.isAdmin && this.allowEdit;
 			}
 		},
 		onLoad({ situationId }){ // situationId:情景id
@@ -132,6 +132,7 @@
 					this.situationType = data.situationType;
 				  this.firstCheckTime=data.firstCheckTime;
 				  this.checkGroupId = data.checkGroupId;
+				  this.allowEdit = data.allowEdit;
 				}
 			});
 		},

+ 5 - 2
static/html/template.html

@@ -12,7 +12,7 @@
             }
             iframe{
                 width: 375px;
-                height: 667px;
+                height:100vh;
                 background-color: #fff;
                 box-sizing: content-box;
                 border: none;
@@ -34,6 +34,9 @@
         <script type="text/javascript">
             window.isPC = true;
             window.onload = function(){
+				if(window.innerWidth <= 420){
+				    window.location.pathname = '/TracerMethodology';
+				}
                 /* 监听电脑浏览器窗口尺寸改变 */	
                 window.onresize = function(){
                     /* 窗口宽度 小于或等于420px 时,跳转回H5页面 */
@@ -108,7 +111,7 @@
 		
 		let url = `/TracerMethodology?hospSign=${hospSign}`;
 		
-		console.log({hospSign,query,url});
+		// console.log({hospSign,query,url});
 		
 		createIframe(
 		     'frame',

+ 1 - 1
utils/requestUrl.js

@@ -9,8 +9,8 @@
 // const base = '192.168.51.80:8801/imed/pfm/';
 
 // export const URL = '192.168.51.80:8801/imed/pfm/'; // 本地
-
 // export const URL = '112.124.59.133:8802/imed/pfm/'; //线上测试
+// export const URL = '118.31.245.65:8802/imed/pfm/';
 // export const URL = '192.168.38.174:8088/imed/pfm/';
 // export const URL = '192.168.1.45:8088/imed/pfm/'; //内网
 // export const URL = 's1.nsloop.com:5137/imed/pfm/';  // 外网