AddUserAccountWnd.cpp 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. #include "AddUserAccountWnd.h"
  2. #include "ui_AddUserAccountWnd.h"
  3. #include "Src/Common/JMessageTip.h"
  4. #include "Src/common/UserManagementShared.h"
  5. AddUserAccountWnd::AddUserAccountWnd(QWidget* parent) :
  6. QDialog(parent),
  7. ui(new Ui::AddUserAccountWnd)
  8. {
  9. ui->setupUi(this);
  10. initForm();
  11. }
  12. AddUserAccountWnd::~AddUserAccountWnd()
  13. {
  14. delete ui;
  15. }
  16. void AddUserAccountWnd::initForm()
  17. {
  18. //// 隐藏原生标题栏
  19. //setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
  20. //// 窗口背景透明
  21. //setAttribute(Qt::WA_TranslucentBackground, true);
  22. }
  23. void AddUserAccountWnd::SetDefaultVal(UserAccounts _userInfo)
  24. {
  25. m_bRevise = true;
  26. ui->userIDLineEdit->setText(_userInfo.UserName);
  27. ui->userIDLineEdit->setEnabled(false);
  28. ui->fullNameLineEdit->setText(_userInfo.DisplayName);
  29. ui->passwordLineEdit->setText(_userInfo.passWord);
  30. ui->confirmPasswordLineEdit->setText(_userInfo.passWord);
  31. int nPrivilege = _userInfo.Privilege.toInt();
  32. if(nPrivilege == enPrivilegeLevel::Administrator)
  33. {
  34. ui->adminRadioButton->setChecked(true);
  35. }
  36. else if(nPrivilege == enPrivilegeLevel::Engineer)
  37. {
  38. ui->engineerRadioButton->setChecked(true);
  39. }
  40. else if(nPrivilege == enPrivilegeLevel::Technician)
  41. {
  42. ui->technicianRadioButton->setChecked(true);
  43. }
  44. else if(nPrivilege == enPrivilegeLevel::SeniorOperator)
  45. {
  46. ui->seniorOperatorRadioButton->setChecked(true);
  47. }
  48. else if(nPrivilege == enPrivilegeLevel::Operator)
  49. {
  50. ui->operatorRadioButton->setChecked(true);
  51. }
  52. }
  53. void AddUserAccountWnd::on_cancelBut_clicked()
  54. {
  55. this->close();
  56. }
  57. void AddUserAccountWnd::on_finishBut_clicked()
  58. {
  59. UserAccounts _userInfo = {};
  60. // 1. 用户名
  61. QString strTransferVariable = ui->userIDLineEdit->text();
  62. strTransferVariable = strTransferVariable.trimmed();
  63. if(!strTransferVariable.isEmpty())
  64. {
  65. _userInfo.UserName = strTransferVariable;
  66. //2. 说明
  67. strTransferVariable = ui->fullNameLineEdit->text();
  68. strTransferVariable = strTransferVariable.trimmed();
  69. if(!strTransferVariable.isEmpty())
  70. {
  71. _userInfo.DisplayName = strTransferVariable;
  72. //3.密码
  73. strTransferVariable = ui->passwordLineEdit->text();
  74. strTransferVariable = strTransferVariable.trimmed();
  75. if(!strTransferVariable.isEmpty())
  76. {
  77. //4. 确认密码 这里确定之后在能往下执行
  78. strTransferVariable = ui->confirmPasswordLineEdit->text();
  79. strTransferVariable = strTransferVariable.trimmed();
  80. if(!strTransferVariable.isEmpty())
  81. {
  82. //5.比对密码是否一致
  83. if(ui->passwordLineEdit->text() == ui->confirmPasswordLineEdit->text())
  84. {
  85. _userInfo.passWord = JEncryption::Encryption(strTransferVariable.toStdString()).c_str();
  86. // 6. 获取等级状态
  87. int nSelectType = enPrivilegeLevel::Operator;
  88. if(ui->adminRadioButton->isChecked())
  89. {
  90. nSelectType = enPrivilegeLevel::Administrator;
  91. }
  92. else if(ui->engineerRadioButton->isChecked())
  93. {
  94. nSelectType = enPrivilegeLevel::Engineer;
  95. }
  96. else if(ui->technicianRadioButton->isChecked())
  97. {
  98. nSelectType = enPrivilegeLevel::Technician;
  99. }
  100. else if(ui->seniorOperatorRadioButton->isChecked())
  101. {
  102. nSelectType = enPrivilegeLevel::SeniorOperator;
  103. }
  104. else if(ui->operatorRadioButton->isChecked())
  105. {
  106. nSelectType = enPrivilegeLevel::Operator;
  107. }
  108. _userInfo.Privilege = nSelectType;
  109. //7. 最后一步................................................................
  110. JUserAccountsData* pUserAcc = JUserAccountsData::GetInstance();
  111. bool bTurnUp = false; //是否找到
  112. for(auto& a : pUserAcc->m_veUserAccounts)
  113. {
  114. if(a.UserName == _userInfo.UserName)
  115. {
  116. if(!m_bRevise)
  117. {
  118. // 提示已经存在
  119. JMessageTip::Message_critical(tr("The current username already exists, please re-enter it!", "当前用户名已经存在,请重新输入!"), this);
  120. return;
  121. }
  122. a = _userInfo;
  123. bTurnUp = true;
  124. break;
  125. }
  126. }
  127. if(!bTurnUp)
  128. {
  129. JUserAccountsData::GetInstance()->m_veUserAccounts.push_back(_userInfo);
  130. }
  131. this->close();
  132. }
  133. else
  134. {
  135. JMessageTip::Message_warning(tr("The passwords entered twice are inconsistent, please check",
  136. "2次密码输入的不一致,请检查"),this);
  137. }
  138. }
  139. else
  140. {
  141. ui->confirmPasswordLineEdit->setFocus();
  142. }
  143. }
  144. else
  145. {
  146. ui->passwordLineEdit->setFocus();
  147. }
  148. }
  149. else
  150. {
  151. ui->fullNameLineEdit->setFocus();
  152. }
  153. }
  154. else
  155. {
  156. ui->userIDLineEdit->setFocus();
  157. }
  158. }