Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
myhr-portal
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
myhr-portal
Commits
67c6ee0b
Commit
67c6ee0b
authored
Jul 15, 2025
by
Nattana Chaiyamat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
แก้ไข รายงาน Excel portal
parent
616df1c2
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
66 deletions
+71
-66
excel-list.component.html
src/app/apps/excel-list/excel-list.component.html
+1
-1
excel-list.component.ts
src/app/apps/excel-list/excel-list.component.ts
+30
-28
excel-report-toggle.component.html
...ps/excel-report-toggle/excel-report-toggle.component.html
+1
-1
excel-report-toggle.component.ts
...apps/excel-report-toggle/excel-report-toggle.component.ts
+30
-28
excel-report.component.html
src/app/apps/excel-report/excel-report.component.html
+6
-6
excel-report.component.ts
src/app/apps/excel-report/excel-report.component.ts
+3
-2
No files found.
src/app/apps/excel-list/excel-list.component.html
View file @
67c6ee0b
...
...
@@ -611,7 +611,7 @@
</div>
</ng-container>
</div>
<div
class=
"col"
>
<div
class=
"col
d-flex form-group align-items-center
"
>
<ng-container
*
ngIf=
"item.type=='help'"
>
<button
type=
"button"
class=
"btn btn-danger btn-sm btn-circle"
(
click
)="
item
.
value=
{id:'',tdesc:'',edesc:''}"
><i
class=
"fa fa-times"
></i>
...
...
src/app/apps/excel-list/excel-list.component.ts
View file @
67c6ee0b
...
...
@@ -490,36 +490,38 @@ export class ExcelListComponent implements OnInit {
this
.
valueDetail
=
[]
this
.
getTemplateFileSubscription
=
this
.
excelReportService
.
getTemplateFile
(
templateFile
.
templateId
,
templateFile
.
fileName
).
subscribe
(
response
=>
{
this
.
excelReport
=
response
this
.
getExcelColumn
()
if
(
this
.
excelReport
.
param
)
{
Object
.
entries
(
this
.
excelReport
.
param
.
variableSheet
).
forEach
(([
key
,
value
])
=>
{
const
data
=
value
as
any
if
(
data
.
type
==
'text'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
}
else
if
(
data
.
type
==
'list'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
if
(
this
.
excelReport
)
{
this
.
getExcelColumn
()
if
(
this
.
excelReport
.
param
)
{
Object
.
entries
(
this
.
excelReport
.
param
.
variableSheet
).
forEach
(([
key
,
value
])
=>
{
const
data
=
value
as
any
if
(
data
.
type
==
'text'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
}
)
}
else
if
(
data
.
type
==
'radio'
)
{
this
.
variableSheet
.
push
(
{
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
}
else
if
(
data
.
type
==
'list'
)
{
this
.
variableSheet
.
push
(
{
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
})
})
})
}
else
if
(
data
.
type
==
'help'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
?
{
id
:
data
.
valueDefault
,
tdesc
:
data
.
valueDefault
,
edesc
:
data
.
valueDefault
}
:
{
id
:
""
,
tdesc
:
""
,
edesc
:
""
},
key
:
key
})
}
else
if
(
data
.
type
==
'calendar'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
const
[
d
,
m
,
y
]
=
data
.
valueDefault
?
data
.
valueDefault
.
split
(
'-'
).
map
(
Number
)
:
[
null
,
null
,
null
]
this
.
select
[
key
]
=
y
?
new
NgbDate
(
y
,
m
,
d
)
:
null
}
})
}
else
if
(
data
.
type
==
'radio'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
})
})
}
else
if
(
data
.
type
==
'help'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
?
{
id
:
data
.
valueDefault
,
tdesc
:
data
.
valueDefault
,
edesc
:
data
.
valueDefault
}
:
{
id
:
""
,
tdesc
:
""
,
edesc
:
""
},
key
:
key
})
}
else
if
(
data
.
type
==
'calendar'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
const
[
d
,
m
,
y
]
=
data
.
valueDefault
?
data
.
valueDefault
.
split
(
'-'
).
map
(
Number
)
:
[
null
,
null
,
null
]
this
.
select
[
key
]
=
y
?
new
NgbDate
(
y
,
m
,
d
)
:
null
}
})
}
}
this
.
loading
=
false
this
.
cdr
.
detectChanges
()
...
...
src/app/apps/excel-report-toggle/excel-report-toggle.component.html
View file @
67c6ee0b
...
...
@@ -256,7 +256,7 @@
</div>
</ng-container>
</div>
<div
class=
"col"
>
<div
class=
"col
d-flex form-group align-items-center
"
>
<ng-container
*
ngIf=
"item.type=='help'"
>
<button
type=
"button"
class=
"btn btn-danger btn-sm btn-circle"
(
click
)="
item
.
value=
{id:'',tdesc:'',edesc:''}"
><i
class=
"fa fa-times"
></i>
...
...
src/app/apps/excel-report-toggle/excel-report-toggle.component.ts
View file @
67c6ee0b
...
...
@@ -199,36 +199,38 @@ export class ExcelReportToggleComponent implements OnInit {
this
.
valueDetail
=
[]
this
.
getTemplateFileSubscription
=
this
.
excelReportService
.
getTemplateFile
(
templateFile
.
templateId
,
templateFile
.
fileName
).
subscribe
(
response
=>
{
this
.
excelReport
=
response
this
.
getExcelColumn
()
if
(
this
.
excelReport
.
param
)
{
Object
.
entries
(
this
.
excelReport
.
param
.
variableSheet
).
forEach
(([
key
,
value
])
=>
{
const
data
=
value
as
any
if
(
data
.
type
==
'text'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
}
else
if
(
data
.
type
==
'list'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
if
(
this
.
excelReport
)
{
this
.
getExcelColumn
()
if
(
this
.
excelReport
.
param
)
{
Object
.
entries
(
this
.
excelReport
.
param
.
variableSheet
).
forEach
(([
key
,
value
])
=>
{
const
data
=
value
as
any
if
(
data
.
type
==
'text'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
}
)
}
else
if
(
data
.
type
==
'radio'
)
{
this
.
variableSheet
.
push
(
{
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
}
else
if
(
data
.
type
==
'list'
)
{
this
.
variableSheet
.
push
(
{
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
})
})
})
}
else
if
(
data
.
type
==
'help'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
?
{
id
:
data
.
valueDefault
,
tdesc
:
data
.
valueDefault
,
edesc
:
data
.
valueDefault
}
:
{
id
:
""
,
tdesc
:
""
,
edesc
:
""
},
key
:
key
})
}
else
if
(
data
.
type
==
'calendar'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
const
[
d
,
m
,
y
]
=
data
.
valueDefault
?
data
.
valueDefault
.
split
(
'-'
).
map
(
Number
)
:
[
null
,
null
,
null
]
this
.
select
[
key
]
=
y
?
new
NgbDate
(
y
,
m
,
d
)
:
null
}
})
}
else
if
(
data
.
type
==
'radio'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
,
option
:
data
.
option
.
split
(
'customize|'
)[
1
].
split
(
','
).
map
((
x
:
any
)
=>
{
const
[
value
,
text
]
=
x
.
split
(
'#'
)
return
{
value
:
value
||
''
,
text
:
text
||
''
}
})
})
}
else
if
(
data
.
type
==
'help'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
?
{
id
:
data
.
valueDefault
,
tdesc
:
data
.
valueDefault
,
edesc
:
data
.
valueDefault
}
:
{
id
:
""
,
tdesc
:
""
,
edesc
:
""
},
key
:
key
})
}
else
if
(
data
.
type
==
'calendar'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
const
[
d
,
m
,
y
]
=
data
.
valueDefault
?
data
.
valueDefault
.
split
(
'-'
).
map
(
Number
)
:
[
null
,
null
,
null
]
this
.
select
[
key
]
=
y
?
new
NgbDate
(
y
,
m
,
d
)
:
null
}
})
}
}
this
.
loading
=
false
this
.
cdr
.
detectChanges
()
...
...
src/app/apps/excel-report/excel-report.component.html
View file @
67c6ee0b
...
...
@@ -16,10 +16,10 @@
</div>
<div
class=
"col-3 d-flex form-group align-items-center"
>
<ng-container
*
ngIf=
"item.type=='text'"
>
<input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
item
.
value
"
>
<input
type=
"text"
class=
"form-control"
[(
ngModel
)]="
select
[
item
.
key
]
"
>
</ng-container>
<ng-container
*
ngIf=
"item.type=='list'"
>
<select
class=
"custom-select"
[(
ngModel
)]="
item
.
value
"
>
<select
class=
"custom-select"
[(
ngModel
)]="
select
[
item
.
key
]
"
>
<option
*
ngFor=
"let list of item.option"
[
value
]="
list
.
value
"
>
{{list.text}}
</option>
...
...
@@ -31,7 +31,7 @@
<div
class=
"col-auto custom-control custom-radio"
>
<input
type=
"radio"
class=
"custom-control-input"
[
name
]="'
group-
'
+
item
.
label
"
[
id
]="
radioItem
.
text
+
radioItem
.
value
"
[
value
]="
radioItem
.
value
"
[(
ngModel
)]="
item
.
value
"
>
[
value
]="
radioItem
.
value
"
[(
ngModel
)]="
select
[
item
.
key
]
"
>
<label
class=
"custom-control-label"
[
for
]="
radioItem
.
text
+
radioItem
.
value
"
>
{{radioItem.text}}
</label>
</div>
...
...
@@ -41,7 +41,7 @@
<ng-container
*
ngIf=
"item.type=='help'"
>
<div
class=
"input-group"
>
<input
type=
"text"
readonly
class=
"form-control bg-white cursor-pointer"
[
value
]="
item
.
value
.
tdesc
"
(
click
)="
openModal
(
item
,
modalData
)"
>
[
value
]="
select
[
item
.
key
]
.
tdesc
"
(
click
)="
openModal
(
item
,
modalData
)"
>
<div
class=
"input-group-append"
>
<button
class=
"btn mr-0 btn-info"
type=
"button"
(
click
)="
openModal
(
item
,
modalData
)"
>
...
...
@@ -69,7 +69,7 @@
<div
class=
"col"
>
<ng-container
*
ngIf=
"item.type=='help'"
>
<button
type=
"button"
class=
"btn btn-danger btn-sm btn-circle"
(
click
)="
item
.
value
=
{id:'',tdesc:'',edesc:''}"
><i
class=
"fa fa-times"
></i>
</button>
(
click
)="
select
[
item
.
key
]
={
id:
'',
tdesc:
'',
edesc:
''}"
><i
class=
"fa fa-times"
></i>
</button>
</ng-container>
<ng-container
*
ngIf=
"item.type=='calendar'"
>
<button
type=
"button"
class=
"btn btn-danger btn-sm btn-circle"
...
...
@@ -78,7 +78,7 @@
</ng-container>
<ng-container
*
ngIf=
"item.type=='list'"
>
<button
type=
"button"
class=
"btn btn-danger btn-sm btn-circle"
(
click
)="
item
.
value
=
''
"
><i
class=
"fa fa-times"
></i>
(
click
)="
select
[
item
.
key
]
=''"
><i
class=
"fa fa-times"
></i>
</button>
</ng-container>
</div>
...
...
src/app/apps/excel-report/excel-report.component.ts
View file @
67c6ee0b
...
...
@@ -90,7 +90,7 @@ export class ExcelReportComponent implements OnInit {
this
.
select
[
key
]
=
data
.
value
}
else
if
(
data
.
type
==
'help'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
?
{
id
:
data
.
valueDefault
,
tdesc
:
data
.
valueDefault
,
edesc
:
data
.
valueDefault
}
:
{
id
:
""
,
tdesc
:
""
,
edesc
:
""
},
key
:
key
})
this
.
select
[
key
]
=
data
.
value
this
.
select
[
key
]
=
{
id
:
data
.
value
,
tdesc
:
data
.
value
,
edesc
:
data
.
value
}
}
else
if
(
data
.
type
==
'calendar'
)
{
this
.
variableSheet
.
push
({
...
data
,
value
:
data
.
valueDefault
||
''
,
key
:
key
})
const
[
d
,
m
,
y
]
=
data
.
valueDefault
?
data
.
valueDefault
.
split
(
'-'
).
map
(
Number
)
:
[
null
,
null
,
null
]
...
...
@@ -156,6 +156,7 @@ export class ExcelReportComponent implements OnInit {
selectData
(
data
:
any
)
{
const
item
=
this
.
variableSheet
.
find
((
i
:
any
)
=>
i
.
key
===
this
.
keySelect
);
if
(
item
)
item
.
value
=
data
;
this
.
select
[
this
.
keySelect
]
=
data
}
dowloadExcelReport
()
{
...
...
@@ -168,7 +169,7 @@ export class ExcelReportComponent implements OnInit {
}
else
if
(
item
.
type
==
'list'
||
item
.
type
==
'radio'
||
item
.
type
==
'text'
)
{
return
"__"
+
item
.
key
+
"="
+
this
.
select
[
item
.
key
]
}
else
if
(
item
.
type
==
'calendar'
)
{
return
"__"
+
item
.
key
+
"="
+
this
.
ngbtoDate
(
this
.
select
[
item
.
key
])
return
"__"
+
item
.
key
+
"="
+
this
.
ngbtoDate
(
this
.
select
[
item
.
key
])
.
split
(
'-'
).
reverse
().
join
(
'-'
)
}
return
""
}).
join
(
'|'
)
...
...
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