
Merge branch 'front-end' of http://210.180.118.83/yjryu/senior_care_system into front-end
@73673043acc646db0783c644e00873dd0b1ecc0c
--- Global.js
+++ Global.js
... | ... | @@ -5,7 +5,7 @@ |
5 | 5 |
const SERVICE_STATUS = process.env.NODE_ENV;//development, production |
6 | 6 |
const PORT = 80; |
7 | 7 |
const SYSTEM_VIEW_TYPE = 'admin';//admin, government, agency, guardian |
8 |
-const API_SERVER_HOST = 'localhost:8080' |
|
8 |
+const API_SERVER_HOST = 'localhost:8081' |
|
9 | 9 |
|
10 | 10 |
module.exports = { |
11 | 11 |
PROJECT_NAME, |
--- client/resources/css/common.css
+++ client/resources/css/common.css
... | ... | @@ -365,7 +365,6 @@ |
365 | 365 |
} |
366 | 366 |
input[type='radio'], |
367 | 367 |
input[type='radio']:checked { |
368 |
- width: 0.9rem; |
|
369 | 368 |
height: 1.5rem; |
370 | 369 |
border-radius: 100%; |
371 | 370 |
margin-right: 1rem; |
... | ... | @@ -378,7 +377,7 @@ |
378 | 377 |
input[type='radio']:checked { |
379 | 378 |
background-color: #f25430; |
380 | 379 |
} |
381 |
- |
|
380 |
+input[type='date']{width: 24%;} |
|
382 | 381 |
/* margin */ |
383 | 382 |
.margin-bottom { |
384 | 383 |
margin-bottom: 1rem; |
--- client/resources/css/main.css
+++ client/resources/css/main.css
... | ... | @@ -57,6 +57,7 @@ |
57 | 57 |
/* .agency-calendar .react-calendar__month-view__days{overflow: hidden;} */ |
58 | 58 |
|
59 | 59 |
/* Q&A */ |
60 |
+.qnaselect{margin-left: 2rem; width: 15%;} |
|
60 | 61 |
.question-select input { |
61 | 62 |
width: 3%; |
62 | 63 |
} |
... | ... | @@ -98,8 +99,9 @@ |
98 | 99 |
/* 문진표 */ |
99 | 100 |
.questionnaire-table th { |
100 | 101 |
display: block; |
102 |
+ background-color: #f2f0eb; |
|
101 | 103 |
} |
102 |
- |
|
104 |
+.questionnaire-table td{padding: 0.5rem;} |
|
103 | 105 |
.questionnaire-table tr { |
104 | 106 |
padding: 1rem; |
105 | 107 |
} |
... | ... | @@ -111,6 +113,11 @@ |
111 | 113 |
/* 카테고리 기관 추가*/ |
112 | 114 |
.hierarchy-menu p{font-size: 2.4rem;} |
113 | 115 |
.hierarchy-menu input{width: 30%;} |
116 |
+.category{background-color: #f2f0eb; box-shadow: 3px -2px 5px -2px rgb(0 0 0 / 20%); border-radius: 0.5rem 0.5rem 0 0; padding: 2rem; margin-top: 5rem;} |
|
117 |
+.category > a{font-size: 1.2em; font-weight: bold;} |
|
118 |
+.category img{width: 2rem;} |
|
119 |
+.category > ul > li{margin: 2rem 0 !important;} |
|
120 |
+.category > ul > li > a{font-size: 1.1em;} |
|
114 | 121 |
.categoryitem{ |
115 | 122 |
width: 34%; |
116 | 123 |
font-size: 2.4rem; |
... | ... | @@ -847,14 +854,14 @@ |
847 | 854 |
|
848 | 855 |
/* 검색창 */ |
849 | 856 |
.searchselect { |
850 |
- width: 25%; |
|
857 |
+ width: 30%; |
|
851 | 858 |
} |
852 | 859 |
.search-management button{width: 22%;} |
853 | 860 |
.searchselect label { |
854 | 861 |
width: 100%; |
855 | 862 |
margin-right: 3rem; |
856 | 863 |
} |
857 |
- |
|
864 |
+.searchselect input{width: auto;} |
|
858 | 865 |
.mobile-area-wrap { |
859 | 866 |
display: none; |
860 | 867 |
} |
... | ... | @@ -1007,10 +1014,14 @@ |
1007 | 1014 |
height: 100px; |
1008 | 1015 |
} |
1009 | 1016 |
.senior-insert .gender{padding-left: 2rem;} |
1017 |
+.senior-insert .gender input{width: auto;} |
|
1010 | 1018 |
.medicationTime-td input{width: 2rem;} |
1011 | 1019 |
.medicationTime-td label{} |
1012 | 1020 |
/* 노인수정 */ |
1013 | 1021 |
.senior-edit{border: #d8d3c7 1px solid;} |
1022 |
+.senior-detail input[type='checkbox'], |
|
1023 |
+.senior-detail input[type='checkbox']:checked{width: 10%;} |
|
1024 |
+ |
|
1014 | 1025 |
.senior-edit th{ |
1015 | 1026 |
font-size:1.8rem |
1016 | 1027 |
} |
... | ... | @@ -1021,7 +1032,7 @@ |
1021 | 1032 |
.medicationTime-td input{width: 2rem;} |
1022 | 1033 |
.medicationTime-td label{} |
1023 | 1034 |
/* 노인 상세 정보 */ |
1024 |
-.senior-detail{border-top: 2px solid #cccccc; border-bottom: 1px solid #cccccc;} |
|
1035 |
+.senior-detail{border-top: 2px solid #cccccc; border-bottom: 1px solid #cccccc; background: #ffffffba;} |
|
1025 | 1036 |
.senior-detail tr{height: 4rem; border-bottom: 1px solid #f4f4f2;} |
1026 | 1037 |
.senior-detail th { |
1027 | 1038 |
text-align: left; |
... | ... | @@ -1078,6 +1089,7 @@ |
1078 | 1089 |
|
1079 | 1090 |
.modal-main table th { |
1080 | 1091 |
text-align: center; |
1092 |
+ background-color: #f2f0eb; |
|
1081 | 1093 |
} |
1082 | 1094 |
|
1083 | 1095 |
.medicine-revise tr:nth-child(3)>td div, |
... | ... | @@ -1159,7 +1171,7 @@ |
1159 | 1171 |
.equipment-search { |
1160 | 1172 |
margin-bottom: 1rem; |
1161 | 1173 |
} |
1162 |
- |
|
1174 |
+.equipment-insert td{text-align: left !important;} |
|
1163 | 1175 |
.select100 { |
1164 | 1176 |
width: 100%; |
1165 | 1177 |
} |
--- client/resources/css/reset.css
+++ client/resources/css/reset.css
... | ... | @@ -128,8 +128,8 @@ |
128 | 128 |
} |
129 | 129 |
|
130 | 130 |
a.active { |
131 |
- color: #0089ff; |
|
131 |
+ color: #f25430; |
|
132 | 132 |
font-weight: bold; |
133 |
- font-size: 1.1em; |
|
133 |
+ font-size: 1.2em; |
|
134 | 134 |
} |
135 |
- |
|
135 |
+.category > ul > li > ul > li a.active{font-size: 1.0em;} |
--- client/resources/css/responsive.css
+++ client/resources/css/responsive.css
... | ... | @@ -223,6 +223,7 @@ |
223 | 223 |
|
224 | 224 |
/* 모바일 세로 (해상도 ~ 479px)*/ |
225 | 225 |
@media all and (max-width:479px) { |
226 |
+ input{width: auto;} |
|
226 | 227 |
.menuicon { |
227 | 228 |
display: block; |
228 | 229 |
position: fixed; |
... | ... | @@ -353,7 +354,7 @@ |
353 | 354 |
} |
354 | 355 |
|
355 | 356 |
.search-management select { |
356 |
- width: 75%; |
|
357 |
+ width: -webkit-fill-available; |
|
357 | 358 |
margin: 0; |
358 | 359 |
} |
359 | 360 |
.search-management button{width: 40%;} |
... | ... | @@ -478,6 +479,7 @@ |
478 | 479 |
font-size: 1.4rem; |
479 | 480 |
width: 50%; |
480 | 481 |
padding: 1rem 10rem; |
482 |
+ background-color: #f2f0eb; |
|
481 | 483 |
} |
482 | 484 |
|
483 | 485 |
.senior-insert td { |
+++ client/resources/files/icon/arrow.png
Binary file is not shown |
+++ client/resources/files/icon/dot.png
Binary file is not shown |
+++ client/resources/files/icon/house.png
Binary file is not shown |
--- client/views/component/Modal_MedicalHistory.jsx
+++ client/views/component/Modal_MedicalHistory.jsx
... | ... | @@ -39,7 +39,7 @@ |
39 | 39 |
</tr> |
40 | 40 |
<tr> |
41 | 41 |
<th>진료 사유</th> |
42 |
- <td className="flex-start gender"> |
|
42 |
+ <td className="flex-start "> |
|
43 | 43 |
<input type="text" /> |
44 | 44 |
</td> |
45 | 45 |
</tr> |
--- client/views/component/SubTitle.jsx
+++ client/views/component/SubTitle.jsx
... | ... | @@ -18,6 +18,7 @@ |
18 | 18 |
color: #733c1d; |
19 | 19 |
`; |
20 | 20 |
const Explanation = styled.p` |
21 |
+ width: max-content; |
|
21 | 22 |
font-size: 1.4rem; |
22 | 23 |
padding: 0.5rem; |
23 | 24 |
font-weight: bold; |
--- client/views/pages/callcenter/QandAConfirm.jsx
+++ client/views/pages/callcenter/QandAConfirm.jsx
... | ... | @@ -11,7 +11,7 @@ |
11 | 11 |
<div className="content-wrap row"> |
12 | 12 |
<ContentTitle contentTitle={"문의글 작성"} /> |
13 | 13 |
<SubTitle explanation={"담당자 정보"} /> |
14 |
- <table className="margin-bottom2 senior-insert"> |
|
14 |
+ <table className="margin-bottom2 senior-detail"> |
|
15 | 15 |
<tr> |
16 | 16 |
<th>작성자</th> |
17 | 17 |
<td> |
... | ... | @@ -43,7 +43,7 @@ |
43 | 43 |
</tr> |
44 | 44 |
</table> |
45 | 45 |
<SubTitle explanation={"대상자 정보"} /> |
46 |
- <table className="margin-bottom2 senior-insert"> |
|
46 |
+ <table className="margin-bottom2 senior-detail"> |
|
47 | 47 |
<tr> |
48 | 48 |
<th>대상자 이름</th> |
49 | 49 |
<td> |
... | ... | @@ -75,9 +75,9 @@ |
75 | 75 |
</td> |
76 | 76 |
</tr> |
77 | 77 |
</table> |
78 |
- <div className="flex-start margin-bottom5"> |
|
78 |
+ <div className="flex-start margin-bottom5 margin-top "> |
|
79 | 79 |
<SubTitle explanation={"처리여부"} /> |
80 |
- <select> |
|
80 |
+ <select className="qnaselect"> |
|
81 | 81 |
<option value="">처리중</option> |
82 | 82 |
<option value="">처리완료</option> |
83 | 83 |
</select> |
--- client/views/pages/callcenter/QandAInsert.jsx
+++ client/views/pages/callcenter/QandAInsert.jsx
... | ... | @@ -11,7 +11,7 @@ |
11 | 11 |
<div className="content-wrap row"> |
12 | 12 |
<ContentTitle contentTitle={"문의글 작성"} /> |
13 | 13 |
<SubTitle explanation={"작성자 정보"} /> |
14 |
- <table className="margin-bottom2 qna-insert"> |
|
14 |
+ <table className="margin-bottom2 qna-insert senior-detail"> |
|
15 | 15 |
<tr> |
16 | 16 |
<th>작성자</th> |
17 | 17 |
<td> |
... | ... | @@ -51,7 +51,7 @@ |
51 | 51 |
</tr> |
52 | 52 |
</table> |
53 | 53 |
<SubTitle explanation={"대상자 정보"} /> |
54 |
- <table className="margin-bottom2 qna-insert"> |
|
54 |
+ <table className="margin-bottom2 qna-insert senior-detail"> |
|
55 | 55 |
<tr> |
56 | 56 |
<th>대상자 선택</th> |
57 | 57 |
<td colSpan={3} className="flex width"> |
--- client/views/pages/equipment/EquipmentManagementSelect.jsx
+++ client/views/pages/equipment/EquipmentManagementSelect.jsx
... | ... | @@ -897,7 +897,73 @@ |
897 | 897 |
}, []) |
898 | 898 |
|
899 | 899 |
/********************************** 시행기관 장비 (끝) **********************************/ |
900 |
+ //기관 계층 구조 목록 |
|
901 |
+ const [orgListOfHierarchy, setOrgListOfHierarchy] = React.useState([]); |
|
902 |
+ //기관(관리, 시행) 계층 구조 목록 조회 |
|
903 |
+ const orgSelectListOfHierarchy = () => { |
|
904 |
+ fetch("/org/orgSelectListOfHierarchy.json", { |
|
905 |
+ method: "POST", |
|
906 |
+ headers: { |
|
907 |
+ 'Content-Type': 'application/json; charset=UTF-8' |
|
908 |
+ }, |
|
909 |
+ body: JSON.stringify({}), |
|
910 |
+ }).then((response) => response.json()).then((data) => { |
|
911 |
+ console.log("기관(관리, 시행) 계층 구조 목록 조회 : ", data); |
|
912 |
+ setOrgListOfHierarchy(data); |
|
913 |
+ }).catch((error) => { |
|
914 |
+ console.log('orgSelectListOfHierarchy() /org/orgSelectListOfHierarchy.json error : ', error); |
|
915 |
+ }); |
|
916 |
+ }; |
|
900 | 917 |
|
918 |
+//관리기관 관리자 목록 및 페이징 정보 |
|
919 |
+userSearch['authority'] = 'ROLE_GOVERNMENT'; |
|
920 |
+const [government, setGovernment] = React.useState({userList: [], userListCount: 0, search: JSON.parse(JSON.stringify(userSearch))}); |
|
921 |
+const governmentSearchChange = (targetKey, value) => { |
|
922 |
+ let newGovernment = JSON.parse(JSON.stringify(government)); |
|
923 |
+ newGovernment.search[targetKey] = value; |
|
924 |
+ setGovernment(newGovernment); |
|
925 |
+} |
|
926 |
+const governmentSelectListEnter = (key) => { |
|
927 |
+ if (key == 'Enter') { |
|
928 |
+ governmentSelectList(); |
|
929 |
+ } else { |
|
930 |
+ return; |
|
931 |
+ } |
|
932 |
+} |
|
933 |
+//관리기관 담당자 목록 조회 |
|
934 |
+const governmentSelectList = (currentPage) => { |
|
935 |
+ government.search.currentPage = CommonUtil.isEmpty(currentPage) ? 1 : currentPage; |
|
936 |
+ |
|
937 |
+ fetch("/user/userSelectList.json", { |
|
938 |
+ method: "POST", |
|
939 |
+ headers: { |
|
940 |
+ 'Content-Type': 'application/json; charset=UTF-8' |
|
941 |
+ }, |
|
942 |
+ body: JSON.stringify(government.search), |
|
943 |
+ }).then((response) => response.json()).then((data) => { |
|
944 |
+ data.search = government.search; |
|
945 |
+ console.log("관리기관 담당자 목록 조회 : ", data); |
|
946 |
+ setGovernment(data); |
|
947 |
+ }).catch((error) => { |
|
948 |
+ console.log('governmentSelectList() /user/userSelectList.json error : ', error); |
|
949 |
+ }); |
|
950 |
+} |
|
951 |
+ |
|
952 |
+//시스템 관리자 목록 및 페이징 정보 |
|
953 |
+userSearch['authority'] = 'ROLE_ADMIN'; |
|
954 |
+const [admin, setAdmin] = React.useState({userList: [], userListCount: 0, search: JSON.parse(JSON.stringify(userSearch))}); |
|
955 |
+const adminSearchChange = (targetKey, value) => { |
|
956 |
+ let newAdmin = JSON.parse(JSON.stringify(admin)); |
|
957 |
+ newAdmin.search[targetKey] = value; |
|
958 |
+ setAdmin(newAdmin); |
|
959 |
+} |
|
960 |
+const adminSelectListEnter = (key) => { |
|
961 |
+ if (key == 'Enter') { |
|
962 |
+ adminSelectList(); |
|
963 |
+ } else { |
|
964 |
+ return; |
|
965 |
+ } |
|
966 |
+} |
|
901 | 967 |
// 장비 납품 모달창 thead, key |
902 | 968 |
const thead4 = [ |
903 | 969 |
"No", |
... | ... | @@ -914,7 +980,38 @@ |
914 | 980 |
No: 1, |
915 | 981 |
agency: ( |
916 | 982 |
<div> |
917 |
- <Category /> |
|
983 |
+ <div style={{width: '100%', fontSize: '16px'}} className="category"> |
|
984 |
+ {/* <a className={() => {return "active"}} onClick={adminChange}>올잇메디</a> */} |
|
985 |
+ <a onClick={adminChange} |
|
986 |
+ className={userSearch['government_id'] == null && userSearch['agency_id'] == null ? "active" : ""}> |
|
987 |
+ 올잇메디 |
|
988 |
+ </a> |
|
989 |
+ <ul style={{marginLeft: '15px'}}> |
|
990 |
+ {orgListOfHierarchy.map((item, idx) => { return ( |
|
991 |
+ <li style={{margin: '10px 0px'}} key={idx}> |
|
992 |
+ <span style={{marginRight: '5px'}}><img src={House} alt="" /></span> |
|
993 |
+ <a onClick={() => {governmentChange(item['government_id'])}} |
|
994 |
+ className={item['government_id'] == userSearch['government_id'] ? "active" : ""}> |
|
995 |
+ {item['government_name']} |
|
996 |
+ </a> |
|
997 |
+ {item['agencyList'] != undefined && item['agencyList'] != null ? |
|
998 |
+ <ul style={{marginLeft: '15px'}}> |
|
999 |
+ {item['agencyList'].map((item2, idx2) => { return ( |
|
1000 |
+ <li style={{margin: '10px 0px'}} key={idx2}> |
|
1001 |
+ <span style={{marginRight: '5px'}}><img src={Arrow} alt="" /></span> |
|
1002 |
+ <a onClick={() => {agencyChange(item['government_id'], item2['agency_id'])}} |
|
1003 |
+ className={item2['agency_id'] == userSearch['agency_id'] ? "active" : ""}> |
|
1004 |
+ {item2['agency_name']} |
|
1005 |
+ </a> |
|
1006 |
+ </li> |
|
1007 |
+ )})} |
|
1008 |
+ </ul> |
|
1009 |
+ : null |
|
1010 |
+ } |
|
1011 |
+ </li> |
|
1012 |
+ )})} |
|
1013 |
+ </ul> |
|
1014 |
+ </div> |
|
918 | 1015 |
</div> |
919 | 1016 |
) |
920 | 1017 |
, |
--- client/views/pages/senior_management/SeniorEdit.jsx
+++ client/views/pages/senior_management/SeniorEdit.jsx
... | ... | @@ -107,7 +107,7 @@ |
107 | 107 |
<main> |
108 | 108 |
<div className="board-wrap"> |
109 | 109 |
<SubTitle explanation={"수정페이지"} className="margin-bottom" /> |
110 |
- <table className="margin-bottom2 senior-insert"> |
|
110 |
+ <table className="margin-bottom2 senior-detail"> |
|
111 | 111 |
{/* <tr> |
112 | 112 |
<th>대상자등록번호</th> |
113 | 113 |
<td colSpan={3} className="flex"> |
... | ... | @@ -155,7 +155,7 @@ |
155 | 155 |
<tr> |
156 | 156 |
<th>필요 복약</th> |
157 | 157 |
<td> |
158 |
- <div className="flex"> |
|
158 |
+ <div className="flex-start"> |
|
159 | 159 |
<input type="checkbox" name="medicationSelect" checked={medicineM} onClick={(e) => { handleMedicineM(e) }} /><label for="medicationTime">아침</label> |
160 | 160 |
<input type="checkbox" name="medicationSelect" checked={medicineL} onClick={(e) => { handleMedicineL(e) }} /><label for="medicationTime">점심</label> |
161 | 161 |
<input type="checkbox" name="medicationSelect" checked={medicineD} onClick={(e) => { handleMedicineD(e) }} /><label for="medicationTime">저녁</label> |
... | ... | @@ -191,7 +191,7 @@ |
191 | 191 |
/> |
192 | 192 |
<Button |
193 | 193 |
className={"btn-small gray-btn"} |
194 |
- btnName={"수정"} |
|
194 |
+ btnName={"저장"} |
|
195 | 195 |
onClick={() => { |
196 | 196 |
updateSeniorData(); |
197 | 197 |
}} |
--- client/views/pages/senior_management/SeniorSelectOne.jsx
+++ client/views/pages/senior_management/SeniorSelectOne.jsx
... | ... | @@ -240,8 +240,7 @@ |
240 | 240 |
</tbody> |
241 | 241 |
</table> |
242 | 242 |
<div className="btn-wrap flex-center"> |
243 |
- <button className={"btn-large gray-btn"} onClick={() => modalGuardianOpen()}>수정</button> |
|
244 |
- |
|
243 |
+ <button className={"btn-large gray-btn"} onClick={() => {navigate("/SeniorEdit");}}>수정</button> |
|
245 | 244 |
<button className={"btn-large red-btn"} onClick={() => alert("삭제할 수 없습니다.")}>삭제</button> |
246 | 245 |
</div> |
247 | 246 |
</div> |
--- client/views/pages/user_management/UserAuthoriySelect.jsx
+++ client/views/pages/user_management/UserAuthoriySelect.jsx
... | ... | @@ -12,6 +12,9 @@ |
12 | 12 |
import { width } from "@mui/system"; |
13 | 13 |
import Modal_Guardian from "../../component/Modal_Guardian.jsx"; |
14 | 14 |
import Pagination from "../../component/Pagination.jsx"; |
15 |
+import Dot from "../../../resources/files/icon/dot.png"; |
|
16 |
+import House from "../../../resources/files/icon/house.png"; |
|
17 |
+import Arrow from "../../../resources/files/icon/arrow.png"; |
|
15 | 18 |
|
16 | 19 |
import CommonUtil from "../../../resources/js/CommonUtil.js"; |
17 | 20 |
|
... | ... | @@ -342,7 +345,7 @@ |
342 | 345 |
className="margin-bottom" |
343 | 346 |
/> |
344 | 347 |
{/* 카테고리 디자인 필요 (a.active 클래스 필요) */} |
345 |
- <div style={{width: '100%', fontSize: '16px'}}> |
|
348 |
+ <div style={{width: '100%', fontSize: '16px'}} className="category"> |
|
346 | 349 |
{/* <a className={() => {return "active"}} onClick={adminChange}>올잇메디</a> */} |
347 | 350 |
<a onClick={adminChange} |
348 | 351 |
className={userSearch['government_id'] == null && userSearch['agency_id'] == null ? "active" : ""}> |
... | ... | @@ -351,7 +354,7 @@ |
351 | 354 |
<ul style={{marginLeft: '15px'}}> |
352 | 355 |
{orgListOfHierarchy.map((item, idx) => { return ( |
353 | 356 |
<li style={{margin: '10px 0px'}} key={idx}> |
354 |
- <span style={{marginRight: '5px'}}>└</span> |
|
357 |
+ <span style={{marginRight: '5px'}}><img src={House} alt="" /></span> |
|
355 | 358 |
<a onClick={() => {governmentChange(item['government_id'])}} |
356 | 359 |
className={item['government_id'] == userSearch['government_id'] ? "active" : ""}> |
357 | 360 |
{item['government_name']} |
... | ... | @@ -360,7 +363,7 @@ |
360 | 363 |
<ul style={{marginLeft: '15px'}}> |
361 | 364 |
{item['agencyList'].map((item2, idx2) => { return ( |
362 | 365 |
<li style={{margin: '10px 0px'}} key={idx2}> |
363 |
- <span style={{marginRight: '5px'}}>└</span> |
|
366 |
+ <span style={{marginRight: '5px'}}><img src={Arrow} alt="" /></span> |
|
364 | 367 |
<a onClick={() => {agencyChange(item['government_id'], item2['agency_id'])}} |
365 | 368 |
className={item2['agency_id'] == userSearch['agency_id'] ? "active" : ""}> |
366 | 369 |
{item2['agency_name']} |
... | ... | @@ -397,7 +400,6 @@ |
397 | 400 |
ROLE_SENIOR: ( |
398 | 401 |
<ul className="tab-content"> |
399 | 402 |
<div> |
400 |
- |
|
401 | 403 |
<div className="search-management flex-start margin-bottom2"> |
402 | 404 |
<select id="searchType1" style={{maxWidth: 'fit-content'}} onChange={(e) => {seniorSearchChange("searchType", e.target.value)}}> |
403 | 405 |
<option value="" selected={senior.search.searchText == ""}>전체</option> |
... | ... | @@ -413,7 +415,8 @@ |
413 | 415 |
<button className={"btn-small gray-btn"} onClick={() => {seniorSelectList()}}>검색</button> |
414 | 416 |
</div> |
415 | 417 |
|
416 |
- <div className="btn-wrap flex-end margin-bottom"> |
|
418 |
+ <div className="btn-wrap flex margin-bottom"> |
|
419 |
+ <SubTitle explanation={"대상자 클릭 시 상세페이지로 이동합니다."} /> |
|
417 | 420 |
<button className={"btn-small gray-btn"} onClick={() => modalSeniorInsertOpen()}>등록</button> |
418 | 421 |
</div> |
419 | 422 |
|
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?