Browse Source

提交业务空间修改

chuwu 5 years ago
parent
commit
a3ab07e7aa

+ 2 - 2
config/dev.env.js

@@ -4,5 +4,5 @@ const prodEnv = require('./prod.env')
 
 module.exports = merge(prodEnv, {
     NODE_ENV: '"development"',
-    BASE_URL: '"http://39.96.187.128"', //线上iframe地址
-})
+    BASE_URL: '"http://172.16.0.239"', //线上iframe地址
+})

+ 2 - 2
config/prod.env.js

@@ -1,5 +1,5 @@
 'use strict'
 module.exports = {
     NODE_ENV: '"production"',
-    BASE_URL: '"http://39.96.187.128"', //线上iframe地址
-}
+    BASE_URL: '"http://172.16.0.239"', //线上iframe地址
+}

+ 1 - 1
src/api/scan/request.js

@@ -456,7 +456,7 @@ export function createBusinessList(param) {
 //更新业务空间
 export function updateBusiness(param) {
     let data = param.data
-    return fetch({ method: "POST", url: `${business}/object/batch_update?projectId=${param.ProjId}&secret=${param.secret}`, data })
+    return fetch({ method: "POST", url: `${physics}/object/batch_update?projectId=${param.ProjId}&secret=${param.secret}`, data })
 }
 
 //模糊搜索设备类型

+ 21 - 0
src/assets/style/style.scss

@@ -12,6 +12,27 @@
     padding-top: 8px;
 }
 
+.right-nobg {
+    text-align: right;
+}
+
 .el-loading-mask {
     z-index: 499;
+}
+
+.search-title {
+    height: 53px;
+    border: 1px solid #dfe6ec;
+    background-color: #fff;
+    padding: 10px 10px;
+    box-sizing: border-box;
+    margin-bottom: 10px;
+}
+
+.p12 {
+    padding-right: 12px;
+}
+
+iframe {
+    border: none;
 }

+ 13 - 8
src/components/business_space/business/handsontable.vue

@@ -1,21 +1,26 @@
 <template>
     <div id="handsontable" v-loading="isLoading">
         <div style="overflow:hidden;margin-bottom:10px;margin-right:20px;height:50px;">
-            <el-button @click="undo" size="small" style="float:right;margin-top:5px;margin-right:10px;" icon="iconfont icon-undo" circle></el-button>
-            <el-button @click="reset" size="small" style="float:right;margin-top:5px;margin-right:10px;" icon="iconfont icon-shuaxin" circle></el-button>
-            <el-button @click="addSp" size="small" style="float:right;margin-top:5px;margin-right:10px;" icon="iconfont icon-tianjia" circle></el-button>
+            <el-button @click="undo" style="float:right;margin-top:5px;margin-left:10px;">撤回</el-button>
+            <el-button @click="reset" style="float:right;margin-top:5px;">刷新</el-button>
+            <el-button @click="addSp" style="float:right;margin-top:5px;">添加</el-button>
         </div>
         <div v-show="main &&main.length" :id="id"></div>
-        <div class="no-data" v-show="!main || !main.length">暂无数据</div>
+        <div class="center" v-show="!main || !main.length">
+            <i class="iconwushuju iconfont"></i>
+            暂无数据
+        </div>
         <!-- <add-business :buildMess="buildMess" :dialog="dialog"></add-business> -->
-        <my-pagination v-show="main &&main.length" :page="page" @change="pageChange"></my-pagination>
+        <div class="right-nobg" v-show="main &&main.length">
+            <my-pagination :page="page" @change="pageChange"></my-pagination>    
+        </div>
     </div>
 </template>
 <script>
      // 引用handsontable插件
-     // import "@/assets/js/chosen.jquery.min";
+     import "@/assets/js/chosen.jquery.min";
      import tools from "@/utils/scan/tools";
-     // import "@/assets/js/handsontable-chosen-editor";
+     import "@/assets/js/handsontable-chosen-editor";
      import myPagination from "@/components/common/myPagination";
      import addBusiness from "@/components/business_space/dialogs/addDialog/businessDialog"
      import showTools from "@/utils/handsontable/notShow"
@@ -175,7 +180,7 @@
                      columns: this.getType(this.headers), //数据显示格式
                      filters: true,
                      maxRows: this.main.length,
-                     height: winHeight - 100 - 50 - 80,
+                     height: winHeight - 100 - 50 - 165,
                      columnSorting: true, //添加排序
                      sortIndicator: true, //添加排序
                      renderAllRows: true,

+ 1 - 1
src/components/business_space/dialogs/changeRea.vue

@@ -19,7 +19,7 @@
           <floor-cascader @change="changeFloor"></floor-cascader>
         </div>
         <el-radio-group v-model="radio" style="width:100%;">
-          <el-table :data="tableData" style="width: 100%" height="300px">
+          <el-table :data="tableData" class="data-table border" style="width: 100%" height="300px">
             <el-table-column label="资产名称">
               <template slot-scope="scope">
                 <el-radio

+ 7 - 1
src/components/business_space/dialogs/detailsDialog.vue

@@ -68,7 +68,7 @@
         props: {
             width: {
                 type: String,
-                default: "70%"
+                default: "900px"
             },
             title: {
                 type: String,
@@ -189,6 +189,12 @@
 </script>
 
 <style lang="less">
+    .el-dialog__header{
+        .el-dropdown{
+            font-size: 12px;
+            line-height: 33px;
+        }
+    }
     #detailsDialog {
         .el-tabs__content {
             max-height: 400px;

+ 4 - 3
src/components/business_space/dialogs/influenceDialog.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-dialog :visible.sync="isShow.influence" :center="true" :width="width">
+    <el-dialog :visible.sync="isShow.influence" :width="width">
         <span slot="title">{{title}}</span>
         <div id="influenceDialog">
             <p class="influence-p">受元空间变化影响,部分业务空间需重新划分</p>
@@ -13,7 +13,7 @@
                 </el-tab-pane>
             </el-tabs>
         </div>
-        <span slot="footer" class="dialog-footer center">
+        <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="confirm">我知道了</el-button>
         </span>
     </el-dialog>
@@ -31,7 +31,7 @@
         props: {
             width: {
                 type: String,
-                default: "40%"
+                default: "300px"
             },
             title: {
                 type: String,
@@ -66,6 +66,7 @@
             };
         },
         created() {
+            console.log(this.tabsList,'tabsList')
             this.getAllMess();
         },
         methods: {

+ 10 - 10
src/components/business_space/table/addEquip.vue

@@ -32,7 +32,7 @@
       :data="tableData"
       v-loading="isLoading"
       tooltip-effect="dark"
-      size="small"
+      class="data-table border"
       height="300"
       style="width: 100%"
       @selection-change="handleSelectionChange"
@@ -77,21 +77,21 @@
       </el-table-column>
       <el-table-column label="操作">
         <template slot-scope="scope">
-          <el-button type="info" size="mini" @click="lockDetails(scope.row)">设备详情</el-button>
+          <el-button type="info" plain @click="lockDetails(scope.row)">设备详情</el-button>
         </template>
       </el-table-column>
     </el-table>
     <el-dialog width="40%" title="设备详情" :visible.sync="innerVisible" append-to-body>
       <iframe height="400px" width="100%" :src="iframeSrc"></iframe>
     </el-dialog>
-    <my-pagination :page="page" @change="pageChange"></my-pagination>
-    <div style="width:100%;overflow:hidden;margin-top:20px;">
-      <div style="height:50px;width:50%;float:left;">
-        <el-button style="float:right;margin-right:20px;" @click="clearBox">取 消</el-button>
-      </div>
-      <div style="height:50px;width:50%;float:left;">
-        <el-button type="primary" @click="addReal">确 定</el-button>
-      </div>
+    <div class="right-nobg">
+        <my-pagination :page="page" @change="pageChange"></my-pagination>
+    </div>
+    <div class="el-dialog__footer">
+        <span class="dialog-footer">
+            <el-button@click="clearBox">取 消</el-button>
+            <el-button type="primary" @click="addReal">确 定</el-button>
+        </span>
     </div>
   </div>
 </template>

+ 5 - 3
src/components/business_space/table/businessTable.vue

@@ -16,7 +16,7 @@
       height="300"
       :stripe="true"
       border
-      size="small"
+      class="data-table border"
       v-loading="isLoading"
       style="width: 100%"
     >
@@ -34,11 +34,13 @@
       </el-table-column>
       <el-table-column v-if="type == 'relevance'" label="操作">
         <template slot-scope="scope">
-          <el-button type="text" size="mini" @click="deleteSpace(scope.row)">关联平面图</el-button>
+          <el-button type="text" @click="deleteSpace(scope.row)">关联平面图</el-button>
         </template>
       </el-table-column>
     </el-table>
-    <my-pagination :page="page" @change="pageChange"></my-pagination>
+    <div class="right">
+        <my-pagination :page="page" @change="pageChange"></my-pagination>
+    </div>
   </div>
 </template>
 

+ 26 - 25
src/components/business_space/table/equipTable.vue

@@ -2,33 +2,34 @@
     <div>
         <el-tabs v-model="activeRelation" @tab-click="changeTabs">
             <el-tab-pane v-for=" (item,index) in relationList" :key="index" :label="item.name" :name="item.code">
-                <el-table :data="tableData" height="300" :stripe="true" border size="small" v-loading="isLoading" style="width: 100%">
+                <el-table :data="tableData" height="300" class="data-table border" :stripe="true" border size="small" v-loading="isLoading" style="width: 100%">
                     <el-table-column width="180" label="设备名称">
                         <template slot-scope="scope">
-                  <span style="margin-left: 10px">
-                    <el-tooltip :content="scope.row.infos.EquipName" placement="top">
-                      <span>{{scope.row.infos.EquipName | cutString(15)}}</span>
-                    </el-tooltip>
-                  </span>
-</template>
-          </el-table-column>
-          <el-table-column width="160" label="设备类">
-<template slot-scope="scope">
-    <span style="margin-left: 10px">
-                    <span>{{getName(scope.row.category)}}</span>
-    </span>
-</template>
-          </el-table-column>
-          <el-table-column label="操作">
-<template slot-scope="scope">
-    <el-button type="info" size="mini" @click="lockDetails(scope.row)">
-        详情</el-button>
-    <el-button v-if="scope.row.inSpace" type="danger" size="mini" @click="deleteSpace(scope.row)">从空间移除</el-button>
-</template>
-          </el-table-column>
-        </el-table>
-        <my-pagination :page="page" @change="pageChange"></my-pagination>
-      </el-tab-pane>
+                            <span style="margin-left: 10px">
+                                <el-tooltip :content="scope.row.infos.EquipName" placement="top">
+                                <span>{{scope.row.infos.EquipName | cutString(15)}}</span>
+                                </el-tooltip>
+                            </span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column width="160" label="设备类">
+                        <template slot-scope="scope">
+                            <span style="margin-left: 10px">
+                                <span>{{getName(scope.row.category)}}</span>
+                            </span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column label="操作">
+                        <template slot-scope="scope">
+                            <el-button type="info" plain @click="lockDetails(scope.row)">详情</el-button>
+                            <el-button v-if="scope.row.inSpace" plain type="danger" @click="deleteSpace(scope.row)">从空间移除</el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+        <div class="right-nobg">
+            <my-pagination :page="page" @change="pageChange"></my-pagination>
+        </div>
+        </el-tab-pane>
     </el-tabs>
     <el-dialog width="40%" title="设备详情" :visible.sync="innerVisible" append-to-body>
       <iframe height="400px" width="100%" :src="iframeSrc"></iframe>

+ 2 - 2
src/views/business_space/business_list/index.vue

@@ -159,7 +159,7 @@
         mounted() {},
         methods: {
             changeRadio(){
-                this.tabsList(this.isMyTab)
+                this.tabClick(this.isMyTab)
             },
             //获取楼层
             getFloor() {
@@ -321,7 +321,7 @@
                 this.floor.facility = true;
                 this.$refs.facility.getData(infos, this.buildMess);
             },
-            tabList(num) {
+            tabClick(num) {
                 console.log(this.$refs)
                 this.isMyTab = num;
                 if (num == 2) {

+ 5 - 7
src/views/data_admin/buildGraphy/graphyCanvas.vue

@@ -1,16 +1,17 @@
 <template>
   <div ref="graphyMain" class="canvasGraphy">
-    <div class="saga-message" v-if="type != 3">{{type == 1 ? '请选择楼层' : '当前楼层尚无平面图,请去空间管理根据模型生成'}}</div>
+    <i v-if="type == 2" class="iconwushuju iconfont"></i>
+    <div class="center" v-if="type != 3">{{type == 1 ? '请选择楼层' : '当前楼层尚无平面图,请去空间管理根据模型生成'}}</div>
     <div style="width:100%;" v-else>
       <canvas id="canvas" :width="canvasW" :height="canvasH"></canvas>
     </div>
-    <el-button
+    <!-- <el-button
       v-if="type == 3"
       size="small"
       @click="pointToSpace"
       style="height: 30px;z-index:999;overflow: hidden;transform: translateX(-50%);position: absolute;top: 10%;right: 5%;"
       type="primary"
-    >标签与空间关联</el-button>
+    >标签与空间关联</el-button> -->
     <div
       v-if="type == 3"
       style="height: 30px;z-index:999;overflow: hidden;transform: translateX(-50%);position: absolute;bottom: 10%;left: 50%;"
@@ -142,7 +143,7 @@ export default {
       this.canvasW =
         document.getElementsByClassName("graphy-main")[0].offsetWidth - 2;
       this.canvasH =
-        document.getElementsByTagName("body")[0].offsetHeight - 20;
+        document.getElementsByTagName("body")[0].offsetHeight - 167;
     },
 
     pointToSpace() {
@@ -898,9 +899,6 @@ export default {
 .canvasGraphy {
   position: relative;
   height: 100%;
-  canvas {
-    border: 1px solid #ccc;
-  }
   .saga-message {
     height: 400px;
     line-height: 400px;

+ 428 - 454
src/views/data_admin/buildGraphy/graphyTabs.vue

@@ -3,54 +3,48 @@ setFalg 插旗事件
 getLocation 定位
 -->
 <template>
-  <div id="graphy-tabs">
-    <el-tabs style="height:100%;" v-model="activeName2" type="card" @tab-click="handleClick">
-      <el-tab-pane label="本层的点位标签" name="point">
-        <div
-          v-if="pointData.length"
-          v-loading="isLoading"
-          style="max-height: 800px;overflow-y:auto;"
-        >
-          <div v-for="(item,index) in pointData" :key="index">
-            <div class="point">
-              <span>{{item.Name}}</span>
-              <el-button size="mini" @click="getDetails(item)">编辑点位标签</el-button>
-              <el-button
-                :disabled="!map"
-                size="mini"
-                @click="btnClick(item)"
-              >{{ item.X == 0 && item.Y == 0 ? '插旗' : '定位'}}</el-button>
-            </div>
-          </div>
-        </div>
-        <template v-if="!pointData.length">
-          <div class="saga-message">{{pointParam.FloorId ? "数据为空" : "←请选择楼层"}}</div>
-        </template>
+    <div id="graphy-tabs">
+        <el-tabs style="height:100%;" v-model="activeName2" type="card" @tab-click="handleClick">
+            <el-tab-pane label="本层的点位标签" name="point">
+                <div v-if="pointData.length" v-loading="isLoading" style="max-height: 800px;overflow-y:auto;">
+                    <div v-for="(item,index) in pointData" :key="index">
+                        <div class="point">
+                            <span>{{item.Name}}</span>
+                            <el-button size="mini" @click="getDetails(item)">编辑点位标签</el-button>
+                            <el-button :disabled="!map" size="mini" @click="btnClick(item)">{{ item.X == 0 && item.Y == 0 ? '插旗' : '定位'}}</el-button>
+                        </div>
+                    </div>
+                </div>
+                <div v-if="!pointData.length" class="center">
+                    <i v-if="pointParam.FloorId" class="iconwushuju iconfont"></i>
+                    {{pointParam.FloorId ? "数据为空" : "←请选择楼层"}}
+                </div>
       </el-tab-pane>
       <el-tab-pane label="无法定位到楼层的点位标签" name="noPoint">
-        <div v-if="pointNoData.length" v-loading="isLoading" style="max-height: 800px;">
-          <div v-for="(item,index) in pointNoData" :key="index">
-            <div class="point">
-              <span>{{item.Name}}</span>
-              <el-button size="mini" @click="getDetails(item)">编辑点位标签</el-button>
-              <el-button
-                :disabled="!(item.X == 0 && item.Y == 0)"
-                size="mini"
-                @click="btnClick(item)"
-              >{{ item.X == 0 && item.Y == 0 ? '插旗' : '定位'}}</el-button>
+            <div v-if="pointNoData.length" v-loading="isLoading" style="max-height: 800px;">
+                <div v-for="(item,index) in pointNoData" :key="index">
+                    <div class="point">
+                    <span>{{item.Name}}</span>
+                    <el-button size="mini" @click="getDetails(item)">编辑点位标签</el-button>
+                    <el-button
+                        :disabled="!(item.X == 0 && item.Y == 0)"
+                        size="mini"
+                        @click="btnClick(item)"
+                    >{{ item.X == 0 && item.Y == 0 ? '插旗' : '定位'}}</el-button>
+                </div>
             </div>
-          </div>
-        </div>
-        <template v-if="!pointNoData.length">
-          <div class="saga-message">{{pointParam.FloorId ? "数据为空" : "←请选择楼层"}}</div>
-        </template>
-      </el-tab-pane>
+            </div>
+            <div v-if="!pointNoData.length" class="center">
+                <i v-if="pointParam.FloorId" class="iconwushuju iconfont"></i>
+                    {{pointParam.FloorId ? "数据为空" : "←请选择楼层"}}
+            </div>
+        </el-tab-pane>
     </el-tabs>
-    <el-dialog title="详情" :visible.sync="pointShow" width="40%">
+    <el-dialog title="详情" :visible.sync="pointShow" width="500px">
       <div class="qrcode">
         <div class="qrcode-view">
           <img
-            :src="'api/ScanBuilding/service/qrcode/point?projectId=' + projectId + '&pointId=' + pointDetails.PointId + '&FloorId=' + pointDetails.FloorId + '&width=200&height=200'"
+            :src="'/ScanBuilding/service/qrcode/point?projectId=' + projectId + '&pointId=' + pointDetails.PointId + '&FloorId=' + pointDetails.FloorId + '&width=200&height=200'"
             alt="点位标签二维码"
           >
         </div>
@@ -66,7 +60,7 @@ getLocation 定位
               @change="changeInput"
               :value="pointDetails.PointName"
               :keys="'PointName'"
-              :label="'点位标签:'"
+              :label="'点位标签'"
               :isRule="false"
             ></form-input>
             <form-input
@@ -74,7 +68,7 @@ getLocation 定位
               @change="changeInput"
               :value="pointDetails.PointLocalId"
               :keys="'PointLocalId'"
-              :label="'点位本地编码:'"
+              :label="'点位本地编码'"
               :isRule="false"
             ></form-input>
             <!-- <form-input></form-input> -->
@@ -117,68 +111,53 @@ getLocation 定位
         </ul>
       </div>
       <div class="point-pic">
-        <p>点位安装位置效果照片</p>
-        <template v-for="(item,index) in installPic">
-          <div class="point-image" :key="index">
-            <i class="el-icon-delete" @click="delImage(index,installPic)"></i>
-            <img
-              :src="'img/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'"
-              alt
-            >
-          </div>
-        </template>
-        <load-img keyName="安装位置" @getKey="getKey"></load-img>
-      </div>
-      <div class="point-pic">
-        <p>全景照片</p>
-        <template v-for="(item,index) in panorama">
-          <div class="point-image" :key="index">
-            <i class="el-icon-delete" @click="delImage(index,panorama)"></i>
-            <img
-              :src="'img/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'"
-              alt
-            >
-          </div>
-        </template>
-        <load-img keyName="全景照片" @getKey="getKey"></load-img>
-      </div>
-      <div class="point-pic">
-        <p>周边照片</p>
-        <template v-for="(item,index) in rimPic">
-          <div class="point-image" :key="index">
-            <i class="el-icon-delete" @click="delImage(index,rimPic)"></i>
-            <img
-              :src="'img/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'"
-              alt
-            >
-          </div>
-        </template>
-        <load-img keyName="周边照片" @getKey="getKey"></load-img>
-      </div>
-      <div class="point-pic">
-        <p>视频资料</p>
-        <template v-for="(item,index) in videoPic">
-          <div class="point-image" :key="index">
-            <i class="el-icon-delete" @click="delImage(index,videoPic)"></i>
-            <img
-              :src="'img/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'"
-              alt
-            >
-          </div>
-        </template>
-        <load-img keyName="视频" @getKey="getKey"></load-img>
-      </div>
-      <div class="point-pic">
-        <p>其他照片</p>
-        <template v-for="(item,index) in elsePic">
-          <div class="point-image" :key="index">
-            <i class="el-icon-delete" @click="delImage(index,elsePic)"></i>
-            <img
-              :src="'img/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'"
-              alt
-            >
-          </div>
-        </template>
+            <p>点位安装位置效果照片</p>
+            <template v-for="(item,index) in installPic">
+                <div class="point-image" :key="index">
+                    <i class="el-icon-delete" @click="delImage(index,installPic)"></i>
+                    <img :src="'/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'" alt>
+                </div>
+            </template>
+            <load-img keyName="安装位置" @getKey="getKey"></load-img>
+        </div>
+        <div class="point-pic">
+            <p>全景照片</p>
+            <template v-for="(item,index) in panorama">
+                <div class="point-image" :key="index">
+                    <i class="el-icon-delete" @click="delImage(index,panorama)"></i>
+                    <img :src="'/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'" alt>
+                </div>
+            </template>
+            <load-img keyName="全景照片" @getKey="getKey"></load-img>
+        </div>
+        <div class="point-pic">
+            <p>周边照片</p>
+            <template v-for="(item,index) in rimPic">
+                <div class="point-image" :key="index">
+                    <i class="el-icon-delete" @click="delImage(index,rimPic)"></i>
+                    <img :src="'/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'" alt>
+                </div>
+            </template>
+            <load-img keyName="周边照片" @getKey="getKey"></load-img>
+        </div>
+        <div class="point-pic">
+            <p>视频资料</p>
+            <template v-for="(item,index) in videoPic">
+                <div class="point-image" :key="index">
+                    <i class="el-icon-delete" @click="delImage(index,videoPic)"></i>
+                    <img :src="'/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'" alt>
+                </div>
+            </template>
+            <load-img keyName="视频" @getKey="getKey"></load-img>
+        </div>
+        <div class="point-pic">
+            <p>其他照片</p>
+            <template v-for="(item,index) in elsePic">
+                <div class="point-image" :key="index">
+                    <i class="el-icon-delete" @click="delImage(index,elsePic)"></i>
+                    <img :src="'/image-service/common/image_get?systemId=dataPlatform&key='+ item.key +'&width=200&height=200'" alt>
+                </div>
+            </template>
         <load-img keyName="其他照片" @getKey="getKey"></load-img>
       </div>
     </el-dialog>
@@ -186,364 +165,359 @@ getLocation 定位
 </template>
 
 <script>
-import {
-  getPT, //获取点位列表
-  getPoint, //获取点位详情
-  updatePoint //修改点位
-} from "@/api/scan/request";
-
-import formInput from "./lib/formInput";
-import loadImg from "./lib/uploadImg";
-import {mapGetters, mapActions} from 'vuex';
-
-export default {
-  props: {
-    pointParam: {
-      type: Object
-    }
-  },
-  components: {
-    formInput,
-    loadImg
-  },
-  data() {
-    return {
-      activeName2: "point",
-      pointData: [], //tab为本层的点位标签
-      pointNoData: [], //tab为无法定位的点位标签
-      pointShow: false, //标签详情的弹窗
-      pointDetails: {}, //标签详情信息对象
-      // projId: this.$route.query.projId,
-      index: "",
-      installPic: [], //安装位置
-      panorama: [], //全景照片
-      rimPic: [], //周边照片
-      videoPic: [], //视频资料
-      elsePic: [], //其他照片
-      map: true
+    import {
+        getPT, //获取点位列表
+        getPoint, //获取点位详情
+        updatePoint //修改点位
+    } from "@/api/scan/request";
+    import formInput from "./lib/formInput";
+    import loadImg from "./lib/uploadImg";
+    import {
+        mapGetters,
+        mapActions
+    } from 'vuex';
+    export default {
+        props: {
+            pointParam: {
+                type: Object
+            }
+        },
+        components: {
+            formInput,
+            loadImg
+        },
+        data() {
+            return {
+                activeName2: "point",
+                pointData: [], //tab为本层的点位标签
+                pointNoData: [], //tab为无法定位的点位标签
+                pointShow: false, //标签详情的弹窗
+                pointDetails: {}, //标签详情信息对象
+                // projId: this.$route.query.projId,
+                index: "",
+                installPic: [], //安装位置
+                panorama: [], //全景照片
+                rimPic: [], //周边照片
+                videoPic: [], //视频资料
+                elsePic: [], //其他照片
+                map: true
+            };
+        },
+        computed: {
+            ...mapGetters("peojMess", [
+                "projectId",
+                "userId",
+                "secret"
+            ])
+        },
+        methods: {
+            //tabs被点击
+            handleClick(tab, event) {
+                this.index = tab.index;
+                this.getPointList();
+            },
+            //修改input
+            changeInput(val, key) {
+                this.pointDetails[key] = val;
+                this.updatePoint();
+            },
+            //删除图片
+            delImage(index, arr) {
+                arr.splice(index, 1);
+                this.updatePoint();
+            },
+            //获取key的值
+            getKey(val, name) {
+                switch (name) {
+                    case "安装位置":
+                        this.installPic.push({
+                            key: val,
+                            name: name,
+                            type: "image_wz"
+                        });
+                        break;
+                    case "全景照片":
+                        this.panorama.push({
+                            key: val,
+                            name: name,
+                            type: "panorama"
+                        });
+                        break;
+                    case "周边照片":
+                        this.rimPic.push({
+                            key: val,
+                            name: name,
+                            type: "image_zb"
+                        });
+                        break;
+                    case "视频":
+                        this.videoPic.push({
+                            key: val,
+                            name: name,
+                            type: "video"
+                        });
+                        break;
+                    default:
+                        this.elsePic.push({
+                            key: val,
+                            name: name,
+                            type: "image_else"
+                        });
+                }
+                this.updatePoint();
+            },
+            btnClick(item) {
+                if (item.X == 0 && item.Y == 0) {
+                    this.$emit("setFalg", item);
+                } else {
+                    this.$emit("getLocation", item);
+                }
+            },
+            mapPush(detailsArr, pic) {
+                pic.map(item => {
+                    detailsArr.push(item);
+                });
+            },
+            //修改详情
+            updatePoint() {
+                this.pointDetails.ImageList = [];
+                this.mapPush(this.pointDetails.ImageList, this.installPic);
+                this.mapPush(this.pointDetails.ImageList, this.panorama);
+                this.mapPush(this.pointDetails.ImageList, this.rimPic);
+                this.mapPush(this.pointDetails.ImageList, this.videoPic);
+                this.mapPush(this.pointDetails.ImageList, this.elsePic);
+                let param = {
+                    ProjId: this.pointParam.ProjId,
+                    UserId: this.pointParam.UserId,
+                    PointList: this.pointDetails
+                };
+                updatePoint(param).then(res => {
+                    this.$message.success("修改成功");
+                });
+            },
+            getDetails(item) {
+                let params = {
+                    ProjId: this.projectId,
+                    UserId: this.userId,
+                    PointId: item.Id
+                };
+                getPoint(params).then(res => {
+                    let data = res.data;
+                    if (data.Result == "success") {
+                        this.pointShow = true;
+                        this.pointDetails = data.PointList[0];
+                        this.getPic(data.PointList[0].ImageList);
+                    } else {
+                        this.$message.error("请求出错");
+                    }
+                });
+            },
+            getPic(imgArr) {
+                this.installPic = [];
+                this.panorama = [];
+                this.rimPic = [];
+                this.videoPic = [];
+                this.elsePic = [];
+                imgArr.map((item, index) => {
+                    switch (item.name) {
+                        case "安装位置":
+                            this.installPic.push(item);
+                            break;
+                        case "全景照片":
+                            this.panorama.push(item);
+                            break;
+                        case "周边照片":
+                            this.rimPic.push(item);
+                            break;
+                        case "视频":
+                            this.videoPic.push(item);
+                            break;
+                        default:
+                            this.elsePic.push(item);
+                    }
+                });
+            },
+            //获取point
+            getPointList() {
+                this.isLoading = true;
+                if (this.pointParam.FloorId) {
+                    let param = {
+                        FloorId: this.pointParam.FloorId,
+                        ProjId: this.pointParam.ProjId,
+                        UserId: this.pointParam.UserId
+                    };
+                    console.log(param)
+                    //当index为1时FloorId为空
+                    if (this.index == "1") {
+                        param.FloorId = "";
+                    }
+                    getPT(param).then(res => {
+                        res.data.PointList.splice(0, 1);
+                        if (this.index == "1") {
+                            this.pointNoData = res.data.PointList;
+                        } else {
+                            this.$emit("getPointList", res.data.PointList);
+                            this.pointData = res.data.PointList;
+                        }
+                        this.isLoading = false;
+                    });
+                }
+            },
+            //初始化
+            reset(data, map) {
+                this.map = map
+                this.pointParam.FloorId = data.FloorId;
+                this.pointParam.fllorName = data.fllorName;
+                this.activeName2 = "point";
+                this.getPointList();
+            }
+        },
+        watch: {
+            pointShow: {
+                deep: true,
+                handler: function(old, val) {
+                    if (old == false && val == true) {
+                        this.getPointList();
+                    }
+                }
+            }
+        }
     };
-  },
-  computed: {
-        ...mapGetters("peojMess", [
-        "projectId",
-        "userId",
-        "secret"
-    ])
-    },
-  methods: {
-    //tabs被点击
-    handleClick(tab, event) {
-      this.index = tab.index;
-      this.getPointList();
-    },
-
-    //修改input
-    changeInput(val, key) {
-      this.pointDetails[key] = val;
-      this.updatePoint();
-    },
-
-    //删除图片
-    delImage(index, arr) {
-      arr.splice(index, 1);
-      this.updatePoint();
-    },
-
-    //获取key的值
-    getKey(val, name) {
-      switch (name) {
-        case "安装位置":
-          this.installPic.push({
-            key: val,
-            name: name,
-            type: "image_wz"
-          });
-          break;
-        case "全景照片":
-          this.panorama.push({
-            key: val,
-            name: name,
-            type: "panorama"
-          });
-          break;
-        case "周边照片":
-          this.rimPic.push({
-            key: val,
-            name: name,
-            type: "image_zb"
-          });
-          break;
-        case "视频":
-          this.videoPic.push({
-            key: val,
-            name: name,
-            type: "video"
-          });
-          break;
-        default:
-          this.elsePic.push({
-            key: val,
-            name: name,
-            type: "image_else"
-          });
-      }
-      this.updatePoint();
-    },
-
-    btnClick(item) {
-      if (item.X == 0 && item.Y == 0) {
-        this.$emit("setFalg", item);
-      } else {
-        this.$emit("getLocation", item);
-      }
-    },
-
-    mapPush(detailsArr, pic) {
-      pic.map(item => {
-        detailsArr.push(item);
-      });
-    },
-
-    //修改详情
-    updatePoint() {
-      this.pointDetails.ImageList = [];
-      this.mapPush(this.pointDetails.ImageList, this.installPic);
-      this.mapPush(this.pointDetails.ImageList, this.panorama);
-      this.mapPush(this.pointDetails.ImageList, this.rimPic);
-      this.mapPush(this.pointDetails.ImageList, this.videoPic);
-      this.mapPush(this.pointDetails.ImageList, this.elsePic);
-      let param = {
-        ProjId: this.pointParam.ProjId,
-        UserId: this.pointParam.UserId,
-        PointList: this.pointDetails
-      };
-      updatePoint(param).then(res => {
-        this.$message.success("修改成功");
-      });
-    },
+</script>
 
-    getDetails(item) {
-      let params = {
-        ProjId: this.projectId,
-        UserId: this.userId,
-        PointId: item.Id
-      };
-      getPoint(params).then(res => {
-        let data = res.data;
-        if (data.Result == "success") {
-          this.pointShow = true;
-          this.pointDetails = data.PointList[0];
-          this.getPic(data.PointList[0].ImageList);
-        } else {
-          this.$message.error("请求出错");
+<style lang="scss" scoped>
+    #graphy-tabs {
+        height: 100%;
+        border-left: 1px solid #E4E7ED;
+        .el-tabs__content {
+            height: calc(100% - 60px) !important;
+            background: red;
         }
-      });
-    },
-
-    getPic(imgArr) {
-      this.installPic = [];
-      this.panorama = [];
-      this.rimPic = [];
-      this.videoPic = [];
-      this.elsePic = [];
-      imgArr.map((item, index) => {
-        switch (item.name) {
-          case "安装位置":
-            this.installPic.push(item);
-            break;
-          case "全景照片":
-            this.panorama.push(item);
-            break;
-          case "周边照片":
-            this.rimPic.push(item);
-            break;
-          case "视频":
-            this.videoPic.push(item);
-            break;
-          default:
-            this.elsePic.push(item);
+        .el-dialog__body{
+            max-height: 400px;
         }
-      });
-    },
-
-    //获取point
-    getPointList() {
-      this.isLoading = true;
-      if (this.pointParam.FloorId) {
-        let param = {
-          FloorId: this.pointParam.FloorId,
-          ProjId: this.pointParam.ProjId,
-          UserId: this.pointParam.UserId
-        };
-        console.log(param)
-        //当index为1时FloorId为空
-        if (this.index == "1") {
-          param.FloorId = "";
+        .saga-message {
+            height: calc(100vh - 220px);
+            line-height: 400px;
+            color: #ccc;
+            font-size: 24px;
+            text-align: center;
         }
-        getPT(param).then(res => {
-          res.data.PointList.splice(0, 1);
-          if (this.index == "1") {
-            this.pointNoData = res.data.PointList;
-          } else {
-            this.$emit("getPointList", res.data.PointList);
-            this.pointData = res.data.PointList;
-          }
-          this.isLoading = false;
-        });
-      }
-    },
-
-    //初始化
-    reset(data, map) {
-      this.map = map
-      this.pointParam.FloorId = data.FloorId;
-      this.pointParam.fllorName = data.fllorName;
-      this.activeName2 = "point";
-      this.getPointList();
-    }
-  },
-  watch: {
-    pointShow: {
-      deep: true,
-      handler: function (old, val) {
-        if (old == false && val == true) {
-          this.getPointList();
+        .point {
+            padding-left: 20px;
+            height: 30px;
+            span {
+                font-size: 12px;
+                width: 180px;
+                display: inline-block;
+                white-space: nowrap;
+                text-overflow: ellipsis;
+                overflow: hidden;
+            }
+            button {
+                margin-bottom: 5px;
+            }
         }
-      }
-    }
-  }
-};
-</script>
-
-<style lang="scss" scoped>
-#graphy-tabs {
-  height: 100%;
-  border-left: 1px solid #E4E7ED;
-  .el-tabs__content{
-      height: calc(100% - 60px) !important;
-      background: red;
-  }
-  .saga-message {
-    height: calc(100vh - 200px);
-    line-height: 400px;
-    color: #ccc;
-    font-size: 24px;
-    text-align: center;
-  }
-  .point {
-    padding-left: 20px;
-    height: 30px;
-    span {
-      font-size: 12px;
-      width: 180px;
-      display: inline-block;
-      white-space: nowrap;
-      text-overflow: ellipsis;
-      overflow: hidden;
-    }
-    button {
-      margin-bottom: 5px;
-    }
-  }
-  .point:hover {
-    background-color: #f2f6fc;
-  }
-  .qrcode {
-    width: 100%;
-    height: 180px;
-    overflow: hidden;
-    .qrcode-view {
-      width: 180px;
-      height: 180px;
-      overflow: hidden;
-      float: left;
-      img {
-        width: 100%;
-        height: 100%;
-      }
-    }
-    .point-edit {
-      height: 180px;
-      display: inline-block;
-      padding-top: 10px;
-      overflow-x: hidden;
-      width: calc(100% - 200px);
-    }
-  }
-  .point-coding {
-    width: 100%;
-    height: 120px;
-    margin-top: 5px;
-    overflow: hidden;
-    p {
-      height: 30px;
-      line-height: 30px;
-      padding-left: 10px;
-      font-weight: 500;
-      font-size: 16px;
-      text-align: left;
-    }
-    ul {
-      width: 100%;
-      border: 1px solid #ccc;
-      border-bottom: none;
-      li {
-        line-height: 40px;
-        height: 40px;
-        span {
-          display: block;
-          float: left;
-          padding-left: 10px;
-          box-sizing: border-box;
-          border-right: 1px solid #ccc;
-          border-bottom: 1px solid #ccc;
-          border-left: 1px solid #ccc;
-          height: 40px;
-          overflow: hidden;
+        .point:hover {
+            background-color: #f2f6fc;
         }
-        span:first-child {
-          width: 30%;
+        .qrcode {
+            width: 100%;
+            height: 180px;
+            overflow: hidden;
+            .qrcode-view {
+                width: 180px;
+                height: 180px;
+                overflow: hidden;
+                float: left;
+                img {
+                    width: 100%;
+                    height: 100%;
+                }
+            }
+            .point-edit {
+                height: 180px;
+                display: inline-block;
+                padding-top: 10px;
+                overflow-x: hidden;
+                width: calc(100% - 180px);
+            }
         }
-        span:last-child {
-          width: 70%;
+        .point-coding {
+            width: 100%;
+            height: 120px;
+            margin-top: 5px;
+            overflow: hidden;
+            p {
+                height: 30px;
+                line-height: 30px;
+                padding-left: 10px;
+                font-weight: 500;
+                font-size: 16px;
+                text-align: left;
+            }
+            ul {
+                width: 100%;
+                border: 1px solid #ccc;
+                border-bottom: none;
+                box-sizing: border-box;
+                li {
+                    line-height: 40px;
+                    height: 40px;
+                    span {
+                        display: block;
+                        float: left;
+                        padding-left: 10px;
+                        box-sizing: border-box;
+                        border-right: 1px solid #ccc;
+                        border-bottom: 1px solid #ccc;
+                        border-left: 1px solid #ccc;
+                        height: 40px;
+                        overflow: hidden;
+                    }
+                    span:first-child {
+                        width: 30%;
+                    }
+                    span:last-child {
+                        width: 70%;
+                    }
+                }
+            }
+        }
+        .point-pic {
+            width: 100%;
+            overflow: hidden;
+            p {
+                height: 25px;
+                line-height: 25px;
+                padding-left: 10px;
+                font-weight: 500;
+                font-size: 16px;
+                margin-top: 5px;
+                margin-bottom: 5px;
+            }
+        }
+        .point-image {
+            width: 180px;
+            height: 180px;
+            float: left;
+            position: relative;
+            margin-right: 10px;
+            margin-bottom: 10px;
+            border: 1px solid #ccc;
+            img {
+                width: 100%;
+                height: 100%;
+            }
+            i {
+                position: absolute;
+                bottom: 10px;
+                right: 10px;
+                background-color: #fff;
+                padding: 5px;
+                cursor: pointer;
+            }
         }
-      }
-    }
-  }
-  .point-pic {
-    width: 100%;
-    overflow: hidden;
-    p {
-      height: 25px;
-      line-height: 25px;
-      padding-left: 10px;
-      font-weight: 500;
-      font-size: 16px;
-      margin-top: 5px;
-      margin-bottom: 5px;
-    }
-  }
-  .point-image {
-    width: 180px;
-    height: 180px;
-    float: left;
-    position: relative;
-    margin-right: 10px;
-    margin-bottom: 10px;
-    border: 1px solid #ccc;
-    img {
-      width: 100%;
-      height: 100%;
-    }
-    i {
-      position: absolute;
-      bottom: 10px;
-      right: 10px;
-      background-color: #fff;
-      padding: 5px;
-      cursor: pointer;
     }
-  }
-}
 </style>
 

+ 4 - 6
src/views/data_admin/buildGraphy/index.vue

@@ -6,11 +6,9 @@
         <!-- <div class="graphy-left">
           <graphy-tree v-if="show" :param="param" @change="getPoint"></graphy-tree>
         </div> -->
-        <div class='condition'>
-            <p>
-                <span>建筑楼层</span>
-                <el-cascader placeholder='请选择' :options="options" @active-item-change="handleItemChange" @change="changeFloor" filterable></el-cascader>
-            </p>
+        <div class='search-title'>
+            <span class="p12">建筑楼层</span>
+            <el-cascader placeholder='请选择' :options="options" @active-item-change="handleItemChange" @change="changeFloor" filterable></el-cascader>
         </div>
         <div class="graphy-view">
             <div class="graphy-main">
@@ -201,9 +199,9 @@
         // position: relative;
         display: flex;
         flex-direction: column;
-        background-color: #fff;
         .graphy-view {
             display: flex;
+            background-color: #fff;
             flex: 1; 
             .graphy-main {
                 flex: 1;

+ 1 - 1
src/views/data_admin/buildGraphy/lib/uploadImg.vue

@@ -103,7 +103,7 @@ export default {
   }
 }
 .el-dialog__body{
-  max-height: 600px;
+  max-height: 400px;
   overflow-y: auto;
 }
 </style>