hmkim 04-23
Merge branch 'master' of http://210.180.118.83/jhpark/cms_frontend
@0f3b340c979f66c7095d2b4898984985c65b9578
client/views/pages/adm/boardManagement/boardManagement/BoardManagementInsert.vue
--- client/views/pages/adm/boardManagement/boardManagement/BoardManagementInsert.vue
+++ client/views/pages/adm/boardManagement/boardManagement/BoardManagementInsert.vue
@@ -187,6 +187,7 @@
     data() {
         return {
             bbsMng: {},
+            rawBbsMng: {}, // 수정 전 원본 데이터
             bbsTypeList: [],
             pageTypeList: [],
             maxFileSize: null, // 시스템 최대 파일 크기
@@ -248,7 +249,8 @@
                         this.bbsMng.bfrAftrPstUseYn = "N";
                         this.bbsMng.cmntUseYn = "N";
                     }
-
+                    this.rawBbsMng = JSON.parse(JSON.stringify(this.bbsMng)); // 원본 데이터 저장
+                    
                     this.bbsTypeList = res.data.data.bbsTypeList;
                     this.pageTypeList = res.data.data.pageTypeList;
                     this.maxFileSize = res.data.data.maxFileSize; // 시스템 최대 파일 크기
@@ -291,6 +293,11 @@
             if (!this.Validation()) {
                 return;
             }
+            if(this.bbsMng.bbsNm != this.rawBbsMng.bbsNm) {
+                if(!confirm("게시판 명 변경 시 메뉴명도 변경됩니다.\n계속 진행하시겠습니까?")) {
+                    return;
+                }
+            }
             try {
                 const res = await update(this.bbsMng);
                 alert(res.data.message);
client/views/pages/adm/boardManagement/template/videoTemplate/VideoInsert.vue
--- client/views/pages/adm/boardManagement/template/videoTemplate/VideoInsert.vue
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoInsert.vue
@@ -579,6 +579,13 @@
     fnThumbnailInsert(event) {
       const file = event.target.files[0];
       if (file && file.type.startsWith("image/")) {
+        if (this.bbsMng.byteLmt != 0 && this.bbsMng.byteLmt != null) {
+          if (file.size > this.bbsMng.byteLmt) {
+            alert(this.bbsMng.fileSzLmt + "MB 이하의 파일만 등록 가능합니다.");
+            return;
+          }
+        }
+        
         if (this.imgFileList.length > 0) {
           if (this.imgFileList[0].fileId != null) {
             this.deleteFileList.push(this.imgFileList[0]);
@@ -588,7 +595,9 @@
       } else {
         // 이미지 파일이 아닐 경우, 사용자에게 경고
         alert("이미지 파일만 등록할 수 있습니다.");
+        return;
       }
+
     },
     // 썸네일 삭제
     fnImgFileDelete(file, index) {
client/views/pages/adm/menuManagement/menuManagement/MenuManagement.vue
--- client/views/pages/adm/menuManagement/menuManagement/MenuManagement.vue
+++ client/views/pages/adm/menuManagement/menuManagement/MenuManagement.vue
@@ -38,12 +38,12 @@
                 <div  class="layout">
                   <label class="form-title"><span>*</span>메뉴명</label>
                   <input type="text" class="form-control sm" ref="menuNm" v-model="viewMenu.menuNm"
-                    :disabled="!editMode" placeholder="메뉴명을 입력해주세요"/>
+                    :disabled="!editMode || viewMenu.sysPvsnYn == 0" placeholder="메뉴명을 입력해주세요"/>
                 </div>
                 <div class="grid-column layout">
                   <label class="form-title"><span>*</span>메뉴 타입</label>
                   <div class="input-group">
-                      <select class="form-select sm" ref="menuType" v-model="viewMenu.menuType" :disabled="!editMode">
+                      <select class="form-select sm" ref="menuType" v-model="viewMenu.menuType" :disabled="!editMode || viewMenu.sysPvsnYn == 0">
                         <option value="">선택</option>
                         <option v-for="(code, index) in codeList" :key="index" :value="code.cd">
                           {{ code.cdNm }}
@@ -54,7 +54,7 @@
                       viewMenu.menuType == 'conts'
                       ">
                       <select class="form-select sm" ref="menuTypeCtgry" v-model="viewMenu.menuTypeCtgry"
-                        :disabled="!editMode">
+                        :disabled="!editMode || viewMenu.sysPvsnYn == 0">
                         <option value="">선택</option>
                         <option v-for="(ctgry, index) of ctgryList" :key="index" :value="ctgry.id">
                           {{ ctgry.name }}
@@ -63,7 +63,7 @@
                     </template>
                     <template v-if="viewMenu.menuType == 'link'">
                       <input type="text" class="form-control sm" ref="linkUrl" v-model="viewMenu.linkUrl"
-                        :disabled="!editMode"  :style="{ width: inputWidth + 'px' }" placeholder="링크를 입력해주세요"/>
+                        :disabled="!editMode || viewMenu.sysPvsnYn == 0"  :style="{ width: inputWidth + 'px' }" placeholder="링크를 입력해주세요"/>
                     </template>
                   </div>
                 </div>
@@ -164,7 +164,7 @@
                 <button :class="{
                   'btn sm red': true,
                   // 'red-border-btn': editMode,
-                }" :disabled="isFormDisabled" @click="fnDelete" v-if="pageAuth.delAuthrt == 'Y'">
+                }" :disabled="isFormDisabled" @click="fnDelete" v-if="pageAuth.delAuthrt == 'Y' && selectedMenuId != null">
                   삭제
                 </button>
             </div>
@@ -266,8 +266,14 @@
         alert("삭제 대상을 선택해주세요.");
         return false;
       }
+
+      if (this.viewMenu.sysPvsnYn == 0) {
+        alert("시스템에서 제공하는 정보는 삭제할 수 없습니다.");
+        return;
+      }
+
       const isDelete = confirm(
-        "메뉴를 삭제하시겠습니까?\n삭제 시 하위부서 항목도 제거됩니다."
+        "메뉴를 삭제하시겠습니까?\n삭제 시 하위메뉴 항목도 제거됩니다."
       );
       if (isDelete) {
         const data = { menuId: this.selectedMenuId };
@@ -486,7 +492,7 @@
     // axios: 조회(목록) - 콘텐츠
     async axiosContsTypeList() {
       // 데이터 삽입
-      const data = { sysPvsnYn: "1" };
+      const data = { sysPvsnYn: "1" }; // 현재 사용X
       // 실행
       try {
         const res = await findAllByExpsr(data);
Add a comment
List