import React from "react"; import { useNavigate, useLocation } from "react-router"; import { useSelector } from "react-redux"; import SubTitle from "../../component/SubTitle.jsx"; import Modal from "../../component/Modal.jsx"; import DetailTitle from "../../component/DetailTitle.jsx"; import Pagination from "../../component/Pagination.jsx"; import CommonFile from "../../component/file/CommonFile.jsx"; import CommonUtil from "../../../resources/js/CommonUtil.js"; export default function UserAuthoriySelect() { const navigate = useNavigate(); const location = useLocation(); //전역 변수 저장 객체 const state = useSelector((state) => { return state }); const defaultUserId = CommonUtil.isEmpty(state.loginUser) ? null : state.loginUser['user_id']; //검색(엔터) const searchingEnter = (key) => { if (key == 'Enter') { searching(); } else { return; } } //검색 const searching = () => { if (CommonUtil.isEmpty(state.loginUser) == false && state.loginUser['authority'] == 'ROLE_AGENCY' && isMySenior) { senior.search['agent_id'] = state.loginUser['user_id']; } else { senior.search['agent_id'] = null; } setSenior({ ...senior }); seniorSelectList(1); } const [isMySenior, setIsMySenior] = React.useState(false); React.useEffect(() => { searching(); }, [isMySenior]) //보호사(간호사)의 돌봄 대상자(시니어) const [senior, setSenior] = React.useState({ seniorList: [], seniorListCount: 0, search: { 'government_id': CommonUtil.isEmpty(state.loginUser) ? null : state.loginUser['government_id'], 'agency_id': CommonUtil.isEmpty(state.loginUser) ? null : state.loginUser['agency_id'], 'searchType': null, 'searchText': null, 'currentPage': 1, 'perPage': 10, } }); //보호사(간호사)의 돌봄 대상자(시니어) 목록 조회 const seniorSelectList = (currentPage) => { senior.search.currentPage = CommonUtil.isEmpty(currentPage) ? 1 : currentPage; fetch("/user/seniorSelectList.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(senior.search), }).then((response) => response.json()).then((data) => { data.search = senior.search; console.log("돌봄 대상자(시니어) 목록 조회 : ", data); setSenior(data); }).catch((error) => { console.log('seniorSelectList() /user/seniorSelectList.json error : ', error); }); } //현재 선택한 대상자 정보 const [targetSenior, setTargetSenior] = React.useState({ 'senior_id': null }); //문진표 const [modalOpen, setModalOpen] = React.useState(false); const openModal = (senior) => { targetSenior['senior_id'] = senior['senior_id']; setTargetSenior(senior); questionnaireSelectList(); setModalOpen(true); }; const closeModal = () => { setTargetSenior({ 'senior_id': null }); setModalOpen(false); }; //내원기록 const [modalOpen2, setModalOpen2] = React.useState(false); const openModal2 = (senior) => { targetSenior['senior_id'] = senior['senior_id']; setTargetSenior(senior); hospitalMedicalRecordSelectList(); setModalOpen2(true); }; const closeModal2 = () => { setTargetSenior({ 'senior_id': null }); setModalOpen2(false); }; //심전도 const [modalOpen3, setModalOpen3] = React.useState(false); const openModal3 = (senior) => { targetSenior['senior_id'] = senior['senior_id']; setTargetSenior(senior); ecgSelectList(); setModalOpen3(true); }; const closeModal3 = () => { setTargetSenior({ 'senior_id': null }); setModalOpen3(false); }; //혈압 const [modalOpen4, setModalOpen4] = React.useState(false); const openModal4 = (senior) => { targetSenior['senior_id'] = senior['senior_id']; setTargetSenior(senior); bloodPressureSelectList(); setModalOpen4(true); }; const closeModal4 = () => { setTargetSenior({ 'senior_id': null }); setModalOpen4(false); }; /****************** 문진표 (시작) ******************/ const questionnaireInit = { 'senior_id': null, 'questionnaire_record_idx': null, 'weight_change_amount': 0, 'past_history': null, 'agent_id': defaultUserId, 'medical_record_idx': null, 'smoke_type': false, 'no_smoke_period': null, 'smoke_period': null, 'daily_smoke_amount': null, 'drink_type': false, 'weekly_drink_amount': null, 'onetime_alcoholic_kind': null, 'onetime_bottle_amount': null, 'onetime_cup_amount': null, 'exercise_type': false, 'weekly_exercise_amount': null, 'onetime_exercise_hour': null, 'onetime_exercise_minute': null, 'onetime_exercise_kind': null, 'medication_pill': '', 'medication_pill_etc': '', }; //문진표 정보 const [questionnaire, setQuestionnaire] = React.useState({ ...questionnaireInit }); const questionnaireRef = React.useRef({ ...questionnaireInit }); //문진표 등록 const questionnaireInsert = () => { questionnaire['senior_id'] = targetSenior['senior_id']; questionnaire['agent_id'] = defaultUserId; setQuestionnaire({ ...questionnaire }); fetch("/hospital/questionnaireInsert.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(questionnaire), }).then((response) => response.json()).then((data) => { console.log("문진표 등록 결과(건수) : ", data); if (data > 0) { alert("저장완료"); closeModal(); } else { alert("저장에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('questionnaireInsert() /hospital/questionnaireInsert.json error : ', error); }); } //문진표 수정 const questionnaireUpdate = () => { questionnaire['senior_id'] = targetSenior['senior_id']; questionnaire['agent_id'] = defaultUserId; setQuestionnaire({ ...questionnaire }); fetch("/hospital/questionnaireUpdate.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(questionnaire), }).then((response) => response.json()).then((data) => { console.log("문진표 수정 결과(건수) : ", data); if (data > 0) { alert("저장완료"); closeModal(); } else { alert("저장에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('questionnaireUpdate() /hospital/questionnaireUpdate.json error : ', error); }); } //문진표 목록 조회 const questionnaireSelectList = () => { fetch("/hospital/questionnaireSelectList.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(targetSenior), }).then((response) => response.json()).then((data) => { console.log("문진표 목록 조회 결과(건수) : ", data); if (CommonUtil.isEmpty(data.questionnaireList) == false) { let item = data.questionnaireList[0];//최신순으로 가지고오기 때문에, 0 인텍스가 젤 최신 if (CommonUtil.isEmpty(item['medication_pill'])) { item['medication_pill'] = ''; } else { const startCheckWord = '기타「'; const endCheckWord = '」'; if (item['medication_pill'].indexOf(startCheckWord) > -1) { let startIndex = item['medication_pill'].indexOf(startCheckWord); let lastIndex = item['medication_pill'].lastIndexOf(endCheckWord); console.log("000000 item['medication_pill_etc'] : ", item['medication_pill_etc'], "item['medication_pill'] : ", item['medication_pill']); item['medication_pill_etc'] = item['medication_pill'].substring(startIndex + startCheckWord.length, lastIndex); let medicationPillFront = item['medication_pill'].substring(0, startIndex + startCheckWord.length); let medicationPillBack = item['medication_pill'].substring(lastIndex); item['medication_pill'] = medicationPillFront + medicationPillBack; console.log("333333 item['medication_pill_etc'] : ", item['medication_pill_etc'], "item['medication_pill'] : ", item['medication_pill']); } else { item['medication_pill_etc'] = ''; } } setQuestionnaire(item); } }).catch((error) => { console.log('questionnaireSelectList() /hospital/questionnaireSelectList.json error : ', error); }); } /****************** 문진표 (종료) ******************/ /****************** 병원 진료 기록 (시작) ******************/ const hospitalMedicalRecordInit = { 'senior_id': null, 'medical_record_idx': null, 'medical_date': CommonUtil.getDate(), 'medical_reason': '', 'medical_content': '', 'agent_id': defaultUserId }; //병원 진료 기록 정보 const [hospitalMedicalRecord, setHospitalMedicalRecord] = React.useState({ ...hospitalMedicalRecordInit }); const hospitalMedicalRecordRef = React.useRef({ ...hospitalMedicalRecordInit }); //병원 진료 기록 유효성 검사 const hospitalMedicalRecordValidation = () => { const target = hospitalMedicalRecord; const targetRef = hospitalMedicalRecordRef; if (CommonUtil.isEmpty(target['medical_date']) == true) { targetRef.current['medical_date'].focus(); alert("진료 일자를 선택해 주세요."); return false; } if (CommonUtil.isEmpty(target['medical_reason']) == true) { targetRef.current['medical_reason'].focus(); alert("진료 사유를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['medical_content']) == true) { targetRef.current['medical_content'].focus(); alert("진료 내용을 입력해 주세요."); return false; } return true; } //병원 진료 기록 등록 const hospitalMedicalRecordInsert = () => { if (hospitalMedicalRecordValidation() == false) { return; } hospitalMedicalRecord['senior_id'] = targetSenior['senior_id']; hospitalMedicalRecord['agent_id'] = defaultUserId; setHospitalMedicalRecord({ ...hospitalMedicalRecord }); fetch("/hospital/hospitalMedicalRecordInsert.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(hospitalMedicalRecord), }).then((response) => response.json()).then((data) => { console.log("병원 진료 기록 등록 결과(건수) : ", data); if (data > 0) { setHospitalMedicalRecordInit(); hospitalMedicalRecordSelectList(); //closeModal2(); alert("등록완료"); } else { alert("등록에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('hospitalMedicalRecordInsert() /hospital/hospitalMedicalRecordInsert.json error : ', error); }); } //병원 진료 기록 수정 const hospitalMedicalRecordUpdate = () => { if (hospitalMedicalRecordValidation() == false) { return; } hospitalMedicalRecord['senior_id'] = targetSenior['senior_id']; hospitalMedicalRecord['agent_id'] = defaultUserId; setHospitalMedicalRecord({ ...hospitalMedicalRecord }); fetch("/hospital/hospitalMedicalRecordUpdate.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(hospitalMedicalRecord), }).then((response) => response.json()).then((data) => { console.log("병원 진료 기록 수정 결과(건수) : ", data); if (data > 0) { setHospitalMedicalRecordInit(); hospitalMedicalRecordSelectList(); //closeModal2(); alert("수정완료"); } else { alert("수정에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('hospitalMedicalRecordUpdate() /hospital/hospitalMedicalRecordUpdate.json error : ', error); }); } //병원 진료 기록 삭제 const hospitalMedicalRecordDelete = () => { if (confirm('진료 기록을 삭제하시겠습니까?') == false) { return; } fetch("/hospital/hospitalMedicalRecordDelete.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(hospitalMedicalRecord), }).then((response) => response.json()).then((data) => { console.log("병원 진료 기록 삭제 결과(건수) : ", data); if (data > 0) { setHospitalMedicalRecordInit(); hospitalMedicalRecordSelectList(); //closeModal2(); alert("삭제완료"); } else { alert("삭제에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('hospitalMedicalRecordDelete() /hospital/hospitalMedicalRecordDelete.json error : ', error); }); } //초기화 취소 const setHospitalMedicalRecordInit = () => { setHospitalMedicalRecord({ ...hospitalMedicalRecordInit }); } //병원 진료 기록 정보 const [hospitalMedicalRecordList, setHospitalMedicalRecordList] = React.useState({ hospitalMedicalRecordList: [], hospitalMedicalRecordListCount: 0, search: { currentPage: 1, perPage: 5 } }); //병원 진료 기록 목록 조회 const hospitalMedicalRecordSelectList = (currentPage) => { hospitalMedicalRecordList.search.currentPage = CommonUtil.isEmpty(currentPage) ? 1 : currentPage; hospitalMedicalRecordList.search['senior_id'] = targetSenior['senior_id']; setHospitalMedicalRecordList({ ...hospitalMedicalRecordList }); fetch("/hospital/hospitalMedicalRecordSelectList.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(hospitalMedicalRecordList.search), }).then((response) => response.json()).then((data) => { console.log("병원 진료 기록 목록 조회 결과(건수) : ", data); data.search = hospitalMedicalRecordList.search; setHospitalMedicalRecordList(data); }).catch((error) => { console.log('hospitalMedicalRecordSelectList() /hospital/hospitalMedicalRecordSelectList.json error : ', error); }); } /****************** 병원 진료 기록 (종료) ******************/ /****************** 심전도 (시작) ******************/ const ecgInit = { 'senior_id': null, 'ecg_record_idx': null, 'bradycardia_count': 0, 'tachycardia_count': 0, 'max_heart_rate': 0.0, 'min_heart_rate': 0.0, 'abnormal_heart_rate': 0.0, 'average_heart_rate': 0.0, 'max_rr': 0.0, 'min_rr': 0.0, 'average_rr': 0.0, 'ecg_reading_date': CommonUtil.getDate(), 'ecg_finding_type': '', 'ecg_finding_content': '', 'agent_id': defaultUserId, 'medical_record_idx': null, 'common_group_file_idx': null, commonFileList: [],//심전도 업로드 파일 목록 isEdit: false,//직접 수정일 때, true (수정 or 등록 상관없음); }; //심전도 정보 const [ecg, setEcg] = React.useState({ ...ecgInit }); const ecgRef = React.useRef({ ...ecgInit }); //심전도 유효성 검사 const ecgValidation = () => { const target = ecg; const targetRef = ecgRef; if (CommonUtil.isEmpty(target['ecg_reading_date']) == true) { targetRef.current['ecg_reading_date'].focus(); alert("판독 소견 측정 일자를 선택해 주세요."); return false; } if (CommonUtil.isEmpty(target['ecg_finding_type']) == true) { targetRef.current['ecg_finding_type'].focus(); alert("판독 소견 측정 종류를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['ecg_finding_content']) == true) { targetRef.current['ecg_finding_content'].focus(); alert("판독 소견 측정 내용을 입력해 주세요."); return false; } //파일 입력 if (target.isEdit == false) { if (CommonUtil.isEmpty(target['commonFileList']) == true) { //targetRef.current['commonFileList'].focus(); alert("심전도 측정 파일을 올려주세요."); return false; } } else {//직접 입력 if (CommonUtil.isEmpty(target['bradycardia_count']) == true) { targetRef.current['bradycardia_count'].focus(); alert("서맥 횟수를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['tachycardia_count']) == true) { targetRef.current['tachycardia_count'].focus(); alert("빈맥 횟수 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['max_heart_rate']) == true) { targetRef.current['average_heart_rate'].focus(); alert("최대 심박수를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['min_heart_rate']) == true) { targetRef.current['average_heart_rate'].focus(); alert("최소 심박수를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['average_heart_rate']) == true) { targetRef.current['average_heart_rate'].focus(); alert("평균 심박수를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['abnormal_heart_rate']) == true) { targetRef.current['abnormal_heart_rate'].focus(); alert("이상 심박수를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['max_rr']) == true) { targetRef.current['max_rr'].focus(); alert("최대 R-R를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['min_rr']) == true) { targetRef.current['min_rr'].focus(); alert("최소 R-R를 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['average_rr']) == true) { targetRef.current['average_rr'].focus(); alert("평균 R-R를 입력해 주세요."); return false; } } return true; } //심전도 등록 const ecgInsert = () => { if (ecgValidation() == false) { return; } ecg['senior_id'] = targetSenior['senior_id']; ecg['agent_id'] = defaultUserId; setEcg({ ...ecg }); fetch("/hospital/ecgInsert.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(ecg), }).then((response) => response.json()).then((data) => { console.log("심전도 등록 결과(건수) : ", data); if (data > 0) { setEcgInit(); ecgSelectList(); //closeModal3(); alert("등록완료"); } else { alert("등록에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('ecgInsert() /hospital/ecgInsert.json error : ', error); }); } //심전도 수정 const ecgUpdate = () => { if (ecgValidation() == false) { return; } ecg['senior_id'] = targetSenior['senior_id']; ecg['agent_id'] = defaultUserId; setEcg({ ...ecg }); fetch("/hospital/ecgUpdate.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(ecg), }).then((response) => response.json()).then((data) => { console.log("심전도 수정 결과(건수) : ", data); if (data > 0) { setEcgInit(); ecg.commonFileList = []; setEcg({ ...ecg }); ecgSelectList(); //closeModal3(); alert("수정완료"); } else { alert("수정에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('ecgUpdate() /hospital/ecgUpdate.json error : ', error); }); } //심전도 삭제 const ecgDelete = () => { if (confirm('심전도 판독 소견을 삭제하시겠습니까?') == false) { return; } fetch("/hospital/ecgDelete.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(ecg), }).then((response) => response.json()).then((data) => { console.log("심전도 삭제 결과(건수) : ", data); if (data > 0) { setEcgInit(); ecg.commonFileList = []; setEcg({ ...ecg }); ecgSelectList(); //closeModal3(); alert("삭제완료"); } else { alert("삭제에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('ecgDelete() /hospital/ecgDelete.json error : ', error); }); } //초기화 취소 const setEcgInit = () => { setEcg({ ...ecgInit }); } //심전도 정보 const [ecgList, setEcgList] = React.useState({ ecgList: [], ecgListCount: 0, search: { currentPage: 1, perPage: 5 } }); //심전도 목록 조회 const ecgSelectList = (currentPage) => { ecgList.search.currentPage = CommonUtil.isEmpty(currentPage) ? 1 : currentPage; ecgList.search['senior_id'] = targetSenior['senior_id']; setEcgList({ ...ecgList }); fetch("/hospital/ecgSelectList.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(ecgList.search), }).then((response) => response.json()).then((data) => { console.log("심전도 목록 조회 결과(건수) : ", data); data.search = ecgList.search; setEcgList(data); }).catch((error) => { console.log('ecgSelectList() /hospital/ecgSelectList.json error : ', error); }); } /****************** 심전도 기록 (종료) ******************/ /****************** 혈압 (시작) ******************/ const bloodPressureInit = { 'senior_id': null, 'blood_pressure_record_idx': null, 'max_blood_pressure': null, 'min_blood_pressure': null, 'pulse_rate': null, 'medical_record_idx': null, 'blood_pressure_record_date': CommonUtil.getDate(), 'agent_id': defaultUserId }; //혈압 정보 const [bloodPressure, setBloodPressure] = React.useState({ ...bloodPressureInit }); const bloodPressureRef = React.useRef({ ...bloodPressureInit }); //혈압 유효성 검사 const bloodPressureValidation = () => { const target = bloodPressure; const targetRef = bloodPressureRef; if (CommonUtil.isEmpty(target['blood_pressure_record_date']) == true) { targetRef.current['blood_pressure_record_date'].focus(); alert("진료 일자를 선택해 주세요."); return false; } if (CommonUtil.isEmpty(target['max_blood_pressure']) == true) { targetRef.current['max_blood_pressure'].focus(); alert("최고 혈압을 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['min_blood_pressure']) == true) { targetRef.current['min_blood_pressure'].focus(); alert("최저 혈압을 입력해 주세요."); return false; } if (CommonUtil.isEmpty(target['pulse_rate']) == true) { targetRef.current['pulse_rate'].focus(); alert("맥박수를 입력해 주세요."); return false; } return true; } //혈압 등록 const bloodPressureInsert = () => { if (bloodPressureValidation() == false) { return; } bloodPressure['senior_id'] = targetSenior['senior_id']; bloodPressure['agent_id'] = defaultUserId; setBloodPressure({ ...bloodPressure }); fetch("/hospital/bloodPressureInsert.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(bloodPressure), }).then((response) => response.json()).then((data) => { console.log("혈압 등록 결과(건수) : ", data); if (data > 0) { setBloodPressureInit(); bloodPressureSelectList(); //closeModal2(); alert("등록완료"); } else { alert("등록에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('bloodPressureInsert() /hospital/bloodPressureInsert.json error : ', error); }); } //혈압 수정 const bloodPressureUpdate = () => { if (bloodPressureValidation() == false) { return; } bloodPressure['senior_id'] = targetSenior['senior_id']; bloodPressure['agent_id'] = defaultUserId; setBloodPressure({ ...bloodPressure }); fetch("/hospital/bloodPressureUpdate.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(bloodPressure), }).then((response) => response.json()).then((data) => { console.log("혈압 수정 결과(건수) : ", data); if (data > 0) { setBloodPressureInit(); bloodPressureSelectList(); //closeModal2(); alert("수정완료"); } else { alert("수정에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('bloodPressureUpdate() /hospital/bloodPressureUpdate.json error : ', error); }); } //혈압 삭제 const bloodPressureDelete = () => { if (confirm('혈압 측정 정보를 삭제하시겠습니까?') == false) { return; } fetch("/hospital/bloodPressureDelete.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(bloodPressure), }).then((response) => response.json()).then((data) => { console.log("혈압 삭제 결과(건수) : ", data); if (data > 0) { setBloodPressureInit(); bloodPressureSelectList(); //closeModal2(); alert("삭제완료"); } else { alert("삭제에 실패하였습니다. 관리자에게 문의바랍니다."); } }).catch((error) => { console.log('bloodPressureDelete() /hospital/bloodPressureDelete.json error : ', error); }); } //초기화 취소 const setBloodPressureInit = () => { setBloodPressure({ ...bloodPressureInit }); } //혈압 정보 const [bloodPressureList, setBloodPressureList] = React.useState({ bloodPressureList: [], bloodPressureListCount: 0, search: { currentPage: 1, perPage: 5 } }); //혈압 목록 조회 const bloodPressureSelectList = (currentPage) => { bloodPressureList.search.currentPage = CommonUtil.isEmpty(currentPage) ? 1 : currentPage; bloodPressureList.search['senior_id'] = targetSenior['senior_id']; setBloodPressureList({ ...bloodPressureList }); fetch("/hospital/bloodPressureSelectList.json", { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8' }, body: JSON.stringify(bloodPressureList.search), }).then((response) => response.json()).then((data) => { console.log("혈압 목록 조회 결과(건수) : ", data); data.search = bloodPressureList.search; setBloodPressureList(data); }).catch((error) => { console.log('bloodPressureSelectList() /hospital/bloodPressureSelectList.json error : ', error); }); } /****************** 혈압 (종료) ******************/ React.useEffect(() => { searching(); }, []); //현재 탭 Index const [tabIndex, setTabIndex] = React.useState(0); //탭 초기화 const tab = [{ title: `문진표관리`, content: (
{senior.seniorList.map((item, idx) => { return ( ) })} {CommonUtil.isEmpty(senior.seniorList) ? : null}
No 소속기관명 이름 생년월일 성별 연락처 문진표관리 내원기록관리
{senior.seniorListCount - idx - (senior.search.currentPage - 1) * senior.search.perPage} {item['agency_name']} {item['user_name']} {item['user_birth']} {item['user_gender']} {item['user_phonenumber']}
조회된 데이터가 없습니다
) }, { title: `심전도관리`, content: (
{senior.seniorList.map((item, idx) => { return ( ) })} {CommonUtil.isEmpty(senior.seniorList) ? : null}
No 소속기관명 이름 생년월일 성별 연락처 심전도관리
{senior.seniorListCount - idx - (senior.search.currentPage - 1) * senior.search.perPage} {item['agency_name']} {item['user_name']} {item['user_birth']} {item['user_gender']} {item['user_phonenumber']}
조회된 데이터가 없습니다
) }, { title: `혈압관리`, content: (
{senior.seniorList.map((item, idx) => { return ( ) })} {CommonUtil.isEmpty(senior.seniorList) ? : null}
No 소속기관명 이름 생년월일 성별 연락처 혈압관리
{senior.seniorListCount - idx - (senior.search.currentPage - 1) * senior.search.perPage} {item['agency_name']} {item['user_name']} {item['user_birth']} {item['user_gender']} {item['user_phonenumber']}
조회된 데이터가 없습니다
) }]; return (
{/* */} {/* */} {/* */} {/* */}
{ senior.search.searchText = e.target.value; setSenior({ ...senior }); }} onKeyUp={(e) => searchingEnter(e.key)} />
{/* {CommonUtil.isEmpty(state.loginUser) == false && state.loginUser['authority'] == 'ROLE_AGENCY' ?
{e.target.checked ? setIsMySenior(true) : null}}/> {e.target.checked ? setIsMySenior(false) : null}}/>
:null} */}
    {tab.map((item, idx) => { return (
  • setTabIndex(idx)} className={idx == tabIndex ? 'active' : null}> {item.title}
  • ) })}
  • {tab[tabIndex].content}
흡연을 하십니까? { if (e.target.checked) { questionnaire['smoke_type'] = true; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['smoke_type'] = false; setQuestionnaire({ ...questionnaire }); } } } />
음주를 하십니까? { if (e.target.checked) { questionnaire['drink_type'] = true; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['drink_type'] = false; setQuestionnaire({ ...questionnaire }); } } } />
일주일에 운동을 몇회 하십니까? { if (e.target.checked) { questionnaire['exercise_type'] = false; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 1; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 2; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 3; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 4; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 5; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 6; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['exercise_type'] = true; questionnaire['weekly_exercise_amount'] = 7; setQuestionnaire({ ...questionnaire }); } } } />
최근 3개월 동안 갑작스런 체중 변화가 있었습니까? { if (e.target.checked) { questionnaire['weight_change_amount'] = 1; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['weight_change_amount'] = -1; setQuestionnaire({ ...questionnaire }); } } } /> { if (e.target.checked) { questionnaire['weight_change_amount'] = 0; setQuestionnaire({ ...questionnaire }); } } } />
현재 복용중인 약이 있으면 체크를 해주세요. -1} onChange={(e) => { if (e.target.checked) { questionnaire['medication_pill'] += '아스피린(항혈소판제),'; setQuestionnaire({ ...questionnaire }); } else { questionnaire['medication_pill'] = questionnaire['medication_pill'].replace('아스피린(항혈소판제),', ''); setQuestionnaire({ ...questionnaire }); } } } /> -1} onChange={(e) => { if (e.target.checked) { questionnaire['medication_pill'] += '당뇨약,'; setQuestionnaire({ ...questionnaire }); } else { questionnaire['medication_pill'] = questionnaire['medication_pill'].replace('당뇨약,', ''); setQuestionnaire({ ...questionnaire }); } } } /> -1} onChange={(e) => { if (e.target.checked) { questionnaire['medication_pill'] += '고혈압약,'; setQuestionnaire({ ...questionnaire }); } else { questionnaire['medication_pill'] = questionnaire['medication_pill'].replace('고혈압약,', ''); setQuestionnaire({ ...questionnaire }); } } } /> -1} onChange={(e) => { if (e.target.checked) { questionnaire['medication_pill'] += '기타「」,'; setQuestionnaire({ ...questionnaire }); } else { questionnaire['medication_pill'] = questionnaire['medication_pill'].replace('기타「」,', ''); questionnaire['medication_pill_etc'] = ''; setQuestionnaire({ ...questionnaire }); } } } /> { questionnaire['medication_pill_etc'] = e.target.value; setQuestionnaire({ ...questionnaire }); }} />
{CommonUtil.isEmpty(questionnaire['questionnaire_record_idx']) ? : }
진료 일자 { hospitalMedicalRecord['medical_date'] = e.target.value; setHospitalMedicalRecord({ ...hospitalMedicalRecord }); }} ref={el => hospitalMedicalRecordRef.current['medical_date'] = el} />
진료 사유 { hospitalMedicalRecord['medical_reason'] = e.target.value; setHospitalMedicalRecord({ ...hospitalMedicalRecord }); }} ref={el => hospitalMedicalRecordRef.current['medical_reason'] = el} />
진료 내용
{CommonUtil.isEmpty(hospitalMedicalRecord['medical_record_idx']) ? : <> }
{hospitalMedicalRecordList.hospitalMedicalRecordList.map((item, idx) => { return ( { setHospitalMedicalRecord(item) }}> ) })} {CommonUtil.isEmpty(hospitalMedicalRecordList.hospitalMedicalRecordList) ? : null}
No 진료 일자 진료 사유 진료 내용 기록 작성자
{hospitalMedicalRecordList.hospitalMedicalRecordListCount - idx - (hospitalMedicalRecordList.search.currentPage - 1) * hospitalMedicalRecordList.search.perPage} {item['medical_date']} {item['medical_reason']} {item['medical_content']} {item['insert_user_name']}
조회된 데이터가 없습니다
{ecg.isEdit == false ? : <> }
측정 일자 { ecg['ecg_reading_date'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['ecg_reading_date'] = el} />
판독 소견 종류 { ecg['ecg_finding_type'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['ecg_finding_type'] = el} />
판독 소견 내용
측정 파일
서맥 횟수 { ecg['bradycardia_count'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['bradycardia_count'] = el} /> 빈맥 횟수 { ecg['tachycardia_count'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['tachycardia_count'] = el} /> 이상 심박수 { ecg['abnormal_heart_rate'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['abnormal_heart_rate'] = el} />
최대 심박수 { ecg['max_heart_rate'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['max_heart_rate'] = el} /> 최소 심박수 { ecg['min_heart_rate'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['min_heart_rate'] = el} /> 평균 심박수 { ecg['average_heart_rate'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['average_heart_rate'] = el} />
최대 R-R { ecg['max_rr'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['max_rr'] = el} /> 최소 R-R { ecg['min_rr'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['min_rr'] = el} /> 평균 R-R { ecg['average_rr'] = e.target.value; setEcg({ ...ecg }); }} ref={el => ecgRef.current['average_rr'] = el} />
{CommonUtil.isEmpty(ecg['ecg_record_idx']) ? : <> }
{ecgList.ecgList.map((item, idx) => { return ( { item.isEdit = false; setEcg(item); }}> ) })} {CommonUtil.isEmpty(ecgList.ecgList) ? : null}
No 소견 작성 일자 판독 소견 종류 소견 작성자
{ecgList.ecgListCount - idx - (ecgList.search.currentPage - 1) * ecgList.search.perPage} {item['ecg_reading_date']} {item['ecg_finding_type']} {item['insert_user_name']}
조회된 데이터가 없습니다
측정일자 { bloodPressure['blood_pressure_record_date'] = e.target.value; setBloodPressure({ ...bloodPressure }); }} ref={el => bloodPressureRef.current['blood_pressure_record_date'] = el} />
최고혈압 { bloodPressure['max_blood_pressure'] = e.target.value; setBloodPressure({ ...bloodPressure }); }} ref={el => bloodPressureRef.current['max_blood_pressure'] = el} />
최저혈압 { bloodPressure['min_blood_pressure'] = e.target.value; setBloodPressure({ ...bloodPressure }); }} ref={el => bloodPressureRef.current['min_blood_pressure'] = el} />
맥박수 { bloodPressure['pulse_rate'] = e.target.value; setBloodPressure({ ...bloodPressure }); }} ref={el => bloodPressureRef.current['pulse_rate'] = el} />
{CommonUtil.isEmpty(bloodPressure['blood_pressure_record_idx']) ? : <> }
{bloodPressureList.bloodPressureList.map((item, idx) => { return ( { setBloodPressure(item); }}> ) })} {CommonUtil.isEmpty(bloodPressureList.bloodPressureList) ? : null}
No 기록 작성일 최고 혈압 최저 혈압 맥박수 기록 작성자
{bloodPressureList.bloodPressureListCount - idx - (bloodPressureList.search.currentPage - 1) * bloodPressureList.search.perPage} {item['blood_pressure_record_date']} {item['max_blood_pressure']} {item['min_blood_pressure']} {item['pulse_rate']} {item['insert_user_name']}
조회된 데이터가 없습니다
); }