Parcourir la source

调度台患者陪检建单

seimin il y a 6 mois
Parent
commit
1f17be8193

+ 2 - 2
src/app/services/main.service.ts

@@ -305,10 +305,10 @@ export class MainService {
305
     });
305
     });
306
   }
306
   }
307
   //服务台新建工单—调度台建单获取起点科室或者终点科室列表
307
   //服务台新建工单—调度台建单获取起点科室或者终点科室列表
308
-  getdeptList(taskTypeId) {
308
+  getdeptList(taskTypeId, patientCode = undefined) {
309
     return this.http.post(
309
     return this.http.post(
310
       host.host + "/ser/getdeptList",
310
       host.host + "/ser/getdeptList",
311
-      { taskTypeId },
311
+      { taskTypeId, patientCode: patientCode || undefined },
312
       { headers: this.headers }
312
       { headers: this.headers }
313
     );
313
     );
314
   }
314
   }

+ 1 - 1
src/app/share/appraise-detail/appraise-detail.component.html

@@ -324,7 +324,7 @@
324
                 <span>{{orderInfo.workOrderObj.patient.residenceNo}}</span>
324
                 <span>{{orderInfo.workOrderObj.patient.residenceNo}}</span>
325
               </p>
325
               </p>
326
               <p>
326
               <p>
327
-                <span class="label">携带物品</span>
327
+                <span class="label">携带设备</span>
328
                 <span>{{orderInfo.workOrderObj.goods}}</span>
328
                 <span>{{orderInfo.workOrderObj.goods}}</span>
329
               </p>
329
               </p>
330
               <p *ngIf="orderInfo.workOrderObj.taskType.associationType.value=='inspect'">
330
               <p *ngIf="orderInfo.workOrderObj.taskType.associationType.value=='inspect'">

+ 1 - 1
src/app/share/detail-patients/detail-patients.component.html

@@ -112,7 +112,7 @@
112
 							  <span>{{orderInfo.patient.identityCardNo}}</span>
112
 							  <span>{{orderInfo.patient.identityCardNo}}</span>
113
 							</p>
113
 							</p>
114
               <p>
114
               <p>
115
-                <span class="label">携带物品</span>
115
+                <span class="label">携带设备</span>
116
                 <span>{{orderInfo.goods||'暂无'}}</span>
116
                 <span>{{orderInfo.goods||'暂无'}}</span>
117
               </p>
117
               </p>
118
               <p *ngIf="orderInfo.patient.illnessState">
118
               <p *ngIf="orderInfo.patient.illnessState">

+ 1 - 1
src/app/share/order-detail/order-detail.component.html

@@ -788,7 +788,7 @@
788
 								  }}</span>
788
 								  }}</span>
789
 								</p>
789
 								</p>
790
                 <p>
790
                 <p>
791
-                  <span class="label">携带物品</span>
791
+                  <span class="label">携带设备</span>
792
                   <span>{{ orderInfo.goods || "暂无" }}</span>
792
                   <span>{{ orderInfo.goods || "暂无" }}</span>
793
                 </p>
793
                 </p>
794
               </div>
794
               </div>

+ 69 - 45
src/app/views/fuwutai/fuwutai.component.html

@@ -969,7 +969,11 @@
969
               </nz-option>
969
               </nz-option>
970
             </nz-select>
970
             </nz-select>
971
           </div>
971
           </div>
972
-          <div class="newTopItem">
972
+          <div class="newTopItem" *ngIf="isShowResidenceNo">
973
+            <span class="grayFont">住院号:</span>
974
+            <input style="width: 146px" nz-input placeholder="请输入住院号" [(ngModel)]="residenceNo" (ngModelChange)="changeResidenceNo($event)" />
975
+          </div>
976
+          <div class="newTopItem" *ngIf="callNumber">
973
             <span class="grayFont">来电电话:{{callNumber}}</span>
977
             <span class="grayFont">来电电话:{{callNumber}}</span>
974
           </div>
978
           </div>
975
         </div>
979
         </div>
@@ -1052,13 +1056,37 @@
1052
                   <div class="bottom255">
1056
                   <div class="bottom255">
1053
                     <form nz-form [formGroup]="validateFormZy">
1057
                     <form nz-form [formGroup]="validateFormZy">
1054
                       <div nz-row [nzGutter]="24">
1058
                       <div nz-row [nzGutter]="24">
1055
-                        <div nz-col [nzSpan]="24" style="height: 310px">
1059
+                        <div nz-col [nzSpan]="24">
1060
+                          <div class="control-flex">
1061
+                            <nz-form-item nz-row class="patient-control">
1062
+                              <nz-form-label style="line-height: 40px;" class="label" [nzSpan]="8" nzRequired nzFor="patient">患者信息</nz-form-label>
1063
+                              <nz-form-control class="control" [nzSpan]="16" nzErrorTip="请选择患者信息!">
1064
+                                <nz-select style="width: 160px" formControlName="patient" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="searchPatientList(radioValueZy == deathTasktypeId && endDeptZy !== null ? endDeptZy : applyDept, $event)" nzAllowClear nzPlaceHolder="请选择患者信息" [(ngModel)]="patientZy" (ngModelChange)="selectPatientZy($event)">
1065
+                                  <ng-container *ngFor="let option of patientList">
1066
+                                    <nz-option *ngIf="!isLoadingPatient" [nzLabel]="(option.bednum || '') + '床 ' + (option.patientname || '') + ' ' + (option.residenceNo || '')" [nzValue]="option.patientCode"></nz-option>
1067
+                                  </ng-container>
1068
+                                  <nz-option *ngIf="isLoadingPatient" nzDisabled nzCustomContent>
1069
+                                    <i nz-icon nzType="loading" class="loading-icon"></i>
1070
+                                    搜索中...
1071
+                                  </nz-option>
1072
+                                </nz-select>
1073
+                              </nz-form-control>
1074
+                            </nz-form-item>
1075
+                            <nz-form-item class="ml8" class="goods-control">
1076
+                              <nz-form-label style="line-height: 40px;" class="label" nzFor="goods" *ngIf="goodsNow.length">携带设备</nz-form-label>
1077
+                              <nz-form-control class="control" nzErrorTip="请选择携带设备!">
1078
+                                <nz-checkbox-group [(ngModel)]="goodsNow" formControlName="goods" (ngModelChange)="changeGoods($event)"></nz-checkbox-group>
1079
+                              </nz-form-control>
1080
+                            </nz-form-item>
1081
+                          </div>
1082
+                        </div>
1083
+                        <div nz-col [nzSpan]="24" style="max-height: 310px">
1056
                           <nz-form-item>
1084
                           <nz-form-item>
1057
-                            <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="taskType">类型</nz-form-label>
1058
-                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择类型!">
1085
+                            <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="taskType">任务类型</nz-form-label>
1086
+                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择任务类型!">
1059
                               <div class="radios">
1087
                               <div class="radios">
1060
                                 <overlay-scrollbars #osComponentRef10 [ngStyle]="{ height: '100%' }">
1088
                                 <overlay-scrollbars #osComponentRef10 [ngStyle]="{ height: '100%' }">
1061
-                                  <nz-radio-group formControlName="taskType" nz-row [(ngModel)]="radioValueZy" (ngModelChange)="radioChangeZy(radioValueZy)">
1089
+                                  <nz-radio-group formControlName="taskType" nz-row [(ngModel)]="radioValueZy" (ngModelChange)="radioChangeZy(radioValueZy, index)">
1062
                                     <div nz-row>
1090
                                     <div nz-row>
1063
                                       <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
1091
                                       <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
1064
                                     </div>
1092
                                     </div>
@@ -1068,7 +1096,27 @@
1068
                             </nz-form-control>
1096
                             </nz-form-control>
1069
                           </nz-form-item>
1097
                           </nz-form-item>
1070
                         </div>
1098
                         </div>
1071
-                        <div nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24" style="height: 83px" [ngStyle]="{ display: deptZyList['startStatus'] != 201 ? 'block' : 'none'}">
1099
+                        <div nz-col [nzSpan]="24" *ngIf="isTaskTypeInspect">
1100
+                          <!-- 检查 -->
1101
+                          <nz-form-item>
1102
+                            <nz-form-label [nzSm]="24" [nzXs]="24" nzFor="linkCheck" style="text-align: left;">关联的检查</nz-form-label>
1103
+                            <nz-form-control class="datesGroup" *ngIf="linkCheckLis.length">
1104
+                              <nz-checkbox-wrapper nz-row class="linkCheckCheck w100" ngDefaultControl formControlName="linkCheck" (nzOnChange)="linkCheckLisChange($event)">
1105
+                                <div nz-row nz-col nzSpan="12" *ngFor="let item of linkCheckLis">
1106
+                                  <div nz-col nzSpan="24">
1107
+                                    <label nz-checkbox [nzValue]="item">{{ item.label}}</label>
1108
+                                    <i class="icon_transport transport-zu1468 priority" *ngIf="item.priority === 1 || item.priority === '1'"></i>
1109
+                                  </div>
1110
+                                </div>
1111
+                              </nz-checkbox-wrapper>
1112
+                              <div class="red" style="line-height: normal; font-weight: bold" *ngIf="currentTasktype.isMoreDept === 0 && isInspects">
1113
+                                您选择的检查包含了多个科室,请您只包含一个科室。
1114
+                              </div>
1115
+                            </nz-form-control>
1116
+                            <div class="noInspect" *ngIf="!linkCheckLis.length">暂无关联的检查</div>
1117
+                          </nz-form-item>
1118
+                        </div>
1119
+                        <div *ngIf="!isTaskTypeInspect" nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24" [ngStyle]="{ display: (deptZyList['startStatus'] != 201 && !isTaskTypeInspect) ? 'block' : 'none'}">
1072
                           <nz-form-item>
1120
                           <nz-form-item>
1073
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDept">起点科室</nz-form-label>
1121
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDept">起点科室</nz-form-label>
1074
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
1122
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
@@ -1084,7 +1132,7 @@
1084
                             </nz-form-control>
1132
                             </nz-form-control>
1085
                           </nz-form-item>
1133
                           </nz-form-item>
1086
                         </div>
1134
                         </div>
1087
-                        <div nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24" style="height: 83px">
1135
+                        <div *ngIf="!isTaskTypeInspect" nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24">
1088
                           <nz-form-item>
1136
                           <nz-form-item>
1089
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDepts">终点科室</nz-form-label>
1137
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDepts">终点科室</nz-form-label>
1090
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
1138
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
@@ -1100,32 +1148,7 @@
1100
                             </nz-form-control>
1148
                             </nz-form-control>
1101
                           </nz-form-item>
1149
                           </nz-form-item>
1102
                         </div>
1150
                         </div>
1103
-                        <div nz-col [nzSpan]="24" style="height: 83px">
1104
-                          <div class="control-flex">
1105
-                            <nz-form-item class="control-flex__5">
1106
-                              <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="patient">患者信息</nz-form-label>
1107
-                              <nz-form-control class="control" style="width: 160px" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择患者信息!">
1108
-                                <nz-select formControlName="patient" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="searchPatientList(radioValueZy == deathTasktypeId && endDeptZy !== null ? endDeptZy : applyDept, $event)" nzAllowClear nzPlaceHolder="请选择患者信息" [(ngModel)]="patientZy" (ngModelChange)="selectPatientZy($event)">
1109
-                                  <ng-container *ngFor="let option of patientList">
1110
-                                    <nz-option *ngIf="!isLoadingPatient" [nzLabel]="option.bednum + '床 ' + option.patientname + ' ' + option.residenceNo"[nzValue]="option.patientCode"></nz-option>
1111
-                                  </ng-container>
1112
-                                  <nz-option *ngIf="isLoadingPatient" nzDisabled nzCustomContent>
1113
-                                    <i nz-icon nzType="loading" class="loading-icon"></i>
1114
-                                    搜索中...
1115
-                                  </nz-option>
1116
-                                </nz-select>
1117
-                              </nz-form-control>
1118
-                            </nz-form-item>
1119
-                            <nz-form-item class="control-flex__7">
1120
-                              <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzFor="goods" *ngIf="goodsNow.length">
1121
-                                携带物品
1122
-                              </nz-form-label>
1123
-                              <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择携带物品!">
1124
-                                <nz-checkbox-group [(ngModel)]="goodsNow" formControlName="goods" (ngModelChange)="changeGoods($event)"></nz-checkbox-group>
1125
-                              </nz-form-control>
1126
-                            </nz-form-item>
1127
-                          </div>
1128
-                        </div>
1151
+
1129
                         <div nz-col [nzSpan]="24" *ngIf="deptZyList.taskType && deptZyList.taskType.remarksSwitch == 1">
1152
                         <div nz-col [nzSpan]="24" *ngIf="deptZyList.taskType && deptZyList.taskType.remarksSwitch == 1">
1130
                           <nz-form-item>
1153
                           <nz-form-item>
1131
                             <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzFor="workOrderRemarkZy">注意事项</nz-form-label>
1154
                             <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzFor="workOrderRemarkZy">注意事项</nz-form-label>
@@ -1148,11 +1171,12 @@
1148
                           </nz-form-item>
1171
                           </nz-form-item>
1149
                         </div>
1172
                         </div>
1150
                         <!-- 预约建单时间-患者其他服务--start -->
1173
                         <!-- 预约建单时间-患者其他服务--start -->
1151
-                        <div nz-col [nzSpan]="24" style="height: 83px" class="pos">
1174
+                        <div nz-col [nzSpan]="24" class="pos">
1152
                           <!-- 需要预约检查 -->
1175
                           <!-- 需要预约检查 -->
1153
                           <nz-form-item class="pos-item">
1176
                           <nz-form-item class="pos-item">
1154
                             <nz-form-control>
1177
                             <nz-form-control>
1155
                               <label nz-checkbox [(ngModel)]="isYyInspect" (ngModelChange)="yyInspectChange($event)" [ngModelOptions]="{ standalone: true }" style="font-weight: bold">需要预约检查</label>
1178
                               <label nz-checkbox [(ngModel)]="isYyInspect" (ngModelChange)="yyInspectChange($event)" [ngModelOptions]="{ standalone: true }" style="font-weight: bold">需要预约检查</label>
1179
+                              <span class="red pos-red">请您填写实际预约检查时间,系统会根据时间安排人员进行陪检!</span>
1156
                             </nz-form-control>
1180
                             </nz-form-control>
1157
                           </nz-form-item>
1181
                           </nz-form-item>
1158
                           <!-- 预约建单时间-患者其他服务 -->
1182
                           <!-- 预约建单时间-患者其他服务 -->
@@ -1181,14 +1205,14 @@
1181
                   <div class="bottom255">
1205
                   <div class="bottom255">
1182
                     <form nz-form [formGroup]="validateFormQt">
1206
                     <form nz-form [formGroup]="validateFormQt">
1183
                       <div nz-row [nzGutter]="24">
1207
                       <div nz-row [nzGutter]="24">
1184
-                        <div nz-col [nzSpan]="24" style="height: 268px">
1208
+                        <div nz-col [nzSpan]="24" style="max-height: 268px">
1185
                           <nz-form-item>
1209
                           <nz-form-item>
1186
-                            <nz-form-label class="label" [nzSm]="2" [nzXs]="2" nzRequired nzFor="taskTypeQt">类型</nz-form-label>
1210
+                            <nz-form-label class="label" [nzSm]="2" [nzXs]="2" nzRequired nzFor="taskTypeQt">任务类型</nz-form-label>
1187
                             <div class="ellipsis-oneline">
1211
                             <div class="ellipsis-oneline">
1188
                               <span class="customRemarks mr8 countRemark" [ngClass]="{ active: countRemarkIndex == i }" (click)="addCountRemark(item, index, i)" *ngFor="let item of countRemarkList;let i = index;">{{ item }}</span>
1212
                               <span class="customRemarks mr8 countRemark" [ngClass]="{ active: countRemarkIndex == i }" (click)="addCountRemark(item, index, i)" *ngFor="let item of countRemarkList;let i = index;">{{ item }}</span>
1189
                             </div>
1213
                             </div>
1190
-                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择类型!">
1191
-                              <div class="radios" style="height: 225px" *ngIf="!searchTaskLoading">
1214
+                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择任务类型!">
1215
+                              <div class="radios" style="max-height: 225px" *ngIf="!searchTaskLoading">
1192
                                 <overlay-scrollbars #osComponentRef11 [ngStyle]="{ height: '100%' }">
1216
                                 <overlay-scrollbars #osComponentRef11 [ngStyle]="{ height: '100%' }">
1193
                                   <nz-radio-group formControlName="taskTypeQt" nz-row [(ngModel)]="radioValueQt" (ngModelChange)="radioChangeQt(radioValueQt)">
1217
                                   <nz-radio-group formControlName="taskTypeQt" nz-row [(ngModel)]="radioValueQt" (ngModelChange)="radioChangeQt(radioValueQt)">
1194
                                     <div nz-row>
1218
                                     <div nz-row>
@@ -1197,13 +1221,13 @@
1197
                                   </nz-radio-group>
1221
                                   </nz-radio-group>
1198
                                 </overlay-scrollbars>
1222
                                 </overlay-scrollbars>
1199
                               </div>
1223
                               </div>
1200
-                              <div class="radios display_flex justify-content_flex-center align-items_center" style="height: 225px" *ngIf="searchTaskLoading">
1224
+                              <div class="radios display_flex justify-content_flex-center align-items_center" style="max-height: 225px" *ngIf="searchTaskLoading">
1201
                                 <nz-spin nzSimple></nz-spin>
1225
                                 <nz-spin nzSimple></nz-spin>
1202
                               </div>
1226
                               </div>
1203
                             </nz-form-control>
1227
                             </nz-form-control>
1204
                           </nz-form-item>
1228
                           </nz-form-item>
1205
                         </div>
1229
                         </div>
1206
-                        <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12" style="height: 83px" [ngStyle]="{ display: deptQtList['startStatus'] != 201 ? 'block' : 'none' }">
1230
+                        <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12" [ngStyle]="{ display: deptQtList['startStatus'] != 201 ? 'block' : 'none' }">
1207
                           <nz-form-item>
1231
                           <nz-form-item>
1208
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDeptQt">起点科室</nz-form-label>
1232
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDeptQt">起点科室</nz-form-label>
1209
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
1233
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
@@ -1219,7 +1243,7 @@
1219
                             </nz-form-control>
1243
                             </nz-form-control>
1220
                           </nz-form-item>
1244
                           </nz-form-item>
1221
                         </div>
1245
                         </div>
1222
-                        <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12" style="height: 83px">
1246
+                        <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12">
1223
                           <nz-form-item>
1247
                           <nz-form-item>
1224
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDeptsQt">终点科室</nz-form-label>
1248
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDeptsQt">终点科室</nz-form-label>
1225
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
1249
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
@@ -1241,7 +1265,7 @@
1241
                         </div>
1265
                         </div>
1242
                         <div nz-col [nzSpan]="24" *ngIf="deptQtList.taskType && deptQtList.taskType.remarksSwitch == 1">
1266
                         <div nz-col [nzSpan]="24" *ngIf="deptQtList.taskType && deptQtList.taskType.remarksSwitch == 1">
1243
                           <nz-form-item>
1267
                           <nz-form-item>
1244
-                            <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzFor="workOrderRemark">工单备注</nz-form-label>
1268
+                            <nz-form-label class="label" [nzSm]="2" [nzXs]="2" nzFor="workOrderRemark">工单备注</nz-form-label>
1245
                             <span class="customRemarks" *ngFor="let item of deptQtList.taskType.customRemarks" (click)="addRemarks(item)">【{{ item }}】</span>
1269
                             <span class="customRemarks" *ngFor="let item of deptQtList.taskType.customRemarks" (click)="addRemarks(item)">【{{ item }}】</span>
1246
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写工单备注!">
1270
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写工单备注!">
1247
                               <textarea formControlName="workOrderRemark" nz-input [placeholder]="deptQtList.taskType.remarksPrompts" [nzAutosize]="{ minRows: 3, maxRows: 5 }" maxlength="100" [(ngModel)]="workOrderRemark" #remarksEle></textarea>
1271
                               <textarea formControlName="workOrderRemark" nz-input [placeholder]="deptQtList.taskType.remarksPrompts" [nzAutosize]="{ minRows: 3, maxRows: 5 }" maxlength="100" [(ngModel)]="workOrderRemark" #remarksEle></textarea>
@@ -1249,7 +1273,7 @@
1249
                           </nz-form-item>
1273
                           </nz-form-item>
1250
                         </div>
1274
                         </div>
1251
                         <!-- 预约建单时间-其他临床服务--start -->
1275
                         <!-- 预约建单时间-其他临床服务--start -->
1252
-                        <div nz-col [nzSpan]="24" style="height: 83px" class="pos" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'other'">
1276
+                        <div nz-col [nzSpan]="24" class="pos" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'other'">
1253
                           <!-- 需要预约检查 -->
1277
                           <!-- 需要预约检查 -->
1254
                           <nz-form-item class="pos-item">
1278
                           <nz-form-item class="pos-item">
1255
                             <nz-form-control>
1279
                             <nz-form-control>
@@ -1676,10 +1700,10 @@
1676
       </div>
1700
       </div>
1677
       <div class="btns display_flex justify-content_flex-center align-items_center">
1701
       <div class="btns display_flex justify-content_flex-center align-items_center">
1678
         <ng-container *ngIf="applyDept && currentTabIndex !== '故障报修'">
1702
         <ng-container *ngIf="applyDept && currentTabIndex !== '故障报修'">
1679
-          <button nz-button class="btn" nzType="primary" (click)="newOrderOk('&go&')" [nzLoading]="isGoLoading">
1703
+          <button nz-button class="btn" nzType="primary" (click)="newOrderOk('&go&')" [nzLoading]="isGoLoading" *ngIf="currentTasktype && currentTasktype.associationType && ((currentTasktype.associationType.value === 'inspect' && linkCheckLisTrue && !(currentTasktype.isMoreDept === 0 && isInspects)) || currentTasktype.associationType.value === 'patientTransport')">
1680
             继续建单
1704
             继续建单
1681
           </button>
1705
           </button>
1682
-          <button nz-button class="btn" nzType="primary" (click)="newOrderOk()" [nzLoading]="isOkLoading">
1706
+          <button nz-button class="btn" nzType="primary" (click)="newOrderOk()" [nzLoading]="isOkLoading" *ngIf="currentTasktype && currentTasktype.associationType && ((currentTasktype.associationType.value === 'inspect' && linkCheckLisTrue && !(currentTasktype.isMoreDept === 0 && isInspects)) || currentTasktype.associationType.value === 'patientTransport')">
1683
             {{isYyInspect ? '预约建单' :'直接建单'}}
1707
             {{isYyInspect ? '预约建单' :'直接建单'}}
1684
           </button>
1708
           </button>
1685
         </ng-container>
1709
         </ng-container>

+ 13 - 12
src/app/views/fuwutai/fuwutai.component.less

@@ -6,9 +6,6 @@
6
   padding: 16px;
6
   padding: 16px;
7
   display: flex;
7
   display: flex;
8
   flex-direction: column;
8
   flex-direction: column;
9
-  ::ng-deep .bottomWrap .bottom .ant-form-item-label {
10
-    line-height: 24px;
11
-  }
12
 }
9
 }
13
 
10
 
14
 .thumbList{
11
 .thumbList{
@@ -117,7 +114,6 @@
117
     .pos-item {
114
     .pos-item {
118
       position: absolute;
115
       position: absolute;
119
       left: 110px;
116
       left: 110px;
120
-      top: -10px;
121
       z-index: 9;
117
       z-index: 9;
122
     }
118
     }
123
     .ant-form-item-label{
119
     .ant-form-item-label{
@@ -148,8 +144,8 @@
148
     color: @primary-color;
144
     color: @primary-color;
149
     cursor: pointer;
145
     cursor: pointer;
150
     display: inline-block;
146
     display: inline-block;
151
-    height: 24px;
152
-    line-height: 24px;
147
+    height: 40px;
148
+    line-height: 40px;
153
     word-break: keep-all;
149
     word-break: keep-all;
154
     &.countRemark{
150
     &.countRemark{
155
       text-decoration: underline;
151
       text-decoration: underline;
@@ -2354,7 +2350,7 @@
2354
                 }
2350
                 }
2355
               }
2351
               }
2356
               .bottom {
2352
               .bottom {
2357
-                padding: 0 36px;
2353
+                padding: 0 16px;
2358
                 // height: 310px;
2354
                 // height: 310px;
2359
                 height: 567px;
2355
                 height: 567px;
2360
                 overflow-y: auto;
2356
                 overflow-y: auto;
@@ -2365,14 +2361,19 @@
2365
                   }
2361
                   }
2366
                 }
2362
                 }
2367
                 .control-flex {
2363
                 .control-flex {
2364
+                  margin-top: 16px;
2365
+                  overflow: hidden;
2368
                   display: flex;
2366
                   display: flex;
2369
                   justify-content: space-between;
2367
                   justify-content: space-between;
2370
                   align-items: center;
2368
                   align-items: center;
2371
-                  .control-flex__5 {
2372
-                    flex: 5;
2369
+                  .patient-control{
2370
+                    flex-shrink: 0;
2373
                   }
2371
                   }
2374
-                  .control-flex__7 {
2375
-                    flex: 7;
2372
+                  .goods-control{
2373
+                    display: flex;
2374
+                    flex-shrink: 0;
2375
+                    margin-left: 16px;
2376
+                    align-items: center;
2376
                   }
2377
                   }
2377
                 }
2378
                 }
2378
                 .goods-wrap {
2379
                 .goods-wrap {
@@ -2413,7 +2414,7 @@
2413
 
2414
 
2414
                 .radios {
2415
                 .radios {
2415
                   // height: 96px;
2416
                   // height: 96px;
2416
-                  height: 267px;
2417
+                  max-height: 267px;
2417
                   width: 100%;
2418
                   width: 100%;
2418
                   overflow-y: auto;
2419
                   overflow-y: auto;
2419
                   padding: 8px;
2420
                   padding: 8px;

+ 314 - 17
src/app/views/fuwutai/fuwutai.component.ts

@@ -154,6 +154,7 @@ export class FuwutaiComponent implements OnInit {
154
   applyDept; //申请科室
154
   applyDept; //申请科室
155
   applyDeptMiddle; //申请科室(中间传递)
155
   applyDeptMiddle; //申请科室(中间传递)
156
   taskBuild; //任务类型选择
156
   taskBuild; //任务类型选择
157
+  residenceNo; //住院号
157
   targetDept; //目标科室
158
   targetDept; //目标科室
158
   noArrives = []; //未到达列表
159
   noArrives = []; //未到达列表
159
   newLoading = false; //loading
160
   newLoading = false; //loading
@@ -382,8 +383,8 @@ export class FuwutaiComponent implements OnInit {
382
       this.validateFormZy.controls[i].markAsDirty();
383
       this.validateFormZy.controls[i].markAsDirty();
383
       this.validateFormZy.controls[i].updateValueAndValidity();
384
       this.validateFormZy.controls[i].updateValueAndValidity();
384
       if (this.validateFormZy.controls[i].valid === false && i !== "goods") {
385
       if (this.validateFormZy.controls[i].valid === false && i !== "goods") {
385
-        //携带物品非必填ca
386
-        // if (this.validateFormZy.controls[i].valid === false && i !== 'goods' && i !== 'patient') {//携带物品非必填
386
+        //携带设备非必填
387
+        // if (this.validateFormZy.controls[i].valid === false && i !== 'goods' && i !== 'patient') {//携带设备非必填
387
         newOrderShowFlag = false;
388
         newOrderShowFlag = false;
388
       }
389
       }
389
       if (!this.validateFormZy.controls[i].valid) {
390
       if (!this.validateFormZy.controls[i].valid) {
@@ -456,6 +457,92 @@ export class FuwutaiComponent implements OnInit {
456
       });
457
       });
457
     }
458
     }
458
   }
459
   }
460
+  // 患者陪检表单提交
461
+  submitFormInspect(go?): void {
462
+    let newOrderShowFlag = true; //是否可以关闭弹窗
463
+    for (const i in this.validateFormZy.controls) {
464
+      this.validateFormZy.controls[i].markAsDirty();
465
+      this.validateFormZy.controls[i].updateValueAndValidity();
466
+      if (this.validateFormZy.controls[i].valid === false && i !== "goods") {
467
+        //携带设备非必填
468
+        // if (this.validateFormZy.controls[i].valid === false && i !== 'goods' && i !== 'patient') {//携带设备非必填
469
+        newOrderShowFlag = false;
470
+      }
471
+      if (!this.validateFormZy.controls[i].valid) {
472
+        this.isOkLoading = false;
473
+        this.isGoLoading = false;
474
+      }
475
+    }
476
+    if (newOrderShowFlag) {
477
+      let goods = this.validateFormZy.controls.goods.value ? this.validateFormZy.controls.goods.value.filter((item) => item.checked === true) : [];
478
+      goods = goods.map((current) => current.value).join();
479
+
480
+      // 预约日期
481
+      let yyTime1;
482
+      if(this.isYyInspect && this.currentTabIndex == '患者转运'){
483
+        let yyDateZy = (typeof this.yyDateZy === 'object') ? new Date(this.yyDateZy) : parse(this.yyDateZy, 'yyyy-MM-dd HH:mm:ss', new Date());
484
+        let yyTimeZy = (typeof this.yyTimeZy === 'object') ? new Date(this.yyTimeZy) : parse(this.yyTimeZy, 'yyyy-MM-dd HH:mm:ss', new Date());
485
+        yyTime1 = format(yyDateZy, "yyyy-MM-dd") + " " + format(yyTimeZy, "HH:mm") + ":00";
486
+      }
487
+
488
+      let postData: any = {
489
+        workOrder: {
490
+          yyTime: yyTime1,
491
+          sourceId: SourceId.fuwutai,
492
+          taskType: { id: this.validateFormZy.controls.taskType.value },
493
+          startDept: { id: this.deptZyList.data.startDept },
494
+          endDepts: [{ id: this.deptZyList.data.endDept }],
495
+          createDept: this.applyDept,
496
+          patient: {
497
+            patientCode: this.validateFormZy.controls.patient.value,
498
+          },
499
+          goods,
500
+          workOrderRemark: this.validateFormZy.controls.workOrderRemarkZy.value,
501
+        },
502
+      };
503
+      postData.workOrder.taskType.isHalfInspect = this.currentTasktype.isHalfInspect === 1 ? 1 : 0; //半程陪检
504
+
505
+      let checkedArr = [];
506
+      if (this.linkCheckLis && this.linkCheckLis.length) {
507
+        this.linkCheckLis.forEach((e) => {
508
+          if (e.checked) {
509
+            checkedArr.push({ id: e.value });
510
+          }
511
+        });
512
+      }
513
+
514
+      postData.workOrder["checkList"] = checkedArr;
515
+      postData.workOrder.isAccompany = 0; //是否需要医护陪同检查
516
+
517
+      if (!this.noWorkerPhone) {
518
+        postData.workOrder["workOrderPhone"] = this.callNumber;
519
+      }
520
+      this.mainService.buildOrder(postData).subscribe((data) => {
521
+        console.log(data);
522
+        this.isOkLoading = false;
523
+        this.isGoLoading = false;
524
+        if (data["status"] == 200) {
525
+          this.newOrderShow = false; //关闭弹窗
526
+          if (go === "&go&") {
527
+            this.applyDept = data["startDept"].id;
528
+            this.applyStartDept = data["startDept"];
529
+            this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
530
+            this.showPromptModal("建单", true, "", "closeGo");
531
+          } else {
532
+            if(this.incomingService.getSign() === 'callCenter' && this.incomingService.getPhoneNumber()){
533
+              this.jry_shixian();
534
+            }
535
+            this.showPromptModal("建单", true, "", "close");
536
+          }
537
+        } else if(data["status"] == 100042){
538
+          this.newOrderShow = false; //关闭弹窗
539
+          this.showPromptModal("建单", false, data["msg"]);
540
+        } else {
541
+          this.showPromptModal("建单", false, data["msg"]);
542
+        }
543
+      });
544
+    }
545
+  }
459
   // 标本配送表单提交
546
   // 标本配送表单提交
460
   submitFormBbps(go?) {
547
   submitFormBbps(go?) {
461
     let postData = {
548
     let postData = {
@@ -729,6 +816,8 @@ export class FuwutaiComponent implements OnInit {
729
         this.searchApplicationGroup(v[1]);
816
         this.searchApplicationGroup(v[1]);
730
       }else if(v[0] === 'user'){
817
       }else if(v[0] === 'user'){
731
         this.searchApplicationUser(v[1]);
818
         this.searchApplicationUser(v[1]);
819
+      }else if(v[0] === 'patient'){
820
+        this.getPatientByResidenceNo(v[1]);
732
       }
821
       }
733
     });
822
     });
734
     this.onSearchTaskBuildSubject.pipe(debounceTime(500)).subscribe((v) => {
823
     this.onSearchTaskBuildSubject.pipe(debounceTime(500)).subscribe((v) => {
@@ -746,11 +835,12 @@ export class FuwutaiComponent implements OnInit {
746
     //患者转运
835
     //患者转运
747
     this.validateFormZy = this.fb.group({
836
     this.validateFormZy = this.fb.group({
748
       taskType: [null, [Validators.required]], //类型
837
       taskType: [null, [Validators.required]], //类型
838
+      linkCheck: [null, []],
749
       startDept: [null, [Validators.required]], //起点科室
839
       startDept: [null, [Validators.required]], //起点科室
750
       endDepts: [null, [Validators.required]], //终点科室
840
       endDepts: [null, [Validators.required]], //终点科室
751
       patient: [null, [Validators.required]], //患者信息
841
       patient: [null, [Validators.required]], //患者信息
752
       // patient: [null],//患者信息ca
842
       // patient: [null],//患者信息ca
753
-      goods: [null], //携带物品
843
+      goods: [null], //携带设备
754
       workOrderRemarkZy: [null], //工单备注
844
       workOrderRemarkZy: [null], //工单备注
755
     });
845
     });
756
     //其他
846
     //其他
@@ -796,6 +886,17 @@ export class FuwutaiComponent implements OnInit {
796
     document.addEventListener("keydown", this.quickShowNewOrder.bind(this));
886
     document.addEventListener("keydown", this.quickShowNewOrder.bind(this));
797
   }
887
   }
798
 
888
 
889
+  requiredConfigChange(form: string, name: string, required: boolean): void {
890
+    if (!required) {
891
+      this[form].get(name)!.clearValidators();
892
+      this[form].get(name)!.markAsPristine();
893
+    } else {
894
+      this[form].get(name)!.setValidators(Validators.required);
895
+      this[form].get(name)!.markAsDirty();
896
+    }
897
+    this[form].get(name)!.updateValueAndValidity();
898
+  }
899
+
799
   // 初始化呼叫中心方法
900
   // 初始化呼叫中心方法
800
   initCallCenter(){
901
   initCallCenter(){
801
     let _this = this;
902
     let _this = this;
@@ -2425,6 +2526,7 @@ export class FuwutaiComponent implements OnInit {
2425
       isInit && this.incidentModel.area && this.searchApplicationFloor();
2526
       isInit && this.incidentModel.area && this.searchApplicationFloor();
2426
       if(!this.hsmsData.hsmsSwitch){
2527
       if(!this.hsmsData.hsmsSwitch){
2427
         this.taskBuild = null;
2528
         this.taskBuild = null;
2529
+        this.residenceNo = null;
2428
         this.newOrderShow = true;
2530
         this.newOrderShow = true;
2429
         this.newOrderShowOpen = true;
2531
         this.newOrderShowOpen = true;
2430
         this.fixedTab = "newOrder";
2532
         this.fixedTab = "newOrder";
@@ -2467,6 +2569,7 @@ export class FuwutaiComponent implements OnInit {
2467
     }
2569
     }
2468
 
2570
 
2469
     this.taskBuild = null;
2571
     this.taskBuild = null;
2572
+    this.residenceNo = null;
2470
     this.newOrderShow = true;
2573
     this.newOrderShow = true;
2471
     this.newOrderShowOpen = true;
2574
     this.newOrderShowOpen = true;
2472
     this.fixedTab = "newOrder";
2575
     this.fixedTab = "newOrder";
@@ -2613,6 +2716,34 @@ export class FuwutaiComponent implements OnInit {
2613
     });
2716
     });
2614
   }
2717
   }
2615
 
2718
 
2719
+  // 根据住院号获取患者信息
2720
+  getPatientByResidenceNo(residenceNo) {
2721
+    let postData = {
2722
+      residenceNo,
2723
+      hosId: this.checkedHos,
2724
+      idx: 0,
2725
+      sum: 2,
2726
+    };
2727
+    this.mainService.listMsgByMain('listPatient',postData).subscribe((result) => {
2728
+      if (result["status"] == 200) {
2729
+        let patientList = result["list"];
2730
+        if (patientList.length) {
2731
+          patientList = patientList.filter((item) => !!item.bedNum);
2732
+        }
2733
+        if(patientList.length === 1){
2734
+          let patient = patientList[0];
2735
+          patient.bednum = patient.bedNum;
2736
+          patient.patientname = patient.patientName;
2737
+          patient.department && (this.applicationDepartmentList = [patient.department]);
2738
+          patient.department && (this.applyDept = patient.department.id);
2739
+          patient.department && this.tabClick('患者转运');
2740
+          patient.department && (this.patientList = [patient]);
2741
+          patient.department && (this.patientZy = patient.patientCode);
2742
+        }
2743
+      }
2744
+    });
2745
+  }
2746
+
2616
   // tab任务类型向左移动
2747
   // tab任务类型向左移动
2617
   toLeft() {
2748
   toLeft() {
2618
     let maxStep = this.workTypesArrange.length - 5;
2749
     let maxStep = this.workTypesArrange.length - 5;
@@ -3273,7 +3404,7 @@ export class FuwutaiComponent implements OnInit {
3273
             deptId && this.changeApply(deptId);
3404
             deptId && this.changeApply(deptId);
3274
             if (e === undefined) {
3405
             if (e === undefined) {
3275
               //初始化
3406
               //初始化
3276
-              this.changeApplicationDepartment("");
3407
+              this.changeApplicationDepartment();
3277
             } else if (e === "&ks&") {
3408
             } else if (e === "&ks&") {
3278
               //绑定了科室
3409
               //绑定了科室
3279
               // 配送--start
3410
               // 配送--start
@@ -3902,17 +4033,19 @@ export class FuwutaiComponent implements OnInit {
3902
         // this.workTypesArrange[index].value = result.data || [];
4033
         // this.workTypesArrange[index].value = result.data || [];
3903
         this.workTypes = result['data'] || [];
4034
         this.workTypes = result['data'] || [];
3904
         // 整理后的任务类型
4035
         // 整理后的任务类型
4036
+        this.isShowResidenceNo = false;
3905
         for (const value of this.workTypesArrange) {
4037
         for (const value of this.workTypesArrange) {
3906
           value.value = [];
4038
           value.value = [];
3907
         }
4039
         }
3908
         this.workTypes.forEach((item) => {
4040
         this.workTypes.forEach((item) => {
3909
-          if(item.associationTypeValue === 'patientTransport'){
4041
+          if(item.associationTypeValue === 'patientTransport' || item.associationTypeValue === 'inspect'){
3910
             // 患者其他服务
4042
             // 患者其他服务
3911
             let obj = this.workTypesArrange.find(v => v.key === '患者转运');
4043
             let obj = this.workTypesArrange.find(v => v.key === '患者转运');
3912
             if(obj){
4044
             if(obj){
3913
               obj.value.push(item);
4045
               obj.value.push(item);
3914
             }else{
4046
             }else{
3915
               this.workTypesArrange.unshift({ key: '患者转运', value: [item] });
4047
               this.workTypesArrange.unshift({ key: '患者转运', value: [item] });
4048
+              this.isShowResidenceNo = true;
3916
             }
4049
             }
3917
           }else if(item.associationTypeValue === 'other' || item.associationTypeValue === 'specimen' || item.associationTypeValue === 'ordinary'){
4050
           }else if(item.associationTypeValue === 'other' || item.associationTypeValue === 'specimen' || item.associationTypeValue === 'ordinary'){
3918
             // 物品配送
4051
             // 物品配送
@@ -3934,6 +4067,7 @@ export class FuwutaiComponent implements OnInit {
3934
 
4067
 
3935
   // 新建工单->获取新建类型
4068
   // 新建工单->获取新建类型
3936
   countRemarkList:any[] = [];
4069
   countRemarkList:any[] = [];
4070
+  isShowResidenceNo = false;
3937
   getAutoWorkTypes(isFirst, isInit) {
4071
   getAutoWorkTypes(isFirst, isInit) {
3938
     this.workTypesArrange = [];
4072
     this.workTypesArrange = [];
3939
     // 运维
4073
     // 运维
@@ -3959,14 +4093,16 @@ export class FuwutaiComponent implements OnInit {
3959
         if (data["status"] == 200) {
4093
         if (data["status"] == 200) {
3960
           this.workTypes = data["data"];
4094
           this.workTypes = data["data"];
3961
           // 整理后的任务类型
4095
           // 整理后的任务类型
4096
+          this.isShowResidenceNo = false;
3962
           this.workTypes.forEach((item) => {
4097
           this.workTypes.forEach((item) => {
3963
-            if(item.associationTypeValue === 'patientTransport'){
4098
+            if(item.associationTypeValue === 'patientTransport' || item.associationTypeValue === 'inspect'){
3964
               // 患者其他服务
4099
               // 患者其他服务
3965
               let obj = this.workTypesArrange.find(v => v.key === '患者转运');
4100
               let obj = this.workTypesArrange.find(v => v.key === '患者转运');
3966
               if(obj){
4101
               if(obj){
3967
                 obj.value.push(item);
4102
                 obj.value.push(item);
3968
               }else{
4103
               }else{
3969
                 this.workTypesArrange.unshift({ key: '患者转运', value: [item] });
4104
                 this.workTypesArrange.unshift({ key: '患者转运', value: [item] });
4105
+                this.isShowResidenceNo = true;
3970
               }
4106
               }
3971
             }else if(item.associationTypeValue === 'other' || item.associationTypeValue === 'specimen' || item.associationTypeValue === 'ordinary'){
4107
             }else if(item.associationTypeValue === 'other' || item.associationTypeValue === 'specimen' || item.associationTypeValue === 'ordinary'){
3972
               // 物品配送
4108
               // 物品配送
@@ -4269,7 +4405,94 @@ export class FuwutaiComponent implements OnInit {
4269
       //患者其他服务
4405
       //患者其他服务
4270
       this.yyTimeZy = null;
4406
       this.yyTimeZy = null;
4271
       this.yyDateZy = new Date();
4407
       this.yyDateZy = new Date();
4408
+    }else if (this.currentTasktype.associationType.value === "inspect") {
4409
+      //陪检
4410
+      let obj = this.filterLinkCheckLis.find((item) => {
4411
+        return (parse(item.yyTime, 'yyyy-MM-dd HH:mm:ss', new Date()).getTime() - new Date().getTime() > 0);
4412
+      });
4413
+      if (obj) {
4414
+        this.showDateTime();
4415
+      } else {
4416
+        this.yyTimeZy = null;
4417
+        this.yyDateZy = new Date();
4418
+        console.log(this.isYyInspect);
4419
+      }
4420
+    }
4421
+  }
4422
+  //回显时间日期
4423
+  showDateTime() {
4424
+    //当前时间要大于生效时间
4425
+    let isYyInspect = this.filterLinkCheckLis.every((item) => {
4426
+      return (parse(item.yyTime, 'yyyy-MM-dd HH:mm:ss', new Date()).getTime() - new Date().getTime() > 0);
4427
+    });
4428
+    //如果勾选需要预约检查
4429
+    if (isYyInspect) {
4430
+      //筛选离当前时间最近的
4431
+      let timeList = this.filterLinkCheckLis
4432
+        .map((item) => parse(item.yyTime, 'yyyy-MM-dd HH:mm:ss', new Date()).getTime())
4433
+        .sort();
4434
+      this.yyTimeZy = new Date(timeList[0] - 0); //回显预约时间,需要减去生效时间
4435
+      this.yyDateZy = new Date(timeList[0] - 0); //回显预约日期,需要减去生效时间
4436
+      this.yyDateChange(this.yyTimeZy);
4437
+    } else {
4438
+      this.yyTimeZy = null;
4439
+      this.yyDateZy = null;
4440
+    }
4441
+  }
4442
+  // 患者送检检查项目-选择检查项目
4443
+  linkCheckLisTrue = false; //是否有已选择(患者)
4444
+  filterLinkCheckLis = []; //有预约时间并且选中的
4445
+  isInspects = false; //勾选检车的时候是否多个检查多个检查科室
4446
+  linkCheckLisChange(e) {
4447
+    let flag = false; //检查是否紧急
4448
+    let arr = []; //选中的索引
4449
+    // 是否检查生成工单允许多个科室,1是,0否
4450
+    if (this.currentTasktype.isMoreDept === 0) {
4451
+      let arr = e.map((item) => item.execDeptId);
4452
+      arr = Array.from(new Set(arr));
4453
+      this.isInspects = arr.length > 1;
4454
+    }
4455
+    this.linkCheckLis.forEach((item, index) => {
4456
+      if (e.length) {
4457
+        //有选中的检查
4458
+        e.forEach((v) => {
4459
+          //检查是否有紧急度
4460
+          if (v.priority == 1) {
4461
+            flag = true;
4462
+          }
4463
+          //选中的检查设置checked
4464
+          if (v.value == item.value) {
4465
+            arr.push(index);
4466
+          }
4467
+        });
4468
+      } else {
4469
+        item.checked = false;
4470
+      }
4471
+    });
4472
+    this.linkCheckLis.forEach((item, index) => {
4473
+      item.checked = arr.includes(index);
4474
+    });
4475
+    console.log(e, this.linkCheckLis);
4476
+    this.clickYYFlag = false;
4477
+    // 有预约时间并且选中的
4478
+    this.filterLinkCheckLis = this.linkCheckLis.filter(
4479
+      (item) => Boolean(item.yyTime) && item.checked
4480
+    );
4481
+    //有预约时间并且选中的检查数组不为空
4482
+    if (this.filterLinkCheckLis.length) {
4483
+      //当前时间要大于生效时间
4484
+      this.isYyInspect = this.filterLinkCheckLis.every((item) => {
4485
+        return (parse(item.yyTime, 'yyyy-MM-dd HH:mm:ss', new Date()).getTime() - new Date().getTime() > 0);
4486
+      });
4487
+      //不加急状态下,回显时间
4488
+      this.showDateTime();
4489
+    } else {
4490
+      //有预约时间并且选中的检查数组为空
4491
+      this.isYyInspect = false;
4492
+      this.yyTimeZy = null;
4493
+      this.yyDateZy = null;
4272
     }
4494
     }
4495
+    this.linkCheckLisTrue = e.length > 0;
4273
   }
4496
   }
4274
   // 转运类型选中类型(单选)触发
4497
   // 转运类型选中类型(单选)触发
4275
   goodsNow; //携带的物品列表
4498
   goodsNow; //携带的物品列表
@@ -4282,21 +4505,40 @@ export class FuwutaiComponent implements OnInit {
4282
   clickYYZyFlag = false; //是否点击预约建单-患者其他服务
4505
   clickYYZyFlag = false; //是否点击预约建单-患者其他服务
4283
   clickYYFlag = false; //是否点击预约建单-其他临床服务
4506
   clickYYFlag = false; //是否点击预约建单-其他临床服务
4284
   currentTasktype = null; //当前选中的任务类型对象
4507
   currentTasktype = null; //当前选中的任务类型对象
4285
-  radioChangeZy(value) {
4508
+  isTaskTypeInspect:boolean = false;//是否是患者陪检
4509
+  linkCheckLis:any[] = [];//检查列表
4510
+  tabIndex;
4511
+  radioChangeZy(value, index) {
4512
+    this.tabIndex = index;
4286
     //任务类型id
4513
     //任务类型id
4287
     if (value === "" || value === null) {
4514
     if (value === "" || value === null) {
4288
       return;
4515
       return;
4289
     }
4516
     }
4517
+    this.linkCheckLisTrue = false;
4290
     this.startDeptZy = null;
4518
     this.startDeptZy = null;
4291
     this.endDeptZy = null;
4519
     this.endDeptZy = null;
4292
-    this.patientZy = null;
4520
+    // 患者陪检-则参数增加patientCode
4521
+    console.log(this.workTypesArrange[index].value);
4522
+    let taskType = this.workTypesArrange[index].value.find(v => v.id == value);
4523
+    let patientCode;
4524
+    if(taskType.associationTypeValue === 'inspect'){
4525
+      patientCode = this.patientZy;
4526
+      this.requiredConfigChange('validateFormZy', 'startDept', false);
4527
+      this.requiredConfigChange('validateFormZy', 'endDepts', false);
4528
+      this.isTaskTypeInspect = true;
4529
+    }else{
4530
+      patientCode = undefined;
4531
+      this.requiredConfigChange('validateFormZy', 'startDept', true);
4532
+      this.requiredConfigChange('validateFormZy', 'endDepts', true);
4533
+      this.isTaskTypeInspect = false;
4534
+    }
4293
     // 返回值的status是201 则是默认发起科室,把申请科室作为值
4535
     // 返回值的status是201 则是默认发起科室,把申请科室作为值
4294
     // 返回值的status是202 则是固定科室范围,会返回科室列表
4536
     // 返回值的status是202 则是固定科室范围,会返回科室列表
4295
     // 返回值的status是203 则是固定科室,会返回单个科室
4537
     // 返回值的status是203 则是固定科室,会返回单个科室
4296
     // 返回值的status是204 则让前端自己调用科室搜索接口
4538
     // 返回值的status是204 则让前端自己调用科室搜索接口
4297
     // 返回值的status是205 则是固定科室类型,会返回科室列表
4539
     // 返回值的status是205 则是固定科室类型,会返回科室列表
4298
     // 返回值的status是206 则是默认患者所在科室,把患者所在科室作为值
4540
     // 返回值的status是206 则是默认患者所在科室,把患者所在科室作为值
4299
-    this.mainService.getdeptList(value).subscribe((data:any) => {
4541
+    this.mainService.getdeptList(value, patientCode).subscribe((data:any) => {
4300
       this.deptZyList = data;
4542
       this.deptZyList = data;
4301
       // 预约start
4543
       // 预约start
4302
       this.currentTasktype = data.taskType;
4544
       this.currentTasktype = data.taskType;
@@ -4306,6 +4548,25 @@ export class FuwutaiComponent implements OnInit {
4306
       this.yyTimeZy = null;
4548
       this.yyTimeZy = null;
4307
       // 预约end
4549
       // 预约end
4308
       console.log(this.deptZyList);
4550
       console.log(this.deptZyList);
4551
+      // 如果是患者陪检,则没有起点科室,终点科室
4552
+      if(taskType.associationTypeValue === 'inspect'){
4553
+        this.linkCheckLis = [];
4554
+        if (data.data && Array.isArray(data.data.data) && data.data.data.length) {
4555
+          let arr = [];
4556
+          data.data.data.forEach((e) => {
4557
+            arr.push({
4558
+              execDeptId: e.execDept.id,
4559
+              yyTime: e.yyTime,
4560
+              priority: e.priority,
4561
+              label: (e.yyTime || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName || "检查"),
4562
+              value: e["id"],
4563
+              checked: false,
4564
+            });
4565
+          });
4566
+          this.linkCheckLis = arr;
4567
+        }
4568
+        return;
4569
+      }
4309
       // 起点科室
4570
       // 起点科室
4310
       if (data["startStatus"] == 201 || data["startStatus"] == 206) {
4571
       if (data["startStatus"] == 201 || data["startStatus"] == 206) {
4311
         if (this.applyDept) {
4572
         if (this.applyDept) {
@@ -4335,10 +4596,7 @@ export class FuwutaiComponent implements OnInit {
4335
         this.getHosDepartment(this.checkedHos, "end", "");
4596
         this.getHosDepartment(this.checkedHos, "end", "");
4336
       }
4597
       }
4337
       // 终点科室患者信息列表,id是送病人回病房的任务类型
4598
       // 终点科室患者信息列表,id是送病人回病房的任务类型
4338
-      if (
4339
-        (data["endStatus"] == 201 || data["endStatus"] == 203) &&
4340
-        this.radioValueZy == this.deathTasktypeId
4341
-      ) {
4599
+      if ((data["endStatus"] == 201 || data["endStatus"] == 203) && this.radioValueZy == this.deathTasktypeId) {
4342
         if (this.currentTabIndex == "患者转运") {
4600
         if (this.currentTabIndex == "患者转运") {
4343
           //患者转运
4601
           //患者转运
4344
           //获取患者信息
4602
           //获取患者信息
@@ -4346,7 +4604,7 @@ export class FuwutaiComponent implements OnInit {
4346
         }
4604
         }
4347
       }
4605
       }
4348
     });
4606
     });
4349
-    // 获取携带物品
4607
+    // 获取携带设备
4350
     let arrObj = this.workTypesArrange.find(v => v.key === this.currentTabIndex);
4608
     let arrObj = this.workTypesArrange.find(v => v.key === this.currentTabIndex);
4351
     let arr = arrObj.value;
4609
     let arr = arrObj.value;
4352
     this.goodsNow = arr.filter(
4610
     this.goodsNow = arr.filter(
@@ -4429,7 +4687,7 @@ export class FuwutaiComponent implements OnInit {
4429
     } else {
4687
     } else {
4430
       this.clickYYFlag = false;
4688
       this.clickYYFlag = false;
4431
     }
4689
     }
4432
-    if (this.isYyInspect && objZy && objZy.associationTypeValue === 'patientTransport') {
4690
+    if (this.isYyInspect && objZy && (objZy.associationTypeValue === 'patientTransport' || objZy.associationTypeValue === 'inspect')) {
4433
       this.clickYYZyFlag = true;
4691
       this.clickYYZyFlag = true;
4434
     } else {
4692
     } else {
4435
       this.clickYYZyFlag = false;
4693
       this.clickYYZyFlag = false;
@@ -4437,7 +4695,7 @@ export class FuwutaiComponent implements OnInit {
4437
 
4695
 
4438
     if (
4696
     if (
4439
       (!this.yyTime && objQt && objQt.associationTypeValue === 'other' && this.isYyInspect) ||
4697
       (!this.yyTime && objQt && objQt.associationTypeValue === 'other' && this.isYyInspect) ||
4440
-      (!this.yyTimeZy && objZy && objZy.associationTypeValue === 'patientTransport' && this.isYyInspect)
4698
+      (!this.yyTimeZy && objZy && (objZy.associationTypeValue === 'patientTransport' || objZy.associationTypeValue === 'inspect') && this.isYyInspect)
4441
     ) {
4699
     ) {
4442
       return;
4700
       return;
4443
     }
4701
     }
@@ -4450,6 +4708,9 @@ export class FuwutaiComponent implements OnInit {
4450
     if (objZy && objZy.associationTypeValue === 'patientTransport') {
4708
     if (objZy && objZy.associationTypeValue === 'patientTransport') {
4451
       //患者转运
4709
       //患者转运
4452
       go === "&go&" ? this.submitFormZy(go) : this.submitFormZy();
4710
       go === "&go&" ? this.submitFormZy(go) : this.submitFormZy();
4711
+    }if (objZy && objZy.associationTypeValue === 'inspect') {
4712
+      //患者陪检
4713
+      go === "&go&" ? this.submitFormInspect(go) : this.submitFormInspect();
4453
     } else if (objQt && objQt.associationTypeValue === 'specimen') {
4714
     } else if (objQt && objQt.associationTypeValue === 'specimen') {
4454
       //标本配送
4715
       //标本配送
4455
       go === "&go&" ? this.submitFormBbps(go) : this.submitFormBbps();
4716
       go === "&go&" ? this.submitFormBbps(go) : this.submitFormBbps();
@@ -4497,7 +4758,7 @@ export class FuwutaiComponent implements OnInit {
4497
     this.deptQtList["endStatus"] = 0;
4758
     this.deptQtList["endStatus"] = 0;
4498
   }
4759
   }
4499
 
4760
 
4500
-  // 携带物品
4761
+  // 携带设备
4501
   changeGoods(value: object[]): void {
4762
   changeGoods(value: object[]): void {
4502
     console.log(value);
4763
     console.log(value);
4503
   }
4764
   }
@@ -4915,6 +5176,12 @@ export class FuwutaiComponent implements OnInit {
4915
     }
5176
     }
4916
   }
5177
   }
4917
 
5178
 
5179
+  // 服务台建单输入住院号,查到有且仅有一个患者,则自动选中【患者转运】,自动带出【申请科室】,自动带出【患者信息】
5180
+  changeResidenceNo(e){
5181
+    console.log(e);
5182
+    this.changeCommonInpSubject.next(['patient', e]);
5183
+  }
5184
+
4918
   // 运维、配送工单切换
5185
   // 运维、配送工单切换
4919
   filterOrderList(type, state){
5186
   filterOrderList(type, state){
4920
     if(!this.itsmData.mdv2Switch && this.hsmsData.hsmsSwitch){
5187
     if(!this.itsmData.mdv2Switch && this.hsmsData.hsmsSwitch){
@@ -5414,6 +5681,36 @@ export class FuwutaiComponent implements OnInit {
5414
     }else{
5681
     }else{
5415
       this.workOrderRemarkZy = '';
5682
       this.workOrderRemarkZy = '';
5416
     }
5683
     }
5684
+
5685
+    if(this.tabIndex !== undefined && this.currentTasktype && this.currentTasktype.associationType.value === 'inspect'){
5686
+      let index = this.tabIndex;
5687
+      let value = this.currentTasktype.id;
5688
+      let taskType = this.workTypesArrange[index].value.find(v => v.id == value);
5689
+      let patientCode;
5690
+      if(taskType.associationTypeValue === 'inspect'){
5691
+        patientCode = this.patientZy;
5692
+      }else{
5693
+        patientCode = undefined;
5694
+      }
5695
+
5696
+      this.mainService.getdeptList(value, patientCode).subscribe((data:any) => {
5697
+        this.linkCheckLis = [];
5698
+        if(data.data && Array.isArray(data.data.data) && data.data.data.length) {
5699
+          let arr = [];
5700
+          data.data.data.forEach((e) => {
5701
+            arr.push({
5702
+              execDeptId: e.execDept.id,
5703
+              yyTime: e.yyTime,
5704
+              priority: e.priority,
5705
+              label: (e.yyTime || "") + " " + e.execDept.dept + " 进行 " + (e.inspectName || "检查"),
5706
+              value: e["id"],
5707
+              checked: false,
5708
+            });
5709
+          });
5710
+          this.linkCheckLis = arr;
5711
+        }
5712
+      })
5713
+    }
5417
   }
5714
   }
5418
 
5715
 
5419
   // 注意事项获取焦点
5716
   // 注意事项获取焦点

+ 1 - 1
src/app/views/info-search/info-search.component.html

@@ -145,7 +145,7 @@
145
                     <th nzWidth="130px">异常状态</th>
145
                     <th nzWidth="130px">异常状态</th>
146
                     <th nzWidth="130px">是否护士陪同</th>
146
                     <th nzWidth="130px">是否护士陪同</th>
147
                     <th nzWidth="130px">是否送回</th>
147
                     <th nzWidth="130px">是否送回</th>
148
-                    <th nzWidth="130px">携带物品IDS</th>
148
+                    <th nzWidth="130px">携带设备IDS</th>
149
                     <th nzWidth="130px">预约建单时间
149
                     <th nzWidth="130px">预约建单时间
150
                       <!-- 35 -->
150
                       <!-- 35 -->
151
                     </th>
151
                     </th>

+ 1 - 1
src/app/views/task-type-management/task-type-management.component.html

@@ -94,7 +94,7 @@
94
             <label nz-radio nzValue='0'>否</label>
94
             <label nz-radio nzValue='0'>否</label>
95
           </nz-radio-group>
95
           </nz-radio-group>
96
         </div>
96
         </div>
97
-        <div class="mb8 w100" *ngIf="association.value == 'patientTransport'||association.value == 'specimen'||association.value == 'other'||association.value == 'ordinary'">
97
+        <div class="mb8 w100" *ngIf="association.value == 'inspect'||association.value == 'patientTransport'||association.value == 'specimen'||association.value == 'other'||association.value == 'ordinary'">
98
           <nz-form-label class="label" nzRequired>调度台是否可以新建工单</nz-form-label>
98
           <nz-form-label class="label" nzRequired>调度台是否可以新建工单</nz-form-label>
99
           <nz-radio-group class="handlerType" [(ngModel)]="autoFlag">
99
           <nz-radio-group class="handlerType" [(ngModel)]="autoFlag">
100
             <label nz-radio nzValue='1'>是</label>
100
             <label nz-radio nzValue='1'>是</label>

+ 6 - 6
src/app/views/task-type-management/task-type-management.component.ts

@@ -2696,17 +2696,17 @@ export class TaskTypeManagementComponent implements OnInit {
2696
   isHalfInspectChange(e) {
2696
   isHalfInspectChange(e) {
2697
     this.isHalfInspect = e;
2697
     this.isHalfInspect = e;
2698
     //半陪检,则关联检查不允许多个科室
2698
     //半陪检,则关联检查不允许多个科室
2699
-    if (e === "1") {
2700
-      this.isMoreDept = "0";
2701
-    }
2699
+    // if (e === "1") {
2700
+    //   this.isMoreDept = "0";
2701
+    // }
2702
   }
2702
   }
2703
   // 关联检查是否允许多个科室
2703
   // 关联检查是否允许多个科室
2704
   isMoreDeptChange(e) {
2704
   isMoreDeptChange(e) {
2705
     this.isMoreDept = e;
2705
     this.isMoreDept = e;
2706
     //关联检查允许多个科室,则不允许半陪检
2706
     //关联检查允许多个科室,则不允许半陪检
2707
-    if (e === "1") {
2708
-      this.isHalfInspect = "0";
2709
-    }
2707
+    // if (e === "1") {
2708
+    //   this.isHalfInspect = "0";
2709
+    // }
2710
   }
2710
   }
2711
 
2711
 
2712
   // 展示信息提示框
2712
   // 展示信息提示框