- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
546 lines
20 KiB
PHP
546 lines
20 KiB
PHP
<?php
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
|
|
if (!isset($_SESSION["level"]) || $_SESSION["level"] > 5) {
|
|
sleep(1);
|
|
header("Location:" . $WebSite . "login/login_form.php");
|
|
exit;
|
|
}
|
|
ini_set('display_errors', 1);
|
|
ini_set('display_startup_errors', 1);
|
|
error_reporting(E_ALL);
|
|
|
|
include $_SERVER['DOCUMENT_ROOT'] . '/load_header.php';
|
|
$title_message = '배차 차량 일지';
|
|
?>
|
|
<title> <?=$title_message?> </title>
|
|
</head>
|
|
<body>
|
|
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/myheader.php'); ?>
|
|
<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/mymodal.php'); ?>
|
|
<?php
|
|
$tablename = 'output';
|
|
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
|
|
$pdo = db_connect();
|
|
|
|
// 검색 조건 설정
|
|
$search = isset($_REQUEST['search']) ? $_REQUEST['search'] : '';
|
|
$fromdate = isset($_REQUEST['fromdate']) ? $_REQUEST['fromdate'] : '';
|
|
$todate = isset($_REQUEST['todate']) ? $_REQUEST['todate'] : '';
|
|
$mode = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : '';
|
|
$SettingDate = isset($_REQUEST['SettingDate']) ? $_REQUEST['SettingDate'] : " regist_day ";
|
|
|
|
if (isset($_REQUEST["separate_date"])) {
|
|
$separate_date = $_REQUEST["separate_date"];
|
|
} else {
|
|
$separate_date = "";
|
|
}
|
|
require_once("../lib/mydb.php");
|
|
$pdo = db_connect();
|
|
|
|
$separate_date = "1";
|
|
|
|
// 현재 날짜
|
|
$currentDate = date("Y-m-d");
|
|
|
|
// fromdate 또는 todate가 빈 문자열이거나 null인 경우
|
|
if ($fromdate === "" || $fromdate === null || $todate === "" || $todate === null) {
|
|
// 이번 달의 첫째 날
|
|
$fromdate = date("Y-m-01", strtotime($currentDate));
|
|
|
|
// 이번 달의 마지막 날
|
|
$todate = date("Y-m-t", strtotime($currentDate)); // t는 해당 월의 마지막 날을 반환
|
|
$Transtodate = $todate;
|
|
} else {
|
|
// fromdate와 todate가 모두 설정된 경우 (기존 로직 유지)
|
|
$Transtodate = $todate;
|
|
}
|
|
|
|
if ($separate_date == "1") {
|
|
$SettingDate = "outdate";
|
|
} else {
|
|
$SettingDate = "indate";
|
|
}
|
|
|
|
// 진행상태에 대한 검색
|
|
$orderby = " ORDER BY " . $SettingDate . " DESC, num DESC"; // 내림차순 정렬
|
|
|
|
$where = " WHERE " . $SettingDate . " BETWEEN date('$fromdate') AND date('$Transtodate') AND is_deleted = '0' and (devMode <> '1' OR devMode IS NULL) AND deliveryfeeList IS NOT NULL AND deliveryfeeList != '' AND deliveryfeeList != '[]' " . $orderby;
|
|
$searchwhere = " WHERE is_deleted = '0' AND deliveryfeeList IS NOT NULL and (devMode <> '1' OR devMode IS NULL) AND deliveryfeeList != '' AND deliveryfeeList != '[]' AND searchtag LIKE '%$search%'" . $orderby;
|
|
|
|
|
|
// 수정된 쿼리: COD이 존재하고 is_deleted가 0인 자료만 선택
|
|
if ($search == "") {
|
|
$sql = "SELECT * FROM $DB.$tablename " . $where;
|
|
} else {
|
|
$sql = "SELECT * FROM $DB.$tablename " . $searchwhere;
|
|
}
|
|
|
|
// 현재일자 변수지정
|
|
$today = date("Y-m-d");
|
|
|
|
// SQL 실행 및 데이터 처리
|
|
|
|
// print $sql;
|
|
|
|
?>
|
|
<form id="board_form" name="board_form" method="post" >
|
|
<input type="hidden" id="mode" name="mode" value="<?=$mode?>">
|
|
<input type="hidden" id="num" name="num">
|
|
<input type="hidden" id="tablename" name="tablename" value="<?=$tablename?>">
|
|
<input type="hidden" id="header" name="header" value="<?=$header?>">
|
|
|
|
<div class="container">
|
|
<div class="card mb-2 mt-2">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-sm-7">
|
|
<div class="d-flex p-1 m-1 mt-1 justify-content-end align-items-center ">
|
|
<h5> <?=$title_message?> </h5>
|
|
<button type="button" class="btn btn-dark btn-sm mx-2" onclick='location.reload();' > <i class="bi bi-arrow-clockwise"></i> </button>
|
|
<button type="button" class="btn btn-outline-dark btn-sm downloadExcel"> <i class="bi bi-floppy"></i> 엑셀 다운로드</button>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-5">
|
|
<div class="d-flex justify-content-end align-items-center ">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="d-flex p-1 m-1 mt-1 mb-1 justify-content-center align-items-center">
|
|
<?php
|
|
/********************************************************
|
|
* 1) 전체 데이터를 가져오면서, 요약 계산을 동시에 수행
|
|
********************************************************/
|
|
|
|
// (A) 합계를 저장할 배열·변수 준비
|
|
$companySums = []; // 예: [ '25시물류' => 500000, '조운물류' => 300000, ... ]
|
|
$prepaidSum = 0; // 선불 합계
|
|
$collectSum = 0; // 착불 합계
|
|
$totalSum = 0; // 총합 (모든 합계)
|
|
|
|
$resultRows = []; // 실제 목록 표시에 사용할 모든 레코드+deliveryfeeList 데이터를 담아둘 배열
|
|
|
|
try {
|
|
$stmh = $pdo->query($sql); // PDOStatement
|
|
$total_row = $stmh->rowCount();
|
|
|
|
while ($row = $stmh->fetch(PDO::FETCH_ASSOC)) {
|
|
|
|
// deliveryfeeList를 JSON -> 배열 디코딩
|
|
$deliveryfeeListData = json_decode($row['deliveryfeeList'], true);
|
|
if (!is_array($deliveryfeeListData) || count($deliveryfeeListData) === 0) {
|
|
$deliveryfeeListData = [[]];
|
|
}
|
|
|
|
// (B) 각 행을 순회하면서 합계 계산
|
|
foreach ($deliveryfeeListData as $feeRow) {
|
|
// col1 : 물류업체명, col5 : 합계(숫자), col6 : 착불/선불
|
|
$company = $feeRow['col1'] ?? ''; // 예: '25시물류'
|
|
$sumText = $feeRow['col5'] ?? ''; // 예: '12,345' (콤마가 있을 수도 있으므로)
|
|
$payType = $feeRow['col6'] ?? ''; // 예: '착불' or '선불'
|
|
|
|
// 숫자 변환 (콤마 제거 후 float/int 변환)
|
|
$sumValue = floatval(str_replace(',', '', $sumText));
|
|
|
|
// 물류업체명별 합계
|
|
if (!isset($companySums[$company])) {
|
|
$companySums[$company] = 0;
|
|
}
|
|
$companySums[$company] += $sumValue;
|
|
|
|
// 착불/선불 합계
|
|
if ($payType === '선불') {
|
|
$prepaidSum += $sumValue;
|
|
} elseif ($payType === '착불') {
|
|
$collectSum += $sumValue;
|
|
}
|
|
|
|
// 총합
|
|
$totalSum += $sumValue;
|
|
}
|
|
|
|
// (C) 화면에 출력할 수 있도록, 원본 $row + deliveryfeeListData를 저장
|
|
$resultRows[] = $row;
|
|
}
|
|
|
|
} catch (PDOException $Exception) {
|
|
print "오류: " . $Exception->getMessage();
|
|
}
|
|
|
|
// (D) 합계 테이블을 출력하기 전에, 물류업체명 배열을 정렬(필요 시)
|
|
ksort($companySums); // 키(물류업체명)로 정렬 - 사용 여부는 선택
|
|
|
|
// echo '<pre>';
|
|
// print_r($deliveryfeeListData);
|
|
// echo '</pre>';
|
|
|
|
?>
|
|
|
|
<!-- *********************************************** -->
|
|
<!-- 2) 배송업체별 합계금액/선불 합계/착불 합계 테이블 -->
|
|
<!-- *********************************************** -->
|
|
<style>
|
|
/* 예시 스타일 - 필요에 따라 조정 */
|
|
.summary-table {
|
|
margin-bottom: 1rem;
|
|
border: 2px solid #333;
|
|
border-collapse: collapse;
|
|
width: auto; /* 상황에 맞춰 조정 */
|
|
}
|
|
.summary-table th, .summary-table td {
|
|
border: 1px solid #333;
|
|
padding: 8px;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
}
|
|
.text-green { color: green; }
|
|
.text-red { color: red; }
|
|
</style>
|
|
|
|
<table class="summary-table mx-4">
|
|
<thead>
|
|
<tr>
|
|
<?php
|
|
// 동적으로 물류업체명 컬럼 생성
|
|
foreach ($companySums as $companyName => $amount) {
|
|
echo "<th>" . htmlspecialchars($companyName) . "</th>";
|
|
}
|
|
?>
|
|
<th class="text-green">선불</th>
|
|
<th class="text-red">착불</th>
|
|
<th>합계</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<?php
|
|
// 물류업체명별 합계 표시
|
|
foreach ($companySums as $companyName => $amount) {
|
|
// 3자리 콤마
|
|
$formatted = number_format($amount);
|
|
echo "<td>{$formatted}</td>";
|
|
}
|
|
// 선불, 착불, 전체 합계
|
|
$formattedPrepaid = number_format($prepaidSum);
|
|
$formattedCollect = number_format($collectSum);
|
|
$formattedTotal = number_format($totalSum);
|
|
|
|
echo "<td class='text-green'>{$formattedPrepaid}</td>";
|
|
echo "<td class='text-red'>{$formattedCollect}</td>";
|
|
echo "<td>{$formattedTotal}</td>";
|
|
?>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
▷ <?= $total_row ?>
|
|
<button type="button" class="btn btn-danger btn-sm mx-1" onclick='pre_month()' > 전월 </button>
|
|
<button type="button" class="btn btn-primary btn-sm mx-1" onclick='this_month()' > 당월 </button>
|
|
<button type="button" class="btn btn-dark btn-sm mx-1" onclick='yesterday()' > 전일 </button>
|
|
<button type="button" class="btn btn-outline-dark btn-sm mx-1" onclick='this_today()' > 금일 </button>
|
|
<button type="button" class="btn btn-dark btn-sm mx-1" onclick='this_tomorrow()' > 익일 </button>
|
|
<input type="date" id="fromdate" name="fromdate" class="form-control" style="width:100px;" value="<?=$fromdate?>" > ~
|
|
<input type="date" id="todate" name="todate" class="form-control me-1" style="width:100px;" value="<?=$todate?>" >
|
|
</span>
|
|
<div class="inputWrap">
|
|
<input type="text" id="search" name="search" value="<?=$search?>" onkeydown="JavaScript:SearchEnter();" autocomplete="off" class="form-control" style="width:150px;" >
|
|
<button class="btnClear"></button>
|
|
</div>
|
|
|
|
<div id="autocomplete-list">
|
|
</div>
|
|
|
|
<button id="searchBtn" type="button" class="btn btn-dark btn-sm" > <i class="bi bi-search"></i> 검색 </button>
|
|
|
|
</div>
|
|
</div>
|
|
</div> <!--card-body-->
|
|
</div> <!--card -->
|
|
</div> <!--container-fluid -->
|
|
<div class="container-fluid">
|
|
<div class="d-flex justify-content-center align-items-center">
|
|
|
|
<table class="table table-hover" id="myTable">
|
|
<thead class="table-primary">
|
|
<tr>
|
|
<!-- 1,2,3열 : 기존 컬럼(번호, 출고일, 현장명) -->
|
|
<th class="text-center" style="width:30px;">번호</th>
|
|
<th class="text-center" style="width:100px;">출고일</th>
|
|
<th class="text-center" style="width:300px;">현장명</th>
|
|
|
|
<!-- 4열부터 col1~col11 (배송비 내역) -->
|
|
<th class="text-center">하차업체명</th>
|
|
<th class="text-center">상차지</th>
|
|
<th class="text-center">물류업체명</th>
|
|
<th class="text-center">차량톤수</th>
|
|
<th class="text-center">금 액</th>
|
|
<th class="text-center">부가세</th>
|
|
<th class="text-center">합계</th>
|
|
<th class="text-center">착/선불</th>
|
|
<th class="text-center">차량번호</th>
|
|
<th class="text-center">기사 연락처</th>
|
|
<th class="text-center">비고</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<?php
|
|
try {
|
|
$stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh
|
|
$total_row = $stmh->rowCount();
|
|
$start_num = 1; // 페이지당 표시되는 첫 번째 글 순번
|
|
|
|
while ($row = $stmh->fetch(PDO::FETCH_ASSOC)) {
|
|
|
|
// (예) DB 필드에서 출고일, 현장명, 오늘 날짜 비교 등에 사용
|
|
$outdate = $row['outdate'] ?? '';
|
|
$outworkplace = $row['outworkplace'] ?? '';
|
|
$num = $row['num'] ?? '';
|
|
$tablename = $tablename ?? '';
|
|
|
|
// 오늘 날짜와 출고일 비교해 색상 지정 (선택 사항)
|
|
$date_font = ($today == $outdate) ? "text-danger" : "text-dark";
|
|
|
|
// 요일 표기
|
|
if ($outdate !== "") {
|
|
$week = ["(일)", "(월)", "(화)", "(수)", "(목)", "(금)", "(토)"];
|
|
$outdate .= $week[ date('w', strtotime($outdate)) ];
|
|
}
|
|
|
|
// deliveryfeeList를 JSON -> 배열 디코딩 (여러 개 행이 있을 수 있음)
|
|
$deliveryfeeListData = json_decode($row['deliveryfeeList'], true);
|
|
// 만약 데이터가 없거나 파싱 실패하면, 1개짜리 빈 배열로 처리 (빈 화면 대신)
|
|
if (!is_array($deliveryfeeListData) || count($deliveryfeeListData) === 0) {
|
|
$deliveryfeeListData = [[]];
|
|
}
|
|
|
|
// deliveryfeeList의 각 행마다 <tr> 생성
|
|
foreach ($deliveryfeeListData as $index => $feeRow) {
|
|
// 첫 번째 행($index===0)일 때만 번호/출고일/현장명 표시
|
|
// $tdNumber = ($index === 0) ? $start_num : '';
|
|
// $tdOutdate = ($index === 0) ? "<span class='{$date_font}'>{$outdate}</span>" : '';
|
|
// $tdWork = ($index === 0) ? $outworkplace : '';
|
|
$tdNumber = $start_num ;
|
|
$tdOutdate = "<span class='{$date_font}'>{$outdate}</span>" ;
|
|
$tdWork = $outworkplace ;
|
|
|
|
// col1 ~ col11
|
|
$col1 = $feeRow['col1'] ?? '';
|
|
$col2 = $feeRow['col2'] ?? '';
|
|
$col3 = $feeRow['col3'] ?? '';
|
|
$col4 = $feeRow['col4'] ?? '';
|
|
$col5 = $feeRow['col5'] ?? '';
|
|
$col6 = $feeRow['col6'] ?? ''; // 체크할 컬럼 (선불/착불)
|
|
$col7 = $feeRow['col7'] ?? '';
|
|
$col8 = $feeRow['col8'] ?? '';
|
|
$col9 = $feeRow['col9'] ?? '';
|
|
$col10 = $feeRow['col10'] ?? '';
|
|
$col11 = $feeRow['col11'] ?? '';
|
|
|
|
// col6이 비어있으면 blink 클래스 추가 (선불/착불)
|
|
$blinkClass = ($col6 === '') ? 'blink-row' : '';
|
|
|
|
?>
|
|
<tr class="<?= $blinkClass ?>" data-col6="<?= $col6 ?>" onclick="redirectToView('<?= $num ?>','<?= $tablename ?>')">
|
|
<!-- 1,2,3열: 첫 행이면 표시, 아니면 빈 칸 -->
|
|
<td class="text-center"><?= $tdNumber ?></td>
|
|
<td class="text-center"><?= $tdOutdate ?></td>
|
|
<td class="text-start"><?= $tdWork ?></td>
|
|
|
|
<!-- 4열부터 col1~col11 -->
|
|
<td class="text-center"><?= htmlspecialchars($col10) ?></td>
|
|
<td class="text-center "><?= htmlspecialchars($col9) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col1) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col2) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col3) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col4) ?></td>
|
|
<td class="text-center blink-target"><?= htmlspecialchars($col5) ?></td>
|
|
<td class="text-center col6-cell"><?= htmlspecialchars($col6) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col7) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col8) ?></td>
|
|
<td class="text-center"><?= htmlspecialchars($col11) ?></td>
|
|
</tr>
|
|
<?php
|
|
$start_num++;
|
|
}
|
|
|
|
// DB 1행 처리 끝 -> 다음 레코드
|
|
|
|
} // while($row)
|
|
|
|
} catch (PDOException $Exception) {
|
|
print "오류: " . $Exception->getMessage();
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div> <!--container-->
|
|
|
|
</form>
|
|
<script>
|
|
// 페이지 로딩
|
|
$(document).ready(function(){
|
|
var loader = document.getElementById('loadingOverlay');
|
|
if(loader)
|
|
loader.style.display = 'none';
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
var dataTable; // DataTables 인스턴스 전역 변수
|
|
var outputpageNumber; // 현재 페이지 번호 저장을 위한 전역 변수
|
|
|
|
$(document).ready(function() {
|
|
// DataTables 초기 설정
|
|
dataTable = $('#myTable').DataTable({
|
|
"paging": true,
|
|
"ordering": true,
|
|
"searching": false,
|
|
"pageLength": 100,
|
|
"lengthMenu": [100, 200, 500, 1000],
|
|
"language": {
|
|
"lengthMenu": "Show _MENU_ entries"
|
|
},
|
|
"order": [[1, 'desc']] // 출고예정기준 내림정렬
|
|
});
|
|
|
|
// 페이지 번호 복원 (초기 로드 시)
|
|
var savedPageNumber = getCookie('outputpageNumber');
|
|
if (savedPageNumber) {
|
|
dataTable.page(parseInt(savedPageNumber) - 1).draw(false);
|
|
}
|
|
|
|
// 페이지 변경 이벤트 리스너
|
|
dataTable.on('page.dt', function() {
|
|
var outputpageNumber = dataTable.page.info().page + 1;
|
|
setCookie('outputpageNumber', outputpageNumber, 10); // 쿠키에 페이지 번호 저장
|
|
});
|
|
|
|
// 페이지 길이 셀렉트 박스 변경 이벤트 처리
|
|
$('#myTable_length select').on('change', function() {
|
|
var selectedValue = $(this).val();
|
|
dataTable.page.len(selectedValue).draw(); // 페이지 길이 변경 (DataTable 파괴 및 재초기화 없이)
|
|
|
|
// 변경 후 현재 페이지 번호 복원
|
|
savedPageNumber = getCookie('outputpageNumber');
|
|
if (savedPageNumber) {
|
|
dataTable.page(parseInt(savedPageNumber) - 1).draw(false);
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
function restorePageNumber() {
|
|
var savedPageNumber = getCookie('outputpageNumber');
|
|
// if (savedPageNumber) {
|
|
// dataTable.page(parseInt(savedPageNumber) - 1).draw('page');
|
|
// }
|
|
location.reload(true);
|
|
}
|
|
|
|
function redirectToView(num, tablename) {
|
|
var url = "write_form.php?mode=view&num=" + num + "&tablename=" + tablename;
|
|
customPopup(url, '수주 내역', 1900, 920);
|
|
}
|
|
|
|
function submitForm(status) {
|
|
$('input[name=status_option]').val(status);
|
|
document.getElementById('board_form').submit();
|
|
}
|
|
|
|
|
|
$(document).ready(function(){
|
|
// 엑셀 다운로드 버튼 클릭 이벤트
|
|
$('.downloadExcel').on('click', function() {
|
|
var data = [];
|
|
var rows = $('#myTable tbody tr'); // 모달 내의 테이블 선택
|
|
|
|
// 각 행의 데이터를 수집
|
|
rows.each(function() {
|
|
var rowData = {};
|
|
rowData['번호'] = $(this).find('td').eq(0).text().trim();
|
|
rowData['출고일'] = $(this).find('td').eq(1).text().trim();
|
|
rowData['현장명'] = $(this).find('td').eq(2).text().trim();
|
|
rowData['하차업체명'] = $(this).find('td').eq(3).text().trim();
|
|
rowData['상차지'] = $(this).find('td').eq(4).text().trim();
|
|
rowData['물류업체명'] = $(this).find('td').eq(5).text().trim();
|
|
rowData['차량톤수'] = $(this).find('td').eq(6).text().trim();
|
|
rowData['금 액'] = $(this).find('td').eq(7).text().trim();
|
|
rowData['부가세'] = $(this).find('td').eq(8).text().trim();
|
|
rowData['합계'] = $(this).find('td').eq(9).text().trim();
|
|
rowData['착/선불'] = $(this).find('td').eq(10).text().trim();
|
|
rowData['차량번호'] = $(this).find('td').eq(11).text().trim();
|
|
rowData['기사 연락처'] = $(this).find('td').eq(12).text().trim();
|
|
rowData['비고'] = $(this).find('td').eq(13).text().trim();
|
|
data.push(rowData);
|
|
});
|
|
|
|
|
|
// 엑셀 파일 생성 요청
|
|
$.ajax({
|
|
url: '/output/dl_ex_deliveryfee.php',
|
|
method: 'POST',
|
|
contentType: 'application/json',
|
|
data: JSON.stringify(data),
|
|
success: function(response) {
|
|
// 응답이 문자열인 경우 JSON으로 파싱 시도
|
|
if (typeof response === 'string') {
|
|
try {
|
|
response = JSON.parse(response);
|
|
} catch(e) {
|
|
alert('서버에서 유효하지 않은 응답을 받았습니다.');
|
|
console.error("응답 파싱 오류:", e);
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(response.success){
|
|
// 다운로드 URL 조정 (파일 경로에 맞게 수정)
|
|
var filename = response.filename.split('/').pop();
|
|
var downloadUrl = '/excelsave/' + encodeURIComponent(filename);
|
|
window.location.href = downloadUrl;
|
|
} else {
|
|
alert('엑셀 파일 생성에 실패했습니다: ' + response.message);
|
|
}
|
|
},
|
|
error: function(jqXHR, textStatus, errorThrown) {
|
|
console.error("AJAX 오류:", textStatus, errorThrown);
|
|
alert('엑셀 파일 생성 중 오류가 발생했습니다.');
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
$(document).ready(function(){
|
|
// 방문기록 남김
|
|
var title = '<?php echo $title_message; ?>';
|
|
saveMenuLog(title);
|
|
});
|
|
|
|
// jQuery로 깜빡이는(blink) 효과 추가
|
|
$(document).ready(function () {
|
|
setInterval(function () {
|
|
$(".blink-row").each(function () {
|
|
let col6Cell = $(this).find('.col6-cell');
|
|
let originalText = $(this).attr('data-col6'); // 원래의 col6 값
|
|
|
|
if (originalText.trim() === '') {
|
|
if (col6Cell.text().trim() === '선불/착불 기록 남겨주세요') {
|
|
col6Cell.text(''); // 공백으로 변경
|
|
} else {
|
|
col6Cell.text('선불/착불 기록 남겨주세요'); // 경고 문구 표시
|
|
}
|
|
}
|
|
});
|
|
}, 1000); // 1초마다 변경
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|