Commit 9ca6780e authored by 李纪文's avatar 李纪文

fix: 增加状态模型

parent ce174dca
......@@ -169,6 +169,7 @@ const ConfigurationView = (props) => {
} else {
myDiagram.model.setDataProperty(node, 'showVal', realVal);
}
if (node.stateName) return false;
shRule = ruleOperation(node, realVal);
myDiagram.model.setDataProperty(
node,
......@@ -281,6 +282,30 @@ const ConfigurationView = (props) => {
}
};
/** *********************************节点状态展示逻辑****************************** */
const stateMethod = (node, list) => {
const realVal = list.Value * 1;
if (!node.shType) return false;
let shRule = [];
try {
switch (node.category) {
case 'valCase': // 实时值模型
// 颜色规则
shRule = ruleOperation(node, realVal);
myDiagram.model.setDataProperty(
node,
'fontStroke',
shRule ? shRule.attr : node.fontStroke,
);
break;
default:
break;
}
} catch (err) {
console.log(err);
}
};
/** ***********************************展示规则运算********************************* */
const ruleOperation = (node, realVal) => {
const patt = /[><=]/gi;
......@@ -740,14 +765,16 @@ const ConfigurationView = (props) => {
});
if (!bindList || item.stationName !== bindList.name) return false;
if (
!pvList ||
pvList.pv === null ||
list.sensorName !== item.shName ||
item.realVal === pvList.pv
(!pvList ||
pvList.pv === null ||
list.sensorName !== item.shName ||
item.realVal === pvList.pv) &&
list.sensorName !== item.stateName
)
return false;
pvList.Value = pvList.pv;
showNodeMethod(node, pvList);
if (list.sensorName === item.shName) showNodeMethod(node, pvList);
if (list.sensorName === item.stateName) stateMethod(node, pvList);
});
});
} catch (e) {
......
......@@ -199,6 +199,7 @@ const ConfigurationView = (props) => {
myDiagram.model.setDataProperty(node, 'showVal', realVal);
}
// 颜色规则
if (node.stateName) return false;
shRule = ruleOperation(node, realVal);
myDiagram.model.setDataProperty(
node,
......@@ -311,6 +312,30 @@ const ConfigurationView = (props) => {
}
};
/** *********************************节点状态展示逻辑****************************** */
const stateMethod = (node, list) => {
const realVal = list.Value * 1;
if (!node.shType) return false;
let shRule = [];
try {
switch (node.category) {
case 'valCase': // 实时值模型
// 颜色规则
shRule = ruleOperation(node, realVal);
myDiagram.model.setDataProperty(
node,
'fontStroke',
shRule ? shRule.attr : node.fontStroke,
);
break;
default:
break;
}
} catch (err) {
console.log(err);
}
};
/** ***********************************展示规则运算********************************* */
const ruleOperation = (node, realVal) => {
const patt = /[><=]/gi;
......@@ -424,9 +449,13 @@ const ConfigurationView = (props) => {
const ptName = itemID.substring(0, num);
const shName = itemID.substring(num + 1, Infinity);
if (editionList && `${editionList.name}.${editionList.version}` !== ptName) return false;
if (list.Value == null || shName !== item.shName || item.realVal === list.Value)
if (
(list.Value == null || shName !== item.shName || item.realVal === list.Value) &&
shName !== item.stateName
)
return false;
showNodeMethod(node, list);
if (shName === item.shName) showNodeMethod(node, list);
if (shName === item.stateName) stateMethod(node, list);
});
});
} catch (e) {
......@@ -875,14 +904,16 @@ const ConfigurationView = (props) => {
});
if (!bindList || item.stationName !== bindList.name) return false;
if (
!pvList ||
pvList.pv === null ||
pvList.dName !== item.shName ||
item.realVal === pvList.pv
(!pvList ||
pvList.pv === null ||
pvList.dName !== item.shName ||
item.realVal === pvList.pv) &&
pvList.dName !== item.stateName
)
return false;
pvList.Value = pvList.pv;
showNodeMethod(node, pvList);
if (pvList.dName === item.shName) showNodeMethod(node, pvList);
if (pvList.dName === item.stateName) stateMethod(node, list);
});
});
} catch (e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment