diff --git a/ng-ttc-frontend/src/app/component/budget-aproval/budget-aproval.html b/ng-ttc-frontend/src/app/component/budget-aproval/budget-aproval.html index dd2e64f..4ad774a 100644 --- a/ng-ttc-frontend/src/app/component/budget-aproval/budget-aproval.html +++ b/ng-ttc-frontend/src/app/component/budget-aproval/budget-aproval.html @@ -8,7 +8,7 @@ āļˆāļąāļ”āļŠāļĢāļĢāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“ -

āđ‚āļ„āļĢāļ‡āļāļēāļĢ: {{projectTitle}}

+

āđ‚āļ„āļĢāļ‡āļāļēāļĢ: {{projectTitle || prjnam}}

āļĢāļēāļĒāļāļēāļĢāļ—āļąāđ‰āļ‡āļŦāļĄāļ”: {{ myTrnMst.length }} āļĢāļēāļĒāļāļēāļĢ @@ -26,7 +26,7 @@ - {{ isEditMode ? 'āđāļāđ‰āđ„āļ‚āļĢāļēāļĒāļāļēāļĢ' : 'āđ€āļžāļīāđˆāļĄāļĢāļēāļĒāļāļēāļĢāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“' }} + {{ isEditMode ? 'āđāļāđ‰āđ„āļ‚āļĢāļēāļĒāļāļēāļĢ' : 'āđ€āļžāļīāđˆāļĄāļĢāļēāļĒāļāļēāļĢāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“' }}
+
@@ -25,6 +26,8 @@ + + @@ -35,7 +38,7 @@ - +
āļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢ
1
diff --git a/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.html b/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.html index f856aac..54dd510 100644 --- a/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.html +++ b/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.html @@ -1 +1 @@ - + diff --git a/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.ts b/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.ts index d8696f7..2e4ddc5 100644 --- a/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.ts +++ b/ng-ttc-frontend/src/app/content/budget-aproval-content/budget-aproval-content.ts @@ -14,16 +14,24 @@ export class BudgetAprovalContent implements OnInit { myTrnmst: ITrnmst[]=[]; myDropBdg: IDropBdg[]=[]; - constructor( + prjSeq:string = ''; + prjNam:string = ''; +; constructor( private router: Router, private route: ActivatedRoute, private generalService: GeneralService, private transactionStateService: TransactionStateService - ){} + ){ + const nav = this.router.getCurrentNavigation(); + if (nav?.extras.state) { + this.prjSeq = nav.extras.state['prjseq']; + this.prjNam = nav.extras.state['prjnam']; + } + } ngOnInit(): void { - let param = this.route.snapshot.paramMap.get('seq'); - this.OnSearchTrn(param); + // this.prjSeq = this.route.snapshot.param.get('seq'); + this.OnSearchTrn(this.prjSeq); this.OnBudgetSearch(); } diff --git a/ng-ttc-frontend/src/app/content/main-manager-content/main-manager-content.component.ts b/ng-ttc-frontend/src/app/content/main-manager-content/main-manager-content.component.ts index ed699e8..62ca4ac 100644 --- a/ng-ttc-frontend/src/app/content/main-manager-content/main-manager-content.component.ts +++ b/ng-ttc-frontend/src/app/content/main-manager-content/main-manager-content.component.ts @@ -36,7 +36,6 @@ export class MainManagerContentComponent implements OnInit { private generalService: GeneralService, private projectStateService: ProjectStateService ) {} - ngOnInit(): void { this.OnSearchPrj({}, true); } diff --git a/ng-ttc-frontend/src/app/controls/main-control/main-control-routing.module.ts b/ng-ttc-frontend/src/app/controls/main-control/main-control-routing.module.ts index b34e427..d1d9ac5 100644 --- a/ng-ttc-frontend/src/app/controls/main-control/main-control-routing.module.ts +++ b/ng-ttc-frontend/src/app/controls/main-control/main-control-routing.module.ts @@ -18,14 +18,14 @@ const routes: Routes = [ { path: 'manager', component: MainManagerContentComponent }, { path: 'project', component: MainProjectContent }, { path: 'project/:mode', component: MainProjectContent }, - { path: 'budget/approve/:seq', component: BudgetAprovalContent}, - // { - // path: 'manager', - // children: [ - // { path: '', component: MainManagerContentComponent }, // āļĢāļēāļĒāļāļēāļĢāđ‚āļ„āļĢāļ‡āļāļēāļĢ - // { path: 'budget/:code', component: BudgetAproval }, // āļˆāļąāļ”āļāļēāļĢāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“ - // ] - // }, + // { path: 'budget/approve/:seq', component: BudgetAprovalContent}, + { + path: 'manager', + children: [ + { path: '', component: MainManagerContentComponent }, // āļĢāļēāļĒāļāļēāļĢāđ‚āļ„āļĢāļ‡āļāļēāļĢ + { path: 'aproval', component: BudgetAprovalContent }, // āļˆāļąāļ”āļāļēāļĢāļ‡āļšāļ›āļĢāļ°āļĄāļēāļ“ + ] + }, // children: [ // { // path: 'dashboard', diff --git a/ng-ttc-frontend/src/app/interfaces/main.interface.ts b/ng-ttc-frontend/src/app/interfaces/main.interface.ts index 6988c1b..2abcae3 100644 --- a/ng-ttc-frontend/src/app/interfaces/main.interface.ts +++ b/ng-ttc-frontend/src/app/interfaces/main.interface.ts @@ -5,7 +5,7 @@ export interface IPrjMst { prjwntbdg?: string; prjbdgnam?: string; prjbdgcod?: string; - prjacpbdg?: string; + prjacpbdg?: number; prjcomstt?: string; prjacpdtm?: string; } diff --git a/ng-ttc-frontend/src/app/services/state/transaction-state.service.ts b/ng-ttc-frontend/src/app/services/state/transaction-state.service.ts index f8f673a..b36793a 100644 --- a/ng-ttc-frontend/src/app/services/state/transaction-state.service.ts +++ b/ng-ttc-frontend/src/app/services/state/transaction-state.service.ts @@ -20,6 +20,23 @@ export class TransactionStateService { this.transactionState.next(transactions); } + // ðŸŸĒ [NEW] āļ­āļąāļ›āđ€āļ”āļ•āļŦāļĢāļ·āļ­āđ€āļžāļīāđˆāļĄāļĢāļēāļĒāļāļēāļĢāđ€āļ”āļĩāļĒāļ§ + setStateEditOne(item: ITrnmst): void { + const current = this.transactionState.getValue() || []; + + // āļŦāļē index āļˆāļēāļ trnseq (āļŦāļĢāļ·āļ­ key āļ­āļ·āđˆāļ™āļ—āļĩāđˆ unique) + const index = current.findIndex(x => x.trnseq === item.trnseq); + + if (index !== -1) { + // āļāļĢāļ“āļĩāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ -> āļ­āļąāļ›āđ€āļ”āļ•āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļąāļš + current[index] = { ...current[index], ...item }; + this.transactionState.next([...current]); // spread āđ€āļžāļ·āđˆāļ­ trigger change detection + } else { + // āļāļĢāļ“āļĩāđ„āļĄāđˆāļĄāļĩ (āļĢāļēāļĒāļāļēāļĢāđƒāļŦāļĄāđˆ) -> āđ€āļžāļīāđˆāļĄāļ•āđˆāļ­āļ—āđ‰āļēāļĒ + this.transactionState.next([...current, item]); + } + } + // āđ€āļ„āļĨāļĩāļĒāļĢāđŒ state clearState(): void { this.transactionState.next(null);