All checks were successful
Build Docker Image / Preparing Dependecies (push) Successful in 5s
110 lines
6.4 KiB
TypeScript
110 lines
6.4 KiB
TypeScript
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 { Router } from '@angular/router';
|
|
import { ActivatedRoute } from '@angular/router';
|
|
|
|
@Component({
|
|
selector: 'app-budget-aproval',
|
|
standalone: false,
|
|
templateUrl: './budget-aproval.html',
|
|
styleUrl: './budget-aproval.css',
|
|
})
|
|
export class BudgetAproval {
|
|
projectCode: any;
|
|
project: any;
|
|
addItemForm!: FormGroup;
|
|
|
|
budgetItems = [
|
|
{ code: 'ITEM001', name: 'เอกซ์เรย์', qty: 1, price: 1000 },
|
|
{ code: 'ITEM002', name: 'กรอกคำสั่งซื้อ', qty: 1, price: 1500 },
|
|
{ code: 'ITEM003', name: 'ตรวจพื้นฐาน', qty: 1, price: 1000 },
|
|
];
|
|
|
|
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' }
|
|
]
|
|
};
|
|
|
|
|
|
ngOnInit(): void {
|
|
this.setupForm();
|
|
}
|
|
|
|
setupForm() {
|
|
this.addItemForm = new FormGroup({
|
|
category: new FormControl('', [Validators.required]),
|
|
name: new FormControl('', [Validators.required]),
|
|
qty: new FormControl(1, [Validators.required, Validators.min(1)]),
|
|
price: new FormControl(0, [Validators.required, Validators.min(1)])
|
|
});
|
|
}
|
|
|
|
addBudgetItem() {
|
|
if (this.addItemForm.invalid) {
|
|
this.addItemForm.markAllAsTouched();
|
|
return;
|
|
}
|
|
|
|
const formValue = this.addItemForm.value;
|
|
|
|
this.budgetItems.push({
|
|
code: 'NEW' + (this.budgetItems.length + 1).toString().padStart(3, '0'),
|
|
name: formValue.name,
|
|
qty: formValue.qty,
|
|
price: formValue.price,
|
|
// category: formValue.category
|
|
});
|
|
|
|
// reset form
|
|
this.addItemForm.reset({
|
|
category: '',
|
|
name: '',
|
|
qty: 1,
|
|
price: 0
|
|
});
|
|
}
|
|
|
|
getTotalAmount() {
|
|
return this.budgetItems.reduce((sum, item) => sum + item.qty * item.price, 0);
|
|
}
|
|
|
|
}
|