缺陷修改
This commit is contained in:
parent
bc05013751
commit
aa6c627228
@ -56,7 +56,7 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
.tox-tinymce {
|
.tox-tinymce {
|
||||||
border: 1px solid #4c4d4f;
|
border: 1px solid #225b7e;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -2853,7 +2853,7 @@ body.tox-dialog__disable-scroll {
|
|||||||
}
|
}
|
||||||
.tox .tox-statusbar {
|
.tox .tox-statusbar {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: #202020 !important;
|
background-color: #001e55 !important;
|
||||||
border-top: 1px solid rgba(255, 255, 255, 0.15);
|
border-top: 1px solid rgba(255, 255, 255, 0.15);
|
||||||
color: rgba(255, 255, 255, 0.75);
|
color: rgba(255, 255, 255, 0.75);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
4449
riis-web/public/tinymce/skins/ui/oxide/skin.min.css
vendored
4449
riis-web/public/tinymce/skins/ui/oxide/skin.min.css
vendored
File diff suppressed because one or more lines are too long
@ -18,7 +18,7 @@ export function getTableData(params: any) {
|
|||||||
//查看详情-修正
|
//查看详情-修正
|
||||||
export function editCorrect(params: any) {
|
export function editCorrect(params: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/patroltasks/task-todo/updateTaskResult',
|
url: '/patroltasks/task-todo/updateTaskResultById',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
@ -26,7 +26,7 @@ export function editCorrect(params: any) {
|
|||||||
//审查任务执行情况
|
//审查任务执行情况
|
||||||
export function examination(params: any) {
|
export function examination(params: any) {
|
||||||
return request({
|
return request({
|
||||||
url: '/patroltasks/task-todo/updateTaskTodo',
|
url: '/patroltasks/task-todo/updateTaskTodoById',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: params
|
data: params
|
||||||
});
|
});
|
||||||
|
@ -634,7 +634,8 @@ input {
|
|||||||
background: transparent !important;
|
background: transparent !important;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
height: 40px !important;
|
min-height: 40px !important;
|
||||||
|
height: auto !important;
|
||||||
margin: auto !important;
|
margin: auto !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -837,11 +838,13 @@ input {
|
|||||||
}
|
}
|
||||||
//左侧树统一样式
|
//左侧树统一样式
|
||||||
.el-tree-node.is-current > .el-tree-node__content {
|
.el-tree-node.is-current > .el-tree-node__content {
|
||||||
background: none !important;
|
// background: none !important;
|
||||||
background-image: url(@/assets/sytlechange/treeBack.svg) !important;
|
background-image: url(@/assets/sytlechange/treeBack.svg) !important;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100% !important;
|
||||||
color: #00ffff !important;
|
color: #00ffff !important;
|
||||||
background-repeat: no-repeat !important;
|
background-repeat: no-repeat !important;
|
||||||
|
min-height: 40px !important;
|
||||||
|
height: auto !important;
|
||||||
}
|
}
|
||||||
.el-tree-node__content:hover{
|
.el-tree-node__content:hover{
|
||||||
color:#00ffff;
|
color:#00ffff;
|
||||||
@ -860,3 +863,12 @@ input {
|
|||||||
border-left: #0099ff 3px solid;
|
border-left: #0099ff 3px solid;
|
||||||
border-right: #0099ff 3px solid;
|
border-right: #0099ff 3px solid;
|
||||||
}
|
}
|
||||||
|
.tox:not(.tox-tinymce-inline) .tox-editor-header{
|
||||||
|
background-color: #ffffff00 !important;
|
||||||
|
}
|
||||||
|
.tox .tox-toolbar-overlord > .tox-toolbar__primary{
|
||||||
|
background-color: #001e55 !important;
|
||||||
|
}
|
||||||
|
.tox .tox-statusbar{
|
||||||
|
background-color: #001e55 !important;
|
||||||
|
}
|
||||||
|
@ -131,9 +131,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
<div v-if="selType == '01'" class="three-right-list-main-tab">
|
<div v-if="selType == '01'" class="three-right-list-main-tab">
|
||||||
<div :class="isOnLine == '01' ? 'three-right-list-main-tab-hov' : ''" @click.stop="rightTabClik('01')">全部</div>
|
<div :class="isOnLine == '01' ? 'three-right-list-main-tab-hov' : ''" @click.stop="rightTabClik('01')">全部
|
||||||
<div :class="isOnLine == '02' ? 'three-right-list-main-tab-hov' : ''" @click.stop="rightTabClik('02')">在线</div>
|
</div>
|
||||||
<div :class="isOnLine == '03' ? 'three-right-list-main-tab-hov' : ''" @click.stop="rightTabClik('03')">离线</div>
|
<div :class="isOnLine == '02' ? 'three-right-list-main-tab-hov' : ''" @click.stop="rightTabClik('02')">在线
|
||||||
|
</div>
|
||||||
|
<div :class="isOnLine == '03' ? 'three-right-list-main-tab-hov' : ''" @click.stop="rightTabClik('03')">离线
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul v-show="selType != '04' && selType != '03' && selType != '07'"
|
<ul v-show="selType != '04' && selType != '03' && selType != '07'"
|
||||||
@ -179,7 +182,8 @@
|
|||||||
src="@/assets/3d/sc_dis.png" title="实时视频" alt="实时视频">
|
src="@/assets/3d/sc_dis.png" title="实时视频" alt="实时视频">
|
||||||
<img v-if="i.objinfo != undefined && i.objinfo.channelList != undefined && i.objinfo.online == 1"
|
<img v-if="i.objinfo != undefined && i.objinfo.channelList != undefined && i.objinfo.online == 1"
|
||||||
src="@/assets/3d/ks.png" title="实时视频-1" alt="实时视频-1" @click.stop="realTimeVideo(i, 0)">
|
src="@/assets/3d/ks.png" title="实时视频-1" alt="实时视频-1" @click.stop="realTimeVideo(i, 0)">
|
||||||
<img v-if="i.objinfo != undefined && i.objinfo.channelList != undefined && i.objinfo.channelList.length == 2"
|
<img
|
||||||
|
v-if="i.objinfo != undefined && i.objinfo.channelList != undefined && i.objinfo.channelList.length == 2"
|
||||||
src="@/assets/3d/ks.png" title="实时视频-2" alt="实时视频-2" @click.stop="realTimeVideo(i, 1)">
|
src="@/assets/3d/ks.png" title="实时视频-2" alt="实时视频-2" @click.stop="realTimeVideo(i, 1)">
|
||||||
<img src="@/assets/newimg/ht_sc.png" title="删除摄像机" alt="删除摄像机" @click.stop="listDel(i)">
|
<img src="@/assets/newimg/ht_sc.png" title="删除摄像机" alt="删除摄像机" @click.stop="listDel(i)">
|
||||||
<img v-show="i.type == 'Camera' && !i.start" src="@/assets/3d/ange.png" title="摄像机范围" alt="摄像机范围"
|
<img v-show="i.type == 'Camera' && !i.start" src="@/assets/3d/ange.png" title="摄像机范围" alt="摄像机范围"
|
||||||
@ -214,9 +218,9 @@
|
|||||||
<img src="@/assets/3d/spjk_ss.png" style="cursor:pointer ;">
|
<img src="@/assets/3d/spjk_ss.png" style="cursor:pointer ;">
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-tree ref="treeRef" v-show="selType == '03' || selType == '04' || selType == '07'" :expand-on-click-node="false"
|
<el-tree ref="treeRef" v-show="selType == '03' || selType == '04' || selType == '07'"
|
||||||
default-expand-all node-key="id" :data="searchdata" :props="defaultProps" :filter-node-method="filterNode"
|
:expand-on-click-node="false" default-expand-all node-key="id" :data="searchdata" :props="defaultProps"
|
||||||
@node-click="handleNodeClick" style="margin-top:10px;">
|
:filter-node-method="filterNode" @node-click="handleNodeClick" style="margin-top:10px;">
|
||||||
<template #default="{ node, data }">
|
<template #default="{ node, data }">
|
||||||
<div v-show="selType == '03'" class="w-full">
|
<div v-show="selType == '03'" class="w-full">
|
||||||
<div v-show="node.level == 1" style="display:flex;justify-content:space-between;width:100%">
|
<div v-show="node.level == 1" style="display:flex;justify-content:space-between;width:100%">
|
||||||
@ -273,7 +277,8 @@
|
|||||||
@click.stop="informationClick(data), handleNodeClick(data, node)">
|
@click.stop="informationClick(data), handleNodeClick(data, node)">
|
||||||
<img v-show="data.objinfo == undefined" @click.stop src="@/assets/3d/xq_dis.png" title="无人车信息"
|
<img v-show="data.objinfo == undefined" @click.stop src="@/assets/3d/xq_dis.png" title="无人车信息"
|
||||||
alt="无人车信息">
|
alt="无人车信息">
|
||||||
<img v-if="data.objinfo == undefined || data.objinfo.channelList == undefined || data.objinfo.online == 0"
|
<img
|
||||||
|
v-if="data.objinfo == undefined || data.objinfo.channelList == undefined || data.objinfo.online == 0"
|
||||||
src="@/assets/3d/sc_dis.png" title="实时视频" alt="实时视频">
|
src="@/assets/3d/sc_dis.png" title="实时视频" alt="实时视频">
|
||||||
<img v-if="data.objinfo != undefined && data.objinfo.channelList != undefined" src="@/assets/3d/ks.png"
|
<img v-if="data.objinfo != undefined && data.objinfo.channelList != undefined" src="@/assets/3d/ks.png"
|
||||||
title="实时视频-1" alt="实时视频-1" @click.stop="realTimeVideo(data, 0)">
|
title="实时视频-1" alt="实时视频-1" @click.stop="realTimeVideo(data, 0)">
|
||||||
@ -425,24 +430,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="display: flex;align-items: center;"
|
<div style="display: flex;align-items: center;"
|
||||||
v-if="selType == '02' || lineDrapStart == true || isUAVdropLine == true">
|
v-if="selType == '02' || lineDrapStart == true || isUAVdropLine == true">
|
||||||
<el-input class="!w-[170px] mr-2" v-model="deviceName" clearable placeholder="请输入点位名称" @clear="getDevice()"
|
<el-input class="!w-[170px] mr-2" v-model="deviceName" clearable placeholder="请输入点位名称"
|
||||||
@keyup.enter="getDevice()" />
|
@change="getDevice()" />
|
||||||
<el-select v-model="deviceInfo.mainDeviceId" class="mr-2 selType" placeholder="区域" clearable
|
<el-select v-model="deviceInfo.areaId" class="mr-2 selType" placeholder="区域" @change="getbay()" clearable
|
||||||
@change="getDevice" :teleported="false" :popper-append-to-body="false">
|
:teleported="false" :popper-append-to-body="false">
|
||||||
|
<el-option v-for="item in areaIdType" :key="item.id" :label="item.areaName" :value="item.areaId" />
|
||||||
|
</el-select>
|
||||||
|
<el-select :disabled="!deviceInfo.areaId" v-model="deviceInfo.bayId" class="mr-2 selType" placeholder="间隔"
|
||||||
|
@change="getmainDevice()" :teleported="false" :popper-append-to-body="false" clearable>
|
||||||
|
<el-option v-for="item in bayIdType" :key="item.bayId" :label="item.bayName" :value="item.bayId" />
|
||||||
|
</el-select>
|
||||||
|
<el-select :disabled="!deviceInfo.bayId" v-model="deviceInfo.mainDeviceId" class="mr-2 selType"
|
||||||
|
placeholder="主设备" clearable @change="getcomponent" :teleported="false" :popper-append-to-body="false">
|
||||||
<el-option v-for="item in deviceMain" :key="item.mainDeviceId" :label="item.mainDeviceName"
|
<el-option v-for="item in deviceMain" :key="item.mainDeviceId" :label="item.mainDeviceName"
|
||||||
:value="item.mainDeviceId" />
|
:value="item.mainDeviceId" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-select v-model="deviceInfo.mainDeviceId" class="mr-2 selType" placeholder="间隔" clearable
|
<el-select :disabled="!deviceInfo.mainDeviceId" v-model="deviceInfo.componentId" class="mr-2 selType" placeholder="部件" clearable
|
||||||
@change="getDevice" :teleported="false" :popper-append-to-body="false">
|
|
||||||
<el-option v-for="item in deviceMain" :key="item.mainDeviceId" :label="item.mainDeviceName"
|
|
||||||
:value="item.mainDeviceId" />
|
|
||||||
</el-select>
|
|
||||||
<el-select v-model="deviceInfo.mainDeviceId" class="mr-2 selType" placeholder="主设备" clearable
|
|
||||||
@change="getDevice" :teleported="false" :popper-append-to-body="false">
|
|
||||||
<el-option v-for="item in deviceMain" :key="item.mainDeviceId" :label="item.mainDeviceName"
|
|
||||||
:value="item.mainDeviceId" />
|
|
||||||
</el-select>
|
|
||||||
<el-select v-model="deviceInfo.componentId" class="mr-2 selType" placeholder="部件" clearable
|
|
||||||
@change="getDevice" :teleported="false" :popper-append-to-body="false">
|
@change="getDevice" :teleported="false" :popper-append-to-body="false">
|
||||||
<el-option v-for="item in deviceComponent" :key="item.componentId" :label="item.componentName"
|
<el-option v-for="item in deviceComponent" :key="item.componentId" :label="item.componentName"
|
||||||
:value="item.componentId" />
|
:value="item.componentId" />
|
||||||
@ -559,16 +562,17 @@
|
|||||||
style="width: 100%;margin:auto;position: relative;height:570px;overflow: auto;margin:10px 0"
|
style="width: 100%;margin:auto;position: relative;height:570px;overflow: auto;margin:10px 0"
|
||||||
:header-cell-style="{ background: '#253b51', color: '#b5d7ff', height: '50px' }" @row-click="rowClick">
|
:header-cell-style="{ background: '#253b51', color: '#b5d7ff', height: '50px' }" @row-click="rowClick">
|
||||||
<el-table-column type="index" align="center" label="序号" width="60" />
|
<el-table-column type="index" align="center" label="序号" width="60" />
|
||||||
<el-table-column prop="deviceName" label="点位名称" width="140" />
|
<el-table-column prop="deviceName" label="点位名称" />
|
||||||
<el-table-column prop="mainDeviceName" label="所属主设备" width="160" />
|
<el-table-column prop="mainDeviceName" label="所属主设备" />
|
||||||
<el-table-column prop="componentName" label="所属部件" />
|
<el-table-column prop="componentName" label="所属部件" />
|
||||||
<el-table-column label="关联摄像机/预置位" width="200px">
|
<el-table-column label="关联摄像机/预置位" width="200px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ scope.row.device_code }}/{{ scope.row.device_name }}</span>
|
<span>{{ scope.row.device_code }}/{{ scope.row.device_name }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="recognitionTypeList" label="识别类型">
|
<el-table-column prop="recognitionTypeList" label="识别类型" width="120px" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
<!-- 局放特高频检测 -->
|
||||||
<span v-if="scope.row.recognitionTypeList == 1">表计读取</span>
|
<span v-if="scope.row.recognitionTypeList == 1">表计读取</span>
|
||||||
<span v-if="scope.row.recognitionTypeList == 2">位置状态识别</span>
|
<span v-if="scope.row.recognitionTypeList == 2">位置状态识别</span>
|
||||||
<span v-if="scope.row.recognitionTypeList == 3">设备外观查看</span>
|
<span v-if="scope.row.recognitionTypeList == 3">设备外观查看</span>
|
||||||
@ -710,7 +714,8 @@
|
|||||||
</Page>
|
</Page>
|
||||||
<Page v-show="selType == '02'" style="position: relative;z-index: 100;" :total="total"
|
<Page v-show="selType == '02'" style="position: relative;z-index: 100;" :total="total"
|
||||||
v-model:size="deviceInfo.size" :jumper="'hide'" v-model:current="deviceInfo.current"
|
v-model:size="deviceInfo.size" :jumper="'hide'" v-model:current="deviceInfo.current"
|
||||||
@pagination="getDevice()"></Page>
|
@pagination="getDevice()">
|
||||||
|
</Page>
|
||||||
<Page v-show="selType == '04'" style="position: relative;z-index: 100;" :total="total"
|
<Page v-show="selType == '04'" style="position: relative;z-index: 100;" :total="total"
|
||||||
v-model:size="robotInfo.size" :jumper="'hide'" v-model:current="robotInfo.current" @pagination="getRobot()">
|
v-model:size="robotInfo.size" :jumper="'hide'" v-model:current="robotInfo.current" @pagination="getRobot()">
|
||||||
</Page>
|
</Page>
|
||||||
@ -722,7 +727,8 @@
|
|||||||
@pagination="getmainDevicePage()"></Page>
|
@pagination="getmainDevicePage()"></Page>
|
||||||
<Page v-show="selType == '05' && associationTitle == '关联部件'" style="position: relative;z-index: 100;"
|
<Page v-show="selType == '05' && associationTitle == '关联部件'" style="position: relative;z-index: 100;"
|
||||||
:total="total" v-model:size="pageInfo.size" :jumper="'hide'" v-model:current="pageInfo.current"
|
:total="total" v-model:size="pageInfo.size" :jumper="'hide'" v-model:current="pageInfo.current"
|
||||||
@pagination="getComponentPage()"></Page>
|
@pagination="getComponentPage()">
|
||||||
|
</Page>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</Eldialog>
|
</Eldialog>
|
||||||
@ -732,8 +738,8 @@
|
|||||||
<template v-slot:PopFrameContent>
|
<template v-slot:PopFrameContent>
|
||||||
<div class="mt-[15px]" style="display: flex;align-items: center; justify-content: space-between;">
|
<div class="mt-[15px]" style="display: flex;align-items: center; justify-content: space-between;">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<el-input class="!w-[170px] mr-2" v-model="patrolDeviceName" placeholder="请输入巡视路线名称" @clear="searchNmaeLine()"
|
<el-input class="!w-[170px] mr-2" v-model="patrolDeviceName" placeholder="请输入巡视路线名称"
|
||||||
@keyup.enter="searchNmaeLine()" />
|
@clear="searchNmaeLine()" @keyup.enter="searchNmaeLine()" />
|
||||||
<el-button class="searchButton" @click="searchNmaeLine">搜索</el-button>
|
<el-button class="searchButton" @click="searchNmaeLine">搜索</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-button class="searchButton" @click="associationLineConfirm">确定</el-button>
|
<el-button class="searchButton" @click="associationLineConfirm">确定</el-button>
|
||||||
@ -857,8 +863,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="任务优先级" style="width:50%" class="screenHomepage ">
|
<el-form-item label="任务优先级" style="width:50%" class="screenHomepage ">
|
||||||
<el-select class="selType" :teleported="false" :popper-append-to-body="false" :disabled="info.taskType == ''"
|
<el-select class="selType" :teleported="false" :popper-append-to-body="false"
|
||||||
v-model="info.priority" placeholder="请选择任务优先级" style="width: 100%">
|
:disabled="info.taskType == ''" v-model="info.priority" placeholder="请选择任务优先级" style="width: 100%">
|
||||||
<el-option v-for="item in priority" :key="item.id" :label="item.dictname" :value="item.itemcode" />
|
<el-option v-for="item in priority" :key="item.id" :label="item.dictname" :value="item.itemcode" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -967,7 +973,8 @@
|
|||||||
<div style="margin-top: -3px;">上午:</div>
|
<div style="margin-top: -3px;">上午:</div>
|
||||||
<el-checkbox-group v-model="checkListtime" @change="rediodtime(4)">
|
<el-checkbox-group v-model="checkListtime" @change="rediodtime(4)">
|
||||||
<div style=" display: flex;flex-wrap: wrap ;align-items: center;justify-content: flex-start;">
|
<div style=" display: flex;flex-wrap: wrap ;align-items: center;justify-content: flex-start;">
|
||||||
<el-checkbox style="display: block;" v-for="item in appointtime1" :label="item" size="large" />
|
<el-checkbox style="display: block;" v-for="item in appointtime1" :label="item"
|
||||||
|
size="large" />
|
||||||
</div>
|
</div>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
@ -975,7 +982,8 @@
|
|||||||
<div style="margin-top: -3px;">下午:</div>
|
<div style="margin-top: -3px;">下午:</div>
|
||||||
<el-checkbox-group v-model="checkListtime" @change="rediodtime(4)">
|
<el-checkbox-group v-model="checkListtime" @change="rediodtime(4)">
|
||||||
<div style=" display: flex;flex-wrap: wrap ;align-items: center;justify-content: flex-start;">
|
<div style=" display: flex;flex-wrap: wrap ;align-items: center;justify-content: flex-start;">
|
||||||
<el-checkbox style="display: block;" v-for="item in appointtime2" :label="item" size="large" />
|
<el-checkbox style="display: block;" v-for="item in appointtime2" :label="item"
|
||||||
|
size="large" />
|
||||||
</div>
|
</div>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
@ -1061,10 +1069,8 @@
|
|||||||
<div style="margin-top: 20px;margin-bottom:10px;color:#fff;font-size: 14px;">表达式</div>
|
<div style="margin-top: 20px;margin-bottom:10px;color:#fff;font-size: 14px;">表达式</div>
|
||||||
<div class="zuihou"> <el-input v-model="resentation" style="height: 40px;" disabled /></div>
|
<div class="zuihou"> <el-input v-model="resentation" style="height: 40px;" disabled /></div>
|
||||||
<div style="width: 100%;display: flex;justify-content:center;margin-top:20px;">
|
<div style="width: 100%;display: flex;justify-content:center;margin-top:20px;">
|
||||||
<el-button class="three-button1" style="margin-right:40px;"
|
<el-button class="three-button1" style="margin-right:40px;" @click="cronExpressions = false">取消</el-button>
|
||||||
@click="cronExpressions = false">取消</el-button>
|
<el-button class="three-button1" @click="assignment">确定</el-button>
|
||||||
<el-button class="three-button1" @click="assignment"
|
|
||||||
>确定</el-button>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</Eldialog>
|
</Eldialog>
|
||||||
@ -1076,6 +1082,9 @@ import { getPatrolDeviceStatus, getDeviceByType } from '@/api/device'
|
|||||||
import { getSubstationBayByArea } from "@/api/task";
|
import { getSubstationBayByArea } from "@/api/task";
|
||||||
import { addTask } from "@/api/makeTask";
|
import { addTask } from "@/api/makeTask";
|
||||||
import { getdevicedata, getBayType, getMainEquipment, getComponentByBayPage, getMainDevicePage } from '@/api/device'
|
import { getdevicedata, getBayType, getMainEquipment, getComponentByBayPage, getMainDevicePage } from '@/api/device'
|
||||||
|
// import {
|
||||||
|
// getSubstationBayByArea,
|
||||||
|
// } from "@/api/algorithm";
|
||||||
import Page from '@/components/Pagination/page.vue'
|
import Page from '@/components/Pagination/page.vue'
|
||||||
import JessibucaPlayer from '@/components/jessibuca/index1.vue' // 视频
|
import JessibucaPlayer from '@/components/jessibuca/index1.vue' // 视频
|
||||||
import { useUserStore } from '@/store/modules/user'
|
import { useUserStore } from '@/store/modules/user'
|
||||||
@ -1186,7 +1195,7 @@ const isClick = ref(false)
|
|||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
initRenderer()
|
initRenderer()
|
||||||
setupWebSocket()
|
setupWebSocket()
|
||||||
|
|
||||||
//取消选中并且取消右键操作
|
//取消选中并且取消右键操作
|
||||||
document.body.onselectstart = document.body.oncontextmenu = function () {
|
document.body.onselectstart = document.body.oncontextmenu = function () {
|
||||||
return false
|
return false
|
||||||
@ -1210,8 +1219,8 @@ onBeforeUnmount(() => {
|
|||||||
cancelAnimationFrame(_animate)
|
cancelAnimationFrame(_animate)
|
||||||
THREE.Cache.clear()
|
THREE.Cache.clear()
|
||||||
if (ws1 != null) {
|
if (ws1 != null) {
|
||||||
ws1.close()
|
ws1.close()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
// 初始化渲染器
|
// 初始化渲染器
|
||||||
function initRenderer() {
|
function initRenderer() {
|
||||||
@ -1432,7 +1441,7 @@ function portClick(event) {
|
|||||||
// 取第一个(距离最近)的相交Mesh类型模型
|
// 取第一个(距离最近)的相交Mesh类型模型
|
||||||
// 如果要排除地面等参照模型,也可在此处添加判断条件
|
// 如果要排除地面等参照模型,也可在此处添加判断条件
|
||||||
if (intersections[i].object.type == 'TransformControlsPlane') continue
|
if (intersections[i].object.type == 'TransformControlsPlane') continue
|
||||||
drawline.value.push({x: intersections[i].point.x,y: 17.05,z: intersections[i].point.z})
|
drawline.value.push({ x: intersections[i].point.x, y: 17.05, z: intersections[i].point.z })
|
||||||
|
|
||||||
let gltfLoader = new OBJLoader() //obj加载器
|
let gltfLoader = new OBJLoader() //obj加载器
|
||||||
// 引入默认纹理
|
// 引入默认纹理
|
||||||
@ -3642,7 +3651,7 @@ function confirmClick() {
|
|||||||
if (dataJson.value.UV[i].line != '' && dataJson.value.UV[i].line != null) {
|
if (dataJson.value.UV[i].line != '' && dataJson.value.UV[i].line != null) {
|
||||||
let line = JSON.parse(dataJson.value.UV[i].line)
|
let line = JSON.parse(dataJson.value.UV[i].line)
|
||||||
if (dataSel.value == '') {
|
if (dataSel.value == '') {
|
||||||
if(line !=null) {
|
if (line != null) {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: '路线已绑定无人车,请解绑后重试',
|
message: '路线已绑定无人车,请解绑后重试',
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
@ -4193,7 +4202,7 @@ function removePointDiaConfirmClick() {
|
|||||||
if (selType.value == '03') {
|
if (selType.value == '03') {
|
||||||
for (let i = 0; i < scene.children.length; i++) {
|
for (let i = 0; i < scene.children.length; i++) {
|
||||||
if (scene.children[i].userData.type == 'linePonit') {
|
if (scene.children[i].userData.type == 'linePonit') {
|
||||||
|
|
||||||
if (treeId.value == scene.children[i].uuid) {
|
if (treeId.value == scene.children[i].uuid) {
|
||||||
scene.remove(scene.children[i])
|
scene.remove(scene.children[i])
|
||||||
i--
|
i--
|
||||||
@ -4202,7 +4211,7 @@ function removePointDiaConfirmClick() {
|
|||||||
if (scene.children[i].userData.type == 'PatrolLine') {
|
if (scene.children[i].userData.type == 'PatrolLine') {
|
||||||
for (let a = 0; a < scene.children[i].userData.linePonit.length; a++) {
|
for (let a = 0; a < scene.children[i].userData.linePonit.length; a++) {
|
||||||
if (treeId.value == scene.children[i].userData.linePonit[a].uuid) {
|
if (treeId.value == scene.children[i].userData.linePonit[a].uuid) {
|
||||||
scene.children[i].userData.linePonit.splice(a,1)
|
scene.children[i].userData.linePonit.splice(a, 1)
|
||||||
a--
|
a--
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4867,6 +4876,36 @@ function getData() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
//巡视点位关联查询
|
//巡视点位关联查询
|
||||||
|
function getbay() {
|
||||||
|
if (!deviceInfo.value.areaId) {
|
||||||
|
deviceInfo.value.mainDeviceId = ''
|
||||||
|
deviceInfo.value.componentId = ''
|
||||||
|
deviceInfo.value.bayId = ''
|
||||||
|
}
|
||||||
|
getDevice()
|
||||||
|
getSubstationBayByArea({ stationCode: userStore.stationCode, areaId: deviceInfo.value.areaId }).then((res) => {
|
||||||
|
bayIdType.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function getmainDevice() {
|
||||||
|
if (!deviceInfo.value.bayId) {
|
||||||
|
deviceInfo.value.mainDeviceId = ''
|
||||||
|
deviceInfo.value.componentId = ''
|
||||||
|
}
|
||||||
|
getDevice()
|
||||||
|
getMainEquipment({ bayId: deviceInfo.value.bayId }).then((res) => {
|
||||||
|
deviceMain.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function getcomponent() {
|
||||||
|
if (!deviceInfo.value.mainDeviceId) {
|
||||||
|
deviceInfo.value.componentId = ''
|
||||||
|
}
|
||||||
|
getDevice()
|
||||||
|
getBayType({ mainDeviceId: deviceInfo.value.mainDeviceId }).then((res) => {
|
||||||
|
deviceComponent.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
function getDevice() {
|
function getDevice() {
|
||||||
for (let i = 0; i < searchdata.value.length; i++) {
|
for (let i = 0; i < searchdata.value.length; i++) {
|
||||||
if (searchdata.value[i] != undefined && searchdata.value[i].objinfo != undefined && searchdata.value[i].objinfo.deviceId != undefined) {
|
if (searchdata.value[i] != undefined && searchdata.value[i].objinfo != undefined && searchdata.value[i].objinfo.deviceId != undefined) {
|
||||||
@ -4880,15 +4919,16 @@ function getDevice() {
|
|||||||
current: deviceInfo.value.current,
|
current: deviceInfo.value.current,
|
||||||
deviceName: deviceName.value,
|
deviceName: deviceName.value,
|
||||||
mainDeviceId: deviceInfo.value.mainDeviceId,
|
mainDeviceId: deviceInfo.value.mainDeviceId,
|
||||||
componentId: deviceInfo.value.componentId
|
componentId: deviceInfo.value.componentId,
|
||||||
|
areaId: deviceInfo.value.areaId,
|
||||||
|
bayId: deviceInfo.value.bayId
|
||||||
}
|
}
|
||||||
getBayType({ stationCode: userStore.stationCode }).then((res) => {
|
getArea({ stationCode: userStore.stationCode }).then((res) => {
|
||||||
deviceComponent.value = res.data
|
areaIdType.value = res.data
|
||||||
})
|
|
||||||
getMainEquipment({ stationCode: userStore.stationCode }).then((res) => {
|
|
||||||
deviceMain.value = res.data
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
getdevicedata(params).then((res) => {
|
getdevicedata(params).then((res) => {
|
||||||
res.data.records.forEach((row) => {
|
res.data.records.forEach((row) => {
|
||||||
if (row.patroldeviceJson) {
|
if (row.patroldeviceJson) {
|
||||||
@ -5220,7 +5260,7 @@ function associationConfirm() {
|
|||||||
scene.children[i].traverse(function (obj) {
|
scene.children[i].traverse(function (obj) {
|
||||||
if (obj.uuid === onjId.value) {
|
if (obj.uuid === onjId.value) {
|
||||||
if (multipleSelection.value.componentId) {
|
if (multipleSelection.value.componentId) {
|
||||||
obj.name = multipleSelection.value.componentName
|
obj.name =multipleSelection.value.mainDeviceName+'-'+ multipleSelection.value.componentName
|
||||||
} else {
|
} else {
|
||||||
obj.name = multipleSelection.value.mainDeviceName
|
obj.name = multipleSelection.value.mainDeviceName
|
||||||
}
|
}
|
||||||
@ -5259,32 +5299,33 @@ function closeVideo(index) { // 关闭视频
|
|||||||
const ws1 = new WebSocket(userStore.wsApiBaseUrl + '/websocket/taskresult_' + userStore.stationCode + "_" + userStore.userId);
|
const ws1 = new WebSocket(userStore.wsApiBaseUrl + '/websocket/taskresult_' + userStore.stationCode + "_" + userStore.userId);
|
||||||
function setupWebSocket() {
|
function setupWebSocket() {
|
||||||
|
|
||||||
ws1.onopen = () => {
|
ws1.onopen = () => {
|
||||||
|
|
||||||
|
};
|
||||||
|
ws1.onerror = (error) => {
|
||||||
|
};
|
||||||
|
ws1.onmessage = (e) => {
|
||||||
|
|
||||||
};
|
|
||||||
ws1.onerror = (error) => {
|
|
||||||
};
|
|
||||||
ws1.onmessage = (e) => {
|
|
||||||
|
|
||||||
if (e.data != 0) {
|
if (e.data != 0) {
|
||||||
getData()
|
getData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ws1.onclose = () => {
|
ws1.onclose = () => {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
#three_div {
|
#three_div {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
//进度条
|
//进度条
|
||||||
.loadingBox {
|
.loadingBox {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -5721,6 +5762,7 @@ ws1.onclose = () => {
|
|||||||
color: #009bff;
|
color: #009bff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchButton {
|
.searchButton {
|
||||||
border: #009bff solid 1px;
|
border: #009bff solid 1px;
|
||||||
background-color: #009bff;
|
background-color: #009bff;
|
||||||
@ -5764,6 +5806,7 @@ ws1.onclose = () => {
|
|||||||
.back {
|
.back {
|
||||||
background-color: #131a25 !important;
|
background-color: #131a25 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.is-disabled) {
|
:deep(.is-disabled) {
|
||||||
background-color: #0a232000 !important;
|
background-color: #0a232000 !important;
|
||||||
color: #009bff !important;
|
color: #009bff !important;
|
||||||
@ -5847,9 +5890,11 @@ ws1.onclose = () => {
|
|||||||
right: 20px;
|
right: 20px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.examination-contont {
|
.examination-contont {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
||||||
.examination-contont-text {
|
.examination-contont-text {
|
||||||
margin-top: 11px;
|
margin-top: 11px;
|
||||||
}
|
}
|
||||||
@ -5865,6 +5910,7 @@ ws1.onclose = () => {
|
|||||||
:deep(.el-input-number__increase) {
|
:deep(.el-input-number__increase) {
|
||||||
background-color: transparent !important;
|
background-color: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-input-number.is-controls-right .el-input-number__increase) {
|
:deep(.el-input-number.is-controls-right .el-input-number__increase) {
|
||||||
border: transparent !important;
|
border: transparent !important;
|
||||||
}
|
}
|
||||||
@ -5876,6 +5922,7 @@ ws1.onclose = () => {
|
|||||||
:deep(.el-input-number .el-icon) {
|
:deep(.el-input-number .el-icon) {
|
||||||
color: #009bff91 !important;
|
color: #009bff91 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-input-number .el-icon:hover) {
|
:deep(.el-input-number .el-icon:hover) {
|
||||||
color: #009bff !important;
|
color: #009bff !important;
|
||||||
}
|
}
|
||||||
@ -6045,6 +6092,7 @@ ws1.onclose = () => {
|
|||||||
margin-top: -24px;
|
margin-top: -24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-checkbox__input.is-checked + .el-checkbox__label) {
|
:deep(.el-checkbox__input.is-checked + .el-checkbox__label) {
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
@ -368,7 +368,7 @@ function confirmClick() {
|
|||||||
inallList.decisionValueClass = '1'
|
inallList.decisionValueClass = '1'
|
||||||
inallList.alarmDesc = ''//告警描述
|
inallList.alarmDesc = ''//告警描述
|
||||||
inallList.baseLineValue = element.commonLower
|
inallList.baseLineValue = element.commonLower
|
||||||
inallList.alarmLevel = '2'
|
inallList.alarmLevel = '1'
|
||||||
infoList.value.push(inallList)
|
infoList.value.push(inallList)
|
||||||
}
|
}
|
||||||
if (element.commonUpper) {
|
if (element.commonUpper) {
|
||||||
@ -379,7 +379,7 @@ function confirmClick() {
|
|||||||
inallList.decisionValueClass = '1'
|
inallList.decisionValueClass = '1'
|
||||||
inallList.alarmDesc = ''//告警描述
|
inallList.alarmDesc = ''//告警描述
|
||||||
inallList.baseLineValue = element.commonUpper
|
inallList.baseLineValue = element.commonUpper
|
||||||
inallList.alarmLevel = '2'
|
inallList.alarmLevel = '1'
|
||||||
infoList.value.push(inallList)
|
infoList.value.push(inallList)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -391,7 +391,7 @@ function confirmClick() {
|
|||||||
inallList.decisionValueClass = '1'
|
inallList.decisionValueClass = '1'
|
||||||
inallList.alarmDesc = ''//告警描述
|
inallList.alarmDesc = ''//告警描述
|
||||||
inallList.baseLineValue = element.seriousLower
|
inallList.baseLineValue = element.seriousLower
|
||||||
inallList.alarmLevel = '3'
|
inallList.alarmLevel = '2'
|
||||||
infoList.value.push(inallList)
|
infoList.value.push(inallList)
|
||||||
}
|
}
|
||||||
if (element.seriousUpper) {
|
if (element.seriousUpper) {
|
||||||
@ -402,7 +402,7 @@ function confirmClick() {
|
|||||||
inallList.decisionValueClass = '1'
|
inallList.decisionValueClass = '1'
|
||||||
inallList.alarmDesc = ''//告警描述
|
inallList.alarmDesc = ''//告警描述
|
||||||
inallList.baseLineValue = element.seriousUpper
|
inallList.baseLineValue = element.seriousUpper
|
||||||
inallList.alarmLevel = '3'
|
inallList.alarmLevel = '2'
|
||||||
infoList.value.push(inallList)
|
infoList.value.push(inallList)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -414,7 +414,7 @@ function confirmClick() {
|
|||||||
inallList.decisionValueClass = '1'
|
inallList.decisionValueClass = '1'
|
||||||
inallList.alarmDesc = ''//告警描述
|
inallList.alarmDesc = ''//告警描述
|
||||||
inallList.baseLineValue = element.dangerLower
|
inallList.baseLineValue = element.dangerLower
|
||||||
inallList.alarmLevel = '4'
|
inallList.alarmLevel = '3'
|
||||||
infoList.value.push(inallList)
|
infoList.value.push(inallList)
|
||||||
}
|
}
|
||||||
if (element.dangerUpper) {
|
if (element.dangerUpper) {
|
||||||
@ -425,7 +425,7 @@ function confirmClick() {
|
|||||||
inallList.decisionValueClass = '1'
|
inallList.decisionValueClass = '1'
|
||||||
inallList.alarmDesc = ''//告警描述
|
inallList.alarmDesc = ''//告警描述
|
||||||
inallList.baseLineValue = element.dangerUpper
|
inallList.baseLineValue = element.dangerUpper
|
||||||
inallList.alarmLevel = '4'
|
inallList.alarmLevel = '3'
|
||||||
infoList.value.push(inallList)
|
infoList.value.push(inallList)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,16 @@ function addAlgorithmsan() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function saveAlgor(row: any) {
|
function saveAlgor(row: any) {
|
||||||
row.algor = !row.algor
|
if (row.algor) {
|
||||||
|
if (!(row.paramName && row.paramType && row.paramFixed)) {
|
||||||
|
ElMessage.warning('请填写参数名称,类型和是否固定参数')
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
row.algor = !row.algor
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
row.algor = !row.algor
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function delAlgor(row: any) {
|
function delAlgor(row: any) {
|
||||||
algorithmData.value.splice(row.$index, 1);
|
algorithmData.value.splice(row.$index, 1);
|
||||||
@ -175,6 +184,12 @@ function confirmClick(formEl: any) {
|
|||||||
algorithmData.value.forEach((item: any, index: any) => {
|
algorithmData.value.forEach((item: any, index: any) => {
|
||||||
item.paramOrder = index + 1
|
item.paramOrder = index + 1
|
||||||
})
|
})
|
||||||
|
for (let i = 0; i < algorithmData.value.length; i++) {
|
||||||
|
if (!(algorithmData.value[i].paramName && algorithmData.value[i].paramType &&algorithmData.value[i].paramFixed)) {
|
||||||
|
ElMessage.warning('请填写参数名称,类型和是否固定参数')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
addAlgorithmClassAndParams({ algorithmClass: algorithmform.value, algorithmParamsList: algorithmData.value }).then((res: any) => {
|
addAlgorithmClassAndParams({ algorithmClass: algorithmform.value, algorithmParamsList: algorithmData.value }).then((res: any) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
@ -233,11 +248,8 @@ function handleClose1() {
|
|||||||
}
|
}
|
||||||
function replace() {
|
function replace() {
|
||||||
meterdata.value.forEach((item: any) => {
|
meterdata.value.forEach((item: any) => {
|
||||||
// item.paramId = item.id
|
|
||||||
item.componentId = componentId.value
|
item.componentId = componentId.value
|
||||||
// item.algorithmId=
|
|
||||||
})
|
})
|
||||||
console.log(meterdata.value)
|
|
||||||
batchAddAlgorithmDevice(meterdata.value).then((res: any) => {
|
batchAddAlgorithmDevice(meterdata.value).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
mainble.value = false
|
mainble.value = false
|
||||||
@ -323,8 +335,8 @@ const mainble = ref()
|
|||||||
function editmain(row: any) {
|
function editmain(row: any) {
|
||||||
mainble.value = true
|
mainble.value = true
|
||||||
meterloding.value = true
|
meterloding.value = true
|
||||||
componentId.value= row.componentId
|
componentId.value = row.componentId
|
||||||
getAlgorithmParamsList({ algorithmId: row.algorithmId,componentId: componentId.value}).then((res: any) => {
|
getAlgorithmParamsList({ algorithmId: row.algorithmId, componentId: componentId.value }).then((res: any) => {
|
||||||
meterdata.value = res.data
|
meterdata.value = res.data
|
||||||
meterloding.value = false
|
meterloding.value = false
|
||||||
})
|
})
|
||||||
@ -339,7 +351,7 @@ const tableref = ref()
|
|||||||
const deviceId = ref('')
|
const deviceId = ref('')
|
||||||
const componentId = ref('')
|
const componentId = ref('')
|
||||||
function selentDevide(row: any) {
|
function selentDevide(row: any) {
|
||||||
cnshuId.value = row.id
|
cnshuId.value = row.paramId
|
||||||
if (row.deviceId) {
|
if (row.deviceId) {
|
||||||
deviceId.value = row.deviceId
|
deviceId.value = row.deviceId
|
||||||
}
|
}
|
||||||
@ -359,24 +371,21 @@ function suredevice() {
|
|||||||
selectble.value = false
|
selectble.value = false
|
||||||
devicedata.value.length = 0
|
devicedata.value.length = 0
|
||||||
meterdata.value.forEach((item: any) => {
|
meterdata.value.forEach((item: any) => {
|
||||||
if (item.id == cnshuId.value) {
|
if (item.paramId == cnshuId.value) {
|
||||||
if (sourceType.value == 1) {
|
if (sourceType.value == 1) {
|
||||||
item.deviceId = deviceIdList.value.deviceId
|
item.deviceId = deviceIdList.value.deviceId
|
||||||
item.deviceName = deviceIdList.value.deviceName
|
item.deviceName = deviceIdList.value.deviceName
|
||||||
// item.componentId = deviceIdList.value.componentId
|
|
||||||
item.paramValue = deviceIdList.value.deviceName
|
item.paramValue = deviceIdList.value.deviceName
|
||||||
} else if (sourceType.value == 2) {
|
} else if (sourceType.value == 2) {
|
||||||
item.deviceId = deviceIdList.value.signalId
|
item.deviceId = deviceIdList.value.signalId
|
||||||
item.deviceName = deviceIdList.value.signalName
|
item.deviceName = deviceIdList.value.signalName
|
||||||
// item.componentId = deviceIdList.value.mainComponentId
|
|
||||||
item.paramValue = deviceIdList.value.signalName
|
item.paramValue = deviceIdList.value.signalName
|
||||||
}
|
}
|
||||||
item.sourceType = sourceType.value
|
item.sourceType = sourceType.value
|
||||||
|
|
||||||
}
|
}
|
||||||
// item.paramId = deviceIdList.value.paramId
|
|
||||||
})
|
})
|
||||||
console.log( meterdata.value)
|
console.log(meterdata.value)
|
||||||
}
|
}
|
||||||
function typeChange(val: any) {
|
function typeChange(val: any) {
|
||||||
sourceType.value = val
|
sourceType.value = val
|
||||||
@ -394,7 +403,7 @@ const paramstable: any = ref({
|
|||||||
componentId: ''
|
componentId: ''
|
||||||
})
|
})
|
||||||
function getdevicedata1() {
|
function getdevicedata1() {
|
||||||
|
|
||||||
if (sourceType.value == 1) {
|
if (sourceType.value == 1) {
|
||||||
paramstable.value.bayId = bayId.value
|
paramstable.value.bayId = bayId.value
|
||||||
paramstable.value.componentId = componentId.value
|
paramstable.value.componentId = componentId.value
|
||||||
@ -406,7 +415,7 @@ function getdevicedata1() {
|
|||||||
devicedataloading.value = false
|
devicedataloading.value = false
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
if (deviceId.value) {
|
if (deviceId.value) {
|
||||||
const foundObj = devicedata.value.find((item:any) => item.deviceId == deviceId.value);
|
const foundObj = devicedata.value.find((item: any) => item.deviceId == deviceId.value);
|
||||||
tableref.value!.setCurrentRow(foundObj)
|
tableref.value!.setCurrentRow(foundObj)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -422,7 +431,7 @@ function getdevicedata1() {
|
|||||||
devicedataloading.value = false
|
devicedataloading.value = false
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
if (deviceId.value) {
|
if (deviceId.value) {
|
||||||
const foundObj = devicedata.value.find((item:any) => item.signalId == deviceId.value);
|
const foundObj = devicedata.value.find((item: any) => item.signalId == deviceId.value);
|
||||||
tableref.value!.setCurrentRow(foundObj)
|
tableref.value!.setCurrentRow(foundObj)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -597,7 +606,7 @@ onMounted(() => {
|
|||||||
</Page>
|
</Page>
|
||||||
</section>
|
</section>
|
||||||
<!--弹框-->
|
<!--弹框-->
|
||||||
<Eldialog v-if="algorithmible" :title="title" :zIndex="2000" :width="'60%'" @before-close="handleClose">
|
<Eldialog v-if="algorithmible" :title="title" :zIndex="2000" :width="'1150px'" @before-close="handleClose">
|
||||||
<template v-slot:PopFrameContent>
|
<template v-slot:PopFrameContent>
|
||||||
<el-form ref="ruleFormRef" style="padding: 15px 0px 0px;" :model="algorithmform" :rules="moderules"
|
<el-form ref="ruleFormRef" style="padding: 15px 0px 0px;" :model="algorithmform" :rules="moderules"
|
||||||
label-width="auto">
|
label-width="auto">
|
||||||
@ -719,7 +728,7 @@ onMounted(() => {
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</Eldialog>
|
</Eldialog>
|
||||||
<Eldialog v-if="masterble" :title="title" :zIndex="2000" :width="'60%'" @before-close="handleClose1">
|
<Eldialog v-if="masterble" :title="title" :zIndex="2000" :width="'1150px'" @before-close="handleClose1">
|
||||||
<template v-slot:PopFrameContent>
|
<template v-slot:PopFrameContent>
|
||||||
<div
|
<div
|
||||||
style="width: 100%;display: flex;justify-content: space-between;align-items: center;margin-top: 10px;">
|
style="width: 100%;display: flex;justify-content: space-between;align-items: center;margin-top: 10px;">
|
||||||
@ -778,7 +787,7 @@ onMounted(() => {
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="paramRange" label="范围" width="70" align="center"></el-table-column>
|
<el-table-column prop="paramRange" label="范围" width="70" align="center"></el-table-column>
|
||||||
<el-table-column prop="paramValue" label="参数值" align="center">
|
<el-table-column prop="paramValue" label="参数值" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div style="padding: 2px 0px;">
|
<div style="padding: 2px 0px;">
|
||||||
<el-input v-if="scope.row.paramFixed == 1" v-model="scope.row.paramValue"
|
<el-input v-if="scope.row.paramFixed == 1" v-model="scope.row.paramValue"
|
||||||
@ -814,7 +823,7 @@ onMounted(() => {
|
|||||||
<div :class="sourceType == 2 ? 'bianhua' : ''" @click="typeChange(2)">关联信号</div>
|
<div :class="sourceType == 2 ? 'bianhua' : ''" @click="typeChange(2)">关联信号</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="faulttemplate-box1">
|
<div class="faulttemplate-box1">
|
||||||
|
|
||||||
<div class="silderRight1">
|
<div class="silderRight1">
|
||||||
<div
|
<div
|
||||||
style="display: flex;display: -webkit-flex; justify-content: space-between; -webkit-justify-content: space-between; margin:15px 0px">
|
style="display: flex;display: -webkit-flex; justify-content: space-between; -webkit-justify-content: space-between; margin:15px 0px">
|
||||||
@ -838,50 +847,56 @@ onMounted(() => {
|
|||||||
:row-class-name="tableRowClassName" @row-click="rowClick"
|
:row-class-name="tableRowClassName" @row-click="rowClick"
|
||||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||||
<el-table-column v-if="sourceType == 1" label="巡视点位编号" prop="deviceCode" align="center"
|
<el-table-column v-if="sourceType == 1" label="巡视点位编号" prop="deviceCode" align="center"
|
||||||
width="140"></el-table-column>
|
width="140"></el-table-column>
|
||||||
<el-table-column v-if="sourceType == 1" label="巡视点位名称" align="center"
|
<el-table-column v-if="sourceType == 1" label="巡视点位名称" align="center"
|
||||||
prop="deviceName"></el-table-column>
|
prop="deviceName"></el-table-column>
|
||||||
<el-table-column v-if="sourceType == 1" label="所属主设备" prop="mainDeviceName" align="center"
|
<el-table-column v-if="sourceType == 1" label="所属主设备" prop="mainDeviceName"
|
||||||
width="120"></el-table-column>
|
align="center" width="120"></el-table-column>
|
||||||
<el-table-column v-if="sourceType == 1" label="主设备类型" prop="deviceType" align="center" width="120">
|
<el-table-column v-if="sourceType == 1" label="主设备类型" prop="deviceType" align="center"
|
||||||
|
width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ currency(EquipmentType, scope.row.deviceType) }}</span>
|
<span>{{ currency(EquipmentType, scope.row.deviceType) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="sourceType == 1" label="所属部件" align="center" prop="componentName"
|
<el-table-column v-if="sourceType == 1" label="所属部件" align="center" prop="componentName"
|
||||||
width="160"></el-table-column>
|
width="160"></el-table-column>
|
||||||
<el-table-column v-if="sourceType == 1" label="表计类型" align="center" prop="meterType" width="100">
|
<el-table-column v-if="sourceType == 1" label="表计类型" align="center" prop="meterType"
|
||||||
|
width="100">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ currency(Metertype, scope.row.meterType) }}</span>
|
<span>{{ currency(Metertype, scope.row.meterType) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="sourceType == 1" label="点位分类" align="center" width="100">
|
<el-table-column v-if="sourceType == 1" label="点位分类" align="center" width="100">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ currency(DeviceClass, scope.row.deviceClass) }}</span>
|
<span>{{ currency(DeviceClass, scope.row.deviceClass) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column v-if="sourceType == 2" label="信号编号" align="center" prop="signalCode" width="100" />
|
<el-table-column v-if="sourceType == 2" label="信号编号" align="center" prop="signalCode"
|
||||||
<el-table-column v-if="sourceType == 2" label="信号名称" align="center" prop="signalName"
|
width="100" />
|
||||||
|
<el-table-column v-if="sourceType == 2" label="信号名称" align="center" prop="signalName"
|
||||||
min-width="140" />
|
min-width="140" />
|
||||||
<el-table-column v-if="sourceType == 2" label="信号单位" align="center" prop="signalUnit" width="80" />
|
<el-table-column v-if="sourceType == 2" label="信号单位" align="center" prop="signalUnit"
|
||||||
<el-table-column v-if="sourceType == 2" label="遥控遥调类型" align="center" prop="ykytType" width="150">
|
width="80" />
|
||||||
|
<el-table-column v-if="sourceType == 2" label="遥控遥调类型" align="center" prop="ykytType"
|
||||||
|
width="150">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ isykyttype(scope.row.ykytType) }}</span>
|
<span>{{ isykyttype(scope.row.ykytType) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column v-if="sourceType == 2" label="是否告警信号" align="center" prop="signalType" width="100">
|
<el-table-column v-if="sourceType == 2" label="是否告警信号" align="center" prop="signalType"
|
||||||
|
width="100">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.signalType === '1'">是</span>
|
<span v-if="scope.row.signalType === '1'">是</span>
|
||||||
<span v-else>否</span>
|
<span v-else>否</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column v-if="sourceType == 2" label="遥信地址(yx)" align="center" prop="yxAddr" />
|
<el-table-column v-if="sourceType == 2" label="遥信地址(yx)" align="center" prop="yxAddr" />
|
||||||
<el-table-column v-if="sourceType == 2" label="遥测地址(yc)" align="center" prop="ycAddr" />
|
<el-table-column v-if="sourceType == 2" label="遥测地址(yc)" align="center" prop="ycAddr" />
|
||||||
<el-table-column v-if="sourceType == 2" label="遥控地址(yk)" align="center" prop="ykAddr" />
|
<el-table-column v-if="sourceType == 2" label="遥控地址(yk)" align="center" prop="ykAddr" />
|
||||||
<el-table-column v-if="sourceType == 2" label="遥调地址(yt)" align="center" prop="ytAddr" />
|
<el-table-column v-if="sourceType == 2" label="遥调地址(yt)" align="center" prop="ytAddr" />
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
<Page :total="devicetaotal" v-model:size="paramstable.size"
|
<Page :total="devicetaotal" v-model:size="paramstable.size"
|
||||||
|
@ -666,7 +666,7 @@ function mainChange(row: any) {
|
|||||||
const deviceIdText = ref()
|
const deviceIdText = ref()
|
||||||
const miannDeviceId = ref()
|
const miannDeviceId = ref()
|
||||||
function handleEdit(row: any) {
|
function handleEdit(row: any) {
|
||||||
activeName.value = 'first'
|
activeName.value = 'first'
|
||||||
duration.value = row.duration
|
duration.value = row.duration
|
||||||
threshold.value = ''
|
threshold.value = ''
|
||||||
beforName.value = ''
|
beforName.value = ''
|
||||||
@ -1402,7 +1402,7 @@ function handleSelectionChange(val: any) {
|
|||||||
if (val.length == 2) {
|
if (val.length == 2) {
|
||||||
val.pop()
|
val.pop()
|
||||||
multipleTableRef.value!.toggleRowSelection(val[0], undefined)
|
multipleTableRef.value!.toggleRowSelection(val[0], undefined)
|
||||||
}else{
|
} else {
|
||||||
vicode.value[0].patroldevice_name = val[0].patroldeviceName
|
vicode.value[0].patroldevice_name = val[0].patroldeviceName
|
||||||
vicode.value[0].patroldevice_code = val[0].patroldeviceCode
|
vicode.value[0].patroldevice_code = val[0].patroldeviceCode
|
||||||
}
|
}
|
||||||
@ -1847,51 +1847,53 @@ function handleSelectionChange(val: any) {
|
|||||||
@keyup.enter="getCamera()"
|
@keyup.enter="getCamera()"
|
||||||
style="margin-right:15px ;margin-top:10px;width: 96%;margin-left:5px;" />
|
style="margin-right:15px ;margin-top:10px;width: 96%;margin-left:5px;" />
|
||||||
<div>
|
<div>
|
||||||
<el-tree ref="treeRef" class="Tree"
|
<el-scrollbar height="calc(80vh)">
|
||||||
:class="useAppStore().size === 'default' ? 'silderLeft-large' : 'silderLeft-default'"
|
<el-tree ref="treeRef"
|
||||||
node-key="channelId" :data="allCamera" :current-node-key="currentNodeKey"
|
node-key="channelId" :data="allCamera" :current-node-key="currentNodeKey"
|
||||||
:highlight-current="true" :props="defaultprops" v-loading="treeloading"
|
:highlight-current="true" :props="defaultprops" v-loading="treeloading"
|
||||||
@node-click="handleClick"
|
@node-click="handleClick"
|
||||||
style="height: calc(80vh - 65px);width:96% ;margin-top: 10px; overflow: auto;margin-left:5px;">
|
style="width:96% ;margin-top: 10px;margin-left:5px;">
|
||||||
<template #default="{ node }">
|
<template #default="{ node }">
|
||||||
<span v-if="node.data.type == 10 && node.data.useMode == 10">
|
<span v-if="node.data.type == 10 && node.data.useMode == 10">
|
||||||
<span v-if="node.level == 1"
|
<span v-if="node.level == 1"
|
||||||
:style="{ color: node.data.online == '1' ? '#409eff' : 'red' }">
|
:style="{ color: node.data.online == '1' ? '#409eff' : 'red' }">
|
||||||
<svg style="margin-right: 5px;" t="1682315445615" class="icon"
|
<svg style="margin-right: 5px;" t="1682315445615" class="icon"
|
||||||
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
viewBox="0 0 1024 1024" version="1.1"
|
||||||
p-id="11437" xmlns:xlink="http://www.w3.org/1999/xlink" width="20"
|
xmlns="http://www.w3.org/2000/svg" p-id="11437"
|
||||||
height="20">
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20">
|
||||||
<path fill="currentColor"
|
<path fill="currentColor"
|
||||||
d="M218.3 124.6h77.8l635.8 415.2-223.8 165.5h-48.7L117.7 338.7v-51.9z"
|
d="M218.3 124.6h77.8l635.8 415.2-223.8 165.5h-48.7L117.7 338.7v-51.9z"
|
||||||
p-id="11438"></path>
|
p-id="11438"></path>
|
||||||
<path fill="currentColor"
|
<path fill="currentColor"
|
||||||
d="M701.6 799.3c-3.1 0-6.2-0.9-8.9-2.7L138.8 432.5c-7.5-4.9-9.6-15-4.6-22.5 4.9-7.5 15-9.6 22.5-4.6l542.9 356.9 29.6-29.6c6.3-6.3 16.6-6.3 22.9 0 6.3 6.3 6.3 16.6 0 22.9l-38.9 38.9c-3.3 3.2-7.4 4.8-11.6 4.8zM130.7 895.6c-9 0-16.2-7.3-16.2-16.2V530.1c0-9 7.3-16.2 16.2-16.2 9 0 16.2 7.3 16.2 16.2v349.3c0 9-7.3 16.2-16.2 16.2z"
|
d="M701.6 799.3c-3.1 0-6.2-0.9-8.9-2.7L138.8 432.5c-7.5-4.9-9.6-15-4.6-22.5 4.9-7.5 15-9.6 22.5-4.6l542.9 356.9 29.6-29.6c6.3-6.3 16.6-6.3 22.9 0 6.3 6.3 6.3 16.6 0 22.9l-38.9 38.9c-3.3 3.2-7.4 4.8-11.6 4.8zM130.7 895.6c-9 0-16.2-7.3-16.2-16.2V530.1c0-9 7.3-16.2 16.2-16.2 9 0 16.2 7.3 16.2 16.2v349.3c0 9-7.3 16.2-16.2 16.2z"
|
||||||
p-id="11439"></path>
|
p-id="11439"></path>
|
||||||
<path fill="currentColor"
|
<path fill="currentColor"
|
||||||
d="M292.9 721.5H130.7c-9 0-16.2-7.3-16.2-16.2s7.3-16.2 16.2-16.2h153l56.9-95.9c4.6-7.7 14.5-10.2 22.2-5.7 7.7 4.6 10.2 14.5 5.7 22.2l-61.6 103.8c-3 5-8.3 8-14 8z"
|
d="M292.9 721.5H130.7c-9 0-16.2-7.3-16.2-16.2s7.3-16.2 16.2-16.2h153l56.9-95.9c4.6-7.7 14.5-10.2 22.2-5.7 7.7 4.6 10.2 14.5 5.7 22.2l-61.6 103.8c-3 5-8.3 8-14 8z"
|
||||||
p-id="11440"></path>
|
p-id="11440"></path>
|
||||||
</svg>
|
</svg>
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
<span v-if="node.data.type == 10 && node.data.useMode == 11">
|
||||||
<span v-if="node.data.type == 10 && node.data.useMode == 11">
|
<span v-if="node.level == 1"
|
||||||
<span v-if="node.level == 1"
|
:style="{ color: node.data.online == '1' ? '#409eff' : 'red' }">
|
||||||
:style="{ color: node.data.online == '1' ? '#409eff' : 'red' }">
|
<svg t="1686725618148" class="icon" viewBox="0 0 1024 1024"
|
||||||
<svg t="1686725618148" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
version="1.1" style="margin-right: 5px;"
|
||||||
style="margin-right: 5px;" xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg" p-id="2814"
|
||||||
p-id="2814" xmlns:xlink="http://www.w3.org/1999/xlink" width="18"
|
xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18">
|
||||||
height="18">
|
<path fill="currentColor"
|
||||||
<path fill="currentColor"
|
d="M954.88 590.72a432.64 432.64 0 0 0-409.6-457.6V0H151.04v64h263.04v76.8c-201.6 38.4-344.96 203.52-344.96 448-1.28 0.64 887.04 4.48 885.76 1.92zM197.76 661.12C198.4 860.16 311.68 1024 512 1024s314.24-161.92 314.24-360.96H197.76zM512 912A85.76 85.76 0 0 1 420.48 832 86.4 86.4 0 0 1 512 752.64 86.4 86.4 0 0 1 603.52 832 85.76 85.76 0 0 1 512 912z"
|
||||||
d="M954.88 590.72a432.64 432.64 0 0 0-409.6-457.6V0H151.04v64h263.04v76.8c-201.6 38.4-344.96 203.52-344.96 448-1.28 0.64 887.04 4.48 885.76 1.92zM197.76 661.12C198.4 860.16 311.68 1024 512 1024s314.24-161.92 314.24-360.96H197.76zM512 912A85.76 85.76 0 0 1 420.48 832 86.4 86.4 0 0 1 512 752.64 86.4 86.4 0 0 1 603.52 832 85.76 85.76 0 0 1 512 912z"
|
p-id="2815"></path>
|
||||||
p-id="2815"></path>
|
</svg>
|
||||||
</svg>
|
</span>
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
</span>
|
<!-- <span>{{ node.data.name }}</span> -->
|
||||||
|
<span>{{ node.label }}</span>
|
||||||
|
</template>
|
||||||
|
</el-tree>
|
||||||
|
</el-scrollbar>
|
||||||
|
|
||||||
<!-- <span>{{ node.data.name }}</span> -->
|
|
||||||
<span>{{ node.label }}</span>
|
|
||||||
</template>
|
|
||||||
</el-tree>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera">
|
<div class="Camera">
|
||||||
@ -2037,7 +2039,7 @@ function handleSelectionChange(val: any) {
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:100%;display: flex;margin: 10px 0px ;">
|
<!-- <div style="width:100%;display: flex;margin: 10px 0px ;"> -->
|
||||||
|
|
||||||
<!-- <div style="width: 50%; ">
|
<!-- <div style="width: 50%; ">
|
||||||
<div style="display: inline-block;">表计量程最小值/最小值角度</div>
|
<div style="display: inline-block;">表计量程最小值/最小值角度</div>
|
||||||
@ -2055,7 +2057,7 @@ function handleSelectionChange(val: any) {
|
|||||||
<div style="position:absolute; top: 5px;right:8px; color:#a8abb2 ;">度</div>
|
<div style="position:absolute; top: 5px;right:8px; color:#a8abb2 ;">度</div>
|
||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
<!-- </div> -->
|
||||||
|
|
||||||
<span class="dialog-footer"
|
<span class="dialog-footer"
|
||||||
style="width: 100%;margin: auto; display: flex;display: -webkit-flex; justify-content: center;-webkit-justify-content: center;margin-top: 20px;">
|
style="width: 100%;margin: auto; display: flex;display: -webkit-flex; justify-content: center;-webkit-justify-content: center;margin-top: 20px;">
|
||||||
@ -2287,7 +2289,7 @@ function handleSelectionChange(val: any) {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 10px;
|
|
||||||
|
|
||||||
.Camera-left-switch {
|
.Camera-left-switch {
|
||||||
width: 260px;
|
width: 260px;
|
||||||
@ -2419,23 +2421,22 @@ function handleSelectionChange(val: any) {
|
|||||||
width: 260px !important;
|
width: 260px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree-node.is-current>.el-tree-node__content) {
|
|
||||||
width: 100%;
|
|
||||||
height: 40px;
|
|
||||||
color: #fff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.Tree .el-tree-node.is-current>.el-tree-node__content) {
|
:deep(.Tree .el-tree-node.is-current>.el-tree-node__content) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
// color: #209F84 !important;
|
// color: #209F84 !important;
|
||||||
}
|
}
|
||||||
|
.CameraLeft{
|
||||||
:deep(.el-tree-node__content) {
|
:deep(.el-tree-node__content) {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
height: 40px !important;
|
min-height: 40px !important;
|
||||||
margin: auto !important;
|
padding: 3px 0px !important;
|
||||||
|
// margin: auto !important;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.el-message-box {
|
.el-message-box {
|
||||||
width: 300px !important;
|
width: 300px !important;
|
||||||
@ -2681,7 +2682,7 @@ function handleSelectionChange(val: any) {
|
|||||||
|
|
||||||
.CameraLeft {
|
.CameraLeft {
|
||||||
width: 240px;
|
width: 240px;
|
||||||
background: url(@/assets/newimg/spjk_260.png);
|
background: url(@/assets/navigation/ty_260x988.png);
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
@ -237,6 +237,10 @@ function gettoday() {
|
|||||||
<div class="content_one_title">遥控遥调类型</div>
|
<div class="content_one_title">遥控遥调类型</div>
|
||||||
<div class="content_one_text">{{ signaldata.ykytType }}</div>
|
<div class="content_one_text">{{ signaldata.ykytType }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="content_one">
|
||||||
|
<div class="content_one_title">设备编号</div>
|
||||||
|
<div class="content_one_text">{{ signaldata.deviceCode }}</div>
|
||||||
|
</div>
|
||||||
<div class="content_one">
|
<div class="content_one">
|
||||||
<div class="content_one_title">设备名称</div>
|
<div class="content_one_title">设备名称</div>
|
||||||
<div class="content_one_text">{{ signaldata.deviceName }}</div>
|
<div class="content_one_text">{{ signaldata.deviceName }}</div>
|
||||||
@ -246,12 +250,8 @@ function gettoday() {
|
|||||||
<div class="content_one_text">{{ signaldata.deviceModel }}</div>
|
<div class="content_one_text">{{ signaldata.deviceModel }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content_one">
|
<div class="content_one">
|
||||||
<div class="content_one_title">协议类型</div>
|
<div class="content_one_title">安装位置</div>
|
||||||
<div class="content_one_text">{{ signaldata.protocol }}</div>
|
<div class="content_one_text">{{ signaldata.place }}</div>
|
||||||
</div>
|
|
||||||
<div class="content_one">
|
|
||||||
<div class="content_one_title">采集频率</div>
|
|
||||||
<div class="content_one_text">{{ signaldata.frequency }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -792,9 +792,10 @@ const isGaoliang: any = ref("")
|
|||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar style="margin-left:0px ;margin-top:10px ;" height="calc(100vh - 270px)">
|
<el-scrollbar style="margin-left:0px ;margin-top:10px ;" height="calc(100vh - 270px)">
|
||||||
<el-tree :data="treeData" :props="defaultprops" @node-click="handleNodeClick" default-expand-all
|
|
||||||
:current-node-key="currentNodeKey" node-key="bayId">
|
<el-tree :data="treeData" :props="defaultprops" @node-click="handleNodeClick" default-expand-all :highlight-current="true"
|
||||||
|
:current-node-key="currentNodeKey" node-key="bayId">
|
||||||
<template #default="{ node }">
|
<template #default="{ node }">
|
||||||
<span v-if="node.data.type == 10 && node.data.useMode == 10">
|
<span v-if="node.data.type == 10 && node.data.useMode == 10">
|
||||||
<span v-if="node.level != 1" :style="{ color: node.data.online == '1' ? '#009bff' : 'red' }">
|
<span v-if="node.level != 1" :style="{ color: node.data.online == '1' ? '#009bff' : 'red' }">
|
||||||
@ -846,16 +847,16 @@ const isGaoliang: any = ref("")
|
|||||||
<img v-else src="@/assets/monitorsystem/spjk_16p.png" alt="" @click="screenNumClick(16)">
|
<img v-else src="@/assets/monitorsystem/spjk_16p.png" alt="" @click="screenNumClick(16)">
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;align-items: center;">
|
<div style="display: flex;align-items: center;">
|
||||||
<el-checkbox v-model="isTimer" label="轮播" size="large" @change="animationInfo"
|
<!-- <el-checkbox v-model="isTimer" label="轮播" size="large" @change="animationInfo"
|
||||||
style="margin:0 10px 0px 30px">轮播</el-checkbox>
|
style="margin:0 10px 0px 30px">轮播</el-checkbox> -->
|
||||||
<el-input v-model="minute" placeholder="" oninput="value=value.replace(/^\.+|[^\d]/g,'')"
|
<!-- <el-input v-model="minute" placeholder="" oninput="value=value.replace(/^\.+|[^\d]/g,'')"
|
||||||
style="margin-right:20px ;width: 80px;height: 28px;" class="videomonitor-input">
|
style="margin-right:20px ;width: 80px;height: 28px;" class="videomonitor-input">
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<span>分钟</span>
|
<span>分钟</span>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input> -->
|
||||||
<el-pagination class="paginationclass" background v-model:current-page="currentPage" :page-size="screenNum"
|
<!-- <el-pagination class="paginationclass" background v-model:current-page="currentPage" :page-size="screenNum"
|
||||||
:small="true" layout="pager" :total="total" @current-change="handleCurrentChange" />
|
:small="true" layout="pager" :total="total" @current-change="handleCurrentChange" /> -->
|
||||||
<div title="添加视频版块"
|
<div title="添加视频版块"
|
||||||
style="position: relative; margin-left:10px;margin-right:5px;cursor:pointer; width:24px;height:24px;font-size:18px;background:rgba(0, 155, 255, 1);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:3px"
|
style="position: relative; margin-left:10px;margin-right:5px;cursor:pointer; width:24px;height:24px;font-size:18px;background:rgba(0, 155, 255, 1);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:3px"
|
||||||
@click="addVideo" v-if="screenNum == 16">
|
@click="addVideo" v-if="screenNum == 16">
|
||||||
@ -1013,7 +1014,7 @@ const isGaoliang: any = ref("")
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="display: flex;padding-top: 25px;padding-left: 30px;">
|
<!-- <div style="display: flex;padding-top: 25px;padding-left: 30px;">
|
||||||
<span style="display: block;padding-left: 10px;font-size: 14px; font-family: '微软雅黑';
|
<span style="display: block;padding-left: 10px;font-size: 14px; font-family: '微软雅黑';
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -1023,12 +1024,12 @@ const isGaoliang: any = ref("")
|
|||||||
<span style="display: block;padding-left:70px;font-size: 14px; color: rgba(255, 255, 255, 0.8);">红外</span>
|
<span style="display: block;padding-left:70px;font-size: 14px; color: rgba(255, 255, 255, 0.8);">红外</span>
|
||||||
<el-switch style="display: block;margin-left:10px" v-model="isInfrared" inline-prompt @change="infraredClick"
|
<el-switch style="display: block;margin-left:10px" v-model="isInfrared" inline-prompt @change="infraredClick"
|
||||||
active-value="255" inactive-value="0" />
|
active-value="255" inactive-value="0" />
|
||||||
</div>
|
</div> -->
|
||||||
<div style="display: flex;align-items: center; padding-top: 25px;padding-left: 15px;">
|
<div style="display: flex;align-items: center; padding-top: 25px;padding-left: 15px;">
|
||||||
<span
|
<span
|
||||||
style="display: block;padding-left: 10px;padding-right: 10px;font-size: 14px; color: rgba(255, 255, 255, 0.8);">预置位</span>
|
style="display: block;padding-left: 10px;padding-right: 10px;font-size: 14px; color: rgba(255, 255, 255, 0.8);">预置位</span>
|
||||||
<el-input-number class="beforehandPosition-input" style="width: 75px" v-model="beforehandPosition" :min="1"
|
<el-input-number class="beforehandPosition-input" style="width: 75px" v-model="beforehandPosition" :min="1"
|
||||||
:max="10" controls-position="right" size="large" />
|
controls-position="right" size="large" />
|
||||||
<div title="设置" class="Camera-operate-buttons" @click="presetPosition(129, beforehandPosition)">
|
<div title="设置" class="Camera-operate-buttons" @click="presetPosition(129, beforehandPosition)">
|
||||||
<img src="@/assets/videoimg/u3366.png" alt="" style="cursor: pointer;">
|
<img src="@/assets/videoimg/u3366.png" alt="" style="cursor: pointer;">
|
||||||
</div>
|
</div>
|
||||||
@ -1039,7 +1040,7 @@ const isGaoliang: any = ref("")
|
|||||||
<img src="@/assets/videoimg/u3370.png" alt="">
|
<img src="@/assets/videoimg/u3370.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width: 250px;height: 1px;background: rgba(50, 177, 245, 0.2); margin: 20px;"></div>
|
<div style="width: 250px;height: 1px;background: rgba(50, 177, 245, 0.2); margin:50px 20px;"></div>
|
||||||
<div style="padding-top:0px;padding-left:20px;padding-bottom:10px;font-family: 'Arial Normal', 'Arial';
|
<div style="padding-top:0px;padding-left:20px;padding-bottom:10px;font-family: 'Arial Normal', 'Arial';
|
||||||
font-weight: 400; font-style: normal; font-size: 14px;color: #009BFF;display: flex;
|
font-weight: 400; font-style: normal; font-size: 14px;color: #009BFF;display: flex;
|
||||||
align-items: center;">
|
align-items: center;">
|
||||||
@ -1360,9 +1361,9 @@ const isGaoliang: any = ref("")
|
|||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-icon) {
|
// :deep(.el-icon) {
|
||||||
transform: scale(1) !important;
|
// transform: scale(1) !important;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// :deep(.el-input__wrapper) {
|
// :deep(.el-input__wrapper) {
|
||||||
// background: transparent;
|
// background: transparent;
|
||||||
|
@ -95,7 +95,7 @@
|
|||||||
<div class="one_box_all">
|
<div class="one_box_all">
|
||||||
<div class="all_img"><img src="@/assets/sytlechange/one_right5.svg" alt=""></div>
|
<div class="all_img"><img src="@/assets/sytlechange/one_right5.svg" alt=""></div>
|
||||||
<div class="all_text">
|
<div class="all_text">
|
||||||
<div class="all_text_qian">避雷针</div>
|
<div class="all_text_qian">避雷器</div>
|
||||||
<div>
|
<div>
|
||||||
<span class="all_text_hou_one">{{ equipmentlist.lightningRod }}</span>
|
<span class="all_text_hou_one">{{ equipmentlist.lightningRod }}</span>
|
||||||
<span class="all_text_hou_two">个</span>
|
<span class="all_text_hou_two">个</span>
|
||||||
@ -264,10 +264,14 @@
|
|||||||
:class="{ 'table_active': index % 2 == 0 }" @dblclick="processClick(item)">
|
:class="{ 'table_active': index % 2 == 0 }" @dblclick="processClick(item)">
|
||||||
<div class="tr1 tr" :title="item.content">{{ item.content }}</div>
|
<div class="tr1 tr" :title="item.content">{{ item.content }}</div>
|
||||||
<div class="tr2 tr">
|
<div class="tr2 tr">
|
||||||
<span v-if="item.alarmLevel == 1" style="color: #0099FF;">预警</span>
|
<!-- <span v-if="item.alarmLevel == 1" style="color: #0099FF;">预警</span>
|
||||||
<span v-if="item.alarmLevel == 2" style="color: #FFFF00;">一般</span>
|
<span v-if="item.alarmLevel == 2" style="color: #FFFF00;">一般</span>
|
||||||
<span v-if="item.alarmLevel == 3" style="color: #FF9900;">严重</span>
|
<span v-if="item.alarmLevel == 3" style="color: #FF9900;">严重</span>
|
||||||
<span v-if="item.alarmLevel == 4" style="color: #FF3300;">危急</span>
|
<span v-if="item.alarmLevel == 4" style="color: #FF3300;">危急</span> -->
|
||||||
|
<span v-if="item.alarmLevel == 1" style="color: #0099FF;">一般</span>
|
||||||
|
<span v-if="item.alarmLevel == 2" style="color: #FFFF00;">严重</span>
|
||||||
|
<span v-if="item.alarmLevel == 3" style="color: #FF9900;">危急</span>
|
||||||
|
<!-- <span v-if="item.alarmLevel == 4" style="color: #FF3300;">危急</span> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="tr3 tr">{{ dateFormat(item.alarmDate) }}</div>
|
<div class="tr3 tr">{{ dateFormat(item.alarmDate) }}</div>
|
||||||
</div>
|
</div>
|
||||||
@ -769,7 +773,7 @@ const tabs = ref(1)
|
|||||||
|
|
||||||
.stationboard-left2 {
|
.stationboard-left2 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 430px;
|
top: 420px;
|
||||||
left: 15px;
|
left: 15px;
|
||||||
width: 450px;
|
width: 450px;
|
||||||
height: 290px;
|
height: 290px;
|
||||||
@ -866,7 +870,7 @@ const tabs = ref(1)
|
|||||||
|
|
||||||
.stationboard-left3 {
|
.stationboard-left3 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 730px;
|
top: 715px;
|
||||||
left: 15px;
|
left: 15px;
|
||||||
width: 450px;
|
width: 450px;
|
||||||
height: 273px;
|
height: 273px;
|
||||||
@ -951,7 +955,7 @@ const tabs = ref(1)
|
|||||||
|
|
||||||
.stationboard-right2 {
|
.stationboard-right2 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 350px;
|
top: 340px;
|
||||||
right: 15px;
|
right: 15px;
|
||||||
width: 450px;
|
width: 450px;
|
||||||
height: 317px;
|
height: 317px;
|
||||||
@ -1043,7 +1047,7 @@ const tabs = ref(1)
|
|||||||
|
|
||||||
.stationboard-right3 {
|
.stationboard-right3 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 684px;
|
top: 666px;
|
||||||
right: 15px;
|
right: 15px;
|
||||||
width: 450px;
|
width: 450px;
|
||||||
height: 323px;
|
height: 323px;
|
||||||
|
@ -312,6 +312,15 @@ const tableRowClassName = ({
|
|||||||
}
|
}
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
function currency(list: any, itemcode: any) {
|
||||||
|
let dictname = ''
|
||||||
|
list.forEach((element: any) => {
|
||||||
|
if (element.itemcode == itemcode) {
|
||||||
|
dictname = element.dictname
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return dictname
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="faulttemplate-box">
|
<div class="faulttemplate-box">
|
||||||
@ -330,11 +339,11 @@ const tableRowClassName = ({
|
|||||||
<div
|
<div
|
||||||
style="margin-bottom:10px;display: flex;display: -webkit-flex; justify-content: space-between;-webkit-justify-content: space-between; width: 100%;">
|
style="margin-bottom:10px;display: flex;display: -webkit-flex; justify-content: space-between;-webkit-justify-content: space-between; width: 100%;">
|
||||||
<div>
|
<div>
|
||||||
<el-input v-model="queryparams.deviceName" placeholder="请输入设备名称" style="width: 220px;"
|
<el-input v-model="queryparams.deviceName" placeholder="请输入设备名称" style="width: 220px;" @change="getData"
|
||||||
clearable />
|
clearable />
|
||||||
<el-input v-model="queryparams.deviceModel" placeholder="请输入设备型号"
|
<el-input v-model="queryparams.deviceModel" placeholder="请输入设备型号"
|
||||||
style="width: 220px;margin-left: 10px;" clearable />
|
style="width: 220px;margin-left: 10px;" clearable @change="getData" />
|
||||||
<el-select v-model="queryparams.deviceType" placeholder="请选择设备类型"
|
<el-select v-model="queryparams.deviceType" placeholder="请选择设备类型" @change="getData"
|
||||||
style="width: 220px;margin-left: 10px;" clearable>
|
style="width: 220px;margin-left: 10px;" clearable>
|
||||||
<el-option v-for="item in typeoptions" :key="item.itemcode" :label="item.dictname"
|
<el-option v-for="item in typeoptions" :key="item.itemcode" :label="item.dictname"
|
||||||
:value="item.itemcode" />
|
:value="item.itemcode" />
|
||||||
@ -359,9 +368,13 @@ const tableRowClassName = ({
|
|||||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||||
<el-table-column type="selection" align="center" width="55" />
|
<el-table-column type="selection" align="center" width="55" />
|
||||||
<el-table-column label="序号" align="center" type="index" width="50" />
|
<el-table-column label="序号" align="center" type="index" width="50" />
|
||||||
<el-table-column label="设备编号" align="center" prop="deviceCode" width="80" />
|
<el-table-column label="设备编号" align="center" prop="deviceCode" width="100" />
|
||||||
<el-table-column label="设备名称" align="left" prop="deviceName" width="120" />
|
<el-table-column label="设备名称" align="left" prop="deviceName" />
|
||||||
<el-table-column label="设备类型" align="center" prop="deviceTypeName" width="170" />
|
<el-table-column label="设备类型" align="left" prop="deviceType" width="150" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
{{ currency(typeoptions,scope.row.deviceType) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="设备型号" align="center" prop="deviceModel" width="120" />
|
<el-table-column label="设备型号" align="center" prop="deviceModel" width="120" />
|
||||||
<el-table-column label="出厂编号" align="center" prop="productionNum" width="100" />
|
<el-table-column label="出厂编号" align="center" prop="productionNum" width="100" />
|
||||||
<el-table-column label="出厂日期" align="center" prop="productionDate" width="160">
|
<el-table-column label="出厂日期" align="center" prop="productionDate" width="160">
|
||||||
|
@ -37,7 +37,7 @@ interface Tree {
|
|||||||
label: string;
|
label: string;
|
||||||
}
|
}
|
||||||
const produrl = ref('')
|
const produrl = ref('')
|
||||||
const contentstyleval = ref('body { background-color: #282828;color:#fff;border:none;}')
|
const contentstyleval = ref('body { background-color: #001e55;color:#fff;border:none;}')
|
||||||
const initlist = ref({
|
const initlist = ref({
|
||||||
selector: 'textarea',
|
selector: 'textarea',
|
||||||
language_url: produrl.value + '/tinymce/langs/zh_CN.js',
|
language_url: produrl.value + '/tinymce/langs/zh_CN.js',
|
||||||
@ -70,7 +70,7 @@ watch(useDark(), () => {
|
|||||||
isDark = '1'
|
isDark = '1'
|
||||||
if (useDark().value == true) {
|
if (useDark().value == true) {
|
||||||
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide-dark'
|
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide-dark'
|
||||||
contentstyleval.value = 'body { background-color: #282828;color:#fff;border:none;}'
|
contentstyleval.value = 'body { background-color: #001e55;color:#fff;border:none;}'
|
||||||
} else {
|
} else {
|
||||||
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide'
|
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide'
|
||||||
contentstyleval.value = 'body { background-color: #fff;color:#000;border:none;}'
|
contentstyleval.value = 'body { background-color: #fff;color:#000;border:none;}'
|
||||||
@ -86,7 +86,7 @@ watch(dialogVisible, () => {
|
|||||||
if (isDark === '1') {
|
if (isDark === '1') {
|
||||||
//深色
|
//深色
|
||||||
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide-dark'
|
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide-dark'
|
||||||
contentstyleval.value = 'body { background-color: #282828;color:#fff;border:none;}'
|
contentstyleval.value = 'body { background-color: #001e55;color:#fff;border:none;}'
|
||||||
} else {
|
} else {
|
||||||
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide'
|
initlist.value.skin_url = produrl.value + '/tinymce/skins/ui/oxide'
|
||||||
contentstyleval.value = 'body { background-color: #fff;color:#000;border:none;}'
|
contentstyleval.value = 'body { background-color: #fff;color:#000;border:none;}'
|
||||||
|
@ -657,4 +657,5 @@ function currency1(list: any, itemcode: any) {
|
|||||||
:deep(.el-input .el-input__count .el-input__count-inner) {
|
:deep(.el-input .el-input__count .el-input__count-inner) {
|
||||||
background-color: rgba(240, 248, 255, 0);
|
background-color: rgba(240, 248, 255, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
@ -113,7 +113,7 @@ const deviceName = ref('')
|
|||||||
const tableData: any = ref()
|
const tableData: any = ref()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const flag = ref()
|
const flag = ref()
|
||||||
const paramstable = ref({
|
const paramstable:any = ref({
|
||||||
size: 10,
|
size: 10,
|
||||||
current: 1,
|
current: 1,
|
||||||
deviceName: '',
|
deviceName: '',
|
||||||
@ -131,7 +131,8 @@ function getData() {
|
|||||||
type: paramstable.value.type,
|
type: paramstable.value.type,
|
||||||
deviceModel: deviceModel.value,
|
deviceModel: deviceModel.value,
|
||||||
manufacturer: manufacturer.value,
|
manufacturer: manufacturer.value,
|
||||||
flag: flag.value == true ? '1' : '0'
|
flag: flag.value == true ? '1' : '0',
|
||||||
|
online:paramstable.value.online,
|
||||||
}
|
}
|
||||||
getdata(params).then((res: any) => {
|
getdata(params).then((res: any) => {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
@ -148,7 +149,8 @@ function resetting() {
|
|||||||
size: 10,
|
size: 10,
|
||||||
current: 1,
|
current: 1,
|
||||||
deviceName: '',
|
deviceName: '',
|
||||||
type: ''
|
type: '',
|
||||||
|
online: '',
|
||||||
}
|
}
|
||||||
|
|
||||||
deviceName.value = ''
|
deviceName.value = ''
|
||||||
@ -682,6 +684,7 @@ function handleEdit(row: any) {
|
|||||||
channel_type: '1',
|
channel_type: '1',
|
||||||
channel_code: '',
|
channel_code: '',
|
||||||
channel_rtspurl: '',
|
channel_rtspurl: '',
|
||||||
|
assist_rtspurl: '',
|
||||||
from_device: '',
|
from_device: '',
|
||||||
recorder_code: '',
|
recorder_code: '',
|
||||||
recorder_channelcode: ''
|
recorder_channelcode: ''
|
||||||
@ -889,6 +892,7 @@ function confirmClick(formEl: any) {
|
|||||||
if (checked1.value == true) {
|
if (checked1.value == true) {
|
||||||
visibleLight.value.from_device = '2'
|
visibleLight.value.from_device = '2'
|
||||||
visibleLight.value.channel_rtspurl = ''
|
visibleLight.value.channel_rtspurl = ''
|
||||||
|
visibleLight.value.assist_rtspurl = ''
|
||||||
visibleLight.value.channel_code = ''
|
visibleLight.value.channel_code = ''
|
||||||
} else {
|
} else {
|
||||||
visibleLight.value.from_device = '1'
|
visibleLight.value.from_device = '1'
|
||||||
@ -906,7 +910,7 @@ function confirmClick(formEl: any) {
|
|||||||
infrared.value.recorder_code = ''
|
infrared.value.recorder_code = ''
|
||||||
infrared.value.recorder_channelcode = ''
|
infrared.value.recorder_channelcode = ''
|
||||||
}
|
}
|
||||||
if (visibleLight.value.recorder_code != '' && checked1.value == true || visibleLight.value.channel_rtspurl != '' && checked1.value == false || visibleLight.value.channel_code != '' && checked1.value == false || visibleLight.value.recorder_channelcode != '' && checked1.value == true) {
|
if (visibleLight.value.recorder_code != '' && checked1.value == true || visibleLight.value.channel_rtspurl != '' && visibleLight.value.assist_rtspurl != '' && checked1.value == false || visibleLight.value.channel_code != '' && checked1.value == false || visibleLight.value.recorder_channelcode != '' && checked1.value == true) {
|
||||||
channElinfo.push(visibleLight.value)
|
channElinfo.push(visibleLight.value)
|
||||||
}
|
}
|
||||||
if (infrared.value.recorder_code != '' && checked2.value == true || infrared.value.channel_rtspurl != '' && checked2.value == false || infrared.value.channel_code != '' && checked2.value == false || infrared.value.recorder_channelcode != '' && checked2.value == true || infrared.value.pan_code != '' && checked2.value == false || infrared.value.pan_channelcode != '' && checked2.value == false) {
|
if (infrared.value.recorder_code != '' && checked2.value == true || infrared.value.channel_rtspurl != '' && checked2.value == false || infrared.value.channel_code != '' && checked2.value == false || infrared.value.recorder_channelcode != '' && checked2.value == true || infrared.value.pan_code != '' && checked2.value == false || infrared.value.pan_channelcode != '' && checked2.value == false) {
|
||||||
@ -1280,7 +1284,8 @@ const visibleLight = ref({
|
|||||||
channel_rtspurl: '',
|
channel_rtspurl: '',
|
||||||
from_device: '',
|
from_device: '',
|
||||||
recorder_code: '',
|
recorder_code: '',
|
||||||
recorder_channelcode: ''
|
recorder_channelcode: '',
|
||||||
|
assist_rtspurl: '',
|
||||||
|
|
||||||
})
|
})
|
||||||
const infrareds = ref()
|
const infrareds = ref()
|
||||||
@ -1347,6 +1352,16 @@ const activeName = ref('first')
|
|||||||
const handleClick1 = (tab: TabsPaneContext, event: Event) => {
|
const handleClick1 = (tab: TabsPaneContext, event: Event) => {
|
||||||
}
|
}
|
||||||
const isGaoliang: any = ref("")
|
const isGaoliang: any = ref("")
|
||||||
|
const statusList = ref([
|
||||||
|
{
|
||||||
|
id:1,
|
||||||
|
name:'在线'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id:0,
|
||||||
|
name:'离线'
|
||||||
|
}
|
||||||
|
])
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -1368,7 +1383,8 @@ const isGaoliang: any = ref("")
|
|||||||
<el-input v-model="info.patroldeviceName" style="width: 90%;margin-left: 8px;"
|
<el-input v-model="info.patroldeviceName" style="width: 90%;margin-left: 8px;"
|
||||||
placeholder="请输入设备名称"></el-input>
|
placeholder="请输入设备名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-if="infoall.stationId == ''" label="变电站" style="width:50%" prop="areaId">
|
<el-form-item v-if="infoall.stationId == ''" label="变电站" style="width:50%"
|
||||||
|
prop="areaId">
|
||||||
<el-select v-model="info.stationId" placeholder="请选择变电站" style="width: 90%"
|
<el-select v-model="info.stationId" placeholder="请选择变电站" style="width: 90%"
|
||||||
@change="typeall, GetArea()">
|
@change="typeall, GetArea()">
|
||||||
<el-option v-for="item in optionSelect" :key="item.stationId"
|
<el-option v-for="item in optionSelect" :key="item.stationId"
|
||||||
@ -1386,8 +1402,8 @@ const isGaoliang: any = ref("")
|
|||||||
<el-form-item label="设备类型" style="width:50%" prop="type">
|
<el-form-item label="设备类型" style="width:50%" prop="type">
|
||||||
<el-select v-model="info.type" placeholder="请选择设备类型" style="width: 92%"
|
<el-select v-model="info.type" placeholder="请选择设备类型" style="width: 92%"
|
||||||
@change="typeall">
|
@change="typeall">
|
||||||
<el-option v-for="item in PatrolEquipmentType" :key="item.id" :label="item.dictname"
|
<el-option v-for="item in PatrolEquipmentType" :key="item.id"
|
||||||
:value="item.itemcode" />
|
:label="item.dictname" :value="item.itemcode" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="视频类型" style="width:50%">
|
<el-form-item label="视频类型" style="width:50%">
|
||||||
@ -1426,8 +1442,8 @@ const isGaoliang: any = ref("")
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="生产厂家" style="width:50%" prop="manufacturer">
|
<el-form-item label="生产厂家" style="width:50%" prop="manufacturer">
|
||||||
<el-select v-model="info.manufacturer" placeholder="请选择生产厂家" style="width: 92%">
|
<el-select v-model="info.manufacturer" placeholder="请选择生产厂家" style="width: 92%">
|
||||||
<el-option v-for="item in manufacturerList" :key="item.id" :label="item.dictname"
|
<el-option v-for="item in manufacturerList" :key="item.id"
|
||||||
:value="item.itemcode" />
|
:label="item.dictname" :value="item.itemcode" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="安装位置" style="width:50%" prop="place">
|
<el-form-item label="安装位置" style="width:50%" prop="place">
|
||||||
@ -1470,8 +1486,9 @@ const isGaoliang: any = ref("")
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注信息"
|
<el-form-item label="备注信息"
|
||||||
style="width:100%;display:flex;align-items:flex-start !important;">
|
style="width:100%;display:flex;align-items:flex-start !important;">
|
||||||
<el-input type="textarea" v-model="info.custom1" :autosize="{ minRows: 2, maxRows: 8 }"
|
<el-input type="textarea" v-model="info.custom1"
|
||||||
style="width: 96% ;margin-left: 8px;" placeholder="请输入备注信息"></el-input>
|
:autosize="{ minRows: 2, maxRows: 8 }" style="width: 96% ;margin-left: 8px;"
|
||||||
|
placeholder="请输入备注信息"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span class="dialog-footer"
|
<span class="dialog-footer"
|
||||||
@ -1482,104 +1499,7 @@ const isGaoliang: any = ref("")
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane v-if="info.type == 10 || info.type == ''" label="静默监视配置" name="second">
|
|
||||||
<div>
|
|
||||||
<div class="tabbas2-toner">
|
|
||||||
<div v-for="(items, index) in SilentMonitoringType" :key="index"
|
|
||||||
:class="items.checkInfo == true ? 'changechecked' : 'checkedchange'">
|
|
||||||
<el-checkbox v-model="items.checkInfo" :label="items.dictname" @change="checkchange"
|
|
||||||
v-if="dialogVisible" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-show="checkedlist.length == 0 || checkedlist[0] == ''" class="tabbas2-bottom">
|
|
||||||
请选择监视类型
|
|
||||||
</div>
|
|
||||||
<div v-show="checkedlist.length != 0 && checkedlist[0] != ''" style="height: 510px;margin:auto">
|
|
||||||
<div style="height: calc(70vh - 200px); overflow: auto">
|
|
||||||
<div v-show="checkedlist.indexOf('ryxw') != -1">
|
|
||||||
<div>
|
|
||||||
<div class="tabbas2Bottom">
|
|
||||||
<span>人员行为</span>
|
|
||||||
<el-button v-show="isOnline" type="text" style="width:90px;" class="button_one"
|
|
||||||
@click="maintenanceArea('ryxw')">维护生效区域</el-button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<el-form :model="infoAll" label-width="90px" ref="infoRefAlls"
|
|
||||||
:rules="infoRefAll" style="display: flex; flex-wrap: wrap;">
|
|
||||||
<el-form-item label="帧间隔" style="width:50%;position:relative"
|
|
||||||
prop="frame_interval" v-if="checkedlist.indexOf('ryxw') != -1">
|
|
||||||
<el-input v-model="infoAll.frame_interval"
|
|
||||||
style="width: 80%;margin-left: 8px;"
|
|
||||||
placeholder="请输入帧间隔"></el-input>
|
|
||||||
<div style="position: absolute;right: 90px;">秒</div>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="" style="width:50%;position:relative"
|
|
||||||
v-if="checkedlist.indexOf('ryxw') != -1">
|
|
||||||
<el-checkbox v-model="infoAll.check_enter" label="检测人员进入"
|
|
||||||
size="large" />
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-show="checkedlist.indexOf('hzyw') != -1">
|
|
||||||
<div>
|
|
||||||
<div class="tabbas3Bottom">
|
|
||||||
<span>烟火</span>
|
|
||||||
<el-button v-show="isOnline" type="text" style="width:90px;" class="button_one"
|
|
||||||
@click="maintenanceArea('hzyw')">维护生效区域</el-button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<el-form :model="smokeInfo" label-width="90px" ref="smokeRefInfos"
|
|
||||||
:rules="smokeRefInfo" style="display: flex; flex-wrap: wrap;">
|
|
||||||
<el-form-item label="帧间隔" style="width:50%;position:relative"
|
|
||||||
prop="frame_interval" v-if="checkedlist.indexOf('hzyw') != -1">
|
|
||||||
<el-input v-model="smokeInfo.frame_interval"
|
|
||||||
style="width: 80%;margin-left: 8px;"
|
|
||||||
placeholder="请输入帧间隔"></el-input>
|
|
||||||
<div style="position: absolute;right: 90px;">秒</div>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-show="checkedlist.indexOf('sly_dmyw') != -1">
|
|
||||||
<div>
|
|
||||||
<div class="tabbas3Bottom">
|
|
||||||
<span>渗漏油</span>
|
|
||||||
<el-button v-show="isOnline" type="text" style="width:90px;" class="button_one"
|
|
||||||
@click="maintenanceArea('sly_dmyw')">维护生效区域</el-button>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<el-form :model="leakageInfo" label-width="90px" ref="leakageRefInfos"
|
|
||||||
:rules="leakageRefInfo" style="display: flex; flex-wrap: wrap;">
|
|
||||||
<el-form-item label="帧间隔" style="width:50%;position:relative"
|
|
||||||
prop="frame_interval" v-if="checkedlist.indexOf('sly_dmyw') != -1">
|
|
||||||
<el-input v-model="leakageInfo.frame_interval"
|
|
||||||
style="width: 80%;margin-left: 8px;"
|
|
||||||
placeholder="请输入帧间隔"></el-input>
|
|
||||||
<div style="position: absolute;right: 90px;">秒</div>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<span class="dialog-footer"
|
|
||||||
style="width: 100%;margin: auto; display: flex;display: -webkit-flex; justify-content: center;-webkit-justify-content: center;margin: 20px 0px 10px 0px ;">
|
|
||||||
|
|
||||||
<div class="details-button" @click="handleClose">取消</div>
|
|
||||||
<div class="details-button" @click="confirmClick(infoForm)">确定</div>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<!-- </div> -->
|
|
||||||
</div>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane v-if="info.type == 10 || info.type == ''" label="通道设置" name="third">
|
<el-tab-pane v-if="info.type == 10 || info.type == ''" label="通道设置" name="third">
|
||||||
<div>
|
<div>
|
||||||
<div style="height: 562px;">
|
<div style="height: 562px;">
|
||||||
@ -1596,9 +1516,16 @@ const isGaoliang: any = ref("")
|
|||||||
<el-input :disabled="checked1 == true" v-model="visibleLight.channel_code"
|
<el-input :disabled="checked1 == true" v-model="visibleLight.channel_code"
|
||||||
style="width: 90%;margin-left: 8px;" placeholder="请输入通道编号"></el-input>
|
style="width: 90%;margin-left: 8px;" placeholder="请输入通道编号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="RTSP流地址" style="width:100%;">
|
<el-form-item label="RTSP主码流地址" style="width:100%;">
|
||||||
<el-input :disabled="checked1 == true" v-model="visibleLight.channel_rtspurl"
|
<el-input :disabled="checked1 == true"
|
||||||
style="width: 90%;margin-left: 8px;" placeholder="请输入RTSP流地址"></el-input>
|
v-model="visibleLight.channel_rtspurl"
|
||||||
|
style="width: 100%;margin-left: 8px;"
|
||||||
|
placeholder="请输入RTSP流地址"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="RTSP辅码流地址" style="width:100%;">
|
||||||
|
<el-input :disabled="checked1 == true" v-model="visibleLight.assist_rtspurl"
|
||||||
|
style="width: 100%;margin-left: 8px;"
|
||||||
|
placeholder="请输入RTSP流地址"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="来源" style="width:100%;">
|
<el-form-item label="来源" style="width:100%;">
|
||||||
<el-checkbox v-model="checked1" label="录像机" size="large"
|
<el-checkbox v-model="checked1" label="录像机" size="large"
|
||||||
@ -1623,15 +1550,16 @@ const isGaoliang: any = ref("")
|
|||||||
红外设置</div>
|
红外设置</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-form :model="infrared" label-width="90px" ref="infrareds" :rules="leakageRefInfo"
|
<el-form :model="infrared" label-width="90px" ref="infrareds"
|
||||||
style="display: flex; flex-wrap: wrap;">
|
:rules="leakageRefInfo" style="display: flex; flex-wrap: wrap;">
|
||||||
<el-form-item label="通道编号" style="width:100%;position:relative">
|
<el-form-item label="通道编号" style="width:100%;position:relative">
|
||||||
<el-input :disabled="checked2 == true" v-model="infrared.channel_code"
|
<el-input :disabled="checked2 == true" v-model="infrared.channel_code"
|
||||||
style="width: 90%;margin-left: 8px;" placeholder="请输入通道编号"></el-input>
|
style="width: 90%;margin-left: 8px;" placeholder="请输入通道编号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="RTSP流地址" style="width:100%;">
|
<el-form-item label="RTSP流地址" style="width:100%;">
|
||||||
<el-input :disabled="checked2 == true" v-model="infrared.channel_rtspurl"
|
<el-input :disabled="checked2 == true" v-model="infrared.channel_rtspurl"
|
||||||
style="width: 90%;margin-left: 8px;" placeholder="请输入RTSP流地址"></el-input>
|
style="width: 90%;margin-left: 8px;"
|
||||||
|
placeholder="请输入RTSP流地址"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="云台编号" style="width:50%;">
|
<el-form-item label="云台编号" style="width:50%;">
|
||||||
<el-input :disabled="checked2 == true" v-model="infrared.pan_code"
|
<el-input :disabled="checked2 == true" v-model="infrared.pan_code"
|
||||||
@ -1651,7 +1579,8 @@ const isGaoliang: any = ref("")
|
|||||||
style="width: 77%;margin-left: 8px;" placeholder="录像机编号"></el-input>
|
style="width: 77%;margin-left: 8px;" placeholder="录像机编号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="录像通道编号" style="width:50%;">
|
<el-form-item label="录像通道编号" style="width:50%;">
|
||||||
<el-input :disabled="checked2 == false" v-model="infrared.recorder_channelcode"
|
<el-input :disabled="checked2 == false"
|
||||||
|
v-model="infrared.recorder_channelcode"
|
||||||
style="width: 77%;margin-left: 8px;" placeholder="录像通道编号"></el-input>
|
style="width: 77%;margin-left: 8px;" placeholder="录像通道编号"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
@ -1706,17 +1635,19 @@ const isGaoliang: any = ref("")
|
|||||||
</template>
|
</template>
|
||||||
</Eldialog>
|
</Eldialog>
|
||||||
<aside id="silderLeft">
|
<aside id="silderLeft">
|
||||||
<div class="displayflex" style="margin: 0;padding-left: 8px;height: 30px;margin-top:10px;margin-bottom:10px;">
|
<div class="displayflex"
|
||||||
|
style="margin: 0;padding-left: 8px;height: 30px;margin-top:10px;margin-bottom:10px;">
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<div class="title" style="font-size: 14px;">数据列表</div>
|
<div class="title" style="font-size: 14px;">数据列表</div>
|
||||||
</div>
|
</div>
|
||||||
<el-select v-model="value" placeholder="" style="width: 98% !important; display: flex; justify-content: center"
|
<el-select v-model="value" placeholder=""
|
||||||
@change="getTree">
|
style="width: 98% !important; display: flex; justify-content: center" @change="getTree">
|
||||||
<el-option v-for="item in optionSelect" :key="item.stationId" :label="item.stationName"
|
<el-option v-for="item in optionSelect" :key="item.stationId" :label="item.stationName"
|
||||||
:value="item.stationId" style="width:100%" />
|
:value="item.stationId" style="width:100%" />
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-scrollbar height="calc(80vh)" style="width:99%;">
|
<el-scrollbar height="calc(80vh)" style="width:99%;">
|
||||||
<el-tree ref="treeRef" :class="useAppStore().size === 'default' ? 'silderLeft-large' : 'silderLeft-default'"
|
<el-tree ref="treeRef"
|
||||||
|
:class="useAppStore().size === 'default' ? 'silderLeft-large' : 'silderLeft-default'"
|
||||||
node-key="areaId" :data="treedata" :current-node-key="currentNodeKey" :highlight-current="true"
|
node-key="areaId" :data="treedata" :current-node-key="currentNodeKey" :highlight-current="true"
|
||||||
:props="defaultProps" v-loading="treeloading" @node-click="handleNodeClick">
|
:props="defaultProps" v-loading="treeloading" @node-click="handleNodeClick">
|
||||||
</el-tree>
|
</el-tree>
|
||||||
@ -1739,10 +1670,16 @@ const isGaoliang: any = ref("")
|
|||||||
</el-select>
|
</el-select>
|
||||||
<el-input v-model="deviceModel" clearable placeholder="请输入设备型号" @clear="getData()"
|
<el-input v-model="deviceModel" clearable placeholder="请输入设备型号" @clear="getData()"
|
||||||
@keyup.enter="getData()" style="margin-right:10px ;width: 185px;" />
|
@keyup.enter="getData()" style="margin-right:10px ;width: 185px;" />
|
||||||
<el-select v-model="manufacturer" placeholder="请选择生产厂家" style="margin-right: 10px;" @change="getData()">
|
<el-select v-model="manufacturer" placeholder="请选择生产厂家" style="margin-right: 10px;"
|
||||||
|
@change="getData()" clearable>
|
||||||
<el-option v-for="item in manufacturerList" :key="item.id" :label="item.dictname"
|
<el-option v-for="item in manufacturerList" :key="item.id" :label="item.dictname"
|
||||||
:value="item.itemcode" />
|
:value="item.itemcode" />
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<el-select v-model="paramstable.online" placeholder="实时状态" style="margin-right: 10px;width: 140px;"
|
||||||
|
@change="getData()" clearable>
|
||||||
|
<el-option v-for="item in statusList" :key="item.id" :label="item.name"
|
||||||
|
:value="item.id" />
|
||||||
|
</el-select>
|
||||||
<el-button class="searchButton" type="primary" @click="getData()">搜索</el-button>
|
<el-button class="searchButton" type="primary" @click="getData()">搜索</el-button>
|
||||||
<el-button class="searchButton" @click="resetting()">重置</el-button>
|
<el-button class="searchButton" @click="resetting()">重置</el-button>
|
||||||
</div>
|
</div>
|
||||||
@ -1755,40 +1692,39 @@ const isGaoliang: any = ref("")
|
|||||||
<!-- <el-button type="primary" @click="addClick"><img style="margin-right:5px;"
|
<!-- <el-button type="primary" @click="addClick"><img style="margin-right:5px;"
|
||||||
src="@/assets/MenuIcon/u429.png" alt=""> 导入</el-button> -->
|
src="@/assets/MenuIcon/u429.png" alt=""> 导入</el-button> -->
|
||||||
<el-button class="searchButton" v-hasPerm="['del:patroldevice']" @click="delClick"
|
<el-button class="searchButton" v-hasPerm="['del:patroldevice']" @click="delClick"
|
||||||
:disabled="deviceInfos.length == 0" :type="deviceInfos.length > 0 ? 'primary' : ''"> 删除</el-button>
|
:disabled="deviceInfos.length == 0" :type="deviceInfos.length > 0 ? 'primary' : ''">
|
||||||
|
删除</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="draggable">
|
<div class="draggable">
|
||||||
<el-table v-loading="loading" :data="tableData" style="width: 100%;height: calc(75vh);
|
<el-table v-loading="loading" :data="tableData" style="width: 100%;height: calc(75vh);
|
||||||
overflow: auto;margin-bottom: 15px;" row-key="id" @selection-change="handleSelectionChange"
|
overflow: auto;margin-bottom: 15px;" row-key="id" @selection-change="handleSelectionChange"
|
||||||
default-expand-all :row-class-name="tableRowClassName"
|
default-expand-all :row-class-name="tableRowClassName"
|
||||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px'}">
|
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||||
<el-table-column type="selection" width="30" align="center" :selectable="checkSelectable" />
|
<el-table-column type="selection" width="30" align="center" :selectable="checkSelectable" />
|
||||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||||
<el-table-column label="设备编码" prop="patroldeviceCode" align="center" ></el-table-column>
|
<el-table-column label="设备编码" prop="patroldeviceCode" align="center"></el-table-column>
|
||||||
<el-table-column label="设备名称" prop="patroldeviceName" align="center" ></el-table-column>
|
<el-table-column label="设备名称" prop="patroldeviceName" align="center"></el-table-column>
|
||||||
<el-table-column label="设备类型" prop="typeName" width="80" align="center" ></el-table-column>
|
<el-table-column label="设备类型" prop="typeName" width="80" align="center"></el-table-column>
|
||||||
<el-table-column label="设备型号" prop="deviceModel" align="center" ></el-table-column>
|
<el-table-column label="设备型号" prop="deviceModel" align="center"></el-table-column>
|
||||||
<el-table-column label="设备来源" prop="deviceSource" align="center" width="80"></el-table-column>
|
<el-table-column label="设备来源" prop="deviceSource" align="center" width="80"></el-table-column>
|
||||||
<el-table-column label="生产厂家" prop="manufacturer" align="center" width="80">
|
<el-table-column label="生产厂家" prop="manufacturer" align="center" width="80">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ currency(manufacturerList, scope.row.manufacturer) }}
|
{{ currency(manufacturerList, scope.row.manufacturer) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="安装位置" prop="place" width="80" align="center" ></el-table-column>
|
<el-table-column label="安装位置" prop="place" width="80" align="center"></el-table-column>
|
||||||
<el-table-column label="实时状态" width="100" prop="datastatus" align="center">
|
<el-table-column label="实时状态" width="100" prop="datastatus" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<!-- <span v-if="scope.row.typeName == '硬盘录像机'">
|
|
||||||
----
|
|
||||||
</span> -->
|
|
||||||
<span style="color:#F24444" v-if="scope.row.online != 1">
|
<span style="color:#F24444" v-if="scope.row.online != 1">
|
||||||
<img src="@/assets/MenuIcon/u499.png" alt=""
|
<img src="@/assets/MenuIcon/u499.png" alt=""
|
||||||
style="display: inline-block; margin: 0px 5px; ">离线
|
style="display: inline-block; margin: 0px 5px; ">离线
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
<span style="color:#F24444" v-else-if="scope.row.online == 1">
|
<span style="color:#F24444" v-else-if="scope.row.online == 1">
|
||||||
<span v-if="scope.row.online == 1" style="color:#00CC66"><img src="@/assets/newimg/u387.png"
|
<span v-if="scope.row.online == 1" style="color:#00CC66"><img
|
||||||
alt="" style="display: inline-block; margin: 0px 5px; "> 在线
|
src="@/assets/newimg/u387.png" alt=""
|
||||||
|
style="display: inline-block; margin: 0px 5px; "> 在线
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
@ -1806,24 +1742,24 @@ const isGaoliang: any = ref("")
|
|||||||
|
|
||||||
<span v-if="scope.row.type == 10 && scope.row.useMode == 10">
|
<span v-if="scope.row.type == 10 && scope.row.useMode == 10">
|
||||||
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 1">
|
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 1">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qij.png" alt="" title="查看通道1"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qij.png" alt=""
|
||||||
@click="monitorClick(scope.row, 0)"
|
title="查看通道1" @click="monitorClick(scope.row, 0)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<img v-else src="@/assets/newimg/ht_qij1.png" alt="" title="离线通道1"
|
<img v-else src="@/assets/newimg/ht_qij1.png" alt="" title="离线通道1"
|
||||||
style="margin:auto;display: inline-block;margin-left:15px;">
|
style="margin:auto;display: inline-block;margin-left:15px;">
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 2">
|
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 2">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qij.png" alt="" title="查看通道1"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qij.png" alt=""
|
||||||
@click="monitorClick(scope.row, 0)"
|
title="查看通道1" @click="monitorClick(scope.row, 0)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;">
|
style="cursor: pointer;margin:auto;display: inline-block;">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qij.png" alt="" title="查看通道2"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qij.png" alt=""
|
||||||
@click="monitorClick(scope.row, 1)"
|
title="查看通道2" @click="monitorClick(scope.row, 1)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qij1.png" alt="" title="离线通道1"
|
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qij1.png" alt=""
|
||||||
style="margin:auto;display: inline-block;">
|
title="离线通道1" style="margin:auto;display: inline-block;">
|
||||||
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qij1.png" alt="" title="离线通道1"
|
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qij1.png" alt=""
|
||||||
style="margin:auto;display: inline-block;margin-left:15px;">
|
title="离线通道1" style="margin:auto;display: inline-block;margin-left:15px;">
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
<span v-if="scope.row.channelList.length == 0">
|
<span v-if="scope.row.channelList.length == 0">
|
||||||
@ -1832,24 +1768,24 @@ const isGaoliang: any = ref("")
|
|||||||
</span>
|
</span>
|
||||||
<span v-if="scope.row.type == 10 && scope.row.useMode == 11">
|
<span v-if="scope.row.type == 10 && scope.row.useMode == 11">
|
||||||
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 1">
|
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 1">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qj.png" alt="" title="查看通道1"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qj.png" alt=""
|
||||||
@click="monitorClick(scope.row, 0)"
|
title="查看通道1" @click="monitorClick(scope.row, 0)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<img v-else src="@/assets/newimg/ht_qj1.png" alt="" title="离线通道1"
|
<img v-else src="@/assets/newimg/ht_qj1.png" alt="" title="离线通道1"
|
||||||
style="margin:auto;display: inline-block;margin-left:15px;">
|
style="margin:auto;display: inline-block;margin-left:15px;">
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 2">
|
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 2">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qj.png" alt="" title="查看通道1"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qj.png" alt=""
|
||||||
@click="monitorClick(scope.row, 0)"
|
title="查看通道1" @click="monitorClick(scope.row, 0)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;">
|
style="cursor: pointer;margin:auto;display: inline-block;">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qj.png" alt="" title="查看通道2"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_qj.png" alt=""
|
||||||
@click="monitorClick(scope.row, 1)"
|
title="查看通道2" @click="monitorClick(scope.row, 1)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qj1.png" alt="" title="离线通道1"
|
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qj1.png" alt=""
|
||||||
style="margin:auto;display: inline-block;">
|
title="离线通道1" style="margin:auto;display: inline-block;">
|
||||||
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qj1.png" alt="" title="离线通道1"
|
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_qj1.png" alt=""
|
||||||
style="margin:auto;display: inline-block;margin-left:15px;">
|
title="离线通道1" style="margin:auto;display: inline-block;margin-left:15px;">
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
<span v-if="scope.row.channelList.length == 0">
|
<span v-if="scope.row.channelList.length == 0">
|
||||||
@ -1859,24 +1795,24 @@ const isGaoliang: any = ref("")
|
|||||||
|
|
||||||
<span v-if="scope.row.type == 10 && scope.row.useMode == 12">
|
<span v-if="scope.row.type == 10 && scope.row.useMode == 12">
|
||||||
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 1">
|
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 1">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_yt.png" alt="" title="查看通道1"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_yt.png" alt=""
|
||||||
@click="monitorClick(scope.row, 0)"
|
title="查看通道1" @click="monitorClick(scope.row, 0)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<img v-else src="@/assets/newimg/ht_yt1.png" alt="" title="离线通道1"
|
<img v-else src="@/assets/newimg/ht_yt1.png" alt="" title="离线通道1"
|
||||||
style="margin:auto;display: inline-block;margin-left:15px;">
|
style="margin:auto;display: inline-block;margin-left:15px;">
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 2">
|
<span v-if="scope.row.channelList != undefined && scope.row.channelList.length == 2">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_yt.png" alt="" title="查看通道1"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_yt.png" alt=""
|
||||||
@click="monitorClick(scope.row, 0)"
|
title="查看通道1" @click="monitorClick(scope.row, 0)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;">
|
style="cursor: pointer;margin:auto;display: inline-block;">
|
||||||
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_yt.png" alt="" title="查看通道2"
|
<img v-if="scope.row.online == 1" src="@/assets/newimg/ht_yt.png" alt=""
|
||||||
@click="monitorClick(scope.row, 1)"
|
title="查看通道2" @click="monitorClick(scope.row, 1)"
|
||||||
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
style="cursor: pointer;margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_yt1.png" alt="" title="离线通道1"
|
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_yt1.png" alt=""
|
||||||
style="margin:auto;display: inline-block;">
|
title="离线通道1" style="margin:auto;display: inline-block;">
|
||||||
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_yt1.png" alt="" title="离线通道1"
|
<img v-if="scope.row.online != 1" src="@/assets/newimg/ht_yt1.png" alt=""
|
||||||
style="margin:auto;display: inline-block;margin-left:15px;">
|
title="离线通道1" style="margin:auto;display: inline-block;margin-left:15px;">
|
||||||
<span v-if="scope.row.channelList == undefined">
|
<span v-if="scope.row.channelList == undefined">
|
||||||
----
|
----
|
||||||
</span>
|
</span>
|
||||||
@ -1896,22 +1832,13 @@ const isGaoliang: any = ref("")
|
|||||||
<span v-else style="color: #d7d7d7">无效</span>
|
<span v-else style="color: #d7d7d7">无效</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="静默任务" width="100" prop="dailymonitor" align="center" fixed="right">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-switch v-model="scope.row.dailymonitor" active-value="1" inactive-value="0"
|
|
||||||
:disabled="scope.row.typeName == '硬盘录像机' || scope.row.channelList == undefined || scope.row.online != 1"
|
|
||||||
@change="switchDailymonitor(scope.row)" style="margin-right: 4px"></el-switch>
|
|
||||||
<span v-if="scope.row.dailymonitor == 1" class="effective">启用</span>
|
|
||||||
<span v-else style="color: #d7d7d7">停用</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="60" fixed="right" align="center"
|
<el-table-column label="操作" width="60" fixed="right" align="center"
|
||||||
style="display: flex; display: -webkit-flex;">
|
style="display: flex; display: -webkit-flex;">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span
|
<span
|
||||||
style="display: flex;display: -webkit-flex; justify-content: space-around;-webkit-justify-content: space-around; ">
|
style="display: flex;display: -webkit-flex; justify-content: space-around;-webkit-justify-content: space-around; ">
|
||||||
<img v-hasPerm="['update:patroldevice']" src="@/assets/newimg/ht_xg.png" alt="" title="修改"
|
<img v-hasPerm="['update:patroldevice']" src="@/assets/newimg/ht_xg.png" alt=""
|
||||||
@click="handleEdit(scope.row)" style="cursor: pointer;">
|
title="修改" @click="handleEdit(scope.row)" style="cursor: pointer;">
|
||||||
<img v-hasPerm="['del:patroldevice']" src="@/assets/newimg/ht_sc.png" alt=""
|
<img v-hasPerm="['del:patroldevice']" src="@/assets/newimg/ht_sc.png" alt=""
|
||||||
v-if="scope.row.datastatus == 0" title="删除" @click="handleDelete(scope.row)"
|
v-if="scope.row.datastatus == 0" title="删除" @click="handleDelete(scope.row)"
|
||||||
style="cursor: pointer; ">
|
style="cursor: pointer; ">
|
||||||
@ -1942,7 +1869,8 @@ const isGaoliang: any = ref("")
|
|||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-bottom">
|
<div class="Camera-left-bottom">
|
||||||
<div class="Camera-buttons-box">
|
<div class="Camera-buttons-box">
|
||||||
<div class="Camera-left-button1" @mousedown="ptzCamera('up')" @mouseup="ptzCamera('stop')">
|
<div class="Camera-left-button1" @mousedown="ptzCamera('up')"
|
||||||
|
@mouseup="ptzCamera('stop')">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button2" @mousedown="ptzCamera('upright')"
|
<div class="Camera-left-button2" @mousedown="ptzCamera('upright')"
|
||||||
@mouseup="ptzCamera('stop')"></div>
|
@mouseup="ptzCamera('stop')"></div>
|
||||||
@ -1977,8 +1905,8 @@ const isGaoliang: any = ref("")
|
|||||||
</el-icon></div>
|
</el-icon></div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div class="videoOperations" :class="{ 'gaolaing': isGaoliang == '66' }" @mouseup="quxiao"
|
<div class="videoOperations" :class="{ 'gaolaing': isGaoliang == '66' }"
|
||||||
@mousedown="condensationChang('减')"><el-icon>
|
@mouseup="quxiao" @mousedown="condensationChang('减')"><el-icon>
|
||||||
<Minus />
|
<Minus />
|
||||||
</el-icon></div>
|
</el-icon></div>
|
||||||
<div class="videoOperationstext">光聚</div>
|
<div class="videoOperationstext">光聚</div>
|
||||||
@ -1989,8 +1917,8 @@ const isGaoliang: any = ref("")
|
|||||||
</el-icon></div>
|
</el-icon></div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;">
|
<div style="display: flex;">
|
||||||
<div class="videoOperations" :class="{ 'gaolaing': isGaoliang == '72' }" @mouseup="quxiao"
|
<div class="videoOperations" :class="{ 'gaolaing': isGaoliang == '72' }"
|
||||||
@mousedown="apertureChang('减')"><el-icon>
|
@mouseup="quxiao" @mousedown="apertureChang('减')"><el-icon>
|
||||||
<Minus />
|
<Minus />
|
||||||
</el-icon></div>
|
</el-icon></div>
|
||||||
<div class="videoOperationstext">光圈</div>
|
<div class="videoOperationstext">光圈</div>
|
||||||
@ -2004,59 +1932,27 @@ const isGaoliang: any = ref("")
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="width:500px">
|
<div style="width:500px">
|
||||||
<div style="display: flex;justify-content:space-between; padding-left: 30px;">
|
|
||||||
<div style="display: flex;">
|
|
||||||
<span style="display: block; padding-top: 4px;padding-left: 15px;">灯光</span>
|
|
||||||
<el-switch class="nei" style="display: block;margin-left:15px;" v-model="isLighting"
|
|
||||||
inline-prompt active-text="开" inactive-text="关" @change="lightingClick"
|
|
||||||
active-value="255" inactive-value="0" />
|
|
||||||
</div>
|
|
||||||
<div style="display: flex;"><span
|
|
||||||
style="display: block;padding-top: 4px;padding-left:30px">红外</span>
|
|
||||||
<el-switch class="nei" style="display: block;margin-left:15px" v-model="isInfrared"
|
|
||||||
inline-prompt active-text="开" inactive-text="关" @change="infraredClick"
|
|
||||||
active-value="255" inactive-value="0" />
|
|
||||||
</div>
|
|
||||||
<div style="display: flex;"><span
|
|
||||||
style="display: block;padding-top: 4px;padding-left:30px">雨刷</span>
|
|
||||||
<el-switch class="nei" style="display: block;margin-left:15px" v-model="isWiper"
|
|
||||||
inline-prompt active-text="开" inactive-text="关" @change="WiperClick"
|
|
||||||
active-value="1" inactive-value="0" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- <div class="Camera-left-switchs-two"></div> -->
|
|
||||||
<div style="display: flex;align-items: center; padding-top: 25px; padding-left: 30px;"
|
<div style="display: flex;align-items: center; padding-top: 25px; padding-left: 30px;"
|
||||||
class="buttonstyleheight">
|
class="buttonstyleheight">
|
||||||
<div style="width: 60px;">预置位</div>
|
<div style="width: 60px;">预置位</div>
|
||||||
<el-input-number class="Camera-number-input" style="width:140px"
|
<el-input-number class="Camera-number-input" style="width:140px"
|
||||||
v-model="beforehandPosition" controls-position="right" size="large" />
|
v-model="beforehandPosition" controls-position="right" size="large" />
|
||||||
<el-button class="searchButton" style="margin-left:30px"
|
<div>
|
||||||
|
<el-button class="searchButton" style="margin-left:30px"
|
||||||
@click="presetPosition(129, beforehandPosition)">设置</el-button>
|
@click="presetPosition(129, beforehandPosition)">设置</el-button>
|
||||||
<el-button class="searchButton" style="margin-left:30px"
|
<el-button class="searchButton" style="margin-left:30px"
|
||||||
@click="presetPosition(131, beforehandPosition)">删除</el-button>
|
@click="presetPosition(131, beforehandPosition)">删除</el-button>
|
||||||
<el-button class="searchButton" type="primary" style="margin-left:30px"
|
<el-button class="searchButton" type="primary" style="margin-left:30px"
|
||||||
@click="presetPosition(130, beforehandPosition)">调用</el-button>
|
@click="presetPosition(130, beforehandPosition)">调用</el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
|
||||||
style="display: flex;align-items: center; justify-content: space-between; padding-top: 10px;width:100%;">
|
|
||||||
<div style="margin-left: 15px;">守望位号</div>
|
|
||||||
<div style="margin-left:15px ;width:200px;"><el-input placeholder=" " v-model="preset" />
|
|
||||||
</div>
|
|
||||||
<div style="margin-left: 30px;">守望位回归时间</div>
|
|
||||||
<div style="margin-left:15px ;position: relative;"><el-input v-model="presettime"
|
|
||||||
placeholder=" " />
|
|
||||||
<div style="position: absolute;color: #00000067;top: 6px;right: 5px;">分钟</div>
|
|
||||||
</div>
|
|
||||||
<el-button class="searchButton" style="margin-left:30px" @click="Position">设置</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -2080,14 +1976,16 @@ const isGaoliang: any = ref("")
|
|||||||
@mouseup="ptzCamera('stop')">
|
@mouseup="ptzCamera('stop')">
|
||||||
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(-45deg)">
|
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(-45deg)">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button" @mousedown="ptzCamera('up')" @mouseup="ptzCamera('stop')">
|
<div class="Camera-left-button" @mousedown="ptzCamera('up')"
|
||||||
|
@mouseup="ptzCamera('stop')">
|
||||||
<img src="@/assets/MenuIcon/u1158.png" alt="">
|
<img src="@/assets/MenuIcon/u1158.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button" @mousedown="ptzCamera('upright')"
|
<div class="Camera-left-button" @mousedown="ptzCamera('upright')"
|
||||||
@mouseup="ptzCamera('stop')">
|
@mouseup="ptzCamera('stop')">
|
||||||
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(45deg)">
|
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(45deg)">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button" @mousedown="ptzCamera('left')" @mouseup="ptzCamera('stop')">
|
<div class="Camera-left-button" @mousedown="ptzCamera('left')"
|
||||||
|
@mouseup="ptzCamera('stop')">
|
||||||
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(-90deg)">
|
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(-90deg)">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button" @mousedown="videoRefresh"><img
|
<div class="Camera-left-button" @mousedown="videoRefresh"><img
|
||||||
@ -2100,7 +1998,8 @@ const isGaoliang: any = ref("")
|
|||||||
@mouseup="ptzCamera('stop')">
|
@mouseup="ptzCamera('stop')">
|
||||||
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(-135deg)">
|
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(-135deg)">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button" @mousedown="ptzCamera('down')" @mouseup="ptzCamera('stop')">
|
<div class="Camera-left-button" @mousedown="ptzCamera('down')"
|
||||||
|
@mouseup="ptzCamera('stop')">
|
||||||
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(180deg)">
|
<img src="@/assets/MenuIcon/u1158.png" alt="" style="transform:rotate(180deg)">
|
||||||
</div>
|
</div>
|
||||||
<div class="Camera-left-button" @mousedown="ptzCamera('downright')"
|
<div class="Camera-left-button" @mousedown="ptzCamera('downright')"
|
||||||
@ -2163,9 +2062,9 @@ const isGaoliang: any = ref("")
|
|||||||
</div>
|
</div>
|
||||||
<div style="display: flex;"><span
|
<div style="display: flex;"><span
|
||||||
style="display: block;padding-top: 4px;padding-left:30px">雨刷</span>
|
style="display: block;padding-top: 4px;padding-left:30px">雨刷</span>
|
||||||
<el-switch style="display: block;margin-left:15px" v-model="isWiper" inline-prompt
|
<el-switch style="display: block;margin-left:15px" v-model="isWiper"
|
||||||
active-text="开" inactive-text="关" @change="WiperClick" active-value="1"
|
inline-prompt active-text="开" inactive-text="关" @change="WiperClick"
|
||||||
inactive-value="0" />
|
active-value="1" inactive-value="0" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@ -2901,6 +2800,5 @@ const isGaoliang: any = ref("")
|
|||||||
|
|
||||||
.gaolaing {
|
.gaolaing {
|
||||||
background: rgba(50, 177, 245, 0.4)
|
background: rgba(50, 177, 245, 0.4)
|
||||||
}</style>
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
@ -25,6 +25,9 @@ import Eldialog from '@/components/seccmsdialog/eldialog.vue';
|
|||||||
import {
|
import {
|
||||||
getArea,
|
getArea,
|
||||||
} from "@/api/monitordevice";
|
} from "@/api/monitordevice";
|
||||||
|
import { useUserStore } from '@/store/modules/user';
|
||||||
|
import { getTreeList } from "@/api/linksignal";
|
||||||
|
const userStore = useUserStore();
|
||||||
//左侧树形控件
|
//左侧树形控件
|
||||||
interface Tree {
|
interface Tree {
|
||||||
[x: string]: any;
|
[x: string]: any;
|
||||||
@ -32,8 +35,8 @@ interface Tree {
|
|||||||
children?: Tree[];
|
children?: Tree[];
|
||||||
}
|
}
|
||||||
const defaultProps = {
|
const defaultProps = {
|
||||||
// children: "children",
|
children: "children",
|
||||||
label: "stationName"
|
label: "name"
|
||||||
};
|
};
|
||||||
const treedata: any = ref([]);
|
const treedata: any = ref([]);
|
||||||
const treeRef = ref();
|
const treeRef = ref();
|
||||||
@ -45,21 +48,22 @@ const stationId = ref()
|
|||||||
const stationName = ref()
|
const stationName = ref()
|
||||||
const stationCode = ref()
|
const stationCode = ref()
|
||||||
function getSelect() {
|
function getSelect() {
|
||||||
getTreefirst().then((res: any) => {
|
getTreeList({stationId:userStore.stationId}).then((res: any) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
if (res.data.length == 0) {
|
if (res.data.length == 0) {
|
||||||
tableData.value = []
|
tableData.value = []
|
||||||
loading.value = false
|
loading.value = false
|
||||||
}
|
}
|
||||||
treedata.value = res.data
|
treedata.value = res.data
|
||||||
stationId.value = res.data[0].stationId
|
stationId.value = userStore.stationId
|
||||||
|
areaId.value = res.data[0].areaId
|
||||||
stationName.value = res.data[0].stationName
|
stationName.value = res.data[0].stationName
|
||||||
stationCode.value = res.data[0].stationCode
|
stationCode.value = res.data[0].stationCode
|
||||||
GetArea()
|
GetArea()
|
||||||
treeloading.value = false
|
treeloading.value = false
|
||||||
loading.value = true
|
loading.value = true
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
treeRef.value?.setCurrentKey(res.data[0].stationId);
|
treeRef.value?.setCurrentKey(areaId.value);
|
||||||
});
|
});
|
||||||
getData()
|
getData()
|
||||||
} else {
|
} else {
|
||||||
@ -71,7 +75,8 @@ function getSelect() {
|
|||||||
// 导航树点击事件
|
// 导航树点击事件
|
||||||
const disabled = ref(false)
|
const disabled = ref(false)
|
||||||
function handleNodeClick(data: Tree, node: any) {
|
function handleNodeClick(data: Tree, node: any) {
|
||||||
stationId.value = data.stationId
|
areaId.value = data.areaId
|
||||||
|
stationId.value = userStore.stationId
|
||||||
stationName.value = data.stationName
|
stationName.value = data.stationName
|
||||||
stationCode.value = data.stationCode
|
stationCode.value = data.stationCode
|
||||||
GetArea()
|
GetArea()
|
||||||
@ -81,9 +86,10 @@ function handleNodeClick(data: Tree, node: any) {
|
|||||||
}
|
}
|
||||||
// 右侧表格
|
// 右侧表格
|
||||||
const deviceName = ref('')
|
const deviceName = ref('')
|
||||||
|
const areaId = ref('')
|
||||||
const tableData: any = ref()
|
const tableData: any = ref()
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const paramstable = ref({
|
const paramstable:any = ref({
|
||||||
size: 10,
|
size: 10,
|
||||||
current: 1,
|
current: 1,
|
||||||
stationId: '',
|
stationId: '',
|
||||||
@ -99,7 +105,8 @@ const manufacturer = ref()
|
|||||||
const total = ref()
|
const total = ref()
|
||||||
function getData() {
|
function getData() {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
paramstable.value.stationId = stationId.value
|
paramstable.value.stationId = userStore.stationId
|
||||||
|
paramstable.value.areaId = areaId.value
|
||||||
paramstable.value.patrolDeviceName = patrolDeviceName.value
|
paramstable.value.patrolDeviceName = patrolDeviceName.value
|
||||||
paramstable.value.deviceModel = deviceModel.value
|
paramstable.value.deviceModel = deviceModel.value
|
||||||
paramstable.value.manufacturer = manufacturer.value
|
paramstable.value.manufacturer = manufacturer.value
|
||||||
@ -364,7 +371,8 @@ function addClick() {
|
|||||||
macaddr: '',
|
macaddr: '',
|
||||||
custom1: '',
|
custom1: '',
|
||||||
materialId: '',
|
materialId: '',
|
||||||
internationalId: ''
|
internationalId: '',
|
||||||
|
areaId: areaId.value,
|
||||||
}
|
}
|
||||||
title.value = "新增声纹监测装置"
|
title.value = "新增声纹监测装置"
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
@ -586,7 +594,7 @@ function GetArea() {
|
|||||||
placeholder="请输入设备名称"></el-input>
|
placeholder="请输入设备名称"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="区域" style="width:50%" prop="areaId">
|
<el-form-item label="区域" style="width:50%" prop="areaId">
|
||||||
<el-select v-model="info.areaId" placeholder="请选择区域"
|
<el-select v-model="info.areaId" placeholder="请选择区域" disabled
|
||||||
style="width: 100%;">
|
style="width: 100%;">
|
||||||
<el-option v-for="item in areaList" :key="item.areaId" :label="item.areaName"
|
<el-option v-for="item in areaList" :key="item.areaId" :label="item.areaName"
|
||||||
:value="item.areaId" />
|
:value="item.areaId" />
|
||||||
|
@ -113,7 +113,7 @@ const num = ref(0)
|
|||||||
<div style="width:370px;height: 250px;">
|
<div style="width:370px;height: 250px;">
|
||||||
<div class="public-details-conent" >
|
<div class="public-details-conent" >
|
||||||
<div class="public-details-name">点位名称:</div>
|
<div class="public-details-name">点位名称:</div>
|
||||||
<div>{{ examinationInfo.bayName }}</div>
|
<div>{{ examinationInfo.deviceName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="public-details-conent" >
|
<div class="public-details-conent" >
|
||||||
<div class="public-details-name">设备名称:</div>
|
<div class="public-details-name">设备名称:</div>
|
||||||
@ -130,14 +130,14 @@ const num = ref(0)
|
|||||||
<div class="public-details-conent">
|
<div class="public-details-conent">
|
||||||
<div class="public-details-name">告警阈值:</div>
|
<div class="public-details-name">告警阈值:</div>
|
||||||
<span style="display:block;" >
|
<span style="display:block;" >
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>预警:</span><span>{{
|
<!-- <span style="display: inline-block;width: 50%;text-align: left;"><span>预警:</span><span>{{
|
||||||
examinationInfo.earlyMin }}-{{ examinationInfo.earlyMax }}</span></span>
|
examinationInfo.earlyMin }}-{{ examinationInfo.earlyMax }}</span></span> -->
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>一般:</span><span>{{
|
<span style="display: inline-block;width: 70%;text-align: left;"><span>一般:</span><span>{{
|
||||||
examinationInfo.sameMin }}-{{ examinationInfo.sameMax }}</span></span>
|
examinationInfo.commonLower }}-{{ examinationInfo.commonUpper }}</span></span>
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>严重:</span><span>{{
|
<span style="display: inline-block;width: 70%;text-align: left;"><span>严重:</span><span>{{
|
||||||
examinationInfo.seriousMin }}-{{ examinationInfo.seriousMax }}</span></span>
|
examinationInfo.seriousLower }}-{{ examinationInfo.seriousUpper }}</span></span>
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>危急:</span><span>{{
|
<span style="display: inline-block;width: 70%;text-align: left;"><span>危急:</span><span>{{
|
||||||
examinationInfo.criticalMin }}-{{ examinationInfo.criticalMax }}</span></span>
|
examinationInfo.dangerLower }}-{{ examinationInfo.dangerLower }}</span></span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="public-details-conent">
|
<div class="public-details-conent">
|
||||||
|
@ -198,7 +198,7 @@ const handleChange = (value: any) => {
|
|||||||
<div style="width:370px;height: 250px;">
|
<div style="width:370px;height: 250px;">
|
||||||
<div class="public-details-conent">
|
<div class="public-details-conent">
|
||||||
<div class="public-details-name">点位名称:</div>
|
<div class="public-details-name">点位名称:</div>
|
||||||
<div>{{ examinationInfo.bayName }}</div>
|
<div>{{ examinationInfo.deviceName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="public-details-conent">
|
<div class="public-details-conent">
|
||||||
<div class="public-details-name">设备名称:</div>
|
<div class="public-details-name">设备名称:</div>
|
||||||
@ -215,14 +215,14 @@ const handleChange = (value: any) => {
|
|||||||
<div class="public-details-conent">
|
<div class="public-details-conent">
|
||||||
<div class="public-details-name">告警阈值:</div>
|
<div class="public-details-name">告警阈值:</div>
|
||||||
<span style="display:block;" >
|
<span style="display:block;" >
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>预警:</span><span>{{
|
<!-- <span style="display: inline-block;width: 50%;text-align: left;"><span>预警:</span><span>{{
|
||||||
examinationInfo.earlyMin }}-{{ examinationInfo.earlyMax }}</span></span>
|
examinationInfo.earlyMin }}-{{ examinationInfo.earlyMax }}</span></span> -->
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>一般:</span><span>{{
|
<span style="display: inline-block;width: 50%;text-align: left;"><span>一般:</span><span>{{
|
||||||
examinationInfo.sameMin }}-{{ examinationInfo.sameMax }}</span></span>
|
examinationInfo.commonLower }}-{{ examinationInfo.commonLower }}</span></span>
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>严重:</span><span>{{
|
<span style="display: inline-block;width: 50%;text-align: left;"><span>严重:</span><span>{{
|
||||||
examinationInfo.seriousMin }}-{{ examinationInfo.seriousMax }}</span></span>
|
examinationInfo.seriousLower }}-{{ examinationInfo.seriousLower }}</span></span>
|
||||||
<span style="display: inline-block;width: 50%;text-align: left;"><span>危急:</span><span>{{
|
<span style="display: inline-block;width: 50%;text-align: left;"><span>危急:</span><span>{{
|
||||||
examinationInfo.criticalMin }}-{{ examinationInfo.criticalMax }}</span></span>
|
examinationInfo.dangerLower }}-{{ examinationInfo.dangerLower }}</span></span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -103,31 +103,41 @@ function getecharts() {
|
|||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
function getRandomColor(): string {
|
||||||
|
const hue = Math.floor(Math.random() * 360); // 色相 0~359
|
||||||
|
const saturation = 70 + Math.floor(Math.random() * 20); // 饱和度 70~90%
|
||||||
|
const lightness = 50 + Math.floor(Math.random() * 10); // 亮度 50~60%
|
||||||
|
|
||||||
|
return `hsl(${hue}, ${saturation}%, ${lightness}%)`;
|
||||||
|
}
|
||||||
function drawEchart(item: any, index: any) {
|
function drawEchart(item: any, index: any) {
|
||||||
// debugger
|
// 生成随机颜色
|
||||||
const dynamicColor = `fff`;
|
const randomColor = getRandomColor();
|
||||||
let myChart = echarts.init(document.getElementById(("deviceEachers" + index)) as HTMLDivElement);
|
|
||||||
myChart.setOption({
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'axis'
|
|
||||||
},
|
|
||||||
legend: {
|
|
||||||
data: [item.series[0].name],
|
|
||||||
textStyle: { color: dynamicColor, fontSize: 14 }
|
|
||||||
},
|
|
||||||
grid: {
|
|
||||||
left: '3%',
|
|
||||||
right: '4%',
|
|
||||||
bottom: '3%',
|
|
||||||
top: '18%',
|
|
||||||
containLabel: true
|
|
||||||
},
|
|
||||||
|
|
||||||
xAxis: item.xAxis,
|
let myChart = echarts.init(document.getElementById("deviceEachers" + index) as HTMLDivElement);
|
||||||
yAxis: item.yAxis,
|
myChart.setOption({
|
||||||
series: item.series,
|
tooltip: {
|
||||||
|
trigger: 'axis'
|
||||||
})
|
},
|
||||||
|
legend: {
|
||||||
|
data: [item.series[0].name],
|
||||||
|
textStyle: { color: randomColor, fontSize: 14 }
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
left: '3%',
|
||||||
|
right: '4%',
|
||||||
|
bottom: '3%',
|
||||||
|
top: '18%',
|
||||||
|
containLabel: true,
|
||||||
|
borderColor: randomColor
|
||||||
|
},
|
||||||
|
xAxis:item.xAxis ,
|
||||||
|
yAxis:item.yAxis ,
|
||||||
|
series: item.series.map((series: any) => ({
|
||||||
|
...series,
|
||||||
|
itemStyle: { color: randomColor }
|
||||||
|
}))
|
||||||
|
});
|
||||||
}
|
}
|
||||||
//fenxi
|
//fenxi
|
||||||
const checloading = ref(false)
|
const checloading = ref(false)
|
||||||
|
@ -1450,18 +1450,18 @@ function delTour(row: any) {
|
|||||||
}
|
}
|
||||||
//控制行变色
|
//控制行变色
|
||||||
const tableRowClassName = ({
|
const tableRowClassName = ({
|
||||||
row,
|
row,
|
||||||
rowIndex,
|
rowIndex,
|
||||||
}: {
|
}: {
|
||||||
row: any
|
row: any
|
||||||
rowIndex: number
|
rowIndex: number
|
||||||
}) => {
|
}) => {
|
||||||
if (rowIndex % 2 === 0) {
|
if (rowIndex % 2 === 0) {
|
||||||
return 'warning-row'
|
return 'warning-row'
|
||||||
} else if (rowIndex % 2 === 1) {
|
} else if (rowIndex % 2 === 1) {
|
||||||
return 'success-row'
|
return 'success-row'
|
||||||
}
|
}
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
// //控制行变色
|
// //控制行变色
|
||||||
// const tableRowClassName = ({
|
// const tableRowClassName = ({
|
||||||
@ -1488,12 +1488,12 @@ onMounted(() => {
|
|||||||
gettoday()
|
gettoday()
|
||||||
});
|
});
|
||||||
function gettoday() {
|
function gettoday() {
|
||||||
// 获取今天0点
|
// 获取今天0点
|
||||||
let startTime = dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss')
|
let startTime = dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss')
|
||||||
// 获取当前时间
|
// 获取当前时间
|
||||||
let endTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
let endTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||||
tableData.value[0] = startTime
|
tableData.value[0] = startTime
|
||||||
tableData.value[1] = endTime
|
tableData.value[1] = endTime
|
||||||
}
|
}
|
||||||
//新增优先级回显
|
//新增优先级回显
|
||||||
function changeType(row: any) {
|
function changeType(row: any) {
|
||||||
@ -2175,8 +2175,8 @@ const open = () => {
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-table ref="multipleTableRef" :data="tableDataList" style="width: 100%;margin-bottom: 10px;height: calc(70vh);
|
<el-table ref="multipleTableRef" :data="tableDataList" style="width: 100%;margin-bottom: 10px;height: calc(70vh);
|
||||||
overflow: auto;" :header-cell-style="tableBg" stripe @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
|
overflow: auto;" :header-cell-style="tableBg" stripe @selection-change="handleSelectionChange"
|
||||||
v-loading="treeloading">
|
:row-class-name="tableRowClassName" v-loading="treeloading">
|
||||||
<el-table-column type="selection" width="30" align="center" />
|
<el-table-column type="selection" width="30" align="center" />
|
||||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||||
<el-table-column property="stationName" label="变电站名称" align="center">
|
<el-table-column property="stationName" label="变电站名称" align="center">
|
||||||
@ -2392,91 +2392,98 @@ const open = () => {
|
|||||||
<div class="essential-top">
|
<div class="essential-top">
|
||||||
<div style="margin-bottom: 20px;">
|
<div style="margin-bottom: 20px;">
|
||||||
<el-button class="searchButton" style="margin-left:0" type="primary"
|
<el-button class="searchButton" style="margin-left:0" type="primary"
|
||||||
v-if="info.datastatus == 1 || title == '复制巡视任务'" @click="associationInterval">关联间隔</el-button>
|
v-if="info.datastatus == 1 && title == '复制巡视任务'" @click="associationInterval">关联间隔</el-button>
|
||||||
<el-button class="searchButton" type="primary" v-if="info.datastatus == 1 || title == '复制巡视任务'"
|
<el-button class="searchButton" type="primary" v-if="info.datastatus == 1 && title == '复制巡视任务'"
|
||||||
@click="associateMasterDevice">关联主设备</el-button>
|
@click="associateMasterDevice">关联主设备</el-button>
|
||||||
<el-button class="searchButton" type="primary" v-if="info.datastatus == 1 || title == '复制巡视任务'"
|
<el-button class="searchButton" type="primary" v-if="info.datastatus == 1 && title == '复制巡视任务'"
|
||||||
@click="AssociatedComponents">关联部件</el-button>
|
@click="AssociatedComponents">关联部件</el-button>
|
||||||
<el-button class="searchButton" type="primary" v-if="info.datastatus == 1 || title == '复制巡视任务'"
|
<el-button class="searchButton" type="primary" v-if="info.datastatus == 1 && title == '复制巡视任务'"
|
||||||
@click="AssociatedInspection">关联巡视点位</el-button>
|
@click="AssociatedInspection">关联巡视点位</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div class="suo">
|
||||||
<div>
|
<div>
|
||||||
<div class="essentialTop">关联结果 </div>
|
<div class="essentialTop">关联结果 </div>
|
||||||
<div v-if="deviceLevel == 0" class="essentialBottom">
|
<div v-if="deviceLevel == 0" class="essentialBottom">
|
||||||
暂未绑定
|
暂未绑定
|
||||||
</div>
|
</div>
|
||||||
<div v-if="deviceLevel == 1">
|
<div v-if="deviceLevel == 1">
|
||||||
|
<el-scrollbar height="300px">
|
||||||
|
<el-table :data="allData" style="width: 100%;margin-bottom: 15px;" row-key="id" default-expand-all
|
||||||
|
:header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
||||||
|
<el-table-column label="序号" type="index" align="center" width="50px" />
|
||||||
|
<el-table-column label="间隔名称" prop="bayName" width="110"></el-table-column>
|
||||||
|
<el-table-column label="所属变电站" prop="stationName"></el-table-column>
|
||||||
|
<el-table-column label="所属区域" prop="areaName"></el-table-column>
|
||||||
|
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
||||||
|
<template #default="scope">
|
||||||
|
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
||||||
|
style="cursor: pointer;">
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-scrollbar>
|
||||||
|
|
||||||
<el-table :data="allData"
|
|
||||||
style="width: 100%;height: calc(100vh - 650px);overflow:auto;margin-bottom: 15px;" row-key="id"
|
|
||||||
default-expand-all :header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
|
||||||
<el-table-column label="序号" type="index" align="center" width="50px" />
|
|
||||||
<el-table-column label="间隔名称" prop="bayName" width="110"></el-table-column>
|
|
||||||
<el-table-column label="所属变电站" prop="stationName"></el-table-column>
|
|
||||||
<el-table-column label="所属区域" prop="areaName"></el-table-column>
|
|
||||||
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
|
||||||
<template #default="scope">
|
|
||||||
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
|
||||||
style="cursor: pointer;">
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="deviceLevel == 2">
|
<div v-if="deviceLevel == 2">
|
||||||
<el-table :data="allData"
|
<el-scrollbar height="300px">
|
||||||
style="width: 100%;height: calc(100vh - 650px);overflow:auto;margin-bottom: 15px;" row-key="id"
|
<el-table :data="allData" style="width: 100%;margin-bottom: 15px;" row-key="id" default-expand-all
|
||||||
default-expand-all :header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
:header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
||||||
<el-table-column label="序号" type="index" align="center" width="50px" />
|
<el-table-column label="序号" type="index" align="center" width="50px" />
|
||||||
<el-table-column label="主设备名称" prop="mainDeviceName" width="110"></el-table-column>
|
<el-table-column label="主设备名称" prop="mainDeviceName" width="110"></el-table-column>
|
||||||
<el-table-column label="所属变电站" prop="stationName"></el-table-column>
|
<el-table-column label="所属变电站" prop="stationName"></el-table-column>
|
||||||
<el-table-column label="所属区域" prop="areaName"></el-table-column>
|
<el-table-column label="所属区域" prop="areaName"></el-table-column>
|
||||||
<el-table-column label="所属间隔" prop="bayName"></el-table-column>
|
<el-table-column label="所属间隔" prop="bayName"></el-table-column>
|
||||||
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
||||||
style="cursor: pointer;">
|
style="cursor: pointer;">
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</el-scrollbar>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="deviceLevel == 4">
|
<div v-if="deviceLevel == 4">
|
||||||
<el-table :data="allData"
|
<el-scrollbar height="300px">
|
||||||
style="width: 100%;height: calc(100vh - 650px);overflow:auto;margin-bottom: 15px;" row-key="id"
|
<el-table :data="allData" style="width: 100%;margin-bottom: 15px;" row-key="id" default-expand-all
|
||||||
default-expand-all :header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
:header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
||||||
<el-table-column label="序号" type="index" align="center" width="50px" />
|
<el-table-column label="序号" type="index" align="center" width="50px" />
|
||||||
<el-table-column label="部件名称" prop="componentName" width="110"></el-table-column>
|
<el-table-column label="部件名称" prop="componentName" width="110"></el-table-column>
|
||||||
<el-table-column label="所属变电站" prop="stationName"></el-table-column>
|
<el-table-column label="所属变电站" prop="stationName"></el-table-column>
|
||||||
<el-table-column label="所属区域" prop="areaName"></el-table-column>
|
<el-table-column label="所属区域" prop="areaName"></el-table-column>
|
||||||
<el-table-column label="所属间隔" prop="bayName"></el-table-column>
|
<el-table-column label="所属间隔" prop="bayName"></el-table-column>
|
||||||
<el-table-column label="所属主设备" prop="mainDeviceName"></el-table-column>
|
<el-table-column label="所属主设备" prop="mainDeviceName"></el-table-column>
|
||||||
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
||||||
style="cursor: pointer;">
|
style="cursor: pointer;">
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</el-scrollbar>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div v-if="deviceLevel == 3">
|
<div v-if="deviceLevel == 3">
|
||||||
<el-table :data="allData"
|
<el-scrollbar height="300px">
|
||||||
style="width: 100%;height: calc(100vh - 650px);overflow:auto;margin-bottom: 15px;" row-key="id"
|
<el-table :data="allData" style="width: 100%;margin-bottom: 15px;" row-key="id" default-expand-all
|
||||||
default-expand-all :header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
:header-cell-style="tableBg" :row-class-name="tableRowClassName">
|
||||||
<el-table-column label="序号" type="index" align="center" width="50px" />
|
<el-table-column label="序号" type="index" align="center" width="50px" />
|
||||||
<el-table-column label="巡视点位名称" prop="deviceName"></el-table-column>
|
<el-table-column label="巡视点位名称" prop="deviceName"></el-table-column>
|
||||||
<el-table-column label="所属变电站" prop="stationName" width="170px"></el-table-column>
|
<el-table-column label="所属变电站" prop="stationName" width="170px"></el-table-column>
|
||||||
<el-table-column label="所属区域" prop="areaName" width="120px"></el-table-column>
|
<el-table-column label="所属区域" prop="areaName" width="120px"></el-table-column>
|
||||||
<el-table-column label="所属间隔" prop="bayName" width="120px"></el-table-column>
|
<el-table-column label="所属间隔" prop="bayName" width="120px"></el-table-column>
|
||||||
<el-table-column label="所属主设备" prop="mainDeviceName" width="120px"></el-table-column>
|
<el-table-column label="所属主设备" prop="mainDeviceName" width="120px"></el-table-column>
|
||||||
<el-table-column label="所属部件" prop="componentName" width="120px"></el-table-column>
|
<el-table-column label="所属部件" prop="componentName" width="120px"></el-table-column>
|
||||||
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
<el-table-column v-if="info.datastatus == 1" label="操作" width="60px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
<img src="@/assets/MenuIcon/lbcz_sc.png" alt="" @click="delTour(scope.row)"
|
||||||
style="cursor: pointer;">
|
style="cursor: pointer;">
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</el-scrollbar>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -2850,8 +2857,8 @@ const open = () => {
|
|||||||
</Eldialog>
|
</Eldialog>
|
||||||
<Eldialog v-if="control" :title="'二次密码验证'" :zIndex="2000" :width="'400px'" @before-close="inputCLOse">
|
<Eldialog v-if="control" :title="'二次密码验证'" :zIndex="2000" :width="'400px'" @before-close="inputCLOse">
|
||||||
<template v-slot:PopFrameContent>
|
<template v-slot:PopFrameContent>
|
||||||
<el-input v-model="password" autocomplete="new-password" :name="'pwd-'+Date.now()" placeholder="请输入账号密码" style="margin-top:30px;width: 100%;" type="password"
|
<el-input v-model="password" autocomplete="new-password" :name="'pwd-' + Date.now()" placeholder="请输入账号密码"
|
||||||
show-password />
|
style="margin-top:30px;width: 100%;" type="password" show-password />
|
||||||
<div style="padding:5px 0">
|
<div style="padding:5px 0">
|
||||||
<div v-if="inputTrue" style="color:red;">密码错误,请重新输入</div>
|
<div v-if="inputTrue" style="color:red;">密码错误,请重新输入</div>
|
||||||
</div>
|
</div>
|
||||||
@ -3148,6 +3155,11 @@ const open = () => {
|
|||||||
:deep(.el-scrollbar) {
|
:deep(.el-scrollbar) {
|
||||||
height: calc(100vh - 360px);
|
height: calc(100vh - 360px);
|
||||||
}
|
}
|
||||||
|
.suo{
|
||||||
|
:deep(.el-scrollbar) {
|
||||||
|
height: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.draggable {
|
.draggable {
|
||||||
padding-top: 15px;
|
padding-top: 15px;
|
||||||
|
@ -52,7 +52,12 @@ const form: any = ref({
|
|||||||
custom2: '',
|
custom2: '',
|
||||||
|
|
||||||
})
|
})
|
||||||
|
const recognitionType = ref([])
|
||||||
|
function getTypeTwo() {
|
||||||
|
getDeviceByType({ dictcode: 'recognition_type' }).then((res: any) => {
|
||||||
|
recognitionType.value = res.data
|
||||||
|
})
|
||||||
|
}
|
||||||
//弹出框事件
|
//弹出框事件
|
||||||
function sure(data: any, index: any) {
|
function sure(data: any, index: any) {
|
||||||
if (index == 'one') {
|
if (index == 'one') {
|
||||||
@ -568,6 +573,7 @@ onMounted(() => {
|
|||||||
deviceName: '',
|
deviceName: '',
|
||||||
valid: '',
|
valid: '',
|
||||||
}
|
}
|
||||||
|
getTypeTwo()
|
||||||
setupWebSocket()
|
setupWebSocket()
|
||||||
getType()
|
getType()
|
||||||
getData()
|
getData()
|
||||||
@ -792,45 +798,50 @@ function retrunClick() {
|
|||||||
<span v-else>--</span>
|
<span v-else>--</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column> -->
|
</el-table-column> -->
|
||||||
<el-table-column prop="desc" label="识别类型" width="140px" align="center" >
|
<el-table-column prop="desc" label="识别类型" width="140px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.desc != null && scope.row.desc != ''">{{ scope.row.desc
|
<span v-if="scope.row.recognitionType">{{ currency(recognitionType,
|
||||||
|
scope.row.recognitionType,)
|
||||||
}}</span>
|
}}</span>
|
||||||
<span v-else>--</span>
|
<span v-else>--</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="识别值" width="100px" align="center">
|
<el-table-column label="识别值" width="100px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span
|
<span
|
||||||
v-if="scope.row.valueType == 'meter' || scope.row.valueType == 'infrared' || scope.row.valueType == 'sound'">
|
v-if="scope.row.valueType == 'meter'||scope.row.valueType == 'partial' ||scope.row.valueType == 'partial' || scope.row.valueType == 'infrared'">
|
||||||
<span v-if="scope.row.analysisResult == '异常'"
|
<span v-if="scope.row.analysisResult == '异常'"
|
||||||
style="color: red;font-size: 16px;font-weight: bold;"> {{
|
style="color: red;font-size: 16px;font-weight: bold;">
|
||||||
scope.row.value }}
|
{{ scope.row.value }} {{ scope.row.unit }}
|
||||||
{{ scope.row.unit }}</span>
|
</span>
|
||||||
<span v-else> {{ scope.row.value }} {{ scope.row.unit }}</span>
|
<span v-else>
|
||||||
|
{{ scope.row.value }} {{ scope.row.unit }}
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
<span v-if="scope.row.conf != null && scope.row.conf != ''">{{
|
<span
|
||||||
scope.row.conf
|
v-if="scope.row.desc != null && scope.row.desc != '' && scope.row.valueType != 'sound'">
|
||||||
}}</span>
|
{{ scope.row.desc }}
|
||||||
|
</span>
|
||||||
<span v-else>--</span>
|
<span v-else>--</span>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="analysisResult" label="巡视结论" align="center" width="80px">
|
<el-table-column prop="analysisResult" label="巡视结论" align="center" width="80px">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.analysisResult == '正常'"
|
<span v-if="scope.row.analysisResult == '正常' && scope.row.flag != '7'"
|
||||||
style="color: rgb(0, 249, 162)">正常</span>
|
style="color: rgb(0, 249, 162)">正常</span>
|
||||||
<span v-if="scope.row.analysisResult == '异常'"
|
<span v-if="scope.row.analysisResult == '异常' && scope.row.flag != '7'"
|
||||||
style="color: rgb(255, 51, 0);color: red;font-size: 16px;font-weight: bold;">异常</span>
|
style="color: rgb(255, 51, 0);font-size: 16px;font-weight: bold;">异常</span>
|
||||||
<span v-if="scope.row.analysisResult == '设备检修'"
|
<span v-if="scope.row.analysisResult == '设备检修' && scope.row.flag != '7'"
|
||||||
style="color: rgb(0, 153, 255)">设备检修</span>
|
style="color: rgb(0, 153, 255)">设备检修</span>
|
||||||
<span v-if="scope.row.analysisResult == '失败'"
|
<span v-if="scope.row.analysisResult == '失败' && scope.row.flag != '7'"
|
||||||
style="color: rgb(255, 189, 0)">失败</span>
|
style="color: rgb(255, 189, 0)">失败</span>
|
||||||
<span v-if="scope.row.analysisResult == '成功'"
|
<span v-if="scope.row.analysisResult == '成功' && scope.row.flag != '7'"
|
||||||
style="color: rgb(0, 249, 162)">成功</span>
|
style="color: rgb(0, 249, 162)">成功</span>
|
||||||
|
<span v-if="scope.row.flag == '7'" style="color: rgb(255, 51, 0);">表计读数异常</span>
|
||||||
<span
|
<span
|
||||||
v-if="scope.row.analysisResult == '' || scope.row.analysisResult == null">--</span>
|
v-if="(scope.row.analysisResult == '' && scope.row.flag != '7') || (scope.row.analysisResult == null && scope.row.flag != '7')">--</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="reviseValue" label="修正值" align="center">
|
<el-table-column prop="reviseValue" label="修正值" align="center">
|
||||||
@ -881,29 +892,30 @@ function retrunClick() {
|
|||||||
style="display: inline-block;margin-left: 15px;">{{ tableDataHover.time
|
style="display: inline-block;margin-left: 15px;">{{ tableDataHover.time
|
||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px;"><span
|
<!-- <div style="margin-top: 10px;"><span
|
||||||
style="display: inline-block;margin-left: 17px;">实物id
|
style="display: inline-block;margin-left: 17px;">实物id
|
||||||
:</span><span style="display: inline-block;margin-left: 15px;"
|
:</span><span style="display: inline-block;margin-left: 15px;"
|
||||||
v-if="tableDataHover.materialId">{{ tableDataHover.materialId }}</span><span
|
v-if="tableDataHover.materialId">{{ tableDataHover.materialId }}</span><span
|
||||||
style="display: inline-block;margin-left: 15px;width: 70%;" v-else>--</span>
|
style="display: inline-block;margin-left: 15px;width: 70%;" v-else>--</span>
|
||||||
</div>
|
</div> -->
|
||||||
<div style="margin-top: 10px;">
|
<div style="margin-top: 10px;">
|
||||||
<span style="display: block;margin-left: 33px;">阈值 :</span>
|
<span style="display: block;margin-left: 33px;">阈值 :</span>
|
||||||
<span style="display:block;margin-left:80px;margin-top: -23px;"
|
<span style="display:block;margin-left:80px;margin-top: -23px;"
|
||||||
v-if="tableDataHover.sameMin">
|
v-if="tableDataHover.dangerLower">
|
||||||
<span
|
<!-- <span
|
||||||
style="display: inline-block;width: 50%;text-align: left;"><span>预警:</span><span>{{
|
style="display: inline-block;width: 50%;text-align: left;"><span>预警:</span><span>{{
|
||||||
tableDataHover.earlyMin }}-{{ tableDataHover.earlyMax }}</span></span>
|
tableDataHover.earlyMin }}-{{ tableDataHover.earlyMax }}</span></span> -->
|
||||||
<span
|
<span
|
||||||
style="display: inline-block;width: 50%;text-align: left;"><span>一般:</span><span>{{
|
style="display: inline-block;width: 100%;text-align: left;"><span>一般:</span><span>{{
|
||||||
tableDataHover.sameMin }}-{{ tableDataHover.sameMax }}</span></span>
|
tableDataHover.commonLower }}-{{ tableDataHover.commonUpper
|
||||||
<span
|
|
||||||
style="display: inline-block;width: 50%;text-align: left;"><span>严重:</span><span>{{
|
|
||||||
tableDataHover.seriousMin }}-{{ tableDataHover.seriousMax
|
|
||||||
}}</span></span>
|
}}</span></span>
|
||||||
<span
|
<span
|
||||||
style="display: inline-block;width: 50%;text-align: left;"><span>危急:</span><span>{{
|
style="display: inline-block;width: 100%;text-align: left;"><span>严重:</span><span>{{
|
||||||
tableDataHover.criticalMin }}-{{ tableDataHover.criticalMax
|
tableDataHover.seriousLower }}-{{ tableDataHover.seriousUpper
|
||||||
|
}}</span></span>
|
||||||
|
<span
|
||||||
|
style="display: inline-block;width: 100%;text-align: left;"><span>危急:</span><span>{{
|
||||||
|
tableDataHover.dangerLower }}-{{ tableDataHover.dangerUpper
|
||||||
}}</span></span>
|
}}</span></span>
|
||||||
</span>
|
</span>
|
||||||
<span v-else style="display:block;margin-left:88px;margin-top: -23px;">
|
<span v-else style="display:block;margin-left:88px;margin-top: -23px;">
|
||||||
|
Loading…
Reference in New Issue
Block a user