无人机管理后台前端(已迁走)
罗广辉
2025-07-30 2ce7f4f98f581dcd6c58a94aa59ab9f3ce097318
Merge branch 'jiangwu' into dev
6 files modified
2 files added
341 ■■■■■ changed files
.env.development 10 ●●●●● patch | view | raw | blame | history
.env.jiangwu 3 ●●●●● patch | view | raw | blame | history
src/buildConfig/buildConfig/config.default.js 4 ●●●● patch | view | raw | blame | history
src/buildConfig/buildConfig/config.jiangwu.js 8 ●●●● patch | view | raw | blame | history
src/buildConfig/layerConfig/defaultLayer.js 173 ●●●●● patch | view | raw | blame | history
src/buildConfig/layerConfig/jiangwuLayer.js 122 ●●●●● patch | view | raw | blame | history
src/utils/cesium/publicCesium.js 9 ●●●● patch | view | raw | blame | history
src/views/job/components/SearchBox.vue 12 ●●●● patch | view | raw | blame | history
.env.development
@@ -1,3 +1,13 @@
###
 # @Author       : yuan
 # @Date         : 2025-07-29 15:59:42
 # @LastEditors  : yuan
 # @LastEditTime : 2025-07-29 16:15:31
 # @FilePath     : \.env.development
 # @Description  :
 # Copyright 2025 OBKoro1, All Rights Reserved.
 # 2025-07-29 15:59:42
###
NODE_ENV = 'development'
#开发环境配置
.env.jiangwu
@@ -43,3 +43,6 @@
# 设备ip地址
VITE_APP_DEVICE_IP = '139.196.74.78:1883'
VITE_APP_TDT_TOKEN = e110584a27d506da2740edca951683f4
VITE_APP_CESIUM_TOKEN = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkYTZlNGNlYS01NTU1LTQ1MGEtYmNlZS0yNTE2NDk5YWM2MjEiLCJpZCI6MTc5Njk2LCJpYXQiOjE3MDA1NDcwMjV9.qcl4AH2731cfFd0-I1ZLUINPXqvglLkDFD-UGR2zU5M
src/buildConfig/buildConfig/config.default.js
@@ -1,5 +1,9 @@
import defaultLayer from '@/buildConfig/layerConfig/defaultLayer'
export default function getBaseConfig () {
    return {
        loginTitle: '中图智飞低空智能感知网平台',  //登陆页面标题
        ...defaultLayer
    }
}
src/buildConfig/buildConfig/config.jiangwu.js
@@ -1,10 +1,14 @@
import jiangwuLayer from '@/buildConfig/layerConfig/jiangwuLayer'
export default function getBaseConfig () {
    return {
        userLoginTitle (key) {
            return '大吉山钨业无人机安防监测平台'
        },
    routerHash: true, //使用hash路由
        routerHash: true, //使用hash路由
        loginTitle: '大吉山钨业无人机安防监测平台',
      hideMenuTopLogo: true, // 是否隐藏菜单顶部logo
        hideMenuTopLogo: true, // 是否隐藏菜单顶部logo
        ...jiangwuLayer,
    }
}
src/buildConfig/layerConfig/defaultLayer.js
New file
@@ -0,0 +1,173 @@
/*
 * @Author       : yuan
 * @Date         : 2025-06-13 09:48:50
 * @LastEditors  : yuan
 * @LastEditTime : 2025-07-04 18:04:58
 * @FilePath     : \src\buildConfig\layerConfig\defaultLayer.js
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-06-13 09:48:50
 */
import * as Cesium from 'cesium'
import AmapMercatorTilingScheme from '@/utils/cesium/AmapMercatorTilingScheme'
let TDT_Token = import.meta.env.VITE_APP_TDT_TOKEN
const TDT_IMG_C =
    'https://{s}.tianditu.gov.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0' +
    '&LAYER=img&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}' +
    '&style=default&format=tiles&tk=' +
    TDT_Token
// 天地图注记
const TDT_ZJ =
    'https://{s}.tianditu.gov.cn/cia_c/wmts?service=wmts&request=GetTile&version=1.0.0' +
    '&LAYER=cia&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}' +
    '&style=default&format=tiles&tk=' +
    TDT_Token
// 天地图矢量底图
const imageryProvider_stand = new Cesium.UrlTemplateImageryProvider({
    url: `https://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=${TDT_Token}`,
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    // format: 'image/jpeg',
    // show: true,
    maximumLevel: 18,
    credit: 'stand_tc',
})
// 天地图矢量注记
const imageryProvider_standZh = new Cesium.UrlTemplateImageryProvider({
    url: `https://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=${TDT_Token}`,
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    maximumLevel: 18,
    credit: 'stand_zj',
})
// 天地图影像
const imageryProvider_tdt_img_w = new Cesium.WebMapTileServiceImageryProvider({
    url: TDT_IMG_C,
    layer: 'tdtImg_c',
    style: 'default',
    format: 'tiles',
    tileMatrixSetID: 'c',
    subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
    tilingScheme: new Cesium.GeographicTilingScheme(),
    tileMatrixLabels: [
        '1',
        '2',
        '3',
        '4',
        '5',
        '6',
        '7',
        '8',
        '9',
        '10',
        '11',
        '12',
        '13',
        '14',
        '15',
        '16',
        '17',
        '18',
        '19',
    ],
    maximumLevel: 17,
})
// 天地图影像注记
const imageryProvider_tdt_cia_w = new Cesium.WebMapTileServiceImageryProvider({
    url: TDT_ZJ,
    layer: 'tdtZwImg_c',
    style: 'default',
    format: 'tiles',
    tileMatrixSetID: 'c',
    subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
    tilingScheme: new Cesium.GeographicTilingScheme(),
    tileMatrixLabels: [
        '1',
        '2',
        '3',
        '4',
        '5',
        '6',
        '7',
        '8',
        '9',
        '10',
        '11',
        '12',
        '13',
        '14',
        '15',
        '16',
        '17',
        '18',
        '19',
    ],
    maximumLevel: 50,
})
//高德矢量,自带注记
const imageryProvider_ammapSL = new Cesium.UrlTemplateImageryProvider({
    url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
    layer: 'tdtVecBasicLayer',
    style: 'default',
    format: 'image/png',
    tileMatrixSetID: 'GoogleMapsCompatible',
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    maximumLevel: 18,
    tilingScheme: new AmapMercatorTilingScheme(),
    credit: 'amap_SL',
})
//高德影像,自带注记
const imageryProvider_ammap = new Cesium.UrlTemplateImageryProvider({
    url: 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
    layer: 'tdtVecBasicLayer',
    style: 'default',
    format: 'image/png',
    tileMatrixSetID: 'GoogleMapsCompatible',
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    maximumLevel: 18,
    tilingScheme: new AmapMercatorTilingScheme(),
    credit: 'amap_stand',
})
// 高德影像,注记
const imageryProvider_ammapBz = new Cesium.UrlTemplateImageryProvider({
    url: 'https://webst02.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8',
    tilingScheme: new AmapMercatorTilingScheme(),
    minimumLevel: 3,
})
// 天地图矢量底图
const blueImageryProviderVec = new Cesium.UrlTemplateImageryProvider({
    url: `https://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=${TDT_Token}`,
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    // format: 'image/jpeg',
    // show: true,
    maximumLevel: 18,
    credit: 'stand_tc',
})
// 天地图矢量注记-蓝色
const blueImageryProviderCva = new Cesium.UrlTemplateImageryProvider({
    url: `https://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=${TDT_Token}`,
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    maximumLevel: 18,
    credit: 'stand_zj',
})
export default {
    imageryProvider_stand,
    imageryProvider_standZh,
    imageryProvider_tdt_img_w,
    imageryProvider_tdt_cia_w,
    imageryProvider_ammapSL,
    imageryProvider_ammap,
    imageryProvider_ammapBz,
    blueImageryProviderVec,
    blueImageryProviderCva
}
src/buildConfig/layerConfig/jiangwuLayer.js
New file
@@ -0,0 +1,122 @@
/*
 * @Author       : yuan
 * @Date         : 2025-06-13 09:49:01
 * @LastEditors  : yuan
 * @LastEditTime : 2025-06-13 14:02:59
 * @FilePath     : \src\buildConfig\layerConfig\jiangwuLayer.js
 * @Description  :
 * Copyright 2025 OBKoro1, All Rights Reserved.
 * 2025-06-13 09:49:01
 */
import * as Cesium from 'cesium'
import AmapMercatorTilingScheme from '@/utils/cesium/AmapMercatorTilingScheme'
let TDT_Token = import.meta.env.VITE_APP_TDT_TOKEN
const TDT_IMG_C =
    'https://{s}.tianditu.gov.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0' +
    '&LAYER=img&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}' +
    '&style=default&format=tiles&tk=' +
    TDT_Token
// 天地图注记
const TDT_ZJ =
    'https://{s}.tianditu.gov.cn/cia_c/wmts?service=wmts&request=GetTile&version=1.0.0' +
    '&LAYER=cia&tileMatrixSet=c&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}' +
    '&style=default&format=tiles&tk=' +
    TDT_Token
// 天地图矢量底图
const imageryProvider_stand = new Cesium.UrlTemplateImageryProvider({
    url: `${import.meta.env.VITE_APP_OFFLINE_MAP_URL}/slLayer/{z}/{y}/{x}.png`, // 本地瓦片路径
    minimumLevel: 0,  // 最小层级
    maximumLevel: 17, // 最大层级
    tileWidth: 256,   // 瓦片宽度(默认256)
    tileHeight: 256,  // 瓦片高度(默认256)
})
// 天地图矢量注记
const imageryProvider_standZh = new Cesium.UrlTemplateImageryProvider({
    url: `${import.meta.env.VITE_APP_OFFLINE_MAP_URL}/slBzLayer/{z}/{y}/{x}.png`, // 本地瓦片路径
    minimumLevel: 0,  // 最小层级
    maximumLevel: 17, // 最大层级
    tileWidth: 256,   // 瓦片宽度(默认256)
    tileHeight: 256,  // 瓦片高度(默认256)
})
// 天地图影像
const imageryProvider_tdt_img_w = new Cesium.UrlTemplateImageryProvider({
    url: `${import.meta.env.VITE_APP_OFFLINE_MAP_URL}/yxLayer/{z}/{y}/{x}.png`, // 本地瓦片路径
    minimumLevel: 0,  // 最小层级
    maximumLevel: 17, // 最大层级
    tileWidth: 256,   // 瓦片宽度(默认256)
    tileHeight: 256,  // 瓦片高度(默认256)
})
// 天地图影像注记
const imageryProvider_tdt_cia_w = new Cesium.UrlTemplateImageryProvider({
    url: `${import.meta.env.VITE_APP_OFFLINE_MAP_URL}/yxBzLayer/{z}/{y}/{x}.png`, // 本地瓦片路径
    minimumLevel: 0,  // 最小层级
    maximumLevel: 17, // 最大层级
    tileWidth: 256,   // 瓦片宽度(默认256)
    tileHeight: 256,  // 瓦片高度(默认256)
})
//高德矢量,自带注记
const imageryProvider_ammapSL = new Cesium.UrlTemplateImageryProvider({
    url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
    layer: 'tdtVecBasicLayer',
    style: 'default',
    format: 'image/png',
    tileMatrixSetID: 'GoogleMapsCompatible',
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    maximumLevel: 18,
    tilingScheme: new AmapMercatorTilingScheme(),
    credit: 'amap_SL',
})
//高德影像,自带注记
const imageryProvider_ammap = new Cesium.UrlTemplateImageryProvider({
    url: 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
    layer: 'tdtVecBasicLayer',
    style: 'default',
    format: 'image/png',
    tileMatrixSetID: 'GoogleMapsCompatible',
    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
    maximumLevel: 18,
    tilingScheme: new AmapMercatorTilingScheme(),
    credit: 'amap_stand',
})
// 高德影像,注记
const imageryProvider_ammapBz = new Cesium.UrlTemplateImageryProvider({
    url: 'https://webst02.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8',
    tilingScheme: new AmapMercatorTilingScheme(),
    minimumLevel: 3,
})
// 天地图矢量底图-蓝色
const blueImageryProviderVec = new Cesium.UrlTemplateImageryProvider({
    url: `${import.meta.env.VITE_APP_OFFLINE_MAP_URL}/slLayer/{z}/{y}/{x}.png`, // 本地瓦片路径
    minimumLevel: 0,  // 最小层级
    maximumLevel: 17, // 最大层级
    tileWidth: 256,   // 瓦片宽度(默认256)
    tileHeight: 256,  // 瓦片高度(默认256)
})
// 天地图矢量注记-蓝色
const blueImageryProviderCva = new Cesium.UrlTemplateImageryProvider({
    url: `${import.meta.env.VITE_APP_OFFLINE_MAP_URL}/slBzLayer/{z}/{y}/{x}.png`, // 本地瓦片路径
    minimumLevel: 0,  // 最小层级
    maximumLevel: 17, // 最大层级
    tileWidth: 256,   // 瓦片宽度(默认256)
    tileHeight: 256,  // 瓦片高度(默认256)
})
export default {
    imageryProvider_stand,
    imageryProvider_standZh,
    imageryProvider_tdt_img_w,
    imageryProvider_tdt_cia_w,
    imageryProvider_ammapSL,
    imageryProvider_ammap,
    imageryProvider_ammapBz,
    blueImageryProviderVec,
    blueImageryProviderCva
}
src/utils/cesium/publicCesium.js
@@ -1,7 +1,14 @@
import EventBus from './eventBus'
import { Cartesian3, Terrain, Viewer } from 'cesium'
import { imageryProvider_stand, imageryProvider_standZh } from './cesiumLayer'
import getBaseConfig from '@/buildConfig/config'
const {
    imageryProvider_stand,
    imageryProvider_standZh
} = getBaseConfig()
import { addBlueFilter } from './common'
import * as Cesium from 'cesium'
src/views/job/components/SearchBox.vue
@@ -156,7 +156,7 @@
  ai_types: [], // 算法类型
  area_code: userAreaCode.value, // 区域code
  create_dept: '', // 创建部门
  date_enum: 'TODAY', // 日期枚举,可用值:TODAY,CURRENT_WEEK,CURRENT_MONTH,CURRENT_YEAR
  date_enum: 'CURRENT_MONTH', // 日期枚举,可用值:TODAY,CURRENT_WEEK,CURRENT_MONTH,CURRENT_YEAR
  device_sn: '', // 设备编号
  end_date: null, // 结束时间
  industry_type: '', // 行业key
@@ -234,7 +234,7 @@
let timeList = ['today', 'week', 'month', 'year'];
let timeListStr = ['今日', '本周', '本月', '本年'];
let timeListEnum = ['TODAY', 'CURRENT_WEEK', 'CURRENT_MONTH', 'CURRENT_YEAR'];
let checked = ref('today');
let checked = ref('month');
let timeClick = (item, index) => {
  if (checked.value === item){
@@ -282,9 +282,9 @@
    searchForm[key] = '';
  });
  searchForm.ai_types = [];
  searchForm.date_enum = 'TODAY';
  searchForm.date_enum = 'CURRENT_MONTH';
  searchForm.area_code = userAreaCode.value;
  checked.value = 'today';
  checked.value = 'month';
  signDevice_sn.value = ''
    algorithmRef.value?.clear()
  handleNodeClick({ id: userAreaCode.value });
@@ -383,8 +383,8 @@
      display: flex;
      justify-content: space-between;
      cursor: pointer;
      font-size: 14px;
      font-size: 14px;
      .btn {
        width: 80px;
        height: 32px;