최정임 최정임 03-21
250321 최정임 메인 게시글없는경우 추가
@1b9a87819e3f0d9ba78e0992b10e8914c011b7ee
client/resources/css/user/sub.css
--- client/resources/css/user/sub.css
+++ client/resources/css/user/sub.css
@@ -94,6 +94,20 @@
     }
 }
 
+
+.btn-group {
+    gap: 10px;
+    button.cancel{
+        width: 130px;
+        background-color: #f9f9f9;
+        border: 1px solid #636364;
+    }
+    button.register{
+        width: 130px;
+        background-color: #ce3e48;
+        color: #fff;
+    }
+}
 form {
     margin: 0 auto;
     border: 1px solid #dddddd;
@@ -232,9 +246,7 @@
     }
 }
 
-.btn-group {
-    gap: 10px;
-}
+
 
 /* 통합검색 */
 .search-form {
@@ -594,4 +606,48 @@
 
         }
     }
-}
(파일 끝에 줄바꿈 문자 없음)
+}
+
+
+/* 모달 */
+/* 모달 배경 스타일 */
+.modal-overlay {
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.5); /* 배경 어두운 투명도 */
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    z-index: 9999;
+  }
+  
+  /* 모달 콘텐츠 스타일 */
+  .modal-content {
+    background-color: #fff;
+    padding: 20px;
+    border-radius: 8px;
+    max-width: 400px;
+    width: 100%;
+    text-align: center;
+    h2{
+        
+    }
+      /* 닫기 버튼 스타일 */
+  button {
+    padding: 10px;
+    margin-top: 10px;
+    background-color: #007bff;
+    color: white;
+    border: none;
+    border-radius: 5px;
+    cursor: pointer;
+  }
+  
+  button:hover {
+    background-color: #0056b3;
+  }
+  }
+  
 
client/resources/images/no_bodo.png (Binary) (added)
+++ client/resources/images/no_bodo.png
Binary file is not shown
 
client/resources/images/no_img.png (Binary) (added)
+++ client/resources/images/no_img.png
Binary file is not shown
 
client/resources/images/no_media.png (Binary) (added)
+++ client/resources/images/no_media.png
Binary file is not shown
client/views/pages/main/Main.vue
--- client/views/pages/main/Main.vue
+++ client/views/pages/main/Main.vue
@@ -76,6 +76,33 @@
                 </div>
               </div>
             </div>
+            <!-- 게시물이 없는 경우 -->
+            <div class="new-pic">
+              <div class="box-wrap">
+                <div class="box">
+                  <img :src="noimg" class="tab-image" />
+                  <div class="info">
+                    <p>등록된 게시물이 없습니다.</p>
+                  </div>
+                </div>
+              </div>
+              <div class="box-wrap">
+                <div class="box">
+                  <img :src="noimg" class="tab-image" />
+                  <div class="info">
+                    <p>등록된 게시물이 없습니다.</p>
+                  </div>
+                </div>
+              </div>
+              <div class="box-wrap">
+                <div class="box">
+                  <img :src="noimg" class="tab-image" />
+                  <div class="info">
+                    <p>등록된 게시물이 없습니다.</p>
+                  </div>
+                </div>
+              </div>
+            </div>
           </div>
         </template>
       </div>
@@ -96,16 +123,37 @@
           </div>
         </div>
       </div>
+      <!-- 게시글이 없는 경우 -->
+      <div class="media-wrap">
+        <div  class="media-box">
+          <img :src="nomedia" :alt="mediaContent.title" class="media-image" />
+          <div class="info">
+            <p>등록된 게시글이 없습니다.</p>
+          </div>
+        </div>
+        <div  class="media-box">
+          <img :src="nomedia" :alt="mediaContent.title" class="media-image" />
+          <div class="info">
+            <p>등록된 게시글이 없습니다.</p>
+          </div>
+        </div>
+      </div>
     </div>
     <div class="new-bodo">
       <div class="title mb-30">
-        <h4>신규 미디어 영상</h4>
+        <h4>신규 보도 자료</h4>
         <router-link :to="{ path: '/' }" class="gopage">더보기</router-link>
       </div>
       <ul>
         <li v-for="(bodoContent, index) in bodoContent" :key="index" class="info">
           <p>{{ bodoContent.content }}</p>
           <span>{{ bodoContent.date }}</span>
+        </li>
+      </ul>
+      <!-- 게시글이 없는 경우 -->
+      <ul>
+        <li  class="info">
+          <img :src="nobodo" alt="">
         </li>
       </ul>
     </div>
@@ -147,6 +195,9 @@
   },
   data() {
     return {
+      noimg: "client/resources/images/no_img.png",
+      nomedia: "client/resources/images/no_media.png",
+      nobodo: "client/resources/images/no_bodo.png",
       selectedTab: "newPhoto", // Set initial tab index to 신규사진기록물 (first tab)
       tabs: [
         {
client/views/pages/user/PicHistoryInsert.vue
--- client/views/pages/user/PicHistoryInsert.vue
+++ client/views/pages/user/PicHistoryInsert.vue
@@ -16,7 +16,7 @@
             <dl>
                 <dd>
                     <label for="id" class="require">제목</label>
-                    <div class="wfull"><input type="text" id="id" value="" placeholder="제목을 입력하세요." ></div>
+                    <div class="wfull"><input type="text" id="id" value="" placeholder="제목을 입력하세요."></div>
                 </dd>
                 <div class="hr"></div>
                 <dd>
@@ -27,7 +27,7 @@
                 <div class="hr"></div>
                 <dd>
                     <label for="address">주소</label>
-                    <div class="wfull"><input type="text" id="address" value="" placeholder="주소를 입력하세요" ></div>
+                    <div class="wfull"><input type="text" id="address" value="" placeholder="주소를 입력하세요"></div>
 
                 </dd>
                 <div class="hr"></div>
@@ -39,7 +39,7 @@
                 <div class="hr"></div>
                 <dd>
                     <label for="category" class="flex align-center">
-                        <p>카테고리</p><button class="category-add">추가하기</button>
+                        <p>카테고리</p><button type="button" class="category-add" @click="openModal">추가하기</button>
                     </label>
                     <ul class="category">
                         <li class="category1">카테고리1 <button class="cancel"><b>✕</b></button></li>
@@ -73,7 +73,7 @@
                                         <img :src="file.icon" alt="fileicon">
                                         <p>{{ file.name }}</p>
                                     </div>
-                                    <button class="cancel" @click="removeFile(index)"><b>✕</b></button>
+                                    <button type="button" class="cancel" @click="removeFile(index)"><b>✕</b></button>
                                 </div>
                             </div>
                         </li>
@@ -85,8 +85,15 @@
         </form>
 
         <div class="btn-group flex-center">
-            <button class="signout">회원탈퇴</button>
-            <button class="update">수정</button>
+            <button class="cancel">취소</button>
+            <button class="register">등록</button>
+        </div>
+    </div>
+    <div v-if="isModalOpen" class="modal-overlay" @click="closeModal">
+        <div class="modal-content" @click.stop>
+            <h2>모달 제목</h2>
+            <p>모달의 내용이 여기에 들어갑니다.</p>
+            <button @click="closeModal">닫기</button>
         </div>
     </div>
 </template>
@@ -95,6 +102,7 @@
 export default {
     data() {
         return {
+            isModalOpen: false,
             // Define the image sources
             homeicon: 'client/resources/images/icon/home.png',
             erroricon: 'client/resources/images/icon/error.png',
@@ -136,6 +144,14 @@
         removeFile(index) {
             // Remove file from the list
             this.fileNames.splice(index, 1);
+            console.log(removeFile)
+        },
+        openModal() {
+            this.isModalOpen = true;
+        },
+        // 모달 닫기
+        closeModal() {
+            this.isModalOpen = false;
         }
     }
 };
Add a comment
List