Compare commits

..

2 Commits

Author SHA1 Message Date
98d74658e9 사이드메뉴 수정
Reviewed-on: http://192.168.10.243:3000/owrainfo/confirms/pulls/55
2026-02-09 09:49:55 +09:00
922c85962c 현장확인 수정
Reviewed-on: http://192.168.10.243:3000/owrainfo/confirms/pulls/54
2026-02-06 10:39:16 +09:00
22 changed files with 102 additions and 198 deletions

View File

@@ -23,31 +23,18 @@ class Receipt extends BaseController
public function lists(): string
{
$usr_id = $this->request->getGet('usr_id') ?: '';
$sBonbu = $this->request->getGet('bonbu') ?: '';
$sTeanm = $this->request->getGet('dept_sq') ?: '';
$codes = $this->codeModel->getCodeLists(['NHN_DEAL_TYPE', 'CP_ID', 'ARTICLE_TYPE', 'VRFCREQ_WAY', 'STEP_VERIFICATION']); // 코드조회
$sido = $this->model->getAreaList(); // 지역조회
$bonbu = $this->model->getBonbuList();
$team = $this->model->getTeamList();
$user = $this->model->getUserList();
$this->data['sido'] = $sido;
$this->data['bonbu'] = $bonbu;
$this->data['team'] = $team;
$this->data['user'] = $user;
$this->data['codes'] = $codes;
if (!empty($usr_id)) {
$srchUser = $this->model->getSrchUserInfo($usr_id);
$this->data['srchUser'] = $srchUser;
}
$this->data['sBonbu'] = $sBonbu;
$this->data['sTeanm'] = $sTeanm;
return view("pages/article/receipt/lists", $this->data);
}

View File

@@ -116,19 +116,6 @@ class ReceiptModel extends Model
return $query->getResultArray();
}
public function getSrchUserInfo($usr_id)
{
$sql = "SELECT a.usr_sq, a.usr_id, b.dept_sq, b.pdept_sq FROM users a
JOIN departments b ON b.dept_sq = a.dept_sq
WHERE a.usr_id = ? AND a.use_yn = 'Y'";
$data = [$usr_id];
$query = $this->db->query($sql, $data);
$row = $query->getRowArray();
return $row;
}
/**
* 부서검색(상세)
*/

View File

@@ -39,7 +39,7 @@
$serverIp = $_SERVER['SERVER_ADDR'] ?? '';
// 개발 서버
$devServers = ['192.168.200.8', '192.168.10.231', '172.18.0.5'];
$devServers = ['192.168.200.8', '192.168.10.231'];
// 도커 테스트 서버
$dockerServers = ['172.18.0.2'];
@@ -58,7 +58,7 @@
if (in_array($serverIp, $devServers, true)) {
// 개발
echo "개발";
echo "<img src='/img/gnb_dev_00.png' alt='' />";
} elseif (in_array($serverIp, $dockerServers, true)) {
// 도커
@@ -80,6 +80,8 @@
echo "{$serverName}";
}
?>
</li>

View File

@@ -718,7 +718,7 @@ $usr_nm = session('usr_nm');
const rcpt_key = rowData.rcpt_key;
window.open("<?= site_url('article/dept/detail') ?>/" + rcpt_key, '_blank');
location.href = "<?= site_url('article/dept/detail') ?>/" + rcpt_key;
});
$(document).on('change', '#chkAll', function () {

View File

@@ -749,7 +749,7 @@
if (!rowData) return;
const id = rowData.rcpt_no;
window.open("<?= site_url('article/apt/detail') ?>/" + id, '_blank');
location.href = "<?= site_url('article/apt/detail') ?>/" + id;
});
$('#btnSearch').on('click', function () {

View File

@@ -2691,13 +2691,8 @@ $usr_id = session('usr_id');
position: new naver.maps.LatLng(lat, lng),
title: "매물ID: <?= $data['rcpt_key'] ?>",
map: map,
zIndex: 50,
icon: {
content: '<img src="/plugin/img/pin.png" style="width:32px;height:32px;" />', // HTML 방식
anchor: new naver.maps.Point(16, 32) // 앵커 포인트 (보통 하단 중앙)
}
zIndex: 50
});
// 마커에 정보창 추가
var infoWindow = new naver.maps.InfoWindow({
content: `
@@ -2715,57 +2710,82 @@ $usr_id = session('usr_id');
pixelOffset: new naver.maps.Point(10, -10)
});
// 마커 클릭 시 정보창 열기/닫기
// naver.maps.Event.addListener(marker, 'click', function () {
// if (infoWindow.getMap()) {
// infoWindow.close();
// } else {
// infoWindow.open(map, marker);
// }
// });
// 페이지 로드 시 정보창 자동으로 열기
naver.maps.Event.addListener(marker, 'click', function () {
if (infoWindow.getMap()) {
infoWindow.close();
} else {
infoWindow.open(map, marker);
}
});
if (assignArr.length > 0) {
for (var i = 0; i < assignArr.length; i++) {
var additionalMarker = new naver.maps.Marker({
marker = new naver.maps.Marker({
position: new naver.maps.LatLng(assignArr[i].rcpt_y, assignArr[i].rcpt_x),
map: map,
zIndex: 50
});
var addWindow = new naver.maps.InfoWindow({
content: `
<div style="padding:10px;min-width:200px;">
<div style="font-size:13px;line-height:1.6;">
<div><strong>매물ID:</strong> ${assignArr[i].rcpt_atclno} </div>
</div>
</div>
`,
borderWidth: 1,
borderColor: '#ddd',
backgroundColor: '#fff',
anchorSize: new naver.maps.Size(10, 10),
anchorSkew: true,
pixelOffset: new naver.maps.Point(10, -10)
});
}
// // 현재 매물과 동일한 것은 건너뛰기 (이미 메인 마커로 표시됨)
// if (assignArr[i].rcpt_sq == '<?= $data['rcpt_sq'] ?>') continue;
// 추가 마커 클릭 이벤트 - 클로저를 사용하여 각 마커별 정보창 참조 유지
// (function (marker, infoWin) {
// naver.maps.Event.addListener(marker, 'click', function () {
// if (infoWin.getMap()) {
// infoWin.close();
// } else {
// infoWin.open(map, marker);
// // assignArr[i]의 좌표 사용
// var assignLat = parseFloat(assignArr[i].rcpt_y || 0);
// var assignLng = parseFloat(assignArr[i].rcpt_x || 0);
// // 좌표가 유효하지 않으면 건너뛰기
// if (assignLat === 0 || assignLng === 0) continue;
// // 추가 마커 생성 (기본 빨간색 마커 아이콘 사용)
// var submarker = new naver.maps.Marker({
// position: new naver.maps.LatLng(assignLat, assignLng),
// title: "매물ID: " + assignArr[i].rcpt_atclno,
// map: map,
// zIndex: 40,
// icon: {
// content: '<div style="background-color:#ff0000;width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px rgba(0,0,0,0.3);"></div>',
// anchor: new naver.maps.Point(8, 8)
// }
// });
// })(additionalMarker, addWindow);
// // 정보창 생성 (클로저 문제 해결을 위해 즉시실행함수 사용)
// (function (marker, info) {
// var subinfoWindow = new naver.maps.InfoWindow({
// content: `
// <div style="padding:10px;min-width:200px;">
// <div style="font-size:13px;line-height:1.6;">
// <div><strong>매물ID:</strong> ${info.rcpt_atclno}</div>
// </div>
// </div>
// `,
// borderWidth: 1,
// borderColor: '#ddd',
// backgroundColor: '#fff',
// anchorSize: new naver.maps.Size(10, 10),
// anchorSkew: true,
// pixelOffset: new naver.maps.Point(10, -10)
// });
// // 마커 클릭 이벤트
// naver.maps.Event.addListener(marker, 'click', function () {
// if (subinfoWindow.getMap()) {
// subinfoWindow.close();
// } else {
// subinfoWindow.open(map, marker);
// }
// });
// })(submarker, assignArr[i]);
// }
}
}
// 페이지 로드 시 정보창 자동으로 열기
infoWindow.open(map, marker);
// 업로드파일 선택
$("#uploadPick").on("click", function () {

View File

@@ -109,6 +109,7 @@ $usr_nm = session('usr_nm');
<div class="main-card mb-3 card">
<div class="card-body">
<form id="frm_srch_info" method="get" onsubmit="return false;">
<!-- 검색 폼 -->
<div class="row g-3">
<div class="col-md-1">
@@ -174,20 +175,19 @@ $usr_nm = session('usr_nm');
<label class="form-label mb-1">현재상태</label>
<div class="d-flex gap-1">
<select name="rcpt_stat1" class="form-select form-select-sm">
<option value="">선택</option>
<option value="">예약확인지연</option>
<?php foreach ($codes as $c): ?>
<?php if ($c['category'] === "STEP_VERIFICATION"): ?>
<option value="<?= $c['cd'] ?>"><?= $c['cd_nm'] ?></option>
<?php endif; ?>
<?php endforeach; ?>
</select>
<!-- <select name="rcpt_stat2" id="srcGugun" class="form-select form-select-sm">
<select name="rcpt_stat2" id="srcGugun" class="form-select form-select-sm">
<option value="">-상태2-</option>
</select>
<select name="rcpt_stat3" id="srcDong" class="form-select form-select-sm">
<option value="">-상태3-</option>
</select> -->
</select>
</div>
</div>
@@ -404,13 +404,6 @@ $usr_nm = session('usr_nm');
const bonbuArr = <?= json_encode($bonbu, JSON_UNESCAPED_UNICODE); ?>;
const teamArr = <?= json_encode($team, JSON_UNESCAPED_UNICODE); ?>;
const userArr = <?= json_encode($user, JSON_UNESCAPED_UNICODE); ?>;
<?php if (isset($srchUser) && !empty($srchUser)): ?>
const srchUser = <?= json_encode($srchUser, JSON_UNESCAPED_UNICODE); ?>;
<?php else: ?>
const srchUser = null;
<?php endif; ?>
const sBonbu = "<?= $sBonbu ?? '' ?>";
const sTeam = "<?= $sTeanm ?? '' ?>";
const date = new Date();
var table;
@@ -419,15 +412,6 @@ $usr_nm = session('usr_nm');
initReceiptDate();
// srchUser 데이터가 있으면 초기값 설정 (usr_id 파라미터)
if (srchUser) {
initSrchUser();
}
// bonbu, dept_sq 파라미터가 있으면 초기값 설정
else if (sBonbu || sTeam) {
initSrchParam();
}
$("#srcSido, #srcGugun, #srcSido2, #srcGugun2").on("change", function (e) {
const targetId = this.id;
@@ -685,7 +669,7 @@ $usr_nm = session('usr_nm');
if (!rowData) return;
const rcpt_atclno = rowData.rcpt_atclno;
window.open("<?= site_url('article/receipt/detail') ?>/" + rcpt_atclno, '_blank');
location.href = "<?= site_url('article/receipt/detail') ?>/" + rcpt_atclno;
});
@@ -726,79 +710,6 @@ $usr_nm = session('usr_nm');
}
// 검색 사용자 초기화 (usr_id 파라미터용)
function initSrchUser() {
if (!srchUser) return;
const pdept_sq = srchUser.pdept_sq;
const dept_sq = srchUser.dept_sq;
const usr_id = srchUser.usr_id;
// 1단계: 본부 선택
if (pdept_sq) {
$("#bonbu").val(pdept_sq);
// 2단계: 팀 목록 로드 및 선택
let teamStr = `<option value="">-팀-</option>`;
if (teamArr.length > 0) {
for (let i = 0; i < teamArr.length; i++) {
if (String(teamArr[i].pdept_sq) === String(pdept_sq)) {
const selected = String(teamArr[i].dept_sq) === String(dept_sq) ? 'selected' : '';
teamStr += `<option value="${teamArr[i].dept_sq}" ${selected}>${teamArr[i].dept_nm}</option>`;
}
}
}
$("#team").html(teamStr);
// 3단계: 담당자 목록 로드 및 선택
if (dept_sq) {
let damdangStr = `<option value="">-담당자-</option>`;
if (userArr.length > 0) {
for (let i = 0; i < userArr.length; i++) {
if (String(userArr[i].dept_sq) === String(dept_sq)) {
const selected = String(userArr[i].usr_id) === String(usr_id) ? 'selected' : '';
damdangStr += `<option value="${userArr[i].usr_id}" ${selected}>${userArr[i].usr_nm}</option>`;
}
}
}
$("#damdang").html(damdangStr);
}
}
}
// 검색 파라미터 초기화 (bonbu, dept_sq 파라미터용)
function initSrchParam() {
// 1단계: 본부 선택
if (sBonbu) {
$("#bonbu").val(sBonbu);
// 2단계: 팀 목록 로드 및 선택
let teamStr = `<option value="">-팀-</option>`;
if (teamArr.length > 0) {
for (let i = 0; i < teamArr.length; i++) {
if (String(teamArr[i].pdept_sq) === String(sBonbu)) {
const selected = String(teamArr[i].dept_sq) === String(sTeam) ? 'selected' : '';
teamStr += `<option value="${teamArr[i].dept_sq}" ${selected}>${teamArr[i].dept_nm}</option>`;
}
}
}
$("#team").html(teamStr);
// 3단계: 팀이 선택되어 있으면 담당자 목록 로드
if (sTeam) {
let damdangStr = `<option value="">-담당자-</option>`;
if (userArr.length > 0) {
for (let i = 0; i < userArr.length; i++) {
if (String(userArr[i].dept_sq) === String(sTeam)) {
damdangStr += `<option value="${userArr[i].usr_id}">${userArr[i].usr_nm}</option>`;
}
}
}
$("#damdang").html(damdangStr);
}
}
}
function atcl_no_enter(event) {
if (event.keyCode == 13) {
table.ajax.reload()

View File

@@ -520,7 +520,7 @@ $usr_nm = session('usr_nm');
if (!rowData) return;
const rcpt_key = rowData.rcpt_key;
window.open("<?= site_url('article/record/detail') ?>/" + rcpt_key, '_blank');
location.href = "<?= site_url('article/record/detail') ?>/" + rcpt_key;
});

View File

@@ -337,9 +337,7 @@
const row = table.row(this).data()
if (!row) return
location.href = '/article/receipt/lists?usr_id=' + row.usr_id;
location.href = '/article/receipt/lists';
});
// [검색] 버튼 눌렀을 때 다시 조회

View File

@@ -144,14 +144,13 @@
$nRow = 1;
foreach ($st_list as $row) {
$pars = [];
if ($row['depth'] == '1') {
$rowPars = array_merge($pars, array('bonbu' => $row['dept_sq']));
} else {
$rowPars = array_merge($pars, array('bonbu' => $row['pdept_sq'], 'dept_sq' => $row['dept_sq']));
}
// if ($row['depth'] == '1') {
// $rowPars = array_merge($pars, array('bonbu' => $row['dept_sq']));
// } else {
// $rowPars = array_merge($pars, array('bonbu' => $row['pdept_sq'], 'dept_sq' => $row['dept_sq']));
// }
echo '<tr onmouseover="this.className=\'highlight\'" onmouseout="this.className=\'normal\'" style="cursor:pointer" onclick="tr_onclick(\'' . make_query_string($rowPars) . '\');">';
echo '<tr onmouseover="this.className=\'highlight\'" onmouseout="this.className=\'normal\'" style="cursor:pointer" onclick="tr_onclick();">';
echo '<td>' . $nRow . '</td>';
echo '<td style="text-align:left">' . str_replace(' ', '&nbsp;', $row['dept_nm']) . '</td>';
echo '<td>' . $row['region_cnt'] . '</td>';
@@ -232,8 +231,8 @@
});
function tr_onclick(pars) {
location.href = '/article/receipt/lists' + pars;
function tr_onclick() {
location.href = '/article/receipt/lists';
}
// 엑셀 다운로드

View File

@@ -326,7 +326,7 @@
// myModal.show();
location.href = '/article/receipt/lists?usr_id=' + row.usr_id;
location.href = '/article/receipt/lists';
});

View File

@@ -554,7 +554,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m701/m701a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m701/m701a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -578,7 +578,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m702/m702a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m702/m702a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -532,7 +532,7 @@
if (!rowData) return;
const fax_sq = rowData.fax_sq;
window.open("<?= site_url('m703/m703a/detail') ?>/" + fax_sq, '_blank');
location.href = "<?= site_url('m703/m703a/detail') ?>/" + fax_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -530,7 +530,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m704/m704a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m704/m704a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -569,7 +569,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m705/m705a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m705/m705a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -481,7 +481,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m706/m706a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m706/m706a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -557,7 +557,7 @@
if (!rowData) return;
const fax_sq = rowData.fax_sq;
window.open("<?= site_url('m708/m708a/detail') ?>/" + fax_sq, '_blank');
location.href = "<?= site_url('m708/m708a/detail') ?>/" + fax_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -557,7 +557,7 @@
if (!rowData) return;
const fax_sq = rowData.fax_sq;
window.open("<?= site_url('m709/m709a/detail') ?>/" + fax_sq, '_blank');
location.href = "<?= site_url('m709/m709a/detail') ?>/" + fax_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -560,7 +560,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m701/m701a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m701/m701a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -551,7 +551,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m712/m712a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m712/m712a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {

View File

@@ -570,7 +570,7 @@
if (!rowData) return;
const vr_sq = rowData.vr_sq;
window.open("<?= site_url('m713/m713a/detail') ?>/" + vr_sq, '_blank');
location.href = "<?= site_url('m713/m713a/detail') ?>/" + vr_sq;
});
$('#btnSearch').on('click', function () {