
--- client/resources/scss/admin/content.scss
+++ client/resources/scss/admin/content.scss
... | ... | @@ -112,7 +112,12 @@ |
112 | 112 |
|
113 | 113 |
|
114 | 114 |
.form-select { |
115 |
- width: 200px; |
|
115 |
+ min-width: 135px; |
|
116 |
+ max-width: 300px; |
|
117 |
+ |
|
118 |
+ &.fixed{ |
|
119 |
+ width: 135px; |
|
120 |
+ } |
|
116 | 121 |
} |
117 | 122 |
|
118 | 123 |
.form-control { |
--- client/views/pages/adm/boardManagement/wordsManagement/WordsManagementSelectList.vue
+++ client/views/pages/adm/boardManagement/wordsManagement/WordsManagementSelectList.vue
... | ... | @@ -44,18 +44,12 @@ |
44 | 44 |
<div class="modal-title"> |
45 | 45 |
<p>금지어 추가</p> |
46 | 46 |
</div> |
47 |
- <button class="close-btn" @click="modalClose">X</button> |
|
47 |
+ <button class="btn-close" @click="fnModalClose"></button> |
|
48 | 48 |
</template> |
49 |
- <div class="search mb30"> |
|
50 |
- <div class="flex justify-start align-center"> |
|
51 |
- <div class="gd-10 pl0"> |
|
52 |
- <input type="text" class="full-input" placeholder="추가할 금지어를 입력해주세요." v-model="inputWordNm" |
|
53 |
- @keyup.enter="addinputWord" /> |
|
54 |
- </div> |
|
55 |
- <div class="gd-2 pl0 pr0"> |
|
56 |
- <button class="large-btn blue-border-btn" @click="addinputWord">추가</button> |
|
57 |
- </div> |
|
58 |
- </div> |
|
49 |
+ <div class="search-bar"> |
|
50 |
+ <input type="text" class="form-control sm" placeholder="추가할 금지어를 입력해주세요." v-model="inputWordNm" |
|
51 |
+ @keyup.enter="addinputWord" /> |
|
52 |
+ <button class="btn sm ico-befor ico-plus" @click="addinputWord">추가</button> |
|
59 | 53 |
</div> |
60 | 54 |
<ul style="height:calc(100% - 118px)" class="overflow-y"> |
61 | 55 |
<li v-for="(item, index) in wordsArr" class="word-item pd10 border radius mb5" :key="index"> |
... | ... | @@ -64,8 +58,8 @@ |
64 | 58 |
</li> |
65 | 59 |
</ul> |
66 | 60 |
<template v-slot:footer> |
67 |
- <button class="large-btn darkg-border-btn ml0" @click="modalClose">취소</button> |
|
68 |
- <button class="large-btn blue-btn ml0" @click="fnSave">등록</button> |
|
61 |
+ <button class="btn sm tertiary" @click="modalClose">취소</button> |
|
62 |
+ <button class="btn sm primary" @click="fnSave">등록</button> |
|
69 | 63 |
</template> |
70 | 64 |
</Modal> |
71 | 65 |
</template> |
--- client/views/pages/adm/popup/PopupManagementInsert.vue
+++ client/views/pages/adm/popup/PopupManagementInsert.vue
... | ... | @@ -1,299 +1,228 @@ |
1 | 1 |
<template> |
2 |
- <div class="content admin-style"> |
|
3 |
- <div class="admin-page-title point-font2 mb30"> |
|
4 |
- <p>팝업 관리</p> |
|
5 |
- </div> |
|
6 |
- <details open class="form-table-style mb30"> |
|
7 |
- <summary class="point-font2"> |
|
8 |
- <p class="summary-style pl10">기본정보</p> |
|
9 |
- </summary> |
|
10 |
- <div class="pt10 pb10"> |
|
11 |
- <table class="form-table"> |
|
12 |
- <colgroup> |
|
13 |
- <col width="50%" /> |
|
14 |
- <col width="50%" /> |
|
15 |
- </colgroup> |
|
16 |
- <tr> |
|
17 |
- <td> |
|
18 |
- <div class="gd-12 pr0"> |
|
19 |
- <label for="" class="form-title point-font2 mb10">제목</label> |
|
2 |
+ <div class="content-zone"> |
|
3 |
+ <div class="content"> |
|
4 |
+ <div class="scroll"> |
|
5 |
+ <div class="title-zone"> |
|
6 |
+ <div class="page-title"> |
|
7 |
+ <p>팝업 관리</p> |
|
8 |
+ </div> |
|
9 |
+ <PagiNavigationBar /> |
|
10 |
+ </div> |
|
11 |
+ <div class="form-box"> |
|
12 |
+ <div class="form-box-title"> |
|
13 |
+ <p>기본정보</p> |
|
14 |
+ </div> |
|
15 |
+ <div class="form-content"> |
|
16 |
+ <div> |
|
17 |
+ <label class="form-title">제목</label> |
|
18 |
+ <input |
|
19 |
+ type="text" |
|
20 |
+ class="form-control sm" |
|
21 |
+ v-model="popup['popupTtl']" |
|
22 |
+ ref="popupTtl" |
|
23 |
+ placeholder="제목을 입력하세요." |
|
24 |
+ /> |
|
25 |
+ </div> |
|
26 |
+ <div> |
|
27 |
+ <label class="form-title">게시일</label> |
|
28 |
+ <div class="input-group"> |
|
29 |
+ <VueDatePicker |
|
30 |
+ v-model="popup['bgngDt']" |
|
31 |
+ ref="bgngDt" |
|
32 |
+ time-picker-inline |
|
33 |
+ placeholder="시작일" |
|
34 |
+ locale="ko" |
|
35 |
+ inputFormat="yyyy-mm-dd" |
|
36 |
+ /> |
|
37 |
+ <div class="pd10">-</div> |
|
38 |
+ <VueDatePicker |
|
39 |
+ v-model="popup['endDt']" |
|
40 |
+ ref="endDt" |
|
41 |
+ time-picker-inline |
|
42 |
+ placeholder="종료일" |
|
43 |
+ locale="ko" |
|
44 |
+ inputFormat="yyyy-mm-dd" |
|
45 |
+ /> |
|
46 |
+ </div> |
|
47 |
+ </div> |
|
48 |
+ <div> |
|
49 |
+ <label class="form-title">팝업크기</label> |
|
50 |
+ <div class="input-group"> |
|
51 |
+ <select class="form-select sm fixed" v-model="popup['popupSizeType']"> |
|
52 |
+ <option value="fixed">고정값</option> |
|
53 |
+ <option value="custom">사용자지정</option> |
|
54 |
+ </select> |
|
55 |
+ |
|
56 |
+ <!-- 고정값 --> |
|
57 |
+ <template v-if="popup['popupSizeType'] == 'fixed'"> |
|
58 |
+ <div |
|
59 |
+ v-for="(popupSize, index) of popupSizes" |
|
60 |
+ :key="index" |
|
61 |
+ class="form-check" |
|
62 |
+ > |
|
63 |
+ <input |
|
64 |
+ type="radio" |
|
65 |
+ :id="popupSize['id']" |
|
66 |
+ class="mr5" |
|
67 |
+ v-model="popup['popupSize']" |
|
68 |
+ :value="popupSize['id']" |
|
69 |
+ ref="popupSize" |
|
70 |
+ /> |
|
71 |
+ <label :for="popupSize['id']"> |
|
72 |
+ {{ popupSize["wdthLen"] }}X{{ popupSize["vrtcLen"] }} |
|
73 |
+ </label> |
|
74 |
+ </div> |
|
75 |
+ </template> |
|
76 |
+ <!-- 사용자 지정 --> |
|
77 |
+ <template v-if="popup['popupSizeType'] == 'custom'"> |
|
78 |
+ <input |
|
79 |
+ type="text" |
|
80 |
+ class="form-control sm" |
|
81 |
+ v-model="popup['wdthLen']" |
|
82 |
+ placeholder="가로 길이를 입력하세요." |
|
83 |
+ /> |
|
84 |
+ <div class="pd10">x</div> |
|
85 |
+ <input |
|
86 |
+ type="text" |
|
87 |
+ class="form-control sm" |
|
88 |
+ v-model="popup['vrtcLen']" |
|
89 |
+ placeholder="세로 길이를 입력하세요." |
|
90 |
+ /> |
|
91 |
+ </template> |
|
92 |
+ </div> |
|
93 |
+ </div> |
|
94 |
+ <div > |
|
95 |
+ <label class="form-title">업로드 형식</label> |
|
96 |
+ <div class="check-area"> |
|
97 |
+ <div class="form-check"> |
|
98 |
+ <input |
|
99 |
+ type="radio" |
|
100 |
+ id="image" |
|
101 |
+ class="mr5" |
|
102 |
+ v-model="popup['popupType']" |
|
103 |
+ value="image" |
|
104 |
+ /> |
|
105 |
+ <label for="image">이미지</label> |
|
106 |
+ </div> |
|
107 |
+ <div class="form-check"> |
|
108 |
+ <input |
|
109 |
+ type="radio" |
|
110 |
+ id="video" |
|
111 |
+ class="mr5" |
|
112 |
+ v-model="popup['popupType']" |
|
113 |
+ value="video" |
|
114 |
+ /> |
|
115 |
+ <label for="video">영상</label> |
|
116 |
+ </div> |
|
117 |
+ </div> |
|
118 |
+ </div> |
|
119 |
+ <template v-if="popup['popupType'] == 'image'"> |
|
120 |
+ <div> |
|
121 |
+ <label class="form-title">이미지 첨부파일</label> |
|
122 |
+ |
|
123 |
+ <div |
|
124 |
+ v-for="(file, index) of this.fileList" |
|
125 |
+ :key="index" |
|
126 |
+ class="input-group" |
|
127 |
+ style="height: 100%" |
|
128 |
+ > |
|
129 |
+ <p v-if="file['fileId'] != null"> |
|
130 |
+ {{ file["fileNm"] }}.{{ file["extnNm"] }} |
|
131 |
+ </p> |
|
132 |
+ <p v-else>{{ file.name }}</p> |
|
133 |
+ <button |
|
134 |
+ class="icon-btn pd0" |
|
135 |
+ @click="fnFileDelete(file, index)" |
|
136 |
+ > |
|
137 |
+ <svg-icon |
|
138 |
+ type="mdi" |
|
139 |
+ :width="15" |
|
140 |
+ :height="15" |
|
141 |
+ :path="path" |
|
142 |
+ ></svg-icon> |
|
143 |
+ </button> |
|
144 |
+ </div> |
|
145 |
+ <div v-if="fileList.length < 1"> |
|
146 |
+ <label |
|
147 |
+ for="file" |
|
148 |
+ class="large-btn blue-border-btn text-ct" |
|
149 |
+ > |
|
150 |
+ 파일찾기 |
|
151 |
+ </label> |
|
152 |
+ <input |
|
153 |
+ type="file" |
|
154 |
+ id="file" |
|
155 |
+ ref="file" |
|
156 |
+ @change="fnFileInsert" |
|
157 |
+ /> |
|
158 |
+ </div> |
|
159 |
+ </div> |
|
160 |
+ |
|
161 |
+ <div> |
|
162 |
+ <label class="form-title">링크 URL</label> |
|
20 | 163 |
<input |
21 | 164 |
type="text" |
22 |
- class="full-input" |
|
23 |
- v-model="popup['popupTtl']" |
|
24 |
- ref="popupTtl" |
|
25 |
- placeholder="제목을 입력하세요." |
|
165 |
+ class="form-control sm" |
|
166 |
+ placeholder="이미지 주소를 입력하세요." |
|
167 |
+ v-model="popup['linkUrl']" |
|
168 |
+ :disabled="popup['popupType'] != 'image'" |
|
169 |
+ ref="linkUrl" |
|
26 | 170 |
/> |
27 | 171 |
</div> |
28 |
- </td> |
|
29 |
- <td> |
|
30 |
- <div class="gd-12 pl0"> |
|
31 |
- <label for="" class="form-title point-font2 mb10">게시일</label> |
|
32 |
- <div class="flex justify-start align-center no-gutters"> |
|
33 |
- <div class="gd-3"> |
|
34 |
- <VueDatePicker |
|
35 |
- v-model="popup['bgngDt']" |
|
36 |
- ref="bgngDt" |
|
37 |
- time-picker-inline |
|
38 |
- placeholder="시작일" |
|
39 |
- locale="ko" |
|
40 |
- inputFormat="yyyy-mm-dd" |
|
41 |
- /> |
|
42 |
- </div> |
|
43 |
- <div class="pd10">-</div> |
|
44 |
- <div class="gd-3"> |
|
45 |
- <VueDatePicker |
|
46 |
- v-model="popup['endDt']" |
|
47 |
- ref="endDt" |
|
48 |
- time-picker-inline |
|
49 |
- placeholder="종료일" |
|
50 |
- locale="ko" |
|
51 |
- inputFormat="yyyy-mm-dd" |
|
52 |
- /> |
|
53 |
- </div> |
|
54 |
- </div> |
|
55 |
- </div> |
|
56 |
- </td> |
|
57 |
- </tr> |
|
58 |
- <tr> |
|
59 |
- <td> |
|
60 |
- <div class="gd-12 pr0"> |
|
61 |
- <label for="" class="form-title point-font2 mb10"> |
|
62 |
- 팝업크기 |
|
63 |
- </label> |
|
64 |
- <div class="flex align-center"> |
|
65 |
- <div class="gd-3 pl0"> |
|
66 |
- <select class="full-input" v-model="popup['popupSizeType']"> |
|
67 |
- <option value="fixed">고정값</option> |
|
68 |
- <option value="custom">사용자지정</option> |
|
69 |
- </select> |
|
70 |
- </div> |
|
71 |
- <div class="gd-9 pr0"> |
|
72 |
- <!-- 고정값 --> |
|
73 |
- <div |
|
74 |
- v-if="popup['popupSizeType'] == 'fixed'" |
|
75 |
- class="flex align-center no-gutters" |
|
76 |
- > |
|
77 |
- <div |
|
78 |
- v-for="(popupSize, index) of popupSizes" |
|
79 |
- :key="index" |
|
80 |
- class="gd-3" |
|
81 |
- > |
|
82 |
- <input |
|
83 |
- type="radio" |
|
84 |
- :id="popupSize['id']" |
|
85 |
- class="mr5" |
|
86 |
- v-model="popup['popupSize']" |
|
87 |
- :value="popupSize['id']" |
|
88 |
- ref="popupSize" |
|
89 |
- /> |
|
90 |
- <label :for="popupSize['id']"> |
|
91 |
- {{ popupSize["wdthLen"] }}X{{ popupSize["vrtcLen"] }} |
|
92 |
- </label> |
|
93 |
- </div> |
|
94 |
- </div> |
|
95 |
- <!-- 사용자 지정 --> |
|
96 |
- <div |
|
97 |
- v-if="popup['popupSizeType'] == 'custom'" |
|
98 |
- class="flex align-center no-gutters" |
|
99 |
- > |
|
100 |
- <div class="gd-5"> |
|
101 |
- <input |
|
102 |
- type="text" |
|
103 |
- class="full-input" |
|
104 |
- v-model="popup['wdthLen']" |
|
105 |
- placeholder="가로 길이를 입력하세요." |
|
106 |
- /> |
|
107 |
- </div> |
|
108 |
- <div class="pd10">x</div> |
|
109 |
- <div class="gd-5"> |
|
110 |
- <input |
|
111 |
- type="text" |
|
112 |
- class="full-input" |
|
113 |
- v-model="popup['vrtcLen']" |
|
114 |
- placeholder="세로 길이를 입력하세요." |
|
115 |
- /> |
|
116 |
- </div> |
|
117 |
- </div> |
|
118 |
- </div> |
|
119 |
- </div> |
|
120 |
- </div> |
|
121 |
- </td> |
|
122 |
- <td> |
|
123 |
- <div class="gd-12 pl0"> |
|
124 |
- <label for="" class="form-title point-font2 mb10"> |
|
125 |
- 업로드 형식 |
|
126 |
- </label> |
|
127 |
- <div class="flex align-center no-gutters"> |
|
128 |
- <div class="gd-5"> |
|
129 |
- <input |
|
130 |
- type="radio" |
|
131 |
- id="image" |
|
132 |
- class="mr5" |
|
133 |
- v-model="popup['popupType']" |
|
134 |
- value="image" |
|
135 |
- /> |
|
136 |
- <label for="image">이미지</label> |
|
137 |
- </div> |
|
138 |
- <div class="gd-5"> |
|
139 |
- <input |
|
140 |
- type="radio" |
|
141 |
- id="video" |
|
142 |
- class="mr5" |
|
143 |
- v-model="popup['popupType']" |
|
144 |
- value="video" |
|
145 |
- /> |
|
146 |
- <label for="video">영상</label> |
|
147 |
- </div> |
|
148 |
- </div> |
|
149 |
- </div> |
|
150 |
- </td> |
|
151 |
- </tr> |
|
152 |
- <template v-if="popup['popupType'] == 'image'"> |
|
153 |
- <tr> |
|
154 |
- <td colspan="2"> |
|
155 |
- <div class="gd-12 pr0"> |
|
156 |
- <label for="" class="form-title point-font2 mb10"> |
|
157 |
- 이미지 첨부파일 |
|
158 |
- </label> |
|
159 |
- <div class="flex align-center"> |
|
160 |
- <div class="gd-10 pl0"> |
|
161 |
- <div class="filebox"> |
|
162 |
- <input |
|
163 |
- v-if="fileList.length < 1" |
|
164 |
- class="upload-name full-input" |
|
165 |
- placeholder="첨부파일이 없습니다." |
|
166 |
- disabled |
|
167 |
- /> |
|
168 |
- <div |
|
169 |
- v-else |
|
170 |
- v-for="(file, index) of this.fileList" |
|
171 |
- :key="index" |
|
172 |
- class="flex justify-between align-center border pl10 pr10" |
|
173 |
- style="height: 100%" |
|
174 |
- > |
|
175 |
- <p v-if="file['fileId'] != null"> |
|
176 |
- {{ file["fileNm"] }}.{{ file["extnNm"] }} |
|
177 |
- </p> |
|
178 |
- <p v-else>{{ file.name }}</p> |
|
179 |
- <button |
|
180 |
- class="icon-btn pd0" |
|
181 |
- @click="fnFileDelete(file, index)" |
|
182 |
- > |
|
183 |
- <svg-icon |
|
184 |
- type="mdi" |
|
185 |
- :width="15" |
|
186 |
- :height="15" |
|
187 |
- :path="path" |
|
188 |
- ></svg-icon> |
|
189 |
- </button> |
|
190 |
- </div> |
|
191 |
- </div> |
|
192 |
- </div> |
|
193 |
- <div class="gd-2 pl0 pr0"> |
|
194 |
- <label |
|
195 |
- for="file" |
|
196 |
- class="large-btn blue-border-btn text-ct" |
|
197 |
- > |
|
198 |
- 파일찾기 |
|
199 |
- </label> |
|
200 |
- <input |
|
201 |
- type="file" |
|
202 |
- id="file" |
|
203 |
- ref="file" |
|
204 |
- @change="fnFileInsert" |
|
205 |
- /> |
|
206 |
- </div> |
|
207 |
- </div> |
|
208 |
- </div> |
|
209 |
- </td> |
|
210 |
- </tr> |
|
211 |
- <tr> |
|
212 |
- <td colspan="2"> |
|
213 |
- <div class="gd-12"> |
|
214 |
- <label for="" class="form-title point-font2 mb10"> |
|
215 |
- 링크 URL |
|
216 |
- </label> |
|
172 |
+ </template> |
|
173 |
+ <template v-if="popup['popupType'] == 'video'"> |
|
174 |
+ <div> |
|
175 |
+ <label class="form-title">동영상 URL</label> |
|
217 | 176 |
<input |
218 | 177 |
type="text" |
219 |
- class="full-input" |
|
220 |
- placeholder="이미지 주소를 입력하세요." |
|
221 |
- v-model="popup['linkUrl']" |
|
222 |
- :disabled="popup['popupType'] != 'image'" |
|
223 |
- ref="linkUrl" |
|
178 |
+ class="form-control" |
|
179 |
+ placeholder="동영상 주소를 입력하세요." |
|
180 |
+ v-model="popup['vdoUrl']" |
|
181 |
+ :disabled="popup['popupType'] != 'video'" |
|
182 |
+ ref="vdoUrl" |
|
224 | 183 |
/> |
225 | 184 |
</div> |
226 |
- </td> |
|
227 |
- </tr> |
|
228 |
- </template> |
|
229 |
- <tr v-if="popup['popupType'] == 'video'"> |
|
230 |
- <td colspan="2"> |
|
231 |
- <div class="gd-12"> |
|
232 |
- <label for="" class="form-title point-font2 mb10"> |
|
233 |
- 동영상 URL |
|
234 |
- </label> |
|
235 |
- <input |
|
236 |
- type="text" |
|
237 |
- class="full-input" |
|
238 |
- placeholder="동영상 주소를 입력하세요." |
|
239 |
- v-model="popup['vdoUrl']" |
|
240 |
- :disabled="popup['popupType'] != 'video'" |
|
241 |
- ref="vdoUrl" |
|
242 |
- /> |
|
243 |
- </div> |
|
244 |
- </td> |
|
245 |
- </tr> |
|
246 |
- <tr> |
|
247 |
- <td> |
|
248 |
- <div class="gd-12 pr0"> |
|
249 |
- <label for="" class="form-title point-font2 mb10"> |
|
250 |
- 팝업 노출 페이지 |
|
251 |
- </label> |
|
252 |
- <select |
|
253 |
- class="full-input" |
|
254 |
- v-model="popup['pageType']" |
|
255 |
- ref="pageType" |
|
185 |
+ </template> |
|
186 |
+ <div> |
|
187 |
+ <label class="form-title">팝업 노출 페이지</label> |
|
188 |
+ <select |
|
189 |
+ class="form-select sm " |
|
190 |
+ v-model="popup['pageType']" |
|
191 |
+ ref="pageType" |
|
192 |
+ > |
|
193 |
+ <option value="">팝업을 노출할 페이지를 선택하세요.</option> |
|
194 |
+ <option |
|
195 |
+ v-for="(item, index) of codeList" |
|
196 |
+ :key="index" |
|
197 |
+ :value="item.cd" |
|
256 | 198 |
> |
257 |
- <option value="">팝업을 노출할 페이지를 선택하세요.</option> |
|
258 |
- <option |
|
259 |
- v-for="(item, index) of codeList" |
|
260 |
- :key="index" |
|
261 |
- :value="item.cd" |
|
262 |
- > |
|
263 |
- {{ item.cdNm }} |
|
264 |
- </option> |
|
265 |
- </select> |
|
266 |
- </div> |
|
267 |
- </td> |
|
268 |
- <td> |
|
269 |
- <div class="gd-12 pl0"> |
|
270 |
- <label for="" class="form-title point-font2 mb10">순서</label> |
|
271 |
- <select class="full-input" v-model="popup['sn']" ref="sn"> |
|
272 |
- <option value="0">순서를 선택하세요.</option> |
|
273 |
- <option value="1">1</option> |
|
274 |
- <option value="2">2</option> |
|
275 |
- <option value="3">3</option> |
|
276 |
- <option value="4">4</option> |
|
277 |
- <option value="5">5</option> |
|
278 |
- </select> |
|
279 |
- </div> |
|
280 |
- </td> |
|
281 |
- </tr> |
|
282 |
- </table> |
|
283 |
- </div> |
|
284 |
- </details> |
|
285 |
- <div class="flex justify-end align-center no-gutters"> |
|
286 |
- <div class="gd-1 mr10"> |
|
287 |
- <button class="large-btn blue-btn" @click="fnUpsert"> |
|
288 |
- <span v-if="this.$route.query.pageId == null">저장</span> |
|
289 |
- <span v-else>수정</span> |
|
290 |
- </button> |
|
291 |
- </div> |
|
292 |
- <div class="gd-1"> |
|
293 |
- <button class="large-btn gray-btn" @click="fnCancel">취소</button> |
|
199 |
+ {{ item.cdNm }} |
|
200 |
+ </option> |
|
201 |
+ </select> |
|
202 |
+ </div> |
|
203 |
+ <div> |
|
204 |
+ <label class="form-title">순서</label> |
|
205 |
+ <select class="form-select sm " v-model="popup['sn']" ref="sn"> |
|
206 |
+ <option value="0">순서를 선택하세요.</option> |
|
207 |
+ <option value="1">1</option> |
|
208 |
+ <option value="2">2</option> |
|
209 |
+ <option value="3">3</option> |
|
210 |
+ <option value="4">4</option> |
|
211 |
+ <option value="5">5</option> |
|
212 |
+ </select> |
|
213 |
+ </div> |
|
214 |
+ </div> |
|
215 |
+ </div> |
|
294 | 216 |
</div> |
295 | 217 |
</div> |
296 | 218 |
</div> |
219 |
+ <div class="btn-wrap"> |
|
220 |
+ <button class="btn sm primary" @click="fnUpsert"> |
|
221 |
+ <span v-if="this.$route.query.pageId == null">저장</span> |
|
222 |
+ <span v-else>수정</span> |
|
223 |
+ </button> |
|
224 |
+ <button class="btn sm tertiary" @click="fnCancel">취소</button> |
|
225 |
+ </div> |
|
297 | 226 |
</template> |
298 | 227 |
|
299 | 228 |
<script> |
--- client/views/pages/adm/popup/PopupManagementSelectList.vue
+++ client/views/pages/adm/popup/PopupManagementSelectList.vue
... | ... | @@ -1,61 +1,58 @@ |
1 | 1 |
<template> |
2 |
- <div class="content"> |
|
3 |
- <div class="admin-page-title point-font2 mb30"> |
|
4 |
- <p>팝업 관리</p> |
|
5 |
- </div> |
|
6 |
- <div class="search-bar mb15"> |
|
7 |
- <div class="flex justify-end align-center no-gutters"> |
|
8 |
- <div class="gd-6 mr10"> |
|
9 |
- <div class="border"> |
|
10 |
- <select class="border-none gd-2" v-model="search['searchType']"> |
|
11 |
- <option value="">전체</option> |
|
12 |
- <option value="popup_ttl">제목</option> |
|
13 |
- <option value="mbr_nm">작성자</option> |
|
14 |
- </select> |
|
15 |
- <input |
|
16 |
- type="text" |
|
17 |
- class="full-input border-none gd-10 condition-input" |
|
18 |
- v-model="search['searchText']" |
|
19 |
- v-on:keyup.enter="fnViewList" |
|
20 |
- placeholder="검색명을 입력하세요" |
|
21 |
- /> |
|
2 |
+ <div class="content-zone"> |
|
3 |
+ <div class="content"> |
|
4 |
+ <div class="scroll"> |
|
5 |
+ <div class="title-zone"> |
|
6 |
+ <div class="page-title"> |
|
7 |
+ <p>팝업 관리</p> |
|
22 | 8 |
</div> |
9 |
+ <PagiNavigationBar /> |
|
23 | 10 |
</div> |
24 |
- <div class="gd-1"> |
|
25 |
- <button class="large-btn blue-border-btn" @click="fnViewList"> |
|
11 |
+ <div class="search-bar"> |
|
12 |
+ <select class="form-select sm" v-model="search['searchType']"> |
|
13 |
+ <option value="">전체</option> |
|
14 |
+ <option value="popup_ttl">제목</option> |
|
15 |
+ <option value="mbr_nm">작성자</option> |
|
16 |
+ </select> |
|
17 |
+ <input |
|
18 |
+ type="text" |
|
19 |
+ class="form-control sm" |
|
20 |
+ v-model="search['searchText']" |
|
21 |
+ v-on:keyup.enter="fnViewList" |
|
22 |
+ placeholder="검색명을 입력하세요" |
|
23 |
+ /> |
|
24 |
+ <button class="btn sm ico-before ico-sch" @click="fnViewList"> |
|
26 | 25 |
검색 |
27 | 26 |
</button> |
28 | 27 |
</div> |
29 |
- </div> |
|
30 |
- </div> |
|
31 |
- <ListTable |
|
32 |
- :className="'admin-list cmmn-table'" |
|
33 |
- :colgroup="colgroup" |
|
34 |
- :thead="thead" |
|
35 |
- :tbody="tbody" |
|
36 |
- @listClick="fnViewDetail" |
|
37 |
- /> |
|
38 |
- <div class="flex justify-between align-center no-gutters"> |
|
39 |
- <div class="gd-1"></div> |
|
40 |
- <div class="gd-10"> |
|
41 |
- <PaginationButton |
|
42 |
- :className="'admin-pagination'" |
|
43 |
- v-model:currentPage="search['currentPage']" |
|
44 |
- :pagination="search" |
|
45 |
- :click="fnViewList" |
|
28 |
+ <div class="tbl-wrap"> |
|
29 |
+ <ListTable |
|
30 |
+ :className="'data cursor'" |
|
31 |
+ :colgroup="colgroup" |
|
32 |
+ :thead="thead" |
|
33 |
+ :tbody="tbody" |
|
34 |
+ @listClick="fnViewDetail" |
|
46 | 35 |
/> |
47 |
- </div> |
|
48 |
- <div class="gd-1"> |
|
49 |
- <button |
|
50 |
- class="large-btn blue-btn" |
|
51 |
- @click="fnInsert" |
|
52 |
- v-if="pageAuth.regAuthrt == 'Y'" |
|
53 |
- > |
|
54 |
- 등록 |
|
55 |
- </button> |
|
36 |
+ </div> |
|
56 | 37 |
</div> |
57 | 38 |
</div> |
58 | 39 |
</div> |
40 |
+ <div class="btn-wrap list"> |
|
41 |
+ <div></div> |
|
42 |
+ <PaginationButton |
|
43 |
+ :className="'admin-pagination'" |
|
44 |
+ v-model:currentPage="search['currentPage']" |
|
45 |
+ :pagination="search" |
|
46 |
+ :click="fnViewList" |
|
47 |
+ /> |
|
48 |
+ <button |
|
49 |
+ class="btn sm primary" |
|
50 |
+ @click="fnInsert" |
|
51 |
+ v-if="pageAuth.regAuthrt == 'Y'" |
|
52 |
+ > |
|
53 |
+ 등록 |
|
54 |
+ </button> |
|
55 |
+ </div> |
|
59 | 56 |
</template> |
60 | 57 |
|
61 | 58 |
<script> |
--- client/views/pages/adm/popup/PopupManagementSelectListOne.vue
+++ client/views/pages/adm/popup/PopupManagementSelectListOne.vue
... | ... | @@ -1,235 +1,207 @@ |
1 | 1 |
<template> |
2 |
- <div class="content admin-style"> |
|
3 |
- <div class="admin-page-title point-font2 mb30"> |
|
4 |
- <p>팝업 관리</p> |
|
5 |
- </div> |
|
6 |
- <details open class="form-table-style mb30"> |
|
7 |
- <summary class="point-font2"> |
|
8 |
- <p class="summary-style pl10">기본정보</p> |
|
9 |
- </summary> |
|
10 |
- <div class="pt10 pb10"> |
|
11 |
- <table class="form-table"> |
|
12 |
- <colgroup> |
|
13 |
- <col width="50%" /> |
|
14 |
- <col width="50%" /> |
|
15 |
- </colgroup> |
|
16 |
- <tr> |
|
17 |
- <td> |
|
18 |
- <div class="gd-12 pr0"> |
|
19 |
- <label for="" class="form-title point-font2 mb10">제목</label> |
|
20 |
- <input |
|
21 |
- type="text" |
|
22 |
- class="full-input" |
|
23 |
- v-model="popup['popupTtl']" |
|
24 |
- ref="popupTtl" |
|
25 |
- disabled |
|
26 |
- /> |
|
27 |
- </div> |
|
28 |
- </td> |
|
29 |
- <td> |
|
30 |
- <div class="gd-12 pl0"> |
|
31 |
- <label for="" class="form-title point-font2 mb10">게시일</label> |
|
32 |
- <div class="flex justify-start align-center no-gutters"> |
|
33 |
- <div class="gd-3"> |
|
34 |
- <input |
|
35 |
- type="datetime" |
|
36 |
- class="full-input" |
|
37 |
- v-model="popup['bgngDt']" |
|
38 |
- ref="bgngDt" |
|
39 |
- disabled |
|
40 |
- /> |
|
41 |
- </div> |
|
42 |
- <div class="pd10">-</div> |
|
43 |
- <div class="gd-3"> |
|
44 |
- <input |
|
45 |
- type="datetime" |
|
46 |
- class="full-input" |
|
47 |
- v-model="popup['endDt']" |
|
48 |
- ref="endDt" |
|
49 |
- disabled |
|
50 |
- /> |
|
51 |
- </div> |
|
52 |
- </div> |
|
53 |
- </div> |
|
54 |
- </td> |
|
55 |
- </tr> |
|
56 |
- <tr> |
|
57 |
- <td> |
|
58 |
- <div class="gd-12 pr0"> |
|
59 |
- <label for="" class="form-title point-font2 mb10"> |
|
60 |
- 팝업크기 |
|
61 |
- </label> |
|
62 |
- <div class="flex align-center"> |
|
63 |
- <div class="gd-3 pl0"> |
|
64 |
- <select |
|
65 |
- class="full-input" |
|
66 |
- v-model="popup['popupSizeType']" |
|
67 |
- disabled |
|
68 |
- > |
|
69 |
- <option value="fixed">고정값</option> |
|
70 |
- <option value="custom">사용자지정</option> |
|
71 |
- </select> |
|
72 |
- </div> |
|
73 |
- <div class="gd-9 pr0"> |
|
74 |
- <!-- 고정값 --> |
|
75 |
- <div |
|
76 |
- v-if="popup['popupSizeType'] == 'fixed'" |
|
77 |
- class="flex align-center no-gutters" |
|
78 |
- > |
|
79 |
- <div |
|
80 |
- v-for="(popupSize, index) of popupSizes" |
|
81 |
- :key="index" |
|
82 |
- class="gd-3" |
|
83 |
- > |
|
84 |
- <input |
|
85 |
- type="radio" |
|
86 |
- :id="popupSize['id']" |
|
87 |
- class="mr5" |
|
88 |
- v-model="popup['popupSize']" |
|
89 |
- :value="popupSize['id']" |
|
90 |
- ref="popupSize" |
|
91 |
- disabled |
|
92 |
- /> |
|
93 |
- <label :for="popupSize['id']"> |
|
94 |
- {{ popupSize["wdthLen"] }}X{{ popupSize["vrtcLen"] }} |
|
95 |
- </label> |
|
96 |
- </div> |
|
97 |
- </div> |
|
98 |
- <!-- 사용자 지정 --> |
|
99 |
- <div |
|
100 |
- v-if="popup['popupSizeType'] == 'custom'" |
|
101 |
- class="flex align-center no-gutters" |
|
102 |
- > |
|
103 |
- <div class="gd-5"> |
|
104 |
- <input |
|
105 |
- type="text" |
|
106 |
- class="full-input" |
|
107 |
- v-model="popup['wdthLen']" |
|
108 |
- disabled |
|
109 |
- /> |
|
110 |
- </div> |
|
111 |
- <div class="pd10">x</div> |
|
112 |
- <div class="gd-5"> |
|
113 |
- <input |
|
114 |
- type="text" |
|
115 |
- class="full-input" |
|
116 |
- v-model="popup['vrtcLen']" |
|
117 |
- disabled |
|
118 |
- /> |
|
119 |
- </div> |
|
120 |
- </div> |
|
121 |
- </div> |
|
122 |
- </div> |
|
123 |
- </div> |
|
124 |
- </td> |
|
125 |
- <td> |
|
126 |
- <div class="gd-12 pl0"> |
|
127 |
- <label for="" class="form-title point-font2 mb10"> |
|
128 |
- 업로드 형식 |
|
129 |
- </label> |
|
130 |
- <div class="flex align-center no-gutters"> |
|
131 |
- <div class="gd-5"> |
|
132 |
- <input |
|
133 |
- type="radio" |
|
134 |
- id="image" |
|
135 |
- class="mr5" |
|
136 |
- v-model="popup['popupType']" |
|
137 |
- value="image" |
|
138 |
- disabled |
|
139 |
- /> |
|
140 |
- <label for="image">이미지</label> |
|
141 |
- </div> |
|
142 |
- <div class="gd-5"> |
|
143 |
- <input |
|
144 |
- type="radio" |
|
145 |
- id="video" |
|
146 |
- class="mr5" |
|
147 |
- v-model="popup['popupType']" |
|
148 |
- value="video" |
|
149 |
- disabled |
|
150 |
- /> |
|
151 |
- <label for="video">영상</label> |
|
152 |
- </div> |
|
153 |
- </div> |
|
154 |
- </div> |
|
155 |
- </td> |
|
156 |
- </tr> |
|
157 |
- <template v-if="popup['popupType'] == 'image'"> |
|
158 |
- <tr> |
|
159 |
- <td colspan="2"> |
|
160 |
- <div class="gd-12 pr0"> |
|
161 |
- <label for="" class="form-title point-font2 mb10"> |
|
162 |
- 이미지 첨부파일 |
|
163 |
- </label> |
|
164 |
- <div class="flex align-center"> |
|
165 |
- <div class="gd-10 pl0"> |
|
166 |
- <div class="filebox"> |
|
167 |
- <input |
|
168 |
- class="upload-name full-input" |
|
169 |
- :placeholder=" |
|
170 |
- fileList.length < 1 |
|
171 |
- ? '첨부파일이 없습니다.' |
|
172 |
- : fileList[0]['fileNm'] + |
|
173 |
- '.' + |
|
174 |
- fileList[0]['extnNm'] |
|
175 |
- " |
|
176 |
- disabled |
|
177 |
- /> |
|
178 |
- </div> |
|
179 |
- </div> |
|
180 |
- <div class="gd-2 pl0 pr0"> |
|
181 |
- <button |
|
182 |
- for="file" |
|
183 |
- class="large-btn gray-border-btn text-ct" |
|
184 |
- disabled |
|
185 |
- > |
|
186 |
- 파일찾기 |
|
187 |
- </button> |
|
188 |
- </div> |
|
189 |
- </div> |
|
190 |
- </div> |
|
191 |
- </td> |
|
192 |
- </tr> |
|
193 |
- <tr> |
|
194 |
- <td colspan="2"> |
|
195 |
- <div class="gd-12"> |
|
196 |
- <label for="" class="form-title point-font2 mb10"> |
|
197 |
- 링크 URL |
|
198 |
- </label> |
|
199 |
- <input |
|
200 |
- type="text" |
|
2 |
+ <div class="content-zone"> |
|
3 |
+ <div class="content"> |
|
4 |
+ <div class="scroll"> |
|
5 |
+ <div class="title-zone"> |
|
6 |
+ <div class="page-title"> |
|
7 |
+ <p>팝업 관리</p> |
|
8 |
+ </div> |
|
9 |
+ <PagiNavigationBar /> |
|
10 |
+ </div> |
|
11 |
+ <div class="form-box"> |
|
12 |
+ <div class="form-box-title"> |
|
13 |
+ <p>기본정보</p> |
|
14 |
+ </div> |
|
15 |
+ <div class="form-content"> |
|
16 |
+ <div> |
|
17 |
+ <p class="form-title">제목</p> |
|
18 |
+ <p>{{ popup['popupTtl'] }}</p> |
|
19 |
+ <!-- <input |
|
20 |
+ type="text" |
|
21 |
+ class="full-input" |
|
22 |
+ v-model="popup['popupTtl']" |
|
23 |
+ ref="popupTtl" |
|
24 |
+ disabled |
|
25 |
+ /> --> |
|
26 |
+ </div> |
|
27 |
+ <div> |
|
28 |
+ <p class="form-title">게시일</p> |
|
29 |
+ <p>{{ popup['bgngDt'] +"-"+ popup['endDt'] }}</p> |
|
30 |
+ |
|
31 |
+ <!-- <input |
|
32 |
+ type="datetime" |
|
201 | 33 |
class="full-input" |
202 |
- v-model="popup['linkUrl']" |
|
203 |
- ref="linkUrl" |
|
34 |
+ v-model="popup['bgngDt']" |
|
35 |
+ ref="bgngDt" |
|
204 | 36 |
disabled |
205 | 37 |
/> |
38 |
+ |
|
39 |
+ <div class="pd10">-</div> |
|
40 |
+ |
|
41 |
+ <input |
|
42 |
+ type="datetime" |
|
43 |
+ class="full-input" |
|
44 |
+ v-model="popup['endDt']" |
|
45 |
+ ref="endDt" |
|
46 |
+ disabled |
|
47 |
+ /> --> |
|
48 |
+ |
|
49 |
+ |
|
50 |
+ </div> |
|
51 |
+ <div> |
|
52 |
+ <p class="form-title">팝업크기</p> |
|
53 |
+ <p>{{ popup['wdthLen'] + "X" + popup['vrtcLen']}}</p> |
|
54 |
+ |
|
55 |
+ <!-- <div class="flex align-center"> |
|
56 |
+ <div class="gd-3 pl0"> |
|
57 |
+ <select |
|
58 |
+ class="full-input" |
|
59 |
+ v-model="popup['popupSizeType']" |
|
60 |
+ disabled |
|
61 |
+ > |
|
62 |
+ <option value="fixed">고정값</option> |
|
63 |
+ <option value="custom">사용자지정</option> |
|
64 |
+ </select> |
|
206 | 65 |
</div> |
207 |
- </td> |
|
208 |
- </tr> |
|
209 |
- </template> |
|
210 |
- <tr v-if="popup['popupType'] == 'video'"> |
|
211 |
- <td colspan="2"> |
|
212 |
- <div class="gd-12"> |
|
213 |
- <label for="" class="form-title point-font2 mb10"> |
|
214 |
- 동영상 URL |
|
215 |
- </label> |
|
216 |
- <input |
|
66 |
+ <div class="gd-9 pr0"> |
|
67 |
+ <div |
|
68 |
+ v-if="popup['popupSizeType'] == 'fixed'" |
|
69 |
+ class="flex align-center no-gutters" |
|
70 |
+ > |
|
71 |
+ <div |
|
72 |
+ v-for="(popupSize, index) of popupSizes" |
|
73 |
+ :key="index" |
|
74 |
+ class="gd-3" |
|
75 |
+ > |
|
76 |
+ <input |
|
77 |
+ type="radio" |
|
78 |
+ :id="popupSize['id']" |
|
79 |
+ class="mr5" |
|
80 |
+ v-model="popup['popupSize']" |
|
81 |
+ :value="popupSize['id']" |
|
82 |
+ ref="popupSize" |
|
83 |
+ disabled |
|
84 |
+ /> |
|
85 |
+ <label :for="popupSize['id']"> |
|
86 |
+ {{ popupSize["wdthLen"] }}X{{ popupSize["vrtcLen"] }} |
|
87 |
+ </label> |
|
88 |
+ </div> |
|
89 |
+ </div> |
|
90 |
+ <div |
|
91 |
+ v-if="popup['popupSizeType'] == 'custom'" |
|
92 |
+ class="flex align-center no-gutters" |
|
93 |
+ > |
|
94 |
+ <div class="gd-5"> |
|
95 |
+ <input |
|
96 |
+ type="text" |
|
97 |
+ class="full-input" |
|
98 |
+ v-model="popup['wdthLen']" |
|
99 |
+ disabled |
|
100 |
+ /> |
|
101 |
+ </div> |
|
102 |
+ <div class="pd10">x</div> |
|
103 |
+ <div class="gd-5"> |
|
104 |
+ <input |
|
105 |
+ type="text" |
|
106 |
+ class="full-input" |
|
107 |
+ v-model="popup['vrtcLen']" |
|
108 |
+ disabled |
|
109 |
+ /> |
|
110 |
+ </div> |
|
111 |
+ </div> |
|
112 |
+ </div> |
|
113 |
+ </div> --> |
|
114 |
+ </div> |
|
115 |
+ <div> |
|
116 |
+ <p class="form-title">업로드 형식 </p> |
|
117 |
+ <p>{{ popup['popupType'] }}</p> |
|
118 |
+ <!-- <div class="flex align-center no-gutters"> |
|
119 |
+ <div class="gd-5"> |
|
120 |
+ <input |
|
121 |
+ type="radio" |
|
122 |
+ id="image" |
|
123 |
+ class="mr5" |
|
124 |
+ v-model="popup['popupType']" |
|
125 |
+ value="image" |
|
126 |
+ disabled |
|
127 |
+ /> |
|
128 |
+ <label for="image">이미지</label> |
|
129 |
+ </div> |
|
130 |
+ <div class="gd-5"> |
|
131 |
+ <input |
|
132 |
+ type="radio" |
|
133 |
+ id="video" |
|
134 |
+ class="mr5" |
|
135 |
+ v-model="popup['popupType']" |
|
136 |
+ value="video" |
|
137 |
+ disabled |
|
138 |
+ /> |
|
139 |
+ <label for="video">영상</label> |
|
140 |
+ </div> |
|
141 |
+ </div> --> |
|
142 |
+ </div> |
|
143 |
+ <template v-if="popup['popupType'] == 'image'"> |
|
144 |
+ <div> |
|
145 |
+ <p class="form-title">이미지 첨부파일</p> |
|
146 |
+ <p v-if="fileList.length < 1">첨부파일이 없습니다.</p> |
|
147 |
+ <p v-else>{{ fileList[0]['fileNm'] + '.' + fileList[0]['extnNm'] }}</p> |
|
148 |
+ <!-- <div class="flex align-center"> |
|
149 |
+ <div class="gd-10 pl0"> |
|
150 |
+ <div class="filebox"> |
|
151 |
+ <input |
|
152 |
+ class="upload-name full-input" |
|
153 |
+ :placeholder=" |
|
154 |
+ fileList.length < 1 |
|
155 |
+ ? '첨부파일이 없습니다.' |
|
156 |
+ : fileList[0]['fileNm'] + |
|
157 |
+ '.' + |
|
158 |
+ fileList[0]['extnNm'] |
|
159 |
+ " |
|
160 |
+ disabled |
|
161 |
+ /> |
|
162 |
+ </div> |
|
163 |
+ </div> |
|
164 |
+ <div class="gd-2 pl0 pr0"> |
|
165 |
+ <button |
|
166 |
+ for="file" |
|
167 |
+ class="large-btn gray-border-btn text-ct" |
|
168 |
+ disabled |
|
169 |
+ > |
|
170 |
+ 파일찾기 |
|
171 |
+ </button> |
|
172 |
+ </div> |
|
173 |
+ </div> --> |
|
174 |
+ </div> |
|
175 |
+ <div> |
|
176 |
+ <p class="form-title">링크 URL</p> |
|
177 |
+ <p v-if="popup['linkUrl'] != null || popup['linkUrl'] != ''">{{ popup['linkUrl'] }}</p> |
|
178 |
+ <p v-else>링크가 없습니다.</p> |
|
179 |
+ <!-- <input |
|
217 | 180 |
type="text" |
218 | 181 |
class="full-input" |
219 |
- v-model="popup['vdoUrl']" |
|
220 |
- ref="vdoUrl" |
|
182 |
+ v-model="popup['linkUrl']" |
|
183 |
+ ref="linkUrl" |
|
221 | 184 |
disabled |
222 |
- /> |
|
185 |
+ /> --> |
|
223 | 186 |
</div> |
224 |
- </td> |
|
225 |
- </tr> |
|
226 |
- <tr> |
|
227 |
- <td> |
|
228 |
- <div class="gd-12 pr0"> |
|
229 |
- <label for="" class="form-title point-font2 mb10"> |
|
230 |
- 팝업 노출 페이지 |
|
231 |
- </label> |
|
232 |
- <select |
|
187 |
+ </template> |
|
188 |
+ <template v-if="popup['popupType'] == 'video'"> |
|
189 |
+ <div> |
|
190 |
+ <p class="form-title">동영상 URL</p> |
|
191 |
+ <p>{{ popup['vdoUrl'] }}</p> |
|
192 |
+ <!-- <input |
|
193 |
+ type="text" |
|
194 |
+ class="full-input" |
|
195 |
+ v-model="popup['vdoUrl']" |
|
196 |
+ ref="vdoUrl" |
|
197 |
+ disabled |
|
198 |
+ /> --> |
|
199 |
+ </div> |
|
200 |
+ </template> |
|
201 |
+ <div> |
|
202 |
+ <p class="form-title point-font2 mb10"> 팝업 노출 페이지</p> |
|
203 |
+ <p>{{ popup['pageType'] }}</p> |
|
204 |
+ <!-- <select |
|
233 | 205 |
class="full-input" |
234 | 206 |
v-model="popup['pageType']" |
235 | 207 |
ref="pageType" |
... | ... | @@ -243,13 +215,12 @@ |
243 | 215 |
> |
244 | 216 |
{{ item.cdNm }} |
245 | 217 |
</option> |
246 |
- </select> |
|
218 |
+ </select> --> |
|
247 | 219 |
</div> |
248 |
- </td> |
|
249 |
- <td> |
|
250 |
- <div class="gd-12 pl0"> |
|
251 |
- <label for="" class="form-title point-font2 mb10">순서</label> |
|
252 |
- <select |
|
220 |
+ <div> |
|
221 |
+ <p class="form-title">순서</p> |
|
222 |
+ <p>{{ popup['sn'] }}</p> |
|
223 |
+ <!-- <select |
|
253 | 224 |
class="full-input" |
254 | 225 |
v-model="popup['sn']" |
255 | 226 |
ref="sn" |
... | ... | @@ -261,37 +232,30 @@ |
261 | 232 |
<option value="3">3</option> |
262 | 233 |
<option value="4">4</option> |
263 | 234 |
<option value="5">5</option> |
264 |
- </select> |
|
235 |
+ </select> --> |
|
265 | 236 |
</div> |
266 |
- </td> |
|
267 |
- </tr> |
|
268 |
- </table> |
|
269 |
- </div> |
|
270 |
- </details> |
|
271 |
- <div class="flex justify-end align-center no-gutters"> |
|
272 |
- <div class="gd-1 mr10"> |
|
273 |
- <button class="large-btn gray-btn" @click="fnList">목록</button> |
|
274 |
- </div> |
|
275 |
- <div class="gd-1 mr10"> |
|
276 |
- <button |
|
277 |
- class="large-btn blue-btn" |
|
278 |
- @click="fnUpdate" |
|
279 |
- v-if="pageAuth.mdfcnAuthrt == 'Y'" |
|
280 |
- > |
|
281 |
- 수정 |
|
282 |
- </button> |
|
283 |
- </div> |
|
284 |
- <div class="gd-1"> |
|
285 |
- <button |
|
286 |
- class="large-btn red-border-btn" |
|
287 |
- @click="fnDelete" |
|
288 |
- v-if="pageAuth.delAuthrt == 'Y'" |
|
289 |
- > |
|
290 |
- 삭제 |
|
291 |
- </button> |
|
237 |
+ </div> |
|
238 |
+ </div> |
|
292 | 239 |
</div> |
293 | 240 |
</div> |
294 | 241 |
</div> |
242 |
+ <div class="btn-wrap"> |
|
243 |
+ <button class="btn sm tertiary" @click="fnList">목록</button> |
|
244 |
+ <button |
|
245 |
+ class="btn sm primary" |
|
246 |
+ @click="fnUpdate" |
|
247 |
+ v-if="pageAuth.mdfcnAuthrt == 'Y'" |
|
248 |
+ > |
|
249 |
+ 수정 |
|
250 |
+ </button> |
|
251 |
+ <button |
|
252 |
+ class="btn sm red" |
|
253 |
+ @click="fnDelete" |
|
254 |
+ v-if="pageAuth.delAuthrt == 'Y'" |
|
255 |
+ > |
|
256 |
+ 삭제 |
|
257 |
+ </button> |
|
258 |
+ </div> |
|
295 | 259 |
</template> |
296 | 260 |
|
297 | 261 |
<script> |
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?