
--- client/views/layout/Header.vue
+++ client/views/layout/Header.vue
... | ... | @@ -8,19 +8,17 @@ |
8 | 8 |
</div> |
9 | 9 |
<div class="user-info flex justify-end align-center"> |
10 | 10 |
<div class="user flex align-center"> |
11 |
- <span class="user-name">{{ store.state.loginUser.user_name }}님</span> |
|
11 |
+ <span class="user-name">{{ $store.state.loginUser.user_name }}님</span> |
|
12 | 12 |
</div> |
13 | 13 |
<button class="logout-btn" @click="logout">로그아웃</button> |
14 | 14 |
</div> |
15 | 15 |
</div> |
16 | 16 |
</header> |
17 | 17 |
</template> |
18 |
- |
|
19 | 18 |
<script> |
20 | 19 |
import SvgIcon from "@jamescoyle/vue-icon"; |
21 | 20 |
import { mdiEmail, mdiAccountCircle } from "@mdi/js"; |
22 | 21 |
import axios from "axios"; |
23 |
-import store from "../pages/AppStore"; |
|
24 | 22 |
|
25 | 23 |
export default { |
26 | 24 |
props: { |
... | ... | @@ -30,7 +28,6 @@ |
30 | 28 |
return { |
31 | 29 |
mdiEmail: mdiEmail, |
32 | 30 |
mdiAccountCircle: mdiAccountCircle, |
33 |
- store: store, |
|
34 | 31 |
}; |
35 | 32 |
}, |
36 | 33 |
methods: { |
... | ... | @@ -46,7 +43,7 @@ |
46 | 43 |
.then(function (response) { |
47 | 44 |
vm.$showAlert("메세지", "로그아웃"); |
48 | 45 |
if (response.data.checkMessage.status > 0) { |
49 |
- store.commit("setLoginUser", null); |
|
46 |
+ this.$store.commit("setLoginUser", null); |
|
50 | 47 |
vm.$router.push({ path: "/login.page", query: {} }); |
51 | 48 |
} |
52 | 49 |
}) |
--- client/views/pages/AppStore.js
+++ client/views/pages/AppStore.js
... | ... | @@ -19,6 +19,6 @@ |
19 | 19 |
}, |
20 | 20 |
setKey: function (state, newValue) { |
21 | 21 |
state.key = newValue; |
22 |
- } |
|
22 |
+ }, |
|
23 | 23 |
} |
24 | 24 |
});(파일 끝에 줄바꿈 문자 없음) |
--- client/views/pages/data/FileManagement.vue
+++ client/views/pages/data/FileManagement.vue
... | ... | @@ -1,13 +1,5 @@ |
1 | 1 |
<template> |
2 |
- <div class="container" :style="isLoading ? { cursor: 'wait' } : {}"> |
|
3 |
- <div v-if="isLoading" class="loading-overlay"> |
|
4 |
- <div class="loading-div"> |
|
5 |
- <span>LOADING </span> |
|
6 |
- <span class="anima">.</span> |
|
7 |
- <span class="anima">.</span> |
|
8 |
- <span class="anima">.</span> |
|
9 |
- </div> |
|
10 |
- </div> |
|
2 |
+ <div class="container"> |
|
11 | 3 |
<div class="page-titleZone flex justify-between align-center"> |
12 | 4 |
<p class="main-title flex80">파일 관리</p> |
13 | 5 |
<PageNavigation /> |
... | ... | @@ -23,8 +15,7 @@ |
23 | 15 |
|
24 | 16 |
export default { |
25 | 17 |
data() { |
26 |
- return { |
|
27 |
- }; |
|
18 |
+ return {}; |
|
28 | 19 |
}, |
29 | 20 |
methods: { |
30 | 21 |
}, |
--- client/views/pages/data/filemanger/FileManagementMain.vue
+++ client/views/pages/data/filemanger/FileManagementMain.vue
... | ... | @@ -1,5 +1,13 @@ |
1 | 1 |
<template> |
2 |
- <div class="content-box flex justify-between"> |
|
2 |
+ <div class="content-box flex justify-between" :style="isLoading ? { cursor: 'wait' } : {}"> |
|
3 |
+ <div v-if="isLoading" class="loading-overlay"> |
|
4 |
+ <div class="loading-div"> |
|
5 |
+ <span>LOADING </span> |
|
6 |
+ <span class="anima">.</span> |
|
7 |
+ <span class="anima">.</span> |
|
8 |
+ <span class="anima">.</span> |
|
9 |
+ </div> |
|
10 |
+ </div> |
|
3 | 11 |
<div class="flex20 content-box"> |
4 | 12 |
<div class="left-content flex100 content-box"> |
5 | 13 |
<div class="content-box"> |
... | ... | @@ -11,9 +19,7 @@ |
11 | 19 |
<div> |
12 | 20 |
<select class="only full-select" v-model="selectedHostCodeData"> |
13 | 21 |
<option :value="null" disabled>선택</option> |
14 |
- <option v-for="(host, idx) in hostList" :key="idx" :value="idx"> |
|
15 |
- {{ host.host_nm + " - (" + host.host_ip + ")" }} |
|
16 |
- </option> |
|
22 |
+ <option v-for="(host, idx) in hostList" :key="idx" :value="idx"> {{ host.host_nm + " - (" + host.host_ip + ")" }} </option> |
|
17 | 23 |
</select> |
18 | 24 |
</div> |
19 | 25 |
</div> |
... | ... | @@ -24,16 +30,12 @@ |
24 | 30 |
<div> |
25 | 31 |
<select class="only full-select" v-model="selectedDirectory"> |
26 | 32 |
<option :value="null" disabled>선택</option> |
27 |
- <option v-for="(host, idx) in hostList" :key="idx" :value="idx"> |
|
28 |
- {{ host.dept_drctry_nm }} |
|
29 |
- </option> |
|
33 |
+ <option v-for="(host, idx) in hostList" :key="idx" :value="idx"> {{ host.dept_drctry_nm }} </option> |
|
30 | 34 |
</select> |
31 | 35 |
</div> |
32 | 36 |
</div> |
33 | 37 |
<div class="mb10 flex25"> |
34 |
- <button class="blue-btn large-btn" @click="uniquePaths()"> |
|
35 |
- 연결 |
|
36 |
- </button> |
|
38 |
+ <button class="blue-btn large-btn" @click="uniquePaths()">연결</button> |
|
37 | 39 |
</div> |
38 | 40 |
</div> |
39 | 41 |
<div class="file-tree-zone" :style="{ |
... | ... | @@ -44,15 +46,11 @@ |
44 | 46 |
}"> |
45 | 47 |
<div class="content-titleZone flex justify-between align-center"> |
46 | 48 |
<p class="box-title">폴더 리스트</p> |
47 |
- <button class="blue-border-btn small-btn" v-if="type != 'modal'" @click="openMkdirModal()"> |
|
48 |
- 폴더추가 |
|
49 |
- </button> |
|
49 |
+ <button class="blue-border-btn small-btn" v-if="type != 'modal'" @click="openMkdirModal()"> 폴더추가 </button> |
|
50 | 50 |
</div> |
51 | 51 |
<div class="file-zone overflow-y"> |
52 | 52 |
<ul class="tree-wrap"> |
53 |
- <TreeItem ref="treeItem" :connection="connection" :selectedNode="selectedNode" |
|
54 |
- v-for="(item, idx) in nodes" :item="item" :idx="item.id" :selectItem="selectItem" :key="idx" |
|
55 |
- @selectFolder="selectFolder" @isLoading="handleIsLoading" @selectItem="handleSelectItem" /> |
|
53 |
+ <TreeItem ref="treeItem" :connection="connection" :selectedNode="selectedNode" v-for="(item, idx) in nodes" :item="item" :idx="item.id" :selectItem="selectItem" :key="idx" @selectFolder="selectFolder" @isLoading="handleIsLoading" @selectItem="handleSelectItem" /> |
|
56 | 54 |
</ul> |
57 | 55 |
</div> |
58 | 56 |
</div> |
... | ... | @@ -64,15 +62,9 @@ |
64 | 62 |
<div class="flex-column justify-between"> |
65 | 63 |
<div class="flex justify-between align-center no-gutter mb10"> |
66 | 64 |
<div class="flex40"> |
67 |
- <button class="blue-border-btn small-btn" v-if="type != 'modal'" @click="openTreeModal('copy')"> |
|
68 |
- 선택복사 |
|
69 |
- </button> |
|
70 |
- <button class="blue-border-btn small-btn" v-if="type != 'modal'" @click="openTreeModal('move')"> |
|
71 |
- 선택이동 |
|
72 |
- </button> |
|
73 |
- <button class="red-border-btn small-btn" v-if="type != 'modal'" @click="remove()"> |
|
74 |
- 선택삭제 |
|
75 |
- </button> |
|
65 |
+ <button class="blue-border-btn small-btn" v-if="type != 'modal'" @click="openTreeModal('copy')"> 선택복사 </button> |
|
66 |
+ <button class="blue-border-btn small-btn" v-if="type != 'modal'" @click="openTreeModal('move')"> 선택이동 </button> |
|
67 |
+ <button class="red-border-btn small-btn" v-if="type != 'modal'" @click="remove()"> 선택삭제 </button> |
|
76 | 68 |
</div> |
77 | 69 |
<div class="flex justify-end flex60"> |
78 | 70 |
<div class="search-bar"> |
... | ... | @@ -83,8 +75,7 @@ |
83 | 75 |
</select> |
84 | 76 |
<div class="search-square"> |
85 | 77 |
<div class="flex justify-end align-center no-gutter"> |
86 |
- <input type="text" class="square-input flex90" placeholder="Search File" v-model="searchText" |
|
87 |
- @keyup.enter="searchFiles()" /> |
|
78 |
+ <input type="text" class="square-input flex90" placeholder="Search File" v-model="searchText" @keyup.enter="searchFiles()" /> |
|
88 | 79 |
<button class="square-button blue-btn flex10"> |
89 | 80 |
<svg-icon type="mdi" :path="searchPath" class="square-icon" @click="searchFiles()"></svg-icon> |
90 | 81 |
</button> |
... | ... | @@ -95,13 +86,10 @@ |
95 | 86 |
</div> |
96 | 87 |
</div> |
97 | 88 |
<div class="count-zone mb10"> |
98 |
- <p> |
|
99 |
- 총 |
|
100 |
- <span v-if="search.totalRows != 0">{{ search.totalRows }}</span> |
|
89 |
+ <p> 총 <span v-if="search.totalRows != 0">{{ search.totalRows }}</span> |
|
101 | 90 |
<span v-else>0</span>건 중 <span>{{ selectedFiles.length }}</span>건 선택 |
102 | 91 |
</p> |
103 |
- <p> |
|
104 |
- 현재경로 : <span>{{ connection.path }}</span> |
|
92 |
+ <p> 현재경로 : <span>{{ connection.path }}</span> |
|
105 | 93 |
</p> |
106 | 94 |
</div> |
107 | 95 |
<div class="content-zone" style="overflow-y: auto"> |
... | ... | @@ -122,7 +110,7 @@ |
122 | 110 |
<col style="width: 10%" /> |
123 | 111 |
<col style="width: 15%" /> |
124 | 112 |
</colgroup> |
125 |
- <thead style="position: relative; z-index: 100;"> |
|
113 |
+ <thead> |
|
126 | 114 |
<tr> |
127 | 115 |
<th v-if="type != 'modal'"> |
128 | 116 |
<input type="checkbox" v-if="type != 'modal'" @click="filesCheckAll" v-model="checkAll" /> |
... | ... | @@ -137,13 +125,12 @@ |
137 | 125 |
<tbody> |
138 | 126 |
<tr v-for="(file, index) in fileList" :key="index" @click="selectFileList(file)"> |
139 | 127 |
<td v-if="type != 'modal'"> |
140 |
- <input type="checkbox" v-if="file.text != '상위폴더로 이동'" @click.stop="" v-model="selectedFiles" |
|
141 |
- :value="{ |
|
142 |
- folder: file.folder, |
|
143 |
- path: file.path, |
|
144 |
- fileName: file.text, |
|
145 |
- extension: file.extension, |
|
146 |
- }" name="files" /> |
|
128 |
+ <input type="checkbox" v-if="file.text != '상위폴더로 이동'" @click.stop="" v-model="selectedFiles" :value="{ |
|
129 |
+ folder: file.folder, |
|
130 |
+ path: file.path, |
|
131 |
+ fileName: file.text, |
|
132 |
+ extension: file.extension, |
|
133 |
+ }" name="files" /> |
|
147 | 134 |
</td> |
148 | 135 |
<td> |
149 | 136 |
<div class="text-lf"> |
... | ... | @@ -186,9 +173,7 @@ |
186 | 173 |
</td> |
187 | 174 |
<td>{{ file.extension }}</td> |
188 | 175 |
<td>{{ file.lastUpdate }}</td> |
189 |
- <td v-if="file.size != 0"> |
|
190 |
- {{ $filters.bytesToSize(file.size) }} |
|
191 |
- </td> |
|
176 |
+ <td v-if="file.size != 0"> {{ $filters.bytesToSize(file.size) }} </td> |
|
192 | 177 |
<td v-else></td> |
193 | 178 |
<td v-if="type != 'modal'"> |
194 | 179 |
<div v-if="!file.folder"> |
... | ... | @@ -216,18 +201,14 @@ |
216 | 201 |
</div> |
217 | 202 |
</div> |
218 | 203 |
<div class="flex justify-end"> |
219 |
- <button class="blue-btn small-btn" v-if="type != 'modal'" @click="setModal('typeSelected', 'small')"> |
|
220 |
- 업로드 |
|
221 |
- </button> |
|
204 |
+ <button class="blue-btn small-btn" v-if="type != 'modal'" @click="setModal('typeSelected', 'small')"> 업로드 </button> |
|
222 | 205 |
</div> |
223 | 206 |
</div> |
224 | 207 |
</div> |
225 | 208 |
</div> |
226 | 209 |
</div> |
227 | 210 |
<!-- 폴더 목록 모달 --> |
228 |
- <TreeModal :modalOpen="treeModalOpen" :modalConnection="modalConnection" :modalNodes="modalNodes" |
|
229 |
- :selectType="selectModalType" @modalSelectFolder="modalSelectFolder" @closeTreeModal="closeTreeModal" |
|
230 |
- @modalSubmit="fileConfirm" /> |
|
211 |
+ <TreeModal :modalOpen="treeModalOpen" :modalConnection="modalConnection" :modalNodes="modalNodes" :selectType="selectModalType" @modalSelectFolder="modalSelectFolder" @closeTreeModal="closeTreeModal" @modalSubmit="fileConfirm" /> |
|
231 | 212 |
<!-- 데이터셋 미리보기 모달 --> |
232 | 213 |
<div v-show="previewModalOpen" class="modal-wrapper" :style="isLoading ? { cursor: 'wait' } : {}"> |
233 | 214 |
<div v-if="isLoading" class="loading-overlay"> |
... | ... | @@ -250,9 +231,7 @@ |
250 | 231 |
</FileDataRead> |
251 | 232 |
</div> |
252 | 233 |
<div class="modal-end flex justify-end"> |
253 |
- <button class="blue-btn small-btn" @click="previewModalClose()"> |
|
254 |
- 확인 |
|
255 |
- </button> |
|
234 |
+ <button class="blue-btn small-btn" @click="previewModalClose()"> 확인 </button> |
|
256 | 235 |
</div> |
257 | 236 |
</div> |
258 | 237 |
</div> |
... | ... | @@ -286,9 +265,7 @@ |
286 | 265 |
</div> |
287 | 266 |
</div> |
288 | 267 |
<div class="modal-end flex justify-between" style="flex-wrap: nowrap"> |
289 |
- <button class="gray-btn large-btn" @click="closeReNameModal()"> |
|
290 |
- 취소 |
|
291 |
- </button> |
|
268 |
+ <button class="gray-btn large-btn" @click="closeReNameModal()"> 취소 </button> |
|
292 | 269 |
<button class="blue-btn large-btn" @click="rename()">확인</button> |
293 | 270 |
</div> |
294 | 271 |
</div> |
... | ... | @@ -324,9 +301,7 @@ |
324 | 301 |
</div> |
325 | 302 |
<div class="modal-end flex justify-between" style="flex-wrap: nowrap"> |
326 | 303 |
<button class="blue-btn large-btn" @click="mkdir()">확인</button> |
327 |
- <button class="gray-btn large-btn" @click="closeMkdirModal()"> |
|
328 |
- 취소 |
|
329 |
- </button> |
|
304 |
+ <button class="gray-btn large-btn" @click="closeMkdirModal()"> 취소 </button> |
|
330 | 305 |
</div> |
331 | 306 |
</div> |
332 | 307 |
</div> |
... | ... | @@ -345,14 +320,10 @@ |
345 | 320 |
<div class="modal-content-monthly"> |
346 | 321 |
<div class="flex justify-center align-center mb10"> |
347 | 322 |
<div class="flex50 pl0"> |
348 |
- <button class="blue-border-btn large-btn" @click="selectEncoding('utf-8')"> |
|
349 |
- UTF-8 |
|
350 |
- </button> |
|
323 |
+ <button class="blue-border-btn large-btn" @click="selectEncoding('utf-8')"> UTF-8 </button> |
|
351 | 324 |
</div> |
352 | 325 |
<div class="flex50 pr0"> |
353 |
- <button class="blue-border-btn large-btn" @click="selectEncoding('euc-kr')"> |
|
354 |
- EUC-KR |
|
355 |
- </button> |
|
326 |
+ <button class="blue-border-btn large-btn" @click="selectEncoding('euc-kr')"> EUC-KR </button> |
|
356 | 327 |
</div> |
357 | 328 |
</div> |
358 | 329 |
</div> |
... | ... | @@ -377,26 +348,18 @@ |
377 | 348 |
<div class="modal-content-monthly" v-show="modalType === 'typeSelected'"> |
378 | 349 |
<div class="flex justify-center align-center mb10"> |
379 | 350 |
<div class="flex50 pl0"> |
380 |
- <button class="blue-border-btn large-btn" @click="setModal('file-modal', 'small')"> |
|
381 |
- 파일 |
|
382 |
- </button> |
|
351 |
+ <button class="blue-border-btn large-btn" @click="setModal('file-modal', 'small')"> 파일 </button> |
|
383 | 352 |
</div> |
384 | 353 |
<div class="flex50 pr0"> |
385 |
- <button class="blue-border-btn large-btn" @click="setModal('db-modal', 'middle')"> |
|
386 |
- DB |
|
387 |
- </button> |
|
354 |
+ <button class="blue-border-btn large-btn" @click="setModal('db-modal', 'middle')"> DB </button> |
|
388 | 355 |
</div> |
389 | 356 |
</div> |
390 | 357 |
<div class="flex justify-center align-center"> |
391 | 358 |
<div class="flex50 pl0"> |
392 |
- <button class="blue-border-btn large-btn" @click="setModal('api-modal', 'middle')"> |
|
393 |
- API |
|
394 |
- </button> |
|
359 |
+ <button class="blue-border-btn large-btn" @click="setModal('api-modal', 'middle')"> API </button> |
|
395 | 360 |
</div> |
396 | 361 |
<div class="flex50 pr0"> |
397 |
- <button class="blue-border-btn large-btn" @click="setModal('ehojo-modal', 'middle')"> |
|
398 |
- 차세대 API |
|
399 |
- </button> |
|
362 |
+ <button class="blue-border-btn large-btn" @click="setModal('ehojo-modal', 'middle')"> 차세대 API </button> |
|
400 | 363 |
</div> |
401 | 364 |
</div> |
402 | 365 |
</div> |
... | ... | @@ -430,27 +393,18 @@ |
430 | 393 |
</table> |
431 | 394 |
<div class="modal-end flex justify-between" style="flex-wrap: nowrap"> |
432 | 395 |
<button class="blue-btn large-btn" @click="upload()">확인</button> |
433 |
- <button class="gray-btn large-btn" @click="closeModal()"> |
|
434 |
- 취소 |
|
435 |
- </button> |
|
396 |
+ <button class="gray-btn large-btn" @click="closeModal()"> 취소 </button> |
|
436 | 397 |
</div> |
437 | 398 |
</div> |
438 | 399 |
</div> |
439 | 400 |
</template> |
440 | 401 |
<NodeSetupModalDA v-if="isSetUpOpen" :jobItmType="isSetUpType" @onSave="fnUpdateSetup" @onClose="closeModal" /> |
441 | 402 |
<!-- 차세대 API (ehojo-modal) --> |
442 |
- <EhojoConnection v-if="modalType == 'ehojo-modal'" openPopup="true" :jobItem="selectNode" |
|
443 |
- @fnCloseModal="closeModal" @fnSaveSetup="fnUpdateSetup" /> |
|
403 |
+ <EhojoConnection v-if="modalType == 'ehojo-modal'" openPopup="true" :jobItem="selectNode" @fnCloseModal="closeModal" @fnSaveSetup="fnUpdateSetup" /> |
|
444 | 404 |
<div class="modal-end flex justify-end" v-show="modalType == 'test-modal'" style="flex-wrap: nowrap"> |
445 |
- <button class="gray-border-btn small-btn" @click="closeModal"> |
|
446 |
- 이전 |
|
447 |
- </button> |
|
448 |
- <button class="blue-border-btn small-btn" @click="closeModal"> |
|
449 |
- 확인 |
|
450 |
- </button> |
|
451 |
- <button class="darkg-border-btn small-btn" @click="closeModal"> |
|
452 |
- 닫기 |
|
453 |
- </button> |
|
405 |
+ <button class="gray-border-btn small-btn" @click="closeModal"> 이전 </button> |
|
406 |
+ <button class="blue-border-btn small-btn" @click="closeModal"> 확인 </button> |
|
407 |
+ <button class="darkg-border-btn small-btn" @click="closeModal"> 닫기 </button> |
|
454 | 408 |
</div> |
455 | 409 |
</div> |
456 | 410 |
</div> |
... | ... | @@ -582,7 +536,9 @@ |
582 | 536 |
isUpdating: false, // 무한 루프 방지를 위한 플래그 |
583 | 537 |
|
584 | 538 |
isSetUpOpen: false, |
585 |
- isSetUpType: null |
|
539 |
+ isSetUpType: null, |
|
540 |
+ |
|
541 |
+ isLoading: true, |
|
586 | 542 |
}; |
587 | 543 |
}, |
588 | 544 |
methods: { |
... | ... | @@ -803,7 +759,6 @@ |
803 | 759 |
} |
804 | 760 |
}, |
805 | 761 |
uniquePaths() { |
806 |
- // this.selectedHost = null; |
|
807 | 762 |
this.selectedHost = this.selectedHostData; |
808 | 763 |
this.selectedHostCode = this.selectedHostData.host_code; |
809 | 764 |
this.connectionConfirm(); |
... | ... | @@ -1519,11 +1474,11 @@ |
1519 | 1474 |
type: "text/csv;charset=euc-kr", |
1520 | 1475 |
}); |
1521 | 1476 |
} else { |
1522 |
- |
|
1477 |
+ |
|
1523 | 1478 |
} |
1524 | 1479 |
|
1525 | 1480 |
if (!blob) { |
1526 |
- |
|
1481 |
+ |
|
1527 | 1482 |
} |
1528 | 1483 |
|
1529 | 1484 |
// 파일 이름 설정 |
--- client/views/pages/user/myPage.vue
+++ client/views/pages/user/myPage.vue
... | ... | @@ -59,15 +59,16 @@ |
59 | 59 |
changePwConfirm: null, |
60 | 60 |
}; |
61 | 61 |
}, |
62 |
+ mounted() { |
|
63 |
+ this.getUserData(); |
|
64 |
+ }, |
|
62 | 65 |
methods: { |
63 | 66 |
getUserData: function () { |
64 | 67 |
var vm = this; |
65 | 68 |
axios({ |
66 | 69 |
url: "/mypage/" + vm.userId, |
67 | 70 |
method: "get", |
68 |
- headers: { |
|
69 |
- "Content-Type": "application/json; charset=UTF-8", |
|
70 |
- }, |
|
71 |
+ headers: { "Content-Type": "application/json; charset=UTF-8" }, |
|
71 | 72 |
}) |
72 | 73 |
.then(function (response) { |
73 | 74 |
vm.userEditData = response.data.resultData.selectUserData; |
... | ... | @@ -108,6 +109,17 @@ |
108 | 109 |
.put("/mypage", vm.userEditData) |
109 | 110 |
.then(function (response) { |
110 | 111 |
vm.$showAlert("내정보 수정", "내정보가 수정되었습니다."); |
112 |
+ |
|
113 |
+ console.log("before: ", vm.$store.state.loginUser); |
|
114 |
+ let loginUser = vm.$store.state.loginUser; |
|
115 |
+ loginUser.user_name = vm.userEditData.userNm; |
|
116 |
+ loginUser.user_email = vm.userEditData.userEmail; |
|
117 |
+ |
|
118 |
+ // 변경된 내용 스토어에 반영 |
|
119 |
+ vm.$store.commit("setLoginUser", loginUser); |
|
120 |
+ |
|
121 |
+ console.log("after: ", vm.$store.state.loginUser); |
|
122 |
+ |
|
111 | 123 |
vm.getUserData(); |
112 | 124 |
}) |
113 | 125 |
.catch(function (error) { |
... | ... | @@ -117,28 +129,6 @@ |
117 | 129 |
); |
118 | 130 |
}); |
119 | 131 |
}, |
120 |
- updateUserPassword: function () { |
|
121 |
- var vm = this; |
|
122 |
- |
|
123 |
- vm.userEditData.userPassword = vm.changePw; |
|
124 |
- axios |
|
125 |
- .put("/mypage/password", vm.userEditData) |
|
126 |
- .then(function (response) { |
|
127 |
- vm.$showAlert("비밀번호 수정", "비밀번호가 수정되었습니다."); |
|
128 |
- vm.userEditData.userPassword = null; |
|
129 |
- vm.changePw = null; |
|
130 |
- vm.changePwConfirm = null; |
|
131 |
- }) |
|
132 |
- .catch(function (error) { |
|
133 |
- this.$showAlert( |
|
134 |
- "에러 발생", |
|
135 |
- "에러가 발생했습니다. 관리자에게 문의해 주세요." |
|
136 |
- ); |
|
137 |
- }); |
|
138 |
- }, |
|
139 |
- }, |
|
140 |
- mounted() { |
|
141 |
- this.getUserData(); |
|
142 | 132 |
}, |
143 | 133 |
}; |
144 | 134 |
</script> |
--- client/views/pages/user/myPagePwd.vue
+++ client/views/pages/user/myPagePwd.vue
... | ... | @@ -94,13 +94,13 @@ |
94 | 94 |
document.getElementById("changePassword").focus(); |
95 | 95 |
return; |
96 | 96 |
} |
97 |
- if (vm.$isEmpty(vm.changePwConfirm)) { |
|
98 |
- vm.$showAlert("비밀번호 수정", "새 비밀번호 확인을 해주세요."); |
|
97 |
+ if (!vm.$pwCheck(vm.changePw)) { |
|
98 |
+ vm.$showAlert("비밀번호 수정", "새 비밀번호 형식이 올바르지 않습니다.<br/>영어 대문자와 특수 문자를 최소 1개 이상 사용한, 최소 8자 최대 16자 사이의 암호 사용해주세요."); |
|
99 |
+ document.getElementById("changePassword").focus(); |
|
99 | 100 |
return; |
100 | 101 |
} |
101 |
- if (!vm.$pwCheck(vm.changePw)) { |
|
102 |
- vm.$showAlert("비밀번호 수정", "새 비밀번호 형식이 올바르지 않습니다."); |
|
103 |
- document.getElementById("changePassword").focus(); |
|
102 |
+ if (vm.$isEmpty(vm.changePwConfirm)) { |
|
103 |
+ vm.$showAlert("비밀번호 수정", "새 비밀번호 확인을 해주세요."); |
|
104 | 104 |
return; |
105 | 105 |
} |
106 | 106 |
if (vm.changePw !== vm.changePwConfirm) { |
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?