diff --git a/src/views/plan/RealTimeInventory.vue b/src/views/plan/RealTimeInventory.vue
index 935824a..9c2eae0 100644
--- a/src/views/plan/RealTimeInventory.vue
+++ b/src/views/plan/RealTimeInventory.vue
@@ -88,6 +88,22 @@
}"
>
+
+
+
+
+ {{ getCellTransitionProbabilityData(scope.row.specification, column.prop).displayText }}
+
+
@@ -714,6 +730,92 @@ const getTransitionProbabilityTooltip = (specification, columnProp) => {
return tooltip.trim();
};
+// 方法:检查当前单元格是否为目标规格的显示位置
+const isTargetSpecificationCell = (specification, columnProp) => {
+ const keyWithSpec = `${columnProp}::${specification}`;
+
+ // 检查是否有源单元格被激活,且当前规格是目标规格之一
+ for (const [sourceKey, sourceData] of transitionProbabilitiesMap.value.entries()) {
+ if (!activeCells.value.has(sourceKey)) continue;
+
+ const transitionData = sourceData;
+ if (!transitionData || !transitionData.current_specification_transitions) continue;
+
+ // 检查当前规格是否在目标规格列表中
+ if (transitionData.current_specification_transitions.hasOwnProperty(specification)) {
+ return true;
+ }
+ }
+
+ return false;
+};
+
+// 方法:获取当前单元格的转移概率数据(如果是目标规格)
+const getCellTransitionProbabilityData = (specification, columnProp) => {
+ const keyWithSpec = `${columnProp}::${specification}`;
+
+ // 遍历所有激活的源单元格
+ for (const [sourceKey, sourceData] of transitionProbabilitiesMap.value.entries()) {
+ if (!activeCells.value.has(sourceKey)) continue;
+
+ const transitionData = sourceData;
+ if (!transitionData || !transitionData.current_specification_transitions) continue;
+
+ // 检查当前规格是否在当前源数据的目标规格列表中
+ if (transitionData.current_specification_transitions.hasOwnProperty(specification)) {
+ const targetData = transitionData.current_specification_transitions[specification];
+ const [sourceModel, sourceWireDisc] = sourceKey.split('::');
+
+ // 从列属性中提取当前单元格的model和wire_disc
+ const hasWireDisc = columnProp.includes('::');
+ let currentModel, currentWireDisc;
+
+ if (hasWireDisc) {
+ [currentModel, currentWireDisc] = columnProp.split('::');
+ } else {
+ currentModel = columnProp;
+ currentWireDisc = null;
+ }
+
+ // 如果当前单元格的model和wire_disc与源单元格相同,则显示概率数据
+ if (currentModel === sourceModel && currentWireDisc === sourceWireDisc) {
+ return {
+ ...targetData,
+ displayText: `← ${sourceModel}${sourceWireDisc ? '-' + formatWireDisc(sourceWireDisc) : ''}: ${(targetData.probability * 100).toFixed(1)}%`
+ };
+ }
+ }
+ }
+
+ return null;
+};
+
+// 方法:获取概率显示颜色
+const getProbabilityColorForDisplay = (probability, specification, columnProp) => {
+ // 查找源单元格的基础颜色
+ let baseColor = null;
+
+ for (const [sourceKey, sourceData] of transitionProbabilitiesMap.value.entries()) {
+ if (!activeCells.value.has(sourceKey)) continue;
+
+ const transitionData = sourceData;
+ if (!transitionData || !transitionData.current_specification_transitions) continue;
+
+ if (transitionData.current_specification_transitions.hasOwnProperty(specification)) {
+ // 使用源单元格的基础颜色
+ if (uidProductionStatusMap.value.has(sourceKey)) {
+ const status = uidProductionStatusMap.value.get(sourceKey);
+ baseColor = status.equipment_color;
+ break;
+ }
+ }
+ }
+
+ // 使用已有的 getProbabilityColor 方法来获取颜色
+ const intensity = probability; // probability 已经是 0-1 之间的值
+ return getProbabilityColor(intensity, baseColor);
+};
+
// 方法:获取单元格悬停提示
const getCellTooltip = (specification, columnProp) => {
// 构建包含规格的key