|
@@ -1,15 +1,175 @@
|
|
|
<!--
|
|
|
* @Author: your name
|
|
|
* @Date: 2021-12-07 14:27:28
|
|
|
- * @LastEditTime: 2021-12-07 14:50:34
|
|
|
+ * @LastEditTime: 2021-12-08 10:12:04
|
|
|
* @LastEditors: Please set LastEditors
|
|
|
* @Description: 设备管理页面
|
|
|
* @FilePath: \hyyfClient\src\views\DeviceMana\Device.vue
|
|
|
-->
|
|
|
<template>
|
|
|
- <div class="device"></div>
|
|
|
+ <div class="device">
|
|
|
+ <div class="manage-items">
|
|
|
+ <manage-item
|
|
|
+ v-for="(item, index) in manageItems"
|
|
|
+ :key="item.key"
|
|
|
+ v-bind="item"
|
|
|
+ >
|
|
|
+ <template #icon>
|
|
|
+ <div :class="manageItemClass[index]"></div>
|
|
|
+ </template>
|
|
|
+ </manage-item>
|
|
|
+ </div>
|
|
|
+ <new-table v-bind="tableData" :listData="listData">
|
|
|
+ <!-- 右上角新增按钮 -->
|
|
|
+ <template #right>
|
|
|
+ <el-button size="mini" @click="handleAdd">
|
|
|
+ 新增设备
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ <template #handler="slotProps">
|
|
|
+ <el-button type="text" @click="handleEdit(slotProps.row)">
|
|
|
+ 编辑
|
|
|
+ </el-button>
|
|
|
+ <el-button type="text" @click="handleDelete(slotProps.row)">
|
|
|
+ 删除
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </new-table>
|
|
|
+ <table-footer
|
|
|
+ v-bind="tableFooterData"
|
|
|
+ @sizeChange="sizeChange"
|
|
|
+ @pageChange="pageChange"
|
|
|
+ >
|
|
|
+ </table-footer>
|
|
|
+ <add-or-edit ref="addOrEdit"></add-or-edit>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<script>
|
|
|
-export default {};
|
|
|
+import ManageItem from "./device/ManageItem.vue";
|
|
|
+import NewTable from "@/components/newTable/NewTable";
|
|
|
+import TableFooter from "@/components/TableFooter";
|
|
|
+import AddOrEdit from "./device/AddOrEdit.vue";
|
|
|
+
|
|
|
+import { tableData } from "./device/table.config";
|
|
|
+
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ ManageItem,
|
|
|
+ NewTable,
|
|
|
+ TableFooter,
|
|
|
+ AddOrEdit,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ manageItems: [
|
|
|
+ {
|
|
|
+ title: "设备总数",
|
|
|
+ num: "105",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "故障设备",
|
|
|
+ num: "5",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "设备故障率",
|
|
|
+ num: "3%",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ manageItemClass: ["total", "badCount", "badPercent"],
|
|
|
+ tableFooterData: {
|
|
|
+ totals: 0,
|
|
|
+ size: 20,
|
|
|
+ pageNum: 1,
|
|
|
+ },
|
|
|
+ tableData: tableData,
|
|
|
+ listData: [
|
|
|
+ {
|
|
|
+ name: "摄像头",
|
|
|
+ code: "001",
|
|
|
+ model: "hm-001",
|
|
|
+ manufacturer: "大华",
|
|
|
+ person: "-",
|
|
|
+ basicalParams: "200万像素星光级网络摄像头",
|
|
|
+ status: 1,
|
|
|
+ record: "-",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "摄像头",
|
|
|
+ code: "002",
|
|
|
+ model: "hm-002",
|
|
|
+ manufacturer: "大华",
|
|
|
+ person: "-",
|
|
|
+ basicalParams: "200万像素星光级网络摄像头",
|
|
|
+ status: 1,
|
|
|
+ record: "-",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "摄像头",
|
|
|
+ code: "003",
|
|
|
+ model: "hm-003",
|
|
|
+ manufacturer: "大华",
|
|
|
+ person: "-",
|
|
|
+ basicalParams: "200万像素星光级网络摄像头",
|
|
|
+ status: 1,
|
|
|
+ record: "-",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // size 改变
|
|
|
+ sizeChange(val) {
|
|
|
+ this.tableFooterData.size = val;
|
|
|
+ this.tableFooterData.pageNum = 1;
|
|
|
+ },
|
|
|
+ // 页数改变
|
|
|
+ pageChange(val) {
|
|
|
+ this.tableFooterData.pageNum = val;
|
|
|
+ },
|
|
|
+ // 新增事件
|
|
|
+ handleAdd() {
|
|
|
+ this.$refs["addOrEdit"].init();
|
|
|
+ },
|
|
|
+ // 编辑事件
|
|
|
+ handleEdit(row) {
|
|
|
+ this.$refs["addOrEdit"].init(row);
|
|
|
+ },
|
|
|
+ // 删除事件
|
|
|
+ handleDelete(row) {
|
|
|
+ console.log("删除设备", row);
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
</script>
|
|
|
-<style scoped></style>
|
|
|
+<style scoped>
|
|
|
+.device {
|
|
|
+ padding: 20px 20px 0;
|
|
|
+}
|
|
|
+.manage-items {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: space-around;
|
|
|
+}
|
|
|
+
|
|
|
+/* 设备总数的 icon */
|
|
|
+.total {
|
|
|
+ background: url("~@/assets/images/device/设备总数.svg") no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+}
|
|
|
+/* 故障设备的 icon */
|
|
|
+.badCount {
|
|
|
+ background: url("~@/assets/images/device/设备故障.svg") no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ width: 50px;
|
|
|
+ height: 50px;
|
|
|
+}
|
|
|
+/* 设备故障率的 icon */
|
|
|
+.badPercent {
|
|
|
+ background: url("~@/assets/images/device/故障率统计.svg") no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ width: 45px;
|
|
|
+ height: 45px;
|
|
|
+}
|
|
|
+</style>
|