bug调整

This commit is contained in:
2024-12-07 13:55:56 +08:00
parent 7255c3ea90
commit e56f01db93
7 changed files with 535 additions and 377 deletions

View File

@@ -1,203 +1,213 @@
<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.trim='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.trim='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母线" />
<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>
<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="请输入监测点名称" />
<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>
<!-- {{ 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,'')" />
<el-input style="width: 48%" v-model.trim="form.pt2" autocomplete="off" placeholder="请输入PT变比"
oninput="value=value.replace(/[^0-9.]/g,'')" />
<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>
<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变比" />
<el-input v-model.trim="form.ct2" style="width: 48%" autocomplete="off"
oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="请输入CT变比" />
<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>
<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.trim='form.shortCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入短路容量">
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入短路容量' maxlength='6' show-word-limit>
<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.trim='form.dealCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入协议容量">
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入协议容量' maxlength='6' show-word-limit>
<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.trim='form.devCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入终端容量">
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入终端容量' maxlength='6' show-word-limit>
<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.trim='form.standardCapacity' autocomplete='off' oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder="请输入基准容量">
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')" placeholder='请输入基准容量' maxlength='6' show-word-limit>
<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-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 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="请输入电网侧变电站" />
<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>
<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'
@@ -210,6 +220,7 @@ 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)
@@ -603,6 +614,8 @@ const getDictTree = (e?: string) => {
businessTypeList.value = []
}
}
// 特殊字符正则表达式
const specialCharRegex = /[<>\"'\%;()&+\-———|@*_?#$!,.html<script>]/
//定义校验规则
const rules = ref({
//基础信息
@@ -668,6 +681,16 @@ const rules = ref({
required: true,
message: '请输入监测点名称',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
trigger: 'blur'
}
],
voltageLevel: [
@@ -680,7 +703,17 @@ const rules = ref({
connectedBus: [
{
required: true,
message: '请选择接入母线',
message: '请输入接入母线',
trigger: 'blur'
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'))
} else {
callback()
}
},
trigger: 'blur'
}
],
@@ -778,8 +811,18 @@ 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: [
@@ -861,7 +904,8 @@ const close = () => {
dialogFormVisible.value = false
emits('onSubmit')
}
onMounted(() => { })
onMounted(() => {
})
watch(
() => projectList.value,
@@ -954,7 +998,9 @@ const confirmForm = async (flag: boolean) => {
ruleFormRef.value.resetFields()
resetForm()
close()
}).catch(() => { loading.value = false})
}).catch(() => {
loading.value = false
})
} else {
// 先判断提交终端信息与监测点信息
// 提交监测点信息
@@ -994,7 +1040,9 @@ const confirmForm = async (flag: boolean) => {
ruleFormRef.value.resetFields()
resetForm()
close()
}).catch(() => { loading.value = false})
}).catch(() => {
loading.value = false
})
} else {
confirmFormData.id = resendId.value
await updateMointorPointFormData(confirmFormData).then(res => {
@@ -1007,7 +1055,9 @@ const confirmForm = async (flag: boolean) => {
resetForm()
close()
}
}).catch(() => { loading.value = false})
}).catch(() => {
loading.value = false
})
}
} else {
// // console.log('表单验证失败')
@@ -1021,7 +1071,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

@@ -119,11 +119,11 @@
<el-form-item for="-" label="终端编码:" prop="monitoringTerminalCode">
<el-input v-model.trim="form.monitoringTerminalCode" autocomplete="off" placeholder="请输入终端编码"
@input="encode" />
@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="请输入终端名称" />
<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="请选择终端型号">
@@ -176,10 +176,10 @@
</el-select>
</el-form-item>
<el-form-item for="-" label="识别码:" prop="identificationCode">
<el-input v-model.trim="form.identificationCode" autocomplete="off" placeholder="请输入识别码" />
<el-input v-model.trim="form.identificationCode" autocomplete="off" placeholder="请输入识别码" maxlength="64" show-word-limit />
</el-form-item>
<el-form-item for="-" label="终端秘钥:" prop="terminalSecretKey">
<el-input v-model.trim="form.terminalSecretKey" autocomplete="off" placeholder="请输入终端秘钥" />
<el-input v-model.trim="form.terminalSecretKey" autocomplete="off" placeholder="请输入终端秘钥" maxlength="64" show-word-limit />
</el-form-item>
<el-form-item for="-" label="终端模型:" prop="terminalModel">
<el-select v-model="form.terminalModel" clearable style="width: 100%" placeholder="请选择终端模型">
@@ -229,11 +229,11 @@
</el-select>
</el-form-item>
<el-form-item for="-" label="厂家终端编号:" prop="manufacturerDeviceNumber">
<el-input v-model.trim="form.manufacturerDeviceNumber" autocomplete="off" placeholder="请输入厂家终端编号" />
<el-input v-model.trim="form.manufacturerDeviceNumber" autocomplete="off" placeholder="请输入厂家终端编号" maxlength="64" show-word-limit/>
</el-form-item>
<el-form-item for="-" label="SIM卡号" prop="simCardNumber">
<el-input v-model.trim="form.simCardNumber" autocomplete="off" placeholder="请输入SIM卡号" />
<el-input v-model.trim="form.simCardNumber" autocomplete="off" placeholder="请输入SIM卡号" maxlength="128" show-word-limit />
</el-form-item>
<el-form-item for="-" label="对时功能:" prop="timeSyncFunction">
<!-- 默认值 开启 -->
@@ -262,7 +262,7 @@
</el-radio-group>
</el-form-item>
<el-form-item for="-" label="合同号:" prop="contractNumber">
<el-input v-model.trim="form.contractNumber" autocomplete="off" placeholder="请输入合同号" />
<el-input v-model.trim="form.contractNumber" autocomplete="off" placeholder="请输入合同号" maxlength="64" show-word-limit />
</el-form-item>
<!-- </div> -->
<el-divider content-position="left">附件材料</el-divider>
@@ -335,9 +335,10 @@
<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(true)" :loading="loading">保存</el-button>-->
<el-button type="primary" @click="confirmForm(false)" :loading="loading"
v-if="importType != 1">提交审批</el-button>
>提交审批</el-button>
<!-- v-if="importType != 1">提交审批</el-button>-->
</div>
</template>
</el-dialog>
@@ -698,6 +699,9 @@ 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 = /[<>\"'\%;()&+\-———|@*_?#$!,.html<script>]/;
//定义校验规则
const rules = ref({
//基础信息
@@ -791,14 +795,34 @@ const rules = ref({
required: true,
message: '请输入终端编码',
trigger: 'blur'
}
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'));
} else {
callback();
}
},
trigger: 'blur',
},
],
monitoringTerminalName: [
{
required: true,
message: '请输入监测名称',
trigger: 'blur'
}
},
{
validator: (rule, value, callback) => {
if (specialCharRegex.test(value)) {
callback(new Error('输入包含不允许的特殊字符'));
} else {
callback();
}
},
trigger: 'blur',
},
],
voltageTransformerType: [
{