- [CUSTOMER][FORECAST] 오일픽업히스토리 창 슬러지 추가
- [MAP] 이미지 업로드버튼 추가
- [CSS] 여백수정
- [IMAGE] info type 추가
This commit is contained in:
Kang Lee 2026-05-13 10:06:27 -04:00
parent fce9beb5a1
commit f8152ad391
4 changed files with 87 additions and 20 deletions

View File

@ -1362,6 +1362,7 @@ a.txt-logout:hover{
margin-right:25px; margin-right:25px;
right:166px; right:166px;
} }
} }
@ -1926,10 +1927,12 @@ table.table-search-report .tb-list th {
line-height: 1.3; line-height: 1.3;
} }
/*modal*/ /*modal*/
.modal-body { /*
modal-body {
overflow: hidden; overflow: hidden;
padding: 0; padding: 0;
} }
*/
.install-wait-viewport { .install-wait-viewport {
overflow: hidden; overflow: hidden;
width: 100%; width: 100%;

View File

@ -806,25 +806,44 @@ function popup(){
<!-- image modal --> <!-- image modal -->
<script src="/js/customer_image.js?v=<?=time()?>"></script> <script src="/js/customer_image.js?v=<?=time()?>"></script>
<div class="modal fade top map" id="customerImageModal" tabindex="-1" role="dialog"> <div class="modal fade top map" id="customerImageModal" tabindex="-1" role="dialog">
<div class="modal-dialog modal-xl modal-dialog-scrollable"> <div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content"> <div class="modal-content" style="position: relative;">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title"> <h4 class="modal-title">
CUSTOMER IMAGES - CUSTOMER IMAGES - <span id="imageCustomerName"></span>
<span id="imageCustomerName"></span> </h4>
</h4> <button type="button" class="close" data-dismiss="modal">&times;</button>
<button type="button" class="close" data-dismiss="modal"> </div>
<span>&times;</span>
</button>
</div>
<div class="modal-body" id="customerImageModalBody"> <div style="position: absolute; top: 60px; left: 15px; z-index: 1060;">
<div class="text-center text-muted py-5"> <button type="button"
Loading images... id="btn-modal-upload-action"
</div> onclick="openCustomerImageUploadDirect(this.getAttribute('data-cuid'));"
style="display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 65px;
height: 65px;
background: rgba(255, 140, 46, 0.7);
color: white;
border: 2px solid rgba(255, 255, 255, 0.5);
border-radius: 50%;
box-shadow: 0 4px 10px rgba(0,0,0,0.3);
cursor: pointer;
transition: transform 0.1s;">
<i class="bi bi-camera-fill" style="font-size: 24px;"></i>
<span style="font-size: 9px; font-weight: bold; margin-top: -2px;">ADD</span>
</button>
</div>
<div class="modal-body" id="customerImageModalBody" style="padding-top: 40px;">
<div class="text-center text-muted py-5">
Loading images...
</div> </div>
</div>
</div> </div>
</div> </div>
@ -3220,4 +3239,41 @@ $('.point-overlay *').on(
} }
); );
/**
* 1. IMAGE 모달이 열릴 , 클릭한 버튼의 Customer ID를
* 주황색 [UPLOAD NEW IMAGE] 버튼에게 전달해주는 코드입니다.
*/
jQuery('#customerImageModal').on('show.bs.modal', function (event) {
var button = jQuery(event.relatedTarget); // 지도의 [IMAGE] 버튼
var cuid = button.data('cuid'); // 고객 번호 가져오기
// 모달 내부에 새로 만든 주황색 버튼에 ID를 심어줍니다.
jQuery('#btn-modal-upload-action').attr('data-cuid', cuid);
// (선택사항) 업체명 표시
var cname = button.data('cname');
jQuery('#imageCustomerName').text(cname);
});
/**
* 2. 주황색 버튼을 눌렀을 실제로 팝업창을 띄우는 함수입니다.
*/
function openCustomerImageUploadDirect(custUid) {
if (!custUid || custUid === 'undefined') {
alert("Customer ID를 찾을 수 없습니다.");
return;
}
var width = 600;
var height = 750;
var left = (window.screen.width / 2) - (width / 2);
var top = (window.screen.height / 2) - (height / 2);
// 경로와 변수명을 어제 확인한 /lib/ 폴더와 c_uid로 맞췄습니다.
var url = "/lib/customer_image_upload_popup.php?c_uid=" + custUid;
window.open(url, "uploadImage", "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top + ",scrollbars=yes");
}
</script> </script>

View File

@ -67,6 +67,7 @@ while($rstDriver = fetch_array($sqDriver)){
<label>Type</label> <label>Type</label>
<select name="i_type" id="i_type" required> <select name="i_type" id="i_type" required>
<option value="info">Info</option>
<option value="install">Install</option> <option value="install">Install</option>
<option value="install_order">Install Request</option> <option value="install_order">Install Request</option>
<option value="clean_before">Before Clean</option> <option value="clean_before">Before Clean</option>
@ -86,7 +87,7 @@ while($rstDriver = fetch_array($sqDriver)){
</div> </div>
<button type="submit" class="btn-save">UPLOAD</button> <button type="submit" class="btn-save">UPLOAD</button>
<button type="button" class="btn-close" onclick="window.close();">CLOSE</button>
</form> </form>
</div> </div>
@ -207,12 +208,11 @@ document.addEventListener("DOMContentLoaded", function () {
border: none; border: none;
border-radius: 8px; border-radius: 8px;
font-size: 16px; font-size: 16px;
font-weight: bold;
cursor: pointer; cursor: pointer;
} }
.btn-save:hover { .btn-save:hover {
background: #69ad60; background: #2A9B56;
} }
.btn-close { .btn-close {
@ -226,4 +226,9 @@ document.addEventListener("DOMContentLoaded", function () {
font-size: 15px; font-size: 15px;
cursor: pointer; cursor: pointer;
} }
.btn-close:hover {
background: #7a7a7a ;
}
</style> </style>

View File

@ -84,7 +84,7 @@ $oil_start = ($oil_page - 1) * $oilPerPage;
// 데이터 조회 // 데이터 조회
$oilQuery = " $oilQuery = "
SELECT d_visitdate, d_quantity, m_initial, d_payamount, d_paymenttype, d_paynote, d_paystatus SELECT d_visitdate, d_quantity, d_sludge, m_initial, d_payamount, d_paymenttype, d_paynote, d_paystatus
FROM tbl_daily td FROM tbl_daily td
LEFT OUTER JOIN tbl_request tr ON td.d_ruid = tr.r_uid LEFT OUTER JOIN tbl_request tr ON td.d_ruid = tr.r_uid
LEFT OUTER JOIN tbl_member tm ON td.d_driveruid = tm.m_uid LEFT OUTER JOIN tbl_member tm ON td.d_driveruid = tm.m_uid
@ -180,12 +180,14 @@ $coResult = $jdb->nQuery($coQuery, "co query error");
<tr> <tr>
<th>Date</th> <th>Date</th>
<th>Quantity</th> <th>Quantity</th>
<th>Sludge</th>
<th>Paid (Cash)</th> <th>Paid (Cash)</th>
</tr> </tr>
<?php while ($oil = mysqli_fetch_array($oilResult, MYSQLI_ASSOC)) { <?php while ($oil = mysqli_fetch_array($oilResult, MYSQLI_ASSOC)) {
$date = onlyDate($oil['d_visitdate']); $date = onlyDate($oil['d_visitdate']);
$qty = number_format($oil['d_quantity']); $qty = number_format($oil['d_quantity']);
$sludge = ($oil['d_sludge'] !== null && $oil['d_sludge'] !== "") ? number_format($oil['d_sludge']) : "";
$drv = $oil['m_initial'] ?: "-"; $drv = $oil['m_initial'] ?: "-";
$amount = isset($oil['d_payamount']) ? $oil['d_payamount'] : ""; $amount = isset($oil['d_payamount']) ? $oil['d_payamount'] : "";
@ -212,6 +214,7 @@ $coResult = $jdb->nQuery($coQuery, "co query error");
<tr> <tr>
<td class='td-date'>$date</td> <td class='td-date'>$date</td>
<td class='td-qty'>$qty</td> <td class='td-qty'>$qty</td>
<td class='td-qty'>$sludge</td>
<td class='td-pay'>$pay</td> <td class='td-pay'>$pay</td>
</tr>"; </tr>";
} ?> } ?>