Browse Source

添加工单完成弹出问卷码

maotao 1 year ago
parent
commit
0ef67c5c88

+ 25 - 18
.hbuilderx/launch.json

@@ -1,20 +1,27 @@
1
-{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
2
-  // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
3
-    "version": "0.0",
4
-    "configurations": [{
5
-     	"app-plus" : 
6
-     	{
7
-     		"launchtype" : "remote"
8
-     	},
9
-     	"default" : 
10
-     	{
11
-     		"launchtype" : "remote"
12
-     	},
13
-     	"h5" : 
14
-     	{
15
-     		"launchtype" : "remote"
16
-     	},
17
-     	"type" : "uniCloud"
18
-     }
1
+{
2
+    // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
3
+    // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
4
+    "version" : "0.0",
5
+    "configurations" : [
6
+        {
7
+            "app-plus" : {
8
+                "launchtype" : "remote"
9
+            },
10
+            "default" : {
11
+                "launchtype" : "remote"
12
+            },
13
+            "h5" : {
14
+                "launchtype" : "remote"
15
+            },
16
+            "type" : "uniCloud"
17
+        },
18
+        {
19
+            "openVueDevtools" : true,
20
+            "type" : "uni-app:app-ios"
21
+        },
22
+        {
23
+            "openVueDevtools" : true,
24
+            "type" : "uni-app:app-android"
25
+        }
19
     ]
26
     ]
20
 }
27
 }

+ 31 - 11
components/questionCode/questionCode.vue

@@ -9,16 +9,16 @@
9
       </view>
9
       </view>
10
       <view class="showModel__article">
10
       <view class="showModel__article">
11
         <view class="showModel__content">
11
         <view class="showModel__content">
12
-          <image :src="qrCode.outQrcode" mode="widthFix" style="width: 100%;"></image>
12
+          <image :src="qrCode.outQrcode" mode="widthFix" style="width: 100%;" @longpress="disableLongPress"></image>
13
         </view>
13
         </view>
14
       </view>
14
       </view>
15
 			<view class="df-fl">
15
 			<view class="df-fl">
16
-				有效期:
17
-				<view v-if="!timeState" class="df-fl">
18
-					<uni-countdown @timeup="timeupChange" :second="refreshQRCodeTime" :showDay="false" :showHour="false" :showMinute="false"/>
16
+				<view @click="getQrCode('reload')" class="reload">刷新</view>
17
+				<view class="df-fl">
18
+					有效期:
19
+					<uni-countdown ref="countDown" @timeup="timeupChange" :second="refreshQRCodeTime" :showDay="false" :showHour="false" :showMinute="false"/>
19
20
20
 				</view>
21
 				</view>
21
-				<view v-else>已过期</view>
22
 			</view>
22
 			</view>
23
       <view class="showModel__footer">
23
       <view class="showModel__footer">
24
         <view class="showModel__know" @click="know" hover-class="seimin-btn-hover">关闭</view>
24
         <view class="showModel__know" @click="know" hover-class="seimin-btn-hover">关闭</view>
@@ -38,8 +38,7 @@
38
       return {
38
       return {
39
         qrCode: '',
39
         qrCode: '',
40
 				disjunctor:false,
40
 				disjunctor:false,
41
-				refreshQRCodeTime:null,
42
-				timeState:false
41
+				refreshQRCodeTime:null
43
       };
42
       };
44
     },
43
     },
45
     props: {
44
     props: {
@@ -53,10 +52,17 @@
53
       },
52
       },
54
 			// 倒计时结束
53
 			// 倒计时结束
55
 			timeupChange(){
54
 			timeupChange(){
56
-				this.timeState = true
55
+				this.getQrCode('reload')
56
+			},
57
+			// 禁止长按
58
+			disableLongPress(e) {
59
+				// 阻止默认行为
60
+				e.preventDefault();
61
+				// 阻止事件冒泡
62
+				e.stopPropagation();
57
 			},
63
 			},
58
       // 获取我的二维码
64
       // 获取我的二维码
59
-      getQrCode(){
65
+      getQrCode(type){
60
         uni.showLoading({
66
         uni.showLoading({
61
           title: "加载中",
67
           title: "加载中",
62
           mask: true,
68
           mask: true,
@@ -66,10 +72,15 @@
66
 				}).then((result) => {
72
 				}).then((result) => {
67
             uni.hideLoading();
73
             uni.hideLoading();
68
             if (result.status == 200) {
74
             if (result.status == 200) {
69
-              this.qrCode = result.data;
75
+							if(type=='reload'){
76
+								this.$refs.countDown.update()
77
+							}
78
+							this.qrCode = result.data;
70
 							this.refreshQRCodeTime = result.refreshQRCodeTime
79
 							this.refreshQRCodeTime = result.refreshQRCodeTime
71
 							this.disjunctor = true
80
 							this.disjunctor = true
72
-            } else {
81
+            } else if(result.status == 405){
82
+							
83
+						}else{
73
               uni.showToast({
84
               uni.showToast({
74
                 icon: "none",
85
                 icon: "none",
75
                 title: result.msg || "接口获取数据失败!",
86
                 title: result.msg || "接口获取数据失败!",
@@ -111,6 +122,10 @@
111
         justify-content: center;
122
         justify-content: center;
112
         align-items: center;
123
         align-items: center;
113
       }
124
       }
125
+			.reload{
126
+				margin: 0 20rpx;
127
+				color: #49b856;
128
+			}
114
 			.df-fl{
129
 			.df-fl{
115
 				display: flex;
130
 				display: flex;
116
 				justify-content: center;
131
 				justify-content: center;
@@ -158,6 +173,11 @@
158
           font-size: 36rpx;
173
           font-size: 36rpx;
159
           word-break: break-all;
174
           word-break: break-all;
160
           width: 100%;
175
           width: 100%;
176
+					background: rgba(0,0,0,0);
177
+					z-index: 999;
178
+					image{
179
+						pointer-events:none;
180
+					}
161
         }
181
         }
162
 
182
 
163
         .showModel__info {
183
         .showModel__info {

+ 2 - 2
http/http.js

@@ -1,4 +1,4 @@
1
-import { encode } from 'js-base64';
1
+import { Base64 } from 'js-base64';
2
 // #ifdef H5
2
 // #ifdef H5
3
 import wx from 'weixin-jsapi'
3
 import wx from 'weixin-jsapi'
4
 // #endif
4
 // #endif
@@ -38,7 +38,7 @@ export function get(url, data = {}) {
38
 export function post(url, data = {}) {
38
 export function post(url, data = {}) {
39
   if(url.includes('/workerOrder/orderSign/')){
39
   if(url.includes('/workerOrder/orderSign/')){
40
     let code = url.replace('/workerOrder/orderSign/', '');
40
     let code = url.replace('/workerOrder/orderSign/', '');
41
-    url = '/workerOrder/orderSign/' + encode(code);
41
+    url = '/workerOrder/orderSign/' + Base64.encode(code);
42
   }
42
   }
43
   url = path + url;
43
   url = path + url;
44
   return new Promise((resolve, reject) => {
44
   return new Promise((resolve, reject) => {

+ 2 - 1
manifest.json

@@ -83,7 +83,8 @@
83
             "proxy" : {
83
             "proxy" : {
84
                 "/service" : {
84
                 "/service" : {
85
                     "target" : "http://192.168.3.108", //请求的目标域名
85
                     "target" : "http://192.168.3.108", //请求的目标域名
86
-										// "target" : "http://192.168.4.163", //宋程玉本地
86
+
87
+                    // "target" : "http://192.168.4.163", //宋程玉本地
87
                     "changeOrigin" : true, //是否跨域
88
                     "changeOrigin" : true, //是否跨域
88
                     "secure" : false
89
                     "secure" : false
89
                 }
90
                 }

+ 4 - 4
package-lock.json

@@ -12,7 +12,7 @@
12
         "big.js": "^6.2.1",
12
         "big.js": "^6.2.1",
13
         "crypto-js": "^4.1.1",
13
         "crypto-js": "^4.1.1",
14
         "dayjs": "^1.11.10",
14
         "dayjs": "^1.11.10",
15
-        "js-base64": "^3.7.5",
15
+        "js-base64": "^2.6.4",
16
         "spinkit": "^2.0.1",
16
         "spinkit": "^2.0.1",
17
         "weixin-jsapi": "^1.1.0"
17
         "weixin-jsapi": "^1.1.0"
18
       },
18
       },
@@ -222,9 +222,9 @@
222
       }
222
       }
223
     },
223
     },
224
     "node_modules/js-base64": {
224
     "node_modules/js-base64": {
225
-      "version": "3.7.5",
226
-      "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-3.7.5.tgz",
227
-      "integrity": "sha512-mm6+q5LzUWw8jABsLkg7J5A0YL/SL3RgkzIKQaXN+LTaH3x3LQ+ALPM0jnINUtdsVNNpJuKubtecczlHIi92uQ=="
225
+      "version": "2.6.4",
226
+      "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz",
227
+      "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
228
     },
228
     },
229
     "node_modules/minimatch": {
229
     "node_modules/minimatch": {
230
       "version": "3.1.2",
230
       "version": "3.1.2",

+ 1 - 1
package.json

@@ -17,7 +17,7 @@
17
     "big.js": "^6.2.1",
17
     "big.js": "^6.2.1",
18
     "crypto-js": "^4.1.1",
18
     "crypto-js": "^4.1.1",
19
     "dayjs": "^1.11.10",
19
     "dayjs": "^1.11.10",
20
-    "js-base64": "^3.7.5",
20
+    "js-base64": "^2.6.4",
21
     "spinkit": "^2.0.1",
21
     "spinkit": "^2.0.1",
22
     "weixin-jsapi": "^1.1.0"
22
     "weixin-jsapi": "^1.1.0"
23
   },
23
   },

+ 19 - 3
pages/scanning_Result/scanning_Result.vue

@@ -894,7 +894,7 @@
894
 				  uni.hideLoading();
894
 				  uni.hideLoading();
895
 				  if (res.status == 200) {
895
 				  if (res.status == 200) {
896
 				    let data = res.list[0];
896
 				    let data = res.list[0];
897
-						if(data.taskTypeDTOS.length>0){
897
+						if(data.taskTypeDTOS.length>0 && data.questionnaireDTOS.length>0){
898
 							let isQuestion = data.taskTypeDTOS.find(i=> i.id == this.taskTypeId)
898
 							let isQuestion = data.taskTypeDTOS.find(i=> i.id == this.taskTypeId)
899
 							if(isQuestion){
899
 							if(isQuestion){
900
 								this.isQuestionModel = true
900
 								this.isQuestionModel = true
@@ -925,6 +925,7 @@
925
       } else if (options.model) {
925
       } else if (options.model) {
926
         this.infoDATA = JSON.parse(options.model);
926
         this.infoDATA = JSON.parse(options.model);
927
       }
927
       }
928
+			console.log(this.infoDATA , "infoDATA");
928
       if (options.accountObj && options.accountObj != "undefined") {
929
       if (options.accountObj && options.accountObj != "undefined") {
929
         this.accountObj = JSON.parse(options.accountObj);
930
         this.accountObj = JSON.parse(options.accountObj);
930
       }
931
       }
@@ -935,7 +936,11 @@
935
         this.handover = options.handover;
936
         this.handover = options.handover;
936
       }
937
       }
937
       this.dataId = options.id;
938
       this.dataId = options.id;
938
-			this.taskTypeId = options.taskTypeId
939
+			if(options.taskTypeId){
940
+				this.taskTypeId = options.taskTypeId
941
+			}else if(this.infoDATA.workOrderList && this.infoDATA.workOrderList.length>0){
942
+				this.taskTypeId = this.infoDATA.workOrderList[0].taskType.id
943
+			}
939
       this.RESData = options.resData;
944
       this.RESData = options.resData;
940
       this.res["status"] = options.status;
945
       this.res["status"] = options.status;
941
       this.res["msg"] = options.msg;
946
       this.res["msg"] = options.msg;
@@ -945,9 +950,20 @@
945
       this.res["deptName"] = options.deptName;
950
       this.res["deptName"] = options.deptName;
946
       this.res["bedNum"] = options.bedNum;
951
       this.res["bedNum"] = options.bedNum;
947
       this.infoType = options.type1;
952
       this.infoType = options.type1;
948
-			if(this.infoType == 'trans-dsd-1' && this.infoDATA.status == 200){
953
+			if((this.infoType == 'trans-dsd-1' || this.infoType == 'ins-dsd-1' 
954
+				|| this.infoType == 'ins-half-ok' || this.infoDATA.type == 'ins-half-ok') 
955
+				&& this.res.status == 200){
949
 				this.getQuestionnaireSet()
956
 				this.getQuestionnaireSet()
950
 			}
957
 			}
958
+			if(
959
+				this.res.status == 200 &&
960
+				this.infoType != 'ins-zxz-1' &&
961
+				this.infoType != 'ins-dsd-1' &&
962
+				this.infoType != 'ins-ddd-1' &&
963
+				this.infoType != 'trans-ddd-1' &&
964
+				this.infoType != 'trans-dsd-1'){
965
+					this.getQuestionnaireSet()
966
+				}
951
       if (options.dept) {
967
       if (options.dept) {
952
         this.DEPT = options.dept;
968
         this.DEPT = options.dept;
953
       }
969
       }

+ 17 - 7
pages/scanning_all/scanning_all.vue

@@ -318,7 +318,7 @@
318
           mask: true,
318
           mask: true,
319
         });
319
         });
320
         if(this.tabType === 'specimen' && this.infoDATA.specimen && this.infoDATA.specimen[0].gdState.value == 5){
320
         if(this.tabType === 'specimen' && this.infoDATA.specimen && this.infoDATA.specimen[0].gdState.value == 5){
321
-          let result = await this.validateHandoverSpecimen();
321
+					let result = await this.validateHandoverSpecimen();
322
           if (result.status == 200) {
322
           if (result.status == 200) {
323
             if(result.list.length){
323
             if(result.list.length){
324
               // 标本-运送过程-终点科室-标本数字交接
324
               // 标本-运送过程-终点科室-标本数字交接
@@ -361,7 +361,9 @@
361
                 this.tabType
361
                 this.tabType
362
               }&type1=${res.type}&infoData=${res.data}&status=${
362
               }&type1=${res.type}&infoData=${res.data}&status=${
363
                 res.status
363
                 res.status
364
-              }&msg=${res.msg}&deptCode=${this.code}&dept=${
364
+              }&workOrderList=${encodeURIComponent(
365
+								JSON.stringify(res.workOrderList)
366
+							)}&msg=${res.msg}&deptCode=${this.code}&dept=${
365
                 res.dept
367
                 res.dept
366
               }&ids=${encodeURIComponent(
368
               }&ids=${encodeURIComponent(
367
                 JSON.stringify(this.userId.ids)
369
                 JSON.stringify(this.userId.ids)
@@ -443,7 +445,9 @@
443
             )}&model=${encodeURIComponent(JSON.stringify(res))}&deptId=${res.deptId}`,
445
             )}&model=${encodeURIComponent(JSON.stringify(res))}&deptId=${res.deptId}`,
444
             });
446
             });
445
           }
447
           }
446
-        });
448
+        }).catch(err=>{
449
+					console.log(9999,err)
450
+				})
447
       },
451
       },
448
       //一键操作
452
       //一键操作
449
       allStart() {
453
       allStart() {
@@ -621,6 +625,8 @@
621
                         post("/workerOrder/" + type, list).then((res) => {
625
                         post("/workerOrder/" + type, list).then((res) => {
622
                           uni.hideLoading();
626
                           uni.hideLoading();
623
                           if (res.status == 200) {
627
                           if (res.status == 200) {
628
+														console.log('工单id',this.typeData)
629
+														console.log('selectArr', this.selectArr)
624
                             if (
630
                             if (
625
                               this.tabType == "inspect" ||
631
                               this.tabType == "inspect" ||
626
                               this.tabType == "patientTransport"
632
                               this.tabType == "patientTransport"
@@ -645,8 +651,10 @@
645
                                   }&type1=${res.type}&infoData=${res.data}&status=${
651
                                   }&type1=${res.type}&infoData=${res.data}&status=${
646
                                     res.status
652
                                     res.status
647
                                   }&msg=${res.msg}&deptCode=${this.code}&dept=${
653
                                   }&msg=${res.msg}&deptCode=${this.code}&dept=${
648
-                                    res.dept
649
-                                  }&ids=${encodeURIComponent(
654
+                                    res.dept 
655
+                                  }&workOrderList=${encodeURIComponent(
656
+                                    JSON.stringify(res.workOrderList)
657
+                                  )}&ids=${encodeURIComponent(
650
                                     JSON.stringify(this.userId.ids)
658
                                     JSON.stringify(this.userId.ids)
651
                                   )}&model=${encodeURIComponent(
659
                                   )}&model=${encodeURIComponent(
652
                                     JSON.stringify(res)
660
                                     JSON.stringify(res)
@@ -668,7 +676,9 @@
668
                                   res.status
676
                                   res.status
669
                                 }&msg=${res.msg}&deptCode=${this.code}&dept=${
677
                                 }&msg=${res.msg}&deptCode=${this.code}&dept=${
670
                                   res.dept
678
                                   res.dept
671
-                                }&ids=${encodeURIComponent(
679
+                                }&workOrderList=${encodeURIComponent(
680
+                                  JSON.stringify(res.workOrderList)
681
+                                )}&ids=${encodeURIComponent(
672
                                   JSON.stringify(this.userId.ids)
682
                                   JSON.stringify(this.userId.ids)
673
                                 )}&model=${encodeURIComponent(
683
                                 )}&model=${encodeURIComponent(
674
                                   JSON.stringify(res)
684
                                   JSON.stringify(res)
@@ -876,8 +886,8 @@
876
           arr.push(key);
886
           arr.push(key);
877
         }
887
         }
878
       }
888
       }
879
-      console.log(this.infoDATA);
880
       this.workData = this.infoDATA[arr[0]] || [];
889
       this.workData = this.infoDATA[arr[0]] || [];
890
+			console.log('病人数据',this.workData);
881
       this.tabType = arr[0];
891
       this.tabType = arr[0];
882
       this.all();
892
       this.all();
883
       // #ifdef APP-PLUS
893
       // #ifdef APP-PLUS

+ 2 - 2
pages/scanning_code/scanning_code.vue

@@ -1004,7 +1004,7 @@
1004
                         }&dept=${
1004
                         }&dept=${
1005
                           this.queryObj.dept
1005
                           this.queryObj.dept
1006
                         }&taskTypeId=${
1006
                         }&taskTypeId=${
1007
-													his.infoDATA.taskType.id
1007
+													this.infoDATA.taskType.id
1008
 												}&id=${this.dataId}&model=${encodeURIComponent(
1008
 												}&id=${this.dataId}&model=${encodeURIComponent(
1009
                           JSON.stringify(ress)
1009
                           JSON.stringify(ress)
1010
                         )}`,
1010
                         )}`,
@@ -1264,7 +1264,7 @@
1264
 				  uni.hideLoading();
1264
 				  uni.hideLoading();
1265
 				  if (res.status == 200) {
1265
 				  if (res.status == 200) {
1266
 				    let data = res.list[0];
1266
 				    let data = res.list[0];
1267
-						if(data.taskTypeDTOS.length>0){
1267
+						if(data.taskTypeDTOS.length>0 && data.questionnaireDTOS.length>0){
1268
 							let isQuestion = data.taskTypeDTOS.find(i=> i.id == this.infoDATA.taskType.id)
1268
 							let isQuestion = data.taskTypeDTOS.find(i=> i.id == this.infoDATA.taskType.id)
1269
 							if(isQuestion){
1269
 							if(isQuestion){
1270
 								this.isQuestionModel = true
1270
 								this.isQuestionModel = true

+ 82 - 0
pages/scanning_djEnd/scanning_djEnd.vue

@@ -212,10 +212,13 @@
212
       :title="changeSpeModels.title" :content="changeSpeModels.content" :disjunctor="changeSpeModels.disjunctor"
212
       :title="changeSpeModels.title" :content="changeSpeModels.content" :disjunctor="changeSpeModels.disjunctor"
213
       @ok="changeSpeOk" @check="changeSpeCheck" @cancel="changeSpeCancel" :num="speNumChange" :modifyReason="modifyReason" :isFirstShowReason="false">
213
       @ok="changeSpeOk" @check="changeSpeCheck" @cancel="changeSpeCancel" :num="speNumChange" :modifyReason="modifyReason" :isFirstShowReason="false">
214
     </changeSpeNum>
214
     </changeSpeNum>
215
+		<!-- 调查问卷二维码 -->
216
+		 <questionCode v-if="isQuestionModel" :orderId="questionId" @know="isQuestionModel = false"></questionCode>
215
   </view>
217
   </view>
216
 </template>
218
 </template>
217
 <script>
219
 <script>
218
   import showModel from "../../components/showModel/showModel.vue";
220
   import showModel from "../../components/showModel/showModel.vue";
221
+	import questionCode from "../../components/questionCode/questionCode.vue";
219
   import {
222
   import {
220
     get,
223
     get,
221
     post,
224
     post,
@@ -223,8 +226,14 @@
223
     webHandle
226
     webHandle
224
   } from "../../http/http.js";
227
   } from "../../http/http.js";
225
   export default {
228
   export default {
229
+		components:{
230
+			questionCode
231
+		},
226
     data() {
232
     data() {
227
       return {
233
       return {
234
+				// 调研二维码
235
+				isQuestionModel:false,
236
+				questionId:null,
228
         speNumChange: 0,
237
         speNumChange: 0,
229
         modifyReason:'',
238
         modifyReason:'',
230
         changeSpeObj: {},
239
         changeSpeObj: {},
@@ -1052,6 +1061,64 @@
1052
           url: "../receiptpage/receiptpage",
1061
           url: "../receiptpage/receiptpage",
1053
         });
1062
         });
1054
       },
1063
       },
1064
+			// 获取问卷配置
1065
+			getQuestionnaireSet(){
1066
+				uni.showLoading({
1067
+				  title: "加载中",
1068
+				  mask: true,
1069
+				});
1070
+				const userData = uni.getStorageSync("userData");
1071
+				post("/simple/data/fetchDataList/questionnaireConfig",{
1072
+					questionnaireConfig:{
1073
+						hosId:userData.user.scope.hospitalId.id
1074
+					},
1075
+					idx:0,
1076
+					sum:10
1077
+				}).then((res) => {
1078
+				  uni.hideLoading();
1079
+				  if (res.status == 200) {
1080
+				    let data = res.list[0];
1081
+						let isQuestion = null
1082
+						let taskTypeArr = []
1083
+						if(data.taskTypeDTOS.length>0 && data.questionnaireDTOS.length>0){
1084
+							if(this.type == 'other' && this.infoDATA.workOrderList.length>1){
1085
+								for(let i of this.infoDATA.workOrderList){ 
1086
+									taskTypeArr.push({
1087
+										id:i.id, //工单id
1088
+										taskTypeId:i.taskType.id //任务类型id
1089
+									})
1090
+								}
1091
+								for(let t of data.taskTypeDTOS){
1092
+									for(let x of taskTypeArr){
1093
+										if(t.id == x.taskTypeId){
1094
+											isQuestion = x
1095
+										}
1096
+									}
1097
+								}
1098
+								this.$nextTick(_=>{
1099
+									if(isQuestion){
1100
+										this.questionId = isQuestion.id
1101
+									}
1102
+								})
1103
+							}else{
1104
+								let taskTypeId = this.infoDATA.workOrderList[0].taskType.id
1105
+								this.questionId = this.infoDATA.workOrderList[0].id
1106
+								isQuestion = data.taskTypeDTOS.find(i=> i.id == taskTypeId)
1107
+							}
1108
+							this.$nextTick(_=>{
1109
+								if(isQuestion){
1110
+									this.isQuestionModel = true
1111
+								}
1112
+							})
1113
+						}
1114
+				  } else {
1115
+				    uni.showToast({
1116
+				      icon: "none",
1117
+				      title: res.msg || "接口获取数据失败!",
1118
+				    });
1119
+				  }
1120
+				});
1121
+			}
1055
     },
1122
     },
1056
     onShow() {
1123
     onShow() {
1057
       this.SMFlag = true;
1124
       this.SMFlag = true;
@@ -1073,6 +1140,7 @@
1073
       this.code = options.code; //二维码code
1140
       this.code = options.code; //二维码code
1074
       this.ids = options.ids && JSON.parse(options.ids); //科室ID数组
1141
       this.ids = options.ids && JSON.parse(options.ids); //科室ID数组
1075
       this.infoDATA = list;
1142
       this.infoDATA = list;
1143
+			console.log(this.infoDATA, "this.infoDATA");
1076
       if (options.type) {
1144
       if (options.type) {
1077
         //关联类型
1145
         //关联类型
1078
         this.type = options.type;
1146
         this.type = options.type;
@@ -1080,6 +1148,20 @@
1080
         this.type = list.type;
1148
         this.type = list.type;
1081
       }
1149
       }
1082
       this.type1 = options.type1;
1150
       this.type1 = options.type1;
1151
+			if(options.workOrderList){
1152
+				this.infoDATA.workOrderList = JSON.parse(options.workOrderList)
1153
+			}
1154
+			if(
1155
+			  (this.infoDATA.state == 'finish' &&
1156
+			    this.infoDATA.status == 200 &&
1157
+			    this.type == 'specimenPlan' &&
1158
+			    this.infoDATA.type == 'plan-spe-dsd-1') ||
1159
+			  (this.infoDATA.status == 200 &&
1160
+			    this.type == 'other' &&
1161
+			    this.infoDATA.type == 'qt-dsd-1')){
1162
+						this.getQuestionnaireSet()
1163
+					}
1164
+					
1083
       if(this.queryObj.isDigitalHandover==1){
1165
       if(this.queryObj.isDigitalHandover==1){
1084
         this.checkNumber();//自动弹出数量核对
1166
         this.checkNumber();//自动弹出数量核对
1085
       }
1167
       }

+ 67 - 1
pages/scanning_djInfo/scanning_djInfo.vue

@@ -160,10 +160,13 @@
160
     <handViewSpecimen v-if="speModels.disjunctor" :title="speModels.title" :disjunctor="speModels.disjunctor"
160
     <handViewSpecimen v-if="speModels.disjunctor" :title="speModels.title" :disjunctor="speModels.disjunctor"
161
       @ok="speOk" @cancel="speCancel">
161
       @ok="speOk" @cancel="speCancel">
162
     </handViewSpecimen>
162
     </handViewSpecimen>
163
+		<!-- 调查问卷二维码 -->
164
+		 <questionCode v-if="isQuestionModel" :orderId="gdId" @know="isQuestionModel = false"></questionCode>
163
   </view>
165
   </view>
164
 </template>
166
 </template>
165
 <script>
167
 <script>
166
   import showModel from "../../components/showModel/showModel.vue";
168
   import showModel from "../../components/showModel/showModel.vue";
169
+	import questionCode from "../../components/questionCode/questionCode.vue";
167
   import {
170
   import {
168
     get,
171
     get,
169
     post,
172
     post,
@@ -174,8 +177,14 @@
174
     DRUGSBAG_TYPE
177
     DRUGSBAG_TYPE
175
   } from '../../tools/enum.drugsbagType.js';
178
   } from '../../tools/enum.drugsbagType.js';
176
   export default {
179
   export default {
180
+		components:{
181
+			questionCode
182
+		},
177
     data() {
183
     data() {
178
       return {
184
       return {
185
+				// 调研二维码
186
+				isQuestionModel:false,
187
+				gdId:null,
179
         DRUGSBAG_TYPE,
188
         DRUGSBAG_TYPE,
180
         currentCode: '', //当前小扫描的科室二维码
189
         currentCode: '', //当前小扫描的科室二维码
181
         // 手动查询标本弹窗model
190
         // 手动查询标本弹窗model
@@ -662,6 +671,38 @@
662
           url: "../receiptpage/receiptpage",
671
           url: "../receiptpage/receiptpage",
663
         });
672
         });
664
       },
673
       },
674
+			// 获取问卷配置
675
+			getQuestionnaireSet(){
676
+				uni.showLoading({
677
+				  title: "加载中",
678
+				  mask: true,
679
+				});
680
+				const userData = uni.getStorageSync("userData");
681
+				post("/simple/data/fetchDataList/questionnaireConfig",{
682
+					questionnaireConfig:{
683
+						hosId:userData.user.scope.hospitalId.id
684
+					},
685
+					idx:0,
686
+					sum:10
687
+				}).then((res) => {
688
+				  uni.hideLoading();
689
+				  if (res.status == 200) {
690
+				    let data = res.list[0];
691
+						let taskTypeId = this.infoDATA.workOrderList[0].taskType.id
692
+						if(data.taskTypeDTOS.length>0 && data.questionnaireDTOS.length>0){
693
+							let isQuestion = data.taskTypeDTOS.find(i=> i.id == taskTypeId)
694
+							if(isQuestion){
695
+								this.isQuestionModel = true
696
+							}
697
+						}
698
+				  } else {
699
+				    uni.showToast({
700
+				      icon: "none",
701
+				      title: res.msg || "接口获取数据失败!",
702
+				    });
703
+				  }
704
+				});
705
+			}
665
     },
706
     },
666
     onShow() {
707
     onShow() {
667
       this.SMFlag = true;
708
       this.SMFlag = true;
@@ -688,7 +729,7 @@
688
       } else {
729
       } else {
689
         this.infoDATA = this.queryObj.infoData;
730
         this.infoDATA = this.queryObj.infoData;
690
       }
731
       }
691
-
732
+			console.log(this.infoDATA, "22222");
692
       this.RESData = this.queryObj.resData;
733
       this.RESData = this.queryObj.resData;
693
       this.res["status"] = this.queryObj.status;
734
       this.res["status"] = this.queryObj.status;
694
       this.res["msg"] = this.queryObj.msg;
735
       this.res["msg"] = this.queryObj.msg;
@@ -708,6 +749,31 @@
708
       }
749
       }
709
       this.DEPTCode = this.queryObj.deptCode;
750
       this.DEPTCode = this.queryObj.deptCode;
710
       this.type = this.queryObj.type;
751
       this.type = this.queryObj.type;
752
+			this.taskTypeId = options.taskTypeId
753
+			if(options.workOrderList && options.workOrderList!="undefined" && options.workOrderList!=undefined){
754
+				this.infoDATA.workOrderList = JSON.parse(options.workOrderList)
755
+			}
756
+			if(this.queryObj.ids&&this.queryObj.ids.length>0){
757
+				this.gdId = this.queryObj.ids[0]
758
+			}else{
759
+				this.gdId = this.infoDATA.workOrderList[0].id
760
+			}
761
+			if((this.res.status == 200 && this.type == 'inspect') || this.type == 'patientTransport'){
762
+				if(this.infoType == 'ins-dsd-1' ||
763
+					this.infoType == 'trans-dsd-1' ||
764
+					this.infoDATA.type == 'trans-dsd-1' || 
765
+					this.infoDATA.type == 'ins-half-ok'){
766
+						this.getQuestionnaireSet()
767
+					}
768
+			}
769
+			
770
+			if(
771
+			(this.res.status == 200 && this.type == 'drugsBag') ||
772
+			(this.res.status == 200 && this.type == 'jPBag')){
773
+				if(this.infoType == 'drug-dsd-2' || this.infoType == 'jp-dsd-2'){
774
+					this.getQuestionnaireSet()
775
+				}
776
+			}
711
       // #ifdef APP-PLUS
777
       // #ifdef APP-PLUS
712
       webHandle("no", "app");
778
       webHandle("no", "app");
713
       // #endif
779
       // #endif

+ 4 - 1
pages/scanning_ins/scanning_ins.vue

@@ -816,6 +816,7 @@
816
               mask: true,
816
               mask: true,
817
             });
817
             });
818
             post("/workerOrder/" + type, list).then((res) => {
818
             post("/workerOrder/" + type, list).then((res) => {
819
+							console.log(1111,res)
819
               uni.hideLoading();
820
               uni.hideLoading();
820
               if (res.status == 200) {
821
               if (res.status == 200) {
821
                 if(data.gdState.value == 4 && data.taskType.associationType.value === 'patientTransport'){
822
                 if(data.gdState.value == 4 && data.taskType.associationType.value === 'patientTransport'){
@@ -845,7 +846,9 @@
845
                 )}`,
846
                 )}`,
846
                 });
847
                 });
847
               }
848
               }
848
-            });
849
+            }).catch(err=>{
850
+							console.log(9999,err)
851
+						})
849
           }
852
           }
850
         } else {
853
         } else {
851
           this.models = {
854
           this.models = {