|
@@ -74,7 +74,7 @@
|
|
|
<el-input
|
|
|
class="control-container-input"
|
|
|
v-model="filterText"
|
|
|
- placeholder="请输入文本"
|
|
|
+ placeholder="请输入搜索内容"
|
|
|
></el-input>
|
|
|
<el-tooltip
|
|
|
effect="light"
|
|
@@ -98,9 +98,12 @@
|
|
|
node-key="id"
|
|
|
ref="tree"
|
|
|
:filter-node-method="filterNode"
|
|
|
+ @node-click="handleNodeClick"
|
|
|
>
|
|
|
<span class="custom-tree-node" slot-scope="{ node }">
|
|
|
- <template v-if="node.level < 4">
|
|
|
+ <template
|
|
|
+ v-if="node.level < 4 && node.parent.label !== '预设模型'"
|
|
|
+ >
|
|
|
<div
|
|
|
:class="{
|
|
|
'tree-arrow': !node.expanded,
|
|
@@ -109,7 +112,11 @@
|
|
|
></div>
|
|
|
<span>{{ node.label }}</span>
|
|
|
</template>
|
|
|
- <template v-else-if="node.level === 4">
|
|
|
+ <template
|
|
|
+ v-else-if="
|
|
|
+ node.level === 4 || node.parent.label === '预设模型'
|
|
|
+ "
|
|
|
+ >
|
|
|
<el-checkbox v-model="node.checked" style="position: relative"
|
|
|
>{{ node.label
|
|
|
}}<span
|
|
@@ -350,7 +357,7 @@ export default {
|
|
|
},
|
|
|
getCustomModel: {
|
|
|
handler(val) {
|
|
|
- // console.log(val, "目前存在的自定义模型");
|
|
|
+ console.log(val, "目前存在的自定义模型");
|
|
|
// let myModelRef = this.$refs.tree.data[2];
|
|
|
// if (myModelRef.label === "我的模型") {
|
|
|
// this.$refs.tree.data[2].children = val.map((ele) => {
|
|
@@ -465,7 +472,10 @@ export default {
|
|
|
if (res.code === 200 && res.content.length > 0) {
|
|
|
let data = res.content.map((item1) => {
|
|
|
if (item1.title === "所有图层" && item1.columnList.length > 0) {
|
|
|
- treeIdMap.set(item1.title, `${item1.title}_${item1.id}`);
|
|
|
+ treeIdMap.set(
|
|
|
+ `${item1.title}_${item1.id}`,
|
|
|
+ `${item1.title}_${item1.id}`
|
|
|
+ );
|
|
|
return {
|
|
|
id: `${item1.title}_${item1.id}`,
|
|
|
label: item1.title,
|
|
@@ -475,7 +485,7 @@ export default {
|
|
|
? []
|
|
|
: item1.columnList.map((item2) => {
|
|
|
treeIdMap.set(
|
|
|
- item2.title,
|
|
|
+ `${item2.title}_${item2.id}`,
|
|
|
`${item2.title}_${item2.id}`
|
|
|
);
|
|
|
return {
|
|
@@ -487,7 +497,7 @@ export default {
|
|
|
? []
|
|
|
: item2.columnList.map((item3) => {
|
|
|
treeIdMap.set(
|
|
|
- item3.title,
|
|
|
+ `${item3.title}_${item3.id}`,
|
|
|
`${item3.title}_${item3.id}`
|
|
|
);
|
|
|
return {
|
|
@@ -499,7 +509,7 @@ export default {
|
|
|
? []
|
|
|
: item3.columnList.map((item4) => {
|
|
|
treeIdMap.set(
|
|
|
- item4.title,
|
|
|
+ `${item4.title}_${item4.id}`,
|
|
|
`${item4.title}_${item4.id}`
|
|
|
);
|
|
|
this.rightPanelDataMap.set(
|
|
@@ -522,6 +532,7 @@ export default {
|
|
|
tag: item4.tag,
|
|
|
type: item3.title,
|
|
|
town: item2.title,
|
|
|
+ mainType: item1.title,
|
|
|
color: publicFun.getRandomColor(),
|
|
|
};
|
|
|
}),
|
|
@@ -531,9 +542,56 @@ export default {
|
|
|
}),
|
|
|
};
|
|
|
}
|
|
|
+ if (item1.title === "预设模型" && item1.columnList.length > 0) {
|
|
|
+ treeIdMap.set(
|
|
|
+ `${item1.title}_${item1.id}`,
|
|
|
+ `${item1.title}_${item1.id}`
|
|
|
+ );
|
|
|
+ return {
|
|
|
+ id: `${item1.title}_${item1.id}`,
|
|
|
+ label: item1.title,
|
|
|
+ children:
|
|
|
+ item1.columnList.length === 0
|
|
|
+ ? []
|
|
|
+ : item1.columnList.map((item2) => {
|
|
|
+ treeIdMap.set(
|
|
|
+ `${item2.title}_${item2.id}`,
|
|
|
+ `${item2.title}_${item2.id}`
|
|
|
+ );
|
|
|
+ this.randomColor.set(
|
|
|
+ `${item2.title}_${item2.id}`,
|
|
|
+ publicFun.getRandomColor()
|
|
|
+ );
|
|
|
+ return {
|
|
|
+ id: `${item2.title}_${item2.id}`,
|
|
|
+ label: item2.title,
|
|
|
+ children: [],
|
|
|
+ mainType: item1.title,
|
|
|
+ // color: publicFun.getRandomColor(),
|
|
|
+ };
|
|
|
+ }),
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ if (item1.title === "我的模型") {
|
|
|
+ // treeIdMap.set(item1.title, `${item1.title}_${item1.id}`);
|
|
|
+ treeIdMap.set(
|
|
|
+ `${item1.title}_${item1.id}`,
|
|
|
+ `${item1.title}_${item1.id}`
|
|
|
+ );
|
|
|
+ return {
|
|
|
+ id: `${item1.title}_${item1.id}`,
|
|
|
+ children: [],
|
|
|
+ label: item1.title,
|
|
|
+ };
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
- this.modelData = [data[0]];
|
|
|
+ data.forEach((v) => {
|
|
|
+ if (v) {
|
|
|
+ this.modelData.unshift(v);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -628,111 +686,176 @@ export default {
|
|
|
handleDelete(node) {
|
|
|
console.log(node, "删除节点");
|
|
|
},
|
|
|
+ handleNodeClick(node) {
|
|
|
+ // console.log(node, "node");
|
|
|
+ },
|
|
|
// 节点change事件
|
|
|
handleCheckChange(data, checked) {
|
|
|
let guid = data.id;
|
|
|
if (checked) {
|
|
|
console.log(data, "选中的数据");
|
|
|
this.showRightBox = true;
|
|
|
- this.rightPanelTitle = data.label;
|
|
|
- this.originalData[`${data.label}_${data.town}`] =
|
|
|
- this.rightPanelDataMap.get(data.label);
|
|
|
+ if (data.mainType === "所有图层") {
|
|
|
+ this.rightPanelTitle = data.label;
|
|
|
+ this.originalData[`${data.label}_${data.town}`] =
|
|
|
+ this.rightPanelDataMap.get(data.label);
|
|
|
|
|
|
- let searchParam = [];
|
|
|
- let targetTown = this.classTextToIndex["浦东新区行政区划"].get(
|
|
|
- data.town
|
|
|
- );
|
|
|
- let targetType = this.classTextToIndex["任务类型"].get(data.type);
|
|
|
+ let searchParam = [];
|
|
|
+ let targetTown = this.classTextToIndex["浦东新区行政区划"].get(
|
|
|
+ data.town
|
|
|
+ );
|
|
|
+ let targetType = this.classTextToIndex["任务类型"].get(data.type);
|
|
|
|
|
|
- let paramUser = {
|
|
|
- field: "c_user_id",
|
|
|
- searchType: "2",
|
|
|
- content: {
|
|
|
- value: localStorage.getItem("USER_ID"),
|
|
|
- },
|
|
|
- };
|
|
|
- searchParam.push(paramUser);
|
|
|
- let paramTown = {
|
|
|
- field: "c_area_code",
|
|
|
- searchType: "1",
|
|
|
- content: {
|
|
|
- value: targetTown,
|
|
|
- },
|
|
|
- };
|
|
|
- searchParam.push(paramTown);
|
|
|
- let paramType = {
|
|
|
- field: "c_task_type",
|
|
|
- searchType: "1",
|
|
|
- content: {
|
|
|
- value: targetType,
|
|
|
- },
|
|
|
- };
|
|
|
- searchParam.push(paramType);
|
|
|
+ let paramUser = {
|
|
|
+ field: "c_user_id",
|
|
|
+ searchType: "2",
|
|
|
+ content: {
|
|
|
+ value: localStorage.getItem("USER_ID"),
|
|
|
+ },
|
|
|
+ };
|
|
|
+ searchParam.push(paramUser);
|
|
|
+ let paramTown = {
|
|
|
+ field: "c_area_code",
|
|
|
+ searchType: "1",
|
|
|
+ content: {
|
|
|
+ value: targetTown,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ searchParam.push(paramTown);
|
|
|
+ let paramType = {
|
|
|
+ field: "c_task_type",
|
|
|
+ searchType: "1",
|
|
|
+ content: {
|
|
|
+ value: targetType,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ searchParam.push(paramType);
|
|
|
|
|
|
- let params = new FormData();
|
|
|
- params = {
|
|
|
- columnId: 61,
|
|
|
- states: "2,3",
|
|
|
- pageSize: 10,
|
|
|
- page: 0,
|
|
|
- search: JSON.stringify(searchParam),
|
|
|
- };
|
|
|
+ let params = new FormData();
|
|
|
+ params = {
|
|
|
+ columnId: 61,
|
|
|
+ states: "2,3",
|
|
|
+ pageSize: 10,
|
|
|
+ page: 0,
|
|
|
+ search: JSON.stringify(searchParam),
|
|
|
+ };
|
|
|
+ console.log(params, "所有图层不显示");
|
|
|
|
|
|
- this.$Post(this.urlsCollection.selectContentList, params).then(
|
|
|
- (res) => {
|
|
|
- // console.log(res, "获取数据");
|
|
|
- if (res.code === 202 && res.content === "数据不存在") {
|
|
|
- this.$message.info("当前用户无权限!");
|
|
|
+ this.$Post(this.urlsCollection.selectContentList, params).then(
|
|
|
+ (res) => {
|
|
|
+ // console.log(res, "获取数据");
|
|
|
+ // debugger
|
|
|
+ if (res.code === 202 && res.content === "数据不存在") {
|
|
|
+ this.$message.info("当前用户无权限!");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (res.code === 200 && res.content.data.length > 0) {
|
|
|
+ console.log("有权限");
|
|
|
+ console.log(data, "有权限的图层");
|
|
|
+ this.$store.state.treeDataCollection.set(data.id, {
|
|
|
+ mainType: data.mainType,
|
|
|
+ town: data.town,
|
|
|
+ type: data.type,
|
|
|
+ });
|
|
|
+
|
|
|
+ let layerParams = new FormData();
|
|
|
+ layerParams = {
|
|
|
+ columnId: data.columnId,
|
|
|
+ states: 3,
|
|
|
+ pageSize: 10,
|
|
|
+ page: 0,
|
|
|
+ };
|
|
|
+ this.$Post(
|
|
|
+ this.urlsCollection.selectContentList,
|
|
|
+ layerParams
|
|
|
+ ).then((res) => {
|
|
|
+ if (res.code === 200 && res.content.data.length > 0) {
|
|
|
+ console.log(res.content, "获取到的数据");
|
|
|
+ let uniqueId = `${data.label}_${data.town}`;
|
|
|
+ this.originalData[uniqueId] = res.content.data.map(
|
|
|
+ (ele) => {
|
|
|
+ let cid = `${data.label}_${ele.id}`;
|
|
|
+
|
|
|
+ let geometry = ele.c_geometry;
|
|
|
+ map2DViewer.polygons[`${cid}_polygon`] = [];
|
|
|
+ this.layerIdMap.set(data.id, `${cid}_polygon`);
|
|
|
+ // 激活当前展开面板
|
|
|
+ this.activeNames = [
|
|
|
+ "myLabel",
|
|
|
+ `${data.label}_${data.town}`,
|
|
|
+ ];
|
|
|
+ this.$store.state.mapMethodsCollection
|
|
|
+ .get("RENDER")
|
|
|
+ .addSinglePolygon(
|
|
|
+ geometry,
|
|
|
+ cid,
|
|
|
+ this.randomColor.get(uniqueId)
|
|
|
+ );
|
|
|
+ return {
|
|
|
+ id: ele.id,
|
|
|
+ name: ele.c_yichang,
|
|
|
+ columnName: ele.column_name,
|
|
|
+ town: data.town,
|
|
|
+ area: ele.c_c_shui_area,
|
|
|
+ nature: ele.c_yichang,
|
|
|
+ // year: ele.c_c_year,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
- if (res.code === 200 && res.content.data.length > 0) {
|
|
|
- console.log("有权限");
|
|
|
- let layerParams = new FormData();
|
|
|
- layerParams = {
|
|
|
- columnId: data.columnId,
|
|
|
- states: 3,
|
|
|
- pageSize: 10,
|
|
|
- page: 0,
|
|
|
- };
|
|
|
- this.$Post(
|
|
|
- this.urlsCollection.selectContentList,
|
|
|
- layerParams
|
|
|
- ).then((res) => {
|
|
|
- if (res.code === 200 && res.content.data.length > 0) {
|
|
|
- console.log(res.content, "获取到的数据");
|
|
|
- let uniqueId = `${data.label}_${data.town}`;
|
|
|
- this.originalData[uniqueId] = res.content.data.map((ele) => {
|
|
|
- let cid = `${data.label}_${ele.id}`;
|
|
|
+ if (data.mainType === "预设模型") {
|
|
|
+ this.rightPanelTitle = `${data.label}(${data.mainType})`;
|
|
|
+ let params = new FormData();
|
|
|
+ params = {
|
|
|
+ columnId: data.id.split("_")[1],
|
|
|
+ states: "3",
|
|
|
+ pageSize: 10,
|
|
|
+ page: 0,
|
|
|
+ };
|
|
|
|
|
|
- let geometry = ele.c_geometry;
|
|
|
- map2DViewer.polygons[`${cid}_polygon`] = [];
|
|
|
- this.layerIdMap.set(data.id, `${cid}_polygon`);
|
|
|
- // 激活当前展开面板
|
|
|
- this.activeNames = [
|
|
|
- "myLabel",
|
|
|
- `${data.label}_${data.town}`,
|
|
|
- ];
|
|
|
- this.$store.state.mapMethodsCollection
|
|
|
- .get("RENDER")
|
|
|
- .addSinglePolygon(
|
|
|
- geometry,
|
|
|
- cid,
|
|
|
- this.randomColor.get(uniqueId)
|
|
|
- );
|
|
|
- return {
|
|
|
- id: ele.id,
|
|
|
- name: ele.c_yichang,
|
|
|
- columnName: ele.column_name,
|
|
|
- town: data.town,
|
|
|
- area: ele.c_c_shui_area,
|
|
|
- year: ele.c_c_year,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+ this.$Post(this.urlsCollection.selectContentList, params).then(
|
|
|
+ (res) => {
|
|
|
+ if (res.code === 200 && res.content.data.length > 0) {
|
|
|
+ console.log(res.content.data, "点击预设模型后获取到的数据");
|
|
|
+ this.$store.state.treeDataCollection.set(data.id, {
|
|
|
+ mainType: data.mainType,
|
|
|
+ });
|
|
|
+ // id: "水资源_88"
|
|
|
+ let uniqueId = data.id;
|
|
|
+ this.originalData[uniqueId] = res.content.data.map((ele) => {
|
|
|
+ let cid = uniqueId;
|
|
|
+ let geometry = ele.c_geometry;
|
|
|
+ map2DViewer.polygons[`${cid}_polygon`] = [];
|
|
|
+ this.layerIdMap.set(data.id, `${cid}_polygon`);
|
|
|
+ // 激活当前展开面板
|
|
|
+ this.activeNames = ["myLabel", data.id];
|
|
|
+ console.log(this.randomColor.get(uniqueId), "check color");
|
|
|
+ this.$store.state.mapMethodsCollection
|
|
|
+ .get("RENDER")
|
|
|
+ .addSinglePolygon(
|
|
|
+ geometry,
|
|
|
+ cid,
|
|
|
+ this.randomColor.get(uniqueId)
|
|
|
+ );
|
|
|
+
|
|
|
+ return {
|
|
|
+ id: ele.id,
|
|
|
+ name: ele.c_yichang,
|
|
|
+ columnName: ele.column_name,
|
|
|
+ area: ele.c_c_shui_area,
|
|
|
+ nature: ele.c_xingzhi,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- );
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
// 选中所有图层
|
|
|
// if (guid.indexOf("defaultLayer") > -1) {
|
|
@@ -783,7 +906,7 @@ export default {
|
|
|
delete this.originalData[`${data.label}_${data.town}`];
|
|
|
this.layerIdMap.delete(data.id);
|
|
|
//关联自定义模型
|
|
|
- this.$store.state.treeDataCollection.delete(data.label);
|
|
|
+ this.$store.state.treeDataCollection.delete(data.id);
|
|
|
console.log(this.$store.state.treeDataCollection, "treeDataCollection");
|
|
|
|
|
|
// 只激活我的标记
|
|
@@ -811,13 +934,6 @@ export default {
|
|
|
border: `1px solid ${this.randomColor.get(c.name)}`,
|
|
|
};
|
|
|
});
|
|
|
- // console.log(legendTItle);
|
|
|
- // this.legendIcon = this.legendTitle.map((v) => {
|
|
|
- // return {
|
|
|
- // background: "transparent",
|
|
|
- // border: `1px solid ${data.color}`,
|
|
|
- // };
|
|
|
- // });
|
|
|
},
|
|
|
// 右侧面板项点击事件
|
|
|
listItemClick(type, data) {
|
|
@@ -835,11 +951,12 @@ export default {
|
|
|
this.boxHeight = "200";
|
|
|
console.log(data, "defaultTable");
|
|
|
this.tableData.push({
|
|
|
- nature:data.name,
|
|
|
+ nature: data.nature,
|
|
|
area: data.area,
|
|
|
town: data.town,
|
|
|
year: this.$dayjs(data.year).format("YYYY"),
|
|
|
- name:data.columnName
|
|
|
+ name: data.name,
|
|
|
+ columnName: data.columnName,
|
|
|
// version: data.properties["版本"],
|
|
|
// nature: data.properties["性质"],
|
|
|
// area: data.properties["面积"],
|