添加数字校验
This commit is contained in:
parent
840ea7e901
commit
826cb90400
@ -160,12 +160,16 @@ const info: any = ref({
|
|||||||
pulseVelocity: null
|
pulseVelocity: null
|
||||||
});
|
});
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// sizeSchemaInfo.value = props.sizeSchemaInfo
|
|
||||||
sourceTempData.value = props.sizeSchemaInfo[props.deviceTypetype].fields
|
sourceTempData.value = props.sizeSchemaInfo[props.deviceTypetype].fields
|
||||||
sourceTempData.value.forEach((item:any) => {
|
let rulesTemp:any = ref({})
|
||||||
|
sourceTempData.value.forEach((item:any) => {
|
||||||
info.value.size[item.key] = null
|
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()
|
gettableData()
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -173,9 +177,41 @@ const infoForm = ref();
|
|||||||
const isAdd = ref(false) // 是否添加设备
|
const isAdd = ref(false) // 是否添加设备
|
||||||
|
|
||||||
const josnInfo: any = ref({}) // 设备信息
|
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({
|
const rules = ref({
|
||||||
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
||||||
code: [{ 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() {
|
function addClick() {
|
||||||
info.value = {
|
info.value = {
|
||||||
@ -187,25 +223,6 @@ function addClick() {
|
|||||||
flowRate: null,
|
flowRate: null,
|
||||||
pulseVelocity: 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
|
isAdd.value = true
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -247,7 +264,7 @@ function addClick() {
|
|||||||
<el-form-item label="设备名称" prop="name" style="width: 100%;">
|
<el-form-item label="设备名称" prop="name" style="width: 100%;">
|
||||||
<el-input v-model="info.name" style="width: 100%" placeholder="请输入设备名称"></el-input>
|
<el-input v-model="info.name" style="width: 100%" placeholder="请输入设备名称"></el-input>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.size[item.key]"
|
v-model="info.size[item.key]"
|
||||||
@ -259,31 +276,31 @@ function addClick() {
|
|||||||
<template #suffix>{{item.unit}}</template>
|
<template #suffix>{{item.unit}}</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="容量" style="width: 100%;">
|
<el-form-item label="容量" style="width: 100%;" prop="volume">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入容量"
|
placeholder="请输入容量"
|
||||||
v-model="info.volume"
|
v-model="info.volume"
|
||||||
:min="0"
|
:min="0"
|
||||||
align="left"
|
align="left"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<template #suffix>L</template>
|
<template #suffix>L</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="流量" style="width: 100%;">
|
<el-form-item label="流量" style="width: 100%;" prop="flowRate">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入流量"
|
placeholder="请输入流量"
|
||||||
v-model="info.flowRate"
|
v-model="info.flowRate"
|
||||||
:min="0"
|
:min="0"
|
||||||
align="left"
|
align="left"
|
||||||
:controls="false"
|
:controls="false"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<template #suffix>m³/h</template>
|
<template #suffix>m³/h</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="脉冲速度" style="width: 100%;">
|
<el-form-item label="脉冲速度" style="width: 100%;" prop="pulseVelocity">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入脉冲速度"
|
placeholder="请输入脉冲速度"
|
||||||
v-model="info.pulseVelocity"
|
v-model="info.pulseVelocity"
|
||||||
@ -295,11 +312,6 @@ function addClick() {
|
|||||||
<template #suffix>Hz</template>
|
<template #suffix>Hz</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</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>
|
</el-form>
|
||||||
<div style="display: flex; justify-content: flex-end;">
|
<div style="display: flex; justify-content: flex-end;">
|
||||||
<el-button type="primary" @click="confirmClick(infoForm)">确定</el-button>
|
<el-button type="primary" @click="confirmClick(infoForm)">确定</el-button>
|
||||||
|
|||||||
@ -39,6 +39,7 @@ const selectedDevice:any = ref({}) // 选中患者
|
|||||||
|
|
||||||
function confirmClick(formEl: any) {
|
function confirmClick(formEl: any) {
|
||||||
formEl.validate((valid: any) => {
|
formEl.validate((valid: any) => {
|
||||||
|
debugger
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const params = {
|
const params = {
|
||||||
...info.value,
|
...info.value,
|
||||||
@ -57,6 +58,15 @@ function confirmClick(formEl: any) {
|
|||||||
const sourceTempData:any = ref([])
|
const sourceTempData:any = ref([])
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
sourceTempData.value = props.sizeSchemaInfo[props.deviceTypetype].fields
|
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)
|
editClick(props.deviceInfo)
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -70,9 +80,41 @@ const info: any = ref({
|
|||||||
flowRate: null,
|
flowRate: null,
|
||||||
pulseVelocity: 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({
|
const rules = ref({
|
||||||
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
||||||
code: [{ 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) // 是否编辑设备
|
const isEdit = ref(false) // 是否编辑设备
|
||||||
function editClick(row: any) {
|
function editClick(row: any) {
|
||||||
@ -96,7 +138,7 @@ info.value.size = JSON.parse(row.size)
|
|||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.size[item.key]"
|
v-model="info.size[item.key]"
|
||||||
@ -108,7 +150,7 @@ info.value.size = JSON.parse(row.size)
|
|||||||
<template #suffix>{{item.unit}}</template>
|
<template #suffix>{{item.unit}}</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="容量" style="width: 100%;">
|
<el-form-item label="容量" style="width: 100%;" prop="volume">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入容量"
|
placeholder="请输入容量"
|
||||||
v-model="info.volume"
|
v-model="info.volume"
|
||||||
@ -120,7 +162,7 @@ info.value.size = JSON.parse(row.size)
|
|||||||
<template #suffix>L</template>
|
<template #suffix>L</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="流量" style="width: 100%;">
|
<el-form-item label="流量" style="width: 100%;" prop="flowRate">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入流量"
|
placeholder="请输入流量"
|
||||||
v-model="info.flowRate"
|
v-model="info.flowRate"
|
||||||
@ -132,7 +174,7 @@ info.value.size = JSON.parse(row.size)
|
|||||||
<template #suffix>m³/h</template>
|
<template #suffix>m³/h</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="脉冲速度" style="width: 100%;">
|
<el-form-item label="脉冲速度" style="width: 100%;" prop="pulseVelocity">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入脉冲速度"
|
placeholder="请输入脉冲速度"
|
||||||
v-model="info.pulseVelocity"
|
v-model="info.pulseVelocity"
|
||||||
|
|||||||
@ -752,9 +752,9 @@ graph.on('blank:mouseup', (e) => {
|
|||||||
refY: 0,
|
refY: 0,
|
||||||
},
|
},
|
||||||
label: {
|
label: {
|
||||||
refX: 45,
|
refX: 0.5,
|
||||||
refY: 80,
|
refY: 80,
|
||||||
textAnchor: 'start',
|
textAnchor: 'middle',
|
||||||
textVerticalAnchor: 'top',
|
textVerticalAnchor: 'top',
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
fill: '#000',
|
fill: '#000',
|
||||||
|
|||||||
@ -84,8 +84,12 @@ onMounted(() => {
|
|||||||
deviceName.value = props.deviceInfo.name
|
deviceName.value = props.deviceInfo.name
|
||||||
if(props.materialId != null){
|
if(props.materialId != null){
|
||||||
materialsById(props.materialId).then((res:any) => {
|
materialsById(props.materialId).then((res:any) => {
|
||||||
|
|
||||||
|
if(res!= null && res != ""){
|
||||||
editClick(res)
|
editClick(res)
|
||||||
info.value.iconBase64 = res.iconBase64;
|
info.value.iconBase64 = res.iconBase64;
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
editClick(props.materialInfo)
|
editClick(props.materialInfo)
|
||||||
@ -96,18 +100,145 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
const infoForm = ref();
|
const infoForm = ref();
|
||||||
const info: any = ref({
|
const info: any = ref({
|
||||||
name: "",
|
|
||||||
code: "",
|
code: "",
|
||||||
type: null,
|
type: null,
|
||||||
size: null,
|
size: {},
|
||||||
volume: null,
|
name: "",
|
||||||
flowRate: null,
|
description: "",
|
||||||
pulseVelocity: null
|
uConcentration: "",
|
||||||
|
uo2Density: "",
|
||||||
|
uEnrichment: "",
|
||||||
|
puConcentration: "",
|
||||||
|
puo2Density: "",
|
||||||
|
ePu238: "",
|
||||||
|
ePu239: "",
|
||||||
|
ePu240: "",
|
||||||
|
ePu241: "",
|
||||||
|
ePu242: "",
|
||||||
|
hno3Acidity: "",
|
||||||
|
h2c2o4Concentration: "",
|
||||||
|
organicRatio: "",
|
||||||
|
moistureContent: "",
|
||||||
|
iconBase64: ""
|
||||||
});
|
});
|
||||||
const josnInfo: any = ref({}) // 设备信息
|
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({
|
const rules = ref({
|
||||||
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
name: [{ required: true, message: "请输入物料数据名称", trigger: "blur" }],
|
||||||
code: [{ 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) // 是否编辑设备
|
const isEdit = ref(false) // 是否编辑设备
|
||||||
function editClick(row: any) {
|
function editClick(row: any) {
|
||||||
@ -336,7 +467,7 @@ function delIconBase(){
|
|||||||
<el-input v-model="info.puConcentration" style="width: 100%" placeholder="" @input="handleNumberInput('puConcentration')"></el-input>
|
<el-input v-model="info.puConcentration" style="width: 100%" placeholder="" @input="handleNumberInput('puConcentration')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="materialmodel_dialog_display">
|
<div class="materialmodel_dialog_display">
|
||||||
<el-form-item label="氧化钚密度(g/cm3)" prop="puo2Density">
|
<el-form-item label="氧化钚密度(g/cm3)" prop="puo2Density">
|
||||||
<el-input v-model="info.puo2Density" style="width: 100%" placeholder="" @input="handleNumberInput('puo2Density')"></el-input>
|
<el-input v-model="info.puo2Density" style="width: 100%" placeholder="" @input="handleNumberInput('puo2Density')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -471,32 +602,30 @@ function delIconBase(){
|
|||||||
{{ item.value }}
|
{{ item.value }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="custom_attrs_header" style="height: 90px;" v-if="ingredientData.length>0">
|
<div class="custom_attrs_header" style="height: 90px;" v-if="ingredientData.length>0">
|
||||||
<div class="custom_attrs_content1" style="width: 60%;height: 90px;display: flex;align-items: center;justify-content: center;">图片</div>
|
<div class="custom_attrs_content1" style="width: 60%;height: 90px;display: flex;align-items: center;justify-content: center;">图片</div>
|
||||||
<div class="custom_attrs_content2" style="width: 40%;height: 90px;display: flex;align-items: center;justify-content: center;" >
|
<div class="custom_attrs_content2" style="width: 40%;height: 90px;display: flex;align-items: center;justify-content: center;" >
|
||||||
<el-image
|
<el-image
|
||||||
v-if="iconBase64 != '' && iconBase64 != null && iconBase64 != ' '"
|
v-if="iconBase64 != '' && iconBase64 != null && iconBase64 != ' '"
|
||||||
style="
|
style="
|
||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
max-height: 80px;"
|
max-height: 80px;"
|
||||||
class="materialmodel-iconBase64"
|
class="materialmodel-iconBase64"
|
||||||
:src="iconBase64"
|
:src="iconBase64"
|
||||||
:zoom-rate="1.2"
|
:zoom-rate="1.2"
|
||||||
:max-scale="7"
|
:max-scale="7"
|
||||||
:min-scale="0.2"
|
:min-scale="0.2"
|
||||||
:preview-src-list="[iconBase64]"
|
:preview-src-list="[iconBase64]"
|
||||||
show-progress
|
show-progress
|
||||||
:initial-index="4"
|
:initial-index="4"
|
||||||
fit="contain"
|
fit="contain"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -100,15 +100,107 @@ const input = ref("");
|
|||||||
//新建临界数据
|
//新建临界数据
|
||||||
const title = ref("");
|
const title = ref("");
|
||||||
const info: any = ref({
|
const info: any = ref({
|
||||||
|
|
||||||
deviceType: null,
|
deviceType: null,
|
||||||
diameter: null,
|
diameter: null,
|
||||||
height: null,
|
height: null,
|
||||||
fissileConcentration: null,
|
fissileConcentration: null,
|
||||||
isotopicAbundance: null,
|
isotopicAbundance: null,
|
||||||
keffValue: 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);
|
const dialogVisible = ref(false);
|
||||||
function addClick() {
|
function addClick() {
|
||||||
title.value = "新增临界数据";
|
title.value = "新增临界数据";
|
||||||
@ -122,10 +214,15 @@ function addClick() {
|
|||||||
size: {},
|
size: {},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
let rulesTemp:any = ref({})
|
||||||
sourceTempData.value.forEach((item:any) => {
|
sourceTempData.value.forEach((item:any) => {
|
||||||
info.value.size[item.key] = null
|
info.value.size[item.key] = null
|
||||||
|
rulesTemp.value['size.' + item.key] = [{
|
||||||
|
validator: validator1,
|
||||||
|
trigger: 'blur'
|
||||||
|
}]
|
||||||
})
|
})
|
||||||
|
rules.value = {...rulesSize.value,...rulesTemp.value}
|
||||||
customAttrsData.value = []
|
customAttrsData.value = []
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
}
|
}
|
||||||
@ -180,11 +277,6 @@ function handleClose() {
|
|||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
if (infoForm.value != null) infoForm.value.resetFields();
|
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) {
|
function editClick(row: any) {
|
||||||
title.value = "修改临界数据";
|
title.value = "修改临界数据";
|
||||||
@ -354,7 +446,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
accept=".xlsx,.xls"
|
accept=".xlsx,.xls"
|
||||||
class="upload-demo"
|
class="upload-demo"
|
||||||
:data="{ deviceType: queryParams.type }"
|
:data="{ deviceType: queryParams.type }"
|
||||||
:action=" url + '/critical-data/import' "
|
:action=" url + '/critical-data/v2/import' "
|
||||||
:headers="{ token: getToken() }"
|
:headers="{ token: getToken() }"
|
||||||
:show-file-list="false"
|
:show-file-list="false"
|
||||||
:before-upload="handlePreview"
|
: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="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="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="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="keffValue" label="对应Keff值" min-width="100"></el-table-column>
|
||||||
<el-table-column prop="modifier" label="创建人" width="120"></el-table-column>
|
<el-table-column prop="modifier" label="创建人" width="120"></el-table-column>
|
||||||
<el-table-column prop="createdAt" label="创建时间" width="200">
|
<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">
|
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 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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.size[item.key]"
|
v-model="info.size[item.key]"
|
||||||
@ -426,7 +517,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
<template #suffix>{{item.unit}}</template>
|
<template #suffix>{{item.unit}}</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.uConcentration"
|
v-model="info.uConcentration"
|
||||||
@ -438,7 +529,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="铀富集度" style="width: 100%;" >
|
<el-form-item label="铀富集度" style="width: 100%;" prop="uEnrichment">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.uEnrichment"
|
v-model="info.uEnrichment"
|
||||||
@ -449,7 +540,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
>
|
>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="钚浓度" style="width: 100%;" >
|
<el-form-item label="钚浓度" style="width: 100%;" prop="puConcentration">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.puConcentration"
|
v-model="info.puConcentration"
|
||||||
@ -462,7 +553,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.ePu238"
|
v-model="info.ePu238"
|
||||||
@ -473,7 +564,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
>
|
>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.ePu239"
|
v-model="info.ePu239"
|
||||||
@ -484,7 +575,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
>
|
>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.ePu240"
|
v-model="info.ePu240"
|
||||||
@ -495,7 +586,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
>
|
>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.ePu241"
|
v-model="info.ePu241"
|
||||||
@ -506,7 +597,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
>
|
>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.ePu242"
|
v-model="info.ePu242"
|
||||||
@ -524,7 +615,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
@input="handleNumberInput('isotopicAbundance')">
|
@input="handleNumberInput('isotopicAbundance')">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item> -->
|
</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值"
|
<el-input v-model="info.keffValue" style="width: 100%" placeholder="请输入对应Kef值"
|
||||||
@input="handleNumberInput('keffValue')">
|
@input="handleNumberInput('keffValue')">
|
||||||
<!-- <template #append>m³/s</template> -->
|
<!-- <template #append>m³/s</template> -->
|
||||||
|
|||||||
@ -126,32 +126,19 @@ function addClick() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
sourceTempData.value = sizeSchemaInfo.value[queryParams.value.type].fields
|
sourceTempData.value = sizeSchemaInfo.value[queryParams.value.type].fields
|
||||||
|
let rulesTemp:any = ref({})
|
||||||
sourceTempData.value.forEach((item:any) => {
|
sourceTempData.value.forEach((item:any) => {
|
||||||
info.value.size[item.key] = null
|
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;
|
dialogVisible.value = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -193,11 +180,44 @@ function handleClose() {
|
|||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
if (infoForm.value != null) infoForm.value.resetFields();
|
if (infoForm.value != null) infoForm.value.resetFields();
|
||||||
}
|
}
|
||||||
//新建设备
|
const validator1 = (rule: any, value: any, callback: any) => { // 校验数字是否大于0
|
||||||
const rules = ref({
|
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" }],
|
name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
||||||
code: [{ 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) {
|
function editClick(row: any) {
|
||||||
title.value = "修改设备";
|
title.value = "修改设备";
|
||||||
@ -209,6 +229,15 @@ function editClick(row: any) {
|
|||||||
info.value.size[item.key] = null
|
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;
|
dialogVisible.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -310,23 +339,6 @@ onMounted(() => {
|
|||||||
menuInit()
|
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(){
|
function exportExportsClick(){
|
||||||
exportAllExports(queryParams.value.type).then((response:any) => {
|
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-input v-model="info.name" style="width: 100%" placeholder="请输入设备名称"></el-input>
|
||||||
</el-form-item>
|
</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
|
<el-input-number
|
||||||
placeholder="请输入长度"
|
placeholder="请输入长度"
|
||||||
v-model="info.size[item.key]"
|
v-model="info.size[item.key]"
|
||||||
@ -451,7 +463,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="容量" style="width: 100%;">
|
<el-form-item label="容量" style="width: 100%;" prop="volume">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入容量"
|
placeholder="请输入容量"
|
||||||
v-model="info.volume"
|
v-model="info.volume"
|
||||||
@ -463,7 +475,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
<template #suffix>L</template>
|
<template #suffix>L</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="流量" style="width: 100%;">
|
<el-form-item label="流量" style="width: 100%;" prop="flowRate">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入流量"
|
placeholder="请输入流量"
|
||||||
v-model="info.flowRate"
|
v-model="info.flowRate"
|
||||||
@ -475,7 +487,7 @@ function downloadFile(obj :any, name :any, suffix :any) {
|
|||||||
<template #suffix>m³/h</template>
|
<template #suffix>m³/h</template>
|
||||||
</el-input-number>
|
</el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="脉冲速度" style="width: 100%;">
|
<el-form-item label="脉冲速度" style="width: 100%;" prop="pulseVelocity">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入脉冲速度"
|
placeholder="请输入脉冲速度"
|
||||||
v-model="info.pulseVelocity"
|
v-model="info.pulseVelocity"
|
||||||
|
|||||||
@ -85,7 +85,11 @@ const info: any = ref({
|
|||||||
uEnrichment: "",
|
uEnrichment: "",
|
||||||
puConcentration: "",
|
puConcentration: "",
|
||||||
puo2Density: "",
|
puo2Density: "",
|
||||||
puIsotope: "",
|
ePu238: "",
|
||||||
|
ePu239: "",
|
||||||
|
ePu240: "",
|
||||||
|
ePu241: "",
|
||||||
|
ePu242: "",
|
||||||
hno3Acidity: "",
|
hno3Acidity: "",
|
||||||
h2c2o4Concentration: "",
|
h2c2o4Concentration: "",
|
||||||
organicRatio: "",
|
organicRatio: "",
|
||||||
@ -104,7 +108,11 @@ function addClick() {
|
|||||||
uEnrichment: "",
|
uEnrichment: "",
|
||||||
puConcentration: "",
|
puConcentration: "",
|
||||||
puo2Density: "",
|
puo2Density: "",
|
||||||
puIsotope: "",
|
ePu238: "",
|
||||||
|
ePu239: "",
|
||||||
|
ePu240: "",
|
||||||
|
ePu241: "",
|
||||||
|
ePu242: "",
|
||||||
hno3Acidity: "",
|
hno3Acidity: "",
|
||||||
h2c2o4Concentration: "",
|
h2c2o4Concentration: "",
|
||||||
organicRatio: "",
|
organicRatio: "",
|
||||||
@ -152,38 +160,122 @@ function handleClose() {
|
|||||||
dialogVisible.value = false;
|
dialogVisible.value = false;
|
||||||
if (infoForm.value != null) infoForm.value.resetFields();
|
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({
|
const rules = ref({
|
||||||
name: [{ required: true, message: "请输入物料数据名称", trigger: "blur" }],
|
name: [{ required: true, message: "请输入物料数据名称", trigger: "blur" }],
|
||||||
uConcentration: [
|
uConcentration: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
validator: validator1,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
uo2Density: [
|
uo2Density: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
],
|
validator: validator1,
|
||||||
uEnrichment: [
|
trigger: 'blur'
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
}
|
||||||
],
|
],
|
||||||
|
uEnrichment: [{
|
||||||
|
validator: validator2,
|
||||||
|
trigger: 'blur'
|
||||||
|
}],
|
||||||
puConcentration: [
|
puConcentration: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
validator: validator1,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
puo2Density: [
|
puo2Density: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
validator: validator1,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
puIsotope: [
|
ePu238: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
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: [
|
hno3Acidity: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
validator: validator1,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
h2c2o4Concentration: [
|
h2c2o4Concentration: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
validator: validator1,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
organicRatio: [
|
organicRatio: [
|
||||||
{ pattern: /^\d+(\.\d+)?$/, message: "请输入有效的数字或小数", trigger: "blur" }
|
{
|
||||||
|
validator: validator2,
|
||||||
|
trigger: 'blur'
|
||||||
|
}
|
||||||
],
|
],
|
||||||
moistureContent: [
|
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-form-item label="氧化钚密度(g/cm3)" prop="puo2Density">
|
||||||
<el-input v-model="info.puo2Density" style="width: 100%" placeholder="" @input="handleNumberInput('puo2Density')"></el-input>
|
<el-input v-model="info.puo2Density" style="width: 100%" placeholder="" @input="handleNumberInput('puo2Density')"></el-input>
|
||||||
</el-form-item>
|
</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-input v-model="info.ePu238" style="width: 100%" placeholder="" @input="handleNumberInput('ePu238')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="Materials_dialog_display">
|
<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-input v-model="info.ePu239" style="width: 100%" placeholder="" @input="handleNumberInput('ePu239')"></el-input>
|
||||||
</el-form-item>
|
</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-input v-model="info.ePu240" style="width: 100%" placeholder="" @input="handleNumberInput('ePu240')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="Materials_dialog_display">
|
<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-input v-model="info.ePu241" style="width: 100%" placeholder="" @input="handleNumberInput('ePu241')"></el-input>
|
||||||
</el-form-item>
|
</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-input v-model="info.ePu242" style="width: 100%" placeholder="" @input="handleNumberInput('ePu242')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user