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
3437a643
Commit
3437a643
authored
Mar 10, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
การจัดการหัวข้อการประเมินเวลาทำงาน
parent
c9b15e25
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
34 deletions
+58
-34
time-attendance.component.html
...evaluation/time-attendance/time-attendance.component.html
+28
-4
pms-working-time.model.ts
src/app/shared/model/pms-working-time.model.ts
+30
-30
No files found.
src/app/components/performance-management-evaluation/time-attendance/time-attendance.component.html
View file @
3437a643
...
@@ -120,8 +120,7 @@
...
@@ -120,8 +120,7 @@
(
ngModelChange
)="
dataListCheck
()"
id=
"checkbox-{{item.data.pmsWorkingTimeId}}"
>
(
ngModelChange
)="
dataListCheck
()"
id=
"checkbox-{{item.data.pmsWorkingTimeId}}"
>
</td>
</td>
<td>
<td>
<label
<label
for=
"checkbox-{{item.data.pmsWorkingTimeId}}"
>
{{item.data.pmsWorkingTimeId}}
</label>
for=
"checkbox-{{item.data.pmsWorkingTimeId}}"
>
{{item.data.pmsWorkingTimeId}}
</label>
</td>
</td>
<td>
{{item.data.tdesc}}
</td>
<td>
{{item.data.tdesc}}
</td>
<td>
{{item.data.detailUnit}}
</td>
<td>
{{item.data.detailUnit}}
</td>
...
@@ -224,7 +223,7 @@
...
@@ -224,7 +223,7 @@
</div>
</div>
</div>
</div>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
<div
class=
"ti-modal-body padding-16px pt-0 overflow-y-0"
>
<label
class=
"ti-form-label mt-2rem"
>
รหัส
ประเภทวัน
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
รหัส
<span
class=
"text-danger"
>
*
</span></label>
<input
type=
"text"
class=
"ti-form-input w-1/2"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
<input
type=
"text"
class=
"ti-form-input w-1/2"
[
ngClass
]="{'
bg-input-readonly
'
:modalStatus=
='edit'}"
[
readonly
]="
modalStatus=
='edit'"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
pmsWorkingTimeId
"
>
[
readonly
]="
modalStatus=
='edit'"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
pmsWorkingTimeId
"
>
<label
class=
"ti-form-label mt-2rem"
>
รหัสประเภทวัน
<span
class=
"text-danger"
>
*
</span></label>
<label
class=
"ti-form-label mt-2rem"
>
รหัสประเภทวัน
<span
class=
"text-danger"
>
*
</span></label>
...
@@ -283,7 +282,12 @@
...
@@ -283,7 +282,12 @@
<label
class=
"ti-form-label mt-2rem"
>
ชื่อหัวข้อ (อังกฤษ)
</label>
<label
class=
"ti-form-label mt-2rem"
>
ชื่อหัวข้อ (อังกฤษ)
</label>
<input
type=
"text"
class=
"ti-form-input"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
edesc
"
>
<input
type=
"text"
class=
"ti-form-input"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
edesc
"
>
<label
class=
"ti-form-label mt-2rem"
>
เป้าหมายผลงาน
</label>
<label
class=
"ti-form-label mt-2rem"
>
เป้าหมายผลงาน
</label>
<input
type=
"text"
class=
"ti-form-input"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
weight
"
>
<input
type=
"text"
class=
"ti-form-input"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
performanceTargets
"
>
<label
class=
"ti-form-label mt-2rem"
>
หน่วยนับ
</label>
<!-- <input type="text" class="ti-form-input" [(ngModel)]="pmsWorkingTime.select.detailUnit"> -->
<select
class=
"ti-form-select"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
detailUnit
"
>
<option
*
ngFor=
"let item of ['นาที','ชั่วโมง','วัน','ครั้ง']"
[
value
]="
item
"
>
{{item}}
</option>
</select>
<label
class=
"ti-form-label mt-2rem"
>
น้ำหนัก
</label>
<label
class=
"ti-form-label mt-2rem"
>
น้ำหนัก
</label>
<input
type=
"text"
class=
"ti-form-input"
<input
type=
"text"
class=
"ti-form-input"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
...
@@ -299,9 +303,13 @@
...
@@ -299,9 +303,13 @@
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionAMin
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionAMin
"
>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionAMax
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionAMax
"
>
</div>
</div>
</div>
</div>
...
@@ -314,9 +322,13 @@
...
@@ -314,9 +322,13 @@
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionBMin
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionBMin
"
>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionBMax
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionBMax
"
>
</div>
</div>
</div>
</div>
...
@@ -329,9 +341,13 @@
...
@@ -329,9 +341,13 @@
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionCMin
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionCMin
"
>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionCMax
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionCMax
"
>
</div>
</div>
</div>
</div>
...
@@ -344,9 +360,13 @@
...
@@ -344,9 +360,13 @@
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionDMin
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionDMin
"
>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionDMax
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionDMax
"
>
</div>
</div>
</div>
</div>
...
@@ -359,9 +379,13 @@
...
@@ -359,9 +379,13 @@
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<div
class=
"col-span-1 grid grid-cols-12 gap-x-2"
>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<label
class=
"ti-form-label col-span-2 align-center m-0"
>
เงื่อนไข ช่วงระหว่าง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionEMin
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionEMin
"
>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<label
class=
"ti-form-label col-span-1 align-center text-center m-0"
>
ถึง
</label>
<input
type=
"text"
class=
"ti-form-input col-span-2"
<input
type=
"text"
class=
"ti-form-input col-span-2"
oninput=
"this.value = this.value.replace(/[^\d.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\..*?)(\d{2})./g, '$1$2');"
onchange=
"this.value = this.value.replace('', '0');this.value = parseFloat(this.value).toFixed(2)"
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionEMax
"
>
[(
ngModel
)]="
pmsWorkingTime
.
select
.
conditionEMax
"
>
</div>
</div>
</div>
</div>
...
...
src/app/shared/model/pms-working-time.model.ts
View file @
3437a643
...
@@ -10,20 +10,20 @@ export interface PmsWorkingTimeModel {
...
@@ -10,20 +10,20 @@ export interface PmsWorkingTimeModel {
detailUnit
:
string
detailUnit
:
string
performanceTargets
:
string
performanceTargets
:
string
targetADetail
:
string
targetADetail
:
string
conditionAMin
:
string
conditionAMin
:
number
conditionAMax
:
string
conditionAMax
:
number
targetBDetail
:
string
targetBDetail
:
string
conditionBMin
:
string
conditionBMin
:
number
conditionBMax
:
string
conditionBMax
:
number
targetCDetail
:
string
targetCDetail
:
string
conditionCMin
:
string
conditionCMin
:
number
conditionCMax
:
string
conditionCMax
:
number
targetDDetail
:
string
targetDDetail
:
string
conditionDMin
:
string
conditionDMin
:
number
conditionDMax
:
string
conditionDMax
:
number
targetEDetail
:
string
targetEDetail
:
string
conditionEMin
:
string
conditionEMin
:
number
conditionEMax
:
string
conditionEMax
:
number
emeventgrp
:
EmeventgrpModel
[]
emeventgrp
:
EmeventgrpModel
[]
}
}
...
@@ -37,20 +37,20 @@ export class MyPmsWorkingTimeModel implements PmsWorkingTimeModel {
...
@@ -37,20 +37,20 @@ export class MyPmsWorkingTimeModel implements PmsWorkingTimeModel {
detailUnit
:
string
detailUnit
:
string
performanceTargets
:
string
performanceTargets
:
string
targetADetail
:
string
targetADetail
:
string
conditionAMin
:
string
conditionAMin
:
number
conditionAMax
:
string
conditionAMax
:
number
targetBDetail
:
string
targetBDetail
:
string
conditionBMin
:
string
conditionBMin
:
number
conditionBMax
:
string
conditionBMax
:
number
targetCDetail
:
string
targetCDetail
:
string
conditionCMin
:
string
conditionCMin
:
number
conditionCMax
:
string
conditionCMax
:
number
targetDDetail
:
string
targetDDetail
:
string
conditionDMin
:
string
conditionDMin
:
number
conditionDMax
:
string
conditionDMax
:
number
targetEDetail
:
string
targetEDetail
:
string
conditionEMin
:
string
conditionEMin
:
number
conditionEMax
:
string
conditionEMax
:
number
emeventgrp
:
EmeventgrpModel
[]
emeventgrp
:
EmeventgrpModel
[]
constructor
(
data
?:
Partial
<
PmsWorkingTimeModel
>
)
{
constructor
(
data
?:
Partial
<
PmsWorkingTimeModel
>
)
{
this
.
pmsWorkingTimeId
=
data
?.
pmsWorkingTimeId
||
""
this
.
pmsWorkingTimeId
=
data
?.
pmsWorkingTimeId
||
""
...
@@ -62,20 +62,20 @@ export class MyPmsWorkingTimeModel implements PmsWorkingTimeModel {
...
@@ -62,20 +62,20 @@ export class MyPmsWorkingTimeModel implements PmsWorkingTimeModel {
this
.
detailUnit
=
data
?.
detailUnit
||
""
this
.
detailUnit
=
data
?.
detailUnit
||
""
this
.
performanceTargets
=
data
?.
performanceTargets
||
""
this
.
performanceTargets
=
data
?.
performanceTargets
||
""
this
.
targetADetail
=
data
?.
targetADetail
||
""
this
.
targetADetail
=
data
?.
targetADetail
||
""
this
.
conditionAMin
=
data
?.
conditionAMin
||
""
this
.
conditionAMin
=
data
?.
conditionAMin
??
0
this
.
conditionAMax
=
data
?.
conditionAMax
||
""
this
.
conditionAMax
=
data
?.
conditionAMax
??
0
this
.
targetBDetail
=
data
?.
targetBDetail
||
""
this
.
targetBDetail
=
data
?.
targetBDetail
||
""
this
.
conditionBMin
=
data
?.
conditionBMin
||
""
this
.
conditionBMin
=
data
?.
conditionBMin
??
0
this
.
conditionBMax
=
data
?.
conditionBMax
||
""
this
.
conditionBMax
=
data
?.
conditionBMax
??
0
this
.
targetCDetail
=
data
?.
targetCDetail
||
""
this
.
targetCDetail
=
data
?.
targetCDetail
||
""
this
.
conditionCMin
=
data
?.
conditionCMin
||
""
this
.
conditionCMin
=
data
?.
conditionCMin
??
0
this
.
conditionCMax
=
data
?.
conditionCMax
||
""
this
.
conditionCMax
=
data
?.
conditionCMax
??
0
this
.
targetDDetail
=
data
?.
targetDDetail
||
""
this
.
targetDDetail
=
data
?.
targetDDetail
||
""
this
.
conditionDMin
=
data
?.
conditionDMin
||
""
this
.
conditionDMin
=
data
?.
conditionDMin
??
0
this
.
conditionDMax
=
data
?.
conditionDMax
||
""
this
.
conditionDMax
=
data
?.
conditionDMax
??
0
this
.
targetEDetail
=
data
?.
targetEDetail
||
""
this
.
targetEDetail
=
data
?.
targetEDetail
||
""
this
.
conditionEMin
=
data
?.
conditionEMin
||
""
this
.
conditionEMin
=
data
?.
conditionEMin
??
0
this
.
conditionEMax
=
data
?.
conditionEMax
||
""
this
.
conditionEMax
=
data
?.
conditionEMax
??
0
this
.
emeventgrp
=
data
?.
emeventgrp
?.
map
(
x
=>
new
MyEmeventgrpModel
(
x
))
||
[]
this
.
emeventgrp
=
data
?.
emeventgrp
?.
map
(
x
=>
new
MyEmeventgrpModel
(
x
))
||
[]
}
}
}
}
...
...
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