| | |
| | | <template> |
| | | <div class="page-container"> |
| | | <div class="map" id="map"></div> |
| | | |
| | | <div class="weather-box" v-show="weatherShow"> |
| | | <div class="icon"> |
| | | <van-image :src="WEATHER?.[weather] || ''" width="100%" height="100%"></van-image> |
| | | </div> |
| | | |
| | | <div class="content"> |
| | | <span class="tq">{{ weather }} {{ temperature }}</span> |
| | | <span class="tq">风速:{{ windVelocity }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="back-btn" @click="goBackWork" v-show="workNavigationShow"> |
| | | <van-image width="20" height="20" :src="backIcon" /> |
| | | <div class="label">返回</div> |
| | | </div> |
| | | <div class="layer-btn" @click="layerChangePopupShow = true" v-show="layerShow"> |
| | | <van-image width="20" height="20" :src="layerIcon" /> |
| | | <div class="label">图层</div> |
| | | </div> |
| | | |
| | | <div class="location-btn" @click="setMapLocation" v-show="locationShow"> |
| | | <van-image width="20" height="20" :src="locationIcon" /> |
| | | <div class="label">定位</div> |
| | | </div> |
| | | <!-- 事件导航按钮 --> |
| | | <div class="work-btn" v-show="workNavigationShow"> |
| | | <van-button round block type="primary" color="#1D6FE9" @click="openAmap">事件导航</van-button> |
| | | </div> |
| | | <slot name="searchBar"></slot> |
| | | <slot name="eventNav"></slot> |
| | | |
| | | <van-popup v-model:show="layerChangePopupShow" position="bottom" round> |
| | | <div class="popup-container"> |
| | | <div class="category-content"> |
| | | <div class="header"> |
| | | <div class="title">底图切换</div> |
| | | </div> |
| | | |
| | | <div class="content"> |
| | | <div |
| | | class="layer-box" |
| | | :class="{ on: setSelectMapLayerKey === item.key }" |
| | | v-for="(item, ind) in layers" |
| | | :key="ind" |
| | | @click="setMapLayer(item)" |
| | | > |
| | | <div class="image"> |
| | | <van-image :src="item.src" width="100%" height="100%"></van-image> |
| | | </div> |
| | | <div class="label">{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="location-btn" @click="setMapLocation" v-show="locationShow"> |
| | | <van-image width="20" height="20" :src="locationIcon" /> |
| | | <div class="label">定位</div> |
| | | </div> |
| | | </div> |
| | | </van-popup> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { searchGeocoder } from '@/utils/util' |
| | | import mapnavIcon from '@/appDataSource/appwork/mapnav.svg' |
| | | import backIcon from '@/appDataSource/leafletMapIcon/back-icon.svg' |
| | | import incidentPoint from '@/appDataSource/appwork/positioning.svg' |
| | | import droneIcon from '@/appDataSource/leafletMapIcon/drone-icon.svg' |
| | | import userLocationIcon from '@/appDataSource/leafletMapIcon/user-location.svg' |
| | | import layerIcon from '@/appDataSource/leafletMapIcon/layer-icon.svg' |
| | | import locationIcon from '@/appDataSource/leafletMapIcon/location-icon.svg' |
| | | import { useStore } from 'vuex' |
| | | import { getDroneSuggest } from '@/api/home/common' |
| | | import DroneMarkerPopup from '@/appComponents/DroneMarkerPopup/index.vue' |
| | | import EventMarkerPopup from '@/appComponents/EventMarkerPopup/index.vue' |
| | | import { basemapLayer0, basemapLayer1, basemapLayer2, basemapLayer3 } from '@/const/leafletConst' |
| | | |
| | | import L from 'leaflet' |
| | |
| | | import sl from '@/appDataSource/leafletMapIcon/sl.svg' |
| | | import yx from '@/appDataSource/leafletMapIcon/yx.svg' |
| | | import EventBus from '@/utils/eventBus' |
| | | import { polygonTransformScale } from '@/utils/turfFunc' |
| | | import { getEventImage } from '@/utils/stateToImageMap/event' |
| | | import { getDroneStatusImage } from '@/utils/stateToImageMap/drone' |
| | | import { WEATHER } from '@/const/weather' |
| | | |
| | | import { wgs84ToGcj02 } from '@/utils/coordinateTransformation' |
| | | const emit = defineEmits(['location-selected']) |
| | | import _ from 'lodash' |
| | | import { useAreaBoundary } from '@/hooks/useAreaBoundary' |
| | | const { weatherShow, layerShow, locationShow, createWorkShow, workNavigationShow, mapCurrentDetail, clearMarker } = |
| | | const { locationShow, createWorkShow, workNavigationShow, mapCurrentDetail, clearMarker } = |
| | | defineProps({ |
| | | weatherShow: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | layerShow: { |
| | | type: Boolean, |
| | | default: false, |
| | | }, |
| | | locationShow: { |
| | | type: Boolean, |
| | | default: false, |
| | |
| | | }, |
| | | ] |
| | | |
| | | const layerChangePopupShow = ref(false) |
| | | const setSelectMapLayerKey = ref(1) // 选择的地图图层 |
| | | let boundaryInstance = useAreaBoundary({ initFly: true }) |
| | | let markersLayer = null |
| | | const initMap = () => { |
| | | if (map) return |
| | |
| | | doubleClickZoom: false, |
| | | editable: true, //绘制控件 |
| | | }).setView([25.992338, 114.823254], 13) |
| | | boundaryInstance.initBoundary(map) |
| | | |
| | | markersLayer = L.layerGroup().addTo(map) // 创建一个标注层,便于管理和移除 |
| | | if (createWorkShow) { |
| | |
| | | const store = useStore() |
| | | const selectedAreaCode = computed(() => store.state.user.selectedAreaCode) |
| | | |
| | | const weather = ref('') |
| | | // 风速 |
| | | const windVelocity = ref('') |
| | | const temperature = ref('') |
| | | // 获取天气建议 |
| | | const getWeatherSuggest = () => { |
| | | getDroneSuggest({ areaCode: selectedAreaCode.value }).then(res => { |
| | | if (res.data.code !== 0) return |
| | | weather.value = res.data.data.weather |
| | | windVelocity.value = res.data.data.windPower |
| | | temperature.value = res.data.data.temperature |
| | | }) |
| | | } |
| | | const goBackWork = () => { |
| | | const transmitData = { data: { type: 'workDetailback' } } |
| | | wx.miniProgram.navigateBack({ |
| | | delta: 1, |
| | | }) |
| | | wx.miniProgram.postMessage(transmitData) |
| | | uni.postMessage(transmitData) |
| | | |
| | | markersLayer.removeLayer(incidentMarker) |
| | | } |
| | | // 存储事件点标记实例,用于后续更新或移除 |
| | | let incidentMarker = null |
| | | |
| | |
| | | { immediate: true, deep: true } |
| | | ) |
| | | |
| | | const openAmap = () => { |
| | | if (!mapCurrentDetailData.value.longitude || !mapCurrentDetailData.value.latitude) { |
| | | showToast('未获取到事件坐标') |
| | | return |
| | | } |
| | | // wgs84ToGcj02(Number(item.longitude), Number(item.latitude)) |
| | | // wgs84ToGcj02(mapCurrentDetailData.value.longitude, mapCurrentDetailData.value.latitude) |
| | | const [gcjLng, gcjLat] = wgs84ToGcj02( |
| | | Number(mapCurrentDetailData.value.longitude), |
| | | Number(mapCurrentDetailData.value.latitude) |
| | | ) |
| | | |
| | | // 高德地图URL Scheme |
| | | const url = `https://uri.amap.com/marker?position=${gcjLng},${gcjLat}&name=%E4%BA%8B%E4%BB%B6%E7%82%B9&from='ztzf'` |
| | | |
| | | const transmitData = { data: { type: 'browser', data: { url: url } } } |
| | | wx.miniProgram.navigateTo({ url: `/subPackages/browser/index?url=${encodeURIComponent(url)}` }) |
| | | wx.miniProgram.postMessage(transmitData) |
| | | uni.postMessage(transmitData) |
| | | } |
| | | onMounted(async () => { |
| | | getWeatherSuggest() |
| | | |
| | | await nextTick() |
| | | initMap() |
| | |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | // 事件导航按钮 |
| | | .work-btn { |
| | | position: absolute; |
| | | bottom: 80px; |
| | | left: 0; |
| | | right: 0; |
| | | z-index: 996; |
| | | padding: 0 16px; |
| | | display: flex; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .work-btn :deep(.van-button) { |
| | | width: 100%; |
| | | max-width: 194px; |
| | | height: 38px; |
| | | } |
| | | |
| | | .weather-box { |
| | | padding: 4px 0; |
| | | padding-right: 6px; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | position: absolute; |
| | | top: 12px; |
| | | left: 12px; |
| | | |
| | | height: 48px; |
| | | background: #fff; |
| | | z-index: 996; |
| | | |
| | | box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.18); |
| | | border-radius: 6px 6px 6px 6px; |
| | | |
| | | .icon { |
| | | margin-left: 10px; |
| | | width: 24px; |
| | | height: 24px; |
| | | } |
| | | |
| | | .content { |
| | | height: 100%; |
| | | margin-left: 4px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-around; |
| | | |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: 400; |
| | | font-size: 12px; |
| | | color: #757575; |
| | | text-align: left; |
| | | font-style: normal; |
| | | text-transform: none; |
| | | } |
| | | |
| | | .tq { |
| | | margin: 0 5px; |
| | | } |
| | | .qk { |
| | | margin-left: 5px; |
| | | color: #04f043; |
| | | } |
| | | .yellowqk { |
| | | margin-left: 5px; |
| | | color: yellow; |
| | | } |
| | | .redqk { |
| | | margin-left: 5px; |
| | | color: red; |
| | | } |
| | | } |
| | | |
| | | .location-btn, |
| | | .layer-btn, |
| | | .back-btn { |
| | | .location-btn{ |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | |
| | | font-size: 10px; |
| | | } |
| | | } |
| | | .back-btn { |
| | | bottom: 185px; |
| | | } |
| | | .layer-btn { |
| | | bottom: 130px; |
| | | } |
| | | |
| | | .location-btn { |
| | | bottom: 76px; |
| | | } |
| | | } |
| | | |
| | | .popup-container { |
| | | padding: 10px 22px; |
| | | background: #fff; |
| | | border-radius: 12px 12px 0 0; |
| | | |
| | | .category-content { |
| | | .header { |
| | | height: 20px; |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: bold; |
| | | font-size: 16px; |
| | | color: #222324; |
| | | line-height: 20px; |
| | | text-align: left; |
| | | font-style: normal; |
| | | text-transform: none; |
| | | } |
| | | |
| | | .content { |
| | | padding: 12px; |
| | | display: flex; |
| | | background: #fff; |
| | | border-radius: 16px; |
| | | |
| | | .layer-box { |
| | | margin-left: calc((100% / 3 - 84px) * 3 / 2); |
| | | |
| | | &:first-child { |
| | | margin-left: 0; |
| | | } |
| | | |
| | | &.on { |
| | | .image { |
| | | position: relative; |
| | | |
| | | &::after { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | border-radius: 4px 4px 4px 4px; |
| | | border: 4px solid #1d6fe9; |
| | | z-index: 1; |
| | | box-sizing: border-box; |
| | | } |
| | | } |
| | | |
| | | .label { |
| | | color: #1d6fe9; |
| | | } |
| | | } |
| | | |
| | | .image { |
| | | width: 84px; |
| | | height: 82px; |
| | | border-radius: 4px 4px 4px 4px; |
| | | overflow: hidden; |
| | | box-sizing: border-box; |
| | | border: none; |
| | | } |
| | | |
| | | .label { |
| | | margin-top: 6px; |
| | | height: 20px; |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #222324; |
| | | line-height: 20px; |
| | | text-align: center; |
| | | font-style: normal; |
| | | text-transform: none; |
| | | } |
| | | } |
| | | |
| | | .layer-box:nth-child(3n + 1) { |
| | | margin-left: 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="wrapper" :style="{ paddingTop: route.query.topMargin + 'px' }"> |
| | | <div class="wrapper" > |
| | | <WorkMap |
| | | :weatherShow="true" |
| | | :layerShow="true" |
| | |
| | | :workNavigationShow="true" |
| | | :mapCurrentDetail="mapCurrentDetail" |
| | | > |
| | | <template #eventNav> |
| | | <EventNavigation :mapCurrentDetail="mapCurrentDetail"></EventNavigation> |
| | | </template> |
| | | <!-- <template #eventNav>--> |
| | | <!-- <EventNavigation :mapCurrentDetail="mapCurrentDetail"></EventNavigation>--> |
| | | <!-- </template>--> |
| | | </WorkMap> |
| | | </div> |
| | | </template> |
| | |
| | | const store = useStore() |
| | | const userInfo = computed(() => store?.state?.user?.userInfo) |
| | | const route = useRoute() |
| | | const mapCurrentDetail = ref({}) |
| | | const mapCurrentDetail = ref({ |
| | | "id": 8474, |
| | | "wayline_job_id": "51835088-cd94-42f8-b2ec-a9069ced4e7b", |
| | | "event_name": "测试", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "file_path": "upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "longitude": "115.85649472222222", |
| | | "latitude": "28.624301527777778", |
| | | "create_time": "2026-01-13 16:51:57", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260113002", |
| | | "ai_types": "道路裂缝", |
| | | "ai_type_key_list": [ |
| | | "DLLFSB" |
| | | ], |
| | | "work_order_type_dict_key": "ZHZLL", |
| | | "work_order_type": "交通运输与交管", |
| | | "create_user": "曾超杰", |
| | | "update_user": "管理员", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "2009140684346388482", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1123598821738675201", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1806号南昌台湾健康产业城", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "content": "测试", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照2", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-13 16:51:57" |
| | | }) |
| | | const eventNum = ref('') |
| | | // 机巢数据 |
| | | let machineData = ref([]); |
| | |
| | | } |
| | | } |
| | | onMounted(async () => { |
| | | handleNodeClick() |
| | | // handleNodeClick() |
| | | eventNum.value = route.query.currentItem |
| | | await getDataList(eventNum.value) |
| | | // await getDataList(eventNum.value) |
| | | }) |
| | | </script> |
| | | |
| | |
| | | import { getStatusBarHeight } from '@/utils/common'; |
| | | const userStore = useUserStore() |
| | | const userInfo = userStore.userInfo |
| | | const dataList = ref([]) |
| | | const dataList = ref([ |
| | | { |
| | | "id": 8474, |
| | | "wayline_job_id": "51835088-cd94-42f8-b2ec-a9069ced4e7b", |
| | | "event_name": "测试", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "file_path": "upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "longitude": "115.85649472222222", |
| | | "latitude": "28.624301527777778", |
| | | "create_time": "2026-01-13 16:51:57", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260113002", |
| | | "ai_types": "道路裂缝", |
| | | "ai_type_key_list": [ |
| | | "DLLFSB" |
| | | ], |
| | | "work_order_type_dict_key": "ZHZLL", |
| | | "work_order_type": "交通运输与交管", |
| | | "create_user": "曾超杰", |
| | | "update_user": "管理员", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "2009140684346388482", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1123598821738675201", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1806号南昌台湾健康产业城", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "content": "测试", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照2", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-13 16:51:57" |
| | | }, |
| | | { |
| | | "id": 8472, |
| | | "wayline_job_id": "6beae73e-2d5d-47e5-859b-e2a1955d6e3b", |
| | | "event_name": "车事件", |
| | | "event_dict_key": "Traffic_flow", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket//6beae73e-2d5d-47e5-859b-e2a1955d6e3b/DJI_202601091336_002_6beae73e-2d5d-47e5-859b-e2a1955d6e3b/车AI20260112144421001.jpeg", |
| | | "file_path": "/6beae73e-2d5d-47e5-859b-e2a1955d6e3b/DJI_202601091336_002_6beae73e-2d5d-47e5-859b-e2a1955d6e3b/车AI20260112144421001.jpeg", |
| | | "longitude": "115.85502433333333", |
| | | "latitude": "28.623021472222224", |
| | | "create_time": "2026-01-12 14:44:25", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "AI20260112144421001", |
| | | "remark": "江西省南昌市西湖区朝农街道翠菊路银燕物流基地发生车事件", |
| | | "ai_types": "车", |
| | | "ai_type_key_list": [ |
| | | "CGL_CLLTJ" |
| | | ], |
| | | "work_order_type_dict_key": "ZHZLL", |
| | | "work_order_type": "交通运输与交管", |
| | | "create_user": "曾超杰", |
| | | "update_user": "空间大厦管理员", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "2009140684346388482", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1979075301412524033", |
| | | "address": "江西省南昌市西湖区朝农街道翠菊路银燕物流基地", |
| | | "content": "测试", |
| | | "work_type": "2", |
| | | "job_name": "马上智飞202601091336", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-09 13:36:42" |
| | | }, |
| | | { |
| | | "id": 8464, |
| | | "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb", |
| | | "event_name": "1212", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/5e6bc6ecedd830f2415a959667b3841a.jpeg", |
| | | "file_path": "upload/20260107/5e6bc6ecedd830f2415a959667b3841a.jpeg", |
| | | "longitude": "115.85803208048642", |
| | | "latitude": "28.625135341676483", |
| | | "create_time": "2026-01-07 11:18:35", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260107003", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "罗广辉", |
| | | "update_user": "空间大厦管理员", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1896495271624384514", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1979075301412524033", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路世纪吉的堡幼儿园", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/5e6bc6ecedd830f2415a959667b3841a.jpeg", |
| | | "content": "2121", |
| | | "work_type": "3", |
| | | "job_name": "马上智飞202601051720", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-07 11:18:35" |
| | | }, |
| | | { |
| | | "id": 8463, |
| | | "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb", |
| | | "event_name": "122112", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a52b1adda405b94a4f9436e43e1b3185.jpeg", |
| | | "file_path": "upload/20260107/a52b1adda405b94a4f9436e43e1b3185.jpeg", |
| | | "longitude": "115.85780692063119", |
| | | "latitude": "28.624775436656122", |
| | | "create_time": "2026-01-07 11:17:47", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260107002", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "罗广辉", |
| | | "update_user": "空间大厦管理员", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1896495271624384514", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1979075301412524033", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路世纪吉的堡幼儿园", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a52b1adda405b94a4f9436e43e1b3185.jpeg", |
| | | "content": "1", |
| | | "work_type": "3", |
| | | "job_name": "马上智飞202601051720", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-07 11:17:48" |
| | | }, |
| | | { |
| | | "id": 8462, |
| | | "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb", |
| | | "event_name": "1", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a138491d214cc0ce7a5a3eedf6b79680.jpeg", |
| | | "file_path": "upload/20260107/a138491d214cc0ce7a5a3eedf6b79680.jpeg", |
| | | "longitude": "115.85763536212585", |
| | | "latitude": "28.626095211224335", |
| | | "create_time": "2026-01-07 11:14:41", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260107001", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "罗广辉", |
| | | "update_user": "江西融媒", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1896495271624384514", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1993119267150655490", |
| | | "address": "江西省南昌市西湖区朝农街道国贸天琴湾东区", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260107/a138491d214cc0ce7a5a3eedf6b79680.jpeg", |
| | | "content": "1", |
| | | "work_type": "3", |
| | | "job_name": "马上智飞202601051720", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-07 11:14:42" |
| | | }, |
| | | { |
| | | "id": 8461, |
| | | "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101", |
| | | "event_name": "测试", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/c94dca50d34e13f53fd5a5c05abfe03f.jpeg", |
| | | "file_path": "upload/20260106/c94dca50d34e13f53fd5a5c05abfe03f.jpeg", |
| | | "longitude": "115.85623975", |
| | | "latitude": "28.624919472222224", |
| | | "create_time": "2026-01-06 13:38:03", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106018", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "张含笑", |
| | | "update_user": "张含笑", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1909067460995813377", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/c94dca50d34e13f53fd5a5c05abfe03f.jpeg", |
| | | "content": "123", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照-1-5", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 13:38:03" |
| | | }, |
| | | { |
| | | "id": 8460, |
| | | "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb", |
| | | "event_name": "11", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/6ef9355b143d4e89d83c77d18f4e312f.jpeg", |
| | | "file_path": "upload/20260106/6ef9355b143d4e89d83c77d18f4e312f.jpeg", |
| | | "longitude": "115.85763536212585", |
| | | "latitude": "28.626095211224335", |
| | | "create_time": "2026-01-06 11:08:51", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106017", |
| | | "ai_types": "建筑垃圾", |
| | | "ai_type_key_list": [ |
| | | "GCL_JZLJSB" |
| | | ], |
| | | "work_order_type_dict_key": "CGL", |
| | | "work_order_type": "城市管理与综合执法", |
| | | "create_user": "张含笑", |
| | | "update_user": "罗广辉", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1896495271624384514", |
| | | "address": "江西省南昌市西湖区朝农街道国贸天琴湾东区", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/6ef9355b143d4e89d83c77d18f4e312f.jpeg", |
| | | "content": "12", |
| | | "work_type": "3", |
| | | "job_name": "马上智飞202601051720", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 11:08:52" |
| | | }, |
| | | { |
| | | "id": 8459, |
| | | "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101", |
| | | "event_name": "122", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/96c7769b12f2e55b7e788e8f35b0364b.jpeg", |
| | | "file_path": "upload/20260106/96c7769b12f2e55b7e788e8f35b0364b.jpeg", |
| | | "longitude": "115.85623975", |
| | | "latitude": "28.624919472222224", |
| | | "create_time": "2026-01-06 11:08:00", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106016", |
| | | "ai_types": "水生植物漂浮物", |
| | | "ai_type_key_list": [ |
| | | "SMPFWSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "张含笑", |
| | | "update_user": "张含笑", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1909067460995813377", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/96c7769b12f2e55b7e788e8f35b0364b.jpeg", |
| | | "content": "1", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照-1-5", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 11:08:00" |
| | | }, |
| | | { |
| | | "id": 8458, |
| | | "wayline_job_id": "8b4b7529-13ee-4885-a7b8-4a52667444fb", |
| | | "event_name": "12", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/2e065c4f0e78d4fa1cfdd15f65397b85.jpeg", |
| | | "file_path": "upload/20260106/2e065c4f0e78d4fa1cfdd15f65397b85.jpeg", |
| | | "longitude": "115.85677911492691", |
| | | "latitude": "28.62569394530331", |
| | | "create_time": "2026-01-06 11:00:53", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106015", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "张含笑", |
| | | "update_user": "罗广辉", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1896495271624384514", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1836号国贸天琴湾东区", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/2e065c4f0e78d4fa1cfdd15f65397b85.jpeg", |
| | | "content": "22", |
| | | "work_type": "3", |
| | | "job_name": "马上智飞202601051720", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 11:00:54" |
| | | }, |
| | | { |
| | | "id": 8457, |
| | | "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101", |
| | | "event_name": "发布事件", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/ecdfe6c661dba2fa03efcc19a5863680.jpeg", |
| | | "file_path": "upload/20260106/ecdfe6c661dba2fa03efcc19a5863680.jpeg", |
| | | "longitude": "115.85623975", |
| | | "latitude": "28.624919472222224", |
| | | "create_time": "2026-01-06 10:43:29", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106014", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "张含笑", |
| | | "update_user": "张含笑", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1909067460995813377", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/ecdfe6c661dba2fa03efcc19a5863680.jpeg", |
| | | "content": "11", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照-1-5", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 10:43:30" |
| | | }, |
| | | { |
| | | "id": 8456, |
| | | "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101", |
| | | "event_name": "122", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/fc9820c440da478fa5312e8647e1e311.jpeg", |
| | | "file_path": "upload/20260106/fc9820c440da478fa5312e8647e1e311.jpeg", |
| | | "longitude": "115.85623975", |
| | | "latitude": "28.624919472222224", |
| | | "create_time": "2026-01-06 10:38:20", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106013", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "张含笑", |
| | | "update_user": "张含笑", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1909067460995813377", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/fc9820c440da478fa5312e8647e1e311.jpeg", |
| | | "content": "3", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照-1-5", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 10:38:20" |
| | | }, |
| | | { |
| | | "id": 8455, |
| | | "wayline_job_id": "038b8f48-1704-4adc-abb7-7deb85eba101", |
| | | "event_name": "122", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/d9a152ab1484348be5e126f854eca86a.jpeg", |
| | | "file_path": "upload/20260106/d9a152ab1484348be5e126f854eca86a.jpeg", |
| | | "longitude": "115.85623975", |
| | | "latitude": "28.624919472222224", |
| | | "create_time": "2026-01-06 10:38:18", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260106012", |
| | | "ai_types": "水体污染", |
| | | "ai_type_key_list": [ |
| | | "STWLSB" |
| | | ], |
| | | "work_order_type_dict_key": "SLL", |
| | | "work_order_type": "生态环境与水务", |
| | | "create_user": "张含笑", |
| | | "update_user": "张含笑", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "1909067460995813377", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1909067460995813377", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1818号国贸天琴湾", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260106/d9a152ab1484348be5e126f854eca86a.jpeg", |
| | | "content": "3", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照-1-5", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-06 10:38:18" |
| | | } |
| | | ]) |
| | | const currentTab=ref('all') |
| | | const loading = ref(false) |
| | | const hasMore = ref(true) |
| | |
| | | } |
| | | const topMargin = getStatusBarHeight() |
| | | onShow(() => { |
| | | listParams.value.current = 1 |
| | | hasMore.value = true |
| | | dataList.value = [] |
| | | getDataList() |
| | | // listParams.value.current = 1 |
| | | // hasMore.value = true |
| | | // dataList.value = [] |
| | | // getDataList() |
| | | }) |
| | | </script> |
| | | |
| | |
| | | } |
| | | const eventNum = ref('') |
| | | // 工单内容 |
| | | const workDetailData = ref({}) |
| | | const workDetailData = ref({ |
| | | "id": 8474, |
| | | "wayline_job_id": "51835088-cd94-42f8-b2ec-a9069ced4e7b", |
| | | "event_name": "测试", |
| | | "device_sn": "7CTDM5E00B3H61", |
| | | "status": 3, |
| | | "photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "file_path": "upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "longitude": "115.85649472222222", |
| | | "latitude": "28.624301527777778", |
| | | "create_time": "2026-01-13 16:51:57", |
| | | "media_type": "PHOTO_TYPE", |
| | | "event_num": "BHJC20260113002", |
| | | "ai_types": "道路裂缝", |
| | | "ai_type_key_list": [ |
| | | "DLLFSB" |
| | | ], |
| | | "work_order_type_dict_key": "ZHZLL", |
| | | "work_order_type": "交通运输与交管", |
| | | "create_user": "曾超杰", |
| | | "update_user": "管理员", |
| | | "dept_name": "中图智飞(江西省)", |
| | | "create_user_id": "2009140684346388482", |
| | | "user_id": "1991745495648227330", |
| | | "handle_user_id": "1123598821738675201", |
| | | "address": "江西省南昌市西湖区朝农街道抚生南路1806号南昌台湾健康产业城", |
| | | "update_photo_url": "https://wrj.shuixiongit.com/minio/cloud-bucket/upload/20260113/f090f03fdc52499473ab9cbfcdc0876d.jpeg", |
| | | "content": "测试", |
| | | "work_type": "3", |
| | | "job_name": "定向拍照2", |
| | | "is_review": 0, |
| | | "job_create_time": "2026-01-13 16:51:57" |
| | | },) |
| | | onLoad(async options => { |
| | | eventNum.value = options.eventNum |
| | | await getDataList(eventNum.value) |
| | | // await getDataList(eventNum.value) |
| | | }) |
| | | const getDataList = async val => { |
| | | const params = { |