dinamis report tab

This commit is contained in:
2024-06-19 19:52:43 +07:00
parent 8f818f9e94
commit 7094dadbdf
19 changed files with 1080 additions and 323 deletions

View File

@@ -13,6 +13,7 @@ import (
type TabDaftarPesertaServices interface {
GetListMcuDaftarPeserta(id string, currentpage int, rowperpage int) ([]models.ModelMcuDaftarPeserta, int, error)
GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error)
}
type TabDaftarPesertaHandlers struct {
@@ -68,8 +69,12 @@ func (tdp *TabDaftarPesertaHandlers) HandleShowTabDaftarPeserta(c echo.Context)
pagination,
)
tabData := []models.TabViewReportMcu{}
tabview := corporate_mcudetail.TabReportView(tabData)
bodymodal := corporate_mcudetail.ModalBody(
dialogReportBodyID,
tabview,
corporate_mcudetail.JsShowModal(""),
)
@@ -146,7 +151,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, #dialogReportID, #dialogReportBodyID",
"#tableID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogReportID, #dialogReportBodyID, #currPage"+paginationID,
"#contentlayout",
"outerHTML", "", "",
corporate_mcudetail.BeforeRequestContent(),
@@ -171,8 +176,22 @@ func (tdp *TabDaftarPesertaHandlers) HandleOpenReportDialog(c echo.Context) erro
dialogReportBodyID := c.QueryParam("dialogReportBodyID")
logger.Info("params", zap.Any("idx", idx))
tabData, err := tdp.TabDaftarPesertaServices.GetReportMcu(idx)
if err != nil {
tab := corporate_mcudetail.TabReportView([]models.TabViewReportMcu{})
mod := corporate_mcudetail.ModalBody(
dialogReportBodyID,
tab,
corporate_mcudetail.JsShowModal(""),
)
return utils.View(c, mod)
}
tabcomponent := corporate_mcudetail.TabReportView(tabData)
modalbody := corporate_mcudetail.ModalBody(
dialogReportBodyID,
tabcomponent,
corporate_mcudetail.JsShowModal("#"+dialogReportID),
)

View File

@@ -11,7 +11,6 @@ import (
corporate_patient "cpone/views/corporate/patient"
"strconv"
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"go.uber.org/zap"
)
@@ -19,6 +18,9 @@ import (
type PatientService interface {
GetDashboardPatientBreadcrumb(title string) (models.BreadCrumbV1, error)
ListingData(search string, date string, patID string, corpId string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error)
GetListtingData(email string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error)
GetPatientData(email string) (string, error)
GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error)
}
func NewPatientHandler(us PatientService) *PatientHandler {
@@ -31,16 +33,16 @@ type PatientHandler struct {
PatientService PatientService
}
func (ph *PatientHandler) HandleShowPatient(c echo.Context) error {
func (ph *PatientHandler) LoadLocalData(c echo.Context) error {
logger, _ := zap.NewProduction()
title := "Nanda Arisu"
listID := c.QueryParam("listID")
paginationID := c.QueryParam("paginationID")
dialogID := c.QueryParam("dialogID")
dialogBodyID := c.QueryParam("dialogBodyID")
userEmail := c.QueryParam("userEmail")
logger.Info("params", zap.Any("email", userEmail))
listID := utils.GenerateRandomID("listid")
paginationID := utils.GenerateRandomID("paginationid")
dialogID := utils.GenerateRandomID("dialogid")
dialogBodyID := utils.GenerateRandomID("dialogbodyid")
user, err := services.GetUserLogin()
title, err := ph.PatientService.GetPatientData(userEmail)
if err != nil {
defer logger.Sync()
logger.Info("Error get user", zap.Any("error", err))
@@ -54,12 +56,9 @@ func (ph *PatientHandler) HandleShowPatient(c echo.Context) error {
return err
}
defer logger.Sync()
navbaruser := navbarmenu.NavbarWithLogo(user)
sidbaruser := sidebaruserprofile.Navbaruserprofile(user)
breadcrumb := breadcrumadmin.MainBreadcrumbAdminV1(dataBreadcrumb)
listingdata, totalPage, err := ph.PatientService.ListingData("", "", "108", "40", 1, 5)
listingdata, totalPage, err := ph.PatientService.GetListtingData(userEmail, 1, 5)
if err != nil {
defer logger.Sync()
logger.Info("error get listing data", zap.Any("error", err), zap.Any("total", totalPage))
@@ -69,7 +68,7 @@ func (ph *PatientHandler) HandleShowPatient(c echo.Context) error {
listID,
"/corp/dashboard_pat/open",
"#"+dialogBodyID,
"#listID, #paginationID, #dialogID, #dialogBodyID",
"#listID, #paginationID, #dialogID, #dialogBodyID, #userEmail",
"outerHTML",
)
@@ -78,15 +77,19 @@ func (ph *PatientHandler) HandleShowPatient(c echo.Context) error {
1,
"/corp/dashboard_pat/changepage",
paginationID,
"#listID, #paginationID, #dialogID, #dialogBodyID",
"#"+paginationID,
"#listID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogID, #dialogBodyID, #userEmail",
"#contentlayout",
"outerHTML", "", "",
corporate_patient.BeforeRequestContent(),
corporate_patient.AfterRequestContent(),
)
tabData := []models.TabViewReportMcu{}
tabcomponent := corporate_patient.TabReportView(tabData)
bodyModal := corporate_patient.ModalBody(
dialogBodyID,
tabcomponent,
corporate_patient.JsShowModal(""),
)
@@ -102,27 +105,54 @@ func (ph *PatientHandler) HandleShowPatient(c echo.Context) error {
"/corp/dashboard_pat/dialog",
"#"+dialogBodyID,
"outerHTML",
"#listID, #paginationID, #dialogID, #dialogBodyID"+paginationID,
"#listID, #paginationID, #dialogID, #userEmail, #dialogBodyID"+paginationID,
dialogID,
title,
bodyModal,
bodyClose,
)
content := corporate_patient.ContentP(listingcomponent, paginationcomponent)
view := corporate_patient.ContentPage(
breadcrumb,
content,
modalDialog,
)
return utils.View(c, view)
}
func (ph *PatientHandler) HandleShowPatient(c echo.Context) error {
logger, _ := zap.NewProduction()
// userEmail := c.QueryParam("email")
// logger.Info("params", zap.Any("email", userEmail))
listID := utils.GenerateRandomID("listid")
paginationID := utils.GenerateRandomID("paginationid")
dialogID := utils.GenerateRandomID("dialogid")
dialogBodyID := utils.GenerateRandomID("dialogbodyid")
user, err := services.GetUserLogin()
if err != nil {
defer logger.Sync()
logger.Info("Error get user", zap.Any("error", err))
return err
}
navbaruser := navbarmenu.NavbarWithLogo(user)
sidbaruser := sidebaruserprofile.Navbaruserprofile(user)
content := corporate_patient.DashboardPat(
listID,
paginationID,
dialogID,
dialogBodyID,
breadcrumb,
listingcomponent,
paginationcomponent,
modalDialog,
)
css := corporate_patient.CSSDashboardPat()
js := corporate_patient.JSDashboardPat()
view := corporate_patient.ShowDashboardPat(title, content, css, js, navbaruser, sidbaruser)
view := corporate_patient.ShowDashboardPat("Dashboard Pasien", content, css, js, navbaruser, sidbaruser)
return utils.View(c, view)
}
@@ -133,8 +163,10 @@ func (ph *PatientHandler) HandleChangePage(c echo.Context) error {
listID := c.QueryParam("listID")
paginationID := c.QueryParam("paginationID")
dialogBodyID := c.QueryParam("dialogBodyID")
userEmail := c.QueryParam("userEmail")
logger.Info("params", zap.Any("userEmail", userEmail))
var retval []templ.Component
// var retval []templ.Component
page, err := strconv.Atoi(pageparam)
if err != nil {
defer logger.Sync()
@@ -142,7 +174,7 @@ func (ph *PatientHandler) HandleChangePage(c echo.Context) error {
return err
}
listData, totalPage, err := ph.PatientService.ListingData("", "", "108", "40", page, 5)
listData, totalPage, err := ph.PatientService.GetListtingData(userEmail, page, 5)
if err != nil {
defer logger.Sync()
logger.Info("error get data listing")
@@ -152,7 +184,7 @@ func (ph *PatientHandler) HandleChangePage(c echo.Context) error {
listID,
"/corp/dashboard_pat/open",
"#"+dialogBodyID,
"#listID, #paginationID, #dialogID, ",
"#listID, #paginationID, #dialogID, #dialogBodyID, #userEmail",
"outerHTML",
)
@@ -161,16 +193,19 @@ func (ph *PatientHandler) HandleChangePage(c echo.Context) error {
page,
"/corp/dashboard_pat/changepage",
paginationID,
"#listID, #paginationID, #dialogID, #dialogBodyID, #currPage"+paginationID,
"#"+paginationID,
"#listID, #paginationID, #loading-parent, #loading-child, #loading-spinner, #loadingcontent, #dialogID, #dialogBodyID, #userEmail, #currPage"+paginationID,
"#contentlayout",
"outerHTML", "", "",
corporate_patient.BeforeRequestContent(),
corporate_patient.AfterRequestContent(),
)
retval = append(retval, listcomponent)
retval = append(retval, paginationcomponent)
return utils.ViewMulti(c, retval)
// retval = append(retval, listcomponent)
// retval = append(retval, paginationcomponent)
// return utils.ViewMulti(c, retval)
content := corporate_patient.ContentP(listcomponent, paginationcomponent)
return utils.View(c, content)
}
func (ph *PatientHandler) HandleOpenReport(c echo.Context) error {
@@ -181,8 +216,21 @@ func (ph *PatientHandler) HandleOpenReport(c echo.Context) error {
dialogBodyID := c.QueryParam("dialogBodyID")
logger.Info("params", zap.Any("id", id))
tabData, err := ph.PatientService.GetReportMcu(id)
if err != nil {
tab := corporate_patient.TabReportView([]models.TabViewReportMcu{})
mod := corporate_patient.ModalBody(
dialogBodyID,
tab,
corporate_patient.JsShowModal(""),
)
return utils.View(c, mod)
}
tabcomponent := corporate_patient.TabReportView(tabData)
modalBody := corporate_patient.ModalBody(
dialogBodyID,
tabcomponent,
corporate_patient.JsShowModal("#"+dialogID),
)

View File

@@ -33,67 +33,6 @@ func (lh *LoginHandler) HandlerShowLogin(c echo.Context) error {
return utils.View(c, si)
}
func (lh *LoginHandler) HandlerSignIn(c echo.Context) error {
logger, _ := zap.NewProduction()
username := c.FormValue("username")
password := c.FormValue("password")
defer logger.Sync()
logger.Info("Params", zap.Any("username", username), zap.Any("pass", password))
resp, err := lh.LoginService.Login(username, password)
if err != nil {
defer logger.Sync()
logger.Info("Error", zap.Error(err))
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
defer logger.Sync()
var url string
switch resp.Data.Type {
case "cpone":
url = "/one-ui"
case "pic":
url = "/dashboard_pic"
case "patient":
url = "/home"
default:
url = "/one-ui"
}
user, err := json.Marshal(resp.Data.User)
if err != nil {
defer logger.Sync()
logger.Info("Error", zap.Error(err))
si := public_login.ShowLogin("Login ", public_login.MainLogin(), public_login.CssLogin(), public_login.JsLogin())
return utils.View(c, si)
}
userString := string(user)
storeLocal := `
<script>
console.log("store token");
const token = "` + resp.Data.Token + `";
const user = JSON.stringify(` + userString + `);
localStorage.setItem("token", token);
localStorage.setItem("user", user);
setTimeout(() => {
window.location.href = "` + url + `";
}, 100);
</script>
`
c.Response().Header().Set("HX-Trigger", "script")
return c.String(http.StatusOK, storeLocal)
}
func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
logger, _ := zap.NewProduction()
@@ -141,7 +80,6 @@ func (lh *LoginHandler) HandleSignIn(c echo.Context) error {
return utils.View(c, si)
}
userString := string(user)
store := `
<script>
console.log("store token");

View File

@@ -130,6 +130,7 @@ func SetupRoutesCorporate(app *echo.Echo, appStore db.AppStore) {
patienServices := corporate_services.NewPatientServices(appStore)
patientHandler := corporate_handlers.NewPatientHandler(patienServices)
corp.GET("/dashboard_pat", patientHandler.HandleShowPatient)
corp.GET("/dashboard_pat/content", patientHandler.LoadLocalData)
corp.GET("/dashboard_pat/changepage", patientHandler.HandleChangePage)
corp.GET("/dashboard_pat/open", patientHandler.HandleOpenReport)
}

View File

@@ -102,14 +102,6 @@ templ DashboardLayout(
<!--begin::Body-->
<body id="kt_body" class="header-fixed header-mobile-fixed subheader-enabled subheader-fixed subheader-mobile-fixed aside-enabled aside-fixed aside-minimize-hoverable page-loading bg-white">
<script src="assets/js/htmx/htmx.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', (event) => {
const storedToken = localStorage.getItem('token');
if (!storedToken) {
window.location.href = '/home';
}
});
</script>
<!--start::Navbar Mobile-->
<div id="kt_header_mobile" class="header-mobile align-items-center header-mobile-fixed ">
<!--begin::Logo-->

View File

@@ -50,7 +50,7 @@ func DashboardLayout(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</head><!--end::Head--><!--begin::Body--><body id=\"kt_body\" class=\"header-fixed header-mobile-fixed subheader-enabled subheader-fixed subheader-mobile-fixed aside-enabled aside-fixed aside-minimize-hoverable page-loading bg-white\"><script src=\"assets/js/htmx/htmx.min.js\"></script><script>\r\n\t\t\t\tdocument.addEventListener('DOMContentLoaded', (event) => {\r\n\t\t\t\t\tconst storedToken = localStorage.getItem('token');\r\n\t\t\t\t\tif (!storedToken) {\r\n\t\t\t\t\t\twindow.location.href = '/home';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\t\t\t\t\r\n\t\t\t</script><!--start::Navbar Mobile--><div id=\"kt_header_mobile\" class=\"header-mobile align-items-center header-mobile-fixed \"><!--begin::Logo--><a href=\"index.html\"><img alt=\"Logo\" src=\"asset-corporate-portal/media/logo/logo.png\" style=\"object-fit: contain;height: 4vh;\"></a><!--end::Logo--><!--begin::Toolbar--><div class=\"d-flex align-items-center\"><!--begin::Topbar Mobile Toggle--><button class=\"btn btn-hover-text-primary p-0 ml-2\" id=\"kt_header_mobile_topbar_toggle\"><span class=\"svg-icon svg-icon-xl\"><!--begin::Svg Icon | path:/assets/media/svg/icons/General/User.svg--><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\"><g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><polygon points=\"0 0 24 0 24 24 0 24\"></polygon> <path d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\" fill=\"#000000\" fill-rule=\"nonzero\" opacity=\"0.3\"></path> <path d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\" fill=\"#000000\" fill-rule=\"nonzero\"></path></g></svg><!--end::Svg Icon--></span></button><!--end::Topbar Mobile Toggle--></div><!--end::Toolbar--></div><!--start::Navbar Mobile--><!--start::Navbar Laptop With Sidebar--><div class=\"mb-24 mt-8\" style=\"padding-left: 10vw; padding-right: 10vw;\"><div class=\"align-item-center\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</head><!--end::Head--><!--begin::Body--><body id=\"kt_body\" class=\"header-fixed header-mobile-fixed subheader-enabled subheader-fixed subheader-mobile-fixed aside-enabled aside-fixed aside-minimize-hoverable page-loading bg-white\"><script src=\"assets/js/htmx/htmx.min.js\"></script><!--start::Navbar Mobile--><div id=\"kt_header_mobile\" class=\"header-mobile align-items-center header-mobile-fixed \"><!--begin::Logo--><a href=\"index.html\"><img alt=\"Logo\" src=\"asset-corporate-portal/media/logo/logo.png\" style=\"object-fit: contain;height: 4vh;\"></a><!--end::Logo--><!--begin::Toolbar--><div class=\"d-flex align-items-center\"><!--begin::Topbar Mobile Toggle--><button class=\"btn btn-hover-text-primary p-0 ml-2\" id=\"kt_header_mobile_topbar_toggle\"><span class=\"svg-icon svg-icon-xl\"><!--begin::Svg Icon | path:/assets/media/svg/icons/General/User.svg--><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" version=\"1.1\"><g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"><polygon points=\"0 0 24 0 24 24 0 24\"></polygon> <path d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\" fill=\"#000000\" fill-rule=\"nonzero\" opacity=\"0.3\"></path> <path d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\" fill=\"#000000\" fill-rule=\"nonzero\"></path></g></svg><!--end::Svg Icon--></span></button><!--end::Topbar Mobile Toggle--></div><!--end::Toolbar--></div><!--start::Navbar Mobile--><!--start::Navbar Laptop With Sidebar--><div class=\"mb-24 mt-8\" style=\"padding-left: 10vw; padding-right: 10vw;\"><div class=\"align-item-center\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -13,3 +13,15 @@ type ModelMcuDaftarPeserta struct {
M_PatientDOB string `db:"M_PatientDOB"`
Age string `db:"age"`
}
type ModelMcuPesertaReport struct {
So_ResultEntryID int `db:"So_ResultEntryID"`
So_ResultEntryT_OrderHeaderID int `db:"So_ResultEntryT_OrderHeaderID"`
So_ResultEntryNonlab_TemplateID int `db:"So_ResultEntryNonlab_TemplateID"`
So_ResultEntryNonlab_TemplateName string `db:"So_ResultEntryNonlab_TemplateName"`
}
type TabViewReportMcu struct {
Name string
Link string
}

View File

@@ -6,6 +6,7 @@ import (
dbx "cpone/package/database"
"fmt"
"math"
"strconv"
"go.uber.org/zap"
)
@@ -72,3 +73,66 @@ func (tdps *TabDaftarPesertaServices) GetListMcuDaftarPeserta(id string, current
return listDaftarPeserta, totalPage, nil
}
func (tdps *TabDaftarPesertaServices) GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error) {
var ret []models.TabViewReportMcu
var data []models.ModelMcuPesertaReport
var totalData int
q := `
SELECT COUNT(*)
FROM so_resultentry
WHERE So_ResultEntryT_OrderHeaderID = ?
AND So_ResultEntryIsActive = 'Y'
`
if err := dbx.Handlex.Get(&totalData, q, orderheaderID); err != nil {
return ret, fmt.Errorf("error get total mcu report: %v", err)
}
q = `
SELECT
So_ResultEntryID,
So_ResultEntryT_OrderHeaderID,
So_ResultEntryNonlab_TemplateID,
So_ResultEntryNonlab_TemplateName
FROM so_resultentry
WHERE So_ResultEntryT_OrderHeaderID = ?
AND So_ResultEntryIsActive = 'Y'
ORDER BY So_ResultEntryNonlab_TemplateID
`
if err := dbx.Handlex.Select(&data, q, orderheaderID); err != nil {
return ret, err
}
// Lab
ret = append(ret, models.TabViewReportMcu{Name: "Hasil Laboratorium", Link: "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_test.rptdesign&__format=pdf&PID=" + orderheaderID + "&username=adhi&tm=1717726294764"})
// Non-lab
for _, n := range data {
var link models.TabViewReportMcu
switch n.So_ResultEntryNonlab_TemplateName {
case "ECG":
link.Name = "Elektromedis"
link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_elmd.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764"
case "Thorax PA":
link.Name = "Radiologi"
link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_xray.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764"
case "Fisik Umum":
namaFisik := []string{"Hasil Fisik", "Hasil Pajanan", "Riwayat"}
linkFisik := []string{
"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764",
"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764",
"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_riwayat.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=riwayat&username=adhi&tm=1717726294764",
}
for i := 0; i < 3; i++ {
ret = append(ret, models.TabViewReportMcu{Name: namaFisik[i], Link: linkFisik[i]})
}
continue
}
ret = append(ret, link)
}
return ret, nil
}

View File

@@ -6,6 +6,7 @@ import (
dbx "cpone/package/database"
"fmt"
"math"
"strconv"
"go.uber.org/zap"
)
@@ -22,6 +23,23 @@ func NewPatientServices(uStore db.AppStore) *PatientServices {
}
}
func (sp *PatientServices) GetPatientData(email string) (string, error) {
var ret string
prmEmail := "%" + email + "%"
q := `
SELECT
M_PatientName
FROM m_patient
WHERE M_PatientEmail LIKE ?
AND M_PatientIsActive = 'Y'
`
if err := dbx.Handlex.Get(&ret, q, prmEmail); err != nil {
return ret, err
}
return ret, nil
}
func (sp *PatientServices) GetDashboardPatientBreadcrumb(title string) (models.BreadCrumbV1, error) {
breadcrumb := models.BreadCrumbV1{
Title: title,
@@ -61,9 +79,8 @@ func (sp *PatientServices) ListingData(search string, date string, patID string,
WHERE T_OrderHeaderIsActive = 'Y'
AND T_OrderHeaderLabNumber LIKE ?
AND T_OrderHeaderM_PatientID = ?
AND T_OrderHeaderCorporateID = ?
`
if err := dbx.Handlex.Get(&totalData, q, prmSearch, patID, corpId); err != nil {
if err := dbx.Handlex.Get(&totalData, q, prmSearch, patID); err != nil {
return nil, 0, fmt.Errorf("error query get total data: %v", err)
}
@@ -75,15 +92,14 @@ func (sp *PatientServices) ListingData(search string, date string, patID string,
T_OrderHeaderM_PatientID,
T_OrderHeaderCorporateID,
T_OrderHeaderMgm_McuID,
T_OrderHeaderIsActive
T_OrderHeaderIsActive
FROM t_orderheader
WHERE T_OrderHeaderIsActive = 'Y'
AND T_OrderHeaderLabNumber LIKE ?
AND T_OrderHeaderM_PatientID = ?
AND T_OrderHeaderCorporateID = ?
LIMIT ? OFFSET ?
`
if err := dbx.Handlex.Select(&ret, q, prmSearch, patID, corpId, rowperpage, offset); err != nil {
if err := dbx.Handlex.Select(&ret, q, prmSearch, patID, rowperpage, offset); err != nil {
return nil, 0, fmt.Errorf("error query get data: %v", err)
}
logger.Info("response", zap.Any("data", ret))
@@ -91,3 +107,108 @@ func (sp *PatientServices) ListingData(search string, date string, patID string,
totalPage := int(math.Ceil(float64(totalData) / float64(rowperpage)))
return ret, totalPage, nil
}
func (sp *PatientServices) GetListtingData(email string, currentpage int, rowperpage int) ([]models.DashboardPatient, int, error) {
logger, _ := zap.NewProduction()
var ret []models.DashboardPatient
var totalData int
prmEmail := "%" + email + "%"
offset := (currentpage - 1) * rowperpage
q := `
SELECT COUNT(*)
FROM m_patient mp
JOIN t_orderheader toh ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID AND toh.T_OrderHeaderIsActive = 'Y'
WHERE mp.M_PatientEmail LIKE ?
AND mp.M_PatientIsActive = 'Y'
`
if err := dbx.Handlex.Get(&totalData, q, prmEmail); err != nil {
return nil, 0, fmt.Errorf("error query get total data: %v", err)
}
q = `
SELECT
toh.T_OrderHeaderID,
toh.T_OrderHeaderDate,
toh.T_OrderHeaderLabNumber,
toh.T_OrderHeaderM_PatientID,
toh.T_OrderHeaderCorporateID,
toh.T_OrderHeaderMgm_McuID,
toh.T_OrderHeaderIsActive
FROM m_patient mp
JOIN t_orderheader toh ON toh.T_OrderHeaderM_PatientID = mp.M_PatientID AND toh.T_OrderHeaderIsActive = 'Y'
WHERE mp.M_PatientEmail LIKE ?
AND mp.M_PatientIsActive = 'Y'
LIMIT ? OFFSET ?
`
if err := dbx.Handlex.Select(&ret, q, prmEmail, rowperpage, offset); err != nil {
return nil, 0, fmt.Errorf("error query get list data: %v", err)
}
logger.Info("response", zap.Any("data", ret))
totalPage := int(math.Ceil(float64(totalData) / float64(rowperpage)))
return ret, totalPage, nil
}
func (sp *PatientServices) GetReportMcu(orderheaderID string) ([]models.TabViewReportMcu, error) {
var ret []models.TabViewReportMcu
var data []models.ModelMcuPesertaReport
var totalData int
q := `
SELECT COUNT(*)
FROM so_resultentry
WHERE So_ResultEntryT_OrderHeaderID = ?
AND So_ResultEntryIsActive = 'Y'
`
if err := dbx.Handlex.Get(&totalData, q, orderheaderID); err != nil {
return ret, fmt.Errorf("error get total mcu report: %v", err)
}
q = `
SELECT
So_ResultEntryID,
So_ResultEntryT_OrderHeaderID,
So_ResultEntryNonlab_TemplateID,
So_ResultEntryNonlab_TemplateName
FROM so_resultentry
WHERE So_ResultEntryT_OrderHeaderID = ?
AND So_ResultEntryIsActive = 'Y'
ORDER BY So_ResultEntryNonlab_TemplateID
`
if err := dbx.Handlex.Select(&data, q, orderheaderID); err != nil {
return ret, err
}
// Lab
ret = append(ret, models.TabViewReportMcu{Name: "Hasil Laboratorium", Link: "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_test.rptdesign&__format=pdf&PID=" + orderheaderID + "&username=adhi&tm=1717726294764"})
// Non-lab
for _, n := range data {
var link models.TabViewReportMcu
switch n.So_ResultEntryNonlab_TemplateName {
case "ECG":
link.Name = "Elektromedis"
link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_elmd.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764"
case "Thorax PA":
link.Name = "Radiologi"
link.Link = "https://devcpone.aplikasi.web.id/birt/run?__report=report/one/lab/rpt_hasil_so_xray.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&username=adhi&tm=1717726294764"
case "Fisik Umum":
namaFisik := []string{"Hasil Fisik", "Hasil Pajanan", "Riwayat"}
linkFisik := []string{
"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764",
"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=fisik&username=adhi&tm=1717726294764",
"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_riwayat.rptdesign&__format=pdf&PID=" + strconv.Itoa(n.So_ResultEntryID) + "&PType=riwayat&username=adhi&tm=1717726294764",
}
for i := 0; i < 3; i++ {
ret = append(ret, models.TabViewReportMcu{Name: namaFisik[i], Link: linkFisik[i]})
}
continue
}
ret = append(ret, link)
}
return ret, nil
}

View File

@@ -1,6 +1,8 @@
package corporate_mcudetail
import "cpone/component/modal"
import "cpone/models"
import "strconv"
templ DialogReport(
IDComponent string,
@@ -29,39 +31,11 @@ templ DialogReport(
templ ModalBody(
IDComponent string,
tabComponent templ.Component,
hxOnLoad templ.ComponentScript,
) {
<div id={ IDComponent } hx-on::load={ hxOnLoad }>
<div>
<ul class="nav nav-tabs nav-tabs-line">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#kt_tab_pat_1">Hasil Lab</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#kt_tab_pat_2">Hasil Non Lab</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#kt_tab_pat_3">Hasil Fisik</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#kt_tab_pat_4">Resume Individu</a>
</li>
</ul>
</div>
<div class="tab-content mt-5" id="patTabContent">
<div class="tab-pane fade show active" id="kt_tab_pat_1" role="tabpanel" aria-labelledby="kt_tab_pat_1" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pat_2" role="tabpanel" aria-labelledby="kt_tab_pat_2" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pat_3" role="tabpanel" aria-labelledby="kt_tab_pat_3" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pat_4" role="tabpanel" aria-labelledby="kt_tab_pat_4" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
</div>
@tabComponent
</div>
}
@@ -83,4 +57,68 @@ templ ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID strin
>
<i aria-hidden="true" class="ki ki-close"></i>
</button>
}
}
templ TabReportView(
datamcu []models.TabViewReportMcu,
) {
<div>
<ul class="nav nav-tabs nav-tabs-line">
for i, v := range datamcu {
if i == 0 {
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href={templ.URL("#kt_tab_pat_" + strconv.Itoa(i))}>{ v.Name }</a>
</li>
} else {
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href={templ.URL("#kt_tab_pat_" + strconv.Itoa(i))}>{ v.Name }</a>
</li>
}
}
</ul>
</div>
<div class="tab-content mt-5" id="patTabContent">
for i, v := range datamcu {
if i == 0 {
<div class="tab-pane fade show active" id={"kt_tab_pat_" + strconv.Itoa(i)} role="tabpanel" aria-labelledby={"kt_tab_pat_" + strconv.Itoa(i)} style="height: 700px;">
<object data={ v.Link } type="application/pdf" width="100%" height="100%"></object>
</div>
} else {
<div class="tab-pane fade show" id={"kt_tab_pat_" + strconv.Itoa(i)} role="tabpanel" aria-labelledby={"kt_tab_pat_" + strconv.Itoa(i)} style="height: 700px;">
<object data={ v.Link } type="application/pdf" width="100%" height="100%"></object>
</div>
}
}
</div>
}
// <div>
// <ul class="nav nav-tabs nav-tabs-line">
// <li class="nav-item">
// <a class="nav-link active" data-toggle="tab" href="#kt_tab_pat_1">Hasil Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_2">Hasil Non Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_3">Hasil Fisik</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_4">Resume Individu</a>
// </li>
// </ul>
// </div>
// <div class="tab-content mt-5" id="patTabContent">
// <div class="tab-pane fade show active" id="kt_tab_pat_1" role="tabpanel" aria-labelledby="kt_tab_pat_1" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_2" role="tabpanel" aria-labelledby="kt_tab_pat_2" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_3" role="tabpanel" aria-labelledby="kt_tab_pat_3" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_4" role="tabpanel" aria-labelledby="kt_tab_pat_4" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// </div>

View File

@@ -11,6 +11,8 @@ import "io"
import "bytes"
import "cpone/component/modal"
import "cpone/models"
import "strconv"
func DialogReport(
IDComponent string,
@@ -42,7 +44,7 @@ func DialogReport(
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(IDComponent)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 18, Col: 28}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 20, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -55,7 +57,7 @@ func DialogReport(
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 19, Col: 34}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 21, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -86,6 +88,7 @@ func DialogReport(
func ModalBody(
IDComponent string,
tabComponent templ.Component,
hxOnLoad templ.ComponentScript,
) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
@@ -111,7 +114,7 @@ func ModalBody(
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(IDComponent)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 34, Col: 25}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 37, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
@@ -126,59 +129,15 @@ func ModalBody(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div><ul class=\"nav nav-tabs nav-tabs-line\"><li class=\"nav-item\"><a class=\"nav-link active\" data-toggle=\"tab\" href=\"#kt_tab_pat_1\">Hasil Lab</a></li><li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"#kt_tab_pat_2\">Hasil Non Lab</a></li><li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"#kt_tab_pat_3\">Hasil Fisik</a></li><li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"#kt_tab_pat_4\">Resume Individu</a></li></ul></div><div class=\"tab-content mt-5\" id=\"patTabContent\"><div class=\"tab-pane fade show active\" id=\"kt_tab_pat_1\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_1\" style=\"height: 700px;\"><object data=\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 53, Col: 188}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
templ_7745c5c3_Err = tabComponent.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div><div class=\"tab-pane fade\" id=\"kt_tab_pat_2\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_2\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 56, Col: 181}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div><div class=\"tab-pane fade\" id=\"kt_tab_pat_3\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_3\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 59, Col: 179}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div><div class=\"tab-pane fade\" id=\"kt_tab_pat_4\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_4\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 62, Col: 172}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div></div></div>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -217,9 +176,9 @@ func ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID string
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
templ_7745c5c3_Var7 := templ.GetChildren(ctx)
if templ_7745c5c3_Var7 == nil {
templ_7745c5c3_Var7 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, JsHideModal(modalID))
@@ -230,8 +189,8 @@ func ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID string
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 templ.ComponentScript = JsHideModal(modalID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var12.Call)
var templ_7745c5c3_Var8 templ.ComponentScript = JsHideModal(modalID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -245,3 +204,216 @@ func ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID string
return templ_7745c5c3_Err
})
}
func TabReportView(
datamcu []models.TabViewReportMcu,
) 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_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><ul class=\"nav nav-tabs nav-tabs-line\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i, v := range datamcu {
if i == 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li class=\"nav-item\"><a class=\"nav-link active\" data-toggle=\"tab\" href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 templ.SafeURL = templ.URL("#kt_tab_pat_" + strconv.Itoa(i))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var10)))
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_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(v.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 70, Col: 128}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 templ.SafeURL = templ.URL("#kt_tab_pat_" + strconv.Itoa(i))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var12)))
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_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(v.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 74, Col: 121}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ul></div><div class=\"tab-content mt-5\" id=\"patTabContent\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i, v := range datamcu {
if i == 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"tab-pane fade show active\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 83, Col: 90}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" role=\"tabpanel\" aria-labelledby=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 83, Col: 156}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(v.Link)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 84, Col: 41}
}
_, 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("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"tab-pane fade show\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var17 string
templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 87, Col: 83}
}
_, 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("\" role=\"tabpanel\" aria-labelledby=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 87, Col: 149}
}
_, 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("\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var19 string
templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(v.Link)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\mcu\mcutab\modaldaftarpeserta.templ`, Line: 88, 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("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
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
})
}
// <div>
// <ul class="nav nav-tabs nav-tabs-line">
// <li class="nav-item">
// <a class="nav-link active" data-toggle="tab" href="#kt_tab_pat_1">Hasil Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_2">Hasil Non Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_3">Hasil Fisik</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_4">Resume Individu</a>
// </li>
// </ul>
// </div>
// <div class="tab-content mt-5" id="patTabContent">
// <div class="tab-pane fade show active" id="kt_tab_pat_1" role="tabpanel" aria-labelledby="kt_tab_pat_1" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_2" role="tabpanel" aria-labelledby="kt_tab_pat_2" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_3" role="tabpanel" aria-labelledby="kt_tab_pat_3" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_4" role="tabpanel" aria-labelledby="kt_tab_pat_4" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// </div>

View File

@@ -68,7 +68,7 @@ templ ItemRow(
-
</td>
<td>
@ItemAction(v.M_PatientID,
@ItemAction(v.T_OrderHeaderID,
hxGet,
hxTarget,
hxInclude,

View File

@@ -206,7 +206,7 @@ func ItemRow(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ItemAction(v.M_PatientID,
templ_7745c5c3_Err = ItemAction(v.T_OrderHeaderID,
hxGet,
hxTarget,
hxInclude,

View File

@@ -11,7 +11,7 @@ templ ListingData(
hxInclude string,
hxSwap string,
) {
<div id={listID} class="align-items-center pt-8 flex-column" hx-swap-oob="true">
<div id={listID} class="align-items-center py-8 flex-column">
<div class="bg-field rounded">
<div class="p-8">
for i, d := range data {

View File

@@ -46,7 +46,7 @@ func ListingData(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"align-items-center pt-8 flex-column\" hx-swap-oob=\"true\"><div class=\"bg-field rounded\"><div class=\"p-8\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"align-items-center py-8 flex-column\"><div class=\"bg-field rounded\"><div class=\"p-8\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -12,12 +12,8 @@ templ DashboardPat(
paginationID string,
dialogID string,
dialogBodyID string,
breadcrumb templ.Component,
listingcomponent templ.Component,
paginationcomponent templ.Component,
modaldialog templ.Component,
) {
<div class="container-fluid">
<div id="content-container" class="container-fluid">
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "listID",
Name: "listID",
Type: "hidden",
@@ -34,22 +30,62 @@ templ DashboardPat(
Name: "dialogBodyID",
Type: "hidden",
Value: dialogBodyID})
<div class="row align-item-center mb-10">
<div class="col-md-10 col-sm-12 p-0">
@breadcrumb
</div>
</div>
<div id="loading-parent" class="rounded">
@listingcomponent
@paginationcomponent
@modaldialog
<div id="loading-child" class="rounded bg-transparent">
<div id="loading-spinner" class="spinner-border text-primary d-none" style="width: 3rem; height: 3rem;" role="status">
<span class="sr-only">Loading...</span>
@customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "userEmail",
Name: "userEmail",
Type: "hidden"})
<div
id="content-page"
hx-get="/corp/dashboard_pat/content"
hx-swap="outerHTML"
hx-trigger="load delay:500ms"
hx-target="#content-page"
hx-include="#listID, #paginationID, #dialogID, #dialogBodyID, #userEmail"
hx-on::after-request={ AfterRequestContent() }
>
<div id="loading-parent" class="rounded overlay overlay-block" style="display: flex; align-items: center; justify-content: center; height: 70vh;">
<div id="loading-child" class="rounded bg-transparent overlay-layer">
<div id="loading-spinner" class="spinner-border text-primary" style="width: 3rem; height: 3rem;" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
</div>
</div>
<div id="loadingcontent"></div>
</div>
}
templ ContentPage(
breadcrumb templ.Component,
content templ.Component,
modaldialog templ.Component,
) {
// <div
// id="content-page"
// >
<div class="row align-item-center mb-10">
<div class="col-md-10 col-sm-12 p-0">
@breadcrumb
</div>
</div>
<div id="loading-parent" class="rounded">
@content
@modaldialog
<div id="loading-child" class="rounded bg-transparent">
<div id="loading-spinner" class="spinner-border text-primary d-none" style="width: 3rem; height: 3rem;" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
</div>
<div id="loadingcontent"></div>
// </div>
}
templ ContentP(
listingcomponent templ.Component,
paginationcomponent templ.Component,
) {
<div id="contentlayout" hx-on::load={ AfterRequestContent() }>
@listingcomponent
@paginationcomponent
</div>
}
@@ -105,7 +141,18 @@ script AfterRequestContent() {
loadingSpinner.classList.add("d-none");
}
templ JSDashboardPat() {
templ JSDashboardPat() {
<script>
document.addEventListener(`DOMContentLoaded`, (event) => {
const data = localStorage.getItem(`user`);
if (data) {
const parsedData = JSON.parse(data);
// console.log(parsedData.M_UserEmail);
document.getElementById('userEmail').value = parsedData.M_UserEmail;
}
});
</script>
}
templ ShowDashboardPat(

View File

@@ -21,10 +21,6 @@ func DashboardPat(
paginationID string,
dialogID string,
dialogBodyID string,
breadcrumb templ.Component,
listingcomponent templ.Component,
paginationcomponent templ.Component,
modaldialog 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)
@@ -38,7 +34,7 @@ func DashboardPat(
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container-fluid\">")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"content-container\" class=\"container-fluid\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -70,6 +66,53 @@ func DashboardPat(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = customtextfield.CustomTextFieldv2(models.CustomTextFieldv2Prm{ID: "userEmail",
Name: "userEmail",
Type: "hidden"}).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, AfterRequestContent())
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"content-page\" hx-get=\"/corp/dashboard_pat/content\" hx-swap=\"outerHTML\" hx-trigger=\"load delay:500ms\" hx-target=\"#content-page\" hx-include=\"#listID, #paginationID, #dialogID, #dialogBodyID, #userEmail\" hx-on::after-request=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 templ.ComponentScript = AfterRequestContent()
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var2.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div id=\"loading-parent\" class=\"rounded overlay overlay-block\" style=\"display: flex; align-items: center; justify-content: center; height: 70vh;\"><div id=\"loading-child\" class=\"rounded bg-transparent overlay-layer\"><div id=\"loading-spinner\" class=\"spinner-border text-primary\" style=\"width: 3rem; height: 3rem;\" role=\"status\"><span class=\"sr-only\">Loading...</span></div></div></div></div></div>")
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 ContentPage(
breadcrumb templ.Component,
content templ.Component,
modaldialog 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)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var3 := templ.GetChildren(ctx)
if templ_7745c5c3_Var3 == nil {
templ_7745c5c3_Var3 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row align-item-center mb-10\"><div class=\"col-md-10 col-sm-12 p-0\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@@ -82,6 +125,58 @@ func DashboardPat(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = content.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modaldialog.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"loading-child\" class=\"rounded bg-transparent\"><div id=\"loading-spinner\" class=\"spinner-border text-primary d-none\" style=\"width: 3rem; height: 3rem;\" role=\"status\"><span class=\"sr-only\">Loading...</span></div></div></div><div id=\"loadingcontent\"></div>")
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 ContentP(
listingcomponent templ.Component,
paginationcomponent 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)
if !templ_7745c5c3_IsBuffer {
templ_7745c5c3_Buffer = templ.GetBuffer()
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
if templ_7745c5c3_Var4 == nil {
templ_7745c5c3_Var4 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, AfterRequestContent())
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"contentlayout\" hx-on::load=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var5 templ.ComponentScript = AfterRequestContent()
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var5.Call)
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
}
templ_7745c5c3_Err = listingcomponent.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@@ -90,11 +185,7 @@ func DashboardPat(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = modaldialog.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div id=\"loading-child\" class=\"rounded bg-transparent\"><div id=\"loading-spinner\" class=\"spinner-border text-primary d-none\" style=\"width: 3rem; height: 3rem;\" role=\"status\"><span class=\"sr-only\">Loading...</span></div></div></div><div id=\"loadingcontent\"></div></div>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -113,9 +204,9 @@ func CSSDashboardPat() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var2 := templ.GetChildren(ctx)
if templ_7745c5c3_Var2 == nil {
templ_7745c5c3_Var2 = templ.NopComponent
templ_7745c5c3_Var6 := templ.GetChildren(ctx)
if templ_7745c5c3_Var6 == nil {
templ_7745c5c3_Var6 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<link rel=\"stylesheet\" href=\"assets/css/googlefont/poppins.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/publicsans.css\"><link rel=\"stylesheet\" href=\"assets/css/googlefont/roboto.css\"><style>\r\n body {\r\n background-color: white;\r\n }\r\n #div-chart {\r\n margin: 40px 10vw 40px 10vw;\r\n }\r\n .title {\r\n font-size: 20px;\r\n font-weight: bold;\r\n }\r\n #title {\r\n font-weight: 600;\r\n }\r\n </style>")
@@ -171,11 +262,15 @@ func JSDashboardPat() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var3 := templ.GetChildren(ctx)
if templ_7745c5c3_Var3 == nil {
templ_7745c5c3_Var3 = templ.NopComponent
templ_7745c5c3_Var7 := templ.GetChildren(ctx)
if templ_7745c5c3_Var7 == nil {
templ_7745c5c3_Var7 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<script>\r\n document.addEventListener(`DOMContentLoaded`, (event) => {\r\n const data = localStorage.getItem(`user`);\r\n if (data) {\r\n const parsedData = JSON.parse(data);\r\n // console.log(parsedData.M_UserEmail);\r\n document.getElementById('userEmail').value = parsedData.M_UserEmail;\r\n \r\n }\r\n });\r\n </script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
@@ -198,12 +293,12 @@ func ShowDashboardPat(
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
if templ_7745c5c3_Var4 == nil {
templ_7745c5c3_Var4 = templ.NopComponent
templ_7745c5c3_Var8 := templ.GetChildren(ctx)
if templ_7745c5c3_Var8 == nil {
templ_7745c5c3_Var8 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Var5 := templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Var9 := 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()
@@ -218,7 +313,7 @@ func ShowDashboardPat(
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = layout.DashboardLayout(title, css, js, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var5), templ_7745c5c3_Buffer)
templ_7745c5c3_Err = layout.DashboardLayout(title, css, js, navbaruser, userprofile).Render(templ.WithChildren(ctx, templ_7745c5c3_Var9), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

View File

@@ -1,6 +1,8 @@
package corporate_patient
import "cpone/component/modal"
import "cpone/models"
import "strconv"
templ DialogReport(
IDComponent string,
@@ -29,39 +31,11 @@ templ DialogReport(
templ ModalBody(
IDComponent string,
tabComponent templ.Component,
hxOnLoad templ.ComponentScript,
) {
<div id={ IDComponent } hx-on::load={ hxOnLoad }>
<div>
<ul class="nav nav-tabs nav-tabs-line">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#kt_tab_pat_1">Hasil Lab</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#kt_tab_pat_2">Hasil Non Lab</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#kt_tab_pat_3">Hasil Fisik</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#kt_tab_pat_4">Resume Individu</a>
</li>
</ul>
</div>
<div class="tab-content mt-5" id="patTabContent">
<div class="tab-pane fade show active" id="kt_tab_pat_1" role="tabpanel" aria-labelledby="kt_tab_pat_1" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pat_2" role="tabpanel" aria-labelledby="kt_tab_pat_2" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pat_3" role="tabpanel" aria-labelledby="kt_tab_pat_3" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
<div class="tab-pane fade" id="kt_tab_pat_4" role="tabpanel" aria-labelledby="kt_tab_pat_4" style="height: 700px;">
<object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
</div>
</div>
@tabComponent
</div>
}
@@ -83,4 +57,68 @@ templ ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID strin
>
<i aria-hidden="true" class="ki ki-close"></i>
</button>
}
}
templ TabReportView(
data []models.TabViewReportMcu,
) {
<div>
<ul class="nav nav-tabs nav-tabs-line">
for i, v := range data {
if i == 0 {
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href={templ.URL("#kt_tab_pat_" + strconv.Itoa(i))}>{ v.Name }</a>
</li>
} else {
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href={templ.URL("#kt_tab_pat_" + strconv.Itoa(i))}>{ v.Name }</a>
</li>
}
}
</ul>
</div>
<div class="tab-content mt-5" id="patTabContent">
for i, v := range data {
if i == 0 {
<div class="tab-pane fade show active" id={"kt_tab_pat_" + strconv.Itoa(i)} role="tabpanel" aria-labelledby={"kt_tab_pat_" + strconv.Itoa(i)} style="height: 700px;">
<object data={ v.Link } type="application/pdf" width="100%" height="100%"></object>
</div>
} else {
<div class="tab-pane fade show" id={"kt_tab_pat_" + strconv.Itoa(i)} role="tabpanel" aria-labelledby={"kt_tab_pat_" + strconv.Itoa(i)} style="height: 700px;">
<object data={ v.Link } type="application/pdf" width="100%" height="100%"></object>
</div>
}
}
</div>
}
// <div>
// <ul class="nav nav-tabs nav-tabs-line">
// <li class="nav-item">
// <a class="nav-link active" data-toggle="tab" href="#kt_tab_pat_1">Hasil Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_2">Hasil Non Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_3">Hasil Fisik</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_4">Resume Individu</a>
// </li>
// </ul>
// </div>
// <div class="tab-content mt-5" id="patTabContent">
// <div class="tab-pane fade show active" id="kt_tab_pat_1" role="tabpanel" aria-labelledby="kt_tab_pat_1" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_2" role="tabpanel" aria-labelledby="kt_tab_pat_2" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_3" role="tabpanel" aria-labelledby="kt_tab_pat_3" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_4" role="tabpanel" aria-labelledby="kt_tab_pat_4" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// </div>

View File

@@ -11,6 +11,8 @@ import "io"
import "bytes"
import "cpone/component/modal"
import "cpone/models"
import "strconv"
func DialogReport(
IDComponent string,
@@ -42,7 +44,7 @@ func DialogReport(
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(IDComponent)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 18, Col: 28}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 20, Col: 28}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
@@ -55,7 +57,7 @@ func DialogReport(
var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(hxInclude)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 19, Col: 34}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 21, Col: 34}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil {
@@ -86,6 +88,7 @@ func DialogReport(
func ModalBody(
IDComponent string,
tabComponent templ.Component,
hxOnLoad templ.ComponentScript,
) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
@@ -111,7 +114,7 @@ func ModalBody(
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(IDComponent)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 34, Col: 25}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 37, Col: 25}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
@@ -126,59 +129,15 @@ func ModalBody(
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\"><div><ul class=\"nav nav-tabs nav-tabs-line\"><li class=\"nav-item\"><a class=\"nav-link active\" data-toggle=\"tab\" href=\"#kt_tab_pat_1\">Hasil Lab</a></li><li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"#kt_tab_pat_2\">Hasil Non Lab</a></li><li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"#kt_tab_pat_3\">Hasil Fisik</a></li><li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"#kt_tab_pat_4\">Resume Individu</a></li></ul></div><div class=\"tab-content mt-5\" id=\"patTabContent\"><div class=\"tab-pane fade show active\" id=\"kt_tab_pat_1\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_1\" style=\"height: 700px;\"><object data=\"")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 53, Col: 188}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
templ_7745c5c3_Err = tabComponent.Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div><div class=\"tab-pane fade\" id=\"kt_tab_pat_2\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_2\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 56, Col: 181}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div><div class=\"tab-pane fade\" id=\"kt_tab_pat_3\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_3\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 59, Col: 179}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div><div class=\"tab-pane fade\" id=\"kt_tab_pat_4\" role=\"tabpanel\" aria-labelledby=\"kt_tab_pat_4\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 62, Col: 172}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div></div></div>")
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -217,9 +176,9 @@ func ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID string
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var11 := templ.GetChildren(ctx)
if templ_7745c5c3_Var11 == nil {
templ_7745c5c3_Var11 = templ.NopComponent
templ_7745c5c3_Var7 := templ.GetChildren(ctx)
if templ_7745c5c3_Var7 == nil {
templ_7745c5c3_Var7 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = templ.RenderScriptItems(ctx, templ_7745c5c3_Buffer, JsHideModal(modalID))
@@ -230,8 +189,8 @@ func ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID string
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 templ.ComponentScript = JsHideModal(modalID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var12.Call)
var templ_7745c5c3_Var8 templ.ComponentScript = JsHideModal(modalID)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8.Call)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -245,3 +204,216 @@ func ModalClose(LinkClose string, hxTarget string, hxSwap string, modalID string
return templ_7745c5c3_Err
})
}
func TabReportView(
data []models.TabViewReportMcu,
) 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_Var9 := templ.GetChildren(ctx)
if templ_7745c5c3_Var9 == nil {
templ_7745c5c3_Var9 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div><ul class=\"nav nav-tabs nav-tabs-line\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i, v := range data {
if i == 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li class=\"nav-item\"><a class=\"nav-link active\" data-toggle=\"tab\" href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 templ.SafeURL = templ.URL("#kt_tab_pat_" + strconv.Itoa(i))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var10)))
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_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(v.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 70, Col: 128}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<li class=\"nav-item\"><a class=\"nav-link\" data-toggle=\"tab\" href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 templ.SafeURL = templ.URL("#kt_tab_pat_" + strconv.Itoa(i))
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var12)))
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_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(v.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 74, Col: 121}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a></li>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</ul></div><div class=\"tab-content mt-5\" id=\"patTabContent\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for i, v := range data {
if i == 0 {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"tab-pane fade show active\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 83, Col: 90}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" role=\"tabpanel\" aria-labelledby=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 83, Col: 156}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(v.Link)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 84, Col: 41}
}
_, 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("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"tab-pane fade show\" id=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var17 string
templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 87, Col: 83}
}
_, 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("\" role=\"tabpanel\" aria-labelledby=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs("kt_tab_pat_" + strconv.Itoa(i))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 87, Col: 149}
}
_, 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("\" style=\"height: 700px;\"><object data=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var19 string
templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(v.Link)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\corporate\patient\patientmodal.templ`, Line: 88, 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("\" type=\"application/pdf\" width=\"100%\" height=\"100%\"></object></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
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
})
}
// <div>
// <ul class="nav nav-tabs nav-tabs-line">
// <li class="nav-item">
// <a class="nav-link active" data-toggle="tab" href="#kt_tab_pat_1">Hasil Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_2">Hasil Non Lab</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_3">Hasil Fisik</a>
// </li>
// <li class="nav-item">
// <a class="nav-link" data-toggle="tab" href="#kt_tab_pat_4">Resume Individu</a>
// </li>
// </ul>
// </div>
// <div class="tab-content mt-5" id="patTabContent">
// <div class="tab-pane fade show active" id="kt_tab_pat_1" role="tabpanel" aria-labelledby="kt_tab_pat_1" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_history.rptdesign&__format=pdf&PID=5&PPatientID=112&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_2" role="tabpanel" aria-labelledby="kt_tab_pat_2" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_pajanan.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_3" role="tabpanel" aria-labelledby="kt_tab_pat_3" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/mcu_fisik.rptdesign&__format=pdf&PID=5&PType=fisik&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// <div class="tab-pane fade" id="kt_tab_pat_4" role="tabpanel" aria-labelledby="kt_tab_pat_4" style="height: 700px;">
// <object data={"https://devcpone.aplikasi.web.id/birt/run?__report=report/one/mcu/rpt_mcu_resume.rptdesign&__format=pdf&PID=1&username=adhi&tm=1717726294764"} type="application/pdf" width="100%" height="100%"></object>
// </div>
// </div>