2 Коміти 335f8b75f0 ... 5522d367ca

Автор SHA1 Опис Дата
  yangqishu 5522d367ca Merge branch 'dev' of http://git.dnzc.vip:3000/yangqishu/tmzn-weihe into dev 3 місяців тому
  yangqishu 26c6948089 feat:添加资源列表生态区geojson数据 3 місяців тому

Різницю між файлами не показано, бо вона завелика
+ 0 - 9
public/geojson/difangbeihe.geojson


+ 1 - 1
public/geojson/sw1.geojson

@@ -2,5 +2,5 @@
   "type": "FeatureCollection",
   "type": "FeatureCollection",
   "name": "sw1",
   "name": "sw1",
   "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
   "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
-  "features": [{ "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [108.291252, 34.21246] } }]
+  "features": [{ "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [108.423114,34.204586,368.7] } }]
 }
 }

Різницю між файлами не показано, бо вона завелика
+ 6 - 122
public/geojson/weihe.geojson


Різницю між файлами не показано, бо вона завелика
+ 127 - 0
public/geojson/weihe1.geojson


Різницю між файлами не показано, бо вона завелика
+ 3 - 1
public/geojson/yijiguanxian.geojson


+ 450 - 0
public/geojson/兴平市.geojson

@@ -0,0 +1,450 @@
+{
+  "type": "Feature",
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [108.551793954, 34.446270935],
+      [108.55214883, 34.444828655],
+      [108.56578324, 34.435491455],
+      [108.565862915, 34.4354436350001],
+      [108.566945195, 34.4355983250001],
+      [108.567460035, 34.4357683000001],
+      [108.566867465, 34.4344989850001],
+      [108.566874505, 34.4342557850001],
+      [108.56722884, 34.4294650800001],
+      [108.56818056, 34.4267059650001],
+      [108.568293085, 34.42656348],
+      [108.56829952, 34.426555335],
+      [108.5684326, 34.42654644],
+      [108.569170715, 34.4266483000001],
+      [108.569888038, 34.42674393],
+      [108.57003307, 34.4267070980001],
+      [108.570057075, 34.426701],
+      [108.570132285, 34.426517115],
+      [108.5711611, 34.4215914650001],
+      [108.571238545, 34.4208844500001],
+      [108.571214116, 34.4199229700001],
+      [108.571195978, 34.419209105],
+      [108.5709703, 34.4187931550001],
+      [108.57084107, 34.418668865],
+      [108.57008386, 34.418746255],
+      [108.56926346, 34.4188339400001],
+      [108.568452195, 34.4188464900001],
+      [108.567784515, 34.4187286700001],
+      [108.564725425, 34.4164591300001],
+      [108.564570208, 34.4161337290001],
+      [108.563558885, 34.41401353],
+      [108.563421198, 34.413658684],
+      [108.5622514, 34.4106438200001],
+      [108.561857095, 34.4070968],
+      [108.56184343, 34.4068729850001],
+      [108.562141955, 34.4057426050001],
+      [108.56252031, 34.405054045],
+      [108.56491778, 34.403538215],
+      [108.565895573, 34.402986668],
+      [108.566481628, 34.4026560880001],
+      [108.56684657, 34.4024502300001],
+      [108.566857785, 34.402443905],
+      [108.56813023, 34.402219475],
+      [108.569267625, 34.40197318],
+      [108.56941564, 34.4019298150001],
+      [108.57302965, 34.400450075],
+      [108.58343685, 34.3882521150001],
+      [108.583493692, 34.388051605],
+      [108.583757465, 34.386584322],
+      [108.584326965, 34.3833163250001],
+      [108.58481579, 34.3800690900001],
+      [108.58246587, 34.380034487],
+      [108.581467285, 34.380037095],
+      [108.58080587, 34.380402845],
+      [108.580268415, 34.3807064550001],
+      [108.579445935, 34.38117901],
+      [108.5788715, 34.38001509],
+      [108.578510735, 34.3792840900001],
+      [108.57844955, 34.3791601200001],
+      [108.578252215, 34.378760255],
+      [108.577723175, 34.3776882550001],
+      [108.576402695, 34.3750124100001],
+      [108.576233955, 34.37456286],
+      [108.5763244, 34.3740895650001],
+      [108.576653267, 34.37285625],
+      [108.578858205, 34.3705199950001],
+      [108.57914823, 34.3702126800001],
+      [108.580731615, 34.3685348750001],
+      [108.581886, 34.3678613750001],
+      [108.585797035, 34.365579385],
+      [108.586157175, 34.3656421420001],
+      [108.59104259, 34.3665107750001],
+      [108.593857135, 34.3667922750001],
+      [108.59453861, 34.36478514],
+      [108.59622303, 34.36083246],
+      [108.596393335, 34.3604940000001],
+      [108.59664016, 34.3604120200001],
+      [108.6024699, 34.3595434800001],
+      [108.607321737, 34.3603934400001],
+      [108.608143545, 34.360728495],
+      [108.61046519, 34.3596564100001],
+      [108.61079989, 34.359414255],
+      [108.612210505, 34.35839365],
+      [108.61308649, 34.357759835],
+      [108.614421085, 34.3567941800001],
+      [108.615071555, 34.35632351],
+      [108.615570605, 34.3559623950001],
+      [108.62270895, 34.3507965650001],
+      [108.62291971, 34.3505052250001],
+      [108.62310665, 34.3498194150001],
+      [108.623049715, 34.3493605470001],
+      [108.62131959, 34.34184594],
+      [108.620937005, 34.3415428700001],
+      [108.61890209, 34.3411375250001],
+      [108.61823199, 34.3411242440001],
+      [108.617589815, 34.3411115150001],
+      [108.61725477, 34.34110487],
+      [108.616756185, 34.340187965],
+      [108.617435885, 34.3377650200001],
+      [108.61765532, 34.33684945],
+      [108.6191445, 34.3306353770001],
+      [108.61918031, 34.33007582],
+      [108.619150652, 34.329942095],
+      [108.617247427, 34.32841474],
+      [108.601621075, 34.32352631],
+      [108.600080675, 34.323066155],
+      [108.599634105, 34.3225799100001],
+      [108.59965156, 34.321959635],
+      [108.600090385, 34.319074635],
+      [108.6000381, 34.3188337],
+      [108.60013477, 34.31777907],
+      [108.600551225, 34.313235735],
+      [108.60100613, 34.3122796000001],
+      [108.60116976, 34.3121663800001],
+      [108.60164334, 34.312134455],
+      [108.60472578, 34.3119266420001],
+      [108.605814195, 34.312132487],
+      [108.60662722, 34.3122862450001],
+      [108.60859968, 34.3127359900001],
+      [108.60990888, 34.3120575400001],
+      [108.61733638, 34.3032240250001],
+      [108.617508235, 34.3028169250001],
+      [108.61796892, 34.300934457],
+      [108.614278805, 34.2988365520001],
+      [108.61074668, 34.2961203850001],
+      [108.61043215, 34.29585007],
+      [108.608874595, 34.2945115200001],
+      [108.60838993, 34.2940949900001],
+      [108.605051135, 34.291225377],
+      [108.605016565, 34.2910305350001],
+      [108.605221555, 34.28945366],
+      [108.60556956, 34.2884898300001],
+      [108.611931145, 34.2785342400001],
+      [108.616671785, 34.2744042150001],
+      [108.616769285, 34.2743505070001],
+      [108.616949125, 34.2742514450001],
+      [108.617098133, 34.273996083],
+      [108.620086625, 34.268874485],
+      [108.620518215, 34.2680176550001],
+      [108.62320004, 34.259650655],
+      [108.623543945, 34.2585775800001],
+      [108.62061895, 34.2571233400001],
+      [108.618838255, 34.25662486],
+      [108.617596735, 34.25635859],
+      [108.61654152, 34.2561513800001],
+      [108.61518856, 34.2557519550001],
+      [108.613698505, 34.2552692300001],
+      [108.611026355, 34.254350135],
+      [108.60652608, 34.252473175],
+      [108.60165929, 34.250271535],
+      [108.599906875, 34.2494259150001],
+      [108.588625475, 34.2434199200001],
+      [108.58645927, 34.2422133600001],
+      [108.585167185, 34.24139187],
+      [108.583417965, 34.24023391],
+      [108.582382025, 34.2395736220001],
+      [108.58121194, 34.2389408550001],
+      [108.57959558, 34.2382286050001],
+      [108.577485922, 34.2373855600001],
+      [108.57548566, 34.2367460950001],
+      [108.5691288, 34.234780035],
+      [108.56748839, 34.2342786200001],
+      [108.56703942, 34.2341688600001],
+      [108.566073865, 34.2339328100001],
+      [108.563199575, 34.2333409350001],
+      [108.561571615, 34.233041095],
+      [108.558321375, 34.232456595],
+      [108.554839975, 34.231902565],
+      [108.544233185, 34.2304228400001],
+      [108.543308715, 34.230323415],
+      [108.53962463, 34.23007699],
+      [108.532951105, 34.2296685520001],
+      [108.526419935, 34.2291619550001],
+      [108.515961625, 34.228231685],
+      [108.509567825, 34.22759612],
+      [108.50166617, 34.2267364150001],
+      [108.501140075, 34.2266593250001],
+      [108.50081375, 34.2266055200001],
+      [108.500040407, 34.2262871350001],
+      [108.49581221, 34.2244521650001],
+      [108.49106189, 34.2220771],
+      [108.486044415, 34.2194809650001],
+      [108.48446417, 34.2185867100001],
+      [108.481916515, 34.21735848],
+      [108.47878262, 34.2159272100001],
+      [108.470180135, 34.2121664800001],
+      [108.464653755, 34.2102908900001],
+      [108.455195502, 34.20745852],
+      [108.45309573, 34.2068728],
+      [108.447514815, 34.2056043150001],
+      [108.44591381, 34.205422755],
+      [108.44025262, 34.2048597200001],
+      [108.437142765, 34.204633685],
+      [108.43360253, 34.204441477],
+      [108.4314269, 34.2044135850001],
+      [108.42422643, 34.2043275950001],
+      [108.42119226, 34.204293475],
+      [108.41505079, 34.20443877],
+      [108.410422005, 34.2047454350001],
+      [108.40596035, 34.2051539500001],
+      [108.40134918, 34.2056083000001],
+      [108.40057515, 34.205733835],
+      [108.399139512, 34.2059666650001],
+      [108.395447545, 34.2063791],
+      [108.387590795, 34.2071687700001],
+      [108.38560259, 34.2073040650001],
+      [108.38256441, 34.2073980970001],
+      [108.37935265, 34.2073590850001],
+      [108.378199875, 34.2072909570001],
+      [108.37628832, 34.207101735],
+      [108.372177885, 34.2064401050001],
+      [108.37058527, 34.2061724500001],
+      [108.370285155, 34.2061220100001],
+      [108.36849755, 34.2057569620001],
+      [108.366313895, 34.205272515],
+      [108.36450566, 34.20485775],
+      [108.36229706, 34.2042250470001],
+      [108.357501025, 34.2027666650001],
+      [108.35389494, 34.201611045],
+      [108.351057725, 34.20096434],
+      [108.347491295, 34.2002031150001],
+      [108.344909665, 34.1996833370001],
+      [108.34412956, 34.19952627],
+      [108.3417298, 34.199098135],
+      [108.33808522, 34.19871017],
+      [108.335911037, 34.1986437100001],
+      [108.330895945, 34.199234115],
+      [108.327298705, 34.1996958],
+      [108.320489365, 34.2008427100001],
+      [108.31483093, 34.2018733800001],
+      [108.31415911, 34.20204849],
+      [108.31333064, 34.2022644300001],
+      [108.308935805, 34.2038273920001],
+      [108.307213345, 34.204453325],
+      [108.30830688, 34.2061478700001],
+      [108.30860703, 34.20679878],
+      [108.30926401, 34.2128981050001],
+      [108.309317156, 34.2136378500001],
+      [108.30945229, 34.215519],
+      [108.30954258, 34.21677579],
+      [108.31006081, 34.2239886150001],
+      [108.31011053, 34.2246804550001],
+      [108.310165085, 34.2254397],
+      [108.310334385, 34.22779575],
+      [108.310432725, 34.229164095],
+      [108.310615405, 34.23331145],
+      [108.31053016, 34.23389668],
+      [108.3105075, 34.234052165],
+      [108.3090305, 34.2371139050001],
+      [108.30693059, 34.23902202],
+      [108.306689738, 34.2391717620001],
+      [108.306386877, 34.2393600550001],
+      [108.30435218, 34.2406250400001],
+      [108.301900727, 34.241597687],
+      [108.300399445, 34.24254713],
+      [108.29931162, 34.243950145],
+      [108.29871465, 34.2448476100001],
+      [108.298923283, 34.245443634],
+      [108.299817855, 34.247999215],
+      [108.300739242, 34.2484636980001],
+      [108.300996686, 34.248593478],
+      [108.3013513, 34.2487722400001],
+      [108.30189237, 34.249000955],
+      [108.30203373, 34.24905146],
+      [108.302903975, 34.249362385],
+      [108.30490848, 34.24983487],
+      [108.305154842, 34.2498681450001],
+      [108.306238055, 34.250292245],
+      [108.30681061, 34.2505827370001],
+      [108.30813526, 34.2514065450001],
+      [108.308957305, 34.2526856550001],
+      [108.309263146, 34.254710329],
+      [108.30981933, 34.2583921770001],
+      [108.310011573, 34.26001223],
+      [108.31014115, 34.2611041600001],
+      [108.310241315, 34.2623727000001],
+      [108.309777945, 34.2636953050001],
+      [108.309526775, 34.2638119000001],
+      [108.30534355, 34.2639072650001],
+      [108.302695905, 34.266608365],
+      [108.304019685, 34.2767073150001],
+      [108.304699015, 34.2780610250001],
+      [108.305292345, 34.2784927050001],
+      [108.30981846, 34.2817855000001],
+      [108.309485105, 34.2847790450001],
+      [108.30876032, 34.2912869150001],
+      [108.308700315, 34.2914910700001],
+      [108.30769277, 34.2937179050001],
+      [108.30685809, 34.29366593],
+      [108.30627499, 34.293697315],
+      [108.306090595, 34.2938153850001],
+      [108.30599572, 34.2940632],
+      [108.30555932, 34.2955807750001],
+      [108.305538815, 34.29622456],
+      [108.306040665, 34.29832407],
+      [108.3071323, 34.299553695],
+      [108.311371, 34.3021992000001],
+      [108.313431095, 34.3030964800001],
+      [108.316470095, 34.3037059750001],
+      [108.320715375, 34.30609923],
+      [108.32068725, 34.3080425000001],
+      [108.318995215, 34.310120915],
+      [108.31605554, 34.3122881250001],
+      [108.315879915, 34.31233975],
+      [108.31529811, 34.31232678],
+      [108.31465277, 34.31241792],
+      [108.314261715, 34.3125091650001],
+      [108.31384214, 34.3128663850001],
+      [108.313504014, 34.3137626700001],
+      [108.313284499, 34.314344545],
+      [108.312994415, 34.315113475],
+      [108.311923678, 34.3239685400001],
+      [108.311841075, 34.3246516250001],
+      [108.311921855, 34.3282135050001],
+      [108.31200192, 34.32843189],
+      [108.314369175, 34.3298376400001],
+      [108.31452993, 34.3299331000001],
+      [108.318328465, 34.33218858],
+      [108.322551855, 34.3332143000001],
+      [108.326448755, 34.3340782650001],
+      [108.329861555, 34.3390789650001],
+      [108.330015395, 34.3414674200001],
+      [108.330014285, 34.3417318100001],
+      [108.330252975, 34.341581665],
+      [108.330583125, 34.3414935650001],
+      [108.33157524, 34.34145684],
+      [108.331597545, 34.3414568900001],
+      [108.34144509, 34.3415797600001],
+      [108.34216445, 34.342838],
+      [108.34220111, 34.342873775],
+      [108.34867104, 34.3425791700001],
+      [108.354878205, 34.3335446400001],
+      [108.355158125, 34.333137165],
+      [108.355771555, 34.33203173],
+      [108.35930629, 34.3256612750001],
+      [108.361018305, 34.32551812],
+      [108.36288425, 34.3255590100001],
+      [108.36586963, 34.325754165],
+      [108.366181745, 34.3257772150001],
+      [108.36704886, 34.3261855700001],
+      [108.373278465, 34.3308078000001],
+      [108.37348866, 34.33104788],
+      [108.37371003, 34.3324491400001],
+      [108.373788595, 34.333144847],
+      [108.373788645, 34.3331452800001],
+      [108.373799742, 34.333243725],
+      [108.374001465, 34.3354715350001],
+      [108.37346911, 34.3445253250001],
+      [108.371817615, 34.34655121],
+      [108.38058875, 34.3472166400001],
+      [108.380838015, 34.3472373450001],
+      [108.380963585, 34.34724843],
+      [108.386478595, 34.34806616],
+      [108.388099315, 34.348306415],
+      [108.39173389, 34.349072875],
+      [108.39949317, 34.356987055],
+      [108.399501365, 34.3589727900001],
+      [108.39943647, 34.367000805],
+      [108.39934574, 34.37059112],
+      [108.396210755, 34.3706175450001],
+      [108.39617228, 34.3722400350001],
+      [108.39610169, 34.3756537900001],
+      [108.403167245, 34.3800127850001],
+      [108.406618175, 34.3821414700001],
+      [108.410168815, 34.3820949350001],
+      [108.416744735, 34.382008485],
+      [108.418180915, 34.38137153],
+      [108.418248105, 34.379520105],
+      [108.41830142, 34.3791516850001],
+      [108.41840003, 34.3789516000001],
+      [108.42029321, 34.378423925],
+      [108.427285575, 34.37682585],
+      [108.430809185, 34.376628915],
+      [108.43142093, 34.3765947150001],
+      [108.434093695, 34.376500295],
+      [108.436511695, 34.3772063700001],
+      [108.43665983, 34.3829402700001],
+      [108.436641895, 34.38408344],
+      [108.436272135, 34.384103275],
+      [108.43618294, 34.3861794650001],
+      [108.436211925, 34.3870670800001],
+      [108.437156125, 34.38767726],
+      [108.441568845, 34.388281965],
+      [108.44549154, 34.38828606],
+      [108.445530315, 34.38658066],
+      [108.44541914, 34.3838658500001],
+      [108.44526305, 34.3809687850001],
+      [108.445191985, 34.37978918],
+      [108.445002945, 34.3747401250001],
+      [108.452369745, 34.3714746000001],
+      [108.455844325, 34.3713078070001],
+      [108.45966428, 34.371863542],
+      [108.460928305, 34.3724652650001],
+      [108.4633228, 34.3736050800001],
+      [108.466790115, 34.3773103350001],
+      [108.468025475, 34.37846425],
+      [108.469480695, 34.3798234750001],
+      [108.46960023, 34.379935125],
+      [108.471366585, 34.381584875],
+      [108.471696425, 34.3818929350001],
+      [108.472429315, 34.3825774050001],
+      [108.47294077, 34.3830550600001],
+      [108.4795672, 34.38482056],
+      [108.48152854, 34.38481584],
+      [108.48459377, 34.3848245300001],
+      [108.484865005, 34.384834955],
+      [108.485784605, 34.3848714600001],
+      [108.485803885, 34.388115425],
+      [108.486168115, 34.3910626100001],
+      [108.4868083, 34.3934717000001],
+      [108.487253735, 34.394967755],
+      [108.490950515, 34.3951340350001],
+      [108.490969015, 34.395141456],
+      [108.493995045, 34.3963556150001],
+      [108.494448235, 34.396537445],
+      [108.504387365, 34.4005245750001],
+      [108.50688087, 34.4120218850001],
+      [108.507309445, 34.4139976700001],
+      [108.507813115, 34.416777515],
+      [108.507513835, 34.417222452],
+      [108.505834215, 34.41971949],
+      [108.505782475, 34.41972765],
+      [108.50378626, 34.419508455],
+      [108.50208401, 34.420657835],
+      [108.495109785, 34.427614915],
+      [108.494796055, 34.4303306250001],
+      [108.50168363, 34.43365648],
+      [108.503641838, 34.43460193],
+      [108.503829605, 34.4346925900001],
+      [108.505672185, 34.437733065],
+      [108.514935935, 34.439176165],
+      [108.517482265, 34.442234967],
+      [108.524185115, 34.4458906150001],
+      [108.530309125, 34.4470533350001],
+      [108.53103319, 34.44479843],
+      [108.53640766, 34.4454092400001],
+      [108.542372375, 34.4464114400001],
+      [108.54563319, 34.446959195],
+      [108.55155298, 34.447515255],
+      [108.55178608, 34.4463029300001],
+      [108.551793954, 34.446270935]
+    ]
+  },
+  "properties": { "bname": "兴平市", "resType": "0", "name": "610481" }
+}

Різницю між файлами не показано, бо вона завелика
+ 8 - 0
public/geojson/农村区段.geojson


Різницю між файлами не показано, бо вона завелика
+ 8 - 0
public/geojson/农村区段右岸.geojson


public/geojson/tuanjie.geojson → public/geojson/团结采砂区.geojson


public/geojson/longxing.geojson → public/geojson/坊龙兴1区采砂区.geojson


Різницю між файлами не показано, бо вона завелика
+ 8 - 0
public/geojson/城市核心区.geojson


Різницю між файлами не показано, бо вона завелика
+ 8 - 0
public/geojson/城市核心区右岸.geojson


public/geojson/yikong.geojson → public/geojson/宜空采砂区.geojson


Різницю між файлами не показано, бо вона завелика
+ 9 - 0
public/geojson/提防背河坡脚线.geojson


Різницю між файлами не показано, бо вона завелика
+ 3 - 2
public/geojson/hedaoguanli.geojson


Різницю між файлами не показано, бо вона завелика
+ 9 - 0
public/geojson/生态区界限.geojson


public/geojson/shengtaiqu.geojson → public/geojson/生态区界限2.geojson


+ 164 - 72
src/views/components/layerList/index.vue

@@ -12,7 +12,7 @@
     </div>
     </div>
 
 
     <div class="layer-list-panel-content" v-show="isExpanded">
     <div class="layer-list-panel-content" v-show="isExpanded">
-      <el-tree ref="treeRef" :data="treeData" show-checkbox node-key="id" :props="defaultProps" @check-change="onCheckChange" :default-expanded-keys="['1']">
+      <el-tree ref="treeRef" :data="treeData" show-checkbox node-key="id" :props="defaultProps" @check="onCheckChange" :default-expanded-keys="['1']">
         <template #default="{ node, data }">
         <template #default="{ node, data }">
           <span class="custom-tree-node">
           <span class="custom-tree-node">
             <span>{{ node.label }}</span>
             <span>{{ node.label }}</span>
@@ -27,7 +27,7 @@
 
 
 <script>
 <script>
 import * as mars3d from 'mars3d'
 import * as mars3d from 'mars3d'
-import {getHydrologicalList} from '@/api/hydrologicalStationApi'
+import { getHydrologicalList } from '@/api/hydrologicalStationApi'
 let layerCache = {}
 let layerCache = {}
 export default {
 export default {
   name: 'LayerListView',
   name: 'LayerListView',
@@ -45,15 +45,14 @@ export default {
               id: '1-1',
               id: '1-1',
               label: '生态区',
               label: '生态区',
               children: [
               children: [
-                { id: '1-1-1', label: '提防背河坡脚线', meta: { type: 'polyline', url: '/geojson/difangbeihe.geojson' } },
-                { id: '1-1-2', label: '河道管理范围线', meta: { type: 'polyline', url: '/geojson/hedaoguanli.geojson' } },
-                { id: '1-1-3', label: '一二级管控区界限', meta: { type: 'polyline', url: '/geojson/yijiguanxian.geojson' } },
-                { id: '1-1-4', label: '生态区界限', meta: { type: 'polyline', url: '/geojson/shengtaiqu.geojson' } },
-                { id: '1-1-5', label: '城市核心区', meta: { type: 'polyline', url: '/geojson/chengshihx.geojson' } },
-                { id: '1-1-6', label: '农村区段', meta: { type: 'polyline', url: '/geojson/nongcunqd.geojson' } },
-                { id: '1-1-7', label: '规划区', meta: { type: 'polyline', url: '/geojson/guihuaqu.geojson' } },
-                { id: '1-1-8', label: '城市核心区(右岸)', meta: { type: 'polyline', url: '/geojson/chengshihx_r.geojson' } },
-                { id: '1-1-9', label: '农村区段(右岸)', meta: { type: 'polyline', url: '/geojson/nongcunqd_r.geojson' } }
+                { id: '1-1-1', label: '提防背河坡脚线', meta: { type: 'polyline', url: '/geojson/提防背河坡脚线.geojson' } },
+                { id: '1-1-2', label: '河道管理范围线', meta: { type: 'polyline', url: '/geojson/河道管理范围线.geojson' } },
+                { id: '1-1-3', label: '一二级管控区界限', meta: { type: 'polyline', url: '/geojson/一二级管控区界限.geojson' } },
+                { id: '1-1-4', label: '生态区界限', meta: { type: 'polyline', url: '/geojson/生态区界限.geojson' } },
+                { id: '1-1-5', label: '城市核心区', meta: { type: 'polyline', url: '/geojson/城市核心区.geojson' } },
+                { id: '1-1-6', label: '农村区段', meta: { type: 'polyline', url: '/geojson/农村区段.geojson' } },
+                { id: '1-1-8', label: '城市核心区(右岸)', meta: { type: 'polyline', url: '/geojson/城市核心区右岸.geojson' } },
+                { id: '1-1-9', label: '农村区段(右岸)', meta: { type: 'polyline', url: '/geojson/农村区段右岸.geojson' } }
               ]
               ]
             },
             },
             { id: '1-2', label: '监测设备' },
             { id: '1-2', label: '监测设备' },
@@ -73,9 +72,9 @@ export default {
           id: '3',
           id: '3',
           label: '采砂区',
           label: '采砂区',
           children: [
           children: [
-            { id: '3-1', label: '兴平市宜空采砂区', meta: { type: 'polygon', url: '/geojson/yikong.geojson' } },
-            { id: '3-2', label: '兴平市团结采砂区', meta: { type: 'polygon', url: '/geojson/tuanjie.geojson' } },
-            { id: '3-3', label: '兴平市汤坊龙兴1区采砂区', meta: { type: 'polygon', url: '/geojson/longxing.geojson' } }
+            { id: '3-1', label: '兴平市宜空采砂区', meta: { type: 'polygon', url: '/geojson/宜空采砂区.geojson' } },
+            { id: '3-2', label: '兴平市团结采砂区', meta: { type: 'polygon', url: '/geojson/团结采砂区.geojson' } },
+            { id: '3-3', label: '兴平市汤坊龙兴1区采砂区', meta: { type: 'polygon', url: '/geojson/坊龙兴1区采砂区.geojson' } }
           ]
           ]
         },
         },
         {
         {
@@ -119,8 +118,8 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
-    getHydrologicalList(){
-      getHydrologicalList().then((res)=>{
+    getHydrologicalList() {
+      getHydrologicalList().then((res) => {
         console.info(res)
         console.info(res)
       })
       })
     },
     },
@@ -134,78 +133,157 @@ export default {
       this.isExpanded = !this.isExpanded
       this.isExpanded = !this.isExpanded
     },
     },
 
 
-    async onCheckChange(node, checked) {
-      const checkedNodes = this.$refs.treeRef.getCheckedNodes()
-      this.checkedNodes = []
-      checkedNodes.map((item) => {
-        if (item.type && item.type == 'plan' && !item.children) {
-          this.checkedNodes.push(item)
-        }
-      })
+    async onCheckChange(node, checkData) {
+      const { checkedKeys, checkedNodes } = checkData
       const id = node.id
       const id = node.id
-      if (checked) {
-        if (node.type && node.type == 'plan') {
+      const isChecked = checkedKeys.includes(id)
+
+      // 维护选中的预案节点
+      this.checkedNodes = checkedNodes.filter((item) => item.type === 'plan' && !item.children)
+
+      // ================== 选中 ==================
+      if (isChecked) {
+        if (node.type === 'plan') {
           this.$globalEventBus.$emit('showPlanDialog', { list: this.checkedNodes })
           this.$globalEventBus.$emit('showPlanDialog', { list: this.checkedNodes })
-        } else {
-          if (!node.meta?.url) {
-            return
-          }
-          // 已缓存直接显示
+          return
+        }
+
+        if (node.children?.length) {
+          // 递归加载所有叶子节点
+          await this.loadAllLeafLayers(node.children)
+          return
+        }
+
+        if (node.meta?.url) {
           if (layerCache[id]) {
           if (layerCache[id]) {
             layerCache[id].show = true
             layerCache[id].show = true
-            return
-          }
-          // 开始加载
-          this.$set(node, 'loading', true)
-          this.$set(node, 'error', '')
-          try {
-            const layer = new mars3d.layer.GeoJsonLayer({
-              id: node.id,
-              name: node.label,
-              url: node.meta.url,
-              crs: 'EPSG:4326',
-              clampToGround: true,
-              symbol: this.getStyleByName(node.label),
-              flyTo: true
-            })
-            window.map.addLayer(layer)
-            this.bindEvent(layer)
-            layerCache[id] = layer
-            // 父子关联:勾选子节点时,父节点作为 groupId
-            const parent = this.$refs.treeRef.getNode(id).parent
-            if (parent && parent.data.id) {
-              layer.options.parentId = parent.data.id
-            }
-          } catch (e) {
-            this.$set(node, 'error', e.message || '加载失败')
-          } finally {
-            this.$set(node, 'loading', false)
+          } else {
+            await this.loadGeoJsonLayer(node)
           }
           }
         }
         }
-      } else {
-        // 取消勾选 -> 销毁
-        if (node.type && node.type == 'plan') {
+      }
+      // ================== 取消选中 ==================
+      else {
+        if (node.type === 'plan') {
           this.$globalEventBus.$emit('showPlanDialog', { list: this.checkedNodes })
           this.$globalEventBus.$emit('showPlanDialog', { list: this.checkedNodes })
-        } else {
-          if (layerCache[id]) {
-            window.map.removeLayer(layerCache[id])
-            delete layerCache[id]
+          return
+        }
+
+        if (node.children?.length) {
+          // 递归删除所有叶子节点
+          this.removeAllLeafLayers(node.children)
+          return
+        }
+
+        this.removeLayer(id)
+      }
+    },
+
+    // 批量加载叶子节点
+    async loadAllLeafLayers(children) {
+      for (const child of children) {
+        if (child.children?.length) {
+          await this.loadAllLeafLayers(child.children)
+        } else if (child.meta?.url) {
+          if (layerCache[child.id]) {
+            layerCache[child.id].show = true
+          } else {
+            await this.loadGeoJsonLayer(child)
           }
           }
         }
         }
       }
       }
     },
     },
+
+    // 批量删除叶子节点
+    removeAllLeafLayers(children) {
+      for (const child of children) {
+        if (child.children?.length) {
+          this.removeAllLeafLayers(child.children)
+        } else {
+          this.removeLayer(child.id)
+        }
+      }
+    },
+
+    // 删除图层的通用方法
+    removeLayer(id) {
+      if (layerCache[id]) {
+        try {
+          window.map.removeLayer(layerCache[id])
+        } catch (e) {
+          console.warn(`removeLayer failed: ${id}`, e)
+        }
+        delete layerCache[id]
+      }
+    },
+
+    // 加载GeoJson图层的通用方法
+    async loadGeoJsonLayer(node) {
+      const id = node.id
+      if (layerCache[id]) {
+        layerCache[id].show = true
+        return
+      }
+      this.$set(node, 'loading', true)
+      this.$set(node, 'error', '')
+      try {
+        const layer = new mars3d.layer.GeoJsonLayer({
+          id,
+          name: node.label,
+          url: node.meta.url,
+          clampToGround: true,
+          symbol: this.getStyleByName(node.label),
+          flyTo: true
+        })
+        window.map.addLayer(layer)
+        this.bindEvent(layer)
+        layerCache[id] = layer
+
+        // 父子关联
+        const parent = this.$refs.treeRef.getNode(id).parent
+        if (parent?.data?.id) {
+          layer.options.parentId = parent.data.id
+        }
+      } catch (e) {
+        this.$set(node, 'error', e.message || '加载失败')
+      } finally {
+        this.$set(node, 'loading', false)
+      }
+    },
     getStyleByName(name) {
     getStyleByName(name) {
       if (name === '生态区界限') {
       if (name === '生态区界限') {
-        return { type: 'polyline', styleOptions: { color: '#0c5b0f', width: 4 } }
+        return { type: 'polyline', styleOptions: { color: '#0c5b0f', width: 2 } }
       } else if (name === '提防背河坡脚线') {
       } else if (name === '提防背河坡脚线') {
-        return { type: 'polyline', styleOptions: { color: '#ee8a11', width: 4 } }
+        return { type: 'polyline', styleOptions: { color: '#c53632', width: 2 } }
       } else if (name === '河道管理范围线') {
       } else if (name === '河道管理范围线') {
+        return { type: 'polyline', styleOptions: { color: '#12641c', width: 2 } }
+      } else if (name === '一二级管控区界限') {
         return {
         return {
           type: 'polyline',
           type: 'polyline',
-          styleOptions: { width: 4, materialType: mars3d.MaterialType.PolylineDash, materialOptions: { color: '#0c5b0f', dashLength: 40 } }
+          styleOptions: { width: 2, materialType: mars3d.MaterialType.PolylineDash, materialOptions: { color: '#12641c', dashLength: 60 } }
+        }
+      } else if (name === '城市核心区' || name === '农村区段') {
+        return {
+          type: 'polygon',
+          styleOptions: {
+            color: '#194830',
+            opacity: 0.6,
+            outline: true,
+            outlineWidth: 1,
+            outlineColor: '#57e0a9'
+          }
+        }
+      } else if (name === '城市核心区(右岸)' || name === '农村区段(右岸)') {
+        return {
+          type: 'polygon',
+          styleOptions: {
+            color: '#368d63',
+            opacity: 0.3,
+            outline: true,
+            outlineWidth: 1,
+            outlineColor: '#57e0a9'
+          }
         }
         }
-      } else if (name === '一二级管控区界限') {
-        return { type: 'polyline', styleOptions: { color: '#db7f06', width: 4 } }
       } else if (name.indexOf('水文') > -1) {
       } else if (name.indexOf('水文') > -1) {
         return {
         return {
           type: 'billboard',
           type: 'billboard',
@@ -237,12 +315,23 @@ export default {
     },
     },
     // 处理水文站数据
     // 处理水文站数据
     handleData(isShow) {
     handleData(isShow) {
+      console.log(isShow,11111111111)
       const nodeIds = ['2-1', '2-2']
       const nodeIds = ['2-1', '2-2']
       this.$nextTick(() => {
       this.$nextTick(() => {
         nodeIds.forEach((id) => {
         nodeIds.forEach((id) => {
-          this.$refs.treeRef.setChecked(id, isShow)
           const node = this.$refs.treeRef.getNode(id)
           const node = this.$refs.treeRef.getNode(id)
-          this.onCheckChange(node.data, isShow)
+          if (!node) return
+          // 直接修改 checked 状态
+          this.$refs.treeRef.setChecked(node, isShow)
+          // 手动触发 check 事件
+          this.$refs.treeRef.$emit(
+            'check',
+            node.data, // 选中的节点数据
+            {
+              checkedKeys: this.$refs.treeRef.getCheckedKeys(),
+              checkedNodes: this.$refs.treeRef.getCheckedNodes()
+            }
+          )
         })
         })
       })
       })
     },
     },
@@ -259,6 +348,9 @@ export default {
   },
   },
   destroyed() {
   destroyed() {
     this.$globalEventBus.$off('closePlanDialog')
     this.$globalEventBus.$off('closePlanDialog')
+    this.$globalEventBus.$off('toggleLeftPanel')
+    // 把图层上绑定的事件也清掉
+    Object.values(layerCache).forEach((l) => l.off('click'))
   }
   }
 }
 }
 </script>
 </script>

+ 5 - 5
src/views/index.vue

@@ -9,7 +9,7 @@
           <keep-alive>
           <keep-alive>
             <MainMap :mapKey="mapName" :url="configUrl" :options="mapOptions" @onload="onMapload" />
             <MainMap :mapKey="mapName" :url="configUrl" :options="mapOptions" @onload="onMapload" />
           </keep-alive>
           </keep-alive>
-          <MapTools/>
+          <MapTools />
           <LayerListPanel v-if="mapLoaded"></LayerListPanel>
           <LayerListPanel v-if="mapLoaded"></LayerListPanel>
           <SandMonitorLeft v-if="mainMenu === 'sandMonitor'"></SandMonitorLeft>
           <SandMonitorLeft v-if="mainMenu === 'sandMonitor'"></SandMonitorLeft>
           <SandMonitorRight v-if="mainMenu === 'sandMonitor'"></SandMonitorRight>
           <SandMonitorRight v-if="mainMenu === 'sandMonitor'"></SandMonitorRight>
@@ -20,9 +20,9 @@
           <HydrologicInfo v-if="mainMenu === 'hydrologicInfo'"></HydrologicInfo>
           <HydrologicInfo v-if="mainMenu === 'hydrologicInfo'"></HydrologicInfo>
           <SmartEarlyWarning v-if="mainMenu === 'smartEarlyWarning'" />
           <SmartEarlyWarning v-if="mainMenu === 'smartEarlyWarning'" />
           <WaterStationPopup />
           <WaterStationPopup />
-          <VideoPlay/>
-          <PlanDialog/>
-          <AnnounceDetailPopup/>
+          <VideoPlay />
+          <PlanDialog />
+          <AnnounceDetailPopup />
         </div>
         </div>
       </el-main>
       </el-main>
     </el-container>
     </el-container>
@@ -70,7 +70,7 @@ export default {
       mapName: 'cMap',
       mapName: 'cMap',
       configUrl: basePathUrl + 'config/config.json',
       configUrl: basePathUrl + 'config/config.json',
       mapOptions: {
       mapOptions: {
-        scene: { center: { lat: 34.203789, lng: 108.30656, alt: 36020, heading: 0.8, pitch: -85.9 } },
+        scene: { center: { lat: 34.213581, lng: 108.445216, alt: 36023.4, heading: 0.8, pitch: -85.9 } },
         basemaps: [
         basemaps: [
           //   {
           //   {
           //     name: "天地图电子",
           //     name: "天地图电子",

+ 0 - 121
src/views/video-manage/index.vue

@@ -1,121 +0,0 @@
-<template>
-  <div class=""></div>
-</template>
-
-<script>
-export default {
-  name: 'ViewManage'
-}
-</script>
-
-<style scoped lang="scss"></style>
-
-<!-- <template>
-  <div style="width: 100%; height: 100%" ref="remoteLayout">
-    <RemoteComponentsLoader v-if="components['common-comp-video']" :config="components['common-comp-video']" />
-  </div>
-</template>
-<script>
-import RemoteComponentsLoader from '@ct/remote-page-loader/remote-page-loader.umd.js'
-import { loadSpaceShardAsync } from '@ct/remote-page-loader/utils/remote-loader'
-// 远程组件配置
-const remoteComp = { 'common-comp-video': { uniqueId: '2024060188028', version: '1.7.10' } }
-
-export default {
-  name: 'ViewManage',
-  components: { RemoteComponentsLoader },
-  data() {
-    return {
-      loaded: false,
-      components: {}
-    }
-  },
-  async mounted() {
-    const { data } = await this.getFisUrl()
-    const { configValue } = data || {}
-    // console.log('当前配置远程域名为:', configValue)
-    await this.getRemoteComps(configValue)
-  },
-  beforeDestroy() {
-    const htmlElement = document.documentElement
-    htmlElement.style.fontSize = `calc((100vh / 1080) * 100 * (1080 / 1028))`
-  },
-  methods: {
-    // 远程组件加载完成回调
-    remoteFulfilled(payload) {
-      this.$nextTick(() => {
-        this.registerMiddleWare.push(payload.payload.name)
-      })
-    },
-    getFisUrl() {
-      return window.requestSDK('/admin/system/config/base/detail/businessComponentFilsUrl', {}, {}, 'get')
-    },
-    async getRemoteComps(configValue) {
-      const param = {
-        components: Object.values(remoteComp)
-      }
-      console.log('Minami', remoteComp, param)
-      window
-        .requestSDK(configValue || '/component-gallery/api/business/files', param, {}, 'post')
-        .then(async (resp) => {
-          const { code, data } = resp
-          if (code && code === 200) {
-            const baseCompObj = {
-              name: 'RemoteComponentsLoader',
-              config: {
-                name: '',
-                description: '',
-                js: '',
-                css: ''
-              }
-            }
-            const keys = Object.keys(data)
-            const remotes = keys.map((key) => {
-              const { js, css } = data[key]
-              return {
-                ...baseCompObj,
-                config: {
-                  name: key,
-                  css,
-                  js
-                }
-              }
-            })
-            const resp = await loadSpaceShardAsync({ data: remotes })
-            this.$nextTick(() => {
-              const obj = {}
-              resp.forEach((o) => {
-                obj[o.config.name] = o.config
-              })
-              this.components = obj
-              this.loaded = true
-            })
-            return
-          }
-
-          this.$notify.error({
-            title: `获取远程组件失败`,
-            message: `获取远程组件失败`
-          })
-        })
-        .catch((err) => {
-          const { title, message } = err
-          this.$notify.error({
-            title: `${title}`,
-            message: `${message}`
-          })
-        })
-        .finally(() => {
-          false
-        })
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-@import '@/assets/scss/px-to-rem';
-
-.container {
-  height: 100%;
-}
-</style> -->