
+++ client/resources/img/component/common/ico_sch_20_gn.svg
... | ... | @@ -0,0 +1,12 @@ |
1 | +<?xml version="1.0" encoding="utf-8"?> | |
2 | +<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | |
3 | +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" | |
4 | + y="0px" viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve"> | |
5 | +<style type="text/css"> | |
6 | + .st0{fill:none;stroke:#228738;} | |
7 | + .st1{fill:#228738;} | |
8 | +</style> | |
9 | +<path class="st0" d="M9,2.5L9,2.5c3.6,0,6.5,2.9,6.5,6.5l0,0c0,3.6-2.9,6.5-6.5,6.5l0,0c-3.6,0-6.5-2.9-6.5-6.5l0,0 | |
10 | + C2.5,5.4,5.4,2.5,9,2.5z"/> | |
11 | +<rect x="15" y="12.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.4099 15.4748)" class="st1" width="1" height="6"/> | |
12 | +</svg> |
--- client/resources/scss/admin/content.scss
+++ client/resources/scss/admin/content.scss
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 |
padding: 3rem; |
5 | 5 |
|
6 | 6 |
>.content-zone { |
7 |
- height: calc(100% - 140px); |
|
7 |
+ height: calc(100% - 142px); |
|
8 | 8 |
// background-color: #ffffff; |
9 | 9 |
// padding: 3rem; |
10 | 10 |
// @include radius(20); |
... | ... | @@ -41,21 +41,60 @@ |
41 | 41 |
margin-bottom: 1rem; |
42 | 42 |
} |
43 | 43 |
|
44 |
-.search-bar { |
|
44 |
+.search-wrap{ |
|
45 | 45 |
@include flex-layout(flex, center, end); |
46 |
- margin-bottom: 3rem; |
|
47 |
- |
|
48 |
- .form-select { |
|
49 |
- width: 120px; |
|
50 |
- } |
|
51 |
- |
|
52 |
- .form-control { |
|
53 |
- width: 300px; |
|
54 |
- margin-left: 1rem; |
|
55 |
- } |
|
56 |
- |
|
57 |
- .btn { |
|
58 |
- margin-left: 1rem; |
|
46 |
+ .search-bar { |
|
47 |
+ position: relative; |
|
48 |
+ @include flex-layout(flex, center, end); |
|
49 |
+ margin-bottom: 3rem; |
|
50 |
+ |
|
51 |
+ .form-select { |
|
52 |
+ width: 120px; |
|
53 |
+ |
|
54 |
+ &.border-none{ |
|
55 |
+ border: none; |
|
56 |
+ margin-left: 0; |
|
57 |
+ } |
|
58 |
+ } |
|
59 |
+ |
|
60 |
+ .form-control { |
|
61 |
+ width: 300px; |
|
62 |
+ margin-left: 1rem; |
|
63 |
+ |
|
64 |
+ &.border-none{ |
|
65 |
+ border: none; |
|
66 |
+ margin-left: 0; |
|
67 |
+ } |
|
68 |
+ } |
|
69 |
+ |
|
70 |
+ button{ |
|
71 |
+ |
|
72 |
+ &.btn { |
|
73 |
+ margin-left: 1rem; |
|
74 |
+ } |
|
75 |
+ |
|
76 |
+ &.btn-ico{ |
|
77 |
+ position: absolute; |
|
78 |
+ top: 50%; |
|
79 |
+ right: 1rem; |
|
80 |
+ transform: translateY(-50%); |
|
81 |
+ &.main{ |
|
82 |
+ &.ico-sch { |
|
83 |
+ &::before, |
|
84 |
+ &::after { |
|
85 |
+ background-image: url(#{$url}/component/common/ico_sch_20_gn.svg); |
|
86 |
+ } |
|
87 |
+ } |
|
88 |
+ } |
|
89 |
+ } |
|
90 |
+ } |
|
91 |
+ |
|
92 |
+ &.border{ |
|
93 |
+ width: fit-content; |
|
94 |
+ border: 1px solid var(--tk-gray-60); |
|
95 |
+ background-color: var(--tk-white); |
|
96 |
+ border-radius: var(--tk-input-rd-sm); |
|
97 |
+ } |
|
59 | 98 |
} |
60 | 99 |
} |
61 | 100 |
|
... | ... | @@ -85,7 +124,6 @@ |
85 | 124 |
padding: 3rem 0; |
86 | 125 |
} |
87 | 126 |
} |
88 |
- |
|
89 | 127 |
|
90 | 128 |
.form-content { |
91 | 129 |
padding: 2rem; |
... | ... | @@ -188,8 +226,6 @@ |
188 | 226 |
} |
189 | 227 |
|
190 | 228 |
} |
191 |
- |
|
192 |
- |
|
193 | 229 |
|
194 | 230 |
|
195 | 231 |
.form-box { |
... | ... | @@ -329,7 +365,6 @@ |
329 | 365 |
height:350px |
330 | 366 |
} |
331 | 367 |
|
332 |
- |
|
333 | 368 |
.area{ |
334 | 369 |
font-size: var(--tk-input-fz-sm); |
335 | 370 |
} |
... | ... | @@ -347,20 +382,38 @@ |
347 | 382 |
overflow-y: auto; |
348 | 383 |
} |
349 | 384 |
|
350 |
- .tbl.data thead{ |
|
351 |
- th{ |
|
352 |
- background-color: #c8d0d8; |
|
353 |
- &:first-child{ |
|
354 |
- border-radius: 1rem 0 0 0; |
|
385 |
+ .tbl.data{ |
|
386 |
+ thead{ |
|
387 |
+ th{ |
|
388 |
+ background-color: #c8d0d8; |
|
389 |
+ &:first-child{ |
|
390 |
+ border-radius: 1rem 0 0 0; |
|
391 |
+ } |
|
392 |
+ &:last-child{ |
|
393 |
+ border-radius: 0 1rem 0 0; |
|
394 |
+ } |
|
355 | 395 |
} |
356 |
- &:last-child{ |
|
357 |
- border-radius: 0 1rem 0 0; |
|
396 |
+ } |
|
397 |
+ |
|
398 |
+ tbody{ |
|
399 |
+ tr{ |
|
400 |
+ &:last-child{ |
|
401 |
+ td{ |
|
402 |
+ &:first-child{ |
|
403 |
+ border-radius: 0 0 0 1rem; |
|
404 |
+ } |
|
405 |
+ &:last-child{ |
|
406 |
+ border-radius: 0 0 1rem 0; |
|
407 |
+ } |
|
408 |
+ } |
|
409 |
+ } |
|
358 | 410 |
} |
359 | 411 |
} |
360 | 412 |
} |
361 | 413 |
|
362 | 414 |
|
363 | 415 |
} |
416 |
+ |
|
364 | 417 |
.mixing thead th{ |
365 | 418 |
border-right: 1px solid var(--tk-secondary-30); |
366 | 419 |
|
... | ... | @@ -411,3 +464,10 @@ |
411 | 464 |
height: 100%; |
412 | 465 |
} |
413 | 466 |
|
467 |
+.layout{ |
|
468 |
+ @include flex-layout(flex, center, flex-start); |
|
469 |
+ .ml10{ |
|
470 |
+ margin-left: 1rem; |
|
471 |
+ } |
|
472 |
+} |
|
473 |
+ |
--- client/resources/scss/common/component/_pagination.scss
+++ client/resources/scss/common/component/_pagination.scss
... | ... | @@ -10,8 +10,8 @@ |
10 | 10 |
margin: 0 .5rem; |
11 | 11 |
|
12 | 12 |
&.active{ |
13 |
- background-color: #1a7ed3; |
|
14 |
- border: 1px solid #1a7ed3; |
|
13 |
+ background-color: var(--tk-main-50); |
|
14 |
+ border: 1px solid var(--tk-main-50); |
|
15 | 15 |
color: var(--tk-white); |
16 | 16 |
} |
17 | 17 |
|
--- client/views/pages/adm/boardManagement/boardManagement/BoardManagementSelectList.vue
+++ client/views/pages/adm/boardManagement/boardManagement/BoardManagementSelectList.vue
... | ... | @@ -1,12 +1,16 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <select name="selectType" id="selectType" class="form-select sm" v-model="search.searchType"> |
|
4 |
- <option value="">전체</option> |
|
5 |
- <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd">{{ item.cdNm }}</option> |
|
6 |
- </select> |
|
7 |
- <input type="text" class="form-control sm" v-model="search.searchText" placeholder="검색어를 입력하세요" @keyup.enter="findAll"> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar border"> |
|
4 |
+ <select name="selectType" id="selectType" class="form-select sm border-none" v-model="search.searchType"> |
|
5 |
+ <option value="">전체</option> |
|
6 |
+ <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd">{{ item.cdNm }}</option> |
|
7 |
+ </select> |
|
8 |
+ <input type="text" class="form-control sm border-none" v-model="search.searchText" placeholder="검색어를 입력하세요" @keyup.enter="findAll"> |
|
8 | 9 |
|
9 |
- <button class="btn sm ico-before ico-sch" @click="findAll">검색</button> |
|
10 |
+ <button class="btn-ico xsm main ico-sch" @click="findAll"> |
|
11 |
+ <span class="sr-only">검색</span> |
|
12 |
+ </button> |
|
13 |
+ </div> |
|
10 | 14 |
</div> |
11 | 15 |
<div class="content-zone"> |
12 | 16 |
<div class="content"> |
--- client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectList.vue
+++ client/views/pages/adm/boardManagement/template/commonTemplate/CommonSelectList.vue
... | ... | @@ -71,27 +71,29 @@ |
71 | 71 |
|
72 | 72 |
<!-- 관리자 --> |
73 | 73 |
<template v-else> |
74 |
- <div class="search-bar"> |
|
75 |
- <select |
|
76 |
- class="form-select sm" |
|
77 |
- v-model="search.searchType" |
|
78 |
- > |
|
79 |
- <option value="">전체</option> |
|
80 |
- <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd"> |
|
81 |
- {{ item.cdNm }} |
|
82 |
- </option> |
|
83 |
- </select> |
|
84 |
- <input |
|
85 |
- type="text" |
|
86 |
- class="form-control sm" |
|
87 |
- placeholder="검색어를 입력하세요." |
|
88 |
- v-model="search.searchText" |
|
89 |
- @keyup.enter="findAll" |
|
90 |
- /> |
|
91 |
- <button class="btn sm ico-before ico-sch" @click="findAll"> |
|
92 |
- 검색 |
|
93 |
- </button> |
|
94 |
- <!-- <button class="btn-ico md ico-refresh" @click="fnSearchReset"></button> --> |
|
74 |
+ <div class="search-wrap"> |
|
75 |
+ <div class="search-bar border"> |
|
76 |
+ <select |
|
77 |
+ class="form-select sm border-none" |
|
78 |
+ v-model="search.searchType" |
|
79 |
+ > |
|
80 |
+ <option value="">전체</option> |
|
81 |
+ <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd"> |
|
82 |
+ {{ item.cdNm }} |
|
83 |
+ </option> |
|
84 |
+ </select> |
|
85 |
+ <input |
|
86 |
+ type="text" |
|
87 |
+ class="form-control sm border-none" |
|
88 |
+ placeholder="검색어를 입력하세요." |
|
89 |
+ v-model="search.searchText" |
|
90 |
+ @keyup.enter="findAll" |
|
91 |
+ /> |
|
92 |
+ <button class="btn-ico xsm main ico-sch" @click="findAll"> |
|
93 |
+ <span class="sr-only">검색</span> |
|
94 |
+ </button> |
|
95 |
+ <!-- <button class="btn-ico md ico-refresh" @click="fnSearchReset"></button> --> |
|
96 |
+ </div> |
|
95 | 97 |
</div> |
96 | 98 |
<div class="content-zone"> |
97 | 99 |
<div class="content"> |
--- client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectList.vue
+++ client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectList.vue
... | ... | @@ -1,234 +1,359 @@ |
1 | 1 |
<template> |
2 |
- <div |
|
3 |
- :class="{ |
|
4 |
- content: true, |
|
5 |
- 'overflow-y': pageRole === 'adm', |
|
6 |
- 'w1400 pt50 pb50': pageRole === 'portal', |
|
7 |
- }" |
|
8 |
- > |
|
9 |
- <div |
|
10 |
- :class="{ |
|
11 |
- 'admin-page-title point-font2 mb30': pageRole == 'adm', |
|
12 |
- 'page-title point-font mb30': |
|
13 |
- pageRole == 'portal', |
|
14 |
- }" |
|
15 |
- > |
|
16 |
- <p>{{ bbsMng.bbsNm }}</p> |
|
17 |
- </div> |
|
18 |
- <div class="search-bar mb15"> |
|
19 |
- <div class="flex justify-end align-center no-gutters"> |
|
20 |
- <div class="gd-4"> |
|
21 |
- <div class="border"> |
|
22 |
- <select |
|
23 |
- name="" |
|
24 |
- id="" |
|
25 |
- class="border-none gd-3" |
|
26 |
- v-model="search.searchType" |
|
27 |
- > |
|
28 |
- <option value="">전체</option> |
|
29 |
- <option |
|
30 |
- v-for="(item, idx) in codeList" |
|
31 |
- :key="idx" |
|
32 |
- :value="item.cd" |
|
2 |
+ <template v-if="pageRole === 'portal'"> |
|
3 |
+ <div> |
|
4 |
+ <div> |
|
5 |
+ <p>{{ bbsMng.bbsNm }}</p> |
|
6 |
+ </div> |
|
7 |
+ <div class="search-bar"> |
|
8 |
+ <div class="flex justify-end align-center no-gutters"> |
|
9 |
+ <div class="gd-4"> |
|
10 |
+ <div class="border"> |
|
11 |
+ <select |
|
12 |
+ name="" |
|
13 |
+ id="" |
|
14 |
+ class="border-none gd-3" |
|
15 |
+ v-model="search.searchType" |
|
33 | 16 |
> |
34 |
- {{ item.cdNm }} |
|
35 |
- </option> |
|
36 |
- </select> |
|
37 |
- <input |
|
38 |
- type="text" |
|
39 |
- class="full-input border-none gd-9 condition-input" |
|
40 |
- placeholder="검색어를 입력하세요." |
|
41 |
- v-model="search.searchText" |
|
42 |
- @keyup.enter="findAll" |
|
43 |
- /> |
|
17 |
+ <option value="">전체</option> |
|
18 |
+ <option |
|
19 |
+ v-for="(item, idx) in codeList" |
|
20 |
+ :key="idx" |
|
21 |
+ :value="item.cd" |
|
22 |
+ > |
|
23 |
+ {{ item.cdNm }} |
|
24 |
+ </option> |
|
25 |
+ </select> |
|
26 |
+ <input |
|
27 |
+ type="text" |
|
28 |
+ class="full-input border-none gd-9 condition-input" |
|
29 |
+ placeholder="검색어를 입력하세요." |
|
30 |
+ v-model="search.searchText" |
|
31 |
+ @keyup.enter="findAll" |
|
32 |
+ /> |
|
33 |
+ </div> |
|
44 | 34 |
</div> |
45 |
- </div> |
|
46 |
- <div class="flex gd-3"> |
|
47 |
- <div class="gd-6 pr0"> |
|
48 |
- <button |
|
49 |
- :class="{ |
|
50 |
- 'large-btn': true, |
|
51 |
- 'blue-border-btn': pageRole == 'adm', |
|
52 |
- 'green-border-btn': |
|
53 |
- pageRole == 'portal', |
|
54 |
- }" |
|
55 |
- @click="findAll" |
|
56 |
- > |
|
57 |
- 검색 |
|
58 |
- </button> |
|
59 |
- </div> |
|
60 |
- <div class="gd-6 pr0"> |
|
61 |
- <button class="large-btn darkg-border-btn" @click="fnSearchReset"> |
|
62 |
- <svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화 |
|
63 |
- </button> |
|
35 |
+ <div class="flex gd-3"> |
|
36 |
+ <div class="gd-6 pr0"> |
|
37 |
+ <button |
|
38 |
+ :class="{ |
|
39 |
+ 'large-btn': true, |
|
40 |
+ 'blue-border-btn': pageRole == 'adm', |
|
41 |
+ 'green-border-btn': |
|
42 |
+ pageRole == 'portal', |
|
43 |
+ }" |
|
44 |
+ @click="findAll" |
|
45 |
+ > |
|
46 |
+ 검색 |
|
47 |
+ </button> |
|
48 |
+ </div> |
|
49 |
+ <div class="gd-6 pr0"> |
|
50 |
+ <button class="large-btn darkg-border-btn" @click="fnSearchReset"> |
|
51 |
+ <svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화 |
|
52 |
+ </button> |
|
53 |
+ </div> |
|
64 | 54 |
</div> |
65 | 55 |
</div> |
66 | 56 |
</div> |
67 |
- </div> |
|
68 |
- <table |
|
69 |
- :class="{ |
|
70 |
- 'list-table faq-table mb10': true, |
|
71 |
- 'admin-list': pageRole == 'adm', |
|
72 |
- }" |
|
73 |
- > |
|
74 |
- <colgroup> |
|
75 |
- <col width="10%" /> |
|
76 |
- <col width="40%" /> |
|
77 |
- <col width="15%" /> |
|
78 |
- <col width="15%" /> |
|
79 |
- <col width="20%" /> |
|
80 |
- </colgroup> |
|
81 |
- <thead> |
|
82 |
- <tr> |
|
83 |
- <th>답변상태</th> |
|
84 |
- <th>내용</th> |
|
85 |
- <th>작성자</th> |
|
86 |
- <th>작성일</th> |
|
87 |
- <th>비고</th> |
|
88 |
- </tr> |
|
89 |
- </thead> |
|
90 |
- <tbody> |
|
91 |
- <template v-for="(item, idx) in list" :key="idx"> |
|
92 |
- <tr @click="toggle(idx)"> |
|
93 |
- <td class="text-ct"> |
|
94 |
- {{ item.ansStts == "N" ? "미답변" : "답변완료" }} |
|
95 |
- </td> |
|
96 |
- <td> |
|
97 |
- <div class="flex justify-start align-start"> |
|
98 |
- <span class="gd-1">Q.</span> |
|
99 |
- <div v-if="item.prvtPstYn == 'Y'" class="gd-11"> |
|
100 |
- <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsCn : '[ 비밀글입니다 ]' }} --> |
|
101 |
- <p |
|
102 |
- v-html=" |
|
103 |
- item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
104 |
- ? item.bbsCn |
|
105 |
- : '[ 비밀글입니다 ]' |
|
106 |
- " |
|
107 |
- ></p> |
|
57 |
+ <table> |
|
58 |
+ <colgroup> |
|
59 |
+ <col width="10%" /> |
|
60 |
+ <col width="40%" /> |
|
61 |
+ <col width="15%" /> |
|
62 |
+ <col width="15%" /> |
|
63 |
+ <col width="20%" /> |
|
64 |
+ </colgroup> |
|
65 |
+ <thead> |
|
66 |
+ <tr> |
|
67 |
+ <th>답변상태</th> |
|
68 |
+ <th>내용</th> |
|
69 |
+ <th>작성자</th> |
|
70 |
+ <th>작성일</th> |
|
71 |
+ <th>비고</th> |
|
72 |
+ </tr> |
|
73 |
+ </thead> |
|
74 |
+ <tbody> |
|
75 |
+ <template v-for="(item, idx) in list" :key="idx"> |
|
76 |
+ <tr @click="toggle(idx)"> |
|
77 |
+ <td>{{ item.ansStts == "N" ? "미답변" : "답변완료" }}</td> |
|
78 |
+ <td> |
|
79 |
+ <div> |
|
80 |
+ <span>Q.</span> |
|
81 |
+ <div v-if="item.prvtPstYn == 'Y'"> |
|
82 |
+ <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsCn : '[ 비밀글입니다 ]' }} --> |
|
83 |
+ <p |
|
84 |
+ v-html=" |
|
85 |
+ item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
86 |
+ ? item.bbsCn |
|
87 |
+ : '[ 비밀글입니다 ]' |
|
88 |
+ " |
|
89 |
+ ></p> |
|
90 |
+ </div> |
|
91 |
+ <div v-else> |
|
92 |
+ <!-- {{ item.bbsCn }} --> |
|
93 |
+ <p v-html="item.bbsCn"></p> |
|
94 |
+ </div> |
|
108 | 95 |
</div> |
109 |
- <div v-else class="gd-11"> |
|
110 |
- <!-- {{ item.bbsCn }} --> |
|
111 |
- <p v-html="item.bbsCn"></p> |
|
112 |
- </div> |
|
113 |
- </div> |
|
114 |
- </td> |
|
115 |
- <td class="text-ct">{{ item.rgtrNm }}</td> |
|
116 |
- <td class="text-ct">{{ item.regDt }}</td> |
|
117 |
- <td> |
|
118 |
- <div class="flex"> |
|
119 |
- <template v-if="item.rgtr == mbrId || roles == 'ROLE_ADMIN'"> |
|
120 |
- <div class="gd-4 pr0"> |
|
96 |
+ </td> |
|
97 |
+ <td>{{ item.rgtrNm }}</td> |
|
98 |
+ <td>{{ item.regDt }}</td> |
|
99 |
+ <td> |
|
100 |
+ <div> |
|
101 |
+ <template v-if="item.rgtr == mbrId || roles == 'ROLE_ADMIN'"> |
|
102 |
+ <button class="btn sm primary" |
|
103 |
+ @click="fnUpdate(item.bbsId)" |
|
104 |
+ > |
|
105 |
+ 수정 |
|
106 |
+ </button> |
|
107 |
+ <button |
|
108 |
+ class="btn sm red" |
|
109 |
+ @click="fnDelete(item)" |
|
110 |
+ > |
|
111 |
+ 삭제 |
|
112 |
+ </button> |
|
113 |
+ </template> |
|
114 |
+ <div |
|
115 |
+ v-if="roles == 'ROLE_ADMIN' && item.ansCn == null" |
|
116 |
+ > |
|
121 | 117 |
<button |
122 |
- :class="{ |
|
123 |
- 'large-btn': true, |
|
124 |
- 'blue-border-btn': pageRole == 'adm', |
|
125 |
- 'green-border-btn': |
|
126 |
- pageRole == 'portal', |
|
127 |
- }" |
|
128 |
- @click="fnUpdate(item.bbsId)" |
|
118 |
+ class="btn sm btn-chip-outline primary" |
|
119 |
+ @click="fnAnswer(item.bbsId)" |
|
129 | 120 |
> |
130 |
- 수정 |
|
121 |
+ 답변 |
|
131 | 122 |
</button> |
132 | 123 |
</div> |
133 |
- <div class="gd-4 pr0"> |
|
134 |
- <button |
|
135 |
- class="large-btn red-border-btn" |
|
136 |
- @click="fnDelete(item)" |
|
137 |
- > |
|
138 |
- 삭제 |
|
139 |
- </button> |
|
140 |
- </div> |
|
141 |
- </template> |
|
124 |
+ </div> |
|
125 |
+ </td> |
|
126 |
+ </tr> |
|
127 |
+ <tr v-if="isOpen === idx && item.absBbsId !== null" class="answer"> |
|
128 |
+ <td>A.</td> |
|
129 |
+ <td colspan="3"> |
|
130 |
+ <div> |
|
131 |
+ <template v-if="item.prvtPstYn == 'Y'"> |
|
132 |
+ <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.ansCn : '[ 비밀 답글입니다 ]' }} --> |
|
133 |
+ <p |
|
134 |
+ v-html=" |
|
135 |
+ item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
136 |
+ ? item.ansCn |
|
137 |
+ : '[ 비밀글입니다 ]' |
|
138 |
+ " |
|
139 |
+ ></p> |
|
140 |
+ </template> |
|
141 |
+ <template v-else> |
|
142 |
+ <!-- {{ item.ansCn }} --> |
|
143 |
+ <p v-html="item.ansCn"></p> |
|
144 |
+ </template> |
|
145 |
+ </div> |
|
146 |
+ </td> |
|
147 |
+ <td> |
|
142 | 148 |
<div |
143 |
- v-if="roles == 'ROLE_ADMIN' && item.ansCn == null" |
|
144 |
- class="gd-4 pr0" |
|
145 |
- > |
|
146 |
- <button |
|
147 |
- class="large-btn darkg-border-btn" |
|
148 |
- @click="fnAnswer(item.bbsId)" |
|
149 |
+ v-if="item.ansCn != null && roles == 'ROLE_ADMIN'" |
|
149 | 150 |
> |
150 |
- 답변 |
|
151 |
- </button> |
|
151 |
+ <button |
|
152 |
+ class="btn sm primary" |
|
153 |
+ @click="fnAnswer(item.bbsId)" |
|
154 |
+ > |
|
155 |
+ 답변수정 |
|
156 |
+ </button> |
|
157 |
+ <button |
|
158 |
+ class="btn sm red" |
|
159 |
+ @click="fnAnswerDel(item)" |
|
160 |
+ > |
|
161 |
+ 답변삭제 |
|
162 |
+ </button> |
|
152 | 163 |
</div> |
153 |
- </div> |
|
154 |
- </td> |
|
155 |
- </tr> |
|
156 |
- <tr v-if="isOpen === idx && item.absBbsId !== null" class="answer"> |
|
157 |
- <td class="text-ct">A.</td> |
|
158 |
- <td colspan="3"> |
|
159 |
- <div class="pt30 pb30 pr30"> |
|
160 |
- <template v-if="item.prvtPstYn == 'Y'"> |
|
161 |
- <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.ansCn : '[ 비밀 답글입니다 ]' }} --> |
|
162 |
- <p |
|
163 |
- v-html=" |
|
164 |
- item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
165 |
- ? item.ansCn |
|
166 |
- : '[ 비밀글입니다 ]' |
|
167 |
- " |
|
168 |
- ></p> |
|
169 |
- </template> |
|
170 |
- <template v-else> |
|
171 |
- <!-- {{ item.ansCn }} --> |
|
172 |
- <p v-html="item.ansCn"></p> |
|
173 |
- </template> |
|
174 |
- </div> |
|
175 |
- </td> |
|
176 |
- <td> |
|
177 |
- <div |
|
178 |
- v-if="item.ansCn != null && roles == 'ROLE_ADMIN'" |
|
179 |
- class="flex align-center" |
|
180 |
- > |
|
181 |
- <div class="gd-4 pr0"> |
|
182 |
- <button |
|
183 |
- :class="{ |
|
184 |
- 'large-btn': true, |
|
185 |
- 'blue-border-btn': pageRole == 'adm', |
|
186 |
- 'green-border-btn': |
|
187 |
- pageRole == 'portal', |
|
188 |
- }" |
|
189 |
- @click="fnAnswer(item.bbsId)" |
|
190 |
- > |
|
191 |
- 답변수정 |
|
192 |
- </button> |
|
193 |
- </div> |
|
194 |
- <div class="gd-4 pr0"> |
|
195 |
- <button |
|
196 |
- class="large-btn red-border-btn" |
|
197 |
- @click="fnAnswerDel(item)" |
|
198 |
- > |
|
199 |
- 답변삭제 |
|
200 |
- </button> |
|
201 |
- </div> |
|
202 |
- </div> |
|
203 |
- </td> |
|
204 |
- </tr> |
|
205 |
- </template> |
|
206 |
- </tbody> |
|
207 |
- </table> |
|
208 |
- <div class="flex justify-between align-center no-gutters"> |
|
209 |
- <div class="gd-1"></div> |
|
210 |
- <div class="gd-10"> |
|
164 |
+ </td> |
|
165 |
+ </tr> |
|
166 |
+ </template> |
|
167 |
+ </tbody> |
|
168 |
+ </table> |
|
169 |
+ <div class="btn-wrap list"> |
|
170 |
+ <div></div> |
|
211 | 171 |
<PaginationButton |
212 | 172 |
:className="pageRole === 'adm' ? 'admin-pagination' : ''" |
213 | 173 |
v-model:currentPage="search.currentPage" |
214 | 174 |
:pagination="search" |
215 | 175 |
:click="findAll" |
216 | 176 |
/> |
217 |
- </div> |
|
218 |
- <div div v-if="pageAuth.regAuthrt == 'Y'" class="gd-1"> |
|
219 |
- <button |
|
220 |
- :class="{ |
|
221 |
- 'large-btn': true, |
|
222 |
- 'blue-border-btn': pageRole == 'adm', |
|
223 |
- 'green-btn': pageRole == 'portal', |
|
224 |
- }" |
|
225 |
- @click="fnAdd" |
|
226 |
- > |
|
227 |
- 등록 |
|
228 |
- </button> |
|
177 |
+ <template div v-if="pageAuth.regAuthrt == 'Y'"> |
|
178 |
+ <button class="btn sm main" |
|
179 |
+ @click="fnAdd" |
|
180 |
+ > |
|
181 |
+ 등록 |
|
182 |
+ </button> |
|
183 |
+ </template> |
|
229 | 184 |
</div> |
230 | 185 |
</div> |
231 |
- </div> |
|
186 |
+ </template> |
|
187 |
+ <template v-else> |
|
188 |
+ <div class="search-wrap"> |
|
189 |
+ <div class="search-bar border"> |
|
190 |
+ <select |
|
191 |
+ class="form-select sm border-none" |
|
192 |
+ v-model="search.searchType" |
|
193 |
+ > |
|
194 |
+ <option value="">전체</option> |
|
195 |
+ <option |
|
196 |
+ v-for="(item, idx) in codeList" |
|
197 |
+ :key="idx" |
|
198 |
+ :value="item.cd" |
|
199 |
+ > |
|
200 |
+ {{ item.cdNm }} |
|
201 |
+ </option> |
|
202 |
+ </select> |
|
203 |
+ <input |
|
204 |
+ type="text" |
|
205 |
+ class="form-control sm border-none" |
|
206 |
+ placeholder="검색어를 입력하세요." |
|
207 |
+ v-model="search.searchText" |
|
208 |
+ @keyup.enter="findAll" |
|
209 |
+ /> |
|
210 |
+ <button class="btn-ico xsm main ico-sch" @click="findAll"> |
|
211 |
+ <span class="sr-only">검색</span> |
|
212 |
+ </button> |
|
213 |
+ <!-- <button class="large-btn darkg-border-btn" @click="fnSearchReset"> |
|
214 |
+ <svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화 |
|
215 |
+ </button> --> |
|
216 |
+ </div> |
|
217 |
+ </div> |
|
218 |
+ <div class="content-zone"> |
|
219 |
+ <div class="content"> |
|
220 |
+ <div class="scroll"> |
|
221 |
+ <div class="tbl-wrap"> |
|
222 |
+ <table class="tbl data cursor"> |
|
223 |
+ <colgroup> |
|
224 |
+ <col width="10%" /> |
|
225 |
+ <col width="40%" /> |
|
226 |
+ <col width="15%" /> |
|
227 |
+ <col width="15%" /> |
|
228 |
+ <col width="20%" /> |
|
229 |
+ </colgroup> |
|
230 |
+ <thead> |
|
231 |
+ <tr> |
|
232 |
+ <th>답변상태</th> |
|
233 |
+ <th>내용</th> |
|
234 |
+ <th>작성자</th> |
|
235 |
+ <th>작성일</th> |
|
236 |
+ <th>비고</th> |
|
237 |
+ </tr> |
|
238 |
+ </thead> |
|
239 |
+ <tbody> |
|
240 |
+ <template v-for="(item, idx) in list" :key="idx"> |
|
241 |
+ <tr @click="toggle(idx)"> |
|
242 |
+ <td>{{ item.ansStts == "N" ? "미답변" : "답변완료" }}</td> |
|
243 |
+ <td> |
|
244 |
+ <div class="layout"> |
|
245 |
+ <span>Q.</span> |
|
246 |
+ <div v-if="item.prvtPstYn == 'Y'"> |
|
247 |
+ <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsCn : '[ 비밀글입니다 ]' }} --> |
|
248 |
+ <p |
|
249 |
+ v-html=" |
|
250 |
+ item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
251 |
+ ? item.bbsCn |
|
252 |
+ : '[ 비밀글입니다 ]' |
|
253 |
+ " |
|
254 |
+ ></p> |
|
255 |
+ </div> |
|
256 |
+ <div v-else> |
|
257 |
+ <!-- {{ item.bbsCn }} --> |
|
258 |
+ <p v-html="item.bbsCn"></p> |
|
259 |
+ </div> |
|
260 |
+ </div> |
|
261 |
+ </td> |
|
262 |
+ <td>{{ item.rgtrNm }}</td> |
|
263 |
+ <td>{{ item.regDt }}</td> |
|
264 |
+ <td> |
|
265 |
+ <div> |
|
266 |
+ <template v-if="item.rgtr == mbrId || roles == 'ROLE_ADMIN'"> |
|
267 |
+ <button class="btn sm primary" |
|
268 |
+ @click="fnUpdate(item.bbsId)" |
|
269 |
+ > |
|
270 |
+ 수정 |
|
271 |
+ </button> |
|
272 |
+ <button |
|
273 |
+ class="btn sm red" |
|
274 |
+ @click="fnDelete(item)" |
|
275 |
+ > |
|
276 |
+ 삭제 |
|
277 |
+ </button> |
|
278 |
+ </template> |
|
279 |
+ <div |
|
280 |
+ v-if="roles == 'ROLE_ADMIN' && item.ansCn == null" |
|
281 |
+ > |
|
282 |
+ <button |
|
283 |
+ class="btn sm btn-chip-outline primary" |
|
284 |
+ @click="fnAnswer(item.bbsId)" |
|
285 |
+ > |
|
286 |
+ 답변 |
|
287 |
+ </button> |
|
288 |
+ </div> |
|
289 |
+ </div> |
|
290 |
+ </td> |
|
291 |
+ </tr> |
|
292 |
+ <tr v-if="isOpen === idx && item.absBbsId !== null" class="answer"> |
|
293 |
+ <td></td> |
|
294 |
+ <td colspan="3"> |
|
295 |
+ <div class="layout"> |
|
296 |
+ <span>A.</span> |
|
297 |
+ <div v-if="item.prvtPstYn == 'Y'"> |
|
298 |
+ <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.ansCn : '[ 비밀 답글입니다 ]' }} --> |
|
299 |
+ <p |
|
300 |
+ v-html=" |
|
301 |
+ item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
302 |
+ ? item.ansCn |
|
303 |
+ : '[ 비밀글입니다 ]' |
|
304 |
+ " |
|
305 |
+ ></p> |
|
306 |
+ </div> |
|
307 |
+ <div v-else> |
|
308 |
+ <!-- {{ item.ansCn }} --> |
|
309 |
+ <p v-html="item.ansCn"></p> |
|
310 |
+ </div> |
|
311 |
+ </div> |
|
312 |
+ </td> |
|
313 |
+ <td> |
|
314 |
+ <div |
|
315 |
+ v-if="item.ansCn != null && roles == 'ROLE_ADMIN'" |
|
316 |
+ > |
|
317 |
+ <button |
|
318 |
+ class="btn sm primary" |
|
319 |
+ @click="fnAnswer(item.bbsId)" |
|
320 |
+ > |
|
321 |
+ 답변수정 |
|
322 |
+ </button> |
|
323 |
+ <button |
|
324 |
+ class="btn sm red" |
|
325 |
+ @click="fnAnswerDel(item)" |
|
326 |
+ > |
|
327 |
+ 답변삭제 |
|
328 |
+ </button> |
|
329 |
+ </div> |
|
330 |
+ </td> |
|
331 |
+ </tr> |
|
332 |
+ </template> |
|
333 |
+ </tbody> |
|
334 |
+ </table> |
|
335 |
+ </div> |
|
336 |
+ </div> |
|
337 |
+ </div> |
|
338 |
+ </div> |
|
339 |
+ <div class="btn-wrap list"> |
|
340 |
+ <div></div> |
|
341 |
+ <PaginationButton |
|
342 |
+ :className="pageRole === 'adm' ? 'admin-pagination' : ''" |
|
343 |
+ v-model:currentPage="search.currentPage" |
|
344 |
+ :pagination="search" |
|
345 |
+ :click="findAll" |
|
346 |
+ /> |
|
347 |
+ <template div v-if="pageAuth.regAuthrt == 'Y'"> |
|
348 |
+ <button class="btn sm main" |
|
349 |
+ @click="fnAdd" |
|
350 |
+ > |
|
351 |
+ 등록 |
|
352 |
+ </button> |
|
353 |
+ </template> |
|
354 |
+ </div> |
|
355 |
+ |
|
356 |
+ </template> |
|
232 | 357 |
</template> |
233 | 358 |
|
234 | 359 |
<script> |
--- client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue
+++ client/views/pages/adm/boardManagement/template/galleryTemplate/GallerySelectList.vue
... | ... | @@ -53,28 +53,73 @@ |
53 | 53 |
</div> |
54 | 54 |
</template> |
55 | 55 |
<template v-else> |
56 |
- <div class="search-bar"> |
|
57 |
- <select name="" id="" class="form-select sm" v-model="search.searchType"> |
|
58 |
- <option value="">전체</option> |
|
59 |
- <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd">{{ item.cdNm }}</option> |
|
60 |
- </select> |
|
61 |
- <input type="text" class="form-control sm" |
|
62 |
- placeholder="검색어를 입력하세요." v-model="search.searchText" @keyup.enter="findAll"> |
|
56 |
+ <div class="search-wrap"> |
|
57 |
+ <div class="search-bar border"> |
|
58 |
+ <select name="" id="" class="form-select sm border-none" v-model="search.searchType"> |
|
59 |
+ <option value="">전체</option> |
|
60 |
+ <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd">{{ item.cdNm }}</option> |
|
61 |
+ </select> |
|
62 |
+ <input type="text" class="form-control sm border-none" |
|
63 |
+ placeholder="검색어를 입력하세요." v-model="search.searchText" @keyup.enter="findAll"> |
|
63 | 64 |
|
64 | 65 |
|
65 |
- <button @click="findAll">검색</button> |
|
66 |
- |
|
67 |
- <!-- <button class="large-btn darkg-border-btn" @click="fnSearchReset"><svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화</button> --> |
|
66 |
+ <button class="btn-ico xsm main ico-sch" @click="findAll"> |
|
67 |
+ <span class="sr-only">검색</span> |
|
68 |
+ </button> |
|
69 |
+ |
|
70 |
+ <!-- <button class="large-btn darkg-border-btn" @click="fnSearchReset"><svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화</button> --> |
|
71 |
+ </div> |
|
68 | 72 |
</div> |
69 | 73 |
<div class="content-zone"> |
70 | 74 |
<div class="content"> |
71 | 75 |
<div class="scroll"> |
72 |
- <div class="title-zone"> |
|
73 |
- <div class="page-title"> |
|
74 |
- <p>{{ bbsMng.bbsNm }}</p> |
|
75 |
- </div> |
|
76 |
+ <div class="tbl-wrap"> |
|
77 |
+ <table class="tbl data"> |
|
78 |
+ <colgroup> |
|
79 |
+ <!-- <col width="10%" /> --> |
|
80 |
+ <col width="60%" /> |
|
81 |
+ <col width="15%" /> |
|
82 |
+ <col width="15%" /> |
|
83 |
+ </colgroup> |
|
84 |
+ <thead> |
|
85 |
+ <tr> |
|
86 |
+ <!-- <th>NO</th> --> |
|
87 |
+ <th>제목</th> |
|
88 |
+ <th>작성자</th> |
|
89 |
+ <th>작성일</th> |
|
90 |
+ </tr> |
|
91 |
+ </thead> |
|
92 |
+ <tbody> |
|
93 |
+ <template v-for="(item, idx) in list" :key="idx"> |
|
94 |
+ <tr @click="fnView(idx)"> |
|
95 |
+ <!-- <td> |
|
96 |
+ |
|
97 |
+ </td> --> |
|
98 |
+ <td> |
|
99 |
+ <div class="layout"> |
|
100 |
+ <img :src="item.absltPath" /> |
|
101 |
+ <div> |
|
102 |
+ <template v-if="item.prvtPstYn == 'Y'"> |
|
103 |
+ <p>{{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsNm : '비밀글입니다' }}</p> |
|
104 |
+ </template> |
|
105 |
+ <template v-else> |
|
106 |
+ <p>{{ item.bbsNm }}</p> |
|
107 |
+ </template> |
|
108 |
+ </div> |
|
109 |
+ </div> |
|
110 |
+ </td> |
|
111 |
+ <td> |
|
112 |
+ {{ item.rgtrNm }} |
|
113 |
+ </td> |
|
114 |
+ <td> |
|
115 |
+ {{ item.regDt }} |
|
116 |
+ </td> |
|
117 |
+ </tr> |
|
118 |
+ </template> |
|
119 |
+ </tbody> |
|
120 |
+ </table> |
|
76 | 121 |
</div> |
77 |
- <div class="gall-content"> |
|
122 |
+ <!-- <div class="gall-content"> |
|
78 | 123 |
<div v-for="(item, idx) in list" :key="idx" @click="fnView(idx)" class="gall-item"> |
79 | 124 |
<div class="gall-img"> |
80 | 125 |
<img :src="item.absltPath" /> |
... | ... | @@ -97,7 +142,7 @@ |
97 | 142 |
<p class="pl5 date-text">{{ item.regDt }}</p> |
98 | 143 |
</div> |
99 | 144 |
</div> |
100 |
- </div> |
|
145 |
+ </div> --> |
|
101 | 146 |
</div> |
102 | 147 |
</div> |
103 | 148 |
</div> |
--- client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue
+++ client/views/pages/adm/boardManagement/template/videoTemplate/VideoSelectList.vue
... | ... | @@ -1,41 +1,74 @@ |
1 | 1 |
<template> |
2 |
- <div :class="{ |
|
3 |
- 'content': true, |
|
4 |
- '': pageRole === 'adm', |
|
5 |
- 'w1400 pt50 pb50': pageRole === 'portal' |
|
6 |
- }"> |
|
7 |
- <div :class="{ |
|
8 |
- 'admin-page-title point-font2 mb30': pageRole == 'adm', |
|
9 |
- 'page-title point-font mb30': pageRole == 'portal' , |
|
10 |
- }"> |
|
11 |
- <p>{{ bbsMng.bbsNm }}</p> |
|
2 |
+ <template v-if="pageRole === 'portal'"></template> |
|
3 |
+ <template v-else> |
|
4 |
+ <div class="search-wrap"> |
|
5 |
+ <div class="search-bar border"> |
|
6 |
+ <select class="form-select sm border-none" v-model="search.searchType"> |
|
7 |
+ <option value="">전체</option> |
|
8 |
+ <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd">{{ item.cdNm }}</option> |
|
9 |
+ </select> |
|
10 |
+ <input type="text" class="full-input border-none gd-9 condition-input" placeholder="검색어를 입력하세요." v-model="search.searchText" @keyup.enter="findAll"> |
|
11 |
+ |
|
12 |
+ |
|
13 |
+ <button class="form-control sm border-none" @click="findAll">검색</button> |
|
14 |
+ |
|
15 |
+ <!-- <button class="large-btn darkg-border-btn" @click="fnSearchReset"><svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화</button> --> |
|
16 |
+ </div> |
|
12 | 17 |
</div> |
13 |
- <div class="search-bar mb15"> |
|
14 |
- <div class="flex justify-end align-center no-gutters"> |
|
15 |
- <div class="gd-4"> |
|
16 |
- <div class="border"> |
|
17 |
- <select name="" id="" class="border-none gd-3" v-model="search.searchType"> |
|
18 |
- <option value="">전체</option> |
|
19 |
- <option v-for="(item, idx) in codeList" :key="idx" :value="item.cd">{{ item.cdNm }}</option> |
|
20 |
- </select> |
|
21 |
- <input type="text" class="full-input border-none gd-9 condition-input" placeholder="검색어를 입력하세요." v-model="search.searchText" @keyup.enter="findAll"> |
|
22 |
- </div> |
|
23 |
- </div> |
|
24 |
- <div class="flex gd-3"> |
|
25 |
- <div class="gd-6 pr0"> |
|
26 |
- <button :class="{ |
|
27 |
- 'large-btn': true, |
|
28 |
- 'blue-border-btn': pageRole == 'adm', |
|
29 |
- 'green-border-btn': pageRole == 'portal', |
|
30 |
- }" @click="findAll">검색</button> |
|
31 |
- </div> |
|
32 |
- <div class="gd-6 pr0"> |
|
33 |
- <button class="large-btn darkg-border-btn" @click="fnSearchReset"><svg-icon type="mdi" :path="refreshPath"></svg-icon> 초기화</button> |
|
18 |
+ <div class="content-zone"> |
|
19 |
+ <div class="content"> |
|
20 |
+ <div class="scroll"> |
|
21 |
+ <div class="tbl-wrap"> |
|
22 |
+ <table class="tbl data"> |
|
23 |
+ <colgroup> |
|
24 |
+ <!-- <col width="10%" /> --> |
|
25 |
+ <col width="60%" /> |
|
26 |
+ <col width="15%" /> |
|
27 |
+ <col width="15%" /> |
|
28 |
+ </colgroup> |
|
29 |
+ <thead> |
|
30 |
+ <tr> |
|
31 |
+ <!-- <th>NO</th> --> |
|
32 |
+ <th>제목</th> |
|
33 |
+ <th>작성자</th> |
|
34 |
+ <th>작성일</th> |
|
35 |
+ </tr> |
|
36 |
+ </thead> |
|
37 |
+ <tbody> |
|
38 |
+ <template v-for="(item, idx) in list" :key="idx"> |
|
39 |
+ <tr @click="fnView(idx)"> |
|
40 |
+ <!-- <td> |
|
41 |
+ |
|
42 |
+ </td> --> |
|
43 |
+ <td> |
|
44 |
+ <div class="layout"> |
|
45 |
+ <img v-if="item.absltPath" :src="item.absltPath" /> |
|
46 |
+ <img v-else :src="'https://img.youtube.com/vi/'+makeKey(item.vdoUrl)+'/mqdefault.jpg'"/> |
|
47 |
+ <div class="ml10"> |
|
48 |
+ <template v-if="item.prvtPstYn == 'Y'"> |
|
49 |
+ <p>{{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsNm : '비밀글입니다' }}</p> |
|
50 |
+ </template> |
|
51 |
+ <template v-else> |
|
52 |
+ <p>{{ item.bbsNm }}</p> |
|
53 |
+ </template> |
|
54 |
+ </div> |
|
55 |
+ </div> |
|
56 |
+ </td> |
|
57 |
+ <td> |
|
58 |
+ {{ item.rgtrNm }} |
|
59 |
+ </td> |
|
60 |
+ <td> |
|
61 |
+ {{ item.regDt }} |
|
62 |
+ </td> |
|
63 |
+ </tr> |
|
64 |
+ </template> |
|
65 |
+ </tbody> |
|
66 |
+ </table> |
|
34 | 67 |
</div> |
35 | 68 |
</div> |
36 | 69 |
</div> |
37 | 70 |
</div> |
38 |
- <div class="flex justify-start align-center"> |
|
71 |
+ <!-- <div class="flex justify-start align-center"> |
|
39 | 72 |
<div v-for="(item, idx) in list" class="gd-3 pt10 pb10 cursor" @click="fnView(idx)"> |
40 | 73 |
<div class="gall-img mb20"> |
41 | 74 |
<img v-if="item.absltPath" :src="item.absltPath" class="inline-block"/> |
... | ... | @@ -61,25 +94,19 @@ |
61 | 94 |
</div> |
62 | 95 |
</div> |
63 | 96 |
</div> |
97 |
+ </div> --> |
|
98 |
+ <div class="btn-wrap list"> |
|
99 |
+ <div></div> |
|
100 |
+ <PaginationButton :className="pageRole === 'adm' ? 'admin-pagination':''" |
|
101 |
+ v-model:currentPage="search.currentPage" |
|
102 |
+ :pagination = 'search' |
|
103 |
+ :click="findAll" |
|
104 |
+ /> |
|
105 |
+ <template v-if="pageAuth.regAuthrt =='Y'"> |
|
106 |
+ <button class="btn sm main" @click="fnAdd">등록</button> |
|
107 |
+ </template> |
|
64 | 108 |
</div> |
65 |
- <div class="flex justify-between align-center no-gutters"> |
|
66 |
- <div class="gd-1"></div> |
|
67 |
- <div class="gd-10"> |
|
68 |
- <PaginationButton :className="pageRole === 'adm' ? 'admin-pagination':''" |
|
69 |
- v-model:currentPage="search.currentPage" |
|
70 |
- :pagination = 'search' |
|
71 |
- :click="findAll" |
|
72 |
- /> |
|
73 |
- </div> |
|
74 |
- <div v-if="pageAuth.regAuthrt =='Y'" class="gd-1"> |
|
75 |
- <button :class="{ |
|
76 |
- 'large-btn': true, |
|
77 |
- 'blue-border-btn': pageRole == 'adm', |
|
78 |
- 'green-btn': pageRole == 'portal' , |
|
79 |
- }" @click="fnAdd">등록</button> |
|
80 |
- </div> |
|
81 |
- </div> |
|
82 |
- </div> |
|
109 |
+ </template> |
|
83 | 110 |
</template> |
84 | 111 |
|
85 | 112 |
<script> |
--- client/views/pages/adm/boardManagement/wordsManagement/WordsManagementSelectList.vue
+++ client/views/pages/adm/boardManagement/wordsManagement/WordsManagementSelectList.vue
... | ... | @@ -6,7 +6,9 @@ |
6 | 6 |
</select> |
7 | 7 |
<input type="text" class="form-control sm" placeholder="검색어를 입력하세요." |
8 | 8 |
v-model="search.searchText" @keyup.enter="fnFindAllWord" /> |
9 |
- <button class="btn sm ico-before ico-sch" @click="fnFindAllWord">검색</button> |
|
9 |
+ <button class="btn-ico xsm main ico-sch" @click="fnFindAllWord"> |
|
10 |
+ <span class="sr-only">검색</span> |
|
11 |
+ </button> |
|
10 | 12 |
</div> |
11 | 13 |
<div class="content-zone"> |
12 | 14 |
<div class="content"> |
--- client/views/pages/adm/log/AdminLog.vue
+++ client/views/pages/adm/log/AdminLog.vue
... | ... | @@ -17,7 +17,9 @@ |
17 | 17 |
</div> |
18 | 18 |
</div> |
19 | 19 |
<div class="gd-1"> |
20 |
- <button class="large-btn blue-border-btn" >검색</button> |
|
20 |
+ <button class="btn-ico xsm main ico-sch" > |
|
21 |
+ <span class="sr-only">검색</span> |
|
22 |
+ </button> |
|
21 | 23 |
</div> |
22 | 24 |
</div> |
23 | 25 |
</div> |
--- client/views/pages/adm/log/LoginLog.vue
+++ client/views/pages/adm/log/LoginLog.vue
... | ... | @@ -1,51 +1,53 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <div class="form-control sm cal"> |
|
4 |
- <VueDatePicker |
|
5 |
- InlineOptions |
|
6 |
- placeholder="시작일" |
|
7 |
- locale="ko" |
|
8 |
- :enable-time-picker="false" |
|
9 |
- :format="formatDate" |
|
10 |
- v-model="search['startDt']" |
|
11 |
- /> |
|
12 |
- </div> |
|
13 |
- <div class="mark">-</div> |
|
14 |
- <div class="form-control sm cal"> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar"> |
|
4 |
+ <div class="form-control sm cal"> |
|
15 | 5 |
<VueDatePicker |
16 |
- InlineOptions |
|
17 |
- placeholder="종료일" |
|
18 |
- locale="ko" |
|
19 |
- :enable-time-picker="false" |
|
20 |
- :format="formatDate" |
|
21 |
- v-model="search['endDt']" |
|
22 |
- /> |
|
23 |
- </div> |
|
24 |
- <select |
|
25 |
- name="selectType" |
|
26 |
- id="selectType" |
|
27 |
- class="form-select sm" |
|
28 |
- v-model="search['searchType']" |
|
29 |
- > |
|
30 |
- <option value="">전체</option> |
|
31 |
- <option |
|
32 |
- v-for="(item, idx) in codeList" |
|
33 |
- :key="idx" |
|
34 |
- :value="item.cd" |
|
6 |
+ InlineOptions |
|
7 |
+ placeholder="시작일" |
|
8 |
+ locale="ko" |
|
9 |
+ :enable-time-picker="false" |
|
10 |
+ :format="formatDate" |
|
11 |
+ v-model="search['startDt']" |
|
12 |
+ /> |
|
13 |
+ </div> |
|
14 |
+ <div class="mark">-</div> |
|
15 |
+ <div class="form-control sm cal"> |
|
16 |
+ <VueDatePicker |
|
17 |
+ InlineOptions |
|
18 |
+ placeholder="종료일" |
|
19 |
+ locale="ko" |
|
20 |
+ :enable-time-picker="false" |
|
21 |
+ :format="formatDate" |
|
22 |
+ v-model="search['endDt']" |
|
23 |
+ /> |
|
24 |
+ </div> |
|
25 |
+ <select |
|
26 |
+ name="selectType" |
|
27 |
+ id="selectType" |
|
28 |
+ class="form-select sm" |
|
29 |
+ v-model="search['searchType']" |
|
35 | 30 |
> |
36 |
- {{ item.cdNm }} |
|
37 |
- </option> |
|
38 |
- </select> |
|
39 |
- <input |
|
40 |
- type="text" |
|
41 |
- class="form-control sm" |
|
42 |
- v-model="search['searchText']" |
|
43 |
- v-on:keyup.enter="fnViewList" |
|
44 |
- placeholder="검색어를 입력하세요." |
|
45 |
- /> |
|
46 |
- <button class="btn sm ico-before ico-sch" @click="fnViewList"> |
|
47 |
- 검색 |
|
48 |
- </button> |
|
31 |
+ <option value="">전체</option> |
|
32 |
+ <option |
|
33 |
+ v-for="(item, idx) in codeList" |
|
34 |
+ :key="idx" |
|
35 |
+ :value="item.cd" |
|
36 |
+ > |
|
37 |
+ {{ item.cdNm }} |
|
38 |
+ </option> |
|
39 |
+ </select> |
|
40 |
+ <input |
|
41 |
+ type="text" |
|
42 |
+ class="form-control sm" |
|
43 |
+ v-model="search['searchText']" |
|
44 |
+ v-on:keyup.enter="fnViewList" |
|
45 |
+ placeholder="검색어를 입력하세요." |
|
46 |
+ /> |
|
47 |
+ <button class="btn-ico xsm main ico-sch" @click="fnViewList"> |
|
48 |
+ <span class="sr-only">검색</span> |
|
49 |
+ </button> |
|
50 |
+ </div> |
|
49 | 51 |
</div> |
50 | 52 |
<div class="content-zone"> |
51 | 53 |
<div class="content"> |
--- client/views/pages/adm/log/PersonalDataLog.vue
+++ client/views/pages/adm/log/PersonalDataLog.vue
... | ... | @@ -1,51 +1,53 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <div class="form-control sm cal"> |
|
4 |
- <VueDatePicker |
|
5 |
- InlineOptions |
|
6 |
- placeholder="시작일" |
|
7 |
- locale="ko" |
|
8 |
- :enable-time-picker="false" |
|
9 |
- :format="formatDate" |
|
10 |
- v-model="search['startDt']" |
|
11 |
- /> |
|
12 |
- </div> |
|
13 |
- <div class="mark">-</div> |
|
14 |
- <div class="form-control sm cal"> |
|
15 |
- <VueDatePicker |
|
16 |
- InlineOptions |
|
17 |
- placeholder="종료일" |
|
18 |
- locale="ko" |
|
19 |
- :enable-time-picker="false" |
|
20 |
- :format="formatDate" |
|
21 |
- v-model="search['endDt']" |
|
22 |
- /> |
|
23 |
- </div> |
|
24 |
- <select |
|
25 |
- name="selectType" |
|
26 |
- id="selectType" |
|
27 |
- class="form-select sm" |
|
28 |
- v-model="search['searchType']" |
|
29 |
- > |
|
30 |
- <option value="">전체</option> |
|
31 |
- <option |
|
32 |
- v-for="(item, idx) in codeList" |
|
33 |
- :key="idx" |
|
34 |
- :value="item.cd" |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar"> |
|
4 |
+ <div class="form-control sm cal"> |
|
5 |
+ <VueDatePicker |
|
6 |
+ InlineOptions |
|
7 |
+ placeholder="시작일" |
|
8 |
+ locale="ko" |
|
9 |
+ :enable-time-picker="false" |
|
10 |
+ :format="formatDate" |
|
11 |
+ v-model="search['startDt']" |
|
12 |
+ /> |
|
13 |
+ </div> |
|
14 |
+ <div class="mark">-</div> |
|
15 |
+ <div class="form-control sm cal"> |
|
16 |
+ <VueDatePicker |
|
17 |
+ InlineOptions |
|
18 |
+ placeholder="종료일" |
|
19 |
+ locale="ko" |
|
20 |
+ :enable-time-picker="false" |
|
21 |
+ :format="formatDate" |
|
22 |
+ v-model="search['endDt']" |
|
23 |
+ /> |
|
24 |
+ </div> |
|
25 |
+ <select |
|
26 |
+ name="selectType" |
|
27 |
+ id="selectType" |
|
28 |
+ class="form-select sm" |
|
29 |
+ v-model="search['searchType']" |
|
35 | 30 |
> |
36 |
- {{ item.cdNm }} |
|
37 |
- </option> |
|
38 |
- </select> |
|
39 |
- <input |
|
40 |
- type="text" |
|
41 |
- class="form-control sm" |
|
42 |
- v-model="search['searchText']" |
|
43 |
- v-on:keyup.enter="fnViewList" |
|
44 |
- placeholder="검색어를 입력하세요." |
|
45 |
- /> |
|
46 |
- <button class="btn sm ico-before ico-sch" @click="fnViewList"> |
|
47 |
- 검색 |
|
48 |
- </button> |
|
31 |
+ <option value="">전체</option> |
|
32 |
+ <option |
|
33 |
+ v-for="(item, idx) in codeList" |
|
34 |
+ :key="idx" |
|
35 |
+ :value="item.cd" |
|
36 |
+ > |
|
37 |
+ {{ item.cdNm }} |
|
38 |
+ </option> |
|
39 |
+ </select> |
|
40 |
+ <input |
|
41 |
+ type="text" |
|
42 |
+ class="form-control sm" |
|
43 |
+ v-model="search['searchText']" |
|
44 |
+ v-on:keyup.enter="fnViewList" |
|
45 |
+ placeholder="검색어를 입력하세요." |
|
46 |
+ /> |
|
47 |
+ <button class="btn-ico xsm main ico-sch" @click="fnViewList"> |
|
48 |
+ <span class="sr-only">검색</span> |
|
49 |
+ </button> |
|
50 |
+ </div> |
|
49 | 51 |
</div> |
50 | 52 |
<div class="content-zone"> |
51 | 53 |
<div class="content"> |
--- client/views/pages/adm/member/adminManagement/AdminManagementSelectList.vue
+++ client/views/pages/adm/member/adminManagement/AdminManagementSelectList.vue
... | ... | @@ -1,21 +1,23 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <select class="form-select sm" v-model="search['searchType']"> |
|
4 |
- <option value="">전체</option> |
|
5 |
- <option value="lgn_id">아이디</option> |
|
6 |
- <option value="mbr_nm">이름</option> |
|
7 |
- </select> |
|
8 |
- <input |
|
9 |
- type="text" |
|
10 |
- class="form-control sm" |
|
11 |
- v-model="search['searchText']" |
|
12 |
- v-on:keyup.enter="fnViewList" |
|
13 |
- placeholder="검색어를 입력하세요." |
|
14 |
- /> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar border"> |
|
4 |
+ <select class="form-select sm border-none" v-model="search['searchType']"> |
|
5 |
+ <option value="">전체</option> |
|
6 |
+ <option value="lgn_id">아이디</option> |
|
7 |
+ <option value="mbr_nm">이름</option> |
|
8 |
+ </select> |
|
9 |
+ <input |
|
10 |
+ type="text" |
|
11 |
+ class="form-control sm border-none" |
|
12 |
+ v-model="search['searchText']" |
|
13 |
+ v-on:keyup.enter="fnViewList" |
|
14 |
+ placeholder="검색어를 입력하세요." |
|
15 |
+ /> |
|
15 | 16 |
|
16 |
- <button class="btn sm ico-before ico-sch" @click="fnViewList"> |
|
17 |
- 검색 |
|
18 |
- </button> |
|
17 |
+ <button class="btn-ico xsm main ico-sch" @click="fnViewList"> |
|
18 |
+ <span class="sr-only">검색</span> |
|
19 |
+ </button> |
|
20 |
+ </div> |
|
19 | 21 |
</div> |
20 | 22 |
<div class="content-zone"> |
21 | 23 |
<div class="content"> |
--- client/views/pages/adm/member/termsManagement/TermsManagementSelectList.vue
+++ client/views/pages/adm/member/termsManagement/TermsManagementSelectList.vue
... | ... | @@ -14,7 +14,9 @@ |
14 | 14 |
</div> |
15 | 15 |
</div> |
16 | 16 |
<div class="gd-1"> |
17 |
- <button class="large-btn blue-border-btn">검색</button> |
|
17 |
+ <button class="btn-ico xsm main ico-sch"> |
|
18 |
+ <span class="sr-only">검색</span> |
|
19 |
+ </button> |
|
18 | 20 |
</div> |
19 | 21 |
</div> |
20 | 22 |
</div> |
--- client/views/pages/adm/member/userManagement/UserManagementSelectList.vue
+++ client/views/pages/adm/member/userManagement/UserManagementSelectList.vue
... | ... | @@ -1,18 +1,22 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <select class="form-select sm" v-model="search['searchType']"> |
|
4 |
- <option value="">전체</option> |
|
5 |
- <option value="lgn_id">아이디</option> |
|
6 |
- <option value="mbr_nm">이름</option> |
|
7 |
- </select> |
|
8 |
- <input |
|
9 |
- type="text" |
|
10 |
- class="form-control sm" |
|
11 |
- v-model="search['searchText']" |
|
12 |
- v-on:keyup.enter="fnViewList" |
|
13 |
- placeholder="검색어를 입력하세요." |
|
14 |
- /> |
|
15 |
- <button class="btn sm ico-before ico-sch" @click="fnViewList">검색</button> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar border"> |
|
4 |
+ <select class="form-select sm border-none" v-model="search['searchType']"> |
|
5 |
+ <option value="">전체</option> |
|
6 |
+ <option value="lgn_id">아이디</option> |
|
7 |
+ <option value="mbr_nm">이름</option> |
|
8 |
+ </select> |
|
9 |
+ <input |
|
10 |
+ type="text" |
|
11 |
+ class="form-control sm border-none" |
|
12 |
+ v-model="search['searchText']" |
|
13 |
+ v-on:keyup.enter="fnViewList" |
|
14 |
+ placeholder="검색어를 입력하세요." |
|
15 |
+ /> |
|
16 |
+ <button class="btn-ico xsm main ico-sch" @click="fnViewList"> |
|
17 |
+ <span class="sr-only">검색</span> |
|
18 |
+ </button> |
|
19 |
+ </div> |
|
16 | 20 |
</div> |
17 | 21 |
<div class="content-zone"> |
18 | 22 |
<div class="content"> |
--- client/views/pages/adm/popup/PopupManagementSelectList.vue
+++ client/views/pages/adm/popup/PopupManagementSelectList.vue
... | ... | @@ -1,20 +1,22 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <select class="form-select sm" v-model="search['searchType']"> |
|
4 |
- <option value="">전체</option> |
|
5 |
- <option value="popup_ttl">제목</option> |
|
6 |
- <option value="mbr_nm">작성자</option> |
|
7 |
- </select> |
|
8 |
- <input |
|
9 |
- type="text" |
|
10 |
- class="form-control sm" |
|
11 |
- v-model="search['searchText']" |
|
12 |
- v-on:keyup.enter="fnViewList" |
|
13 |
- placeholder="검색어를 입력하세요." |
|
14 |
- /> |
|
15 |
- <button class="btn sm ico-before ico-sch" @click="fnViewList"> |
|
16 |
- 검색 |
|
17 |
- </button> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar border"> |
|
4 |
+ <select class="form-select sm border-none" v-model="search['searchType']"> |
|
5 |
+ <option value="">전체</option> |
|
6 |
+ <option value="popup_ttl">제목</option> |
|
7 |
+ <option value="mbr_nm">작성자</option> |
|
8 |
+ </select> |
|
9 |
+ <input |
|
10 |
+ type="text" |
|
11 |
+ class="form-control sm border-none" |
|
12 |
+ v-model="search['searchText']" |
|
13 |
+ v-on:keyup.enter="fnViewList" |
|
14 |
+ placeholder="검색어를 입력하세요." |
|
15 |
+ /> |
|
16 |
+ <button class="btn-ico xsm main ico-sch" @click="fnViewList"> |
|
17 |
+ <span class="sr-only">검색</span> |
|
18 |
+ </button> |
|
19 |
+ </div> |
|
18 | 20 |
</div> |
19 | 21 |
<div class="content-zone"> |
20 | 22 |
<div class="content"> |
--- client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectList.vue
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectList.vue
... | ... | @@ -1,15 +1,17 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <input |
|
4 |
- type="text" |
|
5 |
- class="form-control sm" |
|
6 |
- v-model="search['searchText']" |
|
7 |
- v-on:keyup.enter="fnViewList" |
|
8 |
- placeholder="콘텐츠 한글명을 입력해주세요." |
|
9 |
- /> |
|
10 |
- <button class="btn sm ico-before ico-sch" @click="fnViewList"> |
|
11 |
- 검색 |
|
12 |
- </button> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar border"> |
|
4 |
+ <input |
|
5 |
+ type="text" |
|
6 |
+ class="form-control sm border-none" |
|
7 |
+ v-model="search['searchText']" |
|
8 |
+ v-on:keyup.enter="fnViewList" |
|
9 |
+ placeholder="콘텐츠 한글명을 입력해주세요." |
|
10 |
+ /> |
|
11 |
+ <button class="btn-ico xsm main ico-sch" @click="fnViewList"> |
|
12 |
+ <span class="sr-only">검색</span> |
|
13 |
+ </button> |
|
14 |
+ </div> |
|
13 | 15 |
</div> |
14 | 16 |
<div class="content-zone"> |
15 | 17 |
<div class="content"> |
--- client/views/pages/adm/statistics/BbsStatistics.vue
+++ client/views/pages/adm/statistics/BbsStatistics.vue
... | ... | @@ -1,50 +1,52 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <div class="form-control sm cal"> |
|
4 |
- <VueDatePicker |
|
5 |
- InlineOptions |
|
6 |
- placeholder="시작일" |
|
7 |
- locale="ko" |
|
8 |
- :enable-time-picker="false" |
|
9 |
- :format="formatDate" |
|
10 |
- v-model="searchDate.startDt" |
|
11 |
- @update:model-value="validateDate($event, 'startDt')" |
|
12 |
- /> |
|
13 |
- </div> |
|
14 |
- <!-- <input |
|
15 |
- type="date" |
|
16 |
- class="form-control sm datepicker" |
|
17 |
- v-model="searchDate.startDt" |
|
18 |
- @change="validateDate($event, 'startDt')" |
|
19 |
- /> --> |
|
20 |
- <div class="mark">-</div> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar"> |
|
21 | 4 |
<div class="form-control sm cal"> |
22 | 5 |
<VueDatePicker |
23 |
- InlineOptions |
|
24 |
- placeholder="종료일" |
|
25 |
- locale="ko" |
|
26 |
- :enable-time-picker="false" |
|
27 |
- :format="formatDate" |
|
28 |
- v-model="searchDate.endDt" |
|
29 |
- @update:model-value="validateDate($event, 'endDt')" |
|
30 |
- /> |
|
6 |
+ InlineOptions |
|
7 |
+ placeholder="시작일" |
|
8 |
+ locale="ko" |
|
9 |
+ :enable-time-picker="false" |
|
10 |
+ :format="formatDate" |
|
11 |
+ v-model="searchDate.startDt" |
|
12 |
+ @update:model-value="validateDate($event, 'startDt')" |
|
13 |
+ /> |
|
14 |
+ </div> |
|
15 |
+ <!-- <input |
|
16 |
+ type="date" |
|
17 |
+ class="form-control sm datepicker" |
|
18 |
+ v-model="searchDate.startDt" |
|
19 |
+ @change="validateDate($event, 'startDt')" |
|
20 |
+ /> --> |
|
21 |
+ <div class="mark">-</div> |
|
22 |
+ <div class="form-control sm cal"> |
|
23 |
+ <VueDatePicker |
|
24 |
+ InlineOptions |
|
25 |
+ placeholder="종료일" |
|
26 |
+ locale="ko" |
|
27 |
+ :enable-time-picker="false" |
|
28 |
+ :format="formatDate" |
|
29 |
+ v-model="searchDate.endDt" |
|
30 |
+ @update:model-value="validateDate($event, 'endDt')" |
|
31 |
+ /> |
|
32 |
+ </div> |
|
33 |
+ <!-- <input |
|
34 |
+ type="date" |
|
35 |
+ class="form-control sm datepicker" |
|
36 |
+ v-model="searchDate.endDt" |
|
37 |
+ @change="validateDate($event, 'endDt')" |
|
38 |
+ /> --> |
|
39 |
+ <button class="btn sm main" @click="axiosSelectList"> |
|
40 |
+ 조회 |
|
41 |
+ </button> |
|
42 |
+ <button |
|
43 |
+ class="large-btn green-border-btn" |
|
44 |
+ v-if="pageAuth.fileDwnldAuthrt == 'Y' && bbsCnt > 0" |
|
45 |
+ @click="fnDownload" |
|
46 |
+ > |
|
47 |
+ 다운로드 |
|
48 |
+ </button> |
|
31 | 49 |
</div> |
32 |
- <!-- <input |
|
33 |
- type="date" |
|
34 |
- class="form-control sm datepicker" |
|
35 |
- v-model="searchDate.endDt" |
|
36 |
- @change="validateDate($event, 'endDt')" |
|
37 |
- /> --> |
|
38 |
- <button class="btn sm main" @click="axiosSelectList"> |
|
39 |
- 조회 |
|
40 |
- </button> |
|
41 |
- <button |
|
42 |
- class="large-btn green-border-btn" |
|
43 |
- v-if="pageAuth.fileDwnldAuthrt == 'Y' && bbsCnt > 0" |
|
44 |
- @click="fnDownload" |
|
45 |
- > |
|
46 |
- 다운로드 |
|
47 |
- </button> |
|
48 | 50 |
</div> |
49 | 51 |
<div class="content-zone sch-full"> |
50 | 52 |
<div class="content"> |
--- client/views/pages/adm/statistics/MenuStatistics.vue
+++ client/views/pages/adm/statistics/MenuStatistics.vue
... | ... | @@ -1,50 +1,52 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <div class="form-control sm cal"> |
|
4 |
- <VueDatePicker |
|
5 |
- InlineOptions |
|
6 |
- placeholder="시작일" |
|
7 |
- locale="ko" |
|
8 |
- :enable-time-picker="false" |
|
9 |
- :format="formatDate" |
|
10 |
- v-model="searchDate.startDt" |
|
11 |
- @update:model-value="validateDate($event, 'startDt')" |
|
12 |
- /> |
|
13 |
- </div> |
|
14 |
- <!-- <input |
|
15 |
- type="date" |
|
16 |
- class="form-control sm" |
|
17 |
- v-model="searchDate.startDt" |
|
18 |
- @change="validateDate($event, 'startDt')" |
|
19 |
- /> --> |
|
20 |
- <div>-</div> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar"> |
|
21 | 4 |
<div class="form-control sm cal"> |
22 | 5 |
<VueDatePicker |
23 |
- InlineOptions |
|
24 |
- placeholder="종료일" |
|
25 |
- locale="ko" |
|
26 |
- :enable-time-picker="false" |
|
27 |
- :format="formatDate" |
|
28 |
- v-model="searchDate.endDt" |
|
29 |
- @update:model-value="validateDate($event, 'endDt')" |
|
30 |
- /> |
|
6 |
+ InlineOptions |
|
7 |
+ placeholder="시작일" |
|
8 |
+ locale="ko" |
|
9 |
+ :enable-time-picker="false" |
|
10 |
+ :format="formatDate" |
|
11 |
+ v-model="searchDate.startDt" |
|
12 |
+ @update:model-value="validateDate($event, 'startDt')" |
|
13 |
+ /> |
|
14 |
+ </div> |
|
15 |
+ <!-- <input |
|
16 |
+ type="date" |
|
17 |
+ class="form-control sm" |
|
18 |
+ v-model="searchDate.startDt" |
|
19 |
+ @change="validateDate($event, 'startDt')" |
|
20 |
+ /> --> |
|
21 |
+ <div>-</div> |
|
22 |
+ <div class="form-control sm cal"> |
|
23 |
+ <VueDatePicker |
|
24 |
+ InlineOptions |
|
25 |
+ placeholder="종료일" |
|
26 |
+ locale="ko" |
|
27 |
+ :enable-time-picker="false" |
|
28 |
+ :format="formatDate" |
|
29 |
+ v-model="searchDate.endDt" |
|
30 |
+ @update:model-value="validateDate($event, 'endDt')" |
|
31 |
+ /> |
|
32 |
+ </div> |
|
33 |
+ <!-- <input |
|
34 |
+ type="date" |
|
35 |
+ class="form-control sm" |
|
36 |
+ v-model="searchDate.endDt" |
|
37 |
+ @change="validateDate($event, 'endDt')" |
|
38 |
+ /> --> |
|
39 |
+ <button class="btn sm main" @click="axiosSelectList"> |
|
40 |
+ 조회 |
|
41 |
+ </button> |
|
42 |
+ <button |
|
43 |
+ class="large-btn green-border-btn" |
|
44 |
+ v-if="pageAuth.fileDwnldAuthrt == 'Y'" |
|
45 |
+ @click="fnDownload" |
|
46 |
+ > |
|
47 |
+ 다운로드 |
|
48 |
+ </button> |
|
31 | 49 |
</div> |
32 |
- <!-- <input |
|
33 |
- type="date" |
|
34 |
- class="form-control sm" |
|
35 |
- v-model="searchDate.endDt" |
|
36 |
- @change="validateDate($event, 'endDt')" |
|
37 |
- /> --> |
|
38 |
- <button class="btn sm main" @click="axiosSelectList"> |
|
39 |
- 조회 |
|
40 |
- </button> |
|
41 |
- <button |
|
42 |
- class="large-btn green-border-btn" |
|
43 |
- v-if="pageAuth.fileDwnldAuthrt == 'Y'" |
|
44 |
- @click="fnDownload" |
|
45 |
- > |
|
46 |
- 다운로드 |
|
47 |
- </button> |
|
48 | 50 |
</div> |
49 | 51 |
<div class="content-zone sch-full"> |
50 | 52 |
<div class="content"> |
--- client/views/pages/adm/statistics/UserStatistics.vue
+++ client/views/pages/adm/statistics/UserStatistics.vue
... | ... | @@ -1,54 +1,56 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
3 |
- <div class="form-control sm cal"> |
|
4 |
- <VueDatePicker |
|
5 |
- InlineOptions |
|
6 |
- placeholder="종료일" |
|
7 |
- locale="ko" |
|
8 |
- :enable-time-picker="false" |
|
9 |
- :format="formatDate" |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar"> |
|
4 |
+ <div class="form-control sm cal"> |
|
5 |
+ <VueDatePicker |
|
6 |
+ InlineOptions |
|
7 |
+ placeholder="종료일" |
|
8 |
+ locale="ko" |
|
9 |
+ :enable-time-picker="false" |
|
10 |
+ :format="formatDate" |
|
11 |
+ v-model="searchDate.startDt" |
|
12 |
+ @update:model-value="validateDate($event, 'startDt')" |
|
13 |
+ /> |
|
14 |
+ </div> |
|
15 |
+ <!-- <input |
|
16 |
+ type="date" |
|
17 |
+ class="form-control sm" |
|
10 | 18 |
v-model="searchDate.startDt" |
11 |
- @update:model-value="validateDate($event, 'startDt')" |
|
12 |
- /> |
|
13 |
- </div> |
|
14 |
- <!-- <input |
|
15 |
- type="date" |
|
16 |
- class="form-control sm" |
|
17 |
- v-model="searchDate.startDt" |
|
18 |
- @change="validateDate($event, 'startDt')" |
|
19 |
- /> --> |
|
20 |
- <div class="mark">-</div> |
|
21 |
- <div class="form-control sm cal"> |
|
22 |
- <VueDatePicker |
|
23 |
- InlineOptions |
|
24 |
- placeholder="종료일" |
|
25 |
- locale="ko" |
|
26 |
- :enable-time-picker="false" |
|
27 |
- :format="formatDate" |
|
19 |
+ @change="validateDate($event, 'startDt')" |
|
20 |
+ /> --> |
|
21 |
+ <div class="mark">-</div> |
|
22 |
+ <div class="form-control sm cal"> |
|
23 |
+ <VueDatePicker |
|
24 |
+ InlineOptions |
|
25 |
+ placeholder="종료일" |
|
26 |
+ locale="ko" |
|
27 |
+ :enable-time-picker="false" |
|
28 |
+ :format="formatDate" |
|
29 |
+ v-model="searchDate.endDt" |
|
30 |
+ @update:model-value="validateDate($event, 'endDt')" |
|
31 |
+ /> |
|
32 |
+ </div> |
|
33 |
+ <!-- <input |
|
34 |
+ type="date" |
|
35 |
+ class="form-control sm" |
|
28 | 36 |
v-model="searchDate.endDt" |
29 |
- @update:model-value="validateDate($event, 'endDt')" |
|
30 |
- /> |
|
37 |
+ @change="validateDate($event, 'endDt')" |
|
38 |
+ /> --> |
|
39 |
+ |
|
40 |
+ |
|
41 |
+ <button class="btn sm main" @click="axiosSelectList"> |
|
42 |
+ 조회 |
|
43 |
+ </button> |
|
44 |
+ |
|
45 |
+ <button |
|
46 |
+ class="large-btn green-border-btn" |
|
47 |
+ v-if="pageAuth.fileDwnldAuthrt == 'Y'" |
|
48 |
+ @click="fnDownload" |
|
49 |
+ > |
|
50 |
+ 다운로드 |
|
51 |
+ </button> |
|
52 |
+ |
|
31 | 53 |
</div> |
32 |
- <!-- <input |
|
33 |
- type="date" |
|
34 |
- class="form-control sm" |
|
35 |
- v-model="searchDate.endDt" |
|
36 |
- @change="validateDate($event, 'endDt')" |
|
37 |
- /> --> |
|
38 |
- |
|
39 |
- |
|
40 |
- <button class="btn sm main" @click="axiosSelectList"> |
|
41 |
- 조회 |
|
42 |
- </button> |
|
43 |
- |
|
44 |
- <button |
|
45 |
- class="large-btn green-border-btn" |
|
46 |
- v-if="pageAuth.fileDwnldAuthrt == 'Y'" |
|
47 |
- @click="fnDownload" |
|
48 |
- > |
|
49 |
- 다운로드 |
|
50 |
- </button> |
|
51 |
- |
|
52 | 54 |
</div> |
53 | 55 |
<div class="content-zone sch-full"> |
54 | 56 |
<div class="content"> |
--- client/views/pages/adm/system/contextPath/ContextPathSelectList.vue
+++ client/views/pages/adm/system/contextPath/ContextPathSelectList.vue
... | ... | @@ -8,8 +8,8 @@ |
8 | 8 |
@keyup.enter="findAll" |
9 | 9 |
/> |
10 | 10 |
|
11 |
- <button class="btn sm ico-sch" @click="findAll"> |
|
12 |
- 검색 |
|
11 |
+ <button class="btn-ico xsm main ico-sch" @click="findAll"> |
|
12 |
+ <span class="sr-only">검색</span> |
|
13 | 13 |
</button> |
14 | 14 |
</div> |
15 | 15 |
<div class="content-zone"> |
--- client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectList.vue
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectList.vue
... | ... | @@ -1,9 +1,10 @@ |
1 | 1 |
<template> |
2 |
- <div class="search-bar"> |
|
2 |
+ <div class="search-wrap"> |
|
3 |
+ <div class="search-bar border"> |
|
3 | 4 |
<select |
4 | 5 |
name="selectType" |
5 | 6 |
id="selectType" |
6 |
- class="form-select sm" |
|
7 |
+ class="form-select sm border-none" |
|
7 | 8 |
v-model="search.searchType" |
8 | 9 |
> |
9 | 10 |
<option value="">전체</option> |
... | ... | @@ -17,15 +18,16 @@ |
17 | 18 |
</select> |
18 | 19 |
<input |
19 | 20 |
type="text" |
20 |
- class="form-control sm" |
|
21 |
+ class="form-control sm border-none" |
|
21 | 22 |
placeholder="검색어를 입력하세요." |
22 | 23 |
v-model="search.searchText" |
23 | 24 |
@keyup.enter="findAll" |
24 | 25 |
/> |
25 |
- <button class="btn sm ico-before ico-sch " @click="findAll"> |
|
26 |
- 검색 |
|
27 |
- </button> |
|
28 |
- </div> |
|
26 |
+ <button class="btn-ico xsm main ico-sch " @click="findAll"> |
|
27 |
+ <span class="sr-only">검색</span> |
|
28 |
+ </button> |
|
29 |
+ </div> |
|
30 |
+ </div> |
|
29 | 31 |
<div class="content-zone"> |
30 | 32 |
<div class="content"> |
31 | 33 |
<div class="scroll"> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?