月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-10-30 ecf3ad202a851caa39660ddfaa16e1bf16565b2e
图层管理修改
已修改5个文件
已删除1个文件
1109 ■■■■■ 文件已修改
src/assets/js/Map/server.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/temporaryTools.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layer/layerDetail.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layer/layerManage copy.vue 846 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layer/layerManage.vue 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layer/layerSet.vue 154 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/Map/server.js
@@ -11,10 +11,11 @@
  geoUrl: null,
  wmsLayerId: null,
  addTreeData(treeNode) {
    if (!treeNode.checked) {
      this.delLayer(treeNode.id);
      return;
    }
    // if (!treeNode.checked) {
//  debugger
      // this.delLayer(treeNode.id);
    // return;
    // }
    this.alpha = this.getResLayersAlpha(treeNode);
    //判断是否为代理
src/assets/js/Map/temporaryTools.js
@@ -10,10 +10,10 @@
            }
        }
    },
    removeAll() {
    removeTemporaryLayerAll() {
        var entities = window.Viewer.entities._entities._array;
        for (var i in entities) {
            if (entities[i]._shpType == "shpType") {
            if (entities[i]._shpType && entities[i]._shpType == "temporaryLayer") {
                window.Viewer.entities.remove(entities[i])
            }
        }
@@ -431,6 +431,7 @@
            layerType: '基本点',
            heightReference: res.point.disableDepthTestDistance != null ? false : true,
            size: res.point.pixelSize._value,
        }
    },
src/views/layer/layerDetail.vue
@@ -508,6 +508,7 @@
          transparence.value = parseInt(alpha * 100);
        }
      });
      releaseLayer.value = props.layerData;
      if (releaseLayer.value.pubid && releaseLayer.value.pubid > 0) {
        drawingModeShow.value = true;
src/views/layer/layerManage copy.vue
ÎļþÒÑɾ³ý
src/views/layer/layerManage.vue
@@ -190,37 +190,29 @@
    // for (var i in keys) {
    //   checkedKeys.push(keys[i]);
    // }
    var keys = estreeRef.value.getCheckedKeys();
    var val = treeData.value[0].children;
    for (var i = 0; i < val.length; i++) {
      if (val[i].id == data.id) {
        val.splice(i, 1);
      }
    }
    var keys = estreeRef.value.getCheckedKeys();
    if (val.length <= 0 && keys.indexOf(data.id) > -1) {
      keys.splice(keys.indexOf(data.id), 1);
      estreeRef.value.setCheckedKeys(keys, true);
    var std = [];
    for (var i in keys) {
      var layer_res = estreeRef.value.getNode(checkedKeys[i]).data;
      if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){
        std.push(checkedKeys[i]);
      }else if(layer_res.isLayer == 1){
        std.push(checkedKeys[i]);
      }
    }
    // nextTick(() => {
    // var str = JSON.parse(std)
    // var layerIds = [];
    // if (str.indexOf(data.id) > -1) {
    //   str.splice(str.indexOf(data.id), 1);
    // }
    // if (str.indexOf(str.value) > -1) {
    //   str.splice(str.indexOf(str.value), 1);
    // }
    // for (var i in str) {
    //   var val = estreeRef.value.getNode(str[i]).data;
    //   if (val.isLayer == 1) {
    //     layerIds.push(str[i]);
    //   }
    // }
    // estreeRef.value.setCheckedKeys(layerIds, true);
    // });
    estreeRef.value.setCheckedKeys([], true);
    console.log(data.id);
    nextTick(() => {
      console.log(std);
      estreeRef.value.setCheckedKeys(std, true);
    });
  } else if (res == 3) {
    let son = estreeRef.value.getCheckedKeys();
    if (son.indexOf(data.id) < 0) {
@@ -234,8 +226,11 @@
  layerAttributeIsshow.value = false;
  layerDetailIsshow.value = false;
  // let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  let son = estreeRef.value.getCheckedNodes();
  store.commit("SET_CHECKLAYER", son);
  temporaryTool.removeTemporaryLayerAll();
  server.delLayerAll();
  var alphaGroup = [];
  var idGroup = [];
  for (var i in server.layerList) {
@@ -246,34 +241,35 @@
    }
  }
  server.delLayerAll();
  temporaryTool.removeAll();
  var setGeoWms = [];
  var geoUrl = null;
  var layerTreeDate = estreeRef.value.getCheckedNodes().reverse();
  for (var i in layerTreeDate) {
    var layerArr = layerTreeDate[i];
    if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
      temporaryTool.addTemporaryTool(layerArr);
    } else {
      if (layerArr.category == 2 && layerArr.type == 3) {
        if (layerArr.tab != "moon:geo_mappable_unit") {
          var id = layerArr.id;
          if (idGroup.indexOf(id) > -1) {
            var alpha = alphaGroup[idGroup.indexOf(id)];
            if (alpha == 1) {
      if (layerArr.isLayer == 1) {
        if (layerArr.category == 2 && layerArr.type == 3) {
          if (layerArr.tab != "moon:geo_mappable_unit") {
            var id = layerArr.id;
            if (idGroup.indexOf(id) > -1) {
              var alpha = alphaGroup[idGroup.indexOf(id)];
              if (alpha == 1) {
                setGeoWms.push(layerArr.tab);
                geoUrl = layerArr.url;
              } else {
                server.setAddGeoWmsLayer(layerArr, alpha);
              }
            } else {
              setGeoWms.push(layerArr.tab);
              geoUrl = layerArr.url;
            } else {
              server.setAddGeoWmsLayer(layerArr, alpha);
            }
          } else {
            setGeoWms.push(layerArr.tab);
            geoUrl = layerArr.url;
          }
        } else {
          server.addTreeData(layerArr);
        }
      } else {
        server.addTreeData(layerArr);
      }
    }
  }
@@ -441,10 +437,12 @@
const setRestLayerData = () => {
  let son = estreeRef.value.getCheckedNodes().reverse();
  var setGeoWms = [];
  var geoUrl = null;
  for (var i in son) {
    var layerArr = son[i];
    console.log(layerArr.isLayer);
    layerArr.checked = true;
    if (layerArr.category == 2 && layerArr.type == 3) {
      if (layerArr.tab != "moon:geo_mappable_unit") {
@@ -554,20 +552,26 @@
    name: res.cnName,
    wkt: JSON.stringify(res),
  };
  var checkedKeys = estreeRef.value.getCheckedKeys();
  const data = await mark_insert(obj);
  if (data.code != 200 || !data.result) return;
  store.state.temporaryLayer = null;
  res.sid = data.result;
  treeData.value[0].children.push(res);
  var id = res.id;
  nextTick(() => {
    var checkedKeys = estreeRef.value.getCheckedKeys();
    if (checkedKeys.indexOf(temporary.value) > -1) {
      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1);
    var std = [res.id];
    for (var i in checkedKeys) {
      var layer_res = estreeRef.value.getNode(checkedKeys[i]).data;
      if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){
        std.push(checkedKeys[i]);
      }else if(layer_res.isLayer == 1){
        std.push(checkedKeys[i]);
      }
    }
    checkedKeys.push(id);
    estreeRef.value.setCheckedKeys(checkedKeys, true);
    estreeRef.value.setCheckedKeys([], true);
    estreeRef.value.setCheckedKeys(std, true);
    temporaryTool.addTemporaryTool(res);
  });
};
src/views/layer/layerSet.vue
@@ -25,25 +25,11 @@
    </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="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 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>
      </div>
      <div class="edit_box_form">
        <el-form :model="formInline" label-width="120px">
@@ -61,46 +47,32 @@
              @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="图层名称">
            <el-input
              v-model="formInline.cnName"
              placeholder="请输入图层名称"
            />
            <el-input v-model="formInline.cnName" placeholder="请输入图层名称" />
          </el-form-item>
          <!-- æœåŠ¡ç±»åˆ« -->
          <el-form-item v-show="formInline.isLayer == 1" label="服务类别">
            <el-select
              style="width: 100%"
              v-model="formInline.category"
              :disabled="serviceActive"
            >
            <el-select style="width: 100%" v-model="formInline.category" :disabled="serviceActive">
              <el-option
                v-for="item in category_type"
                :key="item.value"
                :label="item.name"
                :value="item.value"
              >
              </el-option>
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="表名称" v-show="formInline.category == 2">
            <el-input
              v-model="formInline.tab"
              placeholder="请输入表名称"
              :disabled="serviceActive"
            />
            <el-input v-model="formInline.tab" placeholder="请输入表名称" :disabled="serviceActive" />
          </el-form-item>
          <!-- æ•°æ®ç±»åž‹ -->
          <el-form-item v-show="formInline.isLayer == 1" label="数据类型">
@@ -115,24 +87,18 @@
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
              ></el-option>
            </el-select>
          </el-form-item>
          <!-- æ•°æ®ç±»åž‹ -->
          <el-form-item v-show="formInline.isLayer == 1" label="服务类型">
            <el-select
              style="width: 100%"
              v-model="formInline.type"
              :disabled="serviceActive"
            >
            <el-select style="width: 100%" v-model="formInline.type" :disabled="serviceActive">
              <el-option
                v-for="item in dataType"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
              ></el-option>
            </el-select>
          </el-form-item>
@@ -169,23 +135,18 @@
              @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="图层名称">
            <el-input
              v-model="insertData.cnName"
              placeholder="请输入图层名称"
            />
            <el-input v-model="insertData.cnName" placeholder="请输入图层名称" />
          </el-form-item>
          <!-- æœåŠ¡ç±»åˆ« -->
          <el-form-item v-show="insertData.isLayer == 1" label="服务类别">
@@ -199,8 +160,7 @@
                :key="item.value"
                :label="item.name"
                :value="item.value"
              >
              </el-option>
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="表名称" v-show="insertData.category == 2">
@@ -223,8 +183,7 @@
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
              ></el-option>
            </el-select>
          </el-form-item>
          <!-- æ•°æ®ç±»åž‹ -->
@@ -239,8 +198,7 @@
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
              ></el-option>
            </el-select>
          </el-form-item>
@@ -253,16 +211,8 @@
          </el-form-item>
          <el-form-item>
            <div class="btnstyle editBtn">
              <el-button type="primary" size="small" @click="added()"
                >确定</el-button
              >
              <el-button
                class="delbtn"
                type="info"
                size="small"
                @click="submitCancel()"
                >取消</el-button
              >
              <el-button type="primary" size="small" @click="added()">确定</el-button>
              <el-button class="delbtn" type="info" size="small" @click="submitCancel()">取消</el-button>
            </div>
          </el-form-item>
        </el-form>
@@ -270,62 +220,30 @@
    </el-dialog>
    <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 style="display: flex; justify-content: space-between" class="tableForm">
          <div>
            <el-input size="small" v-model="listData.name">
              <template #suffix>
                <el-icon
                  class="el-input__icon el-icon-search"
                  @click="setServiceQuery"
                >
                <el-icon class="el-input__icon el-icon-search" @click="setServiceQuery">
                  <search />
                </el-icon>
              </template>
            </el-input>
          </div>
          <div class="btnstyle">
            <el-button type="info" size="small" @click="setServiceRest">
              é‡ç½®
            </el-button>
            <el-button type="info" size="small" @click="setServiceRest">重置</el-button>
            <el-button type="primary" size="small" @click="setServiceConfirm">
              ç¡®è®¤
            </el-button>
            <el-button
              type="info"
              size="small"
              @click="setServiceCanel"
              class="delbtn"
            >
              å–消
            </el-button>
            <el-button type="primary" size="small" @click="setServiceConfirm">确认</el-button>
            <el-button type="info" size="small" @click="setServiceCanel" class="delbtn">取消</el-button>
          </div>
        </div>
        <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 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="category"
            label="服务类型"
            :formatter="setResCategory"
          />
          <el-table-column
            align="center"
            prop="type"
            label="数据类型"
            :formatter="setResType"
          />
          <el-table-column align="center" prop="category" label="服务类型" :formatter="setResCategory" />
          <el-table-column align="center" prop="type" label="数据类型" :formatter="setResType" />
        </el-table>
        <div class="pagination_box" style="margin-top: 15px">
          <el-pagination
@@ -336,8 +254,7 @@
            :page-size="listData.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="listData.count"
          >
          </el-pagination>
          ></el-pagination>
        </div>
      </div>
    </el-dialog>
@@ -747,7 +664,8 @@
    backUpData.value = JSON.stringify(data);
    // this.currentData = JSON.stringify(result)
    formInline.value = JSON.parse(backUpData.value);
    formInline.value.isLayer = data.isLayer.toString();
    debugger;
    formInline.value.isLayer = parseInt(data.isLayer) == 0 ? "0" : "1";
    if (data.resid && data.resid > 0) {
      serviceActive.value = true;
    } else {
@@ -774,7 +692,7 @@
    id += Math.floor(Math.random() * 10);
  }
  var addObj = {
    isLayer: insertData.value.isLayer.toString(),
    isLayer: parseInt(insertData.value.isLayer),
    id: id,
    cnName: insertData.value.cnName,
    url: insertData.value.serviceUrl,
@@ -784,7 +702,7 @@
    tab: insertData.value.tab, //Geoserver åç§°ï¼Œ
    category: insertData.value.category, //服务类别 Geoserver , 1 GisServer 2 GeoServer 3数简
  };
  debugger;
  if (addlocation == 1) {
    //新增同级
    treeRef.value.insertAfter(addObj, treeRef.value.getNode(selectedObj.value));