月球大数据地理空间分析展示平台-【前端】-月球2期前端
Surpriseplus
2023-09-04 d80d032784216bc4a61692476947ab36f53788d7
在线制图修改,管理修改
已修改7个文件
301 ■■■■ 文件已修改
src/assets/js/Map/menuTool.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/thematicMap/thematicMap.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/index.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/export/exportList.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layer/layerSet.vue 237 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/menus.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/menuTool.js
@@ -309,6 +309,7 @@
      case "l3": //在线制图
        store.state.isShowMap = true;
        this.setThematicMap();
        break;
      case "l4":
        store.state.isShowMap = true;
@@ -328,6 +329,9 @@
        break;
      case "t3":
        this.delRectangle();
        break;
      case "t4":
        store.state.setExportList = !store.state.setExportList
        break;
    }
  },
@@ -360,6 +364,9 @@
    var north1 = ss[3];
    var south1 = ss[1];
    var geometry = Cesium.Rectangle.fromDegrees(west1, south1, east1, north1);
    Viewer.camera.setView({
      destination: Cesium.Rectangle.fromDegrees(west, south, east, north),
    });
@@ -387,6 +394,7 @@
    // var handle = new SmartEarth.Cesium.ScreenSpaceEventHandler(
    //   earthCtrl.viewer.scene.canvas
    // );
  },
  //坐标定位
src/components/thematicMap/thematicMap.vue
@@ -61,6 +61,7 @@
  right: 0px;
  display: flex;
  cursor: pointer;
  z-index: 40;
  .menu_Box {
    margin-right: 104px;
    display: flex;
src/store/index.ts
@@ -30,6 +30,8 @@
    restLayer: false,
    isShowMap: true,
    spatialTitle: null,
    setExportList: false,
    setLayerManager: false,
  },
  mutations: {
    //获取登录Code
src/views/Index.vue
@@ -5,6 +5,7 @@
      v-if="layerExportshow"
      @SETexportMap="SETexportMap"
    ></export-map>
    <export-list v-if="store.state.setExportList"></export-list>
    <menus></menus>
    <bottom-btn v-if="store.state.isShowMap"></bottom-btn>
    <mouse-move v-if="store.state.isShowMap"></mouse-move>
@@ -57,6 +58,8 @@
import mapclock from "@/views/mapClock/index.vue";
//矢量数据信息弹窗
import detailsQuery from "@/views/query/detailsQuery.vue";
//出图列表
import exportList from "./export/exportList.vue";
import router from "@/router";
import { useStore } from "vuex"; // 引入useStore 方法
src/views/export/exportList.vue
@@ -25,8 +25,13 @@
  defineEmits,
} from "vue";
import { User, Lock } from "@element-plus/icons-vue";
import { useStore } from "vuex"; // 引入useStore 方法
const store = useStore(); // 该方法用于返回store 实例
const emits = defineEmits(["SETspatialClose"]);
const setSpatialClose = () => {};
const setSpatialClose = () => {
  store.state.setExportList = false;
};
</script>
  
  <style lang="less" scoped>
@@ -35,11 +40,11 @@
  height: 400px;
  display: flex;
  position: absolute;
  bottom: 5%;
  right: 5%;
  bottom: 10px;
  right: 50px;
  background: rgba(7, 8, 14, 0.8);
  border: 1px solid #d6e4ff;
  z-index: 10;
  z-index: 50;
  box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1);
  .exportTitle {
    padding: 10px;
src/views/layer/layerSet.vue
@@ -3,7 +3,10 @@
    <div class="layerBox">
      <div class="layerTitle">
        <div class="tileLeft">
          <div class="titleImg" @click="editState">
          <div
            class="titleImg"
            @click="editState"
          >
            <ArrowLeft />
          </div>
          <div class="titleLable">图层编辑</div>
@@ -19,57 +22,78 @@
          :expand-on-click-node="false"
          @node-click="handleNodeClick"
          ref="treeRef"
          style="font-size: 16px;"
        />
      </div>
    </div>
    <div class="edit_box">
      <div class="edit_box_btn btnstyle">
        <el-button type="primary" :icon="Plus" @click="insertLayerData(1)"
          >新增同级</el-button
        >
        <el-button type="primary" :icon="Plus" @click="insertLayerData(2)"
          >新增子级</el-button
        >
        <el-button
          type="primary"
          :icon="Plus"
          @click="insertLayerData(1)"
        >新增同级</el-button>
        <el-button
          type="primary"
          :icon="Plus"
          @click="insertLayerData(2)"
        >新增子级</el-button>
        <el-button
          type="primary"
          :icon="Delete"
          class="delbtn"
          @click="delLayer"
          >删除</el-button
        >
        <el-button type="primary" :icon="Top" @click="move(1)"
          >向上移动</el-button
        >
        <el-button type="primary" :icon="Bottom" @click="move(2)"
          >向下移动</el-button
        >
        >删除</el-button>
        <el-button
          type="primary"
          :icon="Top"
          @click="move(1)"
        >向上移动</el-button>
        <el-button
          type="primary"
          :icon="Bottom"
          @click="move(2)"
        >向下移动</el-button>
      </div>
      <div class="edit_box_form">
        <el-form :model="formInline" label-width="120px">
        <el-form
          :model="formInline"
          label-width="120px"
        >
          <el-form-item label="图层类型">
            <el-select style="width: 100%" v-model="formInline.isLayer">
              <el-option label="图层组" value="0"></el-option>
              <el-option label="图层" value="1"></el-option>
            <el-select
              style="width: 100%"
              v-model="formInline.isLayer"
            >
              <el-option
                label="图层组"
                value="0"
              ></el-option>
              <el-option
                label="图层"
                value="1"
              ></el-option>
            </el-select>
          </el-form-item>
          <!-- 服务资源-->
          <el-form-item v-show="formInline.isLayer == 1" label="服务资源">
          <el-form-item
            v-show="formInline.isLayer == 1"
            label="服务资源"
          >
            <el-button
              size="small"
              class="serviceButton"
              @click="setServiceChange('0')"
              key="0"
              :class="{ serviceActive: !serviceActive }"
              >否</el-button
            >
            >否</el-button>
            <el-button
              size="small"
              class="serviceButton"
              @click="setServiceChange('1')"
              key="1"
              :class="{ serviceActive: serviceActive }"
              >是</el-button
            >
            >是</el-button>
          </el-form-item>
          <el-form-item label="图层名称">
@@ -79,7 +103,10 @@
            />
          </el-form-item>
          <!-- 服务类别 -->
          <el-form-item v-show="formInline.isLayer == 1" label="服务类别">
          <el-form-item
            v-show="formInline.isLayer == 1"
            label="服务类别"
          >
            <el-select
              style="width: 100%"
              v-model="formInline.category"
@@ -94,7 +121,10 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="表名称" v-show="formInline.category == 2">
          <el-form-item
            label="表名称"
            v-show="formInline.category == 2"
          >
            <el-input
              v-model="formInline.tab"
              placeholder="请输入表名称"
@@ -102,7 +132,10 @@
            />
          </el-form-item>
          <!-- 数据类型 -->
          <el-form-item v-show="formInline.isLayer == 1" label="数据类型">
          <el-form-item
            v-show="formInline.isLayer == 1"
            label="数据类型"
          >
            <el-select
              style="width: 100%"
              v-model="formInline.data"
@@ -119,7 +152,10 @@
            </el-select>
          </el-form-item>
          <!-- 数据类型 -->
          <el-form-item v-show="formInline.isLayer == 1" label="服务类型">
          <el-form-item
            v-show="formInline.isLayer == 1"
            label="服务类型"
          >
            <el-select
              style="width: 100%"
              v-model="formInline.type"
@@ -135,7 +171,10 @@
            </el-select>
          </el-form-item>
          <el-form-item label="服务地址" v-show="formInline.isLayer == 1">
          <el-form-item
            label="服务地址"
            v-show="formInline.isLayer == 1"
          >
            <el-input
              v-model="formInline.serviceUrl"
              placeholder="请输入服务地址"
@@ -144,40 +183,63 @@
          </el-form-item>
          <el-form-item>
            <div class="btnstyle editBtn">
              <el-button type="primary" @click="onSubmit">确定</el-button>
              <el-button class="delbtn" @click="updateRest">取消</el-button>
              <el-button
                type="primary"
                @click="onSubmit"
              >确定</el-button>
              <el-button
                class="delbtn"
                @click="updateRest"
              >取消</el-button>
            </div>
          </el-form-item>
        </el-form>
      </div>
    </div>
    <el-dialog title="新增" v-model="dialogVisible" width="50%">
    <el-dialog
      title="新增"
      v-model="dialogVisible"
      width="50%"
    >
      <div style="width: 100%; max-height: 63vh; overflow-y: auto">
        <el-form :model="insertData" label-width="120px">
        <el-form
          :model="insertData"
          label-width="120px"
        >
          <el-form-item label="图层类型">
            <el-select style="width: 100%" v-model="insertData.isLayer">
              <el-option label="图层组" value="0"></el-option>
              <el-option label="图层" value="1"></el-option>
            <el-select
              style="width: 100%"
              v-model="insertData.isLayer"
            >
              <el-option
                label="图层组"
                value="0"
              ></el-option>
              <el-option
                label="图层"
                value="1"
              ></el-option>
            </el-select>
          </el-form-item>
          <!-- 服务资源-->
          <el-form-item v-show="insertData.isLayer == 1" label="服务资源">
          <el-form-item
            v-show="insertData.isLayer == 1"
            label="服务资源"
          >
            <el-button
              size="small"
              class="serviceButton"
              @click="setInsertServiceChange('0')"
              key="0"
              :class="{ serviceActive: !insertServiceActive }"
              >否</el-button
            >
            >否</el-button>
            <el-button
              size="small"
              class="serviceButton"
              @click="setInsertServiceChange('1')"
              key="1"
              :class="{ serviceActive: insertServiceActive }"
              >是</el-button
            >
            >是</el-button>
          </el-form-item>
          <el-form-item label="图层名称">
@@ -187,7 +249,10 @@
            />
          </el-form-item>
          <!-- 服务类别 -->
          <el-form-item v-show="insertData.isLayer == 1" label="服务类别">
          <el-form-item
            v-show="insertData.isLayer == 1"
            label="服务类别"
          >
            <el-select
              style="width: 100%"
              v-model="insertData.category"
@@ -202,7 +267,10 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="表名称" v-show="insertData.category == 2">
          <el-form-item
            label="表名称"
            v-show="insertData.category == 2"
          >
            <el-input
              v-model="insertData.tab"
              placeholder="请输入表名称"
@@ -210,7 +278,10 @@
            />
          </el-form-item>
          <!-- 数据类型 -->
          <el-form-item v-show="insertData.isLayer == 1" label="数据类型">
          <el-form-item
            v-show="insertData.isLayer == 1"
            label="数据类型"
          >
            <el-select
              style="width: 100%"
              v-model="insertData.data"
@@ -227,7 +298,10 @@
            </el-select>
          </el-form-item>
          <!-- 数据类型 -->
          <el-form-item v-show="insertData.isLayer == 1" label="服务类型">
          <el-form-item
            v-show="insertData.isLayer == 1"
            label="服务类型"
          >
            <el-select
              style="width: 100%"
              v-model="insertData.type"
@@ -243,7 +317,10 @@
            </el-select>
          </el-form-item>
          <el-form-item label="服务地址" v-show="insertData.isLayer == 1">
          <el-form-item
            label="服务地址"
            v-show="insertData.isLayer == 1"
          >
            <el-input
              v-model="insertData.serviceUrl"
              placeholder="请输入服务地址"
@@ -252,44 +329,61 @@
          </el-form-item>
          <el-form-item>
            <div class="btnstyle editBtn">
              <el-button type="primary" size="small" @click="added()"
                >确定</el-button
              >
              <el-button
                type="primary"
                size="small"
                @click="added()"
              >确定</el-button>
              <el-button
                class="delbtn"
                type="info"
                size="small"
                @click="submitCancel()"
                >取消</el-button
              >
              >取消</el-button>
            </div>
          </el-form-item>
        </el-form>
      </div>
    </el-dialog>
    <el-dialog v-model="dialogService" width="50%" :show-close="false">
    <el-dialog
      v-model="dialogService"
      width="50%"
      :show-close="false"
    >
      <div style="width: 100%; max-height: 63vh; overflow-y: auto">
        <div
          style="display: flex; justify-content: space-between"
          class="tableForm"
        >
          <div>
            <el-input size="small" v-model="listData.name">
            <el-input
              size="small"
              v-model="listData.name"
            >
              <template #suffix>
                <el-icon
                  class="el-input__icon el-icon-search"
                  @click="setServiceQuery"
                  ><search
                /></el-icon>
                >
                  <search />
                </el-icon>
              </template>
            </el-input>
          </div>
          <div class="btnstyle">
            <el-button type="info" size="small" @click="setServiceRest">
            <el-button
              type="info"
              size="small"
              @click="setServiceRest"
            >
              重置
            </el-button>
            <el-button type="primary" size="small" @click="setServiceConfirm">
            <el-button
              type="primary"
              size="small"
              @click="setServiceConfirm"
            >
              确认
            </el-button>
            <el-button
@@ -302,15 +396,26 @@
            </el-button>
          </div>
        </div>
        <el-table ref="multipleTable" :data="tableData" @select="selectChange">
          <el-table-column type="selection" width="55"> </el-table-column>
        <el-table
          ref="multipleTable"
          :data="tableData"
          @select="selectChange"
        >
          <el-table-column
            type="selection"
            width="55"
          > </el-table-column>
          <el-table-column
            align="center"
            type="index"
            label="序号"
            width="70px"
          />
          <el-table-column align="center" prop="cnName" label="资源名称" />
          <el-table-column
            align="center"
            prop="cnName"
            label="资源名称"
          />
          <el-table-column
            align="center"
@@ -325,7 +430,10 @@
            :formatter="setResType"
          />
        </el-table>
        <div class="pagination_box" style="margin-top: 15px">
        <div
          class="pagination_box"
          style="margin-top: 15px"
        >
          <el-pagination
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
@@ -937,7 +1045,7 @@
      align-items: center;
      .titleLable {
        font-size: 24px;
        font-size: 18px;
        font-family: Source Han Sans CN;
        font-weight: 400;
        color: #ffffff;
@@ -957,6 +1065,11 @@
    height: 92%;
    overflow: auto;
  }
  /deep/.el-tree-node__content {
    font-size: 16px;
  }
  .layerContent::-webkit-scrollbar {
    width: 8px;
  }
src/views/menus.vue
@@ -1,10 +1,21 @@
<template>
  <div class="menus" v-show="fullScreen">
  <div
    class="menus"
    v-show="fullScreen"
  >
    <div class="logo_box">
      <img src="../assets/img/logo.png" alt="" class="logo" />
      <img
        src="../assets/img/logo.png"
        alt=""
        class="logo"
      />
      <div class="logo_name">
        <h3>月球大数据地理空间分析展示平台</h3>
        <img src="../assets/img/logob.png" alt="" class="logo_name_b" />
        <img
          src="../assets/img/logob.png"
          alt=""
          class="logo_name_b"
        />
      </div>
    </div>
    <div class="menus_box">
@@ -29,7 +40,10 @@
      </div>
    </div>
  </div>
  <div class="content_box" v-show="fullScreen">
  <div
    class="content_box"
    v-show="fullScreen"
  >
    <div
      v-show="checkMenuFlag == 'l1'"
      style="position: relative; display: flex"
@@ -46,10 +60,17 @@
    <search v-if="thematicMapBtnState"> </search>
  </div>
  <top-btn v-show="fullScreen" v-if="thematicMapBtnState"></top-btn>
  <top-btn
    v-show="fullScreen"
    v-if="thematicMapBtnState"
  ></top-btn>
  <thematic-map v-show="!thematicMapBtnState"></thematic-map>
  <div class="fullScreen_btn" v-show="!fullScreen" @click="screen"></div>
  <div
    class="fullScreen_btn"
    v-show="!fullScreen"
    @click="screen"
  ></div>
  <div
    v-show="store.state.doubleMenu"
    class="setDobuleMap"
@@ -122,11 +143,11 @@
    // fullScreen.value = !fullScreen.value;
    screen();
  }
  debugger;
  if (res.id == "l3") {
    thematicMapState.value = false;
    thematicMapBtnState.value = false;
  } else {
  } else if (res.id != "11") {
    thematicMapState.value = true;
    thematicMapBtnState.value = true;
  }