| | |
| | | Delete |
| | | </a> |
| | | </span> --> |
| | | <span class="button" v-if="data.type == 2 || data.type == 3"> |
| | | <span class="button" v-if="data.isLayer == 1"> |
| | | <el-dropdown trigger="click"> |
| | | <span class="el-dropdown-link"> |
| | | <el-icon class="el-icon--right"> |
| | |
| | | </div> |
| | | </div> |
| | | <layer-set |
| | | v-if="layerSetIsshow" |
| | | v-show="layerSetIsshow" |
| | | @SETstate="SETstate" |
| | | :layerTree="treeData" |
| | | @addlayer="addlayer" |
| | |
| | | reactive, |
| | | defineProps, |
| | | defineEmits, |
| | | nextTick, |
| | | } from "vue"; |
| | | import layerSet from "./layerSet"; |
| | | import attributeList from "./attributeList"; |
| | | import layerDetail from "./layerDetail"; |
| | | import { useStore } from "vuex"; // 引入useStore 方法 |
| | | import { layer_selectAll } from "@/api/api"; |
| | | import { perms_selectLayers } from "@/api/api"; |
| | | import server from "@/assets/js/Map/server"; |
| | | import { ElMessage } from "element-plus"; |
| | | const store = useStore(); // 该方法用于返回store 实例 |
| | |
| | | const transparence = ref(0); |
| | | var treeData = ref([]); |
| | | var layerListData = ref([]); |
| | | let menuOption = reactive([ |
| | | { |
| | | id: 1, |
| | | name: "测试", |
| | | isShow: false, |
| | | checkedAll: false, |
| | | type: 1, |
| | | parentId: null, |
| | | }, |
| | | { |
| | | id: 2, |
| | | layerState: false, |
| | | name: "图层名称", |
| | | layerUrl: "", |
| | | type: 2, |
| | | parentId: 1, |
| | | }, |
| | | { |
| | | id: 3, |
| | | layerState: false, |
| | | name: "图层菜单", |
| | | layerUrl: "", |
| | | type: 1, |
| | | parentId: 1, |
| | | }, |
| | | { |
| | | id: 5, |
| | | layerState: false, |
| | | name: "图层名称11", |
| | | layerUrl: "", |
| | | type: 2, |
| | | parentId: 3, |
| | | }, |
| | | { |
| | | id: 4, |
| | | name: "测试1", |
| | | isShow: false, |
| | | checkedAll: true, |
| | | layerState: false, |
| | | type: 1, |
| | | parentId: null, |
| | | }, |
| | | ]); |
| | | let menuOption = reactive([]); |
| | | |
| | | const layerSetIsshow = ref(false); |
| | | const layerAttributeIsshow = ref(false); |
| | |
| | | const selectedNodeId = ref(null as any); //做类型断言处理 |
| | | const emits = defineEmits(["setCloseLayer"]); |
| | | //默认选中id |
| | | const DefaultId = ref([15]); |
| | | const DefaultId = ref([]); |
| | | //图层设置弹框 |
| | | const layerSetBox = () => { |
| | | layerSetIsshow.value = !layerSetIsshow.value; |
| | |
| | | DefaultId.value.forEach((v) => { |
| | | if (e.id == v) { |
| | | setVisiable(e, true); |
| | | } else { |
| | | if (e.children) { |
| | | defaultLayer(e.children); |
| | | } |
| | | // return; |
| | | } |
| | | }); |
| | | }); |
| | | }; |
| | | const clickdropdown = (res, e) => { |
| | | if (!e.checked) { |
| | | return ElMessage.error("请先勾选图层"); |
| | | } |
| | | layerAttributeIsshow.value = false; |
| | | layerDetailIsshow.value = false; |
| | | layerObjData.value = e; |
| | | if (res == 2) { |
| | | layerAttributeIsshow.value = true; |
| | | } else { |
| | | if (!e.checked) { |
| | | return ElMessage.error("请先勾选图层"); |
| | | } |
| | | layerDetailIsshow.value = true; |
| | | } |
| | | }; |
| | |
| | | // menuOption = menuOption.filter((item) => { |
| | | // return item.id != res; |
| | | // }); |
| | | // console.log(res); |
| | | // console.log(menuOption); |
| | | // treeData = handleTree(menuOption, "id", "pid", "children"); |
| | | }; |
| | | |
| | | const getLayer = async () => { |
| | | const dt = await layer_selectAll(); |
| | | const dt = await perms_selectLayers(); |
| | | if (dt.code == 200) { |
| | | treeData.value = setTreeData(dt.result).sort(function (a, b) { |
| | | return a.sort - b.sort; |
| | | }); |
| | | var std = []; |
| | | var terrainId = null; |
| | | dt.result.filter((res) => { |
| | | if (res.isLayer == 1 && res.status == 1) { |
| | | if (res.type == 1 && res.data == 2) { |
| | | if (!terrainId) { |
| | | terrainId = res.id; |
| | | std.push(res.id); |
| | | } |
| | | } else { |
| | | std.push(res.id); |
| | | } |
| | | } |
| | | }); |
| | | DefaultId.value = std; |
| | | |
| | | //添加默认选中图层 |
| | | |
| | | layerListData.value = dt.result; |
| | | defaultLayer(treeData.value); |
| | | defaultLayer(dt.result); |
| | | nextTick(() => { |
| | | let son = estreeRef.value.getCheckedNodes(); |
| | | |
| | | store.commit("SET_CHECKLAYER", son); |
| | | }); |
| | | } |
| | | }; |
| | | |