Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
myAppraisal
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
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
angular
myAppraisal
Commits
56cf33d3
Commit
56cf33d3
authored
Feb 23, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ประเมินตนเอง
parent
801e2585
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
237 additions
and
1 deletions
+237
-1
self-evaluation.component.html
...evaluation/self-evaluation/self-evaluation.component.html
+167
-0
self-evaluation.component.ts
...e-evaluation/self-evaluation/self-evaluation.component.ts
+70
-1
No files found.
src/app/components/performance-evaluation/self-evaluation/self-evaluation.component.html
View file @
56cf33d3
...
...
@@ -318,4 +318,170 @@
</table>
</div>
</div>
<div
class=
"pb-1rem px-2rem"
>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
รวมจำนวนเครื่องหมายแต่ละช่อง (1)
</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-1 text-center"
>
14
</div>
<div
class=
"col-span-1 text-center"
>
6
</div>
<div
class=
"col-span-1 text-center"
>
0
</div>
<div
class=
"col-span-1 text-center"
>
0
</div>
<div
class=
"col-span-1 text-center"
>
0
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
ตัวคูณคะแนนในแต่ละช่อง (2)
</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-1 text-center"
>
1
</div>
<div
class=
"col-span-1 text-center"
>
0.8
</div>
<div
class=
"col-span-1 text-center"
>
0.6
</div>
<div
class=
"col-span-1 text-center"
>
0.4
</div>
<div
class=
"col-span-1 text-center"
>
0.2
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
ถ่วงน้ำหนักผลรวม 1X2
</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-1 text-center"
>
14
</div>
<div
class=
"col-span-1 text-center"
>
4.80
</div>
<div
class=
"col-span-1 text-center"
>
0.00
</div>
<div
class=
"col-span-1 text-center"
>
0.00
</div>
<div
class=
"col-span-1 text-center"
>
0.00
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
คะแนนรวมหลังถ่วงน้ำ
</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-5 text-center"
>
18.80
</div>
</div>
</div>
<div
class=
"py-2 grid grid-cols-11"
>
<div
class=
"col-span-8"
>
คะแนนเฉลี่ยคิดเป็น
</div>
<div
class=
"col-span-3 grid grid-cols-5"
>
<div
class=
"col-span-5 text-center"
>
94.00
</div>
</div>
</div>
</div>
<div
class=
"pb-2rem px-2rem"
>
<div
class=
"overflow-auto rounded-top-0.65rem"
>
<table
class=
"ti-custom-table ti-custom-table-head ti-custom-table-hover"
>
<thead
class=
"height-50px"
>
<tr
class=
"font-size-12px"
>
<ng-container
*
ngFor=
"let item of ['เกณฑ์การให้คะแนนการประประเมิน Check Sheet E01','ความคาดหวัง (E)','ผลประเมิน (A)','สรุปผล Gap'];let f = first ;let l = last"
>
<th
scope=
"col"
[
attr
.
rowspan
]="
f
?'
1
'
:
'
2
'"
[
attr
.
colspan
]="
f
?'
2
'
:
'
1
'"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
<span
class=
"font-size-12px font-weight-700 "
>
{{ item }}
</span>
<div
*
ngIf=
"!f&&!l"
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
<th
*
ngIf=
"f"
scope=
"col"
rowspan=
"2"
class=
"relative bg-soft-secondary text-primary !text-center !p-0"
>
<div
class=
"absolute top-1/2 transform -translate-y-1/2 right-0"
>
<i
class=
"ti ti-dots-vertical fs-l"
></i>
</div>
</th>
</ng-container>
</tr>
<tr
class=
"font-size-12px"
>
<ng-container
*
ngFor=
"let item of ['เกณฑ์การให้คะแนน','เงื่อนไข']"
>
<th
scope=
"col"
class=
"relative px-10px py-10px bg-soft-secondary text-primary !text-center"
>
{{item}}
</th>
</ng-container>
</tr>
</thead>
<tbody
*
ngIf=
"dataList4.length"
>
<tr
*
ngFor=
"let item of dataList4;let i = index"
>
<td
class=
"align-start"
rowspan=
"2"
>
<div
*
ngFor=
"let item2 of item.score"
>
<span>
{{item2}}
</span><br>
</div>
</td>
<td
class=
"align-start"
rowspan=
"2"
>
<div
*
ngFor=
"let item2 of item.condition"
>
<span>
{{item2}}
</span><br>
</div>
</td>
<td
class=
"!p-0"
></td>
<td
class=
"align-start text-center"
>
{{item.e}}
</td>
<td
class=
"align-start text-center"
>
{{item.a}}
</td>
<td
class=
"align-start text-center"
>
{{item.gap}}
</td>
</tr>
<tr>
<td
class=
"align-start !white-space-normal"
colspan=
"4"
>
หมายเหตุ
<br>
ผลการประเมินอาจมีการเปลี่ยนแปลงเงื่อนไขข้อ 1-3 เนื่องจากมีคะแนนต่ำกว่าเกณฑ์ในบางข้อ
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div
class=
"py-1rem px-2rem"
>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้ประเมิน1
</div>
<div
class=
"col-span-1"
>
น.ส. พิมพร อูรณการ
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage1"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200"
>
<label
for=
"hs-basic-usage1"
class=
"sr-only"
>
ยืนยันผล
</label>
</div>
<div
class=
"col-span-2"
>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
></textarea>
<span
class=
"pt-2"
>
วันที่ :
</span>
</div>
</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้ประเมิน2
</div>
<div
class=
"col-span-1"
>
น.ส. นดี แป้นศรี
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage2"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200"
>
<label
for=
"hs-basic-usage2"
class=
"sr-only"
>
ตรวจสอบ
</label>
</div>
<div
class=
"col-span-2"
>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
value=
"ใส่ Comment ที่นี่"
></textarea>
<span>
วันที่ :
</span>
</div>
</div>
<div
class=
"py-2 grid grid-cols-7 gap-3"
>
<div
class=
"col-span-1"
>
ผู้อนุมัติ
</div>
<div
class=
"col-span-1"
>
น.ส.ศรีไพ คชา
</div>
<div
class=
"col-span-1"
>
<input
type=
"checkbox"
id=
"hs-basic-usage3"
class=
"ti-switch checked:bg-none checked:bg-green-600 checked:hover:bg-green-600 checked:focus:bg-green-600 focus:border-green-600 focus:ring-green-600 dark:checked:bg-green-600
checked:before:bg-green-200 dark:checked:before:bg-green-200"
>
<label
for=
"hs-basic-usage3"
class=
"sr-only"
>
อนุมัติ
</label>
</div>
<div
class=
"col-span-2"
>
<textarea
type=
"text"
rows=
"2"
class=
"ti-form-input mb-2"
value=
"ใส่ Comment ที่นี่"
></textarea>
<span>
วันที่ :
</span>
</div>
</div>
</div>
<div
class=
"flex justify-center mb-1rem pb-2rem"
>
<button
type=
"submit"
class=
"ti-btn ti-btn-success mx-2rem"
(
click
)="
saveDraft
()"
>
บันทึกร่าง
</button>
<button
type=
"submit"
class=
"ti-btn ti-btn-success mx-2rem"
>
บันทึกข้อมูล
</button>
</div>
</ng-template>
\ No newline at end of file
src/app/components/performance-evaluation/self-evaluation/self-evaluation.component.ts
View file @
56cf33d3
import
{
Component
,
OnInit
,
TemplateRef
,
ViewChild
}
from
'@angular/core'
;
import
Swal
from
'sweetalert2'
;
export
interface
DataModel
{
code
:
string
,
...
...
@@ -59,7 +61,7 @@ export class SelfEvaluationComponent implements OnInit {
status
:
"ยังไม่ประเมิน"
}
]
hoveredCode
:
string
|
null
=
null
;
dataList3
:
Data2Model
[]
=
[
{
...
...
@@ -109,6 +111,20 @@ export class SelfEvaluationComponent implements OnInit {
}],
}
]
dataList4
:
{
score
:
string
[],
condition
:
string
[],
e
:
string
,
a
:
string
,
gap
:
string
}[]
=
[{
score
:
[
"หากได้คะแนน 90 - 100% ถือว่า Gap +1"
,
"หากได้คะแนน 80 - 89% ถือว่า ไม่มี Gap"
,
"หากได้คะแนน 60 - 79% ถือว่า Gap - 1"
,
"หากได้คะแนน 40 - 59% ถือว่า Gap -"
,
"หากได้คะแนน 0 - 39% ถือว่า Gap - 3"
],
condition
:
[
"1.หากได้คะแนนสูงกว่า 80% แต่มี 3 2 หรือ 1 ด้วย ถือว่า Gap -1"
,
"2.หากได้คะแนนต่ำกว่า 80% แต่มี 4 และ 5 ให้คิด Gap ตาม %"
,
"3.คะแนนต่ำกว่า 80% แต่มี 2 และ 1 ให้คิด Gap ตาม %"
],
e
:
"4"
,
a
:
"3"
,
gap
:
"-1"
}]
@
ViewChild
(
'selfEvaluation1_2'
,
{
static
:
true
})
selfEvaluation1_2
!
:
TemplateRef
<
any
>
;
@
ViewChild
(
'selfEvaluation1_2Edit'
,
{
static
:
true
})
selfEvaluation1_2Edit
!
:
TemplateRef
<
any
>
;
currentTemplate
:
TemplateRef
<
any
>
=
this
.
selfEvaluation1_2
...
...
@@ -127,4 +143,57 @@ export class SelfEvaluationComponent implements OnInit {
showTools
(
data
:
string
[])
{
return
data
.
join
(
"/"
)
}
saveDraft
()
{
Swal
.
fire
({
iconHtml
:
`
<div class="flex items-center justify-center rounded-full !h-80px !w-80px" style="background-color: #E8F8EE;">
<svg width="39" height="39" viewBox="0 0 39 39" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="39" height="39" fill="#D2D2D2"/>
<g id="Component">
<g id="alert cart">
<g id="mdi:file-export">
<circle cx="22.5" cy="19.5" r="33.5" fill="#E8F8EE"/>
<path d="M9.75 3.25C8.88805 3.25 8.0614 3.59241 7.4519 4.2019C6.84241 4.8114 6.5 5.63805 6.5 6.5V32.5C6.5 33.362 6.84241 34.1886 7.4519 34.7981C8.0614 35.4076 8.88805 35.75 9.75 35.75H29.25C30.112 35.75 30.9386 35.4076 31.5481 34.7981C32.1576 34.1886 32.5 33.362 32.5 32.5V13L22.75 3.25M21.125 5.6875L30.0625 14.625H21.125M14.5113 19.8575H26V31.3463L22.555 27.9013L17.9563 32.5L13.3575 27.9013L17.9563 23.3188"
fill="#1DBE5A"/>
</g>
</g>
</g>
</svg>
</div>
`
,
title
:
'บันทึกแบบร่าง'
,
text
:
'คุณต้องการบันทึกแบบร่างของการประเมินนี้ใช่หรือไม่'
,
showCancelButton
:
true
,
confirmButtonText
:
'ยืนยันการบันทึก'
,
cancelButtonText
:
'ย้อนกลับ'
,
customClass
:
{
title
:
'!swal2-title-mt-20px'
,
actions
:
'!swal2-actions-mt-20px'
,
icon
:
'!swal2-icon-no-border'
,
confirmButton
:
'!swal2-button-bg-green'
,
cancelButton
:
'!swal2-button-bg-gray'
,
},
}).
then
((
result
)
=>
{
if
(
result
.
isConfirmed
)
{
Swal
.
fire
({
title
:
'บันทึกสำเร็จ!'
,
text
:
'การประเมินของคุณถูกบันทึกแล้ว'
,
icon
:
'success'
,
customClass
:
{
confirmButton
:
'!swal2-button-bg-green'
,
}
});
}
else
if
(
result
.
dismiss
===
Swal
.
DismissReason
.
cancel
)
{
Swal
.
fire
({
title
:
'ยกเลิก!'
,
text
:
'การบันทึกถูกยกเลิก'
,
icon
:
'error'
,
customClass
:
{
confirmButton
:
'!swal2-button-bg-danger'
,
}
});
}
});
}
}
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