This commit is contained in:
Seoyoun.Chang 2025-10-30 09:55:32 -04:00
commit dc4338b4c4
8 changed files with 398 additions and 65 deletions

View File

@ -102,28 +102,25 @@
/*------------------------------*/
.close {
float: right;
font-size: 22.5px;
font-weight: bold;
z-index: 1;
position: absolute;
right: 10px;
line-height: 1;
font-size: 75px;
font-weight: bold;
color: #ffffff;
text-shadow: 0 1px 0 #ffffff;
opacity: 0.2;
filter: alpha(opacity=20)
/* opacity: 0.2; */
/* filter: alpha(opacity=20) */
}
.close:hover,.close:focus {
color: #ffffff;
text-decoration: none;
cursor: pointer;
opacity: 0.5;
filter: alpha(opacity=50)
/* opacity: 0.5; */
/* filter: alpha(opacity=50) */
}
button.close {
@ -214,8 +211,12 @@ button.close {
}
.modal-header {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
padding: 15px;
border-bottom: 1px solid #e5e5e5
border-bottom: 1px solid #e5e5e5;
}
#sidebar-left .modal-header {
@ -228,10 +229,18 @@ button.close {
}
.modal-title {
flex: none;
width: 300px !important;
text-align: left;
white-space: normal;
word-wrap: break-word;
overflow: visible;
margin: 0;
line-height: 1.42857143
line-height: 1.42857143;
padding-right: 60px;
}
.modal-body {
position: relative;
padding: 20px

View File

@ -1680,7 +1680,7 @@ table.table-search-report .tb-list th {
pointer-events: auto;
cursor: pointer;
color:var(--color-sub);
font-size: 16px;
font-size: 30px;
font-weight: 700;
}
@ -1689,16 +1689,54 @@ table.table-search-report .tb-list th {
}
.point-overlay {
position: relative;
background-color:white;
width:350px;
z-index: 1000;
cursor:default;
pointer-events: auto;
padding: 5px;
border-radius: 5px;
width: 350px;
user-select: none;
transform: none !important;
cursor:default;
position: relative;
}
.address-row {
display: flex;
justify-content: space-between;
align-items: stretch;
padding: 0;
margin: 0;
}
.address-title {
width: 40%;
padding: 5px 10px;
font-size: 14px;
font-weight: 500;
background-color: var(--color-sub);
color: #fff;
border-right: .5px solid #c9e0d3;
border-left: .5px solid #c9e0d3;
border-bottom: .5px solid #c9e0d3;
display: flex;
align-items: center;
}
.address-content {
width: 60%;
padding: 5px 10px;
font-size: 14px;
color: #fff;
border-right: .5px solid #c9e0d3;
border-bottom: .5px solid #c9e0d3;
display: flex;
align-items: center;
}
.address-link {
text-decoration: underline;
}
#popupMessage {
display: none;
position: fixed;

View File

@ -469,8 +469,9 @@
.mapBtn{
border:none;
color: #fff;
padding: 5px ;
padding: 15px ;
border-radius: 5px;
font-size: 12px;
}
.btn-primary-modal{
background-color: #558B2F;

View File

@ -84,7 +84,9 @@ class API extends CONF {
IFNULL(DATE_FORMAT(tc.c_lastpickupdate,'%Y-%m-%d'),'') as c_lastpickupdate,
IFNULL(DATE_FORMAT(tc.c_lastpaiddate,'%Y-%m-%d'),'') as c_lastpaiddate,
IFNULL(tc.c_geolat,'') as lat,
IFNULL(tc.c_geolon,'') as lon
IFNULL(tc.c_geolon,'') as lon,
td.d_ruid,
td.r_note
FROM
(SELECT
c_uid,
@ -110,17 +112,21 @@ class API extends CONF {
FROM
tbl_customer) tc,
(SELECT
d_uid,
d_customeruid,
d_orderdate,
d_quantity,
d_estquantity,
d_ordertype,
d_driveruid,
d_createruid,
d_status
td.d_uid,
td.d_ruid,
tr.r_note,
td.d_customeruid,
td.d_orderdate,
td.d_quantity,
td.d_estquantity,
td.d_ordertype,
td.d_driveruid,
td.d_createruid,
td.d_status
FROM
tbl_daily) td
tbl_daily td
LEFT OUTER JOIN tbl_request tr
ON td.d_ruid = tr.r_uid) td
WHERE
tc.c_uid = td.d_customeruid
AND td.d_driveruid = ".(int)$_POST['driver']."
@ -190,6 +196,8 @@ class API extends CONF {
"last_pickup_date" => $rstOptionPoint['c_lastpickupdate'],
"last_paid_date" => $rstOptionPoint['c_lastpaiddate'],
"duid" => $rstOptionPoint['d_uid'],
"druid" => $rstOptionPoint['d_ruid'],
"rnote" => $rstOptionPoint['r_note'],
"orderFlag" => $orderFlag
);
if(strlen($uidList) > 0){
@ -943,6 +951,7 @@ class API extends CONF {
try {
$sqShortInfo = qry("SELECT
c_name,
c_paymenttype,
c_comment_ri,
c_location
@ -984,6 +993,7 @@ class API extends CONF {
$result = array(
"id" => $_POST['id'],
"name" => $rstShortInfo['c_name'],
"payment_type" => $rstShortInfo['c_paymenttype'],
"paymentstring" => $d_paystatusSTR,
"comment" => $rstShortInfo['c_comment_ri'],

View File

@ -13,7 +13,7 @@ echo"<?xml version='1.0' encoding='utf-8'?>";
//include getenv("DOCUMENT_ROOT")."/include/session_include.php";
// Level 6 이하만 사용 가능
// Level 6 ÀÌÇϸ¸ »ç¿ë °¡´É
$func->checkLevelModal(7);
@ -94,7 +94,7 @@ if ($actionStr == "CUSTOMER") {
$strData .= "<Cell><Data ss:Type=\"String\">".$rt_city['a_text']."</Data></Cell>\n";
}
else if /* 2025.06.11 날짜 관련 컬럼 YYYY-MM-DD 로 변경 */
else if /* 2025.06.11 ³¯Â¥ °ü·Ã Ä÷³ YYYY-MM-DD ·Î º¯°æ */
(($export_customer[$ii] == 'c_form_eu') ||
($export_customer[$ii] == 'c_form_corsia') ||
($export_customer[$ii] == 'c_contractdate') ||
@ -120,7 +120,7 @@ if ($actionStr == "CUSTOMER") {
$strData .= "<Cell><Data ss:Type=\"String\">".$toDateStr."</Data></Cell>\n";
}
// 2025.06.11 Note 추가
// 2025.06.11 Note Ãß°¡
else if ($export_customer[$ii] == 'n_customeruid') {
$query_note = "SELECT * FROM tbl_note
@ -162,7 +162,7 @@ if ($actionStr == "CUSTOMER") {
}
} else if ($actionStr == "OILHISTORY") {
// Inactive Accounts 도 다운받도록 요청받음 (2024.04.19)
// Inactive Accounts µµ ´Ù¿î¹Þµµ·Ï ¿äû¹ÞÀ½ (2024.04.19)
//$query = "SELECT * FROM tbl_customer
// WHERE c_status = 'A'
// ORDER BY c_accountno DESC ";
@ -241,7 +241,7 @@ if ($actionStr == "CUSTOMER") {
$strData .= "<Cell><Data ss:Type=\"String\">".$rt_city['a_text']."</Data></Cell>\n";
}
else if /* 2025.06.11 날짜 관련 컬럼 YYYY-MM-DD 로 변경 */
else if /* 2025.06.11 ³¯Â¥ °ü·Ã Ä÷³ YYYY-MM-DD ·Î º¯°æ */
(($export_oil[$ii] == 'c_form_eu') ||
($export_oil[$ii] == 'c_form_corsia') ||
($export_oil[$ii] == 'c_contractdate') ||
@ -649,6 +649,187 @@ if ($actionStr == "CUSTOMER") {
$list_number++;
//if ($list_number == 100) break;
}
} else if ($actionStr == "FORECAST") {
$list_number = 1;
// For Excel Variable
$strData .= "<Row>";
foreach ($forecastArray AS $key=>$value)
{
$strData .= "<Cell><Data ss:Type=\"String\">$value</Data></Cell>\n";
}
$strData .= "</Row>\n";
if ($c_type_r == 'R') {
$orderdate = str_replace("-", "", $orderdate);
$qry_r = "SELECT * FROM tbl_request
WHERE r_driveruid ='$org_driveruid' AND r_status = 'A' AND r_requestdate = '$orderdate'
ORDER BY r_uid DESC";
$rt_r=$jdb->nQuery($qry_r, "list error");
while($list=mysqli_fetch_array($rt_r, MYSQLI_ASSOC)) {
for($i=0; $i<sizeof($list); $i++) {
//list($key, $value) = each($list);
foreach ( (Array) $list as $key => $value )
$$key = $value;
}
$qry_rc = "SELECT * FROM tbl_customer WHERE c_uid = '$r_customeruid'";
$rt_rc = $jdb->fQuery($qry_rc, "query error");
//echo "[$qry_rc]";
for($i=0; $i<sizeof($rt_rc); $i++) {
//list($key, $value) = each($result);
foreach ( (Array) $rt_rc as $key => $value )
$$key = $value;
}
$list_numberSTR = "R";
$c_nameSTR = str_replace("\\", "", $c_name);
$c_addressSTR = str_replace("\\", "", $c_address);
$c_containerSTR = str_replace("\\", "", $c_container);
$c_lastpickupdateSTR = $func -> convertFormat ($c_lastpickupdate, 3);
$c_fullquantitydateSTR = $func -> convertFormat ($c_fullquantitydate, 3);
$c_fullquantityActual = round(floatval($c_fullquantity + ($dDiff * $c_fullquantitydaily)));
$c_fullquantitySTR = number_format($c_fullquantityActual);
$c_fullcycleSTR = $c_fullcycle;
$getThisYear = date("Y");
$getLastYear = date("Y", strtotime('last year'));
$qry_sum = "SELECT
SUM(CASE WHEN d_visitdate like '".$getThisYear."%' THEN d_quantity ELSE 0 END) AS THISYEAR,
SUM(CASE WHEN d_visitdate like '".$getLastYear."%' THEN d_quantity ELSE 0 END) AS LASTYEAR
FROM tbl_daily
WHERE d_customeruid = '".$r_customeruid."' AND d_status = 'F' ";
$rt_sum = $jdb->fQuery($qry_sum, "fetch query error");
$getThisYearQ = number_format(floatval($rt_sum['THISYEAR']));
$getLastYearQ = number_format(floatval($rt_sum['LASTYEAR']));
// For Excel Data
$strData .= "<Row>";
foreach ($forecastArray AS $key=>$value) {
$strData .= "<Cell><Data ss:Type=\"String\">".$$key."</Data></Cell>\n";
}
$strData .= "</Row>\n";
}
}
if ($c_type_p == 'P') {
$getWeekDay = strtoupper(date('D', strtotime($orderdate)));
$orderdate = str_replace("-", "", $orderdate);
$qry_s = "SELECT * FROM tbl_customer
WHERE c_driveruid ='$org_driveruid' AND c_status = 'A'
AND (c_schedulebasic = '$orderdate' OR (c_schedule = '1W' AND c_scheduleday LIKE '%".$getWeekDay."%'))
ORDER BY c_uid DESC";
$rt_s=$jdb->nQuery($qry_s, "list error");
while($list=mysqli_fetch_array($rt_s, MYSQLI_ASSOC)) {
for($i=0; $i<sizeof($list); $i++) {
//list($key, $value) = each($list);
foreach ( (Array) $list as $key => $value )
$$key = $value;
}
$list_numberSTR = "S";
$c_nameSTR = str_replace("\\", "", $c_name);
$c_addressSTR = str_replace("\\", "", $c_address);
$c_containerSTR = str_replace("\\", "", $c_container);
$c_lastpickupdateSTR = $func -> convertFormat ($c_lastpickupdate, 3);
$c_fullquantitydateSTR = $func -> convertFormat ($c_fullquantitydate, 3);
$c_fullquantityActual = round(floatval($c_fullquantity + ($dDiff * $c_fullquantitydaily)));
$c_fullquantitySTR = number_format($c_fullquantityActual);
$c_fullcycleSTR = $c_fullcycle;
$getThisYear = date("Y");
$getLastYear = date("Y", strtotime('last year'));
$qry_sum = "SELECT
SUM(CASE WHEN d_visitdate like '".$getThisYear."%' THEN d_quantity ELSE 0 END) AS THISYEAR,
SUM(CASE WHEN d_visitdate like '".$getLastYear."%' THEN d_quantity ELSE 0 END) AS LASTYEAR
FROM tbl_daily
WHERE d_customeruid = '".$c_uid."' AND d_status = 'F' ";
$rt_sum = $jdb->fQuery($qry_sum, "fetch query error");
$getThisYearQ = number_format(floatval($rt_sum['THISYEAR']));
$getLastYearQ = number_format(floatval($rt_sum['LASTYEAR']));
// For Excel Data
$strData .= "<Row>";
foreach ($forecastArray AS $key=>$value) {
$strData .= "<Cell><Data ss:Type=\"String\">".$$key."</Data></Cell>\n";
}
$strData .= "</Row>\n";
}
}
// query
$query = "SELECT * FROM tbl_customer
WHERE c_uid <> '' AND c_status = 'A' " . $orderflagQRY. $driveruidQRY . $typeQRY . $add_srchquery . $newaccountQRY . $dormantaccountQRY . $fullcycleQRY . $fullquantityQRY . $containerQRY . $areaQRY .
$add_query_order . $add_query;
$result=$jdb->nQuery($query, "list error");
while($list=mysqli_fetch_array($result, MYSQLI_ASSOC)) {
for($i=0; $i<sizeof($list); $i++) {
foreach ( (Array) $list as $key => $value )
$$key = $value;
}
if ($c_schedule == 'Will Call') {
$list_numberSTR = "W";
}
else if ($c_schedule != 'Will Call' && $c_schedule != 'None' ) {
$list_numberSTR = "S";
}
else {
$list_numberSTR = $list_number;
}
$c_nameSTR = str_replace("\\", "", $c_name);
$c_addressSTR = str_replace("\\", "", $c_address);
$c_containerSTR = str_replace("\\", "", $c_container);
$c_lastpickupdateSTR = $func -> convertFormat ($c_lastpickupdate, 3);
$c_fullquantitydateSTR = $func -> convertFormat ($c_fullquantitydate, 3);
$c_fullquantityActual = round(floatval($c_fullquantity + ($dDiff * $c_fullquantitydaily)));
$c_fullquantitySTR = number_format($c_fullquantityActual);
if ($c_fullcycleflag == 1) {
$c_fullcycleSTR = $c_fullcycleforced;
}
else {
$c_fullcycleSTR = $c_fullcycle;
}
// year sum
$qry_sum = "SELECT
SUM(CASE WHEN d_visitdate like '".$getThisYear."%' THEN d_quantity ELSE 0 END) AS THISYEAR,
SUM(CASE WHEN d_visitdate like '".$getLastYear."%' THEN d_quantity ELSE 0 END) AS LASTYEAR
FROM tbl_daily
WHERE d_customeruid = '".$c_uid."' AND d_status = 'F' ";
$rt_sum = $jdb->fQuery($qry_sum, "fetch query error");
$getThisYearQ = number_format(floatval($rt_sum['THISYEAR']));
$getLastYearQ = number_format(floatval($rt_sum['LASTYEAR']));
// For Excel Data
$strData .= "<Row>";
foreach ($forecastArray AS $key=>$value) {
$strData .= "<Cell><Data ss:Type=\"String\">".$$key."</Data></Cell>\n";
}
$strData .= "</Row>\n";
$list_number++;
}
}
addLog ("add", "EXPORT", $actionStr, $_SESSION['ss_ID'], $query, "");

View File

@ -921,11 +921,46 @@ $(document).ready(function(){
<!-- New -->
<div class="wrap-border">
<div style="display: flex; justify-content: space-between; align-items: center;">
<div style="text-align: left; width: 220px">
<? if ($_SESSION['ss_LEVEL'] < 7) { ?>
<form name="exportorder" id="exportorder" method="POST" action="/doc/export_process.php" style="margin: 0;">
<input type="hidden" name="mode" value="export">
<input type="hidden" name="actionStr" value="FORECAST">
<input type="hidden" name="listCnt" value="<?=$listCnt?>">
<input type="hidden" name="orderflagQRY" value="<?=$orderflagQRY?>">
<input type="hidden" name="driveruidQRY" value="<?=$driveruidQRY?>">
<input type="hidden" name="typeQRY" value="<?=$typeQRY?>">
<input type="hidden" name="add_srchquery" value="<?=$add_srchquery?>">
<input type="hidden" name="newaccountQRY" value="<?=$newaccountQRY?>">
<input type="hidden" name="dormantaccountQRY" value="<?=$dormantaccountQRY?>">
<input type="hidden" name="dormantaccountQRY" value="<?=$dormantaccountQRY?>">
<input type="hidden" name="fullcycleQRY" value="<?=$fullcycleQRY?>">
<input type="hidden" name="fullquantityQRY" value="<?=$fullquantityQRY?>">
<input type="hidden" name="containerQRY" value="<?=$containerQRY?>">
<input type="hidden" name="areaQRY" value="<?=$areaQRY?>">
<input type="hidden" name="add_query_order" value="<?=$add_query_order?>">
<input type="hidden" name="add_query" value="<?=$add_query?>">
<input type="hidden" name="getThisYear" value="<?=$getThisYear?>">
<input type="hidden" name="getLastYear" value="<?=$getLastYear?>">
<input type="hidden" name="c_type_r" value="<?=$c_type_r?>">
<input type="hidden" name="c_type_p" value="<?=$c_type_p?>">
<input type="hidden" name="c_type_w" value="<?=$c_type_w?>">
<input type="hidden" name="org_driveruid" value="<?=$org_driveruid?>">
<input type="hidden" name="orderdate" value="<?=$orderdate?>">
<button type="submit" class="btn-add text-center">DOWNLOAD</button>
</form>
<? } ?>
</div>
<div style="text-align: right;">
<span class="box-will-call">Will Call</span>
<span class="box-period">Scheduled</span>
<span class="box-request">Request</span>
</div>
</div>
</div><!--wrap-border-->
<!-- New -->

View File

@ -404,9 +404,15 @@ function popup(){
</tr>
<tr>
<td class="td-title-info">Sludge</td>
<td class="td-title-info">Sludge (%)</td>
<td class="td-text-info">
<input type="text" class="d_sludge" placeholder="50">
<div class="number-input">
<button class="left" type="button"></button>
<input type="number" class="d_sludge" value="50" min="0" max="100" placeholder="50">
<button class="right" type="button"></button>
</div>
</td>
</tr>
@ -598,6 +604,10 @@ function popup(){
<input type="hidden" name="mode" class="mode" value="update">
<table class="tb-info-box">
<tbody>
<tr>
<td class="td-title-info">Restaurant Name</td>
<td class="td-text-info shortinfo-store-name">Name</td>
</tr>
<tr>
<td class="td-title-info">Payment Type</td>
<td class="td-text-info shortinfo-payment-type">Cheque</td>
@ -1639,6 +1649,8 @@ function popup(){
lastPickupDate: json.result[i]['last_pickup_date'],
lastPaidDate: json.result[i]['last_paid_date'],
duid: json.result[i]['duid'],
druid: json.result[i]['druid'],
rnote: json.result[i]['rnote'],
<? if ($_SESSION['ss_LEVEL'] == 9) { ?>
orderFlag: json.result[i]['orderFlag']
@ -1986,6 +1998,7 @@ function popup(){
var rstInqShortInfo = function(json) {
jQuery("#customerShortInfo .c_uid").val(json.result['id']);
jQuery("#customerShortInfo .shortinfo-store-name").text(json.result['name']);
jQuery("#customerShortInfo .shortinfo-payment-type").text(json.result['payment_type']);
jQuery("#customerShortInfo .shortinfo-payment-string").text(json.result['paymentstring']);
jQuery("#customerShortInfo #c_comment_ri").val(json.result['comment']).attr("disabled",false);
@ -2134,14 +2147,6 @@ function popup(){
<span>${property.phone}</span>
</td>
</tr>
<tr>
<td class="td-title-info">Address</td>
<td class="td-text-info">
<span>${property.address}</span>
</td>
</tr>
<tr>
<td class="td-title-info">Forecast</td>
<td class="td-text-info">
@ -2161,21 +2166,33 @@ function popup(){
</td>
</tr>
</table>
<div class="address-row">
<div class="address-title">Address</div>
<div class="address-content">
<a href="https://maps.google.com/?q=${encodeURIComponent(property.address)}"
class="address-link"
target="_blank"
rel="noopener noreferrer">
${property.address}
</a>
</div>
</div>
<br>
<div class="text-center map-grid-layout-col-3">
<button type="button" class="mapBtn btn-info-modal" onClick="javscript:showShortInfo(${property.customerid});" data-toggle="modal" data-target="#map-modal-info"><i class="fa-solid fa-question"></i> Info</button>
<button type="submit" class="mapBtn btn-grey-modal" onClick="javascript:initHistory(${property.customerid});" data-toggle="modal" data-target="#map-modal-history"><i class="bi bi-folder2-open"></i> History</button>`;
<button type="button" class="mapBtn btn-info-modal" onClick="javscript:showShortInfo(${property.customerid});" data-toggle="modal" data-target="#map-modal-info"><i class="fa-solid fa-question"></i><br>Info</button>
<button type="submit" class="mapBtn btn-grey-modal" onClick="javascript:initHistory(${property.customerid});" data-toggle="modal" data-target="#map-modal-history"><i class="bi bi-folder2-open"></i><br>History</button>`;
if(`${property.date}` === 'null') {
innerHtml += `<button type="button" class="mapBtn btn-primary-modal addOrderBtn_${property.index}" data-toggle="modal" onClick="javascript:initAddOrder(${property.customerid},${property.index});"><i class="fa-solid fa-plus"></i> Add Order</button>`;
innerHtml += `<button type="button" class="mapBtn btn-red-modal hidden removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index});"><i class="fa-solid fa-xmark"></i> Remove Order</button>`;
innerHtml += `<button type="button" class="mapBtn btn-primary-modal addOrderBtn_${property.index}" data-toggle="modal" onClick="javascript:initAddOrder(${property.customerid},${property.index});"><i class="fa-solid fa-plus"></i><br>Add</button>`;
innerHtml += `<button type="button" class="mapBtn btn-red-modal hidden removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index});"><i class="fa-solid fa-xmark"></i><br>Remove</button>`;
}else{
innerHtml += `<button type="button" class="mapBtn btn-primary-modal addOrderBtn_${property.index} hidden" data-toggle="modal" onClick="javascript:initAddOrder(${property.customerid},${property.index});"><i class="fa-solid fa-plus"></i> Add Order</button>`;
innerHtml += `<button type="button" ${property.orderFlag} class="mapBtn btn-red-modal removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index});"><i class="fa-solid fa-xmark"></i> Remove Order</button>`;
innerHtml += `<button type="button" class="mapBtn btn-primary-modal addOrderBtn_${property.index} hidden" data-toggle="modal" onClick="javascript:initAddOrder(${property.customerid},${property.index});"><i class="fa-solid fa-plus"></i><br>Add</button>`;
innerHtml += `<button type="button" ${property.orderFlag} class="mapBtn btn-red-modal removeOrderBtn_${property.index}" data-toggle="modal" data-target="#modal-confirm" onClick="javascript:removeOrder(${property.customerid},${property.duid},${property.index});"><i class="fa-solid fa-xmark"></i><br>Remove</button>`;
}
innerHtml += `<button type="submit" class="mapBtn btn-nearby" onClick="javascript:inqNearby('${property.lat}:${property.lon}');"><i class="fa-solid fa-diamond-turn-right"></i> Nearby</button>
<button type="submit" class="mapBtn btn-orange-modal" data-toggle="modal" data-target="#map-modal-note" onClick="javscript:showShortNotice(${property.duid});"><i class="fa fa-thumb-tack"></i> Notice</button>
<button type="submit" class="mapBtn btn-purple-modal" data-toggle="modal" data-target="#map-modal-input" onClick="javascript:initInput(${property.customerid});"><i class="bi bi-truck"></i> Input</button>
innerHtml += `<button type="submit" class="mapBtn btn-nearby" onClick="javascript:inqNearby('${property.lat}:${property.lon}');"><i class="fa-solid fa-diamond-turn-right"></i><br>Nearby</button>
<button type="submit" class="mapBtn btn-orange-modal ${(property.rnote !== null && property.rnote.trim() !== '') ? 'blink' : '' }" data-toggle="modal" data-target="#map-modal-note" onClick="javscript:showShortNotice(${property.duid});"><i class="fa fa-thumb-tack"></i><br>Notice</button>
<button type="submit" class="mapBtn btn-purple-modal" data-toggle="modal" data-target="#map-modal-input" onClick="javascript:initInput(${property.customerid});"><i class="bi bi-truck"></i><br>Input</button>
</div>
</div>
</div>
@ -2200,3 +2217,26 @@ function popup(){
}
</script>
<script>
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.number-input').forEach(container => {
const input = container.querySelector('.d_sludge');
const leftBtn = container.querySelector('.left');
const rightBtn = container.querySelector('.right');
const step = 5;
leftBtn.addEventListener('click', () => {
const min = input.min ? parseInt(input.min) : -Infinity;
let value = parseInt(input.value || 0);
if (value - step >= min) input.value = value - step;
});
rightBtn.addEventListener('click', () => {
const max = input.max ? parseInt(input.max) : Infinity;
let value = parseInt(input.value || 0);
if (value + step <= max) input.value = value + step;
});
});
});
</script>

View File

@ -1,5 +1,6 @@
<?
$yearNow = date('Y');
$yearLast = $yearNow - 1;
// Array
$arrStatus = array ('I' => 'Inactive', 'A' => 'Active', 'H' => 'Hold', 'D' => 'Delete', 'F' => 'Finish' );
$arrPaymenttype = array ('CA' => 'Cash', 'CHQ' => 'Cheque', 'DIRECT' => 'Direct Deposit', 'DONATION' => 'Donation', 'EFT' => 'EFT',
@ -78,4 +79,22 @@ $receiptArray = array(
"d_visitdateSTR"=>"Date", "d_nameSTR"=>"Restaurant Name", "d_accountnoSTR"=>"Account No", "d_addressSTR"=>"Address",
"d_driverSTR"=>"Driver", "d_quantity"=>"Oil Quantity", "d_payamount"=>"Paid"
);
$forecastArray = array(
"list_numberSTR"=>"No"
, "c_nameSTR"=>"Restaurant Name"
, "c_accountno"=>"Account"
, "c_maincontainer"=>"Container"
, "c_containerSTR"=>"Detail"
, "c_paymenttype"=>"Payment"
, "c_rate"=>"Rate"
, "c_addressSTR"=>"Address"
, "c_city"=>"City"
, "getLastYearQ"=>$yearLast
, "getThisYearQ"=>$yearNow
, "c_fullcycleSTR"=>"Cycle"
, "c_mainvolume"=>"Main Vol."
, "c_lastpickupdateSTR"=>"Last PU"
, "c_fullquantitySTR"=>"Liter"
);
?>