
--- client/resources/css/layout.css
+++ client/resources/css/layout.css
... | ... | @@ -112,12 +112,16 @@ |
112 | 112 |
} |
113 | 113 |
|
114 | 114 |
.bottom-section { |
115 |
- padding: 1rem 4rem; |
|
115 |
+ padding: 3rem 2rem; |
|
116 | 116 |
} |
117 | 117 |
|
118 | 118 |
.info-id { |
119 | 119 |
font-size: 1.5rem; |
120 |
- margin-right: 2rem; |
|
120 |
+ color: #ffffff; |
|
121 |
+} |
|
122 |
+.logout{ |
|
123 |
+ text-decoration: underline; |
|
124 |
+ font-size: 1.5rem; |
|
121 | 125 |
color: #ffffff; |
122 | 126 |
} |
123 | 127 |
|
--- client/resources/css/main.css
+++ client/resources/css/main.css
... | ... | @@ -21,6 +21,11 @@ |
21 | 21 |
font-weight: 900; |
22 | 22 |
background-color: #18924e; |
23 | 23 |
} |
24 |
+/* Q&A */ |
|
25 |
+.title{text-decoration: underline; cursor: pointer;} |
|
26 |
+.question-select input{width: 3%;} |
|
27 |
+.question-select label{width: 10%;} |
|
28 |
+.question-select select{width: 16%;} |
|
24 | 29 |
/* 담당자배정 */ |
25 | 30 |
.protectorlist input{width: 20rem;} |
26 | 31 |
/* 위험기준관리 */ |
--- client/views/layout/Menu.jsx
+++ client/views/layout/Menu.jsx
... | ... | @@ -1,9 +1,13 @@ |
1 | 1 |
import React from "react"; |
2 | 2 |
import SidebarItem from "./SidebarItem.jsx"; |
3 | 3 |
import Button from "../component/Button.jsx"; |
4 |
+import GroupAddIcon from '@mui/icons-material/GroupAdd'; |
|
5 |
+import LogoutIcon from '@mui/icons-material/Logout'; |
|
6 |
+import { useNavigate } from "react-router"; |
|
4 | 7 |
|
5 | 8 |
export default function Sidebar({items}) { |
6 | 9 |
const [menuToggle, setMenuToggle] = React.useState(false); |
10 |
+ const navigate = useNavigate(); |
|
7 | 11 |
|
8 | 12 |
return ( |
9 | 13 |
<nav |
... | ... | @@ -19,8 +23,10 @@ |
19 | 23 |
</ul> |
20 | 24 |
<div className="info-wrap "> |
21 | 25 |
<div className="bottom-section flex"> |
22 |
- <div className="info-id flex50">관리자</div> |
|
23 |
- <Button className={"logout flex50"} btnName={"로그아웃"} /> |
|
26 |
+ <div className="info-id" onClick={() => { |
|
27 |
+ navigate("/Join"); |
|
28 |
+ }}><GroupAddIcon sx={{ width: "20px", height: "20px", color: "#ffffff",}} />계정추가</div> |
|
29 |
+ <div className="logout"><LogoutIcon sx={{ width: "20px", height: "20px", color: "#ffffff",}}/>로그아웃</div> |
|
24 | 30 |
</div> |
25 | 31 |
</div> |
26 | 32 |
</div> |
--- client/views/pages/App.jsx
+++ client/views/pages/App.jsx
... | ... | @@ -26,8 +26,8 @@ |
26 | 26 |
}; |
27 | 27 |
|
28 | 28 |
|
29 |
- const menuItems = AgencyApp.menuItems; //AdminApp, GovernmentApp, AllApp, AgencyApp, GuardianApp |
|
30 |
- const AppRoute = AgencyApp.AppRoute; |
|
29 |
+ const menuItems = AllApp.menuItems; //AdminApp, GovernmentApp, AllApp, AgencyApp, GuardianApp |
|
30 |
+ const AppRoute = AllApp.AppRoute; |
|
31 | 31 |
|
32 | 32 |
|
33 | 33 |
const { title } = menuItems.find( |
--- client/views/pages/AppRoute.jsx
+++ client/views/pages/AppRoute.jsx
... | ... | @@ -10,10 +10,8 @@ |
10 | 10 |
import HouseIcon from "@mui/icons-material/House"; |
11 | 11 |
import PersonIcon from "@mui/icons-material/Person"; |
12 | 12 |
import Diversity1Icon from "@mui/icons-material/Diversity1"; |
13 |
-import DoorFrontIcon from "@mui/icons-material/DoorFront"; |
|
14 | 13 |
import SpeakerPhoneIcon from "@mui/icons-material/SpeakerPhone"; |
15 | 14 |
import SettingsIcon from "@mui/icons-material/Settings"; |
16 |
-import CallIcon from '@mui/icons-material/Call'; |
|
17 | 15 |
import ConstructionIcon from '@mui/icons-material/Construction'; |
18 | 16 |
import EqualizerIcon from '@mui/icons-material/Equalizer'; |
19 | 17 |
import ApartmentIcon from '@mui/icons-material/Apartment'; |
... | ... | @@ -24,7 +22,6 @@ |
24 | 22 |
import Main_guardian from "./main/Main_guardian.jsx"; |
25 | 23 |
import Main_agency from "./main/Main_agency.jsx"; |
26 | 24 |
import Main from "./main/Main.jsx"; |
27 |
-import SeniorSelect from "./senior_management/SeniorSelect.jsx"; |
|
28 | 25 |
import SeniorInsert from "./senior_management/SeniorInsert.jsx"; |
29 | 26 |
import SeniorSelectOne from "./senior_management/SeniorSelectOne.jsx"; |
30 | 27 |
import MedicineCareSelect from "./healthcare/medicinecare/MedicineCareSelect.jsx"; |
... | ... | @@ -42,38 +39,33 @@ |
42 | 39 |
import EquipmentManagementSelectOne from "./equipment/EquipmentManagementSelectOne.jsx"; |
43 | 40 |
import UserAuthoriySelect from "./user_management/UserAuthoriySelect.jsx"; |
44 | 41 |
import UserAuthoriySelect_agency from "./user_management/UserAuthoriySelect_agency.jsx"; |
45 |
-import MyInfoUpdate from "./authority/MyInfoUpdate.jsx"; |
|
46 | 42 |
import QandASelect from "./callcenter/QandASelect.jsx"; |
47 | 43 |
import QandAConfirm from "./callcenter/QandAConfirm.jsx"; |
48 | 44 |
import EquipmentManagementInsert from "./equipment/EquipmentManagementInsert.jsx"; |
49 | 45 |
import EquipmentManagementSelectAdd from "./equipment/EquipmentManagementSelectAdd.jsx"; |
50 | 46 |
import RiskSet from "./setting/RiskSet.jsx"; |
51 | 47 |
import QandAInsert from "./callcenter/QandAInsert.jsx"; |
52 |
-import QandA_agency from "./callcenter/QandA_agency.jsx"; |
|
48 |
+import QuestionInsert from "./callcenter/QuestionInsert.jsx"; |
|
49 |
+import QuestionConfirm from "./callcenter/QuestionConfirm.jsx"; |
|
53 | 50 |
import UserSelectOk from "./user_management/UserSelectOk.jsx"; |
54 | 51 |
import AuthorityManagement from "./setting/AuthorityManagement.jsx"; |
55 | 52 |
import AgencyInsert from "./user_management/AgencyInsert.jsx"; |
56 | 53 |
import AgencySelect from "./user_management/AgencySelect.jsx"; |
57 | 54 |
import ProtectorSelect from "./user_management/ProtectorSelect.jsx"; |
58 |
- |
|
59 |
-import MedicineCareSelect_government from "./healthcare/medicinecare/MedicineCareSelect_government.jsx"; |
|
60 |
-import TemperatureManagementSelect_government from "./healthcare/temperature/TemperatureManagementSelect_government.jsx"; |
|
61 | 55 |
import BloodSelect from "./healthcare/BloodSelect.jsx"; |
62 | 56 |
import ECGSelect from "./healthcare/ECGSelect.jsx"; |
63 |
-import Questionnaire_government from "./healthcare/Questionnaire_government.jsx"; |
|
64 |
-import VisitSelect_government from "./visit/visit/VisitSelect_government.jsx"; |
|
65 |
-import QandA_government from "./callcenter/QandA_government.jsx"; |
|
57 |
+import QuestionSelect from "./callcenter/QuestionSelect.jsx"; |
|
58 |
+import Join from "./join/Join.jsx"; |
|
66 | 59 |
|
67 | 60 |
const AllAppMenuItems = [ |
68 | 61 |
{ |
69 | 62 |
title: "올잇메디", |
70 | 63 |
path: "/Main", |
71 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
72 | 64 |
childrens: [ |
73 | 65 |
{ |
74 |
- title: "Home", |
|
66 |
+ title: "Home(올잇메디)", |
|
75 | 67 |
path: "/Main", |
76 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
68 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
77 | 69 |
}, |
78 | 70 |
{ |
79 | 71 |
title: "사용자 관리", |
... | ... | @@ -83,36 +75,69 @@ |
83 | 75 |
), |
84 | 76 |
}, |
85 | 77 |
{ |
86 |
- title: "대상자 건강 관리", |
|
87 |
- // path: "/TemperatureManagementSelect", |
|
88 |
- icon: ( |
|
89 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
90 |
- ), |
|
91 |
- }, |
|
92 |
- { |
|
93 |
- title: "장비 조회", |
|
94 |
- path: "/EquipmentManagementSelect", |
|
95 |
- icon: ( |
|
96 |
- <SettingsIcon |
|
97 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
98 |
- /> |
|
99 |
- ), |
|
100 |
- }, |
|
101 |
- { |
|
102 |
- title: "장비 문의 관리", |
|
78 |
+ title: "건강관리", |
|
103 | 79 |
path: "/QandASelect", |
104 | 80 |
icon: ( |
105 |
- <SettingsIcon |
|
81 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
82 |
+ ), |
|
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 |
+ }, |
|
98 |
+ { |
|
99 |
+ title: "진료 관리", |
|
100 |
+ icon: ( |
|
101 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
102 |
+ ), |
|
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 |
+ }, |
|
118 |
+ { |
|
119 |
+ title: "장비 관리", |
|
120 |
+ icon: ( |
|
121 |
+ <ConstructionIcon |
|
106 | 122 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
107 | 123 |
/> |
108 | 124 |
), |
125 |
+ childrens: [ |
|
126 |
+ { |
|
127 |
+ title: "장비 조회", |
|
128 |
+ path: "/EquipmentManagementSelect", |
|
129 |
+ }, |
|
130 |
+ { |
|
131 |
+ title: "장비 문의 관리", |
|
132 |
+ path: "/QandASelect", |
|
133 |
+ }, |
|
134 |
+ ], |
|
109 | 135 |
}, |
110 | 136 |
], |
111 | 137 |
}, |
112 | 138 |
{ |
113 | 139 |
title: "관리기관", |
114 | 140 |
path: "/Main_government", |
115 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
116 | 141 |
childrens: [ |
117 | 142 |
{ |
118 | 143 |
title: "Home", |
... | ... | @@ -120,50 +145,65 @@ |
120 | 145 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
121 | 146 |
}, |
122 | 147 |
{ |
123 |
- title: "기관 조회", |
|
124 |
- path: "/AgencySelect", |
|
148 |
+ title: "기관 관리", |
|
149 |
+ icon: ( |
|
150 |
+ <ApartmentIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
151 |
+ ), |
|
152 |
+ childrens: [ |
|
153 |
+ { |
|
154 |
+ title: "기관 조회", |
|
155 |
+ path: "/AgencySelect", |
|
156 |
+ }, |
|
157 |
+ { |
|
158 |
+ title: "사용자 계정 승인", |
|
159 |
+ path: "/UserSelectOk", |
|
160 |
+ }, |
|
161 |
+ ], |
|
162 |
+ }, |
|
163 |
+ { |
|
164 |
+ title: "건강 관리", |
|
165 |
+ prefix: "/Medicine", |
|
125 | 166 |
icon: ( |
126 | 167 |
<Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
127 | 168 |
), |
128 |
- }, |
|
129 |
- { |
|
130 |
- title: "사용자 계정 승인", |
|
131 |
- path: "/UserSelectOk", |
|
132 |
- icon: ( |
|
133 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
134 |
- ), |
|
135 |
- }, |
|
136 |
- { |
|
137 |
- title: "복약 관리", |
|
138 |
- path: "/MedicineCareSelect_government", |
|
139 |
- icon: ( |
|
140 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
141 |
- ), |
|
142 |
- }, |
|
143 |
- { |
|
144 |
- title: "댁내 온도 관리", |
|
145 |
- path: "/TemperatureManagementSelect_government", |
|
146 |
- icon: ( |
|
147 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
148 |
- ), |
|
169 |
+ childrens: [ |
|
170 |
+ { |
|
171 |
+ title: "복약 관리", |
|
172 |
+ path: "/MedicineCareSelect", |
|
173 |
+ }, |
|
174 |
+ { |
|
175 |
+ title: "댁내 온도 관리", |
|
176 |
+ path: "/TemperatureManagementSelect", |
|
177 |
+ }, |
|
178 |
+ { |
|
179 |
+ title: "방문 관리", |
|
180 |
+ path: "/VisitSelect", |
|
181 |
+ }, |
|
182 |
+ ] |
|
149 | 183 |
}, |
150 | 184 |
{ |
151 | 185 |
title: "진료 관리", |
152 |
- path: "/Questionnaire_government", |
|
153 | 186 |
icon: ( |
154 |
- <DoorFrontIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
155 |
- ), |
|
156 |
- }, |
|
157 |
- { |
|
158 |
- title: "방문 관리", |
|
159 |
- path: "/VisitSelect_government", |
|
160 |
- icon: ( |
|
161 |
- <DoorFrontIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
187 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
162 | 188 |
), |
189 |
+ childrens: [ |
|
190 |
+ { |
|
191 |
+ title: "문진표 관리", |
|
192 |
+ path: "/Questionnaire", |
|
193 |
+ }, |
|
194 |
+ { |
|
195 |
+ title: "심전도 관리", |
|
196 |
+ path: "/ECGSelect", |
|
197 |
+ }, |
|
198 |
+ { |
|
199 |
+ title: "혈압 관리", |
|
200 |
+ path: "/BloodSelect", |
|
201 |
+ }, |
|
202 |
+ ] |
|
163 | 203 |
}, |
164 | 204 |
{ |
165 |
- title: "Q&A 관리", |
|
166 |
- path: "/QandA_government", |
|
205 |
+ title: "문의 현황 관리", |
|
206 |
+ path: "/QandASelect", |
|
167 | 207 |
icon: ( |
168 | 208 |
<SpeakerPhoneIcon |
169 | 209 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
... | ... | @@ -171,29 +211,26 @@ |
171 | 211 |
), |
172 | 212 |
}, |
173 | 213 |
{ |
174 |
- title: "위험 기준 관리", |
|
175 |
- path: "/RiskSet", |
|
214 |
+ title: "설정 관리", |
|
176 | 215 |
icon: ( |
177 |
- <SettingsIcon |
|
178 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
179 |
- /> |
|
216 |
+ <SettingsIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
180 | 217 |
), |
181 |
- }, |
|
182 |
- { |
|
183 |
- title: "사용자 권한 관리", |
|
184 |
- path: "/AuthorityManagement", |
|
185 |
- icon: ( |
|
186 |
- <SettingsIcon |
|
187 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
188 |
- /> |
|
189 |
- ), |
|
218 |
+ childrens: [ |
|
219 |
+ { |
|
220 |
+ title: "위험 기준 관리", |
|
221 |
+ path: "/RiskSet", |
|
222 |
+ }, |
|
223 |
+ { |
|
224 |
+ title: "사용자 권한 관리", |
|
225 |
+ path: "/AuthorityManagement", |
|
226 |
+ }, |
|
227 |
+ ], |
|
190 | 228 |
}, |
191 | 229 |
], |
192 | 230 |
}, |
193 | 231 |
{ |
194 | 232 |
title: "시행기관", |
195 | 233 |
path: "/Main_agency", |
196 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
197 | 234 |
childrens: [ |
198 | 235 |
{ |
199 | 236 |
title: "Home", |
... | ... | @@ -202,62 +239,72 @@ |
202 | 239 |
}, |
203 | 240 |
{ |
204 | 241 |
title: "대상자 관리", |
205 |
- path: "/UserAuthoriySelect_admin", |
|
242 |
+ path: "/UserAuthoriySelect_agency", |
|
206 | 243 |
icon: ( |
207 | 244 |
<PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
208 | 245 |
), |
209 | 246 |
}, |
210 | 247 |
{ |
211 |
- title: "복약 관리", |
|
212 |
- path: "/MedicineCareSelect", |
|
248 |
+ title: "건강 관리", |
|
213 | 249 |
icon: ( |
214 | 250 |
<Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
215 |
- ), |
|
216 |
- }, |
|
217 |
- { |
|
218 |
- title: "댁내 온도 관리", |
|
219 |
- path: "/TemperatureManagementSelect", |
|
220 |
- icon: ( |
|
221 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
222 |
- ), |
|
251 |
+ ), |
|
252 |
+ childrens: [ |
|
253 |
+ { |
|
254 |
+ title: "복약 관리", |
|
255 |
+ path: "/MedicineCareSelect", |
|
256 |
+ }, |
|
257 |
+ { |
|
258 |
+ title: "댁내 온도 관리", |
|
259 |
+ path: "/TemperatureManagementSelect", |
|
260 |
+ }, |
|
261 |
+ { |
|
262 |
+ title: "방문 관리", |
|
263 |
+ path: "/VisitSelect", |
|
264 |
+ }, |
|
265 |
+ ] |
|
223 | 266 |
}, |
224 | 267 |
{ |
225 | 268 |
title: "진료 관리", |
226 |
- path: "/Questionnaire", |
|
227 | 269 |
icon: ( |
228 | 270 |
<LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
229 |
- ), |
|
230 |
- }, |
|
231 |
- { |
|
232 |
- title: "방문 관리", |
|
233 |
- path: "/VisitSelect", |
|
234 |
- icon: ( |
|
235 |
- <DoorFrontIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
236 | 271 |
), |
272 |
+ childrens: [ |
|
273 |
+ { |
|
274 |
+ title: "문진표 관리", |
|
275 |
+ path: "/Questionnaire", |
|
276 |
+ }, |
|
277 |
+ { |
|
278 |
+ title: "심전도 관리", |
|
279 |
+ path: "/ECGSelect", |
|
280 |
+ }, |
|
281 |
+ { |
|
282 |
+ title: "혈압 관리", |
|
283 |
+ path: "/BloodSelect", |
|
284 |
+ }, |
|
285 |
+ ] |
|
237 | 286 |
}, |
238 | 287 |
{ |
239 |
- title: "Q&A 관리", |
|
240 |
- path: "/QandASelect", |
|
288 |
+ title: "장비 관리", |
|
289 |
+ icon: ( |
|
290 |
+ <ConstructionIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
291 |
+ ), |
|
292 |
+ childrens: [ |
|
293 |
+ { |
|
294 |
+ title: "장비 대여 관리", |
|
295 |
+ path: "/EquipmentManagementSelect", |
|
296 |
+ }, |
|
297 |
+ { |
|
298 |
+ title: "문의게시판", |
|
299 |
+ path: "/QandASelect", |
|
300 |
+ }, |
|
301 |
+ ] |
|
302 |
+ }, |
|
303 |
+ { |
|
304 |
+ title: "Q&A", |
|
305 |
+ path: "/QuestionSelect", |
|
241 | 306 |
icon: ( |
242 | 307 |
<SpeakerPhoneIcon |
243 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
244 |
- /> |
|
245 |
- ), |
|
246 |
- }, |
|
247 |
- { |
|
248 |
- title: "장비 대여 관리", |
|
249 |
- path: "/EquipmentManagementSelect_agency", |
|
250 |
- icon: ( |
|
251 |
- <SettingsIcon |
|
252 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
253 |
- /> |
|
254 |
- ), |
|
255 |
- }, |
|
256 |
- { |
|
257 |
- title: "장비 문의", |
|
258 |
- path: "/QandASelect", |
|
259 |
- icon: ( |
|
260 |
- <SettingsIcon |
|
261 | 308 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
262 | 309 |
/> |
263 | 310 |
), |
... | ... | @@ -266,8 +313,6 @@ |
266 | 313 |
}, |
267 | 314 |
{ |
268 | 315 |
title: "보호자", |
269 |
- path: "/Main_guardian", |
|
270 |
- icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
271 | 316 |
childrens: [ |
272 | 317 |
{ |
273 | 318 |
title: "Home", |
... | ... | @@ -275,13 +320,13 @@ |
275 | 320 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
276 | 321 |
}, |
277 | 322 |
{ |
278 |
- title: "통계 데이터", |
|
323 |
+ title: "그래프로 보기", |
|
279 | 324 |
path: "/GuardianStatistics", |
280 | 325 |
icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
281 |
- }, |
|
326 |
+ }, |
|
282 | 327 |
{ |
283 | 328 |
title: "Q&A", |
284 |
- path: "/QandASelect", |
|
329 |
+ path: "/QuestionSelect", |
|
285 | 330 |
icon: ( |
286 | 331 |
<SpeakerPhoneIcon |
287 | 332 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
... | ... | @@ -294,77 +339,158 @@ |
294 | 339 |
|
295 | 340 |
function AllAppRoute() { |
296 | 341 |
return ( |
297 |
- <Routes> |
|
298 |
- <Route path="/Test" element={<Test />}></Route> |
|
299 |
- <Route path="/Main" element={<Main />}></Route> |
|
300 |
- <Route path="/Main_government" element={<Main_government />}></Route> |
|
301 |
- <Route path="/Main_guardian" element={<Main_guardian />}></Route> |
|
302 |
- <Route path="/Main_agency" element={<Main_agency />}></Route> |
|
303 |
- <Route path="/SeniorSelect" element={<SeniorSelect />}></Route> |
|
304 |
- <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
305 |
- <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
306 |
- <Route |
|
307 |
- path="/MedicineCareSelect" |
|
308 |
- element={<MedicineCareSelect />} |
|
309 |
- ></Route> |
|
310 |
- <Route |
|
311 |
- path="/MedicineCareSelectOne" |
|
312 |
- element={<MedicineCareSelectOne />} |
|
313 |
- ></Route> |
|
314 |
- <Route |
|
315 |
- path="/TemperatureManagementSelect" |
|
316 |
- element={<TemperatureManagementSelect />} |
|
317 |
- ></Route> |
|
318 |
- <Route |
|
319 |
- path="/TemperatureManagementSelectOne" |
|
320 |
- element={<TemperatureManagementSelectOne />} |
|
321 |
- ></Route> |
|
322 |
- <Route |
|
323 |
- path="/MedicineStatistics" |
|
324 |
- element={<MedicineStatistics />} |
|
325 |
- ></Route> |
|
326 |
- <Route path="/VisitInsert" element={<VisitInsert />}></Route> |
|
327 |
- <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
328 |
- <Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
|
329 |
- <Route |
|
330 |
- path="/EquipmentRentalInsert" |
|
331 |
- element={<EquipmentRentalInsert />} |
|
332 |
- ></Route> |
|
333 |
- <Route |
|
334 |
- path="/EquipmentManagementSelect" |
|
335 |
- element={<EquipmentManagementSelect />} |
|
336 |
- ></Route> |
|
337 |
- <Route |
|
338 |
- path="/EquipmentManagementSelectOne" |
|
339 |
- element={<EquipmentManagementSelectOne />} |
|
340 |
- ></Route> |
|
341 |
- <Route |
|
342 |
- path="/UserAuthoriySelect" |
|
343 |
- element={<UserAuthoriySelect />} |
|
344 |
- ></Route> |
|
345 |
- <Route path="/MyInfoUpdate" element={<MyInfoUpdate />}></Route> |
|
346 |
- <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
347 |
- <Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
|
348 |
- <Route path="/RiskSet" element={<RiskSet />}></Route> |
|
349 |
- <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
350 |
- <Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
|
351 |
- <Route path="/QandA_agency" element={<QandA_agency />}></Route> |
|
352 |
- <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
353 |
- <Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
|
354 |
- <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
355 |
- <Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
|
356 |
- <Route path="/AgencySelect" element={<AgencySelect />}></Route> |
|
357 |
- <Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
|
358 |
- <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
359 |
- <Route path="/GuardianStatistics" element={<GuardianStatistics />}></Route> |
|
360 |
- |
|
361 |
- <Route path="/MedicineCareSelect_government" element={<MedicineCareSelect_government />}></Route> |
|
362 |
- <Route path="/TemperatureManagementSelect_government" element={<TemperatureManagementSelect_government />}></Route> |
|
363 |
- <Route path="/Questionnaire_government" element={<Questionnaire_government />}></Route> |
|
364 |
- <Route path="/VisitSelect_government" element={<VisitSelect_government />}></Route> |
|
365 |
- <Route path="/QandA_government" element={<QandA_government />}></Route> |
|
366 |
- <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
367 |
- </Routes> |
|
342 |
+ <Routes> |
|
343 |
+ <Route path="/QuestionConfirm" element={<QuestionConfirm />}></Route> |
|
344 |
+ <Route path="/QuestionInsert" element={<QuestionInsert />}></Route> |
|
345 |
+ <Route path="/GuardianStatistics" element={<GuardianStatistics />}></Route> |
|
346 |
+ <Route path="/Main_guardian" element={<Main_guardian />}></Route> |
|
347 |
+ <Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
|
348 |
+ <Route path="/Join" element={<Join />}></Route> |
|
349 |
+ <Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
|
350 |
+ <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
351 |
+ <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
352 |
+ <Route path="/Main_agency" element={<Main_agency />}></Route> |
|
353 |
+ <Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
|
354 |
+ <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
355 |
+ <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
356 |
+ <Route |
|
357 |
+ path="/MedicineCareSelect" |
|
358 |
+ element={<MedicineCareSelect />} |
|
359 |
+ ></Route> |
|
360 |
+ <Route |
|
361 |
+ path="/MedicineCareSelectOne" |
|
362 |
+ element={<MedicineCareSelectOne />} |
|
363 |
+ ></Route> |
|
364 |
+ <Route |
|
365 |
+ path="/TemperatureManagementSelect" |
|
366 |
+ element={<TemperatureManagementSelect />} |
|
367 |
+ ></Route> |
|
368 |
+ <Route |
|
369 |
+ path="/TemperatureManagementSelectOne" |
|
370 |
+ element={<TemperatureManagementSelectOne />} |
|
371 |
+ ></Route> |
|
372 |
+ <Route path="/VisitInsert" element={<VisitInsert />}></Route> |
|
373 |
+ <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
374 |
+ <Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
|
375 |
+ <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
376 |
+ <Route |
|
377 |
+ path="/EquipmentRentalInsert" |
|
378 |
+ element={<EquipmentRentalInsert />} |
|
379 |
+ ></Route> |
|
380 |
+ <Route |
|
381 |
+ path="/EquipmentManagementSelect" |
|
382 |
+ element={<EquipmentManagementSelect />} |
|
383 |
+ ></Route> |
|
384 |
+ <Route |
|
385 |
+ path="/EquipmentManagementSelectOne" |
|
386 |
+ element={<EquipmentManagementSelectOne />} |
|
387 |
+ ></Route> |
|
388 |
+ <Route |
|
389 |
+ path="/QandASelect" |
|
390 |
+ element={<QandASelect />} |
|
391 |
+ ></Route> |
|
392 |
+ <Route |
|
393 |
+ path="/QandAInsert" |
|
394 |
+ element={<QandAInsert />} |
|
395 |
+ ></Route> |
|
396 |
+ <Route |
|
397 |
+ path="/QandAConfirm" |
|
398 |
+ element={<QandAConfirm />} |
|
399 |
+ ></Route> |
|
400 |
+ <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
401 |
+ <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
402 |
+ <Route path="/Main_government" element={<Main_government />}></Route> |
|
403 |
+ <Route path="/AgencySelect" element={<AgencySelect />}></Route> |
|
404 |
+ <Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
|
405 |
+ <Route |
|
406 |
+ path="/MedicineCareSelect" |
|
407 |
+ element={<MedicineCareSelect />} |
|
408 |
+ ></Route> |
|
409 |
+ <Route |
|
410 |
+ path="/MedicineCareSelectOne" |
|
411 |
+ element={<MedicineCareSelectOne />} |
|
412 |
+ ></Route> |
|
413 |
+ <Route |
|
414 |
+ path="/TemperatureManagementSelect" |
|
415 |
+ element={<TemperatureManagementSelect />} |
|
416 |
+ ></Route> |
|
417 |
+ <Route |
|
418 |
+ path="/TemperatureManagementSelectOne" |
|
419 |
+ element={<TemperatureManagementSelectOne />} |
|
420 |
+ ></Route> |
|
421 |
+ <Route |
|
422 |
+ path="/MedicineStatistics" |
|
423 |
+ element={<MedicineStatistics />} |
|
424 |
+ ></Route> |
|
425 |
+ <Route path="/VisitInsert" element={<VisitInsert />}></Route> |
|
426 |
+ <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
427 |
+ <Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
|
428 |
+ <Route |
|
429 |
+ path="/UserAuthoriySelect" |
|
430 |
+ element={<UserAuthoriySelect />} |
|
431 |
+ ></Route> |
|
432 |
+ <Route path="/RiskSet" element={<RiskSet />}></Route> |
|
433 |
+ <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
434 |
+ <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
435 |
+ <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
436 |
+ <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
437 |
+ <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
438 |
+ <Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
|
439 |
+ <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
440 |
+ <Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
|
441 |
+ <Route path="/Join" element={<Join />}></Route> |
|
442 |
+ <Route path="/Test" element={<Test />}></Route> |
|
443 |
+ <Route path="/Main" element={<Main />}></Route> |
|
444 |
+ <Route |
|
445 |
+ path="/EquipmentRentalInsert" |
|
446 |
+ element={<EquipmentRentalInsert />} |
|
447 |
+ ></Route> |
|
448 |
+ <Route |
|
449 |
+ path="/EquipmentManagementInsert" |
|
450 |
+ element={<EquipmentManagementInsert />} |
|
451 |
+ ></Route> |
|
452 |
+ <Route |
|
453 |
+ path="/EquipmentManagementSelect" |
|
454 |
+ element={<EquipmentManagementSelect />} |
|
455 |
+ ></Route> |
|
456 |
+ <Route |
|
457 |
+ path="/EquipmentManagementSelectOne" |
|
458 |
+ element={<EquipmentManagementSelectOne />} |
|
459 |
+ ></Route> |
|
460 |
+ <Route |
|
461 |
+ path="/MedicineCareSelect" |
|
462 |
+ element={<MedicineCareSelect />} |
|
463 |
+ ></Route> |
|
464 |
+ <Route |
|
465 |
+ path="/MedicineCareSelectOne" |
|
466 |
+ element={<MedicineCareSelectOne />} |
|
467 |
+ ></Route> |
|
468 |
+ <Route |
|
469 |
+ path="/TemperatureManagementSelectOne" |
|
470 |
+ element={<TemperatureManagementSelectOne />} |
|
471 |
+ ></Route> |
|
472 |
+ <Route |
|
473 |
+ path="/TemperatureManagementSelect" |
|
474 |
+ element={<TemperatureManagementSelect />} |
|
475 |
+ ></Route> |
|
476 |
+ <Route |
|
477 |
+ path="/VisitSelect" |
|
478 |
+ element={<VisitSelect />} |
|
479 |
+ ></Route> |
|
480 |
+ <Route |
|
481 |
+ path="/VisitSelectOne" |
|
482 |
+ element={<VisitSelectOne />} |
|
483 |
+ ></Route> |
|
484 |
+ <Route |
|
485 |
+ path="/Questionnaire" |
|
486 |
+ element={<Questionnaire />} |
|
487 |
+ ></Route> |
|
488 |
+ <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
489 |
+ <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
490 |
+ <Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
|
491 |
+ <Route path="/UserAuthoriySelect" element={<UserAuthoriySelect />}></Route> |
|
492 |
+ <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
493 |
+ </Routes> |
|
368 | 494 |
); |
369 | 495 |
} |
370 | 496 |
|
... | ... | @@ -383,183 +509,128 @@ |
383 | 509 |
<PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
384 | 510 |
), |
385 | 511 |
}, |
386 |
- // { |
|
387 |
- // title: "대상자 관리", |
|
388 |
- // path: "/UserAuthoriySelect_admin", |
|
389 |
- // icon: ( |
|
390 |
- // <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
391 |
- // ), |
|
392 |
- // }, |
|
393 |
- // { |
|
394 |
- // title: "사용자 계정 승인", |
|
395 |
- // path: "/UserSelectOk", |
|
396 |
- // icon: ( |
|
397 |
- // <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
398 |
- // ), |
|
399 |
- // }, |
|
400 |
- // { |
|
401 |
- // title: "건강 관리", |
|
402 |
- // prefix: "/Medicine", |
|
403 |
- // icon: ( |
|
404 |
- // <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
405 |
- // ), |
|
406 |
- // childrens: [ |
|
407 |
- // { |
|
408 |
- // title: "복약 관리", |
|
409 |
- // path: "/MedicineCareSelect", |
|
410 |
- // }, |
|
411 |
- // { |
|
412 |
- // title: "댁내 온도 관리", |
|
413 |
- // path: "/TemperatureManagementSelect", |
|
414 |
- // }, |
|
415 |
- // { |
|
416 |
- // title: "문진표 작성", |
|
417 |
- // path: "/TemperatureManagementSelect", |
|
418 |
- // }, |
|
419 |
- // ], |
|
420 |
- // }, |
|
421 |
- |
|
422 |
- // { |
|
423 |
- // title: "방문 관리", |
|
424 |
- // prefix: "/Visit", |
|
425 |
- // icon: ( |
|
426 |
- // <DoorFrontIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
427 |
- // ), |
|
428 |
- // childrens: [ |
|
429 |
- // { |
|
430 |
- // title: "방문 관리", |
|
431 |
- // path: "/VisitSelect", |
|
432 |
- // }, |
|
433 |
- // ], |
|
434 |
- // }, |
|
435 |
- // { |
|
436 |
- // title: "장비 관리", |
|
437 |
- // icon: ( |
|
438 |
- // <SettingsIcon |
|
439 |
- // sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
440 |
- // /> |
|
441 |
- // ), |
|
442 |
- // childrens: [ |
|
443 |
- // { |
|
444 |
- // title: "장비 조회", |
|
445 |
- // path: "/EquipmentManagementSelect", |
|
446 |
- // }, |
|
447 |
- // { |
|
448 |
- // title: "장비 문의 요청", |
|
449 |
- // path: "/QandASelect", |
|
450 |
- // }, |
|
451 |
- // // { |
|
452 |
- // // title: "장비 추가 요청", |
|
453 |
- // // path: "/EquipmentManagementSelectAdd", |
|
454 |
- // // }, |
|
455 |
- // ], |
|
456 |
- // }, |
|
457 | 512 |
{ |
458 |
- title: "문의게시판", |
|
513 |
+ title: "건강관리", |
|
459 | 514 |
path: "/QandASelect", |
460 | 515 |
icon: ( |
461 |
- <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
462 |
- ), |
|
463 |
- childrens: [ |
|
464 |
- { |
|
465 |
- title: "복약 관리", |
|
516 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
517 |
+ ), |
|
518 |
+ childrens: [ |
|
519 |
+ { |
|
520 |
+ title: "복약 관리", |
|
466 | 521 |
path: "/MedicineCareSelect", |
467 |
- }, |
|
468 |
- { |
|
469 |
- title: "댁내 온도 관리", |
|
522 |
+ }, |
|
523 |
+ { |
|
524 |
+ title: "댁내 온도 관리", |
|
470 | 525 |
path: "/TemperatureManagementSelect", |
471 |
- }, |
|
472 |
- { |
|
473 |
- title: "진료 관리", |
|
474 |
- path: "/Questionnaire", |
|
475 |
- }, |
|
476 |
- { |
|
477 |
- title: "방문 관리", |
|
526 |
+ }, |
|
527 |
+ { |
|
528 |
+ title: "방문 관리", |
|
478 | 529 |
path: "/VisitSelect", |
479 |
- }, |
|
480 |
- ], |
|
481 |
- }, |
|
482 |
- { |
|
483 |
- title: "장비 관리", |
|
484 |
- icon: ( |
|
485 |
- <ConstructionIcon |
|
486 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
487 |
- /> |
|
488 |
- ), |
|
489 |
- childrens: [ |
|
490 |
- { |
|
491 |
- title: "장비 조회", |
|
492 |
- path: "/EquipmentManagementSelect", |
|
493 |
- }, |
|
494 |
- { |
|
495 |
- title: "장비 문의 관리", |
|
530 |
+ }, |
|
531 |
+ ], |
|
532 |
+ }, |
|
533 |
+ { |
|
534 |
+ title: "진료 관리", |
|
535 |
+ icon: ( |
|
536 |
+ <LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
537 |
+ ), |
|
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 |
+ }, |
|
553 |
+ { |
|
554 |
+ title: "장비 관리", |
|
555 |
+ icon: ( |
|
556 |
+ <ConstructionIcon |
|
557 |
+ sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
558 |
+ /> |
|
559 |
+ ), |
|
560 |
+ childrens: [ |
|
561 |
+ { |
|
562 |
+ title: "장비 조회", |
|
563 |
+ path: "/EquipmentManagementSelect", |
|
564 |
+ }, |
|
565 |
+ { |
|
566 |
+ title: "장비 문의 관리", |
|
496 | 567 |
path: "/QandASelect", |
497 |
- }, |
|
498 |
- ], |
|
499 |
- }, |
|
500 |
- |
|
568 |
+ }, |
|
569 |
+ ], |
|
570 |
+ }, |
|
571 |
+ |
|
501 | 572 |
]; |
502 | 573 |
function AdminAppRoute() { |
503 | 574 |
return ( |
504 | 575 |
<Routes> |
505 | 576 |
<Route path="/Test" element={<Test />}></Route> |
506 |
- <Route path="/Main" element={<Main />}></Route> |
|
507 |
- <Route |
|
508 |
- path="/EquipmentRentalInsert" |
|
509 |
- element={<EquipmentRentalInsert />} |
|
510 |
- ></Route> |
|
511 |
- <Route |
|
512 |
- path="/EquipmentManagementInsert" |
|
513 |
- element={<EquipmentManagementInsert />} |
|
514 |
- ></Route> |
|
515 |
- <Route |
|
516 |
- path="/EquipmentManagementSelect" |
|
517 |
- element={<EquipmentManagementSelect />} |
|
518 |
- ></Route> |
|
519 |
- <Route |
|
520 |
- path="/EquipmentManagementSelectOne" |
|
521 |
- element={<EquipmentManagementSelectOne />} |
|
522 |
- ></Route> |
|
523 |
- <Route |
|
524 |
- path="/MedicineCareSelect" |
|
525 |
- element={<MedicineCareSelect />} |
|
526 |
- ></Route> |
|
527 |
- <Route |
|
528 |
- path="/MedicineCareSelectOne" |
|
529 |
- element={<MedicineCareSelectOne />} |
|
530 |
- ></Route> |
|
531 |
- <Route |
|
532 |
- path="/TemperatureManagementSelectOne" |
|
533 |
- element={<TemperatureManagementSelectOne />} |
|
534 |
- ></Route> |
|
535 |
- <Route |
|
536 |
- path="/TemperatureManagementSelect" |
|
537 |
- element={<TemperatureManagementSelect />} |
|
538 |
- ></Route> |
|
539 |
- <Route |
|
540 |
- path="/VisitSelect" |
|
541 |
- element={<VisitSelect />} |
|
542 |
- ></Route> |
|
543 |
- <Route |
|
544 |
- path="/VisitSelectOne" |
|
545 |
- element={<VisitSelectOne />} |
|
546 |
- ></Route> |
|
547 |
- <Route |
|
548 |
- path="/Questionnaire" |
|
549 |
- element={<Questionnaire />} |
|
550 |
- ></Route> |
|
551 |
- <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
552 |
- <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
553 |
- <Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
|
554 |
- <Route path="/UserAuthoriySelect" element={<UserAuthoriySelect />}></Route> |
|
555 |
- <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
577 |
+ <Route path="/Main" element={<Main />}></Route> |
|
578 |
+ <Route |
|
579 |
+ path="/EquipmentRentalInsert" |
|
580 |
+ element={<EquipmentRentalInsert />} |
|
581 |
+ ></Route> |
|
582 |
+ <Route |
|
583 |
+ path="/EquipmentManagementInsert" |
|
584 |
+ element={<EquipmentManagementInsert />} |
|
585 |
+ ></Route> |
|
586 |
+ <Route |
|
587 |
+ path="/EquipmentManagementSelect" |
|
588 |
+ element={<EquipmentManagementSelect />} |
|
589 |
+ ></Route> |
|
590 |
+ <Route |
|
591 |
+ path="/EquipmentManagementSelectOne" |
|
592 |
+ element={<EquipmentManagementSelectOne />} |
|
593 |
+ ></Route> |
|
594 |
+ <Route |
|
595 |
+ path="/MedicineCareSelect" |
|
596 |
+ element={<MedicineCareSelect />} |
|
597 |
+ ></Route> |
|
598 |
+ <Route |
|
599 |
+ path="/MedicineCareSelectOne" |
|
600 |
+ element={<MedicineCareSelectOne />} |
|
601 |
+ ></Route> |
|
602 |
+ <Route |
|
603 |
+ path="/TemperatureManagementSelectOne" |
|
604 |
+ element={<TemperatureManagementSelectOne />} |
|
605 |
+ ></Route> |
|
606 |
+ <Route |
|
607 |
+ path="/TemperatureManagementSelect" |
|
608 |
+ element={<TemperatureManagementSelect />} |
|
609 |
+ ></Route> |
|
610 |
+ <Route |
|
611 |
+ path="/VisitSelect" |
|
612 |
+ element={<VisitSelect />} |
|
613 |
+ ></Route> |
|
614 |
+ <Route |
|
615 |
+ path="/VisitSelectOne" |
|
616 |
+ element={<VisitSelectOne />} |
|
617 |
+ ></Route> |
|
618 |
+ <Route |
|
619 |
+ path="/Questionnaire" |
|
620 |
+ element={<Questionnaire />} |
|
621 |
+ ></Route> |
|
622 |
+ <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
623 |
+ <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
624 |
+ <Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
|
625 |
+ <Route path="/UserAuthoriySelect" element={<UserAuthoriySelect />}></Route> |
|
626 |
+ <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
556 | 627 |
</Routes> |
557 | 628 |
); |
558 | 629 |
} |
559 | 630 |
|
560 | 631 |
|
561 | 632 |
const GovernmentAppMenuItems = [ |
562 |
- { |
|
633 |
+ { |
|
563 | 634 |
title: "Home", |
564 | 635 |
path: "/Main_government", |
565 | 636 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
... | ... | @@ -572,7 +643,7 @@ |
572 | 643 |
childrens: [ |
573 | 644 |
{ |
574 | 645 |
title: "기관 조회", |
575 |
- path: "/AgencySelect", |
|
646 |
+ path: "/AgencySelect", |
|
576 | 647 |
}, |
577 | 648 |
{ |
578 | 649 |
title: "사용자 계정 승인", |
... | ... | @@ -586,18 +657,18 @@ |
586 | 657 |
icon: ( |
587 | 658 |
<Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
588 | 659 |
), |
589 |
- childrens:[ |
|
660 |
+ childrens: [ |
|
590 | 661 |
{ |
591 | 662 |
title: "복약 관리", |
592 |
- path: "/MedicineCareSelect", |
|
663 |
+ path: "/MedicineCareSelect", |
|
593 | 664 |
}, |
594 | 665 |
{ |
595 | 666 |
title: "댁내 온도 관리", |
596 |
- path: "/TemperatureManagementSelect", |
|
667 |
+ path: "/TemperatureManagementSelect", |
|
597 | 668 |
}, |
598 | 669 |
{ |
599 | 670 |
title: "방문 관리", |
600 |
- path: "/VisitSelect", |
|
671 |
+ path: "/VisitSelect", |
|
601 | 672 |
}, |
602 | 673 |
] |
603 | 674 |
}, |
... | ... | @@ -606,18 +677,18 @@ |
606 | 677 |
icon: ( |
607 | 678 |
<LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
608 | 679 |
), |
609 |
- childrens:[ |
|
680 |
+ childrens: [ |
|
610 | 681 |
{ |
611 | 682 |
title: "문진표 관리", |
612 |
- path: "/Questionnaire", |
|
683 |
+ path: "/Questionnaire", |
|
613 | 684 |
}, |
614 | 685 |
{ |
615 | 686 |
title: "심전도 관리", |
616 |
- path: "/ECGSelect", |
|
687 |
+ path: "/ECGSelect", |
|
617 | 688 |
}, |
618 | 689 |
{ |
619 | 690 |
title: "혈압 관리", |
620 |
- path: "/BloodSelect", |
|
691 |
+ path: "/BloodSelect", |
|
621 | 692 |
}, |
622 | 693 |
] |
623 | 694 |
}, |
... | ... | @@ -677,7 +748,7 @@ |
677 | 748 |
></Route> |
678 | 749 |
<Route path="/VisitInsert" element={<VisitInsert />}></Route> |
679 | 750 |
<Route path="/VisitSelect" element={<VisitSelect />}></Route> |
680 |
- <Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
|
751 |
+ <Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
|
681 | 752 |
<Route |
682 | 753 |
path="/UserAuthoriySelect" |
683 | 754 |
element={<UserAuthoriySelect />} |
... | ... | @@ -691,11 +762,12 @@ |
691 | 762 |
<Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
692 | 763 |
<Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
693 | 764 |
<Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
765 |
+ <Route path="/Join" element={<Join />}></Route> |
|
694 | 766 |
</Routes> |
695 | 767 |
); |
696 | 768 |
} |
697 | 769 |
const AgencyAppMenuItems = [ |
698 |
- { |
|
770 |
+ { |
|
699 | 771 |
title: "Home", |
700 | 772 |
path: "/Main_agency", |
701 | 773 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
... | ... | @@ -712,18 +784,18 @@ |
712 | 784 |
icon: ( |
713 | 785 |
<Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
714 | 786 |
), |
715 |
- childrens:[ |
|
787 |
+ childrens: [ |
|
716 | 788 |
{ |
717 | 789 |
title: "복약 관리", |
718 |
- path: "/MedicineCareSelect", |
|
790 |
+ path: "/MedicineCareSelect", |
|
719 | 791 |
}, |
720 | 792 |
{ |
721 | 793 |
title: "댁내 온도 관리", |
722 |
- path: "/TemperatureManagementSelect", |
|
794 |
+ path: "/TemperatureManagementSelect", |
|
723 | 795 |
}, |
724 | 796 |
{ |
725 | 797 |
title: "방문 관리", |
726 |
- path: "/VisitSelect", |
|
798 |
+ path: "/VisitSelect", |
|
727 | 799 |
}, |
728 | 800 |
] |
729 | 801 |
}, |
... | ... | @@ -732,18 +804,18 @@ |
732 | 804 |
icon: ( |
733 | 805 |
<LocalHospitalIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
734 | 806 |
), |
735 |
- childrens:[ |
|
807 |
+ childrens: [ |
|
736 | 808 |
{ |
737 | 809 |
title: "문진표 관리", |
738 |
- path: "/Questionnaire", |
|
810 |
+ path: "/Questionnaire", |
|
739 | 811 |
}, |
740 | 812 |
{ |
741 | 813 |
title: "심전도 관리", |
742 |
- path: "/ECGSelect", |
|
814 |
+ path: "/ECGSelect", |
|
743 | 815 |
}, |
744 | 816 |
{ |
745 | 817 |
title: "혈압 관리", |
746 |
- path: "/BloodSelect", |
|
818 |
+ path: "/BloodSelect", |
|
747 | 819 |
}, |
748 | 820 |
] |
749 | 821 |
}, |
... | ... | @@ -752,20 +824,20 @@ |
752 | 824 |
icon: ( |
753 | 825 |
<ConstructionIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
754 | 826 |
), |
755 |
- childrens:[ |
|
827 |
+ childrens: [ |
|
756 | 828 |
{ |
757 | 829 |
title: "장비 대여 관리", |
758 |
- path: "/EquipmentManagementSelect", |
|
830 |
+ path: "/EquipmentManagementSelect", |
|
759 | 831 |
}, |
760 | 832 |
{ |
761 | 833 |
title: "문의게시판", |
762 |
- path: "/QandASelect", |
|
834 |
+ path: "/QandASelect", |
|
763 | 835 |
}, |
764 | 836 |
] |
765 | 837 |
}, |
766 | 838 |
{ |
767 | 839 |
title: "Q&A", |
768 |
- path: "/QandASelect", |
|
840 |
+ path: "/QuestionSelect", |
|
769 | 841 |
icon: ( |
770 | 842 |
<SpeakerPhoneIcon |
771 | 843 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
... | ... | @@ -776,7 +848,10 @@ |
776 | 848 |
function AgencyAppRoute() { |
777 | 849 |
return ( |
778 | 850 |
<Routes> |
779 |
- <Route path="/Test" element={<Test />}></Route> |
|
851 |
+ <Route path="/Join" element={<Join />}></Route> |
|
852 |
+ <Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
|
853 |
+ <Route path="/ECGSelect" element={<ECGSelect />}></Route> |
|
854 |
+ <Route path="/BloodSelect" element={<BloodSelect />}></Route> |
|
780 | 855 |
<Route path="/Main_agency" element={<Main_agency />}></Route> |
781 | 856 |
<Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
782 | 857 |
<Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
... | ... | @@ -816,12 +891,20 @@ |
816 | 891 |
<Route |
817 | 892 |
path="/QandASelect" |
818 | 893 |
element={<QandASelect />} |
819 |
- ></Route> |
|
894 |
+ ></Route> |
|
895 |
+ <Route |
|
896 |
+ path="/QandAInsert" |
|
897 |
+ element={<QandAInsert />} |
|
898 |
+ ></Route> |
|
899 |
+ <Route |
|
900 |
+ path="/QandAConfirm" |
|
901 |
+ element={<QandAConfirm />} |
|
902 |
+ ></Route> |
|
820 | 903 |
</Routes> |
821 | 904 |
); |
822 | 905 |
} |
823 | 906 |
const GuardianAppMenuItems = [ |
824 |
- { |
|
907 |
+ { |
|
825 | 908 |
title: "Home", |
826 | 909 |
path: "/Main_guardian", |
827 | 910 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
... | ... | @@ -830,22 +913,34 @@ |
830 | 913 |
title: "그래프로 보기", |
831 | 914 |
path: "/GuardianStatistics", |
832 | 915 |
icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
833 |
- }, |
|
916 |
+ }, |
|
917 |
+ { |
|
918 |
+ title: "Q&A", |
|
919 |
+ path: "/QuestionSelect", |
|
920 |
+ icon: ( |
|
921 |
+ <SpeakerPhoneIcon |
|
922 |
+ sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
923 |
+ /> |
|
924 |
+ ), |
|
925 |
+ }, |
|
834 | 926 |
]; |
835 | 927 |
function GuardianAppRoute() { |
836 | 928 |
return ( |
837 | 929 |
<Routes> |
838 |
- <Route path= "/GuardianStatistics" element={GuardianStatistics}></Route> |
|
839 |
- <Route path= "/Main_guardian" element={Main_guardian}></Route> |
|
930 |
+ <Route path="/GuardianStatistics" element={<GuardianStatistics />}></Route> |
|
931 |
+ <Route path="/Main_guardian" element={<Main_guardian />}></Route> |
|
932 |
+ <Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
|
933 |
+ <Route path="/QuestionConfirm" element={<QuestionConfirm />}></Route> |
|
934 |
+ <Route path="/QuestionInsert" element={<QuestionInsert />}></Route> |
|
840 | 935 |
</Routes> |
841 | 936 |
); |
842 | 937 |
} |
843 | 938 |
|
844 |
-const AllApp = {'menuItems': AllAppMenuItems, 'AppRoute': AllAppRoute}; |
|
845 |
-const AdminApp = {'menuItems': AdminAppMenuItems, 'AppRoute': AdminAppRoute}; |
|
846 |
-const GovernmentApp = {'menuItems': GovernmentAppMenuItems, 'AppRoute': GovernmentAppRoute}; |
|
847 |
-const AgencyApp = {'menuItems': AgencyAppMenuItems, 'AppRoute': AgencyAppRoute}; |
|
848 |
-const GuardianApp = {'menuItems': GuardianAppMenuItems, 'AppRoute': GuardianAppRoute}; |
|
939 |
+const AllApp = { 'menuItems': AllAppMenuItems, 'AppRoute': AllAppRoute }; |
|
940 |
+const AdminApp = { 'menuItems': AdminAppMenuItems, 'AppRoute': AdminAppRoute }; |
|
941 |
+const GovernmentApp = { 'menuItems': GovernmentAppMenuItems, 'AppRoute': GovernmentAppRoute }; |
|
942 |
+const AgencyApp = { 'menuItems': AgencyAppMenuItems, 'AppRoute': AgencyAppRoute }; |
|
943 |
+const GuardianApp = { 'menuItems': GuardianAppMenuItems, 'AppRoute': GuardianAppRoute }; |
|
849 | 944 |
|
850 | 945 |
export default AllApp; |
851 |
-export {AdminApp, GovernmentApp, GuardianApp, AgencyApp}; |
|
946 |
+export { AdminApp, GovernmentApp, GuardianApp, AgencyApp }; |
--- client/views/pages/callcenter/QandAConfirm.jsx
+++ client/views/pages/callcenter/QandAConfirm.jsx
... | ... | @@ -75,7 +75,7 @@ |
75 | 75 |
</td> |
76 | 76 |
</tr> |
77 | 77 |
</table> |
78 |
- <div className="flex-start"> |
|
78 |
+ <div className="flex-start margin-bottom5"> |
|
79 | 79 |
<SubTitle explanation={"처리여부"} /> |
80 | 80 |
<select> |
81 | 81 |
<option value="">처리중</option> |
--- client/views/pages/callcenter/QandAInsert.jsx
+++ client/views/pages/callcenter/QandAInsert.jsx
... | ... | @@ -4,7 +4,7 @@ |
4 | 4 |
import SubTitle from "../../component/SubTitle.jsx"; |
5 | 5 |
import { useNavigate } from "react-router"; |
6 | 6 |
|
7 |
-export default function CallInsert() { |
|
7 |
+export default function QandAInsert() { |
|
8 | 8 |
const navigate = useNavigate(); |
9 | 9 |
return ( |
10 | 10 |
<main> |
--- client/views/pages/callcenter/QandASelect.jsx
+++ client/views/pages/callcenter/QandASelect.jsx
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 |
"장비명", |
16 | 16 |
"시리얼 넘버", |
17 | 17 |
"작성자", |
18 |
- "기관명", |
|
18 |
+ "기관명",//시행기관에서는 빼면됨 |
|
19 | 19 |
"요청일자", |
20 | 20 |
"구분", |
21 | 21 |
"처리여부", |
... | ... | @@ -65,13 +65,14 @@ |
65 | 65 |
<ContentTitle contentTitle={"장비 문의 요청"} /> |
66 | 66 |
<div className="board-wrap"> |
67 | 67 |
<div className="btn-wrap flex-end margin-bottom"> |
68 |
+ |
|
68 | 69 |
<Button |
69 | 70 |
className={"btn-small green-btn"} |
70 | 71 |
btnName={"등록"} |
71 | 72 |
onClick={() => { |
72 | 73 |
navigate("/QandAInsert"); |
73 | 74 |
}} |
74 |
- /> |
|
75 |
+ /> |
|
75 | 76 |
</div> |
76 | 77 |
<Table className="equipment-detail" head={thead} contents={content} contentKey={key} /> |
77 | 78 |
</div> |
--- client/views/pages/callcenter/QandA_agency.jsx
... | ... | @@ -1,51 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import Button from "../../component/Button.jsx"; | |
3 | -import Table from "../../component/Table.jsx"; | |
4 | -import Modal from "../../component/Modal.jsx"; | |
5 | -import { useNavigate } from "react-router"; | |
6 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
7 | - | |
8 | -export default function QandA_agency() { | |
9 | - const navigate = useNavigate(); | |
10 | - //게시판 | |
11 | - const thead = [ | |
12 | - "No", | |
13 | - "작성자", | |
14 | - "작성일자", | |
15 | - "상태", | |
16 | - ]; | |
17 | - const key = [ | |
18 | - "No", | |
19 | - "name", | |
20 | - "date", | |
21 | - "work", | |
22 | - ]; | |
23 | - const content = [ | |
24 | - { | |
25 | - No: 1, | |
26 | - name: "홍**", | |
27 | - date: "2022-08-01", | |
28 | - work: "답변완료" | |
29 | - }, | |
30 | - ]; | |
31 | - return ( | |
32 | - <main> | |
33 | - <div className="content-wrap"> | |
34 | - <ContentTitle contentTitle={"문의게시판"} /> | |
35 | - <div className="board-wrap"> | |
36 | - <div className="btn-wrap flex-end"> | |
37 | - <Button | |
38 | - className={"btn-small green-btn"} | |
39 | - btnName={"등록"} | |
40 | - onClick={() => { | |
41 | - navigate("/QandAInsert"); | |
42 | - }} | |
43 | - /> | |
44 | - <Button className={"btn-small green-btn"} btnName={"삭제"} /> | |
45 | - </div> | |
46 | - <Table className="equipment-detail" head={thead} contents={content} contentKey={key} /> | |
47 | - </div> | |
48 | - </div> | |
49 | - </main> | |
50 | - ); | |
51 | -} |
--- client/views/pages/callcenter/QandA_government.jsx
... | ... | @@ -1,58 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import Button from "../../component/Button.jsx"; | |
3 | -import Table from "../../component/Table.jsx"; | |
4 | -import Modal from "../../component/Modal.jsx"; | |
5 | -import { useNavigate } from "react-router"; | |
6 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
7 | - | |
8 | -export default function QandA_government() { | |
9 | - const navigate = useNavigate(); | |
10 | - //게시판 | |
11 | - const thead = [ | |
12 | - "No", | |
13 | - "작성자", | |
14 | - "작성일자", | |
15 | - "관리기관", | |
16 | - "보호사", | |
17 | - "상태", | |
18 | - ]; | |
19 | - const key = [ | |
20 | - "No", | |
21 | - "name", | |
22 | - "date", | |
23 | - "agency", | |
24 | - "protect", | |
25 | - "work", | |
26 | - ]; | |
27 | - const content = [ | |
28 | - { | |
29 | - No: 2, | |
30 | - name: "정**", | |
31 | - date: "2022-08-01", | |
32 | - agency: "B복지관", | |
33 | - protect: "박복지", | |
34 | - work: "답변전" | |
35 | - }, | |
36 | - { | |
37 | - No: 1, | |
38 | - name: "홍**", | |
39 | - date: "2022-08-01", | |
40 | - agency: "A복지관", | |
41 | - protect: "홍길동", | |
42 | - work: "답변완료" | |
43 | - }, | |
44 | - ]; | |
45 | - return ( | |
46 | - <main> | |
47 | - <div className="content-wrap"> | |
48 | - <ContentTitle contentTitle={"QnA게시판"} /> | |
49 | - <div className="board-wrap"> | |
50 | - <div className="btn-wrap flex-end"> | |
51 | - <Button className={"btn-small green-btn"} btnName={"삭제"} /> | |
52 | - </div> | |
53 | - <Table className="equipment-detail" head={thead} contents={content} contentKey={key} /> | |
54 | - </div> | |
55 | - </div> | |
56 | - </main> | |
57 | - ); | |
58 | -} |
+++ client/views/pages/callcenter/QuestionConfirm.jsx
... | ... | @@ -0,0 +1,61 @@ |
1 | +import React from "react"; | |
2 | +import Button from "../../component/Button.jsx"; | |
3 | +import ContentTitle from "../../component/ContentTitle.jsx"; | |
4 | +import SubTitle from "../../component/SubTitle.jsx"; | |
5 | +import { useNavigate } from "react-router"; | |
6 | + | |
7 | +export default function QuestionConfirm() { | |
8 | + const navigate = useNavigate(); | |
9 | + return ( | |
10 | + <main> | |
11 | + <div className="content-wrap row"> | |
12 | + <ContentTitle contentTitle={"문의글 작성"} /> | |
13 | + <SubTitle explanation={"작성자 정보"} /> | |
14 | + <table className="margin-bottom2 senior-insert"> | |
15 | + <tr> | |
16 | + <th>작성자</th> | |
17 | + <td> | |
18 | + 김가족 | |
19 | + </td> | |
20 | + </tr> | |
21 | + | |
22 | + <tr> | |
23 | + <th>제목</th> | |
24 | + <td colSpan={3}> | |
25 | + 문의 | |
26 | + </td> | |
27 | + </tr> | |
28 | + <tr> | |
29 | + <th>내용</th> | |
30 | + <td colSpan={3}> | |
31 | + 문의합니다. | |
32 | + </td> | |
33 | + </tr> | |
34 | + <tr> | |
35 | + <th>답변하기</th> | |
36 | + <td colSpan={3}> | |
37 | + <textarea className="medicine" cols="30" rows="2"></textarea> | |
38 | + </td> | |
39 | + </tr> | |
40 | + </table> | |
41 | + | |
42 | + <div className="btn-wrap flex-center"> | |
43 | + <Button | |
44 | + className={"btn-large gray-btn"} | |
45 | + btnName={"이전"} | |
46 | + onClick={() => { | |
47 | + navigate("/QandASelect"); | |
48 | + }} | |
49 | + /> | |
50 | + <Button | |
51 | + className={"btn-large green-btn"} | |
52 | + btnName={"등록"} | |
53 | + onClick={() => { | |
54 | + navigate("/QandASelect"); | |
55 | + }} | |
56 | + /> | |
57 | + </div> | |
58 | + </div> | |
59 | + </main> | |
60 | + ); | |
61 | +} |
+++ client/views/pages/callcenter/QuestionInsert.jsx
... | ... | @@ -0,0 +1,55 @@ |
1 | +import React from "react"; | |
2 | +import Button from "../../component/Button.jsx"; | |
3 | +import ContentTitle from "../../component/ContentTitle.jsx"; | |
4 | +import SubTitle from "../../component/SubTitle.jsx"; | |
5 | +import { useNavigate } from "react-router"; | |
6 | + | |
7 | +export default function QandAInsert() { | |
8 | + const navigate = useNavigate(); | |
9 | + return ( | |
10 | + <main> | |
11 | + <div className="content-wrap row"> | |
12 | + <ContentTitle contentTitle={"문의글 작성"} /> | |
13 | + <SubTitle explanation={"작성자 정보"} /> | |
14 | + <table className="margin-bottom2 senior-insert"> | |
15 | + <tr> | |
16 | + <th>작성자</th> | |
17 | + <td> | |
18 | + <input type="text" placeholder="자동입력부분" /> | |
19 | + </td> | |
20 | + </tr> | |
21 | + | |
22 | + <tr> | |
23 | + <th>제목</th> | |
24 | + <td colSpan={3}> | |
25 | + <input type="text" /> | |
26 | + </td> | |
27 | + </tr> | |
28 | + <tr> | |
29 | + <th>내용</th> | |
30 | + <td colSpan={3}> | |
31 | + <textarea className="medicine" cols="30" rows="2"></textarea> | |
32 | + </td> | |
33 | + </tr> | |
34 | + </table> | |
35 | + | |
36 | + <div className="btn-wrap flex-center"> | |
37 | + <Button | |
38 | + className={"btn-large gray-btn"} | |
39 | + btnName={"이전"} | |
40 | + onClick={() => { | |
41 | + navigate("/QandASelect"); | |
42 | + }} | |
43 | + /> | |
44 | + <Button | |
45 | + className={"btn-large green-btn"} | |
46 | + btnName={"등록"} | |
47 | + onClick={() => { | |
48 | + navigate("/QandASelect"); | |
49 | + }} | |
50 | + /> | |
51 | + </div> | |
52 | + </div> | |
53 | + </main> | |
54 | + ); | |
55 | +} |
+++ client/views/pages/callcenter/QuestionSelect.jsx
... | ... | @@ -0,0 +1,66 @@ |
1 | +import React from "react"; | |
2 | +import Button from "../../component/Button.jsx"; | |
3 | +import Table from "../../component/Table.jsx"; | |
4 | +import Modal from "../../component/Modal.jsx"; | |
5 | +import { useNavigate } from "react-router"; | |
6 | +import ContentTitle from "../../component/ContentTitle.jsx"; | |
7 | +import RestoreFromTrashIcon from '@mui/icons-material/RestoreFromTrash'; | |
8 | + | |
9 | + | |
10 | +export default function QuestionSelect() { | |
11 | + const navigate = useNavigate(); | |
12 | + //게시판 | |
13 | + const thead = [ | |
14 | + "No", | |
15 | + "답변상태", | |
16 | + "제목", | |
17 | + "작성자", | |
18 | + "작성일자", | |
19 | + ]; | |
20 | + const key = [ | |
21 | + "No", | |
22 | + "answer", | |
23 | + "title", | |
24 | + "writer", | |
25 | + "date", | |
26 | + ]; | |
27 | + const content = [ | |
28 | + { | |
29 | + No: 1, | |
30 | + answer: "답변완료", | |
31 | + title: ( | |
32 | + <div className="title" onClick={() => { | |
33 | + navigate("/QuestionConfirm"); | |
34 | + }}>담당자 바꿔주세요</div> | |
35 | + ), | |
36 | + writer: "홍길동", | |
37 | + date: "2023-01-27", | |
38 | + }, | |
39 | + | |
40 | + ]; | |
41 | + return ( | |
42 | + <main> | |
43 | + <div className="content-wrap"> | |
44 | + <ContentTitle contentTitle={"Q&A"} /> | |
45 | + <div className="board-wrap"> | |
46 | + <div className="btn-wrap flex-end margin-bottom question-select"> | |
47 | + <input type="checkbox" /><label htmlFor="">내 Q&A 보기</label> | |
48 | + <select name="" id=""> | |
49 | + <option value="답변상태">답변상태</option> | |
50 | + <option value="미답변">미답변</option> | |
51 | + <option value="답변완료">답변완료</option> | |
52 | + </select> | |
53 | + <Button | |
54 | + className={"btn-small green-btn"} | |
55 | + btnName={"작성하기"} | |
56 | + onClick={() => { | |
57 | + navigate("/QuestionInsert"); | |
58 | + }} | |
59 | + /> | |
60 | + </div> | |
61 | + </div> | |
62 | + <Table className="equipment-detail" head={thead} contents={content} contentKey={key} /> | |
63 | + </div> | |
64 | + </main> | |
65 | + ); | |
66 | +} |
--- client/views/pages/equipment/EquipmentManagementSelect.jsx
+++ client/views/pages/equipment/EquipmentManagementSelect.jsx
... | ... | @@ -16,6 +16,20 @@ |
16 | 16 |
const closeModal = () => { |
17 | 17 |
setModalOpen(false); |
18 | 18 |
}; |
19 |
+ const [modalOpen2, setModalOpen2] = React.useState(false); |
|
20 |
+ const openModal2 = () => { |
|
21 |
+ setModalOpen2(true); |
|
22 |
+ }; |
|
23 |
+ const closeModal2 = () => { |
|
24 |
+ setModalOpen2(false); |
|
25 |
+ }; |
|
26 |
+ const [modalOpen3, setModalOpen3] = React.useState(false); |
|
27 |
+ const openModal3 = () => { |
|
28 |
+ setModalOpen3(true); |
|
29 |
+ }; |
|
30 |
+ const closeModal3 = () => { |
|
31 |
+ setModalOpen3(false); |
|
32 |
+ }; |
|
19 | 33 |
const navigate = useNavigate(); |
20 | 34 |
const thead1 = [ |
21 | 35 |
"No", |
... | ... | @@ -23,31 +37,36 @@ |
23 | 37 |
"시리얼 넘버", |
24 | 38 |
"입고일자", |
25 | 39 |
"사용여부", |
26 |
- "보유 기관", |
|
40 |
+ "보유 기관", //관리기관, 올잇메디 |
|
41 |
+ "담당자",//시행기관 |
|
27 | 42 |
]; |
28 | 43 |
const key1 = [ |
29 | 44 |
"No", |
30 |
- "equipment_name", |
|
45 |
+ "equipment", |
|
31 | 46 |
"serialNumber", |
32 |
- "name", |
|
47 |
+ "date", |
|
33 | 48 |
"use", |
34 |
- "management",]; |
|
49 |
+ "agency", |
|
50 |
+ "protector", |
|
51 |
+ ]; |
|
35 | 52 |
const content1 = [ |
36 | 53 |
{ |
37 | 54 |
No: 1, |
38 |
- equipment_name: "스마트약상자", |
|
55 |
+ equipment: "스마트약상자", |
|
39 | 56 |
serialNumber: "ABCD-1", |
40 |
- name: "2022.12.02", |
|
57 |
+ date: "2022.12.02", |
|
41 | 58 |
use: "사용", |
42 |
- management: "A복지관" |
|
59 |
+ agency: "A복지관", |
|
60 |
+ protector: "김복지", |
|
43 | 61 |
}, |
44 | 62 |
{ |
45 | 63 |
No: 2, |
46 |
- equipment_name: "스마트약상자", |
|
64 |
+ equipment: "스마트약상자", |
|
47 | 65 |
serialNumber: "ABCD-1", |
48 |
- name: "2022.12.02", |
|
66 |
+ date: "2022.12.02", |
|
49 | 67 |
use: "미사용", |
50 |
- management: "B복지관" |
|
68 |
+ agency: "B복지관", |
|
69 |
+ protector: "-" |
|
51 | 70 |
}, |
52 | 71 |
]; |
53 | 72 |
const thead3 = [ |
... | ... | @@ -55,38 +74,55 @@ |
55 | 74 |
"장비명", |
56 | 75 |
"시리얼 넘버", |
57 | 76 |
"입고일자", |
58 |
- "납품 기관", |
|
77 |
+ "납품 기관",//관리기관, 올잇메디 |
|
78 |
+ "대상자",//시행기관 |
|
59 | 79 |
]; |
60 | 80 |
const key3 = [ |
61 | 81 |
"No", |
62 |
- "equipment_name", |
|
82 |
+ "equipment", |
|
63 | 83 |
"serialNumber", |
64 |
- "name", |
|
65 |
- "management",]; |
|
84 |
+ "date", |
|
85 |
+ "agency", |
|
86 |
+ "senior", |
|
87 |
+ ]; |
|
66 | 88 |
const content3 = [ |
67 | 89 |
{ |
68 | 90 |
No: 1, |
69 |
- equipment_name: "스마트약상자", |
|
91 |
+ equipment: "스마트약상자", |
|
70 | 92 |
serialNumber: "ABCD-1", |
71 |
- name: "2022.12.02", |
|
72 |
- management: ( |
|
93 |
+ date: "2022.12.02", |
|
94 |
+ agency: ( |
|
73 | 95 |
<Button |
74 | 96 |
className={"btn-small gray-btn"} |
75 | 97 |
btnName={"선택"} |
76 | 98 |
onClick={openModal} |
77 | 99 |
/> |
78 |
- ) |
|
100 |
+ ), |
|
101 |
+ senior: ( |
|
102 |
+ <Button |
|
103 |
+ className={"btn-small gray-btn"} |
|
104 |
+ btnName={"선택"} |
|
105 |
+ onClick={openModal2} |
|
106 |
+ /> |
|
107 |
+ ), |
|
79 | 108 |
}, |
80 | 109 |
{ |
81 | 110 |
No: 2, |
82 |
- equipment_name: "스마트약상자", |
|
111 |
+ equipment: "스마트약상자", |
|
83 | 112 |
serialNumber: "ABCD-1", |
84 |
- name: "2022.12.02", |
|
85 |
- management: (<Button |
|
113 |
+ date: "2022.12.02", |
|
114 |
+ agency: (<Button |
|
86 | 115 |
className={"btn-small gray-btn"} |
87 | 116 |
btnName={"선택"} |
88 | 117 |
onClick={openModal} |
89 |
- />) |
|
118 |
+ />), |
|
119 |
+ senior: ( |
|
120 |
+ <Button |
|
121 |
+ className={"btn-small gray-btn"} |
|
122 |
+ btnName={"선택"} |
|
123 |
+ onClick={openModal2} |
|
124 |
+ /> |
|
125 |
+ ), |
|
90 | 126 |
}, |
91 | 127 |
]; |
92 | 128 |
const thead2 = [ |
... | ... | @@ -95,24 +131,27 @@ |
95 | 131 |
"시리얼 넘버", |
96 | 132 |
"대여일", |
97 | 133 |
"배터리 잔량", |
98 |
- "보유기관", |
|
134 |
+ "보유기관",//관리기관, 올잇메디 |
|
135 |
+ "담당자",//시행기관 |
|
99 | 136 |
]; |
100 | 137 |
const key2 = [ |
101 | 138 |
"No", |
102 |
- "equipment_name", |
|
139 |
+ "equipment", |
|
103 | 140 |
"serialNumber", |
104 |
- "name", |
|
141 |
+ "date", |
|
105 | 142 |
"battery", |
106 |
- "management", |
|
143 |
+ "agency", |
|
144 |
+ "protector", |
|
107 | 145 |
]; |
108 | 146 |
const content2 = [ |
109 | 147 |
{ |
110 | 148 |
No: 1, |
111 |
- equipment_name: "스마트약상자", |
|
149 |
+ equipment: "스마트약상자", |
|
112 | 150 |
serialNumber: "ABCD-1", |
113 |
- name: "2022.12.02", |
|
151 |
+ date: "2022.12.02", |
|
114 | 152 |
battery: "10%", |
115 |
- management: "A복지관", |
|
153 |
+ agency: "A복지관", |
|
154 |
+ protector: "김복지" |
|
116 | 155 |
|
117 | 156 |
}, |
118 | 157 |
]; |
... | ... | @@ -123,19 +162,50 @@ |
123 | 162 |
]; |
124 | 163 |
const key4 = [ |
125 | 164 |
"No", |
126 |
- "equipment_name", |
|
127 |
- "serialNumber", |
|
165 |
+ "agency", |
|
166 |
+ "choice", |
|
128 | 167 |
]; |
129 | 168 |
const content4 = [ |
130 | 169 |
{ |
131 | 170 |
No: 1, |
132 |
- equipment_name: ( |
|
171 |
+ agency: ( |
|
133 | 172 |
<div> |
134 | 173 |
<Category /> |
135 | 174 |
</div> |
136 | 175 |
) |
137 | 176 |
, |
138 |
- serialNumber: (<Button |
|
177 |
+ choice: (<Button |
|
178 |
+ className={"btn-small gray-btn"} |
|
179 |
+ btnName={"선택"} |
|
180 |
+ />) |
|
181 |
+ |
|
182 |
+ }, |
|
183 |
+ ]; |
|
184 |
+ const thead5 = [ |
|
185 |
+ "No", |
|
186 |
+ "대상자", |
|
187 |
+ "선택하기", |
|
188 |
+ ]; |
|
189 |
+ const key5 = [ |
|
190 |
+ "No", |
|
191 |
+ "senior", |
|
192 |
+ "choice", |
|
193 |
+ ]; |
|
194 |
+ const content5 = [ |
|
195 |
+ { |
|
196 |
+ No: 1, |
|
197 |
+ senior: ( |
|
198 |
+ <div> |
|
199 |
+ <input type="text" list="senior_list" /> |
|
200 |
+ <datalist id="senior_list"> |
|
201 |
+ <option value="대상자1(ID)"></option> |
|
202 |
+ <option value="대상자2(ID)"></option> |
|
203 |
+ <option value="대상자3(ID)"></option> |
|
204 |
+ </datalist> |
|
205 |
+ </div> |
|
206 |
+ ) |
|
207 |
+ , |
|
208 |
+ choice: (<Button |
|
139 | 209 |
className={"btn-small gray-btn"} |
140 | 210 |
btnName={"선택"} |
141 | 211 |
/>) |
... | ... | @@ -157,11 +227,8 @@ |
157 | 227 |
<Button |
158 | 228 |
className={"btn-small green-btn"} |
159 | 229 |
btnName={"등록"} |
160 |
- onClick={() => { |
|
161 |
- navigate("/EquipmentManagementInsert"); |
|
162 |
- }} |
|
230 |
+ onClick={openModal3} |
|
163 | 231 |
/> |
164 |
- <Button className={"btn-small green-btn"} btnName={"삭제"} /> |
|
165 | 232 |
</div> |
166 | 233 |
</div> |
167 | 234 |
<Table |
... | ... | @@ -178,7 +245,7 @@ |
178 | 245 |
}, |
179 | 246 |
{ |
180 | 247 |
id: 2, |
181 |
- title: "재고 장비(5)", |
|
248 |
+ title: "재고(미사용) 장비(5)", //에이젼시로 들어가면 미사용 장비(5)로 나와야 함 |
|
182 | 249 |
description: ( |
183 | 250 |
<div> |
184 | 251 |
<Table |
... | ... | @@ -192,7 +259,7 @@ |
192 | 259 |
}, |
193 | 260 |
{ |
194 | 261 |
id: 3, |
195 |
- title: "납품 장비(200)", |
|
262 |
+ title: "납품(내가 사용중인) 장비(200)",//에이젼시로 들어가면 내가 사용중인 장비(5)로 나와야 함 |
|
196 | 263 |
description: ( |
197 | 264 |
<Table |
198 | 265 |
className={"caregiver-user"} |
... | ... | @@ -225,6 +292,60 @@ |
225 | 292 |
</div> |
226 | 293 |
</div> |
227 | 294 |
</Modal> |
295 |
+ <Modal open={modalOpen2} close={closeModal2} header="대상자 선택"> |
|
296 |
+ <div className="board-wrap"> |
|
297 |
+ <div> |
|
298 |
+ <Table |
|
299 |
+ className={"caregiver-user"} |
|
300 |
+ head={thead5} |
|
301 |
+ contents={content5} |
|
302 |
+ contentKey={key5} |
|
303 |
+ /> |
|
304 |
+ </div> |
|
305 |
+ <div> |
|
306 |
+ <Button |
|
307 |
+ className={"btn-100 green-btn"} |
|
308 |
+ btnName={"닫기"} |
|
309 |
+ onClick={closeModal2} |
|
310 |
+ /> |
|
311 |
+ </div> |
|
312 |
+ </div> |
|
313 |
+ </Modal> |
|
314 |
+ <Modal open={modalOpen3} close={closeModal3} header="대상자 선택"> |
|
315 |
+ <div className="board-wrap"> |
|
316 |
+ <div> |
|
317 |
+ <table className="flex70 margin-bottom"> |
|
318 |
+ <tbody className="equipment-insert"> |
|
319 |
+ <tr> |
|
320 |
+ <th>장비명</th> |
|
321 |
+ <td colSpan={5}> |
|
322 |
+ <input type="text" name="" id="" /> |
|
323 |
+ </td> |
|
324 |
+ </tr> |
|
325 |
+ <tr> |
|
326 |
+ <th>시리얼 넘버</th> |
|
327 |
+ <td colSpan={5}> |
|
328 |
+ <input type="text" name="" id="" /> |
|
329 |
+ </td> |
|
330 |
+ </tr> |
|
331 |
+ <tr> |
|
332 |
+ <th>입고일자</th> |
|
333 |
+ <td colSpan={5}> |
|
334 |
+ <input type="text" name="" id="" /> |
|
335 |
+ </td> |
|
336 |
+ </tr> |
|
337 |
+ </tbody> |
|
338 |
+ </table> |
|
339 |
+ </div> |
|
340 |
+ <div> |
|
341 |
+ <Button |
|
342 |
+ className={"btn-100 green-btn"} |
|
343 |
+ btnName={"저장"} |
|
344 |
+ onClick={closeModal3} |
|
345 |
+ /> |
|
346 |
+ </div> |
|
347 |
+ </div> |
|
348 |
+ </Modal> |
|
228 | 349 |
<div className="tab-container"> |
229 | 350 |
<ul className="tab-menu"> |
230 | 351 |
{data.map((item) => ( |
--- client/views/pages/equipment/EquipmentManagementSelectOne.jsx
+++ client/views/pages/equipment/EquipmentManagementSelectOne.jsx
... | ... | @@ -12,31 +12,35 @@ |
12 | 12 |
const thead = [ |
13 | 13 |
"No", |
14 | 14 |
"사용자명", |
15 |
- "시니어등록번호", |
|
16 |
- "관리기관", |
|
15 |
+ "대상자등록번호", |
|
16 |
+ "관리기관", //관리기관, 올잇메디 |
|
17 |
+ "담당자", //시행기관 |
|
17 | 18 |
"대여기간", |
18 | 19 |
]; |
19 | 20 |
const key = [ |
20 | 21 |
"No", |
21 | 22 |
"name", |
22 | 23 |
"management_number", |
23 |
- "address", |
|
24 |
- "period_of_use", |
|
24 |
+ "agency", //관리기관, 올잇메디 |
|
25 |
+ "protector",//시행기관 |
|
26 |
+ "period", |
|
25 | 27 |
]; |
26 | 28 |
const content = [ |
27 | 29 |
{ |
28 | 30 |
No: 1, |
29 | 31 |
name: "김복남", |
30 | 32 |
management_number: 2022080101, |
31 |
- address: "A복지관", |
|
32 |
- period_of_use: "2022.12.01 ~ 2023.11.30", |
|
33 |
+ agency: "A복지관", |
|
34 |
+ protector:"김복지", |
|
35 |
+ period: "2022.12.01 ~ 2023.11.30", |
|
33 | 36 |
}, |
34 | 37 |
{ |
35 | 38 |
No: 2, |
36 | 39 |
name: "홍길동", |
37 | 40 |
management_number: 2022080102, |
38 |
- address: "B복지관", |
|
39 |
- period_of_use: "2020.05.01 ~ 2022.04.23", |
|
41 |
+ agency: "B복지관", |
|
42 |
+ protector:"김복지", |
|
43 |
+ period: "2020.05.01 ~ 2022.04.23", |
|
40 | 44 |
}, |
41 | 45 |
]; |
42 | 46 |
return ( |
--- client/views/pages/equipment/EquipmentManagementSelect_agency.jsx
... | ... | @@ -1,271 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import Table from "../../component/Table.jsx"; | |
3 | -import Button from "../../component/Button.jsx"; | |
4 | -import SubTitle from "../../component/SubTitle.jsx"; | |
5 | -import Modal from "../../component/Modal.jsx"; | |
6 | -import Category from "../../component/Category.jsx"; | |
7 | -import { useNavigate } from "react-router"; | |
8 | - | |
9 | - | |
10 | -export default function EquipmentManagementSelect_agency() { | |
11 | - | |
12 | - const [modalOpen, setModalOpen] = React.useState(false); | |
13 | - const openModal = () => { | |
14 | - setModalOpen(true); | |
15 | - }; | |
16 | - const closeModal = () => { | |
17 | - setModalOpen(false); | |
18 | - }; | |
19 | - const navigate = useNavigate(); | |
20 | - const thead1 = [ | |
21 | - "No", | |
22 | - "시리얼 넘버", | |
23 | - "기기 종류", | |
24 | - "모델 명", | |
25 | - "대여 가능 여부", | |
26 | - "기기 상태", | |
27 | - "사용자", | |
28 | - "기기 관리" | |
29 | - ]; | |
30 | - const key1 = [ | |
31 | - "No", | |
32 | - "serialNumber", | |
33 | - "type", | |
34 | - "equipment_name", | |
35 | - "use", | |
36 | - "state", | |
37 | - "name", | |
38 | - "management" | |
39 | - ]; | |
40 | - const content1 = [ | |
41 | - { | |
42 | - No: 2, | |
43 | - type: "스마트약상자", | |
44 | - equipment_name: "SMB-MB100", | |
45 | - serialNumber: "ABCD-2", | |
46 | - use: "대여 가능", | |
47 | - state: "정상", | |
48 | - name: "-", | |
49 | - management: ( | |
50 | - <Button | |
51 | - className={"btn-small gray-btn"} | |
52 | - btnName={"매칭"} | |
53 | - onClick={openModal} | |
54 | - /> | |
55 | - ) | |
56 | - }, | |
57 | - { | |
58 | - No: 1, | |
59 | - type: "스마트약상자", | |
60 | - equipment_name: "SMB-MB100", | |
61 | - serialNumber: "ABCD-1", | |
62 | - use: "대여 중", | |
63 | - state: "정상", | |
64 | - name: "홍길동", | |
65 | - management: ( | |
66 | - <Button | |
67 | - className={"btn-small gray-btn"} | |
68 | - btnName={"반납"} | |
69 | - onClick={openModal} | |
70 | - /> | |
71 | - ) | |
72 | - }, | |
73 | - ]; | |
74 | - | |
75 | - const thead2 = [ | |
76 | - "No", | |
77 | - "시리얼 넘버", | |
78 | - "기기 종류", | |
79 | - "모델 명", | |
80 | - "대여 가능 여부", | |
81 | - "기기 상태", | |
82 | - "사용자", | |
83 | - "기기 관리" | |
84 | - ]; | |
85 | - const key2 = [ | |
86 | - "No", | |
87 | - "serialNumber", | |
88 | - "type", | |
89 | - "equipment_name", | |
90 | - "use", | |
91 | - "state", | |
92 | - "name", | |
93 | - "management" | |
94 | - ]; | |
95 | - const content2 = [ | |
96 | - { | |
97 | - No: 1, | |
98 | - type: "스마트약상자", | |
99 | - equipment_name: "SMB-MB100", | |
100 | - serialNumber: "ABCD-2", | |
101 | - use: "대여 가능", | |
102 | - state: "정상", | |
103 | - name: "-", | |
104 | - management: ( | |
105 | - <Button | |
106 | - className={"btn-small gray-btn"} | |
107 | - btnName={"매칭"} | |
108 | - onClick={openModal} | |
109 | - /> | |
110 | - ) | |
111 | - }, | |
112 | - ]; | |
113 | - | |
114 | - const thead3 = [ | |
115 | - "No", | |
116 | - "장비명", | |
117 | - "시리얼 넘버", | |
118 | - "입고일자", | |
119 | - "납품 기관", | |
120 | - ]; | |
121 | - const key3= [ | |
122 | - "No", | |
123 | - "equipment_name", | |
124 | - "serialNumber", | |
125 | - "name", | |
126 | - "management",]; | |
127 | - const content3 = [ | |
128 | - { | |
129 | - No: 1, | |
130 | - equipment_name: "스마트약상자", | |
131 | - serialNumber: "ABCD-1", | |
132 | - name: "2022.12.02", | |
133 | - management: ( | |
134 | - <Button | |
135 | - className={"btn-small gray-btn"} | |
136 | - btnName={"선택"} | |
137 | - onClick={openModal} | |
138 | - /> | |
139 | - ) | |
140 | - }, | |
141 | - { | |
142 | - No: 2, | |
143 | - equipment_name: "스마트약상자", | |
144 | - serialNumber: "ABCD-1", | |
145 | - name: "2022.12.02", | |
146 | - management: (<Button | |
147 | - className={"btn-small gray-btn"} | |
148 | - btnName={"선택"} | |
149 | - onClick={openModal} | |
150 | - />) | |
151 | - }, | |
152 | - ]; | |
153 | - const thead4 = [ | |
154 | - "No", | |
155 | - "사용자", | |
156 | - "선택하기", | |
157 | - ]; | |
158 | - const key4 = [ | |
159 | - "No", | |
160 | - "senior_name", | |
161 | - "serialNumber", | |
162 | - ]; | |
163 | - const content4 = [ | |
164 | - { | |
165 | - No: 1, | |
166 | - senior_name: "송창덕", | |
167 | - serialNumber: (<Button | |
168 | - className={"btn-small gray-btn"} | |
169 | - btnName={"선택"} | |
170 | - />) | |
171 | - | |
172 | - }, | |
173 | - ]; | |
174 | - | |
175 | - | |
176 | - | |
177 | - const data = [ | |
178 | - { | |
179 | - id: 1, | |
180 | - title: "장비 전체(100)", | |
181 | - description: ( | |
182 | - <div> | |
183 | - <Table | |
184 | - className={"caregiver-user"} | |
185 | - head={thead1} | |
186 | - contents={content1} | |
187 | - contentKey={key1} | |
188 | - /> | |
189 | - </div> | |
190 | - ), | |
191 | - }, | |
192 | - { | |
193 | - id: 2, | |
194 | - title: "재고 장비(1)", | |
195 | - description: ( | |
196 | - <div> | |
197 | - <Table | |
198 | - className={"caregiver-user"} | |
199 | - head={thead2} | |
200 | - contents={content2} | |
201 | - contentKey={key2} | |
202 | - /> | |
203 | - </div> | |
204 | - ), | |
205 | - }, | |
206 | - ]; | |
207 | - const [index, setIndex] = React.useState(1); | |
208 | - return ( | |
209 | - <main> | |
210 | - <Modal open={modalOpen} close={closeModal} header="대상자 매칭"> | |
211 | - <div className="board-wrap"> | |
212 | - <div> | |
213 | - <Table | |
214 | - className={"caregiver-user"} | |
215 | - head={thead4} | |
216 | - contents={content4} | |
217 | - contentKey={key4} | |
218 | - /> | |
219 | - </div> | |
220 | - <div> | |
221 | - <Button | |
222 | - className={"btn-100 green-btn"} | |
223 | - btnName={"닫기"} | |
224 | - onClick={closeModal} | |
225 | - /> | |
226 | - </div> | |
227 | - </div> | |
228 | - </Modal> | |
229 | - <div className="tab-container"> | |
230 | - <ul className="tab-menu"> | |
231 | - {data.map((item) => ( | |
232 | - <li | |
233 | - key={item.id} | |
234 | - className={index === item.id ? "active" : null} | |
235 | - onClick={() => setIndex(item.id)} | |
236 | - > | |
237 | - {item.title} | |
238 | - </li> | |
239 | - ))} | |
240 | - </ul> | |
241 | - <div className="content-wrap"> | |
242 | - <div className="search-management flex-end margin-bottom2"> | |
243 | - <select name="management-agency"> | |
244 | - <option value="기관전체">기관전체</option> | |
245 | - <option value="대구보훈병원">복지재단1</option> | |
246 | - <option value="군위군청">복지재단2</option> | |
247 | - <option value="군위군청">복지재단3</option> | |
248 | - </select> | |
249 | - <select> | |
250 | - <option value="이름">이름</option> | |
251 | - <option value="아이디">아이디</option> | |
252 | - </select> | |
253 | - <input type="text" /> | |
254 | - <Button | |
255 | - className={"btn-small gray-btn"} | |
256 | - btnName={"검색"} | |
257 | - onClick={() => navigate("")} | |
258 | - /> | |
259 | - </div> | |
260 | - <ul className="tab-content"> | |
261 | - {data | |
262 | - .filter((item) => index === item.id) | |
263 | - .map((item) => ( | |
264 | - <li>{item.description}</li> | |
265 | - ))} | |
266 | - </ul> | |
267 | - </div> | |
268 | - </div> | |
269 | - </main> | |
270 | - ); | |
271 | -} |
--- client/views/pages/healthcare/BloodSelect.jsx
+++ client/views/pages/healthcare/BloodSelect.jsx
... | ... | @@ -108,13 +108,7 @@ |
108 | 108 |
|
109 | 109 |
</table> |
110 | 110 |
<div className="btn-wrap flex-center margin-bottom5"> |
111 |
- <Button |
|
112 |
- className={"btn-small green-btn"} |
|
113 |
- btnName={"추가하기"} |
|
114 |
- onClick={() => { |
|
115 |
- // navigate("/SeniorInsert"); |
|
116 |
- }} |
|
117 |
- /> |
|
111 |
+ <Button className={"btn-small green-btn"} btnName={"저장"} /> |
|
118 | 112 |
</div> |
119 | 113 |
</div> |
120 | 114 |
<Table |
--- client/views/pages/healthcare/ECGSelect.jsx
+++ client/views/pages/healthcare/ECGSelect.jsx
... | ... | @@ -95,13 +95,7 @@ |
95 | 95 |
|
96 | 96 |
</table> |
97 | 97 |
<div className="btn-wrap flex-center margin-bottom5"> |
98 |
- <Button |
|
99 |
- className={"btn-small green-btn"} |
|
100 |
- btnName={"추가하기"} |
|
101 |
- onClick={() => { |
|
102 |
- // navigate("/SeniorInsert"); |
|
103 |
- }} |
|
104 |
- /> |
|
98 |
+ <Button className={"btn-small green-btn"} btnName={"저장"} /> |
|
105 | 99 |
</div> |
106 | 100 |
</div> |
107 | 101 |
<Table |
... | ... | @@ -162,7 +156,7 @@ |
162 | 156 |
</Modal> |
163 | 157 |
|
164 | 158 |
<div className="content-wrap"> |
165 |
- <ContentTitle contentTitle={"문진표 조회"} /> |
|
159 |
+ <ContentTitle contentTitle={"심전도 관리"} /> |
|
166 | 160 |
<div> |
167 | 161 |
<DetailSearch /> |
168 | 162 |
<div className="board-wrap"> |
--- client/views/pages/healthcare/Questionnaire.jsx
+++ client/views/pages/healthcare/Questionnaire.jsx
... | ... | @@ -157,13 +157,7 @@ |
157 | 157 |
</tr> |
158 | 158 |
</table> |
159 | 159 |
</div> |
160 |
- <div> |
|
161 |
- <Button |
|
162 |
- className={"btn-100 green-btn"} |
|
163 |
- btnName={"닫기"} |
|
164 |
- onClick={closeModal} |
|
165 |
- /> |
|
166 |
- </div> |
|
160 |
+ <div className="flex-center"><Button className={"btn-small green-btn"} btnName={"저장"} /></div > |
|
167 | 161 |
</div> |
168 | 162 |
</Modal> |
169 | 163 |
|
... | ... | @@ -196,13 +190,7 @@ |
196 | 190 |
</tr> |
197 | 191 |
</table> |
198 | 192 |
<div className="btn-wrap flex-center margin-bottom5"> |
199 |
- <Button |
|
200 |
- className={"btn-small green-btn"} |
|
201 |
- btnName={"추가하기"} |
|
202 |
- onClick={() => { |
|
203 |
- // navigate("/SeniorInsert"); |
|
204 |
- }} |
|
205 |
- /> |
|
193 |
+ <Button className={"btn-small green-btn"} btnName={"저장"} /> |
|
206 | 194 |
</div> |
207 | 195 |
<div> |
208 | 196 |
<Table |
--- client/views/pages/healthcare/Questionnaire_government.jsx
... | ... | @@ -1,224 +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_government() { | |
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", "agency", "protect", "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 | - agency: "A복지관", | |
39 | - protect: "홍길동", | |
40 | - average: ( | |
41 | - <Button | |
42 | - className={"btn-small gray-btn"} | |
43 | - btnName={"작성하기"} | |
44 | - onClick={openModal} | |
45 | - /> | |
46 | - ), | |
47 | - record: ( | |
48 | - <Button | |
49 | - className={"btn-small gray-btn"} | |
50 | - btnName={"진료 내역"} | |
51 | - onClick={openModal2} | |
52 | - /> | |
53 | - ), | |
54 | - }, | |
55 | - { | |
56 | - No: 2, | |
57 | - name: "홍길동", | |
58 | - number: "00000001", | |
59 | - birth: "1948.08.02", | |
60 | - phone: "010-1234-3333", | |
61 | - address: "경상북도 군위군 군위읍", | |
62 | - agency: "B복지관", | |
63 | - protect: "박길동", | |
64 | - average: ( | |
65 | - <Button | |
66 | - className={"btn-small gray-btn"} | |
67 | - btnName={"보기"} | |
68 | - onClick={openModal} | |
69 | - /> | |
70 | - ), | |
71 | - record: ( | |
72 | - <Button | |
73 | - className={"btn-small gray-btn"} | |
74 | - btnName={"진료 내역"} | |
75 | - onClick={openModal2} | |
76 | - /> | |
77 | - ), | |
78 | - }, | |
79 | - ]; | |
80 | - | |
81 | - const thead1 = [ | |
82 | - "No", | |
83 | - "진료 일자", | |
84 | - "진료 사유", | |
85 | - "진료 내용", | |
86 | - "심전도 데이터", | |
87 | - "혈압 데이터", | |
88 | - "기록 작성자 명", | |
89 | - ]; | |
90 | - const key1 = ["No", "date", "reason","content", "ecg", "blood", "name"]; | |
91 | - const content1 = [ | |
92 | - { | |
93 | - No: 1, | |
94 | - date: "2023-01-25", | |
95 | - reason: "정기 내원", | |
96 | - content: "건강검진 진행, 이상 없음", | |
97 | - ecg: "data", | |
98 | - blood: "data", | |
99 | - name: "정간호", | |
100 | - }, | |
101 | - ]; | |
102 | - | |
103 | - return ( | |
104 | - <main> | |
105 | - <Modal open={modalOpen} close={closeModal} header="문진표 작성"> | |
106 | - <div className="board-wrap"> | |
107 | - <div> | |
108 | - <table className="margin-bottom2 questionnaire-table"> | |
109 | - <tr> | |
110 | - <th>흡연을 하십니까?</th> | |
111 | - <td className="flex-start"> | |
112 | - <input type="radio" /> | |
113 | - <label for="gender">예</label> | |
114 | - <input type="radio" /> | |
115 | - <label for="gender">아니요</label> | |
116 | - </td> | |
117 | - </tr> | |
118 | - <tr> | |
119 | - <th>음주를 하십니까?</th> | |
120 | - <td className="flex-start"> | |
121 | - <input type="radio" /> | |
122 | - <label for="gender">예</label> | |
123 | - <input type="radio" /> | |
124 | - <label for="gender">아니요</label> | |
125 | - </td> | |
126 | - </tr> | |
127 | - <tr> | |
128 | - <th>일주일에 운동을 몇회 하십니까?</th> | |
129 | - <td className="flex-start"> | |
130 | - <input type="radio" /> | |
131 | - <label for="gender">안함</label> | |
132 | - <input type="radio" /> | |
133 | - <label for="gender">3회 미만</label> | |
134 | - <input type="radio" /> | |
135 | - <label for="gender">3회 이상</label> | |
136 | - <input type="radio" /> | |
137 | - <label for="gender">매일</label> | |
138 | - </td> | |
139 | - </tr> | |
140 | - <tr> | |
141 | - <th>최근 3개월 동안 갑작스런 체중 변화가 있었습니까?</th> | |
142 | - <td className="flex-start"> | |
143 | - <input type="radio" /> | |
144 | - <label for="gender">예 - 증가</label> | |
145 | - <input type="radio" /> | |
146 | - <label for="gender">예 - 감소</label> | |
147 | - <input type="radio" /> | |
148 | - <label for="gender">아니요</label> | |
149 | - </td> | |
150 | - </tr> | |
151 | - <tr> | |
152 | - <th>현재 복용중인 약이 있으면 체크를 해주세요.</th> | |
153 | - <td className="flex-start"> | |
154 | - <input type="checkbox" /> | |
155 | - <label for="gender">없음</label> | |
156 | - <input type="checkbox" /> | |
157 | - <label for="gender">아스피린(항혈소판제)</label> | |
158 | - <input type="checkbox" /> | |
159 | - <label for="gender">당뇨약</label> | |
160 | - <input type="checkbox" /> | |
161 | - <label for="gender">고혈압약</label> | |
162 | - <input type="checkbox" /> | |
163 | - <label for="gender">기타</label><input type="text" /> | |
164 | - </td> | |
165 | - </tr> | |
166 | - </table> | |
167 | - </div> | |
168 | - <div> | |
169 | - <Button | |
170 | - className={"btn-100 green-btn"} | |
171 | - btnName={"닫기"} | |
172 | - onClick={closeModal} | |
173 | - /> | |
174 | - </div> | |
175 | - </div> | |
176 | - </Modal> | |
177 | - | |
178 | - <Modal open={modalOpen2} close={closeModal2} header="진료 기록"> | |
179 | - <div className="board-wrap"> | |
180 | - <div className="btn-wrap flex-end margin-bottom"> | |
181 | - <Button | |
182 | - className={"btn-small green-btn"} | |
183 | - btnName={"등록"} | |
184 | - onClick={() => { | |
185 | - // navigate("/SeniorInsert"); | |
186 | - }} | |
187 | - /> | |
188 | - <Button className={"btn-small green-btn"} btnName={"삭제"} /> | |
189 | - </div> | |
190 | - <div> | |
191 | - <Table | |
192 | - className={"caregiver-user"} | |
193 | - head={thead1} | |
194 | - contents={content1} | |
195 | - contentKey={key1} | |
196 | - /> | |
197 | - </div> | |
198 | - <div> | |
199 | - <Button | |
200 | - className={"btn-100 green-btn"} | |
201 | - btnName={"닫기"} | |
202 | - onClick={closeModal2} | |
203 | - /> | |
204 | - </div> | |
205 | - </div> | |
206 | - </Modal> | |
207 | - | |
208 | - <div className="content-wrap"> | |
209 | - <ContentTitle contentTitle={"문진표 조회"} /> | |
210 | - <div> | |
211 | - <DetailSearch /> | |
212 | - <div className="board-wrap"> | |
213 | - <Table | |
214 | - className={"medicine-table"} | |
215 | - head={thead} | |
216 | - contents={content} | |
217 | - contentKey={key} | |
218 | - /> | |
219 | - </div> | |
220 | - </div> | |
221 | - </div> | |
222 | - </main> | |
223 | - ); | |
224 | -} |
--- client/views/pages/healthcare/medicinecare/MedicineCareSelect_government.jsx
... | ... | @@ -1,50 +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","protector","agency", "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 | - protector: "홍길동", | |
23 | - agency: "A복지관", | |
24 | - average: "3회", | |
25 | - }, | |
26 | - ]; | |
27 | - | |
28 | - return ( | |
29 | - <main> | |
30 | - <div className="content-wrap"> | |
31 | - <ContentTitle contentTitle={"복약 조회"} /> | |
32 | - <div> | |
33 | - <DetailSearch /> | |
34 | - <div className="board-wrap"> | |
35 | - <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom"/> | |
36 | - <Table | |
37 | - className={"medicine-table"} | |
38 | - head={thead} | |
39 | - contents={content} | |
40 | - contentKey={key} | |
41 | - onClick={() => { | |
42 | - navigate("/MedicineCareSelectOne"); | |
43 | - }} | |
44 | - /> | |
45 | - </div> | |
46 | - </div> | |
47 | - </div> | |
48 | - </main> | |
49 | - ); | |
50 | -} |
--- client/views/pages/healthcare/temperature/TemperatureManagementSelect_government.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", "birth", "phone", "address","agency", "protect","temp",]; | |
13 | - const content = [ | |
14 | - { | |
15 | - No: 1, | |
16 | - name: "김복남", | |
17 | - birth: "1948.11.15", | |
18 | - phone: "010-1234-5678", | |
19 | - address: "경상북도 군위군 삼국유사면", | |
20 | - agency: "A복지관", | |
21 | - protect: "홍길동", | |
22 | - temp: "18°C", | |
23 | - }, | |
24 | - { | |
25 | - No: 2, | |
26 | - name: "홍길동", | |
27 | - birth: "1945.05.08", | |
28 | - phone: "010-1234-5678", | |
29 | - address: "경상북도 군위군 군위읍", | |
30 | - agency: "B복지관", | |
31 | - protect: "박길동", | |
32 | - temp: "10°C", | |
33 | - }, | |
34 | - ]; | |
35 | - return ( | |
36 | - <main> | |
37 | - <div className="content-wrap"> | |
38 | - <ContentTitle contentTitle={"댁내 온도 조회"} /> | |
39 | - <DetailSearch /> | |
40 | - <div className="board-wrap"> | |
41 | - <SubTitle className="margin-bottom" explanation={"대상자 클릭 시 최근 일주일 댁내 온도를 확인할 수 있습니다."}/> | |
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/senior_management/SeniorSelect.jsx
... | ... | @@ -1,120 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import Table from "../../component/Table.jsx"; | |
3 | -import Button from "../../component/Button.jsx"; | |
4 | -import { useNavigate } from "react-router"; | |
5 | -import DetailSearch from "./../../component/DetailSearch.jsx"; | |
6 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
7 | -import SubTitle from "../../component/SubTitle.jsx"; | |
8 | - | |
9 | -export default function SeniorSelect() { | |
10 | - const navigate = useNavigate(); | |
11 | - | |
12 | - //게시판 | |
13 | - const thead = [ | |
14 | - <input type="checkbox" />, | |
15 | - "No", | |
16 | - "사용자관리번호", | |
17 | - "관리기관", | |
18 | - "이름", | |
19 | - "지역", | |
20 | - "연락처", | |
21 | - ]; | |
22 | - const key = [ | |
23 | - "", | |
24 | - "No", | |
25 | - "management_number", | |
26 | - "level_of_care", | |
27 | - "name", | |
28 | - "birth", | |
29 | - "phone", | |
30 | - ]; | |
31 | - const content = [ | |
32 | - { | |
33 | - "": <input type="checkbox" />, | |
34 | - No: 1, | |
35 | - management_number: 2022080101, | |
36 | - level_of_care: "A복지관", | |
37 | - name: "김복남", | |
38 | - birth: "대구", | |
39 | - phone: "010-1234-1234" | |
40 | - }, | |
41 | - { | |
42 | - "": <input type="checkbox" />, | |
43 | - No: 1, | |
44 | - management_number: 2022080101, | |
45 | - level_of_care: "A복지관", | |
46 | - name: "김복남", | |
47 | - birth: "대구", | |
48 | - phone: "010-1234-1234" | |
49 | - }, | |
50 | - { | |
51 | - "": <input type="checkbox" />, | |
52 | - No: 1, | |
53 | - management_number: 2022080101, | |
54 | - level_of_care: "A복지관", | |
55 | - name: "김복남", | |
56 | - birth: "대구", | |
57 | - phone: "010-1234-1234" | |
58 | - }, | |
59 | - ]; | |
60 | - | |
61 | - //select option 동적 생성 | |
62 | - // const optionList = () => { | |
63 | - // let year = []; | |
64 | - // let month = []; | |
65 | - // let days = []; | |
66 | - // let currentDate = new Date(); | |
67 | - // let currentYear = currentDate.getFullYear(); | |
68 | - | |
69 | - // for (let i = 1910; i < currentYear.length; i++) { | |
70 | - // year.push(i); | |
71 | - // } | |
72 | - | |
73 | - // for (let j = 1; i < 13; j++) { | |
74 | - // month.push(j); | |
75 | - // } | |
76 | - | |
77 | - // for (let k = 1; i < 32; k++) { | |
78 | - // days.push(k); | |
79 | - // } | |
80 | - // return year, month, days; | |
81 | - // }; | |
82 | - | |
83 | - // React.useEffect(() => { | |
84 | - // optionList(); | |
85 | - // }, []); | |
86 | - | |
87 | - return ( | |
88 | - <main> | |
89 | - <div className="content-wrap"> | |
90 | - <ContentTitle contentTitle={"대상자 조회"} /> | |
91 | - <div> | |
92 | - <DetailSearch /> | |
93 | - <div className="board-wrap"> | |
94 | - <SubTitle className="margin-bottom" explanation={"대상자 클릭 시 상세페이지로 이동합니다."} /> | |
95 | - <div className="btn-wrap flex-end margin-bottom"> | |
96 | - <Button | |
97 | - className={"btn-small green-btn"} | |
98 | - btnName={"등록"} | |
99 | - onClick={() => { | |
100 | - navigate("/SeniorInsert"); | |
101 | - }} | |
102 | - /> | |
103 | - <Button className={"btn-small green-btn"} btnName={"삭제"} /> | |
104 | - </div> | |
105 | - <Table | |
106 | - className={"senior-table"} | |
107 | - head={thead} | |
108 | - contents={content} | |
109 | - contentKey={key} | |
110 | - onClick={() => { | |
111 | - navigate("/SeniorSelectOne"); | |
112 | - }} | |
113 | - /> | |
114 | - | |
115 | - </div> | |
116 | - </div> | |
117 | - </div> | |
118 | - </main> | |
119 | - ); | |
120 | -} |
--- client/views/pages/authority/MyInfoUpdate.jsx
+++ client/views/pages/user_management/ProtectorInsert.jsx
... | ... | @@ -1,16 +1,47 @@ |
1 |
-import React from 'react' |
|
2 |
-import ContentTitle from '../../component/ContentTitle.jsx' |
|
3 |
-import SubTitle from '../../component/SubTitle.jsx' |
|
4 |
-import Button from '../../component/Button.jsx' |
|
1 |
+import React from "react"; |
|
2 |
+import Table from "../../component/Table.jsx"; |
|
3 |
+import Button from "../../component/Button.jsx"; |
|
4 |
+import { useNavigate } from "react-router"; |
|
5 |
+import DetailSearch from "../../component/AgencySearch.jsx"; |
|
6 |
+import ContentTitle from "../../component/ContentTitle.jsx"; |
|
7 |
+import SubTitle from "../../component/SubTitle.jsx"; |
|
5 | 8 |
|
6 |
-export default function MyInfoUpdate() { |
|
9 |
+export default function ProtectorSelect() { |
|
10 |
+ const navigate = useNavigate(); |
|
11 |
+ |
|
12 |
+ //게시판 |
|
13 |
+ |
|
14 |
+ //select option 동적 생성 |
|
15 |
+ // const optionList = () => { |
|
16 |
+ // let year = []; |
|
17 |
+ // let month = []; |
|
18 |
+ // let days = []; |
|
19 |
+ // let currentDate = new Date(); |
|
20 |
+ // let currentYear = currentDate.getFullYear(); |
|
21 |
+ |
|
22 |
+ // for (let i = 1910; i < currentYear.length; i++) { |
|
23 |
+ // year.push(i); |
|
24 |
+ // } |
|
25 |
+ |
|
26 |
+ // for (let j = 1; i < 13; j++) { |
|
27 |
+ // month.push(j); |
|
28 |
+ // } |
|
29 |
+ |
|
30 |
+ // for (let k = 1; i < 32; k++) { |
|
31 |
+ // days.push(k); |
|
32 |
+ // } |
|
33 |
+ // return year, month, days; |
|
34 |
+ // }; |
|
35 |
+ |
|
36 |
+ // React.useEffect(() => { |
|
37 |
+ // optionList(); |
|
38 |
+ // }, []); |
|
39 |
+ |
|
7 | 40 |
return ( |
8 | 41 |
<main> |
9 |
- <div className="content-wrap"> |
|
10 |
- <ContentTitle contentTitle={"내 정보 수정"} /> |
|
11 |
- <div className="board-wrap"> |
|
12 |
- <SubTitle className="margin-bottom" explanation={"내 정보를 수정 할 수 있습니다."} /> |
|
13 |
- <div className="join-inner-update"> |
|
42 |
+ <div className="join-group"> |
|
43 |
+ <h3>회원가입</h3> |
|
44 |
+ <div className="join-inner"> |
|
14 | 45 |
<div> |
15 | 46 |
<div className="flex-start margin-bottom2"> |
16 | 47 |
<label className="flex25">구분</label> |
... | ... | @@ -40,10 +71,10 @@ |
40 | 71 |
</label> |
41 | 72 |
<input |
42 | 73 |
type="text" |
43 |
- name="id" |
|
74 |
+ name="name" |
|
44 | 75 |
placeholder="" |
45 | 76 |
autocomplete="off" |
46 |
- id="id" |
|
77 |
+ id="name" |
|
47 | 78 |
/> |
48 | 79 |
</div> |
49 | 80 |
</div> |
... | ... | @@ -58,7 +89,11 @@ |
58 | 89 |
placeholder="" |
59 | 90 |
autocomplete="off" |
60 | 91 |
id="id" |
61 |
- disabled |
|
92 |
+ /> |
|
93 |
+ <Button |
|
94 |
+ btnName={"중복확인"} |
|
95 |
+ className={"green-btn btn-large"} |
|
96 |
+ onclick="openIdChk()" |
|
62 | 97 |
/> |
63 | 98 |
</div> |
64 | 99 |
</div> |
... | ... | @@ -104,16 +139,18 @@ |
104 | 139 |
/> |
105 | 140 |
</div> |
106 | 141 |
</div> |
107 |
- <div className="btn-wrap flex-center"> |
|
108 |
- <Button className={"gray-btn btn-large"} btnName={"탈퇴"} /> |
|
142 |
+ <div className="btn-wrap"> |
|
143 |
+ <Button className={"gray-btn btn-large"} btnName={"취소"} /> |
|
109 | 144 |
<Button |
110 | 145 |
className={"green-btn btn-large"} |
111 |
- btnName={"수정"} |
|
146 |
+ btnName={"등록"} |
|
147 |
+ onClick={() => { |
|
148 |
+ navigate("Login"); |
|
149 |
+ }} |
|
112 | 150 |
/> |
113 | 151 |
</div> |
114 | 152 |
</div> |
115 |
- </div> |
|
116 |
- </div> |
|
117 |
- </main> |
|
118 |
- ) |
|
153 |
+ </div> |
|
154 |
+ </main> |
|
155 |
+ ); |
|
119 | 156 |
} |
--- client/views/pages/user_management/ProtectorSelect.jsx
+++ client/views/pages/user_management/ProtectorSelect.jsx
... | ... | @@ -5,17 +5,22 @@ |
5 | 5 |
import DetailSearch from "../../component/AgencySearch.jsx"; |
6 | 6 |
import ContentTitle from "../../component/ContentTitle.jsx"; |
7 | 7 |
import SubTitle from "../../component/SubTitle.jsx"; |
8 |
+import Modal from "../../component/Modal.jsx"; |
|
8 | 9 |
|
9 | 10 |
export default function ProtectorSelect() { |
10 | 11 |
const navigate = useNavigate(); |
11 |
- |
|
12 |
+ const [modalOpen, setModalOpen] = React.useState(false); |
|
13 |
+ const openModal = () => { |
|
14 |
+ setModalOpen(true); |
|
15 |
+ }; |
|
16 |
+ const closeModal = () => { |
|
17 |
+ setModalOpen(false); |
|
18 |
+ }; |
|
12 | 19 |
//게시판 |
13 | 20 |
const thead = [ |
14 | 21 |
"No", |
15 | 22 |
"소속기관명", |
16 | 23 |
"이름", |
17 |
- "성별", |
|
18 |
- "생년월일", |
|
19 | 24 |
"연락처", |
20 | 25 |
"ID", |
21 | 26 |
"담당 대상자(어르신) (명)", |
... | ... | @@ -24,8 +29,6 @@ |
24 | 29 |
"No", |
25 | 30 |
"center", |
26 | 31 |
"name", |
27 |
- "gender", |
|
28 |
- "birth", |
|
29 | 32 |
"phone", |
30 | 33 |
"ID", |
31 | 34 |
"worker", |
... | ... | @@ -35,8 +38,6 @@ |
35 | 38 |
No: 1, |
36 | 39 |
center: "A복지관", |
37 | 40 |
name: "홍길동", |
38 |
- gender: "여", |
|
39 |
- birth: "920516", |
|
40 | 41 |
phone: "010-1234-1234", |
41 | 42 |
ID: "a123", |
42 | 43 |
worker: "5명" |
... | ... | @@ -45,8 +46,6 @@ |
45 | 46 |
No: 2, |
46 | 47 |
center: "A복지관", |
47 | 48 |
name: "홍길동", |
48 |
- gender: "여", |
|
49 |
- birth: "920506", |
|
50 | 49 |
phone: "010-1234-1234", |
51 | 50 |
ID: "b123", |
52 | 51 |
worker: "5명" |
... | ... | @@ -55,8 +54,6 @@ |
55 | 54 |
No: 3, |
56 | 55 |
center: "A복지관", |
57 | 56 |
name: "홍길동", |
58 |
- gender: "여", |
|
59 |
- birth: "920519", |
|
60 | 57 |
phone: "010-1234-1234", |
61 | 58 |
ID: "c123", |
62 | 59 |
worker: "8명" |
... | ... | @@ -92,6 +89,98 @@ |
92 | 89 |
|
93 | 90 |
return ( |
94 | 91 |
<main> |
92 |
+ <Modal open={modalOpen} close={closeModal} header="담당자 등록"> |
|
93 |
+ <div className="board-wrap"> |
|
94 |
+ <div> |
|
95 |
+ <div className="join-inner"> |
|
96 |
+ <div> |
|
97 |
+ </div> |
|
98 |
+ <div> |
|
99 |
+ <div className="flex-start margin-bottom2"> |
|
100 |
+ <label className="flex25" htmlFor="name"> |
|
101 |
+ 기관명 |
|
102 |
+ </label> |
|
103 |
+ <select name="division" id="section"> |
|
104 |
+ <option value="manager">기관명</option> |
|
105 |
+ </select> |
|
106 |
+ </div> |
|
107 |
+ </div> |
|
108 |
+ <div> |
|
109 |
+ <div className="flex-start margin-bottom2"> |
|
110 |
+ <label className="flex25" htmlFor="name"> |
|
111 |
+ 이름 |
|
112 |
+ </label> |
|
113 |
+ <input |
|
114 |
+ type="text" |
|
115 |
+ name="name" |
|
116 |
+ placeholder="" |
|
117 |
+ autocomplete="off" |
|
118 |
+ id="name" |
|
119 |
+ /> |
|
120 |
+ </div> |
|
121 |
+ </div> |
|
122 |
+ <div className="id"> |
|
123 |
+ <div className="flex-start margin-bottom2"> |
|
124 |
+ <label className="flex25" htmlFor="id"> |
|
125 |
+ 아이디 |
|
126 |
+ </label> |
|
127 |
+ <input |
|
128 |
+ type="text" |
|
129 |
+ name="id" |
|
130 |
+ placeholder="" |
|
131 |
+ autocomplete="off" |
|
132 |
+ id="id" |
|
133 |
+ /> |
|
134 |
+ <Button |
|
135 |
+ btnName={"중복확인"} |
|
136 |
+ className={"green-btn btn-large"} |
|
137 |
+ onclick="openIdChk()" |
|
138 |
+ /> |
|
139 |
+ </div> |
|
140 |
+ </div> |
|
141 |
+ <div> |
|
142 |
+ <div className="flex-start margin-bottom2"> |
|
143 |
+ <label className="flex25" htmlFor="password"> |
|
144 |
+ 비밀번호 |
|
145 |
+ </label> |
|
146 |
+ <input |
|
147 |
+ type="text" |
|
148 |
+ name="password" |
|
149 |
+ placeholder="" |
|
150 |
+ autocomplete="off" |
|
151 |
+ id="password" |
|
152 |
+ /> |
|
153 |
+ </div> |
|
154 |
+ </div> |
|
155 |
+ <div> |
|
156 |
+ <div className="flex margin-bottom2"> |
|
157 |
+ <label className="flex25" htmlFor="phone_number"> |
|
158 |
+ 전화번호 |
|
159 |
+ </label> |
|
160 |
+ <input |
|
161 |
+ type="text" |
|
162 |
+ name="phone_number" |
|
163 |
+ placeholder="" |
|
164 |
+ autocomplete="off" |
|
165 |
+ id="phone_number" |
|
166 |
+ /> |
|
167 |
+ </div> |
|
168 |
+ </div> |
|
169 |
+ <div className="btn-wrap flex-center"> |
|
170 |
+ <Button className={"gray-btn btn-large"} btnName={"취소"} /> |
|
171 |
+ <Button |
|
172 |
+ className={"green-btn btn-large"} |
|
173 |
+ btnName={"등록"} |
|
174 |
+ onClick={() => { |
|
175 |
+ navigate("Login"); |
|
176 |
+ }} |
|
177 |
+ /> |
|
178 |
+ </div> |
|
179 |
+ </div> |
|
180 |
+ </div> |
|
181 |
+ </div> |
|
182 |
+ </Modal> |
|
183 |
+ |
|
95 | 184 |
<div className="content-wrap"> |
96 | 185 |
<ContentTitle contentTitle={"사용자 조회"} /> |
97 | 186 |
<div> |
... | ... | @@ -102,11 +191,8 @@ |
102 | 191 |
<Button |
103 | 192 |
className={"btn-small green-btn"} |
104 | 193 |
btnName={"등록"} |
105 |
- onClick={() => { |
|
106 |
- navigate("/SeniorInsert"); |
|
107 |
- }} |
|
108 |
- /> |
|
109 |
- <Button className={"btn-small green-btn"} btnName={"삭제"} /> |
|
194 |
+ onClick={openModal} |
|
195 |
+ /> |
|
110 | 196 |
</div> |
111 | 197 |
</div > |
112 | 198 |
<Table |
--- client/views/pages/user_management/UserAuthoriySelect.jsx
+++ client/views/pages/user_management/UserAuthoriySelect.jsx
... | ... | @@ -37,6 +37,13 @@ |
37 | 37 |
const closeModal = () => { |
38 | 38 |
setModalOpen(false); |
39 | 39 |
}; |
40 |
+ const [modalOpen2, setModalOpen2] = React.useState(false); |
|
41 |
+ const openModal2 = () => { |
|
42 |
+ setModalOpen2(true); |
|
43 |
+ }; |
|
44 |
+ const closeModal2 = () => { |
|
45 |
+ setModalOpen2(false); |
|
46 |
+ }; |
|
40 | 47 |
const thead = [ |
41 | 48 |
"No", |
42 | 49 |
"소속기관명", |
... | ... | @@ -170,11 +177,7 @@ |
170 | 177 |
<Button |
171 | 178 |
className={"btn-small green-btn"} |
172 | 179 |
btnName={"등록"} |
173 |
- onClick={() => { |
|
174 |
- navigate("/SeniorInsert"); |
|
175 |
- }} |
|
176 | 180 |
/> |
177 |
- <Button className={"btn-small green-btn"} btnName={"삭제"} /> |
|
178 | 181 |
</div> |
179 | 182 |
<div> |
180 | 183 |
<Table |
... | ... | @@ -189,6 +192,98 @@ |
189 | 192 |
className={"btn-100 green-btn"} |
190 | 193 |
btnName={"닫기"} |
191 | 194 |
onClick={closeModal} |
195 |
+ /> |
|
196 |
+ </div> |
|
197 |
+ </div> |
|
198 |
+ </Modal> |
|
199 |
+ <Modal open={modalOpen2} close={closeModal2} header="'김복남'님의 가족"> |
|
200 |
+ <div className="board-wrap"> |
|
201 |
+ <SubTitle explanation={"회원 등록 시 ID는 연락처, 패스워드는 생년월일 8자리입니다."} className="margin-bottom"/> |
|
202 |
+ <table className="margin-bottom2 senior-insert"> |
|
203 |
+ <tr> |
|
204 |
+ <th>대상자등록번호</th> |
|
205 |
+ <td colSpan={3} className="flex"> |
|
206 |
+ <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다."/> |
|
207 |
+ <Button |
|
208 |
+ className={"btn-large gray-btn"} |
|
209 |
+ btnName={"생성하기"} |
|
210 |
+ /> |
|
211 |
+ </td> |
|
212 |
+ </tr> |
|
213 |
+ <tr> |
|
214 |
+ <th>이름</th> |
|
215 |
+ <td> |
|
216 |
+ <input type="text" /> |
|
217 |
+ </td> |
|
218 |
+ <th>성별</th> |
|
219 |
+ <td className="flex-start gender"> |
|
220 |
+ <div className="flex-start"> |
|
221 |
+ <input type="radio" name="genderSelect"></input> |
|
222 |
+ <label for="gender">남</label> |
|
223 |
+ </div> |
|
224 |
+ <div className="flex-start"> |
|
225 |
+ <input type="radio" name="genderSelect"></input> |
|
226 |
+ <label for="gender">여</label> |
|
227 |
+ </div> |
|
228 |
+ </td> |
|
229 |
+ </tr> |
|
230 |
+ <tr> |
|
231 |
+ <th>생년월일</th> |
|
232 |
+ <td> |
|
233 |
+ <div className="flex"> |
|
234 |
+ <select name="year" id="year"> |
|
235 |
+ <option value="">년</option> |
|
236 |
+ </select> |
|
237 |
+ <select name="month" id="month"> |
|
238 |
+ <option value="">월</option> |
|
239 |
+ </select> |
|
240 |
+ <select name="days" id="days"> |
|
241 |
+ <option value="">일</option> |
|
242 |
+ </select> |
|
243 |
+ </div> |
|
244 |
+ </td> |
|
245 |
+ {/* <th>요양등급</th> |
|
246 |
+ <td> |
|
247 |
+ <input type="text" /> |
|
248 |
+ </td> */} |
|
249 |
+ |
|
250 |
+ </tr> |
|
251 |
+ <tr> |
|
252 |
+ <th>연락처</th> |
|
253 |
+ <td colSpan={3}> |
|
254 |
+ <input type="text" /> |
|
255 |
+ </td> |
|
256 |
+ </tr> |
|
257 |
+ <tr> |
|
258 |
+ <th>주소</th> |
|
259 |
+ <td colSpan={3}> |
|
260 |
+ <input type="text" /> |
|
261 |
+ </td> |
|
262 |
+ </tr> |
|
263 |
+ <tr> |
|
264 |
+ <th>비고</th> |
|
265 |
+ <td colSpan={3}> |
|
266 |
+ <textarea className="medicine" cols="30" rows="2"></textarea> |
|
267 |
+ </td> |
|
268 |
+ </tr> |
|
269 |
+ {/* <tr> |
|
270 |
+ <th>복용중인 약</th> |
|
271 |
+ <td colSpan={3}> |
|
272 |
+ <textarea className="medicine" cols="30" rows="2"></textarea> |
|
273 |
+ </td> |
|
274 |
+ </tr> |
|
275 |
+ <tr> |
|
276 |
+ <th>기저질환</th> |
|
277 |
+ <td colSpan={3}> |
|
278 |
+ <textarea cols="30" rows="10"></textarea> |
|
279 |
+ </td> |
|
280 |
+ </tr> */} |
|
281 |
+ </table> |
|
282 |
+ <div> |
|
283 |
+ <Button |
|
284 |
+ className={"btn-100 green-btn"} |
|
285 |
+ btnName={"등록"} |
|
286 |
+ onClick={closeModal2} |
|
192 | 287 |
/> |
193 | 288 |
</div> |
194 | 289 |
</div> |
... | ... | @@ -294,9 +389,7 @@ |
294 | 389 |
<Button |
295 | 390 |
className={"btn-small green-btn"} |
296 | 391 |
btnName={"등록"} |
297 |
- onClick={() => { |
|
298 |
- navigate("/SeniorInsert"); |
|
299 |
- }} |
|
392 |
+ onClick={openModal2} |
|
300 | 393 |
/> |
301 | 394 |
<Button className={"btn-small green-btn"} btnName={"삭제"} /> |
302 | 395 |
</div> |
--- client/views/pages/user_management/UserAuthoriySelect_agency.jsx
+++ client/views/pages/user_management/UserAuthoriySelect_agency.jsx
... | ... | @@ -22,6 +22,13 @@ |
22 | 22 |
const closeModal2 = () => { |
23 | 23 |
setModalOpen2(false); |
24 | 24 |
}; |
25 |
+ const [modalOpen3, setModalOpen3] = React.useState(false); |
|
26 |
+ const openModal3 = () => { |
|
27 |
+ setModalOpen3(true); |
|
28 |
+ }; |
|
29 |
+ const closeModal3 = () => { |
|
30 |
+ setModalOpen3(false); |
|
31 |
+ }; |
|
25 | 32 |
|
26 | 33 |
const insertBtn = (id) => { |
27 | 34 |
if (id == 2) { |
... | ... | @@ -292,13 +299,15 @@ |
292 | 299 |
</div> |
293 | 300 |
</div> |
294 | 301 |
</Modal> |
295 |
- <Modal open={modalOpen2} close={closeModal2} header="보호사 배정"> |
|
302 |
+ <Modal open={modalOpen2} close={closeModal2} header="담당자 배정"> |
|
296 | 303 |
<div className="board-wrap"> |
297 |
- <SubTitle explanation={"보호사 선택"} className="margin-bottom"/> |
|
304 |
+ <SubTitle explanation={"담당자 선택"} className="margin-bottom"/> |
|
298 | 305 |
<div className="flex-start protectorlist margin-bottom5"> |
299 |
- <input type="text" list="datalist" /> |
|
306 |
+ <input type="text" list="protectorlist" /> |
|
300 | 307 |
<datalist id="protectorlist"> |
301 |
- <option value="옵션태그 값">이름(아이디)</option> |
|
308 |
+ <option value="보호사1(ID)"></option> |
|
309 |
+ <option value="보호사2(ID)"></option> |
|
310 |
+ <option value="보호사3(ID)"></option> |
|
302 | 311 |
</datalist> |
303 | 312 |
<div className="btn-wrap"> |
304 | 313 |
<Button |
... | ... | @@ -315,6 +324,96 @@ |
315 | 324 |
contentKey={key4} |
316 | 325 |
/> |
317 | 326 |
</div> |
327 |
+ </div> |
|
328 |
+ </Modal> |
|
329 |
+ <Modal open={modalOpen3} close={closeModal3} header="대상자 등록"> |
|
330 |
+ <div className="board-wrap"> |
|
331 |
+ <SubTitle explanation={"회원 등록 시 ID는 연락처, 패스워드는 생년월일 8자리입니다."} className="margin-bottom"/> |
|
332 |
+ <table className="margin-bottom2 senior-insert"> |
|
333 |
+ <tr> |
|
334 |
+ <th>대상자등록번호</th> |
|
335 |
+ <td colSpan={3} className="flex"> |
|
336 |
+ <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다."/> |
|
337 |
+ <Button |
|
338 |
+ className={"btn-large gray-btn"} |
|
339 |
+ btnName={"생성하기"} |
|
340 |
+ /> |
|
341 |
+ </td> |
|
342 |
+ </tr> |
|
343 |
+ <tr> |
|
344 |
+ <th>이름</th> |
|
345 |
+ <td> |
|
346 |
+ <input type="text" /> |
|
347 |
+ </td> |
|
348 |
+ <th>성별</th> |
|
349 |
+ <td className="flex-start gender"> |
|
350 |
+ <div className="flex-start"> |
|
351 |
+ <input type="radio" name="genderSelect"></input> |
|
352 |
+ <label for="gender">남</label> |
|
353 |
+ </div> |
|
354 |
+ <div className="flex-start"> |
|
355 |
+ <input type="radio" name="genderSelect"></input> |
|
356 |
+ <label for="gender">여</label> |
|
357 |
+ </div> |
|
358 |
+ </td> |
|
359 |
+ </tr> |
|
360 |
+ <tr> |
|
361 |
+ <th>생년월일</th> |
|
362 |
+ <td> |
|
363 |
+ <div className="flex"> |
|
364 |
+ <select name="year" id="year"> |
|
365 |
+ <option value="">년</option> |
|
366 |
+ </select> |
|
367 |
+ <select name="month" id="month"> |
|
368 |
+ <option value="">월</option> |
|
369 |
+ </select> |
|
370 |
+ <select name="days" id="days"> |
|
371 |
+ <option value="">일</option> |
|
372 |
+ </select> |
|
373 |
+ </div> |
|
374 |
+ </td> |
|
375 |
+ {/* <th>요양등급</th> |
|
376 |
+ <td> |
|
377 |
+ <input type="text" /> |
|
378 |
+ </td> */} |
|
379 |
+ </tr> |
|
380 |
+ <tr> |
|
381 |
+ <th>연락처</th> |
|
382 |
+ <td colSpan={3}> |
|
383 |
+ <input type="text" /> |
|
384 |
+ </td> |
|
385 |
+ </tr> |
|
386 |
+ <tr> |
|
387 |
+ <th>주소</th> |
|
388 |
+ <td colSpan={3}> |
|
389 |
+ <input type="text" /> |
|
390 |
+ </td> |
|
391 |
+ </tr> |
|
392 |
+ <tr> |
|
393 |
+ <th>비고</th> |
|
394 |
+ <td colSpan={3}> |
|
395 |
+ <textarea className="medicine" cols="30" rows="2"></textarea> |
|
396 |
+ </td> |
|
397 |
+ </tr> |
|
398 |
+ {/* <tr> |
|
399 |
+ <th>복용중인 약</th> |
|
400 |
+ <td colSpan={3}> |
|
401 |
+ <textarea className="medicine" cols="30" rows="2"></textarea> |
|
402 |
+ </td> |
|
403 |
+ </tr> |
|
404 |
+ <tr> |
|
405 |
+ <th>기저질환</th> |
|
406 |
+ <td colSpan={3}> |
|
407 |
+ <textarea cols="30" rows="10"></textarea> |
|
408 |
+ </td> |
|
409 |
+ </tr> */} |
|
410 |
+ </table> |
|
411 |
+ <div className="btn-wrap flex-center"> |
|
412 |
+ <Button |
|
413 |
+ className={"btn-small green-btn"} |
|
414 |
+ btnName={"등록"} |
|
415 |
+ /> |
|
416 |
+ </div> |
|
318 | 417 |
</div> |
319 | 418 |
</Modal> |
320 | 419 |
|
... | ... | @@ -350,7 +449,7 @@ |
350 | 449 |
/> |
351 | 450 |
</div> |
352 | 451 |
<div className="btn-wrap flex-end"> |
353 |
- <Button className={"btn-small green-btn"} btnName={"등록"} /> |
|
452 |
+ <Button className={"btn-small green-btn"} btnName={"등록"} onClick={openModal3}/> |
|
354 | 453 |
</div> |
355 | 454 |
<ul className="tab-content"> |
356 | 455 |
{data |
--- client/views/pages/visit/visit/VisitSelectOne.jsx
+++ client/views/pages/visit/visit/VisitSelectOne.jsx
... | ... | @@ -40,7 +40,7 @@ |
40 | 40 |
<main> |
41 | 41 |
<Modal open={modalOpen} close={closeModal} header="방문 등록"> |
42 | 42 |
<div className="board-wrap"> |
43 |
- <table className="flex70"> |
|
43 |
+ <table className="flex70 margin-bottom"> |
|
44 | 44 |
<tbody> |
45 | 45 |
<tr> |
46 | 46 |
<th>대상자</th> |
... | ... | @@ -85,6 +85,7 @@ |
85 | 85 |
</tr> |
86 | 86 |
</tbody> |
87 | 87 |
</table> |
88 |
+ <div className="flex-center"><Button className={"btn-small green-btn"} btnName={"저장"} /></div > |
|
88 | 89 |
</div> |
89 | 90 |
</Modal> |
90 | 91 |
<div className="content-wrap"> |
--- client/views/pages/visit/visit/VisitSelect_government.jsx
... | ... | @@ -1,80 +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_government() { | |
10 | - const navigate = useNavigate(); | |
11 | - | |
12 | - //게시판 | |
13 | - const thead = [ | |
14 | - "No", "이름", "생년월일", "연락처", "주소", "관리기관","보호사","최근 방문일","방문목적","방문사유", | |
15 | - ]; | |
16 | - const key = [ | |
17 | - "No", "name", "birth", "phone", "address","agency","protect","visit","reason" ,"reason_detail" | |
18 | - ]; | |
19 | - const content = [ | |
20 | - { | |
21 | - No: 1, | |
22 | - name: "김복남", | |
23 | - birth: "1948.11.15", | |
24 | - phone: "010-1234-5678", | |
25 | - address: "경상북도 군위군 삼국유사면", | |
26 | - agency: "A복지관", | |
27 | - protect: "홍길동", | |
28 | - visit: "2023.02.08", | |
29 | - reason: "정기방문", | |
30 | - reason_detail: "정기방문일", | |
31 | - }, | |
32 | - { | |
33 | - No: 2, | |
34 | - name: "박영남", | |
35 | - birth: "1948.11.15", | |
36 | - phone: "010-1234-5678", | |
37 | - address: "경상북도 군위군 삼국유사면", | |
38 | - agency: "A복지관", | |
39 | - protect: "홍길동", | |
40 | - visit: "2023.02.08", | |
41 | - reason: "병원동행", | |
42 | - reason_detail: "두통을 호소하심", | |
43 | - }, | |
44 | - ]; | |
45 | - return ( | |
46 | - <main> | |
47 | - <div className="content-wrap"> | |
48 | - <ContentTitle contentTitle={"방문 조회"} /> | |
49 | - <DetailSearch /> | |
50 | - <div className="board-wrap"> | |
51 | - <SubTitle | |
52 | - className="margin-bottom" | |
53 | - explanation={"대상자 클릭 시 상세페이지로 이동합니다."} | |
54 | - /> | |
55 | - <div className="visit-table"> | |
56 | - <Table | |
57 | - className={"visit-table"} | |
58 | - head={thead} | |
59 | - contents={content} | |
60 | - contentKey={key} | |
61 | - onClick={() => { | |
62 | - navigate("/VisitSelectOne"); | |
63 | - }} | |
64 | - /> | |
65 | - </div> | |
66 | - {/* <div className="btn-wrap flex-end"> | |
67 | - <Button | |
68 | - className={"btn-small green-btn"} | |
69 | - btnName={"등록"} | |
70 | - onClick={() => { | |
71 | - navigate("/VisitInsert"); | |
72 | - }} | |
73 | - /> | |
74 | - <Button className={"btn-small green-btn"} btnName={"삭제"} /> | |
75 | - </div> */} | |
76 | - </div> | |
77 | - </div> | |
78 | - </main> | |
79 | - ); | |
80 | -} |
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?