测试用例修改
This commit is contained in:
@@ -234,6 +234,7 @@ const setTheDate = (val: any) => {
|
|||||||
}
|
}
|
||||||
// 导出
|
// 导出
|
||||||
const onExport = () => {
|
const onExport = () => {
|
||||||
|
console.log('导出')
|
||||||
tableStore.onTableAction('export', { showAllFlag: true })
|
tableStore.onTableAction('export', { showAllFlag: true })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ const loadData = () => {
|
|||||||
form.statisticalType = classificationData.find((item: any) => item.id == form.statisticalType)
|
form.statisticalType = classificationData.find((item: any) => item.id == form.statisticalType)
|
||||||
let nodeKey = ''
|
let nodeKey = ''
|
||||||
getTerminalTreeForFive(form).then(res => {
|
getTerminalTreeForFive(form).then(res => {
|
||||||
console.log(res)
|
console.log('---',res)
|
||||||
if (obj.code == 'Power_Network') {
|
if (obj.code == 'Power_Network') {
|
||||||
res.data = [
|
res.data = [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
投运
|
投运
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag v-if="row.runFlag === 1" style="color: #fff; background: #996600" size="small">
|
<el-tag v-if="row.runFlag === 1" style="color: #fff; background: #996600" size="small">
|
||||||
热备用
|
检修
|
||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag v-if="row.runFlag === 2" style="color: #fff; background: #A52a2a" size="small">
|
<el-tag v-if="row.runFlag === 2" style="color: #fff; background: #A52a2a" size="small">
|
||||||
停运
|
停运
|
||||||
@@ -198,7 +198,7 @@ const teriminaloption: any = ref([])
|
|||||||
const teriminalstatusoption = ref([
|
const teriminalstatusoption = ref([
|
||||||
{ name: '全部', id: '' },
|
{ name: '全部', id: '' },
|
||||||
{ name: '投运', id: 0 },
|
{ name: '投运', id: 0 },
|
||||||
{ name: '热备用', id: 1 },
|
{ name: '检修', id: 1 },
|
||||||
{ name: '停运', id: 2 }
|
{ name: '停运', id: 2 }
|
||||||
])
|
])
|
||||||
const stateoption = ref([
|
const stateoption = ref([
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<vxe-column field="runFlag" title="终端状态" v-if="key == 0">
|
<vxe-column field="runFlag" title="终端状态" v-if="key == 0">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>
|
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>
|
||||||
<el-tag v-if="row.runFlag === 1" type="warning" size="small">热备用</el-tag>
|
<el-tag v-if="row.runFlag === 1" type="warning" size="small">检修</el-tag>
|
||||||
<el-tag v-if="row.runFlag === 2" type="danger" size="small">停运</el-tag>
|
<el-tag v-if="row.runFlag === 2" type="danger" size="small">停运</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
@@ -69,7 +69,7 @@ const formInline = reactive({
|
|||||||
const ids = ref([])
|
const ids = ref([])
|
||||||
const options = [
|
const options = [
|
||||||
{ value: '0', label: '投运' },
|
{ value: '0', label: '投运' },
|
||||||
{ value: '1', label: '热备用' },
|
{ value: '1', label: '检修' },
|
||||||
{ value: '2', label: '停运' }
|
{ value: '2', label: '停运' }
|
||||||
]
|
]
|
||||||
const open = (e: any) => {
|
const open = (e: any) => {
|
||||||
|
|||||||
@@ -114,7 +114,7 @@
|
|||||||
<vxe-column field="runFlag" title="终端状态">
|
<vxe-column field="runFlag" title="终端状态">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>
|
<el-tag v-if="row.runFlag === 0" type="success" size="small">投运</el-tag>
|
||||||
<el-tag v-if="row.runFlag === 1" type="warning" size="small">热备用</el-tag>
|
<el-tag v-if="row.runFlag === 1" type="warning" size="small">检修</el-tag>
|
||||||
<el-tag v-if="row.runFlag === 2" type="danger" size="small">停运</el-tag>
|
<el-tag v-if="row.runFlag === 2" type="danger" size="small">停运</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
@@ -172,7 +172,7 @@ const teriminaloption: any = ref([])
|
|||||||
const teriminalstatusoption = ref([
|
const teriminalstatusoption = ref([
|
||||||
{ name: '全部', id: '' },
|
{ name: '全部', id: '' },
|
||||||
{ name: '投运', id: 0 },
|
{ name: '投运', id: 0 },
|
||||||
{ name: '热备用', id: 1 },
|
{ name: '检修', id: 1 },
|
||||||
{ name: '停运', id: 2 }
|
{ name: '停运', id: 2 }
|
||||||
])
|
])
|
||||||
const stateoption = ref([
|
const stateoption = ref([
|
||||||
|
|||||||
@@ -8,11 +8,11 @@
|
|||||||
@clear="TreeList = {}" />
|
@clear="TreeList = {}" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="名称" prop="name" v-if="title == '修改算法' ? TreeList.level != 4 : TreeList.level != 3">
|
<el-form-item label="名称" prop="name" v-if="title == '修改算法' ? TreeList.level != 4 : TreeList.level != 3">
|
||||||
<el-input v-model="form.name" placeholder="名称" clearable />
|
<el-input v-model="form.name" placeholder="名称" clearable maxlength="32" show-word-limit @input="handleInput('name', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <div v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3"> -->
|
<!-- <div v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3"> -->
|
||||||
<el-form-item label="算法名称" prop="name" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
<el-form-item label="算法名称" prop="name" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
||||||
<el-input v-model="form.name" placeholder="请输入算法名称" clearable />
|
<el-input v-model="form.name" placeholder="请输入算法名称" clearable maxlength="32" show-word-limit @input="handleInput('name', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计算周期" prop="period" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
<el-form-item label="计算周期" prop="period" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
||||||
<el-select v-model="form.period" placeholder="请选择计算周期" clearable>
|
<el-select v-model="form.period" placeholder="请选择计算周期" clearable>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数据来源" prop="source" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
<el-form-item label="数据来源" prop="source" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
||||||
<el-input v-model="form.source" placeholder="请输入数据来源" clearable />
|
<el-input v-model="form.source" placeholder="请输入数据来源" clearable maxlength="32" show-word-limit @input="handleInput('source', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="定义" prop="definition" style="width: 100%;" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
<!-- <el-form-item label="定义" prop="definition" style="width: 100%;" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="display: flex" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
<div style="display: flex" v-if="title == '修改算法' ? TreeList.level == 4 : TreeList.level == 3">
|
||||||
<div style="width: 120px;margin-right: 12px;text-align: end;">定义</div>
|
<div style="width: 140px;margin-right: -20px;text-align: center;flex-shrink: 0;">定义</div>
|
||||||
<editor v-model="form.definition" />
|
<editor v-model="form.definition" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -177,5 +177,14 @@ const getTheTree = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const handleInput = (field: string, value: string) => {
|
||||||
|
// 过滤空格
|
||||||
|
const filteredValue = value.replace(/\s/g, '')
|
||||||
|
if (filteredValue !== value) {
|
||||||
|
form[field] = filteredValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -64,9 +64,11 @@ const open = (row: any) => {
|
|||||||
}
|
}
|
||||||
// 上传
|
// 上传
|
||||||
const choose = (e: any) => {
|
const choose = (e: any) => {
|
||||||
ElMessage.info('上传中,请稍等...')
|
const loadingMessage = ElMessage.info({ message: '上传中,请稍等...', duration: 0 }); // duration: 0 表示不自动关闭
|
||||||
|
|
||||||
uploadFile(e.raw, '/supervision/').then((row: any) => {
|
uploadFile(e.raw, '/supervision/').then((row: any) => {
|
||||||
addStandardCase({ caseUrl: row.data.name }).then(res => {
|
addStandardCase({ caseUrl: row.data.name }).then(res => {
|
||||||
|
loadingMessage.close(); // 关闭 "上传中" 提示
|
||||||
ElMessage.success('上传成功!')
|
ElMessage.success('上传成功!')
|
||||||
queryStandardCase().then(res => {
|
queryStandardCase().then(res => {
|
||||||
open(res.data)
|
open(res.data)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline="false" :model="form" class="form-two" label-width="auto" :rules="rules" ref="formRef">
|
<el-form :inline="false" :model="form" class="form-two" label-width="auto" :rules="rules" ref="formRef">
|
||||||
<el-form-item label="事件名称" prop="name">
|
<el-form-item label="事件名称" prop="name">
|
||||||
<el-input v-model="form.name" placeholder="请输入事件名称" maxlength="32" type="textarea" show-word-limit :autosize="{ minRows: 2, maxRows: 4 }"/>
|
<el-input v-model="form.name" placeholder="请输入事件名称" maxlength="32" type="textarea" show-word-limit :autosize="{ minRows: 2, maxRows: 4 }" @input="handleInput('name', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="发生事件" prop="type">
|
<!-- <el-form-item label="发生事件" prop="type">
|
||||||
<el-input
|
<el-input
|
||||||
@@ -16,20 +16,20 @@
|
|||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="发生地点" prop="location">
|
<el-form-item label="发生地点" prop="location">
|
||||||
<el-input v-model="form.location" placeholder="请输入发生地点" :autosize="{ minRows: 2, maxRows: 4 }"
|
<el-input v-model="form.location" placeholder="请输入发生地点" :autosize="{ minRows: 2, maxRows: 4 }"
|
||||||
type="textarea" maxlength="32" show-word-limit/>
|
type="textarea" maxlength="32" show-word-limit @input="handleInput('location', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="事件经过" prop="process">
|
<el-form-item label="事件经过" prop="process">
|
||||||
<el-input v-model="form.process" placeholder="请输入事件经过" :autosize="{ minRows: 2, maxRows: 4 }"
|
<el-input v-model="form.process" placeholder="请输入事件经过" :autosize="{ minRows: 2, maxRows: 4 }"
|
||||||
type="textarea" maxlength="32" show-word-limit/>
|
type="textarea" maxlength="32" show-word-limit @input="handleInput('process', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="处理措施" prop="measures">
|
<el-form-item label="处理措施" prop="measures">
|
||||||
<el-input v-model="form.measures" placeholder="请输入处理措施" :autosize="{ minRows: 2, maxRows: 4 }"
|
<el-input v-model="form.measures" placeholder="请输入处理措施" :autosize="{ minRows: 2, maxRows: 4 }"
|
||||||
type="textarea" maxlength="32" show-word-limit/>
|
type="textarea" maxlength="32" show-word-limit @input="handleInput('measures', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="治理效果" prop="effect">
|
<el-form-item label="治理效果" prop="effect">
|
||||||
<el-input v-model="form.effect" placeholder="请输入治理效果" :autosize="{ minRows: 2, maxRows: 4 }"
|
<el-input v-model="form.effect" placeholder="请输入治理效果" :autosize="{ minRows: 2, maxRows: 4 }"
|
||||||
type="textarea" maxlength="32" show-word-limit/>
|
type="textarea" maxlength="32" show-word-limit @input="handleInput('effect', $event)"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="附件">
|
<el-form-item label="附件">
|
||||||
<el-upload v-model:file-list="fileList" action="" :auto-upload="false" multiple>
|
<el-upload v-model:file-list="fileList" action="" :auto-upload="false" multiple>
|
||||||
@@ -38,9 +38,13 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<div style="display: flex">
|
<!-- <div style="display: flex">
|
||||||
<div style="width: 80px">事件简介</div>
|
<div style="width: 80px">事件简介</div>
|
||||||
<editor v-model="form.summary" />
|
<editor v-model="form.summary" />
|
||||||
|
</div> -->
|
||||||
|
<div style="display: flex; align-items: start;">
|
||||||
|
<div style="width: 80px; flex-shrink: 0;">事件简介</div>
|
||||||
|
<editor v-model="form.summary" />
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@@ -171,6 +175,15 @@ const handleClose = () => {
|
|||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const handleInput = (field: string, value: string) => {
|
||||||
|
// 过滤空格
|
||||||
|
const filteredValue = value.replace(/\s/g, '')
|
||||||
|
if (filteredValue !== value) {
|
||||||
|
form[field] = filteredValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
checkStrictly :props="cascaderProps" @change="change" />
|
checkStrictly :props="cascaderProps" @change="change" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input v-model="form.name" placeholder="名称" maxlength="32" show-word-limit/>
|
<el-input v-model="form.name" placeholder="名称" maxlength="32" show-word-limit @input="handleInput"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="标准" v-if="title == '新增' && form.pid?.length > 0">
|
<el-form-item label="标准" v-if="title == '新增' && form.pid?.length > 0">
|
||||||
@@ -217,6 +217,14 @@ const handleClose = () => {
|
|||||||
emit('onSubmit')
|
emit('onSubmit')
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleInput = (value: string) => {
|
||||||
|
// 过滤空格
|
||||||
|
const filteredValue = value.replace(/\s/g, '')
|
||||||
|
if (filteredValue !== value) {
|
||||||
|
form.name = filteredValue
|
||||||
|
}
|
||||||
|
}
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<el-form :inline="false" :model="form" label-width="auto" :rules="rules" ref="formRef">
|
<el-form :inline="false" :model="form" label-width="auto" :rules="rules" ref="formRef">
|
||||||
<el-form-item label="模版名称" prop="name">
|
<el-form-item label="模版名称" prop="name">
|
||||||
<el-input v-model="form.name" placeholder="请输入模版名称" maxlength="32" show-word-limit/>
|
<el-input v-model="form.name" placeholder="请输入模版名称" maxlength="32" show-word-limit @input="handleInput"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="模版">
|
<el-form-item label="模版">
|
||||||
@@ -149,6 +149,18 @@ const handleClose = () => {
|
|||||||
emit('onSubmit')
|
emit('onSubmit')
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const handleInput = (value: string) => {
|
||||||
|
// 过滤空格
|
||||||
|
const filteredValue = value.replace(/\s/g, '')
|
||||||
|
if (filteredValue !== value) {
|
||||||
|
form.name = filteredValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ... 其余代码保持不变 ...
|
||||||
|
|
||||||
defineExpose({ open })
|
defineExpose({ open })
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -154,6 +154,7 @@ import TableStore from '@/utils/tableStore'
|
|||||||
import Table from '@/components/table/index.vue'
|
import Table from '@/components/table/index.vue'
|
||||||
import charts from './components/charts.vue'
|
import charts from './components/charts.vue'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
|
import { el, fa, tr } from 'element-plus/es/locale'
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'harmonic-boot/harmonic/getIntegrityData'
|
name: 'harmonic-boot/harmonic/getIntegrityData'
|
||||||
})
|
})
|
||||||
@@ -181,6 +182,7 @@ const getTreeData = async () => {
|
|||||||
idArr.value.push(element.id)
|
idArr.value.push(element.id)
|
||||||
})
|
})
|
||||||
treeData.value = JSON.parse(JSON.stringify(res.data))
|
treeData.value = JSON.parse(JSON.stringify(res.data))
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,7 +226,6 @@ const tableStore = new TableStore({
|
|||||||
treeNode: true,
|
treeNode: true,
|
||||||
width: 350,
|
width: 350,
|
||||||
formatter: function (row) {
|
formatter: function (row) {
|
||||||
console.log('🚀 ~ row:', row)
|
|
||||||
return row.cellValue ? row.cellValue : '/'
|
return row.cellValue ? row.cellValue : '/'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -322,11 +323,12 @@ const tableStore = new TableStore({
|
|||||||
},
|
},
|
||||||
loadCallback: () => {
|
loadCallback: () => {
|
||||||
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
|
tableStore.table.data = tree2List(tableStore.table.data, Math.random() * 1000)
|
||||||
|
|
||||||
tableStore.table.column[0].title = formData.value.statisticalType.name
|
tableStore.table.column[0].title = formData.value.statisticalType.name
|
||||||
|
tableStore.table.column[0].type = "html"
|
||||||
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
|
chartsRef.value && chartsRef.value.getTableStoreParams(tableStore.table.params)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
|
activeName.value == 0 && tableRef.value && tableRef.value.getRef().setAllTreeExpand(true)
|
||||||
|
|
||||||
}, 0)
|
}, 0)
|
||||||
},
|
},
|
||||||
resetCallback:() =>{
|
resetCallback:() =>{
|
||||||
@@ -336,6 +338,7 @@ const tableStore = new TableStore({
|
|||||||
formData.value.scale = voltageleveloption
|
formData.value.scale = voltageleveloption
|
||||||
formData.value.manufacturer = terminaloption
|
formData.value.manufacturer = terminaloption
|
||||||
formData.value.loadType = interfereoption
|
formData.value.loadType = interfereoption
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -415,8 +418,9 @@ const makeUpSubmit = () => {
|
|||||||
reCallEndTime: timeData.value[1],
|
reCallEndTime: timeData.value[1],
|
||||||
reCallStartTime: timeData.value[0]
|
reCallStartTime: timeData.value[0]
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
|
|
||||||
ElMessage({
|
ElMessage({
|
||||||
message: res.message,
|
message: "补招命令下发成功",
|
||||||
type: 'success'
|
type: 'success'
|
||||||
})
|
})
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
@@ -426,7 +430,7 @@ watch(
|
|||||||
() => treeData.value,
|
() => treeData.value,
|
||||||
(val, oldVal) => {
|
(val, oldVal) => {
|
||||||
if (val && val.length != 0) {
|
if (val && val.length != 0) {
|
||||||
formData.value.deptIndex = val[0].id
|
formData.value.deptIndex = val[0].id
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -437,6 +441,7 @@ watch(
|
|||||||
)
|
)
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
// .online {
|
// .online {
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ const tableStore = new TableStore({
|
|||||||
text: title
|
text: title
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
data: ['投运', '热备用', '停运'],
|
data: ['投运', '检修', '停运'],
|
||||||
left: '4%',
|
left: '4%',
|
||||||
textStyle: {
|
textStyle: {
|
||||||
color: '#666666'
|
color: '#666666'
|
||||||
@@ -214,7 +214,7 @@ const tableStore = new TableStore({
|
|||||||
data: chartsData.value.runFlag
|
data: chartsData.value.runFlag
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '热备用',
|
name: '检修',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
// stack: 'false',
|
// stack: 'false',
|
||||||
barMaxWidth: 24,
|
barMaxWidth: 24,
|
||||||
|
|||||||
@@ -21,9 +21,9 @@
|
|||||||
{{ scope.row.overLineCount == 3.14159 ? '暂无数据' : scope.row.overLineCount }}
|
{{ scope.row.overLineCount == 3.14159 ? '暂无数据' : scope.row.overLineCount }}
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="ratio" title="超标测点占比(%)">
|
<vxe-column field="lineRatio" title="超标测点占比(%)">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.ratio == 3.14159 ? '暂无数据' : scope.row.ratio }}
|
{{ scope.row.lineRatio == 3.14159 ? '暂无数据' : scope.row.lineRatio }}
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="averageOverDay" min-width="120" title="平均超标天数(天/点)">
|
<vxe-column field="averageOverDay" min-width="120" title="平均超标天数(天/点)">
|
||||||
|
|||||||
@@ -404,6 +404,7 @@ const histogram = (res: any) => {
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
tableStore.index()
|
tableStore.index()
|
||||||
|
console.log(tableStore.da)
|
||||||
})
|
})
|
||||||
const layout = mainHeight(133) as any
|
const layout = mainHeight(133) as any
|
||||||
const layout1 = mainHeight(93) as any
|
const layout1 = mainHeight(93) as any
|
||||||
|
|||||||
@@ -159,16 +159,21 @@ const init = (row: any) => {
|
|||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
data: xData.map(num => `${num}次`)
|
data: xData.map(num => `${num}次`)
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
name: tabsList.value[activeName.value].unit // 更新Y轴单位
|
||||||
},
|
},
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: tabsList.value[activeName.value].groupName,
|
name: tabsList.value[activeName.value].groupName + '(' + tabsList.value[activeName.value].unit + ')' ,
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
data: xData.map(num => {
|
data: xData.map(num => {
|
||||||
return tabsList.value[activeName.value].data[`h${num}`]
|
return tabsList.value[activeName.value].data[`h${num}`]
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
name: '国标限值(' + tabsList.value[activeName.value].unit + ')', // 更新series名称中的单位
|
||||||
|
type: 'bar',
|
||||||
data: xData.map(num => {
|
data: xData.map(num => {
|
||||||
return (
|
return (
|
||||||
crossTheLine.value[
|
crossTheLine.value[
|
||||||
@@ -192,21 +197,20 @@ const echarts = (num: number) => {
|
|||||||
text: ''
|
text: ''
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
name: tabsList.value[num].unit,
|
name: "次数",
|
||||||
data: []
|
data: []
|
||||||
},
|
},
|
||||||
yAxis: {},
|
yAxis: {name: tabsList.value[num].unit},
|
||||||
color: ['#2E8B57', '#DAA520'],
|
color: ['#2E8B57', '#DAA520'],
|
||||||
options: {
|
options: {
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: tabsList.value[num].groupName,
|
name: tabsList.value[num].groupName,
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
|
|
||||||
data: []
|
data: []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '国标限值(%)',
|
name: '国标限值('+ tabsList.value[num].unit +')',
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
// label: {
|
// label: {
|
||||||
// normal: {
|
// normal: {
|
||||||
@@ -221,8 +225,9 @@ const echarts = (num: number) => {
|
|||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
tabsList.value[0].echartsData = echarts(0)
|
tabsList.value[0].echartsData = echarts(0)
|
||||||
tabsList.value[0].echartsData = echarts(1)
|
tabsList.value[1].echartsData = echarts(1)
|
||||||
tabsList.value[0].echartsData = echarts(2)
|
tabsList.value[2].echartsData = echarts(2)
|
||||||
|
console.log(tabsList.value)
|
||||||
getOverLimitData({ id: monitoringPoint.state.lineId }).then(res => {
|
getOverLimitData({ id: monitoringPoint.state.lineId }).then(res => {
|
||||||
crossTheLine.value = res.data
|
crossTheLine.value = res.data
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ const communicationstatus = [
|
|||||||
]
|
]
|
||||||
const terminalstatus = [
|
const terminalstatus = [
|
||||||
{ value: 0, label: "投运" },
|
{ value: 0, label: "投运" },
|
||||||
{ value: 1, label: "热备用" },
|
{ value: 1, label: "检修" },
|
||||||
{ value: 2, label: "停运" },
|
{ value: 2, label: "停运" },
|
||||||
]
|
]
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ const communicationstatus = [
|
|||||||
]
|
]
|
||||||
const terminalstatus = [
|
const terminalstatus = [
|
||||||
{ value: 0, label: '投运' },
|
{ value: 0, label: '投运' },
|
||||||
{ value: 1, label: '热备用' },
|
{ value: 1, label: '检修' },
|
||||||
{ value: 2, label: '停运' }
|
{ value: 2, label: '停运' }
|
||||||
]
|
]
|
||||||
const tableStore = new TableStore({
|
const tableStore = new TableStore({
|
||||||
@@ -167,7 +167,7 @@ const tableStore = new TableStore({
|
|||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
custom: {
|
custom: {
|
||||||
投运: 'success',
|
投运: 'success',
|
||||||
热备用: 'warning',
|
检修: 'warning',
|
||||||
停运: 'danger'
|
停运: 'danger'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="终端状态">
|
<el-descriptions-item label="终端状态">
|
||||||
{{
|
{{
|
||||||
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '热备用' : '停运'
|
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '检修' : '停运'
|
||||||
}}
|
}}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="通讯状态">
|
<el-descriptions-item label="通讯状态">
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="div">
|
<div class="div">
|
||||||
<img src="@/assets/rby.png" alt="" />
|
<img src="@/assets/rby.png" alt="" />
|
||||||
<span>热备用</span>
|
<span>检修</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="div">
|
<div class="div">
|
||||||
<img src="@/assets/ty.png" alt="" />
|
<img src="@/assets/ty.png" alt="" />
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="终端状态">
|
<el-descriptions-item label="终端状态">
|
||||||
{{
|
{{
|
||||||
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '热备用' : '停运'
|
infoWindowPoint.runFlag == 0 ? '投运' : infoWindowPoint.runFlag == 1 ? '检修' : '停运'
|
||||||
}}
|
}}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="通讯状态">
|
<el-descriptions-item label="通讯状态">
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
>
|
>
|
||||||
<el-option label="投运" value="0" />
|
<el-option label="投运" value="0" />
|
||||||
<el-option label="热备用" value="1" />
|
<el-option label="检修" value="1" />
|
||||||
<el-option label="停运" value="2" />
|
<el-option label="停运" value="2" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<span style="color: #996600">
|
<span style="color: #996600">
|
||||||
<span class="smallBlock" style="background: #996600"></span>
|
<span class="smallBlock" style="background: #996600"></span>
|
||||||
热备用
|
检修
|
||||||
</span>
|
</span>
|
||||||
<span style="color: #A52a2a">
|
<span style="color: #A52a2a">
|
||||||
<span class="smallBlock" style="background: #A52a2a"></span>
|
<span class="smallBlock" style="background: #A52a2a"></span>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<vxe-column field="areaName" title="区域"></vxe-column>
|
<vxe-column field="areaName" title="区域"></vxe-column>
|
||||||
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
|
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
|
||||||
<vxe-column field="normal" title="投运" width="80"></vxe-column>
|
<vxe-column field="normal" title="投运" width="80"></vxe-column>
|
||||||
<vxe-column field="breaks" title="热备用" width="80"></vxe-column>
|
<vxe-column field="breaks" title="检修" width="80"></vxe-column>
|
||||||
<vxe-column field="shutdown" title="停运" width="80"></vxe-column>
|
<vxe-column field="shutdown" title="停运" width="80"></vxe-column>
|
||||||
<vxe-column field="onlineRate" title="在线率(%)">
|
<vxe-column field="onlineRate" title="在线率(%)">
|
||||||
<template v-slot:default="scoped">
|
<template v-slot:default="scoped">
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
<vxe-column field="areaName" title="厂家"></vxe-column>
|
<vxe-column field="areaName" title="厂家"></vxe-column>
|
||||||
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
|
<vxe-column field="numberOfTerminals" title="终端个数" width="80"></vxe-column>
|
||||||
<vxe-column field="normal" title="投运" width="80"></vxe-column>
|
<vxe-column field="normal" title="投运" width="80"></vxe-column>
|
||||||
<vxe-column field="breaks" title="热备用" width="80"></vxe-column>
|
<vxe-column field="breaks" title="检修" width="80"></vxe-column>
|
||||||
<vxe-column field="shutdown" title="停运" width="80"></vxe-column>
|
<vxe-column field="shutdown" title="停运" width="80"></vxe-column>
|
||||||
<vxe-column field="onlineRate" title="在线率(%)">
|
<vxe-column field="onlineRate" title="在线率(%)">
|
||||||
<template v-slot:default="scoped">
|
<template v-slot:default="scoped">
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="div">
|
<div class="div">
|
||||||
<img src="@/assets/rby.png" alt="" />
|
<img src="@/assets/rby.png" alt="" />
|
||||||
<span>热备用</span>
|
<span>检修</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="div">
|
<div class="div">
|
||||||
<img src="@/assets/ty.png" alt="" />
|
<img src="@/assets/ty.png" alt="" />
|
||||||
@@ -44,7 +44,6 @@
|
|||||||
<div class="selectBox">
|
<div class="selectBox">
|
||||||
<el-select
|
<el-select
|
||||||
@change="pointChange"
|
@change="pointChange"
|
||||||
|
|
||||||
filterable
|
filterable
|
||||||
clearable
|
clearable
|
||||||
v-model="lineId"
|
v-model="lineId"
|
||||||
@@ -118,7 +117,7 @@
|
|||||||
infoWindowPoint.runFlag == 0
|
infoWindowPoint.runFlag == 0
|
||||||
? '投运'
|
? '投运'
|
||||||
: infoWindowPoint.runFlag == 1
|
: infoWindowPoint.runFlag == 1
|
||||||
? '热备用'
|
? '检修'
|
||||||
: '停运'
|
: '停运'
|
||||||
}}
|
}}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@@ -162,7 +161,8 @@ import router from '@/router'
|
|||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
// name: 'Descentsystem/overview'
|
// name: 'Descentsystem/overview'
|
||||||
})
|
})// 添加响应式变量
|
||||||
|
|
||||||
const height = mainHeight(20)
|
const height = mainHeight(20)
|
||||||
const adminInfo = useAdminInfo()
|
const adminInfo = useAdminInfo()
|
||||||
const datePickerRef = ref()
|
const datePickerRef = ref()
|
||||||
@@ -337,6 +337,7 @@ onMounted(() => {
|
|||||||
hackReset.value = true
|
hackReset.value = true
|
||||||
}, 1000)
|
}, 1000)
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -191,6 +191,12 @@ getList({
|
|||||||
type: 0
|
type: 0
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
templatePolicy.value = res.data.records
|
templatePolicy.value = res.data.records
|
||||||
|
// 默认选中第一个
|
||||||
|
if (res.data.records && res.data.records.length > 0) {
|
||||||
|
value.value = res.data.records[0].id
|
||||||
|
// 触发 change 事件,加载对应的配置
|
||||||
|
changeFn(res.data.records[0].id)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
const handleNodeClick = (data: any, node: any) => {
|
const handleNodeClick = (data: any, node: any) => {
|
||||||
dotList.value = data
|
dotList.value = data
|
||||||
|
|||||||
@@ -194,6 +194,12 @@ getList({
|
|||||||
type: 1
|
type: 1
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
templatePolicy.value = res.data.records
|
templatePolicy.value = res.data.records
|
||||||
|
// 默认选中第一个
|
||||||
|
if (res.data.records && res.data.records.length > 0) {
|
||||||
|
value.value = res.data.records[0].id
|
||||||
|
// 触发 change 事件,加载对应的配置
|
||||||
|
changeFn(res.data.records[0].id)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
// 模板策略变化
|
// 模板策略变化
|
||||||
const changeFn = (val: any) => {
|
const changeFn = (val: any) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user