최정임 최정임 2023-04-04
230404 최정임 css 수정
@f969afda1d08b9df204dd03e4785fa8e14b8b465
client/resources/css/common.css
--- client/resources/css/common.css
+++ client/resources/css/common.css
@@ -378,6 +378,7 @@
   background-color: #f25430;
 }
 input[type='date']{width: 24%;}
+.senior-insert input[type='date']{width: 39%;}
 /* margin */
 .margin-bottom {
   margin-bottom: 1rem;
client/resources/css/main.css
--- client/resources/css/main.css
+++ client/resources/css/main.css
@@ -1013,7 +1013,7 @@
 .medicine {
   height: 100px;
 }
-.senior-insert .gender{padding-left: 2rem;}
+.senior-insert .gender{padding-left: 2rem; gap: 2rem;}
 .senior-insert .gender input{width: auto;}
 .medicationTime-td input{width: 2rem;}
 .medicationTime-td label{}
client/resources/css/responsive.css
--- client/resources/css/responsive.css
+++ client/resources/css/responsive.css
@@ -214,7 +214,7 @@
 
   .modal .modal-inner{width: 100%; border-radius: 0;}
   .modal-main .qna-insert td{padding: 1rem;}
-  .search-management button{width: 22%;}
+  .search-management button{width: -webkit-fill-available;}
   /* 건강관리 */
   .searchselect{width: 48%;}
   /* 기관등록 */
@@ -325,10 +325,10 @@
   .statistics-grid .statistics-guardian li:nth-child(1) p:nth-child(2){width: 100%;}
   .statistics-grid .statistics-guardian li:nth-child(1) p:nth-child(3){display: none;}
   /* Q&A */
-  .question-select select{width: 22%;}
+  .question-select select{width: unset;}
   .modal .modal-inner{width: 100%; border-radius: 0;}
-  .modal-main .qna-insert td{padding: 0;}
-  .modal-main .qna-insert td input, .modal-main .qna-insert td textarea{border: 0;}
+  .modal-main .qna-insert td{padding: 0.5rem;}
+  .modal-main .qna-insert td input, .modal-main .qna-insert td textarea{width: -webkit-fill-available;}
 
   /* 권한관리 */
   .authority-table tbody tr td:nth-child(1){background: #e4dccf;}
@@ -337,7 +337,7 @@
   .modal-main{max-height: 60rem;
     overflow: scroll;}
     .modal .modal-inner .modal-header{background-color: #ffffff;}
-  .senior-search{width: 25% !important;}
+  .senior-search{width: 100% !important;}
   .searchselect label{margin-right: 2rem;}
   .protector-user{margin-top: 2rem;}
   .userauthoriylist{display: block;}
@@ -357,7 +357,7 @@
     width: -webkit-fill-available;
     margin: 0;
   }
-  .search-management button{width: 40%;}
+  .search-management button{width: -webkit-fill-available;}
   .search-management input {
     width: 100%;margin: 0;
   }
@@ -455,13 +455,14 @@
   }
 
   .senior-detail th {
-    font-size: 1.2rem;
+    /* font-size: 1.2rem; */
     width: 100%;
   }
 
   .senior-detail td {
     width: 100%;
-    font-size: 1.2rem;
+    
+    /* font-size: 1.2rem; */
   }
 
   .senior-detail td span {
@@ -491,7 +492,7 @@
   }
 
   .senior-insert input, .senior-insert textarea {
-    border: 0;
+    width: -webkit-fill-available;
   }
   .modal-main table td
   .senior-insert tr:nth-child(2) .gender {
@@ -501,9 +502,9 @@
   }
 
   .senior-insert tr:nth-child(2) .gender input {
-    width: 25%;
+    
   }
-
+  .senior-insert input[type='date']{width: 100%;}
   .senior-insert td::marker {
     content: "";
   }
@@ -592,7 +593,7 @@
   }
 
   .senior-detail td {
-    padding: 0;
+    padding-left: 2rem;
   }
 
   /* 방문 수정 페이지 */
client/views/component/Modal_SeniorInsert.jsx
--- client/views/component/Modal_SeniorInsert.jsx
+++ client/views/component/Modal_SeniorInsert.jsx
@@ -260,21 +260,23 @@
                     />
                   </td>
                   <th><span style={{color : "red"}}>*</span>성별</th>
-                  <td className=" gender">
-                    <div className="flex-start">
-                      <input type="radio" id="user_gender_m" name="user_gender" value="남" checked={senior['user_gender'] == '남'}
-                        onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}}
-                        ref={el => seniorRef.current['user_gender']['m'] = el}
-                        />
-                      <label for="user_gender_m">남</label>
-                    </div>
-                    <div className="flex-start">
-                      <input type="radio" id="user_gender_f" name="user_gender" value="여" checked={senior['user_gender'] == '여'}
-                        onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}}
-                        ref={el => seniorRef.current['user_gender']['f'] = el}
-                        />
-                      <label for="user_gender_f">여</label>
-                    </div>
+                  <td className="">
+                    <div className="gender flex-start">
+                      <div className="flex-start">
+                        <input type="radio" id="user_gender_m" name="user_gender" value="남" checked={senior['user_gender'] == '남'}
+                          onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}}
+                          ref={el => seniorRef.current['user_gender']['m'] = el}
+                          />
+                        <label for="user_gender_m">남</label>
+                      </div>
+                      <div className="flex-start">
+                        <input type="radio" id="user_gender_f" name="user_gender" value="여" checked={senior['user_gender'] == '여'}
+                          onChange={(e) => {e.target.checked ? seniorValueChange('user_gender', e.target.value) : null}}
+                          ref={el => seniorRef.current['user_gender']['f'] = el}
+                          />
+                        <label for="user_gender_f">여</label>
+                      </div>
+                    </div >
                   </td>
                 </tr>
                 <tr>
client/views/pages/equipment/EquipmentManagementSelect.jsx
--- client/views/pages/equipment/EquipmentManagementSelect.jsx
+++ client/views/pages/equipment/EquipmentManagementSelect.jsx
@@ -1,13 +1,18 @@
-import React from "react";
+import React, { useState } from "react";
+import { useSelector } from "react-redux";
 import Table from "../../component/Table.jsx";
 import Button from "../../component/Button.jsx";
 import SubTitle from "../../component/SubTitle.jsx";
 import Modal from "../../component/Modal.jsx";
 import Category from "../../component/Category.jsx";
 import { useNavigate } from "react-router";
+import House from "../../../resources/files/icon/house.png";
+import Arrow from "../../../resources/files/icon/arrow.png";
 
 
 export default function EquipmentManagementSelect() {
+	//전역 변수 저장 객체
+	const state = useSelector((state) => {return state});
 
 	// 시스템 코드 - 장비 상태
 	const [equipmentStates, setEquipmentStates] = React.useState({});
@@ -897,6 +902,73 @@
 	}, [])
 
 	/********************************** 시행기관 장비 (끝) **********************************/
+	 //올잇메디 선택
+	 const adminChange = () => {
+		const newUserSearch = JSON.parse(JSON.stringify(userSearch));
+		newUserSearch['government_id'] = null;
+		newUserSearch['agency_id'] = null;
+		setUserSearch(newUserSearch);
+	
+		senior.search['government_id'] = null;
+		senior.search['agency_id'] = null;
+		seniorSelectList();
+		agent.search['government_id'] = null;
+		agent.search['agency_id'] = null;
+		agentSelectList();
+		if (state.loginUser['authority'] == 'ROLE_ADMIN' || state.loginUser['authority'] == 'ROLE_GOVERNMENT') {
+		  government.search['government_id'] = null;
+		  government.search['agency_id'] = null;
+		  
+		}
+	  }
+	
+	  //관리 기관 선택
+	  const governmentChange = (government_id) => {
+		const newUserSearch = JSON.parse(JSON.stringify(userSearch));
+		newUserSearch['government_id'] = government_id;
+		newUserSearch['agency_id'] = null;
+		setUserSearch(newUserSearch);
+	
+		senior.search['government_id'] = government_id;
+		senior.search['agency_id'] = null;
+		seniorSelectList();
+		agent.search['government_id'] = government_id;
+		agent.search['agency_id'] = null;
+		agentSelectList();
+		if (state.loginUser['authority'] == 'ROLE_ADMIN' || state.loginUser['authority'] == 'ROLE_GOVERNMENT') {
+		  government.search['government_id'] = government_id;
+		  government.search['agency_id'] = null;
+		  
+		}
+	  }
+	
+	  //시행 기관 선택
+	  const agencyChange = (government_id, agency_id) => {
+		const newUserSearch = JSON.parse(JSON.stringify(userSearch));
+		newUserSearch['government_id'] = government_id;
+		newUserSearch['agency_id'] = agency_id;
+		setUserSearch(newUserSearch);
+	
+		senior.search['government_id'] = government_id;
+		senior.search['agency_id'] = agency_id;
+		console.log('senior.search : ', senior.search);
+		seniorSelectList();
+		agent.search['government_id'] = government_id;
+		agent.search['agency_id'] = agency_id;
+		agentSelectList();
+	  }
+	  
+	//검색 변수 (초기화값)
+	const [userSearch, setUserSearch] = React.useState({
+		'government_id': state.loginUser['government_id'],
+		'agency_id': state.loginUser['agency_id'],
+		'authority': null,
+	
+		'searchType': null,
+		'searchText': null,
+		'currentPage': 1,
+		'perPage': 10,
+	  });
 	//기관 계층 구조 목록
 	const [orgListOfHierarchy, setOrgListOfHierarchy] = React.useState([]);
 	//기관(관리, 시행) 계층 구조 목록 조회
@@ -914,56 +986,17 @@
 		console.log('orgSelectListOfHierarchy() /org/orgSelectListOfHierarchy.json error : ', error);
 	});
 	};
+	
+  //Mounted
+  React.useEffect(() => {
+    orgSelectListOfHierarchy();
+    // agentSelectList();
+    if (state.loginUser['authority'] == 'ROLE_ADMIN' || state.loginUser['authority'] == 'ROLE_GOVERNMENT') {      
+    }
+    if (state.loginUser['authority'] == 'ROLE_ADMIN') {      
+    }
+  }, []);
 
-//관리기관 관리자 목록 및 페이징 정보
-userSearch['authority'] = 'ROLE_GOVERNMENT';
-const [government, setGovernment] = React.useState({userList: [], userListCount: 0, search: JSON.parse(JSON.stringify(userSearch))});
-const governmentSearchChange = (targetKey, value) => {
-  let newGovernment = JSON.parse(JSON.stringify(government));
-  newGovernment.search[targetKey] = value;
-  setGovernment(newGovernment);
-}
-const governmentSelectListEnter = (key) => {
-  if (key == 'Enter') {
-	governmentSelectList();
-  } else {
-	return;
-  }
-}
-//관리기관 담당자 목록 조회
-const governmentSelectList = (currentPage) => {
-  government.search.currentPage = CommonUtil.isEmpty(currentPage) ? 1 : currentPage;
-
-  fetch("/user/userSelectList.json", {
-	method: "POST",
-	headers: {
-	  'Content-Type': 'application/json; charset=UTF-8'
-	},
-	body: JSON.stringify(government.search),
-  }).then((response) => response.json()).then((data) => {
-	data.search = government.search;
-	console.log("관리기관 담당자 목록 조회 : ", data);
-	setGovernment(data);
-  }).catch((error) => {
-	console.log('governmentSelectList() /user/userSelectList.json error : ', error);
-  });
-}
-
-//시스템 관리자 목록 및 페이징 정보
-userSearch['authority'] = 'ROLE_ADMIN';
-const [admin, setAdmin] = React.useState({userList: [], userListCount: 0, search: JSON.parse(JSON.stringify(userSearch))});
-const adminSearchChange = (targetKey, value) => {
-  let newAdmin = JSON.parse(JSON.stringify(admin));
-  newAdmin.search[targetKey] = value;
-  setAdmin(newAdmin);
-}
-const adminSelectListEnter = (key) => {
-  if (key == 'Enter') {
-	adminSelectList();
-  } else {
-	return;
-  }
-}
 	// 장비 납품 모달창 thead, key
 	const thead4 = [
 		"No",
@@ -980,7 +1013,7 @@
 			No: 1,
 			agency: (
 				<div>
-					<div style={{width: '100%', fontSize: '16px'}} className="category">
+					<div style={{textAlign:'left', fontSize: '16px',margin:'2rem 0'}} className="category">
                 {/* <a className={() => {return "active"}} onClick={adminChange}>올잇메디</a> */}
                 <a onClick={adminChange}
                    className={userSearch['government_id'] == null && userSearch['agency_id'] == null ? "active" : ""}>
Add a comment
List