Browse Source

Merge branch 'lixin' of gitadmin/tuoheng_lc_web into develop

tags/v1.2.0^2^2
lixin 1 year ago
parent
commit
33cdc8a3a3
7 changed files with 58 additions and 9 deletions
  1. +1
    -1
      src/layout/components/Header/index.vue
  2. +22
    -0
      src/store/modules/live.js
  3. +4
    -3
      src/views/dashboard/components/Extend.vue
  4. +5
    -0
      src/views/dashboard/components/OneMap.vue
  5. +14
    -2
      src/views/dashboard/components/WarningDrawer.vue
  6. +3
    -0
      src/views/task-manage/all-task/components/LiveDrawer.vue
  7. +9
    -3
      src/views/task-manage/all-task/index.vue

+ 1
- 1
src/layout/components/Header/index.vue View File

} }


const handleClick = (list) => { const handleClick = (list) => {
router.push('/')
inspectionStore.setList(list) inspectionStore.setList(list)
router.push('/')
} }


data.timer = setInterval(() => { data.timer = setInterval(() => {

+ 22
- 0
src/store/modules/live.js View File

import { defineStore } from 'pinia'

export const useLiveStore = defineStore('live', {
state() {
return {
list: null
}
},
getters: {
getList() {
return this.list
}
},
actions: {
setList(data) {
this.list = data
},
resetList() {
this.list = null
}
}
})

+ 4
- 3
src/views/dashboard/components/Extend.vue View File

import materials from '@/assets/icon/materials.png' import materials from '@/assets/icon/materials.png'
import personnel from '@/assets/icon/personnel.png' import personnel from '@/assets/icon/personnel.png'
import { implement } from '@/api/task/index.js' import { implement } from '@/api/task/index.js'
import { useLiveStore } from '@/store/modules/live.js'
const ICON_LIST = { const ICON_LIST = {
'002000': problemSpot_icon, '002000': problemSpot_icon,
'002001': deadTree_icon, '002001': deadTree_icon,
emits: ['send'], emits: ['send'],
setup(props, { emit }) { setup(props, { emit }) {
const router = useRouter() const router = useRouter()
const liveStore = useLiveStore()
const data = reactive({ const data = reactive({
selectedTab: 0, selectedTab: 0,
extendList: [ extendList: [
*/ */
const liveShow = (rowInfo) => { const liveShow = (rowInfo) => {
rowInfo = JSON.stringify(rowInfo) rowInfo = JSON.stringify(rowInfo)
liveStore.setList(rowInfo)
router.push({ router.push({
path: '/taskManage/all',
query: { rowInfo: rowInfo }
path: '/taskManage/all'
}) })
} }



+ 5
- 0
src/views/dashboard/components/OneMap.vue View File

? 'pointer' ? 'pointer'
: '' : ''
}) })

// 从其他页面点击网页头部进来, 若有直播, 则打开抽屉
if (inspectionStore.getList?.id) {
data.drawerShow = true
}
} }


/** /**

+ 14
- 2
src/views/dashboard/components/WarningDrawer.vue View File

</template> </template>


<script> <script>
import { defineComponent, ref, reactive, toRefs, computed, watch, nextTick, onBeforeUnmount } from 'vue'
import { defineComponent, ref, reactive, toRefs, computed, watch, nextTick, onBeforeUnmount, onMounted } from 'vue'
import Underlay from './Underlay.vue' import Underlay from './Underlay.vue'
import ControlPanel from './ControlPanel.vue' import ControlPanel from './ControlPanel.vue'
import SpeedChart from './SpeedChart.vue' import SpeedChart from './SpeedChart.vue'
}) })


watch(() => inspectionStore.getList, (value) => { watch(() => inspectionStore.getList, (value) => {
if (inspectionStore.getList) {
uavCheck(value)
}
})

const uavCheck = (value) => {
if (value) { if (value) {
// 获取无人机实时数据,绘制表格 // 获取无人机实时数据,绘制表格
if (value.airportId) { if (value.airportId) {
} }
}, 6 * 60 * 1000) }, 6 * 60 * 1000)
} }
})
}


// 获取无人机信息 // 获取无人机信息
const getUavInfo = async(id) => { const getUavInfo = async(id) => {
} }
} }


onMounted(() => {
if (inspectionStore.getList) {
uavCheck(inspectionStore.getList)
}
})

onBeforeUnmount(() => { onBeforeUnmount(() => {
emergencyVideo.value?.disposeVideo() emergencyVideo.value?.disposeVideo()
clearTimer() clearTimer()

+ 3
- 0
src/views/task-manage/all-task/components/LiveDrawer.vue View File

import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
// 视频组件 // 视频组件
import VideoPlayer from '@/components/VideoPlayer/index.vue' import VideoPlayer from '@/components/VideoPlayer/index.vue'
import { useLiveStore } from '@/store/modules/live.js'
export default defineComponent({ export default defineComponent({
name: 'LiveDrawer', name: 'LiveDrawer',
components: { VideoPlayer }, components: { VideoPlayer },
setup(props, { emit }) { setup(props, { emit }) {
const originRef = ref() const originRef = ref()
const router = useRouter() const router = useRouter()
const liveStore = useLiveStore()
const data = reactive({ const data = reactive({
mapData: null, mapData: null,
view: null, view: null,


}) })
} }
liveStore.resetList()
} }


/* 获取轨迹数据 */ /* 获取轨迹数据 */

+ 9
- 3
src/views/task-manage/all-task/index.vue View File

import { reactive, ref, unref, toRefs, onUnmounted, onMounted } from 'vue' import { reactive, ref, unref, toRefs, onUnmounted, onMounted } from 'vue'
import { getTaskList } from '@/api/task/index.js' import { getTaskList } from '@/api/task/index.js'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import { useLiveStore } from '@/store/modules/live.js'
export default { export default {
name: 'TaskAll', name: 'TaskAll',
components: { HeadSearch, DataTable, TaskModal, LiveDrawer, DemandDrawer, VerifyDrawer }, components: { HeadSearch, DataTable, TaskModal, LiveDrawer, DemandDrawer, VerifyDrawer },
setup() { setup() {
const route = useRoute() const route = useRoute()
const liveStore = useLiveStore()
const rowInfo = route.query.rowInfo const rowInfo = route.query.rowInfo


getAirOptions() getAirOptions()
} }
} }
onMounted(() => { onMounted(() => {
if (rowInfo) {
data.rowData = JSON.parse(rowInfo)
data.liveDrawer = true
if (liveStore.getList) {
// data.rowData = JSON.parse(rowInfo)
data.rowData = JSON.parse(liveStore.getList)
// 巡检任务才展示
if (data.rowData?.type === 1) {
data.liveDrawer = true
}
} }
}) })
onUnmounted(() => { onUnmounted(() => {

Loading…
Cancel
Save