최정임 최정임 2023-02-15
230215 최정임 페이지 수정
@611967c87929f34d04b8fe07e9aa5fbc9322cf21
client/resources/css/common.css
--- client/resources/css/common.css
+++ client/resources/css/common.css
@@ -1,12 +1,5 @@
 /* layout 공통 */
 /* grid */
-.main-grid {
-  height: 100%;
-  display: grid;
-  grid-template-columns: 0.9fr 0.9fr 1.1fr 1.1fr;
-  grid-template-rows: 1fr 0.1fr 0.1fr;
-  gap: 1rem;
-}
 
 .main-grid-admin {
   height: 100%;
@@ -19,15 +12,22 @@
 .main-grid-government {
   height: 100%;
   display: grid;
-  grid-template-columns: 0.5fr 1fr 0.5fr 1fr;
+  grid-template-columns: 1fr 1fr 1fr 1fr;
+  grid-template-rows: 0.1fr 0.5fr 0.3fr 0.3fr 0.3fr;
+  gap: 1rem;
+}
+.main-grid {
+  height: 100%;
+  display: grid;
+  grid-template-columns:1fr;
   grid-template-rows: 0.1fr 0.3fr 0.3fr 0.1fr;
   gap: 1rem;
 }
 .main-grid-agency {
   height: 100%;
   display: grid;
-  grid-template-columns:1fr;
-  grid-template-rows: 0.1fr 0.3fr 0.3fr 0.1fr;
+  grid-template-columns: 1fr 1fr 1fr 1fr;
+  grid-template-rows: 0.1fr 0.5fr 0.5fr 0.5fr 0.5fr 0.5fr 0.5fr;
   gap: 1rem;
 }
 .main-grid-hospital {
@@ -41,8 +41,8 @@
 .main-grid-guardian {
   height: 100%;
   display: grid;
-  grid-template-columns: 0.9fr 0.9fr 1.1fr 1.1fr;
-  grid-template-rows: 0.5fr 0.1fr;
+  grid-template-columns: 0.9fr 0.9fr;
+  grid-template-rows: 0.1fr 0.5fr 0.5fr;
   gap: 1rem;
 }
 
@@ -52,21 +52,42 @@
   grid-template-rows: 1fr 1fr;
   gap: 2rem;
 }
+.medicine-grid {
+  display: grid;
+  grid-template-columns: 1fr 1fr 1fr 1fr;
+  grid-template-rows: 1fr;
+  gap: 2rem;
+}
 
 .combine-left {
   grid-column: 1/3;
 }
-
-.combine-left-government {
-  grid-column: 1/6;
+.combine-left2 {
+  grid-column: 1/2;
 }
-
+.combine-left-government {
+  grid-column: 2/4;
+}
+.combine-left-government2 {
+  grid-column: 1/4;
+}
 .combine-right {
   grid-column: 3/4;
 }
-
-.combine-right-government {
+.combine-right2 {
   grid-column: 3/5;
+}
+.combine-right3 {
+  grid-column: 2/3;
+}
+.combine-right-government {
+  grid-column: 4/5;
+  grid-row: 2/4;
+}
+
+.combine-right-government2 {
+  grid-column: 4/5;
+  grid-row: 4/6;
 }
 
 .combine-top-government {
@@ -84,11 +105,21 @@
 .combine-bottom-government {
   grid-row: 2/3;
 }
-
 .combine-bottom-government2 {
   grid-row: 2/5;
 }
-
+.combine-bottom-government3 {
+  grid-row: 3/4;
+}
+.combine-bottom-government5 {
+  grid-row: 5/8;
+}
+.combine-bottom-government6 {
+  grid-row: 4/6;
+}
+.combine-bottom-government7 {
+  grid-row: 6/8;
+}
 
 /* flex */
 .flex {
client/resources/css/main.css
--- client/resources/css/main.css
+++ client/resources/css/main.css
@@ -21,7 +21,24 @@
   font-weight: 900;
   background-color: #18924e;
 }
+/* 문진표 */
+.questionnaire-table th{display: block;}
+.questionnaire-table tr{padding: 1rem;}
+.questionnaire-table input{width: 9%;}
 /* 카테고리 기관 추가*/
+.explain-table th{background: #ffffff;}
+.react-calendar{width: 100%;}
+.total p{font-size: 1.6rem;}
+.total-equip::before{
+  content: "";
+  border-left: 20px solid #5a70df;
+  margin-right: 1rem;
+}
+.total-senior::before{
+  content: "";
+  border-left: 20px solid #7D9D9C;
+  margin: 0 1rem 0 3rem;
+}
 /* hierarchy menu */
 .hierarchy-menu {
   background-color: #f8f8f8;
@@ -207,18 +224,202 @@
 .statistics li p:nth-of-type(2)::after {
   content: "명";
 }
+.statistics-govern li {
+  position: relative;
+  padding-left: 5rem;
+  text-align: center;
+}
 
+.statistics-govern li p:nth-of-type(1) {
+  position: absolute;
+  left: 0;
+}
+.statistics-govern:nth-of-type(1) {
+  background-image: linear-gradient(to bottom right, #9890e3 0%, #b1f4cf 100%);
+}
+.statistics-govern:nth-of-type(2) {
+  background-image: linear-gradient(to bottom right, #b1f4cf 0%, #5a70df 100%);
+}
+.statistics-govern:nth-of-type(3) {
+  background-image: linear-gradient(to bottom right, #83a9d7 0%, #8d2ecd 100%);
+}
+.statistics-govern:nth-of-type(4) {
+  background-image: linear-gradient(to bottom right, #8d2ecd 0%, #b1f4cf 100%);
+}
+.statistics-govern li p{color: #ffffff;}
+.statistics-govern li p:nth-of-type(2) {
+  padding-bottom: 0.5rem;
+  font-size: 1.6rem;
+  font-weight: bold;
+}
+.statistics-govern li p:nth-of-type(3) {
+  font-size: 1.6rem;
+  font-weight: bold;
+}
+.statistics-govern li p:nth-of-type(3)::after {
+  content: "명";
+}
+.statistics-agency li {
+  position: relative;
+  padding-left: 5rem;
+  text-align: center;
+}
+
+.statistics-agency li p:nth-of-type(1) {
+  position: absolute;
+  left: 0;
+}
+
+.statistics-agency li p:nth-of-type(2) {
+  padding-bottom: 0.5rem;
+  font-size: 1.6rem;
+  font-weight: bold;
+}
+.statistics-agency li p:nth-of-type(3) {
+  font-size: 1.6rem;
+  font-weight: bold;
+}
+
+.statistics-agency li p:nth-of-type(3)::after {
+  content: "명";
+}
+.statistics-guardian{height: 100%;}
+.statistics-guardian li{
+  padding: 1rem 3rem;
+  background: rgba(255, 254, 254, 0.5);
+  border-radius: 10px;
+  margin: 0 auto;
+  margin-bottom: 1rem;
+}
+.statistics-guardian:nth-child(1) {
+  background: #fbe4e4;
+}
+
+.statistics-guardian:nth-child(2) {
+  background: #edf7df;
+}
+
+.statistics-guardian:nth-child(3) {
+  background: #f9f7e0;
+}
+
+.statistics-guardian:nth-child(4) {
+  background: #e9e7fe;
+}
+.statistics-guardian li p{
+  padding: 0 2rem;
+}
+.statistics-guardian li:nth-child(2),
+.statistics-guardian li:nth-child(3),
+.statistics-guardian li:nth-child(4),
+.statistics-guardian li:nth-child(5),
+.statistics-guardian li:nth-child(6),
+.statistics-guardian li:nth-child(7) {
+  background: rgba(255, 254, 254, 0.5);
+}
+.chart-guardian{height: 77%;}
+.statistics-guardian li p:nth-child(3) {
+  font-size: 1.5rem;
+}
+
+.statistics-guardian li p:nth-of-type(1) {
+  position: inherit;
+  font-size: 1.5rem;
+  font-weight: bold;
+}
+
+.statistics-guardian li p:nth-of-type(2) {
+  padding: 0;
+  font-size: 2rem;
+}
+.guardian-table {
+  width: 100%;
+}
+
+.guardian-table th {
+  background: none;
+}
+.guardian-table td {
+  border: 0;
+}
+
+.guardian-table {
+  border: 0;
+}
+
+.guardian-table-inner {
+  width: 100%;
+}
+
+.guardian-table-text {
+  width: 20%;
+  border-right: 3px solid #7D9D9C;
+  font-size: 1.8rem;
+  font-weight: bold;
+  margin-right: 2rem;
+}
+.guardian-table1 {
+  width: 100%;
+}
+
+.guardian-table1 th {
+  background: none;
+  font-size: 1.9rem;
+}
+.guardian-table1 th:nth-child(1){
+  background: #f48d8d;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 th:nth-child(2){
+  background: #efa33a;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 th:nth-child(3){
+  background: #eeeb3c;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 th:nth-child(4){
+  background: #9be32e;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 th:nth-child(5){
+  background: #9fa6f2;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 th:nth-child(6){
+  background: #b089ed;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 th:nth-child(7){
+  background: #e057f0;
+  border: 6px solid rgba(255, 254, 254, 0.5);
+}
+.guardian-table1 td {
+  border: 0;
+}
+
+.guardian-table1 {
+  border: 0;
+}
+
+.guardian-table-inner {
+  width: 100%;
+}
+
+.guardian-table-text {
+  width: 20%;
+  border-right: 3px solid #7D9D9C;
+  font-size: 1.8rem;
+  font-weight: bold;
+  margin-right: 2rem;
+}
+.red{color: red;}
 .main-battery-title span::after {
   content: " 님의";
   margin-right: 1rem;
   font-size: 1.4rem;
 }
 
-.combine-right-government h4::before {
-  content: "김복남 님의";
-  margin-right: 1rem;
-  font-size: 1.4rem;
-}
 .main-battery-title {
   font-size: 1.6rem;
   font-weight: 900;
@@ -783,8 +984,7 @@
 }
 
 .modal .modal-inner {
-  width: 80%;
-  max-width: 650px;
+  width: 52%;
   margin: 0 auto;
   border-radius: 0.3rem;
   background-color: #fff;
client/views/component/chart/Chart2_agency.jsx
--- client/views/component/chart/Chart2_agency.jsx
+++ client/views/component/chart/Chart2_agency.jsx
@@ -3,218 +3,124 @@
 import * as am5xy from "@amcharts/amcharts5/xy";
 import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
 
-class Chart2_1 extends Component {
+class Chart2 extends Component {
   componentDidMount() {
-    let root = am5.Root.new("Chart2_1");
+    let root = am5.Root.new("Chart2");
 
     root._logo.dispose();
-  // Set themes
-// https://www.amcharts.com/docs/v5/concepts/themes/
-root.setThemes([
-  am5themes_Animated.new(root)
-]);
+    // Set themes
+    // https://www.amcharts.com/docs/v5/concepts/themes/
+    root.setThemes([am5themes_Animated.new(root)]);
 
+    // Create chart
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/
+    let chart = root.container.children.push(
+      am5xy.XYChart.new(root, {
+        panX: true,
+        panY: true,
+        wheelX: "panX",
+        wheelY: "zoomX",
+        pinchZoomX: true,
+      })
+    );
 
-// Create chart
-// https://www.amcharts.com/docs/v5/charts/xy-chart/
-let chart = root.container.children.push(am5xy.XYChart.new(root, {
-  panX: true,
-  panY: true,
-  wheelX: "panX",
-  wheelY: "zoomX",
-  pinchZoomX:true
-}));
+    chart.get("colors").set("step", 3);
 
+    // Add cursor
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/
+    let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {}));
+    cursor.lineY.set("visible", false);
 
-// Add cursor
-// https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/
-let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {
-  behavior: "none"
-}));
-cursor.lineY.set("visible", false);
+    // Create axes
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
+    let xAxis = chart.xAxes.push(
+      am5xy.DateAxis.new(root, {
+        maxDeviation: 0.3,
+        baseInterval: {
+          timeUnit: "day",
+          count: 1,
+        },
+        renderer: am5xy.AxisRendererX.new(root, {}),
+        tooltip: am5.Tooltip.new(root, {}),
+      })
+    );
 
+    let yAxis = chart.yAxes.push(
+      am5xy.ValueAxis.new(root, {
+        maxDeviation: 0.3,
+        renderer: am5xy.AxisRendererY.new(root, {}),
+      })
+    );
 
-// The data
-let data = [{
-  "year": "1월",
-  "아침": 100,
-  "점심": 20,
-  "저녁": 18
-}, {
-  "year": "2월",
-  "아침": 13,
-  "점심": 83,
-  "저녁": 46
-}, {
-  "year": "3월",
-  "아침": 17,
-  "점심": 91,
-  "저녁": 13
-}, {
-  "year": "4월",
-  "아침": 130,
-  "점심": 64,
-  "저녁": 17
-}, {
-  "year": "5월",
-  "아침": 160,
-  "점심": 69,
-  "저녁": 15
-}, {
-  "year": "6월",
-  "아침": 183,
-  "점심": 21,
-  "저녁": 19
-}, {
-  "year": "7월",
-  "아침": 161,
-  "점심": 77,
-  "저녁": 12
-}, {
-  "year": "8월",
-  "아침": 28,
-  "점심": 60,
-  "저녁": 11
-}, {
-  "year": "9월",
-  "아침": 75,
-  "점심": 64,
-  "저녁": 7
-}, {
-  "year": "10월",
-  "아침": 12,
-  "점심": 64,
-  "저녁": 93
-}, {
-  "year": "11월",
-  "아침": 18,
-  "점심": 67,
-  "저녁": 11
-}, {
-  "year": "12월",
-  "아침": 13,
-  "점심": 63,
-  "저녁": 87
-}];
+    // Create series
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/series/
+    let series = chart.series.push(
+      am5xy.LineSeries.new(root, {
+        name: "Series 1",
+        xAxis: xAxis,
+        yAxis: yAxis,
+        valueYField: "value",
+        valueXField: "date",
+        tooltip: am5.Tooltip.new(root, {
+          labelText: "{valueY}",
+        }),
+      })
+    );
+    series.strokes.template.setAll({
+      strokeWidth: 2,
+      strokeDasharray: [3, 3],
+    });
 
+    // Set data
+    let data = [
+      {
+        date: new Date(2022, 8, 1).getTime(),
+        value: 0,
+      },
+      {
+        date: new Date(2022, 8, 2).getTime(),
+        value: 1,
+      },
+      {
+        date: new Date(2022, 8, 3).getTime(),
+        value: 1,
+      },
+      {
+        date: new Date(2022, 8, 4).getTime(),
+        value: 2,
+      },
+      {
+        date: new Date(2022, 8, 5).getTime(),
+        value: 3,
+      },
+      {
+        date: new Date(2022, 8, 6).getTime(),
+        value: 3,
+      },
+      {
+        date: new Date(2022, 8, 7).getTime(),
+        value: 7,
+      },
+      {
+        date: new Date(2022, 8, 8).getTime(),
+        value: 7,
+      },
+      {
+        date: new Date(2022, 8, 9).getTime(),
+        value: 8,
+      },
+      {
+        date: new Date(2022, 8, 10).getTime(),
+        value: 8,
+      },
+    ];
 
-// Create axes
-// https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
-let xAxis = chart.xAxes.push(am5xy.CategoryAxis.new(root, {
-  categoryField: "year",
-  startLocation: 0.5,
-  endLocation: 0.5,
-  renderer: am5xy.AxisRendererX.new(root, {}),
-  tooltip: am5.Tooltip.new(root, {})
-}));
+    series.data.setAll(data);
 
-xAxis.data.setAll(data);
-
-let yAxis = chart.yAxes.push(am5xy.ValueAxis.new(root, {
-  renderer: am5xy.AxisRendererY.new(root, {})
-}));
-
-// Add series
-// https://www.amcharts.com/docs/v5/charts/xy-chart/series/
-
-function createSeries(name, field) {
-  let series = chart.series.push(am5xy.LineSeries.new(root, {
-    name: name,
-    xAxis: xAxis,
-    yAxis: yAxis,
-    stacked:true,
-    valueYField: field,
-    categoryXField: "year",
-    tooltip: am5.Tooltip.new(root, {
-      pointerOrientation: "horizontal",
-      labelText: "[bold]{name}[/]\n{categoryX}: {valueY}"
-    })
-  }));
-
-  series.fills.template.setAll({
-    fillOpacity: 0.5,
-    visible: true
-  });
-
-  series.data.setAll(data);
-  series.appear(1000);
-}
-
-createSeries("아침", "아침");
-createSeries("점심", "점심");
-createSeries("저녁", "저녁");
-
-// Add scrollbar
-// https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/
-// chart.set("scrollbarX", am5.Scrollbar.new(root, {
-//   orientation: "horizontal"
-// }));
-
-// Create axis ranges
-// https://www.amcharts.com/docs/v5/charts/xy-chart/axes/axis-ranges/
-let rangeDataItem = xAxis.makeDataItem({
-  category: "1월",
-  endCategory: "12월"
-});
-
-let range = xAxis.createAxisRange(rangeDataItem);
-
-rangeDataItem.get("grid").setAll({
-  stroke: am5.color(0x00ff33),
-  strokeOpacity: 0.5,
-  strokeDasharray: [3]
-});
-
-rangeDataItem.get("axisFill").setAll({
-  fill: am5.color(0x00ff33),
-  fillOpacity: 0.1,
-  visible:true
-});
-
-// rangeDataItem.get("label").setAll({
-//   inside: true,
-//   text: "Fines for speeding increased",
-//   rotation: 90,
-//   centerX: am5.p100,
-//   centerY: am5.p100,
-//   location: 0,
-//   paddingBottom: 10,
-//   paddingRight: 15
-// });
-
-
-let rangeDataItem2 = xAxis.makeDataItem({
-  category: "1월"
-});
-
-let range2 = xAxis.createAxisRange(rangeDataItem2);
-
-rangeDataItem2.get("grid").setAll({
-  stroke: am5.color(0x00ff33),
-  strokeOpacity: 1,
-  strokeDasharray: [3]
-});
-
-rangeDataItem2.get("axisFill").setAll({
-  fill: am5.color(0x00ff33),
-  fillOpacity: 0.1,
-  visible:true
-});
-
-// rangeDataItem2.get("label").setAll({
-//   inside: true,
-//   text: "Motorcycle fee introduced",
-//   rotation: 90,
-//   centerX: am5.p100,
-//   centerY: am5.p100,
-//   location: 0,
-//   paddingBottom: 10,
-//   paddingRight: 15
-// });
-
-// Make stuff animate on load
-// https://www.amcharts.com/docs/v5/concepts/animations/
-chart.appear(1000, 100);
+    // Make stuff animate on load
+    // https://www.amcharts.com/docs/v5/concepts/animations/
+    series.appear(1000);
+    chart.appear(1000, 100);
 
     this.root = root;
   }
@@ -226,8 +132,8 @@
   }
 
   render() {
-    return <div id="Chart2_1" style={{ width: "100%", height: "15vh" }}></div>;
+    return <div id="Chart2" style={{ width: "100%", height: "15vh" }}></div>;
   }
 }
 
-export default Chart2_1;
+export default Chart2;
 
client/views/component/chart/Chart2_govern.jsx (added)
+++ client/views/component/chart/Chart2_govern.jsx
@@ -0,0 +1,139 @@
+import React, { Component } from "react";
+import * as am5 from "@amcharts/amcharts5";
+import * as am5xy from "@amcharts/amcharts5/xy";
+import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
+
+class Chart2 extends Component {
+  componentDidMount() {
+    let root = am5.Root.new("Chart2");
+
+    root._logo.dispose();
+    // Set themes
+    // https://www.amcharts.com/docs/v5/concepts/themes/
+    root.setThemes([am5themes_Animated.new(root)]);
+
+    // Create chart
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/
+    let chart = root.container.children.push(
+      am5xy.XYChart.new(root, {
+        panX: true,
+        panY: true,
+        wheelX: "panX",
+        wheelY: "zoomX",
+        pinchZoomX: true,
+      })
+    );
+
+    chart.get("colors").set("step", 3);
+
+    // Add cursor
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/
+    let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {}));
+    cursor.lineY.set("visible", false);
+
+    // Create axes
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
+    let xAxis = chart.xAxes.push(
+      am5xy.DateAxis.new(root, {
+        maxDeviation: 0.3,
+        baseInterval: {
+          timeUnit: "day",
+          count: 1,
+        },
+        renderer: am5xy.AxisRendererX.new(root, {}),
+        tooltip: am5.Tooltip.new(root, {}),
+      })
+    );
+
+    let yAxis = chart.yAxes.push(
+      am5xy.ValueAxis.new(root, {
+        maxDeviation: 0.3,
+        renderer: am5xy.AxisRendererY.new(root, {}),
+      })
+    );
+
+    // Create series
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/series/
+    let series = chart.series.push(
+      am5xy.LineSeries.new(root, {
+        name: "Series 1",
+        xAxis: xAxis,
+        yAxis: yAxis,
+        valueYField: "value",
+        valueXField: "date",
+        tooltip: am5.Tooltip.new(root, {
+          labelText: "{valueY}",
+        }),
+      })
+    );
+    series.strokes.template.setAll({
+      strokeWidth: 2,
+      strokeDasharray: [3, 3],
+    });
+
+    // Set data
+    let data = [
+      {
+        date: new Date(2022, 8, 1).getTime(),
+        value: 0,
+      },
+      {
+        date: new Date(2022, 8, 2).getTime(),
+        value: 1,
+      },
+      {
+        date: new Date(2022, 8, 3).getTime(),
+        value: 1,
+      },
+      {
+        date: new Date(2022, 8, 4).getTime(),
+        value: 2,
+      },
+      {
+        date: new Date(2022, 8, 5).getTime(),
+        value: 3,
+      },
+      {
+        date: new Date(2022, 8, 6).getTime(),
+        value: 3,
+      },
+      {
+        date: new Date(2022, 8, 7).getTime(),
+        value: 7,
+      },
+      {
+        date: new Date(2022, 8, 8).getTime(),
+        value: 7,
+      },
+      {
+        date: new Date(2022, 8, 9).getTime(),
+        value: 8,
+      },
+      {
+        date: new Date(2022, 8, 10).getTime(),
+        value: 8,
+      },
+    ];
+
+    series.data.setAll(data);
+
+    // Make stuff animate on load
+    // https://www.amcharts.com/docs/v5/concepts/animations/
+    series.appear(1000);
+    chart.appear(1000, 100);
+
+    this.root = root;
+  }
+
+  componentWillUnmount() {
+    if (this.root) {
+      this.root.dispose();
+    }
+  }
+
+  render() {
+    return <div id="Chart2" style={{ width: "100%", height: "15vh" }}></div>;
+  }
+}
+
+export default Chart2;
 
client/views/component/chart/Chart2_guard.jsx (added)
+++ client/views/component/chart/Chart2_guard.jsx
@@ -0,0 +1,139 @@
+import React, { Component } from "react";
+import * as am5 from "@amcharts/amcharts5";
+import * as am5xy from "@amcharts/amcharts5/xy";
+import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
+
+class Chart2 extends Component {
+  componentDidMount() {
+    let root = am5.Root.new("Chart2");
+
+    root._logo.dispose();
+    // Set themes
+    // https://www.amcharts.com/docs/v5/concepts/themes/
+    root.setThemes([am5themes_Animated.new(root)]);
+
+    // Create chart
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/
+    let chart = root.container.children.push(
+      am5xy.XYChart.new(root, {
+        panX: true,
+        panY: true,
+        wheelX: "panX",
+        wheelY: "zoomX",
+        pinchZoomX: true,
+      })
+    );
+
+    chart.get("colors").set("step", 3);
+
+    // Add cursor
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/
+    let cursor = chart.set("cursor", am5xy.XYCursor.new(root, {}));
+    cursor.lineY.set("visible", false);
+
+    // Create axes
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
+    let xAxis = chart.xAxes.push(
+      am5xy.DateAxis.new(root, {
+        maxDeviation: 0.3,
+        baseInterval: {
+          timeUnit: "day",
+          count: 1,
+        },
+        renderer: am5xy.AxisRendererX.new(root, {}),
+        tooltip: am5.Tooltip.new(root, {}),
+      })
+    );
+
+    let yAxis = chart.yAxes.push(
+      am5xy.ValueAxis.new(root, {
+        maxDeviation: 0.3,
+        renderer: am5xy.AxisRendererY.new(root, {}),
+      })
+    );
+
+    // Create series
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/series/
+    let series = chart.series.push(
+      am5xy.LineSeries.new(root, {
+        name: "Series 1",
+        xAxis: xAxis,
+        yAxis: yAxis,
+        valueYField: "value",
+        valueXField: "date",
+        tooltip: am5.Tooltip.new(root, {
+          labelText: "{valueY}",
+        }),
+      })
+    );
+    series.strokes.template.setAll({
+      strokeWidth: 2,
+      strokeDasharray: [3, 3],
+    });
+
+    // Set data
+    let data = [
+      {
+        date: new Date(2022, 8, 1).getTime(),
+        value: 0,
+      },
+      {
+        date: new Date(2022, 8, 2).getTime(),
+        value: 1,
+      },
+      {
+        date: new Date(2022, 8, 3).getTime(),
+        value: 1,
+      },
+      {
+        date: new Date(2022, 8, 4).getTime(),
+        value: 2,
+      },
+      {
+        date: new Date(2022, 8, 5).getTime(),
+        value: 3,
+      },
+      {
+        date: new Date(2022, 8, 6).getTime(),
+        value: 3,
+      },
+      {
+        date: new Date(2022, 8, 7).getTime(),
+        value: 7,
+      },
+      {
+        date: new Date(2022, 8, 8).getTime(),
+        value: 7,
+      },
+      {
+        date: new Date(2022, 8, 9).getTime(),
+        value: 8,
+      },
+      {
+        date: new Date(2022, 8, 10).getTime(),
+        value: 8,
+      },
+    ];
+
+    series.data.setAll(data);
+
+    // Make stuff animate on load
+    // https://www.amcharts.com/docs/v5/concepts/animations/
+    series.appear(1000);
+    chart.appear(1000, 100);
+
+    this.root = root;
+  }
+
+  componentWillUnmount() {
+    if (this.root) {
+      this.root.dispose();
+    }
+  }
+
+  render() {
+    return <div id="Chart2" style={{ width: "100%", height: "15vh" }}></div>;
+  }
+}
+
+export default Chart2;
 
client/views/component/chart/Chart5_agency.jsx (added)
+++ client/views/component/chart/Chart5_agency.jsx
@@ -0,0 +1,69 @@
+import React, { Component } from "react";
+import * as am5 from "@amcharts/amcharts5";
+import * as am5percent from "@amcharts/amcharts5/percent";
+import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
+
+class Chart5 extends Component {
+  componentDidMount() {
+    let root = am5.Root.new("Chart5");
+
+   
+// Set themes
+// https://www.amcharts.com/docs/v5/concepts/themes/
+root.setThemes([
+  am5themes_Animated.new(root)
+]);
+
+
+// Create chart
+// https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/
+let chart = root.container.children.push(am5percent.SlicedChart.new(root, {
+  layout: root.verticalLayout
+}));
+
+
+// Create series
+// https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/#Series
+let series = chart.series.push(am5percent.PictorialStackedSeries.new(root, {
+  alignLabels: true,
+  orientation: "vertical",
+  valueField: "value",
+  categoryField: "category",
+  svgPath: "M53.5,476c0,14,6.833,21,20.5,21s20.5-7,20.5-21V287h21v189c0,14,6.834,21,20.5,21 c13.667,0,20.5-7,20.5-21V154h10v116c0,7.334,2.5,12.667,7.5,16s10.167,3.333,15.5,0s8-8.667,8-16V145c0-13.334-4.5-23.667-13.5-31 s-21.5-11-37.5-11h-82c-15.333,0-27.833,3.333-37.5,10s-14.5,17-14.5,31v133c0,6,2.667,10.333,8,13s10.5,2.667,15.5,0s7.5-7,7.5-13 V154h10V476 M61.5,42.5c0,11.667,4.167,21.667,12.5,30S92.333,85,104,85s21.667-4.167,30-12.5S146.5,54,146.5,42 c0-11.335-4.167-21.168-12.5-29.5C125.667,4.167,115.667,0,104,0S82.333,4.167,74,12.5S61.5,30.833,61.5,42.5z"
+}));
+
+series.labelsContainer.set("width", 100);
+series.ticks.template.set("location", 0.6);
+
+
+// Set data
+// https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/#Setting_data
+series.data.setAll([
+  { value: 10, category: "부계면" },
+  { value: 9, category: "소보면" },
+  { value: 6, category: "군위읍" },
+  { value: 5, category: "우보면" },
+  { value: 4, category: "의흥면" },
+  { value: 3, category: "삼국유사면" },
+  { value: 3, category: "산성면" },
+  { value: 2, category: "효령면" }
+]);
+
+
+// Play initial series animation
+// https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series
+chart.appear(1000, 100);
+ // end am5.ready()
+    this.root = root;
+  }
+  componentWillUnmount() {
+    if (this.root) {
+      this.root.dispose();
+    }
+  }
+  render() {
+    return <div id="Chart5" style={{ width: "100%", height: "80%" }}></div>
+  }
+}
+
+export default Chart5;
 
client/views/component/chart/Donut1_govern.jsx (added)
+++ client/views/component/chart/Donut1_govern.jsx
@@ -0,0 +1,74 @@
+import React, { Component } from "react";
+import * as am5 from "@amcharts/amcharts5";
+import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
+import * as am5percent from "@amcharts/amcharts5/percent";
+
+class Donut1 extends Component {
+  componentDidMount() {
+    let root = am5.Root.new("Donut1");
+
+    root._logo.dispose();
+    // Set themes
+    // https://www.amcharts.com/docs/v5/concepts/themes/
+    root.setThemes([am5themes_Animated.new(root)]);
+
+    // Create chart
+    // https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/
+    let chart = root.container.children.push(
+      am5percent.PieChart.new(root, {
+        layout: root.verticalLayout,
+        innerRadius: am5.percent(50),
+      })
+    );
+
+    // Create series
+    // https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Series
+    let series = chart.series.push(
+      am5percent.PieSeries.new(root, {
+        valueField: "value",
+        categoryField: "category",
+      })
+    );
+
+    // Set data
+    // https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/#Setting_data
+    series.data.setAll([
+      { value: 50, category: "A복지관" },
+      { value: 20, category: "B복지관" },
+      { value: 30, category: "C복지관" },
+      { value: 40, category: "D복지관" },
+      { value: 10, category: "E복지관" },
+    ]);
+
+    // Create legend
+    // https://www.amcharts.com/docs/v5/charts/percent-charts/legend-percent-series/
+    let legend = chart.children.push(
+      am5.Legend.new(root, {
+        centerX: am5.percent(50),
+        x: am5.percent(50),
+        marginTop: 15,
+        marginBottom: 15,
+      })
+    );
+
+    legend.data.setAll(series.dataItems);
+
+    // Play initial series animation
+    // https://www.amcharts.com/docs/v5/concepts/animations/#Animation_of_series
+    series.appear(1000, 100);
+
+    this.root = root;
+  }
+
+  componentWillUnmount() {
+    if (this.root) {
+      this.root.dispose();
+    }
+  }
+
+  render() {
+    return <div id="Donut1" style={{ width: "100%", height: "250px" }}></div>;
+  }
+}
+
+export default Donut1;
 
client/views/component/chart/LineColor_medicine.jsx (added)
+++ client/views/component/chart/LineColor_medicine.jsx
@@ -0,0 +1,167 @@
+import React, { Component } from "react";
+import * as am5 from "@amcharts/amcharts5";
+import * as am5xy from "@amcharts/amcharts5/xy";
+import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
+
+class LineColor extends Component {
+  componentDidMount() {
+    /* Chart code */
+    // Create root element
+    // https://www.amcharts.com/docs/v5/getting-started/#Root_element
+    let root = am5.Root.new("chartdiv");
+    root._logo.dispose();
+
+    // Set themes
+    // https://www.amcharts.com/docs/v5/concepts/themes/
+    root.setThemes([am5themes_Animated.new(root)]);
+
+    // Create chart
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/
+    let chart = root.container.children.push(
+      am5xy.XYChart.new(root, {
+        panX: true,
+        panY: true,
+        wheelX: "panX",
+        wheelY: "zoomX",
+        layout: root.verticalLayout,
+        pinchZoomX: true,
+      })
+    );
+
+    // Add cursor
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/cursor/
+    let cursor = chart.set(
+      "cursor",
+      am5xy.XYCursor.new(root, {
+        behavior: "none",
+      })
+    );
+    cursor.lineY.set("visible", false);
+
+    let colorSet = am5.ColorSet.new(root, {});
+
+    // The data
+    let data = [
+      {
+        year: "2020",
+        value: 23.5,
+        strokeSettings: {
+          stroke: colorSet.getIndex(0),
+        },
+        fillSettings: {
+          fill: colorSet.getIndex(0),
+        },
+        bulletSettings: {
+          fill: colorSet.getIndex(0),
+        },
+      },
+      {
+        year: "2021",
+        value: 26,
+        fillSettings: {
+          fill: colorSet.getIndex(1),
+        },
+        bulletSettings: {
+          fill: colorSet.getIndex(1),
+        },
+      },
+      {
+        year: "2022",
+        value: 30,
+        fillSettings: {
+          fill: colorSet.getIndex(2),
+        },
+        bulletSettings: {
+          fill: colorSet.getIndex(2),
+        },
+      },
+    ];
+
+    // Create axes
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
+    let xRenderer = am5xy.AxisRendererX.new(root, {});
+    xRenderer.grid.template.set("location", 0.5);
+    xRenderer.labels.template.setAll({
+      location: 0.5,
+      multiLocation: 0.5,
+    });
+
+    let xAxis = chart.xAxes.push(
+      am5xy.CategoryAxis.new(root, {
+        categoryField: "year",
+        renderer: xRenderer,
+        tooltip: am5.Tooltip.new(root, {}),
+      })
+    );
+
+    xAxis.data.setAll(data);
+
+    let yAxis = chart.yAxes.push(
+      am5xy.ValueAxis.new(root, {
+        maxPrecision: 0,
+        renderer: am5xy.AxisRendererY.new(root, {}),
+      })
+    );
+
+    let series = chart.series.push(
+      am5xy.LineSeries.new(root, {
+        xAxis: xAxis,
+        yAxis: yAxis,
+        valueYField: "value",
+        categoryXField: "year",
+        tooltip: am5.Tooltip.new(root, {
+          labelText: "{valueY}",
+          dy: -5,
+        }),
+      })
+    );
+
+    series.strokes.template.setAll({
+      templateField: "strokeSettings",
+      strokeWidth: 2,
+    });
+
+    series.fills.template.setAll({
+      visible: true,
+      fillOpacity: 0.5,
+      templateField: "fillSettings",
+    });
+
+    series.bullets.push(function () {
+      return am5.Bullet.new(root, {
+        sprite: am5.Circle.new(root, {
+          templateField: "bulletSettings",
+          radius: 5,
+        }),
+      });
+    });
+
+    series.data.setAll(data);
+    series.appear(1000);
+
+    // Add scrollbar
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/scrollbars/
+    // chart.set(
+    //   "scrollbarX",
+    //   am5.Scrollbar.new(root, {
+    //     orientation: "horizontal",
+    //     marginBottom: 20,
+    //   })
+    // );
+
+    // Make stuff animate on load
+    // https://www.amcharts.com/docs/v5/concepts/animations/
+    chart.appear(1000, 100);
+  }
+  componentWillUnmount() {
+    if (this.root) {
+      this.root.dispose();
+    }
+  }
+
+  render() {
+    return <div id="chartdiv" style={{ width: "100%", height: "90%" }}></div>;
+  }
+}
+
+export default LineColor;
client/views/component/chart/Map.jsx
--- client/views/component/chart/Map.jsx
+++ client/views/component/chart/Map.jsx
@@ -1,12 +1,13 @@
 import React, { Component } from "react";
 import * as am5 from "@amcharts/amcharts5";
 import * as am5map from "@amcharts/amcharts5/map";
-import am5geodata_usaLow from "../map";
+import am5geodata_gunwi from "../map";
 import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
-// import seniorjson from "../../component/senior.json";
+import am4geodata_continentsLow from "@amcharts/amcharts4-geodata/continentsLow";
 
 class Map extends Component {
   componentDidMount() {
+    const props = this.props;
     let root = am5.Root.new("Map");
     root.setThemes([am5themes_Animated.new(root)]);
 
@@ -23,7 +24,7 @@
     // Create polygon series
     let polygonSeries = chart.series.push(
       am5map.MapPolygonSeries.new(root, {
-        geoJSON: am5geodata_usaLow,
+        geoJSON: am5geodata_gunwi,
       })
     );
 
@@ -71,7 +72,7 @@
       }
       chart.goHome();
       zoomOut.hide();
-      currentSeries = regionalSeries.US.series;
+      currentSeries = regionalSeries.KR.series;
       currentSeries.show();
     });
     zoomOut.hide();
@@ -83,11 +84,11 @@
     // Load senior data
     am5.net
       .load(
-        "https://gist.githubusercontent.com/dbskfnd/e618b91a622b8efeb55ccc562c47864a/raw/23d9030fe1e6e42d6e43348d86b02f6aafa464e2/seniornumber.json"
+        "https://gist.githubusercontent.com/jlchoi1932/c3673a65fd00efa9192b3aac5bc02a1a/raw/e7bf0bc2320d0baa2f8274f94084a3dd2b098c91/_GunwiRegion.json"
       )
       .then(function (result) {
         let seniors = am5.JSONParser.parse(result.response);
-        setupseniors(seniors);
+        setupseniors(seniors); 
       });
 
     let regionalSeries = {};
@@ -98,13 +99,13 @@
       console.log(data);
 
       // Init country-level series
-      regionalSeries.US = {
+      regionalSeries.KR = {
         markerData: [],
         series: createSeries("seniors"),
       };
 
       // Set current series
-      currentSeries = regionalSeries.US.series;
+      currentSeries = regionalSeries.KR.series;
 
       // Process data
       am5.array.each(data.query_results, function (senior) {
@@ -130,7 +131,7 @@
               type: "state",
               name: statePolygon.dataItem.dataContext.name,
               count: senior.count,
-              seniors: 1,
+              seniors: senior.count,
               state: senior.state,
               markerData: [],
               geometry: {
@@ -138,7 +139,7 @@
                 coordinates: [centroid.longitude, centroid.latitude],
               },
             };
-            regionalSeries.US.markerData.push(regionalSeries[senior.state]);
+            regionalSeries.KR.markerData.push(regionalSeries[senior.state]);
           } else {
             // State not found
             return;
@@ -149,42 +150,42 @@
         }
 
         // Process city-level data
-        if (regionalSeries[senior.city] == undefined) {
-          regionalSeries[senior.city] = {
-            target: senior.city,
-            type: "city",
-            name: senior.city,
-            count: senior.count,
-            seniors: 1,
-            state: senior.state,
-            markerData: [],
-            geometry: {
-              type: "Point",
-              coordinates: [senior.long, senior.lat],
-            },
-          };
-          regionalSeries[senior.state].markerData.push(
-            regionalSeries[senior.city]
-          );
-        } else {
-          regionalSeries[senior.city].seniors++;
-          regionalSeries[senior.city].count += senior.count;
-        }
+        // if (regionalSeries[senior.city] == undefined) {
+        //   regionalSeries[senior.city] = {
+        //     target: senior.city,
+        //     type: "city",
+        //     name: senior.city,
+        //     count: senior.count,
+        //     seniors: 1,
+        //     state: senior.state,
+        //     markerData: [],
+        //     geometry: {
+        //       type: "Point",
+        //       coordinates: [senior.long, senior.lat],
+        //     },
+        //   };
+        //   regionalSeries[senior.state].markerData.push(
+        //     regionalSeries[senior.city]
+        //   );
+        // } else {
+        //   regionalSeries[senior.city].seniors++;
+        //   regionalSeries[senior.city].count += senior.count;
+        // }
 
-        // Process individual senior
-        regionalSeries[senior.city].markerData.push({
-          name: senior.location,
-          count: senior.count,
-          seniors: 1,
-          state: senior.state,
-          geometry: {
-            type: "Point",
-            coordinates: [senior.long, senior.lat],
-          },
-        });
+        // // Process individual senior
+        // regionalSeries[senior.city].markerData.push({
+        //   name: senior.location,
+        //   count: senior.count,
+        //   seniors: 1,
+        //   state: senior.state,
+        //   geometry: {
+        //     type: "Point",
+        //     coordinates: [senior.long, senior.lat],
+        //   },
+        // });
       });
-      console.log(regionalSeries.US.markerData);
-      regionalSeries.US.series.data.setAll(regionalSeries.US.markerData);
+      console.log(regionalSeries.KR.markerData);
+      regionalSeries.KR.series.data.setAll(regionalSeries.KR.markerData);
     }
 
     // Finds polygon in series by its id
@@ -210,15 +211,15 @@
 
       // Add senior bullet
       let circleTemplate = am5.Template.new(root);
-      pointSeries.bullets.push(function () {
+      pointSeries.bullets.push(() => {
         let container = am5.Container.new(root, {});
 
         let circle = container.children.push(
           am5.Circle.new(
             root,
             {
-              radius: 10,
-              fill: am5.color(0x000000),
+              radius: 12,
+              fill: am5.color("#f1de04"),
               fillOpacity: 0.7,
               cursorOverStyle: "pointer",
               tooltipText: "{name}:\n[bold]{seniors} seniors[/]",
@@ -239,13 +240,18 @@
         );
 
         // Set up drill-down
-        circle.events.on("click", function (ev) {
+        circle.events.on("click", (ev) => {
           // Determine what we've clicked on
           let data = ev.target.dataItem.dataContext;
+          console.log({ data });
 
           // No id? Individual senior - nothing to drill down to further
           if (!data.target) {
             return;
+          }
+
+          if (data.type === "state") {
+            props.setCityName(data.name);
           }
 
           // Create actual series if it hasn't been yet created
@@ -255,25 +261,25 @@
           }
 
           // Hide current series
-          if (currentSeries) {
-            currentSeries.hide();
-          }
+          // if (currentSeries) {
+          //   currentSeries.hide();
+          // }
 
           // Control zoom
-          if (data.type == "state") {
-            let statePolygon = getPolygon("KR-" + data.state);
-            polygonSeries.zoomToDataItem(statePolygon.dataItem);
-          } else if (data.type == "city") {
-            chart.zoomToGeoPoint(
-              {
-                latitude: data.geometry.coordinates[1],
-                longitude: data.geometry.coordinates[0],
-              },
-              64,
-              true
-            );
-          }
-          zoomOut.show();
+          // if (data.type == "state") {
+          //   let statePolygon = getPolygon("KR-" + data.state);
+          //   polygonSeries.zoomToDataItem(statePolygon.dataItem);
+          // } else if (data.type == "city") {
+          //   chart.zoomToGeoPoint(
+          //     {
+          //       latitude: data.geometry.coordinates[1],
+          //       longitude: data.geometry.coordinates[0],
+          //     },
+          //     64,
+          //     true
+          //   );
+          // }
+          // zoomOut.show();
 
           // Show new targert series
           currentSeries = regionalSeries[data.target].series;
@@ -313,11 +319,11 @@
 
   render() {
     return (
-        <div
-          className="flex80"
-          id="Map"
-          style={{ width: "100%", height: "35vh", marginBottom: "1rem" }}
-        ></div>
+      <div
+        className="flex80"
+        id="Map"
+        style={{ width: "100%", height: "42vh", marginBottom: "1rem" }}
+      ></div>
     );
   }
 }
 
client/views/component/chart/RowChart_govern.jsx (added)
+++ client/views/component/chart/RowChart_govern.jsx
@@ -0,0 +1,244 @@
+import React, { Component } from "react";
+import * as am5 from "@amcharts/amcharts5";
+import * as am5xy from "@amcharts/amcharts5/xy";
+import am5themes_Animated from "@amcharts/amcharts5/themes/Animated";
+
+class RowChart extends Component {
+  componentDidMount() {
+    let root = am5.Root.new("RowChart");
+
+    root._logo.dispose();
+    root.setThemes([am5themes_Animated.new(root)]);
+
+    // Create chart
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/
+    let chart = root.container.children.push(
+      am5xy.XYChart.new(root, {
+        panX: false,
+        panY: false,
+        wheelX: "none",
+        wheelY: "none",
+      })
+    );
+
+    // We don't want zoom-out button to appear while animating, so we hide it
+    chart.zoomOutButton.set("forceHidden", true);
+
+    // Create axes
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/axes/
+    let yRenderer = am5xy.AxisRendererY.new(root, {
+      minGridDistance: 30,
+    });
+
+    let yAxis = chart.yAxes.push(
+      am5xy.CategoryAxis.new(root, {
+        maxDeviation: 0,
+        categoryField: "network",
+        renderer: yRenderer,
+        tooltip: am5.Tooltip.new(root, { themeTags: ["axis"] }),
+      })
+    );
+
+    let xAxis = chart.xAxes.push(
+      am5xy.ValueAxis.new(root, {
+        maxDeviation: 0,
+        min: 0,
+        extraMax: 0.1,
+        renderer: am5xy.AxisRendererX.new(root, {}),
+      })
+    );
+
+    // Add series
+    // https://www.amcharts.com/docs/v5/charts/xy-chart/series/
+    let series = chart.series.push(
+      am5xy.ColumnSeries.new(root, {
+        name: "Series 1",
+        xAxis: xAxis,
+        yAxis: yAxis,
+        valueXField: "value",
+        descriptionField : "value",
+        categoryYField: "network",
+        tooltip: am5.Tooltip.new(root, {
+          pointerOrientation: "left",
+          labelText: "{valueX}",
+        }),
+      })
+    );
+
+    // Rounded corners for columns
+    series.columns.template.setAll({
+      cornerRadiusTR: 5,
+      cornerRadiusBR: 5,
+    });
+
+    // Make each column to be of a different color
+    series.columns.template.adapters.add("fill", function (fill, target) {
+      return chart.get("colors").getIndex(series.columns.indexOf(target));
+    });
+
+    series.columns.template.adapters.add("stroke", function (stroke, target) {
+      return chart.get("colors").getIndex(series.columns.indexOf(target));
+    });
+
+    // Set data
+    let data = [
+      {
+        network: "1월",
+        value: 20,
+      },
+      {
+        network: "2월",
+        value: 18,
+      },
+      {
+        network: "3월",
+        value: 10,
+      },
+      {
+        network: "4월",
+        value: 7,
+      },
+      {
+        network: "5월",
+        value: 5,
+      },
+      {
+        network: "6월",
+        value: 3,
+      },
+      {
+        network: "7월",
+        value: 6,
+      },
+      {
+        network: "8월",
+        value: 7,
+      },
+      {
+        network: "9월",
+        value: 15,
+      },
+      {
+        network: "10월",
+        value: 30,
+      },
+      {
+        network: "11월",
+        value: 13,
+      },
+      {
+        network: "12월",
+        value: 9,
+      },
+    ];
+
+    yAxis.data.setAll(data);
+    series.data.setAll(data);
+    sortCategoryAxis();
+
+    // Get series item by category
+    function getSeriesItem(category) {
+      for (var i = 0; i < series.dataItems.length; i++) {
+        let dataItem = series.dataItems[i];
+        if (dataItem.get("categoryY") == category) {
+          return dataItem;
+        }
+      }
+    }
+
+    chart.set(
+      "cursor",
+      am5xy.XYCursor.new(root, {
+        behavior: "none",
+        xAxis: xAxis,
+        yAxis: yAxis,
+      })
+    );
+
+    // Axis sorting
+    function sortCategoryAxis() {
+      // Sort by value
+      series.dataItems.sort(function (x, y) {
+        return x.get("valueX") - y.get("valueX"); // descending
+        //return y.get("valueY") - x.get("valueX"); // ascending
+      });
+
+      // Go through each axis item
+      am5.array.each(yAxis.dataItems, function (dataItem) {
+        // get corresponding series item
+        let seriesDataItem = getSeriesItem(dataItem.get("category"));
+
+        if (seriesDataItem) {
+          // get index of series data item
+          let index = series.dataItems.indexOf(seriesDataItem);
+          // calculate delta position
+          let deltaPosition =
+            (index - dataItem.get("index", 0)) / series.dataItems.length;
+          // set index to be the same as series data item index
+          dataItem.set("index", index);
+          // set deltaPosition instanlty
+          dataItem.set("deltaPosition", -deltaPosition);
+          // animate delta position to 0
+          dataItem.animate({
+            key: "deltaPosition",
+            to: 0,
+            duration: 1000,
+            easing: am5.ease.out(am5.ease.cubic),
+          });
+        }
+      });
+
+      // Sort axis items by index.
+      // This changes the order instantly, but as deltaPosition is set,
+      // they keep in the same places and then animate to true positions.
+      yAxis.dataItems.sort(function (x, y) {
+        return x.get("index") - y.get("index");
+      });
+    }
+
+    // update data with random values each 1.5 sec
+    // setInterval(function () {
+    //   updateData();
+    // }, 1500);
+
+    // function updateData() {
+    //   am5.array.each(series.dataItems, function (dataItem) {
+    //     let value =
+    //       dataItem.get("valueX") +
+    //       Math.round(Math.random() * 1000000000 - 500000000);
+    //     if (value < 0) {
+    //       value = 500000000;
+    //     }
+    //     // both valueY and workingValueY should be changed, we only animate workingValueY
+    //     dataItem.set("valueX", value);
+    //     dataItem.animate({
+    //       key: "valueXWorking",
+    //       to: value,
+    //       duration: 600,
+    //       easing: am5.ease.out(am5.ease.cubic),
+    //     });
+    //   });
+
+    //   sortCategoryAxis();
+    // }
+
+    // Make stuff animate on load
+    // https://www.amcharts.com/docs/v5/concepts/animations/
+    series.appear(1000);
+    chart.appear(1000, 100);
+
+    this.root = root;
+  }
+
+  componentWillUnmount() {
+    if (this.root) {
+      this.root.dispose();
+    }
+  }
+
+  render() {
+    return <div id="RowChart" style={{ width: "100%", height: "80%" }}></div>;
+  }
+}
+
+export default RowChart;
client/views/component/map.js
--- client/views/component/map.js
+++ client/views/component/map.js
@@ -1,4 +1,4 @@
-var rnsdnl = {
+var gunwi = {
   type: "FeatureCollection",
   features: [
     {
@@ -513,11 +513,11 @@
       },
       properties: {
         name: "군위읍",
-        id: "KR-rnsdnldmq",
+        id: "KR-gunwieup",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-rnsdnldmq",
+      id: "KR-gunwieup",
     },
     {
       type: "Feature",
@@ -1251,11 +1251,11 @@
       },
       properties: {
         name: "소보면",
-        id: "KR-thqhaus",
+        id: "KR-sobomyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-thqhaus",
+      id: "KR-sobomyeon",
     },
     {
       type: "Feature",
@@ -2021,11 +2021,11 @@
       },
       properties: {
         name: "효령면",
-        id: "KR-gyfudaus",
+        id: "KR-hyolyeongmyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-gyfudaus",
+      id: "KR-hyolyeongmyeon",
     },
     {
       type: "Feature",
@@ -2538,11 +2538,11 @@
       },
       properties: {
         name: "부계면",
-        id: "KR-qnrPaus",
+        id: "KR-bugyemyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-qnrPaus",
+      id: "KR-bugyemyeon",
     },
     {
       type: "Feature",
@@ -3013,11 +3013,11 @@
       },
       properties: {
         name: "우보면",
-        id: "KR-dnqhaus",
+        id: "KR-ubomyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-dnqhaus",
+      id: "KR-ubomyeon",
     },
     {
       type: "Feature",
@@ -3477,11 +3477,11 @@
       },
       properties: {
         name: "의흥면",
-        id: "KR-dmlgmdaus",
+        id: "KR-uiheungmyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-dmlgmdaus",
+      id: "KR-uiheungmyeon",
     },
     {
       type: "Feature",
@@ -3952,11 +3952,11 @@
       },
       properties: {
         name: "산성면",
-        id: "KR-tkstjdaus",
+        id: "KR-sanseongmyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-tkstjdaus",
+      id: "KR-sanseongmyeon",
     },
     {
       type: "Feature",
@@ -4553,12 +4553,12 @@
       },
       properties: {
         name: "삼국유사면",
-        id: "KR-tkarnrdbtkaus",
+        id: "KR-samgugyusamyeon",
         TYPE: "Province",
         CNTRY: "South Korea",
       },
-      id: "KR-tkarnrdbtkaus",
+      id: "KR-samgugyusamyeon",
     },
   ],
 };
-export default rnsdnl;
+export default gunwi;
client/views/pages/AppRoute.jsx
--- client/views/pages/AppRoute.jsx
+++ client/views/pages/AppRoute.jsx
@@ -15,6 +15,7 @@
 import SettingsIcon from "@mui/icons-material/Settings";
 import CallIcon from '@mui/icons-material/Call';
 import ConstructionIcon from '@mui/icons-material/Construction';
+import EqualizerIcon from '@mui/icons-material/Equalizer';
 
 import Test from "./Test/Test.jsx";
 import Main_government from "./main/Main_government.jsx";
@@ -28,7 +29,9 @@
 import MedicineCareSelectOne from "./healthcare/medicinecare/MedicineCareSelectOne.jsx";
 import TemperatureManagementSelect from "./healthcare/temperature/TemperatureManagementSelect.jsx";
 import TemperatureManagementSelectOne from "./healthcare/temperature/TemperatureManagementSelectOne.jsx";
+import Questionnaire from "./healthcare/Questionnaire.jsx";
 import MedicineStatistics from "./healthcare/statistics/MedicineStatistics.jsx";
+import GuardianStatistics from "./healthcare/statistics/GuardianStatistics.jsx";
 import VisitSelect from "./visit/visit/VisitSelect.jsx";
 import VisitInsert from "./visit/visit/VisitInsert.jsx";
 import VisitSelectOne from "./visit/visit/VisitSelectOne.jsx";
@@ -54,9 +57,29 @@
 
 const AllAppMenuItems = [
   {
-    title: "Home",
+    title: "Home(올잇메디)",
     path: "/Main",
     icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />,
+  },
+  {
+    title: "Home(에이젼시)",
+    path: "/Main_agency",
+    icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />,
+  },
+  {
+    title: "Home(관리기관)",
+    path: "/Main_government",
+    icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />,
+  },
+  {
+    title: "Home(보호자)",
+    path: "/Main_guardian",
+    icon: <HouseIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />,
+  },
+  {
+    title: "그래프로 보기",
+    path: "/GuardianStatistics",
+    icon: <EqualizerIcon sx={{ fontSize: 20, color: "#ffffff", marginRight: 1 }} />,
   },
   {
     title: "사용자 관리",
@@ -106,7 +129,7 @@
       },
       {
         title: "문진표 작성",
-        path: "/TemperatureManagementSelect",
+        path: "/Questionnaire",
       },
     ],
   },
@@ -245,6 +268,8 @@
         <Route path="/AgencyInsert" element={<AgencyInsert />}></Route>
         <Route path="/AgencySelect" element={<AgencySelect />}></Route>
         <Route path="/ProtectorSelect" element={<ProtectorSelect />}></Route>
+        <Route path="/Questionnaire" element={<Questionnaire />}></Route>
+        <Route path="/GuardianStatistics" element={<GuardianStatistics />}></Route>
       </Routes>
   );
 }
 
client/views/pages/healthcare/Questionnaire.jsx (added)
+++ client/views/pages/healthcare/Questionnaire.jsx
@@ -0,0 +1,145 @@
+import React from "react";
+import { useNavigate } from "react-router";
+import DetailSearch from "../../component/DetailSearch.jsx";
+import Table from "../../component/Table.jsx";
+import ContentTitle from "../../component/ContentTitle.jsx";
+import SubTitle from "../../component/SubTitle.jsx";
+import Button from "../../component/Button.jsx";
+import Modal from "../../component/Modal.jsx";
+
+export default function Questionnaire() {
+  const navigate = useNavigate();
+  const [modalOpen, setModalOpen] = React.useState(false);
+  const openModal = () => {
+    setModalOpen(true);
+  };
+  const closeModal = () => {
+    setModalOpen(false);
+  };
+  //게시판
+  const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소", "문진표",];
+  const key = ["No", "name","number", "birth", "phone", "address", "average"];
+  const content = [
+    {
+      No: 1,
+      name: "김복남",
+      number: "00000001",
+      birth: "1948.11.15",
+      phone: "010-1234-5678",
+      address: "경상북도 군위군 삼국유사면",
+      average: (
+        <Button
+          className={"btn-small gray-btn"}
+          btnName={"작성하기"}
+          onClick={openModal}
+        />
+      ),
+    },
+    {
+      No: 2,
+      name: "홍길동",
+      number: "00000001",
+      birth: "1948.08.02",
+      phone: "010-1234-3333",
+      address: "경상북도 군위군 군위읍",
+      average: (
+        <Button
+          className={"btn-small gray-btn"}
+          btnName={"보기"}
+          onClick={openModal}
+        />
+      ),
+    },
+  ];
+
+  return (
+    <main>
+      <Modal open={modalOpen} close={closeModal} header="문진표 작성">
+        <div className="board-wrap">        
+          <div>
+          <table className="margin-bottom2  questionnaire-table">
+            <tr>
+              <th>흡연을 하십니까?</th>
+              <td className="flex-start">
+              <input type="radio" />
+                  <label for="gender">예</label>
+              <input type="radio" />
+                  <label for="gender">아니요</label>
+              </td>              
+            </tr>
+            <tr>
+            <th>음주를 하십니까?</th>
+              <td className="flex-start">
+              <input type="radio" />
+                  <label for="gender">예</label>
+              <input type="radio" />
+                  <label for="gender">아니요</label>
+              </td>              
+            </tr>
+            <tr>
+            <th>일주일에 운동을 몇회 하십니까?</th>
+              <td className="flex-start">
+              <input type="radio" />
+                  <label for="gender">안함</label>
+              <input type="radio" />
+                  <label for="gender">3회 미만</label>
+              <input type="radio" />
+                  <label for="gender">3회 이상</label>
+              <input type="radio" />
+                  <label for="gender">매일</label>
+              </td>
+            </tr>
+            <tr>
+            <th>최근 3개월 동안 갑작스런 체중 변화가 있었습니까?</th>
+              <td className="flex-start">
+              <input type="radio" />
+                  <label for="gender">예 - 증가</label>
+              <input type="radio" />
+                  <label for="gender">예 - 감소</label>
+              <input type="radio" />
+                  <label for="gender">아니요</label>
+              </td>   
+            </tr>
+            <tr>
+            <th>현재 복용중인 약이 있으면 체크를 해주세요.</th>
+              <td className="flex-start">
+              <input type="checkbox" />
+                  <label for="gender">없음</label>
+              <input type="checkbox" />
+                  <label for="gender">아스피린(항혈소판제)</label>
+              <input type="checkbox" />
+                  <label for="gender">당뇨약</label>
+              <input type="checkbox" />
+                  <label for="gender">고혈압약</label>
+              <input type="checkbox" />
+                  <label for="gender">기타</label><input type="text" />
+              </td>              
+            </tr>
+          </table>
+          </div>
+          <div>
+            <Button
+              className={"btn-100 green-btn"}
+              btnName={"닫기"}
+              onClick={closeModal}
+            />
+          </div>
+        </div>
+      </Modal>
+      <div className="content-wrap">
+      <ContentTitle contentTitle={"문진표 조회"} />
+        <div>
+          <DetailSearch />
+          <div className="board-wrap">
+            <Table
+            className={"medicine-table"}
+              head={thead}
+              contents={content}
+              contentKey={key}
+            />
+          </div>
+        </div>
+      </div>
+    </main>
+  );
+}
client/views/pages/healthcare/medicinecare/MedicineCareSelectOne.jsx
--- client/views/pages/healthcare/medicinecare/MedicineCareSelectOne.jsx
+++ client/views/pages/healthcare/medicinecare/MedicineCareSelectOne.jsx
@@ -3,8 +3,13 @@
 import Modal from "../../../component/Modal.jsx";
 import { useNavigate } from "react-router";
 import Chart1 from "../../../component/chart/Chart1.jsx";
+import Chart3 from "../../../component/chart/Chart3.jsx";
+import Chart from "../../../component/chart/Chart.jsx";
 import ContentTitle from "../../../component/ContentTitle.jsx";
 import TableTitle from "../../../component/Tabletitle.jsx";
+import SubTitle from "../../../component/SubTitle.jsx";
+import Donut2 from "../../../component/chart/Donut2.jsx";
+import LineColor_medicine from "../../../component/chart/LineColor_medicine.jsx";
 
 export default function MedicineCareSelectOne() {
   const navigate = useNavigate();
@@ -100,11 +105,77 @@
         </div>
       </Modal>
       <div className="content-wrap">
-        <ContentTitle contentTitle={"복약 상세 페이지"}/>
+        <ContentTitle contentTitle={"복약 상세 페이지"} />
         <div className="detail-graph">
-          <TableTitle tableTitle={" 님의 복약 내역"}/>
+          <TableTitle tableTitle={" 님의 복약 내역"} />
           <Chart1 />
         </div>
+        <div className="medicine-grid margin-bottom">
+          <div><SubTitle
+            className="margin-bottom"
+            explanation={"전체 기간 복용률"}
+            color={"#333333"}
+          />
+            <div
+              style={{
+                border: "1px solid #eeeeee",
+                borderRadius: "0.5rem",
+                padding: "1rem",
+                height: "17vh",
+              }}
+            >
+              <Donut2 />
+            </div>
+          </div>
+          <div><SubTitle
+            className="margin-bottom"
+            explanation={"주별 복약율 통계"}
+            color={"#333333"}
+          />
+            <div
+              style={{
+                border: "1px solid #eeeeee",
+                borderRadius: "0.5rem",
+                padding: "1rem",
+                height: "17vh",
+              }}
+            >
+              <Chart3 />
+            </div>
+          </div>
+          <div><SubTitle
+            className="margin-bottom"
+            explanation={"월별 복약율 통계"}
+            color={"#333333"}
+          />
+            <div
+              style={{
+                border: "1px solid #eeeeee",
+                borderRadius: "0.5rem",
+                padding: "1rem",
+                height: "17vh",
+              }}
+            >
+              <Chart />
+            </div>
+          </div>
+          <div><SubTitle
+            className="margin-bottom"
+            explanation={"년별 복약율 통계"}
+            color={"#333333"}
+          />
+            <div
+              style={{
+                border: "1px solid #eeeeee",
+                borderRadius: "0.5rem",
+                padding: "1rem",
+                height: "17vh",
+              }}
+            >
+              <LineColor_medicine />
+            </div>
+          </div>
+        </div>
         <div className="board-wrap">
           <table className="margin-bottom2 medicine-detail-table">
             <thead>
 
client/views/pages/healthcare/statistics/GuardianStatistics.jsx (added)
+++ client/views/pages/healthcare/statistics/GuardianStatistics.jsx
@@ -0,0 +1,67 @@
+import React from "react";
+import ClearIcon from '@mui/icons-material/Clear';
+import BatteryCharging20Icon from '@mui/icons-material/BatteryCharging20';
+import DeviceThermostatIcon from '@mui/icons-material/DeviceThermostat';
+import MedicationIcon from '@mui/icons-material/Medication';
+import AssignmentTurnedInIcon from '@mui/icons-material/AssignmentTurnedIn';
+import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';
+import Chart2_guard from "../../../component/chart/Chart2_guard.jsx";
+import Chart from "../../../component/chart/Chart.jsx";
+import Chart1 from "../../../component/chart/Chart1.jsx";
+import LineColor from "../../../component/chart/LineColor.jsx";
+import ContentTitle from "../../../component/ContentTitle.jsx";
+
+export default function GuardianStatistics() {
+
+
+
+  return (
+    <>
+      <main>
+        <ContentTitle contentTitle={"그래프로 한눈에 보기"} />
+        <div className="statistics-grid">
+          <ul className="content-box statistics-guardian">
+            <li className="flex-start">
+              <p><AssignmentTurnedInIcon sx={{ width: "5rem", height: "5rem", color: "#bf0629", borderRadius: "50px" }} /></p>
+              <p>방문 그래프</p>
+              <p>이번달 보호사님이 방문한 횟수는 총 4회 입니다.</p>
+            </li>
+            <li className="chart-guardian">
+              <Chart />
+            </li>
+          </ul>
+          <ul className="content-box statistics-guardian">
+            <li className="flex-start">
+              <p><MedicationIcon sx={{ width: "5rem", height: "5rem", color: "#0dd390", borderRadius: "50px" }} /></p>
+              <p>복약 체크</p>
+              <p>약을 잘 복용하고 계신지 체크해주세요</p>
+            </li>
+            <li className="chart-guardian">
+              <Chart1 />
+            </li>
+          </ul>
+          <ul className="content-box statistics-guardian">
+            <li className="flex-start">
+              <p><DeviceThermostatIcon sx={{ width: "5rem", height: "5rem", color: "#f1de05", borderRadius: "50px" }} /></p>
+              <p>온도 체크</p>
+              <p>댁내 온도가 적절한지 체크해보세요.</p>
+            </li>
+            <li className="chart-guardian">
+              <LineColor />
+            </li>
+          </ul>
+          <ul className="content-box statistics-guardian">
+            <li className="flex-start">
+              <p><BatteryCharging20Icon sx={{ width: "5rem", height: "5rem", color: "#5f9af3", borderRadius: "50px" }} /></p>
+              <p>현재 스마트 약상자의 배터리가 40% 입니다.</p>
+              <p></p>
+            </li>
+            <li className="chart-guardian">
+              <Chart2_guard />
+            </li>
+          </ul>
+        </div>
+      </main>
+    </>
+  );
+}
client/views/pages/main/Main.jsx
--- client/views/pages/main/Main.jsx
+++ client/views/pages/main/Main.jsx
@@ -116,7 +116,7 @@
 
   return (
     <main>
-      <div className="main-grid-agency">
+      <div className="main-grid">
         <ul className="content-box statistics flex combine-left">
           <li>
             <p>전체 장비 대여수</p>
client/views/pages/main/Main_agency.jsx
--- client/views/pages/main/Main_agency.jsx
+++ client/views/pages/main/Main_agency.jsx
@@ -3,8 +3,7 @@
 import Table from "../../component/Table.jsx";
 import Map from "../../component/chart/Map.jsx";
 import Chart from "../../component/chart/Chart.jsx";
-import Chart5 from "../../component/chart/Chart5.jsx";
-import Chart2 from "../../component/chart/Chart2.jsx";
+import Chart5_agency from "../../component/chart/Chart5_agency.jsx";
 import Chart2_agency from "../../component/chart/Chart2_agency.jsx";
 import Chart4 from "../../component/chart/Chart4.jsx";
 import ClusteredColumnChart from "../../component/chart/ClusteredColumnChart.jsx";
@@ -18,101 +17,59 @@
 import ElderlyIcon from '@mui/icons-material/Elderly';
 
 export default function Main2() {
-  const tableHead = ["방문날짜", "방문사유", "방문 상세 사유"];
-  const Key = ["date", "reason", "detail_reason"];
+  const thead = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소", "미복약 누적 횟수",];
+  const key = ["No", "name","number", "birth", "phone", "address", "average"];
   const content = [
     {
-      date: "2022.12.12",
-      reason: "어르신케어",
-      detail_reason: "하루동안 미복약으로 방문. 방문시 두통을 호소하셔 병원 동행",
-    },
-  ];
-
-  //노인리스트
-  const tableHead2 = [
-    "이름",
-    "요양등급",
-    "생년월일",
-    "연락처",
-    "주소",
-    "기저질환",
-  ];
-  const Key2 = [
-    "name",
-    "level_of_care",
-    "birth",
-    "phone",
-    "address",
-    "management_number",
-  ];
-  const content2 = [
-    {
+      No: 1,
       name: "김복남",
-      level_of_care: "1등급",
+      number: "00000001",
       birth: "1948.11.15",
       phone: "010-1234-5678",
       address: "경상북도 군위군 삼국유사면",
-      management_number: "혈압",
+      average: "6회",
     },
+  ];
+  const thead2 = ["No", "이름","시니어등록번호", "생년월일", "연락처", "주소", "최근 최저 온도","최근 최고 온도"];
+  const key2 = ["No", "name","number", "birth", "phone", "address", "low", "high"];
+  const content2 = [
     {
-      name: "홍길동",
-      level_of_care: "2등급",
-      birth: "1948.05.18",
-      phone: "010-3333-3333",
+      No: 1,
+      name: "김복남",
+      number: "00000001",
+      birth: "1948.11.15",
+      phone: "010-1234-5678",
       address: "경상북도 군위군 삼국유사면",
-      management_number: "당뇨",
-    },
-    {
-      name: "김말순",
-      level_of_care: "3등급",
-      birth: "1939.03.19",
-      phone: "010-3333-4444",
-      address: "경상북도 군위군 삼국유사면",
-      management_number: "천식",
-    },
-    {
-      name: "신정길",
-      level_of_care: "1등급",
-      birth: "1945.05.19",
-      phone: "010-3333-5555",
-      address: "경상북도 군위군 삼국유사면",
-      management_number: "폐렴",
-    },
-    {
-      name: "김정남",
-      level_of_care: "1등급",
-      birth: "1945.05.19",
-      phone: "010-3333-6666",
-      address: "경상북도 군위군 삼국유사면",
-      management_number: "인지장애",
+      low: "6°C",
+      high: "6°C",
     },
   ];
 
   return (
     <main>
       <div className="main-grid-agency">
-        <ul className="content-box statistics" background="#f7acba">
+        <ul className="content-box statistics-agency" background="#f7acba">
           <li> 
             <p><ElderlyIcon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#bf0629", borderRadius:"50px" }}/></p>           
             <p>나의 관리 대상자</p>
             <p>40</p>
           </li>
                   </ul>
-        <ul className="content-box statistics" background="#8ef3d1">
+        <ul className="content-box statistics-agency" background="#8ef3d1">
           <li>
            <p><MedicationIcon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#076143", borderRadius:"50px" }}/></p>
             <p>미복약 위험 대상자</p>
             <p>40</p>
           </li>
         </ul>
-        <ul className="content-box statistics" background="#ebe7b9" >
+        <ul className="content-box statistics-agency" background="#ebe7b9" >
           <li>
              <p><DeviceThermostatIcon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#f1de05", borderRadius:"50px" }}/></p>
             <p>댁내 온도 위험 대상자</p>
             <p>40</p>
           </li>
         </ul>
-        <ul className="content-box statistics" background="#5f9af3">
+        <ul className="content-box statistics-agency" background="#5f9af3">
           <li>
             <p><BatteryCharging20Icon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#5f9af3", borderRadius:"50px" }}/></p>
             <p>배터리 부족 대상자 </p>
@@ -122,33 +79,49 @@
        
         <div className="content-box bg-1 combine-left-government2 combine-middle-government">
           <div className="flex">
-          <Title title={"약상자 사용자 수(명)"} explanation={"월별 약상자 사용 인원"} />
-            <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
-          </div>
-          <Chart2 />
-        </div>
-        <div className="content-box bg-2 combine-left-government2 combine-bottom-government6">
-          <div className="flex">
-          <Title title={"복용률 통계"} explanation={"월별 약상자 사용 인원"} />
+          <Title title={"복용률 통계"} explanation={"복용률 현황을 확인할 수 있습니다."} />
             <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
           </div>
           <Chart2_agency />
         </div>
-        <div className="content-box bg-1 combine-left-government2 combine-bottom-government7">
+        <div className="content-box bg-2 combine-left-government2 combine-bottom-government6">
           <div className="flex">
-          <Title title={"월별 복지사 인원 및 인건비 현황"} explanation={"월별 약상자 사용 인원"} />
+          <Title title={"미복약 위험 시니어 리스트"} explanation={"월별 약상자 사용 인원"} />
             <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
           </div>
-          <Chart />
+          <Table
+            className={"medicine-table"}
+              head={thead}
+              contents={content}
+              contentKey={key}
+              onClick={() => {
+                navigate("/MedicineCareSelectOne");
+              }}
+            />
+        </div>
+        <div className="content-box bg-1 combine-left-government2 combine-bottom-government7">
+          <div className="flex">
+          <Title title={"댁내온도 위험 시니어 리스트"} explanation={"월별 약상자 사용 인원"} />
+            <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
+          </div>
+          <Table
+            className={"medicine-table"}
+              head={thead2}
+              contents={content2}
+              contentKey={key2}
+              onClick={() => {
+                navigate("/MedicineCareSelectOne");
+              }}
+            />
         </div>
         <div className="content-box combine-right-government2 combine-bottom-government5">
           <div className="flex">
-            <Title title={"방문한지 2"} explanation={"최근 6개월간 방문 횟수의 변화를 확인할 수 있습니다."} />
+            <Title title={"나의 관리 대상자"} explanation={"지역별 시니어 현황을 확인할 수 있습니다."} />
             <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
           </div>
-          <RowChart />
+          <Chart5_agency />
         </div>
-        <div className="content-box combine-right-government combine-middle-government">
+        <div className="content-box combine-right-government combine-bottom-government2">
           <div className="flex">
           <Title title={"방문 달력"} explanation={"방문 일정을 캘린더로 관리하세요."} />
           </div>
client/views/pages/main/Main_government.jsx
--- client/views/pages/main/Main_government.jsx
+++ client/views/pages/main/Main_government.jsx
@@ -2,16 +2,16 @@
 import Title from "../../component/Title.jsx";
 import Map from "../../component/chart/Map.jsx";
 import Chart5 from "../../component/chart/Chart5.jsx";
-import Chart2 from "../../component/chart/Chart2.jsx";
-import Donut1 from "../../component/chart/Donut1.jsx";
-import RowChart from "../../component/chart/RowChart.jsx";
+import Chart2_govern from "../../component/chart/Chart2_govern.jsx";
+import Donut1_govern from "../../component/chart/Donut1_govern.jsx";
+import RowChart_govern from "../../component/chart/RowChart_govern.jsx";
 import AddCircleIcon from "@mui/icons-material/AddCircle";
 import BatteryCharging20Icon from '@mui/icons-material/BatteryCharging20';
 import DeviceThermostatIcon from '@mui/icons-material/DeviceThermostat';
 import MedicationIcon from '@mui/icons-material/Medication';
 import ElderlyIcon from '@mui/icons-material/Elderly';
 
-export default function Main2() {
+export default function Main_government() {
   const [cityName, setCityName] = useState("군위군");
   // const tableHead = ["방문날짜", "방문사유", "방문 상세 사유"];
   // const Key = ["date", "reason", "detail_reason"];
@@ -86,28 +86,28 @@
   return (
     <main>
       <div className="main-grid-government">
-        <ul className="content-box statistics" background="#f7acba">
+        <ul className="content-box statistics-govern" background="#f7acba">
           <li> 
             <p><ElderlyIcon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#bf0629", borderRadius:"50px" }}/></p>           
             <p>{cityName} 전체 대상자</p>
             <p>400</p>
           </li>
                   </ul>
-        <ul className="content-box statistics" background="#8ef3d1">
+        <ul className="content-box statistics-govern" background="#8ef3d1">
           <li>
            <p><MedicationIcon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#076143", borderRadius:"50px" }}/></p>
             <p>{cityName} 미복약 위험 대상자</p>
             <p>400</p>
           </li>
         </ul>
-        <ul className="content-box statistics" background="#ebe7b9" >
+        <ul className="content-box statistics-govern" background="#ebe7b9" >
           <li>
              <p><DeviceThermostatIcon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#f1de05", borderRadius:"50px" }}/></p>
             <p>{cityName} 댁내 온도 위험 대상자</p>
             <p>400</p>
           </li>
         </ul>
-        <ul className="content-box statistics" background="#5f9af3">
+        <ul className="content-box statistics-govern" background="#5f9af3">
           <li>
             <p><BatteryCharging20Icon sx={{ width: "50px", height: "50px", color: "#ffffff", background:"#5f9af3", borderRadius:"50px" }}/></p>
             <p>{cityName} 배터리 부족 대상자 </p>
@@ -119,7 +119,7 @@
             <Title title={`${cityName} 월별 방문 횟수`} explanation={"최근 6개월간 방문 횟수의 변화를 확인할 수 있습니다."} />
             <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
           </div>
-          <RowChart />
+          <RowChart_govern />
         </div>
         <div className="content-box combine-left-government combine-bottom-government2 main-main">
           <div className="flex">
@@ -133,7 +133,7 @@
             <Title title={`${cityName} 복용률 평균`} explanation={"해당 지역의 대상자 복용률이 그래프로 보여집니다."} />
             <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
           </div>
-          <Chart2 />
+          <Chart2_govern />
         </div>
         <div className="content-box combine-right-government2">
         <div className="flex">
@@ -147,7 +147,7 @@
             <Title title={`기관별 약상자 사용 현황`} explanation={""} />
             <AddCircleIcon sx={{ fontSize: 20, color: "#1976d2" }} />
           </div>
-          <Donut1 />
+          <Donut1_govern />
         </div>        
       </div>
     </main>
client/views/pages/main/Main_guardian.jsx
--- client/views/pages/main/Main_guardian.jsx
+++ client/views/pages/main/Main_guardian.jsx
@@ -1,16 +1,14 @@
 import React from "react";
 import Title from "../../component/Title.jsx";
 import Table from "../../component/Table.jsx";
-import Chart1 from "../../component/chart/Chart1.jsx";
-import CalendarComponent from "../../component/Calendar.jsx";
-import AddCircleIcon from "@mui/icons-material/AddCircle";
-import CallIcon from '@mui/icons-material/Call';
+import Calendar from "../../component/Calendar.jsx";
 import ClearIcon from '@mui/icons-material/Clear';
 import BatteryCharging20Icon from '@mui/icons-material/BatteryCharging20';
 import DeviceThermostatIcon from '@mui/icons-material/DeviceThermostat';
 import MedicationIcon from '@mui/icons-material/Medication';
 import AssignmentTurnedInIcon from '@mui/icons-material/AssignmentTurnedIn';
 import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline';
+import ErrorIcon from '@mui/icons-material/Error';
 
 export default function Main_guardian() {
   const tableHead1 = ["", "", "", "", "", ""];
@@ -68,7 +66,7 @@
     <>
       <main>
         <div className="main-grid-guardian">
-          <ul className="content-box statistics">
+          <ul className="content-box statistics-guardian">
             <li className="flex-start">
               <p><AssignmentTurnedInIcon sx={{ width: "5rem", height: "5rem", color: "#bf0629", borderRadius: "50px" }} /></p>
               <p>방문 체크</p>
@@ -76,7 +74,7 @@
             </li>
             <Calendar />
           </ul>
-          <ul className="content-box statistics">
+          <ul className="content-box statistics-guardian">
             <li className="flex-start">
               <p><MedicationIcon sx={{ width: "5rem", height: "5rem", color: "#0dd390", borderRadius: "50px" }} /></p>
               <p>복약 체크</p>
@@ -110,7 +108,7 @@
             /></p>
               </li>             
           </ul>
-          <ul className="content-box statistics">
+          <ul className="content-box statistics-guardian">
             <li className="flex-start">
               <p><DeviceThermostatIcon sx={{ width: "5rem", height: "5rem", color: "#f1de05", borderRadius: "50px" }} /></p>
               <p>온도 체크</p>
@@ -125,14 +123,14 @@
             /></p>
               </li>   
           </ul>
-          <ul className="content-box statistics">
+          <ul className="content-box statistics-guardian">
             <li className="flex-start">
               <p><BatteryCharging20Icon sx={{ width: "5rem", height: "5rem", color: "#5f9af3", borderRadius: "50px" }} /></p>
               <p>현재 스마트 약상자의 배터리가 40% 입니다.</p>
               <p></p>
             </li>
             <li>
-            <p className="red">충전이 필요합니다.</p>
+            <p className="red"><ErrorIcon sx={{ width: "1rem", height: "1rem", color: "red", borderRadius: "50px" }}/>충전이 필요합니다.</p>
             </li>
           </ul>
           <div className="content-box combine-left combine-all-government">
client/views/pages/senior_management/SeniorInsert.jsx
--- client/views/pages/senior_management/SeniorInsert.jsx
+++ client/views/pages/senior_management/SeniorInsert.jsx
@@ -1,5 +1,6 @@
 import React from "react";
 import Button from "../../component/Button.jsx";
+import ContentTitle from "../../component/ContentTitle.jsx";
 import { useNavigate } from "react-router";
 
 export default function SeniorInsert() {
@@ -7,7 +8,7 @@
   return (
     <main>
       <div className="content-wrap row">
-        <div className="page-title margin-bottom">대상자 등록</div>
+      <ContentTitle contentTitle={"시니어 등록"} />
           <table className="margin-bottom2 senior-insert">
             <tr>
               <th>이름</th>
@@ -41,23 +42,7 @@
                   <label for="gender">여</label>
                 </div>
               </td>
-              <th>요양등급</th>
-              <td>
-                <select name="" id="section">
-                  <option value="">요양등급선택</option>
-                  <option value="">1등급</option>
-                  <option value="">2등급</option>
-                  <option value="">3등급</option>
-                  <option value="">4등급</option>
-                  <option value="">등급없음</option>
-                </select>
-              </td>
-            </tr>
-            <tr>
-              <th>보호자 비상연락망</th>
-              <td colSpan={3}>
-                <input type="text" />
-              </td>
+              
             </tr>
             <tr>
               <th>연락처</th>
@@ -72,6 +57,16 @@
               </td>
             </tr>
             <tr>
+              <th>시니어등록번호</th>
+              <td colSpan={3} className="flex">
+                <input type="text" placeholder="생성하기 버튼 클릭 시 자동으로 생성됩니다."/>
+                <Button
+              className={"btn-large gray-btn"}
+              btnName={"생성하기"}
+            />
+              </td>
+            </tr>
+            {/* <tr>
               <th>복용중인 약</th>
               <td colSpan={3}>
                 <textarea className="medicine" cols="30" rows="2"></textarea>
@@ -82,7 +77,7 @@
               <td colSpan={3}>
                 <textarea cols="30" rows="10"></textarea>
               </td>
-            </tr>
+            </tr> */}
           </table>
           <div className="btn-wrap flex-center">
             <Button
client/views/pages/user_management/AgencyInsert.jsx
--- client/views/pages/user_management/AgencyInsert.jsx
+++ client/views/pages/user_management/AgencyInsert.jsx
@@ -32,16 +32,6 @@
                 </td>
               </tr>
               <tr>
-                <th>사업자번호</th>
-                <td>
-                  <input type="text" name="" id="" />
-                </td>
-                <th>사용계정(ID)</th>
-                <t>
-                  <input type="text" name="" id="" />
-                </t>
-              </tr>
-              <tr>
                 <th>담당 부서 연락처</th>
                 <td>
                   <input type="text" name="" id="" />
client/views/pages/user_management/AgencySelect.jsx
--- client/views/pages/user_management/AgencySelect.jsx
+++ client/views/pages/user_management/AgencySelect.jsx
@@ -13,7 +13,6 @@
   const thead = [
     "No",
     "기관명",    
-    "사업자번호",
     "담당 부서 연락처(담당자)",
     "관리 장비 개수",
     "관리 시니어 인원",
@@ -24,9 +23,8 @@
   const key = [
     "No",
     "name",    
-    "BusinessNumber",
     "phone",
-    "Fax",
+    "equip",
     "senior",
     "address",
     "worker",
@@ -36,9 +34,8 @@
     {
       No: 1,
       name: "B복지관",
-      BusinessNumber: "515-82-00000",
       phone: "053-811-1234(김대리)",
-      Fax: "80대",
+      equip: "80대",
       senior:"75명",
       address: "경상북도 군위군 삼국유사면",
       worker: (
client/views/pages/user_management/UserAuthoriySelect.jsx
--- client/views/pages/user_management/UserAuthoriySelect.jsx
+++ client/views/pages/user_management/UserAuthoriySelect.jsx
@@ -29,7 +29,7 @@
 }
 
 export default function UserAuthoriySelect() {
-
+  const [agencyName, setAgencyName]= useState("시행기관")
   const [modalOpen, setModalOpen] = React.useState(false);
   const openModal = () => {
     setModalOpen(true);
@@ -70,18 +70,18 @@
 
   const thead1 = [
     "No",
-    "사용자관리번호",
-    "생년월일",
     "이름",
+    "시니어등록번호",
+    "생년월일",
     "성별",
     "연락처",
     "주소",
     "보호자",
   ];
   const key1 = ["No",
+    "name",
     "management_number",
     "birth",
-    "name",
     "gender",
     "phone",
     "address",
@@ -90,9 +90,9 @@
   const content1 = [
     {
       No: 1,
+      name: "김복남",
       management_number: 2022080101,
       birth:"1950.02.03",
-      name: "김복남",
       gender: "남",
       phone: "010-1234-1234",
       address: "경상북도 군위군 삼국유사면",
@@ -166,6 +166,16 @@
     <main>
       <Modal open={modalOpen} close={closeModal} header="'김복남'님의 가족">
         <div className="board-wrap">
+        <div className="btn-wrap flex-end margin-bottom">
+              <Button
+                className={"btn-small green-btn"}
+                btnName={"등록"}
+                onClick={() => {
+                  navigate("/SeniorInsert");
+                }}
+              />
+              <Button className={"btn-small green-btn"} btnName={"삭제"} />
+            </div>
           <div>
             <Table
               className={"caregiver-user"}
@@ -204,9 +214,9 @@
                         <span>지자체</span><button>추가</button>
                       </a>
                       <ul id="venue-scope-options" className="low-agency">
-                        <Menu href="#" title="보호기관1" />
-                        <Menu href="#" title="보호기관2" />
-                        <Menu href="#" title="보호기관3" />
+                        <Menu href="#" title={`${agencyName}`} />
+                        <Menu href="#" title={`${agencyName}`} />
+                        <Menu href="#" title={`${agencyName}`} />
 
                       </ul>
                     </li>
@@ -234,7 +244,7 @@
           <div className="right flex60" style={{ height: "100%" }}>
             <div style={{ height: "100%" }}>
               <SubTitle
-                subtitle={"사용자 리스트"}
+                subtitle={`${agencyName} 사용자 리스트`}
                 explanation={"선택된 기관의 사용자 리스트 입니다."}
                 className="margin-bottom"
               />
@@ -280,6 +290,16 @@
                         onClick={() => navigate("/SeniorInsert")}
                       />
                     </div>
+                    <div className="btn-wrap flex-end margin-bottom">
+              <Button
+                className={"btn-small green-btn"}
+                btnName={"등록"}
+                onClick={() => {
+                  navigate("/SeniorInsert");
+                }}
+              />
+              <Button className={"btn-small green-btn"} btnName={"삭제"} />
+            </div>
                     <ul className="tab-content">
                       {data
                         .filter((item) => index === item.id)
Add a comment
List