终端监测页面调试

This commit is contained in:
zhujiyan
2024-05-16 18:08:48 +08:00
parent eb3713f8cf
commit cf621bafdf
4 changed files with 289 additions and 2206 deletions

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog
v-model="dialogFormVisible"
title="台账模型"
title="终端信息"
width="60%"
:append-to-body="true"
:before-close="close"
@@ -10,11 +10,6 @@
draggable
>
<!--终端信息录入 基础信息+终端信息+附件材料 -->
<!--监测点信息录入 基础信息+监测点信息 监测点信息要有工程名称用户状态 -->
<el-tabs class="demo-tabs" v-model="selectFormType" @tab-click="handleClick">
<el-tab-pane label="终端信息" name="0"></el-tab-pane>
<el-tab-pane label="监测点信息" name="1"></el-tab-pane>
</el-tabs>
<el-form
:model="form"
:validate-on-rule-change="false"
@@ -25,7 +20,7 @@
label-position="right"
>
<el-tabs tab-position="left" class="tabs_form" v-model="activeName">
<el-tab-pane name="0" label="基础信息" v-if="selectFormType == '0'">
<el-tab-pane name="0" label="基础信息">
<div class="form_tab_item">
<el-row>
<el-col :span="12">
@@ -130,7 +125,7 @@
</el-row> -->
</div>
</el-tab-pane>
<el-tab-pane name="1" label="终端信息" v-if="selectFormType == '0'">
<el-tab-pane name="1" label="终端信息">
<div class="form_tab_item">
<el-row>
<el-col :span="12"></el-col>
@@ -634,407 +629,7 @@
</el-row>
</div>
</el-tab-pane>
<el-tab-pane name="2" label="监测点信息" v-if="selectFormType == '1'">
<div class="form_tab_item">
<!-- 基础信息 -->
<el-row>
<el-col :span="12">
<el-form-item label="填报人:" prop="reporter">
<el-input
v-model="form.reporter"
autocomplete="off"
place-holder="请输入填报人"
:disabled="true"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="填报日期:" prop="reportDate">
<el-date-picker
:disabled="true"
style="width: 100%"
v-model="form.reportDate"
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
placeholder="请选择填报日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="填报部门:" prop="orgId">
<el-input v-model="form.orgId" :disabled="true" autocomplete="off" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工程投产日期:" prop="expectedProductionDate">
<el-date-picker
style="width: 100%"
v-model="form.expectedProductionDate"
type="date"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
:disabled-date="disabledDate"
placeholder="请选择工程投产日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="所属地市:" prop="city">
<el-select
v-model="form.city"
clearable
style="width: 100%"
placeholder="请选择所属地市"
>
<el-option
v-for="item in areaOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-if="selectFormType == '1'" :span="12">
<el-form-item label="用户状态:" prop="userStatus">
<el-select
v-model="form.userStatus"
placeholder="请选择用户状态"
style="width: 100%"
>
<el-option
v-for="(item, index) in userStateList"
:label="item.name"
:value="item.id"
:disabled="item.name != '建设'"
:key="index"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="selectFormType == '1'">
<el-col :span="12">
<el-form-item label="工程名称:" prop="userName">
<el-select
v-model="form.userName"
clearable
style="width: 100%"
placeholder="请选择工程名称"
>
<el-option
v-for="item in areaOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 监测点信息 -->
<el-row>
<el-col :span="12"></el-col>
<el-col :span="12" class="required_position">
<span class="required_icon" style="color:#fff">*</span>
<el-form-item label="监测点台账信息:" prop="lineFilePath">
<el-upload
v-model:file-list="form.lineFilePath"
ref="uploadRef"
action=""
accept=".xls,.xlsx"
:limit="1"
:on-exceed="handleExceed"
:on-change="choose"
:auto-upload="false"
:on-progress="uploadFileName('lineFilePath')"
>
<template #trigger>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监测点名称:" prop="lineName">
<el-input
v-model="form.lineName"
autocomplete="off"
place-holder="请输入监测点名称"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监测点电压等级:" prop="voltageLevel">
<el-select
v-model="form.voltageLevel"
clearable
style="width: 100%"
placeholder="请选择监测点电压等级"
>
<el-option
v-for="item in voltageLevelList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="接入母线:" prop="connectedBus">
<el-select
v-model="form.connectedBus"
clearable
style="width: 100%"
placeholder="请选择接入母线"
>
<el-option
v-for="item in areaOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="短路容量:" prop="shortCapacity">
<el-input
v-model="form.shortCapacity"
autocomplete="off"
placeholder="请输入短路容量"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="协议容量:" prop="dealCapacity">
<el-input
v-model="form.dealCapacity"
autocomplete="off"
placeholder="请输入协议容量"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备容量:" prop="devCapacity">
<el-input
v-model="form.devCapacity"
autocomplete="off"
placeholder="请输入设备容量"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="基准容量:" prop="standardCapacity">
<el-input
v-model="form.standardCapacity"
autocomplete="off"
placeholder="请输入基准容量"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="CT变比" prop="ctRatio">
<el-input v-model="form.ctRatio" autocomplete="off" placeholder="请输入CT变比" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="PT变比" prop="ptRatio">
<el-input v-model="form.ptRatio" autocomplete="off" placeholder="请输入PT变比" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监测点编码:" prop="lineId">
<el-input v-model="form.lineId" autocomplete="off" placeholder="请输入监测点编码" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="测量间隔:" prop="timeInterval">
<el-input
v-model="form.timeInterval"
autocomplete="off"
placeholder="请输入测量间隔"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="干扰源类型:" prop="loadType">
<el-select
v-model="form.loadType"
clearable
style="width: 100%"
placeholder="请选择干扰源类型"
>
<el-option
v-for="item in areaOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="干扰源类别:" prop="businessType">
<el-select
v-model="form.businessType"
clearable
style="width: 100%"
placeholder="请选择干扰源类别"
>
<el-option
v-for="item in areaOptionList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="监测点性质:" prop="pointNature">
<el-select v-model="form.pointNature" placeholder="请选择监测点性质">
<el-option
v-for="(item, index) in pointNatureList"
:label="item.name"
:value="item.id"
:key="index"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否参与统计:" prop="isStatistical">
<el-radio-group v-model="form.isStatistical">
<el-radio value="1"></el-radio>
<el-radio value="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="对象名称(对端)" prop="objName">
<el-input
v-model="form.objName"
autocomplete="off"
placeholder="请输入监测点对象名称"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="电网侧变电站:" prop="powerSubstationName">
<el-input
v-model="form.powerSubstationName"
autocomplete="off"
placeholder="请输入电网侧变电站"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否并网点:" prop="isGridConnectionPoint">
<el-radio-group v-model="form.isGridConnectionPoint">
<el-radio value="1"></el-radio>
<el-radio value="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="电压偏差上限:" prop="voltageDeviationUpperLimit">
<el-input
v-model="form.voltageDeviationUpperLimit"
autocomplete="off"
placeholder="请输入电压偏差上限"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电压偏差下限:" prop="voltageDeviationLowerLimit">
<el-input
v-model="form.voltageDeviationLowerLimit"
autocomplete="off"
placeholder="请输入电压偏差下限"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="监测点运行状态:" prop="operationStatus">
<el-select v-model="form.operationStatus" placeholder="请选择运行状态">
<el-option
v-for="(item, index) in operationStatusList"
:label="item.name"
:value="item.id"
:key="index"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="required_position">
<span class="required_icon">*</span>
<el-form-item label="主接线图:" prop="mainWiringDiagram">
<el-upload
v-model:file-list="form.mainWiringDiagram"
ref="uploadRef"
action=""
accept=".doc,.docx,.xlsx,.xls,.pdf"
:limit="1"
:on-exceed="handleExceed"
:on-change="choose"
:auto-upload="false"
:on-progress="uploadFileName('mainWiringDiagram')"
>
<template #trigger>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</div>
</el-tab-pane>
<el-tab-pane name="3" label="附件材料" v-if="selectFormType == '0'">
<el-tab-pane name="3" label="附件材料">
<div class="form_tab_item">
<el-row>
<el-col :span="12" class="required_position">
@@ -1211,7 +806,6 @@ import type { ComponentSize, FormInstance, FormRules } from 'element-plus'
import { queryByAllCode } from '@/api/system-boot/dictTree'
import { useAdminInfo } from '@/stores/adminInfo'
import { uploadFile } from '@/api/system-boot/file'
import { submitFormData } from '@/api/supervision-boot/interfere/index'
import { addTerminalFormData } from '@/api/supervision-boot/terminal/index.ts'
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
@@ -1303,40 +897,6 @@ const summonFlagList = [
name: '变为触发'
}
]
//定义监测点性质下拉框数据
const pointNatureList = [
{
id: '0',
name: '电网侧'
},
{
id: '1',
name: '非电网侧'
}
]
//定义监测点运行状态下拉框数据
const operationStatusList = [
{
id: '0',
name: '运行'
},
{
id: '1',
name: '检修'
},
{
id: '2',
name: '停运'
},
{
id: '3',
name: '调试'
},
{
id: '4',
name: '退运'
}
]
//定义电镀功能下拉框数据
const electroplatingFunctionList = [
{
@@ -1374,10 +934,6 @@ const resetForm = () => {
otherAttachments: [], //其他附件
performanceTestReport: [], //性能检测报告
typeExperimentReport: [], //型式实验报告
// processInstanceId: '', //流程实例的编号
// startUserSelectAssignees: {}, //发起人自选审批人 Map
//终端信息实体
// supervisionTempDeviceReportParam: {
alarmFunction: '0', //告警功能
commissioningTime: '', //投运时间
communicationStatus: communicationStatusList[0].id, // 通讯状态
@@ -1410,32 +966,6 @@ const resetForm = () => {
terminalWiringMethodType: terminalWiringMethodTypeList[0].id, // 终端接线方式类型
timeSyncFunction: '0', // 对时功能
voltageTransformerType: voltageTransformerTypeList[0].id, //电压互感器类型
// },
//监测点信息实体
// supervisionTempLineReportParam: {
businessType: '', // 干扰源类别
connectedBus: '', // 接入母线
ctRatio: '0', //CT变比
dealCapacity: '0', //协议容量
devCapacity: '0', //设备容量
isGridConnectionPoint: '0', //是否并网点
isStatistical: '0', // 是否参与统计
lineId: '', // 监测点编码
lineName: '', // 监测点名称
loadType: '', //干扰源类型
mainWiringDiagram: [], // 主接线图
objName: '', //监测点对象名称
operationStatus: operationStatusList[0].id, //监测点运行状态
pointNature: pointNatureList[0].id, //监测点性质
powerSubstationName: '', //电网侧变电站
ptRatio: '0', // PT变比
shortCapacity: '0', // 短路容量
standardCapacity: '0', //基准容量
timeInterval: '0', //测量间隔
voltageDeviationLowerLimit: '0', //电压偏差下限
voltageDeviationUpperLimit: '0', // 电压偏差上限
voltageLevel: voltageLevelList[0].id //监测点电压等级
// },
}
form.value.reporter = adminInfo.$state.name
@@ -1501,88 +1031,6 @@ const devReportForm = ref({
voltageTransformerType: '' // 电压互感器类型
}
})
//监测点信息表单格式
const monitorPointForm = ref({
reporter: '', //填报人
reportDate: new Date(), //填报日期
orgId: '', //填报部门
expectedProductionDate: '', //工程投产日期
city: areaOptionList[0].name, //所属地市
userStatus: userStateList[1].id, //用户状态
userName: '', //工程名称
userId: '',
acceptanceInspectionReport: [], //验收检验报告
acceptanceInspectionReportSingle: [], //验收检验报告单
deviceFilePath: [], //终端台账信息
factoryInspectionReport: [], //出厂检验报告
informationSecurityTestReport: [], //信息安全检测报告
lineFilePath: [], //监测点台账信息
otherAttachments: [], //其他附件
performanceTestReport: [], //性能检测报告
typeExperimentReport: [], //型式实验报告
// processInstanceId: '', //流程实例的编号
// startUserSelectAssignees: {}, //发起人自选审批人 Map
//终端信息实体
supervisionTempDeviceReportParam: {
alarmFunction: '0', //告警功能
commissioningTime: '', //投运时间
communicationStatus: '', // 通讯状态
contractNumber: '', //合同号
currentTerminalDetectionTime: '', //本次终端检测时间
dataType: '', //数据类型
dataUpdateTime: '', // 数据更新时间
electroplatingFunction: '', //电镀功能
frontEndMachine: '', //所属前置机
identificationCode: '', // 识别码
latitude: '0', //纬度
longitude: '0', //经度
manufacturer: '', //厂家
manufacturerDeviceNumber: '', // 厂家设备编号
monitoringDeviceInstallationPosition: monitoringDeviceInstallationPositionList[0].id, //监测装置安装位置
monitoringTerminalCode: '', //监测终端编码
monitoringTerminalName: '', //监测终端名称
neutralPointWiringMethod: '', // 中性点接线方式
nextTerminalInspectionTime: '', // 下次终端定检时间
powerCompany: '', //所属供电公司
simCardNumber: '', //SIM卡号
substation: '', // 所属变电站
substationVoltageLevel: '', // 变电站电压等级
// summonFlag: '', // 召唤标志
terminalIp: '', //终端IP
terminalModel: terminalModelList[0].id, //终端模型
terminalPort: '', //端口
terminalSecretKey: '', //终端秘钥
terminalType: '', // 终端型号
terminalWiringMethodType: '', // 终端接线方式类型
timeSyncFunction: '0', // 对时功能
voltageTransformerType: '' // 电压互感器类型
},
supervisionTempLineReportParam: {
businessType: '', // 干扰源类别
connectedBus: '', // 接入母线
ctRatio: '0', //CT变比
dealCapacity: '0', //协议容量
devCapacity: '0', //设备容量
isGridConnectionPoint: '0', //是否并网点
isStatistical: '0', // 是否参与统计
lineId: '', // 监测点编码
lineName: '', // 监测点名称
loadType: '', //干扰源类型
mainWiringDiagram: '', // 主接线图
objName: '', //监测点对象名称
operationStatus: '', //监测点运行状态
pointNature: '', //监测点性质
powerSubstationName: '', //电网侧变电站
ptRatio: '0', // PT变比
shortCapacity: '0', // 短路容量
standardCapacity: '0', //基准容量
timeInterval: '0', //测量间隔
voltageDeviationLowerLimit: '0', //电压偏差下限
voltageDeviationUpperLimit: '0', // 电压偏差上限
voltageLevel: '' //监测点电压等级
}
})
//定义校验规则
const rules = ref({
@@ -1855,162 +1303,6 @@ const rules = ref({
trigger: 'blur'
}
],
//监测点信息
lineName: [
{
required: true,
message: '请输入监测点名称',
trigger: 'blur'
}
],
voltageLevel: [
{
required: true,
message: '请选择监测点电压等级',
trigger: 'change'
}
],
connectedBus: [
{
required: true,
message: '请选择接入母线',
trigger: 'blur'
}
],
shortCapacity: [
{
required: true,
message: '请输入短路容量',
trigger: 'blur'
}
],
dealCapacity: [
{
required: true,
message: '请输入协议容量',
trigger: 'blur'
}
],
devCapacity: [
{
required: true,
message: '请输入设备容量',
trigger: 'blur'
}
],
standardCapacity: [
{
required: true,
message: '请输入基准容量',
trigger: 'blur'
}
],
ctRatio: [
{
required: true,
message: '请输入CT变化',
trigger: 'blur'
}
],
ptRatio: [
{
required: true,
message: '请输入PT变化',
trigger: 'blur'
}
],
lineId: [
{
required: true,
message: '请输入监测点编码',
trigger: 'blur'
}
],
timeInterval: [
{
required: true,
message: '请输入测量间隔',
trigger: 'blur'
}
],
loadType: [
{
required: true,
message: '请选择干扰源类型',
trigger: 'change'
}
],
businessType: [
{
required: true,
message: '请选择干扰源类别',
trigger: 'change'
}
],
pointNature: [
{
required: true,
message: '请选择监测点性质',
trigger: 'change'
}
],
isStatistical: [
{
required: true,
message: '请选择是否参与统计',
trigger: 'change'
}
],
objName: [
{
required: true,
message: '请输入监测点对象名称',
trigger: 'blur'
}
],
powerSubstationName: [
{
required: false,
message: '请选择电网侧变电站',
trigger: 'change'
}
],
isGridConnectionPoint: [
{
required: true,
message: '请选择是否并网点',
trigger: 'change'
}
],
operationStatus: [
{
required: true,
message: '请选择监测点运行状态',
trigger: 'change'
}
],
mainWiringDiagram: [
{
required: false,
message: '请上传主接线图',
trigger: 'change'
}
],
voltageDeviationUpperLimit: [
{
required: false,
message: '请输入电压偏差上限',
trigger: 'blur'
}
],
voltageDeviationLowerLimit: [
{
required: false,
message: '请输入电压偏差下限',
trigger: 'blur'
}
]
})
watch(
() => form.value,
@@ -2050,17 +1342,6 @@ const close = () => {
emits('onSubmit')
resetForm()
}
// 切换终端信息/监测点信息
const handleClick = (tab: any, event: any) => {
//终端信息
if (tab.index == '0') {
activeName.value = '0'
}
//监测点信息
else {
activeName.value = '2'
}
}
onMounted(() => {
console.log()
})