Compare commits
No commits in common. "89ba5856d8141e1552c728bff44c0255b13f0b7d" and "e8fa779576bb39ce434f2ffcb10c8f52e4e48509" have entirely different histories.
89ba5856d8
...
e8fa779576
Binary file not shown.
|
Before Width: | Height: | Size: 44 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB |
File diff suppressed because it is too large
Load Diff
|
|
@ -1,222 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"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
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"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": "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": "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": "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": "61612200",
|
|
||||||
"stnm": "麻城",
|
|
||||||
"adcd": null,
|
|
||||||
"wscd": null,
|
|
||||||
"importancy": 0,
|
|
||||||
"lgtd": 115.042444,
|
|
||||||
"lttd": 31.187389,
|
|
||||||
"elev": null,
|
|
||||||
"hasRz": true,
|
|
||||||
"type": "sw",
|
|
||||||
"tm": "2025-06-03T02:00:00.000Z",
|
|
||||||
"rz": 52.72,
|
|
||||||
"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-03T02:00:00.000Z",
|
|
||||||
"rz": 51.415,
|
|
||||||
"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-03T02: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-03T02:00:00.000Z",
|
|
||||||
"rz": 61.75,
|
|
||||||
"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-03T02:00:00.000Z",
|
|
||||||
"rz": 133.97,
|
|
||||||
"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-03T02:00:00.000Z",
|
|
||||||
"rz": 43.6,
|
|
||||||
"state": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
@ -1,124 +0,0 @@
|
||||||
{
|
|
||||||
"tm2": "03日10时",
|
|
||||||
"tm1": "02日10时",
|
|
||||||
"drpInfo": {
|
|
||||||
"stCount": {
|
|
||||||
"total": 379,
|
|
||||||
"online": 103,
|
|
||||||
"sh": 35,
|
|
||||||
"sw": 25,
|
|
||||||
"sk": 6,
|
|
||||||
"qx": 37
|
|
||||||
},
|
|
||||||
"h1": {
|
|
||||||
"drpStCount": {
|
|
||||||
"total": 3,
|
|
||||||
"sh": 1,
|
|
||||||
"sw": 1,
|
|
||||||
"sk": 0,
|
|
||||||
"qx": 1
|
|
||||||
},
|
|
||||||
"max": {
|
|
||||||
"value": 0.5,
|
|
||||||
"stnm": "月形塘(龟山)",
|
|
||||||
"stcd": "61642040",
|
|
||||||
"type": "sh"
|
|
||||||
},
|
|
||||||
"cntDrp10": 3,
|
|
||||||
"cntDrp25": 0,
|
|
||||||
"cntDrp50": 0,
|
|
||||||
"cntDrp100": 0,
|
|
||||||
"cntDrp250": 0,
|
|
||||||
"cntDrpg250": 0
|
|
||||||
},
|
|
||||||
"h3": {
|
|
||||||
"drpStCount": {
|
|
||||||
"total": 3,
|
|
||||||
"sh": 1,
|
|
||||||
"sw": 1,
|
|
||||||
"sk": 0,
|
|
||||||
"qx": 1
|
|
||||||
},
|
|
||||||
"max": {
|
|
||||||
"value": 0.5,
|
|
||||||
"stnm": "月形塘(龟山)",
|
|
||||||
"stcd": "61642040",
|
|
||||||
"type": "sh"
|
|
||||||
},
|
|
||||||
"cntDrp10": 3,
|
|
||||||
"cntDrp25": 0,
|
|
||||||
"cntDrp50": 0,
|
|
||||||
"cntDrp100": 0,
|
|
||||||
"cntDrp250": 0,
|
|
||||||
"cntDrpg250": 0
|
|
||||||
},
|
|
||||||
"h6": {
|
|
||||||
"drpStCount": {
|
|
||||||
"total": 7,
|
|
||||||
"sh": 4,
|
|
||||||
"sw": 1,
|
|
||||||
"sk": 0,
|
|
||||||
"qx": 2
|
|
||||||
},
|
|
||||||
"max": {
|
|
||||||
"value": 0.5,
|
|
||||||
"stnm": "新屋河(黄土岗)",
|
|
||||||
"stcd": "61640700",
|
|
||||||
"type": "sh"
|
|
||||||
},
|
|
||||||
"cntDrp10": 7,
|
|
||||||
"cntDrp25": 0,
|
|
||||||
"cntDrp50": 0,
|
|
||||||
"cntDrp100": 0,
|
|
||||||
"cntDrp250": 0,
|
|
||||||
"cntDrpg250": 0
|
|
||||||
},
|
|
||||||
"h24": {
|
|
||||||
"drpStCount": {
|
|
||||||
"total": 11,
|
|
||||||
"sh": 5,
|
|
||||||
"sw": 2,
|
|
||||||
"sk": 0,
|
|
||||||
"qx": 4
|
|
||||||
},
|
|
||||||
"max": {
|
|
||||||
"value": 4.5,
|
|
||||||
"stnm": "岐亭",
|
|
||||||
"stcd": "61644250",
|
|
||||||
"type": "sw"
|
|
||||||
},
|
|
||||||
"cntDrp10": 11,
|
|
||||||
"cntDrp25": 0,
|
|
||||||
"cntDrp50": 0,
|
|
||||||
"cntDrp100": 0,
|
|
||||||
"cntDrp250": 0,
|
|
||||||
"cntDrpg250": 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"skInfo": {
|
|
||||||
"aRz": 0,
|
|
||||||
"online": 4
|
|
||||||
},
|
|
||||||
"importantDrp": [],
|
|
||||||
"importantRz": [],
|
|
||||||
"aRzSk": [],
|
|
||||||
"drpSk": [],
|
|
||||||
"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-03T02:00:00.000Z",
|
|
||||||
"rz": 133.97,
|
|
||||||
"state": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,162 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 21:50:55",
|
|
||||||
"warndesc": "白果镇1个测站超警,青草河(夫子河)(21:39)6小时雨量80.5毫米,超警戒雨量值(80.00)0.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 21:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1128,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "白果镇山洪准备转移",
|
|
||||||
"adnm": "白果镇",
|
|
||||||
"adcd": "421181103000000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 20:10:56",
|
|
||||||
"warndesc": "夫子河镇北门村1个测站超警,青草河(夫子河)(20:10)6小时雨量102.5毫米,超警戒雨量值(80.00)22.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 20:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1127,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "夫子河镇北门村山洪准备转移",
|
|
||||||
"adnm": "夫子河镇北门村",
|
|
||||||
"adcd": "421181104001000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 20:11:01",
|
|
||||||
"warndesc": "夫子河镇1个测站超警,青草河(夫子河)(20:11)6小时雨量102.5毫米,超警戒雨量值(80.00)22.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 20:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1126,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "夫子河镇山洪准备转移",
|
|
||||||
"adnm": "夫子河镇",
|
|
||||||
"adcd": "421181104000000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 19:24:23",
|
|
||||||
"warndesc": "福田河镇1个测站超警,两路口(福田河)(19:24)3小时雨量73.0毫米,超警戒雨量值(65.00)8.0毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 19:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1125,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "福田河镇山洪准备转移",
|
|
||||||
"adnm": "福田河镇",
|
|
||||||
"adcd": "421181111000000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 19:23:48",
|
|
||||||
"warndesc": "木子店镇1个测站超警,杨梅河(木子店)(19:23)3小时雨量62.5毫米,超警戒雨量值(60.00)2.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 19:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1124,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "木子店镇山洪准备转移",
|
|
||||||
"adnm": "木子店镇",
|
|
||||||
"adcd": "421181107000000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 19:24:16",
|
|
||||||
"warndesc": "白果镇1个测站超警,青草河(夫子河)(19:23)6小时雨量102.5毫米,超警戒雨量值(80.00)22.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 19:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1123,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "白果镇山洪准备转移",
|
|
||||||
"adnm": "白果镇",
|
|
||||||
"adcd": "421181103000000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 18:12:24",
|
|
||||||
"warndesc": "夫子河镇卢家河1个测站超警,卢家河(夫子河)(18:9)3小时雨量61.5毫米,超警戒雨量值(60.00)1.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 18:07:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1122,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "夫子河镇卢家河山洪准备转移",
|
|
||||||
"adnm": "夫子河镇卢家河村",
|
|
||||||
"adcd": "421181104023000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 18:12:11",
|
|
||||||
"warndesc": "张家畈镇余家河1个测站超警,余家河(张家畈)(18:11)3小时雨量57.5毫米,超警戒雨量值(55.00)2.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 18:05:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1121,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "张家畈镇余家河山洪准备转移",
|
|
||||||
"adnm": "张家畈镇余家河村",
|
|
||||||
"adcd": "421181106017000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 18:12:28",
|
|
||||||
"warndesc": "张家畈镇1个测站超警,余家河(张家畈)(18:12)3小时雨量57.5毫米,超警戒雨量值(55.00)2.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 18:05:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1120,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "张家畈镇山洪准备转移",
|
|
||||||
"adnm": "张家畈镇",
|
|
||||||
"adcd": "421181106000000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"status": null,
|
|
||||||
"warngradeid": 5,
|
|
||||||
"warnetm": "2025-05-22 18:12:30",
|
|
||||||
"warndesc": "夫子河镇北门村1个测站超警,青草河(夫子河)(18:12)3小时雨量100.5毫米,超危险雨量值(85.00)15.5毫米",
|
|
||||||
"warnstatusid": 30,
|
|
||||||
"warnstm": "2025-05-22 18:00:00",
|
|
||||||
"tempcolumn": 0,
|
|
||||||
"warnid": 1119,
|
|
||||||
"isauto": "0",
|
|
||||||
"warnnm": "夫子河镇北门村山洪准备转移",
|
|
||||||
"adnm": "夫子河镇北门村",
|
|
||||||
"adcd": "421181104001000",
|
|
||||||
"warntypeid": 10,
|
|
||||||
"temprownumber": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
12236
public/data/skReal.json
12236
public/data/skReal.json
File diff suppressed because it is too large
Load Diff
|
|
@ -14,27 +14,15 @@ export const TestDrpRealPromise = new CachePromise(
|
||||||
);
|
);
|
||||||
|
|
||||||
export const DrpRealPromise = new CachePromise(
|
export const DrpRealPromise = new CachePromise(
|
||||||
// () => httpget(apiurl.real.drp, { layers: 'sh,sw,sk,qx' })
|
() => httpget(apiurl.real.drp, { layers: 'sh,sw,sk,qx' })
|
||||||
// .then(({ data }) => {
|
.then(({ data }) => data)
|
||||||
// debugger
|
|
||||||
// return data
|
|
||||||
// })
|
|
||||||
// .catch(() => null),
|
|
||||||
// 5000
|
|
||||||
|
|
||||||
() => fetch(`${process.env.PUBLIC_URL}/data/drpReal.json`)
|
|
||||||
.then((response) => response.json())
|
|
||||||
.catch(() => null),
|
.catch(() => null),
|
||||||
5000
|
5000
|
||||||
);
|
);
|
||||||
|
|
||||||
export const HDRealPromise = new CachePromise(
|
export const HDRealPromise = new CachePromise(
|
||||||
// () => httpget(apiurl.real.rz, { layers: 'sh,sw' })
|
() => httpget(apiurl.real.rz, { layers: 'sh,sw' })
|
||||||
// .then(({ data }) => data)
|
.then(({ data }) => data)
|
||||||
// .catch(() => null),
|
|
||||||
// 5000
|
|
||||||
() => fetch(`${process.env.PUBLIC_URL}/data/hdReal.json`)
|
|
||||||
.then((response) => response.json())
|
|
||||||
.catch(() => null),
|
.catch(() => null),
|
||||||
5000
|
5000
|
||||||
);
|
);
|
||||||
|
|
@ -45,17 +33,9 @@ export const HDGet = async (stcd) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SkRealPromise = new CachePromise(
|
export const SkRealPromise = new CachePromise(
|
||||||
// () => httpget(apiurl.real.sk, { layers: 'sk' })
|
() => httpget(apiurl.real.sk, { layers: 'sk' })
|
||||||
// .then(({ data }) => data || [])
|
.then(({ data }) => data || [])
|
||||||
// .then(data => data.map(o => ({ ...o, aRz: parseFloat((o.rz - o.fsltdz).toFixed(2)) })))
|
.then(data => data.map(o => ({ ...o, aRz: parseFloat((o.rz - o.fsltdz).toFixed(2)) })))
|
||||||
// .catch(() => null),
|
|
||||||
// 5000
|
|
||||||
|
|
||||||
() => fetch(`${process.env.PUBLIC_URL}/data/skReal.json`)
|
|
||||||
.then((response) => response.json())
|
|
||||||
.then(data => {
|
|
||||||
return data.map(o => ({ ...o, aRz: parseFloat((o.rz - o.fsltdz).toFixed(2)) }))
|
|
||||||
})
|
|
||||||
.catch(() => null),
|
.catch(() => null),
|
||||||
5000
|
5000
|
||||||
);
|
);
|
||||||
|
|
@ -82,15 +62,8 @@ export async function skPicGet(stcd) {
|
||||||
|
|
||||||
|
|
||||||
export const OverallPromise = new CachePromise(
|
export const OverallPromise = new CachePromise(
|
||||||
// () => httpget(apiurl.ex.bx)
|
() => httpget(apiurl.ex.bx)
|
||||||
// .then(({ data }) => {
|
.then(({ data }) => data)
|
||||||
// return data
|
|
||||||
// })
|
|
||||||
// .catch(() => null),
|
|
||||||
// 5000
|
|
||||||
|
|
||||||
() => fetch(`${process.env.PUBLIC_URL}/data/overall.json`)
|
|
||||||
.then((response) => response.json())
|
|
||||||
.catch(() => null),
|
.catch(() => null),
|
||||||
5000
|
5000
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -14,16 +14,9 @@ export const TestRealShWarnListPromise = new CachePromise(
|
||||||
|
|
||||||
export const RealShWarnListPromise = new CachePromise(
|
export const RealShWarnListPromise = new CachePromise(
|
||||||
() => httpget(apiurl.shyj.find, { adcd: config.SHYJ_ADCD, page: 1, size: 99, warnstatusid: -1 })
|
() => httpget(apiurl.shyj.find, { adcd: config.SHYJ_ADCD, page: 1, size: 99, warnstatusid: -1 })
|
||||||
.then(({ data }) => {
|
.then(({ data }) => data.list)
|
||||||
return data.list
|
|
||||||
})
|
|
||||||
.catch(() => null),
|
.catch(() => null),
|
||||||
5000
|
5000
|
||||||
|
|
||||||
// () => fetch(`${process.env.PUBLIC_URL}/data/drpReal.json`)
|
|
||||||
// .then((response) => response.json())
|
|
||||||
// .catch(() => null),
|
|
||||||
// 5000
|
|
||||||
);
|
);
|
||||||
|
|
||||||
export async function info({ warnid }) {
|
export async function info({ warnid }) {
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,8 @@ export default function calcLayout(view, rightStack, hidePanels) {
|
||||||
} else if (view === 5) {
|
} else if (view === 5) {
|
||||||
left = [
|
left = [
|
||||||
{ key: '天气' },
|
{ key: '天气' },
|
||||||
{ key: '未来24h预报', style: { height: '40%', flexGrow: 1 } },
|
{ key: '天气预报', style: { flexShink: 0 } },
|
||||||
];
|
];
|
||||||
leftFullHeight = true;
|
|
||||||
} else if (view === 6) {
|
} else if (view === 6) {
|
||||||
left = [
|
left = [
|
||||||
{ key: '天气' },
|
{ key: '天气' },
|
||||||
|
|
@ -200,12 +199,10 @@ export default function calcLayout(view, rightStack, hidePanels) {
|
||||||
if (view === 0) {
|
if (view === 0) {
|
||||||
right = [
|
right = [
|
||||||
{ key: '警报' },
|
{ key: '警报' },
|
||||||
{ key: '防洪形势天气预报', style: { height: '18.5rem'} },
|
{ key: '河道水位', style: { height: '10rem', flexGrow: 1 } },
|
||||||
{ key: '防洪形势水情', style: { height: '18.5rem'} },
|
{ key: '区域降雨', style: { height: '10rem', flexGrow: 1 } },
|
||||||
// { key: '河道水位', style: { height: '10rem', flexGrow: 1 } },
|
{ key: '工情', style: { height: '10rem', flexGrow: 1 } },
|
||||||
{ key: '防洪形势雨情', style: { height: '16rem', flexGrow: 1 } },
|
{ key: '今日值班' },
|
||||||
// { key: '工情', style: { height: '10rem', flexGrow: 1 } },
|
|
||||||
// { key: '今日值班' },
|
|
||||||
];
|
];
|
||||||
rightFullHeight = true;
|
rightFullHeight = true;
|
||||||
} else if (view === 1) {
|
} else if (view === 1) {
|
||||||
|
|
@ -270,20 +267,20 @@ export default function calcLayout(view, rightStack, hidePanels) {
|
||||||
];
|
];
|
||||||
} else if (view === 301) {
|
} else if (view === 301) {
|
||||||
right = [
|
right = [
|
||||||
// { key: '警报' },
|
{ key: '警报' },
|
||||||
{ key: '水厂生产情况',style: { height: '15rem', flexGrow: 1 } },
|
{ key: '水厂生产情况',style: { height: '15rem', flexGrow: 1 } },
|
||||||
{ key: '对比分析', style: { height: '19rem' } },
|
{ key: '对比分析', style: { height: '19rem' } },
|
||||||
{ key: '报警统计',style: { height: '19rem',flexGrow: 1 } },
|
{ key: '报警统计',style: { height: '19rem',flexGrow: 1 } },
|
||||||
];
|
];
|
||||||
} else if (view === 302) {
|
} else if (view === 302) {
|
||||||
right = [
|
right = [
|
||||||
// { key: '警报' },
|
{ key: '警报' },
|
||||||
{ key: '水厂水质监测',style: { height: '16rem'} },
|
{ key: '水厂水质监测',style: { height: '16rem'} },
|
||||||
{ key: '报警分析',style: { height: '18rem'} },
|
{ key: '报警分析',style: { height: '18rem'} },
|
||||||
];
|
];
|
||||||
} 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 } },
|
||||||
|
|
|
||||||
|
|
@ -149,14 +149,7 @@ export default class RealSkLayer extends BaseLayer {
|
||||||
zcxsw: 231,
|
zcxsw: 231,
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
const list = data.filter(o=>{
|
ms.setData(parseGeoJSON(data));
|
||||||
if(o.stnm==='青山垸水库'||o.stnm==='七角尖水库'||o.stnm==='杨树庵水库'||o.stnm==='石鼓庙水库'||o.stnm==='张家凹水库'||o.stnm==='大坳水库'){
|
|
||||||
return false
|
|
||||||
}else{
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
ms.setData(parseGeoJSON(list));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,11 +96,6 @@ import Drpfx from './panels/Drpfx'
|
||||||
import ShWarn from './panels/ShWarning'
|
import ShWarn from './panels/ShWarning'
|
||||||
import SkWarn from './panels/SkWarning'
|
import SkWarn from './panels/SkWarning'
|
||||||
import HdWarn from './panels/HdWarning'
|
import HdWarn from './panels/HdWarning'
|
||||||
import FhxsTqyb from './panels/FhxsTqyb'
|
|
||||||
import FhxsSq from './panels/FhxsSq'
|
|
||||||
import FhxsAreaDrp from './panels/FhxsAreaDrp'
|
|
||||||
import Tqyb24h from './panels/Tqyb24h'
|
|
||||||
|
|
||||||
export default function PanelIndex({ name, style, ...params }) {
|
export default function PanelIndex({ name, style, ...params }) {
|
||||||
if (name === '天气') {
|
if (name === '天气') {
|
||||||
return (
|
return (
|
||||||
|
|
@ -122,8 +117,6 @@ export default function PanelIndex({ name, style, ...params }) {
|
||||||
return <GQ style={style} />
|
return <GQ style={style} />
|
||||||
} else if (name === '区域降雨') {
|
} else if (name === '区域降雨') {
|
||||||
return <AreaDrp style={style} />
|
return <AreaDrp style={style} />
|
||||||
} else if (name === '防洪形势雨情') {
|
|
||||||
return <FhxsAreaDrp style={style} />
|
|
||||||
} else if (name === '河道水位') {
|
} else if (name === '河道水位') {
|
||||||
return <HD24H style={style} />
|
return <HD24H style={style} />
|
||||||
} else if (name === '预警') {
|
} else if (name === '预警') {
|
||||||
|
|
@ -296,13 +289,9 @@ export default function PanelIndex({ name, style, ...params }) {
|
||||||
return <SkWarn style={style} />
|
return <SkWarn style={style} />
|
||||||
}else if (name === "河道预警") {
|
}else if (name === "河道预警") {
|
||||||
return <HdWarn style={style} />
|
return <HdWarn style={style} />
|
||||||
} else if (name === '防洪形势天气预报') {
|
|
||||||
return <FhxsTqyb style={style} />
|
|
||||||
} else if (name === '防洪形势水情') {
|
|
||||||
return <FhxsSq style={style} />
|
|
||||||
} else if (name === '未来24h预报') {
|
|
||||||
return <Tqyb24h style={style} />
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PanelBox style={style} title={name} color="red">
|
<PanelBox style={style} title={name} color="red">
|
||||||
<p>not impl</p>
|
<p>not impl</p>
|
||||||
|
|
|
||||||
|
|
@ -130,47 +130,3 @@
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabStyle{
|
|
||||||
.card-group {
|
|
||||||
font-size: 0.8rem;
|
|
||||||
color: rgb(172, 188, 190);
|
|
||||||
|
|
||||||
& > span {
|
|
||||||
cursor: pointer;
|
|
||||||
margin-right: 1rem;
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
border: 1px solid #209aec46;
|
|
||||||
padding: 0.15rem 0.5rem;
|
|
||||||
border-radius: 0.2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.number {
|
|
||||||
color: #fff;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
background-color: red;
|
|
||||||
display: inline-block;
|
|
||||||
position: absolute;
|
|
||||||
top: -0.2rem;
|
|
||||||
right: -0.2rem;
|
|
||||||
border-radius: 50%;
|
|
||||||
padding: 0px 0.35rem;
|
|
||||||
margin-top: -0.5rem;
|
|
||||||
margin-right: -0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.value {
|
|
||||||
color: #00deff;
|
|
||||||
font-weight: bold;
|
|
||||||
text-shadow: 0 0 2rem #00deff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.active {
|
|
||||||
color: #fff;
|
|
||||||
cursor: default;
|
|
||||||
font-weight: bold;
|
|
||||||
border: 1px solid #209aec9f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,141 +0,0 @@
|
||||||
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 AreaDrpChart = ({ data }) => {
|
|
||||||
const { max, sdata } = useMemo(() => {
|
|
||||||
let max = 0;
|
|
||||||
data.forEach(o => {
|
|
||||||
max = Math.max(max, o.av)
|
|
||||||
});
|
|
||||||
max = [10, 20, 50, 100, 200, 300, 400].find(i => i >= max);
|
|
||||||
|
|
||||||
return {
|
|
||||||
max,
|
|
||||||
sdata: data.map(o => ({ ...o, name: o.NAME.split('').join('\n') })),
|
|
||||||
}
|
|
||||||
}, [data]);
|
|
||||||
|
|
||||||
var option = {
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'item',
|
|
||||||
formatter: function (params) {
|
|
||||||
var res = `${params.name.substr('2020-10-14 '.length, 2)}时降雨:${params.data}mm`;
|
|
||||||
return res;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
grid: {
|
|
||||||
x: 18,
|
|
||||||
y: 24,
|
|
||||||
x2: 28,
|
|
||||||
y2: 36,
|
|
||||||
bottom: 80,
|
|
||||||
borderWidth: 0
|
|
||||||
},
|
|
||||||
calculable: true,
|
|
||||||
xAxis: [
|
|
||||||
{
|
|
||||||
type: 'category',
|
|
||||||
data: sdata.map(o => o.name),
|
|
||||||
splitLine: {
|
|
||||||
show: false
|
|
||||||
},
|
|
||||||
axisLabel: {
|
|
||||||
color: '#bbb',
|
|
||||||
fontSize: 10,
|
|
||||||
textShadowBlur: 4,
|
|
||||||
textShadowColor: '#6ab',
|
|
||||||
},
|
|
||||||
axisLine: {
|
|
||||||
lineStyle: {
|
|
||||||
color: '#07a6ff',
|
|
||||||
width: 0.5,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
axisTick: {
|
|
||||||
show: false,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
yAxis: [
|
|
||||||
{
|
|
||||||
type: 'value',
|
|
||||||
position: 'right',
|
|
||||||
splitLine: {
|
|
||||||
show: true,
|
|
||||||
lineStyle: {
|
|
||||||
color: '#07a6ff',
|
|
||||||
width: 0.25,
|
|
||||||
type: 'dashed'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
axisLabel: {
|
|
||||||
color: '#bbb',
|
|
||||||
fontSize: 10,
|
|
||||||
textShadowBlur: 4,
|
|
||||||
textShadowColor: '#6ab',
|
|
||||||
},
|
|
||||||
axisLine: {
|
|
||||||
show: false
|
|
||||||
},
|
|
||||||
axisTick: {
|
|
||||||
show: false,
|
|
||||||
},
|
|
||||||
min: 0,
|
|
||||||
max,
|
|
||||||
}
|
|
||||||
],
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: '降雨',
|
|
||||||
type: 'bar',
|
|
||||||
barWidth: '60%',
|
|
||||||
data: sdata.map(o => o.av),
|
|
||||||
itemStyle: {
|
|
||||||
normal: {
|
|
||||||
color: (params) => {
|
|
||||||
return new echarts.graphic.LinearGradient(
|
|
||||||
0, 0, 0, 1,
|
|
||||||
[
|
|
||||||
{ offset: 0, color: pallete[params.dataIndex % palleteLen][0] },
|
|
||||||
{ offset: 1, color: pallete[params.dataIndex % palleteLen][1] }
|
|
||||||
]
|
|
||||||
)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
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);
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
||||||
import clsx from 'clsx';
|
|
||||||
import React, { useMemo } from 'react';
|
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
|
||||||
import { ZhenDataPromise } from '../../../../models/_/adcd';
|
|
||||||
import { DrpRealPromise } from '../../../../models/_/real';
|
|
||||||
import useRefresh from '../../../../utils/useRefresh';
|
|
||||||
import useRequest from '../../../../utils/useRequest';
|
|
||||||
import PanelBox from '../../components/PanelBox';
|
|
||||||
import AreaDrpChart from './chart';
|
|
||||||
|
|
||||||
export default function AreaDrp({ style }) {
|
|
||||||
const t = useRefresh(60 * 1000);
|
|
||||||
const { data: adcdList } = useRequest(ZhenDataPromise.get);
|
|
||||||
const { data: drpList } = useRequest(DrpRealPromise.get, t);
|
|
||||||
const areaDrpTmType = useSelector(s => s.overallview.areaDrpTmType);
|
|
||||||
const dispatch = useDispatch();
|
|
||||||
|
|
||||||
const data = useMemo(() => {
|
|
||||||
if (!adcdList) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
const resMap = {};
|
|
||||||
adcdList.forEach(({ ADCD, NAME }) => {
|
|
||||||
resMap[ADCD.substr(0, 9)] = {
|
|
||||||
ADCD,
|
|
||||||
NAME,
|
|
||||||
drp: 0,
|
|
||||||
cnt: 0,
|
|
||||||
av: 0,
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
drpList?.forEach(o => {
|
|
||||||
const adcd = o?.adcd?.substr(0, 9);
|
|
||||||
if (resMap[adcd]) {
|
|
||||||
resMap[adcd].drp += o[areaDrpTmType] || 0;
|
|
||||||
resMap[adcd].cnt += 1;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const ret = Object.values(resMap);
|
|
||||||
ret.forEach(o => {
|
|
||||||
if (o.cnt) {
|
|
||||||
o.av = parseFloat((o.drp / o.cnt).toFixed(1));
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
return Object.values(resMap);
|
|
||||||
}, [adcdList, drpList, areaDrpTmType]);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<PanelBox
|
|
||||||
style={style}
|
|
||||||
title="雨情"
|
|
||||||
color="blue"
|
|
||||||
tabs={
|
|
||||||
<span className="button-group">
|
|
||||||
{
|
|
||||||
['h1', 'h3', 'h6', 'h12', 'h24', 'h48'].map(key => (
|
|
||||||
<span key={key} className={clsx({ active: areaDrpTmType === key })} onClick={() => dispatch.overallview.setAreaDrpTmType(key)}>{key}</span>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
</span>
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<AreaDrpChart data={data} />
|
|
||||||
</PanelBox>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
@ -1,261 +0,0 @@
|
||||||
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 data = [
|
|
||||||
[
|
|
||||||
"2025-06-02 15:00:00",
|
|
||||||
134.05
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-02 16:00:00",
|
|
||||||
134.04
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-02 17:00:00",
|
|
||||||
134.03
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-02 18:00:00",
|
|
||||||
134.03
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-02 19:00:00",
|
|
||||||
134.02
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-02 20:00:00",
|
|
||||||
134.02
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-02 21:00:00",
|
|
||||||
134.02
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 01:00:00",
|
|
||||||
134
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 02:00:00",
|
|
||||||
133.99
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 04:00:00",
|
|
||||||
133.99
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 06:00:00",
|
|
||||||
133.97
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 08:00:00",
|
|
||||||
133.97
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 10:00:00",
|
|
||||||
133.97
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 12:00:00",
|
|
||||||
133.98
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 13:00:00",
|
|
||||||
133.97
|
|
||||||
],
|
|
||||||
[
|
|
||||||
"2025-06-03 14:00:00",
|
|
||||||
133.97
|
|
||||||
]
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const AreaDrpChart = () => {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
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: '水位m',
|
|
||||||
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,
|
|
||||||
},
|
|
||||||
min: 133,
|
|
||||||
// max: 135,
|
|
||||||
}
|
|
||||||
],
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: '水位',
|
|
||||||
type: 'line',
|
|
||||||
barWidth: 10,
|
|
||||||
data: data,
|
|
||||||
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: data.map((item)=>134.5),
|
|
||||||
itemStyle: {
|
|
||||||
normal: {
|
|
||||||
color: '#f19932'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// label: {
|
|
||||||
// show: true,
|
|
||||||
// position: 'top',
|
|
||||||
// color: '#bbb',
|
|
||||||
// fontSize: 12,
|
|
||||||
// textShadowBlur: 4,
|
|
||||||
// textShadowColor: '#6ab',
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '危险水位',
|
|
||||||
type: 'line',
|
|
||||||
barWidth: 10,
|
|
||||||
showSymbol: false,
|
|
||||||
data: data.map((item)=>134.8),
|
|
||||||
itemStyle: {
|
|
||||||
normal: {
|
|
||||||
color: '#e1554e'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// 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);
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
||||||
import React, { useMemo, useState } from 'react';
|
|
||||||
import { Switch, FormControlLabel,InputLabel, Select, MenuItem,FormControl } from '@material-ui/core/index'
|
|
||||||
import PanelBox from '../../components/PanelBox';
|
|
||||||
import AreaDrpChart from './chart';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function DrpReal({ style }) {
|
|
||||||
const [dimension, setDimension] =useState('ft');
|
|
||||||
|
|
||||||
|
|
||||||
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) => {
|
|
||||||
const value = event.target.value;
|
|
||||||
setDimension(value);
|
|
||||||
}}
|
|
||||||
// sx={{
|
|
||||||
// color: '#fff',
|
|
||||||
// '.MuiOutlinedInput-notchedOutline': {
|
|
||||||
// borderColor: 'rgba(255, 255, 255, 0.3)',
|
|
||||||
// },
|
|
||||||
// '&:hover .MuiOutlinedInput-notchedOutline': {
|
|
||||||
// borderColor: 'rgba(255, 255, 255, 0.6)',
|
|
||||||
// },
|
|
||||||
// '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
|
|
||||||
// borderColor: '#fff',
|
|
||||||
// }
|
|
||||||
// }}
|
|
||||||
>
|
|
||||||
<MenuItem value="ft">水情站1</MenuItem>
|
|
||||||
<MenuItem value="lc">水情站2</MenuItem>
|
|
||||||
<MenuItem value="mz">水情站3</MenuItem>
|
|
||||||
<MenuItem value="sb">水情站4</MenuItem>
|
|
||||||
</Select>
|
|
||||||
</div>
|
|
||||||
</>
|
|
||||||
}
|
|
||||||
>
|
|
||||||
<AreaDrpChart data={[]} />
|
|
||||||
</PanelBox>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default DrpReal;
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
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:'100px', height:'30px',marginRight:'10px'}}/>
|
|
||||||
// <img src='/assets/水厂切换.jpg' style={{width:'165px', height:'20px',marginRight:'5px'}}/>
|
|
||||||
// </>
|
|
||||||
// }
|
|
||||||
>
|
|
||||||
<img src='/assets/防汛调度天气预报.jpg' style={{width:'26rem', height:'14.5rem',marginLeft:'8px',marginTop:'0.8rem'}}/>
|
|
||||||
</PanelBox>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default DrpReal;
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
||||||
import React, { useState } from 'react';
|
|
||||||
import PanelBox from '../../components/PanelBox';
|
|
||||||
import clsx from 'clsx';
|
|
||||||
import { useDispatch, useSelector } from 'react-redux';
|
|
||||||
import { Button, Grid, makeStyles } from '@material-ui/core'
|
|
||||||
import Yb24h from './yb24h'
|
|
||||||
|
|
||||||
const useStyles = makeStyles({
|
|
||||||
root: {
|
|
||||||
color: '#fff',
|
|
||||||
padding: '0.8rem 0',
|
|
||||||
},
|
|
||||||
|
|
||||||
tool: {
|
|
||||||
marginBottom: '1.2rem',
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
buttons: {
|
|
||||||
backgroundColor: 'red',
|
|
||||||
flexShrink: 0,
|
|
||||||
},
|
|
||||||
legend: {
|
|
||||||
backgroundColor: 'green',
|
|
||||||
},
|
|
||||||
|
|
||||||
checklabel: {
|
|
||||||
justifyContent: 'flex-start',
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
export default function AreaDrp({ style }) {
|
|
||||||
const classes = useStyles();
|
|
||||||
const [tab,setTab] = useState('1')
|
|
||||||
|
|
||||||
|
|
||||||
return (
|
|
||||||
<PanelBox
|
|
||||||
style={style}
|
|
||||||
title="天气预报"
|
|
||||||
color="blue"
|
|
||||||
>
|
|
||||||
<div className={classes.root} style={{marginBottom:'-1.5rem'}}>
|
|
||||||
<Grid container className={classes.tool}>
|
|
||||||
<Grid item xs style={{ marginRight: '0.5rem' }}>
|
|
||||||
<Button
|
|
||||||
fullWidth
|
|
||||||
color="primary"
|
|
||||||
variant={tab === '1' ? 'contained' : 'outlined'}
|
|
||||||
onClick={() => setTab('1')}
|
|
||||||
>24小时预报</Button>
|
|
||||||
</Grid>
|
|
||||||
<Grid item xs>
|
|
||||||
<Button
|
|
||||||
fullWidth
|
|
||||||
color="primary"
|
|
||||||
variant={tab === '2' ? 'contained' : 'outlined'}
|
|
||||||
onClick={() => setTab('2')}
|
|
||||||
>短时雷达预报</Button>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
|
||||||
</div>
|
|
||||||
{
|
|
||||||
tab==='1'?
|
|
||||||
<Yb24h/>
|
|
||||||
:null
|
|
||||||
}
|
|
||||||
</PanelBox>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -42,14 +42,8 @@ function ShYj({ data }) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.length === 0) {
|
if (data.length === 0) {
|
||||||
// httpget(apiurl.shyj.find, { adcd: config.SHYJ_ADCD, page: 1, size: 10, warnstatusid: 30 })
|
httpget(apiurl.shyj.find, { adcd: config.SHYJ_ADCD, page: 1, size: 10, warnstatusid: 30 })
|
||||||
// .then(({ data }) => {
|
.then(({ data }) => sethisdata(data.list || []))
|
||||||
// sethisdata(data.list || [])
|
|
||||||
// })
|
|
||||||
fetch(`${process.env.PUBLIC_URL}/data/shyjFind.json`)
|
|
||||||
.then((response) => response.json())
|
|
||||||
.then((data) => sethisdata(data || []))
|
|
||||||
.catch(() => null)
|
|
||||||
}
|
}
|
||||||
}, [data?.length]);
|
}, [data?.length]);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue