add insert data nonlab template
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
dev_mdnonlabtemplateview "cpone/views/dev/mdnonlabtemplate"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/a-h/templ"
|
||||
"github.com/labstack/echo/v4"
|
||||
@@ -24,6 +25,12 @@ type MDNonlabTemplateServices interface {
|
||||
GetListNonlabTemplate(search string, currentPage int, rowPerPage int) ([]models.MDNonlabTemplate, int, error)
|
||||
GetMDNonlabTemplateByID(id string) (models.MDNonlabTemplate, error)
|
||||
DeleteDataNonlabTemplate(id string) (models.MDNonlabTemplate, error)
|
||||
AddNonlabTemplate(nama string, fisik string) (models.MDNonlabTemplate, error)
|
||||
UpdateNonlabTemplate(id string, nama string, fisik string) (models.MDNonlabTemplate, error)
|
||||
GetIDNonlabTemplate(name string) (int, error)
|
||||
GetDetailByIDNonlabTemplate(id string) (models.NonlabTemplateDetail, error)
|
||||
ListDetailByIDNonlabTemplate(id string) ([]models.NonlabTemplateDetail, error)
|
||||
AddDetailNonlabTemplate(idnonlab string, kode string, name string, flagActive string) (models.NonlabTemplateDetail, error)
|
||||
}
|
||||
|
||||
type MDNonlabTemplateHandler struct {
|
||||
@@ -128,16 +135,15 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
|
||||
dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: dialogAddBodyID,
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
@@ -145,12 +151,31 @@ func (nlt *MDNonlabTemplateHandler) HandleShowNonlabTemplateScreen(c echo.Contex
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: "N",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
@@ -497,10 +522,10 @@ func (nlt *MDNonlabTemplateHandler) HandleCloseFormAdd(c echo.Context) error {
|
||||
Type: "hidden",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
@@ -508,12 +533,31 @@ func (nlt *MDNonlabTemplateHandler) HandleCloseFormAdd(c echo.Context) error {
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: "N",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSHideModal("#"+dialogAddID),
|
||||
)
|
||||
@@ -526,26 +570,159 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
|
||||
dialogAddID := c.FormValue("dialogAddID")
|
||||
searchID := c.FormValue("searchID")
|
||||
paginationID := c.FormValue("paginationID")
|
||||
logger.Info("Test Button")
|
||||
|
||||
fisik := c.FormValue("nonlabtemplatefisik")
|
||||
name := c.FormValue("nonlabtemplatename")
|
||||
id := c.FormValue("nonlabtemplateid")
|
||||
logger.Info("Component ID", zap.Any("ID", id))
|
||||
|
||||
dialogAddBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
flagFisik := "N"
|
||||
if fisik == "on" {
|
||||
flagFisik = "Y"
|
||||
}
|
||||
|
||||
formValidation := ""
|
||||
namaValidation := ""
|
||||
|
||||
if strings.TrimSpace(name) == "" {
|
||||
formValidation = "Nama tidak boleh kosong"
|
||||
namaValidation = "Nama tidak boleh kosong"
|
||||
}
|
||||
|
||||
if formValidation != "" || namaValidation != "" {
|
||||
nf := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: id,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
ErrorMsg: namaValidation,
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
Name: "nonlabtemplatefisik",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: fisik,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
toast := customtoastv2.CustomToastV2Show("Warning", formValidation, "warning")
|
||||
return utils.ViewMulti(c, []templ.Component{toast, nf})
|
||||
}
|
||||
|
||||
var respAdd models.MDNonlabTemplate
|
||||
var err error
|
||||
|
||||
if id != "" {
|
||||
respAdd, err = nlt.MDNonlabTemplateServices.UpdateNonlabTemplate(id, name, flagFisik)
|
||||
} else {
|
||||
respAdd, err = nlt.MDNonlabTemplateServices.AddNonlabTemplate(name, flagFisik)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error", zap.Any("Error", err), zap.Any("nama", name), zap.Any("fisik", flagFisik))
|
||||
nf := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: strconv.Itoa(int(respAdd.NonlabTemplateID)),
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
Name: "nonlabtemplatefisik",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: fisik,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
toast := customtoastv2.CustomToastV2Show("Error", err.Error(), "danger")
|
||||
return utils.ViewMulti(c, []templ.Component{toast, nf})
|
||||
}
|
||||
logger.Info("ADD Nonlab Template", zap.Any("response", respAdd))
|
||||
|
||||
returnBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: strconv.Itoa(int(respAdd.NonlabTemplateID)),
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Label: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
@@ -553,14 +730,256 @@ func (nlt *MDNonlabTemplateHandler) HandleSimpanNama(c echo.Context) error {
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: fisik,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
return utils.View(c, dialogAddBody)
|
||||
|
||||
var msg string
|
||||
if id != "" {
|
||||
msg = "Success update data nonlab template "
|
||||
} else {
|
||||
msg = "Success insert data nonlab template "
|
||||
}
|
||||
|
||||
toast := customtoastv2.CustomToastV2Show("Success", msg+name, "success")
|
||||
return utils.ViewMulti(c, []templ.Component{toast, returnBody})
|
||||
}
|
||||
|
||||
func (nlt *MDNonlabTemplateHandler) HandleAddDetail(c echo.Context) error {
|
||||
logger, _ := zap.NewProduction()
|
||||
|
||||
dialogAddBodyID := c.FormValue("dialogAddBodyID")
|
||||
dialogAddID := c.FormValue("dialogAddID")
|
||||
searchID := c.FormValue("searchID")
|
||||
paginationID := c.FormValue("paginationID")
|
||||
|
||||
id := c.FormValue("nonlabtemplateid")
|
||||
template := c.FormValue("nonlabtemplatename")
|
||||
fisik := c.FormValue("nonlabtemplatefisik")
|
||||
|
||||
kode := c.FormValue("nltdetailkode")
|
||||
name := c.FormValue("nltdetailname")
|
||||
|
||||
if fisik == "Y" {
|
||||
fisik = "on"
|
||||
} else {
|
||||
fisik = "off"
|
||||
}
|
||||
|
||||
// default active
|
||||
flagActive := "Y"
|
||||
|
||||
formValidation := ""
|
||||
templateValidation := ""
|
||||
kodeValidation := ""
|
||||
namaValidation := ""
|
||||
|
||||
if strings.TrimSpace(id) == "" {
|
||||
formValidation = "Simpan nama template dulu"
|
||||
templateValidation = "Simpan nama template dulu"
|
||||
}
|
||||
if strings.TrimSpace(kode) == "" {
|
||||
formValidation = "Kode tidak boleh kosong"
|
||||
kodeValidation = "Kode tidak boleh kosong"
|
||||
}
|
||||
if strings.TrimSpace(name) == "" {
|
||||
formValidation = "Nama tidak boleh kosong"
|
||||
namaValidation = "Nama tidak boleh kosong"
|
||||
}
|
||||
|
||||
if formValidation != "" || templateValidation != "" || kodeValidation != "" || namaValidation != "" {
|
||||
nf := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: id,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: template,
|
||||
ErrorMsg: templateValidation,
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
Name: "nonlabtemplatefisik",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: fisik,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
Value: kode,
|
||||
ErrorMsg: kodeValidation,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
ErrorMsg: namaValidation,
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
toast := customtoastv2.CustomToastV2Show("Warning", formValidation, "warning")
|
||||
return utils.ViewMulti(c, []templ.Component{toast, nf})
|
||||
}
|
||||
|
||||
resp, err := nlt.MDNonlabTemplateServices.AddDetailNonlabTemplate(id, kode, name, flagActive)
|
||||
if err != nil {
|
||||
defer logger.Sync()
|
||||
logger.Info("Error", zap.Any("Error", err), zap.Any("id", id), zap.Any("kode", kode), zap.Any("nama", name))
|
||||
nf := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: id,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: template,
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
Name: "nonlabtemplatefisik",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: fisik,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
Value: kode,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
Value: name,
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
toast := customtoastv2.CustomToastV2Show("Error", err.Error(), "danger")
|
||||
return utils.ViewMulti(c, []templ.Component{toast, nf})
|
||||
}
|
||||
logger.Info("ADD Nonlab Template Detail", zap.Any("response", resp))
|
||||
|
||||
returnBody := dev_mdnonlabtemplateview.BodyFormMDNonlabTemplate(
|
||||
dialogAddBodyID,
|
||||
models.CustomTextFieldv2Prm{
|
||||
Name: "nonlabtemplateid",
|
||||
ID: "nonlabtemplateinputid",
|
||||
Type: "hidden",
|
||||
Value: id,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Template",
|
||||
Name: "nonlabtemplatename",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Type: "text",
|
||||
Value: template,
|
||||
},
|
||||
models.CustomCheckboxv1Prm{
|
||||
Text: "Template Fisik",
|
||||
Name: "nonlabtemplatefisik",
|
||||
ID: "nonlabtemplateinputname",
|
||||
Value: fisik,
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Kode",
|
||||
Name: "nltdetailkode",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
models.CustomTextFieldv2Prm{
|
||||
Placeholder: "Nama Detail",
|
||||
Name: "nltdetailname",
|
||||
ID: "nltdetailinputkode",
|
||||
Type: "text",
|
||||
},
|
||||
dev_mdnonlabtemplateview.BtnSimpanNama(
|
||||
"/dev/md/nonlabtemplate/simpanama",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.BtnAddDetail(
|
||||
"/dev/md/nonlabtemplate/adddetail",
|
||||
"#"+dialogAddBodyID,
|
||||
"outerHTML",
|
||||
"#"+dialogAddID,
|
||||
"#tableID, #paginationID, #searchID, #dialogAddBodyID, #dialogAddID, #dialogDeleteBodyID, #dialogDeleteID, #dialogEditBodyID, #"+searchID+", #currpage"+paginationID,
|
||||
),
|
||||
dev_mdnonlabtemplateview.JSShowModal(""),
|
||||
)
|
||||
toast := customtoastv2.CustomToastV2Show("Success", "success insert detail "+name, "success")
|
||||
return utils.ViewMulti(c, []templ.Component{toast, returnBody})
|
||||
}
|
||||
|
||||
@@ -289,6 +289,7 @@ func SetupRoutesDev(app *echo.Echo, appStore db.AppStore) {
|
||||
dev.POST("/md/nonlabtemplate/delete", devMDNonlabTemplateHandlers.HandleDelete)
|
||||
dev.POST("/md/nonlabtemplate/simpanama", devMDNonlabTemplateHandlers.HandleSimpanNama)
|
||||
dev.POST("/md/nonlabtemplate/closeaddform", devMDNonlabTemplateHandlers.HandleCloseFormAdd)
|
||||
dev.POST("/md/nonlabtemplate/adddetail", devMDNonlabTemplateHandlers.HandleAddDetail)
|
||||
|
||||
// masterdata nat unit
|
||||
devMdNatUnitServices := dev_services.NewMdNatUnitServices(appStore)
|
||||
|
||||
Reference in New Issue
Block a user