
+++ client/views/component/Modal_SeniorInsert.jsx
... | ... | @@ -0,0 +1,227 @@ |
1 | +import React from "react"; | |
2 | +import Button from "./Button.jsx"; | |
3 | +import SubTitle from "./SubTitle.jsx"; | |
4 | + | |
5 | +export default function Modal({ open, close, header, setModalOpen3, setAddSenior }) { | |
6 | + // 사용자 등록 시 초기값 세팅 | |
7 | + const [userName, setUserName] = React.useState(""); | |
8 | + const [gender, setGender] = React.useState(""); | |
9 | + const [brith, setBrith] = React.useState(""); | |
10 | + const [telNum, setTelNum] = React.useState(""); | |
11 | + const [homeAddress, setHomeAddress] = React.useState(""); | |
12 | + const [medicineM, setMedicineM] = React.useState(false); | |
13 | + const [medicineL, setMedicineL] = React.useState(false); | |
14 | + const [medicineD, setMedicineD] = React.useState(false); | |
15 | + const [medication, setMedication] = React.useState(""); | |
16 | + const [note, setNote] = React.useState(""); | |
17 | + | |
18 | + // 등록 후 초기화 진행 | |
19 | + const dataReset = () => { | |
20 | + setUserName(""); | |
21 | + setGender(""); | |
22 | + setBrith(""); | |
23 | + setTelNum(""); | |
24 | + setHomeAddress(""); | |
25 | + setMedicineM(""); | |
26 | + setMedicineL(""); | |
27 | + setMedicineD(""); | |
28 | + setMedication(""); | |
29 | + setNote(""); | |
30 | + } | |
31 | + //-------- 변경되는 데이터 Handler 설정 --------// | |
32 | + const handleUserName = (e) => { | |
33 | + setUserName(e.target.value); | |
34 | + }; | |
35 | + const handleGender = (e) => { | |
36 | + setGender(e.target.value); | |
37 | + }; | |
38 | + const handleBrithday = (e) => { | |
39 | + setBrith(e.target.value); | |
40 | + }; | |
41 | + const handleTelNum = (e) => { | |
42 | + e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/^(\d{2,3})(\d{3,4})(\d{4})$/, `$1-$2-$3`); | |
43 | + setTelNum(e.target.value); | |
44 | + }; | |
45 | + const handleHomeAddress = (e) => { | |
46 | + setHomeAddress(e.target.value); | |
47 | + }; | |
48 | + const handleMedicineM = (e) => { | |
49 | + setMedicineM(e.target.checked); | |
50 | + }; | |
51 | + const handleMedicineL = (e) => { | |
52 | + setMedicineL(e.target.checked); | |
53 | + }; | |
54 | + const handleMedicineD = (e) => { | |
55 | + setMedicineD(e.target.checked); | |
56 | + }; | |
57 | + const handleMedication = (e) => { | |
58 | + setMedication(e.target.value); | |
59 | + }; | |
60 | + const handleNote = (e) => { | |
61 | + setNote(e.target.value); | |
62 | + }; | |
63 | + | |
64 | + //-------- 등록 버튼 동작 수행 영역 시작 --------// | |
65 | + // 대상자 정보 등록을 위한 함수 | |
66 | + const InsertUserData = () => { | |
67 | + fetch("/user/insertSeniorData.json", { | |
68 | + method: "POST", | |
69 | + headers: { | |
70 | + 'Content-Type': 'application/json; charset=UTF-8' | |
71 | + }, | |
72 | + body: JSON.stringify({ | |
73 | + user_name: userName, | |
74 | + user_gender: gender, | |
75 | + user_birth: brith, | |
76 | + user_phonenumber: telNum, | |
77 | + user_address: homeAddress, | |
78 | + agency_id: 'agency01', | |
79 | + government_id: 'government01', | |
80 | + user_code: '4', | |
81 | + }), | |
82 | + }).then((response) => response.json()).then((data) => { | |
83 | + console.log("대상자 정보 등록"); | |
84 | + InsertUserPillData(); | |
85 | + }).catch((error) => { | |
86 | + console.log('insertSeniorData() /user/insertSeniorData.json error : ', error); | |
87 | + }); | |
88 | + }; | |
89 | + // 대상자 약 복용 정보 등록을 위한 함수 | |
90 | + const InsertUserPillData = () => { | |
91 | + fetch("/user/insertSeniorMadication.json", { | |
92 | + method: "POST", | |
93 | + headers: { | |
94 | + 'Content-Type': 'application/json; charset=UTF-8' | |
95 | + }, | |
96 | + body: JSON.stringify({ | |
97 | + user_phonenumber: telNum, | |
98 | + breakfast_medication_check: medicineM, | |
99 | + lunch_medication_check: medicineL, | |
100 | + dinner_medication_check: medicineD, | |
101 | + medication_pill: medication, | |
102 | + senior_note: note, | |
103 | + }), | |
104 | + }).then((response) => response.json()).then((data) => { | |
105 | + console.log("약 정보 등록"); | |
106 | + dataReset(); | |
107 | + setAddSenior(true) | |
108 | + noticeModalClose() | |
109 | + }).catch((error) => { | |
110 | + console.log('InsertUserPillData() /user/insertSeniorMadication.json error : ', error); | |
111 | + }); | |
112 | + }; | |
113 | + //-------- 등록 버튼 동작 수행 영역 끝 --------/ | |
114 | + //-------- 모달 종료 --------> | |
115 | + const noticeModalClose = () => { | |
116 | + setModalOpen3(false); | |
117 | + }; | |
118 | + return ( | |
119 | + <div class={open ? "openModal modal" : "modal"}> | |
120 | + {open ? ( | |
121 | + <div className="modal-inner"> | |
122 | + <div className="modal-header flex"> | |
123 | + {header} | |
124 | + <Button className={"close"} onClick={noticeModalClose} btnName={"X"} /> | |
125 | + </div> | |
126 | + <div className="modal-main"> | |
127 | + <div className="board-wrap"> | |
128 | + <SubTitle explanation={"회원 등록 시 ID는 연락처, 패스워드는 생년월일 8자리입니다."} className="margin-bottom" /> | |
129 | + <table className="margin-bottom2 senior-insert"> | |
130 | + {/* <tr> | |
131 | + <th>대상자등록번호</th> | |
132 | + <td colSpan={3} className="flex"> | |
133 | + <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다."/> | |
134 | + <Button | |
135 | + className={"btn-large gray-btn"} | |
136 | + btnName={"생성하기"} | |
137 | + /> | |
138 | + </td> | |
139 | + </tr> */} | |
140 | + <tr> | |
141 | + <th>이름</th> | |
142 | + <td> | |
143 | + <input type="text" value={userName} onChange={handleUserName} /> | |
144 | + </td> | |
145 | + <th>성별</th> | |
146 | + <td className="flex-start gender"> | |
147 | + <div className="flex-start"> | |
148 | + <input type="radio" name="genderSelect" value="남" onChange={handleGender} /> | |
149 | + <label for="gender">남</label> | |
150 | + </div> | |
151 | + <div className="flex-start"> | |
152 | + <input type="radio" name="genderSelect" value="여" onChange={handleGender} /> | |
153 | + <label for="gender">여</label> | |
154 | + </div> | |
155 | + </td> | |
156 | + </tr> | |
157 | + <tr> | |
158 | + <th>생년월일</th> | |
159 | + <td> | |
160 | + <div className="flex"> | |
161 | + <input type='date' value={brith} onChange={handleBrithday} /> | |
162 | + </div> | |
163 | + </td> | |
164 | + {/* <th>요양등급</th> | |
165 | + <td> | |
166 | + <input type="text" /> | |
167 | + </td> */} | |
168 | + | |
169 | + </tr> | |
170 | + <tr> | |
171 | + <th>연락처</th> | |
172 | + <td colSpan={3}> | |
173 | + <input type="text" maxLength="13" value={telNum} onChange={handleTelNum} /> | |
174 | + </td> | |
175 | + </tr> | |
176 | + <tr> | |
177 | + <th>주소</th> | |
178 | + <td colSpan={3}> | |
179 | + <input type="text" value={homeAddress} onChange={handleHomeAddress} /> | |
180 | + </td> | |
181 | + </tr> | |
182 | + <tr> | |
183 | + <th>필요 복약</th> | |
184 | + <td> | |
185 | + <div className="flex"> | |
186 | + <input type="checkbox" name="medicationSelect" checked={medicineM} onClick={(e) => { handleMedicineM(e) }} /><label for="medicationTime">아침</label> | |
187 | + <input type="checkbox" name="medicationSelect" checked={medicineL} onClick={(e) => { handleMedicineL(e) }} /><label for="medicationTime">점심</label> | |
188 | + <input type="checkbox" name="medicationSelect" checked={medicineD} onClick={(e) => { handleMedicineD(e) }} /><label for="medicationTime">저녁</label> | |
189 | + </div> | |
190 | + </td> | |
191 | + </tr> | |
192 | + <tr> | |
193 | + <th>복용중인 약</th> | |
194 | + <td colSpan={3}> | |
195 | + <textarea className="medicine" cols="30" rows="2" value={medication} onChange={handleMedication}></textarea> | |
196 | + </td> | |
197 | + </tr> | |
198 | + <tr> | |
199 | + <th>비고</th> | |
200 | + <td colSpan={3}> | |
201 | + <textarea className="note" cols="30" rows="2" value={note} onChange={handleNote}></textarea> | |
202 | + </td> | |
203 | + </tr> | |
204 | + | |
205 | + {/* <tr> | |
206 | + <th>기저질환</th> | |
207 | + <td colSpan={3}> | |
208 | + <textarea cols="30" rows="10"></textarea> | |
209 | + </td> | |
210 | + </tr> */} | |
211 | + </table> | |
212 | + <div className="btn-wrap flex-center"> | |
213 | + <Button | |
214 | + className={"btn-small gray-btn"} | |
215 | + btnName={"등록"} | |
216 | + onClick={() => { | |
217 | + InsertUserData(); | |
218 | + }} | |
219 | + /> | |
220 | + </div> | |
221 | + </div> | |
222 | + </div> | |
223 | + </div> | |
224 | + ) : null} | |
225 | + </div> | |
226 | + ); | |
227 | +} |
--- client/views/component/Table.jsx
+++ client/views/component/Table.jsx
... | ... | @@ -4,7 +4,8 @@ |
4 | 4 |
import Modal2 from "./Modal.jsx"; |
5 | 5 |
import SubTitle from "./SubTitle.jsx"; |
6 | 6 |
import { useNavigate } from "react-router"; |
7 |
-import TableTest from "./TableTest.jsx" |
|
7 |
+import TableTest from "./TableTest.jsx"; |
|
8 |
+import { Link } from 'react-router-dom'; |
|
8 | 9 |
// import styled from "styled-components"; |
9 | 10 |
|
10 | 11 |
export default function Table({ head, contents, contentKey, onClick, className, view, offset, limit }) { |
... | ... | @@ -57,7 +58,6 @@ |
57 | 58 |
const [modalOpen2, setModalOpen2] = React.useState(false); |
58 | 59 |
const openModal2 = () => { |
59 | 60 |
setModalOpen2(true); |
60 |
- dataReset(); |
|
61 | 61 |
}; |
62 | 62 |
|
63 | 63 |
const closeModal = () => { |
... | ... | @@ -195,7 +195,7 @@ |
195 | 195 |
<Button |
196 | 196 |
className={"btn-small gray-btn"} |
197 | 197 |
btnName={"선택"} |
198 |
- onClick={()=>{setUseSeniorId(id); openModal2}} |
|
198 |
+ onClick={()=>{setUseSeniorId(id); openModal2();}} |
|
199 | 199 |
/> |
200 | 200 |
</td> |
201 | 201 |
<td> |
... | ... | @@ -286,8 +286,9 @@ |
286 | 286 |
{contentKey.map((kes) => { |
287 | 287 |
return ( |
288 | 288 |
<> |
289 |
- <td onClick={() => { |
|
290 |
- navigate("/SeniorSelectOne")}}>{i[kes]} |
|
289 |
+ <td onClick={() => |
|
290 |
+ navigate(`/SeniorSelectOne/${i.user_id}`, { state: { index } })}> |
|
291 |
+ {i[kes]} |
|
291 | 292 |
</td> |
292 | 293 |
</> |
293 | 294 |
) |
--- client/views/pages/user_management/UserAuthoriySelect_agency.jsx
+++ client/views/pages/user_management/UserAuthoriySelect_agency.jsx
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 |
import Table from "../../component/Table.jsx"; |
3 | 3 |
import Button from "../../component/Button.jsx"; |
4 | 4 |
import SubTitle from "../../component/SubTitle.jsx"; |
5 |
-import Modal from "../../component/Modal.jsx"; |
|
5 |
+import Modal_SeniorInsert from "../../component/Modal_SeniorInsert.jsx"; |
|
6 | 6 |
import { useNavigate } from "react-router"; |
7 | 7 |
import Pagination from "../../component/Pagination.jsx"; |
8 | 8 |
|
... | ... | @@ -10,6 +10,7 @@ |
10 | 10 |
// 화면 진입 시 탭 별 노출될 리스트 초기화 |
11 | 11 |
const [seniortList, setSeniorList] = React.useState([]); |
12 | 12 |
const [seniorMyList, setSeniorMyList] = React.useState([]); |
13 |
+ const [addSenior, setAddSenior] = React.useState(true); //추가된 시니어가 있는지 확인 |
|
13 | 14 |
|
14 | 15 |
//category 설정 초기화 |
15 | 16 |
const [selectUserCode, setSelectUserCode] = React.useState("전체"); |
... | ... | @@ -23,65 +24,7 @@ |
23 | 24 |
const [userTotal, setUserTotal] = React.useState(0); //최대길이 넣을 변수 |
24 | 25 |
//-------- 페이징 작업 설정 끝 --------// |
25 | 26 |
|
26 |
- // ------ 등록 버튼 클릭 시 노출되는 모달 데이터 ------// |
|
27 |
- |
|
28 |
- // 사용자 등록 시 초기값 세팅 |
|
29 |
- const [userName, setUserName] = React.useState(""); |
|
30 |
- const [gender, setGender] = React.useState(""); |
|
31 |
- const [brith, setBrith] = React.useState(""); |
|
32 |
- const [telNum, setTelNum] = React.useState(""); |
|
33 |
- const [homeAddress, setHomeAddress] = React.useState(""); |
|
34 |
- const [medicineM, setMedicineM] = React.useState(false); |
|
35 |
- const [medicineL, setMedicineL] = React.useState(false); |
|
36 |
- const [medicineD, setMedicineD] = React.useState(false); |
|
37 |
- const [medication, setMedication] = React.useState(""); |
|
38 |
- const [note, setNote] = React.useState(""); |
|
39 |
- |
|
40 |
- // 등록 후 초기화 진행 |
|
41 |
- const dataReset = () => { |
|
42 |
- setUserName(""); |
|
43 |
- setGender(""); |
|
44 |
- setBrith(""); |
|
45 |
- setTelNum(""); |
|
46 |
- setHomeAddress(""); |
|
47 |
- setMedicineM(""); |
|
48 |
- setMedicineL(""); |
|
49 |
- setMedicineD(""); |
|
50 |
- setMedication(""); |
|
51 |
- setNote(""); |
|
52 |
- } |
|
53 |
- //-------- 변경되는 데이터 Handler 설정 --------// |
|
54 |
- const handleUserName = (e) => { |
|
55 |
- setUserName(e.target.value); |
|
56 |
- }; |
|
57 |
- const handleGender = (e) => { |
|
58 |
- setGender(e.target.value); |
|
59 |
- }; |
|
60 |
- const handleBrithday = (e) => { |
|
61 |
- setBrith(e.target.value); |
|
62 |
- }; |
|
63 |
- const handleTelNum = (e) => { |
|
64 |
- e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/^(\d{2,3})(\d{3,4})(\d{4})$/, `$1-$2-$3`); |
|
65 |
- setTelNum(e.target.value); |
|
66 |
- }; |
|
67 |
- const handleHomeAddress = (e) => { |
|
68 |
- setHomeAddress(e.target.value); |
|
69 |
- }; |
|
70 |
- const handleMedicineM = (e) => { |
|
71 |
- setMedicineM(e.target.checked); |
|
72 |
- }; |
|
73 |
- const handleMedicineL = (e) => { |
|
74 |
- setMedicineL(e.target.checked); |
|
75 |
- }; |
|
76 |
- const handleMedicineD = (e) => { |
|
77 |
- setMedicineD(e.target.checked); |
|
78 |
- }; |
|
79 |
- const handleMedication = (e) => { |
|
80 |
- setMedication(e.target.value); |
|
81 |
- }; |
|
82 |
- const handleNote = (e) => { |
|
83 |
- setNote(e.target.value); |
|
84 |
- }; |
|
27 |
+ // ------ 대상자 영역 클릭시 저장될 데이터 handler ------// |
|
85 | 28 |
const handleSelectUserCode = (e) => { |
86 | 29 |
console.log("e.target.value : ", e.target.value) |
87 | 30 |
setSelectUserCode(e.target.value); |
... | ... | @@ -90,68 +33,7 @@ |
90 | 33 |
console.log("e.target.value : ", e.target.value) |
91 | 34 |
setSelectUserData(e.target.value); |
92 | 35 |
}; |
93 |
- //-------- 등록 버튼 동작 수행 영역 시작 --------// |
|
94 |
- // 등록 버튼 클릭 시 수행 함수 |
|
95 |
- const InsertSenior = () => { |
|
96 |
- var insertBtn = confirm("등록하시겠습니까?"); |
|
97 |
- if (insertBtn) { |
|
98 |
- InsertUserData(); |
|
99 |
- alert("등록 되었습니다."); |
|
100 |
- dataReset(); |
|
101 |
- closeModal3(); |
|
102 |
- getSelectSeniorList(); |
|
103 |
- getSelectMySeniorList(); |
|
104 |
- } else { |
|
105 |
- return; |
|
106 |
- } |
|
107 | 36 |
|
108 |
- }; |
|
109 |
- // 대상자 정보 등록을 위한 함수 |
|
110 |
- const InsertUserData = () => { |
|
111 |
- fetch("/user/insertSeniorData.json", { |
|
112 |
- method: "POST", |
|
113 |
- headers: { |
|
114 |
- 'Content-Type': 'application/json; charset=UTF-8' |
|
115 |
- }, |
|
116 |
- body: JSON.stringify({ |
|
117 |
- user_name: userName, |
|
118 |
- user_gender: gender, |
|
119 |
- user_birth: brith, |
|
120 |
- user_phonenumber: telNum, |
|
121 |
- user_address: homeAddress, |
|
122 |
- agency_id: 'agency01', |
|
123 |
- government_id: 'government01', |
|
124 |
- user_code: '4', |
|
125 |
- }), |
|
126 |
- }).then((response) => response.json()).then((data) => { |
|
127 |
- console.log("대상자 정보 등록"); |
|
128 |
- InsertUserPillData(); |
|
129 |
- }).catch((error) => { |
|
130 |
- console.log('insertSeniorData() /user/insertSeniorData.json error : ', error); |
|
131 |
- }); |
|
132 |
- }; |
|
133 |
- // 대상자 약 복용 정보 등록을 위한 함수 |
|
134 |
- const InsertUserPillData = () => { |
|
135 |
- fetch("/user/insertSeniorMadication.json", { |
|
136 |
- method: "POST", |
|
137 |
- headers: { |
|
138 |
- 'Content-Type': 'application/json; charset=UTF-8' |
|
139 |
- }, |
|
140 |
- body: JSON.stringify({ |
|
141 |
- user_phonenumber: telNum, |
|
142 |
- breakfast_medication_check: medicineM, |
|
143 |
- lunch_medication_check: medicineL, |
|
144 |
- dinner_medication_check: medicineD, |
|
145 |
- medication_pill: medication, |
|
146 |
- senior_note: note, |
|
147 |
- }), |
|
148 |
- }).then((response) => response.json()).then((data) => { |
|
149 |
- console.log("약 정보 등록"); |
|
150 |
- }).catch((error) => { |
|
151 |
- console.log('InsertUserPillData() /user/insertSeniorMadication.json error : ', error); |
|
152 |
- }); |
|
153 |
- }; |
|
154 |
- //-------- 등록 버튼 동작 수행 영역 끝 --------// |
|
155 | 37 |
//select |
156 | 38 |
const getSelectSeniorList = () => { |
157 | 39 |
fetch("/user/selectUserList.json", { |
... | ... | @@ -165,9 +47,13 @@ |
165 | 47 |
}), |
166 | 48 |
}).then((response) => response.json()).then((data) => { |
167 | 49 |
const rowData = data; |
168 |
- console.log(data); |
|
169 |
- setSeniorList(rowData) |
|
170 |
- setUserTotal(rowData.length) |
|
50 |
+ if(addSenior || rowData.length !=data.length){ |
|
51 |
+ console.log(data); |
|
52 |
+ setSeniorList(rowData); |
|
53 |
+ setUserTotal(rowData.length); |
|
54 |
+ setAddSenior(false); |
|
55 |
+ } |
|
56 |
+ |
|
171 | 57 |
}).catch((error) => { |
172 | 58 |
console.log('getSelectSeniorList() /user/selectUserList.json error : ', error); |
173 | 59 |
}); |
... | ... | @@ -185,9 +71,12 @@ |
185 | 71 |
}), |
186 | 72 |
}).then((response) => response.json()).then((data) => { |
187 | 73 |
const rowData = data; |
188 |
- console.log(data); |
|
189 |
- setSeniorMyList(rowData) |
|
190 |
- setMyUserTotal(rowData.length) |
|
74 |
+ if(addSenior || rowData.length !=data.length){ |
|
75 |
+ console.log(data); |
|
76 |
+ setSeniorMyList(rowData); |
|
77 |
+ setMyUserTotal(rowData.length); |
|
78 |
+ setAddSenior(false); |
|
79 |
+ } |
|
191 | 80 |
}).catch((error) => { |
192 | 81 |
console.log('getSubjectMySelect() /user/selectMyUserList.json error : ', error); |
193 | 82 |
}); |
... | ... | @@ -198,38 +87,28 @@ |
198 | 87 |
const openModal = () => { |
199 | 88 |
setModalOpen(true); |
200 | 89 |
}; |
201 |
- const closeModal = () => { |
|
202 |
- setModalOpen(false); |
|
203 |
- }; |
|
204 |
- |
|
205 | 90 |
const [modalOpen2, setModalOpen2] = React.useState(false); |
206 | 91 |
const openModal2 = () => { |
207 | 92 |
setModalOpen2(true); |
208 |
- }; |
|
209 |
- const closeModal2 = () => { |
|
210 |
- setModalOpen2(false); |
|
211 | 93 |
}; |
212 | 94 |
const [modalOpen3, setModalOpen3] = React.useState(false); |
213 | 95 |
const openModal3 = () => { |
214 | 96 |
setModalOpen3(true); |
215 | 97 |
}; |
216 |
- const closeModal3 = () => { |
|
217 |
- setModalOpen3(false); |
|
218 |
- }; |
|
219 | 98 |
|
220 |
- const insertBtn = (id) => { |
|
221 |
- if (id == 2) { |
|
222 |
- return ( |
|
223 |
- <Button |
|
224 |
- className={"btn-small gray-btn"} |
|
225 |
- btnName={"등록"} |
|
226 |
- onClick={() => { |
|
227 |
- navigate("/SeniorInsert"); |
|
228 |
- }} |
|
229 |
- /> |
|
230 |
- ) |
|
231 |
- } |
|
232 |
- }; |
|
99 |
+ // const insertBtn = (id) => { |
|
100 |
+ // if (id == 2) { |
|
101 |
+ // return ( |
|
102 |
+ // <Button |
|
103 |
+ // className={"btn-small gray-btn"} |
|
104 |
+ // btnName={"등록"} |
|
105 |
+ // onClick={() => { |
|
106 |
+ // navigate("/SeniorInsert"); |
|
107 |
+ // }} |
|
108 |
+ // /> |
|
109 |
+ // ) |
|
110 |
+ // } |
|
111 |
+ // }; |
|
233 | 112 |
|
234 | 113 |
const thead1 = [ |
235 | 114 |
"No", |
... | ... | @@ -433,107 +312,10 @@ |
433 | 312 |
getSelectSeniorList(); |
434 | 313 |
getSelectMySeniorList(); |
435 | 314 |
|
436 |
- }, []) |
|
315 |
+ }, [addSenior]) |
|
437 | 316 |
return ( |
438 | 317 |
<main> |
439 |
- <Modal open={modalOpen3} close={closeModal3} header="대상자 등록"> |
|
440 |
- <div className="board-wrap"> |
|
441 |
- <SubTitle explanation={"회원 등록 시 ID는 연락처, 패스워드는 생년월일 8자리입니다."} className="margin-bottom" /> |
|
442 |
- <table className="margin-bottom2 senior-insert"> |
|
443 |
- {/* <tr> |
|
444 |
- <th>대상자등록번호</th> |
|
445 |
- <td colSpan={3} className="flex"> |
|
446 |
- <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다."/> |
|
447 |
- <Button |
|
448 |
- className={"btn-large gray-btn"} |
|
449 |
- btnName={"생성하기"} |
|
450 |
- /> |
|
451 |
- </td> |
|
452 |
- </tr> */} |
|
453 |
- <tr> |
|
454 |
- <th>이름</th> |
|
455 |
- <td> |
|
456 |
- <input type="text" value={userName} onChange={handleUserName} /> |
|
457 |
- </td> |
|
458 |
- <th>성별</th> |
|
459 |
- <td className="flex-start gender"> |
|
460 |
- <div className="flex-start"> |
|
461 |
- <input type="radio" name="genderSelect" value="남" onChange={handleGender} /> |
|
462 |
- <label for="gender">남</label> |
|
463 |
- </div> |
|
464 |
- <div className="flex-start"> |
|
465 |
- <input type="radio" name="genderSelect" value="여" onChange={handleGender} /> |
|
466 |
- <label for="gender">여</label> |
|
467 |
- </div> |
|
468 |
- </td> |
|
469 |
- </tr> |
|
470 |
- <tr> |
|
471 |
- <th>생년월일</th> |
|
472 |
- <td> |
|
473 |
- <div className="flex"> |
|
474 |
- <input type='date' value={brith} onChange={handleBrithday} /> |
|
475 |
- </div> |
|
476 |
- </td> |
|
477 |
- {/* <th>요양등급</th> |
|
478 |
- <td> |
|
479 |
- <input type="text" /> |
|
480 |
- </td> */} |
|
481 |
- |
|
482 |
- </tr> |
|
483 |
- <tr> |
|
484 |
- <th>연락처</th> |
|
485 |
- <td colSpan={3}> |
|
486 |
- <input type="text" maxLength="13" value={telNum} onChange={handleTelNum} /> |
|
487 |
- </td> |
|
488 |
- </tr> |
|
489 |
- <tr> |
|
490 |
- <th>주소</th> |
|
491 |
- <td colSpan={3}> |
|
492 |
- <input type="text" value={homeAddress} onChange={handleHomeAddress} /> |
|
493 |
- </td> |
|
494 |
- </tr> |
|
495 |
- <tr> |
|
496 |
- <th>필요 복약</th> |
|
497 |
- <td> |
|
498 |
- <div className="flex"> |
|
499 |
- <input type="checkbox" name="medicationSelect" checked={medicineM} onClick={(e) => { handleMedicineM(e) }} /><label for="medicationTime">아침</label> |
|
500 |
- <input type="checkbox" name="medicationSelect" checked={medicineL} onClick={(e) => { handleMedicineL(e) }} /><label for="medicationTime">점심</label> |
|
501 |
- <input type="checkbox" name="medicationSelect" checked={medicineD} onClick={(e) => { handleMedicineD(e) }} /><label for="medicationTime">저녁</label> |
|
502 |
- </div> |
|
503 |
- </td> |
|
504 |
- </tr> |
|
505 |
- <tr> |
|
506 |
- <th>복용중인 약</th> |
|
507 |
- <td colSpan={3}> |
|
508 |
- <textarea className="medicine" cols="30" rows="2" value={medication} onChange={handleMedication}></textarea> |
|
509 |
- </td> |
|
510 |
- </tr> |
|
511 |
- <tr> |
|
512 |
- <th>비고</th> |
|
513 |
- <td colSpan={3}> |
|
514 |
- <textarea className="note" cols="30" rows="2" value={note} onChange={handleNote}></textarea> |
|
515 |
- </td> |
|
516 |
- </tr> |
|
517 |
- |
|
518 |
- {/* <tr> |
|
519 |
- <th>기저질환</th> |
|
520 |
- <td colSpan={3}> |
|
521 |
- <textarea cols="30" rows="10"></textarea> |
|
522 |
- </td> |
|
523 |
- </tr> */} |
|
524 |
- </table> |
|
525 |
- <div className="btn-wrap flex-center"> |
|
526 |
- <Button |
|
527 |
- className={"btn-small gray-btn"} |
|
528 |
- btnName={"등록"} |
|
529 |
- onClick={() => { |
|
530 |
- InsertSenior(userName, gender, brith, telNum, homeAddress, note, medicineM, medicineL, medicineD) |
|
531 |
- }} |
|
532 |
- /> |
|
533 |
- </div> |
|
534 |
- </div> |
|
535 |
- </Modal> |
|
536 |
- |
|
318 |
+ <Modal_SeniorInsert open={modalOpen3} setModalOpen3={setModalOpen3} setAddSenior={setAddSenior} header="대상자 등록"/> |
|
537 | 319 |
<div className="tab-container"> |
538 | 320 |
<ul className="tab-menu flex-start"> |
539 | 321 |
{data.map((item) => ( |
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?