From b451bcdf065ddfdd5c46dce49e19707870cb4fa6 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期三, 16 四月 2025 09:57:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/model/pre/item/MmPredictItemForm.vue | 117 +++++++++++++++++++++++++++------------------------------- 1 files changed, 55 insertions(+), 62 deletions(-) diff --git a/src/views/model/pre/item/MmPredictItemForm.vue b/src/views/model/pre/item/MmPredictItemForm.vue index 52eae1e..6b16d06 100644 --- a/src/views/model/pre/item/MmPredictItemForm.vue +++ b/src/views/model/pre/item/MmPredictItemForm.vue @@ -299,18 +299,16 @@ </el-table-column> <el-table-column label="数据点" align="center"> <template #default="scope"> - <el-select + <el-select-v2 v-model="scope.row.pointid" - filterable + :options="pointList || []" + placeholder="请选择" + :props="{value:'id',label:'pointName'}" clearable + filterable @change="(value) => changeOutputPoint(value,scope.row)" - placeholder="请选择"> - <el-option - v-for="item in pointList" - :key="item.id" - :label="item.pointName" - :value="item.id"/> - </el-select> + :fit-input-width="false" + /> </template> </el-table-column> <el-table-column label="是否累计" align="center" width="150px"> @@ -334,18 +332,16 @@ </el-table-column> <el-table-column label="累计数据点" align="center"> <template #default="scope"> - <el-select + <el-select-v2 v-model="scope.row.cumulpoint" - :disabled="scope.row.iscumulant !== 1" - filterable + :options="pointList.filter(e => e.pointType === 'CUMULATE') || []" + placeholder="请选择" + :props="{value:'id',label:'pointName'}" clearable - placeholder="请选择"> - <el-option - v-for="item in pointList.filter(e => e.pointType === 'CUMULATE')" - :key="item.id" - :label="item.pointName" - :value="item.id"/> - </el-select> + filterable + :fit-input-width="false" + :disabled="scope.row.iscumulant !== 1" + /> </template> </el-table-column> <el-table-column prop="" label="操作" width="80" align="center"> @@ -402,36 +398,24 @@ </el-table-column> <el-table-column prop="" label="参数名称" align="center"> <template #default="scope"> - <el-select v-if="scope.row.modelparamtype === 'NormalItem'" + <el-select-v2 v-if="scope.row.modelparamtype === 'NormalItem'" v-model="scope.row.modelparamid" + :options="modelparamListMap['NormalItem'] || []" placeholder="请选择" + :props="{value:'value',label:'label',options:'children'}" + clearable filterable - @change="changeModelparam(scope.row)" - style="width: 100%"> - <el-option-group - v-for="group in modelparamListMap['NormalItem']" - :key="group.value" - :label="group.label" - > - <el-option - v-for="item in group.children" - :key="item.value" - :label="item.label" - :value="item.value" - /> - </el-option-group> - </el-select> - <el-select v-else + :fit-input-width="false" + /> + <el-select-v2 v-else v-model="scope.row.modelparamid" + :options="modelparamListMap[scope.row.modelparamtype] || []" + placeholder="请选择" + :props="{value:'id',label:'name'}" + clearable filterable - @change="changeModelparam(scope.row)" - placeholder="请选择"> - <el-option - v-for="(item, index) in modelparamListMap[scope.row.modelparamtype]" - :key="index" - :label="item.name" - :value="item.id"/> - </el-select> + :fit-input-width="false" + /> </template> </el-table-column> <el-table-column prop="" label="参数长度" width="120" align="center"> @@ -565,7 +549,6 @@ const pointList = ref([]) const pointMap = ref({}) const modelparamListMap = ref({}) -const modelparamMap = ref({}) const expressionList = ref([]) const fileList = ref([]) const operatorList = ['+', '-'] @@ -732,18 +715,39 @@ return } - let flag = false dataForm.value.mmItemOutputList.forEach(e => { if (e.resultstr == undefined || e.resultstr === '' || e.resultType == undefined || e.resultType === '' || (e.resultType === 2 && (e.resultIndex == undefined || e.resultIndex === '')) || (e.iscumulant === 1 && e.cumuldivisor == undefined) ) { - message.error("模型输出数据异常") - flag = true - return + message.error("输出数据异常") + throw new Error('输出数据异常'); } }) - if (flag) return + + + // 校验是否有预测长度参数 + const predictLength = dataForm.value.mmModelArithSettingsList?.find(e => e.key === 'predictLength')?.value; + if (predictLength === undefined) { + message.error("缺少模型设置参数【predictLength(预测长度)】") + return + } + dataForm.value.mmPredictItem.predictlength = predictLength + + //校验模型输入 + dataForm.value.mmModelParamList.forEach(e => { + if (e.modelparamid == undefined || e.modelparamid == '') { + message.error("输入数据异常") + throw new Error('输入数据异常'); + } + // ind_ascii类型输出的序号必须是1,且所在端口序号最大为1(一个ind_ascii类型输入独占一个端口) + if (e.modelparamtype === 'IND_ASCII') { + if (e.modelparamorder != 1 || dataForm.value.mmModelParamList.filter(p => p.modelparamportorder === e.modelparamportorder).length != 1) { + message.error("输入数据异常:IND_ASCII类型输入独占一个端口") + throw new Error('输入数据异常:IND_ASCII类型输入独占一个端口'); + } + } + }) } if (dataForm.value.itemtypename === 'MergeItem') { if (expressionList.value == undefined || expressionList.value.length <= 1) { @@ -762,7 +766,6 @@ if (flag) return } - // 提交请求 formLoading.value = true try { @@ -777,13 +780,7 @@ } else { dataForm.value.mmPredictMergeItem.expression = '' } - if (dataForm.value.mmModelArithSettingsList) { - for (let item of dataForm.value.mmModelArithSettingsList) { - if (item.key === 'predictLength') { - dataForm.value.mmPredictItem.predictlength = item.value - } - } - } + if (formType.value === 'create') { await MmPredictItem.createMmPredictItem(data) message.success(t('common.createSuccess')) @@ -910,10 +907,6 @@ } function uploadModelError(file, err, fileList) { -} - -function changeModelparam(row) { - row.modelparamname = modelparamMap[row.modelparamid] } function changeItemtype(value) { -- Gitblit v1.9.3