yjryu / KERIS star
김하영 김하영 2023-12-07
231207김하영 기술문서 카테고리
@3bc623b0e4cb213b6db83f30b3443722c57d3d06
client/resources/css/Main.css
--- client/resources/css/Main.css
+++ client/resources/css/Main.css
@@ -1543,12 +1543,18 @@
 
   color: #848484;
 }
-.tech-search-box {
+/* .tech-search-box{
+  padding: 3rem 0;
+} */
+.tech-box-category{
+  width: 100%;
   display: grid;
-  /* border: 1px solid red; */
-
-  justify-content: end;
-  grid-template-columns: 30%;
+  padding: 3rem 0;
+  grid-template-columns: 1fr 30%;
+  justify-content: space-between;
+}
+.tech-category{
+  padding: 1rem 0;
 }
 
 /* --------------------------------------------------------------------------- */
client/resources/css/responsive.css
--- client/resources/css/responsive.css
+++ client/resources/css/responsive.css
@@ -273,6 +273,18 @@
   .tech-box-sec-h3 h3 {
     font-size: 1.5rem;
   }
+  .tech-category .category-bar {
+    flex-direction: row;
+    flex-wrap: wrap;
+    margin: 0 auto;
+    justify-content: center;
+  }
+  .tech-category .category-bar div{
+    padding: 1.5rem 0;
+  }
+  .tech-box-category{
+    grid-template-columns: 1fr;
+  }
 
   /* 자료집 */
   .data-banner {
client/views/pages/user/Data/Technology.vue
--- client/views/pages/user/Data/Technology.vue
+++ client/views/pages/user/Data/Technology.vue
@@ -6,95 +6,131 @@
                     <img src="../../../../resources/jpg/tech-logo.png" alt="">
                     <h1>기술문서</h1>
                 </div>
-                <div class="tech-search-box">
+                <div class="tech-box-category">
 
-                    <div class="data-wrap-search">
-                        <select v-model="postListSearch.searchType" name="data-table-sild" id="data-table-sild"
-                            class="data-table-search">
-                            <option v-for="(item, idx) in option" :key="idx" :value=item.value>
-                                {{ item.name }}
-                            </option>
-                        </select>
-                        <div class="input-group">
-                            <input type="text" class="input" placeholder="검색어를 입력해주세요." v-model="postListSearch.searchText"
-                                @keyup.enter="postSelectList()">
-                            <input class="button--submit data-button-sum" value="검색" type="submit"
-                                @click="postSelectList()">
+
+                    <div class="tech-category">
+                        <div class="category-bar flex-start">
+                            <div>
+                                <input type="radio" name="category" id="all" :value=null style="display:none" checked
+                                    @click="ctgry($event)">
+                                <label for="all" class="category">전체</label>
+                            </div>
+                            <div>
+                                <input type="radio" name="category" id="policy" value="api" style="display:none"
+                                    @click="ctgry($event)">
+                                <label for="policy" class="category">API</label>
+                            </div>
+                            <div>
+                                <input type="radio" name="category" id="research" value="tech" style="display:none"
+                                    @click="ctgry($event)">
+                                <label for="research" class="category">기술리포트</label>
+                            </div>
+                            <div>
+                                <input type="radio" name="category" id="guide" value="standard" style="display:none"
+                                    @click="ctgry($event)">
+                                <label for="guide" class="category">기술규격문서</label>
+                            </div>
+                            <div>
+                                <input type="radio" name="category" id="service" value="service" style="display:none"
+                                    @click="ctgry($event)">
+                                <label for="service" class="category">서비스</label>
+                            </div>
+                        </div>
+
+                    </div>
+
+
+                    <div class="tech-search-box">
+
+                        <div class="data-wrap-search">
+                            <select v-model="postListSearch.searchType" name="data-table-sild" id="data-table-sild"
+                                class="data-table-search">
+                                <option v-for="(item, idx) in option" :key="idx" :value=item.value>
+                                    {{ item.name }}
+                                </option>
+                            </select>
+                            <div class="input-group">
+                                <input type="text" class="input" placeholder="검색어를 입력해주세요."
+                                    v-model="postListSearch.searchText" @keyup.enter="postSelectList()">
+                                <input class="button--submit data-button-sum" value="검색" type="submit"
+                                    @click="postSelectList()">
+                            </div>
                         </div>
                     </div>
-                    <!-- 최신순 조회순 -->
-                    <div class="sort-wrap">
-                        <ul class="flex-end">
-                            <li v-for="(item, index) in sorts" :key="index" :class="{ active: activeIndex === index }"
-                                @click="changeColor(index)">
-                                {{ item.name }}
-                            </li>
-                        </ul>
-                    </div>
                 </div>
-                <ul class="tech-bos">
-                    <li class="tech-box-sec" v-for="(item, idx) in postList" :key="idx">
+                <!-- 최신순 조회순 -->
+                <div class="sort-wrap">
+                    <ul class="flex-end">
+                        <li v-for="(item, index) in sorts" :key="index" :class="{ active: activeIndex === index }"
+                            @click="changeColor(index)">
+                            {{ item.name }}
+                        </li>
+                    </ul>
+                </div>
+            </div>
+            <ul class="tech-bos">
+                <li class="tech-box-sec" v-for="(item, idx) in postList" :key="idx">
+                    <div class="tech-box-sec-h3">
+                        <h3>{{ item.post_title }}</h3>
+                    </div>
+                    <div v-if="item.ctgry_nm === 'api'">
+                        <img src="../../../../resources/jpg/api.png" alt="">
+                    </div>
+                    <div v-if="item.ctgry_nm === 'standard'">
+                        <img src="../../../../resources/jpg/techdocument.png" alt="">
+                    </div>
+                    <div v-if="item.ctgry_nm === 'tech'">
+                        <img src="../../../../resources/jpg/tech.png" alt="">
+                    </div>
+                    <div v-if="item.ctgry_nm === 'service'">
+                        <img src="../../../../resources/jpg/service.png" alt="">
+                    </div>
+                    <div>
+                        <p class="keyword-zone" v-if="item.tech_doc_keyword">
+                            <span v-for="(keyword, keywordIndex) in item.tech_doc_keyword.split(',')" :key="keywordIndex">
+                                {{ keyword }}
+                            </span>
+                        </p>
+                        <div class="flex">
+                            <p class="date">{{ item.tech_doc_dt }}</p>
+                            <p>조회수 <span>{{ item.view_cnt }}</span></p>
+                        </div>
+                    </div>
+                    <div>
+                        <!-- <button class="blue-btn" @click="postSelectOnePage(item)">바로가기</button> -->
+                        <button class="blue-btn"
+                            @click="item.ctgry_nm === 'service' ? serviceEvent(item) : postSelectOnePage(item)">바로가기</button>
+                    </div>
+                </li>
+                <li class="tech-box-sec" v-for="(space, index) in emptySpaces" :key="index">
+                    <div class="tech-box-fillter">
                         <div class="tech-box-sec-h3">
-                            <h3>{{ item.post_title }}</h3>
-                        </div>
-                        <div v-if="item.ctgry_nm === 'api'">
-                            <img src="../../../../resources/jpg/api.png" alt="">
-                        </div>
-                        <div v-if="item.ctgry_nm === 'standard'">
-                            <img src="../../../../resources/jpg/techdocument.png" alt="">
-                        </div>
-                        <div v-if="item.ctgry_nm === 'tech'">
-                            <img src="../../../../resources/jpg/tech.png" alt="">
-                        </div>
-                        <div v-if="item.ctgry_nm === 'service'">
-                            <img src="../../../../resources/jpg/service.png" alt="">
-                        </div>
-                        <div>
-                            <p class="keyword-zone" v-if="item.tech_doc_keyword">
-                                <span v-for="(keyword, keywordIndex) in item.tech_doc_keyword.split(',')"
-                                    :key="keywordIndex">
-                                    {{ keyword }}
-                                </span>
-                            </p>
                             <div class="flex">
-                                <p class="date">{{ item.tech_doc_dt }}</p>
-                                <p>조회수 <span>{{ item.view_cnt }}</span></p>
+                                <h3>&nbsp;</h3>
+                                <p>&nbsp;</p>
                             </div>
+                        </div>
+                        <div class="tech-box-sec-img">
+                            <!-- 이미지자리 -->
+                            &nbsp;
                         </div>
                         <div>
-                            <!-- <button class="blue-btn" @click="postSelectOnePage(item)">바로가기</button> -->
-                            <button class="blue-btn" @click="item.ctgry_nm === 'service' ? serviceEvent(item) : postSelectOnePage(item)">바로가기</button>
+                            <p class="content-detail">&nbsp;</p>
+                            <p class="date">&nbsp;</p>
                         </div>
-                    </li>
-                    <li class="tech-box-sec" v-for="(space, index) in emptySpaces" :key="index">
-                        <div class="tech-box-fillter">
-                            <div class="tech-box-sec-h3">
-                                <div class="flex">
-                                    <h3>&nbsp;</h3>
-                                    <p>&nbsp;</p>
-                                </div>
-                            </div>
-                            <div class="tech-box-sec-img">
-                                <!-- 이미지자리 -->
-                                &nbsp;
-                            </div>
-                            <div>
-                                <p class="content-detail">&nbsp;</p>
-                                <p class="date">&nbsp;</p>
-                            </div>
-                            <div>
-                                <button class="blue-btn" @click="showAlert">바로가기</button>
-                                <!-- <button class="blue-btn" @click="goToPage3">바로가기</button> -->
-                            </div>
+                        <div>
+                            <button class="blue-btn" @click="showAlert">바로가기</button>
+                            <!-- <button class="blue-btn" @click="goToPage3">바로가기</button> -->
                         </div>
-                        <!-- <div class="overlay-text">준비 중 입니다.</div> -->
-                    </li>
-                
-                </ul>
-                <div class="bottom-wrap">
-                    <PaginationButton v-model:currentPage="postListSearch.currentPage" :perPage="postListSearch.perPage"
-                        :totalCount="postListCount" :maxRange="5" :click="postSelectList" />
-                </div>
+                    </div>
+                    <!-- <div class="overlay-text">준비 중 입니다.</div> -->
+                </li>
+
+            </ul>
+            <div class="bottom-wrap">
+                <PaginationButton v-model:currentPage="postListSearch.currentPage" :perPage="postListSearch.perPage"
+                    :totalCount="postListCount" :maxRange="5" :click="postSelectList" />
             </div>
         </div>
     </div>
@@ -187,7 +223,7 @@
         },
 
         /**페이지 접속 로그 등록 */
-        pageLogInsert: function() {
+        pageLogInsert: function () {
             const vm = this;
 
             axios({
@@ -220,7 +256,7 @@
                 }).then(function (response) {
                     window.location.href = item.link_url;
                 })
-                
+
             }).catch(function (error) {
                 alert("기술문서 상세보기 오류, 관리자에게 문의바랍니다.");
             })
Add a comment
List