Admin.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  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. changeInputValueDoctorForm,
  7. changeInputValueServiceForm,
  8. postDoctors,
  9. changeSelectedDoctorId,
  10. changeSelectedServiceId,
  11. putDoctors,
  12. deleteDoctors,
  13. changeSpecialityArray
  14. } from "../../actions/actions";
  15. import {
  16. changeFindUserInput,
  17. findUser,
  18. deleteUser,
  19. changeInputValueUserForm,
  20. putUser,
  21. getUsers,
  22. } from "../../actions/user"
  23. import {
  24. postServices,
  25. putServices,
  26. deleteServices
  27. } from "../../actions/services"
  28. import {
  29. setSheduleDoctor,
  30. postShedule,
  31. } from "../../actions/shedule"
  32. import {
  33. getOrders,
  34. changeInputFindOrder,
  35. findOrdersArray
  36. } from "../../actions/orders"
  37. import Shedule from './Shedule'
  38. import ChangeUser from './ChangeUser'
  39. import ChangeServicesDoctors from './ChangeServices-Doctors'
  40. import Orders from "./Orders";
  41. export class Admin extends React.Component {
  42. render() {
  43. const {
  44. doctors,
  45. postNewShedule,
  46. postNewDoctor,
  47. postNewService,
  48. changeDoctorId,
  49. changeServiceId,
  50. services,
  51. categories,
  52. setSheduleDoctor,
  53. postShedule,
  54. changeInputValueDoctorForm,
  55. changeInputValueServiceForm,
  56. postDoctors,
  57. changeSelectedDoctorId,
  58. changeSelectedServiceId,
  59. putDoctors,
  60. deleteDoctors,
  61. putServices,
  62. deleteServices,
  63. postServices,
  64. changeSpecialityArray,
  65. specialityArray,
  66. user,
  67. users,
  68. findUserInput,
  69. changeFindUserInput,
  70. findUser,
  71. deleteUser,
  72. userError,
  73. changeUserForm,
  74. changeInputValueUserForm,
  75. putUser,
  76. getUsers,
  77. getOrders,
  78. orders,
  79. changeInputFindOrder,
  80. findOrderInput,
  81. findOrdersArray,
  82. ordersArray,
  83. searching
  84. } = this.props;
  85. return (
  86. <div className="main">
  87. <div className="info-wrap">
  88. <div className = " btn-box">
  89. <Link to='/admin/change-shedule' className = "btn link admin">Расписание</Link>
  90. <Link to='/admin/change-doctors' className = "btn link admin">Сотрудники</Link>
  91. <Link to='/admin/change-services' className = "btn link admin">Сервисы</Link>
  92. <Link to='/admin/change-user' className = "btn link admin">Пользователи</Link>
  93. <Link to='/admin/change-orders' className = "btn link admin">Заказы</Link>
  94. </div>
  95. <Switch>
  96. <Route path='/admin/change-shedule' render={() => <Shedule
  97. doctors={doctors}
  98. postNewShedule={postNewShedule}
  99. setSheduleDoctor={setSheduleDoctor}
  100. postShedule={postShedule}
  101. />} />
  102. <Route path='/admin/change-doctors' render={() => <ChangeServicesDoctors
  103. categories={categories}
  104. data={doctors}
  105. specialityArray={specialityArray}
  106. itemId={changeDoctorId}
  107. changeId={changeSelectedDoctorId}
  108. form={postNewDoctor}
  109. postItem={postDoctors}
  110. putItem={putDoctors}
  111. deleteItem={deleteDoctors}
  112. changeInputValues={changeInputValueDoctorForm}
  113. changeSpecialityArray={changeSpecialityArray}
  114. />} />
  115. <Route path='/admin/change-services' render={() => <ChangeServicesDoctors
  116. data={services}
  117. itemId={changeServiceId}
  118. changeId={changeSelectedServiceId}
  119. form={postNewService}
  120. postItem={postServices}
  121. putItem={putServices}
  122. deleteItem={deleteServices}
  123. changeInputValues={changeInputValueServiceForm}
  124. />} />
  125. <Route path='/admin/change-user' render={() => <ChangeUser
  126. user={user}
  127. users={users}
  128. findUserInput={findUserInput}
  129. changeFindUserInput={changeFindUserInput}
  130. findUser={findUser}
  131. deleteUser={deleteUser}
  132. error={userError}
  133. changeUserForm={changeUserForm}
  134. changeInputValueUserForm={changeInputValueUserForm}
  135. putUser={putUser}
  136. getUsers={getUsers}
  137. />} />
  138. <Route path='/admin/change-orders' render={() => <Orders
  139. getOrders={getOrders}
  140. orders={orders}
  141. doctors={doctors}
  142. services={services}
  143. users={users}
  144. findOrderInput={findOrderInput}
  145. ordersArray={ordersArray}
  146. searching={searching}
  147. changeInputFindOrder={changeInputFindOrder}
  148. findOrdersArray={findOrdersArray}
  149. getUsers={getUsers}
  150. />} />
  151. </Switch>
  152. </div>
  153. </div>
  154. );
  155. }
  156. }
  157. const mapStateToProps = state => {
  158. return {
  159. doctors:state.app.doctors,
  160. postNewShedule:state.shedule.postNewShedule,
  161. postNewDoctor:state.app.postNewDoctor,
  162. postNewService:state.app.postNewService,
  163. changeDoctorId:state.app.changeDoctorId,
  164. changeServiceId:state.app.changeServiceId,
  165. specialityArray:state.app.specialityArray,
  166. services: state.services.services,
  167. categories: state.services.categories,
  168. user:state.user.user,
  169. findUserInput:state.user.findUserInput,
  170. userError:state.user.error,
  171. changeUserForm:state.user.changeUserForm,
  172. users:state.user.users,
  173. orders:state.orders.orders,
  174. findOrdersArray:state.orders.findOrdersArray,
  175. findOrderInput:state.orders.findOrderInput,
  176. ordersArray:state.orders.ordersArray,
  177. searching:state.orders.searching
  178. }
  179. };
  180. const mapDispatchToProps = {
  181. setSheduleDoctor,
  182. postShedule,
  183. changeInputValueDoctorForm,
  184. changeInputValueServiceForm,
  185. postDoctors,
  186. changeSelectedDoctorId,
  187. changeSelectedServiceId,
  188. putDoctors,
  189. deleteDoctors,
  190. postServices,
  191. putServices,
  192. deleteServices,
  193. changeSpecialityArray,
  194. changeFindUserInput,
  195. findUser,
  196. deleteUser,
  197. changeInputValueUserForm,
  198. putUser,
  199. getUsers,
  200. getOrders,
  201. changeInputFindOrder,
  202. findOrdersArray
  203. };
  204. export default connect (mapStateToProps,mapDispatchToProps)(Admin)