From 9650707caf52c7793d99fb87dc315ff635e0f956 Mon Sep 17 00:00:00 2001 From: jjstyle Date: Tue, 10 Mar 2026 18:57:09 +0900 Subject: [PATCH] =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B3=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Commands/NaverWorker.php | 12 +- app/Controllers/Results/Assign.php | 13 +- app/Models/results/AssignModel.php | 70 +- app/Views/pages/article/dept/lists.php | 837 +++++------- app/Views/pages/article/dept/lists.php.backup | 1118 +++++++++++++++++ app/Views/pages/article/dept/lists2.php | 221 ++-- app/Views/pages/article/ground/lists.php | 63 +- app/Views/pages/article/receipt/lists2.php | 209 +-- app/Views/pages/article/record/lists.php | 228 ++-- app/Views/pages/results/assign/stats_a01.php | 360 +++--- .../pages/results/assign/stats_a01.php.backup | 534 ++++++++ 11 files changed, 2701 insertions(+), 964 deletions(-) create mode 100644 app/Views/pages/article/dept/lists.php.backup create mode 100644 app/Views/pages/results/assign/stats_a01.php.backup diff --git a/app/Commands/NaverWorker.php b/app/Commands/NaverWorker.php index bf3a72e..83604af 100644 --- a/app/Commands/NaverWorker.php +++ b/app/Commands/NaverWorker.php @@ -40,16 +40,20 @@ class NaverWorker extends BaseCommand while (true) { - // 1. DB 연결 상태 체크 (더 견고하게) + // 1. DB 연결 상태 체크 try { - // connID가 없거나, 가벼운 쿼리 실행 실패 시 재연결 시도 - if ($this->db->connID === false || !$this->db->simpleQuery('SELECT 1')) { + // 연결이 없으면 재연결 시도 + if ($this->db->connID === false) { $this->db->reconnect(); CLI::write(CLI::color('🔄 Database reconnected.', 'yellow')); } } catch (\Throwable $e) { // 어떤 이유로든 에러 발생 시 재연결 시도 - $this->db->reconnect(); + try { + $this->db->reconnect(); + } catch (\Throwable $reconnectError) { + CLI::write(CLI::color('❌ Database reconnect failed: ' . $reconnectError->getMessage(), 'red')); + } } $result = $redis->brPop(['naver:raw_queue'], 30); diff --git a/app/Controllers/Results/Assign.php b/app/Controllers/Results/Assign.php index 00dc81c..4430976 100644 --- a/app/Controllers/Results/Assign.php +++ b/app/Controllers/Results/Assign.php @@ -31,6 +31,7 @@ class Assign extends BaseController { $start = (int) $this->request->getGet('start') ?: 0; $end = (int) $this->request->getGet('length') ?: 10; + $draw = (int) $this->request->getGet('draw') ?: 1; $data = [ 'bonbu' => $this->request->getGet('bonbu'), @@ -42,12 +43,18 @@ class Assign extends BaseController 'srchTxt' => $this->request->getGet('srchTxt'), ]; - $totalCount = $this->assignModel->getTotalCount($data); - - $datas = $this->assignModel->getUserList($start, $end, $data); + + // 첫 번째 행에서 total_count 추출 (없으면 0) + $totalCount = !empty($datas) ? (int)$datas[0]['total_count'] : 0; + + // 각 행에서 total_count 컬럼 제거 + foreach ($datas as &$row) { + unset($row['total_count']); + } return $this->response->setJSON(body: [ + 'draw' => $draw, 'recordsTotal' => $totalCount, 'recordsFiltered' => $totalCount, 'data' => $datas, diff --git a/app/Models/results/AssignModel.php b/app/Models/results/AssignModel.php index 7bf6f43..7afda02 100644 --- a/app/Models/results/AssignModel.php +++ b/app/Models/results/AssignModel.php @@ -99,10 +99,11 @@ class AssignModel extends Model public function getTotalCount($data) { $sql = "SELECT - COUNT(*) AS cnt + COUNT(DISTINCT b.usr_sq) AS cnt FROM result a INNER JOIN users b ON b.usr_sq = a.usr_sq - + INNER JOIN receipt d ON d.rcpt_sq = a.rcpt_sq + INNER JOIN departments c ON c.dept_sq = a.dept_sq WHERE 1=1 "; @@ -138,13 +139,13 @@ class AssignModel extends Model if (!empty($data['srchTxt'])) { if ($data['srchType'] === "1") { - $sql .= "AND usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) "; + $sql .= "AND b.usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) "; } else if ($data['srchType'] === "2") { - $sql .= "AND usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) "; + $sql .= "AND b.usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) "; } else { $sql .= "AND ( - usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) - OR usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) + b.usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) + OR b.usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) ) "; } } @@ -157,26 +158,31 @@ class AssignModel extends Model public function getUserList($start, $end, $data) { $sql = "SELECT - b.usr_nm, b.usr_id, b.usr_sq - , SUM(CASE WHEN a.rsrv_tm_hour IN ('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24') THEN 1 ELSE 0 END) TODAY - , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '09' THEN 1 ELSE 0 END) AM09 - , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '10' THEN 1 ELSE 0 END) AM10 - , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '11' THEN 1 ELSE 0 END) AM11 - , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '12' THEN 1 ELSE 0 END) AM12 - , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour IN ('00','01','02','03','04','05','06','07','08') THEN 1 ELSE 0 END) AMETC - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('01', '13') THEN 1 ELSE 0 END) PM01 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('02', '14') THEN 1 ELSE 0 END) PM02 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('03', '15') THEN 1 ELSE 0 END) PM03 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('04', '16') THEN 1 ELSE 0 END) PM04 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('05', '17') THEN 1 ELSE 0 END) PM05 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('06', '18') THEN 1 ELSE 0 END) PM06 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('07', '19') THEN 1 ELSE 0 END) PM07 - , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('00','08','09','10','11','12','20','21','22','23','24') THEN 1 ELSE 0 END) PMETC - FROM result a - INNER JOIN users b ON b.usr_sq = a.usr_sq - + sub.*, + COUNT(*) OVER() as total_count + FROM ( + SELECT + b.usr_nm, b.usr_id, b.usr_sq + , SUM(CASE WHEN a.rsrv_tm_hour IN ('00','01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24') THEN 1 ELSE 0 END) TODAY + , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '09' THEN 1 ELSE 0 END) AM09 + , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '10' THEN 1 ELSE 0 END) AM10 + , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '11' THEN 1 ELSE 0 END) AM11 + , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour = '12' THEN 1 ELSE 0 END) AM12 + , SUM(CASE WHEN a.rsrv_tm_ap = 'AM' AND a.rsrv_tm_hour IN ('00','01','02','03','04','05','06','07','08') THEN 1 ELSE 0 END) AMETC + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('01', '13') THEN 1 ELSE 0 END) PM01 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('02', '14') THEN 1 ELSE 0 END) PM02 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('03', '15') THEN 1 ELSE 0 END) PM03 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('04', '16') THEN 1 ELSE 0 END) PM04 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('05', '17') THEN 1 ELSE 0 END) PM05 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('06', '18') THEN 1 ELSE 0 END) PM06 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('07', '19') THEN 1 ELSE 0 END) PM07 + , SUM(CASE WHEN a.rsrv_tm_ap = 'PM' AND a.rsrv_tm_hour IN ('00','08','09','10','11','12','20','21','22','23','24') THEN 1 ELSE 0 END) PMETC + FROM result a + INNER JOIN users b ON b.usr_sq = a.usr_sq + INNER JOIN receipt d ON d.rcpt_sq = a.rcpt_sq + INNER JOIN departments c ON c.dept_sq = a.dept_sq - WHERE 1=1 "; + WHERE 1=1 "; if (!empty($data['bonbu'])) { $sql .= "AND c.pdept_sq = {$data['bonbu']} "; @@ -210,20 +216,20 @@ class AssignModel extends Model if (!empty($data['srchTxt'])) { if ($data['srchType'] === "1") { - $sql .= "AND usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) "; + $sql .= "AND b.usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) "; } else if ($data['srchType'] === "2") { - $sql .= "AND usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) "; + $sql .= "AND b.usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) "; } else { $sql .= "AND ( - usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) - OR usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) + b.usr_id like CONCAT('%', '{$data['srchTxt']}', '%' ) + OR b.usr_nm like CONCAT('%', '{$data['srchTxt']}', '%' ) ) "; } } - $sql .= "GROUP BY b.usr_id, b.usr_nm "; - - $sql .= "LIMIT {$start}, {$end}"; + $sql .= "GROUP BY b.usr_id, b.usr_nm + ) sub + LIMIT {$start}, {$end}"; $query = $this->db->query($sql); diff --git a/app/Views/pages/article/dept/lists.php b/app/Views/pages/article/dept/lists.php index d8cf303..725f41f 100644 --- a/app/Views/pages/article/dept/lists.php +++ b/app/Views/pages/article/dept/lists.php @@ -7,434 +7,370 @@ $usr_nm = session('usr_nm'); extend('layouts/main') ?> section('content') ?> + -

조직별 배정 현황

-
-
-
- -
-
-
- - - - -
-
- -
- - -
- - -
- - -
- -
-
- -
-
- -
-
- -
+
+
+
+
+

조직별 배정 현황

+
+
+
+
+ + +
+
+ +
-
- -
- -
- - ~ - +
+ +
+ + + ~ + +
-
- -
- -
- - - ~ - +
+ +
+ + + +
-
- -
- -
-
- -
-
- -
-
- -
+
+ +
+ + + +
-
-
- - + + + + +
+
+ +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ +
+
+ + +
+ + + +
+ + +
+ + +
+
+ +
+ + +
+
+ + + +
+
+ +
+
+
+
검색 결과
+
+ + -
-
- - + -
-
- - + -
- -
- - -
- - -
- - -
- - -
- -
-
- - -
- - - -
- - -
- - -
-
- -
- -
-
-
-
- + + + +
+
-
-
-
-
-
-
- - +
+
+
+ - - - - + + + + + + + + + + + + + + - - -
- - 관할본부방문담당배정건수 + + 진행상태매물ID접수(등록)일시중개사주소연락처예약일자매물종류관할조직방문담당평면도유무평면도요청면적확인
-
-
- - -
+ + + + +
-
-
-
-
- - - - - - - - -
지역구분요청건수
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - -
- -
- - - -
-
-
-
- - - - - - - - - - - - - - - - - - - -
- - 진행상태매물ID접수(등록)일시중개사주소연락처예약일자매물종류관할조직방문담당평면도유무평면도요청면적확인
-
-
- -
-
- -section('modals') ?> - -endSection() ?> - @@ -622,61 +558,6 @@ $usr_nm = session('usr_nm'); d.start = d.start || 0 d.length = d.length || 10 - }, - dataSrc: function (d) { - const deptList = d.widgets?.deptList; - const areaStats = d.widgets?.areaStats ?? []; - - if (deptList.length > 0) { - var str = ""; - - for (var i = 0; i < deptList.length; i++) { - str += ` - - - ${deptList[i].bonbu_nm} - ${deptList[i].team_nm} - ${deptList[i].cnt} 건 - - `; - } - - $("#deptArea").html(str); - } else { - str = ` - - 조회 가능한 데이터가 없습니다. - - `; - - $("#deptArea").html(str); - } - - - if (areaStats.length > 0) { - var str = ""; - - for (var i = 0; i < areaStats.length; i++) { - str += ` - - ${areaStats[i].rcpt_dong} - ${areaStats[i].cnt} 건 - - `; - } - - $("#statsArea").html(str); - } else { - str = ` - - 조회 가능한 데이터가 없습니다. - - `; - - $("#statsArea").html(str); - } - - return d.data; } }, columnDefs: [ @@ -700,7 +581,7 @@ $usr_nm = session('usr_nm'); { data: 'exp_spc_yn' }, ], // 옵션들 예시 - pdestroy: true, + destroy: true, deferRender: true, scrollX: false, autoWidth: false, @@ -737,18 +618,6 @@ $usr_nm = session('usr_nm'); $('#chkAll').prop('checked', total > 0 && total === checkedCnt); }); - // 전체 선택 - $(document).on('change', '#depChkAll', function () { - $('.depChk').prop('checked', this.checked); - }); - - // 개별 체크 시 전체 체크 동기화 - $(document).on('change', '.depChk', function () { - const total = $('.depChk').length; - const checked = $('.depChk:checked').length; - $('#depChkAll').prop('checked', total === checked); - }); - table.on('draw', function () { $('#chkAll').prop('checked', false); }); @@ -815,6 +684,15 @@ $usr_nm = session('usr_nm'); } + function hscp_no_enter(event) { + if (event.keyCode == 13) { + table.ajax.reload() + } + } + + function progressStatAll(el, checked) { + $('input[name="stat[]"]').prop('checked', checked); + } /** datatable render */ function fn_chk_render(data, type, row, meta) { @@ -890,56 +768,9 @@ $usr_nm = session('usr_nm'); /** datatable render */ - // 인쇄하기 - function printMap() { - - var data = $('input[name="depChk[]"]').serialize(); - var usr_id = $('input[name="usr_id"]').serialize(); - - if (data == '') { - alert('팀을 선택해주세요'); - return; - } - - var url = '/article/dept/print?' + data; - window.open(url, '', ''); - } - - function deptMap() { - const data = $('input[name="depChk[]"]:checked').serialize(); - - if (!data) { - alert('팀을 선택해주세요'); - return; - } - - const url = '/article/dept/print?' + data; - - $('#dialog-deptmap-content').html( - `` - ); - - const modal = new bootstrap.Modal(document.getElementById('deptMapModal')); - modal.show(); - } - // 엑셀 다운로드 function downloadExcel(data) { const ws = XLSX.utils.json_to_sheet(data); - // ws['!cols'] = [ - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 150 }, - // { wpx: 120 }, - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 100 }, - // { wpx: 100 }, - // ]; const wb = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); @@ -1047,7 +878,7 @@ $usr_nm = session('usr_nm'); var arr = new Array(); const bonbu = $("#bonbu2").val(); const team = $("#team2").val(); - const user = $("#user2").val(); + const user = $("#damdang2").val(); $('#resultList tbody .row-chk:checked').each(function () { const rowData = table.row($(this).closest('tr')).data(); @@ -1088,14 +919,12 @@ $usr_nm = session('usr_nm'); return; } - swal.fire({ + Swal.fire({ text: "배정을 변경하시겠습니까?", - type: "warning", + icon: "warning", showCancelButton: true, confirmButtonText: "예", cancelButtonText: "아니오", - closeOnConfirm: false, - closeOnCancel: true, confirmButtonColor: "#3085d6", cancelButtonColor: "#d33", }).then((result) => { @@ -1155,4 +984,4 @@ $usr_nm = session('usr_nm'); } -endSection() ?> \ No newline at end of file +endSection() ?> diff --git a/app/Views/pages/article/dept/lists.php.backup b/app/Views/pages/article/dept/lists.php.backup new file mode 100644 index 0000000..412b419 --- /dev/null +++ b/app/Views/pages/article/dept/lists.php.backup @@ -0,0 +1,1118 @@ + +extend('layouts/main') ?> + +section('content') ?> + + + +
+
+
+
+
+

조직별 배정 현황

+
+
+
+
+
+ +
+
+ + +
+ +
+ +
+ + + ~ + +
+
+ +
+ +
+ + + +
+
+ +
+ +
+ + + +
+
+ +
+ + +
+
+ +
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + +
+ + +
+ +
+ +
+
+ + +
+ + + +
+ + +
+ + +
+
+ +
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + +
+ + 진행상태매물ID접수(등록)일시중개사주소연락처예약일자매물종류관할조직방문담당평면도유무평면도요청면적확인
+
+
+ +
+
+ +section('modals') ?> + +endSection() ?> + + + + + +endSection() ?> \ No newline at end of file diff --git a/app/Views/pages/article/dept/lists2.php b/app/Views/pages/article/dept/lists2.php index 0a7447d..e26979c 100644 --- a/app/Views/pages/article/dept/lists2.php +++ b/app/Views/pages/article/dept/lists2.php @@ -8,111 +8,160 @@ $usr_nm = session('usr_nm'); section('content') ?> -

현장확인V2 조직별 배정 현황

-
-
-
- -
-
+
+
+
+
+

현장확인V2 조직별 배정 현황

+
+
+
+
+ +
+
diff --git a/app/Views/pages/article/ground/lists.php b/app/Views/pages/article/ground/lists.php index 948e7db..2087de3 100644 --- a/app/Views/pages/article/ground/lists.php +++ b/app/Views/pages/article/ground/lists.php @@ -14,6 +14,12 @@ $usr_nm = session('usr_nm'); text-align: center; } + /* 테이블 헤더 좌우 여백 조정 */ + #resultList thead th { + padding-left: 4px !important; + padding-right: 4px !important; + } + td { text-align: center; } @@ -66,19 +72,47 @@ $usr_nm = session('usr_nm'); overflow-x: auto !important; } - /* 테이블 폭: 내용 기준으로 커지되, 최소는 100% */ + /* 테이블 폭: 내용에 따라 자동 조정, 스크롤 필요시 표시 */ .table-responsive #resultList { - width: max-content !important; - min-width: 100% !important; + width: 100% !important; table-layout: auto !important; } - /* 줄바꿈 금지 */ + /* 줄바꿈 허용 - 공백 기준으로 줄바꿈 */ #resultList th, #resultList td { - white-space: nowrap; + white-space: normal !important; + word-wrap: break-word; } + /* tw-* 클래스가 DataTable의 inline 스타일보다 우선순위 높이기 */ + #resultList th.tw-30, + #resultList td.tw-30 { width: 30px !important; max-width: 30px !important; min-width: 30px !important; } + #resultList th.tw-50, + #resultList td.tw-50 { width: 50px !important; max-width: 50px !important; min-width: 50px !important; } + #resultList th.tw-70, + #resultList td.tw-70 { width: 70px !important; max-width: 70px !important; min-width: 70px !important; } + #resultList th.tw-80, + #resultList td.tw-80 { width: 80px !important; max-width: 80px !important; min-width: 80px !important; } + #resultList th.tw-90, + #resultList td.tw-90 { width: 90px !important; max-width: 90px !important; min-width: 90px !important; } + #resultList th.tw-100, + #resultList td.tw-100 { width: 100px !important; max-width: 100px !important; min-width: 100px !important; } + #resultList th.tw-120, + #resultList td.tw-120 { width: 120px !important; max-width: 120px !important; min-width: 120px !important; } + #resultList th.tw-130, + #resultList td.tw-130 { width: 130px !important; max-width: 130px !important; min-width: 130px !important; } + #resultList th.tw-140, + #resultList td.tw-140 { width: 140px !important; max-width: 140px !important; min-width: 140px !important; } + #resultList th.tw-150, + #resultList td.tw-150 { width: 150px !important; max-width: 150px !important; min-width: 150px !important; } + #resultList th.tw-180, + #resultList td.tw-180 { width: 180px !important; max-width: 180px !important; min-width: 180px !important; } + #resultList th.tw-200, + #resultList td.tw-200 { width: 200px !important; max-width: 200px !important; min-width: 200px !important; } + #resultList th.tw-250, + #resultList td.tw-250 { width: 250px !important; max-width: 250px !important; min-width: 250px !important; } + /* PC에서 가로 스크롤이 잘리는 대표 구간들 강제 해제 */ .main-card, .card, @@ -101,12 +135,27 @@ $usr_nm = session('usr_nm'); .card-body { min-width: 0; } - -

평면도 관리

+ /* 검색 영역 행마다 구분선 추가 */ + #frm_srch_info .row.g-3 { + padding: 12px 0; + border-bottom: 1px solid #e9ecef; + } + + #frm_srch_info .row.g-3:last-child { + border-bottom: none; + } +
+
+
+
+

평면도 관리

+
+
+
diff --git a/app/Views/pages/article/receipt/lists2.php b/app/Views/pages/article/receipt/lists2.php index d4d46a4..9079bbe 100644 --- a/app/Views/pages/article/receipt/lists2.php +++ b/app/Views/pages/article/receipt/lists2.php @@ -9,105 +9,154 @@ $usr_nm = session('usr_nm'); section('content') ?> -

현장확인V2 매물 접수 현황

-
-
-
+
+
+
+
+

현장확인V2 매물 접수 현황

+
+
+
+
diff --git a/app/Views/pages/article/record/lists.php b/app/Views/pages/article/record/lists.php index 8867451..8eac0b6 100644 --- a/app/Views/pages/article/record/lists.php +++ b/app/Views/pages/article/record/lists.php @@ -9,105 +9,154 @@ $usr_nm = session('usr_nm'); section('content') ?> -

녹취매물 내역

-
-
-
+
+
+
+
+

녹취매물 내역

+
+
+
+
@@ -227,16 +276,15 @@ $usr_nm = session('usr_nm');
-
-
- -
- -
- +
+
+
검색 결과
+
+ +
diff --git a/app/Views/pages/results/assign/stats_a01.php b/app/Views/pages/results/assign/stats_a01.php index 7f68e5b..681fc0d 100644 --- a/app/Views/pages/results/assign/stats_a01.php +++ b/app/Views/pages/results/assign/stats_a01.php @@ -4,6 +4,17 @@ -

현장확인인원별배정현황

- -
-
-
-
- - - -
- -
- -
-
- -
-
- -
-
-
- - -
- - -
- - -
- -
-
- -
-
~
-
- -
-
-
- - -
- -
-
- -
-
- -
-
- -
-
-
-
- - -
- -
- - -
- - -
- - -
- - -
- -
-
- - - +
+
+
+
+
+

현장확인인원별배정현황

+
+
+
+ + +
+ +
+ +
+
+ +
+
+ +
+
+
+ + +
+ + +
+ + +
+ +
+
+ +
+
~
+
+ +
+
+
+ + +
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + +
+ +
+
+ +
+ +
+
- -
-
-
-

사용자 목록

-
-
-
- - - - - - - - - - - - - - - - + +
+
순번아이디이름오전오후합계
무관9101112
+ + + + + + + + + + + + + + + - - - - - - - - - - - - -
순번아이디이름오전오후합계
무관9101112무관1234567
-
+ 무관 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + + + + +
@@ -269,7 +317,8 @@ let table = $('#userList').DataTable({ language: lang_kor, processing: true, - serverSide: false, + serverSide: true, + pageLength: 25, ajax: { url: '/results/assign/getUserList', type: 'GET', @@ -291,20 +340,17 @@ d.srchType = $("#frm_srch_info [name=srchType]").val() d.srchTxt = $("#frm_srch_info [name=srchTxt]").val() - - d.start = d.start || 0 - d.length = d.length || 10 } }, - "columnDefs": [ - { 'targets': '_all', "defaultContent": "" }, - { 'className': 'text-center', 'targets': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] }, + columnDefs: [ + { targets: '_all', defaultContent: "" }, + { className: 'text-center', targets: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16] }, ], columns: [ { - "data": null, - "width": "50px", - "render": function (data, type, row, meta) { + data: null, + width: "50px", + render: function (data, type, row, meta) { return meta.row + meta.settings._iDisplayStart + 1; } }, @@ -325,11 +371,9 @@ { data: 'PM07' }, { data: 'TODAY' }, ], - // 옵션들 예시 paging: true, searching: false, ordering: false, - serverSide: true, }); @@ -531,4 +575,4 @@ }); -endSection() ?> \ No newline at end of file +endSection() ?> diff --git a/app/Views/pages/results/assign/stats_a01.php.backup b/app/Views/pages/results/assign/stats_a01.php.backup new file mode 100644 index 0000000..7f68e5b --- /dev/null +++ b/app/Views/pages/results/assign/stats_a01.php.backup @@ -0,0 +1,534 @@ +extend('layouts/main') ?> + +section('content') ?> + + +

현장확인인원별배정현황

+ +
+
+
+
+
+ + +
+ +
+ +
+
+ +
+
+ +
+
+
+ + +
+ + +
+ + +
+ +
+
+ +
+
~
+
+ +
+
+
+ + +
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ +
+ + +
+ + +
+ + +
+ + +
+ +
+
+ +
+ +
+
+
+ + +
+
+
+

사용자 목록

+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
순번아이디이름오전오후합계
무관9101112무관1234567
+
+
+
+
+ + + + + + +endSection() ?> \ No newline at end of file