jihongshun
4 天以前 71627d89045c5bf3c50030751d93ae519f5dbb8d
航点列表 中化建 右侧联动 待测试联调
已添加6个文件
已修改2个文件
384 ■■■■■ 文件已修改
src/assets/images/photo.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/startVideo.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/stopVideo.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/xuanting.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/zoom.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/全景拍照.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/components/init-map.vue 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/shootPoint/components/shootPointDialog.vue 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/images/photo.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_22_02"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_22_02)"><g><g style="opacity:0.800000011920929;"><rect x="0" y="0" width="32" height="32" rx="4" fill="#040000" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g><g><path d="M24.242764,24.326496L23.374035,24.326496L8.6061809,24.326496L8.6061809,24.326496L7.7374539,24.326496C6.77790034,24.326496,6,23.550777,6,22.593856000000002L6,10.8984284C6,9.941505,6.77790087,9.1657875,7.7374539,9.1657875L8.6060688,9.1657875L8.6060688,9.1657875L11.4294114,9.1657875L12.515215399999999,7.43314636C12.515215399999999,7.1939083,13.1441178,7,13.3840547,7L18.596166,7C18.835962000000002,7,19.464892,7.1939083,19.464892,7.43314636L20.55078,9.1657875L23.374037,9.1657875L24.242765,9.1657875C25.20232,9.1657875,25.980108,9.9415054,25.980108,10.8984284L25.980108,22.593856000000002C25.980106,23.550777,25.202318,24.326496,24.242764,24.326496ZM15.9900942,10.8984284C12.8716373,10.8984284,10.3434949,13.4195743,10.3434949,16.5296097C10.3434949,19.639673000000002,12.8716373,22.160679000000002,15.9900942,22.160679000000002C19.108468000000002,22.160679000000002,21.63647,19.639673000000002,21.636581,16.5298328L21.636581,16.529385599999998C21.63647,13.4194632,19.108469,10.8984284,15.9900942,10.8984284ZM15.9900942,20.428039C13.8310781,20.428039,12.0809488,18.682722,12.0809488,16.5296097C12.0809488,14.3766098,13.8310781,12.631181699999999,15.9900942,12.631181699999999C18.149027,12.631181699999999,19.89924,14.3766098,19.89924,16.5296097C19.89924,18.682722,18.149027,20.428039,15.9900942,20.428039Z" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
src/assets/images/startVideo.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_22_33"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_22_33)"><g><g style="opacity:0.800000011920929;"><rect x="0" y="0" width="32" height="32" rx="4" fill="#040000" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g><g><g><path d="M20,8L3,8C2.4499999900000002,8,2,8.44999999,2,9L2,22C2,22.55,2.4499999900000002,23,3,23L20,23C20.549999,23,21,22.55,21,22L21,9C21,8.44999999,20.549999,8,20,8ZM14.78,15.8600001L8.0699997,19.21C7.7999997,19.34,7.4899998,19.15,7.4899998,18.85L7.4899998,12.1400003C7.4899998,11.840000400000001,7.7999997,11.6500003,8.0699997,11.7800002L14.78,15.1300001C15.07,15.2800002,15.07,15.7000003,14.78,15.850000399999999L14.78,15.8600001Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><path d="M28.6000004,22.399946484375L22,18.679946484375L22,12.329946484375L28.6000004,8.609946489375C29.2600002,8.319946494375,30,8.809946474375,30,9.529946584375L30,21.489946484375C30,22.209947484375,29.2600002,22.689947484375,28.6000004,22.409946484375L28.6000004,22.399946484375Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></g></svg>
src/assets/images/stopVideo.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_22_25"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_22_25)"><g><g style="opacity:0.800000011920929;"><rect x="0" y="0" width="32" height="32" rx="4" fill="#040000" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g><g><g><path d="M20,8L3,8C2.4499999900000002,8,2,8.44999999,2,9L2,22C2,22.55,2.4499999900000002,23,3,23L20,23C20.549999,23,21,22.55,21,22L21,9C21,8.44999999,20.549999,8,20,8ZM15.5,19.1C15.5,19.320000999999998,15.32,19.5,15.1,19.5L7.9000006,19.5C7.6800008,19.5,7.5000005,19.32,7.5000005,19.1L7.5000005,11.9000001C7.5000005,11.6800001,7.6800003,11.5,7.9000006,11.5L15.1,11.5C15.320001,11.5,15.5,11.6800001,15.5,11.9000001L15.5,19.1Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><path d="M28.6000004,22.399946484375L22,18.679946484375L22,12.329946484375L28.6000004,8.609946489375C29.2600002,8.319946494375,30,8.809946474375,30,9.529946584375L30,21.489946484375C30,22.209947484375,29.2600002,22.689947484375,28.6000004,22.409946484375L28.6000004,22.399946484375Z" fill="#FFFFFF" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></g></svg>
src/assets/images/xuanting.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_22_06"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_22_06)"><g><g style="opacity:0.800000011920929;"><rect x="0" y="0" width="32" height="32" rx="4" fill="#040000" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g><g><path d="M25.00415,13.966818C24.307056,14.083,23.726143,13.618271,23.609959,13.037357C23.493774,12.456446,23.958508,11.7593498,24.539421,11.6431675C25.236515,11.5269833,25.933613,11.1784363,26.514523,10.5975246C27.908714,9.2033329,27.908714,6.8796825,26.514523,5.4854908C25.120331,4.0912991000000005,22.79668,4.0912991000000005,21.402489,5.4854908C20.821575,6.0664043,20.47303,6.647316,20.356846,7.4605942C20.240662,8.0415077,19.659748,8.506236999999999,18.962654,8.3900547C18.381744,8.2738724,17.917012,7.6929607,18.033195,6.995863C18.26556,5.717855500000001,18.846474,4.6722107,19.659748,3.7427520999999997C20.821575,2.5809269,22.331947,2.00001335144,23.842323,2.00001335144C25.352695,2.00001335144,26.863071,2.5809269,28.024895,3.7427520999999997C30.348545,6.0664043,30.348545,9.9004288,28.024895,12.224081C27.327801,13.153542,26.282158,13.734455,25.00415,13.966818ZM13.037345,8.3900547C12.340249,8.5062389,11.7593365,8.0415077,11.6431541,7.4605942C11.5269718,6.7635002,11.1784239,6.0664024,10.5975113,5.4854908C9.20332,4.0912991000000005,6.8796687,4.0912991000000005,5.485477700000001,5.4854908C4.0912869,6.8796825,4.0912869,9.2033329,5.485477700000001,10.5975246C6.0663905,11.1784382,6.6473036,11.5269852,7.4605813,11.6431675C8.041493899999999,11.7593498,8.5062246,12.340263,8.390041799999999,13.037357C8.2738595,13.618271,7.6929469,14.083,6.995851,13.966818C5.7178426,13.734453,4.6721992,13.153542,3.7427387000000003,12.340263C1.41908717,10.0166111,1.41908717,6.1825867,3.7427387000000003,3.8589363C4.9045646000000005,2.6971092199999998,6.414938,2.11619568,7.9253116,2.11619568C9.4356847,2.11619568,10.9460583,2.6971092199999998,12.107883,3.8589363C13.037345,4.7883968,13.618258,5.8340378,13.734439,7.1120472C13.734375,7.5001221,13.618258,8.2738724,13.037345,8.3900547ZM8.854743,7.1120977L10.0135956,8.2709508L8.3870392,9.897506700000001L7.2281866,8.7386541C6.7634559,8.273923400000001,6.7634559,7.576828,7.2281866,7.1120977C7.6929169,6.647367,8.5061951,6.647367,8.854743,7.1120977ZM24.887936,8.738655099999999L23.904972,9.7216187L22.278416,8.0950632L23.261379,7.1120992C23.72611,6.6473689,24.423204,6.6473694,24.887936,7.1120992C25.352667,7.5768294,25.352667,8.2739248,24.887936,8.738655099999999ZM10.9995117,20.000122L10.9995117,12.000122Q10.9995117,11.9016304,11.0187254,11.8050308Q11.03794,11.7084312,11.0756311,11.6174374Q11.1133213,11.5264435,11.1680412,11.4445505Q11.2227592,11.3626575,11.2924042,11.2930145Q11.3620472,11.2233706,11.4439402,11.1686516Q11.5258331,11.1139326,11.616827,11.0762415Q11.7078209,11.0385513,11.8044205,11.0193367Q11.9010201,11.0001221,11.9995117,11.0001221L12.999512,11.0001221Q13.098002,11.0001221,13.194601,11.0193367Q13.291201,11.0385513,13.382195,11.0762415Q13.473188,11.1139326,13.555081,11.1686516Q13.636973,11.2233706,13.706617,11.2930145Q13.776261,11.3626575,13.83098,11.4445505Q13.885699,11.5264435,13.92339,11.6174374Q13.961082,11.7084312,13.980297,11.8050308Q13.999512,11.9016304,13.999512,12.000122L13.999512,20.000122Q13.999512,20.098612,13.980297,20.195211Q13.961082,20.291809,13.92339,20.382805Q13.8857,20.473799,13.830981,20.555691Q13.776262,20.637585,13.706618,20.707228Q13.636974,20.776871,13.555081,20.831591Q13.473188,20.886309,13.382195,20.924Q13.291201,20.961693,13.194601,20.980907Q13.098002,21.000122,12.999512,21.000122L11.9995117,21.000122Q11.9010201,21.000122,11.8044205,20.980907Q11.7078209,20.961693,11.616827,20.924Q11.5258331,20.886309,11.4439402,20.831589Q11.3620472,20.776871,11.2924042,20.707228Q11.2227592,20.637585,11.1680412,20.555691Q11.1133213,20.473797,11.0756311,20.382803Q11.03794,20.291809,11.0187254,20.19521Q10.9995117,20.098612,10.9995117,20.000122ZM17.999512,20.000122L17.999512,12.000122Q17.999512,11.9016304,18.018726,11.8050308Q18.037939,11.7084312,18.07563,11.6174374Q18.113321,11.5264435,18.168039,11.4445505Q18.222759,11.3626575,18.292404,11.2930145Q18.362049,11.2233706,18.443939,11.1686516Q18.525833,11.1139326,18.616825,11.0762415Q18.707821,11.0385513,18.804419,11.0193367Q18.90102,11.0001221,18.999512,11.0001221L19.999512,11.0001221Q20.098001,11.0001221,20.194599,11.0193367Q20.291199,11.0385513,20.382193,11.0762415Q20.473186,11.1139326,20.55508,11.1686516Q20.636974,11.2233706,20.706617,11.2930145Q20.77626,11.3626575,20.83098,11.4445505Q20.885698,11.5264435,20.923389,11.6174374Q20.961082,11.7084312,20.980297,11.8050308Q20.999512,11.9016304,20.999512,12.000122L20.999512,20.000122Q20.999512,20.098612,20.980297,20.195211Q20.961082,20.291809,20.923389,20.382805Q20.885698,20.473799,20.83098,20.555691Q20.77626,20.637585,20.706617,20.707228Q20.636974,20.776871,20.55508,20.831591Q20.473188,20.886309,20.382195,20.924Q20.291199,20.961693,20.194601,20.980907Q20.098001,21.000122,19.999512,21.000122L18.999512,21.000122Q18.90102,21.000122,18.804419,20.980907Q18.707821,20.961693,18.616825,20.924Q18.525833,20.886309,18.443939,20.831589Q18.362049,20.776871,18.292404,20.707228Q18.222759,20.637585,18.168041,20.555691Q18.113321,20.473797,18.07563,20.382803Q18.037939,20.291809,18.018726,20.19521Q17.999512,20.098612,17.999512,20.000122ZM12.999512,23.610107C12.302416,23.493923,11.7593365,23.958614,11.6431541,24.539528C11.5269718,25.236622,11.1784239,25.93372,10.5975113,26.514631C9.20332,27.908823,6.8796687,27.908823,5.485477700000001,26.514631C4.0912869,25.12044,4.0912869,22.796789,5.485477700000001,21.402597C6.0663905,20.821684,6.6473036,20.473137,7.4605813,20.356955C8.041493899999999,20.240772,8.5062246,19.659859,8.390041799999999,18.962765C8.2738595,18.381851,7.6929469,17.917122,6.995851,18.033304C5.7178426,18.265669,4.6721992,18.846581,3.7427387000000003,19.659859C1.41908717,21.983511,1.41908717,25.817535,3.7427387000000003,28.141186C4.9045646000000005,29.303013,6.414938,29.883926,7.9253116,29.883926C9.4356847,29.883926,10.9460583,29.303013,12.107883,28.141186C13.037345,27.211725,13.618258,26.166084,13.734439,24.888075C13.734375,24.500122,13.580424,23.72629,12.999512,23.610107ZM25.00415,18.033304C24.307056,17.917122,23.726143,18.381851,23.609959,18.962765C23.493774,19.543676,23.958508,20.240772,24.539421,20.356955C25.236515,20.473139,25.933613,20.821686,26.514523,21.402597C27.908714,22.796789,27.908714,25.12044,26.514523,26.514631C25.120331,27.908823,22.79668,27.908823,21.402489,26.514631C20.821575,25.933718,20.47303,25.352806,20.356846,24.539528C20.240662,23.958614,19.659748,23.493885,18.962654,23.610067C18.381744,23.72625,17.917012,24.307161,18.033195,25.004259C18.26556,26.282267,18.846474,27.327911,19.659748,28.25737C20.821575,29.419195,22.331947,30.000109,23.842323,30.000109C25.352695,30.000109,26.863071,29.419195,28.024895,28.25737C30.348545,25.933718,30.348545,22.099693,28.024895,19.776041C27.327801,18.846581,26.282158,18.265667,25.00415,18.033304ZM7.2281866,23.145294L8.2854338,22.088047L9.9119892,23.714602L8.8547425,24.771849C8.622377400000001,25.004215,8.2738295,25.120396,8.041464300000001,25.120396C7.8090992,25.120396,7.4605517,25.004215,7.2281866,24.771849C6.7634559,24.307119,6.7634559,23.610025,7.2281866,23.145294ZM23.261379,24.771849L22.235003,23.745472L23.861559,22.118916L24.887936,23.145294C25.352667,23.610025,25.352667,24.307119,24.887936,24.771849C24.655571,25.004215,24.307022,25.120396,24.074657,25.120396C23.842293,25.120396,23.493744,25.004215,23.261379,24.771849Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
src/assets/images/zoom.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_22_11"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_22_11)"><g><g style="opacity:0.800000011920929;"><rect x="0" y="0" width="32" height="32" rx="4" fill="#040000" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g><g><path d="M2.96109998,10.8953848C1.2671873599999999,15.228209,1.83621815,20.119452,4.4795618,23.947691L12.502638,22.063078L2.96109998,10.8953848ZM28.656485,22.009232L23.002638,16L18.156485,29.838463C22.756777,29.144409,26.711777,26.210447,28.710329,22.009232L28.656485,22.009232ZM3.3487923,9.9907694L9.002638300000001,16L13.902638,2.16153847C9.302345800000001,2.85559273,5.3473468,5.7895563,3.3487923,9.9907694ZM5.0611,24.733847C7.7176781,28.061918,11.7444506,30,16.002637999999997,30L17.079560999999998,30L19.45956,22.106153L5.0611,24.733847ZM26.944178,7.2661538C24.287598,3.9380826,20.260824,2,16.002637999999997,2L14.925715,2L12.513407,9.936923L26.944178,7.2661538ZM29.044178,21.104614C30.738089,16.771791,30.16906,11.8805494,27.525715,8.0523071L19.502638,9.936923L29.044178,21.104614Z" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
src/assets/images/È«¾°ÅÄÕÕ.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="32" height="32" viewBox="0 0 32 32"><defs><clipPath id="master_svg0_22_19"><rect x="0" y="0" width="32" height="32" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_22_19)"><g><g style="opacity:0.800000011920929;"><rect x="0" y="0" width="32" height="32" rx="4" fill="#040000" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g><g><path d="M14.587724,9.9868422L17.504391,9.9868422C17.657899999999998,9.9868422,17.811408,9.9868422,17.964917,9.833333C18.118427,9.679824400000001,18.118427,9.679824400000001,18.118427,9.526315199999999L18.118427,6.7631578C18.118427,6.6096494,18.118427,6.4561399999999995,17.964917,6.4561399999999995C17.964917,6.4561399999999995,17.811408,6.3026316,17.657899999999998,6.3026316L15.355268,6.3026316L15.355268,5.0745611L16.890356,5.0745611L16.890356,5.9956138L18.118427,5.9956138L18.118427,4.46052632C18.118427,4.30701777,18.118427,4.30701777,17.964917,4.15350853C17.811408,4,17.811408,4,17.657899999999998,4L14.741233,4C14.587724,4,14.434216,4,14.280706,4.15350853C14.127197,4.30701706,14.127197,4.30701706,14.127197,4.46052632L14.127197,9.3728065C14.127197,9.526315199999999,14.127197,9.679824400000001,14.280706,9.679824400000001C14.280706,9.9868422,14.434216,9.9868422,14.587724,9.9868422ZM18.886063,9.9868422L21.649223,9.9868422C21.802731,9.9868422,21.956242,9.9868422,22.109749,9.833333C22.263256,9.679824400000001,22.263256,9.679824400000001,22.263256,9.526315199999999L22.263256,4.61403483C22.263256,4.46052632,22.263256,4.30701706,22.109749,4.15350853C21.956242,4,21.802731,4,21.649223,4L18.886065,4C18.732555,4,18.579048,4,18.425537,4.15350853C18.27203,4.30701706,18.27203,4.30701706,18.27203,4.46052632L18.27203,9.2192988C18.27203,9.372807,18.27203,9.526316600000001,18.425537,9.679824799999999C18.579048,9.9868422,18.732555,9.9868422,18.886063,9.9868422ZM13.666765,9.833333C13.820274,9.679824400000001,13.820274,9.679824400000001,13.820274,9.526315199999999L13.820274,4.61403483C13.820274,4.46052632,13.820274,4.30701706,13.666765,4.30701706C13.513255,4.15350853,13.359748,4.15350853,13.206238,4.15350853L9.6755371,4.15350853L9.6755371,5.2280697L12.438695,5.2280697L12.438695,6.6096487L9.982554,6.6096487L9.982554,7.6842098L12.438695,7.6842098L12.438695,8.9122801L9.6755371,8.9122801L9.6755371,9.9868422L13.206238,9.9868422C13.359748,9.9868422,13.513255,9.9868422,13.666765,9.833333ZM23.644733,4.61402464Q26.638157,5.3048137,28.249996,6.456129799999999C29.32456,7.3771825,29.938595,8.2982349,29.938595,9.219287900000001L29.938595,23.03508C29.938595,24.570169,28.557014,25.951748,25.793858,27.026308C23.18421,28.10087,19.807016,28.561396,15.969297,28.561396C12.131578,28.561396,8.754385899999999,28.10087,6.1447368,27.026308C3.3815789,25.951744,2,24.723677,2,23.03508L2,9.219288299999999C2,8.2982359,2.61403519,7.3771832,3.6885966999999997,6.4561305Q5.3004389,5.3048147,8.293859999999999,4.61402535L9.2149124,4.30700755L9.368421099999999,4.30700755L9.368421099999999,12.4429712C11.3640337,12.9034977,13.513158,13.0570068,15.969297,13.0570068C18.425436,13.0570068,20.574558,12.9034977,22.570173,12.4429712L22.570173,4.30700684L23.644733,4.61402464ZM19.653606,5.0745618L21.188694,5.0745618L21.188694,8.912281499999999L19.653606,8.912281499999999L19.653606,5.0745618ZM7.6798215,6.6096385C6.4517517,6.9166563,5.530699,7.3771825,4.763154999999999,7.8377087C4.1491201,8.2982345,3.6885939,8.7587609,3.6885939,9.3727956C3.6885939,9.6798134,3.9956117,10.1403399,4.6096466,10.600865800000001C5.377189899999999,11.0613923,6.2982426,11.5219188,7.5263128,11.9824448L7.6798215,11.9824448L7.6798215,6.6096385ZM27.175436,10.6008687C27.789471,10.1403422,28.096489,9.833324000000001,28.249996,9.3727984L28.249996,9.0657806C28.096489,8.7587619,27.789471,8.2982359,27.175436,7.8377094C26.407894,7.3771832,25.486841,6.916657,24.25877,6.6096392L24.25877,11.675429300000001L24.412279,11.8289385L24.565786,11.8289385C25.64035,11.521921200000001,26.561401,11.0613952,27.175436,10.6008687ZM15.201759,7.5307019L16.736846999999997,7.5307019L16.736846999999997,8.912281L15.201759,8.912281L15.201759,7.5307019ZM27.021925,24.723673C27.789471,24.263147,28.249996,23.649113,28.249996,23.188587L28.096489,23.188583L28.096489,12.1359539C27.021925,12.9034977,25.640347,13.5175333,23.644733,13.9780598C21.342102,14.592094,18.732452,14.899112,15.969295,14.899112C13.206137,14.899112,10.5964861,14.592094,8.2938557,13.9780598Q5.3004341,13.2872696,3.6885924,12.1359539L3.6885924,23.188583C3.6885924,23.802622,4.302628,24.416655,5.3771892,24.877182L9.214908099999999,19.504375C9.3684168,19.350867,9.5219259,19.197358,9.828943299999999,19.197358C9.9824524,19.197358,10.2894697,19.350865,10.4429789,19.504375L13.052626,22.114023L13.206135,22.114023L13.359644,21.960516L15.969293,17.969288C16.122802,17.815781,16.276311,17.662271,16.583328,17.662271C16.736837,17.662271,17.043855,17.815779,17.197364,17.969288L23.798241,26.105253C25.179821,25.644726,26.254381,25.1842,27.021925,24.723673ZM22.570179,15.359649C21.802633,15.513158,21.342108,15.973684,20.881582,16.741227000000002C20.574566,17.355263,20.574566,18.122807,20.728073,18.736842C20.88158,19.350878,21.342108,19.964911,21.956144,20.271931C22.416672,20.578947,22.877197,20.578947,23.337723,20.578947C23.79825,20.578947,24.258776,20.425438,24.719303,20.271931C25.179829,19.964913,25.486847,19.657894,25.793863,19.197369000000002C26.100882,18.736842,26.100882,18.276316,26.100882,17.815789000000002L26.100882,17.662280000000003C26.100882,16.894736,25.640354,16.127192,25.026321,15.666666C24.412287,15.20614,23.491234,15.05263,22.570179,15.359649Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
src/utils/components/init-map.vue
@@ -30,14 +30,91 @@
      
    </div>
    <div class="zoom-info">
        <el-tag type="success">倍率: {{ zoomRatio.toFixed(1) }}X</el-tag><br>
        <!-- <el-tag type="success">倍率: {{ zoomRatio.toFixed(1) }}X</el-tag><br>
        <el-tag type="success">距离: {{ betweenDistance.toFixed(1) }}ç±³</el-tag><br>
        <el-tag type="success">P: {{ cameraP }}&nbsp;&nbsp;T: {{ cameraT }} </el-tag>
        <el-tag type="success">P: {{ cameraP }}&nbsp;&nbsp;T: {{ cameraT }} </el-tag> -->
        <el-button type="primary" plain @click="doAction(chooseItem, '悬停')">悬停</el-button></br>
        <el-button type="success" plain @click="doAction(chooseItem, '拍照')">拍照</el-button></br>
        <el-button type="info" plain @click="doAction(chooseItem, '开始录像')">开始录像</el-button></br>
        <el-button type="info" plain @click="doAction(chooseItem, '结束录像')">结束录像</el-button>
    </div>
    
    
    <!-- botton -->
    <div class="cesiumBotton">
      <div class="cesiumContent">
        <div class="flyAction">
          <div class="actionName">{{currentAction ?currentAction.type :'' }}</div>
          <i class="el-icon-delete" />
        </div>
        <div class="flayDataAll">
          <div class="flyData">
            <div v-if="currentAction && (currentAction.type == '悬停')">
              <div>暂停时间</div>
              <div class="stopContent">
                  <!-- å‡æŒ‰é’® -->
                  <el-button size="mini" @click="changeTime(-100)" type="info">-100</el-button>
                  <el-button size="mini" @click="changeTime(-10)" type="info">-10</el-button>
                  <el-button size="mini" @click="changeTime(-1)" type="info">-1</el-button>
                  <!-- å¯ç¼–辑数字 -->
                  <div class="stopNumber">
                    <el-input-number
                      v-model="time"
                      :min="0"
                      :controls="false"
                      style="margin: 0 15px; width: 60px;"
                      @change="onChange"
                      class="custom-input"
                    >
                    </el-input-number>
                    <span style="margin-left: -10px;">s</span>
                  </div>
                  <!-- åŠ æŒ‰é’® -->
                  <el-button size="mini" @click="changeTime(1)" type="info">+1</el-button>
                  <el-button size="mini" @click="changeTime(10)" type="info">+10</el-button>
                  <el-button size="mini" @click="changeTime(100)" type="info">+100</el-button>
              </div>
            </div>
            <div v-if="currentAction && (currentAction.type == '拍照')">
               <div v-if="!isEditingPhoto"  class="editable-text">
                  {{ takePhoto }}
                  <i class="el-icon-edit"  @click.stop="startEditing"/>
                </div>
                <div v-else >
                  <div class="editable-container">
                    <input
                      v-model="newTakePhoto"
                      type="text"
                      class="editable-input"
                      autofocus
                    />
                  </div>
                  <button @click.stop="validateInput"  class="validate-btn">✔</button>
                  <button @click.stop="cancelEditing" class="cancel-btn">✖</button>
                </div>
            </div>
            <div v-if="currentAction && (currentAction.type == '开始录像')">
               <div v-if="!isEditingVideo"  class="editable-text">
                  {{ takeVideo }}
                  <i class="el-icon-edit"  @click.stop="startEditingVideo"/>
                </div>
                <div v-else >
                  <div class="editable-container">
                    <input
                      v-model="newTakeVideo"
                      type="text"
                      class="editable-input"
                      autofocus
                    />
                  </div>
                  <button @click.stop="validateVideoInput"  class="validate-btn">✔</button>
                  <button @click.stop="cancelVideoEditing" class="cancel-btn">✖</button>
                </div>
            </div>
          </div>
        </div>
      </div>
      <div class="cesiumButtonGroup">
        <el-button id="groundPoi" @click="addGroundPoi()" type="primary">地面点</el-button>
        <el-input v-model="mergeNumber" placeholder="请输入合并范围" type="number" style="width: 150px;"></el-input>
@@ -139,6 +216,9 @@
    deviceData: {
      type: Object,
    },
    chooseItem:{
      type: Object
    }
  },
  data(){
    return{
@@ -180,7 +260,16 @@
        cameraT:0.0,
        pointGround: { lon: 0, lat: 0, height: 0 },
        pointFly: { lon: 0, lat: 0, height: 0 },
        rowData:null
        rowData:null,
        time: 10,
        takePhoto: '111',  // åˆå§‹æ•°æ®
        newTakePhoto: '',  // ç¼–辑时的新数据
        isEditingPhoto: false,  // æŽ§åˆ¶æ˜¯å¦å¤„于编辑状态
        takeVideo: '111',  // åˆå§‹æ•°æ®
        newTakeVideo: '',  // ç¼–辑时的新数据
        isEditingVideo: false,  // æŽ§åˆ¶æ˜¯å¦å¤„于编辑状态
        actionCounter:0,
        currentAction:null
    }
  },
  mounted(){
@@ -518,7 +607,7 @@
      window.addEventListener("keydown", this.onKeyDown);
      window.addEventListener("keyup", this.onKeyUp);
    },
    removeKeyboardEvents() {
    removeKeyboaardEvents() {
      window.removeEventListener("keydown", this.onKeyDown);
      window.removeEventListener("keyup", this.onKeyUp);
    },
@@ -1179,7 +1268,86 @@
          }
        })
      }
    }
    },
    editAction(action){
      // ç‚¹å‡»å·¦ä¾§å°å›¾æ ‡ï¼Œå³ä¾§åˆ‡æ¢åˆ°è¯¥ action
      this.currentAction = action;
      console.log(this.currentAction)
      if(action.type == '悬停') {
          this.time = action.extra.value
      } else if(action.type == '拍照'){
          this.newTakePhoto = action.extra.value
      }else if(action.type == '开始录像'){
          this.newTakeVideo = action.extra.value
      }else if(action.type == '结束录像'){
      }
    },
    changeTime(val) {
      this.time += val;
      if (this.time < 0) this.time = 0; // æœ€å°å€¼é™åˆ¶
      this.currentAction.extra.value = this.time
      console.log(this.currentAction)
    },
    onChange(value) {
      if (value < 0) this.time = 0;
    },
    startEditing() {
      this.newTakePhoto = this.takePhoto;  // è¿›å…¥ç¼–辑时,保存当前的值
      this.isEditingPhoto = true;
      window.removeEventListener("keydown", this.onKeyDown);
      window.removeEventListener("keyup", this.onKeyUp);
    },
    validateInput() {
      console.log(this.newTakePhoto)
      this.takePhoto = this.newTakePhoto;  // ç‚¹å‡»å¯¹å·æ—¶ï¼Œæ›´æ–°æ•°æ®
      this.isEditingPhoto = false;  // ç»“束编辑
      this.currentAction.extra.value = this.takePhoto
    },
    cancelEditing() {
      this.newTakePhoto = this.takePhoto;  // ç‚¹å‡»å–消时,恢复原数据
      this.isEditingPhoto = false;  // ç»“束编辑
    },
    startEditingVideo() {
      this.newTakeVideo = this.takeVideo;  // è¿›å…¥ç¼–辑时,保存当前的值
      this.isEditingVideo = true;
    },
    validateVideoInput() {
      this.takeVideo = this.newTakeVideo;  // ç‚¹å‡»å¯¹å·æ—¶ï¼Œæ›´æ–°æ•°æ®
      this.isEditingVideo = false;  // ç»“束编辑
      this.currentAction.extra.value = this.takeVideo
    },
    cancelVideoEditing() {
      this.newTakeVideo = this.takeVideo;  // ç‚¹å‡»å–消时,恢复原数据
      this.isEditingVideo = false;  // ç»“束编辑
    },
    doAction(point, type){
      this.actionCounter++;
      let action = {
        id: this.actionCounter,
        type,
        extra: {}
      };
      if(type == '悬停') {
          action.extra.value = this.time
      } else if(type == '拍照'){
          action.extra.value = this.newTakePhoto
      }else if(type == '开始录像'){
          action.extra.value = this.newTakeVideo
      }else if(type == '结束录像'){
          action.extra.value = 'stopVideo'
      }
      console.log(action)
      point.actions.push(action);
      console.log(point)
      this.$emit('dealAction',point)
      this.time = 10
      this.newTakePhoto = '111'
      this.newTakeVideo = '111'
      this.takeVideo = '111'
      this.takePhoto = '111'
      // åˆ‡æ¢åˆ°å³ä¾§
      this.currentAction = action;
    },
  }
}
</script>
@@ -1222,6 +1390,61 @@
    bottom: 30px;
    margin: 0;
}
.cesiumContent {
  position: absolute;
  width: 100%;
  height: calc(50% + 5px);
  top:-5px;
}
.stopContent {
  display: flex;
  align-items: center;
}
.stopContent .el-button--mini {
  padding: 4px 9px;
}
.stopNumber {
  flex: 1;
  justify-content: center;
  align-items: center;
  margin: 0 4px;
  display: flex
}
.stopNumber .el-input .el-input--medium .el-input--medium .el-input__inner {
  height: 28px!important;
  line-height: 28px!important;
}
.flyAction{
  height: 55px;
  line-height: 55px;
  background-color: #232323;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
}
.actionName {
  margin-left: 20px;
  font-size: 14px;
  color: white;
}
.flyAction i {
  font-size: 18px;
  line-height: 55px;
  margin-right: 20px;
}
.flayDataAll {
  background-color:#232323;
  height: calc(100% - 55px);
  width: 100%;
}
.flyData{
  width: calc(100% - 32px);
  height: calc(100% - 55px);
  margin: auto;
  color: white;
}
.cesiumButtonGroup{
  position: absolute;
  bottom: 0;
@@ -1250,7 +1473,9 @@
  font-family: sans-serif;
  margin-top: 55px;
}
.el-icon-delete {
  cursor: pointer; /* æ·»åŠ é¼ æ ‡æ‚¬åœæ—¶çš„å°æ‰‹æ•ˆæžœ */
}
.arrow-row{
  display: flex;
  justify-content: center;
@@ -1328,4 +1553,61 @@
.el-slider.is-vertical .el-slider__marks-text{
  width: 30px!important;
}
</style>
<style>
.custom-input .el-input__inner {
  height: 28px;
  line-height:28px;
}
</style>
<style scoped>
.editable-text {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 16px;
  color: #fff;
  background-color: #333;
  padding: 8px;
  border-radius: 5px;
}
.editable-text  .el-icon-edit {
  position: absolute;
  right: 30px;
}
.edit-icon {
  margin-left: 10px;
  font-size: 20px;
  cursor: pointer;
}
.editable-container {
  display: flex;
  align-items: center;
}
.editable-input {
  font-size: 16px;
  padding: 5px;
  border: 1px solid #ccc;
  margin-right: 5px;
  border-radius: 5px;
}
.validate-btn, .cancel-btn {
  background-color: transparent;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  margin-left: 5px;
}
.validate-btn {
  color: green;
}
.cancel-btn {
  color: red;
}
</style>
src/views/system/shootPoint/components/shootPointDialog.vue
@@ -55,12 +55,21 @@
                              <i 
                                class="el-icon-success" 
                              ></i>
                              <span>
                              <div class="waypoint-contnet">
                                <span class="waypoint-index">{{ wp.label }}</span>
                                <i class="el-icon-camera"></i>
                                <i class="el-icon-video-camera"></i>
                                <i class="el-icon-picture-outline"></i>
                              </span>
                                <span v-for="(action, aIndex) in wp.actions"
                                      :key="action.id"
                                      class="action-icon"
                                      @click="clickItem(action)">
                                  <img src="@/assets/images/xuanting.svg" alt="svg图片" v-if="action.type==='悬停'" />
                                  <img src="@/assets/images/photo.svg" alt="svg图片" v-if="action.type==='拍照'" />
                                  <img src="@/assets/images/startVideo.svg" alt="svg图片" v-if="action.type==='开始录像'" />
                                  <img src="@/assets/images/stopVideo.svg" alt="svg图片" v-if="action.type==='结束录像'" />
                                  <img src="@/assets/images/zoom.svg" alt="svg图片" v-if="action.type==='变焦'" />
                                  <!-- <i v-if="action.type==='拍照'" class="el-icon-video-camera"></i> -->
                                </span>
                              </div>
                            </div>
                          </div>
                        </div>
@@ -72,7 +81,7 @@
              </el-card>
          </el-col>
          <el-col :span="20">
              <InitMap v-if="showMap" @mergePoint="mergePoint" :towerUrl="towerUrl"  :deviceData="deviceData"  @dealTreeData="dealTreeData" ref="initMap"></InitMap>
              <InitMap v-if="showMap" @mergePoint="mergePoint" :towerUrl="towerUrl"  :deviceData="deviceData"  @dealTreeData="dealTreeData" ref="initMap" :chooseItem="chooseItem" @dealAction = 'dealAction'></InitMap>
          </el-col>
      </el-row>
      <span slot="footer" class="dialog-footer">
@@ -84,6 +93,7 @@
  </div>
</template>
<script>
import { compileToFunctions } from "vue-template-compiler";
import CesiumMap from "../../../../utils/components/cesium-map.vue";
import InitMap from "../../../../utils/components/init-map.vue";
import ChooseModelDialog from './chooseModelDialog.vue';
@@ -132,7 +142,9 @@
        totalPoints: 11,
        totalPhotos: 3,
        waypoints:[],
        selectedIndex:null
        selectedIndex:null,
        chooseItem: null,
        lastTableArr:[]
    }
  },
  mounted(){
@@ -154,6 +166,7 @@
  },  
  methods:{
    toggleSelect(wq,index) {
      this.chooseItem = wq
      console.log(this.treeData)
      console.log(wq)
      // å¦‚果点击的是当前行,则取消选中
@@ -238,11 +251,19 @@
      this.$refs.initMap.DealVisualCone(data,node)
    },
    dealTreeData(arrList){
      console.log(arrList)
      this.treeData = arrList
      const childrenArr = arrList
        .filter(item => Array.isArray(item.children))
        .map(item => item.children)
        .reduce((acc, cur) => acc.concat(cur), []);
      childrenArr?.forEach((ele)=>{
        if(ele.actions) {
        }else {
          ele.actions = []
        }
      })
      this.waypoints = childrenArr
      console.log(childrenArr)
      console.log(this.treeData)
@@ -690,6 +711,32 @@
     const rotatedZ = localStartPoint.z; // Z轴坐标保持不变
      // 将旋转后的局部坐标转换回世界坐标系
     return Cesium.Matrix4.multiplyByPoint(transformationMatrix, new Cesium.Cartesian3(rotatedX, rotatedY, rotatedZ), new Cesium.Cartesian3());
    },
    dealAction(data){
      console.log(this.treeData)
      console.log(this.waypoints)
      console.log(data)
      const byLabel = this.addOrUpdate(this.lastTableArr, data, 'label', this)
      this.waypoints  = this.lastTableArr
      console.log(byLabel)
      console.log(this.lastTableArr)
      console.log( this.waypoints)
    },
    addOrUpdate(list, newItem, key = 'label', vm = null) {
      let index = list.findIndex(item => item[key] === newItem[key]);
      console.log(index)
      if (index !== -1) {
        if (vm) {
          vm.$set(list, index, newItem); // Vue2 å“åº”式替换
        } else {
          list.splice(index, 1, newItem);
        }
      } else {
        list.push(newItem);
      }
    },
    clickItem(value){
        this.$refs.initMap.editAction(value);
    }
  }
}
@@ -820,6 +867,9 @@
  overflow-y: scroll;
  /* overflow: scroll; */
}
.waypoint-panel  .waypoints {
  min-height: 50px;
}
.stats {
  display: flex;
@@ -839,7 +889,7 @@
.waypoint-item {
  border-bottom: 1px solid #333;
  height: 40px;
  min-height: 40px;
  line-height: 40px;
}
@@ -852,15 +902,19 @@
  align-items: center;
  cursor: pointer;
  padding: 4px 8px;
  width: 280px;
  word-wrap: break-word;
}
.waypoint-header i {
  margin-right: 6px;
  height: 36px;
  line-height: 36x;
  transition: transform 0.2s;
  font-size: 24px; 
}
.waypoint-header .waypoint-index {
  font-size: 24px;
}
@@ -869,8 +923,16 @@
}
.waypoint-content {
  padding: 4px 8px;
  flex: 1;
  background: rgb(73, 76, 128);
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.waypoint-contnet img{
  height: 25px;
  margin-left: 5px;
}
</style>