Kaynağa Gözat

系统详情调修

LXXXY 5 yıl önce
ebeveyn
işleme
cce252c7fc

+ 95 - 58
src/components/ledger/system/dialog/addEquipDialog.vue

@@ -1,29 +1,52 @@
 <template>
   <el-dialog :title="title" :visible.sync="dialogVisible" width="900px" id="addEqDialog">
     <el-row class="filters">
-      <el-col :span="8">
-        <el-input placeholder="输入设备名称或设备本地编码进行查询" v-model="keycode" clearable @keyup.enter.native="getTableData">
+      <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-input>
       </el-col>
-      <el-col :span="9" style="padding:0 0;">
+      <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;">
+        <myCascader @change="changeDevice" :params="params"></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">
           <template slot-scope="scope">
-            <div>
-              {{scope.row.EquipLocalName||scope.row.EquipName||''}}
-            </div>
+            <div>{{scope.row.EquipLocalName||scope.row.EquipName||''}}</div>
           </template>
         </el-table-column>
-        <el-table-column prop="EquipLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="EquipCategory.EquipName" :label="`${inSpaceType}类`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column
+          prop="EquipLocalID"
+          :label="`${inSpaceType}本地编码`"
+          show-overflow-tooltip
+          min-width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="EquipCategory.EquipName"
+          :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>
@@ -31,9 +54,17 @@
         </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>
@@ -43,7 +74,7 @@
 </template>
 
 <script>
-import { sysLinkEquip, unSysEq} from "@/api/scan/request";
+import { sysLinkEquip, unSysEq } from "@/api/scan/request";
 import floorCascader from "@/components/ledger/lib/floorCascader";
 import myCascader from "@/components/ledger/system/lib/equipType";
 import { mapGetters } from "vuex";
@@ -58,10 +89,10 @@ export default {
   data() {
     return {
       title: "添加系统内设备",
-      keycode: '', //输入查询条件
-      Buildfloor: ['all'], // 选中的建筑楼层
-      Equipcategory: null,// 选中的设备类型
-      inSpaceType: '设备',
+      keycode: "", //输入查询条件
+      Buildfloor: ["all"], // 选中的建筑楼层
+      Equipcategory: null, // 选中的设备类型
+      inSpaceType: "设备",
       dialogVisible: false,
       tableData: [],
       loading: false,
@@ -73,9 +104,9 @@ export default {
         total: 0
       },
       headerStyle: {
-        backgroundColor: '#e1e4e5',
-        color: '#2b2b2b',
-        lineHeight: '30px'
+        backgroundColor: "#e1e4e5",
+        color: "#2b2b2b",
+        lineHeight: "30px"
       } // 列表样式
     };
   },
@@ -83,61 +114,62 @@ export default {
     type: String, //选中的tab页
     params: Object //查看的竖井关系信息
   },
-  created() { },
+  created() {},
   methods: {
     //修改建筑楼层
     changeFloor(value) {
-      this.Buildfloor = value
-      this.getTableData()
+      this.Buildfloor = value;
+      this.getTableData();
     },
     // 显示弹窗
     showDialog() {
-      this.dialogVisible = true
-      this.page.pageNumber = 1
-      this.tableData = []
-      this.getTableData()
+      this.dialogVisible = true;
+      this.page.pageNumber = 1;
+      this.tableData = [];
+      this.getTableData();
     },
     getTableData() {
-      
       let params = {
         data: {
           Filters: `not EquipID isNull`,
-          Cascade: [{ Name: 'equipCategory' }],
+          Cascade: [{ Name: "equipCategory" }],
           Orders: "createTime desc, EquipID desc",
           PageNumber: this.page.pageNumber,
-          PageSize: this.page.pageSize,
+          PageSize: this.page.pageSize
         },
         shaftId: this.params.ShaftID,
-        sysId:this.$route.query.SysID
-      }
+        sysId: this.$route.query.SysID
+      };
       if (this.Buildfloor[0] == "noKnow") {
-        params.data.Filters += `;buildingId isNull`
+        params.data.Filters += `;buildingId isNull`;
       } else if (this.Buildfloor[0] && this.Buildfloor[0] != "all") {
-        params.data.Filters += `;buildingId='${this.Buildfloor[0]}'`
+        params.data.Filters += `;buildingId='${this.Buildfloor[0]}'`;
       }
       if (this.Buildfloor[1] == "noKnow") {
-        params.data.Filters += `;floorId isNull`
+        params.data.Filters += `;floorId isNull`;
       } else if (this.Buildfloor[1] && this.Buildfloor[1] != "all") {
-        params.data.Filters += `;floorId='${this.Buildfloor[1]}'`
-      }
-      if (this.keycode != '') {
-        params.data.Filters += `;EquipName contain '${this.keycode}' or EquipLocalName contain '${this.keycode}' or EquipLocalID contain '${this.keycode}'`
+        params.data.Filters += `;floorId='${this.Buildfloor[1]}'`;
       }
-      if (this.Equipcategory) {
-        params.data.Filters += `;category='${this.Equipcategory}'`
+      if (this.keycode != "") {
+        params.data.Filters += `;EquipName contain '${this.keycode}' or EquipLocalName contain '${this.keycode}' or EquipLocalID contain '${this.keycode}'`;
       }
+      // if (this.Equipcategory) {
+      //   params.data.Filters += `;category='${this.Equipcategory}'`;
+      // }
       unSysEq(params, res => {
         res.Content.forEach(item => {
-          item.ShaftListName = ""
+          item.ShaftListName = "";
           if (item.ShaftList && item.ShaftList.length) {
             item.ShaftListName = item.ShaftList.map(shaft => {
-              return shaft.ShaftLocalName ? shaft.ShaftLocalName : shaft.ShaftName
-            }).join("、")
+              return shaft.ShaftLocalName
+                ? shaft.ShaftLocalName
+                : shaft.ShaftName;
+            }).join("、");
           }
-        })
-        this.tableData = res.Content
-        this.page.total = res.Total
-      })
+        });
+        this.tableData = res.Content;
+        this.page.total = res.Total;
+      });
     },
     //选中项修改
     handleSelectionChange(val) {
@@ -148,18 +180,23 @@ export default {
         let params = {
           SysId: this.$route.query.SysID,
           EquipIdList: this.selections.map(item => {
-            return item.EquipID
+            return item.EquipID;
           })
-        }
+        };
         sysLinkEquip(params, res => {
-          this.dialogVisible = false
-          this.$message.success('关联成功!')
-          this.$emit('refresh')
-        })
+          this.dialogVisible = false;
+          this.$message.success("关联成功!");
+          this.$emit("refresh");
+        });
       } else {
-        this.$message('请选择要关联的设备')
+        this.$message("请选择要关联的设备");
       }
     },
+    //修改设备类别
+    changeDevice(value) {
+      this.Equipcategory = value.code;
+      this.getTableData();
+    },
     //改变pagesize
     handleSizeChange(pageSize) {
       this.page.pageSize = pageSize;
@@ -172,9 +209,9 @@ export default {
     },
     // 查看详情
     toDetail() {
-      this.$message('开发中')
+      this.$message("开发中");
     }
-  },
+  }
 };
 </script>
 <style lang="less" scoped>

+ 9 - 8
src/components/ledger/system/dialog/addSpaceDialog.vue

@@ -1,12 +1,12 @@
 <template>
   <el-dialog
     :title="title"
-    :visible.sync="dialogVisible"
+    :visible.sync="dialog"
     :before-close="handleClose"
     width="900px"
     id="addEqDialog"
   >
-    <el-row class="filters" :gutter="20">
+    <el-row class="filters">
       <el-col :span="7" style="width:268px;padding:0px;">
         <el-input
           style
@@ -18,7 +18,7 @@
           <i slot="suffix" class="el-input__icon el-icon-search" @click="getTableData"></i>
         </el-input>
       </el-col>
-      <el-col :span="8.5" style="padding:0 0;margin-left:5px">
+      <el-col :span="8.5" style="padding:0 0;margin-left:-2px">
         <floor-cascader ref="floorcas" @change="changeFloor"></floor-cascader>
       </el-col>
       <el-col :span="7.5" style="padding:0 0;">
@@ -50,7 +50,7 @@
         ></el-table-column>
         <el-table-column prop :label="`所属建筑楼层`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            <div>{{(floorType[scope.row.BuildingId] || '') + (floorType[scope.row.FloorID] || '') || ''}}</div>
+            <div>{{((floorType[scope.row.BuildingId] || '') + (' - ' + floorType[scope.row.FloorId] || '')) || ''}}</div>
           </template>
         </el-table-column>
         <el-table-column prop="ObjectType" :label="`空间类型`" show-overflow-tooltip min-width="100">
@@ -101,7 +101,10 @@ export default {
     spaceSelect
   },
   computed: {
-    ...mapGetters("layout", ["projectId"])
+    ...mapGetters("layout", ["projectId"]),
+    dialog() {
+      return this.dialogVisible
+    }
   },
   data() {
     return {
@@ -203,9 +206,7 @@ export default {
           })
         };
         linkSysSp(params, res => {
-          this.dialogVisible = false;
           this.$message.success("关联成功!");
-          this.$emit("update:dialogVisible", false);
           this.$emit("refresh");
         });
       } else {
@@ -244,7 +245,7 @@ export default {
 <style lang="less" scoped>
 #addEqDialog {
   .filters {
-    margin-bottom: 10px;
+    margin:0 0 10px 0;
   }
   .table-box {
     height: 370px;

+ 6 - 1
src/components/ledger/system/table/spaceTable.vue

@@ -60,7 +60,7 @@
     <addSpaceDialog
       :dialogVisible.sync="dialogVisible"
       ref="addSpaceDialog"
-      @refresh="getTableData"
+      @refresh="refresh"
       :type="type"
       :params="params"
       :spaceType="spaceType"
@@ -160,6 +160,11 @@ export default {
     // 添加设备
     add() {
       this.dialogVisible = true;
+    },
+    //刷新
+    refresh(){
+      this.dialogVisible = false;
+      this.getTableData()
     }
   },
   watch: {