Procházet zdrojové kódy

[add]

檀家編集画面からデータ更新できる
poohr před 1 měsícem
rodič
revize
49c65b2df9

+ 3
- 3
src/app/pages/danka-detail/danka-detail.html Zobrazit soubor

21
           </nav>
21
           </nav>
22
         </div>
22
         </div>
23
 
23
 
24
-        <button type="button" class="edit-button">
24
+        <button type="button" class="edit-button" [routerLink]="['/danka-edit', danka?.id]">
25
           編集
25
           編集
26
         </button>
26
         </button>
27
       </div>
27
       </div>
28
 
28
 
29
       <section class="family-summary">
29
       <section class="family-summary">
30
         <div class="family-name-area">
30
         <div class="family-name-area">
31
-          <p class="family-name">{{ danka?.householder }}</p>
32
-          <p class="family-head">世帯主: {{ danka?.householdName }}</p>
31
+          <p class="family-name">{{ danka?.householdName }}</p>
32
+          <p class="family-head">世帯主: {{ danka?.householder }}</p>
33
         </div>
33
         </div>
34
 
34
 
35
         <div class="family-address">
35
         <div class="family-address">

+ 2
- 2
src/app/pages/danka-detail/danka-detail.ts Zobrazit soubor

1
 import { Component } from '@angular/core';
1
 import { Component } from '@angular/core';
2
-import { ActivatedRoute } from '@angular/router';
2
+import { ActivatedRoute, RouterLink } from '@angular/router';
3
 import { DankaService } from '../../services/dankaService';
3
 import { DankaService } from '../../services/dankaService';
4
 import { Danka } from '../../models/danka';
4
 import { Danka } from '../../models/danka';
5
 import { AppHeader } from '../../share/header/app-header';
5
 import { AppHeader } from '../../share/header/app-header';
7
 
7
 
8
 @Component({
8
 @Component({
9
   selector: 'app-danka-detail',
9
   selector: 'app-danka-detail',
10
-  imports: [AppHeader, AppSideMenu],
10
+  imports: [AppHeader, AppSideMenu, RouterLink],
11
   templateUrl: './danka-detail.html',
11
   templateUrl: './danka-detail.html',
12
   styleUrl: './danka-detail.scss',
12
   styleUrl: './danka-detail.scss',
13
 })
13
 })

+ 34
- 2
src/app/pages/danka-edit/danka-edit.ts Zobrazit soubor

7
   ReactiveFormsModule,
7
   ReactiveFormsModule,
8
   Validators,
8
   Validators,
9
 } from '@angular/forms';
9
 } from '@angular/forms';
10
+import { ActivatedRoute } from '@angular/router';
10
 import { AppHeader } from '../../share/header/app-header';
11
 import { AppHeader } from '../../share/header/app-header';
11
 import { AppSideMenu } from '../../share/side-menu/app-side-menu';
12
 import { AppSideMenu } from '../../share/side-menu/app-side-menu';
12
 import { DankaService } from '../../services/dankaService';
13
 import { DankaService } from '../../services/dankaService';
14
+import { Danka } from '../../models/danka';
13
 
15
 
14
 @Component({
16
 @Component({
15
   selector: 'app-danka-edit',
17
   selector: 'app-danka-edit',
18
   styleUrl: './danka-edit.scss',
20
   styleUrl: './danka-edit.scss',
19
 })
21
 })
20
 export class DankaEdit {
22
 export class DankaEdit {
21
-  private dankaService = inject(DankaService);
23
+  danka: Danka | undefined;
22
 
24
 
23
   dankaForm = new FormGroup({
25
   dankaForm = new FormGroup({
24
     householdName: new FormControl('鈴木家'),
26
     householdName: new FormControl('鈴木家'),
32
     ]),
34
     ]),
33
   });
35
   });
34
 
36
 
37
+  constructor(
38
+    private dankaService: DankaService,
39
+    private route: ActivatedRoute,
40
+  ) {
41
+    const id = this.route.snapshot.params['id'];
42
+    if (id) {
43
+      this.danka = this.dankaService.getDankaById(id);
44
+
45
+      if (this.danka) {
46
+        this.dankaForm.patchValue({
47
+          householdName: this.danka.householdName,
48
+          householder: this.danka.householder,
49
+          postalCode: this.danka.postalCode,
50
+          address: this.danka.address,
51
+        });
52
+
53
+        this.phones.clear();
54
+
55
+        for (const phone of this.danka.phones) {
56
+          this.phones.push(this.createPhoneForm(phone.tel, phone.note));
57
+        }
58
+      }
59
+    }
60
+    console.log(this.danka);
61
+  }
62
+
35
   get phones() {
63
   get phones() {
36
     return this.dankaForm.get('phones') as FormArray;
64
     return this.dankaForm.get('phones') as FormArray;
37
   }
65
   }
52
   }
80
   }
53
 
81
 
54
   saveDanka() {
82
   saveDanka() {
83
+    if (!this.danka) {
84
+      return;
85
+    }
86
+
55
     const formValue = this.dankaForm.value;
87
     const formValue = this.dankaForm.value;
56
 
88
 
57
     const updatedDanka = {
89
     const updatedDanka = {
58
-      id: '1',
90
+      id: this.danka.id,
59
       householdName: formValue.householdName ?? '',
91
       householdName: formValue.householdName ?? '',
60
       householder: formValue.householder ?? '',
92
       householder: formValue.householder ?? '',
61
       postalCode: formValue.postalCode ?? '',
93
       postalCode: formValue.postalCode ?? '',

Loading…
Zrušit
Uložit