qa-regulatory-gwj-vue/src/views/map/dialog/zhong_da_info.vue

755 lines
28 KiB
Vue
Raw Normal View History

2023-11-07 10:04:37 +08:00
<template>
<div class="dialog_body">
<div class="top">
<div class="top_left">
<div class="title">
<div>{{ pd.MAJORDANGERSOURCE_NUMBER }}{{ pd.MAJORDANGERSOURCE_NAME }}</div>
<div>{{ pd.MAJORDANGERSOURCE_TYPE_NAME }}</div>
</div>
<div class="img">
<img :src="imgUrl">
</div>
</div>
<div class="top_center">
<table>
<tr>
<td/>
<td>当前值</td>
<td>低预警值</td>
<td>高预警值</td>
</tr>
<tr>
<td>液位</td>
<td>{{ pd.STORAGETANK_LIQUIDLEVEL }}</td>
<td>{{ pd.LIQUIDLEVEL_RANGEMIN }}</td>
<td>{{ pd.LIQUIDLEVEL_RANGEMAX }}</td>
</tr>
<tr>
<td>温度</td>
<td>{{ pd.STORAGETANK_TEMPERATURE }}</td>
<td>{{ pd.TEMPERATURE_RANGEMIN }}</td>
<td>{{ pd.TEMPERATURE_RANGEMAX }}</td>
</tr>
</table>
</div>
<div class="liquid-btns"/>
</div>
<div class="center">
<line-chart id="main4" ref="CHART_LIQUIDLEVEL" :chart-data="chartData.LIQUIDLEVEL" />
</div>
<div class="center">
<line-chart id="main5" ref="CHART_TEMPERATURE" :chart-data="chartData.TEMPERATURE" />
</div>
<div class="bottom">
<div class="tabs">
<div v-for="item in tabs" :class="['tab',{active:item === tabName}]" :key="item" @click="changeTab(item)">
{{ item }}
</div>
</div>
<table>
<tr>
<td>油罐编号</td>
<td>数据日期</td>
<td>数据时间</td>
<td>存储介质</td>
<td>数值</td>
</tr>
<template v-if="logList.length !== 0">
<tr v-for="(item,index) in logList" :key="index">
<td>{{ pd.MAJORDANGERSOURCE_NUMBER }}</td>
<td>{{ item['STORAGETANK' + pd.MAJORDANGERSOURCE_STORAGETANK + '_OPERATTIME'].substr(0, 10) }}</td>
<td>{{ item['STORAGETANK' + pd.MAJORDANGERSOURCE_STORAGETANK + '_OPERATTIME'].substr(11) }}</td>
<td v-if="['1#','2#','3#','4#','5#','6#','7#','8#','9#'].indexOf(pd.MAJORDANGERSOURCE_NUMBER)>-1"></td>
<td v-if="['51#','52#','53#','54#'].indexOf(pd.MAJORDANGERSOURCE_NUMBER)>-1"></td>
<td v-if="['1#','2#','3#','4#','5#','6#','7#','8#','9#','51#','52#','53#','54#'].indexOf(pd.MAJORDANGERSOURCE_NUMBER)===-1"></td>
<td v-show="tabName === '液位'">{{ item['STORAGETANK' + pd.MAJORDANGERSOURCE_STORAGETANK + '_LIQUIDLEVEL'] }}</td>
<td v-show="tabName === '温度'">{{ item['STORAGETANK' + pd.MAJORDANGERSOURCE_STORAGETANK + '_TEMPERATURE'] }}</td>
</tr>
</template>
<template v-else>
<tr>
<td colspan="5" style="text-align: center">暂无数据</td>
</tr>
</template>
</table>
</div>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import LineChart from '../../echarts/linechartBI'
import { upload } from '@/utils/upload'
const lineChartData = {
LIQUIDLEVEL: {
dataX: ['15:14:00', '15:14:05', '15:14:10', '15:14:15', '15:14:20'],
legend: ['液位'],
color: ['#3888FA'],
dataY: [[13.172, 13.171, 13.173, 13.171, 13.175]]
},
TEMPERATURE: {
dataX: ['15:14:00', '15:14:05', '15:14:10', '15:14:15', '15:14:20'],
legend: ['温度'],
color: ['#3888FA'],
dataY: [[26.6, 26.3, 26.5, 26.6, 26.2]]
}
}
export default {
components: {
LineChart
},
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
},
gangkou: {
type: String,
default: ''
}
},
data() {
return {
tabs: ['液位', '温度'],
tabName: '液位',
chartData: lineChartData,
listLoading: true,
activeName: 'first',
imgUrl: require('@/assets/images/tanks.png'),
pd: {
MAJORDANGERSOURCE_NAME: '', // 重大危险源名称
MAJORDANGERSOURCE_TYPE_NAME: '', // 重大危险源类型
MAJORDANGERSOURCE_ADDRESS: '', // 重大危险源地址
MAJORDANGERSOURCE_LONGITUDE: '', // 重大危险源位置经度
MAJORDANGERSOURCE_LATITUDE: '', // 重大危险源位置纬度
MAJORDANGERSOURCE_NUMBER: '', // 重大危险源编号
USE_DATE: '', // 投入使用日期
DECLARATION_LEVEL_NAME: '', // 申报等级
STORAGE_ACTUAL: '', // 实际储存量
STORAGE_MAX: '', // 最大储量
CONTROL_MEASURES: '', // 管控措施
BRANCHEMERGENCYPLAN_NAME: '', // 分公司应急预案名称
BRANCHEMERGENCYPLAN_FILEPATH: '', // 分公司应急预案文件
RESPONSIBLE_PERSON_NAME: '', // 责任人姓名
RESPONSIBLE_PERSON_PHONE: ''// 联系方式
},
storageTankData: {}, // 监测数据
hasDisposal: false,
disposalNew: { // 报警信息(待创建)
MAJORDANGERSOURCE_ID: this.id,
ALARM_TYPE: '', // 报警类型
ALARM_VALUE: '', // 报警值
ALARM_LEVEL: '', // 报警级别1.一级 2.二级 3.三级 4.四级)
ALARM_RANGE_MIN: '', // 报警阈值下限
ALARM_RANGE_MAX: '' // 报警阈值上限
},
ALARM_TYPE_List: [], // 数据字典
ALARM_LEVEL_List: [{ VALUE: '1', NAME: '一级' }, { VALUE: '2', NAME: '二级' }, { VALUE: '3', NAME: '三级' }, { VALUE: '4', NAME: '四级' }],
disposal: { // 报警信息
MAJORDANGERSOURCE_DISPOSAL_ID: '',
MAJORDANGERSOURCE_ID: this.id,
ALARM_TYPE: '', // 报警类型
ALARM_VALUE: '', // 报警值
ALARM_LEVEL: '', // 报警级别1.一级 2.二级 3.三级 4.四级)
ALARM_RANGE_MIN: '', // 报警阈值下限
ALARM_RANGE_MAX: '', // 报警阈值上限
DISPOSAL_TIME: '', // 处置生成时间
DISPOSAL_PERSON: '', // 处置人
DISPOSAL_METHOD: '', // 处置方式
DISPOSAL_DESC: '', // 处置描述
DISPOSAL_TIME_OVER: '', // 处置完成时间
disposalBeforeFile: [], // 处置前照片
disposalAfterFile: [] // 处置后照片
},
dialogFormEdit: false,
dialogImageUrl: '',
dialogVisible: false,
rules: {
ALARM_TYPE: [{ required: true, message: '请选择报警类型', trigger: 'blur' }],
ALARM_VALUE: [{ required: true, message: '报警值不能为空', trigger: 'blur' }],
ALARM_LEVEL: [{ required: true, message: '报警级别1.一级 2.二级 3.三级 4.四级)不能为空', trigger: 'blur' }],
ALARM_RANGE_MIN: [{ required: true, message: '报警阈值下限不能为空', trigger: 'blur' }],
ALARM_RANGE_MAX: [{ required: true, message: '报警阈值上限不能为空', trigger: 'blur' }]
},
total: 0,
logList: [],
timer: null,
msg: null
}
},
created() {
this.getDict()
this.getData()
},
beforeDestroy() {
if (this.timer) {
clearInterval(this.timer)
this.timer = null
}
if (this.msg) {
this.msg.close()
this.msg = null
}
},
methods: {
changeTab(tabName) {
this.tabName = tabName
},
getData() {
requestFN(
'/homemajor/getMajordangersourceInfo',
{
MAJORDANGERSOURCE_ID: this.id,
GANGKOU: this.gangkou
}
).then((data) => {
this.pd = Object.assign({}, data.pd) // copy obj
this.getStorageTankData()
this.getStorageTankLogList()
this.listLoading = false
}).catch((e) => {
this.listLoading = false
})
},
handleClick(tab, event) {
console.log(tab, event)
},
cancleDisposal() {
this.dialogFormEdit = false
this.timer = setInterval(this.handleTimerOperation, 5000)
},
handleDisposal() {
// console.info(this.disposal)
this.rules.DISPOSAL_PERSON = [{ required: true, message: '处置人不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_METHOD = [{ required: true, message: '处置方式不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_DESC = [{ required: true, message: '处置描述不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_TIME_OVER = [{ required: true, message: '请选择处置完成时间', trigger: 'blur' }]
this.dialogFormEdit = true
if (this.timer) {
clearInterval(this.timer)
this.timer = null
}
},
handlePicturePreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
handleBeforeUploadDisposalBefore(file) {
const types = ['image/jpeg', 'image/jpg', 'image/png']
const isImage = types.includes(file.type)
if (!isImage) {
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
return false
} else {
this.disposal.disposalBeforeFile.push(file)
}
},
handleBeforeUploadDisposalAfter(file) {
const types = ['image/jpeg', 'image/jpg', 'image/png']
const isImage = types.includes(file.type)
if (!isImage) {
this.$message.error('上传图片只能是 JPG、JPEG、PNG 格式!')
return false
} else {
this.disposal.disposalAfterFile.push(file)
}
},
// 保存
confirm(methodName) {
if (methodName == 'add') {
this.rules.DISPOSAL_PERSON = [{ required: false, message: '处置人不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_METHOD = [{ required: false, message: '处置方式不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_DESC = [{ required: false, message: '处置描述不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_TIME_OVER = [{ required: false, message: '请选择处置完成时间', trigger: 'blur' }]
this.listLoading = true
requestFN(
'/majordangersourcedisposal/' + methodName,
this.disposal
).then((data) => {
this.listLoading = false
this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID = data.pd.MAJORDANGERSOURCE_DISPOSAL_ID
this.disposal.DISPOSAL_TIME = data.pd.DISPOSAL_TIME
console.info(this.disposal)
// this.dialogFormEdit = false
// this.hasDisposal = false
}).catch((e) => {
this.listLoading = false
})
} else if (methodName == 'up') {
this.rules.DISPOSAL_PERSON = [{ required: false, message: '处置人不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_METHOD = [{ required: false, message: '处置方式不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_DESC = [{ required: false, message: '处置描述不能为空', trigger: 'blur' }]
this.rules.DISPOSAL_TIME_OVER = [{ required: false, message: '请选择处置完成时间', trigger: 'blur' }]
this.listLoading = true
requestFN(
'/majordangersourcedisposal/' + methodName,
this.disposal
).then((data) => {
this.listLoading = false
this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID = data.pd.MAJORDANGERSOURCE_DISPOSAL_ID
this.disposal.DISPOSAL_TIME = data.pd.DISPOSAL_TIME
// this.dialogFormEdit = false
// this.hasDisposal = false
}).catch((e) => {
this.listLoading = false
})
} else {
this.$refs.form.validate(valid => {
if (valid) {
if (this.$refs.disposalBeforeUpload.uploadFiles.length < 1) {
this.$message({
message: '请上传处置前照片',
type: 'error'
})
return false
}
if (this.$refs.disposalAfterUpload.uploadFiles.length < 1) {
this.$message({
message: '请上传处置后照片',
type: 'error'
})
return false
}
this.uploadDisposalBeforeFile()
this.uploadDisposalAfterFile()
this.listLoading = true
this.disposal.DISPOSAL_STATUS = '1'
console.info(this.disposal)
requestFN(
'/majordangersourcedisposal/' + methodName,
this.disposal
).then((data) => {
this.listLoading = false
this.dialogFormEdit = false
this.hasDisposal = false
this.resetDisposal()
console.info(this.disposal)
this.timer = setInterval(this.handleTimerOperation, 5000)
}).catch((e) => {
this.listLoading = false
})
} else {
return false
}
})
}
},
uploadDisposalBeforeFile() {
this.$refs.disposalBeforeUpload.submit()
const formData = new FormData()
for (var i = 0; i < this.disposal.disposalBeforeFile.length; i++) {
if (this.disposal.disposalBeforeFile[i]) {
formData.append('FFILE', this.disposal.disposalBeforeFile[i])
}
}
// formData.append('FFILE', this.disposal.disposalBeforeFile)
console.info(this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
formData.append('FOREIGN_KEY', this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
formData.append('TYPE', 20)
this.uploadFileSubmit(formData, '处置前照片上传完成')
},
uploadDisposalAfterFile() {
this.$refs.disposalAfterUpload.submit()
const formData = new FormData()
for (var i = 0; i < this.disposal.disposalAfterFile.length; i++) {
if (this.disposal.disposalAfterFile[i]) {
formData.append('FFILE', this.disposal.disposalAfterFile[i])
}
}
// formData.append('FFILE', this.disposal.disposalAfterFile)
console.info(this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
formData.append('FOREIGN_KEY', this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID)
formData.append('TYPE', 21)
this.uploadFileSubmit(formData, '处置后照片上传完成')
},
uploadFileSubmit(formData, str) {
upload(
'/imgfiles/add',
formData
).then((data) => {
console.info(str)
}).catch((e) => {
})
},
handleTimerOperation() {
this.getStorageTankData()
this.getStorageTankLogList()
},
// 获取监测数据实时数据
getStorageTankData() {
// var _this = this
// storagetank/goEdit
requestFN(
'/homemajor/getStoragetankInfo',
{
MAJORDANGERSOURCE_STORAGETANK_ID: '1'
}
).then((data) => {
this.storageTankData = Object.assign({}, data.pd) // copy obj
const liquidLevel = this.storageTankData['STORAGETANK' + this.pd.MAJORDANGERSOURCE_STORAGETANK + '_LIQUIDLEVEL']
const temperature = this.storageTankData['STORAGETANK' + this.pd.MAJORDANGERSOURCE_STORAGETANK + '_TEMPERATURE']
this.$set(this.pd, 'STORAGETANK_LIQUIDLEVEL', liquidLevel)
this.$set(this.pd, 'STORAGETANK_TEMPERATURE', temperature)
// eslint-disable-next-line no-unused-vars
var ALARM_LEVEL = 10
this.pd.SENSORLIST.forEach(item => {
// eslint-disable-next-line no-constant-condition,no-cond-assign
if (item.MONITORINGDEVICESENSOR_TYPE == 'MONITORINGEQUIPMENTTYPE001') { // 液位
if (Number(item.RANGE1_MIN) <= Number(liquidLevel) && Number(liquidLevel) <= Number(item.RANGE1_MAX)) {
this.$set(this.pd, 'LIQUIDLEVELCLASS', 'red')
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMIN', item.RANGE1_MIN)
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMAX', item.RANGE1_MAX)
if (ALARM_LEVEL > 1) {
ALARM_LEVEL = 1
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '1'
}
} else if (Number(item.RANGE2_MIN) <= Number(liquidLevel) && Number(liquidLevel) <= Number(item.RANGE2_MAX)) {
this.$set(this.pd, 'LIQUIDLEVELCLASS', 'orange')
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMIN', item.RANGE2_MIN)
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMAX', item.RANGE2_MAX)
if (ALARM_LEVEL > 2) {
ALARM_LEVEL = 2
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '2'
}
} else if (Number(item.RANGE3_MIN) <= Number(liquidLevel) && Number(liquidLevel) <= Number(item.RANGE3_MAX)) {
this.$set(this.pd, 'LIQUIDLEVELCLASS', 'yellow')
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMIN', item.RANGE3_MIN)
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMAX', item.RANGE3_MAX)
if (ALARM_LEVEL > 3) {
ALARM_LEVEL = 3
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '3'
}
} else if (Number(item.RANGE4_MIN) <= Number(liquidLevel) && Number(liquidLevel) <= Number(item.RANGE4_MAX)) {
this.$set(this.pd, 'LIQUIDLEVELCLASS', 'blue')
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMIN', item.RANGE4_MIN)
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMAX', item.RANGE4_MAX)
if (ALARM_LEVEL > 4) {
ALARM_LEVEL = 4
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '4'
}
} else {
this.$set(this.pd, 'LIQUIDLEVELCLASS', 'green')
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMIN', '-')
this.$set(this.pd, 'LIQUIDLEVEL_RANGEMAX', '-')
}
if (ALARM_LEVEL < 10 && this.disposalNew.ALARM_TYPE == item.MONITORINGDEVICESENSOR_TYPE) {
this.disposalNew.ALARM_VALUE = liquidLevel
this.disposalNew.ALARM_RANGE_MIN = this.pd.LIQUIDLEVEL_RANGEMIN
this.disposalNew.ALARM_RANGE_MAX = this.pd.LIQUIDLEVEL_RANGEMAX
}
// eslint-disable-next-line no-constant-condition,no-cond-assign
} else if (item.MONITORINGDEVICESENSOR_TYPE == 'MONITORINGEQUIPMENTTYPE002') { // 温度
if (Number(item.RANGE1_MIN) <= Number(temperature) && Number(temperature) <= Number(item.RANGE1_MAX)) {
this.$set(this.pd, 'TEMPERATURECLASS', 'red')
this.$set(this.pd, 'TEMPERATURE_RANGEMIN', item.RANGE1_MIN)
this.$set(this.pd, 'TEMPERATURE_RANGEMAX', item.RANGE1_MAX)
if (ALARM_LEVEL > 1) {
ALARM_LEVEL = 1
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '1'
}
} else if (Number(item.RANGE2_MIN) <= Number(temperature) && Number(temperature) <= Number(item.RANGE2_MAX)) {
this.$set(this.pd, 'TEMPERATURECLASS', 'orange')
this.$set(this.pd, 'TEMPERATURE_RANGEMIN', item.RANGE2_MIN)
this.$set(this.pd, 'TEMPERATURE_RANGEMAX', item.RANGE2_MAX)
if (ALARM_LEVEL > 2) {
ALARM_LEVEL = 2
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '2'
}
} else if (Number(item.RANGE3_MIN) <= Number(temperature) && Number(temperature) <= Number(item.RANGE3_MAX)) {
this.$set(this.pd, 'TEMPERATURECLASS', 'yellow')
this.$set(this.pd, 'TEMPERATURE_RANGEMIN', item.RANGE3_MIN)
this.$set(this.pd, 'TEMPERATURE_RANGEMAX', item.RANGE3_MAX)
if (ALARM_LEVEL > 3) {
ALARM_LEVEL = 3
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '3'
}
} else if (Number(item.RANGE4_MIN) <= Number(temperature) && Number(temperature) <= Number(item.RANGE4_MAX)) {
this.$set(this.pd, 'TEMPERATURECLASS', 'blue')
this.$set(this.pd, 'TEMPERATURE_RANGEMIN', item.RANGE4_MIN)
this.$set(this.pd, 'TEMPERATURE_RANGEMAX', item.RANGE4_MAX)
if (ALARM_LEVEL > 4) {
ALARM_LEVEL = 4
this.disposalNew.ALARM_TYPE = item.MONITORINGDEVICESENSOR_TYPE
this.disposalNew.ALARM_LEVEL = '4'
}
} else {
this.$set(this.pd, 'TEMPERATURECLASS', 'green')
this.$set(this.pd, 'TEMPERATURE_RANGEMIN', '-')
this.$set(this.pd, 'TEMPERATURE_RANGEMAX', '-')
}
if (ALARM_LEVEL < 10 && this.disposalNew.ALARM_TYPE == item.MONITORINGDEVICESENSOR_TYPE) {
this.disposalNew.ALARM_VALUE = temperature
this.disposalNew.ALARM_RANGE_MIN = this.pd.TEMPERATURE_RANGEMIN
this.disposalNew.ALARM_RANGE_MAX = this.pd.TEMPERATURE_RANGEMAX
}
}
})
// this.getDisplsal(_this)
this.listLoading = false
}).catch((e) => {
this.listLoading = false
})
},
// 获取最新的有效报警数据
getDisplsal(_this) {
this.listLoading = true
requestFN(
'/majordangersourcedisposal/findValidateData',
{
MAJORDANGERSOURCE_ID: this.pd.MAJORDANGERSOURCE_ID
}
).then((data) => {
this.listLoading = false
_this.disposal = Object.assign(_this.disposal, data.varList.length > 0 ? data.varList[0] : {}) // copy obj
// eslint-disable-next-line one-var
let message = '', type = ''
// 当前监测数据等级 高于 库里linechartBI报警数据等级升级报警信息
if (_this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID &&
Number(_this.disposal.ALARM_LEVEL) > Number(_this.disposalNew.ALARM_LEVEL == '' ? '10' : _this.disposalNew.ALARM_LEVEL)) {
_this.disposal = Object.assign(_this.disposal, _this.disposalNew)
message = _this.pd.MAJORDANGERSOURCE_NAME + '【' + (_this.disposalNew.ALARM_TYPE == 'MONITORINGEQUIPMENTTYPE001' ? '液位' : '温度') + '】已升级为'
if (_this.disposalNew.ALARM_LEVEL == '1') {
message += '一级'
type = 'error'
} else if (_this.disposalNew.ALARM_LEVEL == '2') {
message += '二级'
type = 'warning'
} else if (_this.disposalNew.ALARM_LEVEL == '3') {
message += '三级'
type = 'warning'
} else if (_this.disposalNew.ALARM_LEVEL == '4') {
message += '四级'
type = 'info'
}
message += '预警,请尽快处理'
// _this.confirm('up')
} else { // 新增报警数据
_this.disposal = Object.assign(_this.disposal, _this.disposalNew)
message = _this.pd.MAJORDANGERSOURCE_NAME + '【' + (_this.disposalNew.ALARM_TYPE == 'MONITORINGEQUIPMENTTYPE001' ? '液位' : '温度') + '】已达'
if (_this.disposalNew.ALARM_LEVEL == '1') {
message += '一级'
type = 'error'
} else if (_this.disposalNew.ALARM_LEVEL == '2') {
message += '二级'
type = 'warning'
} else if (_this.disposalNew.ALARM_LEVEL == '3') {
message += '三级'
type = 'warning'
} else if (_this.disposalNew.ALARM_LEVEL == '4') {
message += '四级'
type = 'info'
}
message += '预警,请尽快处理'
}
if (type) {
if (!_this.disposal.MAJORDANGERSOURCE_DISPOSAL_ID) {
// _this.confirm('add')
}
_this.$set(_this, 'hasDisposal', true)
if (_this.msg) {
_this.msg.close()
_this.msg = null
}
_this.msg = this.$message({
message: message,
type: type,
showClose: false,
duration: 0
})
}
}).catch((e) => {
this.listLoading = false
})
},
// 获取监测数据对接记录最近30条
getStorageTankLogList() {
this.listLoading = true
// storagetanklog/list
requestFN(
'/homemajor/listStoragetankLog?showCount=5&currentPage=1',
{
STORAGETANK_OPERATTIME: 'STORAGETANK' + this.pd.MAJORDANGERSOURCE_STORAGETANK + '_OPERATTIME'
}
).then((data) => {
this.logList = data.varList
for (let i = this.logList.length - 1; i >= 0; i--) {
var item = this.logList[i]
var j = this.logList.length - 1 - i
const datatime = item['STORAGETANK' + this.pd.MAJORDANGERSOURCE_STORAGETANK + '_OPERATTIME']
this.chartData.LIQUIDLEVEL.dataX[j] = datatime.length > 11 ? datatime.substr(11) : datatime
this.chartData.TEMPERATURE.dataX[j] = datatime.length > 11 ? datatime.substr(11) : datatime
this.chartData.LIQUIDLEVEL.dataY[0][j] = item['STORAGETANK' + this.pd.MAJORDANGERSOURCE_STORAGETANK + '_LIQUIDLEVEL']
this.chartData.TEMPERATURE.dataY[0][j] = item['STORAGETANK' + this.pd.MAJORDANGERSOURCE_STORAGETANK + '_TEMPERATURE']
}
this.$refs.CHART_LIQUIDLEVEL.renewOption(this.chartData.LIQUIDLEVEL)
this.$refs.CHART_TEMPERATURE.renewOption(this.chartData.TEMPERATURE)
this.listLoading = false
}).catch((e) => {
this.listLoading = false
})
},
// 查看
goDisposalList() {
this.$parent.activeName = 'DisposalList'
},
// 获取数据字典数据
getDict: function() {
requestFN(
'/dictionariesCorp/getLevels',
{
DICTIONARIES_ID: '6a724d36c3ad416fad22049d932c1987'
}
).then((data) => {
this.ALARM_TYPE_List = data.list
}).catch((e) => {
})
},
resetDisposal() {
this.disposal = { // 报警信息
MAJORDANGERSOURCE_DISPOSAL_ID: '',
MAJORDANGERSOURCE_ID: this.id,
ALARM_TYPE: '', // 报警类型
ALARM_VALUE: '', // 报警值
ALARM_LEVEL: '', // 报警级别1.一级 2.二级 3.三级 4.四级)
ALARM_RANGE_MIN: '', // 报警阈值下限
ALARM_RANGE_MAX: '', // 报警阈值上限
DISPOSAL_TIME: '', // 处置生成时间
DISPOSAL_PERSON: '', // 处置人
DISPOSAL_METHOD: '', // 处置方式
DISPOSAL_DESC: '', // 处置描述
DISPOSAL_TIME_OVER: '', // 处置完成时间
disposalBeforeFile: [], // 处置前照片
disposalAfterFile: [] // 处置后照片
}
}
}
}
</script>
<style lang="scss" scoped>
@mixin table() {
table {
width: 100%;
border-collapse: collapse;
text-align: center;
tr {
td {
width: 20%;
border: 2px solid #b1ccec;
padding: 1.601vh 0;
}
}
}
}
.dialog_body {
width: 100%;
.top {
display: flex;
padding-bottom: 1.601vh;
border-bottom: 2px solid #316b8b;
.top_left {
flex-basis: 10%;
display: flex;
align-items: center;
flex-wrap: wrap;
.title {
text-align: center;
flex-basis: 100%;
}
img {
height: 10.672vh;
flex-basis: 100%;
}
}
.top_center {
flex: 1;
margin-left: 50px;
@include table();
}
.top_right {
margin-left: 15px;
flex-basis: 15%;
button {
width: 100%;
cursor: pointer;
background-color: rgba(49, 188, 211, 0.7);
color: #fff;
border: none;
border-radius: 3px;
padding: 1.301vh 0;
margin: 0.3vh 0;
}
}
}
.center {
display: flex;
justify-content: space-around;
padding-top: 1.601vh;
padding-bottom: 1.601vh;
border-bottom: 2px solid #316b8b;
#main4, #main5 {
flex-basis: 80%;
height: 15.97vh;
}
}
.bottom {
padding-top: 1.601vh;
padding-bottom: 1.601vh;
border-bottom: 2px solid #316b8b;
.tabs {
display: flex;
font-size: 14px;
margin-bottom: 0.534vh;
.tab {
background-color: rgba(58, 78, 115, 0.6);
padding: 1.5vh 60px;
border-radius: 3px;
margin-right: 0.534vh;
cursor: pointer;
&.active, &:hover {
background-color: rgba(45, 143, 173, 0.6);
}
}
}
@include table();
}
}
</style>