lsf-dev
秦子超 2025-06-09 13:13:04 +08:00
parent a8e912f74f
commit 8ed184216c
31 changed files with 78422 additions and 97 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 KiB

0
public/data2/drp.json Normal file
View File

619
public/data2/exBx.json Normal file
View File

@ -0,0 +1,619 @@
{
"code": 200,
"data": {
"tm2": "07日6时",
"tm1": "06日6时",
"drpInfo": {
"stCount": {
"total": 379,
"online": 104,
"sh": 35,
"sw": 26,
"sk": 6,
"qx": 37
},
"h1": {
"drpStCount": {
"total": 98,
"sh": 34,
"sw": 25,
"sk": 6,
"qx": 33
},
"max": {
"value": 50.2,
"stnm": "福田河",
"stcd": "Q9111",
"type": "qx"
},
"cntDrp10": 41,
"cntDrp25": 37,
"cntDrp50": 18,
"cntDrp100": 2,
"cntDrp250": 0,
"cntDrpg250": 0
},
"h3": {
"drpStCount": {
"total": 99,
"sh": 35,
"sw": 25,
"sk": 6,
"qx": 33
},
"max": {
"value": 51.5,
"stnm": "周家河(三河口)",
"stcd": "61641900",
"type": "sh"
},
"cntDrp10": 38,
"cntDrp25": 35,
"cntDrp50": 21,
"cntDrp100": 5,
"cntDrp250": 0,
"cntDrpg250": 0
},
"h6": {
"drpStCount": {
"total": 99,
"sh": 35,
"sw": 25,
"sk": 6,
"qx": 33
},
"max": {
"value": 51.5,
"stnm": "周家河(三河口)",
"stcd": "61641900",
"type": "sh"
},
"cntDrp10": 38,
"cntDrp25": 35,
"cntDrp50": 21,
"cntDrp100": 5,
"cntDrp250": 0,
"cntDrpg250": 0
},
"h24": {
"drpStCount": {
"total": 99,
"sh": 35,
"sw": 25,
"sk": 6,
"qx": 33
},
"max": {
"value": 51.5,
"stnm": "周家河(三河口)",
"stcd": "61641900",
"type": "sh"
},
"cntDrp10": 38,
"cntDrp25": 35,
"cntDrp50": 21,
"cntDrp100": 5,
"cntDrp250": 0,
"cntDrpg250": 0
}
},
"skInfo": {
"aRz": 0,
"online": 4
},
"importantDrp": [],
"importantRz": [],
"aRzSk": [],
"drpSk": [
{
"stcd": "61612700",
"type": "sk",
"hasRz": true,
"stnm": "碧绿河水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.214444,
"lttd": 31.299722,
"elev": 0,
"damel": 142.9,
"dsflz": 139.08,
"fsltdz": 137,
"ddz": 105,
"zcxsw": 137,
"drpTm": "2025-06-06T22:00:00.000Z",
"today": 50,
"h1": 38,
"h3": 50,
"h6": 50,
"h12": 50,
"h24": 50,
"h48": 50,
"drpState": 1,
"rz": 120,
"w": 13.55,
"a_fsltdz": -17,
"rzTm": "2025-06-06T00:00:00.000Z",
"rzWarning": 0,
"rzState": 2
},
{
"stcd": "61612560",
"type": "sk",
"hasRz": true,
"stnm": "大河铺水库",
"adcd": "421181112000",
"wscd": null,
"importancy": 0,
"lgtd": 114.941111,
"lttd": 31.464444,
"elev": 0,
"damel": 162.21,
"dsflz": 160.08,
"fsltdz": 159,
"ddz": 142.5,
"zcxsw": 159,
"drpTm": "2025-06-06T22:00:00.000Z",
"today": 50,
"h1": 50,
"h3": 50,
"h6": 50,
"h12": 50,
"h24": 50,
"h48": 50,
"drpState": 1,
"rz": 144.5,
"w": 1.66,
"a_fsltdz": -14.5,
"rzTm": "2025-06-06T00:00:00.000Z",
"rzWarning": 0,
"rzState": 2
},
{
"stcd": "61612610",
"type": "sk",
"hasRz": true,
"stnm": "三河口水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.166667,
"lttd": 31.333333,
"elev": 0,
"damel": 156.8,
"dsflz": 154.99,
"fsltdz": 149,
"ddz": 124,
"zcxsw": 149,
"drpTm": "2025-06-06T22:00:00.000Z",
"today": 43.5,
"h1": 32,
"h3": 43.5,
"h6": 43.5,
"h12": 43.5,
"h24": 43.5,
"h48": 43.5,
"drpState": 1,
"rz": 141.56,
"w": 78.3,
"a_fsltdz": -7.439999999999998,
"rzTm": "2025-06-06T22:00:00.000Z",
"rzWarning": 0,
"rzState": 1
},
{
"stcd": "61612580",
"type": "sk",
"hasRz": true,
"stnm": "芭茅河水库",
"adcd": "421181110000",
"wscd": null,
"importancy": 0,
"lgtd": 115.101389,
"lttd": 31.307778,
"elev": 0,
"damel": 127.8,
"dsflz": 125.57,
"fsltdz": 122.44,
"ddz": 106.94,
"zcxsw": 122.44,
"drpTm": "2025-06-06T22:00:00.000Z",
"today": 18,
"h1": 18,
"h3": 18,
"h6": 18,
"h12": 18,
"h24": 18,
"h48": 18,
"drpState": 1,
"rz": 117.78,
"w": 6.215,
"a_fsltdz": -4.659999999999997,
"rzTm": "2025-06-06T22:00:00.000Z",
"rzWarning": 0,
"rzState": 1
},
{
"stcd": "61613010",
"type": "sk",
"hasRz": true,
"stnm": "明山水库",
"adcd": "421181103000",
"wscd": null,
"importancy": 0,
"lgtd": 115.066667,
"lttd": 31.016667,
"elev": 0,
"damel": 98.7,
"dsflz": 96.07,
"fsltdz": 93,
"ddz": 78.02,
"zcxsw": 93,
"drpTm": "2025-06-06T22:00:00.000Z",
"today": 15,
"h1": 15,
"h3": 15,
"h6": 15,
"h12": 15,
"h24": 15,
"h48": 15,
"drpState": 1,
"rz": 84.67,
"w": 50.9,
"a_fsltdz": -8.329999999999998,
"rzTm": "2025-06-06T22:00:00.000Z",
"rzWarning": 0,
"rzState": 1
}
],
"warnDrpSt": [
{
"stcd": "61615110",
"stnm": "杨梅河(木子店)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.339667,
"lttd": 31.1595,
"elev": null,
"hasRz": true,
"type": "sh",
"today": 46,
"h1": 44,
"h3": 46,
"h6": 46,
"h12": 46,
"h24": 46,
"h48": 46,
"tm": "2025-06-06T22:25:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "61641700",
"stnm": "前畈(三河口)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.2267,
"lttd": 31.3925,
"elev": null,
"hasRz": false,
"type": "sh",
"today": 32,
"h1": 32,
"h3": 32,
"h6": 32,
"h12": 32,
"h24": 32,
"h48": 32,
"tm": "2025-06-06T22:25:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "61641750",
"stnm": "金盘地(三河口)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.2188,
"lttd": 31.2545,
"elev": null,
"hasRz": false,
"type": "sh",
"today": 46.5,
"h1": 36.5,
"h3": 46.5,
"h6": 46.5,
"h12": 46.5,
"h24": 46.5,
"h48": 46.5,
"tm": "2025-06-06T22:25:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "61641850",
"stnm": "饶家畈(三河口)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.318333,
"lttd": 31.293611,
"elev": null,
"hasRz": false,
"type": "sh",
"today": 44.5,
"h1": 43,
"h3": 44.5,
"h6": 44.5,
"h12": 44.5,
"h24": 44.5,
"h48": 44.5,
"tm": "2025-06-06T22:25:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "61641900",
"stnm": "周家河(三河口)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.164166666,
"lttd": 31.32916667,
"elev": null,
"hasRz": false,
"type": "sh",
"today": 51.5,
"h1": 44.5,
"h3": 51.5,
"h6": 51.5,
"h12": 51.5,
"h24": 51.5,
"h48": 51.5,
"tm": "2025-06-06T22:15:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "61642040",
"stnm": "月形塘(龟山)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.2875,
"lttd": 31.2292,
"elev": null,
"hasRz": false,
"type": "sh",
"today": 50.5,
"h1": 49,
"h3": 50.5,
"h6": 50.5,
"h12": 50.5,
"h24": 50.5,
"h48": 50.5,
"tm": "2025-06-06T22:25:00.000Z",
"state": 0,
"warning": 1
},
{
"stcd": "61612610",
"stnm": "三河口水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.166667,
"lttd": 31.333333,
"elev": 0,
"hasRz": true,
"type": "sk",
"tm": "2025-06-06T22:00:00.000Z",
"today": 43.5,
"h1": 32,
"h3": 43.5,
"h6": 43.5,
"h12": 43.5,
"h24": 43.5,
"h48": 43.5,
"state": 1,
"warning": 0
},
{
"stcd": "61612700",
"stnm": "碧绿河水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.214444,
"lttd": 31.299722,
"elev": 0,
"hasRz": true,
"type": "sk",
"tm": "2025-06-06T22:00:00.000Z",
"today": 50,
"h1": 38,
"h3": 50,
"h6": 50,
"h12": 50,
"h24": 50,
"h48": 50,
"state": 1,
"warning": 0
},
{
"stcd": "61612560",
"stnm": "大河铺水库",
"adcd": "421181112000",
"wscd": null,
"importancy": 0,
"lgtd": 114.941111,
"lttd": 31.464444,
"elev": 0,
"hasRz": true,
"type": "sk",
"tm": "2025-06-06T22:00:00.000Z",
"today": 50,
"h1": 50,
"h3": 50,
"h6": 50,
"h12": 50,
"h24": 50,
"h48": 50,
"state": 1,
"warning": 0
},
{
"stcd": "61641600",
"stnm": "张广河",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.316887,
"lttd": 31.352877,
"elev": null,
"hasRz": false,
"type": "sw",
"today": 31,
"h1": 30.5,
"h3": 31,
"h6": 31,
"h12": 31,
"h24": 31,
"h48": 31,
"tm": "2025-06-06T22:00:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "61643200",
"stnm": "西张店",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 114.876389,
"lttd": 31.441389,
"elev": null,
"hasRz": false,
"type": "sw",
"today": 41.5,
"h1": 41.5,
"h3": 41.5,
"h6": 41.5,
"h12": 41.5,
"h24": 41.5,
"h48": 41.5,
"tm": "2025-06-06T22:00:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "Q0142",
"stnm": "武麻高速K717+850",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.1917,
"lttd": 31.2036,
"elev": null,
"hasRz": false,
"type": "qx",
"today": 36.6,
"h1": 36.6,
"h3": 36.6,
"h6": 36.6,
"h12": 36.6,
"h24": 36.6,
"h48": 36.6,
"tm": "2025-06-06T22:00:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "Q9107",
"stnm": "三河口",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.2414,
"lttd": 31.3308,
"elev": null,
"hasRz": false,
"type": "qx",
"today": 45,
"h1": 34.4,
"h3": 45,
"h6": 45,
"h12": 45,
"h24": 45,
"h48": 45,
"tm": "2025-06-06T22:00:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "Q9111",
"stnm": "福田河",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.0944,
"lttd": 31.4747,
"elev": null,
"hasRz": false,
"type": "qx",
"today": 50.3,
"h1": 50.2,
"h3": 50.2,
"h6": 50.2,
"h12": 50.2,
"h24": 50.3,
"h48": 50.3,
"tm": "2025-06-06T22:00:00.000Z",
"state": 1,
"warning": 0
},
{
"stcd": "Q9127",
"stnm": "方家山",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.1656,
"lttd": 31.195,
"elev": null,
"hasRz": false,
"type": "qx",
"today": 35.5,
"h1": 35.5,
"h3": 35.5,
"h6": 35.5,
"h12": 35.5,
"h24": 35.5,
"h48": 35.5,
"tm": "2025-06-06T22:00:00.000Z",
"state": 1,
"warning": 0
}
],
"crucialRz": [
{
"stcd": "61615300",
"stnm": "木子店",
"adcd": null,
"wscd": null,
"importancy": 1,
"lgtd": 115.3625,
"lttd": 31.190278,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T21:00:00.000Z",
"rz": 133.89,
"state": 1
}
]
}
}

8360
public/data2/realDrp.json Normal file

File diff suppressed because it is too large Load Diff

222
public/data2/realRz.json Normal file
View File

@ -0,0 +1,222 @@
[
{
"stcd": "61612150",
"stnm": "鹰山畈(黄土岗)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.073611,
"lttd": 31.386667,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 76.99,
"trend": 1,
"state": 1,
"warning": 0,
"maxRz": 76.99,
"maxDate": "2025-06-05T17:25:00.000Z",
"warndes": null
},
{
"stcd": "61612910",
"stnm": "桃林河(阎河)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.087777777,
"lttd": 31.164444444,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-06T22:15:00.000Z",
"rz": 55.67,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 55.67,
"maxDate": "2025-06-06T02:05:00.000Z",
"warndes": null
},
{
"stcd": "61613700",
"stnm": "四角门(宋铁二桥)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 114.8291,
"lttd": 31.0754,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 27.57,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 27.57,
"maxDate": "2025-06-05T17:50:00.000Z",
"warndes": null
},
{
"stcd": "61614460",
"stnm": "项生(宋埠)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 114.798056,
"lttd": 31.058611,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 21.84,
"trend": -1,
"state": 1,
"warning": 0,
"maxRz": 21.9,
"maxDate": "2025-06-06T04:30:00.000Z",
"warndes": null
},
{
"stcd": "61615110",
"stnm": "杨梅河(木子店)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.339667,
"lttd": 31.1595,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-06T22:15:00.000Z",
"rz": 112.71,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 112.71,
"maxDate": "2025-06-06T14:05:00.000Z",
"warndes": null
},
{
"stcd": "61612200",
"stnm": "麻城",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.042444,
"lttd": 31.187389,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 52.44,
"state": 1
},
{
"stcd": "61612210",
"stnm": "麻城临时断面",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.042444,
"lttd": 31.187389,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 51.387,
"state": 1
},
{
"stcd": "61612500",
"stnm": "王福店",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 114.986666,
"lttd": 31.352944,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 73.37,
"state": 1
},
{
"stcd": "61612900",
"stnm": "阎家河",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.128722,
"lttd": 31.207,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 61.59,
"state": 1
},
{
"stcd": "61615300",
"stnm": "木子店",
"adcd": null,
"wscd": null,
"importancy": 1,
"lgtd": 115.3625,
"lttd": 31.190278,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T21:00:00.000Z",
"rz": 133.89,
"state": 1
},
{
"stcd": "61644000",
"stnm": "浮桥河",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 114.883583,
"lttd": 31.180444,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-06T22:00:00.000Z",
"rz": 43.6,
"state": 1
}
]

11956
public/data2/realSk.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
{
"code": 200,
"msg": "成功",
"data": {
"total": 1,
"list": [
{
"status": null,
"warngradeid": 5,
"warnetm": null,
"warndesc": "木子店镇1个测站超警,杨梅河(木子店)(6:39)1小时雨量51.5毫米,超警戒雨量值(50.00)1.5毫米",
"warnstatusid": 10,
"warnstm": "2025-06-07 06:37:00",
"tempcolumn": 0,
"warnid": 1130,
"isauto": "0",
"warnnm": "木子店镇山洪准备转移",
"adnm": "木子店镇",
"adcd": "421181107000000",
"warntypeid": 10,
"temprownumber": 1
}
]
}
}

View File

@ -0,0 +1,31 @@
{
"code": "200",
"updateTime": "2025-06-07T05:18+08:00",
"fxLink": "https://www.qweather.com/weather/macheng-101200503.html",
"now": {
"obsTime": "2025-06-07T05:16+08:00",
"temp": "25",
"feelsLike": "26",
"icon": "306",
"text": "中雨",
"wind360": "225",
"windDir": "西南风",
"windScale": "4",
"windSpeed": "22",
"humidity": "100",
"precip": "1.0",
"pressure": "994",
"vis": "6",
"cloud": "100",
"dew": "24"
},
"refer": {
"sources": [
"QWeather"
],
"license": [
"QWeather Developers License"
]
},
"tm": 1749244877706
}

8360
public/data3/drpReal.json Normal file

File diff suppressed because it is too large Load Diff

222
public/data3/hdReal.json Normal file
View File

@ -0,0 +1,222 @@
[
{
"stcd": "61612150",
"stnm": "鹰山畈(黄土岗)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.073611,
"lttd": 31.386667,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 77.24,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 77.35,
"maxDate": "2025-06-07T16:05:00.000Z",
"warndes": null
},
{
"stcd": "61612910",
"stnm": "桃林河(阎河)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.087777777,
"lttd": 31.164444444,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-08T03:05:00.000Z",
"rz": 55.66,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 55.67,
"maxDate": "2025-06-07T19:30:00.000Z",
"warndes": null
},
{
"stcd": "61613700",
"stnm": "四角门(宋铁二桥)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 114.8291,
"lttd": 31.0754,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 27.57,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 27.57,
"maxDate": "2025-06-07T22:35:00.000Z",
"warndes": null
},
{
"stcd": "61614460",
"stnm": "项生(宋埠)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 114.798056,
"lttd": 31.058611,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 21.87,
"trend": 1,
"state": 1,
"warning": 0,
"maxRz": 21.94,
"maxDate": "2025-06-07T16:00:00.000Z",
"warndes": null
},
{
"stcd": "61615110",
"stnm": "杨梅河(木子店)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.339667,
"lttd": 31.1595,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 112.71,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 112.71,
"maxDate": "2025-06-08T00:10:00.000Z",
"warndes": null
},
{
"stcd": "61612200",
"stnm": "麻城",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.042444,
"lttd": 31.187389,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 52.85,
"state": 1
},
{
"stcd": "61612210",
"stnm": "麻城临时断面",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.042444,
"lttd": 31.187389,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 51.432,
"state": 1
},
{
"stcd": "61612500",
"stnm": "王福店",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 114.986666,
"lttd": 31.352944,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 73.37,
"state": 1
},
{
"stcd": "61612900",
"stnm": "阎家河",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 115.128722,
"lttd": 31.207,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 61.98,
"state": 1
},
{
"stcd": "61615300",
"stnm": "木子店",
"adcd": null,
"wscd": null,
"importancy": 1,
"lgtd": 115.3625,
"lttd": 31.190278,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 134.21,
"state": 1
},
{
"stcd": "61644000",
"stnm": "浮桥河",
"adcd": null,
"wscd": null,
"importancy": 0,
"lgtd": 114.883583,
"lttd": 31.180444,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 43.6,
"state": 1
}
]

285
public/data3/overall.json Normal file
View File

@ -0,0 +1,285 @@
{
"tm2": "08日11时",
"tm1": "07日11时",
"drpInfo": {
"stCount": {
"total": 379,
"online": 104,
"sh": 35,
"sw": 26,
"sk": 6,
"qx": 37
},
"h1": {
"drpStCount": {
"total": 75,
"sh": 15,
"sw": 22,
"sk": 5,
"qx": 33
},
"max": {
"value": 7.5,
"stnm": "芭茅河水库",
"stcd": "61612580",
"type": "sk"
},
"cntDrp10": 75,
"cntDrp25": 0,
"cntDrp50": 0,
"cntDrp100": 0,
"cntDrp250": 0,
"cntDrpg250": 0
},
"h3": {
"drpStCount": {
"total": 91,
"sh": 31,
"sw": 22,
"sk": 5,
"qx": 33
},
"max": {
"value": 14.3,
"stnm": "下白米",
"stcd": "Q9123",
"type": "qx"
},
"cntDrp10": 83,
"cntDrp25": 8,
"cntDrp50": 0,
"cntDrp100": 0,
"cntDrp250": 0,
"cntDrpg250": 0
},
"h6": {
"drpStCount": {
"total": 94,
"sh": 31,
"sw": 23,
"sk": 6,
"qx": 34
},
"max": {
"value": 22.7,
"stnm": "下白米",
"stcd": "Q9123",
"type": "qx"
},
"cntDrp10": 63,
"cntDrp25": 31,
"cntDrp50": 0,
"cntDrp100": 0,
"cntDrp250": 0,
"cntDrpg250": 0
},
"h24": {
"drpStCount": {
"total": 100,
"sh": 34,
"sw": 26,
"sk": 6,
"qx": 34
},
"max": {
"value": 45.2,
"stnm": "下白米",
"stcd": "Q9123",
"type": "qx"
},
"cntDrp10": 23,
"cntDrp25": 52,
"cntDrp50": 25,
"cntDrp100": 0,
"cntDrp250": 0,
"cntDrpg250": 0
}
},
"skInfo": {
"aRz": 0,
"online": 4
},
"importantDrp": [],
"importantRz": [],
"aRzSk": [],
"drpSk": [
{
"stcd": "61614200",
"type": "sk",
"hasRz": true,
"stnm": "浮桥河水库",
"adcd": "421181100000",
"wscd": null,
"importancy": 0,
"lgtd": 114.875,
"lttd": 31.166667,
"elev": 0,
"damel": 71.33,
"dsflz": 68.04,
"fsltdz": 64.89,
"ddz": 51.78,
"zcxsw": 64.89,
"drpTm": "2025-06-08T03:00:00.000Z",
"today": 13,
"h1": 1,
"h3": 8.5,
"h6": 16,
"h12": 19,
"h24": 26.5,
"h48": 70,
"drpState": 1,
"rz": 60.78,
"w": 164.6,
"a_fsltdz": -4.109999999999999,
"rzTm": "2025-06-08T03:00:00.000Z",
"rzWarning": 0,
"rzState": 1
},
{
"stcd": "61613010",
"type": "sk",
"hasRz": true,
"stnm": "明山水库",
"adcd": "421181103000",
"wscd": null,
"importancy": 0,
"lgtd": 115.066667,
"lttd": 31.016667,
"elev": 0,
"damel": 98.7,
"dsflz": 96.07,
"fsltdz": 93,
"ddz": 78.02,
"zcxsw": 93,
"drpTm": "2025-06-08T03:00:00.000Z",
"today": 13,
"h1": 2.5,
"h3": 10.5,
"h6": 14,
"h12": 15.5,
"h24": 22,
"h48": 74.5,
"drpState": 1,
"rz": 85.27,
"w": 54.6,
"a_fsltdz": -7.730000000000004,
"rzTm": "2025-06-08T03:00:00.000Z",
"rzWarning": 0,
"rzState": 1
},
{
"stcd": "61612700",
"type": "sk",
"hasRz": true,
"stnm": "碧绿河水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.214444,
"lttd": 31.299722,
"elev": 0,
"damel": 142.9,
"dsflz": 139.08,
"fsltdz": 137,
"ddz": 105,
"zcxsw": 137,
"drpTm": "2025-06-08T03:00:00.000Z",
"today": 8.5,
"h1": 6,
"h3": 7.5,
"h6": 9,
"h12": 10.5,
"h24": 18,
"h48": 106.5,
"drpState": 1,
"rz": 121,
"w": 14.7,
"a_fsltdz": -16,
"rzTm": "2025-06-08T00:00:00.000Z",
"rzWarning": 0,
"rzState": 2
},
{
"stcd": "61612580",
"type": "sk",
"hasRz": true,
"stnm": "芭茅河水库",
"adcd": "421181110000",
"wscd": null,
"importancy": 0,
"lgtd": 115.101389,
"lttd": 31.307778,
"elev": 0,
"damel": 127.8,
"dsflz": 125.57,
"fsltdz": 122.44,
"ddz": 106.94,
"zcxsw": 122.44,
"drpTm": "2025-06-08T03:00:00.000Z",
"today": 9,
"h1": 7.5,
"h3": 8,
"h6": 9.5,
"h12": 11.5,
"h24": 17.5,
"h48": 65.5,
"drpState": 1,
"rz": 117.75,
"w": 6.191,
"a_fsltdz": -4.689999999999998,
"rzTm": "2025-06-08T03:00:00.000Z",
"rzWarning": 0,
"rzState": 1
},
{
"stcd": "61612610",
"type": "sk",
"hasRz": true,
"stnm": "三河口水库",
"adcd": "421181109000",
"wscd": null,
"importancy": 0,
"lgtd": 115.166667,
"lttd": 31.333333,
"elev": 0,
"damel": 156.8,
"dsflz": 154.99,
"fsltdz": 149,
"ddz": 124,
"zcxsw": 149,
"drpTm": "2025-06-08T03:00:00.000Z",
"today": 5,
"h1": 3.5,
"h3": 4.5,
"h6": 5.5,
"h12": 7.5,
"h24": 13,
"h48": 96.5,
"drpState": 1,
"rz": 141.98,
"w": 80.5,
"a_fsltdz": -7.02000000000001,
"rzTm": "2025-06-08T03:00:00.000Z",
"rzWarning": 0,
"rzState": 1
}
],
"warnDrpSt": [],
"crucialRz": [
{
"stcd": "61615300",
"stnm": "木子店",
"adcd": null,
"wscd": null,
"importancy": 1,
"lgtd": 115.3625,
"lttd": 31.190278,
"elev": null,
"hasRz": true,
"type": "sw",
"tm": "2025-06-08T03:00:00.000Z",
"rz": 134.21,
"state": 1
}
]
}

11956
public/data3/skReal.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,7 @@ export const DrpRealPromise = new CachePromise(
// .catch(() => null), // .catch(() => null),
// 5000 // 5000
() => fetch(`${process.env.PUBLIC_URL}/data/drpReal2.json`) () => fetch(`${process.env.PUBLIC_URL}/data3/drpReal.json`)
.then((response) => response.json()) .then((response) => response.json())
// .then(data=>{ // .then(data=>{
// const cs = [] // const cs = []
@ -50,7 +50,7 @@ export const HDRealPromise = new CachePromise(
// .then(({ data }) => data) // .then(({ data }) => data)
// .catch(() => null), // .catch(() => null),
// 5000 // 5000
() => fetch(`${process.env.PUBLIC_URL}/data/hdReal.json`) () => fetch(`${process.env.PUBLIC_URL}/data3/hdReal.json`)
.then((response) => response.json()) .then((response) => response.json())
.catch(() => null), .catch(() => null),
5000 5000
@ -68,7 +68,7 @@ export const SkRealPromise = new CachePromise(
// .catch(() => null), // .catch(() => null),
// 5000 // 5000
() => fetch(`${process.env.PUBLIC_URL}/data/skReal.json`) () => fetch(`${process.env.PUBLIC_URL}/data3/skReal.json`)
.then((response) => response.json()) .then((response) => response.json())
.then(data => { .then(data => {
return data.map(o => ({ ...o, aRz: parseFloat((o.rz - o.fsltdz).toFixed(2)) })) return data.map(o => ({ ...o, aRz: parseFloat((o.rz - o.fsltdz).toFixed(2)) }))
@ -124,7 +124,7 @@ export const OverallPromise = new CachePromise(
// .catch(() => null), // .catch(() => null),
// 5000 // 5000
() => fetch(`${process.env.PUBLIC_URL}/data/overall.json`) () => fetch(`${process.env.PUBLIC_URL}/data3/overall.json`)
.then((response) => response.json()) .then((response) => response.json())
.catch(() => null), .catch(() => null),
5000 5000

View File

@ -509,7 +509,7 @@ const map = {
if (id === 8){ if (id === 8){
dispatch.rcview.showRealContour('h1') dispatch.rcview.showRealContour('h24')
}else{ }else{
dispatch.runtime.setLayerSetting({ contour: null, dem: undefined }); dispatch.runtime.setLayerSetting({ contour: null, dem: undefined });
dispatch.runtime.setLayerSetting({ planeArea: null }); dispatch.runtime.setLayerSetting({ planeArea: null });

View File

@ -118,8 +118,9 @@ export default function calcLayout(view, rightStack, hidePanels) {
left = [ left = [
{ key: '天气' }, { key: '天气' },
{ key: '供水数据概览',style: { height: '15.5rem'} }, { key: '供水数据概览',style: { height: '15.5rem'} },
{ key: '供水监管',style: { height: '16.5rem'} }, { key: '供水负荷曲线',style: { height: '18rem'} },
{ key: '供水态势',style: { height: '16rem'} }, // { key: '供水监管',style: { height: '16.5rem'} },
// { key: '供水态势',style: { height: '16rem'} },
]; ];
} else if (view === 302) { } else if (view === 302) {
left = [ left = [
@ -130,9 +131,11 @@ export default function calcLayout(view, rightStack, hidePanels) {
} else if (view === 303) { } else if (view === 303) {
left = [ left = [
{ key: '天气' }, { key: '天气' },
{ key: '水厂监控',style: { height: '16rem'} }, { key: '水厂总览', style: { height: '26rem' } },
{ key: '设备数量统计',style: { height: '18rem'} }, { key: '设备统计', style: { height: '16rem' } },
{ key: '设备故障统计',style: { height: '18rem'} }, // { key: '水厂监控',style: { height: '16rem'} },
// { key: '设备数量统计',style: { height: '18rem'} },
// { key: '设备故障统计',style: { height: '18rem'} },
]; ];
}else if (view === 305) { }else if (view === 305) {
left = [ left = [
@ -340,9 +343,10 @@ export default function calcLayout(view, rightStack, hidePanels) {
} else if (view === 303) { } else if (view === 303) {
right = [ right = [
// { key: '警报' }, // { key: '警报' },
{ key: '安防监控', style: { height: '14rem', flexGrow: 1 } }, // { key: '安防监控', style: { height: '14rem', flexGrow: 1 } },
{ key: '电耗分析', style: { height: '19rem', flexGrow: 1 } }, { key: '电耗分析', style: { height: '19rem', flexGrow: 1 } },
{ key: '药耗分析', style: { height: '21rem', flexGrow: 1 } }, { key: '药耗分析', style: { height: '21rem', flexGrow: 1 } },
{ key: '设备预警', style: { height: '21rem', flexGrow: 1 } },
]; ];
} else if (view === 305) { } else if (view === 305) {
right = [ right = [

View File

@ -0,0 +1,94 @@
import React from 'react';
import DpTab from '../../../../layouts/mui/DpTab';
import Dialog from '@material-ui/core/Dialog';
import DialogContent from '@material-ui/core/DialogContent';
import DpPaperComponent from '../../../../layouts/mui/DpPaperCompanent';
import DpTabs from '../../../../layouts/mui/DpTabs';
import DpAppBar from '../../../../layouts/mui/DpAppBar';
import DpBackgroundDrop from '../../../../layouts/mui/DpBackdrop';
import DpCloseButton from '../../../../layouts/mui/DpCloseButton';
import Table from '@material-ui/core/Table';
import TableContainer from '@material-ui/core/TableContainer';
import TableBody from '@material-ui/core/TableBody';
import TableHead from '@material-ui/core/TableHead';
import TableRow from '@material-ui/core/TableRow';
import DpTableCell from '../../../../layouts/mui/DpTableCell';
import DpTableRow from '../../../../layouts/mui/DpTableRow';
function HDStDlg({ record, onClose }) {
const [value, setValue] = React.useState(0);
const data1 = [
{name:'风机1',tm:'2025-06-06 15:38:00',ckfy:110,fl:98,djwd:65,clwd:86},
{name:'风机2',tm:'2025-06-06 15:38:00',ckfy:110,fl:95,djwd:63,clwd:85},
{name:'风机3',tm:'2025-06-06 15:38:00',ckfy:110,fl:99,djwd:55,clwd:67},
]
return (
<Dialog
open={true}
onClose={onClose}
maxWidth="xl"
style={{ borderRadius: 0 }}
PaperComponent={DpPaperComponent}
BackdropComponent={DpBackgroundDrop}
>
<div className="boxhead"></div>
<DialogContent style={{ padding: 0, width: '60rem', overflowX: 'hidden',height:'35rem' }}>
<DpAppBar position="sticky">
<DpTabs value={value} indicatorColor="primary" onChange={(_, v) => setValue(v)}>
<DpTab label="资产详情" />
<DpTab label="预警信息" />
</DpTabs>
<DpCloseButton onClick={onClose} />
</DpAppBar>
{
value===0?
<div style={{padding:10}}>
<img src={`${process.env.PUBLIC_URL}/assets/资产详情.jpg`} style={{width:'100%'}}></img>
</div>:null
}
{
value===1?
<TableContainer >
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ maxWidth: '30%' }} align="left">设备名称</DpTableCell>
<DpTableCell align="center">监测时间</DpTableCell>
<DpTableCell align="center">出口风压</DpTableCell>
<DpTableCell align="center">风量</DpTableCell>
<DpTableCell align="center">电机绕组温度</DpTableCell>
<DpTableCell align="center">齿轮箱油温</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{
data1.map((row) => (
<DpTableRow key={row.name}>
<DpTableCell component="th" scope="row" >
<div className="table-ellipsis cursor-pointer" onClick={() => {
}}>{row.name}</div>
</DpTableCell>
<DpTableCell align="center" >{row.tm}</DpTableCell>
<DpTableCell align="center" >{row.ckfy}</DpTableCell>
<DpTableCell align="center" >{row.fl}</DpTableCell>
<DpTableCell align="center" >{row.djwd}</DpTableCell>
<DpTableCell align="center" >{row.clwd}</DpTableCell>
</DpTableRow>
))
}
</TableBody>
</Table>
</TableContainer>
:null
}
</DialogContent>
<div className="boxfoot"></div>
</Dialog>
)
}
export default React.memo(HDStDlg);

View File

@ -41,6 +41,7 @@ import ShuikuyhDlg from './ShuikuyhDlg';
import XunchaDlg from './XunchaDlg'; import XunchaDlg from './XunchaDlg';
import XcxqDlg from './XcxqDlg'; import XcxqDlg from './XcxqDlg';
import WyWarnDlg from './WyWarnDlg'; import WyWarnDlg from './WyWarnDlg';
import ShuiBengDlg from './ShuiBengDlg'
function InfoDlg() { function InfoDlg() {
const infoDlg = useSelector(getInfoDlg); const infoDlg = useSelector(getInfoDlg);
@ -135,6 +136,8 @@ function InfoDlg() {
return <XcxqDlg record={properties} onClose={handleClose} /> return <XcxqDlg record={properties} onClose={handleClose} />
}else if (layerId === 'WyWarnLayer') { }else if (layerId === 'WyWarnLayer') {
return <WyWarnDlg record={properties} onClose={handleClose} /> return <WyWarnDlg record={properties} onClose={handleClose} />
}else if (layerId === 'ShuiBengLayer') {
return <ShuiBengDlg record={properties} onClose={handleClose} />
} }

View File

@ -204,12 +204,11 @@ function DrpChart({ record }) {
const classes = useStyles(); const classes = useStyles();
const tm = [moment().add(-24, 'hour'), moment()]; const tm = [moment().add(-24, 'hour'), moment()];
const resultTm = normalizeSearchTmRange(tm, 'h'); const resultTm = ['2025-06-07 10:00:00','2025-06-08 10:00:00']//normalizeSearchTmRange(tm, 'h');
useEffect(() => { useEffect(() => {
drpSearch(record.type, record.stcd, 'h', resultTm, record.countycode).then((data) => { drpSearch(record.type, record.stcd, 'h', resultTm, record.countycode).then((data) => {
// const newData = record.test ? demoData : data; const newData = record.test ? demoData : data;
const newData = demoData;
setData(newData || []); setData(newData || []);
}); });
}, []) }, [])
@ -380,8 +379,8 @@ function DrpChart({ record }) {
style={{ height: '15rem', width: '30rem' }} style={{ height: '15rem', width: '30rem' }}
/> />
<div className={classes.grid}> <div className={classes.grid}>
<Typography variant="subtitle2">上报时间: {record.tm ? moment(record.tm).format('YYYY-MM-DD HH:mm:ss') : '-'}</Typography> {/* <Typography variant="subtitle2">上报时间: {record.tm ? moment(record.tm).format('YYYY-MM-DD HH:mm:ss') : '-'}</Typography> */}
<div className={classes.realdrpgrid}> {/* <div className={classes.realdrpgrid}>
{ {
['h1', 'h3', 'h6', 'h12', 'h24'].map(key => ( ['h1', 'h3', 'h6', 'h12', 'h24'].map(key => (
<div key={key} className="item"> <div key={key} className="item">
@ -390,7 +389,7 @@ function DrpChart({ record }) {
</div> </div>
)) ))
} }
</div> </div> */}
</div> </div>
</> </>
) )

View File

@ -128,6 +128,11 @@ import Sljc from './panels/Sljc'
import Byjc from './panels/Byjc' import Byjc from './panels/Byjc'
import Shuikusp from './panels/ShuikuSp' import Shuikusp from './panels/ShuikuSp'
import JcGJ from './panels/Jcgj' import JcGJ from './panels/Jcgj'
import Sczl from './panels/Sczl'
import Sbtj from './panels/Sbtj'
import Sbyj from './panels/Sbyj'
import Gsfhqx from './panels/Gsfhqx'
export default function PanelIndex({ name, style, ...params }) { export default function PanelIndex({ name, style, ...params }) {
if (name === '天气') { if (name === '天气') {
return ( return (
@ -378,7 +383,16 @@ export default function PanelIndex({ name, style, ...params }) {
return <Sksltj style={style} /> return <Sksltj style={style} />
} else if (name === '洪水防御') { } else if (name === '洪水防御') {
return <Hsfy style={style} /> return <Hsfy style={style} />
} } else if (name === '水厂总览') {
return <Sczl style={style} />
} else if (name === '设备统计') {
return <Sbtj style={style} />
} else if (name === '设备预警') {
return <Sbyj style={style} />
} else if (name === '供水负荷曲线') {
return <Gsfhqx style={style} />
}
return ( return (
<PanelBox style={style} title={name} color="red"> <PanelBox style={style} title={name} color="red">

View File

@ -1,6 +1,7 @@
import React, { useMemo } from 'react'; import React, { useMemo } from 'react';
import echarts from 'echarts/lib/echarts'; import echarts from 'echarts/lib/echarts';
import ReactEcharts from 'echarts-for-react'; import ReactEcharts from 'echarts-for-react';
import { max } from 'moment';
const pallete = [ const pallete = [
@ -12,14 +13,174 @@ const pallete = [
['#7988d9', '#9dc6f1'], ['#7988d9', '#9dc6f1'],
['#d9ed8f', '#d3f89b'], ['#d9ed8f', '#d3f89b'],
]; ];
const dataX = [
{
"ADCD": "421181001000000",
"NAME": "龙池办事处",
"drp": 0,
"cnt": 8,
"av": 0,
"name": "龙\n池\n办\n事\n处"
},
{
"ADCD": "421181002000000",
"NAME": "鼓楼办事处",
"drp": 0,
"cnt": 4,
"av": 0,
"name": "鼓\n楼\n办\n事\n处"
},
{
"ADCD": "421181003000000",
"NAME": "南湖办事处",
"drp": 0,
"cnt": 5,
"av": 0,
"name": "南\n湖\n办\n事\n处"
},
{
"ADCD": "421181100000000",
"NAME": "中馆驿镇",
"drp": 26.5,
"cnt": 10,
"av": 2.6,
"name": "中\n馆\n驿\n镇"
},
{
"ADCD": "421181101000000",
"NAME": "宋埠镇",
"drp": 0,
"cnt": 12,
"av": 0,
"name": "宋\n埠\n镇"
},
{
"ADCD": "421181102000000",
"NAME": "歧亭镇",
"drp": 0,
"cnt": 8,
"av": 0,
"name": "歧\n亭\n镇"
},
{
"ADCD": "421181103000000",
"NAME": "白果镇",
"drp": 23,
"cnt": 6,
"av": 3.8,
"name": "白\n果\n镇"
},
{
"ADCD": "421181104000000",
"NAME": "夫子河镇",
"drp": 0,
"cnt": 9,
"av": 0,
"name": "夫\n子\n河\n镇"
},
{
"ADCD": "421181105000000",
"NAME": "阎家河镇",
"drp": 0,
"cnt": 6,
"av": 0,
"name": "阎\n家\n河\n镇"
},
{
"ADCD": "421181106000000",
"NAME": "龟山镇",
"drp": 0,
"cnt": 14,
"av": 0,
"name": "龟\n山\n镇"
},
{
"ADCD": "421181107000000",
"NAME": "盐田河镇",
"drp": 0,
"cnt": 20,
"av": 0,
"name": "盐\n田\n河\n镇"
},
{
"ADCD": "421181108000000",
"NAME": "张家畈镇",
"drp": 0,
"cnt": 8,
"av": 0,
"name": "张\n家\n畈\n镇"
},
{
"ADCD": "421181109000000",
"NAME": "木子店镇",
"drp": 31,
"cnt": 23,
"av": 1.3,
"name": "木\n子\n店\n镇"
},
{
"ADCD": "421181110000000",
"NAME": "三河口镇",
"drp": 17.5,
"cnt": 18,
"av": 1,
"name": "三\n河\n口\n镇"
},
{
"ADCD": "421181111000000",
"NAME": "黄土岗镇",
"drp": 0.5,
"cnt": 18,
"av": 0,
"name": "黄\n土\n岗\n镇"
},
{
"ADCD": "421181112000000",
"NAME": "福田河镇",
"drp": 5,
"cnt": 29,
"av": 0.2,
"name": "福\n田\n河\n镇"
},
{
"ADCD": "421181113000000",
"NAME": "乘马岗镇",
"drp": 0,
"cnt": 31,
"av": 0,
"name": "乘\n马\n岗\n镇"
},
{
"ADCD": "421181114000000",
"NAME": "顺河镇",
"drp": 0,
"cnt": 0,
"av": 0,
"name": "顺\n河\n镇"
},
{
"ADCD": "421181200000000",
"NAME": "铁门岗乡",
"drp": 0,
"cnt": 4,
"av": 0,
"name": "铁\n门\n岗\n乡"
},
{
"ADCD": "421181471000000",
"NAME": "麻城经济开发区",
"drp": 0,
"cnt": 0,
"av": 0,
"name": "麻\n城\n经\n济\n开\n发\n区"
}
]
const palleteLen = pallete.length; const palleteLen = pallete.length;
const AreaDrpChart = () => { const AreaDrpChart = () => {
const x = ['清泉水厂','南湖水厂','东郊水厂','西山水厂'] const y2 = [ 4,8]
const y1 = [11.2, 12.4, 23.6, 12.2,32.1]
const y2 = [23, 12, 4, 23,8]
@ -37,12 +198,12 @@ const AreaDrpChart = () => {
}, },
grid: { grid: {
top: 42, top: 42,
left: 50, left: 40,
right: 25, right: 5,
bottom: 27, bottom: 47,
}, },
legend: { legend: {
data: ['水质异常','管网漏损'], data: ['报警总数','已解除','未解除'],
top: '8', top: '8',
left: 'center', left: 'center',
itemWidth: 11,//11, itemWidth: 11,//11,
@ -55,7 +216,7 @@ const AreaDrpChart = () => {
xAxis: [ xAxis: [
{ {
type: 'category', type: 'category',
data: x, data: dataX.map((o)=>o.name),
splitLine: { splitLine: {
show: true, //隐藏X轴轴线 show: true, //隐藏X轴轴线
lineStyle: { lineStyle: {
@ -87,11 +248,11 @@ const AreaDrpChart = () => {
{ {
type: 'value', type: 'value',
position: 'left', position: 'left',
name: '异常数量', name: '报警统计(个)',
nameTextStyle: { nameTextStyle: {
color: '#B9BFC9', color: '#B9BFC9',
fontSize: 10,//10, fontSize: 10,//10,
padding: [0, 0, 0, -30],//[0, 0, 0, -30]//控制y轴标题位置 padding: [0, 0, 0, -15],//[0, 0, 0, -30]//控制y轴标题位置
}, },
nameGap: 17, nameGap: 17,
@ -115,54 +276,18 @@ const AreaDrpChart = () => {
axisTick: { axisTick: {
show: false, show: false,
}, },
min: 0, max:20,
max: 100,
}, },
{
type: 'value',
position: 'right',
name: '漏损率(%)',
nameTextStyle: {
color: '#B9BFC9',
fontSize: 10,//10,
padding: [0, 0, 0, -30],//[0, 0, 0, -30]//控制y轴标题位置
},
nameGap: 17,
splitLine: {
show: true,
lineStyle: {
width: 1,
color: 'rgba(255,255,255,0.2)'
}
},
axisLabel: {
show: true,
textStyle: {
color: '#B9BFC9',
fontSize: 11,//11
}
},
axisLine: {
show: false
},
axisTick: {
show: false,
},
min: 0,
max: 50,
}
], ],
series: [ series: [
{ {
yAxisIndex: 0, name: '报警总数',
name: '水质异常',
type: 'bar', type: 'bar',
barWidth: 10, barWidth: 5,
data: y2, data: y2,
itemStyle: { itemStyle: {
normal: { normal: {
color: '#56b38b' color: '#63a4f8'
}, },
}, },
// label: { // label: {
@ -175,14 +300,31 @@ const AreaDrpChart = () => {
// }, // },
}, },
{ {
yAxisIndex: 1, name: '已解除',
name: '管网漏损',
type: 'bar', type: 'bar',
barWidth: 10, barWidth: 5,
data: y1, data: y2,
itemStyle: { itemStyle: {
normal: { normal: {
color: '#3860d0' color: '#4cd5a3'
},
},
// label: {
// show: true,
// position: 'top',
// color: '#bbb',
// fontSize: 12,
// textShadowBlur: 4,
// textShadowColor: '#6ab',
// },
},{
name: '未解除',
type: 'bar',
barWidth: 5,
data: y2.map((o)=>0),
itemStyle: {
normal: {
color: '#f5c75f'
}, },
}, },
// label: { // label: {

View File

@ -0,0 +1,207 @@
import React, { useMemo } from 'react';
import echarts from 'echarts/lib/echarts';
import ReactEcharts from 'echarts-for-react';
const pallete = [
['#177ab3', '#51c3e7'],
['#9976dc', '#c792ee'],
['#94a1eb', '#a7caf8'],
['#7ae5c3', '#c9f4ea'],
['#c7dca5', '#f5fcd5'],
['#7988d9', '#9dc6f1'],
['#d9ed8f', '#d3f89b'],
];
const palleteLen = pallete.length;
const x = [
"2025-06-02 15:00:00",
"2025-06-02 16:00:00",
"2025-06-02 17:00:00",
"2025-06-02 18:00:00",
"2025-06-02 19:00:00",
"2025-06-02 20:00:00",
"2025-06-02 21:00:00",
"2025-06-03 01:00:00",
"2025-06-03 02:00:00",
"2025-06-03 04:00:00",
"2025-06-03 06:00:00",
"2025-06-03 08:00:00",
"2025-06-03 10:00:00",
"2025-06-03 12:00:00",
"2025-06-03 13:00:00",
"2025-06-03 14:00:00"
]
const y = [
100000,
90000,
110000,
100000,
90000,
70000,
90000,
100000,
120000,
110000,
100000,
110000,
120000,
110000,
130000,
140000
]
const AreaDrpChart = ({index}) => {
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
label: {
show: false
}
},
valueFormatter: (value) => value + ' 万m³'
},
grid: {
top: 42,
left: 50,
right: 0,
bottom: 27,
},
legend: {
data: ['设计产能', '实际产水'],
top: '8',
icon:'circle',
left: 'center',
itemWidth: 11,//11,
itemHeight: 11,//11,
textStyle: {
color: '#B9BFC9',
fontSize: 12,//12
}
},
xAxis: [
{
type: 'category',
data: x,
splitLine: {
show: true, //隐藏X轴轴线
lineStyle: {
color: 'rgba(255,255,255,0.2)',
width: 0
}
},
axisLabel: {
show: true,
textStyle: {
color: '#B9BFC9' //X轴文字颜色
},
formatter: val => val.substr('2020-10-14 '.length, 5),
// rotate: 20, // 角度值Number
fontSize: 10,//10
},
axisLine: {
show: true, //隐藏X轴轴线
lineStyle: {
color: 'rgba(255,255,255,0.2)',
width: 0
}
},
axisTick: {
show: true,
}
}
],
yAxis: [
{
type: 'value',
position: 'left',
name: '实际产水',
nameTextStyle: {
color: '#B9BFC9',
fontSize: 10,//10,
padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置
},
nameGap: 17,
splitLine: {
show: true,
lineStyle: {
width: 1,
color: 'rgba(255,255,255,0.2)'
}
},
axisLabel: {
show: true,
textStyle: {
color: '#B9BFC9',
fontSize: 11,//11
}
},
axisLine: {
show: false
},
axisTick: {
show: false,
},
}
],
series: [
{
name: '实际产水',
type: 'line',
barWidth: 10,
data: y.map((item)=>item*(index+1)*1.1),
showSymbol: false,
itemStyle: {
normal: {
color: '#32e1b5'
},
},
// label: {
// show: true,
// position: 'top',
// color: '#bbb',
// fontSize: 12,
// textShadowBlur: 4,
// textShadowColor: '#6ab',
// },
},
{
name: '设计产能',
type: 'line',
barWidth: 10,
showSymbol: false,
data: y.map((item)=>100000),
itemStyle: {
normal: {
color: '#f19932'
},
},
// label: {
// show: true,
// position: 'top',
// color: '#bbb',
// fontSize: 12,
// textShadowBlur: 4,
// textShadowColor: '#6ab',
// },
},
]
};
return (
<ReactEcharts
option={option}
style={{ height: '99%', width: '100%' }}
/>
)
}
export default React.memo(AreaDrpChart);

View File

@ -0,0 +1,188 @@
import React, { useMemo, useState } from 'react';
import { Switch, FormControlLabel,InputLabel, Select, MenuItem,FormControl } from '@material-ui/core/index'
import PanelBox from '../../components/PanelBox';
import { useDispatch, useSelector } from 'react-redux';
import AreaDrpChart from './chart';
import config from '../../../../config';
function DrpReal({ style }) {
const [dimension, setDimension] =useState('61614460');
const [index,setIndex ] = useState(0)
const dispatch = useDispatch();
const data = [
{
"stcd": "61614460",
"stnm": "项生(宋埠)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 114.798056,
"lttd": 31.058611,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-03T02:00:00.000Z",
"rz": 21.91,
"trend": 1,
"state": 1,
"warning": 0,
"maxRz": 21.91,
"maxDate": "2025-06-03T02:00:00.000Z",
"warndes": null
},{
"stcd": "61613700",
"stnm": "四角门(宋铁二桥)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 114.8291,
"lttd": 31.0754,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-03T02:00:00.000Z",
"rz": 27.57,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 27.57,
"maxDate": "2025-06-03T01:00:00.000Z",
"warndes": null,
},{
"stcd": "61612910",
"stnm": "桃林河(阎河)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.087777777,
"lttd": 31.164444444,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-03T02:35:00.000Z",
"rz": 55.67,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 55.67,
"maxDate": "2025-06-03T02:00:00.000Z",
"warndes": null
},{
"stcd": "61615110",
"stnm": "杨梅河(木子店)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.339667,
"lttd": 31.1595,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-03T02:00:00.000Z",
"rz": 112.71,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 112.71,
"maxDate": "2025-06-02T22:00:00.000Z",
"warndes": null
},{
"stcd": "61612150",
"stnm": "鹰山畈(黄土岗)",
"adcd": "421181000000000",
"wscd": null,
"importancy": 0,
"lgtd": 115.073611,
"lttd": 31.386667,
"elev": null,
"hasRz": true,
"wrz": null,
"wrq": null,
"grz": null,
"grq": null,
"sfz": null,
"sfq": null,
"type": "sh",
"tm": "2025-06-03T02:00:00.000Z",
"rz": 77.12,
"trend": 0,
"state": 1,
"warning": 0,
"maxRz": 77.25,
"maxDate": "2025-06-02T16:00:00.000Z",
"warndes": null
},
]
return (
<PanelBox
style={style}
title="供水负荷曲线"
color="green"
extra={
<>
{/* <img src='/assets/年下拉3.jpg' style={{width:'100px', height:'30px',marginRight:'10px'}}/> */}
<div style={{height:'30px',overflow:'hidden'}}>
<Select
labelId="analysis-select-label"
value={dimension}
label=""
onChange={(event,b) => {
setIndex(b)
// const value = event.target.value;
// setDimension(value);
// const record = data.filter(o=>o.stcd===value)[0]
// const { lgtd, lttd } = record;
// if (lgtd && lttd) {
// dispatch.runtime.setFeaturePop({ type: 'RealHDPop', properties: record, coordinates: [lgtd, lttd] });
// dispatch.runtime.setCameraTarget({
// center: [lgtd, lttd + config.poiPositionOffsetY.hd],
// zoom: config.poiPositionZoom.hd,
// pitch: config.poiPitch,
// });
// }
}}
>
{
data.map((item)=>
<MenuItem value={item.stcd}>{item.stnm}</MenuItem>
)
}
</Select>
</div>
</>
}
>
<AreaDrpChart data={[]} index={index} />
</PanelBox>
)
}
export default DrpReal;

View File

@ -9,9 +9,37 @@ function DrpReal({ style }) {
title="供水数据概览" title="供水数据概览"
color="green" color="green"
> >
<img src='/assets/供水数据概览.jpg' style={{width:'419.81px', height:'200px',marginLeft:'1px'}}/> {/* <img src='/assets/供水数据概览.jpg' style={{width:'419.81px', height:'200px',marginLeft:'1px'}}/> */}
<div style={{color:"#ffffff",padding:'1rem'}}>
<div style={{display:'flex',marginBottom:'10px'}}>
<div style={{width:'6rem',textAlign:'center'}}>供水量</div>
<div style={{width:'12rem',textAlign:'center'}}>取水量</div>
<div style={{width:'9rem',textAlign:'center'}}>原水达标率</div>
<div style={{width:'9rem',textAlign:'center'}}>出厂水达标率</div>
</div>
<div style={{display:'flex',marginBottom:'0px'}}>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"0"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>27463</span>m³</div>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"10px"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>38745</span>m³</div>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"50px"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>76</span>%</div>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"30px"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>89</span>%</div>
</div>
</div>
<div style={{color:"#ffffff",padding:'1rem'}}>
<div style={{display:'flex',marginBottom:'10px'}}>
<div style={{width:'6rem',textAlign:'center'}}>耗电量</div>
<div style={{width:'12rem',textAlign:'center'}}>漏损率</div>
<div style={{width:'9rem',textAlign:'center'}}>设备运行率</div>
<div style={{width:'9rem',textAlign:'center'}}>紧急事件</div>
</div>
<div style={{display:'flex',marginBottom:'20px'}}>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"0"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>8562</span>kwh</div>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"25px"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>2.9</span>%</div>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"40px"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>98.2</span>%</div>
<div style={{width:'6rem',textAlign:'center',display:'flex',lineHeight:'24px', marginLeft:"40px"}}><span style={{color:'#86fabd',fontSize:'22px',marginRight:'5px'}}>2</span></div>
</div>
</div>
</PanelBox> </PanelBox>
) )
} }
export default DrpReal; export default DrpReal;

View File

@ -93,39 +93,41 @@ export default function OverallContent({ data }) {
return; return;
} }
const { type } = obj; const { type,stcd } = obj;
if (type === 'sk') { if (type === 'sk') {
skRealGet(obj.stcd).then((record) => { skRealGet(obj.stcd).then((record) => {
_showRecord(record, InfoPopNames.RealSkPop) _showRecord(record, InfoPopNames.RealSkPop)
}) })
} else { } else {
drpRealGet(obj).then((record) => { const obj = {
const data = { 'Q9123':{
"stcd": "61644250", "stcd": "Q9123",
"stnm": "岐亭", "stnm": "下白米",
"adcd": null, "adcd": null,
"wscd": null, "wscd": null,
"importancy": 0, "importancy": 0,
"lgtd": 114.75161, "lgtd": 115.1217,
"lttd": 31.01175, "lttd": 30.8992,
"elev": null, "elev": null,
"hasRz": false, "hasRz": false,
"type": "sw", "type": "qx",
"today": 0.5, "today": 17.8,
"h1": 0.5, "h1": 7.2,
"h3": 0.5, "h3": 14.3,
"h6": 0.5, "h6": 22.7,
"h12": 1, "h12": 24.2,
"h24": 4.5, "h24": 45.2,
"h48": 21, "h48": 123.5,
"tm": "2025-06-03T02:00:00.000Z", "tm": "2025-06-08T03:00:00.000Z",
"state": 1, "state": 1,
"warning": 0 "warning": 0
},
} }
_showRecord(obj[stcd], InfoPopNames.RealDrpPop)
// drpRealGet(obj).then((record) => {
_showRecord(data, InfoPopNames.RealDrpPop) // _showRecord(data, InfoPopNames.RealDrpPop)
}); // });
} }
} }
@ -146,11 +148,14 @@ export default function OverallContent({ data }) {
<div className="key">降雨测站</div> <div className="key">降雨测站</div>
</div> </div>
<div> <div>
<div className="value">{strNumber(skInfo?.aRz, '-')}</div> {/* <div className="value">{strNumber(skInfo?.aRz, '-')}</div> */}
<div className="value">{strNumber(1, '-')}</div>
<div className="key">超汛限水库</div> <div className="key">超汛限水库</div>
</div> </div>
<div> <div>
<div className="value" style={{ fontSize: '1.5rem', cursor: 'pointer' }} onClick={() => showRecord(h24?.max)}> <div className="value" style={{ fontSize: '1.5rem', cursor: 'pointer' }} onClick={() => {
showRecord(h24?.max)
}}>
{h24?.max?.stnm || '--'} {h24?.max?.stnm || '--'}
</div> </div>
<div className="key">最大降雨测站</div> <div className="key">最大降雨测站</div>
@ -185,7 +190,8 @@ export default function OverallContent({ data }) {
`${[!h1?.max?.value ? '1' : null, !h3?.max?.value ? '3' : null, !h6?.max?.value ? '6' : null].filter(Boolean).join(',')}小时无降雨。` `${[!h1?.max?.value ? '1' : null, !h3?.max?.value ? '3' : null, !h6?.max?.value ? '6' : null].filter(Boolean).join(',')}小时无降雨。`
) : null ) : null
} }
超汛限水位水库数为<span className={classes.number}>{strNumber(skInfo?.aRz, '-')}</span> {/* 超汛限水位水库数为<span className={classes.number}>{strNumber(skInfo?.aRz, '-')}</span>座。 */}
超汛限水位水库数为<span className={classes.number}>{1}</span>
</div> </div>
<div className={classes.action}> <div className={classes.action}>
<Button startIcon={<Email />} onClick={doBx} style={{ color: '#fff' }} size="small">报讯</Button> <Button startIcon={<Email />} onClick={doBx} style={{ color: '#fff' }} size="small">报讯</Button>

View File

@ -0,0 +1,21 @@
import React, { useMemo, useState } from 'react';
import PanelBox from '../../components/PanelBox';
function DrpReal({ style }) {
return (
<PanelBox
style={style}
title="设备统计"
color="green"
extra={
<>
</>
}
>
<img src='/assets/设备统计.jpg' style={{width:'27.5rem', height:'11rem',marginLeft:'-8px'}}/>
</PanelBox>
)
}
export default DrpReal;

View File

@ -0,0 +1,207 @@
import React, { useEffect, useMemo, useState } from 'react';
import useRequest from '../../../../utils/useRequest';
import PanelBox from '../../components/PanelBox';
import { parseGeoJSON } from "../../../../utils/tools";
import Table from '@material-ui/core/Table';
import TableContainer from '@material-ui/core/TableContainer';
import TableBody from '@material-ui/core/TableBody';
import TableHead from '@material-ui/core/TableHead';
import TableRow from '@material-ui/core/TableRow';
import DpTableCell from '../../../../layouts/mui/DpTableCell';
import DpTableRow from '../../../../layouts/mui/DpTableRow';
import { useDispatch, useSelector } from 'react-redux';
import appconsts from '../../../../models/appconsts';
import { renderDrp, renderSkArz, renderSkRz } from '../../../../utils/renutils';
import clsx from 'clsx';
const data1 = [
{name1:'水泵1',name2:'浮桥河水厂',name3:'2025-06-06 15:38:00',name4:250,name5:230,name6:80,name7:4.3},
{name1:'水泵2',name2:'浮桥河水厂',name3:'2025-06-06 15:38:00',name4:200,name5:214,name6:86,name7:3.9},
{name1:'水泵3',name2:'浮桥河水厂',name3:'2025-06-06 15:38:00',name4:270,name5:265,name6:84,name7:4.2},
]
const data2 = [
{name:'风机1',tm:'2025-06-06 15:38:00',ckfy:110,fl:98,djwd:65,clwd:86},
{name:'风机2',tm:'2025-06-06 15:38:00',ckfy:110,fl:95,djwd:63,clwd:85},
{name:'风机3',tm:'2025-06-06 15:38:00',ckfy:111,fl:99,djwd:55,clwd:67},
]
const data3 = [
{name1:'变压器1',name2:'浮桥河水厂',name3:'2025-06-06 15:38:00',name4:1,name5:95,name6:97},
{name1:'变压器2',name2:'浮桥河水厂',name3:'2025-06-06 15:38:00',name4:1,name5:57,name6:104},
{name1:'变压器3',name2:'浮桥河水厂',name3:'2025-06-06 15:38:00',name4:1,name5:76,name6:54},
]
function SkReal({ style }) {
const dispatch = useDispatch();
const [skType,setSkType] = useState('1')
useEffect(()=>{
return ()=>{
const map = window.__mapref;
const layer = map.getLayer('水厂运行设备预警')
if(layer){
map.removeLayer('水厂运行设备预警');
map.removeSource('水厂运行设备预警');
}
}
},[])
useEffect(()=>{
const map = window.__mapref;
if(map){
if(skType==='1'){
// setLayer(data1,'sb')
}
if(skType==='2'){
// setLayer(data2,'fj')
}
if(skType==='3'){
// setLayer(data3,'dj')
}
}else{
const dsq = setInterval(() => {
const map = window.__mapref;
// if(map && drpData.length>0){
// clearInterval(dsq)
// // setLayer(drpData,'drp')
// }
}, 500);
}
},[skType])
return (
<PanelBox
style={style}
title="设备预警"
color="green"
extra={
<>
<span className="button-group">
<span className={clsx({ active: skType==='1' })} onClick={() => {
setSkType('1')
}}>水泵</span>
<span className={clsx({ active: skType==='2' })} onClick={() => {
setSkType('2')
}}>风机</span>
<span className={clsx({ active: skType==='3' })} onClick={() => {
setSkType('3')
}}>电机</span>
</span>
</>
}
>
<TableContainer style={{ height: '100%' }}>
{
skType==='1'?
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '5rem' }} align="left">设备名称</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">所在水厂</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
<DpTableCell style={{ minWidth: '5rem' }} align="center">电流A</DpTableCell>
<DpTableCell style={{ minWidth: '5rem' }} align="center">电压V</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">轴承温度</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">振动速度mm/s</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{
data1.map((row) => (
<DpTableRow key={row.name1}>
<DpTableCell component="th" scope="row" >
<div className="table-ellipsis cursor-pointer" onClick={() => {
dispatch?.runtime.setInfoDlg({ layerId: 'ShuiBengLayer', properties: {} })
}}>{row.name1}</div>
</DpTableCell>
<DpTableCell align="center" >{row.name2}</DpTableCell>
<DpTableCell align="center" >{row.name3}</DpTableCell>
<DpTableCell align="center" style={{color:row.name4===270?'red':'#ffffff'}}>{row.name4}</DpTableCell>
<DpTableCell align="center" style={{color:row.name5===230?'red':'#ffffff'}}>{row.name5}</DpTableCell>
<DpTableCell align="center" style={{color:row.name6===86?'red':'#ffffff'}}>{row.name6}</DpTableCell>
<DpTableCell align="center" >{row.name7}</DpTableCell>
</DpTableRow>
))
}
</TableBody>
</Table>
:null
}
{
skType==='2'?
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '5rem' }} align="left">设备名称</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
<DpTableCell style={{ minWidth: '5rem' }} align="center">出口风压</DpTableCell>
<DpTableCell style={{ minWidth: '3rem' }} align="center">风量</DpTableCell>
<DpTableCell style={{ minWidth: '9rem' }} align="center">电机绕组温度</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">齿轮箱油温</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{
data2.map((row) => (
<DpTableRow key={row.name}>
<DpTableCell component="th" scope="row" >
<div className="table-ellipsis cursor-pointer" onClick={() => {
dispatch?.runtime.setInfoDlg({ layerId: 'ShuiBengLayer', properties: {} })
}}>{row.name}</div>
</DpTableCell>
<DpTableCell align="center" >{row.tm}</DpTableCell>
<DpTableCell align="center" style={{color:row.ckfy===111?'red':'#ffffff'}}>{row.ckfy}</DpTableCell>
<DpTableCell align="center" style={{color:row.fl===95?'red':'#ffffff'}}>{row.fl}</DpTableCell>
<DpTableCell align="center" >{row.djwd}</DpTableCell>
<DpTableCell align="center" style={{color:row.clwd===86?'red':'#ffffff'}}>{row.clwd}</DpTableCell>
</DpTableRow>
))
}
</TableBody>
</Table>
:null
}
{
skType==='3'?
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '5rem' }} align="left">设备名称</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">监测时间</DpTableCell>
<DpTableCell style={{ minWidth: '5rem' }} align="center">功率因数</DpTableCell>
<DpTableCell style={{ minWidth: '7rem' }} align="center">谐波畸变率%</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">电母线温度</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{
data3.map((row) => (
<DpTableRow key={row.stcd}>
<DpTableCell component="th" scope="row" >
<div className="table-ellipsis cursor-pointer" onClick={() => {
}}>{row.name1}</div>
</DpTableCell>
<DpTableCell align="center" >{row.name3}</DpTableCell>
<DpTableCell align="center" >{row.name4}</DpTableCell>
<DpTableCell align="center" style={{color:row.name5===95?'red':'#ffffff'}}>{row.name5}</DpTableCell>
<DpTableCell align="center" style={{color:row.name6===104?'red':'#ffffff'}}>{row.name6}</DpTableCell>
</DpTableRow>
))
}
</TableBody>
</Table>
:null
}
</TableContainer>
</PanelBox>
)
}
export default React.memo(SkReal);

View File

@ -0,0 +1,209 @@
import React, { useMemo, useState } from 'react';
import useRequest from '../../../../utils/useRequest';
import { useDispatch, useSelector } from 'react-redux';
import PanelBox from '../../components/PanelBox';
import Table from '@material-ui/core/Table';
import TableContainer from '@material-ui/core/TableContainer';
import TableBody from '@material-ui/core/TableBody';
import TableHead from '@material-ui/core/TableHead';
import TableRow from '@material-ui/core/TableRow';
import DpTableCell from '../../../../layouts/mui/DpTableCell';
import DpTableRow from '../../../../layouts/mui/DpTableRow';
import clsx from 'clsx';
import { renderDrp } from '../../../../utils/renutils';
import { DatePicker } from 'antd';
import moment from 'moment';
const { RangePicker } = DatePicker;
const data1 = [
{
"res_cd": "42118140035",
"res_lon": 115.14137,
"res_lat": 31.55095,
"cd": "01",
"cd_nm": "GN1",
"res_reg_cd": "42118140006-A4",
"ch": "0+000",
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
"town_cd": "421181112000",
"town_nm": "福田河镇",
"bas_guid": "鄂东五河片区",
"eng_scal": "小1型",
"danger_stat": "非病险水库",
"label": "2023高标准",
"res_nm": "大堰口水库",
"de_value": -4.2885,
"dn_value": -13.5384,
"du_value": 132.4892,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 1.0981,
"max_dn": -2.3255,
"max_du": 132.4892,
"dt": "2025-05-20",
"is_has_data": "y"
},
{
"res_cd": "42118140035",
"res_lon": 115.14137,
"res_lat": 31.55095,
"cd": "03",
"cd_nm": "GN3",
"res_reg_cd": "42118140006-A4",
"ch": "0+000",
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
"town_cd": "421181112000",
"town_nm": "福田河镇",
"bas_guid": "鄂东五河片区",
"eng_scal": "小1型",
"danger_stat": "非病险水库",
"label": "2023高标准",
"res_nm": "大堰口水库",
"de_value": -10.73,
"dn_value": -9.8975,
"du_value": 121.3495,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 1.0981,
"max_dn": -2.3255,
"max_du": 132.4892,
"dt": "2025-05-20",
"is_has_data": "y"
},
{
"res_cd": "42118140035",
"res_lon": 115.14137,
"res_lat": 31.55095,
"cd": "02",
"cd_nm": "GN2",
"res_reg_cd": "42118140006-A4",
"ch": "0+000",
"province_cd": "420000000000",
"province_nm": "湖北省",
"city_cd": "421100000000",
"city_nm": "黄冈市",
"county_cd": "421181000000",
"county_nm": "麻城市",
"town_cd": "421181112000",
"town_nm": "福田河镇",
"bas_guid": "鄂东五河片区",
"eng_scal": "小1型",
"danger_stat": "非病险水库",
"label": "2023高标准",
"res_nm": "大堰口水库",
"de_value": 1.0981,
"dn_value": -7.0736,
"du_value": 75.4661,
"de_trend": null,
"dn_trend": null,
"du_trend": null,
"max_de": 1.0981,
"max_dn": -2.3255,
"max_du": 132.4892,
"dt": "2025-05-20",
"is_has_data": "y"
}
]
function DrpReal({ style }) {
const [tab,setTab] = useState('1')
const dispatch = useDispatch();
const [params, setParams] = useState({ tm: [
moment().add(-7, 'days'),
moment(),
] })
const searchTm = (e) => {
setParams({
...params,
stm: e[0].format("YYYY-MM-DD HH:mm"),
etm: e[1].format("YYYY-MM-DD HH:mm"),
tm: e,
})
};
return (
<PanelBox
style={style}
title="水厂总览"
color="green"
extra={
<>
<div className='tm' style={{ color: "#fff", width: "90%",marginLeft:"1rem" }}>
<RangePicker
// width="100%"
className='time-picker'
style={{
flex: 1,
background: "transparent",
border: "none",
color: "#fff",
}}
onChange={searchTm}
allowClear
format="YYYY-MM-DD HH:mm"
showTime={{
format: 'HH:mm',
}}
value={params.tm}
getPopupContainer={trigger => trigger.parentElement}
/>
</div>
</>
}
>
<img src='/assets/jinshuigongshui.jpg' style={{width:'19.5rem', marginLeft:'3.5rem',marginTop:'0.5rem',marginBlock:'0.5rem'}}/>
<TableContainer style={{ height: '10rem' }}>
<Table size="small" stickyHeader>
<TableHead>
<TableRow>
<DpTableCell style={{ minWidth: '8rem' }} align="center">水厂名称</DpTableCell>
<DpTableCell style={{ minWidth: '3rem' }} align="center">进水量</DpTableCell>
<DpTableCell style={{ minWidth: '8rem' }} align="center">供水量</DpTableCell>
</TableRow>
</TableHead>
<TableBody>
{data1.map((row,index) => (
<DpTableRow key={row.stcd}>
<DpTableCell component="th" scope="row">
<div className="table-ellipsis cursor-pointer" onClick={() => {
const { res_lon:lgtd, res_lat:lttd } = row;
if (lgtd && lttd) {
dispatch.runtime.setCameraTarget({
center: [lgtd, lttd],
zoom: 15,
pitch: 60,
bearing: 0
});
}
}}>{row.res_nm}</div>
</DpTableCell>
<DpTableCell align="center">{row.cd_nm}</DpTableCell>
<DpTableCell align="center">{row.du_value}</DpTableCell>
</DpTableRow>
))}
</TableBody>
</Table>
</TableContainer>
</PanelBox>
)
}
export default DrpReal;