
--- client/resources/css/common.css
+++ client/resources/css/common.css
... | ... | @@ -378,6 +378,7 @@ |
378 | 378 |
background-color: #f25430; |
379 | 379 |
} |
380 | 380 |
input[type='date']{width: 24%;} |
381 |
+.senior-insert input[type='date']{width: 39%;} |
|
381 | 382 |
/* margin */ |
382 | 383 |
.margin-bottom { |
383 | 384 |
margin-bottom: 1rem; |
--- client/resources/css/main.css
+++ client/resources/css/main.css
... | ... | @@ -1013,7 +1013,7 @@ |
1013 | 1013 |
.medicine { |
1014 | 1014 |
height: 100px; |
1015 | 1015 |
} |
1016 |
-.senior-insert .gender{padding-left: 2rem;} |
|
1016 |
+.senior-insert .gender{padding-left: 2rem; gap: 2rem;} |
|
1017 | 1017 |
.senior-insert .gender input{width: auto;} |
1018 | 1018 |
.medicationTime-td input{width: 2rem;} |
1019 | 1019 |
.medicationTime-td label{} |
--- client/resources/css/responsive.css
+++ client/resources/css/responsive.css
... | ... | @@ -214,7 +214,7 @@ |
214 | 214 |
|
215 | 215 |
.modal .modal-inner{width: 100%; border-radius: 0;} |
216 | 216 |
.modal-main .qna-insert td{padding: 1rem;} |
217 |
- .search-management button{width: 22%;} |
|
217 |
+ .search-management button{width: -webkit-fill-available;} |
|
218 | 218 |
/* 건강관리 */ |
219 | 219 |
.searchselect{width: 48%;} |
220 | 220 |
/* 기관등록 */ |
... | ... | @@ -325,10 +325,10 @@ |
325 | 325 |
.statistics-grid .statistics-guardian li:nth-child(1) p:nth-child(2){width: 100%;} |
326 | 326 |
.statistics-grid .statistics-guardian li:nth-child(1) p:nth-child(3){display: none;} |
327 | 327 |
/* Q&A */ |
328 |
- .question-select select{width: 22%;} |
|
328 |
+ .question-select select{width: unset;} |
|
329 | 329 |
.modal .modal-inner{width: 100%; border-radius: 0;} |
330 |
- .modal-main .qna-insert td{padding: 0;} |
|
331 |
- .modal-main .qna-insert td input, .modal-main .qna-insert td textarea{border: 0;} |
|
330 |
+ .modal-main .qna-insert td{padding: 0.5rem;} |
|
331 |
+ .modal-main .qna-insert td input, .modal-main .qna-insert td textarea{width: -webkit-fill-available;} |
|
332 | 332 |
|
333 | 333 |
/* 권한관리 */ |
334 | 334 |
.authority-table tbody tr td:nth-child(1){background: #e4dccf;} |
... | ... | @@ -337,7 +337,7 @@ |
337 | 337 |
.modal-main{max-height: 60rem; |
338 | 338 |
overflow: scroll;} |
339 | 339 |
.modal .modal-inner .modal-header{background-color: #ffffff;} |
340 |
- .senior-search{width: 25% !important;} |
|
340 |
+ .senior-search{width: 100% !important;} |
|
341 | 341 |
.searchselect label{margin-right: 2rem;} |
342 | 342 |
.protector-user{margin-top: 2rem;} |
343 | 343 |
.userauthoriylist{display: block;} |
... | ... | @@ -357,7 +357,7 @@ |
357 | 357 |
width: -webkit-fill-available; |
358 | 358 |
margin: 0; |
359 | 359 |
} |
360 |
- .search-management button{width: 40%;} |
|
360 |
+ .search-management button{width: -webkit-fill-available;} |
|
361 | 361 |
.search-management input { |
362 | 362 |
width: 100%;margin: 0; |
363 | 363 |
} |
... | ... | @@ -455,13 +455,14 @@ |
455 | 455 |
} |
456 | 456 |
|
457 | 457 |
.senior-detail th { |
458 |
- font-size: 1.2rem; |
|
458 |
+ /* font-size: 1.2rem; */ |
|
459 | 459 |
width: 100%; |
460 | 460 |
} |
461 | 461 |
|
462 | 462 |
.senior-detail td { |
463 | 463 |
width: 100%; |
464 |
- font-size: 1.2rem; |
|
464 |
+ |
|
465 |
+ /* font-size: 1.2rem; */ |
|
465 | 466 |
} |
466 | 467 |
|
467 | 468 |
.senior-detail td span { |
... | ... | @@ -491,7 +492,7 @@ |
491 | 492 |
} |
492 | 493 |
|
493 | 494 |
.senior-insert input, .senior-insert textarea { |
494 |
- border: 0; |
|
495 |
+ width: -webkit-fill-available; |
|
495 | 496 |
} |
496 | 497 |
.modal-main table td |
497 | 498 |
.senior-insert tr:nth-child(2) .gender { |
... | ... | @@ -501,9 +502,9 @@ |
501 | 502 |
} |
502 | 503 |
|
503 | 504 |
.senior-insert tr:nth-child(2) .gender input { |
504 |
- width: 25%; |
|
505 |
+ |
|
505 | 506 |
} |
506 |
- |
|
507 |
+ .senior-insert input[type='date']{width: 100%;} |
|
507 | 508 |
.senior-insert td::marker { |
508 | 509 |
content: ""; |
509 | 510 |
} |
... | ... | @@ -592,7 +593,7 @@ |
592 | 593 |
} |
593 | 594 |
|
594 | 595 |
.senior-detail td { |
595 |
- padding: 0; |
|
596 |
+ padding-left: 2rem; |
|
596 | 597 |
} |
597 | 598 |
|
598 | 599 |
/* 방문 수정 페이지 */ |
--- client/views/component/Modal_SeniorInsert.jsx
+++ client/views/component/Modal_SeniorInsert.jsx
... | ... | @@ -260,21 +260,23 @@ |
260 | 260 |
/> |
261 | 261 |
</td> |
262 | 262 |
<th><span style={{color : "red"}}>*</span>성별</th> |
263 |
- <td className=" gender"> |
|
264 |
- <div className="flex-start"> |
|
265 |
- <input type="radio" id="user_gender_m" name="user_gender" value="남" checked={senior['user_gender'] == '남'} |
|
266 |
- onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}} |
|
267 |
- ref={el => seniorRef.current['user_gender']['m'] = el} |
|
268 |
- /> |
|
269 |
- <label for="user_gender_m">남</label> |
|
270 |
- </div> |
|
271 |
- <div className="flex-start"> |
|
272 |
- <input type="radio" id="user_gender_f" name="user_gender" value="여" checked={senior['user_gender'] == '여'} |
|
273 |
- onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}} |
|
274 |
- ref={el => seniorRef.current['user_gender']['f'] = el} |
|
275 |
- /> |
|
276 |
- <label for="user_gender_f">여</label> |
|
277 |
- </div> |
|
263 |
+ <td className=""> |
|
264 |
+ <div className="gender flex-start"> |
|
265 |
+ <div className="flex-start"> |
|
266 |
+ <input type="radio" id="user_gender_m" name="user_gender" value="남" checked={senior['user_gender'] == '남'} |
|
267 |
+ onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}} |
|
268 |
+ ref={el => seniorRef.current['user_gender']['m'] = el} |
|
269 |
+ /> |
|
270 |
+ <label for="user_gender_m">남</label> |
|
271 |
+ </div> |
|
272 |
+ <div className="flex-start"> |
|
273 |
+ <input type="radio" id="user_gender_f" name="user_gender" value="여" checked={senior['user_gender'] == '여'} |
|
274 |
+ onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}} |
|
275 |
+ ref={el => seniorRef.current['user_gender']['f'] = el} |
|
276 |
+ /> |
|
277 |
+ <label for="user_gender_f">여</label> |
|
278 |
+ </div> |
|
279 |
+ </div > |
|
278 | 280 |
</td> |
279 | 281 |
</tr> |
280 | 282 |
<tr> |
--- client/views/pages/equipment/EquipmentManagementSelect.jsx
+++ client/views/pages/equipment/EquipmentManagementSelect.jsx
... | ... | @@ -1,13 +1,18 @@ |
1 |
-import React from "react"; |
|
1 |
+import React, { useState } from "react"; |
|
2 |
+import { useSelector } from "react-redux"; |
|
2 | 3 |
import Table from "../../component/Table.jsx"; |
3 | 4 |
import Button from "../../component/Button.jsx"; |
4 | 5 |
import SubTitle from "../../component/SubTitle.jsx"; |
5 | 6 |
import Modal from "../../component/Modal.jsx"; |
6 | 7 |
import Category from "../../component/Category.jsx"; |
7 | 8 |
import { useNavigate } from "react-router"; |
9 |
+import House from "../../../resources/files/icon/house.png"; |
|
10 |
+import Arrow from "../../../resources/files/icon/arrow.png"; |
|
8 | 11 |
|
9 | 12 |
|
10 | 13 |
export default function EquipmentManagementSelect() { |
14 |
+ //전역 변수 저장 객체 |
|
15 |
+ const state = useSelector((state) => {return state}); |
|
11 | 16 |
|
12 | 17 |
// 시스템 코드 - 장비 상태 |
13 | 18 |
const [equipmentStates, setEquipmentStates] = React.useState({}); |
... | ... | @@ -897,6 +902,73 @@ |
897 | 902 |
}, []) |
898 | 903 |
|
899 | 904 |
/********************************** 시행기관 장비 (끝) **********************************/ |
905 |
+ //올잇메디 선택 |
|
906 |
+ const adminChange = () => { |
|
907 |
+ const newUserSearch = JSON.parse(JSON.stringify(userSearch)); |
|
908 |
+ newUserSearch['government_id'] = null; |
|
909 |
+ newUserSearch['agency_id'] = null; |
|
910 |
+ setUserSearch(newUserSearch); |
|
911 |
+ |
|
912 |
+ senior.search['government_id'] = null; |
|
913 |
+ senior.search['agency_id'] = null; |
|
914 |
+ seniorSelectList(); |
|
915 |
+ agent.search['government_id'] = null; |
|
916 |
+ agent.search['agency_id'] = null; |
|
917 |
+ agentSelectList(); |
|
918 |
+ if (state.loginUser['authority'] == 'ROLE_ADMIN' || state.loginUser['authority'] == 'ROLE_GOVERNMENT') { |
|
919 |
+ government.search['government_id'] = null; |
|
920 |
+ government.search['agency_id'] = null; |
|
921 |
+ |
|
922 |
+ } |
|
923 |
+ } |
|
924 |
+ |
|
925 |
+ //관리 기관 선택 |
|
926 |
+ const governmentChange = (government_id) => { |
|
927 |
+ const newUserSearch = JSON.parse(JSON.stringify(userSearch)); |
|
928 |
+ newUserSearch['government_id'] = government_id; |
|
929 |
+ newUserSearch['agency_id'] = null; |
|
930 |
+ setUserSearch(newUserSearch); |
|
931 |
+ |
|
932 |
+ senior.search['government_id'] = government_id; |
|
933 |
+ senior.search['agency_id'] = null; |
|
934 |
+ seniorSelectList(); |
|
935 |
+ agent.search['government_id'] = government_id; |
|
936 |
+ agent.search['agency_id'] = null; |
|
937 |
+ agentSelectList(); |
|
938 |
+ if (state.loginUser['authority'] == 'ROLE_ADMIN' || state.loginUser['authority'] == 'ROLE_GOVERNMENT') { |
|
939 |
+ government.search['government_id'] = government_id; |
|
940 |
+ government.search['agency_id'] = null; |
|
941 |
+ |
|
942 |
+ } |
|
943 |
+ } |
|
944 |
+ |
|
945 |
+ //시행 기관 선택 |
|
946 |
+ const agencyChange = (government_id, agency_id) => { |
|
947 |
+ const newUserSearch = JSON.parse(JSON.stringify(userSearch)); |
|
948 |
+ newUserSearch['government_id'] = government_id; |
|
949 |
+ newUserSearch['agency_id'] = agency_id; |
|
950 |
+ setUserSearch(newUserSearch); |
|
951 |
+ |
|
952 |
+ senior.search['government_id'] = government_id; |
|
953 |
+ senior.search['agency_id'] = agency_id; |
|
954 |
+ console.log('senior.search : ', senior.search); |
|
955 |
+ seniorSelectList(); |
|
956 |
+ agent.search['government_id'] = government_id; |
|
957 |
+ agent.search['agency_id'] = agency_id; |
|
958 |
+ agentSelectList(); |
|
959 |
+ } |
|
960 |
+ |
|
961 |
+ //검색 변수 (초기화값) |
|
962 |
+ const [userSearch, setUserSearch] = React.useState({ |
|
963 |
+ 'government_id': state.loginUser['government_id'], |
|
964 |
+ 'agency_id': state.loginUser['agency_id'], |
|
965 |
+ 'authority': null, |
|
966 |
+ |
|
967 |
+ 'searchType': null, |
|
968 |
+ 'searchText': null, |
|
969 |
+ 'currentPage': 1, |
|
970 |
+ 'perPage': 10, |
|
971 |
+ }); |
|
900 | 972 |
//기관 계층 구조 목록 |
901 | 973 |
const [orgListOfHierarchy, setOrgListOfHierarchy] = React.useState([]); |
902 | 974 |
//기관(관리, 시행) 계층 구조 목록 조회 |
... | ... | @@ -914,56 +986,17 @@ |
914 | 986 |
console.log('orgSelectListOfHierarchy() /org/orgSelectListOfHierarchy.json error : ', error); |
915 | 987 |
}); |
916 | 988 |
}; |
989 |
+ |
|
990 |
+ //Mounted |
|
991 |
+ React.useEffect(() => { |
|
992 |
+ orgSelectListOfHierarchy(); |
|
993 |
+ // agentSelectList(); |
|
994 |
+ if (state.loginUser['authority'] == 'ROLE_ADMIN' || state.loginUser['authority'] == 'ROLE_GOVERNMENT') { |
|
995 |
+ } |
|
996 |
+ if (state.loginUser['authority'] == 'ROLE_ADMIN') { |
|
997 |
+ } |
|
998 |
+ }, []); |
|
917 | 999 |
|
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 |
-} |
|
967 | 1000 |
// 장비 납품 모달창 thead, key |
968 | 1001 |
const thead4 = [ |
969 | 1002 |
"No", |
... | ... | @@ -980,7 +1013,7 @@ |
980 | 1013 |
No: 1, |
981 | 1014 |
agency: ( |
982 | 1015 |
<div> |
983 |
- <div style={{width: '100%', fontSize: '16px'}} className="category"> |
|
1016 |
+ <div style={{textAlign:'left', fontSize: '16px',margin:'2rem 0'}} className="category"> |
|
984 | 1017 |
{/* <a className={() => {return "active"}} onClick={adminChange}>올잇메디</a> */} |
985 | 1018 |
<a onClick={adminChange} |
986 | 1019 |
className={userSearch['government_id'] == null && userSearch['agency_id'] == null ? "active" : ""}> |
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?