|
@@ -7,18 +7,23 @@
|
|
|
<el-col :span="12">
|
|
|
<el-input
|
|
|
size="mini"
|
|
|
- placeholder="请输入内容"
|
|
|
+ placeholder="请输入项目名称"
|
|
|
v-model="input3"
|
|
|
class="input-with-select"
|
|
|
+ clearable
|
|
|
>
|
|
|
- <el-button slot="append" icon="el-icon-search"></el-button>
|
|
|
+ <el-button
|
|
|
+ slot="append"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="getProjectInfos"
|
|
|
+ ></el-button>
|
|
|
</el-input>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
+ <el-col :span="5" :offset="6">
|
|
|
<el-button size="mini" type="primary" plain @click="openaddProjectInfo"
|
|
|
>新增项目</el-button
|
|
|
>
|
|
|
- <el-button size="mini" type="primary" plain>导入项目</el-button>
|
|
|
+ <!-- <el-button size="mini" type="primary" plain>导入项目</el-button> -->
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row
|
|
@@ -39,12 +44,33 @@
|
|
|
>
|
|
|
<template slot="title">
|
|
|
{{ item.projectname }}({{
|
|
|
- getConstructionModel(item.id).length
|
|
|
- }}个)<i
|
|
|
- style="padding-left: 10px"
|
|
|
- class="header-icon el-icon-info"
|
|
|
- @click.stop="openProjectInfo(item)"
|
|
|
- ></i>
|
|
|
+ getConstructionModel(item).length
|
|
|
+ }}个)
|
|
|
+ <el-tooltip
|
|
|
+ class="item"
|
|
|
+ effect="dark"
|
|
|
+ content="项目详情"
|
|
|
+ placement="top-start"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ style="padding-left: 10px"
|
|
|
+ class="el-icon-info"
|
|
|
+ @click.stop="openProjectInfo(item)"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
+
|
|
|
+ <el-tooltip
|
|
|
+ class="item"
|
|
|
+ effect="dark"
|
|
|
+ content="删除项目"
|
|
|
+ placement="top-start"
|
|
|
+ >
|
|
|
+ <i
|
|
|
+ style="padding-left: 10px"
|
|
|
+ class="el-icon-delete"
|
|
|
+ @click.stop="deleteProject(item.id)"
|
|
|
+ ></i>
|
|
|
+ </el-tooltip>
|
|
|
</template>
|
|
|
|
|
|
<el-row :gutter="10">
|
|
@@ -76,7 +102,7 @@
|
|
|
|
|
|
<el-row
|
|
|
:gutter="10"
|
|
|
- v-for="itemModel in getConstructionModel(item.id)"
|
|
|
+ v-for="itemModel in getConstructionModel(item)"
|
|
|
:key="itemModel.id"
|
|
|
>
|
|
|
<el-col :span="24">
|
|
@@ -205,76 +231,74 @@
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="DistrictAnalysis(itemModel)"
|
|
|
- >区位分析
|
|
|
+ @click.stop="KGAnalysis(itemModel)"
|
|
|
+ >控规分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="limitHeightAnalysis(itemModel)"
|
|
|
- >限高分析
|
|
|
+ @click.stop="normAnalysis(itemModel)"
|
|
|
+ >指标分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="trafficAnalysis(itemModel)"
|
|
|
- >交通分析
|
|
|
+ @click.stop="CheckPark(itemModel, true)"
|
|
|
+ >车位审核
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24">
|
|
|
- <el-col :span="8">
|
|
|
+ <!-- <el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="undergroundModeAnalysis()"
|
|
|
- >地下分析
|
|
|
+ @click.stop="DistrictAnalysis(itemModel)"
|
|
|
+ >区位分析
|
|
|
</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="backLineAnalysis(itemModel)"
|
|
|
- >建筑退线
|
|
|
+ @click.stop="limitHeightAnalysis(itemModel)"
|
|
|
+ >限高分析
|
|
|
</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="occupyAnalysis(itemModel)"
|
|
|
- >占压分析
|
|
|
+ @click.stop="trafficAnalysis(itemModel)"
|
|
|
+ >交通分析
|
|
|
</el-button>
|
|
|
- </el-col>
|
|
|
+ </el-col> -->
|
|
|
</el-row>
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="normAnalysis(itemModel)"
|
|
|
- >指标分析
|
|
|
+ @click.stop="undergroundModeAnalysis()"
|
|
|
+ >地下分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<!-- <el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="PlanningAnalysis(itemModel)"
|
|
|
- >规划情况
|
|
|
+ @click.stop="backLineAnalysis(itemModel)"
|
|
|
+ >建筑退线
|
|
|
</el-button>
|
|
|
</el-col> -->
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="CheckPark(itemModel, true)"
|
|
|
- >车位审核
|
|
|
+ @click.stop="occupyAnalysis(itemModel)"
|
|
|
+ >占压分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
@@ -302,10 +326,20 @@
|
|
|
@click.stop="
|
|
|
BuildingStretchingAnalysis(itemModel)
|
|
|
"
|
|
|
- >体量调整
|
|
|
+ >楼体拉伸
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <!-- <el-col :span="8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click.stop="PlanningAnalysis(itemModel)"
|
|
|
+ >规划情况
|
|
|
+ </el-button>
|
|
|
+ </el-col> -->
|
|
|
+ </el-row>
|
|
|
</el-row>
|
|
|
</el-card>
|
|
|
</div>
|
|
@@ -323,7 +357,7 @@
|
|
|
>
|
|
|
<template slot="title">
|
|
|
{{ item.projectname }}({{
|
|
|
- getConstructionModel(item.id).length
|
|
|
+ getConstructionModel(item).length
|
|
|
}}个)<i
|
|
|
style="padding-left: 10px"
|
|
|
class="header-icon el-icon-info"
|
|
@@ -348,7 +382,7 @@
|
|
|
|
|
|
<el-row
|
|
|
:gutter="10"
|
|
|
- v-for="itemModel in getConstructionModel(item.id)"
|
|
|
+ v-for="itemModel in getConstructionModel(item)"
|
|
|
:key="itemModel.id"
|
|
|
>
|
|
|
<el-col :span="24">
|
|
@@ -433,7 +467,7 @@
|
|
|
>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
- <el-col :span="6">
|
|
|
+ <!-- <el-col :span="6">
|
|
|
<div
|
|
|
class="con-col hover_style"
|
|
|
style="cursor: pointer"
|
|
@@ -448,13 +482,12 @@
|
|
|
></i>
|
|
|
<a>删除</a>
|
|
|
</div>
|
|
|
- </el-col>
|
|
|
+ </el-col> -->
|
|
|
</el-row>
|
|
|
<el-row
|
|
|
:ref="itemModel.id + 'AnalyzeList'"
|
|
|
class="none"
|
|
|
>
|
|
|
- <!-- <el-col :span="24"> -->
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
@@ -488,26 +521,50 @@
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="DistrictAnalysis(itemModel)"
|
|
|
- >区位分析
|
|
|
+ @click.stop="KGAnalysis(itemModel)"
|
|
|
+ >控规分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="limitHeightAnalysis(itemModel)"
|
|
|
- >限高分析
|
|
|
+ @click.stop="normAnalysis(itemModel)"
|
|
|
+ >指标分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="trafficAnalysis(itemModel)"
|
|
|
- >交通分析
|
|
|
+ @click.stop="CheckPark(itemModel, true)"
|
|
|
+ >车位审核
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
+ <!-- <el-col :span="8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click.stop="DistrictAnalysis(itemModel)"
|
|
|
+ >区位分析
|
|
|
+ </el-button>
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :span="8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click.stop="limitHeightAnalysis(itemModel)"
|
|
|
+ >限高分析
|
|
|
+ </el-button>
|
|
|
+ </el-col> -->
|
|
|
+ <!-- <el-col :span="8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click.stop="trafficAnalysis(itemModel)"
|
|
|
+ >交通分析
|
|
|
+ </el-button>
|
|
|
+ </el-col> -->
|
|
|
</el-row>
|
|
|
<el-row :gutter="24">
|
|
|
<el-col :span="8">
|
|
@@ -518,14 +575,14 @@
|
|
|
>地下分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="mini"
|
|
|
- @click.stop="backLineAnalysis(itemModel)"
|
|
|
- >建筑退线
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
+ <!-- <el-col :span="8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click.stop="backLineAnalysis(itemModel)"
|
|
|
+ >建筑退线
|
|
|
+ </el-button>
|
|
|
+ </el-col> -->
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
@@ -534,34 +591,45 @@
|
|
|
>占压分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="24">
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="normAnalysis(itemModel)"
|
|
|
- >指标分析
|
|
|
+ @click.stop="ArchitecturalAnalysis(itemModel)"
|
|
|
+ >建筑风貌
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="24">
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="PlanningAnalysis(itemModel)"
|
|
|
- >规划情况
|
|
|
+ @click.stop="RSAnalysis(itemModel)"
|
|
|
+ >人视分析
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
size="mini"
|
|
|
- @click.stop="CarPark(itemModel)"
|
|
|
- >车位审核
|
|
|
+ @click.stop="
|
|
|
+ BuildingStretchingAnalysis(itemModel)
|
|
|
+ "
|
|
|
+ >楼体拉伸
|
|
|
</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <!-- </el-col> -->
|
|
|
+ <el-row :gutter="24">
|
|
|
+ <!-- <el-col :span="8">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ @click.stop="PlanningAnalysis(itemModel)"
|
|
|
+ >规划情况
|
|
|
+ </el-button>
|
|
|
+ </el-col> -->
|
|
|
+ </el-row>
|
|
|
</el-row>
|
|
|
</el-card>
|
|
|
</div>
|
|
@@ -615,10 +683,18 @@ import RSAnalysis from "@/views/ConstructionApplication3D/RSAnalysis/RSAnalysis.
|
|
|
import BuildingStretchingAnalysis from "@/views/ConstructionApplication3D/BuildingStretchingAnalysis/BuildingStretchingAnalysis.vue";
|
|
|
import parkResult from "@/views/ConstructionApplication3D/parkCheck/parkResult.vue";
|
|
|
import ghqk from "./ghqk.js";
|
|
|
+import {
|
|
|
+ listProjectinformation,
|
|
|
+ delConstructionmodel,
|
|
|
+ updateConstructionmodel,
|
|
|
+ updateProjectinformation,
|
|
|
+ delProjectinformation,
|
|
|
+} from "@/api/zt/ztApi.js";
|
|
|
export default {
|
|
|
name: "constructionApplication3D",
|
|
|
data() {
|
|
|
return {
|
|
|
+ input3: "",
|
|
|
activeName: "未上会项目",
|
|
|
ysh: [],
|
|
|
wsh: [],
|
|
@@ -674,32 +750,46 @@ export default {
|
|
|
},
|
|
|
computed: {},
|
|
|
mounted() {
|
|
|
- this.constructionmodel = window.constructionmodel;
|
|
|
+ // this.constructionmodel = window.constructionmodel;
|
|
|
this.initEntitiesHandler();
|
|
|
this.init();
|
|
|
},
|
|
|
methods: {
|
|
|
- init() {
|
|
|
- this.wsh = this.getshProjectinformations(0);
|
|
|
- this.ysh = this.getshProjectinformations(1);
|
|
|
+ async init() {
|
|
|
+ this.wsh = await this.getshProjectinformations("0");
|
|
|
+ this.ysh = await this.getshProjectinformations("1");
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 查询过滤
|
|
|
+ */
|
|
|
+ getProjectInfos() {
|
|
|
+ //先清空当前视图
|
|
|
+ scene.multiViewportMode = Cesium.MultiViewportMode.NONE;
|
|
|
+ this.qxyp();
|
|
|
+ this.removeModel();
|
|
|
+ this.removeAll();
|
|
|
+ undergroundMode(false);
|
|
|
+ //过滤
|
|
|
+ this.init();
|
|
|
},
|
|
|
-
|
|
|
/**
|
|
|
* //获取项目进度
|
|
|
- * @param meetingProgress
|
|
|
+ * @param meetingprogress
|
|
|
*/
|
|
|
- getshProjectinformations(meetingProgress) {
|
|
|
+ async getshProjectinformations(meetingprogress) {
|
|
|
+ // let Projectinformations = await listProjectinformation({
|
|
|
+ // meetingprogress: meetingprogress,
|
|
|
+ // projectname: this.input3,
|
|
|
+ // });
|
|
|
+ // return Projectinformations.rows;
|
|
|
let Projectinformations = window.projectinformation.filter(
|
|
|
- (c) => c.meetingProgress == meetingProgress
|
|
|
+ (c) => c.meetingprogress == meetingprogress
|
|
|
);
|
|
|
return Projectinformations;
|
|
|
},
|
|
|
//获取项目模型信息
|
|
|
- getConstructionModel(fid) {
|
|
|
- let ConstructionModels = this.constructionmodel.filter(
|
|
|
- (c) => c.projectinformationid == fid
|
|
|
- );
|
|
|
- return ConstructionModels;
|
|
|
+ getConstructionModel(Projectinfo) {
|
|
|
+ return Projectinfo.ztConstructionmodelList;
|
|
|
},
|
|
|
|
|
|
/**
|
|
@@ -707,13 +797,35 @@ export default {
|
|
|
* @param projectin 方案信息
|
|
|
*/
|
|
|
setStrategy(projectin) {
|
|
|
- this.$layer.confirm("确认该项目已上会?", (layerid) => {
|
|
|
- projectin.meetingProgress = 1;
|
|
|
- this.WaitingSelectionModel.selectionStatus = true;
|
|
|
- this.DestroyAll();
|
|
|
- this.init();
|
|
|
- this.$layer.close(layerid);
|
|
|
- });
|
|
|
+ if (this.WaitingSelectionModel) {
|
|
|
+ this.$layer.confirm("确认该项目已上会?", async (layerid) => {
|
|
|
+ projectin.meetingprogress = "1";
|
|
|
+ this.WaitingSelectionModel.selectionStatus = true;
|
|
|
+ let Projectinfoistrue = await updateProjectinformation({
|
|
|
+ id: projectin.id,
|
|
|
+ meetingprogress: "1",
|
|
|
+ });
|
|
|
+ if (Projectinfoistrue.code == 200) {
|
|
|
+ let ismodeltrue = await updateConstructionmodel({
|
|
|
+ id: this.WaitingSelectionModel.id,
|
|
|
+ selectionStatus: this.WaitingSelectionModel.selectionStatus,
|
|
|
+ });
|
|
|
+ if (ismodeltrue.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: ismodeltrue.msg,
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.getProjectInfos();
|
|
|
+ this.$layer.close(layerid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: "请先选中待上会模型方案",
|
|
|
+ type: "warning",
|
|
|
+ });
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
//分析列表显隐
|
|
@@ -734,14 +846,22 @@ export default {
|
|
|
for (let key in this.$refs) {
|
|
|
if (key.indexOf("Model") !== -1) {
|
|
|
let item = this.$refs[key][0];
|
|
|
- item.childNodes.forEach((Citem) => {
|
|
|
- if (
|
|
|
- Citem.className &&
|
|
|
- Citem.className.indexOf("status ce") !== -1
|
|
|
- ) {
|
|
|
- Citem.style.display = "none";
|
|
|
- }
|
|
|
- });
|
|
|
+ if (item) {
|
|
|
+ item.childNodes.forEach((Citem) => {
|
|
|
+ if (
|
|
|
+ Citem.className &&
|
|
|
+ Citem.className.indexOf("status ce") !== -1
|
|
|
+ ) {
|
|
|
+ Citem.style.display = "none";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (key.indexOf("AnalyzeList") !== -1) {
|
|
|
+ let itemfx = this.$refs[key][0];
|
|
|
+ if (itemfx) {
|
|
|
+ itemfx.$el.classList.add("none");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -757,6 +877,7 @@ export default {
|
|
|
|
|
|
//选中报建模型
|
|
|
SelectConstructionModelHendle(Minfo) {
|
|
|
+ debugger;
|
|
|
if (this.WaitingSelectionModel != Minfo) {
|
|
|
this.removeModel();
|
|
|
this.WaitingSelectionModel = null;
|
|
@@ -804,9 +925,11 @@ export default {
|
|
|
maxmin: false,
|
|
|
shade: false, //是否显示遮罩
|
|
|
shadeClose: false, //点击遮罩是否关闭
|
|
|
- cancel: () => {
|
|
|
+ cancel: async () => {
|
|
|
//关闭事件
|
|
|
- this.wsh = this.getshProjectinformations(0);
|
|
|
+ debugger;
|
|
|
+ // this.wsh = await this.getshProjectinformations("0");
|
|
|
+ this.getProjectInfos();
|
|
|
},
|
|
|
});
|
|
|
},
|
|
@@ -827,17 +950,42 @@ export default {
|
|
|
maxmin: false,
|
|
|
shade: false, //是否显示遮罩
|
|
|
shadeClose: false, //点击遮罩是否关闭
|
|
|
- cancel: () => {
|
|
|
+ cancel: async () => {
|
|
|
//关闭事件
|
|
|
- this.wsh = this.getshProjectinformations(0);
|
|
|
+ debugger;
|
|
|
+ // this.wsh = await this.getshProjectinformations("0");
|
|
|
+ this.getProjectInfos();
|
|
|
},
|
|
|
});
|
|
|
},
|
|
|
- removeConstructionmodel(Minfo) {
|
|
|
- let i = this.constructionmodel.findIndex((c) => c == Minfo);
|
|
|
- this.constructionmodel.splice(i, 1);
|
|
|
- this.wsh = this.getshProjectinformations(0);
|
|
|
- this.ysh = this.getshProjectinformations(1);
|
|
|
+ //删除报建模型
|
|
|
+ async removeConstructionmodel(Minfo) {
|
|
|
+ this.$layer.confirm("确认删除该报建模型?", async (layerid) => {
|
|
|
+ let istrue = await delConstructionmodel(Minfo.id);
|
|
|
+ if (istrue.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: istrue.msg,
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.getProjectInfos();
|
|
|
+ this.$layer.close(layerid);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ //删除项目
|
|
|
+ async deleteProject(id) {
|
|
|
+ this.$layer.confirm("确认删除该项目?", async (layerid) => {
|
|
|
+ let istrue = await delProjectinformation(id);
|
|
|
+ if (istrue.code == 200) {
|
|
|
+ this.$message({
|
|
|
+ message: istrue.msg,
|
|
|
+ type: "success",
|
|
|
+ });
|
|
|
+ this.getProjectInfos();
|
|
|
+ this.$layer.close(layerid);
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
//打开项目信息弹窗
|
|
@@ -998,7 +1146,7 @@ export default {
|
|
|
//获取模型信息
|
|
|
let queryBySQLParameters = {
|
|
|
getFeatureMode: "SQL",
|
|
|
- datasetNames: [Minfo.dataSourceName + ":" + Minfo.datasetName],
|
|
|
+ datasetNames: [Minfo.datasourcename + ":" + Minfo.datasetname],
|
|
|
queryParameter: {
|
|
|
attributeFilter: "1=1",
|
|
|
},
|
|
@@ -1128,7 +1276,7 @@ export default {
|
|
|
//获取模型信息
|
|
|
let queryBySQLParameters = {
|
|
|
getFeatureMode: "SQL",
|
|
|
- datasetNames: [Minfo.dataSourceName + ":" + Minfo.datasetName],
|
|
|
+ datasetNames: [Minfo.datasourcename + ":" + Minfo.datasetname],
|
|
|
queryParameter: {
|
|
|
attributeFilter: "1=1",
|
|
|
},
|
|
@@ -1368,9 +1516,9 @@ export default {
|
|
|
let queryByIDParameters = {
|
|
|
getFeatureMode: "BUFFER",
|
|
|
datasetNames: [
|
|
|
- layer.date_server.dataSourceName +
|
|
|
+ layer.date_server.datasourcename +
|
|
|
":" +
|
|
|
- layer.date_server.datasetName,
|
|
|
+ layer.date_server.datasetname,
|
|
|
],
|
|
|
geometry: {
|
|
|
parts: [1],
|
|
@@ -1465,6 +1613,15 @@ export default {
|
|
|
}
|
|
|
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
|
|
},
|
|
|
+
|
|
|
+ //控规分析
|
|
|
+ KGAnalysis(Minfo) {
|
|
|
+ let that = this;
|
|
|
+ this.getGuiHuaDiKuai(function () {
|
|
|
+ that.getBufferTraffic();
|
|
|
+ that.getbackLine(Minfo);
|
|
|
+ });
|
|
|
+ },
|
|
|
//区位分析
|
|
|
DistrictAnalysis() {
|
|
|
this.getGuiHuaDiKuai();
|
|
@@ -1503,7 +1660,7 @@ export default {
|
|
|
//获取模型信息
|
|
|
let queryBySQLParameters = {
|
|
|
getFeatureMode: "SQL",
|
|
|
- datasetNames: [Minfo.dataSourceName + ":项目范围"],
|
|
|
+ datasetNames: [Minfo.datasourcename + ":项目范围"],
|
|
|
queryParameter: {
|
|
|
attributeFilter: " DKBM = '" + bm.value + "'",
|
|
|
},
|
|
@@ -1655,7 +1812,7 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- this.openXGFXInfo(that.layerDataList, JZXGD, DKBM);
|
|
|
+ // this.openXGFXInfo(that.layerDataList, JZXGD, DKBM);
|
|
|
},
|
|
|
/**
|
|
|
* // 计算超高距离
|
|
@@ -1694,6 +1851,7 @@ export default {
|
|
|
// };
|
|
|
|
|
|
// 加载道路红线
|
|
|
+ //道路红线
|
|
|
let layer = flatten(window.layerTree).find(
|
|
|
(item) => item.core == "005006"
|
|
|
);
|
|
@@ -1701,9 +1859,9 @@ export default {
|
|
|
let queryByGeometryParameters = {
|
|
|
getFeatureMode: "BUFFER",
|
|
|
datasetNames: [
|
|
|
- layer.date_server.dataSourceName +
|
|
|
+ layer.date_server.datasourcename +
|
|
|
":" +
|
|
|
- layer.date_server.datasetName,
|
|
|
+ layer.date_server.datasetname,
|
|
|
],
|
|
|
geometry: geo,
|
|
|
bufferDistance: 0.002,
|
|
@@ -1757,7 +1915,7 @@ export default {
|
|
|
polyline: {
|
|
|
positions: Cesium.Cartesian3.fromDegreesArray(ps),
|
|
|
width: 5,
|
|
|
- material: new Cesium.Color(255 / 255, 0, 0, 1),
|
|
|
+ material: Cesium.Color.GREENYELLOW,
|
|
|
clampToGround: true,
|
|
|
},
|
|
|
});
|
|
@@ -1774,9 +1932,9 @@ export default {
|
|
|
let queryByGeometryParameters = {
|
|
|
getFeatureMode: "BUFFER",
|
|
|
datasetNames: [
|
|
|
- layer.date_server.dataSourceName +
|
|
|
+ layer.date_server.datasourcename +
|
|
|
":" +
|
|
|
- layer.date_server.datasetName,
|
|
|
+ layer.date_server.datasetname,
|
|
|
],
|
|
|
geometry: geo,
|
|
|
bufferDistance: 0.002,
|
|
@@ -1846,7 +2004,7 @@ export default {
|
|
|
polyline: {
|
|
|
positions: Cesium.Cartesian3.fromDegreesArray(ps),
|
|
|
width: 5,
|
|
|
- material: new Cesium.Color(0.0, 223 / 255, 22 / 255, 1),
|
|
|
+ material: Cesium.Color.CYAN,
|
|
|
clampToGround: true,
|
|
|
},
|
|
|
});
|
|
@@ -1863,9 +2021,9 @@ export default {
|
|
|
let queryByGeometryParameters = {
|
|
|
getFeatureMode: "BUFFER",
|
|
|
datasetNames: [
|
|
|
- layer.date_server.dataSourceName +
|
|
|
+ layer.date_server.datasourcename +
|
|
|
":" +
|
|
|
- layer.date_server.datasetName,
|
|
|
+ layer.date_server.datasetname,
|
|
|
],
|
|
|
geometry: geo,
|
|
|
bufferDistance: 0.002,
|
|
@@ -1918,7 +2076,7 @@ export default {
|
|
|
polyline: {
|
|
|
positions: Cesium.Cartesian3.fromDegreesArray(ps),
|
|
|
width: 5,
|
|
|
- material: Cesium.Color.ORANGE,
|
|
|
+ material: Cesium.Color.RED,
|
|
|
clampToGround: true,
|
|
|
},
|
|
|
});
|
|
@@ -1933,6 +2091,28 @@ export default {
|
|
|
//切换地下模式
|
|
|
undergroundModeAnalysis() {
|
|
|
this.underground = !this.underground;
|
|
|
+ window.QXLayerNames.forEach((QXLayerName) => {
|
|
|
+ debugger;
|
|
|
+ let layer = scene.layers.find(QXLayerName);
|
|
|
+ if (this.underground) {
|
|
|
+ if (layer && layer.style3D) {
|
|
|
+ layer.style3D.fillForeColor.alpha = window.Layeralpha;
|
|
|
+ }
|
|
|
+ if (layer && layer.alpha) {
|
|
|
+ layer.alpha = window.Layeralpha;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 倾斜图层通明度1
|
|
|
+ else {
|
|
|
+ if (layer && layer.style3D) {
|
|
|
+ layer.style3D.fillForeColor.alpha = 1;
|
|
|
+ }
|
|
|
+ if (layer && layer.alpha) {
|
|
|
+ layer.alpha = 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
undergroundMode(this.underground);
|
|
|
},
|
|
|
//建筑退线
|
|
@@ -1968,9 +2148,9 @@ export default {
|
|
|
let queryByGeometryParameters = {
|
|
|
getFeatureMode: "SQL",
|
|
|
datasetNames: [
|
|
|
- layer.date_server.dataSourceName +
|
|
|
+ layer.date_server.datasourcename +
|
|
|
":" +
|
|
|
- layer.date_server.datasetName,
|
|
|
+ layer.date_server.datasetname,
|
|
|
],
|
|
|
queryParameter: {
|
|
|
attributeFilter: "DKBM = '" + bm.value + "'",
|
|
@@ -2080,9 +2260,9 @@ export default {
|
|
|
let queryByGeometryParameters = {
|
|
|
getFeatureMode: "SPATIAL",
|
|
|
datasetNames: [
|
|
|
- layer.date_server.dataSourceName +
|
|
|
+ layer.date_server.datasourcename +
|
|
|
":" +
|
|
|
- layer.date_server.datasetName,
|
|
|
+ layer.date_server.datasetname,
|
|
|
],
|
|
|
geometry: GHYDlayerData.geometry,
|
|
|
spatialQueryMode: "INTERSECT",
|
|
@@ -2187,6 +2367,7 @@ export default {
|
|
|
normAnalysis(Minfo) {
|
|
|
let that = this;
|
|
|
this.getGuiHuaDiKuai(function () {
|
|
|
+ that.HighLimit(Minfo);
|
|
|
that.getnorm(Minfo);
|
|
|
});
|
|
|
},
|
|
@@ -2241,11 +2422,11 @@ export default {
|
|
|
KG_Data.JRJZMJD = "";
|
|
|
KG_Data.JRJZMJX = "";
|
|
|
|
|
|
- if (Minfo.dataurl && Minfo.dataSourceName) {
|
|
|
+ if (Minfo.dataurl && Minfo.datasourcename) {
|
|
|
//获取项目范围数据数据
|
|
|
let queryByGeometryParameters = {
|
|
|
getFeatureMode: "SQL",
|
|
|
- datasetNames: [Minfo.dataSourceName + ":项目范围"],
|
|
|
+ datasetNames: [Minfo.datasourcename + ":项目范围"],
|
|
|
queryParameter: {
|
|
|
attributeFilter: "DKBM = '" + KG_Data.DKBM + "'",
|
|
|
},
|
|
@@ -2281,7 +2462,7 @@ export default {
|
|
|
|
|
|
let queryByGeometryParameters2 = {
|
|
|
getFeatureMode: "SQL",
|
|
|
- datasetNames: [Minfo.dataSourceName + ":" + Minfo.datasetName],
|
|
|
+ datasetNames: [Minfo.datasourcename + ":" + Minfo.datasetname],
|
|
|
queryParameter: {
|
|
|
attributeFilter: "LANDNO = '" + KG_Data.DKBM + "'",
|
|
|
},
|
|
@@ -2360,8 +2541,9 @@ export default {
|
|
|
FA_Data.JDMJ = jzjdzmj;
|
|
|
//计容建筑面积 为地上建筑总面积
|
|
|
FA_Data.JRJZMJ = dsjzzmj;
|
|
|
- // 容积率
|
|
|
- FA_Data.RJL = (FA_Data.JRJZMJ / FA_Data.YDMJ).toFixed(2);
|
|
|
+ // 容积率 20240814改为使用建筑面积计算容积率
|
|
|
+ // FA_Data.RJL = (FA_Data.JRJZMJ / FA_Data.YDMJ).toFixed(2);
|
|
|
+ FA_Data.RJL = (FA_Data.JZMJ / FA_Data.YDMJ).toFixed(2);
|
|
|
|
|
|
//建筑密度
|
|
|
FA_Data.JZMD = (Number(FA_Data.JDMJ / FA_Data.YDMJ) * 100).toFixed(2);
|
|
@@ -2379,10 +2561,13 @@ export default {
|
|
|
if (land == null) continue;
|
|
|
tableDataList[i].FA_Data.JZMJ = land.mj;
|
|
|
tableDataList[i].FA_Data.JRJZMJ = land.jrmj;
|
|
|
+ debugger;
|
|
|
+ //20240814改为使用建筑面积计算容积率
|
|
|
+ // tableDataList[i].FA_Data.RJL = (land.jrmj / item.FA_Data.YDMJ).toFixed(2);
|
|
|
tableDataList[i].FA_Data.RJL = (
|
|
|
- land.jrmj / item.FA_Data.YDMJ
|
|
|
+ (land.mj - land.dxjzmj) /
|
|
|
+ item.FA_Data.YDMJ
|
|
|
).toFixed(2);
|
|
|
-
|
|
|
//开发商提交的方案文档指标
|
|
|
debugger;
|
|
|
tableDataList[i].TJFA_Data.JZMJ = land.famj;
|
|
@@ -2466,7 +2651,7 @@ export default {
|
|
|
*/
|
|
|
async buidAreaAndParksComputer(Minfo, isJSPark) {
|
|
|
var that = this;
|
|
|
- var dataSourceName = Minfo.dataSourceName; //模型数据集
|
|
|
+ var datasourcename = Minfo.datasourcename; //模型数据集
|
|
|
var dataurl = Minfo.dataurl; //报建项目服务地址
|
|
|
var tcwLayerName = window.CarPark.tcwLayer; //停车位图层
|
|
|
var floorLayerName = window.CarPark.floorLayer; //分层矢量图层
|
|
@@ -2479,8 +2664,8 @@ export default {
|
|
|
};
|
|
|
|
|
|
var dataSources = [];
|
|
|
- dataSources.push(dataSourceName + ":" + tcwLayerName);
|
|
|
- dataSources.push(dataSourceName + ":" + floorLayerName);
|
|
|
+ dataSources.push(datasourcename + ":" + tcwLayerName);
|
|
|
+ dataSources.push(datasourcename + ":" + floorLayerName);
|
|
|
//获取停车位及分层数据
|
|
|
var result;
|
|
|
var queryByGeometryParameters = {
|
|
@@ -2874,8 +3059,18 @@ export default {
|
|
|
var buidNoList = [];
|
|
|
var landjdcCount = 0;
|
|
|
var landfjdcCount = 0;
|
|
|
+ var fadxjzmj = 0.0;
|
|
|
+ var dxjzmj = 0.0;
|
|
|
for (var j = 0; j < landGroup.length; j++) {
|
|
|
var buildNo = landGroup[j].buildNo;
|
|
|
+ if (
|
|
|
+ landGroup[j].floor.toUpperCase().indexOf("B") > -1 ||
|
|
|
+ landGroup[j].floor.toUpperCase().indexOf("地下") > 1 ||
|
|
|
+ landGroup[j].yt.toUpperCase().indexOf("停车") > -1
|
|
|
+ ) {
|
|
|
+ fadxjzmj += landGroup[j].faArea;
|
|
|
+ dxjzmj += landGroup[j].area;
|
|
|
+ }
|
|
|
if (buidNoList.indexOf(buildNo) == -1) buidNoList.push(buildNo);
|
|
|
if (isJSPark != null && isJSPark == true) {
|
|
|
landjdcCount += landGroup[j].jdcCount;
|
|
@@ -3034,6 +3229,8 @@ export default {
|
|
|
mj: landMJ,
|
|
|
jrmj: landJRMJ,
|
|
|
famj: landFAMJ,
|
|
|
+ fadxjzmj: fadxjzmj,
|
|
|
+ dxjzmj: dxjzmj,
|
|
|
fajrmj: landFAJRMJ,
|
|
|
jdcCount: landjdcCount,
|
|
|
fjdcCount: landfjdcCount,
|
|
@@ -3276,7 +3473,9 @@ export default {
|
|
|
}
|
|
|
this.DLTBlayerDatas = [];
|
|
|
},
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 点查图层信息
|
|
|
+ */
|
|
|
initEntitiesHandler() {
|
|
|
let that = this;
|
|
|
this.getEntitiesHandler = new Cesium.ScreenSpaceEventHandler(
|
|
@@ -3290,6 +3489,11 @@ export default {
|
|
|
let info = that.LandPlanningList.find((c) => c.id == id);
|
|
|
that.openOBJInfo("用地红线详情", info.data);
|
|
|
}
|
|
|
+ if (pick && pick.id.id && pick.id.id.indexOf("ydhxl") !== -1) {
|
|
|
+ let id = pick.id.id.split("ydhxl-")[1];
|
|
|
+ let info = that.LandPlanningList.find((c) => c.id == id);
|
|
|
+ that.openOBJInfo("用地红线详情", info.data);
|
|
|
+ }
|
|
|
//道路信息弹窗
|
|
|
if (pick && pick.id.id && pick.id.id.indexOf("DLX-") !== -1) {
|
|
|
let id = pick.id.id.split("DLX-")[1];
|
|
@@ -3403,7 +3607,7 @@ export default {
|
|
|
},
|
|
|
offset: [left, top], //left top
|
|
|
area: ["430px", "430px"], //宽 高
|
|
|
- title: "建筑退线分析",
|
|
|
+ title: "控规分析",
|
|
|
maxmin: false,
|
|
|
shade: false, //是否显示遮罩
|
|
|
shadeClose: false, //点击遮罩是否关闭
|
|
@@ -3411,6 +3615,7 @@ export default {
|
|
|
//关闭事件
|
|
|
this.removeLandPlanningList();
|
|
|
this.removeJZTXlayerDatas();
|
|
|
+ this.removeDLlayerDatasList();
|
|
|
},
|
|
|
});
|
|
|
},
|
|
@@ -3458,17 +3663,20 @@ export default {
|
|
|
* @param Minfo
|
|
|
*/
|
|
|
openZBFXInfo(tableDataList, Minfo) {
|
|
|
- if (this.ZBFXInfolayerid) {
|
|
|
- this.$layer.close(this.ZBFXInfolayerid);
|
|
|
- }
|
|
|
+ // if (this.ZBFXInfolayerid) {
|
|
|
+ // this.$layer.close(this.ZBFXInfolayerid);
|
|
|
+ // }
|
|
|
let that = this;
|
|
|
+ let wpx = 650;
|
|
|
+ let hpx = 430;
|
|
|
let w = document.body.offsetWidth;
|
|
|
let h = document.body.offsetHeight;
|
|
|
//左上角(left=弹窗宽/2;top=弹窗高/2+header高)
|
|
|
//右上角 (left=w-弹窗宽+(弹窗宽/2);top=弹窗高/2+header高);
|
|
|
- let left = w - 450 + 450 / 2;
|
|
|
- let top = 430 / 2 + 60;
|
|
|
- let layerid = this.$layer.iframe({
|
|
|
+ let left = w - wpx + wpx / 2;
|
|
|
+ let top = hpx / 2 + 60;
|
|
|
+ this.$layer.iframe({
|
|
|
+ id: "ZBFXJGiframe",
|
|
|
content: {
|
|
|
content: ZBFXAnalysisinfo, //传递的组件对象
|
|
|
parent: this, //当前的vue对象
|
|
@@ -3477,14 +3685,18 @@ export default {
|
|
|
}, //props
|
|
|
},
|
|
|
offset: [left, top], //left top
|
|
|
- area: ["450px", "430px"], //宽 高
|
|
|
+ area: [wpx + "px", hpx + "px"], //宽 高
|
|
|
title: "指标分析",
|
|
|
maxmin: false,
|
|
|
shade: false, //是否显示遮罩
|
|
|
shadeClose: false, //点击遮罩是否关闭
|
|
|
cancel: () => {
|
|
|
//关闭事件
|
|
|
+ //指标分析数据
|
|
|
+ this.removeLandPlanningList();
|
|
|
+ //限高分析数据
|
|
|
this.removeLandPlanningList();
|
|
|
+ this.removeHighLimit();
|
|
|
},
|
|
|
});
|
|
|
},
|
|
@@ -3599,7 +3811,7 @@ export default {
|
|
|
//获取模型信息
|
|
|
let queryBySQLParameters = {
|
|
|
getFeatureMode: "SQL",
|
|
|
- datasetNames: [Minfo.dataSourceName + ":项目范围"],
|
|
|
+ datasetNames: [Minfo.datasourcename + ":项目范围"],
|
|
|
queryParameter: {
|
|
|
attributeFilter: "1=1",
|
|
|
},
|