Эх сурвалжийг харах

[지역관리] 지역별 낚시어선 / 낚시터 전체보기 페이지 완료

DESKTOP-T61HUSC\user 2 долоо хоног өмнө
parent
commit
96470dab8b

+ 11 - 4
app/pages/site-manager/area/places/[id].vue

@@ -13,19 +13,21 @@
         <thead>
           <tr>
             <th style="width: 80px;">번호</th>
-            <th style="width: 180px;">구분</th>
+            <th style="width: 140px;">구분</th>
+            <th style="width: 180px;">분야</th>
             <th>이름</th>
             <th>주소</th>
-            <th>상태</th>
+            <th style="width: 100px;">제휴업체</th>
+            <th style="width: 100px;">상태</th>
             <th style="width: 120px;">등록일</th>
           </tr>
         </thead>
         <tbody>
           <tr v-if="isLoading">
-            <td colspan="6" class="admin--table-loading">데이터를 불러오는 중...</td>
+            <td colspan="8" class="admin--table-loading">데이터를 불러오는 중...</td>
           </tr>
           <tr v-else-if="!places || places.length === 0">
-            <td colspan="6" class="admin--table-empty">해당 지역에 등록된 낚시어선/낚시터가 없습니다.</td>
+            <td colspan="8" class="admin--table-empty">해당 지역에 등록된 낚시어선/낚시터가 없습니다.</td>
           </tr>
           <tr
             v-else
@@ -40,8 +42,13 @@
                 {{ p.place_type === "onboard" ? "낚시어선" : "낚시터" }}
               </span>
             </td>
+            <td>{{ p.field_name || "-" }}</td>
             <td class="admin--table-title">{{ p.name }}</td>
             <td>{{ p.address || "-" }}</td>
+            <td>
+              <span v-if="p.partnership_YN === 'Y'" class="admin--badge admin--badge-active">제휴</span>
+              <span v-else>-</span>
+            </td>
             <td>
               <span :class="['admin--badge', p.status_YN === 'Y' ? 'admin--badge-active' : 'admin--badge-ended']">
                 {{ p.status_YN === "Y" ? "사용중" : "미사용" }}

+ 10 - 4
backend/app/Controllers/Api/FishingAreaController.php

@@ -327,11 +327,17 @@ class FishingAreaController extends BaseApiController
                 $totalPages = (int) ceil($total / $perPage);
             }
 
-            $sql = "(SELECT id, 'onboard' AS place_type, name, address, status_YN, created_at
-                     FROM onboard WHERE area_id = ? AND deleted_YN = 'N')
+            $sql = "(SELECT o.id, 'onboard' AS place_type, o.name, o.address, o.status_YN,
+                            o.partnership_YN, ff.name AS field_name, o.created_at
+                     FROM onboard o
+                     LEFT JOIN fishing_field ff ON ff.id = o.field_id AND ff.deleted_YN = 'N'
+                     WHERE o.area_id = ? AND o.deleted_YN = 'N')
                     UNION ALL
-                    (SELECT id, 'fishing' AS place_type, name, address, status_YN, created_at
-                     FROM fishing WHERE area_id = ? AND deleted_YN = 'N')
+                    (SELECT fi.id, 'fishing' AS place_type, fi.name, fi.address, fi.status_YN,
+                            fi.partnership_YN, ff2.name AS field_name, fi.created_at
+                     FROM fishing fi
+                     LEFT JOIN fishing_field ff2 ON ff2.id = fi.field_id AND ff2.deleted_YN = 'N'
+                     WHERE fi.area_id = ? AND fi.deleted_YN = 'N')
                     ORDER BY created_at DESC
                     {$tail}";
             $items = $db->query($sql, [$areaId, $areaId])->getResult();