diff --git a/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.html b/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.html
index b600ba8..549725d 100644
--- a/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.html
+++ b/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.html
@@ -52,7 +52,7 @@
-
@@ -110,7 +110,7 @@
ย้อนกลับ
-
+
ตรวจสอบข้อมูล
diff --git a/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.ts b/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.ts
index e695c71..6d756b8 100644
--- a/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.ts
+++ b/ng-ttc-frontend/src/app/component/main-project-add/main-project-add.ts
@@ -1,7 +1,5 @@
-import { Component, OnInit } from '@angular/core';
-import { Router } from '@angular/router';
+import { Component, OnInit, Output, EventEmitter } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
-import { GeneralService } from '../../services/generalservice';
import { ToastrService } from 'ngx-toastr';
@Component({
@@ -11,17 +9,17 @@ import { ToastrService } from 'ngx-toastr';
styleUrl: './main-project-add.css',
})
export class MainProjectAdd implements OnInit {
- currentStep: number = 1;
+ // ไม่ต้องใช้ @Input() แล้ว Parent จะเข้าถึงผ่าน ViewChild
isLoading: boolean = false;
+ @Output() save = new EventEmitter();
+ @Output() cancel = new EventEmitter();
+
+ currentStep: number = 1;
projectForm!: FormGroup;
attachedFiles: any[] = [];
- constructor(
- private generalService: GeneralService,
- private router: Router,
- private toastr: ToastrService
- ) {}
+ constructor(private toastr: ToastrService) {}
ngOnInit(): void {
this.setupFormControl();
@@ -34,9 +32,7 @@ export class MainProjectAdd implements OnInit {
});
}
- // ฟังก์ชันเปลี่ยน Step (เรียกใช้จากปุ่มเท่านั้น)
goToStep(step: number): void {
- // กรณีจะไป Step 2 ต้องผ่าน Validation Step 1 ก่อน
if (step === 2 && this.currentStep === 1) {
if (this.projectForm.invalid) {
this.projectForm.markAllAsTouched();
@@ -70,9 +66,7 @@ export class MainProjectAdd implements OnInit {
this.attachedFiles.splice(index, 1);
}
- get f() {
- return this.projectForm.controls;
- }
+ get f() { return this.projectForm.controls; }
formatCurrency(amount: any): string {
if (!amount) return '0.00 บาท';
@@ -82,27 +76,15 @@ export class MainProjectAdd implements OnInit {
onSubmit(): void {
if (this.projectForm.invalid) return;
- this.isLoading = true;
- const uri = '/api/project/create';
-
- const request = {
+ const body = {
...this.projectForm.value,
files: this.attachedFiles
};
- this.generalService.postRequest(uri, request).subscribe({
- next: (result: any) => {
- this.isLoading = false;
- this.generalService.trowApi(result);
+ this.save.emit(body);
+ }
- if (result.code === '200') {
- this.router.navigate(['/main']);
- }
- },
- error: (error: any) => {
- this.isLoading = false;
- this.generalService.trowApi(error);
- }
- });
+ onCancel(): void {
+ this.cancel.emit();
}
}
diff --git a/ng-ttc-frontend/src/app/content/main-project-content/main-project-content.html b/ng-ttc-frontend/src/app/content/main-project-content/main-project-content.html
index a4e5c49..b48625d 100644
--- a/ng-ttc-frontend/src/app/content/main-project-content/main-project-content.html
+++ b/ng-ttc-frontend/src/app/content/main-project-content/main-project-content.html
@@ -1,115 +1,53 @@