故障诊断页面
This commit is contained in:
parent
548f66b281
commit
5302d8208b
@ -2,6 +2,6 @@ window.webConfig = {
|
||||
"webApiBaseUrl": "http://192.168.1.20:8090/",
|
||||
"wsApiBaseUrl": "ws://192.168.1.20:8090/",
|
||||
"webApiMonitorUrl": "http://192.168.1.20:18080",
|
||||
"answeringUrl":"http://121.37.111.42:8083/ui/chat/431e83302d0bbfbe",
|
||||
"answeringUrl":"http://121.37.111.42:8080/ui/chat/a9d56e68484c5594",
|
||||
"webSystemTitle":"标题"
|
||||
}
|
42
riis-web/src/api/question/index.ts
Normal file
42
riis-web/src/api/question/index.ts
Normal file
@ -0,0 +1,42 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
//获取所有角色
|
||||
export function getAlgorithmClassTree(params:any){
|
||||
return request({
|
||||
url: '/algorithm/algorithm-class/getAlgorithmClassTree' ,
|
||||
method: 'get',
|
||||
params: params
|
||||
});
|
||||
}
|
||||
//查询算法部件的参数
|
||||
export function getAlgorithmDeviceParams(params:any){
|
||||
return request({
|
||||
url: '/algorithm/algorithm-device/getAlgorithmDeviceParams' ,
|
||||
method: 'post',
|
||||
params: params
|
||||
});
|
||||
}
|
||||
//查询算法部件的参数曲线
|
||||
export function getAlgorithmDeviceCurve(params:any){
|
||||
return request({
|
||||
url: '/algorithm/algorithm-device/getAlgorithmDeviceCurve' ,
|
||||
method: 'post',
|
||||
params: params
|
||||
});
|
||||
}
|
||||
//根据算法id过去参数名称
|
||||
export function getAlgorithmParamsNameList(params:any){
|
||||
return request({
|
||||
url: '/algorithm/algorithm-params/getAlgorithmParamsNameList' ,
|
||||
method: 'get',
|
||||
params: params
|
||||
});
|
||||
}
|
||||
//调用算法分析
|
||||
export function callAlgorithmAnalyse(params:any){
|
||||
return request({
|
||||
url: '/algorithm/algorithm-params/callAlgorithmAnalyse' ,
|
||||
method: 'post',
|
||||
params: params
|
||||
});
|
||||
}
|
BIN
riis-web/src/assets/navigation/110tu.png
Normal file
BIN
riis-web/src/assets/navigation/110tu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -60,7 +60,7 @@ const props = defineProps({
|
||||
},
|
||||
});
|
||||
const pcode = ref(10)
|
||||
const inputgo = ref()
|
||||
const inputgo = ref(1)
|
||||
const arr_product = ref([
|
||||
{
|
||||
lable: 10,
|
||||
|
@ -404,7 +404,7 @@
|
||||
</template>
|
||||
</Eldialog>
|
||||
<!-- 关联弹框 -->
|
||||
<Eldialog v-if="association" :title="associationTitle" :zIndex="2000" :width="'1200px'" :height="'800px'"
|
||||
<Eldialog v-if="association" :title="associationTitle" :zIndex="2000" :width="'1400px'" :height="'800px'"
|
||||
@before-close="association = false">
|
||||
<template v-slot:PopFrameContent>
|
||||
<div class="mt-[15px]" style="display: flex;align-items: center; justify-content: space-between;">
|
||||
@ -427,6 +427,16 @@
|
||||
v-if="selType == '02' || lineDrapStart == true || isUAVdropLine == true">
|
||||
<el-input class="!w-[170px] mr-2" v-model="deviceName" clearable placeholder="请输入点位名称" @clear="getDevice()"
|
||||
@keyup.enter="getDevice()" />
|
||||
<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.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.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"
|
||||
@ -5666,7 +5676,7 @@ ws1.onclose = () => {
|
||||
}
|
||||
|
||||
.selType {
|
||||
width: 240px;
|
||||
width: 210px;
|
||||
|
||||
color: #fff;
|
||||
border-radius: 3px;
|
||||
|
@ -179,7 +179,7 @@ function confirmClick(formEl: any) {
|
||||
console.log(res)
|
||||
if (res.code == 0) {
|
||||
algorithmible.value = false
|
||||
ElMessage.success('添加成功')
|
||||
ElMessage.success('更改成功')
|
||||
gettreedata()
|
||||
}
|
||||
})
|
||||
@ -233,8 +233,11 @@ function handleClose1() {
|
||||
}
|
||||
function replace() {
|
||||
meterdata.value.forEach((item: any) => {
|
||||
item.paramId = item.id
|
||||
// item.paramId = item.id
|
||||
item.componentId = componentId.value
|
||||
// item.algorithmId=
|
||||
})
|
||||
console.log(meterdata.value)
|
||||
batchAddAlgorithmDevice(meterdata.value).then((res: any) => {
|
||||
if (res.code == 0) {
|
||||
mainble.value = false
|
||||
@ -320,7 +323,8 @@ const mainble = ref()
|
||||
function editmain(row: any) {
|
||||
mainble.value = true
|
||||
meterloding.value = true
|
||||
getAlgorithmParamsList({ algorithmId: row.algorithmId }).then((res: any) => {
|
||||
componentId.value= row.componentId
|
||||
getAlgorithmParamsList({ algorithmId: row.algorithmId,componentId: componentId.value}).then((res: any) => {
|
||||
meterdata.value = res.data
|
||||
meterloding.value = false
|
||||
})
|
||||
@ -333,6 +337,7 @@ const sourceType = ref(1)
|
||||
const cnshuId = ref('')
|
||||
const tableref = ref()
|
||||
const deviceId = ref('')
|
||||
const componentId = ref('')
|
||||
function selentDevide(row: any) {
|
||||
cnshuId.value = row.id
|
||||
if (row.deviceId) {
|
||||
@ -358,77 +363,27 @@ function suredevice() {
|
||||
if (sourceType.value == 1) {
|
||||
item.deviceId = deviceIdList.value.deviceId
|
||||
item.deviceName = deviceIdList.value.deviceName
|
||||
item.componentId = deviceIdList.value.componentId
|
||||
// item.componentId = deviceIdList.value.componentId
|
||||
item.paramValue = deviceIdList.value.deviceName
|
||||
} else if (sourceType.value == 2) {
|
||||
item.deviceId = deviceIdList.value.signalId
|
||||
item.deviceName = deviceIdList.value.signalName
|
||||
item.componentId = deviceIdList.value.mainComponentId
|
||||
// item.componentId = deviceIdList.value.mainComponentId
|
||||
item.paramValue = deviceIdList.value.signalName
|
||||
}
|
||||
item.sourceType = sourceType.value
|
||||
|
||||
}
|
||||
// item.paramId = deviceIdList.value.paramId
|
||||
})
|
||||
console.log( meterdata.value)
|
||||
}
|
||||
function typeChange(val: any) {
|
||||
sourceType.value = val
|
||||
if (sourceType.value == 1) {
|
||||
getdeviceTree()
|
||||
} else if (sourceType.value == 2) {
|
||||
getsignaltree()
|
||||
}
|
||||
getdevicedata1()
|
||||
}
|
||||
//////
|
||||
const devicetree = ref([])
|
||||
const deviceloading = ref(false)
|
||||
const deviceref = ref()
|
||||
const bayId = ref('')
|
||||
const currentNodeKey1 = ref()
|
||||
function getdeviceTree() {
|
||||
const params = {
|
||||
stationId: userStore.stationId
|
||||
}
|
||||
deviceloading.value = true
|
||||
getTreelist(params).then((res: any) => {
|
||||
devicetree.value = res.data
|
||||
deviceloading.value = false
|
||||
bayId.value = res.data[0].children[0].children[0].bayId
|
||||
getdevicedata1()
|
||||
nextTick(() => {
|
||||
deviceref.value?.setCurrentKey(bayId.value);
|
||||
});
|
||||
})
|
||||
.catch((error: any) => {
|
||||
treeloading.value = false
|
||||
})
|
||||
|
||||
}
|
||||
function handledeviceClick(data: any, node: any) {
|
||||
if (sourceType.value == 1) {
|
||||
if (data.children) {
|
||||
node.isCurrent = false
|
||||
currentNodeKey1.value = ""
|
||||
nextTick(() => {
|
||||
currentNodeKey1.value = bayId.value
|
||||
})
|
||||
} else {
|
||||
bayId.value = data.bayId;
|
||||
// treeloading.value = true
|
||||
getdevicedata1()
|
||||
}
|
||||
} else if (sourceType.value == 2) {
|
||||
if (data.children.length > 0) {
|
||||
nextTick(() => {
|
||||
deviceref.value?.setCurrentKey(currentNodeid.value);
|
||||
});
|
||||
} else {
|
||||
currentNodeid.value = data.id
|
||||
getdevicedata1();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
const devicedataloading = ref(false)
|
||||
const devicetaotal = ref()
|
||||
const devicedata = ref([])
|
||||
@ -436,12 +391,13 @@ const paramstable: any = ref({
|
||||
size: 10,
|
||||
current: 1,
|
||||
deviceName: '',
|
||||
mainDeviceId: '',
|
||||
componentId: ''
|
||||
})
|
||||
function getdevicedata1() {
|
||||
|
||||
if (sourceType.value == 1) {
|
||||
paramstable.value.bayId = bayId.value
|
||||
paramstable.value.componentId = componentId.value
|
||||
getdevicedata(paramstable.value).then((res: any) => {
|
||||
devicedata.value = res.data.records
|
||||
devicetaotal.value = res.data.total
|
||||
@ -457,7 +413,7 @@ function getdevicedata1() {
|
||||
|
||||
})
|
||||
} else if (sourceType.value == 2) {
|
||||
paramstable.value.mainComponentId = currentNodeid.value
|
||||
paramstable.value.mainComponentId = componentId.value
|
||||
queryDeviceSignal(paramstable.value).then((res: any) => {
|
||||
devicedata.value = res.data.records
|
||||
devicetaotal.value = res.data.total
|
||||
@ -531,19 +487,6 @@ function notification() {
|
||||
}
|
||||
//////
|
||||
/////
|
||||
const currentNodeid = ref('')
|
||||
function getsignaltree() {
|
||||
deviceloading.value = true
|
||||
getDeviceTree({ componentName: '', stationCode: userStore.stationCode }).then((res: any) => {
|
||||
devicetree.value = publicTree(res.data, '')
|
||||
currentNodeid.value = res.data[0].children[0].children[0].children[0].id
|
||||
nextTick(() => {
|
||||
deviceref.value?.setCurrentKey(currentNodeid.value);
|
||||
});
|
||||
deviceloading.value = false
|
||||
getdevicedata1()
|
||||
})
|
||||
}
|
||||
const typeoptions: any = ref([])
|
||||
function isykyttype(val: any) {
|
||||
let name: any = ''
|
||||
@ -641,7 +584,7 @@ onMounted(() => {
|
||||
<template #default="scope">
|
||||
<span
|
||||
style="display: flex;display: -webkit-flex;justify-content: space-around;-webkit-justify-content: space-around; ">
|
||||
<img src="@/assets/newimg/ht_xg.png" alt="" title="修改" @click="editmain(scope.row)"
|
||||
<img src="@/assets/newimg/ht_xg.png" alt="" title="关联" @click="editmain(scope.row)"
|
||||
style="cursor: pointer;">
|
||||
<img src="@/assets/newimg/ht_sc.png" alt="" title="删除" @click="delmain(scope.row)"
|
||||
style="cursor: pointer;">
|
||||
@ -738,7 +681,7 @@ onMounted(() => {
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="paramFixed" label="是否关联点位" width="100" align="center">
|
||||
<el-table-column prop="paramFixed" label="是否固定参数" width="100" align="center">
|
||||
<template #default="scope">
|
||||
<div style="height:35px;padding: 2px 0px;">
|
||||
<el-select v-if="scope.row.algor" v-model="scope.row.paramFixed" placeholder=" ">
|
||||
@ -835,12 +778,12 @@ onMounted(() => {
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="paramRange" label="范围" width="70" align="center"></el-table-column>
|
||||
<el-table-column prop="paramValue" label="参数值" width="100" align="center">
|
||||
<el-table-column prop="paramValue" label="参数值" align="center">
|
||||
<template #default="scope">
|
||||
<div style="height:35px;padding: 2px 0px;">
|
||||
<el-input v-if="scope.row.paramFixed == 0" v-model="scope.row.paramValue"
|
||||
<div style="padding: 2px 0px;">
|
||||
<el-input v-if="scope.row.paramFixed == 1" v-model="scope.row.paramValue"
|
||||
style="width: 100%" clearable />
|
||||
<span v-else>--</span>
|
||||
<span v-else-if="scope.row.paramFixed == 0">{{ scope.row.paramValue }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -850,7 +793,7 @@ onMounted(() => {
|
||||
style="display: flex;display: -webkit-flex;justify-content: space-around;-webkit-justify-content: space-around; ">
|
||||
<!-- 0 否 1是 -->
|
||||
<el-button size="small" class="searchButton" type="primary"
|
||||
:disabled="scope.row.paramFixed == 0"
|
||||
:disabled="scope.row.paramFixed == 1"
|
||||
@click="selentDevide(scope.row)">选择点位</el-button>
|
||||
</span>
|
||||
</template>
|
||||
@ -871,28 +814,7 @@ onMounted(() => {
|
||||
<div :class="sourceType == 2 ? 'bianhua' : ''" @click="typeChange(2)">关联信号</div>
|
||||
</div>
|
||||
<div class="faulttemplate-box1">
|
||||
<div class="silderLeft1">
|
||||
<div class="displayflex" style="margin: 10px 0px 5px 0px;padding-left: 8px;height: 30px;">
|
||||
<div class="line"></div>
|
||||
<div class="title" style="font-size: 14px;">分类导航</div>
|
||||
</div>
|
||||
<el-scrollbar height="calc(58vh)" style="width:100%">
|
||||
<el-tree v-if="sourceType == 1" ref="deviceref" @node-click="handledeviceClick"
|
||||
node-key="bayId" :data="devicetree" :current-node-key="currentNodeKey1"
|
||||
:highlight-current="true" :props="defaultProps1" v-loading="deviceloading">
|
||||
<template #default="{ node }">
|
||||
<span>{{ node.label }}</span>
|
||||
</template>
|
||||
</el-tree>
|
||||
<el-tree v-if="sourceType == 2" ref="deviceref" @node-click="handledeviceClick"
|
||||
node-key="id" :data="devicetree" :current-node-key="currentNodeKey1"
|
||||
:highlight-current="true" :props="defaultProps1" v-loading="deviceloading">
|
||||
<template #default="{ node }">
|
||||
<span>{{ node.label }}</span>
|
||||
</template>
|
||||
</el-tree>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
|
||||
<div class="silderRight1">
|
||||
<div
|
||||
style="display: flex;display: -webkit-flex; justify-content: space-between; -webkit-justify-content: space-between; margin:15px 0px">
|
||||
@ -904,16 +826,6 @@ onMounted(() => {
|
||||
<el-input v-if="sourceType == 2" v-model="paramstable.signalName"
|
||||
placeholder="请输入信号名称" @clear="getdevicedata1()" @change="getdevicedata1()"
|
||||
style="margin-right:15px ;width: 185px;" clearable />
|
||||
<el-select v-if="sourceType == 1" clearable v-model="paramstable.mainDeviceId"
|
||||
placeholder="所属主设备" style="margin-right:15px ;" @change="getdevicedata1()">
|
||||
<el-option v-for="item in mainEquipment" :key="item.mainDeviceId"
|
||||
:label="item.mainDeviceName" :value="item.mainDeviceId" />
|
||||
</el-select>
|
||||
<el-select v-if="sourceType == 1" clearable v-model="paramstable.componentId"
|
||||
placeholder="所属部件" style="margin-right:15px ;" @change="getdevicedata1()">
|
||||
<el-option v-for="item in getacaTypeBayId" :key="item.componentId"
|
||||
:label="item.componentName" :value="item.componentId" />
|
||||
</el-select>
|
||||
<el-button class="searchButton" type="primary"
|
||||
@click="getdevicedata1()">搜索</el-button>
|
||||
<el-button class="searchButton" @click="resetting()">重置</el-button>
|
||||
|
@ -107,7 +107,7 @@ function getsignadata() {
|
||||
})
|
||||
}
|
||||
function gettabledata() {
|
||||
if (detaall.value.length > 0) {
|
||||
if (detaall.value) {
|
||||
tableform.value.startDate = formatDate(detaall.value[0])
|
||||
tableform.value.endDate = formatDate(detaall.value[1])
|
||||
} else {
|
||||
@ -278,7 +278,7 @@ function gettoday() {
|
||||
:row-class-name="tableRowClassName"
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||
<el-table-column label="采集时间" prop="startTime" width="160" align="center"></el-table-column>
|
||||
<el-table-column label="采集时间" prop="startTime" align="center"></el-table-column>
|
||||
<el-table-column label="监测数值" prop="value" align="center"></el-table-column>
|
||||
<el-table-column label="单位" prop="unit" align="center"></el-table-column>
|
||||
</el-table>
|
||||
@ -342,7 +342,7 @@ function gettoday() {
|
||||
|
||||
.text_top {
|
||||
width: 100%;
|
||||
margin-top:20px ;
|
||||
margin-top:30px ;
|
||||
|
||||
.text_top_title {
|
||||
display: flex;
|
||||
@ -377,24 +377,24 @@ function gettoday() {
|
||||
align-items: center;
|
||||
.content_one_title {
|
||||
width: 114px;
|
||||
height: 75px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
line-height: 75px;
|
||||
line-height: 50px;
|
||||
border-top: 1px solid #00397c;
|
||||
border-left: 1px solid #00397c;
|
||||
background-color: #002562;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
color: #B5D7FF;
|
||||
}
|
||||
|
||||
.content_one_text {
|
||||
width: 267px;
|
||||
height: 75px;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
line-height: 75px;
|
||||
line-height: 50px;
|
||||
border-top: 1px solid #00397c;
|
||||
border-left: 1px solid #00397c;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
color: #B5D7FF;
|
||||
}
|
||||
}
|
||||
|
@ -47,6 +47,7 @@ const hutotal: any = ref('')
|
||||
const environment_data = ref([])
|
||||
// const treeloading = ref(false)
|
||||
function getEnvironment() {
|
||||
treeloading.value = true
|
||||
|
||||
if (tableData.value) {
|
||||
environment_params.value.startDate = tableData.value[0]
|
||||
@ -57,6 +58,7 @@ function getEnvironment() {
|
||||
}
|
||||
environment_params.value.signalId = signalId.value
|
||||
getdeviceworkdata(environment_params.value).then((res: any) => {
|
||||
treeloading.value = false
|
||||
environment_data.value = res.data.records
|
||||
environment_params.value.size = res.data.size
|
||||
environment_params.value.current = res.data.current
|
||||
@ -65,7 +67,7 @@ function getEnvironment() {
|
||||
})
|
||||
}
|
||||
function environmentReset() {
|
||||
environmentInfo
|
||||
// environmentInfo
|
||||
if (tableData.value) {
|
||||
tableData.value.length = 0
|
||||
}
|
||||
@ -121,12 +123,14 @@ const environmentInfo: any = ref([])
|
||||
|
||||
// }
|
||||
function getInit() {
|
||||
|
||||
let params = {
|
||||
stationId: userStore.stationId
|
||||
}
|
||||
getDeviceWorkData(params).then((res: any) => {
|
||||
|
||||
environmentInfo.value = res.data
|
||||
signalId.value = res.data[0].signalId
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
@ -152,8 +156,9 @@ function currency(list: any, itemcode: any) {
|
||||
const EquipmentType: any = ref([])
|
||||
function gettype() {
|
||||
getDeviceByType({ dictcode: 'system' }).then((res: any) => {
|
||||
// debugger
|
||||
EquipmentType.value = res.data
|
||||
signalId.value = res.data[0].signalId
|
||||
|
||||
getEnvironment()
|
||||
getechartdata()
|
||||
})
|
||||
@ -182,33 +187,33 @@ function getechartdata() {
|
||||
drawEchart()
|
||||
})
|
||||
function drawEchart() {
|
||||
let myChart = echarts.init(document.getElementById("deviceEachers") as HTMLDivElement);
|
||||
myChart.setOption({
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: ['Step Start', 'Step Middle', 'Step End']
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
toolbox: {
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
}
|
||||
},
|
||||
xAxis: echartdata.value.xAxis,
|
||||
yAxis: echartdata.value.yAxis,
|
||||
series: echartdata.value.series
|
||||
})
|
||||
}
|
||||
let myChart = echarts.init(document.getElementById("deviceEachers") as HTMLDivElement);
|
||||
myChart.setOption({
|
||||
title: {
|
||||
text: ''
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data: ['Step Start', 'Step Middle', 'Step End']
|
||||
},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
toolbox: {
|
||||
feature: {
|
||||
saveAsImage: {}
|
||||
}
|
||||
},
|
||||
xAxis: echartdata.value.xAxis,
|
||||
yAxis: echartdata.value.yAxis,
|
||||
series: echartdata.value.series
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -240,14 +245,14 @@ function getechartdata() {
|
||||
<el-button class="searchButton" @click="environmentReset()">重置</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-table :data="environment_data" :row-class-name="tableRowClassName" class="PatrolMonitoring"
|
||||
v-loading="treeloading" element-loading-background="rgb(11, 40, 34)" highlight-current-row
|
||||
<el-table :data="environment_data" :row-class-name="tableRowClassName" v-loading="treeloading"
|
||||
element-loading-background="rgb(11, 40, 34)" highlight-current-row
|
||||
style="width: 100%;margin:auto;position: relative;margin-top: 15px; height:calc(56vh); overflow: auto "
|
||||
:header-cell-style="{ background: '#253b51', color: '#b5d7ff', height: '50px' }">
|
||||
<el-table-column type="index" label="序号" width="80px" align="center" />
|
||||
<el-table-column property="signalName" label="气象参数名称" align="center" />
|
||||
<el-table-column property="startTime" label="采集时间" align="center" width="160px" />
|
||||
<el-table-column property="taskName" label="监测数值" align="center" width="100px">
|
||||
<el-table-column property="startTime" label="采集时间" align="center" />
|
||||
<el-table-column property="taskName" label="监测数值" align="center">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.value">{{ scope.row.value }}{{ scope.row.unit }}</div>
|
||||
</template>
|
||||
|
@ -12,6 +12,12 @@ import Page from '@/components/Pagination/page.vue'
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import Eldialog from '@/components/seccmsdialog/eldialog.vue';
|
||||
import wavEcharts from '@/components/wavEcharts/index.vue';
|
||||
import dayjs from 'dayjs'
|
||||
function today(){
|
||||
let startTime = dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss')
|
||||
let endTime = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||
tableData.value = [startTime,endTime]
|
||||
}
|
||||
const userStore = useUserStore();
|
||||
const url = userStore.webApiBaseUrl;
|
||||
function getData() {
|
||||
@ -78,9 +84,10 @@ onBeforeUnmount(() => {
|
||||
})
|
||||
onMounted(() => {
|
||||
getInit()
|
||||
today()
|
||||
})
|
||||
|
||||
const tableData = ref([])
|
||||
const tableData:any = ref([])
|
||||
const treeloading = ref(false)
|
||||
const environment_data = ref([
|
||||
|
||||
@ -95,7 +102,8 @@ const params: any = ref({
|
||||
endDate: '',
|
||||
})
|
||||
function getdata() {
|
||||
if (tableData.value.length != 0) {
|
||||
console.log(tableData.value)
|
||||
if (tableData.value) {
|
||||
params.value.startDate = tableData.value[0]
|
||||
params.value.endDate = tableData.value[1]
|
||||
} else {
|
||||
@ -233,7 +241,7 @@ function open(row: any) {
|
||||
<img src="@/assets/tank/line2.png" alt="">
|
||||
<div class="bottom_table">
|
||||
<div class="screenHomepage">
|
||||
<el-date-picker class="screenHomepage" popper-class="elDatePicker" @change=""
|
||||
<el-date-picker class="screenHomepage" popper-class="elDatePicker" @change="getdata()"
|
||||
style="width: 300px; margin-right: 10px;" v-model="tableData" type="daterange"
|
||||
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD" format="YYYY-MM-DD" />
|
||||
@ -253,15 +261,15 @@ function open(row: any) {
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="index" label="序号" width="80px" align="center" />
|
||||
<el-table-column property="fileName" label="文件名称" align="center" />
|
||||
<el-table-column property="duration" label="时长" align="center">
|
||||
<el-table-column property="duration" label="时长" width="60px" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.duration }}s</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="patroldeviceName" label="监测设备" align="center">
|
||||
<el-table-column property="patroldeviceName" width="160px" label="监测设备" align="center">
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column property="date" label="录制时间" align="center" />
|
||||
<el-table-column property="date" label="录制时间" width="160px" align="center" />
|
||||
<el-table-column property="name" label="操作" align="center" width="80px">
|
||||
<template #default="scope">
|
||||
<el-button class="searchButton" @click="open(scope.row)"
|
||||
|
@ -358,19 +358,20 @@ const tableRowClassName = ({
|
||||
@selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="selection" align="center" width="55" />
|
||||
<el-table-column label="序号" type="index" width="50" />
|
||||
<el-table-column label="设备编号" prop="deviceCode" width="80" />
|
||||
<el-table-column label="设备名称" prop="deviceName" />
|
||||
<el-table-column label="设备类型" prop="deviceTypeName" width="170" />
|
||||
<el-table-column label="设备型号" prop="deviceModel" width="170" />
|
||||
<el-table-column label="出厂编号" prop="productionNum" width="150" />
|
||||
<el-table-column label="出厂日期" prop="productionDate" width="160">
|
||||
<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="left" prop="deviceName" width="120" />
|
||||
<el-table-column label="设备类型" align="center" prop="deviceTypeName" width="170" />
|
||||
<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="productionDate" width="160">
|
||||
<template #default="scope">
|
||||
<span>{{ dateFormat(scope.row.productionDate) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="安装位置" prop="place" />
|
||||
<el-table-column label="网关设备IP" prop="netdeviceIp" width="120" />
|
||||
<el-table-column label="网关设备IP" align="center" prop="netdeviceIp" width="120" />
|
||||
<el-table-column label="安装位置" align="left" prop="place" />
|
||||
|
||||
<el-table-column fixed="right" label="操作" width="80">
|
||||
<template #default="scope">
|
||||
<span
|
||||
|
@ -85,6 +85,8 @@ onMounted(() => {
|
||||
getDeviceByType({ dictcode: 'ykytType' }).then((ress: any) => {
|
||||
typeoptions.value = ress.data
|
||||
})
|
||||
gettype()
|
||||
getmeterDeviceId()
|
||||
init()
|
||||
})
|
||||
const CameraName = ref('')
|
||||
@ -113,13 +115,17 @@ function isykyttype(val: any) {
|
||||
}
|
||||
return name
|
||||
}
|
||||
const systemcode = ref('')
|
||||
const meterDeviceId = ref('')
|
||||
function getData() {
|
||||
loading.value = true
|
||||
const params = {
|
||||
current: queryInfo.value.current,
|
||||
size: queryInfo.value.size,
|
||||
signalName: signalName.value,
|
||||
mainComponentId: currentNodeid.value
|
||||
mainComponentId: currentNodeid.value,
|
||||
systemcode: systemcode.value,
|
||||
meterDeviceId:meterDeviceId.value
|
||||
}
|
||||
queryDeviceSignal(params).then((res: any) => {
|
||||
tableData.value = res.data.records
|
||||
@ -130,7 +136,6 @@ function getData() {
|
||||
function editclick(row: any) {
|
||||
signalform.value = JSON.parse(JSON.stringify(row))
|
||||
getmeterDeviceId()
|
||||
gettype()
|
||||
if (signalform.value.normalRange !== '' && signalform.value.normalRange !== undefined && signalform.value.normalRange !== null) {
|
||||
signalrangestart.value = signalform.value.normalRange.match(/(\S*)~/)[1]
|
||||
signalrangeend.value = signalform.value.normalRange.match(/~(\S*)/)[1]
|
||||
@ -196,8 +201,15 @@ function getmeterDeviceId() {
|
||||
eterDevice.value = res.data
|
||||
})
|
||||
}
|
||||
function getmeterDeviceId1(){
|
||||
if(!systemcode.value){
|
||||
meterDeviceId.value = ''
|
||||
}
|
||||
getmeterDeviceId()
|
||||
getData()
|
||||
}
|
||||
|
||||
function addclick() {
|
||||
gettype()
|
||||
if (ruleFormRef.value != null) ruleFormRef.value.resetFields();
|
||||
isSwitch.value = false
|
||||
signalform.value = {}
|
||||
@ -311,6 +323,24 @@ const tableRowClassName = ({
|
||||
}
|
||||
return ''
|
||||
}
|
||||
function currency(list: any, itemcode: any) {
|
||||
let dictname = ''
|
||||
list.forEach((element: any) => {
|
||||
if (element.itemcode == itemcode) {
|
||||
dictname = element.dictname
|
||||
}
|
||||
})
|
||||
return dictname
|
||||
}
|
||||
function currency1(list: any, itemcode: any) {
|
||||
let dictname = ''
|
||||
list.forEach((element: any) => {
|
||||
if (element. deviceId== itemcode) {
|
||||
dictname = element.deviceName
|
||||
}
|
||||
})
|
||||
return dictname
|
||||
}
|
||||
</script>
|
||||
<template>
|
||||
<div class="faulttemplate-box">
|
||||
@ -337,8 +367,18 @@ const tableRowClassName = ({
|
||||
<el-col :span="24">
|
||||
<div
|
||||
style="margin-bottom:10px;display: flex;display: -webkit-flex; justify-content: space-between;-webkit-justify-content: space-between; width: 100%;">
|
||||
<div>
|
||||
<el-input v-model="signalName" placeholder="请输入信号名称" style="width: 220px;" clearable />
|
||||
<div style="display: flex;align-items: center;">
|
||||
<el-input v-model="signalName" placeholder="请输入信号名称" @change="getData" style="width: 220px;margin-right: 10px;" clearable />
|
||||
<el-select v-model="systemcode" placeholder="请选择所属系统" clearable
|
||||
style="width: 220px;margin-right: 10px;" @change="getmeterDeviceId1">
|
||||
<el-option v-for="item in belonging" :key="item.itemcode" :label="item.dictname"
|
||||
:value="item.itemcode" />
|
||||
</el-select>
|
||||
<el-select v-model="meterDeviceId" placeholder="请选择辅控设备" clearable @change="getData"
|
||||
style="width: 220px;" :disabled="!systemcode">
|
||||
<el-option v-for="item in eterDevice" :key="item.deviceId" :label="item.deviceName"
|
||||
:value="item.deviceId" />
|
||||
</el-select>
|
||||
<el-button class="searchButton" type="primary" style="margin-left: 10px;"
|
||||
@click="getData">搜索</el-button>
|
||||
</div>
|
||||
@ -357,32 +397,41 @@ const tableRowClassName = ({
|
||||
@selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="selection" align="center" width="55" />
|
||||
<el-table-column label="序号" type="index" width="50" />
|
||||
<el-table-column label="信号编号" prop="signalCode" width="100" />
|
||||
<el-table-column label="信号名称" prop="signalName" min-width="140" />
|
||||
<el-table-column label="信号单位" prop="signalUnit" width="80" />
|
||||
<el-table-column label="遥控遥调类型" prop="ykytType" width="150">
|
||||
<el-table-column label="序号" align="center" type="index" width="50" />
|
||||
<el-table-column label="信号编号" align="center" prop="signalCode" width="100" />
|
||||
<el-table-column label="信号名称" align="left" prop="signalName" width="140" />
|
||||
<el-table-column label="信号单位" align="center" prop="signalUnit" width="80" />
|
||||
<el-table-column label="遥控遥调类型" align="center" prop="ykytType" width="150">
|
||||
<template #default="scope">
|
||||
<span>{{ isykyttype(scope.row.ykytType) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="是否告警信号" prop="signalType" width="100">
|
||||
<el-table-column label="是否告警信号" align="center" prop="signalType" width="100">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.signalType === '1'">是</span>
|
||||
<span v-else>否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="遥信地址(yx)" prop="yxAddr" />
|
||||
<el-table-column label="遥测地址(yc)" prop="ycAddr" />
|
||||
<el-table-column label="遥控地址(yk)" prop="ykAddr" />
|
||||
<el-table-column label="遥调地址(yt)" prop="ytAddr" />
|
||||
<el-table-column label="所属系统" align="center" prop="systemcode" width="80">
|
||||
<template #default="scope">
|
||||
<span>{{ currency(belonging,scope.row.systemcode) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="辅控设备" align="center" prop="meterDeviceId" width="80">
|
||||
<template #default="scope">
|
||||
<span>{{ currency1(eterDevice,scope.row.meterDeviceId) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="遥信地址(yx)" align="left" prop="yxAddr" />
|
||||
<el-table-column label="遥测地址(yc)" align="left" prop="ycAddr" />
|
||||
<el-table-column label="遥控地址(yk)" align="left" prop="ykAddr" />
|
||||
<el-table-column label="遥调地址(yt)" align="left" prop="ytAddr" />
|
||||
<!-- <el-table-column label="数据地址" prop="reportAddr" /> -->
|
||||
<el-table-column fixed="right" label="操作" width="100">
|
||||
<template #default="scope">
|
||||
<span
|
||||
style="display: flex;display: -webkit-flex;justify-content: space-around; -webkit-justify-content: space-around; ">
|
||||
<img src="@/assets/newimg/ht_xg.png" v-hasPerm="['update:devicesignal']" title="修改"
|
||||
<img src="@/assets/newimg/ht_xg.png" v-hasPerm="['update:devicesignal']" title="修改"
|
||||
style="cursor: pointer;" @click="editclick(scope.row)">
|
||||
<img src="@/assets/newimg/gjsz.png" title="告警设置" style="cursor: pointer;"
|
||||
@click="setclick(scope.row)">
|
||||
|
@ -1765,17 +1765,17 @@ const isGaoliang: any = ref("")
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px'}">
|
||||
<el-table-column type="selection" width="30" align="center" :selectable="checkSelectable" />
|
||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||
<el-table-column label="设备编码" prop="patroldeviceCode"></el-table-column>
|
||||
<el-table-column label="设备名称" prop="patroldeviceName" ></el-table-column>
|
||||
<el-table-column label="设备类型" prop="typeName" width="80"></el-table-column>
|
||||
<el-table-column label="设备型号" prop="deviceModel" ></el-table-column>
|
||||
<el-table-column label="设备来源" prop="deviceSource" width="80"></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufacturer" width="80">
|
||||
<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="typeName" width="80" 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="manufacturer" align="center" width="80">
|
||||
<template #default="scope">
|
||||
{{ currency(manufacturerList, scope.row.manufacturer) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="安装位置" prop="place" width="80"></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">
|
||||
<template #default="scope">
|
||||
<!-- <span v-if="scope.row.typeName == '硬盘录像机'">
|
||||
|
@ -334,21 +334,21 @@ const tableRowClassName = ({
|
||||
:row-class-name="tableRowClassName"
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="selection" align="center" width="55" />
|
||||
<el-table-column label="序号" type="index" width="50" />
|
||||
<el-table-column label="设备编号" prop="deviceCode" width="100" />
|
||||
<el-table-column label="设备名称" prop="deviceName" min-width="100" />
|
||||
<el-table-column label="设备类型" prop="deviceType" min-width="80">
|
||||
<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="deviceName" width="180" />
|
||||
<el-table-column label="设备类型" align="center" prop="deviceType" width="160">
|
||||
<template #default="scope">
|
||||
<span>{{ currency(EquipmentType, scope.row.deviceType) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="中文描述" prop="deviceDesc" min-width="100" />
|
||||
<el-table-column label="设备型号" prop="deviceModel" width="100" />
|
||||
<el-table-column label="出厂编号" prop="productionNum" width="100" />
|
||||
<el-table-column label="中文描述" align="left" prop="deviceDesc" min-width="100" />
|
||||
<el-table-column label="设备型号" align="center" prop="deviceModel" width="100" />
|
||||
<el-table-column label="出厂编号" align="center" prop="productionNum" width="100" />
|
||||
<el-table-column label="出厂日期" prop="productionDate" width="100" align="center" />
|
||||
<el-table-column label="生产厂家" prop="manufacturer" min-width="100" />
|
||||
<el-table-column label="生产厂家" align="center" width="100" prop="manufacturer" min-width="100" />
|
||||
<el-table-column label="生产国家" prop="madein" width="100" align="center" />
|
||||
<el-table-column label="以太网IP地址" prop="ipAddr" width="150" />
|
||||
<el-table-column label="以太网IP地址" align="center" prop="ipAddr" width="150" />
|
||||
<el-table-column prop="status" label="设备状态" width="100" align="center">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.status === '00'" style="font-size: 14px;color:#FF3300;">停用</span>
|
||||
@ -356,7 +356,7 @@ const tableRowClassName = ({
|
||||
<span v-else-if="scope.row.status === '02'" style="font-size: 14px;color: #FFCC00;">离线</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" width="110">
|
||||
<el-table-column align="center" fixed="right" label="操作" width="110">
|
||||
<template #default="scope">
|
||||
<span
|
||||
style="display: flex;display: -webkit-flex;justify-content: space-around; -webkit-justify-content: space-around; ">
|
||||
|
@ -716,17 +716,17 @@ function GetArea() {
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="selection" width="30" align="center" :selectable="checkSelectable" />
|
||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||
<el-table-column label="设备编码" prop="patroldeviceCode"></el-table-column>
|
||||
<el-table-column label="设备名称" prop="patroldeviceName"></el-table-column>
|
||||
<el-table-column label="设备型号" prop="deviceModel"></el-table-column>
|
||||
<el-table-column label="设备来源" prop="deviceSource" width="110"></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufacturer" width="110">
|
||||
<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="deviceModel" align="center" ></el-table-column>
|
||||
<el-table-column label="设备来源" prop="deviceSource" align="center" width="110"></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufacturer" align="center" width="110">
|
||||
<template #default="scope">
|
||||
{{ currency(manufacturerList, scope.row.manufacturer) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="安装位置" prop="place"></el-table-column>
|
||||
<el-table-column label="实时状态" width="100" prop="datastatus">
|
||||
<el-table-column label="安装位置" prop="place" align="center" ></el-table-column>
|
||||
<el-table-column label="实时状态" width="100" align="center" prop="datastatus">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.datastatus == 1" style="color:rgb(0, 204, 102)"><img
|
||||
src="@/assets/newimg/u387.png" alt=""
|
||||
@ -736,7 +736,7 @@ function GetArea() {
|
||||
style="display: inline-block; margin: 0px 5px; ">离线</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" width="120" prop="datastatus">
|
||||
<el-table-column label="状态" width="120" align="center" prop="datastatus">
|
||||
<template #default="scope">
|
||||
<el-switch v-model="scope.row.datastatus" active-value="1" inactive-value="0"
|
||||
@change="switchChange(scope.row)" style="margin-right: 4px"></el-switch>
|
||||
|
@ -3,14 +3,11 @@ import { ref, onMounted, reactive, nextTick } from 'vue'
|
||||
import Page from '@/components/Pagination/page.vue'
|
||||
import { ElMessageBox, ElMessage, ElTable, FormRules, ElTree } from 'element-plus'
|
||||
import { getDeviceByType } from '@/api/device'
|
||||
import { queryDevice, addDevice, updateDevice, deleteDeviceById, deleteDeviceByIds, updateDeviceByIds } from '@/api/auxiliarymanage/index';
|
||||
import { getGatewayList } from '@/api/systemmanage'
|
||||
import { getdevicedata } from "@/api/device";
|
||||
import Eldialog from '@/components/seccmsdialog/eldialog.vue'
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import {
|
||||
getBayTree,
|
||||
} from "@/api/makeTask";
|
||||
import * as echarts from 'echarts'
|
||||
import { getAlgorithmClassTree, getAlgorithmDeviceParams, getAlgorithmDeviceCurve, getAlgorithmParamsNameList, callAlgorithmAnalyse } from '@/api/question';
|
||||
import { fa } from 'element-plus/es/locale'
|
||||
const userStore = useUserStore();
|
||||
//树形控件类型定义
|
||||
interface Tree {
|
||||
@ -35,244 +32,212 @@ const vMove = {
|
||||
};
|
||||
}
|
||||
}
|
||||
const tableRowClassName = ({
|
||||
row,
|
||||
rowIndex,
|
||||
}: {
|
||||
row: any
|
||||
rowIndex: number
|
||||
}) => {
|
||||
if (rowIndex % 2 === 0) {
|
||||
return 'warning-row'
|
||||
} else if (rowIndex % 2 === 1) {
|
||||
return 'success-row'
|
||||
}
|
||||
return ''
|
||||
}
|
||||
const defaultProps = { label: "dictname" };
|
||||
const defaultProps1 = {
|
||||
children: "children",
|
||||
label: "name"
|
||||
};
|
||||
const checktreenode: any = ref({})
|
||||
const handleNodeClick = (data: Tree) => {
|
||||
|
||||
};
|
||||
const defaultProps = { label: "name" };
|
||||
const treeRef = ref<InstanceType<typeof ElTree>>()
|
||||
const treeData: any = ref([])
|
||||
const treeloading = ref(false)
|
||||
|
||||
onMounted(() => {
|
||||
init()
|
||||
})
|
||||
const algorithmClassName = ref('')
|
||||
const algorithmId = ref('')
|
||||
const componentId = ref('')
|
||||
function init() {
|
||||
const params = {
|
||||
dictcode: 'FaultDiagnosisType'
|
||||
algorithmClassName: algorithmClassName.value
|
||||
}
|
||||
treeloading.value = true
|
||||
getDeviceByType(params).then((res: any) => {
|
||||
getAlgorithmClassTree(params).then((res: any) => {
|
||||
if (res.data.length !== 0 && res.data !== null) {
|
||||
treeData.value = res.data
|
||||
treeloading.value = false
|
||||
if (res.data.length !== 0 && res.data !== null) {
|
||||
componentId.value = res.data[0].children[0].id
|
||||
algorithmId.value = res.data[0].children[0].parentId
|
||||
|
||||
nextTick(() => {
|
||||
treeRef.value?.setCurrentKey(res.data[0].id);
|
||||
checktreenode.value.code = res.data[0].itemcode
|
||||
checktreenode.value.name = res.data[0].dictname
|
||||
treeRef.value?.setCurrentKey(componentId.value);
|
||||
});
|
||||
gatdata()
|
||||
getecharts()
|
||||
getfenList()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
function handleClose() {
|
||||
serviceOpen.value = false
|
||||
tieupswitch.value = false
|
||||
}
|
||||
//维护按钮
|
||||
const serviceOpen = ref(true)
|
||||
function uphold() {
|
||||
serviceOpen.value = true
|
||||
}
|
||||
//表格数据
|
||||
const tableData = ref([])
|
||||
const loading = ref(false)
|
||||
|
||||
//绑定
|
||||
const title = ref('')
|
||||
const tieupswitch = ref(false)
|
||||
function tieupdevice(row: any) {
|
||||
title.value = '关联' + row
|
||||
tieupswitch.value = true
|
||||
getbaytree()
|
||||
}
|
||||
//维护添加绑定数据
|
||||
//左侧树
|
||||
const treedata = ref([])
|
||||
const treeRefbay: any = ref(null)
|
||||
const weitreeloading = ref(false)
|
||||
const bayId = ref('')
|
||||
function getbaytree() {
|
||||
const params = {
|
||||
stationId: userStore.stationId
|
||||
}
|
||||
weitreeloading.value = true
|
||||
getBayTree(params).then((res: any) => {
|
||||
if (res.data.length == 0) {
|
||||
weitableData.value.length = 0
|
||||
}
|
||||
weitreeloading.value = false
|
||||
treedata.value = res.data
|
||||
bayId.value = res.data[0].children[0].children[0].bayId
|
||||
nextTick(() => {
|
||||
treeRefbay.value?.setCurrentKey(bayId.value);
|
||||
});
|
||||
// getPointsData()
|
||||
})
|
||||
}
|
||||
//导航树点击事件
|
||||
const currentNodeKeybay = ref("")
|
||||
function handClick(data: Tree, node: any) {
|
||||
if (data.children) {
|
||||
function handleNodeClick(data: any, node: any) {
|
||||
if (data.children.length != 0) {
|
||||
node.isCurrent = false
|
||||
currentNodeKeybay.value = ""
|
||||
nextTick(() => {
|
||||
currentNodeKeybay.value = bayId.value
|
||||
treeRef.value?.setCurrentKey(componentId.value);
|
||||
})
|
||||
} else {
|
||||
bayId.value = data.bayId;
|
||||
componentId.value = data.id
|
||||
algorithmId.value = data.parentId
|
||||
gatdata()
|
||||
getecharts()
|
||||
getfenList()
|
||||
canshuList.value = ''
|
||||
}
|
||||
}
|
||||
//右侧表格
|
||||
const weitableData = ref([])
|
||||
const tableloading = ref(false)
|
||||
const bayName = ref('')
|
||||
// const componentIds = ref('')
|
||||
// const mainDeviceIds = ref('')
|
||||
function getPointsData() {
|
||||
tableloading.value = true
|
||||
const params = {
|
||||
bayId: bayId.value,
|
||||
// componentId: componentIds.value,
|
||||
// mainDeviceId: mainDeviceIds.value,
|
||||
status: 0,
|
||||
// patrolDeviceCode: info.value.robotCode,
|
||||
deviceName: bayName.value
|
||||
}
|
||||
getdevicedata(params).then((res: any) => {
|
||||
tableloading.value = false
|
||||
weitableData.value = res.data.records
|
||||
res.data.records.forEach((res: any) => {
|
||||
res['id'] = res.deviceId
|
||||
})
|
||||
const parameter: any = ref([])
|
||||
function gatdata() {
|
||||
fixloading.value = true
|
||||
getAlgorithmDeviceParams({ algorithmId: algorithmId.value, componentId: componentId.value }).then((res: any) => {
|
||||
parameter.value = res.data
|
||||
fixloading.value = false
|
||||
})
|
||||
}
|
||||
function handPointsChange(val: any) {
|
||||
//echarts
|
||||
const eacherslist: any = ref([1, 2, 3, 4])
|
||||
function getecharts() {
|
||||
checloading.value = true
|
||||
getAlgorithmDeviceCurve({ algorithmId: algorithmId.value, componentId: componentId.value }).then((res: any) => {
|
||||
checloading.value = false
|
||||
eacherslist.value = res.data
|
||||
setTimeout(() => {
|
||||
eacherslist.value.forEach((item: any, index: any) => {
|
||||
drawEchart(item, index)
|
||||
})
|
||||
}, 100);
|
||||
|
||||
})
|
||||
}
|
||||
function drawEchart(item: any, index: any) {
|
||||
// debugger
|
||||
const dynamicColor = `fff`;
|
||||
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,
|
||||
yAxis: item.yAxis,
|
||||
series: item.series,
|
||||
|
||||
})
|
||||
}
|
||||
//fenxi
|
||||
const checloading = ref(false)
|
||||
const fixloading = ref(false)
|
||||
const fenloading = ref(false)
|
||||
const fenList: any = ref([])
|
||||
function getfenList() {
|
||||
fenloading.value = true
|
||||
getAlgorithmParamsNameList({ algorithmId: algorithmId.value, componentId: componentId.value }).then((res: any) => {
|
||||
fenList.value = res.data
|
||||
fenloading.value = false
|
||||
})
|
||||
|
||||
}
|
||||
function resetComponent() {
|
||||
bayId.value = ''
|
||||
getPointsData()
|
||||
const canshuList: any = ref()
|
||||
const mapList: any = ref()
|
||||
function analysis() {
|
||||
fenloading.value = true
|
||||
callAlgorithmAnalyse({ id: algorithmId.value, componentId: componentId.value }).then((res: any) => {
|
||||
fenloading.value = false
|
||||
if (res.data.code == -2) {
|
||||
ElMessage.warning(res.data.msg)
|
||||
} else {
|
||||
ElMessage.success('分析成功')
|
||||
mapList.value = res.data.mapList
|
||||
canshuList.value = res.data.result.description
|
||||
getovercanshu()
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
function getovercanshu() {
|
||||
mapList.value.forEach((item: any) => {
|
||||
fenList.value.forEach((items: any) => {
|
||||
if (item.paramId == items.id) {
|
||||
items.paramValue = item.paramValue
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
</script>
|
||||
<template>
|
||||
<div class="faulttemplate-box">
|
||||
<aside id="silderLeft">
|
||||
<div class="tree_title">
|
||||
<img src="@/assets/navigation/ty_bq.png" alt="">
|
||||
<div>算法分类</div>
|
||||
</div>
|
||||
<el-input v-model="algorithmClassName" clearable placeholder="请输入名称" @change="init"
|
||||
style="width:100%;margin-top: 10px;" class="videomonitor-input">
|
||||
<template #suffix>
|
||||
<img src="@/assets/videoimg/u2937.png" style="cursor:pointer ;" @click="init">
|
||||
</template>
|
||||
</el-input>
|
||||
<el-tree v-loading="treeloading" ref="treeRef" node-key="id" :data="treeData" :highlight-current="true"
|
||||
:props="defaultProps" :expand-on-click-node="false" @node-click="handleNodeClick"
|
||||
style="height: calc(87vh); overflow: auto;margin-top: 10px;">
|
||||
style="height: calc(80vh); overflow: auto;margin-top: 10px;">
|
||||
</el-tree>
|
||||
<div class="moveBtn" v-move>
|
||||
<div class="moveBtn-line"></div>
|
||||
</div>
|
||||
</aside>
|
||||
<section class="silderRight1">
|
||||
<div class="right_yop">
|
||||
<div class="right_button"><el-button class="searchButton" type="primary" @click="uphold">维护</el-button>
|
||||
<div class="right_center" v-loading="checloading">
|
||||
<div class="tree_title">
|
||||
<img src="@/assets/navigation/ty_bq.png" alt="">
|
||||
<div>信号/点位折线图</div>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
<el-scrollbar height="440px">
|
||||
<div class="echarts_box">
|
||||
<div v-for="(item, index) in eacherslist" :id="'deviceEachers' + index"
|
||||
:style="{ width: '100%', height: '160px' }"></div>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
<div class="right_yop" v-loading="fixloading">
|
||||
<div class="tree_title">
|
||||
<img src="@/assets/navigation/ty_bq.png" alt="">
|
||||
<div>固定参数</div>
|
||||
</div>
|
||||
<el-scrollbar height="60px">
|
||||
<div class="fixed_params">
|
||||
<div v-for="item in parameter" class="fixed_params_item">
|
||||
<div>{{ item.paramName }}:<span>{{ item.paramValue }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
<div class="right_bottom" v-loading="fenloading">
|
||||
<div class="tree_title">
|
||||
<img src="@/assets/navigation/ty_bq.png" alt="">
|
||||
<div>分析结果</div>
|
||||
</div>
|
||||
<el-button class="searchButton" type="primary" style="margin: 10px 0px;"
|
||||
@click="analysis()">开始分析</el-button>
|
||||
<el-scrollbar height="80px">
|
||||
<div class="fixed_params">
|
||||
<div v-for="item in fenList" class="fixed_params_item">
|
||||
<div>{{ item.paramName }}:<span>{{ item.paramValue ? item.paramValue : '--' }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
<div class="right_botom">
|
||||
分析结果:<span v-if="!canshuList">--</span><span v-else>{{ canshuList }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div></div>
|
||||
</section>
|
||||
<Eldialog v-if="serviceOpen" :title="'维护'" :zIndex="2000" :width="'60%'" @before-close="handleClose">
|
||||
<template v-slot:PopFrameContent>
|
||||
<div>
|
||||
<div>
|
||||
<el-button class="searchButton" type="primary" @click="tieupdevice('点位')">关联点位</el-button>
|
||||
<el-button class="searchButton" type="primary" @click="tieupdevice('信号')">关联信号</el-button>
|
||||
</div>
|
||||
<div class="tieup">
|
||||
<div class="tieup_title">
|
||||
<div class="tieup_title_line"></div>
|
||||
<div class="tieup_title_text">关联结果</div>
|
||||
</div>
|
||||
<div>
|
||||
<el-table ref="multipleTableRef" :data="tableData" :row-class-name="tableRowClassName"
|
||||
:v-loading="loading"
|
||||
style="width: 100%;margin-bottom: 20px;height: calc(35vh);overflow: auto;" row-key="id"
|
||||
default-expand-all
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column label="序号" type="index" width="50" />
|
||||
<el-table-column label="设备编号" prop="deviceCode" />
|
||||
</el-table>
|
||||
</div>
|
||||
<span class="dialog-footer"
|
||||
style="width: 95%;margin: auto; display: flex;display: -webkit-flex; justify-content: center;-webkit-justify-content: center;margin-top: 10px;">
|
||||
<div class="details-button" @click="handleClose">取消</div>
|
||||
<div class="details-button" @click="">保存</div>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</Eldialog>
|
||||
<Eldialog v-if="tieupswitch" :title="title" :zIndex="2000" :width="'80%'" @before-close="handleClose">
|
||||
<template v-slot:PopFrameContent>
|
||||
<div class="faulttemplate-box1">
|
||||
<aside id="silderLeft1">
|
||||
<div class="displayflex">
|
||||
<div class="line"></div>
|
||||
<div class="title" style="font-size: 14px;color: #fff;">数据列表</div>
|
||||
</div>
|
||||
<el-scrollbar>
|
||||
<el-tree ref="treeRefbay" node-key="bayId" :data="treedata"
|
||||
:current-node-key="currentNodeKeybay" v-loading="weitreeloading"
|
||||
:highlight-current="true" :props="defaultProps1" @node-click="handClick">
|
||||
</el-tree>
|
||||
</el-scrollbar>
|
||||
|
||||
</aside>
|
||||
<section class="silderRightDialog">
|
||||
<div
|
||||
style="display: flex;display: -webkit-flex; justify-content: space-between; -webkit-justify-content: space-between; margin:5px">
|
||||
<div style="display: flex;display: -webkit-flex; align-items: center;width: 80%;">
|
||||
|
||||
<el-input v-model="bayName" placeholder="请输入巡视点位名称" clearable @clear="getPointsData()"
|
||||
@change="getPointsData()" style="margin-right:15px ;width: 30%;" />
|
||||
<el-button class="searchButton" @click="getPointsData()">搜索</el-button>
|
||||
<el-button class="searchButton" @click="resetComponent()">重置</el-button>
|
||||
</div>
|
||||
<div><el-button class="searchButton" @click="">添加</el-button></div>
|
||||
</div>
|
||||
<div class="draggable">
|
||||
<el-table ref="multipleTableRef" :data="weitableData" :row-class-name="tableRowClassName"
|
||||
:v-loading="loading"
|
||||
style="width: 100%;margin-bottom: 20px;height: calc(35vh);overflow: auto;" row-key="id"
|
||||
default-expand-all
|
||||
:header-cell-style="{ background: '#002b6a', color: '#B5D7FF', height: '50px' }">
|
||||
<el-table-column type="selection" width="30" align="center" />
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="巡视点位名称" prop="deviceName"></el-table-column>
|
||||
<el-table-column label="所属主设备" prop="mainDeviceName"></el-table-column>
|
||||
<el-table-column label="所属部件" prop="componentName"></el-table-column>
|
||||
</el-table>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</template>
|
||||
</Eldialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -292,9 +257,22 @@ function resetComponent() {
|
||||
|
||||
}
|
||||
|
||||
.tree_title {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 16px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
|
||||
img {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#silderLeft {
|
||||
width: 300px;
|
||||
padding: 5px 0px 10px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
border-radius: 3px;
|
||||
position: relative;
|
||||
@ -306,6 +284,8 @@ function resetComponent() {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* 拖动条 */
|
||||
@ -330,146 +310,114 @@ function resetComponent() {
|
||||
.silderRight1 {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: calc(100vh - 160px);
|
||||
height: calc(90vh);
|
||||
overflow: auto;
|
||||
background-color: rgba(255, 255, 255, 0);
|
||||
border-radius: 3px;
|
||||
box-sizing: border-box;
|
||||
margin-left: 15px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.right_yop {
|
||||
width: 100%;
|
||||
height: calc(60vh);
|
||||
height: 110px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
background: url(@/assets/navigation/110tu.png);
|
||||
background-size: 100% 100%;
|
||||
|
||||
.fixed_params {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-family: 'Arial Normal', 'Arial';
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
font-size: 14px;
|
||||
|
||||
.fixed_params_item {
|
||||
margin-right: 20px;
|
||||
|
||||
span {
|
||||
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
color: #00FFFF
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right_center {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
background: url(@/assets/navigation/sw1.png);
|
||||
background-size: 100% 100%;
|
||||
|
||||
.right_button {
|
||||
.echarts_box {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//关联
|
||||
.tieup {
|
||||
width: 100%;
|
||||
|
||||
.tieup_title {
|
||||
.right_bottom {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
margin: 10px 0px;
|
||||
height: 220px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
background: url(@/assets/navigation/sw.png);
|
||||
background-size: 100% 100%;
|
||||
|
||||
.tieup_title_line {
|
||||
width: 6px;
|
||||
height: 16px;
|
||||
background-color: #009bff;
|
||||
margin-right: 10px;
|
||||
.fixed_params {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-family: 'Arial Normal', 'Arial';
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
font-size: 14px;
|
||||
|
||||
.fixed_params_item {
|
||||
margin-right: 10px;
|
||||
|
||||
span {
|
||||
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
color: #00FFFF
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.right_botom {
|
||||
width: 100%;
|
||||
font-family: 'Arial Normal', 'Arial';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #FFFFFF;
|
||||
|
||||
span {
|
||||
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
letter-spacing: normal;
|
||||
color: #009900;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.el-scrollbar) {
|
||||
height: 80px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/////////
|
||||
///
|
||||
///
|
||||
.faulttemplate-box1 {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
padding-top: 15px;
|
||||
|
||||
#silderLeft1 {
|
||||
width: 300px;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
background-image: url(@/assets/navigation/ty_260x988.png);
|
||||
background-size: 100% 100%;
|
||||
height: calc(70vh);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.silderRightDialog {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: calc(70vh);
|
||||
overflow: auto;
|
||||
// background-color: rgba(255, 255, 255, 1); navigation/ty_260x988.png riis-web/src/assets/navigation/ty_1614x988.png
|
||||
border-radius: 3px;
|
||||
box-sizing: border-box;
|
||||
margin-left: 15px;
|
||||
background: url(@/assets/navigation/ty_1614x988.png);
|
||||
background-size: 100% 100%;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.displayflex {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.line {
|
||||
width: 5px;
|
||||
height: 14px;
|
||||
background: #0099ff;
|
||||
}
|
||||
|
||||
.title {
|
||||
padding-left: 10px;
|
||||
font-family: 'Arial Negreta', 'Arial Normal', 'Arial';
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
font-size: 16px;
|
||||
color: #303133;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
:deep(.el-tree-node.is-current>.el-tree-node__content) {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
// color: #fff !important;
|
||||
}
|
||||
|
||||
:deep(.el-tree) {
|
||||
background-color: #ffffff00 !important;
|
||||
--el-tree-node-hover-bg-color: #0099ff09;
|
||||
}
|
||||
|
||||
:deep(.el-tree-node__content) {
|
||||
width: 100% !important;
|
||||
height: 40px !important;
|
||||
margin: auto !important;
|
||||
}
|
||||
|
||||
:deep(.el-table:not(.el-table--border) .el-table__cell) {
|
||||
border: none;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
:deep(.el-tree) {
|
||||
background-color: #ffffff00 !important;
|
||||
--el-tree-node-hover-bg-color: #0099ff09;
|
||||
}
|
||||
|
||||
:deep(.el-input) {
|
||||
--el-input-bg-color: #ffffff00 !important;
|
||||
}
|
||||
|
||||
:deep(.el-input-group__append) {
|
||||
background: #ffffff00 !important;
|
||||
}
|
||||
|
||||
:deep(.el-input .el-input__count .el-input__count-inner) {
|
||||
background-color: rgba(240, 248, 255, 0);
|
||||
}
|
||||
|
||||
:deep(.el-scrollbar) {
|
||||
height: 95% !important;
|
||||
}
|
||||
</style>
|
@ -582,12 +582,7 @@ const isVideo = ref(false)
|
||||
<el-table-column prop="patroldeviceName" label="设备名称" align="center" />
|
||||
<el-table-column prop="componentName" label="部件名称" align="center" />
|
||||
<el-table-column prop="deviceName" label="点位名称" align="center" />
|
||||
<el-table-column prop="materialId" label="实物ID" align="center">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.materialId">{{ scope.row.materialId }}</span>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="点位分类" prop="appearanceType" align="center">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.pointType == 1">Ⅰ类</span>
|
||||
@ -595,7 +590,7 @@ const isVideo = ref(false)
|
||||
<span v-if="scope.row.pointType == 3">Ⅲ类</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="taskAlarmType" label="告警来源" width="80px" align="center">
|
||||
<el-table-column prop="taskAlarmType" label="告警来源" width="100px" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ currency(AlarmSourceList, scope.row.taskAlarmType) }}</span>
|
||||
</template>
|
||||
@ -620,7 +615,7 @@ const isVideo = ref(false)
|
||||
</el-table-column>
|
||||
<el-table-column prop="custom2" label="缺陷类别" width="90px" align="center">
|
||||
</el-table-column>
|
||||
<el-table-column prop="alarmDate" label="告警时间" width="110px" align="center" />
|
||||
<el-table-column prop="alarmDate" label="告警时间" width="100px" align="center" />
|
||||
<el-table-column prop="checkFlag" label="状态" width="70px" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ currency(checkFlagList, scope.row.checkFlag) }}</span>
|
||||
|
@ -2179,15 +2179,15 @@ const open = () => {
|
||||
v-loading="treeloading">
|
||||
<el-table-column type="selection" width="30" align="center" />
|
||||
<el-table-column type="index" label="序号" width="50px" align="center" />
|
||||
<el-table-column property="stationName" label="变电站名称">
|
||||
<el-table-column property="stationName" label="变电站名称" align="center">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.stationName }} <span style="display: inline-block;color: #409EFF;"
|
||||
v-if="scope.row.isStationFlag == '1'">(边缘节点)</span></span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column property="taskCode" label="任务编码" />
|
||||
<el-table-column property="taskName" label="任务名称" />
|
||||
<el-table-column property="taskType" label="任务类型" width="130px">
|
||||
<el-table-column property="taskCode" label="任务编码" align="center" />
|
||||
<el-table-column property="taskName" label="任务名称" align="center" />
|
||||
<el-table-column property="taskType" label="任务类型" width="130px" align="center">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.taskType == 1">站端日常巡视任务</span>
|
||||
<span v-else-if="scope.row.taskType == 2">上级系统控制</span>
|
||||
@ -2850,7 +2850,7 @@ const open = () => {
|
||||
</Eldialog>
|
||||
<Eldialog v-if="control" :title="'二次密码验证'" :zIndex="2000" :width="'400px'" @before-close="inputCLOse">
|
||||
<template v-slot:PopFrameContent>
|
||||
<el-input v-model="password" placeholder="请输入账号密码" style="margin-top:30px;width: 100%;" type="password"
|
||||
<el-input v-model="password" autocomplete="new-password" :name="'pwd-'+Date.now()" placeholder="请输入账号密码" style="margin-top:30px;width: 100%;" type="password"
|
||||
show-password />
|
||||
<div style="padding:5px 0">
|
||||
<div v-if="inputTrue" style="color:red;">密码错误,请重新输入</div>
|
||||
|
@ -763,10 +763,10 @@ function retrunClick() {
|
||||
@cell-mouse-leave="hoverTableLeave" :row-class-name="tableRowClassName"
|
||||
style="width: 98%;margin:auto;position: relative;margin: 15px 10px;height:calc(100%); ">
|
||||
<el-table-column type="index" align="center" label="序号" width="60px" />
|
||||
<el-table-column prop="mainDeviceName" label="设备名称" />
|
||||
<el-table-column prop="componentName" label="部件名称" />
|
||||
<el-table-column prop="deviceName" label="点位名称" width="160px" />
|
||||
<el-table-column prop="meterType" label="表计类型">
|
||||
<el-table-column prop="mainDeviceName" align="center" width="130px" label="设备名称" />
|
||||
<el-table-column prop="componentName" align="center" width="130px" label="部件名称" />
|
||||
<el-table-column prop="deviceName" align="center" label="点位名称" width="160px" />
|
||||
<el-table-column prop="meterType" align="center" label="表计类型">
|
||||
<template #default="scope">
|
||||
<span
|
||||
v-if="currency(MeterTypeList, scope.row.meterType) != undefined && currency(MeterTypeList, scope.row.meterType) != ''">{{
|
||||
@ -792,14 +792,14 @@ function retrunClick() {
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column prop="desc" label="识别类型" width="140px">
|
||||
<el-table-column prop="desc" label="识别类型" width="140px" align="center" >
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.desc != null && scope.row.desc != ''">{{ scope.row.desc
|
||||
}}</span>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="识别值" width="100px">
|
||||
<el-table-column label="识别值" width="100px" align="center">
|
||||
<template #default="scope">
|
||||
<span
|
||||
v-if="scope.row.valueType == 'meter' || scope.row.valueType == 'infrared' || scope.row.valueType == 'sound'">
|
||||
|
@ -475,7 +475,7 @@ function removePercentSign(str:any) {
|
||||
style="width: 99%;margin:auto;position: relative; height:calc(79vh); overflow: auto;margin-top: 10px; "
|
||||
stripe :header-cell-style="tableBg">
|
||||
<el-table-column type="index" align="center" label="序号" width="60px" />
|
||||
<el-table-column prop="taskName" label="任务名称" min-width="140px" align="left" />
|
||||
<el-table-column prop="taskName" label="任务名称" min-width="140px" align="center" />
|
||||
<el-table-column prop="taskType" label="任务类型" width="100px" align="center">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.type == 1">例行巡视</span>
|
||||
|
@ -283,8 +283,8 @@ onMounted(() => {
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="30" align="center" />
|
||||
<el-table-column type="index" align="center" label="序号" width="50px" />
|
||||
<el-table-column prop="taskName" label="任务名称" />
|
||||
<el-table-column prop="type" label="任务类型" width="140px">
|
||||
<el-table-column prop="taskName" label="任务名称" align="center" />
|
||||
<el-table-column prop="type" label="任务类型" align="center" width="140px">
|
||||
<template #default="scope">
|
||||
<span>{{ currency(InspectionType, scope.row.type) }}</span>
|
||||
<!-- <span v-if="scope.row.type == 1">例行巡视</span>
|
||||
@ -302,9 +302,9 @@ onMounted(() => {
|
||||
scope.row.result.abnormalCount }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="startTime" label="巡视开始时间" />
|
||||
<el-table-column prop="endTime" label="巡视结束时间" />
|
||||
<el-table-column prop="cexamineUserName" label="审核人" width="100px"/>
|
||||
<el-table-column prop="startTime" label="巡视开始时间" align="center" />
|
||||
<el-table-column prop="endTime" label="巡视结束时间" align="center" />
|
||||
<el-table-column prop="cexamineUserName" label="审核人" width="100px" align="center"/>
|
||||
<el-table-column prop="examineDate" label="审核时间" width="170px" align="center" />
|
||||
<el-table-column label="操作" width="120px" align="center">
|
||||
<template #default="scope">
|
||||
|
Loading…
Reference in New Issue
Block a user