Browse Source

拉取代码

maotao 1 week ago
parent
commit
4d66e54a5f

+ 5 - 5
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.html

@@ -154,6 +154,11 @@
154 154
 								  <nz-checkbox-group [(ngModel)]="speStartCollectShowConfig"></nz-checkbox-group>
155 155
 								</div>
156 156
 								
157
+								<!-- 是否允许转派 -->
158
+								<div class="display_flex align-items_center mb8">
159
+								  <nz-form-label class="label">是否允许转派</nz-form-label>
160
+								  <nz-checkbox-group [(ngModel)]="handoverOrder"></nz-checkbox-group>
161
+								</div>
157 162
               </div>
158 163
               <!-- 自动建单配置 -->
159 164
               <div *ngIf="tabModalName=='automaticOrderCreation'">
@@ -336,11 +341,6 @@
336 341
                       <nz-option *ngFor="let item of drugsManualList" [nzLabel]="item.label" [nzValue]="item.value"></nz-option>
337 342
                     </nz-select>
338 343
                   </div>
339
-									<!-- 是否允许转派 -->
340
-									<div class="display_flex align-items_center mb8">
341
-									  <nz-form-label class="label">是否允许转派</nz-form-label>
342
-									  <nz-checkbox-group [(ngModel)]="handoverOrder"></nz-checkbox-group>
343
-									</div>
344 344
                 </ng-container>
345 345
               </div>
346 346
               <!-- 护士打包配置 -->

+ 2 - 2
src/app/components/configurationCenter/configuration-specimen/configuration-specimen.component.ts

@@ -398,6 +398,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
398 398
 			speCollectLimitState: null,
399 399
 			speCollectLimitEndDept: null,
400 400
 			speCollectLimitUrgent: null,
401
+			handoverOrder: this.handoverOrder[0].checked ? 1 : 0,
401 402
 		};
402 403
 		if(this.speCollectLimit[0].checked){
403 404
 			postData.speCollectSupportNotStartDept = this.speCollectSupportNotStartDept[0].checked ? 1 : 0;
@@ -469,7 +470,6 @@ export class ConfigurationSpecimenComponent implements OnInit {
469 470
       spePackageInventoryTypes: this.spePackageInventoryTypes.filter(v => v.checked).map(v => v.value).toString() || undefined,
470 471
       spePackageCreateOrder: this.spePackageCreateOrder[0].checked ? 1 : 0,
471 472
       spePackageCodeSize: this.spePackageCodeSize || undefined,
472
-			handoverOrder: this.handoverOrder[0].checked ? 1 : 0,
473 473
     };
474 474
     this.btnLoading = true;
475 475
     this.mainService
@@ -616,6 +616,7 @@ export class ConfigurationSpecimenComponent implements OnInit {
616 616
 						this.deptNotAlertIds = this.configs.deptNotAlertIds ? this.configs.deptNotAlertIds.split(',').map(v => +v) : [];
617 617
 						this.deptList = this.configs.deptNotAlertList || [];
618 618
             this.speCollectLimit[0].checked = this.configs.speCollectLimit == 1;
619
+						this.handoverOrder[0].checked = this.configs.handoverOrder == 1;
619 620
 						if(this.configs.speCollectLimit == 1){
620 621
 							this.speCollectSupportNotStartDept[0].checked = this.configs.speCollectSupportNotStartDept == 1;
621 622
 							this.speCollectLimitRepeat[0].checked  = this.configs.speCollectLimitRepeat == 1;
@@ -658,7 +659,6 @@ export class ConfigurationSpecimenComponent implements OnInit {
658 659
             this.spePackageInventoryTypes = this.spePackageInventoryTypes.map(v => ({...v, checked: (this.configs.spePackageInventoryTypes || '').split(',').includes(v.value.toString())}));
659 660
             this.spePackageCreateOrder[0].checked = this.configs.spePackageCreateOrder == 1;
660 661
             this.spePackageCodeSize = this.configs.spePackageCodeSize || undefined;
661
-						this.handoverOrder[0].checked = this.configs.handoverOrder == 1;
662 662
 					}
663 663
         }
664 664
       });

+ 44 - 0
src/app/components/configurationCenter/configuration-sys/configuration-sys.component.html

@@ -0,0 +1,44 @@
1
+<div class="content" id="dictionary">
2
+  <div class="contentInner">
3
+<!--    <div class="address">
4
+      <overlay-scrollbars #osComponentRef1 class="contentBody">
5
+        <div class="contentItem" [title]="item.name" [ngClass]="{ active: item.id === activeDictionaryKey.id }" (click)="clickDictionaryKey(item)" *ngFor="let item of hospitalTabList">{{ item.name }}</div>
6
+      </overlay-scrollbars>
7
+    </div> -->
8
+		<div class="addressAssign">
9
+			<div class="hos-title">{{currentHospital.hosName}}</div>
10
+		  <overlay-scrollbars #osComponentRef2 class="contentBody2">
11
+		    <div class="contentBody">
12
+					<div class="mar-10">
13
+						<nz-form-label class="label">院区模式</nz-form-label>
14
+						<nz-radio-group type="active" [(ngModel)]="hospitalModel">
15
+							<label nz-radio [nzValue]="1">单院区模式</label>
16
+							<label nz-radio [nzValue]="-1">多院区模式</label>
17
+						</nz-radio-group>
18
+					</div>
19
+					
20
+					<div class="mar-10">
21
+						<nz-form-label class="label">默认报修类型</nz-form-label>
22
+						<nz-checkbox-group [(ngModel)]="checkOptionsOne"></nz-checkbox-group>
23
+					</div>
24
+					
25
+					<div class="mar-10" *ngIf="checkOptionsOne[1].checked">
26
+						<nz-form-label class="label">申请人是否必填</nz-form-label>
27
+						<nz-radio-group type="active" [(ngModel)]="applicantMustFillIn">
28
+							<label nz-radio [nzValue]="1">是</label>
29
+							<label nz-radio [nzValue]="0">否</label>
30
+						</nz-radio-group>
31
+					</div>
32
+		    </div>
33
+		  	<div class="contentBtns">
34
+		  	  <button nz-button nzType="primary" [nzLoading]="btnLoading" (click)="submitMessageForm()">确定</button>
35
+		  	</div>
36
+		  </overlay-scrollbars>
37
+		</div>
38
+  </div>
39
+</div>
40
+
41
+<!-- 操作成功/失败提示框 -->
42
+<app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
43
+  [info]="promptInfo">
44
+</app-prompt-modal>

+ 217 - 0
src/app/components/configurationCenter/configuration-sys/configuration-sys.component.less

@@ -0,0 +1,217 @@
1
+@import "../../../../../src/theme.less";
2
+:host {
3
+  height: 100%;
4
+  display: flex;
5
+  flex-direction: column;
6
+  justify-content: space-between;
7
+  background-color: #F0F2F5;
8
+	.w220px{
9
+		width: 220px;
10
+	}
11
+	.w100px{
12
+			width: 100px !important;
13
+		}
14
+  .list-template__nzTable,
15
+  .list-template__bottom{
16
+    padding: 0!important;
17
+    border: none!important;
18
+    background: #fff!important;
19
+  }
20
+  .list-template{
21
+    width: 100%!important;
22
+    height: 100%!important;
23
+  }
24
+	
25
+	#dictionary{
26
+	  margin: 24px 16px;
27
+	  .addressAssign{
28
+	    flex: 7;
29
+			.hos-title{
30
+				margin-top: 10px;
31
+				text-align: center;
32
+			}
33
+	  }
34
+	  .contentItem{
35
+	    margin: 0 16px;
36
+	    padding: 8px;
37
+	    text-align: center;
38
+	    &.active{
39
+	      background-color: @primary-color;
40
+	      color: #fff;
41
+	      border-radius: 4px;
42
+	    }
43
+	  }
44
+	  .contentBody{
45
+	    padding: 16px;
46
+	    min-height: 0;
47
+	    display: flex;
48
+	    flex-direction: column;
49
+	  }
50
+	  .contentBody2{
51
+	    flex: 1;
52
+	  }
53
+	  ::ng-deep .ant-form-item{
54
+	    margin-bottom: 0;
55
+	  }
56
+	  .dictionaryRow{
57
+	    display: flex;
58
+	    align-items: center;
59
+	    justify-content: center;
60
+	    gap: 16px;
61
+	    .orders{
62
+	      flex: 1;
63
+	      display: flex;
64
+	      justify-content: flex-end;
65
+	      align-items: center;
66
+	    }
67
+	    .name{
68
+	      width: 100px;
69
+	      display: flex;
70
+	      justify-content: flex-end;
71
+	      align-items: center;
72
+	    }
73
+	    .value{
74
+	      flex: 3;
75
+	      display: flex;
76
+	      align-items: center;
77
+	      .valueInput{
78
+	        width: 600px;
79
+	      }
80
+	      .icon_transport{
81
+	        font-size: 20px;
82
+	        color: #8a8a8a;
83
+	        cursor: pointer;
84
+	      }
85
+	    }
86
+	
87
+	  }
88
+	}
89
+	
90
+	.content{
91
+	  flex: 1;
92
+	  min-height: 0;
93
+	  display: flex;
94
+	  flex-direction: column;
95
+	  justify-content: space-between;
96
+	  border: 1px solid #EEF3F9;
97
+	  &.priority{
98
+	    margin: 24px 118px 0;
99
+	    background-color: #fff;
100
+	    .contentInner{
101
+	      padding: 48px 206px;
102
+	      border: 1px solid #E8EBEF;
103
+	    }
104
+	  }
105
+	  .contentItem{
106
+	    padding: 4px 16px;
107
+	    cursor: pointer;
108
+	    overflow: hidden;
109
+	    text-overflow: ellipsis;
110
+	    white-space: nowrap;
111
+	    &.active{
112
+	      color: @primary-color;
113
+	      background-color: #F0F6ED;
114
+	      border-radius: 4px;
115
+	    }
116
+	  }
117
+	  .contentInner{
118
+	    flex: 1;
119
+	    display: flex;
120
+	    justify-content: space-between;
121
+	    align-items: center;
122
+	    padding: 0 16px;
123
+	    gap: 16px;
124
+			position: relative;
125
+			.hos-title{
126
+				font-weight: 600;
127
+				font-size: 16px;
128
+			}
129
+
130
+			.hospital{
131
+			  width: 100%;
132
+			  text-align: left;
133
+			}
134
+			.classList{
135
+				// padding: 5px 0;
136
+				.mar-10{
137
+					margin: 8px 0;
138
+				}
139
+			  .select{
140
+			    width: 313px;
141
+			  }
142
+			  span{
143
+			    display: inline-block;
144
+			    width: 11em;
145
+			  }
146
+			}
147
+			
148
+	    .contentHead{
149
+	      height: 45px;
150
+	      display: flex;
151
+	      justify-content: space-between;
152
+	      align-items: center;
153
+	      gap: 16px;
154
+	      padding: 0 16px;
155
+	      font-size: 16px;
156
+	      font-weight: bold;
157
+	      border-bottom: 1px solid #D9D9D9;
158
+	      .title{
159
+	        overflow: hidden;
160
+	        text-overflow: ellipsis;
161
+	        white-space: nowrap;
162
+	      }
163
+	      .btns{
164
+	        flex-shrink: 0;
165
+	      }
166
+	    }
167
+	    .contentBody{
168
+	      padding: 0 8px;
169
+	      margin: 4px 0;
170
+	      flex: 1;
171
+	    }
172
+	    .address{
173
+	      flex: 1;
174
+	      height: 100%;
175
+	      background: #FFFFFF;
176
+	      border: 1px solid #E8EBEF;
177
+	      display: flex;
178
+	      flex-direction: column;
179
+	      width: 0;
180
+	    }
181
+	    .addressAssign{
182
+	      flex: 3;
183
+	      height: 100%;
184
+	      background: #FFFFFF;
185
+	      border: 1px solid #E8EBEF;
186
+	      display: flex;
187
+	      flex-direction: column;
188
+	      width: 0;
189
+	    }
190
+	    .list-template__searchItem {
191
+	      margin-bottom: 16px;
192
+	      .label {
193
+	        color: #333;
194
+	        display: inline-block;
195
+	        width: 70px;
196
+	        text-align-last: justify;
197
+	        text-align: justify;
198
+	        &.label--big {
199
+	          width: 100px;
200
+	        }
201
+	      }
202
+	      .formItem {
203
+	        width: 135px;
204
+	      }
205
+	    }
206
+	  }
207
+	  .contentBtns{
208
+	    padding-bottom: 16px;
209
+	    display: flex;
210
+	    justify-content: center;
211
+	    align-items: center;
212
+			position: absolute;
213
+			bottom: 0;
214
+			width: 100%;
215
+	  }
216
+	}
217
+}

+ 156 - 0
src/app/components/configurationCenter/configuration-sys/configuration-sys.component.ts

@@ -0,0 +1,156 @@
1
+import { Component, OnInit, Input } from "@angular/core";
2
+import { ActivatedRoute } from "@angular/router";
3
+import { MainService } from "../../../services/main.service";
4
+import { ToolService } from 'src/app/services/tool.service';
5
+import { NzMessageService } from 'ng-zorro-antd';
6
+
7
+@Component({
8
+  selector: "app-configuration-sys",
9
+  templateUrl: "./configuration-sys.component.html",
10
+  styleUrls: ["./configuration-sys.component.less"],
11
+})
12
+export class ConfigurationSysComponent implements OnInit {
13
+  constructor(
14
+    private route: ActivatedRoute,
15
+    private mainService: MainService,
16
+    private tool: ToolService,
17
+    private message: NzMessageService,
18
+  ) {}
19
+
20
+  coopData: any = {}; //当前操作列
21
+  currentHospital; //当前院区
22
+	maintainDept:any=[];
23
+	hospitalModel:any = 1;
24
+	@Input() hospitalTabList: any[] = [];
25
+	checkOptionsOne = [
26
+		{ label: '科内报修', value: 'deptRepair', checked:false},
27
+		{ label: '公共报修', value: 'publicRepair', checked:false },
28
+	];
29
+	
30
+	// 申请人是否必填
31
+	applicantMustFillIn:any= 0;
32
+	
33
+  ngOnInit() {
34
+		// this.activeDictionaryKey = this.hospitalTabList[0];
35
+		this.maintainDept = this.tool.getUserInfoPermission().dutyList
36
+    this.currentHospital = this.tool.getCurrentHospital();
37
+		this.getSysConfig();
38
+  }
39
+	
40
+  // 新增/编辑表单提交
41
+  btnLoading: boolean = false; //提交按钮loading状态
42
+  submitMessageForm(): void {
43
+		let filterData = this.initConfig.filter(
44
+		  (item) =>
45
+				item.keyconfig === "deptRepair" ||
46
+				item.keyconfig === "publicRepair" ||
47
+				item.keyconfig === "hospitalModel" ||
48
+				item.keyconfig === "applicantMustFillIn"
49
+		)
50
+		filterData.forEach((item) => {
51
+		 if (item.keyconfig === "deptRepair") {
52
+				let value = null
53
+				if(this.checkOptionsOne[0].checked){
54
+					value = '1'
55
+				}else{
56
+					value = '0'
57
+				}
58
+		    item.valueconfig = value;
59
+		  } else if (item.keyconfig === "publicRepair") {
60
+			  let value = null
61
+			  if(this.checkOptionsOne[1].checked){
62
+			  	value = '1'
63
+			  }else{
64
+			  	value = '0'
65
+			  }
66
+			  item.valueconfig = value;
67
+			}else if (item.keyconfig === "hospitalModel") {
68
+		    item.valueconfig = this.hospitalModel;
69
+		  }else if (item.keyconfig === "applicantMustFillIn") {
70
+		    item.valueconfig = this.applicantMustFillIn;
71
+		  }
72
+		});
73
+		const postData = filterData;
74
+		this.btnLoading = true;
75
+		this.mainService.changeSysConfig(postData).subscribe(
76
+		  (result) => {
77
+		    this.btnLoading = false;
78
+		    if (result["status"] == 200) {
79
+		      this.showPromptModal("保存", true, "");
80
+		    } else {
81
+		      this.showPromptModal("保存", false, "");
82
+		    }
83
+		  },
84
+		  (error) => {
85
+		    this.btnLoading = false;
86
+		    this.showPromptModal("保存", false, "");
87
+		  }
88
+		);
89
+  }
90
+
91
+ // 获取系统配置
92
+ loading1:any = false
93
+ initConfig:any;
94
+ config:any;
95
+ getSysConfig() {
96
+	const postData = { idx: 0, sum: 99 };
97
+	this.mainService
98
+		.getFetchDataList("simple/data", "systemConfiguration", postData)
99
+		.subscribe((result) => {
100
+			this.loading1 = false;
101
+			if (result.status == 200) {
102
+				if (result.list && Array.isArray(result.list)) {
103
+					this.initConfig = JSON.parse(JSON.stringify(result.list));
104
+					this.config = result.list.map((item) => {
105
+						return [item.keyconfig, item.valueconfig, item.id, item.label];
106
+					});
107
+					this.config.forEach((c) => {
108
+						switch (c[0]) {
109
+							case "deptRepair":
110
+								if(c[1]=='1'){
111
+									this.checkOptionsOne[0].checked = true
112
+								}else{
113
+									this.checkOptionsOne[0].checked = false
114
+								}
115
+								break;
116
+							case "publicRepair":
117
+								if(c[1]=='1'){
118
+									this.checkOptionsOne[1].checked = true
119
+								}else{
120
+									this.checkOptionsOne[1].checked = false
121
+								}
122
+								break;
123
+							case "hospitalModel":
124
+							console.log(111,c)
125
+								this.hospitalModel =  Number(c[1])
126
+								break;	
127
+							case "applicantMustFillIn":
128
+							console.log(222,c)
129
+								this.applicantMustFillIn =  Number(c[1])
130
+								break;	
131
+						}
132
+					});
133
+				} else {
134
+					this.initConfig = [];
135
+					this.config = [];
136
+				}
137
+			}
138
+		});
139
+  }
140
+
141
+  // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
142
+  promptContent: string; //操作提示框提示信息
143
+  ifSuccess: boolean; //操作成功/失败
144
+  promptInfo: string; //操作结果提示信息
145
+  promptModalShow: boolean; //操作提示框是否展示
146
+  showPromptModal(con, success, promptInfo?) {
147
+    this.promptModalShow = false;
148
+    this.promptContent = con;
149
+    this.ifSuccess = success;
150
+    this.promptInfo = promptInfo;
151
+    setTimeout(() => {
152
+      this.promptModalShow = true;
153
+    }, 100);
154
+    this.getSysConfig();
155
+  }
156
+}

+ 1 - 1
src/app/share/businessData-detail-modal/businessData-detail-modal.component.html

@@ -136,7 +136,7 @@
136 136
         </div>
137 137
       </div>
138 138
       <nz-table *ngIf="type === 'specimen'" class="hospitalTable" [nzData]="specimenList" nzSize="middle" [nzShowPagination]="false"
139
-        [nzLoading]="hsLoading" [nzScroll]="{ y: '500px' }">
139
+        [nzLoading]="hsLoading" [nzScroll]="{ y: '350px' }">
140 140
         <thead>
141 141
           <tr class="thead">
142 142
             <th nzWidth="4%">序号</th>

+ 6 - 4
src/app/share/businessData-detail-modal/businessData-detail-modal.component.less

@@ -54,6 +54,7 @@
54 54
   }
55 55
 
56 56
   .list-template__top{
57
+		padding: 10px 0 !important;
57 58
     div{
58 59
       text-align: left!important;
59 60
     }
@@ -95,7 +96,7 @@
95 96
 		background: #fff;
96 97
 		color: #333;
97 98
 		font-size: 14px;
98
-		padding: 12px 20px;
99
+		padding: 10px 10px;
99 100
 		position: relative;
100 101
 		padding-bottom: 70px;
101 102
     &.modalBody-search {
@@ -105,10 +106,11 @@
105 106
 
106 107
     .title {
107 108
       width: 100%;
108
-      height: 53px;
109
-      line-height: 53px;
109
+      // height: 53px;
110
+      // line-height: 53px;
111
+			padding-bottom: 10px;
110 112
       border-bottom: 1px solid #E8EBEF;
111
-      padding: 0 28px;
113
+      // padding: 0 28px;
112 114
       text-align: center;
113 115
       font-size: 18px;
114 116
       position: relative;

+ 4 - 0
src/app/views/incident-config/incident-config.component.html

@@ -40,6 +40,10 @@
40 40
 	<ng-container *ngIf="activeTagLink === 'incidentConfigCommonFaults'">
41 41
 	  <app-configuration-commonFaults></app-configuration-commonFaults>
42 42
 	</ng-container>
43
+	<!-- 系统配置 -->
44
+	<ng-container *ngIf="activeTagLink === 'sysConfiguration'">
45
+	  <app-configuration-sys></app-configuration-sys>
46
+	</ng-container>
43 47
 </div>
44 48
 
45 49
 

+ 2 - 0
src/app/views/incident-config/incident-config.module.ts

@@ -12,6 +12,7 @@ import { ConfigurationMessageComponent } from 'src/app/components/configurationC
12 12
 import { ConfigurationHospitalComponent } from 'src/app/components/configurationCenter/configuration-hospital/configuration-hospital.component';
13 13
 import { ConfigurationDictionaryModule } from 'src/app/components/configurationCenter/configuration-dictionary/configuration-dictionary.module';
14 14
 import { ConfigurationCommonFaultsComponent } from 'src/app/components/configurationCenter/configuration-commonFaults/configuration-commonFaults.component';
15
+import { ConfigurationSysComponent } from 'src/app/components/configurationCenter/configuration-sys/configuration-sys.component';
15 16
 
16 17
 
17 18
 @NgModule({
@@ -24,6 +25,7 @@ import { ConfigurationCommonFaultsComponent } from 'src/app/components/configura
24 25
     ConfigurationMessageComponent,
25 26
     ConfigurationHospitalComponent,
26 27
     ConfigurationCommonFaultsComponent,
28
+		ConfigurationSysComponent
27 29
   ],
28 30
   imports: [
29 31
     CommonModule,

+ 462 - 0
src/app/views/main/main.component.html

@@ -30,6 +30,7 @@
30 30
     <nz-header>
31 31
       <div class="app-header display_flex justify-content_space-between align-items_center">
32 32
         <div class="left">
33
+					<!-- <i class="icon_transport transport-bg-add green" *ngIf='speediness' (click)="speedinessAdd()" nz-tooltip nzTooltipTitle="新增报修"></i> -->
33 34
           <i class="icon_transport transport-tiaodu-fill green" *ngIf='deskRole' (click)="toFuwutai()" nz-tooltip nzTooltipTitle="调度台"></i>
34 35
           <i class="icon_transport transport-hushizhihanghuligongzuo green" *ngIf="nurseRole" (click)="toHuShi()" nz-tooltip nzTooltipTitle="护士端"></i>
35 36
           <i class="icon_transport transport-peizhi1 green" *ngIf="incidentConfigRole || otherConfigRole || pageConfigRole || nurseConfigRole" (click)="toConfigurationCenter()" nz-tooltip nzTooltipTitle="配置中心"></i>
@@ -154,3 +155,464 @@
154 155
 <app-select-menu (cancelMenuModal)="cancelMenuModal($event)" [iShowMenuModal]="iShowMenuModal"></app-select-menu>
155 156
 <!-- 遮罩 -->
156 157
 <app-mask *ngIf="maskFlag"></app-mask>
158
+
159
+<!-- 新建工单 -->
160
+<div class="newOrder display_flex justify-content_flex-center align-items_center" *ngIf="newOrderShowOpen" (click)="clickExtra($event)">
161
+	<div class="modalBody">
162
+		<div class="title" *ngIf="currentTabIndex === '故障报修'">
163
+			<div class="newTop">
164
+				<div class="name">来电咨询</div>
165
+				<div class="newTopItem">
166
+					<span class="grayFont required">院区:</span>
167
+					<nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzPlaceHolder="请选择院区" [(ngModel)]="incidentModel.hosId" (ngModelChange)="changeApplyHospital($event)" nzAllowClear [nzDisabled]="buildType === '编辑事件'">
168
+						<ng-container *ngFor="let option of applicationHospitalList">
169
+							<nz-option *ngIf="!isLoading" [nzLabel]="option.hosName" [nzValue]="option.id"></nz-option>
170
+						</ng-container>
171
+						<nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
172
+							<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
173
+						</nz-option>
174
+					</nz-select>
175
+				</div>
176
+				<div class="newTopItem" [hidden]="incidentModel.repairIncidentType === 'public'">
177
+					<span class="grayFont required">申请科室:</span>
178
+					<nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeInp('itsm', $event)" nzPlaceHolder="请选择申请科室" [(ngModel)]="incidentModel.department" (ngModelChange)="changeApplyDept($event)" nzAllowClear (nzOpenChange)="openChangeApplyDept($event)">
179
+						<ng-container *ngFor="let option of applicationDeptList">
180
+							<nz-option *ngIf="!isLoadingApply" [nzLabel]="option.dept" [nzValue]="option.id"></nz-option>
181
+						</ng-container>
182
+						<nz-option *ngIf="isLoadingApply" nzDisabled nzCustomContent>
183
+							<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
184
+						</nz-option>
185
+					</nz-select>
186
+				</div>
187
+				<div class="newTopItem">
188
+					<span class="grayFont" [ngClass]="{'required': incidentModel.repairIncidentType === 'public'}">申请人:</span>
189
+					<ng-container *ngIf="buildType === '报修转事件'">{{incidentMsg.requesterName}}</ng-container>
190
+					<ng-container *ngIf="buildType !== '报修转事件'">
191
+						<nz-select style="width: 160px" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('requester', $event)" nzPlaceHolder="请选择申请人" [(ngModel)]="incidentModel.requester" (ngModelChange)="changeApplyRequester($event)" nzAllowClear (nzOpenChange)="openChangeApplyRequester($event)">
192
+							<ng-container *ngFor="let option of applicationRequesterList">
193
+								<nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
194
+							</ng-container>
195
+							<nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
196
+								<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
197
+							</nz-option>
198
+						</nz-select>
199
+						<label [hidden]="incidentModel.repairIncidentType === 'public'" nz-checkbox [(ngModel)]="isRelatedDepartment" (ngModelChange)="changeApplyRelatedDepartment($event)" class="ml8">关联查</label>
200
+					</ng-container>
201
+				</div>
202
+				<div class="newTopItem" *ngIf="incidentModel.incomingPhone">
203
+					<span class="grayFont">来电电话:{{incidentModel.incomingPhone}}</span>
204
+				</div>
205
+				<div class="newTopItem">
206
+					<span class="grayFont">
207
+						<nz-radio-group [nzDisabled]="buildType === '编辑事件'" [(ngModel)]="incidentModel.repairIncidentType" (ngModelChange)="changeRepairIncidentType($event)">
208
+							<label nz-radio [nzValue]="item.value" *ngFor="let item of repairIncidentTypeList">{{item.name}}</label>
209
+						</nz-radio-group>
210
+					</span>
211
+				</div>
212
+			</div>
213
+		</div>
214
+		<div nz-row class="content">
215
+			<div nz-col nzSpan="15" class="col left">
216
+	<!-- 			<div class="tabs">
217
+					<div class="tabs__inner" #tab>
218
+						<div class="tabs__wrap" [style.transform]="'translateX(' + disX + 'px)'">
219
+							<ng-container *ngFor="let item of workTypesArrange;let index = index;">
220
+								<div [ngClass]="{ tab: true, checked: currentTabIndex == item.key}" (click)="tabClick(item.key)" *ngIf="buildType !== '编辑事件' || (buildType === '编辑事件' && item.key == '故障报修')">
221
+									{{ item.key }}
222
+								</div>
223
+							</ng-container>
224
+						</div>
225
+					</div>
226
+					<div class="tabs__operate" *ngIf="workTypesFlag && applyDept">
227
+						<i class="tabs__Icon--right icon_transport transport-xiangzuo" (click)="toLeft()"></i>
228
+						<i class="tabs__Icon--left icon_transport transport-xiangzuo" (click)="toRight()"></i>
229
+					</div>
230
+				</div> -->
231
+				<!-- 底部tab页 -->
232
+				<div class="bottomWrap">
233
+					<ng-container *ngFor="let item of workTypesArrange;let index = index;">
234
+						<!-- 故障报修 -->
235
+						<overlay-scrollbars #osComponentRef15 class="bottom_req" *ngIf="currentTabIndex === '故障报修'">
236
+							<div class="req">
237
+								<div class="row">
238
+									<div class="col flex4">
239
+										<span class="name">详细地址:</span>
240
+										<nz-select class="w100" [(ngModel)]="incidentModel.area" (ngModelChange)="changeApplyBuilding($event)" nzAllowClear nzPlaceHolder="请选择楼栋">
241
+											<nz-option [nzValue]="item.id" [nzLabel]="item.buildingName" *ngFor="let item of applicationBuildingList"></nz-option>
242
+										</nz-select>
243
+									</div>
244
+									<div class="col flex3">
245
+										<nz-select class="w100" [(ngModel)]="incidentModel.place" nzAllowClear nzPlaceHolder="请选择楼层">
246
+											<nz-option [nzValue]="item.id" [nzLabel]="item.floorName" *ngFor="let item of applicationFloorList"></nz-option>
247
+										</nz-select>
248
+									</div>
249
+									<div class="col flex7">
250
+										<input class="addressFocus" nz-input placeholder="请填写详细地址" [(ngModel)]="incidentModel.houseNumber" (focus)="focusAddress()" />
251
+										<div class="addressList" *ngIf="isShowAddressList">
252
+											<ng-container *ngIf="!addressLoading && addressList.length">
253
+												<div class="addressItem ellipsis-oneline" *ngFor="let item of addressList" [title]="item.name" (click)="selectAddress(item.name)">{{item.name}}</div>
254
+											</ng-container>
255
+											<div *ngIf="!addressLoading && !addressList.length" class="w100 h100 padding8 display_flex justify-content_flex-center align-items_center">
256
+												<nz-empty></nz-empty>
257
+											</div>
258
+											<div *ngIf="addressLoading" class="w100 h100 padding8 display_flex justify-content_flex-center align-items_center">
259
+												<nz-spin nzSimple></nz-spin>
260
+											</div>
261
+										</div>
262
+									</div>
263
+								</div>
264
+
265
+								<div class="row">
266
+									<div class="col">
267
+										<span class="name">科室电话:</span>
268
+										<ng-container *ngIf="incidentMsg.deptManyPhone">{{incidentMsg.deptManyPhone|stringToFirstValue}}<em (click)="importPhone(incidentMsg.deptManyPhone, true)">引入</em></ng-container>
269
+									</div>
270
+									<div class="col">
271
+										<span class="name">报修人电话:</span>
272
+										<ng-container *ngIf="incidentMsg.requesterPhone">{{incidentMsg.requesterPhone}}<em (click)="importPhone(incidentMsg.requesterPhone)">引入</em></ng-container>
273
+									</div>
274
+									<div class="col">
275
+										<ng-container *ngIf="buildType !== '编辑事件'">
276
+											<span class="name">来电电话:</span>
277
+											<ng-container *ngIf="incidentModel.incomingPhone">{{incidentModel.incomingPhone}}<em (click)="importPhone(incidentModel.incomingPhone)">引入</em></ng-container>
278
+										</ng-container>
279
+									</div>
280
+								</div>
281
+
282
+								<div class="row">
283
+									<div class="col">
284
+										<span class="name">联系人:</span>
285
+										<input class="w100" nz-input placeholder="请填写联系人" [(ngModel)]="incidentModel.contacts" />
286
+									</div>
287
+									<div class="col">
288
+										<span class="name required">联系电话:</span>
289
+										<input class="w100" nz-input placeholder="请填写联系电话" [(ngModel)]="incidentModel.contactsInformation" />
290
+									</div>
291
+									<div class="col">
292
+										<span class="name">责任部门:</span>
293
+										{{incidentModel.duty ? incidentModel.duty.hosName : ''}}
294
+									</div>
295
+								</div>
296
+
297
+								<div class="row">
298
+									<div class="col">
299
+										<span class="name required">故障现象:</span>
300
+										<nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('category', $event)" nzPlaceHolder="请选择故障现象" [(ngModel)]="incidentModel.category" (ngModelChange)="changeApplyCategory($event)" (nzOpenChange)="openChangeApplyCategory($event)">
301
+											<ng-container *ngFor="let option of applicationCategoryList">
302
+												<nz-option *ngIf="!isLoading" [nzLabel]="option.mutiCategory" [nzValue]="option.id"></nz-option>
303
+											</ng-container>
304
+											<nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
305
+												<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
306
+											</nz-option>
307
+										</nz-select>
308
+									</div>
309
+								</div>
310
+
311
+								<div class="row">
312
+									<div class="col alignItemsStart">
313
+										<span class="name required">故障描述:</span>
314
+										<nz-input-group [nzSuffix]="suffixTemplate">
315
+											<textarea class="w100" nz-input rows="4" placeholder="请填写故障描述" [(ngModel)]="incidentModel.description"></textarea>
316
+										</nz-input-group>
317
+										<span #suffixTemplate class="ant-input-clear-icon ml8" *ngIf="incidentModel.description" (click)="incidentModel.description = null">清空</span>
318
+									</div>
319
+								</div>
320
+
321
+								<div class="row">
322
+									<div class="col">
323
+										<span class="name required">优先级:</span>
324
+										<nz-select class="w100" [(ngModel)]="incidentModel.priorityId" nzAllowClear nzPlaceHolder="请选择优先级" [nzDisabled]="buildType === '编辑事件'">
325
+											<nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationPriorityList"></nz-option>
326
+										</nz-select>
327
+									</div>
328
+									<div class="col">
329
+										<span class="name required">报修来源:</span>
330
+										<nz-select class="w100" [(ngModel)]="incidentModel.source" nzAllowClear nzPlaceHolder="请选择报修来源">
331
+											<nz-option [nzValue]="item.id" [nzLabel]="item.name" *ngFor="let item of applicationSourceList"></nz-option>
332
+										</nz-select>
333
+									</div>
334
+									<div class="col">
335
+										<span class="name">预约时间:</span>
336
+										<nz-date-picker style="width: 150px;" [(ngModel)]="incidentModel.yyTime" nzShowTime></nz-date-picker>
337
+									</div>
338
+								</div>
339
+
340
+								<div class="row">
341
+									<div class="col">
342
+										<span class="name">报修图片:</span>
343
+										<div class="value w100 upload">
344
+											<ng-container *ngIf="repairImgs.length === 0">
345
+												<nz-upload nzListType="picture-card" [(nzFileList)]="fileList" [nzShowUploadList]="showUploadList" [nzPreview]="handlePreview" nzFileType="image/jpeg,image/png" nzAccept="image/jpeg,image/png" [nzShowButton]="fileList.length < 3" [nzBeforeUpload]="beforeUpload" [nzAction]="temporarilyUrl" [nzSize]="10240">
346
+													<i nz-icon nzType="plus"></i>
347
+													<div class="ant-upload-text">上传照片</div>
348
+												</nz-upload>
349
+												<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
350
+													<ng-template #modalContent>
351
+														<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
352
+													</ng-template>
353
+												</nz-modal>
354
+												<div class="tips">(支持JPG/PNG格式图片,单张大小10M以内)</div>
355
+											</ng-container>
356
+											<div class="thumbList" *ngIf="repairImgs.length > 0">
357
+												<div class="thumb" *ngFor="let item of repairImgs;let index = index;" (click)="previewImageHandler(repairImgs, index)"><img [src]="item.thumbFilePath" alt=""></div>
358
+											</div>
359
+										</div>
360
+									</div>
361
+								</div>
362
+
363
+								<div class="row" *ngIf="buildType !== '编辑事件'">
364
+									<div class="col">
365
+										<span class="name required">处理组:</span>
366
+										<nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('group', $event)" nzPlaceHolder="请选择处理组" [(ngModel)]="incidentModel.group" (ngModelChange)="changeApplyGroup($event)" (nzOpenChange)="openChangeApplyGroup($event)">
367
+											<ng-container *ngFor="let option of applicationGroupList">
368
+												<nz-option *ngIf="!isLoading" [nzLabel]="option.groupName" [nzValue]="option.id"></nz-option>
369
+											</ng-container>
370
+											<nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
371
+												<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
372
+											</nz-option>
373
+										</nz-select>
374
+									</div>
375
+									<div class="col">
376
+										<span class="name">处理人:</span>
377
+										<nz-select class="w100" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch (nzOnSearch)="changeCommonInp('user', $event)" nzPlaceHolder="请选择处理人" [(ngModel)]="incidentModel.user" (nzOpenChange)="openChangeApplyUser($event)" nzAllowClear>
378
+											<ng-container *ngFor="let option of applicationUserList">
379
+												<nz-option *ngIf="!isLoading" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
380
+											</ng-container>
381
+											<nz-option *ngIf="isLoading" nzDisabled nzCustomContent>
382
+												<i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
383
+											</nz-option>
384
+										</nz-select>
385
+									</div>
386
+									<div class="col"></div>
387
+								</div>
388
+							</div>
389
+						</overlay-scrollbars>
390
+					</ng-container>
391
+					<!-- loading -->
392
+					<div class="bottom" *ngIf="newLoading">
393
+						<div class="bottom255">
394
+							<div class="txtC">
395
+								<img src="../../../assets/images/loading.gif" alt="" />
396
+								<div>加载中...</div>
397
+							</div>
398
+						</div>
399
+					</div>
400
+				</div>
401
+				<!-- 底部信息提示 -->
402
+				<!-- <div class="bottomInfo" *ngIf="currentTabIndex !== '故障报修'">提示:临床科室建单会更简便哟!</div> -->
403
+			</div>
404
+			<div nz-col nzSpan="9" class="col right">
405
+				<div class="rightTitle">
406
+					<div class="rightTitle_tab" [class.active]="currentRTab == tab.id" *ngFor="let tab of rightTitle_tab;" (click)="rightTitleHandler(tab.id)">{{ tab.name }}</div>
407
+					<span class="toLastTime1"><span class="time" *ngIf="applyDept">{{ orderRefreshTime }}s</span></span>
408
+				</div>
409
+				<!-- 近期配送 start -->
410
+				<div class="cots_body weifenpai" *ngIf="currentRTab == 0" [ngClass]="{ top185: hurseInfoHiding != 1 }">
411
+					<overlay-scrollbars #osComponentRef12 [ngStyle]="{ height: '100%' }">
412
+						<div *ngIf="noArrives.length && !loading4">
413
+							<div class="list listsTypeColor" *ngFor="let data of noArrives">
414
+								<div class="left_cots" (click)="openDetails(data)">
415
+									<!-- 工单 -->
416
+									<div class="gongdan">
417
+										<span class="left">{{ data.taskType.taskName }}({{ data.gdcode }})</span>
418
+										<span class="right">
419
+											<span>{{ data.gdState.name }}</span>
420
+										</span>
421
+									</div>
422
+									<!-- 地点 -->
423
+									<div class="didian">
424
+										<span class="left" *ngIf="data.taskType.associationType.value == 'inspect'">
425
+											{{ data.startDept ? data.startDept.dept : "" }}
426
+											<span *ngFor="let item of data.middleDept">
427
+												->{{ item.dept }}
428
+											</span>
429
+										</span>
430
+										<span class="left" *ngIf="data.taskType.associationType.id != 260">
431
+											{{ data.startDept ? data.startDept.dept : "" }}{{ data.endDepts ? "->" + data.endDepts[0].dept : "" }}
432
+										</span>
433
+										<span class="right" *ngIf="data.goods">
434
+											<i class="icon_transport transport-icon3"></i>
435
+											<span>{{ data.goods }}</span>
436
+										</span>
437
+										<span class="right" *ngIf="data.workOrderRemark" [title]="data.workOrderRemark">
438
+											<i class="icon_transport transport-icon3"></i>
439
+											<span>{{ data.workOrderRemark }}</span>
440
+										</span>
441
+									</div>
442
+									<!-- 时间 -->
443
+									<div class="shijian">
444
+										<span class="left" *ngIf="data.expectTimeNum && data.timeOut != true">
445
+											<i class="icon_transport transport-shouye10" nz-tooltip nzTooltipTitle="进行中"></i>
446
+											<ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.illnessState">
447
+												<i *ngIf="data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
448
+												<i *ngIf="data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
449
+											</ng-container>
450
+											<ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.careLevel">
451
+												<i *ngIf="data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
452
+												<i *ngIf="data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
453
+												<i *ngIf="data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
454
+												<i *ngIf="data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
455
+											</ng-container>
456
+											<span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect'">{{ data.patient.patientName }}<span *ngIf="data.patient.residenceNo">({{ data.patient.residenceNo }})</span></span>
457
+										</span>
458
+										<span class="left" *ngIf="data.timeOutLength && data.timeOut == true">
459
+											<i class="colorRed icon_transport transport-daojishi" nz-tooltip nzTooltipTitle="超时"></i>
460
+											<ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.illnessState">
461
+												<i *ngIf="data.patient.illnessState.value === '2'" class="colorRed icon_transport transport-tubiao_wei" nz-tooltip nzTooltipTitle="病危"></i>
462
+												<i *ngIf="data.patient.illnessState.value === '3'" class="colorRed icon_transport transport-zhong" nz-tooltip nzTooltipTitle="病重"></i>
463
+											</ng-container>
464
+											<ng-container *ngIf="(data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect') && data.patient?.careLevel">
465
+												<i *ngIf="data.patient.careLevel.value === '0'" class="icon_transport transport-te1" nz-tooltip nzTooltipTitle="特级护理"></i>
466
+												<i *ngIf="data.patient.careLevel.value === '1'" class="icon_transport transport-1_round_solid" nz-tooltip nzTooltipTitle="一级护理"></i>
467
+												<i *ngIf="data.patient.careLevel.value === '2'" class="icon_transport transport-2_round_solid" nz-tooltip nzTooltipTitle="二级护理"></i>
468
+												<i *ngIf="data.patient.careLevel.value === '3'" class="icon_transport transport-3_round_solid" nz-tooltip nzTooltipTitle="三级护理"></i>
469
+											</ng-container>
470
+											<span nz-tooltip nzTooltipTitle="患者姓名(住院号)" *ngIf="data.taskType.associationType.value == 'patientTransport' || data.taskType.associationType.value == 'inspect'">{{ data.patient.patientName }}<span *ngIf="data.patient.residenceNo">({{ data.patient.residenceNo }})</span></span>
471
+										</span>
472
+										<span class="right" nz-tooltip [nzTooltipTitle]="'总时长' + formatTime(data.expectTimeNum / 1000)">
473
+											{{ data.showCreateTime }}
474
+										</span>
475
+									</div>
476
+									<!-- 急单 -->
477
+									<img *ngIf="data.emergencyType && data.emergencyType.id == 300" src="../../assets/images/icon_ji.png" alt="" class="ji" />
478
+									<!-- 加急单 -->
479
+									<img *ngIf="data.emergencyType && data.emergencyType.id == 301" src="../../assets/images/icon_jiaji.png" alt="" class="ji" />
480
+								</div>
481
+								<div class="right_bots display_flex col-flex align-items_center justify-content_flex-center">
482
+									<input type="button" *ngIf="data.gdState.value == 2" class="top_bot" value="派单" (click)="allotWorker(data.id, data.gdState.id)" />
483
+									<input type="button" *ngIf="data.gdState.value == 3 || data.gdState.value == 4" class="mid_bot" value="撤回" (click)="openRecallModal(data.id)" />
484
+									<input type="button" *ngIf="data.gdState.value == 2 || data.gdState.value == 3 || data.gdState.value == 4" class="btm_bot" value="删除" (click)="openDelModal(data.id, 'hsms')" />
485
+								</div>
486
+								<div *ngIf="data.timeOut != true" class="slider sgreen" [ngStyle]="{ width: data.percent + '%' }"></div>
487
+								<div *ngIf="data.timeOut == true" class="slider sred" [ngStyle]="{ width: '100%' }"></div>
488
+							</div>
489
+						</div>
490
+						<div class="no_data" *ngIf="noArrives.length == 0 && !loading4">
491
+							暂无数据
492
+						</div>
493
+						<div class="no_data" *ngIf="loading4">
494
+							<div class="loadingFull display_flex justify-content_flex-center align-items_center">
495
+								<div class="loadingFullInner">
496
+									<img src="../../../assets/images/loading.gif" alt="" />
497
+									<div>加载中...</div>
498
+								</div>
499
+							</div>
500
+						</div>
501
+					</overlay-scrollbars>
502
+				</div>
503
+			
504
+				<!-- 近期维修 start -->
505
+				<div class="cots_body weifenpai" *ngIf="currentRTab == 2" [ngClass]="{ top185: hurseInfoHiding != 1 }">
506
+					<overlay-scrollbars #osComponentRef16 [ngStyle]="{ height: '100%' }">
507
+						<div *ngIf="itsmOrders.length && !loading6">
508
+							<div class="list listsTypeColor" *ngFor="let data of itsmOrders">
509
+								<div class="left_cots" style="width: 96%;">
510
+									<!-- 工单 -->
511
+									<div class="gongdan">
512
+										<span class="left">{{ data.incidentsign }}</span>
513
+										<span class="right">
514
+											<span>{{ data.state?.name }}</span>
515
+										</span>
516
+									</div>
517
+									<!-- 描述 -->
518
+									<div class="didian">
519
+										<span class="left">
520
+											{{ data.description }}
521
+										</span>
522
+									</div>
523
+									<!-- 时间 -->
524
+									<div class="shijian">
525
+										<span class="left"></span>
526
+										<span class="right">
527
+											{{ data.acceptDate | date: "MM-dd HH:mm" }}
528
+										</span>
529
+									</div>
530
+								</div>
531
+							</div>
532
+						</div>
533
+						<div class="no_data" *ngIf="itsmOrders.length == 0 && !loading6">
534
+							暂无数据
535
+						</div>
536
+						<div class="no_data" *ngIf="loading6">
537
+							<div class="loadingFull display_flex justify-content_flex-center align-items_center">
538
+								<div class="loadingFullInner">
539
+									<img src="../../../assets/images/loading.gif" alt="" />
540
+									<div>加载中...</div>
541
+								</div>
542
+							</div>
543
+						</div>
544
+					</overlay-scrollbars>
545
+				</div>
546
+				<!-- 近期维修 end -->
547
+				<!-- 知识库 start -->
548
+				<div class="cots_body weifenpai" *ngIf="currentRTab == 3" [ngClass]="{ top185: hurseInfoHiding != 1 }">
549
+					<overlay-scrollbars #osComponentRef17 [ngStyle]="{ height: '100%' }">
550
+						<div *ngIf="knowageList.length && !loading7">
551
+							<div class="list listsTypeColor" *ngFor="let data of knowageList" style="height: auto;overflow: hidden;">
552
+								<div class="left_cots" style="width: 96%;height: auto;">
553
+									<!-- 工单 -->
554
+									<div class="gongdan" style="font-size: 16px;">
555
+										<span class="left ellipsis-oneline w100" nz-tooltip [nzTooltipTitle]="data.title">{{data.title}}</span>
556
+									</div>
557
+									<!-- 描述 -->
558
+									<div class="didian" style="font-size: 12px;height: auto;">
559
+										<span class="left noEllipsis">{{data.content | stripHtml}}</span>
560
+									</div>
561
+									<!-- 时间 -->
562
+									<div class="shijian" style="height: auto;line-height: normal;overflow: hidden;padding-bottom: 16px;">
563
+										<span class="right">
564
+											<button nz-button nzType="primary" (click)="importKnowage(data)">引用</button>
565
+											<button class="ml8" nz-button nzType="primary" (click)="showKnowledgeModal(data)">查看</button>
566
+										</span>
567
+									</div>
568
+								</div>
569
+							</div>
570
+						</div>
571
+						<div class="no_data" *ngIf="knowageList.length == 0 && !loading7">
572
+							暂无数据
573
+						</div>
574
+						<div class="no_data" *ngIf="loading7">
575
+							<div class="loadingFull display_flex justify-content_flex-center align-items_center">
576
+								<div class="loadingFullInner">
577
+									<img src="../../../assets/images/loading.gif" alt="" />
578
+									<div>加载中...</div>
579
+								</div>
580
+							</div>
581
+						</div>
582
+					</overlay-scrollbars>
583
+				</div>
584
+				<!-- 知识库 end -->
585
+			</div>
586
+		</div>
587
+		<div class="btns display_flex justify-content_flex-center align-items_center">
588
+			<ng-container *ngIf="applyDept && currentTabIndex !== '故障报修'">
589
+				<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')">
590
+					继续建单
591
+				</button>
592
+				<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')">
593
+					{{isYyInspect ? '预约建单' :'直接建单'}}
594
+				</button>
595
+			</ng-container>
596
+			<ng-container *ngIf="currentTabIndex === '故障报修' && buildType !== '编辑事件'">
597
+				<label nz-checkbox [(ngModel)]="isBuildOrderAgagin" *ngIf="buildType !== '报修转事件' && buildType !== '留言转事件' && buildType !== '继续建单'">是否连续建单</label>
598
+				<button nz-button class="btn" nzType="primary" (click)="directOrder()">
599
+					直接解决
600
+				</button>
601
+				<button nz-button class="btn" nzType="primary" (click)="assignOrder()">
602
+					建单并派单
603
+				</button>
604
+				<button nz-button class="btn" nzType="primary" (click)="temporaryStorage()">
605
+					暂存
606
+				</button>
607
+			</ng-container>
608
+			<ng-container *ngIf="currentTabIndex === '故障报修' && buildType === '编辑事件'">
609
+				<button nz-button class="btn" nzType="primary" (click)="saveOrder()">
610
+					保存
611
+				</button>
612
+			</ng-container>
613
+			<button class="btn cancel" nz-button nzType="default" (click)="newOrderCancel()">
614
+				取消
615
+			</button>
616
+		</div>
617
+	</div>
618
+</div>

File diff suppressed because it is too large
+ 3414 - 2
src/app/views/main/main.component.ts


+ 2 - 4
src/app/views/sys-config/sys-config.component.html

@@ -189,15 +189,13 @@
189 189
             <nz-input-number class="w100" formControlName="refreshNurseWorkOrderTime" [nzMin]="15" [nzStep]="1" [nzPrecision]="0" [nzFormatter]="formatterSecond" [nzParser]="parserSecond"></nz-input-number>
190 190
           </nz-form-control>
191 191
         </nz-form-item>
192
-				<nz-form-item class="formItem">
192
+<!-- 				<nz-form-item class="formItem">
193 193
 				  <nz-form-label [nzSpan]="10" nzFor="repairs" nzRequired class="label">报修方式支持
194 194
 				  </nz-form-label>
195 195
 				  <nz-form-control [nzSpan]="14" nzErrorTip="报修方式支持是必填项!">
196 196
 						<nz-checkbox-group formControlName="repairs" [(ngModel)]="checkOptionsOne" ></nz-checkbox-group>
197
-						<!-- <label nz-checkbox formControlName="deptRepair" [(ngModel)]="deptRepair">科内报修</label> -->
198
-						<!-- <label nz-checkbox formControlName="publicRepair" [(ngModel)]="publicRepair">公共报修</label> -->
199 197
 					</nz-form-control>
200
-				</nz-form-item>
198
+				</nz-form-item> -->
201 199
 				<nz-form-item class="formItem">
202 200
 				  <nz-form-label [nzSpan]="10" nzFor="cmdbRepair" nzRequired class="label">是否支持资产报修
203 201
 				  </nz-form-label>

+ 26 - 3
src/assets/iconfont/demo_index.html

@@ -55,6 +55,12 @@
55 55
           <ul class="icon_lists dib-box">
56 56
           
57 57
             <li class="dib">
58
+              <span class="icon icon_transport">&#xe671;</span>
59
+                <div class="name">bg-add</div>
60
+                <div class="code-name">&amp;#xe671;</div>
61
+              </li>
62
+          
63
+            <li class="dib">
58 64
               <span class="icon icon_transport">&#xe674;</span>
59 65
                 <div class="name">打包</div>
60 66
                 <div class="code-name">&amp;#xe674;</div>
@@ -1080,9 +1086,9 @@
1080 1086
 <pre><code class="language-css"
1081 1087
 >@font-face {
1082 1088
   font-family: 'icon_transport';
1083
-  src: url('iconfont.woff2?t=1746761473702') format('woff2'),
1084
-       url('iconfont.woff?t=1746761473702') format('woff'),
1085
-       url('iconfont.ttf?t=1746761473702') format('truetype');
1089
+  src: url('iconfont.woff2?t=1747898804538') format('woff2'),
1090
+       url('iconfont.woff?t=1747898804538') format('woff'),
1091
+       url('iconfont.ttf?t=1747898804538') format('truetype');
1086 1092
 }
1087 1093
 </code></pre>
1088 1094
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -1109,6 +1115,15 @@
1109 1115
         <ul class="icon_lists dib-box">
1110 1116
           
1111 1117
           <li class="dib">
1118
+            <span class="icon icon_transport transport-bg-add"></span>
1119
+            <div class="name">
1120
+              bg-add
1121
+            </div>
1122
+            <div class="code-name">.transport-bg-add
1123
+            </div>
1124
+          </li>
1125
+          
1126
+          <li class="dib">
1112 1127
             <span class="icon icon_transport transport-dabao"></span>
1113 1128
             <div class="name">
1114 1129
               打包
@@ -2649,6 +2664,14 @@
2649 2664
           
2650 2665
             <li class="dib">
2651 2666
                 <svg class="icon svg-icon" aria-hidden="true">
2667
+                  <use xlink:href="#transport-bg-add"></use>
2668
+                </svg>
2669
+                <div class="name">bg-add</div>
2670
+                <div class="code-name">#transport-bg-add</div>
2671
+            </li>
2672
+          
2673
+            <li class="dib">
2674
+                <svg class="icon svg-icon" aria-hidden="true">
2652 2675
                   <use xlink:href="#transport-dabao"></use>
2653 2676
                 </svg>
2654 2677
                 <div class="name">打包</div>

+ 7 - 3
src/assets/iconfont/iconfont.css

@@ -1,8 +1,8 @@
1 1
 @font-face {
2 2
   font-family: "icon_transport"; /* Project id 4543613 */
3
-  src: url('iconfont.woff2?t=1746761473702') format('woff2'),
4
-       url('iconfont.woff?t=1746761473702') format('woff'),
5
-       url('iconfont.ttf?t=1746761473702') format('truetype');
3
+  src: url('iconfont.woff2?t=1747898804538') format('woff2'),
4
+       url('iconfont.woff?t=1747898804538') format('woff'),
5
+       url('iconfont.ttf?t=1747898804538') format('truetype');
6 6
 }
7 7
 
8 8
 .icon_transport {
@@ -13,6 +13,10 @@
13 13
   -moz-osx-font-smoothing: grayscale;
14 14
 }
15 15
 
16
+.transport-bg-add:before {
17
+  content: "\e671";
18
+}
19
+
16 20
 .transport-dabao:before {
17 21
   content: "\e674";
18 22
 }

File diff suppressed because it is too large
+ 1 - 1
src/assets/iconfont/iconfont.js


+ 7 - 0
src/assets/iconfont/iconfont.json

@@ -6,6 +6,13 @@
6 6
   "description": "",
7 7
   "glyphs": [
8 8
     {
9
+      "icon_id": "11882929",
10
+      "name": "bg-add",
11
+      "font_class": "bg-add",
12
+      "unicode": "e671",
13
+      "unicode_decimal": 58993
14
+    },
15
+    {
9 16
       "icon_id": "9807812",
10 17
       "name": "打包",
11 18
       "font_class": "dabao",

BIN
src/assets/iconfont/iconfont.ttf


BIN
src/assets/iconfont/iconfont.woff


BIN
src/assets/iconfont/iconfont.woff2