From 71627d89045c5bf3c50030751d93ae519f5dbb8d Mon Sep 17 00:00:00 2001 From: jihongshun <1151753686@qq.com> Date: 星期三, 20 八月 2025 17:25:50 +0800 Subject: [PATCH] 航点列表 中化建 右侧联动 待测试联调 --- src/assets/images/zoom.svg | 1 src/views/system/shootPoint/components/shootPointDialog.vue | 84 ++++++++++- src/assets/images/全景拍照.svg | 1 src/assets/images/stopVideo.svg | 1 src/assets/images/photo.svg | 1 src/assets/images/xuanting.svg | 1 src/utils/components/init-map.vue | 294 +++++++++++++++++++++++++++++++++++++++++ src/assets/images/startVideo.svg | 1 8 files changed, 367 insertions(+), 17 deletions(-) diff --git a/src/assets/images/photo.svg b/src/assets/images/photo.svg new file mode 100644 index 0000000..de82840 --- /dev/null +++ b/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> \ No newline at end of file diff --git a/src/assets/images/startVideo.svg b/src/assets/images/startVideo.svg new file mode 100644 index 0000000..8d1ebf4 --- /dev/null +++ b/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> \ No newline at end of file diff --git a/src/assets/images/stopVideo.svg b/src/assets/images/stopVideo.svg new file mode 100644 index 0000000..209fe9b --- /dev/null +++ b/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> \ No newline at end of file diff --git a/src/assets/images/xuanting.svg b/src/assets/images/xuanting.svg new file mode 100644 index 0000000..07f795b --- /dev/null +++ b/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> \ No newline at end of file diff --git a/src/assets/images/zoom.svg b/src/assets/images/zoom.svg new file mode 100644 index 0000000..916215f --- /dev/null +++ b/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> \ No newline at end of file diff --git "a/src/assets/images/\345\205\250\346\231\257\346\213\215\347\205\247.svg" "b/src/assets/images/\345\205\250\346\231\257\346\213\215\347\205\247.svg" new file mode 100644 index 0000000..d5bbf6f --- /dev/null +++ "b/src/assets/images/\345\205\250\346\231\257\346\213\215\347\205\247.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> \ No newline at end of file diff --git a/src/utils/components/init-map.vue b/src/utils/components/init-map.vue index 09fcf3b..9cf9a0a 100644 --- a/src/utils/components/init-map.vue +++ b/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 }} T: {{ cameraT }} </el-tag> + <el-tag type="success">P: {{ cameraP }} 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> \ No newline at end of file diff --git a/src/views/system/shootPoint/components/shootPointDialog.vue b/src/views/system/shootPoint/components/shootPointDialog.vue index f4fb7ff..d619ffe 100644 --- a/src/views/system/shootPoint/components/shootPointDialog.vue +++ b/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> -- Gitblit v1.9.3