
--- client/resources/scss/common/base/_reset.scss
+++ client/resources/scss/common/base/_reset.scss
... | ... | @@ -78,7 +78,6 @@ |
78 | 78 |
font-family: inherit; |
79 | 79 |
line-height: $line-height-base; |
80 | 80 |
letter-spacing: inherit; |
81 |
- white-space: pre-wrap; |
|
82 | 81 |
} |
83 | 82 |
pre { |
84 | 83 |
font-family: inherit; |
... | ... | @@ -274,4 +273,8 @@ |
274 | 273 |
display: block; |
275 | 274 |
line-height: inherit; |
276 | 275 |
} |
276 |
+} |
|
277 |
+ |
|
278 |
+p,span,td,th,label{ |
|
279 |
+ white-space: pre-wrap; |
|
277 | 280 |
}(파일 끝에 줄바꿈 문자 없음) |
--- client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectList.vue
+++ client/views/pages/adm/boardManagement/template/faqTemplate/FaqSelectList.vue
... | ... | @@ -1,4 +1,5 @@ |
1 | 1 |
<template> |
2 |
+ <!-- 사용자 --> |
|
2 | 3 |
<template v-if="pageRole === 'portal'"> |
3 | 4 |
<div> |
4 | 5 |
<div> |
... | ... | @@ -71,108 +72,106 @@ |
71 | 72 |
<th>비고</th> |
72 | 73 |
</tr> |
73 | 74 |
</thead> |
74 |
- <tbody> |
|
75 |
- <template v-if="list.length > 0"> |
|
76 |
- <template v-for="(item, idx) in list" :key="idx"> |
|
77 |
- <tr @click="toggle(idx)"> |
|
78 |
- <td>{{ item.ansStts == "N" ? "미답변" : "답변완료" }}</td> |
|
79 |
- <td> |
|
80 |
- <div> |
|
81 |
- <span>Q.</span> |
|
82 |
- <div v-if="item.prvtPstYn == 'Y'"> |
|
83 |
- <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsCn : '[ 비밀글입니다 ]' }} --> |
|
84 |
- <p |
|
85 |
- v-html=" |
|
86 |
- item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
87 |
- ? item.bbsCn |
|
88 |
- : '[ 비밀글입니다 ]' |
|
89 |
- " |
|
90 |
- ></p> |
|
91 |
- </div> |
|
92 |
- <div v-else> |
|
93 |
- <!-- {{ item.bbsCn }} --> |
|
94 |
- <p v-html="item.bbsCn"></p> |
|
95 |
- </div> |
|
75 |
+ <tbody v-if="list.length > 0"> |
|
76 |
+ <template v-for="(item, idx) in list" :key="idx"> |
|
77 |
+ <tr @click="toggle(idx)"> |
|
78 |
+ <td>{{ item.ansStts == "N" ? "미답변" : "답변완료" }}</td> |
|
79 |
+ <td> |
|
80 |
+ <div> |
|
81 |
+ <span>Q.</span> |
|
82 |
+ <div v-if="item.prvtPstYn == 'Y'"> |
|
83 |
+ <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsCn : '[ 비밀글입니다 ]' }} --> |
|
84 |
+ <p |
|
85 |
+ v-html=" |
|
86 |
+ item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
87 |
+ ? item.bbsCn |
|
88 |
+ : '[ 비밀글입니다 ]' |
|
89 |
+ " |
|
90 |
+ ></p> |
|
96 | 91 |
</div> |
97 |
- </td> |
|
98 |
- <td>{{ item.rgtrNm }}</td> |
|
99 |
- <td>{{ item.regDt }}</td> |
|
100 |
- <td> |
|
101 |
- <div> |
|
102 |
- <template v-if="item.rgtr == mbrId || roles == 'ROLE_ADMIN'"> |
|
103 |
- <button class="btn sm primary" |
|
104 |
- @click="fnUpdate(item.bbsId)" |
|
105 |
- > |
|
106 |
- 수정 |
|
107 |
- </button> |
|
108 |
- <button |
|
109 |
- class="btn sm red" |
|
110 |
- @click="fnDelete(item)" |
|
111 |
- > |
|
112 |
- 삭제 |
|
113 |
- </button> |
|
114 |
- </template> |
|
115 |
- <div |
|
116 |
- v-if="roles == 'ROLE_ADMIN' && item.ansCn == null" |
|
117 |
- > |
|
118 |
- <button |
|
119 |
- class="btn sm btn-chip-outline primary" |
|
120 |
- @click="fnAnswer(item.bbsId)" |
|
92 |
+ <div v-else> |
|
93 |
+ <!-- {{ item.bbsCn }} --> |
|
94 |
+ <p v-html="item.bbsCn"></p> |
|
95 |
+ </div> |
|
96 |
+ </div> |
|
97 |
+ </td> |
|
98 |
+ <td>{{ item.rgtrNm }}</td> |
|
99 |
+ <td>{{ item.regDt }}</td> |
|
100 |
+ <td> |
|
101 |
+ <div> |
|
102 |
+ <template v-if="item.rgtr == mbrId || roles == 'ROLE_ADMIN'"> |
|
103 |
+ <button class="btn sm primary" |
|
104 |
+ @click="fnUpdate(item.bbsId)" |
|
121 | 105 |
> |
122 |
- 답변 |
|
123 |
- </button> |
|
124 |
- </div> |
|
125 |
- </div> |
|
126 |
- </td> |
|
127 |
- </tr> |
|
128 |
- <tr v-if="isOpen === idx && item.absBbsId !== null" class="answer"> |
|
129 |
- <td>A.</td> |
|
130 |
- <td colspan="3"> |
|
131 |
- <div> |
|
132 |
- <template v-if="item.prvtPstYn == 'Y'"> |
|
133 |
- <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.ansCn : '[ 비밀 답글입니다 ]' }} --> |
|
134 |
- <p |
|
135 |
- v-html=" |
|
136 |
- item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
137 |
- ? item.ansCn |
|
138 |
- : '[ 비밀글입니다 ]' |
|
139 |
- " |
|
140 |
- ></p> |
|
141 |
- </template> |
|
142 |
- <template v-else> |
|
143 |
- <!-- {{ item.ansCn }} --> |
|
144 |
- <p v-html="item.ansCn"></p> |
|
145 |
- </template> |
|
146 |
- </div> |
|
147 |
- </td> |
|
148 |
- <td> |
|
149 |
- <div |
|
150 |
- v-if="item.ansCn != null && roles == 'ROLE_ADMIN'" |
|
151 |
- > |
|
152 |
- <button |
|
153 |
- class="btn sm primary" |
|
154 |
- @click="fnAnswer(item.bbsId)" |
|
155 |
- > |
|
156 |
- 답변수정 |
|
106 |
+ 수정 |
|
157 | 107 |
</button> |
158 | 108 |
<button |
159 | 109 |
class="btn sm red" |
160 |
- @click="fnAnswerDel(item)" |
|
110 |
+ @click="fnDelete(item)" |
|
161 | 111 |
> |
162 |
- 답변삭제 |
|
112 |
+ 삭제 |
|
163 | 113 |
</button> |
114 |
+ </template> |
|
115 |
+ <div |
|
116 |
+ v-if="roles == 'ROLE_ADMIN' && item.ansCn == null" |
|
117 |
+ > |
|
118 |
+ <button |
|
119 |
+ class="btn sm btn-chip-outline primary" |
|
120 |
+ @click="fnAnswer(item.bbsId)" |
|
121 |
+ > |
|
122 |
+ 답변 |
|
123 |
+ </button> |
|
164 | 124 |
</div> |
165 |
- </td> |
|
166 |
- </tr> |
|
167 |
- </template> |
|
168 |
- </template> |
|
169 |
- <template v-else> |
|
170 |
- <tr> |
|
171 |
- <td colspan="5" class="data-none"> |
|
172 |
- 등록된 정보가 존재하지 않습니다. |
|
125 |
+ </div> |
|
126 |
+ </td> |
|
127 |
+ </tr> |
|
128 |
+ <tr v-if="isOpen === idx && item.absBbsId !== null" class="answer"> |
|
129 |
+ <td>A.</td> |
|
130 |
+ <td colspan="3"> |
|
131 |
+ <div> |
|
132 |
+ <template v-if="item.prvtPstYn == 'Y'"> |
|
133 |
+ <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.ansCn : '[ 비밀 답글입니다 ]' }} --> |
|
134 |
+ <p |
|
135 |
+ v-html=" |
|
136 |
+ item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
|
137 |
+ ? item.ansCn |
|
138 |
+ : '[ 비밀글입니다 ]' |
|
139 |
+ " |
|
140 |
+ ></p> |
|
141 |
+ </template> |
|
142 |
+ <template v-else> |
|
143 |
+ <!-- {{ item.ansCn }} --> |
|
144 |
+ <p v-html="item.ansCn"></p> |
|
145 |
+ </template> |
|
146 |
+ </div> |
|
147 |
+ </td> |
|
148 |
+ <td> |
|
149 |
+ <div |
|
150 |
+ v-if="item.ansCn != null && roles == 'ROLE_ADMIN'" |
|
151 |
+ > |
|
152 |
+ <button |
|
153 |
+ class="btn sm primary" |
|
154 |
+ @click="fnAnswer(item.bbsId)" |
|
155 |
+ > |
|
156 |
+ 답변수정 |
|
157 |
+ </button> |
|
158 |
+ <button |
|
159 |
+ class="btn sm red" |
|
160 |
+ @click="fnAnswerDel(item)" |
|
161 |
+ > |
|
162 |
+ 답변삭제 |
|
163 |
+ </button> |
|
164 |
+ </div> |
|
173 | 165 |
</td> |
174 | 166 |
</tr> |
175 | 167 |
</template> |
168 |
+ </tbody> |
|
169 |
+ <tbody v-else> |
|
170 |
+ <tr> |
|
171 |
+ <td colspan="5" class="data-none"> |
|
172 |
+ 등록된 정보가 존재하지 않습니다. |
|
173 |
+ </td> |
|
174 |
+ </tr> |
|
176 | 175 |
</tbody> |
177 | 176 |
</table> |
178 | 177 |
<div class="btn-wrap list"> |
... | ... | @@ -193,6 +192,7 @@ |
193 | 192 |
</div> |
194 | 193 |
</div> |
195 | 194 |
</template> |
195 |
+ <!-- 관리자 --> |
|
196 | 196 |
<template v-else> |
197 | 197 |
<div class="search-wrap"> |
198 | 198 |
<div></div> |
... | ... | @@ -246,7 +246,7 @@ |
246 | 246 |
<th>비고</th> |
247 | 247 |
</tr> |
248 | 248 |
</thead> |
249 |
- <tbody> |
|
249 |
+ <tbody v-if="list.length > 0"> |
|
250 | 250 |
<template v-for="(item, idx) in list" :key="idx"> |
251 | 251 |
<tr @click="toggle(idx)"> |
252 | 252 |
<td> |
... | ... | @@ -257,7 +257,6 @@ |
257 | 257 |
<div class="layout"> |
258 | 258 |
<span class="state question">Q</span> |
259 | 259 |
<div v-if="item.prvtPstYn == 'Y'"> |
260 |
- <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.bbsCn : '[ 비밀글입니다 ]' }} --> |
|
261 | 260 |
<p |
262 | 261 |
v-html=" |
263 | 262 |
item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
... | ... | @@ -267,7 +266,6 @@ |
267 | 266 |
></p> |
268 | 267 |
</div> |
269 | 268 |
<div v-else> |
270 |
- <!-- {{ item.bbsCn }} --> |
|
271 | 269 |
<p v-html="item.bbsCn"></p> |
272 | 270 |
</div> |
273 | 271 |
</div> |
... | ... | @@ -311,7 +309,6 @@ |
311 | 309 |
<div class="layout"> |
312 | 310 |
<span class="state answer">A</span> |
313 | 311 |
<div v-if="item.prvtPstYn == 'Y'"> |
314 |
- <!-- {{ item.rgtr == mbrId || roles == 'ROLE_ADMIN' ? item.ansCn : '[ 비밀 답글입니다 ]' }} --> |
|
315 | 312 |
<p |
316 | 313 |
v-html=" |
317 | 314 |
item.rgtr == mbrId || roles == 'ROLE_ADMIN' |
... | ... | @@ -321,7 +318,6 @@ |
321 | 318 |
></p> |
322 | 319 |
</div> |
323 | 320 |
<div v-else> |
324 |
- <!-- {{ item.ansCn }} --> |
|
325 | 321 |
<p v-html="item.ansCn"></p> |
326 | 322 |
</div> |
327 | 323 |
</div> |
... | ... | @@ -347,6 +343,13 @@ |
347 | 343 |
</td> |
348 | 344 |
</tr> |
349 | 345 |
</template> |
346 |
+ </tbody> |
|
347 |
+ <tbody v-else> |
|
348 |
+ <tr> |
|
349 |
+ <td colspan="5" class="data-none"> |
|
350 |
+ 등록된 정보가 존재하지 않습니다. |
|
351 |
+ </td> |
|
352 |
+ </tr> |
|
350 | 353 |
</tbody> |
351 | 354 |
</table> |
352 | 355 |
</div> |
... | ... | @@ -432,6 +435,7 @@ |
432 | 435 |
try { |
433 | 436 |
const res = await findAll(toRaw(this.search)); |
434 | 437 |
this.list = res.data.data.list; // 게시판 관리 목록 |
438 |
+ console.log("검색갯수",this.list.length); |
|
435 | 439 |
this.listCnt = res.data.data.pagination.totalRecordCount; // 게시판 관리 목록 갯수 |
436 | 440 |
this.search = res.data.data.pagination; // 페이징처리 및 검색 내용 |
437 | 441 |
// this.codeList = res.data.data.codeList; // 검색 조건 항목 |
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?