Jelajahi Sumber

Merge branch 'dataType' of git.sagacloud.cn:web/adm into dataType

zhangyu 4 tahun lalu
induk
melakukan
a50166023a
30 mengubah file dengan 282 tambahan dan 228 penghapusan
  1. 4 3
      config/index.js
  2. 2 2
      config/prod.env.js
  3. 1 1
      src/components/business_space/newGraphy/graphy.vue
  4. 6 0
      src/components/dialogs/list/filesDialog.vue
  5. 2 2
      src/components/ledger/details/detail/exhibitionBaseInformation.vue
  6. 13 37
      src/components/ledger/handsontables/device.vue
  7. 7 5
      src/components/ledger/handsontables/system.vue
  8. 1 1
      src/components/ledger/lib/bimDialog.vue
  9. 4 2
      src/components/ledger/lib/cenoteGraphy.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/changeFolderName.vue
  14. 2 2
      src/components/relation/overview/CardList.vue
  15. 7 69
      src/components/relation/overview/Modal/RelationMaintain.vue
  16. 16 4
      src/components/relation/relationShip/Modal/addRelationShip.vue
  17. 1 1
      src/framework/components/messagesever/msgAllDetails.vue
  18. 1 1
      src/framework/layout/layout-store.js
  19. 5 0
      src/framework/layout/project.js
  20. 1 1
      src/views/data_admin/buildGraphy/graphyCanvas.vue
  21. 8 2
      src/views/ledger/facility/addfacility.vue
  22. 1 1
      src/views/ledger/facility/batchPoint.vue
  23. 15 3
      src/views/ledger/property/details/index.vue
  24. 1 1
      src/views/ledger/rentlist/manageTenantZone.vue
  25. 5 5
      src/views/ledger/system/addsystem.vue
  26. 1 1
      src/views/model/report/deleted.vue
  27. 1 1
      src/views/model/report/supplement.vue
  28. 1 1
      src/views/ready/buildfloor/drawGraphy/drawFloor.vue
  29. 1 1
      src/views/relation/overview/detail/index.vue
  30. 1 1
      src/views/screen/splitscreen/spaceledger/index.vue

+ 4 - 3
config/index.js

@@ -210,8 +210,9 @@ module.exports = {
         }
       },
       '/api': {
-        target: 'http://192.168.64.17:28888/',
+        // target: 'http://192.168.64.17:28888/',
         // target: 'http://192.168.64.14:28888/',
+        target: 'http://39.102.40.239:8080/',
         changeOrigin: true,
         pathRewrite: {
           "^/api": "/"
@@ -478,8 +479,8 @@ module.exports = {
     // Paths
     assetsRoot: path.resolve(__dirname, '../dist'),
     assetsSubDirectory: 'static',
-    // assetsPublicPath: '/adm/',// 39 配置
-    assetsPublicPath: '/',
+    assetsPublicPath: '/adm/',// 39 配置
+    // assetsPublicPath: '/',
 
 
     /**

+ 2 - 2
config/prod.env.js

@@ -1,9 +1,9 @@
 'use strict'
 module.exports = {
   NODE_ENV: '"production"',
-  BASE_URL: '"http://192.168.64.14"', //测试iframe地址
+  // BASE_URL: '"http://192.168.64.14"', //测试iframe地址
   // BASE_URL: '"http://192.168.64.18"', //测试iframe地址
-//   BASE_URL: '"http://39.102.40.239"', //测试iframe地址
+  BASE_URL: '"http://39.102.40.239"', //测试iframe地址
   SSO_SERVER: '"http://mbi.sagacloud.cn"', //测试环境
   // MQTT_SERVICE: '"ws://39.102.40.239:61614/stomp/"' //MQ测试环境地址
   MQTT_SERVICE: '"ws://192.168.64.14:61614/stomp/"' //MQ测试环境地址

+ 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;

+ 6 - 0
src/components/dialogs/list/filesDialog.vue

@@ -121,6 +121,12 @@ export default {
           case 'infos.supplierContract': //供应合同
             this.$emit("changeFile", info, this.firmDataType, file)
             break
+          case 'infos.designIDGraph': //安装图纸
+            this.$emit("changeFile", info, this.firmDataType, file)
+            break
+          case 'infos.fanCharacterCurve': //供应合同
+            this.$emit("changeFile", info, this.firmDataType, file)
+            break
         }
       } else {
         this.$emit("changeFile", file, this.firmDataType)

+ 2 - 2
src/components/ledger/details/detail/exhibitionBaseInformation.vue

@@ -34,10 +34,10 @@
           trigger="hover">
           <p style="border-bottom: 1px solid #eee;padding:2px 0 4px 0;'">{{ value.InfoPointName }}</p>
           <div v-for="(pic,index) in value.Value">
-            <div>图纸名称:{{ pic.name }}
+            <div>图纸名称:{{ pic.name}}
               <a
                 style="cursor: pointer;color: #409eff"
-                :href="`/image-service/common/file_get/${pic.key}?systemId=dataPlatform`"
+                :href="`/image-service/common/image_get?systemId=dataPlatform&key=${pic.key}`"
                 :download="pic.name"
               >下载</a>
             </div>

+ 13 - 37
src/components/ledger/handsontables/device.vue

@@ -42,7 +42,7 @@
          v-show="!mess.deviceId && (!tableData || !tableData.length)">
       <p>
         <i class="icon-wushuju iconfont"></i>
-        请选择设备
+        请选择设备类别
       </p>
     </div>
 
@@ -958,6 +958,8 @@ export default {
       arr.map(i => {
         if (i.path == val) {
           enclosure = i.value;
+        } else {
+          enclosure = []
         }
       });
       return enclosure;
@@ -967,123 +969,99 @@ export default {
       switch (val) {
         case "infos.insuranceFile": //保险文件
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.archive": //设备文档
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.checkReport": //安装质检报告
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.maintainManual": //维修保养手册
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.approachingAcceptance": //进场验收单
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.acceptanceReport": //验收报告
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.operationManual": //操作说明书
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.originalCertificate": //原厂证明
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.testReport": //检测报告
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.productCertification": //产品合格证
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.installInstruction": //安装说明书
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.drawing": //设备图纸
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.installDrawing": //安装图纸
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.supplierContract": //供应合同
           this.filesArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadFiles = true;
           break;
         case "infos.installPic"://安装照片
           this.imgsArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadImgs = true;
           break;
         case "infos.nameplate"://设备铭牌照片
           this.imgsArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.uploadImgs = true;
           break;
         case "infos.pic"://设备照片
           this.picsArr = this.forValue(this.newEnclosure, val)
-            ? this.forValue(this.newEnclosure, val)
-            : [];
           this.infoType = val;
           this.myDialog.pic = true;
           break;
+        case "infos.designIDGraph": //设计工况空调机组处理过程焓湿图(F2)
+          this.filesArr = this.forValue(this.newEnclosure, val)
+          this.infoType = val;
+          this.myDialog.uploadFiles = true;
+          break;
+        case "infos.fanCharacterCurve": //风机性能曲线(F1)
+          this.filesArr = this.forValue(this.newEnclosure, val)
+          this.infoType = val;
+          this.myDialog.uploadFiles = true;
+          break;
       }
     },
     getInfors(infos, row, el) {
@@ -1310,7 +1288,6 @@ export default {
     //上传文件弹窗触发事件
     fileChange(keys, type, file) {
       if (type === "dialog") {
-        // this.information = keys
         this.newEnclosure.forEach(i => {
           if (i.path == keys) {
             this.$set(i, "value", file);
@@ -1324,7 +1301,6 @@ export default {
     //上传图片弹窗触发事件
     imgChange(keys, type, file) {
       if (type === "dialog") {
-        // this.information = keys
         this.newEnclosure.forEach(i => {
           if (i.path == keys) {
             this.$set(i, "value", file);

+ 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();
     },
     //编辑

+ 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
         	v-show="!readOnly"
           class="avatar-uploader"
@@ -93,7 +93,8 @@ export default {
       iframeSrc: "",
       dialog: {
         details: false
-      }
+      },
+      uploading: false
     };
   },
   created() {
@@ -179,6 +180,7 @@ export default {
         } else {
           // document.getElementById("bytesRead").textContent = file.size;
           // 构造 XMLHttpRequest 对象,发送文件 Binary 数据
+          vm.uploading = true;
           var xhr = new XMLHttpRequest();
           xhr.open(
             /* method */
@@ -192,6 +194,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/changeFolderName.vue

@@ -66,7 +66,7 @@ export default {
               { Name: this.ruleForm.name, Id: this.currentFolderId },
               () => {
                 this.$message({
-                  message: "模型文件夹创建成功",
+                  message: "模型文件夹修改成功",
                   type: "success"
                 });
                 // 重新获取文件夹列表

+ 2 - 2
src/components/relation/overview/CardList.vue

@@ -100,7 +100,7 @@
                   <span
                     v-show="relation.computationalState !== 3  && relation.computingTime">最后一次计算时间 {{relation.computingTime}}</span>
                   <el-tooltip
-                    content="启动计算"
+                    :content="relation.computationalState === 2 ? '关系变更,清重新计算':'启动计算'"
                     placement="top"
                   >
                     <el-badge
@@ -109,7 +109,7 @@
                     >
                       <el-button
                         @click="computed(relation)"
-                        :disabled="!relation.source && !relation.automatic"
+                        :disabled="!relation.source && !relation.automatic "
                         circle
                         type="primary"
                         plain

+ 7 - 69
src/components/relation/overview/Modal/RelationMaintain.vue

@@ -29,43 +29,6 @@
       >
         <p class="font-big">{{values.existComputed}}</p>
         <p class="exist-title">{{values.existTitle}}</p>
-
-        <!--        <getCascader :RelationTypeName="RelationTypeName" :number="number"/>-->
-        <!--        <el-row :span="24" style="margin-top: 10px">-->
-        <!--          <el-col :span="8">-->
-        <!--            <p class="demonstration">{{values.originEquipment}}</p>-->
-        <!--            <el-select v-model="deviceValue" multiple placeholder="请选择">-->
-        <!--              <el-option-->
-        <!--                v-for="item in deviceGroup"-->
-        <!--                :key="item.value"-->
-        <!--                :label="item.label"-->
-        <!--                :value="item.value">-->
-        <!--              </el-option>-->
-        <!--            </el-select>-->
-        <!--            <el-cascader-->
-        <!--                :key="isResouceShow"-->
-        <!--                :options="list"-->
-        <!--                v-model="ops"-->
-        <!--                :props="props"-->
-        <!--                @change="sourceOptions"-->
-        <!--                collapse-tags-->
-        <!--                clearable-->
-        <!--            />-->
-        <!--          </el-col>-->
-        <!--          <el-col :span="8">-->
-        <!--            <p class="demonstration">{{values.endEquipment}}</p>-->
-
-        <!--            <el-cascader-->
-        <!--                :options="list"-->
-        <!--                v-model="filterOps"-->
-        <!--                :key="isResouceShow"-->
-        <!--                :props="props"-->
-        <!--                @change="endOptions"-->
-        <!--                collapse-tags-->
-        <!--                clearable-->
-        <!--            />-->
-        <!--          </el-col>-->
-        <!--        </el-row>-->
         <el-row :gutter="20" style="margin-bottom: 20px">
           <el-col :span="12">
             <p>源端设备类:</p>
@@ -77,8 +40,8 @@
               disabled
             >
               <el-option
-                v-for="item in setOriginOption"
-                :key="item.value"
+                v-for="(item,index) in setOriginOption"
+                :key="index"
                 :label="item.label"
                 :value="item.value"
                 disabled
@@ -93,8 +56,8 @@
               :props="props"
             >
               <el-option
-                v-for="item in setEndOptions"
-                :key="item.value"
+                v-for="(item,index) in setEndOptions"
+                :key="index"
                 :label="item.label"
                 :value="item.value"
                 disabled
@@ -116,23 +79,6 @@
         </footer>
       </div>
     </el-dialog>
-    <!--设定设备对象源/末端-->
-    <!--    <el-dialog-->
-    <!--        :title="values.title"-->
-    <!--        :visible.sync="dialogEquipment"-->
-    <!--    >-->
-    <!--      <span class="font-big">{{values.underDesign}}</span>-->
-    <!--      <footer-->
-    <!--          slot="footer"-->
-    <!--          class="dialog-footer"-->
-    <!--      >-->
-    <!--        <el-button-->
-    <!--            type="primary"-->
-    <!--            @click="dialogEquipment = false"-->
-    <!--        >{{values.confirm}}-->
-    <!--        </el-button>-->
-    <!--      </footer>-->
-    <!--    </el-dialog> -->
     <el-dialog
       :title="values.title"
       :visible.sync="dialogEquipment"
@@ -171,17 +117,6 @@
           </el-select>
         </el-col>
       </el-row>
-      <!--      <setCascader @change="changeCader" :RelationTypeName="RelationTypeName"/>-->
-      <!--      <el-row :span="24" style="margin-top: 15px">-->
-      <!--        <el-col :span="8">-->
-      <!--          <p class="">{{values.originEquipment}}</p>-->
-      <!--          <el-select v-model="assetValue" placeholder="请选择" clearable filterable size="small" @change="changeVal">-->
-      <!--            <el-option v-for="item in assetOptions" :key="item.Code" :label="item.Name" :value="item.Code"></el-option>-->
-      <!--          </el-select>-->
-
-      <!--        </el-col>-->
-      <!--      </el-row>-->
-
       <footer
         slot="footer"
         class="dialog-footer"
@@ -443,10 +378,13 @@
       },
 
       handleAddSource() { //保存设备类
+        debugger
+        console.log(this.sourceList)
         if (this.sourceList.length) {
           let params = {
             content: this.sourceList
           }
+          return
           addSource(params, res => {
             this.$message.success('保存成功')
           })

+ 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>

+ 1 - 1
src/framework/layout/layout-store.js

@@ -26,7 +26,7 @@ export default {
     },
     projectId: 'Pj1101051029',
     group_code: '',
-    projects: project["14"],
+    projects: project["39"],
     breadcrumb: [],
     uploaderList: [], //当前上传文件列表
     secret: "saga123456", //项目密码

+ 5 - 0
src/framework/layout/project.js

@@ -6,6 +6,11 @@ const project = {
       pwd: "saga123456",
       group_code: "HR"
     }, {
+      id: "Pj3702120002",
+      name: "青岛港务局航运中心",
+      pwd: "saga123456",
+      group_code: "QD"
+    }, {
       id: "Pj4403050002",
       name: "深圳万象天地",
       pwd: "saga123456",

+ 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;

+ 8 - 2
src/views/ledger/facility/addfacility.vue

@@ -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.once="handleCreateTableData" class="create_button" :disabled="createDisable">创建设备</el-button>
     </el-row>
     <!-- 二维码弹窗 -->
     <qrcode :dialog="myDialog" :qrcodeUrl="qrcodeUrl" :addBody="true" ref="qrcode"></qrcode>
@@ -122,6 +122,7 @@ export default {
       firmId: "", //品牌型号所需字段--族id三位编码(传设备类id或部件类id)
       buildFloorData: [],
       floorFlag: true,
+      createDisable: false
     };
   },
   computed: {
@@ -267,12 +268,14 @@ export default {
       //     });
       //   }
       // }
+      this.createDisable = true;
       //待接口修改为关联创建即可修改
       let param = {
         cascade: [],
         content: newData
       }
       createEquipAndProperty(param, res => {
+        this.createDisable = false;
         this.$message.success('创建成功')
         session.remove("deviceAddData")
         this.$router.push({
@@ -335,7 +338,7 @@ export default {
         type: "checkbox",
         checkedTemplate: 1,
         uncheckedTemplate: 0,
-        data: "Checked",
+        data: "checked",
         label: {
           position: "after"
         }
@@ -473,6 +476,9 @@ export default {
             this.$message("此设备没有设备二维码");
           }
           break;
+        // 同时创建资产
+        case 'checked':
+          return
         //关联系统
         case 'linkSystem':
           if (!this.onlyRead) {

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

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

+ 15 - 3
src/views/ledger/property/details/index.vue

@@ -189,10 +189,11 @@ export default {
       return JSON.parse(JSON.stringify(obj));
     },
     cruxSuccess() {
-      this.getData();
+      const isCrux = 1; //是否为点击详情后获取表头和实例数据
+      this.getData(isCrux);
     },
     // 获取表头和实例数据
-    getData() {
+    getData(isCrux = 0) {
       let params1 = {
           orders: "sort asc",
           pageNumber: 1,
@@ -229,8 +230,19 @@ export default {
           }
         }
         this.instance = obj;
-        this.handleRadios(this.currentRadio);
+        // this.handleRadios(this.currentRadio);
         this.handleEnclosure(); //处理图片视频文件信息
+
+        // 如果是编辑后状态、则需要更新下Tab
+        if (isCrux) {
+          const currentRadio = this.currentRadio
+          this.handleRadios(-1);
+          setTimeout(()=>{
+             this.handleRadios(currentRadio);
+          })
+        }else{
+           this.handleRadios(this.currentRadio);
+        }
       });
     },
     handleEnclosure() {

+ 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;

+ 5 - 5
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-number v-model="addNum" :controls="false" style="width:50px;" :min="1" :max="50"></el-input-number>
-      <span>个{{ category.CategoryName }}</span>
+      <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,7 +186,7 @@ export default {
         session.remove("systemAddData")
         this.$router.push({
           name: "systemlist",
-          params: { SysType: this.category.Category }
+          params: { SysType: this.category.category }
         });
       })
     },

+ 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/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

+ 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;