From 1ce00bc82c8deda8b6fd7c487747109073ca282c Mon Sep 17 00:00:00 2001
From: LiuJiaNan <15703339975@163.com>
Date: Wed, 22 Jul 2026 09:10:11 +0800
Subject: [PATCH] =?UTF-8?q?port=20WeiXian=20=E6=96=87=E4=BB=B6=E6=8C=89?=
=?UTF-8?q?=E5=9D=97=E6=8B=86=E5=88=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/biStatistics/index.js | 12 ++
.../port/WeiXian/WorkRecordPanel/index.js | 69 ++++++++
.../port/WeiXian/WorkRecordPanel/index.less | 71 ++++++++
.../port/WeiXian/WorkStatusPanel/index.js | 78 +++++++++
.../port/WeiXian/WorkStatusPanel/index.less | 62 +++++++
.../port/WeiXian/WorkTrendPanel/index.js | 143 ++++++++++++++++
.../port/WeiXian/WorkTrendPanel/index.less | 23 +++
.../Content/port/WeiXian/echarts.js | 140 ----------------
.../components/Content/port/WeiXian/index.js | 141 ++--------------
.../Content/port/WeiXian/index.less | 157 ------------------
10 files changed, 468 insertions(+), 428 deletions(-)
create mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.js
create mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.less
create mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js
create mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.less
create mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.js
create mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.less
delete mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/echarts.js
delete mode 100644 src/pages/Container/Map/components/Content/port/WeiXian/index.less
diff --git a/src/api/biStatistics/index.js b/src/api/biStatistics/index.js
index e724c13..601c859 100644
--- a/src/api/biStatistics/index.js
+++ b/src/api/biStatistics/index.js
@@ -60,3 +60,15 @@ export const getFirePointDeviceList = declareRequest(
"portXiaoFangFirePointDeviceListLoading",
"Post > @/fireCheck/firePoint/deviceList",
);
+export const getEightWorkInfoScreenStatusStatistics = declareRequest(
+ "portWeiXianEightWorkInfoScreenStatusStatisticsLoading",
+ "Post > @/eightwork/eightworkInfo/screenStatusStatistics",
+);
+export const getEightWorkInfoScreenWorkRecord = declareRequest(
+ "portWeiXianEightWorkInfoScreenWorkRecordLoading",
+ "Post > @/eightwork/eightworkInfo/screenWorkRecord",
+);
+export const getEightWorkInfoScreenWorkTrend = declareRequest(
+ "portWeiXianEightWorkInfoScreenWorkTrendLoading",
+ "Post > @/eightwork/eightworkInfo/screenWorkTrend",
+);
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.js b/src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.js
new file mode 100644
index 0000000..4648e4f
--- /dev/null
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.js
@@ -0,0 +1,69 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { useContext, useEffect, useState } from "react";
+import SeamlessScroll from "zy-react-library/components/SeamlessScroll";
+import { NS_BI_STATISTICS } from "~/enumerate/namespace";
+import Panel from "~/pages/Container/Map/components/Content/port/Panel";
+import { Context } from "~/pages/Container/Map/js/context";
+import "./index.less";
+
+const rankStyleNames = ["first", "second", "third"];
+
+/** 负责查询并展示危险作业记录及其排行样式。 */
+function WorkRecordPanel(props) {
+ const { portArea } = useContext(Context);
+ const [records, setRecords] = useState([]);
+
+ useEffect(() => {
+ const loadRecords = async () => {
+ const { data = [] } = await props.getEightWorkInfoScreenWorkRecord({
+ portArea,
+ pageIndex: 1,
+ pageSize: 9999,
+ });
+ setRecords(data);
+ };
+
+ loadRecords();
+ }, []);
+
+ return (
+
+
+
+
+
序号
+
作业类型
+
状态
+
下一步操作人
+
+
+
+ {records.map((item, index) => (
+
+
+
+ {item.workTypeName}
+
+
+ {item.statusName}
+
+
+ {item.nextStepName}
+
+
+ ))}
+
+
+
+
+
+ );
+}
+
+export default Connect([NS_BI_STATISTICS], true)(WorkRecordPanel);
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.less b/src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.less
new file mode 100644
index 0000000..b7f4a5e
--- /dev/null
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkRecordPanel/index.less
@@ -0,0 +1,71 @@
+.port-danger-work__record {
+ margin-top: 10px;
+ background-image: linear-gradient(
+ to bottom,
+ rgba(0, 0, 0, 0),
+ rgba(0, 0, 0, 0.8)
+ );
+}
+.port-danger-work-record__content {
+ padding: 10px;
+ border: 1px solid;
+ border-top: none;
+ border-image: linear-gradient(
+ to bottom,
+ rgba(58, 122, 149, 0),
+ rgba(58, 122, 149, 1)
+ )
+ 1;
+}
+.port-danger-work-record__table {
+ margin-top: 5px;
+}
+.port-danger-work-record__table-body {
+ height: 400px;
+ overflow-y: hidden;
+}
+.port-danger-work-record__row {
+ display: flex;
+}
+.port-danger-work-record__row:nth-child(odd) {
+ background-color: rgba(42, 86, 158, 0.53);
+}
+.port-danger-work-record__cell {
+ flex: 1;
+ padding: 5px;
+ color: #fff;
+ font-size: 12px;
+ text-align: center;
+}
+.port-danger-work-record__cell:first-child {
+ flex: none;
+ flex-basis: 50px;
+ text-align: left;
+}
+.port-danger-work-record__cell:nth-child(2) {
+ flex-basis: 20%;
+}
+.port-danger-work-record__rank {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ width: 21px;
+ height: 15px;
+ margin: auto;
+ color: #fff;
+ font-size: 11px;
+ line-height: 1;
+ border-radius: 2px;
+}
+.port-danger-work-record__rank--first {
+ background: linear-gradient(135deg, #ff6d73, #f23f47);
+}
+.port-danger-work-record__rank--second {
+ background: linear-gradient(135deg, #ffb856, #ff871f);
+}
+.port-danger-work-record__rank--third {
+ background: linear-gradient(135deg, #ffe477, #f6be1b);
+}
+.port-danger-work-record__rank--default {
+ background: linear-gradient(135deg, #5a8fdc, #3367b4);
+}
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js b/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js
new file mode 100644
index 0000000..e9672cb
--- /dev/null
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.js
@@ -0,0 +1,78 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Spin } from "antd";
+import { useContext, useEffect, useState } from "react";
+import CountUp from "react-countup";
+import iconBackground from "~/assets/images/map_bi/content/icobg.png";
+import applyIcon from "~/assets/images/map_bi/content/icon27.png";
+import approvingIcon from "~/assets/images/map_bi/content/icon28.png";
+import archivedIcon from "~/assets/images/map_bi/content/icon29.png";
+import labelBackground from "~/assets/images/map_bi/content/label.png";
+import { NS_BI_STATISTICS } from "~/enumerate/namespace";
+import Panel from "~/pages/Container/Map/components/Content/port/Panel";
+import { Context } from "~/pages/Container/Map/js/context";
+import "./index.less";
+
+const defaultStatistics = [
+ { image: applyIcon, label: "申请数", count: 0 },
+ { image: approvingIcon, label: "审批中", count: 0 },
+ { image: archivedIcon, label: "归档数", count: 0 },
+];
+
+/** 负责查询并展示危险作业申请、审批和归档状态统计。 */
+function WorkStatusPanel(props) {
+ const { portArea } = useContext(Context);
+ const [statistics, setStatistics] = useState(defaultStatistics);
+
+ useEffect(() => {
+ const loadStatistics = async () => {
+ const { data = {} } = await props.getEightWorkInfoScreenStatusStatistics({
+ portArea,
+ });
+ const counts = [
+ data.appliedCount,
+ data.approvingCount,
+ data.archivedCount,
+ ];
+ setStatistics(
+ defaultStatistics.map((item, index) => ({
+ ...item,
+ count: counts[index],
+ })),
+ );
+ };
+
+ loadStatistics();
+ }, []);
+
+ return (
+
+
+
+ {statistics.map((item) => (
+
+
+

+
+
+ {item.label}:
+
+
+ ))}
+
+
+
+ );
+}
+
+export default Connect([NS_BI_STATISTICS], true)(WorkStatusPanel);
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.less b/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.less
new file mode 100644
index 0000000..1148c80
--- /dev/null
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkStatusPanel/index.less
@@ -0,0 +1,62 @@
+.port-danger-work__status {
+ background-image: linear-gradient(
+ to bottom,
+ rgba(0, 0, 0, 0),
+ rgba(0, 0, 0, 0.8)
+ );
+}
+.port-danger-work-status__options {
+ display: flex;
+ justify-content: space-between;
+ padding: 13px 15px;
+ border: 1px solid;
+ border-top: none;
+ border-image: linear-gradient(
+ to bottom,
+ rgba(58, 122, 149, 0),
+ rgba(58, 122, 149, 1)
+ )
+ 1;
+}
+.port-danger-work-status__option {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+.port-danger-work-status__icon {
+ width: 70px;
+ height: 70px;
+ padding-top: 13px;
+ text-align: center;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+}
+.port-danger-work-status__icon img {
+ width: 25px;
+ height: 26px;
+ animation: portDangerWorkStatusSlideY 2s infinite;
+}
+.port-danger-work-status__label {
+ display: flex;
+ justify-content: center;
+ width: 120px;
+ height: 24px;
+ margin-top: 6px;
+ color: #fff;
+ font-size: 12px;
+ line-height: 25px;
+ text-align: center;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+}
+@keyframes portDangerWorkStatusSlideY {
+ 0% {
+ transform: translateY(0);
+ }
+ 50% {
+ transform: translateY(-5px);
+ }
+ 100% {
+ transform: translateY(0);
+ }
+}
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.js b/src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.js
new file mode 100644
index 0000000..e076d2a
--- /dev/null
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.js
@@ -0,0 +1,143 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { useMount } from "ahooks";
+import { Spin } from "antd";
+import * as echarts from "echarts";
+import { useContext, useRef } from "react";
+import { NS_BI_STATISTICS } from "~/enumerate/namespace";
+import Panel from "~/pages/Container/Map/components/Content/port/Panel";
+import { Context } from "~/pages/Container/Map/js/context";
+import "./index.less";
+
+/** 将接口的作业趋势记录转换为图表横轴、图例与序列数据。 */
+function formatWorkTrendData(data) {
+ const workDates = [...new Set(data.map(item => item.workDate))];
+ const workTypes = [
+ ...new Map(data.map(item => [item.workType, item.workTypeName])),
+ ];
+ return {
+ xData: workDates,
+ date: workTypes.map(([workType]) =>
+ data
+ .filter(item => item.workType === workType)
+ .map(item => Number(item.count)),
+ ),
+ name: workTypes.map(([, workTypeName]) => workTypeName),
+ };
+}
+
+/** 负责初始化安全作业趋势图表并在卸载时释放图表实例。 */
+function WorkTrendPanel(props) {
+ const { portArea } = useContext(Context);
+ const chartRef = useRef(null);
+ const chartInstance = useRef(null);
+
+ const initEcharts = (mainRef, chartInstance, data) => {
+ const colors = [
+ "29,128,219",
+ "1,245,255",
+ "228,187,45",
+ "45,118,228",
+ "188,45,228",
+ "228,72,45",
+ "58,45,228",
+ "221,44,67",
+ ];
+ const series = data.date.map((seriesData, index) => ({
+ name: data.name[index],
+ type: "line",
+ symbol: "circle",
+ showAllSymbol: true,
+ symbolSize: 0,
+ smooth: true,
+ lineStyle: { width: 2, color: `rgba(${colors[index]},1)` },
+ itemStyle: { color: `rgba(${colors[index]},1)` },
+ tooltip: { show: true },
+ areaStyle: {
+ color: new echarts.graphic.LinearGradient(
+ 0,
+ 0,
+ 0,
+ 1,
+ [
+ { offset: 0, color: `rgba(${colors[index]},0.3)` },
+ { offset: 1, color: `rgba(${colors[index]},0)` },
+ ],
+ false,
+ ),
+ shadowColor: "rgba(25,163,223, 0.5)",
+ shadowBlur: 20,
+ },
+ data: seriesData,
+ }));
+ chartInstance.current = echarts.init(mainRef.current);
+ chartInstance.current.setOption({
+ tooltip: { trigger: "axis" },
+ legend: {
+ top: "0",
+ align: "left",
+ type: "plain",
+ data: data.name,
+ textStyle: { color: "#fff", fontSize: 12 },
+ itemWidth: 18,
+ },
+ grid: { top: "20%", left: "10%", right: "5%", bottom: "15%" },
+ xAxis: [
+ {
+ type: "category",
+ boundaryGap: false,
+ axisLine: { show: true, lineStyle: { color: "#15578b" } },
+ axisLabel: {
+ color: "#fff",
+ fontSize: 12,
+ formatter(value) {
+ return value.substring(5);
+ },
+ },
+ splitLine: { show: false, lineStyle: { color: "#fff" } },
+ axisTick: { show: false },
+ data: data.xData,
+ },
+ ],
+ yAxis: [
+ {
+ min: 0,
+ splitLine: {
+ show: true,
+ lineStyle: { color: "rgba(221,221,221,0.1)" },
+ },
+ axisLine: { show: false, lineStyle: { color: "#fff" } },
+ axisLabel: { show: true, color: "#fff", padding: 10 },
+ },
+ ],
+ series,
+ });
+ };
+
+ useMount(() => {
+ const loadTrendData = async () => {
+ const { data = [] } = await props.getEightWorkInfoScreenWorkTrend({
+ portArea,
+ });
+ initEcharts(chartRef, chartInstance, formatWorkTrendData(data));
+ };
+
+ loadTrendData();
+ return () => chartInstance.current?.dispose();
+ });
+
+ return (
+
+
+
+ );
+}
+
+export default Connect([NS_BI_STATISTICS], true)(WorkTrendPanel);
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.less b/src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.less
new file mode 100644
index 0000000..6c531d0
--- /dev/null
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/WorkTrendPanel/index.less
@@ -0,0 +1,23 @@
+.port-danger-work__trend {
+ margin-top: 10px;
+ background-image: linear-gradient(
+ to bottom,
+ rgba(0, 0, 0, 0),
+ rgba(0, 0, 0, 0.8)
+ );
+}
+.port-danger-work-trend__content {
+ padding: 10px 15px;
+ border: 1px solid;
+ border-top: none;
+ border-image: linear-gradient(
+ to bottom,
+ rgba(58, 122, 149, 0),
+ rgba(58, 122, 149, 1)
+ )
+ 1;
+}
+.port-danger-work-trend__chart {
+ width: 100%;
+ height: 240px;
+}
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/echarts.js b/src/pages/Container/Map/components/Content/port/WeiXian/echarts.js
deleted file mode 100644
index a85afb1..0000000
--- a/src/pages/Container/Map/components/Content/port/WeiXian/echarts.js
+++ /dev/null
@@ -1,140 +0,0 @@
-import * as echarts from "echarts";
-
-export const initEcharts1 = (mainRef, chartInstance, data) => {
- const colors = [
- "29,128,219",
- "1,245,255",
- "228,187,45",
- "45,118,228",
- "188,45,228",
- "228,72,45",
- "58,45,228",
- "221,44,67",
- ];
-
- const date = data.date;
- const name = data.name;
- const series = [];
-
- for (let i = 0; i < date.length; i++) {
- series.push({
- name: name[i],
- type: "line",
- symbol: "circle",
- showAllSymbol: true,
- symbolSize: 0,
- smooth: true,
- lineStyle: {
- width: 2,
- color: `rgba(${colors[i]},1)`,
- },
- itemStyle: {
- color: `rgba(${colors[i]},1)`,
- },
- tooltip: {
- show: true,
- },
- areaStyle: {
- color: new echarts.graphic.LinearGradient(
- 0,
- 0,
- 0,
- 1,
- [
- {
- offset: 0,
- color: `rgba(${colors[i]},0.3)`,
- },
- {
- offset: 1,
- color: `rgba(${colors[i]},0)`,
- },
- ],
- false,
- ),
- shadowColor: "rgba(25,163,223, 0.5)",
- shadowBlur: 20,
- },
- data: date[i],
- });
- }
-
- chartInstance.current = echarts.init(mainRef.current);
-
- const option = {
- tooltip: {
- trigger: "axis",
- },
- legend: {
- top: "0",
- align: "left",
- type: "plain",
- data: name,
- textStyle: {
- color: "#fff",
- fontSize: 12,
- },
- itemWidth: 18,
- },
- grid: {
- top: "20%",
- left: "10%",
- right: "5%",
- bottom: "15%",
- },
- xAxis: [
- {
- type: "category",
- boundaryGap: false,
- axisLine: {
- show: true,
- lineStyle: {
- color: "#15578b",
- },
- },
- axisLabel: {
- color: "#fff",
- fontSize: 12,
- formatter(data) {
- return data.substring(5);
- },
- },
- splitLine: {
- show: false,
- lineStyle: {
- color: "#fff",
- },
- },
- axisTick: {
- show: false,
- },
- data: data.clickDate,
- },
- ],
- yAxis: [
- {
- min: 0,
- splitLine: {
- show: true,
- lineStyle: {
- color: "rgba(221,221,221,0.1)",
- },
- },
- axisLine: {
- show: false,
- lineStyle: {
- color: "#fff",
- },
- },
- axisLabel: {
- show: true,
- color: "#fff",
- padding: 10,
- },
- },
- ],
- series,
- };
-
- chartInstance.current.setOption(option);
-};
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/index.js b/src/pages/Container/Map/components/Content/port/WeiXian/index.js
index b35c0c4..898119a 100644
--- a/src/pages/Container/Map/components/Content/port/WeiXian/index.js
+++ b/src/pages/Container/Map/components/Content/port/WeiXian/index.js
@@ -1,137 +1,16 @@
-import { useMount } from "ahooks";
-import { useContext, useRef, useState } from "react";
-import CountUp from "react-countup";
-import anquan_bg1 from "~/assets/images/map_bi/content/anquan_bg1.png";
-import anquan_bg2 from "~/assets/images/map_bi/content/anquan_bg2.png";
-import anquan_bg3 from "~/assets/images/map_bi/content/anquan_bg3.png";
-import anquan_bg4 from "~/assets/images/map_bi/content/anquan_bg4.png";
-import icobg from "~/assets/images/map_bi/content/icobg.png";
-import icon27 from "~/assets/images/map_bi/content/icon27.png";
-import icon28 from "~/assets/images/map_bi/content/icon28.png";
-import icon29 from "~/assets/images/map_bi/content/icon29.png";
-import label from "~/assets/images/map_bi/content/label.png";
-import Title from "~/pages/Container/Map/components/Content/port/Title";
-import { Context } from "~/pages/Container/Map/js/context";
-import { initEcharts1 } from "./echarts";
-import "./index.less";
-
-const WeiXian = () => {
- const { currentPort, portArea, currentBranchOffice } = useContext(Context);
- const [block3List, setBlock3List] = useState([
- { WORK_TYPE: "动火作业", STATUS_NAME: "现场负责人", USER_NAME: "李长健" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "运行乙班" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "卸车部运行乙班" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "动火后", USER_NAME: "王启龙" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "装船部" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "装船队机修乙班" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "动火后", USER_NAME: "彭俊伟" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "装船队机修乙班" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "运行乙班" },
- { WORK_TYPE: "动火作业", STATUS_NAME: "延时监火", USER_NAME: "卸车队运行甲班" },
- ]);
- const [block1OptionsList, setBlock1OptionsList] = useState([
- { img: icon27, label: "申请数", count: 0 },
- { img: icon28, label: "审批中", count: 0 },
- { img: icon29, label: "归档数", count: 0 },
- ]);
-
- const main1Ref = useRef(null);
- const chartInstance = useRef(null);
-
- useMount(() => {
- initEcharts1(main1Ref, chartInstance, {
- clickDate: ["2025-12-31", "2026-01-01", "2026-01-02", "2026-01-03", "2026-01-04"],
- date: [
- ["7.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ["0.0", "0.0", "0.0", "0.0", "0.0"],
- ],
- name: ["动火作业", "盲板作业", "有限空间作业", "高处作业", "吊装作业", "临时用电", "动土作业", "断路作业"],
- });
-
- return () => {
- if (chartInstance.current) {
- chartInstance.current.dispose();
- chartInstance.current = null;
- }
- };
- });
+import WorkRecordPanel from "./WorkRecordPanel";
+import WorkStatusPanel from "./WorkStatusPanel";
+import WorkTrendPanel from "./WorkTrendPanel";
+/** 危险作业模块仅负责按展示顺序组合业务区块。 */
+function WeiXian() {
return (
-
-
-
-
- {block1OptionsList.map((item, index) => (
-
-
-

-
-
- {item.label}
- :
-
-
-
- ))}
-
-
-
-
-
-
-
-
-
-
-
序号
-
作业类型
-
状态
-
下一步操作人
-
- {block3List && block3List.length > 0
- ? (
- block3List.map((item, index) => (
-
-
-
2 && { backgroundImage: `url(${anquan_bg4})` }),
- }}
- >
- {index + 1}
-
-
-
{item.WORK_TYPE}
-
{item.STATUS_NAME}
-
{item.USER_NAME}
-
- ))
- )
- : (
-
- )}
-
-
-
+
+
+
+
);
-};
+}
export default WeiXian;
diff --git a/src/pages/Container/Map/components/Content/port/WeiXian/index.less b/src/pages/Container/Map/components/Content/port/WeiXian/index.less
deleted file mode 100644
index f3dc1b4..0000000
--- a/src/pages/Container/Map/components/Content/port/WeiXian/index.less
+++ /dev/null
@@ -1,157 +0,0 @@
-.port_weixian {
- .block1 {
- background-image: linear-gradient(to bottom,
- rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.8));
-
- .options {
- display: flex;
- justify-content: space-between;
- padding: 13px 15px;
- border: 1px solid;
- border-image: linear-gradient(to bottom,
- rgba(58, 122, 149, 0),
- rgba(58, 122, 149, 1)) 1;
- border-top: none;
-
- .option {
- display: flex;
- flex-direction: column;
- align-items: center;
-
- .circular {
- background-size: 100% 100%;
- background-repeat: no-repeat;
- width: 70px;
- height: 70px;
- text-align: center;
- padding-top: 13px;
-
- img {
- width: 25px;
- height: 26px;
- animation: weixianSlideY 2s infinite;
- }
- }
-
- .label {
- display: flex;
- justify-content: center;
- background-size: 100% 100%;
- background-repeat: no-repeat;
- width: 120px;
- height: 24px;
- margin-top: 6px;
- font-size: 12px;
- line-height: 25px;
- text-align: center;
- color: #fff;
- }
- }
- }
- }
-
- .block2 {
- margin-top: 10px;
- background-image: linear-gradient(to bottom,
- rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.8));
-
- .content {
- padding: 10px 15px;
- border: 1px solid;
- border-image: linear-gradient(to bottom,
- rgba(58, 122, 149, 0),
- rgba(58, 122, 149, 1)) 1;
- border-top: none;
- }
- }
-
- .block3 {
- margin-top: 10px;
- background-image: linear-gradient(to bottom,
- rgba(0, 0, 0, 0),
- rgba(0, 0, 0, 0.8));
-
- .content {
- border: 1px solid;
- border-image: linear-gradient(to bottom,
- rgba(58, 122, 149, 0),
- rgba(58, 122, 149, 1)) 1;
- border-top: none;
- padding: 10px;
-
- .options {
- display: flex;
- justify-content: flex-end;
-
- .title {
- cursor: pointer;
- }
- }
-
- .table {
- margin-top: 5px;
-
- .scroll{
- height: 400px;
- overflow-y: hidden;
- }
-
- .tr {
- display: flex;
-
- &:nth-child(odd) {
- background-color: rgba(42, 86, 158, 0.53);
- }
-
- .td {
- flex: 1;
- text-align: center;
- font-size: 12px;
- color: #fff;
- padding: 5px;
-
- &:nth-child(1) {
- flex: none;
- flex-basis: 50px;
- text-align: left;
- }
-
- &:nth-child(2) {
- flex-basis: 20%;
- }
-
- .bg {
- background-size: 100% 100%;
- background-repeat: no-repeat;
- width: 21px;
- height: 15px;
- margin: auto;
- line-height: 15px;
- padding-left: 4px;
- }
- }
-
- &:nth-child(n + 11) {
- .bg {
- padding-left: 0;
- }
- }
- }
- }
- }
- }
-
- @keyframes weixianSlideY {
- 0% {
- transform: translateY(0);
- }
- 50% {
- transform: translateY(-5px);
- }
- 100% {
- transform: translateY(0);
- }
- }
-}