diff --git a/src/components/category/CategoryBtn.vue b/src/components/category/CategoryBtn.vue index 912348c..c98ea10 100644 --- a/src/components/category/CategoryBtn.vue +++ b/src/components/category/CategoryBtn.vue @@ -9,17 +9,17 @@ type="button" class="btn" :class="{ - 'btn-outline-primary': category !== selectedCategory, - 'btn-primary': category === selectedCategory - }" - @click="selectCategory(category)" + 'btn-outline-primary': category.CMNCODVAL !== selectedCategory, + 'btn-primary': category.CMNCODVAL === selectedCategory + }" + @click="selectCategory(category.CMNCODVAL)" >{{ category.CMNCODNAM }} @@ -42,8 +43,4 @@ const selectCategory = (category) => { .cate-list { margin-left: -0.25rem; } - -@media screen and (max-width:450px) { - -} \ No newline at end of file diff --git a/src/components/wordDict/DictAlphabetFilter.vue b/src/components/wordDict/DictAlphabetFilter.vue index e28e459..9a899ba 100644 --- a/src/components/wordDict/DictAlphabetFilter.vue +++ b/src/components/wordDict/DictAlphabetFilter.vue @@ -49,7 +49,7 @@ const selectAlphabet = (alphabet) => { @media (max-width: 768px) { .alphabet-list { - overflow: scroll; + overflow-x: scroll; flex-wrap: nowrap !important; } } diff --git a/src/components/wordDict/DictCard.vue b/src/components/wordDict/DictCard.vue index 1aa65c0..09ecffd 100644 --- a/src/components/wordDict/DictCard.vue +++ b/src/components/wordDict/DictCard.vue @@ -2,7 +2,7 @@
  • - {{ item.category }} + {{ item.category }} {{ item.WRDDICTTL }}
    diff --git a/src/components/wordDict/DictWrite.vue b/src/components/wordDict/DictWrite.vue index 441ffbe..9d040f1 100644 --- a/src/components/wordDict/DictWrite.vue +++ b/src/components/wordDict/DictWrite.vue @@ -1,11 +1,14 @@ \ No newline at end of file diff --git a/src/views/wordDict/wordDict.vue b/src/views/wordDict/wordDict.vue index d6e3392..7efb616 100644 --- a/src/views/wordDict/wordDict.vue +++ b/src/views/wordDict/wordDict.vue @@ -25,12 +25,12 @@
    - +
    - +
    @@ -50,16 +50,9 @@ :item="item" /> - -
    용어집의 용어가 없습니다.
    +
    용어집의 용어가 없습니다.
    @@ -84,12 +77,17 @@ // 용어집 const wordList = ref([]); + //용어집 총개수 const total = ref(0); + // 카테고리 const cateList = ref([]); + const selectedCategory = ref(''); + //선택된 알파벳 const selectedAlphabet = ref(''); + // 검색 const searchText = ref(''); @@ -98,77 +96,61 @@ // 데이터 로드 onMounted(() => { - getwordList(); //용어목록조회 - getwordCategory(); //카테고리목록조회 + getwordList(); + getwordCategory(); }); + //용어 목록 - const getwordList = (searchKeyword='',indexKeyword='') => { + const getwordList = (searchKeyword='', indexKeyword='', category='') => { axios.get('worddict/getWordList',{ //목록조회시 파라미터 전달 - params: { searchKeyword: searchKeyword - ,indexKeyword:indexKeyword + params: { + searchKeyword : searchKeyword, + indexKeyword :indexKeyword, + category : category } }) .then(res => { - wordList.value = res.data.data.data; // 용어 목록 저장 - total.value = res.data.data.total; // 총 개수 저장 + // 용어 목록 저장 + wordList.value = res.data.data.data; + // 총 개수 저장 + total.value = res.data.data.total; loading.value = false; }) .catch(err => { console.error('데이터 로드 오류:', err); error.value = '데이터를 가져오는 중 문제가 발생했습니다.'; - loading.value = false; // 로딩 종료 + loading.value = false; }); }; // 카테고리 목록 const getwordCategory = () => { axios.get('worddict/getWordCategory') .then(res => { - cateList.value = res.data.data; // 카테고리 목록 저장 + cateList.value = res.data.data; }) .catch(err => { console.error('카테고리 로드 오류:', err); error.value = '카테고리 데이터를 가져오는 중 문제가 발생했습니다.'; }); }; - const handleSelectedAlphabetChange = (newAlphabet) => { - selectedAlphabet.value = newAlphabet; - getwordList(searchText.value,selectedAlphabet.value); - }; // 검색 const search = (e) => { searchText.value = e.trim(); - getwordList(searchText.value,selectedAlphabet.value); + getwordList(searchText.value, selectedAlphabet.value, selectedCategory.value); }; + // 알파벳 선택 + const handleSelectedAlphabetChange = (newAlphabet) => { + selectedAlphabet.value = newAlphabet; + getwordList(searchText.value, selectedAlphabet.value, selectedCategory.value); + }; - // 용어집 및 카테고리 목록 통합 API 호출 - // const fetchAllData = async () => { - // loading.value = true; - // error.value = ''; - // try { - // // 용어집 - // // const wordResponse = await axios.get('worddict/getWordList'); - // //wordList.value = wordResponse.data.data.data; - // //console.log('용어집 데이터:', wordList.value); - - // // 카테고리 - // const categoryResponse = await axios.get('worddict/getWordCategory'); - // cateList.value = categoryResponse.data.data; - // console.log('카테고리 데이터:', cateList.value); - // } catch (err) { - // error.value = '데이터를 가져오는 중 문제가 발생했습니다.'; - // } finally { - // loading.value = false; - // } - // }; - - // 검색 - // const filteredList = computed(() => - // wordList.value.filter(item => - // item.WRDDICTTL.toLowerCase().includes(searchText.value.toLowerCase()) - // ) - // ); + // 카테고리 선택 + const handleSelectedCategoryChange = (category) => { + selectedCategory.value = category; + getwordList(searchText.value, selectedAlphabet.value, selectedCategory.value) + } // 작성 toggle const toggleWriteForm = () => { @@ -190,4 +172,4 @@ margin-bottom: 0.5rem !important; } } - + \ No newline at end of file