| | |
| | | <template> |
| | | <div v-drag class="layerBox"> |
| | | <div |
| | | v-drag |
| | | class="layerBox" |
| | | > |
| | | <div class="layerTitle"> |
| | | <div class="tileLeft"> |
| | | <div @click="setCloseLayer" class="titleImg"> |
| | | <div |
| | | @click="setCloseLayer" |
| | | class="titleImg" |
| | | > |
| | | <ArrowLeft /> |
| | | </div> |
| | | <div class="titleLable">图层管理</div> |
| | | </div> |
| | | <div class="titleImg set" @click="layerSetBox"> |
| | | <div |
| | | class="titleImg set" |
| | | @click="layerSetBox" |
| | | > |
| | | <Setting /> |
| | | </div> |
| | | </div> |
| | |
| | | Delete |
| | | </a> |
| | | </span> --> |
| | | <span class="button" v-if="data.isLayer == 1"> |
| | | <span |
| | | class="button" |
| | | v-if="data.isLayer == 1" |
| | | > |
| | | <el-dropdown trigger="click"> |
| | | <span class="el-dropdown-link"> |
| | | <el-icon class="el-icon--right"> |
| | |
| | | </span> |
| | | <template #dropdown> |
| | | <el-dropdown-menu> |
| | | <el-dropdown-item @click.native="clickdropdown(1, data)" |
| | | >详细</el-dropdown-item |
| | | > |
| | | <el-dropdown-item @click.native="clickdropdown(2, data)" |
| | | >属性</el-dropdown-item |
| | | > |
| | | <el-dropdown-item @click.native="clickdropdown(1, data)">详细</el-dropdown-item> |
| | | <el-dropdown-item |
| | | v-if="data.type == 3" |
| | | @click.native="clickdropdown(2, data)" |
| | | >属性</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | |
| | | @delLayer="delLayer" |
| | | ></layer-set> |
| | | <attribute-list |
| | | v-show="layerAttributeIsshow" |
| | | v-if="layerAttributeIsshow" |
| | | :layerData="layerObjData" |
| | | @spatialClose="setSpatialClose" |
| | | ></attribute-list> |
| | |
| | | defineProps, |
| | | defineEmits, |
| | | nextTick, |
| | | watch, |
| | | } from "vue"; |
| | | import layerSet from "./layerSet"; |
| | | import attributeList from "./attributeList"; |
| | |
| | | let isCheck = checked.checkedKeys.indexOf(data.id) > -1; |
| | | // this.setVisiable(data, isCheck); |
| | | |
| | | let son = estreeRef.value.getCheckedNodes(); |
| | | |
| | | let son = estreeRef.value.getCheckedNodes().reverse(); |
| | | server.delLayerAll(); |
| | | for (var i in son) { |
| | | var layerArr = son[i]; |
| | | layerArr.checked = true; |
| | | server.addTreeData(layerArr); |
| | | } |
| | | store.commit("SET_CHECKLAYER", son); |
| | | setVisiable(data, isCheck); |
| | | // setVisiable(data, isCheck); |
| | | |
| | | // server.addLayer(layerArr, isCheck); |
| | | // |
| | | }; |
| | | const setVisiable = (treeNode, checked) => { |
| | | if (checked !== undefined) { |
| | |
| | | layerAttributeIsshow.value = false; |
| | | layerDetailIsshow.value = false; |
| | | layerObjData.value = e; |
| | | |
| | | if (res == 2) { |
| | | layerAttributeIsshow.value = true; |
| | | store.state.tab = e; |
| | | } else { |
| | | if (!e.checked) { |
| | | var val = estreeRef.value!.getCheckedKeys(false); |
| | | if (val.indexOf(e.id) > -1) { |
| | | layerDetailIsshow.value = true; |
| | | } else { |
| | | return ElMessage.error("请先勾选图层"); |
| | | } |
| | | layerDetailIsshow.value = true; |
| | | } |
| | | }; |
| | | const setSpatialClose = (res) => { |
| | |
| | | }; |
| | | |
| | | const getLayer = async () => { |
| | | store.state.restLayer = false; |
| | | server.delLayerAll(); |
| | | const dt = await perms_selectLayers(); |
| | | if (dt.code == 200) { |
| | | treeData.value = setTreeData(dt.result).sort(function (a, b) { |
| | | return a.sort - b.sort; |
| | | return a.orderNum - b.orderNum; |
| | | }); |
| | | var std = []; |
| | | var terrainId = null; |
| | | dt.result.filter((res) => { |
| | | if (res.isLayer == 1 && res.status == 1) { |
| | | if (res.isLayer == 1 && res.isShow == 1) { |
| | | if (res.type == 1 && res.data == 2) { |
| | | if (!terrainId) { |
| | | terrainId = res.id; |
| | |
| | | let branchArr = cloneData.filter((child) => father.id == child.pid); |
| | | if (branchArr.length > 0) { |
| | | branchArr.sort(function (a, b) { |
| | | return a.sort - b.sort; |
| | | return a.orderNum - b.orderNum; |
| | | }); |
| | | } |
| | | |
| | |
| | | return father.pid == 0; // 返回一级菜单 |
| | | }); |
| | | } |
| | | watch( |
| | | () => store.state.restLayer, |
| | | (nVal, oVal) => { |
| | | if (nVal) { |
| | | getLayer(); |
| | | } |
| | | }, |
| | | { deep: true } |
| | | ); |
| | | getLayer(); |
| | | onMounted(() => {}); |
| | | </script> |