gbtomr il y a 2 ans
Parent
commit
3870483a91
3 fichiers modifiés avec 105 ajouts et 154 suppressions
  1. 32 0
      src/apis/ssky.js
  2. 31 121
      src/views/ssky/Index.vue
  3. 42 33
      src/views/ssky/cpns/BoatDockList.vue

+ 32 - 0
src/apis/ssky.js

@@ -35,4 +35,36 @@ export function GetLshb() {
         "realLicenseCode":""
       },
   })
+}
+
+export function GetTouristBoat() {
+  return request({
+      url: 'http://10.83.68.108:8090/ghjgDataShareApiTest/dataShare/GetTouristBoatAISCalculate',
+      method: "post",
+      data: {},
+  })
+}
+
+export function GetFerryStation() {
+  return request({
+      url: 'http://10.83.68.108:8090/ghjgDataShareApiTest/dataShare/GetFerryStation',
+      method: "post",
+      data: {
+        "des": "",
+        "name": ""
+      },
+  })
+}
+
+export function GetPJWharf() {
+  return request({
+      url: 'http://10.83.68.108:8090/ghjgDataShareApiTest/dataShare/GetPJWharf',
+      method: "post",
+      data: {
+        "berthCode": "",
+        "berthName": "",
+        "portCode": "",
+        "portName": ""
+      }
+  })
 }

+ 31 - 121
src/views/ssky/Index.vue

@@ -12,7 +12,8 @@
             <span></span>
           </div>
         </div> -->
-        <div class="ylzy-item" @click="handleBDListShow('ylzy-boat')">
+        <!-- <div class="ylzy-item" @click="handleBDListShow('ylzy-boat')"> -->
+        <div class="ylzy-item">
           <img :src="require('@/assets/imgs/icon-youchuan.png')" alt="">
           <div>
             <span>游船数</span>
@@ -139,7 +140,7 @@ export default {
   import ListBoxLdkll from './cpns/ListBoxLdkll'
   import LshbDialog from './cpns/LshbDialog.vue'
   import BoatDockList from './cpns/BoatDockList.vue'
-  import { Getdjld, Getpjyl, GetLshb } from '@/apis/ssky'
+  import { Getdjld, Getpjyl, GetLshb, GetTouristBoat, GetFerryStation, GetPJWharf } from '@/apis/ssky'
   import { useRafFn } from '@vueuse/core'
   import { addResponseEventListener, callUIInteraction } from '@/webRtcVideo.js'
   import bus from '@/utils/bus'
@@ -154,8 +155,8 @@ export default {
   function getdjld() {
     Getdjld().then(res => {
       if(res.data) {
-        ldzyData.dc = res.data.dc
-        ldzyData.dk = res.data.dk
+        // ldzyData.dc = res.data.dc
+        // ldzyData.dk = res.data.dk
         ldklData.value.forEach(i => {
           switch (i.name) {
             case '当前总客流':
@@ -179,6 +180,18 @@ export default {
         
       }
     })
+    GetTouristBoat().then(res => {
+      if(res?.Result?.data) {
+        ldzyData.dc = res.count
+        ldzyData.boatList = res.Result.data
+      }
+    })
+    GetFerryStation().then(res => {
+      if(res?.data?.Rows?.list) {
+        ldzyData.dk = res.data.Rows.total
+        ldzyData.dockList = res.data.Rows.list
+      }
+    })
   }
 
   function getpjyl() {
@@ -213,6 +226,14 @@ export default {
         })
       }
     })
+    GetPJWharf().then(res => {
+      if(res?.data?.Rows?.list) {
+        ylzyData.dockNum = res.data.Rows.total
+        ylzyData.boatNum = 36
+        ylzyData.dockList = res.data.Rows.list
+      }
+
+    })
   }
 
   function getlshb() {
@@ -248,69 +269,10 @@ export default {
   ]})  */
 
   const ylzyData = reactive({
-    boatNum: 13840,
-    dockNum: 30,
-    boatList: [
-      { name: '浦江游览1', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览2', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览3', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览4', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览5', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览6', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览7', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览8', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览9', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览10', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览11', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览12', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览13', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览14', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览15', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览16', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览17', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览18', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览19', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览20', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览21', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览22', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览23', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览24', status: '航行中', mmsi: '413971338' },
-      { name: '浦江游览25', status: '航行中', mmsi: '413971338' },
-    ],
-    dockList: [
-      { name: '浦江码头1' },
-      { name: '浦江码头2' },
-      { name: '浦江码头3' },
-      { name: '浦江码头4' },
-      { name: '浦江码头5' },
-      { name: '浦江码头6' },
-      { name: '浦江码头7' },
-      { name: '浦江码头8' },
-      { name: '浦江码头9' },
-      { name: '浦江码头10' },
-      { name: '浦江码头11' },
-      { name: '浦江码头12' },
-      { name: '浦江码头13' },
-      { name: '浦江码头14' },
-      { name: '浦江码头15' },
-      { name: '浦江码头16' },
-      { name: '浦江码头17' },
-      { name: '浦江码头18' },
-      { name: '浦江码头19' },
-      { name: '浦江码头20' },
-      { name: '浦江码头21' },
-      { name: '浦江码头22' },
-      { name: '浦江码头23' },
-      { name: '浦江码头24' },
-      { name: '浦江码头25' },
-      { name: '浦江码头26' },
-      { name: '浦江码头27' },
-      { name: '浦江码头28' },
-      { name: '浦江码头29' },
-      { name: '浦江码头30' },
-      { name: '浦江码头31' },
-      { name: '浦江码头32' },
-    ]
+    boatNum: 0,
+    dockNum: 0,
+    boatList: [],
+    dockList: []
   })
 
   const boatDockListShow = ref(false)
@@ -378,60 +340,8 @@ export default {
   const ldzyData = reactive({
     dk: 0,
     dc: 0,
-    boatList: [
-      { name: '轮渡客船1', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船2', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船3', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船4', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船5', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船6', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船7', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船8', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船9', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船10', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船11', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船12', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船13', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船14', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船15', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船16', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船17', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船18', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船19', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船20', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船21', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船22', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船23', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船24', status: '航行中', mmsi: '413971338' },
-      { name: '轮渡客船25', status: '航行中', mmsi: '413971338' },
-    ],
-    dockList: [
-      { name: '轮渡渡口1' },
-      { name: '轮渡渡口2' },
-      { name: '轮渡渡口3' },
-      { name: '轮渡渡口4' },
-      { name: '轮渡渡口5' },
-      { name: '轮渡渡口6' },
-      { name: '轮渡渡口7' },
-      { name: '轮渡渡口8' },
-      { name: '轮渡渡口9' },
-      { name: '轮渡渡口10' },
-      { name: '轮渡渡口11' },
-      { name: '轮渡渡口12' },
-      { name: '轮渡渡口13' },
-      { name: '轮渡渡口14' },
-      { name: '轮渡渡口15' },
-      { name: '轮渡渡口16' },
-      { name: '轮渡渡口17' },
-      { name: '轮渡渡口18' },
-      { name: '轮渡渡口19' },
-      { name: '轮渡渡口20' },
-      { name: '轮渡渡口21' },
-      { name: '轮渡渡口22' },
-      { name: '轮渡渡口23' },
-      { name: '轮渡渡口24' },
-      { name: '轮渡渡口25' },
-    ]
+    boatList: [],
+    dockList: []
   })
   
   const ldklData = reactive({value: [

+ 42 - 33
src/views/ssky/cpns/BoatDockList.vue

@@ -1,27 +1,33 @@
 <template>
   <div class="boat-dock-list">
     <span class="title">{{props.listTitle}}</span>
-    <ul class="boat-list" v-if="props.listData[0].mmsi" ref="list">
-      <li v-for="item, index in listSlice.value" class="list-item" @click="handleClick(item)">
-        <div class="item-row1">
-          <span>{{index+1}}</span>
-          <span>{{item.name}}</span>
-          <span>{{item.status}}</span>
-        </div>
-        <div class="item-row2">
-          <span>MMSI : </span>
-          <span>{{item.mmsi}}</span>
-        </div>
-      </li>
-    </ul>
-    <ul class="dock-list" v-else ref="list">
-      <li v-for="item, index in listSlice.value" class="list-item" @click="handleClick(item)">
-        <div class="item-row1">
-          <span>{{index+1}}</span>
-          <span>{{item.name}}</span>
-        </div>
-      </li>
-    </ul>
+    <template v-if="props.listData.length>0">
+      <ul class="boat-list" v-if="props.listData[0].MMSI" ref="list">
+        <li v-for="item, index in listSlice.value" class="list-item" @click="handleClick(item)">
+          <div class="item-row1">
+            <span>{{index+1}}</span>
+            <span>{{item.BOATNAME}}</span>
+            <!-- <span>航行中</span> -->
+            <span>{{item.VELOCITY==1?'航行中': '停泊中'}}</span>
+          </div>
+          <div class="item-row2">
+            <span>MMSI : </span>
+            <span>{{item.MMSI}}</span>
+          </div>
+        </li>
+      </ul>
+      <ul class="dock-list" v-else ref="list">
+        <li v-for="item, index in listSlice.value" class="list-item" @click="handleClick(item)">
+          <div class="item-row1">
+            <span>{{index+1}}</span>
+            <span>{{item.name||item.portName}}</span>
+          </div>
+        </li>
+      </ul>
+    </template>
+    <div class="no-data" v-else>
+      无数据
+    </div>
     <transition name="loading">
       <div class="loading" v-if="showLoading">加载中...</div>
     </transition>
@@ -45,8 +51,9 @@ export default {
   const listSlice = reactive({value: []})
 
   onMounted(() => {
-    listSlice.value = props.listData.slice(0, 10)
-    
+    if(props.listData.length>0) {
+      listSlice.value = props.listData.slice(0, 10)
+    }
   })
 
   const showLoading = ref(false)
@@ -77,7 +84,6 @@ export default {
   }
 
   function handleClick(item) {
-    console.log(item)
     let action = {
       "ActionName":"position_by_type",
       "Parameters":{
@@ -85,22 +91,18 @@ export default {
         "position_name": ''
       }
     }
-    switch(props['list-title']) {
-      case '游船信息': 
-        action.Parameters.position_type = 'boat'
-        action.Parameters.position_name = item.mmsi
-        break
+    switch(props.listTitle) {
       case '码头信息': 
         action.Parameters.position_type = 'lymt'
-        action.Parameters.position_name = item.name
+        action.Parameters.position_name = item.portName
         break
       case '渡口信息': 
         action.Parameters.position_type = 'mt'
         action.Parameters.position_name = item.name
         break
-      case '渡船信息': 
+      default: 
         action.Parameters.position_type = 'boat'
-        action.Parameters.position_name = item.mmsi
+        action.Parameters.position_name = item.MMSI
     }
     
     callUIInteractionFormat(action);
@@ -122,6 +124,12 @@ export default {
   border-radius: 4px;
   box-shadow: 0 2px 12px 0 rgba(0, 17, 51, 0.2);
   overflow: hidden;
+  
+  .no-data {
+    margin: 20px 0;
+    text-align: center;
+    color: #eee;
+  }
 
   .loading {
     position: absolute;
@@ -136,6 +144,7 @@ export default {
     background: linear-gradient(0deg, rgb(26, 48, 86, 1) 0%, rgba(26, 48, 86, 0.2) 100%);
   }
 
+
   .loading-enter-active,.loading-leave-active{
     transition: all 0.2s ease;
   }
@@ -237,7 +246,7 @@ export default {
         }
         span:nth-child(2) {
           display: inline-block;
-          width: 140px;
+          width: 190px;
           font-size: 18px;
           font-weight: bolder;
           font-style: italic;