管道基础大数据平台系统开发-【前端】-新系統界面
TreeWish
2023-02-07 7976e60dfd49be4d2f68d2b371353df6637aee91
二维地图比例尺&指北针
已修改4个文件
2082 ■■■■ 文件已修改
public/index.html 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/lang/zh.js 1407 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/mapol.vue 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/exportMap/index.vue 516 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html
@@ -1,39 +1,66 @@
<!DOCTYPE html>
<html lang="">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <title> </title>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <title>
  </title>
    <link rel="stylesheet" href="./SmartEarthSDK/Workers/css/smartearth.css" />
    <link rel="stylesheet" href="./SmartEarthSDK/Workers/layui/css/layui.css" />
  <link rel="stylesheet" href="./SmartEarthSDK/Workers/css/smartearth.css">
  <link rel="stylesheet" href="./SmartEarthSDK/Workers/layui/css/layui.css">
    <script src="./SmartEarthSDK/Workers/polyfill.min.js"></script>
    <script src="./SmartEarthSDK/Cesium/Cesium.js"></script>
    <script src="./SmartEarthSDK/SmartEarth.min.js"></script>
    <script src="./SmartEarthSDK/Workers/TreeTool.js"></script>
    <script src="./config/config.js"></script>
    <script src="./config/rsa.min.js"></script>
    <script src="./config/rollups.js"></script>
  <script src="./SmartEarthSDK/Workers/polyfill.min.js"></script>
  <script src="./SmartEarthSDK/Cesium/Cesium.js"></script>
  <script src="./SmartEarthSDK/SmartEarth.min.js"></script>
  <script src="./SmartEarthSDK/Workers/TreeTool.js"></script>
  <script src="./config/config.js"></script>
  <script src="./config/rsa.min.js"></script>
  <script src="./config/rollups.js"></script>
    <style>
      .esriControlsBR {
        display: none;
      }
  <style>
    .esriControlsBR {
      display: none;
    }
      .ol-overlaycontainer-stopevent {
        /* display: none; */
      }
      .ol-control button {
        display: block;
        margin: 1px;
        padding: 0;
        color: rgb(102, 102, 102);
        font-weight: bold;
        text-decoration: none;
        font-size: inherit;
        text-align: center;
        height: 1.375em;
        width: 1.375em;
        line-height: 0.4em;
        background-color: #fff;
        border: none;
        border-radius: 2px;
      }
      .ol-full-screen {
        position: absolute;
        right: 0.5em;
        top: 0.5em;
      }
      .ol-rotate {
        position: absolute;
        top: 3em;
        right: 0.5em;
        transition: opacity 0.25s linear, visibility 0s linear;
      }
      .ol-scale-line {
        right: 0.3em;
        bottom: 0.5em;
        position: absolute;
      }
    </style>
  </head>
    .ol-overlaycontainer-stopevent {
      display: none;
    }
  </style>
</head>
<body>
  <div id="app"></div>
</body>
</html>
  <body>
    <div id="app"></div>
  </body>
</html>
src/assets/lang/zh.js
@@ -1,775 +1,776 @@
const zh = {
  common: {
    confirm: '确认',
    choose: '请选择',
    name: '名称',
    edit: '编辑',
    delete: '删除',
    username: '用户名称',
    empty: '清空',
    iquery: '查询',
    selectdate: '请选择日期',
    pleaseInput: '请输入',
    update: '修改',
    append: '新增',
    operate: '操作',
    clickupload: '点击上传',
    upload: '上传',
    preservation: '保存',
    close: '关闭',
    see: '查看',
    index: '序号',
    download: '下载',
    cancel: '取消',
    changepassWord: '批量修改密码',
    reset: '重置',
    submit: '提交',
    logout: '注销',
    NPassword: '新密码',
    SPassword: '确认密码',
    AdminPassword: '管理员密码',
    Warehousin: '入库',
    file: '文件',
    details: '详情',
    enclosure: '附件',
    attachinform: '附件信息',
    filePath: '文件路径',
    fileNme: '文件名称',
    format: '格式',
    size: '大小',
    versionName: '版本名称',
    type: '类型',
    quayTest: '质检',
    md5: 'MD5码',
    lineNuber: '行数',
    pleaseInputPassworld: '请输入密码',
    passworld: '密码',
    language: "English"
    confirm: "确认",
    choose: "请选择",
    name: "名称",
    edit: "编辑",
    delete: "删除",
    username: "用户名称",
    empty: "清空",
    iquery: "查询",
    selectdate: "请选择日期",
    pleaseInput: "请输入",
    update: "修改",
    append: "新增",
    operate: "操作",
    clickupload: "点击上传",
    upload: "上传",
    preservation: "保存",
    close: "关闭",
    see: "查看",
    index: "序号",
    download: "下载",
    cancel: "取消",
    changepassWord: "批量修改密码",
    reset: "重置",
    submit: "提交",
    logout: "注销",
    NPassword: "新密码",
    SPassword: "确认密码",
    AdminPassword: "管理员密码",
    Warehousin: "入库",
    file: "文件",
    details: "详情",
    enclosure: "附件",
    attachinform: "附件信息",
    filePath: "文件路径",
    fileNme: "文件名称",
    format: "格式",
    size: "大小",
    versionName: "版本名称",
    type: "类型",
    quayTest: "质检",
    md5: "MD5码",
    lineNuber: "行数",
    pleaseInputPassworld: "请输入密码",
    passworld: "密码",
    language: "English",
  },
  dataManage: {
    dataManage: '数据管理',
    catalogueManage: '目录管理',
    dataUpdata: '数据上传',
    datawarehousing: '数据入库',
    rangeManage: '值域管理',
    dataRetrieval: '数据检索',
    dataDownload: '数据下载',
    projectManage: '项目管理',
    dataManage: "数据管理",
    catalogueManage: "目录管理",
    dataUpdata: "数据上传",
    datawarehousing: "数据入库",
    rangeManage: "值域管理",
    dataRetrieval: "数据检索",
    dataDownload: "数据下载",
    projectManage: "项目管理",
    projectObj: {
      projname: '项目名称',
      projtype: '项目类型',
      location: '地理位置',
      province: '所属省份',
      country: '所属国家',
      county: '所属县',
      corpname: '建设单位名称',
      department: '主管部门',
      conperiod: '建设工期',
      contents: '工程内容',
      projstate: '项目状态',
      remarks: '备注',
      newProj: '新增项目',
      editProj: '修改项目',
      projname: "项目名称",
      projtype: "项目类型",
      location: "地理位置",
      province: "所属省份",
      country: "所属国家",
      county: "所属县",
      corpname: "建设单位名称",
      department: "主管部门",
      conperiod: "建设工期",
      contents: "工程内容",
      projstate: "项目状态",
      remarks: "备注",
      newProj: "新增项目",
      editProj: "修改项目",
    },
    dataUpObj: {
      catalogue: '目录',
      company: '单位',
      entryTime: '录入时间',
      describe: '描述',
      directoryName: '目录名称',
      catalogDescription: '目录说明',
      uploaddata: '上传数据',
      catalogRemarks: '目录备注',
      newDirectory: '新增目录',
      versionNo: '版本号',
      tableName: '表名',
      receiptdata: '入库数据清单',
      UploadType: '入库类型',
      dataSpecialty: '数据专业',
      storageDirectory: '存储目录',
      dataVersion: '数据版本',
      selectData: '选择数据',
      selectMetadata: '选择元数据',
      entryName: '项目名称',
      catalogue: "目录",
      company: "单位",
      entryTime: "录入时间",
      describe: "描述",
      directoryName: "目录名称",
      catalogDescription: "目录说明",
      uploaddata: "上传数据",
      catalogRemarks: "目录备注",
      newDirectory: "新增目录",
      versionNo: "版本号",
      tableName: "表名",
      receiptdata: "入库数据清单",
      UploadType: "入库类型",
      dataSpecialty: "数据专业",
      storageDirectory: "存储目录",
      dataVersion: "数据版本",
      selectData: "选择数据",
      selectMetadata: "选择元数据",
      entryName: "项目名称",
      selectWBSData: "选择WBS数据",
      selectWBSData: '选择WBS数据',
      coordinateSystem: '坐标系'
      coordinateSystem: "坐标系",
    },
    metadataManage: '元数据管理',
    dataLoading: '数据入库',
    SpatialData: '空间数据管理',
    versionManage: '版本管理',
    metadataManage: "元数据管理",
    dataLoading: "数据入库",
    SpatialData: "空间数据管理",
    versionManage: "版本管理",
    vmobj: {
      keyword: '关键字',
      index: '序号',
      catalogue: '目录',
      createontime: '创建时间',
      createonuser: '创建人员',
      updateontime: '修改时间',
      updateonuser: '修改人员',
      editVersion: '修改版本信息',
      addVersion: '添加版本信息',
      type: '类型',
      coordSystem: '坐标系统',
      scale: '比例尺',
      resolpower: '分辨率',
      name: '名称',
      dirName: '目录',
      format: '格式',
      size: '大小',
      gather: '采集时间',
      depName: '单位',
      describe: '描述',
      keyword: "关键字",
      index: "序号",
      catalogue: "目录",
      createontime: "创建时间",
      createonuser: "创建人员",
      updateontime: "修改时间",
      updateonuser: "修改人员",
      editVersion: "修改版本信息",
      addVersion: "添加版本信息",
      type: "类型",
      coordSystem: "坐标系统",
      scale: "比例尺",
      resolpower: "分辨率",
      name: "名称",
      dirName: "目录",
      format: "格式",
      size: "大小",
      gather: "采集时间",
      depName: "单位",
      describe: "描述",
      versionNumber: '版本号',
      tab: '表名',
      row: '行数'
      versionNumber: "版本号",
      tab: "表名",
      row: "行数",
    },
    dictionaryManage: '字典管理',
    dictionaryManage: "字典管理",
    dictionaryManageObj: {
      tableName: '表名称',
      selectTableName: '选择表名称',
      add: '新增',
      del: '删除',
      number: '编号',
      fieldName: '字段名称',
      fieldAliasName: '字段显示名称',
      fieldType: '字段类型',
      fieldLength: '字段长度',
      FieldPrecision: '字段精度',
      rangeAssociationTable: '值域关联表',
      remark: '备注',
      creationTime: '创建时间',
      createPersonnel: '创建人员',
      updateTime: '更新时间',
      updatePersonnel: '更新人员',
      operation: '操作',
      lookOver: '查看',
      revamp: '修改',
      particulars: '详细信息',
      tableAliasName: '表显示名称',
      cancel: '取 消',
      confirm: '确 定',
      tips: '提示',
      deletedSuccessfully: '删除成功!',
      DeleteFailed: '列表删除失败',
      tipsDelete: '确定是否删除所选内容?',
      NewSuccess: '新增成功',
      FailedAdd: '新增失败',
      tipsAdd: '是否确定添加?',
      failModify: '修改失败',
      modifySuccessfully: '修改成功',
      tipsUp: '是否确定保存修改内容?',
      tableName: "表名称",
      selectTableName: "选择表名称",
      add: "新增",
      del: "删除",
      number: "编号",
      fieldName: "字段名称",
      fieldAliasName: "字段显示名称",
      fieldType: "字段类型",
      fieldLength: "字段长度",
      FieldPrecision: "字段精度",
      rangeAssociationTable: "值域关联表",
      remark: "备注",
      creationTime: "创建时间",
      createPersonnel: "创建人员",
      updateTime: "更新时间",
      updatePersonnel: "更新人员",
      operation: "操作",
      lookOver: "查看",
      revamp: "修改",
      particulars: "详细信息",
      tableAliasName: "表显示名称",
      cancel: "取 消",
      confirm: "确 定",
      tips: "提示",
      deletedSuccessfully: "删除成功!",
      DeleteFailed: "列表删除失败",
      tipsDelete: "确定是否删除所选内容?",
      NewSuccess: "新增成功",
      FailedAdd: "新增失败",
      tipsAdd: "是否确定添加?",
      failModify: "修改失败",
      modifySuccessfully: "修改成功",
      tipsUp: "是否确定保存修改内容?",
    },
    domainManage: {
      index: '序号',
      bak: '备注',
      bsm: '标识码',
      codeDesc: '编码描述',
      domCode: '编码',
      domDesc: '值域表描述',
      domName: '值域名称',
      level: '层级',
      orderid: '序号',
      index: "序号",
      bak: "备注",
      bsm: "标识码",
      codeDesc: "编码描述",
      domCode: "编码",
      domDesc: "值域表描述",
      domName: "值域名称",
      level: "层级",
      orderid: "序号",
    },
    styleManage: '样式管理',
    styleManage: "样式管理",
    styleObj: {
      index: '序号',
      name: '名称',
      type: '类型',
      dirid: '目录 ',
      depid: '单位 ',
      ver: '版本',
      status: '状态',
      precision: '精度',
      descr: '描述',
      fileguid: '样式文件',
      viewguid: '预览文件',
      createUser: '创建人ID',
      createTime: '创建时间',
      updateUser: '更新人ID',
      updateTime: '更新时间',
      bak: '备注',
      deactivate: '停用',
      enable: '启用',
      addStyleData: '添加样式数据',
      index: "序号",
      name: "名称",
      type: "类型",
      dirid: "目录 ",
      depid: "单位 ",
      ver: "版本",
      status: "状态",
      precision: "精度",
      descr: "描述",
      fileguid: "样式文件",
      viewguid: "预览文件",
      createUser: "创建人ID",
      createTime: "创建时间",
      updateUser: "更新人ID",
      updateTime: "更新时间",
      bak: "备注",
      deactivate: "停用",
      enable: "启用",
      addStyleData: "添加样式数据",
      modifyStyleData: '修改样式数据',
      deInformation: '详细信息',
      modifyStyleData: "修改样式数据",
      deInformation: "详细信息",
    },
  },
  operatManage: {
    operatManage: '运维管理',
    ResourceLog: '资源日志',
    organizationManage: '单位管理',
    DownloadLog: '下载日志',
    UserRoleAuthorization: '用户角色授权',
    MenuRoleAuthorization: '菜单权限授权',
    RoleResAuthorization: '角色资源授权',
    RoleMenuAuthorization: '角色菜单授权',
    operatManage: "运维管理",
    ResourceLog: "资源日志",
    organizationManage: "单位管理",
    DownloadLog: "下载日志",
    UserRoleAuthorization: "用户角色授权",
    MenuRoleAuthorization: "菜单权限授权",
    RoleResAuthorization: "角色资源授权",
    RoleMenuAuthorization: "角色菜单授权",
    UserRoleAuthorizationObj: {
      RoleTable: '角色表',
      userTable: '用户表',
      Added: '新增',
      delete: '删除',
      serialNumber: '编号',
      name: '名称',
      PermissionTable: '权限表',
      menuTable: '菜单表',
      server: '服务地址',
      ResTable: '资源表',
      RoleTable: "角色表",
      userTable: "用户表",
      Added: "新增",
      delete: "删除",
      serialNumber: "编号",
      name: "名称",
      PermissionTable: "权限表",
      menuTable: "菜单表",
      server: "服务地址",
      ResTable: "资源表",
    },
    ELM: {
      username: '用户名称',
      ownedSystem: '所属系统',
      operationType: '操作类型',
      date: '时间',
      startDate: '开始时间',
      endDate: '结束时间',
      to: 'zhi',
      ip: '客户端IP',
      search: '搜索',
      reset: '重置',
      all: '全部',
      one: '一张图',
      add: '新增',
      delete: '删除',
      edit: '修改',
      query: '查询',
      please: '请选择',
      usernameInfo: '输入用户名、中文名或拼音首字母查询',
      index: '序号',
      largeModuleName: '大模块名称',
      smallModuleName: '小模块名称',
      resourceName: '资源ID',
      fileName: '文件名',
      type: '类型',
      size: '大小',
      careatetime: '下载日期',
      ipadress: 'IP地址'
      username: "用户名称",
      ownedSystem: "所属系统",
      operationType: "操作类型",
      date: "时间",
      startDate: "开始时间",
      endDate: "结束时间",
      to: "zhi",
      ip: "客户端IP",
      search: "搜索",
      reset: "重置",
      all: "全部",
      one: "一张图",
      add: "新增",
      delete: "删除",
      edit: "修改",
      query: "查询",
      please: "请选择",
      usernameInfo: "输入用户名、中文名或拼音首字母查询",
      index: "序号",
      largeModuleName: "大模块名称",
      smallModuleName: "小模块名称",
      resourceName: "资源ID",
      fileName: "文件名",
      type: "类型",
      size: "大小",
      careatetime: "下载日期",
      ipadress: "IP地址",
    },
    userManagement: '用户管理',
    systemLayout: '系统配置',
    userManagement: "用户管理",
    systemLayout: "系统配置",
    sysLayOutObj: {
      name: '名称',
      cvalue: '当前值',
      dvalue: '默认值',
      minValue: '最小值',
      maxValue: '最大值',
      descr: '描述',
      editSysLayOut: '修改系统配置',
      name: "名称",
      cvalue: "当前值",
      dvalue: "默认值",
      minValue: "最小值",
      maxValue: "最大值",
      descr: "描述",
      editSysLayOut: "修改系统配置",
    },
    menuSettings: '菜单管理',
    menuSettings: "菜单管理",
    menuSetObj: {
      enName: '英文名称',
      cnName: '中文名称',
      icon: '图标',
      isShow: '是否显示',
      menuUrl: '菜单Url',
      type: '类型',
      bak: '备注',
      authorize: '授权',
      enName: "英文名称",
      cnName: "中文名称",
      icon: "图标",
      isShow: "是否显示",
      menuUrl: "菜单Url",
      type: "类型",
      bak: "备注",
      authorize: "授权",
    },
    parameterConfiguration: '参数配置',
    rests: '其他',
    authorityManagement: '权限管理',
    safetyManagement: '安全管理',
    operationMonitoring: '运行监控',
    systemMonitoring: '服务资源实时监控',
    parameterConfiguration: "参数配置",
    rests: "其他",
    authorityManagement: "权限管理",
    safetyManagement: "安全管理",
    operationMonitoring: "运行监控",
    systemMonitoring: "服务资源实时监控",
    systemMonitoringObj: {
      totalMemory: '总内存',
      haveBeenUsed: '已使用',
      usageRate: '使用率',
      systemMemory: '系统内存',
      CPUusage: 'CPU用量',
      CPUsystemUsage: 'cpu系统用量',
      numberOfExceptions: '异常个数',
      numberOfAbnormalSystems: '异常系统个数',
      serviceAarm: '服务告警',
      serviceResourceAlarm: '服务资源告警',
      serviceResourceStatus: '服务资源状态',
      remainingMemory: '剩余内存',
      userloginStatus: '用户登录状态',
      resourceOperationStatus: '资源操作状态',
      memoryMonitoring: '内存监控',
      totalMemory: "总内存",
      haveBeenUsed: "已使用",
      usageRate: "使用率",
      systemMemory: "系统内存",
      CPUusage: "CPU用量",
      CPUsystemUsage: "cpu系统用量",
      numberOfExceptions: "异常个数",
      numberOfAbnormalSystems: "异常系统个数",
      serviceAarm: "服务告警",
      serviceResourceAlarm: "服务资源告警",
      serviceResourceStatus: "服务资源状态",
      remainingMemory: "剩余内存",
      userloginStatus: "用户登录状态",
      resourceOperationStatus: "资源操作状态",
      memoryMonitoring: "内存监控",
      cpuMonitoring: 'CPU监控',
      heteroconstant: '异常数',
      cpuMonitoring: "CPU监控",
      heteroconstant: "异常数",
      numberOfExceptions: '异常个数',
      numberOfExceptions: "异常个数",
      resourceInvocationStatus: '资源调用状态',
      resourceCallStatistics: '资源调用统计',
      inquire: '查询',
      EnterTheUserName: '输入用户名称查询',
      EnterTheResourceID: '输入资源id',
      EnterTheUserChineseName: '输入用户名,中文名或者拼音首字母查询',
      onlinePersonnel: '在线人员',
      userID: '用户ID',
      username: '用户名',
      onlineTime: '上线时间',
      abnormalResources: '异常资源',
      resourceID: '资源ID',
      resourceName: '资源名称',
      resourceState: '资源状态',
      abnormaltime: '异常时间',
      resourceInvocationStatus: "资源调用状态",
      resourceCallStatistics: "资源调用统计",
      inquire: "查询",
      EnterTheUserName: "输入用户名称查询",
      EnterTheResourceID: "输入资源id",
      EnterTheUserChineseName: "输入用户名,中文名或者拼音首字母查询",
      onlinePersonnel: "在线人员",
      userID: "用户ID",
      username: "用户名",
      onlineTime: "上线时间",
      abnormalResources: "异常资源",
      resourceID: "资源ID",
      resourceName: "资源名称",
      resourceState: "资源状态",
      abnormaltime: "异常时间",
    },
    logLog: '登录日志',
    operationLog: '操作日志',
    databaseMonitoring: '数据库监控',
    blackwhiteList: '黑/白名单',
    logLog: "登录日志",
    operationLog: "操作日志",
    databaseMonitoring: "数据库监控",
    blackwhiteList: "黑/白名单",
    BWL: {
      blackList: '黑名单',
      whiteList: '白名单',
      blackListIP: '黑名单IP',
      whiteListIP: '白名单IP',
      listIPInfo: '输入IP查询',
      IPState: 'IP状态',
      all: '全部',
      validity: '生效',
      invalidity: '失效',
      interceptionCycle: '拦截周期',
      seconds: '秒',
      mins: '分',
      hours: '时',
      interceptionNumber: '拦截次数',
      change: '修改',
      search: '搜索',
      reset: '重置',
      index: '序号',
      serviceName: '服务名称',
      accessSourceSystem: '访问来源系统',
      IPRequest: '申请IP',
      servicesRequestUrl: '申请服务Url',
      resourceIDRequest: '申请资源Id',
      serviceSystemRequest: '申请服务系统',
      blackListStatus: '黑名单状态',
      operate: '操作',
      effectiveDate: '生效日期',
      requestUser: '申请人',
      tokenInfo: 'token信息',
      whiteListStatus: '白名单状态',
      PageView: '访问次数',
      description: '描述',
      creator: '创建人',
      creationTime: '创建时间',
      update: '更新人',
      UpdateTime: '更新时间',
      blackList: "黑名单",
      whiteList: "白名单",
      blackListIP: "黑名单IP",
      whiteListIP: "白名单IP",
      listIPInfo: "输入IP查询",
      IPState: "IP状态",
      all: "全部",
      validity: "生效",
      invalidity: "失效",
      interceptionCycle: "拦截周期",
      seconds: "秒",
      mins: "分",
      hours: "时",
      interceptionNumber: "拦截次数",
      change: "修改",
      search: "搜索",
      reset: "重置",
      index: "序号",
      serviceName: "服务名称",
      accessSourceSystem: "访问来源系统",
      IPRequest: "申请IP",
      servicesRequestUrl: "申请服务Url",
      resourceIDRequest: "申请资源Id",
      serviceSystemRequest: "申请服务系统",
      blackListStatus: "黑名单状态",
      operate: "操作",
      effectiveDate: "生效日期",
      requestUser: "申请人",
      tokenInfo: "token信息",
      whiteListStatus: "白名单状态",
      PageView: "访问次数",
      description: "描述",
      creator: "创建人",
      creationTime: "创建时间",
      update: "更新人",
      UpdateTime: "更新时间",
    },
    tokentool: 'Token工具',
    tokentool: "Token工具",
    tokentoolObj: {
      tokenId: '资源ID',
      tokenQuery: 'Token ',
      tokenStatus: 'Token 类型',
      whole: '全部',
      normal: '正常',
      invalid: '失效',
      index: '序号',
      token: '令牌',
      duration: '使用时间(分钟)',
      expire: '失效时间',
      type: '类型',
      ip: 'IP地址',
      createUser: '创建人ID',
      createTime: '创建时间',
      updateUser: '更新人ID',
      updateTime: '更新时间',
      operation: '操作',
      renewal: '续期',
      addToken: '新增 Token 信息',
      editToken: '修改 Token 信息',
      temporary: '临时',
      fixed: '固定',
      tokenId: "资源ID",
      tokenQuery: "Token ",
      tokenStatus: "Token 类型",
      whole: "全部",
      normal: "正常",
      invalid: "失效",
      index: "序号",
      token: "令牌",
      duration: "使用时间(分钟)",
      expire: "失效时间",
      type: "类型",
      ip: "IP地址",
      createUser: "创建人ID",
      createTime: "创建时间",
      updateUser: "更新人ID",
      updateTime: "更新时间",
      operation: "操作",
      renewal: "续期",
      addToken: "新增 Token 信息",
      editToken: "修改 Token 信息",
      temporary: "临时",
      fixed: "固定",
    },
    operationLogObj: {
      queryRegion: '查询区',
      resourceName: '资源名称',
      operationType: '操作类型',
      operatingTime: '操作时间',
      startTime: '开始时间',
      endTime: '结束时间',
      inquire: '查询',
      empty: '清空',
      num: '序号',
      username: '用户名',
      systematicName: '系统名称',
      IP: ' IP',
      pleaseInput: '请输入',
      pleaseSelect: '请选择',
      optionDate: '选择日期和时间',
      selectTime: '选择时间',
      operationModule1: '一级模块',
      operationModule2: '二级模块',
      url: '操作网址',
      className: '类名',
      category: '类别',
      bak: '备注',
      check: '查看',
      added: '新增',
      modification: '修改',
      delete: '删除',
      uploading: '上传',
      download: '下载',
      otherOne: '其它',
      status: '状态',
      queryRegion: "查询区",
      resourceName: "资源名称",
      operationType: "操作类型",
      operatingTime: "操作时间",
      startTime: "开始时间",
      endTime: "结束时间",
      inquire: "查询",
      empty: "清空",
      num: "序号",
      username: "用户名",
      systematicName: "系统名称",
      IP: " IP",
      pleaseInput: "请输入",
      pleaseSelect: "请选择",
      optionDate: "选择日期和时间",
      selectTime: "选择时间",
      operationModule1: "一级模块",
      operationModule2: "二级模块",
      url: "操作网址",
      className: "类名",
      category: "类别",
      bak: "备注",
      check: "查看",
      added: "新增",
      modification: "修改",
      delete: "删除",
      uploading: "上传",
      download: "下载",
      otherOne: "其它",
      status: "状态",
    },
  },
  synthesis: {
    import: '导入',
    export: '导出',
    pipelineAnalysis: '管道分析',
    synthesis: '综合展示',
    DownloadList:'下载列表',
    dataApplication: '数据申请',
    sceneExtraction: '场景提取',
    themaic: '专题地图',
    archive: '资料馆',
    coverage: '图层',
    viewport: '视图',
    wander: '漫游',
    analyse: '分析',
    iqyery: '查询',
    orientation: '定位',
    measurement: '测量',
    plotting: '标绘',
    layer: '图层管理',
    release: '场景发布',
    split: '分屏',
    twod: '二维',
    threed: '三维',
    full: '全图',
    zommin: '放大',
    zoomout: '缩小',
    rule: '比例尺',
    compass: '指北针',
    someroaming: '点漫游',
    lineroaming: '线路漫游',
    mouseroaming: '鼠标漫游',
    snapshot: '地图快照',
    tdisplay: '三维演示',
    contouranalysis: '等高线分析',
    slopeanalysis: '坡度分析',
    pathanalysis: '路径分析',
    cuttinganalysis: '地形剖切分析',
    floodanalysis: '洪水淹没分析',
    earthworkcalculation: '土方量计算',
    crosssectionanalysis: '三维截面分析',
    imagecontrast: '影像对比分析',
    somequery: '点查询',
    linequery: '线查询',
    rectangularquery: '矩形查询',
    gardenquery: '圆查询',
    polygonquery: '多边形查询',
    attributequery: '属性查询',
    rangequery: '空间查询',
    gpsrtk: '坐标定位',
    placenamelocation: '地名定位',
    distancemeasure: '距离测量',
    heightsurve: '高程测量',
    areasurvey: '面积测量',
    volummeasure: '体积测量',
    point: '点',
    line: '线',
    rectangle: '矩形',
    polygon: '多边形',
    symboliclabel: '符号化标签',
    flatterrain: '地形平整',
    terrainexcavation: '地形开挖',
    removepaint: '清除绘制',
    openFile: '打开',
    saveFile: '保存',
    import: "导入",
    export: "导出",
    pipelineAnalysis: "管道分析",
    synthesis: "综合展示",
    DownloadList: "下载列表",
    dataApplication: "数据申请",
    sceneExtraction: "场景提取",
    themaic: "专题地图",
    archive: "资料馆",
    coverage: "图层",
    viewport: "视图",
    wander: "漫游",
    analyse: "分析",
    iqyery: "查询",
    orientation: "定位",
    measurement: "测量",
    plotting: "标绘",
    layer: "图层管理",
    release: "场景发布",
    split: "分屏",
    twod: "二维",
    threed: "三维",
    full: "全图",
    zommin: "放大",
    zoomout: "缩小",
    rule: "比例尺",
    compass: "指北针",
    someroaming: "点漫游",
    lineroaming: "线路漫游",
    mouseroaming: "鼠标漫游",
    snapshot: "地图快照",
    tdisplay: "三维演示",
    contouranalysis: "等高线分析",
    slopeanalysis: "坡度分析",
    pathanalysis: "路径分析",
    cuttinganalysis: "地形剖切分析",
    floodanalysis: "洪水淹没分析",
    earthworkcalculation: "土方量计算",
    crosssectionanalysis: "三维截面分析",
    imagecontrast: "影像对比分析",
    somequery: "点查询",
    linequery: "线查询",
    rectangularquery: "矩形查询",
    gardenquery: "圆查询",
    polygonquery: "多边形查询",
    attributequery: "属性查询",
    rangequery: "空间查询",
    gpsrtk: "坐标定位",
    placenamelocation: "地名定位",
    distancemeasure: "距离测量",
    heightsurve: "高程测量",
    areasurvey: "面积测量",
    volummeasure: "体积测量",
    point: "点",
    line: "线",
    rectangle: "矩形",
    polygon: "多边形",
    symboliclabel: "符号化标签",
    flatterrain: "地形平整",
    terrainexcavation: "地形开挖",
    removepaint: "清除绘制",
    openFile: "打开",
    saveFile: "保存",
    synthobj: {
      m1: '表面距离',
      m2: '空间距离',
      m3: '海拔高度',
      m4: '垂直高度',
      m5: '表面面积',
      m6: '平面面积',
      m7: '体积',
      m8: '角度',
      m9: '高程量测',
      m1: "表面距离",
      m2: "空间距离",
      m3: "海拔高度",
      m4: "垂直高度",
      m5: "表面面积",
      m6: "平面面积",
      m7: "体积",
      m8: "角度",
      m9: "高程量测",
    },
    more: '更多',
    Multiplechoice: '多选',
    Singlechoice: '单选',
    undergroundMode: '地下模式'
    more: "更多",
    Multiplechoice: "多选",
    Singlechoice: "单选",
    undergroundMode: "地下模式",
    visibilityAnalysis: "通视分析",
    circularViewAnalysis: "圆形视域分析",
    viewAnalysis: "视域分析",
  },
  dataApply: {
    type1: '作废',
    type2: '打回',
    type3: '审核中',
    type4: '通过',
    descr: '描述',
    uname: '申请人',
    status: '状态',
    careatetime: '申请日期',
    ReApply: '重新申请',
    details: '详情'
    type1: "作废",
    type2: "打回",
    type3: "审核中",
    type4: "通过",
    descr: "描述",
    uname: "申请人",
    status: "状态",
    careatetime: "申请日期",
    ReApply: "重新申请",
    details: "详情",
  },
  downlog: {
    type1: 'Shp文件',
    type2: '专题图',
    type3: '元数据',
    type4: '业务数据',
    type1: "Shp文件",
    type2: "专题图",
    type3: "元数据",
    type4: "业务数据",
  },
  loglog: {
    serialnumber: '序号',
    coverage: '图层',
    systematic: '所属系统',
    ipadress: 'IP 地址',
    operationtime: '操作时间',
    operationtype: '操作类型',
    operationStatus: '操作状态',
    username: '用户名',
    applicationProgram: '应用程序',
    describe: '描述',
    login: '登录',
    checkout: '校验',
    logout: '登出',
    serialnumber: "序号",
    coverage: "图层",
    systematic: "所属系统",
    ipadress: "IP 地址",
    operationtime: "操作时间",
    operationtype: "操作类型",
    operationStatus: "操作状态",
    username: "用户名",
    applicationProgram: "应用程序",
    describe: "描述",
    login: "登录",
    checkout: "校验",
    logout: "登出",
  },
  themaic: {
    name: '专题地图',
    maptltle: '地图名称',
    all: '全部',
    sortbytime: '按时间排序',
    sortbyviews: '按浏览次数排序',
    find: '共找到',
    record: '条数据',
    name: "专题地图",
    maptltle: "地图名称",
    all: "全部",
    sortbytime: "按时间排序",
    sortbyviews: "按浏览次数排序",
    find: "共找到",
    record: "条数据",
  },
  archive: {
    name: '管道资料',
    keyword: '关键字',
    uname: '名称',
    type: '类型',
    modifications: '修改次数',
    creationtime: '创建时间',
    state: '状态',
    name: "管道资料",
    keyword: "关键字",
    uname: "名称",
    type: "类型",
    modifications: "修改次数",
    creationtime: "创建时间",
    state: "状态",
  },
  userManage: {
    userManage: '用户管理',
    userInfoManage: '用户信息管理',
    authorityManage: '权限管理',
    userManage: "用户管理",
    userInfoManage: "用户信息管理",
    authorityManage: "权限管理",
    userInfoObj: {
      uid: '登录账号',
      addPermission: '添加权限',
      editPermission: '修改权限',
      name: '名称',
      tag: '标识',
      createUser: '创建人ID',
      createTime: '创建时间',
      updateUser: '更新人ID',
      updateTime: '更新时间',
      bak: '备注',
      userStatus: '用户状态',
      all: '全部',
      normal: '正常',
      disable: '禁用',
      delete: '删除',
      apply: '申请',
      rejection: '拒批',
      userexport: 'Excel用户导出',
      userinput: 'Excel用户导入',
      userStatus: '用户状态',
      uname: '用户名',
      pwd: '密码',
      confirmPassword: '确认密码',
      origpassword: '原密码',
      available: '账号可用',
      sex: '性别',
      natives: '籍贯',
      depName: '单位名称',
      idcard: '证件号',
      job: '工作',
      edu: '教育',
      addr: '地址',
      email: '电子邮件',
      contact: '联系方式',
      status: '状态',
      bak: '备注',
      depid: '所属部门',
      chineseName: '中文名[用户名]',
      affiliatedUnit: '所属单位[在职]',
      mobileNumber: '手机号[接收短信]',
      state: '状态',
      post: '职务',
      addtime: '添加时间',
      userAccount: '用户账号',
      userInformation: '用户资料',
      username: '用户名',
      userpssword: '密码',
      userstate: '用户状态',
      accountinformation: '账号信息',
      toapplied: '待申请',
      phoneticAlphabet: '拼音首字母',
      userchinesename: '中文名',
      sex: '性别',
      userMan: '男',
      userWoMan: '女',
      nativePlace: '籍贯',
      identityCard: '身份证',
      education: '学历',
      pleaseSelect: '- 请选择 -',
      occupation: '职业名称',
      email: 'Email',
      receiveSMS: '接收短信',
      major: '所学专业',
      phoneNumber: '手机号',
      officeTelephone: '办公室电话',
      addressbook: '通讯录地址',
      remarks: '备注说明',
      scanningcopy: '扫描件',
      spantitle1: '(建议图片大小:262 × 146 像素)',
      spantitle2: '(用户账号申请单扫描件,文件格式:PDF,大小不得超过20M)',
      doctor: '博士',
      master: '硕士',
      undergraduate: '本科',
      juniorCollege: '大专',
      other: '其他',
      assistant: '助理',
      intermediate: '中级',
      senior: '高级',
      v1: '局长',
      fv1: '副局长',
      v2: '司长',
      fv2: '副司长',
      v3: '厅长',
      fv3: '副厅长',
      v4: '处长',
      fv4: '副处长',
      v5: '科长',
      fv5: '副科长',
      v6: '科员',
      v7: '主任',
      fv7: '副主任',
      v8: '技术人员',
      v9: '所长',
      fv9: '其他',
      uid: "登录账号",
      addPermission: "添加权限",
      editPermission: "修改权限",
      name: "名称",
      tag: "标识",
      createUser: "创建人ID",
      createTime: "创建时间",
      updateUser: "更新人ID",
      updateTime: "更新时间",
      bak: "备注",
      userStatus: "用户状态",
      all: "全部",
      normal: "正常",
      disable: "禁用",
      delete: "删除",
      apply: "申请",
      rejection: "拒批",
      userexport: "Excel用户导出",
      userinput: "Excel用户导入",
      userStatus: "用户状态",
      uname: "用户名",
      pwd: "密码",
      confirmPassword: "确认密码",
      origpassword: "原密码",
      available: "账号可用",
      sex: "性别",
      natives: "籍贯",
      depName: "单位名称",
      idcard: "证件号",
      job: "工作",
      edu: "教育",
      addr: "地址",
      email: "电子邮件",
      contact: "联系方式",
      status: "状态",
      bak: "备注",
      depid: "所属部门",
      chineseName: "中文名[用户名]",
      affiliatedUnit: "所属单位[在职]",
      mobileNumber: "手机号[接收短信]",
      state: "状态",
      post: "职务",
      addtime: "添加时间",
      userAccount: "用户账号",
      userInformation: "用户资料",
      username: "用户名",
      userpssword: "密码",
      userstate: "用户状态",
      accountinformation: "账号信息",
      toapplied: "待申请",
      phoneticAlphabet: "拼音首字母",
      userchinesename: "中文名",
      sex: "性别",
      userMan: "男",
      userWoMan: "女",
      nativePlace: "籍贯",
      identityCard: "身份证",
      education: "学历",
      pleaseSelect: "- 请选择 -",
      occupation: "职业名称",
      email: "Email",
      receiveSMS: "接收短信",
      major: "所学专业",
      phoneNumber: "手机号",
      officeTelephone: "办公室电话",
      addressbook: "通讯录地址",
      remarks: "备注说明",
      scanningcopy: "扫描件",
      spantitle1: "(建议图片大小:262 × 146 像素)",
      spantitle2: "(用户账号申请单扫描件,文件格式:PDF,大小不得超过20M)",
      doctor: "博士",
      master: "硕士",
      undergraduate: "本科",
      juniorCollege: "大专",
      other: "其他",
      assistant: "助理",
      intermediate: "中级",
      senior: "高级",
      v1: "局长",
      fv1: "副局长",
      v2: "司长",
      fv2: "副司长",
      v3: "厅长",
      fv3: "副厅长",
      v4: "处长",
      fv4: "副处长",
      v5: "科长",
      fv5: "副科长",
      v6: "科员",
      v7: "主任",
      fv7: "副主任",
      v8: "技术人员",
      v9: "所长",
      fv9: "其他",
    },
    orgManage: '组织机构管理',
    orgManage: "组织机构管理",
    orgManageObj: {
      remarks: '备注',
      continformation: '联系方式',
      WebsiteAddress: '网站地址',
      companyName: '单位名称',
      flatType: '单位类型',
      inquire: '查询',
      delete: '清除',
      add: '新增',
      num: '序号',
      phone: '联系电话',
      operate: '操作',
      edit: '编辑',
      unitInformation: '单位信息',
      userList: '用户-列表',
      username: '用户名称',
      ChineseNameUsername: '中文名【用户名】',
      phoneNumberToTeceiveShortMessages: '手机号【接收短信】',
      status: '状态',
      confirm: '确定',
      close: '关闭',
      administrativeDvisionsList: '行政区划-列表',
      name: '名称',
      coding: '编码',
      codeOfAdministrativeDivision: '行政区划代码',
      LevelForExaminationAndApproval: '审批级别',
      seaAreaUseClass: '海域使用等级',
      reset: '重置',
      immediatelyCreate: '立即创建',
      pinyinInitials: '拼音首字母',
      abbreviation: '简称',
      unitCode: '编码',
      organizationCode: '机构代码',
      companyAdministrator: '单位管理员',
      picture: '图片',
      division: '所属区划',
      EMail: 'E-Mail地址',
      fax: '传真',
      postalCode: '邮政编码',
      website: '网址',
      cmpanyAddress: '地址',
      companyIntroduction: '单位介绍',
      remarks: "备注",
      continformation: "联系方式",
      WebsiteAddress: "网站地址",
      companyName: "单位名称",
      flatType: "单位类型",
      inquire: "查询",
      delete: "清除",
      add: "新增",
      num: "序号",
      phone: "联系电话",
      operate: "操作",
      edit: "编辑",
      unitInformation: "单位信息",
      userList: "用户-列表",
      username: "用户名称",
      ChineseNameUsername: "中文名【用户名】",
      phoneNumberToTeceiveShortMessages: "手机号【接收短信】",
      status: "状态",
      confirm: "确定",
      close: "关闭",
      administrativeDvisionsList: "行政区划-列表",
      name: "名称",
      coding: "编码",
      codeOfAdministrativeDivision: "行政区划代码",
      LevelForExaminationAndApproval: "审批级别",
      seaAreaUseClass: "海域使用等级",
      reset: "重置",
      immediatelyCreate: "立即创建",
      pinyinInitials: "拼音首字母",
      abbreviation: "简称",
      unitCode: "编码",
      organizationCode: "机构代码",
      companyAdministrator: "单位管理员",
      picture: "图片",
      division: "所属区划",
      EMail: "E-Mail地址",
      fax: "传真",
      postalCode: "邮政编码",
      website: "网址",
      cmpanyAddress: "地址",
      companyIntroduction: "单位介绍",
    },
    userAuditing: '用户审核',
    userAuditing: "用户审核",
    UA: {
      userName: '用户名称',
      usernameInfo: '输入用户名、中文名或拼音首字母查询',
      all: '全部',
      approvalPassed: '审核已通过',
      disable: '禁用',
      delete: '删除',
      pendingReview: '待审核',
      auditFailed: '审核不通过',
      userState: '用户状态',
      unitName: '单位名称',
      pass: '通过',
      deny: '不通过',
      query: '查询',
      reset: '清除',
      ChineseName: '中文名【用户名】',
      affiliatedUnit: '所属单位(在职)',
      auditUser: '审核人',
      auditDate: '审核时间',
      state: '状态',
      operate: '操作',
      userName: "用户名称",
      usernameInfo: "输入用户名、中文名或拼音首字母查询",
      all: "全部",
      approvalPassed: "审核已通过",
      disable: "禁用",
      delete: "删除",
      pendingReview: "待审核",
      auditFailed: "审核不通过",
      userState: "用户状态",
      unitName: "单位名称",
      pass: "通过",
      deny: "不通过",
      query: "查询",
      reset: "清除",
      ChineseName: "中文名【用户名】",
      affiliatedUnit: "所属单位(在职)",
      auditUser: "审核人",
      auditDate: "审核时间",
      state: "状态",
      operate: "操作",
    },
    roleManage: '角色管理',
    roleManage: "角色管理",
    RM: {
      roleName: '角色名称',
      ownedSystem: '所属单位',
      add: '新增',
      query: '查询',
      reset: '清除',
      index: '序号',
      Permission: '权限',
      resourcePermission: '资源权限',
      groupSetting: '群组设置',
      operate: '操作',
      one: '一张图',
      describe: '描述',
      remarks: '备注',
      creationtime: '创建时间',
      creationuser: '创建人员',
      updateontime: '修改时间',
      updateonuser: '修改人员',
      insertRole: '添加角色信息',
      updateRole: '修改角色信息',
      isAdmin: '是否为管理员',
      roleName: "角色名称",
      ownedSystem: "所属单位",
      add: "新增",
      query: "查询",
      reset: "清除",
      index: "序号",
      Permission: "权限",
      resourcePermission: "资源权限",
      groupSetting: "群组设置",
      operate: "操作",
      one: "一张图",
      describe: "描述",
      remarks: "备注",
      creationtime: "创建时间",
      creationuser: "创建人员",
      updateontime: "修改时间",
      updateonuser: "修改人员",
      insertRole: "添加角色信息",
      updateRole: "修改角色信息",
      isAdmin: "是否为管理员",
    },
    groupManage: '群组管理',
    groupManage: "群组管理",
    GM: {
      groupName: '群组名称',
      ownedSystem: '所属系统',
      add: '新增',
      query: '查询',
      reset: '清除',
      index: '序号',
      applicationName: '应用系统名称',
      userSetting: '用户设置',
      roleSetting: '角色设置',
      operate: '操作',
      one: '一张图',
      groupName: "群组名称",
      ownedSystem: "所属系统",
      add: "新增",
      query: "查询",
      reset: "清除",
      index: "序号",
      applicationName: "应用系统名称",
      userSetting: "用户设置",
      roleSetting: "角色设置",
      operate: "操作",
      one: "一张图",
    },
    resManage: '资源管理',
    resManage: "资源管理",
    resManageObj: {
      addResource: '添加资源信息',
      name: '资源名称',
      server: '服务地址',
      source: '原始地址',
      depid: '单位ID',
      dirid: '目录ID',
      descr: '描述',
      img: '预览图',
      createUser: '创建人ID',
      createTime: '创建时间',
      updateUser: '更新人ID',
      updateTime: '更新时间',
      bak: '备注',
      addResource: "添加资源信息",
      name: "资源名称",
      server: "服务地址",
      source: "原始地址",
      depid: "单位ID",
      dirid: "目录ID",
      descr: "描述",
      img: "预览图",
      createUser: "创建人ID",
      createTime: "创建时间",
      updateUser: "更新人ID",
      updateTime: "更新时间",
      bak: "备注",
    },
  },
};
}
export default zh;
export default zh
src/components/mapol.vue
@@ -14,62 +14,78 @@
</template>
<script>
import TileLayer from 'ol/layer/Tile';
import XYZ from 'ol/source/XYZ';
import Map from 'ol/Map';
import View from 'ol/View';
import { transform } from 'ol/proj';
import TileLayer from "ol/layer/Tile"
import XYZ from "ol/source/XYZ"
import Map from "ol/Map"
import View from "ol/View"
import { transform } from "ol/proj"
import {
  OverviewMap,
  defaults as defaultControls,
  FullScreen,
  ScaleLine,
  Rotate,
} from "ol/control.js"
import {
  DragRotateAndZoom,
  defaults as defaultInteractions,
} from 'ol/interaction.js';
export default {
  name: '',
  name: "",
  data() {
    return {
      centerFlag: false,
      isActive: true,
      isMenuLayer: false,
    };
    }
  },
  mounted() {
    this.init2DMap();
    this.init2DMap()
  },
  methods: {
    init2DMap() {
      var vectorLayer = new TileLayer({
        source: new XYZ({
          url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
          url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",
        }),
      });
      })
      var imageLayer = new TileLayer({
        source: new XYZ({
          url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}',
          url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}",
        }),
      });
      })
      window.map = new Map({
        target: 'mapol',
        target: "mapol",
        layers: [imageLayer, vectorLayer],
        view: new View({
          center: transform([105.02, 34.9], 'EPSG:4326', 'EPSG:3857'),
          center: transform([105.02, 34.9], "EPSG:4326", "EPSG:3857"),
          zoom: 4,
          projection: 'EPSG:3857',
          projection: "EPSG:3857",
        }),
      });
        controls: defaultControls().extend([
          new FullScreen(),
          new ScaleLine(),
        ]),
        interactions: defaultInteractions().extend([new DragRotateAndZoom()]),
      })
    },
    changeMenulayer() {
      this.isActive = !this.isActive;
      this.isMenuLayer = !this.isMenuLayer;
      this.setLayerVisible();
      this.isActive = !this.isActive
      this.isMenuLayer = !this.isMenuLayer
      this.setLayerVisible()
    },
    setLayerVisible() {
      if (this.isActive == true) {
        map.getLayers().item(0).setVisible(false);
        map.getLayers().item(1).setVisible(true);
        map.getLayers().item(0).setVisible(false)
        map.getLayers().item(1).setVisible(true)
      } else {
        map.getLayers().item(0).setVisible(true);
        map.getLayers().item(1).setVisible(false);
        map.getLayers().item(0).setVisible(true)
        map.getLayers().item(1).setVisible(false)
      }
    },
  },
};
}
</script>
<style scoped>
@@ -118,7 +134,7 @@
.active {
  width: 100%;
  height: 100%;
  background: url('../assets/img/Layer/imgLayer2.png') no-repeat center;
  background: url("../assets/img/Layer/imgLayer2.png") no-repeat center;
  position: absolute;
  background-size: 100% 100%;
  border-radius: 5px;
@@ -126,7 +142,7 @@
.menuLayer {
  width: 100%;
  height: 100%;
  background: url('../assets/img/Layer/imgLayer1.png') no-repeat center;
  background: url("../assets/img/Layer/imgLayer1.png") no-repeat center;
  position: absolute;
  background-size: 100% 100%;
  border-radius: 5px;
src/views/exportMap/index.vue
@@ -6,24 +6,18 @@
    element-loading-background="rgba(0, 0, 0, 0.8)"
  >
    <div class="topMenu">
      <el-form
        :inline="true"
        :model="formInline"
        class="demo-form-inline"
      >
      <el-form :inline="true" :model="formInline" class="demo-form-inline">
        <el-form-item>
          <el-link
            style="color: white"
            @click="showLeftMenu(1)"
            :underline="false"
            title="图层列表"
          ><i class="el-icon-s-operation"></i></el-link>
            ><i class="el-icon-s-operation"></i
          ></el-link>
        </el-form-item>
        <el-form-item>
          <el-select
            v-model="value"
            placeholder="请选择"
          >
          <el-select v-model="value" placeholder="请选择">
            <el-option
              v-for="item in options"
              :key="item.value"
@@ -39,7 +33,8 @@
            style="color: white"
            @click="setMapAddDraw()"
            :underline="false"
          ><i class="el-icon-edit-outline"></i>绘制</el-link>
            ><i class="el-icon-edit-outline"></i>绘制</el-link
          >
        </el-form-item>
        <el-form-item>
          <el-link
@@ -48,7 +43,8 @@
            @click="setMapRemoveDraw()"
            :underline="false"
            title="图层列表"
          ><i class="el-icon-delete"></i>清除</el-link>
            ><i class="el-icon-delete"></i>清除</el-link
          >
        </el-form-item>
        <el-form-item>
@@ -57,7 +53,7 @@
            @click="showMapApply = true"
            :underline="false"
            :disabled="layerExtent == null"
          >出图申请
            >出图申请
          </el-link>
        </el-form-item>
        <el-form-item>
@@ -65,7 +61,8 @@
            style="color: white"
            @click="getShowMapList"
            :underline="false"
          >出图列表</el-link>
            >出图列表</el-link
          >
        </el-form-item>
        <el-form-item>
          <el-link
@@ -73,13 +70,15 @@
            @click="changeMenulayer"
            :underline="false"
            v-show="isActive"
          >影像</el-link>
            >影像</el-link
          >
          <el-link
            style="color: white"
            v-show="!isActive"
            @click="changeMenulayer"
            :underline="false"
          >矢量</el-link>
            >矢量</el-link
          >
        </el-form-item>
        <el-form-item label="旋转角度">
          <el-input
@@ -96,19 +95,13 @@
      :class="{ left_main_show: !leftMenuOpen }"
    >
      <div class="menu_content">
        <div
          class="topHeader"
          v-show="lefMenuContent"
        >
        <div class="topHeader" v-show="lefMenuContent">
          <div>图层列表</div>
          <div @click="showLeftMenu(2)"><i class="el-icon-s-fold"></i></div>
        </div>
        <el-divider></el-divider>
        <div class="bottomContent">
          <div
            style="width: 100%"
            v-show="lefMenuContent"
          >
          <div style="width: 100%" v-show="lefMenuContent">
            <el-tree
              :data="treeData"
              show-checkbox
@@ -124,67 +117,43 @@
      </div>
    </div>
    <div
      class="mapApplay"
      v-if="showMapApply"
    >
    <div class="mapApplay" v-if="showMapApply">
      <label>出图申请</label>
      <el-divider />
      <el-form
        ref="form"
        :model="form"
        label-width="80px"
      >
      <el-form ref="form" :model="form" label-width="80px">
        <el-form-item label="出图名称">
          <el-input v-model="form.name"></el-input>
        </el-form-item>
        <el-form-item>
          <div style="padding:1%;border:1px solid white">
          <div style="padding: 1%; border: 1px solid white">
            <el-table
              ref="singleTable"
              :data="tableData"
              style="width: 100%"
              height="200"
            >
              <el-table-column
                type="index"
                label="序号"
                width="50"
              >
              <el-table-column type="index" label="序号" width="50">
              </el-table-column>
              <el-table-column
                property="name"
                label="图层名称"
              >
              <el-table-column property="name" label="图层名称">
              </el-table-column>
            </el-table>
          </div>
        </el-form-item>
        <el-form-item>
          <el-button
            type="primary"
            @click="setMapApply"
          >立即创建</el-button>
          <el-button type="primary" @click="setMapApply">立即创建</el-button>
          <el-button @click="showMapApply = false">取消</el-button>
        </el-form-item>
      </el-form>
    </div>
    <div
      class="mapApplay"
      v-if="showMapList"
    >
    <div class="mapApplay" v-if="showMapList">
      <div>
        <label>出图列表</label>
        <div style="float: right">
          <el-link
            @click="showMapList = false"
            :underline="false"
          ><i
              style="color: white"
              class="el-icon-close"
            ></i></el-link>
          <el-link @click="showMapList = false" :underline="false"
            ><i style="color: white" class="el-icon-close"></i
          ></el-link>
        </div>
      </div>
      <el-divider />
@@ -195,24 +164,12 @@
        height="200"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          type="index"
          width="50"
          label="序号"
        >
        <el-table-column type="index" width="50" label="序号">
        </el-table-column>
        <el-table-column
          property="descr"
          label="标题"
        > </el-table-column>
        <el-table-column
          property="name"
          label="文件名称"
        > </el-table-column>
        <el-table-column
          property="createName"
          label="出图人"
        > </el-table-column>
        <el-table-column property="descr" label="标题"> </el-table-column>
        <el-table-column property="name" label="文件名称"> </el-table-column>
        <el-table-column property="createName" label="出图人">
        </el-table-column>
        <el-table-column
          property="createTime"
          :formatter="formatTime"
@@ -220,16 +177,14 @@
        >
        </el-table-column>
        <el-table-column
          label="操作"
          width="120"
        >
        <el-table-column label="操作" width="120">
          <template slot-scope="scope">
            <el-link
              style="color: white"
              @click.native.prevent="downloadMap(scope.$index, scope.row)"
              :underline="false"
            >下载</el-link>
              >下载</el-link
            >
          </template>
        </el-table-column>
      </el-table>
@@ -253,11 +208,7 @@
      width="30%"
      :before-close="handleClose"
    >
      <el-form
        ref="layerform"
        :model="layerform"
        label-width="80px"
      >
      <el-form ref="layerform" :model="layerform" label-width="80px">
        <el-form-item label="服务名称">
          <el-input v-model="layerform.name"></el-input>
        </el-form-item>
@@ -267,48 +218,40 @@
          </el-radio-group>
        </el-form-item>
        <el-form-item label="服务地址">
          <el-input
            type="textarea"
            v-model="layerform.resource"
          ></el-input>
          <el-input type="textarea" v-model="layerform.resource"></el-input>
        </el-form-item>
      </el-form>
      <span
        slot="footer"
        class="dialog-footer"
      >
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button
          type="primary"
          @click="setAddMapLayer"
        >确 定</el-button>
        <el-button type="primary" @click="setAddMapLayer">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import ImageWMS from 'ol/source/ImageWMS';
import Map from 'ol/Map';
import XYZ from 'ol/source/XYZ';
import View from 'ol/View';
import Image from 'ol/layer/Image';
import TileLayer from 'ol/layer/Tile';
import { transform } from 'ol/proj';
import Draw, { createRegularPolygon, createBox } from 'ol/interaction/Draw.js';
import { OSM, Vector as VectorSource } from 'ol/source';
import { Vector as VectorLayer } from 'ol/layer';
import LayerVector from 'ol/layer/Vector';
import Style from 'ol/style/Style';
import Fill from 'ol/style/Fill';
import Stroke from 'ol/style/Stroke';
import Circle from 'ol/style/Circle';
import mapviewVue from '../../components/mapview.vue';
import { removeToken, getToken } from '@/utils/auth';
import $ from 'jquery';
import { exportSelectByPage, perms_selectLayers } from '../../api/api.js';
import moment from 'moment';
import { image_layer } from '../../assets/js/index.js';
import ImageWMS from "ol/source/ImageWMS"
import Map from "ol/Map"
import XYZ from "ol/source/XYZ"
import View from "ol/View"
import { OverviewMap, defaults as defaultControls, FullScreen, ScaleLine, Rotate} from "ol/control.js"
import Image from "ol/layer/Image"
import TileLayer from "ol/layer/Tile"
import { transform } from "ol/proj"
import Draw, { createRegularPolygon, createBox } from "ol/interaction/Draw.js"
import { OSM, Vector as VectorSource } from "ol/source"
import { Vector as VectorLayer } from "ol/layer"
import LayerVector from "ol/layer/Vector"
import Style from "ol/style/Style"
import Fill from "ol/style/Fill"
import Stroke from "ol/style/Stroke"
import Circle from "ol/style/Circle"
import mapviewVue from "../../components/mapview.vue"
import { removeToken, getToken } from "@/utils/auth"
import $ from "jquery"
import { exportSelectByPage, perms_selectLayers } from "../../api/api.js"
import moment from "moment"
import { image_layer } from "../../assets/js/index.js"
export default {
  data() {
    return {
@@ -324,28 +267,26 @@
      rowtype: true,
      loading: false,
      form: {},
      formInline: { role: '' },
      formInline: { role: "" },
      layerform: {},
      tableData: [],
      exportable: [],
      multipleSelection: [],
      options: [
        { label: 'A0', value: 'A0' },
        { label: 'A1', value: 'A1' },
        { label: 'A2', value: 'A2' },
        { label: 'A3', value: 'A3' },
        { label: 'A4', value: 'A4' },
        { label: 'A5', value: 'A5' },
        { label: 'A6', value: 'A6' },
        { label: "A0", value: "A0" },
        { label: "A1", value: "A1" },
        { label: "A2", value: "A2" },
        { label: "A3", value: "A3" },
        { label: "A4", value: "A4" },
        { label: "A5", value: "A5" },
        { label: "A6", value: "A6" },
      ],
      value: 'A4',
      treeData: [
      ],
      value: "A4",
      treeData: [],
      arrList: [],
      defaultProps: {
        children: 'children',
        label: 'label',
        children: "children",
        label: "label",
      },
      draw: null,
      vector: null,
@@ -357,23 +298,23 @@
        pageIndex: 1,
      },
      count: 0,
    };
    }
  },
  mounted() {
    this.LayerStart();
    this.initMap();
    this.showMapLayer();
    this.LayerStart()
    this.initMap()
    this.showMapLayer()
  },
  methods: {
    async LayerStart() {
      const data = await perms_selectLayers();
      const data = await perms_selectLayers()
      if (data.code != 200) {
        return this.$message.error("图层列表查询失败");
        return this.$message.error("图层列表查询失败")
      }
      var std = [];
      var layer_list = [];
      var layer_groups = [];
      var std = []
      var layer_list = []
      var layer_groups = []
      for (var i in data.result) {
        if (data.result[i].type == 1) {
          layer_groups.push({
@@ -395,8 +336,8 @@
            }
            layer_list.push(layer_entity)
            if (data.result[i].isShow == 1) {
              std.push(data.result[i].id);
              this.showMapLayer(layer_entity);
              std.push(data.result[i].id)
              this.showMapLayer(layer_entity)
            }
          }
        }
@@ -408,103 +349,102 @@
          }
        }
      }
      this.treeData = layer_groups;
      this.treeData = layer_groups
      for (var i in data.result) {
        if (data.result[i].type == 2 && data.result[i].url != null) {
          for (var j = 0; j < window.Viewer.imageryLayers._layers.length; j++) {
            var val_id = window.Viewer.imageryLayers._layers[j];
            var val_id = window.Viewer.imageryLayers._layers[j]
            if (val_id.show == true) {
              if (val_id.imageryProvider.name == data.result[i].cnName) {
                std.push(data.result[i].id);
                std.push(data.result[i].id)
              }
            }
          }
        }
      }
      this.$refs.tree.setCheckedKeys(std);
      this.$refs.tree.setCheckedKeys(std)
    },
    showMapLayer(val) {
      var layer2 = new Image({
        name: val.label,
        source: new ImageWMS({
          crossOrigin: 'anonymous',
          crossOrigin: "anonymous",
          url: geoServerURl,
          params: {
            FORMAT: 'image/png',
            VERSION: '1.1.1',
            FORMAT: "image/png",
            VERSION: "1.1.1",
            LAYERS: val.resource,
          },
        }),
      });
      mapView.addLayer(layer2);
      })
      mapView.addLayer(layer2)
    },
    showLeftMenu(res) {
      switch (res) {
        case 1:
          this.leftMenuOpen = !this.leftMenuOpen;
          break;
          this.leftMenuOpen = !this.leftMenuOpen
          break
        case 2:
          this.leftMenuOpen = false;
          break;
          this.leftMenuOpen = false
          break
      }
      if (this.leftMenuOpen == true) {
        setTimeout(() => {
          this.lefMenuContent = true;
        }, 200);
          this.lefMenuContent = true
        }, 200)
      } else {
        setTimeout(() => {
          this.lefMenuContent = false;
        }, 1100);
          this.lefMenuContent = false
        }, 1100)
      }
    },
    formatTime(row, column) {
      let date = row[column.property];
      let date = row[column.property]
      if (date === undefined || date === null) {
        return '';
        return ""
      }
      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
      return moment(parseInt(date)).format("YYYY-MM-DD HH:mm:ss")
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
      this.multipleSelection = val
    },
    handleSizeChange(val) {
      this.listdata.pageIndex = 1;
      this.listdata.pageSize = val;
      this.getShowMapList();
      this.listdata.pageIndex = 1
      this.listdata.pageSize = val
      this.getShowMapList()
    },
    handleCurrentChange(val) {
      this.listdata.pageIndex = val;
      this.getShowMapList();
      this.listdata.pageIndex = val
      this.getShowMapList()
    },
    async getShowMapList() {
      this.showMapList = true;
      const data = await exportSelectByPage(this.listdata);
      this.showMapList = true
      const data = await exportSelectByPage(this.listdata)
      this.exportable = data.result;
      this.exportable = data.result
      this.count = data.count;
      this.count = data.count
    },
    getYMD() {
      let myDate = new Date();
      let myYear = myDate.getFullYear(); //获取完整的年份(4位,1970-????)
      let myMonth = myDate.getMonth() + 1; //获取当前月份(0-11,0代表1月)
      let myToday = myDate.getDate(); //获取当前日(1-31)
      myMonth = myMonth > 9 ? myMonth : '0' + myMonth;
      myToday = myToday > 9 ? myToday : '0' + myToday;
      let nowDate = 'V' + myYear + myMonth + myToday;
      return nowDate;
      let myDate = new Date()
      let myYear = myDate.getFullYear() //获取完整的年份(4位,1970-????)
      let myMonth = myDate.getMonth() + 1 //获取当前月份(0-11,0代表1月)
      let myToday = myDate.getDate() //获取当前日(1-31)
      myMonth = myMonth > 9 ? myMonth : "0" + myMonth
      myToday = myToday > 9 ? myToday : "0" + myToday
      let nowDate = "V" + myYear + myMonth + myToday
      return nowDate
    },
    setExportMapLayer(res) {
      var token = '?token=' + getToken();
      var token = "?token=" + getToken()
      var data = {
        token: token.replace('?token=', ''),
        token: token.replace("?token=", ""),
        title: this.form.name,
        pageSize: this.value,
        province: '山东省',
        scale: '1:20万',
        resolution: '20米',
        province: "山东省",
        scale: "1:20万",
        resolution: "20米",
        date: this.getYMD(),
        layers: res.toString(),
        rotation: 0,
@@ -512,216 +452,214 @@
        ymin: this.layerExtent.ymin,
        xmax: this.layerExtent.xmax,
        ymax: this.layerExtent.ymax,
      };
      }
      $.ajax({
        async: true,
        url: BASE_URL + '/export/insertMap' + token,
        type: 'POST',
        url: BASE_URL + "/export/insertMap" + token,
        type: "POST",
        data: JSON.stringify(data),
        contentType: 'application/json',
        dataType: 'json',
        error: function () { },
        success: (rs) => {
          this.loading = false;
          var value = 'code = ' + rs.code + ', result = ' + rs.result;
        contentType: "application/json",
        dataType: "json",
        error: function () {},
        success: rs => {
          this.loading = false
          var value = "code = " + rs.code + ", result = " + rs.result
          if ((rs.code = 200)) {
            this.$message({
              message: "出图成功,请到出图列表查看并下载",
              type: 'success',
            });
            this.setMapRemoveDraw();
              type: "success",
            })
            this.setMapRemoveDraw()
          } else {
            this.loading = false;
            this.$message.error(value);
            this.loading = false
            this.$message.error(value)
          }
        },
      });
      })
    },
    downloadMap(index, rows) {
      var guid = rows.guid;
      var token = '?token=' + getToken();
      var a = document.createElement('a'); // 创建一个a标签元素
      a.style.display = 'none'; // 设置元素不可见
      a.href = BASE_URL + '/mark/downloadFile' + token + '&guid=' + guid;
      var guid = rows.guid
      var token = "?token=" + getToken()
      var a = document.createElement("a") // 创建一个a标签元素
      a.style.display = "none" // 设置元素不可见
      a.href = BASE_URL + "/mark/downloadFile" + token + "&guid=" + guid
      document.body.appendChild(a); // 加入
      a.click(); // 触发点击,下载
      document.body.removeChild(a); // 释放
      document.body.appendChild(a) // 加入
      a.click() // 触发点击,下载
      document.body.removeChild(a) // 释放
    },
    setMapRemoveDraw() {
      if (this.draw != null) {
        mapView.removeLayer(this.vector);
        mapView.removeLayer(this.vector)
      }
      this.layerExtent = null;
      this.layerExtent = null
    },
    setMapAddDraw() {
      this.setMapRemoveDraw();
      this.setMapRemoveDraw()
      this.source = new VectorSource({ wrapX: false });
      this.source = new VectorSource({ wrapX: false })
      this.vector = new VectorLayer({
        source: this.source,
      });
      mapView.addLayer(this.vector);
      })
      mapView.addLayer(this.vector)
      let type = 'Circle';
      let geometryFunction = createBox();
      let type = "Circle"
      let geometryFunction = createBox()
      this.draw = new Draw({
        source: this.source,
        type,
        geometryFunction,
      });
      mapView.addInteraction(this.draw);
      this.draw.on('drawend', (e) => {
        let feature = e.feature;
        let geom = feature.getGeometry();
        var extent = geom.getExtent();
        var a1 = transform([extent[0], extent[1]], 'EPSG:3857', 'EPSG:4326');
        var a2 = transform([extent[2], extent[3]], 'EPSG:3857', 'EPSG:4326');
      })
      mapView.addInteraction(this.draw)
      this.draw.on("drawend", e => {
        let feature = e.feature
        let geom = feature.getGeometry()
        var extent = geom.getExtent()
        var a1 = transform([extent[0], extent[1]], "EPSG:3857", "EPSG:4326")
        var a2 = transform([extent[2], extent[3]], "EPSG:3857", "EPSG:4326")
        this.layerExtent = {
          xmin: a1[0],
          ymin: a1[1],
          xmax: a2[0],
          ymax: a2[1],
        };
        mapView.removeInteraction(this.draw);
      });
        }
        mapView.removeInteraction(this.draw)
      })
    },
    setMapRole() {
      if (this.formInline.role == '') {
        this.formInline.role = '0';
      if (this.formInline.role == "") {
        this.formInline.role = "0"
      }
      var value = parseFloat(this.formInline.role);
      var value = parseFloat(this.formInline.role)
      var role = (Math.PI / 180) * value;
      mapView.getView().setRotation(role);
      var role = (Math.PI / 180) * value
      mapView.getView().setRotation(role)
    },
    setMapApply() {
      if (this.layerExtent == null) {
        this.$message.error('请选择出图范围');
        return;
        this.$message.error("请选择出图范围")
        return
      }
      this.loading = true;
      var val_data = [];
      this.loading = true
      var val_data = []
      for (var i in this.tableData) {
        val_data.push(this.tableData[i].name);
        val_data.push(this.tableData[i].name)
      }
      if (this.isActive) {
        val_data.push('矢量图');
        val_data.push("矢量图")
      } else {
        val_data.push('影像注记');
        val_data.push('影像图');
        val_data.push("影像注记")
        val_data.push("影像图")
      }
      this.setExportMapLayer(val_data);
      this.showMapApply = false;
      this.form = {};
      this.setExportMapLayer(val_data)
      this.showMapApply = false
      this.form = {}
    },
    handleClose() { },
    handleClose() {},
    handleTreeNodeClick(data, nodes) {
      if (data.children != null) return;
      var layers = mapView.getAllLayers();
      if (data.children != null) return
      var layers = mapView.getAllLayers()
      for (var i in layers) {
        var layer = layers[i];
        var str = 0;
        var layer = layers[i]
        var str = 0
        if (layer.values_.name == data.label) {
          layer.setVisible(nodes); //显示图层
          layer.setVisible(nodes) //显示图层
          if (nodes == true) {
    str++;
            str++
            this.arrList.push({
              name: data.label,
            });
            })
          } else {
            this.arrList.some((item, i) => {
              if (item.name === data.label) {
                this.arrList.splice(i, 1);
                this.arrList.splice(i, 1)
              }
            });
            })
          }
        }
      }
      if (str == 0 && nodes == true) {
        this.showMapLayer(data)
        this.arrList.push({
          name: data.label,
        });
        })
      }
      this.tableData = this.arrList;
      this.tableData = this.arrList
    },
    setAddMapLayer() {
      this.dialogVisible = false;
      this.dialogVisible = false
      this.data[0].children.push({
        label: this.layerform.name,
        type: this.layerform.type,
        resource: this.layerform.resource,
      });
      })
    },
    setLeftMenu() {
      this.showleftMenu = true;
      this.rowtype = true;
      this.showleftMenu = true
      this.rowtype = true
    },
    //左侧菜单点击事件
    changeRowType() {
      this.rowtype = !this.rowtype;
      this.rowtype = !this.rowtype
    },
    //地图初始化
    initMap() {
      var TiandiLayer = new TileLayer({
        source: new XYZ({
          url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
          url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",
        }),
      });
      })
      var GaoDeLayer = new TileLayer({
        source: new XYZ({
          url: 'http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=6',
          url: "http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=6",
        }),
      });
      })
      var GaoDeTitle = new TileLayer({
        source: new XYZ({
          url: 'http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8',
          url: "http://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=1&style=8",
        }),
      });
      })
      window.mapView = new Map({
        target: 'mapView',
        target: "mapView",
        layers: [TiandiLayer, GaoDeLayer, GaoDeTitle],
        view: new View({
          center: transform([105.02, 34.9], 'EPSG:4326', 'EPSG:3857'),
          center: transform([105.02, 34.9], "EPSG:4326", "EPSG:3857"),
          zoom: 4,
          projection: 'EPSG:3857',
          projection: "EPSG:3857",
        }),
      });
      mapView.getLayers().item(1).setVisible(false);
      mapView.getLayers().item(2).setVisible(false);
      this.formInline.role = mapView.getView().getRotation();
        controls: defaultControls().extend([new FullScreen(), new ScaleLine(), new Rotate()]),
      })
      mapView.getLayers().item(1).setVisible(false)
      mapView.getLayers().item(2).setVisible(false)
      // this.formInline.role = mapView.getView().getRotation()
    },
    //切换底图
    changeMenulayer() {
      this.isActive = !this.isActive;
      this.isMenuLayer = !this.isMenuLayer;
      this.setLayerVisible();
      this.isActive = !this.isActive
      this.isMenuLayer = !this.isMenuLayer
      this.setLayerVisible()
    },
    setLayerVisible() {
      if (this.isActive == true) {
        mapView.getLayers().item(1).setVisible(false);
        mapView.getLayers().item(2).setVisible(false);
        mapView.getLayers().item(0).setVisible(true);
        mapView.getLayers().item(1).setVisible(false)
        mapView.getLayers().item(2).setVisible(false)
        mapView.getLayers().item(0).setVisible(true)
      } else {
        mapView.getLayers().item(1).setVisible(true);
        mapView.getLayers().item(2).setVisible(true);
        mapView.getLayers().item(0).setVisible(false);
        mapView.getLayers().item(1).setVisible(true)
        mapView.getLayers().item(2).setVisible(true)
        mapView.getLayers().item(0).setVisible(false)
      }
    },
  },
};
}
</script>
<style lang="less" scoped>