화면 수정

This commit is contained in:
2026-02-23 18:46:33 +09:00
parent b237c4b934
commit af7846ea7c
14 changed files with 650 additions and 665 deletions

View File

@@ -1,6 +1,6 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<link rel="stylesheet" href="/common/css/custom.css">
<style>
table th {
vertical-align: middle;
@@ -20,43 +20,68 @@
text-align: left;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
/* GLightbox z-index 설정 */
.glightbox-container {
z-index: 9999 !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
min-height: 100px;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
.num {
font-family: Tahoma;
color: #b68556;
font-size: 17px;
}
.table th,
.table td {
vertical-align: top;
box-sizing: border-box;
}
</style>
<div class="app-page-title">
<div class="page-title-wrapper">
<div class="page-title-heading">
<div>홍보확인서 상세 내용</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="main-card mb-3 card">
<div class="col-md-12 col-xl-12">
<div class="col-lg-12">
<div class="main-card mb-2 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center w-100 justify-content-between card-header-tab">
<h4 class="mb-0 fw-bold text-dark">홍보확인서 상세 내용</h4>
<div class="d-flex align-items-center flex-nowrap gap-4 ms-auto" style="white-space:nowrap;">
<?php if (($data['receiver'] ?? '') != "API"): ?>
<span class="text-muted me-2">발신번호:</span>
<span class="fw-bold text-primary fs-6 me-4"><?= esc(str_replace('-', '', $data['caller_no'] ?? '')) ?></span>
<?php endif; ?>
<span class="text-muted me-2">팩스 순번:</span>
<span class="fw-bold text-primary fs-6 me-4"><?= $data['fax_sq'] ?></span>
<?php if (($data['receiver'] ?? '') != "API"): ?>
<div class="card-header">
<div class="d-flex align-items-center w-100">
<div class="ms-auto d-flex gap-1">
<span class="text-muted small me-2">
발신번호 : <?= esc(str_replace('-', '', $data['caller_no'] ?? '')) ?>
</span>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(90)">90˚</button>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(180)">180˚</button>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(270)">270˚</button>
</div>
</div>
</div>
<?php endif; ?>
</div>
</div>
</div>
<div class="card-body">
<!-- table 유지 + 반응형 -->
<div class="table-responsive">
@@ -92,13 +117,15 @@
?>
<?php if ($ext === 'pdf'): ?>
<a href="<?= esc($filePath . $fileName) ?>" class="embed"></a>
<a href="<?= esc($filePath . $fileName) ?>" target="_blank" class="btn btn-primary">PDF 보기</a>
<?php else: ?>
<a onclick="fn_preview('<?= esc($image_path . $fileName) ?>?<?= esc(($data['img_width'] ?? '') . ($data['img_height'] ?? '')) ?>')"
rel="lightbox">
<a href="<?= esc($image_path . $fileName) ?>?<?= esc(($data['img_width'] ?? '') . ($data['img_height'] ?? '')) ?>"
class="glightbox"
data-gallery="fax-image"
data-title="팩스 이미지">
<img id="fax_image"
src="<?= esc($image_path . $fileName) ?>?<?= esc(($data['img_width'] ?? '') . ($data['img_height'] ?? '')) ?>"
alt="fax" class="img-fluid" style="width: 100%;" />
alt="fax" class="img-fluid" style="width: 100%; cursor: pointer;" />
</a>
<?php endif; ?>
</td>
@@ -121,7 +148,7 @@
<div class="card-body p-2">
<table class="table table-sm table-bordered mb-2 tbl_basic2 align-middle">
<colgroup>
<col style="width: 110px;">
<col style="width: 120px;">
<col>
</colgroup>
<tbody>
@@ -652,7 +679,7 @@
<table
class="table table-sm table-bordered mb-2 tbl_basic2 align-middle">
<colgroup>
<col style="width: 140px;">
<col style="width: 120px;">
<col>
</colgroup>
<tbody>
@@ -940,10 +967,10 @@
<div class="table-scroll" style="height: 250px;overflow-y: scroll;">
<table class="table table-bordered table-sm tbl_basic2 apt-info-table">
<tr>
<th width="90" style="text-align: center;">진행상태</th>
<th width="150" style="text-align: center;">진행상태</th>
<th width="150" style="text-align: center;">변경내용</th>
<th width="90" style="text-align: center;">처리자(ID)</th>
<th width="120" style="text-align: center;">처리일시</th>
<th width="150" style="text-align: center;">처리일시</th>
<th style="text-align: center;">세부내용</th>
</tr>
<?php if (!empty($history)) { ?>
@@ -973,29 +1000,25 @@
</div>
</div>
</div>
<?= $this->section('modals') ?>
<div class="modal" id="previewModal" tabindex="-1">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">미리보기</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body p-0">
<img id="imgPreview" src="" alt="미리보기" width="100%" height="auto">
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>
<?= $this->section('page_styles') ?>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/glightbox/dist/css/glightbox.min.css">
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.jsdelivr.net/npm/glightbox/dist/js/glightbox.min.js"></script>
<script type="text/javascript">
$(function () {
// GLightbox 초기화
const lightbox = GLightbox({
touchNavigation: true,
loop: false,
autoplayVideos: true,
zoomable: true,
draggable: true
});
});
@@ -1776,20 +1799,6 @@
});
}
// 이미지 프리뷰
function fn_preview(src) {
const $img = $('#imgPreview');
// 이미지 표시
$img.attr('src', src).show();
$('#previewTitle').text('이미지 미리보기');
const modal = new bootstrap.Modal(document.getElementById('previewModal'));
modal.show();
}
</script>
<?= $this->endSection() ?>

View File

@@ -1,76 +1,35 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#resultList tbody tr {
cursor: pointer;
font-size: 12px;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>확인매물 현황</h1>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">홍보확인서 현황</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
<input type="hidden" name="todo" id="todo" value="inq" />
<input type="hidden" name="usr_id" value="" />
<!-- 안내 -->
<div class="alert alert-warning py-2 mb-3">
<small class="mb-0">
매물번호또는 발신팩스번호를 입력하면 <b>다른 조건은 무시</b>됩니다.
</small>
</div>
<!-- 검색 폼 -->
<div class="row g-3">
<!-- 매물번호 -->
<div class="col-md-1">
<label class="form-label mb-1">매물번호</label>
<label class="form-label mb-1">
매물번호
<i class="pe-7s-info info-tooltip" data-bs-toggle="tooltip" data-bs-placement="top"
title="매물번호 또는 발신팩스번호를 입력하면 다른 조건은 무시됩니다"></i>
</label>
<input type="text" name="atcl_no" class="form-control form-control-sm" placeholder="매물번호" maxlength="10"
data-bs-toggle="tooltip" data-bs-placement="top" title="매물번호를 입력하면 다른 조건은 무시됩니다"
onkeypress="atcl_no_enter(event)">
</div>
@@ -292,10 +251,16 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.dataTables.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
@@ -308,8 +273,39 @@
var table;
// 검색 조건 저장
function saveSearchForm() {
const data = $("#frm_srch_info").serializeArray();
localStorage.setItem("m703_search", JSON.stringify(data));
}
// 검색 조건 복원
function restoreSearchForm() {
const saved = localStorage.getItem("m703_search");
if (!saved) return;
const data = JSON.parse(saved);
data.forEach(function(item) {
$("[name='" + item.name + "']").val(item.value);
});
// 주요 select에 대해 change 이벤트 트리거
$("#srcSido, #srcGugun, #bonbu, #team").trigger("change");
}
$(function () {
// referrer에 '/m703'가 없으면 검색 조건 초기화
if (!document.referrer.includes('/m703')) {
localStorage.removeItem("m703_search");
}
restoreSearchForm();
// Bootstrap Tooltip 초기화 (빠른 표시)
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl, {
delay: { "show": 100, "hide": 100 }
})
})
$("#bonbu").on("change", function (e) {
const value = e.target.value
@@ -536,6 +532,7 @@
});
$('#btnSearch').on('click', function () {
saveSearchForm();
table.ajax.reload()
});

View File

@@ -22,74 +22,6 @@ if (!empty($regist2)) {
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
table th {
vertical-align: middle;
line-height: 1.2;
}
.tbl_basic2 th {
padding: 0 10px;
height: 27px;
line-height: 27px;
vertical-align: middle;
border: solid 1px #d8d9de;
background-color: #eff0f4;
letter-spacing: -1px;
font-weight: normal;
color: #5a5f69;
text-align: left;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
.num {
color: #b68556;
font-size: 19px;
}
.table th,
.table td {
vertical-align: top;
box-sizing: border-box;
}
</style>
<div class="app-page-title">
<div class="page-title-wrapper">
<div class="page-title-heading">
<div>전화확인매물 상세 내용</div>
</div>
</div>
</div>
<form name="rcptFrm" id="rcptFrm" method="post" action="" enctype="multipart/form-data" onsubmit="return false;">
<input type="hidden" name="address_code" id="address_code" value="<?= $data['address_code'] ?>" />
@@ -102,35 +34,17 @@ if (!empty($regist2)) {
<div class="col-md-12 col-xl-12">
<div class="col-lg-12">
<div class="main-card mb-3 card">
<div class="card-header" style="width:100%; max-width:100%; min-width:600px; padding:0; border:0;">
<p class="left">
</p>
<table style="width:100%; min-width:600px; padding:0; border:0;" cellpadding="0" cellspacing="0"
border="0" width="100%">
<tbody>
<tr>
<td style="width: 50%;padding-left: 20px"><span class="tit">매물ID :</span> <span
class="num">
<?= $data['atcl_no'] ?>
</span>
</td>
<td style="width: 20%;"><span class="tit">CP ID :</span> <span class="num">
<?= $data['cpid'] ?>
</span></td>
<td style="width: 30%; text-align: right;padding-right: 20px"><span class="tit">현재 상태
:</span> <span class="num">
<?= $data['pre_stat'] ?>
</span></td>
</tr>
<tr>
<td height="15"></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p></p>
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3">
<div class="flex-grow-1">
<h4 class="mb-0 fw-bold text-dark">전화확인매물 상세 내용</h4>
</div>
<div class="d-flex flex-wrap gap-3">
<div><span class="tit">매물ID:</span> <span class="num"><?= $data['atcl_no'] ?></span></div>
<div><span class="tit">CP ID:</span> <span class="num"><?= $data['cpid'] ?></span></div>
<div><span class="tit">현재 상태:</span> <span class="num"><?= $data['pre_stat'] ?></span></div>
</div>
</div>
</div>
<div class="card-body">
<h5 class="card-title">공인 중개사 정보</h5>
@@ -548,10 +462,10 @@ if (!empty($regist2)) {
</h5>
<table class="table table-bordered table-sm tbl_basic2 apt-info-table">
<colgroup>
<col width="15%" />
<col width="35%" />
<col width="15%" />
<col width="35%" />
<col style="width:120px">
<col>
<col style="width:120px">
<col>
</colgroup>
<tr>
<th>의뢰인(매도자) 전화번호</th>

View File

@@ -1,76 +1,35 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#resultList tbody tr {
cursor: pointer;
font-size: 12px;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>전화확인매물 현황</h1>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">전화확인매물 현황</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
<input type="hidden" name="todo" id="todo" value="inq" />
<input type="hidden" name="usr_id" value="" />
<!-- 안내 -->
<div class="alert alert-warning py-2 mb-3">
<small class="mb-0">
매물번호를 입력하면 <b>다른 조건은 무시</b>됩니다.
</small>
</div>
<!-- 검색 폼 -->
<div class="row g-3">
<!-- 매물번호 -->
<div class="col-md-1">
<label class="form-label mb-1">매물번호</label>
<label class="form-label mb-1">
매물번호
<i class="pe-7s-info info-tooltip" data-bs-toggle="tooltip" data-bs-placement="top"
title="매물번호를 입력하면 다른 조건은 무시됩니다"></i>
</label>
<input type="text" name="atcl_no" class="form-control form-control-sm" placeholder="매물번호" maxlength="10"
data-bs-toggle="tooltip" data-bs-placement="top" title="매물번호를 입력하면 다른 조건은 무시됩니다"
onkeypress="atcl_no_enter(event)">
</div>
@@ -265,10 +224,16 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.bootstrap5.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.bootstrap5.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
@@ -277,11 +242,21 @@
const bonbuArr = <?= json_encode($bonbu, JSON_UNESCAPED_UNICODE); ?>;
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
const codes = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
var table;
$(function () {
// Bootstrap tooltip 초기화
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
});
// localStorage에서 검색 조건 복원
restoreFormData();
$("#bonbu").on("change", function (e) {
const value = e.target.value
@@ -511,7 +486,7 @@
{ data: null, render: fn_addr_render },
{ data: 'cpid' },
{ data: 'realtor_nm' },
{ data: null, width: "80px", fn_render_nm },
{ data: null, width: "80px", render: fn_render_nm },
{ data: null, render: fn_tm_render },
{ data: 'reg_charger' },
{ data: 'result_tm' },
@@ -534,6 +509,7 @@
});
$('#btnSearch').on('click', function () {
saveFormData(); // 검색 조건 저장
table.ajax.reload()
});
@@ -589,14 +565,6 @@
return str;
}
function fn_region_render(data, type, row) {
var str = "";
str = row.region_nm + " " + row.rm_no;
return str;
}
// 주소 render
function fn_addr_render(data, type, row) {
var str = "";
@@ -712,5 +680,29 @@
const modal = new bootstrap.Modal(document.getElementById('previewModal'));
modal.show();
}
// localStorage에 검색 조건 저장
function saveFormData() {
const formData = $('#frm_srch_info').serializeArray();
const formObject = {};
formData.forEach(item => {
formObject[item.name] = item.value;
});
localStorage.setItem('m704_search_form', JSON.stringify(formObject));
}
// localStorage에서 검색 조건 복원
function restoreFormData() {
const savedData = localStorage.getItem('m704_search_form');
if (savedData) {
const formObject = JSON.parse(savedData);
Object.keys(formObject).forEach(key => {
const $element = $('#frm_srch_info').find(`[name="${key}"]`);
if ($element.length) {
$element.val(formObject[key]);
}
});
}
}
</script>
<?= $this->endSection() ?>

View File

@@ -57,6 +57,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
?>
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<link rel="stylesheet" href="/common/css/custom.css">
<style>
table th {
vertical-align: middle;
@@ -76,29 +77,64 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
text-align: left;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
/* GLightbox z-index 설정 */
.glightbox-container {
z-index: 9999 !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
min-height: 100px;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
.num {
font-family: Tahoma;
color: #b68556;
font-size: 17px;
}
.table th,
.table td {
vertical-align: top;
box-sizing: border-box;
}
.form-check-label {
margin-left: -2px;
/* 기본은 약 0.5rem 이상 */
}
</style>
<div class="app-page-title">
<div class="page-title-wrapper">
<div class="page-title-heading">
<div>등기부등본 확인매물 상세 내용</div>
<div class="col-md-12 col-xl-12">
<div class="col-lg-12">
<div class="main-card mb-2 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center w-100 justify-content-between card-header-tab">
<h4 class="mb-0 fw-bold text-dark">등기부등본 확인매물 상세 내용</h4>
<div class="d-flex align-items-center flex-nowrap gap-4 ms-auto" style="white-space:nowrap;">
<span class="text-muted me-2">매물번호:</span>
<span class="fw-bold text-primary fs-6 me-4"><?= $data['atcl_no'] ?></span>
<span class="text-muted me-2">CP ID:</span>
<span class="fw-bold text-primary fs-6 me-4"><?= $data['cpid'] ?></span>
<span class="text-muted me-2">현재 상태:</span>
<span class="fw-bold text-primary fs-6"><?= $data['pre_stat'] ?></span>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="main-card mb-3 card">
<div class="card-body">
<form id="rcptFrm" name="rcptFrm" onsubmit="return false">
<input type="hidden" name="reg_chk_val" value="<?= $data['rgbk_confirm'] ?>" />
@@ -133,7 +169,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
} else {
foreach ($arrRegist as $row) {
$img_path = $row['file_path'] . $row['file_name'];
echo '<a href="' . $img_path . '" class="default_val" target="_blank" rel="lightbox[gallery1]">' .
echo '<a href="' . $img_path . '" class="glightbox" data-gallery="gallery1" data-title="등기부등본">' .
'<img id="photo-display2" src="' . $img_path . '" alt="Image" style="width:100%;max-width:945px;min-width:100%;border:0;" />' .
'</a>';
}
@@ -150,7 +186,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
echo '<img id="photo-display2" src="/img/photo.gif" alt="Image" style="width:100%;max-width:945px;min-width:100%;border:0;" />';
} else {
foreach ($arr_cert_register as $img_path) {
echo '<a href="' . $img_path . '" class="default_val" target="_blank" rel="lightbox[gallery1]">' .
echo '<a href="' . $img_path . '" class="glightbox" data-gallery="gallery1" data-title="등기부등본">' .
'<img id="photo-display2" src="' . $img_path . '" alt="Image" style="width:100%;max-width:945px;min-width:100%;border:0;" />' .
'</a>';
}
@@ -184,7 +220,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
<br>
<a href="<?= $regi_pdf_path ?>" class="default_val" target="_blank">등기부등본
보기</a>&nbsp;&nbsp;&nbsp;
<a href="<?= $reco_pdf_path ?>" class="default_val" target="_blank" rel="lightbox"
<a href="<?= $reco_pdf_path ?>" class="glightbox" data-gallery="hongbo" data-title="홍보확인서"
id="hongbo" onclick="chk_hongbo(event); return false;">홍보확인서 보기</a>
<?php
}
@@ -204,7 +240,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
<div class="card-body p-2">
<table class="table table-sm table-bordered mb-2 tbl_basic2 align-middle">
<colgroup>
<col style="width: 110px;">
<col style="width: 120px;">
<col>
</colgroup>
<tbody>
@@ -271,7 +307,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
<img id="reference" src="/img/zip.png"
alt="Image" /></a>
<?php } else { ?>
<a href="<?= $filePath ?>" rel="lightbox[gallery2]">
<a href="<?= $filePath ?>" class="glightbox" data-gallery="gallery2" data-title="참고파일">
<img id="reference" src="<?= $filePath ?>" alt="Image"
style="padding-right: 10px; height: 150px;" /></a>
<?php } ?>
@@ -294,8 +330,7 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
<?php } ?>
<?php } else { ?>
<?php foreach ($arr_reference as $row) { ?>
<a onclick="fn_preview('<?= esc($row) ?>')"
rel="lightbox[gallery2]">
<a href="<?= esc($row) ?>" class="glightbox" data-gallery="gallery2" data-title="참고파일">
<img id="reference" src="<?= $row ?>" alt="Image"
style="padding-right: 10px; height: 150px;" /></a>
<?php } ?>
@@ -1065,23 +1100,27 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
</div>
</div>
</div>
<div class="modal" id="previewModal" tabindex="-1">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">미리보기</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body p-0">
<img id="imgPreview" src="" alt="미리보기" width="100%" height="auto">
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>
<?= $this->section('page_styles') ?>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/glightbox/dist/css/glightbox.min.css">
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.jsdelivr.net/npm/glightbox/dist/js/glightbox.min.js"></script>
<script src="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone-min.js"></script>
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
$(function () {
// GLightbox 초기화
const lightbox = GLightbox({
touchNavigation: true,
loop: false,
autoplayVideos: true,
zoomable: true,
draggable: true
});
const reg_status = '<?= $data['reg_status'] ?>';
const filePdf = '<?= $file_pdf ?? '' ?>';
@@ -1792,20 +1831,6 @@ if (!empty($data['confirm_doc_img_url']) && $data['confirm_doc_img_url_save_yn']
});
}
// 이미지 프리뷰
function fn_preview(src) {
const $img = $('#imgPreview');
// 이미지 표시
$img.attr('src', src).show();
$('#previewTitle').text('이미지 미리보기');
const modal = new bootstrap.Modal(document.getElementById('previewModal'));
modal.show();
}
</script>
<?= $this->endSection() ?>

View File

@@ -1,76 +1,35 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#resultList tbody tr {
cursor: pointer;
font-size: 12px;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>등기부등본 확인매물현황</h1>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">등기부등본 확인매물현황</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
<input type="hidden" name="todo" id="todo" value="inq" />
<input type="hidden" name="usr_id" value="" />
<!-- 안내 -->
<div class="alert alert-warning py-2 mb-3">
<small class="mb-0">
매물번호를 입력하면 <b>다른 조건은 무시</b>됩니다.
</small>
</div>
<!-- 검색 폼 -->
<div class="row g-3">
<!-- 매물번호 -->
<div class="col-md-1">
<label class="form-label mb-1">매물번호</label>
<label class="form-label mb-1">
매물번호
<i class="pe-7s-info info-tooltip" data-bs-toggle="tooltip" data-bs-placement="top"
title="매물번호를 입력하면 다른 조건은 무시됩니다"></i>
</label>
<input type="text" name="atcl_no" class="form-control form-control-sm" placeholder="매물번호" maxlength="10"
data-bs-toggle="tooltip" data-bs-placement="top" title="매물번호를 입력하면 다른 조건은 무시됩니다"
onkeypress="atcl_no_enter(event)">
</div>
@@ -102,7 +61,7 @@
<div class="d-flex gap-2">
<select name="charger_gbn" id="code_charger_gbn" class="form-select form-select-sm">
<option value="1">전화/서류담당자</option>
<option value="2" selected>등기부등본담당자</option>
<option value="2">등기부등본담당자</option>
</select>
<select name="assign_yn" id="assign_yn" class="form-select form-select-sm">
<option value="A">-전체-</option>
@@ -304,10 +263,16 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.dataTables.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
@@ -316,11 +281,43 @@
const bonbuArr = <?= json_encode($bonbu, JSON_UNESCAPED_UNICODE); ?>;
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
const codes = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
var table;
// 검색 조건 저장
function saveSearchForm() {
const data = $("#frm_srch_info").serializeArray();
localStorage.setItem("m705_search", JSON.stringify(data));
}
// 검색 조건 복원
function restoreSearchForm() {
const saved = localStorage.getItem("m705_search");
if (!saved) return;
const data = JSON.parse(saved);
data.forEach(function(item) {
$("[name='" + item.name + "']").val(item.value);
});
// 주요 select에 대해 change 이벤트 트리거
$("#srcSido, #srcGugun, #bonbu, #team").trigger("change");
}
$(function () {
// referrer에 '/m705'가 없으면 검색 조건 초기화
if (!document.referrer.includes('/m705')) {
localStorage.removeItem("m705_search");
}
restoreSearchForm();
// Bootstrap Tooltip 초기화 (빠른 표시)
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl, {
delay: { "show": 100, "hide": 100 }
})
})
$("#bonbu").on("change", function (e) {
const value = e.target.value
@@ -573,6 +570,7 @@
});
$('#btnSearch').on('click', function () {
saveSearchForm();
table.ajax.reload()
});

View File

@@ -31,16 +31,23 @@ $usr_level = session('usr_level');
}
</style>
<div class="app-page-title">
<div class="page-title-wrapper">
<div class="page-title-heading">
<div>홍보확인서 상세 내용</div>
<div class="col-md-12 col-xl-12">
<div class="col-lg-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3">
<div class="flex-grow-1">
<h4 class="mb-0 fw-bold text-dark">홍보확인서 상세 내용</h4>
</div>
<div class="d-flex flex-wrap gap-3">
<div><span class="tit">매물ID:</span> <span class="num"><?= $data['atcl_no'] ?></span></div>
<div><span class="tit">CP ID:</span> <span class="num"><?= $article['cpid'] ?? '' ?></span></div>
<div><span class="tit">현재 상태:</span> <span class="num"><?= $article['current_stat'] ?? '' ?></span></div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card-body">
<h5 class="card-title">팩스 이미지 및 기본 정보</h5>
<form action="" id="frmSave" name="frmSave" onsubmit="return false;">
<input type="hidden" name="work_type" id="work_type" value="<?= $data['work_type'] ?>" />
<input type="hidden" name="atcl_no" value="<?= $data['atcl_no'] ?>" />
@@ -48,16 +55,11 @@ $usr_level = session('usr_level');
<input type="hidden" name="fax_sq" id="fax_sq" value="<?= $data['fax_sq'] ?>" />
<input type="hidden" name="file_type" id="file_type" value="" />
</form>
<div class="main-card mb-3 card">
<?php if (($data['receiver'] ?? '') != "API"): ?>
<div class="card-header">
<div class="d-flex justify-content-start gap-1">
<div class="ms-auto d-flex gap-1">
<span class="ms-auto">
<div class="d-flex justify-content-end gap-1 mb-2">
<span>
발신번호 : <?= esc(str_replace('-', '', $data['caller_no'] ?? '')) ?>
</span>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(90)">90˚</button>
<button type="button" class="btn btn-sm btn-outline-secondary"
@@ -65,10 +67,7 @@ $usr_level = session('usr_level');
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(270)">270˚</button>
</div>
</div>
</div>
<?php endif; ?>
<div class="card-body">
<!-- table 유지 + 반응형 -->
<div class="table-responsive">
<table class="table table-bordered table-sm tbl_basic2 align-middle mb-0" style="min-width: 900px;">
@@ -132,7 +131,7 @@ $usr_level = session('usr_level');
<div class="card-body p-2">
<table class="table table-bordered table-sm tbl_basic2 align-middle mb-0">
<colgroup>
<col style="width: 110px;">
<col style="width: 120px;">
<col>
</colgroup>
<tbody>

View File

@@ -1,6 +1,6 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<?= $this->section('page_styles') ?>
<style>
th {
font-size: 11px;
@@ -46,31 +46,38 @@
color: #fff !important;
}
</style>
<?= $this->endSection() ?>
<h1>홍보확인서 현황</h1>
<?= $this->section('content') ?>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">홍보확인서 현황</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
<input type="hidden" name="todo" id="todo" value="inq" />
<input type="hidden" name="usr_id" value="" />
<!-- 안내 -->
<div class="alert alert-warning py-2 mb-3">
<small class="mb-0">
매물번호 또는 발신팩스번호를 입력하면 <b>다른 조건은 무시</b>됩니다.
</small>
</div>
<!-- 검색 폼 -->
<div class="row g-3">
<!-- 매물번호 -->
<div class="col-md-1">
<label class="form-label mb-1">매물번호</label>
<label class="form-label mb-1">
매물번호
<i class="pe-7s-info info-tooltip" data-bs-toggle="tooltip" data-bs-placement="top"
title="매물번호를 입력하면 다른 조건은 무시됩니다"></i>
</label>
<input type="text" name="atcl_no" class="form-control form-control-sm" placeholder="매물번호" maxlength="10"
data-bs-toggle="tooltip" data-bs-placement="top" title="매물번호를 입력하면 다른 조건은 무시됩니다"
onkeypress="atcl_no_enter(event)">
</div>
@@ -292,12 +299,12 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<?= $this->section('page_scripts') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.dataTables.min.css" />
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
const date = new Date();
@@ -305,11 +312,21 @@
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
const codeArr = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
const codes = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
var table;
$(function () {
// Bootstrap tooltip 초기화
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
});
// localStorage에서 검색 조건 복원
restoreFormData();
$("#bonbu").on("change", function (e) {
const value = e.target.value
@@ -561,6 +578,7 @@
});
$('#btnSearch').on('click', function () {
saveFormData();
table.ajax.reload()
});
@@ -770,5 +788,29 @@
return str;
}
// localStorage에 검색 조건 저장
function saveFormData() {
const formData = $('#frm_srch_info').serializeArray();
const formObject = {};
formData.forEach(item => {
formObject[item.name] = item.value;
});
localStorage.setItem('m708_search_form', JSON.stringify(formObject));
}
// localStorage에서 검색 조건 복원
function restoreFormData() {
const savedData = localStorage.getItem('m708_search_form');
if (savedData) {
const formObject = JSON.parse(savedData);
Object.keys(formObject).forEach(key => {
const $element = $('#frm_srch_info').find(`[name="${key}"]`);
if ($element.length) {
$element.val(formObject[key]);
}
});
}
}
</script>
<?= $this->endSection() ?>

View File

@@ -50,20 +50,13 @@ $usr_level = session('usr_level');
</form>
<div class="main-card mb-3 card">
<?php if (($data['receiver'] ?? '') != "API"): ?>
<div class="card-header">
<div class="d-flex justify-content-start gap-1">
<div class="ms-auto d-flex gap-1">
<span class="ms-auto">
발신번호 : <?= esc(str_replace('-', '', $data['caller_no'] ?? '')) ?>
</span>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(90)">90˚</button>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(180)">180˚</button>
<button type="button" class="btn btn-sm btn-outline-secondary"
onclick="faximage_rotate(270)">270˚</button>
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3">
<div class="flex-grow-1">
<h4 class="mb-0 fw-bold text-dark">홍보확인서 상세 내용</h4>
</div>
<div class="d-flex flex-wrap gap-3">
<div><span class="tit">발신번호:</span> <span class="num"><?= esc(str_replace('-', '', $data['caller_no'] ?? '')) ?></span></div>
</div>
</div>
</div>
@@ -73,8 +66,8 @@ $usr_level = session('usr_level');
<div class="table-responsive">
<table class="table table-bordered table-sm tbl_basic2 align-middle mb-0" style="min-width: 900px;">
<colgroup>
<col style="width: 60%;">
<col style="width: 40%;">
<col style="width:120px">
<col style="width:120px">
</colgroup>
<tbody>
@@ -120,7 +113,7 @@ $usr_level = session('usr_level');
<!-- 1) 요약/조회 + 액션 -->
<div class="main-card mb-3 card">
<div class="card-header">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex align-items-center w-100">
<span class="fw-semibold">기본 정보</span>
<div class="ms-auto">
@@ -132,7 +125,7 @@ $usr_level = session('usr_level');
<div class="card-body p-2">
<table class="table table-bordered table-sm tbl_basic2 align-middle mb-0">
<colgroup>
<col style="width: 110px;">
<col style="width:120px">
<col>
</colgroup>
<tbody>

View File

@@ -1,56 +1,17 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#resultList tbody tr {
cursor: pointer;
font-size: 12px;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>모바일 추가 서류</h1>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">모바일 추가 서류</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
@@ -292,10 +253,16 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.bootstrap5.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.bootstrap5.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
@@ -305,11 +272,21 @@
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
const codeArr = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
const codes = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
var table;
$(function () {
// Bootstrap tooltip 초기화
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
// localStorage에서 검색 조건 복원
restoreFormData();
$("#bonbu").on("change", function (e) {
const value = e.target.value
@@ -561,6 +538,7 @@
});
$('#btnSearch').on('click', function () {
saveFormData();
table.ajax.reload()
});
@@ -770,5 +748,29 @@
return str;
}
// localStorage에 검색 조건 저장
function saveFormData() {
const formData = $('#frm_srch_info').serializeArray();
const formObject = {};
formData.forEach(item => {
formObject[item.name] = item.value;
});
localStorage.setItem('m709_search_form', JSON.stringify(formObject));
}
// localStorage에서 검색 조건 복원
function restoreFormData() {
const savedData = localStorage.getItem('m709_search_form');
if (savedData) {
const formObject = JSON.parse(savedData);
Object.keys(formObject).forEach(key => {
const $element = $('#frm_srch_info').find(`[name="${key}"]`);
if ($element.length) {
$element.val(formObject[key]);
}
});
}
}
</script>
<?= $this->endSection() ?>

View File

@@ -1,35 +1,17 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#aptList tbody tr {
cursor: pointer;
}
.blockUI {
z-index: 1500 !important;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>모바일 자동검증</h1>
<div class="row">
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">모바일 자동검증</h4>
</div>
</div>
</div>
<div class="card-body">
<form class="row align-items-end" id="frm_srch_info" onsubmit="return false;">
@@ -88,9 +70,56 @@
</div>
</div>
<?= $this->endSection() ?>
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.bootstrap5.min.css" />
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.bootstrap5.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript">
const codes = [];
$(function () {
// Bootstrap tooltip 초기화
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
// localStorage에서 검색 조건 복원
restoreFormData();
});
// localStorage에 검색 조건 저장
function saveFormData() {
const formData = $('#frm_srch_info').serializeArray();
const formObject = {};
formData.forEach(item => {
formObject[item.name] = item.value;
});
localStorage.setItem('m711_search_form', JSON.stringify(formObject));
}
// localStorage에서 검색 조건 복원
function restoreFormData() {
const savedData = localStorage.getItem('m711_search_form');
if (savedData) {
const formObject = JSON.parse(savedData);
Object.keys(formObject).forEach(key => {
const $element = $('#frm_srch_info').find(`[name="${key}"]`);
if ($element.length) {
$element.val(formObject[key]);
}
});
}
}
</script>
<?= $this->endSection() ?>

View File

@@ -1,56 +1,17 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#resultList tbody tr {
cursor: pointer;
font-size: 12px;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>신홍보확인서 현황</h1>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">신홍보확인서 현황</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
@@ -288,10 +249,16 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.bootstrap5.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.bootstrap5.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
@@ -300,11 +267,21 @@
const bonbuArr = <?= json_encode($bonbu, JSON_UNESCAPED_UNICODE); ?>;
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
const codes = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
var table;
$(function () {
// Bootstrap tooltip 초기화
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});
// localStorage에서 검색 조건 복원
restoreFormData();
$("#bonbu").on("change", function (e) {
const value = e.target.value

View File

@@ -1,56 +1,17 @@
<?= $this->extend('layouts/main') ?>
<?= $this->section('content') ?>
<style>
th {
font-size: 11px;
text-align: center;
}
td {
text-align: center;
}
#resultList tbody tr {
cursor: pointer;
font-size: 12px;
}
.blockUI {
z-index: 1500 !important;
}
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 180px;
}
.card-header {
display: flex !important;
align-items: center;
}
.card-header-tab {
justify-content: flex-start !important;
}
.table-scroll {
max-height: 300px;
overflow-y: scroll;
}
.swal2-cancel {
background-color: #ff0000 !important;
color: #fff !important;
}
</style>
<h1>모바일확인V2 매물현황</h1>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-header bg-white border-bottom shadow-sm">
<div class="d-flex flex-wrap align-items-center gap-3 card-header-tab">
<div>
<h4 class="mb-0 fw-bold text-dark">모바일확인V2 매물현황</h4>
</div>
</div>
</div>
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<input type="hidden" name="m" id="m" value="M801" />
@@ -263,10 +224,16 @@
</form>
</div>
</div>
</div>
<div class="col-md-12 col-xl-12">
<div class="main-card mb-3 card">
<div class="card-body">
<div class="d-flex justify-content-end mb-3">
<button class="btn btn-sm btn-outline-success" id="excel-download">
<i class="fa fa-fw" aria-hidden="true" title="file-excel-o"></i>
엑셀다운로드
</button>
</div>
<table id="resultList" class="table table-hover table-striped table-bordered">
<div class="card-header d-flex align-items-center">
<div class="d-flex align-items-center flex-wrap" style="gap: 8px; flex: 1">
@@ -306,10 +273,16 @@
</div>
</div>
<?= $this->endSection() ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css" />
<?= $this->section('page_styles') ?>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/2.0.7/css/dataTables.bootstrap5.min.css" />
<link href="https://unpkg.com/dropzone@6.0.0-beta.1/dist/dropzone.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
<?= $this->endSection() ?>
<?= $this->section('page_scripts') ?>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.min.js"></script>
<script src="https://cdn.datatables.net/2.0.7/js/dataTables.bootstrap5.min.js"></script>
<script defer src="/architectui/assets/js/datatable.kor.js"></script>
<script type="text/javascript" src="https://oapi.map.naver.com/openapi/v3/maps.js?ncpKeyId=dtounkwjc5"></script>
<script type="text/javascript">
@@ -318,11 +291,21 @@
const bonbuArr = <?= json_encode($bonbu, JSON_UNESCAPED_UNICODE); ?>;
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
const codes = <?= json_encode($codes, JSON_UNESCAPED_UNICODE); ?>;
var table;
$(function () {
// Bootstrap tooltip 초기화
var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl)
});
// localStorage에서 검색 조건 복원
restoreFormData();
$("#bonbu").on("change", function (e) {
const value = e.target.value
@@ -574,6 +557,7 @@
});
$('#btnSearch').on('click', function () {
saveFormData(); // 검색 조건 저장
table.ajax.reload()
});
@@ -735,5 +719,29 @@
const modal = new bootstrap.Modal(document.getElementById('previewModal'));
modal.show();
}
// localStorage에 검색 조건 저장
function saveFormData() {
const formData = $('#frm_srch_info').serializeArray();
const formObject = {};
formData.forEach(item => {
formObject[item.name] = item.value;
});
localStorage.setItem('m713_search_form', JSON.stringify(formObject));
}
// localStorage에서 검색 조건 복원
function restoreFormData() {
const savedData = localStorage.getItem('m713_search_form');
if (savedData) {
const formObject = JSON.parse(savedData);
Object.keys(formObject).forEach(key => {
const $element = $('#frm_srch_info').find(`[name="${key}"]`);
if ($element.length) {
$element.val(formObject[key]);
}
});
}
}
</script>
<?= $this->endSection() ?>

View File

@@ -38,13 +38,13 @@ div.dt-container div.dt-layout-cell {
Lists 페이지 공통 스타일
======================================== */
/* 테이블 기본 스타일 */
th {
/* DataTable 기본 스타일 */
#resultList th {
font-size: 11px;
text-align: center;
}
td {
#resultList td {
text-align: center;
}