冀北项目添加表格导出功能 技术监督添加下载模版上传功能

This commit is contained in:
GGJ
2025-03-28 16:05:03 +08:00
parent 76f41e9a24
commit ef04022f14
153 changed files with 4208 additions and 3480 deletions

View File

@@ -1,12 +1,12 @@
<!---终端入网检测-->
<template>
<TableHeader area ref='TableHeaderRef'>
<TableHeader area ref='TableHeaderRef' showExport>
<template #select>
<el-form-item label='搜索'>
<el-input
v-model='tableStore.table.params.searchValue'
placeholder='输入变电站.终端名称'
clearable maxlength="32" show-word-limit
clearable
></el-input>
</el-form-item>
<el-form-item label='流程状态'>
@@ -74,8 +74,9 @@ const tableStore = new TableStore({
url: '/supervision-boot/checkDevice/list',
publicHeight: 65,
method: 'POST',
filename:'终端周期检测',
column: [
{ title: '序号', width: 80,formatter: (row: any) => {
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{ field: 'substation', title: '变电站' },
@@ -217,7 +218,24 @@ const tableStore = new TableStore({
tableStore.table.params.deptId = tableStore.table.params.deptIndex
tableStore.table.params.statveList = [2]
// tableStore.table.params.relationUserName = tableStore.table.params.userName
}
},
exportProcessingData: () => {
tableStore.table.allData = tableStore.table.allData.filter(item => {
item.status =
item.status == 0
? '待提交审批'
: item.status == 1
? '审批中'
: item.status == 2
? '审批通过'
: item.status == 3
? '审批不通过'
: item.status == 4
? '已取消':item.status == 5
? '同步台账成功':'/'
return item
})
}
})
tableStore.table.params.status = ''
tableStore.table.params.state = ''

View File

@@ -1,10 +1,10 @@
<!---终端入网检测-->
<template>
<TableHeader area datePicker nextFlag theCurrentTime ref="TableHeaderRef">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll showExport ref="TableHeaderRef">
<template #select>
<el-form-item label="搜索">
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端、监测点名称"
clearable maxlength="32" show-word-limit style="width: 230px"></el-input>
clearable style="width: 230px"></el-input>
</el-form-item>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
@@ -53,6 +53,7 @@ const tableStore = new TableStore({
url: '/supervision-boot/tempLinedebug/list',
publicHeight: 65,
method: 'POST',
filename:'监测点联调列表',
column: [
{
width: '60',
@@ -218,6 +219,23 @@ const tableStore = new TableStore({
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
tableStore.table.params.statveList = [2]
// tableStore.table.params.relationUserName = tableStore.table.params.userName
},
exportProcessingData: () => {
tableStore.table.allData = tableStore.table.allData.filter(item => {
item.status =
item.status == 0
? '待提交审批'
: item.status == 1
? '审批中'
: item.status == 2
? '审批通过'
: item.status == 3
? '审批不通过'
: item.status == 4
? '已取消':item.status == 5
? '同步台账成功':'/'
return item
})
}
})
tableStore.table.params.status = ''

View File

@@ -1,213 +1,203 @@
<template>
<el-dialog v-model='dialogFormVisible' :title='title' width='65%' :append-to-body='true' :before-close='close'
:close-on-click-modal='false' :lazy='true' draggable>
<el-dialog v-model="dialogFormVisible" :title="title" width="65%" :append-to-body="true" :before-close="close"
:close-on-click-modal="false" :lazy="true" draggable>
<!--监测点信息录入 基础信息+监测点信息 监测点信息要有用户名称用户状态 -->
<el-form :model='form' :validate-on-rule-change='false' :scroll-to-error='true' :rules='rules' ref='ruleFormRef'
label-width='auto' label-position='right' class='form-two'>
<div class='fixed_upload' v-if='false'>
<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')" :on-remove='removeFile'>
<el-form :model="form" :validate-on-rule-change="false" :scroll-to-error="true" :rules="rules" ref="ruleFormRef"
label-width="auto" label-position="right" class="form-two">
<div class="fixed_upload" v-if="false">
<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')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>监测点台账信息</el-button>
<el-button type="primary">监测点台账信息</el-button>
</template>
</el-upload>
</div>
<!-- 基础信息 -->
<el-form-item v-if='false' for='-' label='填报人:' prop='reporterName'>
<el-input v-model.trim='form.reporterName' autocomplete='off' placeholder='请输入填报人'
:disabled='true' />
<el-form-item v-if="false" for="-" label="填报人:" prop="reporterName">
<el-input v-model="form.reporterName" autocomplete="off" placeholder="请输入填报人" :disabled="true" />
</el-form-item>
<el-form-item v-if='false' for='-' label='填报日期:' prop='reportDate'>
<el-date-picker style='width: 100%' v-model='form.reportDate' :disabled='true' type='date'
format='YYYY-MM-DD' value-format='YYYY-MM-DD' placeholder='请选择填报日期' />
<el-form-item v-if="false" for="-" label="填报日期:" prop="reportDate">
<el-date-picker style="width: 100%" v-model="form.reportDate" :disabled="true" type="date"
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择填报日期" />
</el-form-item>
<el-form-item v-if='false' for='-' label='填报部门:' prop='orgId'>
<el-input v-model.trim='form.orgName' :disabled='true' autocomplete='off' />
<el-form-item v-if="false" for="-" label="填报部门:" prop="orgId">
<el-input v-model="form.orgName" :disabled="true" autocomplete="off" />
</el-form-item>
<el-form-item v-if='false' for='-' 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='true'
:disabled-date='disabledDate'
placeholder='请选择工程投产日期' />
<el-form-item v-if="false" for="-" 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="true" :disabled-date="disabledDate"
placeholder="请选择工程投产日期" />
</el-form-item>
<el-form-item v-if='false' for='-' label='所在地市:' prop='city'>
<el-select v-model='form.city' clearable style='width: 100%' :disabled='true'
placeholder='请选择所在地市'>
<el-option v-for='item in areaOptionList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item v-if="false" for="-" label="所在地市:" prop="city">
<el-select v-model="form.city" clearable style="width: 100%" :disabled="true" 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-form-item v-if='false' for='-' label='用户状态:' prop='userStatus'>
<el-select v-model='form.userStatus' placeholder='请选择用户状态' :disabled='true' style='width: 100%'>
<el-option v-for='(item, index) in userStateList' :label='item.name' :value='item.id'
:disabled="item.name != '建设'" :key='index' />
<el-form-item v-if="false" for="-" label="用户状态:" prop="userStatus">
<el-select v-model="form.userStatus" placeholder="请选择用户状态" :disabled="true" 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-form-item for='-' label='关联干扰源:' prop='userName'>
<el-select v-model='form.userName' clearable style='width: 100%' placeholder='请选择关联干扰源'
@change='changeUserName'>
<el-option v-for='(item, index) in userNameList' :key='index' :label='item.projectName'
:value='item.id'></el-option>
<el-form-item for="-" label="关联干扰源:" prop="userName">
<el-select v-model="form.userName" clearable style="width: 100%" placeholder="请选择关联干扰源"
@change="changeUserName">
<el-option v-for="(item, index) in userNameList" :key="index" :label="item.projectName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='关联终端:' prop='monitoringTerminalCode'>
<el-select v-model='form.monitoringTerminalCode' clearable style='width: 100%' filterable
placeholder='请选择关联终端' @change='changeDevice'>
<el-option v-for='(item, index) in monitoringTerminalList' :key='index'
:label='item.monitoringTerminalCode' :value='item.id'></el-option>
<el-form-item for="-" label="关联终端:" prop="monitoringTerminalCode">
<el-select v-model="form.monitoringTerminalCode" clearable style="width: 100%" filterable
placeholder="请选择关联终端" @change="changeDevice">
<el-option v-for="(item, index) in monitoringTerminalList" :key="index"
:label="item.monitoringTerminalCode" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='接入母线:' prop='connectedBus'>
<el-input v-model.trim='form.connectedBus' autocomplete='off' placeholder='请输入接入母线 如110kV4母线'
maxlength='32' show-word-limit />
<el-form-item for="-" label="接入母线:" prop="connectedBus">
<el-input v-model="form.connectedBus" autocomplete="off" placeholder="请输入接入母线 如110kV4母线" />
</el-form-item>
<el-form-item for='-' 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-form-item for="-" 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-form-item for='-' label='监测点名称:' prop='lineName'>
<el-input v-model.trim='form.lineName' autocomplete='off' placeholder='请输入监测点名称' maxlength='32'
show-word-limit />
<el-form-item for="-" label="监测点名称:" prop="lineName">
<el-input v-model="form.lineName" autocomplete="off" placeholder="请输入监测点名称" />
</el-form-item>
<!-- {{ voltageLevelList[2].value * 10 }}:{{ 1 }} -->
<el-form-item for='-' label='监测点电压等级:' prop='voltageLevel'>
<el-select v-model='form.voltageLevel' clearable style='width: 100%' placeholder='请选择监测点电压等级'
filterable
@change='changevoltageDeviationLimit'>
<el-option v-for='item in voltageLevelList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="监测点电压等级:" prop="voltageLevel">
<el-select v-model="form.voltageLevel" clearable style="width: 100%" placeholder="请选择监测点电压等级" filterable
@change="changevoltageDeviationLimit">
<el-option v-for="item in voltageLevelList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='PT变比' prop='pt1'>
<el-input style='width: 48%' v-model.trim='form.pt1' autocomplete='off' placeholder='请输入PT变比'
oninput="value=value.replace(/[^0-9.]/g,'')" maxlength='8' show-word-limit />
<el-input style='width: 48%' v-model.trim='form.pt2' autocomplete='off' placeholder='请输入PT变比'
oninput="value=value.replace(/[^0-9.]/g,'')" maxlength='8' show-word-limit />
<el-form-item for="-" label="PT变比" prop="pt1">
<el-input style="width: 48%" v-model="form.pt1" autocomplete="off" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" />
<el-input style="width: 48%" v-model="form.pt2" autocomplete="off" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" />
</el-form-item>
<el-form-item for='-' label='CT变比' prop='ct1'>
<el-input v-model.trim='form.ct1' style='width: 48%' autocomplete='off'
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder='请输入CT变比' maxlength='8'
show-word-limit />
<el-input v-model.trim='form.ct2' style='width: 48%' autocomplete='off'
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder='请输入CT变比' maxlength='8'
show-word-limit />
<el-form-item for="-" label="CT变比" prop="ct1">
<el-input v-model="form.ct1" style="width: 48%" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
<el-input v-model="form.ct2" style="width: 48%" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
</el-form-item>
<el-form-item for='-' label='短路容量:' prop='shortCapacity'>
<el-input v-model.trim='form.shortCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-form-item for="-" label="短路容量:" prop="shortCapacity">
<el-input v-model="form.shortCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入短路容量' maxlength='6' show-word-limit>
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入短路容量">
<template #append>MVA</template>
</el-input>
</el-form-item>
<el-form-item for='-' label='协议容量:' prop='dealCapacity'>
<el-input v-model.trim='form.dealCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-form-item for="-" label="协议容量:" prop="dealCapacity">
<el-input v-model="form.dealCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入协议容量' maxlength='6' show-word-limit>
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入协议容量">
<template #append>MVA</template>
</el-input>
</el-form-item>
<el-form-item for='-' label='终端容量:' prop='devCapacity'>
<el-input v-model.trim='form.devCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-form-item for="-" label="终端容量:" prop="devCapacity">
<el-input v-model="form.devCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入终端容量' maxlength='6' show-word-limit>
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入终端容量">
<template #append>MVA</template>
</el-input>
</el-form-item>
<el-form-item for='-' label='基准容量:' prop='standardCapacity'>
<el-input v-model.trim='form.standardCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
<el-form-item for="-" label="基准容量:" prop="standardCapacity">
<el-input v-model="form.standardCapacity" autocomplete="off" oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入基准容量' maxlength='6' show-word-limit>
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入基准容量">
<template #append>MVA</template>
</el-input>
</el-form-item>
<el-form-item for='-' label='干扰源类型:' prop='loadType'>
<el-select v-model='form.loadType' style='width: 100%' placeholder='请选择干扰源类型'
@change='changeLoadType'>
<el-option v-for='item in loadTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="干扰源类型:" prop="loadType">
<el-select v-model="form.loadType" style="width: 100%" placeholder="请选择干扰源类型" @change="changeLoadType">
<el-option v-for="item in loadTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='干扰源类别:' prop='businessType'>
<el-select v-model='form.businessType' style='width: 100%' placeholder='请选择干扰源类别'>
<el-option v-for='item in businessTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="干扰源类别:" prop="businessType">
<el-select v-model="form.businessType" style="width: 100%" placeholder="请选择干扰源类别">
<el-option v-for="item in businessTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='接线方式:'>
<el-select v-model='form.ptType' clearable style='width: 100%' placeholder='请选择接线方式'>
<el-option v-for='item in ptTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="接线方式:">
<el-select v-model="form.ptType" clearable style="width: 100%" placeholder="请选择接线方式">
<el-option v-for="item in ptTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='线路号:'>
<el-select v-model='form.num' clearable style='width: 100%' placeholder='请选择线路号'>
<el-option v-for='item in numList' :key='item.id' :label='item.name' :value='item.id'></el-option>
<el-form-item for="-" label="线路号:">
<el-select v-model="form.num" clearable style="width: 100%" placeholder="请选择线路号">
<el-option v-for="item in numList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='电压偏差上限:' prop='voltageDeviationUpperLimit'>
<el-input-number style='width: 100%' v-model='form.voltageDeviationUpperLimit' />
<el-form-item for="-" label="电压偏差上限:" prop="voltageDeviationUpperLimit">
<el-input-number style="width: 100%" v-model="form.voltageDeviationUpperLimit" />
</el-form-item>
<el-form-item for='-' label='电压偏差下限:' prop='voltageDeviationLowerLimit'>
<el-input-number style='width: 100%' v-model='form.voltageDeviationLowerLimit' />
<el-form-item for="-" label="电压偏差下限:" prop="voltageDeviationLowerLimit">
<el-input-number style="width: 100%" v-model="form.voltageDeviationLowerLimit" />
</el-form-item>
<el-form-item for='-' label='测量间隔:' prop='timeInterval'>
<el-select v-model='form.timeInterval' placeholder='请选择测量间隔'>
<el-option v-for='(item, index) in timeIntervalList' :label='item.name' :value='item.id'
:key='index' />
<el-form-item for="-" label="测量间隔:" prop="timeInterval">
<el-select v-model="form.timeInterval" placeholder="请选择测量间隔">
<el-option v-for="(item, index) in timeIntervalList" :label="item.name" :value="item.id"
:key="index" />
</el-select>
</el-form-item>
<!-- <el-form-item for="-" label="上送网公司编码:">
<el-form-item for="-" label="上送网公司编码:">
<el-input v-model="form.lineId" autocomplete="off" placeholder="请输入上送网公司编码" />
</el-form-item> -->
<el-form-item for='-' 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-form-item>
<el-form-item for="-" 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-form-item for='-' label='是否参与统计:' prop='isStatistical'>
<el-radio-group v-model='form.isStatistical'>
<el-radio :value='1'></el-radio>
<el-radio :value='0'></el-radio>
<el-form-item for="-" 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-form-item for="-" label="对象名称(对端)" prop="objName">
<el-input v-model="form.objName" autocomplete="off" placeholder="请输入监测点对象名称" />
</el-form-item> -->
<el-form-item for='-' label='电网侧变电站:' prop='powerSubstationName'>
<el-input v-model.trim='form.powerSubstationName' autocomplete='off' placeholder='请输入电网侧变电站'
maxlength='32' show-word-limit />
<el-form-item for="-" label="电网侧变电站:" prop="powerSubstationName">
<el-input v-model="form.powerSubstationName" autocomplete="off" placeholder="请输入电网侧变电站" />
</el-form-item>
<el-form-item for='-' label='是否并网点:' prop='isGridConnectionPoint'>
<el-radio-group v-model='form.isGridConnectionPoint'>
<el-radio :value='1'></el-radio>
<el-radio :value='0'></el-radio>
<el-form-item for="-" 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-form-item for='-' label='主接线图:' prop='mainWiringDiagram' class='uploadFile'>
<el-upload v-model:file-list='form.mainWiringDiagram' ref='uploadRef' action='' :accept='acceptType'
:limit='1' :on-exceed='handleExceed' :on-change='choose' :auto-upload='false'
:on-progress="uploadFileName('mainWiringDiagram')" :on-remove='removeFile'>
<el-form-item for="-" label="主接线图:" prop="mainWiringDiagram" class="uploadFile">
<el-upload v-model:file-list="form.mainWiringDiagram" ref="uploadRef" action="" :accept="acceptType"
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('mainWiringDiagram')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
</el-form>
<template #footer>
<div class='dialog-footer'>
<el-button @click='close()'>取消</el-button>
<el-button type='primary' @click='confirmForm(true)' :loading='loading'>保存</el-button>
<el-button type='primary' @click='confirmForm(false)' :loading='loading'>提交审批</el-button>
<div class="dialog-footer">
<el-button @click="close()">取消</el-button>
<el-button type="primary" @click="confirmForm(true)" :loading="loading">保存</el-button>
<el-button type="primary" @click="confirmForm(false)" :loading="loading">提交审批</el-button>
</div>
</template>
</el-dialog>
</template>
<script lang='ts' setup>
<script lang="ts" setup>
import { ref, onMounted, reactive, defineExpose, nextTick, defineEmits, watch, onUnmounted } from 'vue'
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
import { genFileId, ElMessage } from 'element-plus'
@@ -220,7 +210,6 @@ import { addMointorPointFormData, getList, updateMointorPointFormData } from '@/
import { queryByAllCode } from '@/api/system-boot/dictTree'
import { getUserReportById } from '@/api/supervision-boot/userReport/form'
import { getDictTreeById } from '@/api/system-boot/dictTree'
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
const dialogFormVisible = ref(false)
@@ -418,7 +407,7 @@ const resetForm = async () => {
devCapacity: 10, //终端容量
standardCapacity: 10, //基准容量
isGridConnectionPoint: 0, //是否并网点
isStatistical: 1, // 是否参与统计
isStatistical: 0, // 是否参与统计
lineId: '', // 监测点编码
lineName: '', // 监测点名称
loadType: '', //干扰源类型
@@ -614,8 +603,6 @@ const getDictTree = (e?: string) => {
businessTypeList.value = []
}
}
// 特殊字符正则表达式
const specialCharRegex = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/
//定义校验规则
const rules = ref({
//基础信息
@@ -681,16 +668,6 @@ const rules = ref({
required: true,
message: '请输入监测点名称',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
trigger: 'blur'
}
],
voltageLevel: [
@@ -703,17 +680,7 @@ const rules = ref({
connectedBus: [
{
required: true,
message: '请输入接入母线',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
message: '请选择接入母线',
trigger: 'blur'
}
],
@@ -811,18 +778,8 @@ const rules = ref({
powerSubstationName: [
{
required: true,
message: '请输入电网侧变电站',
message: '请选择电网侧变电站',
trigger: 'change'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
trigger: 'blur'
}
],
isGridConnectionPoint: [
@@ -904,8 +861,7 @@ const close = () => {
dialogFormVisible.value = false
emits('onSubmit')
}
onMounted(() => {
})
onMounted(() => { })
watch(
() => projectList.value,
@@ -1041,8 +997,8 @@ const confirmForm = async (flag: boolean) => {
resetForm()
close()
}).catch(() => {
loading.value = false
})
loading.value = false
})
} else {
confirmFormData.id = resendId.value
await updateMointorPointFormData(confirmFormData).then(res => {
@@ -1056,8 +1012,8 @@ const confirmForm = async (flag: boolean) => {
close()
}
}).catch(() => {
loading.value = false
})
loading.value = false
})
}
} else {
// // console.log('表单验证失败')
@@ -1071,7 +1027,7 @@ const confirmForm = async (flag: boolean) => {
}
defineExpose({ open })
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.fixed_upload {
width: 100%;
height: auto;

View File

@@ -30,7 +30,7 @@
})?.label
}}
</el-descriptions-item>
<el-descriptions-item label="接入场站">
<el-descriptions-item label="关联干扰源">
{{ detailData.userName }}
</el-descriptions-item>
<el-descriptions-item label="关联终端">

View File

@@ -1,10 +1,10 @@
<!---终端入网检测-->
<template>
<TableHeader area datePicker nextFlag theCurrentTime ref="TableHeaderRef">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll ref="TableHeaderRef" showExport>
<template #select>
<el-form-item label="搜索">
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端、监测点名称"
clearable maxlength="32" show-word-limit style="width: 230px"></el-input>
clearable style="width: 230px"></el-input>
</el-form-item>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
@@ -56,6 +56,7 @@ const tableStore = new TableStore({
url: '/supervision-boot/tempLine/list',
publicHeight: 65,
method: 'POST',
filename:'监测点台账录入',
column: [
{
width: '60',
@@ -181,6 +182,21 @@ const tableStore = new TableStore({
beforeSearchFun: () => {
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
// tableStore.table.params.relationUserName = tableStore.table.params.userName
},
exportProcessingData: () => {
tableStore.table.allData = tableStore.table.allData.filter(item => {
item.status =
item.status == 0
? '待提交审批'
: item.status == 1
? '审批中'
: item.status == 2
? '审批通过'
: item.status == 3
? '审批不通过'
: '已取消'
return item
})
}
})
tableStore.table.params.status = ''

View File

@@ -1,35 +1,35 @@
<template>
<el-dialog v-model='dialogFormVisible' :title='title' width='65%' :append-to-body='true' :before-close='close'
:close-on-click-modal='false' :lazy='true' draggable>
<el-dialog v-model="dialogFormVisible" :title="title" width="65%" :append-to-body="true" :before-close="close"
:close-on-click-modal="false" :lazy="true" draggable>
<!-- <el-anchor :container="containerRef" direction="vertical" type="default" :offset="30" @click="handleClick">
<el-anchor-link href="#part1" title="基础信息" />
<el-anchor-link href="#part2" title="终端信息" />
<el-anchor-link href="#part3" title="附件材料" />
</el-anchor> -->
<!--终端信息录入 基础信息+终端信息+附件材料 -->
<el-form :model='form' :validate-on-rule-change='false' :scroll-to-error='true' :rules='rules' ref='ruleFormRef'
label-width='auto' class='form-two'>
<el-form :model="form" :validate-on-rule-change="false" :scroll-to-error="true" :rules="rules" ref="ruleFormRef"
label-width="auto" class="form-two">
<!-- <el-tabs tab-position="left" class="tabs_form" v-model="activeName"> -->
<el-divider content-position='left'>基础信息</el-divider>
<el-divider content-position="left">基础信息</el-divider>
<!-- <div id="part1" class="form-two"> -->
<el-form-item for='-' label='填报人:' prop='reporter'>
<el-input v-model.trim='form.reporter' autocomplete='off' placeholder='请输入填报人' :disabled='true' />
<el-form-item for="-" label="填报人:" prop="reporter">
<el-input v-model="form.reporter" autocomplete="off" placeholder="请输入填报人" :disabled="true" />
</el-form-item>
<el-form-item for='-' label='填报日期:' prop='reportDate'>
<el-date-picker :disabled='true' style='width: 100%' v-model='form.reportDate' type='date'
placeholder='请选择填报日期' />
<el-form-item for="-" label="填报日期:" prop="reportDate">
<el-date-picker :disabled="true" style="width: 100%" v-model="form.reportDate" type="date"
placeholder="请选择填报日期" />
</el-form-item>
<el-form-item for='-' label='填报部门:' prop='orgId'>
<el-input v-model.trim='form.orgId' :disabled='true' autocomplete='off' />
<el-form-item for="-" label="填报部门:" prop="orgId">
<el-input v-model="form.orgId" :disabled="true" autocomplete="off" />
</el-form-item>
<el-form-item for='-' label='工程投产日期:' prop='expectedProductionDate'>
<el-date-picker style='width: 100%' v-model='form.expectedProductionDate' type='date'
format='YYYY-MM-DD' value-format='YYYY-MM-DD' placeholder='请选择工程投产日期' />
<el-form-item for="-" label="工程投产日期:" prop="expectedProductionDate">
<el-date-picker style="width: 100%" v-model="form.expectedProductionDate" type="date"
format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择工程投产日期" />
</el-form-item>
<el-form-item for='-' 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-form-item for="-" 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 :span="12">
@@ -67,301 +67,279 @@
</el-form-item>
-->
<!-- </div> -->
<el-divider content-position='left'>终端信息</el-divider>
<el-divider content-position="left">终端信息</el-divider>
<!-- <div id="part2" class="form-two"> -->
<div class='fixed_upload' v-if='false'>
<el-upload v-model:file-list='form.deviceFilePath' ref='uploadRef' action='' :accept='acceptType'
:limit='1' :on-exceed='handleExceed' :on-change='choose' :auto-upload='false'
:on-progress="uploadFileName('deviceFilePath')" :on-remove='removeFile'>
<div class="fixed_upload" v-if="false">
<el-upload v-model:file-list="form.deviceFilePath" ref="uploadRef" action="" :accept="acceptType"
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('deviceFilePath')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>终端台账信息</el-button>
<el-button type="primary">终端台账信息</el-button>
</template>
</el-upload>
</div>
<el-form-item for='-' label='系统电站:' prop='customSubstationFlag'>
<el-form-item for="-" label="系统电站:" prop="customSubstationFlag">
<!-- 默认值 开启 -->
<el-radio-group v-model='form.customSubstationFlag' @change='changeSubstationFlag'>
<el-radio :value='0'></el-radio>
<el-radio :value='1'></el-radio>
<el-radio-group v-model="form.customSubstationFlag" @change="changeSubstationFlag">
<el-radio :value="0"></el-radio>
<el-radio :value="1"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item for='-' label='所属供电公司:' prop='powerCompany'>
<el-select v-model='form.powerCompany' clearable style='width: 100%' placeholder='请选择所属供电公司'
@change='findSubstationVoltageLevel'>
<el-option v-for='item in powerCompanyList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="所属供电公司:" prop="powerCompany">
<el-select v-model="form.powerCompany" clearable style="width: 100%" placeholder="请选择所属供电公司"
@change="findSubstationVoltageLevel">
<el-option v-for="item in powerCompanyList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' v-if='form.customSubstationFlag == 0' label='并网变电站:' prop='substation'>
<el-select v-model='form.substation' clearable style='width: 100%' placeholder='请选择并网变电站'
filterable
@change='changeSubstation'>
<el-option v-for='item in substationList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" v-if="form.customSubstationFlag == 0" label="并网变电站:" prop="substation">
<el-select v-model="form.substation" clearable style="width: 100%" placeholder="请选择并网变电站" filterable
@change="changeSubstation">
<el-option v-for="item in substationList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' v-if='form.customSubstationFlag == 1' label='并网变电站:' prop='substationName'>
<el-input v-model.trim='form.substationName' autocomplete='off' placeholder='请输入并网变电站' />
<el-form-item for="-" v-if="form.customSubstationFlag == 1" label="并网变电站:" prop="substationName">
<el-input v-model="form.substationName" autocomplete="off" placeholder="请输入并网变电站" />
</el-form-item>
<el-form-item for='-' label='变电站电压等级:' prop='substationVoltageLevel'>
<el-select v-model='form.substationVoltageLevel' clearable style='width: 100%'
placeholder='请选择变压站电压等级'>
<el-option v-for='item in voltageLevelList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="变电站电压等级:" prop="substationVoltageLevel">
<el-select v-model="form.substationVoltageLevel" 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-form-item for='-' label='经度:' prop='longitude'>
<el-input v-model.trim='form.longitude' :disabled='form.customSubstationFlag == 0' type='text'
placeholder='请输入经度' />
<el-form-item for="-" label="经度:" prop="longitude">
<el-input v-model="form.longitude" :disabled="form.customSubstationFlag == 0" type="text"
placeholder="请输入经度" />
</el-form-item>
<el-form-item for='-' label='纬度:' prop='latitude'>
<el-input v-model.trim='form.latitude' :disabled='form.customSubstationFlag == 0' type='text'
placeholder='请输入纬度' />
<el-form-item for="-" label="纬度:" prop="latitude">
<el-input v-model="form.latitude" :disabled="form.customSubstationFlag == 0" type="text"
placeholder="请输入纬度" />
</el-form-item>
<el-form-item for='-' label='终端编码:' prop='monitoringTerminalCode'>
<el-input v-model.trim='form.monitoringTerminalCode' autocomplete='off' placeholder='请输入终端编码'
@input='encode' maxlength='32' show-word-limit />
</el-form-item>
<el-form-item for='-' label='终端名称:' prop='monitoringTerminalName'>
<el-input v-model.trim='form.monitoringTerminalName' autocomplete='off' placeholder='请输入终端名称'
maxlength='32' show-word-limit />
</el-form-item>
<el-form-item for='-' label='终端型号:' prop='terminalType'>
<el-select v-model='form.terminalType' filterable clearable style='width: 100%'
placeholder='请选择终端型号'>
<el-option v-for='item in terminalTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='通讯类型:'>
<el-select v-model='form.frontType' clearable style='width: 100%' placeholder='请选择通讯类型'>
<el-option v-for='item in frontTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="终端型号:" prop="terminalType">
<el-select v-model="form.terminalType" filterable clearable style="width: 100%" placeholder="请选择终端型号">
<el-option v-for="item in terminalTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item v-if='false' for='-' label='通讯状态:' prop='communicationStatus'>
<el-select v-model='form.communicationStatus' clearable style='width: 100%' placeholder='请选择通讯状态'
:disabled='true'>
<el-option v-for='item in communicationStatusList' :key='item.id' :label='item.name'
:value='item.id' :disabled="item.id == '1'"></el-option>
<el-form-item for="-" label="终端名称:" prop="monitoringTerminalName">
<el-input v-model="form.monitoringTerminalName" autocomplete="off" placeholder="请输入终端名称" />
</el-form-item>
<el-form-item for="-" label="通讯类型:">
<el-select v-model="form.frontType" clearable style="width: 100%" placeholder="请选择通讯类型">
<el-option v-for="item in frontTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='终端IP' prop='terminalIp'>
<el-input oninput="value=value.replace(/[^0-9.]/g,'')" v-model.trim='form.terminalIp' autocomplete='off'
placeholder='请输入终端IP' />
<el-form-item for="-" label="终端编码:" prop="monitoringTerminalCode">
<el-input v-model="form.monitoringTerminalCode" autocomplete="off" placeholder="请输入终端编码"
@change="encode" />
</el-form-item>
<el-form-item for='-' label='端口:' prop='terminalPort'>
<el-input oninput="value=value.replace(/[^0-9.]/g,'')" v-model.trim='form.terminalPort'
autocomplete='off'
placeholder='请输入端口' maxlength='5' show-word-limit />
</el-form-item>
<el-form-item for='-' label='投运时间:' prop='commissioningTime'>
<el-date-picker style='width: 100%' v-model='form.commissioningTime' type='datetime'
format='YYYY/MM/DD hh:mm:ss' value-format='YYYY-MM-DD hh:mm:ss'
placeholder='请选择投运时间' />
</el-form-item>
<el-form-item for='-' label='数据更新时间:' prop='dataUpdateTime'>
<el-date-picker :disabled='true' style='width: 100%' v-model='form.dataUpdateTime' type='datetime'
placeholder='请选择数据更新时间' />
</el-form-item>
<el-form-item for='-' label='所属前置机:' prop='frontEndMachine'>
<el-select v-model='form.frontEndMachine' clearable style='width: 100%' placeholder='请选择所属前置机'>
<el-option v-for='item in frontEndMachineList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item v-if="false" for="-" label="通讯状态:" prop="communicationStatus">
<el-select v-model="form.communicationStatus" clearable style="width: 100%" placeholder="请选择通讯状态"
:disabled="true">
<el-option v-for="item in communicationStatusList" :key="item.id" :label="item.name"
:value="item.id" :disabled="item.id == '1'"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='监测终端安装位置:' prop='monitoringDeviceInstallationPosition'
class='label_over_warp'>
<el-form-item for="-" label="终端IP" prop="terminalIp">
<el-input oninput="value=value.replace(/[^0-9.]/g,'')" v-model="form.terminalIp" autocomplete="off"
placeholder="请输入终端IP" />
</el-form-item>
<el-form-item for="-" label="端口:" prop="terminalPort">
<el-input oninput="value=value.replace(/[^0-9.]/g,'')" v-model="form.terminalPort" autocomplete="off"
placeholder="请输入端口" />
</el-form-item>
<el-form-item for="-" label="投运时间:" prop="commissioningTime">
<el-date-picker style="width: 100%" v-model="form.commissioningTime" type="datetime"
format="YYYY/MM/DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" placeholder="请选择投运时间" />
</el-form-item>
<el-form-item for="-" label="数据更新时间:" prop="dataUpdateTime">
<el-date-picker :disabled="true" style="width: 100%" v-model="form.dataUpdateTime" type="datetime"
placeholder="请选择数据更新时间" />
</el-form-item>
<el-form-item for="-" label="所属前置机:" prop="frontEndMachine">
<el-select v-model="form.frontEndMachine" clearable style="width: 100%" placeholder="请选择所属前置机">
<el-option v-for="item in frontEndMachineList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for="-" label="监测终端安装位置:" prop="monitoringDeviceInstallationPosition" class="label_over_warp">
<!-- 电网侧用户侧 -->
<el-select v-model='form.monitoringDeviceInstallationPosition' clearable style='width: 100%'
placeholder='请选择监测终端安装位置'>
<el-option v-for='item in monitoringDeviceInstallationPositionList' :key='item.id'
:label='item.name' :value='item.id'></el-option>
<el-select v-model="form.monitoringDeviceInstallationPosition" clearable style="width: 100%"
placeholder="请选择监测终端安装位置">
<el-option v-for="item in monitoringDeviceInstallationPositionList" :key="item.id"
:label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='识别码:' prop='identificationCode'>
<el-input v-model.trim='form.identificationCode' autocomplete='off' placeholder='请输入识别码'
maxlength='64' show-word-limit />
<el-form-item for="-" label="识别码:" prop="identificationCode">
<el-input v-model="form.identificationCode" autocomplete="off" placeholder="请输入识别码" />
</el-form-item>
<el-form-item for='-' label='终端秘钥:' prop='terminalSecretKey'>
<el-input v-model.trim='form.terminalSecretKey' autocomplete='off' placeholder='请输入终端秘钥'
maxlength='64' show-word-limit />
<el-form-item for="-" label="终端秘钥:" prop="terminalSecretKey">
<el-input v-model="form.terminalSecretKey" autocomplete="off" placeholder="请输入终端秘钥" />
</el-form-item>
<el-form-item for='-' label='终端模型:' prop='terminalModel'>
<el-select v-model='form.terminalModel' clearable style='width: 100%' placeholder='请选择终端模型'>
<el-option v-for='item in terminalModelList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="终端模型:" prop="terminalModel">
<el-select v-model="form.terminalModel" clearable style="width: 100%" placeholder="请选择终端模型">
<el-option v-for="item in terminalModelList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='数据类型:' prop='dataType'>
<el-select v-model='form.dataType' clearable style='width: 100%' placeholder='请选择数据类型'>
<el-option v-for='item in dataTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="数据类型:" prop="dataType">
<el-select v-model="form.dataType" clearable style="width: 100%" placeholder="请选择数据类型">
<el-option v-for="item in dataTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='终端接线方式类型:' prop='terminalWiringMethodType' class='label_over_warp'>
<el-select v-model='form.terminalWiringMethodType' clearable style='width: 100%'
placeholder='请选择终端接线方式类型'>
<el-option v-for='item in terminalWiringMethodTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="终端接线方式类型:" prop="terminalWiringMethodType" class="label_over_warp">
<el-select v-model="form.terminalWiringMethodType" clearable style="width: 100%"
placeholder="请选择终端接线方式类型">
<el-option v-for="item in terminalWiringMethodTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='厂家:' prop='manufacturer'>
<el-select v-model='form.manufacturer' clearable style='width: 100%' placeholder='请选择厂家'>
<el-option v-for='item in manufacturerList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="厂家:" prop="manufacturer">
<el-select v-model="form.manufacturer" clearable style="width: 100%" placeholder="请选择厂家">
<el-option v-for="item in manufacturerList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='本次终端检测时间:' prop='currentTerminalDetectionTime' class='label_over_warp'>
<el-date-picker style='width: 100%' v-model='form.currentTerminalDetectionTime' type='datetime'
placeholder='请选择本次终端检测时间' :disabled-date='disableStartDate' />
<el-form-item for="-" label="本次终端检测时间:" prop="currentTerminalDetectionTime" class="label_over_warp">
<el-date-picker style="width: 100%" v-model="form.currentTerminalDetectionTime" type="datetime"
placeholder="请选择本次终端检测时间" :disabled-date="disableStartDate" />
</el-form-item>
<el-form-item for='-' label='下次终端定检时间:' prop='nextTerminalInspectionTime' class='label_over_warp'>
<el-date-picker style='width: 100%' v-model='form.nextTerminalInspectionTime' type='datetime'
placeholder='请选择下次终端定检时间' :disabled-date='disableEndDate' />
<el-form-item for="-" label="下次终端定检时间:" prop="nextTerminalInspectionTime" class="label_over_warp">
<el-date-picker style="width: 100%" v-model="form.nextTerminalInspectionTime" type="datetime"
placeholder="请选择下次终端定检时间" :disabled-date="disableEndDate" />
</el-form-item>
<el-form-item for='-' label='电压互感器类型:' prop='voltageTransformerType'>
<el-select v-model='form.voltageTransformerType' clearable style='width: 100%'
placeholder='请选择电压互感器类型'>
<el-option v-for='item in voltageTransformerTypeList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="电压互感器类型:" prop="voltageTransformerType">
<el-select v-model="form.voltageTransformerType" clearable style="width: 100%" placeholder="请选择电压互感器类型">
<el-option v-for="item in voltageTransformerTypeList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='中性点接线方式:' prop='neutralPointWiringMethod'>
<el-select v-model='form.neutralPointWiringMethod' clearable style='width: 100%'
placeholder='请选择中性点接线方式'>
<el-option v-for='item in neutralPointWiringMethodList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="中性点接线方式:" prop="neutralPointWiringMethod">
<el-select v-model="form.neutralPointWiringMethod" clearable style="width: 100%"
placeholder="请选择中性点接线方式">
<el-option v-for="item in neutralPointWiringMethodList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='厂家终端编号:' prop='manufacturerDeviceNumber'>
<el-input v-model.trim='form.manufacturerDeviceNumber' autocomplete='off'
placeholder='请输入厂家终端编号' maxlength='64' show-word-limit />
<el-form-item for="-" label="厂家终端编号:" prop="manufacturerDeviceNumber">
<el-input v-model="form.manufacturerDeviceNumber" autocomplete="off" placeholder="请输入厂家终端编号" />
</el-form-item>
<el-form-item for='-' label='SIM卡号' prop='simCardNumber'>
<el-input v-model.trim='form.simCardNumber' autocomplete='off' placeholder='请输入SIM卡号'
maxlength='128' show-word-limit />
<el-form-item for="-" label="SIM卡号" prop="simCardNumber">
<el-input v-model="form.simCardNumber" autocomplete="off" placeholder="请输入SIM卡号" />
</el-form-item>
<el-form-item for='-' label='对时功能:' prop='timeSyncFunction'>
<el-form-item for="-" label="对时功能:" prop="timeSyncFunction">
<!-- 默认值 开启 -->
<el-radio-group v-model='form.timeSyncFunction'>
<el-radio :value='1'>开启</el-radio>
<el-radio :value='0'>关闭</el-radio>
<el-radio-group v-model="form.timeSyncFunction">
<el-radio :value="1">开启</el-radio>
<el-radio :value="0">关闭</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item for='-' label='电镀功能:' prop='electroplatingFunction'>
<el-form-item for="-" label="电镀功能:" prop="electroplatingFunction">
<!-- 默认 关闭 下拉框 -->
<el-select v-model='form.electroplatingFunction' clearable style='width: 100%'
placeholder='请选择电镀功能'>
<el-option v-for='item in electroplatingFunctionList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-select v-model="form.electroplatingFunction" clearable style="width: 100%" placeholder="请选择电镀功能">
<el-option v-for="item in electroplatingFunctionList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='召唤标志:' prop='summonFlag'>
<el-select v-model='form.summonFlag' clearable style='width: 100%' placeholder='请选择召唤标志'>
<el-option v-for='item in summonFlagList' :key='item.id' :label='item.name'
:value='item.id'></el-option>
<el-form-item for="-" label="召唤标志:" prop="summonFlag">
<el-select v-model="form.summonFlag" clearable style="width: 100%" placeholder="请选择召唤标志">
<el-option v-for="item in summonFlagList" :key="item.id" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item for='-' label='告警功能:' prop='alarmFunction'>
<el-radio-group v-model='form.alarmFunction'>
<el-radio value='1'></el-radio>
<el-radio value='0'></el-radio>
<el-form-item for="-" label="告警功能:" prop="alarmFunction">
<el-radio-group v-model="form.alarmFunction">
<el-radio value="1"></el-radio>
<el-radio value="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item for='-' label='合同号:' prop='contractNumber'>
<el-input v-model.trim='form.contractNumber' autocomplete='off' placeholder='请输入合同号'
maxlength='64' show-word-limit />
<el-form-item for="-" label="合同号:" prop="contractNumber">
<el-input v-model="form.contractNumber" autocomplete="off" placeholder="请输入合同号" />
</el-form-item>
<!-- </div> -->
<el-divider content-position='left'>附件材料</el-divider>
<el-form-item for='-' label='信息安全检测报告:' class='uploadFile'>
<el-upload v-model:file-list='form.informationSecurityTestReport' ref='uploadRef' action=''
:accept='acceptType' :limit='1' :on-exceed='handleExceed' :on-change='choose'
:auto-upload='false'
:on-progress="uploadFileName('informationSecurityTestReport')" :on-remove='removeFile'>
<el-divider content-position="left">附件材料</el-divider>
<el-form-item for="-" label="信息安全检测报告:" class="uploadFile" prop="informationSecurityTestReport">
<el-upload v-model:file-list="form.informationSecurityTestReport" ref="uploadRef" action=""
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('informationSecurityTestReport')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item v-if='false' for='-' label='验收检验报告单:' class='uploadFile'
prop='acceptanceInspectionReportSingle'>
<el-upload v-model:file-list='form.acceptanceInspectionReportSingle' ref='uploadRef' action=''
:accept='acceptType' :limit='1' :on-exceed='handleExceed' :on-change='choose'
:auto-upload='false'
:on-progress="uploadFileName('acceptanceInspectionReportSingle')" :on-remove='removeFile'>
<el-form-item v-if="false" for="-" label="验收检验报告单:" class="uploadFile"
prop="acceptanceInspectionReportSingle">
<el-upload v-model:file-list="form.acceptanceInspectionReportSingle" ref="uploadRef" action=""
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('acceptanceInspectionReportSingle')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item for='-' label='验收检验报告:' class='uploadFile' prop='acceptanceInspectionReport'>
<el-upload v-model:file-list='form.acceptanceInspectionReport' ref='uploadRef' action=''
:accept='acceptType' :limit='1' :on-exceed='handleExceed' :on-change='choose'
:auto-upload='false'
:on-progress="uploadFileName('acceptanceInspectionReport')" :on-remove='removeFile'>
<el-form-item for="-" label="验收检验报告:" class="uploadFile" prop="acceptanceInspectionReport">
<el-upload v-model:file-list="form.acceptanceInspectionReport" ref="uploadRef" action=""
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('acceptanceInspectionReport')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item for='-' label='型式实验报告:' class='uploadFile'>
<el-upload v-model:file-list='form.typeExperimentReport' ref='uploadRef' action='' :accept='acceptType'
:limit='1' :on-exceed='handleExceed' :on-change='choose' :auto-upload='false'
:on-progress="uploadFileName('typeExperimentReport')" :on-remove='removeFile'>
<el-form-item for="-" label="型式实验报告:" class="uploadFile" prop="typeExperimentReport">
<el-upload v-model:file-list="form.typeExperimentReport" ref="uploadRef" action="" :accept="acceptType"
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('typeExperimentReport')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item for='-' label='出厂检验报告:' class='uploadFile'>
<el-upload v-model:file-list='form.factoryInspectionReport' ref='uploadRef' action=''
:accept='acceptType' :limit='1' :on-exceed='handleExceed' :on-change='choose'
:auto-upload='false'
:on-progress="uploadFileName('factoryInspectionReport')" :on-remove='removeFile'>
<el-form-item for="-" label="出厂检验报告:" class="uploadFile" prop="factoryInspectionReport">
<el-upload v-model:file-list="form.factoryInspectionReport" ref="uploadRef" action=""
:accept="acceptType" :limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('factoryInspectionReport')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item for='-' label='性能检测报告:' class='uploadFile'>
<el-upload v-model:file-list='form.performanceTestReport' ref='uploadRef' action='' :accept='acceptType'
:limit='1' :on-exceed='handleExceed' :on-change='choose' :auto-upload='false'
:on-progress="uploadFileName('performanceTestReport')" :on-remove='removeFile'>
<el-form-item for="-" label="性能检测报告:" class="uploadFile" prop="performanceTestReport">
<el-upload v-model:file-list="form.performanceTestReport" ref="uploadRef" action="" :accept="acceptType"
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('performanceTestReport')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
<el-form-item for='-' label='其他附件:' class='uploadFile'>
<el-upload v-model:file-list='form.otherAttachments' ref='uploadRef' action='' :accept='acceptType'
:limit='1' :on-exceed='handleExceed' :on-change='choose' :auto-upload='false'
:on-progress="uploadFileName('otherAttachments')" :on-remove='removeFile'>
<el-form-item for="-" label="其他附件:" class="uploadFile" prop="otherAttachments">
<el-upload v-model:file-list="form.otherAttachments" ref="uploadRef" action="" :accept="acceptType"
:limit="1" :on-exceed="handleExceed" :on-change="choose" :auto-upload="false"
:on-progress="uploadFileName('otherAttachments')" :on-remove="removeFile">
<template #trigger>
<el-button type='primary'>上传文件</el-button>
<el-button type="primary">上传文件</el-button>
</template>
</el-upload>
</el-form-item>
</el-form>
<template #footer>
<div class='dialog-footer'>
<el-button @click='close()'>取消</el-button>
<el-button type='primary' @click='confirmForm(true)' :loading='loading'>保存</el-button>
<el-button type='primary' @click='confirmForm(false)' :loading='loading'
v-if='importType != 1'>提交审批
</el-button>
<div class="dialog-footer">
<el-button @click="close()">取消</el-button>
<el-button type="primary" @click="confirmForm(true)" :loading="loading">保存</el-button>
<el-button type="primary" @click="confirmForm(false)" :loading="loading"
v-if="importType != 1">提交审批</el-button>
</div>
</template>
</el-dialog>
</template>
<script lang='ts' setup>
<script lang="ts" setup>
import { ref, onMounted, reactive, defineExpose, defineProps, defineEmits, watch, onUnmounted } from 'vue'
// import { upload, insertTerminal, updateTerminal } from '@/api/process-boot/terminal'
import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus'
@@ -379,7 +357,6 @@ import {
import { getAllDeptList } from '@/api/common'
import { getTerminalDetailsById } from '@/api/supervision-boot/terminal/index'
import { nodeAllList } from '@/api/device-boot/Business'
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
const dialogFormVisible = ref(false)
@@ -455,7 +432,7 @@ const terminalModelList = [
const substationList: any = ref([])
//字典获取通讯类型
const frontTypeList = dictData.getBasicData('Front_Type', ['CLD', '61850'])
console.log('🚀 ~ frontTypeList:', frontTypeList)
console.log("🚀 ~ frontTypeList:", frontTypeList)
//定义通讯状态下拉框数据
const communicationStatusList = [
{
@@ -718,9 +695,6 @@ const longitudeReg = /^[-+]?((180(\.0{1,10})?)|(1[0-7][0-9](\.\d{1,10})?)|([1-9]
// 纬度正则表达式
const latitudeReg = /^[-+]?((90(\.0{1,10})?)|([1-8]?\d(\.\d{1,10})?)|(0(\.\d{1,10})?))$/
// 特殊字符正则表达式
const specialCharRegex = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/
//定义校验规则
const rules = ref({
//基础信息
@@ -814,16 +788,6 @@ const rules = ref({
required: true,
message: '请输入终端编码',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
trigger: 'blur'
}
],
monitoringTerminalName: [
@@ -831,16 +795,6 @@ const rules = ref({
required: true,
message: '请输入监测名称',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
trigger: 'blur'
}
],
voltageTransformerType: [
@@ -1175,10 +1129,10 @@ const choose = (e: any) => {
if (uploadName.value == 'deviceFilePath') {
deviceFilePath.value = res.data.name
}
//验收检验报告单
// else if (uploadName.value == 'acceptanceInspectionReportSingle') {
// acceptanceInspectionReportSingle.value = res.data.name
// }
//验收检验报告单
// else if (uploadName.value == 'acceptanceInspectionReportSingle') {
// acceptanceInspectionReportSingle.value = res.data.name
// }
//验收检验报告
else if (uploadName.value == 'acceptanceInspectionReport') {
acceptanceInspectionReport.value = res.data.name
@@ -1212,7 +1166,7 @@ const disabledDate = time => {
const importType = ref(null)
const resendId = ref('')
const open = async (row: any) => {
console.log('🚀 ~ open ~ row:', row.row)
let flag = row.row ? true : false
importType.value = null
if (!flag) await getPowerCompanyList(false)
@@ -1359,8 +1313,8 @@ const confirmForm = async (flag: boolean) => {
close()
}
}).catch(() => {
loading.value = false
})
loading.value = false
})
} else {
confirmFormData.reporter = adminInfo.$state.id
confirmFormData.orgId = adminInfo.$state.deptId
@@ -1378,8 +1332,8 @@ const confirmForm = async (flag: boolean) => {
close()
}
}).catch(() => {
loading.value = false
})
loading.value = false
})
}
} else {
console.log('表单验证失败')
@@ -1397,7 +1351,7 @@ const encode = (e: string) => {
}
defineExpose({ open })
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.fixed_upload {
width: 100%;
height: auto;

View File

@@ -1,9 +1,9 @@
<template>
<TableHeader area datePicker nextFlag theCurrentTime ref="TableHeaderRef">
<TableHeader area datePicker nextFlag theCurrentTime showTimeAll showExport ref="TableHeaderRef">
<template #select>
<el-form-item label="搜索">
<el-input v-model="tableStore.table.params.searchValue" placeholder="输入变电站、终端名称"
clearable maxlength="32" show-word-limit style="width: 180px"></el-input>
clearable style="width: 180px"></el-input>
</el-form-item>
<el-form-item label="流程状态">
<el-select v-model="tableStore.table.params.status" clearable placeholder="请选择流程状态">
@@ -69,12 +69,13 @@ const tableStore = new TableStore({
url: '/supervision-boot/deVReport/list',
publicHeight: 65,
method: 'POST',
filename:'终端入网检测',
column: [
{
width: '60',
type: 'checkbox'
},
{ title: '序号', width: 80,formatter: (row: any) => {
{ title: '序号', width: 80,formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
} },
{
@@ -217,6 +218,21 @@ const tableStore = new TableStore({
beforeSearchFun: () => {
tableStore.table.params.orgNo = tableStore.table.params.deptIndex
// tableStore.table.params.relationUserName = tableStore.table.params.userName
},
exportProcessingData: () => {
tableStore.table.allData = tableStore.table.allData.filter(item => {
item.status =
item.status == 0
? '待提交审批'
: item.status == 1
? '审批中'
: item.status == 2
? '审批通过'
: item.status == 3
? '审批不通过'
: '已取消'
return item
})
}
})
tableStore.table.params.status = ''

View File

@@ -96,15 +96,11 @@ const submit = async () => {
let data = new FormData()
data.append('file', form.file)
await deVReportImportSensitive(data)
.then(res =>{
handleImportResponse(title.value, res)
.then(res => handleImportResponse(title.value, res))
.finally(() => {
tableStore.index()
eventDataUploadVisible.value = false
ElMessage.success('导入成功!')
}).catch(() => {
ElMessage.warning('导入失败!')
})
}
})
} else {