From 4473382ddd15af3767edf0b4c8becd8ffbd186f9 Mon Sep 17 00:00:00 2001
From: husq <931347610@qq.com>
Date: Wed, 13 Sep 2023 11:30:32 +0800
Subject: [PATCH] 注释没用到的接口代码、英文修改为中文

---
 src/components/task/TaskPanel.vue                                             |    2 
 src/pages/page-web/index.vue                                                  |   48 +++--------
 src/pages/page-web/projects/wayline.vue                                       |   22 ++--
 src/pages/page-web/projects/tsa.vue                                           |   30 +++---
 src/hooks/use-center-point.ts                                                 |   40 ++++++++-
 src/pages/page-web/projects/project_list/add_page/add.vue                     |    5 +
 src/pages/page-web/projects/task.vue                                          |    2 
 src/components/common/sidebar.vue                                             |    2 
 src/components/MediaPanel.vue                                                 |    2 
 src/assets/loginBg.jpg                                                        |    0 
 src/components/common/topbar.vue                                              |    2 
 src/pages/page-web/projects/layer.vue                                         |    2 
 src/pages/page-web/projects/project_list/list_page/components/ProjectList.vue |   30 ++++---
 13 files changed, 102 insertions(+), 85 deletions(-)

diff --git a/src/assets/loginBg.jpg b/src/assets/loginBg.jpg
new file mode 100644
index 0000000..43ef344
--- /dev/null
+++ b/src/assets/loginBg.jpg
Binary files differ
diff --git a/src/components/MediaPanel.vue b/src/components/MediaPanel.vue
index 9403548..143aebb 100644
--- a/src/components/MediaPanel.vue
+++ b/src/components/MediaPanel.vue
@@ -109,7 +109,7 @@
 })
 
 onMounted(() => {
-  getFiles()
+  // getFiles()
 })
 
 function getFiles () {
diff --git a/src/components/common/sidebar.vue b/src/components/common/sidebar.vue
index 576a251..a9be91d 100644
--- a/src/components/common/sidebar.vue
+++ b/src/components/common/sidebar.vue
@@ -54,7 +54,7 @@
     const root = getRoot()
     const options = [
       { key: 0, label: '团队', path: '/' + ERouterName.TSA, icon: 'TeamOutlined' },
-      { key: 1, label: '直播', path: '/' + ERouterName.LIVESTREAM, icon: 'VideoCameraOutlined' },
+      // { key: 1, label: '直播', path: '/' + ERouterName.LIVESTREAM, icon: 'VideoCameraOutlined' },
       { key: 2, label: '标注', path: '/' + ERouterName.LAYER, icon: 'EnvironmentOutlined' },
       { key: 3, label: '媒体库', path: '/' + ERouterName.MEDIA, icon: 'PictureOutlined' },
       { key: 4, label: '航线库', path: '/' + ERouterName.WAYLINE, icon: 'NodeIndexOutlined' },
diff --git a/src/components/common/topbar.vue b/src/components/common/topbar.vue
index 6d9c609..72cd5f2 100644
--- a/src/components/common/topbar.vue
+++ b/src/components/common/topbar.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="width-100 flex-row flex-justify-between flex-align-center" style="height: 60px;">
     <div class="height-100">
-      <a-avatar :size="40" shape="square" :src="cloudapi" />
+      <!-- <a-avatar :size="40" shape="square" :src="cloudapi" /> -->
       <span class="ml10 fontBold">{{ workspaceName }}</span>
     </div>
 
diff --git a/src/components/task/TaskPanel.vue b/src/components/task/TaskPanel.vue
index c096cdd..09a83aa 100644
--- a/src/components/task/TaskPanel.vue
+++ b/src/components/task/TaskPanel.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="header">Task Plan Library</div>
+  <div class="header">计划库</div>
   <div class="plan-panel-wrapper">
     <a-table class="plan-table" :columns="columns" :data-source="plansData.data" row-key="job_id"
       :pagination="paginationProp" :scroll="{ x: '100%', y: 600 }" @change="refreshData">
diff --git a/src/hooks/use-center-point.ts b/src/hooks/use-center-point.ts
index de17dde..2ee5f2f 100644
--- a/src/hooks/use-center-point.ts
+++ b/src/hooks/use-center-point.ts
@@ -10,7 +10,7 @@
   })
 }
 // 绘制点
-function addPoint (viewer: any, id: string, longitude: number, latitude: number, label: string) {
+export function addPoint (viewer: any, id: string, longitude: number, latitude: number) {
   const entity = viewer.entities.add({
     position: Cesium.Cartesian3.fromDegrees(longitude, latitude),
     id,
@@ -35,7 +35,6 @@
   const handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
   handler.setInputAction(function (click: any) {
     const pickedObject = viewer.scene.pick(click.position)
-    console.log(pickedObject, 'pickObject')
     if (Cesium.defined(pickedObject)) {
       const list = longitudeList.filter((v: { id: string, longitude: number; latitude: number; }) => v.id === pickedObject.id.id)
       if (pickedObject.id.label) {
@@ -57,10 +56,39 @@
 }
 
 // 飞到项目中心点
-export function flyTo (viewer: any, longitude: number, latitude: number) {
-  // console.log()
-  const targetPosition = { longitude, latitude }
+export function flyTo (viewer: any, longitude: number, latitude: number, height: number = 5000) {
+  const targetPosition = { longitude, latitude, height }
   viewer.camera.flyTo({
-    destination: targetPosition,
+    destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),
+    duration: 2
+  })
+}
+
+// 通过经纬度判断当前地图上是否有实体
+export function isEntityExist (viewer: any, longitude: number, latitude: number) {
+  const position = Cesium.Cartesian3.fromDegrees(longitude, latitude)
+  const pickedObject = viewer.scene.pick(position)
+  console.log(pickedObject, 'pickedObject')
+  if (Cesium.defined(pickedObject)) {
+    return true
+  } else {
+    return false
+  }
+}
+// 清除地图上的点
+export function clearAllPoint (viewer:any) {
+  // 获取Cesium场景对象
+  const scene = viewer.scene
+
+  // 获取场景中的所有图元
+  const primitives = scene.primitives
+
+  // 遍历图元数组
+  primitives.forEach(function (primitive: any) {
+  // 判断图元是否为点集合
+    if (primitive instanceof Cesium.PointPrimitiveCollection) {
+    // 移除所有点
+      primitive.removeAll()
+    }
   })
 }
diff --git a/src/pages/page-web/index.vue b/src/pages/page-web/index.vue
index 1d1607e..c009c62 100644
--- a/src/pages/page-web/index.vue
+++ b/src/pages/page-web/index.vue
@@ -1,52 +1,33 @@
 <template>
-  <div
-    class="login flex-column flex-justify-center flex-align-center m0 b0">
-    <a-image
-      style="width: 17vw; height: 10vw; margin-bottom: 50px"
-      :src="djiLogo"
-    />
-    <p class="fz35 pb50" style="color: #2d8cf0">Cloud API Demo</p>
-    <a-form
-      layout="inline"
-      :model="formState"
-      class="flex-row flex-justify-center flex-align-center"
-    >
+  <div class="login flex-column flex-justify-center flex-align-center m0 b0">
+    <a-image :preview="false" style="width: 17vw; height: 10vw; margin-bottom: 50px" :src="djiLogo" />
+    <p class="fz35 pb50" style="color: #2d8cf0">无人机操作系统</p>
+    <a-form layout="inline" :model="formState" class="flex-row flex-justify-center flex-align-center">
       <a-form-item>
         <a-input v-model:value="formState.username" placeholder="Username">
-          <template #prefix
-            ><UserOutlined style="color: rgba(0, 0, 0, 0.25)"
-          /></template>
+          <template #prefix>
+            <UserOutlined style="color: rgba(0, 0, 0, 0.25)" />
+          </template>
         </a-input>
       </a-form-item>
       <a-form-item>
-        <a-input
-          v-model:value="formState.password"
-          type="password"
-          placeholder="Password"
-        >
-          <template #prefix
-            ><LockOutlined style="color: rgba(0, 0, 0, 0.25)"
-          /></template>
+        <a-input v-model:value="formState.password" type="password" placeholder="Password">
+          <template #prefix>
+            <LockOutlined style="color: rgba(0, 0, 0, 0.25)" />
+          </template>
         </a-input>
       </a-form-item>
       <a-form-item>
-        <a-button
-          class="m0"
-          type="primary"
-          html-type="submit"
-          :disabled="loginBtnDisabled"
-          @click="onSubmit"
-        >
-          Login
+        <a-button class="m0" type="primary" html-type="submit" :disabled="loginBtnDisabled" @click="onSubmit">
+          登录
         </a-button>
       </a-form-item>
     </a-form>
   </div>
-
 </template>
 
 <script lang="ts" setup>
-import djiLogo from '/@/assets/icons/dji_logo.png'
+import djiLogo from '/@/assets/loginBg.jpg'
 import { LockOutlined, UserOutlined } from '@ant-design/icons-vue'
 import { message } from 'ant-design-vue'
 import { reactive, computed, UnwrapRef } from 'vue'
@@ -83,6 +64,7 @@
 
 <style lang="scss" scoped>
 @import '/@/styles/index.scss';
+
 .login {
   background-color: $dark-highlight;
   height: 100vh;
diff --git a/src/pages/page-web/projects/layer.vue b/src/pages/page-web/projects/layer.vue
index b19f1c2..eb7acf3 100644
--- a/src/pages/page-web/projects/layer.vue
+++ b/src/pages/page-web/projects/layer.vue
@@ -250,7 +250,7 @@
   const element = document.getElementsByClassName('scrollbar').item(0) as HTMLDivElement
   const parent = element?.parentNode as HTMLDivElement
   scorllHeight.value = parent.clientHeight - parent.firstElementChild!.clientHeight
-  getAllElement()
+  // getAllElement()
 })
 function closeDrawer () {
   store.commit('SET_DRAW_VISIBLE_INFO', false)
diff --git a/src/pages/page-web/projects/project_list/add_page/add.vue b/src/pages/page-web/projects/project_list/add_page/add.vue
index 1bee552..3ddab6b 100644
--- a/src/pages/page-web/projects/project_list/add_page/add.vue
+++ b/src/pages/page-web/projects/project_list/add_page/add.vue
@@ -174,7 +174,10 @@
 import { Form, message } from 'ant-design-vue'
 import { cloneDeep } from 'lodash'
 import { add, detail, edit as projectEdit } from '/@/api/project-page/index'
+import { addPoint } from '/@/hooks/use-center-point'
 import { useMyStore } from '/@/store/index'
+const { appContext } = getCurrentInstance()
+const global = appContext.config.globalProperties
 const router = useRouter()
 const store = useMyStore()
 const route = useRoute()
@@ -242,6 +245,8 @@
   const res = await detail(id)
   if (res.code !== 5000) return
   formState.value = res.data
+  addPoint(global.$viewer, res.data.id, res.data.latitude, res.data.latitude)
+  store.commit('SET_CENTER_CONFIG_LATITUDE', { latitude: formState.value.latitude, longitude: formState.value.longitude })
 }
 // 编辑项目
 const editProject = async () => {
diff --git a/src/pages/page-web/projects/project_list/list_page/components/ProjectList.vue b/src/pages/page-web/projects/project_list/list_page/components/ProjectList.vue
index 58fbca9..6154fac 100644
--- a/src/pages/page-web/projects/project_list/list_page/components/ProjectList.vue
+++ b/src/pages/page-web/projects/project_list/list_page/components/ProjectList.vue
@@ -1,18 +1,8 @@
-<!--
- * @Author: 胡思旗 931347610@qq.com
- * @Date: 2023-08-28 15:23:47
- * @LastEditors: husq 931347610@qq.com
- * @LastEditTime: 2023-09-11 17:00:46
- * @FilePath: \Cloud-API-Demo-Web\src\pages\page-web\projects\project_list\list_page\components\ProjectList.vue
- * @Description:项目列表组件
- *
- * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
--->
 <template>
   <div class="project-box flex-common">
     <a-spin :spinning="model" style="width: 100%;">
-      <div class="project-card" v-for="item in cardList" :key="item.id">
-        <div class="project-left">
+      <div class="project-card" :class="{active: index == selectIndex}" v-for="(item, index) in cardList" :key="item.id">
+        <div class="project-left" @click="goCenter(item, index)">
           <div class="head mb10 flex-display flex-align-center flex-justify-between">
             <div class="head-left flex-display flex-align-center">
               <a-tag color="#87d068">{{ status[item.projectStatus] }}</a-tag>
@@ -65,6 +55,9 @@
 import { del, edit } from '/@/api/project-page'
 import { Modal, message } from 'ant-design-vue'
 import { useMyStore } from '/@/store'
+import { flyTo, isEntityExist } from '/@/hooks/use-center-point'
+const { appContext } = getCurrentInstance()
+const global = appContext.config.globalProperties
 const store = useMyStore()
 const router = useRouter()
 const emit = defineEmits(['refreshList', 'update:modelValue'])
@@ -84,6 +77,7 @@
   }
 })
 const spinning = ref<boolean>(true)
+const selectIndex = ref(-1)
 // 删除方法
 const deleteItem = (item: projectCard) => {
   Modal.confirm({
@@ -141,7 +135,12 @@
     query: { id: item.id },
   })
 }
-
+const goCenter = (item:any, index:number) => {
+  selectIndex.value === index ? selectIndex.value = -1 : selectIndex.value = index
+  flyTo(global.$viewer, item.longitude, item.latitude)
+  const flag = isEntityExist(global.$viewer, item.longitude, item.latitude)
+  console.log(flag, 'fffff')
+}
 </script>
 
 <style scoped lang="scss">
@@ -163,7 +162,10 @@
     border-bottom: 1px solid #4f4f4f;
     display: flex;
   }
-
+  .active {
+    cursor: pointer;
+    background-color: #101010;
+  }
   .project-left {
     padding: 16px;
     flex: 1;
diff --git a/src/pages/page-web/projects/task.vue b/src/pages/page-web/projects/task.vue
index 3e83954..7f8a33e 100644
--- a/src/pages/page-web/projects/task.vue
+++ b/src/pages/page-web/projects/task.vue
@@ -3,7 +3,7 @@
     <div style="height: 50px; line-height: 50px; border-bottom: 1px solid #4f4f4f; font-weight: 450;">
       <a-row>
         <a-col :span="1"></a-col>
-        <a-col :span="20">Task Plan Library</a-col>
+        <a-col :span="20">计划库</a-col>
         <a-col :span="2">
           <span v-if="taskRoute">
             <router-link :to="{ name: ERouterName.CREATE_PLAN}">
diff --git a/src/pages/page-web/projects/tsa.vue b/src/pages/page-web/projects/tsa.vue
index 259fd6c..e4fe390 100644
--- a/src/pages/page-web/projects/tsa.vue
+++ b/src/pages/page-web/projects/tsa.vue
@@ -306,21 +306,21 @@
 
 onMounted(() => {
   // flyTo(global.$viewer, route.params.longitude as unknown as number, route.params.latitude as unknown as number)
-  getOnlineTopo()
-  setTimeout(() => {
-    watch(() => store.state.deviceStatusEvent,
-      data => {
-        getOnlineTopo()
-        if (data.deviceOnline.sn) {
-          getUnreadHms(data.deviceOnline.sn)
-        }
-      },
-      {
-        deep: true
-      }
-    )
-    getOnlineDeviceHms()
-  }, 3000)
+  // getOnlineTopo()
+  // setTimeout(() => {
+  //   watch(() => store.state.deviceStatusEvent,
+  //     data => {
+  //       getOnlineTopo()
+  //       if (data.deviceOnline.sn) {
+  //         getUnreadHms(data.deviceOnline.sn)
+  //       }
+  //     },
+  //     {
+  //       deep: true
+  //     }
+  //   )
+  //   getOnlineDeviceHms()
+  // }, 3000)
   const element = document.getElementsByClassName('scrollbar').item(0) as HTMLDivElement
   const parent = element?.parentNode as HTMLDivElement
   scorllHeight.value = parent?.clientHeight - parent?.firstElementChild?.clientHeight
diff --git a/src/pages/page-web/projects/wayline.vue b/src/pages/page-web/projects/wayline.vue
index 0bc9059..6b03b8e 100644
--- a/src/pages/page-web/projects/wayline.vue
+++ b/src/pages/page-web/projects/wayline.vue
@@ -4,7 +4,7 @@
     <div style="height: 50px; line-height: 50px; border-bottom: 1px solid #4f4f4f; font-weight: 450;">
       <a-row>
         <a-col :span="1"></a-col>
-        <a-col :span="15">Flight Route Library</a-col>
+        <a-col :span="15">航线库</a-col>
         <a-col :span="8" v-if="importVisible" class="flex-row flex-justify-end flex-align-center">
           <a-upload
             name="file"
@@ -125,17 +125,17 @@
 onMounted(() => {
   const parent = document.getElementsByClassName('scrollbar').item(0)?.parentNode as HTMLDivElement
   height.value = document.body.clientHeight - parent.firstElementChild!.clientHeight
-  getWaylines()
+  // getWaylines()
 
-  const key = setInterval(() => {
-    const data = document.getElementById('data')?.lastElementChild as HTMLDivElement
-    if (pagination.total === 0 || Math.ceil(pagination.total / pagination.page_size) <= pagination.page || height.value <= data?.clientHeight + data?.offsetTop) {
-      clearInterval(key)
-      return
-    }
-    pagination.page++
-    getWaylines()
-  }, 1000)
+  // const key = setInterval(() => {
+  //   const data = document.getElementById('data')?.lastElementChild as HTMLDivElement
+  //   if (pagination.total === 0 || Math.ceil(pagination.total / pagination.page_size) <= pagination.page || height.value <= data?.clientHeight + data?.offsetTop) {
+  //     clearInterval(key)
+  //     return
+  //   }
+  //   pagination.page++
+  //   getWaylines()
+  // }, 1000)
 })
 
 function getWaylines () {

--
Gitblit v1.9.3