Ver Fonte

改善历史添加0反馈/新增app端兼容

xieyunhui há 4 anos atrás
pai
commit
86ad42e10e

+ 1 - 0
.gitignore

@@ -80,3 +80,4 @@ build/**/
 .build
 .history/
 unpackage/
+

+ 180 - 161
App.vue

@@ -1,163 +1,182 @@
-<script>
-	export default {
-		onLaunch: function() {
-			// console.log("App Launch");
-			// this.checkArguments(); // 检测启动参数
-			// if (uni.getSystemInfoSync().platform == 'android') {
-			// 	// 重点是以下: 一定要监听后台恢复 !一定要
-			// 	plus.globalEvent.addEventListener('newintent', e => {
-			// 		this.checkArguments(); // 检测启动参数
-			// 	});
+<script>
+	export default {
+		onLaunch: function() {
+			// console.log("App Launch");
+			// this.checkArguments(); // 检测启动参数
+			// if (uni.getSystemInfoSync().platform == 'android') {
+			// 	// 重点是以下: 一定要监听后台恢复 !一定要
+			// 	plus.globalEvent.addEventListener('newintent', e => {
+			// 		this.checkArguments(); // 检测启动参数
+			// 	});
 			// }
-		},
-		onShow: function() {
-			// console.log("App Show");
-		},
-		onHide: function() {
-			// console.log("App Hide");
-		},
-		methods: {
-			// 监测是否传参数
-			checkArguments() {
-				try {
-					if (uni.getSystemInfoSync().platform === 'android') {
-						// 接收第三方app传递的参数 extra;
-						if (plus.runtime.arguments) {
-              // patParams: 院区,病区, 床号
-              const { patParams } = JSON.parse(plus.runtime.arguments);
-			  console.log({patParams});
-              uni.setStorageSync('patParams', patParams);
-						}
-					}
-				} catch (e) {}
-			}
-		}
-	};
-</script>
-
-<style lang="less">
-	/*每个页面公共css */
-	
-	body,
-	uni-app,
-	uni-page,
-	uni-page-wrapper,
-	uni-page-body {
-		height: 100%;
-		font-size: 20rpx;
-		line-height: 30rpx;
-		color: #292C33;
-		background-color: #F5F6FA;
-	}
-
-	view,
-	label,
-	scroll-view {
-		box-sizing: border-box;
-	}
-
-	// 底部固定的按钮
-	.fixed-buttom-btn {
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		margin-top: 12.5rpx;
-		width: 100%;
-		height: 75rpx;
-		background-color: #3377FF;
-
-		.btn-text {
-			flex: 1;
-			font-size: 22.5rpx;
-			color: #fff;
-			text-align: center;
-		}
-
-		.btn-text.cancle {
-			line-height: 76.25rpx;
-			background-color: #FFFFFF;
-			color: #3377FF;
-		}
-	}
-	// 新建情境样式start
-	.creatingSituations {
-		.title {
-			padding-bottom: 35rpx;
-			padding-left: 25rpx;
-			font-size: 30rpx;
-			line-height: 45rpx;
-			color: #292C33;
-		}
-	}
-	// 新建情境样式end
-	// 查核地图列表样式start
-	.check-map-list {
-		overflow: hidden;
-		padding: 0 25rpx;
-		.item {
-			position: relative;
-			overflow: hidden;
-			margin-bottom: 25rpx;
-			border-radius: 5rpx;
-			padding-top: 16.25rpx;
-			padding-bottom: 0;
-			width: 100%;
-			background-color: #fff;
-			box-shadow: 0 3.75rpx 12.5rpx 0 rgba(0, 13, 51, 0.1);
-			
-			.title-wrap {
-				display: flex;
-				flex-direction: row;
-				align-items: center;
-				padding: 0 25rpx;
-				>text {
-					font-size: 35rpx;
-					line-height: 52.5rpx;
-					color: #292C33;
-				}
-				>view {
-					display: flex;
-					flex-direction: row;
-					align-items: center;
-					margin-left: 20rpx;
-					border-radius: 17.5rpx;
-					height: 35rpx;
-					font-size: 17.5rpx;
-					line-height: 35rpx;
-					color: #8F9BB3;
-					background-color: #EDF2FA;
-					image {
-						width: 35rpx;
-						height: 35rpx;
-					}
-					text {
-						padding-left: 10rpx;
-						padding-right: 20rpx;
-					}
-				}
-			}
-			.content {
-				display: flex;
-				flex-direction: column;
-				padding: 11.25rpx 25rpx 20rpx;
-				>text {
-					overflow: hidden;
-					white-space: nowrap;
-					text-overflow: ellipsis;
-					font-size: 20rpx;
-					line-height: 30rpx;
-					color: #666F80;
-					&:first-child {
-						margin-bottom: 5rpx;
-						font-weight: bold;
-						color: #292C33;
-					}
-				}
-			}
-		}
-	}
-	// 查核地图列表样式end
+			if (uni.getSystemInfoSync().platform === 'android'){
+				//pad下锁死竖屏
+				plus.screen.lockOrientation('portrait-primary');
+			}
+		},
+		onShow: function() {
+			// console.log("App Show");
+		},
+		onHide: function() {
+			// console.log("App Hide");
+		},
+		methods: {
+			// 监测是否传参数
+			checkArguments() {
+				try {
+					if (uni.getSystemInfoSync().platform === 'android') {
+						// 接收第三方app传递的参数 extra;
+						if (plus.runtime.arguments) {
+							// patParams: 院区,病区, 床号
+							const {
+								patParams
+							} = JSON.parse(plus.runtime.arguments);
+							console.log({
+								patParams
+							});
+							uni.setStorageSync('patParams', patParams);
+						}
+					}
+				} catch (e) {}
+			}
+		}
+	};
+</script>
+
+<style lang="less">
+	/*每个页面公共css */
+
+	body,
+	uni-app,
+	uni-page,
+	uni-page-wrapper,
+	uni-page-body {
+		height: 100%;
+		font-size: 20rpx;
+		line-height: 30rpx;
+		color: #292C33;
+		background-color: #F5F6FA;
+	}
+
+	view,
+	label,
+	scroll-view {
+		box-sizing: border-box;
+	}
+
+	// 底部固定的按钮
+	.fixed-buttom-btn {
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		margin-top: 12.5rpx;
+		width: 100%;
+		height: 75rpx;
+		background-color: #3377FF;
+
+		.btn-text {
+			flex: 1;
+			font-size: 22.5rpx;
+			color: #fff;
+			text-align: center;
+		}
+
+		.btn-text.cancle {
+			line-height: 76.25rpx;
+			background-color: #FFFFFF;
+			color: #3377FF;
+		}
+	}
+
+	// 新建情境样式start
+	.creatingSituations {
+		.title {
+			padding-bottom: 35rpx;
+			padding-left: 25rpx;
+			font-size: 30rpx;
+			line-height: 45rpx;
+			color: #292C33;
+		}
+	}
+
+	// 新建情境样式end
+	// 查核地图列表样式start
+	.check-map-list {
+		overflow: hidden;
+		padding: 0 25rpx;
+
+		.item {
+			position: relative;
+			overflow: hidden;
+			margin-bottom: 25rpx;
+			border-radius: 5rpx;
+			padding-top: 16.25rpx;
+			padding-bottom: 0;
+			width: 100%;
+			background-color: #fff;
+			box-shadow: 0 3.75rpx 12.5rpx 0 rgba(0, 13, 51, 0.1);
+
+			.title-wrap {
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				padding: 0 25rpx;
+
+				>text {
+					font-size: 35rpx;
+					line-height: 52.5rpx;
+					color: #292C33;
+				}
+
+				>view {
+					display: flex;
+					flex-direction: row;
+					align-items: center;
+					margin-left: 20rpx;
+					border-radius: 17.5rpx;
+					height: 35rpx;
+					font-size: 17.5rpx;
+					line-height: 35rpx;
+					color: #8F9BB3;
+					background-color: #EDF2FA;
+
+					image {
+						width: 35rpx;
+						height: 35rpx;
+					}
+
+					text {
+						padding-left: 10rpx;
+						padding-right: 20rpx;
+					}
+				}
+			}
+
+			.content {
+				display: flex;
+				flex-direction: column;
+				padding: 11.25rpx 25rpx 20rpx;
+
+				>text {
+					overflow: hidden;
+					white-space: nowrap;
+					text-overflow: ellipsis;
+					font-size: 20rpx;
+					line-height: 30rpx;
+					color: #666F80;
+
+					&:first-child {
+						margin-bottom: 5rpx;
+						font-weight: bold;
+						color: #292C33;
+					}
+				}
+			}
+		}
+	}
+
+	// 查核地图列表样式end
 </style>

+ 10 - 4
components/tm-steps/tm-steps.vue

@@ -16,9 +16,10 @@
 				</view>
 			</view>
 		</view>
-		<scroll-view scroll-y="true" class="component-wrap">
-			<component v-bind:is="options[active].component"></component>
-		</scroll-view>
+		<!-- app端不支持动态组建 -->
+		<!-- <scroll-view scroll-y="true" class="component-wrap">
+			<component :is="options[active].component"></component>
+		</scroll-view> -->
 	</view>
 </template>
 
@@ -33,7 +34,10 @@
 	 * active:当前进度,从0开始
 	 */
 	export default {
-		props: ['options', 'active']
+		props: ['options', 'active'],
+		onLoad:function() {
+			console.log({props})
+		}
 	}
 </script>
 
@@ -115,6 +119,8 @@
 		.component-wrap {
 			width: 100%;
 			height: calc(100% - 160rpx);
+			background-color: '#3377FF';
+			
 		}
 	}
 </style>

+ 1 - 0
components/tm-trees/tm-trees.vue

@@ -49,6 +49,7 @@
 				this.$emit('open-keys', keys);
 			},
 			checkedKeysHandle: function(keys) {
+				console.log('已选中');
 				this.checkedKeys = keys;
 				this.$emit('checked-keys', keys);
 			}

+ 41 - 6
manifest.json

@@ -1,6 +1,6 @@
 {
     "name" : "追踪方法学",
-    "appid" : "__UNI__E410614",
+    "appid" : "__UNI__03C4C69",
     "description" : "",
     "versionName" : "1.0.0",
     "versionCode" : "100",
@@ -15,7 +15,6 @@
             "autoclose" : true,
             "delay" : 0
         },
-        "modules" : {},
         /* 模块配置 */
         "distribute" : {
             /* 应用发布信息 */
@@ -38,16 +37,50 @@
                     "<uses-feature android:name=\"android.hardware.camera\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                 ],
-								"abiFilters" : [ "armeabi-v7a", "x86" ]
+                "abiFilters" : [ "armeabi-v7a", "x86" ],
+                "minSdkVersion" : 19
             },
             "ios" : {},
             /* ios打包配置 */
             "sdkConfigs" : {
                 "ad" : {}
             },
-						// 屏幕方向 (横屏显示)
-						"orientation" : [ "landscape-primary" ]
-        }
+            // 屏幕方向 (横屏显示)
+            "orientation" : [ "landscape-primary" ],
+            "icons" : {
+                "android" : {
+                    "hdpi" : "unpackage/res/icons/72x72.png",
+                    "xhdpi" : "unpackage/res/icons/96x96.png",
+                    "xxhdpi" : "unpackage/res/icons/144x144.png",
+                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
+                },
+                "ios" : {
+                    "appstore" : "unpackage/res/icons/1024x1024.png",
+                    "ipad" : {
+                        "app" : "unpackage/res/icons/76x76.png",
+                        "app@2x" : "unpackage/res/icons/152x152.png",
+                        "notification" : "unpackage/res/icons/20x20.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "proapp@2x" : "unpackage/res/icons/167x167.png",
+                        "settings" : "unpackage/res/icons/29x29.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "spotlight" : "unpackage/res/icons/40x40.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
+                    },
+                    "iphone" : {
+                        "app@2x" : "unpackage/res/icons/120x120.png",
+                        "app@3x" : "unpackage/res/icons/180x180.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "notification@3x" : "unpackage/res/icons/60x60.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "settings@3x" : "unpackage/res/icons/87x87.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
+                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
+                    }
+                }
+            }
+        },
+        "modules" : {}
     },
     /* SDK配置 */
     "quickapp" : {},
@@ -93,3 +126,5 @@
         }
     }
 }
+/* 模块配置 *//* 应用发布信息 *//* android打包配置 */
+

+ 5 - 2
pages.json

@@ -1,6 +1,9 @@
 {
 	"pages": [{
-			"path": "pages/login/login"
+			"path": "pages/login/login",
+			"style": {
+				"navigationStyle":"custom" 
+			}
 		},
 		{
 			"path": "pages/creatingSituations/creatingSituations",
@@ -166,7 +169,7 @@
 	],
 	"globalStyle": {
 		"navigationStyle": "custom",
-		// "autoBackButton": true,
+		"autoBackButton": true,
 		// "homeButton": true,
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "追踪方法学",

+ 3 - 1
pages/auditItemDetails/auditItemDetails.vue

@@ -131,7 +131,9 @@
 				return this.$store.dispatch({type: 'checkList/commActions', key, data});
 			},
 			goToPrevPage(){
-				window.history.back();
+				uni.navigateBack({
+				    delta: 1
+				});
 			},
 			loadItemDetail(id){
 				this.dispatch('checkTaskDetail', {id}).then((data)=>{

+ 1 - 1
pages/checkMainPoints/checkMainPoints.vue

@@ -50,7 +50,7 @@
 						<!-- <text>ICU病房查看危重病人的抢救全过程(访谈)ICU病房查看危重病人的抢救全过程(访谈)ICU病房查看危重病人的抢救全过程(访谈)的抢救全过程(访谈)</text> -->
 					</view>
 					<image src="../../static/tuli.png" 
-						@click="goLegendDetails($event ,child.checkItemId, item.checkPointId)"></image>
+						@tap.stop="goLegendDetails($event ,child.checkItemId, item.checkPointId)"></image>
 				</view>
 				<view class="children">
 					<view class="child">

+ 1 - 0
pages/creatingSituations/components/theme.vue

@@ -51,6 +51,7 @@
 	.theme {
 		overflow: hidden;
 		width: 100%;
+		height: 100%;
 		.content {
 			display: flex;
 			flex-direction: column;

+ 28 - 3
pages/creatingSituations/creatingSituations.vue

@@ -3,7 +3,18 @@
 		<check-map-detail v-if="showCheckMapDetail"></check-map-detail>
 		<view v-else class="page-wrap" 
 			:style="{paddingBottom: stepActive !== 0 ? '75rpx' : 0}">
-			<tm-steps :options="options" :active="stepActive"></tm-steps>
+			<tm-steps class="tm-steps" :options="options" :active="stepActive"></tm-steps>
+			
+			<scroll-view scroll-y="true" class="component-wrap">
+				<!-- <component :is="options[active].component"></component> -->
+				<theme v-if="stepActive==0"></theme>
+				<condition v-if="stepActive==1"></condition>
+				<checkRent v-if="stepActive==2"></checkRent>
+				<checkMap v-if="stepActive==3"></checkMap>
+				<checkPlan v-if="stepActive==4"></checkPlan>
+				<situationPreview v-if="stepActive==5"></situationPreview>
+			</scroll-view>
+			
 			<tm-simple-btn-group v-if="stepActive !== 0" 
 				:options="botmBtnGroup"
 				v-on:callback="changeStep"></tm-simple-btn-group>
@@ -87,10 +98,12 @@
 		},
 		onLoad:function({id,type}){
 			this.saveType = type ? type : 'POST';
+			
 			if(id) {
 				this.editID = id;
 				this.dispatch('detialConfig',{id}).then((data)=>{
 					if(data) {
+						console.log({data});
 						const {topic} = data;
 						let theme = themeList[Number(topic)],
 							condition = editCondition(data),
@@ -270,7 +283,13 @@
 		},
 		components: {
 			checkMapDetail,
-			checkMapAdd
+			checkMapAdd,
+			theme,
+			condition,
+			checkRent,
+			checkMap,
+			checkPlan,
+			situationPreview
 		}
 	}
 </script>
@@ -278,12 +297,18 @@
 <style lang="less">
 	.creatingSituations {
 		width: 100%;
-		height: 100%;
+		height: 100vh;
 		background-color: #F5F6FA;
 		.page-wrap {
 			padding-bottom: 75rpx;
 			width: 100%;
 			height: 100%;
+			.tm-steps {
+				height: auto;
+			}
+			.component-wrap {
+				padding-bottom: 87.5rpx;
+			}
 		}
 	}
 </style>

+ 1 - 1
pages/home/home.vue

@@ -95,7 +95,7 @@
 			return {
 				ifshowVersionInfo:false,
 				showJournal: false,
-				version: '0.5.3',
+				version: '0.5.5',
 				versionData: {
 					versionNo: '',
 					versionId: '',

+ 1 - 0
pages/login/login.vue

@@ -54,6 +54,7 @@
 							username: encryption(this.username),
 							password: encryption(this.password),
 							hospSign: this.hospSign
+							// hospSign:'8CJYqxlGIdLEIwaG'
 						}
 					}
 				}).then((data) => {

+ 28 - 18
pages/mainPointsDetail/mainPointsDetail.vue

@@ -443,30 +443,40 @@ export default {
       });
     },
     toHistory() {
-	  // const situationId = this.data.situationId;
-	  // this.$store.dispatch({
-	  // 	type: 'mission/commActions',
-	  // 	payload: {
-	  // 		key: "getMissionList",
-	  // 		situationId:situationId
-	  // 	}
-	  // }).then(data => {
-	  // 	if(data) {
-	  		
-	  // 		// this.improvingTaskList = data.improvingTaskResponses || [];
-	  // 		// this.completeTaskList = data.improveCompleteResponses || [];
-	  // 	}
-	  // });
+	  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 单位负责人通过 查核要点进入改善任务列表时 必传
 	   */
-      uni.navigateTo({
-        url: `/pages/improve-mission-list/improve-mission-list?situationId=${this.data.situationId}`,
-      });
+      
     },
 	goToPrevPage(){
-		window.history.back();
+		// window.history.back();
+		uni.navigateBack({
+		    delta: 1
+		});
 	},
 	switchItem(num){
 		let current = this.itemBelongGroup.filter(item=>{

+ 4 - 1
pages/mission-action/components/pdca-components/one-textarea.vue

@@ -52,7 +52,10 @@
 				this.$emit('changeTextare', this.type, e.target.value);
 			},
 			goToPrevPage(){
-				window.history.back();
+				// window.history.back();
+				uni.navigateBack({
+				    delta: 1
+				});
 			},
 		},
 	}

+ 4 - 1
pages/mission-action/components/write-back.vue

@@ -70,7 +70,10 @@
 				this.value = e.detail.value;
 			},
 			goToPrevPage(){
-				window.history.back();
+				// window.history.back();
+				uni.navigateBack({
+				    delta: 1
+				});
 			},
 			changeFilePaths(filePath) {
 				this.filePath = filePath;

+ 4 - 1
pages/mission-details/mission-details.vue

@@ -115,7 +115,10 @@
 		},
 		methods: {
 			goBack() {
-				window.history.back();
+				// window.history.back();
+				uni.navigateBack({
+				    delta: 1
+				});
 			},
 			// 获取改善任务列表
 			getMissionDetails(data) {

+ 0 - 0
static/导航栏返回.png → static/navLeftArrow.png


+ 6 - 1
utils/compatible.js

@@ -6,5 +6,10 @@
  * 阻止事件冒泡
  */
 export const _stopPropagation = (e) => {
-	window.event ? window.event.cancelBubble = true : e.stopPropagation();
+	// window.event ? window.event.cancelBubble = true : e.stopPropagation();
+	if(window&&window.event){
+		window.event.cancelBubble = true
+	}else{
+		e.stopPropagation();
+	}
 }

+ 2 - 2
utils/requestUrl.js

@@ -7,9 +7,9 @@
  * @FilePath: /web_TracerMethodology/utils/requestUrl.js
  */
 // const base = '192.168.51.80:8801/imed/pfm/';
-export const URL = '192.168.51.80:8801/imed/pfm/'; // 本地
+// export const URL = '192.168.51.80:8801/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 = '192.168.1.45:8088/imed/pfm/'; //内网
 // export const URL = 's1.nsloop.com:5137/imed/pfm/';  // 外网
 // export const URL = '121.43.139.179:8801/imed/pfm/';  // 云端服务1
 // export const URL = '172.18.116.20:8801/imed/pfm/';  // 云端服务2