diff --git a/src/components/wordDict/DictWrite.vue b/src/components/wordDict/DictWrite.vue
index 12d057c..2de9ee1 100644
--- a/src/components/wordDict/DictWrite.vue
+++ b/src/components/wordDict/DictWrite.vue
@@ -17,7 +17,7 @@
-
+
@@ -83,12 +83,12 @@ const addCategoryAlert = ref(false);
const selectCategory = ref('');
// 제목 상태
-const computedTitle = computed(() =>
+const computedTitle = computed(() =>
wordTitle.value === '' ? props.titleValue : wordTitle.value
);
// 카테고리 상태
-const selectedCategory = computed(() =>
+const selectedCategory = computed(() =>
selectCategory.value === '' ? props.formValue : selectCategory.value
);
@@ -138,8 +138,16 @@ const onChange = (newValue) => {
//용어 등록
const saveWord = () => {
+
+ // if(addCategory.value == ''){
+ // addCategoryAlert.value = true;
+ // return;
+ // }else {
+ // addCategoryAlert.value = false;
+ // }
+
//validation
-
+
// 용어 체크
if(computedTitle.value == '' || computedTitle.length == 0){
wordTitleAlert.value = true;
@@ -158,8 +166,7 @@ const saveWord = () => {
category: selectedCategory.value,
content: content.value,
};
-
- emit('addWord', wordData);
+ emit('addWord', wordData ,addCategory.value );
};
@@ -173,4 +180,4 @@ const saveWord = () => {
margin-top: 2.5rem
}
}
-
\ No newline at end of file
+
diff --git a/src/views/wordDict/wordDict.vue b/src/views/wordDict/wordDict.vue
index a4b3a27..3942ee7 100644
--- a/src/views/wordDict/wordDict.vue
+++ b/src/views/wordDict/wordDict.vue
@@ -102,14 +102,14 @@
const { cateList } = commonApi({
loadCateList: true
});
-
+
const selectedCategory = ref('');
const selectCategory = ref('');
// 체크박스 체크된 갯수
const checkedItems = ref([]);
// 체크박스의 name
- const checkedNames = ref([]);
+ const checkedNames = ref([]);
//선택된 알파벳
@@ -177,34 +177,58 @@
const addCategory = (data) =>{
const lastCategory = cateList.value[cateList.value.length - 1];
const newValue = lastCategory ? lastCategory.value + 1 : 600101;
- axios.post('worddict/insertCategory',{
- CMNCODNAM: data
- }).then(res => {
- if(res.data.data == '1'){
- toastStore.onToast('카테고리가 추가 등록 되었습니다.', 's');
- const newCategory = { label: data, value: newValue };
+ const newCategory = { label: data, value: newValue };
cateList.value = [newCategory, ...cateList.value];
selectedCategory.value = newCategory.value;
- } else if(res.data.message == '이미 존재하는 카테고리명입니다.') {
- toastStore.onToast(res.data.message, 'e');
- }
- })
+ // axios.post('worddict/insertCategory',{
+ // CMNCODNAM: data
+ // }).then(res => {
+ // if(res.data.data == '1'){
+ // toastStore.onToast('카테고리가 추가 등록 되었습니다.', 's');
+ // const newCategory = { label: data, value: newValue };
+ // cateList.value = [newCategory, ...cateList.value];
+ // selectedCategory.value = newCategory.value;
+ // } else if(res.data.message == '이미 존재하는 카테고리명입니다.') {
+ // toastStore.onToast(res.data.message, 'e');
+ // }
+ // })
}
- //용어 등록
- const addWord = (wordData) => {
- axios.post('worddict/insertWord',{
- WRDDICCAT : wordData.category,
- WRDDICTTL : wordData.title,
- WRDDICCON : $common.deltaAsJson(wordData.content),
- }).then(res => {
- if(res.data.data == '1'){
+ const addWord = (wordData, data) => {
+ let category = null;
+ // 카테고리 체크
+ const existingCategory = cateList.value.find(item => item.label === data);
+ if (existingCategory) {
+ //카테고리 있을시 그냥 저장
+ category = existingCategory.label == '' ? wordData.category : existingCategory.value;
+ } else {
+ //카테고리 없을시 카테고리 와 용어 둘다 저장
+ console.log('카테고리 없음');
+ const lastCategory = cateList.value[cateList.value.length - 1];
+ category = lastCategory ? lastCategory.value + 1 : 600101;
+ }
+ sendWordRequest(category, wordData, data, !existingCategory);
+ };
+ const sendWordRequest = (category, wordData, data, isNewCategory) => {
+ const payload = {
+ WRDDICCAT: category,
+ WRDDICTTL: wordData.title,
+ WRDDICCON: $common.deltaAsJson(wordData.content),
+ };
+
+ if (isNewCategory) {
+ payload.CMNCODNAM = data; // 새로운 카테고리 추가 시 포함
+ }
+ axios.post('worddict/insertWord', payload).then(res => {
+ if (res.data.status === 'OK') {
toastStore.onToast('용어가 등록 되었습니다.', 's');
isWriteVisible.value = false;
getwordList();
+ //카테고리 리스트 다시 조회 해야야함
}
- })
+ });
};
+
// 체크 상태 업데이트
const updateCheckedItems = (checked, id, name) => {
if (checked) {