add detail pemeriksaan

This commit is contained in:
2024-08-14 13:59:15 +07:00
parent 35dd1b18fc
commit 72c7e714f5
14 changed files with 732 additions and 201 deletions

View File

@@ -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)
}

View File

@@ -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)