Commit b4373b81 authored by 张伯涛's avatar 张伯涛

调度管理模块表单校验完善

parent 6fc16280
......@@ -11,7 +11,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="openingOfElectricValve" style="padding: 0;margin: 0;">
<el-input maxlength="5" v-float-number style="width: 80%; text-align: left"
<el-input maxlength="6" style="width: 80%; text-align: left"
v-model="formDatas.openingOfElectricValve">
<template #append>
<div style="width: 40px">%</div>
......@@ -40,7 +40,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="boilerOutletWaterTemperature" style="padding: 0;margin: 0;">
<el-input maxlength="10" v-float-number style="width: 80%"
<el-input maxlength="10" style="width: 80%"
v-model="formDatas.boilerOutletWaterTemperature">
<template #append>
<div style="width: 40px"></div>
......@@ -59,7 +59,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="holdingTime" style="padding: 0;margin: 0;">
<el-input maxlength="10" v-float-number style="width: 80%" v-model="formDatas.holdingTime">
<el-input maxlength="10" style="width: 80%" v-model="formDatas.holdingTime">
<template #append>
<div style="width: 40px">分钟</div>
</template>
......@@ -77,7 +77,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="upperLlimitMainFlow" style="padding: 0;margin: 0;">
<el-input maxlength="10" v-float-number style="width: 80%"
<el-input maxlength="10" style="width: 80%"
v-model="formDatas.upperLlimitMainFlow">
<template #append>
<div style="width: 40px">m3/h</div>
......@@ -96,7 +96,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="lowerLlimitMainFlow" style="padding: 0;margin: 0;">
<el-input maxlength="10" v-float-number style="width: 80%"
<el-input maxlength="10" style="width: 80%"
v-model="formDatas.lowerLlimitMainFlow">
<template #append>
<div style="width: 40px">m3/h</div>
......@@ -115,7 +115,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="maxTargetTemperature" style="padding: 0;margin: 0;">
<el-input v-float-number maxlength="10" style="width: 80%"
<el-input maxlength="10" style="width: 80%"
v-model="formDatas.maxTargetTemperature">
<template #append>
<div style="width: 40px"></div>
......@@ -134,7 +134,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="bestHoldingTime" style="padding: 0;margin: 0;">
<el-input maxlength="10" v-float-number style="width: 80%" v-model="formDatas.bestHoldingTime">
<el-input maxlength="10" style="width: 80%" v-model="formDatas.bestHoldingTime">
<template #append>
<div style="width: 40px">分钟</div>
</template>
......@@ -206,25 +206,29 @@ const rules = reactive({
{ pattern: /^([0-9]\d{0,1}|100$)(\.\d{1,2})?$/, "message": "请输入正确的百分比格式", trigger: "blur" }
],
boilerOutletWaterTemperature: [
{ required: true, message: "锅炉出水温度是必填项", trigger: "blur" }
{ required: true, message: "锅炉出水温度是必填项", trigger: "blur" },
{pattern: /^-?(50|[0-4]?\d(\.\d{1,2})?)$/, message: "请输入-50到50可保留两位小数", trigger: "blur"}
],
holdingTime: [
{ required: true, message: "电调开启度保持时间是必填项", trigger: "blur" }
{ required: true, message: "电调开启度保持时间是必填项", trigger: "blur" },
{ pattern: /^\d+$/, "message": "请输入大于0的数字", trigger: "blur" }
],
upperLlimitMainFlow: [
{ required: true, message: "锅炉房供水总管流量上限值是必填项", trigger: "blur" }
{ required: true, message: "锅炉房供水总管流量上限值是必填项", trigger: "blur" },
{ pattern: /^\d*(\.\d{1,2})?$/, "message": "请输入大于等于0的数字可以是两位小数", trigger: "blur" }
],
lowerLlimitMainFlow: [
{ required: true, message: "锅炉房供水总管流量下限值是必填项", trigger: "blur" }
{ required: true, message: "锅炉房供水总管流量下限值是必填项", trigger: "blur" },
{ pattern: /^\d*(\.\d{1,2})?$/, "message": "请输入大于等于0的数字可以是两位小数", trigger: "blur" }
],
maxTargetTemperature: [
{ required: true, message: "目标温度最大值是必填项", trigger: "blur" },
{pattern: /^(([0-9]?[0-9]{0,2}(\.\d+)?|1[01][0-9]{2}(\.\d+)?|1200(\.0+)?))$/ ,message: "目标温度的最大值是不超过1200最小值不小于0", trigger: "blur"}
{ pattern: /^\d*(\.\d{1,2})?$/, "message": "请输入大于等于0的数字可以是两位小数", trigger: "blur" }
],
bestHoldingTime: [
{ required: true, message: "总管流量上下限范围内保持时间必填项", trigger: "blur" }
{ required: true, message: "总管流量上下限范围内保持时间必填项", trigger: "blur" },
{ pattern: /^\d+$/, "message": "请输入大于0的数字", trigger: "blur" }
],
});
......
......@@ -135,7 +135,7 @@ const rules = reactive({
],
record: [
{ required: true, message: "能源用度是必选项", trigger: "blur" },
{ pattern: /^(0\.[1-9]\d?|[1-9]\d*)(\.\d{1,2})?$/, "message": "请输入大于0的数字可以是两位小数", trigger: "blur" }
],
recordDate: [{ required: true, message: "日期是必选项" }],
});
......@@ -235,50 +235,42 @@ const handleEdit = (val) => {
console.log("一行的数据val===>", val);
action.value = "edit";
dialogVisible.value = true;
addSaveBtnLoading.value = false
formEnergy.value = { ...val }
};
const onSubmit = () => {
addSaveBtnLoading.value = true
loading.value = true
energyForm.value.validate((valid) => {
if (valid) {
addSaveBtnLoading.value = true
let res = null;
formEnergy.recordDate = /^\d{4}-\d{2}-\d{2}$/.test(formEnergy.recordDate)
? formEnergy.recordDate
: timeFormat(formEnergy.recordDate);
if (action.value === "add") {
http.post("api/energy/Save", { ...formEnergy.value }, false).then(res => {
loading.value = true
if (res.success) {
dialogVisible.value = false
addSaveBtnLoading.value = false
ElMessage.success(res.message)
getEnergyData();
}
getEnergyData();
})
loading.value = false
} else {
delete formEnergy.value.supplyName;
formEnergy.value.updateNullFields = "";
http.post("api/energy/Save", { ...formEnergy.value }, false).then((res => {
if (res.success) {
dialogVisible.value = false
addSaveBtnLoading.value = false
ElMessage.success(res.message)
getEnergyData();
loading.value = false
}
}))
}
} else {
ElMessage({
showClose: true,
message: "请输入正确的内容",
type: "error",
});
addSaveBtnLoading.value = false
}
});
};
......@@ -489,7 +481,7 @@ onMounted(() => {
<tr>
<td style="text-align: left">
<el-form-item prop="record" style="margin: 0; padding: 0; width: 100%">
<el-input v-float-number maxlength="10" v-model="formEnergy.record" placeholder="请输入能源用度" />
<el-input maxlength="10" v-model="formEnergy.record" placeholder="请输入能源用度" />
</el-form-item>
</td>
</tr>
......
......@@ -43,7 +43,7 @@
<tr>
<td style="text-align: left">
<el-form-item prop="timeoutMin" style="padding: 0;margin: 0;">
<el-input v-float-number maxlength="5" style="width: 80%" v-model="List.timeoutMin"></el-input>
<el-input maxlength="5" style="width: 80%" v-model="List.timeoutMin"></el-input>
</el-form-item>
</td>
</tr>
......@@ -118,7 +118,18 @@ const rules = reactive({
],
timeoutMin: [
{ required: true, message: "判断时间是必填项", trigger: "blur" },
{ pattern: /^([1-9]|[1-5][0-9])$/, "message": "判断时间必须是大于0小于60的整数", trigger: "change" }
// { pattern: /^[1-5]?\d$/, "message": "判断时间必须是大于0小于60的整数", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^[1-5]?\d$/)
if (pattern.test(value) === false || Number(value) === 0) {
callback(new Error('请输入0到60的数字'));
} else {
callback();
}
},
trigger: 'blur',
}
],
diffPercentage: [
{ required: true, message: "偏差百分比是必填项", trigger: "blur" },
......
......@@ -141,27 +141,60 @@ const rules = reactive({
],
diffPercentage: [ // 自动偏差百分比
{required: true, message: '请输入正确数值'},
{ pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur" }
{ pattern: /^([0-9]\d{0,1}|100$)(\.\d{1,2})?$/, "message": "请输入0到100可以是两位小数", trigger: "blur" }
],
wind: [ // 风速
{required: true, message: '请输入正确数值'},
{ pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur" }
// { pattern: /^(0|[1-9]|1[0-7])(\.\d{1,2})?$/, "message": "请输入正确数值", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^(0|[1-9]|1[0-7])(\.\d{1,2})?$/)
if (pattern.test(value) === false || Number(value) > 17) {
callback(new Error('请输入0-17可以是两位小数'));
} else {
callback();
}
},
trigger: 'blur',
}
],
illumination: [
{required: true, message: '请输入正确数值'},
{ pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur" }
// { pattern: /^(5000|([1-4]\d{3})|([1-9]\d{0,2})|0)(\.\d{1,2})?$/, "message": "请输入正确数值", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^(5000|([1-4]\d{3})|([1-9]\d{0,2})|0)(\.\d{1,2})?$/)
if (pattern.test(value) === false || Number(value) > 5000) {
callback(new Error('请输入0-5000可以是两位小数'));
} else {
callback();
}
},
trigger: 'blur',
}
],
sort: [
{required: true, message: '请输入正确数值'},
{ pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur" }
{ pattern: /^\d+$/, "message": "请输入大于0的数字", trigger: "blur" }
],
timeoutMin: [ // 验证时间
{required: true, message: '请输入正确数值'},
{ pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur" }
{ pattern: /^\d*(\.\d{1,2})?$/, "message": "大于等于0的数字可以是两位小数", trigger: "blur" }
],
temperature: [
{required: true, message: '请输入正确的温度'},
{ pattern: /^(-?\d{1,11})(\.[0-9]{1,4})?$/, message: "请输入正确的温度", trigger: "blur" }
// { pattern: /^-?(?:[0-3]?\d(?:\.\d{1,2})?|4[0-4](?:\.\d{1,2})?|45(?:\.0{1,2})?)$/, message: "请输入正确的温度", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^-?(?:[0-3]?\d(?:\.\d{1,2})?|4[0-4](?:\.\d{1,2})?|45(?:\.0{1,2})?)$/)
if (pattern.test(value) === false || Number(value) < -30) {
callback(new Error('请输入-35到45可以是两位小数'));
} else {
callback();
}
},
trigger: 'blur',
}
],
tempRegulation: [
{required: true, message: '请输入正确数值'},
......@@ -210,7 +243,7 @@ const rules = reactive({
<el-col :span="8" class="content-col-label">风速:</el-col>
<el-col :span="16" class="content-col-value">
<el-form-item prop="wind" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="addData.wind" style="width: 510px" />
<el-input :input-style="inputStyle" maxlength="10" v-model="addData.wind" style="width: 510px" />
</el-form-item>
</el-col>
</el-row>
......@@ -218,7 +251,7 @@ const rules = reactive({
<el-col :span="8" class="content-col-label">光照:</el-col>
<el-col :span="16" class="content-col-value">
<el-form-item prop="illumination" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="addData.illumination"
<el-input :input-style="inputStyle" maxlength="10" v-model="addData.illumination"
style="width: 510px" />
</el-form-item>
</el-col>
......@@ -228,7 +261,7 @@ const rules = reactive({
<el-col :span="8" class="content-col-label">排序:</el-col>
<el-col :span="16" class="content-col-value">
<el-form-item prop="sort" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="addData.sort" style="width: 510px" />
<el-input :input-style="inputStyle" maxlength="10" v-model="addData.sort" style="width: 510px" />
</el-form-item>
</el-col>
</el-row>
......@@ -241,7 +274,7 @@ const rules = reactive({
<el-col :span="5" class="content-col-label">自动偏差百分比(%d):</el-col>
<el-col :span="7" class="content-col-value">
<el-form-item prop="diffPercentage" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="addData.diffPercentage"
<el-input :input-style="inputStyle" maxlength="10" v-model="addData.diffPercentage"
style="width: 175px" />
</el-form-item>
</el-col>
......@@ -251,7 +284,7 @@ const rules = reactive({
<el-col :span="5" class="content-col-label">自动验证循环时间(分钟):</el-col>
<el-col :span="7" class="content-col-value">
<el-form-item prop="timeoutMin" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="addData.timeoutMin"
<el-input :input-style="inputStyle" maxlength="10" v-model="addData.timeoutMin"
style="width: 175px" />
</el-form-item>
</el-col>
......
......@@ -52,27 +52,60 @@ const rules = reactive({
],
diffPercentage: [ // 自动偏差百分比
{required: true, message: '请输入正确数值'},
{pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur"}
{ pattern: /^([0-9]\d{0,1}|100$)(\.\d{1,2})?$/, "message": "请输入0到100可以是两位小数", trigger: "blur" }
],
wind: [ // 风速
{required: true, message: '请输入正确数值'},
{pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur"}
// { pattern: /^(0|[1-9]|1[0-7])(\.\d{1,2})?$/, "message": "请输入正确数值", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^(0|[1-9]|1[0-7])(\.\d{1,2})?$/)
if (pattern.test(value) === false || Number(value) > 17) {
callback(new Error('请输入0-17可以是两位小数'));
} else {
callback();
}
},
trigger: 'blur',
}
],
illumination: [
{required: true, message: '请输入正确数值'},
{pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur"}
// { pattern: /^(5000|([1-4]\d{3})|([1-9]\d{0,2})|0)(\.\d{1,2})?$/, "message": "请输入正确数值", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^(5000|([1-4]\d{3})|([1-9]\d{0,2})|0)(\.\d{1,2})?$/)
if (pattern.test(value) === false || Number(value) > 5000) {
callback(new Error('请输入0-5000可以是两位小数'));
} else {
callback();
}
},
trigger: 'blur',
}
],
sort: [
{required: true, message: '请输入正确数值'},
{pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur"}
{ pattern: /^\d+$/, "message": "请输入大于0的数字", trigger: "blur" }
],
timeoutMin: [ // 验证时间
{required: true, message: '请输入正确数值'},
{pattern: /[0-9]{1,10}/, "message": "请输入正确数值", trigger: "blur"}
{ pattern: /^\d*(\.\d{1,2})?$/, "message": "大于等于0的数字可以是两位小数", trigger: "blur" }
],
temperature: [
{required: true, message: '请输入正确的温度'},
{pattern: /^(-?\d{1,11})(\.[0-9]{1,4})?$/, message: "请输入正确的温度", trigger: "blur"}
// { pattern: /^-?(?:[0-3]?\d(?:\.\d{1,2})?|4[0-4](?:\.\d{1,2})?|45(?:\.0{1,2})?)$/, message: "请输入正确的温度", trigger: "blur" }
{
validator: (rule, value, callback) => {
var pattern = new RegExp(/^-?(?:[0-3]?\d(?:\.\d{1,2})?|4[0-4](?:\.\d{1,2})?|45(?:\.0{1,2})?)$/)
if (pattern.test(value) === false || Number(value) < -30) {
callback(new Error('请输入-35到45可以是两位小数'));
} else {
callback();
}
},
trigger: 'blur',
}
],
tempRegulation: [
{required: true, message: '请输入正确数值'},
......@@ -217,7 +250,7 @@ function onClose() {
<el-col :span="8" class="content-col-label">风速:</el-col>
<el-col :span="16" class="content-col-value">
<el-form-item prop="wind" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="reviseData.wind"
<el-input :input-style="inputStyle" maxlength="10" v-model="reviseData.wind"
style="width: 510px"/>
</el-form-item>
</el-col>
......@@ -226,7 +259,7 @@ function onClose() {
<el-col :span="8" class="content-col-label">光照:</el-col>
<el-col :span="16" class="content-col-value">
<el-form-item prop="illumination" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="reviseData.illumination"
<el-input :input-style="inputStyle" maxlength="10" v-model="reviseData.illumination"
style="width: 510px"/>
</el-form-item>
</el-col>
......@@ -235,7 +268,7 @@ function onClose() {
<el-col :span="8" class="content-col-label">排序:</el-col>
<el-col :span="16" class="content-col-value">
<el-form-item prop="sort" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="reviseData.sort"
<el-input :input-style="inputStyle" maxlength="10" v-model="reviseData.sort"
style="width: 510px"/>
</el-form-item>
</el-col>
......@@ -248,7 +281,7 @@ function onClose() {
<el-col :span="5" class="content-col-label">自动偏差百分比(%d):</el-col>
<el-col :span="7" class="content-col-value">
<el-form-item prop="diffPercentage" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="reviseData.diffPercentage"
<el-input :input-style="inputStyle" maxlength="10" v-model="reviseData.diffPercentage"
style="width: 175px"/>
</el-form-item>
</el-col>
......@@ -257,7 +290,7 @@ function onClose() {
<el-col :span="5" class="content-col-label">自动验证循环时间(分钟):</el-col>
<el-col :span="7" class="content-col-value">
<el-form-item prop="timeoutMin" style="padding: 0;margin: 0;">
<el-input v-float-number :input-style="inputStyle" maxlength="10" v-model="reviseData.timeoutMin"
<el-input :input-style="inputStyle" maxlength="10" v-model="reviseData.timeoutMin"
style="width: 175px"/>
</el-form-item>
</el-col>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment