
--- client/views/pages/App.jsx
+++ client/views/pages/App.jsx
... | ... | @@ -26,8 +26,8 @@ |
26 | 26 |
}; |
27 | 27 |
|
28 | 28 |
|
29 |
- const menuItems = AllApp.menuItems; //AdminApp, GovernmentApp, AllApp |
|
30 |
- const AppRoute = AllApp.AppRoute; |
|
29 |
+ const menuItems = AdminApp.menuItems; //AdminApp, GovernmentApp, AllApp, AgencyApp, GuardianApp |
|
30 |
+ const AppRoute = AdminApp.AppRoute; |
|
31 | 31 |
|
32 | 32 |
|
33 | 33 |
const { title } = menuItems.find( |
--- client/views/pages/AppRoute.jsx
+++ client/views/pages/AppRoute.jsx
... | ... | @@ -16,6 +16,7 @@ |
16 | 16 |
import CallIcon from '@mui/icons-material/Call'; |
17 | 17 |
import ConstructionIcon from '@mui/icons-material/Construction'; |
18 | 18 |
import EqualizerIcon from '@mui/icons-material/Equalizer'; |
19 |
+import ApartmentIcon from '@mui/icons-material/Apartment'; |
|
19 | 20 |
|
20 | 21 |
import Test from "./Test/Test.jsx"; |
21 | 22 |
import Main_government from "./main/Main_government.jsx"; |
... | ... | @@ -39,16 +40,15 @@ |
39 | 40 |
import EquipmentManagementSelect from "./equipment/EquipmentManagementSelect.jsx"; |
40 | 41 |
import EquipmentManagementSelectOne from "./equipment/EquipmentManagementSelectOne.jsx"; |
41 | 42 |
import UserAuthoriySelect from "./user_management/UserAuthoriySelect.jsx"; |
42 |
-import UserAuthoriySelect_admin from "./user_management/UserAuthoriySelect_admin.jsx"; |
|
43 |
+import UserAuthoriySelect_agency from "./user_management/UserAuthoriySelect_agency.jsx"; |
|
43 | 44 |
import MyInfoUpdate from "./authority/MyInfoUpdate.jsx"; |
44 |
-import CallInsert from "./callcenter/CallInsert.jsx"; |
|
45 |
-import CallSelect from "./callcenter/CallSelect.jsx"; |
|
46 |
-import CallSelectOne from "./setting/RiskSet.jsx"; |
|
47 |
-import CallUpdate from "./callcenter/CallUpdate.jsx"; |
|
48 |
-import EquipmentInquiry from "./equipment/EquipmentInquiry.jsx"; |
|
45 |
+import QandASelect from "./callcenter/QandASelect.jsx"; |
|
46 |
+import QandAConfirm from "./callcenter/QandAConfirm.jsx"; |
|
47 |
+import EquipmentManagementInsert from "./equipment/EquipmentManagementInsert.jsx"; |
|
49 | 48 |
import EquipmentManagementSelectAdd from "./equipment/EquipmentManagementSelectAdd.jsx"; |
50 | 49 |
import RiskSet from "./setting/RiskSet.jsx"; |
51 |
-import QandA from "./callcenter/QandA.jsx"; |
|
50 |
+import QandAInsert from "./callcenter/QandAInsert.jsx"; |
|
51 |
+import QandA_agency from "./callcenter/QandA_agency.jsx"; |
|
52 | 52 |
import UserSelectOk from "./user_management/UserSelectOk.jsx"; |
53 | 53 |
import AuthorityManagement from "./setting/AuthorityManagement.jsx"; |
54 | 54 |
import AgencyInsert from "./user_management/AgencyInsert.jsx"; |
... | ... | @@ -97,7 +97,7 @@ |
97 | 97 |
}, |
98 | 98 |
{ |
99 | 99 |
title: "장비 문의 관리", |
100 |
- path: "/EquipmentManagementSelect", |
|
100 |
+ path: "/QandASelect", |
|
101 | 101 |
icon: ( |
102 | 102 |
<SettingsIcon |
103 | 103 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
... | ... | @@ -199,7 +199,7 @@ |
199 | 199 |
}, |
200 | 200 |
{ |
201 | 201 |
title: "시니어 관리", |
202 |
- path: "/UserAuthoriySelect_admin", |
|
202 |
+ path: "/UserAuthoriySelect_agency", |
|
203 | 203 |
icon: ( |
204 | 204 |
<PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
205 | 205 |
), |
... | ... | @@ -234,7 +234,7 @@ |
234 | 234 |
}, |
235 | 235 |
{ |
236 | 236 |
title: "Q&A 관리", |
237 |
- path: "/QandA", |
|
237 |
+ path: "/QandASelect", |
|
238 | 238 |
icon: ( |
239 | 239 |
<SpeakerPhoneIcon |
240 | 240 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
... | ... | @@ -243,7 +243,7 @@ |
243 | 243 |
}, |
244 | 244 |
{ |
245 | 245 |
title: "장비 대여 관리x", |
246 |
- // path: "/EquipmentInquiry", |
|
246 |
+ path: "/EquipmentInquiry", |
|
247 | 247 |
icon: ( |
248 | 248 |
<SettingsIcon |
249 | 249 |
sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
... | ... | @@ -272,21 +272,13 @@ |
272 | 272 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
273 | 273 |
}, |
274 | 274 |
{ |
275 |
- title: "Q&A", |
|
276 |
- path: "/QandA", |
|
277 |
- icon: ( |
|
278 |
- <SpeakerPhoneIcon |
|
279 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
280 |
- /> |
|
281 |
- ), |
|
282 |
- }, |
|
275 |
+ title: "그래프로 보기", |
|
276 |
+ path: "/GuardianStatistics", |
|
277 |
+ icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
278 |
+ }, |
|
283 | 279 |
], |
284 | 280 |
}, |
285 |
- { |
|
286 |
- title: "그래프로 보기", |
|
287 |
- path: "/GuardianStatistics", |
|
288 |
- icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
289 |
- }, |
|
281 |
+ |
|
290 | 282 |
]; |
291 | 283 |
|
292 | 284 |
function AllAppRoute() { |
... | ... | @@ -340,16 +332,15 @@ |
340 | 332 |
element={<UserAuthoriySelect />} |
341 | 333 |
></Route> |
342 | 334 |
<Route path="/MyInfoUpdate" element={<MyInfoUpdate />}></Route> |
343 |
- <Route path="/CallInsert" element={<CallInsert />}></Route> |
|
344 |
- <Route path="/CallUpdate" element={<CallUpdate />}></Route> |
|
345 |
- <Route path="/CallSelect" element={<CallSelect />}></Route> |
|
335 |
+ <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
346 | 336 |
<Route path="/CallSelectOne" element={<CallSelectOne />}></Route> |
347 |
- <Route path="/EquipmentInquiry" element={<EquipmentInquiry />}></Route> |
|
337 |
+ <Route path="/QandAInquiry" element={<QandAInquiry />}></Route> |
|
348 | 338 |
<Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
349 | 339 |
<Route path="/RiskSet" element={<RiskSet />}></Route> |
350 | 340 |
<Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
351 |
- <Route path="/UserAuthoriySelect_admin" element={<UserAuthoriySelect_admin />}></Route> |
|
352 |
- <Route path="/QandA" element={<QandA />}></Route> |
|
341 |
+ <Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
|
342 |
+ <Route path="/QandA_agency" element={<QandA_agency />}></Route> |
|
343 |
+ <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
353 | 344 |
<Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
354 | 345 |
<Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
355 | 346 |
<Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
... | ... | @@ -363,6 +354,7 @@ |
363 | 354 |
<Route path="/Questionnaire_government" element={<Questionnaire_government />}></Route> |
364 | 355 |
<Route path="/VisitSelect_government" element={<VisitSelect_government />}></Route> |
365 | 356 |
<Route path="/QandA_government" element={<QandA_government />}></Route> |
357 |
+ <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
366 | 358 |
</Routes> |
367 | 359 |
); |
368 | 360 |
} |
... | ... | @@ -371,7 +363,7 @@ |
371 | 363 |
|
372 | 364 |
const AdminAppMenuItems = [ |
373 | 365 |
{ |
374 |
- title: "Home", |
|
366 |
+ title: "Home(올잇메디)", |
|
375 | 367 |
path: "/Main", |
376 | 368 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
377 | 369 |
}, |
... | ... | @@ -382,142 +374,105 @@ |
382 | 374 |
<PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
383 | 375 |
), |
384 | 376 |
}, |
385 |
- // { |
|
386 |
- // title: "시니어 관리", |
|
387 |
- // path: "/UserAuthoriySelect_admin", |
|
388 |
- // icon: ( |
|
389 |
- // <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
390 |
- // ), |
|
391 |
- // }, |
|
392 |
- // { |
|
393 |
- // title: "사용자 계정 승인", |
|
394 |
- // path: "/UserSelectOk", |
|
395 |
- // icon: ( |
|
396 |
- // <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
397 |
- // ), |
|
398 |
- // }, |
|
399 |
- // { |
|
400 |
- // title: "건강 관리", |
|
401 |
- // prefix: "/Medicine", |
|
402 |
- // icon: ( |
|
403 |
- // <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
404 |
- // ), |
|
405 |
- // childrens: [ |
|
406 |
- // { |
|
407 |
- // title: "복약 관리", |
|
408 |
- // path: "/MedicineCareSelect", |
|
409 |
- // }, |
|
410 |
- // { |
|
411 |
- // title: "댁내 온도 관리", |
|
412 |
- // path: "/TemperatureManagementSelect", |
|
413 |
- // }, |
|
414 |
- // { |
|
415 |
- // title: "문진표 작성", |
|
416 |
- // path: "/TemperatureManagementSelect", |
|
417 |
- // }, |
|
418 |
- // ], |
|
419 |
- // }, |
|
420 |
- |
|
421 |
- // { |
|
422 |
- // title: "방문 관리", |
|
423 |
- // prefix: "/Visit", |
|
424 |
- // icon: ( |
|
425 |
- // <DoorFrontIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
426 |
- // ), |
|
427 |
- // childrens: [ |
|
428 |
- // { |
|
429 |
- // title: "방문 관리", |
|
430 |
- // path: "/VisitSelect", |
|
431 |
- // }, |
|
432 |
- // ], |
|
433 |
- // }, |
|
434 |
- // { |
|
435 |
- // title: "장비 관리", |
|
436 |
- // icon: ( |
|
437 |
- // <SettingsIcon |
|
438 |
- // sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
439 |
- // /> |
|
440 |
- // ), |
|
441 |
- // childrens: [ |
|
442 |
- // { |
|
443 |
- // title: "장비 조회", |
|
444 |
- // path: "/EquipmentManagementSelect", |
|
445 |
- // }, |
|
446 |
- // { |
|
447 |
- // title: "장비 문의 요청", |
|
448 |
- // path: "/EquipmentInquiry", |
|
449 |
- // }, |
|
450 |
- // // { |
|
451 |
- // // title: "장비 추가 요청", |
|
452 |
- // // path: "/EquipmentManagementSelectAdd", |
|
453 |
- // // }, |
|
454 |
- // ], |
|
455 |
- // }, |
|
456 |
- { |
|
457 |
- title: "문의게시판", |
|
458 |
- path: "/QandA", |
|
377 |
+ { |
|
378 |
+ title: "시니어 건강 관리", |
|
379 |
+ path: "/UserAuthoriySelect_agency", |
|
459 | 380 |
icon: ( |
460 |
- <SpeakerPhoneIcon |
|
461 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
462 |
- /> |
|
463 |
- ), |
|
464 |
- }, |
|
465 |
- // { |
|
466 |
- // title: "설정", |
|
467 |
- // icon: ( |
|
468 |
- // <SettingsIcon |
|
469 |
- // sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
470 |
- // /> |
|
471 |
- // ), |
|
472 |
- // childrens: [ |
|
473 |
- // { |
|
474 |
- // title: "위험 기준 관리", |
|
475 |
- // path: "/RiskSet", |
|
476 |
- // }, |
|
477 |
- // { |
|
478 |
- // title: "사용자 권한 관리", |
|
479 |
- // path: "/AuthorityManagement", |
|
480 |
- // }, |
|
481 |
- // // { |
|
482 |
- // // title: "장비 추가 요청", |
|
483 |
- // // path: "/EquipmentManagementSelectAdd", |
|
484 |
- // // }, |
|
485 |
- // ], |
|
486 |
- // }, |
|
381 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
382 |
+ ), |
|
383 |
+ childrens: [ |
|
384 |
+ { |
|
385 |
+ title: "복약 관리", |
|
386 |
+ path: "/MedicineCareSelect", |
|
387 |
+ }, |
|
388 |
+ { |
|
389 |
+ title: "댁내 온도 관리", |
|
390 |
+ path: "/TemperatureManagementSelect", |
|
391 |
+ }, |
|
392 |
+ { |
|
393 |
+ title: "진료 관리", |
|
394 |
+ path: "/Questionnaire", |
|
395 |
+ }, |
|
396 |
+ { |
|
397 |
+ title: "방문 관리", |
|
398 |
+ path: "/VisitSelect", |
|
399 |
+ }, |
|
400 |
+ ], |
|
401 |
+ }, |
|
402 |
+ { |
|
403 |
+ title: "장비 관리", |
|
404 |
+ icon: ( |
|
405 |
+ <ConstructionIcon |
|
406 |
+ sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
407 |
+ /> |
|
408 |
+ ), |
|
409 |
+ childrens: [ |
|
410 |
+ { |
|
411 |
+ title: "장비 조회", |
|
412 |
+ path: "/EquipmentManagementSelect", |
|
413 |
+ }, |
|
414 |
+ { |
|
415 |
+ title: "장비 문의 관리", |
|
416 |
+ path: "/QandASelect", |
|
417 |
+ }, |
|
418 |
+ ], |
|
419 |
+ }, |
|
420 |
+ |
|
487 | 421 |
]; |
488 | 422 |
function AdminAppRoute() { |
489 | 423 |
return ( |
490 | 424 |
<Routes> |
491 | 425 |
<Route path="/Test" element={<Test />}></Route> |
492 | 426 |
<Route path="/Main" element={<Main />}></Route> |
493 |
- <Route path="/Main_government" element={<Main_government />}></Route> |
|
494 |
- <Route path="/Main_guardian" element={<Main_guardian />}></Route> |
|
495 |
- <Route path="/Main_agency" element={<Main_agency />}></Route> |
|
496 | 427 |
<Route |
497 | 428 |
path="/EquipmentRentalInsert" |
498 | 429 |
element={<EquipmentRentalInsert />} |
499 | 430 |
></Route> |
500 | 431 |
<Route |
432 |
+ path="/EquipmentManagementInsert" |
|
433 |
+ element={<EquipmentManagementInsert />} |
|
434 |
+ ></Route> |
|
435 |
+ <Route |
|
501 | 436 |
path="/EquipmentManagementSelect" |
502 | 437 |
element={<EquipmentManagementSelect />} |
503 | 438 |
></Route> |
439 |
+ <Route |
|
440 |
+ path="/EquipmentManagementSelectOne" |
|
441 |
+ element={<EquipmentManagementSelectOne />} |
|
442 |
+ ></Route> |
|
504 | 443 |
<Route |
505 |
- path="/EquipmentManagementSelectOne" |
|
506 |
- element={<EquipmentManagementSelectOne />} |
|
507 |
- ></Route> |
|
508 |
- <Route path="/MyInfoUpdate" element={<MyInfoUpdate />}></Route> |
|
509 |
- <Route path="/CallInsert" element={<CallInsert />}></Route> |
|
510 |
- <Route path="/CallUpdate" element={<CallUpdate />}></Route> |
|
511 |
- <Route path="/CallSelect" element={<CallSelect />}></Route> |
|
512 |
- <Route path="/CallSelectOne" element={<CallSelectOne />}></Route> |
|
513 |
- <Route path="/EquipmentInquiry" element={<EquipmentInquiry />}></Route> |
|
444 |
+ path="/MedicineCareSelect" |
|
445 |
+ element={<MedicineCareSelect />} |
|
446 |
+ ></Route> |
|
447 |
+ <Route |
|
448 |
+ path="/MedicineCareSelectOne" |
|
449 |
+ element={<MedicineCareSelectOne />} |
|
450 |
+ ></Route> |
|
451 |
+ <Route |
|
452 |
+ path="/TemperatureManagementSelectOne" |
|
453 |
+ element={<TemperatureManagementSelectOne />} |
|
454 |
+ ></Route> |
|
455 |
+ <Route |
|
456 |
+ path="/TemperatureManagementSelect" |
|
457 |
+ element={<TemperatureManagementSelect />} |
|
458 |
+ ></Route> |
|
459 |
+ <Route |
|
460 |
+ path="/VisitSelect" |
|
461 |
+ element={<VisitSelect />} |
|
462 |
+ ></Route> |
|
463 |
+ <Route |
|
464 |
+ path="/VisitSelectOne" |
|
465 |
+ element={<VisitSelectOne />} |
|
466 |
+ ></Route> |
|
467 |
+ <Route |
|
468 |
+ path="/Questionnaire" |
|
469 |
+ element={<Questionnaire />} |
|
470 |
+ ></Route> |
|
471 |
+ <Route path="/QandAInsert" element={<QandAInsert />}></Route> |
|
472 |
+ <Route path="/QandASelect" element={<QandASelect />}></Route> |
|
514 | 473 |
<Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
515 |
- <Route path="/RiskSet" element={<RiskSet />}></Route> |
|
516 |
- <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
517 |
- <Route path="/UserAuthoriySelect_admin" element={<UserAuthoriySelect_admin />}></Route> |
|
518 |
- <Route path="/QandA" element={<QandA />}></Route> |
|
519 |
- <Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
|
520 |
- <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
474 |
+ <Route path="/UserAuthoriySelect" element={<UserAuthoriySelect />}></Route> |
|
475 |
+ <Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
|
521 | 476 |
</Routes> |
522 | 477 |
); |
523 | 478 |
} |
... | ... | @@ -526,86 +481,51 @@ |
526 | 481 |
const GovernmentAppMenuItems = [ |
527 | 482 |
{ |
528 | 483 |
title: "Home", |
529 |
- path: "/Main", |
|
484 |
+ path: "/Main_government", |
|
530 | 485 |
icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
531 | 486 |
}, |
532 | 487 |
{ |
533 |
- title: "사용자 관리", |
|
534 |
- path: "/UserAuthoriySelect", |
|
488 |
+ title: "기관 관리", |
|
535 | 489 |
icon: ( |
536 |
- <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
490 |
+ <ApartmentIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
537 | 491 |
), |
492 |
+ childrens: [ |
|
493 |
+ { |
|
494 |
+ title: "기관 조회", |
|
495 |
+ path: "/AgencySelect", |
|
496 |
+ }, |
|
497 |
+ { |
|
498 |
+ title: "사용자 계정 승인", |
|
499 |
+ path: "/UserSelectOk", |
|
500 |
+ }, |
|
501 |
+ ], |
|
538 | 502 |
}, |
539 | 503 |
{ |
540 |
- title: "시니어 관리", |
|
541 |
- path: "/UserAuthoriySelect_admin", |
|
542 |
- icon: ( |
|
543 |
- <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
544 |
- ), |
|
545 |
- }, |
|
546 |
- { |
|
547 |
- title: "사용자 계정 승인", |
|
548 |
- path: "/UserSelectOk", |
|
549 |
- }, |
|
550 |
- { |
|
551 |
- title: "건강 관리", |
|
552 |
- prefix: "/Medicine", |
|
504 |
+ title: "시니어 건강 관리", |
|
553 | 505 |
icon: ( |
554 | 506 |
<Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
555 | 507 |
), |
556 |
- childrens: [ |
|
508 |
+ childrens:[ |
|
557 | 509 |
{ |
558 | 510 |
title: "복약 관리", |
559 |
- path: "/MedicineCareSelect", |
|
511 |
+ path: "/MedicineCareSelect", |
|
560 | 512 |
}, |
561 | 513 |
{ |
562 | 514 |
title: "댁내 온도 관리", |
563 |
- path: "/TemperatureManagementSelect", |
|
515 |
+ path: "/TemperatureManagementSelect", |
|
564 | 516 |
}, |
565 | 517 |
{ |
566 |
- title: "문진표 작성", |
|
567 |
- path: "/TemperatureManagementSelect", |
|
518 |
+ title: "진료 관리", |
|
519 |
+ path: "/Questionnaire", |
|
568 | 520 |
}, |
569 |
- ], |
|
570 |
- }, |
|
571 |
- |
|
572 |
- { |
|
573 |
- title: "방문 관리", |
|
574 |
- prefix: "/Visit", |
|
575 |
- icon: ( |
|
576 |
- <DoorFrontIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
577 |
- ), |
|
578 |
- childrens: [ |
|
579 | 521 |
{ |
580 | 522 |
title: "방문 관리", |
581 |
- path: "/VisitSelect", |
|
523 |
+ path: "/VisitSelect", |
|
582 | 524 |
}, |
583 |
- ], |
|
525 |
+ ] |
|
584 | 526 |
}, |
585 | 527 |
{ |
586 |
- title: "장비 관리", |
|
587 |
- icon: ( |
|
588 |
- <SettingsIcon |
|
589 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
590 |
- /> |
|
591 |
- ), |
|
592 |
- childrens: [ |
|
593 |
- { |
|
594 |
- title: "장비 조회", |
|
595 |
- path: "/EquipmentManagementSelect", |
|
596 |
- }, |
|
597 |
- { |
|
598 |
- title: "장비 문의 요청", |
|
599 |
- path: "/EquipmentInquiry", |
|
600 |
- }, |
|
601 |
- // { |
|
602 |
- // title: "장비 추가 요청", |
|
603 |
- // path: "/EquipmentManagementSelectAdd", |
|
604 |
- // }, |
|
605 |
- ], |
|
606 |
- }, |
|
607 |
- { |
|
608 |
- title: "문의게시판", |
|
528 |
+ title: "문의 현황 관리", |
|
609 | 529 |
path: "/QandA", |
610 | 530 |
icon: ( |
611 | 531 |
<SpeakerPhoneIcon |
... | ... | @@ -614,11 +534,10 @@ |
614 | 534 |
), |
615 | 535 |
}, |
616 | 536 |
{ |
617 |
- title: "설정", |
|
537 |
+ title: "설정 관리", |
|
538 |
+ prefix: "/Visit", |
|
618 | 539 |
icon: ( |
619 |
- <SettingsIcon |
|
620 |
- sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
621 |
- /> |
|
540 |
+ <SettingsIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
622 | 541 |
), |
623 | 542 |
childrens: [ |
624 | 543 |
{ |
... | ... | @@ -629,21 +548,16 @@ |
629 | 548 |
title: "사용자 권한 관리", |
630 | 549 |
path: "/AuthorityManagement", |
631 | 550 |
}, |
632 |
- // { |
|
633 |
- // title: "장비 추가 요청", |
|
634 |
- // path: "/EquipmentManagementSelectAdd", |
|
635 |
- // }, |
|
636 | 551 |
], |
637 |
- }, |
|
552 |
+ }, |
|
638 | 553 |
]; |
639 | 554 |
function GovernmentAppRoute() { |
640 | 555 |
return ( |
641 | 556 |
<Routes> |
642 | 557 |
<Route path="/Test" element={<Test />}></Route> |
643 |
- <Route path="/Main" element={<Main2 />}></Route> |
|
644 |
- <Route path="/SeniorSelect" element={<SeniorSelect />}></Route> |
|
645 |
- <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
646 |
- <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
558 |
+ <Route path="/Main_government" element={<Main_government />}></Route> |
|
559 |
+ <Route path="/AgencySelect" element={<AgencySelect />}></Route> |
|
560 |
+ <Route path="/UserSelectOk" element={<UserSelectOk />}></Route> |
|
647 | 561 |
<Route |
648 | 562 |
path="/MedicineCareSelect" |
649 | 563 |
element={<MedicineCareSelect />} |
... | ... | @@ -666,7 +580,100 @@ |
666 | 580 |
></Route> |
667 | 581 |
<Route path="/VisitInsert" element={<VisitInsert />}></Route> |
668 | 582 |
<Route path="/VisitSelect" element={<VisitSelect />}></Route> |
583 |
+ <Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
|
584 |
+ <Route |
|
585 |
+ path="/UserAuthoriySelect" |
|
586 |
+ element={<UserAuthoriySelect />} |
|
587 |
+ ></Route> |
|
588 |
+ <Route path="/RiskSet" element={<RiskSet />}></Route> |
|
589 |
+ <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
590 |
+ </Routes> |
|
591 |
+ ); |
|
592 |
+} |
|
593 |
+const AgencyAppMenuItems = [ |
|
594 |
+ { |
|
595 |
+ title: "Home", |
|
596 |
+ path: "/Main_agency", |
|
597 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
598 |
+ }, |
|
599 |
+ { |
|
600 |
+ title: "시니어 관리", |
|
601 |
+ path: "/UserAuthoriySelect_agency", |
|
602 |
+ icon: ( |
|
603 |
+ <PersonIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
604 |
+ ), |
|
605 |
+ }, |
|
606 |
+ { |
|
607 |
+ title: "시니어 건강 관리", |
|
608 |
+ icon: ( |
|
609 |
+ <Diversity1Icon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} /> |
|
610 |
+ ), |
|
611 |
+ childrens:[ |
|
612 |
+ { |
|
613 |
+ title: "복약 관리", |
|
614 |
+ path: "/MedicineCareSelect", |
|
615 |
+ }, |
|
616 |
+ { |
|
617 |
+ title: "댁내 온도 관리", |
|
618 |
+ path: "/TemperatureManagementSelect", |
|
619 |
+ }, |
|
620 |
+ { |
|
621 |
+ title: "진료 관리", |
|
622 |
+ path: "/Questionnaire", |
|
623 |
+ }, |
|
624 |
+ { |
|
625 |
+ title: "방문 관리", |
|
626 |
+ path: "/VisitSelect", |
|
627 |
+ }, |
|
628 |
+ ] |
|
629 |
+ }, |
|
630 |
+ { |
|
631 |
+ title: "장비 대여 관리", |
|
632 |
+ path: "/EquipmentInquiry", |
|
633 |
+ icon: ( |
|
634 |
+ <ConstructionIcon |
|
635 |
+ sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
636 |
+ /> |
|
637 |
+ ), |
|
638 |
+ }, |
|
639 |
+ { |
|
640 |
+ title: "문의게시판", |
|
641 |
+ path: "/EquipmentInquiry", |
|
642 |
+ icon: ( |
|
643 |
+ <SpeakerPhoneIcon |
|
644 |
+ sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} |
|
645 |
+ /> |
|
646 |
+ ), |
|
647 |
+ }, |
|
648 |
+]; |
|
649 |
+function AgencyAppRoute() { |
|
650 |
+ return ( |
|
651 |
+ <Routes> |
|
652 |
+ <Route path="/Test" element={<Test />}></Route> |
|
653 |
+ <Route path="/Main_agency" element={<Main_agency />}></Route> |
|
654 |
+ <Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
|
655 |
+ <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
656 |
+ <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
657 |
+ <Route |
|
658 |
+ path="/MedicineCareSelect" |
|
659 |
+ element={<MedicineCareSelect />} |
|
660 |
+ ></Route> |
|
661 |
+ <Route |
|
662 |
+ path="/MedicineCareSelectOne" |
|
663 |
+ element={<MedicineCareSelectOne />} |
|
664 |
+ ></Route> |
|
665 |
+ <Route |
|
666 |
+ path="/TemperatureManagementSelect" |
|
667 |
+ element={<TemperatureManagementSelect />} |
|
668 |
+ ></Route> |
|
669 |
+ <Route |
|
670 |
+ path="/TemperatureManagementSelectOne" |
|
671 |
+ element={<TemperatureManagementSelectOne />} |
|
672 |
+ ></Route> |
|
673 |
+ <Route path="/VisitInsert" element={<VisitInsert />}></Route> |
|
674 |
+ <Route path="/VisitSelect" element={<VisitSelect />}></Route> |
|
669 | 675 |
<Route path="/VisitSelectOne" element={<VisitSelectOne />}></Route> |
676 |
+ <Route path="/Questionnaire" element={<Questionnaire />}></Route> |
|
670 | 677 |
<Route |
671 | 678 |
path="/EquipmentRentalInsert" |
672 | 679 |
element={<EquipmentRentalInsert />} |
... | ... | @@ -680,19 +687,29 @@ |
680 | 687 |
element={<EquipmentManagementSelectOne />} |
681 | 688 |
></Route> |
682 | 689 |
<Route |
683 |
- path="/UserAuthoriySelect" |
|
684 |
- element={<UserAuthoriySelect />} |
|
685 |
- ></Route> |
|
686 |
- <Route path="/MyInfoUpdate" element={<MyInfoUpdate />}></Route> |
|
687 |
- <Route path="/CallInsert" element={<CallInsert />}></Route> |
|
688 |
- <Route path="/CallUpdate" element={<CallUpdate />}></Route> |
|
689 |
- <Route path="/CallSelect" element={<CallSelect />}></Route> |
|
690 |
- <Route path="/CallSelectOne" element={<CallSelectOne />}></Route> |
|
691 |
- <Route path="/EquipmentInquiry" element={<EquipmentInquiry />}></Route> |
|
692 |
- <Route path="/EquipmentManagementSelectAdd" element={<EquipmentManagementSelectAdd />}></Route> |
|
693 |
- <Route path="/RiskInsert" element={<RiskInsert />}></Route> |
|
694 |
- <Route path="/AuthorityManagement" element={<AuthorityManagement />}></Route> |
|
695 |
- <Route path="/QandA" element={<QandA />}></Route> |
|
690 |
+ path="/EquipmentInquiry" |
|
691 |
+ element={<EquipmentInquiry />} |
|
692 |
+ ></Route> |
|
693 |
+ </Routes> |
|
694 |
+ ); |
|
695 |
+} |
|
696 |
+const GuardianAppMenuItems = [ |
|
697 |
+ { |
|
698 |
+ title: "Home", |
|
699 |
+ path: "/Main_guardian", |
|
700 |
+ icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
701 |
+ }, |
|
702 |
+ { |
|
703 |
+ title: "그래프로 보기", |
|
704 |
+ path: "/GuardianStatistics", |
|
705 |
+ icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />, |
|
706 |
+ }, |
|
707 |
+]; |
|
708 |
+function GuardianAppRoute() { |
|
709 |
+ return ( |
|
710 |
+ <Routes> |
|
711 |
+ <Route path= "/GuardianStatistics" element={GuardianStatistics}></Route> |
|
712 |
+ <Route path= "/Main_guardian" element={Main_guardian}></Route> |
|
696 | 713 |
</Routes> |
697 | 714 |
); |
698 | 715 |
} |
... | ... | @@ -700,6 +717,8 @@ |
700 | 717 |
const AllApp = {'menuItems': AllAppMenuItems, 'AppRoute': AllAppRoute}; |
701 | 718 |
const AdminApp = {'menuItems': AdminAppMenuItems, 'AppRoute': AdminAppRoute}; |
702 | 719 |
const GovernmentApp = {'menuItems': GovernmentAppMenuItems, 'AppRoute': GovernmentAppRoute}; |
720 |
+const AgencyApp = {'menuItems': AgencyAppMenuItems, 'AppRoute': AgencyAppRoute}; |
|
721 |
+const GuardianApp = {'menuItems': GuardianAppMenuItems, 'AppRoute': GuardianAppRoute}; |
|
703 | 722 |
|
704 | 723 |
export default AllApp; |
705 |
-export {AdminApp, GovernmentApp}; |
|
724 |
+export {AdminApp, GovernmentApp, GuardianApp, AgencyApp}; |
--- client/views/pages/callcenter/CallSelect.jsx
... | ... | @@ -1,103 +0,0 @@ |
1 | -import React from "react"; | |
2 | -import Button from "../../component/Button.jsx"; | |
3 | -import ContentTitle from "../../component/ContentTitle.jsx"; | |
4 | -import { useNavigate } from "react-router"; | |
5 | - | |
6 | -export default function CallInsert() { | |
7 | - const navigate = useNavigate(); | |
8 | - return ( | |
9 | - <main> | |
10 | - <div className="content-wrap row"> | |
11 | - <ContentTitle contentTitle={"장비문의"} /> | |
12 | - <p>작성자 정보</p> | |
13 | - <table className="margin-bottom2 senior-insert"> | |
14 | - <tr> | |
15 | - <th>작성자</th> | |
16 | - <td> | |
17 | - <input type="text" placeholder="자동입력부분" /> | |
18 | - </td> | |
19 | - </tr> | |
20 | - | |
21 | - <tr> | |
22 | - <th>소속 기관</th> | |
23 | - <td colSpan={3}> | |
24 | - <input type="text" placeholder="자동입력부분" /> | |
25 | - </td> | |
26 | - </tr> | |
27 | - <tr> | |
28 | - <th>연락처</th> | |
29 | - <td colSpan={3}> | |
30 | - <input type="text" placeholder="자동입력부분" /> | |
31 | - </td> | |
32 | - </tr> | |
33 | - <tr> | |
34 | - <th>구분</th> | |
35 | - <td colSpan={3} className="flex"> | |
36 | - <select name="year" id="year"> | |
37 | - <option value="">반납</option> | |
38 | - <option value="">교환</option> | |
39 | - <option value="">추가</option> | |
40 | - <option value="">기타</option> | |
41 | - </select> | |
42 | - </td> | |
43 | - </tr> | |
44 | - <tr> | |
45 | - <th>내용</th> | |
46 | - <td colSpan={3}> | |
47 | - <textarea className="medicine" cols="30" rows="2"></textarea> | |
48 | - </td> | |
49 | - </tr> | |
50 | - </table> | |
51 | - <p>시니어 정보</p> | |
52 | - <table className="margin-bottom2 senior-insert"> | |
53 | - <tr> | |
54 | - <th>시니어 선택</th> | |
55 | - <td colSpan={3} className="flex width"> | |
56 | - <select> | |
57 | - <option value="">시니어1</option> | |
58 | - <option value="">시니어2</option> | |
59 | - </select> | |
60 | - </td> | |
61 | - </tr> | |
62 | - <tr> | |
63 | - <th>시니어 이름</th> | |
64 | - <td> | |
65 | - <input type="text" placeholder="자동입력부분" /> | |
66 | - </td> | |
67 | - <th>시니어등록번호</th> | |
68 | - <td> | |
69 | - <input type="text" placeholder="자동입력부분" /> | |
70 | - </td> | |
71 | - </tr> | |
72 | - <tr> | |
73 | - <th>시니어 연락처</th> | |
74 | - <td> | |
75 | - <input type="text" placeholder="자동입력부분" /> | |
76 | - </td> | |
77 | - <th>시니어 주소</th> | |
78 | - <td> | |
79 | - <input type="text" placeholder="자동입력부분" /> | |
80 | - </td> | |
81 | - </tr> | |
82 | - | |
83 | - </table> | |
84 | - <div className="btn-wrap flex-center"> | |
85 | - <Button | |
86 | - className={"btn-large gray-btn"} | |
87 | - btnName={"이전"} | |
88 | - onClick={() => { | |
89 | - navigate("/EquipmentManagementSelectReturn"); | |
90 | - }} | |
91 | - /> | |
92 | - <Button | |
93 | - className={"btn-large green-btn"} | |
94 | - btnName={"등록"} | |
95 | - onClick={() => { | |
96 | - navigate("/EquipmentManagementSelectReturn"); | |
97 | - }} | |
98 | - /> | |
99 | - </div> | |
100 | - </div> | |
101 | - </main> | |
102 | - ); | |
103 | -} |
--- client/views/pages/callcenter/CallUpdate.jsx
... | ... | @@ -1,7 +0,0 @@ |
1 | -import React from 'react' | |
2 | - | |
3 | -export default function CallUpdate() { | |
4 | - return ( | |
5 | - <div>CallUpdate</div> | |
6 | - ) | |
7 | -} |
+++ client/views/pages/callcenter/QandAConfirm.jsx
... | ... | @@ -0,0 +1,96 @@ |
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 CallInsert() { | |
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 | + A복지관 | |
26 | + </td> | |
27 | + </tr> | |
28 | + <tr> | |
29 | + <th>연락처</th> | |
30 | + <td colSpan={3}> | |
31 | + 010-1234-1234 | |
32 | + </td> | |
33 | + </tr> | |
34 | + <tr> | |
35 | + <th>구분</th> | |
36 | + <td colSpan={3}>추가 | |
37 | + </td> | |
38 | + </tr> | |
39 | + <tr> | |
40 | + <th>내용</th> | |
41 | + <td colSpan={3}> | |
42 | + 시니어 인원 증가로 인한 장비 추가 요청 | |
43 | + </td> | |
44 | + </tr> | |
45 | + </table> | |
46 | + <SubTitle explanation={"시니어 정보"} /> | |
47 | + <table className="margin-bottom2 senior-insert"> | |
48 | + | |
49 | + <tr> | |
50 | + <th>시니어 이름</th> | |
51 | + <td> | |
52 | + 김복남 | |
53 | + </td> | |
54 | + <th>시니어등록번호</th> | |
55 | + <td> | |
56 | + 00000001 | |
57 | + </td> | |
58 | + </tr> | |
59 | + <tr> | |
60 | + <th>시니어 연락처</th> | |
61 | + <td> | |
62 | + 010-2345-2345 | |
63 | + </td> | |
64 | + <th>시니어 주소</th> | |
65 | + <td> | |
66 | + 경상북도 군위군 군위읍 | |
67 | + </td> | |
68 | + </tr> | |
69 | + | |
70 | + </table> | |
71 | + <SubTitle explanation={"장비 정보"} /> | |
72 | + <table className="margin-bottom2 senior-insert"> | |
73 | + <tr> | |
74 | + <th>장비명</th> | |
75 | + <td> | |
76 | + 스마트약상자 | |
77 | + </td> | |
78 | + <th>장비시리얼넘버</th> | |
79 | + <td> | |
80 | + ABCD-1 | |
81 | + </td> | |
82 | + </tr> | |
83 | + </table> | |
84 | + <div className="btn-wrap flex-center"> | |
85 | + <Button | |
86 | + className={"btn-large gray-btn"} | |
87 | + btnName={"이전"} | |
88 | + onClick={() => { | |
89 | + navigate("/QandA_admin"); | |
90 | + }} | |
91 | + /> | |
92 | + </div> | |
93 | + </div> | |
94 | + </main> | |
95 | + ); | |
96 | +} |
--- client/views/pages/callcenter/CallInsert.jsx
+++ client/views/pages/callcenter/QandAInsert.jsx
... | ... | @@ -1,6 +1,7 @@ |
1 | 1 |
import React from "react"; |
2 | 2 |
import Button from "../../component/Button.jsx"; |
3 | 3 |
import ContentTitle from "../../component/ContentTitle.jsx"; |
4 |
+import SubTitle from "../../component/SubTitle.jsx"; |
|
4 | 5 |
import { useNavigate } from "react-router"; |
5 | 6 |
|
6 | 7 |
export default function CallInsert() { |
... | ... | @@ -9,7 +10,7 @@ |
9 | 10 |
<main> |
10 | 11 |
<div className="content-wrap row"> |
11 | 12 |
<ContentTitle contentTitle={"문의글 작성"} /> |
12 |
- <p>작성자 정보</p> |
|
13 |
+ <SubTitle explanation={"작성자 정보"} /> |
|
13 | 14 |
<table className="margin-bottom2 senior-insert"> |
14 | 15 |
<tr> |
15 | 16 |
<th>작성자</th> |
... | ... | @@ -34,9 +35,9 @@ |
34 | 35 |
<th>구분</th> |
35 | 36 |
<td colSpan={3} className="flex"> |
36 | 37 |
<select name="year" id="year"> |
37 |
- <option value="">반납</option> |
|
38 |
- <option value="">교환</option> |
|
39 | 38 |
<option value="">추가</option> |
39 |
+ <option value="">교환</option> |
|
40 |
+ <option value="">반납</option> |
|
40 | 41 |
<option value="">기타</option> |
41 | 42 |
</select> |
42 | 43 |
</td> |
... | ... | @@ -48,7 +49,7 @@ |
48 | 49 |
</td> |
49 | 50 |
</tr> |
50 | 51 |
</table> |
51 |
- <p>시니어 정보</p> |
|
52 |
+ <SubTitle explanation={"시니어 정보"} /> |
|
52 | 53 |
<table className="margin-bottom2 senior-insert"> |
53 | 54 |
<tr> |
54 | 55 |
<th>시니어 선택</th> |
... | ... | @@ -81,6 +82,19 @@ |
81 | 82 |
</tr> |
82 | 83 |
|
83 | 84 |
</table> |
85 |
+ <SubTitle explanation={"장비 정보(시니어가 사용중인 장비가 자동으로 입력됩니다.)"} /> |
|
86 |
+ <table className="margin-bottom2 senior-insert"> |
|
87 |
+ <tr> |
|
88 |
+ <th>장비명</th> |
|
89 |
+ <td> |
|
90 |
+ <input type="text" placeholder="자동입력부분" /> |
|
91 |
+ </td> |
|
92 |
+ <th>장비시리얼넘버</th> |
|
93 |
+ <td> |
|
94 |
+ <input type="text" placeholder="자동입력부분" /> |
|
95 |
+ </td> |
|
96 |
+ </tr> |
|
97 |
+ </table> |
|
84 | 98 |
<div className="btn-wrap flex-center"> |
85 | 99 |
<Button |
86 | 100 |
className={"btn-large gray-btn"} |
--- client/views/pages/equipment/EquipmentInquiry.jsx
+++ client/views/pages/callcenter/QandASelect.jsx
... | ... | @@ -5,25 +5,29 @@ |
5 | 5 |
import { useNavigate } from "react-router"; |
6 | 6 |
import ContentTitle from "../../component/ContentTitle.jsx"; |
7 | 7 |
|
8 |
-export default function EquipmentInquiry() { |
|
8 |
+export default function QandAInquiry() { |
|
9 | 9 |
const navigate = useNavigate(); |
10 | 10 |
//게시판 |
11 | 11 |
const thead = [ |
12 | 12 |
"No", |
13 | 13 |
"장비명", |
14 | 14 |
"시리얼 넘버", |
15 |
+ "작성자", |
|
15 | 16 |
"기관명", |
16 | 17 |
"요청일자", |
17 | 18 |
"구분", |
19 |
+ "내용상세보기", |
|
18 | 20 |
"처리여부", |
19 | 21 |
]; |
20 | 22 |
const key = [ |
21 | 23 |
"No", |
22 | 24 |
"equipment_name", |
23 | 25 |
"serialNumber", |
26 |
+ "writer", |
|
24 | 27 |
"name", |
25 | 28 |
"date", |
26 | 29 |
"category", |
30 |
+ "show", |
|
27 | 31 |
"finish" |
28 | 32 |
]; |
29 | 33 |
const content = [ |
... | ... | @@ -31,9 +35,19 @@ |
31 | 35 |
No: 1, |
32 | 36 |
equipment_name: "스마트약상자", |
33 | 37 |
serialNumber: "ABCD-1", |
38 |
+ writer: "홍길동", |
|
34 | 39 |
name: "A복지관", |
35 | 40 |
date: "2023-01-27", |
36 | 41 |
category: "교환", |
42 |
+ show: ( |
|
43 |
+ <Button |
|
44 |
+ className={"btn-small gray-btn"} |
|
45 |
+ btnName={"상세보기"} |
|
46 |
+ onClick={() => { |
|
47 |
+ navigate("/QandAConfirm"); |
|
48 |
+ }} |
|
49 |
+ /> |
|
50 |
+ ), |
|
37 | 51 |
finish: ( |
38 | 52 |
<select> |
39 | 53 |
<option value="">처리중</option> |
... | ... | @@ -53,14 +67,12 @@ |
53 | 67 |
className={"btn-small green-btn"} |
54 | 68 |
btnName={"등록"} |
55 | 69 |
onClick={() => { |
56 |
- navigate("/CallInsert"); |
|
70 |
+ navigate("/QandAInsert"); |
|
57 | 71 |
}} |
58 | 72 |
/> |
59 | 73 |
<Button className={"btn-small green-btn "} btnName={"삭제"} /> |
60 | 74 |
</div> |
61 |
- <Table className="equipment-detail" head={thead} contents={content} contentKey={key} onClick={() => { |
|
62 |
- navigate("/CallSelect"); |
|
63 |
- }}/> |
|
75 |
+ <Table className="equipment-detail" head={thead} contents={content} contentKey={key} /> |
|
64 | 76 |
</div> |
65 | 77 |
</div> |
66 | 78 |
</main> |
--- client/views/pages/callcenter/QandA.jsx
+++ client/views/pages/callcenter/QandA_agency.jsx
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 |
import { useNavigate } from "react-router"; |
6 | 6 |
import ContentTitle from "../../component/ContentTitle.jsx"; |
7 | 7 |
|
8 |
-export default function QandA() { |
|
8 |
+export default function QandA_agency() { |
|
9 | 9 |
const navigate = useNavigate(); |
10 | 10 |
//게시판 |
11 | 11 |
const thead = [ |
... | ... | @@ -31,14 +31,14 @@ |
31 | 31 |
return ( |
32 | 32 |
<main> |
33 | 33 |
<div className="content-wrap"> |
34 |
- <ContentTitle contentTitle={"QnA게시판"} /> |
|
34 |
+ <ContentTitle contentTitle={"문의게시판"} /> |
|
35 | 35 |
<div className="board-wrap"> |
36 | 36 |
<div className="btn-wrap flex-end"> |
37 | 37 |
<Button |
38 | 38 |
className={"btn-small green-btn"} |
39 | 39 |
btnName={"등록"} |
40 | 40 |
onClick={() => { |
41 |
- navigate("/CallInsert"); |
|
41 |
+ navigate("/QandAInsert"); |
|
42 | 42 |
}} |
43 | 43 |
/> |
44 | 44 |
<Button className={"btn-small green-btn"} btnName={"삭제"} /> |
+++ client/views/pages/equipment/EquipmentManagementInsert.jsx
... | ... | @@ -0,0 +1,108 @@ |
1 | +import React from "react"; | |
2 | +import Button from "../../component/Button.jsx"; | |
3 | + | |
4 | +export default function EquipmentManagementInsert() { | |
5 | + return ( | |
6 | + <main> | |
7 | + <div className="content-wrap"> | |
8 | + <div className="page-title margin-bottom">장비 등록</div> | |
9 | + <div className="flex-align-start margin-bottom2 insert"> | |
10 | + <table className="flex70 margin-bottom"> | |
11 | + <tbody className="equipment-insert"> | |
12 | + <tr> | |
13 | + <th>장비넘버</th> | |
14 | + <td colSpan={5}> | |
15 | + <input type="text" name="" id="" /> | |
16 | + </td> | |
17 | + </tr> | |
18 | + <tr> | |
19 | + <th>기기종류</th> | |
20 | + <td colSpan={5}> | |
21 | + <div className="flex-start"> | |
22 | + <input type="checkbox" /> | |
23 | + <label htmlFor=""> | |
24 | + | |
25 | + 스마트 약상자 | |
26 | + </label> | |
27 | + <input type="checkbox" /> | |
28 | + <label htmlFor=""> | |
29 | + | |
30 | + 심전도 | |
31 | + </label> | |
32 | + </div> | |
33 | + </td> | |
34 | + </tr> | |
35 | + <tr> | |
36 | + <th>사용자</th> | |
37 | + <td colSpan={5}> | |
38 | + <div className="flex"> | |
39 | + <input type="text" disabled /> | |
40 | + </div> | |
41 | + </td> | |
42 | + </tr> | |
43 | + <tr> | |
44 | + <th>주소</th> | |
45 | + <td colSpan={5}> | |
46 | + <div className="flex"> | |
47 | + <input type="text" disabled /> | |
48 | + </div> | |
49 | + </td> | |
50 | + </tr> | |
51 | + <tr> | |
52 | + <th>대여일</th> | |
53 | + <td> | |
54 | + <input type="date"/> | |
55 | + </td> | |
56 | + <th>반납일</th> | |
57 | + <td> | |
58 | + <input type="date" /> | |
59 | + </td> | |
60 | + <th>작동여부</th> | |
61 | + <td> | |
62 | + <select name="" id="" className="select100"> | |
63 | + <option value="">작동</option> | |
64 | + <option value="">수리중</option> | |
65 | + <option value="">고장</option> | |
66 | + </select> | |
67 | + </td> | |
68 | + </tr> | |
69 | + <tr> | |
70 | + <th>아침</th> | |
71 | + <td> | |
72 | + <select name="" id="" className="select100"> | |
73 | + <option value="">미사용</option> | |
74 | + <option value="">사용</option> | |
75 | + </select> | |
76 | + </td> | |
77 | + <th>점심</th> | |
78 | + <td> | |
79 | + <select name="" id="" className="select100"> | |
80 | + <option value="">미사용</option> | |
81 | + <option value="">사용</option> | |
82 | + </select> | |
83 | + </td> | |
84 | + <th>저녁</th> | |
85 | + <td> | |
86 | + <select name="" id="" className="select100"> | |
87 | + <option value="">미사용</option> | |
88 | + <option value="">사용</option> | |
89 | + </select> | |
90 | + </td> | |
91 | + </tr> | |
92 | + <tr> | |
93 | + <th>비고</th> | |
94 | + <td colSpan={5}> | |
95 | + <textarea name="" id="" cols="30" rows="10" style={{height:"167px"}}></textarea> | |
96 | + </td> | |
97 | + </tr> | |
98 | + </tbody> | |
99 | + </table> | |
100 | + </div> | |
101 | + <div className="btn-wrap flex-center"> | |
102 | + <Button className={"btn-large gray-btn"} btnName={"취소"} /> | |
103 | + <Button className={"btn-large green-btn"} btnName={"등록"} /> | |
104 | + </div> | |
105 | + </div> | |
106 | + </main> | |
107 | + ); | |
108 | +} |
--- client/views/pages/equipment/EquipmentManagementSelect.jsx
+++ client/views/pages/equipment/EquipmentManagementSelect.jsx
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 |
|
9 | 9 |
|
10 | 10 |
export default function EquipmentManagementSelect() { |
11 |
- |
|
11 |
+ |
|
12 | 12 |
const [modalOpen, setModalOpen] = React.useState(false); |
13 | 13 |
const openModal = () => { |
14 | 14 |
setModalOpen(true); |
... | ... | @@ -57,7 +57,7 @@ |
57 | 57 |
"입고일자", |
58 | 58 |
"납품 기관", |
59 | 59 |
]; |
60 |
- const key3= [ |
|
60 |
+ const key3 = [ |
|
61 | 61 |
"No", |
62 | 62 |
"equipment_name", |
63 | 63 |
"serialNumber", |
... | ... | @@ -83,10 +83,10 @@ |
83 | 83 |
serialNumber: "ABCD-1", |
84 | 84 |
name: "2022.12.02", |
85 | 85 |
management: (<Button |
86 |
- className={"btn-small gray-btn"} |
|
87 |
- btnName={"선택"} |
|
88 |
- onClick={openModal} |
|
89 |
- />) |
|
86 |
+ className={"btn-small gray-btn"} |
|
87 |
+ btnName={"선택"} |
|
88 |
+ onClick={openModal} |
|
89 |
+ />) |
|
90 | 90 |
}, |
91 | 91 |
]; |
92 | 92 |
const thead2 = [ |
... | ... | @@ -151,23 +151,29 @@ |
151 | 151 |
title: "장비 전체(205)", |
152 | 152 |
description: ( |
153 | 153 |
<div> |
154 |
- <div className="btn-wrap flex-end margin-bottom "> |
|
155 |
- <Button |
|
156 |
- className={"btn-small green-btn"} |
|
157 |
- btnName={"등록"} |
|
154 |
+ <div className="flex"> |
|
155 |
+ <SubTitle explanation={"장비 클릭 시 지난 매칭이력을 확인할 수 있습니다."} /> |
|
156 |
+ <div className="btn-wrap flex-end margin-bottom "> |
|
157 |
+ <Button |
|
158 |
+ className={"btn-small green-btn"} |
|
159 |
+ btnName={"등록"} |
|
160 |
+ onClick={() => { |
|
161 |
+ navigate("/EquipmentManagementInsert"); |
|
162 |
+ }} |
|
163 |
+ /> |
|
164 |
+ <Button className={"btn-small green-btn"} btnName={"삭제"} /> |
|
165 |
+ </div> |
|
166 |
+ </div> |
|
167 |
+ <Table |
|
168 |
+ className={"caregiver-user"} |
|
169 |
+ head={thead1} |
|
170 |
+ contents={content1} |
|
171 |
+ contentKey={key1} |
|
158 | 172 |
onClick={() => { |
159 |
- navigate("/EquipmentManagementInsert"); |
|
173 |
+ navigate("/EquipmentManagementSelectOne"); |
|
160 | 174 |
}} |
161 | 175 |
/> |
162 |
- <Button className={"btn-small green-btn"} btnName={"삭제"} /> |
|
163 | 176 |
</div> |
164 |
- <Table |
|
165 |
- className={"caregiver-user"} |
|
166 |
- head={thead1} |
|
167 |
- contents={content1} |
|
168 |
- contentKey={key1} |
|
169 |
- /> |
|
170 |
- </div> |
|
171 | 177 |
), |
172 | 178 |
}, |
173 | 179 |
{ |
... | ... | @@ -181,7 +187,7 @@ |
181 | 187 |
contents={content3} |
182 | 188 |
contentKey={key3} |
183 | 189 |
/> |
184 |
- </div> |
|
190 |
+ </div> |
|
185 | 191 |
), |
186 | 192 |
}, |
187 | 193 |
{ |
... | ... | @@ -250,6 +256,7 @@ |
250 | 256 |
onClick={() => navigate("")} |
251 | 257 |
/> |
252 | 258 |
</div> |
259 |
+ |
|
253 | 260 |
<ul className="tab-content"> |
254 | 261 |
{data |
255 | 262 |
.filter((item) => index === item.id) |
--- client/views/pages/equipment/EquipmentManagementSelectOne.jsx
+++ client/views/pages/equipment/EquipmentManagementSelectOne.jsx
... | ... | @@ -4,23 +4,20 @@ |
4 | 4 |
import Modal from "../../component/Modal.jsx"; |
5 | 5 |
import { useNavigate } from "react-router"; |
6 | 6 |
import ContentTitle from "../../component/ContentTitle.jsx"; |
7 |
+import SubTitle from "../../component/SubTitle.jsx"; |
|
7 | 8 |
|
8 | 9 |
export default function EquipmentManagementSelectOne() { |
9 | 10 |
const navigate = useNavigate(); |
10 | 11 |
//게시판 |
11 | 12 |
const thead = [ |
12 | 13 |
"No", |
13 |
- "장비명", |
|
14 |
- "시리얼 넘버", |
|
15 | 14 |
"사용자명", |
16 |
- "사용자관리번호", |
|
17 |
- "위치", |
|
15 |
+ "시니어등록번호", |
|
16 |
+ "관리기관", |
|
18 | 17 |
"대여기간", |
19 | 18 |
]; |
20 | 19 |
const key = [ |
21 | 20 |
"No", |
22 |
- "equipment_name", |
|
23 |
- "serialNumber", |
|
24 | 21 |
"name", |
25 | 22 |
"management_number", |
26 | 23 |
"address", |
... | ... | @@ -29,20 +26,16 @@ |
29 | 26 |
const content = [ |
30 | 27 |
{ |
31 | 28 |
No: 1, |
32 |
- equipment_name: "스마트약상자", |
|
33 |
- serialNumber: "ABCD-1", |
|
34 | 29 |
name: "김복남", |
35 | 30 |
management_number: 2022080101, |
36 |
- address: "경상북도 군위군 삼국유사면", |
|
31 |
+ address: "A복지관", |
|
37 | 32 |
period_of_use: "2022.12.01 ~ 2023.11.30", |
38 | 33 |
}, |
39 | 34 |
{ |
40 | 35 |
No: 2, |
41 |
- equipment_name: "스마트약상자", |
|
42 |
- serialNumber: "ABCD-1", |
|
43 | 36 |
name: "홍길동", |
44 | 37 |
management_number: 2022080102, |
45 |
- address: "경상북도 군위군 군위읍", |
|
38 |
+ address: "B복지관", |
|
46 | 39 |
period_of_use: "2020.05.01 ~ 2022.04.23", |
47 | 40 |
}, |
48 | 41 |
]; |
... | ... | @@ -51,6 +44,7 @@ |
51 | 44 |
<div className="content-wrap"> |
52 | 45 |
<ContentTitle contentTitle={"장비 상세 목록"} /> |
53 | 46 |
<div className="board-wrap"> |
47 |
+ <SubTitle explanation={"스마트약상자(ABCD-1)"} /> |
|
54 | 48 |
<Table className="equipment-detail" head={thead} contents={content} contentKey={key} /> |
55 | 49 |
</div> |
56 | 50 |
</div> |
--- client/views/pages/healthcare/medicinecare/MedicineCareSelect.jsx
+++ client/views/pages/healthcare/medicinecare/MedicineCareSelect.jsx
... | ... | @@ -9,8 +9,8 @@ |
9 | 9 |
const navigate = useNavigate(); |
10 | 10 |
|
11 | 11 |
//게시판 |
12 |
- const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소", "최근 복약률",]; |
|
13 |
- const key = ["No", "name","number", "birth", "phone", "address", "average"]; |
|
12 |
+ const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소","관리기관","보호사", "최근 복약률",]; |
|
13 |
+ const key = ["No", "name","number", "birth", "phone", "address", "agency", "protect","average"]; |
|
14 | 14 |
const content = [ |
15 | 15 |
{ |
16 | 16 |
No: 1, |
... | ... | @@ -19,6 +19,8 @@ |
19 | 19 |
birth: "1948.11.15", |
20 | 20 |
phone: "010-1234-5678", |
21 | 21 |
address: "경상북도 군위군 삼국유사면", |
22 |
+ agency: "A복지관", |
|
23 |
+ protect: "홍길동", |
|
22 | 24 |
average: "0%", |
23 | 25 |
}, |
24 | 26 |
{ |
... | ... | @@ -28,6 +30,8 @@ |
28 | 30 |
birth: "1948.08.02", |
29 | 31 |
phone: "010-1234-3333", |
30 | 32 |
address: "경상북도 군위군 군위읍", |
33 |
+ agency: "A복지관", |
|
34 |
+ protect: "홍길동", |
|
31 | 35 |
average: "80%", |
32 | 36 |
}, |
33 | 37 |
]; |
--- client/views/pages/healthcare/medicinecare/MedicineCareSelect_government.jsx
+++ client/views/pages/healthcare/medicinecare/MedicineCareSelect_government.jsx
... | ... | @@ -5,45 +5,36 @@ |
5 | 5 |
import ContentTitle from "../../../component/ContentTitle.jsx"; |
6 | 6 |
import SubTitle from "../../../component/SubTitle.jsx"; |
7 | 7 |
|
8 |
-export default function MedicineCareSelect_government() { |
|
8 |
+export default function MedicineCareSelect() { |
|
9 | 9 |
const navigate = useNavigate(); |
10 | 10 |
|
11 | 11 |
//게시판 |
12 |
- const thead = ["No", "이름", "생년월일", "연락처", "주소", "관리기관","보호사","최근 3일 복약률",]; |
|
13 |
- const key = ["No", "name", "birth", "phone", "address","agency","protect", "average"]; |
|
12 |
+ const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소","보호사", "관리기관", "일 복약 횟수",]; |
|
13 |
+ const key = ["No", "name","number", "birth", "phone", "address","protector","agency", "average"]; |
|
14 | 14 |
const content = [ |
15 | 15 |
{ |
16 | 16 |
No: 1, |
17 | 17 |
name: "김복남", |
18 |
+ number: "00000001", |
|
18 | 19 |
birth: "1948.11.15", |
19 | 20 |
phone: "010-1234-5678", |
20 | 21 |
address: "경상북도 군위군 삼국유사면", |
22 |
+ protector: "홍길동", |
|
21 | 23 |
agency: "A복지관", |
22 |
- protect: "홍길동", |
|
23 |
- average: "0%", |
|
24 |
- }, |
|
25 |
- { |
|
26 |
- No: 2, |
|
27 |
- name: "홍길동", |
|
28 |
- birth: "1948.08.02", |
|
29 |
- phone: "010-1234-3333", |
|
30 |
- address: "경상북도 군위군 군위읍", |
|
31 |
- agency: "B복지관", |
|
32 |
- protect: "박길동", |
|
33 |
- average: "80%", |
|
24 |
+ average: "3회", |
|
34 | 25 |
}, |
35 | 26 |
]; |
36 | 27 |
|
37 | 28 |
return ( |
38 | 29 |
<main> |
39 | 30 |
<div className="content-wrap"> |
40 |
- <ContentTitle contentTitle={"복약 조회"} /> |
|
31 |
+ <ContentTitle contentTitle={"복약 조회"} /> |
|
41 | 32 |
<div> |
42 | 33 |
<DetailSearch /> |
43 | 34 |
<div className="board-wrap"> |
44 |
- <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom" /> |
|
35 |
+ <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} className="margin-bottom"/> |
|
45 | 36 |
<Table |
46 |
- className={"medicine-table"} |
|
37 |
+ className={"medicine-table"} |
|
47 | 38 |
head={thead} |
48 | 39 |
contents={content} |
49 | 40 |
contentKey={key} |
--- client/views/pages/healthcare/temperature/TemperatureManagementSelect.jsx
+++ client/views/pages/healthcare/temperature/TemperatureManagementSelect.jsx
... | ... | @@ -5,11 +5,11 @@ |
5 | 5 |
import SubTitle from "../../../component/SubTitle.jsx"; |
6 | 6 |
import { useNavigate } from 'react-router'; |
7 | 7 |
|
8 |
-export default function TemperatureManagementSelect() { |
|
8 |
+export default function TemperatureManagementSelect_government() { |
|
9 | 9 |
const navigate = useNavigate(); |
10 | 10 |
//게시판 |
11 |
- const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소", "최근 최저 온도","최근 최고 온도",]; |
|
12 |
- const key = ["No", "name", "number","birth", "phone", "address", "low", "high"]; |
|
11 |
+ const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소","관리기관","보호사", "최근 최고 온도", "최근 최저 온도"]; |
|
12 |
+ const key = ["No", "name","number", "birth", "phone", "address","agency", "protect","high","low"]; |
|
13 | 13 |
const content = [ |
14 | 14 |
{ |
15 | 15 |
No: 1, |
... | ... | @@ -18,18 +18,10 @@ |
18 | 18 |
birth: "1948.11.15", |
19 | 19 |
phone: "010-1234-5678", |
20 | 20 |
address: "경상북도 군위군 삼국유사면", |
21 |
- low: "18°C", |
|
21 |
+ agency: "A복지관", |
|
22 |
+ protect: "홍길동", |
|
22 | 23 |
high: "18°C", |
23 |
- }, |
|
24 |
- { |
|
25 |
- No: 2, |
|
26 |
- name: "홍길동", |
|
27 |
- number: "00000001", |
|
28 |
- birth: "1945.05.08", |
|
29 |
- phone: "010-1234-5678", |
|
30 |
- address: "경상북도 군위군 군위읍", |
|
31 |
- low: "10°C", |
|
32 |
- high: "10°C", |
|
24 |
+ low: "18°C", |
|
33 | 25 |
}, |
34 | 26 |
]; |
35 | 27 |
return ( |
--- client/views/pages/user_management/UserAuthoriySelect_admin.jsx
+++ client/views/pages/user_management/UserAuthoriySelect_agency.jsx
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 |
import Modal from "../../component/Modal.jsx"; |
6 | 6 |
import { useNavigate } from "react-router"; |
7 | 7 |
|
8 |
-export default function UserAuthoriySelect_admin() { |
|
8 |
+export default function UserAuthoriySelect_agency() { |
|
9 | 9 |
const navigate = useNavigate(); |
10 | 10 |
const [modalOpen, setModalOpen] = React.useState(false); |
11 | 11 |
const openModal = () => { |
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?