feat:分析计算问题

This commit is contained in:
houjunxiang
2025-12-25 17:10:08 +08:00
parent 7caeffbf1d
commit ba2151b00e
3 changed files with 11 additions and 6 deletions

View File

@@ -62,7 +62,7 @@ export function calcAnalysisValue(group) {
// 根据样品和配置列计算分析值
export function calcRowAnalysisValue(row, columnObj, dynamicsColumns) {
if (!columnObj.paramNo) return
if (!columnObj.paramNo || !row[columnObj.fieldIndex]) return
for (let i = 0; i < dynamicsColumns.length; i++) {
let curItem = dynamicsColumns[i]
if (curItem.fieldIndex === columnObj.fieldIndex) continue

View File

@@ -718,15 +718,17 @@ const saveDetail = async () => {
item.value = handleRoundFiveNumber(row[sourceKey].value, row.decimalPosition)
}
// 如果处理后的值不为空,重新赋值该字段到其他样品类型下的样品上,并触发每一个样品的计算
if (item.value !== null) {
for (const col of currentAssayType.value.columns) {
if (col.fieldIndex === sourceKey&&item.value) {
if (col.fieldIndex === sourceKey) {
if (item.value) {
dynamicFormData[item.target] = item.value
} else {
dynamicFormData[item.target] = row[sourceKey].value
}
}
}
updateTableDataByConfigFields()
}
}
})
params.formValue = JSON.stringify(dynamicFormData)
params.assayTaskAnalysisDataList = assayGroups.value.map(item => ({
@@ -768,8 +770,10 @@ function updateTableDataByConfigFields() {
if (!columnObj) continue
tab.tableData.forEach(row => {
// 赋值配置列参与计算
if(row[columnObj.fieldIndex]){
row[columnObj.fieldIndex].value = dynamicFormData[key]
calcRowAnalysisValue(row, columnObj, tab.columns)
}
})
}
}

View File

@@ -198,8 +198,10 @@ async function updateTableDataByConfigFields() {
if (!columnObj) continue
tab.tableData.forEach(row => {
// 赋值配置列参与计算
if(row[columnObj.fieldIndex]){
row[columnObj.fieldIndex].value = formData[key]
calcRowAnalysisValue(row, columnObj, tab.columns)
}
})
}
}
@@ -302,7 +304,6 @@ function checkPropertyEquality() {
const target = formula.split(':')[1]
const originalValue = dynamicFormData.value[target]
const currentValue = realFormData.value[target]
console.log('checkPropertyEquality', originalValue, currentValue)
if (!looseEqual(originalValue, currentValue)) {
return true
}