
--- client/resources/css/common.css
+++ client/resources/css/common.css
... | ... | @@ -67,6 +67,43 @@ |
67 | 67 |
box-shadow: 2px 2px 2px #33333300 !important; |
68 | 68 |
} |
69 | 69 |
|
70 |
+/* table 공통 */ |
|
71 |
+th { |
|
72 |
+ padding: 1.5rem; |
|
73 |
+ color: white; |
|
74 |
+ background-color: #007aff; |
|
75 |
+ font-size: 1.5rem; |
|
76 |
+} |
|
77 |
+td { |
|
78 |
+ background-color: white; |
|
79 |
+ padding: 2rem; |
|
80 |
+ border-top: 1px solid rgb(187, 187, 187); |
|
81 |
+ text-align: center; |
|
82 |
+ font-size: 1.5rem; |
|
83 |
+ font-weight: 500; |
|
84 |
+ color: #333; |
|
85 |
+ cursor: pointer; |
|
86 |
+ font-family: "Pretendard-Regular"; |
|
87 |
+} |
|
88 |
+ |
|
89 |
+.insert-table th, |
|
90 |
+.mail-table th{ |
|
91 |
+ background-color: transparent; |
|
92 |
+ color: #007aff; |
|
93 |
+} |
|
94 |
+ |
|
95 |
+.insert-table td, |
|
96 |
+.mail-table td { |
|
97 |
+ border-top: 0; |
|
98 |
+} |
|
99 |
+ |
|
100 |
+.category-zone{ |
|
101 |
+ color: #007aff; |
|
102 |
+ background-color: #c8e3ff; |
|
103 |
+ padding: 5px; |
|
104 |
+ border-radius: 3px; |
|
105 |
+} |
|
106 |
+ |
|
70 | 107 |
/* 게시판 상세보기 */ |
71 | 108 |
.insert-table td { |
72 | 109 |
text-align: left; |
... | ... | @@ -75,7 +112,6 @@ |
75 | 112 |
.title-zone { |
76 | 113 |
background-color: #eee; |
77 | 114 |
border-bottom: 1px solid #007aff; |
78 |
- border-top: 1px solid #007aff; |
|
79 | 115 |
} |
80 | 116 |
|
81 | 117 |
.post-title { |
... | ... | @@ -87,13 +123,30 @@ |
87 | 123 |
} |
88 | 124 |
|
89 | 125 |
.writer, |
90 |
-.view { |
|
126 |
+.view, |
|
127 |
+.next, |
|
128 |
+.prev { |
|
91 | 129 |
color: #007aff; |
92 | 130 |
padding: 10px; |
93 | 131 |
} |
94 | 132 |
|
95 | 133 |
.viewer { |
96 | 134 |
min-height: 388px; |
135 |
+} |
|
136 |
+ |
|
137 |
+.article-list{ |
|
138 |
+ padding: 20px 0; |
|
139 |
+} |
|
140 |
+ |
|
141 |
+.article-list ul{ |
|
142 |
+ border-top: 1px solid #007aff; |
|
143 |
+ border-bottom: 1px solid #007aff; |
|
144 |
+} |
|
145 |
+ |
|
146 |
+.article-list ul li{ |
|
147 |
+ padding: 10px 0; |
|
148 |
+ background: #eee; |
|
149 |
+ border-bottom: 1px solid #aaa; |
|
97 | 150 |
} |
98 | 151 |
|
99 | 152 |
/* 버튼 */ |
... | ... | @@ -293,39 +346,3 @@ |
293 | 346 |
padding: 15px 0; |
294 | 347 |
} |
295 | 348 |
|
296 |
-/* table 공통 */ |
|
297 |
-th { |
|
298 |
- padding: 1.5rem; |
|
299 |
- color: white; |
|
300 |
- background-color: #007aff; |
|
301 |
- font-size: 1.5rem; |
|
302 |
-} |
|
303 |
-td { |
|
304 |
- background-color: white; |
|
305 |
- padding: 2rem; |
|
306 |
- border-top: 1px solid rgb(187, 187, 187); |
|
307 |
- text-align: center; |
|
308 |
- font-size: 1.5rem; |
|
309 |
- font-weight: 500; |
|
310 |
- color: #333; |
|
311 |
- cursor: pointer; |
|
312 |
- font-family: "Pretendard-Regular"; |
|
313 |
-} |
|
314 |
- |
|
315 |
-.insert-table th, |
|
316 |
-.mail-table th{ |
|
317 |
- background-color: transparent; |
|
318 |
- color: #007aff; |
|
319 |
-} |
|
320 |
- |
|
321 |
-.insert-table td, |
|
322 |
-.mail-table td { |
|
323 |
- border-top: 0; |
|
324 |
-} |
|
325 |
- |
|
326 |
-.category-zone{ |
|
327 |
- color: #007aff; |
|
328 |
- background-color: #c8e3ff; |
|
329 |
- padding: 5px; |
|
330 |
- border-radius: 3px; |
|
331 |
-}(No newline at end of file) |
--- client/resources/css/reset.css
+++ client/resources/css/reset.css
... | ... | @@ -67,7 +67,8 @@ |
67 | 67 |
height: 100%; |
68 | 68 |
border-collapse: collapse; |
69 | 69 |
font-size: 1.4rem; |
70 |
- border-bottom: 2px solid #d6eaff; |
|
70 |
+ border-top: 2px solid #007aff; |
|
71 |
+ border-bottom: 2px solid #007aff; |
|
71 | 72 |
} |
72 | 73 |
|
73 | 74 |
input[type="text"], |
--- client/views/component/pagination/PaginationButton.vue
+++ client/views/component/pagination/PaginationButton.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="pagination-button-type"> |
4 | 4 |
<a class="first-page" @click="excute(1)" title="첫 번 째 페이지로 이동"></a> |
5 | 5 |
<a class="prev" @click="excute(currentPage - 1)" title="이전 페이지로 이동"></a> |
6 |
- <a @click="excute(i)" v-for="i in createRange" :class="{'active': currentPage == i}">{{i}}</a> |
|
6 |
+ <a @click="excute(i)" v-for="i in createRange" :class="{ 'active': currentPage == i }">{{ i }}</a> |
|
7 | 7 |
<a class="next" @click="excute(currentPage + 1)" title="다음 페이지로 이동"></a> |
8 | 8 |
<a class="end-page" @click="excute(maxEndPage)" title="마지막 페이지로 이동"></a> |
9 | 9 |
</div> |
... | ... | @@ -11,148 +11,158 @@ |
11 | 11 |
</template> |
12 | 12 |
|
13 | 13 |
<script> |
14 |
- export default { |
|
15 |
- /* model: { |
|
16 |
- prop: 'currentPage', |
|
17 |
- event: 'current-page-change' |
|
18 |
- }, */ |
|
19 |
- props: { |
|
20 |
- currentPage: { |
|
21 |
- type: Number, |
|
22 |
- default: 0 |
|
23 |
- }, |
|
24 |
- perPage: { |
|
25 |
- type: Number, |
|
26 |
- default: 10 |
|
27 |
- }, |
|
28 |
- totalCount: { |
|
29 |
- type: Number, |
|
30 |
- default: 0 |
|
31 |
- }, |
|
32 |
- maxRange: { |
|
33 |
- type: Number, |
|
34 |
- default: 5 |
|
35 |
- }, |
|
36 |
- click: Function |
|
14 |
+export default { |
|
15 |
+ props: { |
|
16 |
+ currentPage: { |
|
17 |
+ type: Number, |
|
18 |
+ default: 0 |
|
37 | 19 |
}, |
38 |
- emits: ['update:currentPage'], |
|
39 |
- data: function () { |
|
40 |
- return { |
|
41 |
- //data |
|
42 |
- } |
|
20 |
+ perPage: { |
|
21 |
+ type: Number, |
|
22 |
+ default: 10 |
|
43 | 23 |
}, |
44 |
- methods: { |
|
45 |
- excute: function (i) { |
|
46 |
- if (i >= 1 && i <= this.maxEndPage) { |
|
47 |
- if (i != this.currentPage) { |
|
48 |
- this.$emit('update:currentPage', i);//부모 currentPage에 선택한 page번호 할당 |
|
49 |
- this.click(i);//부모 function 실행 |
|
50 |
- } else { |
|
51 |
- return; |
|
52 |
- } |
|
53 |
- } else { |
|
54 |
- alert('이동할 페이지가 없습니다.'); |
|
55 |
- } |
|
56 |
- } |
|
24 |
+ totalCount: { |
|
25 |
+ type: Number, |
|
26 |
+ default: 0 |
|
57 | 27 |
}, |
58 |
- computed: { |
|
59 |
- startPage: function () { |
|
60 |
- return Math.floor((this.currentPage - 1) / this.maxRange) * this.maxRange + 1; |
|
61 |
- }, |
|
62 |
- endPage: function () { |
|
63 |
- if (this.maxEndPage < this.currentEndPage) { |
|
64 |
- return this.maxEndPage; |
|
65 |
- } else { |
|
66 |
- return this.currentEndPage; |
|
67 |
- } |
|
68 |
- }, |
|
69 |
- currentEndPage: function () { |
|
70 |
- return this.maxRange * Math.ceil((this.currentPage / this.maxRange)); |
|
71 |
- }, |
|
72 |
- maxEndPage: function () { |
|
73 |
- return Math.ceil(this.totalCount / this.perPage); |
|
74 |
- }, |
|
75 |
- createRange: function () { |
|
76 |
- var range = []; |
|
77 |
- for (var i = this.startPage; i <= this.endPage; i++) { |
|
78 |
- range.push(i); |
|
79 |
- } |
|
80 |
- return range; |
|
81 |
- } |
|
28 |
+ maxRange: { |
|
29 |
+ type: Number, |
|
30 |
+ default: 5 |
|
82 | 31 |
}, |
83 |
- watch: { |
|
84 |
- |
|
85 |
- }, |
|
86 |
- //beforeCreate: function () {}, |
|
87 |
- //created: function () {}, |
|
88 |
- //beforeUpdate: function () {}, |
|
89 |
- //updated: function () {}, |
|
90 |
- mounted: function () { |
|
32 |
+ click: Function |
|
33 |
+ }, |
|
34 |
+ emits: ['update:currentPage'], |
|
35 |
+ data: function () { |
|
36 |
+ return { |
|
37 |
+ //data |
|
91 | 38 |
} |
39 |
+ }, |
|
40 |
+ methods: { |
|
41 |
+ excute: function (i) { |
|
42 |
+ if (i >= 1 && i <= this.maxEndPage) { |
|
43 |
+ if (i != this.currentPage) { |
|
44 |
+ this.$emit('update:currentPage', i);//부모 currentPage에 선택한 page번호 할당 |
|
45 |
+ this.click(i);//부모 function 실행 |
|
46 |
+ } else { |
|
47 |
+ return; |
|
48 |
+ } |
|
49 |
+ } else { |
|
50 |
+ alert('이동할 페이지가 없습니다.'); |
|
51 |
+ } |
|
52 |
+ } |
|
53 |
+ }, |
|
54 |
+ computed: { |
|
55 |
+ startPage: function () { |
|
56 |
+ return Math.floor((this.currentPage - 1) / this.maxRange) * this.maxRange + 1; |
|
57 |
+ }, |
|
58 |
+ endPage: function () { |
|
59 |
+ if (this.maxEndPage < this.currentEndPage) { |
|
60 |
+ return this.maxEndPage; |
|
61 |
+ } else { |
|
62 |
+ return this.currentEndPage; |
|
63 |
+ } |
|
64 |
+ }, |
|
65 |
+ currentEndPage: function () { |
|
66 |
+ return this.maxRange * Math.ceil((this.currentPage / this.maxRange)); |
|
67 |
+ }, |
|
68 |
+ maxEndPage: function () { |
|
69 |
+ return Math.ceil(this.totalCount / this.perPage); |
|
70 |
+ }, |
|
71 |
+ createRange: function () { |
|
72 |
+ var range = []; |
|
73 |
+ for (var i = this.startPage; i <= this.endPage; i++) { |
|
74 |
+ range.push(i); |
|
75 |
+ } |
|
76 |
+ return range; |
|
77 |
+ } |
|
78 |
+ }, |
|
79 |
+ watch: { |
|
80 |
+ |
|
81 |
+ }, |
|
82 |
+ //beforeCreate: function () {}, |
|
83 |
+ //created: function () {}, |
|
84 |
+ //beforeUpdate: function () {}, |
|
85 |
+ //updated: function () {}, |
|
86 |
+ mounted: function () { |
|
92 | 87 |
} |
88 |
+} |
|
93 | 89 |
</script> |
94 | 90 |
|
95 | 91 |
<style scoped> |
96 |
- /*PAGINATION NEW START*/ |
|
97 |
- .pagination-button-type |
|
98 |
- { |
|
99 |
- position: relative; |
|
100 |
- display: inline-block; |
|
101 |
- left:50%; |
|
102 |
- transform: translate(-50%); |
|
92 |
+/*PAGINATION NEW START*/ |
|
93 |
+.component-pagination { |
|
94 |
+ padding: 30px 0; |
|
95 |
+} |
|
96 |
+ |
|
97 |
+.pagination-button-type { |
|
98 |
+ display: flex; |
|
99 |
+ align-items: center; |
|
100 |
+ justify-content: center; |
|
101 |
+} |
|
102 |
+ |
|
103 |
+.pagination-button-type a { |
|
104 |
+ display: inline-block; |
|
105 |
+ width: 40px; |
|
106 |
+ height: 40px; |
|
107 |
+ padding: 10px; |
|
108 |
+ text-align: center; |
|
109 |
+ line-height: 20px; |
|
110 |
+ cursor: pointer; |
|
111 |
+} |
|
112 |
+ |
|
113 |
+/* 정우추가 */ |
|
114 |
+.pagination-button-type a.prev:after { |
|
115 |
+ content: "\003C"; |
|
116 |
+ font-family: 'KoPub_Dotum'; |
|
117 |
+ font-weight: 900; |
|
118 |
+} |
|
119 |
+ |
|
120 |
+.pagination-button-type a.next:after { |
|
121 |
+ content: "\003E"; |
|
122 |
+ font-family: 'KoPub_Dotum'; |
|
123 |
+ font-weight: 900; |
|
124 |
+} |
|
125 |
+ |
|
126 |
+.pagination-button-type a.first-page:after { |
|
127 |
+ content: "\003C\003C"; |
|
128 |
+ font-family: 'KoPub_Dotum'; |
|
129 |
+ font-weight: 900; |
|
130 |
+} |
|
131 |
+ |
|
132 |
+.pagination-button-type a.end-page:after { |
|
133 |
+ content: "\003E\003E"; |
|
134 |
+ font-family: 'KoPub_Dotum'; |
|
135 |
+ font-weight: 900; |
|
136 |
+} |
|
137 |
+ |
|
138 |
+.pagination-button-type a.active { |
|
139 |
+ background-color: #3a84fb; |
|
140 |
+ border: 1px solid #1b5ac2; |
|
141 |
+ color: white; |
|
142 |
+ cursor: default !important; |
|
143 |
+ border-radius: 50px; |
|
144 |
+} |
|
145 |
+ |
|
146 |
+.pagination-button-type a:hover:not(.active) { |
|
147 |
+ background-color: #5a81fa; |
|
148 |
+ color: white; |
|
149 |
+ border-radius: 50px; |
|
150 |
+} |
|
151 |
+ |
|
152 |
+.pagination-button-type a:first-child { |
|
153 |
+ border-top-left-radius: 0px; |
|
154 |
+ border-bottom-left-radius: 0px; |
|
155 |
+} |
|
156 |
+ |
|
157 |
+.pagination-button-type a:last-child { |
|
158 |
+ border-top-right-radius: 0px; |
|
159 |
+ border-bottom-right-radius: 0px; |
|
160 |
+} |
|
161 |
+ |
|
162 |
+/*PAGINATION NEW END*/ |
|
163 |
+ |
|
164 |
+@media screen and (max-width:479px) { |
|
165 |
+ .pagination-button-type a { |
|
166 |
+ margin: 3px; |
|
103 | 167 |
} |
104 |
- |
|
105 |
- .pagination-button-type a |
|
106 |
- { |
|
107 |
- float: left; |
|
108 |
- padding: 13px 17px; |
|
109 |
- margin: 5px; |
|
110 |
- text-decoration: none; |
|
111 |
- border:1px solid #ccc; |
|
112 |
- color:#333; |
|
113 |
- font-size: 17px; |
|
114 |
- font-family:"nanumgothicOTF"; |
|
115 |
- font-weight: 400; |
|
116 |
- cursor: pointer; |
|
117 |
- } |
|
118 |
- |
|
119 |
- /* 정우추가 */ |
|
120 |
- .pagination-button-type a.prev:after {content: "\003C"; font-family: 'KoPub_Dotum'; font-weight: 900;} |
|
121 |
- .pagination-button-type a.next:after {content: "\003E"; font-family: 'KoPub_Dotum'; font-weight: 900;} |
|
122 |
- |
|
123 |
- .pagination-button-type a.first-page:after {content: "\003C\003C"; font-family: 'KoPub_Dotum'; font-weight: 900;} |
|
124 |
- .pagination-button-type a.end-page:after {content: "\003E\003E"; font-family: 'KoPub_Dotum'; font-weight: 900;} |
|
125 |
- |
|
126 |
- .pagination-button-type a.active |
|
127 |
- { |
|
128 |
- background-color: #1b5ac2; |
|
129 |
- border: 1px solid #1b5ac2; |
|
130 |
- color: white; |
|
131 |
- cursor: default !important; |
|
132 |
- } |
|
133 |
- |
|
134 |
- .pagination-button-type a:hover:not(.active) |
|
135 |
- { |
|
136 |
- background-color: #5a81fa; |
|
137 |
- color:white; |
|
138 |
- } |
|
139 |
- |
|
140 |
- .pagination-button-type a:first-child |
|
141 |
- { |
|
142 |
- border-top-left-radius: 0px; |
|
143 |
- border-bottom-left-radius: 0px; |
|
144 |
- } |
|
145 |
- |
|
146 |
- .pagination-button-type a:last-child |
|
147 |
- { |
|
148 |
- border-top-right-radius: 0px; |
|
149 |
- border-bottom-right-radius: 0px; |
|
150 |
- } |
|
151 |
- /*PAGINATION NEW END*/ |
|
152 |
- |
|
153 |
- @media screen and (max-width:479px){ |
|
154 |
- .pagination-button-type a{ |
|
155 |
- margin: 3px; |
|
156 |
- } |
|
157 |
- } |
|
158 |
-</style>(No newline at end of file) |
|
168 |
+}</style>(No newline at end of file) |
--- client/views/pages/admin/databook/DataSelectOne.vue
+++ client/views/pages/admin/databook/DataSelectOne.vue
... | ... | @@ -35,6 +35,12 @@ |
35 | 35 |
</tr> |
36 | 36 |
</tbody> |
37 | 37 |
</table> |
38 |
+ <div class="article-list"> |
|
39 |
+ <ul> |
|
40 |
+ <li><span class="next">다음글</span><span></span></li> |
|
41 |
+ <li><span class="prev">이전글</span><span></span></li> |
|
42 |
+ </ul> |
|
43 |
+ </div> |
|
38 | 44 |
<div class="btn-wrap"> |
39 | 45 |
<button class="red-btn" @click="postDelete()">삭제</button> |
40 | 46 |
<button class="dark-gray-btn" @click="postSelectListPage()">목록</button> |
--- client/views/pages/admin/networking/NetworkingSelectOne.vue
+++ client/views/pages/admin/networking/NetworkingSelectOne.vue
... | ... | @@ -36,6 +36,12 @@ |
36 | 36 |
</tr> |
37 | 37 |
</tbody> |
38 | 38 |
</table> |
39 |
+ <div class="article-list"> |
|
40 |
+ <ul> |
|
41 |
+ <li><span class="next">다음글</span><span></span></li> |
|
42 |
+ <li><span class="prev">이전글</span><span></span></li> |
|
43 |
+ </ul> |
|
44 |
+ </div> |
|
39 | 45 |
<div class="btn-wrap"> |
40 | 46 |
<button class="red-btn" @click="postDelete()">삭제</button> |
41 | 47 |
<button class="dark-gray-btn" @click="postSelectListPage()">목록</button> |
--- client/views/pages/admin/news/NewsSelectOne.vue
+++ client/views/pages/admin/news/NewsSelectOne.vue
... | ... | @@ -11,41 +11,64 @@ |
11 | 11 |
<table class="insert-table"> |
12 | 12 |
<tbody> |
13 | 13 |
<tr> |
14 |
- <th>제목</th> |
|
15 |
- <td><input type="text" name="" id="newsTitle"></td> |
|
14 |
+ <td class="title-zone" colspan="2"> |
|
15 |
+ <p class="flex"><span class="post-title">{{ post.post_title }}</span><span class="category-zone">카테고리란</span></p> |
|
16 |
+ <p class="flex-end"><span class="writer">작성자</span><span>{{ post.rgtr_id }}</span><span |
|
17 |
+ class="view">조회수</span><span>{{ post.view_cnt }}</span></p> |
|
18 |
+ </td> |
|
16 | 19 |
</tr> |
17 | 20 |
<tr> |
18 |
- <th>내용</th> |
|
19 |
- <td><textarea name="" id="" cols="30" rows="10"></textarea></td> |
|
21 |
+ <td colspan="2" style="border-bottom: 1px solid #007aff;"> |
|
22 |
+ <div id="viewer" ref="viewer" class="viewer"></div> |
|
23 |
+ </td> |
|
24 |
+ </tr> |
|
25 |
+ <tr> |
|
26 |
+ <th style="width: 10%;">첨부파일명</th> |
|
27 |
+ <td> |
|
28 |
+ <div v-if="fileList.length == 0"> |
|
29 |
+ <label>첨부된 파일이 없습니다.</label> |
|
30 |
+ </div> |
|
31 |
+ <ul v-else v-for="(item, idx) in fileList" :key="idx"> |
|
32 |
+ <li @click="downloadFile(item)">{{ item.real_file_nm }}</li> |
|
33 |
+ </ul> |
|
34 |
+ </td> |
|
20 | 35 |
</tr> |
21 | 36 |
</tbody> |
22 | 37 |
</table> |
38 |
+ <div class="article-list"> |
|
39 |
+ <ul> |
|
40 |
+ <li><span class="next">다음글</span><span></span></li> |
|
41 |
+ <li><span class="prev">이전글</span><span></span></li> |
|
42 |
+ </ul> |
|
43 |
+ </div> |
|
23 | 44 |
<div class="btn-wrap"> |
24 |
- <button class="red-btn" @click="selectList">삭제</button> |
|
25 |
- <button class="dark-gray-btn" @click="selectList">목록</button> |
|
26 |
- <button class="blue-btn">수정</button> |
|
45 |
+ <button class="red-btn" @click="postDelete()">삭제</button> |
|
46 |
+ <button class="dark-gray-btn" @click="postSelectListPage()">목록</button> |
|
47 |
+ <button class="blue-btn" @click="postUpdatePage()">수정</button> |
|
27 | 48 |
</div> |
28 | 49 |
</div> |
29 | 50 |
</div> |
30 | 51 |
</div> |
31 | 52 |
</template> |
32 | 53 |
<script> |
33 |
- |
|
54 |
+import axios from 'axios'; |
|
55 |
+import COMMON_UTIL from '../../../../resources/js/commonUtil.js'; |
|
56 |
+import { useRoute } from 'vue-router'; |
|
57 |
+import Viewer from '@toast-ui/editor/dist/toastui-editor-viewer'; |
|
58 |
+import '@toast-ui/editor/dist/toastui-editor.css'; |
|
59 |
+import '@toast-ui/editor/dist/i18n/ko-kr'; |
|
34 | 60 |
|
35 | 61 |
export default { |
36 | 62 |
|
37 | 63 |
data() { |
38 | 64 |
return {}; |
39 | 65 |
}, |
40 |
- methods: { |
|
41 |
- selectList:function(){ |
|
42 |
- this.$router.push({ path: '/adm/newsSelectList.page'}); |
|
43 |
- } |
|
44 |
- }, |
|
66 |
+ methods: {}, |
|
45 | 67 |
watch: {}, |
46 | 68 |
computed: {}, |
47 | 69 |
components: {}, |
48 | 70 |
mounted() { |
71 |
+ |
|
49 | 72 |
} |
50 | 73 |
}; |
51 | 74 |
</script> |
... | ... | @@ -58,17 +81,21 @@ |
58 | 81 |
} |
59 | 82 |
|
60 | 83 |
.insert-table { |
61 |
- border-top: 3px solid #ddd; |
|
62 |
- border-bottom: 3px solid #ddd; |
|
84 |
+ border-top: 2px solid #007aff; |
|
85 |
+ border-bottom: 2px solid #007aff; |
|
63 | 86 |
} |
64 | 87 |
|
65 |
-textarea{ |
|
88 |
+ |
|
89 |
+ |
|
90 |
+textarea { |
|
66 | 91 |
width: 100%; |
67 | 92 |
height: 450px; |
68 | 93 |
} |
69 | 94 |
|
70 | 95 |
.dark-gray-btn, |
71 |
-.red-btn { |
|
96 |
+.red-btn { |
|
72 | 97 |
margin-right: 5px; |
73 | 98 |
} |
74 |
-</style> |
|
99 |
+ |
|
100 |
+ |
|
101 |
+</style>(No newline at end of file) |
--- client/views/pages/admin/notice/NoticeSelectOne.vue
+++ client/views/pages/admin/notice/NoticeSelectOne.vue
... | ... | @@ -10,10 +10,6 @@ |
10 | 10 |
<div class="content-wrap"> |
11 | 11 |
<table class="insert-table"> |
12 | 12 |
<tbody> |
13 |
- <!-- <tr> |
|
14 |
- <th>제목</th> |
|
15 |
- <td><input type="text" name="" id="newsTitle"></td> |
|
16 |
- </tr> --> |
|
17 | 13 |
<tr> |
18 | 14 |
<td class="title-zone" colspan="2"> |
19 | 15 |
<p class="flex"><span class="post-title">{{ post.post_title }}</span></p> |
... | ... | @@ -21,10 +17,6 @@ |
21 | 17 |
class="view">조회수</span><span>{{ post.view_cnt }}</span></p> |
22 | 18 |
</td> |
23 | 19 |
</tr> |
24 |
- <!-- <tr> |
|
25 |
- <th>내용</th> |
|
26 |
- <td><textarea name="" id="" cols="30" rows="10"></textarea></td> |
|
27 |
- </tr> --> |
|
28 | 20 |
<tr> |
29 | 21 |
<td colspan="2" style="border-bottom: 1px solid #007aff;"> |
30 | 22 |
<div id="viewer" ref="viewer" class="viewer"></div> |
... | ... | @@ -43,6 +35,12 @@ |
43 | 35 |
</tr> |
44 | 36 |
</tbody> |
45 | 37 |
</table> |
38 |
+ <div class="article-list"> |
|
39 |
+ <ul> |
|
40 |
+ <li><span class="next">다음글</span><span></span></li> |
|
41 |
+ <li><span class="prev">이전글</span><span></span></li> |
|
42 |
+ </ul> |
|
43 |
+ </div> |
|
46 | 44 |
<div class="btn-wrap"> |
47 | 45 |
<button class="red-btn" @click="postDelete()">삭제</button> |
48 | 46 |
<button class="dark-gray-btn" @click="postSelectListPage()">목록</button> |
--- client/views/pages/admin/user/UserSelectList.vue
+++ client/views/pages/admin/user/UserSelectList.vue
... | ... | @@ -38,6 +38,11 @@ |
38 | 38 |
</tr> |
39 | 39 |
</tbody> |
40 | 40 |
</table> |
41 |
+ <div class="flex-center"> |
|
42 |
+ <PaginationButton v-if="userListCount > 0" v-model:currentPage="userListSearch.currentPage" |
|
43 |
+ :per-page="userListSearch.perPage" :total-count="userListCount" :max-range="5" |
|
44 |
+ :click="userSelectList" /> |
|
45 |
+ </div> |
|
41 | 46 |
</div> |
42 | 47 |
<div v-show="currentTab == 1"> |
43 | 48 |
<table> |
... | ... | @@ -92,9 +97,6 @@ |
92 | 97 |
</table> |
93 | 98 |
<div class="btn-wrap"> |
94 | 99 |
<button class="blue-btn" @click="modalType = 'userInsert'">등록</button> |
95 |
- </div> |
|
96 |
- <div class="flex-center"> |
|
97 |
- <PaginationButton /> |
|
98 | 100 |
</div> |
99 | 101 |
</div> |
100 | 102 |
</div> |
--- client/views/pages/user/join/Join.vue
+++ client/views/pages/user/join/Join.vue
... | ... | @@ -79,8 +79,10 @@ |
79 | 79 |
<span>담당자 명함</span> |
80 | 80 |
</div> |
81 | 81 |
<div class="join-sub-input join-imgbox"> |
82 |
- <label for="businessCardImg" type="file" accept="image/*" ref="businessCardImg" |
|
83 |
- @change="businessCardUpload">90x50</label> |
|
82 |
+ <label for="businessCardImg" type="file" accept="image/*" ref="businessCardImg"> |
|
83 |
+ 90x50 |
|
84 |
+ <img v-if="cardPreview" :src="cardPreview" /> |
|
85 |
+ </label> |
|
84 | 86 |
<input type="file" accept="image/*" name="imgFile" id="businessCardImg" ref="businessCardImg" |
85 | 87 |
@change="businessCardUpload" style="display: none;" /> |
86 | 88 |
</div> |
... | ... | @@ -122,7 +124,6 @@ |
122 | 124 |
|
123 | 125 |
<div class="uploaded-box-radius"> |
124 | 126 |
<p>LOGO</p> |
125 |
- <!-- <img v-if="logo_img" :src="logo_img" alt="Selected Image"> --> |
|
126 | 127 |
<img v-if="logoPreview" :src="logoPreview" /> |
127 | 128 |
</div> |
128 | 129 |
<div class="btn-upload-join" @click="openFileInput"> |
... | ... | @@ -139,9 +140,9 @@ |
139 | 140 |
<span>사업자등록번호</span> |
140 | 141 |
</div> |
141 | 142 |
<div> |
142 |
- <input type="text" v-model="company.company_id" @blur="validateBusinessNumber" class="id-input" |
|
143 |
- placeholder="사업자등록번호를 입력하세요." /> |
|
144 |
- <p v-show="businessNumber != null">{{ businessNumber }}</p> |
|
143 |
+ <input type="text" v-model="company.company_id" @blur="validateBusinessNumber" |
|
144 |
+ class="id-input" placeholder="사업자등록번호를 입력하세요." /> |
|
145 |
+ <p v-show="businessNumber != null">{{ businessNumber }}</p> |
|
145 | 146 |
</div> |
146 | 147 |
<div> |
147 | 148 |
<button @click="businessNumCheck" class="blue-btn">중복확인</button> |
... | ... | @@ -188,7 +189,6 @@ |
188 | 189 |
<span>회사소개글</span> |
189 | 190 |
</div> |
190 | 191 |
<div class="join-sub-input"> |
191 |
- <!-- <input type="text" v-model="company['company_info']"> --> |
|
192 | 192 |
<textarea name="smart" id="smart" v-model="company['company_info']"></textarea> |
193 | 193 |
</div> |
194 | 194 |
</div> |
... | ... | @@ -374,6 +374,7 @@ |
374 | 374 |
selectedImage: null, |
375 | 375 |
oEditors: [], |
376 | 376 |
logoPreview: null, |
377 |
+ cardPreview: null, |
|
377 | 378 |
combinedUserId: '', |
378 | 379 |
showModal: false, |
379 | 380 |
showModal2: false, |
... | ... | @@ -385,7 +386,6 @@ |
385 | 386 |
} |
386 | 387 |
}, |
387 | 388 |
methods: { |
388 |
- |
|
389 | 389 |
// validateID |
390 | 390 |
validateID() { |
391 | 391 |
if (COMMON_UTIL.idCheck(this.user.user_id) === false) { |
... | ... | @@ -394,10 +394,10 @@ |
394 | 394 |
this.validateId = ''; |
395 | 395 |
} |
396 | 396 |
}, |
397 |
- validateBusinessNumber(){ |
|
397 |
+ validateBusinessNumber() { |
|
398 | 398 |
if (COMMON_UTIL.businessNumber(this.company.company_id) === false) { |
399 | 399 |
this.businessNumber = '사업자등록번호를 다시 한번 확인해주세요.'; |
400 |
- }else { |
|
400 |
+ } else { |
|
401 | 401 |
this.businessNumber = ''; |
402 | 402 |
} |
403 | 403 |
}, |
... | ... | @@ -409,20 +409,6 @@ |
409 | 409 |
}, |
410 | 410 |
removeTag(index) { |
411 | 411 |
this.tags.splice(index, 1); |
412 |
- }, |
|
413 |
- |
|
414 |
- // 사업자등록번호 모달 |
|
415 |
- openModal() { |
|
416 |
- this.showModal = true; |
|
417 |
- }, |
|
418 |
- closeModal() { |
|
419 |
- this.showModal = false; |
|
420 |
- }, |
|
421 |
- openModal2() { |
|
422 |
- this.showModal2 = true; |
|
423 |
- }, |
|
424 |
- closeModal2() { |
|
425 |
- this.showModal2 = false; |
|
426 | 412 |
}, |
427 | 413 |
//비밀번호 매칭 확인 |
428 | 414 |
passwordSyncCheck: function () { |
... | ... | @@ -480,7 +466,6 @@ |
480 | 466 |
alert("중복검사 오류, 다시 시도해주세요."); |
481 | 467 |
}); |
482 | 468 |
}, |
483 |
- |
|
484 | 469 |
//user ID 중복 검사 |
485 | 470 |
userIdCheck: function () { |
486 | 471 |
const vm = this; |
... | ... | @@ -621,8 +606,8 @@ |
621 | 606 |
vm.file.append('business_card_img', file); |
622 | 607 |
var reader = new FileReader(); |
623 | 608 |
reader.onload = function (e) { |
624 |
- var output = document.getElementById("businessCardImg"); |
|
625 |
- output.src = reader.result; |
|
609 |
+ //var output = document.getElementById("businessCardImg"); |
|
610 |
+ vm.logoPreview = reader.result; |
|
626 | 611 |
}; |
627 | 612 |
reader.readAsDataURL(file); |
628 | 613 |
|
... | ... | @@ -635,19 +620,6 @@ |
635 | 620 |
} |
636 | 621 |
}, |
637 | 622 |
|
638 |
- // companyProfileUpload: function (e) { |
|
639 |
- // const vm = this; |
|
640 |
- // vm.company_profile = new FormData() |
|
641 |
- |
|
642 |
- // for (const file of e.target.files) { |
|
643 |
- // vm.company_profile.append('company_profile', file); |
|
644 |
- // } |
|
645 |
- // }, |
|
646 |
- |
|
647 |
- // 사업자번호 중복 검사 |
|
648 |
- businessNumCheck: function () { |
|
649 |
- |
|
650 |
- }, |
|
651 | 623 |
//유효성 검사 |
652 | 624 |
joinInsertCheck: function () { |
653 | 625 |
if (COMMON_UTIL.isEmpty(this.user.user_id) === false) { |
... | ... | @@ -695,24 +667,6 @@ |
695 | 667 |
|
696 | 668 |
}, |
697 | 669 |
|
698 |
- initEditor: function (initData) { |
|
699 |
- // 스마트 에디터 적용 |
|
700 |
- // const oEditors = this.oEditors; |
|
701 |
- // nhn.husky.EZCreator.createInIFrame({ |
|
702 |
- // oAppRef: oEditors, |
|
703 |
- // elPlaceHolder: "smart", |
|
704 |
- // sSkinURI: "/client/smarteditor2-2.8.2.3/SmartEditor2Skin.html", |
|
705 |
- // htParams: { |
|
706 |
- // bSkipXssFilter : true, |
|
707 |
- // bUseVerticalResizer: true, |
|
708 |
- // bUseModeChanger: true |
|
709 |
- // }, |
|
710 |
- // fOnAppLoad:function(){ |
|
711 |
- // oEditors.getById["smart"].exec("PASTE_HTML", [initData]); |
|
712 |
- // }, |
|
713 |
- // fCreator: "createSEditor2" |
|
714 |
- // }); |
|
715 |
- }, |
|
716 | 670 |
showDiv: function () { |
717 | 671 |
this.isVisible = true; |
718 | 672 |
}, |
... | ... | @@ -823,9 +777,7 @@ |
823 | 777 |
} |
824 | 778 |
|
825 | 779 |
.join-text-bt { |
826 |
- |
|
827 | 780 |
background-color: #00000000; |
828 |
- |
|
829 | 781 |
} |
830 | 782 |
|
831 | 783 |
.join-text-bt2 { |
... | ... | @@ -839,7 +791,6 @@ |
839 | 791 |
top: 50%; |
840 | 792 |
left: 50%; |
841 | 793 |
width: 20%; |
842 |
- /* height: 10%; */ |
|
843 | 794 |
transform: translate(-50%, -50%); |
844 | 795 |
background: white; |
845 | 796 |
padding: 20px; |
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?