bug修复

This commit is contained in:
caozehui
2025-04-08 09:43:12 +08:00
parent e1a740f8bf
commit 08cffa4256
13 changed files with 368 additions and 326 deletions

View File

@@ -100,10 +100,14 @@ class RequestHttp {
// 全局错误信息拦截(防止下载文件的时候返回数据流,没有 code 直接报错)
if (data.code && data.code !== ResultEnum.SUCCESS) {
if(data.message.includes('&')){
const formattedMessage = data.message.split('&').join('<br>');
let formattedMessage = data.message.split('&').join('<br>');
if (data.message.includes(':')) {
formattedMessage = formattedMessage.replace(':', '')
}
ElMessage.error({ message: formattedMessage, dangerouslyUseHTMLString: true });
return Promise.reject(data)
}
ElMessage.error(data.message)
return Promise.reject(data)
}

View File

@@ -68,8 +68,8 @@ export const exportPlan = (params: Device.ReqPqDevParams) => {
}
// 下载模板
export const downloadTemplate = () => {
return http.download(`/adPlan/downloadTemplate`)
export const downloadTemplate = (params: { patternId: string }) => {
return http.download(`/adPlan/downloadTemplate`, params)
}
// 导入检测计划
export const importPlan = (params: Device.ReqPqDevParams) => {

View File

@@ -77,7 +77,7 @@ const acceptParams = (params: ExcelParameterProps) => {
// Excel 导入模板下载
const downloadTemp = () => {
if (!parameter.value.tempApi) return
useDownload(parameter.value.tempApi, `${parameter.value.title}模板`, {}, false)
useDownload(parameter.value.tempApi, `${parameter.value.title}模板`, {'patternId':parameter.value.patternId}, false)
}
// 文件上传

View File

@@ -199,6 +199,8 @@ const displayPid = computed({
functionList.value = response.data as unknown as Function.ResFunction[]
titleType.value = sign
dialogVisible.value = true
rules.value.path = [{ required: true, trigger: 'blur', message: '路由地址必填!' }];
rules.value.component = [{ required: true, trigger: 'blur', message: '组件地址必填!' }];
if (formContent.value.pid ==='0') {
formContent.value.pid = '';

View File

@@ -4,8 +4,7 @@
<el-tab-pane label="预检测项目">
<div class="form-grid">
<el-checkbox v-for="(item, index) in detectionOptions" v-model="item.selected" :key="index"
:label="item.name"></el-checkbox>
<!-- disabled="true" -->
:label="item.name" disabled></el-checkbox>
</div>
</el-tab-pane>
</el-tabs>
@@ -18,7 +17,7 @@
<el-step :status="step2" title="设备通讯校验"/>
<el-step :status="step3" title="协议校验"/>
<el-step :status="step4" title="相序校验"/>
<el-step :status="step5" title="检测完成"/>
<el-step :status="step5" :title="ts === 'error'? '检测失败':ts === 'process'? '检测中':ts === 'success'? '检测成功':'待检测'"/>
</el-steps>
</div>
<div class="dialog-right">
@@ -258,9 +257,11 @@ watch(webMsgSend, function (newValue, oldValue) {
ElMessage.error(newValue.code)
step1.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 10523) {
step1.value = 'error'
ts.value = 'error'
step5.value = 'error'
step1InitLog.value = [{
type: 'error',
log: '源连接失败!',
@@ -268,6 +269,7 @@ watch(webMsgSend, function (newValue, oldValue) {
} else if (newValue.code == -1) {
step1.value = 'error'
ts.value = 'error'
step5.value = 'error'
step1InitLog.value = [{
type: 'error',
log: '源未知异常!',
@@ -301,6 +303,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step2.value = 'error'
// ts.value = 'error'
// step5.value = 'error'
} else if (newValue.code == 10551) {
step2InitLog.value.push({
type: 'error',
@@ -308,6 +311,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step2.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 10552) {
//ElMessage.error("存在已经初始化步骤,已经自动关闭,请重新发起检测!")
step2InitLog.value = [{
@@ -316,6 +320,7 @@ watch(webMsgSend, function (newValue, oldValue) {
}];
step2.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 25001) {
activeIndex.value = 2
step2.value = 'success'
@@ -347,6 +352,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step3.value = 'error'
// ts.value = 'error'
// step5.value = 'error'
} else if (newValue.code == 10551) {
step3InitLog.value.push({
type: 'error',
@@ -354,6 +360,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step3.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 10552) {
step3.value = 'error'
//ElMessage.error("存在已经初始化步骤,已经自动关闭,请重新发起检测!")
@@ -362,6 +369,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '存在已经初始化步骤,执行自动关闭,请重新发起检测!',
}];
ts.value = 'error'
step5.value = 'error'
}
break;
case 'INIT_GATHER$02':
@@ -384,6 +392,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step3.value = 'error'
// ts.value = 'error'
// step5.value = 'error'
} else if (newValue.code == 10551) {
step3InitLog.value.push({
type: 'error',
@@ -391,6 +400,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step3.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 10552) {
step3.value = 'error'
//ElMessage.error("存在已经初始化步骤,已经自动关闭,请重新发起检测!")
@@ -399,6 +409,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '存在已经初始化步骤,执行自动关闭,请重新发起检测!',
}];
ts.value = 'error'
step5.value = 'error'
}
break;
case 'INIT_GATHER$03':
@@ -417,6 +428,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step3.value = 'error'
// ts.value = 'error'
// step5.value = 'error'
} else if (newValue.code == 10551) {
step3InitLog.value.push({
type: 'error',
@@ -424,6 +436,7 @@ watch(webMsgSend, function (newValue, oldValue) {
})
step3.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 10552) {
//ElMessage.error("当前步骤已经初始化,执行自动关闭,请重新发起检测!")
step3.value = 'error'
@@ -432,6 +445,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '存在已经初始化步骤,执行自动关闭,请重新发起检测!',
}];
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 25001) {
activeIndex.value = 3
step3.value = 'success'
@@ -460,6 +474,7 @@ watch(webMsgSend, function (newValue, oldValue) {
ElMessage.error("存在已经初始化步骤,已经自动关闭,请重新发起检测!")
step4.value = 'error'
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 10520) {
step4.value = 'error'
step4InitLog.value.push({
@@ -467,6 +482,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '解析报文异常',
})
ts.value = 'error'
step5.value = 'error'
}
break;
@@ -496,6 +512,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '相序校验未通过!',
})
ts.value = 'error'
step5.value = 'error'
} else if (newValue.code == 25001) {
step4.value = 'success'
step5.value = 'success'
@@ -522,6 +539,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '源服务端连接失败!',
}];
ts.value = 'error'
step5.value = 'error'
break;
case "Dev":
step2.value = 'error'
@@ -530,6 +548,7 @@ watch(webMsgSend, function (newValue, oldValue) {
log: '设备服务端连接失败!',
}];
ts.value = 'error'
step5.value = 'error'
break;
}
break;
@@ -542,6 +561,7 @@ watch(webMsgSend, function (newValue, oldValue) {
type: 'error',
})
ts.value = 'error'
step5.value = 'error'
break;
}

View File

@@ -958,11 +958,14 @@ const handleTest = async (val: string) => {
selectTestItemPopupRef.value?.open()
})
.catch((action: Action) => {
if(action === 'cancel'){
ElMessage.success('全部复检')
checkStore.setReCheckType(1)
selectTestItemPopupRef.value?.open()
}
})
} else {
checkStore.setReCheckType(1)
selectTestItemPopupRef.value?.open()
}
} else if (val === '系数校准') {

View File

@@ -299,7 +299,7 @@ watch(TestStatus, function (newValue, oldValue) {
watch(ActiveStatue, function (newValue, oldValue) {
if (newValue === 'error') {
// stepsActiveIndex.value = stepsTotalNum.value + 2
stepsActiveIndex.value = stepsTotalNum.value + 1
nextStepText.value = '检测失败'
}
if (newValue === 'success' && stepsActiveIndex.value === stepsTotalNum.value - 1) {

View File

@@ -157,7 +157,9 @@ import { CirclePlus, Delete, EditPen } from '@element-plus/icons-vue'
// 使用 dayjs 库格式化
import dayjs from 'dayjs'
import MonitorTable from '@/views/machine/device/components/monitorTab.vue';
import {useAppSceneStore} from "@/stores/modules/mode";
const AppSceneStore = useAppSceneStore()
const MonIsShow = ref(false)
const DevIsShow = ref(false)
// 存储设备类型选项
@@ -322,7 +324,10 @@ const rules = computed(() => {
}
if (valid) {
formContent.value.createDate = dayjs(formContent.value.createDate).format('YYYY-MM-DD');
if (AppSceneStore.currentScene === '1') {
formContent.value.name = formContent.value.createId
}
if (formContent.value.arrivedDate)
{
formContent.value.arrivedDate = dayjs(formContent.value.arrivedDate).format('YYYY-MM-DD');

View File

@@ -93,8 +93,8 @@ function useMetaInfo() {
}
const rules: reactive<Record<string, Array<FormItemRule>>> = reactive({
desc: [{required: true, message: '源参数描述必填!', trigger: 'blur'}],
type: [{required: true, message: '源参数类型必填!', trigger: 'blur'}],
desc: [{required: true, message: '源参数描述必填!', trigger: 'blur'},{min: 1, max: 32, message: '长度为1~32个字符', trigger: 'blur'}],
type: [{required: true, message: '源参数类型必填!', trigger: 'blur'},{min: 1, max: 32, message: '长度为1~32个字符', trigger: 'blur'}],
sort: [{required: true, message: '排序必填!', trigger: 'blur'}]
})

View File

@@ -9,7 +9,7 @@
<el-input v-model="formContent.name" placeholder="请输入名称" autocomplete="off"/>
</el-form-item>
<el-form-item label='检测源' prop='sourceIds' :label-width='100'>
<el-select v-model="formContent.sourceIds" :multiple="selectByMode" collapse-tags placeholder="请选择检测源">
<el-select v-model="formContent.sourceIds" :multiple="selectByMode" collapse-tags placeholder="请选择检测源" clearable>
<el-option
v-for="(option, index) in pqSourceArray"
:key="index"
@@ -19,7 +19,7 @@
</el-select>
</el-form-item>
<el-form-item label="数据源" prop="datasourceIds" :label-width="100">
<el-select v-model="formContent.datasourceIds" :multiple="selectByMode" collapse-tags placeholder="请选择数据源" autocomplete="off">
<el-select v-model="formContent.datasourceIds" :multiple="selectByMode" collapse-tags placeholder="请选择数据源" autocomplete="off" clearable>
<el-option
v-for="item in dictStore.getDictData(dataSourceType)"
:key="item.id"
@@ -29,7 +29,7 @@
</el-select>
</el-form-item>
<el-form-item label="检测脚本" prop="scriptId" :label-width="100">
<el-select v-model="formContent.scriptId" placeholder="请选择检测脚本" autocomplete="off" :disabled="isSelectDisabled ">
<el-select v-model="formContent.scriptId" placeholder="请选择检测脚本" autocomplete="off" :disabled="isSelectDisabled" clearable>
<el-option
v-for="(option, index) in pqScriptArray"
:key="index"
@@ -39,7 +39,7 @@
</el-select>
</el-form-item>
<el-form-item label="误差体系" prop="errorSysId" :label-width="100">
<el-select v-model="formContent.errorSysId" placeholder="请选择误差体系" autocomplete="off" :disabled="isSelectDisabled">
<el-select v-model="formContent.errorSysId" placeholder="请选择误差体系" autocomplete="off" :disabled="isSelectDisabled" clearable>
<el-option
v-for="(option, index) in pqErrorArray"
:key="index"

View File

@@ -93,7 +93,7 @@ const planList = ref<Plan.ResPlan[]>([]);
const getTableList = async(params: any) => {
let newParams = JSON.parse(JSON.stringify(params))
const patternId = dictStore.getDictData('Pattern').find(item=>item.name=== modeStore.currentMode)?.id//获取数据字典中对应的id
newParams.pattern = patternId
newParams.patternId = patternId
try {
const result = await getPlanList(newParams);
@@ -356,7 +356,7 @@ const exportClick = () => {
ElMessageBox.confirm('确认导出检测计划?', '温馨提示', { type: 'warning' }).then(() =>{
const patternId = dictStore.getDictData('Pattern').find(item=>item.name=== modeStore.currentMode)?.id//获取数据字典中对应的id
useDownload(exportPlan,'检测计划导出数据', {...proTable.value?.searchParam,pattern:patternId}, false,'.xlsx')
useDownload(exportPlan,'检测计划导出数据', {...proTable.value?.searchParam,patternId:patternId}, false,'.xlsx')
})
}

View File

@@ -1,13 +1,14 @@
<template>
<div class='table-box' >
<div class='table-box'>
<el-tabs type="border-card">
<el-tab-pane label="检测相关配置">
<div >
<el-divider >检测配置</el-divider>
<el-row :gutter="24" >
<div>
<el-form :model="TestConfigForm" ref='testConfigFormRef' :rules='rules'>
<el-divider>检测配置</el-divider>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label='一键检测方式' prop='autoGenerate' :label-width="140">
<el-select v-model="TestConfigForm.autoGenerate" clearable placeholder="请选择一键检测方式" >
<el-select v-model="TestConfigForm.autoGenerate" clearable placeholder="请选择一键检测方式">
<el-option label="只检测,报告后续手动生成" :value="0"></el-option>
<el-option label="检测和生成报告同时进行" :value="1"></el-option>
</el-select>
@@ -15,12 +16,12 @@
</el-col>
<el-col :span="8">
<el-form-item label='检测最大次数' prop='maxTime' :label-width="110">
<el-input-number v-model='TestConfigForm.maxTime' :min='1' :max='999' />
<el-input-number v-model='TestConfigForm.maxTime' :min='1' :max='999'/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='数据处理原则' prop='dataRule' :label-width="140">
<el-select v-model="TestConfigForm.dataRule" clearable placeholder="请选择数据处理原则" >
<el-select v-model="TestConfigForm.dataRule" clearable placeholder="请选择数据处理原则">
<el-option
v-for="item in dictStore.getDictData('Data_Rule')"
:key="item.id"
@@ -30,28 +31,28 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form :model="RegResForm" ref='dialogFormRef' :rules='rules' >
<el-divider >有效数据配置</el-divider>
<el-row :gutter="24" >
</el-form>
<el-form :model="RegResForm" ref='dialogFormRef' :rules='rules'>
<el-divider>有效数据配置</el-divider>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="录波数据有效组数" prop="waveRecord" :label-width="140">
<el-input v-model.number='RegResForm.waveRecord' :placeholder="placeholder" :disabled="IsMode"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实时数据有效组数" prop="realTime" :label-width="140" >
<el-form-item label="实时数据有效组数" prop="realTime" :label-width="140">
<el-input number v-model.number='RegResForm.realTime' placeholder="请输入实时数据有效组数"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="统计数据有效组数" prop="statistics" :label-width="140" >
<el-form-item label="统计数据有效组数" prop="statistics" :label-width="140">
<el-input number v-model.number='RegResForm.statistics' placeholder="请输入统计数据有效组数"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="闪变数据有效组数" prop="flicker" :label-width="140" >
<el-form-item label="闪变数据有效组数" prop="flicker" :label-width="140">
<el-input number v-model.number='RegResForm.flicker' placeholder="请输入闪变数据有效组数"/>
</el-form-item>
</el-col>
@@ -63,11 +64,11 @@
</div>
</el-tab-pane>
<el-tab-pane label="日志配置">
<div >
<el-row :gutter="24" >
<div>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label='调试日志配置' :label-width="140">
<el-select clearable placeholder="请选择调试日志配置" >
<el-select clearable placeholder="请选择调试日志配置">
<el-option label="开启" :value="0"></el-option>
<el-option label="关闭" :value="1"></el-option>
</el-select>
@@ -75,7 +76,7 @@
</el-col>
<el-col :span="8">
<el-form-item label='调试日志记录等级' :label-width="140">
<el-select clearable placeholder="请选择日志记录等" >
<el-select clearable placeholder="请选择日志记录等">
<el-option label="FATAL(致命错误)及以上" :value="0"></el-option>
<el-option label="ERROR(一般错误)及以上" :value="1"></el-option>
<el-option label="WARN(警告)及以上" :value="2"></el-option>
@@ -86,7 +87,7 @@
</el-col>
<el-col :span="8">
<el-form-item label='操作日志配置' :label-width="140">
<el-select clearable placeholder="请选择操作日志配置" >
<el-select clearable placeholder="请选择操作日志配置">
<el-option label="开启" :value="0"></el-option>
<el-option label="关闭" :value="1"></el-option>
</el-select>
@@ -99,11 +100,11 @@
</div>
</el-tab-pane>
<el-tab-pane label="数据删除备份配置">
<div >
<el-row :gutter="24" >
<div>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label='原始数据备份频率' :label-width="140">
<el-select clearable placeholder="请选择原始数据备份频率" >
<el-select clearable placeholder="请选择原始数据备份频率">
<el-option label="每月" :value="0"></el-option>
<el-option label="每三月" :value="1"></el-option>
<el-option label="每年" :value="1"></el-option>
@@ -114,7 +115,7 @@
<el-col :span="8">
<el-form-item label='原始数据备份路径' :label-width="140">
<el-col :span="16">
<el-input />
<el-input/>
</el-col>
<el-col :span="8">
<el-button type='primary'>立即进行备份</el-button>
@@ -122,17 +123,17 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" >
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label='原始数据备份时间' :label-width="140">
<el-select clearable placeholder="请选择原始数据备份时间" >
<el-select clearable placeholder="请选择原始数据备份时间">
<el-option label="03:00" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label='原始数据删除配置' :label-width="140">
<el-select clearable placeholder="请选择原始数据删除配置" >
<el-select clearable placeholder="请选择原始数据删除配置">
<el-option label="从不" :value="0"></el-option>
<el-option label="大于半年进行删除" :value="1"></el-option>
<el-option label="大于一年进行删除" :value="2"></el-option>
@@ -143,16 +144,16 @@
</el-col>
<el-col :span="8">
<el-form-item label='原始数据删除时间' :label-width="140">
<el-select clearable placeholder="请选择原始数据删除时间" >
<el-select clearable placeholder="请选择原始数据删除时间">
<el-option label="05:00" :value="0"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24" >
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label='调试日志保存策略' :label-width="140">
<el-select clearable placeholder="请选择调试日志保存策略" >
<el-select clearable placeholder="请选择调试日志保存策略">
<el-option label="一个月" :value="0"></el-option>
<el-option label="三个月" :value="1"></el-option>
<el-option label="六个月" :value="2"></el-option>
@@ -162,7 +163,7 @@
</el-col>
<el-col :span="8">
<el-form-item label='操作日志保存策略' :label-width="140">
<el-select clearable placeholder="请选择操作日志保存策略" >
<el-select clearable placeholder="请选择操作日志保存策略">
<el-option label="三个月" :value="0"></el-option>
<el-option label="六个月或大于100万条" :value="1"></el-option>
<el-option label="从不" :value="2"></el-option>
@@ -177,63 +178,60 @@
</el-tab-pane>
</el-tabs>
</div>
</template>
</template>
<script setup lang='tsx''>
import { type Dict } from '@/api/system/dictionary/interface'
import { ProTableInstance, ColumnProps } from '@/components/ProTable/interface'
import PqPopup from '@/views/system/dictionary/dictPq/components/pqPopup.vue'
import { useDictStore } from '@/stores/modules/dict'
import { useHandleData } from '@/hooks/useHandleData'
import { computed, onMounted, reactive, Ref, ref, watch } from 'vue'
import {type Base } from '@/api/system/base/interface'
import {type VersionRegister } from '@/api/system/versionRegister/interface'
import {getTestConfig,updateTestConfig } from '@/api/system/base/index'
import {getRegRes,updateRegRes } from '@/api/system/versionRegister/index'
import { ElMessage, FormItemRule } from 'element-plus'
import { useModeStore } from '@/stores/modules/mode'; // 引入模式 store
defineOptions({
<script setup lang='tsx'>
import {useDictStore} from '@/stores/modules/dict'
import {computed, onMounted, Ref, ref} from 'vue'
import {type Base} from '@/api/system/base/interface'
import {type VersionRegister} from '@/api/system/versionRegister/interface'
import {getTestConfig, updateTestConfig} from '@/api/system/base/index'
import {getRegRes, updateRegRes} from '@/api/system/versionRegister/index'
import {ElMessage, FormItemRule} from 'element-plus'
import {useModeStore} from '@/stores/modules/mode'; // 引入模式 store
defineOptions({
name: 'base'
})
})
const modeStore = useModeStore();
const dictStore = useDictStore()
const dialogFormRef = ref()
const mode = ref()
const IsMode = ref(false)
const placeholder = ref()
const TestConfigList = ref<Base.ResTestConfig>()
const RegResList = ref<VersionRegister.ResSys_Reg_Res>()
const modeStore = useModeStore();
const dictStore = useDictStore()
const testConfigFormRef = ref()
const dialogFormRef = ref()
const mode = ref()
const IsMode = ref(false)
const placeholder = ref()
const TestConfigList = ref<Base.ResTestConfig>()
const RegResList = ref<VersionRegister.ResSys_Reg_Res>()
// 初始化时获取
onMounted(async () => {
mode.value =modeStore.currentMode;//pinia中获取当前是那个模块进来的
mode.value = modeStore.currentMode;//pinia中获取当前是那个模块进来的
const response = await getTestConfig()
TestConfigForm.value = response.data as unknown as Base.ResTestConfig
const patternId = dictStore.getDictData('Pattern').find(item=>item.name=== mode.value)?.id//获取数据字典中对应的id
const patternId = dictStore.getDictData('Pattern').find(item => item.name === mode.value)?.id//获取数据字典中对应的id
RegResForm.value.type = patternId || '';
const response2 = await getRegRes(RegResForm.value)
RegResForm.value = response2.data as unknown as VersionRegister.ResSys_Reg_Res
//只有比对式有录波
if(mode.value == '比对式'){
if (mode.value == '比对式') {
placeholder.value = '请输入录波数据有效组数'
IsMode.value = false
}else{
} else {
placeholder.value = '/'
IsMode.value = true
}
})
})
const TestConfigForm = ref<Base.ResTestConfig>({
const TestConfigForm = ref<Base.ResTestConfig>({
id: '',
autoGenerate: 0,
maxTime: 3,
dataRule: '',
state: 1, //状态
})
})
const RegResForm = ref<VersionRegister.ResSys_Reg_Res>({
const RegResForm = ref<VersionRegister.ResSys_Reg_Res>({
id: '', //版本注册表Id
type: '', //版本类型(模拟式、数字式、比对式)
code: '', //注册码
@@ -246,72 +244,80 @@ onMounted(async () => {
state: 1, //状态
})
const RegResForm2 = ref<VersionRegister.Sys_Reg_Res>({
id:'',
const RegResForm2 = ref<VersionRegister.Sys_Reg_Res>({
id: '',
waveRecord: 0,
realTime: 20,
statistics: 5,
flicker: 1,
})
})
// 定义弹出组件元信息
const rules = computed(() =>{
const baseRules : Ref<Record<string, Array<FormItemRule>>> = ref({
realTime :[
{required:true,trigger:'blur',message:'实时数据有效组数必填!'},
{ pattern: /^[0-9]\d*$/, message: '实时数据有效组数为含0的正整数', trigger: 'blur' }
// 定义弹出组件元信息
const rules = computed(() => {
const baseRules: Ref<Record<string, Array<FormItemRule>>> = ref({
maxTime: [
{required: true, trigger: 'blur', message: '检测最大次数必填!'},
],
statistics :[
{required:true,trigger:'blur',message:'统计数据有效组数必填!'},
{ pattern: /^[0-9]\d*$/, message: '统计数据有效组数为含0的正整数', trigger: 'blur' }
realTime: [
{required: true, trigger: 'blur', message: '实时数据有效组数必填!'},
{pattern: /^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2})$/, message: '实时数据有效组数为1~999的正整数', trigger: 'blur'}
],
flicker :[
{required:true,trigger:'blur',message:'闪变数据有效组数必填!'},
{ pattern: /^[0-9]\d*$/, message: '闪变数据有效组数为含0的正整数', trigger: 'blur' }
statistics: [
{required: true, trigger: 'blur', message: '统计数据有效组数必填!'},
{pattern: /^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2})$/, message: '统计数据有效组数为1~999的正整数', trigger: 'blur'}
],
flicker: [
{required: true, trigger: 'blur', message: '闪变数据有效组数必填!'},
{pattern: /^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2})$/, message: '闪变数据有效组数为1~999的正整数', trigger: 'blur'}
],
});
if(mode.value == '比对式'){
if (mode.value == '比对式') {
baseRules.value.waveRecord = [
{required:true,trigger:'blur',message:'录波数据有效组数必填!'},
{ pattern: /^[0-9]\d*$/, message: '录波数据有效组数为含0的正整数', trigger: 'blur' }
{required: true, trigger: 'blur', message: '录波数据有效组数必填!'},
{pattern: /^(?:[1-9]|[1-9][0-9]|[1-9][0-9]{2})$/, message: '录波数据有效组数为1~999的正整数', trigger: 'blur'}
];
}
return baseRules;
})
})
const submitForm = async () => {
const submitForm = async () => {
try {
dialogFormRef.value?.validate(async (valid: boolean) => {
testConfigFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
await updateTestConfig(TestConfigForm.value);
// 提取并传递 4 个参数
const { id,waveRecord, realTime, statistics, flicker } = RegResForm.value
RegResForm2.value = { id,waveRecord, realTime, statistics, flicker }
dialogFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
//await updateTestConfig(TestConfigForm.value);
if(RegResForm.value.waveRecord == null){
// 提取并传递 4 个参数
const {id, waveRecord, realTime, statistics, flicker} = RegResForm.value
RegResForm2.value = {id, waveRecord, realTime, statistics, flicker}
if (RegResForm.value.waveRecord == null) {
RegResForm2.value.waveRecord = -1
}
await updateRegRes(RegResForm2.value);
ElMessage.success({ message: `保存配置成功!` })
ElMessage.success({message: `保存配置成功!`})
}
})
}
})
} catch (err) {
console.error('验证过程中出现错误', err)
}
}
}
</script>
<style scoped>
.dialog-footer {
</script>
<style scoped>
.dialog-footer {
float: right;
}
</style>
}
</style>

View File

@@ -17,6 +17,7 @@
:on-exceed="BaseHandleExceed"
:on-remove="BaseHandleRemove"
style="width: 100% !important;"
accept=".docx"
class="upload-container"
>
<el-button type="primary">选择文件</el-button>
@@ -33,6 +34,7 @@
:on-exceed="DataHandleExceed"
:on-remove="DataHandleRemove"
style="width: 100% !important;"
accept=".docx"
class="upload-container"
>
<el-button type="primary">选择文件</el-button>