Compare commits
No commits in common. "15596f77f15ac5d8410d5c031a3051af3f42e5e5" and "1acf302d0be24d17908e75b7ade5c0a77fd80ba7" have entirely different histories.
15596f77f1
...
1acf302d0b
|
|
@ -1,5 +1,5 @@
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 变电站扩建工程施工现场智能风险预警系统
|
VUE_APP_TITLE = 输变电工程施工现场安全风险预警系统
|
||||||
|
|
||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
VUE_APP_ENV = '/safety_screen/'
|
VUE_APP_ENV = '/safety_screen/'
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 变电站扩建工程施工现场智能风险预警系统
|
VUE_APP_TITLE = 输变电工程施工现场安全风险预警系统
|
||||||
|
|
||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
VUE_APP_ENV = '/safety_screen/'
|
VUE_APP_ENV = '/safety_screen/'
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 变电站扩建工程施工现场智能风险预警系统
|
VUE_APP_TITLE = 输变电工程施工现场安全风险预警系统
|
||||||
|
|
||||||
NODE_ENV = production
|
NODE_ENV = production
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# 南网系统配置
|
# 南网系统配置
|
||||||
|
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 变电站扩建工程施工现场智能风险预警系统
|
VUE_APP_TITLE = 输变电工程施工现场安全风险预警系统
|
||||||
|
|
||||||
NODE_ENV = production
|
NODE_ENV = production
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# 页面标题
|
# 页面标题
|
||||||
VUE_APP_TITLE = 变电站扩建工程施工现场智能风险预警系统
|
VUE_APP_TITLE = 输变电工程施工现场安全风险预警系统
|
||||||
|
|
||||||
NODE_ENV = production
|
NODE_ENV = production
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,79 +0,0 @@
|
||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
// 获取变电站结构列表
|
|
||||||
export function querySubsStructureListApi(query) {
|
|
||||||
return request({
|
|
||||||
url: '/base/screen/subsInfo/list',
|
|
||||||
method: 'get',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增结构数据
|
|
||||||
export function addSubs(data) {
|
|
||||||
return request({
|
|
||||||
url: '/base/screen/subsInfo/addSubs',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 编辑结构数据
|
|
||||||
export function editSubs(data) {
|
|
||||||
return request({
|
|
||||||
url: '/base/screen/subsInfo/editSubs',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除结构数据
|
|
||||||
export function deleteSubs(data) {
|
|
||||||
return request({
|
|
||||||
url: '/base/screen/subsInfo/deleteById',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取变电站管网结构列表
|
|
||||||
export function querySubsPipeListApi(query) {
|
|
||||||
return request({
|
|
||||||
url: '/base/screen/subsInfo/pipeList',
|
|
||||||
method: 'get',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,355 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="hole-page">
|
|
||||||
<div class="tower-detect">
|
|
||||||
<div class="inner-tit" style="display: flex; justify-content: space-between; align-items: center;">
|
|
||||||
<div>
|
|
||||||
<img src="../../assets/img/lef-badge.png" alt="">
|
|
||||||
变电站管网结构
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-form
|
|
||||||
style="width: 100%;"
|
|
||||||
:model="queryParams"
|
|
||||||
ref="queryFormRef"
|
|
||||||
size="small"
|
|
||||||
:inline="true"
|
|
||||||
label-width="110px"
|
|
||||||
>
|
|
||||||
<el-form-item
|
|
||||||
label="监测设备名称"
|
|
||||||
prop="name"
|
|
||||||
>
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.name"
|
|
||||||
placeholder="请输入监测设备名称"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item
|
|
||||||
label="监测时间"
|
|
||||||
prop="time"
|
|
||||||
>
|
|
||||||
<el-date-picker
|
|
||||||
v-model="dateRange"
|
|
||||||
type="daterange"
|
|
||||||
range-separator="至"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
style="background-color: #ECF3FE;">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
<el-button
|
|
||||||
style="margin-top: 3px"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-search"
|
|
||||||
size="mini"
|
|
||||||
@click="handleQuery"
|
|
||||||
>搜索</el-button>
|
|
||||||
</el-form>
|
|
||||||
<el-table
|
|
||||||
:data="tableList"
|
|
||||||
stripe
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-table-column
|
|
||||||
label="序号"
|
|
||||||
align="center"
|
|
||||||
width="80"
|
|
||||||
type="index"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="name"
|
|
||||||
label="监测设备名称"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="time"
|
|
||||||
label="监测时间"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="voltage"
|
|
||||||
label="电压"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="elecCurrent"
|
|
||||||
label="电流"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="power"
|
|
||||||
label="功率"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<pagination
|
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getTableList"
|
|
||||||
style="background-color: #f3f7ff;"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { commonMixin } from '@/views/mixins/common'
|
|
||||||
import {querySubsPipeListApi} from '@/api/substation/subsInfo'
|
|
||||||
export default {
|
|
||||||
|
|
||||||
mixins: [ commonMixin ],
|
|
||||||
props: {
|
|
||||||
sendMsg: {
|
|
||||||
type: Object,
|
|
||||||
default: null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
name: 'subsPipeDetect',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
sendId: undefined,
|
|
||||||
title: '',
|
|
||||||
queryParams: {
|
|
||||||
name: '',
|
|
||||||
pageNum: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
startTime: '',
|
|
||||||
endTime: '',
|
|
||||||
},
|
|
||||||
dateRange: [],
|
|
||||||
tableList: [],
|
|
||||||
total: 0,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {},
|
|
||||||
created() {},
|
|
||||||
mounted() {
|
|
||||||
this.sendId = this.sendMsg.projectId
|
|
||||||
this.getList(this.sendMsg.projectId)
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
//获取变电站管网结构表格
|
|
||||||
async getList(proId) {
|
|
||||||
let res = await querySubsPipeListApi({
|
|
||||||
proId,
|
|
||||||
})
|
|
||||||
this.tableList = res.rows
|
|
||||||
this.total = res.total
|
|
||||||
},
|
|
||||||
|
|
||||||
async getTableList() {
|
|
||||||
this.queryParams.proId = this.sendMsg.projectId
|
|
||||||
if (this.dateRange!=null&&this.dateRange.length>0) {
|
|
||||||
const dateStart = new Date(this.dateRange[0])
|
|
||||||
const dateEnd = new Date(this.dateRange[1])
|
|
||||||
this.queryParams.startTime = dateStart.toLocaleDateString('en-CA')
|
|
||||||
this.queryParams.endTime = dateEnd.toLocaleDateString('en-CA')
|
|
||||||
} else {
|
|
||||||
this.queryParams.startTime = null
|
|
||||||
this.queryParams.endTime = null
|
|
||||||
}
|
|
||||||
let res = await querySubsPipeListApi(this.queryParams)
|
|
||||||
this.tableList = res.rows
|
|
||||||
this.total = res.total
|
|
||||||
},
|
|
||||||
|
|
||||||
//搜索
|
|
||||||
handleQuery() {
|
|
||||||
this.getTableList()
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang='less' scoped>
|
|
||||||
|
|
||||||
/deep/ .el-collapse-item__header {
|
|
||||||
background-color: transparent !important;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding-left: 15px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
border-bottom: 1px solid #BAC4CD;
|
|
||||||
}
|
|
||||||
|
|
||||||
/deep/ .el-collapse-item__content {
|
|
||||||
padding-bottom: 0;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/deep/ .el-collapse-item__wrap {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'YouShe';
|
|
||||||
src: url("../../assets/iconfont/YouSheBiaoTiHei.ttf");
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-input__inner {
|
|
||||||
background-color: #FFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hole-page{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
.tower-detect{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-color: #F3F7FF;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 15px 20px;
|
|
||||||
border-radius: 5px;
|
|
||||||
border: 1px solid #EFF2FC;
|
|
||||||
box-shadow: 2px 2px 2px #D9E0F3;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
margin-right: 20px;
|
|
||||||
|
|
||||||
.inner-tit{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 10px 20px;
|
|
||||||
background-color: #EFF4FE;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
color: #000;
|
|
||||||
font-size: 20px;
|
|
||||||
font-family: 'YouShe', sans-serif;
|
|
||||||
box-shadow: -3px -3px 2px #CBDCF6,
|
|
||||||
2px 2px 2px #F8F9FE,
|
|
||||||
-2px -2px 2px #CBDCF6,
|
|
||||||
2px 2px 2px #F8F9FE;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
|
|
||||||
img{
|
|
||||||
|
|
||||||
margin-right: 10px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tower-info{
|
|
||||||
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.tower-lef{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
margin-right: 15px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
|
|
||||||
.lef-spin{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 4%;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
color: #000;
|
|
||||||
font-size: 16px;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
|
|
||||||
div{
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin-right: 12px;
|
|
||||||
|
|
||||||
h4{
|
|
||||||
|
|
||||||
width: 15px;
|
|
||||||
height: 15px;
|
|
||||||
margin-right: 12px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
span{
|
|
||||||
|
|
||||||
padding: 15px 0;
|
|
||||||
color: #000;
|
|
||||||
font-size: 16px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.lef-tower-pic{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 350px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 10px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: left;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
.single-tower{
|
|
||||||
|
|
||||||
width: 40%;
|
|
||||||
height: 100px;
|
|
||||||
display: flex;
|
|
||||||
margin-right: 20px;
|
|
||||||
flex-direction: column; /* 垂直排列内部元素 */
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
img{
|
|
||||||
|
|
||||||
width: 60%;
|
|
||||||
height: 70%;
|
|
||||||
|
|
||||||
}
|
|
||||||
.dev-name {
|
|
||||||
text-align: center; /* 文本居中对齐 */
|
|
||||||
margin-top: 5px; /* 根据需要调整间距 */
|
|
||||||
font-size: 16px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.isActive{
|
|
||||||
|
|
||||||
background: linear-gradient(135deg, #EEF7FF, #DDEDFF, #C2DCFF);
|
|
||||||
border: 1px solid #B8D2ED;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
@ -1,585 +0,0 @@
|
||||||
<template>
|
|
||||||
<div class="hole-page">
|
|
||||||
<div class="tower-detect">
|
|
||||||
<div class="inner-tit" style="display: flex; justify-content: space-between; align-items: center;">
|
|
||||||
<div>
|
|
||||||
<img src="../../assets/img/lef-badge.png" alt="">
|
|
||||||
变电站结构
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-form
|
|
||||||
style="width: 100%;"
|
|
||||||
:model="queryParams"
|
|
||||||
ref="queryFormRef"
|
|
||||||
size="small"
|
|
||||||
:inline="true"
|
|
||||||
label-width="100px"
|
|
||||||
>
|
|
||||||
<el-form-item
|
|
||||||
label="变电站名称"
|
|
||||||
prop="sName"
|
|
||||||
>
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.name"
|
|
||||||
placeholder="请输入变电站名称"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item
|
|
||||||
label="电压等级"
|
|
||||||
prop="elecLevel"
|
|
||||||
>
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.elecLevel"
|
|
||||||
placeholder="请输入电压等级"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-button
|
|
||||||
style="margin-top: 3px"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-search"
|
|
||||||
size="mini"
|
|
||||||
@click="handleQuery"
|
|
||||||
>搜索</el-button>
|
|
||||||
<el-button
|
|
||||||
style="margin-top: 3px"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-plus"
|
|
||||||
size="mini"
|
|
||||||
@click="handleAdd"
|
|
||||||
>新增</el-button>
|
|
||||||
</el-form>
|
|
||||||
<el-table
|
|
||||||
:data="tableList"
|
|
||||||
stripe
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-table-column
|
|
||||||
label="序号"
|
|
||||||
align="center"
|
|
||||||
width="80"
|
|
||||||
type="index"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="name"
|
|
||||||
label="变电站名称"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="elecLevel"
|
|
||||||
label="电压等级"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ scope.row.elecLevel }} kV</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="width"
|
|
||||||
label="变电站宽度"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ scope.row.width }} 米</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="length"
|
|
||||||
label="变电站长度"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ scope.row.width }} 米</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="操作"
|
|
||||||
align="center"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑</el-button>
|
|
||||||
<el-button type="danger" size="mini" @click="handleDelete(scope.row)">删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<pagination
|
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getTableList"
|
|
||||||
style="background-color: #f3f7ff;"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--新增和编辑弹窗 -->
|
|
||||||
<el-dialog :title="title" :visible.sync="showSubs" width="800px" height="800px" append-to-body @close="closeConfig">
|
|
||||||
<el-form :model="queryForm" ref="queryForm" :rules="rules" size="small" :inline="true" v-show="showSearch" label-width="120px">
|
|
||||||
<el-row :gutter="24">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="变电站名称" prop="name">
|
|
||||||
<el-input
|
|
||||||
v-model="queryForm.name"
|
|
||||||
placeholder="请输入变电站名称"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="电压等级" prop="elecLevel">
|
|
||||||
<el-input
|
|
||||||
v-model="queryForm.elecLevel"
|
|
||||||
placeholder="请输入电压等级"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
>
|
|
||||||
<template slot="append">kV</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="24">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="变电站宽度" prop="width">
|
|
||||||
<el-input
|
|
||||||
v-model="queryForm.width"
|
|
||||||
placeholder="变电站宽度"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
>
|
|
||||||
<template slot="append">米</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="变电站长度" prop="length">
|
|
||||||
<el-input
|
|
||||||
v-model="queryForm.length"
|
|
||||||
placeholder="变电站长度"
|
|
||||||
clearable maxlength="20"
|
|
||||||
style="width: 200px;"
|
|
||||||
>
|
|
||||||
<template slot="append">米</template>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</el-form>
|
|
||||||
<div
|
|
||||||
style="
|
|
||||||
width: 100%;
|
|
||||||
height: 50px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: flex-end;
|
|
||||||
align-items: center;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<el-button type="primary" size="mini" @click="submit"
|
|
||||||
>确定</el-button
|
|
||||||
>
|
|
||||||
<el-button type="normal" size="mini" @click="closeClick"
|
|
||||||
>取消</el-button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { commonMixin } from '@/views/mixins/common'
|
|
||||||
import {querySubsStructureListApi,addSubs,editSubs,deleteSubs} from '@/api/substation/subsInfo'
|
|
||||||
export default {
|
|
||||||
mixins: [ commonMixin ],
|
|
||||||
props: {
|
|
||||||
sendMsg: {
|
|
||||||
type: Object,
|
|
||||||
default: null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
name: 'subsStructureDetect',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
showSearch: true,
|
|
||||||
showSubs: false,
|
|
||||||
sendId: undefined,
|
|
||||||
title: '',
|
|
||||||
|
|
||||||
// radioLevelList: [
|
|
||||||
// { value: 1, label: '≤10KV' },
|
|
||||||
// { value: 2, label: '20~35KV' },
|
|
||||||
// { value: 3, label: '66~110KV' },
|
|
||||||
// { value: 4, label: '220KV' },
|
|
||||||
// { value: 5, label: '330KV' },
|
|
||||||
// { value: 6, label: '500KV' },
|
|
||||||
// { value: 7, label: '700KV' },
|
|
||||||
// { value: 8, label: '1000KV' },
|
|
||||||
// // 可以添加更多选项
|
|
||||||
// ],
|
|
||||||
queryParams: {
|
|
||||||
sName: '',
|
|
||||||
elecLevel: "",
|
|
||||||
pageNum: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
},
|
|
||||||
|
|
||||||
queryForm: {
|
|
||||||
id: undefined,
|
|
||||||
proId: undefined,
|
|
||||||
name: '',
|
|
||||||
elecLevel: "",
|
|
||||||
width: '',
|
|
||||||
length: '',
|
|
||||||
},
|
|
||||||
|
|
||||||
tableList: [],
|
|
||||||
total: 0,
|
|
||||||
rules: {
|
|
||||||
name: [{ required: true, message: '请输入变电站名称', trigger: 'blur' }],
|
|
||||||
elecLevel: [{ required: true, message: '请输入电压等级', trigger: 'blur' },
|
|
||||||
{
|
|
||||||
validator: (rule, value, callback) => {
|
|
||||||
if (value === '' || value === null) {
|
|
||||||
return callback(new Error('请正确输入电压等级(正整数)'));
|
|
||||||
}
|
|
||||||
if (!/^[1-9]\d*$/.test(value)) {
|
|
||||||
return callback(new Error('请输入正整数'));
|
|
||||||
}
|
|
||||||
callback();
|
|
||||||
},
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
width: [{ required: true, message: '请输入变电站宽度', trigger: 'blur' },
|
|
||||||
{
|
|
||||||
validator: (rule, value, callback) => {
|
|
||||||
if (value === '' || value === null) {
|
|
||||||
return callback(new Error('请正确输入变电站宽度(小数点后最多保留两位)'));
|
|
||||||
}
|
|
||||||
const regexTwo = /^[+-]?(\d+(\.\d*)?|\.\d*[1-9]\d*)$/;
|
|
||||||
if(!regexTwo.test(value)){
|
|
||||||
return callback(new Error('请勿输入非数字'));
|
|
||||||
}
|
|
||||||
const valueTemp = parseFloat(value);
|
|
||||||
if(valueTemp.toString().includes('.')==true){
|
|
||||||
if (valueTemp.toString().split(".")[1].length>2) {
|
|
||||||
callback(new Error('请正确输入变电站宽度(小数点后最多保留两位)'));
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
length: [{ required: true, message: '请输入变电站长度', trigger: 'blur' },
|
|
||||||
{
|
|
||||||
validator: (rule, value, callback) => {
|
|
||||||
if (value === '' || value === null) {
|
|
||||||
return callback(new Error('请正确输入变电站长度(小数点后最多保留两位)'));
|
|
||||||
}
|
|
||||||
const regexTwo = /^[+-]?(\d+(\.\d*)?|\.\d*[1-9]\d*)$/;
|
|
||||||
if(!regexTwo.test(value)){
|
|
||||||
return callback(new Error('请勿输入非数字'));
|
|
||||||
}
|
|
||||||
const valueTemp = parseFloat(value);
|
|
||||||
if(valueTemp.toString().includes('.')==true){
|
|
||||||
if (valueTemp.toString().split(".")[1].length>2) {
|
|
||||||
callback(new Error('请正确输入变电站长度(小数点后最多保留两位)'));
|
|
||||||
} else {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
trigger: 'blur'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {},
|
|
||||||
mounted() {
|
|
||||||
this.sendId = this.sendMsg.projectId
|
|
||||||
this.getList(this.sendMsg.projectId)
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
//获取变电站结构表格
|
|
||||||
async getList(proId) {
|
|
||||||
let res = await querySubsStructureListApi({
|
|
||||||
proId,
|
|
||||||
})
|
|
||||||
this.tableList = res.rows
|
|
||||||
this.total = res.total
|
|
||||||
},
|
|
||||||
|
|
||||||
async getTableList() {
|
|
||||||
this.queryParams.proId = this.sendMsg.projectId
|
|
||||||
let res = await querySubsStructureListApi(this.queryParams)
|
|
||||||
this.tableList = res.rows
|
|
||||||
this.total = res.total
|
|
||||||
},
|
|
||||||
|
|
||||||
//搜索
|
|
||||||
handleQuery() {
|
|
||||||
this.getTableList()
|
|
||||||
},
|
|
||||||
|
|
||||||
//新增
|
|
||||||
handleAdd() {
|
|
||||||
this.queryForm = {
|
|
||||||
id: undefined,
|
|
||||||
proId: undefined,
|
|
||||||
name: '',
|
|
||||||
elecLevel: "",
|
|
||||||
width: '',
|
|
||||||
length: '',
|
|
||||||
},
|
|
||||||
this.resetForm("queryForm");
|
|
||||||
this.title = '新增'
|
|
||||||
this.showSubs = true
|
|
||||||
},
|
|
||||||
|
|
||||||
//编辑
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.queryForm.id = row.id
|
|
||||||
this.queryForm.name = row.name
|
|
||||||
this.queryForm.elecLevel = row.elecLevel
|
|
||||||
this.queryForm.width = row.width
|
|
||||||
this.queryForm.length = row.length
|
|
||||||
this.title = '编辑'
|
|
||||||
this.showSubs = true
|
|
||||||
},
|
|
||||||
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
const id = row.id
|
|
||||||
this.$modal.confirm('是否确认删除该条数据').then(function() {
|
|
||||||
return deleteSubs({'id':id});
|
|
||||||
}).then(() => {
|
|
||||||
this.getTableList()
|
|
||||||
this.$modal.msgSuccess("删除成功");
|
|
||||||
}).catch(() => {})
|
|
||||||
},
|
|
||||||
|
|
||||||
/** 提交按钮 */
|
|
||||||
submit() {
|
|
||||||
this.$refs["queryForm"].validate(valid => {
|
|
||||||
if (valid) {
|
|
||||||
this.queryForm.proId = this.sendId;
|
|
||||||
if (this.queryForm.id) {
|
|
||||||
editSubs(this.queryForm).then(response => {
|
|
||||||
this.$modal.msgSuccess("修改成功");
|
|
||||||
this.showSubs = false;
|
|
||||||
this.getTableList();
|
|
||||||
// this.getListGt();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
addSubs(this.queryForm).then(response => {
|
|
||||||
this.$modal.msgSuccess("新增成功");
|
|
||||||
this.showSubs = false;
|
|
||||||
this.getTableList();
|
|
||||||
// this.getListGt();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
closeClick() {
|
|
||||||
this.showSubs = false
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang='less' scoped>
|
|
||||||
|
|
||||||
/deep/ .el-collapse-item__header {
|
|
||||||
background-color: transparent !important;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding-left: 15px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
border-bottom: 1px solid #BAC4CD;
|
|
||||||
}
|
|
||||||
|
|
||||||
/deep/ .el-collapse-item__content {
|
|
||||||
padding-bottom: 0;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/deep/ .el-collapse-item__wrap {
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'YouShe';
|
|
||||||
src: url("../../assets/iconfont/YouSheBiaoTiHei.ttf");
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-input__inner {
|
|
||||||
background-color: #FFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hole-page{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
.tower-detect{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-color: #F3F7FF;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 15px 20px;
|
|
||||||
border-radius: 5px;
|
|
||||||
border: 1px solid #EFF2FC;
|
|
||||||
box-shadow: 2px 2px 2px #D9E0F3;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
margin-right: 20px;
|
|
||||||
|
|
||||||
.inner-tit{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 10px 20px;
|
|
||||||
background-color: #EFF4FE;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
color: #000;
|
|
||||||
font-size: 20px;
|
|
||||||
font-family: 'YouShe', sans-serif;
|
|
||||||
box-shadow: -3px -3px 2px #CBDCF6,
|
|
||||||
2px 2px 2px #F8F9FE,
|
|
||||||
-2px -2px 2px #CBDCF6,
|
|
||||||
2px 2px 2px #F8F9FE;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
|
|
||||||
img{
|
|
||||||
|
|
||||||
margin-right: 10px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.tower-info{
|
|
||||||
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.tower-lef{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
margin-right: 15px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
|
|
||||||
.lef-spin{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 4%;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
color: #000;
|
|
||||||
font-size: 16px;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
|
|
||||||
div{
|
|
||||||
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
margin-right: 12px;
|
|
||||||
|
|
||||||
h4{
|
|
||||||
|
|
||||||
width: 15px;
|
|
||||||
height: 15px;
|
|
||||||
margin-right: 12px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
span{
|
|
||||||
|
|
||||||
padding: 15px 0;
|
|
||||||
color: #000;
|
|
||||||
font-size: 16px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.lef-tower-pic{
|
|
||||||
|
|
||||||
width: 100%;
|
|
||||||
height: 350px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 10px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: left;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
.single-tower{
|
|
||||||
|
|
||||||
width: 40%;
|
|
||||||
height: 100px;
|
|
||||||
display: flex;
|
|
||||||
margin-right: 20px;
|
|
||||||
flex-direction: column; /* 垂直排列内部元素 */
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
img{
|
|
||||||
|
|
||||||
width: 60%;
|
|
||||||
height: 70%;
|
|
||||||
|
|
||||||
}
|
|
||||||
.dev-name {
|
|
||||||
text-align: center; /* 文本居中对齐 */
|
|
||||||
margin-top: 5px; /* 根据需要调整间距 */
|
|
||||||
font-size: 16px;
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.isActive{
|
|
||||||
|
|
||||||
background: linear-gradient(135deg, #EEF7FF, #DDEDFF, #C2DCFF);
|
|
||||||
border: 1px solid #B8D2ED;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="title-text">
|
<div class="title-text">
|
||||||
变电站扩建工程施工现场智能风险预警系统
|
输变电工程施工现场安全风险预警系统
|
||||||
</div>
|
</div>
|
||||||
<div class="inner-tit">
|
<div class="inner-tit">
|
||||||
<div v-for="item in titList1" :key="item.id"
|
<div v-for="item in titList1" :key="item.id"
|
||||||
|
|
|
||||||
|
|
@ -98,28 +98,20 @@
|
||||||
v-if="currentLefIndex === 4"
|
v-if="currentLefIndex === 4"
|
||||||
:send-msg="sendMsg"
|
:send-msg="sendMsg"
|
||||||
></pit-detect>
|
></pit-detect>
|
||||||
<subsStructure-detect
|
|
||||||
v-if="currentLefIndex === 5"
|
|
||||||
:send-msg="sendMsg"
|
|
||||||
></subsStructure-detect>
|
|
||||||
<subsPipe-detect
|
|
||||||
v-if="currentLefIndex === 6"
|
|
||||||
:send-msg="sendMsg"
|
|
||||||
></subsPipe-detect>
|
|
||||||
<deform-detect
|
<deform-detect
|
||||||
v-if="currentLefIndex === 7"
|
v-if="currentLefIndex === 5"
|
||||||
:send-msg="sendMsg"
|
:send-msg="sendMsg"
|
||||||
></deform-detect>
|
></deform-detect>
|
||||||
<gll-detect
|
<gll-detect
|
||||||
v-if="currentLefIndex === 8"
|
v-if="currentLefIndex === 6"
|
||||||
:send-msg="sendMsg"
|
:send-msg="sendMsg"
|
||||||
></gll-detect>
|
></gll-detect>
|
||||||
<restrictedSpace-detect
|
<restrictedSpace-detect
|
||||||
v-if="currentLefIndex === 9"
|
v-if="currentLefIndex === 7"
|
||||||
:send-msg="sendMsg"
|
:send-msg="sendMsg"
|
||||||
></restrictedSpace-detect>
|
></restrictedSpace-detect>
|
||||||
<powerWork-detect
|
<powerWork-detect
|
||||||
v-if="currentLefIndex === 10"
|
v-if="currentLefIndex === 8"
|
||||||
:send-msg="sendMsg"
|
:send-msg="sendMsg"
|
||||||
></powerWork-detect>
|
></powerWork-detect>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -143,8 +135,6 @@ import DeformDetect from '../../components/substation/deformDetect.vue'
|
||||||
import GllDetect from '../../components/substation/gllDetect.vue'
|
import GllDetect from '../../components/substation/gllDetect.vue'
|
||||||
import PowerWorkDetect from '../../components/substation/powerWorkDetect.vue'
|
import PowerWorkDetect from '../../components/substation/powerWorkDetect.vue'
|
||||||
import RestrictedSpaceDetect from '../../components/substation/restrictedSpaceDetect.vue'
|
import RestrictedSpaceDetect from '../../components/substation/restrictedSpaceDetect.vue'
|
||||||
import SubsStructureDetect from '../../components/substation/subsStructureDetect.vue'
|
|
||||||
import SubsPipeDetect from '../../components/substation/subsPipeDetect.vue'
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
GlobalBar,
|
GlobalBar,
|
||||||
|
|
@ -157,9 +147,7 @@ export default {
|
||||||
DeformDetect,
|
DeformDetect,
|
||||||
GllDetect,
|
GllDetect,
|
||||||
PowerWorkDetect,
|
PowerWorkDetect,
|
||||||
RestrictedSpaceDetect,
|
RestrictedSpaceDetect
|
||||||
SubsStructureDetect,
|
|
||||||
SubsPipeDetect
|
|
||||||
},
|
},
|
||||||
name: 'Substation',
|
name: 'Substation',
|
||||||
data() {
|
data() {
|
||||||
|
|
@ -182,12 +170,10 @@ export default {
|
||||||
{ title: '环境检测类', id: 2 },
|
{ title: '环境检测类', id: 2 },
|
||||||
{ title: '组塔检测类', id: 3 },
|
{ title: '组塔检测类', id: 3 },
|
||||||
{ title: '基坑检测类', id: 4 },
|
{ title: '基坑检测类', id: 4 },
|
||||||
{ title: '变电站结构', id: 5 },
|
{ title: '形变监测类', id: 5 },
|
||||||
{ title: '变电站管网结构', id: 6 },
|
{ title: 'GLL通管监测类', id: 6 },
|
||||||
{ title: '形变监测类', id: 7 },
|
{ title: '受限空间视频预警', id: 7 },
|
||||||
{ title: 'GLL通管监测类', id: 8 },
|
{ title: '近电作业检测', id: 8 },
|
||||||
{ title: '受限空间视频预警', id: 9 },
|
|
||||||
{ title: '近电作业检测', id: 10 },
|
|
||||||
],
|
],
|
||||||
sendMsg: undefined,
|
sendMsg: undefined,
|
||||||
sendGeo: undefined
|
sendGeo: undefined
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<div class="loginContainer">
|
<div class="loginContainer">
|
||||||
<div class="login_header">
|
<div class="login_header">
|
||||||
<div class="login_header_title">
|
<div class="login_header_title">
|
||||||
<div class="login_header">变电站扩建工程施工现场智能风险预警系统</div>
|
<div class="login_header">输变电工程施工现场安全风险预警系统</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 内容部分 -->
|
<!-- 内容部分 -->
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="login">
|
<div class="login">
|
||||||
<h3 class="title" style="font-weight: bold;">变电站扩建工程施工现场智能风险预警系统</h3>
|
<h3 class="title" style="font-weight: bold;">输变电工程施工现场安全风险预警系统</h3>
|
||||||
<div class="login-form">
|
<div class="login-form">
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules">
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules">
|
||||||
<!-- -->
|
<!-- -->
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ function resolve(dir) {
|
||||||
|
|
||||||
const CompressionPlugin = require('compression-webpack-plugin')
|
const CompressionPlugin = require('compression-webpack-plugin')
|
||||||
|
|
||||||
const name = process.env.VUE_APP_TITLE || '变电站扩建工程施工现场智能风险预警系统' // 网页标题
|
const name = process.env.VUE_APP_TITLE || '输变电工程施工现场安全风险预警系统' // 网页标题
|
||||||
|
|
||||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue