
--- client/resources/scss/admin/content.scss
+++ client/resources/scss/admin/content.scss
... | ... | @@ -3,136 +3,6 @@ |
3 | 3 |
height: 100%; |
4 | 4 |
padding: 3rem; |
5 | 5 |
|
6 |
- |
|
7 |
- |
|
8 |
- .box-title, |
|
9 |
- .section-title { |
|
10 |
- font-size: var(--tk-fz-title-md); |
|
11 |
- font-weight: 700; |
|
12 |
- margin-bottom: 1rem; |
|
13 |
- } |
|
14 |
- |
|
15 |
- |
|
16 |
- .search-bar { |
|
17 |
- @include flex-layout(flex, center, end); |
|
18 |
- margin-bottom: 1rem; |
|
19 |
- |
|
20 |
- .form-select { |
|
21 |
- width: 120px; |
|
22 |
- } |
|
23 |
- |
|
24 |
- .form-control { |
|
25 |
- width: 300px; |
|
26 |
- margin-left: 1rem; |
|
27 |
- } |
|
28 |
- |
|
29 |
- .btn { |
|
30 |
- margin-left: 1rem; |
|
31 |
- } |
|
32 |
- } |
|
33 |
- |
|
34 |
- .btn-wrap { |
|
35 |
- @include flex-layout(flex, center, end); |
|
36 |
- padding: 3rem 0; |
|
37 |
- |
|
38 |
- button { |
|
39 |
- margin-left: 1rem |
|
40 |
- } |
|
41 |
- } |
|
42 |
- |
|
43 |
- .btn-wrap.list { |
|
44 |
- @include flex-layout(flex, center, space-between); |
|
45 |
- padding: 3rem 0; |
|
46 |
- } |
|
47 |
- |
|
48 |
- .form-content { |
|
49 |
- padding: 3rem; |
|
50 |
- display: grid; |
|
51 |
- grid-template-columns: 1fr 1fr; |
|
52 |
- // grid-template-rows: 1fr 1fr; |
|
53 |
- |
|
54 |
- >div { |
|
55 |
- @include flex-layout(flex, center, start); |
|
56 |
- width: 100%; |
|
57 |
- padding: 1rem; |
|
58 |
- border-bottom: 1px solid var(--tk-gray-10); |
|
59 |
- |
|
60 |
- .form-title { |
|
61 |
- width: 180px; |
|
62 |
- font-weight: 700; |
|
63 |
- |
|
64 |
- span { |
|
65 |
- color: var(--tk-point-40); |
|
66 |
- margin-right: .5rem; |
|
67 |
- } |
|
68 |
- } |
|
69 |
- |
|
70 |
- |
|
71 |
- .form-select { |
|
72 |
- width: 200px; |
|
73 |
- } |
|
74 |
- |
|
75 |
- .form-control { |
|
76 |
- max-width: calc(100% - 180px); |
|
77 |
- } |
|
78 |
- |
|
79 |
- .form-group { |
|
80 |
- width: calc(100% - 180px); |
|
81 |
- |
|
82 |
- .form-control { |
|
83 |
- max-width: 100%; |
|
84 |
- } |
|
85 |
- |
|
86 |
- span { |
|
87 |
- font-size: var(--tk-fz-detail-sm); |
|
88 |
- } |
|
89 |
- } |
|
90 |
- } |
|
91 |
- |
|
92 |
- >div:nth-child(1), |
|
93 |
- div:nth-child(2) { |
|
94 |
- padding-top: 0; |
|
95 |
- } |
|
96 |
- |
|
97 |
- >div:last-child { |
|
98 |
- grid-column: 1/3; |
|
99 |
- padding-bottom: 0; |
|
100 |
- border-bottom: 0; |
|
101 |
- } |
|
102 |
- |
|
103 |
- // 자식 div 개수가 짝수일 때 마지막 div의 스타일을 변경 |
|
104 |
- &:has(> div:nth-child(even):last-child) { |
|
105 |
- >div { |
|
106 |
- padding-left: 3rem; |
|
107 |
- } |
|
108 |
- |
|
109 |
- >div:last-child { |
|
110 |
- grid-column: unset; |
|
111 |
- } |
|
112 |
- |
|
113 |
- >div:nth-last-child(2) { |
|
114 |
- border-bottom: 0; |
|
115 |
- } |
|
116 |
- } |
|
117 |
- |
|
118 |
- .check-area { |
|
119 |
- @include flex-layout(flex, center); |
|
120 |
- gap: 3rem; |
|
121 |
- } |
|
122 |
- |
|
123 |
- |
|
124 |
- } |
|
125 |
- |
|
126 |
- |
|
127 |
- .title-zone { |
|
128 |
- @include flex-layout(flex, center, space-between); |
|
129 |
- margin-bottom: 3rem; |
|
130 |
- |
|
131 |
- .section-title { |
|
132 |
- margin-bottom: 0; |
|
133 |
- } |
|
134 |
- } |
|
135 |
- |
|
136 | 6 |
>.content-zone { |
137 | 7 |
height: calc(100% - 70px); |
138 | 8 |
background-color: var(--tk-white); |
... | ... | @@ -146,147 +16,13 @@ |
146 | 16 |
height: 100%; |
147 | 17 |
overflow-y: auto; |
148 | 18 |
|
149 |
- .top-zone { |
|
150 |
- >div { |
|
151 |
- margin-bottom: 5rem; |
|
152 | 19 |
|
153 |
- .tbl { |
|
154 |
- .table-title { |
|
155 |
- @include ellipsis(1); |
|
156 |
- } |
|
157 |
- |
|
158 |
- } |
|
159 |
- } |
|
160 |
- |
|
161 |
- } |
|
162 |
- |
|
163 |
- .middle-zone { |
|
164 |
- @include flex-layout(flex, flex-start, space-between); |
|
165 |
- gap: 3rem; |
|
166 |
- margin-bottom: 5rem; |
|
167 |
- |
|
168 |
- .first-box, |
|
169 |
- .two-box, |
|
170 |
- .three-box { |
|
171 |
- flex: 0 0 calc(33.333% - 2rem); |
|
172 |
- max-width: calc(33.333% - 2rem); |
|
173 |
- padding: 2rem; |
|
174 |
- border-radius: var(--tk-rd-12); |
|
175 |
- text-align: center; |
|
176 |
- border: 1px solid var(--tk-gray-10); |
|
177 |
- |
|
178 |
- |
|
179 |
- } |
|
180 |
- } |
|
181 |
- |
|
182 |
- .chart-wrap { |
|
183 |
- padding: 3rem; |
|
184 |
- border: 1px solid var(--tk-gray-10); |
|
185 |
- @include radius(30); |
|
186 |
- } |
|
187 |
- |
|
188 |
- .form-box { |
|
189 |
- border: 1px solid var(--tk-gray-10); |
|
190 |
- @include radius(30); |
|
191 |
- |
|
192 |
- .form-box-title { |
|
193 |
- padding: 1rem 3rem; |
|
194 |
- background-color: #fbfbfb; |
|
195 |
- @include flex-layout(flex, center, start); |
|
196 |
- font-size: var(--tk-fz-title-sm); |
|
197 |
- border-radius: 3rem 3rem 0 0; |
|
198 |
- |
|
199 |
- >p { |
|
200 |
- margin-right: 1rem; |
|
201 |
- font-weight: 700; |
|
202 |
- } |
|
203 |
- |
|
204 |
- >p:nth-of-type(2) { |
|
205 |
- font-size: var(--tk-fz-detail-sm); |
|
206 |
- background-color: var(--tk-point-5); |
|
207 |
- border: 1px solid var(--tk-point-40); |
|
208 |
- padding: .2rem 1rem; |
|
209 |
- // border-radius: var(--tk-rd-12); |
|
210 |
- @include radius(30); |
|
211 |
- font-weight: 400; |
|
212 |
- |
|
213 |
- span { |
|
214 |
- color: var(--tk-point-40); |
|
215 |
- margin-right: .5rem; |
|
216 |
- } |
|
217 |
- } |
|
218 |
- } |
|
219 |
- |
|
220 |
- |
|
221 |
- } |
|
222 | 20 |
} |
223 | 21 |
|
224 |
- .setting-box { |
|
225 |
- @include flex-layout(flex, start, start); |
|
226 |
- width: 100%; |
|
227 |
- height: calc(100% - 38.5px); |
|
22 |
+ } |
|
228 | 23 |
|
229 |
- .node-zone { |
|
230 |
- width: 325px; |
|
231 |
- height: 100%; |
|
232 |
- margin-right: 5rem; |
|
233 |
- background-color: #fbfbfb; |
|
234 |
- border-radius: var(--tk-rd-12); |
|
235 |
- |
|
236 |
- .tree { |
|
237 |
- padding: 3rem; |
|
238 |
- width: 100%; |
|
239 |
- height: calc(100% - 149px); |
|
240 |
- overflow-y: auto; |
|
241 |
- |
|
242 |
- |
|
243 |
- } |
|
244 |
- } |
|
245 |
- |
|
246 |
- .setting-zone { |
|
247 |
- width: calc(100% - 325px - 5rem); |
|
248 |
- height: 100%; |
|
249 |
- |
|
250 |
- .form-content { |
|
251 |
- padding: 0; |
|
252 |
- |
|
253 |
- >div { |
|
254 |
- padding: 1rem; |
|
255 |
- } |
|
256 |
- |
|
257 |
- >div:nth-child(2), |
|
258 |
- div:nth-child(4), |
|
259 |
- div:nth-child(6) { |
|
260 |
- padding-left: 3rem; |
|
261 |
- } |
|
262 |
- |
|
263 |
- >div:last-child { |
|
264 |
- align-items: flex-start; |
|
265 |
- } |
|
266 |
- |
|
267 |
- } |
|
268 |
- } |
|
269 |
- |
|
270 |
- .btn-zone { |
|
271 |
- padding: 3rem; |
|
272 |
- |
|
273 |
- button { |
|
274 |
- min-width: 126px; |
|
275 |
- margin-left: 1rem; |
|
276 |
- margin-bottom: 1rem; |
|
277 |
- } |
|
278 |
- |
|
279 |
- button:nth-child(1) { |
|
280 |
- margin-left: 0; |
|
281 |
- } |
|
282 |
- |
|
283 |
- button:last-child { |
|
284 |
- min-width: 100%; |
|
285 |
- margin-left: 0; |
|
286 |
- margin-bottom: 0; |
|
287 |
- } |
|
288 |
- } |
|
289 |
- } |
|
24 |
+ &.full-page { |
|
25 |
+ height: 100%; |
|
290 | 26 |
} |
291 | 27 |
|
292 | 28 |
} |
... | ... | @@ -298,4 +34,302 @@ |
298 | 34 |
.content-zone { |
299 | 35 |
height: 100%; |
300 | 36 |
} |
37 |
+} |
|
38 |
+ |
|
39 |
+.page-title { |
|
40 |
+ font-size: var(--tk-fz-title-xlg); |
|
41 |
+ font-weight: 700; |
|
42 |
+} |
|
43 |
+ |
|
44 |
+.box-title, |
|
45 |
+.section-title { |
|
46 |
+ font-size: var(--tk-fz-title-md); |
|
47 |
+ font-weight: 700; |
|
48 |
+ margin-bottom: 1rem; |
|
49 |
+} |
|
50 |
+ |
|
51 |
+ |
|
52 |
+ |
|
53 |
+.search-bar { |
|
54 |
+ @include flex-layout(flex, center, end); |
|
55 |
+ margin-bottom: 1rem; |
|
56 |
+ |
|
57 |
+ .form-select { |
|
58 |
+ width: 120px; |
|
59 |
+ } |
|
60 |
+ |
|
61 |
+ .form-control { |
|
62 |
+ width: 300px; |
|
63 |
+ margin-left: 1rem; |
|
64 |
+ } |
|
65 |
+ |
|
66 |
+ .btn { |
|
67 |
+ margin-left: 1rem; |
|
68 |
+ } |
|
69 |
+} |
|
70 |
+ |
|
71 |
+.btn-wrap { |
|
72 |
+ @include flex-layout(flex, center, end); |
|
73 |
+ padding: 3rem 0; |
|
74 |
+ |
|
75 |
+ button { |
|
76 |
+ margin-left: 1rem |
|
77 |
+ } |
|
78 |
+ |
|
79 |
+ &.list { |
|
80 |
+ @include flex-layout(flex, center, space-between); |
|
81 |
+ padding: 3rem 0; |
|
82 |
+ } |
|
83 |
+} |
|
84 |
+ |
|
85 |
+ |
|
86 |
+.form-content { |
|
87 |
+ padding: 2rem; |
|
88 |
+ display: grid; |
|
89 |
+ grid-template-columns: 1fr 1fr; |
|
90 |
+ // grid-template-rows: 1fr 1fr; |
|
91 |
+ |
|
92 |
+ >div { |
|
93 |
+ @include flex-layout(flex, center, start); |
|
94 |
+ width: 100%; |
|
95 |
+ padding: 1rem; |
|
96 |
+ border-bottom: 1px solid var(--tk-gray-10); |
|
97 |
+ |
|
98 |
+ &:last-child { |
|
99 |
+ align-items: flex-start; |
|
100 |
+ } |
|
101 |
+ |
|
102 |
+ .form-title { |
|
103 |
+ width: 180px; |
|
104 |
+ font-weight: 700; |
|
105 |
+ |
|
106 |
+ span { |
|
107 |
+ color: var(--tk-point-40); |
|
108 |
+ margin-right: .5rem; |
|
109 |
+ } |
|
110 |
+ } |
|
111 |
+ |
|
112 |
+ |
|
113 |
+ .form-select { |
|
114 |
+ width: 200px; |
|
115 |
+ } |
|
116 |
+ |
|
117 |
+ .form-control { |
|
118 |
+ max-width: calc(100% - 180px); |
|
119 |
+ } |
|
120 |
+ |
|
121 |
+ .form-group { |
|
122 |
+ width: calc(100% - 180px); |
|
123 |
+ |
|
124 |
+ .form-control { |
|
125 |
+ max-width: 100%; |
|
126 |
+ } |
|
127 |
+ |
|
128 |
+ span { |
|
129 |
+ font-size: var(--tk-fz-detail-sm); |
|
130 |
+ } |
|
131 |
+ } |
|
132 |
+ |
|
133 |
+ .input-group{ |
|
134 |
+ max-width: calc(100% - 180px); |
|
135 |
+ } |
|
136 |
+ |
|
137 |
+ &.grid-column { |
|
138 |
+ grid-column: 1/3; |
|
139 |
+ } |
|
140 |
+ |
|
141 |
+ &:nth-child(1),:nth-child(2){ |
|
142 |
+ padding-top: 0; |
|
143 |
+ } |
|
144 |
+ |
|
145 |
+ &:last-child{ |
|
146 |
+ grid-column: 1/3; |
|
147 |
+ padding-bottom: 0; |
|
148 |
+ border-bottom: 0; |
|
149 |
+ } |
|
150 |
+ } |
|
151 |
+ |
|
152 |
+ |
|
153 |
+ // 자식 div 개수가 짝수일 때 마지막 div의 스타일을 변경 |
|
154 |
+ &:has(> div:nth-child(even)) { |
|
155 |
+ |
|
156 |
+ >div{ |
|
157 |
+ |
|
158 |
+ &:nth-last-child(-n + 2){ |
|
159 |
+ border-bottom: 0; |
|
160 |
+ } |
|
161 |
+ |
|
162 |
+ &:last-child { |
|
163 |
+ grid-column: unset; |
|
164 |
+ |
|
165 |
+ &.grid-column { |
|
166 |
+ grid-column: 1/3; |
|
167 |
+ } |
|
168 |
+ } |
|
169 |
+ } |
|
170 |
+ |
|
171 |
+ } |
|
172 |
+ |
|
173 |
+ .check-area { |
|
174 |
+ @include flex-layout(flex, center); |
|
175 |
+ gap: 3rem; |
|
176 |
+ } |
|
177 |
+ |
|
178 |
+ |
|
179 |
+} |
|
180 |
+ |
|
181 |
+ |
|
182 |
+.title-zone { |
|
183 |
+ @include flex-layout(flex, center, space-between); |
|
184 |
+ margin-bottom: 3rem; |
|
185 |
+ |
|
186 |
+ .section-title { |
|
187 |
+ margin-bottom: 0; |
|
188 |
+ } |
|
189 |
+} |
|
190 |
+ |
|
191 |
+ |
|
192 |
+.form-box { |
|
193 |
+ border: 1px solid var(--tk-gray-10); |
|
194 |
+ @include radius(30); |
|
195 |
+ |
|
196 |
+ .form-box-title { |
|
197 |
+ padding: 1rem 3rem; |
|
198 |
+ background-color: #fbfbfb; |
|
199 |
+ @include flex-layout(flex, center, start); |
|
200 |
+ font-size: var(--tk-fz-title-sm); |
|
201 |
+ border-radius: 3rem 3rem 0 0; |
|
202 |
+ |
|
203 |
+ >p { |
|
204 |
+ margin-right: 1rem; |
|
205 |
+ font-weight: 700; |
|
206 |
+ } |
|
207 |
+ |
|
208 |
+ >p:nth-of-type(2) { |
|
209 |
+ font-size: var(--tk-fz-detail-sm); |
|
210 |
+ background-color: var(--tk-point-5); |
|
211 |
+ border: 1px solid var(--tk-point-40); |
|
212 |
+ padding: .2rem 1rem; |
|
213 |
+ // border-radius: var(--tk-rd-12); |
|
214 |
+ @include radius(30); |
|
215 |
+ font-weight: 400; |
|
216 |
+ |
|
217 |
+ span { |
|
218 |
+ color: var(--tk-point-40); |
|
219 |
+ margin-right: .5rem; |
|
220 |
+ } |
|
221 |
+ } |
|
222 |
+ } |
|
223 |
+ |
|
224 |
+ |
|
225 |
+} |
|
226 |
+ |
|
227 |
+.setting-box { |
|
228 |
+ @include flex-layout(flex, start, start); |
|
229 |
+ width: 100%; |
|
230 |
+ height: calc(100% - 58.5px); |
|
231 |
+ |
|
232 |
+ .node-zone { |
|
233 |
+ width: 325px; |
|
234 |
+ height: 100%; |
|
235 |
+ margin-right: 5rem; |
|
236 |
+ background-color: #fbfbfb; |
|
237 |
+ border-radius: var(--tk-rd-12); |
|
238 |
+ |
|
239 |
+ .tree { |
|
240 |
+ padding: 3rem; |
|
241 |
+ width: 100%; |
|
242 |
+ height: calc(100% - 149px); |
|
243 |
+ overflow-y: auto; |
|
244 |
+ |
|
245 |
+ |
|
246 |
+ } |
|
247 |
+ } |
|
248 |
+ |
|
249 |
+ .setting-zone { |
|
250 |
+ width: calc(100% - 325px - 5rem); |
|
251 |
+ height: 100%; |
|
252 |
+ |
|
253 |
+ // .form-content { |
|
254 |
+ // // padding: 0; |
|
255 |
+ |
|
256 |
+ // >div { |
|
257 |
+ // padding: 1rem; |
|
258 |
+ // |
|
259 |
+ // } |
|
260 |
+ // } |
|
261 |
+ .btn-wrap { |
|
262 |
+ // justify-content: flex-end; |
|
263 |
+ padding: 1rem 0; |
|
264 |
+ } |
|
265 |
+ } |
|
266 |
+ |
|
267 |
+ .btn-zone { |
|
268 |
+ padding: 3rem; |
|
269 |
+ |
|
270 |
+ button { |
|
271 |
+ min-width: 126px; |
|
272 |
+ margin-left: 1rem; |
|
273 |
+ margin-bottom: 1rem; |
|
274 |
+ } |
|
275 |
+ |
|
276 |
+ button:nth-child(1) { |
|
277 |
+ margin-left: 0; |
|
278 |
+ } |
|
279 |
+ |
|
280 |
+ button:last-child { |
|
281 |
+ min-width: 100%; |
|
282 |
+ margin-left: 0; |
|
283 |
+ margin-bottom: 0; |
|
284 |
+ } |
|
285 |
+ } |
|
286 |
+} |
|
287 |
+ |
|
288 |
+.top-zone { |
|
289 |
+ >div { |
|
290 |
+ margin-bottom: 5rem; |
|
291 |
+ |
|
292 |
+ .tbl { |
|
293 |
+ .table-title { |
|
294 |
+ @include ellipsis(1); |
|
295 |
+ } |
|
296 |
+ |
|
297 |
+ } |
|
298 |
+ } |
|
299 |
+ |
|
300 |
+} |
|
301 |
+ |
|
302 |
+.middle-zone { |
|
303 |
+ @include flex-layout(flex, flex-start, space-between); |
|
304 |
+ gap: 3rem; |
|
305 |
+ margin-bottom: 5rem; |
|
306 |
+ |
|
307 |
+ .first-box, |
|
308 |
+ .two-box, |
|
309 |
+ .three-box { |
|
310 |
+ flex: 0 0 calc(33.333% - 2rem); |
|
311 |
+ max-width: calc(33.333% - 2rem); |
|
312 |
+ padding: 2rem; |
|
313 |
+ border-radius: var(--tk-rd-12); |
|
314 |
+ text-align: center; |
|
315 |
+ border: 1px solid var(--tk-gray-10); |
|
316 |
+ |
|
317 |
+ |
|
318 |
+ } |
|
319 |
+} |
|
320 |
+ |
|
321 |
+.chart-wrap { |
|
322 |
+ padding: 3rem; |
|
323 |
+ border: 1px solid var(--tk-gray-10); |
|
324 |
+ @include radius(30); |
|
325 |
+} |
|
326 |
+ |
|
327 |
+ |
|
328 |
+.area{ |
|
329 |
+ font-size: var(--tk-input-fz-sm); |
|
330 |
+} |
|
331 |
+ |
|
332 |
+.form-check{ |
|
333 |
+ display: flex; |
|
334 |
+ align-items: center; |
|
301 | 335 |
}(파일 끝에 줄바꿈 문자 없음) |
--- client/resources/scss/common/component/_tree.scss
+++ client/resources/scss/common/component/_tree.scss
... | ... | @@ -28,13 +28,11 @@ |
28 | 28 |
>div.node-wrap.selected{ |
29 | 29 |
border: 1px solid var(--tk-primary); |
30 | 30 |
border-radius: var(--tk-rd-12); |
31 |
- margin-bottom: 1rem; |
|
31 |
+ |
|
32 | 32 |
} |
33 | 33 |
|
34 | 34 |
.child-node { |
35 |
- padding: 1rem; |
|
36 |
- padding-left: 2rem; |
|
37 |
- background-color: var(--tk-white); |
|
35 |
+ padding-left: 1.5rem; |
|
38 | 36 |
border-radius: var(--tk-rd-12); |
39 | 37 |
margin-bottom: 1rem; |
40 | 38 |
|
--- client/views/component/userInfo/UserInfoInsert.vue
+++ client/views/component/userInfo/UserInfoInsert.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>{{pageTit}}</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/component/userInfo/UserInfoView.vue
+++ client/views/component/userInfo/UserInfoView.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>{{pageTit}}</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/departmentManagement/DepartmentManagement.vue
+++ client/views/pages/adm/departmentManagement/DepartmentManagement.vue
... | ... | @@ -1,222 +1,173 @@ |
1 | 1 |
<template> |
2 |
- <div class="content admin-style"> |
|
3 |
- <div class="admin-page-title point-font2 mb30"> |
|
4 |
- <p>부서관리</p> |
|
5 |
- </div> |
|
6 |
- <div class="full-page"> |
|
7 |
- <div class="flex content"> |
|
8 |
- <div class="gd-2 pl0 conten"> |
|
9 |
- <div class="tree-zone content pd15"> |
|
10 |
- <div class="tree"> |
|
11 |
- <div class="content overflow-y"> |
|
12 |
- <draggable |
|
13 |
- tag="ul" |
|
14 |
- class="tree-node" |
|
15 |
- :list="deptList" |
|
16 |
- :group="{ name: 'menu' }" |
|
17 |
- item-key="id" |
|
18 |
- handle=".handle" |
|
19 |
- ghost-class="ghost" |
|
20 |
- > |
|
21 |
- <template #item="{ element }"> |
|
22 |
- <Hierachy |
|
23 |
- :tasks="element" |
|
24 |
- :icon="iconPath" |
|
25 |
- :selectedNode="selectedDeptId" |
|
26 |
- @changeSelected="fnViewDetail" |
|
27 |
- /> |
|
28 |
- </template> |
|
29 |
- </draggable> |
|
30 |
- </div> |
|
31 |
- </div> |
|
32 |
- <div class="btn-zone pt15"> |
|
33 |
- <template v-if="pageAuth.mdfcnAuthrt == 'Y'"> |
|
34 |
- <div class="flex"> |
|
35 |
- <div class="gd-6 pl0"> |
|
36 |
- <button class="large-btn blue-border-btn" @click="topAdd"> |
|
37 |
- TOP+ |
|
38 |
- </button> |
|
39 |
- </div> |
|
40 |
- <div class="gd-6 pr0"> |
|
41 |
- <button class="large-btn blue-border-btn" @click="subAdd"> |
|
42 |
- SUB+ |
|
43 |
- </button> |
|
44 |
- </div> |
|
45 |
- </div> |
|
46 |
- <div class="pt15"> |
|
47 |
- <button |
|
48 |
- class="large-btn blue-border-btn" |
|
49 |
- @click="fnListUpdate" |
|
50 |
- > |
|
51 |
- 메뉴 저장 |
|
52 |
- </button> |
|
53 |
- </div> |
|
54 |
- </template> |
|
2 |
+ <div class="content-zone full-page"> |
|
3 |
+ <div class="content"> |
|
4 |
+ <div class="title-zone"> |
|
5 |
+ <div class="page-title"> |
|
6 |
+ <p>부서관리</p> |
|
7 |
+ </div> |
|
8 |
+ <PagiNavigationBar /> |
|
9 |
+ </div> |
|
10 |
+ <div class="setting-box"> |
|
11 |
+ <div class="node-zone"> |
|
12 |
+ <div class="tree"> |
|
13 |
+ <div> |
|
14 |
+ <draggable |
|
15 |
+ tag="ul" |
|
16 |
+ class="tree-node" |
|
17 |
+ :list="deptList" |
|
18 |
+ :group="{ name: 'menu' }" |
|
19 |
+ item-key="id" |
|
20 |
+ handle=".handle" |
|
21 |
+ ghost-class="ghost" |
|
22 |
+ > |
|
23 |
+ <template #item="{ element }"> |
|
24 |
+ <Hierachy |
|
25 |
+ :tasks="element" |
|
26 |
+ :icon="iconPath" |
|
27 |
+ :selectedNode="selectedDeptId" |
|
28 |
+ @changeSelected="fnViewDetail" |
|
29 |
+ /> |
|
30 |
+ </template> |
|
31 |
+ </draggable> |
|
55 | 32 |
</div> |
56 | 33 |
</div> |
34 |
+ <div class="btn-zone"> |
|
35 |
+ <template v-if="pageAuth.mdfcnAuthrt == 'Y'"> |
|
36 |
+ <button class="btn top sm secondary" @click="topAdd">TOP+</button> |
|
37 |
+ <button class="btn top sm secondary" @click="subAdd">SUB+</button> |
|
38 |
+ <button class="btn save sm" @click="fnListUpdate">메뉴 저장</button> |
|
39 |
+ </template> |
|
40 |
+ </div> |
|
57 | 41 |
</div> |
58 |
- <div class="gd-10 pr0 content overflow-y"> |
|
59 |
- <div class="content"> |
|
60 |
- <div class="mb30"> |
|
61 |
- <details open class="form-table-style"> |
|
62 |
- <summary class="point-font2"> |
|
63 |
- <p class="summary-style pl10">부서정보</p> |
|
64 |
- </summary> |
|
42 |
+ <div class="setting-zone"> |
|
43 |
+ <div> |
|
44 |
+ <div class="form-box"> |
|
45 |
+ <div class="form-box-title"> |
|
46 |
+ <p>부서 정보</p> |
|
47 |
+ </div> |
|
48 |
+ <div class="form-content"> |
|
65 | 49 |
<div> |
66 |
- <table class="form-table"> |
|
67 |
- <colgroup> |
|
68 |
- <col width="50%" /> |
|
69 |
- <col width="50%" /> |
|
70 |
- </colgroup> |
|
71 |
- <tr> |
|
72 |
- <td> |
|
73 |
- <div class="gd-12 pl0"> |
|
74 |
- <label for="" class="form-title point-font2 mb10" |
|
75 |
- >상위부서</label |
|
76 |
- > |
|
77 |
- <input |
|
78 |
- type="text" |
|
79 |
- class="full-input" |
|
80 |
- disabled |
|
81 |
- v-model="viewDept.upDeptNm" |
|
82 |
- /> |
|
83 |
- </div> |
|
84 |
- </td> |
|
85 |
- <td> |
|
86 |
- <div class="gd-12 pr0"> |
|
87 |
- <label for="" class="form-title point-font2 mb10" |
|
88 |
- >부서명</label |
|
89 |
- > |
|
90 |
- <input |
|
91 |
- type="text" |
|
92 |
- class="full-input" |
|
93 |
- :disabled="isFormDisabled" |
|
94 |
- v-model="viewDept.deptNm" |
|
95 |
- /> |
|
96 |
- </div> |
|
97 |
- </td> |
|
98 |
- </tr> |
|
99 |
- <tr> |
|
100 |
- <td colspan="2"> |
|
101 |
- <div class="gd-12 pl0"> |
|
102 |
- <label for="" class="point-font2 mb10" |
|
103 |
- >부서설명</label |
|
104 |
- > |
|
105 |
- <textarea |
|
106 |
- name="" |
|
107 |
- id="" |
|
108 |
- style="min-height: 3rem" |
|
109 |
- :disabled="isFormDisabled" |
|
110 |
- v-model="viewDept.deptExpln" |
|
111 |
- ></textarea> |
|
112 |
- </div> |
|
113 |
- </td> |
|
114 |
- </tr> |
|
115 |
- <tr> |
|
116 |
- <td> |
|
117 |
- <div class="gd-12 pl0"> |
|
118 |
- <label for="" class="form-title point-font2 mb10" |
|
119 |
- >부서권한</label |
|
120 |
- > |
|
121 |
- <select |
|
122 |
- name="" |
|
123 |
- id="" |
|
124 |
- class="full-select" |
|
125 |
- :disabled="isFormDisabled" |
|
126 |
- v-model="selectedAuthrt" |
|
127 |
- > |
|
128 |
- <option value="">선택</option> |
|
129 |
- <option |
|
130 |
- v-for="(item, idx) in authList" |
|
131 |
- :key="idx" |
|
132 |
- :value="item.authrtCd" |
|
133 |
- > |
|
134 |
- {{ item.authrtNm }} |
|
135 |
- </option> |
|
136 |
- </select> |
|
137 |
- </div> |
|
138 |
- </td> |
|
139 |
- </tr> |
|
140 |
- </table> |
|
50 |
+ <label class="form-title">상위부서</label> |
|
51 |
+ <input |
|
52 |
+ type="text" |
|
53 |
+ class="form-control sm" |
|
54 |
+ disabled |
|
55 |
+ v-model="viewDept.upDeptNm" |
|
56 |
+ /> |
|
141 | 57 |
</div> |
142 |
- </details> |
|
143 |
- <div class="flex justify-end pt15"> |
|
144 |
- <div class="gd-1"> |
|
145 |
- <button |
|
146 |
- class="large-btn blue-btn" |
|
58 |
+ <div> |
|
59 |
+ <label class="form-title">부서명</label> |
|
60 |
+ <input |
|
61 |
+ type="text" |
|
62 |
+ class="form-control sm" |
|
147 | 63 |
:disabled="isFormDisabled" |
148 |
- @click="fnSave" |
|
149 |
- > |
|
150 |
- <span v-if="submitStts"> 등록 </span> |
|
151 |
- <span v-else>수정</span> |
|
152 |
- </button> |
|
64 |
+ v-model="viewDept.deptNm" |
|
65 |
+ /> |
|
153 | 66 |
</div> |
154 |
- <div class="gd-1 pr0"> |
|
155 |
- <button |
|
156 |
- class="large-btn red-btn" |
|
67 |
+ <div class="grid-column"> |
|
68 |
+ <label class="form-title">부서권한</label> |
|
69 |
+ <select |
|
70 |
+ class="form-select sm" |
|
157 | 71 |
:disabled="isFormDisabled" |
158 |
- @click="fnDel" |
|
72 |
+ v-model="selectedAuthrt" |
|
159 | 73 |
> |
160 |
- 삭제 |
|
161 |
- </button> |
|
74 |
+ <option value="">선택</option> |
|
75 |
+ <option |
|
76 |
+ v-for="(item, idx) in authList" |
|
77 |
+ :key="idx" |
|
78 |
+ :value="item.authrtCd" |
|
79 |
+ > |
|
80 |
+ {{ item.authrtNm }} |
|
81 |
+ </option> |
|
82 |
+ </select> |
|
83 |
+ </div> |
|
84 |
+ <div class="grid-column"> |
|
85 |
+ <label class="form-title">부서설명</label> |
|
86 |
+ <textarea |
|
87 |
+ class="form-control lg area" |
|
88 |
+ style="min-height: 3rem" |
|
89 |
+ :disabled="isFormDisabled" |
|
90 |
+ v-model="viewDept.deptExpln" |
|
91 |
+ ></textarea> |
|
162 | 92 |
</div> |
163 | 93 |
</div> |
164 | 94 |
</div> |
165 |
- <div> |
|
166 |
- <details open class="form-table-style"> |
|
167 |
- <summary class="point-font2"> |
|
168 |
- <p class="summary-style pl10">부서 사용자</p> |
|
169 |
- </summary> |
|
170 |
- <div class="pt10 pb10"> |
|
95 |
+ <div class="btn-wrap"> |
|
96 |
+ <button |
|
97 |
+ class="btn sm primary" |
|
98 |
+ :disabled="isFormDisabled" |
|
99 |
+ @click="fnSave" |
|
100 |
+ > |
|
101 |
+ <span v-if="submitStts"> 등록 </span> |
|
102 |
+ <span v-else>수정</span> |
|
103 |
+ </button> |
|
104 |
+ |
|
105 |
+ |
|
106 |
+ <button |
|
107 |
+ class="btn sm red" |
|
108 |
+ :disabled="isFormDisabled" |
|
109 |
+ @click="fnDel" |
|
110 |
+ > |
|
111 |
+ 삭제 |
|
112 |
+ </button> |
|
113 |
+ </div> |
|
114 |
+ </div> |
|
115 |
+ |
|
116 |
+ <div> |
|
117 |
+ <div class="form-box"> |
|
118 |
+ <div class="form-box-title"> |
|
119 |
+ <p>부서 사용자</p> |
|
120 |
+ </div> |
|
121 |
+ <div class="form-content"> |
|
122 |
+ <div class="tbl-wrap"> |
|
171 | 123 |
<ListTable |
172 |
- :className="'admin-list'" |
|
124 |
+ :className="'data'" |
|
173 | 125 |
:colgroup="colgroup" |
174 | 126 |
:thead="thead" |
175 | 127 |
:tbody="tbody" |
176 | 128 |
@listClick="clickEvent" |
177 | 129 |
> |
178 | 130 |
<template v-slot:checkbox="{ row, idx }"> |
179 |
- <input |
|
131 |
+ <div class="form-check"> |
|
132 |
+ <input |
|
180 | 133 |
type="checkbox" |
181 | 134 |
:id="'check_' + idx" |
135 |
+ class="checkbox md" |
|
182 | 136 |
:checked="selectedMbr.includes(row.loginId)" |
183 | 137 |
@change="() => checkboxChange(row, idx)" |
184 | 138 |
/> |
139 |
+ <label for="'check_' + idx"></label> |
|
140 |
+ </div> |
|
185 | 141 |
</template> |
186 | 142 |
</ListTable> |
187 | 143 |
</div> |
188 |
- </details> |
|
189 |
- <div class="flex justify-between pt15"> |
|
190 |
- <div class="gd-2"> |
|
191 |
- <button |
|
192 |
- class="large-btn red-btn" |
|
193 |
- :disabled="isFormDisabled" |
|
194 |
- @click="deptMbrDel" |
|
195 |
- v-if="pageAuth.delAuthrt == 'Y'" |
|
196 |
- > |
|
197 |
- 선택 사용자 삭제 |
|
198 |
- </button> |
|
199 |
- </div> |
|
200 |
- <div class="gd-8"> |
|
201 |
- <!-- <PaginationButton /> --> |
|
202 |
- </div> |
|
203 |
- <div class="gd-2 pr0"> |
|
204 |
- <button |
|
205 |
- class="large-btn blue-btn" |
|
206 |
- :disabled="isFormDisabled" |
|
207 |
- @click="modalOpen" |
|
208 |
- v-if="pageAuth.regAuthrt == 'Y'" |
|
209 |
- > |
|
210 |
- 사용자 추가 |
|
211 |
- </button> |
|
212 |
- </div> |
|
213 | 144 |
</div> |
145 |
+ </div> |
|
146 |
+ <div class="btn-wrap"> |
|
147 |
+ <button |
|
148 |
+ class="btn sm primary" |
|
149 |
+ :disabled="isFormDisabled" |
|
150 |
+ @click="modalOpen" |
|
151 |
+ v-if="pageAuth.regAuthrt == 'Y'" |
|
152 |
+ > |
|
153 |
+ 사용자 추가 |
|
154 |
+ </button> |
|
155 |
+ <button |
|
156 |
+ class="btn sm red" |
|
157 |
+ :disabled="isFormDisabled" |
|
158 |
+ @click="deptMbrDel" |
|
159 |
+ v-if="pageAuth.delAuthrt == 'Y'" |
|
160 |
+ > |
|
161 |
+ 선택 사용자 삭제 |
|
162 |
+ </button> |
|
214 | 163 |
</div> |
215 | 164 |
</div> |
216 | 165 |
</div> |
217 | 166 |
</div> |
218 | 167 |
</div> |
219 | 168 |
</div> |
169 |
+ |
|
170 |
+ |
|
220 | 171 |
<Modal :showModal="userListModal"> |
221 | 172 |
<template v-slot:header> |
222 | 173 |
<div class="box-title point-font2"> |
--- client/views/pages/adm/member/adminManagement/AdminManagementSelectList.vue
+++ client/views/pages/adm/member/adminManagement/AdminManagementSelectList.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>관리자 관리</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/member/userManagement/UserManagementSelectList.vue
+++ client/views/pages/adm/member/userManagement/UserManagementSelectList.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>일반회원 관리</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/preferences/commonCodeManagement/CommonCodeManagement.vue
+++ client/views/pages/adm/preferences/commonCodeManagement/CommonCodeManagement.vue
... | ... | @@ -2,17 +2,15 @@ |
2 | 2 |
<div class="content-zone"> |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="title-zone"> |
5 |
- <div class="section-title"> |
|
5 |
+ <div class="page-title"> |
|
6 | 6 |
<p>공통코드관리</p> |
7 | 7 |
</div> |
8 | 8 |
<PagiNavigationBar /> |
9 |
- </div> |
|
9 |
+ </div> |
|
10 | 10 |
<div class="setting-box"> |
11 |
- |
|
12 | 11 |
<div class="node-zone"> |
13 |
- |
|
14 | 12 |
<div class="tree"> |
15 |
- <div class="content overflow-y"> |
|
13 |
+ <div> |
|
16 | 14 |
<draggable tag="ul" class="tree-node" :list="codeList" :group="{ name: 'menu' }" item-key="id" |
17 | 15 |
handle=".handle" ghost-class="ghost"> |
18 | 16 |
<template #item="{ element }"> |
... | ... | @@ -37,46 +35,51 @@ |
37 | 35 |
</div> |
38 | 36 |
</div> |
39 | 37 |
<div class="setting-zone"> |
40 |
- <div class="form-content"> |
|
41 |
- <div> |
|
42 |
- <label for="" class="form-title">상위코드</label> |
|
43 |
- <input type="text" class="form-control sm" disabled v-model="viewCode.upCd" /> |
|
38 |
+ <div class="form-box"> |
|
39 |
+ <div class="form-box-title"> |
|
40 |
+ <p>공통코드정보</p> |
|
44 | 41 |
</div> |
45 |
- <div> |
|
46 |
- <label for="" class="form-title">상위코드명</label> |
|
47 |
- <input type="text" class="form-control sm" disabled v-model="viewCode.upCdNm" /> |
|
48 |
- </div> |
|
49 |
- <div> |
|
50 |
- <label for="" class="form-title">코드</label> |
|
51 |
- <input type="text" class="form-control sm" :disabled="isFormDisabled || !submitStts" |
|
52 |
- v-model="viewCode.cd" /> |
|
53 |
- </div> |
|
54 |
- <div> |
|
55 |
- <label for="" class="form-title">코드명</label> |
|
56 |
- <input type="text" class="form-control sm" :disabled="isFormDisabled" v-model="viewCode.cdNm" /> |
|
57 |
- </div> |
|
58 |
- <div> |
|
59 |
- <label for="" class="form-title">코드값</label> |
|
60 |
- <input type="text" class="form-control sm" :disabled="isFormDisabled" v-model="viewCode.cdVl" /> |
|
61 |
- </div> |
|
62 |
- <div> |
|
63 |
- <label for="" class="form-title">사용여부</label> |
|
64 |
- <div class="check-area"> |
|
65 |
- <div class="form-check"> |
|
66 |
- <input type="radio" name="code" id="y" value="Y" :disabled="isFormDisabled" |
|
67 |
- v-model="viewCode.useYn" /> |
|
68 |
- <label for="y">사용</label> |
|
69 |
- </div> |
|
70 |
- <div class="form-check"> |
|
71 |
- <input type="radio" name="code" id="n" value="N" :disabled="isFormDisabled" |
|
72 |
- v-model="viewCode.useYn" /> |
|
73 |
- <label for="n">미사용</label> |
|
42 |
+ <div class="form-content"> |
|
43 |
+ <div> |
|
44 |
+ <label for="" class="form-title">상위코드</label> |
|
45 |
+ <input type="text" class="form-control sm" disabled v-model="viewCode.upCd" /> |
|
46 |
+ </div> |
|
47 |
+ <div> |
|
48 |
+ <label for="" class="form-title">상위코드명</label> |
|
49 |
+ <input type="text" class="form-control sm" disabled v-model="viewCode.upCdNm" /> |
|
50 |
+ </div> |
|
51 |
+ <div> |
|
52 |
+ <label for="" class="form-title">코드</label> |
|
53 |
+ <input type="text" class="form-control sm" :disabled="isFormDisabled || !submitStts" |
|
54 |
+ v-model="viewCode.cd" /> |
|
55 |
+ </div> |
|
56 |
+ <div> |
|
57 |
+ <label for="" class="form-title">코드명</label> |
|
58 |
+ <input type="text" class="form-control sm" :disabled="isFormDisabled" v-model="viewCode.cdNm" /> |
|
59 |
+ </div> |
|
60 |
+ <div> |
|
61 |
+ <label for="" class="form-title">코드값</label> |
|
62 |
+ <input type="text" class="form-control sm" :disabled="isFormDisabled" v-model="viewCode.cdVl" /> |
|
63 |
+ </div> |
|
64 |
+ <div> |
|
65 |
+ <label for="" class="form-title">사용여부</label> |
|
66 |
+ <div class="check-area"> |
|
67 |
+ <div class="form-check"> |
|
68 |
+ <input type="radio" name="code" id="y" value="Y" :disabled="isFormDisabled" |
|
69 |
+ v-model="viewCode.useYn" /> |
|
70 |
+ <label for="y">사용</label> |
|
71 |
+ </div> |
|
72 |
+ <div class="form-check"> |
|
73 |
+ <input type="radio" name="code" id="n" value="N" :disabled="isFormDisabled" |
|
74 |
+ v-model="viewCode.useYn" /> |
|
75 |
+ <label for="n">미사용</label> |
|
76 |
+ </div> |
|
74 | 77 |
</div> |
75 | 78 |
</div> |
76 |
- </div> |
|
77 |
- <div> |
|
78 |
- <label for="textarea" class="form-title">코드설명</label> |
|
79 |
- <textarea class="form-control" id="textarea" :disabled="isFormDisabled" v-model="viewCode.cdExpln"></textarea> |
|
79 |
+ <div> |
|
80 |
+ <label for="textarea" class="form-title">코드설명</label> |
|
81 |
+ <textarea class="form-control" id="textarea" :disabled="isFormDisabled" v-model="viewCode.cdExpln"></textarea> |
|
82 |
+ </div> |
|
80 | 83 |
</div> |
81 | 84 |
</div> |
82 | 85 |
</div> |
--- client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementInsert.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>콘텐츠 유형 관리</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectList.vue
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectList.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>콘텐츠 유형 관리</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectListOne.vue
+++ client/views/pages/adm/preferences/contentTypeManagement/ContentTypeManagementSelectListOne.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>콘텐츠 유형 관리</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/system/LoginPolicy/LoginPolicy.vue
+++ client/views/pages/adm/system/LoginPolicy/LoginPolicy.vue
... | ... | @@ -1,51 +1,71 @@ |
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 pl0"> |
|
19 |
- <label for="" class="form-title point-font2 mb10">중복로그인 설정</label> |
|
20 |
- <label> |
|
21 |
- <input type="checkbox" v-model="allowMultipleLogin" @change="saveByLoginPolicy" /> |
|
22 |
- </label> |
|
23 |
- <p>{{ allowMultipleLogin ? '중복 로그인을 허용하고 있습니다.' : '중복 로그인을 허용하지 않습니다.' }}</p> |
|
24 |
- <p style="color: red;"> ※ 로그인 방식을 변경하면 전체 사용자가 로그아웃됩니다.</p> |
|
25 |
- </div> |
|
26 |
- </td> |
|
27 |
- <td> |
|
28 |
- <div class="gd-12 pl0"> |
|
29 |
- <label for="" class="form-title point-font2 ">로그인 방식 설정</label> |
|
30 |
- <div class="gd-4"> |
|
31 |
- <input type="radio" class="mr5" value="J" v-model="lgnMode" @change="saveByLoginMode" /> |
|
32 |
- <label>JWT 방식</label> |
|
33 |
- </div> |
|
34 |
- <div class="gd-4"> |
|
35 |
- <input type="radio" class="mr5" value="S" v-model="lgnMode" @change="saveByLoginMode" /> |
|
36 |
- <label>SESSION 방식</label> |
|
37 |
- </div> |
|
38 |
- <span class="ml10 gray"> |
|
39 |
- 현재 로그인 방식은 <strong>{{ loginModeLabel }}</strong> 입니다. |
|
40 |
- </span> |
|
41 |
- |
|
42 |
- </div> |
|
43 |
- </td> |
|
44 |
- </tr> |
|
45 |
- </table> |
|
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> |
|
46 | 8 |
</div> |
47 |
- </details> |
|
9 |
+ <PagiNavigationBar /> |
|
10 |
+ </div> |
|
11 |
+ <div open class="form-box"> |
|
12 |
+ <div class="form-box-title"> |
|
13 |
+ <p class="summary-style pl10">기본 정보</p> |
|
14 |
+ </div> |
|
15 |
+ <div class="form-content"> |
|
16 |
+ <div class="gd-12 pl0"> |
|
17 |
+ <label class="form-title">중복로그인 설정</label> |
|
18 |
+ <div class="form-group"> |
|
19 |
+ <div> |
|
20 |
+ <input type="checkbox" v-model="allowMultipleLogin" @change="saveByLoginPolicy" /> |
|
21 |
+ <p>{{ allowMultipleLogin ? '중복 로그인을 허용하고 있습니다.' : '중복 로그인을 허용하지 않습니다.' }}</p> |
|
22 |
+ </div> |
|
23 |
+ <span style="color: red;"> ※ 로그인 방식을 변경하면 전체 사용자가 로그아웃됩니다.</span> |
|
24 |
+ </div> |
|
25 |
+ </div> |
|
26 |
+ <div> |
|
27 |
+ <label class="form-title">중복로그인 설정</label> |
|
28 |
+ <div class="form-group"> |
|
29 |
+ <div> |
|
30 |
+ <input type="checkbox" v-model="allowMultipleLogin" @change="saveByLoginPolicy" /> |
|
31 |
+ <p>{{ allowMultipleLogin ? '중복 로그인을 허용하고 있습니다.' : '중복 로그인을 허용하지 않습니다.' }}</p> |
|
32 |
+ </div> |
|
33 |
+ <span style="color: red;"> ※ 로그인 방식을 변경하면 전체 사용자가 로그아웃됩니다.</span> |
|
34 |
+ </div> |
|
35 |
+ </div> |
|
36 |
+ <div> |
|
37 |
+ <label class="form-title">중복로그인 설정</label> |
|
38 |
+ <div class="form-group"> |
|
39 |
+ <div> |
|
40 |
+ <input type="checkbox" v-model="allowMultipleLogin" @change="saveByLoginPolicy" /> |
|
41 |
+ <p>{{ allowMultipleLogin ? '중복 로그인을 허용하고 있습니다.' : '중복 로그인을 허용하지 않습니다.' }}</p> |
|
42 |
+ </div> |
|
43 |
+ <span style="color: red;"> ※ 로그인 방식을 변경하면 전체 사용자가 로그아웃됩니다.</span> |
|
44 |
+ </div> |
|
45 |
+ </div> |
|
46 |
+ <div> |
|
47 |
+ <label class="form-title">로그인 방식 설정</label> |
|
48 |
+ <div class="form-group"> |
|
49 |
+ <div class="check-area"> |
|
50 |
+ <div class="form-check"> |
|
51 |
+ <input type="radio" class="mr5" value="J" v-model="lgnMode" @change="saveByLoginMode" /> |
|
52 |
+ <label>JWT 방식</label> |
|
53 |
+ </div> |
|
54 |
+ <div class="form-check"> |
|
55 |
+ <input type="radio" class="mr5" value="S" v-model="lgnMode" @change="saveByLoginMode" /> |
|
56 |
+ <label>SESSION 방식</label> |
|
57 |
+ </div> |
|
58 |
+ </div> |
|
59 |
+ <span class="ml10 gray"> |
|
60 |
+ 현재 로그인 방식은 <strong>{{ loginModeLabel }}</strong> 입니다. |
|
61 |
+ </span> |
|
62 |
+ </div> |
|
63 |
+ </div> |
|
64 |
+ </div> |
|
65 |
+ </div> |
|
66 |
+ </div> |
|
48 | 67 |
</div> |
68 |
+ </div> |
|
49 | 69 |
</template> |
50 | 70 |
|
51 | 71 |
<script> |
--- client/views/pages/adm/system/networkAccessControl/NetworkAccessControlInsert.vue
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlInsert.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>IP접근제어</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectList.vue
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectList.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>IP접근제어</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectListOne.vue
+++ client/views/pages/adm/system/networkAccessControl/NetworkAccessControlSelectListOne.vue
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 |
<div class="content"> |
4 | 4 |
<div class="scroll"> |
5 | 5 |
<div class="title-zone"> |
6 |
- <div class="section-title"> |
|
6 |
+ <div class="page-title"> |
|
7 | 7 |
<p>IP접근제어</p> |
8 | 8 |
</div> |
9 | 9 |
<PagiNavigationBar /> |
--- client/views/pages/login/Login.vue
+++ client/views/pages/login/Login.vue
... | ... | @@ -37,13 +37,14 @@ |
37 | 37 |
class="form-control md" |
38 | 38 |
placeholder="비밀번호를 입력하세요" |
39 | 39 |
v-model="member['pswd']" |
40 |
- @keyup.enter="fnLogin" |
|
40 |
+ @keydown.enter="fnLogin" |
|
41 | 41 |
/> |
42 | 42 |
</div> |
43 | 43 |
<button |
44 | 44 |
class="btn md primary user-btn" |
45 | 45 |
v-if="!isAdminPage" |
46 | 46 |
@click="fnLogin" |
47 |
+ @keydown.enter="fnLogin" |
|
47 | 48 |
> |
48 | 49 |
로그인 |
49 | 50 |
</button> |
... | ... | @@ -51,6 +52,7 @@ |
51 | 52 |
class="btn md primary" |
52 | 53 |
v-else |
53 | 54 |
@click="fnLogin" |
55 |
+ @keydown.enter="fnLogin" |
|
54 | 56 |
> |
55 | 57 |
로그인 |
56 | 58 |
</button> |
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?