修改计算结果逻辑,动态匹配设备物料信息

This commit is contained in:
limengnan 2026-05-18 18:09:44 +08:00
parent b2e250ac05
commit d979b5523a
2 changed files with 29 additions and 81 deletions

View File

@ -208,81 +208,21 @@ function addAttrText(item:any,index:any,useData:any){
let tempData:any = []
if(item.scenarioResults[index].attrState){
let attrState = JSON.parse(item.scenarioResults[index].attrState)
debugger
for (const key in attrState) {
if (!Object.hasOwn(attrState, key)) continue;
const element = attrState[key];
tempData.push({
name: key,
value: element
value: element,
deviceType: item.scenarioResults[index].deviceType,
deviceTypeResultant: item.scenarioResults[index].deviceType + key,
})
}
}
appendAttrText(item,tempData,useData)
}
function getName(code:any) {
let name = ''
switch (code) {
case 'width':
return name = "宽度cm";
break;
case 'outer_diameter':
return name = "外径cm";
break;
case 'height':
return name = "高度cm";
break;
case 'length':
return name = "长度cm";
break;
case 'diameter':
return name = "外径cm";
break;
case 'volume':
return name = "体积单位L";
break;
case 'flow_rate':
return name = "流量单位m3/h";
break;
case 'pulse_velocity':
return name = "脉冲速度单位Hz";
break;
case 'u_concentration':
return name = "铀浓度g/L";
break;
case 'uo2_density':
return name = "氧化铀密度g/cm3";
break;
case 'u_enrichment':
return name = "铀富集度";
break;
case 'pu_concentration':
return name = "钚浓度g/L";
break;
case 'puo2_density':
return name = "氧化钚密度g/cm3";
break;
case 'pu_isotope':
return name = "钚同位素比例PU-240占比";
break;
case 'hno3_acidity':
return name = "硝酸酸度mol/L";
break;
case 'h2c2o4_concentration':
return name = "草酸浓度mol/L";
break;
case 'organic_ratio':
return name = "有机相比例";
break;
case 'moisture_content':
return name = "含水率";
break;
default:
return name = "";
}
return name
}
function appendAttrText(item:any,data:any,useData:any){
if(useData.length == 0){
return
@ -290,7 +230,9 @@ function appendAttrText(item:any,data:any,useData:any){
if(isDisplay.value == false){
return
}
const result = data.filter((item:any) => useData.includes(item.name));
const materialResult = data.filter((item:any) => useData.includes(item.name));
const deviceResult = data.filter((item:any) => useData.includes(item.deviceTypeResultant));
const result = [...deviceResult,...materialResult]
for(let i = 0;i<result.length;i++){
graph.addNode({
shape: 'rect-text',
@ -308,7 +250,7 @@ function appendAttrText(item:any,data:any,useData:any){
label: {
textAnchor: 'left',
refX: 0,
text: getName(result[i].name) + '' + result[i].value,
text: getName(result[i].deviceType,result[i].name) + '' + result[i].value,
textWrap: {
width: 250,
height: 30,
@ -325,7 +267,28 @@ function appendAttrText(item:any,data:any,useData:any){
}
}
function getName(deviceType:any,name:any){
let tempName = ""
for (const key in sizeSchemaInfo.value) {
if (!Object.hasOwn(sizeSchemaInfo.value, key)) continue;
const element = sizeSchemaInfo.value[key];
if(key == deviceType){
element.fields.forEach((item:any) => {
if(item.key == name){
tempName = item.name
}
})
}
}
return tempName
}
function groupByDeviceId(data:any) { // id
//
if (!Array.isArray(data)) {
@ -859,20 +822,6 @@ function dialogAttributeDialog(){ // 关闭变动设置弹窗
function confirmClick(){
let tempData:any = []
// for(let i = 0;i<deviceList.value.length;i++){
// if(deviceList.value[i].checked){
// tempData.push(deviceList.value[i].code)
// }
// }
// items.name = items.label
// items.code = items.key
// items.checked = false
// items.deviceType = result[item].deviceType,
// items.deviceTypeName = getDeviceTypeName(result[item].deviceType)
for(let item in sizeSchemaInfo.value){
sizeSchemaInfo.value[item].fields.forEach((items:any) => {
if(items.checked == true){

View File

@ -311,7 +311,6 @@ onMounted(() => {
});
const handleInput = (val: string) => {
debugger
//
const reg = /^\d+(\.\d{0,2})?$/;