diff --git a/src/pages/Container/WhiteBranchOffice/components/LeftPanel/index.js b/src/pages/Container/WhiteBranchOffice/components/LeftPanel/index.js
new file mode 100644
index 0000000..b900440
--- /dev/null
+++ b/src/pages/Container/WhiteBranchOffice/components/LeftPanel/index.js
@@ -0,0 +1,90 @@
+import { useState } from "react";
+import SeamlessScroll from "zy-react-library/components/SeamlessScroll";
+import img4 from "~/assets/images/public/white/img4.png";
+import img5 from "~/assets/images/public/white/img5.png";
+import img6 from "~/assets/images/public/white/img6.png";
+import Title from "~/pages/Container/WhiteBranchOffice/components/Title";
+import "./index.less";
+
+function LeftPanel() {
+ const [block1List, setBlock1List] = useState([
+ { title: "企业人员", label1: "部门数", value1: 35, label2: "人数", value2: 123, img: img4 },
+ { title: "一级相关方", label1: "单位数", value1: 35, label2: "人数", value2: 123, img: img5 },
+ { title: "二级相关方", label1: "单位数", value1: 35, label2: "人数", value2: 123, img: img6 },
+ ]);
+ const [block2List, setBlock2List] = useState([
+ { id: 1, department: "安全部", deathCount: 0, seriousInjuryCount: 2, minorInjuryCount: 8, loss: 45 },
+ { id: 2, department: "生产部", deathCount: 1, seriousInjuryCount: 1, minorInjuryCount: 5, loss: 75 },
+ { id: 3, department: "质检部", deathCount: 0, seriousInjuryCount: 0, minorInjuryCount: 3, loss: 20 },
+ { id: 4, department: "物流部", deathCount: 0, seriousInjuryCount: 1, minorInjuryCount: 6, loss: 55 },
+ { id: 5, department: "技术部", deathCount: 0, seriousInjuryCount: 0, minorInjuryCount: 2, loss: 15 },
+ { id: 6, department: "销售部", deathCount: 0, seriousInjuryCount: 0, minorInjuryCount: 1, loss: 10 },
+ { id: 7, department: "财务部", deathCount: 0, seriousInjuryCount: 0, minorInjuryCount: 0, loss: 5 },
+ { id: 8, department: "人事部", deathCount: 0, seriousInjuryCount: 0, minorInjuryCount: 1, loss: 8 },
+ { id: 9, department: "工程部", deathCount: 1, seriousInjuryCount: 2, minorInjuryCount: 7, loss: 85 },
+ { id: 10, department: "设备部", deathCount: 0, seriousInjuryCount: 1, minorInjuryCount: 4, loss: 35 },
+ ]);
+
+ return (
+
+
+
+
+
+ {
+ block1List.map((item, index) => (
+
+
+

+
+
{item.title}
+
+
{`${item.label1}:`}
+
{item.value1}
+
+
+
{`${item.label2}:`}
+
{item.value2}
+
+
+ ))
+ }
+
+
+
+
+
+
+
+
+
部门名称
+
死亡人数
+
重伤人数
+
轻伤人数
+
+ 直接经济损失
+
+ (20-100万元事故)
+
+
+
+
+ {block2List.map((item, index) => (
+
+
{item.department}
+
{item.deathCount}
+
{item.seriousInjuryCount}
+
{item.minorInjuryCount}
+
{item.loss}
+
+ ))}
+
+
+
+
+
+
+ );
+}
+
+export default LeftPanel;
diff --git a/src/pages/Container/WhiteBranchOffice/components/LeftPanel/index.less b/src/pages/Container/WhiteBranchOffice/components/LeftPanel/index.less
new file mode 100644
index 0000000..c282fa7
--- /dev/null
+++ b/src/pages/Container/WhiteBranchOffice/components/LeftPanel/index.less
@@ -0,0 +1,79 @@
+@import "../../index.less";
+
+.white_branch_office_left_container {
+ width: 505px;
+
+ .block1 {
+ .container {
+ border-radius: 0 0 4px 4px;
+ border: 1px solid #fff;
+ border-top: none;
+ background-color: #E0EDFD;
+ padding: 16px 20px;
+
+ .items {
+ display: flex;
+ gap: 15px;
+ justify-content: space-between;
+ text-align: center;
+
+ .item {
+ flex: 1;
+ border-radius: 4px;
+ border: 1px solid #fff;
+ padding: 15px 10px;
+ background-image: linear-gradient(180deg, rgb(217, 239, 253) 0%, rgb(225, 243, 254) 58%, rgb(232, 246, 255) 100%);
+ box-shadow: inset 0 1px 3px 0 rgba(49, 122, 202, 0.48);
+
+ .img {
+ img {
+ width: 50px;
+ height: 50px;
+ }
+ }
+
+ .title {
+ margin-top: 8px;
+ margin-bottom: 8px;
+ color: #305683;
+ font-weight: bold;
+ padding: 4px 25px;
+ border-radius: 10px;
+ border: 1px solid #EBF1FF;
+ background-image: linear-gradient(180deg, rgb(217, 239, 253) 0%, rgb(225, 243, 254) 58%, rgb(232, 246, 255) 100%);
+ box-shadow: inset 0 1px 3px 0 rgba(49, 122, 202, 0.48);
+ }
+
+ .info {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ color: #305683;
+
+ .label {
+ font-size: 14px;
+ }
+
+ .value {
+ font-size: 18px;
+ font-weight: bold;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .block2 {
+ margin-top: 8px;
+
+ .container {
+ border-radius: 0 0 4px 4px;
+ border: 1px solid #fff;
+ border-top: none;
+ background-color: #E0EDFD;
+ padding: 10px;
+ .table-style(220px);
+ }
+ }
+}
diff --git a/src/pages/Container/WhiteBranchOffice/components/Title/index.less b/src/pages/Container/WhiteBranchOffice/components/Title/index.less
index f06db0f..2ef6c70 100644
--- a/src/pages/Container/WhiteBranchOffice/components/Title/index.less
+++ b/src/pages/Container/WhiteBranchOffice/components/Title/index.less
@@ -1,8 +1,9 @@
.white_bi_title {
- width: 504px;
+ width: 100%;
height: 39px;
background-size: 100% 100%;
background-repeat: no-repeat;
+ border-radius: 4px 4px 0 0;
.title {
font-size: 16px;
diff --git a/src/pages/Container/WhiteBranchOffice/index.js b/src/pages/Container/WhiteBranchOffice/index.js
index 1ef4328..dd17802 100644
--- a/src/pages/Container/WhiteBranchOffice/index.js
+++ b/src/pages/Container/WhiteBranchOffice/index.js
@@ -1,7 +1,7 @@
import { useMount } from "ahooks";
import autoFit from "autofit.js";
import bg from "~/assets/images/public/white/bg.png";
-import Title from "~/pages/Container/WhiteBranchOffice/components/Title";
+import LeftPanel from "~/pages/Container/WhiteBranchOffice/components/LeftPanel";
import "./index.less";
function WhiteBranchOffice() {
@@ -11,9 +11,7 @@ function WhiteBranchOffice() {
return (
);
}
diff --git a/src/pages/Container/WhiteBranchOffice/index.less b/src/pages/Container/WhiteBranchOffice/index.less
index 442b962..7b74f12 100644
--- a/src/pages/Container/WhiteBranchOffice/index.less
+++ b/src/pages/Container/WhiteBranchOffice/index.less
@@ -3,4 +3,55 @@
height: 100vh;
background-size: 100% 100%;
background-repeat: no-repeat;
+ display: flex;
+ justify-content: space-between;
+ align-items: stretch;
+ padding: 0 9px;
+}
+
+.table-style(@height) {
+ .table {
+ border: 1px solid #fff;
+
+ .scroll {
+ height: @height;
+ overflow-y: hidden;
+
+ .tr {
+ &:nth-child(odd) {
+ background-color: transparent;
+ }
+ }
+ }
+
+ .tr {
+ display: grid;
+ grid-template-columns: 1.5fr 1fr 1fr 1fr 1.6fr;
+ background-color: #C4E2F8;
+
+ &:not(:last-child) {
+ border-bottom: 1px solid #fff;
+ }
+
+ .td, .th {
+ text-align: center;
+ font-size: 14px;
+ color: #3B445C;
+ padding: 5px;
+ border-right: 1px solid #fff;
+
+ &:last-child {
+ border-right: none;
+ }
+ }
+
+ .th {
+ font-weight: bold;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ }
+ }
+ }
}