seimin 1 rok temu
rodzic
commit
f5ccbb08d8

+ 2 - 2
proxy.conf.json

@@ -1,6 +1,6 @@
1 1
 {
2 2
   "/service": {
3
-    "target": "http://192.168.3.108",
3
+    "target": "http://192.168.4.163",
4 4
     "logLevel": "debug",
5 5
     "changeOrigin": true,
6 6
     "pathRewrite": {
@@ -8,7 +8,7 @@
8 8
     }
9 9
   },
10 10
   "/file": {
11
-    "target": "http://192.168.3.108",
11
+    "target": "http://192.168.4.163",
12 12
     "logLevel": "debug",
13 13
     "changeOrigin": true,
14 14
     "pathRewrite": {

+ 1 - 1
src/app/views/hushijiandan/hushijiandan.component.ts

@@ -3110,7 +3110,7 @@ export class HushijiandanComponent implements OnInit {
3110 3110
         nzDuration: 0,
3111 3111
       }).messageId;
3112 3112
       this.mainService
3113
-      .postCustom("api", "compareWorkTime", {taskTypeId, deptId})
3113
+      .postCustom("api", "compareWorkTime", {taskTypeId, deptId, yyTime: order.yyTime})
3114 3114
       .subscribe((data) => {
3115 3115
         this.message.remove(maskFlag);
3116 3116
         if(data.state == 200){

+ 65 - 6
src/app/views/limit-initiation-time/limit-initiation-time.component.html

@@ -19,19 +19,21 @@
19 19
             <th nzWidth="10%">限制方式</th>
20 20
             <th nzWidth="10%">时间限制</th>
21 21
             <th nzWidth="10%">提示备注</th>
22
+            <th nzWidth="10%">是否限制发起数量</th>
22 23
             <th nzWidth="25%">操作</th>
23 24
           </tr>
24 25
         </thead>
25 26
         <tbody>
26 27
           <tr *ngFor="let data of listOfData;let index = index">
27 28
             <td>{{index+(pageIndex-1) * pageSize + 1}}</td>
28
-            <td>{{data.taskTypeDTO ? data.taskTypeDTO.taskName : '-'}}</td>
29
+            <td>{{data.taskNames || '-'}}</td>
29 30
             <td>{{data.limitAllDept == 1 ? '是' : '否'}}</td>
30 31
             <td>{{data.buildingListNames || '-'}}</td>
31 32
             <td>{{data.deptListNames || '-'}}</td>
32 33
             <td>{{data.limitType == 1 ? '仅提示允许建单' : (data.limitType == 2 ? '提示不允许建单' : '-')}}</td>
33 34
             <td>{{data.startTime | date: 'HH:mm'}} ~ {{data.endTime | date: 'HH:mm'}}</td>
34 35
             <td>{{data.remark || '-'}}</td>
36
+            <td>{{data.limitNum == 1 ? '是' : '否'}}</td>
35 37
             <td>
36 38
               <div class="coop">
37 39
                 <span *ngIf="coopBtns.del&&!data.status" (click)="showDelModal(data,'您确认要删除此方案吗?','删除','del')">删除</span>
@@ -58,7 +60,7 @@
58 60
           <nz-form-item>
59 61
             <nz-form-label [nzSpan]="24" nzRequired nzFor="taskType">任务类型</nz-form-label>
60 62
             <nz-form-control nzErrorTip="请选择任务类型!">
61
-              <nz-select class="formItem" (nzOnSearch)="changeInp($event, 'taskType')" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzPlaceHolder="请选择任务类型" formControlName="taskType" (nzOpenChange)="getTaskTypeList($event)">
63
+              <nz-select class="formItem" nzMode="multiple" (nzOnSearch)="changeInp($event, 'taskType')" [nzDropdownMatchSelectWidth]="false" nzServerSearch nzShowSearch nzPlaceHolder="请选择任务类型" formControlName="taskType" (nzOpenChange)="getTaskTypeList($event)">
62 64
                 <ng-container *ngFor="let option of taskTypeList">
63 65
                   <nz-option *ngIf="!isLoading" [nzLabel]="option.taskName" [nzValue]="option.id"></nz-option>
64 66
                 </ng-container>
@@ -106,23 +108,32 @@
106 108
           <nz-form-item>
107 109
             <nz-form-label [nzSpan]="5" nzRequired nzFor="limitType">限制方式</nz-form-label>
108 110
             <nz-form-control [nzSpan]="19" nzErrorTip="请选择限制方式!">
109
-              <nz-radio-group formControlName="limitType">
111
+              <nz-radio-group formControlName="limitType" (ngModelChange)="changeLimitType($event)">
110 112
                 <label nz-radio [nzValue]="1">仅提示允许建单</label>
111 113
                 <label nz-radio [nzValue]="2">提示不允许建单</label>
112 114
               </nz-radio-group>
113 115
             </nz-form-control>
114 116
           </nz-form-item>
117
+          <nz-form-item *ngIf="validateForm.value.limitType == 2">
118
+            <nz-form-label [nzSpan]="8" nzRequired nzFor="limitDispatchDesk">调度台是否限制</nz-form-label>
119
+            <nz-form-control [nzSpan]="16" nzErrorTip="请选择调度台是否限制!">
120
+              <nz-radio-group formControlName="limitDispatchDesk">
121
+                <label nz-radio [nzValue]="1">是</label>
122
+                <label nz-radio [nzValue]="0">否</label>
123
+              </nz-radio-group>
124
+            </nz-form-control>
125
+          </nz-form-item>
115 126
           <nz-form-item>
116
-            <nz-form-label [nzSpan]="5" nzRequired nzFor="limitType">时间限制</nz-form-label>
127
+            <nz-form-label [nzSpan]="5" nzRequired nzFor="startTime">时间限制</nz-form-label>
117 128
             <nz-form-control [nzSpan]="19" nzErrorTip="请选择时间限制!">
118 129
               <nz-time-picker nzFormat="HH:mm" formControlName="startTime" [nzDisabledHours]="startTimeHourdis" [nzDisabledMinutes]="startTimeMindis" (nzOpenChange)="timeChange($event,'startTime')">
119 130
             </nz-time-picker>
120 131
             -
121 132
             <nz-time-picker nzFormat="HH:mm" formControlName="endTime" [nzDisabledHours]="endTimeHourdis" [nzDisabledMinutes]="endTimeMindis" (nzOpenChange)="timeChange($event,'endTime')"></nz-time-picker>
122 133
             </nz-form-control>
123
-            <div style="text-align: left;color: red;" *ngIf="(validateForm.value.startTime||validateForm.value.endTime)&&!(validateForm.value.startTime&&validateForm.value.endTime)">请选择完整的时间限制</div>
134
+            <div style="text-align: left;color: red;" *ngIf="(!validateForm.value.startTime||!validateForm.value.endTime)||!(validateForm.value.startTime&&validateForm.value.endTime)">请选择完整的时间限制</div>
124 135
           </nz-form-item>
125
-          <nz-form-item>
136
+          <nz-form-item *ngIf="validateForm.value.limitNum == 0">
126 137
             <nz-form-label [nzSpan]="24" nzRequired nzFor="remark">提示备注</nz-form-label>
127 138
             <nz-form-control nzErrorTip="请输入提示备注!">
128 139
               <nz-input-group>
@@ -130,6 +141,54 @@
130 141
               </nz-input-group>
131 142
             </nz-form-control>
132 143
           </nz-form-item>
144
+          <!-- new -->
145
+          <nz-form-item>
146
+            <nz-form-label [nzSpan]="8" nzRequired nzFor="limitNum">是否限制发起数量</nz-form-label>
147
+            <nz-form-control [nzSpan]="16" nzErrorTip="请选择是否限制发起数量!">
148
+              <nz-radio-group formControlName="limitNum" (ngModelChange)="changeLimitNum($event)">
149
+                <label nz-radio [nzValue]="1">是</label>
150
+                <label nz-radio [nzValue]="0">否</label>
151
+              </nz-radio-group>
152
+            </nz-form-control>
153
+          </nz-form-item>
154
+          <nz-form-item *ngIf="validateForm.value.limitNum == 1">
155
+            <nz-form-label [nzSpan]="5" nzRequired nzFor="limitTime">限制时间</nz-form-label>
156
+            <nz-form-control [nzSpan]="19" nzErrorTip="请选择限制时间!">
157
+              <nz-radio-group formControlName="limitTime">
158
+                <label nz-radio nzValue="0.5">每半小时</label>
159
+                <label nz-radio nzValue="1">每一小时</label>
160
+              </nz-radio-group>
161
+            </nz-form-control>
162
+          </nz-form-item>
163
+          <nz-form-item *ngIf="validateForm.value.limitNum == 1">
164
+            <nz-form-label [nzSpan]="8" nzRequired nzFor="fqLimitNum">发起限制数量</nz-form-label>
165
+            <nz-form-control [nzSpan]="16" nzErrorTip="请选择发起限制数量!">
166
+              <nz-input-number formControlName="fqLimitNum" [nzMin]="0" [nzStep]="1" [nzPrecision]="0"></nz-input-number>
167
+            </nz-form-control>
168
+          </nz-form-item>
169
+          <nz-form-item *ngIf="validateForm.value.limitNum == 1">
170
+            <nz-form-label [nzSpan]="8" nzRequired nzFor="yyLimitNum">预约限制数量</nz-form-label>
171
+            <nz-form-control [nzSpan]="16" nzErrorTip="请选择预约限制数量!">
172
+              <nz-input-number formControlName="yyLimitNum" [nzMin]="0" [nzStep]="1" [nzPrecision]="0"></nz-input-number>
173
+            </nz-form-control>
174
+          </nz-form-item>
175
+          <nz-form-item *ngIf="validateForm.value.limitNum == 1">
176
+            <nz-form-label [nzSpan]="24" nzRequired nzFor="createRemark"><span class="mr8">建单限制提示备注</span><span *ngFor="let item of variableNamesCreate; let last = last;" (click)="writeIn(item, $event, 'createRemark')"><strong style="cursor:pointer;color: #266CA4;">{{item}}</strong><em *ngIf="!last">、</em><em *ngIf="last">。</em></span></nz-form-label>
177
+            <nz-form-control nzErrorTip="请输入建单限制提示备注!">
178
+              <nz-input-group>
179
+                <input nz-input formControlName="createRemark" placeholder="请输入建单限制提示备注" />
180
+              </nz-input-group>
181
+            </nz-form-control>
182
+          </nz-form-item>
183
+          <nz-form-item *ngIf="validateForm.value.limitNum == 1">
184
+            <nz-form-label [nzSpan]="24" nzRequired nzFor="yyLimitRemark"><span class="mr8">预约限制提示备注</span><span *ngFor="let item of variableNamesYy; let last = last;" (click)="writeIn(item, $event, 'yyLimitRemark')"><strong style="cursor:pointer;color: #266CA4;">{{item}}</strong><em *ngIf="!last">、</em><em *ngIf="last">。</em></span></nz-form-label>
185
+            <nz-form-control nzErrorTip="请输入预约限制提示备注!">
186
+              <nz-input-group>
187
+                <input nz-input formControlName="yyLimitRemark" placeholder="请输入预约限制提示备注" />
188
+              </nz-input-group>
189
+            </nz-form-control>
190
+          </nz-form-item>
191
+
133 192
         </form>
134 193
       </div>
135 194
       <div class=" display_flex justify-content_flex-center">

+ 2 - 0
src/app/views/limit-initiation-time/limit-initiation-time.component.less

@@ -114,6 +114,8 @@
114 114
 
115 115
             .ant-form-item-label {
116 116
               text-align: left;
117
+              position: relative;
118
+              z-index: 999;
117 119
             }
118 120
 
119 121
             .desc {

+ 125 - 5
src/app/views/limit-initiation-time/limit-initiation-time.component.ts

@@ -61,6 +61,26 @@ export class LimitInitiationTimeComponent implements OnInit {
61 61
     this.getList(1);
62 62
   }
63 63
 
64
+  // 写入
65
+  variableNamesCreate = ['[$待接单数量$]', '[$执行中数量$]'];
66
+  variableNamesYy = ['[$预约单数量$]'];
67
+  writeIn(content, event, type){
68
+    var element = event.target.parentElement.parentElement.parentElement.parentElement.getElementsByTagName('input')[0];
69
+    if (element.selectionStart || element.selectionStart == '0') {
70
+        var startPos = element.selectionStart;
71
+        var endPos = element.selectionEnd;
72
+        this.validateForm.controls[type].setValue(element.value.substring(0, startPos) + content + element.value.substring(endPos));
73
+        element.focus();
74
+        setTimeout(() => {
75
+          element.setSelectionRange(startPos + content.length, startPos + content.length);
76
+        },0)
77
+    } else {
78
+        var val = element.value + content;
79
+        this.validateForm.controls[type].setValue(val);
80
+        element.focus();
81
+    }
82
+  }
83
+
64 84
   // 初始化增删改按钮
65 85
   coopBtns: any = {};
66 86
 
@@ -83,7 +103,7 @@ export class LimitInitiationTimeComponent implements OnInit {
83 103
       .subscribe((data) => {
84 104
         this.loading1 = false;
85 105
         if (data.status == 200) {
86
-          this.listOfData = data.list;
106
+          this.listOfData = data.list.map(v => ({...v, taskNames: v.taskTypeDTO.map(v => v.taskName.toString())}));
87 107
           this.listLength = data.totalNum;
88 108
         }
89 109
       });
@@ -241,6 +261,14 @@ export class LimitInitiationTimeComponent implements OnInit {
241 261
       startTime: [null],
242 262
       endTime: [null],
243 263
       remark: ['', [Validators.required]],
264
+      // new
265
+      limitNum: [0, [Validators.required]],
266
+      limitTime: ['0.5', [Validators.required]],
267
+      fqLimitNum: [0, [Validators.required]],
268
+      yyLimitNum: [0, [Validators.required]],
269
+      createRemark: ['', [Validators.required]],
270
+      yyLimitRemark: ['', [Validators.required]],
271
+      limitDispatchDesk: [0, [Validators.required]],
244 272
     });
245 273
   }
246 274
 
@@ -250,6 +278,76 @@ export class LimitInitiationTimeComponent implements OnInit {
250 278
     this.validateForm.controls.deptIds.setValue([]);
251 279
   }
252 280
 
281
+  // 修改限制方式
282
+  changeLimitType(e){
283
+    console.log(e);
284
+    this.validateForm.controls.limitDispatchDesk.setValue(0);
285
+    if(e == 1){
286
+      // 仅提示允许建单
287
+      this.validateForm.get('limitDispatchDesk')!.clearValidators();
288
+      this.validateForm.get('limitDispatchDesk')!.markAsPristine();
289
+    }else if(e == 2){
290
+      // 提示不允许建单
291
+      this.validateForm.get('limitDispatchDesk')!.setValidators(Validators.required);
292
+      this.validateForm.get('limitDispatchDesk')!.markAsDirty();
293
+    }
294
+    this.validateForm.get('limitDispatchDesk')!.updateValueAndValidity();
295
+  }
296
+
297
+  // 修改是否限制发起数量
298
+  changeLimitNum(e){
299
+    console.log(e);
300
+    this.validateForm.controls.limitTime.setValue('0.5');
301
+    this.validateForm.controls.fqLimitNum.setValue(0);
302
+    this.validateForm.controls.yyLimitNum.setValue(0);
303
+    this.validateForm.controls.createRemark.setValue('');
304
+    this.validateForm.controls.yyLimitRemark.setValue('');
305
+    if(e == 1){
306
+      //  是
307
+      this.validateForm.get('limitTime')!.setValidators(Validators.required);
308
+      this.validateForm.get('limitTime')!.markAsDirty();
309
+
310
+      this.validateForm.get('fqLimitNum')!.setValidators(Validators.required);
311
+      this.validateForm.get('fqLimitNum')!.markAsDirty();
312
+
313
+      this.validateForm.get('yyLimitNum')!.setValidators(Validators.required);
314
+      this.validateForm.get('yyLimitNum')!.markAsDirty();
315
+
316
+      this.validateForm.get('createRemark')!.setValidators(Validators.required);
317
+      this.validateForm.get('createRemark')!.markAsDirty();
318
+
319
+      this.validateForm.get('yyLimitRemark')!.setValidators(Validators.required);
320
+      this.validateForm.get('yyLimitRemark')!.markAsDirty();
321
+
322
+      this.validateForm.get('remark')!.clearValidators();
323
+      this.validateForm.get('remark')!.markAsPristine();
324
+    }else if(e == 0){
325
+      // 否
326
+      this.validateForm.get('limitTime')!.clearValidators();
327
+      this.validateForm.get('limitTime')!.markAsPristine();
328
+
329
+      this.validateForm.get('fqLimitNum')!.clearValidators();
330
+      this.validateForm.get('fqLimitNum')!.markAsPristine();
331
+
332
+      this.validateForm.get('yyLimitNum')!.clearValidators();
333
+      this.validateForm.get('yyLimitNum')!.markAsPristine();
334
+
335
+      this.validateForm.get('createRemark')!.clearValidators();
336
+      this.validateForm.get('createRemark')!.markAsPristine();
337
+
338
+      this.validateForm.get('yyLimitRemark')!.clearValidators();
339
+      this.validateForm.get('yyLimitRemark')!.markAsPristine();
340
+
341
+      this.validateForm.get('remark')!.setValidators(Validators.required);
342
+      this.validateForm.get('remark')!.markAsDirty();
343
+    }
344
+    this.validateForm.get('limitDispatchDesk')!.updateValueAndValidity();
345
+    this.validateForm.get('fqLimitNum')!.updateValueAndValidity();
346
+    this.validateForm.get('yyLimitNum')!.updateValueAndValidity();
347
+    this.validateForm.get('createRemark')!.updateValueAndValidity();
348
+    this.validateForm.get('yyLimitRemark')!.updateValueAndValidity();
349
+  }
350
+
253 351
   // 新增/编辑表单提交
254 352
   submitForm(): void {
255 353
     for (const i in this.validateForm.controls) {
@@ -279,7 +377,7 @@ export class LimitInitiationTimeComponent implements OnInit {
279 377
     if (this.add) {
280 378
       //增加
281 379
       data = {
282
-        taskType: this.validateForm.value.taskType,
380
+        taskType: this.validateForm.value.taskType.toString(),
283 381
         limitAllDept: this.validateForm.value.limitAllDept,
284 382
         buildingIds: this.validateForm.value.buildingIds.length ? this.validateForm.value.buildingIds.toString() : null,
285 383
         deptIds: this.validateForm.value.deptIds.length ? this.validateForm.value.deptIds.toString() : null,
@@ -288,12 +386,19 @@ export class LimitInitiationTimeComponent implements OnInit {
288 386
         endTime: format(endOfMinute(this.validateForm.value.endTime), "yyyy-MM-dd HH:mm:ss"),
289 387
         remark: this.validateForm.value.remark.trim(),
290 388
         hosId: this.currentHospital.id,
389
+        limitNum: this.validateForm.value.limitNum,
390
+        limitTime: this.validateForm.value.limitTime,
391
+        fqLimitNum: this.validateForm.value.fqLimitNum,
392
+        yyLimitNum: this.validateForm.value.yyLimitNum,
393
+        createRemark: this.validateForm.value.createRemark.trim(),
394
+        yyLimitRemark: this.validateForm.value.yyLimitRemark.trim(),
395
+        limitDispatchDesk: this.validateForm.value.limitDispatchDesk,
291 396
       };
292 397
     } else {
293 398
       //编辑
294 399
       data = {
295 400
         ...this.coopId,
296
-        taskType: this.validateForm.value.taskType,
401
+        taskType: this.validateForm.value.taskType.toString(),
297 402
         limitAllDept: this.validateForm.value.limitAllDept,
298 403
         buildingIds: this.validateForm.value.buildingIds.length ? this.validateForm.value.buildingIds.toString() : null,
299 404
         deptIds: this.validateForm.value.deptIds.length ? this.validateForm.value.deptIds.toString() : null,
@@ -302,6 +407,13 @@ export class LimitInitiationTimeComponent implements OnInit {
302 407
         endTime: format(endOfMinute(this.validateForm.value.endTime), "yyyy-MM-dd HH:mm:ss"),
303 408
         remark: this.validateForm.value.remark.trim(),
304 409
         hosId: this.currentHospital.id,
410
+        limitNum: this.validateForm.value.limitNum,
411
+        limitTime: this.validateForm.value.limitTime,
412
+        fqLimitNum: this.validateForm.value.fqLimitNum,
413
+        yyLimitNum: this.validateForm.value.yyLimitNum,
414
+        createRemark: this.validateForm.value.createRemark.trim(),
415
+        yyLimitRemark: this.validateForm.value.yyLimitRemark.trim(),
416
+        limitDispatchDesk: this.validateForm.value.limitDispatchDesk,
305 417
       };
306 418
     }
307 419
     this.limitInitiationTimeService
@@ -331,8 +443,8 @@ export class LimitInitiationTimeComponent implements OnInit {
331 443
     this.modal = true;
332 444
     this.coopId = data;
333 445
 
334
-    this.taskTypeList = data.taskTypeDTO ? [data.taskTypeDTO] : [];
335
-    this.validateForm.controls.taskType.setValue(data.taskType); //任务类型
446
+    this.taskTypeList = data.taskTypeDTO || [];
447
+    this.validateForm.controls.taskType.setValue(this.taskTypeList.map(v => v.id)); //任务类型
336 448
 
337 449
     this.validateForm.controls.limitAllDept.setValue(data.limitAllDept); //是否限制所有科室
338 450
 
@@ -347,6 +459,14 @@ export class LimitInitiationTimeComponent implements OnInit {
347 459
       this.validateForm.controls.endTime.setValue(new Date(data.endTime));
348 460
     }
349 461
     this.validateForm.controls.remark.setValue(data.remark); //提示备注
462
+
463
+    this.validateForm.controls.limitNum.setValue(data.limitNum);
464
+    this.validateForm.controls.limitTime.setValue(data.limitTime);
465
+    this.validateForm.controls.fqLimitNum.setValue(data.fqLimitNum);
466
+    this.validateForm.controls.yyLimitNum.setValue(data.yyLimitNum);
467
+    this.validateForm.controls.createRemark.setValue(data.createRemark);
468
+    this.validateForm.controls.yyLimitRemark.setValue(data.yyLimitRemark);
469
+    this.validateForm.controls.limitDispatchDesk.setValue(data.limitDispatchDesk);
350 470
   }
351 471
 
352 472
   // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)