From b98142f7fcd69a3ba85698d06c6a0472f6d402ce Mon Sep 17 00:00:00 2001 From: jl-zhoujl2 Date: Wed, 7 Sep 2022 08:28:12 +0800 Subject: [PATCH] =?UTF-8?q?9.7=20=E5=A4=A7=E5=B1=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/screen/content_title.png | Bin 18485 -> 18171 bytes src/assets/screen/default_pic01.jpg | Bin 0 -> 29371 bytes src/assets/screen/default_pic02.jpg | Bin 0 -> 34477 bytes src/assets/screen/default_play.png | Bin 0 -> 3225 bytes .../ElecBidEvaluation/ScreenWarnBack.tsx | 165 +++++++++++ src/components/ElecBidEvaluation/service.ts | 23 ++ .../MonitorScreen/Home/index.tsx | 261 +++++++++++++----- .../MonitorScreen/Home/style.less | 27 +- .../MonitorScreen/MonitorRoom/index.tsx | 20 +- .../MonitorScreen/MonitorRoom/style.less | 156 +++++++++-- .../ProjectMonitorRoom/index.tsx | 14 +- .../ProjectMonitorRoom/style.less | 36 ++- .../components/ViewEvalAlarmUpdateModal.tsx | 91 +++--- 13 files changed, 631 insertions(+), 162 deletions(-) create mode 100644 src/assets/screen/default_pic01.jpg create mode 100644 src/assets/screen/default_pic02.jpg create mode 100644 src/assets/screen/default_play.png create mode 100644 src/components/ElecBidEvaluation/ScreenWarnBack.tsx diff --git a/src/assets/screen/content_title.png b/src/assets/screen/content_title.png index 8caea18f700d84065878fd12e4cae2505ddaaf03..dfe3252a33c1389d16f855657bffd1831f7c28cd 100644 GIT binary patch delta 706 zcmdlwf$?`Qqhe=(pF1y?6c+;n1FxrtOAwG217Qv}AbDgx#k{FWWcz&=L%(x)+ z@>|3P=~CIIo(VH5cF(l@{Pfwq;`AetzBvkBPTMpsVzs9h=`%c7^NRUWjPTb&>v^(M zoYryOT=(v*oZWlhwy9P#)Xs28x7Igw2QaKKi<|H1_qnu%_ozLif7{ewLGr)fY&yVg z%~1Ayl1X8hukEa~y8qlWH1o25Z=Gg?y{ki>{?LBse?w9?$RNfmM1|~`dPgg&ebxsLQ0O>INF8}}l delta 1023 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 literal 0 HcmV?d00001 diff --git a/src/assets/screen/default_pic02.jpg b/src/assets/screen/default_pic02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..414e75593873d40e426eb63978a5e9435b77e2da GIT binary patch literal 34477 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

%>$UO(pFxu0GpDdHC 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 BV$%Qs literal 0 HcmV?d00001 diff --git a/src/components/ElecBidEvaluation/ScreenWarnBack.tsx b/src/components/ElecBidEvaluation/ScreenWarnBack.tsx new file mode 100644 index 0000000..ea75969 --- /dev/null +++ b/src/components/ElecBidEvaluation/ScreenWarnBack.tsx @@ -0,0 +1,165 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { Card, List, Modal, Typography, Image, Radio, Table } from 'antd'; +import ProCard from '@ant-design/pro-card'; +import { getCameraList, getWarnDetailData } from './service'; +import ScreenVideoPlay from './ScreenVideoPlay'; +import { pictureDisplayPath } from '@/utils/DownloadUtils'; +import moment from 'moment'; + +interface ScreenWarnBackProps { + modalVisible: boolean; + onCancel: () => void; + warnId: string;//告警id +} +const modalHeight = window.innerHeight * 96 / 100; + +/** + * 异常告警详情回放 + * @param props + * @returns + */ +const ScreenWarnBack: React.FC = (props) => { + const { modalVisible, onCancel, warnId } = props; + const { Title } = Typography; + //详情信息 + const [detailData, setDetailData] = useState(); + //设备列表 + const [caremaList, setCaremaList] = useState([]); + //当前选择的设备 + const [cameraSelect, setCameraSelect] = useState("1"); + //当前播放的设备参数 + const [cameraParams, setCameraParams] = useState(); + //监控视频Ref + const videoRef = useRef(); + const peopleNumColumns: any[] = [ + { + title: '时间', + dataIndex: 'eventTime', + key: 'eventTime', + align: 'center', + width: "40%", + }, + { + title: '阈值', + dataIndex: 'thresholdOfPeople', + key: 'thresholdOfPeople', + align: 'center', + ellipsis: true, + render: (_: any, record: any) => `${_}人`, + }, + { + title: '实际人数', + dataIndex: 'realOfPeople', + key: 'realOfPeople', + align: 'center', + render: (_: any, record: any) => `${_}人`, + }, + ]; + //回放 + const videoBack = (deviceCode: any, data: any) => { + let backTime = 20; + if (data.type == "2") {//人数预警 + backTime = 10; + } + videoRef.current?.back(deviceCode, moment(data?.createDate).subtract(backTime, 'm').format('yyyy-MM-DD HH:mm:ss'), data?.createDate); + } + + //获取告警详情数据 + const getWarnDetail = () => { + getWarnDetailData({ id: warnId }).then(res => { + if (res?.code == 200) { + const data = res?.data; + setDetailData(data); + getCaremaData(data); + } + }) + } + + //获取设备 + const getCaremaData = (baseData: any) => { + getCameraList({ areaId: baseData.placeId }).then(res => { + if (res?.code == 200) { + const data = res?.data; + setCaremaList(data); + if (data?.length > 0) { + //获取回看时间 + setCameraSelect(data[0].deviceCode); + setCameraParams(data[0].platform); + setTimeout(() => { + videoBack(data[0].deviceCode, baseData); + }, 4000); + } + } + }) + } + //切换设备 + const onCaremaChange = (e: any) => { + const caremaCode = e.target.value; + for (const ite of caremaList) { + if (ite.deviceCode == caremaCode) { + setCameraSelect(caremaCode); + setCameraParams(ite.platform); + videoBack(caremaCode, detailData); + } + } + } + + useEffect(() => { + warnId && getWarnDetail(); + }, [warnId]) + + return ( + onCancel()} + okButtonProps={{ hidden: true }} + width={"80%"} + maskClosable={false} + style={{ maxHeight: modalHeight }} + bodyStyle={{ height: modalHeight - 107, overflowY: 'auto', padding: 0 }} + centered + > + + + 告警信息:{detailData?.type == "3" ? "陌生人进入" : "人数异常"} + {detailData?.type == "3" ? ( + ( + + +

+ 时间:{item.eventTime} + +
+ + + )} + /> + ) : ( + + )} + + + + {caremaList.map(item => ({item.deviceName}))} + +
+ {cameraParams && } +
+
+ + + ); +}; + +export default ScreenWarnBack; diff --git a/src/components/ElecBidEvaluation/service.ts b/src/components/ElecBidEvaluation/service.ts index 91472cd..01de1c0 100644 --- a/src/components/ElecBidEvaluation/service.ts +++ b/src/components/ElecBidEvaluation/service.ts @@ -51,4 +51,27 @@ export async function saveAppointmentEdit(data: any) { method: 'POST', data: { ...data, }, }); +} + +/** + * 根据告警id查询告警详情 + * @param params + */ +export async function getWarnDetailData(params: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/alarm/get', { + method: 'POST', + params: params, + }); +} + +/** + * 设备列表 + * @param params + * @returns + */ +export async function getCameraList(params: any) { + return request('/api/biz-service-ebtp-evaluation/v1/screen/queryAreaCamera', { + method: 'GET', + params: params, + }); } \ No newline at end of file diff --git a/src/pages/ElecEvaluation/MonitorScreen/Home/index.tsx b/src/pages/ElecEvaluation/MonitorScreen/Home/index.tsx index 018b846..352aa99 100644 --- a/src/pages/ElecEvaluation/MonitorScreen/Home/index.tsx +++ b/src/pages/ElecEvaluation/MonitorScreen/Home/index.tsx @@ -1,13 +1,14 @@ -import { Col, Descriptions, Radio, Row, Table } from 'antd'; +import { Carousel, Col, Radio, Row, Table } from 'antd'; import React, { useEffect, useRef, useState, useMemo } from 'react'; import './style.less'; -import './china' +import './china'; import * as echarts from 'echarts'; -import warn_icon_01 from '@/assets/screen/warn_icon_01.png' -import warn_icon_02 from '@/assets/screen/warn_icon_02.png' -import crown_01 from '@/assets/screen/crown_01.png' -import crown_02 from '@/assets/screen/crown_02.png' -import crown_03 from '@/assets/screen/crown_03.png' +import warn_icon_01 from '@/assets/screen/warn_icon_01.png'; +import warn_icon_02 from '@/assets/screen/warn_icon_02.png'; +import crown_01 from '@/assets/screen/crown_01.png'; +import crown_02 from '@/assets/screen/crown_02.png'; +import crown_03 from '@/assets/screen/crown_03.png'; +import default_play from '@/assets/screen/default_play.png'; import moment from 'moment'; import { getApplicationData, getMonitorSample, getRoomProjectData, getTodayExpert, getTotalMapData, getWarnData } from './service'; import { debounce } from 'lodash'; @@ -54,6 +55,46 @@ export const proviceEnum = { "0065": "新疆", "001000": "集团" } +function dealWithData() { + var geoCoordMap = { + 长春: [125.35, 43.88, 20], + 沈阳: [123.38, 41.8, 19], + 集团: [116.26, 39.92, 18], + 北京: [116.46, 39.92, 17], + 哈尔滨: [126.63, 45.75, 16], + 石家庄: [114.48, 38.03, 15], + 天津: [117.2, 39.13, 14], + 重庆: [106.54, 29.59, 13], + 拉萨: [91.11, 29.97, 12], + 上海: [121.48, 31.22, 11], + 福州: [119.3, 26.08, 10], + 南宁: [108.33, 22.84, 10], + 广州: [113.23, 23.16, 10], + 太原: [112.53, 37.87, 10], + 昆明: [102.73, 25.04, 10], + 海口: [110.35, 20.02, 10], + 银川: [106.27, 38.47, 10], + 西宁: [101.74, 36.56, 10], + 呼和浩特: [111.65, 40.82, 10], + 成都: [104.06, 30.67, 10], + 西安: [108.95, 34.27, 10], + 南京: [118.78, 32.04, 10], + 贵阳: [106.71, 26.57, 10], + 乌鲁木齐: [87.68, 43.77, 10], + 杭州: [120.19, 30.26, 10], + 济南: [117, 36.65, 10], + 兰州: [103.73, 36.03, 10], + 郑州: [113.65, 34.76, 10], + 长沙: [113, 28.21, 10], + 合肥: [117.27, 31.86, 10], + 武汉: [114.31, 30.52, 10], + }; + var data = []; + for (var key in geoCoordMap) { + data.push({ name: key, value: geoCoordMap[key] }); + } + return data; +} const evalColumn: any[] = [ { @@ -135,6 +176,8 @@ const GraphChart = (props: { type: string, chartData: any[] }) => { // to a column of dataset.source by default. series: [{ type: 'bar' }, { type: 'bar' }] }; + var dataValue = dealWithData(); + var data1 = dataValue.splice(0, 3); const pieOption: EChartsOption = { legend: { orient: 'vertical', @@ -214,67 +257,116 @@ const GraphChart = (props: { type: string, chartData: any[] }) => { }; const mapOption: EChartsOption = { tooltip: { - trigger: 'item', - showDelay: 0, - transitionDuration: 0.2, - padding: [8, 12], - formatter: (params: any) => { - return `
-
${params.data?.name} -
-
- 评标室间数:${params.data?.placeNumber} -
-
- 正在评标:${params.data?.openingNumber} -
-
- 评标专家:${params.data?.expertNumber} -
-
- 累计评标次数:${params.data?.cumulativePlaceNumber} -
` - } + show: false }, - visualMap: { - show: false, - min: 0, - max: 1000, - inRange: { - color: [ - '#ECF3F4', - '#E3F4FF', - '#D1ECFD', - '#A0D6F8', - '#5DCAF2', - '#09A6F7', - '#0081C4', - '#26519E', - '#052D74', - '#001F53', - ] + geo: { + map: "china", + roam: false,// 一定要关闭拖拽 + zoom: 1.2, + label: { + show: false//不显示label }, + emphasis: { + disabled: true,//关闭hover高亮 + }, + itemStyle: { + areaColor: "#0d0059", + borderColor: "#389dff", + borderWidth: 1, //设置外层边框 + shadowBlur: 5, + shadowOffsetY: 8, + shadowOffsetX: 0, + shadowColor: "#01012a" + } }, series: [ { - name: '累计评标次数', - type: 'map', + type: "map", + map: "china", roam: false, zoom: 1.2, - left: "20%", - map: 'china', + showLegendSymbol: false, // 存在legend时显示 + label: { + show: false + }, + emphasis: { + disabled: true + }, + itemStyle: { + areaColor: "#0d0059", + borderColor: "#389dff", + borderWidth: 0.5 + } + }, + { + name: "", + type: "scatter", + coordinateSystem: "geo", + data: dataValue, + symbolSize: function (val) { + return Math.floor(val[2] / 1.2); + }, + symbol: "circle", + // symbolSize: 8, + tooltip: { + // formatter(value) { + // return value.data.name + "
" + "物流量:" + "22"; + // }, + show: true + }, + encode: { + value: 2 + }, + label: { + formatter: "{b}", + position: "right", + show: false + }, + itemStyle: { + color: "#f4e925" + }, emphasis: { label: { - show: false, - }, - itemStyle: { - areaColor: '#FFCC00' + show: false } + } + }, + { + name: "", + type: "effectScatter", + coordinateSystem: "geo", + data: data1, + symbolSize: 16, + // symbolSize: function (val) { + // return Math.floor(val[1] / 4); + // }, + tooltip: { + // formatter(value) { + // return value.data.name + "
" + "物流量:" + "22"; + // }, + show: true }, - select: { - disabled: true, + encode: { + value: 2 }, - data: chartData, + showEffectOn: "render", + rippleEffect: { + brushType: "stroke", + color: "#f4e925", + period: 9, + scale: 5 + }, + label: { + formatter: "{b}", + position: "right", + show: true + }, + itemStyle: { + color: "#f4e925", + shadowBlur: 2, + shadowColor: "#333" + }, + zlevel: 1 } ] }; @@ -307,6 +399,8 @@ export const EarlyWarn = ({ img, name, num }: { img: string, name: string, num: ) } +const randomData = () => Math.round(Math.random() * 100); + export default () => { //中心地图及周边数据 const [centerMapData, setCenterMapData] = useState(); @@ -347,7 +441,8 @@ export default () => { const getMapList = () => { getTotalMapData({ pageNo: 1, pageSize: 10 }).then(res => { if (res?.code == 200) { - const data = res?.data; + // const data = res?.data; + const data = { "number": 3060, "list": [{ "provinceDictId": "0022", "provinceDictName": "吉林", "placeNumber": 6, "openingNumber": 30, "expertNumber": 60, "cumulativePlaceNumber": 95 }, { "provinceDictId": "0011", "provinceDictName": "北京", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": 86 }, { "provinceDictId": "0012", "provinceDictName": "天津", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": 77 }, { "provinceDictId": "0013", "provinceDictName": "河北", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0014", "provinceDictName": "山西", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0015", "provinceDictName": "内蒙古", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0021", "provinceDictName": "辽宁", "placeNumber": 2, "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0023", "provinceDictName": "黑龙江", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0031", "provinceDictName": "上海", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0032", "provinceDictName": "江苏", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0033", "provinceDictName": "浙江", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0034", "provinceDictName": "安徽", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0035", "provinceDictName": "福建", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0036", "provinceDictName": "江西", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0037", "provinceDictName": "山东", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0041", "provinceDictName": "河南", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0042", "provinceDictName": "湖北", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0043", "provinceDictName": "湖南", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0044", "provinceDictName": "广东", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0045", "provinceDictName": "广西", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0046", "provinceDictName": "海南", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0050", "provinceDictName": "重庆", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0051", "provinceDictName": "四川", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0052", "provinceDictName": "贵州", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0053", "provinceDictName": "云南", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0054", "provinceDictName": "西藏", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0061", "provinceDictName": "陕西", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0062", "provinceDictName": "甘肃", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0063", "provinceDictName": "青海", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0064", "provinceDictName": "宁夏", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }, { "provinceDictId": "0065", "provinceDictName": "新疆", "placeNumber": randomData(), "openingNumber": randomData(), "expertNumber": randomData(), "cumulativePlaceNumber": randomData() }] } for (const ite of data.list) { ite["name"] = ite.provinceDictName; ite["value"] = ite.placeNumber; @@ -372,7 +467,8 @@ export default () => { const getEvaRoomData = () => { getRoomProjectData({ pageNo: 1, pageSize: 20 }).then(res => { if (res?.code == 200) { - const data = res?.data; + // const data = res?.data; + const data = [{ "id": "1565620867201146880", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "0", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146881", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "0", "userNumber": 7, "pageNo": null, "pageSize": null }, { "id": "1565620867201146882", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "0", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146883", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "0", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146884", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "1", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146885", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "1", "userNumber": 3, "pageNo": null, "pageSize": null }, { "id": "1565620867201146886", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "1", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146887", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "1", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146888", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "2", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146889", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "2", "userNumber": 7, "pageNo": null, "pageSize": null }, { "id": "1565620867201146890", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "2", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146891", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "2", "userNumber": 5, "pageNo": null, "pageSize": null }, { "id": "1565620867201146892", "placeId": "1523951236107988992", "projectName": "2022年中国联通活动策划执行及展览设计制作服务项目(勿动)", "realStartDate": null, "provinceDictId": "0022", "provinceDictName": "吉林省分公司", "placeName": "吉林联通评标中心", "status": "2", "userNumber": 5, "pageNo": null, "pageSize": null },]; setBidProjectData(data); } }) @@ -381,7 +477,8 @@ export default () => { const getExpertNumber = () => { getTodayExpert().then(res => { if (res?.code == 200) { - const data = res?.data; + // const data = res?.data; + const data = [{ "bidMethod": "公开招标", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "邀请招标", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "公开比选", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "公开招募", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "竞争性谈判", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "单一来源", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "公开询价", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "竞拍", "number": randomData(), "signNumber": randomData() }, { "bidMethod": "单一来源简化流程", "number": randomData(), "signNumber": randomData() }] let formatData = [['product', '专家人数', '专家签到数量'], ['招标项目', data[0].number + data[1].number, data[0].signNumber + data[1].signNumber]]; for (const ite of data) { if (method.includes(ite.bidMethod)) { @@ -396,7 +493,8 @@ export default () => { const getEvalApplData = (type: string) => { getApplicationData({ type }).then(res => { if (res?.code == 200) { - const data = res?.data; + // const data = res?.data; + const data = { "type": null, "reserveNumber": [{ "bidMethod": "公开招标", "number": "3" }, { "bidMethod": "邀请招标", "number": randomData() }, { "bidMethod": "公开比选", "number": randomData() }, { "bidMethod": "公开招募", "number": randomData() }, { "bidMethod": "竞争性谈判", "number": randomData() }, { "bidMethod": "单一来源", "number": randomData() }, { "bidMethod": "公开询价", "number": randomData() }, { "bidMethod": "竞拍", "number": randomData() }, { "bidMethod": "单一来源简化流程", "number": randomData() }], "ingNumber": [{ "bidMethod": "公开招标", "number": "1" }, { "bidMethod": "邀请招标", "number": randomData() }, { "bidMethod": "公开比选", "number": randomData() }, { "bidMethod": "公开招募", "number": randomData() }, { "bidMethod": "竞争性谈判", "number": randomData() }, { "bidMethod": "单一来源", "number": randomData() }, { "bidMethod": "公开询价", "number": randomData() }, { "bidMethod": "竞拍", "number": randomData() }, { "bidMethod": "单一来源简化流程", "number": randomData() }], "endNumber": [{ "bidMethod": "公开招标", "number": "1" }, { "bidMethod": "邀请招标", "number": randomData() }, { "bidMethod": "公开比选", "number": randomData() }, { "bidMethod": "公开招募", "number": "1" }, { "bidMethod": "竞争性谈判", "number": "1" }, { "bidMethod": "单一来源", "number": randomData() }, { "bidMethod": "公开询价", "number": randomData() }, { "bidMethod": "竞拍", "number": randomData() }, { "bidMethod": "单一来源简化流程", "number": randomData() }] }; let formatData = [['product', 'reserve', 'ing', 'end'], ['招标项目', String(Number(data.reserveNumber[0].number) + Number(data.reserveNumber[1].number)), String(Number(data.ingNumber[0].number) + Number(data.ingNumber[1].number)), String(Number(data.endNumber[0].number) + Number(data.endNumber[1].number))]]; let comp = ['公开比选']; let inqu = ['公开询价']; @@ -524,17 +622,34 @@ export default () => { 评标室监控 { - sampleData && <> -
-

项目名称:{sampleData?.projectName}

-

标段名称:{sampleData?.sectionName}

-

监控设备名称:{sampleData?.devicePageVOList[0].deviceName}

-

评标室名称:{sampleData?.areaName}省分:北京

-
-
- {cameraParams && } -
- + sampleData ? ( + <> +
+

项目名称:{sampleData?.projectName}

+

标段名称:{sampleData?.sectionName}

+

监控设备名称:{sampleData?.devicePageVOList[0].deviceName}

+

评标室名称:{sampleData?.areaName}省分:{proviceEnum[sampleData?.provinceDictId]}

+
+
+ {cameraParams && } +
+ + ) : ( + <> + +
+
+ +
+
+
+
+ +
+
+
+ + ) } @@ -613,7 +728,7 @@ export default () => { />} - - + + ); };; diff --git a/src/pages/ElecEvaluation/MonitorScreen/Home/style.less b/src/pages/ElecEvaluation/MonitorScreen/Home/style.less index b9b5ed9..4d1414b 100644 --- a/src/pages/ElecEvaluation/MonitorScreen/Home/style.less +++ b/src/pages/ElecEvaluation/MonitorScreen/Home/style.less @@ -180,6 +180,29 @@ } } + .card-project-default { + height: calc(~"(100vh - 177px - 3rem) / 3"); + background-repeat: no-repeat; + background-size: 100% 100%; + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + display: flex; + justify-content: center; + align-items: center; + + &>img { + height: 40%; + } + } + + .card-default-01 { + background-image: url('@{screen-img-url}/default_pic01.jpg'); + } + + .card-default-02 { + background-image: url('@{screen-img-url}/default_pic02.jpg'); + } + .card-carema-c { height: calc(~"100% - 110px - 0.5rem"); width: 100%; @@ -287,7 +310,7 @@ .map-grand { position: absolute; - right: 4rem; + right: 6%; bottom: 2rem; .map-grand-title { @@ -327,7 +350,7 @@ .screen-table { margin-top: 0.5rem; - height: calc(100% - 36px - 0.5rem); + height: calc(100% - 40px - 0.5rem); overflow: hidden; .ant-table-container table>thead>tr:first-child th:first-child { diff --git a/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/index.tsx b/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/index.tsx index d8644f9..9c9cdce 100644 --- a/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/index.tsx +++ b/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/index.tsx @@ -342,15 +342,17 @@ export default () => { renderItem={item => (
onCardClick(item)}> -

- - {item.meetingName} -

-

项目名称:{item.projectName}

-

标段名称:{item.sectionName}

-

评标时间:{item.startDate} —— {item.endDate}

-

专家数量:{item.expertNumber}所属省份:{proviceEnum[item.provinceDictId]}

-

评标状态:{bidStatusMap[item.status]}{item.isAbnormal == "1" && 异常预警}

+
+

+ + {item.areaName} +

+

项目名称:{item.projectName}

+

标段名称:{item.sectionName}

+

评标时间:{item.startDate} —— {item.endDate}

+

专家数量:{item.expertNumber}所属省份:{proviceEnum[item.provinceDictId]}

+

评标状态:{bidStatusMap[item.status]}{item.isAbnormal == "1" && 异常预警}

+
)} diff --git a/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/style.less b/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/style.less index 076c751..c18ba1d 100644 --- a/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/style.less +++ b/src/pages/ElecEvaluation/MonitorScreen/MonitorRoom/style.less @@ -36,6 +36,10 @@ .ant-tooltip-arrow { display: none; } + + &>.ant-tooltip-content>.ant-tooltip-inner>p { + margin-bottom: 0; + } } .top-province-tag { @@ -189,7 +193,7 @@ border-radius: 4px; border: 1px solid #5c69a1; cursor: pointer; - padding: 1rem; + padding: 0 0.5rem; &:hover { border-color: #fff; @@ -215,16 +219,24 @@ justify-content: space-between; } - &>p { - font-size: 1rem; + &>div { + position: relative; + top: 50%; + transform: translateY(-50%); + } + + &>div>p { margin-bottom: 0.5rem; + color: #fff; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; &:last-child { - margin-bottom: 0.25rem; + margin-bottom: 0; } - color: #fff; - .project-text { color: #2bddf4; } @@ -254,46 +266,140 @@ } } - @media screen and (max-height:1080px) { + @media screen and (min-height:1440px) { .list-card { - height: 36vh; - max-height: 36vh; - padding: 1rem 1.2rem; + height: 41vh; + max-height: 41vh; + padding: 0 2rem; .list-card-title { - font-size: 1.4rem; - line-height: 1.4rem; + font-size: 1.8rem; + line-height: 1.9rem; &>img { - height: 1.4rem; + height: 1.8rem; } } - &>p { - font-size: 1.1rem; - margin-bottom: 1.625rem; + &>div>p { + font-size: 1.6rem; + line-height: 1.7rem; + margin-bottom: 3.3rem; } } } - @media screen and (max-height:900px) { + @media screen and (max-height:1440px) { .list-card { - height: 32vh; - max-height: 32vh; - padding: 1rem; + height: 40vh; + max-height: 40vh; + padding: 0 2rem; .list-card-title { - font-size: 1.2rem; - line-height: 1.2rem; + font-size: 1.8rem; + line-height: 1.9rem; &>img { - height: 1.2rem; + height: 1.8rem; } } - &>p { + &>div>p { + font-size: 1.6rem; + line-height: 1.7rem; + margin-bottom: 3.3rem; + } + } + } + + @media screen and (max-height:1260px) { + .list-card { + height: 38vh; + max-height: 38vh; + padding: 0 1.8rem; + + .list-card-title { + font-size: 1.6rem; + line-height: 1.7rem; + + &>img { + height: 1.6rem; + } + } + + &>div>p { + font-size: 1.4rem; + line-height: 1.5rem; + margin-bottom: 2.8rem; + } + } + } + + @media screen and (max-height:1080px) { + .list-card { + height: 36vh; + max-height: 36vh; + padding: 0 1.4rem; + + .list-card-title { + font-size: 1.4rem; + line-height: 1.45rem; + + &>img { + height: 1.3rem; + } + } + + &>div>p { + font-size: 1.2rem; + line-height: 1.3rem; + margin-bottom: 2.1rem; + } + } + } + + @media screen and (max-height:900px) and (min-height:720px) { + .list-card { + height: 32vh; + max-height: 32vh; + padding: 0 1rem; + + .list-card-title { + font-size: 1.1rem; + line-height: 1.15rem; + + &>img { + height: 1.1rem; + } + } + + &>div>p { font-size: 1rem; - margin-bottom: 0.5rem; + line-height: 1.05rem; + margin-bottom: 1.3rem; + } + } + } + + @media screen and (max-height:720px) { + .list-card { + height: 30vh; + max-height: 30vh; + padding: 0 0.8rem; + + .list-card-title { + font-size: 1rem; + line-height: 1.05rem; + + &>img { + height: 1rem; + } + } + + &>div>p { + font-size: 0.875rem; + line-height: 0.925rem; + margin-bottom: 0.8rem; } } } diff --git a/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/index.tsx b/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/index.tsx index 5aad2b2..8287c43 100644 --- a/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/index.tsx +++ b/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/index.tsx @@ -64,7 +64,7 @@ const backPeopleNumColumns: any[] = [ ellipsis: true, onCell, onHeaderCell, - render: (_: any, record: any) => `${record.details[0].thresholdOfPeople}人`, + render: (_: any, record: any) => `${record.details?.[0].thresholdOfPeople}人`, }, { title: '实际人数', @@ -73,7 +73,7 @@ const backPeopleNumColumns: any[] = [ align: 'center', onCell, onHeaderCell, - render: (_: any, record: any) => `${record.details[0].realOfPeople}人`, + render: (_: any, record: any) => `${record.details?.[0].realOfPeople}人`, }, ]; @@ -154,7 +154,7 @@ export default (props: any) => { for (const ite of data.userNumberList) { if (ite.userType == "manager") {//项目经理 data["manager"] = ite.userNumber; - } else if (ite.userType == "purchase_expert") {//专家-招标人代表 + } else if (ite.userType == "purchaseExpert") {//专家-招标人代表 data["purchaseExpert"] = ite.userNumber; } else if (ite.userType == "expert") {//专家 data["expert"] = ite.userNumber; @@ -313,7 +313,7 @@ export default (props: any) => {
供应商名称({basicInfo?.supplierLength}): - {basicInfo?.sectionPayerList?.map((item: any) =>

{item.sectionName}({item.payerNumber}):{item.payerNames.join("、")}

)}} visible={visible} color="rgba(4,20,47,0.85)" overlayInnerStyle={{ width: '250%' }} overlayClassName="screen-tag"> + {basicInfo?.sectionPayerList?.map((item: any) =>

{item.sectionName}({item.payerNumber}):{item.payerNames.join("、")}

)}} visible={visible} color="rgba(4,20,47,0.85)" overlayInnerStyle={{ width: '250%' }} overlayClassName="screen-tag"> {basicInfo?.sectionPayerList?.[0]?.payerNames.slice(0, 5).join("、")} setVisible(true)} onMouseLeave={() => setVisible(false)}>全部
@@ -350,7 +350,7 @@ export default (props: any) => {

时间:{item.createDate}

- +
)) @@ -361,7 +361,7 @@ export default (props: any) => {

描述:{item.describeStranger}

- +
))} @@ -372,7 +372,7 @@ export default (props: any) => { className="screen-table" rowKey="id" size="small" - dataSource={basicInfo?.status == "2" ? backNumberList?.[0].details : earlyWarnData?.numberDetails} + dataSource={basicInfo?.status == "2" ? backNumberList : earlyWarnData?.numberDetails} columns={basicInfo?.status == "2" ? backPeopleNumColumns : peopleNumColumns} /> ) : ( diff --git a/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/style.less b/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/style.less index 986f451..ead7d07 100644 --- a/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/style.less +++ b/src/pages/ElecEvaluation/MonitorScreen/ProjectMonitorRoom/style.less @@ -95,15 +95,39 @@ } } + @media screen and (min-height:1440px) { + + .left-monitor, + .right-warn-list { + height: 84vh; + } + } + + @media screen and (max-height:1440px) { + + .left-monitor, + .right-warn-list { + height: 83vh; + } + } + + @media screen and (max-height:1260px) { + + .left-monitor, + .right-warn-list { + height: 80.2vh; + } + } + @media screen and (max-height:1080px) { .left-monitor, .right-warn-list { - height: 77vh; + height: 76vh; } } - @media screen and (max-height:900px) { + @media screen and (max-height:900px) and (min-height:720px) { .left-monitor, .right-warn-list { @@ -111,6 +135,14 @@ } } + @media screen and (max-height:720px) { + + .left-monitor, + .right-warn-list { + height: 66vh; + } + } + .left-monitor { border: 1px solid #fff; margin-right: 4px; diff --git a/src/pages/Evaluation/BidControl/BidControlManager/components/ViewEvalAlarmUpdateModal.tsx b/src/pages/Evaluation/BidControl/BidControlManager/components/ViewEvalAlarmUpdateModal.tsx index 098a3f4..730559a 100644 --- a/src/pages/Evaluation/BidControl/BidControlManager/components/ViewEvalAlarmUpdateModal.tsx +++ b/src/pages/Evaluation/BidControl/BidControlManager/components/ViewEvalAlarmUpdateModal.tsx @@ -1,55 +1,57 @@ -import React, { useEffect,useState } from 'react'; -import { Tabs,Collapse,Form, Input, Modal,Col,Row,Divider, Table, Button, Empty ,message,Spin,Card,} from 'antd'; -import {saveUpdateEvalRoom} from '../service'; -import {} from '@/utils/CommonUtils' +import React, { useEffect, useState } from 'react'; +import { Tabs, Collapse, Form, Input, Modal, Col, Row, Divider, Table, Button, Empty, message, Spin, Card, } from 'antd'; +import { saveUpdateEvalRoom } from '../service'; +import { } from '@/utils/CommonUtils' import ProTable, { ProColumns } from "@ant-design/pro-table"; import { getProMethod, getRoomId, getSessionRoleData } from '@/utils/session'; import ExtendUpload from "@/utils/ExtendUpload"; +import ScreenWarnBack from '@/components/ElecBidEvaluation/ScreenWarnBack'; interface alarmDataObj { - tilte:string;//标题 - id:string;//告警id - reserveId:string;//预约id - tpName:string;//项目名称 - tpNumber:string;//项目编号 - bsName:string;//标段名称 - placeName:string; //评标室名称 - startDate:string; //开始时间 - endDate:string; //结束时间 - status:string;//处理状态:0未处理;1已处理', - roomStatus:string;//评标室状态 0-未开启 1-进行中 2-已结束 - pNumber:string;//人数信息 - remark:string;//处理说明 - attachment:string;//附件id + tilte: string;//标题 + id: string;//告警id + reserveId: string;//预约id + tpName: string;//项目名称 + tpNumber: string;//项目编号 + bsName: string;//标段名称 + placeName: string; //评标室名称 + startDate: string; //开始时间 + endDate: string; //结束时间 + status: string;//处理状态:0未处理;1已处理', + roomStatus: string;//评标室状态 0-未开启 1-进行中 2-已结束 + pNumber: string;//人数信息 + remark: string;//处理说明 + attachment: string;//附件id } interface ViewEvalAlarmUpdateModalProps { alarmData: alarmDataObj; - detail:boolean; - isLookType:boolean; - onCancel:any; - onOk:any; + detail: boolean; + isLookType: boolean; + onCancel: any; + onOk: any; } const ViewEvalAlarmUpdateModal: React.FC = (props) => { - - const {alarmData,detail,isLookType,onCancel,onOk}= props; - + + const { alarmData, detail, isLookType, onCancel, onOk } = props; + const { TextArea } = Input;//文本域 const [orderSpin, orderSpinSet] = useState(false);//订单页加载中 const [uploadProps, setUploadProps] = useState(false); + const [detailModalVisible, setDetailModalVisible] = useState(false);//详情弹窗 const [form] = Form.useForm(); var roleId = getSessionRoleData().roleCode; useEffect(() => { - setUploadProps(alarmData.status=="1"||isLookType); - },[]) + setUploadProps(alarmData.status == "1" || isLookType); + }, []) - const saveUpdate = async () =>{ + const saveUpdate = async () => { orderSpinSet(true); form.validateFields().then(res => { - console.log( form.getFieldValue("remark")); + console.log(form.getFieldValue("remark")); const fromData = { id: alarmData.id, remark: form.getFieldValue("remark"), @@ -70,15 +72,15 @@ const ViewEvalAlarmUpdateModal: React.FC = (props } //0-未开启 1-进行中 2-已结束 - function getStautsValue(key:any){ + function getStautsValue(key: any) { let val = ""; //setUploadProps(false); - if(key=="0"){ + if (key == "0") { val = "未开启" - }else if(key=="1"){ + } else if (key == "1") { val = "正在评标" //setUploadProps(true); - }else if(key=="2"){ + } else if (key == "2") { val = "已结束" } return val; @@ -90,9 +92,9 @@ const ViewEvalAlarmUpdateModal: React.FC = (props visible={detail} width={"1000px"} centered - title={"异常信息:"+alarmData.tilte}//+alarmData.tilte + title={"异常信息:" + alarmData.tilte}//+alarmData.tilte onCancel={() => { onCancel(); }} - onOk={() => {onOk();}} + onOk={() => { onOk(); }} bodyStyle={{ maxHeight: "500px", overflow: "auto", zIndex: 1 }} footer={[ {getStautsValue(alarmData.roomStatus)} - {(alarmData.pNumber)} - 详情 + setDetailModalVisible(true)}>详情 - {isLookType?alarmData.remark: -