v1.2.20
- [CUSTOMER][FORECAST] 오일픽업히스토리 창 슬러지 추가 - [MAP] 이미지 업로드버튼 추가 - [CSS] 여백수정 - [IMAGE] info type 추가
This commit is contained in:
parent
fce9beb5a1
commit
f8152ad391
|
|
@ -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%;
|
||||||
|
|
|
||||||
|
|
@ -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">×</button>
|
||||||
<button type="button" class="close" data-dismiss="modal">
|
</div>
|
||||||
<span>×</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>
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>";
|
||||||
} ?>
|
} ?>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue