diff --git a/public/assets/back.svg b/public/assets/back.svg new file mode 100644 index 000000000..1c6a1a9bb --- /dev/null +++ b/public/assets/back.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/assets/hsyy/szcz.png b/public/assets/hsyy/szcz.png new file mode 100644 index 000000000..e07c2801e Binary files /dev/null and b/public/assets/hsyy/szcz.png differ diff --git a/public/assets/hsyy/szmj.png b/public/assets/hsyy/szmj.png new file mode 100644 index 000000000..70eeb3433 Binary files /dev/null and b/public/assets/hsyy/szmj.png differ diff --git a/public/assets/hsyy/szrk.png b/public/assets/hsyy/szrk.png new file mode 100644 index 000000000..93bbbec83 Binary files /dev/null and b/public/assets/hsyy/szrk.png differ diff --git a/public/assets/hsyy/xhl.png b/public/assets/hsyy/xhl.png new file mode 100644 index 000000000..ea1054a1b Binary files /dev/null and b/public/assets/hsyy/xhl.png differ diff --git a/public/assets/hsyy/ymls.png b/public/assets/hsyy/ymls.png new file mode 100644 index 000000000..aea232970 Binary files /dev/null and b/public/assets/hsyy/ymls.png differ diff --git a/public/assets/hsyy/ymss.png b/public/assets/hsyy/ymss.png new file mode 100644 index 000000000..7336d888c Binary files /dev/null and b/public/assets/hsyy/ymss.png differ diff --git a/src/views/Home/MapCtrl/Map3D/Map3D.js b/src/views/Home/MapCtrl/Map3D/Map3D.js index 3b9087275..134062657 100644 --- a/src/views/Home/MapCtrl/Map3D/Map3D.js +++ b/src/views/Home/MapCtrl/Map3D/Map3D.js @@ -242,7 +242,7 @@ export default class Map3D extends BaseMap { this.demo.getQxsy(viewer) //倾斜摄影 // this.demo.getDem(viewer) //地形图 this.demo.getWxyx(viewer) //卫星影像 - this.demo.getCzml2(viewer) //demo + // this.demo.getCzml2(viewer) //demo // this.demo.getGltf(viewer) //模型 // this.demo.getWater(viewer)//简单淹没分析 // this.demo.getWater2(viewer) @@ -261,7 +261,7 @@ export default class Map3D extends BaseMap { viewer.camera.setView({ // destination: Cesium.Cartesian3.fromDegrees(...config.homeCenter3D), - destination: Cesium.Cartesian3.fromDegrees(114.770546000,31.496518000,500), + destination: Cesium.Cartesian3.fromDegrees(114.771646000,31.496518000,500), orientation: { heading: Cesium.Math.toRadians(-90), pitch: Cesium.Math.toRadians(-35.0), diff --git a/src/views/Home/MapCtrl/Map3D/demo.js b/src/views/Home/MapCtrl/Map3D/demo.js index 034f47e4b..c21dfed80 100644 --- a/src/views/Home/MapCtrl/Map3D/demo.js +++ b/src/views/Home/MapCtrl/Map3D/demo.js @@ -147,8 +147,8 @@ export default class LayerMgr { viewer.scene.primitives.add(tileset); - const offsetHeight = 10 - // const offsetHeight = -70 + // const offsetHeight = 10 + const offsetHeight = -70 const boundingSphere = tileset.boundingSphere const cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center) const surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0) @@ -785,10 +785,10 @@ export default class LayerMgr { const czml = [ { id: "document", - name: "CZML Polygon - Intervals and Availability", + name: "CZML1111", version: "1.0", clock: { - interval: "2000-01-01T00:00:00Z/2000-01-01T00:00:14Z", + interval: "2000-01-01T00:00:00Z/2000-01-01T00:00:20Z", currentTime: "2000-01-01T00:00:00Z", multiplier: 1, // range:'CLAMPED' @@ -797,7 +797,7 @@ export default class LayerMgr { { id: "blueRiverRight", name: "blueRiverRightName", - availability: "2000-01-01T00:00:00Z/2000-01-01T00:00:14Z", + availability: "2000-01-01T00:00:00Z/2000-01-01T00:00:20Z", polygon: { positions: [ { @@ -837,7 +837,7 @@ export default class LayerMgr { ], }, { - interval: "2000-01-01T00:00:14Z/2000-01-01T00:00:15Z", + interval: "2000-01-01T00:00:14Z/2000-01-01T00:00:20Z", cartographicDegrees: [ // 114.783504138512,31.505474097024,0,114.780451959826,31.504644648874,0,114.777888031564,31.503567359934,0,114.775952040168,31.501876263981,0,114.775478104025,31.501246007192,0,114.773976190111,31.499235294956,0,114.772362604530,31.497540675854,0,114.770751940488,31.495618793016,0,114.769754537734,31.494608978735,0,114.769376227196,31.495028721130,0,114.769242154583,31.495455859748,0,114.770620764132,31.496830404981,0,114.770975974533,31.497143141848,0,114.770409210974,31.497163434485,0,114.769878559692,31.496674343091,0,114.769446259682,31.496151987261,0,114.768825551413,31.496191961946,0,114.768702980255,31.496474728883,0,114.768204331000,31.496699455487,0,114.768162996781,31.497101217537,0,114.767430249623,31.497398725583,0,114.766467970026,31.497382823629,0,114.765721102151,31.497235972073,0,114.765107792169,31.497593582165,0,114.764472359416,31.498081257544,0,114.763700692818,31.498906179406,0,114.763342557970,31.498516814543,0,114.764355884222,31.497980581292,0,114.764981495665,31.497499096673,0,114.765479836427,31.497041925980,0,114.765984417994,31.496678807815,0,114.765768526052,31.496419276735,0,114.765570841594,31.496305970533,0,114.766119731129,31.496223976181,0,114.766375919465,31.496358631382,0,114.766972918080,31.496162550292,0,114.767829695192,31.495875592954,0,114.768295139673,31.495575663803,0,114.768388535770,31.495377873626,0,114.767921980564,31.495107545359,0,114.767922915935,31.494931850912,0,114.768249682806,31.495096904907,0,114.768636259211,31.495117154858,0,114.768918283896,31.494916493278,0,114.769070100319,31.494482439929,0,114.769397342814,31.494332709834,0,114.769547094996,31.493777348184,0,114.769352925899,31.493468457927,0,114.769469452022,31.492296244092,0,114.769332226033,31.491441636146,0,114.769463855805,31.490595639835,0,114.769170854909,31.489365680191,0,114.769206401754,31.488516195120,0,114.768906947134,31.488063784126,0,114.768408245694,31.487892706375,0,114.768262088509,31.488257537558,0,114.768027903209,31.488818019078,0,114.767381972489,31.488643214997,0,114.766536509155,31.488669915928,0,114.766011669585,31.488627664788,0,114.765994704217,31.488895103296,0,114.766587050637,31.489106783378,0,114.766914882211,31.489350844887,0,114.767010419656,31.489735944767,0,114.766550543973,31.490187144334,0,114.766142689480,31.489976657364,0,114.765777074243,31.489903385610,0,114.765456032143,31.490119587971,0,114.765211772652,31.489775746957,0,114.764892913549,31.489770221759,0,114.764670988394,31.489900398767,0,114.764351342065,31.490027921296,0,114.763715138895,31.490005514717,0,114.763092770245,31.489701997990,0,114.762658509169,31.489502782012,0,114.762492958446,31.489930677167,0,114.762153398098,31.489687743799,0,114.762088476617,31.489331792752,0,114.761764616264,31.488893286414,0,114.761347433559,31.488836606970,0,114.760766918316,31.488745551090,0,114.760004635562,31.488428460618,0,114.759526551747,31.488185889540,0,114.759256033783,31.487331738819,0,114.758249915094,31.486545623710,0,114.757772284870,31.486122163998,0,114.757932634176,31.485472732706,0,114.757140696018,31.484568876007,0,114.757316425404,31.484167322216,0,114.756887997940,31.483381200485,0,114.755925060395,31.482597341114,0,114.755186455651,31.481950144322,0,114.754621193271,31.482240180450,0,114.754771421857,31.482802310904,0,114.754325900204,31.483133820217,0,114.753852447695,31.482256388134,0,114.753739473770,31.481384217439,0,114.753014716342,31.480717136716,0,114.752778182060,31.481241464761,0,114.752294881432,31.480543964865,0,114.751705593064,31.479515712602,0,114.750708158510,31.480311990004,0,114.750129509220,31.479890574110,0,114.750131216532,31.479096844963,0,114.749514252476,31.478490632452,0,114.748618331880,31.479125666628,0,114.749440198572,31.479882005496,0,114.748892253915,31.480468141271,0,114.747449900832,31.481416968087,0,114.747106796511,31.481192135275,0,114.747952131847,31.480283933659,0,114.748294921034,31.479862810280,0,114.747677590033,31.479275691169,0,114.747546922524,31.478781533908,0,114.747002615134,31.478880959817,0,114.746714243877,31.478628721019,0,114.747431685880,31.478287742769,0,114.748331458088,31.478960940748,0,114.748632597646,31.478647826067,0,114.748134763374,31.477984520591,0,114.748572768306,31.477027755202,0,114.747833024011,31.476261939697,0,114.747255896448,31.474856570408,0,114.746893887547,31.474288701781,0,114.746781681770,31.475500467129,0,114.746400429614,31.475008220386,0,114.746033573467,31.474266182570,0,114.745700606609,31.473649797402,0,114.749824056003,31.473613794596,0,114.750360798125,31.475234941139,0,114.751306818730,31.475782423763,0,114.752287497111,31.474520119285,0,114.752038285881,31.473783593028,0,114.752873815537,31.474746325594,0,114.753751898712,31.476265578092,0,114.755424299876,31.477392251235,0,114.756551619446,31.477372325054,0,114.757460246008,31.479039167470,0,114.757790932927,31.477609379135,0,114.758341084825,31.476395294638,0,114.758715200204,31.476447829042,0,114.758638795795,31.478424575037,0,114.759511604078,31.478856402968,0,114.761345921576,31.477409152744,0,114.763264067281,31.478202099056,0,114.763666552547,31.478771875612,0,114.763224544837,31.479270996421,0,114.761472752491,31.478978795763,0,114.761002512753,31.479621294098,0,114.761793480675,31.480808411700,0,114.761469667451,31.481004311868,0,114.760407444913,31.480123804390,0,114.759623814399,31.480226937845,0,114.759746961214,31.481448059763,0,114.760222641587,31.482964593023,0,114.761229665484,31.484395128773,0,114.762028772611,31.486159753703,0,114.763559179448,31.486659633284,0,114.763515968184,31.487023884866,0,114.762394245021,31.486992553546,0,114.762511993381,31.487366334973,0,114.763679081869,31.487321489350,0,114.765001694000,31.486661984578,0,114.765588522092,31.485995859192,0,114.768601061919,31.485922354027,0,114.769564831647,31.486935972654,0,114.771290272540,31.488605514750,0,114.771825605340,31.489923881188,0,114.773497052009,31.490429520443,0,114.772607095818,31.491412303185,0,114.772580621667,31.492510496382,0,114.771619061132,31.494364060635,0,114.771601620903,31.495091480339,0,114.773011890420,31.496323421833,0,114.773361288297,31.496309965373,0,114.773604644460,31.496470694602,0,114.774623902234,31.497958087775,0,114.775578235608,31.499473916586,0,114.776496208577,31.500892227707,0,114.777824923784,31.502493128118,0,114.780257063226,31.503604449418,0,114.782467237656,31.504425249810,0,114.783711675168,31.504673482111,0, 114.783443148043,31.505443487709,0,114.780194621057,31.504572576714,0,114.777933610941,31.503569039239,0,114.776045138180,31.501945929573,0,114.774328879980,31.500052898212,0,114.772911406493,31.498974329835,0,114.771823254162,31.498718102419,0,114.771125594074,31.499317054217,0,114.770760151001,31.499133260919,0,114.771130482942,31.498437094340,0,114.771274024960,31.497925320524,0,114.769896121128,31.496740685966,0,114.769536395068,31.496220890439,0,114.769227374166,31.496217422292,0,114.768503836190,31.496600855497,0,114.768286533755,31.497056386986,0,114.767683570351,31.497393506387,0,114.766872589416,31.497444524671,0,114.766166057452,31.497340346545,0,114.765831893209,31.497289823694,0,114.765150155955,31.497609890029,0,114.764497844518,31.498071319045,0,114.763703452478,31.498914343321,0,114.763346764442,31.498522497112,0,114.764358188460,31.497990320484,0,114.765129553111,31.497354528892,0,114.764458104651,31.496847730761,0,114.764483515502,31.496761973284,0,114.766071286417,31.496014693248,0,114.766141380341,31.496183097695,0,114.766253823409,31.496229673138,0,114.766448627349,31.496187151909,0,114.766524326814,31.496098907589,0,114.766933675794,31.496117061285,0,114.767186500375,31.496016982712,0,114.767825640322,31.495875577496,0,114.768267609152,31.495559522772,0,114.768271397136,31.495370316434,0,114.767939651299,31.495160081827,0,114.767819842910,31.494985885209,0,114.767943900991,31.494920289423,0,114.768141889689,31.495030963511,0,114.768753202126,31.495021642089,0,114.768925726414,31.494749048612,0,114.768737477141,31.494447705647,0,114.769038296541,31.494144520140,0,114.768939686112,31.494092976294,0,114.768945950763,31.493742509141,0,114.768856927862,31.493543057450,0,114.769011627910,31.493018950455,0,114.768827855411,31.492957422677,0,114.768889552144,31.492500036269,0,114.768949292477,31.491864268292,0,114.768978452669,31.491383556194,0,114.769271937674,31.491331286984,0,114.769193785459,31.490972297994,0,114.769086246918,31.490616781981,0,114.769083871553,31.490346018565,0,114.769330647037,31.490292569872,0,114.769218188099,31.489964471420,0,114.769267012616,31.489749094135,0,114.769001677254,31.489707019762,0,114.768787051969,31.489604612623,0,114.768447535835,31.489422004748,0,114.768218015506,31.489559421581,0,114.767943118505,31.489464828718,0,114.767632791992,31.489260657133,0,114.767447219237,31.489288312093,0,114.767352095362,31.489480144007,0,114.767000442686,31.489837097087,0,114.767212220581,31.490029478947,0,114.767559661654,31.490282357271,0,114.767673210908,31.490491391643,0,114.767502571689,31.490797420563,0,114.767604615406,31.491146420253,0,114.767346815075,31.491330270661,0,114.767196943418,31.491274462852,0,114.767003735961,31.490842631549,0,114.766595400030,31.490700387858,0,114.766723673310,31.490360433122,0,114.766468679381,31.490282057488,0,114.766131701194,31.490584611661,0,114.765853468184,31.490667127663,0,114.765394661284,31.490284898644,0,114.765092740020,31.489911812551,0,114.764735557707,31.490154309496,0,114.764208172865,31.490307902799,0,114.763404312858,31.489855572637,0,114.763023225305,31.489839721701,0,114.762690859711,31.489525574054,0,114.762576842564,31.489929401357,0,114.762435399578,31.489965351354,0, @@ -864,7 +864,7 @@ export default class LayerMgr { { id: "yellowRiverRight", name: "yellowRiverRightName", - availability: "2000-01-01T00:00:00Z/2000-01-01T00:00:14Z", + availability: "2000-01-01T00:00:00Z/2000-01-01T00:00:20Z", polygon: { positions: [ { @@ -919,7 +919,7 @@ export default class LayerMgr { ], }, { - interval: "2000-01-01T00:00:13Z/2000-01-01T00:00:15Z", + interval: "2000-01-01T00:00:13Z/2000-01-01T00:00:20Z", cartographicDegrees: [ 114.780366659698,31.504141426046,0,114.779534478738,31.503827697727,0,114.778672419434,31.503380063571,0,114.777939227289,31.503018767692,0,114.777357420404,31.502564350829,0,114.776582793215,31.501947988491,0,114.776196427090,31.501514063355,0,114.775857790981,31.501157896814,0,114.775515788329,31.500814032138,0,114.775207182958,31.500459149416,0,114.774832722247,31.500025643756,0,114.774471628590,31.499605623245,0,114.774189759542,31.499216007668,0,114.773827478266,31.498817744306,0,114.773489564372,31.498498553125,0,114.773232904656,31.498178312176,0,114.772934273532,31.497763965913,0,114.772608315829,31.497304339064,0,114.772240479547,31.496917903038,0,114.771917165337,31.496478963199,0,114.771553551163,31.495991824588,0,114.771044824584,31.495492091626,0,114.770597499574,31.495126852781,0,114.770244772990,31.494795110924,0,114.769926456857,31.494548673437,0,114.769734937087,31.494529070301,0, 114.769501038306,31.494599833600,0,114.769383328601,31.494706875275,0,114.769264553519,31.494823261481,0,114.769134862255,31.494935364613,0,114.769074997575,31.494996677761,0,114.768964872072,31.495120310991,0,114.768888011670,31.495240909231,0,114.768796770433,31.495388214977,0,114.768731820858,31.495502097094,0,114.768665855622,31.495666636403,0,114.768633059787,31.495873500982,0,114.768578227328,31.496029679091,0,114.768501416066,31.496212968382,0,114.768440187191,31.496272989468,0,114.768361977728,31.496348285231,0,114.768142885040,31.496562634569,0,114.767951461712,31.496752186709,0,114.767793862094,31.496922622162,0,114.767714432192,31.496987296134,0,114.767579943979,31.497086008985,0,114.767409257576,31.497178442170,0,114.767184883067,31.497251763817,0,114.767025968606,31.497254852248,0,114.766622524326,31.497239998291,0,114.766334565206,31.497208077090,0,114.766023483778,31.497174942626,0,114.765808813377,31.497167387390,0,114.765742927467,31.497157317578,0,114.765610393751,31.497219209924,0,114.765483226029,31.497293187846,0,114.765384263521,31.497368234824,0,114.765178038170,31.497534761637,0,114.764986440386,31.497685675884,0,114.764637797713,31.497944160202,0,114.764450478442,31.498083882896,0,114.763852102481,31.498755857824,0,114.763702103330,31.498886219964,0,114.763336628632,31.498505811142,0,114.763516746020,31.498395694030,0,114.764346859232,31.497970047521,0,114.764472573311,31.497878701158,0,114.764963556368,31.497512749359,0,114.765287324353,31.497267466340,0,114.765444489511,31.497134334438,0,114.765690029719,31.496957871202,0,114.765867123312,31.496877193953,0,114.766014314713,31.496820827377,0,114.766256619428,31.496820175478,0,114.766358478778,31.496850972754,0,114.766771385502,31.496977625383,0,114.766980065381,31.497014831617,0,114.767141920665,31.496996537282,0,114.767423211058,31.496909488682,0,114.767623003736,31.496805221952,0,114.767884223549,31.496629633216,0,114.768003951205,31.496504987686,0,114.768041480235,31.496468106004,0,114.768129608836,31.496364104072,0,114.768215248759,31.496228302150,0,114.768356167693,31.495996055037,0,114.768543319774,31.495659232866,0,114.768705542039,31.495385607825,0,114.768800422909,31.495224726512,0,114.769016844789,31.494971684424,0,114.769245018797,31.494712604420,0,114.769333876187,31.494593447609,0,114.769510057000,31.494326983048,0, @@ -941,7 +941,7 @@ export default class LayerMgr { { id: "redRiverRight", name: "redRiverRightName", - availability: "2000-01-01T00:00:00Z/2000-01-01T00:00:14Z", + availability: "2000-01-01T00:00:00Z/2000-01-01T00:00:20Z", polygon: { positions: [ { @@ -980,7 +980,7 @@ export default class LayerMgr { ], }, { - interval: "2000-01-01T00:00:11Z/2000-01-01T00:00:15Z", + interval: "2000-01-01T00:00:11Z/2000-01-01T00:00:20Z", cartographicDegrees: [ 114.773228142774,31.497537688857,0,114.772852762944,31.497273106071,0,114.772490015124,31.496856737534,0,114.772173283248,31.496516891692,0,114.772056682629,31.496232361748,0,114.771774586829,31.495909847733,0,114.771429304918,31.495534812934,0,114.771300319622,31.495396333050,0,114.770703600695,31.495072968566,0,114.770476570694,31.494733671947,0,114.770157453862,31.494446620329,0,114.770030533208,31.494402628743,0,114.769819791381,31.494412074438,0,114.769662384360,31.494443233238,0, 114.769371487522,31.494688505397,0,114.769250256011,31.494810067165,0,114.769139943231,31.494908072353,0,114.768998052753,31.495064806547,0,114.768944143543,31.495136163334,0,114.768833647090,31.495301894274,0,114.768727334709,31.495480159260,0,114.768658251103,31.495642954089,0,114.768617025532,31.495851906870,0,114.768565102323,31.496026072876,0,114.768477929608,31.496204904061,0,114.768418186795,31.496271731582,0,114.768257217452,31.496431964686,0,114.768104893929,31.496583059575,0,114.767953840273,31.496734363437,0,114.767793858275,31.496905295936,0,114.767618288622,31.497040598528,0,114.767423296449,31.497156008342,0,114.767220625200,31.497226785466,0,114.767071207159,31.497239842780,0,114.766777557613,31.497229460190,0,114.766639840427,31.497217393411,0,114.766250645414,31.497184791669,0,114.766075803330,31.497169033986,0,114.765858238810,31.497161670402,0,114.765749087369,31.497149789852,0,114.765578802644,31.497228955090,0,114.765473361890,31.497294544899,0,114.765136517774,31.497558773072,0,114.764843659345,31.497784893972,0,114.764453222739,31.498073043344,0,114.764148696635,31.498412741926,0,114.763850462189,31.498749625751,0,114.763700896817,31.498874329774,0,114.763348732120,31.498506694451,0,114.763521873571,31.498402125341,0,114.763800571985,31.498256877886,0,114.764373752997,31.497957064267,0,114.764714094725,31.497706094535,0,114.765033444991,31.497468743145,0,114.765426774993,31.497161865682,0,114.765690653071,31.496975842302,0,114.766029434881,31.496834579067,0,114.766262913406,31.496828772717,0,114.766783688310,31.496990033626,0,114.766980599700,31.497020245661,0,114.767143919965,31.497006201167,0,114.767431251284,31.496922081537,0,114.767628864841,31.496820407098,0,114.767890148508,31.496638503274,0,114.767931257165,31.496598442293,0,114.768144070759,31.496377983952,0,114.768217574009,31.496257284286,0,114.768262430136,31.496190717202,0,114.768376910300,31.496001449135,0,114.768524559972,31.495721557074,0,114.768677039301,31.495461253826,0,114.768812797476,31.495225802142,0,114.768936192096,31.495080413086,0,114.769135416269,31.494852552184,0, @@ -1305,7 +1305,8 @@ export default class LayerMgr { viewer.dataSources.add(Cesium.CzmlDataSource.load(czml)); // viewer.clock.shouldAnimate = false; // 暂停动画 // var specificTime = Cesium.JulianDate.fromIso8601('2000-01-01T00:00:04Z'); - // viewer.clock.currentTime = '2000-01-01T00:00:05Z'; // 跳转到指定时间 + + // viewer.clock.currentTime = '2000-01-01T00:00:10Z'; // 跳转到指定时间 } diff --git a/src/views/Home/MapCtrl/Map3D/layermgr3d.js b/src/views/Home/MapCtrl/Map3D/layermgr3d.js index f8fe6a0a6..a92a4d61a 100644 --- a/src/views/Home/MapCtrl/Map3D/layermgr3d.js +++ b/src/views/Home/MapCtrl/Map3D/layermgr3d.js @@ -51,6 +51,7 @@ export default class LayerMgr3D extends LayerMgr { */ addAppLayers(dispatch, visible, setting, otherParams) { visible = visible || {}; + dispatch.map.setMap(this.viewer); // this.addLayer(new BouaLayer3D({ visible: visible[BouaLayer3D.LayerName], setting, dispatch })); // if(visible[RainLayer3D.LayerName]){ diff --git a/src/views/Home/MapCtrl/Markers/GongShuiMarker.js b/src/views/Home/MapCtrl/Markers/GongShuiMarker.js index 351f859f7..ab93a48be 100644 --- a/src/views/Home/MapCtrl/Markers/GongShuiMarker.js +++ b/src/views/Home/MapCtrl/Markers/GongShuiMarker.js @@ -40,7 +40,7 @@ function GongShuiMarker({ data, dispatch, setting, zoom, distSq }) { } useEffect(() => { - const width = 20; + const width = 12; const placeholder = document.getElementById(`marker_gongshui_${data.id}`); if (!placeholder) { diff --git a/src/views/Home/btn/index.js b/src/views/Home/btn/index.js index 8f3890d13..248ca0482 100644 --- a/src/views/Home/btn/index.js +++ b/src/views/Home/btn/index.js @@ -124,11 +124,11 @@ export default function Btn({showPanels,setShowPanels}) { {/*
*/} -
- {/*
+
+
3D图 -
*/} +
影像图 diff --git a/src/views/Home/hsyy/index.js b/src/views/Home/hsyy/index.js index 0ac975573..2f1b6a198 100644 --- a/src/views/Home/hsyy/index.js +++ b/src/views/Home/hsyy/index.js @@ -4,21 +4,105 @@ import { useDispatch, useSelector } from 'react-redux' import { Collapse, DatePicker, Input, Modal, message } from 'antd'; import './index.less' import Ybfa from './ybfa' +import Ymtj from './ymtj' +import Demo3D from '../../Home/MapCtrl/Map3D/demo' +const { Cesium } = window; const Page = ({ showPanels }) => { const dispatch = useDispatch(); let mapObj = useSelector(s => s.map.map) + const [ map, setMap ] = useState(null) + const [ ctx, setCtx ] = useState({mode:'预报方案',data:{}}) + useEffect(()=>{ + },[]) + + useEffect(() => { + dispatch.map.setLayerVisible({ + RealDrpLayer: true, + PicStLayer: true, + ShuiKuLayer: true, + GongShuiLayer: true, + AZDLayer: true, + QSYDWLayer: true, + YHJMHLayer: true + }); + const { mode } = ctx + //当前map对象是cesium + if(!mapObj?._cesiumWidget){ + return + } + + if(mode==='淹没统计'){ + mapObj.camera.setView({ + destination: Cesium.Cartesian3.fromDegrees(114.786546000,31.496518000,1500), + orientation: { + heading: Cesium.Math.toRadians(-90), + pitch: Cesium.Math.toRadians(-35.0), + roll: 0.0 + } + }); + + const demo = new Demo3D() + demo.getCzml2(mapObj) + }else{ + mapObj.dataSources._dataSources.forEach(dataSource => { + if (dataSource.name === 'CZML1111') { // 确保你知道你想要移除的数据源名称 + mapObj.dataSources.remove(dataSource); + } + }); + + mapObj.camera.setView({ + destination: Cesium.Cartesian3.fromDegrees(114.771546000,31.497518000,650), + orientation: { + heading: Cesium.Math.toRadians(-90), + pitch: Cesium.Math.toRadians(-45.0), + roll: 0.0 + } + }); + } + + + + + // demo.getCzml2(mapObj)//demo + // const tm = { + // "dayNumber": 2460957, + // "secondsOfDay": 75115.485 + // } + // debugger + // setTimeout(() => { + // mapObj.clock.currentTime = tm; + // }, 10000); + // this.demo.getDem(viewer) //地形图 + // this.demo.getGltf(viewer) //模型 + // this.demo.getWater(viewer)//简单淹没分析 + // this.demo.getWater2(viewer) + // this.demo.getRlt2(viewer) + // this.demo.getRlt3(viewer) //热力图 + // this.demo.getCzml(viewer) //czml模型 + + return ()=>{ + dispatch.map.setLayerVisible({ + RealDrpLayer: false, + PicStLayer: false, + ShuiKuLayer: false, + GongShuiLayer: false, + AZDLayer: false, + QSYDWLayer: false, + YHJMHLayer: false + }); + } + }, [mapObj,ctx]) - useEffect(() => { - }, []) return (
- + { ctx.mode==='预报方案'?:null } + { ctx.mode==='淹没统计'?:null}
) diff --git a/src/views/Home/hsyy/index.less b/src/views/Home/hsyy/index.less index 6f9ab7254..11d921206 100644 --- a/src/views/Home/hsyy/index.less +++ b/src/views/Home/hsyy/index.less @@ -396,7 +396,7 @@ padding: 8px; - + .hsyylistBox{ padding: 10px; margin-bottom: 10px; @@ -441,4 +441,48 @@ } } } -} \ No newline at end of file + + .ymtjBox{ + height: 100%; + display: flex; + flex-direction: row; + flex-wrap: wrap; + padding: 10px; + + + .ymtjBoxItem{ + background-color: #eee; + border-radius: 5px; + width: 108px; + margin: 5px; + padding: 10px 0px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + .text1{ + font-size: 22px; + font-weight: 500; + height: 30px; + .dw{ + display: inline-block; + font-size: 12px; + font-weight: 500; + color: #000000; + margin-left: 2px; + } + } + .text2{ + font-size: 12px; + font-weight: 500; + } + } + } + + + .hsyyScrollBox{ + height: 68vh; + overflow-y: scroll; + } +} diff --git a/src/views/Home/hsyy/information/fack.js b/src/views/Home/hsyy/information/fack.js new file mode 100644 index 000000000..2ad6ddfff --- /dev/null +++ b/src/views/Home/hsyy/information/fack.js @@ -0,0 +1,78 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { Form, Input, Button, Table, Radio, Tabs } from 'antd'; +import {CloseOutlined} from '@ant-design/icons'; +import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; +import ReactEcharts from 'echarts-for-react'; +import drpOption from './drpOption'; +import './index.less' +import { httpget2, httppost2 } from '../../../../utils/request'; +import apiurl from '../../../../service/apiurl'; + +const Page = ({data}) => { + const [tab,setTab] = useState('1') + + const columns = [ + { title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 }, + { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)}, + { title: '降雨量(mm)', key: 'drp', dataIndex: 'drp', align:"center", width:100,render:(v,row)=>{ + const val = v===null?'-':Number(v).toFixed(2) + return
{val}{row.ispreDrp==='1'?
:null}
+ }}, + { title: '实测水位(m)', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, + { title: '预报水位(m)', key: 'ycSwHValue', dataIndex: 'ycSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, + { title: '入库流量(m³/s)', key: 'realRkQValue', dataIndex: 'realRkQValue', width:120, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, + { title: '预报入库流量(m³/s)', key: 'ycRkQValue', dataIndex: 'ycRkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, + { title: '实际出库流量(m³/s)', key: 'realCkQValue', dataIndex: 'realCkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, + { title: '预报出库流量(m³/s)', key: 'ycCkQValue', dataIndex: 'ycCkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, + ]; + + return ( + <> +
+ 预见期(小时): + {data?.tms?.forecastPeriod} + 预热期(天): + {data?.tms?.forecastWarm} + 预报时间: + {data?.tms?.forecastTime} + 开始时间: + {data?.tms?.startTime} + 结束时间: + {data?.tms?.endTime} +
+ {setTab(e.target.value)}} defaultValue="1"> + 数据图 + 数据表 + +
+
+
+
预报最高调洪水位(m):{data?.tms?.ycMaxSwH?.toFixed(2)}
+
预报最大入库流量(m³/s):{data?.tms?.ycMaxRkQ?.toFixed(2)}
+
预报最大下泄流量(m³/s):{data?.tms?.ycMaxCkQ?.toFixed(2)}
+
预报洪水总量(万m³):{data?.tms?.ycSumFlood?.toFixed(2)}
+
+
+ { + tab==='1'? + + :null //
+ } + { + tab==='2'? +
+ + :null + } + + + ); +} + +export default Page; \ No newline at end of file diff --git a/src/views/Home/hsyy/information/index.js b/src/views/Home/hsyy/information/index.js index 4e9f02bf1..4be2d3d02 100644 --- a/src/views/Home/hsyy/information/index.js +++ b/src/views/Home/hsyy/information/index.js @@ -4,38 +4,16 @@ import {CloseOutlined} from '@ant-design/icons'; import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; import ReactEcharts from 'echarts-for-react'; import drpOption from './drpOption'; -import moment from 'moment'; import './index.less' -import ModalForm1 from './table1' import { httpget2, httppost2 } from '../../../../utils/request'; import apiurl from '../../../../service/apiurl'; +import Fack from './fack' +import Tjpz from './tjpz' -const Page = ({projectId,onCancel,show}) => { +const Page = ({projectId,onCancel,setCtx}) => { const [data,setData] = useState({data:[],tms:{}}) - const [tab,setTab] = useState('1') const [tabs, setTabsChange] = useState(0) - const columns = [ - { title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 }, - { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)}, - { title: '降雨量(mm)', key: 'drp', dataIndex: 'drp', align:"center", width:100,render:(v,row)=>{ - const val = v===null?'-':Number(v).toFixed(2) - return
{val}{row.ispreDrp==='1'?
:null}
- }}, - { title: '实测水位(m)', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '预报水位(m)', key: 'ycSwHValue', dataIndex: 'ycSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '入库流量(m³/s)', key: 'realRkQValue', dataIndex: 'realRkQValue', width:120, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '预报入库流量(m³/s)', key: 'ycRkQValue', dataIndex: 'ycRkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '实际出库流量(m³/s)', key: 'realCkQValue', dataIndex: 'realCkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '预报出库流量(m³/s)', key: 'ycCkQValue', dataIndex: 'ycCkQValue', width:160, align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - - const columns2 = [ - { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", render:v=>v.slice(0, 16)}, - { title: '流量', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>}, - ]; - - useEffect(()=>{ (async()=>{ const {code , data} = await httpget2(apiurl.fxdd_xyt.hsyb.ybfagl.getData+'?projectId='+projectId) @@ -61,7 +39,7 @@ const Page = ({projectId,onCancel,show}) => {
- 预报成果详情 + 方案配置
@@ -70,76 +48,11 @@ const Page = ({projectId,onCancel,show}) => { onChange={(e) => setTabsChange(e)} activeKey={tabs} style={{paddingLeft:'20px'}} - items={[ - {label: '方案查看',key: 0}, - {label: '条件配置',key: 1}, - ]} + items={[{label: '方案查看',key: 0},{label: '条件配置',key: 1},]} > - { - tabs===0?<> -
- 预见期(小时): - {data?.tms?.forecastPeriod} - 预热期(天): - {data?.tms?.forecastWarm} - 预报时间: - {data?.tms?.forecastTime} - 开始时间: - {data?.tms?.startTime} - 结束时间: - {data?.tms?.endTime} -
- {setTab(e.target.value)}} defaultValue="1"> - 数据图 - 数据表 - -
-
-
-
预报最高调洪水位(m):{data?.tms?.ycMaxSwH?.toFixed(2)}
-
预报最大入库流量(m³/s):{data?.tms?.ycMaxRkQ?.toFixed(2)}
-
预报最大下泄流量(m³/s):{data?.tms?.ycMaxCkQ?.toFixed(2)}
-
预报洪水总量(万m³):{data?.tms?.ycSumFlood?.toFixed(2)}
-
-
- { - tab==='1'? - - :null //
- } - { - tab==='2'? -
-
- :null - } - - :null - } - { - tabs===1?<> -
-
-
- -
- - :null - } - + { tabs===0?:null } + { tabs===1?:null } ); } diff --git a/src/views/Home/hsyy/information/table1.js b/src/views/Home/hsyy/information/table1.js deleted file mode 100644 index aee836fd8..000000000 --- a/src/views/Home/hsyy/information/table1.js +++ /dev/null @@ -1,52 +0,0 @@ -import React, { useEffect, useState, useRef, useMemo } from 'react'; -import { Form, Input, Button, Table, Radio } from 'antd'; -import { EyeOutlined } from '@ant-design/icons'; -import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; -import ReactEcharts from 'echarts-for-react'; -import drpOption from './drpOption'; -import moment from 'moment'; -import './index.less' - - -const Page = ({record}) => { - const columns = useMemo(()=>{ - if(record.type==='产流计算'){ - return [ - { title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 }, - { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)}, - { title: '面雨量P(mm)', key: 'drp', dataIndex: 'drp', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '土壤含水量Pa(mm)', key: 'pa', dataIndex: 'pa', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - { title: '径流深R(mm)', key: 'r', dataIndex: 'r', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - }else if(record.type==='汇流计算'){ - return [ - { title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 }, - { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)}, - { title: '预测入库流量', key: 'ycRkQValue', dataIndex: 'ycRkQValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - }else{ - return [ - { title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 }, - { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)}, - { title: '预测出库流量', key: 'ycCkQValue', dataIndex: 'ycCkQValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)}, - ]; - } - },[record]) - - - return ( - <> -
-
- - - ); -} - -export default Page; \ No newline at end of file diff --git a/src/views/Home/hsyy/information/tjpz.js b/src/views/Home/hsyy/information/tjpz.js new file mode 100644 index 000000000..ec65f0b43 --- /dev/null +++ b/src/views/Home/hsyy/information/tjpz.js @@ -0,0 +1,32 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { Form, Input, Button, Table, Radio, Tabs } from 'antd'; +// import BasicCrudModal from '../../../../components/crud/BasicCrudModal'; + +const Page = ({data, setCtx, onCancel}) => { + const columns2 = [ + { title: '时间', key: 'tm', dataIndex: 'tm', align:"center", render:v=>v.slice(0, 16)}, + { title: '流量', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>}, + ]; + + return ( + <> +
+
+
+ +
+ + + ); +} + +export default Page; \ No newline at end of file diff --git a/src/views/Home/hsyy/service.js b/src/views/Home/hsyy/service.js new file mode 100644 index 000000000..2a739248e --- /dev/null +++ b/src/views/Home/hsyy/service.js @@ -0,0 +1,29 @@ +import {httppost2, httpget, httpget2,httpget3} from "../../../utils/request"; +import {message} from 'antd'; +import apiurl from '../../../service/apiurl'; + + +//实时水情-河道水情列表 +export async function getTableData() { + const params = { + "pageSo": { + "pageSize": 99999, + "pageNumber": 1 + }, + "orderField": "chtm", + "isAsc": false + } + const {data, code, msg} = await httppost2(apiurl.fxdd_xyt.hsyb.ybfagl.page,params) || {}; + if (code !== 200) { + message.error(msg || '请求失败'); + } + return data?.records||[]; +} + + + + + + + + diff --git a/src/views/Home/hsyy/ybfa.js b/src/views/Home/hsyy/ybfa.js index 354440cf0..eb769e202 100644 --- a/src/views/Home/hsyy/ybfa.js +++ b/src/views/Home/hsyy/ybfa.js @@ -1,25 +1,45 @@ -import React, { useEffect, useState, useRef } from 'react' +import React, { useEffect, useState, useRef, useMemo } from 'react' import { useLocation } from 'react-router' import { useDispatch, useSelector } from 'react-redux' import {Form, Input, DatePicker, Popover, Collapse , Button, message, Table, Col, Modal} from 'antd'; import { createCrudService } from '../../../components/crud/_'; import apiurl from '../../../service/apiurl'; import ModalForm from './information'; -import { httppost2 } from '../../../utils/request'; +import { getTableData } from './service'; +import moment from 'moment'; const { RangePicker } = DatePicker -const Page = ({ showPanels }) => { +const Page = ({ setCtx }) => { const dispatch = useDispatch(); let mapObj = useSelector(s => s.map.map) const [index,setIndex] = useState(0) const [data,setData] = useState([]) const [projectId, setProjectId] = useState('') const [open, setOpen] = useState(false) - const [mode,setMode] = useState(0) - + const [name, setName] = useState('') + const [tms,setTms] = useState([]) + const listData = useMemo(()=>{ + let list = [...data] + if(name){ + list = list.filter((i)=>i.name.indexOf(name)>-1) + } + if(tms&&tms.length>0){ + list = list.filter((i)=>{ + const stm = moment(tms[0]) + const etm = moment(tms[1]) + const tm = moment(i.updateTm) + if(tm.isAfter(stm)&&etm.isAfter(tm)){ + return true + }else{ + return false + } + }) + } + return list + },[data,name,tms]) @@ -29,127 +49,73 @@ const Page = ({ showPanels }) => { }, []) const getData = async()=>{ - const { code, data } = await httppost2(apiurl.fxdd_xyt.hsyb.ybfagl.page, { - "pageSo": { - "pageSize": 99999, - "pageNumber": 1 - }, - "orderField": "chtm", - "isAsc": false - }); - if(code!==200){ - return - } - setData(data?.records||[]) + const data = await getTableData() + setData(data) } - const show = (data)=>{ + + const openModal = (item)=>{ + setOpen(true) + setProjectId(item.id) + } + const closeModal = ()=>{ setOpen(false) - setMode(1) + setProjectId(null) } - return ( <>
+
+
+ + 预报方案 +
+
+
+
+
+ + setName(e.nativeEvent.target.value)}/> + + + setTms(v)} + value={tms} + format='YYYY-MM-DD HH:mm' + /> + + +
{ - mode===0?<> -
-
- - 预报方案 -
-
-
-
-
- - - - - setTms(v)} - // value={tms} - format='YYYY-MM-DD HH:mm' - /> - - - { - data?.map((item,listIndex)=>( - <> -
setIndex(listIndex)} - > -
{(listIndex+1)+'.'+item.name}{ - listIndex===index? - { - setOpen(true) - setProjectId(item.id) - }}>方案配置: - 方案配置 - }
-
预报时段:
{item.startTm}至{item.endTm}
-
预报最高调洪水位(m):
-
-
预报最大入库流量(m³/s):
-
-
预报最大下泄流量(m³/s):
-
-
预报洪水总量(万m³):
-
-
方案制作时间:
{item.updateTm}
-
- - )) - } - :null - } - - { - mode===1?<> -
-
- - 卸洪结果 -
-
{ - setProjectId(null) - setMode(0) - }}> - 返回 -
-
-
-
预报时段:
{}至{}
-
预报最高调洪水位(m):
-
-
预报最大入库流量(m³/s):
-
-
预报最大下泄流量(m³/s):
-
-
预报洪水总量(万m³):
-
-
方案制作时间:
{}
-
- -
-
- - 水位 -
-
-
-
- -
-
- - 出入库流量 -
-
-
-
- :null + listData?.map((item,listIndex)=>( + <> +
setIndex(listIndex)} + > +
{(listIndex+1)+'.'+item.name}{ + listIndex===index? + openModal(item)}>方案配置: + 方案配置 + }
+
预报时段:
{item.startTm}至{item.endTm}
+
预报最高调洪水位(m):
{item.ycMaxSwH||'-'}
+
预报最大入库流量(m³/s):
{item.ycMaxRkQ||'-'}
+
预报最大下泄流量(m³/s):
{item.ycMaxCkQ||'-'}
+
预报洪水总量(万m³):
{item.ycSumFlood||'-'}
+
方案制作时间:
{item.updateTm}
+
+ + )) } +
- setOpen(false)} destroyOnClose={true}> - setOpen(false)} show={show}/> + + ) diff --git a/src/views/Home/hsyy/ymtj.js b/src/views/Home/hsyy/ymtj.js new file mode 100644 index 000000000..f57514723 --- /dev/null +++ b/src/views/Home/hsyy/ymtj.js @@ -0,0 +1,140 @@ +import React, { useEffect, useState, useRef } from 'react' +import { useLocation } from 'react-router' +import { useDispatch, useSelector } from 'react-redux' +import {Form, Input, DatePicker, Popover, Collapse , Button, message, Table, Col, Modal} from 'antd'; +import { RollbackOutlined, ArrowLeftOutlined } from '@ant-design/icons'; +import apiurl from '../../../service/apiurl'; +import ModalForm from './information'; +import { httppost2 } from '../../../utils/request'; + + +const { RangePicker } = DatePicker + + +const Page = ({ ctx, setCtx }) => { + const dispatch = useDispatch(); + let mapObj = useSelector(s => s.map.map) + const [data1,setData1] = useState([ + { + cz:'檀树岗村', + rk:10, + sd:15, + sj:'2025-08-04 18:00:00', + }, + { + cz:'檀树岗村', + rk:10, + sd:15, + sj:20, + }, + { + cz:'檀树岗村', + rk:10, + sd:15, + sj:20, + }, + ]) + const [data2,setData2] = useState([ + { + dwmc:'七里坪镇檀树中学', + rk:10, + sd:15, + sj:20, + } + ]) + + + const columns = [ + { title: '受灾村庄', key: 'cz', dataIndex: 'cz', align:"center"}, + { title: '受灾人口(人)', key: 'rk', dataIndex: 'rk', width:'80px', align:"center"}, + { title: '最高淹没深度(m)', key: 'sd', dataIndex: 'sd', width:'100px', align:"center"}, + { title: '洪峰时间', key: 'sj', dataIndex: 'sj', align:"center"}, + ]; + const columns2 = [ + { title: '单位名称', key: 'dwmc', dataIndex: 'dwmc', align:"center"}, + { title: '影响人口(人)', key: 'rk', dataIndex: 'rk', width:'80px', align:"center"}, + { title: '最高淹没深度(m)', key: 'sd', dataIndex: 'sd', width:'100px', align:"center"}, + { title: '洪峰时间', key: 'sj', dataIndex: 'sj', align:"center"}, + ]; + + + useEffect(() => { + getData() + }, []) + + const getData = async()=>{ + } + + + return ( + <> +
+
+
+ 淹没统计
+
setCtx({mode:'预报方案',data:{}})}> + +
+
+
+
+ +
2.98
万m³
+
泄洪量
+
+
+ +
2.8
m
+
最高淹没水深
+
+
+ +
25
h
+
淹没历时
+
+
+ +
1.18
千m³
+
受灾面积
+
+
+ +
3
+
受灾村庄
+
+
+ +
4
+
受灾人口
+
+
+
+
+ 村庄影响情况
+
+
+
+
+
+ 企事业单位影响情况
+
+
+
+ + + ) +} + +export default Page