
--- client/resources/css/common.css
+++ client/resources/css/common.css
... | ... | @@ -1,5 +1,6 @@ |
1 | 1 |
|
2 | 2 |
/* layout 공통 */ |
3 |
+textarea{border: 1px solid #d8d3c7; border-radius: 5px;} |
|
3 | 4 |
/* grid */ |
4 | 5 |
|
5 | 6 |
.main-grid-admin { |
... | ... | @@ -292,6 +293,7 @@ |
292 | 293 |
padding: 0.5rem 1.5rem; |
293 | 294 |
padding: 1rem; |
294 | 295 |
margin-right: 1rem; |
296 |
+ border-radius: 0.5rem; |
|
295 | 297 |
} |
296 | 298 |
|
297 | 299 |
.btn-small { |
... | ... | @@ -300,7 +302,26 @@ |
300 | 302 |
font-size: 1.5rem; |
301 | 303 |
font-weight: 800; |
302 | 304 |
border-radius: 0.5rem; |
303 |
- padding: 0.5rem 1.5rem; |
|
305 |
+ padding: 0.7rem 2.1rem; |
|
306 |
+ margin-right: 1rem; |
|
307 |
+} |
|
308 |
+.btn-short { |
|
309 |
+ width: 90px; |
|
310 |
+ border: 0; |
|
311 |
+ color: #fff; |
|
312 |
+ font-size: 1.5rem; |
|
313 |
+ font-weight: 800; |
|
314 |
+ border-radius: 0.5rem; |
|
315 |
+ padding: 0.7rem 2.1rem; |
|
316 |
+ margin-right: 1rem; |
|
317 |
+} |
|
318 |
+.btn-more-small { |
|
319 |
+ border: 0; |
|
320 |
+ color: #fff; |
|
321 |
+ font-size: 1.5rem; |
|
322 |
+ font-weight: 800; |
|
323 |
+ border-radius: 0.5rem; |
|
324 |
+ padding: 0.3rem 1.3rem; |
|
304 | 325 |
margin-right: 1rem; |
305 | 326 |
} |
306 | 327 |
|
... | ... | @@ -314,18 +335,39 @@ |
314 | 335 |
background: #7D9D9C; |
315 | 336 |
} |
316 | 337 |
|
317 |
-.beige-btn { |
|
318 |
- background: #e4dccf; |
|
338 |
+.brown-btn { |
|
339 |
+ background: #733c1d; |
|
340 |
+ color: #ffffff; |
|
319 | 341 |
} |
320 | 342 |
|
321 | 343 |
.gray-btn { |
322 |
- background: #cccccc; |
|
344 |
+ background: #d8d3c7; |
|
345 |
+ color: #733c1d; |
|
346 |
+} |
|
347 |
+.lightgray-btn { |
|
348 |
+ background: #f2f0eb; |
|
349 |
+ color: #733c1d; |
|
323 | 350 |
} |
324 | 351 |
|
325 | 352 |
.red-btn { |
326 |
- background: #ff0202; |
|
353 |
+ background: #f25430; |
|
354 |
+ color: #ffffff; |
|
355 |
+} |
|
356 |
+input[type='radio'], |
|
357 |
+input[type='radio']:checked { |
|
358 |
+ width: 0.9rem; |
|
359 |
+ height: 0.9rem; |
|
360 |
+ border-radius: 100%; |
|
361 |
+ margin-right: 1rem; |
|
327 | 362 |
} |
328 | 363 |
|
364 |
+input[type='radio'] { |
|
365 |
+ background-color: #ffffff; |
|
366 |
+ border: 2px solid #f25430; |
|
367 |
+} |
|
368 |
+input[type='radio']:checked { |
|
369 |
+ background-color: #f25430; |
|
370 |
+} |
|
329 | 371 |
|
330 | 372 |
/* margin */ |
331 | 373 |
.margin-bottom { |
... | ... | @@ -343,6 +385,9 @@ |
343 | 385 |
.margin-bottom10 { |
344 | 386 |
margin-bottom: 10rem; |
345 | 387 |
} |
388 |
+.margin-left{ |
|
389 |
+ margin-left: 1rem; |
|
390 |
+} |
|
346 | 391 |
|
347 | 392 |
hr { |
348 | 393 |
border-top: 1px solid #d1e4e3; |
--- client/resources/css/layout.css
+++ client/resources/css/layout.css
... | ... | @@ -40,8 +40,7 @@ |
40 | 40 |
.nav{ |
41 | 41 |
position: relative; |
42 | 42 |
box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 20%);} |
43 |
-.nav > div > ul{margin-top: 7rem;} |
|
44 |
-.logo { |
|
43 |
+.logo { |
|
45 | 44 |
padding: 2rem 1rem; |
46 | 45 |
font-size: large; |
47 | 46 |
text-align: center; |
... | ... | @@ -53,9 +52,10 @@ |
53 | 52 |
|
54 | 53 |
|
55 | 54 |
.sidebar-item>a { |
56 |
- font-size: 1.6rem; |
|
57 |
- color: #ffffff; |
|
55 |
+ color: #333333; |
|
56 |
+ font-weight: bold; |
|
58 | 57 |
margin: 0 3rem; |
58 |
+ padding: 1rem 6.2rem; |
|
59 | 59 |
|
60 | 60 |
} |
61 | 61 |
|
... | ... | @@ -66,12 +66,14 @@ |
66 | 66 |
.sidebar-title { |
67 | 67 |
margin: 0 auto; |
68 | 68 |
width: 150px; |
69 |
+ padding: 1rem; |
|
69 | 70 |
} |
70 | 71 |
|
71 | 72 |
.sidebar-title span { |
72 |
- font-size: 2rem; |
|
73 | 73 |
font-weight: bold; |
74 | 74 |
color: #333333; |
75 |
+ |
|
76 |
+ font-family:"KoPubDotumLight"; |
|
75 | 77 |
|
76 | 78 |
} |
77 | 79 |
|
... | ... | @@ -83,28 +85,23 @@ |
83 | 85 |
|
84 | 86 |
} |
85 | 87 |
nav li{cursor: pointer;} |
86 |
-nav .sidebar-item{padding: 1.4rem 0 ;} |
|
87 |
-.sidebar-item:hover{background: #f25430;} |
|
88 |
+.sidebar-item{font-size: 1.8rem;} |
|
89 |
+.sidebar-item:hover{background: #f25430; color: #ffffff;} |
|
90 |
+.sidebar-item:hover a{color: #ffffff;} |
|
88 | 91 |
.sidebar-item:hover span, .sidebar-item:hover .toggle{color: #ffffff;} |
89 |
-.sidebar-content{background: #7D9D9C;} |
|
90 |
-.sidebar-content .sidebar-item:hover{ |
|
91 |
- background: #d1e4e3; |
|
92 |
-} |
|
93 |
- |
|
94 | 92 |
.sidebar-content { |
95 | 93 |
display: none; |
96 | 94 |
color: #ffffff; |
97 | 95 |
} |
98 |
- |
|
96 |
+.sidebar-content a{padding: 1rem 0 1rem 6rem;} |
|
99 | 97 |
.sidebar-item.open>.sidebar-content { |
100 | 98 |
height: auto; |
101 | 99 |
display: block; |
102 | 100 |
} |
103 | 101 |
|
104 |
-.sidebar-content .sidebar-item a { |
|
105 |
- margin-left: 6rem; |
|
102 |
+.sidebar-content .sidebar-item:hover { |
|
103 |
+ background: #f1bdb1; |
|
106 | 104 |
color: #ffffff; |
107 |
- font-size: 1.6rem; |
|
108 | 105 |
} |
109 | 106 |
|
110 | 107 |
.sidebar-content .sidebar-item:hover a { |
... | ... | @@ -123,6 +120,7 @@ |
123 | 120 |
display: flex; |
124 | 121 |
align-items: center; |
125 | 122 |
margin-right: 2rem; |
123 |
+ cursor: pointer; |
|
126 | 124 |
} |
127 | 125 |
.logout{background: #f26e50;} |
128 | 126 |
#pages { |
... | ... | @@ -136,14 +134,18 @@ |
136 | 134 |
|
137 | 135 |
main { |
138 | 136 |
max-width: 100%; |
139 |
- height: 100%; |
|
140 | 137 |
} |
141 | 138 |
|
142 | 139 |
.content-wrap { |
143 | 140 |
max-width: 100%; |
144 |
- height: 100%; |
|
145 | 141 |
padding: 4rem 5rem; |
146 | 142 |
background-color: #ffffff; |
143 |
+} |
|
144 |
+.userlist{ |
|
145 |
+ box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 20%); |
|
146 |
+ width: 100%; |
|
147 |
+ height: 51rem; |
|
148 |
+ padding: 4.5rem 2rem; |
|
147 | 149 |
} |
148 | 150 |
|
149 | 151 |
/* hierarchy menu */ |
... | ... | @@ -151,9 +153,9 @@ |
151 | 153 |
box-shadow: 1px 1px 5px 1px rgb(0 0 0 / 20%); |
152 | 154 |
color: #733c1d; |
153 | 155 |
overflow-y: auto; |
154 |
- max-height: 57rem; |
|
155 |
- width: 46rem; |
|
156 |
- border-radius: 30px; |
|
156 |
+ height: 55rem; |
|
157 |
+ width: 100%; |
|
158 |
+ padding: 1rem 0 0 3rem; |
|
157 | 159 |
} |
158 | 160 |
.hierarchy-menu a { |
159 | 161 |
color: #333333; |
... | ... | @@ -178,9 +180,6 @@ |
178 | 180 |
bottom: 27px; |
179 | 181 |
left: 6px; |
180 | 182 |
border-left: 1px dashed #373E4B; |
181 |
-} |
|
182 |
-.hierarchy-menu > ul { |
|
183 |
- padding: 15px 0 10px 25px; |
|
184 | 183 |
} |
185 | 184 |
.hierarchy-menu > ul ul { |
186 | 185 |
padding-left: 16px; |
... | ... | @@ -222,18 +221,16 @@ |
222 | 221 |
/* Links */ |
223 | 222 |
.hierarchy-menu ul .max-agency{ |
224 | 223 |
margin-left: 0px; |
225 |
- width: 37%; |
|
226 | 224 |
} |
227 | 225 |
.hierarchy-menu ul .top-agency{ |
228 | 226 |
margin-left: 49px; |
229 |
- width: 39%; |
|
230 | 227 |
} |
231 | 228 |
.hierarchy-menu .low-agency{ |
232 | 229 |
margin-left: 50px; |
233 | 230 |
} |
234 | 231 |
.hierarchy-menu ul a { |
235 | 232 |
display: block; |
236 |
- padding: 6px 0; |
|
233 |
+ padding: 6px 5rem; |
|
237 | 234 |
height: 44px; |
238 | 235 |
position: relative; |
239 | 236 |
color: #333333; |
... | ... | @@ -250,10 +247,10 @@ |
250 | 247 |
.hierarchy-menu li.sub-nav > a:before { |
251 | 248 |
position: absolute; |
252 | 249 |
left: 4px; |
253 |
- top: 14px; |
|
250 |
+ top: 19px; |
|
254 | 251 |
content: ''; |
255 |
- width: 5px; |
|
256 |
- height: 5px; |
|
252 |
+ width: 7px; |
|
253 |
+ height: 7px; |
|
257 | 254 |
border-bottom: 1px solid #333333; |
258 | 255 |
border-right: 1px solid #333333; |
259 | 256 |
-ms-transform: rotate(-45deg); |
--- client/resources/css/main.css
+++ client/resources/css/main.css
... | ... | @@ -16,6 +16,8 @@ |
16 | 16 |
font-weight: 900; |
17 | 17 |
background-color: #18924e; |
18 | 18 |
} |
19 |
+ |
|
20 |
+ |
|
19 | 21 |
/* Q&A */ |
20 | 22 |
.title{text-decoration: underline; cursor: pointer;} |
21 | 23 |
.question-select input{width: 3%;} |
... | ... | @@ -48,130 +50,7 @@ |
48 | 50 |
border-left: 20px solid #7D9D9C; |
49 | 51 |
margin: 0 1rem 0 3rem; |
50 | 52 |
} |
51 |
-/* hierarchy menu */ |
|
52 |
-.hierarchy-menu a { |
|
53 |
- color: #333333; |
|
54 |
- text-decoration: none; |
|
55 |
-} |
|
56 | 53 |
|
57 |
-.category a span{ |
|
58 |
- font-size: 1.6rem; |
|
59 |
- padding-left: 20px; |
|
60 |
-} |
|
61 |
- |
|
62 |
-/* List */ |
|
63 |
-.hierarchy-menu ul { |
|
64 |
- list-style: none; |
|
65 |
- margin: 0; |
|
66 |
- padding: 10px 0 0 0; |
|
67 |
- position: relative; |
|
68 |
-} |
|
69 |
-.hierarchy-menu ul ul:before { |
|
70 |
- content: ''; |
|
71 |
- position: absolute; |
|
72 |
- top: 0; |
|
73 |
- bottom: 27px; |
|
74 |
- left: 6px; |
|
75 |
- border-left: 1px dashed #373E4B; |
|
76 |
-} |
|
77 |
-.hierarchy-menu > ul { |
|
78 |
- padding: 15px 0 10px 25px; |
|
79 |
-} |
|
80 |
-.hierarchy-menu > ul ul { |
|
81 |
- padding-left: 16px; |
|
82 |
-} |
|
83 |
- |
|
84 |
-/* List items */ |
|
85 |
-.hierarchy-menu ul li { |
|
86 |
- display: block; |
|
87 |
- position: relative; |
|
88 |
-} |
|
89 |
-.hierarchy-menu > ul ul li:before { |
|
90 |
- content: ''; |
|
91 |
- display: block; |
|
92 |
- height: 0px; |
|
93 |
- width: 50px; |
|
94 |
- border-bottom: 1px solid #7A7F87; |
|
95 |
- position: absolute; |
|
96 |
- left: -10px; |
|
97 |
- top: 16px; |
|
98 |
-} |
|
99 |
-.hierarchy-menu > ul ul li:after { |
|
100 |
- content: ''; |
|
101 |
- display: block; |
|
102 |
- height: 43px; |
|
103 |
- width: 0; |
|
104 |
- border-left: 1px solid #7A7F87; |
|
105 |
- position: absolute; |
|
106 |
- left: -10px; |
|
107 |
- top: -27px; |
|
108 |
-} |
|
109 |
-.hierarchy-menu > ul ul li.group-lvl:before { |
|
110 |
- width: 50px; |
|
111 |
-} |
|
112 |
-.hierarchy-menu > ul ul li:first-child:after { |
|
113 |
- height: 28px; |
|
114 |
- top: -12px; |
|
115 |
-} |
|
116 |
- |
|
117 |
-/* Links */ |
|
118 |
-.category ul .max-agency{ |
|
119 |
- margin-left: 0px; |
|
120 |
- width: 50%; |
|
121 |
-} |
|
122 |
-.category ul .top-agency{ |
|
123 |
- margin-left: 49px; |
|
124 |
- width: 50%; |
|
125 |
-} |
|
126 |
-.category .low-agency{ |
|
127 |
- margin-left: 87px; |
|
128 |
-} |
|
129 |
-.category .low-agency span{ |
|
130 |
- padding-left: 49px; |
|
131 |
-} |
|
132 |
-.hierarchy-menu ul a { |
|
133 |
- display: block; |
|
134 |
- padding: 6px 0; |
|
135 |
- height: 44px; |
|
136 |
- position: relative; |
|
137 |
- color: #333333; |
|
138 |
- transition: 100ms; |
|
139 |
-} |
|
140 |
-.hierarchy-menu ul a:hover { |
|
141 |
- color: #7e9d9c; |
|
142 |
-} |
|
143 |
-.hierarchy-menu ul a.active { |
|
144 |
- color: #333333; |
|
145 |
- font-weight: bold; |
|
146 |
-} |
|
147 |
- |
|
148 |
-.category li.sub-nav > a:before { |
|
149 |
- position: absolute; |
|
150 |
- left: 0px; |
|
151 |
- top: 14px; |
|
152 |
- content: ''; |
|
153 |
- width: 5px; |
|
154 |
- height: 5px; |
|
155 |
- border-bottom: 1px solid #333333; |
|
156 |
- border-right: 1px solid #333333; |
|
157 |
- -ms-transform: rotate(-45deg); |
|
158 |
- -webkit-transform: rotate(-45deg); |
|
159 |
- transform: rotate(-45deg); |
|
160 |
-} |
|
161 |
-.hierarchy-menu li.sub-nav.open > a:before { |
|
162 |
- -ms-transform: rotate(45deg); |
|
163 |
- -webkit-transform: rotate(45deg); |
|
164 |
- transform: rotate(45deg); |
|
165 |
-} |
|
166 |
-.hierarchy-menu li.sub-nav.open > a { |
|
167 |
- color: #333333; |
|
168 |
-} |
|
169 |
-.hierarchy-menu li.sub-nav > ul { |
|
170 |
- display: block; |
|
171 |
-} |
|
172 |
-.hierarchy-menu li.sub-nav.open > ul { |
|
173 |
- display: block; |
|
174 |
-} |
|
175 | 54 |
|
176 | 55 |
|
177 | 56 |
/* -----------------------------------------------지자체 */ |
... | ... | @@ -639,7 +518,7 @@ |
639 | 518 |
padding: 1rem; |
640 | 519 |
line-height: 2rem; |
641 | 520 |
} |
642 |
- |
|
521 |
+.join-inner select{padding: 1rem;} |
|
643 | 522 |
.join-inner #id { |
644 | 523 |
max-width: 65%; |
645 | 524 |
margin-right: 1rem; |
... | ... | @@ -653,16 +532,15 @@ |
653 | 532 |
} |
654 | 533 |
|
655 | 534 |
/* 검색창 */ |
656 |
-.searchselect{width: 30%;} |
|
657 |
-.searchselect input{width: 20%;} |
|
658 |
-.searchselect label{width: 100%;} |
|
535 |
+.searchselect{width: 25%;} |
|
536 |
+.searchselect label{width: 100%; margin-right: 3rem;} |
|
659 | 537 |
.mobile-area-wrap { |
660 | 538 |
display: none; |
661 | 539 |
} |
662 | 540 |
|
663 | 541 |
.search-group { |
542 |
+ width: 100%; |
|
664 | 543 |
margin-bottom: 2rem; |
665 |
- box-shadow: 1px 1px 5px 1px rgba(209, 228, 227); |
|
666 | 544 |
} |
667 | 545 |
|
668 | 546 |
.search-group .btn-box { |
... | ... | @@ -713,7 +591,7 @@ |
713 | 591 |
.select-area { |
714 | 592 |
width: 100%; |
715 | 593 |
padding: 1rem; |
716 |
- background-color: #d1e4e3; |
|
594 |
+ background-color: #f1bdb2; |
|
717 | 595 |
} |
718 | 596 |
|
719 | 597 |
.search-area { |
... | ... | @@ -814,7 +692,7 @@ |
814 | 692 |
padding: 0 4rem 0 1rem; |
815 | 693 |
|
816 | 694 |
} |
817 |
- |
|
695 |
+.senior-insert select{padding: 1rem;} |
|
818 | 696 |
.senior-insert tr:nth-child(2) .gender { |
819 | 697 |
padding: 2rem 1rem; |
820 | 698 |
} |
... | ... | @@ -971,7 +849,7 @@ |
971 | 849 |
} |
972 | 850 |
|
973 | 851 |
/* 장비등록 */ |
974 |
- |
|
852 |
+.select-agency{width: 59%; margin: 0 auto;} |
|
975 | 853 |
.user-list{ |
976 | 854 |
background-color: #eeeeee; |
977 | 855 |
height: 57.8vh; |
... | ... | @@ -987,6 +865,7 @@ |
987 | 865 |
left: 0; |
988 | 866 |
z-index: 99; |
989 | 867 |
background-color: rgba(0, 0, 0, 0.6); |
868 |
+ color: #733c1d; |
|
990 | 869 |
} |
991 | 870 |
|
992 | 871 |
.modal .modal-inner { |
... | ... | @@ -1000,8 +879,8 @@ |
1000 | 879 |
} |
1001 | 880 |
|
1002 | 881 |
.modal .modal-inner .modal-header { |
1003 |
- background-color: #f1f1f1; |
|
1004 |
- font-size: 1.8rem; |
|
882 |
+ background-color: #d8d3c7; |
|
883 |
+ font-size: 2.5rem; |
|
1005 | 884 |
font-weight: bold; |
1006 | 885 |
padding: 2rem; |
1007 | 886 |
} |
... | ... | @@ -1009,10 +888,11 @@ |
1009 | 888 |
.modal-main { |
1010 | 889 |
padding: 2rem; |
1011 | 890 |
} |
1012 |
- |
|
891 |
+.modal-main table{border: 1px solid #d8d3c7;} |
|
1013 | 892 |
.modal-main table th, |
1014 | 893 |
.modal-main table td { |
1015 | 894 |
text-align: center; |
895 |
+ font-size: 1.8rem; |
|
1016 | 896 |
} |
1017 | 897 |
|
1018 | 898 |
.modal.openModal { |
... | ... | @@ -1029,38 +909,31 @@ |
1029 | 909 |
|
1030 | 910 |
.tab-menu li { |
1031 | 911 |
padding: 1rem 2rem; |
1032 |
- background-color: #f8f8f8; |
|
912 |
+ margin-right: 0.2rem; |
|
913 |
+ background-color: #f2f0eb; |
|
914 |
+ color: #733c1d; |
|
1033 | 915 |
border-radius: 0.5rem 0.5rem 0 0; |
1034 | 916 |
font-size: 1.6rem; |
917 |
+ font-weight: bold; |
|
1035 | 918 |
text-align: center; |
1036 |
- border: 1px solid #eeeeee; |
|
919 |
+ box-shadow: 3px -2px 5px -2px rgb(0 0 0 / 20%); |
|
1037 | 920 |
} |
1038 | 921 |
|
1039 | 922 |
.tab-menu li.active { |
1040 |
- font-weight: bold; |
|
1041 |
- background-color: #242d2e; |
|
923 |
+ background-color: #f25430; |
|
1042 | 924 |
color: #ffffff; |
1043 | 925 |
} |
1044 | 926 |
|
1045 | 927 |
.search-management select { |
1046 | 928 |
width: 15%; |
929 |
+ height: 3rem; |
|
1047 | 930 |
} |
1048 | 931 |
|
1049 | 932 |
.search-management input { |
1050 | 933 |
width: 20%; |
934 |
+ height: 3rem; |
|
1051 | 935 |
margin-right: 1rem; |
1052 | 936 |
} |
1053 |
- |
|
1054 |
-.tab-content table th { |
|
1055 |
- background-color: #ffffff; |
|
1056 |
-} |
|
1057 |
- |
|
1058 |
-.tab-content table button { |
|
1059 |
- background-color: #ffffff; |
|
1060 |
- border: 1px solid #7D9D9C; |
|
1061 |
- color: #7D9D9C; |
|
1062 |
-} |
|
1063 |
- |
|
1064 | 937 |
.tab-container>div>div:nth-child(2) { |
1065 | 938 |
margin: 1rem 0; |
1066 | 939 |
} |
--- client/resources/css/reset.css
+++ client/resources/css/reset.css
... | ... | @@ -1,11 +1,15 @@ |
1 |
+@font-face { |
|
2 |
+ font-family: "KoPubDotumLight"; |
|
3 |
+ src: url(../files/font/KoPubDotumLight_0.ttf); |
|
4 |
+} |
|
1 | 5 |
|
2 |
- |
|
3 |
- |
|
6 |
+:root{ |
|
7 |
+ --font-KoPubDotumLight:"KoPubDotumLight" |
|
8 |
+} |
|
4 | 9 |
* { |
5 | 10 |
margin: 0; |
6 | 11 |
padding: 0; |
7 | 12 |
box-sizing: border-box; |
8 |
- font-family:"AuctionGothic_Medium"; |
|
9 | 13 |
} |
10 | 14 |
|
11 | 15 |
html { |
... | ... | @@ -40,16 +44,16 @@ |
40 | 44 |
table { |
41 | 45 |
width: 100%; |
42 | 46 |
border-collapse: collapse; |
43 |
- border: 1px solid #e4dccf; |
|
44 | 47 |
font-family:"AuctionGothic_Medium"; |
45 | 48 |
} |
46 |
-th{ |
|
47 |
- padding: 0.5rem; |
|
49 |
+thead{ |
|
48 | 50 |
font-weight: bold; |
49 |
- background: #f0ebe3; |
|
51 |
+ background: #d8d3c7; |
|
50 | 52 |
font-size: 1.5rem; |
51 | 53 |
text-align: center; |
52 | 54 |
} |
55 |
+thead tr{border-radius: 10px;} |
|
56 |
+th{background-color: #d8d3c7; padding: 0.5rem;} |
|
53 | 57 |
|
54 | 58 |
td { |
55 | 59 |
padding: 0.5rem; |
... | ... | @@ -76,7 +80,7 @@ |
76 | 80 |
width: 100%; |
77 | 81 |
border-radius: 0.5rem; |
78 | 82 |
padding: 1rem; |
79 |
- border: 1px solid #eeeeee; |
|
83 |
+ border: 1px solid #d8d3c7; |
|
80 | 84 |
} |
81 | 85 |
|
82 | 86 |
input[type="button"]{ |
... | ... | @@ -88,10 +92,9 @@ |
88 | 92 |
|
89 | 93 |
select{ |
90 | 94 |
width: 32%; |
91 |
- padding: 1rem; |
|
92 | 95 |
border-radius: 0.5rem; |
93 |
- margin-right: 1.1rem; |
|
94 |
- border: 1px solid #eeeeee; |
|
96 |
+ margin-right: 1rem; |
|
97 |
+ border: 1px solid #d8d3c7; |
|
95 | 98 |
} |
96 | 99 |
|
97 | 100 |
select:last-child{ |
--- client/views/component/Category.jsx
+++ client/views/component/Category.jsx
... | ... | @@ -1,10 +1,12 @@ |
1 | 1 |
import React, { useState } from "react"; |
2 |
+import Button from "./Button.jsx"; |
|
2 | 3 |
|
3 | 4 |
function Menu({ className, children, href, title }) { |
4 | 5 |
if (!children) { |
5 | 6 |
return <li className="venue-lvl"> |
6 | 7 |
<a href={href ?? '#'}> |
7 |
- <span>{title}</span> |
|
8 |
+ <span>{title}</span> |
|
9 |
+ <Button className={"btn-more-small gray-btn margin-left"} btnName={"삭제"} /> |
|
8 | 10 |
</a> |
9 | 11 |
</li> |
10 | 12 |
} |
... | ... | @@ -16,6 +18,7 @@ |
16 | 18 |
return <li className={className}> |
17 | 19 |
<a href={href ?? '#'} onClick={() => setOpend(open ? '' : 'open')} className="max-agency"> |
18 | 20 |
<span>{title}</span> |
21 |
+ <Button className={"btn-more-small red-btn margin-left"} btnName={"추가"} /> |
|
19 | 22 |
</a> |
20 | 23 |
{open && <ul id="venue-scope-options"> |
21 | 24 |
{children} |
... | ... | @@ -33,6 +36,7 @@ |
33 | 36 |
<li className="group-lvl sub-nav open"> |
34 | 37 |
<a className="top-agency" href="#"> |
35 | 38 |
<span>지자체</span> |
39 |
+ <Button className={"btn-more-small brown-btn margin-left"} btnName={"추가"} /> |
|
36 | 40 |
</a> |
37 | 41 |
<ul id="venue-scope-options" className="low-agency"> |
38 | 42 |
<Menu href="#" title="보호기관1" /> |
... | ... | @@ -43,6 +47,7 @@ |
43 | 47 |
<li class="group-lvl sub-nav open"> |
44 | 48 |
<a href="#" className="active top-agency"> |
45 | 49 |
<span>관리 병원</span> |
50 |
+ <Button className={"btn-more-small brown-btn margin-left"} btnName={"추가"} /> |
|
46 | 51 |
</a> |
47 | 52 |
<ul className="low-agency"> |
48 | 53 |
<Menu href="#" title="병원1" /> |
+++ client/views/component/Checkbox.jsx
... | ... | @@ -0,0 +1,45 @@ |
1 | +import React from 'react' | |
2 | +import styled from 'styled-components' | |
3 | + | |
4 | +export default function ContentTitle({contentTitle, explanation}) { | |
5 | + return ( | |
6 | + <div className='flex-start'> | |
7 | + <ContentTitleStyled>{contentTitle}</ContentTitleStyled> | |
8 | + <Explanation>{explanation}</Explanation> | |
9 | + </div> | |
10 | + ) | |
11 | +} | |
12 | + | |
13 | +const ContentTitleStyled = styled.p` | |
14 | + font-size: 4rem; | |
15 | + font-weight: bold; | |
16 | + margin: 0 3rem 2rem 0; | |
17 | + color: #733c1d; | |
18 | + /* &::after { | |
19 | + content: ""; | |
20 | + position: absolute; | |
21 | + left: 0; | |
22 | + bottom: -11px; | |
23 | + height: 1px; | |
24 | + width: 100%; | |
25 | + max-width: 100%; | |
26 | + background-color: #d1e4e3; | |
27 | + } | |
28 | + &::before { | |
29 | + content: ""; | |
30 | + position: absolute; | |
31 | + z-index: 10; | |
32 | + left: 0; | |
33 | + bottom: -15px; | |
34 | + height: 8px; | |
35 | + width: 1rem; | |
36 | + margin-right: 1rem; | |
37 | + background-color: #7D9D9C; | |
38 | + } */ | |
39 | + | |
40 | +` | |
41 | + | |
42 | +const Explanation = styled.p` | |
43 | + font-size: 2.6rem; | |
44 | + color: #733c1d; | |
45 | +`;(No newline at end of file) |
--- client/views/component/DetailSearch.jsx
+++ client/views/component/DetailSearch.jsx
... | ... | @@ -195,9 +195,9 @@ |
195 | 195 |
<table> |
196 | 196 |
<tbody> |
197 | 197 |
<tr> |
198 |
- <th>검색</th> |
|
198 |
+ <th>조회 구분</th> |
|
199 | 199 |
<td colSpan={3}> |
200 |
- <div className="flex"> |
|
200 |
+ <div className="flex-start"> |
|
201 | 201 |
<select name="" id=""> |
202 | 202 |
<option value="">사용자관리번호</option> |
203 | 203 |
<option value="">사용자 이름</option> |
... | ... | @@ -208,7 +208,7 @@ |
208 | 208 |
</td> |
209 | 209 |
</tr> |
210 | 210 |
<tr> |
211 |
- <th>지역</th> |
|
211 |
+ <th>조회 지역</th> |
|
212 | 212 |
<td> |
213 | 213 |
<div className="flex-start"> |
214 | 214 |
<select name="" id=""> |
... | ... | @@ -473,8 +473,8 @@ |
473 | 473 |
); |
474 | 474 |
})} |
475 | 475 |
<div className="btn-box flex-center"> |
476 |
- <Button className={"btn-large gray-btn"} btnName={"초기화"} /> |
|
477 |
- <Button className={"btn-large green-btn"} btnName={"조회"} /> |
|
476 |
+ <Button className={"btn-large lightgray-btn"} btnName={"초기화"} /> |
|
477 |
+ <Button className={"btn-large red-btn"} btnName={"조회"} /> |
|
478 | 478 |
</div> |
479 | 479 |
</ul> |
480 | 480 |
</div> |
+++ client/views/component/DetailTitle.jsx
... | ... | @@ -0,0 +1,40 @@ |
1 | +import React from 'react' | |
2 | +import styled from 'styled-components' | |
3 | + | |
4 | +export default function DetailTitle({contentTitle, }) { | |
5 | + return ( | |
6 | + <div className='flex-start'> | |
7 | + <ContentTitleStyled>{contentTitle}</ContentTitleStyled> | |
8 | + </div> | |
9 | + ) | |
10 | +} | |
11 | + | |
12 | +const ContentTitleStyled = styled.p` | |
13 | + position: relative; | |
14 | + width: 100%; | |
15 | + font-size: 1.6rem; | |
16 | + font-weight: bold; | |
17 | + color: #733c1d; | |
18 | + &::after { | |
19 | + content: ""; | |
20 | + position: absolute; | |
21 | + left: 0; | |
22 | + bottom: -11.5px; | |
23 | + height: 1px; | |
24 | + width: 100%; | |
25 | + max-width: 100%; | |
26 | + background-color: #f25430; | |
27 | + } | |
28 | + &::before { | |
29 | + content: ""; | |
30 | + position: absolute; | |
31 | + z-index: 10; | |
32 | + left: 0; | |
33 | + bottom: -15px; | |
34 | + height: 8px; | |
35 | + width: 8px; | |
36 | + margin-right: 1rem; | |
37 | + background-color: #f25430; | |
38 | + } | |
39 | + | |
40 | +` |
+++ client/views/component/Modal_Blood.jsx
... | ... | @@ -0,0 +1,83 @@ |
1 | +import React from "react"; | |
2 | +import Button from "./Button.jsx"; | |
3 | +import Table from "./Table.jsx"; | |
4 | + | |
5 | +export default function Modal({open, close, }) { | |
6 | + const thead1 = [ | |
7 | + "No", | |
8 | + "측정 일자", | |
9 | + "최고 혈압", | |
10 | + "최저 혈압", | |
11 | + "맥박수", | |
12 | + "작성자", | |
13 | + ]; | |
14 | + const key1 = ["No", "date", "high","low", "pulse", "writer"]; | |
15 | + const content1 = [ | |
16 | + { | |
17 | + No: 1, | |
18 | + date: "2023-01-25", | |
19 | + high: "130", | |
20 | + low: "90", | |
21 | + pulse: "60", | |
22 | + writer: "정간호", | |
23 | + }, | |
24 | + ]; | |
25 | + return ( | |
26 | + <div class={open ? "openModal modal" : "modal"}> | |
27 | + {open ? ( | |
28 | + <div className="modal-inner"> | |
29 | + <div className="modal-header flex"> | |
30 | + 혈압측정 | |
31 | + <Button className={"close"} onClick={close} btnName={"X"} /> | |
32 | + </div> | |
33 | + <div className="modal-main"><div className="board-wrap"> | |
34 | + <div> | |
35 | + <table className="margin-bottom2"> | |
36 | + <tr> | |
37 | + <th>대상자명</th> | |
38 | + <td className="flex-start"> | |
39 | + <input type="text" placeholder="자동입력"/> | |
40 | + </td> | |
41 | + </tr> | |
42 | + <tr> | |
43 | + <th>측정일자</th> | |
44 | + <td className="flex-start"> | |
45 | + <input type="text" placeholder="자동입력"/> | |
46 | + </td> | |
47 | + </tr> | |
48 | + <tr> | |
49 | + <th>최고혈압</th> | |
50 | + <td className="flex-start"> | |
51 | + <input type="text" /> | |
52 | + </td> | |
53 | + </tr> | |
54 | + <tr> | |
55 | + <th>최저혈압</th> | |
56 | + <td className="flex-start"> | |
57 | + <input type="text" /> | |
58 | + </td> | |
59 | + </tr> | |
60 | + <tr> | |
61 | + <th>맥박수</th> | |
62 | + <td className="flex-start"> | |
63 | + <input type="text" /> | |
64 | + </td> | |
65 | + </tr> | |
66 | + | |
67 | + </table> | |
68 | + <div className="btn-wrap flex-center margin-bottom5"> | |
69 | + <Button className={"btn-small red-btn"} btnName={"저장"} /> | |
70 | + </div> | |
71 | + </div> | |
72 | + <Table | |
73 | + className={"caregiver-user "} | |
74 | + head={thead1} | |
75 | + contents={content1} | |
76 | + contentKey={key1} | |
77 | + /> | |
78 | + </div></div> | |
79 | + </div> | |
80 | + ) : null} | |
81 | + </div> | |
82 | + ); | |
83 | +} |
+++ client/views/component/Modal_ECG.jsx
... | ... | @@ -0,0 +1,74 @@ |
1 | +import React from "react"; | |
2 | +import Button from "./Button.jsx"; | |
3 | +import Table from "./Table.jsx"; | |
4 | + | |
5 | +export default function Modal({ open, close, }) { | |
6 | + const thead1 = [ | |
7 | + "No", | |
8 | + "측정일자", | |
9 | + "측정파일", | |
10 | + "등록자", | |
11 | + ]; | |
12 | + const key1 = ["No", "date", "file","writer",]; | |
13 | + const content1 = [ | |
14 | + { | |
15 | + No: 1, | |
16 | + date: "2023-01-25", | |
17 | + file: ( <a href="" download="테스트">다운로드</a>), | |
18 | + writer: "정간호", | |
19 | + }, | |
20 | + ]; | |
21 | + return ( | |
22 | + <div class={open ? "openModal modal" : "modal"}> | |
23 | + {open ? ( | |
24 | + <div className="modal-inner"> | |
25 | + <div className="modal-header flex"> | |
26 | + 심전도 등록 | |
27 | + <Button className={"close"} onClick={close} btnName={"X"} /> | |
28 | + </div> | |
29 | + <div className="modal-main"><div className="board-wrap"> | |
30 | + <div> | |
31 | + <table className="margin-bottom2"> | |
32 | + <tr> | |
33 | + <th>대상자명</th> | |
34 | + <td className="flex-start"> | |
35 | + <input type="text" placeholder="자동입력"/> | |
36 | + </td> | |
37 | + </tr> | |
38 | + <tr> | |
39 | + <th>측정일자</th> | |
40 | + <td className="flex-start"> | |
41 | + <input type="text" placeholder="자동입력"/> | |
42 | + </td> | |
43 | + </tr> | |
44 | + <tr> | |
45 | + <th>측정파일</th> | |
46 | + <td className="flex-start"> | |
47 | + <input type="file"></input> | |
48 | + </td> | |
49 | + </tr> | |
50 | + <tr> | |
51 | + <th>등록자</th> | |
52 | + <td className="flex-start"> | |
53 | + <input type="text" placeholder="자동입력"/> | |
54 | + </td> | |
55 | + </tr> | |
56 | + | |
57 | + | |
58 | + </table> | |
59 | + <div className="btn-wrap flex-center margin-bottom5"> | |
60 | + <Button className={"btn-small red-btn"} btnName={"저장"} /> | |
61 | + </div> | |
62 | + </div> | |
63 | + <Table | |
64 | + className={"caregiver-user "} | |
65 | + head={thead1} | |
66 | + contents={content1} | |
67 | + contentKey={key1} | |
68 | + /> | |
69 | + </div></div> | |
70 | + </div> | |
71 | + ) : null} | |
72 | + </div> | |
73 | + ); | |
74 | +} |
+++ client/views/component/Modal_Questionnaire.jsx
... | ... | @@ -0,0 +1,82 @@ |
1 | +import React from "react"; | |
2 | +import Button from "./Button.jsx"; | |
3 | + | |
4 | +export default function Modal_Questionnaire({ open, close, }) { | |
5 | + | |
6 | + return ( | |
7 | + <div class={open ? "openModal modal" : "modal"}> | |
8 | + {open ? ( | |
9 | + <div className="modal-inner"> | |
10 | + <div className="modal-header flex"> | |
11 | + 문진표 작성 | |
12 | + <Button className={"close"} onClick={close} btnName={"X"} /> | |
13 | + </div> | |
14 | + <div className="modal-main"><div className="board-wrap"> | |
15 | + <div> | |
16 | + <table className="margin-bottom2 questionnaire-table"> | |
17 | + <tr> | |
18 | + <th>흡연을 하십니까?</th> | |
19 | + <td className="flex-start"> | |
20 | + <input type="radio" /> | |
21 | + <label for="gender">예</label> | |
22 | + <input type="radio" /> | |
23 | + <label for="gender">아니요</label> | |
24 | + </td> | |
25 | + </tr> | |
26 | + <tr> | |
27 | + <th>음주를 하십니까?</th> | |
28 | + <td className="flex-start"> | |
29 | + <input type="radio" /> | |
30 | + <label for="gender">예</label> | |
31 | + <input type="radio" /> | |
32 | + <label for="gender">아니요</label> | |
33 | + </td> | |
34 | + </tr> | |
35 | + <tr> | |
36 | + <th>일주일에 운동을 몇회 하십니까?</th> | |
37 | + <td className="flex-start"> | |
38 | + <input type="radio" /> | |
39 | + <label for="gender">안함</label> | |
40 | + <input type="radio" /> | |
41 | + <label for="gender">3회 미만</label> | |
42 | + <input type="radio" /> | |
43 | + <label for="gender">3회 이상</label> | |
44 | + <input type="radio" /> | |
45 | + <label for="gender">매일</label> | |
46 | + </td> | |
47 | + </tr> | |
48 | + <tr> | |
49 | + <th>최근 3개월 동안 갑작스런 체중 변화가 있었습니까?</th> | |
50 | + <td className="flex-start"> | |
51 | + <input type="radio" /> | |
52 | + <label for="gender">예 - 증가</label> | |
53 | + <input type="radio" /> | |
54 | + <label for="gender">예 - 감소</label> | |
55 | + <input type="radio" /> | |
56 | + <label for="gender">아니요</label> | |
57 | + </td> | |
58 | + </tr> | |
59 | + <tr> | |
60 | + <th>현재 복용중인 약이 있으면 체크를 해주세요.</th> | |
61 | + <td className="flex-start"> | |
62 | + <input type="checkbox" /> | |
63 | + <label for="gender">없음</label> | |
64 | + <input type="checkbox" /> | |
65 | + <label for="gender">아스피린(항혈소판제)</label> | |
66 | + <input type="checkbox" /> | |
67 | + <label for="gender">당뇨약</label> | |
68 | + <input type="checkbox" /> | |
69 | + <label for="gender">고혈압약</label> | |
70 | + <input type="checkbox" /> | |
71 | + <label for="gender">기타</label><input type="text" /> | |
72 | + </td> | |
73 | + </tr> | |
74 | + </table> | |
75 | + </div> | |
76 | + <div className="flex-center"><Button className={"btn-small red-btn"} btnName={"저장"} /></div > | |
77 | + </div></div> | |
78 | + </div> | |
79 | + ) : null} | |
80 | + </div> | |
81 | + ); | |
82 | +} |
--- client/views/component/SubTitle.jsx
+++ client/views/component/SubTitle.jsx
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 |
color: #733c1d; |
19 | 19 |
`; |
20 | 20 |
const Explanation = styled.p` |
21 |
- font-size: 1.8rem; |
|
21 |
+ font-size: 1.5rem; |
|
22 | 22 |
padding: 0.5rem; |
23 | 23 |
color: ${(color) => color ? color : "#733c1d"}; |
24 | 24 |
&::before { |
--- client/views/layout/Header.jsx
+++ client/views/layout/Header.jsx
... | ... | @@ -2,9 +2,10 @@ |
2 | 2 |
import MenuIcon from "@mui/icons-material/Menu"; |
3 | 3 |
import Weather from "../pages/main/Weather.jsx"; |
4 | 4 |
import PersonIcon from "@mui/icons-material/Person"; |
5 |
+import { useNavigate } from "react-router"; |
|
5 | 6 |
|
6 | 7 |
function Header({ title }) { |
7 |
- |
|
8 |
+ const navigate = useNavigate(); |
|
8 | 9 |
const [headerData, setHeaderData] = React.useState(0); |
9 | 10 |
|
10 | 11 |
return ( |
... | ... | @@ -16,9 +17,9 @@ |
16 | 17 |
<div className="usericon"><PersonIcon sx={{ width:48, height:48,}} /></div> |
17 | 18 |
<p className="header-info-id">admin1</p> |
18 | 19 |
<div className="bottom-section flex"> |
19 |
- <div className="info-id" onClick={() => { |
|
20 |
+ <div className="info-id" ><span onClick={() => { |
|
20 | 21 |
navigate("/Join"); |
21 |
- }}><span>계정추가</span></div> |
|
22 |
+ }}>계정추가</span></div> |
|
22 | 23 |
<div className="logout"><span>로그아웃</span></div> |
23 | 24 |
</div> |
24 | 25 |
</div> |
--- client/views/layout/Menu.jsx
+++ client/views/layout/Menu.jsx
... | ... | @@ -14,7 +14,7 @@ |
14 | 14 |
onClick={() => (menuToggle ? setMenuToggle(false) : setMenuToggle(true))} |
15 | 15 |
> |
16 | 16 |
<h1 className="logo"><img src={logo} alt="" /></h1> |
17 |
- <div className="flex-align-column" style={{ height: `calc(100% - 72px)` }}> |
|
17 |
+ <div className="flex-align-column" style={{ marginTop: `3rem` }}> |
|
18 | 18 |
<ul> |
19 | 19 |
{items.map((item, index) => ( |
20 | 20 |
<SidebarItem key={index} item={item} /> |
--- client/views/pages/App.jsx
+++ client/views/pages/App.jsx
... | ... | @@ -26,8 +26,8 @@ |
26 | 26 |
}; |
27 | 27 |
|
28 | 28 |
|
29 |
- const menuItems = AllApp.menuItems; //AdminApp, GovernmentApp, AllApp, AgencyApp, GuardianApp |
|
30 |
- const AppRoute = AllApp.AppRoute; |
|
29 |
+ const menuItems = GovernmentApp.menuItems; //AdminApp, GovernmentApp, AllApp, AgencyApp, GuardianApp |
|
30 |
+ const AppRoute = GovernmentApp.AppRoute; |
|
31 | 31 |
|
32 | 32 |
|
33 | 33 |
const { title } = menuItems.find( |
--- client/views/pages/AppRoute.jsx
+++ client/views/pages/AppRoute.jsx
... | ... | @@ -24,14 +24,10 @@ |
24 | 24 |
import Main from "./main/Main.jsx"; |
25 | 25 |
import SeniorInsert from "./senior_management/SeniorInsert.jsx"; |
26 | 26 |
import SeniorSelectOne from "./senior_management/SeniorSelectOne.jsx"; |
27 |
-import MedicineCareSelect from "./healthcare/medicinecare/MedicineCareSelect.jsx"; |
|
28 | 27 |
import MedicineCareSelectOne from "./healthcare/medicinecare/MedicineCareSelectOne.jsx"; |
29 |
-import TemperatureManagementSelect from "./healthcare/temperature/TemperatureManagementSelect.jsx"; |
|
30 | 28 |
import TemperatureManagementSelectOne from "./healthcare/temperature/TemperatureManagementSelectOne.jsx"; |
31 |
-import Questionnaire from "./healthcare/Questionnaire.jsx"; |
|
32 | 29 |
import MedicineStatistics from "./healthcare/statistics/MedicineStatistics.jsx"; |
33 | 30 |
import GuardianStatistics from "./healthcare/statistics/GuardianStatistics.jsx"; |
34 |
-import VisitSelect from "./visit/visit/VisitSelect.jsx"; |
|
35 | 31 |
import VisitInsert from "./visit/visit/VisitInsert.jsx"; |
36 | 32 |
import VisitSelectOne from "./visit/visit/VisitSelectOne.jsx"; |
37 | 33 |
import EquipmentRentalInsert from "./equipment/EquipmentRentalInsert.jsx"; |
... | ... | @@ -52,10 +48,10 @@ |
52 | 48 |
import AgencyInsert from "./user_management/AgencyInsert.jsx"; |
53 | 49 |
import AgencySelect from "./user_management/AgencySelect.jsx"; |
54 | 50 |
import ProtectorSelect from "./user_management/ProtectorSelect.jsx"; |
55 |
-import BloodSelect from "./healthcare/BloodSelect.jsx"; |
|
56 |
-import ECGSelect from "./healthcare/ECGSelect.jsx"; |
|
57 | 51 |
import QuestionSelect from "./callcenter/QuestionSelect.jsx"; |
58 | 52 |
import Join from "./join/Join.jsx"; |
53 |
+import Healthcare from "./healthcare/Healthcare.jsx" |
|
54 |
+import Medicalcare from "./healthcare/Medicalcare.jsx" |
|
59 | 55 |
|
60 | 56 |
const AllAppMenuItems = [ |
61 | 57 |
{ |
... | ... | @@ -63,63 +59,36 @@ |
63 | 59 |
path: "/Main", |
64 | 60 |
childrens: [ |
65 | 61 |
{ |
66 |
- title: "Home(올잇메디)", |
|
62 |
+ title: "Home", |
|
67 | 63 |
path: "/Main", |
68 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
64 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
69 | 65 |
}, |
70 | 66 |
{ |
71 | 67 |
title: "사용자 관리", |
72 | 68 |
path: "/UserAuthoriySelect", |
73 | 69 |
icon: ( |
74 |
- <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
70 |
+ <PersonIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
75 | 71 |
), |
76 | 72 |
}, |
77 | 73 |
{ |
78 | 74 |
title: "건강관리", |
79 |
- path: "/QandASelect", |
|
75 |
+ path: "/Healthcare", |
|
80 | 76 |
icon: ( |
81 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
77 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
82 | 78 |
), |
83 |
- childrens: [ |
|
84 |
- { |
|
85 |
- title: "복약 관리", |
|
86 |
- path: "/MedicineCareSelect", |
|
87 |
- }, |
|
88 |
- { |
|
89 |
- title: "댁내 온도 관리", |
|
90 |
- path: "/TemperatureManagementSelect", |
|
91 |
- }, |
|
92 |
- { |
|
93 |
- title: "방문 관리", |
|
94 |
- path: "/VisitSelect", |
|
95 |
- }, |
|
96 |
- ], |
|
97 | 79 |
}, |
98 | 80 |
{ |
99 | 81 |
title: "진료 관리", |
82 |
+ path:"/Medicalcare", |
|
100 | 83 |
icon: ( |
101 |
- <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
84 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
102 | 85 |
), |
103 |
- childrens: [ |
|
104 |
- { |
|
105 |
- title: "문진표 관리", |
|
106 |
- path: "/Questionnaire", |
|
107 |
- }, |
|
108 |
- { |
|
109 |
- title: "심전도 관리", |
|
110 |
- path: "/ECGSelect", |
|
111 |
- }, |
|
112 |
- { |
|
113 |
- title: "혈압 관리", |
|
114 |
- path: "/BloodSelect", |
|
115 |
- }, |
|
116 |
- ] |
|
117 | 86 |
}, |
118 | 87 |
{ |
119 | 88 |
title: "장비 관리", |
120 | 89 |
icon: ( |
121 | 90 |
<ConstructionIcon |
122 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
91 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
123 | 92 |
/> |
124 | 93 |
), |
125 | 94 |
childrens: [ |
... | ... | @@ -142,12 +111,12 @@ |
142 | 111 |
{ |
143 | 112 |
title: "Home", |
144 | 113 |
path: "/Main_government", |
145 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
114 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
146 | 115 |
}, |
147 | 116 |
{ |
148 | 117 |
title: "기관 관리", |
149 | 118 |
icon: ( |
150 |
- <ApartmentIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
119 |
+ <ApartmentIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
151 | 120 |
), |
152 | 121 |
childrens: [ |
153 | 122 |
{ |
... | ... | @@ -162,58 +131,31 @@ |
162 | 131 |
}, |
163 | 132 |
{ |
164 | 133 |
title: "건강 관리", |
165 |
- prefix: "/Medicine", |
|
134 |
+ path: "/Healthcare", |
|
166 | 135 |
icon: ( |
167 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
136 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
168 | 137 |
), |
169 |
- childrens: [ |
|
170 |
- { |
|
171 |
- title: "복약 관리", |
|
172 |
- path: "/MedicineCareSelect", |
|
173 |
- }, |
|
174 |
- { |
|
175 |
- title: "댁내 온도 관리", |
|
176 |
- path: "/TemperatureManagementSelect", |
|
177 |
- }, |
|
178 |
- { |
|
179 |
- title: "방문 관리", |
|
180 |
- path: "/VisitSelect", |
|
181 |
- }, |
|
182 |
- ] |
|
183 | 138 |
}, |
184 | 139 |
{ |
185 | 140 |
title: "진료 관리", |
141 |
+ path:"/Medicalcare", |
|
186 | 142 |
icon: ( |
187 |
- <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
143 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
188 | 144 |
), |
189 |
- childrens: [ |
|
190 |
- { |
|
191 |
- title: "문진표 관리", |
|
192 |
- path: "/Questionnaire", |
|
193 |
- }, |
|
194 |
- { |
|
195 |
- title: "심전도 관리", |
|
196 |
- path: "/ECGSelect", |
|
197 |
- }, |
|
198 |
- { |
|
199 |
- title: "혈압 관리", |
|
200 |
- path: "/BloodSelect", |
|
201 |
- }, |
|
202 |
- ] |
|
203 | 145 |
}, |
204 | 146 |
{ |
205 | 147 |
title: "문의 현황 관리", |
206 | 148 |
path: "/QandASelect", |
207 | 149 |
icon: ( |
208 | 150 |
<SpeakerPhoneIcon |
209 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
151 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
210 | 152 |
/> |
211 | 153 |
), |
212 | 154 |
}, |
213 | 155 |
{ |
214 | 156 |
title: "설정 관리", |
215 | 157 |
icon: ( |
216 |
- <SettingsIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
158 |
+ <SettingsIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
217 | 159 |
), |
218 | 160 |
childrens: [ |
219 | 161 |
{ |
... | ... | @@ -235,59 +177,33 @@ |
235 | 177 |
{ |
236 | 178 |
title: "Home", |
237 | 179 |
path: "/Main_agency", |
238 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
180 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
239 | 181 |
}, |
240 | 182 |
{ |
241 | 183 |
title: "대상자 관리", |
242 | 184 |
path: "/UserAuthoriySelect_agency", |
243 | 185 |
icon: ( |
244 |
- <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
186 |
+ <PersonIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
245 | 187 |
), |
246 | 188 |
}, |
247 | 189 |
{ |
248 | 190 |
title: "건강 관리", |
191 |
+ path:"/Healthcare", |
|
249 | 192 |
icon: ( |
250 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
193 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
251 | 194 |
), |
252 |
- childrens: [ |
|
253 |
- { |
|
254 |
- title: "복약 관리", |
|
255 |
- path: "/MedicineCareSelect", |
|
256 |
- }, |
|
257 |
- { |
|
258 |
- title: "댁내 온도 관리", |
|
259 |
- path: "/TemperatureManagementSelect", |
|
260 |
- }, |
|
261 |
- { |
|
262 |
- title: "방문 관리", |
|
263 |
- path: "/VisitSelect", |
|
264 |
- }, |
|
265 |
- ] |
|
266 | 195 |
}, |
267 | 196 |
{ |
268 | 197 |
title: "진료 관리", |
198 |
+ path:"/Medicalcare", |
|
269 | 199 |
icon: ( |
270 |
- <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
200 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
271 | 201 |
), |
272 |
- childrens: [ |
|
273 |
- { |
|
274 |
- title: "문진표 관리", |
|
275 |
- path: "/Questionnaire", |
|
276 |
- }, |
|
277 |
- { |
|
278 |
- title: "심전도 관리", |
|
279 |
- path: "/ECGSelect", |
|
280 |
- }, |
|
281 |
- { |
|
282 |
- title: "혈압 관리", |
|
283 |
- path: "/BloodSelect", |
|
284 |
- }, |
|
285 |
- ] |
|
286 | 202 |
}, |
287 | 203 |
{ |
288 | 204 |
title: "장비 관리", |
289 | 205 |
icon: ( |
290 |
- <ConstructionIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
206 |
+ <ConstructionIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
291 | 207 |
), |
292 | 208 |
childrens: [ |
293 | 209 |
{ |
... | ... | @@ -305,7 +221,7 @@ |
305 | 221 |
path: "/QuestionSelect", |
306 | 222 |
icon: ( |
307 | 223 |
<SpeakerPhoneIcon |
308 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
224 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
309 | 225 |
/> |
310 | 226 |
), |
311 | 227 |
}, |
... | ... | @@ -317,19 +233,19 @@ |
317 | 233 |
{ |
318 | 234 |
title: "Home", |
319 | 235 |
path: "/Main_guardian", |
320 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
236 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
321 | 237 |
}, |
322 | 238 |
{ |
323 | 239 |
title: "그래프로 보기", |
324 | 240 |
path: "/GuardianStatistics", |
325 |
- icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
241 |
+ icon: <EqualizerIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
326 | 242 |
}, |
327 | 243 |
{ |
328 | 244 |
title: "Q&A", |
329 | 245 |
path: "/QuestionSelect", |
330 | 246 |
icon: ( |
331 | 247 |
<SpeakerPhoneIcon |
332 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
248 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
333 | 249 |
/> |
334 | 250 |
), |
335 | 251 |
}, |
... | ... | @@ -340,6 +256,8 @@ |
340 | 256 |
function AllAppRoute() { |
341 | 257 |
return ( |
342 | 258 |
<Routes> |
259 |
+ <Route path="/Medicalcare" element={<Medicalcare />}></Route> |
|
260 |
+ <Route path="/Healthcare" element={<Healthcare />}></Route> |
|
343 | 261 |
<Route path="/QuestionConfirm" element={<QuestionConfirm />}></Route> |
344 | 262 |
<Route path="/QuestionInsert" element={<QuestionInsert />}></Route> |
345 | 263 |
<Route path="/GuardianStatistics" element={<GuardianStatistics />}></Route> |
... | ... | @@ -347,32 +265,20 @@ |
347 | 265 |
<Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
348 | 266 |
<Route path="/Join" element={<Join />}></Route> |
349 | 267 |
<Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
350 |
- <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
351 |
- <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
352 | 268 |
<Route path="/Main_agency" element={<Main_agency />}></Route> |
353 | 269 |
<Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
354 | 270 |
<Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
355 |
- <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
356 |
- <Route |
|
357 |
- path="/MedicineCareSelect" |
|
358 |
- element={<MedicineCareSelect />} |
|
359 |
- ></Route> |
|
271 |
+ <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
360 | 272 |
<Route |
361 | 273 |
path="/MedicineCareSelectOne" |
362 | 274 |
element={<MedicineCareSelectOne />} |
363 |
- ></Route> |
|
364 |
- <Route |
|
365 |
- path="/TemperatureManagementSelect" |
|
366 |
- element={<TemperatureManagementSelect />} |
|
367 | 275 |
></Route> |
368 | 276 |
<Route |
369 | 277 |
path="/TemperatureManagementSelectOne" |
370 | 278 |
element={<TemperatureManagementSelectOne />} |
371 | 279 |
></Route> |
372 | 280 |
<Route path="/VisitInsert" element={<VisitInsert />}></Route> |
373 |
- <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
374 | 281 |
<Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
375 |
- <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
376 | 282 |
<Route |
377 | 283 |
path="/EquipmentRentalInsert" |
378 | 284 |
element={<EquipmentRentalInsert />} |
... | ... | @@ -397,22 +303,12 @@ |
397 | 303 |
path="/QandAConfirm" |
398 | 304 |
element={<QandAConfirm />} |
399 | 305 |
></Route> |
400 |
- <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
401 |
- <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
402 | 306 |
<Route path="/Main_government" element={<Main_government />}></Route> |
403 | 307 |
<Route path="/AgencySelect" element={<AgencySelect />}></Route> |
404 | 308 |
<Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
405 | 309 |
<Route |
406 |
- path="/MedicineCareSelect" |
|
407 |
- element={<MedicineCareSelect />} |
|
408 |
- ></Route> |
|
409 |
- <Route |
|
410 | 310 |
path="/MedicineCareSelectOne" |
411 | 311 |
element={<MedicineCareSelectOne />} |
412 |
- ></Route> |
|
413 |
- <Route |
|
414 |
- path="/TemperatureManagementSelect" |
|
415 |
- element={<TemperatureManagementSelect />} |
|
416 | 312 |
></Route> |
417 | 313 |
<Route |
418 | 314 |
path="/TemperatureManagementSelectOne" |
... | ... | @@ -423,7 +319,6 @@ |
423 | 319 |
element={<MedicineStatistics />} |
424 | 320 |
></Route> |
425 | 321 |
<Route path="/VisitInsert" element={<VisitInsert />}></Route> |
426 |
- <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
427 | 322 |
<Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
428 | 323 |
<Route |
429 | 324 |
path="/UserAuthoriySelect" |
... | ... | @@ -434,7 +329,6 @@ |
434 | 329 |
<Route path="/QandASelect" element={<QandASelect />}></Route> |
435 | 330 |
<Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
436 | 331 |
<Route path="/QandAInsert" element={<QandAInsert />}></Route> |
437 |
- <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
438 | 332 |
<Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
439 | 333 |
<Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
440 | 334 |
<Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
... | ... | @@ -458,32 +352,16 @@ |
458 | 352 |
element={<EquipmentManagementSelectOne />} |
459 | 353 |
></Route> |
460 | 354 |
<Route |
461 |
- path="/MedicineCareSelect" |
|
462 |
- element={<MedicineCareSelect />} |
|
463 |
- ></Route> |
|
464 |
- <Route |
|
465 | 355 |
path="/MedicineCareSelectOne" |
466 | 356 |
element={<MedicineCareSelectOne />} |
467 | 357 |
></Route> |
468 | 358 |
<Route |
469 | 359 |
path="/TemperatureManagementSelectOne" |
470 | 360 |
element={<TemperatureManagementSelectOne />} |
471 |
- ></Route> |
|
472 |
- <Route |
|
473 |
- path="/TemperatureManagementSelect" |
|
474 |
- element={<TemperatureManagementSelect />} |
|
475 |
- ></Route> |
|
476 |
- <Route |
|
477 |
- path="/VisitSelect" |
|
478 |
- element={<VisitSelect />} |
|
479 |
- ></Route> |
|
361 |
+ ></Route> |
|
480 | 362 |
<Route |
481 | 363 |
path="/VisitSelectOne" |
482 | 364 |
element={<VisitSelectOne />} |
483 |
- ></Route> |
|
484 |
- <Route |
|
485 |
- path="/Questionnaire" |
|
486 |
- element={<Questionnaire />} |
|
487 | 365 |
></Route> |
488 | 366 |
<Route path="/QandAInsert" element={<QandAInsert />}></Route> |
489 | 367 |
<Route path="/QandASelect" element={<QandASelect />}></Route> |
... | ... | @@ -498,63 +376,36 @@ |
498 | 376 |
|
499 | 377 |
const AdminAppMenuItems = [ |
500 | 378 |
{ |
501 |
- title: "Home(올잇메디)", |
|
379 |
+ title: "Home", |
|
502 | 380 |
path: "/Main", |
503 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
381 |
+ icon: <HouseIcon sx={{ fontSize: 20, marginRight: 1 }} />, |
|
504 | 382 |
}, |
505 | 383 |
{ |
506 | 384 |
title: "사용자 관리", |
507 | 385 |
path: "/UserAuthoriySelect", |
508 | 386 |
icon: ( |
509 |
- <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
387 |
+ <PersonIcon sx={{ fontSize: 20, marginRight: 1 }} /> |
|
510 | 388 |
), |
511 | 389 |
}, |
512 | 390 |
{ |
513 |
- title: "건강관리", |
|
514 |
- path: "/QandASelect", |
|
391 |
+ title: "건강 관리", |
|
392 |
+ path:"/Healthcare", |
|
515 | 393 |
icon: ( |
516 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
394 |
+ <Diversity1Icon sx={{ fontSize: 20, marginRight: 1 }} /> |
|
517 | 395 |
), |
518 |
- childrens: [ |
|
519 |
- { |
|
520 |
- title: "복약 관리", |
|
521 |
- path: "/MedicineCareSelect", |
|
522 |
- }, |
|
523 |
- { |
|
524 |
- title: "댁내 온도 관리", |
|
525 |
- path: "/TemperatureManagementSelect", |
|
526 |
- }, |
|
527 |
- { |
|
528 |
- title: "방문 관리", |
|
529 |
- path: "/VisitSelect", |
|
530 |
- }, |
|
531 |
- ], |
|
532 | 396 |
}, |
533 | 397 |
{ |
534 | 398 |
title: "진료 관리", |
399 |
+ path:"/Medicalcare", |
|
535 | 400 |
icon: ( |
536 |
- <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
401 |
+ <LocalHospitalIcon sx={{ fontSize: 20, marginRight: 1 }} /> |
|
537 | 402 |
), |
538 |
- childrens: [ |
|
539 |
- { |
|
540 |
- title: "문진표 관리", |
|
541 |
- path: "/Questionnaire", |
|
542 |
- }, |
|
543 |
- { |
|
544 |
- title: "심전도 관리", |
|
545 |
- path: "/ECGSelect", |
|
546 |
- }, |
|
547 |
- { |
|
548 |
- title: "혈압 관리", |
|
549 |
- path: "/BloodSelect", |
|
550 |
- }, |
|
551 |
- ] |
|
552 | 403 |
}, |
553 | 404 |
{ |
554 | 405 |
title: "장비 관리", |
555 | 406 |
icon: ( |
556 | 407 |
<ConstructionIcon |
557 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
408 |
+ sx={{ fontSize: 20, marginRight: 1 }} |
|
558 | 409 |
/> |
559 | 410 |
), |
560 | 411 |
childrens: [ |
... | ... | @@ -573,6 +424,8 @@ |
573 | 424 |
function AdminAppRoute() { |
574 | 425 |
return ( |
575 | 426 |
<Routes> |
427 |
+ <Route path="/Medicalcare" element={<Medicalcare />}></Route> |
|
428 |
+ <Route path="/Healthcare" element={<Healthcare />}></Route> |
|
576 | 429 |
<Route path="/Test" element={<Test />}></Route> |
577 | 430 |
<Route path="/Main" element={<Main />}></Route> |
578 | 431 |
<Route |
... | ... | @@ -592,32 +445,16 @@ |
592 | 445 |
element={<EquipmentManagementSelectOne />} |
593 | 446 |
></Route> |
594 | 447 |
<Route |
595 |
- path="/MedicineCareSelect" |
|
596 |
- element={<MedicineCareSelect />} |
|
597 |
- ></Route> |
|
598 |
- <Route |
|
599 | 448 |
path="/MedicineCareSelectOne" |
600 | 449 |
element={<MedicineCareSelectOne />} |
601 | 450 |
></Route> |
602 | 451 |
<Route |
603 | 452 |
path="/TemperatureManagementSelectOne" |
604 | 453 |
element={<TemperatureManagementSelectOne />} |
605 |
- ></Route> |
|
606 |
- <Route |
|
607 |
- path="/TemperatureManagementSelect" |
|
608 |
- element={<TemperatureManagementSelect />} |
|
609 |
- ></Route> |
|
610 |
- <Route |
|
611 |
- path="/VisitSelect" |
|
612 |
- element={<VisitSelect />} |
|
613 |
- ></Route> |
|
454 |
+ ></Route> |
|
614 | 455 |
<Route |
615 | 456 |
path="/VisitSelectOne" |
616 | 457 |
element={<VisitSelectOne />} |
617 |
- ></Route> |
|
618 |
- <Route |
|
619 |
- path="/Questionnaire" |
|
620 |
- element={<Questionnaire />} |
|
621 | 458 |
></Route> |
622 | 459 |
<Route path="/QandAInsert" element={<QandAInsert />}></Route> |
623 | 460 |
<Route path="/QandASelect" element={<QandASelect />}></Route> |
... | ... | @@ -633,12 +470,12 @@ |
633 | 470 |
{ |
634 | 471 |
title: "Home", |
635 | 472 |
path: "/Main_government", |
636 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
473 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
637 | 474 |
}, |
638 | 475 |
{ |
639 | 476 |
title: "기관 관리", |
640 | 477 |
icon: ( |
641 |
- <ApartmentIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
478 |
+ <ApartmentIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
642 | 479 |
), |
643 | 480 |
childrens: [ |
644 | 481 |
{ |
... | ... | @@ -653,58 +490,31 @@ |
653 | 490 |
}, |
654 | 491 |
{ |
655 | 492 |
title: "건강 관리", |
656 |
- prefix: "/Medicine", |
|
493 |
+ path:"/Healthcare", |
|
657 | 494 |
icon: ( |
658 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
495 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
659 | 496 |
), |
660 |
- childrens: [ |
|
661 |
- { |
|
662 |
- title: "복약 관리", |
|
663 |
- path: "/MedicineCareSelect", |
|
664 |
- }, |
|
665 |
- { |
|
666 |
- title: "댁내 온도 관리", |
|
667 |
- path: "/TemperatureManagementSelect", |
|
668 |
- }, |
|
669 |
- { |
|
670 |
- title: "방문 관리", |
|
671 |
- path: "/VisitSelect", |
|
672 |
- }, |
|
673 |
- ] |
|
674 | 497 |
}, |
675 | 498 |
{ |
676 | 499 |
title: "진료 관리", |
500 |
+ path:"/Medicalcare", |
|
677 | 501 |
icon: ( |
678 |
- <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
502 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
679 | 503 |
), |
680 |
- childrens: [ |
|
681 |
- { |
|
682 |
- title: "문진표 관리", |
|
683 |
- path: "/Questionnaire", |
|
684 |
- }, |
|
685 |
- { |
|
686 |
- title: "심전도 관리", |
|
687 |
- path: "/ECGSelect", |
|
688 |
- }, |
|
689 |
- { |
|
690 |
- title: "혈압 관리", |
|
691 |
- path: "/BloodSelect", |
|
692 |
- }, |
|
693 |
- ] |
|
694 | 504 |
}, |
695 | 505 |
{ |
696 | 506 |
title: "문의 현황 관리", |
697 | 507 |
path: "/QandASelect", |
698 | 508 |
icon: ( |
699 | 509 |
<SpeakerPhoneIcon |
700 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
510 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
701 | 511 |
/> |
702 | 512 |
), |
703 | 513 |
}, |
704 | 514 |
{ |
705 | 515 |
title: "설정 관리", |
706 | 516 |
icon: ( |
707 |
- <SettingsIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
517 |
+ <SettingsIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
708 | 518 |
), |
709 | 519 |
childrens: [ |
710 | 520 |
{ |
... | ... | @@ -721,23 +531,15 @@ |
721 | 531 |
function GovernmentAppRoute() { |
722 | 532 |
return ( |
723 | 533 |
<Routes> |
724 |
- <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
725 |
- <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
534 |
+ <Route path="/Medicalcare" element={<Medicalcare />}></Route> |
|
535 |
+ <Route path="/Healthcare" element={<Healthcare />}></Route> |
|
726 | 536 |
<Route path="/Main_government" element={<Main_government />}></Route> |
727 | 537 |
<Route path="/AgencySelect" element={<AgencySelect />}></Route> |
728 |
- <Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
|
729 |
- <Route |
|
730 |
- path="/MedicineCareSelect" |
|
731 |
- element={<MedicineCareSelect />} |
|
732 |
- ></Route> |
|
538 |
+ <Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
|
733 | 539 |
<Route |
734 | 540 |
path="/MedicineCareSelectOne" |
735 | 541 |
element={<MedicineCareSelectOne />} |
736 |
- ></Route> |
|
737 |
- <Route |
|
738 |
- path="/TemperatureManagementSelect" |
|
739 |
- element={<TemperatureManagementSelect />} |
|
740 |
- ></Route> |
|
542 |
+ ></Route> |
|
741 | 543 |
<Route |
742 | 544 |
path="/TemperatureManagementSelectOne" |
743 | 545 |
element={<TemperatureManagementSelectOne />} |
... | ... | @@ -747,7 +549,6 @@ |
747 | 549 |
element={<MedicineStatistics />} |
748 | 550 |
></Route> |
749 | 551 |
<Route path="/VisitInsert" element={<VisitInsert />}></Route> |
750 |
- <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
751 | 552 |
<Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
752 | 553 |
<Route |
753 | 554 |
path="/UserAuthoriySelect" |
... | ... | @@ -758,7 +559,6 @@ |
758 | 559 |
<Route path="/QandASelect" element={<QandASelect />}></Route> |
759 | 560 |
<Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
760 | 561 |
<Route path="/QandAInsert" element={<QandAInsert />}></Route> |
761 |
- <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
762 | 562 |
<Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
763 | 563 |
<Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
764 | 564 |
<Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
... | ... | @@ -770,59 +570,33 @@ |
770 | 570 |
{ |
771 | 571 |
title: "Home", |
772 | 572 |
path: "/Main_agency", |
773 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
573 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
774 | 574 |
}, |
775 | 575 |
{ |
776 | 576 |
title: "대상자 관리", |
777 | 577 |
path: "/UserAuthoriySelect_agency", |
778 | 578 |
icon: ( |
779 |
- <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
579 |
+ <PersonIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
780 | 580 |
), |
781 | 581 |
}, |
782 | 582 |
{ |
783 | 583 |
title: "건강 관리", |
584 |
+ path:"/Healthcare", |
|
784 | 585 |
icon: ( |
785 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
586 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
786 | 587 |
), |
787 |
- childrens: [ |
|
788 |
- { |
|
789 |
- title: "복약 관리", |
|
790 |
- path: "/MedicineCareSelect", |
|
791 |
- }, |
|
792 |
- { |
|
793 |
- title: "댁내 온도 관리", |
|
794 |
- path: "/TemperatureManagementSelect", |
|
795 |
- }, |
|
796 |
- { |
|
797 |
- title: "방문 관리", |
|
798 |
- path: "/VisitSelect", |
|
799 |
- }, |
|
800 |
- ] |
|
801 | 588 |
}, |
802 | 589 |
{ |
803 | 590 |
title: "진료 관리", |
591 |
+ path:"/Medicalcare", |
|
804 | 592 |
icon: ( |
805 |
- <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
593 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
806 | 594 |
), |
807 |
- childrens: [ |
|
808 |
- { |
|
809 |
- title: "문진표 관리", |
|
810 |
- path: "/Questionnaire", |
|
811 |
- }, |
|
812 |
- { |
|
813 |
- title: "심전도 관리", |
|
814 |
- path: "/ECGSelect", |
|
815 |
- }, |
|
816 |
- { |
|
817 |
- title: "혈압 관리", |
|
818 |
- path: "/BloodSelect", |
|
819 |
- }, |
|
820 |
- ] |
|
821 | 595 |
}, |
822 | 596 |
{ |
823 | 597 |
title: "장비 관리", |
824 | 598 |
icon: ( |
825 |
- <ConstructionIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
599 |
+ <ConstructionIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} /> |
|
826 | 600 |
), |
827 | 601 |
childrens: [ |
828 | 602 |
{ |
... | ... | @@ -840,7 +614,7 @@ |
840 | 614 |
path: "/QuestionSelect", |
841 | 615 |
icon: ( |
842 | 616 |
<SpeakerPhoneIcon |
843 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
617 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
844 | 618 |
/> |
845 | 619 |
), |
846 | 620 |
}, |
... | ... | @@ -850,32 +624,20 @@ |
850 | 624 |
<Routes> |
851 | 625 |
<Route path="/Join" element={<Join />}></Route> |
852 | 626 |
<Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
853 |
- <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
854 |
- <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
855 | 627 |
<Route path="/Main_agency" element={<Main_agency />}></Route> |
856 | 628 |
<Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
857 | 629 |
<Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
858 | 630 |
<Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
859 | 631 |
<Route |
860 |
- path="/MedicineCareSelect" |
|
861 |
- element={<MedicineCareSelect />} |
|
862 |
- ></Route> |
|
863 |
- <Route |
|
864 | 632 |
path="/MedicineCareSelectOne" |
865 | 633 |
element={<MedicineCareSelectOne />} |
866 |
- ></Route> |
|
867 |
- <Route |
|
868 |
- path="/TemperatureManagementSelect" |
|
869 |
- element={<TemperatureManagementSelect />} |
|
870 |
- ></Route> |
|
634 |
+ ></Route> |
|
871 | 635 |
<Route |
872 | 636 |
path="/TemperatureManagementSelectOne" |
873 | 637 |
element={<TemperatureManagementSelectOne />} |
874 | 638 |
></Route> |
875 | 639 |
<Route path="/VisitInsert" element={<VisitInsert />}></Route> |
876 |
- <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
877 | 640 |
<Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
878 |
- <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
879 | 641 |
<Route |
880 | 642 |
path="/EquipmentRentalInsert" |
881 | 643 |
element={<EquipmentRentalInsert />} |
... | ... | @@ -907,19 +669,19 @@ |
907 | 669 |
{ |
908 | 670 |
title: "Home", |
909 | 671 |
path: "/Main_guardian", |
910 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
672 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
911 | 673 |
}, |
912 | 674 |
{ |
913 | 675 |
title: "그래프로 보기", |
914 | 676 |
path: "/GuardianStatistics", |
915 |
- icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
677 |
+ icon: <EqualizerIcon sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} />, |
|
916 | 678 |
}, |
917 | 679 |
{ |
918 | 680 |
title: "Q&A", |
919 | 681 |
path: "/QuestionSelect", |
920 | 682 |
icon: ( |
921 | 683 |
<SpeakerPhoneIcon |
922 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
684 |
+ sx={{ fontSize: 20, color: "#333333", marginRight: 1 }} |
|
923 | 685 |
/> |
924 | 686 |
), |
925 | 687 |
}, |
--- client/views/pages/callcenter/QandASelect.jsx
+++ client/views/pages/callcenter/QandASelect.jsx
... | ... | @@ -46,7 +46,7 @@ |
46 | 46 |
finish:"처리중", |
47 | 47 |
show: ( |
48 | 48 |
<Button |
49 |
- className={"btn-small gray-btn"} |
|
49 |
+ className={"btn-small lightgray-btn"} |
|
50 | 50 |
btnName={"상세보기"} |
51 | 51 |
onClick={() => { |
52 | 52 |
navigate("/QandAConfirm"); |
... | ... | @@ -67,7 +67,7 @@ |
67 | 67 |
<div className="btn-wrap flex-end margin-bottom"> |
68 | 68 |
|
69 | 69 |
<Button |
70 |
- className={"btn-small green-btn"} |
|
70 |
+ className={"btn-small gray-btn"} |
|
71 | 71 |
btnName={"등록"} |
72 | 72 |
onClick={() => { |
73 | 73 |
navigate("/QandAInsert"); |
--- client/views/pages/equipment/EquipmentManagementSelect.jsx
+++ client/views/pages/equipment/EquipmentManagementSelect.jsx
... | ... | @@ -99,14 +99,14 @@ |
99 | 99 |
date: "2022.12.02", |
100 | 100 |
agency: ( |
101 | 101 |
<Button |
102 |
- className={"btn-small gray-btn"} |
|
102 |
+ className={"btn-small lightgray-btn"} |
|
103 | 103 |
btnName={"선택"} |
104 | 104 |
onClick={openModal} |
105 | 105 |
/> |
106 | 106 |
), |
107 | 107 |
senior: ( |
108 | 108 |
<Button |
109 |
- className={"btn-small gray-btn"} |
|
109 |
+ className={"btn-small lightgray-btn"} |
|
110 | 110 |
btnName={"선택"} |
111 | 111 |
// onClick={openModal2} |
112 | 112 |
/> |
... | ... | @@ -118,13 +118,13 @@ |
118 | 118 |
serialNumber: "ABCD-1", |
119 | 119 |
date: "2022.12.02", |
120 | 120 |
agency: (<Button |
121 |
- className={"btn-small gray-btn"} |
|
121 |
+ className={"btn-small lightgray-btn"} |
|
122 | 122 |
btnName={"선택"} |
123 | 123 |
onClick={openModal} |
124 | 124 |
/>), |
125 | 125 |
senior: ( |
126 | 126 |
<Button |
127 |
- className={"btn-small gray-btn"} |
|
127 |
+ className={"btn-small lightgray-btn"} |
|
128 | 128 |
btnName={"선택"} |
129 | 129 |
// onClick={openModal2} |
130 | 130 |
/> |
... | ... | @@ -405,14 +405,14 @@ |
405 | 405 |
date: "2022.12.02", |
406 | 406 |
agency: ( |
407 | 407 |
<Button |
408 |
- className={"btn-small gray-btn"} |
|
408 |
+ className={"btn-small lightgray-btn"} |
|
409 | 409 |
btnName={"선택"} |
410 | 410 |
onClick={openModal} |
411 | 411 |
/> |
412 | 412 |
), |
413 | 413 |
senior: ( |
414 | 414 |
<Button |
415 |
- className={"btn-small gray-btn"} |
|
415 |
+ className={"btn-small lightgray-btn"} |
|
416 | 416 |
btnName={"선택"} |
417 | 417 |
// onClick={openModal2} |
418 | 418 |
/> |
... | ... | @@ -424,13 +424,13 @@ |
424 | 424 |
serialNumber: "ABCD-1", |
425 | 425 |
date: "2022.12.02", |
426 | 426 |
agency: (<Button |
427 |
- className={"btn-small gray-btn"} |
|
427 |
+ className={"btn-small lightgray-btn"} |
|
428 | 428 |
btnName={"선택"} |
429 | 429 |
onClick={openModal} |
430 | 430 |
/>), |
431 | 431 |
senior: ( |
432 | 432 |
<Button |
433 |
- className={"btn-small gray-btn"} |
|
433 |
+ className={"btn-small lightgray-btn"} |
|
434 | 434 |
btnName={"선택"} |
435 | 435 |
// onClick={openModal2} |
436 | 436 |
/> |
... | ... | @@ -476,7 +476,7 @@ |
476 | 476 |
{ |
477 | 477 |
No: 1, |
478 | 478 |
agency: ( |
479 |
- <div> |
|
479 |
+ <div className="select-agency"> |
|
480 | 480 |
<Category /> |
481 | 481 |
</div> |
482 | 482 |
) |
... | ... | @@ -533,7 +533,7 @@ |
533 | 533 |
<SubTitle explanation={"장비 클릭 시 지난 매칭이력을 확인할 수 있습니다."} /> |
534 | 534 |
<div className="btn-wrap flex-end margin-bottom "> |
535 | 535 |
<Button |
536 |
- className={"btn-small green-btn"} |
|
536 |
+ className={"btn-small gray-btn"} |
|
537 | 537 |
btnName={"등록"} |
538 | 538 |
onClick={openModal3} |
539 | 539 |
/> |
... | ... | @@ -623,12 +623,12 @@ |
623 | 623 |
<SubTitle explanation={"장비 클릭 시 지난 매칭이력을 확인할 수 있습니다."} /> |
624 | 624 |
<div className="btn-wrap flex-end margin-bottom "> |
625 | 625 |
<Button |
626 |
- className={"btn-small green-btn"} |
|
626 |
+ className={"btn-small gray-btn"} |
|
627 | 627 |
btnName={"LOG"} |
628 | 628 |
onClick={logCheck} |
629 | 629 |
/> |
630 | 630 |
<Button |
631 |
- className={"btn-small green-btn"} |
|
631 |
+ className={"btn-small gray-btn"} |
|
632 | 632 |
btnName={"등록"} |
633 | 633 |
onClick={openModal3} |
634 | 634 |
/> |
... | ... | @@ -765,13 +765,6 @@ |
765 | 765 |
contentKey={key4} |
766 | 766 |
/> |
767 | 767 |
</div> |
768 |
- <div> |
|
769 |
- <Button |
|
770 |
- className={"btn-100 green-btn"} |
|
771 |
- btnName={"닫기"} |
|
772 |
- onClick={closeModal} |
|
773 |
- /> |
|
774 |
- </div> |
|
775 | 768 |
</div> |
776 | 769 |
</Modal> |
777 | 770 |
<Modal open={seniorMatchModal} close={seniorMatchModalClose} header="대상자 장비 등록"> |
... | ... | @@ -849,9 +842,9 @@ |
849 | 842 |
</tbody> |
850 | 843 |
</table> |
851 | 844 |
</div> |
852 |
- <div> |
|
845 |
+ <div className="flex-center"> |
|
853 | 846 |
<Button |
854 |
- className={"btn-100 green-btn"} |
|
847 |
+ className={"btn-small red-btn"} |
|
855 | 848 |
btnName={"저장"} |
856 | 849 |
onClick={closeModal3} |
857 | 850 |
/> |
--- client/views/pages/healthcare/BloodSelect.jsx
... | ... | @@ -1,139 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import { useNavigate } from "react-router"; | |
3 | -import DetailSearch from "../../component/DetailSearch.jsx"; | |
4 | -import Table from "../../component/Table.jsx"; | |
5 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
6 | -import SubTitle from "../../component/SubTitle.jsx"; | |
7 | -import Button from "../../component/Button.jsx"; | |
8 | -import Modal from "../../component/Modal.jsx"; | |
9 | - | |
10 | -export default function Questionnaire() { | |
11 | - const navigate = useNavigate(); | |
12 | - const [modalOpen, setModalOpen] = React.useState(false); | |
13 | - const openModal = () => { | |
14 | - setModalOpen(true); | |
15 | - }; | |
16 | - const closeModal = () => { | |
17 | - setModalOpen(false); | |
18 | - }; | |
19 | - | |
20 | - const [modalOpen2, setModalOpen2] = React.useState(false); | |
21 | - const openModal2 = () => { | |
22 | - setModalOpen2(true); | |
23 | - }; | |
24 | - const closeModal2 = () => { | |
25 | - setModalOpen2(false); | |
26 | - }; | |
27 | - //게시판 | |
28 | - const thead = ["No", "이름","대상자등록번호", "생년월일", "연락처", "주소", "최근등록일", "최고혈압", "최저혈압", "맥박수","혈압측정",]; | |
29 | - const key = ["No", "name","number", "birth", "phone", "address","recent", "high","low","pulse", "average", ]; | |
30 | - const content = [ | |
31 | - { | |
32 | - No: 1, | |
33 | - name: "김복남", | |
34 | - number: "00000001", | |
35 | - birth: "1948.11.15", | |
36 | - phone: "010-1234-5678", | |
37 | - address: "경상북도 군위군 삼국유사면", | |
38 | - recent:"2020-01-05", | |
39 | - high:"130", | |
40 | - low:"90", | |
41 | - pulse:"60", | |
42 | - average: ( | |
43 | - <Button | |
44 | - className={"btn-small gray-btn"} | |
45 | - btnName={"등록"} | |
46 | - onClick={openModal} | |
47 | - /> | |
48 | - ), | |
49 | - }, | |
50 | - ]; | |
51 | - | |
52 | - const thead1 = [ | |
53 | - "No", | |
54 | - "측정 일자", | |
55 | - "최고 혈압", | |
56 | - "최저 혈압", | |
57 | - "맥박수", | |
58 | - "작성자", | |
59 | - ]; | |
60 | - const key1 = ["No", "date", "high","low", "pulse", "writer"]; | |
61 | - const content1 = [ | |
62 | - { | |
63 | - No: 1, | |
64 | - date: "2023-01-25", | |
65 | - high: "130", | |
66 | - low: "90", | |
67 | - pulse: "60", | |
68 | - writer: "정간호", | |
69 | - }, | |
70 | - ]; | |
71 | - | |
72 | - return ( | |
73 | - <main> | |
74 | - <Modal open={modalOpen} close={closeModal} header="혈압측정 등록"> | |
75 | - <div className="board-wrap"> | |
76 | - <div> | |
77 | - <table className="margin-bottom2"> | |
78 | - <tr> | |
79 | - <th>대상자명</th> | |
80 | - <td className="flex-start"> | |
81 | - <input type="text" placeholder="자동입력"/> | |
82 | - </td> | |
83 | - </tr> | |
84 | - <tr> | |
85 | - <th>측정일자</th> | |
86 | - <td className="flex-start"> | |
87 | - <input type="text" placeholder="자동입력"/> | |
88 | - </td> | |
89 | - </tr> | |
90 | - <tr> | |
91 | - <th>최고혈압</th> | |
92 | - <td className="flex-start"> | |
93 | - <input type="text" /> | |
94 | - </td> | |
95 | - </tr> | |
96 | - <tr> | |
97 | - <th>최저혈압</th> | |
98 | - <td className="flex-start"> | |
99 | - <input type="text" /> | |
100 | - </td> | |
101 | - </tr> | |
102 | - <tr> | |
103 | - <th>맥박수</th> | |
104 | - <td className="flex-start"> | |
105 | - <input type="text" /> | |
106 | - </td> | |
107 | - </tr> | |
108 | - | |
109 | - </table> | |
110 | - <div className="btn-wrap flex-center margin-bottom5"> | |
111 | - <Button className={"btn-small green-btn"} btnName={"저장"} /> | |
112 | - </div> | |
113 | - </div> | |
114 | - <Table | |
115 | - className={"caregiver-user "} | |
116 | - head={thead1} | |
117 | - contents={content1} | |
118 | - contentKey={key1} | |
119 | - /> | |
120 | - </div> | |
121 | - </Modal> | |
122 | - | |
123 | - <div className="content-wrap"> | |
124 | - <ContentTitle contentTitle={"혈압 관리"} /> | |
125 | - <div> | |
126 | - <DetailSearch /> | |
127 | - <div className="board-wrap"> | |
128 | - <Table | |
129 | - className={"medicine-table"} | |
130 | - head={thead} | |
131 | - contents={content} | |
132 | - contentKey={key} | |
133 | - /> | |
134 | - </div> | |
135 | - </div> | |
136 | - </div> | |
137 | - </main> | |
138 | - ); | |
139 | -} |
--- client/views/pages/healthcare/ECGSelect.jsx
... | ... | @@ -1,174 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import { useNavigate } from "react-router"; | |
3 | -import DetailSearch from "../../component/DetailSearch.jsx"; | |
4 | -import Table from "../../component/Table.jsx"; | |
5 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
6 | -import SubTitle from "../../component/SubTitle.jsx"; | |
7 | -import Button from "../../component/Button.jsx"; | |
8 | -import Modal from "../../component/Modal.jsx"; | |
9 | - | |
10 | -export default function ECGSelect() { | |
11 | - const navigate = useNavigate(); | |
12 | - const [modalOpen, setModalOpen] = React.useState(false); | |
13 | - const openModal = () => { | |
14 | - setModalOpen(true); | |
15 | - }; | |
16 | - const closeModal = () => { | |
17 | - setModalOpen(false); | |
18 | - }; | |
19 | - | |
20 | - const [modalOpen2, setModalOpen2] = React.useState(false); | |
21 | - const openModal2 = () => { | |
22 | - setModalOpen2(true); | |
23 | - }; | |
24 | - const closeModal2 = () => { | |
25 | - setModalOpen2(false); | |
26 | - }; | |
27 | - //게시판 | |
28 | - const thead = ["No", "이름","대상자등록번호", "생년월일", "연락처", "주소", "심전도"]; | |
29 | - const key = ["No", "name","number", "birth", "phone", "address", "ECG"]; | |
30 | - const content = [ | |
31 | - { | |
32 | - No: 1, | |
33 | - name: "김복남", | |
34 | - number: "00000001", | |
35 | - birth: "1948.11.15", | |
36 | - phone: "010-1234-5678", | |
37 | - address: "경상북도 군위군 삼국유사면", | |
38 | - ECG: ( | |
39 | - <Button | |
40 | - className={"btn-small gray-btn"} | |
41 | - btnName={"등록"} | |
42 | - onClick={openModal} | |
43 | - /> | |
44 | - ), | |
45 | - }, | |
46 | - ]; | |
47 | - | |
48 | - const thead1 = [ | |
49 | - "No", | |
50 | - "측정일자", | |
51 | - "측정파일", | |
52 | - "등록자", | |
53 | - ]; | |
54 | - const key1 = ["No", "date", "file","writer",]; | |
55 | - const content1 = [ | |
56 | - { | |
57 | - No: 1, | |
58 | - date: "2023-01-25", | |
59 | - file: ( <a href="" download="테스트">다운로드</a>), | |
60 | - writer: "정간호", | |
61 | - }, | |
62 | - ]; | |
63 | - | |
64 | - return ( | |
65 | - <main> | |
66 | - <Modal open={modalOpen} close={closeModal} header="혈압측정 등록"> | |
67 | - <div className="board-wrap"> | |
68 | - <div> | |
69 | - <table className="margin-bottom2"> | |
70 | - <tr> | |
71 | - <th>대상자명</th> | |
72 | - <td className="flex-start"> | |
73 | - <input type="text" placeholder="자동입력"/> | |
74 | - </td> | |
75 | - </tr> | |
76 | - <tr> | |
77 | - <th>측정일자</th> | |
78 | - <td className="flex-start"> | |
79 | - <input type="text" placeholder="자동입력"/> | |
80 | - </td> | |
81 | - </tr> | |
82 | - <tr> | |
83 | - <th>측정파일</th> | |
84 | - <td className="flex-start"> | |
85 | - <input type="file"></input> | |
86 | - </td> | |
87 | - </tr> | |
88 | - <tr> | |
89 | - <th>등록자</th> | |
90 | - <td className="flex-start"> | |
91 | - <input type="text" placeholder="자동입력"/> | |
92 | - </td> | |
93 | - </tr> | |
94 | - | |
95 | - | |
96 | - </table> | |
97 | - <div className="btn-wrap flex-center margin-bottom5"> | |
98 | - <Button className={"btn-small green-btn"} btnName={"저장"} /> | |
99 | - </div> | |
100 | - </div> | |
101 | - <Table | |
102 | - className={"caregiver-user "} | |
103 | - head={thead1} | |
104 | - contents={content1} | |
105 | - contentKey={key1} | |
106 | - /> | |
107 | - </div> | |
108 | - </Modal> | |
109 | - | |
110 | - <Modal open={modalOpen2} close={closeModal2} header="진료 기록"> | |
111 | - <div className="board-wrap"> | |
112 | - <table className="margin-bottom2 senior-insert"> | |
113 | - <tr> | |
114 | - <th>진료일자</th> | |
115 | - <td> | |
116 | - <input type="text" placeholder="자동입력"/> | |
117 | - </td> | |
118 | - </tr> | |
119 | - <tr> | |
120 | - <th>진료 사유</th> | |
121 | - <td className="flex-start gender"> | |
122 | - <input type="text" /> | |
123 | - </td> | |
124 | - </tr> | |
125 | - <tr> | |
126 | - <th>진료 내용</th> | |
127 | - <td colSpan={3}> | |
128 | - <input type="text" /> | |
129 | - </td> | |
130 | - </tr> | |
131 | - <tr> | |
132 | - <th>작성자</th> | |
133 | - <td colSpan={3}> | |
134 | - <input type="text" placeholder="자동입력"/> | |
135 | - </td> | |
136 | - </tr> | |
137 | - </table> | |
138 | - <div className="btn-wrap flex-center margin-bottom5"> | |
139 | - <Button | |
140 | - className={"btn-small green-btn"} | |
141 | - btnName={"추가하기"} | |
142 | - onClick={() => { | |
143 | - // navigate("/SeniorInsert"); | |
144 | - }} | |
145 | - /> | |
146 | - </div> | |
147 | - <div> | |
148 | - <Table | |
149 | - className={"caregiver-user"} | |
150 | - head={thead1} | |
151 | - contents={content1} | |
152 | - contentKey={key1} | |
153 | - /> | |
154 | - </div> | |
155 | - </div> | |
156 | - </Modal> | |
157 | - | |
158 | - <div className="content-wrap"> | |
159 | - <ContentTitle contentTitle={"심전도 관리"} /> | |
160 | - <div> | |
161 | - <DetailSearch /> | |
162 | - <div className="board-wrap"> | |
163 | - <Table | |
164 | - className={"medicine-table"} | |
165 | - head={thead} | |
166 | - contents={content} | |
167 | - contentKey={key} | |
168 | - /> | |
169 | - </div> | |
170 | - </div> | |
171 | - </div> | |
172 | - </main> | |
173 | - ); | |
174 | -} |
+++ client/views/pages/healthcare/Healthcare.jsx
... | ... | @@ -0,0 +1,190 @@ |
1 | +import React, { useState } from "react"; | |
2 | +import ContentTitle from "../../component/ContentTitle.jsx"; | |
3 | +import SubTitle from "../../component/SubTitle.jsx"; | |
4 | +import Modal from "../../component/Modal.jsx"; | |
5 | +import Table from "../../component/Table.jsx"; | |
6 | +import Button from "../../component/Button.jsx"; | |
7 | +import { useNavigate } from "react-router"; | |
8 | +import { width } from "@mui/system"; | |
9 | +import DetailSearch from "../../component/DetailSearch.jsx"; | |
10 | +import DetailTitle from "../../component/DetailTitle.jsx"; | |
11 | + | |
12 | +export default function UserAuthoriySelect() { | |
13 | + const navigate = useNavigate(); | |
14 | + const [tapName, setTapName] = useState("복약관리") | |
15 | + const thead = [ | |
16 | + "No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", "최근 복약률", | |
17 | + ]; | |
18 | + const key = [ | |
19 | + "No", "name", "number", "birth", "phone", "address", "average" | |
20 | + ]; | |
21 | + const content = [ | |
22 | + { | |
23 | + No: 1, | |
24 | + name: "김복남", | |
25 | + number: "00000001", | |
26 | + birth: "1948.11.15", | |
27 | + phone: "010-1234-5678", | |
28 | + address: "경상북도 군위군 삼국유사면", | |
29 | + agency: "A복지관", | |
30 | + protect: "홍길동", | |
31 | + average: "0%", | |
32 | + }, | |
33 | + | |
34 | + ]; | |
35 | + | |
36 | + const thead1 = [ | |
37 | + "No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", "최근 최저 온도", "최근 최고 온도", | |
38 | + ]; | |
39 | + const key1 = ["No", "name", "number", "birth", "phone", "address", "low", "high" | |
40 | + ]; | |
41 | + const content1 = [ | |
42 | + { | |
43 | + No: 1, | |
44 | + name: "김복남", | |
45 | + number: "00000001", | |
46 | + birth: "1948.11.15", | |
47 | + phone: "010-1234-5678", | |
48 | + address: "경상북도 군위군 삼국유사면", | |
49 | + agency: "A복지관", | |
50 | + protect: "홍길동", | |
51 | + high: "18°C", | |
52 | + low: "18°C", | |
53 | + } | |
54 | + ]; | |
55 | + const thead2 = [ | |
56 | + "No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", , "최근 방문일", "방문목적", "상세사유", | |
57 | + ]; | |
58 | + const key2 = [ | |
59 | + "No", "name", "number", "birth", "phone", "address", "visit", "reason", "reason_detail" | |
60 | + ]; | |
61 | + const content2 = [ | |
62 | + { | |
63 | + No: 1, | |
64 | + name: "김복남", | |
65 | + number: "00000001", | |
66 | + birth: "1948.11.15", | |
67 | + phone: "010-1234-5678", | |
68 | + address: "경상북도 군위군 삼국유사면", | |
69 | + visit: "2023.02.08", | |
70 | + reason: "정기방문", | |
71 | + reason_detail: "정기방문일", | |
72 | + }, | |
73 | + ]; | |
74 | + const data = [ | |
75 | + { | |
76 | + id: 1, | |
77 | + title: "복약관리", | |
78 | + description: ( | |
79 | + <Table | |
80 | + className={"protector-user"} | |
81 | + head={thead} | |
82 | + contents={content} | |
83 | + contentKey={key} | |
84 | + onClick={() => { | |
85 | + navigate("/MedicineCareSelectOne"); | |
86 | + }} | |
87 | + /> | |
88 | + ), | |
89 | + }, | |
90 | + { | |
91 | + id: 2, | |
92 | + title: "댁내온도관리", | |
93 | + description: ( | |
94 | + <Table | |
95 | + className={"senior-table"} | |
96 | + head={thead1} | |
97 | + contents={content1} | |
98 | + contentKey={key1} | |
99 | + onClick={() => { | |
100 | + navigate("/TemperatureManagementSelectOne"); | |
101 | + }} | |
102 | + /> | |
103 | + ), | |
104 | + }, | |
105 | + { | |
106 | + id: 3, | |
107 | + title: "방문관리", | |
108 | + description: ( | |
109 | + <Table | |
110 | + className={"senior-table"} | |
111 | + head={thead2} | |
112 | + contents={content2} | |
113 | + contentKey={key2} | |
114 | + onClick={() => { | |
115 | + navigate("/VisitSelectOne"); | |
116 | + }} | |
117 | + /> | |
118 | + ), | |
119 | + }, | |
120 | + ] | |
121 | + const [index, setIndex] = React.useState(1); | |
122 | + | |
123 | + return ( | |
124 | + <main> | |
125 | + <ContentTitle contentTitle={"건강 관리"} explanation={"대상자의 복약/댁내온도/방문 관리를 할 수 있습니다."} /> | |
126 | + <div className="content-wrap"> | |
127 | + | |
128 | + <div | |
129 | + style={{ height: "calc(100% - 61px)" }} | |
130 | + > | |
131 | + <div className="right" style={{ height: "100%", }}> | |
132 | + <div style={{ height: "100%" }}> | |
133 | + <div className="tab-container"> | |
134 | + <ul className="tab-menu-mobile"> | |
135 | + <div> | |
136 | + <SubTitle | |
137 | + className="margin-bottom" | |
138 | + subtitle={"사용자 선택"} | |
139 | + explanation={"사용자 별로 선택 후 관리할 수 있습니다. "} | |
140 | + /> | |
141 | + </div> | |
142 | + <select name="" id="" style={{ width: "100%" }}> | |
143 | + <option value="사용자선택">보호자</option> | |
144 | + <option value="사용자선택">보호사</option> | |
145 | + <option value="사용자선택">병원</option> | |
146 | + <option value="사용자선택">지자체</option> | |
147 | + <option value="사용자선택">관리자</option> | |
148 | + </select> | |
149 | + </ul> | |
150 | + <ul className="tab-menu flex-end"> | |
151 | + {data.map((item) => ( | |
152 | + <li | |
153 | + key={item.id} | |
154 | + className={index === item.id ? "active" : null} | |
155 | + onClick={() => setIndex(item.id)} | |
156 | + > | |
157 | + {item.title} | |
158 | + </li> | |
159 | + ))} | |
160 | + </ul> | |
161 | + <div className="content-wrap userlist"> | |
162 | + <DetailTitle contentTitle={`${tapName}`} /> | |
163 | + <div className="search-management flex-start margin-bottom2"> | |
164 | + <DetailSearch /> | |
165 | + </div> | |
166 | + <div className="flex"> | |
167 | + <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom" /> | |
168 | + <div className="flex searchselect"> | |
169 | + <input type="radio"/> | |
170 | + <label htmlFor="">나의 대상자 보기</label> | |
171 | + <input type="radio" /> | |
172 | + <label htmlFor="">전체 대상자 보기</label> | |
173 | + </div> | |
174 | + </div> | |
175 | + <ul className="tab-content"> | |
176 | + {data | |
177 | + .filter((item) => index === item.id) | |
178 | + .map((item) => ( | |
179 | + <li>{item.description}</li> | |
180 | + ))} | |
181 | + </ul> | |
182 | + </div> | |
183 | + </div> | |
184 | + </div> | |
185 | + </div> | |
186 | + </div> | |
187 | + </div> | |
188 | + </main> | |
189 | + ); | |
190 | +} |
+++ client/views/pages/healthcare/Medicalcare.jsx
... | ... | @@ -0,0 +1,223 @@ |
1 | +import React, { useState } from "react"; | |
2 | +import ContentTitle from "../../component/ContentTitle.jsx"; | |
3 | +import SubTitle from "../../component/SubTitle.jsx"; | |
4 | +import Modal from "../../component/Modal.jsx"; | |
5 | +import Table from "../../component/Table.jsx"; | |
6 | +import Button from "../../component/Button.jsx"; | |
7 | +import { useNavigate } from "react-router"; | |
8 | +import { width } from "@mui/system"; | |
9 | +import DetailSearch from "../../component/DetailSearch.jsx"; | |
10 | +import DetailTitle from "../../component/DetailTitle.jsx"; | |
11 | +import Modal_Questionnaire from "../../component/Modal_Questionnaire.jsx"; | |
12 | +import Modal_MedicalHistory from "../../component/Modal_MedicalHistory.jsx"; | |
13 | +import Modal_Blood from "../../component/Modal_Blood.jsx"; | |
14 | +import Modal_ECG from "../../component/Modal_ECG.jsx"; | |
15 | + | |
16 | +export default function UserAuthoriySelect() { | |
17 | + const navigate = useNavigate(); | |
18 | + const [modalOpen, setModalOpen] = React.useState(false); | |
19 | + const openModal = () => { | |
20 | + setModalOpen(true); | |
21 | + }; | |
22 | + const closeModal = () => { | |
23 | + setModalOpen(false); | |
24 | + }; | |
25 | + | |
26 | + const [modalOpen2, setModalOpen2] = React.useState(false); | |
27 | + const openModal2 = () => { | |
28 | + setModalOpen2(true); | |
29 | + }; | |
30 | + const closeModal2 = () => { | |
31 | + setModalOpen2(false); | |
32 | + }; | |
33 | + const [modalOpen3, setModalOpen3] = React.useState(false); | |
34 | + const openModal3 = () => { | |
35 | + setModalOpen3(true); | |
36 | + }; | |
37 | + const closeModal3 = () => { | |
38 | + setModalOpen3(false); | |
39 | + }; | |
40 | + const [modalOpen4, setModalOpen4] = React.useState(false); | |
41 | + const openModal4 = () => { | |
42 | + setModalOpen4(true); | |
43 | + }; | |
44 | + const closeModal4 = () => { | |
45 | + setModalOpen4(false); | |
46 | + }; | |
47 | + const [tapName, setTapName] = useState("문진표 관리") | |
48 | + const thead = [ | |
49 | + "No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", "문진표", "내원기록" | |
50 | + ]; | |
51 | + const key = [ | |
52 | + "No", "name", "number", "birth", "phone", "address", "average", "record" | |
53 | + ]; | |
54 | + const content = [ | |
55 | + { | |
56 | + No: 1, | |
57 | + name: "김복남", | |
58 | + number: "00000001", | |
59 | + birth: "1948.11.15", | |
60 | + phone: "010-1234-5678", | |
61 | + address: "경상북도 군위군 삼국유사면", | |
62 | + average: ( | |
63 | + <Button | |
64 | + className={"btn-small gray-btn"} | |
65 | + btnName={"작성하기"} | |
66 | + onClick={openModal} | |
67 | + /> | |
68 | + ), | |
69 | + record: ( | |
70 | + <Button | |
71 | + className={"btn-small gray-btn"} | |
72 | + btnName={"진료 내역"} | |
73 | + onClick={openModal2} | |
74 | + /> | |
75 | + ), | |
76 | + }, | |
77 | + | |
78 | + ]; | |
79 | + | |
80 | + const thead1 = [ | |
81 | + "No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", "심전도" | |
82 | + ]; | |
83 | + const key1 = ["No", "name", "number", "birth", "phone", "address", "ECG" | |
84 | + ]; | |
85 | + const content1 = [ | |
86 | + { | |
87 | + No: 1, | |
88 | + name: "김복남", | |
89 | + number: "00000001", | |
90 | + birth: "1948.11.15", | |
91 | + phone: "010-1234-5678", | |
92 | + address: "경상북도 군위군 삼국유사면", | |
93 | + ECG: ( | |
94 | + <Button | |
95 | + className={"btn-small gray-btn"} | |
96 | + btnName={"등록"} | |
97 | + onClick={openModal3} | |
98 | + /> | |
99 | + ), | |
100 | + } | |
101 | + ]; | |
102 | + const thead2 = [ | |
103 | + "No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", "최근등록일", "최고혈압", "최저혈압", "맥박수", "혈압측정", | |
104 | + ]; | |
105 | + const key2 = [ | |
106 | + "No", "name", "number", "birth", "phone", "address", "recent", "high", "low", "pulse", "average", | |
107 | + ]; | |
108 | + const content2 = [ | |
109 | + { | |
110 | + No: 1, | |
111 | + name: "김복남", | |
112 | + number: "00000001", | |
113 | + birth: "1948.11.15", | |
114 | + phone: "010-1234-5678", | |
115 | + address: "경상북도 군위군 삼국유사면", | |
116 | + recent: "2020-01-05", | |
117 | + high: "130", | |
118 | + low: "90", | |
119 | + pulse: "60", | |
120 | + average: ( | |
121 | + <Button | |
122 | + className={"btn-small gray-btn"} | |
123 | + btnName={"등록"} | |
124 | + onClick={openModal4} | |
125 | + /> | |
126 | + ), | |
127 | + }, | |
128 | + ]; | |
129 | + const data = [ | |
130 | + { | |
131 | + id: 1, | |
132 | + title: "문진표 관리", | |
133 | + description: ( | |
134 | + <Table | |
135 | + className={"protector-user"} | |
136 | + head={thead} | |
137 | + contents={content} | |
138 | + contentKey={key} | |
139 | + /> | |
140 | + ), | |
141 | + }, | |
142 | + { | |
143 | + id: 2, | |
144 | + title: "심전도 관리", | |
145 | + description: ( | |
146 | + <Table | |
147 | + className={"senior-table"} | |
148 | + head={thead1} | |
149 | + contents={content1} | |
150 | + contentKey={key1} | |
151 | + /> | |
152 | + ), | |
153 | + }, | |
154 | + { | |
155 | + id: 3, | |
156 | + title: "혈압 관리", | |
157 | + description: ( | |
158 | + <Table | |
159 | + className={"senior-table"} | |
160 | + head={thead2} | |
161 | + contents={content2} | |
162 | + contentKey={key2} | |
163 | + /> | |
164 | + ), | |
165 | + }, | |
166 | + ] | |
167 | + const [index, setIndex] = React.useState(1); | |
168 | + | |
169 | + return ( | |
170 | + <main> | |
171 | + | |
172 | + <ContentTitle contentTitle={"진료 관리"} explanation={"대상자의 문진표/심전도/혈압 관리를 할 수 있습니다."} /> | |
173 | + <div className="content-wrap"> | |
174 | + <Modal_Questionnaire open={modalOpen} close={closeModal} /> | |
175 | + <Modal_MedicalHistory open={modalOpen2} close={closeModal2} /> | |
176 | + <Modal_ECG open={modalOpen3} close={closeModal3} /> | |
177 | + <Modal_Blood open={modalOpen4} close={closeModal4} /> | |
178 | + <div | |
179 | + style={{ height: "calc(100% - 61px)" }} | |
180 | + > | |
181 | + <div className="right" style={{ height: "100%", }}> | |
182 | + <div style={{ height: "100%" }}> | |
183 | + <div className="tab-container"> | |
184 | + <ul className="tab-menu flex-end"> | |
185 | + {data.map((item) => ( | |
186 | + <li | |
187 | + key={item.id} | |
188 | + className={index === item.id ? "active" : null} | |
189 | + onClick={() => setIndex(item.id)} | |
190 | + > | |
191 | + {item.title} | |
192 | + </li> | |
193 | + ))} | |
194 | + </ul> | |
195 | + <div className="content-wrap userlist"> | |
196 | + <DetailTitle contentTitle={`${tapName}`} /> | |
197 | + <div className="search-management flex-start margin-bottom2"> | |
198 | + <DetailSearch /> | |
199 | + </div> | |
200 | + <div className="flex-end margin-bottom"> | |
201 | + <div className="flex searchselect"> | |
202 | + <input type="radio" /> | |
203 | + <label htmlFor="">나의 대상자 보기</label> | |
204 | + <input type="radio" /> | |
205 | + <label htmlFor="">전체 대상자 보기</label> | |
206 | + </div> | |
207 | + </div> | |
208 | + <ul className="tab-content"> | |
209 | + {data | |
210 | + .filter((item) => index === item.id) | |
211 | + .map((item) => ( | |
212 | + <li>{item.description}</li> | |
213 | + ))} | |
214 | + </ul> | |
215 | + </div> | |
216 | + </div> | |
217 | + </div> | |
218 | + </div> | |
219 | + </div> | |
220 | + </div> | |
221 | + </main> | |
222 | + ); | |
223 | +} |
--- client/views/pages/healthcare/Questionnaire.jsx
... | ... | @@ -1,231 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import { useNavigate } from "react-router"; | |
3 | -import DetailSearch from "../../component/DetailSearch.jsx"; | |
4 | -import Table from "../../component/Table.jsx"; | |
5 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
6 | -import SubTitle from "../../component/SubTitle.jsx"; | |
7 | -import Button from "../../component/Button.jsx"; | |
8 | -import Modal from "../../component/Modal.jsx"; | |
9 | - | |
10 | -export default function Questionnaire() { | |
11 | - const navigate = useNavigate(); | |
12 | - const [modalOpen, setModalOpen] = React.useState(false); | |
13 | - const openModal = () => { | |
14 | - setModalOpen(true); | |
15 | - }; | |
16 | - const closeModal = () => { | |
17 | - setModalOpen(false); | |
18 | - }; | |
19 | - | |
20 | - const [modalOpen2, setModalOpen2] = React.useState(false); | |
21 | - const openModal2 = () => { | |
22 | - setModalOpen2(true); | |
23 | - }; | |
24 | - const closeModal2 = () => { | |
25 | - setModalOpen2(false); | |
26 | - }; | |
27 | - //게시판 | |
28 | - const thead = ["No", "이름","대상자등록번호", "생년월일", "연락처", "주소", "문진표", "내원기록"]; | |
29 | - const key = ["No", "name","number", "birth", "phone", "address", "average", "record"]; | |
30 | - const content = [ | |
31 | - { | |
32 | - No: 1, | |
33 | - name: "김복남", | |
34 | - number: "00000001", | |
35 | - birth: "1948.11.15", | |
36 | - phone: "010-1234-5678", | |
37 | - address: "경상북도 군위군 삼국유사면", | |
38 | - average: ( | |
39 | - <Button | |
40 | - className={"btn-small gray-btn"} | |
41 | - btnName={"작성하기"} | |
42 | - onClick={openModal} | |
43 | - /> | |
44 | - ), | |
45 | - record: ( | |
46 | - <Button | |
47 | - className={"btn-small gray-btn"} | |
48 | - btnName={"진료 내역"} | |
49 | - onClick={openModal2} | |
50 | - /> | |
51 | - ), | |
52 | - }, | |
53 | - { | |
54 | - No: 2, | |
55 | - name: "홍길동", | |
56 | - number: "00000001", | |
57 | - birth: "1948.08.02", | |
58 | - phone: "010-1234-3333", | |
59 | - address: "경상북도 군위군 군위읍", | |
60 | - average: ( | |
61 | - <Button | |
62 | - className={"btn-small gray-btn"} | |
63 | - btnName={"보기"} | |
64 | - onClick={openModal} | |
65 | - /> | |
66 | - ), | |
67 | - record: ( | |
68 | - <Button | |
69 | - className={"btn-small gray-btn"} | |
70 | - btnName={"진료 내역"} | |
71 | - onClick={openModal2} | |
72 | - /> | |
73 | - ), | |
74 | - }, | |
75 | - ]; | |
76 | - | |
77 | - const thead1 = [ | |
78 | - "No", | |
79 | - "진료 일자", | |
80 | - "진료 사유", | |
81 | - "진료 내용", | |
82 | - "기록 작성자 명", | |
83 | - ]; | |
84 | - const key1 = ["No", "date", "reason","content", "name"]; | |
85 | - const content1 = [ | |
86 | - { | |
87 | - No: 1, | |
88 | - date: "2023-01-25", | |
89 | - reason: "정기 내원", | |
90 | - content: "건강검진 진행, 이상 없음", | |
91 | - name: "정간호", | |
92 | - }, | |
93 | - ]; | |
94 | - | |
95 | - return ( | |
96 | - <main> | |
97 | - <Modal open={modalOpen} close={closeModal} header="문진표 작성"> | |
98 | - <div className="board-wrap"> | |
99 | - <div> | |
100 | - <table className="margin-bottom2 questionnaire-table"> | |
101 | - <tr> | |
102 | - <th>흡연을 하십니까?</th> | |
103 | - <td className="flex-start"> | |
104 | - <input type="radio" /> | |
105 | - <label for="gender">예</label> | |
106 | - <input type="radio" /> | |
107 | - <label for="gender">아니요</label> | |
108 | - </td> | |
109 | - </tr> | |
110 | - <tr> | |
111 | - <th>음주를 하십니까?</th> | |
112 | - <td className="flex-start"> | |
113 | - <input type="radio" /> | |
114 | - <label for="gender">예</label> | |
115 | - <input type="radio" /> | |
116 | - <label for="gender">아니요</label> | |
117 | - </td> | |
118 | - </tr> | |
119 | - <tr> | |
120 | - <th>일주일에 운동을 몇회 하십니까?</th> | |
121 | - <td className="flex-start"> | |
122 | - <input type="radio" /> | |
123 | - <label for="gender">안함</label> | |
124 | - <input type="radio" /> | |
125 | - <label for="gender">3회 미만</label> | |
126 | - <input type="radio" /> | |
127 | - <label for="gender">3회 이상</label> | |
128 | - <input type="radio" /> | |
129 | - <label for="gender">매일</label> | |
130 | - </td> | |
131 | - </tr> | |
132 | - <tr> | |
133 | - <th>최근 3개월 동안 갑작스런 체중 변화가 있었습니까?</th> | |
134 | - <td className="flex-start"> | |
135 | - <input type="radio" /> | |
136 | - <label for="gender">예 - 증가</label> | |
137 | - <input type="radio" /> | |
138 | - <label for="gender">예 - 감소</label> | |
139 | - <input type="radio" /> | |
140 | - <label for="gender">아니요</label> | |
141 | - </td> | |
142 | - </tr> | |
143 | - <tr> | |
144 | - <th>현재 복용중인 약이 있으면 체크를 해주세요.</th> | |
145 | - <td className="flex-start"> | |
146 | - <input type="checkbox" /> | |
147 | - <label for="gender">없음</label> | |
148 | - <input type="checkbox" /> | |
149 | - <label for="gender">아스피린(항혈소판제)</label> | |
150 | - <input type="checkbox" /> | |
151 | - <label for="gender">당뇨약</label> | |
152 | - <input type="checkbox" /> | |
153 | - <label for="gender">고혈압약</label> | |
154 | - <input type="checkbox" /> | |
155 | - <label for="gender">기타</label><input type="text" /> | |
156 | - </td> | |
157 | - </tr> | |
158 | - </table> | |
159 | - </div> | |
160 | - <div className="flex-center"><Button className={"btn-small green-btn"} btnName={"저장"} /></div > | |
161 | - </div> | |
162 | - </Modal> | |
163 | - | |
164 | - <Modal open={modalOpen2} close={closeModal2} header="진료 기록"> | |
165 | - <div className="board-wrap"> | |
166 | - <table className="margin-bottom2 senior-insert"> | |
167 | - <tr> | |
168 | - <th>진료일자</th> | |
169 | - <td> | |
170 | - <input type="text" placeholder="자동입력"/> | |
171 | - </td> | |
172 | - </tr> | |
173 | - <tr> | |
174 | - <th>진료 사유</th> | |
175 | - <td className="flex-start gender"> | |
176 | - <input type="text" /> | |
177 | - </td> | |
178 | - </tr> | |
179 | - <tr> | |
180 | - <th>진료 내용</th> | |
181 | - <td colSpan={3}> | |
182 | - <input type="text" /> | |
183 | - </td> | |
184 | - </tr> | |
185 | - <tr> | |
186 | - <th>작성자</th> | |
187 | - <td colSpan={3}> | |
188 | - <input type="text" placeholder="자동입력"/> | |
189 | - </td> | |
190 | - </tr> | |
191 | - </table> | |
192 | - <div className="btn-wrap flex-center margin-bottom5"> | |
193 | - <Button className={"btn-small green-btn"} btnName={"저장"} /> | |
194 | - </div> | |
195 | - <div> | |
196 | - <Table | |
197 | - className={"caregiver-user"} | |
198 | - head={thead1} | |
199 | - contents={content1} | |
200 | - contentKey={key1} | |
201 | - /> | |
202 | - </div> | |
203 | - </div> | |
204 | - </Modal> | |
205 | - | |
206 | - <div className="content-wrap"> | |
207 | - <ContentTitle contentTitle={"문진표 조회"} /> | |
208 | - <div> | |
209 | - <DetailSearch /> | |
210 | - <div className="board-wrap"> | |
211 | - <div className="flex"> | |
212 | - <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom" /> | |
213 | - <div className="flex searchselect"> | |
214 | - <input type="radio" /> | |
215 | - <label htmlFor="">나의 대상자 보기</label> | |
216 | - <input type="radio" /> | |
217 | - <label htmlFor="">전체 대상자 보기</label> | |
218 | - </div> | |
219 | - </div> | |
220 | - <Table | |
221 | - className={"medicine-table"} | |
222 | - head={thead} | |
223 | - contents={content} | |
224 | - contentKey={key} | |
225 | - /> | |
226 | - </div> | |
227 | - </div> | |
228 | - </div> | |
229 | - </main> | |
230 | - ); | |
231 | -} |
--- client/views/pages/healthcare/medicinecare/MedicineCareSelect.jsx
... | ... | @@ -1,69 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import { useNavigate } from "react-router"; | |
3 | -import DetailSearch from "../../../component/DetailSearch.jsx"; | |
4 | -import Table from "../../../component/Table.jsx"; | |
5 | -import ContentTitle from "../../../component/ContentTitle.jsx"; | |
6 | -import SubTitle from "../../../component/SubTitle.jsx"; | |
7 | - | |
8 | -export default function MedicineCareSelect() { | |
9 | - const navigate = useNavigate(); | |
10 | - | |
11 | - //게시판 | |
12 | - const thead = ["No", "이름", "대상자등록번호", "생년월일", "연락처", "주소", "최근 복약률",]; | |
13 | - const key = ["No", "name", "number", "birth", "phone", "address", "average"]; | |
14 | - const content = [ | |
15 | - { | |
16 | - No: 1, | |
17 | - name: "김복남", | |
18 | - number: "00000001", | |
19 | - birth: "1948.11.15", | |
20 | - phone: "010-1234-5678", | |
21 | - address: "경상북도 군위군 삼국유사면", | |
22 | - agency: "A복지관", | |
23 | - protect: "홍길동", | |
24 | - average: "0%", | |
25 | - }, | |
26 | - { | |
27 | - No: 2, | |
28 | - name: "홍길동", | |
29 | - number: "00000001", | |
30 | - birth: "1948.08.02", | |
31 | - phone: "010-1234-3333", | |
32 | - address: "경상북도 군위군 군위읍", | |
33 | - agency: "A복지관", | |
34 | - protect: "홍길동", | |
35 | - average: "80%", | |
36 | - }, | |
37 | - ]; | |
38 | - | |
39 | - return ( | |
40 | - <main> | |
41 | - <div className="content-wrap"> | |
42 | - <ContentTitle contentTitle={"복약 조회"} /> | |
43 | - <div> | |
44 | - <DetailSearch /> | |
45 | - <div className="board-wrap"> | |
46 | - <div className="flex"> | |
47 | - <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom" /> | |
48 | - <div className="flex searchselect"> | |
49 | - <input type="radio" /> | |
50 | - <label htmlFor="">나의 대상자 보기</label> | |
51 | - <input type="radio" /> | |
52 | - <label htmlFor="">전체 대상자 보기</label> | |
53 | - </div> | |
54 | - </div> | |
55 | - <Table | |
56 | - className={"medicine-table"} | |
57 | - head={thead} | |
58 | - contents={content} | |
59 | - contentKey={key} | |
60 | - onClick={() => { | |
61 | - navigate("/MedicineCareSelectOne"); | |
62 | - }} | |
63 | - /> | |
64 | - </div> | |
65 | - </div> | |
66 | - </div> | |
67 | - </main> | |
68 | - ); | |
69 | -} |
--- client/views/pages/healthcare/temperature/TemperatureManagementSelect.jsx
... | ... | @@ -1,53 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import Table from "../../../component/Table.jsx"; | |
3 | -import DetailSearch from "../../../component/DetailSearch.jsx"; | |
4 | -import ContentTitle from "../../../component/ContentTitle.jsx"; | |
5 | -import SubTitle from "../../../component/SubTitle.jsx"; | |
6 | -import { useNavigate } from 'react-router'; | |
7 | - | |
8 | -export default function TemperatureManagementSelect_government() { | |
9 | - const navigate = useNavigate(); | |
10 | - //게시판 | |
11 | - const thead = ["No", "이름","대상자등록번호", "생년월일", "연락처", "주소", "최근 최저 온도","최근 최고 온도",]; | |
12 | - const key = ["No", "name", "number","birth", "phone", "address", "low", "high"]; | |
13 | - const content = [ | |
14 | - { | |
15 | - No: 1, | |
16 | - name: "김복남", | |
17 | - number: "00000001", | |
18 | - birth: "1948.11.15", | |
19 | - phone: "010-1234-5678", | |
20 | - address: "경상북도 군위군 삼국유사면", | |
21 | - agency: "A복지관", | |
22 | - protect: "홍길동", | |
23 | - high: "18°C", | |
24 | - low: "18°C", | |
25 | - }, | |
26 | - ]; | |
27 | - return ( | |
28 | - <main> | |
29 | - <div className="content-wrap"> | |
30 | - <ContentTitle contentTitle={"댁내 온도 조회"} /> | |
31 | - <DetailSearch /> | |
32 | - <div className="board-wrap"> | |
33 | - <div className="flex"> | |
34 | - <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom" /> | |
35 | - <div className="flex searchselect"> | |
36 | - <input type="radio" /> | |
37 | - <label htmlFor="">나의 대상자 보기</label> | |
38 | - <input type="radio" /> | |
39 | - <label htmlFor="">전체 대상자 보기</label> | |
40 | - </div> | |
41 | - </div> | |
42 | - <Table | |
43 | - className={"temperature-table"} | |
44 | - head={thead} | |
45 | - contents={content} | |
46 | - contentKey={key} | |
47 | - onClick={()=>{navigate('/TemperatureManagementSelectOne')}} | |
48 | - /> | |
49 | - </div> | |
50 | - </div> | |
51 | - </main> | |
52 | - ); | |
53 | -} |
--- client/views/pages/join/Join.jsx
+++ client/views/pages/join/Join.jsx
... | ... | @@ -58,7 +58,7 @@ |
58 | 58 |
/> |
59 | 59 |
<Button |
60 | 60 |
btnName={"중복확인"} |
61 |
- className={"green-btn btn-large"} |
|
61 |
+ className={"red-btn btn-large"} |
|
62 | 62 |
onclick="openIdChk()" |
63 | 63 |
/> |
64 | 64 |
</div> |
... | ... | @@ -108,7 +108,7 @@ |
108 | 108 |
<div className="btn-wrap"> |
109 | 109 |
<Button className={"gray-btn btn-large"} btnName={"취소"} /> |
110 | 110 |
<Button |
111 |
- className={"green-btn btn-large"} |
|
111 |
+ className={"red-btn btn-large"} |
|
112 | 112 |
btnName={"등록"} |
113 | 113 |
onClick={() => { |
114 | 114 |
navigate("Login"); |
--- client/views/pages/user_management/UserAuthoriySelect.jsx
+++ client/views/pages/user_management/UserAuthoriySelect.jsx
... | ... | @@ -4,32 +4,11 @@ |
4 | 4 |
import Modal from "../../component/Modal.jsx"; |
5 | 5 |
import Table from "../../component/Table.jsx"; |
6 | 6 |
import Button from "../../component/Button.jsx"; |
7 |
- |
|
8 |
-function Menu({ className, children, href, title }) { |
|
9 |
- if (!children) { |
|
10 |
- return <li className="venue-lvl"> |
|
11 |
- <a href={href ?? '#'}> |
|
12 |
- <span>{title}</span> |
|
13 |
- </a> |
|
14 |
- </li> |
|
15 |
- } |
|
16 |
- const [open, setOpend] = useState('open'); |
|
17 |
- // if (className) className = 'group-lvl'; |
|
18 |
- // className = className ?? 'group-lvl'; |
|
19 |
- className ??= 'group-lvl'; |
|
20 |
- className = `${className} sub-nav ${open}`; //[className, 'sub-nav', open].join(' ') |
|
21 |
- return <li className={className}> |
|
22 |
- <a href={href ?? '#'} onClick={() => setOpend(open ? '' : 'open')} className="max-agency"> |
|
23 |
- <span>{title}</span><button>관리기관 추가</button> |
|
24 |
- </a> |
|
25 |
- {open && <ul id="venue-scope-options"> |
|
26 |
- {children} |
|
27 |
- </ul>} |
|
28 |
- </li> |
|
29 |
-} |
|
7 |
+import Category from "../../component/Category.jsx"; |
|
8 |
+import { width } from "@mui/system"; |
|
30 | 9 |
|
31 | 10 |
export default function UserAuthoriySelect() { |
32 |
- const [agencyName, setAgencyName]= useState("시행기관") |
|
11 |
+ const [agencyName, setAgencyName] = useState("시행기관") |
|
33 | 12 |
const [modalOpen, setModalOpen] = React.useState(false); |
34 | 13 |
const openModal = () => { |
35 | 14 |
setModalOpen(true); |
... | ... | @@ -72,7 +51,7 @@ |
72 | 51 |
address: "경상북도 군위군 삼국유사면", |
73 | 52 |
worker: "10명" |
74 | 53 |
}, |
75 |
- |
|
54 |
+ |
|
76 | 55 |
]; |
77 | 56 |
|
78 | 57 |
const thead1 = [ |
... | ... | @@ -99,13 +78,13 @@ |
99 | 78 |
No: 1, |
100 | 79 |
name: "김복남", |
101 | 80 |
management_number: 2022080101, |
102 |
- birth:"1950.02.03", |
|
81 |
+ birth: "1950.02.03", |
|
103 | 82 |
gender: "남", |
104 | 83 |
phone: "010-1234-1234", |
105 | 84 |
address: "경상북도 군위군 삼국유사면", |
106 |
- family:( |
|
85 |
+ family: ( |
|
107 | 86 |
<Button |
108 |
- className={"btn-small gray-btn"} |
|
87 |
+ className={"btn-small lightgray-btn"} |
|
109 | 88 |
btnName={"보호자(가족) 보기"} |
110 | 89 |
onClick={openModal} |
111 | 90 |
/> |
... | ... | @@ -156,14 +135,14 @@ |
156 | 135 |
title: "복지사(간호사)", |
157 | 136 |
description: ( |
158 | 137 |
<Table |
159 |
- className={"senior-table"} |
|
160 |
- head={thead} |
|
161 |
- contents={content} |
|
162 |
- contentKey={key} |
|
163 |
- onClick={() => { |
|
164 |
- navigate("/SeniorSelectOne"); |
|
165 |
- }} |
|
166 |
- /> |
|
138 |
+ className={"senior-table"} |
|
139 |
+ head={thead} |
|
140 |
+ contents={content} |
|
141 |
+ contentKey={key} |
|
142 |
+ onClick={() => { |
|
143 |
+ navigate("/SeniorSelectOne"); |
|
144 |
+ }} |
|
145 |
+ /> |
|
167 | 146 |
), |
168 | 147 |
}, |
169 | 148 |
] |
... | ... | @@ -173,12 +152,50 @@ |
173 | 152 |
<main> |
174 | 153 |
<Modal open={modalOpen} close={closeModal} header="'김복남'님의 가족"> |
175 | 154 |
<div className="board-wrap"> |
176 |
- <div className="btn-wrap flex-end margin-bottom"> |
|
177 |
- <Button |
|
178 |
- className={"btn-small green-btn"} |
|
179 |
- btnName={"등록"} |
|
180 |
- /> |
|
181 |
- </div> |
|
155 |
+ <SubTitle explanation={"최초 로그인 ID는 연락처, PW는 생년월일 8자리입니다."} className="margin-bottom" /> |
|
156 |
+ <table className="margin-bottom2 senior-insert"> |
|
157 |
+ <tr> |
|
158 |
+ <th>이름</th> |
|
159 |
+ <td> |
|
160 |
+ <input type="text" /> |
|
161 |
+ </td> |
|
162 |
+ <th>생년월일</th> |
|
163 |
+ <td> |
|
164 |
+ <div className="flex"> |
|
165 |
+ <select name="year" id="year"> |
|
166 |
+ <option value="">년</option> |
|
167 |
+ </select> |
|
168 |
+ <select name="month" id="month"> |
|
169 |
+ <option value="">월</option> |
|
170 |
+ </select> |
|
171 |
+ <select name="days" id="days"> |
|
172 |
+ <option value="">일</option> |
|
173 |
+ </select> |
|
174 |
+ </div> |
|
175 |
+ </td> |
|
176 |
+ </tr> |
|
177 |
+ <tr> |
|
178 |
+ <th>연락처</th> |
|
179 |
+ <td colSpan={3}> |
|
180 |
+ <input type="input" maxLength="11" /> |
|
181 |
+ </td> |
|
182 |
+ </tr> |
|
183 |
+ <tr> |
|
184 |
+ <th>대상자와의 관계</th> |
|
185 |
+ <td colSpan={3}> |
|
186 |
+ <input type="text" /> |
|
187 |
+ </td> |
|
188 |
+ </tr> |
|
189 |
+ </table> |
|
190 |
+ <div className="btn-wrap flex-center margin-bottom5"> |
|
191 |
+ <Button |
|
192 |
+ className={"btn-small red-btn"} |
|
193 |
+ btnName={"추가"} |
|
194 |
+ onClick={() => { |
|
195 |
+ navigate("/SeniorInsert"); |
|
196 |
+ }} |
|
197 |
+ /> |
|
198 |
+ </div> |
|
182 | 199 |
<div> |
183 | 200 |
<Table |
184 | 201 |
className={"caregiver-user"} |
... | ... | @@ -187,35 +204,30 @@ |
187 | 204 |
contentKey={key3} |
188 | 205 |
/> |
189 | 206 |
</div> |
190 |
- <div> |
|
191 |
- <Button |
|
192 |
- className={"btn-100 green-btn"} |
|
193 |
- btnName={"닫기"} |
|
194 |
- onClick={closeModal} |
|
195 |
- /> |
|
196 |
- </div> |
|
197 | 207 |
</div> |
198 | 208 |
</Modal> |
199 |
- <Modal open={modalOpen2} close={closeModal2} header="'김복남'님의 가족"> |
|
200 |
- <div className="board-wrap"> |
|
201 |
- <SubTitle explanation={"회원 등록 시 ID는 연락처, 패스워드는 생년월일 8자리입니다."} className="margin-bottom"/> |
|
209 |
+ <Modal open={modalOpen2} close={closeModal2} header="대상자(사용자) 등록"> |
|
210 |
+ <div className="board-wrap"> |
|
211 |
+ <SubTitle explanation={"회원 등록 시 ID는 연락처, 패스워드는 생년월일 8자리입니다."} className="margin-bottom" /> |
|
202 | 212 |
<table className="margin-bottom2 senior-insert"> |
203 |
- <tr> |
|
213 |
+ <tr> |
|
204 | 214 |
<th>대상자등록번호</th> |
205 | 215 |
<td colSpan={3} className="flex"> |
206 |
- <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다."/> |
|
216 |
+ <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다." /> |
|
207 | 217 |
<Button |
208 |
- className={"btn-large gray-btn"} |
|
209 |
- btnName={"생성하기"} |
|
210 |
- /> |
|
218 |
+ className={"btn-short red-btn margin-left"} |
|
219 |
+ btnName={"생성"} |
|
220 |
+ /> |
|
211 | 221 |
</td> |
212 | 222 |
</tr> |
213 | 223 |
<tr> |
214 | 224 |
<th>이름</th> |
215 | 225 |
<td> |
216 | 226 |
<input type="text" /> |
217 |
- </td> |
|
218 |
- <th>성별</th> |
|
227 |
+ </td> |
|
228 |
+ </tr> |
|
229 |
+ <tr> |
|
230 |
+ <th>성별</th> |
|
219 | 231 |
<td className="flex-start gender"> |
220 | 232 |
<div className="flex-start"> |
221 | 233 |
<input type="radio" name="genderSelect"></input> |
... | ... | @@ -228,7 +240,7 @@ |
228 | 240 |
</td> |
229 | 241 |
</tr> |
230 | 242 |
<tr> |
231 |
- <th>생년월일</th> |
|
243 |
+ <th>생년월일</th> |
|
232 | 244 |
<td> |
233 | 245 |
<div className="flex"> |
234 | 246 |
<select name="year" id="year"> |
... | ... | @@ -246,7 +258,7 @@ |
246 | 258 |
<td> |
247 | 259 |
<input type="text" /> |
248 | 260 |
</td> */} |
249 |
- |
|
261 |
+ |
|
250 | 262 |
</tr> |
251 | 263 |
<tr> |
252 | 264 |
<th>연락처</th> |
... | ... | @@ -279,129 +291,98 @@ |
279 | 291 |
</td> |
280 | 292 |
</tr> */} |
281 | 293 |
</table> |
282 |
- <div> |
|
294 |
+ <div className="flex-center"> |
|
283 | 295 |
<Button |
284 |
- className={"btn-100 green-btn"} |
|
296 |
+ className={"btn-small red-btn"} |
|
285 | 297 |
btnName={"등록"} |
286 | 298 |
onClick={closeModal2} |
287 | 299 |
/> |
288 | 300 |
</div> |
289 | 301 |
</div> |
290 | 302 |
</Modal> |
303 |
+ <ContentTitle contentTitle={"사용자 관리"} explanation={"관리기관 리스트 및 시행기관 사용자 리스트를 확인할 수 있습니다."} /> |
|
291 | 304 |
<div className="content-wrap"> |
292 |
- <ContentTitle contentTitle={"사용자 관리"} explanation={"관리기관 리스트 및 시행기관 사용자 리스트를 확인할 수 있습니다."}/> |
|
305 |
+ |
|
293 | 306 |
<div |
294 | 307 |
className="flex-align-start" |
295 | 308 |
style={{ height: "calc(100% - 61px)" }} |
296 | 309 |
> |
297 |
- <div className="left flex30" style={{ height: "100%" }}> |
|
310 |
+ <div className="left" style={{ height: "100%", width:"27%" }}> |
|
298 | 311 |
<div style={{ height: "100%" }}> |
299 | 312 |
<SubTitle |
300 | 313 |
subtitle={"관리기관 리스트"} |
301 | 314 |
explanation={"시스템 로그인의 사용자를 관리합니다."} |
302 | 315 |
className="margin-bottom" |
303 | 316 |
/> |
304 |
- <div class="hierarchy-menu category"> |
|
305 |
- <ul> |
|
306 |
- <Menu className="customer-lvl" href="#" title="올잇메디"> |
|
307 |
- <li class="group-lvl sub-nav open"> |
|
308 |
- <a href="#" className="top-agency"> |
|
309 |
- <span>지자체</span><button>시행기관 추가</button> |
|
310 |
- </a> |
|
311 |
- <ul id="venue-scope-options" className="low-agency"> |
|
312 |
- <Menu href="#" title={`${agencyName}`} /> |
|
313 |
- <Menu href="#" title={`${agencyName}`} /> |
|
314 |
- <Menu href="#" title={`${agencyName}`} /> |
|
315 |
- |
|
316 |
- </ul> |
|
317 |
- </li> |
|
318 |
- <li class="group-lvl sub-nav open"> |
|
319 |
- <a href="#" class="active top-agency"> |
|
320 |
- <span>관리 병원</span><button>시행기관 추가</button> |
|
321 |
- </a> |
|
322 |
- <ul className="low-agency"> |
|
323 |
- <Menu href="#" title="병원1" /> |
|
324 |
- <Menu href="#" title="병원2" /> |
|
325 |
- <Menu href="#" title="병원3" /> |
|
326 |
- </ul> |
|
327 |
- |
|
328 |
- </li> |
|
329 |
- <li class="venue-lvl "> |
|
330 |
- <a href="#" className="top-agency"> |
|
331 |
- <span>관리자</span> |
|
332 |
- </a> |
|
333 |
- </li> |
|
334 |
- </Menu> |
|
335 |
- </ul> |
|
336 |
- </div> |
|
317 |
+ <Category /> |
|
337 | 318 |
</div> |
338 | 319 |
</div> |
339 |
- <div className="right flex60" style={{ height: "100%" }}> |
|
320 |
+ <div className="right" style={{ height: "100%", width:"70%" }}> |
|
340 | 321 |
<div style={{ height: "100%" }}> |
341 | 322 |
<SubTitle |
342 | 323 |
subtitle={`${agencyName} 사용자 리스트`} |
343 | 324 |
explanation={"선택된 기관의 사용자 리스트 입니다."} |
344 | 325 |
className="margin-bottom" |
345 | 326 |
/> |
346 |
- <div className="tab-container"> |
|
347 |
- <ul className="tab-menu-mobile"> |
|
348 |
- <div> |
|
349 |
- <SubTitle |
|
350 |
- className="margin-bottom" |
|
351 |
- subtitle={"사용자 선택"} |
|
352 |
- explanation={"사용자 별로 선택 후 관리할 수 있습니다. "} |
|
353 |
- /> |
|
354 |
- </div> |
|
355 |
- <select name="" id="" style={{ width: "100%" }}> |
|
356 |
- <option value="사용자선택">보호자</option> |
|
357 |
- <option value="사용자선택">보호사</option> |
|
358 |
- <option value="사용자선택">병원</option> |
|
359 |
- <option value="사용자선택">지자체</option> |
|
360 |
- <option value="사용자선택">관리자</option> |
|
361 |
- </select> |
|
362 |
- </ul> |
|
363 |
- <ul className="tab-menu"> |
|
364 |
- {data.map((item) => ( |
|
365 |
- <li |
|
366 |
- key={item.id} |
|
367 |
- className={index === item.id ? "active" : null} |
|
368 |
- onClick={() => setIndex(item.id)} |
|
369 |
- > |
|
370 |
- {item.title} |
|
371 |
- </li> |
|
372 |
- ))} |
|
373 |
- </ul> |
|
374 |
- <div className="content-wrap"> |
|
375 |
- <div className="search-management flex-end margin-bottom2"> |
|
376 |
- <select> |
|
377 |
- <option value="이름">이름</option> |
|
378 |
- <option value="아이디">사용자등록번호</option> |
|
379 |
- <option value="아이디">ID</option> |
|
380 |
- </select> |
|
381 |
- <input type="text" /> |
|
382 |
- <Button |
|
383 |
- className={"btn-small gray-btn"} |
|
384 |
- btnName={"검색"} |
|
385 |
- onClick={() => navigate("/SeniorInsert")} |
|
386 |
- /> |
|
387 |
- </div> |
|
388 |
- <div className="btn-wrap flex-end margin-bottom"> |
|
389 |
- <Button |
|
390 |
- className={"btn-small green-btn"} |
|
391 |
- btnName={"등록"} |
|
392 |
- onClick={openModal2} |
|
393 |
- /> |
|
394 |
- <Button className={"btn-small green-btn"} btnName={"삭제"} /> |
|
395 |
- </div> |
|
396 |
- <ul className="tab-content"> |
|
397 |
- {data |
|
398 |
- .filter((item) => index === item.id) |
|
399 |
- .map((item) => ( |
|
400 |
- <li>{item.description}</li> |
|
401 |
- ))} |
|
402 |
- </ul> |
|
327 |
+ <div className="tab-container"> |
|
328 |
+ <ul className="tab-menu-mobile"> |
|
329 |
+ <div> |
|
330 |
+ <SubTitle |
|
331 |
+ className="margin-bottom" |
|
332 |
+ subtitle={"사용자 선택"} |
|
333 |
+ explanation={"사용자 별로 선택 후 관리할 수 있습니다. "} |
|
334 |
+ /> |
|
403 | 335 |
</div> |
336 |
+ <select name="" id="" style={{ width: "100%" }}> |
|
337 |
+ <option value="사용자선택">보호자</option> |
|
338 |
+ <option value="사용자선택">보호사</option> |
|
339 |
+ <option value="사용자선택">병원</option> |
|
340 |
+ <option value="사용자선택">지자체</option> |
|
341 |
+ <option value="사용자선택">관리자</option> |
|
342 |
+ </select> |
|
343 |
+ </ul> |
|
344 |
+ <ul className="tab-menu"> |
|
345 |
+ {data.map((item) => ( |
|
346 |
+ <li |
|
347 |
+ key={item.id} |
|
348 |
+ className={index === item.id ? "active" : null} |
|
349 |
+ onClick={() => setIndex(item.id)} |
|
350 |
+ > |
|
351 |
+ {item.title} |
|
352 |
+ </li> |
|
353 |
+ ))} |
|
354 |
+ </ul> |
|
355 |
+ <div className="content-wrap userlist"> |
|
356 |
+ <div className="search-management flex-start margin-bottom2"> |
|
357 |
+ <select> |
|
358 |
+ <option value="이름">이름</option> |
|
359 |
+ <option value="아이디">사용자등록번호</option> |
|
360 |
+ <option value="아이디">ID</option> |
|
361 |
+ </select> |
|
362 |
+ <input type="text" /> |
|
363 |
+ <Button |
|
364 |
+ className={"btn-small gray-btn"} |
|
365 |
+ btnName={"검색"} |
|
366 |
+ onClick={() => navigate("/SeniorInsert")} |
|
367 |
+ /> |
|
368 |
+ </div> |
|
369 |
+ <div className="btn-wrap flex-end margin-bottom"> |
|
370 |
+ <Button |
|
371 |
+ className={"btn-small gray-btn"} |
|
372 |
+ btnName={"등록"} |
|
373 |
+ onClick={openModal2} |
|
374 |
+ /> |
|
375 |
+ <Button className={"btn-small red-btn"} btnName={"삭제"} /> |
|
376 |
+ </div> |
|
377 |
+ <ul className="tab-content"> |
|
378 |
+ {data |
|
379 |
+ .filter((item) => index === item.id) |
|
380 |
+ .map((item) => ( |
|
381 |
+ <li>{item.description}</li> |
|
382 |
+ ))} |
|
383 |
+ </ul> |
|
404 | 384 |
</div> |
385 |
+ </div> |
|
405 | 386 |
</div> |
406 | 387 |
</div> |
407 | 388 |
</div> |
--- client/views/pages/visit/visit/VisitSelect.jsx
... | ... | @@ -1,83 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import DetailSearch from "../../../component/DetailSearch.jsx"; | |
3 | -import Button from "../../../component/Button.jsx"; | |
4 | -import Table from "../../../component/Table.jsx"; | |
5 | -import { useNavigate } from "react-router"; | |
6 | -import ContentTitle from "../../../component/ContentTitle.jsx"; | |
7 | -import SubTitle from "../../../component/SubTitle.jsx"; | |
8 | - | |
9 | -export default function VisitSelect() { | |
10 | - const navigate = useNavigate(); | |
11 | - | |
12 | - //게시판 | |
13 | - const thead = [ | |
14 | - "No", "이름","대상자등록번호", "생년월일", "연락처", "주소", ,"최근 방문일","방문목적","상세사유", | |
15 | - ]; | |
16 | - const key = [ | |
17 | - "No", "name","number", "birth", "phone", "address","visit","reason" ,"reason_detail" | |
18 | - ]; | |
19 | - const content = [ | |
20 | - { | |
21 | - No: 1, | |
22 | - name: "김복남", | |
23 | - number: "00000001", | |
24 | - birth: "1948.11.15", | |
25 | - phone: "010-1234-5678", | |
26 | - address: "경상북도 군위군 삼국유사면", | |
27 | - visit: "2023.02.08", | |
28 | - reason: "정기방문", | |
29 | - reason_detail: "정기방문일", | |
30 | - }, | |
31 | - { | |
32 | - No: 2, | |
33 | - name: "박영남", | |
34 | - number: "00000002", | |
35 | - birth: "1948.11.15", | |
36 | - phone: "010-1234-5678", | |
37 | - address: "경상북도 군위군 삼국유사면", | |
38 | - visit: "2023.02.08", | |
39 | - reason: "병원동행", | |
40 | - reason_detail: "두통을 호소하심", | |
41 | - }, | |
42 | - ]; | |
43 | - return ( | |
44 | - <main> | |
45 | - <div className="content-wrap"> | |
46 | - <ContentTitle contentTitle={"방문 조회"} /> | |
47 | - <DetailSearch /> | |
48 | - <div className="board-wrap"> | |
49 | - <div className="flex"> | |
50 | - <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom" /> | |
51 | - <div className="flex searchselect"> | |
52 | - <input type="radio" /> | |
53 | - <label htmlFor="">나의 대상자 보기</label> | |
54 | - <input type="radio" /> | |
55 | - <label htmlFor="">전체 대상자 보기</label> | |
56 | - </div> | |
57 | - </div> | |
58 | - <div className="visit-table"> | |
59 | - <Table | |
60 | - className={"visit-table"} | |
61 | - head={thead} | |
62 | - contents={content} | |
63 | - contentKey={key} | |
64 | - onClick={() => { | |
65 | - navigate("/VisitSelectOne"); | |
66 | - }} | |
67 | - /> | |
68 | - </div> | |
69 | - {/* <div className="btn-wrap flex-end"> | |
70 | - <Button | |
71 | - className={"btn-small green-btn"} | |
72 | - btnName={"등록"} | |
73 | - onClick={() => { | |
74 | - navigate("/VisitInsert"); | |
75 | - }} | |
76 | - /> | |
77 | - <Button className={"btn-small green-btn"} btnName={"삭제"} /> | |
78 | - </div> */} | |
79 | - </div> | |
80 | - </div> | |
81 | - </main> | |
82 | - ); | |
83 | -} |
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?