fix(nmSubWxs): 完善未开放多相求解模型的界面显示

- 补充油气两相、气水两相和油气水三相的模型名称
- 未开放模型显示“暂不支持求解”,避免当前模型下拉框为空
- 禁用未开放模型的下拉切换,保留现有求解范围限制
- 补充中文翻译并更新 qm 文件
feature/nmNum-multi-gauge-record
lh 3 days ago
parent ffd947b39a
commit b2a0e6cbaa

Binary file not shown.

@ -5378,6 +5378,18 @@ Please check your input coordinates.</source>
<source>Oil-water two-phase</source>
<translation></translation>
</message>
<message>
<source>Oil-gas two-phase (solver unavailable)</source>
<translation></translation>
</message>
<message>
<source>Gas-water two-phase (solver unavailable)</source>
<translation></translation>
</message>
<message>
<source>Oil-gas-water three-phase (solver unavailable)</source>
<translation></translation>
</message>
<message>
<source>Include other wells</source>
<translation></translation>

@ -101,8 +101,17 @@ static QString solverModelDisplayName(NM_SOLVER_MODEL_TYPE eType)
return nmWxNumericalDesign::tr("Water single-phase variable pvt");
case SMT_Gas_VariablePvt:
return nmWxNumericalDesign::tr("Gas single-phase variable pvt");
case SMT_Oil_Gas_TwoPhase:
return nmWxNumericalDesign::tr(
"Oil-gas two-phase (solver unavailable)");
case SMT_Oil_Water_TwoPhase:
return nmWxNumericalDesign::tr("Oil-water two-phase");
case SMT_Gas_Water_TwoPhase:
return nmWxNumericalDesign::tr(
"Gas-water two-phase (solver unavailable)");
case SMT_Oil_Gas_Water_ThreePhase:
return nmWxNumericalDesign::tr(
"Oil-gas-water three-phase (solver unavailable)");
default:
return QString();
}
@ -338,23 +347,33 @@ void nmWxNumericalDesign::updateCurrentModelDisplay()
NM_PHASE_TYPE ePhase = (pReservoir != nullptr) ? pReservoir->getPhaseType() : PHASE_UNKNOWN;
NM_SOLVER_MODEL_TYPE eCurrentType = pManager->getSolverModelType();
switch(ePhase) {
case PHASE_Oil:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_ConstPvt), SMT_Oil_ConstPvt);
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_VariablePvt), SMT_Oil_VariablePvt);
break;
case PHASE_Water:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Water_ConstPvt), SMT_Water_ConstPvt);
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Water_VariablePvt), SMT_Water_VariablePvt);
break;
case PHASE_Gas:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Gas_VariablePvt), SMT_Gas_VariablePvt);
break;
case PHASE_Oil_Water:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_Water_TwoPhase), SMT_Oil_Water_TwoPhase);
break;
default:
break;
const bool bCurrentModelSupported =
nmIsSupportedPebiSolverModel(eCurrentType);
if(!bCurrentModelSupported) {
// 未开放模型仍显示分析页传入的真实相态,但不允许用户切换。
const QString sCurrentModelName = solverModelDisplayName(eCurrentType);
if(!sCurrentModelName.isEmpty()) {
m_pCurrentModelCombo->addItem(sCurrentModelName, eCurrentType);
}
} else {
switch(ePhase) {
case PHASE_Oil:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_ConstPvt), SMT_Oil_ConstPvt);
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_VariablePvt), SMT_Oil_VariablePvt);
break;
case PHASE_Water:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Water_ConstPvt), SMT_Water_ConstPvt);
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Water_VariablePvt), SMT_Water_VariablePvt);
break;
case PHASE_Gas:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Gas_VariablePvt), SMT_Gas_VariablePvt);
break;
case PHASE_Oil_Water:
m_pCurrentModelCombo->addItem(solverModelDisplayName(SMT_Oil_Water_TwoPhase), SMT_Oil_Water_TwoPhase);
break;
default:
break;
}
}
int nIndex = m_pCurrentModelCombo->findData(eCurrentType);
@ -362,7 +381,8 @@ void nmWxNumericalDesign::updateCurrentModelDisplay()
m_pCurrentModelCombo->setCurrentIndex(nIndex);
}
m_pCurrentModelCombo->setEnabled(true);
m_pCurrentModelCombo->setEnabled(
bCurrentModelSupported && m_pCurrentModelCombo->count() > 0);
m_bFillingCurrentModelCombo = false;
}

Loading…
Cancel
Save