Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
PSManagementUI
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hasan.bahjat
PSManagementUI
Commits
d6447fc8
Commit
d6447fc8
authored
Aug 27, 2024
by
hasan khaddour
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add contribution reports
parent
ccdf2e4c
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
299 additions
and
69 deletions
+299
-69
attahment-item.component.html
...s/components/attahment-item/attahment-item.component.html
+1
-1
attahment-item.component.ts
...cts/components/attahment-item/attahment-item.component.ts
+6
-0
ProjectCompletion.ts
src/app/projects/models/responses/ProjectCompletion.ts
+8
-0
project.service.ts
src/app/projects/services/project.service.ts
+7
-0
employee-contribution-table.component.css
...tribution-table/employee-contribution-table.component.css
+0
-0
employee-contribution-table.component.html
...ribution-table/employee-contribution-table.component.html
+1
-0
employee-contribution-table.component.ts
...ntribution-table/employee-contribution-table.component.ts
+10
-0
project-footer.component.css
...report-layout/project-footer/project-footer.component.css
+0
-0
project-footer.component.html
...eport-layout/project-footer/project-footer.component.html
+0
-0
project-footer.component.ts
...-report-layout/project-footer/project-footer.component.ts
+3
-3
project-header.component.css
...report-layout/project-header/project-header.component.css
+0
-0
project-header.component.html
...eport-layout/project-header/project-header.component.html
+0
-0
project-header.component.ts
...-report-layout/project-header/project-header.component.ts
+3
-3
project-subjective.component.css
...ayout/project-subjective/project-subjective.component.css
+0
-0
project-subjective.component.html
...yout/project-subjective/project-subjective.component.html
+33
-0
project-subjective.component.ts
...layout/project-subjective/project-subjective.component.ts
+12
-0
employee-trak-table.component.css
...nts/employee-trak-table/employee-trak-table.component.css
+0
-0
employee-trak-table.component.html
...ts/employee-trak-table/employee-trak-table.component.html
+1
-0
employee-trak-table.component.ts
...ents/employee-trak-table/employee-trak-table.component.ts
+10
-0
step-trak-table.component.css
...-components/step-trak-table/step-trak-table.component.css
+0
-0
step-trak-table.component.html
...components/step-trak-table/step-trak-table.component.html
+1
-0
step-trak-table.component.ts
...s-components/step-trak-table/step-trak-table.component.ts
+10
-0
employeeContribution.ts
src/app/reports/models/employeeContribution.ts
+10
-0
project-completion.component.html
...ages/project-completion/project-completion.component.html
+64
-1
project-completion.component.ts
.../pages/project-completion/project-completion.component.ts
+60
-2
project-definition.component.html
...ages/project-definition/project-definition.component.html
+48
-56
reports.module.ts
src/app/reports/reports.module.ts
+11
-3
No files found.
src/app/projects/components/attahment-item/attahment-item.component.html
View file @
d6447fc8
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
<div
class=
"row align-items-center justify-content-between"
>
<div
class=
"row align-items-center justify-content-between"
>
<div
class=
"col text-center"
>
<div
class=
"col text-center"
>
<small>
<small>
<a
[
routerLink
]="['/
uploads
',
attachment
.
attachmentUrl
]"
class=
"btn btn-primary"
>
تنزيل
</a>
<a
class=
"btn btn-primary"
>
تنزيل
</a>
</small>
</small>
</div>
</div>
...
...
src/app/projects/components/attahment-item/attahment-item.component.ts
View file @
d6447fc8
import
{
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
Component
,
EventEmitter
,
Input
,
Output
}
from
'@angular/core'
;
import
{
Attachment
}
from
'../../models/responses/attachment'
;
import
{
Attachment
}
from
'../../models/responses/attachment'
;
import
{
ConfigurationService
}
from
'../../../core/services/configuration/configuration.service'
;
@
Component
({
@
Component
({
selector
:
'attahment-item'
,
selector
:
'attahment-item'
,
...
@@ -10,6 +11,11 @@ export class AttahmentItemComponent {
...
@@ -10,6 +11,11 @@ export class AttahmentItemComponent {
@
Input
()
attachment
:
Attachment
@
Input
()
attachment
:
Attachment
@
Output
()
selected
=
new
EventEmitter
<
Attachment
>
()
@
Output
()
selected
=
new
EventEmitter
<
Attachment
>
()
constructor
(
public
config
:
ConfigurationService
){}
onSelected
()
{
onSelected
()
{
this
.
selected
.
emit
(
this
.
attachment
)
this
.
selected
.
emit
(
this
.
attachment
)
}
}
...
...
src/app/projects/models/responses/ProjectCompletion.ts
0 → 100644
View file @
d6447fc8
export
class
ProjectCompletion
{
projectId
:
number
;
completionDate
:
Date
;
customerNotes
:
string
;
customerRate
:
number
;
}
src/app/projects/services/project.service.ts
View file @
d6447fc8
...
@@ -19,6 +19,7 @@ import { Attachment } from '../models/responses/attachment';
...
@@ -19,6 +19,7 @@ import { Attachment } from '../models/responses/attachment';
import
{
CompleteProjectRequest
}
from
'../models/requests/project-requests/completeProjectRequest'
;
import
{
CompleteProjectRequest
}
from
'../models/requests/project-requests/completeProjectRequest'
;
import
{
ChangeEmployeeParticipationRequest
}
from
'../models/requests/project-requests/ChangeEmployeeParticipationRequest'
;
import
{
ChangeEmployeeParticipationRequest
}
from
'../models/requests/project-requests/ChangeEmployeeParticipationRequest'
;
import
{
ParticipationChange
}
from
'../models/responses/participationChange'
;
import
{
ParticipationChange
}
from
'../models/responses/participationChange'
;
import
{
ProjectCompletion
}
from
'../models/responses/ProjectCompletion'
;
@
Injectable
({
@
Injectable
({
providedIn
:
'root'
providedIn
:
'root'
...
@@ -62,6 +63,12 @@ export class ProjectService {
...
@@ -62,6 +63,12 @@ export class ProjectService {
return
this
.
http
.
get
<
Project
>
(
this
.
config
.
getServerUrl
()
+
"/Projects/"
+
id
);
return
this
.
http
.
get
<
Project
>
(
this
.
config
.
getServerUrl
()
+
"/Projects/"
+
id
);
}
}
public
getProjectCompletion
(
projectId
:
number
):
Observable
<
ProjectCompletion
>
{
return
this
.
http
.
get
<
ProjectCompletion
>
(
this
.
config
.
getServerUrl
()
+
"/Projects/Completion/"
+
projectId
);
}
// this method retreive the projects by its manager
// this method retreive the projects by its manager
public
getByProjectManger
(
request
:
GetProjectsByProjectManagerRequest
):
Observable
<
Project
[]
>
{
public
getByProjectManger
(
request
:
GetProjectsByProjectManagerRequest
):
Observable
<
Project
[]
>
{
...
...
src/app/reports/componenets/
project-footer/project-footer
.component.css
→
src/app/reports/componenets/
employee-contribution-table/employee-contribution-table
.component.css
View file @
d6447fc8
File moved
src/app/reports/componenets/employee-contribution-table/employee-contribution-table.component.html
0 → 100644
View file @
d6447fc8
<p>
employee-contribution-table works!
</p>
src/app/reports/componenets/employee-contribution-table/employee-contribution-table.component.ts
0 → 100644
View file @
d6447fc8
import
{
Component
}
from
'@angular/core'
;
@
Component
({
selector
:
'employee-contribution-table'
,
templateUrl
:
'./employee-contribution-table.component.html'
,
styleUrl
:
'./employee-contribution-table.component.css'
})
export
class
EmployeeContributionTableComponent
{
}
src/app/reports/componenets/project-
header/project-head
er.component.css
→
src/app/reports/componenets/project-
report-layout/project-footer/project-foot
er.component.css
View file @
d6447fc8
File moved
src/app/reports/componenets/project-footer/project-footer.component.html
→
src/app/reports/componenets/project-
report-layout/project-
footer/project-footer.component.html
View file @
d6447fc8
File moved
src/app/reports/componenets/project-footer/project-footer.component.ts
→
src/app/reports/componenets/project-
report-layout/project-
footer/project-footer.component.ts
View file @
d6447fc8
import
{
Component
,
Input
}
from
'@angular/core'
;
import
{
Component
,
Input
}
from
'@angular/core'
;
import
{
Customer
}
from
'../../../customers/models/responses/customer'
;
import
{
Customer
}
from
'../../../
../
customers/models/responses/customer'
;
import
{
Employee
}
from
'../../../employees/models/responses/employee'
;
import
{
Employee
}
from
'../../../
../
employees/models/responses/employee'
;
import
{
Department
}
from
'../../../projects/models/responses/department'
;
import
{
Department
}
from
'../../../
../
projects/models/responses/department'
;
@
Component
({
@
Component
({
selector
:
'project-footer'
,
selector
:
'project-footer'
,
...
...
src/app/reports/componenets/project-report-layout/project-header/project-header.component.css
0 → 100644
View file @
d6447fc8
src/app/reports/componenets/project-header/project-header.component.html
→
src/app/reports/componenets/project-
report-layout/project-
header/project-header.component.html
View file @
d6447fc8
File moved
src/app/reports/componenets/project-header/project-header.component.ts
→
src/app/reports/componenets/project-
report-layout/project-
header/project-header.component.ts
View file @
d6447fc8
import
{
Component
,
Input
}
from
'@angular/core'
;
import
{
Component
,
Input
}
from
'@angular/core'
;
import
{
ProjectInfo
}
from
'../../../projects/models/valueObjects/ProjectInfo'
;
import
{
ProjectInfo
}
from
'../../../
../
projects/models/valueObjects/ProjectInfo'
;
import
{
ProposalInfo
}
from
'../../../projects/models/valueObjects/proposalInfo'
;
import
{
ProposalInfo
}
from
'../../../
../
projects/models/valueObjects/proposalInfo'
;
import
{
Employee
}
from
'../../../employees/models/responses/employee'
;
import
{
Employee
}
from
'../../../
../
employees/models/responses/employee'
;
@
Component
({
@
Component
({
selector
:
'project-header'
,
selector
:
'project-header'
,
...
...
src/app/reports/componenets/project-report-layout/project-subjective/project-subjective.component.css
0 → 100644
View file @
d6447fc8
src/app/reports/componenets/project-report-layout/project-subjective/project-subjective.component.html
0 → 100644
View file @
d6447fc8
<div
class=
"row mb-5"
>
<div
class=
"col-md-4"
>
<p
class=
"mb-4"
>
<strong>
ذاتية المشروع
</strong>
<br
/>
رمز المشروع:
<small>
{{project.projectInfo.code}}
</small>
<br
/>
كتاب الطرح :
<small>
{{project.proposalInfo.proposingBookNumber}} / {{project.proposalInfo.proposingBookDate | date}}
</small>
<br
/>
كتاب الموافقة :
<small>
{{project.projectAggreement.aggreementNumber}} / {{project.projectAggreement.aggreementDate |date}}
</small>
<br
/>
التمويل :
<small>
{{project.financialFund.financialStatus}} / {{project.financialFund.source}}
</small>
</p>
</div>
<div
class=
"col-md-4 text-center"
>
<p
class=
"mb-4"
>
<strong>
المعلومات التنفيذية
</strong>
<br
/>
الجهة المنفذة:
<small>
{{project.executer.name}}
</small>
<br
/>
رئيس فريق العمل:
<small>
{{project.teamLeader.personalInfo | fullname}}
</small>
<br
/>
مدير المشروع :
<small>
{{project.projectManager.personalInfo | fullname}}
</small>
<br
/>
ينفذ لصالح :
<small>
{{project.proposer.customerName}}
</small>
</p>
</div>
<div
class=
"col-md-4"
>
<p
class=
"mb-4"
>
<strong>
معلومات حالة المشروع
</strong>
<br
/>
المرحلة التطويرير :
<small>
{{project.currentState | stateTranslate}}
</small>
<br
/>
نوع المشروع :
<small>
{{project.projectType.typeName}}
</small>
<br
/>
طبيعة المشروع :
<small>
{{project.projectClassification.projectNature}}
</small>
</p>
</div>
</div>
<!-- /.row -->
src/app/reports/componenets/project-report-layout/project-subjective/project-subjective.component.ts
0 → 100644
View file @
d6447fc8
import
{
Component
,
Input
}
from
'@angular/core'
;
import
{
Project
}
from
'../../../../projects/models/responses/project'
;
@
Component
({
selector
:
'project-subjective'
,
templateUrl
:
'./project-subjective.component.html'
,
styleUrl
:
'./project-subjective.component.css'
})
export
class
ProjectSubjectiveComponent
{
@
Input
()
project
:
Project
}
src/app/reports/componenets/tracks-components/employee-trak-table/employee-trak-table.component.css
0 → 100644
View file @
d6447fc8
src/app/reports/componenets/tracks-components/employee-trak-table/employee-trak-table.component.html
0 → 100644
View file @
d6447fc8
<p>
employee-trak-table works!
</p>
src/app/reports/componenets/tracks-components/employee-trak-table/employee-trak-table.component.ts
0 → 100644
View file @
d6447fc8
import
{
Component
}
from
'@angular/core'
;
@
Component
({
selector
:
'employee-trak-table'
,
templateUrl
:
'./employee-trak-table.component.html'
,
styleUrl
:
'./employee-trak-table.component.css'
})
export
class
EmployeeTrakTableComponent
{
}
src/app/reports/componenets/tracks-components/step-trak-table/step-trak-table.component.css
0 → 100644
View file @
d6447fc8
src/app/reports/componenets/tracks-components/step-trak-table/step-trak-table.component.html
0 → 100644
View file @
d6447fc8
<p>
step-trak-table works!
</p>
src/app/reports/componenets/tracks-components/step-trak-table/step-trak-table.component.ts
0 → 100644
View file @
d6447fc8
import
{
Component
}
from
'@angular/core'
;
@
Component
({
selector
:
'step-trak-table'
,
templateUrl
:
'./step-trak-table.component.html'
,
styleUrl
:
'./step-trak-table.component.css'
})
export
class
StepTrakTableComponent
{
}
src/app/reports/models/employeeContribution.ts
0 → 100644
View file @
d6447fc8
import
{
PersonalInfo
}
from
"../../employees/models/vakueObjects/personalInfo"
import
{
WorkInfo
}
from
"../../employees/models/vakueObjects/workInfo"
export
class
EmployeeContribution
{
Email
:
string
hiastId
:
number
personalInof
:
PersonalInfo
workInof
:
WorkInfo
contribution
:
number
}
\ No newline at end of file
src/app/reports/pages/project-completion/project-completion.component.html
View file @
d6447fc8
<p>
project-completion works!
</p>
<div
class=
"container-fluid"
*
ngIf=
"project"
>
<div
class=
"row justify-content-center"
>
<div
class=
"col-12"
>
<div
class=
"row align-items-center mb-4"
>
<div
class=
"col"
>
<h2
class=
"h5 page-title"
>
<small
class=
"text-muted text-uppercase"
>
بطاقة معلومات مشروع
</small>
</h2>
</div>
<div
class=
"col-auto"
>
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
طباعة
</button>
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير متابعة المراحل
</button>
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير انشغالية
</button>
<button
type=
"button"
[
routerLink
]="['/
reports
/
timeline
/',
project
.
id
]"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير خطة زمنية
</button>
</div>
</div>
<div
class=
"card shadow"
id=
"pdfContent"
>
<div
class=
"card-body p-5"
>
<project-header
[
projectInfo
]="
project
.
projectInfo
"
></project-header>
<project-subjective
[
project
]="
project
"
>
</project-subjective>
<hr
/>
<p><strong>
مراحل المشروع
</strong></p>
<step-table
[
steps
]="
project
.
steps
"
></step-table>
<hr
/>
<participants-table
[
employeeParticipates
]="
project
.
employeeParticipates
"
></participants-table>
<p><strong>
خطة الانفاق
</strong></p>
<financial-spend-table
[
financialSpending
]="
project
.
financialSpending
"
></financial-spend-table>
<project-footer
[
proposer
]="
project
.
proposer
"
[
executer
]="
project
.
executer
"
[
projectManager
]="
project
.
projectManager
"
[
teamLeader
]="
project
.
teamLeader
"
>
</project-footer>
</div>
<!-- /.card-body -->
</div>
<!-- /.card -->
</div>
<!-- /.col-12 -->
</div>
</div>
\ No newline at end of file
src/app/reports/pages/project-completion/project-completion.component.ts
View file @
d6447fc8
import
{
Component
}
from
'@angular/core'
;
import
{
Component
,
OnInit
}
from
'@angular/core'
;
import
{
Project
}
from
'../../../projects/models/responses/project'
;
import
{
ActivatedRoute
,
Router
}
from
'@angular/router'
;
import
{
ToastrService
}
from
'ngx-toastr'
;
import
{
ProjectService
}
from
'../../../projects/services/project.service'
;
import
{
ProjectCompletion
}
from
'../../../projects/models/responses/ProjectCompletion'
;
import
{
EmployeeContribution
}
from
'../../models/employeeContribution'
;
import
{
Track
}
from
'../../../tracks/models/responses/track'
;
@
Component
({
@
Component
({
selector
:
'project-completion'
,
selector
:
'project-completion'
,
templateUrl
:
'./project-completion.component.html'
,
templateUrl
:
'./project-completion.component.html'
,
styleUrl
:
'./project-completion.component.css'
styleUrl
:
'./project-completion.component.css'
})
})
export
class
ProjectCompletionComponent
{
export
class
ProjectCompletionComponent
implements
OnInit
{
projectId
:
number
project
:
Project
completion
:
ProjectCompletion
contributers
:
EmployeeContribution
[]
tracks
:
Track
[]
iscalculated
:
boolean
=
false
constructor
(
private
route
:
ActivatedRoute
,
private
projectService
:
ProjectService
,
private
router
:
Router
,
private
toastr
:
ToastrService
){}
ngOnInit
():
void
{
this
.
projectId
=
Number
(
this
.
route
.
snapshot
.
paramMap
.
get
(
'id'
))
this
.
projectService
.
getProjectById
(
this
.
projectId
)
.
subscribe
({
next
:(
data
)
=>
{
this
.
project
=
data
;
if
(
this
.
project
.
currentState
.
toLowerCase
()
!=
"completed"
){
this
.
toastr
.
error
(
'المشروع لم ينجز بعد'
);
this
.
router
.
navigate
([
'/'
]);
}
else
{
this
.
loadCompletion
();
}
}
});
}
loadTracks
(){
}
loadCompletion
()
{
this
.
projectService
.
getProjectCompletion
(
this
.
projectId
)
.
subscribe
({
next
:(
data
)
=>
{
this
.
completion
=
data
;
}
});
}
}
}
src/app/reports/pages/project-definition/project-definition.component.html
View file @
d6447fc8
<div
class=
"container-fluid"
*
ngIf=
"project"
>
<div
class=
"container-fluid"
*
ngIf=
"project"
>
<div
class=
"row justify-content-center"
>
<div
class=
"row justify-content-center"
>
<div
class=
"col-12
"
>
<div
class=
"col-12"
>
<div
class=
"row align-items-center mb-4"
>
<div
class=
"row align-items-center mb-4"
>
<div
class=
"col"
>
<div
class=
"col"
>
<h2
class=
"h5 page-title"
><small
class=
"text-muted text-uppercase"
>
بطاقة معلومات مشروع
</small></h2>
<h2
class=
"h5 page-title"
>
<small
class=
"text-muted text-uppercase"
>
بطاقة معلومات مشروع
</small>
</h2>
</div>
</div>
<div
class=
"col-auto"
>
<div
class=
"col-auto"
>
<button
type=
"button"
(
click
)="
downloadAsPdf
()"
class=
"btn mr-1 btn-secondary m-1"
>
طباعة
</button>
<button
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير متابعة المراحل
</button>
type=
"button"
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير انشغالية
</button>
(
click
)="
downloadAsPdf
()"
<button
type=
"button"
[
routerLink
]="['/
reports
/
timeline
/',
project
.
id
]"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير خطة زمنية
</button>
class=
"btn mr-1 btn-secondary m-1"
>
طباعة
</button>
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير متابعة المراحل
</button>
<button
type=
"button"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير انشغالية
</button>
<button
type=
"button"
[
routerLink
]="['/
reports
/
timeline
/',
project
.
id
]"
class=
"btn mr-1 btn-secondary m-1"
>
تقرير خطة زمنية
</button>
</div>
</div>
</div>
</div>
<div
class=
"card shadow"
id=
"pdfContent"
>
<div
class=
"card shadow"
id=
"pdfContent"
>
<div
class=
"card-body p-5"
>
<div
class=
"card-body p-5"
>
<project-header
[
projectInfo
]="
project
.
projectInfo
"
></project-header>
<project-header
[
projectInfo
]="
project
.
projectInfo
"
></project-header>
<div
class=
"row mb-5"
>
<project-subjective
[
project
]="
project
"
>
</project-subjective>
<div
class=
"col-md-4"
>
<hr
/>
<p
class=
"mb-4"
>
<strong>
ذاتية المشروع
</strong>
<br
/>
رمز المشروع:
<small>
{{project.projectInfo.code}}
</small>
<br
/>
كتاب الطرح :
<small>
{{project.proposalInfo.proposingBookNumber}} / {{project.proposalInfo.proposingBookDate | date}}
</small>
<br
/>
كتاب الموافقة :
<small>
{{project.projectAggreement.aggreementNumber}} / {{project.projectAggreement.aggreementDate |date}}
</small>
<br
/>
التمويل :
<small>
{{project.financialFund.financialStatus}} / {{project.financialFund.source}}
</small>
</p>
</div>
<div
class=
"col-md-4 text-center"
>
<p
class=
"mb-4"
>
<strong>
المعلومات التنفيذية
</strong>
<br
/>
الجهة المنفذة:
<small>
{{project.executer.name}}
</small>
<br
/>
رئيس فريق العمل:
<small>
{{project.teamLeader.personalInfo | fullname}}
</small>
<br
/>
مدير المشروع :
<small>
{{project.projectManager.personalInfo | fullname}}
</small>
<br
/>
ينفذ لصالح :
<small>
{{project.proposer.customerName}}
</small>
</p>
</div>
<div
class=
"col-md-4"
>
<p
class=
"mb-4"
>
<strong>
معلومات حالة المشروع
</strong>
<br
/>
المرحلة التطويرير :
<small>
{{project.currentState | stateTranslate}}
</small>
<br
/>
نوع المشروع :
<small>
{{project.projectType.typeName}}
</small>
<br
/>
طبيعة المشروع :
<small>
{{project.projectClassification.projectNature}}
</small>
</p>
</div>
</div>
<!-- /.row -->
<hr>
<p><strong>
مراحل المشروع
</strong></p>
<p><strong>
مراحل المشروع
</strong></p>
<step-table
[
steps
]="
project
.
steps
"
></step-table>
<step-table
[
steps
]="
project
.
steps
"
></step-table>
<hr>
<hr
/>
<participants-table
[
employeeParticipates
]="
project
.
employeeParticipates
"
></participants-table>
<participants-table
[
employeeParticipates
]="
project
.
employeeParticipates
"
></participants-table>
<p><strong>
خطة الانفاق
</strong></p>
<p><strong>
خطة الانفاق
</strong></p>
<financial-spend-table
[
financialSpending
]="
project
.
financialSpending
"
></financial-spend-table>
<financial-spend-table
[
financialSpending
]="
project
.
financialSpending
"
<project-footer
[
proposer
]="
project
.
proposer
"
></financial-spend-table>
[
executer
]="
project
.
executer
"
[
projectManager
]="
project
.
projectManager
"
[
teamLeader
]="
project
.
teamLeader
"
>
<project-footer
[
proposer
]="
project
.
proposer
"
[
executer
]="
project
.
executer
"
[
projectManager
]="
project
.
projectManager
"
[
teamLeader
]="
project
.
teamLeader
"
>
</project-footer>
</project-footer>
</div>
<!-- /.card-body -->
</div>
</div>
<!-- /.card -->
<!-- /.card-body -->
</div>
<!-- /.col-12 -->
</div>
<!-- /.card -->
</div>
<!-- /.col-12 -->
</div>
</div>
</div>
</div>
\ No newline at end of file
src/app/reports/reports.module.ts
View file @
d6447fc8
...
@@ -8,13 +8,17 @@ import { EmployeesTrackReportComponent } from './pages/employees-track-report/em
...
@@ -8,13 +8,17 @@ import { EmployeesTrackReportComponent } from './pages/employees-track-report/em
import
{
StepsTrackReportComponent
}
from
'./pages/steps-track-report/steps-track-report.component'
;
import
{
StepsTrackReportComponent
}
from
'./pages/steps-track-report/steps-track-report.component'
;
import
{
ProjectTrackHistoryComponent
}
from
'./pages/project-track-history/project-track-history.component'
;
import
{
ProjectTrackHistoryComponent
}
from
'./pages/project-track-history/project-track-history.component'
;
import
{
ProjectTimeLineComponent
}
from
'./pages/project-time-line/project-time-line.component'
;
import
{
ProjectTimeLineComponent
}
from
'./pages/project-time-line/project-time-line.component'
;
import
{
ProjectHeaderComponent
}
from
'./componenets/project-header/project-header.component'
;
import
{
ProjectHeaderComponent
}
from
'./componenets/project-
report-layout/project-
header/project-header.component'
;
import
{
FinancialSpendTableComponent
}
from
'./componenets/financial-spend-table/financial-spend-table.component'
;
import
{
FinancialSpendTableComponent
}
from
'./componenets/financial-spend-table/financial-spend-table.component'
;
import
{
ParticipantsTableComponent
}
from
'./componenets/participants-table/participants-table.component'
;
import
{
ParticipantsTableComponent
}
from
'./componenets/participants-table/participants-table.component'
;
import
{
ProjectFooterComponent
}
from
'./componenets/project-footer/project-footer.component'
;
import
{
ProjectFooterComponent
}
from
'./componenets/project-
report-layout/project-
footer/project-footer.component'
;
import
{
StepTableComponent
}
from
'./componenets/step-table/step-table.component'
;
import
{
StepTableComponent
}
from
'./componenets/step-table/step-table.component'
;
import
{
SharedModule
}
from
'../shared/shared.module'
;
import
{
SharedModule
}
from
'../shared/shared.module'
;
import
{
GanttChartComponent
}
from
'./componenets/gantt-chart/gantt-chart.component'
;
import
{
GanttChartComponent
}
from
'./componenets/gantt-chart/gantt-chart.component'
;
import
{
ProjectSubjectiveComponent
}
from
'./componenets/project-report-layout/project-subjective/project-subjective.component'
;
import
{
EmployeeTrakTableComponent
}
from
'./componenets/tracks-components/employee-trak-table/employee-trak-table.component'
;
import
{
StepTrakTableComponent
}
from
'./componenets/tracks-components/step-trak-table/step-trak-table.component'
;
import
{
EmployeeContributionTableComponent
}
from
'./componenets/employee-contribution-table/employee-contribution-table.component'
;
@
NgModule
({
@
NgModule
({
...
@@ -30,7 +34,11 @@ import { GanttChartComponent } from './componenets/gantt-chart/gantt-chart.compo
...
@@ -30,7 +34,11 @@ import { GanttChartComponent } from './componenets/gantt-chart/gantt-chart.compo
ProjectFooterComponent
,
ProjectFooterComponent
,
ProjectHeaderComponent
,
ProjectHeaderComponent
,
ProjectTimeLineComponent
,
ProjectTimeLineComponent
,
GanttChartComponent
GanttChartComponent
,
ProjectSubjectiveComponent
,
EmployeeTrakTableComponent
,
StepTrakTableComponent
,
EmployeeContributionTableComponent
],
],
imports
:
[
imports
:
[
CommonModule
,
CommonModule
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment