mrDarker
2025-09-08 6dc80508b1c0f431007f8a8c947c152ec00c3d15
SourceCode/Bond/Servo/UserManagerDlg.cpp
@@ -88,9 +88,10 @@
   m_gridUserManager.ExpandLastColumn();            // 最后一列填充网格
   m_mapRoleDescriptions.clear();
   m_mapRoleDescriptions.emplace(_T("管理员"), _T("管理所有用户,分配权限"));
   m_mapRoleDescriptions.emplace(_T("工程师"), _T("维护系统,解决技术问题"));
   m_mapRoleDescriptions.emplace(_T("操作员"), _T("执行日常操作任务"));
   m_mapRoleDescriptions.emplace(_T("管理员"), _T("管理所有用户账户,分配和调整权限,负责系统安全与整体运行"));
   m_mapRoleDescriptions.emplace(_T("制程工程师"), _T("负责生产工艺的制定、优化与改进,确保工艺稳定和良率提升"));
   m_mapRoleDescriptions.emplace(_T("设备工程师"), _T("维护和保养设备,处理故障,保障设备稳定运行,参与技术升级"));
   m_mapRoleDescriptions.emplace(_T("操作员"), _T("按照标准流程执行日常操作任务,监控生产状况,及时反馈异常"));
   FillUserManager();
}
@@ -134,12 +135,13 @@
   CStringArray permissions;
   permissions.Add(_T("管理员"));
   permissions.Add(_T("工程师"));
   permissions.Add(_T("制程工程师"));
   permissions.Add(_T("设备工程师"));
   permissions.Add(_T("操作员"));
   int nCols = m_gridUserManager.GetColumnCount();
   for (int i = 1; i < m_gridUserManager.GetRowCount(); ++i) {
      m_gridUserManager.SetItemState(i, 0, GVIS_READONLY); // 第一列只读
      m_gridUserManager.SetItemState(i, 0, GVIS_READONLY);       // 第一列只读
      m_gridUserManager.SetItemState(i, nCols - 2, GVIS_READONLY); // 倒数第二列只读
      m_gridUserManager.SetItemState(i, nCols - 1, GVIS_READONLY); // 最后一列只读
@@ -149,13 +151,12 @@
         pCell->SetOptions(permissions);
         pCell->SetStyle(CBS_DROPDOWNLIST);
         CString cstrRole = m_gridUserManager.GetItemText(i, 3);
         int nRole = _ttoi(cstrRole);
         if (nRole < 0 || nRole > 2) {
         int nRole = _ttoi(m_gridUserManager.GetItemText(i, 3));
         if (nRole < 0 || nRole > 3) {
            CString cstrMessage;
            cstrMessage.Format(_T("用户 [%s],权限异常!将设置成操作员!"), m_gridUserManager.GetItemText(i, 1));
            AfxMessageBox(cstrMessage);
            nRole = 2;
            nRole = 3;
         }
         m_gridUserManager.SetItemText(i, 3, permissions.GetAt(nRole));
@@ -237,7 +238,8 @@
   // 第四列设置(权限列)为下拉框
   CStringArray permissions;
   permissions.Add(_T("管理员"));
   permissions.Add(_T("工程师"));
   permissions.Add(_T("制程工程师"));
   permissions.Add(_T("设备工程师"));
   permissions.Add(_T("操作员"));
   if (pGridCtrl->SetCellType(newRowIndex, 3, RUNTIME_CLASS(CGridCellCombo))) {
@@ -443,7 +445,8 @@
      CStringArray permissions;
      permissions.Add(_T("管理员"));
      permissions.Add(_T("工程师"));
      permissions.Add(_T("制程工程师"));
      permissions.Add(_T("设备工程师"));
      permissions.Add(_T("操作员"));
      if (m_gridUserManager.SetCellType(row, 3, RUNTIME_CLASS(CGridCellCombo))) {
@@ -527,12 +530,14 @@
         if (j == 3) {
            if (cellText == _T("管理员"))
               cellString = "0";
            else if (cellText == _T("工程师"))
            else if (cellText == _T("制程工程师"))
               cellString = "1";
            else if (cellText == _T("设备工程师"))
               cellString = "2";
            else if (cellText == _T("操作员"))
               cellString = "2";
               cellString = "3";
            else
               cellString = "2";
               cellString = "3";
         }
         rowData.push_back(cellString);