Showing
3 changed files
with
31 additions
and
9 deletions
... | @@ -65,4 +65,11 @@ export default { | ... | @@ -65,4 +65,11 @@ export default { |
65 | }, | 65 | }, |
66 | }); | 66 | }); |
67 | }, | 67 | }, |
68 | + prescribeMedicine : (token : RecoilState<any>, Data : any) => { | ||
69 | + return client.post('/doctor/prescribe', Data, { | ||
70 | + headers : { | ||
71 | + Authorization : token, | ||
72 | + }, | ||
73 | + }); | ||
74 | + }, | ||
68 | }; | 75 | }; |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -10,11 +10,8 @@ import * as Alert from '../../../util/alertMessage'; | ... | @@ -10,11 +10,8 @@ import * as Alert from '../../../util/alertMessage'; |
10 | 10 | ||
11 | import { doctorApi, medicineApi } from '../../../api'; | 11 | import { doctorApi, medicineApi } from '../../../api'; |
12 | 12 | ||
13 | -import QRCode from 'qrcode'; | ||
14 | 13 | ||
15 | 14 | ||
16 | -//toDo : Generate QR Code By Medicine Id | ||
17 | - | ||
18 | type DoctorMenuProps = RouteComponentProps | 15 | type DoctorMenuProps = RouteComponentProps |
19 | 16 | ||
20 | const DoctorMenuContainer = (props : DoctorMenuProps) => { | 17 | const DoctorMenuContainer = (props : DoctorMenuProps) => { |
... | @@ -264,19 +261,36 @@ const DoctorMenuContainer = (props : DoctorMenuProps) => { | ... | @@ -264,19 +261,36 @@ const DoctorMenuContainer = (props : DoctorMenuProps) => { |
264 | }; | 261 | }; |
265 | 262 | ||
266 | const onPrescribeSubmit = async() => { | 263 | const onPrescribeSubmit = async() => { |
264 | + const onPrescribeMedicine = async () => { | ||
265 | + setLoading(true); | ||
266 | + try { | ||
267 | + const res = await doctorApi.prescribeMedicine(token, { | ||
268 | + patientId : patientDetail.profile.userId, | ||
269 | + medicineId : prescribeMedicine.medicineId, | ||
270 | + dosage, | ||
271 | + }); | ||
272 | + | ||
273 | + if(res.statusText === 'OK') { | ||
274 | + setQrcodeUrl(res.data.qrCode); | ||
275 | + setLoading(false); | ||
276 | + } | ||
277 | + } catch(e : any) { | ||
278 | + setLoading(false); | ||
279 | + Alert.onError(e.response.data.error, () => null); | ||
280 | + } | ||
281 | + }; | ||
282 | + | ||
267 | Alert.onCheck(`${prescribeMedicine.name}(일 복용량:${dosage})\n을 처방하시겠습니까?`, async () => { | 283 | Alert.onCheck(`${prescribeMedicine.name}(일 복용량:${dosage})\n을 처방하시겠습니까?`, async () => { |
268 | - setQrcodeUrl(await QRCode.toDataURL(`${prescribeMedicine.name}/${prescribeMedicine.medicineId}/${dosage}/${userId}`, { | 284 | + await onPrescribeMedicine(); |
269 | - type : "image/png", | ||
270 | - color : { dark : '#337DFF', light : '#FFF' }, | ||
271 | - })); | ||
272 | Alert.onSuccess('처방 정보가 생성 되었습니다.', () => onSetNextStepPrescribe()); | 285 | Alert.onSuccess('처방 정보가 생성 되었습니다.', () => onSetNextStepPrescribe()); |
273 | }, () => null); | 286 | }, () => null); |
274 | }; | 287 | }; |
275 | 288 | ||
276 | const onPrintQrcode = async(divId : string) => { | 289 | const onPrintQrcode = async(divId : string) => { |
277 | const printContent : any = document.getElementById(divId); | 290 | const printContent : any = document.getElementById(divId); |
278 | - const windowOpen : any = window.open('', 'PrintQRCode'); | 291 | + const windowOpen : any = window.open('', '_blank'); |
279 | 292 | ||
293 | + //toDo : 현재 인증되지 않은 사용자(=http)이기 때문에, GCS에서 signed url을 불러와도 만료되어, 이미지가 정상 표시 안됨 : 해결 필요 | ||
280 | windowOpen.document.writeln(printContent.innerHTML); | 294 | windowOpen.document.writeln(printContent.innerHTML); |
281 | windowOpen.document.close(); | 295 | windowOpen.document.close(); |
282 | windowOpen.focus(); | 296 | windowOpen.focus(); | ... | ... |
... | @@ -242,7 +242,8 @@ const DoctorMenuPresenter = (props : DoctorMenuProps) => { | ... | @@ -242,7 +242,8 @@ const DoctorMenuPresenter = (props : DoctorMenuProps) => { |
242 | </styled.MedicineQRCodeInfo> | 242 | </styled.MedicineQRCodeInfo> |
243 | { | 243 | { |
244 | props.qrcodeUrl ? | 244 | props.qrcodeUrl ? |
245 | - <styled.MedicineQRCode src = {props.qrcodeUrl}/> : null | 245 | + <styled.MedicineQRCode |
246 | + src = {props.qrcodeUrl}/> : null | ||
246 | } | 247 | } |
247 | </styled.MedicineQRCodeWrapper> | 248 | </styled.MedicineQRCodeWrapper> |
248 | } | 249 | } | ... | ... |
-
Please register or login to post a comment