seimin %!s(int64=3) %!d(string=hai) anos
pai
achega
f8dbb1bd21

+ 67 - 31
src/app/views/hushijiandan/hushijiandan.component.html

@@ -945,62 +945,74 @@
945 945
                 </div>
946 946
               </div>
947 947
               <!-- 快捷报修 -->
948
-              <div *ngIf="checkedTableType == 'kjbx'" style="flex: 1; height: 100%">
949
-                <form nz-form [formGroup]="bxForm" (ngSubmit)="submitBxForm()" class="bxForm">
948
+              <div *ngIf="checkedTableType == 'kjbx'" style="flex: 1; height: 100%;display:flex;">
949
+                <form nz-form [formGroup]="bxForm" (ngSubmit)="submitBxForm()" class="bxForm bxFlex">
950 950
                   <nz-form-item>
951
-                    <nz-form-label [nzSpan]="10" nzRequired nzFor="name">联系人</nz-form-label>
952
-                    <nz-form-control [nzSpan]="8" nzErrorTip="请填写联系人">
951
+                    <nz-form-label [nzSpan]="8" nzRequired nzFor="name">联系人</nz-form-label>
952
+                    <nz-form-control [nzSpan]="12" nzErrorTip="请填写联系人">
953 953
                       <input type="text" nz-input formControlName="name" placeholder="请填写联系人" />
954 954
                     </nz-form-control>
955 955
                   </nz-form-item>
956 956
                   <nz-form-item>
957
-                    <nz-form-label [nzSpan]="10" nzRequired nzFor="phone">联系人电话</nz-form-label>
958
-                    <nz-form-control [nzSpan]="8" nzErrorTip="请填写联系人电话">
957
+                    <nz-form-label [nzSpan]="8" nzRequired nzFor="phone">联系人电话</nz-form-label>
958
+                    <nz-form-control [nzSpan]="12" nzErrorTip="请填写联系人电话">
959 959
                       <input type="text" nz-input formControlName="phone" placeholder="请填写联系人电话" />
960 960
                     </nz-form-control>
961 961
                   </nz-form-item>
962 962
                   <nz-form-item>
963
-                    <nz-form-label [nzSpan]="10" nzFor="hospital" nzRequired>所属院区</nz-form-label>
964
-                    <nz-form-control [nzSpan]="8" nzErrorTip="请选择所属院区!">
965
-                      <nz-select
966
-                        formControlName="hospital"
967
-                        nzPlaceHolder="请选择所属院区"
968
-                        (ngModelChange)="getPlace($event)"
969
-                      >
963
+                    <nz-form-label [nzSpan]="8" nzFor="hospital" nzRequired>所属院区</nz-form-label>
964
+                    <nz-form-control [nzSpan]="12" nzErrorTip="请选择所属院区!">
965
+                      <nz-select formControlName="hospital" nzPlaceHolder="请选择所属院区" (ngModelChange)="getPlace($event)">
970 966
                         <nz-option [nzValue]="area.id" [nzLabel]="area.area" *ngFor="let area of areas"></nz-option>
971 967
                       </nz-select>
972 968
                     </nz-form-control>
973 969
                   </nz-form-item>
974 970
                   <nz-form-item>
975
-                    <nz-form-label [nzSpan]="10" nzFor="building" nzRequired>楼栋</nz-form-label>
976
-                    <nz-form-control [nzSpan]="8" nzErrorTip="请选择楼栋!">
977
-                      <nz-select
978
-                        formControlName="building"
979
-                        nzPlaceHolder="请选择楼栋"
980
-                      >
981
-                        <nz-option [nzValue]="place.id" [nzLabel]="place.place" *ngFor="let place of places"></nz-option>
971
+                    <nz-form-label [nzSpan]="8" nzFor="building" nzRequired>楼栋</nz-form-label>
972
+                    <nz-form-control [nzSpan]="12" nzErrorTip="请选择楼栋!">
973
+                      <nz-select formControlName="building" nzPlaceHolder="请选择楼栋">
974
+                        <nz-option [nzValue]="place.id" [nzLabel]="place.place" *ngFor="let place of places">
975
+                        </nz-option>
982 976
                       </nz-select>
983 977
                     </nz-form-control>
984 978
                   </nz-form-item>
985 979
                   <nz-form-item>
986
-                    <nz-form-label [nzSpan]="10" nzRequired>详细地址</nz-form-label>
987
-                    <nz-form-control [nzSpan]="8" nzErrorTip="请填写详细地址">
980
+                    <nz-form-label [nzSpan]="8" nzRequired>详细地址</nz-form-label>
981
+                    <nz-form-control [nzSpan]="12" nzErrorTip="请填写详细地址">
988 982
                       <textarea formControlName="address" nz-input rows="2" placeholder="请填写详细地址"></textarea>
989 983
                     </nz-form-control>
990 984
                   </nz-form-item>
991 985
                   <nz-form-item>
992
-                    <nz-form-label [nzSpan]="10" nzRequired>报修内容</nz-form-label>
993
-                    <nz-form-control [nzSpan]="8" nzErrorTip="请填写报修内容">
986
+                    <nz-form-label [nzSpan]="8" nzRequired>报修内容</nz-form-label>
987
+                    <nz-form-control [nzSpan]="12" nzErrorTip="请填写报修内容">
994 988
                       <textarea formControlName="content" nz-input rows="2" placeholder="请填写报修内容"></textarea>
995 989
                     </nz-form-control>
996 990
                   </nz-form-item>
997 991
                   <nz-form-item>
998
-                    <nz-form-label [nzSpan]="10" style="visibility: hidden;"></nz-form-label>
999
-                    <nz-form-control [nzSpan]="8">
992
+                    <nz-form-label [nzSpan]="8" style="visibility: hidden;"></nz-form-label>
993
+                    <nz-form-control [nzSpan]="12">
1000 994
                       <button nz-button nzType="primary" [nzLoading]="bxLoading">提交</button>
1001 995
                     </nz-form-control>
1002 996
                   </nz-form-item>
1003 997
                 </form>
998
+                <nz-table class="bxFlex bxTable" [nzData]="quickBxlbList" nzSize="small" [nzShowPagination]="false"
999
+                  [nzLoading]="quickBxlbLoading">
1000
+                  <thead>
1001
+                    <tr class="thead">
1002
+                      <th nzWidth="7%" style="min-width: 50px;">序号</th>
1003
+                      <th nzWidth="93%">快速报修内容</th>
1004
+                    </tr>
1005
+                  </thead>
1006
+                  <tbody>
1007
+                    <tr (click)="showBxModal(data,'您的报修为“'+data.content+'” 是否确认报修?')" *ngFor="
1008
+                            let data of quickBxlbList;
1009
+                            let i = index
1010
+                          ">
1011
+                      <td>{{ i + 1 }}</td>
1012
+                      <td>{{ data.content||'无' }}</td>
1013
+                    </tr>
1014
+                  </tbody>
1015
+                </nz-table>
1004 1016
               </div>
1005 1017
               <!-- 报修列表 -->
1006 1018
               <div *ngIf="checkedTableType == 'bxlb'" style="flex: 1; height: 100%">
@@ -1027,8 +1039,8 @@
1027 1039
                 </div>
1028 1040
                 <div class="table">
1029 1041
                   <div class="box">
1030
-                    <nz-table class="hospitalTable" [nzData]="bxlbList" nzSize="middle"
1031
-                      [nzShowPagination]="false" [nzLoading]="bxlbLoading">
1042
+                    <nz-table class="hospitalTable" [nzData]="bxlbList" nzSize="middle" [nzShowPagination]="false"
1043
+                      [nzLoading]="bxlbLoading">
1032 1044
                       <thead>
1033 1045
                         <tr class="thead">
1034 1046
                           <th nzWidth="7%">序号</th>
@@ -1063,8 +1075,7 @@
1063 1075
                     </nz-table>
1064 1076
                     <div class="pagination">
1065 1077
                       <nz-pagination [(nzPageIndex)]="bxlbPageIndex" [(nzTotal)]="bxlbListLength"
1066
-                        [(nzPageSize)]="bxlbPageSize" (nzPageIndexChange)="getBxlb()"
1067
-                        (nzPageSizeChange)="getBxlb()">
1078
+                        [(nzPageSize)]="bxlbPageSize" (nzPageIndexChange)="getBxlb()" (nzPageSizeChange)="getBxlb()">
1068 1079
                       </nz-pagination>
1069 1080
                     </div>
1070 1081
                   </div>
@@ -1994,6 +2005,31 @@
1994 2005
     </div>
1995 2006
   </div>
1996 2007
 </div>
2008
+<!-- 是否确认报修模态框 -->
2009
+<div class="
2010
+    commonModal
2011
+    display_flex
2012
+    justify-content_flex-center
2013
+    align-items_center
2014
+  " *ngIf="bxModal">
2015
+  <div class="modalBody">
2016
+    <div class="title">
2017
+      提示<i class="icon_transport transport-guanbi" (click)="hideBxModal()"></i>
2018
+    </div>
2019
+    <div class="content">
2020
+      <div class="icon"><i class="icon_transport transport-wenhao"></i></div>
2021
+      <div class="defeat">{{ tipsMsg2 }}</div>
2022
+    </div>
2023
+    <div class="display_flex justify-content_flex-center">
2024
+      <button nz-button nzType="primary" (click)="confirmBx()" [nzLoading]="loading6">
2025
+        确认
2026
+      </button>
2027
+      <button class="btn cancel" nz-button nzType="default" (click)="hideBxModal()">
2028
+        取消
2029
+      </button>
2030
+    </div>
2031
+  </div>
2032
+</div>
1997 2033
 
1998 2034
 <!-- 消息弹框模板 -->
1999 2035
 <ng-template #msgTemplate let-msg="data">
@@ -2024,7 +2060,7 @@
2024 2060
   (closeModelHs)="closeModelHistory($event)"></app-history-prompt-modal>
2025 2061
 <!-- 报修详情查看 -->
2026 2062
 <app-bx-prompt-modal *ngIf="bxPromptModalShow" [show]="bxPromptModalShow" [bData]="bData"
2027
-(closeModelHs)="closeModelBx($event)"></app-bx-prompt-modal>
2063
+  (closeModelHs)="closeModelBx($event)"></app-bx-prompt-modal>
2028 2064
 
2029 2065
 <!-- 科室二维码模态框 -->
2030 2066
 <!-- 在模态框所在的 div 添加属性 [appDrag] -->

+ 161 - 45
src/app/views/hushijiandan/hushijiandan.component.less

@@ -1,24 +1,68 @@
1 1
 @import "../../../../src/theme.less";
2
+
2 3
 :host {
3 4
   width: 100%;
4 5
   height: 100%;
5 6
   display: flex;
6
-  .bxForm{
7
+
8
+  .bxForm {
7 9
     margin-top: 16px;
8 10
   }
11
+
12
+  .bxFlex {
13
+    flex: 1;
14
+  }
15
+
16
+  .bxTable {
17
+    ::ng-deep .ant-table-body {
18
+      margin: 0 !important;
19
+    }
20
+
21
+    tr {
22
+      cursor: pointer;
23
+    }
24
+
25
+    th,
26
+    td {
27
+      text-align: center;
28
+    }
29
+
30
+    .thead {
31
+      background-image: linear-gradient(to right,
32
+          @bg-start,
33
+          @bg-end );
34
+      padding: 10px 0;
35
+
36
+      th {
37
+        background: transparent;
38
+        color: #fff;
39
+        text-align: center;
40
+        font-size: 14px;
41
+
42
+        &.txtL {
43
+          text-align: left;
44
+        }
45
+      }
46
+    }
47
+  }
48
+
9 49
   .yyTime {
10 50
     display: flex;
11 51
     align-items: center;
12 52
     flex-direction: column;
13 53
   }
54
+
14 55
   .yyTimeError {
56
+
15 57
     ::ng-deep .ant-time-picker-input,
16 58
     ::ng-deep .ant-calendar-picker-input {
17 59
       border: 1px solid red !important;
18 60
     }
19 61
   }
62
+
20 63
   .pos {
21 64
     position: relative;
65
+
22 66
     .pos-item {
23 67
       position: absolute;
24 68
       left: 100px;
@@ -26,15 +70,18 @@
26 70
       z-index: 9;
27 71
     }
28 72
   }
73
+
29 74
   .addRemarks {
30 75
     color: @primary-color;
31 76
     cursor: pointer;
32 77
   }
78
+
33 79
   .orderThis {
34 80
     color: @primary-color;
35 81
     border: 1px solid @primary-color;
36 82
     margin-left: 8px;
37 83
   }
84
+
38 85
   .nzContent {
39 86
     position: absolute;
40 87
     top: 88px;
@@ -43,6 +90,7 @@
43 90
     right: 0;
44 91
     height: 100%;
45 92
   }
93
+
46 94
   .modal {
47 95
     // 相对于 background 定位, 位置暂时设置为 0,0,0,0 在指令中将其位置水平垂直居中在页面中间
48 96
     position: absolute;
@@ -59,10 +107,12 @@
59 107
     border: 1px solid #e5e9ed;
60 108
     overflow: hidden;
61 109
     cursor: move;
110
+
62 111
     .drag-title {
63 112
       height: 50px;
64 113
       line-height: 50px;
65 114
       position: relative;
115
+
66 116
       h2 {
67 117
         height: 100%;
68 118
         font-size: 18px;
@@ -70,6 +120,7 @@
70 120
         text-align: center;
71 121
         margin: 0;
72 122
       }
123
+
73 124
       .icon-close {
74 125
         position: absolute;
75 126
         top: 0;
@@ -79,6 +130,7 @@
79 130
         color: #dde1e5;
80 131
       }
81 132
     }
133
+
82 134
     .dialog-center {
83 135
       width: 235px;
84 136
       height: 208px;
@@ -87,6 +139,7 @@
87 139
       margin: 0 auto;
88 140
       border-radius: 30px;
89 141
       position: relative;
142
+
90 143
       .dialog-code {
91 144
         width: 180px;
92 145
         height: 200px;
@@ -97,30 +150,36 @@
97 150
         right: 0;
98 151
         bottom: 0;
99 152
         left: 0;
153
+
100 154
         img {
101 155
           width: 100%;
102 156
         }
103 157
       }
104 158
     }
159
+
105 160
     .dialog-operate {
106 161
       display: flex;
107 162
       height: 40px;
108 163
       justify-content: space-between;
109 164
       align-items: center;
110 165
       font-size: 14px;
166
+
111 167
       .dialog-refresh {
112 168
         color: @primary-color;
113 169
         margin-left: 40px;
114 170
         cursor: pointer;
115 171
       }
172
+
116 173
       span {
117 174
         color: #999;
118 175
         margin-right: 40px;
119 176
       }
120 177
     }
121 178
   }
179
+
122 180
   // }
123 181
 }
182
+
124 183
 // 查看标本详情 start
125 184
 .noData33 {
126 185
   height: 100%;
@@ -129,6 +188,7 @@
129 188
   align-items: center;
130 189
   font-weight: bold;
131 190
 }
191
+
132 192
 .loading33 {
133 193
   height: 100%;
134 194
   display: flex;
@@ -136,6 +196,7 @@
136 196
   align-items: center;
137 197
   flex-direction: column;
138 198
 }
199
+
139 200
 .detailModel {
140 201
   position: fixed;
141 202
   left: 0;
@@ -147,6 +208,7 @@
147 208
   justify-content: center;
148 209
   align-items: center;
149 210
   z-index: 999999;
211
+
150 212
   .box {
151 213
     width: 1000px;
152 214
     height: 580px;
@@ -156,6 +218,7 @@
156 218
     flex-direction: column;
157 219
     align-items: center;
158 220
     position: relative;
221
+
159 222
     .transport-guanbi {
160 223
       position: absolute;
161 224
       right: 16px;
@@ -164,6 +227,7 @@
164 227
       color: #8e9d9e;
165 228
       cursor: pointer;
166 229
     }
230
+
167 231
     .title {
168 232
       height: 50px;
169 233
       line-height: 50px;
@@ -172,6 +236,7 @@
172 236
       color: #333;
173 237
       font-weight: bold;
174 238
     }
239
+
175 240
     .table {
176 241
       width: 960px;
177 242
       height: 474px;
@@ -181,52 +246,60 @@
181 246
       display: flex;
182 247
       justify-content: center;
183 248
       align-items: center;
249
+
184 250
       .table-content {
185 251
         width: 896px;
186 252
         height: 420px;
187 253
         background-color: #fff;
188 254
         border-radius: 8px;
189 255
         border: 1px solid #e5e9ed;
256
+
190 257
         table {
191 258
           width: 100%;
192 259
           font-size: 14px;
193 260
           color: #333;
261
+
194 262
           th,
195 263
           td {
196 264
             text-align: center !important;
197 265
             width: 167px;
198 266
             height: 100%;
267
+
199 268
             &:first-of-type {
200 269
               width: 59px;
201 270
             }
202 271
           }
272
+
203 273
           thead {
204 274
             display: block;
205 275
             width: 100%;
206 276
             height: 40px;
207 277
             line-height: 40px;
208
-            background-image: linear-gradient(
209
-              90deg,
210
-              @bg-end 0%,
211
-              @bg-start 100%
212
-            );
278
+            background-image: linear-gradient(90deg,
279
+                @bg-end 0%,
280
+                @bg-start 100%);
281
+
213 282
             tr {
214 283
               height: 40px;
215 284
               color: #fff;
216 285
             }
217 286
           }
287
+
218 288
           tbody {
219 289
             display: block;
220 290
             width: 894px;
221 291
             height: 380px;
222 292
             overflow-x: hidden;
223 293
             overflow-y: auto;
294
+
224 295
             tr {
225 296
               height: 34px;
226 297
               line-height: 34px;
298
+
227 299
               td:last-child {
228 300
                 position: relative;
229 301
               }
302
+
230 303
               td {
231 304
                 .ji {
232 305
                   position: absolute;
@@ -234,8 +307,7 @@
234 307
                   top: -3px;
235 308
                   width: 41px;
236 309
                   height: 42px;
237
-                  background: url(./../../../assets/images/icon_ji.png)
238
-                    no-repeat 3px 0;
310
+                  background: url(./../../../assets/images/icon_ji.png) no-repeat 3px 0;
239 311
                 }
240 312
               }
241 313
             }
@@ -243,11 +315,13 @@
243 315
         }
244 316
       }
245 317
     }
318
+
246 319
     .btns {
247 320
       flex: 1;
248 321
       display: flex;
249 322
       justify-content: center;
250 323
       align-items: center;
324
+
251 325
       .btn {
252 326
         width: 120px;
253 327
         height: 34px;
@@ -263,25 +337,30 @@
263 337
     }
264 338
   }
265 339
 }
340
+
266 341
 // 查看标本详情 end
267 342
 
268 343
 .nurse {
269 344
   width: 100%;
270 345
   height: 100%;
346
+
271 347
   .otherBox {
272 348
     position: absolute;
273 349
     width: 100%;
274 350
     height: 100%;
275 351
     padding: 16px;
352
+
276 353
     .otherBoxInner {
277 354
       height: 100%;
278 355
       border: 1px solid #dde1e5;
279 356
       display: flex;
357
+
280 358
       .otherBox-nav {
281 359
         width: 20%;
282 360
         border-right: 1px solid #dde1e5;
283 361
         display: flex;
284 362
         flex-direction: column;
363
+
285 364
         .otherBox-nav__head {
286 365
           height: 50px;
287 366
           display: flex;
@@ -290,21 +369,26 @@
290 369
           align-items: center;
291 370
           padding-left: 8px;
292 371
           padding-right: 8px;
372
+
293 373
           input {
294 374
             height: 36px;
295 375
           }
296 376
         }
377
+
297 378
         .otherBox-nav__main {
298 379
           flex: 1;
299 380
           position: relative;
381
+
300 382
           ::ng-deep .os-content {
301 383
             height: 100% !important;
302 384
           }
385
+
303 386
           .otherBox-nav__mainInner {
304 387
             display: flex;
305 388
             flex-direction: column;
306 389
             align-items: center;
307 390
             margin-top: 16px;
391
+
308 392
             &.noData,
309 393
             &.oLoading {
310 394
               position: absolute;
@@ -313,6 +397,7 @@
313 397
               height: 100%;
314 398
               margin-top: 0;
315 399
             }
400
+
316 401
             .otherBox-nav__mainItem {
317 402
               line-height: 26px;
318 403
               color: #333;
@@ -323,6 +408,7 @@
323 408
               overflow: hidden;
324 409
               text-overflow: ellipsis;
325 410
               white-space: nowrap;
411
+
326 412
               &.active {
327 413
                 color: @primary-color;
328 414
                 background-color: #f0f6ed;
@@ -331,37 +417,45 @@
331 417
           }
332 418
         }
333 419
       }
420
+
334 421
       .otherBox-main {
335 422
         flex: 1;
336 423
         display: flex;
337 424
         flex-direction: column;
425
+
338 426
         .otherBox-main__main {
339 427
           position: relative;
340 428
           flex: 1;
429
+
341 430
           .modalBody {
342 431
             position: absolute;
343 432
             width: 100%;
344 433
             height: 100%;
345 434
             display: flex;
346 435
           }
436
+
347 437
           .modalBody_left {
348 438
             width: 50%;
349 439
             height: 100%;
350 440
             display: flex;
351 441
             flex-direction: column;
352 442
             justify-content: space-between;
443
+
353 444
             &.nLoading,
354 445
             &.noData {
355 446
               justify-content: center;
356 447
               align-items: center;
448
+
357 449
               img {
358 450
                 width: 24px;
359 451
               }
452
+
360 453
               div {
361 454
                 display: inline-block;
362 455
               }
363 456
             }
364 457
           }
458
+
365 459
           .modalBody_left_box {
366 460
             min-height: calc(100vh - 279px);
367 461
             height: 100%;
@@ -371,6 +465,7 @@
371 465
             flex-direction: column;
372 466
             justify-content: space-between;
373 467
           }
468
+
374 469
           .modalBody_right_head {
375 470
             font-size: 16px;
376 471
             font-weight: bold;
@@ -378,12 +473,14 @@
378 473
             padding-bottom: 8px;
379 474
             display: flex;
380 475
             justify-content: space-between;
476
+
381 477
             span {
382 478
               font-weight: normal;
383 479
               font-size: 14px;
384 480
               color: @primary-color;
385 481
             }
386 482
           }
483
+
387 484
           .modalBody_right_box {
388 485
             box-sizing: border-box;
389 486
             padding: 0 8px;
@@ -391,6 +488,7 @@
391 488
             flex-direction: column;
392 489
             justify-content: center;
393 490
           }
491
+
394 492
           .modalBody_right {
395 493
             width: 50%;
396 494
             height: 100%;
@@ -399,15 +497,18 @@
399 497
             justify-content: center;
400 498
             border-left: 1px solid #dde1e5;
401 499
             padding: 8px;
500
+
402 501
             .modalBody_right_list {
403 502
               text-align: justify;
404 503
               border-bottom: 1px solid #dde1e5;
405 504
               padding: 8px 0;
505
+
406 506
               b {
407 507
                 color: @primary-color;
408 508
               }
409 509
             }
410 510
           }
511
+
411 512
           .modalBody_box {
412 513
             position: absolute;
413 514
             width: 100%;
@@ -422,16 +523,20 @@
422 523
               flex-direction: column;
423 524
               justify-content: center;
424 525
               align-items: center;
425
-              & > div {
526
+
527
+              &>div {
426 528
                 width: 100%;
427 529
               }
530
+
428 531
               .shortcutForm {
429 532
                 width: 100%;
533
+
430 534
                 .ant-form-item-label {
431 535
                   text-align: left;
432 536
                 }
433 537
               }
434 538
             }
539
+
435 540
             .btns {
436 541
               padding-bottom: 16px;
437 542
               padding-top: 16px;
@@ -441,6 +546,7 @@
441 546
       }
442 547
     }
443 548
   }
549
+
444 550
   .layout {
445 551
     background: #fff;
446 552
   }
@@ -528,6 +634,7 @@
528 634
           overflow: hidden;
529 635
           padding-right: 10%;
530 636
           background: #0f2e3b;
637
+
531 638
           &.inspect {
532 639
             .item {
533 640
               min-height: 132px;
@@ -565,14 +672,17 @@
565 672
               justify-content: center;
566 673
               font-size: 14px;
567 674
               border-bottom: 1px solid #284450;
675
+
568 676
               i {
569 677
                 color: @primary-color;
570 678
                 font-size: 20px;
571 679
                 font-weight: normal;
572 680
                 margin-right: 4px;
681
+
573 682
                 &.colorRed {
574 683
                   color: red;
575 684
                 }
685
+
576 686
                 &.transport-te1 {
577 687
                   font-size: 22px;
578 688
                 }
@@ -581,6 +691,7 @@
581 691
 
582 692
             .checkInfo {
583 693
               padding: 8px 0;
694
+
584 695
               .transport-zhongdianguanzhu {
585 696
                 cursor: pointer;
586 697
               }
@@ -595,11 +706,9 @@
595 706
             }
596 707
 
597 708
             .btn {
598
-              background-image: linear-gradient(
599
-                90deg,
600
-                @bg-start 0%,
601
-                @bg-end 100%
602
-              );
709
+              background-image: linear-gradient(90deg,
710
+                  @bg-start 0%,
711
+                  @bg-end 100%);
603 712
               line-height: 28px;
604 713
               text-align: center;
605 714
               border-radius: 4px;
@@ -660,12 +769,14 @@
660 769
           font-size: 22px;
661 770
           color: #333;
662 771
           flex: 1;
772
+
663 773
           .updateTipsForNurses {
664 774
             margin: 0;
665 775
             width: 50%;
666 776
             line-height: normal;
667 777
             font-size: 14px;
668 778
           }
779
+
669 780
           .nurseCode {
670 781
             width: 80px;
671 782
             font-size: 14px;
@@ -675,6 +786,7 @@
675 786
             align-items: center;
676 787
             margin-right: 40px;
677 788
             cursor: pointer;
789
+
678 790
             .nurseCodeIcon {
679 791
               margin-right: 8px;
680 792
               font-size: 24px;
@@ -709,9 +821,11 @@
709 821
               margin-right: 8px;
710 822
             }
711 823
           }
824
+
712 825
           .userInfo-wrap {
713 826
             display: flex;
714 827
             justify-content: flex-end;
828
+
715 829
             .logOut {
716 830
               display: inline-block;
717 831
               text-align: right;
@@ -767,8 +881,7 @@
767 881
               width: 56px;
768 882
               height: 56px;
769 883
               margin-top: 6px;
770
-              background: url(../../../assets/images/icon_hushebei2.png) center
771
-                no-repeat;
884
+              background: url(../../../assets/images/icon_hushebei2.png) center no-repeat;
772 885
             }
773 886
 
774 887
             &:nth-child(2n) {
@@ -802,7 +915,7 @@
802 915
         width: 100%;
803 916
         height: 100%;
804 917
 
805
-        & > div {
918
+        &>div {
806 919
           height: 100%;
807 920
 
808 921
           &:nth-child(1) {
@@ -849,11 +962,9 @@
849 962
 
850 963
                   .btn {
851 964
                     height: 48%;
852
-                    background-image: linear-gradient(
853
-                      90deg,
854
-                      @bg-start 0%,
855
-                      @bg-end 100%
856
-                    );
965
+                    background-image: linear-gradient(90deg,
966
+                        @bg-start 0%,
967
+                        @bg-end 100%);
857 968
                     border-radius: 4px;
858 969
                     color: #fff;
859 970
                     padding: 0;
@@ -928,6 +1039,7 @@
928 1039
               line-height: 60px;
929 1040
               cursor: default;
930 1041
               overflow: hidden;
1042
+
931 1043
               .cur {
932 1044
                 height: 100%;
933 1045
                 border-radius: 4px;
@@ -935,6 +1047,7 @@
935 1047
                 background-size: 400% 100%;
936 1048
                 color: #333;
937 1049
                 border: 1px solid #e5e9ed;
1050
+
938 1051
                 .text {
939 1052
                   width: 100%;
940 1053
                   text-align: center;
@@ -943,6 +1056,7 @@
943 1056
                   top: 50%;
944 1057
                   transform: translate(-50%, -50%);
945 1058
                 }
1059
+
946 1060
                 .arrow {
947 1061
                   width: 20px;
948 1062
                   text-align: center;
@@ -950,7 +1064,8 @@
950 1064
                   font-size: 30px;
951 1065
                   top: 45%;
952 1066
                   transform: translateY(-50%);
953
-                  left: 140px; /* 移动130~150px */
1067
+                  left: 140px;
1068
+                  /* 移动130~150px */
954 1069
                   /* 调用动画 */
955 1070
                   animation-name: arrow_move;
956 1071
                   /* 持续时间 */
@@ -960,7 +1075,7 @@
960 1075
                 }
961 1076
               }
962 1077
 
963
-              & > div {
1078
+              &>div {
964 1079
                 padding: 0 8px;
965 1080
               }
966 1081
 
@@ -973,11 +1088,9 @@
973 1088
                 width: 104px;
974 1089
                 height: 34px;
975 1090
                 line-height: 34px;
976
-                background-image: linear-gradient(
977
-                  90deg,
978
-                  @bg-start 0%,
979
-                  @bg-end 100%
980
-                );
1091
+                background-image: linear-gradient(90deg,
1092
+                    @bg-start 0%,
1093
+                    @bg-end 100%);
981 1094
                 border-radius: 4px;
982 1095
                 color: #fff;
983 1096
                 border: none;
@@ -1003,11 +1116,9 @@
1003 1116
                 }
1004 1117
 
1005 1118
                 &:nth-child(2) {
1006
-                  background-image: linear-gradient(
1007
-                    135deg,
1008
-                    @bg-start 0%,
1009
-                    @bg-end 100%
1010
-                  );
1119
+                  background-image: linear-gradient(135deg,
1120
+                      @bg-start 0%,
1121
+                      @bg-end 100%);
1011 1122
                   border: solid 1px @primary-color;
1012 1123
                   margin-left: 8px;
1013 1124
                 }
@@ -1046,11 +1157,9 @@
1046 1157
                 }
1047 1158
 
1048 1159
                 .thead {
1049
-                  background-image: linear-gradient(
1050
-                    to right,
1051
-                    @bg-start,
1052
-                    @bg-end
1053
-                  );
1160
+                  background-image: linear-gradient(to right,
1161
+                      @bg-start,
1162
+                      @bg-end );
1054 1163
                   padding: 10px 0;
1055 1164
 
1056 1165
                   th {
@@ -1138,7 +1247,7 @@
1138 1247
             z-index: 9;
1139 1248
             background: #fff;
1140 1249
 
1141
-            & > span {
1250
+            &>span {
1142 1251
               font-size: 16px;
1143 1252
               color: #666;
1144 1253
               font-weight: 500;
@@ -1184,6 +1293,7 @@
1184 1293
                     width: 100%;
1185 1294
                     overflow: hidden;
1186 1295
                     position: relative;
1296
+
1187 1297
                     .icon_ji {
1188 1298
                       position: absolute;
1189 1299
                       right: -3px;
@@ -1426,6 +1536,7 @@
1426 1536
       overflow: hidden;
1427 1537
       margin-top: 12px;
1428 1538
       padding: 16px 10px;
1539
+
1429 1540
       &.bb {
1430 1541
         display: flex;
1431 1542
         justify-content: center;
@@ -1457,6 +1568,7 @@
1457 1568
             .linkCheckCheck {
1458 1569
               text-indent: 7px;
1459 1570
               margin-top: 0;
1571
+
1460 1572
               .priority {
1461 1573
                 color: #d81e06;
1462 1574
               }
@@ -1479,6 +1591,7 @@
1479 1591
           }
1480 1592
         }
1481 1593
       }
1594
+
1482 1595
       .shortcutForm {
1483 1596
         padding-top: 20px;
1484 1597
 
@@ -1500,6 +1613,7 @@
1500 1613
         text-align: center;
1501 1614
         color: #666;
1502 1615
         padding: 8px 0;
1616
+
1503 1617
         &.jiTitB {
1504 1618
           color: @primary-color;
1505 1619
           font-size: 12px;
@@ -1507,7 +1621,7 @@
1507 1621
         }
1508 1622
       }
1509 1623
 
1510
-      & > div {
1624
+      &>div {
1511 1625
         margin: 0;
1512 1626
 
1513 1627
         &.title {
@@ -1592,6 +1706,7 @@
1592 1706
     }
1593 1707
   }
1594 1708
 }
1709
+
1595 1710
 .commonModal {
1596 1711
   position: fixed;
1597 1712
   left: 0;
@@ -1635,7 +1750,7 @@
1635 1750
       overflow: hidden;
1636 1751
       margin-top: 12px;
1637 1752
 
1638
-      & > div {
1753
+      &>div {
1639 1754
         text-align: center;
1640 1755
         margin: 0;
1641 1756
 
@@ -1666,6 +1781,7 @@
1666 1781
           color: #666;
1667 1782
         }
1668 1783
       }
1784
+
1669 1785
       .roundRobinTips {
1670 1786
         font-size: 12px;
1671 1787
       }
@@ -1726,7 +1842,7 @@
1726 1842
     z-index: 88;
1727 1843
   }
1728 1844
 
1729
-  & > .left {
1845
+  &>.left {
1730 1846
     width: 480px;
1731 1847
     float: left;
1732 1848
     background: #fff;
@@ -1755,7 +1871,7 @@
1755 1871
               padding: 15px 6px;
1756 1872
               text-align: center;
1757 1873
 
1758
-              & > .tdiv {
1874
+              &>.tdiv {
1759 1875
                 overflow: hidden;
1760 1876
 
1761 1877
                 .name {
@@ -1792,7 +1908,7 @@
1792 1908
       }
1793 1909
 
1794 1910
       .conditions {
1795
-        & > .ant-row {
1911
+        &>.ant-row {
1796 1912
           margin: 8px 0;
1797 1913
 
1798 1914
           .ant-row {

+ 78 - 6
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -237,9 +237,9 @@ export class HushijiandanComponent implements OnInit {
237 237
     this.mainService.fetchListBx('area', { idx: 0, sum: 1000 }).subscribe((result: any) => {
238 238
       if (result.status == 200) {
239 239
         this.areas = result.list;
240
-        if(this.areas.length){
240
+        if (this.areas.length) {
241 241
           this.bxForm.controls.hospital.setValue(this.areas[0].id);
242
-        }else{
242
+        } else {
243 243
           this.bxForm.controls.hospital.setValue(null);
244 244
         }
245 245
       }
@@ -252,9 +252,9 @@ export class HushijiandanComponent implements OnInit {
252 252
     this.mainService.fetchListBx('place', { idx: 0, sum: 1000, place: { area: { id: buildingId } } }).subscribe((result: any) => {
253 253
       if (result.status == 200) {
254 254
         this.places = result.list;
255
-        if(this.places.length){
255
+        if (this.places.length) {
256 256
           this.bxForm.controls.building.setValue(this.places[0].id);
257
-        }else{
257
+        } else {
258 258
           this.bxForm.controls.building.setValue(null);
259 259
         }
260 260
       }
@@ -744,6 +744,61 @@ export class HushijiandanComponent implements OnInit {
744 744
       }
745 745
     );
746 746
   }
747
+  // 是否确定报修模态框
748
+  bxModal: boolean = false; //模态框
749
+  loading6 = false;
750
+  tipsMsg2: string; //提示框信息
751
+  coopBx: any; //当前操作列
752
+  showBxModal(data: any, tipsMsg2: string) {
753
+    this.bxModal = true;
754
+    this.coopBx = data;
755
+    this.tipsMsg2 = tipsMsg2;
756
+  }
757
+  // 隐藏模态框
758
+  hideBxModal() {
759
+    this.bxModal = false;
760
+  }
761
+  // 确认
762
+  confirmBx() {
763
+    this.loading6 = true;
764
+    this.mainService.wxbx({}).subscribe(result => {
765
+      if ((result as any).status == 200) {
766
+        let bxcode = (result as any).data;//生成微信报修号
767
+        let postData: any = {
768
+          verification: "true",
769
+          incident: {
770
+            contacts: this.loginUser.name,
771
+            contactsInformation: this.loginUser.phone,
772
+            description: this.coopBx.content,
773
+            requester: { account: this.loginUser.account },
774
+            sourceType: "wechatUserIncident",
775
+            fileUrl: "url",
776
+            bxcode
777
+          },
778
+          loginUser: {
779
+            account: this.loginUser.account,
780
+            id: this.loginUser.id
781
+          }
782
+        };
783
+        if (this.coopBx.category) {
784
+          postData.incident.categoryId = this.coopBx.category.id
785
+        }
786
+        this.mainService.addWxIncident(postData).subscribe(res => {
787
+          this.loading6 = false;
788
+          this.bxModal = false;
789
+          if ((res as any).state == 200) {
790
+            this.showPromptModal("提交", true, "");
791
+            this.checkTable('bxlb');
792
+          } else {
793
+            this.showPromptModal("提交", false, (res as any).msg);
794
+          }
795
+        })
796
+      } else {
797
+        this.loading6 = false;
798
+        this.showPromptModal("提交", false, "");
799
+      }
800
+    })
801
+  }
747 802
 
748 803
   // 获取当前登录人科室任务类型信息
749 804
   othersList: any = []; // 其他一键建单列表
@@ -2287,6 +2342,7 @@ export class HushijiandanComponent implements OnInit {
2287 2342
     } else if (type === "bxlb") {
2288 2343
       this.getBxlb();
2289 2344
     } else if (type === "kjbx") {
2345
+      this.getQuickBxlb();
2290 2346
       // 获取报修的区域(所属院区)
2291 2347
       this.getArea();
2292 2348
       this.bxForm.controls.name.setValue(this.loginUser.name);
@@ -2302,6 +2358,7 @@ export class HushijiandanComponent implements OnInit {
2302 2358
       this.bxForm.controls[i].markAsDirty();
2303 2359
       this.bxForm.controls[i].updateValueAndValidity();
2304 2360
     }
2361
+    if (this.bxForm.invalid) return;
2305 2362
     this.bxLoading = true;
2306 2363
     this.mainService.wxbx({}).subscribe(result => {
2307 2364
       if ((result as any).status == 200) {
@@ -2330,11 +2387,11 @@ export class HushijiandanComponent implements OnInit {
2330 2387
           if ((res as any).state == 200) {
2331 2388
             this.showPromptModal("提交", true, "");
2332 2389
             this.checkTable('bxlb');
2333
-          }else{
2390
+          } else {
2334 2391
             this.showPromptModal("提交", false, (res as any).msg);
2335 2392
           }
2336 2393
         })
2337
-      }else{
2394
+      } else {
2338 2395
         this.bxLoading = false;
2339 2396
         this.showPromptModal("提交", false, "");
2340 2397
       }
@@ -2440,6 +2497,21 @@ export class HushijiandanComponent implements OnInit {
2440 2497
       });
2441 2498
   }
2442 2499
 
2500
+  //快速报修列表
2501
+  quickBxlbLoading = false;
2502
+  quickBxlbList = [];
2503
+  getQuickBxlb() {
2504
+    this.quickBxlbLoading = true;
2505
+    this.mainService
2506
+      .fetchListBx("incidentCategoryContent", { idx: 0, sum: 10 })
2507
+      .subscribe((data: any) => {
2508
+        this.quickBxlbLoading = false;
2509
+        if (data.status == 200) {
2510
+          this.quickBxlbList = data.list || [];
2511
+        }
2512
+      });
2513
+  }
2514
+
2443 2515
   // 意见箱-查看模态框
2444 2516
   adviceModal: boolean = false;
2445 2517
   adviceDetailInfo: any = {}; //意见详情