系数校准二次确认,输入框长度限值

This commit is contained in:
sjl
2025-05-26 15:36:06 +08:00
parent 9989cc98cb
commit 6ef2a6049b
20 changed files with 122 additions and 103 deletions

View File

@@ -84,7 +84,10 @@ export namespace Device {
devChns: number,
}
export interface ResTH {
temperature :number | null;//温度
humidity:number | null;//湿度
}
/**
* 被检设备表格查询分页返回的对象;
*/

View File

@@ -14,10 +14,10 @@
/>
</el-form-item>
<el-form-item label="名称" prop="name" :label-width="100">
<el-input v-model="formContent.name" />
<el-input v-model="formContent.name" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="编码" prop="code" :label-width="100">
<el-input v-model="formContent.code" />
<el-input v-model="formContent.code" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item v-if="!formContent.type" label="图标" prop="icon" :label-width="100">
<IconSelect
@@ -27,11 +27,11 @@
placeholder="选择一个图标"
/>
</el-form-item>
<el-form-item v-if="!formContent.type" label="路由地址" prop="path" :label-width="100">
<el-input v-model="formContent.path" />
<el-form-item v-if="!formContent.type" label="路由地址" prop="path" :label-width="100" >
<el-input v-model="formContent.path" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item v-if="!formContent.type" label="组件地址" prop="component" :label-width="100">
<el-input v-model="formContent.component" />
<el-input v-model="formContent.component" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="排序" prop="sort" :label-width="100">
<el-input-number v-model="formContent.sort" :min='1' :max='999' />

View File

@@ -8,11 +8,11 @@
:rules='rules'
>
<el-form-item label="名称" prop='name' :label-width="100" >
<el-input v-model="formContent.name" placeholder="请输入名称" autocomplete="off" :disabled="rootIsEdit"/>
<el-input v-model="formContent.name" placeholder="请输入名称" autocomplete="off" :disabled="rootIsEdit" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="编码" prop='code' :label-width="100">
<el-input v-model="formContent.code" placeholder="请输入编码" autocomplete="off" :disabled="rootIsEdit"/>
<el-input v-model="formContent.code" placeholder="请输入编码" autocomplete="off" :disabled="rootIsEdit" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='类型' prop='type' :label-width="100">
<el-select v-model="formContent.type" clearable placeholder="请选择类型" :disabled="rootIsEdit">

View File

@@ -7,13 +7,13 @@
:rules='rules'
>
<el-form-item label="原密码" prop='oldPassword' :label-width="100">
<el-input type="oldPassword" v-model="formContent.oldPassword" show-password placeholder="请输入原密码" autocomplete="off" />
<el-input type="oldPassword" v-model="formContent.oldPassword" show-password placeholder="请输入原密码" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="新密码" prop='newPassword' :label-width="100">
<el-input type="newPassword" v-model="formContent.newPassword" show-password placeholder="请输入新密码" autocomplete="off" />
<el-input type="newPassword" v-model="formContent.newPassword" show-password placeholder="请输入新密码" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="确认密码" prop='surePassword' :label-width="100">
<el-input type="surePassword" v-model="formContent.surePassword" show-password placeholder="请再次输入确认密码" autocomplete="off" />
<el-input type="surePassword" v-model="formContent.surePassword" show-password placeholder="请再次输入确认密码" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
</el-form>
</div>

View File

@@ -7,13 +7,13 @@
:rules='rules'
>
<el-form-item label="用户名" prop='name' :label-width="100">
<el-input v-model="formContent.name" placeholder="请输入用户名" autocomplete="off" />
<el-input v-model="formContent.name" placeholder="请输入用户名" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="登录名" prop='loginName' :label-width="100" >
<el-input v-model="formContent.loginName" placeholder="请输入登录名" autocomplete="off" :disabled="LoginNameIsShow"/>
<el-input v-model="formContent.loginName" placeholder="请输入登录名" autocomplete="off" :disabled="LoginNameIsShow" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="密码" prop='password' :label-width="100" v-if="IsPasswordShow">
<el-input type="password" v-model="formContent.password" show-password placeholder="请输入密码" autocomplete="off" />
<el-input type="password" v-model="formContent.password" show-password placeholder="请输入密码" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='角色' :label-width='100' prop='roles'>
<el-select v-model="formContent.roleIds" multiple placeholder="请选择角色">

View File

@@ -1,5 +1,5 @@
<template>
<el-dialog v-model='dialogVisible' title="系数校准" v-bind="dialogBig" width="1550px" @close="handleCancel">
<el-dialog v-model='dialogVisible' title="系数校准" v-bind="dialogBig" width="1550px" @close="handleCancel" :before-close="beforeClose">
<div class="test-dialog">
<div class="dialog-content">
<div class="right-title">
@@ -763,19 +763,34 @@ const emit = defineEmits<{
}>();
const handleCancel = () => {
//dataSocket.socketServe.closeWs()
// 清空 name, channel, total
name.value = [];
channel.value = [];
total.value = 0;
activeIndex.value = 0
qualified.value = 0
active.value = 0
dialogVisible.value = false
editableTabsValue.value = '0'
emit('quitClicked'); // 触发事件
const beforeClose = (done: () => void) => {
ElMessageBox.confirm('是否退出系数校准?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
handleCancel()
})
}
const handleCancel = () => {
//dataSocket.socketServe.closeWs()
// 清空 name, channel, total
name.value = [];
channel.value = [];
total.value = 0;
activeIndex.value = 0
qualified.value = 0
active.value = 0
dialogVisible.value = false
editableTabsValue.value = '0'
emit('quitClicked'); // 触发事件
}
const getTableDataForChannel = (index: number): any[] => {
@@ -832,65 +847,65 @@ const handleSubmit = async () => {
return;
// 初始化 currentTableData
let isTimer2Completed = false;
// let isTimer2Completed = false;
//"80b4b4f52a4c4064a18319525f8ac13c",
for (let i = 0; i < channel.value.length; i++) {
// 重置状态变量
active.value = 0;
//activeIndex.value = 0;
editableTabsValue.value = i.toString();
// 初始化并填充 currentTableData
const currentTableData = initializeTableData(dataTemplates2, i);
tableDataMap.set(i, currentTableData);
//activeIndex.value++;
// //"80b4b4f52a4c4064a18319525f8ac13c",
// for (let i = 0; i < channel.value.length; i++) {
// // 重置状态变量
// active.value = 0;
// //activeIndex.value = 0;
// editableTabsValue.value = i.toString();
// // 初始化并填充 currentTableData
// const currentTableData = initializeTableData(dataTemplates2, i);
// tableDataMap.set(i, currentTableData);
// //activeIndex.value++;
// 清除之前的 timer1
clearInterval(timer1);
// 启动 timer1
timer1 = setInterval(() => {
active.value++;
if (active.value > 5) {
clearInterval(timer1);
}
}, 3000);
// // 清除之前的 timer1
// clearInterval(timer1);
// // 启动 timer1
// timer1 = setInterval(() => {
// active.value++;
// if (active.value > 5) {
// clearInterval(timer1);
// }
// }, 3000);
// 清除之前的 timer2
clearInterval(timer2);
// 启动 timer2
timer2 = setInterval(() => {
// 初始化并填充 currentTableData
const currentTableData = initializeTableData(i > 0 ? dataTemplates2 : dataTemplates2, i);
tableDataMap.set(i, currentTableData);
activeIndex.value++;
// // 清除之前的 timer2
// clearInterval(timer2);
// // 启动 timer2
// timer2 = setInterval(() => {
// // 初始化并填充 currentTableData
// const currentTableData = initializeTableData(i > 0 ? dataTemplates2 : dataTemplates2, i);
// tableDataMap.set(i, currentTableData);
// activeIndex.value++;
clearInterval(timer2);
const currentDataRef = tableDataMap.get(i);
if (currentDataRef) {
const currentData = currentDataRef.value;
// 检查当前数据中有无不合格字段
const hasError = checkForErrors(currentData);
if (hasError) {
} else {
qualified.value++;
}
updateErrorState(i, hasError);
}
// clearInterval(timer2);
// const currentDataRef = tableDataMap.get(i);
// if (currentDataRef) {
// const currentData = currentDataRef.value;
// // 检查当前数据中有无不合格字段
// const hasError = checkForErrors(currentData);
// if (hasError) {
// } else {
// qualified.value++;
// }
// updateErrorState(i, hasError);
// }
// 设置标志变量为 true表示 timer2 已经完成
isTimer2Completed = true;
}, 3000);
// // 设置标志变量为 true表示 timer2 已经完成
// isTimer2Completed = true;
// }, 3000);
// 等待 timer2 完成
while (!isTimer2Completed) {
// 这里可以添加一个短暂的等待,避免死循环
await new Promise(resolve => setTimeout(resolve, 100));
}
// // 等待 timer2 完成
// while (!isTimer2Completed) {
// // 这里可以添加一个短暂的等待,避免死循环
// await new Promise(resolve => setTimeout(resolve, 100));
// }
// 重置标志变量
isTimer2Completed = false;
}
// // 重置标志变量
// isTimer2Completed = false;
// }
};
// 提取初始化并填充 currentTableData 的函数

View File

@@ -1,12 +1,12 @@
<template>
<el-dialog title="填写环境条件" v-model='dialogVisible' @close="handleClose" v-bind="dialogSmall" >
<el-dialog title="填写实验室环境" v-model='dialogVisible' @close="handleClose" v-bind="dialogSmall" >
<div>
<el-form ref="dialogFormRef" :model="formContent" :rules='rules'>
<el-form-item label="温度(℃)" prop="temperature">
<el-input v-model="formContent.temperature" placeholder="请输入温度"/>
<el-form ref="dialogFormRef" :model="formContent" :rules='rules' >
<el-form-item label="温度(℃)" prop="temperature" :label-width="110">
<el-input v-model="formContent.temperature" placeholder="请输入温度" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="相对湿度(%)" prop="humidity">
<el-input v-model="formContent.humidity" placeholder="请输入湿度"/>
<el-form-item label="相对湿度(%)" prop="humidity" :label-width="110">
<el-input v-model="formContent.humidity" placeholder="请输入湿度" maxlength="32" show-word-limit/>
</el-form-item>
</el-form>
</div>

View File

@@ -4,7 +4,7 @@
<div>
<el-form :model="formContent" ref='dialogFormRef' :rules='rules' class="form-two">
<el-form-item label="名称" prop="name" >
<el-input v-model='formContent.name' placeholder="请输入设备类型名称"/>
<el-input v-model='formContent.name' placeholder="请输入设备类型名称" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="工作电源" prop="power" >
<el-select v-model="formContent.power" clearable placeholder="请选择工作电源">

View File

@@ -6,10 +6,10 @@
<el-form :model='formContent' ref='dialogFormRef' :rules='rules' :disabled="false" label-width="auto" class="form-three">
<el-divider>设备信息</el-divider>
<el-form-item label="装置编号" prop="createId">
<el-input v-model="formContent.createId" placeholder="请输入装置编号" @input="handleInput"/>
<el-input v-model="formContent.createId" placeholder="请输入装置编号" @input="handleInput" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="设备名称" prop="name">
<el-input v-model='formContent.name' placeholder="请输入设备名称" :disabled="scene === '1'"/>
<el-input v-model='formContent.name' placeholder="请输入设备名称" :disabled="scene === '1'" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='设备类型' prop='devType'>
<el-select v-model="formContent.devType" filterable clearable placeholder="请选择设备类型" @change="handleDevTypeChange">

View File

@@ -5,7 +5,7 @@
<div>
<el-form :model="formContent" ref='dialogFormRef' :rules='rules' label-width="auto" class="form-four">
<el-form-item label="标准号" prop="standardName" >
<el-input v-model='formContent.standardName' placeholder="请填写标准号"/>
<el-input v-model='formContent.standardName' placeholder="请填写标准号" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="标准推行年份" prop="standardTime" >
<el-date-picker

View File

@@ -4,10 +4,10 @@
<div>
<el-form :model="formContent" ref='dialogFormRef' :rules='rules'>
<el-form-item label="名称" prop="name" >
<el-input v-model='formContent.name' placeholder="请输入icd名称"/>
<el-input v-model='formContent.name' placeholder="请输入icd名称" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="存储地址" prop="path" >
<el-input v-model='formContent.path' placeholder="请输入icd存储地址"/>
<el-input v-model='formContent.path' placeholder="请输入icd存储地址" maxlength="32" show-word-limit/>
</el-form-item>
</el-form>
</div>

View File

@@ -10,7 +10,7 @@
class="form-five"
>
<el-form-item label="脚本名称" prop="name">
<el-input v-model.trim="formContent.name" placeholder="请输入脚本名称" clearable />
<el-input v-model.trim="formContent.name" placeholder="请输入脚本名称" clearable maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="参照标准名称" prop="standardName">
<!-- <el-input v-model.trim="formContent.standardName" placeholder="请输入参照标准名称" clearable />-->

View File

@@ -16,10 +16,10 @@
/>
</el-form-item>
<el-form-item label="源参数描述" :label-width="100" prop="desc">
<el-input v-model="formContent.desc" autocomplete="off"/>
<el-input v-model="formContent.desc" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="源参数类型" :label-width="100" prop="type">
<el-input v-model="formContent.type" autocomplete="off"/>
<el-input v-model="formContent.type" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="源参数值" :label-width="100"
prop="value">

View File

@@ -6,7 +6,7 @@
<el-col :span="12">
<el-form :model="formContent" ref='dialogFormRef' :rules='rules'>
<el-form-item label="名称" prop="name" :label-width="100">
<el-input v-model="formContent.name" placeholder="请输入名称" autocomplete="off"/>
<el-input v-model="formContent.name" placeholder="请输入名称" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='检测源' prop='sourceIds' :label-width='100'>
<el-select v-model="formContent.sourceIds" :multiple="selectByMode" collapse-tags placeholder="请选择检测源" clearable>

View File

@@ -71,6 +71,7 @@ import {useDownload} from "@/hooks/useDownload";
import {getTestConfig } from '@/api/system/base/index'
import {type Base } from '@/api/system/base/interface'
import { getBoundPqDevList ,staticsAnalyse} from '@/api/plan/plan.ts'
import { kMaxLength } from 'buffer'
// defineOptions({
// name: 'planList'

View File

@@ -7,10 +7,10 @@
<el-input :value="dictTypeName" disabled/>
</el-form-item>
<el-form-item label="名称" :label-width="100" prop="name">
<el-input v-model="formContent.name" placeholder="请输入" autocomplete="off"/>
<el-input v-model="formContent.name" placeholder="请输入" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="编码" :label-width="100" prop="code">
<el-input v-model="formContent.code" placeholder="请输入" autocomplete="off"/>
<el-input v-model="formContent.code" placeholder="请输入" autocomplete="off" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="开启值描述" :label-width="100" >
<el-radio-group v-model="formContent.openValue" @change="handleOpenValueChange">

View File

@@ -13,7 +13,7 @@
</el-select>
</el-form-item>
<el-form-item label='指标名称' prop='name'>
<el-input v-model='formContent.name' placeholder='请输入指标名称' autocomplete='off'/>
<el-input v-model='formContent.name' placeholder='请输入指标名称' autocomplete='off' maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='相别' prop='phase'>
<el-select v-model="formContent.phase" clearable placeholder="请选择相别">

View File

@@ -2,13 +2,13 @@
<el-dialog v-model='dialogVisible' :title='dialogTitle' v-bind='dialogSmall' @close="close">
<el-form :model='formContent' ref='dialogFormRef' :rules='rules' >
<el-form-item label='字典名称' :label-width='100' prop='name'>
<el-input v-model='formContent.name' placeholder='请输入字典名称' autocomplete='off' />
<el-input v-model='formContent.name' placeholder='请输入字典名称' autocomplete='off' maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='排序' :label-width='100'>
<el-input-number v-model='formContent.sort' :min='1' :max='999' />
</el-form-item>
<el-form-item label='编码' :label-width='100' prop='code'>
<el-input v-model='formContent.code' placeholder='请输入字典编码' autocomplete='off' />
<el-input v-model='formContent.code' placeholder='请输入字典编码' autocomplete='off' maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='描述' :label-width='100' prop='remark'>
<el-input v-model='formContent.remark' placeholder='请输入字典描述' autocomplete='off' :rows="2"

View File

@@ -3,10 +3,10 @@
<div>
<el-form :model='formContent' ref='dialogFormRef' :rules='rules'>
<el-form-item label='类型名称' :label-width='100' prop='name'>
<el-input v-model='formContent.name' placeholder='请输入' autocomplete='off' />
<el-input v-model='formContent.name' placeholder='请输入' autocomplete='off' maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label='类型编码' :label-width='100' prop='code'>
<el-input v-model='formContent.code' placeholder='请输入' autocomplete='off' />
<el-input v-model='formContent.code' placeholder='请输入' autocomplete='off' maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="开启等级" :label-width="100" v-if="false">
<el-radio-group v-model="formContent.openLevel" >

View File

@@ -3,10 +3,10 @@
<div>
<el-form ref="dialogFormRef" :model="formContent" :rules="rules">
<el-form-item label="名称" prop="name">
<el-input v-model="formContent.name" placeholder="请输入报告名称"/>
<el-input v-model="formContent.name" placeholder="请输入报告名称" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="formContent.version" placeholder="请输入版本号"/>
<el-input v-model="formContent.version" placeholder="请输入版本号" maxlength="32" show-word-limit/>
</el-form-item>
<el-form-item label="基础模板文件" prop="baseFile">
<el-upload