소스 검색

追加陪检人员

seimin 2 년 전
부모
커밋
14e3fbaf9f
1개의 변경된 파일147개의 추가작업 그리고 1개의 파일을 삭제
  1. 147 1
      pages/receipt_infopage/receipt_infopage.vue

+ 147 - 1
pages/receipt_infopage/receipt_infopage.vue

@@ -188,6 +188,21 @@
188 188
           <text class="text2"
189 189
             :class="{red:infoDATA.isAccompany===1}">{{ infoDATA.isAccompany===1?'需要医护陪同':'无需医护陪同'}}</text>
190 190
         </view>
191
+        <view class="page_item_foot_text"
192
+          v-if="(infoDATA.taskType.associationType.value == 'inspect' || infoDATA.taskType.associationType.value == 'patientTransport') && infoDATA.inspectScore">
193
+          <text class="text1">陪检方式</text>
194
+          <text class="text2">{{ infoDATA.inspectScore.inspectMode }}</text>
195
+        </view>
196
+        <view class="page_item_foot_text"
197
+          v-if="(infoDATA.taskType.associationType.value == 'inspect' || infoDATA.taskType.associationType.value == 'patientTransport') && infoDATA.inspectUsers">
198
+          <text class="text1">陪检人员</text>
199
+          <text class="text2">{{ infoDATA.inspectUsers }}</text>
200
+        </view>
201
+        <view class="page_item_foot_text"
202
+          v-if="(infoDATA.taskType.associationType.value == 'inspect' || infoDATA.taskType.associationType.value == 'patientTransport') && infoDATA.inspectUsersNum">
203
+          <text class="text1">陪检人数</text>
204
+          <text class="text2">{{ infoDATA.inspectUsersNum }}</text>
205
+        </view>
191 206
       </view>
192 207
       <!-- 药包 -->
193 208
       <view class="page_item_info" v-if="infoDATA.taskType.associationType.value == 'drugsBag'">
@@ -373,6 +388,7 @@
373 388
           infoDATA.taskType.associationType.value == 'specimenPlan'
374 389
         " hover-class="seimin-btn-hover">查看标本</view>
375 390
       <view class="btn3" @click="viewBlood(infoDATA)" v-if="infoDATA.taskType.associationType.value == 'ordinary' && infoDATA.taskType.ordinaryField.value == 'blood'" hover-class="seimin-btn-hover">查看血制品</view>
391
+      <view class="btn3" @click="additionalUser(infoDATA)" v-if="(infoDATA.taskType.associationType.value == 'inspect' || infoDATA.taskType.associationType.value == 'patientTransport') && infoDATA.worker && infoDATA.worker.id && multiplayerMode === 1" hover-class="seimin-btn-hover">追加陪检人员</view>
376 392
     </view>
377 393
     <!-- 弹窗 -->
378 394
     <showModel :title="models.title" :icon="models.icon" :disjunctor="models.disjunctor" :content="models.content"
@@ -398,6 +414,9 @@
398 414
   export default {
399 415
     data() {
400 416
       return {
417
+        multiplayerMode: 0,
418
+        hosId: uni.getStorageSync('userData').user.currentHospital.id,
419
+        SMFlag:true,
401 420
         actualDelivery: 0,
402 421
         currentUserId: 0,
403 422
         // 弹窗model
@@ -595,6 +614,99 @@
595 614
           };
596 615
         }
597 616
       },
617
+      // 追加陪检人员按钮
618
+      additionalUser(data) {
619
+        if (!this.SMFlag) {
620
+          return;
621
+        }
622
+        this.SMFlag = false;
623
+        // this.currentData = data;
624
+        console.log(data, 'data');
625
+        SM().then((ress1) => {
626
+          uni.showLoading({
627
+            title: "加载中",
628
+            mask: true,
629
+          });
630
+          //检验二维码的有效性
631
+          post("/dept/scanning", {
632
+            content: ress1,
633
+            taskTypeId: data.taskType.id,
634
+            gdState: data.gdState.id,
635
+          }).then((result) => {
636
+            this.SMFlag = true;
637
+            // this.currentCode = result.code;
638
+            if (result.state == 200 || result.state == 201) {
639
+              uni.hideLoading();
640
+              console.log(result);
641
+              let user = {};
642
+              try{
643
+                user = JSON.parse(result.code);
644
+                console.log(user);
645
+              }catch(e){
646
+                uni.showToast({
647
+                  icon: "none",
648
+                  title: "请扫描正确的二维码!",
649
+                });
650
+              }
651
+              if(user.type == 'myQrCode' && user.id && user.name){
652
+                uni.showModal({
653
+                  title: "提示",
654
+                  content: `您要最追加的人员为${user.name},您确认要追加吗?`,
655
+                  success: (res) => {
656
+                    if (res.confirm) {
657
+                      console.log("用户点击确定");
658
+                      this.additionalUserCommon(user.id, data.id, data.worker.id);
659
+                    } else if (res.cancel) {
660
+                      console.log("用户点击取消");
661
+                    }
662
+                  },
663
+                });
664
+              }else{
665
+                uni.showToast({
666
+                  icon: "none",
667
+                  title: "请扫描正确的二维码!",
668
+                });
669
+              }
670
+            } else {
671
+              uni.hideLoading();
672
+              uni.showToast({
673
+                icon: "none",
674
+                title: "请求失败!",
675
+              });
676
+            }
677
+          });
678
+        }).catch(err=>{
679
+          this.SMFlag = true;
680
+        });
681
+      },
682
+      // 追加陪检人
683
+      additionalUserCommon(userId, gdId, workerId) {
684
+        console.log(userId, gdId, workerId);
685
+        uni.showLoading({
686
+          title: "加载中",
687
+          mask: true,
688
+        });
689
+        post("/workerOrder/additionalAccompanyingPersonnel", {
690
+          userId,
691
+          gdId,
692
+          workerId,
693
+        }).then((result) => {
694
+          uni.hideLoading();
695
+          if (result.state == 200) {
696
+            uni.showToast({
697
+              icon: 'none',
698
+              duration: 4000,
699
+              title: '操作成功!'
700
+            })
701
+          } else {
702
+            uni.showToast({
703
+              icon: 'none',
704
+              duration: 4000,
705
+              title: result.msg || '操作失败!'
706
+            })
707
+          }
708
+        });
709
+      },
598 710
       // 特殊情况关闭按钮
599 711
       specialCloseClick() {
600 712
         this.textareaFlag = true;
@@ -764,6 +876,34 @@
764 876
           }
765 877
         });
766 878
       },
879
+      // 获取检查页面控制开关
880
+      getTaskConfig(){
881
+        post("/simple/data/fetchDataList/taskTypeConfig", {
882
+            "idx": 0,
883
+            "sum": 10,
884
+            "taskTypeConfig": {
885
+                "taskTypeDTO": {
886
+                    "hosId": {
887
+                        "id": this.hosId
888
+                    },
889
+                    "associationType": {
890
+                        "key": "association_types",
891
+                        "value": "inspect"
892
+                    }
893
+                }
894
+            }
895
+        }).then((result) => {
896
+          if (result.status == 200) {
897
+            if(result.list && result.list[0]){
898
+              this.multiplayerMode = result.list[0].multiplayerMode;
899
+            }else{
900
+              this.multiplayerMode = 0;
901
+            }
902
+          } else {
903
+            this.multiplayerMode = 0;
904
+          }
905
+        });
906
+      }
767 907
     },
768 908
     onLoad(options) {
769 909
       console.log(options, 'options');
@@ -778,6 +918,12 @@
778 918
       } else {
779 919
         this.getInfo(id);
780 920
       }
921
+      if (
922
+        options.associationTypeValue == 'inspect' ||
923
+        options.associationTypeValue == 'patientTransport'
924
+      ) {
925
+        this.getTaskConfig();
926
+      }
781 927
       // 创建动画
782 928
       this.animation = uni.createAnimation({
783 929
         duration: 500,
@@ -1159,7 +1305,7 @@
1159 1305
         background-image: linear-gradient(to right, #72c172, #3bb197);
1160 1306
         color: #fff;
1161 1307
         border-radius: 8rpx;
1162
-        font-size: 32rpx;
1308
+        font-size: 28rpx;
1163 1309
         margin-top: 16rpx;
1164 1310
         text-align: center;
1165 1311
       }