Merge pull request '关联设备开发' (#2) from lukeyan into master

Reviewed-on: #2
pull/4/head^2
lukeyan 1 year ago
commit 0f9e14b37b

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,22 @@
<template>
<!-- 新建或者修改 -->
<el-dialog
:title="dialogTitle"
:visible.sync="visible"
width="1300px"
@close="close"
>
<div>123</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
visible: false,
};
},
};
</script>
<style lang="less" scoped>
</style>

@ -0,0 +1,183 @@
<template>
<!-- 设备表格 -->
<div class="equipment_data">
<p>智能感知设备列表</p>
<!-- 查询表 -->
<div class="equipment_data_search">
<el-form :inline="true" :model="search" class="search">
<el-form-item>
<el-input
v-model="search.equipemnt"
placeholder="输入设备名称搜索"
></el-input>
</el-form-item>
<el-form-item>
<el-form-item>
<el-input
v-model="search.ip"
placeholder="输入IP名称搜索"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-button @click="onSubmit"></el-button>
</el-form-item>
<el-form-item>
<el-button @click="onSubmit"></el-button>
</el-form-item>
</el-form>
</div>
<!-- 增删按钮 -->
<div class="equipment_data_btn">
<el-button v-for="item in btnList" :key="item.value">
{{ item.label }}</el-button
>
</div>
<!-- 表格 -->
<div class="equipment_data_table">
<el-table
:cell-style="{ background: 'revert', 'text-align': 'center' }"
:header-cell-style="table_header"
:data="tableData"
height="305"
:highlight-current-row="true"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
v-for="item in tableColumn"
:key="item.prop"
:prop="item.prop"
:label="item.label"
></el-table-column>
<el-table-column prop="operation" label="操作">
<template slot-scope="scope">
<el-button size="small" @click="handleEdit(scope.$index, scope.row)"
>编辑
</el-button>
<el-button
size="small"
type="danger"
@click="handleDelete(scope.$index, scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="equipment_data_pagination"></div>
</div>
</template>
<script>
export default {
data() {
return {
search: {
equipment: "",
ip: "",
},
btnList: [
{ value: "1", label: "新增" },
{ value: "2", label: "删除" },
{ value: "3", label: "导入" },
{ value: "4", label: "导出" },
],
tableColumn: [
{ prop: "villageName", label: "设备名称" },
{ prop: "passTimeCn", label: "设备类型" },
{ prop: "deviceAddress", label: "设备IP" },
{ prop: "cameraIp", label: "设备经度" },
{ prop: "imageTypeCn", label: "设备维度" },
{ prop: "imageTypeCn", label: "进出方向" },
],
};
},
methods: {
table_header({ row, rowIndex }) {
console.log(row);
console.log(rowIndex);
return {
"text-align": "center",
color: "#fff",
};
},
},
};
</script>
<style lang="less" scoped>
.equipment_data {
p {
color: #fff;
margin-left: 10px;
}
.equipment_data_search {
margin-left: 12px;
/deep/.el-input__inner {
border-radius: 0px 0px 0px 0px;
background: #3c4b4a;
color: #fff;
}
.el-button {
width: 100%;
border: 1px solid #4a6072;
color: #fff;
border-radius: 0px !important;
background: #323f43;
}
.el-button:focus,
.el-button:hover {
border: 1px solid#34e1b3;
background: url("~@/assets/companyFile/2121.png") no-repeat !important;
background-size: 100% 100% !important;
}
}
.equipment_data_btn {
margin-left: 12px;
.el-button {
width: 70px;
height: 35px;
border: 1px solid #4a6072;
color: #fff;
border-radius: 0px !important;
background: #323f43;
}
.el-button:focus,
.el-button:hover {
border: 1px solid#34e1b3;
background: url("~@/assets/companyFile/891771.png") no-repeat !important;
background-size: 100% 100% !important;
}
}
.equipment_data_table {
width: calc(100% - 30px);
margin-top: 12px;
margin-left: 12px;
height: 100%;
.el-table,
.el-table__expanded-cell {
color: #fff;
background-color: transparent;
}
/deep/.el-table {
thead {
text-align: center;
color: #fff;
font-weight: 500;
background: linear-gradient(to right,#284f49,#2f6363,#233b38) !important;
& th {
background-color: transparent;
}
& tr {
background-color: transparent;
}
}
}
.el-table::before {
//线
left: 0;
bottom: 0;
width: 100%;
height: 0px;
}
}
}
</style>

@ -0,0 +1,88 @@
<template>
<!-- 关联设备的右侧查询盒子 -->
<div class="searchBox_body">
<div class="searchBox_img">
<div class="searchBox_img_top">
<img :src="searchBoxData.src" alt="" />
</div>
<span>视频监控系统</span>
</div>
<ul>
<li
class="searchBox_btn"
v-for="item in searchBoxData.btnList"
:key="item.value"
>
<el-button> {{ item.name }} </el-button>
</li>
</ul>
</div>
</template>
<script>
export default {
name: "searchBox",
props: {
searchBoxData: {},
},
data() {
return {};
},
created() {},
};
</script>
<style lang="less" scoped>
.searchBox_body {
width: 100%;
height: 100%;
display: flex;
.searchBox_img {
display: flex;
justify-content: center;
flex-direction: column;
width: 19.8%;
height: 53%;
padding-top: 8%;
padding-left: 3%;
color: #fff;
text-align: center;
font-size: 15px;
.searchBox_img_top {
width: 78%;
height: 100%;
margin: 0px auto;
img {
width: 100%;
height: 100%;
}
}
span {
margin-top: 7%;
}
}
ul {
width: 70%;
overflow: hidden;
display: flex;
justify-content: space-between;
flex-flow: wrap;
padding: 0px 0px 0px 10px;
}
.searchBox_btn {
list-style: none;
width: 30%;
.el-button {
width: 100%;
border: 1px solid #4a6072;
color: #fff;
border-radius: 0px !important;
background: #323f43;
}
.el-button:focus,
.el-button:hover {
color: #34e1b3;
background: url("~@/assets/companyFile/891771.png") no-repeat !important;
background-size: 100% 100% !important;
}
}
}
</style>

@ -40,11 +40,22 @@
<el-divider direction="vertical"></el-divider> <el-divider direction="vertical"></el-divider>
<!-- 右侧 --> <!-- 右侧 -->
<div class="cardBodyRight"> <div class="cardBodyRight">
<span>设备列表</span> <p>设备列表</p>
<div class="cardBodyRight_search"> <div class="cardBodyRight_search">
<div class="video"></div> <div class="video">
<div class="intelligence"></div> <SearchBox
ref="searchBox"
:searchBoxData="searchBox_left_text"
></SearchBox>
</div>
<div class="intelligence">
<SearchBox
ref="searchBox"
:searchBoxData="searchBox_right_text"
></SearchBox>
</div>
</div> </div>
<EquipmentTable ref="equipmentTable"></EquipmentTable>
</div> </div>
</div> </div>
</el-card> </el-card>
@ -52,12 +63,54 @@
</div> </div>
</template> </template>
<script> <script>
import SearchBox from "./components/searchBox.vue";
import EquipmentTable from "./components/equipmentTable.vue";
export default { export default {
name: "correlationEquipment", name: "correlationEquipment",
components: {
SearchBox,
EquipmentTable,
},
data() { data() {
return { return {
searchCompany: "", // searchCompany: "", //
companyTreeData: [], // companyTreeData: [], //
searchBox_left_text: {}, //
};
},
created() {
//
//
this.searchBox_left_text = {
src: require("@/assets/companyFile/camera.png"),
img_text: "视频监控系统",
btnList: [
{ value: "1", name: "公共区域" },
{ value: "2", name: "地下车库" },
{ value: "3", name: "全景监控" },
{ value: "4", name: "人脸抓拍" },
{ value: "5", name: "电梯监控" },
{ value: "6", name: "人体测温" },
{ value: "7", name: "车辆抓拍" },
{ value: "8", name: "人脸门禁" },
{ value: "9", name: "高空抛物" },
],
};
//
this.searchBox_right_text = {
src: require("@/assets/companyFile/intelligence.png"),
img_text: "智能感知系统",
btnList: [
{ value: "1", name: "车辆抓拍" },
{ value: "2", name: "人脸抓拍" },
{ value: "3", name: "门禁设备" },
{ value: "4", name: "高抛抓拍" },
{ value: "5", name: "全结构化" },
{ value: "6", name: "智能烟感" },
{ value: "7", name: "访客机" },
{ value: "8", name: "多为设备" },
{ value: "9", name: "WIFI设备" },
],
}; };
}, },
}; };
@ -65,7 +118,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* card统一样式 */ /* card统一样式 */
.el-card.box-card.is-always-shadow { .el-card.box-card.is-always-shadow {
height: calc(100vh - 158px); /* 控制card布局高度,用于适配 */ height: calc(100vh - 116px); /* 控制card布局高度,用于适配 */
} }
/* card统一样式 */ /* card统一样式 */
/deep/.el-card__header { /deep/.el-card__header {
@ -74,14 +127,21 @@ export default {
span { span {
font-size: 17px; font-size: 17px;
font-weight: 400; font-weight: 400;
color: #fff;
} }
} }
} }
.main { .main {
height: 100%;
.el-card.box-card.is-always-shadow {
background: url("~@/assets/companyFile/22136.png") no-repeat !important;
background-size: 100% 100% !important;
border: 0px;
}
.cardBody { .cardBody {
width: 100%; width: 100%;
display: flex; display: flex;
height: calc(100vh - 260px); height: calc(100vh - 215px);
/* 左侧 */ /* 左侧 */
.cardBodyLeft { .cardBodyLeft {
width: 30%; width: 30%;
@ -95,6 +155,8 @@ export default {
width: 90%; width: 90%;
.el-input__inner { .el-input__inner {
border-radius: 4px 0px 0px 4px; border-radius: 4px 0px 0px 4px;
background: #3c4b4a;
color: #fff;
} }
/* 查询框点击颜色变化 */ /* 查询框点击颜色变化 */
.el-input__inner:focus, .el-input__inner:focus,
@ -106,7 +168,7 @@ export default {
width: 10%; width: 10%;
height: 100%; height: 100%;
border-radius: 0px 4px 4px 0px; border-radius: 0px 4px 4px 0px;
background: #1b3736; background: #0e3936;
text-align: center; text-align: center;
font-size: 28px; font-size: 28px;
cursor: pointer; cursor: pointer;
@ -122,13 +184,15 @@ export default {
} }
} }
.cardBodyLeft_footer { .cardBodyLeft_footer {
height: 85%; height: 88%;
.el-tree { .el-tree {
/* 树形数据过长添加滚动条 */ /* 树形数据过长添加滚动条 */
height: 100%; height: 100%;
overflow: auto; overflow: auto;
box-shadow: 5px 5px 10px #126a58; box-shadow: 5px 5px 10px #126a58;
border-radius: 4px; border-radius: 4px;
background: #293738;
color: #fff;
.node-label { .node-label {
/* 树形数据横向过长添加展开 */ /* 树形数据横向过长添加展开 */
width: 100%; width: 100%;
@ -156,26 +220,32 @@ export default {
} }
/* 右侧 */ /* 右侧 */
.cardBodyRight { .cardBodyRight {
p {
margin-left: 10px;
height: 18px;
color: #fff;
font-size: 18px;
}
width: 70%; width: 70%;
height: 100%; height: 100%;
background: rgb(230, 223, 236); border-radius: 4px;
box-shadow: 5px 5px 10px #126a58;
.cardBodyRight_search { .cardBodyRight_search {
display: flex; display: flex;
justify-content:space-around; justify-content: space-evenly;
width: 100%; width: 100%;
height: 30%; height: 25%;
background: #1b3736;
.video { .video {
width: 48%; width: 48%;
height: 100%; height: 100%;
background: #a1a1a1; background: #3b5153;
box-shadow: 5px 5px 10px #126a58; border-radius: 4px;
} }
.intelligence { .intelligence {
width: 48%; width: 48%;
height: 100%; height: 100%;
background: #a1a1a1; background: #2c4046;
box-shadow: 5px 5px 10px #126a58; border-radius: 4px;
} }
} }
} }

@ -32,12 +32,12 @@ export default {
.el-aside { .el-aside {
margin-top: 15px; /* 给左上角logo留空间 -> 后面固定都给15px */ margin-top: 15px; /* 给左上角logo留空间 -> 后面固定都给15px */
margin-left: 15px; margin-left: 15px;
width: 15% !important; /* 控制侧边导航栏宽度 */ width: 13% !important; /* 控制侧边导航栏宽度 */
height: 100%; height: 100%;
} }
.el-main { .el-main {
margin: 16px 15px 5px 15px; /* 固定都给15px */ margin: 16px 15px 0px 15px; /* 固定都给15px */
background: #fff; padding: 0px;
} }
} }
</style> </style>
Loading…
Cancel
Save