Browse Source

Merge branch 'dataType' of http://39.106.8.246:3003/web/adm into dataType

shaun-sheep 4 years ago
parent
commit
1719643683
39 changed files with 817 additions and 565 deletions
  1. 2 2
      config/index.js
  2. 1 1
      src/components/business_space/newGraphy/graphy.vue
  3. 1 1
      src/components/dialogs/changeRea.vue
  4. 3 3
      src/components/ledger/details/detail/exhibitionEnergy.vue
  5. 3 0
      src/components/ledger/handsontables/device.vue
  6. 7 5
      src/components/ledger/handsontables/system.vue
  7. 1 1
      src/components/ledger/lib/bimDialog.vue
  8. 4 2
      src/components/ledger/lib/cenoteGraphy.vue
  9. 16 16
      src/components/ledger/lib/linkassets.vue
  10. 5 2
      src/components/ledger/lib/uploadImgsName.vue
  11. 97 43
      src/components/ledger/system/dialog/addEquipDialog.vue
  12. 71 34
      src/components/ledger/system/table/spaceTable.vue
  13. 1 1
      src/components/model/file/addFloorDialog.vue
  14. 1 1
      src/components/ready/buildfloor/buildfloorCascader.vue
  15. 134 69
      src/components/ready/buildfloor/formItems.vue
  16. 16 4
      src/components/relation/relationShip/Modal/addRelationShip.vue
  17. 1 1
      src/framework/components/messagesever/msgAllDetails.vue
  18. 12 14
      src/utils/handsontable/notShow.js
  19. 1 1
      src/views/data_admin/buildGraphy/graphyCanvas.vue
  20. 1 1
      src/views/ledger/cenotelist/cenoteadd/index.vue
  21. 1 1
      src/views/ledger/facility/addfacility.vue
  22. 8 5
      src/views/ledger/facility/batchPoint.vue
  23. 1 15
      src/views/ledger/facility/batchlink.vue
  24. 10 8
      src/views/ledger/facility/partsmanage/addparts/index.vue
  25. 1 1
      src/views/ledger/property/addproperty.vue
  26. 281 214
      src/views/ledger/property/details/index.vue
  27. 1 1
      src/views/ledger/rentlist/manageTenantZone.vue
  28. 1 1
      src/views/ledger/rentlist/rentadd/index.vue
  29. 67 65
      src/views/ledger/report/index.vue
  30. 5 2
      src/views/ledger/spacelist/spaceadd/index.vue
  31. 19 17
      src/views/ledger/system/addsystem.vue
  32. 38 26
      src/views/model/file/index.vue
  33. 1 1
      src/views/model/report/deleted.vue
  34. 1 1
      src/views/model/report/index.vue
  35. 1 1
      src/views/model/report/supplement.vue
  36. 0 1
      src/views/ready/buildfloor/drawGraphy/checkGraphy.vue
  37. 1 1
      src/views/ready/buildfloor/drawGraphy/drawFloor.vue
  38. 1 1
      src/views/relation/overview/detail/index.vue
  39. 1 1
      src/views/screen/splitscreen/spaceledger/index.vue

+ 2 - 2
config/index.js

@@ -294,8 +294,8 @@ module.exports = {
         // 目标 API 地址
         // target: 'http://192.168.12.238:8080/',
         // target: 'http://60.205.177.43:28888',
-        target: 'http://192.168.64.14:28888',
-        // target: 'http://192.168.64./17:28888',
+        // target: 'http://192.168.64.14:28888',
+        target: 'http://192.168.64./17:28888',
         // 如果要代理 websockets
         ws: true,
         // 将主机标头的原点更改为目标URL

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

@@ -379,7 +379,7 @@ export default {
       that.canvasLoading = false;
       if (res == 'error') {
         this.FloorMap = '';
-        console.log('数据解析异常', `/image-service/common/file_get?systemId=revit&key=${this.FloorMap}`);
+        console.log('数据解析异常');
         return;
       }
       that.view.scene = that.scene;

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

@@ -40,7 +40,7 @@
             </el-table-column>
             <el-table-column label="安装位置">
               <template slot-scope="scope">
-                {{ scope.row.infos ? scope.row.infos.InstallLocation ? scope.row.infos.InstallLocation : "--" : "--" }}
+                {{ scope.row.infos ? scope.row.infos.installLocation ? scope.row.infos.installLocation : "--" : "--" }}
               </template>
             </el-table-column>
           </el-table>

+ 3 - 3
src/components/ledger/details/detail/exhibitionEnergy.vue

@@ -5,7 +5,7 @@
         <h4 class="base">{{key}}</h4>
         <div class="table-dynamic" v-for="(value,keys,index) in val.paths">
           <div class="table-title"> {{ value.InfoPointName }}:</div>
-          <p :style="{'color':value.value? '' :'#F56C6C'}">{{ value.value ? `表号功能号:${value.value} ` : '未维护' }}</p>
+          <p :style="{'color':value.value? '' :'#F56C6C'}">{{ value.value ? `${value.value}` : '未维护' }}</p>
           <p v-if="value.data == '0'">{{ value.data }}{{ value.Unit }}</p>
           <p v-else-if="value.data">{{ value.data }}{{ value.Unit }}</p>
           <!--          <p v-else-if="value.error">{{value.error}}</p>-->
@@ -15,9 +15,9 @@
             width="160"
             trigger="hover">
             <p style="border-bottom: 1px solid #eee;padding:2px 0 4px 0;'">错误原因</p>
-            <p>{{ value.error }}</p>
+            <p>{{ '表号功能号不存在' }}</p>
             <div style="text-align: center; margin: 0">
-              <el-button type="text" size="mini" @click="handleCopy(value.error)">复制</el-button>
+              <el-button type="text" size="mini" @click="handleCopy(value.error)">复制错误信息</el-button>
             </div>
             <el-button slot="reference" type="text" style="color:#F56C6C">error</el-button>
           </el-popover>

+ 3 - 0
src/components/ledger/handsontables/device.vue

@@ -405,6 +405,9 @@ export default {
             this.initTable();
           }
         });
+      } else {
+        this.loading = false;
+        this.$message.info("请选择设备类别!");
       }
     },
     //获取所有主体数据---用于维护信息

+ 7 - 5
src/components/ledger/handsontables/system.vue

@@ -13,7 +13,7 @@
       </el-select>
       <el-button size="small" style="width: 80px" @click="addDevice" icon="iconfont icon-tianjia">添加系统</el-button>
       <el-button size="small" style="width: 80px" @click="reset" icon="iconfont icon-shuaxin">刷新</el-button>
-      <el-button size="small" style="width: 80px" @click="undo" icon="iconfont icon-undo">撤销</el-button>
+      <el-button v-show="onlyRead" size="small" style="width: 80px" @click="undo" icon="iconfont icon-undo">撤销</el-button>
     </div>
     <qrcode :dialog="myDialog" :addBody="true" ref="qrcode"></qrcode>
     <upload-files-dialog ref="upload" @changeFile="fileChange" :keysArr="filesArr"
@@ -174,7 +174,8 @@ export default {
     },
     //获取表头
     getHeaderData(code) {
-      this.mess = code
+      this.mess = code;
+
       if (this.mess.deviceId) {
         let params = {
           type: this.mess.deviceId,
@@ -269,7 +270,7 @@ export default {
     },
     //下一步
     toAddDevice() {
-      if (this.addData.Category) {
+      if (this.addData.category) {
         this.$router.push({
           path: "/ledger/systemadd",
           query: this.addData
@@ -278,9 +279,10 @@ export default {
     },
     //选择设备类型-添加设备
     changeAddType(val) {
-      this.addData.Category = val.classCode;
-      this.addData.CategoryName = val.name;
+      this.addData.category = val.classCode;
+      this.addData.categoryName = val.categoryName;
       this.addData.showType = this.showType;
+      console.log('val',val,this.addData)
     },
     //格式化表头
     formatHeaderData(list) {

+ 1 - 1
src/components/ledger/lib/bimDialog.vue

@@ -139,7 +139,7 @@ export default {
       this.canvasLoading = false
       if (res == 'error') {
         this.FloorMap = ''
-        this.$message.warning('数据解析异常')
+        console.log('数据解析异常');
         return
       }
       if (res.Result == 'failure') {

+ 4 - 2
src/components/ledger/lib/cenoteGraphy.vue

@@ -114,7 +114,7 @@ export default {
         that.canvasLoading = false;
         if (res == 'error') {
           this.floorMap = '';
-          this.$message.warning('数据解析异常');
+          console.log('数据解析异常');
           return;
         }
         that.view.scene = that.scene;
@@ -230,7 +230,9 @@ export default {
     //取消编辑
     cancelEdit() {
       this.config.isEdit = false;
-      this.scene.clearZoneSelection();
+      if (this.scene) {
+        this.scene.clearZoneSelection();
+      }
       this.getBusinessSpace();
     },
     //编辑

+ 16 - 16
src/components/ledger/lib/linkassets.vue

@@ -15,7 +15,7 @@
     <el-row style="margin-top:30px;" v-show="spaceShow">
       <span class="condition-title">分区类型:</span>
       <el-select v-model="zone" filterable size="small" @change="handleChangeZone" style="width:350px;">
-        <el-option v-for="item in zoneList" :key="item.Code" :label="item.Name" :value="item.Code"></el-option>
+        <el-option v-for="item in zoneList" :key="item.code" :label="item.name" :value="item.code"></el-option>
       </el-select>
     </el-row>
     <el-row style="margin-top:30px;" v-show="spaceShow && zone != 'all' && zone != 'noKnow'">
@@ -86,7 +86,7 @@ export default {
     //获取未关联资产的设备或部件类型
     getPartsDieType() {
       let _this = this
-      TypePartsDie(res => {
+      TypePartsDie(res => {       
         _this.deviceTypeList = res.content
       })
     },
@@ -204,7 +204,7 @@ export default {
     //判断是否显示空间分区选择
     zoneListIsShow() {
       let lastVal = this.buildFloor.slice(-1)[0]
-      if (!lastVal || lastVal == 'noKnow' || this.buildFloor[0] == 'all' || this.deviceType.length != 4) {
+      if (!lastVal || lastVal == 'noKnow' || this.buildFloor[0] == 'all' || this.deviceType.length != 6) {
         this.spaceShow = false
       } else {
         this.spaceShow = true
@@ -224,27 +224,27 @@ export default {
         let recursionGetData = (pageNum, zone) => {
           pageNum = pageNum ? pageNum : 1
           let params = {
-            Orders: "CreateTime desc, id asc",
-            PageNumber: pageNum,
-            PageSize: 1000,
-            Projection: ["id", "RoomName", "RoomLocalName", "CreateTime"],
-            ZoneType: zone
+            orders: "createTime desc, id asc",
+            pageNumber: pageNum,
+            pageSize: 1000,
+            projection: ["id", "name", "localName", "createTime"],
+            zoneType: zone
           }
           if (this.spaceShow) {
             if (this.buildFloor.length == 2 && this.buildFloor[1] != 'all') {
-              pa.BuildingId = this.buildFloor[0];
-              pa.FloorId = this.buildFloor[1];
+              params.buildingId = this.buildFloor[0];
+              params.floorId = this.buildFloor[1];
             } else {
-              pa.BuildingId = this.buildFloor[0];
+              params.buildingId = this.buildFloor[0];
             }
           }
           zoneQuery(params, res => {
-            nodes = nodes.concat(res.Content.map(item => ({
-              value: item.RoomID,
-              label: item.RoomLocalName ? item.RoomLocalName : item.RoomName
+            nodes = nodes.concat(res.content.map(item => ({
+              value: item.id,
+              label: item.localName ? item.localName : item.name
             })))
-            if (res.Total / (res.PageSize * res.PageNumber) > 1) {
-              recursionGetData(res.PageNumber + 1, zone)
+            if (res.total / (res.pageSize * res.pageNumber) > 1) {
+              recursionGetData(res.pageNumber + 1, zone)
             } else {
               this.spaceList = nodes
             }

+ 5 - 2
src/components/ledger/lib/uploadImgsName.vue

@@ -27,7 +27,7 @@
         <form-input :label="''" @change="getName" :keys="index" :value="item.name" :width="10"></form-input>
       </div>
       <!--      v-if="!readOnly && imagesArr.length < max"-->
-      <div style="float:left;">
+      <div style="float:left;" v-loading="uploading">
         <el-upload
           class="avatar-uploader"
           :http-request="uploadAndSubmit"
@@ -92,7 +92,8 @@ export default {
       iframeSrc: "",
       dialog: {
         details: false
-      }
+      },
+      uploading: false
     };
   },
   created() {
@@ -178,6 +179,7 @@ export default {
         } else {
           // document.getElementById("bytesRead").textContent = file.size;
           // 构造 XMLHttpRequest 对象,发送文件 Binary 数据
+          vm.uploading = true;
           var xhr = new XMLHttpRequest();
           xhr.open(
             /* method */
@@ -191,6 +193,7 @@ export default {
           xhr.onreadystatechange = function () {
             if (xhr.readyState == 4) {
               if (xhr.status == 200) {
+                vm.uploading = false;
                 if (vm.type == 'image') {
                   vm.imagesArr.push(
                     {

+ 97 - 43
src/components/ledger/system/dialog/addEquipDialog.vue

@@ -1,49 +1,97 @@
 <template>
-  <el-dialog :title="title" :visible.sync="dialogVisible" width="900px" id="addEqDialog">
+  <el-dialog
+    :title="title"
+    :visible.sync="dialogVisible"
+    width="900px"
+    id="addEqDialog"
+  >
     <el-row class="filters">
-      <el-col :span="7" style="width:268px">
-        <el-input placeholder="输入设备名称或设备本地编码进行查询" v-model="keycode" clearable @keyup.enter.native="getTableData">
-          <i slot="suffix" class="el-input__icon el-icon-search" @click="getTableData"></i>
+      <el-col :span="7" style="width: 268px">
+        <el-input
+          placeholder="输入设备名称或设备本地编码进行查询"
+          v-model="keycode"
+          clearable
+          @keyup.enter.native="inputMsg"
+        >
+          <i
+            slot="suffix"
+            class="el-input__icon el-icon-search"
+            @click="inputMsg"
+          ></i>
         </el-input>
       </el-col>
-      <el-col :span="8.5" style="padding:0 0;">
-        <floor-cascader @change="changeFloor" style="margin-left:5px;"></floor-cascader>
+      <el-col :span="8.5" style="padding: 0 0">
+        <floor-cascader
+          @change="changeFloor"
+          style="margin-left: 5px"
+        ></floor-cascader>
       </el-col>
-      <el-col :span="8.5" style="padding-right:0;">
+      <el-col :span="8.5" style="padding-right: 0">
         <myCascader @change="changeDevice" :params="childParams"></myCascader>
       </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">
+        <el-table-column
+          :label="`${inSpaceType}名称`"
+          show-overflow-tooltip
+          min-width="100"
+        >
           <template slot-scope="scope">
-            <div>{{ scope.row.localName || scope.row.name || '' }}</div>
+            <div>{{ scope.row.localName || scope.row.name || "" }}</div>
           </template>
         </el-table-column>
-        <el-table-column prop="localId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip
-                         min-width="100"></el-table-column>
-        <el-table-column prop="equipCategory.name" :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="equipCategory.name"
+          :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>
+            <el-button
+              size="mini"
+              @click="toDetail(scope.$index, scope.row)"
+              plain
+              >查看详情</el-button
+            >
           </template>
         </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>
-      <el-button size="small" type="primary" @click="savaRelation">确 定</el-button>
+      <el-button size="small" type="primary" @click="savaRelation"
+        >确 定</el-button
+      >
     </span>
   </el-dialog>
 </template>
@@ -57,7 +105,7 @@ import { mapGetters } from "vuex";
 export default {
   components: {
     floorCascader,
-    myCascader
+    myCascader,
   },
 
   data() {
@@ -75,13 +123,13 @@ export default {
         pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
-        total: 0
+        total: 0,
       },
       headerStyle: {
         backgroundColor: "#e1e4e5",
         color: "#2b2b2b",
-        lineHeight: "30px"
-      } // 列表样式,
+        lineHeight: "30px",
+      }, // 列表样式,
     };
   },
   computed: {
@@ -90,18 +138,18 @@ export default {
       let temp = JSON.parse(JSON.stringify(this.params));
       temp.SysType = null;
       return temp;
-    }
+    },
   },
   props: {
     type: String, //选中的tab页
-    params: Object //查看的竖井关系信息
-  },
-  created() {
+    params: Object, //查看的竖井关系信息
   },
+  created() {},
   methods: {
     //修改建筑楼层
     changeFloor(value) {
       this.Buildfloor = value;
+      this.page.pageNumber = 1;
       this.getTableData();
     },
     // 显示弹窗
@@ -111,6 +159,11 @@ export default {
       this.tableData = [];
       this.getTableData();
     },
+    // 搜索框
+    inputMsg() {
+      this.page.pageNumber = 1;
+      this.getTableData();
+    },
     getTableData() {
       let params = {
         data: {
@@ -139,15 +192,15 @@ export default {
       if (this.Equipcategory) {
         params.data.filters += `;classCode='${this.Equipcategory}'`;
       }
-      unSysEq(params, res => {
-        res.content.forEach(item => {
+      unSysEq(params, (res) => {
+        res.content.forEach((item) => {
           item.ShaftListName = "";
           if (item.shaftList && item.shaftList.length) {
-            item.ShaftListName = item.shaftList.map(shaft => {
-              return shaft.localName
-                ? shaft.localName
-                : shaft.name;
-            }).join("、");
+            item.ShaftListName = item.shaftList
+              .map((shaft) => {
+                return shaft.localName ? shaft.localName : shaft.name;
+              })
+              .join("、");
           }
         });
         this.tableData = res.content;
@@ -162,11 +215,11 @@ export default {
       if (this.selections.length) {
         let params = {
           sysId: this.$route.query.SysID,
-          equipIdList: this.selections.map(item => {
+          equipIdList: this.selections.map((item) => {
             return item.id;
-          })
+          }),
         };
-        sysLinkEquip(params, res => {
+        sysLinkEquip(params, (res) => {
           this.dialogVisible = false;
           this.$message.success("关联成功!");
           this.$emit("refresh");
@@ -177,6 +230,7 @@ export default {
     },
     //修改设备类别
     changeDevice(value) {
+      this.page.pageNumber = 1; //pageSize初始化
       this.Equipcategory = value.code;
       this.getTableData();
     },
@@ -193,8 +247,8 @@ export default {
     // 查看详情
     toDetail() {
       this.$message("开发中");
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="less" scoped>

+ 71 - 34
src/components/ledger/system/table/spaceTable.vue

@@ -2,45 +2,82 @@
   <div id="eqInSp">
     <el-row>
       <el-button type="primary" @click="add">添加{{ inSpaceType }}</el-button>
-      <el-tooltip class="item" effect="dark" content="可前往“全部关系总览”中,按系统内包含的设备与空间关系计算" placement="right">
+      <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-column :label="`${inSpaceType}名称`" show-overflow-tooltip min-width="100">
+      <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.localName || scope.row.name || '' }}</div>
+            <div>{{ scope.row.localName || scope.row.name || "" }}</div>
           </template>
         </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">
+        <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>{{ spaceType[scope.row.classCode] }}</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-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-tooltip>
           </template>
         </el-table-column>
         <template slot="empty">
-          <div style="height: 60%;transform: translateY(50%);">
+          <div style="height: 60%; transform: translateY(50%)">
             <i class="icon-wushuju iconfont"></i>
-            可前往“全部关系总览”中计算竖井内系统
+            可前往“全部关系总览”中按系统内包含的设备和业务空间关系计算
           </div>
         </template>
       </el-table>
     </div>
     <!-- 添加空间弹窗 -->
-    <addSpaceDialog :dialogVisible.sync="dialogVisible" ref="addSpaceDialog" @refresh="refresh" :params="params"
-                    :spaceType="spaceType"
-                    :floorType="floorType"></addSpaceDialog>
+    <addSpaceDialog
+      :dialogVisible.sync="dialogVisible"
+      ref="addSpaceDialog"
+      @refresh="refresh"
+      :params="params"
+      :spaceType="spaceType"
+      :floorType="floorType"
+    ></addSpaceDialog>
   </div>
 </template>
 
@@ -51,10 +88,10 @@ import addSpaceDialog from "@/components/ledger/system/dialog/addSpaceDialog";
 
 export default {
   components: {
-    addSpaceDialog
+    addSpaceDialog,
   },
   computed: {
-    ...mapGetters("layout", ["projectId"])
+    ...mapGetters("layout", ["projectId"]),
   },
   data() {
     return {
@@ -63,17 +100,17 @@ export default {
       headerStyle: {
         backgroundColor: "#e1e4e5",
         color: "#2b2b2b",
-        lineHeight: "30px"
+        lineHeight: "30px",
       }, // 列表样式
       loading: false, // loading
-      tableData: [] //列表数据
+      tableData: [], //列表数据
     };
   },
   props: {
     params: Object,
     type: String,
     spaceType: Object,
-    floorType: {}
+    floorType: {},
   },
   created() {
     this.getTableData();
@@ -85,11 +122,11 @@ export default {
         filters: `id='${this.params.SysID}'`,
         cascade: [
           {
-            name: "zoneSpaceBaseTableList"
-          }
-        ]
+            name: "zoneSpaceBaseTableList",
+          },
+        ],
       };
-      queryLinkSys(params, res => {
+      queryLinkSys(params, (res) => {
         this.tableData = res.content[0].zoneSpaceBaseTableList || [];
       });
     },
@@ -98,17 +135,17 @@ export default {
       this.$confirm("确认删除该关系?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
-        type: "warning"
+        type: "warning",
       })
         .then(() => {
           let params = {
             data: [
               {
                 sysId: this.params.SysID,
-                spaceId: row.id
-              }
+                spaceId: row.id,
+              },
             ],
-            type: row.classCode
+            type: row.classCode,
           };
           this.deleteSyInSh(params);
         })
@@ -118,7 +155,7 @@ export default {
     },
     // 删除系统所在竖井关系
     deleteSyInSh(params) {
-      spaceInSysUnlink(params, res => {
+      spaceInSysUnlink(params, (res) => {
         this.$message.success("删除成功");
         this.getTableData();
       });
@@ -140,14 +177,14 @@ export default {
     //刷新
     refresh() {
       this.dialogVisible = false;
-      this.getTableData()
-    }
+      this.getTableData();
+    },
   },
   watch: {
     type() {
       // this.getTableData()
-    }
-  }
+    },
+  },
 };
 </script>
 <style lang="less" scoped>

+ 1 - 1
src/components/model/file/addFloorDialog.vue

@@ -196,7 +196,7 @@
             ProjectId: this.projectId,
             ReplaceReason: null,
             Size: this.form.file.size,
-            UserName: this.userInfo.username,
+            UserName: this.userInfo.userName,
             UserId: this.userInfo.userId
           };
           request.modelFileUpload(data, res => {

+ 1 - 1
src/components/ready/buildfloor/buildfloorCascader.vue

@@ -12,7 +12,7 @@ export default {
       props: {
         multiple: true,
         value: 'id',
-        label: 'name',
+        label: 'localName',
         children: 'floor'
       },
       options: []

+ 134 - 69
src/components/ready/buildfloor/formItems.vue

@@ -1,40 +1,73 @@
 <template>
   <div id="inforsPoint">
-    <el-form ref="ruleForm" :model="form" label-width="150px" :rules="rules" :inline="true" :label-position="'right'">
-      <div v-for="item in InforsList" :key="item.infoPointCode" style="width:50%;display: inline-block">
+    <el-form
+      ref="ruleForm"
+      :model="form"
+      label-width="150px"
+      :rules="rules"
+      :inline="true"
+      :label-position="'right'"
+    >
+      <div
+        v-for="item in InforsList"
+        :key="item.infoPointCode"
+        style="width: 50%; display: inline-block"
+      >
         <el-form-item
           :label="item.name"
           :prop="item.code"
-          v-if="all||item.visible"
-          :class="{FloorTypeSelect:item.dataType == 'ENUM'||item.unit}">
-
+          v-if="all || item.visible"
+          :class="{ FloorTypeSelect: item.dataType == 'ENUM' || item.unit }"
+        >
           <el-input
             v-model.trim="form[item.path]"
-            v-if="item.infoPointCode == 'bimLocation' || item.infoPointCode =='modelId'"
-            disabled/>
+            v-if="
+              item.infoPointCode == 'bimLocation' ||
+              item.infoPointCode == 'modelId'
+            "
+            disabled
+          />
 
           <!--二维码相关-->
-          <span v-else-if="item.infoPointCode == 'DefaultQRCode' ">
-            <el-input v-if="!form[item.path]" v-model.trim="form[item.path]" disabled/>
+          <span v-else-if="item.infoPointCode == 'DefaultQRCode'">
+            <el-input
+              v-if="!form[item.path]"
+              v-model.trim="form[item.path]"
+              disabled
+            />
             <el-popover v-else placement="right" width="210" trigger="click">
-              <div style="overflow:hidden;">
+              <div style="overflow: hidden">
                 <img
-                  style="width:200px;height:200px;"
-                  :src="'/image-service/common/file_get/'+ form[item.path] +'?systemId=dataPlatform'"
-                  alt="二维码">
+                  style="width: 200px; height: 200px"
+                  :src="
+                    '/image-service/common/file_get/' +
+                    form[item.path] +
+                    '?systemId=dataPlatform'
+                  "
+                  alt="二维码"
+                />
               </div>
               <el-button slot="reference" type="text">点击查看</el-button>
             </el-popover>
           </span>
 
-          <span v-else-if="item.infoPointCode == 'QRCodePic' ">
-            <el-input v-if="!form[item.path]" v-model.trim="form[item.path]" disabled/>
+          <span v-else-if="item.infoPointCode == 'QRCodePic'">
+            <el-input
+              v-if="!form[item.path]"
+              v-model.trim="form[item.path]"
+              disabled
+            />
             <el-popover v-else placement="right" width="210" trigger="click">
-              <div style="overflow:hidden;">
+              <div style="overflow: hidden">
                 <img
-                  style="width:200px;height:200px;"
-                  :src="'/image-service/common/file_get/'+ form[item.path] +'?systemId=dataPlatform'"
-                  alt="二维码">
+                  style="width: 200px; height: 200px"
+                  :src="
+                    '/image-service/common/file_get/' +
+                    form[item.path] +
+                    '?systemId=dataPlatform'
+                  "
+                  alt="二维码"
+                />
               </div>
               <el-button slot="reference" type="text">点击查看</el-button>
             </el-popover>
@@ -42,48 +75,76 @@
 
           <!--/二维码相关-->
           <span v-else-if="item.dataType == 'STRING'">
-            <el-input v-model.trim="form[item.path]"
-                      :disabled="!item.editable"
-                      :placeholder="(item.dataType == 'STRING' && item.path==='localId') ? '填写示例:F1、B1?':'' "/>
-              <div v-if="item.dataType == 'STRING' && item.path==='localId' && isShowTitle"
-                   style="color: gray;font-size: 12px">
-                用于楼层平面图切换
-              </div>
+            <el-input
+              v-model.trim="form[item.path]"
+              :disabled="!item.editable"
+              :placeholder="
+                item.dataType == 'STRING' && item.path === 'localId'
+                  ? '填写示例:F1、B1?'
+                  : ''
+              "
+            />
+            <div
+              v-if="
+                item.dataType == 'STRING' &&
+                item.path === 'localId' &&
+                isShowTitle
+              "
+              style="color: gray; font-size: 12px"
+            >
+              用于楼层平面图切换
+            </div>
           </span>
 
-          <el-input v-model.trim="form[item.path]" v-else-if="item.dataType == 'INTEGER'||item.dataType == 'DOUBLE'"
-                    type="number">
+          <el-input
+            v-model.trim="form[item.path]"
+            v-else-if="item.dataType == 'INTEGER' || item.dataType == 'DOUBLE'"
+            type="number"
+          >
             <template slot="append" v-if="item.unit">{{ item.unit }}</template>
           </el-input>
 
-          <el-select v-model="form[item.path]" placeholder="请选择" v-else-if="item.dataType == 'ENUM'">
-            <el-option v-for="op in item.options" :key="op.code" :label="op.name" :value="op.code"></el-option>
+          <el-select
+            v-model="form[item.path]"
+            placeholder="请选择"
+            v-else-if="item.dataType == 'ENUM'"
+          >
+            <el-option
+              v-for="op in item.options"
+              :key="op.code"
+              :label="op.name"
+              :value="op.code"
+            ></el-option>
           </el-select>
-          <el-input v-model.trim="form[item.path]" v-else :placeholder="item.dataType?'':'字典无输入类型'"></el-input>
+          <el-input
+            v-model.trim="form[item.path]"
+            v-else
+            :placeholder="item.dataType ? '' : '字典无输入类型'"
+          ></el-input>
         </el-form-item>
       </div>
     </el-form>
   </div>
 </template>
 <script>
-import {getDataDictionary} from "@/api/dict";
+import { getDataDictionary } from "@/api/dict";
 
 export default {
   props: {
     type: {
-      default: 'floor'
-    }
+      default: "floor",
+    },
   },
   data() {
     let validateId = (rule, value, callback) => {
       if (!value) {
-        this.isShowTitle = false
-        return callback(new Error('请输入楼层本地编码'));
+        this.isShowTitle = false;
+        return callback(new Error("请输入楼层本地编码"));
       } else {
-        this.isShowTitle = true
-        callback()
+        this.isShowTitle = true;
+        callback();
       }
-    }
+    };
     // }
     return {
       form: {},
@@ -91,23 +152,20 @@ export default {
       InforsList: [],
       all: true, // 默认显示全部
       rules: {
-        "localId": [
-          {validator: validateId, trigger: 'blur', "required": true}
+        localId: [{ validator: validateId, trigger: "blur", required: true }],
+        localName: [
+          { required: true, message: "请输入楼层本地名称", trigger: "blur" },
         ],
-        "localName": [
-          {"required": true, "message": "请输入楼层本地名称", "trigger": "blur"}
+        floorSequenceID: [
+          { required: true, message: "请输入楼层顺序号", trigger: "blur" },
         ],
-        "floorSequenceID": [
-          {"required": true, "message": "请输入楼层顺序号", "trigger": "blur"}
-        ]
-      }
+      },
     };
   },
 
   created() {
-    this.getInforsPoint()
-  }
-  ,
+    this.getInforsPoint();
+  },
   methods: {
     getInforsPoint() {
       let params = {
@@ -124,39 +182,46 @@ export default {
             item.options = item.dataSource
             if (item.options[0]) {
               item.props = {
-                value: 'code',
-                label: 'name',
-                children: 'content',
-                checkStrictly: true
-              }
+                value: "code",
+                label: "name",
+                children: "content",
+                checkStrictly: true,
+              };
             }
           }
-          switch (item.code) { //过滤掉待删除的
-            case 'floorIdentity':
-            case 'relatedSchedule':
-            case 'outPeopleFlow':
-            case 'inPeopleFlow':
-            case 'exsitPeopleNum':
+          switch (
+            item.code //过滤掉待删除的
+          ) {
+            case "floorIdentity":
+            case "relatedSchedule":
+            case "outPeopleFlow":
+            case "inPeopleFlow":
+            case "exsitPeopleNum":
               break;
             default:
-              return item
+              return item;
           }
-        })
+        });
         //手动删除掉数据字典中不存在的字段,等待后台同步
-        this.InforsList = arr.filter(t => t && t.code != 'FloorQRCode')
-      })
+        let newarr = [];
+        arr.forEach((t) => {
+          if ((t && t.code != "FloorQRCode") && (t && t.code != "qRCodePic") && t && t.code !="floorMap") {
+            newarr.push(t);
+          }
+        });
+        this.InforsList = newarr;
+      });
     },
     submitForm(call) {
       this.$refs.ruleForm.validate((valid) => {
         if (valid) {
-          call()
+          call();
         } else {
           return false;
         }
       });
     },
-
-  }
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -172,7 +237,7 @@ export default {
   }
 
   /deep/ .el-input--small {
-    width: 200px
+    width: 200px;
   }
 }
 </style>

+ 16 - 4
src/components/relation/relationShip/Modal/addRelationShip.vue

@@ -65,7 +65,7 @@
               :key="index"
               :prop="`codeList.${index}.value`"
               :rules="rules.codeList"
-              :error="fromError"
+              :error="item.fromError"
             >
               <el-input
                 v-model="item.value"
@@ -157,7 +157,9 @@ export default {
         ruleForm: {
           main: '',
           codeList: [{
-            value: ''
+            value: '',
+            fromError: '',
+            key: +new Date()
           }]
         },
         rules: {
@@ -187,7 +189,8 @@ export default {
       addCode() {
         this.ruleForm.codeList.push({
           value: '',
-          key: Date.now()
+          key: Date.now(),
+          fromError: ''
         })
       },
       removeCode(item) {
@@ -202,6 +205,7 @@ export default {
           if (valid) {
             let arr = []
             for(let item  of this.ruleForm.codeList) {
+              item.fromError = ''
               if(item.value) {
                 arr = arr.concat(item.value)
               }
@@ -220,7 +224,15 @@ export default {
                   // this.mainError = res.data.Message
                   this.$nextTick(()=>{this.mainError = res.data.message})
                 } else if(res.data.errorType == 2) {
-                  this.$nextTick(()=>{this.fromError = res.data.message})
+                  const str = res.data.message.split(':')
+                  this.$nextTick(()=>{
+                    this.ruleForm.codeList.forEach(t => {
+                      if (str.length > 1 && t.value == str[0]) {
+                        t.fromError = res.data.message;
+                        t.key = +new Date()
+                      }
+                    })
+                  })
                 } else {
                   this.$message.error(res.data.message);
                 }

+ 1 - 1
src/framework/components/messagesever/msgAllDetails.vue

@@ -29,7 +29,7 @@
             <template slot-scope="scope">
               <div>
                 <i
-                  :class="iconClassMap[scope.row.Type]?iconClassMap[scope.row.Type]:'msg-icon el-icon-warning warning-color'"
+                  :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>

+ 12 - 14
src/utils/handsontable/notShow.js

@@ -435,10 +435,9 @@ const showTools = {
         }
       }
     } else {// 动态信息点
-      // console.log(`%c${item.category}-${item.dataType}`,`color:#c215e1;font-size: 20px;background:#434101`);
       return {
         data: item.path,
-        readOnly: !item.editable
+        readOnly: onlyRead
       }
     }
   },
@@ -451,7 +450,7 @@ const showTools = {
       return {
         data: item.path,
         renderer: text.lookQRCode,
-        readOnly: !item.editable
+        readOnly: onlyRead
       }
     }
 
@@ -464,7 +463,7 @@ const showTools = {
       return {
         data: item.path,
         renderer: text.picType,
-        readOnly: !item.editable
+        readOnly: onlyRead
       }
     }
 
@@ -489,7 +488,7 @@ const showTools = {
       return {
         data: item.path,
         renderer: text.fileType,
-        readOnly: !item.editable
+        readOnly: onlyRead
       }
     }
 
@@ -503,7 +502,7 @@ const showTools = {
     //   return {
     //     data: item.path,
     //     renderer: text.idType,
-    //     readOnly: !item.editable
+    //     readOnly: onlyRead
     //   }
     // }
     if (!item.category) {
@@ -515,7 +514,7 @@ const showTools = {
           data: item.path,
           renderer: tools.customDropdownRenderer,
           editor: "chosen",
-          readOnly: !item.editable,
+          readOnly: onlyRead,
           chosenOptions: {
             data: item.dataSource ? tools.formatDataSource(item.dataSource) : ""
           }
@@ -525,7 +524,7 @@ const showTools = {
           data: item.path,
           renderer: tools.customDropdownRenderer,
           editor: "chosen",
-          readOnly: !item.editable,
+          readOnly: onlyRead,
           chosenOptions: {
             multiple: true, //多选
             data: item.dataSource ? tools.formatDataSource(item.dataSource) : ""
@@ -535,7 +534,7 @@ const showTools = {
         return {
           data: item.path,
           type: "numeric",
-          readOnly: !item.editable,
+          readOnly: onlyRead,
           numericFormat: {
             pattern: "0,0.00"
           }
@@ -545,25 +544,24 @@ const showTools = {
           data: item.path,
           type: "date",
           dateFormat: item.formater || "YYYYMMDDHHmmss",
-          readOnly: !item.editable,
+          readOnly: onlyRead,
           correctFormat: true
         };
       } else if (item.dataType == dataTypeMap.STRING) { // 文本输入
         return {
           data: item.path,
-          readOnly: !item.editable
+          readOnly: onlyRead
         }
       } else { // (未支持的输入方式)暂不支持编辑
         return {
           data: item.path,
-          readOnly: !item.editable
+          readOnly: onlyRead
         }
       }
     } else { // 动态信息点
-      // console.log(`%c${item.category}-${item.dataType}`,`color:#c215e1;font-size: 20px;background:#434101`);
       return {
         data: item.path,
-        readOnly: !item.editable
+        readOnly: onlyRead
       }
     }
   },

+ 1 - 1
src/views/data_admin/buildGraphy/graphyCanvas.vue

@@ -95,7 +95,7 @@ export default {
         that.canvasLoading = false;
         if (res == 'error') {
           this.floorMap = '';
-          this.$message.warning('数据解析异常');
+          console.log('数据解析异常');
           return;
         }
         that.view.scene = that.scene;

+ 1 - 1
src/views/ledger/cenotelist/cenoteadd/index.vue

@@ -6,7 +6,7 @@
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
+      <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
       <span>个竖井</span>
       <el-button @click="handleAddTableRow">增加</el-button>
     </el-row>

+ 1 - 1
src/views/ledger/facility/addfacility.vue

@@ -6,7 +6,7 @@
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
+      <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
       <span>个{{ category.name }}</span>
       <el-button @click="handleAddTableRow">增加</el-button>
     </el-row>

+ 8 - 5
src/views/ledger/facility/batchPoint.vue

@@ -77,7 +77,7 @@
                 <p>距地面高度:{{equipZ}}mm</p>
             </el-row>
             <div class="elSlider">
-                <el-slider v-model="equipZ" :max="maxHeight" :step="1" :marks="marks"></el-slider>
+                <el-slider v-model="equipZ" :min="minHeight" :max="maxHeight" :step="1" :marks="marks"></el-slider>
             </div>
             <el-row style="text-align: right;">
                 <el-button size="mini" @click="visible = false">取消</el-button>
@@ -105,6 +105,7 @@ export default {
         visible: false,
         equipZ: 0,
         maxHeight: 99000,
+        minHeight: -99000,
         popoverPosition: {
             top: 0,
             left: 0,
@@ -117,7 +118,7 @@ export default {
 		classCode: "", //设备类别
 		isPoint: "all", //是否有坐标(全部-all、有坐标-yes、无坐标-no)
 		keyword: "", //设备标识关键字
-		showName: "EquipLocalName", //显示名称
+		showName: "localName", //显示名称
 		isIndeterminate: false, //全选样式显示
 		checkAll: false, //是否全选
 		checkedEquip: [], //选中的设备
@@ -138,10 +139,10 @@ export default {
           label: "无坐标"
 		}],
 		showNameOptions: [{
-          value: "EquipLocalName",
+          value: "localName",
           label: "显示设备本地名称"
         }, {
-          value: "EquipLocalID",
+          value: "localId",
           label: "显示设备本地编码"
         }, {
           value: "cADID",
@@ -431,8 +432,10 @@ export default {
         }
         if (this.floorData.infos && this.floorData.infos.height) {
             this.maxHeight = this.floorData.infos.height;
+            this.minHeight = -(this.floorData.infos.height);
         } else {
             this.maxHeight = 99000;
+            this.minHeight = -99000;
         }
 		if (this.floorData.outline && this.floorData.outline.length) {
 			this.floorOutline = this.floorData.outline;
@@ -505,7 +508,7 @@ export default {
       this.canvasLoading = false;
       if (res == 'error') {
         this.FloorMap = '';
-        this.$message.warning('数据解析异常');
+        console.log('数据解析异常');
         return;
       }
       this.view.scene = this.scene;

+ 1 - 15
src/views/ledger/facility/batchlink.vue

@@ -118,6 +118,7 @@ export default {
       let param = {
         category: fl.category || undefined,
         spaceIdList: fl.spaceIdList || undefined,
+        
         orders: "createTime desc",
         pageNumber: 1,
         pageSize: 1000
@@ -125,7 +126,6 @@ export default {
       equipCategoryProperty(param, res => {
         this.unlinkNumber = res.total
         this.linkNumber += res.content.length
-        // this.page.total = res.Total
         this.contentData = this.contentData.concat(res.content)
         if (res.total / (res.pageSize * res.pageNumber) > 1) {
           this.getTableData(res.pageNumber + 1)
@@ -153,20 +153,6 @@ export default {
       pageNum = pageNum ? pageNum : 1
       let param = {
         data: {
-          //   Cascade: [
-          //   {
-          //     Name: "equipCategory",
-          //     Projection: ["EquipCode", "EquipName"]
-          //   },
-          //   {
-          //     Name: "building",
-          //     Projection: [ "BuildLocalName", "BuildName", "BuildID" ]
-          //   },
-          //   {
-          //     Name: "floor",
-          //     Projection: [ "FloorLocalName", "FloorName", "FloorID" ]
-          //   }
-          // ],
           orders: "createTime desc, id asc",
           pageNumber: pageNum,
           pageSize: 1000

+ 10 - 8
src/views/ledger/facility/partsmanage/addparts/index.vue

@@ -1,19 +1,21 @@
 <template>
   <div id="deviceList">
     <el-row class="left">
-      <span style="float:right;">当前选择的部件类型:{{ category.Name }}</span>
+      <span style="float:left;">当前选择的部件类型:{{ category.name }}</span>
       <!-- <div style="width:200px;display:inline-block;text-align:left;color:gray;">
         <span>隐藏自动填充的信息</span>
         <el-checkbox v-model="isWatch" @change="getTableHeader"></el-checkbox>
       </div> -->
-      <el-select v-model="showType" @change="initTable" style="width:100px;margin-right:10px;vertical-align:bottom;">
-        <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value">
+      <span style="float: right;">
+          <el-select v-model="showType" @change="initTable" style="width:100px;margin-right:10px;vertical-align:bottom;">
+            <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value">
         </el-option>
-      </el-select>
-      <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
-      <span>个{{ category.Name }}</span>
-      <el-button @click="handleAddTableRow">增加</el-button>
+        </el-select>
+        <span>增加</span>
+        <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
+        <span>个{{ category.name }}</span>
+        <el-button @click="handleAddTableRow">增加</el-button>
+      </span>
     </el-row>
     <div class="tableBox">
       <div class="center middle_sty" style="flex:2;" v-show="tableData && !tableData.length">

+ 1 - 1
src/views/ledger/property/addproperty.vue

@@ -6,7 +6,7 @@
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
+      <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
       <span>个{{ category.name }}</span>
       <el-button @click="handleAddTableRow">增加</el-button>
     </el-row>

+ 281 - 214
src/views/ledger/property/details/index.vue

@@ -1,15 +1,27 @@
 <template>
   <div class="tableDisplay">
     <div class="header">
-      <el-button style="float:left;" size="small" type="default" icon="el-icon-back" @click="goBack"></el-button>
-      <span :title="`${name} - ${code}`" class="details-title"><b>{{ name }} - {{ code }}</b></span>
+      <el-button
+        style="float: left"
+        size="small"
+        type="default"
+        icon="el-icon-back"
+        @click="goBack"
+      ></el-button>
+      <span :title="`${name} - ${code}`" class="details-title"
+        ><b>{{ name }} - {{ code }}</b></span
+      >
     </div>
     <div class="content">
-      <el-scrollbar style="height:100%;">
+      <el-scrollbar style="height: 100%">
         <div class="content-scrollbar">
           <div class="content-left">
             <div class="content-keyPoint">
-              <exhibitionCrux :exhibitionCrux="exhibitionCrux" :type="type" @cruxSuccess="cruxSuccess"/>
+              <exhibitionCrux
+                :exhibitionCrux="exhibitionCrux"
+                :type="type"
+                @cruxSuccess="cruxSuccess"
+              />
             </div>
             <div class="content-showType">
               <selectRadio
@@ -19,42 +31,63 @@
             </div>
             <div class="content-point">
               <div class="content-point-left">
-                <exhibitionBaseInformation :exhibitionBaseInformation="exhibitionBaseInformation"/>
+                <exhibitionBaseInformation
+                  :exhibitionBaseInformation="exhibitionBaseInformation"
+                />
               </div>
             </div>
           </div>
           <div class="content-right">
             <div class="content-media">
-              <exhibitionImage :exhibitionImage="exhibitionImage" v-show="isShowImage"/>
-              <exhibitionVideo :exhibitionVideo="exhibitionVideo" v-show="isShowVideo"/>
-              <exhibitionFile :exhibitionFile="exhibitionFile" v-show="isShowFile"/>
+              <exhibitionImage
+                :exhibitionImage="exhibitionImage"
+                v-show="isShowImage"
+              />
+              <exhibitionVideo
+                :exhibitionVideo="exhibitionVideo"
+                v-show="isShowVideo"
+              />
+              <exhibitionFile
+                :exhibitionFile="exhibitionFile"
+                v-show="isShowFile"
+              />
             </div>
           </div>
         </div>
       </el-scrollbar>
     </div>
     <div class="footer">
-      <el-button-group style="float:right;margin:8px 10px 0 0">
+      <el-button-group style="float: right; margin: 8px 10px 0 0">
         <el-button
-          :disabled="list.findIndex(item => item.value == id) == 0"
+          :disabled="list.findIndex((item) => item.value == id) == 0"
           @click="handleClickPrev"
           size="mini"
-          icon="el-icon-arrow-left">
+          icon="el-icon-arrow-left"
+        >
           上一页
         </el-button>
-        <el-select size="mini" style="float:left;margin:0 10px;" v-model="id" @change="handleChangeExample"
-                   placeholder="请选择">
+        <el-select
+          size="mini"
+          style="float: left; margin: 0 10px"
+          v-model="id"
+          @change="handleChangeExample"
+          placeholder="请选择"
+        >
           <el-option
             v-for="item in list"
             :key="item.value"
             :label="item.label"
-            :value="item.value">
+            :value="item.value"
+          >
           </el-option>
         </el-select>
         <el-button
-          :disabled="list.findIndex(item => item.value == id) == list.length-1"
+          :disabled="
+            list.findIndex((item) => item.value == id) == list.length - 1
+          "
           @click="handleClickNext"
-          size="mini">
+          size="mini"
+        >
           下一页
           <i class="el-icon-arrow-right el-icon--right"></i>
         </el-button>
@@ -73,8 +106,7 @@ import selectRadio from "@/components/ledger/details/detail/selectRadio";
 import { getDataDictionary } from "@/api/dict";
 import { queryProperty } from "@/api/scan/request";
 import { mapGetters } from "vuex";
-import tools from "@/utils/scan/tools"
-
+import tools from "@/utils/scan/tools";
 
 export default {
   name: "propertyDetails",
@@ -84,7 +116,7 @@ export default {
     exhibitionImage,
     selectRadio,
     exhibitionCrux,
-    exhibitionVideo
+    exhibitionVideo,
   },
   created() {
     this.id = this.$route.query.equipId;
@@ -93,313 +125,345 @@ export default {
     this.type = this.$route.query.type;
     this.list = this.$route.query.data;
     this.getData();
-    console.log(this.$route.query,'query')
+    console.log(this.$route.query, "query");
   },
   computed: {
-    ...mapGetters("layout", ["projectId", "secret", "userId"])
+    ...mapGetters("layout", ["projectId", "secret", "userId"]),
   },
   data() {
     return {
-      id: '', //当前资产id
-      name: '', //当前资产本地名称
-      code: '', //当前资产的本地编码
-      type: '', //资产类型
+      id: "", //当前资产id
+      name: "", //当前资产本地名称
+      code: "", //当前资产的本地编码
+      type: "", //资产类型
       list: [], //资产列表
       pointData: [], //信息点数据
-      currentRadio: '1',//当前选中的select
+      currentRadio: "1", //当前选中的select
       selectRadio: {
-        information: '设备信息点',
-        initRadio: '1',
+        information: "设备信息点",
+        initRadio: "1",
         radioList: [
           {
-            value: '显示需采集信息点',
-            label: '1'
+            value: "显示需采集信息点",
+            label: "1",
           },
           {
-            value: '显示有值信息点',
-            label: '2'
+            value: "显示有值信息点",
+            label: "2",
           },
           {
-            value: '显示全部信息点',
-            label: '3'
-          }
-        ]
+            value: "显示全部信息点",
+            label: "3",
+          },
+        ],
       },
       exhibitionBaseInformation: {
-        information: {}
+        information: {},
       },
       exhibitionFile: {
-        title: '文件',
-        list: {}
+        title: "文件",
+        list: {},
       },
       exhibitionCrux: {
-        title: '关键信息点:',
+        title: "关键信息点:",
         cruxArray: [],
-        allMessage: [],//全部信息点
+        allMessage: [], //全部信息点
       },
       exhibitionImage: {
-        title: '图片',
+        title: "图片",
         list: {},
-        arr: []
+        arr: [],
       },
       exhibitionVideo: {
-        title: '视频',
-        list: {}
+        title: "视频",
+        list: {},
       },
-      instance: {},//实例信息处理
+      instance: {}, //实例信息处理
       isShowImage: true,
       isShowVideo: true,
       isShowFile: true,
-    }
+    };
   },
   methods: {
     deepCopy(obj) {
-      return JSON.parse(JSON.stringify(obj))
+      return JSON.parse(JSON.stringify(obj));
     },
     cruxSuccess() {
-      this.getData()
+      this.getData();
     },
     // 获取表头和实例数据
     getData() {
       let params1 = {
-        orders: "sort asc",
-        pageNumber: 1,
-        pageSize: 1000,
-        type: this.type
-      }, params2 = {
-        filters: `id='${this.id}'`,
-      };
+          orders: "sort asc",
+          pageNumber: 1,
+          pageSize: 1000,
+          type: this.type,
+        },
+        params2 = {
+          filters: `id='${this.id}'`,
+        };
       let promise1 = new Promise((resolve, reject) => {
-        getDataDictionary(params1, res => {
-          resolve(res)
-        })
-      })
+        getDataDictionary(params1, (res) => {
+          resolve(res);
+        });
+      });
       let promise2 = new Promise((resolve, reject) => {
-        queryProperty(params2, res => {
-          resolve(res)
-        })
-      })
-      Promise.all([promise1, promise2]).then(values => {
+        queryProperty(params2, (res) => {
+          resolve(res);
+        });
+      });
+      Promise.all([promise1, promise2]).then((values) => {
         this.pointData = values[0].content;
         this.exampleData = values[1].content[0];
-        this.name = this.exampleData.localName ? this.exampleData.localName : this.exampleData.name ? this.exampleData.name : '';
-        this.code = this.exampleData.localId ? this.exampleData.localId : '';
+        this.name = this.exampleData.localName
+          ? this.exampleData.localName
+          : this.exampleData.name
+          ? this.exampleData.name
+          : "";
+        this.code = this.exampleData.localId ? this.exampleData.localId : "";
         let obj = this.deepCopy(values[1].content[0]);
         obj = tools.flattenKeys(obj);
         for (let key in obj) {
           if (Array.isArray(obj[key]) && !obj[key].length) {
-            delete obj[key]
+            delete obj[key];
           }
         }
         this.instance = obj;
-        this.handleRadios(this.currentRadio)
-        this.handleEnclosure() //处理图片视频文件信息
-      })
+        this.handleRadios(this.currentRadio);
+        this.handleEnclosure(); //处理图片视频文件信息
+      });
     },
     handleEnclosure() {
       //图片文件处理,脱离radio控制
-      let isList = this.pointData
-      let isArr = []
-      isList.map(j => {
+      let isList = this.pointData;
+      let isArr = [];
+      isList.map((j) => {
         if (this.instance.hasOwnProperty(j.path)) {
-          j.value = this.instance[j.path]
-          return j
+          j.value = this.instance[j.path];
+          return j;
         }
-      })
-      isArr = isList.filter(k => k.value)
-      this.handlePicList(isArr)
-      this.handleFileList(isArr)
+      });
+      isArr = isList.filter((k) => k.value);
+      this.handlePicList(isArr);
+      this.handleFileList(isArr);
     },
-    handleRadios(val) { //判断radio的值显示关键信息,基本信息,图片,文件
-      let arr = []
+    handleRadios(val) {
+      //判断radio的值显示关键信息,基本信息,图片,文件
+      let arr = [];
       //关键信息点
-      this.exhibitionCrux.cruxArray = this.pointData.filter(i => i.keyWord)
-      this.exhibitionCrux.cruxArray.map(i => {
+      this.exhibitionCrux.cruxArray = this.pointData.filter((i) => i.keyWord);
+      this.exhibitionCrux.cruxArray.map((i) => {
         if (this.instance.hasOwnProperty(i.path)) {
           return {
             ...i,
-            value: this.instance[i.path]
-          }
+            value: this.instance[i.path],
+          };
         }
-      })
-      if (val == 1) { //需采集信息
-        arr = this.pointData.filter(i => i.visible)
+      });
+      if (val == 1) {
+        //需采集信息
+        arr = this.pointData.filter((i) => i.visible);
 
         //  图片和的处理
         // this.handlePicList(arr)
         // //  文件处理
         // this.handleFileList(arr)
-
-      } else if (val == 2) { //有值信息点
-        let list = this.pointData
-        list.map(j => {
+      } else if (val == 2) {
+        //有值信息点
+        let list = this.pointData;
+        list.map((j) => {
           if (this.instance.hasOwnProperty(j.path)) {
             return {
               ...j,
-              value: this.instance[j.path]
-            }
+              value: this.instance[j.path],
+            };
           }
-          arr = list.filter(k => k.value)
+          arr = list.filter((k) => k.value);
           // this.handlePicList(arr)
           // this.handleFileList(arr)
-        })
-      } else { //全部信息点
-        arr = this.pointData
+        });
+      } else {
+        //全部信息点
+        arr = this.pointData;
         // this.handlePicList(arr)
         // this.handleFileList(arr)
       }
-      this.displayData(arr)
+      this.displayData(arr);
     },
     handlePicList(arr) {
-      let picObject = {}
+      let picObject = {};
       //处理数据格式
-      arr.map(i => {
-        if (i.dataType == 'ATTACHMENT') {
+      arr.map((i) => {
+        if (i.dataType == "ATTACHMENT") {
           switch (i.path) {
-            case 'infos.drawing':
-            case 'infos.installPic':
-            case 'infos.installDrawing':
-            case 'infos.nameplate':
-            case 'infos.pic':
+            case "infos.drawing":
+            case "infos.installPic":
+            case "infos.installDrawing":
+            case "infos.nameplate":
+            case "infos.pic":
               if (this.instance.hasOwnProperty(i.path)) {
-                i.PicList = this.instance[i.path]
+                i.PicList = this.instance[i.path];
               }
               if (picObject[i.name]) {
-
               } else {
-                picObject[i.name] = []
+                picObject[i.name] = [];
               }
               picObject[i.name].push({
                 ...i,
-              })
+              });
               break;
-
           }
         }
-
-      })
+      });
       //展示图片
-      this.exhibitionImage.list = picObject
-      let isArray = [] //获取图片数组
+      this.exhibitionImage.list = picObject;
+      let isArray = []; //获取图片数组
       for (let i in picObject) {
         if (Array.isArray(picObject[i])) {
-          let list = picObject[i]
-          list.forEach(i => {
+          let list = picObject[i];
+          list.forEach((i) => {
             if (i.PicList) {
-              isArray.push(...i.PicList)
+              isArray.push(...i.PicList);
             }
-          })
+          });
         }
       }
-      this.exhibitionImage.arr = isArray
-      let video = isArray.filter(i => i.Type == 'video' && i.type == 'video')
-      this.exhibitionVideo.list = video
+      this.exhibitionImage.arr = isArray;
+      let video = isArray.filter((i) => i.Type == "video" && i.type == "video");
+      this.exhibitionVideo.list = video;
       //判断是否显示图片组件
-      this.isShowImage = isArray.length ? true : false
+      this.isShowImage = isArray.length ? true : false;
       //判断是否显示video组件
-      this.isShowVideo = video.length ? true : false
+      this.isShowVideo = video.length ? true : false;
     },
     handleFileList(arr) {
-      let picObject = {}
+      let picObject = {};
       //处理数据格式
-      arr.map(i => {
-        if (i.dataType == 'ATTACHMENT') {
+      arr.map((i) => {
+        if (i.dataType == "ATTACHMENT") {
           switch (i.path) {
-            case 'infos.insuranceFile':
-            case 'infos.archive':
-            case 'infos.checkReport':
+            case "infos.insuranceFile":
+            case "infos.archive":
+            case "infos.checkReport":
               if (this.instance.hasOwnProperty(i.path)) {
-                i.fileList = this.instance[i.path]
+                i.fileList = this.instance[i.path];
               }
               if (picObject[i.name]) {
-
               } else {
-                picObject[i.name] = []
+                picObject[i.name] = [];
               }
 
               picObject[i.name].push({
                 ...i,
-              })
-              break
+              });
+              break;
           }
         }
-
-      })
+      });
       //展示文件
-      this.exhibitionFile.list = picObject
-      let isArray = [] //获取文件数组
+      this.exhibitionFile.list = picObject;
+      let isArray = []; //获取文件数组
       for (let i in picObject) {
         if (Array.isArray(picObject[i])) {
-          let list = picObject[i]
-          list.forEach(i => {
+          let list = picObject[i];
+          list.forEach((i) => {
             if (i.fileList) {
-              isArray.push(...i.fileList)
+              isArray.push(...i.fileList);
             }
-          })
+          });
         }
       }
       //判断是否显示文件组件
-      this.isShowFile = isArray.length ? true : false
+      this.isShowFile = isArray.length ? true : false;
     },
-    changeRadio(val) { //1,需采集,2,有值,3,全部
-      this.handleRadios(val)
-      this.currentRadio = val
+    changeRadio(val) {
+      //1,需采集,2,有值,3,全部
+      this.handleRadios(val);
+      this.currentRadio = val;
     },
     formatDate(str) {
       if (str) {
-        if (str.includes('-')) {
-          return str
+        if (str.includes("-")) {
+          return str;
         } else {
           if (str.length > 8) {
-            return str.substr(0, 4) + "-" + str.substr(4, 2) + "-" + str.substr(6, 2) + " " + str.substr(8, 2) + ":" + str.substr(10, 2) + ":" + str.substr(12, 2)
+            return (
+              str.substr(0, 4) +
+              "-" +
+              str.substr(4, 2) +
+              "-" +
+              str.substr(6, 2) +
+              " " +
+              str.substr(8, 2) +
+              ":" +
+              str.substr(10, 2) +
+              ":" +
+              str.substr(12, 2)
+            );
           } else {
-            return str.substr(0, 4) + "-" + str.substr(4, 2) + "-" + str.substr(6, 2) + " " + str.substr(8, 2)
+            return (
+              str.substr(0, 4) +
+              "-" +
+              str.substr(4, 2) +
+              "-" +
+              str.substr(6, 2) +
+              " " +
+              str.substr(8, 2)
+            );
           }
         }
       } else {
-        return '--'
+        return "--";
       }
     },
-    displayData(arr) {//对数据进行处理传给组件展示
-      const result = {}
-      arr.forEach(i => {
+    displayData(arr) {
+      //对数据进行处理传给组件展示
+      const result = {};
+      arr.forEach((i) => {
         if (this.instance.hasOwnProperty(i.path) && this.currentRadio != 2) {
-          i.value = this.instance[i.path]
+          i.value = this.instance[i.path];
         }
-        if (i.dataType == 'DATETIME') {
+        if (i.dataType == "DATETIME") {
           if (this.instance.hasOwnProperty(i.path)) {
-            let time = this.instance[i.path]
-            i.value = this.formatDate(time)
+            let time = this.instance[i.path];
+            i.value = this.formatDate(time);
           }
         }
         if (i.dataSource && i.dataSource.length) {
           // let source = JSON.parse(i.DataSource)
-          let source = i.dataSource
+          let source = i.dataSource;
           //判断输入类型
-          if (i.dataType == 'ENUM') {
-            let d1l = tools.formatDataSource(i.dataSource)
-            d1l.forEach(k => {
+          if (i.dataType == "ENUM") {
+            let d1l = tools.formatDataSource(i.dataSource);
+            d1l.forEach((k) => {
               if (k.code == this.instance[i.path]) {
-                i.value = k.name
+                i.value = k.name;
               }
-            })
-          } else if (i.dataType == 'MENUM' || i.dataType == 'DATETIME') {
+            });
+          } else if (i.dataType == "MENUM" || i.dataType == "DATETIME") {
             if (this.instance.hasOwnProperty(i.path)) {
               if (!Array.isArray(this.instance[i.path])) {
-                let transArray = this.instance[i.path].split(',')
-                i.value = source.filter(item => transArray.includes(item.code)).map(item => item.name).join(',')
+                let transArray = this.instance[i.path].split(",");
+                i.value = source
+                  .filter((item) => transArray.includes(item.code))
+                  .map((item) => item.name)
+                  .join(",");
               }
             }
           }
-          source.forEach(j => {
+          source.forEach((j) => {
             if (j.code == this.instance[i.path]) {
-              i.value = j.name
+              i.value = j.name;
             }
-          })
+          });
         }
-        if (i.category == 'STATIC') {
-          if (result[`${i.firstName}${i.secondName ? '/' + i.secondName : ''}`]) {
-            result[`${i.firstName}${i.secondName ? '/' + i.secondName : ''}`].paths.push({
+        if (i.category == "STATIC") {
+          if (
+            result[`${i.firstName}${i.secondName ? "/" + i.secondName : ""}`]
+          ) {
+            result[
+              `${i.firstName}${i.secondName ? "/" + i.secondName : ""}`
+            ].paths.push({
               Path: i.Path,
               InfoPointName: i.name,
               InfoPointCode: i.code,
@@ -415,69 +479,73 @@ export default {
               id: i.id,
               groupCode: i.groupCode,
               type: i.type,
-              dataType: i.dataType
-            })
+              dataType: i.dataType,
+            });
           } else {
-            result[`${i.firstName}${i.secondName ? '/' + i.secondName : ''}`] = {
-              paths: [{
-                Path: i.path,
-                InfoPointName: i.name,
-                InfoPointCode: i.code,
-                Value: i.value,
-                Visible: i.visible,
-                KeyWord: i.keyWord,
-                data: i.data,
-                receivetime: i.receivetime,
-                error: i.error,
-                Unit: i.unit,
-                FirstName: i.firstName,
-                classCode: i.classCode,
-                id: i.id,
-                groupCode: i.groupCode,
-                type: i.type,
-                dataType: i.dataType
-              }]
-            }
+            result[
+              `${i.firstName}${i.secondName ? "/" + i.secondName : ""}`
+            ] = {
+              paths: [
+                {
+                  Path: i.path,
+                  InfoPointName: i.name,
+                  InfoPointCode: i.code,
+                  Value: i.value,
+                  Visible: i.visible,
+                  KeyWord: i.keyWord,
+                  data: i.data,
+                  receivetime: i.receivetime,
+                  error: i.error,
+                  Unit: i.unit,
+                  FirstName: i.firstName,
+                  classCode: i.classCode,
+                  id: i.id,
+                  groupCode: i.groupCode,
+                  type: i.type,
+                  dataType: i.dataType,
+                },
+              ],
+            };
           }
         }
-      })
+      });
 
-      this.exhibitionBaseInformation.information = result
-      this.exhibitionCrux.allMessage = result
+      this.exhibitionBaseInformation.information = result;
+      this.exhibitionCrux.allMessage = result;
     },
     goBack() {
       this.$router.push({
-        name: 'propertyLedger',
+        name: "propertyLedger",
         params: {
-          Family: this.type
-        }
-      })
+          Family: this.type,
+        },
+      });
     },
     // 切换实例
     handleChangeExample() {
-      this.selectRadio.initRadio = '1';
-      this.currentRadio = '1';
+      this.selectRadio.initRadio = "1";
+      this.currentRadio = "1";
       this.getData();
     },
     // 切换上一个实例
     handleClickPrev() {
-      let index = this.list.findIndex(item => item.value == this.id);
+      let index = this.list.findIndex((item) => item.value == this.id);
       this.id = this.list[index - 1].value;
       this.handleChangeExample();
     },
     // 切换下一个实例
     handleClickNext() {
-      let index = this.list.findIndex(item => item.value == this.id);
+      let index = this.list.findIndex((item) => item.value == this.id);
       this.id = this.list[index + 1].value;
       this.handleChangeExample();
     },
   },
   watch: {
     projectId() {
-      this.$router.push({ path: "/ledger/property" })
-    }
-  }
-}
+      this.$router.push({ path: "/ledger/property" });
+    },
+  },
+};
 </script>
 
 <style scoped lang="less">
@@ -569,5 +637,4 @@ export default {
 /deep/ .el-scrollbar__wrap {
   overflow-x: hidden;
 }
-
 </style>

+ 1 - 1
src/views/ledger/rentlist/manageTenantZone.vue

@@ -402,7 +402,7 @@ export default {
         this.canvasLoading = true;
         this.scene.loadUrl(`/image-service/common/file_get?systemId=revit&key=${floorMap}`).then(res => {
           if (res == 'error') {
-            this.$message.warning('数据解析异常');
+            console.log('数据解析异常');
             this.hasMap = false;
             this.canvasLoading = false;
             return;

+ 1 - 1
src/views/ledger/rentlist/rentadd/index.vue

@@ -6,7 +6,7 @@
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
+      <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
       <span>个租户</span>
       <el-button @click="handleAddTableRow">增加</el-button>
     </el-row>

+ 67 - 65
src/views/ledger/report/index.vue

@@ -108,7 +108,7 @@
           竖井<i>{{ `(${shaftCount ? shaftCount : '0'})` }}</i></span>
         <div class="data-show" v-loading="isLoading" v-if="shaft.length">
           <div class="show-content" v-for="(item,index) in shaft" :key="index">
-            <datafan :id="'origin-datafan' + index" :renderData="item" v-if="!item.needCountT"></datafan>
+            <datafan :id="'origin-datafan' + index" :renderData="item" v-if="item.needCountT==undefined"></datafan>
             <data-origin :id="'origin-shaft' + index" :renderData="item" v-else></data-origin>
           </div>
         </div>
@@ -139,7 +139,8 @@ import {
   queryTenantCompletion,
   queryZoneCount,
   ShaftRelationBusinessSpace,
-  systemInfoPoint
+  systemInfoPoint,
+  gatherInfoPoint
 } from "@/api/scan/request";
 import { getDataDictionary } from "@/api/dict";
 import dataOrigin from "@/components/ledger/report/dataorigin";
@@ -259,7 +260,7 @@ export default {
     this.getFunctionType();
     this.getStatisticsCount();
     this.getEquipCount();
-    // this.gatherInfoPoints();
+    this.gatherInfoPoints();
     this.systemInfoPoints();
     this.infoPoints();
     this.getAssetsCount();
@@ -319,14 +320,14 @@ export default {
     },
     getShaftFunType() {// 获取数据功能类型
       getCenoteType(this.param, res => {
-        this.ShaftFunType = res.Content;
+        this.ShaftFunType = res.content;
         this.getShaftCount();
       })
     },
     shaftFunTypeTranstion(item) {// 竖井功能类型转换
       this.ShaftFunType.forEach((it, index) => {
-        if (item.Name === it.Id) {
-          item.Name = it.Name;
+        if (item.name === it.id) {
+          item.name = it.name;
         }
       })
     },
@@ -358,40 +359,40 @@ export default {
       })
     },
     // 统计设备信息点与需采集数据占比
-    // gatherInfoPoints() {
-    //   gatherInfoPoint(this.params, res => {
-    //     let arr = JSON.parse(JSON.stringify(res.Content))
-    //     arr.forEach(i => {
-    //       this.$set(this.deviceMessageData, 0, {
-    //         title: '统计设备信息点与需采集数据占比',
-    //         tips: '统计设备信息点与需采集数据占比',
-    //         contentValueO: '总数:',
-    //         contentValueT: '标准静态:',
-    //         needCountO: i.gatherInfoPointCounts,
-    //         needCountT: i.gatherStaticInfoPointCounts,
-    //         text: this.toPercent(i.gatherStaticInfoPointCounts / i.gatherInfoPointCounts),
-    //         val: this.static
-    //       })
-    //       this.$set(this.deviceMessageData, 1, {
-    //         contentValueO: '总数:',
-    //         contentValueT: '标准动态:',
-    //         needCountO: i.gatherInfoPointCounts,
-    //         needCountT: i.gatherDynamicInfoPointCounts,
-    //         text: this.toPercent(i.gatherDynamicInfoPointCounts / i.gatherInfoPointCounts),
-    //         val: this.dynamic
-    //       })
-    //
-    //       this.$set(this.deviceMessageData, 2, {
-    //         contentValueO: '总数:',
-    //         contentValueT: '自定义:',
-    //         needCountO: i.gatherInfoPointCounts,
-    //         needCountT: i.gatherCustomInfoPointCounts,
-    //         text: this.toPercent(i.gatherCustomInfoPointCounts / i.gatherInfoPointCounts),
-    //         val: this.custom
-    //       })
-    //     })
-    //   })
-    // },
+    gatherInfoPoints() {
+      gatherInfoPoint(this.params, res => {
+        let arr = JSON.parse(JSON.stringify(res.content))
+        arr.forEach(i => {
+          this.$set(this.deviceMessageData, 0, {
+            title: '统计设备信息点与需采集数据占比',
+            tips: '统计设备信息点与需采集数据占比',
+            contentValueO: '总数:',
+            contentValueT: '标准静态:',
+            needCountO: i.gatherInfoPointCounts,
+            needCountT: i.gatherStaticInfoPointCounts,
+            text: this.toPercent(i.gatherStaticInfoPointCounts / i.gatherInfoPointCounts),
+            val: this.static
+          })
+          this.$set(this.deviceMessageData, 1, {
+            contentValueO: '总数:',
+            contentValueT: '标准动态:',
+            needCountO: i.gatherInfoPointCounts,
+            needCountT: i.gatherDynamicInfoPointCounts,
+            text: this.toPercent(i.gatherDynamicInfoPointCounts / i.gatherInfoPointCounts),
+            val: this.dynamic
+          })
+    
+          // this.$set(this.deviceMessageData, 2, {
+          //   contentValueO: '总数:',
+          //   contentValueT: '自定义:',
+          //   needCountO: i.gatherInfoPointCounts,
+          //   needCountT: i.gatherCustomInfoPointCounts,
+          //   text: this.toPercent(i.gatherCustomInfoPointCounts / i.gatherInfoPointCounts),
+          //   val: this.custom
+          // })
+        })
+      })
+    },
 
     // 统计系统信息点与需采集数据占比
     systemInfoPoints() {
@@ -416,14 +417,14 @@ export default {
             text: this.toPercent(i.gatherDynamicInfoPointCounts / i.gatherInfoPointCounts),
             val: this.dynamic
           })
-          this.$set(this.sysMessageData, 2, {
-            contentValueO: '总数:',
-            contentValueT: '自定义:',
-            needCountO: i.gatherInfoPointCounts,
-            needCountT: i.gatherCustomInfoPointCounts,
-            text: this.toPercent(i.gatherCustomInfoPointCounts / i.gatherInfoPointCounts),
-            val: this.custom
-          })
+          // this.$set(this.sysMessageData, 2, {
+          //   contentValueO: '总数:',
+          //   contentValueT: '自定义:',
+          //   needCountO: i.gatherInfoPointCounts,
+          //   needCountT: i.gatherCustomInfoPointCounts,
+          //   text: this.toPercent(i.gatherCustomInfoPointCounts / i.gatherInfoPointCounts),
+          //   val: this.custom
+          // })
         })
 
       })
@@ -452,20 +453,20 @@ export default {
             text: this.toPercent(i.dynamicInfoPoint / i.dynamicInfoPointCounts),
             val: this.dynamic
           })
-          let obj = i.customInfoPointCounts ? {} : ''
-          if (obj) {
-            obj = {
-              contentValueO: '总数:',
-              contentValueT: '自定义:',
-              needCountO: i.customInfoPointCounts,
-              needCountT: i.customInfoPoint,
-              text: this.toPercent(i.customInfoPoint / i.customInfoPointCounts),
-              val: this.custom
-            }
-          }
-          this.$set(this.deviceMessageTotal, 2, {
-            ...obj
-          })
+          // let obj = i.customInfoPointCounts ? {} : ''
+          // if (obj) {
+          //   obj = {
+          //     contentValueO: '总数:',
+          //     contentValueT: '自定义:',
+          //     needCountO: i.customInfoPointCounts,
+          //     needCountT: i.customInfoPoint,
+          //     text: this.toPercent(i.customInfoPoint / i.customInfoPointCounts),
+          //     val: this.custom
+          //   }
+          // }
+          // this.$set(this.deviceMessageTotal, 2, {
+          //   ...obj
+          // })
 
 
         })
@@ -721,7 +722,7 @@ export default {
       this.shaft = [];
       // 获取竖井总数
       queryCenoteCount(this.params, res => {
-        this.shaftCount = res.Count;
+        this.shaftCount = res.count;
       })
 
       let promise1 = new Promise((resolve) => {
@@ -764,13 +765,14 @@ export default {
           needCountT: this.shaftCount - res1.count,
           text: text
         })
+        console.log(this.shaft,'88888888888');
       })
     }
   },
   watch: {
     projectId(n, o) {
       this.params = {
-        ProjectId: this.projectId
+        projectId: this.projectId
       }
       this.getFunctionType();
       this.getStatisticsCount();
@@ -780,7 +782,7 @@ export default {
       this.getSystemCount();
       this.getTenantCount();
       this.getShaftFunType();
-      // this.gatherInfoPoints();
+      this.gatherInfoPoints();
       this.systemInfoPoints();
       this.infoPoints();
     }

+ 5 - 2
src/views/ledger/spacelist/spaceadd/index.vue

@@ -6,7 +6,7 @@
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
+      <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
       <span>个{{ space.spaceName }}</span>
       <el-button @click="handleAddTableRow">增加</el-button>
     </el-row>
@@ -22,7 +22,7 @@
       </div>
     </div>
     <el-row class="center">
-      <el-button type="primary" size="medium" @click.prevent.once="handleCreateTableData" class="create_button">创建业务空间</el-button>
+      <el-button type="primary" size="medium" @click="handleCreateTableData" :disabled="createDisable" class="create_button">创建业务空间</el-button>
     </el-row>
 
     <!--二维码弹窗 -->
@@ -108,6 +108,7 @@ export default {
       imgsArr: [], //临时保存的图片key数组
       showType: this.$route.query.showType,
       buildFloorData: [],
+      createDisable: false
     };
   },
   computed: {
@@ -160,6 +161,7 @@ export default {
     },
     // 创建业务空间数据
     async handleCreateTableData() {
+      this.createDisable = true;
       let newData = this.tableData.filter(item => {
         let keys = Object.keys(item);
         keys.map(key => {
@@ -201,6 +203,7 @@ export default {
         content: newData
       }
       zoneCreate(param, res => {
+        this.createDisable = false;
         this.$message.success('创建成功')
         session.remove("spaceAddData")
         this.$router.push({

+ 19 - 17
src/views/ledger/system/addsystem.vue

@@ -1,13 +1,13 @@
 <template>
   <div id="deviceList">
     <el-row class="right">
-      <span style="float:left;">当前选择的系统类型:{{ category.CategoryName }}</span>
+      <span style="float:left;">当前选择的系统类型:{{ category.categoryName }}</span>
       <el-select v-model="showType" @change="initTable" style="width:125px;margin-right:10px;vertical-align:bottom;">
         <el-option v-for="item in showTypes" :key="item.value" :label="item.label" :value="item.value"></el-option>
       </el-select>
       <span>增加</span>
-      <el-input v-model="addNum" style="width:50px;" size="small"></el-input>
-      <span>个{{ category.CategoryName }}</span>
+      <el-input-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
+      <span>个{{ category.categoryName }}</span>
       <el-button @click="handleAddTableRow">增加</el-button>
     </el-row>
     <div class="tableBox">
@@ -137,7 +137,7 @@ export default {
         orders: "sort asc, name desc",
         pageNumber: 1,
         pageSize: 1000,
-        type: this.category.Category
+        type: this.category.category
       };
       await getDataDictionary(params, res => {
         this.tableHeader = res.content;
@@ -174,7 +174,7 @@ export default {
         if (!item.localName) {
           flag = true;
         }
-        item.classCode = this.category.Category
+        item.classCode = this.category.category
       })
       if (flag) {
         this.$message.info("存在系统的本地名称为空,请检查")
@@ -186,14 +186,16 @@ export default {
         session.remove("systemAddData")
         this.$router.push({
           name: "systemlist",
-          params: { SysType: this.category.Category }
+          params: { SysType: this.category.category }
         });
       })
     },
     // 删除表格行
-    handleDeleteTableRow() {
-      this.$message.success("删除成功");
-      this.formaTableData();
+    handleDeleteTableRow(a,b,c,d) {
+      if (d && d === 'ContextMenu.removeRow') {
+				this.$message.success("删除成功");
+      	this.formaTableData();
+			}
     },
     // 添加行
     handleAddTableRow() {
@@ -339,14 +341,14 @@ export default {
           break;
         //设备二维码图片
         // case 'EquipQRCode':
-        case "defaultQRCode":
-          this.qrcodeUrl = this.tableData[row.row].EquipQRCode;
-          if (!!this.qrcodeUrl) {
-            this.myDialog.qrcode = true;
-          } else {
-            this.$message("此设备没有设备二维码");
-          }
-          break;
+        // case "defaultQRCode":
+        //   this.qrcodeUrl = this.tableData[row.row].EquipQRCode;
+        //   if (!!this.qrcodeUrl) {
+        //     this.myDialog.qrcode = true;
+        //   } else {
+        //     this.$message("此设备没有设备二维码");
+        //   }
+        //   break;
         //关联设备数量
         case 'count':
           if (!this.onlyRead) {

+ 38 - 26
src/views/model/file/index.vue

@@ -156,34 +156,42 @@ export default {
     },
     //删除模型文件夹
     removeFolder() {
-      this.$alert(`确定要删除文件夹 <${this.currentFolderName}> 吗?`, "提示", {
-        confirmButtonText: "确定",
-        callback: action => {
-          if (action == "confirm") {
-            let params = {
-              Id: this.currentFolderId,
-              ProjectId: this.projectId
-            };
-            request.deleteModel(params, res => {
-              this.$message({
-                message: "删除成功!",
-                type: "success"
-              });
-              this.queryModel();
-            });
-          } else {
-            this.$message({
-              type: "info",
-              message: `取消操作`
-            });
-          }
-        }
-      });
+			if (this.currentFolderId) {
+				this.$alert(`确定要删除文件夹 <${this.currentFolderName}> 吗?`, "提示", {
+					confirmButtonText: "确定",
+					callback: action => {
+						if (action == "confirm") {
+							let params = {
+								Id: this.currentFolderId,
+								ProjectId: this.projectId
+							};
+							request.deleteModel(params, res => {
+								this.$message({
+									message: "删除成功!",
+									type: "success"
+								});
+								this.queryModel();
+							});
+						} else {
+							this.$message({
+								type: "info",
+								message: `取消操作`
+							});
+						}
+					}
+				});
+			} else {
+				this.$message.info("请选择模型文件夹!")
+			}
     },
     //编辑文件夹
     editFolder() {
-      this.folderName = this.currentFolderName;
-      this.changeFolderNameVisible = true;
+			if (this.currentFolderId) {
+				this.folderName = this.currentFolderName;
+      	this.changeFolderNameVisible = true;
+			} else {
+				this.$message.info("请选择模型文件夹!")
+			}
     },
     // 查询所有文件夹模型
     queryModel() {
@@ -294,7 +302,7 @@ export default {
         ProjectId: this.projectId,
         ReplaceReason: 0,
         Size: data.file.size,
-        UserName: this.userInfo.username,
+        UserName: this.userInfo.userName,
         UserId: this.userInfo.userId
       };
       //  替换模型文件
@@ -337,6 +345,10 @@ export default {
   },
   watch: {
     projectId() {
+      this.choiceIndex = 0;
+      this.currentFolderId = "";
+      this.currentFolderName = "";
+      this.currentFloorModelId = "";
       this.queryModel()
     }
   },

+ 1 - 1
src/views/model/report/deleted.vue

@@ -239,7 +239,7 @@ export default {
         that.canvasLoading = false;
         if (res == 'error') {
           this.FloorMap = '';
-          this.$message.warning('数据解析异常');
+          console.log('数据解析异常');
           return;
         }
         let modelID = can[this.i].dataset.modelid

+ 1 - 1
src/views/model/report/index.vue

@@ -251,7 +251,7 @@ export default {
         this.tableList.forEach(item => {
           this.modelFloor.forEach(it => {
             if (item.Code === it.FolderId) {
-              if (!item.DataCheckResult) {
+              if (!it.DataCheckResult) {
                 item.flag = false;
               }
             }

+ 1 - 1
src/views/model/report/supplement.vue

@@ -215,7 +215,7 @@ export default {
         that.canvasLoading = false;
         if (res == 'error') {
           this.FloorMap = '';
-          this.$message.warning('数据解析异常');
+          console.log('数据解析异常');
           return;
         }
         let modelID = can[this.i].dataset.modelid

+ 0 - 1
src/views/ready/buildfloor/drawGraphy/checkGraphy.vue

@@ -164,7 +164,6 @@ export default {
             label: t.FloorName,
           }
         })
-        console.log(tempArr, 'tempArr')
         this.pushChild(this.options, tempArr, val[0])
       })
     },

+ 1 - 1
src/views/ready/buildfloor/drawGraphy/drawFloor.vue

@@ -110,7 +110,7 @@ export default {
       this.canvasLoading = false;
       if (res == 'error') {
         this.FloorMap = '';
-        this.$message.warning('数据解析异常');
+        console.log('数据解析异常');
         return;
       }
       if (res.Result == 'failure') {

+ 1 - 1
src/views/relation/overview/detail/index.vue

@@ -188,7 +188,7 @@ export default {
         this.canvasLoading = false;
         if (res == 'error') {
           this.FloorMap = '';
-          this.$message.warning('数据解析异常');
+          console.log('数据解析异常');
           return;
         }
         this.view.scene = this.scene;

+ 1 - 1
src/views/screen/splitscreen/spaceledger/index.vue

@@ -277,7 +277,7 @@ export default {
         that.canvasLoading = false;
         if (res == 'error') {
           this.FloorMap = '';
-          this.$message.warning('数据解析异常');
+          console.log('数据解析异常');
           return;
         }
         that.view.scene = that.scene;