
--- client/views/pages/AppRoute.jsx
+++ client/views/pages/AppRoute.jsx
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 |
import Main_guardian from "./main/Main_guardian.jsx"; |
23 | 23 |
import Main_agency from "./main/Main_agency.jsx"; |
24 | 24 |
import Main from "./main/Main.jsx"; |
25 |
-import SeniorInsert from "./senior_management/SeniorEdit.jsx"; |
|
25 |
+import SeniorEdit from "./senior_management/SeniorEdit.jsx"; |
|
26 | 26 |
import SeniorSelectOne from "./senior_management/SeniorSelectOne.jsx"; |
27 | 27 |
import MedicineCareSelectOne from "./healthcare/medicinecare/MedicineCareSelectOne.jsx"; |
28 | 28 |
import TemperatureManagementSelectOne from "./healthcare/temperature/TemperatureManagementSelectOne.jsx"; |
... | ... | @@ -266,7 +266,7 @@ |
266 | 266 |
<Route path="/QuestionSelect" element={<QuestionSelect />}></Route> |
267 | 267 |
<Route path="/Main_agency" element={<Main_agency />}></Route> |
268 | 268 |
<Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
269 |
- <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
269 |
+ <Route path="/SeniorEdit/:seniorId" element={<SeniorEdit />}></Route> |
|
270 | 270 |
<Route path="/SeniorSelectOne/:seniorId" element={<SeniorSelectOne />}></Route> |
271 | 271 |
<Route |
272 | 272 |
path="/MedicineCareSelectOne" |
... | ... | @@ -329,7 +329,7 @@ |
329 | 329 |
<Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
330 | 330 |
<Route path="/QandAInsert" element={<QandAInsert />}></Route> |
331 | 331 |
<Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
332 |
- <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
332 |
+ <Route path="/SeniorEdit/:seniorId" element={<SeniorEdit />}></Route> |
|
333 | 333 |
<Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
334 | 334 |
<Route path="/Join" element={<Join />}></Route> |
335 | 335 |
<Route path="/Test" element={<Test />}></Route> |
... | ... | @@ -559,7 +559,7 @@ |
559 | 559 |
<Route path="/QandAConfirm" element={<QandAConfirm />}></Route> |
560 | 560 |
<Route path="/QandAInsert" element={<QandAInsert />}></Route> |
561 | 561 |
<Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route> |
562 |
- <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
562 |
+ <Route path="/SeniorEdit/:seniorId" element={<SeniorEdit />}></Route> |
|
563 | 563 |
<Route path="/AgencyInsert" element={<AgencyInsert />}></Route> |
564 | 564 |
<Route path="/Join" element={<Join />}></Route> |
565 | 565 |
</Routes> |
... | ... | @@ -628,8 +628,8 @@ |
628 | 628 |
|
629 | 629 |
<Route path="/Main_agency" element={<Main_agency />}></Route> |
630 | 630 |
<Route path="/UserAuthoriySelect_agency" element={<UserAuthoriySelect_agency />}></Route> |
631 |
- <Route path="/SeniorInsert" element={<SeniorInsert />}></Route> |
|
632 |
- <Route path="/SeniorSelectOne" element={<SeniorSelectOne />}></Route> |
|
631 |
+ <Route path="/SeniorEdit/:seniorId" element={<SeniorEdit />}></Route> |
|
632 |
+ <Route path="/SeniorSelectOne/:seniorId" element={<SeniorSelectOne />}></Route> |
|
633 | 633 |
<Route |
634 | 634 |
path="/MedicineCareSelectOne" |
635 | 635 |
element={<MedicineCareSelectOne />} |
--- client/views/pages/senior_management/SeniorEdit.jsx
+++ client/views/pages/senior_management/SeniorEdit.jsx
... | ... | @@ -3,18 +3,40 @@ |
3 | 3 |
import ContentTitle from "../../component/ContentTitle.jsx"; |
4 | 4 |
import { useNavigate } from "react-router"; |
5 | 5 |
import SubTitle from "../../component/SubTitle.jsx"; |
6 |
-import { useLocation } from 'react-router-dom'; |
|
6 |
+import { useParams } from "react-router"; |
|
7 | 7 |
|
8 |
-export default function SeniorInsert() { |
|
9 |
- const seniorInfo = useLocation(); |
|
10 |
- console.log(seniorInfo); |
|
11 |
- |
|
8 |
+export default function SeniorEdit() { |
|
12 | 9 |
const navigate = useNavigate(); |
10 |
+ let { seniorId } = useParams(); |
|
11 |
+ |
|
12 |
+ const [seniortOne, setSeniorOne] = React.useState([]); |
|
13 |
+ |
|
14 |
+ //-------- 상세페이지 선택된 대상자의 정보 불러오기 --------// |
|
15 |
+ const getSeniorDataOne = () => { |
|
16 |
+ fetch("/user/selectSeniorOne.json", { |
|
17 |
+ method: "POST", |
|
18 |
+ headers: { |
|
19 |
+ 'Content-Type': 'application/json; charset=UTF-8' |
|
20 |
+ }, |
|
21 |
+ body: JSON.stringify({ |
|
22 |
+ user_id: seniorId |
|
23 |
+ }), |
|
24 |
+ }).then((response) => response.json()).then((data) => { |
|
25 |
+ setSeniorOne(data[0]); |
|
26 |
+ setTelNum(data[0].user_phonenumber) |
|
27 |
+ setHomeAddress(data[0].user_address) |
|
28 |
+ setMedicineM(data[0].breakfast_medication_check) |
|
29 |
+ setMedicineL(data[0].lunch_medication_check) |
|
30 |
+ setMedicineD(data[0].dinner_medication_check) |
|
31 |
+ setMedication(data[0].medication_pill) |
|
32 |
+ setNote(data[0].user_phonenumber) |
|
33 |
+ |
|
34 |
+ }).catch((error) => { |
|
35 |
+ console.log('getSeniorDataOne() /user/selectSeniorOne.json error : ', error); |
|
36 |
+ }); |
|
37 |
+ }; |
|
13 | 38 |
|
14 | 39 |
//초기값 세팅 |
15 |
- const [userName, setUserName] = React.useState(""); |
|
16 |
- const [gender, setGender] = React.useState(""); |
|
17 |
- const [brith, setBrith] = React.useState(""); |
|
18 | 40 |
const [telNum, setTelNum] = React.useState(""); |
19 | 41 |
const [homeAddress, setHomeAddress] = React.useState(""); |
20 | 42 |
const [medicineM, setMedicineM] = React.useState(false); |
... | ... | @@ -24,15 +46,6 @@ |
24 | 46 |
const [note, setNote] = React.useState(""); |
25 | 47 |
|
26 | 48 |
//-------- 변경되는 데이터 Handler 설정 --------// |
27 |
- const handleUserName = (e) => { |
|
28 |
- setUserName(e.target.value); |
|
29 |
- }; |
|
30 |
- const handleGender = (e) => { |
|
31 |
- setGender(e.target.value); |
|
32 |
- }; |
|
33 |
- const handleBrithday = (e) => { |
|
34 |
- setBrith(e.target.value); |
|
35 |
- }; |
|
36 | 49 |
const handleTelNum = (e) => { |
37 | 50 |
e.target.value = e.target.value.replace(/[^0-9]/g, '').replace(/^(\d{2,3})(\d{3,4})(\d{4})$/, `$1-$2-$3`); |
38 | 51 |
setTelNum(e.target.value); |
... | ... | @@ -55,42 +68,41 @@ |
55 | 68 |
const handleNote = (e) => { |
56 | 69 |
setNote(e.target.value); |
57 | 70 |
}; |
58 |
- const handleSelectUserCode = (e) => { |
|
59 |
- console.log("e.target.value : ", e.target.value) |
|
60 |
- setSelectUserCode(e.target.value); |
|
61 |
- }; |
|
62 |
- const handleSelectUserData = (e) => { |
|
63 |
- console.log("e.target.value : ", e.target.value) |
|
64 |
- setSelectUserData(e.target.value); |
|
65 |
- }; |
|
66 | 71 |
|
67 |
- const seniorInsert = () => { |
|
68 |
- console.log("userName : ", userName); |
|
69 |
- console.log("gender : ", gender); |
|
70 |
- console.log("brith : ", brith); |
|
72 |
+ const updateSeniorData = () => { |
|
71 | 73 |
console.log("telNum : ", telNum); |
72 | 74 |
console.log("homeAddress : ", homeAddress); |
73 | 75 |
console.log("note : ", note); |
74 | 76 |
console.log("medicineM : ", medicineM); |
75 | 77 |
console.log("medicineL : ", medicineL); |
76 | 78 |
console.log("medicineD : ", medicineD); |
77 |
- // fetch("", { |
|
78 |
- // method: "POST", |
|
79 |
- // headers: { |
|
80 |
- // 'Content-Type': 'application/json; charset=UTF-8' |
|
81 |
- // }, |
|
82 |
- // body: JSON.stringify({ |
|
83 |
- // category: selectCategory, |
|
84 |
- // title: inputTitle, |
|
85 |
- // writer: writer, |
|
86 |
- // }), |
|
87 |
- // }).then((response) => response.json()).then((data) => { |
|
88 |
- // alert("등록 되었습니다."); |
|
89 |
- // }).catch((error) => { |
|
90 |
- // console.log('selectNotice() /Notice/selectNotice.json error : ', error); |
|
91 |
- // }); |
|
79 |
+ fetch("/user/updateSeniorMadication.json", { |
|
80 |
+ method: "POST", |
|
81 |
+ headers: { |
|
82 |
+ 'Content-Type': 'application/json; charset=UTF-8' |
|
83 |
+ }, |
|
84 |
+ body: JSON.stringify({ |
|
85 |
+ user_id: seniorId, |
|
86 |
+ user_phonenumber: telNum, |
|
87 |
+ user_address: homeAddress, |
|
88 |
+ breakfast_medication_check: medicineM, |
|
89 |
+ lunch_medication_check: medicineL, |
|
90 |
+ dinner_medication_check: medicineD, |
|
91 |
+ medication_pill: medication , |
|
92 |
+ senior_note: note , |
|
93 |
+ }), |
|
94 |
+ }).then((response) => response.json()).then((data) => { |
|
95 |
+ alert("수정 되었습니다."); |
|
96 |
+ navigate(`/SeniorSelectOne/${seniorId}`); |
|
97 |
+ }).catch((error) => { |
|
98 |
+ console.log('updateSeniorData() /user/updateSeniorMadication.json error : ', error); |
|
99 |
+ }); |
|
92 | 100 |
}; |
93 |
- |
|
101 |
+ |
|
102 |
+ React.useEffect(() => { |
|
103 |
+ getSeniorDataOne(); |
|
104 |
+ |
|
105 |
+ }, []) |
|
94 | 106 |
return ( |
95 | 107 |
<main> |
96 | 108 |
<div className="board-wrap"> |
... | ... | @@ -107,34 +119,26 @@ |
107 | 119 |
</td> |
108 | 120 |
</tr> */} |
109 | 121 |
<tr> |
110 |
- <th>이름</th> |
|
122 |
+ <th>아이디</th> |
|
111 | 123 |
<td> |
112 |
- <input type="text" value={userName} onChange={handleUserName} /> |
|
113 |
- </td> |
|
114 |
- <th>성별</th> |
|
115 |
- <td className="flex-start gender"> |
|
116 |
- <div className="flex-start"> |
|
117 |
- <input type="radio" name="genderSelect" value="남" onChange={handleGender} /> |
|
118 |
- <label for="gender">남</label> |
|
119 |
- </div> |
|
120 |
- <div className="flex-start"> |
|
121 |
- <input type="radio" name="genderSelect" value="여" onChange={handleGender} /> |
|
122 |
- <label for="gender">여</label> |
|
123 |
- </div> |
|
124 |
+ <span>{seniortOne.user_id}</span> |
|
124 | 125 |
</td> |
125 | 126 |
</tr> |
126 | 127 |
<tr> |
127 |
- <th>생년월일</th> |
|
128 |
+ <th>이름</th> |
|
128 | 129 |
<td> |
129 |
- <div className="flex"> |
|
130 |
- <input type='date' value={brith} onChange={handleBrithday} /> |
|
131 |
- </div> |
|
130 |
+ <span>{seniortOne.user_name}</span> |
|
132 | 131 |
</td> |
133 |
- {/* <th>요양등급</th> |
|
132 |
+ <th>성별</th> |
|
134 | 133 |
<td> |
135 |
- <input type="text" /> |
|
136 |
- </td> */} |
|
137 |
- |
|
134 |
+ <span>{seniortOne.user_gender}</span> |
|
135 |
+ </td> |
|
136 |
+ </tr> |
|
137 |
+ <tr> |
|
138 |
+ <th>생년월일</th> |
|
139 |
+ <td> |
|
140 |
+ <span>{seniortOne.user_birth}</span> |
|
141 |
+ </td> |
|
138 | 142 |
</tr> |
139 | 143 |
<tr> |
140 | 144 |
<th>연락처</th> |
... | ... | @@ -189,7 +193,7 @@ |
189 | 193 |
className={"btn-small gray-btn"} |
190 | 194 |
btnName={"수정"} |
191 | 195 |
onClick={() => { |
192 |
- InsertSenior(userName, gender, brith, telNum, homeAddress, note, medicineM, medicineL, medicineD) |
|
196 |
+ updateSeniorData(); |
|
193 | 197 |
}} |
194 | 198 |
/> |
195 | 199 |
</div> |
--- client/views/pages/senior_management/SeniorSelectOne.jsx
+++ client/views/pages/senior_management/SeniorSelectOne.jsx
... | ... | @@ -43,6 +43,12 @@ |
43 | 43 |
<div> |
44 | 44 |
<table className="margin-bottom senior-detail"> |
45 | 45 |
<tbody> |
46 |
+ <tr> |
|
47 |
+ <th>아이디</th> |
|
48 |
+ <td> |
|
49 |
+ <span>{seniortOne.user_id}</span> |
|
50 |
+ </td> |
|
51 |
+ </tr> |
|
46 | 52 |
<tr> |
47 | 53 |
<th>이름</th> |
48 | 54 |
<td> |
... | ... | @@ -104,7 +110,7 @@ |
104 | 110 |
className={"btn-large green-btn"} |
105 | 111 |
btnName={"수정"} |
106 | 112 |
onClick={() => { |
107 |
- navigate("/Seniorinsert"); |
|
113 |
+ navigate(`/SeniorEdit/${seniorId}`); |
|
108 | 114 |
}} |
109 | 115 |
/> |
110 | 116 |
</div> |
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?