719 lines
33 KiB
HTML
719 lines
33 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout" layout:decorator="layout/basic">
|
|
<head>
|
|
<title th:text="#{system}"></title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
|
<link rel="stylesheet" type="text/css" href="/bootstrap-4.0.0-dist/css/fileinput.css" th:href="@{/bootstrap-4.0.0-dist/css/fileinput.css}" />
|
|
<link rel="stylesheet" href="/css/spinners.css" th:href="@{/css/spinners.css}"/>
|
|
<!-- JS for This Page -->
|
|
<!-- Bootstrap FileInput Input JS -->
|
|
|
|
<script src="/bootstrap-4.0.0-dist/js/fileinput.js" th:src="@{/bootstrap-4.0.0-dist/js/fileinput.js}" ></script>
|
|
<script src="/bootstrap-4.0.0-dist/js/fileinput.fa.theme.js" th:src="@{/bootstrap-4.0.0-dist/js/fileinput.fa.theme.js}" ></script>
|
|
<script src="/bootstrap-4.0.0-dist/js/fileinput.locales.js" th:src="@{/bootstrap-4.0.0-dist/js/fileinput.locales.js}" ></script>
|
|
|
|
|
|
<script src="/js/system/systemAjax.js" charset="UTF-8" th:src="@{/js/system/systemAjax.js}" ></script>
|
|
<script th:inline="javascript" src="/js/system/system.js" th:src="@{/js/system/system.js}" charset="UTF-8"></script>
|
|
|
|
<script th:inline="javascript" type="text/javascript">
|
|
/*<![CDATA[*/
|
|
var getBiztpMap = [[${getBiztpMap}]]
|
|
, group1_use_yn = [[${group1_use_yn}]]
|
|
, group2_use_yn = [[${group2_use_yn}]]
|
|
, group3_use_yn = [[${group3_use_yn}]]
|
|
, group1_name = [[${group1_name}]]
|
|
, group2_name = [[${group2_name}]]
|
|
, group3_name = [[${group3_name}]]
|
|
, group3_name = [[${group3_name}]]
|
|
, gRememberDomainStr = [[${webInfo.domain_str}]] || ''
|
|
, i18n_all = /*[[#{all}]]*/
|
|
, i18n_keystore = /*[[#{keystore}]]*/
|
|
, i18n_key = /*[[#{key}]]*/
|
|
, i18n_pw2 = /*[[#{pw2}]]*/
|
|
, i18n_fileinput_locales = /*[[#{locales}]]*/
|
|
, i18n_status_invalid_pattern = /*[[#{status.invalid.pattern}]]*/
|
|
, i18n_status_token_expire = /*[[#{status.token.expire}]]*/
|
|
, i18n_msg_process_result_success = /*[[#{msg.process.result.success}]]*/
|
|
, i18n_msg_process_result_fail = /*[[#{msg.process.result.fail}]]*/
|
|
, i18n_msg_process_result_check_fail_file = /*[[#{msg.process.result.check.fail.file}]]*/
|
|
, i18n_msg_process_result_check_fail = /*[[#{msg.process.result.check.fail}]]*/
|
|
, i18n_msg_process_result_error = /*[[#{msg.process.result.error}]]*/
|
|
, i18n_msg_process_result_save_success = /*[[#{msg.process.result.save.success}]]*/
|
|
, i18n_msg_process_result_delete_success = /*[[#{msg.process.result.delete.success}]]*/
|
|
, i18n_msg_process_result_delete_fail = /*[[#{msg.process.result.delete.fail}]]*/
|
|
, i18n_msg_process_result_fail = /*[[#{msg.process.result.fail}]]*/
|
|
, i18n_msg_process_result_check_pw = /*[[#{msg.process.result.check.pw}]]*/
|
|
, i18n_msg_confirm_apply = /*[[#{msg.confirm.apply}]]*/
|
|
, i18n_msg_confirm_upload_file = /*[[#{msg.confirm.upload.file}]]*/
|
|
, i18n_msg_confirm_save = /*[[#{msg.confirm.save}]]*/
|
|
, i18n_msg_confirm_delete = /*[[#{msg.confirm.delete}]]*/
|
|
, i18n_msg_confirm_delete_firware_file = /*[[#{msg.confirm.delete.firware.file}]]*/
|
|
, i18n_msg_not_selected_upload_file = /*[[#{msg.not.selected.upload.file}]]*/
|
|
, i18n_msg_info_input_nodata = /*[[#{msg.info.input.nodata}]]*/
|
|
, i18n_msg_info_selected_file_not_allow_upload = /*[[#{ msg.info.selected.file.not.allow.upload}]]*/
|
|
, i18n_msg_info_store_not_select = /*[[#{msg.info.store.not.select}]]*/
|
|
, i18n_msg_info_check_input_field = /*[[#{msg.info.check.input.field}]]*/
|
|
;
|
|
/*]]>*/
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div layout:fragment="content">
|
|
|
|
<br />
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-3">
|
|
|
|
<!-- Web Version -->
|
|
<div class="card" >
|
|
<div class="card-header bg-custom-dark text-light">
|
|
<i class="fas fa-align-justify"></i> <span><span th:text="#{web.version}"></span></span>
|
|
</div>
|
|
<div class="card-body" >
|
|
<div class="alert alert-secondary m-0" th:text="${webInfo.web_version}"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div><!-- col-3 -->
|
|
<div class="col-3">
|
|
|
|
<!-- Daemon Version -->
|
|
<div class="card" >
|
|
<div class="card-header bg-custom-dark text-light">
|
|
<i class="fas fa-align-justify"></i> <span th:text="#{daemon.version}"></span>
|
|
</div>
|
|
<div class="card-body" >
|
|
<div class="alert alert-secondary m-0" th:text="${webInfo.daemon_version}"></div>
|
|
</div>
|
|
</div>
|
|
|
|
</div><!-- col-3 -->
|
|
<div class="col-6">
|
|
|
|
<!-- Domain Setting. -->
|
|
<div class="card" >
|
|
<div class="card-header bg-custom-dark text-light">
|
|
<div class="float-left">
|
|
<i class="fas fa-align-justify"></i>
|
|
<span th:text="#{domain.setting}"></span>
|
|
</div>
|
|
<div class="float-right">
|
|
<span class="text-warning text-bold" >*{ID}</span>
|
|
<span class="text-warning " > : </span>
|
|
<span class="text-warning" th:text="#{store.code}"></span>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="input-group input-group-lg float-left" style="width: 30%;">
|
|
<div class="input-group-prepend">
|
|
<div class="input-group-text border border-secondary">
|
|
<input type="checkbox" id="useDomain" style="cursor: pointer;"
|
|
th:checked="${webInfo.use_domain != null and (webInfo.use_domain eq 'Y' or webInfo.use_domain eq 'y')}" />
|
|
</div>
|
|
</div>
|
|
<label class="form-control border border-secondary border-left-0" style="cursor: pointer;" for="useDomain">
|
|
<span th:text="#{domain.use}" ></span>
|
|
</label>
|
|
</div>
|
|
<div class="input-group input-group-lg float-right" style="width: 67%;">
|
|
<input type="text" class="form-control border border-secondary" id="domainStr"
|
|
placeholder="esl{ID}.lginnotek.com"
|
|
th:value="${webInfo.domain_str} == null ? '' : ${webInfo.domain_str}"
|
|
th:disabled="${webInfo.use_domain == null or (webInfo.use_domain eq 'N' or webInfo.use_domain eq 'n')}" />
|
|
<div class="input-group-append">
|
|
<button type="button" id="btnSaveDomain" class="btn btn-outline-secondary" >
|
|
<i class="fas fa-save pr-2"></i>
|
|
<span class="text-bold" th:text="#{save}"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="clearfix"></div>
|
|
</div>
|
|
</div><!-- .card -->
|
|
|
|
</div><!-- col-6 -->
|
|
</div><!-- row -->
|
|
<br />
|
|
<div class="row">
|
|
<div class="col">
|
|
|
|
<!-- Logo -->
|
|
<div class="card" >
|
|
<div class="card-header bg-custom-dark text-light">
|
|
<i class="far fa-image m-1"></i> <span th:text="#{logo}" ></span>
|
|
</div>
|
|
<div class="card-body" >
|
|
<form method="post" id="addLogo">
|
|
<input type="hidden" th:value="${webInfo.logo_path}" id="prop_logo" name="prop_logo" />
|
|
<input type="hidden" name="file_path" id="file_path" value="" />
|
|
|
|
<div class="alert alert-secondary" id="div_prop_logo" th:text="${webInfo.logo_path}"></div>
|
|
<label class="control-label" for="file_logo" th:text="#{file.select}"></label>
|
|
<input type="file" id="file_logo" name="file_logo" required="required" accept=".jpg,.jpeg,.png" />
|
|
</form>
|
|
</div>
|
|
</div><!-- .card -->
|
|
|
|
</div><!-- col -->
|
|
<div class="col">
|
|
|
|
<!-- Title -->
|
|
<div class="card " >
|
|
<div class="card-header bg-custom-dark text-light">
|
|
<i class="fas fa-align-justify"></i> <span th:text="#{title}" ></span>
|
|
</div>
|
|
<div class="card-body" >
|
|
<form name="frmTitle" method="POST">
|
|
<div class="alert alert-secondary " id="prop_title" th:text="${webInfo.title}"></div>
|
|
<label class="control-label" for="web_title" th:text="#{title.input}"></label>
|
|
<div class="input-group ">
|
|
<input type="text" class="form-control" id="web_title" th:placeholder="#{title}" required="required"/>
|
|
<div class="input-group-append">
|
|
<button type="button" id="btn-save-web-title" class="btn btn-outline-secondary" >
|
|
<i class="fas fa-save pr-2"></i>
|
|
<span class="text-bold" th:text="#{save}"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div><!-- .card -->
|
|
|
|
</div><!-- col -->
|
|
</div><!-- row -->
|
|
<br />
|
|
<div class="row">
|
|
<div class="col">
|
|
|
|
<div class="card " >
|
|
<div class="card-header bg-custom-dark text-light ">
|
|
<i class="fas fa-upload "></i> <span th:text="#{upload.file}"> </span>
|
|
</div>
|
|
<div class="card-body text-secodary ">
|
|
<ul class="nav nav-pills mb-3 " id="pills-tab" role="tablist">
|
|
<li class="nav-item ">
|
|
<a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true" th:text="#{firmware.label}"></a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="pills-first-tab" data-toggle="pill" href="#pills-first" role="tab" aria-controls="pills-first-tab" aria-selected="false" th:text="#{e_core}"></a>
|
|
</li>
|
|
<!-- E-Core Config: 20190530, 사용 안 한다는 이유로 탭 삭제 -->
|
|
<!--
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="pills-second-tab" data-toggle="pill" href="#pills-second" role="tab" aria-controls="pills-second-tab" aria-selected="false" th:text="#{hcore_cfg}"></a>
|
|
</li>
|
|
-->
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="pills-third-tab" data-toggle="pill" href="#pills-third" role="tab" aria-controls="pills-third-tab" aria-selected="false" th:text="#{ems}"></a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="pills-fourth-tab" data-toggle="pill" href="#pills-fourth" role="tab" aria-controls="pills-fourth-tab" aria-selected="false" th:text="#{ssl}"></a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" id="pills-fifth-tab" data-toggle="pill" href="#pills-fifth" role="tab" aria-controls="pills-fifth-tab" aria-selected="false" th:text="#{pos.file_en}"></a>
|
|
</li>
|
|
</ul>
|
|
<div class="tab-content" id="pills-tabContent">
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Firmware -->
|
|
<div class="tab-pane fade show active " id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
|
|
<table class="table text-center mb-0" id="firmwareTable">
|
|
<thead class="thead-light" >
|
|
<tr>
|
|
<th th:text="#{no}" ></th>
|
|
<th th:text="#{type}"></th>
|
|
<th th:text="#{file}"></th>
|
|
<th th:text="#{delete}"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody></tbody>
|
|
</table>
|
|
<br />
|
|
<div class="float-right">
|
|
<button type="button" class="btn btn-outline-dark text-bold" id="btn-fwEdit" data-toggle="modal" disabled="disabled">
|
|
<i class="fas fa-upload pr-2"></i>
|
|
<span th:text="#{upload.file}"></span>
|
|
</button>
|
|
</div>
|
|
</div><!-- .tab-pane#pills-home -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- HCORE -->
|
|
<div class="tab-pane round border fade" id="pills-first" role="tabpanel" aria-labelledby="pills-first-tab" >
|
|
<div class="p-3">
|
|
<form method="post" id="addHCORE">
|
|
<div class="form-group">
|
|
<label class="control-label " for="current_file" th:text="#{current.file}"></label>
|
|
<div class="input-group input-group-lg">
|
|
<input
|
|
type="text"
|
|
readonly="readonly"
|
|
class="form-control alert alert-secondary"
|
|
th:attr="value=${core_name.file_name==null?'-':core_name.file_name},aria-label=${core_name.file_name==null?'-':core_name.file_name}"
|
|
aria-describedby="current_core_file" />
|
|
<div class="input-group-append">
|
|
<button
|
|
type="button"
|
|
class="btn btn-outline-warning "
|
|
id="current_core_file"
|
|
th:onclick="'deleteFileBySeq('+${core_name.seq}+', \'HCORE\')'"
|
|
th:disabled="!${core_name.seq}" >
|
|
<i class="fas fa-trash-alt"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label" for="file_hcore" th:text="#{file.select}" ></label>
|
|
<span class="btn btn-default btn-file"></span>
|
|
<input type="file" id="file_hcore" name="file_hcore" required="required" accept=".zip" />
|
|
</div>
|
|
<input type="hidden" name="file_path" id="file_path" value="" />
|
|
</form>
|
|
</div>
|
|
</div><!-- .tab-pane#pills-first -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- HCORE_CFG -->
|
|
<!-- E-Core Config: 20190530, 사용 안 한다는 이유로 탭 삭제 -->
|
|
<!--
|
|
<div class="tab-pane round border fade" id="pills-second" role="tabpanel" aria-labelledby="pills-second-tab">
|
|
<div class="p-3">
|
|
<form method="post" name="frmHCORE_CFG">
|
|
<div class="form-group">
|
|
<div class="row">
|
|
<div class="col">
|
|
<label class="control-label" for="str_code" th:text="#{store.code}"></label>
|
|
<input class="form-control form-control-md border-shadow input-str_code" type="text" name="str_code" readonly="readonly" />
|
|
</div>
|
|
<div class="col">
|
|
<label class="control-label" for="str_name" th:text="#{store.name}"></label>
|
|
<input class="form-control form-control-md border-shadow input-str_name" type="text" name="str_name" readonly="readonly" />
|
|
</div>
|
|
<div class="col">
|
|
<label class="control-label" for="core_cfg_file_name" th:text="#{file}"></label>
|
|
<input class="form-control form-control-md border-shadow input-core_cfg_file_name" type="text" name="core_cfg_file_name" readonly="readonly" />
|
|
</div>
|
|
<div class="col" >
|
|
<br />
|
|
<button type="button" class="btn btn-outline-secondary border-shadow mt-2" data-toggle="modal" data-backdrop="static" data-target="#coreConfigFileSearchModal">
|
|
<i class="fas fa-search"></i> <span th:text="#{search}"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label" for="file_hcore_cfg" th:text="#{file.select}"></label>
|
|
<span class="btn btn-default btn-file"></span>
|
|
<input type="file" id="file_hcore_cfg" name="file_hcore_cfg" required="required" accept=".zip"/>
|
|
</div>
|
|
<input type="hidden" name="file_path" id="file_path" value="" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
-->
|
|
<!-- .tab-pane#pills-second -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- EMS -->
|
|
<div class="tab-pane round border fade" id="pills-third" role="tabpanel" aria-labelledby="pills-third-tab" >
|
|
<div class="p-3">
|
|
<form method="post" id="addEMS">
|
|
<div class="form-group">
|
|
<label class="control-label " for="current_ems_file" th:text="#{current.file}"></label>
|
|
<div class="input-group input-group-lg">
|
|
<input
|
|
type="text"
|
|
readonly="readonly"
|
|
class="form-control alert alert-secondary"
|
|
th:attr="value=${ems_name==null?'-':ems_name.file_name},aria-label=${ems_name==null?'-':ems_name.file_name}"
|
|
aria-describedby="current_ems_file" />
|
|
<div class="input-group-append">
|
|
<button
|
|
type="button"
|
|
class="btn btn-outline-warning "
|
|
id="current_ems_file"
|
|
th:onclick="'deleteFileBySeq('+${ems_name.seq}+', \'EMS\')'"
|
|
th:disabled="!${ems_name.seq}" >
|
|
<i class="fas fa-trash-alt"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label" for="file_ems" th:text="#{file.select}"></label>
|
|
<span class="btn btn-default btn-file"></span>
|
|
<input type="file" id="file_ems" name="file_ems" required="required" accept=".zip" />
|
|
</div>
|
|
<input type="hidden" name="file_path" id="file_path" value="" />
|
|
</form>
|
|
</div>
|
|
</div><!-- .tab-pane#pills-third -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- SSL -->
|
|
<div class="tab-pane round border fade" id="pills-fourth" role="tabpanel" aria-labelledby="pills-fourth-tab" >
|
|
<div class="p-3">
|
|
<form class="form" id="addSSL">
|
|
|
|
|
|
|
|
<div class="row">
|
|
<div class="col ssl-non-null" th:classappend="${ssl_name.file_name ne '-' ? '' : ''}">
|
|
<label class="control-label " for="file_jks" th:text="#{current.file}"></label>
|
|
<div class="form-group">
|
|
<input
|
|
type="text"
|
|
readonly="readonly"
|
|
class="form-control alert alert-secondary p-2 pl-3"
|
|
th:attr="value=${ssl_name.file_name},aria-label=${ssl_name.file_name}"
|
|
aria-describedby="file_jks"
|
|
style="font-size: 16px;" />
|
|
</div><!-- .form-group -->
|
|
</div><!-- col -->
|
|
</div><!-- .row -->
|
|
<div class="row">
|
|
<div class="col ssl-null" th:classappend="${ssl_name.file_name eq '-' ? '' : ''}">
|
|
<div class="form-group">
|
|
<label for="keystorePW">
|
|
<span th:text="#{keystore}"></span>
|
|
<span th:text="#{pw2}"></span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input type="text" class="form-control" name="keystorePW" required="required" />
|
|
</div><!-- .form-group -->
|
|
</div><!-- col -->
|
|
<div class="col ssl-null" th:classappend="${ssl_name.file_name eq '-' ? '' : ''}">
|
|
<div class="form-group">
|
|
<label for="keyPW">
|
|
<span th:text="#{key}"></span>
|
|
<span th:text="#{pw2}"></span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input type="text" class="form-control" name="keyPW" required="required" />
|
|
</div><!-- .form-group -->
|
|
</div><!-- col -->
|
|
<div class="col">
|
|
<div class="form-group">
|
|
<label class="control-label" for="file_jks">
|
|
<span th:text="#{keystore}"></span>
|
|
<span class="text-danger">*</span>
|
|
</label>
|
|
<input id="file_jks" name="file_jks" type="file" accept=".jks" required="required" />
|
|
</div><!-- .form-group -->
|
|
</div><!-- col -->
|
|
</div><!-- .row -->
|
|
|
|
<hr />
|
|
|
|
<div class="row">
|
|
<div class="col">
|
|
<div class="form-group">
|
|
<div class="text-right">
|
|
<button type="button" class="btn btn-outline-secondary text-bold" th:text="#{save}" id="saveSSL" ></button>
|
|
</div>
|
|
</div><!-- .form-group -->
|
|
</div><!-- col -->
|
|
</div><!-- .row -->
|
|
|
|
|
|
</form>
|
|
</div><!-- p-3 -->
|
|
</div><!-- .tab-pane#pills-fourth -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- POS_FILE -->
|
|
<div class="tab-pane round border fade" id="pills-fifth" role="tabpanel" aria-labelledby="pills-fifth-tab">
|
|
<div class="p-3">
|
|
<form method="post" name="frmPOS_FILE">
|
|
<div class="form-group">
|
|
<div class="row">
|
|
<div class="col">
|
|
<label class="control-label" for="str_code" th:text="#{store.code}"></label>
|
|
<input class="form-control form-control-md border-shadow input-str_code" type="text" name="str_code" readonly="readonly" />
|
|
</div>
|
|
<div class="col">
|
|
<label class="control-label" for="str_name" th:text="#{store.name}"></label>
|
|
<input class="form-control form-control-md border-shadow input-str_name" type="text" name="str_name" readonly="readonly" />
|
|
</div>
|
|
<div class="col" >
|
|
<br />
|
|
<button type="button" class="btn btn-outline-secondary border-shadow mt-2" data-toggle="modal" data-backdrop="static" data-target="#storeSearchModal">
|
|
<i class="fas fa-search"></i> <span th:text="#{search}"></span>
|
|
</button>
|
|
</div>
|
|
</div><!-- .row -->
|
|
</div><!-- .form-group -->
|
|
<div class="form-group">
|
|
<label class="control-label" for="file_pos_file" th:text="#{file.select}"></label>
|
|
<span class="btn btn-default btn-file"></span>
|
|
<input type="file" id="file_pos_file" name="file_pos_file" required="required" accept=".csv"/>
|
|
</div><!-- .form-group -->
|
|
<input type="hidden" name="file_path" id="file_path" value="" />
|
|
</form>
|
|
</div>
|
|
</div><!-- .tab-pane#pills-fifth -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div><!-- .tab-content#pills-tabContent -->
|
|
</div> <!-- .card-body -->
|
|
</div><!-- .card #storeGroup -->
|
|
|
|
</div><!-- .col -->
|
|
</div><!-- .row -->
|
|
<br />
|
|
<br />
|
|
</div><!-- .container -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- System Upload File Modal -->
|
|
<div class="modal fade " id="systemFileUploadModal" tabindex="-1" role="dialog" aria-labelledby="sfModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-manage-system-fileUpload " role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header bg-custom-dark text-light " >
|
|
<h5 class="modal-title " id="sfModalLabel" th:text="#{upload.file}"> </h5>
|
|
</div>
|
|
<div class="modal-body board-modal-body modal-lg">
|
|
<div class="container-fluid">
|
|
<form method="post" id="addForm">
|
|
<div class="form-group">
|
|
<!-- <label class="control-label" for="software_type" th:text="#{type}"></label> -->
|
|
<div class="input-group input-group-sm ">
|
|
<div class="input-group-prepend">
|
|
<input type="text" class="form-control" name="seq" id="seq" disabled="disabled" size="3" />
|
|
</div>
|
|
<input type="text" class="form-control" name="dp_sub_type" id="dp_sub_type" required="required" disabled="disabled" />
|
|
<input type="hidden" class="form-control" name="sub_type" id="sub_type" required="required" disabled="disabled" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label" for="upgrade_file" th:text="#{file.select}"></label><!-- application/vnd.android.package-archive;application/x-binary -->
|
|
<span class="btn btn-default btn-file"></span>
|
|
<input type="file" id="upload_file" name="upload_file" required="required" accept=".zip" />
|
|
</div>
|
|
<input type="hidden" name="file_path" id="file_path" value=""/>
|
|
</form>
|
|
</div> <!-- container-fluid -->
|
|
</div> <!-- modal-body board-modal-body modal-lg -->
|
|
<div class="modal-footer">
|
|
<button type="button" id="btn-fw-upload-close" class="btn btn-secondary" data-dismiss="modal" th:text="#{close}"></button>
|
|
</div>
|
|
</div> <!-- modal-content -->
|
|
</div> <!-- modal-dialog modal-manage-system-fileUpload -->
|
|
</div> <!-- systemFileUploadModal -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- #coreConfigFileSearchModal search popup -->
|
|
<div class="modal fade" tabindex="-1" role="dialog" id="coreConfigFileSearchModal">
|
|
<div class="modal-dialog modal-lg modal-center" th:style="${group1_use_yn}=='Y' ? ( ${group2_use_yn}=='Y' ? ( ${group3_use_yn}=='Y' ? 'width:870px' : 'width:780px') : 'width:690px') : 'width:600px'" role="document" >
|
|
<div class="modal-content">
|
|
<div class="modal-header bg-custom-dark text-light">
|
|
<h5 class="modal-title" th:text="#{store.search}"></h5>
|
|
<button type="button" class="close color-white" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true" style="color: white; font-size:20px;"><i class="fas fa-times fa-lg "></i></span>
|
|
</button>
|
|
</div> <!-- modal-header -->
|
|
<div class="modal-body">
|
|
<div class="store-group-manage-box2" th:style="${group1_use_yn}=='Y' ? (${group2_use_yn}=='Y' ? (${group3_use_yn}=='Y' ? 'width:850px' : 'width:760px' ) : 'width:670px' ) : 'width:580px'" >
|
|
<div class="input-group-prepend width100-per">
|
|
<div class="input-group-text width100-per" th:if="${group1_use_yn} == 'Y'" >
|
|
<select class=" form-control " id="coreConfigFileGroupSearch01" ><option th:text="${group1_name}"> group1</option></select>
|
|
<select class=" form-control " id="coreConfigFileGroupSearch02" th:if="${group2_use_yn} == 'Y'" ><option value='' th:text="${group2_name}">>group2</option></select>
|
|
<select class=" form-control " id="coreConfigFileGroupSearch03" th:if="${group3_use_yn} == 'Y'" ><option value='' th:text="${group3_name}">>group3</option></select>
|
|
</div>
|
|
</div>
|
|
<div class="input-group mt-3">
|
|
<input type="text" class="form-control" th:placeholder="#{search.placeholder.code.store.name}" id="core_config_file_search_keyword"/>
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-outline-secondary" id='btn-core-config-file-search' data-toggle="tooltip" title="search">
|
|
<b><i class="fas fa-search"></i></b>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<div class=" ">
|
|
<div class="border" style="height: 210px; width: 100%; ; overflow-x: hidden;overflow-y: hidden;">
|
|
<table class="search-store-list text-center" >
|
|
<colgroup>
|
|
<col width="110px" th:if="${group1_use_yn} == 'Y'" />
|
|
<col width="110px" th:if="${group2_use_yn} == 'Y'" />
|
|
<col width="110px" th:if="${group3_use_yn} == 'Y'" />
|
|
<col width="100px" />
|
|
<col width="50px" />
|
|
<col width="170px" />
|
|
<col width="*" />
|
|
</colgroup>
|
|
<thead class="thead-light" >
|
|
<tr style="border-bottom:1px solid #d0d0d0">
|
|
<th th:if="${group1_use_yn} == 'Y'" th:text="${group1_name}"></th>
|
|
<th th:if="${group2_use_yn} == 'Y'" th:text="${group2_name}"></th>
|
|
<th th:if="${group3_use_yn} == 'Y'" th:text="${group3_name}"></th>
|
|
<th th:text="#{business.conditions}"> </th>
|
|
<th align="center" th:text="#{code}"> </th>
|
|
<th align="center" th:text="#{store.name}"> </th>
|
|
<th th:text="#{file}"> </th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<div>
|
|
<table class="table table-sm table-bordered text-center table-fixed search-store-list " id="coreConfigFileList">
|
|
<colgroup>
|
|
<col width="110px" th:if="${group1_use_yn} == 'Y'" />
|
|
<col width="110px" th:if="${group2_use_yn} == 'Y'" />
|
|
<col width="110px" th:if="${group3_use_yn} == 'Y'" />
|
|
<col width="100px" />
|
|
<col width="50px" />
|
|
<col width="170px" />
|
|
<col width="*" />
|
|
</colgroup>
|
|
<tbody ></tbody>
|
|
</table>
|
|
<h4 class="d-none h4 p-3 mt-0 bg-secondary text-center">
|
|
<i class="fas fa-exclamation-circle text-warning"></i>
|
|
<span class="text-light" th:text="#{msg.data.notfound}" ></span>
|
|
</h4>
|
|
</div>
|
|
</div>
|
|
</div> <!-- class="group-box3" -->
|
|
</div> <!-- store-group-manage-box2 -->
|
|
</div> <!-- modal-body -->
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal" id="btn-apply-selected-pos-file" th:text="#{select}"></button>
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal" th:text="#{close}"></button>
|
|
</div>
|
|
</div><!-- modal-content -->
|
|
</div>
|
|
</div><!-- #coreConfigFileSearchModal -->
|
|
|
|
|
|
|
|
|
|
<!-- store search : storeSearchModal -->
|
|
<div class="modal fade" tabindex="-1" role="dialog" id="storeSearchModal">
|
|
<div class="modal-dialog modal-lg modal-center" th:style="${group1_use_yn}=='Y' ? ( ${group2_use_yn}=='Y' ? ( ${group3_use_yn}=='Y' ? 'width:880px' : 'width:780px'): 'width:680px') : 'width:580px;'" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header bg-custom-dark text-light">
|
|
<h5 class="modal-title" th:text="#{store.search}"></h5>
|
|
<button type="button" class="close color-white" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" style="color: white; font-size:20px;"><i class="fas fa-times fa-lg "></i></span></button>
|
|
</div>
|
|
<!-- modal-header -->
|
|
<div class="modal-body">
|
|
<div class="store-group-manage-box2" th:style="${group1_use_yn} =='Y' ? ( ${group2_use_yn}=='Y' ? ( ${group3_use_yn}=='Y' ? 'width:850px' : 'width:750px') : 'width:650px') : 'width:550px'">
|
|
<div class="input-group-prepend width100-per">
|
|
<div class="input-group-text width100-per" th:if="${group1_use_yn} == 'Y'">
|
|
<select class=" form-control " id="storeGroupSearch01">
|
|
<option th:text="${group1_name}"> group1</option>
|
|
</select>
|
|
<select class=" form-control" id="storeGroupSearch02" th:if="${group2_use_yn} == 'Y'">
|
|
<option value='' th:text="${group2_name}">>group2</option>
|
|
</select>
|
|
<select class=" form-control " id="storeGroupSearch03" th:if="${group3_use_yn} == 'Y'">
|
|
<option value='' th:text="${group3_name}">>group3</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="input-group mt-3">
|
|
<input type="text" class="form-control" th:placeholder="#{search.placeholder.code.store.name}" id="store_search_keyword" />
|
|
<div class="input-group-append">
|
|
<button type="button" class="btn btn-outline-secondary" id='btn-store-search' data-toggle="tooltip" title="search">
|
|
<b><i class="fas fa-search"></i></b>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<div class=" ">
|
|
<div class="border" style="height: 210px; width: 100%; ; overflow-x: hidden;overflow-y: hidden;">
|
|
<table class="search-store-list text-center ">
|
|
<colgroup>
|
|
<col width="15%" th:if="${group1_use_yn} == 'Y'" />
|
|
<col width="15%" th:if="${group2_use_yn} == 'Y'" />
|
|
<col width="15%" th:if="${group3_use_yn} == 'Y'" />
|
|
<col width="20%" />
|
|
<col width="15%" />
|
|
<col width="* " />
|
|
</colgroup>
|
|
<thead class="thead-light">
|
|
<tr style="border-bottom:1px solid #d0d0d0">
|
|
<th th:if="${group1_use_yn} == 'Y'" th:text="${group1_name}"></th>
|
|
<th th:if="${group2_use_yn} == 'Y'" th:text="${group2_name}"></th>
|
|
<th th:if="${group3_use_yn} == 'Y'" th:text="${group3_name}"></th>
|
|
<th th:text="#{business.conditions}"> </th>
|
|
<th align="center" th:text="#{code}"> </th>
|
|
<th align="center" th:text="#{store.name}"> </th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<div id="divSearchStoreList" class="" style=" border :0px solid #000000">
|
|
<table class="table table-sm table-bordered text-center table-fixed search-store-list " id="searchStoreList">
|
|
<colgroup>
|
|
<col width="15%" th:if="${group1_use_yn} == 'Y'"></col>
|
|
<col width="15%" th:if="${group2_use_yn} == 'Y'"></col>
|
|
<col width="15%" th:if="${group3_use_yn} == 'Y'"></col>
|
|
<col width="20%"></col>
|
|
<col width="15%"></col>
|
|
<col width=""></col>
|
|
</colgroup>
|
|
<tbody></tbody>
|
|
</table>
|
|
<h4 class="d-none h4 p-3 mt-0 bg-secondary text-center">
|
|
<i class="fas fa-exclamation-circle text-warning"></i>
|
|
<span class="text-light" th:text="#{msg.data.notfound}" ></span>
|
|
</h4>
|
|
</div>
|
|
</div>
|
|
</div><!-- .group-box3 -->
|
|
</div><!-- .store-group-manage-box2 -->
|
|
</div><!-- modal-body -->
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal" id='btn-apply-selected-store' th:text="#{select}"></button>
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal" th:text="#{close}"></button>
|
|
</div>
|
|
</div><!-- modal-content -->
|
|
</div>
|
|
</div><!-- .modal#storeSearchModal group1==Y-->
|
|
|
|
|
|
</div><!-- content -->
|
|
</body>
|
|
</html> |