Browse Source

血制品页面控制增加配置

seimin 1 year ago
parent
commit
97f2d40a6d

+ 19 - 0
src/app/views/blood-products-config/blood-products-config.component.html

@@ -41,6 +41,25 @@
41
           <nz-form-label class="label">是否支持按钮送达交接</nz-form-label>
41
           <nz-form-label class="label">是否支持按钮送达交接</nz-form-label>
42
           <nz-checkbox-group class="w320px" [(ngModel)]="delivery"></nz-checkbox-group>
42
           <nz-checkbox-group class="w320px" [(ngModel)]="delivery"></nz-checkbox-group>
43
         </div>
43
         </div>
44
+        <!-- 是否支持领取证 -->
45
+        <div class="display_flex align-items_center mb8">
46
+          <nz-form-label class="label">是否支持领取证</nz-form-label>
47
+          <nz-checkbox-group [(ngModel)]="certificates" (ngModelChange)="changeCertificates($event)"></nz-checkbox-group>
48
+          <nz-select class="w320px" [nzDropdownMatchSelectWidth]="false" nzShowSearch nzAllowClear nzPlaceHolder="请选择领取证号类型" [(ngModel)]="certificate" *ngIf="certificates[0].checked">
49
+            <ng-container *ngFor="let data of certificateList">
50
+              <nz-option *ngIf="!dLoading" [nzLabel]="data.name" [nzValue]="data.id"></nz-option>
51
+            </ng-container>
52
+            <nz-option *ngIf="dLoading" nzDisabled nzCustomContent>
53
+              <i nz-icon nzType="loading" class="loading-icon"></i> 搜索中...
54
+            </nz-option>
55
+          </nz-select>
56
+        </div>
57
+        <!-- 是否支持取消发血 -->
58
+        <div class="display_flex align-items_center mb8">
59
+          <nz-form-label class="label">是否支持取消发血</nz-form-label>
60
+          <nz-checkbox-group [(ngModel)]="cancelBloods" (ngModelChange)="changeCancelBloods($event)"></nz-checkbox-group>
61
+          <nz-checkbox-group [(ngModel)]="cancelBloodHandovers" *ngIf="cancelBloods[0].checked"></nz-checkbox-group>
62
+        </div>
44
       </div>
63
       </div>
45
       <!-- 自动建单配置 -->
64
       <!-- 自动建单配置 -->
46
       <div *ngIf="tabModalName=='automaticOrderCreation'">
65
       <div *ngIf="tabModalName=='automaticOrderCreation'">

+ 50 - 0
src/app/views/blood-products-config/blood-products-config.component.ts

@@ -26,6 +26,18 @@ export class BloodProductsConfigComponent implements OnInit {
26
   autoCreateOrders:any[] = [
26
   autoCreateOrders:any[] = [
27
     {label:'是否开启',value: 0}
27
     {label:'是否开启',value: 0}
28
   ];
28
   ];
29
+  // 是否支持领取证
30
+  certificates:any[] = [
31
+    {label:'是否开启',value: 0}
32
+  ];
33
+  // 是否支持取消发血
34
+  cancelBloods:any[] = [
35
+    {label:'是否开启',value: 0}
36
+  ];
37
+  // 是否必填交接人
38
+  cancelBloodHandovers:any[] = [
39
+    {label:'是否必填交接人',value: 0}
40
+  ];
29
   // 是否指定人派单
41
   // 是否指定人派单
30
   autoSendUsers:any[] = [
42
   autoSendUsers:any[] = [
31
     {label:'是否指定人派单',value: 0}
43
     {label:'是否指定人派单',value: 0}
@@ -52,6 +64,7 @@ export class BloodProductsConfigComponent implements OnInit {
52
 
64
 
53
   ngOnInit():void {
65
   ngOnInit():void {
54
     // todo
66
     // todo
67
+    this.getCertificate();
55
     this.getHandoverModes();
68
     this.getHandoverModes();
56
     this.getCheckModes();
69
     this.getCheckModes();
57
     this.getCheckInModes();
70
     this.getCheckInModes();
@@ -106,6 +119,20 @@ export class BloodProductsConfigComponent implements OnInit {
106
       this.limitDeptIds = [];
119
       this.limitDeptIds = [];
107
     }
120
     }
108
   }
121
   }
122
+  // 修改是否支持领取证
123
+  changeCertificates(e){
124
+    console.log(e);
125
+    if(!e[0].checked){
126
+      this.certificate = null;
127
+    }
128
+  }
129
+  // 修改是否支持取消发血
130
+  changeCancelBloods(e){
131
+    console.log(e);
132
+    if(!e[0].checked){
133
+      this.cancelBloodHandovers[0].checked = false;
134
+    }
135
+  }
109
   // 修改changeAutoDeptLimits
136
   // 修改changeAutoDeptLimits
110
   changeAutoDeptLimits(e){
137
   changeAutoDeptLimits(e){
111
     console.log(e);
138
     console.log(e);
@@ -132,6 +159,10 @@ export class BloodProductsConfigComponent implements OnInit {
132
       this.msg.create("warning", "请选择起点科室!");
159
       this.msg.create("warning", "请选择起点科室!");
133
       return;
160
       return;
134
     }
161
     }
162
+    if(this.certificates[0].checked && !this.certificate){
163
+      this.msg.create("warning", "请选择领取证号类型!");
164
+      return;
165
+    }
135
     let signTypeIds = this.checkInModes.filter(v => v.checked).map(v => v.value).toString();
166
     let signTypeIds = this.checkInModes.filter(v => v.checked).map(v => v.value).toString();
136
     let closeTypeIds = this.automaticCustomsOrders.filter(v => v.checked).map(v => v.value).toString();
167
     let closeTypeIds = this.automaticCustomsOrders.filter(v => v.checked).map(v => v.value).toString();
137
     let postData:any = {
168
     let postData:any = {
@@ -148,6 +179,10 @@ export class BloodProductsConfigComponent implements OnInit {
148
       checkType: {id: this.radioCheckModesValue},
179
       checkType: {id: this.radioCheckModesValue},
149
       signTypeIds: signTypeIds || undefined,
180
       signTypeIds: signTypeIds || undefined,
150
       closeTypeIds: closeTypeIds || undefined,
181
       closeTypeIds: closeTypeIds || undefined,
182
+      useTakeCode: this.certificates[0].checked ? 1 : 0,
183
+      takeCodeType: {id: this.certificate},
184
+      cancelBlood: this.cancelBloods[0].checked ? 1 : 0,
185
+      cancelBloodHandover: this.cancelBloodHandovers[0].checked ? 1 : 0,
151
     };
186
     };
152
     console.log(postData);
187
     console.log(postData);
153
     this.btnLoading = true;
188
     this.btnLoading = true;
@@ -161,6 +196,15 @@ export class BloodProductsConfigComponent implements OnInit {
161
       });
196
       });
162
   }
197
   }
163
 
198
 
199
+  //获取是否支持领取证-数据字典
200
+  certificateList:any[] = [];
201
+  certificate:any = null;
202
+  getCertificate() {
203
+    this.mainService.getDictionary("list", "blood_config_take_code_type").subscribe((data) => {
204
+      this.certificateList = data || [];
205
+    });
206
+  }
207
+
164
   //获取交接方式
208
   //获取交接方式
165
   getHandoverModes() {
209
   getHandoverModes() {
166
     this.mainService.getDictionary("list", "ttconfig_handover_type").subscribe((data) => {
210
     this.mainService.getDictionary("list", "ttconfig_handover_type").subscribe((data) => {
@@ -246,6 +290,12 @@ export class BloodProductsConfigComponent implements OnInit {
246
           this.autoSendUsers[0].checked = this.configs.autoSendUser == 1;
290
           this.autoSendUsers[0].checked = this.configs.autoSendUser == 1;
247
           this.autoDepts[0].checked = this.configs.autoDept == 1;
291
           this.autoDepts[0].checked = this.configs.autoDept == 1;
248
           this.autoDeptLimits[0].checked = this.configs.autoDeptLimit == 1;
292
           this.autoDeptLimits[0].checked = this.configs.autoDeptLimit == 1;
293
+
294
+          this.certificates[0].checked = this.configs.useTakeCode == 1;
295
+          this.certificate = this.configs.takeCodeType?this.configs.takeCodeType.id:undefined;
296
+          this.cancelBloods[0].checked = this.configs.cancelBlood == 1;
297
+          this.cancelBloodHandovers[0].checked = this.configs.cancelBloodHandover == 1;
298
+
249
           this.getDeptList(true, '', true);
299
           this.getDeptList(true, '', true);
250
 
300
 
251
           if(this.configs.signTypeIds){
301
           if(this.configs.signTypeIds){

+ 1 - 1
src/main.ts

@@ -8,7 +8,7 @@ if (environment.production) {
8
   enableProdMode();
8
   enableProdMode();
9
   if (window) {
9
   if (window) {
10
     window.console.log = function () { };
10
     window.console.log = function () { };
11
-    console.info('v2.4.50');
11
+    console.info('v2.4.51');
12
   }
12
   }
13
 }
13
 }
14
 platformBrowserDynamic().bootstrapModule(AppModule)
14
 platformBrowserDynamic().bootstrapModule(AppModule)