InteractiveData.cpp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #include "InteractiveData.h"
  2. InteractiveData::InteractiveData()
  3. {
  4. // 物资类型
  5. m_modelMaterialType.addRole("materialsTypeId");
  6. m_modelMaterialType.addRole("materialsTypeName");
  7. m_modelMaterialType.addRole("materialsTypeIcon");
  8. m_modelMaterialType.addRole("materialsTypeError");
  9. m_modelMaterialType.addRole("materialsTypePicture");
  10. m_modelMaterialType.addRole("materialsTypeSelected");
  11. // 物资信息
  12. m_modelMaterialInfo.addRole("materialsId");
  13. m_modelMaterialInfo.addRole("materialsName");
  14. m_modelMaterialInfo.addRole("materialsRfid");
  15. m_modelMaterialInfo.addRole("expirationDate");
  16. m_modelMaterialInfo.addRole("status");
  17. m_modelMaterialInfo.addRole("materialsTypePicture");
  18. // 手动更换
  19. m_modelMaterialManualReplace.addRole("oldMaterialsId");
  20. m_modelMaterialManualReplace.addRole("oldMaterialsId");
  21. m_modelMaterialManualReplace.addRole("materialsName");
  22. m_modelMaterialManualReplace.addRole("materialsRfid");
  23. m_modelMaterialManualReplace.addRole("expirationDate");
  24. m_modelMaterialManualReplace.addRole("propertiesValue");
  25. m_modelMaterialManualReplace.addRole("materialsTypeName");
  26. m_modelMaterialManualReplace.addRole("materialsTypePicture");
  27. m_modelMaterialManualReplace.addRole("oldMaterialsName");
  28. m_modelMaterialManualReplace.addRole("oldMaterialsRfid");
  29. m_modelMaterialManualReplace.addRole("oldExpirationDate");
  30. m_modelMaterialManualReplace.addRole("oldPropertiesValue");
  31. m_modelMaterialManualReplace.addRole("oldMaterialsTypeName");
  32. m_modelMaterialManualReplace.addRole("oldMaterialsTypePicture");
  33. m_modelMaterialManualReplace.addRole("status");
  34. m_modelMaterialManualReplace.addRole("types");
  35. m_modelMaterialManualReplace.addRole("click");
  36. // 异常上报
  37. m_modelMaterialException.addRole("materialsId");
  38. m_modelMaterialException.addRole("materialsName");
  39. m_modelMaterialException.addRole("materialsRfid");
  40. m_modelMaterialException.addRole("expirationDate");
  41. m_modelMaterialException.addRole("status");
  42. m_modelMaterialException.addRole("materialsTypePicture");
  43. }
  44. bool InteractiveData::isHavePower(const QString &operation)
  45. {
  46. // 物资领取归还 iscs:receive-return
  47. // 物资使用说明 iscs:Instructions
  48. // 物资检查计划 iscs:Inspection-plan
  49. // 物资更换 iscs:replacement
  50. // 异常处理 iscs:exception
  51. // 如果角色包含超级管理员
  52. if (m_roles.contains(QString("admin")))
  53. {
  54. return true;
  55. }
  56. // 如果是其他用户,判断是否有执行该操作的权利
  57. else if (m_permissions.contains(operation))
  58. {
  59. return true;
  60. }
  61. // 如果没有权利执行该操作
  62. else
  63. {
  64. return false;
  65. }
  66. }
  67. QSet<QString> InteractiveData::roles()
  68. {
  69. return m_roles;
  70. }
  71. void InteractiveData::setRoles(const QSet<QString> &roles)
  72. {
  73. m_roles = roles;
  74. emit rolesChanged();
  75. }
  76. QSet<QString> InteractiveData::permissions()
  77. {
  78. return m_permissions;
  79. }
  80. void InteractiveData::setPermissions(const QSet<QString> &permissions)
  81. {
  82. m_permissions = permissions;
  83. emit permissionsChanged();
  84. }