Kaynağa Gözat

拉取代码

maotao 4 ay önce
ebeveyn
işleme
ad0c7cac6a

+ 42 - 34
components/appUpdata/appUpdata.vue

@@ -6,12 +6,13 @@
6 6
 				<image class="img" src="/static/img/updata.png"></image>
7 7
 			</view> -->
8 8
 			<view class="versioninfo">
9
-				<view class="title">发现新版本</view>
9
+				<view class="title">更新提示</view>
10
+				<view class="content">有新版本发布,请及时更新!</view>
10 11
 				<view class="schedule" v-if="isSchedule">	
11 12
 					<progress :percent="upProgress" show-info stroke-width="15" />
12 13
 				</view>
13 14
 				<view class="btn">
14
-					<button type="primary" size="mini" :disabled="isSchedule" @click="nowUpdate()">立即升级</button>
15
+					<button size="mini" :disabled="isSchedule" @click="nowUpdate()">立即更新</button>
15 16
 				</view>
16 17
 			</view>
17 18
 		</view>
@@ -36,9 +37,8 @@
36 37
 				// manifest 中应用版本名称
37 38
 				appVersion: '',
38 39
 				// manifest 中应用版本号
39
-				appVersionCode: '',
40 40
 				apkInfo: {},
41
-				apkUrl:'http://192.168.3.108/getapk/pdaz-v1.0.0.apk',
41
+				apkUrl:'',
42 42
 				updateContent: []
43 43
 			};
44 44
 		},
@@ -50,33 +50,37 @@
50 50
 				// 获取本地应用资源版本号
51 51
 				plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
52 52
 					this.appVersion = wgtinfo.version;
53
-					this.appVersionCode = wgtinfo.versionCode;
54
-					// this.getVersionNumber();
53
+					this.getVersionNumber();
55 54
 				})
56 55
 			},
57 56
 			// 获取后台版本号 检查是否有新版本
58 57
 			getVersionNumber() {
59
-				let version = this.appVersionCode;
60
-				// this.isUpdate = true;
61
-				post("/configuration/updData/workConfigHistory").then((res) => {
62
-				    if (res.status == 200) {
63
-				      if(res.appVersionCode > version) {
64
-				      	this.apkInfo = res;
65
-				      	this.isUpdate = true;
66
-				      } else {
67
-				      	this.isUpdate = false;
68
-				      }
69
-				    } else {
70
-						uni.showToast({
71
-							icon: "none",
72
-							title: res.msg || "接口获取数据失败!",
73
-						});
74
-					}
75
-				})	
76
-			},
77
-			// 暂不升级
78
-			notUpdate() {
79
-				this.isUpdate = false;
58
+				let version = this.appVersion;
59
+				uni.showLoading({
60
+				  title: "加载中",
61
+				});
62
+				let postData = {
63
+				  "idx": 0,
64
+				  "sum": 1,
65
+				  systemConfiguration: {
66
+				    keyconfig: "supportAppVersion"
67
+				  }
68
+				}
69
+				post("/simple/data/fetchDataList/systemConfiguration", postData).then((res) => {
70
+				  uni.hideLoading();
71
+					if (res.status == 200) {
72
+				    this.supportAppVersion = res.list[0].valueconfig
73
+						let ip = uni.getStorageSync('ip')
74
+						this.apkUrl = ip + `/getapk/pdazV${this.supportAppVersion}.apk`
75
+						console.log(444,this.apkUrl)
76
+						if(this.supportAppVersion != version){
77
+							this.isUpdate = true;
78
+						}else{
79
+							this.isUpdate = false;
80
+						}
81
+				  }
82
+				})
83
+				
80 84
 			},
81 85
 			// 点击立即升级查看手机是安卓还是ios
82 86
 			nowUpdate() {
@@ -175,15 +179,17 @@
175 179
 		}
176 180
 	}
177 181
 	.versioninfo {
178
-		padding: 15rpx 30rpx;
182
+		// padding: 15rpx 0rpx;
179 183
 		border-radius: 25rpx;
180 184
 		background-color: #fff;
181
-	}
182
-	.title {
183
-		// position: absolute;
184
-		// top: 150rpx;
185
-		font-size: 40rpx;
186
-		// color: #fff;
185
+		.title {
186
+			font-size: 36rpx;
187
+			// border-bottom: 1px solid #eee;
188
+			padding: 20rpx 0;
189
+		}
190
+		.content{
191
+			
192
+		}
187 193
 	}
188 194
 	.info {
189 195
 		position: relative;
@@ -213,6 +219,8 @@
213 219
 			display: flex;
214 220
 			align-items: center;
215 221
 			justify-content: center;
222
+			background: #49b856;
223
+			color: #fff;
216 224
 		}
217 225
 	}
218 226
 }

+ 2 - 2
components/numberKeyModel/numberKeyModel.vue

@@ -141,8 +141,8 @@ export default {
141 141
 				justify-content: space-around;
142 142
 				margin-bottom: 20rpx;
143 143
 				.content-item{
144
-					width: 100rpx;
145
-					height: 100rpx;
144
+					width: 80rpx;
145
+					height: 80rpx;
146 146
 					border-radius: 10rpx;
147 147
 					border: 1px solid #CCCCCC;
148 148
 					color: #000;

+ 1 - 0
http/http.js

@@ -158,6 +158,7 @@ export function changeIP(ip) {
158 158
   console.log(ip)
159 159
   path = `${ip}/service`;
160 160
   appIp = ip;
161
+	uni.setStorageSync('ip', ip);
161 162
   uni.setStorageSync('path', path);
162 163
 }
163 164
 // 建立websocket

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
2 2
     "name" : "病理全流程",
3 3
     "appid" : "__UNI__9F2011E",
4 4
     "description" : "",
5
-    "versionName" : "1.0.0",
6
-    "versionCode" : "100",
5
+    "versionName" : "1.0",
6
+    "versionCode" : 10,
7 7
     "transformPx" : false,
8 8
     /* 5+App特有相关 */
9 9
     "app-plus" : {

+ 2 - 6
pages/homePage/homePage.vue

@@ -78,8 +78,6 @@
78 78
     <showModel :title="models2.title" :icon="models2.icon" :disjunctor="models2.disjunctor" :content="models2.content"
79 79
       @ok="ok2" @cancel="cancel2" :operate="models2.operate">
80 80
     </showModel>
81
-		<!-- apk自动更新 -->
82
-		<appUpdata v-if="isApp && isUpdate" @getUpdate="isUpdate=false"></appUpdata>
83 81
 	</view>
84 82
 </template>
85 83
 
@@ -121,7 +119,7 @@
121 119
         // 密码
122 120
         password: "",
123 121
         //ip地址或域名
124
-        ip: "hsms.dashitech.com",
122
+        ip: "",
125 123
         scroll_refresher_enabled: true, //是否开启自定义下拉刷新
126 124
         triggered: false, //下拉刷新状态
127 125
         freshing: false, //上拉加载开关
@@ -155,7 +153,7 @@
155 153
           disjunctor: false,
156 154
         },
157 155
         objHistory: {},
158
-				isUpdate:true
156
+				isUpdate:false
159 157
       };
160 158
     },
161 159
 		components: {
@@ -1122,7 +1120,6 @@
1122 1120
       }
1123 1121
 			// #ifdef APP-PLUS
1124 1122
 			this.isApp = true;
1125
-			this.isUpdate = true;
1126 1123
 			uni.closeSocket();
1127 1124
 			// #endif
1128 1125
       if (!this.workSchemeType) {
@@ -1173,7 +1170,6 @@
1173 1170
       //#endif
1174 1171
       // #ifdef APP-PLUS
1175 1172
       this.isApp = true;
1176
-			this.isUpdate = true;
1177 1173
       // 通知权限 start
1178 1174
       // var main = plus.android.runtimeMainActivity();
1179 1175
       // var pkName = main.getPackageName();

+ 22 - 2
pages/receiptpage/receiptpage.vue

@@ -333,7 +333,9 @@
333 333
 		</view>
334 334
 
335 335
 		<!-- 悬浮按钮 -->
336
-    <uni-fab :pattern="pattern" :content="content" :direction="direction" @fabClick="fabClick" @trigger="trigger"></uni-fab>
336
+		<view>
337
+			<uni-fab :pattern="pattern" :content="content" :direction="direction" @fabClick="fabClick" @trigger="trigger"></uni-fab>
338
+		</view>
337 339
 		<!-- 弹窗 -->
338 340
     <showModel :title="models.title" :icon="models.icon" :disjunctor="models.disjunctor" :content="models.content"
339 341
       @ok="ok" @cancel="cancel" @know="know" :operate="models.operate"></showModel>
@@ -422,6 +424,8 @@
422 424
 		<scanner></scanner>
423 425
 		<!-- 动态密钥 -->
424 426
 		<numberKeyModel v-if="showKey" :keyArr="keyArr" @cancel="showKey = false" @confirm="confirmKey($event)"></numberKeyModel>
427
+		<!-- apk自动更新 -->
428
+		<appUpdata v-if="isApp && isUpdate" @getUpdate="isUpdate=false"></appUpdata>
425 429
 	</view>
426 430
 </template>
427 431
 <script>
@@ -436,6 +440,7 @@
436 440
 	import uniDrawer from "@/components/uni-drawer/uni-drawer.vue";
437 441
 	import ldSelect from "@/components/ld-select/ld-select.vue";
438 442
 	import MxDatePicker from "@/components/mx-datepicker/mx-datepicker.vue";
443
+	import appUpdata from "../../components/appUpdata/appUpdata.vue";
439 444
 	
440 445
   import {
441 446
     get,
@@ -598,7 +603,9 @@
598 603
 				showKey:false,
599 604
 				keyNum:4, //密钥位数
600 605
 				isNumberKey:false, //是否开启动态密钥
601
-				keyArr: []
606
+				keyArr: [],
607
+				isApp:false,
608
+				isUpdate:false,
602 609
       };
603 610
     },
604 611
 		components: {
@@ -641,6 +648,7 @@
641 648
 			numberKeyModel,
642 649
 			scanner,
643 650
       selectAccount,
651
+			appUpdata
644 652
     },
645 653
     methods: {
646 654
 			confirmKey(data){
@@ -2940,6 +2948,8 @@
2940 2948
       }
2941 2949
       // #ifdef APP-PLUS
2942 2950
       webHandle("no", "app");
2951
+			this.isUpdate = true
2952
+			this.isApp = true
2943 2953
       // #endif
2944 2954
       // #ifdef H5
2945 2955
       webHandle("no", "wx");
@@ -2949,6 +2959,8 @@
2949 2959
 			this.getConfig();
2950 2960
 			let that = this
2951 2961
 			// #ifdef APP-PLUS
2962
+			this.isUpdate = true
2963
+			this.isApp = true
2952 2964
 			uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
2953 2965
 			uni.$on('scan', function(data) {
2954 2966
 				that.padChange(data)
@@ -2971,6 +2983,14 @@
2971 2983
 		}
2972 2984
   };
2973 2985
 </script>
2986
+<style scoped>
2987
+	>>>.uni-fab--leftBottom{
2988
+		bottom: calc(65px + var(--window-bottom)) !important;
2989
+	}
2990
+	>>>.uni-fab__circle--leftBottom{
2991
+		bottom: calc(75px + var(--window-bottom)) !important;
2992
+	}
2993
+</style>
2974 2994
 <style lang="less">
2975 2995
 	.hideInput{
2976 2996
 		height: 40px;

+ 28 - 6
pages/specimenPort/detail.vue

@@ -175,14 +175,30 @@
175 175
 					barcode:scannerCode,
176 176
 					platform:"app"
177 177
 				}).then((res) => {
178
+					let data = res.data[0]
178 179
 					this.SMFlag = true
179 180
 					uni.hideLoading();
180 181
 					if(res.status==200){
181
-						if(res.data[0].status.name=='标本离体'){
182
-							uni.navigateTo({
183
-							  url: `/pages/specimenPort/scan?data=${JSON.stringify(res.data[0])}&type=${res.type}`
184
-							});
185
-						}else{
182
+						let item = data.pathologySpecimenDTOList.find(i=>i.specimenCode == scannerCode)
183
+						if(!item.fixationTime && data.pathologyFormType==0){
184
+							if(data.status.value==2 || data.status.value==3 ||
185
+							data.status.value==4){
186
+								uni.navigateTo({
187
+								  url: `/pages/specimenPort/scan?data=${JSON.stringify(data)}&type=${res.type}`
188
+								});
189
+							}else{
190
+								uni.showToast({
191
+									title: '查询到标本申请单信息',
192
+									duration: 1000,
193
+									icon:'none'
194
+								});
195
+								setTimeout(_=>{
196
+									uni.navigateTo({
197
+									  url: `/pages/specimenPort/detail?detailId=${data.id}`
198
+									});
199
+								},800)
200
+							}
201
+						}else if(item.fixationTime && data.pathologyFormType==0){
186 202
 							uni.showToast({
187 203
 								title: '查询到标本申请单信息',
188 204
 								duration: 1000,
@@ -190,9 +206,15 @@
190 206
 							});
191 207
 							setTimeout(_=>{
192 208
 								uni.navigateTo({
193
-								  url: `/pages/specimenPort/detail?detailId=${res.data[0].id}`
209
+									url: `/pages/specimenPort/detail?detailId=${data.id}`
194 210
 								});
195 211
 							},800)
212
+						}else{
213
+							uni.showToast({
214
+								title: '该申请单类型不是病理检查申请单',
215
+								duration: 1000,
216
+								icon:'none'
217
+							});
196 218
 						}
197 219
 					}else{
198 220
 						uni.showModal({

+ 89 - 23
pages/specimenPort/scan.vue

@@ -2,8 +2,11 @@
2 2
 	<view class="content">
3 3
 		<view class="info">
4 4
 			<view class="header">
5
-				<view class="title" :class="list.length < infoData.specimenNum?'par-top1':'par-top2'">{{list.length}}/{{infoData.specimenNum}}</view>
5
+				<view class="center" :class="list.length < infoData.specimenNum?'par-top1':'par-top2'">
6
+					<view class="sign red">{{list.length}}/{{specimenNum}}</view>
7
+				</view>
6 8
 				<view class="tip" v-if="list.length < infoData.specimenNum">请继续扫描标本!</view>
9
+				<view class="title">申请单共有<span class="red">{{totalNum}}</span>份,已固定<span class="red">{{fixationNum}}</span>份还需固定<span class="red">{{specimenNum}}</span>份</view>
7 10
 			</view>
8 11
 			<view>
9 12
 				<view class="list" v-for="(item, index) in list" :key="index">
@@ -24,7 +27,7 @@
24 27
 				</view>
25 28
 				<view class="df-list">
26 29
 					<view class="list-title">住院号:</view>
27
-					<view class="no-center">{{infoData.patientDTO.barCode}}</view>
30
+					<view class="no-center">{{infoData.patientDTO.patientCode}}</view>
28 31
 				</view>
29 32
 				<view class="df-list">
30 33
 					<view class="list-title">科室名称:</view>
@@ -36,10 +39,10 @@
36 39
 				</view>
37 40
 			</view>
38 41
 		</view>
39
-		<view class="btn-view" v-if="list.length < infoData.specimenNum">
42
+<!-- 		<view class="btn-view" v-if="list.length < infoData.specimenNum">
40 43
 			<button class="back-btn" @click="back">返回</button>
41
-		</view>
42
-		<view class="btn-view df-sb" v-if="list.length == infoData.specimenNum">
44
+		</view> -->
45
+		<view class="btn-view df-sb">
43 46
 			<button class="back-btn2" @click="back">返回</button>
44 47
 			<button class="back-btn3" @click="fixation">标本固定存放</button>
45 48
 		</view>
@@ -101,7 +104,10 @@
101 104
 					fixative:'',
102 105
 					handoverUserId:''
103 106
 				},
104
-				pathologyFormId:null
107
+				pathologyFormId:null,
108
+				fixationNum:null,
109
+				specimenNum:null, 
110
+				totalNum:null, 
105 111
 			}
106 112
 		},
107 113
 		components: {
@@ -147,11 +153,26 @@
147 153
 			},
148 154
 			back(){
149 155
 				// this.padChange('86386627710976\n')
156
+				this.cancelSpecimenModal()
150 157
 				uni.setStorageSync('pathologyFormId', null)
151 158
 				uni.navigateTo({
152 159
 				  url: `/pages/specimenPort/specimenPort?backType=detail`
153 160
 				});
154 161
 			},
162
+			// 标本重置
163
+			cancelSpecimenModal(){
164
+				let ids = []
165
+				for(let i of this.list){
166
+					ids.push(i.id)
167
+				}
168
+				let data = {
169
+					pathologySpecimenIds:ids.join(',')
170
+				}
171
+				post('/pathology/cancel', data).then((res) => {
172
+					
173
+				});
174
+
175
+			},
155 176
 			// 标本固定
156 177
 			fixation(){
157 178
 				this.form={
@@ -216,6 +237,9 @@
216 237
 				}else{
217 238
 					time = this.form.fixationTime
218 239
 				}
240
+				let str = this.list.map(i=>{
241
+					return i.specimenCode
242
+				})
219 243
 				uni.showLoading({
220 244
 					title: "加载中",
221 245
 					mask: true,
@@ -226,6 +250,7 @@
226 250
 					specimenFixingLiquid:{
227 251
 						id:this.form.fixative
228 252
 					},
253
+					specimenCodes:str.join(','),
229 254
 					handoverUserId:this.form.handoverUserId,
230 255
 					fixationTime:time,
231 256
 					specimenDeptId:this.userInfo.dept.id
@@ -263,15 +288,31 @@
263 288
 					delete query.pathologyFormId
264 289
 				}
265 290
 				post("/pathology/scanCode", query).then((res) => {
291
+					let data = res.data[0]
266 292
 					this.SMFlag = true
267 293
 					uni.hideLoading();
268 294
 					if(res.status==200){
269
-						uni.setStorageSync('pathologyFormId', res.data[0].id);
270
-						if(res.data[0].status.name=='标本离体'){
271
-							uni.navigateTo({
272
-							  url: `/pages/specimenPort/scan?data=${JSON.stringify(res.data[0])}&type=${res.type}`
273
-							});
274
-						}else{
295
+						let item = data.pathologySpecimenDTOList.find(i=>i.specimenCode == scannerCode)
296
+						uni.setStorageSync('pathologyFormId', data.id);
297
+						if(!item.fixationTime && data.pathologyFormType==0){
298
+							if(data.status.value==2 || data.status.value==3 ||
299
+							data.status.value==4){
300
+								uni.navigateTo({
301
+								  url: `/pages/specimenPort/scan?data=${JSON.stringify(data)}&type=${res.type}`
302
+								});
303
+							}else{
304
+								uni.showToast({
305
+									title: '查询到标本申请单信息',
306
+									duration: 1000,
307
+									icon:'none'
308
+								});
309
+								setTimeout(_=>{
310
+									uni.navigateTo({
311
+									  url: `/pages/specimenPort/detail?detailId=${data.id}`
312
+									});
313
+								},800)
314
+							}
315
+						}else if(item.fixationTime && data.pathologyFormType==0){
275 316
 							uni.showToast({
276 317
 								title: '查询到标本申请单信息',
277 318
 								duration: 1000,
@@ -279,9 +320,15 @@
279 320
 							});
280 321
 							setTimeout(_=>{
281 322
 								uni.navigateTo({
282
-								  url: `/pages/specimenPort/detail?detailId=${res.data[0].id}`
323
+									url: `/pages/specimenPort/detail?detailId=${data.id}`
283 324
 								});
284 325
 							},800)
326
+						}else{
327
+							uni.showToast({
328
+								title: '该申请单类型不是病理检查申请单',
329
+								duration: 1000,
330
+								icon:'none'
331
+							});
285 332
 						}
286 333
 					}else{
287 334
 						uni.showModal({
@@ -298,6 +345,15 @@
298 345
 						});
299 346
 					}
300 347
 				})
348
+			},
349
+			getSpecimenNum(){
350
+				post(`/pathology/check/pathologyForm/${this.infoData.id}`, {
351
+					operationType:'fixation'
352
+				}).then(res=>{
353
+					this.fixationNum = res.fixationNum
354
+					this.specimenNum = res.specimenNum
355
+					this.totalNum = res.totalNum
356
+				})
301 357
 			}
302 358
 		},
303 359
 		onBackPress(e) {
@@ -319,15 +375,16 @@
319 375
 		onLoad(option){
320 376
 			let data = JSON.parse(option.data)
321 377
 			this.infoData = data
378
+			this.getSpecimenNum()
322 379
 			this.type = option.type
323 380
 			this.list = data.pathologySpecimenDTOList?data.pathologySpecimenDTOList:[]
324
-			if(this.list.length == this.infoData.specimenNum){
325
-				uni.showToast({
326
-					title: '您标本已扫描完成,请填写固定信息',
327
-					duration: 2000,
328
-					icon:'none'
329
-				});
330
-			}
381
+			// if(this.list.length == this.infoData.specimenNum){
382
+			// 	uni.showToast({
383
+			// 		title: '您标本已扫描完成,请填写固定信息',
384
+			// 		duration: 2000,
385
+			// 		icon:'none'
386
+			// 	});
387
+			// }
331 388
 			this.getFixation()
332 389
 		}
333 390
 	}
@@ -364,15 +421,24 @@
364 421
 	page {
365 422
 		background: #F8F8F8;
366 423
 	}
424
+	.red{
425
+		color: red;
426
+	}
367 427
 	.content {
368 428
 		.header {
369 429
 			width: 100%;
370 430
 			height: 450rpx;
371 431
 			text-align: center;
432
+			.center{
433
+				.sign{
434
+					font-size: 70rpx;
435
+					font-weight: bold;
436
+				}
437
+			}
372 438
 			.title{
373
-				color: red;
374
-				font-size: 70rpx;
375
-				font-weight: bold;
439
+				font-weight: 500;
440
+				font-size: 34rpx;
441
+				padding: 0 20rpx;
376 442
 			}
377 443
 			.par-top1{
378 444
 				padding-top: 100rpx;

+ 55 - 10
pages/specimenPort/specimenPort.vue

@@ -1,7 +1,11 @@
1 1
 <template>
2 2
 	<view class="conte">
3 3
 		<view class="header">
4
-			<text class="title">{{userInfo.dept.dept}}</text>
4
+			<text class="title">{{userInfo.dept.dept}}
5
+				<text class="red" v-if="otherData">
6
+					(单 {{otherData.pathologyFormNum}}, 标 {{otherData.specimenNum}})
7
+				</text>
8
+			</text>
5 9
 			<view class="filter" @click="filterClick">
6 10
 				<text class="newicon newicon-shaixuan icon"></text>
7 11
 			</view>
@@ -18,7 +22,7 @@
18 22
 			</view>
19 23
 			<view class="df-list">
20 24
 				<view class="df-list-over-left">患者:{{item.patientName}}({{item.patientDTO.bedNum}}床)</view>
21
-				<view class="df-list-over">住院号:{{item.patientDTO.barCode}}</view>
25
+				<view class="df-list-over">住院号:{{item.patientDTO.patientCode}}</view>
22 26
 			</view>
23 27
 			<view class="df-list">
24 28
 				<view class="df-list-over-left">离:{{yyTimeFilter(item.inVitroTime)}}</view>
@@ -46,6 +50,8 @@
46 50
 		</uni-drawer>
47 51
 		<!-- PDA扫描 -->
48 52
 		<scanner></scanner>
53
+		<!-- apk自动更新 -->
54
+		<appUpdata v-if="isApp && isUpdate" @getUpdate="isUpdate=false"></appUpdata>
49 55
 	</view>
50 56
 </template>
51 57
 
@@ -55,6 +61,7 @@
55 61
 		post
56 62
 	} from "../../http/http.js";
57 63
 	import scanner from "../../components/scanner/scanner.vue";
64
+	import appUpdata from "../../components/appUpdata/appUpdata.vue";
58 65
 	export default {
59 66
 		data() {
60 67
 			return {
@@ -70,10 +77,14 @@
70 77
 				totalNum:0,
71 78
 				hasMore:true,
72 79
 				SMFlag:true,
80
+				otherData:null,
81
+				isApp:false,
82
+				isUpdate:false,
73 83
 			}
74 84
 		},
75 85
 		components: {
76
-			scanner
86
+			scanner,
87
+			appUpdata
77 88
 		},
78 89
 		methods: {
79 90
 			// 时间格式化
@@ -186,7 +197,7 @@
186 197
 			},
187 198
 			// 查看详情
188 199
 			detail(item){
189
-				// this.padChange('BL2410251554361\n')
200
+				// this.padChange('118274209746944\n')
190 201
 				uni.navigateTo({
191 202
 				  url: `/pages/specimenPort/detail?detailId=${item.id}`
192 203
 				});
@@ -254,6 +265,7 @@
254 265
 					if(res.list.length){
255 266
 						this.hasMore = true;
256 267
 						this.list = this.idx === 0 ? res.list : this.list.concat(res.list);
268
+						this.otherData = res.otherData
257 269
 					}else{
258 270
 						if(this.idx == 0){
259 271
 							this.list = []
@@ -278,14 +290,30 @@
278 290
 					barcode:scannerCode,
279 291
 					platform:"app"
280 292
 				}).then((res) => {
293
+					let data = res.data[0]
281 294
 					this.SMFlag = true
282 295
 					uni.hideLoading();
283 296
 					if(res.status==200){
284
-						if(res.data[0].status.name=='标本离体'){
285
-							uni.navigateTo({
286
-							  url: `/pages/specimenPort/scan?data=${JSON.stringify(res.data[0])}&type=${res.type}`
287
-							});
288
-						}else{
297
+						let item = data.pathologySpecimenDTOList.find(i=>i.specimenCode == scannerCode)
298
+						if(!item.fixationTime && data.pathologyFormType==0){
299
+							if(data.status.value==2 || data.status.value==3 ||
300
+							data.status.value==4){
301
+								uni.navigateTo({
302
+								  url: `/pages/specimenPort/scan?data=${JSON.stringify(data)}&type=${res.type}`
303
+								});
304
+							}else{
305
+								uni.showToast({
306
+									title: '查询到标本申请单信息',
307
+									duration: 1000,
308
+									icon:'none'
309
+								});
310
+								setTimeout(_=>{
311
+									uni.navigateTo({
312
+									  url: `/pages/specimenPort/detail?detailId=${data.id}`
313
+									});
314
+								},800)
315
+							}
316
+						}else if(item.fixationTime && data.pathologyFormType==0){
289 317
 							uni.showToast({
290 318
 								title: '查询到标本申请单信息',
291 319
 								duration: 1000,
@@ -293,9 +321,15 @@
293 321
 							});
294 322
 							setTimeout(_=>{
295 323
 								uni.navigateTo({
296
-								  url: `/pages/specimenPort/detail?detailId=${res.data[0].id}`
324
+									url: `/pages/specimenPort/detail?detailId=${data.id}`
297 325
 								});
298 326
 							},800)
327
+						}else{
328
+							uni.showToast({
329
+								title: '该申请单类型不是病理检查申请单',
330
+								duration: 1000,
331
+								icon:'none'
332
+							});
299 333
 						}
300 334
 					}else{
301 335
 						uni.showModal({
@@ -332,6 +366,8 @@
332 366
 		onShow() {
333 367
 			let that = this
334 368
 			// #ifdef APP-PLUS
369
+			this.isUpdate = true
370
+			this.isApp = true
335 371
 			uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
336 372
 			uni.$on('scan', function(data) {
337 373
 				that.padChange(data)
@@ -341,6 +377,11 @@
341 377
 		onLoad(option) {
342 378
 			let backType = option.backType ? option.backType : null
343 379
 			this.getDept(backType)
380
+			// #ifdef APP-PLUS
381
+			this.isUpdate = true
382
+			this.isApp = true
383
+			// #endif
384
+
344 385
 		}
345 386
 	}
346 387
 </script>
@@ -365,6 +406,10 @@
365 406
 				color: #57BC63;
366 407
 				font-size: 32rpx;
367 408
 				font-weight: 500;
409
+				.red{
410
+					color: red;
411
+					margin-left: 10px;
412
+				}
368 413
 			}
369 414
 
370 415
 			.filter {