From fe5ff18306526f5fb03e4db97ad86da24fe4dc1e Mon Sep 17 00:00:00 2001 From: qzc Date: Tue, 15 Oct 2024 14:46:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=83=E7=BD=AE=E5=9B=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/DashboardLayout/style.less | 118 ++++++++++++++++++ .../Home/MapCtrl/Pops/ShenLiu/drpOption.js | 31 +++-- src/views/Home/MapCtrl/Pops/ShenLiu/index.js | 41 +++++- .../Home/MapCtrl/Pops/ShenLiu/toolbar.js | 2 +- .../Home/MapCtrl/Pops/ShenYa/drpOption.js | 31 +++-- src/views/Home/MapCtrl/Pops/ShenYa/index.js | 42 ++++++- src/views/Home/MapCtrl/Pops/ShenYa/toolbar.js | 2 +- .../Home/MapCtrl/Pops/WeiYi/drpOption.js | 32 ++++- src/views/Home/MapCtrl/Pops/WeiYi/index.js | 41 +++++- src/views/Home/MapCtrl/Pops/WeiYi/toolbar.js | 2 +- src/views/gcaqjc/bzt/index.less | 5 + 11 files changed, 321 insertions(+), 26 deletions(-) diff --git a/src/components/DashboardLayout/style.less b/src/components/DashboardLayout/style.less index dcb98b35f..f670875ee 100644 --- a/src/components/DashboardLayout/style.less +++ b/src/components/DashboardLayout/style.less @@ -301,3 +301,121 @@ background-color: #ecf2f9 !important; .nonebox .ant-card-body { padding: 5px 20px !important; } + + + + + +.ant-radio-button-wrapper{ + height:28px; + line-height:26px; + border: 1px solid #0893FF !important; + color:#0893FF; + &.ant-radio-button-wrapper-checked{ + color: #fff !important; + } + .ant-radio-button-checked{ + background:#0893FF; + border-color:#0893FF !important; + } +} + +.normalModalStyle{ + width: 100%; + // min-height: 600px; + background-color: #fff; + .ant-card-body{ + + .ant-table-thead{ + .ant-table-cell{ + background-color: #e2edfd !important; + } + } + } + + .normalModalStyle_title{ + height: 40px; + background-color: #f7f7f7; + border-radius: 10px 10px 0 0 ; + display: flex; + align-items: center; + color: #007afd; + font-size: 16px; + font-weight: 500; + margin-bottom: 10px; + + .normalModalStyle_title_icon{ + margin: 0 10px 0 15px; + width: 5px; + height: 16px; + background: #3477f5; + } + .normalModalStyle_title_cancel{ + margin-right: 15px; + flex: 1; + display: flex; + flex-direction: row-reverse; + } + } +} + +.home_modal{ + .ant-modal-content{ + border-radius: 10px; + } +} + +.homeModal1{ + // .ant-radio-button-wrapper:not(:first-child)::before{ + // background-color: red; + // } + + + + display: flex; + flex-direction: column; + .homeModal1_content{ + height: 504px; + display: flex; + padding: 5px 20px 20px 20px; + .homeModal1_content_lf{ + width: 40%; + height: 100%; + } + .homeModal1_content_rf{ + width: 60%; + height: 100%; + } + } +} + +.homeModal2{ + display: flex; + flex-direction: column; + .homeModal2_content{ + height: 504px; + display: flex; + padding: 5px 20px 20px 20px; + } +} + +.colorTable{ + .ant-table-thead{ + th{ + height: 40px !important; + background-color: #e2edfd !important; + } + } + .ant-table-tbody{ + .ant-table-measure-row{ + td{ + padding: 0 !important; + } + } + tr:nth-child(odd) { + td{ + background-color: #f5f8fe !important; + } + } + } +} diff --git a/src/views/Home/MapCtrl/Pops/ShenLiu/drpOption.js b/src/views/Home/MapCtrl/Pops/ShenLiu/drpOption.js index 0322950cf..a8487ff29 100644 --- a/src/views/Home/MapCtrl/Pops/ShenLiu/drpOption.js +++ b/src/views/Home/MapCtrl/Pops/ShenLiu/drpOption.js @@ -1,10 +1,26 @@ -export default function drpOption(data) { +export default function drpOption(data,yjData) { console.log("data",data); const maxVal = 0//Math.max(...data.map(obj => obj.drp)) - const max1 = Math.max(...data.map(obj => obj.value)) - const min1 = Math.min(...data.map(obj => obj.value)) + const max1 = Math.max(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)]) + const min1 = Math.min(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)]) const max2 = Math.max(...data.map(obj => obj.rz)) const min2 = Math.min(...data.map(obj => obj.rz)) + const yj = yjData?.map((item,index)=>{ + return { + yAxisIndex: 0, + name: item.yjName, + type: 'line', + color: item.color, + lineStyle: { + type: "dashed", + width: 1, + }, + data: data.map(o => item.value), + symbol: 'none', // 设置标记点为'none',即去掉圆点 + smooth: 0.5 + } + }) + return { tooltip: { @@ -85,8 +101,8 @@ export default function drpOption(data) { axisTick: { show: false, }, - min: Math.floor(max1*0.8), - max: Math.floor(min1*1.2), + min: Math.floor(min1*0.8), + max: Math.ceil(max1*1.2), }, // { // // gridIndex: 1, @@ -120,8 +136,8 @@ export default function drpOption(data) { // axisTick: { // show: false, // }, - // min: Math.floor(max2*0.8), - // max: Math.floor(min2*1.2), + // min: Math.floor(min2*0.8), + // max: Math.ceil(max2*1.2), // } ], series: [ @@ -138,6 +154,7 @@ export default function drpOption(data) { symbol: 'none', // 设置标记点为'none',即去掉圆点 smooth: 0.5 }, + ...yj // { // // xAxisIndex: 1, // yAxisIndex: 1, diff --git a/src/views/Home/MapCtrl/Pops/ShenLiu/index.js b/src/views/Home/MapCtrl/Pops/ShenLiu/index.js index 20b2c75fa..7754dbf90 100644 --- a/src/views/Home/MapCtrl/Pops/ShenLiu/index.js +++ b/src/views/Home/MapCtrl/Pops/ShenLiu/index.js @@ -12,7 +12,8 @@ import drpOption from './drpOption'; function ShenLiu({ id, data, dispatch, onCancel }) { console.log(data); const [ tableData, setTableData ] = useState([]) - const option = useMemo(() => drpOption(tableData), [tableData]) + const [ yjData, setYjData ] = useState([]) + const option = useMemo(() => drpOption(tableData,yjData), [tableData,yjData]) const width = 780; const closePop = () => { @@ -38,7 +39,45 @@ function ShenLiu({ id, data, dispatch, onCancel }) { setTableData(data) } + const getYjData = async(stationCode)=>{ + const params = { + "pageSo": { + "pageSize": 10, + "pageNumber": 1 + }, + "stationCode": stationCode + } + + const { code, data:{records}} = await httppost2(apiurl.gcaqjc.gcaqyj.yjgzpz.page,params) + if(code!==200){ + return + } + const linshi = [] + records?.map((item)=>{ + if(item.status===0){ + return + } + if(item.valueOne||0){ + linshi.push({ + yjName:item.level ===1?'黄色预警':'红色预警', + value:item.valueOne, + color:item.level ===1?'#f1bf42':'red' + }) + } + if(item.valueTwo||0){ + linshi.push({ + yjName:item.level ===1?'黄色预警':'红色预警', + value:item.valueTwo, + color:item.level ===1?'#f1bf42':'red' + }) + } + }) + debugger + setYjData(linshi) + } + useEffect(()=>{ + getYjData(data.stationCode) getData([moment().add(-1,'months'),moment()],data.stationCode) },[]) diff --git a/src/views/Home/MapCtrl/Pops/ShenLiu/toolbar.js b/src/views/Home/MapCtrl/Pops/ShenLiu/toolbar.js index d5791b3bc..4262b7727 100644 --- a/src/views/Home/MapCtrl/Pops/ShenLiu/toolbar.js +++ b/src/views/Home/MapCtrl/Pops/ShenLiu/toolbar.js @@ -23,7 +23,7 @@ const ToolBar = ({search, defaultParams}) => {
{ form.setFieldValue('cysd',null) diff --git a/src/views/Home/MapCtrl/Pops/ShenYa/drpOption.js b/src/views/Home/MapCtrl/Pops/ShenYa/drpOption.js index 0bdb86d26..c7f062fb4 100644 --- a/src/views/Home/MapCtrl/Pops/ShenYa/drpOption.js +++ b/src/views/Home/MapCtrl/Pops/ShenYa/drpOption.js @@ -1,10 +1,26 @@ -export default function drpOption(data) { +export default function drpOption(data,yjData) { console.log("data",data); const maxVal = 0//Math.max(...data.map(obj => obj.drp)) - const max1 = Math.max(...data.map(obj => obj.value)) - const min1 = Math.min(...data.map(obj => obj.value)) + const max1 = Math.max(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)]) + const min1 = Math.min(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)]) const max2 = Math.max(...data.map(obj => obj.rz)) const min2 = Math.min(...data.map(obj => obj.rz)) + + const yj = yjData?.map((item,index)=>{ + return { + yAxisIndex: 0, + name: item.yjName, + type: 'line', + color: item.color, + lineStyle: { + type: "dashed", + width: 1, + }, + data: data.map(o => item.value), + symbol: 'none', // 设置标记点为'none',即去掉圆点 + smooth: 0.5 + } + }) return { tooltip: { @@ -85,8 +101,8 @@ export default function drpOption(data) { axisTick: { show: false, }, - min: Math.floor(max1*0.8), - max: Math.floor(min1*1.2), + min: Math.floor(min1*0.8), + max: Math.ceil(max1*1.2), }, { // gridIndex: 1, @@ -120,8 +136,8 @@ export default function drpOption(data) { axisTick: { show: false, }, - min: Math.floor(max2*0.8), - max: Math.floor(min2*1.2), + min: Math.floor(min2*0.8), + max: Math.ceil(max2*1.2), } ], series: [ @@ -151,6 +167,7 @@ export default function drpOption(data) { symbol: 'none', // 设置标记点为'none',即去掉圆点 smooth: 0.5 }, + ...yj ] }; } diff --git a/src/views/Home/MapCtrl/Pops/ShenYa/index.js b/src/views/Home/MapCtrl/Pops/ShenYa/index.js index 4b009916e..6f7d30f86 100644 --- a/src/views/Home/MapCtrl/Pops/ShenYa/index.js +++ b/src/views/Home/MapCtrl/Pops/ShenYa/index.js @@ -10,10 +10,11 @@ import TableData from './TableData' import drpOption from './drpOption'; function ShenYa({ id, data, dispatch, onCancel }) { - console.log(data); + console.log('SY',data); const [ tableData, setTableData ] = useState([]) + const [ yjData, setYjData ] = useState([]) const [ tabVal, setTabVal ] = useState('1') - const option = useMemo(() => drpOption(tableData), [tableData]) + const option = useMemo(() => drpOption(tableData,yjData), [tableData,yjData]) const width = 780; const closePop = () => { @@ -40,7 +41,44 @@ function ShenYa({ id, data, dispatch, onCancel }) { setTableData(data) } + const getYjData = async(stationCode)=>{ + const params = { + "pageSo": { + "pageSize": 10, + "pageNumber": 1 + }, + "stationCode": stationCode + } + + const { code, data:{records}} = await httppost2(apiurl.gcaqjc.gcaqyj.yjgzpz.page,params) + if(code!==200){ + return + } + const linshi = [] + records?.map((item)=>{ + if(item.status===0){ + return + } + if(item.valueOne||0){ + linshi.push({ + yjName:item.level ===1?'黄色预警':'红色预警', + value:item.valueOne, + color:item.level ===1?'#f1bf42':'red' + }) + } + if(item.valueTwo||0){ + linshi.push({ + yjName:item.level ===1?'黄色预警':'红色预警', + value:item.valueTwo, + color:item.level ===1?'#f1bf42':'red' + }) + } + }) + setYjData(linshi) + } + useEffect(()=>{ + getYjData(data.stationCode) getData([moment().add(-1,'months'),moment()],data.stationCode) },[]) diff --git a/src/views/Home/MapCtrl/Pops/ShenYa/toolbar.js b/src/views/Home/MapCtrl/Pops/ShenYa/toolbar.js index 54ee3e2e6..f2a56ecb4 100644 --- a/src/views/Home/MapCtrl/Pops/ShenYa/toolbar.js +++ b/src/views/Home/MapCtrl/Pops/ShenYa/toolbar.js @@ -17,7 +17,7 @@ const ToolBar = ({search, setTabVal}) => { obj.drp)) - const max1 = Math.max(...data.map(obj => obj.x)) - const min1 = Math.min(...data.map(obj => obj.x)) + // const max1 = Math.max(...data.map(obj => obj.x)) + const max1 = Math.max(...[...data.map(obj => obj.x),...data.map(obj => obj.y),...data.map(obj => obj.h),...yjData.map(obj => obj.value)]) + const min1 = Math.min(...[...data.map(obj => obj.x),...data.map(obj => obj.y),...data.map(obj => obj.h),...yjData.map(obj => obj.value)]) + // const min1 = Math.min(...data.map(obj => obj.x)) const max2 = Math.max(...data.map(obj => obj.rz)) const min2 = Math.min(...data.map(obj => obj.rz)) + + + const yj = yjData?.map((item,index)=>{ + return { + yAxisIndex: 0, + name: item.yjName, + type: 'line', + color: item.color, + lineStyle: { + type: "dashed", + width: 1, + }, + data: data.map(o => item.value), + symbol: 'none', // 设置标记点为'none',即去掉圆点 + smooth: 0.5 + } + }) + + return { tooltip: { @@ -85,8 +106,8 @@ export default function drpOption(data) { axisTick: { show: false, }, - max: Math.floor(max1*1.2)||100, min: Math.floor(min1*0.8)||0, + max: Math.ceil(max1*1.2)||100, }, { // gridIndex: 1, @@ -120,8 +141,8 @@ export default function drpOption(data) { axisTick: { show: false, }, - max: Math.floor(max2*1.2), min: Math.floor(min2*0.8), + max: Math.ceil(max2*1.2), } ], series: [ @@ -177,6 +198,7 @@ export default function drpOption(data) { symbol: 'none', // 设置标记点为'none',即去掉圆点 smooth: 0.5 }, + ...yj ] }; } diff --git a/src/views/Home/MapCtrl/Pops/WeiYi/index.js b/src/views/Home/MapCtrl/Pops/WeiYi/index.js index 62c613e26..c355605e2 100644 --- a/src/views/Home/MapCtrl/Pops/WeiYi/index.js +++ b/src/views/Home/MapCtrl/Pops/WeiYi/index.js @@ -12,8 +12,10 @@ import drpOption from './drpOption'; function ShenYa({ id, data, dispatch, onCancel }) { console.log(data); const [ tableData, setTableData ] = useState([]) + const [ yjData, setYjData ] = useState([]) const [ tabVal, setTabVal ] = useState('1') - const option = useMemo(() => drpOption(tableData), [tableData]) + // const option = useMemo(() => drpOption(tableData), [tableData]) + const option = useMemo(() => drpOption(tableData,yjData), [tableData,yjData]) const width = 780; const closePop = () => { @@ -40,7 +42,44 @@ function ShenYa({ id, data, dispatch, onCancel }) { setTableData(data) } + const getYjData = async(stationCode)=>{ + const params = { + "pageSo": { + "pageSize": 10, + "pageNumber": 1 + }, + "stationCode": stationCode + } + + const { code, data:{records}} = await httppost2(apiurl.gcaqjc.gcaqyj.yjgzpz.page,params) + if(code!==200){ + return + } + const linshi = [] + records?.map((item)=>{ + if(item.status===0){ + return + } + if(item.valueOne||0){ + linshi.push({ + yjName:item.level ===1?'黄色预警':'红色预警', + value:item.valueOne, + color:item.level ===1?'#f1bf42':'red' + }) + } + if(item.valueTwo||0){ + linshi.push({ + yjName:item.level ===1?'黄色预警':'红色预警', + value:item.valueTwo, + color:item.level ===1?'#f1bf42':'red' + }) + } + }) + setYjData(linshi) + } + useEffect(()=>{ + getYjData(data.stationCode) getData([moment().add(-1,'months'),moment()],data.stationCode) },[]) diff --git a/src/views/Home/MapCtrl/Pops/WeiYi/toolbar.js b/src/views/Home/MapCtrl/Pops/WeiYi/toolbar.js index 54ee3e2e6..f2a56ecb4 100644 --- a/src/views/Home/MapCtrl/Pops/WeiYi/toolbar.js +++ b/src/views/Home/MapCtrl/Pops/WeiYi/toolbar.js @@ -17,7 +17,7 @@ const ToolBar = ({search, setTabVal}) => {