Admin.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. import React from 'react';
  2. import {connect} from 'react-redux'
  3. import {Link} from 'react-router-dom'
  4. import {Switch, Route} from "react-router-dom";
  5. import {
  6. setSheduleDoctor,
  7. postShedule,
  8. changeInputValueDoctorForm,
  9. changeInputValueServiceForm,
  10. postDoctors,
  11. changeSelectedDoctorId,
  12. changeSelectedServiceId,
  13. putDoctors,
  14. deleteDoctors,
  15. postServices,
  16. putServices,
  17. deleteServices,
  18. changeSpecialityArray
  19. } from "../../actions/actions";
  20. import {
  21. changeFindUserInput,
  22. findUser,
  23. deleteUser,
  24. changeInputValueUserForm,
  25. putUser
  26. } from "../../actions/user"
  27. import Shedule from './Shedule'
  28. import ChangeUser from './ChangeUser'
  29. import ChangeServicesDoctors from './ChangeServices-Doctors'
  30. export class Admin extends React.Component {
  31. render() {
  32. const {
  33. doctors,
  34. postNewShedule,
  35. postNewDoctor,
  36. postNewService,
  37. changeDoctorId,
  38. changeServiceId,
  39. services,
  40. categories,
  41. setSheduleDoctor,
  42. postShedule,
  43. changeInputValueDoctorForm,
  44. changeInputValueServiceForm,
  45. postDoctors,
  46. changeSelectedDoctorId,
  47. changeSelectedServiceId,
  48. putDoctors,
  49. deleteDoctors,
  50. putServices,
  51. deleteServices,
  52. postServices,
  53. changeSpecialityArray,
  54. specialityArray,
  55. user,
  56. findUserInput,
  57. changeFindUserInput,
  58. findUser,
  59. deleteUser,
  60. userError,
  61. changeUserForm,
  62. changeInputValueUserForm,
  63. putUser
  64. } = this.props;
  65. return (
  66. <div className="main">
  67. <div className="info-wrap">
  68. <div className = " btn-box">
  69. <Link to='/admin/change-shedule' className = "btn link admin">Расписание</Link>
  70. <Link to='/admin/change-doctors' className = "btn link admin">Сотрудники</Link>
  71. <Link to='/admin/change-services' className = "btn link admin">Сервисы</Link>
  72. <Link to='/admin/change-user' className = "btn link admin">Пользователи</Link>
  73. </div>
  74. <Switch>
  75. <Route path='/admin/change-shedule' render={() => <Shedule
  76. doctors={doctors}
  77. postNewShedule={postNewShedule}
  78. setSheduleDoctor={setSheduleDoctor}
  79. postShedule={postShedule}
  80. />} />
  81. <Route path='/admin/change-doctors' render={() => <ChangeServicesDoctors
  82. categories={categories}
  83. data={doctors}
  84. specialityArray={specialityArray}
  85. itemId={changeDoctorId}
  86. changeId={changeSelectedDoctorId}
  87. form={postNewDoctor}
  88. postItem={postDoctors}
  89. putItem={putDoctors}
  90. deleteItem={deleteDoctors}
  91. changeInputValues={changeInputValueDoctorForm}
  92. changeSpecialityArray={changeSpecialityArray}
  93. />} />
  94. <Route path='/admin/change-services' render={() => <ChangeServicesDoctors
  95. data={services}
  96. itemId={changeServiceId}
  97. changeId={changeSelectedServiceId}
  98. form={postNewService}
  99. postItem={postServices}
  100. putItem={putServices}
  101. deleteItem={deleteServices}
  102. changeInputValues={changeInputValueServiceForm}
  103. />} />
  104. <Route path='/admin/change-user' render={() => <ChangeUser
  105. user={user}
  106. findUserInput={findUserInput}
  107. changeFindUserInput={changeFindUserInput}
  108. findUser={findUser}
  109. deleteUser={deleteUser}
  110. error={userError}
  111. changeUserForm={changeUserForm}
  112. changeInputValueUserForm={changeInputValueUserForm}
  113. putUser={putUser}
  114. />} />
  115. </Switch>
  116. </div>
  117. </div>
  118. );
  119. }
  120. }
  121. const mapStateToProps = state => {
  122. return {
  123. doctors:state.app.doctors,
  124. postNewShedule:state.app.postNewShedule,
  125. postNewDoctor:state.app.postNewDoctor,
  126. postNewService:state.app.postNewService,
  127. changeDoctorId:state.app.changeDoctorId,
  128. changeServiceId:state.app.changeServiceId,
  129. specialityArray:state.app.specialityArray,
  130. services: state.services.services,
  131. categories: state.services.categories,
  132. user:state.user.user,
  133. findUserInput:state.user.findUserInput,
  134. userError:state.user.error,
  135. changeUserForm:state.user.changeUserForm,
  136. }
  137. };
  138. const mapDispatchToProps = {
  139. setSheduleDoctor,
  140. postShedule,
  141. changeInputValueDoctorForm,
  142. changeInputValueServiceForm,
  143. postDoctors,
  144. changeSelectedDoctorId,
  145. changeSelectedServiceId,
  146. putDoctors,
  147. deleteDoctors,
  148. postServices,
  149. putServices,
  150. deleteServices,
  151. changeSpecialityArray,
  152. changeFindUserInput,
  153. findUser,
  154. deleteUser,
  155. changeInputValueUserForm,
  156. putUser
  157. };
  158. export default connect (mapStateToProps,mapDispatchToProps)(Admin)