류윤주 류윤주 04-11
250411 류윤주 수정
@076699135d4847e64924fb7e6caf2a85a4afc37a
client/resources/scss/admin/content.scss
--- client/resources/scss/admin/content.scss
+++ client/resources/scss/admin/content.scss
@@ -781,11 +781,47 @@
                 color: var(--#{$prefix}gray-60);
             }
         }
+
+        // &.main-line{
+        //     background-color: var(--tk-main-10);
+        //     border: 1px solid var(--tk-main-50); 
+        //     border-radius: 1rem;
+
+        // }
+    }
+
+    .chart-info{
+        padding: .5rem 3rem;
+        background-color: var(--tk-white);
+        border-radius: 3rem;
+        .detail-text{
+            span{
+                font-size: 2rem;
+                font-weight: 700;
+                color: var(--tk-main-50);
+            }
+        }
     }
 
     .auth-btn{
         width: 120px;
     }
+
+    .thumbnail{
+        max-width: 170px;
+        width: 100%;
+        height: auto;
+        aspect-ratio: 16 / 9;
+        margin-right: 3rem;
+    }
+
+    .file-upload{
+        width: 100px;
+        padding: .5rem 1rem;
+        background-color: var(--tk-main-10);
+        border: 1px solid var(--tk-main-50);
+        color: var(--tk-main-50);
+    }
 }
 
 
client/resources/scss/common/component/_buttons.scss
--- client/resources/scss/common/component/_buttons.scss
+++ client/resources/scss/common/component/_buttons.scss
@@ -189,6 +189,12 @@
       background-image: url(#{$url}/component/common/ico_plus_24_wh.svg);
     }
   }
+  &.ico-download {
+    &::before,
+    &::after {
+      background-image: url(#{$url}/component/common/ico_file_20.svg);
+    }
+  }
   &.xsm {
     &[class*='ico-'] {
       &::after {
@@ -295,7 +301,14 @@
   }
   &.ico-plus {
     background-image: url(#{$url}/component/common/ico_plus_24.svg);
-}
+  }
+  &.ico-download {
+    background-image: url(#{$url}/component/common/ico_file_20.svg);
+    margin-left: 1rem;
+    // padding: 1rem;
+    // border: 1px solid;
+    // border-radius: .2rem;
+  }
   &.ico-page-prev {
     border-radius: 10rem;
     border: 0.1rem solid var(--#{$prefix}gray-40);
client/resources/scss/common/component/_tree.scss
--- client/resources/scss/common/component/_tree.scss
+++ client/resources/scss/common/component/_tree.scss
@@ -50,6 +50,15 @@
             border-radius: 50%;
             margin-right: 1rem;
         }
+
+        &.p-tree{
+            padding: .5rem 1rem;
+        }
+
+        &.selected{
+            border: 1px solid var(--tk-main-50);
+            border-radius: var(--tk-rd-12);
+        }
     }
 
 }
(파일 끝에 줄바꿈 문자 없음)
client/views/component/Breadcrumb/Breadcrumb.vue
--- client/views/component/Breadcrumb/Breadcrumb.vue
+++ client/views/component/Breadcrumb/Breadcrumb.vue
@@ -28,6 +28,8 @@
       const menuState = this.$store.state;
       const currentPath = this.$route.path;
 
+      console.log('menuState',menuState)
+
       // 관리자: childList 기반
       const findFromTree = (menus, path, trail = []) => {
         for (const menu of menus) {
@@ -73,8 +75,11 @@
       }
 
       this.breadcrumbList = breadcrumb;
-    }
+    },
 
   },
+  mounted(){
+    this.generateBreadcrumb();
+  }
 };
 </script>
(파일 끝에 줄바꿈 문자 없음)
client/views/component/table/ListTable.vue
--- client/views/component/table/ListTable.vue
+++ client/views/component/table/ListTable.vue
@@ -25,11 +25,12 @@
           <td
             v-for="(content, index) in row"
             :key="index"
-            :class="index === 'title' ? 'text-lf table-title' : 'text-ct'"
           >
-          <svg-icon type="mdi" :path="pinPath" :width="20" :height="20"  v-if="index == 'bbsNm' && ntcList.includes(idx)"></svg-icon>
-          <svg-icon type="mdi" :path="lockPath" :width="20" :height="20" v-else-if="index == 'bbsNm' && lockList.includes(idx)"></svg-icon>
-            <p>{{ content }}</p>
+            <div class="layout">
+              <svg-icon type="mdi" :path="pinPath" :width="18" :height="18"  v-if="index == 'bbsNm' && ntcList.includes(idx)"></svg-icon>
+              <svg-icon type="mdi" :path="lockPath" :width="18" :height="18" v-else-if="index == 'bbsNm' && lockList.includes(idx)"></svg-icon>
+              <p>{{ content }}</p>
+            </div>
           </td>
           <td v-if="$slots.button">
             <slot name="button" :row="row" :idx="idx"></slot>
client/views/pages/adm/boardManagement/template/commonTemplate/CommonInsert.vue
--- client/views/pages/adm/boardManagement/template/commonTemplate/CommonInsert.vue
+++ client/views/pages/adm/boardManagement/template/commonTemplate/CommonInsert.vue
@@ -45,7 +45,7 @@
                 <p>기본정보</p>
                 <p><span>*</span>필수입력</p>
               </div>
-              <div class="form-content grid-none">
+              <div class="form-content grid-none overflow-y">
                 <div class="layout">
                   <label for="" class="form-title">제목</label>
                   <input type="text" class="form-control sm" v-model="bbsCn.bbsNm" placeholder="제목을 입력하세요." />
@@ -59,22 +59,16 @@
                 <div class="layout"  ref="two" v-if="bbsMng.atchFileUseYn === 'Y'">
                   <label for="" class="form-title">첨부파일</label>
                   <div>
-                    <label for="file" >파일찾기</label>
-                    <input
-                      type="file"
-                      id="file"
-                      ref="file"
-                      @change="fnFileInsert"
-                      multiple
-                    />
+                    <label for="file"  class="file-upload">파일찾기</label>
+                    <input type="file" id="file" ref="file" @change="fnFileInsert" multiple class="sr-only"/>
                     <div  v-if="fileList.length > 0">
                       <ul>
-                        <li v-for="(file, idx) in fileList" :key="idx">
-                          <div v-if="file['fileId'] != null" class="file-wrap">
+                        <li v-for="(file, idx) in fileList" :key="idx" class="file-wrap">
+                          <div v-if="file['fileId'] != null" class="layout">
                             <p>{{ file["fileNm"] }}.{{ file["extnNm"] }}</p>
                             <button class="del-btn" @click="fnFileDelete(file, idx)">X</button>
                           </div>
-                          <div v-else class="file-wrap">
+                          <div v-else class="layout">
                             <p>{{ file.name }}</p>
                             <button class="del-btn" @click="fnFileDelete(file, idx)">X</button>
                           </div>
@@ -110,10 +104,10 @@
                     </div>
                   </div>
                 </div>
-                <div class="layout"  ref="four"  v-if="bbsCn.ntcPstYn === 'Y'">
+                <div class="layout border-bottom"  ref="four"  v-if="bbsCn.ntcPstYn === 'Y'">
                   <label for="" class="form-title">공지글 게시기간</label>
                   <div class="input-group">
-                    <div class="form-control sm cal">
+                    <div class="form-control sm cal" style="max-width: 200px;">
                       <VueDatePicker
                         InlineOptions
                         placeholder="시작일"
@@ -131,7 +125,7 @@
                       /> -->
                     </div>
                     <div class="mark">-</div>
-                    <div class="form-control sm cal">
+                    <div class="form-control sm cal" style="max-width: 200px;">
                       <VueDatePicker
                         InlineOptions
                         placeholder="종료일"
client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectListOne.vue
--- client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectListOne.vue
+++ client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectListOne.vue
@@ -38,16 +38,16 @@
                   <div v-if="fileList.length == 0">
                     <label>첨부된 파일이 없습니다.</label>
                   </div>
-
                   <ul v-else>
                     <li
                       v-for="(item, idx) in fileList"
                       :key="idx"
                       @click="downloadFile(item)"
-                      class="cursor pd5 border radius mb5 flex justify-between align-center"
+                      class="layout"
                     >
                       <p>{{ item.fileNm + "." + item.extnNm }}</p>
-                      <svg-icon type="mdi" :path="downloadFilePath"></svg-icon>
+                      <button class="btn-ico sm ico-download"></button>
+                      <!-- <svg-icon type="mdi" :path="downloadFilePath"></svg-icon> -->
                     </li>
                   </ul>
                 </td>
client/views/pages/adm/boardManagement/template/galleryTemplate/GalleryInsert.vue
--- client/views/pages/adm/boardManagement/template/galleryTemplate/GalleryInsert.vue
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GalleryInsert.vue
@@ -7,7 +7,7 @@
             <p>기본정보</p>
             <p><span>*</span>필수입력</p>
           </div>
-          <div class="form-content grid-none">
+          <div class="form-content grid-none overflow-y">
             <div class="layout">
               <label for="" class="form-title">제목</label>
               <input
@@ -26,54 +26,17 @@
             <div class="layout">
               <label for="" class="form-title">이미지 파일</label>
               <div>
-                <label
-                  for="imgFile"
-                  :class="{
-                    'large-btn text-ct': true,
-                    'blue-border-btn': pageRole == 'adm',
-                    'green-border-btn':
-                      pageRole == 'portal',
-                  }"
-                >
-                  파일찾기
-                </label>
-                <input
-                  type="file"
-                  id="imgFile"
-                  ref="imgFile"
-                  @change="fnImgFileInsert"
-                  multiple
-                  accept="image/*"
-                />
+                <label for="imgFile" class="file-upload">파일찾기</label>
+                <input type="file"  id="imgFile"  ref="imgFile" @change="fnImgFileInsert" multiple accept="image/*"  class="sr-only"/>
                 <ul v-if="imgFileList.length > 0">
-                  <li
-                    v-for="(file, idx) in imgFileList"
-                    :key="idx"
-                    class="file-wrap"
-                  >
-                    <div
-                      v-if="file['fileId'] != null"
-                      class="layout"
-                    >
+                  <li v-for="(file, idx) in imgFileList"  :key="idx" class="file-wrap" >
+                    <div v-if="file['fileId'] != null"  class="layout" >
                       <p>{{ file["fileNm"] }}.{{ file["extnNm"] }}</p>
-                      <button
-                        class="del-btn"
-                        @click="fnImgFileDelete(file, idx)"
-                      >
-                        X
-                      </button>
+                      <button  class="del-btn"  @click="fnImgFileDelete(file, idx)" >X</button>
                     </div>
-                    <div
-                      v-else
-                      class="layout"
-                    >
+                    <div  v-else class="layout">
                       <p>{{ file.name }}</p>
-                      <button
-                        class="del-btn"
-                        @click="fnImgFileDelete(file, idx)"
-                      >
-                        X
-                      </button>
+                      <button class="del-btn" @click="fnImgFileDelete(file, idx)" >X</button>
                     </div>
                   </li>
                 </ul>
@@ -82,47 +45,17 @@
             <div class="layout" ref="two" v-if="bbsMng.atchFileUseYn === 'Y'" >
               <label for="" class="form-title">첨부파일</label>
               <div>
-                <label
-                  for="file"
-                  :class="{
-                    'large-btn text-ct': true,
-                    'blue-border-btn': pageRole == 'adm',
-                    'green-border-btn':
-                      pageRole == 'portal',
-                  }"
-                >
-                  파일찾기
-                </label>
-                <input
-                  type="file"
-                  id="file"
-                  ref="file"
-                  @change="fnFileInsert"
-                  multiple
-                />               
+                <label for="file"  class="file-upload">파일찾기</label>
+                <input type="file" id="file" ref="file" @change="fnFileInsert" multiple class="sr-only"/>               
                 <ul v-if="fileList.length > 0">
-                    <li
-                      v-for="(file, idx) in fileList"
-                      :key="idx"
-                      class="pd10 mt10 border radius"
-                    >
-                      <div
-                        v-if="file['fileId'] != null"
-                        class="flex align-center justify-between file-wrap"
-                      >
+                    <li v-for="(file, idx) in fileList" :key="idx" class="file-wrap">
+                      <div v-if="file['fileId'] != null" class="layout">
                         <p>{{ file["fileNm"] }}.{{ file["extnNm"] }}</p>
-                        <button class="del-btn" @click="fnFileDelete(file, idx)">
-                          X
-                        </button>
+                        <button class="del-btn" @click="fnFileDelete(file, idx)">X</button>
                       </div>
-                      <div
-                        v-else
-                        class="flex align-center justify-between file-wrap"
-                      >
+                      <div v-else class="layout">
                         <p>{{ file.name }}</p>
-                        <button class="del-btn" @click="fnFileDelete(file, idx)">
-                          X
-                        </button>
+                        <button class="del-btn" @click="fnFileDelete(file, idx)">X</button>
                       </div>
                     </li>
                 </ul>
@@ -155,10 +88,10 @@
                 </div>
               </div>
             </div>
-            <div class="layout" ref="four" v-if="bbsCn.ntcPstYn === 'Y'">
+            <div class="layout border-bottom" ref="four" v-if="bbsCn.ntcPstYn === 'Y'">
               <label for="" class="form-title" >공지글 게시기간</label>
-              <div class="flex align-center no-gutters">
-                <div class="form-control sm cal">
+              <div class="input-group">
+                <div class="form-control sm cal" style="max-width: 200px;">
                   <VueDatePicker
                         InlineOptions
                         placeholder="시작일"
@@ -176,7 +109,7 @@
                   /> -->
                 </div>
                 <div class="mark">-</div>
-                <div class="form-control sm cal">
+                <div class="form-control sm cal" style="max-width: 200px;">
                   <VueDatePicker
                         InlineOptions
                         placeholder="종료일"
@@ -202,23 +135,23 @@
                   <input
                     type="radio"
                     name="secret"
-                    id="y"
+                    id="secrety"
                     class="mr5"
                     value="Y"
                     v-model="bbsCn.prvtPstYn"
                   />
-                  <label for="y">사용</label>
+                  <label for="secrety">사용</label>
                 </div>
                 <div class="form-check">
                   <input
                     type="radio"
                     name="secret"
-                    id="n"
+                    id="secretn"
                     class="mr5"
                     value="N"
                     v-model="bbsCn.prvtPstYn"
                   />
-                  <label for="n">미사용</label>
+                  <label for="secretn">미사용</label>
                 </div>
               </div>
             </div>
client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue
--- client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue
@@ -98,7 +98,7 @@
                                         </td> -->
                                         <td>
                                             <div class="layout">
-                                                <img :src="item.absltPath"  />
+                                                <img :src="item.absltPath"  class="thumbnail" />
                                                 <div>
                                                     <template v-if="item.prvtPstYn == 'Y'">
                                                         <p>{{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsNm : '비밀글입니다' }}</p>
client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectListOne.vue
--- client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectListOne.vue
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectListOne.vue
@@ -66,7 +66,8 @@
                       class="layout"
                     >
                       <p>{{ item.fileNm + "." + item.extnNm }}</p>
-                      <svg-icon type="mdi" :path="downloadFilePath"></svg-icon>
+                      <button class="btn-ico sm ico-download"></button>
+                      <!-- <svg-icon type="mdi" :path="downloadFilePath"></svg-icon> -->
                     </li>
                   </ul>
                 </div>
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
@@ -7,7 +7,7 @@
             <p>기본정보</p>
             <p><span>*</span>필수입력</p>
           </div>
-          <div class="form-content grid-none">
+          <div class="form-content grid-none overflow-y">
             <div class="layout">
               <label for="" class="form-title">제목</label>
               <input
@@ -35,56 +35,18 @@
             <div class="layout">
               <label for="" class="form-title">썸네일</label>
               <div>
-                <div class="gd-2 pl0 pr0">
-                  <label
-                    for="thumbnail"
-                    :class="{
-                      'large-btn text-ct': true,
-                      'blue-border-btn': pageRole == 'adm',
-                      'green-border-btn':
-                        pageRole == 'portal',
-                    }"
-                  >
-                    파일찾기
-                  </label>
-                  <input
-                    type="file"
-                    id="thumbnail"
-                    ref="thumbnail"
-                    @change="fnThumbnailInsert"
-                    accept="image/*"
-                  />
-                </div>
-                <div class="gd-12 pl0" v-if="imgFileList.length > 0">
+                  <label for="thumbnail" class="file-upload">파일찾기</label>
+                  <input type="file" id="thumbnail" ref="thumbnail" @change="fnThumbnailInsert" accept="image/*" class="sr-only" />
+                <div v-if="imgFileList.length > 0">
                   <ul>
-                    <li
-                      v-for="(file, index) in imgFileList"
-                      :key="index"
-                      class="pd10 mt10 border radius"
-                    >
-                      <div
-                        v-if="file['fileId'] != null"
-                        class="flex align-center justify-between file-wrap"
-                      >
+                    <li v-for="(file, index) in imgFileList" :key="index" class="file-wrap" >
+                      <div v-if="file['fileId'] != null" class="layout" >
                         <p>{{ file["fileNm"] }}.{{ file["extnNm"] }}</p>
-                        <button
-                          class="del-btn"
-                          @click="fnImgFileDelete(file, index)"
-                        >
-                          X
-                        </button>
+                        <button class="del-btn" @click="fnImgFileDelete(file, index)">X</button>
                       </div>
-                      <div
-                        v-else
-                        class="flex align-center justify-between file-wrap"
-                      >
+                      <div v-else class="layout">
                         <p>{{ file.name }}</p>
-                        <button
-                          class="del-btn"
-                          @click="fnImgFileDelete(file, index)"
-                        >
-                          X
-                        </button>
+                        <button class="del-btn" @click="fnImgFileDelete(file, index)">X</button>
                       </div>
                     </li>
                   </ul>
@@ -92,49 +54,19 @@
               </div>
             </div>
             <div class="layout" ref="two" v-if="bbsMng.atchFileUseYn === 'Y'" >
-              <label for="" class="form-title">첨부파일</label>
+              <label for="" class="form-title" >첨부파일</label>
               <div>
-                <label
-                  for="file"
-                  :class="{
-                    'large-btn text-ct': true,
-                    'blue-border-btn': pageRole == 'adm',
-                    'green-border-btn':
-                      pageRole == 'portal',
-                  }"
-                >
-                  파일찾기
-                </label>
-                <input
-                  type="file"
-                  id="file"
-                  ref="file"
-                  @change="fnFileInsert"
-                  multiple
-                />               
+                <label for="file" class="file-upload">파일찾기</label>
+                <input type="file" id="file" ref="file" @change="fnFileInsert" multiple class="sr-only"/>               
                 <ul v-if="fileList.length > 0">
-                    <li
-                      v-for="(file, idx) in fileList"
-                      :key="idx"
-                      class="pd10 mt10 border radius"
-                    >
-                      <div
-                        v-if="file['fileId'] != null"
-                        class="flex align-center justify-between file-wrap"
-                      >
+                    <li v-for="(file, idx) in fileList" :key="idx" class="file-wrap">
+                      <div v-if="file['fileId'] != null" class="layout">
                         <p>{{ file["fileNm"] }}.{{ file["extnNm"] }}</p>
-                        <button class="del-btn" @click="fnFileDelete(file, idx)">
-                          X
-                        </button>
+                        <button class="del-btn" @click="fnFileDelete(file, idx)">X</button>
                       </div>
-                      <div
-                        v-else
-                        class="flex align-center justify-between file-wrap"
-                      >
+                      <div  v-else class="layout">
                         <p>{{ file.name }}</p>
-                        <button class="del-btn" @click="fnFileDelete(file, idx)">
-                          X
-                        </button>
+                        <button class="del-btn" @click="fnFileDelete(file, idx)">X</button>
                       </div>
                     </li>
                 </ul>
@@ -167,10 +99,10 @@
                 </div>
               </div>
             </div>
-            <div class="layout" ref="four" v-if="bbsCn.ntcPstYn === 'Y'">
+            <div class="layout border-bottom" ref="four" v-if="bbsCn.ntcPstYn === 'Y'">
               <label for="" class="form-title" >공지글 게시기간</label>
-              <div class="flex align-center no-gutters">
-                <div class="form-control sm cal">
+              <div class="input-group">
+                <div class="form-control sm cal" style="max-width: 200px;">
                   <VueDatePicker
                         InlineOptions
                         placeholder="시작일"
@@ -188,7 +120,7 @@
                   /> -->
                 </div>
                 <div class="mark">-</div>
-                <div class="form-control sm cal">
+                <div class="form-control sm cal" style="max-width: 200px;">
                   <VueDatePicker
                         InlineOptions
                         placeholder="종료일"
@@ -214,23 +146,23 @@
                   <input
                     type="radio"
                     name="secret"
-                    id="y"
+                    id="secrety"
                     class="mr5"
                     value="Y"
                     v-model="bbsCn.prvtPstYn"
                   />
-                  <label for="y">사용</label>
+                  <label for="secrety">사용</label>
                 </div>
                 <div class="form-check">
                   <input
                     type="radio"
                     name="secret"
-                    id="n"
+                    id="secretn"
                     class="mr5"
                     value="N"
                     v-model="bbsCn.prvtPstYn"
                   />
-                  <label for="n">미사용</label>
+                  <label for="secretn">미사용</label>
                 </div>
               </div>
             </div>
client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue
--- client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue
@@ -45,8 +45,8 @@
                                         </td> -->
                                         <td>
                                             <div class="layout">
-                                                <img v-if="item.absltPath" :src="item.absltPath" />
-                                                <img v-else :src="'https://img.youtube.com/vi/'+makeKey(item.vdoUrl)+'/mqdefault.jpg'"/>
+                                                <img v-if="item.absltPath" :src="item.absltPath"  class="thumbnail"/>
+                                                <img v-else :src="'https://img.youtube.com/vi/'+makeKey(item.vdoUrl)+'/mqdefault.jpg'"  class="thumbnail"/>
                                                 <div class="ml10">
                                                     <template v-if="item.prvtPstYn == 'Y'">
                                                         <p>{{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsNm : '비밀글입니다' }}</p>
client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectListOne.vue
--- client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectListOne.vue
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectListOne.vue
@@ -83,10 +83,11 @@
                     v-for="(item, idx) in fileList"
                     :key="idx"
                     @click="downloadFile(item)"
-                    class="cursor pd5 border radius mb5 flex justify-between align-center"
+                    class="layout"
                   >
                     <p>{{ item.fileNm + "." + item.extnNm }}</p>
-                    <svg-icon type="mdi" :path="downloadFilePath"></svg-icon>
+                    <button class="btn-ico sm ico-download"></button>
+                    <!-- <svg-icon type="mdi" :path="downloadFilePath"></svg-icon> -->
                   </li>
                 </ul>
               </td>
client/views/pages/adm/departmentManagement/DepartmentManagement.vue
--- client/views/pages/adm/departmentManagement/DepartmentManagement.vue
+++ client/views/pages/adm/departmentManagement/DepartmentManagement.vue
@@ -169,16 +169,18 @@
       <div class="modal-title">
         <p>사용자 목록</p>
       </div>
-      <button class="btn-close" @click="modalClose">X</button>
+      <button class="btn-close" @click="modalClose"></button>
     </template>
-    <ListTable
-      :className="'admin-list'"
-      :colgroup="mbrColgroup"
-      :thead="mbrThead"
-      :tbody="mbrTbody"
-      @listClick="selectMbr"
-    >
-    </ListTable>
+    <div class="tbl-wrap">
+      <ListTable
+        :className="'data cursor'"
+        :colgroup="mbrColgroup"
+        :thead="mbrThead"
+        :tbody="mbrTbody"
+        @listClick="selectMbr"
+      >
+      </ListTable>
+    </div>
   </Modal>
 </template>
 
client/views/pages/adm/popup/PopupManagementInsert.vue
--- client/views/pages/adm/popup/PopupManagementInsert.vue
+++ client/views/pages/adm/popup/PopupManagementInsert.vue
@@ -27,7 +27,7 @@
                     time-picker-inline
                     placeholder="시작일"
                     locale="ko"
-                    inputFormat="yyyy-mm-dd"
+                    :format="formatDate"
                   />
                 </div>
                 <div class="pd10">-</div>
@@ -38,7 +38,7 @@
                     time-picker-inline
                     placeholder="종료일"
                     locale="ko"
-                    inputFormat="yyyy-mm-dd"
+                    :format="formatDate"
                   />
                 </div>
               </div>
@@ -118,40 +118,28 @@
               <div  class="layout">
                 <label class="form-title">이미지 첨부파일</label>
     
-                  <div
-                    v-for="(file, index) of this.fileList"
-                    :key="index"
-                    class="input-group"
-                    style="height: 100%"
-                  >
+                  <div v-for="(file, index) of this.fileList" :key="index" class="input-group" style="height: 100%" >
                     <p v-if="file['fileId'] != null">
                       {{ file["fileNm"] }}.{{ file["extnNm"] }}
                     </p>
                     <p v-else>{{ file.name }}</p>
-                    <button
-                      class="icon-btn pd0"
-                      @click="fnFileDelete(file, index)"
-                    >
-                      <svg-icon
+                    <button class="icon-btn"  @click="fnFileDelete(file, index)">X
+                      <!-- <svg-icon
                         type="mdi"
                         :width="15"
                         :height="15"
                         :path="path"
-                      ></svg-icon>
+                      ></svg-icon> -->
                     </button>
                   </div>
                   <div v-if="fileList.length < 1">
-                    <label
-                      for="file"
-                      class="large-btn blue-border-btn text-ct"
-                    >
-                      파일찾기
-                    </label>
+                    <label for="file" class="file-upload" >파일찾기</label>
                     <input
                       type="file"
                       id="file"
                       ref="file"
                       @change="fnFileInsert"
+                      class="sr-only"
                     />
                   </div>
               </div>
@@ -173,7 +161,7 @@
                   <label class="form-title">동영상 URL</label>
                   <input
                     type="text"
-                    class="form-control"
+                    class="form-control sm"
                     placeholder="동영상 주소를 입력하세요."
                     v-model="popup['vdoUrl']"
                     :disabled="popup['popupType'] != 'video'"
@@ -473,6 +461,13 @@
         });
     },
     //─────axios─────┘
+    // 날짜포맷
+    formatDate(date) {
+      const year = date.getFullYear();
+      const month = ('00' + (date.getMonth() + 1)).slice(-2);
+      const day = ('00' + date.getDate()).slice(-2);
+      return `${year}-${month}-${day}`;
+    },
   },
   watch: {
     // 팝업 크기 셀렉트 박스 초기화
client/views/pages/adm/statistics/BbsStatistics.vue
--- client/views/pages/adm/statistics/BbsStatistics.vue
+++ client/views/pages/adm/statistics/BbsStatistics.vue
@@ -46,12 +46,8 @@
         <button class="btn sm main" @click="axiosSelectList">
           조회
         </button>
-        <button
-          class="large-btn green-border-btn"
-          v-if="pageAuth.fileDwnldAuthrt == 'Y' && bbsCnt > 0"
-          @click="fnDownload"
-        >
-          다운로드
+        <button class="btn sm tertiary ico-before ico-download"  v-if="pageAuth.fileDwnldAuthrt == 'Y' && bbsCnt > 0" @click="fnDownload" >
+          엑셀 다운로드
         </button>
     </div>
   </div>
client/views/pages/adm/statistics/MenuStatistics.vue
--- client/views/pages/adm/statistics/MenuStatistics.vue
+++ client/views/pages/adm/statistics/MenuStatistics.vue
@@ -46,12 +46,8 @@
         <button class="btn sm main" @click="axiosSelectList">
           조회
         </button>
-        <button
-          class="large-btn green-border-btn"
-          v-if="pageAuth.fileDwnldAuthrt == 'Y'"
-          @click="fnDownload"
-        >
-          다운로드
+        <button class="btn sm tertiary ico-before ico-download"  v-if="pageAuth.fileDwnldAuthrt == 'Y'"  @click="fnDownload">
+          엑셀 다운로드
         </button>
     </div>
   </div>
client/views/pages/adm/statistics/UserStatistics.vue
--- client/views/pages/adm/statistics/UserStatistics.vue
+++ client/views/pages/adm/statistics/UserStatistics.vue
@@ -50,12 +50,8 @@
         조회
       </button>
 
-      <button
-        class="large-btn green-border-btn"
-        v-if="pageAuth.fileDwnldAuthrt == 'Y'"
-        @click="fnDownload"
-      >
-        다운로드
+      <button class="btn sm tertiary ico-before ico-download" v-if="pageAuth.fileDwnldAuthrt == 'Y'"  @click="fnDownload">
+        엑셀 다운로드
       </button>
 
     </div>
client/views/themes/tema_v1/css/component.css (Renamed from client/views/theme/tema_v1/css/component.css)
--- client/views/theme/tema_v1/css/component.css
+++ client/views/themes/tema_v1/css/component.css
No changes
client/views/themes/tema_v1/css/main.css (Renamed from client/views/theme/tema_v1/css/main.css)
--- client/views/theme/tema_v1/css/main.css
+++ client/views/themes/tema_v1/css/main.css
No changes
client/views/themes/tema_v1/css/style.css (Renamed from client/views/theme/tema_v1/css/style.css)
--- client/views/theme/tema_v1/css/style.css
+++ client/views/themes/tema_v1/css/style.css
No changes
client/views/themes/tema_v1/img/A00.svg (Renamed from client/views/theme/tema_v1/img/A00.svg)
--- client/views/theme/tema_v1/img/A00.svg
+++ client/views/themes/tema_v1/img/A00.svg
No changes
client/views/themes/tema_v1/img/next.svg (Renamed from client/views/theme/tema_v1/img/next.svg)
--- client/views/theme/tema_v1/img/next.svg
+++ client/views/themes/tema_v1/img/next.svg
No changes
client/views/themes/tema_v1/img/play.svg (Renamed from client/views/theme/tema_v1/img/play.svg)
--- client/views/theme/tema_v1/img/play.svg
+++ client/views/themes/tema_v1/img/play.svg
No changes
client/views/themes/tema_v1/img/prev.svg (Renamed from client/views/theme/tema_v1/img/prev.svg)
--- client/views/theme/tema_v1/img/prev.svg
+++ client/views/themes/tema_v1/img/prev.svg
No changes
client/views/themes/tema_v1/img/stop.svg (Renamed from client/views/theme/tema_v1/img/stop.svg)
--- client/views/theme/tema_v1/img/stop.svg
+++ client/views/themes/tema_v1/img/stop.svg
No changes
client/views/themes/tema_v2/css/component.css (Renamed from client/views/theme/tema_v2/css/component.css)
--- client/views/theme/tema_v2/css/component.css
+++ client/views/themes/tema_v2/css/component.css
No changes
client/views/themes/tema_v2/css/main.css (Renamed from client/views/theme/tema_v2/css/main.css)
--- client/views/theme/tema_v2/css/main.css
+++ client/views/themes/tema_v2/css/main.css
No changes
client/views/themes/tema_v2/css/style.css (Renamed from client/views/theme/tema_v2/css/style.css)
--- client/views/theme/tema_v2/css/style.css
+++ client/views/themes/tema_v2/css/style.css
No changes
client/views/themes/tema_v2/img/A00.svg (Renamed from client/views/theme/tema_v2/img/A00.svg)
--- client/views/theme/tema_v2/img/A00.svg
+++ client/views/themes/tema_v2/img/A00.svg
No changes
client/views/themes/tema_v2/img/btn_bullet_white.png (Binary) (Renamed from client/views/theme/tema_v2/img/btn_bullet_white.png (Binary))
--- client/views/theme/tema_v2/img/btn_bullet_white.png
+++ client/views/themes/tema_v2/img/btn_bullet_white.png
Binary file is not shown
client/views/themes/tema_v2/img/btn_list_bullet.png (Binary) (Renamed from client/views/theme/tema_v2/img/btn_list_bullet.png (Binary))
--- client/views/theme/tema_v2/img/btn_list_bullet.png
+++ client/views/themes/tema_v2/img/btn_list_bullet.png
Binary file is not shown
client/views/themes/tema_v2/img/circle_arrow.png (Binary) (Renamed from client/views/theme/tema_v2/img/circle_arrow.png (Binary))
--- client/views/theme/tema_v2/img/circle_arrow.png
+++ client/views/themes/tema_v2/img/circle_arrow.png
Binary file is not shown
client/views/themes/tema_v2/img/img1.png (Binary) (Renamed from client/views/theme/tema_v2/img/img1.png (Binary))
--- client/views/theme/tema_v2/img/img1.png
+++ client/views/themes/tema_v2/img/img1.png
Binary file is not shown
client/views/themes/tema_v2/img/img_service_05.png (Binary) (Renamed from client/views/theme/tema_v2/img/img_service_05.png (Binary))
--- client/views/theme/tema_v2/img/img_service_05.png
+++ client/views/themes/tema_v2/img/img_service_05.png
Binary file is not shown
client/views/themes/tema_v2/img/next.svg (Renamed from client/views/theme/tema_v2/img/next.svg)
--- client/views/theme/tema_v2/img/next.svg
+++ client/views/themes/tema_v2/img/next.svg
No changes
client/views/themes/tema_v2/img/play.svg (Renamed from client/views/theme/tema_v2/img/play.svg)
--- client/views/theme/tema_v2/img/play.svg
+++ client/views/themes/tema_v2/img/play.svg
No changes
client/views/themes/tema_v2/img/prev.svg (Renamed from client/views/theme/tema_v2/img/prev.svg)
--- client/views/theme/tema_v2/img/prev.svg
+++ client/views/themes/tema_v2/img/prev.svg
No changes
client/views/themes/tema_v2/img/stop.svg (Renamed from client/views/theme/tema_v2/img/stop.svg)
--- client/views/theme/tema_v2/img/stop.svg
+++ client/views/themes/tema_v2/img/stop.svg
No changes
webpack.config.js
--- webpack.config.js
+++ webpack.config.js
@@ -12,7 +12,7 @@
   devtool: 'source-map',
 
   entry: {
-    app: [`${BASE_DIR}/client/views/index.js`]
+    app: [`${BASE_DIR}/client/views/index.js`],
   },
 
   module: {
@@ -35,7 +35,7 @@
     //       fallback: require.resolve('file-loader')
     //     }
     //   }]
-    // }
+    // },
     {
       test: /\.scss$/,
       use: [
@@ -53,7 +53,7 @@
     },
     {
       test: /\.(jpe?g|png|gif|svg|ttf|eot|woff|woff2)$/i,
-      type: 'asset/resource',
+      type: 'asset/resource',//asset/resource :	무조건 파일 출력,asset/inline :	무조건 base64로 인라인,asset : 자동 판단 (기본 limit 8KB)
     },
     ],
   },
Add a comment
List