Commit 789d0100 by Nattana Chaiyamat

ทะเบียนแผนก

parent ba632578
...@@ -94,9 +94,10 @@ ...@@ -94,9 +94,10 @@
<td>{{item.edesc}}</td> <td>{{item.edesc}}</td>
<td class="flex justify-center"> <td class="flex justify-center">
<i class="ti ti-edit cursor-pointer i-gray fs-l px-1" <i class="ti ti-edit cursor-pointer i-gray fs-l px-1"
(click)="selectBu2(item);currentModal='edit'" (click)="currentModal='edit';selectBu2(item)"
data-hs-overlay="#department-list-modal-edit"></i> data-hs-overlay="#department-list-modal-edit"></i>
<i class="ti ti-trash cursor-pointer i-gray fs-l px-1" (click)="selectBu2(item)" <i class="ti ti-trash cursor-pointer i-gray fs-l px-1"
(click)="currentModal='delete';selectBu2(item)"
data-hs-overlay="#department-list-alert-delete-modal"></i> data-hs-overlay="#department-list-alert-delete-modal"></i>
</td> </td>
</tr> </tr>
...@@ -225,7 +226,7 @@ ...@@ -225,7 +226,7 @@
</div> --> </div> -->
<label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดแผนก (ไทย)*</label> <label for="detail_th" class="ti-form-label mt-2rem">รายละเอียดแผนก (ไทย)*</label>
<input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu2.tdesc"> <input type="text" id="detail_th" class="ti-form-input h-16" [(ngModel)]="bu2.tdesc">
<label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดแผนก (อังกฤษ)*</label> <label for="detail_eng" class="ti-form-label mt-2rem">รายละเอียดแผนก (อังกฤษ)</label>
<input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu2.edesc"> <input type="text" id="detail_eng" class="ti-form-input h-16" [(ngModel)]="bu2.edesc">
<div class="flex justify-end mt-2rem mb-1rem space-x-4"> <div class="flex justify-end mt-2rem mb-1rem space-x-4">
<button type="button" <button type="button"
...@@ -579,7 +580,7 @@ ...@@ -579,7 +580,7 @@
</h3> </h3>
<div class="flex justify-end"> <div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger" <button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay="#department-list-alert-modal"> data-hs-overlay="#department-list-modal-add">
<span class="sr-only">Close</span> <span class="sr-only">Close</span>
<i class="ti ti-circle-x fs-xxl"></i> <i class="ti ti-circle-x fs-xxl"></i>
</button> </button>
...@@ -591,16 +592,11 @@ ...@@ -591,16 +592,11 @@
</p> </p>
<div class="flex justify-end mt-2rem mb-1rem"> <div class="flex justify-end mt-2rem mb-1rem">
<button type="button" *ngIf="currentModal=='add'" <button type="button"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10" class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-list-modal-add"> data-hs-overlay="#department-list-modal-add">
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" *ngIf="currentModal=='edit'"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-list-modal-edit">
ย้อนกลับ
</button>
<a class="ti-btn ti-btn-success" href="javascript:void(0);" <a class="ti-btn ti-btn-success" href="javascript:void(0);"
data-hs-overlay="#department-list-alert-modal" (click)="addBu2()"> data-hs-overlay="#department-list-alert-modal" (click)="addBu2()">
บันทึกข้อมูล บันทึกข้อมูล
...@@ -620,7 +616,7 @@ ...@@ -620,7 +616,7 @@
</h3> </h3>
<div class="flex justify-end"> <div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger" <button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay="#department-list-alert-modal"> data-hs-overlay="#department-list-modal-edit">
<span class="sr-only">Close</span> <span class="sr-only">Close</span>
<i class="ti ti-circle-x fs-xxl"></i> <i class="ti ti-circle-x fs-xxl"></i>
</button> </button>
...@@ -632,12 +628,7 @@ ...@@ -632,12 +628,7 @@
</p> </p>
<div class="flex justify-end mt-2rem mb-1rem"> <div class="flex justify-end mt-2rem mb-1rem">
<button type="button" *ngIf="currentModal=='add'" <button type="button"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-list-modal-add">
ย้อนกลับ
</button>
<button type="button" *ngIf="currentModal=='edit'"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10" class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-list-modal-edit"> data-hs-overlay="#department-list-modal-edit">
ย้อนกลับ ย้อนกลับ
...@@ -672,14 +663,9 @@ ...@@ -672,14 +663,9 @@
</p> </p>
<div class="flex justify-end mt-2rem mb-1rem"> <div class="flex justify-end mt-2rem mb-1rem">
<button type="button" *ngIf="currentModal=='add'" <button
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-list-modal-add">
ย้อนกลับ
</button>
<button type="button" *ngIf="currentModal=='edit'"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10" class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-list-modal-edit"> data-hs-overlay="#department-list-alert-delete-modal">
ย้อนกลับ ย้อนกลับ
</button> </button>
<a class="ti-btn ti-btn-success" href="javascript:void(0);" <a class="ti-btn ti-btn-success" href="javascript:void(0);"
...@@ -712,7 +698,8 @@ ...@@ -712,7 +698,8 @@
</button> </button>
</div> </div>
<div class="flex justify-center mt-2rem mb-1rem space-x-4"> <div class="flex justify-center mt-2rem mb-1rem space-x-4">
<button type="submit" class="ti-btn ti-btn-secondary" (click)="uploadFile()" <button type="submit" class="ti-btn ti-btn-secondary"
data-hs-overlay="#department-list-upload-modal" (click)="uploadFile()"
[disabled]="!selectedFile"> [disabled]="!selectedFile">
อัปโหลด อัปโหลด
</button> </button>
......
...@@ -34,13 +34,13 @@ export class DepartmentListComponent implements OnInit { ...@@ -34,13 +34,13 @@ export class DepartmentListComponent implements OnInit {
search: "" search: ""
} }
bu1List: Bu1Model[] = [] bu1List: Bu1Model[] = []
bu1: Bu1Model = new MyBu1Model({}) bu1: Bu1Model = new MyBu1Model()
bu1Modal: table = { bu1Modal: table = {
currentPage: 1, currentPage: 1,
page: Array.from({ length: 1 }, (_, i) => i + 1), page: Array.from({ length: 1 }, (_, i) => i + 1),
search: "" search: ""
} }
currentModal = "" currentModal: 'add' | 'edit' | 'delete' = "add"
constructor(private bu2Service: Bu2Service, constructor(private bu2Service: Bu2Service,
private bu1Service: Bu1Service, private bu1Service: Bu1Service,
private toastr: ToastrService, private toastr: ToastrService,
...@@ -117,8 +117,8 @@ export class DepartmentListComponent implements OnInit { ...@@ -117,8 +117,8 @@ export class DepartmentListComponent implements OnInit {
} }
filterBu2Table() { filterBu2Table() {
return this.bu2List.filter(x => x.bu2id.toLowerCase().includes(this.bu2Table.search.toLowerCase()) || return this.bu2List.filter(x => x.bu2id.toLowerCase().includes(this.bu2Table.search.toLowerCase()) ||
x.tdesc.toLowerCase().includes(this.bu2Table.search.toLowerCase()) || x.tdesc.toLowerCase().includes(this.bu2Table.search.toLowerCase()) ||
x.edesc.toLowerCase().includes(this.bu2Table.search.toLowerCase())) x.edesc.toLowerCase().includes(this.bu2Table.search.toLowerCase()))
} }
selectBu2(bu2?: Bu2Model) { selectBu2(bu2?: Bu2Model) {
this.bu2 = new MyBu2Model(bu2 || {}) this.bu2 = new MyBu2Model(bu2 || {})
...@@ -140,8 +140,8 @@ export class DepartmentListComponent implements OnInit { ...@@ -140,8 +140,8 @@ export class DepartmentListComponent implements OnInit {
} }
filterBu2Modal() { filterBu2Modal() {
return this.bu2List.filter(x => x.bu2id.toLowerCase().includes(this.bu2Modal.search.toLowerCase()) || return this.bu2List.filter(x => x.bu2id.toLowerCase().includes(this.bu2Modal.search.toLowerCase()) ||
x.tdesc.toLowerCase().includes(this.bu2Modal.search.toLowerCase()) || x.tdesc.toLowerCase().includes(this.bu2Modal.search.toLowerCase()) ||
x.edesc.toLowerCase().includes(this.bu2Modal.search.toLowerCase())) x.edesc.toLowerCase().includes(this.bu2Modal.search.toLowerCase()))
} }
...@@ -161,8 +161,8 @@ export class DepartmentListComponent implements OnInit { ...@@ -161,8 +161,8 @@ export class DepartmentListComponent implements OnInit {
} }
filterBu1Modal() { filterBu1Modal() {
return this.bu1List.filter(x => x.bu1id.toLowerCase().includes(this.bu1Modal.search.toLowerCase()) || return this.bu1List.filter(x => x.bu1id.toLowerCase().includes(this.bu1Modal.search.toLowerCase()) ||
x.tdesc.toLowerCase().includes(this.bu1Modal.search.toLowerCase()) || x.tdesc.toLowerCase().includes(this.bu1Modal.search.toLowerCase()) ||
x.edesc.toLowerCase().includes(this.bu1Modal.search.toLowerCase())) x.edesc.toLowerCase().includes(this.bu1Modal.search.toLowerCase()))
} }
selectBu1(bu1?: Bu1Model) { selectBu1(bu1?: Bu1Model) {
this.bu1 = new MyBu1Model(bu1 || {}) this.bu1 = new MyBu1Model(bu1 || {})
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</div> </div>
<div class="px-1"> <div class="px-1">
<button type="button" class="ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md" <button type="button" class="ti-btn ti-btn-soft-secondary h-45px m-0 shadow-md"
data-hs-overlay="#department-register-modal-add" (click)="selectBu1()"> data-hs-overlay="#department-register-modal-add" (click)="currentModel='add';selectBu1()">
<i class="ri-add-line"></i> <i class="ri-add-line"></i>
Add Add
</button> </button>
...@@ -89,9 +89,11 @@ ...@@ -89,9 +89,11 @@
<td>{{item.tdesc}}</td> <td>{{item.tdesc}}</td>
<td>{{item.edesc}}</td> <td>{{item.edesc}}</td>
<td class="flex justify-center"> <td class="flex justify-center">
<i class="ti ti-edit cursor-pointer i-gray fs-l px-1" (click)="selectBu1(item)" <i class="ti ti-edit cursor-pointer i-gray fs-l px-1"
(click)="currentModel='edit';selectBu1(item)"
data-hs-overlay="#department-register-modal-edit"></i> data-hs-overlay="#department-register-modal-edit"></i>
<i class="ti ti-trash cursor-pointer i-gray fs-l px-1" (click)="selectBu1(item)" <i class="ti ti-trash cursor-pointer i-gray fs-l px-1"
(click)="currentModel='delete';selectBu1(item)"
data-hs-overlay="#department-register-delete-alert-modal"></i> data-hs-overlay="#department-register-delete-alert-modal"></i>
</td> </td>
</tr> </tr>
...@@ -277,7 +279,7 @@ ...@@ -277,7 +279,7 @@
</h3> </h3>
<div class="flex justify-end"> <div class="flex justify-end">
<button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger" <button type="button" class="hs-dropdown-toggle ti-modal-clode-btn text-danger"
data-hs-overlay="#department-register-alert-modal"> [attr.data-hs-overlay]="currentModel=='add'?'#department-register-modal-add':'#department-register-modal-edit'">
<span class="sr-only">Close</span> <span class="sr-only">Close</span>
<i class="ti ti-circle-x fs-xxl"></i> <i class="ti ti-circle-x fs-xxl"></i>
</button> </button>
...@@ -291,7 +293,7 @@ ...@@ -291,7 +293,7 @@
<div class="flex justify-end mt-2rem mb-1rem"> <div class="flex justify-end mt-2rem mb-1rem">
<button type="button" <button type="button"
class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10" class="hs-dropdown-toggle ti-btn ti-border font-medium bg-white text-gray-700 shadow-sm align-middle hover:bg-gray-50 focus:ring-offset-white focus:ring-primary dark:bg-bgdark dark:hover:bg-black/20 dark:border-white/10 dark:text-white/70 dark:hover:text-white dark:focus:ring-offset-white/10"
data-hs-overlay="#department-register-alert-modal"> [attr.data-hs-overlay]="currentModel=='add'?'#department-register-modal-add':'#department-register-modal-edit'">
ย้อนกลับ ย้อนกลับ
</button> </button>
<button type="button" class="ti-btn ti-btn-success" (click)="addBu1()" <button type="button" class="ti-btn ti-btn-success" (click)="addBu1()"
...@@ -360,8 +362,9 @@ ...@@ -360,8 +362,9 @@
</button> </button>
</div> </div>
<div class="flex justify-center mt-2rem mb-1rem space-x-4"> <div class="flex justify-center mt-2rem mb-1rem space-x-4">
<button type="submit" class="ti-btn ti-btn-secondary" [class.ti-btn-disabled]="!selectedFile" <button type="submit" data-hs-overlay="#department-register-upload-modal"
(click)="uploadFile()" [disabled]="!selectedFile"> class="ti-btn ti-btn-secondary" [class.ti-btn-disabled]="!selectedFile" (click)="uploadFile()"
[disabled]="!selectedFile">
อัปโหลด อัปโหลด
</button> </button>
</div> </div>
......
...@@ -14,11 +14,13 @@ export class DepartmentRegisterComponent implements OnInit { ...@@ -14,11 +14,13 @@ export class DepartmentRegisterComponent implements OnInit {
page = Array.from({ length: 1 }, (_, i) => i + 1); page = Array.from({ length: 1 }, (_, i) => i + 1);
bu1List: Bu1Model[] = [] bu1List: Bu1Model[] = []
bu1ListLoading = false bu1ListLoading = false
bu1: Bu1Model = new MyBu1Model({}) bu1: Bu1Model = new MyBu1Model()
search = "" search = ""
selectedFile: File | null = null; selectedFile: File | null = null;
selectedFileName: string = 'กรุณาเลือกไฟล์'; selectedFileName: string = 'กรุณาเลือกไฟล์';
currentModel: 'add' | 'edit' | 'delete' = "add"
constructor(private bu1Service: Bu1Service, constructor(private bu1Service: Bu1Service,
private toastr: ToastrService, private toastr: ToastrService,
private cdr: ChangeDetectorRef, private cdr: ChangeDetectorRef,
......
...@@ -221,7 +221,7 @@ export class SubEmployeeRegistrationComponent { ...@@ -221,7 +221,7 @@ export class SubEmployeeRegistrationComponent {
getEmployeeList() { getEmployeeList() {
this.employee.loading = true this.employee.loading = true
this.employeeService.getPageListAll().subscribe({ this.employeeService.getList().subscribe({
next: response => { next: response => {
this.employee.dataList = response.map((x: any) => ({ check: false, data: new MyEmployeeModel(x) })) this.employee.dataList = response.map((x: any) => ({ check: false, data: new MyEmployeeModel(x) }))
this.employee.loading = false this.employee.loading = false
...@@ -234,7 +234,11 @@ export class SubEmployeeRegistrationComponent { ...@@ -234,7 +234,11 @@ export class SubEmployeeRegistrationComponent {
}) })
} }
updateEmployeeList(type: 'add' | 'update' | 'delete') { updateEmployeeList(type: 'add' | 'update' | 'delete') {
this.employeeService[type](this.employee.select).subscribe({ let body = this.employee.select
if (type == 'delete') {
body = [this.employee.select]
}
this.employeeService[type](body).subscribe({
next: response => { next: response => {
if (response.success) { if (response.success) {
this.showAlert(response.message, 'success') this.showAlert(response.message, 'success')
......
...@@ -10,11 +10,11 @@ export class MyBu1Model implements Bu1Model { ...@@ -10,11 +10,11 @@ export class MyBu1Model implements Bu1Model {
tdesc: string; tdesc: string;
edesc: string; edesc: string;
companyId: string companyId: string
constructor(data: Partial<Bu1Model>) { constructor(data?: Partial<Bu1Model>) {
this.bu1id = data.bu1id || "" this.bu1id = data?.bu1id || ""
this.tdesc = data.tdesc || "" this.tdesc = data?.tdesc || ""
this.edesc = data.edesc || "" this.edesc = data?.edesc || ""
this.companyId = data.companyId || "" this.companyId = data?.companyId || ""
} }
} }
...@@ -14,13 +14,13 @@ export class EmployeeService { ...@@ -14,13 +14,13 @@ export class EmployeeService {
constructor(private http: HttpClient) { constructor(private http: HttpClient) {
} }
getPageList(page: string, size: string): Observable<PageModel> { getPageList(page: string, size: string): Observable<PageModel> {
return this.http.get<PageModel>(this.urlApi + "/lists?page=" + page + "&size=" + size) return this.http.get<PageModel>(this.urlApi + "/profile/create-short?page=" + page + "&size=" + size)
} }
getPageListAll(): Observable<EmployeeModel[]> { getPageListAll(): Observable<EmployeeModel[]> {
return this.http.get<PageModel>(`${this.urlApi}/lists?page=0&size=100`).pipe( return this.http.get<PageModel>(`${this.urlApi}/profile/create-short?page=0&size=100`).pipe(
expand(response => expand(response =>
!response.last !response.last
? this.http.get<PageModel>(`${this.urlApi}/lists?page=${response.pageable.pageNumber + 1}&size=100`) ? this.http.get<PageModel>(`${this.urlApi}/profile/create-short?page=${response.pageable.pageNumber + 1}&size=100`)
: [] : []
), ),
map(response => response.content), map(response => response.content),
...@@ -28,6 +28,9 @@ export class EmployeeService { ...@@ -28,6 +28,9 @@ export class EmployeeService {
); );
} }
getList(): Observable<EmployeeModel[]> {
return this.http.get<EmployeeModel[]>(this.urlApi + "/profile/create-short/lists")
}
getById(employeeId: string): Observable<EmployeeModel> { getById(employeeId: string): Observable<EmployeeModel> {
return this.http.get<EmployeeModel>(this.urlApi + "/profile?employeeId=" + employeeId) return this.http.get<EmployeeModel>(this.urlApi + "/profile?employeeId=" + employeeId)
} }
...@@ -37,13 +40,13 @@ export class EmployeeService { ...@@ -37,13 +40,13 @@ export class EmployeeService {
update(body: EmployeeModel): Observable<AlertModel> { update(body: EmployeeModel): Observable<AlertModel> {
return this.http.post<AlertModel>(this.urlApi + '/profile-update', body) return this.http.post<AlertModel>(this.urlApi + '/profile-update', body)
} }
delete(body: EmployeeModel): Observable<AlertModel> { delete(body: EmployeeModel[]): Observable<AlertModel> {
const options = { const options = {
headers: new HttpHeaders({ headers: new HttpHeaders({
"Content-Type": "application/json", "Content-Type": "application/json",
}), }),
body: body body: body
}; };
return this.http.delete<AlertModel>(this.urlApi, options) return this.http.delete<AlertModel>(this.urlApi + "/profile-delete", options)
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment