Преглед на файлове

调度台万能交接建单

seimin преди 4 месеца
родител
ревизия
da5ac894e2

+ 7 - 7
src/app/components/incidentManagement/incident-create/incident-create.component.html

@@ -8,7 +8,7 @@
8 8
 <!-- 新建工单 -->
9 9
 <div class="newOrder display_flex justify-content_flex-center align-items_center">
10 10
   <div class="modalBody">
11
-    <div class="title" *ngIf="currentTabIndex === '99999'">
11
+    <div class="title" *ngIf="currentTabIndex === '故障报修'">
12 12
       <div class="newTop">
13 13
         <div class="name">故障工单编辑</div>
14 14
         <div class="newTopItem">
@@ -55,9 +55,9 @@
55 55
         <div class="tabs">
56 56
           <div class="tabs__inner" #tab>
57 57
             <div class="tabs__wrap" [style.transform]="'translateX(' + disX + 'px)'">
58
-              <ng-container *ngFor="let item of workTypesArrange | keyvalue">
58
+              <ng-container *ngFor="let item of workTypesArrange;let index = index;">
59 59
                 <div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)">
60
-                  {{ item.value[0].associationTypeName }}
60
+                  {{ item.key }}
61 61
                 </div>
62 62
               </ng-container>
63 63
             </div>
@@ -75,9 +75,9 @@
75 75
         </div>
76 76
         <!-- 底部tab页 -->
77 77
         <div class="bottomWrap">
78
-          <ng-container *ngFor="let item of workTypesArrange | keyvalue">
78
+          <ng-container *ngFor="let item of workTypesArrange;let index = index;">
79 79
             <!-- 故障报修 -->
80
-            <overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '99999'">
80
+            <overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '故障报修'">
81 81
               <div class="req">
82 82
                 <div class="row">
83 83
                   <div class="col flex4">
@@ -309,7 +309,7 @@
309 309
       </div>
310 310
     </div>
311 311
     <div class="btns display_flex justify-content_flex-center align-items_center">
312
-      <ng-container *ngIf="currentTabIndex === '99999' && buildType !== '编辑事件'">
312
+      <ng-container *ngIf="currentTabIndex === '故障报修' && buildType !== '编辑事件'">
313 313
         <label nz-checkbox [(ngModel)]="isBuildOrderAgagin" *ngIf="buildType !== '报修转事件' && buildType !== '留言转事件'">是否连续建单</label>
314 314
         <button nz-button class="btn" nzType="primary" (click)="directOrder()">
315 315
           直接解决
@@ -321,7 +321,7 @@
321 321
           暂存
322 322
         </button>
323 323
       </ng-container>
324
-      <ng-container *ngIf="currentTabIndex === '99999' && buildType === '编辑事件'">
324
+      <ng-container *ngIf="currentTabIndex === '故障报修' && buildType === '编辑事件'">
325 325
         <button nz-button class="btn" nzType="primary" (click)="saveOrder()">
326 326
           保存
327 327
         </button>

+ 1 - 0
src/app/components/incidentManagement/incident-create/incident-create.component.less

@@ -126,6 +126,7 @@
126 126
   display: inline-block;
127 127
   height: 24px;
128 128
   line-height: 24px;
129
+  word-break: keep-all;
129 130
 }
130 131
 
131 132
 /* 头部Tab */

+ 9 - 9
src/app/components/incidentManagement/incident-create/incident-create.component.ts

@@ -74,7 +74,7 @@ export class IncidentCreateComponent implements OnInit {
74 74
   disStep = 0; //移动的步长
75 75
   // tab任务类型向左移动
76 76
   toLeft() {
77
-    let maxStep = Object.keys(this.workTypesArrange).length - 5;
77
+    let maxStep = this.workTypesArrange.length - 5;
78 78
     this.disStep = Math.max(-maxStep, --this.disStep);
79 79
     this.disX = (this.disStep * this.elementView.nativeElement.offsetWidth) / 5;
80 80
   }
@@ -729,7 +729,7 @@ export class IncidentCreateComponent implements OnInit {
729 729
   changeApplyDept(e) {
730 730
     console.log(e, this.applicationDeptList);
731 731
 
732
-    if(this.incidentModel.department && this.currentTabIndex === '99999'){
732
+    if(this.incidentModel.department && this.currentTabIndex === '故障报修'){
733 733
       this.rightTitle_tab = [
734 734
         { id: 2, name: '近期维修' },
735 735
         { id: 3, name: '知识库' },
@@ -1350,18 +1350,18 @@ export class IncidentCreateComponent implements OnInit {
1350 1350
   }
1351 1351
 
1352 1352
   // 新建工单->获取新建类型
1353
-  workTypesArrange = {}; //整理后的任务类型
1353
+  workTypesArrange = []; //整理后的任务类型
1354 1354
   workTypesFlag = false; //任务类型是否显示操作项
1355 1355
   getAutoWorkTypes(isFirst, isInit) {
1356
-    this.workTypesArrange = {};
1356
+    this.workTypesArrange = [];
1357 1357
     // 运维
1358
-    this.workTypesArrange = { 99999: [{associationTypeName: '故障报修'}] };
1358
+    this.workTypesArrange = [{key:'故障报修', value: []}];
1359 1359
     console.log('workTypesArrange', this.workTypesArrange);
1360 1360
     // 是否显示操作项
1361
-    this.workTypesFlag = Object.keys(this.workTypesArrange).length >= 5;
1361
+    this.workTypesFlag = this.workTypesArrange.length >= 5;
1362 1362
     // 默认选中第一项
1363
-    if (Object.keys(this.workTypesArrange).length > 0) {
1364
-      this.tabClick(Object.keys(this.workTypesArrange)[0], isInit);
1363
+    if (this.workTypesArrange.length > 0) {
1364
+      this.tabClick(this.workTypesArrange[0].key, isInit);
1365 1365
     }
1366 1366
   }
1367 1367
 
@@ -1369,7 +1369,7 @@ export class IncidentCreateComponent implements OnInit {
1369 1369
   tabClick(key, isInit = false) {
1370 1370
     this.currentTabIndex = key;
1371 1371
 
1372
-    if(this.currentTabIndex === '99999'){
1372
+    if(this.currentTabIndex === '故障报修'){
1373 1373
       if(this.incidentModel.department){
1374 1374
         this.rightTitle_tab = [
1375 1375
           { id: 2, name: '近期维修' },

+ 7 - 1
src/app/services/main.service.ts

@@ -426,6 +426,12 @@ export class MainService {
426 426
       headers: this.headers,
427 427
     });
428 428
   }
429
+  //调度台建单获取可搜索的任务类型列表-统计备注
430
+  getTaskTypeCountRemarkList(data): any {
431
+    return this.http.post(host.host + "/ser/getTaskTypeCountRemarkList", data, {
432
+      headers: this.headers,
433
+    });
434
+  }
429 435
   //切换院区
430 436
   changeHospital(data): any {
431 437
     return this.http.post(host.host + "/auth/changeHospital", data, {
@@ -1018,5 +1024,5 @@ export class MainService {
1018 1024
 	    headers: this.headers,
1019 1025
 	  });
1020 1026
 	}
1021
-	
1027
+
1022 1028
 }

+ 64 - 234
src/app/views/fuwutai/fuwutai.component.html

@@ -975,9 +975,9 @@
975 975
   </div>
976 976
 
977 977
   <!-- 右侧悬浮框-录音盒或呼叫中心状态 -->
978
-  <div id="fixedMenuAll" class="fixedAll">
978
+  <div id="fixedMenuAll" class="fixedAll" *ngIf="!websocketLoading && (incomingService.getPhoneNumber() || (incomingService.getSign() === 'callCenter' && (jry_state=='laidian' || jry_state=='shimang' || jry_state=='shixian' || jry_state=='tonghuazhong')))">
979 979
     <div class="right">
980
-      <div class="fixedMenuWrap" *ngIf="!websocketLoading">
980
+      <div class="fixedMenuWrap">
981 981
         <div class="fixedMenu" *ngIf="incomingService.getPhoneNumber()">
982 982
           <div class="menuItems">
983 983
             <div class="item itemLink ellipsis-oneline cursorDefault w100" nz-tooltip [nzTooltipTitle]="incomingService.getPhoneNumber()">
@@ -1132,7 +1132,7 @@
1132 1132
   <!-- 新建工单 -->
1133 1133
   <div class="newOrder display_flex justify-content_flex-center align-items_center" *ngIf="newOrderShow && newOrderShowOpen">
1134 1134
     <div class="modalBody">
1135
-      <div class="title" *ngIf="currentTabIndex !== '99999'">
1135
+      <div class="title" *ngIf="currentTabIndex !== '故障报修'">
1136 1136
         <div class="newTop">
1137 1137
           <div class="name">来电咨询</div>
1138 1138
           <div class="newTopItem">
@@ -1146,7 +1146,7 @@
1146 1146
               </nz-option>
1147 1147
             </nz-select>
1148 1148
           </div>
1149
-          <div class="newTopItem">
1149
+          <div class="newTopItem" *ngIf="false">
1150 1150
             <span class="grayFont">任务类型:</span>
1151 1151
             <nz-select *ngIf="applyDept" style="width: 146px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="onSearchTaskBuild($event)" nzPlaceHolder="请选择任务类型" [(ngModel)]="taskBuild" (ngModelChange)="changeTaskBuild($event)">
1152 1152
               <ng-container *ngFor="let option of searchTaskList">
@@ -1163,7 +1163,7 @@
1163 1163
           </div>
1164 1164
         </div>
1165 1165
       </div>
1166
-      <div class="title" *ngIf="currentTabIndex === '99999'">
1166
+      <div class="title" *ngIf="currentTabIndex === '故障报修'">
1167 1167
         <div class="newTop">
1168 1168
           <div class="name">来电咨询</div>
1169 1169
           <div class="newTopItem">
@@ -1213,9 +1213,9 @@
1213 1213
           <div class="tabs">
1214 1214
             <div class="tabs__inner" #tab>
1215 1215
               <div class="tabs__wrap" [style.transform]="'translateX(' + disX + 'px)'">
1216
-                <ng-container *ngFor="let item of workTypesArrange | keyvalue">
1217
-                  <div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)" *ngIf="buildType !== '编辑事件' || (buildType === '编辑事件' && item.key == 99999)">
1218
-                    {{ item.value[0].associationTypeName }}
1216
+                <ng-container *ngFor="let item of workTypesArrange;let index = index;">
1217
+                  <div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)" *ngIf="buildType !== '编辑事件' || (buildType === '编辑事件' && item.key == '故障报修')">
1218
+                    {{ item.key }}
1219 1219
                   </div>
1220 1220
                 </ng-container>
1221 1221
               </div>
@@ -1233,16 +1233,16 @@
1233 1233
           </div>
1234 1234
           <!-- 底部tab页 -->
1235 1235
           <div class="bottomWrap">
1236
-            <ng-container *ngFor="let item of workTypesArrange | keyvalue">
1236
+            <ng-container *ngFor="let item of workTypesArrange;let index = index;">
1237 1237
               <ng-container *ngIf="applyDept">
1238
-                <!-- 标本轮巡,标本配送 -->
1239
-                <div class="bottom" *ngIf="currentTabIndex == item.key && item.key == 256 && !newLoading">
1238
+                <!-- 标本配送 -->
1239
+                <!-- <div class="bottom" *ngIf="currentTabIndex == item.key && item.key == '物品配送' && !newLoading">
1240 1240
                   <div class="bottom380256">
1241 1241
                     起点科室默认为申请科室,终点科室为检验科室,确定后即可新建工单!
1242 1242
                   </div>
1243
-                </div>
1243
+                </div> -->
1244 1244
                 <!-- 患者转运 -->
1245
-                <overlay-scrollbars #osComponentRef9 *ngIf="currentTabIndex == item.key && item.key == 255 && !newLoading" class="bottom">
1245
+                <overlay-scrollbars #osComponentRef9 *ngIf="currentTabIndex == item.key && item.key  == '患者转运' && !newLoading" class="bottom">
1246 1246
                   <div class="bottom255">
1247 1247
                     <form nz-form [formGroup]="validateFormZy">
1248 1248
                       <div nz-row [nzGutter]="24">
@@ -1266,7 +1266,7 @@
1266 1266
                                 <overlay-scrollbars #osComponentRef10 [ngStyle]="{ height: '100%' }">
1267 1267
                                   <nz-radio-group formControlName="taskType" nz-row [(ngModel)]="radioValueZy" (ngModelChange)="radioChangeZy(radioValueZy)">
1268 1268
                                     <div nz-row>
1269
-                                      <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[item.key]">{{ item1.taskTypeName }}</label>
1269
+                                      <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
1270 1270
                                     </div>
1271 1271
                                   </nz-radio-group>
1272 1272
                                 </overlay-scrollbars>
@@ -1558,269 +1558,99 @@
1558 1558
                     </form>
1559 1559
                   </div>
1560 1560
                 </overlay-scrollbars>
1561
-                <!-- 其他 -->
1562
-                <overlay-scrollbars #osComponentRef13 class="bottom" *ngIf="currentTabIndex == item.key && item.key == 259 && !newLoading">
1561
+                <!-- 物品配送 -->
1562
+                <overlay-scrollbars #osComponentRef13 class="bottom" *ngIf="currentTabIndex == item.key && item.key  == '物品配送' && !newLoading">
1563 1563
                   <div class="bottom255">
1564 1564
                     <form nz-form [formGroup]="validateFormQt">
1565 1565
                       <div nz-row [nzGutter]="24">
1566 1566
                         <div nz-col [nzSpan]="24" style="height: 268px">
1567 1567
                           <nz-form-item>
1568
-                            <nz-form-label
1569
-                              class="label"
1570
-                              [nzSm]="24"
1571
-                              [nzXs]="24"
1572
-                              nzRequired
1573
-                              nzFor="taskTypeQt"
1574
-                              >类型
1575
-                            </nz-form-label>
1576
-                            <nz-form-control
1577
-                              class="control"
1578
-                              [nzSm]="24"
1579
-                              [nzXs]="24"
1580
-                              nzErrorTip="请选择类型!"
1581
-                            >
1582
-                              <div class="radios" style="height: 225px">
1568
+                            <nz-form-label class="label" [nzSm]="2" [nzXs]="2" nzRequired nzFor="taskTypeQt">类型</nz-form-label>
1569
+                            <div class="ellipsis-oneline">
1570
+                              <span class="customRemarks mr8" [ngClass]="{ active: countRemarkIndex == i }" (click)="addCountRemark(item, index, i)" *ngFor="let item of countRemarkList;let i = index;">{{ item }}</span>
1571
+                            </div>
1572
+                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择类型!">
1573
+                              <div class="radios" style="height: 225px" *ngIf="!searchTaskLoading">
1583 1574
                                 <overlay-scrollbars #osComponentRef11 [ngStyle]="{ height: '100%' }">
1584 1575
                                   <nz-radio-group formControlName="taskTypeQt" nz-row [(ngModel)]="radioValueQt" (ngModelChange)="radioChangeQt(radioValueQt)">
1585 1576
                                     <div nz-row>
1586
-                                      <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[item.key]">{{ item1.taskTypeName }}</label>
1577
+                                      <label [title]="item1.taskTypeName" nz-col nz-radio [nzValue]="item1.id" *ngFor="let item1 of workTypesArrange[index].value">{{ item1.taskTypeName }}</label>
1587 1578
                                     </div>
1588 1579
                                   </nz-radio-group>
1589 1580
                                 </overlay-scrollbars>
1590 1581
                               </div>
1582
+                              <div class="radios display_flex justify-content_flex-center align-items_center" style="height: 225px" *ngIf="searchTaskLoading">
1583
+                                <nz-spin nzSimple></nz-spin>
1584
+                              </div>
1591 1585
                             </nz-form-control>
1592 1586
                           </nz-form-item>
1593 1587
                         </div>
1594
-                        <div
1595
-                          nz-col
1596
-                          [nzSpan]="12"
1597
-                          style="height: 83px"
1598
-                          [ngStyle]="{
1599
-                            display:
1600
-                              deptQtList['startStatus'] != 201 ? 'block' : 'none'
1601
-                          }"
1602
-                        >
1588
+                        <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12" style="height: 83px" [ngStyle]="{ display: deptQtList['startStatus'] != 201 ? 'block' : 'none' }">
1603 1589
                           <nz-form-item>
1604
-                            <nz-form-label
1605
-                              class="label"
1606
-                              [nzSm]="24"
1607
-                              [nzXs]="24"
1608
-                              nzRequired
1609
-                              nzFor="startDeptQt"
1610
-                              >起点科室
1611
-                            </nz-form-label>
1612
-                            <nz-form-control
1613
-                              class="control"
1614
-                              [nzSm]="24"
1615
-                              [nzXs]="24"
1616
-                              nzErrorTip="请选择起点科室!"
1617
-                            >
1618
-                              <nz-select
1619
-                                formControlName="startDeptQt"
1620
-                                [nzDisabled]="
1621
-                                  deptQtList.startStatus == 201 ||
1622
-                                  deptQtList.startStatus == 203
1623
-                                "
1624
-                                [nzDropdownMatchSelectWidth]="false"
1625
-                                nzServerSearch
1626
-                                nzShowSearch
1627
-                                (nzOnSearch)="
1628
-                                  searchHosDepartmentQt(
1629
-                                    checkedHos,
1630
-                                    'start',
1631
-                                    $event
1632
-                                  )
1633
-                                "
1634
-                                nzAllowClear
1635
-                                nzPlaceHolder="请选择起点科室"
1636
-                                [(ngModel)]="startDeptQt"
1637
-                              >
1638
-                                <ng-container
1639
-                                  *ngFor="let option of deptQtList.startDept"
1640
-                                >
1641
-                                  <nz-option
1642
-                                    *ngIf="!isLoading"
1643
-                                    [nzLabel]="option.dept"
1644
-                                    [nzValue]="option.id"
1645
-                                  ></nz-option>
1590
+                            <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="startDeptQt">起点科室</nz-form-label>
1591
+                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择起点科室!">
1592
+                              <nz-select formControlName="startDeptQt" [nzDisabled]="deptQtList.startStatus == 201 || deptQtList.startStatus == 203" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="searchHosDepartmentQt(checkedHos, 'start', $event)" nzAllowClear nzPlaceHolder="请选择起点科室" [(ngModel)]="startDeptQt">
1593
+                                <ng-container *ngFor="let option of deptQtList.startDept">
1594
+                                  <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
1646 1595
                                 </ng-container>
1647
-                                <nz-option
1648
-                                  *ngIf="isLoading"
1649
-                                  nzDisabled
1650
-                                  nzCustomContent
1651
-                                >
1652
-                                  <i
1653
-                                    nz-icon
1654
-                                    nzType="loading"
1655
-                                    class="loading-icon"
1656
-                                  ></i>
1596
+                                <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
1597
+                                  <i nz-icon nzType="loading" class="loading-icon"></i>
1657 1598
                                   搜索中...
1658 1599
                                 </nz-option>
1659 1600
                               </nz-select>
1660 1601
                             </nz-form-control>
1661 1602
                           </nz-form-item>
1662 1603
                         </div>
1663
-                        <div nz-col [nzSpan]="12" style="height: 83px">
1604
+                        <div *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value !== 'specimen'" nz-col [nzSpan]="12" style="height: 83px">
1664 1605
                           <nz-form-item>
1665
-                            <nz-form-label
1666
-                              class="label"
1667
-                              [nzSm]="24"
1668
-                              [nzXs]="24"
1669
-                              nzRequired
1670
-                              nzFor="endDeptsQt"
1671
-                              >终点科室
1672
-                            </nz-form-label>
1673
-                            <nz-form-control
1674
-                              class="control"
1675
-                              [nzSm]="24"
1676
-                              [nzXs]="24"
1677
-                              nzErrorTip="请选择终点科室!"
1678
-                            >
1679
-                              <nz-select
1680
-                                formControlName="endDeptsQt"
1681
-                                [nzDisabled]="
1682
-                                  deptQtList.endStatus == 201 ||
1683
-                                  deptQtList.endStatus == 203
1684
-                                "
1685
-                                [nzDropdownMatchSelectWidth]="false"
1686
-                                nzServerSearch
1687
-                                nzShowSearch
1688
-                                (nzOnSearch)="
1689
-                                  searchHosDepartmentQt(checkedHos, 'end', $event)
1690
-                                "
1691
-                                nzAllowClear
1692
-                                nzPlaceHolder="请选择终点科室"
1693
-                                [(ngModel)]="endDeptQt"
1694
-                              >
1695
-                                <ng-container
1696
-                                  *ngFor="let option of deptQtList.endDept"
1697
-                                >
1698
-                                  <nz-option
1699
-                                    *ngIf="!isLoading"
1700
-                                    [nzLabel]="option.dept"
1701
-                                    [nzValue]="option.id"
1702
-                                  ></nz-option>
1606
+                            <nz-form-label class="label" [nzSm]="24" [nzXs]="24" nzRequired nzFor="endDeptsQt">终点科室</nz-form-label>
1607
+                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请选择终点科室!">
1608
+                              <nz-select formControlName="endDeptsQt" [nzDisabled]="deptQtList.endStatus == 201 || deptQtList.endStatus == 203" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="searchHosDepartmentQt(checkedHos, 'end', $event)"
1609
+                                nzAllowClear nzPlaceHolder="请选择终点科室" [(ngModel)]="endDeptQt">
1610
+                                <ng-container *ngFor="let option of deptQtList.endDept">
1611
+                                  <nz-option *ngIf="!isLoading" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
1703 1612
                                 </ng-container>
1704
-                                <nz-option
1705
-                                  *ngIf="isLoading"
1706
-                                  nzDisabled
1707
-                                  nzCustomContent
1708
-                                >
1709
-                                  <i
1710
-                                    nz-icon
1711
-                                    nzType="loading"
1712
-                                    class="loading-icon"
1713
-                                  ></i>
1613
+                                <nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
1614
+                                  <i nz-icon nzType="loading" class="loading-icon"></i>
1714 1615
                                   搜索中...
1715 1616
                                 </nz-option>
1716 1617
                               </nz-select>
1717 1618
                             </nz-form-control>
1718 1619
                           </nz-form-item>
1719 1620
                         </div>
1720
-                        <div
1721
-                          nz-col
1722
-                          [nzSpan]="24"
1723
-                          *ngIf="
1724
-                            deptQtList.taskType &&
1725
-                            deptQtList.taskType.remarksSwitch == 1
1726
-                          "
1727
-                        >
1621
+                        <div nz-col [nzSpan]="24" style="padding-bottom: 16px;" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'specimen'">
1622
+                          起点科室默认为申请科室,终点科室为检验科室,确定后即可新建工单!
1623
+                        </div>
1624
+                        <div nz-col [nzSpan]="24" *ngIf="deptQtList.taskType && deptQtList.taskType.remarksSwitch == 1">
1728 1625
                           <nz-form-item>
1729
-                            <nz-form-label
1730
-                              class="label"
1731
-                              [nzSm]="3"
1732
-                              [nzXs]="3"
1733
-                              nzFor="workOrderRemark"
1734
-                              >工单备注
1735
-                            </nz-form-label>
1736
-                            <span
1737
-                              class="customRemarks"
1738
-                              *ngFor="
1739
-                                let item of deptQtList.taskType.customRemarks
1740
-                              "
1741
-                              (click)="addRemarks(item)"
1742
-                              >【{{ item }}】</span
1743
-                            >
1744
-                            <nz-form-control
1745
-                              class="control"
1746
-                              [nzSm]="24"
1747
-                              [nzXs]="24"
1748
-                              nzErrorTip="请填写工单备注!"
1749
-                            >
1750
-                              <textarea
1751
-                                formControlName="workOrderRemark"
1752
-                                nz-input
1753
-                                [placeholder]="deptQtList.taskType.remarksPrompts"
1754
-                                [nzAutosize]="{ minRows: 3, maxRows: 5 }"
1755
-                                maxlength="100"
1756
-                                [(ngModel)]="workOrderRemark"
1757
-                                #remarksEle
1758
-                              ></textarea>
1626
+                            <nz-form-label class="label" [nzSm]="3" [nzXs]="3" nzFor="workOrderRemark">工单备注</nz-form-label>
1627
+                            <span class="customRemarks" *ngFor="let item of deptQtList.taskType.customRemarks" (click)="addRemarks(item)">【{{ item }}】</span>
1628
+                            <nz-form-control class="control" [nzSm]="24" [nzXs]="24" nzErrorTip="请填写工单备注!">
1629
+                              <textarea formControlName="workOrderRemark" nz-input [placeholder]="deptQtList.taskType.remarksPrompts" [nzAutosize]="{ minRows: 3, maxRows: 5 }" maxlength="100" [(ngModel)]="workOrderRemark" #remarksEle></textarea>
1759 1630
                             </nz-form-control>
1760 1631
                           </nz-form-item>
1761 1632
                         </div>
1762 1633
                         <!-- 预约建单时间-其他临床服务--start -->
1763
-                        <div nz-col [nzSpan]="24" style="height: 83px" class="pos">
1634
+                        <div nz-col [nzSpan]="24" style="height: 83px" class="pos" *ngIf="deptQtList.taskType && deptQtList.taskType.associationType.value === 'other'">
1764 1635
                           <!-- 需要预约检查 -->
1765 1636
                           <nz-form-item class="pos-item">
1766 1637
                             <nz-form-control>
1767
-                              <label
1768
-                                nz-checkbox
1769
-                                [(ngModel)]="isYyInspect"
1770
-                                (ngModelChange)="yyInspectChange($event)"
1771
-                                [ngModelOptions]="{ standalone: true }"
1772
-                                style="font-weight: bold"
1773
-                                >需要预约检查</label
1774
-                              >
1638
+                              <label nz-checkbox [(ngModel)]="isYyInspect" (ngModelChange)="yyInspectChange($event)" [ngModelOptions]="{ standalone: true }" style="font-weight: bold">需要预约检查</label>
1775 1639
                             </nz-form-control>
1776 1640
                           </nz-form-item>
1777 1641
                           <!-- 预约建单时间 -->
1778
-                          <nz-form-item
1779
-                            class="yyTime"
1780
-                            [ngClass]="{ yyTimeError: (!yyTime || !yyDate) && clickYYFlag }"
1781
-                          >
1782
-                            <nz-form-label [nzSm]="24" [nzXs]="24"
1783
-                              >预约建单时间</nz-form-label
1784
-                            >
1642
+                          <nz-form-item class="yyTime" [ngClass]="{ yyTimeError: (!yyTime || !yyDate) && clickYYFlag }">
1643
+                            <nz-form-label [nzSm]="24" [nzXs]="24">预约建单时间</nz-form-label>
1785 1644
                             <nz-form-control [nzSm]="24" [nzXs]="24">
1786
-                              <nz-date-picker
1787
-                                [nzDisabled]="!isYyInspect"
1788
-                                [(ngModel)]="yyDate"
1789
-                                (ngModelChange)="yyDateChange($event)"
1790
-                                [ngModelOptions]="{ standalone: true }"
1791
-                                [nzAllowClear]="false"
1792
-                                [nzDisabledDate]="disabledyyDate"
1793
-                                [nzShowToday]="false"
1794
-                              >
1645
+                              <nz-date-picker [nzDisabled]="!isYyInspect" [(ngModel)]="yyDate" (ngModelChange)="yyDateChange($event)" [ngModelOptions]="{ standalone: true }" [nzAllowClear]="false" [nzDisabledDate]="disabledyyDate" [nzShowToday]="false">
1795 1646
                               </nz-date-picker>
1796
-                              <nz-time-picker
1797
-                                [nzDisabled]="!isYyInspect || !yyDate"
1798
-                                class="ml8"
1799
-                                nzFormat="HH:mm"
1800
-                                [nzMinuteStep]="inspectAndPatientTransportConfig.timeMod"
1801
-                                [nzSecondStep]="60"
1802
-                                [(ngModel)]="yyTime"
1803
-                                (ngModelChange)="yyTimeChange($event)"
1804
-                                [ngModelOptions]="{ standalone: true }"
1805
-                                [nzDisabledHours]="disabledHours"
1806
-                                [nzDisabledMinutes]="disabledMinutes"
1807
-                                [nzAllowEmpty]="false"
1808
-                              >
1647
+                              <nz-time-picker [nzDisabled]="!isYyInspect || !yyDate" class="ml8" nzFormat="HH:mm" [nzMinuteStep]="inspectAndPatientTransportConfig.timeMod" [nzSecondStep]="60" [(ngModel)]="yyTime" (ngModelChange)="yyTimeChange($event)" [ngModelOptions]="{ standalone: true }" [nzDisabledHours]="disabledHours" [nzDisabledMinutes]="disabledMinutes" [nzAllowEmpty]="false">
1809 1648
                               </nz-time-picker>
1810
-                              <button
1811
-                                [disabled]="!isYyInspect || (isYyInspect && !yyDate)"
1812
-                                nz-button
1813
-                                nzType="primary"
1814
-                                class="ml8"
1815
-                                (click)="nextDay()"
1816
-                              >
1649
+                              <button [disabled]="!isYyInspect || (isYyInspect && !yyDate)" nz-button nzType="primary" class="ml8" (click)="nextDay()">
1817 1650
                                 下一日
1818 1651
                               </button>
1819 1652
                             </nz-form-control>
1820
-                            <div
1821
-                              class="red w100"
1822
-                              *ngIf="(!yyTime || !yyDate) && clickYYFlag"
1823
-                            >
1653
+                            <div class="red w100" *ngIf="(!yyTime || !yyDate) && clickYYFlag">
1824 1654
                               请填写预约建单时间!
1825 1655
                             </div>
1826 1656
                           </nz-form-item>
@@ -1832,7 +1662,7 @@
1832 1662
                 </overlay-scrollbars>
1833 1663
               </ng-container>
1834 1664
               <!-- 故障报修 -->
1835
-              <overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '99999'">
1665
+              <overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '故障报修'">
1836 1666
                 <div class="req">
1837 1667
                   <div class="row">
1838 1668
                     <div class="col flex4">
@@ -1988,7 +1818,7 @@
1988 1818
             </div>
1989 1819
           </div>
1990 1820
           <!-- 底部信息提示 -->
1991
-          <!-- <div class="bottomInfo" *ngIf="currentTabIndex !== '99999'">提示:临床科室建单会更简便哟!</div> -->
1821
+          <!-- <div class="bottomInfo" *ngIf="currentTabIndex !== '故障报修'">提示:临床科室建单会更简便哟!</div> -->
1992 1822
         </div>
1993 1823
         <div nz-col nzSpan="9" class="col right">
1994 1824
           <div class="rightTitle">
@@ -2216,7 +2046,7 @@
2216 2046
         </div>
2217 2047
       </div>
2218 2048
       <div class="btns display_flex justify-content_flex-center align-items_center">
2219
-        <ng-container *ngIf="applyDept && currentTabIndex !== '99999'">
2049
+        <ng-container *ngIf="applyDept && currentTabIndex !== '故障报修'">
2220 2050
           <button nz-button class="btn" nzType="primary" (click)="newOrderOk('&go&')" [nzLoading]="isGoLoading">
2221 2051
             继续建单
2222 2052
           </button>
@@ -2224,7 +2054,7 @@
2224 2054
             {{isYyInspect ? '预约建单' :'直接建单'}}
2225 2055
           </button>
2226 2056
         </ng-container>
2227
-        <ng-container *ngIf="currentTabIndex === '99999' && buildType !== '编辑事件'">
2057
+        <ng-container *ngIf="currentTabIndex === '故障报修' && buildType !== '编辑事件'">
2228 2058
           <label nz-checkbox [(ngModel)]="isBuildOrderAgagin" *ngIf="buildType !== '报修转事件' && buildType !== '留言转事件' && buildType !== '继续建单'">是否连续建单</label>
2229 2059
           <button nz-button class="btn" nzType="primary" (click)="directOrder()">
2230 2060
             直接解决
@@ -2236,7 +2066,7 @@
2236 2066
             暂存
2237 2067
           </button>
2238 2068
         </ng-container>
2239
-        <ng-container *ngIf="currentTabIndex === '99999' && buildType === '编辑事件'">
2069
+        <ng-container *ngIf="currentTabIndex === '故障报修' && buildType === '编辑事件'">
2240 2070
           <button nz-button class="btn" nzType="primary" (click)="saveOrder()">
2241 2071
             保存
2242 2072
           </button>

+ 4 - 0
src/app/views/fuwutai/fuwutai.component.less

@@ -147,6 +147,10 @@
147 147
     display: inline-block;
148 148
     height: 24px;
149 149
     line-height: 24px;
150
+    word-break: keep-all;
151
+    &.active{
152
+      font-weight: bold;
153
+    }
150 154
   }
151 155
 
152 156
   /* 头部Tab */

+ 148 - 45
src/app/views/fuwutai/fuwutai.component.ts

@@ -128,7 +128,7 @@ export class FuwutaiComponent implements OnInit {
128 128
   applicationDepartmentList = []; //新建工单->申请科室列表(搜索)
129 129
   callNumber = ""; //来电号码
130 130
   workTypes = []; //任务类型
131
-  workTypesArrange = {}; //整理后的任务类型
131
+  workTypesArrange = []; //整理后的任务类型
132 132
   workTypesFlag = false; //任务类型是否显示操作项
133 133
   currentTabIndex = ""; //获取任务类型的key
134 134
   radioValueZy: any = ""; //转运->类型
@@ -395,7 +395,7 @@ export class FuwutaiComponent implements OnInit {
395 395
 
396 396
       // 预约日期
397 397
       let yyTime1;
398
-      if(this.isYyInspect && this.currentTabIndex == '255'){
398
+      if(this.isYyInspect && this.currentTabIndex == '患者转运'){
399 399
         let yyDateZy = (typeof this.yyDateZy === 'object') ? new Date(this.yyDateZy) : parse(this.yyDateZy, 'yyyy-MM-dd HH:mm:ss', new Date());
400 400
         let yyTimeZy = (typeof this.yyTimeZy === 'object') ? new Date(this.yyTimeZy) : parse(this.yyTimeZy, 'yyyy-MM-dd HH:mm:ss', new Date());
401 401
         yyTime1 = format(yyDateZy, "yyyy-MM-dd") + " " + format(yyTimeZy, "HH:mm") + ":00";
@@ -455,7 +455,7 @@ export class FuwutaiComponent implements OnInit {
455 455
       workOrder: {
456 456
         sourceId: SourceId.fuwutai,
457 457
         taskType: {
458
-          id: this.workTypesArrange[this.currentTabIndex][0].taskType.id,
458
+          id: this.validateFormQt.controls.taskTypeQt.value,
459 459
         },
460 460
         startDept: {
461 461
           id: this.applyDept,
@@ -500,7 +500,7 @@ export class FuwutaiComponent implements OnInit {
500 500
 
501 501
     // 预约日期
502 502
     let yyTime1;
503
-    if(this.isYyInspect && this.currentTabIndex == '259'){
503
+    if(this.isYyInspect && this.currentTabIndex == '物品配送'){
504 504
       let yyDate = (typeof this.yyDate === 'object') ? new Date(this.yyDate) : parse(this.yyDate, 'yyyy-MM-dd HH:mm:ss', new Date());
505 505
       let yyTime = (typeof this.yyTime === 'object') ? new Date(this.yyTime) : parse(this.yyTime, 'yyyy-MM-dd HH:mm:ss', new Date());
506 506
       yyTime1 = format(yyDate, "yyyy-MM-dd") + " " + format(yyTime, "HH:mm") + ":00";
@@ -548,6 +548,60 @@ export class FuwutaiComponent implements OnInit {
548 548
       }
549 549
     });
550 550
   }
551
+  // 万能交接表单提交
552
+  submitFormOrdinary(go?) {
553
+    for (const i in this.validateFormQt.controls) {
554
+      this.validateFormQt.controls[i].markAsDirty();
555
+      this.validateFormQt.controls[i].updateValueAndValidity();
556
+      if (!this.validateFormQt.controls[i].valid) {
557
+        this.isOkLoading = false;
558
+        this.isGoLoading = false;
559
+        return;
560
+      }
561
+    }
562
+
563
+    let postData = {
564
+      workOrder: {
565
+        sourceId: SourceId.fuwutai,
566
+        workOrderRemark: this.validateFormQt.controls.workOrderRemark.value,
567
+        taskType: {
568
+          id: this.validateFormQt.controls.taskTypeQt.value,
569
+        },
570
+        startDept: {
571
+          id: this.validateFormQt.controls.startDeptQt.value,
572
+        },
573
+        createDept: this.applyDept,
574
+        endDepts: [
575
+          {
576
+            id: this.validateFormQt.controls.endDeptsQt.value,
577
+          },
578
+        ],
579
+      },
580
+    };
581
+    if (!this.noWorkerPhone) {
582
+      postData.workOrder["workOrderPhone"] = this.callNumber;
583
+    }
584
+    this.mainService.buildOrder(postData).subscribe((data) => {
585
+      this.isOkLoading = false;
586
+      this.isGoLoading = false;
587
+      if (data["status"] == 200) {
588
+        this.newOrderShow = false; //关闭弹窗
589
+        if (go === "&go&") {
590
+          this.applyDept = data["startDept"].id;
591
+          this.applyStartDept = data["startDept"];
592
+          this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = data["phone"];
593
+          this.showPromptModal("建单", true, "", "closeGo");
594
+        } else {
595
+          if(this.incomingService.getSign() === 'callCenter' && this.incomingService.getPhoneNumber()){
596
+            this.jry_shixian();
597
+          }
598
+          this.showPromptModal("建单", true, "", "close");
599
+        }
600
+      } else {
601
+        this.showPromptModal("建单", false, data["msg"]);
602
+      }
603
+    });
604
+  }
551 605
   // 核酸打印
552 606
   nucleicAcidLoading = false;
553 607
   nucleicAcidList: any = [];
@@ -2397,7 +2451,7 @@ export class FuwutaiComponent implements OnInit {
2397 2451
         this.searchTaskLoading = false;
2398 2452
         this.searchTaskList = result.data;
2399 2453
         this.searchTaskList.forEach((item) => {
2400
-          item.sid = item.associationTypeId + "_" + item.id;
2454
+          item.sid = item.associationTypeId + "_" + item.id + "_" + item.associationTypeValue;
2401 2455
         });
2402 2456
         // if(phone){
2403 2457
         //   this.getAutoWorkTypes(true, isInit);
@@ -2411,13 +2465,14 @@ export class FuwutaiComponent implements OnInit {
2411 2465
   // 获取可选择的任务类型列表
2412 2466
   searchTaskList;
2413 2467
   searchTaskLoading = false;
2414
-  getSearchTaskList(keyword) {
2468
+  getSearchTaskList(keyword, countRemark) {
2415 2469
     if(!this.hsmsData.hsmsSwitch){
2416 2470
       return;
2417 2471
     }
2418 2472
     this.searchTaskLoading = true;
2419 2473
     return this.mainService.getTaskTypeBySearchKey({
2420
-      searchKey: keyword,
2474
+      searchKey: keyword || undefined,
2475
+      countRemark: countRemark || undefined,
2421 2476
       hosId: this.checkedHos,
2422 2477
     });
2423 2478
   }
@@ -2455,7 +2510,7 @@ export class FuwutaiComponent implements OnInit {
2455 2510
     this.deptQtList["startStatus"] = 0;
2456 2511
     this.deptQtList["endStatus"] = 0;
2457 2512
 
2458
-    if(preCurrentTabIndex === '99999'){
2513
+    if(preCurrentTabIndex === '故障报修'){
2459 2514
       if(this.applyDept){
2460 2515
         this.rightTitle_tab = [
2461 2516
           { id: 0, name: '近期配送' },
@@ -2470,7 +2525,7 @@ export class FuwutaiComponent implements OnInit {
2470 2525
         this.applyDept = this.incidentModel.department;
2471 2526
         this.searchApplicationDepartment('hsms', deptObj ? deptObj.dept : '', undefined, this.incidentModel.department);
2472 2527
       }
2473
-    }else if(this.currentTabIndex === '99999'){
2528
+    }else if(this.currentTabIndex === '故障报修'){
2474 2529
       if(this.incidentModel.department){
2475 2530
         this.rightTitle_tab = [
2476 2531
           { id: 2, name: '近期维修' },
@@ -2509,7 +2564,7 @@ export class FuwutaiComponent implements OnInit {
2509 2564
 
2510 2565
   // tab任务类型向左移动
2511 2566
   toLeft() {
2512
-    let maxStep = Object.keys(this.workTypesArrange).length - 5;
2567
+    let maxStep = this.workTypesArrange.length - 5;
2513 2568
     this.disStep = Math.max(-maxStep, --this.disStep);
2514 2569
     this.disX = (this.disStep * this.elementView.nativeElement.offsetWidth) / 5;
2515 2570
   }
@@ -3213,7 +3268,7 @@ export class FuwutaiComponent implements OnInit {
3213 3268
     console.log(e, this.applicationDepartmentList);
3214 3269
     this.changeApplicationDepartment("&same&");
3215 3270
 
3216
-    if(this.applyDept && this.currentTabIndex !== '99999'){
3271
+    if(this.applyDept && this.currentTabIndex !== '故障报修'){
3217 3272
       this.rightTitle_tab = [
3218 3273
         { id: 0, name: '近期配送' },
3219 3274
         { id: 1, name: '转出院记录' },
@@ -3232,7 +3287,7 @@ export class FuwutaiComponent implements OnInit {
3232 3287
   changeApplyDept(e) {
3233 3288
     console.log(e, this.applicationDeptList);
3234 3289
 
3235
-    if(this.incidentModel.department && this.currentTabIndex === '99999'){
3290
+    if(this.incidentModel.department && this.currentTabIndex === '故障报修'){
3236 3291
       this.rightTitle_tab = [
3237 3292
         { id: 2, name: '近期维修' },
3238 3293
         { id: 3, name: '知识库' },
@@ -3353,7 +3408,7 @@ export class FuwutaiComponent implements OnInit {
3353 3408
       console.log('filter', filter)
3354 3409
       // this.incidentModel.incomingPhone = this.callNumber = this.incidentModel.contactsInformation = filter[0].phone;
3355 3410
       console.log(this.callNumber); //ceshi
3356
-      if (this.currentTabIndex == "255") {
3411
+      if (this.currentTabIndex == "患者转运") {
3357 3412
         //患者转运
3358 3413
         //获取患者信息
3359 3414
         this.getPatientList(this.applyDept, "");
@@ -3368,7 +3423,7 @@ export class FuwutaiComponent implements OnInit {
3368 3423
         this.getDictionaryList();
3369 3424
       }
3370 3425
     } else if (phone === "&go&") {
3371
-      if (this.currentTabIndex == "255") {
3426
+      if (this.currentTabIndex == "患者转运") {
3372 3427
         //患者转运
3373 3428
         //获取患者信息
3374 3429
         this.getPatientList(this.applyDept, "");
@@ -3383,7 +3438,7 @@ export class FuwutaiComponent implements OnInit {
3383 3438
         this.getDictionaryList();
3384 3439
       }
3385 3440
     } else if (phone === "&same&") {
3386
-      if (this.currentTabIndex == "255") {
3441
+      if (this.currentTabIndex == "患者转运") {
3387 3442
         //患者转运
3388 3443
         //获取患者信息
3389 3444
         this.getPatientList(this.applyDept, "");
@@ -3745,48 +3800,87 @@ export class FuwutaiComponent implements OnInit {
3745 3800
     }
3746 3801
   }
3747 3802
 
3803
+  // 选择统计备注
3804
+  countRemarkIndex:number = -1;
3805
+  addCountRemark(countRemark, index, i){
3806
+    if(this.countRemarkIndex == i){
3807
+      this.countRemarkIndex = -1;
3808
+    }else{
3809
+      this.countRemarkIndex = i;
3810
+    }
3811
+
3812
+    this.getSearchTaskList('', this.countRemarkIndex > -1 ? countRemark : '').subscribe((result) => {
3813
+      if (result.status == 200) {
3814
+        this.searchTaskLoading = false;
3815
+        this.workTypesArrange[index].value = result.data || [];
3816
+      }
3817
+    });
3818
+  }
3819
+
3748 3820
   // 新建工单->获取新建类型
3821
+  countRemarkList:any[] = [];
3749 3822
   getAutoWorkTypes(isFirst, isInit) {
3750
-    this.workTypesArrange = {};
3823
+    this.workTypesArrange = [];
3751 3824
     // 运维
3752 3825
     if(this.itsmData.mdv2Switch){
3753
-      this.workTypesArrange = { 99999: [{associationTypeName: '故障报修'}] };
3826
+      this.workTypesArrange = [{key:'故障报修', value: []}];
3754 3827
       if(!this.hsmsData.hsmsSwitch){
3755 3828
         console.log('workTypesArrange', this.workTypesArrange);
3756 3829
         // 是否显示操作项
3757
-        this.workTypesFlag = Object.keys(this.workTypesArrange).length >= 5;
3830
+        this.workTypesFlag = this.workTypesArrange.length >= 5;
3758 3831
         // 默认选中第一项
3759
-        if (Object.keys(this.workTypesArrange).length > 0) {
3760
-          this.tabClick(Object.keys(this.workTypesArrange)[0], isInit);
3832
+        if (this.workTypesArrange.length > 0) {
3833
+          this.tabClick(this.workTypesArrange[0].key, isInit);
3761 3834
         }
3762 3835
       }
3763 3836
     }
3764 3837
     // 配送
3765 3838
     if(this.hsmsData.hsmsSwitch){
3766 3839
       this.newLoading = true;
3767
-      this.mainService.getAutoWorkTypes(this.checkedHos).subscribe((data) => {
3840
+      this.mainService.getTaskTypeBySearchKey({
3841
+        hosId: this.checkedHos,
3842
+      }).subscribe((data) => {
3768 3843
         this.newLoading = false;
3769 3844
         if (data["status"] == 200) {
3770 3845
           this.workTypes = data["data"];
3771 3846
           // 整理后的任务类型
3772 3847
           this.workTypes.forEach((item) => {
3773
-            if (this.workTypesArrange[item.associationTypeId]) {
3774
-              this.workTypesArrange[item.associationTypeId].push(item);
3775
-            } else {
3776
-              this.workTypesArrange[item.associationTypeId] = [];
3777
-              this.workTypesArrange[item.associationTypeId].push(item);
3848
+            if(item.associationTypeValue === 'patientTransport'){
3849
+              // 患者其他服务
3850
+              let obj = this.workTypesArrange.find(v => v.key === '患者转运');
3851
+              if(obj){
3852
+                obj.value.push(item);
3853
+              }else{
3854
+                this.workTypesArrange.unshift({ key: '患者转运', value: [item] });
3855
+              }
3856
+            }else if(item.associationTypeValue === 'other' || item.associationTypeValue === 'specimen' || item.associationTypeValue === 'ordinary'){
3857
+              // 物品配送
3858
+              let obj = this.workTypesArrange.find(v => v.key === '物品配送');
3859
+              if(obj){
3860
+                obj.value.push(item);
3861
+              }else{
3862
+                this.workTypesArrange.unshift({ key: '物品配送', value: [item] });
3863
+              }
3778 3864
             }
3779 3865
           });
3780 3866
           console.log('workTypesArrange', this.workTypesArrange);
3781 3867
           // 任务类型是否显示操作项
3782
-          let arr = Object.keys(this.workTypesArrange);
3868
+          let arr = this.workTypesArrange;
3783 3869
           this.workTypesFlag = arr.length >= 5;
3784 3870
           // 默认选中第一项
3785 3871
           if (arr.length > 0) {
3786
-            isFirst ? this.tabClick(arr[0], isInit) : this.tabClick(arr[arr.length - 1], isInit);
3872
+            isFirst ? this.tabClick(arr[0].key, isInit) : this.tabClick(arr[arr.length - 1].key, isInit);
3787 3873
           }
3788 3874
         }
3789 3875
       });
3876
+
3877
+      this.mainService.getTaskTypeCountRemarkList({
3878
+        hosId: this.checkedHos,
3879
+      }).subscribe((data) => {
3880
+        if (data["status"] == 200){
3881
+          this.countRemarkList = data.data || [];
3882
+        }
3883
+      })
3790 3884
     }
3791 3885
   }
3792 3886
   // 终点科室选中
@@ -4126,7 +4220,7 @@ export class FuwutaiComponent implements OnInit {
4126 4220
         (data["endStatus"] == 201 || data["endStatus"] == 203) &&
4127 4221
         this.radioValueZy == this.deathTasktypeId
4128 4222
       ) {
4129
-        if (this.currentTabIndex == "255") {
4223
+        if (this.currentTabIndex == "患者转运") {
4130 4224
           //患者转运
4131 4225
           //获取患者信息
4132 4226
           this.getPatientList(this.endDeptZy, "");
@@ -4134,7 +4228,8 @@ export class FuwutaiComponent implements OnInit {
4134 4228
       }
4135 4229
     });
4136 4230
     // 获取携带物品
4137
-    let arr = this.workTypesArrange[this.currentTabIndex];
4231
+    let arrObj = this.workTypesArrange.find(v => v.key === this.currentTabIndex);
4232
+    let arr = arrObj.value;
4138 4233
     this.goodsNow = arr.filter(
4139 4234
       (item) => item.id == value
4140 4235
     )[0].taskType.carryEquipmentIds;
@@ -4171,10 +4266,7 @@ export class FuwutaiComponent implements OnInit {
4171 4266
       this.yyDate = new Date();
4172 4267
       this.yyTime = null;
4173 4268
       // 预约end
4174
-      this.deptQtList.taskType.customRemarks = this.deptQtList.taskType
4175
-        .customRemarks
4176
-        ? this.deptQtList.taskType.customRemarks.split("$")
4177
-        : [];
4269
+      this.deptQtList.taskType.customRemarks = this.deptQtList.taskType.customRemarks ? this.deptQtList.taskType.customRemarks.split("$") : [];
4178 4270
       // 起点科室
4179 4271
       if (data["startStatus"] == 201) {
4180 4272
         if (this.applyDept) {
@@ -4209,20 +4301,24 @@ export class FuwutaiComponent implements OnInit {
4209 4301
   //新建工单->确定提交
4210 4302
   isGoLoading = false;
4211 4303
   newOrderOk(go?): void {
4212
-    if (this.isYyInspect && this.currentTabIndex == '259') {
4304
+    console.log(this.radioValueQt);
4305
+    let arr = this.workTypesArrange.find(v => v.key === this.currentTabIndex);
4306
+    let objQt = arr.value.find(v => v.id == this.radioValueQt);
4307
+    let objZy = arr.value.find(v => v.id == this.radioValueZy);
4308
+    if (this.isYyInspect && objQt && objQt.associationTypeValue === 'other') {
4213 4309
       this.clickYYFlag = true;
4214 4310
     } else {
4215 4311
       this.clickYYFlag = false;
4216 4312
     }
4217
-    if (this.isYyInspect && this.currentTabIndex == '255') {
4313
+    if (this.isYyInspect && objZy && objZy.associationTypeValue === 'patientTransport') {
4218 4314
       this.clickYYZyFlag = true;
4219 4315
     } else {
4220 4316
       this.clickYYZyFlag = false;
4221 4317
     }
4222 4318
 
4223 4319
     if (
4224
-      (!this.yyTime && this.currentTabIndex == '259' && this.isYyInspect) ||
4225
-      (!this.yyTimeZy && this.currentTabIndex == '255' && this.isYyInspect)
4320
+      (!this.yyTime && objQt && objQt.associationTypeValue === 'other' && this.isYyInspect) ||
4321
+      (!this.yyTimeZy && objZy && objZy.associationTypeValue === 'patientTransport' && this.isYyInspect)
4226 4322
     ) {
4227 4323
       return;
4228 4324
     }
@@ -4232,15 +4328,18 @@ export class FuwutaiComponent implements OnInit {
4232 4328
     } else {
4233 4329
       this.isGoLoading = true;
4234 4330
     }
4235
-    if (this.currentTabIndex == "255") {
4331
+    if (objZy && objZy.associationTypeValue === 'patientTransport') {
4236 4332
       //患者转运
4237 4333
       go === "&go&" ? this.submitFormZy(go) : this.submitFormZy();
4238
-    } else if (this.currentTabIndex == "256") {
4334
+    } else if (objQt && objQt.associationTypeValue === 'specimen') {
4239 4335
       //标本配送
4240 4336
       go === "&go&" ? this.submitFormBbps(go) : this.submitFormBbps();
4241
-    } else if (this.currentTabIndex == "259") {
4337
+    } else if (objQt && objQt.associationTypeValue === 'other') {
4242 4338
       //其他配送
4243 4339
       go === "&go&" ? this.submitFormQt(go) : this.submitFormQt();
4340
+    } else if (objQt && objQt.associationTypeValue === 'ordinary') {
4341
+      //万能交接
4342
+      go === "&go&" ? this.submitFormOrdinary(go) : this.submitFormOrdinary();
4244 4343
     }
4245 4344
   }
4246 4345
 
@@ -4677,7 +4776,7 @@ export class FuwutaiComponent implements OnInit {
4677 4776
         this.searchTaskLoading = false;
4678 4777
         this.searchTaskList = result.data;
4679 4778
         this.searchTaskList.forEach((item) => {
4680
-          item.sid = item.associationTypeId + "_" + item.id;
4779
+          item.sid = item.associationTypeId + "_" + item.id + "_" + item.associationTypeValue;
4681 4780
         });
4682 4781
       }
4683 4782
     });
@@ -4685,11 +4784,15 @@ export class FuwutaiComponent implements OnInit {
4685 4784
   //服务台建单任务类型回车,0_1,0是关联类型,1是任务类型
4686 4785
   changeTaskBuild(e) {
4687 4786
     let arr = e.split("_");
4688
-    this.currentTabIndex = arr[0];
4689
-    if (this.currentTabIndex == "255") {
4787
+    if(arr[2] === 'other' || arr[2] === 'specimen' || arr[2] === 'ordinary'){
4788
+      this.currentTabIndex = '物品配送';
4789
+    }else if(arr[2] === 'patientTransport'){
4790
+      this.currentTabIndex = '患者转运';
4791
+    }
4792
+    if (this.currentTabIndex == "患者转运") {
4690 4793
       //患者其他服务业务
4691 4794
       this.radioValueZy = +arr[1];
4692
-    } else if (this.currentTabIndex == "259") {
4795
+    } else if (this.currentTabIndex == "物品配送") {
4693 4796
       //其他临床服务
4694 4797
       this.radioValueQt = +arr[1];
4695 4798
     }

+ 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'">
97
+        <div class="mb8 w100" *ngIf="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>

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

@@ -2042,6 +2042,10 @@ export class TaskTypeManagementComponent implements OnInit {
2042 2042
     if (this.association.value == "other") {
2043 2043
       this.jyfsType = "other_method";
2044 2044
     }
2045
+    //万能交接服务
2046
+    if (this.association.value == "ordinary") {
2047
+      this.jyfsType = "ordinary_strategy";
2048
+    }
2045 2049
     this.yNum++;
2046 2050
     this.yLoading = true;
2047 2051
     that.mainService.getDictionary("list", this.jyfsType).subscribe((data) => {