diff --git a/package.json b/package.json index e162d6f..84fa7a6 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,8 @@ "@vue/cli-service": "~5.0.0", "eslint": "^7.32.0", "eslint-plugin-vue": "^8.0.3", + "less": "^4.8.1", + "less-loader": "^13.0.0", "vue-template-compiler": "^2.6.14" }, "eslintConfig": { diff --git a/src/assets/image/puse.png b/src/assets/image/puse.png new file mode 100644 index 0000000..b8dda33 Binary files /dev/null and b/src/assets/image/puse.png differ diff --git a/src/assets/image/zhnjshow/03.png b/src/assets/image/zhnjshow/03.png new file mode 100644 index 0000000..c560666 Binary files /dev/null and b/src/assets/image/zhnjshow/03.png differ diff --git a/src/assets/image/zhnjshow/background1.png b/src/assets/image/zhnjshow/background1.png new file mode 100644 index 0000000..de360fe Binary files /dev/null and b/src/assets/image/zhnjshow/background1.png differ diff --git a/src/assets/image/zhnjshow/biaoti.png b/src/assets/image/zhnjshow/biaoti.png new file mode 100644 index 0000000..e5e7d36 Binary files /dev/null and b/src/assets/image/zhnjshow/biaoti.png differ diff --git a/src/assets/image/zhnjshow/big_tlj.png b/src/assets/image/zhnjshow/big_tlj.png new file mode 100644 index 0000000..95fa82a Binary files /dev/null and b/src/assets/image/zhnjshow/big_tlj.png differ diff --git a/src/assets/image/zhnjshow/big_tractor.png b/src/assets/image/zhnjshow/big_tractor.png new file mode 100644 index 0000000..85863fc Binary files /dev/null and b/src/assets/image/zhnjshow/big_tractor.png differ diff --git a/src/assets/image/zhnjshow/djcknj.png b/src/assets/image/zhnjshow/djcknj.png new file mode 100644 index 0000000..93d3ed0 Binary files /dev/null and b/src/assets/image/zhnjshow/djcknj.png differ diff --git a/src/assets/image/zhnjshow/fxp.png b/src/assets/image/zhnjshow/fxp.png new file mode 100644 index 0000000..77c6d7f Binary files /dev/null and b/src/assets/image/zhnjshow/fxp.png differ diff --git a/src/assets/image/zhnjshow/licheng.png b/src/assets/image/zhnjshow/licheng.png new file mode 100644 index 0000000..b722bed Binary files /dev/null and b/src/assets/image/zhnjshow/licheng.png differ diff --git a/src/assets/image/zhnjshow/lizi.gif b/src/assets/image/zhnjshow/lizi.gif new file mode 100644 index 0000000..ef40ead Binary files /dev/null and b/src/assets/image/zhnjshow/lizi.gif differ diff --git a/src/assets/image/zhnjshow/look.png b/src/assets/image/zhnjshow/look.png new file mode 100644 index 0000000..521de1b Binary files /dev/null and b/src/assets/image/zhnjshow/look.png differ diff --git a/src/assets/image/zhnjshow/mianji.png b/src/assets/image/zhnjshow/mianji.png new file mode 100644 index 0000000..a68c1b4 Binary files /dev/null and b/src/assets/image/zhnjshow/mianji.png differ diff --git a/src/assets/image/zhnjshow/neiquan.png b/src/assets/image/zhnjshow/neiquan.png new file mode 100644 index 0000000..e50b186 Binary files /dev/null and b/src/assets/image/zhnjshow/neiquan.png differ diff --git a/src/assets/image/zhnjshow/njxxicon1.png b/src/assets/image/zhnjshow/njxxicon1.png new file mode 100644 index 0000000..abd0834 Binary files /dev/null and b/src/assets/image/zhnjshow/njxxicon1.png differ diff --git a/src/assets/image/zhnjshow/njxxicon2.png b/src/assets/image/zhnjshow/njxxicon2.png new file mode 100644 index 0000000..ceb4696 Binary files /dev/null and b/src/assets/image/zhnjshow/njxxicon2.png differ diff --git a/src/assets/image/zhnjshow/quan.png b/src/assets/image/zhnjshow/quan.png new file mode 100644 index 0000000..0601438 Binary files /dev/null and b/src/assets/image/zhnjshow/quan.png differ diff --git a/src/assets/image/zhnjshow/query.png b/src/assets/image/zhnjshow/query.png new file mode 100644 index 0000000..4de3619 Binary files /dev/null and b/src/assets/image/zhnjshow/query.png differ diff --git a/src/assets/image/zhnjshow/samll_tractor.png b/src/assets/image/zhnjshow/samll_tractor.png new file mode 100644 index 0000000..58a0509 Binary files /dev/null and b/src/assets/image/zhnjshow/samll_tractor.png differ diff --git a/src/assets/image/zhnjshow/time.png b/src/assets/image/zhnjshow/time.png new file mode 100644 index 0000000..739882b Binary files /dev/null and b/src/assets/image/zhnjshow/time.png differ diff --git a/src/assets/image/zhnjshow/timeicon.png b/src/assets/image/zhnjshow/timeicon.png new file mode 100644 index 0000000..aa05cd9 Binary files /dev/null and b/src/assets/image/zhnjshow/timeicon.png differ diff --git a/src/assets/image/zhnjshow/tractor.png b/src/assets/image/zhnjshow/tractor.png new file mode 100644 index 0000000..1f9fa74 Binary files /dev/null and b/src/assets/image/zhnjshow/tractor.png differ diff --git a/src/assets/image/zhnjshow/waiquan.png b/src/assets/image/zhnjshow/waiquan.png new file mode 100644 index 0000000..0096df7 Binary files /dev/null and b/src/assets/image/zhnjshow/waiquan.png differ diff --git a/src/assets/image/zhnjshow/yj.png b/src/assets/image/zhnjshow/yj.png new file mode 100644 index 0000000..f68c6a6 Binary files /dev/null and b/src/assets/image/zhnjshow/yj.png differ diff --git a/src/assets/image/zhnjshow/yujing.png b/src/assets/image/zhnjshow/yujing.png new file mode 100644 index 0000000..4e092b1 Binary files /dev/null and b/src/assets/image/zhnjshow/yujing.png differ diff --git a/src/assets/image/zhnjshow/zlc.png b/src/assets/image/zhnjshow/zlc.png new file mode 100644 index 0000000..bea1bd6 Binary files /dev/null and b/src/assets/image/zhnjshow/zlc.png differ diff --git a/src/components/zhnjCov.vue b/src/components/zhnjCov.vue index 96f4bdf..2915d38 100644 --- a/src/components/zhnjCov.vue +++ b/src/components/zhnjCov.vue @@ -1,1494 +1,1110 @@ - - \ No newline at end of file diff --git a/src/pages/Home/index.vue b/src/pages/Home/index.vue index 8ac4178..b3586d6 100644 --- a/src/pages/Home/index.vue +++ b/src/pages/Home/index.vue @@ -457,6 +457,15 @@ + + @@ -476,6 +485,7 @@ import vueSeamlessScroll from 'vue-seamless-scroll' import hefentianqi from '@/pages/weather/weather.vue' import SoilDialog from '@/components/SoilDialog.vue' import LiulDialog from '@/components/LiulDialog.vue' +import zhnjCov from '@/components/zhnjCov.vue'; import {_colors} from '@/utils/color.js' import SingleEchartDialog from "@/components/SingleEchartDialog.vue"; import TaizhangDialog from "@/components/TaizhangDialog.vue"; @@ -489,7 +499,8 @@ export default { hefentianqi, ScaleBox, SoilDialog, - LiulDialog + LiulDialog, + zhnjCov, }, data() { return { @@ -565,6 +576,9 @@ export default { currentVehicleInfo: null, vehicleLocationMarker: null, vehicleInfoWindow: null, + agriculturalDialogVisible: false, + agriculturalVehicleData: null, + vehicleListFull: null, }; }, created() { @@ -759,81 +773,117 @@ export default { // 显示车辆信息窗口(深色科技风) showVehicleInfoWindow(point, vehicleInfo) { - this.closeVehicleInfoWindow(); - - const lng = parseFloat(point.jingdu || point.longitude || point.lng || point.lon); - const lat = parseFloat(point.weidu || point.latitude || point.lat); - - const vehicleName = vehicleInfo.vePlate || vehicleInfo.plateNumber || '车辆'; - - // 使用自定义HTML,不依赖InfoWindow的默认样式 - const infoContent = ` -
-
- 🚛 - ${vehicleName} + this.closeVehicleInfoWindow(); + + const lng = parseFloat(point.jingdu || point.longitude || point.lng || point.lon); + const lat = parseFloat(point.weidu || point.latitude || point.lat); + + const vehicleName = vehicleInfo.vePlate || vehicleInfo.plateNumber || '车辆'; + + // 使用自定义HTML,不依赖InfoWindow的默认样式 + const infoContent = ` +
+
+ 🚛 + ${vehicleName} +
+
+
+ 设备ID: + ${vehicleInfo.gpsDeviceId || vehicleInfo.gpsId || '--'}
-
-
- 设备ID: - ${vehicleInfo.gpsDeviceId || vehicleInfo.gpsId || '--'} -
-
- 车牌号: - ${vehicleInfo.vePlate || vehicleInfo.plateNumber || '--'} -
-
- 最新时间: - ${point.createTime || point.server_time || point.updateTime || '--'} -
-
- 经度: - ${lng.toFixed(6)} -
-
- 纬度: - ${lat.toFixed(6)} -
+
+ 车牌号: + ${vehicleInfo.vePlate || vehicleInfo.plateNumber || '--'}
-
- 📍 点击标记查看详情 +
+ 最新时间: + ${point.createTime || point.server_time || point.updateTime || '--'} +
+
+ 经度: + ${lng.toFixed(6)} +
+
+ 纬度: + ${lat.toFixed(6)}
- `; +
+ 📍 点击查看农机列表 + +
+
+ `; + + this.vehicleInfoWindow = new AMap.InfoWindow({ + content: infoContent, + offset: new AMap.Pixel(0, -35), + autoMove: true, + closeWhenClickMap: true, + isCustom: true, + }); + + if (!isNaN(lng) && !isNaN(lat)) { + this.vehicleInfoWindow.open(this.aMap, [lng, lat]); + this.vehicleMarkers.push(this.vehicleInfoWindow); - this.vehicleInfoWindow = new AMap.InfoWindow({ - content: infoContent, - offset: new AMap.Pixel(0, -35), - autoMove: true, - closeWhenClickMap: true, - // 关键:设置背景透明 - isCustom: true, - }); - - if (!isNaN(lng) && !isNaN(lat)) { - this.vehicleInfoWindow.open(this.aMap, [lng, lat]); - this.vehicleMarkers.push(this.vehicleInfoWindow); + // 添加点击事件监听 - 点击信息窗口打开农机列表 + setTimeout(() => { + const infoWindowEl = document.querySelector('.vehicle-info-window'); + if (infoWindowEl) { + infoWindowEl.addEventListener('click', (e) => { + // 防止点击内部按钮时冒泡 + if (e.target.closest('.vehicle-info-window')) { + this.openAgriculturalMachineryList(vehicleInfo, point); + } + }); + } - // 额外:手动覆盖InfoWindow的默认背景 - setTimeout(() => { - const infoWindowEl = document.querySelector('.amap-info-content'); - if (infoWindowEl) { - infoWindowEl.style.background = 'transparent !important'; - infoWindowEl.style.padding = '0 !important'; + // 覆盖InfoWindow的默认背景 + const infoWindowContent = document.querySelector('.amap-info-content'); + if (infoWindowContent) { + infoWindowContent.style.background = 'transparent !important'; + infoWindowContent.style.padding = '0 !important'; + } + }, 50); + } +}, + + // 打开智慧农机列表并传值 + openAgriculturalMachineryList(vehicleInfo, point) { + // 构建当前选中的车辆数据 + const vehicleData = { + vehicleInfo: vehicleInfo, + location: point, + vehicleName: vehicleInfo.vePlate || vehicleInfo.plateNumber || '车辆', + deviceId: vehicleInfo.gpsDeviceId || vehicleInfo.gpsId || '', + latitude: point.weidu || point.latitude || point.lat || 0, + longitude: point.jingdu || point.longitude || point.lng || point.lon || 0, + extData: { + vehicleType: '危废车辆', + status: '在线', + lastUpdate: point.createTime || point.server_time || point.updateTime || new Date().toISOString() } - }, 50); - } - }, + }; + + this.closeVehicleInfoWindow(); + this.qcdtdialogTableVisible = false; + + this.agriculturalVehicleData = vehicleData; + this.agriculturalDialogVisible = true; + }, // 关闭信息窗口 closeVehicleInfoWindow() { @@ -872,15 +922,21 @@ export default { pageNo: 1, pageSize: 30, }).then(res => { - this.vehicleList = res.result.records || []; - console.log('车辆列表:', this.vehicleList); + if (res.code === 200 && res.result) { + // 存储完整的返回数据 + this.vehicleListFull = res.result; + // 存储 records 数组 + this.vehicleList = res.result.records || []; + } else { + this.vehicleList = []; + this.vehicleListFull = null; + } }).catch(err => { - console.error('获取车辆列表失败:', err); + this.vehicleList = []; + this.vehicleListFull = null; }); }, - // ==================== 原有方法(保持不变) ==================== - formatter: function (num) { return num.toFixed(3) }, diff --git a/src/pages/Home/index_map.vue11123 b/src/pages/Home/index_map.vue11123 deleted file mode 100644 index f243679..0000000 --- a/src/pages/Home/index_map.vue11123 +++ /dev/null @@ -1,1893 +0,0 @@ - - - - - - -