添加数字校验

This commit is contained in:
limengnan 2026-05-19 15:23:21 +08:00
parent 840ea7e901
commit 826cb90400
7 changed files with 548 additions and 170 deletions

View File

@ -160,12 +160,16 @@ const info: any = ref({
pulseVelocity: null
});
onMounted(() => {
// sizeSchemaInfo.value = props.sizeSchemaInfo
sourceTempData.value = props.sizeSchemaInfo[props.deviceTypetype].fields
let rulesTemp:any = ref({})
sourceTempData.value.forEach((item:any) => {
info.value.size[item.key] = null
rulesTemp.value['size.' + item.key] = [{
validator: validator1,
trigger: 'blur'
}]
})
// sizeSchemaInfo.value[queryParams.value.type]
rules.value = {...rules.value,...rulesTemp.value}
gettableData()
});
@ -173,9 +177,41 @@ const infoForm = ref();
const isAdd = ref(false) //
const josnInfo: any = ref({}) //
const validator1 = (rule: any, value: any, callback: any) => { // 0
if (value == null || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
} else {
callback();
}
}
const rules = ref({
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
code: [{ required: true, message: "请输入设备编码", trigger: "blur" }],
volume: [
{
validator: validator1,
trigger: 'blur'
}
],
flowRate: [
{
validator: validator1,
trigger: 'blur'
}
],
pulseVelocity: [
{
validator: validator1,
trigger: 'blur'
}
],
});
function addClick() {
info.value = {
@ -187,25 +223,6 @@ function addClick() {
flowRate: null,
pulseVelocity: null
};
// josnInfo.value = {}
// if(props.deviceTypetype == 'ExtractionColumn'){
// josnInfo.value = {
// tray_section:{},
// lower_expanded:{},
// upper_expanded:{}
// }
// }else if(props.deviceTypetype == 'FluidizedBed'){
// josnInfo.value = {
// expanded_section:{},
// reaction_section:{},
// transition_section:{}
// }
// }else if(props.deviceTypetype == 'ACFTank'){
// josnInfo.value = {
// frustum_bottom:{},
// annular_cylinder:{}
// }
// }
isAdd.value = true
}
</script>
@ -247,7 +264,7 @@ function addClick() {
<el-form-item label="设备名称" prop="name" style="width: 100%;">
<el-input v-model="info.name" style="width: 100%" placeholder="请输入设备名称"></el-input>
</el-form-item>
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData">
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData" :prop="'size.'+item.key">
<el-input-number
placeholder="请输入长度"
v-model="info.size[item.key]"
@ -259,7 +276,7 @@ function addClick() {
<template #suffix>{{item.unit}}</template>
</el-input-number>
</el-form-item>
<el-form-item label="容量" style="width: 100%;">
<el-form-item label="容量" style="width: 100%;" prop="volume">
<el-input-number
placeholder="请输入容量"
v-model="info.volume"
@ -271,7 +288,7 @@ function addClick() {
<template #suffix>L</template>
</el-input-number>
</el-form-item>
<el-form-item label="流量" style="width: 100%;">
<el-form-item label="流量" style="width: 100%;" prop="flowRate">
<el-input-number
placeholder="请输入流量"
v-model="info.flowRate"
@ -283,7 +300,7 @@ function addClick() {
<template #suffix>/h</template>
</el-input-number>
</el-form-item>
<el-form-item label="脉冲速度" style="width: 100%;">
<el-form-item label="脉冲速度" style="width: 100%;" prop="pulseVelocity">
<el-input-number
placeholder="请输入脉冲速度"
v-model="info.pulseVelocity"
@ -295,11 +312,6 @@ function addClick() {
<template #suffix>Hz</template>
</el-input-number>
</el-form-item>
<!-- <span class="dialog-footer"
style="display: flex;display: -webkit-flex; justify-content: flex-end;-webkit-justify-content: flex-end;">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="confirmClick(infoForm)"> </el-button>
</span> -->
</el-form>
<div style="display: flex; justify-content: flex-end;">
<el-button type="primary" @click="confirmClick(infoForm)">确定</el-button>

View File

@ -39,6 +39,7 @@ const selectedDevice:any = ref({}) // 选中患者
function confirmClick(formEl: any) {
formEl.validate((valid: any) => {
debugger
if (valid) {
const params = {
...info.value,
@ -57,6 +58,15 @@ function confirmClick(formEl: any) {
const sourceTempData:any = ref([])
onMounted(() => {
sourceTempData.value = props.sizeSchemaInfo[props.deviceTypetype].fields
let rulesTemp:any = ref({})
sourceTempData.value.forEach((item:any) => {
rulesTemp.value['size.' + item.key] = [{
validator: validator1,
trigger: 'blur'
}]
})
rules.value = {...rules.value,...rulesTemp.value}
editClick(props.deviceInfo)
});
@ -70,9 +80,41 @@ const info: any = ref({
flowRate: null,
pulseVelocity: null
});
const validator1 = (rule: any, value: any, callback: any) => { // 0
if (value == null || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
} else {
callback();
}
}
const rules = ref({
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
code: [{ required: true, message: "请输入设备编码", trigger: "blur" }],
volume: [
{
validator: validator1,
trigger: 'blur'
}
],
flowRate: [
{
validator: validator1,
trigger: 'blur'
}
],
pulseVelocity: [
{
validator: validator1,
trigger: 'blur'
}
],
});
const isEdit = ref(false) //
function editClick(row: any) {
@ -96,7 +138,7 @@ info.value.size = JSON.parse(row.size)
</el-form-item>
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData">
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData" :prop="'size.' + item.key">
<el-input-number
placeholder="请输入长度"
v-model="info.size[item.key]"
@ -108,7 +150,7 @@ info.value.size = JSON.parse(row.size)
<template #suffix>{{item.unit}}</template>
</el-input-number>
</el-form-item>
<el-form-item label="容量" style="width: 100%;">
<el-form-item label="容量" style="width: 100%;" prop="volume">
<el-input-number
placeholder="请输入容量"
v-model="info.volume"
@ -120,7 +162,7 @@ info.value.size = JSON.parse(row.size)
<template #suffix>L</template>
</el-input-number>
</el-form-item>
<el-form-item label="流量" style="width: 100%;">
<el-form-item label="流量" style="width: 100%;" prop="flowRate">
<el-input-number
placeholder="请输入流量"
v-model="info.flowRate"
@ -132,7 +174,7 @@ info.value.size = JSON.parse(row.size)
<template #suffix>/h</template>
</el-input-number>
</el-form-item>
<el-form-item label="脉冲速度" style="width: 100%;">
<el-form-item label="脉冲速度" style="width: 100%;" prop="pulseVelocity">
<el-input-number
placeholder="请输入脉冲速度"
v-model="info.pulseVelocity"

View File

@ -752,9 +752,9 @@ graph.on('blank:mouseup', (e) => {
refY: 0,
},
label: {
refX: 45,
refX: 0.5,
refY: 80,
textAnchor: 'start',
textAnchor: 'middle',
textVerticalAnchor: 'top',
fontSize: 14,
fill: '#000',

View File

@ -84,8 +84,12 @@ onMounted(() => {
deviceName.value = props.deviceInfo.name
if(props.materialId != null){
materialsById(props.materialId).then((res:any) => {
if(res!= null && res != ""){
editClick(res)
info.value.iconBase64 = res.iconBase64;
}
});
}else{
editClick(props.materialInfo)
@ -96,18 +100,145 @@ onMounted(() => {
});
const infoForm = ref();
const info: any = ref({
name: "",
code: "",
type: null,
size: null,
volume: null,
flowRate: null,
pulseVelocity: null
size: {},
name: "",
description: "",
uConcentration: "",
uo2Density: "",
uEnrichment: "",
puConcentration: "",
puo2Density: "",
ePu238: "",
ePu239: "",
ePu240: "",
ePu241: "",
ePu242: "",
hno3Acidity: "",
h2c2o4Concentration: "",
organicRatio: "",
moistureContent: "",
iconBase64: ""
});
const josnInfo: any = ref({}) //
const validator1 = (rule: any, value: any, callback: any) => {
if (!value || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
} else {
callback();
}
}
const validator2 = (rule: any, value: any, callback: any) => {
if (!value || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
}else if (parseFloat(value) >= 1) {
callback(new Error('数字必须小于 1'));
} else {
callback();
}
}
//
const rules = ref({
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
code: [{ required: true, message: "请输入设备编码", trigger: "blur" }],
name: [{ required: true, message: "请输入物料数据名称", trigger: "blur" }],
uConcentration: [
{
validator: validator1,
trigger: 'blur'
}
],
uo2Density: [
{
validator: validator1,
trigger: 'blur'
}
],
uEnrichment: [{
validator: validator2,
trigger: 'blur'
}],
puConcentration: [
{
validator: validator1,
trigger: 'blur'
}
],
puo2Density: [
{
validator: validator1,
trigger: 'blur'
}
],
ePu238: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu239: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu240: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu241: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu242: [
{
validator: validator2,
trigger: 'blur'
}
],
hno3Acidity: [
{
validator: validator1,
trigger: 'blur'
}
],
h2c2o4Concentration: [
{
validator: validator1,
trigger: 'blur'
}
],
organicRatio: [
{
validator: validator2,
trigger: 'blur'
}
],
moistureContent: [
{
validator: validator2,
trigger: 'blur'
}
],
});
const isEdit = ref(false) //
function editClick(row: any) {
@ -494,9 +625,7 @@ function delIconBase(){
</div>
</div>
</div>
</div>
</el-dialog>
</div>

View File

@ -100,15 +100,107 @@ const input = ref("");
//
const title = ref("");
const info: any = ref({
deviceType: null,
diameter: null,
height: null,
fissileConcentration: null,
isotopicAbundance: null,
keffValue: null,
size: {},
});
const validator1 = (rule: any, value: any, callback: any) => { // 0
if (value == null || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
} else {
callback();
}
}
const validator2 = (rule: any, value: any, callback: any) => {
if (value == null || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
}else if (parseFloat(value) >= 1) {
callback(new Error('数字必须小于 1'));
} else {
callback();
}
}
const rulesSize = ref({
uConcentration: [
{
validator: validator1,
trigger: 'blur'
}
],
uEnrichment: [
{
validator: validator2,
trigger: 'blur'
}
],
puConcentration: [
{
validator: validator1,
trigger: 'blur'
}
],
ePu238: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu239: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu240: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu241: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu242: [
{
validator: validator2,
trigger: 'blur'
}
],
keffValue: [
{
validator: validator2,
trigger: 'blur'
}
],
})
const rules = ref({...rulesSize.value});
const dialogVisible = ref(false);
function addClick() {
title.value = "新增临界数据";
@ -122,10 +214,15 @@ function addClick() {
size: {},
};
let rulesTemp:any = ref({})
sourceTempData.value.forEach((item:any) => {
info.value.size[item.key] = null
rulesTemp.value['size.' + item.key] = [{
validator: validator1,
trigger: 'blur'
}]
})
rules.value = {...rulesSize.value,...rulesTemp.value}
customAttrsData.value = []
dialogVisible.value = true;
}
@ -180,11 +277,6 @@ function handleClose() {
dialogVisible.value = false;
if (infoForm.value != null) infoForm.value.resetFields();
}
//
const rules = ref({
name: [{ required: true, message: "请输入临界数据名称", trigger: "blur" }],
code: [{ required: true, message: "请输入临界数据编码", trigger: "blur" }],
});
//
function editClick(row: any) {
title.value = "修改临界数据";
@ -354,7 +446,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
accept=".xlsx,.xls"
class="upload-demo"
:data="{ deviceType: queryParams.type }"
:action=" url + '/critical-data/import' "
:action=" url + '/critical-data/v2/import' "
:headers="{ token: getToken() }"
:show-file-list="false"
:before-upload="handlePreview"
@ -385,7 +477,6 @@ function downloadFile(obj :any, name :any, suffix :any) {
<el-table-column prop="ePu240" label="PU-240占比" min-width="120"></el-table-column>
<el-table-column prop="ePu241" label="PU-241占比" min-width="120"></el-table-column>
<el-table-column prop="ePu242" label="PU-242占比" min-width="120"></el-table-column>
<el-table-column prop="keffValue" label="对应Keff值" min-width="100"></el-table-column>
<el-table-column prop="modifier" label="创建人" width="120"></el-table-column>
<el-table-column prop="createdAt" label="创建时间" width="200">
@ -414,7 +505,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
append-to-body width="677px" height="530px">
<el-form ref="infoForm" :model="info" :rules="rules" label-width="100px" style="height: calc(100vh - 160px);overflow: auto;">
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData">
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData" :prop="'size.' + item.key">
<el-input-number
placeholder="请输入长度"
v-model="info.size[item.key]"
@ -426,7 +517,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
<template #suffix>{{item.unit}}</template>
</el-input-number>
</el-form-item>
<el-form-item label="铀浓度g/L" style="width: 100%;" >
<el-form-item label="铀浓度g/L" style="width: 100%;" prop="uConcentration">
<el-input-number
placeholder="请输入长度"
v-model="info.uConcentration"
@ -438,7 +529,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
</el-input-number>
</el-form-item>
<el-form-item label="铀富集度" style="width: 100%;" >
<el-form-item label="铀富集度" style="width: 100%;" prop="uEnrichment">
<el-input-number
placeholder="请输入长度"
v-model="info.uEnrichment"
@ -449,7 +540,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
>
</el-input-number>
</el-form-item>
<el-form-item label="钚浓度" style="width: 100%;" >
<el-form-item label="钚浓度" style="width: 100%;" prop="puConcentration">
<el-input-number
placeholder="请输入长度"
v-model="info.puConcentration"
@ -462,7 +553,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
</el-form-item>
<el-form-item label="PU-238占比" style="width: 100%;" >
<el-form-item label="PU-238占比" style="width: 100%;" prop="ePu238">
<el-input-number
placeholder="请输入长度"
v-model="info.ePu238"
@ -473,7 +564,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
>
</el-input-number>
</el-form-item>
<el-form-item label="PU-239占比" style="width: 100%;" >
<el-form-item label="PU-239占比" style="width: 100%;" prop="ePu239">
<el-input-number
placeholder="请输入长度"
v-model="info.ePu239"
@ -484,7 +575,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
>
</el-input-number>
</el-form-item>
<el-form-item label="PU-240占比" style="width: 100%;" >
<el-form-item label="PU-240占比" style="width: 100%;" prop="ePu240">
<el-input-number
placeholder="请输入长度"
v-model="info.ePu240"
@ -495,7 +586,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
>
</el-input-number>
</el-form-item>
<el-form-item label="PU-241占比" style="width: 100%;" >
<el-form-item label="PU-241占比" style="width: 100%;" prop="ePu241">
<el-input-number
placeholder="请输入长度"
v-model="info.ePu241"
@ -506,7 +597,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
>
</el-input-number>
</el-form-item>
<el-form-item label="PU-242占比" style="width: 100%;" >
<el-form-item label="PU-242占比" style="width: 100%;" prop="ePu242">
<el-input-number
placeholder="请输入长度"
v-model="info.ePu242"
@ -524,7 +615,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
@input="handleNumberInput('isotopicAbundance')">
</el-input>
</el-form-item> -->
<el-form-item label="对应Kef值" style="width: 100%;">
<el-form-item label="对应Kef值" style="width: 100%;" prop="keffValue">
<el-input v-model="info.keffValue" style="width: 100%" placeholder="请输入对应Kef值"
@input="handleNumberInput('keffValue')">
<!-- <template #append>/s</template> -->

View File

@ -126,32 +126,19 @@ function addClick() {
};
sourceTempData.value = sizeSchemaInfo.value[queryParams.value.type].fields
let rulesTemp:any = ref({})
sourceTempData.value.forEach((item:any) => {
info.value.size[item.key] = null
rulesTemp.value['size.' + item.key] = [{
validator: validator1,
trigger: 'blur'
}]
})
rules.value = {...rulesInfo.value,...rulesTemp.value}
// josnInfo.value = {}
// if(queryParams.value.type == 'ExtractionColumn'){
// josnInfo.value = {
// tray_section:{},
// lower_expanded:{},
// upper_expanded:{}
// }
// }else if(queryParams.value.type == 'FluidizedBed'){
// josnInfo.value = {
// expanded_section:{},
// reaction_section:{},
// transition_section:{}
// }
// }else if(queryParams.value.type == 'ACFTank'){
// josnInfo.value = {
// frustum_bottom:{},
// annular_cylinder:{}
// }
// }
dialogVisible.value = true;
}
@ -193,11 +180,44 @@ function handleClose() {
dialogVisible.value = false;
if (infoForm.value != null) infoForm.value.resetFields();
}
//
const rules = ref({
const validator1 = (rule: any, value: any, callback: any) => { // 0
if (value == null || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
} else {
callback();
}
}
const rulesInfo = ref({
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
code: [{ required: true, message: "请输入设备编码", trigger: "blur" }],
});
volume: [
{
validator: validator1,
trigger: 'blur'
}
],
flowRate: [
{
validator: validator1,
trigger: 'blur'
}
],
pulseVelocity: [
{
validator: validator1,
trigger: 'blur'
}
],
})
//
const rules = ref({...rulesInfo.value});
//
function editClick(row: any) {
title.value = "修改设备";
@ -209,6 +229,15 @@ function editClick(row: any) {
info.value.size[item.key] = null
})
}
let rulesTemp:any = ref({})
sourceTempData.value.forEach((item:any) => {
rulesTemp.value['size.' + item.key] = [{
validator: validator1,
trigger: 'blur'
}]
})
rules.value = {...rulesInfo.value,...rulesTemp.value}
dialogVisible.value = true;
}
@ -310,23 +339,6 @@ onMounted(() => {
menuInit()
});
const handleInput = (val: string) => {
//
const reg = /^\d+(\.\d{0,2})?$/;
//
let value = val.replace(/[^\d.]/g, '');
//
value = value.replace(/\.{2,}/g, '.');
value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
//
if (!reg.test(value) && value !== '') {
//
val = value.slice(0, -1);
}
};
function exportExportsClick(){
exportAllExports(queryParams.value.type).then((response:any) => {
@ -438,7 +450,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
<el-input v-model="info.name" style="width: 100%" placeholder="请输入设备名称"></el-input>
</el-form-item>
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData">
<el-form-item :label="item.label" style="width: 100%;" v-for="item in sourceTempData" :prop="'size.' + item.key">
<el-input-number
placeholder="请输入长度"
v-model="info.size[item.key]"
@ -451,7 +463,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
</el-input-number>
</el-form-item>
<el-form-item label="容量" style="width: 100%;">
<el-form-item label="容量" style="width: 100%;" prop="volume">
<el-input-number
placeholder="请输入容量"
v-model="info.volume"
@ -463,7 +475,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
<template #suffix>L</template>
</el-input-number>
</el-form-item>
<el-form-item label="流量" style="width: 100%;">
<el-form-item label="流量" style="width: 100%;" prop="flowRate">
<el-input-number
placeholder="请输入流量"
v-model="info.flowRate"
@ -475,7 +487,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
<template #suffix>/h</template>
</el-input-number>
</el-form-item>
<el-form-item label="脉冲速度" style="width: 100%;">
<el-form-item label="脉冲速度" style="width: 100%;" prop="pulseVelocity">
<el-input-number
placeholder="请输入脉冲速度"
v-model="info.pulseVelocity"

View File

@ -85,7 +85,11 @@ const info: any = ref({
uEnrichment: "",
puConcentration: "",
puo2Density: "",
puIsotope: "",
ePu238: "",
ePu239: "",
ePu240: "",
ePu241: "",
ePu242: "",
hno3Acidity: "",
h2c2o4Concentration: "",
organicRatio: "",
@ -104,7 +108,11 @@ function addClick() {
uEnrichment: "",
puConcentration: "",
puo2Density: "",
puIsotope: "",
ePu238: "",
ePu239: "",
ePu240: "",
ePu241: "",
ePu242: "",
hno3Acidity: "",
h2c2o4Concentration: "",
organicRatio: "",
@ -152,38 +160,122 @@ function handleClose() {
dialogVisible.value = false;
if (infoForm.value != null) infoForm.value.resetFields();
}
const validator1 = (rule: any, value: any, callback: any) => {
if (!value || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
} else {
callback();
}
}
const validator2 = (rule: any, value: any, callback: any) => {
if (!value || value === '') {
callback();
return;
}
if (!/^\d+(\.\d+)?$/.test(value)) {
callback(new Error('请输入有效的数字或小数'));
} else if (parseFloat(value) <= 0) {
callback(new Error('数字必须大于 0'));
}else if (parseFloat(value) >= 1) {
callback(new Error('数字必须小于 1'));
} else {
callback();
}
}
//
const rules = ref({
name: [{ required: true, message: "请输入物料数据名称", trigger: "blur" }],
uConcentration: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator1,
trigger: 'blur'
}
],
uo2Density: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
],
uEnrichment: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator1,
trigger: 'blur'
}
],
uEnrichment: [{
validator: validator2,
trigger: 'blur'
}],
puConcentration: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator1,
trigger: 'blur'
}
],
puo2Density: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator1,
trigger: 'blur'
}
],
puIsotope: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
ePu238: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu239: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu240: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu241: [
{
validator: validator2,
trigger: 'blur'
}
],
ePu242: [
{
validator: validator2,
trigger: 'blur'
}
],
hno3Acidity: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator1,
trigger: 'blur'
}
],
h2c2o4Concentration: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator1,
trigger: 'blur'
}
],
organicRatio: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator2,
trigger: 'blur'
}
],
moistureContent: [
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
{
validator: validator2,
trigger: 'blur'
}
],
});
//
@ -446,24 +538,24 @@ function delIconBase(){
<el-form-item label="氧化钚密度g/cm3" prop="puo2Density">
<el-input v-model="info.puo2Density" style="width: 100%" placeholder="" @input="handleNumberInput('puo2Density')"></el-input>
</el-form-item>
<el-form-item label="PU-238占比" prop="puIsotope">
<el-form-item label="PU-238占比" prop="ePu238">
<el-input v-model="info.ePu238" style="width: 100%" placeholder="" @input="handleNumberInput('ePu238')"></el-input>
</el-form-item>
</div>
<div class="Materials_dialog_display">
<el-form-item label="PU-239占比" prop="puIsotope">
<el-form-item label="PU-239占比" prop="ePu239">
<el-input v-model="info.ePu239" style="width: 100%" placeholder="" @input="handleNumberInput('ePu239')"></el-input>
</el-form-item>
<el-form-item label="PU-240占比" prop="puIsotope">
<el-form-item label="PU-240占比" prop="ePu240">
<el-input v-model="info.ePu240" style="width: 100%" placeholder="" @input="handleNumberInput('ePu240')"></el-input>
</el-form-item>
</div>
<div class="Materials_dialog_display">
<el-form-item label="PU-241占比" prop="puIsotope">
<el-form-item label="PU-241占比" prop="ePu241">
<el-input v-model="info.ePu241" style="width: 100%" placeholder="" @input="handleNumberInput('ePu241')"></el-input>
</el-form-item>
<el-form-item label="PU-242占比" prop="puIsotope">
<el-form-item label="PU-242占比" prop="ePu242">
<el-input v-model="info.ePu242" style="width: 100%" placeholder="" @input="handleNumberInput('ePu242')"></el-input>
</el-form-item>
</div>