chenluhua1980
2026-01-19 44360bc2cdeee16be72f9cc4bfb42e0ac26b5b44
SourceCode/Bond/Servo/PageRecipe.cpp
@@ -8,6 +8,7 @@
#include "MsgDlg.h"
#include "InputDialog.h"
#include "RecipeDeviceBindDlg.h"
#include "DeviceRecipeParamDlg.h"
// CPageRecipe 对话框
@@ -137,9 +138,12 @@
   // 遍历数据并插入到CListCtrl中
   for (int i = 0; i < static_cast<int>(vecRecipe.size()); ++i) {
      const RecipeInfo& recipe = vecRecipe[i];
      // 原程序要求PPID有子配方,先注释
      /*
      if (recipe.vecDeviceList.empty() || recipe.vecDeviceList.size() > 6){
         continue;
      }
      */
      m_listPPID.InsertItem(i, _T("")); // 第0列空白
@@ -385,13 +389,12 @@
void CPageRecipe::OnBnClickedButtonNew()
{
   // TODO: 在此添加控件通知处理程序代码
   //CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_EQUIPMENT);
   //int nSel = pComboBox->GetCurSel();
   //SERVO::CEquipment* pEq = (SERVO::CEquipment*)pComboBox->GetItemDataPtr(nSel);
   //if (pEq == nullptr) {
   //   return;
   //}
   int rc = UX_CanExecute(L"recipe");
   if (rc != 1) {
      AfxMessageBox("操作权限不足,请联系管理人员!");
      return;
   }
   UX_RecordAction(L"recipe");
   CRecipeDeviceBindDlg dlg(this);
   if (dlg.DoModal() == IDOK) {
@@ -451,6 +454,13 @@
void CPageRecipe::OnBnClickedButtonModify()
{
   int rc = UX_CanExecute(L"recipe");
   if (rc != 1) {
      AfxMessageBox("操作权限不足,请联系管理人员!");
      return;
   }
   UX_RecordAction(L"recipe");
   // TODO: 在此添加控件通知处理程序代码
   CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_EQUIPMENT);
   if (pComboBox == nullptr || !::IsWindow(pComboBox->m_hWnd)) {
@@ -491,6 +501,13 @@
void CPageRecipe::OnBnClickedButtonDelete()
{
   int rc = UX_CanExecute(L"recipe");
   if (rc != 1) {
      AfxMessageBox("操作权限不足,请联系管理人员!");
      return;
   }
   UX_RecordAction(L"recipe");
   // TODO: 在此添加控件通知处理程序代码
   POSITION pos = m_listPPID.GetFirstSelectedItemPosition();
   if (!pos) { 
@@ -517,6 +534,13 @@
void CPageRecipe::OnBnClickedButtonDeleteAll()
{
   int rc = UX_CanExecute(L"recipe");
   if (rc != 1) {
      AfxMessageBox("操作权限不足,请联系管理人员!");
      return;
   }
   UX_RecordAction(L"recipe");
   // TODO: 在此添加控件通知处理程序代码
   if (IDYES != AfxMessageBox(_T("确定要删除全部配方记录吗?"), MB_YESNO | MB_ICONWARNING)) {
      return;
@@ -588,17 +612,25 @@
      return;
   }
   CString strText = m_listPPID.GetItemText(nItem, 2);
   CString strRecipeID = m_listPPID.GetItemText(nItem, 2);
   CString strRecipeName = m_listPPID.GetItemText(nItem, 3);
   CComboBox* pComboBox = (CComboBox*)GetDlgItem(IDC_COMBO_EQUIPMENT);
   int nEqSel = pComboBox->GetCurSel();
   if (nEqSel == CB_ERR) {
      return;
   }
   int nRecipeID = _ttoi(strRecipeID);
   SERVO::CEquipment* pEq = (SERVO::CEquipment*)pComboBox->GetItemDataPtr(nEqSel);
   if (pEq == nullptr) {
      return;
   }
   CDeviceRecipeParamDlg dlg(this);
   dlg.setDeviceRecipeID(nRecipeID);
   dlg.setDeviceRecipeName(strRecipeName);
   dlg.setEquipment(pEq);
   dlg.DoModal();
}
void CPageRecipe::OnCbnSelchangeComboEquipment()
@@ -769,4 +801,13 @@
      }
   }
   return result;
}
BOOL CPageRecipe::PreTranslateMessage(MSG* pMsg)
{
   if (pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE) {
      return TRUE;
   }
   return CDialogEx::PreTranslateMessage(pMsg);
}