|
@@ -1,136 +1,12 @@
|
|
|
<template>
|
|
|
- <div class="sm-panel" v-if="LayerManageShow">
|
|
|
- <div class="sm-panel-header">
|
|
|
- <span>{{ Resource.LayerManage }}</span>
|
|
|
- <span class="closeBtn" @click="toggleVisibility">×</span>
|
|
|
- </div>
|
|
|
- <Tabs value="">
|
|
|
- <TabPane :label="Resource.Resource" name="zyml">
|
|
|
- <div class="zyml">
|
|
|
- <el-input
|
|
|
- :placeholder="Resource.InputPlaceholder"
|
|
|
- prefix-icon="el-icon-search"
|
|
|
- v-model="treeSearchText"
|
|
|
- size="small"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- <div class="treeDiv">
|
|
|
- <el-tree
|
|
|
- @check="handleCheckChange"
|
|
|
- class="filter-tree"
|
|
|
- :data="TreeDatas"
|
|
|
- show-checkbox
|
|
|
- :props="defaultProps"
|
|
|
- :filter-node-method="filterNode"
|
|
|
- ref="tree"
|
|
|
- >
|
|
|
- <span class="custom-tree-node" slot-scope="{ node, data }">
|
|
|
- <span>{{ node.label }}</span>
|
|
|
- <span>
|
|
|
- <Icon
|
|
|
- :type="!data.favorite ? 'ios-star-outline' : 'ios-star'"
|
|
|
- color="green"
|
|
|
- size="18"
|
|
|
- class="opBtn"
|
|
|
- :title="
|
|
|
- data.favorite ? Resource.DelCollect : Resource.AddCollect
|
|
|
- "
|
|
|
- @click="favoriteHandle(data)"
|
|
|
- v-if="data.url != ''"
|
|
|
- />
|
|
|
- </span>
|
|
|
- </span>
|
|
|
- </el-tree>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </TabPane>
|
|
|
- <TabPane :label="Resource.LayerOptions" name="tckz">
|
|
|
- <div class="tckz">
|
|
|
- <List split size="large">
|
|
|
- <ListItem v-for="(item, index) in addlayerdata" :key="index">
|
|
|
- {{ item.title }}
|
|
|
- <div class="listBtn">
|
|
|
- <i-switch
|
|
|
- v-model="item.visible"
|
|
|
- size="small"
|
|
|
- @on-change="visibleChange(item, $event)"
|
|
|
- >
|
|
|
- <template #open>
|
|
|
- <span></span>
|
|
|
- </template>
|
|
|
- <template #close>
|
|
|
- <span></span>
|
|
|
- </template>
|
|
|
- </i-switch>
|
|
|
- <Icon
|
|
|
- type="md-arrow-round-up"
|
|
|
- color="green"
|
|
|
- size="18"
|
|
|
- class="opBtn"
|
|
|
- :title="Resource.MoveUpOneLevel"
|
|
|
- @click="raise(item)"
|
|
|
- v-if="
|
|
|
- index > 0 && (item.type == 'Vector' || item.type == 'IMG')
|
|
|
- "
|
|
|
- />
|
|
|
- <Icon
|
|
|
- type="md-arrow-round-down"
|
|
|
- color="green"
|
|
|
- size="18"
|
|
|
- class="opBtn"
|
|
|
- :title="Resource.MoveDownOneLevel"
|
|
|
- @click="lower(item)"
|
|
|
- v-if="
|
|
|
- index < addlayerdata.length - 1 &&
|
|
|
- (item.type == 'Vector' || item.type == 'IMG')
|
|
|
- "
|
|
|
- />
|
|
|
- <Icon
|
|
|
- type="md-locate"
|
|
|
- color="green"
|
|
|
- size="18"
|
|
|
- class="opBtn"
|
|
|
- :title="Resource.location"
|
|
|
- @click="location(item)"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div class="sliderBtn" v-if="item.type != 'Terrain'">
|
|
|
- <Slider
|
|
|
- v-model="item.trans"
|
|
|
- @on-change="transSliderChange(item, $event)"
|
|
|
- ></Slider>
|
|
|
- </div>
|
|
|
- </ListItem>
|
|
|
- </List>
|
|
|
- </div>
|
|
|
- </TabPane>
|
|
|
- <TabPane :label="Resource.Favorite" name="collect">
|
|
|
- <div class="collect">
|
|
|
- <List split>
|
|
|
- <ListItem
|
|
|
- v-for="(item, index) in favoriteLayerList"
|
|
|
- :key="index"
|
|
|
- class="layerlist"
|
|
|
- >
|
|
|
- <Checkbox @on-change="checkboxChange(item, $event)">{{
|
|
|
- item.title
|
|
|
- }}</Checkbox>
|
|
|
- <div class="listBtn">
|
|
|
- <Icon
|
|
|
- type="ios-star"
|
|
|
- color="green"
|
|
|
- size="18"
|
|
|
- class="opBtn"
|
|
|
- :title="Resource.DelCollect"
|
|
|
- @click="favoriteHandle(item)"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </ListItem>
|
|
|
- </List>
|
|
|
- </div>
|
|
|
- </TabPane>
|
|
|
- </Tabs>
|
|
|
- </div>
|
|
|
+ <layer-manage-split
|
|
|
+ @visibleChange="visibleChange"
|
|
|
+ @transSliderChange="transSliderChange"
|
|
|
+ @handleCheckChange="handleCheckChange"
|
|
|
+ @location="location"
|
|
|
+ @raise="raise"
|
|
|
+ @lower="lower"
|
|
|
+ ></layer-manage-split>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -139,65 +15,47 @@ export default {
|
|
|
name: "LayerManage",
|
|
|
data() {
|
|
|
return {
|
|
|
- defaultProps: {
|
|
|
- children: "children",
|
|
|
- label: "label",
|
|
|
- },
|
|
|
modellayerlist: [],
|
|
|
vectorlayerlist: [],
|
|
|
username: "admin",
|
|
|
- treeSearchText: "",
|
|
|
+ // treeSearchText: "",
|
|
|
addlayerdata: [],
|
|
|
sceneLayers: {},
|
|
|
- favoriteLayerList: [],
|
|
|
+ // favoriteLayerList: [],
|
|
|
sharedState: store.state,
|
|
|
// flag: false,
|
|
|
// s3mLen: 0,
|
|
|
- hid: true,
|
|
|
+ // hid: true,
|
|
|
layerparams: {},
|
|
|
- ImgHid: false, //影响图层移动默认不显示
|
|
|
- S3MLayersObj: {
|
|
|
- title: Resource.s3mLayer,
|
|
|
- expand: true,
|
|
|
- checked: true,
|
|
|
- type: "S3M",
|
|
|
- children: [],
|
|
|
- },
|
|
|
- imgLayersObj: {
|
|
|
- title: Resource.imageryLayer,
|
|
|
- expand: true,
|
|
|
- checked: true,
|
|
|
- type: "IMG",
|
|
|
- children: [],
|
|
|
- },
|
|
|
- TerrainLayersObj: {
|
|
|
- title: Resource.terrainLayer,
|
|
|
- expand: true,
|
|
|
- checked: true,
|
|
|
- type: "TERRAIN",
|
|
|
- children: [],
|
|
|
- },
|
|
|
-
|
|
|
- TreeDatas: [
|
|
|
- {
|
|
|
- title: Resource.layerList,
|
|
|
- expand: true,
|
|
|
- // selected: true,
|
|
|
- // contextmenu: true,
|
|
|
- children: [],
|
|
|
- type: "ROOT",
|
|
|
- },
|
|
|
- ],
|
|
|
+ // ImgHid: false, //影响图层移动默认不显示
|
|
|
+ // S3MLayersObj: {
|
|
|
+ // title: Resource.s3mLayer,
|
|
|
+ // expand: true,
|
|
|
+ // checked: true,
|
|
|
+ // type: "S3M",
|
|
|
+ // children: [],
|
|
|
+ // },
|
|
|
+ // imgLayersObj: {
|
|
|
+ // title: Resource.imageryLayer,
|
|
|
+ // expand: true,
|
|
|
+ // checked: true,
|
|
|
+ // type: "IMG",
|
|
|
+ // children: [],
|
|
|
+ // },
|
|
|
+ // TerrainLayersObj: {
|
|
|
+ // title: Resource.terrainLayer,
|
|
|
+ // expand: true,
|
|
|
+ // checked: true,
|
|
|
+ // type: "TERRAIN",
|
|
|
+ // children: [],
|
|
|
+ // },
|
|
|
contextData: null,
|
|
|
- hideS3mNames: [],
|
|
|
- hideImgNames: [],
|
|
|
- hideTerrainNames: [],
|
|
|
+ // hideS3mNames: [],
|
|
|
+ // hideImgNames: [],
|
|
|
+ // hideTerrainNames: [],
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
- LayerManageShow: function () {
|
|
|
- return this.sharedState.toolBar[0];
|
|
|
- },
|
|
|
imgLayers: function () {
|
|
|
return this.sharedState.imgLayerManage;
|
|
|
},
|
|
@@ -217,33 +75,6 @@ export default {
|
|
|
if (!value) return true;
|
|
|
return data.label.indexOf(value) !== -1;
|
|
|
},
|
|
|
- favoriteHandle(data) {
|
|
|
- if (data.favorite) {
|
|
|
- data.favorite = null;
|
|
|
- for (let i = 0; i < this.favoriteLayerList.length; i++) {
|
|
|
- if (this.favoriteLayerList[i].id == data.id) {
|
|
|
- this.favoriteLayerList.splice(i, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- data.favorite = this.username;
|
|
|
- this.favoriteLayerList.push(data);
|
|
|
- }
|
|
|
- Collect(this.username, data.id)
|
|
|
- .then((res) => {
|
|
|
- if (res.statuscode == 200) {
|
|
|
- this.$message({
|
|
|
- message: "操作成功",
|
|
|
- type: "success",
|
|
|
- });
|
|
|
- } else {
|
|
|
- this.$message.error(res.message);
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- this.$message.error(e);
|
|
|
- });
|
|
|
- },
|
|
|
favorite(data) {
|
|
|
console.log(data);
|
|
|
},
|
|
@@ -359,7 +190,7 @@ export default {
|
|
|
add3DTiles(obj) {
|
|
|
let tileset = new Cesium.Cesium3DTileset({
|
|
|
url: obj.url + "?id=" + obj.id,
|
|
|
- skipLevelOfDetail: true
|
|
|
+ skipLevelOfDetail: true,
|
|
|
});
|
|
|
this.sceneLayers[obj.title] = tileset;
|
|
|
let thisLayer = viewer.scene.primitives.add(tileset);
|
|
@@ -385,7 +216,7 @@ export default {
|
|
|
this.flyTo(sceneName);
|
|
|
}
|
|
|
if (obj.title == "分层分户") {
|
|
|
- store.setLayerList(layers[0][0])
|
|
|
+ store.setLayerList(layers[0][0]);
|
|
|
layers[0][0].setQueryParameter({
|
|
|
url: "https://www.supermapol.com/realspace/services/data-HeBing8HaoLou/rest/data",
|
|
|
dataSourceName: "Model_8_old",
|
|
@@ -393,7 +224,7 @@ export default {
|
|
|
keyWord: "SmID",
|
|
|
});
|
|
|
}
|
|
|
- store.state.tempLatData = layers[0][0]
|
|
|
+ store.state.tempLatData = layers[0][0];
|
|
|
// for (var i = 0; i < layers.length; i++) {
|
|
|
// let style = new Cesium.Style3D();
|
|
|
// style.bottomAltitude = window.modelBottomAltitude; //底部高度
|
|
@@ -560,28 +391,9 @@ export default {
|
|
|
store.setModelLayerList(this.modellayerlist);
|
|
|
},
|
|
|
|
|
|
- //获取后台资源目录树结构
|
|
|
- getResourceTree() {
|
|
|
- GetResourceTree().then((res) => {
|
|
|
- if (res.statuscode == 200) {
|
|
|
- this.TreeDatas = res.data;
|
|
|
- store.state.tempResourceTree = res.data
|
|
|
- } else {
|
|
|
- console.log(e);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
+
|
|
|
|
|
|
- //获取后台资源目录树结构
|
|
|
- getFavoriteLayers() {
|
|
|
- GetMyCollect().then((res) => {
|
|
|
- if (res.statuscode == 200) {
|
|
|
- this.favoriteLayerList = res.data;
|
|
|
- } else {
|
|
|
- console.log(e);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
+
|
|
|
|
|
|
//图层定位
|
|
|
location(obj) {
|
|
@@ -682,14 +494,9 @@ export default {
|
|
|
},
|
|
|
|
|
|
mounted() {
|
|
|
- this.getResourceTree();
|
|
|
- this.getFavoriteLayers();
|
|
|
},
|
|
|
|
|
|
watch: {
|
|
|
- treeSearchText(val) {
|
|
|
- this.$refs.tree.filter(val);
|
|
|
- },
|
|
|
},
|
|
|
};
|
|
|
</script>
|