
--- client/resources/css/admin.css
+++ client/resources/css/admin.css
... | ... | @@ -1,3 +1,123 @@ |
1 |
+/* 레이아웃 */ |
|
2 |
+/* 헤더 */ |
|
3 |
+header { |
|
4 |
+ max-width: 100%; |
|
5 |
+ grid-area: header; |
|
6 |
+ background: #f9f9f9; |
|
7 |
+ padding: 20px 30px; |
|
8 |
+ box-shadow: 0px 3px 10px #eee; |
|
9 |
+} |
|
10 |
+ |
|
11 |
+header p.admin-bar { |
|
12 |
+ padding: 0 15px; |
|
13 |
+ font-size: 1.5rem; |
|
14 |
+ font-weight: 500; |
|
15 |
+} |
|
16 |
+ |
|
17 |
+.logout-bnt{ |
|
18 |
+ background: transparent; |
|
19 |
+ border: none; |
|
20 |
+ border-left: 2px solid #333; |
|
21 |
+ padding: 0 15px; |
|
22 |
+ font-size: 1.5rem; |
|
23 |
+ font-weight: 500; |
|
24 |
+ font-family: "Pretendard-Regular"; |
|
25 |
+} |
|
26 |
+/* 메뉴 */ |
|
27 |
+.amain-menu { |
|
28 |
+ height: 100%; |
|
29 |
+ grid-area: nav; |
|
30 |
+ background-color: #3f87f7; |
|
31 |
+ overflow-y: auto; |
|
32 |
+ box-shadow: 3px 0 10px #eee; |
|
33 |
+ z-index: 10000; |
|
34 |
+ font-family: "SBaggroM"; |
|
35 |
+} |
|
36 |
+ |
|
37 |
+.amain-menu::-webkit-scrollbar { |
|
38 |
+ width: 10px; |
|
39 |
+} |
|
40 |
+ |
|
41 |
+.amain-menu::-webkit-scrollbar-thumb { |
|
42 |
+ background-color: #2f3542; |
|
43 |
+ border-radius: 10px; |
|
44 |
+ background-clip: padding-box; |
|
45 |
+ border: 2px solid transparent; |
|
46 |
+} |
|
47 |
+ |
|
48 |
+.amain-menu::-webkit-scrollbar-track { |
|
49 |
+ background-color: grey; |
|
50 |
+ border-radius: 10px; |
|
51 |
+ box-shadow: inset 0px 0px 5px white; |
|
52 |
+} |
|
53 |
+.logo-wrap .adm-logo{ |
|
54 |
+ padding: 30px; |
|
55 |
+} |
|
56 |
+.logo-wrap .adm-logo a { |
|
57 |
+ display: block; |
|
58 |
+ font-size: 3rem; |
|
59 |
+ font-weight: 900; |
|
60 |
+ color: #fff; |
|
61 |
+ line-height: 160%; |
|
62 |
+ font-family: "Pretendard-Regular"; |
|
63 |
+} |
|
64 |
+.logo-wrap .adm-logo i{ |
|
65 |
+ font-size: 3rem; |
|
66 |
+ color: #fff; |
|
67 |
+ display: none; |
|
68 |
+} |
|
69 |
+.menu-text { |
|
70 |
+ padding: 0 10px; |
|
71 |
+} |
|
72 |
+ |
|
73 |
+.amain-menu>ul { |
|
74 |
+ padding: 30px 0 30px 30px; |
|
75 |
+} |
|
76 |
+ |
|
77 |
+.amain-menu>ul>li>a, |
|
78 |
+.aSub-menu>li>a { |
|
79 |
+ display: block; |
|
80 |
+ color: #fff; |
|
81 |
+ padding: 10px 15px; |
|
82 |
+} |
|
83 |
+ |
|
84 |
+.amain-menu>ul>li>a { |
|
85 |
+ font-size: 1.6rem; |
|
86 |
+ display: flex; |
|
87 |
+ justify-content: space-between; |
|
88 |
+ padding: 15px 40px 15px 15px; |
|
89 |
+} |
|
90 |
+ |
|
91 |
+.amain-menu>ul>li.active { |
|
92 |
+ background: #fff; |
|
93 |
+ border-radius: 10px 0 0 10px; |
|
94 |
+} |
|
95 |
+ |
|
96 |
+.amain-menu>ul>li.active>a { |
|
97 |
+ color: #3f87f7; |
|
98 |
+} |
|
99 |
+ |
|
100 |
+.amain-menu>ul>li.active .aSub-menu a { |
|
101 |
+ color: #aaa; |
|
102 |
+} |
|
103 |
+ |
|
104 |
+.aSub-menu { |
|
105 |
+ overflow: hidden; |
|
106 |
+ transition: all 0.5s ease-in-out; |
|
107 |
+} |
|
108 |
+ |
|
109 |
+.aSub-menu>li>a { |
|
110 |
+ font-size: 1.3rem; |
|
111 |
+ padding: 10px 50px; |
|
112 |
+ color: #fff; |
|
113 |
+} |
|
114 |
+ |
|
115 |
+.amain-menu>ul>li.active .aSub-menu a.router-link-active { |
|
116 |
+ color: #333; |
|
117 |
+} |
|
118 |
+ |
|
119 |
+/* 페이지 */ |
|
120 |
+ |
|
1 | 121 |
.top-bar { |
2 | 122 |
margin-bottom: 30px; |
3 | 123 |
} |
... | ... | @@ -747,4 +867,83 @@ |
747 | 867 |
} |
748 | 868 |
.file-list-zone{ |
749 | 869 |
text-align: left; |
750 |
-}(No newline at end of file) |
|
870 |
+} |
|
871 |
+ |
|
872 |
+ |
|
873 |
+/* 관리자 반응형 */ |
|
874 |
+.layout-wrap-small,.layout-wrap-medium{ |
|
875 |
+ width: 100%; |
|
876 |
+ height: 100%; |
|
877 |
+} |
|
878 |
+ |
|
879 |
+.layout-wrap-small .login-box{ |
|
880 |
+ width: 50%; |
|
881 |
+} |
|
882 |
+ |
|
883 |
+.layout-wrap-small .login-box .logo{ |
|
884 |
+ margin-bottom: 30px; |
|
885 |
+} |
|
886 |
+ |
|
887 |
+.layout-wrap-small .login-box .logo h1{ |
|
888 |
+ font-size: 2rem; |
|
889 |
+} |
|
890 |
+ |
|
891 |
+.layout-wrap-small .login-box .logo p{ |
|
892 |
+ font-size: 1.6rem; |
|
893 |
+} |
|
894 |
+ |
|
895 |
+.layout-wrap-small .logo-wrap .adm-logo i{ |
|
896 |
+ display: block; |
|
897 |
+} |
|
898 |
+ |
|
899 |
+.layout-wrap-small .amain-menu{ |
|
900 |
+ height: auto; |
|
901 |
+} |
|
902 |
+.layout-wrap-small .amain-menu>ul{ |
|
903 |
+ max-height: 0; |
|
904 |
+ overflow: hidden; |
|
905 |
+ padding: 0px 0 0px 30px; |
|
906 |
+ transition:all 0.3s ease-in-out; |
|
907 |
+} |
|
908 |
+ |
|
909 |
+.layout-wrap-small .amain-menu>ul.active{ |
|
910 |
+ max-height: fit-content; |
|
911 |
+ overflow: visible; |
|
912 |
+ padding: 30px 0 30px 30px |
|
913 |
+} |
|
914 |
+.layout-wrap-small .content-box{ |
|
915 |
+ padding: 30px; |
|
916 |
+} |
|
917 |
+.layout-wrap-small .content-wrap{ |
|
918 |
+ grid-template-columns: 1fr; |
|
919 |
+} |
|
920 |
+ |
|
921 |
+.layout-wrap-small .dashboard .combine{ |
|
922 |
+ grid-column: auto; |
|
923 |
+} |
|
924 |
+.layout-wrap-small .menu-grid{ |
|
925 |
+ grid-template-columns: repeat(2,1fr); |
|
926 |
+} |
|
927 |
+ |
|
928 |
+ |
|
929 |
+.layout-wrap-small .news-list{ |
|
930 |
+ grid-template-columns: repeat(3,1fr); |
|
931 |
+} |
|
932 |
+ |
|
933 |
+.layout-wrap-small .top-bar > div{ |
|
934 |
+ flex-direction:column-reverse; |
|
935 |
+} |
|
936 |
+ |
|
937 |
+.layout-wrap-small .top-bar .category-bar{ |
|
938 |
+ flex-direction: initial; |
|
939 |
+ padding: 30px 0; |
|
940 |
+} |
|
941 |
+ |
|
942 |
+.layout-wrap-small .user-grid, |
|
943 |
+.layout-wrap-small .company-grid{ |
|
944 |
+ grid-template-columns:1fr |
|
945 |
+} |
|
946 |
+ |
|
947 |
+.layout-wrap-small .modal-container{ |
|
948 |
+ width: 65%; |
|
949 |
+} |
--- client/resources/css/common.css
+++ client/resources/css/common.css
... | ... | @@ -381,6 +381,12 @@ |
381 | 381 |
max-width: 896px; |
382 | 382 |
} |
383 | 383 |
|
384 |
+.modal-content-monthly { |
|
385 |
+ width: 100%; |
|
386 |
+ overflow-y: auto; |
|
387 |
+ padding: 30px 0; |
|
388 |
+} |
|
389 |
+ |
|
384 | 390 |
.mail-modal{ |
385 | 391 |
width: 50%; |
386 | 392 |
max-width: 896px; |
... | ... | @@ -388,12 +394,14 @@ |
388 | 394 |
|
389 | 395 |
.admin-alert{ |
390 | 396 |
width: 50%; |
391 |
- max-width: 500px; |
|
397 |
+ max-width: 450px; |
|
392 | 398 |
} |
393 |
- |
|
399 |
+.alert-modal{ |
|
400 |
+ padding: 15px 0; |
|
401 |
+} |
|
394 | 402 |
.alert-modal > p{ |
395 | 403 |
text-align: center; |
396 |
- font-size: 2rem; |
|
404 |
+ font-size: 1.7rem; |
|
397 | 405 |
} |
398 | 406 |
|
399 | 407 |
.modal-title { |
... | ... | @@ -402,11 +410,6 @@ |
402 | 410 |
padding: 10px 0; |
403 | 411 |
} |
404 | 412 |
|
405 |
-.modal-content-monthly { |
|
406 |
- width: 100%; |
|
407 |
- overflow-y: auto; |
|
408 |
- padding: 30px 0; |
|
409 |
-} |
|
410 | 413 |
|
411 | 414 |
.modal-end { |
412 | 415 |
width: 100%; |
--- client/views/layout/AdminHeader.vue
+++ client/views/layout/AdminHeader.vue
... | ... | @@ -47,29 +47,3 @@ |
47 | 47 |
}, |
48 | 48 |
}; |
49 | 49 |
</script> |
50 |
- |
|
51 |
-<style scoped> |
|
52 |
-header { |
|
53 |
- max-width: 100%; |
|
54 |
- grid-area: header; |
|
55 |
- background: #f9f9f9; |
|
56 |
- padding: 20px 30px; |
|
57 |
- box-shadow: 0px 3px 10px #eee; |
|
58 |
-} |
|
59 |
- |
|
60 |
-header p.admin-bar { |
|
61 |
- padding: 0 15px; |
|
62 |
- font-size: 1.5rem; |
|
63 |
- font-weight: 500; |
|
64 |
-} |
|
65 |
- |
|
66 |
-.logout-bnt{ |
|
67 |
- background: transparent; |
|
68 |
- border: none; |
|
69 |
- border-left: 2px solid #333; |
|
70 |
- padding: 0 15px; |
|
71 |
- font-size: 1.5rem; |
|
72 |
- font-weight: 500; |
|
73 |
- font-family: "Pretendard-Regular"; |
|
74 |
-} |
|
75 |
-</style> |
--- client/views/layout/AdminMenu.vue
+++ client/views/layout/AdminMenu.vue
... | ... | @@ -1,16 +1,20 @@ |
1 | 1 |
<template> |
2 |
- <nav class="main-menu"> |
|
2 |
+ <nav class="amain-menu"> |
|
3 | 3 |
<div class="logo-wrap"> |
4 |
- <h1 class="adm-logo"><router-link to="/adm.page">AI 디지털교과서<br />통합지원센터</router-link></h1> |
|
4 |
+ <div class="flex adm-logo"> |
|
5 |
+ <h1><router-link to="/adm.page">AI 디지털교과서<br />통합지원센터</router-link></h1> |
|
6 |
+ <i class="fa-solid fa-bars" @click="mobileToggle"></i> |
|
7 |
+ </div> |
|
5 | 8 |
</div> |
6 |
- <ul> |
|
9 |
+ |
|
10 |
+ <ul :class="mobileClass"> |
|
7 | 11 |
<li v-for="(menu, index) in menuList" :key="index" @click="toggleMenu(menu)" :class="{ 'active': menu.isActive }"> |
8 | 12 |
<router-link :to="menu.path"> |
9 | 13 |
<p><span v-html="menu.icon"></span><span class="menu-text">{{ menu.pathName }}</span></p> |
10 | 14 |
<p v-html="menu.icon2"></p> |
11 | 15 |
</router-link> |
12 | 16 |
<ul v-if="menu.subMenu" class="aSub-menu" :style="{ 'max-height': menu.isOpen ? '360px' : '0' }"> |
13 |
- <li v-for="(subMenu, subIndex) in menu.subMenu" :key="subIndex" @click=" toggleSubMenu($event,menu, subMenu)" > |
|
17 |
+ <li v-for="(subMenu, subIndex) in menu.subMenu" :key="subIndex" @click=" toggleSubMenu($event, menu, subMenu)"> |
|
14 | 18 |
<router-link :to="subMenu.path">{{ subMenu.pathName }}</router-link> |
15 | 19 |
</li> |
16 | 20 |
</ul> |
... | ... | @@ -50,6 +54,7 @@ |
50 | 54 |
{ path: "/adm/userSelectList.page", pathName: "사용자관리", icon: '<i class="fa-regular fa-circle-user"></i>', isActive: false }, |
51 | 55 |
{ path: "/adm/subscribe.page", pathName: "구독서비스", icon: '<i class="fa-regular fa-bell"></i>', isActive: false }, |
52 | 56 |
], |
57 |
+ mobileClass: '', |
|
53 | 58 |
}; |
54 | 59 |
}, |
55 | 60 |
methods: { |
... | ... | @@ -58,20 +63,18 @@ |
58 | 63 |
this.menuList.forEach((item) => { |
59 | 64 |
if (item !== menu) { |
60 | 65 |
item.isActive = false; |
61 |
- if (item.subMenu) { |
|
62 |
- menu.isOpen = !menu.isOpen; |
|
63 |
- if (menu.isOpen) { |
|
64 |
- menu.icon2 = "<i class='fa-solid fa-angle-down'></i>"; |
|
65 |
- } else { |
|
66 |
- menu.icon2 = "<i class='fa-solid fa-angle-right'></i>"; |
|
67 |
- } |
|
68 |
- // item.subMenu.forEach((sub) => { |
|
69 |
- // sub.isActive = false |
|
70 |
- // }) |
|
71 |
- } |
|
72 | 66 |
} |
73 | 67 |
}); |
68 |
+ |
|
74 | 69 |
menu.isActive = true; |
70 |
+ if (menu.subMenu) { |
|
71 |
+ menu.isOpen = !menu.isOpen; // 클릭한 메뉴의 서브 메뉴 isOpen을 토글 |
|
72 |
+ if (menu.isOpen) { |
|
73 |
+ menu.icon2 = "<i class='fa-solid fa-angle-down'></i>"; // isOpen이 true인 경우 아이콘 변경 |
|
74 |
+ } else { |
|
75 |
+ menu.icon2 = "<i class='fa-solid fa-angle-right'></i>"; // isOpen이 false인 경우 아이콘 변경 |
|
76 |
+ } |
|
77 |
+ } |
|
75 | 78 |
}, |
76 | 79 |
toggleSubMenu(event, menu, subMenu) { |
77 | 80 |
event.stopPropagation(); |
... | ... | @@ -96,6 +99,13 @@ |
96 | 99 |
} |
97 | 100 |
} |
98 | 101 |
}); |
102 |
+ }, |
|
103 |
+ mobileToggle() { |
|
104 |
+ if (this.mobileClass === '') { |
|
105 |
+ this.mobileClass = 'active'; |
|
106 |
+ } else { |
|
107 |
+ this.mobileClass = ''; |
|
108 |
+ } |
|
99 | 109 |
}, |
100 | 110 |
// url에 따른 메뉴 |
101 | 111 |
// updateActiveMenu(currentPath) { |
... | ... | @@ -127,92 +137,3 @@ |
127 | 137 |
}, |
128 | 138 |
}; |
129 | 139 |
</script> |
130 |
- |
|
131 |
-<style scoped> |
|
132 |
-.main-menu { |
|
133 |
- height: 100%; |
|
134 |
- grid-area: nav; |
|
135 |
- background-color: #3f87f7; |
|
136 |
- overflow-y: auto; |
|
137 |
- box-shadow: 3px 0 10px #eee; |
|
138 |
- z-index: 10000; |
|
139 |
- font-family: "SBaggroM"; |
|
140 |
-} |
|
141 |
- |
|
142 |
-.main-menu::-webkit-scrollbar { |
|
143 |
- width: 10px; |
|
144 |
-} |
|
145 |
- |
|
146 |
-.main-menu::-webkit-scrollbar-thumb { |
|
147 |
- background-color: #2f3542; |
|
148 |
- border-radius: 10px; |
|
149 |
- background-clip: padding-box; |
|
150 |
- border: 2px solid transparent; |
|
151 |
-} |
|
152 |
- |
|
153 |
-.main-menu::-webkit-scrollbar-track { |
|
154 |
- background-color: grey; |
|
155 |
- border-radius: 10px; |
|
156 |
- box-shadow: inset 0px 0px 5px white; |
|
157 |
-} |
|
158 |
- |
|
159 |
-.logo-wrap h1.adm-logo a { |
|
160 |
- display: block; |
|
161 |
- font-size: 3rem; |
|
162 |
- font-weight: 900; |
|
163 |
- color: #fff; |
|
164 |
- padding: 30px; |
|
165 |
- line-height: 160%; |
|
166 |
- font-family: "Pretendard-Regular"; |
|
167 |
-} |
|
168 |
- |
|
169 |
-.menu-text { |
|
170 |
- padding: 0 10px; |
|
171 |
-} |
|
172 |
- |
|
173 |
-.main-menu>ul { |
|
174 |
- padding: 30px 0 30px 30px; |
|
175 |
-} |
|
176 |
- |
|
177 |
-.main-menu>ul>li>a, |
|
178 |
-.aSub-menu>li>a { |
|
179 |
- display: block; |
|
180 |
- color: #fff; |
|
181 |
- padding: 10px 15px; |
|
182 |
-} |
|
183 |
- |
|
184 |
-.main-menu>ul>li>a { |
|
185 |
- font-size: 1.6rem; |
|
186 |
- display: flex; |
|
187 |
- justify-content: space-between; |
|
188 |
- padding: 15px 40px 15px 15px; |
|
189 |
-} |
|
190 |
- |
|
191 |
-.main-menu>ul>li.active { |
|
192 |
- background: #fff; |
|
193 |
- border-radius: 10px 0 0 10px; |
|
194 |
-} |
|
195 |
- |
|
196 |
-.main-menu>ul>li.active>a { |
|
197 |
- color: #3f87f7; |
|
198 |
-} |
|
199 |
- |
|
200 |
-.main-menu>ul>li.active .aSub-menu a { |
|
201 |
- color: #aaa; |
|
202 |
-} |
|
203 |
- |
|
204 |
-.aSub-menu { |
|
205 |
- overflow: hidden; |
|
206 |
- transition: all 0.5s ease-in-out; |
|
207 |
-} |
|
208 |
- |
|
209 |
-.aSub-menu>li>a { |
|
210 |
- font-size: 1.3rem; |
|
211 |
- padding: 10px 50px; |
|
212 |
- color: #fff; |
|
213 |
-} |
|
214 |
- |
|
215 |
-.main-menu>ul>li.active .aSub-menu a.router-link-active { |
|
216 |
- color: #333; |
|
217 |
-} |
|
218 |
-</style> |
--- client/views/pages/App.vue
+++ client/views/pages/App.vue
... | ... | @@ -17,7 +17,7 @@ |
17 | 17 |
<Footer></Footer> |
18 | 18 |
</div> |
19 | 19 |
<div v-if="isModalOpen" class="modal-wrapper"> |
20 |
- <div class="modal-container"> |
|
20 |
+ <div class="modal-container admin-alert"> |
|
21 | 21 |
<p class="modal-text"> |
22 | 22 |
해당글은 정회원에게 공개된 게시물 입니다.<br /> |
23 | 23 |
(준회원은 가입 승인 이후 열람 가능하며,<br /> |
... | ... | @@ -295,4 +295,6 @@ |
295 | 295 |
justify-content: center; |
296 | 296 |
align-items: center; |
297 | 297 |
} |
298 |
+ |
|
299 |
+ |
|
298 | 300 |
</style> |
--- client/views/pages/user/networking/Matching.vue
+++ client/views/pages/user/networking/Matching.vue
... | ... | @@ -103,6 +103,25 @@ |
103 | 103 |
</div> |
104 | 104 |
</section> |
105 | 105 |
</div> |
106 |
+ <div v-show="isModalOpen" class="modal-wrapper"> |
|
107 |
+ <div class="modal-container admin-alert"> |
|
108 |
+ <div v-show="modalType == 'duplication'" class="modal-content-monthly alert-modal"> |
|
109 |
+ <p>비회원은 해당 기능을 이용하실 수 없습니다.</p> |
|
110 |
+ </div> |
|
111 |
+ <div v-show="modalType == 'alert'" class="modal-content-monthly alert-modal"> |
|
112 |
+ <p>가입 승인 중 입니다.<br />해당 기능을 이용하실 수 없습니다.</p> |
|
113 |
+ </div> |
|
114 |
+ <div v-show="modalType == 'save'" class="modal-content-monthly alert-modal"> |
|
115 |
+ <p>일반 회원은 해당 기능을 이용하실 수 없습니다.</p> |
|
116 |
+ </div> |
|
117 |
+ <div v-show="modalType == 'me'" class="modal-content-monthly alert-modal"> |
|
118 |
+ <p>자신의 기업에는 PICK을 할 수 없습니다.</p> |
|
119 |
+ </div> |
|
120 |
+ <div class="modal-end"> |
|
121 |
+ <button class="blue-btn small-btn" @click="closeModal">확인</button> |
|
122 |
+ </div> |
|
123 |
+ </div> |
|
124 |
+ </div> |
|
106 | 125 |
</template> |
107 | 126 |
|
108 | 127 |
<script> |
... | ... | @@ -133,9 +152,18 @@ |
133 | 152 |
store: useStore(), |
134 | 153 |
// 필터링을 위한 키워드 |
135 | 154 |
keywords: [], |
155 |
+ isModalOpen:false, |
|
156 |
+ modalType: null |
|
136 | 157 |
} |
137 | 158 |
}, |
138 | 159 |
methods: { |
160 |
+ openModal: function () { |
|
161 |
+ this.isModalOpen = true; |
|
162 |
+ }, |
|
163 |
+ closeModal: function () { |
|
164 |
+ this.modalType = null; |
|
165 |
+ this.isModalOpen = false; |
|
166 |
+ }, |
|
139 | 167 |
companySelectList: function () { |
140 | 168 |
const vm = this; |
141 | 169 |
console.log("vm.selectedKeywords",vm.companyListSearch.selectedKeywords) |
... | ... | @@ -170,18 +198,18 @@ |
170 | 198 |
pickModal: function (item) { |
171 | 199 |
const isUserLogin = this.store.state.loginUser; |
172 | 200 |
if (isUserLogin === null) { |
173 |
- alert("비회원은 해당 기능을 이용하실 수 없습니다.") |
|
201 |
+ this.modalType = 'duplication'; |
|
174 | 202 |
} else if (isUserLogin.create_account_approval === 'N' && isUserLogin.user_auth === 'company') { |
175 |
- alert("가입 승인 중 입니다. 해당 기능을 이용하실 수 없습니다.") |
|
203 |
+ this.modalType = 'alert'; |
|
176 | 204 |
} else if (isUserLogin.user_auth === 'common') { |
177 |
- alert("일반 회원은 해당 기능을 이용하실 수 없습니다.") |
|
205 |
+ this.modalType = 'save'; |
|
178 | 206 |
} else if (isUserLogin.create_account_approval === 'Y' && isUserLogin.user_auth === 'company') { |
179 | 207 |
if (this.userCompanyId != item.company_id) { |
180 | 208 |
if (confirm(item.company_nm + "에게 PICK 신청을 하시겠습니까?")) { |
181 | 209 |
this.pick(item) |
182 | 210 |
} |
183 | 211 |
} else { |
184 |
- alert("자신의 기업에는 PICK을 할 수 없습니다.") |
|
212 |
+ this.modalType = 'me'; |
|
185 | 213 |
} |
186 | 214 |
} |
187 | 215 |
}, |
... | ... | @@ -277,7 +305,12 @@ |
277 | 305 |
}, |
278 | 306 |
}, |
279 | 307 |
watch: { |
280 |
- |
|
308 |
+ "modalType": function (newValue, oldValue) { |
|
309 |
+ if (this.modalType != null) { |
|
310 |
+ console.log("modalType watch: ", newValue, oldValue); |
|
311 |
+ this.openModal(); |
|
312 |
+ } |
|
313 |
+ }, |
|
281 | 314 |
}, |
282 | 315 |
computed: { |
283 | 316 |
|
--- client/views/pages/user/networking/MatchingOne.vue
+++ client/views/pages/user/networking/MatchingOne.vue
... | ... | @@ -116,6 +116,26 @@ |
116 | 116 |
</div> |
117 | 117 |
|
118 | 118 |
</div> |
119 |
+ |
|
120 |
+ <div v-show="isModalOpen" class="modal-wrapper"> |
|
121 |
+ <div class="modal-container admin-alert"> |
|
122 |
+ <div v-show="modalType == 'duplication'" class="modal-content-monthly alert-modal"> |
|
123 |
+ <p>비회원은 해당 기능을 이용하실 수 없습니다.</p> |
|
124 |
+ </div> |
|
125 |
+ <div v-show="modalType == 'alert'" class="modal-content-monthly alert-modal"> |
|
126 |
+ <p>가입 승인 중 입니다.<br />해당 기능을 이용하실 수 없습니다.</p> |
|
127 |
+ </div> |
|
128 |
+ <div v-show="modalType == 'save'" class="modal-content-monthly alert-modal"> |
|
129 |
+ <p>일반 회원은 해당 기능을 이용하실 수 없습니다.</p> |
|
130 |
+ </div> |
|
131 |
+ <div v-show="modalType == 'me'" class="modal-content-monthly alert-modal"> |
|
132 |
+ <p>자신의 기업에는 PICK을 할 수 없습니다.</p> |
|
133 |
+ </div> |
|
134 |
+ <div class="modal-end"> |
|
135 |
+ <button class="blue-btn small-btn" @click="closeModal">확인</button> |
|
136 |
+ </div> |
|
137 |
+ </div> |
|
138 |
+ </div> |
|
119 | 139 |
</template> |
120 | 140 |
|
121 | 141 |
<script> |
... | ... | @@ -163,9 +183,18 @@ |
163 | 183 |
], |
164 | 184 |
route: useRoute(), |
165 | 185 |
store: useStore(), |
186 |
+ isModalOpen:false, |
|
187 |
+ modalType: null |
|
166 | 188 |
} |
167 | 189 |
}, |
168 | 190 |
methods: { |
191 |
+ openModal: function () { |
|
192 |
+ this.isModalOpen = true; |
|
193 |
+ }, |
|
194 |
+ closeModal: function () { |
|
195 |
+ this.modalType = null; |
|
196 |
+ this.isModalOpen = false; |
|
197 |
+ }, |
|
169 | 198 |
|
170 | 199 |
companySelectOne: function () { |
171 | 200 |
const vm = this; |
... | ... | @@ -282,22 +311,20 @@ |
282 | 311 |
const isUserLogin = this.store.state.loginUser; |
283 | 312 |
console.log(isUserLogin); |
284 | 313 |
if (isUserLogin === null) { |
285 |
- alert("비회원은 해당 기능을 이용하실 수 없습니다.") |
|
314 |
+ this.modalType = 'duplication'; |
|
286 | 315 |
} else if (isUserLogin.create_account_approval === 'N' && isUserLogin.user_auth === 'company') { |
287 |
- alert("가입 승인 중 입니다. 해당 기능을 이용하실 수 없습니다.") |
|
316 |
+ this.modalType = 'alert'; |
|
288 | 317 |
} else if (isUserLogin.user_auth === 'common') { |
289 |
- alert("일반 회원은 해당 기능을 이용하실 수 없습니다.") |
|
318 |
+ this.modalType = 'save'; |
|
290 | 319 |
} else if (isUserLogin.create_account_approval === 'Y' && isUserLogin.user_auth === 'company') { |
291 | 320 |
if (this.userCompanyId != this.company.company_id) { |
292 | 321 |
if (confirm(this.company.company_nm + "에 PICK 신청을 하시겠습니까?")) { |
293 | 322 |
this.pick() |
294 | 323 |
} |
295 | 324 |
} else { |
296 |
- alert("자신의 기업에는 PICK을 할 수 없습니다.") |
|
325 |
+ this.modalType = 'me'; |
|
297 | 326 |
} |
298 | 327 |
} |
299 |
- |
|
300 |
- |
|
301 | 328 |
|
302 | 329 |
}, |
303 | 330 |
|
... | ... | @@ -384,7 +411,13 @@ |
384 | 411 |
this.getViewer(nuwValue.company_info, 'viewer1'); |
385 | 412 |
this.getViewer(nuwValue.company_service, 'viewer2'); |
386 | 413 |
this.getViewer(nuwValue.company_technology, 'viewer3'); |
387 |
- } |
|
414 |
+ }, |
|
415 |
+ "modalType": function (newValue, oldValue) { |
|
416 |
+ if (this.modalType != null) { |
|
417 |
+ console.log("modalType watch: ", newValue, oldValue); |
|
418 |
+ this.openModal(); |
|
419 |
+ } |
|
420 |
+ }, |
|
388 | 421 |
}, |
389 | 422 |
computed: { |
390 | 423 |
|
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?