Files
admin-sjzx/src/views/pqs/business/terminal/deviceter/index.vue
GGJ 28d9af0cb4 联调算法库
修改冀北台账问题
2024-09-11 20:37:40 +08:00

2865 lines
142 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="default-main device-manage" :style="{ height: pageHeight.height }" v-loading="loading">
<splitpanes style="height: 100%" class="default-theme" id="navigation-splitpanes">
<pane :size="size"><Terminal ref="TerminalRef" @node-click="nodeClick" @init="nodeClick"></Terminal></pane>
<pane style="background: #fff">
<div class="device-manage-right">
<el-form :inline="true" class="demo-form-inline">
<el-form-item style="position: relative; z-index: 2">
<el-button icon="el-icon-Plus" type="primary" @click="add"> </el-button>
<el-button icon="el-icon-Edit" type="primary" @click="update"> </el-button>
<el-button icon="el-icon-Close" type="danger" @click="remove"> </el-button>
<el-button
icon="el-icon-Right"
:disabled="nextfalg"
type="primary"
@click="next"
v-if="nodeLevel <= 700 && pageStatus == 2"
>
下一步
</el-button>
<el-button
type="info"
@click="black"
icon="el-icon-Back"
v-if="nodeLevel <= 700 && (pageStatus == 2 || pageStatus == 3)"
>
</el-button>
<el-button icon="el-icon-Check" type="primary" v-if="pageStatus == 2" @click="onsubmit">
确认提交
</el-button>
<el-button icon="el-icon-Check" type="primary" v-if="pageStatus == 3" @click="onsubmit">
修改提交
</el-button>
</el-form-item>
<el-form-item style="right: 0; position: absolute">
<!-- <i style="font-size: 20px; color: #396" icon="el-icon-LocationInformation"></i> -->
<LocationInformation style="width: 16px; margin-right: 8px; color: #396" />
<span style="font-size: 16px; font-weight: bold; color: #396">当前操作节点</span>
<div style="float: right">
<el-breadcrumb separator-icon="el-icon-ArrowRightBold" style="font-weight: bold">
<!-- <el-breadcrumb-item>台账管理</el-breadcrumb-item> -->
<el-breadcrumb-item v-for="item in titleList" :key="item">
{{ item }}
</el-breadcrumb-item>
</el-breadcrumb>
</div>
</el-form-item>
</el-form>
<div :style="{ height: Height.height }" style="overflow-y: auto">
<el-form
class="main-form overview_scroll"
:label-position="'right'"
:model="AddProjectBO"
label-width="120px"
:inline="true"
ref="mainForm"
>
<el-form-item
id="id100"
class="form-item"
label="项目名称:"
:prop="'projectParam.name'"
v-if="
AddProjectBO.projectParam &&
((pageStatus != 3 && nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
:rules="{ required: true, message: '请输入项目名称', trigger: 'blur' }"
>
<el-select
v-model="AddProjectBO.projectParam.name"
:disabled="
nodeLevel > 100 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请选择项目类型"
>
<el-option
v-for="item in project"
:key="item.name"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
id="id100"
class="form-item"
label="项目排序:"
:prop="'projectParam.sort'"
v-if="
AddProjectBO.projectParam &&
((pageStatus != 3 && nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
:rules="{ required: true, message: '请输入排序', trigger: 'blur' }"
>
<el-input
v-model="AddProjectBO.projectParam.sort"
:disabled="
nodeLevel > 100 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入排序"
></el-input>
</el-form-item>
<el-form-item
id="id200"
class="form-item"
label="行政区域:"
:prop="'provinceParam.name'"
v-if="
AddProjectBO.provinceParam &&
((pageStatus != 3 && nodeLevel > 100 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
:rules="[{ required: true, message: '请选择行政区域', trigger: 'change' }]"
>
<el-select
v-model="AddProjectBO.provinceParam.name"
placeholder="请选择行政区域"
style="width: 100%"
:disabled="
nodeLevel > 200 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="item in treeOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
id="id200"
class="form-item"
label="区域排序:"
:prop="'provinceParam.sort'"
v-if="
AddProjectBO.provinceParam &&
((pageStatus != 3 && nodeLevel > 100 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
:rules="[{ required: true, message: '请输入排序', trigger: 'change' }]"
>
<el-input
v-model="AddProjectBO.provinceParam.sort"
:disabled="
nodeLevel > 200 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入排序"
></el-input>
</el-form-item>
<el-form-item
id="id300"
class="form-item"
label="供电公司:"
:prop="'gdInformationParam.name'"
v-if="
AddProjectBO.gdInformationParam &&
((pageStatus != 3 && nodeLevel > 100 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
:rules="[{ required: true, message: '请输入供电公司', trigger: 'blur' }]"
>
<el-input
v-model="AddProjectBO.gdInformationParam.name"
:disabled="
nodeLevel > 300 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入供电公司"
></el-input>
</el-form-item>
<el-form-item
id="id300"
class="form-item"
label="公司排序:"
:prop="'gdInformationParam.sort'"
v-if="
AddProjectBO.gdInformationParam &&
((pageStatus != 3 && nodeLevel > 200 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
:rules="[{ required: true, message: '请输入排序', trigger: 'blur' }]"
>
<el-input
v-model="AddProjectBO.gdInformationParam.sort"
:disabled="
nodeLevel > 300 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入排序"
></el-input>
</el-form-item>
<!--变电站((pageStatus != 3 &&(nodeLevel > 300 && (nodeLevel &lt; 700 || pageStatus == 2))) || (pageStatus == 3 && nodeLevel == 400))-->
<div
style="width: 100%"
v-if="
AddProjectBO.subStationParam &&
((pageStatus != 3 && nodeLevel > 300 && (nodeLevel <= 700 || pageStatus == 2)) ||
(nodeLevel > 0 && (nodeLevel <= 700 || pageStatus == 3)))
"
>
<el-form-item
class="form-item"
label="变电站:"
:prop="'subStationParam.name'"
:rules="{ required: true, message: '请输入变电站名称', trigger: 'blur' }"
>
<el-input
v-model="AddProjectBO.subStationParam.name"
:disabled="
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入变电站名称"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="经度:"
:prop="'subStationParam.lng'"
:rules="[{ required: true, validator: lngff, trigger: 'blur' }]"
>
<el-input
v-model="AddProjectBO.subStationParam.lng"
:disabled="
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入经度"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="纬度:"
:prop="'subStationParam.lat'"
:rules="[{ required: true, validator: latff, trigger: 'blur' }]"
>
<el-input
v-model="AddProjectBO.subStationParam.lat"
:disabled="
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入纬度"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="电压等级:"
:prop="'subStationParam.scale'"
:rules="[{ required: true, message: '选中电压等级', trigger: 'change' }]"
>
<el-select
v-model="AddProjectBO.subStationParam.scale"
:disabled="
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请选择电压等级"
>
<el-option
v-for="item in voltageLevelArr"
:key="item.name"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="排序:"
:prop="'subStationParam.sort'"
:rules="[{ required: true, message: '输入排序', trigger: 'change' }]"
>
<el-input
v-model="AddProjectBO.subStationParam.sort"
:disabled="
nodeLevel > 400 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入排序"
></el-input>
</el-form-item>
</div>
<!--终端终端-->
<div
id="id500"
class="form-device"
v-if="
(pageStatus != 3 && nodeLevel > 300 && (nodeLevel <= 700 || pageStatus == 2)) ||
(pageStatus == 3 && 400 < nodeLevel && nodeLevel <= 700)
"
>
<el-tabs
v-if="AddProjectBO.deviceParam && AddProjectBO.deviceParam.length"
v-model="deviceIndex"
type="card"
:editable="pageStatus != 1"
@edit="handleDeviceTabsEdit"
@tab-click="tabChange('deviceIndex')"
>
<el-tab-pane
v-for="(item, index) in AddProjectBO.deviceParam"
:key="index"
:label="item.name ? item.name : '新建终端' + index"
:name="index + ''"
>
<div class="flex">
<el-form-item
class="form-item"
label="名称:"
:prop="'deviceParam.' + index + '.name'"
:rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]"
>
<el-input
v-model="item.name"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入名称"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="通讯状态:"
:prop="'deviceParam.' + index + '.comFlag'"
:rules="[
{ required: true, message: '请选择通讯状态', trigger: 'change' }
]"
>
<el-select
v-model="item.comFlag"
placeholder="请选择通讯状态"
:disabled="true"
>
<el-option
v-for="option in comStatusArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="通讯类型:"
:prop="'deviceParam.' + index + '.frontType'"
:rules="[
{ required: true, message: '请选择通讯类型', trigger: 'change' }
]"
>
<el-select
v-model="item.frontType"
placeholder="请选择通讯类型"
:popper-append-to-body="false"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in comTypeStatusArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="终端模型:"
:prop="'deviceParam.' + index + '.devModel'"
:rules="[
{ required: true, message: '请选择终端模型', trigger: 'change' }
]"
>
<el-select
v-model="item.devModel"
placeholder="请选择终端模型"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in terminalModelArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="数据模型:"
:prop="'deviceParam.' + index + '.devDataType'"
:rules="[
{ required: true, message: '请选择数据模型', trigger: 'change' }
]"
>
<el-select
v-model="item.devDataType"
placeholder="请选择数据模型"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in dataModelArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="厂家:"
:prop="'deviceParam.' + index + '.manufacturer'"
:rules="[{ required: true, message: '请选择厂家', trigger: 'change' }]"
>
<el-select
v-model="item.manufacturer"
placeholder="请选择厂家"
:popper-append-to-body="false"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in factoryArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="所属前置机:"
:prop="'deviceParam.' + index + '.nodeId'"
:rules="[
{ required: true, message: '请选择所属前置机', trigger: 'change' }
]"
>
<el-select
v-model="item.nodeId"
placeholder="请选择所属前置机"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in affiliatiedFrontArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="召唤标志:"
:prop="'deviceParam.' + index + '.callFlag'"
:rules="[
{ required: true, message: '请选择召唤标志', trigger: 'change' }
]"
>
<el-select
v-model="item.callFlag"
placeholder="请选择召唤标志"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in summonSignArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="识别码:"
:prop="'deviceParam.' + index + '.series'"
>
<el-input
v-model="item.series"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
show-password
placeholder="请输入识别码"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="密钥:"
:prop="'deviceParam.' + index + '.devKey'"
>
<el-input
v-model="item.devKey"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
show-password
placeholder="请输入密钥"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="电度功能"
:prop="'deviceParam.' + index + '.electroplate'"
:rules="[
{ required: true, message: '请选择电度功能', trigger: 'change' }
]"
>
<el-select
v-model="item.electroplate"
placeholder="请选择电度功能"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in electroplateCanArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item class="form-item" label="投运时间:">
<el-date-picker
:popper-append-to-body="false"
type="date"
placeholder="选择日期"
format="YYYY-MM-DD"
style="width: 100%"
value-format="YYYY-MM-DD"
v-model="item.loginTime"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-date-picker>
</el-form-item>
<el-form-item class="form-item" label="本次定检时间:">
<el-date-picker
:popper-append-to-body="false"
type="date"
placeholder="选择日期"
format="YYYY-MM-DD"
style="width: 100%"
value-format="YYYY-MM-DD"
v-model="item.thisTimeCheck"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-date-picker>
</el-form-item>
<el-form-item class="form-item" label="下次定检时间:">
<el-date-picker
:popper-append-to-body="false"
type="date"
placeholder="选择日期"
format="YYYY-MM-DD"
style="width: 100%"
value-format="YYYY-MM-DD"
v-model="item.nextTimeCheck"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-date-picker>
</el-form-item>
<el-form-item class="form-item" label="数据更新时间:">
<el-date-picker
type="date"
placeholder="选择日期"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
v-model="item.updateTime"
style="width: 100%"
:disabled="true"
></el-date-picker>
</el-form-item>
<el-form-item
class="form-item"
label="终端型号:"
:prop="'deviceParam.' + index + '.devType'"
:rules="[
{ required: true, message: '请选择终端型号', trigger: 'change' }
]"
>
<el-select
v-model="item.devType"
placeholder="请选择终端型号"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in typeArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="IP/MAC地址:"
:prop="'deviceParam.' + index + '.ip'"
:rules="[{ required: true, validator: arrdess, trigger: 'blur' }]"
>
<el-input
v-model="item.ip"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
placeholder="请输入IP/MAC地址"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="端口号:"
:prop="'deviceParam.' + index + '.port'"
:rules="[{ required: true, message: '请输入端口号', trigger: 'blur' }]"
>
<el-input
v-model="item.port"
placeholder="请输入端口号"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="合同号:"
:prop="'deviceParam.' + index + '.contract'"
:rules="[{ required: true, message: '请输入合同号', trigger: 'blur' }]"
>
<el-input
v-model="item.contract"
placeholder="请输入合同号"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="ISM卡号:"
:prop="'deviceParam.' + index + '.sim'"
:rules="[{ required: true, message: '请输入ISM卡号', trigger: 'blur' }]"
>
<el-input
v-model="item.sim"
placeholder="请输入ISM卡号"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="排序:"
:prop="'deviceParam.' + index + '.sort'"
:rules="[{ required: true, message: '请输入排序', trigger: 'blur' }]"
>
<el-input
v-model="item.sort"
placeholder="请输入排序"
:disabled="
nodeLevel > 500 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-input>
</el-form-item>
</div>
</el-tab-pane>
</el-tabs>
</div>
<!--母线-->
<div
style="width: 100%"
v-if="((pageStatus != 3 && (nodeLevel > 400 && (nodeLevel &lt;= 700 || pageStatus == 2))) || (pageStatus == 3 && 400 < nodeLevel && nodeLevel &lt;= 700))"
>
<el-tabs
v-if="
AddProjectBO.deviceParam &&
AddProjectBO.deviceParam.length &&
AddProjectBO.deviceParam[deviceIndex] &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam.length
"
v-model="busBarIndex"
type="card"
:editable="pageStatus != 1"
@edit="handleBusBarTabsEdit"
@tab-click="tabChange('busBarIndex')"
>
<el-tab-pane
v-for="(busItem, bIndex) in AddProjectBO.deviceParam[deviceIndex]
.subVoltageParam"
:key="bIndex"
:label="busItem.name ? busItem.name : '新建母线' + bIndex"
:name="bIndex + ''"
>
<div class="flex">
<el-form-item
class="form-item"
label="母线名称:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
bIndex +
'.name'
"
:rules="{ required: true, message: '请输入母线名称', trigger: 'blur' }"
>
<el-input
v-model="busItem.name"
placeholder="请输入母线名称"
:disabled="
nodeLevel > 600 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="母线编号:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
bIndex +
'.num'
"
:rules="{ required: true, message: '请输入母线编号', trigger: 'blur' }"
>
<el-select
v-model="busItem.num"
placeholder="请选择母线编号"
:disabled="
nodeLevel > 600 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in optionarr"
:key="option.value"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="电压等级:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
bIndex +
'.scale'
"
:rules="{ required: true, message: '请选择电压等级', trigger: 'blur' }"
>
<el-select
v-model="busItem.scale"
value-key="value"
placeholder="请选择电压等级"
:disabled="
nodeLevel > 600 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
@change="selectChanged"
>
<el-option
v-for="option in voltageLevelArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="母线类型:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
bIndex +
'.model'
"
:rules="{ required: true, message: '请选择母线类型', trigger: 'blur' }"
>
<el-select
v-model="busItem.model"
placeholder="请选择母线类型"
:disabled="
nodeLevel > 600 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
>
<el-option
v-for="option in busBarType"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="排序:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
bIndex +
'.sort'
"
:rules="{ required: true, message: '请输入排序', trigger: 'blur' }"
>
<el-input
v-model="busItem.sort"
placeholder="请输入排序"
:disabled="
nodeLevel > 600 && (pageStatus == 3 || pageStatus == 2)
? pageStatus == 3 || pageStatus == 2
: pageStatus == 1
"
></el-input>
</el-form-item>
</div>
</el-tab-pane>
</el-tabs>
</div>
<!--监测点-->
<div
style="width: 100%"
v-if="((pageStatus != 3 && (nodeLevel > 400 && (nodeLevel &lt;= 700 || pageStatus == 2))) || (pageStatus == 3 && 400 < nodeLevel && nodeLevel &lt;= 700))"
>
<el-tabs
type="card"
v-if="
AddProjectBO.deviceParam &&
AddProjectBO.deviceParam.length &&
AddProjectBO.deviceParam[deviceIndex] &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam.length &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam[busBarIndex] &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam[busBarIndex].lineParam &&
AddProjectBO.deviceParam[deviceIndex].subVoltageParam[busBarIndex].lineParam
.length
"
v-model="lineIndex"
:editable="pageStatus != 1"
@edit="handleLineTabsEdit"
@tab-click="tabChange('lineIndex')"
>
<el-tab-pane
v-for="(lineItem, lIndex) in AddProjectBO.deviceParam[deviceIndex]
.subVoltageParam[busBarIndex].lineParam"
:key="lIndex"
:label="lineItem.name ? lineItem.name : '新建监测点' + lIndex"
:name="lIndex + ''"
>
<div class="flex">
<el-form-item
class="form-item"
label="监测点名称:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.name'
"
:rules="{
required: true,
message: '请输入监测点名称',
trigger: 'blur'
}"
>
<el-input
v-model="lineItem.name"
:disabled="pageStatus == 1"
placeholder="请输入监测点名称"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="监测点序号:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.num'
"
:rules="{
required: true,
message: '请选择监测点序号',
trigger: 'blur'
}"
>
<el-select
v-model="lineItem.num"
placeholder="请选择序号"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in pointNumArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item class="form-item" label="新能源场站:">
<el-select
v-model="lineItem.newStationId"
placeholder="请选择新能源场站"
:disabled="pageStatus == 1"
clearable
>
<el-option
v-for="option in newStationIdArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item class="form-item" label="基准容量(MVA):">
<el-input
v-model="lineItem.standardCapacity"
:disabled="pageStatus == 1"
placeholder="请输入基准容量(MVA)"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="短路容量(MVA):"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.shortCapacity'
"
:rules="{ required: false, message: '请输入短路容量', trigger: 'blur' }"
>
<el-input
v-model="lineItem.shortCapacity"
:disabled="pageStatus == 1"
placeholder="请输入短路容量(MVA)"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="终端容量(MVA):"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.devCapacity'
"
:rules="{ required: false, message: '请输入终端容量', trigger: 'blur' }"
>
<el-input
v-model="lineItem.devCapacity"
:disabled="pageStatus == 1"
placeholder="请输入终端容量(MVA)"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="协议容量(MVA):"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.dealCapacity'
"
:rules="{ required: false, message: '请输入协议容量', trigger: 'blur' }"
>
<el-input
v-model="lineItem.dealCapacity"
:disabled="pageStatus == 1"
placeholder="请输入协议容量(MVA)"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="测量点间隔:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.timeInterval'
"
:rules="{ required: true, message: '请选择测点间隔', trigger: 'blur' }"
>
<el-select
v-model="lineItem.timeInterval"
placeholder="请选择测量点间隔"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in lineSpaceArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="PT变比:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.pt1'
"
:rules="{ required: true, message: '请输入pt', trigger: 'blur' }"
>
<div style="width: 100%; display: flex; justify-content: space-between">
<el-input
style="width: 48%"
v-model="lineItem.pt1"
:disabled="pageStatus == 1"
></el-input>
<el-input
style="width: 48%"
v-model="lineItem.pt2"
:disabled="pageStatus == 1"
></el-input>
</div>
</el-form-item>
<el-form-item
class="form-item"
label="CT变比:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.ct1'
"
:rules="{ required: true, message: '请输入ct', trigger: 'blur' }"
>
<div style="width: 100%; display: flex; justify-content: space-between">
<el-input
style="width: 48%"
v-model="lineItem.ct1"
:disabled="pageStatus == 1"
></el-input>
<el-input
style="width: 48%"
v-model="lineItem.ct2"
:disabled="pageStatus == 1"
></el-input>
</div>
</el-form-item>
<el-form-item
class="form-item"
label="接线类型:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.ptType'
"
:rules="{ required: true, message: '请选择接线类型', trigger: 'blur' }"
>
<el-select
v-model="lineItem.ptType"
placeholder="请选择接线类型"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in wiringTypeArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="干扰源类型:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.loadType'
"
:rules="{
required: true,
message: '请选择干扰源类型',
trigger: 'blur'
}"
>
<el-select
v-model="lineItem.loadType"
placeholder="请选择干扰源类型"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in loadTypeArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="行业类型:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.businessType'
"
:rules="{ required: true, message: '请选择行业类型', trigger: 'blur' }"
>
<el-select
v-model="lineItem.businessType"
placeholder="请选择行业类型"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in industryTypeArr"
:key="option.id"
:label="option.name"
:value="option.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="谐波监测号:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.monitorId'
"
>
<el-input
v-model="lineItem.monitorId"
:disabled="pageStatus == 1"
placeholder="请输入国网谐波监测号"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="电压下偏差:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.uvoltageDev'
"
:rules="{
required: true,
message: '请输入电压下偏差',
trigger: 'blur'
}"
>
<el-input
v-model="lineItem.uvoltageDev"
:disabled="pageStatus == 1"
placeholder="请输入电压下偏差"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="对象名称:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.objName'
"
>
<el-input
v-model="lineItem.objName"
:disabled="pageStatus == 1"
placeholder="请输入对象名称"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="测量点性质:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.powerFlag'
"
:rules="{
required: true,
message: '请选择测量点性质',
trigger: 'blur'
}"
>
<el-select
v-model="lineItem.powerFlag"
placeholder="请选择测量点性质"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in lineNatureArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class="form-item"
label="电压上偏差:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.voltageDev'
"
:rules="{
required: true,
message: '请输入电压上偏差',
trigger: 'blur'
}"
>
<el-input
v-model="lineItem.voltageDev"
:disabled="pageStatus == 1"
placeholder="请输入电压上偏差"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="备注:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.remark'
"
>
<el-input
v-model="lineItem.remark"
:disabled="pageStatus == 1"
placeholder="请输入备注"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="分类等级:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.calssificationGrade'
"
:rules="{ required: true, message: '请选择分类等级', trigger: 'blur' }"
>
<el-select
v-model="lineItem.calssificationGrade"
placeholder="请选择分类等级"
:disabled="pageStatus == 1"
>
<el-option
v-for="option in pointTypeArr"
:key="option.name"
:label="option.name"
:value="option.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item class="form-item" label="监测点拥有者:">
<!-- :prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.owner'
"
:rules="{ required: true, message: '请输入监测点拥有者', trigger: 'blur' }" -->
<el-input
v-model="lineItem.owner"
:disabled="pageStatus == 1"
placeholder="请输入监测点拥有者"
></el-input>
</el-form-item>
<el-form-item class="form-item" label="拥有者职务:">
<!-- :prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.ownerDuty'
"
:rules="{ required: true, message: '请输入拥有者职务', trigger: 'blur' }" -->
<el-input
v-model="lineItem.ownerDuty"
:disabled="pageStatus == 1"
placeholder="请输入拥有者职务"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="电网侧变电站:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.powerSubstationName'
"
:rules="{
required: true,
message: '请输入电网侧变电站',
trigger: 'blur'
}"
>
<el-input
v-model="lineItem.powerSubstationName"
:disabled="pageStatus == 1"
placeholder="请输入电网侧变电站"
></el-input>
</el-form-item>
<el-form-item class="form-item" label="上级变电站:">
<!-- :prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.superiorsSubstation'
"
:rules="{ required: true, message: '请输入上级变电站', trigger: 'blur' }" -->
<el-input
v-model="lineItem.superiorsSubstation"
:disabled="pageStatus == 1"
placeholder="请输入上级变电站"
></el-input>
</el-form-item>
<el-form-item
class="form-item"
label="排序:"
:prop="
'deviceParam.' +
[deviceIndex] +
'.subVoltageParam.' +
[busBarIndex] +
'.lineParam.' +
lIndex +
'.sort'
"
:rules="{ required: true, message: '请输入排序', trigger: 'blur' }"
>
<el-input
v-model="lineItem.sort"
:disabled="pageStatus == 1"
placeholder="请输入排序"
></el-input>
</el-form-item>
</div>
</el-tab-pane>
</el-tabs>
</div>
</el-form>
</div>
</div>
</pane>
</splitpanes>
</div>
</template>
<script setup lang="ts">
defineOptions({
name: 'device-boot/deviceter'
})
import 'splitpanes/dist/splitpanes.css'
import { Splitpanes, Pane } from 'splitpanes'
import { LocationInformation } from '@element-plus/icons-vue'
import Terminal from '@/components/tree/pqs/Terminal.vue'
import { mainHeight } from '@/utils/layout'
import { areaTree } from '@/api/system-boot/dicData'
import {
queryTerminal,
nodeAllList,
delTerminal,
updateTerminal,
addTerminal,
selectDown
} from '@/api/device-boot/Business'
import { useDictData } from '@/stores/dictData'
import { ref, reactive, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
const size = ref(0)
const TerminalRef = ref()
const pageHeight = mainHeight(20)
const Height = mainHeight(100)
const mainForm = ref()
const loading = ref(false)
const nextfalg = ref(false)
const dictData = useDictData()
const nodeLevel = ref(0)
const pageStatus = ref(1)
const titleList: any = ref([])
const nodeData: any = ref([])
const treeOptions: any = ref([])
const deviceIndex: any = ref('0')
const busBarIndex: any = ref('0')
const lineIndex: any = ref('0')
const projectId: any = ref('0')
const provinceId: any = ref('0')
const gdId: any = ref('0')
const subId: any = ref('0')
const devId: any = ref('0')
const busBarId: any = ref('0')
const lineId: any = ref('0')
const updateProject: any = ref(null)
const currentGdName: any = ref('')
const affiliatiedFrontArr: any = ref([])
const comTypeStatusArr = dictData.getBasicData('Front_Type')
const factoryArr = dictData.getBasicData('Dev_Manufacturers')
const voltageLevelArr = dictData.getBasicData('Dev_Voltage_Stand')
const typeArr = dictData.getBasicData('Dev_Type')
const industryTypeArr = dictData.getBasicData('Business_Type')
const loadTypeArr = dictData.getBasicData('Interference_Source')
const optionarr = ref([
{ name: '1号母线', value: 1 },
{ name: '2号母线', value: 2 },
{ name: '3号母线', value: 3 },
{ name: '4号母线', value: 4 },
{ name: '5号母线', value: 5 },
{ name: '6号母线', value: 6 }
])
/**母线类型 */
const busBarType = ref([
{ name: '实际母线', value: 0 },
{ name: '虚拟母线', value: 1 }
])
const comStatusArr = ref([
{ name: '中断', value: 0 },
{ name: '正常', value: 1 }
])
/**终端模型选项 */
const terminalModelArr = ref([
{ name: '实际终端', value: 1 },
{ name: '虚拟终端', value: 0 },
{ name: '离线终端', value: 2 }
])
/**电镀功能选项 */
const electroplateCanArr = ref([
{ name: '开启', value: 0 },
{ name: '关闭', value: 1 }
])
/**数据模型选项 */
const dataModelArr = ref([
{ name: '双系统', value: 2 },
{ name: '暂降系统', value: 0 },
{ name: '稳态系统', value: 1 }
])
/**召唤标志选项 */
const summonSignArr = ref([
{ name: '变位触发', value: 0 },
{ name: '周期触发', value: 1 }
])
/**监测点序号 */
const pointNumArr = ref([
{ name: '1', value: 1 },
{ name: '2', value: 2 },
{ name: '3', value: 3 },
{ name: '4', value: 4 },
{ name: '5', value: 5 },
{ name: '6', value: 6 }
])
/**监测点间隔 */
const lineSpaceArr = ref([
{ name: '1分钟', value: 1 },
{ name: '3分钟', value: 3 },
{ name: '5分钟', value: 5 },
{ name: '10分钟', value: 10 }
])
const wiringTypeArr = ref([
{ name: '星型接线', value: 0 },
{ name: '三角型接线', value: 1 },
{ name: '开口三角型接线', value: 2 }
])
const lineNatureArr = ref([
{ name: '电网侧', value: 0 },
{ name: '非电网侧', value: 1 }
])
const pointTypeArr = ref([
{ name: '', value: 1 },
{ name: 'Ⅱ', value: 2 },
{ name: 'Ⅲ', value: 3 },
{ name: 'Ⅳ', value: 4 },
{ name: '', value: 5 }
])
const busBarDetail = ref({
/**母线名称 */
name: '',
/**母线编号 */
num: 1,
/**电压等级 */
scale: '',
/**母线类型 */
model: 0,
/**母线id */
subvIndex: '',
/**监测点 */
lineParam: [],
/**排序 */
sort: 0
})
/**监测点详情 */
const monitorPointDetail: any = ref({
/**行业类型 */
businessType: '',
/**CT变比 */
ct1: '',
/**CT变比 */
ct2: '',
/**所属部门 */
deptIndex: '',
/**终端容量 */
devCapacity: '',
/**短路容量 */
shortCapacity: '',
newStationId: '',
/**基准容量 */
standardCapacity: '',
/**监测点id */
lineIndex: '',
/**监测点序号 */
num: 1,
//分类等级
calssificationGrade: 1,
//电网测变电站
powerSubstationName: '',
//监测点拥有着
owner: '',
//拥有者职位
ownerDuty: '',
//上级变电站
superiorsSubstation: '',
/**负荷类型 */
loadType: '',
/**国网监测号 */
monitorId: '',
/**监测点名称 */
name: '',
/**对象名称 */
objName: '',
/**监测点性质 */
powerFlag: 0,
/**PT比 */
pt1: 0,
/**PT比 */
pt2: 0,
/**接线类型 */
ptType: 0,
/**测点间隔 */
timeInterval: 1,
/**协议容量 */
dealCapacity: '',
/**电压等级 */
scale: '',
/**备注 */
remark: '',
/**电压上偏差 */
voltageDev: 10,
/**电压下偏差 */
uvoltageDev: 10,
/**供电公司 */
gdName: currentGdName.value,
/**排序 */
sort: 0
})
const subStationParam = ref({
/**名称 */
name: '',
/**经度 */
lng: '0',
/**纬度 */
lat: '0',
/**电压等级 */
scale: '',
/**排序 */
sort: 0
})
const AddProjectBO: any = ref({
/**项目Id */
projectIndex: 0,
/**行政区域Id */
provinceIndex: 0,
/**供电公司Id*/
gdIndex: 0,
/**变电站Id*/
subIndex: 0,
/**终端Id */
devIndex: 0,
/**母线ID */
subvIndex: 0,
/**项目名称 */
projectParam: null,
/**行政区域 */
provinceParam: null,
/**供电公司 */
gdInformationParam: null,
/**变电站 */
subStationParam: null,
/**终端终端 母线 母线下面subVoltage是监测点*/
deviceParam: null
})
const deviceBODetail: any = ref({
/**名称 */
name: '',
/**终端id*/
devIndex: '',
/**终端型号 */
devType: '',
/**ip */
ip: '255.255.255.255',
/**通讯状态 */
comFlag: 0,
/**通讯类型 */
frontType: '',
/**投运时间 */
loginTime: '',
/**数据更新时间 */
updateTime: '',
/**所属变电站 */
zhan: '',
/**所属前置机 */
nodeId: '',
/**终端模型 */
devModel: 1,
/**本次定检时间 */
thisTimeCheck: '',
/**下次定检时间 */
nextTimeCheck: '',
/**厂家 */
manufacturer: '',
/**数据模型 */
devDataType: 2,
/**端口号 */
port: 102,
/**排序 */
sort: 0,
//合同号
contract: '',
//ISM卡号
sim: '',
/**电镀功能 */
electroplate: 0,
/**识别码 */
series: '',
/**召唤标志 */
callFlag: 0,
/**密钥 */
devKey: '',
/**母线*/
subVoltageParam: [],
/**供电公司 */
gdName: currentGdName.value
})
const newStationIdArr: any = ref([])
const treeClickCount = ref(0)
const project = ref([
{ name: '在线项目', value: '在线项目' },
{ name: '普测项目', value: '普测项目' }
])
const arrdess: any = ref((rule: any, value: any, callback: any) => {
let reg1 =
/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
let reg2 =
/^[A-Fa-f0-9]{1,2}\-[A-Fa-f0-9]{1,2}\-[A-Fa-f0-9]{1,2}\-[A-Fa-f0-9]{1,2}\-[A-Fa-f0-9]{1,2}\-[A-Fa-f0-9]{1,2}$/
let reg3 =
/^[A-Fa-f0-9]{1,2}\:[A-Fa-f0-9]{1,2}\:[A-Fa-f0-9]{1,2}\:[A-Fa-f0-9]{1,2}\:[A-Fa-f0-9]{1,2}\:[A-Fa-f0-9]{1,2}$/
if (reg1.test(value)) {
return true
} else if (reg2.test(value)) {
return true
} else if (reg3.test(value)) {
return true
} else if (value == '') {
return callback(new Error('请输入IP/MAC地址'))
} else {
callback(new Error('请输入正确IP/MAC地址'))
}
})
selectDown().then(res => {
newStationIdArr.value = res.data
})
/**经度 */
const lngff: any = ref((rule: any, value: any, callback: any) => {
let reg1 = /^(([1-9]\d?)|(1[0-7]\d))(\.\d{1,6})|180|0(\.\d{1,6})?/
if (reg1.test(value)) {
return true
} else if (value == '') {
return callback(new Error('请输入经度'))
} else {
callback(new Error('请输入正确经度'))
}
})
/**纬度 */
const latff: any = ref((rule: any, value: any, callback: any) => {
let reg2 = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/
if (reg2.test(value)) {
return true
} else if (value == '') {
return callback(new Error('请输入纬度'))
} else {
callback(new Error('请输入正确纬度'))
}
})
const nodeClick = (e: anyObj, data: any) => {
treeClickCount.value++
if (treeClickCount.value > 2) return
if (treeClickCount.value > 2) return
if (treeClickCount.value == 1) {
if (pageStatus.value == 2 || pageStatus.value == 3) {
if (pageStatus.value == 3 || pageStatus.value == 2) {
ElMessage({
type: 'warning',
message: '请先提交,再做操作'
})
}
return
}
}
titleList.value = []
getparentsNode(data)
pageStatus.value = 1
nodeLevel.value = data.data.level
nodeData.value = e
AddProjectBO.value.projectParam = null
AddProjectBO.value.provinceParam = null
AddProjectBO.value.gdInformationParam = null
AddProjectBO.value.subStationParam = null
AddProjectBO.value.deviceParam = null
evaluate(data)
if (data.level > 400) {
getNodeIndex()
}
/**不是根节点请求数据 */
if (nodeLevel.value) {
queryNodeContent()
} else {
/**清空数据 */
initAddProjectBo()
initAddProjectBoId()
}
treeClickCount.value = 0
}
const getparentsNode = (node: any) => {
if (!node.parent) {
return
}
titleList.value.unshift(node.label)
getparentsNode(node.parent) //调用递归
}
// 新增
const add = () => {
if (pageStatus.value == 2 || pageStatus.value == 3) {
if (pageStatus.value == 3) {
ElMessage({
type: 'warning',
message: '请先提交修改,再新增'
})
}
return
}
pageStatus.value = 2
/**删除Id属性 */
delete AddProjectBO.value.projectIndex
delete AddProjectBO.value.provinceIndex
delete AddProjectBO.value.gdIndex
delete AddProjectBO.value.subIndex
delete AddProjectBO.value.devIndex
delete AddProjectBO.value.subvIndex
// switch (nodeData.value.level) {
switch (nodeLevel.value) {
case 0:
addProject()
break
case 100:
initAddProjectBo()
AddProjectBO.value.projectIndex = projectId.value
addProvince()
break
case 200:
initAddProjectBo()
AddProjectBO.value.projectIndex = projectId.value
AddProjectBO.value.provinceIndex = provinceId.value
addGdInformation()
break
case 300:
initAddProjectBo()
AddProjectBO.value.projectIndex = projectId.value
AddProjectBO.value.provinceIndex = provinceId.value
AddProjectBO.value.gdIndex = gdId.value
addSubStation()
break
case 400:
initAddProjectBo()
AddProjectBO.value.projectIndex = projectId.value
AddProjectBO.value.provinceIndex = provinceId.value
AddProjectBO.value.gdIndex = gdId.value
AddProjectBO.value.subIndex = subId.value
addDevice()
break
case 500:
AddProjectBO.value.projectIndex = projectId.value
AddProjectBO.value.provinceIndex = provinceId.value
AddProjectBO.value.gdIndex = gdId.value
AddProjectBO.value.subIndex = subId.value
AddProjectBO.value.devIndex = devId.value
addSubVoltage()
break
case 600:
AddProjectBO.value.projectIndex = projectId.value
AddProjectBO.value.provinceIndex = provinceId.value
AddProjectBO.value.gdIndex = gdId.value
AddProjectBO.value.subIndex = subId.value
AddProjectBO.value.devIndex = devId.value
AddProjectBO.value.subvIndex = busBarId.value
addLine()
break
case 700:
AddProjectBO.value.projectIndex = projectId.value
AddProjectBO.value.provinceIndex = provinceId.value
AddProjectBO.value.gdIndex = gdId.value
AddProjectBO.value.subIndex = subId.value
AddProjectBO.value.devIndex = devId.value
AddProjectBO.value.subvIndex = busBarId.value
addLine()
break
}
deviceBODetail.value.manufacturer = factoryArr[0].id
deviceBODetail.value.devType = typeArr[0].value
deviceBODetail.value.frontType = comTypeStatusArr[0].value
deviceBODetail.value.nodeId = affiliatiedFrontArr.value[0].id
busBarDetail.value.scale = voltageLevelArr[0].id
subStationParam.value.scale = voltageLevelArr[0].id
monitorPointDetail.value.businessType = industryTypeArr[0].value
monitorPointDetail.value.loadType = loadTypeArr[0].id
}
/**新增项目 */
const addProject = () => {
nodeLevel.value = 100
AddProjectBO.value.projectParam = { name: '', sort: 0 }
}
// 修改
const update = () => {
if (Object.keys(nodeData.value).length == 0) {
ElMessage({
type: 'warning',
message: '没有选中节点'
})
return
}
if (nodeData.value.level == 0) {
ElMessage({
type: 'warning',
message: '不能修改根节点'
})
return
}
if (pageStatus.value == 2 || pageStatus.value == 3) {
if (pageStatus.value == 2) {
ElMessage({
type: 'warning',
message: '请先新增完成在修改'
})
}
return
}
pageStatus.value = 3
}
// 删除
const remove = () => {
if (Object.keys(nodeData.value).length == 0) {
ElMessage({
type: 'warning',
message: '没有选中节点'
})
return
}
if (nodeData.value.level == 0) {
ElMessage({
type: 'error',
message: '无法删除根节点'
})
return
}
if (nodeData.value.id == null) {
ElMessage.warning('无法删除该节点')
return
}
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
let data = {
id: nodeData.value.id,
level: nodeData.value.level
}
delTerminal(data).then((res: any) => {
ElMessage({
type: 'success',
message: res.message
})
reaseStatus()
initAddProjectBo()
initAddProjectBoId()
treedata()
})
})
.catch(() => {
ElMessage({
type: 'info',
message: '已取消删除'
})
})
}
// 下一步
const next = async () => {
await mainForm.value.validate((valid: any) => {
if (valid) {
console.log("🚀 ~ awaitmainForm.value.validate ~ nodeLevel.value:", nodeLevel.value)
switch (nodeLevel.value) {
case 100:
addProvince()
nextfalg.value = false
break
case 200:
addGdInformation()
nextfalg.value = false
break
case 300:
addSubStation()
nextfalg.value = false
break
case 400:
addDevice()
nextfalg.value = false
break
case 500:
addSubVoltage()
nextfalg.value = false
break
case 600:
addLine()
nextfalg.value = false
break
case 700:
addLine()
nextfalg.value = true
break
}
}
})
}
// 撤销
const black = () => {
pageStatus.value = 1
}
// 确认提交
const onsubmit = () => {
// this.$refs["mainForm"].validate((valid) => {
/**验证通过 */
// if (valid) {
if (pageStatus.value == 2) {
// 新增
submitData()
} else {
// 修改
switch (nodeLevel.value) {
case 100:
updateProjectF()
break
case 200:
updateProvince()
break
case 300:
updateGdInformation()
break
case 400:
updateSubStation()
break
case 500:
case 600:
case 700:
updateDevice()
break
}
updateDate()
}
}
/**
* 提交数据
*/
const submitData = () => {
const project = JSON.parse(JSON.stringify(AddProjectBO.value))
// project: JSON.stringify(project)
addTerminal(project).then((res: any) => {
ElMessage({
type: 'success',
message: res.message
})
reaseStatus()
initAddProjectBo()
initAddProjectBoId()
treedata()
})
}
/**
* 修改数据
*/
const updateDate = () => {
// console.log("updateProject:", this.updateProject);
let data = updateProject.value
updateTerminal(data).then((res: any) => {
ElMessage({
type: 'success',
message: res.message
})
pageStatus.value = 1
treedata()
})
}
const updateProjectF = () => {
updateProject.value = {
projectUpdateParam: {
name: AddProjectBO.value.projectParam.name,
projectIndex: projectId.value,
sort: AddProjectBO.value.projectParam.sort,
updateFlag: 1
}
}
}
/**
* 修改供电公司
*/
const updateGdInformation = () => {
updateProject.value = {
gdInformationUpdateParam: {
name: AddProjectBO.value.gdInformationParam.name,
sort: AddProjectBO.value.gdInformationParam.sort,
gdIndex: gdId.value,
updateFlag: 1
}
}
}
/**
* 修改行政区域
*/
const updateProvince = () => {
updateProject.value = {
provinceUpdateParam: {
name: AddProjectBO.value.provinceParam.name,
provinceIndex: AddProjectBO.value.provinceIndex,
sort: AddProjectBO.value.provinceParam.sort,
updateFlag: 1
}
}
}
/**
* 修改变电站
*/
const updateSubStation = () => {
updateProject.value = {
subStationUpdateParam: {
name: AddProjectBO.value.subStationParam.name,
lat: AddProjectBO.value.subStationParam.lat,
lng: AddProjectBO.value.subStationParam.lng,
scale: AddProjectBO.value.subStationParam.scale,
subIndex: subId.value,
sort: AddProjectBO.value.subStationParam.sort,
updateFlag: 1
}
}
}
/**
* 修改变终端/母线/监测点
*/
const updateDevice = () => {
/**生成数据 */
const devices = JSON.parse(JSON.stringify(AddProjectBO.value.deviceParam))
devices.forEach((item: any) => {
item.updateFlag = 1
item.subVoltageParam = item.subVoltageParam
// delete item.subVoltageParam;
item.subVoltageParam.forEach((bus: any) => {
bus.updateFlag = 1
bus.lineParam = bus.lineParam
//delete bus.lineParam;
bus.lineParam.forEach((line: any) => {
line.updateFlag = 1
})
})
})
updateProject.value = {
deviceUpdateParamList: devices
}
}
const addProvince = () => {
nodeLevel.value = 200
AddProjectBO.value.provinceParam = { name: '', sort: 0 }
}
const addGdInformation = () => {
nodeLevel.value = 300
AddProjectBO.value.gdInformationParam = { name: '', sort: 0 }
}
const addSubStation = () => {
nodeLevel.value = 400
AddProjectBO.value.subStationParam = {
name: '',
lng: '0',
lat: '0',
scale: '',
sort: 0
}
}
const addDevice = () => {
nodeLevel.value = 500
// 不存在,赋值
if (!AddProjectBO.value.deviceParam) {
AddProjectBO.value.deviceParam = []
}
const device = JSON.parse(JSON.stringify(deviceBODetail.value))
device.gdName = currentGdName.value
AddProjectBO.value.deviceParam.push(JSON.parse(JSON.stringify(device)))
deviceIndex.value = AddProjectBO.value.deviceParam.length - 1 + ''
}
const addSubVoltage = () => {
nodeLevel.value = 600
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam.push(
JSON.parse(JSON.stringify(busBarDetail.value))
)
busBarIndex.value = AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam.length - 1 + ''
}
const addLine = () => {
nodeLevel.value = 700
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam.push(
JSON.parse(JSON.stringify(monitorPointDetail.value))
)
lineIndex.value =
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam.length - 1 + ''
}
const getNodeIndex = () => {
deviceIndex.value = '0'
busBarIndex.value = '0'
lineIndex.value = '0'
}
/**查询节点内容 */
const queryNodeContent = () => {
console.log("🚀 ~ queryNodeContent ~ nodeData.value:", nodeData.value)
if (nodeData.value.id == null) {
// ElMessage.warning('1111111')
return
}
let data = {
id: nodeData.value.id,
level: nodeLevel.value
}
queryTerminal(data).then(res => {
// console.log("内容详情", res);
if (nodeLevel.value === 500) {
var data = res.data
/**假数据 */
var arr = []
var arr1 = []
//取终端
for (var i = 0; i < data.deviceVO.length; i++) {}
}
/**对接口再放开 */
AddProjectBO.value.projectIndex =
res.data.projectVO && res.data.projectVO.projectIndex ? res.data.projectVO.projectIndex : 0
AddProjectBO.value.provinceIndex =
res.data.provinceVO && res.data.provinceVO.provinceIndex ? res.data.provinceVO.provinceIndex : 0
AddProjectBO.value.gdIndex =
res.data.gdInformationVO && res.data.gdInformationVO.gdIndex ? res.data.gdInformationVO.gdIndex : 0
AddProjectBO.value.subIndex =
res.data.subStationVO && res.data.subStationVO.subIndex ? res.data.subStationVO.subIndex : 0
AddProjectBO.value.projectParam = {
name: res.data.projectVO.name,
sort: res.data.projectVO.sort
}
if (nodeLevel.value > 100) {
// AddProjectBO.value.provinceIndex = res.data.provinceVO.name
AddProjectBO.value.provinceParam = {
name: res.data.provinceVO.name,
sort: res.data.provinceVO.sort
}
AddProjectBO.value.provinceParam.name = res.data.provinceVO.name
}
if (nodeLevel.value > 200) {
AddProjectBO.value.gdInformationParam = {
name: res.data.gdInformationVO.name,
sort: res.data.gdInformationVO.sort
}
currentGdName.value = res.data.gdInformationVO.name
}
if (nodeLevel.value > 300) {
AddProjectBO.value.subStationParam = JSON.parse(JSON.stringify(res.data.subStationVO))
let deviceBO = JSON.parse(JSON.stringify(res.data.deviceVO))
deviceBO.forEach((item: any) => {
item.subVoltageParam = item.subVoltageVOList ? item.subVoltageVOList : []
delete item.subVoltageVOList
item.subVoltageParam.forEach((litem: any) => {
litem.lineParam = litem.lineVO ? litem.lineVO : []
delete litem.lineVO
})
})
AddProjectBO.value.deviceParam = JSON.parse(JSON.stringify(deviceBO))
deviceBO = null
}
})
}
const initAddProjectBo = () => {
AddProjectBO.value.deviceParam = null
}
/**AddProjectBo的Id恢复初始状态 */
const initAddProjectBoId = () => {
/**项目Id */
AddProjectBO.value.projectIndex = 0
AddProjectBO.value.provinceIndex = 0
AddProjectBO.value.gdIndex = 0
AddProjectBO.value.subIndex = 0
}
const tabChange = (type: string) => {
if (type == 'deviceIndex') {
busBarIndex.value = '0'
lineIndex.value = '0'
} else if (type == 'busBarIndex') {
lineIndex.value = '0'
}
}
/**
* 新增/删除终端
*/
const handleDeviceTabsEdit = (targetName: any, action: any) => {
// console.log(targetName);
/**新增 */
if (action === 'add') {
addDevice()
}
/**删除 */
if (action === 'remove') {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
if (AddProjectBO.value.deviceParam[deviceIndex.value].devIndex) {
let data = {
id: AddProjectBO.value.deviceParam[deviceIndex.value].devIndex,
level: 500
}
delTerminal(data).then((res: any) => {
ElMessage({
type: 'success',
message: res.message
})
reaseStatus()
initAddProjectBo()
initAddProjectBoId()
treedata()
})
} else {
AddProjectBO.value.deviceParam.splice(deviceIndex.value, 1)
deviceIndex.value = AddProjectBO.value.deviceParam.length
? AddProjectBO.value.deviceParam.length - 1 + ''
: '0'
busBarIndex.value = '0'
lineIndex.value = '0'
ElMessage({
type: 'success',
message: '删除成功'
})
}
})
.catch(() => {
ElMessage({
type: 'info',
message: '已取消删除'
})
})
}
}
/**
* 新增/删除母线
*/
const handleBusBarTabsEdit = (targetName: any, action: any) => {
// console.log(targetName);
/**新增 */
if (action === 'add') {
addSubVoltage()
}
/**删除 */
if (action === 'remove') {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
if (AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].subvIndex) {
let data = {
id: AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value]
.subvIndex,
level: 600
}
delTerminal(data).then((res: any) => {
ElMessage({
type: 'success',
message: res.message
})
reaseStatus()
initAddProjectBo()
initAddProjectBoId()
treedata()
})
} else {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam.splice(busBarIndex.value, 1)
busBarIndex.value = AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam.length
? AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam.length - 1 + ''
: '0'
lineIndex.value = '0'
ElMessage({
type: 'success',
message: '删除成功'
})
}
})
.catch(() => {
ElMessage({
type: 'info',
message: '已取消删除'
})
})
}
}
/**
* 新增/删除监测点
*/
const handleLineTabsEdit = (targetName: any, action: any) => {
/**新增 */
if (action === 'add') {
if (
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam.length == 6
) {
ElMessage({
type: 'warning',
message: '不能新增更多的监测点了'
})
return
}
addLine()
}
/**删除 */
if (action === 'remove') {
ElMessageBox.confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
if (
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[
lineIndex.value
].lineIndex
) {
let data = {
id: AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value]
.lineParam[lineIndex.value].lineIndex,
level: 700
}
delTerminal(data).then((res: any) => {
ElMessage({
type: 'success',
message: res.message
})
reaseStatus()
initAddProjectBo()
initAddProjectBoId()
treedata()
})
} else {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam.splice(lineIndex.value, 1)
lineIndex.value = AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam.length
? AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam
.length -
1 +
''
: '0'
ElMessage({
type: 'success',
message: '删除成功'
})
}
})
.catch(() => {
ElMessage({
type: 'info',
message: '已取消删除'
})
})
}
}
const treedata = () => {
TerminalRef.value.info(nodeData.value.id)
}
/**
* 重置初始状态
*/
const reaseStatus = () => {
nodeData.value = {}
nodeLevel.value = 0
pageStatus.value = 1
projectId.value = 0
provinceId.value = 0
gdId.value = 0
subId.value = 0
devId.value = 0
busBarId.value = 0
lineId.value = 0
deviceIndex.value = '0'
busBarIndex.value = '0'
lineIndex.value = '0'
currentGdName.value = ''
}
const evaluate = (node: any) => {
switch (node.data.level) {
case 100:
projectId.value = node.data.id
break
case 200:
provinceId.value = node.data.id
break
case 300:
gdId.value = node.data.id
break
case 400:
subId.value = node.data.id
break
case 500:
devId.value = node.data.id
break
case 600:
busBarId.value = node.data.id
break
case 700:
lineId.value = node.data.id
break
}
if (node.parent) {
evaluate(node.parent)
}
}
const selectChanged = (value: any) => {
if (value === '3d68ceef26a579efe2fe0cdc654911b7') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 10
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
0.38 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 =
0.38 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 10
//750kv
} else if (value === '4cf2d844c47a15a1c16a65b4bbfd1b0e') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 7000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
750 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 =
750 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 7000
//6kv
} else if (value === '37b81bf8aa0fd54098716da3fc0ee433') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 = 6 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 = 6 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 100
//10kv
} else if (value === 'e3da890104e3c4ae1f005021411a1fd7') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
10 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 = 10 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 100
//20kv
} else if (value === '87065e15765e5899114a6d6b9e4fb3cb') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 200
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
20 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 = 20 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 200
//35kv
} else if (value === '8529cfa11356a0666afd3f9fa4da09a4') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 250
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
35 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 = 35 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 250
//66kv
} else if (value === '9ce75596a3368da4adf3374b4fc3b619') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 500
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
66 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 = 66 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 500
//110kv
} else if (value === 'e96d74b79bd50ad0bc00a405246f1e1f') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 750
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
110 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 =
110 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 750
//220kv
} else if (value === '1b7b58ed8fcc2992b95334eaa9010c41') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 2000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
220 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
220 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 2000
//330kv
} else if (value === 'c1b37350a67f5e229a1f96ace0ad04dc') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 3000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
330 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 =
330 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 3000
//500kv
} else if (value === '1fa650685c77db1656c70f9db4a2edc6') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 4500
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
500 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 =
500 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 4500
//1000kv
} else if (value === '674cf02fb3fcfd9f99fd786cfca090df') {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 9000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt1 =
1000 * 1000
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[busBarIndex.value].lineParam[0].pt2 =
1000 * 100
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 9000
} else {
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].standardCapacity = 10
AddProjectBO.value.deviceParam[deviceIndex.value].subVoltageParam[
busBarIndex.value
].lineParam[0].shortCapacity = 10
}
}
const area = () => {
areaTree({ id: '', type: 0 }).then((res: any) => {
treeOptions.value = res.data
})
nodeAllList().then(res => {
// console.log("前置机", res);
affiliatiedFrontArr.value = res.data
deviceBODetail.value.nodeId = res.data[0].id
})
let data = new Date()
let year: any = data.getFullYear()
let month: any = data.getMonth()
if (month + 1 >= 10) {
month = month + 1
} else {
month = '0' + (month + 1)
}
let day: any = data.getDate()
if (day + 1 >= 10) {
day = day + 1
} else {
day = '0' + (day + 1)
}
deviceBODetail.value.thisTimeCheck = year + '-' + month + '-' + day
deviceBODetail.value.loginTime = year + '-' + month + '-' + day
deviceBODetail.value.updateTime = year + '-' + month + '-' + day
deviceBODetail.value.nextTimeCheck = year + 1 + '-' + month + '-' + (day - 1 > 10 ? day - 1 : '0' + (day - 1))
}
onMounted(() => {
const dom = document.getElementById('navigation-splitpanes')
if (dom) {
size.value = Math.round((180 / dom.offsetHeight) * 100)
}
})
area()
</script>
<style lang="scss" scoped>
.device-manage {
display: flex;
padding: 10px;
&-right {
overflow: hidden;
flex: 1;
padding: 10px 10px 10px 0;
.el-descriptions__header {
height: 36px;
margin-bottom: 7px;
display: flex;
align-items: center;
}
}
}
.main-form {
display: flex;
flex-wrap: wrap;
.form-top {
width: 100%;
}
.el-form-item {
width: 30%;
margin-bottom: 15px;
.el-select {
width: 100%;
min-width: 0px;
}
}
}
.el-tabs__content {
margin-top: 15px;
}
.splitpanes.default-theme .splitpanes__pane {
background: #fff !important;
}
</style>