From 72c7e714f56dd9509c4c73e4bfae1f4d7acc407a Mon Sep 17 00:00:00 2001 From: adibwp Date: Wed, 14 Aug 2024 13:59:15 +0700 Subject: [PATCH] add detail pemeriksaan --- .../sidebar_user_profile.templ | 2 + .../sidebar_user_profile_templ.go | 6 +- .../mcudetail/tabdaftarpeserta.handlers.go | 274 ++++++++++---- handlers/routes.go | 1 + models/mcudaftarpeserta.models.go | 20 +- .../mcudetail/tabdaftarpeserta.services.go | 162 +++++++-- .../mcu/mcutab/modalgeneratepass.templ | 8 +- .../mcu/mcutab/modalgeneratepass_templ.go | 8 +- .../mcu/mcutab/tabdaftarpeserta.templ | 12 + .../mcu/mcutab/tabdaftarpeserta_templ.go | 23 +- .../mcu/mcutab/tabledaftarpeserta.templ | 74 +++- .../mcu/mcutab/tabledaftarpeserta_templ.go | 339 ++++++++++++++---- views/public/login/logincomponent.templ | 2 + views/public/login/logincomponent_templ.go | 2 +- 14 files changed, 732 insertions(+), 201 deletions(-) diff --git a/component/sidebar_user_profile/sidebar_user_profile.templ b/component/sidebar_user_profile/sidebar_user_profile.templ index 53fee87..11714f3 100644 --- a/component/sidebar_user_profile/sidebar_user_profile.templ +++ b/component/sidebar_user_profile/sidebar_user_profile.templ @@ -36,8 +36,10 @@ templ Navbaruserprofile(dataUser models.User) { + Sign Out diff --git a/component/sidebar_user_profile/sidebar_user_profile_templ.go b/component/sidebar_user_profile/sidebar_user_profile_templ.go index 53ea029..94128c2 100644 --- a/component/sidebar_user_profile/sidebar_user_profile_templ.go +++ b/component/sidebar_user_profile/sidebar_user_profile_templ.go @@ -33,7 +33,7 @@ func Navbaruserprofile(dataUser models.User) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Change Password\r
Sign Out\r
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Change Password\r
Sign Out\r
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -68,7 +68,7 @@ func ProfileHeader(dataUser models.User) templ.Component { var templ_7745c5c3_Var3 string templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(dataUser.UserFullName) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\sidebar_user_profile\sidebar_user_profile.templ`, Line: 59, Col: 27} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\sidebar_user_profile\sidebar_user_profile.templ`, Line: 61, Col: 27} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { @@ -81,7 +81,7 @@ func ProfileHeader(dataUser models.User) templ.Component { var templ_7745c5c3_Var4 string templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(dataUser.UserPosition) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\sidebar_user_profile\sidebar_user_profile.templ`, Line: 62, Col: 27} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `component\sidebar_user_profile\sidebar_user_profile.templ`, Line: 64, Col: 27} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { diff --git a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go index d6c0da4..40c6c6d 100644 --- a/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go +++ b/handlers/corporate/mcudetail/tabdaftarpeserta.handlers.go @@ -20,6 +20,8 @@ type TabDaftarPesertaServices interface { GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error) GetAkunPeserta(patientID string) (models.AuthPatient, error) GetListReportPesertaV4(orderheaderID string, staffname string) ([]models.TabViewReportMcu, error) + ResetPasswordPeserta(token string, newPassword string, email string, authuserid string) (models.ResponseStatus, error) + DetailTestdanPaket(orderheaderID string) ([]models.TableTestPaket, error) } type TabDaftarPesertaHandlers struct { @@ -47,6 +49,9 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) dialogAkunID := utils.GenerateRandomID("dialogakunID") dialogAkunBodyID := utils.GenerateRandomID("dialogakunbodyID") + dialogDetailID := utils.GenerateRandomID("dialogdetailID") + dialogDetailBodyID := utils.GenerateRandomID("dialogdetailBodyID") + id := c.Param("id") logger.Info("Params", zap.Any("id", id)) @@ -66,6 +71,10 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) "#"+dialogAkunBodyID, "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID", "outerHTML", + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail", + "#"+dialogDetailBodyID, + "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogDetailID, #dialogDetailBodyID", + "outerHTML", ) pagination := pagination.PaginationV3( @@ -165,13 +174,13 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) ID: "akunpesertaemailid", }, models.CustomTextFieldv2Prm{ - Label: "Password", - Name: "akunpesertapass", + Label: "Password baru", + Name: "akunpesertapassnew", Type: "password", - ID: "akunpesertapassid", + ID: "akunpesertapassnewid", }, models.CustomTextFieldv2Prm{ - Label: "Ketik ulang password", + Label: "Ulangi password baru", Name: "akunpesertapasscek", Type: "password", ID: "akunpesertapasscekid", @@ -200,12 +209,46 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) "outerHTML", "#tableID, #paginationID, #dialogAkunID, #contentlayout, #dialogAkunBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogReportID, #dialogReportBodyID, #currpage"+paginationID, dialogAkunID, - "Ubah Password Akun Peserta", + "Reset Password Akun Peserta", dialogAkunBody, dialogAkunClose, dialogAkunAction, ) + // dialog detali pemeriksaan + + detailData, err := tdp.TabDaftarPesertaServices.DetailTestdanPaket("") + if err != nil { + return err + } + + detailTable := corporate_mcudetail.TableDetailMCU(detailData) + + dialodDetailBody := corporate_mcudetail.ModalRptBody( + dialogDetailBodyID, + detailTable, + corporate_mcudetail.JsShowModal(""), + ) + + closeDetail := corporate_mcudetail.ModalClose( + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/closedetail", + "#"+dialogDetailBodyID, + "outerHTML", + "#"+dialogDetailID, + ) + + modalDetail := corporate_mcudetail.DialogReport( + "detailmcu", + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/dialogdetail", + "#"+dialogDetailBodyID, + "outerHTML", + "#tableID, #paginationID, #dialogAkunID, #dialogAkunBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogReportID, #dialogReportBodyID"+paginationID, + dialogDetailID, + "Detail Pemeriksaan", + dialodDetailBody, + closeDetail, + ) + content := corporate_mcudetail.TabDaftarPesertaScreen( tableID, paginationID, @@ -215,10 +258,13 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context) dialogGeneratePassBodyID, dialogAkunID, dialogAkunBodyID, + dialogDetailID, + dialogDetailBodyID, clayout, modaldialog, modalGenPass, dialogAkunView, + modalDetail, ) return utils.View(c, content) @@ -231,6 +277,7 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error { dialogReportBodyID := c.QueryParam("dialogReportBodyID") dialogAkunBodyID := c.QueryParam("dialogAkunBodyID") + dialogDetailBodyID := c.QueryParam("dialogDetailBodyID") id := c.Param("id") @@ -255,6 +302,10 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error { "#"+dialogAkunBodyID, "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID", "outerHTML", + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail", + "#"+dialogDetailBodyID, + "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogDetailID, #dialogDetailBodyID", + "outerHTML", ) pagination := pagination.PaginationV3( @@ -262,7 +313,7 @@ func (tdp *TabDaftarPesertaHandlers) HandlePagination(c echo.Context) error { page, "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage", paginationID, - "#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogReportID, #dialogReportBodyID, #currPage"+paginationID, + "#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogDetailID, #dialogDetailBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogReportID, #dialogReportBodyID, #currPage"+paginationID, "#contentlayout", "outerHTML", "", "", corporate_mcudetail.BeforeRequestContent(), @@ -419,13 +470,13 @@ func (tdp *TabDaftarPesertaHandlers) HandleOpenViewAkun(c echo.Context) error { ID: "akunpesertaemailid", }, models.CustomTextFieldv2Prm{ - Label: "Password Akun", - Name: "akunpesertapass", + Label: "Password baru", + Name: "akunpesertapassnew", Type: "password", - ID: "akunpesertapassid", + ID: "akunpesertapassnewid", }, models.CustomTextFieldv2Prm{ - Label: "Ketik ulang password", + Label: "Ulangi password baru", Name: "akunpesertapasscek", Type: "password", ID: "akunpesertapasscekid", @@ -455,16 +506,18 @@ func (tdp *TabDaftarPesertaHandlers) HandleOpenViewAkun(c echo.Context) error { Value: akun.AuthPatientEmail, }, models.CustomTextFieldv2Prm{ - Label: "Password Akun", - Name: "akunpesertapass", - Type: "password", - ID: "akunpesertapassid", + Label: "Password baru", + Name: "akunpesertapassnew", + Type: "password", + ID: "akunpesertapassnewid", + Placeholder: "Masukan password baru", }, models.CustomTextFieldv2Prm{ - Label: "Ketik ulang password", - Name: "akunpesertapasscek", - Type: "password", - ID: "akunpesertapasscekid", + Label: "Ulangi password baru", + Name: "akunpesertapasscek", + Type: "password", + ID: "akunpesertapasscekid", + Placeholder: "Masukan ulang password baru", }, corporate_mcudetail.JsShowModal("#"+dialogAkunID), ) @@ -495,13 +548,13 @@ func (tdp *TabDaftarPesertaHandlers) HandleCloseViewAkun(c echo.Context) error { ID: "akunpesertaemailid", }, models.CustomTextFieldv2Prm{ - Label: "Password Akun", - Name: "akunpesertapass", + Label: "Password baru", + Name: "akunpesertapassnew", Type: "password", - ID: "akunpesertapassid", + ID: "akunpesertapassnewid", }, models.CustomTextFieldv2Prm{ - Label: "Ketik ulang password", + Label: "Ulangi password baru", Name: "akunpesertapasscek", Type: "password", ID: "akunpesertapasscekid", @@ -514,6 +567,9 @@ func (tdp *TabDaftarPesertaHandlers) HandleCloseViewAkun(c echo.Context) error { func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { logger, _ := zap.NewProduction() + userToken := c.Get("user").(*jwt.Token) + token := userToken.Raw + patientID := c.FormValue("akunpesertaid") dialogAkunID := c.FormValue("dialogAkunID") dialogAkunBodyID := c.FormValue("dialogAkunBodyID") @@ -521,39 +577,34 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { akunID := c.FormValue("akunpesertaid") akunEmail := c.FormValue("akunpesertaemail") - akunPass := c.FormValue("akunpesertapass") - akunPasscek := c.FormValue("akunpesertapasscek") + oldPass := c.FormValue("akunpesertapassold") + newPass := c.FormValue("akunpesertapassnew") + newPasscek := c.FormValue("akunpesertapasscek") formValidation := "" - emailValidation := "" - passValidation := "" - pass2Validation := "" + newValidation := "" + cekValidation := "" - if strings.TrimSpace(akunEmail) == "" { - formValidation = "Email tidak boleh kosong" - emailValidation = "Email tidak boleh kosong" - } - if strings.TrimSpace(akunPass) == "" { + if strings.TrimSpace(newPass) == "" { formValidation = "Password tidak boleh kosong" - passValidation = "Password tidak boleh kosong" + newValidation = "Password tidak boleh kosong" } - if strings.TrimSpace(akunPasscek) == "" { + if strings.TrimSpace(newPasscek) == "" { formValidation = "Password tidak boleh kosong" - pass2Validation = "Password tidak boleh kosong" + cekValidation = "Password tidak boleh kosong" } - if strings.TrimSpace(akunEmail) == "" && strings.TrimSpace(akunPass) == "" && strings.TrimSpace(akunPasscek) == "" { - formValidation = "Email dan Password tidak boleh kosong" - emailValidation = "Email tidak boleh kosong" - passValidation = "Password tidak boleh kosong" - pass2Validation = "Password tidak boleh kosong" + if strings.TrimSpace(oldPass) == "" && strings.TrimSpace(newPass) == "" && strings.TrimSpace(newPasscek) == "" { + formValidation = "Password lama dan baru tidak boleh kosong" + newValidation = "Password baru tidak boleh kosong" + cekValidation = "Password baru tidak boleh kosong" } - if strings.TrimSpace(akunPass) != strings.TrimSpace(akunPasscek) { + if strings.TrimSpace(newPass) != strings.TrimSpace(newPasscek) { formValidation = "Password tidak sama" - passValidation = "Password tidak sama" - pass2Validation = "Password tidak sama" + newValidation = "Password tidak sama" + cekValidation = "Password tidak sama" } - if formValidation != "" || emailValidation != "" || passValidation != "" || pass2Validation != "" { + if formValidation != "" || newValidation != "" || cekValidation != "" { dialogAkunBody := corporate_mcudetail.ModalViewAkunBody( dialogAkunBodyID, models.CustomTextFieldv2Prm{ @@ -565,28 +616,27 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { Value: akunID, }, models.CustomTextFieldv2Prm{ - Label: "Email Akun", - Name: "akunpesertaemail", - Type: "text", - ID: "akunpesertaemailid", - Value: akunEmail, - ErrorMsg: emailValidation, + Label: "Email Akun", + Name: "akunpesertaemail", + Type: "text", + ID: "akunpesertaemailid", + Value: akunEmail, }, models.CustomTextFieldv2Prm{ - Label: "Password Akun", - Name: "akunpesertapass", - Type: "password", - ID: "akunpesertapassid", - Value: akunPass, - ErrorMsg: passValidation, + Label: "Password baru", + Name: "akunpesertapassnew", + Type: "password", + ID: "akunpesertapassnewid", + Placeholder: "Masukan password baru", + ErrorMsg: newValidation, }, models.CustomTextFieldv2Prm{ - Label: "Ketik ulang password", - Name: "akunpesertapasscek", - Type: "password", - ID: "akunpesertapasscekid", - Value: akunPasscek, - ErrorMsg: pass2Validation, + Label: "Ulangi password baru", + Name: "akunpesertapasscek", + Type: "password", + ID: "akunpesertapasscekid", + Placeholder: "Masukan ulang password baru", + ErrorMsg: cekValidation, }, corporate_mcudetail.JsShowModal(""), ) @@ -595,6 +645,51 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { return utils.ViewMulti(c, retVal) } + resp, err := tdp.TabDaftarPesertaServices.ResetPasswordPeserta(token, newPass, akunEmail, akunID) + dialogAkunErr := corporate_mcudetail.ModalViewAkunBody( + dialogAkunBodyID, + models.CustomTextFieldv2Prm{ + Label: "ID Akun Peserta", + Name: "akunpesertaid", + Placeholder: "ID Akun Peserta", + Type: "hidden", + ID: "akunpesertaidid", + Value: akunID, + }, + models.CustomTextFieldv2Prm{ + Label: "Email Akun", + Name: "akunpesertaemail", + Type: "text", + ID: "akunpesertaemailid", + Value: akunEmail, + }, + models.CustomTextFieldv2Prm{ + Label: "Password baru", + Name: "akunpesertapassnew", + Type: "password", + ID: "akunpesertapassnewid", + Placeholder: "Masukan password baru", + }, + models.CustomTextFieldv2Prm{ + Label: "Ulangi password baru", + Name: "akunpesertapasscek", + Type: "password", + ID: "akunpesertapasscekid", + Placeholder: "Masukan ulang password baru", + }, + corporate_mcudetail.JsHideModal(""), + ) + + if err != nil { + toastwarning := customtoastv2.CustomToastV2Show("Warning", err.Error(), "warning") + return utils.ViewMulti(c, []templ.Component{toastwarning, dialogAkunErr}) + } + + if resp.Status == "ERR" { + toastwarning := customtoastv2.CustomToastV2Show("Warning", resp.Message, "warning") + return utils.ViewMulti(c, []templ.Component{toastwarning, dialogAkunErr}) + } + dialogAkunBody := corporate_mcudetail.ModalViewAkunBody( dialogAkunBodyID, models.CustomTextFieldv2Prm{ @@ -611,26 +706,31 @@ func (tdp *TabDaftarPesertaHandlers) HandleAkun(c echo.Context) error { ID: "akunpesertaemailid", }, models.CustomTextFieldv2Prm{ - Label: "Password Akun", - Name: "akunpesertapass", - Type: "password", - ID: "akunpesertapassid", + Label: "Password baru", + Name: "akunpesertapassnew", + Type: "password", + ID: "akunpesertapassnewid", + Placeholder: "Masukan password baru", }, models.CustomTextFieldv2Prm{ - Label: "Ketik ulang password", - Name: "akunpesertapasscek", - Type: "password", - ID: "akunpesertapasscekid", + Label: "Ulangi password baru", + Name: "akunpesertapasscek", + Type: "password", + ID: "akunpesertapasscekid", + Placeholder: "Masukan ulang password baru", }, corporate_mcudetail.JsHideModal("#"+dialogAkunID), ) - return utils.View(c, dialogAkunBody) + toastwarning := customtoastv2.CustomToastV2Show("Success", "Berhasil reset password peserta: "+akunEmail, "success") + retVal := []templ.Component{toastwarning, dialogAkunBody} + return utils.ViewMulti(c, retVal) } func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error { id := c.Param("id") dialogReportBodyID := c.FormValue("dialogReportBodyID") dialogAkunBodyID := c.FormValue("dialogAkunBodyID") + dialogDetailBodyID := c.FormValue("dialogDetailBodyID") tableID := c.FormValue("tableID") paginationID := c.FormValue("paginationID") @@ -656,6 +756,10 @@ func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error { "#"+dialogAkunBodyID, "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID", "outerHTML", + "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/opendetail", + "#"+dialogDetailBodyID, + "#tableID, #paginationID, #dialogReportID, #dialogReportBodyID, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogDetailID, #dialogDetailBodyID", + "outerHTML", ) pagination := pagination.PaginationV3( @@ -663,7 +767,7 @@ func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error { currpage, "/corp/dashboard_pic/detail/"+id+"/tabdaftarpeserta/changepage", paginationID, - "#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogReportID, #dialogReportBodyID, #currPage"+paginationID, + "#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogGenPassID, #dialogGenPassBodyID, #dialogAkunID, #dialogAkunBodyID, #dialogReportID, #dialogReportBodyID, #dialogDetailID, #dialogDetailBodyID, #currPage"+paginationID, "#contentlayout", "outerHTML", "", "", corporate_mcudetail.BeforeRequestContent(), @@ -673,3 +777,29 @@ func (tdp *TabDaftarPesertaHandlers) HandleContentReload(c echo.Context) error { clayout := corporate_mcudetail.ContentLayout(table, pagination) return utils.View(c, clayout) } + +func (tdp *TabDaftarPesertaHandlers) HandleOpenDetail(c echo.Context) error { + idx := c.QueryParam("idx") + dialogDetailID := c.QueryParam("dialogDetailID") + dialogDetailBodyID := c.QueryParam("dialogDetailBodyID") + + detailData, err := tdp.TabDaftarPesertaServices.DetailTestdanPaket(idx) + if err != nil { + tab := corporate_mcudetail.TableDetailMCU([]models.TableTestPaket{}) + mod := corporate_mcudetail.ModalRptBody( + dialogDetailBodyID, + tab, + corporate_mcudetail.JsShowModal("#"+dialogDetailID), + ) + return utils.View(c, mod) + } + + tablecomponent := corporate_mcudetail.TableDetailMCU(detailData) + detailBody := corporate_mcudetail.ModalRptBody( + dialogDetailBodyID, + tablecomponent, + corporate_mcudetail.JsShowModal("#"+dialogDetailID), + ) + + return utils.View(c, detailBody) +} diff --git a/handlers/routes.go b/handlers/routes.go index f5ffe2a..b1a077a 100644 --- a/handlers/routes.go +++ b/handlers/routes.go @@ -170,6 +170,7 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) { corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/closeviewakun", daftarpesertaHandl.HandleCloseViewAkun) corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/viewakun", daftarpesertaHandl.HandleAkun) corp.POST("/dashboard_pic/detail/:id/tabdaftarpeserta/reload", daftarpesertaHandl.HandleContentReload) + corp.GET("/dashboard_pic/detail/:id/tabdaftarpeserta/opendetail", daftarpesertaHandl.HandleOpenDetail) // tab keuangan keuanganService := mcu_corporate_services.NewTabKeuanganServices(appStore) diff --git a/models/mcudaftarpeserta.models.go b/models/mcudaftarpeserta.models.go index 67d608b..b525f6a 100644 --- a/models/mcudaftarpeserta.models.go +++ b/models/mcudaftarpeserta.models.go @@ -14,7 +14,8 @@ type ModelMcuDaftarPeserta struct { Age string `db:"age"` AuthPatientEmail string `db:"authPatientEmail"` AuthPatientIsActive string `db:"authPatientIsActive"` - Nama_Paket string `db:"nama_paket"` + Test_Paket string `db:"test_paket"` + List_Paket string `db:"list_paket"` } type SoResultEntryReportModel struct { @@ -84,3 +85,20 @@ type ResumeMCU struct { Mcu_ResumeID string `db:"Mcu_ResumeID"` Datetime string `db:"Datetime"` } + +type DetailPaketMCU struct { + T_OrderDetailOrderT_PacketID string `db:"T_OrderDetailOrderT_PacketID"` + T_OrderDetailOrderT_PacketName string `db:"T_OrderDetailOrderT_PacketName"` + T_TestName string `db:"T_TestName"` +} + +type DetailTestMCU struct { + T_OrderDetailOrderT_TestID string `db:"T_OrderDetailOrderT_TestID"` + T_OrderDetailOrderT_TestName string `db:"T_OrderDetailOrderT_TestName"` +} + +type TableTestPaket struct { + Nomor int + NamaTest string + NamaPaket string +} diff --git a/services/corporate/mcudetail/tabdaftarpeserta.services.go b/services/corporate/mcudetail/tabdaftarpeserta.services.go index 0d033e5..edda287 100644 --- a/services/corporate/mcudetail/tabdaftarpeserta.services.go +++ b/services/corporate/mcudetail/tabdaftarpeserta.services.go @@ -11,6 +11,7 @@ import ( "io" "math" "net/http" + "net/url" "strconv" "go.uber.org/zap" @@ -42,34 +43,39 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current } query := ` - SELECT - T_OrderHeaderID, - T_OrderHeaderDate, - IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber, - T_OrderHeaderM_PatientAge, - M_PatientID, - M_PatientNoReg, - M_PatientName, - M_PatientGender, - CASE - WHEN M_PatientGender = 'male' THEN 'Laki - Laki' - WHEN M_PatientGender = 'female' THEN 'Perempuan' + SELECT *, + GROUP_CONCAT(test_paket) as list_paket + FROM ( + SELECT + T_OrderHeaderID, + T_OrderHeaderDate, + IFNULL(T_OrderHeaderLabNumber, 0) AS T_OrderHeaderLabNumber, + T_OrderHeaderM_PatientAge, + M_PatientID, + M_PatientNoReg, + M_PatientName, + M_PatientGender, + CASE + WHEN M_PatientGender = 'male' THEN 'Laki - Laki' + WHEN M_PatientGender = 'female' THEN 'Perempuan' ELSE ' ' - END AS jenisKelamin, - M_PatientDOB, - FLOOR(DATEDIFF(CURDATE(), M_PatientDOB)/ 365.25) AS age, - IFNULL(authPatientEmail, "none") AS authPatientEmail, - IFNULL(authPatientIsActive, "N") AS authPatientIsActive, - CASE - WHEN T_OrderDetailOrderIsPacket = 'Y' THEN T_OrderDetailOrderT_PacketName - ELSE T_OrderDetailOrderT_TestName - END AS nama_paket - FROM t_orderheader - JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y' - JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID - AND T_OrderDetailOrderIsActive = 'Y' - LEFT JOIN auth_patient ON M_PatientID = authPatientM_PatientID AND authPatientIsActive = 'Y' - WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ? + END AS jenisKelamin, + M_PatientDOB, + FLOOR(DATEDIFF(CURDATE(), M_PatientDOB)/ 365.25) AS age, + IFNULL(authPatientEmail, "none") AS authPatientEmail, + IFNULL(authPatientIsActive, "N") AS authPatientIsActive, + CASE + WHEN T_OrderDetailOrderIsPacket = 'Y' THEN T_OrderDetailOrderT_PacketName + ELSE T_OrderDetailOrderT_TestName + END AS test_paket + FROM t_orderheader + JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID AND M_PatientIsActive = 'Y' + JOIN t_orderdetailorder ON T_OrderDetailOrderT_OrderHeaderID = T_OrderHeaderID + AND T_OrderDetailOrderIsActive = 'Y' + LEFT JOIN auth_patient ON M_PatientID = authPatientM_PatientID AND authPatientIsActive = 'Y' + WHERE T_OrderHeaderIsActive = 'Y' AND T_OrderHeaderMgm_McuID = ? + ) x + GROUP BY T_OrderHeaderID ORDER BY T_OrderHeaderLabNumber ASC LIMIT ? OFFSET ? ` @@ -82,6 +88,62 @@ func (tdps *TabDaftarPesertaServices) GetListDaftarPesertaMCU(id string, current return listDaftarPeserta, totalPage, nil } +func (tdps *TabDaftarPesertaServices) DetailTestdanPaket(orderheaderID string) ([]models.TableTestPaket, error) { + var listPaket []models.DetailPaketMCU + var listTest []models.DetailTestMCU + var ret []models.TableTestPaket + + // get list test name + qr := ` + SELECT + T_OrderDetailOrderT_TestID, + T_OrderDetailOrderT_TestName + FROM t_orderdetailorder + WHERE T_OrderDetailOrderT_OrderHeaderID = ? + AND T_OrderDetailOrderIsActive = 'Y' + AND T_OrderDetailOrderIsPacket = 'N' + ` + if err := dbx.Handlex.Select(&listTest, qr, orderheaderID); err != nil { + return ret, err + } + + // get detail paket + q := ` + SELECT + T_OrderDetailOrderT_PacketID, + T_OrderDetailOrderT_PacketName, + T_TestName + FROM t_orderdetailorder + JOIN t_packetdetail ON T_PacketDetailT_PacketID = T_OrderDetailOrderT_PacketID AND T_PacketDetailIsActive = 'Y' + JOIN t_test ON T_TestName = T_PacketDetailT_TestID AND T_TestIsActive = 'Y' + WHERE T_OrderDetailOrderT_OrderHeaderID = ? AND T_OrderDetailOrderIsActive = 'Y' + ` + if err := dbx.Handlex.Select(&listPaket, q, orderheaderID); err != nil { + return ret, err + } + + nomor := 1 + for _, d := range listTest { + ret = append(ret, models.TableTestPaket{ + Nomor: nomor, + NamaTest: d.T_OrderDetailOrderT_TestName, + NamaPaket: d.T_OrderDetailOrderT_TestName, + }) + nomor++ + } + + for _, d := range listPaket { + ret = append(ret, models.TableTestPaket{ + Nomor: nomor, + NamaTest: d.T_TestName, + NamaPaket: d.T_OrderDetailOrderT_PacketName, + }) + nomor++ + } + + return ret, nil +} + func (tdps *TabDaftarPesertaServices) GenerataPasswordMCU(mgmMCUID string, host string) (models.GeneratePasswordResponse, error) { logger, _ := zap.NewProduction() var ret models.GeneratePasswordResponse @@ -109,7 +171,7 @@ func (tdps *TabDaftarPesertaServices) GenerataPasswordMCU(mgmMCUID string, host } func (tdps *TabDaftarPesertaServices) GetAkunPeserta(patientID string) (models.AuthPatient, error) { - logger, _ := zap.NewProduction() + // logger, _ := zap.NewProduction() var ret models.AuthPatient q := ` @@ -126,7 +188,49 @@ func (tdps *TabDaftarPesertaServices) GetAkunPeserta(patientID string) (models.A if err := dbx.Handlex.Get(&ret, q, patientID); err != nil { return ret, fmt.Errorf("error get akun peserta") } - logger.Info("response", zap.Any("data", ret)) + // logger.Info("response", zap.Any("data", ret)) + + return ret, nil +} + +func (tdps *TabDaftarPesertaServices) ResetPasswordPeserta(token string, newPassword string, email string, authuserid string) (models.ResponseStatus, error) { + var ret models.ResponseStatus + + uri := "https://" + config.Data.Get("servername") + "/one-api/mockup/system/menu/reset_password_pat" + + params := url.Values{} + params.Add("new", newPassword) + params.Add("email", email) + params.Add("authuserid", authuserid) + params.Add("token", token) + + req, err := http.PostForm(uri, params) + if err != nil { + ret = models.ResponseStatus{ + Status: "ERR", + Message: "error request change password", + } + return ret, err + } + defer req.Body.Close() + + resp, err := io.ReadAll(req.Body) + if err != nil { + ret = models.ResponseStatus{ + Status: "ERR", + Message: "error read response", + } + return ret, err + } + + err = json.Unmarshal(resp, &ret) + if err != nil { + ret = models.ResponseStatus{ + Status: "ERR", + Message: "error unmarshal response", + } + return ret, err + } return ret, nil } diff --git a/views/corporate/mcu/mcutab/modalgeneratepass.templ b/views/corporate/mcu/mcutab/modalgeneratepass.templ index 0427a1a..3997592 100644 --- a/views/corporate/mcu/mcutab/modalgeneratepass.templ +++ b/views/corporate/mcu/mcutab/modalgeneratepass.templ @@ -104,14 +104,14 @@ templ ModalViewAkunBody( IDComponent string, akunID models.CustomTextFieldv2Prm, akunEmail models.CustomTextFieldv2Prm, - akunPass models.CustomTextFieldv2Prm, - akunPassCek models.CustomTextFieldv2Prm, + newPass models.CustomTextFieldv2Prm, + newPassCek models.CustomTextFieldv2Prm, hxOnLoad templ.ComponentScript, ) {
@customtextfield.CustomTextFieldv2(akunID) @customtextfield.CustomTextFieldv2(akunEmail) - @customtextfield.CustomTextFieldv2(akunPass) - @customtextfield.CustomTextFieldv2(akunPassCek) + @customtextfield.CustomTextFieldv2(newPass) + @customtextfield.CustomTextFieldv2(newPassCek)
} \ No newline at end of file diff --git a/views/corporate/mcu/mcutab/modalgeneratepass_templ.go b/views/corporate/mcu/mcutab/modalgeneratepass_templ.go index 92ead76..f8f5b14 100644 --- a/views/corporate/mcu/mcutab/modalgeneratepass_templ.go +++ b/views/corporate/mcu/mcutab/modalgeneratepass_templ.go @@ -325,8 +325,8 @@ func ModalViewAkunBody( IDComponent string, akunID models.CustomTextFieldv2Prm, akunEmail models.CustomTextFieldv2Prm, - akunPass models.CustomTextFieldv2Prm, - akunPassCek models.CustomTextFieldv2Prm, + newPass models.CustomTextFieldv2Prm, + newPassCek models.CustomTextFieldv2Prm, hxOnLoad templ.ComponentScript, ) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { @@ -379,11 +379,11 @@ func ModalViewAkunBody( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(akunPass).Render(ctx, templ_7745c5c3_Buffer) + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(newPass).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(akunPassCek).Render(ctx, templ_7745c5c3_Buffer) + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(newPassCek).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/views/corporate/mcu/mcutab/tabdaftarpeserta.templ b/views/corporate/mcu/mcutab/tabdaftarpeserta.templ index 50d9a42..a36413d 100644 --- a/views/corporate/mcu/mcutab/tabdaftarpeserta.templ +++ b/views/corporate/mcu/mcutab/tabdaftarpeserta.templ @@ -13,10 +13,13 @@ templ TabDaftarPesertaScreen( dialogGenPassBodyID string, dialogAkunID string, dialogAkunBodyID string, + dialogDetailID string, + dialogDetailBodyID string, content templ.Component, dialogReport templ.Component, dialogGenPass templ.Component, dialogViewAkun templ.Component, + dialogDetail templ.Component, ) {
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "tableID", @@ -51,6 +54,14 @@ templ TabDaftarPesertaScreen( Name: "dialogAkunBodyID", Type: "hidden", Value: dialogAkunBodyID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailID", + Name: "dialogDetailID", + Type: "hidden", + Value: dialogDetailID}) + @customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailBodyID", + Name: "dialogDetailBodyID", + Type: "hidden", + Value: dialogDetailBodyID})
@@ -75,6 +86,7 @@ templ TabDaftarPesertaScreen( @dialogReport @dialogGenPass @dialogViewAkun + @dialogDetail
Loading... diff --git a/views/corporate/mcu/mcutab/tabdaftarpeserta_templ.go b/views/corporate/mcu/mcutab/tabdaftarpeserta_templ.go index 761e736..04e28e2 100644 --- a/views/corporate/mcu/mcutab/tabdaftarpeserta_templ.go +++ b/views/corporate/mcu/mcutab/tabdaftarpeserta_templ.go @@ -23,10 +23,13 @@ func TabDaftarPesertaScreen( dialogGenPassBodyID string, dialogAkunID string, dialogAkunBodyID string, + dialogDetailID string, + dialogDetailBodyID string, content templ.Component, dialogReport templ.Component, dialogGenPass templ.Component, dialogViewAkun templ.Component, + dialogDetail templ.Component, ) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) @@ -100,6 +103,20 @@ func TabDaftarPesertaScreen( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailID", + Name: "dialogDetailID", + Type: "hidden", + Value: dialogDetailID}).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "dialogDetailBodyID", + Name: "dialogDetailBodyID", + Type: "hidden", + Value: dialogDetailBodyID}).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("

Daftar Peserta

") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err diff --git a/views/corporate/mcu/mcutab/tabledaftarpeserta.templ b/views/corporate/mcu/mcutab/tabledaftarpeserta.templ index 03fea48..0a2da87 100644 --- a/views/corporate/mcu/mcutab/tabledaftarpeserta.templ +++ b/views/corporate/mcu/mcutab/tabledaftarpeserta.templ @@ -2,6 +2,7 @@ package corporate_mcudetail import "cpone/component/table" import "cpone/models" +import "strconv" templ ContentLayout( @@ -25,6 +26,10 @@ templ TableDaftarPeserta( hxTargetAcc string, hxIncludeAcc string, hxSwapAcc string, + hxGetDetail string, + hxTargetDetail string, + hxIncludeDetail string, + hxSwapDetail string, ) {
@tablecomponent.TableV3([]string{"NOMOR LAB", "NAMA", "JENIS KELAMIN", "UMUR", "NAMA PAKET", "AKSI"}, @@ -38,6 +43,10 @@ templ TableDaftarPeserta( hxTargetAcc, hxIncludeAcc, hxSwapAcc, + hxGetDetail, + hxTargetDetail, + hxIncludeDetail, + hxSwapDetail, ))
} @@ -52,6 +61,10 @@ templ ItemRow( hxTargetAcc string, hxIncludeAcc string, hxSwapAcc string, + hxGetDetail string, + hxTargetDetail string, + hxIncludeDetail string, + hxSwapDetail string, ) { if len(data) == 0 { @@ -64,7 +77,7 @@ templ ItemRow( { v.M_PatientName } { v.JenisKelamin } { v.Age } - { v.Nama_Paket } + { v.List_Paket } @ItemAction(v, hxGetRpt, @@ -75,6 +88,10 @@ templ ItemRow( hxTargetAcc, hxIncludeAcc, hxSwapAcc, + hxGetDetail, + hxTargetDetail, + hxIncludeDetail, + hxSwapDetail, ) @@ -91,17 +108,33 @@ templ ItemAction( hxTargetAcc string, hxIncludeAcc string, hxSwapAcc string, + hxGetDetail string, + hxTargetDetail string, + hxIncludeDetail string, + hxSwapDetail string, ) {
+ + - + if data.AuthPatientEmail != "none" { @@ -126,10 +160,34 @@ templ ItemAction( } - // - // - //
+} + + +templ TableDetailMCU( + data []models.TableTestPaket, +) { +
+ @tablecomponent.TableV3([]string{"NOMOR", "NAMA TEST", "NAMA PAKET"}, + []string{"20%","40%","40%"}, + DetailRow(data), + ) +
+} + +templ DetailRow( + data []models.TableTestPaket, +) { + if len(data) == 0 { + + Data Tidak Ditemukan + + } + for _, v := range data { + + { strconv.Itoa(v.Nomor) } + { v.NamaTest } + { v.NamaPaket } + + } } \ No newline at end of file diff --git a/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go b/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go index 6b4e142..37edfa9 100644 --- a/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go +++ b/views/corporate/mcu/mcutab/tabledaftarpeserta_templ.go @@ -12,6 +12,7 @@ import "bytes" import "cpone/component/table" import "cpone/models" +import "strconv" func ContentLayout( tablecomponent templ.Component, @@ -76,6 +77,10 @@ func TableDaftarPeserta( hxTargetAcc string, hxIncludeAcc string, hxSwapAcc string, + hxGetDetail string, + hxTargetDetail string, + hxIncludeDetail string, + hxSwapDetail string, ) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) @@ -96,7 +101,7 @@ func TableDaftarPeserta( var templ_7745c5c3_Var4 string templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(tableID) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 29, Col: 21} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 34, Col: 21} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { @@ -117,6 +122,10 @@ func TableDaftarPeserta( hxTargetAcc, hxIncludeAcc, hxSwapAcc, + hxGetDetail, + hxTargetDetail, + hxIncludeDetail, + hxSwapDetail, )).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err @@ -142,6 +151,10 @@ func ItemRow( hxTargetAcc string, hxIncludeAcc string, hxSwapAcc string, + hxGetDetail string, + hxTargetDetail string, + hxIncludeDetail string, + hxSwapDetail string, ) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) @@ -169,7 +182,7 @@ func ItemRow( var templ_7745c5c3_Var6 string templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(v.T_OrderHeaderLabNumber) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 63, Col: 42} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 76, Col: 42} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) if templ_7745c5c3_Err != nil { @@ -182,7 +195,7 @@ func ItemRow( var templ_7745c5c3_Var7 string templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(v.M_PatientName) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 64, Col: 33} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 77, Col: 33} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) if templ_7745c5c3_Err != nil { @@ -195,7 +208,7 @@ func ItemRow( var templ_7745c5c3_Var8 string templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(v.JenisKelamin) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 65, Col: 32} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 78, Col: 32} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) if templ_7745c5c3_Err != nil { @@ -208,7 +221,7 @@ func ItemRow( var templ_7745c5c3_Var9 string templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(v.Age) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 66, Col: 23} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 79, Col: 23} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) if templ_7745c5c3_Err != nil { @@ -219,9 +232,9 @@ func ItemRow( return templ_7745c5c3_Err } var templ_7745c5c3_Var10 string - templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(v.Nama_Paket) + templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(v.List_Paket) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 67, Col: 30} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 80, Col: 30} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) if templ_7745c5c3_Err != nil { @@ -240,6 +253,10 @@ func ItemRow( hxTargetAcc, hxIncludeAcc, hxSwapAcc, + hxGetDetail, + hxTargetDetail, + hxIncludeDetail, + hxSwapDetail, ).Render(ctx, templ_7745c5c3_Buffer) if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err @@ -266,6 +283,10 @@ func ItemAction( hxTargetAcc string, hxIncludeAcc string, hxSwapAcc string, + hxGetDetail string, + hxTargetDetail string, + hxIncludeDetail string, + hxSwapDetail string, ) templ.Component { return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) @@ -279,14 +300,14 @@ func ItemAction( templ_7745c5c3_Var11 = templ.NopComponent } ctx = templ.ClearChildren(ctx) - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"> ") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } @@ -340,67 +413,10 @@ func ItemAction( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - var templ_7745c5c3_Var16 string - templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(hxGetAcc + "?patid=" + data.M_PatientID) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 110, Col: 64} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-target=\"") - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var17 string - templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(hxTargetAcc) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 111, Col: 39} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-swap=\"") - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var18 string - templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(hxSwapAcc) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 112, Col: 35} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" hx-include=\"") - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - var templ_7745c5c3_Var19 string - templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(hxIncludeAcc) - if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 113, Col: 41} - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">") - if templ_7745c5c3_Err != nil { - return templ_7745c5c3_Err - } - } else { - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } else { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err @@ -460,3 +533,113 @@ func ItemAction( return templ_7745c5c3_Err }) } + +func TableDetailMCU( + data []models.TableTestPaket, +) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var28 := templ.GetChildren(ctx) + if templ_7745c5c3_Var28 == nil { + templ_7745c5c3_Var28 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = tablecomponent.TableV3([]string{"NOMOR", "NAMA TEST", "NAMA PAKET"}, + []string{"20%", "40%", "40%"}, + DetailRow(data), + ).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func DetailRow( + data []models.TableTestPaket, +) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var29 := templ.GetChildren(ctx) + if templ_7745c5c3_Var29 == nil { + templ_7745c5c3_Var29 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + if len(data) == 0 { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("Data Tidak Ditemukan") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + for _, v := range data { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var30 string + templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.Itoa(v.Nomor)) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 188, Col: 39} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var31 string + templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(v.NamaTest) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 189, Col: 28} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var32 string + templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(v.NamaPaket) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\tabledaftarpeserta.templ`, Line: 190, Col: 29} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} diff --git a/views/public/login/logincomponent.templ b/views/public/login/logincomponent.templ index 1559f6e..8f2c153 100644 --- a/views/public/login/logincomponent.templ +++ b/views/public/login/logincomponent.templ @@ -110,10 +110,12 @@ templ FormSignin( hx-post="/login/signin" hx-swap="outerHTML" hx-target="#kt_login" + hx-indicator=".loginloading" type="button" id="kt_login_signin_submit" class="btn btn-block font-weight-bolder text-white font-size-h6 px-8 py-4 my-3 mr-3 mt-5 btn-primary" > + Sign In
diff --git a/views/public/login/logincomponent_templ.go b/views/public/login/logincomponent_templ.go index 4971ead..7a5c615 100644 --- a/views/public/login/logincomponent_templ.go +++ b/views/public/login/logincomponent_templ.go @@ -57,7 +57,7 @@ func FormSignin( if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err }