소스 검색

Merge branch 'master' of http://git.dashitech.com/seimin/zy-pc

maotao 4 달 전
부모
커밋
32b7b5f2b6

+ 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 309
     return this.http.post(
310 310
       host.host + "/ser/getdeptList",
311
-      { taskTypeId },
311
+      { taskTypeId, patientCode: patientCode || undefined },
312 312
       { headers: this.headers }
313 313
     );
314 314
   }

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

@@ -324,7 +324,7 @@
324 324
                 <span>{{orderInfo.workOrderObj.patient.residenceNo}}</span>
325 325
               </p>
326 326
               <p>
327
-                <span class="label">携带物品</span>
327
+                <span class="label">携带设备</span>
328 328
                 <span>{{orderInfo.workOrderObj.goods}}</span>
329 329
               </p>
330 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 112
 							  <span>{{orderInfo.patient.identityCardNo}}</span>
113 113
 							</p>
114 114
               <p>
115
-                <span class="label">携带物品</span>
115
+                <span class="label">携带设备</span>
116 116
                 <span>{{orderInfo.goods||'暂无'}}</span>
117 117
               </p>
118 118
               <p *ngIf="orderInfo.patient.illnessState">

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

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

+ 72 - 48
src/app/views/fuwutai/fuwutai.component.html

@@ -969,7 +969,11 @@
969 969
               </nz-option>
970 970
             </nz-select>
971 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 977
             <span class="grayFont">来电电话:{{callNumber}}</span>
974 978
           </div>
975 979
         </div>
@@ -1052,13 +1056,37 @@
1052 1056
                   <div class="bottom255">
1053 1057
                     <form nz-form [formGroup]="validateFormZy">
1054 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 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 1087
                               <div class="radios">
1060 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($event, index)">
1062 1090
                                     <div nz-row>
1063 1091
                                       <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
1064 1092
                                     </div>
@@ -1068,7 +1096,27 @@
1068 1096
                             </nz-form-control>
1069 1097
                           </nz-form-item>
1070 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 && radioValueZy">
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 && radioValueZy" nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24" [ngStyle]="{ display: (deptZyList['startStatus'] != 201 && !isTaskTypeInspect) ? 'block' : 'none'}">
1072 1120
                           <nz-form-item>
1073 1121
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDept">起点科室</nz-form-label>
1074 1122
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
@@ -1084,11 +1132,11 @@
1084 1132
                             </nz-form-control>
1085 1133
                           </nz-form-item>
1086 1134
                         </div>
1087
-                        <div nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24" style="height: 83px">
1135
+                        <div *ngIf="!isTaskTypeInspect && radioValueZy" nz-col [nzSpan]="deptZyList['startStatus'] != 201 ? 12 : 24">
1088 1136
                           <nz-form-item>
1089 1137
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDepts">终点科室</nz-form-label>
1090 1138
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
1091
-                              <nz-select formControlName="endDepts" [nzDisabled]="deptZyList.endStatus == 201 || deptZyList.endStatus == 203 || deptZyList.endStatus == 206" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="searchHosDepartment(checkedHos, 'end', $event)" nzAllowClear nzPlaceHolder="请选择终点科室" [(ngModel)]="endDeptZy" (ngModelChange)="endDeptZyChange()">
1139
+                              <nz-select formControlName="endDepts" [nzDisabled]="deptZyList.endStatus == 201 || deptZyList.endStatus == 203 || deptZyList.endStatus == 206" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="searchHosDepartment(checkedHos, 'end', $event)" nzAllowClear nzPlaceHolder="请选择终点科室" [(ngModel)]="endDeptZy" (ngModelChange)="endDeptZyChange(e)">
1092 1140
                                 <ng-container *ngFor="let option of deptZyList.endDept">
1093 1141
                                   <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
1094 1142
                                 </ng-container>
@@ -1100,33 +1148,8 @@
1100 1148
                             </nz-form-control>
1101 1149
                           </nz-form-item>
1102 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>
1129
-                        <div nz-col [nzSpan]="24" *ngIf="deptZyList.taskType && deptZyList.taskType.remarksSwitch == 1">
1151
+
1152
+                        <div nz-col [nzSpan]="24" *ngIf="radioValueZy && deptZyList.taskType && deptZyList.taskType.remarksSwitch == 1">
1130 1153
                           <nz-form-item>
1131 1154
                             <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzFor="workOrderRemarkZy">注意事项</nz-form-label>
1132 1155
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写注意事项!">
@@ -1148,11 +1171,12 @@
1148 1171
                           </nz-form-item>
1149 1172
                         </div>
1150 1173
                         <!-- 预约建单时间-患者其他服务--start -->
1151
-                        <div nz-col [nzSpan]="24" style="height: 83px" class="pos">
1174
+                        <div nz-col [nzSpan]="24" class="pos">
1152 1175
                           <!-- 需要预约检查 -->
1153 1176
                           <nz-form-item class="pos-item">
1154 1177
                             <nz-form-control>
1155 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 1180
                             </nz-form-control>
1157 1181
                           </nz-form-item>
1158 1182
                           <!-- 预约建单时间-患者其他服务 -->
@@ -1181,14 +1205,14 @@
1181 1205
                   <div class="bottom255">
1182 1206
                     <form nz-form [formGroup]="validateFormQt">
1183 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 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]="3" [nzXs]="3" nzRequired nzFor="taskTypeQt">任务类型</nz-form-label>
1187 1211
                             <div class="ellipsis-oneline">
1188 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 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 1216
                                 <overlay-scrollbars #osComponentRef11 [ngStyle]="{ height: '100%' }">
1193 1217
                                   <nz-radio-group formControlName="taskTypeQt" nz-row [(ngModel)]="radioValueQt" (ngModelChange)="radioChangeQt(radioValueQt)">
1194 1218
                                     <div nz-row>
@@ -1197,13 +1221,13 @@
1197 1221
                                   </nz-radio-group>
1198 1222
                                 </overlay-scrollbars>
1199 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 1225
                                 <nz-spin nzSimple></nz-spin>
1202 1226
                               </div>
1203 1227
                             </nz-form-control>
1204 1228
                           </nz-form-item>
1205 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 1231
                           <nz-form-item>
1208 1232
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDeptQt">起点科室</nz-form-label>
1209 1233
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
@@ -1219,7 +1243,7 @@
1219 1243
                             </nz-form-control>
1220 1244
                           </nz-form-item>
1221 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 1247
                           <nz-form-item>
1224 1248
                             <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDeptsQt">终点科室</nz-form-label>
1225 1249
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
@@ -1236,12 +1260,12 @@
1236 1260
                             </nz-form-control>
1237 1261
                           </nz-form-item>
1238 1262
                         </div>
1239
-                        <div nz-col [nzSpan]="24" style="padding-bottom: 16px;" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'specimen'">
1263
+                        <div nz-col [nzSpan]="24" style="padding-bottom: 8px;padding-top: 16px;" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'specimen'">
1240 1264
                           起点科室默认为申请科室,终点科室为检验科室,确定后即可新建工单!
1241 1265
                         </div>
1242 1266
                         <div nz-col [nzSpan]="24" *ngIf="deptQtList.taskType && deptQtList.taskType.remarksSwitch == 1">
1243 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 1269
                             <span class="customRemarks" *ngFor="let item of deptQtList.taskType.customRemarks" (click)="addRemarks(item)">【{{ item }}】</span>
1246 1270
                             <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写工单备注!">
1247 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 1273
                           </nz-form-item>
1250 1274
                         </div>
1251 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 1278
                           <nz-form-item class="pos-item">
1255 1279
                             <nz-form-control>
@@ -1676,10 +1700,10 @@
1676 1700
       </div>
1677 1701
       <div class="btns display_flex justify-content_flex-center align-items_center">
1678 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="(radioValueQt || radioValueZy) && currentTasktype && currentTasktype.associationType && ((currentTasktype.associationType.value === 'inspect' && linkCheckLisTrue && !(currentTasktype.isMoreDept === 0 && isInspects)) || currentTasktype.associationType.value !== 'inspect')">
1680 1704
             继续建单
1681 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="(radioValueQt || radioValueZy) && currentTasktype && currentTasktype.associationType && ((currentTasktype.associationType.value === 'inspect' && linkCheckLisTrue && !(currentTasktype.isMoreDept === 0 && isInspects)) || currentTasktype.associationType.value !== 'inspect')">
1683 1707
             {{isYyInspect ? '预约建单' :'直接建单'}}
1684 1708
           </button>
1685 1709
         </ng-container>

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

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

+ 343 - 42
src/app/views/fuwutai/fuwutai.component.ts

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

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

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

+ 1 - 1
src/app/views/qrcode-configuration/qrcode-configuration.service.ts

@@ -57,7 +57,7 @@ export class QRCodeConfigurationService {
57 57
         ...data,
58 58
       }
59 59
     };
60
-    return this.mainService.simplePost("addData", "qrCode", data);
60
+    return this.mainService.coopData("addData", "qrCode", data);
61 61
   }
62 62
 
63 63
   // 查询科室

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

@@ -94,7 +94,7 @@
94 94
             <label nz-radio nzValue='0'>否</label>
95 95
           </nz-radio-group>
96 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 98
           <nz-form-label class="label" nzRequired>调度台是否可以新建工单</nz-form-label>
99 99
           <nz-radio-group class="handlerType" [(ngModel)]="autoFlag">
100 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 2696
   isHalfInspectChange(e) {
2697 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 2704
   isMoreDeptChange(e) {
2705 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
   // 展示信息提示框