Browse Source

adm:feat > 消息中心接口替换,系统详情所在竖井业务空间替换

shaun-sheep 4 years ago
parent
commit
1d68428496

+ 8 - 5
config/index.js

@@ -210,7 +210,7 @@ module.exports = {
         }
       },
       '/api': {
-        target: 'http://60.205.177.43:28888',
+        target: 'http://60.205.177.43:8080',
         changeOrigin: true,
         pathRewrite: {
           "^/api": "/"
@@ -286,7 +286,7 @@ module.exports = {
       '/scanbuilding': {
         // 目标 API 地址
         // target: 'http://192.168.12.238:8080/',
-        target: 'http://60.205.177.43:28888',
+        target: 'http://60.205.177.43:8080',
         // 如果要代理 websockets
         ws: true,
         // 将主机标头的原点更改为目标URL
@@ -295,18 +295,21 @@ module.exports = {
       '/image-service': {
         // 目标 API 地址
         // target: 'http://172.16.42.210:8080/' ,
-        target: 'http://api.sagacloud.cn/',
+        target: 'http://60.205.177.43:8080',
         // 如果要代理 websockets
         ws: true,
         // 将主机标头的原点更改为目标URL
         changeOrigin: false,
+        // pathRewrite: {
+        //   "^/image-service": "/dp-auxiliary/image-service/"
+        // }
         pathRewrite: {
-          "^/image-service": "/dp-auxiliary/image-service/"
+          "^/image-service": "/image-service/"
         }
       },
       '/modelapi': {
         // target: 'http://172.16.42.210:8082',
-        target: 'http://mbi.sagacloud.cn:8080/',
+        target: 'http://60.205.177.43:8080/',
         // target: 'http://192.168.20.218:8082',//景灏
         changeOrigin: true,
         pathRewrite: {

+ 14 - 14
src/api/msgsever.js

@@ -1,5 +1,5 @@
 import http from './scan/httpUtil'
-const baseUrl = '/api';
+import { message } from './scan/config'
 
 /*************************消息中心接口****************************/
 
@@ -8,8 +8,8 @@ const baseUrl = '/api';
  * info: 查询总数量不传参数,查询 已读Read = true,未读 Read = false
  */
 export function messgeCount(param, success) {
-    let url = `${baseUrl}/message-center/message/count`;
-    http.postJson(url, param, success)
+  let url = `${message}/message/count`;
+  http.postJson(url, param, success)
 }
 
 /**
@@ -17,24 +17,24 @@ export function messgeCount(param, success) {
  * info: 消息类型:提示(Info)、警告(Warning)、错误(Error)、成功(Success)
  */
 export function messgeCreate(param, success) {
-    let url = `${baseUrl}/message-center/message/create`;
-    http.postJson(url, param, success)
+  let url = `${message}/message/create`;
+  http.postJson(url, param, success)
 }
 
 /**
  * title: 删除消息
  */
 export function messgeDelete(param, success) {
-    let url = `${baseUrl}/message-center/message/delete`;
-    http.postJson(url, param, success)
+  let url = `${message}/message/delete`;
+  http.postJson(url, param, success)
 }
 
 /**
  * title: 查询消息列表
  */
 export function messgeQuery(param, success) {
-    let url = `${baseUrl}/message-center/message/page-query`;
-    http.postJson(url, param, success)
+  let url = `${message}/message/page-query`;
+  http.postJson(url, param, success)
 }
 
 /**
@@ -42,8 +42,8 @@ export function messgeQuery(param, success) {
  * info: 是否读过:未读(f)、已读(t)
  */
 export function messgeUpdate(param, success) {
-    let url = `${baseUrl}/message-center/message/update`;
-    http.postJson(url, param, success)
+  let url = `${message}/message/update`;
+  http.postJson(url, param, success)
 }
 
 /**
@@ -51,6 +51,6 @@ export function messgeUpdate(param, success) {
  * info: 已读Read = true,*UserId
  */
 export function messgeUpdateState(param, success) {
-    let url = `${baseUrl}/message-center/message/update-state`;
-    http.postJson(url, param, success)
-}
+  let url = `${message}/message/update-state`;
+  http.postJson(url, param, success)
+}

+ 9 - 3
src/api/scan/config.js

@@ -1,17 +1,23 @@
+/******************* 基础代理配置 *********************/
 export const baseUrl = '/api';
 export const api = '/ScanBuilding';
 export const api1 = '/scanbuilding-2';
 export const scan = '/scanbuilding';
 export const sass = 'sass';
-export const physics = '/data-platform-3';
-export const business = '/business-space'
 export const venders = '/venders'
 export const dataCenter = '/datacenter4'
 export const component = '/equip-component4'
+export const physics = '/data-platform-3';
+export const business = '/business-space'
+/******************* 适配新版数据字典接口 *********************/
 export const object = dataCenter + '/object'
+export const rel = dataCenter + '/rel'
+export const system = object + '/general-system'
+export const message = baseUrl + '/message-center4'
+
+
 export const shaft = dataCenter + '/shaft'
 export const tenant = dataCenter + '/tenant'
-export const system = dataCenter + '/general-system'
 export const floor = dataCenter + '/floor'
 export const dict = dataCenter + '/dict'
 export const classDef = dataCenter + '/class-def'

+ 55 - 43
src/api/scan/httpUtil.js

@@ -1,4 +1,4 @@
-import {Message} from 'element-ui';
+import { Message } from 'element-ui';
 import fetch from './fetch'
 import storage from '@/framework/utils/storage'
 
@@ -29,40 +29,52 @@ function errorResponse(vm, response, err) {
     Message.error({ message: '请求错误' });
   }
 }
+
 function downFile(blob, fileName) {
   // 非IE下载
   if ('download' in document.createElement('a')) {
-      let link = document.createElement('a')
-      link.href = window.URL.createObjectURL(blob) // 创建下载的链接
-      link.download = fileName // 下载后文件名
-      link.style.display = 'none'
-      document.body.appendChild(link)
-      link.click() // 点击下载
-      window.URL.revokeObjectURL(link.href) // 释放掉blob对象
-      document.body.removeChild(link) // 下载完成移除元素
+    let link = document.createElement('a')
+    link.href = window.URL.createObjectURL(blob) // 创建下载的链接
+    link.download = fileName // 下载后文件名
+    link.style.display = 'none'
+    document.body.appendChild(link)
+    link.click() // 点击下载
+    window.URL.revokeObjectURL(link.href) // 释放掉blob对象
+    document.body.removeChild(link) // 下载完成移除元素
   } else {
-      // IE10+下载
-      window.navigator.msSaveBlob(blob, fileName)
+    // IE10+下载
+    window.navigator.msSaveBlob(blob, fileName)
   }
 }
+
 export default {
-  getJson: function(url, data, success, failed, err) {
-    // let ProjectId = localStorage.getItem("projectId")
-    let ProjectId = "Pj1101050029"
+  getJson: function (url, data, success, failed, err) {
+    let ProjectId = localStorage.getItem("projectId")
+    // let ProjectId = "Pj1101050029"
     let userName = storage.get("user_name")
     let vm = this;
-    fetch({ url: url, method: 'get', params: data, headers: {'ProjectId': ProjectId, 'Comming': 'adm' ,'Account': userName}}).then((response) => {
+    fetch({
+      url: url,
+      method: 'get',
+      params: data,
+      headers: { 'ProjectId': ProjectId, 'Comming': 'adm', 'Account': userName }
+    }).then((response) => {
       successResponse(vm, response, success, failed)
     }).catch(error => {
       errorResponse(vm, error, err);
     });
   },
-  postJson: function(url, data, success, failed, err) {
-    // let ProjectId = localStorage.getItem("projectId")
-    let ProjectId = "Pj1101050029"
+  postJson: function (url, data, success, failed, err) {
+    let ProjectId = localStorage.getItem("projectId")
+    // let ProjectId = "Pj1101050029"
     let userName = storage.get("user_name")
     let vm = this;
-    fetch({ url: url, method: 'post', data: data, headers: {'ProjectId': ProjectId, 'Comming': 'adm' ,'Account': userName} }).then((response) => {
+    fetch({
+      url: url,
+      method: 'post',
+      data: data,
+      headers: { 'ProjectId': ProjectId, 'Comming': 'adm', 'Account': userName }
+    }).then((response) => {
       successResponse(vm, response, success, failed)
     }).catch(error => {
       errorResponse(vm, error, err);
@@ -71,30 +83,30 @@ export default {
   download(url, requestData) {
     // 响应类型:arraybuffer, blob
     fetch
-        .post(url, requestData, { responseType: 'blob' })
-        .then(resp => {
-            let headers = resp.headers
-            let contentType = headers['content-type']
+      .post(url, requestData, { responseType: 'blob' })
+      .then(resp => {
+        let headers = resp.headers
+        let contentType = headers['content-type']
 
-            console.log('响应头信息', headers)
-            if (!resp.data) {
-                console.error('响应异常:', resp)
-                return false
-            } else {
-                console.log('下载文件:', resp)
-                const blob = new Blob([resp.data], { type: contentType })
+        console.log('响应头信息', headers)
+        if (!resp.data) {
+          console.error('响应异常:', resp)
+          return false
+        } else {
+          console.log('下载文件:', resp)
+          const blob = new Blob([resp.data], { type: contentType })
 
-                const contentDisposition = resp.headers['content-disposition']
-                let fileName = 'unknown'
-                if (contentDisposition) {
-                    fileName = window.decodeURI(resp.headers['content-disposition'].split('=')[1])
-                }
-                console.log('文件名称:', fileName)
-                downFile(blob, fileName)
-            }
-        })
-        .catch(function(error) {
-            console.log(error)
-        })
-},
+          const contentDisposition = resp.headers['content-disposition']
+          let fileName = 'unknown'
+          if (contentDisposition) {
+            fileName = window.decodeURI(resp.headers['content-disposition'].split('=')[1])
+          }
+          console.log('文件名称:', fileName)
+          downFile(blob, fileName)
+        }
+      })
+      .catch(function (error) {
+        console.log(error)
+      })
+  },
 }

+ 28 - 3
src/api/scan/request.js

@@ -1,5 +1,29 @@
 import fetch from './fetch'
-import { api, api1, baseUrl, business, physics, venders, zone, object, dictCustom, system, shContainSp, compSpace, shaft, compEquipQuery, statistics, floor, dict, locationPoint, graphicUrl, tenant, dataCenter, classDef } from './config.js'
+import {
+  api,
+  api1,
+  baseUrl,
+  business,
+  physics,
+  venders,
+  zone,
+  object,
+  dictCustom,
+  system,
+  shContainSp,
+  compSpace,
+  shaft,
+  compEquipQuery,
+  statistics,
+  floor,
+  dict,
+  locationPoint,
+  graphicUrl,
+  tenant,
+  dataCenter,
+  classDef,
+  rel
+} from './config.js'
 import http from './httpUtil'
 import storage from '@/framework/utils/storage'
 
@@ -1852,6 +1876,7 @@ export function unSysEq(param, success) {
 //查询没有和当前系统关联的竖井
 export function unSysShaft(param, success) {
   let data = param.data
+  // let url = `${baseUrl}${system}/un-sys-shaft?sysId=${param.sysId}`;
   let url = `${baseUrl}${system}/un-sys-shaft?sysId=${param.sysId}`;
   http.postJson(url, data, success)
 }
@@ -1910,7 +1935,7 @@ export function linkSySh(param, success) {
 
 //创建系统所在业务空间关系
 export function linkSysSp(param, success) {
-  let url = `${baseUrl}${dataCenter}/sy-in-sp-base/link-list`;
+  let url = `${baseUrl}${rel}/sy-in-sp-base/link-list`;
   http.postJson(url, param, success)
 }
 
@@ -1922,7 +1947,7 @@ export function linkSh(param, success) {
 
 //系统所在竖井,系统一对多,此方法不会覆盖以前的记录
 export function linkSysSh(param, success) {
-  let url = `${baseUrl}${dataCenter}/sy-in-sh/link-sy-shs`;
+  let url = `${baseUrl}${rel}/sy-in-sh/link-sy-shs`;
   http.postJson(url, param, success)
 }
 

+ 65 - 60
src/components/business_space/business/handsontable.vue

@@ -10,7 +10,8 @@
         </el-select>
         &nbsp;&nbsp; | &nbsp;&nbsp;
       </div>
-      <el-select v-model="onlyRead" @change="getData(false)" style="width:100px;margin-right:20px;vertical-align:bottom;">
+      <el-select v-model="onlyRead" @change="getData(false)"
+                 style="width:100px;margin-right:20px;vertical-align:bottom;">
         <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <el-select v-model="showType" @change="initHot" style="width:100px;margin-right:10px;vertical-align:bottom;">
@@ -19,7 +20,8 @@
       <el-button v-show="!onlyRead" @click="addSp">添加</el-button>
       <el-button @click="reset">刷新</el-button>
       <el-button v-show="!onlyRead" @click="undo">撤销</el-button>
-      <el-input v-model="zoneItemID" placeholder="请输入业务空间id" @keyup.enter.native="getData" style="display:inline-block;width:500px;margin-left:20px;">
+      <el-input v-model="zoneItemID" placeholder="请输入业务空间id" @keyup.enter.native="getData"
+                style="display:inline-block;width:500px;margin-left:20px;">
         <i slot="suffix" class="el-input__icon el-icon-search" @click="getData"></i>
       </el-input>
     </el-row>
@@ -29,9 +31,11 @@
       暂无数据
     </div>
     <!-- <add-business :buildMess="buildMess" :dialog="dialog"></add-business> -->
-    <el-pagination class="right" v-show="main && main.length" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-      :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
-      :total="page.total">
+    <el-pagination class="right" v-show="main && main.length" @size-change="handleSizeChange"
+                   @current-change="handleCurrentChange"
+                   :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize"
+                   layout="total, sizes, prev, pager, next, jumper"
+                   :total="page.total">
     </el-pagination>
     <!-- <div class="right" v-show="main && main.length">
       <my-pagination :page="page" @change="pageChange"></my-pagination>
@@ -39,8 +43,8 @@
     <!-- 二维码弹窗 -->
     <qrcode :dialog="dialog" :qrcodeUrl="qrcodeUrl" :addBody="true" ref="qrcode"></qrcode>
     <!--      上传图片-->
-    <upload-img-dialog :read="onlyRead" @changeFile="imgChange" :keysArr="imgsArr" :dialog="myDialog" />
-    <dialogZone ref="zone" @createSuccess="getOtherType" />
+    <upload-img-dialog :read="onlyRead" @changeFile="imgChange" :keysArr="imgsArr" :dialog="myDialog"/>
+    <dialogZone ref="zone" @createSuccess="getOtherType"/>
     <!-- 不支持的输入方式 -->
     <el-dialog title="临时维护信息点" :visible.sync="myDialog.update" @close="handleCloseUpdate" width="670px">
       <el-row>
@@ -69,44 +73,44 @@
   </div>
 </template>
 <script>
-  // 引用handsontable插件
-  import "@/assets/js/chosen.jquery.min";
-  import tools from "@/utils/scan/tools";
-  import "@/assets/js/handsontable-chosen-editor";
-  import lStorage from '@/utils/localStorage'
-  import myPagination from "@/components/common/myPagination";
-  import addBusiness from "@/components/business_space/dialogs/addDialog/businessDialog"
-  import showTools from "@/utils/handsontable/notShow"
-  import handsonUtils from "@/utils/hasontableUtils"
-  import Handsontable from "handsontable-pro"
-  import buildFloor from '@/utils/handsontable/buildFloorData'
-  import spaceCascader from '@/components/ledger/lib/spaceSelect'
-  import 'handsontable-pro/dist/handsontable.full.css'
-  import uploadImgDialog from "@/components/business_space/dialogs/list/uploadImgDialog"
-  import qrcode from "@/components/ledger/lib/qrcode";
-  import {
-    BeatchQueryParam,
-    handleZoneUpdateBd,
-    queryAllZoneType,
-    zoneCreate,
-    zoneDelete,
-    zoneQuery,
-    zoneUpdate
-  } from "@/api/scan/request";
-  import {mapGetters} from "vuex";
-  import dialogZone from "../../ledger/addDialog/dialogZone";
+// 引用handsontable插件
+import "@/assets/js/chosen.jquery.min";
+import tools from "@/utils/scan/tools";
+import "@/assets/js/handsontable-chosen-editor";
+import lStorage from '@/utils/localStorage'
+import myPagination from "@/components/common/myPagination";
+import addBusiness from "@/components/business_space/dialogs/addDialog/businessDialog"
+import showTools from "@/utils/handsontable/notShow"
+import handsonUtils from "@/utils/hasontableUtils"
+import Handsontable from "handsontable-pro"
+import buildFloor from '@/utils/handsontable/buildFloorData'
+import spaceCascader from '@/components/ledger/lib/spaceSelect'
+import 'handsontable-pro/dist/handsontable.full.css'
+import uploadImgDialog from "@/components/business_space/dialogs/list/uploadImgDialog"
+import qrcode from "@/components/ledger/lib/qrcode";
+import {
+  BeatchQueryParam,
+  handleZoneUpdateBd,
+  queryAllZoneType,
+  zoneCreate,
+  zoneDelete,
+  zoneQuery,
+  zoneUpdate
+} from "@/api/scan/request";
+import { mapGetters } from "vuex";
+import dialogZone from "../../ledger/addDialog/dialogZone";
 
-  export default {
-    props: {
-      id: {},
-      zoneCode: {},
-      otherType: String
-    },
-    components: {
-      qrcode, //二维码页面
-      myPagination,
-      addBusiness,
-      uploadImgDialog,
+export default {
+  props: {
+    id: {},
+    zoneCode: {},
+    otherType: String
+  },
+  components: {
+    qrcode, //二维码页面
+    myPagination,
+    addBusiness,
+    uploadImgDialog,
     dialogZone,
     spaceCascader,
   },
@@ -157,10 +161,10 @@
       inputMap: {
         flowBuild: {
           InputMode: 'D1',
-          Editable:true,
-          InfoPointCode:"flowBuild",
-          InfoPointName:"建筑楼层",
-          Path:"flowBuild"
+          Editable: true,
+          InfoPointCode: "flowBuild",
+          InfoPointName: "建筑楼层",
+          Path: "flowBuild"
         }
       }, //信息点和输入方式映射表
       updateInputShow: false, //是否显示临时维护输入框
@@ -431,7 +435,7 @@
       let val = this.hot.colToProp(row.col);
       this.row = row.row;
       let inputData = this.inputMap[val];
-      lStorage.set('screen_data', {path: this.$route.path, data: {RoomID: infos.RoomID, zone: this.zoneCode}})
+      lStorage.set('screen_data', { path: this.$route.path, data: { RoomID: infos.RoomID, zone: this.zoneCode } })
       if (val == "point") {
         let query = {
           RoomID: infos.RoomID,
@@ -471,17 +475,17 @@
     },
     //关闭临时维护弹窗回调
     handleCloseUpdate() {
-        this.updateInputShow = false
-        this.updateInfoPoint = ''
-        this.updateInput = ''
+      this.updateInputShow = false
+      this.updateInfoPoint = ''
+      this.updateInput = ''
     },
     //更新临时维护信息点
     handleClickUpdate() {
-        tools.setDataForKey(this.tableData[this.row], this.updateInfoPoint, this.updateInput)
-        this.tdChange([[this.row, this.updateInfoPoint, null, this.updateInput]], "edit")
-        this.updateInputShow = false
-        this.myDialog.update = false
-        this.updateInput = ''
+      tools.setDataForKey(this.tableData[this.row], this.updateInfoPoint, this.updateInput)
+      this.tdChange([[this.row, this.updateInfoPoint, null, this.updateInput]], "edit")
+      this.updateInputShow = false
+      this.myDialog.update = false
+      this.updateInput = ''
     },
     //表格发生更改
     tdChange(changeData, source) {
@@ -836,7 +840,7 @@
         })
       } else if (this.zoneCode == 'OtherZone' && this.OtherValue) {
         this.$nextTick(() => {
-          this.$refs.cascader.setValue([this.zoneCode,this.OtherValue])
+          this.$refs.cascader.setValue([this.zoneCode, this.OtherValue])
         })
       }
       // if (this.main && this.main.length && this.main[0].RoomID) {
@@ -924,8 +928,8 @@
     //  其他分区类型查询
     getOtherType() {
       let param = {
-        Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }],
-        Filters: `Code="OtherZone"`
+        cascade: [{ name: 'zoneType', filters: `projectId='${this.projectId}'` }],
+        filters: `code="otherZone"`
       }
       queryAllZoneType(param, res => {
         if (res.content[0].zoneType && res.content[0].zoneType.length) {
@@ -980,6 +984,7 @@
 <style lang="less" scoped>
 #handsontable {
   padding: 0 10px;
+
   .left {
     padding: 0;
     margin-bottom: 10px;

+ 2 - 2
src/components/business_space/newGraphy/graphy.vue

@@ -318,8 +318,8 @@
     // 其他分区类型查询
     getOtherType() {
       let pa = {
-        Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }],
-        Filters: `Code="OtherZone"`
+        cascade: [{ name: 'zoneType', filters: `projectId='${this.projectId}'` }],
+        filters: `code="otherZone"`
       }
       queryAllZoneType(pa, res => {
         if (res.content[0].zoneType && res.content[0].zoneType.length) {

+ 4 - 4
src/components/ledger/lib/spaceSelect.vue

@@ -5,9 +5,9 @@
       v-model="value"
       placeholder="请选择空间类型"
       clearable
-      :style="isWidth ? '' : 'width:160px;'" size="small" 
+      :style="isWidth ? '' : 'width:160px;'" size="small"
       :props="{value:'Code',label:'Name',children:'ZoneType'}"
-      :options="options" 
+      :options="options"
       @change="changeVal">
     </el-cascader>
   </div>
@@ -43,7 +43,7 @@ export default {
     },
     //获取下拉框数据
     getOptionData() {
-      let params1 = {Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }]}
+      let params1 = {cascade: [{ name: 'zoneType', filters: `projectId='${this.projectId}'` }]}
       queryAllZoneType(params1, res => {
         this.options = res.content;
         this.changeVal(this.value);
@@ -84,4 +84,4 @@ export default {
     font-size: 14px;
   }
 }
-</style>
+</style>

+ 42 - 24
src/components/ledger/system/dialog/addCenoteDialog.vue

@@ -11,18 +11,21 @@
       </el-col>
     </el-row>
     <div class="table-box">
-      <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle" ref="multipleTable"
-        @selection-change="handleSelectionChange">
+      <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle"
+                ref="multipleTable"
+                @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column :label="`${inSpaceType}名称`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
             <div>
-              {{scope.row.ShaftLocalName||scope.row.ShaftName||''}}
+              {{ scope.row.localName || scope.row.name || '' }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="ShaftLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="StructureInfo.ShaftFuncType" :label="`${inSpaceType}类`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="localId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip
+                         min-width="100"></el-table-column>
+        <el-table-column prop="structureInfo.shaftFuncType" :label="`${inSpaceType}类`" show-overflow-tooltip
+                         min-width="100"></el-table-column>
         <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
             <el-button size="mini" @click="toDetail(scope.$index, scope.row)" plain>查看详情</el-button>
@@ -30,9 +33,11 @@
         </el-table-column>
       </el-table>
       <!-- 分页 -->
-      <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
-        :total="page.total"></el-pagination>
+      <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange"
+                     :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize"
+                     layout="total, sizes, prev, pager, next, jumper"
+                     :total="page.total"></el-pagination>
     </div>
     <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="dialogVisible = false">取 消</el-button>
@@ -45,6 +50,8 @@
 import { unSysShaft, queryShaftType, linkSysSh } from "@/api/scan/request";
 import cenoteType from "@/components/ledger/lib/cenoteType";
 import { mapGetters } from "vuex";
+import { getDataDictionary } from "@/api/dict"
+
 export default {
   components: {
     cenoteType
@@ -81,9 +88,17 @@ export default {
     params: Object //查看的竖井关系信息
   },
   created() {
-    queryShaftType(res => {
-      res.Content.forEach(item => {
-        this.shaftType[item.Code] = item.Name
+    let param = {
+      "pageNumber": 1,
+      "pageSize": 50,
+      "filters": "code = 'shaftFuncType'",
+      "type": "shaft"
+    }
+    getDataDictionary(param, res => {
+      res.content.forEach(item => {
+        item.dataSource && item.dataSource.forEach(i => {
+          this.shaftType[i.code] = i.name
+        })
       })
     })
   },
@@ -103,25 +118,25 @@ export default {
     getTableData() {
       let params = {
         data: {
-          Filters: this.cenoteType ? `ProjectId='${this.projectId}';structureInfo.ShaftFuncType='${this.cenoteType}'` : `ProjectId='${this.projectId}'`,
-          Orders: "createTime desc, ShaftID asc",
-          PageNumber: this.page.pageNumber,
-          PageSize: this.page.pageSize,
+          filters: this.cenoteType ? `projectId='${this.projectId}';structureInfo.shaftFuncType='${this.cenoteType}'` : `projectId='${this.projectId}'`,
+          orders: "createTime desc, id asc",
+          pageNumber: this.page.pageNumber,
+          pageSize: this.page.pageSize,
         },
         shaftId: this.params.ShaftID,
         sysId: this.$route.query.SysID
       }
       if (this.keycode != '') {
-        params.data.Filters += `;ShaftName contain '${this.keycode}' or ShaftLocalName contain '${this.keycode}' or ShaftLocalID contain '${this.keycode}'`
+        params.data.filters += `;name contain '${this.keycode}' or localName contain '${this.keycode}' or localId contain '${this.keycode}'`
       }
       unSysShaft(params, res => {
-        this.tableData = res.Content
+        this.tableData = res.content
         this.tableData.forEach(item => {
-          if (item.StructureInfo && item.StructureInfo.ShaftFuncType) {
-            item.StructureInfo.ShaftFuncType = this.shaftType[item.StructureInfo.ShaftFuncType]
+          if (item.structureInfo && item.structureInfo.shaftFuncType) {
+            item.structureInfo.shaftFuncType = this.shaftType[item.structureInfo.shaftFuncType]
           }
         })
-        this.page.total = res.Total
+        this.page.total = res.total
       })
     },
     //选中项修改
@@ -131,9 +146,9 @@ export default {
     savaRelation() {
       if (this.selections.length) {
         let params = {
-          SysId: this.$route.query.SysID,
-          ShaftIdList: this.selections.map(item => {
-            return item.ShaftID
+          id: this.$route.query.SysID,
+          shaftIdList: this.selections.map(item => {
+            return item.id
           })
         }
         linkSysSh(params, res => {
@@ -166,15 +181,18 @@ export default {
 #addEqDialog {
   .filters {
     margin-bottom: 10px;
+
     /deep/ .el-input__inner {
       vertical-align: baseline;
     }
   }
+
   .table-box {
     height: 370px;
+
     .fr {
       margin-top: 10px;
     }
   }
 }
-</style>
+</style>

+ 27 - 17
src/components/ledger/system/dialog/addSpaceDialog.vue

@@ -15,23 +15,27 @@
     </el-row>
     <el-row class="filters" :gutter="20"></el-row>
     <div class="table-box">
-      <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle" ref="multipleTable"
-        @selection-change="handleSelectionChange">
+      <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle"
+                ref="multipleTable"
+                @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            {{scope.row.RoomLocalName||scope.row.RoomName||''}}
+            {{ scope.row.localName || scope.row.name || '' }}
           </template>
         </el-table-column>
-        <el-table-column prop="RoomLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="localId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip
+                         min-width="100"></el-table-column>
         <el-table-column prop :label="`所属建筑楼层`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            {{ scope.row.BuildingId && floorType[scope.row.BuildingId]? ((floorType[scope.row.BuildingId] || '') + (scope.row.FloorId && floorType[scope.row.FloorId] ? (' - ' + floorType[scope.row.FloorId] || '') : '')) : ''}}
+            {{
+              scope.row.buildingId && floorType[scope.row.buildingId] ? ((floorType[scope.row.buildingId] || '') + (scope.row.floorId && floorType[scope.row.floorId] ? (' - ' + floorType[scope.row.floorId] || '') : '')) : ''
+            }}
           </template>
         </el-table-column>
-        <el-table-column prop="ObjectType" :label="`空间类型`" show-overflow-tooltip min-width="100">
+        <el-table-column prop="objectType" :label="`空间类型`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            {{spaceType[scope.row.ObjectType] || ''}}
+            {{ spaceType[scope.row.objectType] || '' }}
           </template>
         </el-table-column>
         <el-table-column prop="action" label="操作" min-width="100">
@@ -41,9 +45,11 @@
         </el-table-column>
       </el-table>
       <!-- 分页 -->
-      <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
-        :total="page.total"></el-pagination>
+      <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange"
+                     :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize"
+                     layout="total, sizes, prev, pager, next, jumper"
+                     :total="page.total"></el-pagination>
     </div>
     <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="handleClose">取 消</el-button>
@@ -62,6 +68,7 @@ import floorCascader from "@/components/ledger/lib/floorCascader";
 import dictionaryCas from "@/components/config_point/dictionaryCascader";
 import spaceSelect from "@/components/ledger/lib/spaceSelect";
 import { mapGetters } from "vuex";
+
 export default {
   components: {
     floorCascader,
@@ -106,7 +113,8 @@ export default {
     dialogVisible: Boolean,
     floorType: Object
   },
-  mounted() { },
+  mounted() {
+  },
   methods: {
     // 显示弹窗
     showDialog() {
@@ -125,8 +133,8 @@ export default {
     getTableData() {
       let params = {
         data: {
-          filters: "not roomId isNull",
-          orders: "roomLocalName desc",
+          filters: "not id isNull",
+          orders: "localId desc",
           pageNumber: this.page.pageNumber,
           pageSize: this.page.pageSize
         },
@@ -165,11 +173,11 @@ export default {
     savaRelation() {
       if (this.selections.length) {
         let params = {
-          Content: this.selections.map(item => {
+          content: this.selections.map(item => {
             return {
-              SpaceID: item.RoomID,
-              SysID: this.$route.query.SysID,
-              ObjectType: item.ObjectType
+              spaceId: item.id,
+              sysId: this.$route.query.SysID,
+              objectType: item.ObjectType
             };
           })
         };
@@ -215,8 +223,10 @@ export default {
   .filters {
     margin: 0 0 10px 0;
   }
+
   .table-box {
     height: 370px;
+
     .fr {
       margin-top: 10px;
     }

+ 25 - 9
src/components/ledger/system/table/cenoteTable.vue

@@ -1,32 +1,35 @@
 <template>
   <div id="eqInSp">
     <el-row>
-      <el-button type="primary" @click="add">添加{{inSpaceType}}</el-button>
+      <el-button type="primary" @click="add">添加{{ inSpaceType }}</el-button>
       <el-tooltip class="item" effect="dark" content="可前往“全部关系总览”中,按系统内包含的设备与竖井关系计算" placement="right">
         <el-button>按系统内设备与竖井关系计算</el-button>
       </el-tooltip>
     </el-row>
     <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="`${inSpaceType}名称`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
             <div>
-              {{scope.row.ShaftLocalName||scope.row.ShaftName||''}}
+              {{ scope.row.localName || scope.row.name || '' }}
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="ShaftLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="localId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip
+                         min-width="100"></el-table-column>
         <el-table-column :label="`${inSpaceType}类型`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
             <div>
-              {{scope.row.structureInfo.shaftFuncType}}
+              {{ scope.row.structureInfo.shaftFuncType }}
             </div>
           </template>
         </el-table-column>
         <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
             <el-tooltip class="item" effect="dark" content="删除关系" placement="left">
-              <el-button size="mini" @click="handleDelete(scope.$index, scope.row)" type="danger" plain icon="el-icon-delete"></el-button>
+              <el-button size="mini" @click="handleDelete(scope.$index, scope.row)" type="danger" plain
+                         icon="el-icon-delete"></el-button>
             </el-tooltip>
           </template>
         </el-table-column>
@@ -46,7 +49,9 @@
 <script>
 import { queryLinkSys, queryShaftType, syinshUnlink } from "@/api/scan/request";
 import { mapGetters } from "vuex";
+import { getDataDictionary } from "@/api/dict"
 import addCenoteDialog from "@/components/ledger/system/dialog/addCenoteDialog"
+
 export default {
   components: {
     addCenoteDialog
@@ -72,9 +77,19 @@ export default {
     type: String
   },
   created() {
-    queryShaftType(res => {
-      res.Content.forEach(item => {
-        this.shaftType[item.Code] = item.Name
+    // 查询 竖井所有类型
+    // queryShaftType(res => {
+    let param = {
+      "pageNumber": 1,
+      "pageSize": 50,
+      "filters": "code = 'shaftFuncType'",
+      "type": "shaft"
+    }
+    getDataDictionary(param, res => {
+      res.content.forEach(item => {
+        item.dataSource && item.dataSource.forEach(i => {
+          this.shaftType[i.code] = i.name
+        })
       })
       this.getTableData()
     })
@@ -148,6 +163,7 @@ export default {
 <style lang="less" scoped>
 #eqInSp {
   height: 100%;
+
   .table-box {
     margin-top: 10px;
     height: calc(100% - 50px);

+ 60 - 22
src/framework/components/messagesever/index.vue

@@ -19,19 +19,27 @@
         <div class="noticeList_scroll">
           <el-scrollbar style="height:100%;">
             <ul class="noticeList">
-              <li class="noticeList_item" v-for="item in messageList" :key="item.Id" :title="item.Content.Message?item.Content.Message:''">
+              <li class="noticeList_item" v-for="item in messageList" :key="item.Id"
+                  :title="item.Content.Message?item.Content.Message:''">
                 <div class="noticeItem_box">
                   <div class="noticeItem_text">
-                    <i :class="iconClassMap[item.Type]?iconClassMap[item.Type]:'msg-icon el-icon-warning warning-color'"></i>
-                    <p><span>{{`【${moduleMap[item.Module]?moduleMap[item.Module]:item.Module}】 `}}</span>{{item.Title?item.Title:""}}</p>
+                    <i
+                      :class="iconClassMap[item.Type]?iconClassMap[item.Type]:'msg-icon el-icon-warning warning-color'"></i>
+                    <p>
+                      <span>{{
+                          `【${moduleMap[item.Module] ? moduleMap[item.Module] : item.Module}】 `
+                        }}</span>{{ item.Title ? item.Title : "" }}
+                    </p>
                   </div>
                   <div class="noticeItem_time">
-                    <span class="proname">{{item.Project[0].ProjLocalName || ''}}</span>
-                    {{item.CreateTime}}
+                    <span class="proname">{{ item.Project[0].ProjLocalName || '' }}</span>
+                    {{ item.CreateTime }}
                     <el-link v-for="(btn, index) in item.Content.ButtonList?item.Content.ButtonList:[]"
-                      style="float:right;font-size:12px;margin-left:5px;" type="primary" :key="index"
-                      :href="`/image-service/common/file_get?systemId=revit&key=${btn.Url}`" :download="btn.FileName?btn.FileName:''">
-                      {{btn.Name?btn.Name:""}}</el-link>
+                             style="float:right;font-size:12px;margin-left:5px;" type="primary" :key="index"
+                             :href="`/image-service/common/file_get?systemId=revit&key=${btn.Url}`"
+                             :download="btn.FileName?btn.FileName:''">
+                      {{ btn.Name ? btn.Name : "" }}
+                    </el-link>
                   </div>
                 </div>
               </li>
@@ -70,9 +78,7 @@ import { MQTT_SERVICE, MQTT_USERNAME, MQTT_PASSWORD } from './mqSetting'
 import { messgeCount, messgeQuery, messgeUpdateState } from '@/api/msgsever'
 
 export default {
-  components: {
-
-  },
+  components: {},
   data() {
     return {
       client: Stomp.client(MQTT_SERVICE),
@@ -113,31 +119,33 @@ export default {
   methods: {
     getMessageList() {//获取消息列表(最新10条)
       let params = {
-        Cascade: [
+        cascade: [
           {
-            Name: "project"
+            name: "project"
           }
         ],
-        Filters: `UserId='${this.userId}';Type!='Refresh'`,
-        Orders: "CreateTime desc, Id asc",
-        PageNumber: 1,
-        PageSize: 10
+        filters: `userId='${this.userId}';type!='refresh'`,
+        orders: "createTime desc, id asc",
+        pageNumber: 1,
+        pageSize: 10
       }
       messgeQuery(params, res => {
-        this.messageList = res.Content
+        this.messageList = res.content
       })
     },
     getUnreadCount() {//获取未读消息的数量
       let params = {
-        Filters: `Read=false;UserId='${this.userId}';Type!='Refresh'`
+        filters: `read=false;userId='${this.userId}';type!='refresh'`
       }
       messgeCount(params, res => {
-        this.unreadNum = res.Count
+        this.unreadNum = res.count
       })
     },
     setAllRead() {//将当前角色消息全部置为已读
       if (this.userId) {
-        messgeUpdateState({ Read: true, UserId: this.userId }, res => { this.unreadNum = 0 })
+        messgeUpdateState({ read: true, userId: this.userId }, res => {
+          this.unreadNum = 0
+        })
       }
     },
     handleClose(e) {//关闭消息列表
@@ -223,6 +231,7 @@ export default {
   box-sizing: border-box;
   color: #79869a;
   cursor: pointer;
+
   .noticeBox {
     position: absolute;
     top: 50px;
@@ -238,6 +247,7 @@ export default {
     background: #fff;
     overflow: visible !important;
   }
+
   .noticeBox::before {
     content: "";
     border: solid 7px transparent;
@@ -250,12 +260,14 @@ export default {
     margin-left: 77px;
     z-index: 0;
   }
+
   .noticeTab {
     padding: 8px 16px 0;
     z-index: 10;
     height: 32px;
     zoom: 1;
     box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset;
+
     .noticeTab_item {
       float: left;
       position: relative;
@@ -270,6 +282,7 @@ export default {
       -webkit-transition: all 0.2s ease-in-out;
       -o-transition: all 0.2s ease-in-out;
       transition: all 0.2s ease-in-out;
+
       .unread_num {
         display: inline-block;
         color: #fff;
@@ -288,15 +301,19 @@ export default {
         transform: scale(0.85);
       }
     }
+
     .active {
       box-shadow: 0 -2px 0 0 #5182e4 inset;
     }
   }
+
   .noticeList_scroll {
     height: 282px;
+
     /deep/ .el-scrollbar__wrap {
       overflow-x: hidden;
     }
+
     .noticeList_item {
       width: 100%;
       height: auto;
@@ -308,10 +325,12 @@ export default {
       -o-transition: all 0.2s ease-in-out;
       transition: all 0.2s ease-in-out;
       zoom: 1;
+
       .noticeItem_box {
         float: left;
         position: relative;
         width: 100%;
+
         .noticeItem_text {
           color: rgba(10, 18, 32, 0.87);
           font-weight: 700;
@@ -323,15 +342,18 @@ export default {
           -webkit-transition: all 0.2s ease-in-out;
           -o-transition: all 0.2s ease-in-out;
           transition: all 0.2s ease-in-out;
+
           .msg-icon {
             position: absolute;
             top: 2.5px;
             left: 6px;
           }
+
           p {
             word-break: break-all;
           }
         }
+
         .noticeItem_time {
           font-size: 12px;
           height: 19px;
@@ -339,7 +361,8 @@ export default {
           color: rgba(10, 18, 32, 0.46);
           margin-top: 4px;
           padding-left: 18px;
-          .proname{
+
+          .proname {
             float: left;
             display: block;
             width: 80px;
@@ -350,9 +373,11 @@ export default {
         }
       }
     }
+
     .noticeList_item:hover {
       background-color: #f5f7f7;
     }
+
     .noticeList_item:after {
       content: "";
       display: block;
@@ -360,6 +385,7 @@ export default {
       clear: both;
       visibility: hidden;
     }
+
     .noticeList_item:before {
       position: absolute;
       right: 0;
@@ -372,6 +398,7 @@ export default {
       background-clip: content-box;
     }
   }
+
   .notice_operate {
     height: 40px;
     line-height: 20px;
@@ -380,6 +407,7 @@ export default {
     background-color: rgba(242, 243, 245, 0.48);
     box-shadow: inset 0 1px 0 0 rgba(10, 18, 32, 0.06);
     zoom: 1;
+
     .readAll {
       float: left;
       cursor: pointer;
@@ -387,41 +415,51 @@ export default {
       -o-transition: all 0.2s ease-in-out;
       transition: all 0.2s ease-in-out;
     }
+
     .readAll:hover {
       text-decoration: underline;
     }
+
     .seeAll {
       float: right;
       color: #5182e4;
       cursor: pointer;
       font-weight: 700;
     }
+
     .seeAll:hover {
       text-decoration: underline;
     }
   }
+
   .el-icon-message-solid {
     font-size: 22px;
   }
+
   /deep/ .el-badge__content {
     height: 16px;
     line-height: 16px;
     border: 1px solid transparent;
   }
 }
+
 .notification-box:hover {
   color: #d3d8e2;
   background-color: #3f4f62;
 }
+
 .success-color {
   color: #67c23a;
 }
+
 .error-color {
   color: #f56c6c;
 }
+
 .warning-color {
   color: #e6a23c;
 }
+
 .info-color {
   color: #909399;
 }

+ 56 - 36
src/framework/components/messagesever/msgAllDetails.vue

@@ -1,42 +1,48 @@
-  <template>
+<template>
   <div class="box">
     <div class="condition">
-      <div class="main" :style="tableData && tableData.length?'height: calc(100% - 50px);':'height: calc(100% - 46px);'">
-        <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%" :header-cell-style="headerStyle"
-          @expand-change="changeMessageState">
+      <div class="main"
+           :style="tableData && tableData.length?'height: calc(100% - 50px);':'height: calc(100% - 46px);'">
+        <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%"
+                  :header-cell-style="headerStyle"
+                  @expand-change="changeMessageState">
           <el-table-column type="selection" width="55"></el-table-column>
           <el-table-column width="25">
             <template slot-scope="scope">
-              <el-badge class="item" type="warning" is-dot v-if="!scope.row.Read"></el-badge>
+              <el-badge class="item" type="warning" is-dot v-if="!scope.row.read"></el-badge>
             </template>
           </el-table-column>
-          <el-table-column prop="Title" label="标题内容" min-width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column prop="title" label="标题内容" min-width="300" show-overflow-tooltip></el-table-column>
           <el-table-column label="项目">
             <template slot-scope="scope">
-              {{ scope.row.Project[0].ProjLocalName }}
+              {{ scope.row.project[0].localName }}
             </template>
           </el-table-column>
           <el-table-column label="模块" width="200">
             <template slot-scope="scope">
-              {{ moduleMap[scope.row.Module]?moduleMap[scope.row.Module]:scope.row.Module }}
+              {{ moduleMap[scope.row.module] ? moduleMap[scope.row.module] : scope.row.module }}
             </template>
           </el-table-column>
-          <el-table-column prop="CreateTime" label="消息时间">
+          <el-table-column prop="createTime" label="消息时间">
           </el-table-column>
           <el-table-column label="消息类型">
             <template slot-scope="scope">
               <div>
-                <i :class="iconClassMap[scope.row.Type]?iconClassMap[scope.row.Type]:'msg-icon el-icon-warning warning-color'" style="font-size:14px;"></i>
-                <span>{{ typeMap[scope.row.Type]?typeMap[scope.row.Type]:scope.row.Type }}</span>
+                <i
+                  :class="iconClassMap[scope.row.Type]?iconClassMap[scope.row.Type]:'msg-icon el-icon-warning warning-color'"
+                  style="font-size:14px;"></i>
+                <span>{{ typeMap[scope.row.type] ? typeMap[scope.row.type] : scope.row.type }}</span>
               </div>
             </template>
           </el-table-column>
           <el-table-column type="expand">
             <template slot-scope="scope">
-              <p>{{ scope.row.Content.Message }}</p>
-              <el-link v-for="(btn, index) in scope.row.Content.ButtonList" style="float:left;font-size:12px;color:white;width:"
-                :key="index" :href="`/image-service/common/file_get?systemId=revit&key=${btn.Url}`" :download="btn.FileName?btn.FileName:''">
-                {{btn.Name}}
+              <p>{{ scope.row.content.message }}</p>
+              <el-link v-for="(btn, index) in scope.row.content.buttonList"
+                       style="float:left;font-size:12px;color:white;"
+                       :key="index" :href="`/image-service/common/file_get?systemId=revit&key=${btn.url}`"
+                       :download="btn.fileName?btn.fileName:''">
+                {{ btn.name }}
               </el-link>
             </template>
           </el-table-column>
@@ -48,15 +54,17 @@
           </template>
         </el-table>
       </div>
-      <el-pagination class="right" v-show="tableData && tableData.length" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
-        :total="page.total">
+      <el-pagination class="right" v-show="tableData && tableData.length" @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange"
+                     :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize"
+                     layout="total, sizes, prev, pager, next, jumper"
+                     :total="page.total">
       </el-pagination>
     </div>
   </div>
 </template>
 
-  <script>
+<script>
 import { mapGetters } from 'vuex'
 import { messgeQuery, messgeUpdate } from '@/api/msgsever'
 import Bus from '@/utils/bus.js'
@@ -76,7 +84,7 @@ export default {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
         lineHeight: '30px'
-      }, 
+      },
       moduleMap: {//消息模块映射
         "Model": "模型文件管理"
       },
@@ -104,20 +112,20 @@ export default {
     // 获取列表数据
     getTableData() {
       let params = {
-        Cascade: [
+        cascade: [
           {
-            Name: "project"
+            name: "project"
           }
         ],
-        Filters: `UserId='${this.userId}';Type!='Refresh'`,
-        Orders: "CreateTime desc, Id asc",
-        PageNumber: this.page.pageNumber,
-        PageSize: this.page.pageSize
+        filters: `userId='${this.userId}';type!='refresh'`,
+        orders: "createTime desc, id asc",
+        pageNumber: this.page.pageNumber,
+        pageSize: this.page.pageSize
       }
       this.loading = true;
       messgeQuery(params, res => {
-        this.tableData = res.Content;
-        this.page.total = res.Total;
+        this.tableData = res.content;
+        this.page.total = res.total;
         this.loading = false;
       })
     },
@@ -133,22 +141,22 @@ export default {
     },
     // 更新消息状态:已读、未读
     changeMessageState(val) {
-      if(!val.Read){
+      if (!val.Read) {
         val.Read = true;
         let params = {
-          Content: [{
-            Id: val.Id,
-            Read: true
+          content: [{
+            id: val.id,
+            read: true
           }]
         }
-        messgeUpdate(params, res => { 
+        messgeUpdate(params, res => {
           Bus.$emit('getUnreadCountUpdate')
         });// 展开更新为已读状态,未读数量同步变更
       }
     }
   }
 };
-  </script>
+</script>
 
 <style scoped lang='less'>
 .box {
@@ -159,51 +167,63 @@ export default {
     flex-direction: column;
     border: 1px solid #dfe6ec;
     background: #fff;
+
     .main {
       margin-top: 10px;
-      a{
+
+      a {
         text-decoration: none;
       }
     }
   }
 }
+
 .el-badge.item {
   height: 10px;
 }
+
 .el-table__expanded-cell {
   p {
     margin-left: 40px;
   }
 }
+
 .el-link {
   margin: 20px 0 0 40px;
   background: #409eff;
   border-radius: 3px;
   padding: 3px 15px;
 }
+
 .demo-table-expand {
   font-size: 0;
 }
+
 .demo-table-expand label {
   width: 90px;
   color: #99a9bf;
 }
+
 .demo-table-expand .el-form-item {
   margin-right: 0;
   margin-bottom: 0;
   margin-left: 120px;
   width: 100%;
 }
+
 .success-color {
   color: #67c23a;
 }
+
 .error-color {
   color: #f56c6c;
 }
+
 .warning-color {
   color: #e6a23c;
 }
+
 .info-color {
   color: #909399;
 }
-</style>
+</style>

+ 58 - 31
src/views/ledger/cenotelist/relatedSpace.vue

@@ -10,13 +10,15 @@
             <el-button v-show="isEdit" size="small" @click="saveEdit" style="float:right">保存</el-button>
             <el-button v-show="isEdit" size="small" @click="cancelEdit" style="float:right">取消</el-button>
           </div>
-          <addSpaceDialog :dialogVisible.sync="dialogVisible" ref="addSpaceDialog" @refresh="refresh" :params="cenoteObj" :spaceType="spaceType"
-            :floorType="floorType"></addSpaceDialog>
+          <addSpaceDialog :dialogVisible.sync="dialogVisible" ref="addSpaceDialog" @refresh="refresh"
+                          :params="cenoteObj" :spaceType="spaceType"
+                          :floorType="floorType"></addSpaceDialog>
         </div>
         <el-badge :is-dot="showSpaceDot" style="margin-left:15px;">
           <label style="line-height:32px;">业务空间类型:</label>
-          <el-cascader v-model="space" placeholder="请选择业务空间" :props="{value:'Code',label:'Name',children:'ZoneType'}" :options="spaceList"
-            @change="changeSpace" style="margin-left:15px;"></el-cascader>
+          <el-cascader v-model="space" placeholder="请选择业务空间" :props="{value:'Code',label:'Name',children:'ZoneType'}"
+                       :options="spaceList"
+                       @change="changeSpace" style="margin-left:15px;"></el-cascader>
         </el-badge>
       </div>
       <div class="saga-build-tab">
@@ -29,21 +31,25 @@
         <el-badge :is-dot="showBuildDot">
           <label style="line-height:32px;padding: 0 10px;">所属建筑:</label>
           <el-select v-model="building" placeholder="请选择建筑" @change="changeBuilding" v-loading="buildingLoading">
-            <el-option v-for="item in buildingList" :key="item.value" :label="item.BuildLocalName?item.BuildLocalName:item.BuildName"
-              :value="item.BuildID"></el-option>
+            <el-option v-for="item in buildingList" :key="item.value"
+                       :label="item.BuildLocalName?item.BuildLocalName:item.BuildName"
+                       :value="item.BuildID"></el-option>
           </el-select>
         </el-badge>
-        <el-switch v-if="!cenoteObj.onlyRead" style="margin-left:15px;" v-model="isAI" @change="handleChangeAI" active-text="打开AI">
+        <el-switch v-if="!cenoteObj.onlyRead" style="margin-left:15px;" v-model="isAI" @change="handleChangeAI"
+                   active-text="打开AI">
         </el-switch>
         <div style="height:calc(100% - 42px);margin:10px 0 0 0;width:100%;">
-          <el-row style="height:100%;margin:0;width:55%;position:relative;display:inline-block;border:1px solid #e4e4e4;">
+          <el-row
+            style="height:100%;margin:0;width:55%;position:relative;display:inline-block;border:1px solid #e4e4e4;">
             <el-col :span="4" style="height:100%;border-right:1px solid #e4e4e4;">
               <el-scrollbar style="height:100%;">
                 <div class="floor" style="height:100%;text-align:center;">
                   <span class="floor-item" style="border-bottom:1px solid #e4e4e4;">楼 层</span>
                   <div v-if="building" v-loading="buildingLoading">
-                    <span class="floor-item" @click="changeFloor(item)" :class="{floorItemChoose:(item.FloorID == floor)}"
-                      v-for="item in buildingObj.Floor" :key="item.FloorID">{{ item.FloorLocalName }}</span>
+                    <span class="floor-item" @click="changeFloor(item)"
+                          :class="{floorItemChoose:(item.FloorID == floor)}"
+                          v-for="item in buildingObj.Floor" :key="item.FloorID">{{ item.FloorLocalName }}</span>
                   </div>
                 </div>
               </el-scrollbar>
@@ -53,15 +59,18 @@
             </el-col>
           </el-row>
           <div class="elevation-box">
-            <elevation-map ref="elevationMap" :onlyRead="cenoteObj.onlyRead" :isEdit="isEdit" :isAI="isAI" @elevationChecked="handleCheckedSpace"
-              @elevationUncheck="handleUncheckSpace" :params="{BuildingId: building, ObjectType: ObjectType, ShaftId: $route.query.ShaftId}">
+            <elevation-map ref="elevationMap" :onlyRead="cenoteObj.onlyRead" :isEdit="isEdit" :isAI="isAI"
+                           @elevationChecked="handleCheckedSpace"
+                           @elevationUncheck="handleUncheckSpace"
+                           :params="{BuildingId: building, ObjectType: ObjectType, ShaftId: $route.query.ShaftId}">
             </elevation-map>
           </div>
         </div>
 
       </div>
       <div v-show="isMyTab == 2" class="data-item">
-        <related-spaceList :space="ObjectType" :buildingList="buildingList" :spaceType="spaceType" :floorType="floorType" ref="relatedSpacelist">
+        <related-spaceList :space="ObjectType" :buildingList="buildingList" :spaceType="spaceType"
+                           :floorType="floorType" ref="relatedSpacelist">
         </related-spaceList>
       </div>
     </div>
@@ -83,6 +92,7 @@ import {
 import cenoteGraphy from '@/components/ledger/lib/cenoteGraphy'
 import { mapGetters } from 'vuex'
 import { buildingQuery } from '@/api/object/build';
+
 export default {
   data() {
     return {
@@ -117,9 +127,7 @@ export default {
     },
     ...mapGetters("layout", ["projectId"])
   },
-  props: {
-
-  },
+  props: {},
   components: {
     spaceSelect,
     relatedSpaceList,
@@ -145,17 +153,17 @@ export default {
           this.showDefaultSpace();
         });
       } else {
-        let params1 = {Cascade: [{ Name: 'zoneType', Filters: `ProjectId='${this.projectId}'` }]},
-            params2 = {shaftId: this.$route.query.ShaftId};
+        let params1 = { cascade: [{ name: 'zoneType', filters: `projectId='${this.projectId}'` }] },
+          params2 = { shaftId: this.$route.query.ShaftId };
         let promise1 = new Promise((resolve, reject) => {
-            queryAllZoneType(params1, res => {
-                resolve(res)
-            })
+          queryAllZoneType(params1, res => {
+            resolve(res)
+          })
         })
         let promise2 = new Promise((resolve, reject) => {
-            shaftSpaceTypeQuery(params2, res => {
-                resolve(res)
-            })
+          shaftSpaceTypeQuery(params2, res => {
+            resolve(res)
+          })
         })
         Promise.all([promise1, promise2]).then(values => {
           let val1 = values[0], val2 = values[1]
@@ -175,7 +183,9 @@ export default {
     //默认显示默认分区,无默认分区显示第一个分区
     showDefaultSpace() {
       if (this.spaceList.length && this.cenoteObj.onlyRead) {
-        this.space = this.spaceList.find((item) => { return item.Code == "GeneralZone" }) ? ["GeneralZone"] : [this.spaceList[0].Code];
+        this.space = this.spaceList.find((item) => {
+          return item.Code == "GeneralZone"
+        }) ? ["GeneralZone"] : [this.spaceList[0].Code];
         this.ObjectType = this.space[0];
       }
       //处理空间类型
@@ -213,8 +223,7 @@ export default {
           })
           this.handleBuildingData();
         });
-      }
-      else {
+      } else {
         let param = {
           cascade: [
             {
@@ -281,7 +290,7 @@ export default {
       this.floor = '';
       this.buildingList = [];
       this.building = '';
-      this.changeFloor({FloorID: ''});
+      this.changeFloor({ FloorID: '' });
       this.loadBuildingData();
       this.calculateRelation();
     },
@@ -303,9 +312,9 @@ export default {
     //更换楼层
     changeFloor(floorObj) {
       debugger
-      this.buildFloorName = `${this.buildingObj.BuildLocalName?this.buildingObj.BuildLocalName:
-                              this.buildingObj.BuildName?this.buildingObj.BuildName:""}-${floorObj.FloorLocalName?
-                              floorObj.FloorLocalName:floorObj.FloorName?floorObj.FloorName:""}`
+      this.buildFloorName = `${this.buildingObj.BuildLocalName ? this.buildingObj.BuildLocalName :
+        this.buildingObj.BuildName ? this.buildingObj.BuildName : ""}-${floorObj.FloorLocalName ?
+        floorObj.FloorLocalName : floorObj.FloorName ? floorObj.FloorName : ""}`
       this.floor = floorObj.FloorID;
       let buildfloor = [this.building, floorObj.FloorID]
       this.$refs.cenotegraphy.getFloorMap(buildfloor, this.ObjectType)
@@ -386,28 +395,35 @@ export default {
   flex-direction: column;
   border: 1px solid #dfe6ec;
   background: #fff;
+
   .header {
     padding-bottom: 10px;
     border-bottom: 1px solid #e4e4e4;
+
     span {
       line-height: 33px;
       margin-left: 15px;
     }
+
     /deep/ .buildFloor {
       line-height: 32px;
     }
   }
+
   .spaceTypes {
     .types {
       float: left;
       width: calc(100% - 200px);
+
       /deep/ .el-tabs__item.is-top {
         border-top: 2px solid transparent;
+
         &.is-active {
           border-top: 2px solid #409eff;
         }
       }
     }
+
     .deleBtn {
       float: left;
       width: 200px;
@@ -417,10 +433,12 @@ export default {
     }
   }
 }
+
 .saga-build-tab {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
+
   .tab-main {
     float: left;
     width: 120px;
@@ -433,6 +451,7 @@ export default {
     text-align: center;
     cursor: pointer;
     overflow: hidden;
+
     i {
       font-size: 18px;
       padding-right: 10px;
@@ -440,23 +459,28 @@ export default {
       line-height: 30px;
       margin-left: 10px;
     }
+
     span {
       line-height: 30px;
       float: left;
     }
   }
+
   .tab-active {
     background-color: #409eff;
     color: #fff;
   }
 }
+
 .data-item {
   height: calc(100% - 44px);
   padding: 10px 0px;
   box-sizing: border-box;
+
   /deep/ .is-horizontal {
     display: none;
   }
+
   .elevation-box {
     height: 100%;
     width: calc(45% - 14px);
@@ -467,15 +491,18 @@ export default {
     overflow: auto;
   }
 }
+
 .floor-item {
   padding: 10px 10px;
   display: block;
   margin: 0px;
   cursor: pointer;
 }
+
 .floorItemChoose {
   background: #e4e4e4;
 }
+
 /deep/ .el-scrollbar__wrap {
   overflow-x: hidden;
 }

+ 3 - 3
src/views/ledger/spacelist/index.vue

@@ -213,10 +213,10 @@ export default {
     // 获取tabs的列表
     getTypes(floorid) {
       let pa = {
-        Cascade: [{ Name: 'zoneType' }]
+        cascade: [{ name: 'zoneType' }]
       }
       if (floorid) {
-        pa.FloorId = floorid
+        pa.floorId = floorid
       }
       queryAllZoneType(pa, res => {
         this.tabsList = res.content.map(t => {
@@ -255,7 +255,7 @@ export default {
       //     this.needCalculate = true;
       //   } else {
       //     this.needCalculate = false;
-          this.init()
+      this.init()
       //   }
       // })
     },