lvxinghai 4 år sedan
förälder
incheckning
f08c03b7c0

+ 38 - 0
components/tm-callback-listpage/tm-callback-listpage.vue

@@ -0,0 +1,38 @@
+<template>
+	<view class="tm-callback-listpage" @click="callback">
+		<image src="../../static/top-icon.png"></image>
+	</view>
+</template>
+
+<script>
+	/**
+	 * tm-callback-listpage
+	 * 返回列表页的悬浮按钮
+	 */
+	export default {
+		data() {
+			return {
+				
+			};
+		},
+		methods: {
+			callback: function() {
+				uni.navigateTo({url: `/pages/situationsCenter/situationsCenter`});
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+	.tm-callback-listpage {
+		position: absolute;
+		left: 25rpx;
+		bottom: 100rpx;
+		width: 75rpx;
+		height: 75rpx;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+</style>

+ 63 - 56
pages/checkList/checkList.vue

@@ -1,64 +1,67 @@
 <template>
-	<scroll-view scroll-y="true" class="check-map-list">
-		<tm-top-menu>
-			<view class="top-menu"  @click="showModalHandle(!showModal)">
-				<text>第{{checkIndex}}/{{planList.length}}次查核</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 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>第{{checkIndex}}/{{planList.length}}次查核</text>
+					<image :src="`../../static/${showModal?'open':'close'}-icon.png`"></image>
 				</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">
+			</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>
-						<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>
+						<image src="../../static/icon-map.png"></image>
+						<text>{{item.deptClassName}}</text>
 					</view>
-					<image class="check-img" 
-						v-if="checkId === item.id"
-						src="../../static/checkStatus.png"></image>
 				</view>
-			</scroll-view>
-		</tm-modal>
-	</scroll-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>
@@ -128,6 +131,10 @@
 </script>
 
 <style lang="less">
+	.check-map-list-page {
+		position: relative;
+		height: 100%;
+	}
 	.check-map-list {
 		padding: 25rpx;
 		padding-top: 75rpx;

+ 3 - 0
pages/checkMainPoints/checkMainPoints.vue

@@ -72,6 +72,7 @@
 				</view>
 			</view>
 		</view>
+		<tm-callback-listpage/>
 	</view>
 </template>
 
@@ -199,7 +200,9 @@
 
 <style lang="less">
 	.checkMainPoints {
+		position: relative;
 		padding-top: 105rpx;
+		height: 100%;
 		font-size: 22.5rpx;
 		line-height: 33.75rpx;
 		background-color: #F5F6FA;

+ 87 - 1
pages/home/home.vue

@@ -52,9 +52,21 @@
 		</view>
 		<view class="copyright">
 			<text>浙江新医智联信息科技有限公司</text>
-			<text>0.5.3</text>
+			<text>{{version}}</text>
 		</view>
 		<tm-tabbar :permission="nowPermission" />
+		<tm-modal v-if="showJournal">
+			<view class="journal">
+				<view class="journal-title">
+					<text>{{journalData.versionTitle}}</text>
+					<text>{{journalData.versionDate}}</text>
+				</view>
+				<scroll-view scroll-y="true" class="journal-content">
+					{{journalData.versionContent}}
+				</scroll-view>
+				<button class="journal-ok" @click="journalOk">确定</button>
+			</view>
+		</tm-modal>
 	</view>
 </template>
 
@@ -62,6 +74,14 @@
 	export default {
 		data() {
 			return {
+				showJournal: false,
+				version: '0.5.3',
+				journalData: {
+					versionId: '',
+					versionTitle: '',
+					versionDate: '',
+					versionContent: ''
+				},
 				nowPermission: '', //用户当前第一权限
 				nowPermissionName:'',//当前权限名
 				code:'',//用户名
@@ -102,6 +122,18 @@
 					},0);
 				}
 			});
+			this.$store.dispatch({
+				type: 'home/commActions',
+				payload: {
+					key: 'getVersionLog',
+					data: {versionNo: this.version}
+				}
+			}).then((data) => {
+				if (data) {
+					this.showJournal = data.versionId ? true : false;
+					this.journalData = data;
+				}
+			});
 		},
 		methods: {
 			logOut() {
@@ -122,6 +154,16 @@
 				uni.navigateTo({
 					url: '/pages/role-switching/role-switching'
 				});
+			},
+			journalOk() {
+				this.showJournal = false;
+				this.$store.dispatch({
+					type: 'home/commActions',
+					payload: {
+						key: 'hadRead',
+						data: {versionNo: this.version, versionId: this.journalData.versionId}
+					}
+				});
 			}
 		},
 		computed:{
@@ -133,6 +175,50 @@
 </script>
 
 <style lang="less">
+	.journal {
+		overflow: hidden;
+		position: absolute;
+		top: 50%;
+		left: 50%;
+		transform: translateX(-50%) translateY(-50%);
+		border-radius: 15rpx;
+		padding: 50rpx;
+		width: 562.5rpx;
+		height: 625rpx;
+		font-size: 22.5rpx;
+		line-height: 35rpx;
+		background: #FFFFFF;
+		.journal-title {
+			display: flex;
+			flex-direction: column;
+			text {
+				font-size: 35rpx;
+				line-height: 52.5rpx;
+				&:last-child {
+					font-size: 22.5rpx;
+					line-height: 33.75rpx;
+					color: #666E80;
+				}
+			}
+		}
+		.journal-content {
+			margin-top: 25rpx;
+			height: 332.5rpx;
+		}
+		.journal-ok {
+			position: fixed;
+			left: 0;
+			bottom: 0;
+			border-radius: 0;
+			border: 0;
+			width: 100%;
+			height: 75rpx;
+			line-height: 75rpx;
+			font-size: 22.5rpx;
+			color: #fff;
+			background-color: #3377FF;
+		}
+	}
 	.home-page {
 		height: 100%;
 

+ 10 - 0
pages/home/server.js

@@ -10,6 +10,16 @@ const requestList = {
 	getuser:{
 		method: 'GET',
 		url: 'user'
+	},
+	// 是否日志推送
+	getVersionLog:{
+		method: 'GET',
+		url: 'versionInfo/getVersionLog'
+	},
+	// 确定已读
+	hadRead:{
+		method: 'POST',
+		url: 'versionInfo/hadRead'
 	}
 };
 export const commServer = ({ key, data }) => {

+ 8 - 5
pages/situationDetail/situationDetail.vue

@@ -56,6 +56,7 @@
 			</view>
 		</view>
 		<popup ref="popup" :situationID="situationID"></popup>
+		<tm-callback-listpage/>
 	</view>
 </template>
 
@@ -262,7 +263,9 @@
 
 <style lang="less">
 	.detail-page{
-		margin-top: 50rpx;
+		position: relative;
+		padding-top: 50rpx;
+		height: 100%;
 		.copy-btn {
 			border: 0;
 			height: 50rpx;
@@ -305,7 +308,7 @@
 				.time-text{
 					overflow: hidden;
 					position: absolute;
-					top: 115rpx;
+					top: 165rpx;
 					left: 55rpx;
 					width: 70%;
 					white-space: nowrap;
@@ -322,7 +325,7 @@
 					color: #FFFFFF;
 					position: absolute;
 					left: 55rpx;
-					top: 155rpx;
+					top: 205rpx;
 				}
 				.startEndTime-text{
 					font-size: 20rpx;
@@ -339,7 +342,7 @@
 					font-weight: 400;
 					color: #FFFFFF;
 					position: absolute;
-					top: 115rpx;
+					top: 165rpx;
 					right: 50rpx;
 				}
 			}
@@ -444,7 +447,7 @@
 				}
 			}
 			.info-box{
-				height: 823.12rpx;
+				// height: 823.12rpx;
 				.text-box{
 					width: 687.5rpx;
 					margin-top: 116.87rpx;

BIN
static/top-icon.png