This commit is contained in:
x2Skyz
2025-11-25 21:11:57 +07:00
parent 291485f7b7
commit 368f2ef5e6
19 changed files with 1014 additions and 811 deletions

View File

@@ -1,8 +1,8 @@
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
import { GeneralService } from '../../services/generalservice';
import { IDropAct, IStateDrop, IStateResultResponse, IActData, IActSumData } from '../../interfaces/dashboard.interface'
import { DashboardStateService } from '../../services/state/dashboard-state.service';
import { IPrjMst } from '../../interfaces/main.interface'
import { ProjectStateService } from '../../services/state/project-state.service';
import { Router } from '@angular/router';
@Component({
@@ -15,6 +15,8 @@ export class MainManagerComponent implements OnInit {
mode: string = 'i';
myPrjMst:IPrjMst[] = [];
totalBudget = 200000; // งบทั้งหมด
approvedBudget = 65000; // งบที่อนุมัติแล้ว
@@ -24,98 +26,22 @@ export class MainManagerComponent implements OnInit {
return this.totalBudget - this.approvedBudget;
}
projects = [
{ code: 'PRJ001', name: 'ระบบจัดการน้ำดื่ม', owner: 'นาย A', budget: 20000, status: 'WAIT', acp: 0, bdgnam: 'ยังไมจัดสรร' },
{ code: 'PRJ002', name: 'ปรับปรุงอาคาร B', owner: 'นางสาว B', budget: 45000, status: 'WAIT', acp: 0, bdgnam: 'ยังไมจัดสรร'},
{ code: 'PRJ003', name: 'ซื้อคอมพิวเตอร์', owner: 'นาย C', budget: 30000, status: 'APPROVED', acp: 20000, bdgnam: 'งบดำเนินงาน' }
];
approveProject(p: any) {
p.status = 'APPROVED';
p.status = 'BAP';
this.approvedBudget += p.budget;
}
rejectProject(p: any) {
p.status = 'REJECTED';
p.status = 'CN';
}
openBudgetDetail(project: any) {
this.router.navigate(['/main/manager/budget', project.code]);
openBudgetDetail(idx: IPrjMst) {
this.router.navigate(['/main/budget/approve', idx.prjseq]);
}
budgetCategoriesDrop = {
expense: [
{ dtlcod: 'BDG001', dtlnam: 'เงินรายได้' },
{ dtlcod: 'BDG002', dtlnam: 'งบดำเนินงาน ปวส.' },
{ dtlcod: 'BDG003', dtlnam: 'โครงการส่งเสริมพัฒนาทักษะวิชาชีพทักษะพื้นฐาน' },
{ dtlcod: 'BDG004', dtlnam: 'ค่ากิจกรรมพัฒนาคุณภาพผู้เรียน' },
{ dtlcod: 'BDG005', dtlnam: 'อุดหนุนส่งเสริมและพัฒนาผู้เรียนองค์การวิชาชีพแห่งประเทศไทย (อวท.)' },
{ dtlcod: 'BDG006', dtlnam: 'งบดำเนินงาน ระยะสั้น' },
{ dtlcod: 'BDG007', dtlnam: 'โครงการบูรณาการการพัฒนาทักษะทางวิชาชีพกับการเสริมสร้างคุณลักษณะอันพึงประสงค์ (FIX IT)' },
{ dtlcod: 'BDG008', dtlnam: 'โครงการพัฒนาทักษะและสมรรถนะวิชาชีพกำลังคน (Up-skill, Re-skill)' },
{ dtlcod: 'BDG009', dtlnam: 'งบดำเนินงาน ปวช.' },
{ dtlcod: 'BDG010', dtlnam: 'โครงการขยายและยกระดับการจัดอาชีวศึกษาระบบทวิภาคีคุณภาพสูง' },
{ dtlcod: 'BDG011', dtlnam: 'ปวช.(สอจ)' },
{ dtlcod: 'BDG012', dtlnam: 'ค่าจัดการเรียนการสอน' },
{ dtlcod: 'BDG013', dtlnam: 'งบดำเนินงาน 170000' },
{ dtlcod: 'BDG014', dtlnam: 'โครงการพัฒนาทักษะและศักยภาพภาพการจัดการเรียนการสอนอาชีวศึกษา' },
{ dtlcod: 'BDG015', dtlnam: 'ศึกษาธิการ' },
{ dtlcod: 'BDG016', dtlnam: 'Up-skill' },
{ dtlcod: 'BDG017', dtlnam: 'ติดตามผู้สำเร็จ' },
{ dtlcod: 'BDG018', dtlnam: 'ทวิภาคี' },
{ dtlcod: 'BDG019', dtlnam: 'พันธุกรรม' },
{ dtlcod: 'BDG020', dtlnam: 'ปวส(สาธารณูประโภค)' },
{ dtlcod: 'BDG021', dtlnam: 'ปวส(ค่าสาธารณูปโภค)' },
{ dtlcod: 'BDG022', dtlnam: 'งบดำเนินงาน (ค่าสาธารณูปโภค)' },
{ dtlcod: 'BDG023', dtlnam: 'ค่าหนังสือเรียน' },
{ dtlcod: 'BDG024', dtlnam: 'โครงการอาชีวะต้านยาเสพติด' },
{ dtlcod: 'BDG025', dtlnam: 'ค่าตอบแทนพนักงานราชการ' },
{ dtlcod: 'BDG026', dtlnam: 'ค่าอุปกรณ์การเรียน' },
{ dtlcod: 'BDG027', dtlnam: 'โครงการยกระดับและพัฒนาขีดความสามารถด้านภาษาและทักษะดิจิทัลเพื่อพัฒนากำลังคนให้มีสมรรถนะสูง' },
{ dtlcod: 'BDG028', dtlnam: 'โครงการอนุรักษ์พันธุกรรมพืชอันเนื่องมาจากพระราชดำริ' },
{ dtlcod: 'BDG029', dtlnam: 'ปวช.(สอจ.)' },
{ dtlcod: 'BDG030', dtlnam: 'โครงการพัฒนาศักยภาพผู้เรียนอาชีวศึกษาในการเป็นผู้ประกอบการ (บ่มเพาะ)' },
{ dtlcod: 'BDG031', dtlnam: 'โครงการพัฒนาและยกระดับการติดตามผู้สำเร็จการศึกษาอาชีวศึกษา' },
{ dtlcod: 'BDG032', dtlnam: 'โครงการเสริมสร้างคุณธรรม จริยธรรมและธรรมาภิบาลในสถานศึกษา' },
{ dtlcod: 'BDG033', dtlnam: 'โครงการจัดการอาชีวศึกษาเพื่อสนองพระราชดำริ' },
{ dtlcod: 'BDG034', dtlnam: 'เงินรายได้ ป.ตรี' },
{ dtlcod: 'BDG035', dtlnam: 'งบดำเนินงาน 235200' }
]
};
// isModalOpen: boolean = false;
// isSubmitting: boolean = false;
// arrearsForm!: FormGroup;
// saveFrm!: FormGroup;
// myActData: IActData[] = [];
// // myDropAct: IStateDrop[] = [];
// myDropAct: IStateDrop = { income: [], expense: [] };
// myActSumData: IActSumData = {
// summary: {
// totalIncome: '',
// totalExpense: '',
// netProfit: '',
// profitRate: '',
// adjustedProfitRate: '',
// period: ''
// },
// pie: {
// income: [],
// expense: []
// }
// };
// ActSumDataGradient: any
// readonly ownerName = 'Nuttakit';
constructor(
private router: Router,
private dashboardStateService: DashboardStateService
private projectStateService: ProjectStateService
) {}
@@ -123,40 +49,14 @@ export class MainManagerComponent implements OnInit {
ngOnInit(): void {
this.setupFormControl();
// this.dashboardStateService.getStateResult().subscribe(data => {
// if (data) {
// this.myDropAct = data;
// }
// });
// // ผลลับท์ ของ รายการ
// this.dashboardStateService.getStateAccountResult().subscribe(data => {
// if (data) {
// this.myActData = data;
// }
// });
// // ผลลัพการ คำนวณ ของ ปัญชี ต่างๆ
// this.dashboardStateService.getStateSumResult().subscribe(data => {
// if (data) {
// this.myActSumData = data;
// this.ActSumDataGradient = this.buildExpenseGradient()
// }
// });
this.projectStateService.getStateResult().subscribe(data => {
if(data){
this.myPrjMst = data
}
});
}
setupFormControl(){
// this.arrearsForm = new FormGroup({
// // email: new FormControl('',[Validators.required, Validators.email, Validators.maxLength(100)]),
// amount: new FormControl('',[Validators.required, Validators.maxLength(20)]),
// expdtm: new FormControl('',[Validators.required, Validators.maxLength(12)]),
// note: new FormControl('',[Validators.maxLength(200)]),
// reason: new FormControl('',[Validators.required, Validators.maxLength(200)])
// });
// this.saveFrm = new FormGroup({
// actacpdtm: new FormControl('',[Validators.required, Validators.maxLength(12)]),
// actqty: new FormControl('',[Validators.required]),
// actcat: new FormControl('',[Validators.required, Validators.maxLength(1)]),
// actcmt: new FormControl('',[Validators.maxLength(200)])
// });
}
onSaveSubmit(){