月球大数据地理空间分析展示平台-【前端】-月球2期前端
surprise
2023-10-19 9f51306b10520a2be30bedfe1b34c288cf770f43
src/views/layer/layerManage.vue
@@ -44,6 +44,8 @@
                      @click.native="clickdTemporary(1, data)">编辑</el-dropdown-item>
                    <el-dropdown-item v-if="data.shpType == 'temporaryLayer'"
                      @click.native="clickdTemporary(2, data)">删除</el-dropdown-item>
                    <el-dropdown-item v-if="data.shpType == 'temporaryLayer'"
                      @click.native="clickdTemporary(3, data)">定位</el-dropdown-item>
                  </el-dropdown-menu>
                </template>
              </el-dropdown>
@@ -117,6 +119,10 @@
const temporary = ref(new Date().getTime());
const clickdTemporary = async (res, data) => {
  if (res == 1) {
    let son = estreeRef.value.getCheckedKeys()
    if(son.indexOf(data.id)<0){
         return ElMessage(data.cnName+"图层没有勾选,无法进行编辑");
    }
    if (store.state.editTemporaryId) {
      var id = store.state.editTemporaryId;
      var edit_id = sgworld.Creator.SimpleGraphic.SimpleGraphicObj.indexOf(id);
@@ -130,7 +136,7 @@
    sgworld.Creator.SimpleGraphic.edit(true, {
      editProp: false, tipText: {
        ActiveText: '点击激活编辑'
      }
      }, enableDelete: false
    });
  } else if (res == 2) {
    var layerId = []
@@ -167,6 +173,12 @@
      }
      estreeRef.value.setCheckedKeys(layerIds, true);
    })
  } else if(res == 3){
    let son = estreeRef.value.getCheckedKeys()
    if(son.indexOf(data.id)<0){
         return ElMessage(data.cnName+"图层没有勾选,无法进行定位");
    }
    temporaryTool.locationTemporaryLayer(data);
  }
};
//选择图层
@@ -174,6 +186,10 @@
  layerAttributeIsshow.value = false;
  layerDetailIsshow.value = false;
  let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
  nextTick(() => {
    let son = estreeRef.value.getCheckedNodes();
    store.commit("SET_CHECKLAYER", son);
  });
  if (isCheck) {
    if (data.isLayer == 0) {
      let son = estreeRef.value.getCheckedNodes().reverse();
@@ -202,9 +218,7 @@
        }
      }
    }
  } else {
    if (data.isLayer == 0) {
      var layers = data.children;
      for (var i in layers) {
@@ -224,6 +238,7 @@
    }
  }
};
const setVisiable = (treeNode, checked) => {
  if (checked !== undefined) {
@@ -288,17 +303,27 @@
const getCheckedLayerPID = (res, result) => {
  var temp = [];
  var ids = result
  let forFn = (data) => {
    data.children.forEach(item => {
      if (item.children) {
        temp.push(item.id)
      } else {
        if (ids.indexOf(item.id) > -1) {
          temp.push(item.id)
    if (data.children) {
      data.children.forEach(item => {
        if (item.children) {
          forFn(item)
        } else {
          if (ids.indexOf(item.id) > -1) {
            temp.push(item.id)
          }
        }
      })
    } else {
      if (ids.indexOf(data.id) > -1) {
        temp.push(data.id)
      }
    })
    }
  }
  forFn(res);
  return temp;
};