|
@@ -4,27 +4,62 @@
|
|
|
<div class="l-list">
|
|
|
<div class="action-box">
|
|
|
<div>
|
|
|
- <el-button size="small" type="default" icon="el-icon-plus" @click="addBuild"></el-button>
|
|
|
- <el-button size="small" type="default" icon="el-icon-minus" @click="delBuild"></el-button>
|
|
|
- <el-button size="small" type="default" icon="el-icon-edit-outline" @click="editBuild"></el-button>
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="default"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ @click="addBuild"
|
|
|
+ />
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="default"
|
|
|
+ icon="el-icon-minus"
|
|
|
+ @click="delBuild"
|
|
|
+ />
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="default"
|
|
|
+ icon="el-icon-edit-outline"
|
|
|
+ @click="editBuild"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
<h4>建筑</h4>
|
|
|
<div class="build-list">
|
|
|
- <div v-for="(item,index) in buildList" :key="item.BuildID" :class="{'floor-item':true,active:item.active}" @click="changeBuild(index)">
|
|
|
+ <div
|
|
|
+ v-for="(item,index) in buildList"
|
|
|
+ :key="item.BuildID"
|
|
|
+ :class="{'floor-item':true,active:item.active}"
|
|
|
+ @click="changeBuild(index)"
|
|
|
+ >
|
|
|
<span>
|
|
|
{{item.BuildLocalName || item.BuildName}}
|
|
|
- <el-badge v-if="item.Count>0" class="mark" :value="item.Count" />
|
|
|
+ <el-badge
|
|
|
+ v-if="item.Count>0"
|
|
|
+ class="mark"
|
|
|
+ :value="item.Count"
|
|
|
+ />
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="r-table">
|
|
|
<div class="action-box">
|
|
|
- <el-button size="small" type="default" @click="addFloor">添加楼层</el-button>
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="default"
|
|
|
+ @click="addFloor"
|
|
|
+ >添加楼层
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
<div class="table-box">
|
|
|
- <el-table :data="tableData" style="width: 100%" height="100%" v-loading="loading" :header-cell-style="headerStyle">
|
|
|
+ <el-table
|
|
|
+ :data="tableData"
|
|
|
+ style="width: 100%"
|
|
|
+ height="100%"
|
|
|
+ v-loading="loading"
|
|
|
+ :header-cell-style="headerStyle"
|
|
|
+ >
|
|
|
<el-table-column label="楼层本地名">
|
|
|
<template slot-scope="scope">{{scope.row.FloorLocalName||scope.row.FloorName}}</template>
|
|
|
</el-table-column>
|
|
@@ -33,35 +68,68 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="楼层信息">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button size="mini" @click="editFloorData(scope.row)" plain icon="el-icon-edit-outline"></el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ @click="editFloorData(scope.row)"
|
|
|
+ plain
|
|
|
+ icon="el-icon-edit-outline"
|
|
|
+ ></el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="Datasource" label="平面图">
|
|
|
+ <el-table-column
|
|
|
+ prop="Datasource"
|
|
|
+ label="平面图"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
- <p v-if="scope.row.Sign>0" @click="checkDrawImg(scope.row,2)">
|
|
|
+ <p
|
|
|
+ v-if="scope.row.Sign>0"
|
|
|
+ @click="checkDrawImg(scope.row,2)"
|
|
|
+ >
|
|
|
<el-badge is-dot>
|
|
|
- <i class="iconfont icon-floorplan"></i>
|
|
|
+ <i class="iconfont icon-floorplan"/>
|
|
|
</el-badge>平面图重复
|
|
|
</p>
|
|
|
- <p v-else-if="scope.row.StructureInfo?scope.row.StructureInfo.FloorMap:false" @click="checkDrawImg(scope.row,1)">
|
|
|
- <i class="iconfont icon-floorplan"></i>
|
|
|
+ <p
|
|
|
+ v-else-if="scope.row.StructureInfo?scope.row.StructureInfo.FloorMap:false"
|
|
|
+ @click="checkDrawImg(scope.row,1)"
|
|
|
+ >
|
|
|
+ <i class="iconfont icon-floorplan"/>
|
|
|
查看平面图
|
|
|
</p>
|
|
|
- <p v-else @click="checkDrawImg(scope.row,3)">
|
|
|
- <i class="iconfont icon-nopicture"></i>
|
|
|
+ <p
|
|
|
+ v-else
|
|
|
+ @click="checkDrawImg(scope.row,3)"
|
|
|
+ >
|
|
|
+ <i class="iconfont icon-nopicture"/>
|
|
|
暂无平面图
|
|
|
</p>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="SubTypeName" label="楼层贯通关系">
|
|
|
+ <el-table-column
|
|
|
+ prop="SubTypeName"
|
|
|
+ label="楼层贯通关系"
|
|
|
+ >
|
|
|
<template slot-scope="scope">
|
|
|
<span style="margin-right:20px">{{scope.row.FloorThroughList?scope.row.FloorThroughList.length:0}}</span>
|
|
|
- <el-button size="mini" @click="changeConnection(scope.row)" plain icon="el-icon-edit-outline"></el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ @click="changeConnection(scope.row)"
|
|
|
+ plain
|
|
|
+ icon="el-icon-edit-outline"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="action" label="操作">
|
|
|
+ <el-table-column
|
|
|
+ prop="action"
|
|
|
+ label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button size="mini" @click="handleDelete(scope.row)" type="danger" plain icon="el-icon-delete"></el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+ type="danger"
|
|
|
+ plain
|
|
|
+ icon="el-icon-delete"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -69,181 +137,213 @@
|
|
|
</div>
|
|
|
</el-row>
|
|
|
<!-- 添加-修改楼层 -->
|
|
|
- <addFloor :title="floorTitle" ref="addFloorDialog" :curBuildId="curBuildId" :curFloorId="curFloorId" @refresh="refresh"></addFloor>
|
|
|
+ <addFloor
|
|
|
+ :title="floorTitle"
|
|
|
+ ref="addFloorDialog"
|
|
|
+ :curBuildId="curBuildId"
|
|
|
+ :curFloorId="curFloorId"
|
|
|
+ @refresh="refresh"
|
|
|
+ />
|
|
|
<!-- 添加-修改建筑 -->
|
|
|
- <addBuild :title="buildTitle" ref="addBuildDialog"></addBuild>
|
|
|
+ <addBuild
|
|
|
+ :title="buildTitle"
|
|
|
+ ref="addBuildDialog"
|
|
|
+ />
|
|
|
<!-- 删除建筑-删除楼层 -->
|
|
|
- <el-dialog title="提示" :visible.sync="delDialogVis" width="20%" @close="handleClose" id="messageDialog">
|
|
|
+ <el-dialog
|
|
|
+ title="提示"
|
|
|
+ :visible.sync="delDialogVis"
|
|
|
+ width="20%"
|
|
|
+ @close="handleClose"
|
|
|
+ id="messageDialog"
|
|
|
+ >
|
|
|
<div>确定要删除该{{delText}}?</div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <el-button size="small" @click="delDialogVis=false">取消</el-button>
|
|
|
- <el-button size="small" type="primary" @click="confirmDel">确认</el-button>
|
|
|
+ <span
|
|
|
+ slot="footer"
|
|
|
+ class="dialog-footer"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ @click="delDialogVis=false"
|
|
|
+ >取消</el-button>
|
|
|
+ <el-button
|
|
|
+ size="small"
|
|
|
+ type="primary"
|
|
|
+ @click="confirmDel"
|
|
|
+ >确认</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
<!-- 添加贯通关系弹窗 -->
|
|
|
- <addConnectivity ref="addConnectivity" @refresh="refresh"></addConnectivity>
|
|
|
+ <addConnectivity
|
|
|
+ ref="addConnectivity"
|
|
|
+ @refresh="refresh"
|
|
|
+ />
|
|
|
<!-- 查看图片弹窗 -->
|
|
|
- <checkGraphy ref="checkGraphy" @refresh="refresh"></checkGraphy>
|
|
|
+ <checkGraphy
|
|
|
+ ref="checkGraphy"
|
|
|
+ @refresh="refresh"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import addFloor from "@/views/ready/buildfloor/addFloor/index";
|
|
|
-import addBuild from "@/components/ready/buildfloor/addBuild";
|
|
|
-import { mapGetters, mapActions } from "vuex";
|
|
|
-import addConnectivity from "@/components/ready/buildfloor/addConnectivity";
|
|
|
-import checkGraphy from "./drawGraphy/checkGraphy"; //查看图片
|
|
|
-import { buildingQueryAndCount, floorQueryAndSign, manageDeleteFloor } from "@/api/scan/request";
|
|
|
-export default {
|
|
|
- components: {
|
|
|
+ import addFloor from "@/views/ready/buildfloor/addFloor/index";
|
|
|
+ import addBuild from "@/components/ready/buildfloor/addBuild";
|
|
|
+ import {mapGetters} from "vuex";
|
|
|
+ import addConnectivity from "@/components/ready/buildfloor/addConnectivity";
|
|
|
+ import checkGraphy from "./drawGraphy/checkGraphy"; //查看图片
|
|
|
+ import {buildingQueryAndCount, floorQueryAndSign, manageDeleteFloor} from "@/api/scan/request";
|
|
|
+
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
addFloor,
|
|
|
addBuild,
|
|
|
addConnectivity,
|
|
|
checkGraphy
|
|
|
},
|
|
|
- data() {
|
|
|
- return {
|
|
|
- repetitionGraphyVisible: false, // 替换平面图弹窗
|
|
|
- floorTitle: "添加楼层",
|
|
|
- buildTitle: "添加建筑",
|
|
|
- delDialogVis: false,
|
|
|
- delText: "建筑",
|
|
|
- headerStyle: {
|
|
|
- backgroundColor: "#d9d9d9",
|
|
|
- color: "#2b2b2b",
|
|
|
- lineHeight: "30px"
|
|
|
- },
|
|
|
- buildList: [],
|
|
|
- tableData: [],
|
|
|
- page: {
|
|
|
- pageSize: 500,
|
|
|
- pageSizes: [10, 20, 50, 100],
|
|
|
- pageNumber: 1,
|
|
|
- total: 0
|
|
|
- },
|
|
|
- loading: false, //列表loading
|
|
|
- curBuildId: "", //当前选中的建筑id
|
|
|
- curFloorId: "", //当前选中的楼层id
|
|
|
- modelId: "",
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapGetters("layout", ["projectId"])
|
|
|
- },
|
|
|
- mounted() { },
|
|
|
- created() {
|
|
|
- this.init();
|
|
|
- },
|
|
|
- methods: {
|
|
|
- init() {
|
|
|
- let bdParam = {
|
|
|
- Orders: "BuildLocalName asc",
|
|
|
- PageNumber: 1,
|
|
|
- PageSize: 500
|
|
|
- };
|
|
|
- buildingQueryAndCount(bdParam, res => {
|
|
|
- this.buildList = res.Content;
|
|
|
- if (this.buildList.length) {
|
|
|
- this.changeBuild(0);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- //change build
|
|
|
- changeBuild(index) {
|
|
|
- this.buildList.map(item => {
|
|
|
- item.active = false;
|
|
|
- return item;
|
|
|
- });
|
|
|
- this.buildList[index].active = true;
|
|
|
- this.curBuildId = this.buildList[index].BuildID;
|
|
|
- this.getFloorTableData();
|
|
|
- this.$forceUpdate();
|
|
|
- },
|
|
|
- //add build
|
|
|
- addBuild() {
|
|
|
- this.$message.warning("开发中...");
|
|
|
- return;
|
|
|
- this.$refs.addBuildDialog.showDialog();
|
|
|
- },
|
|
|
- //delete build
|
|
|
- delBuild() {
|
|
|
- this.$message.warning("开发中...");
|
|
|
- return;
|
|
|
- this.delText = "建筑";
|
|
|
- this.delDialogVis = true;
|
|
|
- },
|
|
|
- //edit build
|
|
|
- editBuild() {
|
|
|
- this.$message.warning("开发中...");
|
|
|
- return;
|
|
|
- },
|
|
|
- //delete floor
|
|
|
- handleDelete(floor) {
|
|
|
- this.delText = "楼层";
|
|
|
- this.delDialogVis = true;
|
|
|
- this.curFloorId = floor.FloorID;
|
|
|
- },
|
|
|
- //确认删除弹窗关闭
|
|
|
- handleClose() { },
|
|
|
- addFloor() {
|
|
|
- this.curFloorId = "";
|
|
|
- this.$refs.addFloorDialog.showDialog();
|
|
|
- },
|
|
|
- // 获取列表
|
|
|
- getFloorTableData() {
|
|
|
- let floorParam = {
|
|
|
- Cascade: [{ Name: "floorThroughList" }],
|
|
|
- Orders: "FloorSequenceID desc",
|
|
|
- PageNumber: this.page.pageNumber,
|
|
|
- PageSize: this.page.pageSize,
|
|
|
- Filters: `BuildID='${this.curBuildId}'`
|
|
|
- };
|
|
|
- floorQueryAndSign(floorParam, res => {
|
|
|
- this.tableData = res.Content;
|
|
|
- this.page.total = res.Total;
|
|
|
- });
|
|
|
- },
|
|
|
- // 创建楼层成功-修改关系成功
|
|
|
- refresh() {
|
|
|
- this.getFloorTableData();
|
|
|
- },
|
|
|
- // 确认删除(删除建筑-楼层公用)
|
|
|
- confirmDel() {
|
|
|
- if (this.delText == "楼层") {
|
|
|
- let delParam = [{ FloorID: this.curFloorId }];
|
|
|
- manageDeleteFloor(delParam, res => {
|
|
|
- this.$message.success("删除成功");
|
|
|
- this.delDialogVis = false;
|
|
|
- this.getFloorTableData();
|
|
|
- });
|
|
|
- } else {
|
|
|
- //todo
|
|
|
- }
|
|
|
- },
|
|
|
- // 修改楼层信息
|
|
|
- editFloorData(floor) {
|
|
|
- this.floorTitle = "编辑楼层信息";
|
|
|
- this.curFloorId = floor.FloorID;
|
|
|
- this.$refs.addFloorDialog.showDialog(floor);
|
|
|
- },
|
|
|
- // 修改楼层贯通关系
|
|
|
- changeConnection(row) {
|
|
|
- this.$refs.addConnectivity.showDialog();
|
|
|
- this.$refs.addConnectivity.floor = row;
|
|
|
- },
|
|
|
- // 查看平面图
|
|
|
- checkDrawImg(row, index) {
|
|
|
- if (3 == index) {
|
|
|
- this.$refs.checkGraphy.showDialog(row)
|
|
|
- this.modelId = "";
|
|
|
- } else {
|
|
|
- this.modelId = row.ModelId;
|
|
|
- let pa = { modelId: this.modelId, FloorID: row.FloorID, BuildID: row.BuildID }
|
|
|
- this.$router.push({ name: "repetitionGraphy", query: pa });
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ repetitionGraphyVisible: false, // 替换平面图弹窗
|
|
|
+ floorTitle: "添加楼层",
|
|
|
+ buildTitle: "添加建筑",
|
|
|
+ delDialogVis: false,
|
|
|
+ delText: "建筑",
|
|
|
+ headerStyle: {
|
|
|
+ backgroundColor: "#d9d9d9",
|
|
|
+ color: "#2b2b2b",
|
|
|
+ lineHeight: "30px"
|
|
|
+ },
|
|
|
+ buildList: [],
|
|
|
+ tableData: [],
|
|
|
+ page: {
|
|
|
+ pageSize: 500,
|
|
|
+ pageSizes: [10, 20, 50, 100],
|
|
|
+ pageNumber: 1,
|
|
|
+ total: 0
|
|
|
+ },
|
|
|
+ loading: false, //列表loading
|
|
|
+ curBuildId: "", //当前选中的建筑id
|
|
|
+ curFloorId: "", //当前选中的楼层id
|
|
|
+ modelId: "",
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters("layout", ["projectId"])
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.init();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ init() {
|
|
|
+ let bdParam = {
|
|
|
+ Orders: "BuildLocalName asc",
|
|
|
+ PageNumber: 1,
|
|
|
+ PageSize: 500
|
|
|
+ };
|
|
|
+ buildingQueryAndCount(bdParam, res => {
|
|
|
+ this.buildList = res.Content;
|
|
|
+ if (this.buildList.length) {
|
|
|
+ this.changeBuild(0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //change build
|
|
|
+ changeBuild(index) {
|
|
|
+ this.buildList.map(item => {
|
|
|
+ item.active = false;
|
|
|
+ return item;
|
|
|
+ });
|
|
|
+ this.buildList[index].active = true;
|
|
|
+ this.curBuildId = this.buildList[index].BuildID;
|
|
|
+ this.getFloorTableData();
|
|
|
+ this.$forceUpdate();
|
|
|
+ },
|
|
|
+ //add build
|
|
|
+ addBuild() {
|
|
|
+ this.$message.warning("开发中...");
|
|
|
+ return;
|
|
|
+ this.$refs.addBuildDialog.showDialog();
|
|
|
+ },
|
|
|
+ //delete build
|
|
|
+ delBuild() {
|
|
|
+ this.$message.warning("开发中...");
|
|
|
+ return;
|
|
|
+ this.delText = "建筑";
|
|
|
+ this.delDialogVis = true;
|
|
|
+ },
|
|
|
+ //edit build
|
|
|
+ editBuild() {
|
|
|
+ this.$message.warning("开发中...");
|
|
|
+ return;
|
|
|
+ },
|
|
|
+ //delete floor
|
|
|
+ handleDelete(floor) {
|
|
|
+ this.delText = "楼层";
|
|
|
+ this.delDialogVis = true;
|
|
|
+ this.curFloorId = floor.FloorID;
|
|
|
+ },
|
|
|
+ //确认删除弹窗关闭
|
|
|
+ handleClose() {
|
|
|
+ },
|
|
|
+ addFloor() {
|
|
|
+ this.curFloorId = "";
|
|
|
+ this.$refs.addFloorDialog.showDialog();
|
|
|
+ },
|
|
|
+ // 获取列表
|
|
|
+ getFloorTableData() {
|
|
|
+ let floorParam = {
|
|
|
+ Cascade: [{Name: "floorThroughList"}],
|
|
|
+ Orders: "FloorSequenceID desc",
|
|
|
+ PageNumber: this.page.pageNumber,
|
|
|
+ PageSize: this.page.pageSize,
|
|
|
+ Filters: `BuildID='${this.curBuildId}'`
|
|
|
+ };
|
|
|
+ floorQueryAndSign(floorParam, res => {
|
|
|
+ this.tableData = res.Content;
|
|
|
+ this.page.total = res.Total;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 创建楼层成功-修改关系成功
|
|
|
+ refresh() {
|
|
|
+ this.getFloorTableData();
|
|
|
+ },
|
|
|
+ // 确认删除(删除建筑-楼层公用)
|
|
|
+ confirmDel() {
|
|
|
+ if (this.delText == "楼层") {
|
|
|
+ let delParam = [{FloorID: this.curFloorId}];
|
|
|
+ manageDeleteFloor(delParam, res => {
|
|
|
+ this.$message.success("删除成功");
|
|
|
+ this.delDialogVis = false;
|
|
|
+ this.getFloorTableData();
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ //todo
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 修改楼层信息
|
|
|
+ editFloorData(floor) {
|
|
|
+ this.floorTitle = "编辑楼层信息";
|
|
|
+ this.curFloorId = floor.FloorID;
|
|
|
+ this.$refs.addFloorDialog.showDialog(floor);
|
|
|
+ },
|
|
|
+ // 修改楼层贯通关系
|
|
|
+ changeConnection(row) {
|
|
|
+ this.$refs.addConnectivity.showDialog();
|
|
|
+ this.$refs.addConnectivity.floor = row;
|
|
|
+ },
|
|
|
+ // 查看平面图
|
|
|
+ checkDrawImg(row, index) {
|
|
|
+ if (3 == index) {
|
|
|
+ this.$refs.checkGraphy.showDialog(row)
|
|
|
+ this.modelId = "";
|
|
|
+ } else {
|
|
|
+ this.modelId = row.ModelId;
|
|
|
+ let pa = {modelId: this.modelId, FloorID: row.FloorID, BuildID: row.BuildID}
|
|
|
+ this.$router.push({name: "repetitionGraphy", query: pa});
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
projectId() {
|
|
|
this.init();
|
|
|
}
|
|
@@ -251,7 +351,7 @@ export default {
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
-#bd-fl-manage {
|
|
|
+ #bd-fl-manage {
|
|
|
overflow: hidden;
|
|
|
height: 100%;
|
|
|
position: relative;
|