PersonManagement.jsx 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. import { Component } from "react";
  2. import { Collapse } from "antd";
  3. import { CustomCollapse, PersonCon } from "./style";
  4. const { Panel } = Collapse;
  5. const PersonManagement = () => {
  6. const data = [
  7. {
  8. name: "管理中心",
  9. children: [
  10. {
  11. name: "官网中心",
  12. children: [
  13. {
  14. name: "李某某",
  15. phone: "132999900900",
  16. state: "在线",
  17. },
  18. {
  19. name: "李某某",
  20. phone: "132999900900",
  21. state: "在线",
  22. },
  23. {
  24. name: "李某某",
  25. phone: "132999900900",
  26. state: "在线",
  27. },
  28. {
  29. name: "李某某",
  30. phone: "132999900900",
  31. state: "在线",
  32. },
  33. {
  34. name: "李某某",
  35. phone: "132999900900",
  36. state: "在线",
  37. },
  38. ],
  39. },
  40. {
  41. name: "官网中心2",
  42. children: [
  43. {
  44. name: "李某某",
  45. phone: "132999900900",
  46. state: "在线",
  47. },
  48. {
  49. name: "李某某",
  50. phone: "132999900900",
  51. state: "在线",
  52. },
  53. {
  54. name: "李某某",
  55. phone: "132999900900",
  56. state: "在线",
  57. },
  58. {
  59. name: "李某某",
  60. phone: "132999900900",
  61. state: "在线",
  62. },
  63. {
  64. name: "李某某",
  65. phone: "132999900900",
  66. state: "在线",
  67. },
  68. ],
  69. },
  70. ],
  71. },
  72. {
  73. name: "泵站运维",
  74. children: [
  75. {
  76. name: "李某某",
  77. phone: "132999900900",
  78. state: "在线",
  79. },
  80. {
  81. name: "李某某",
  82. phone: "132999900900",
  83. state: "在线",
  84. },
  85. {
  86. name: "李某某",
  87. phone: "132999900900",
  88. state: "在线",
  89. },
  90. {
  91. name: "李某某",
  92. phone: "132999900900",
  93. state: "在线",
  94. },
  95. {
  96. name: "李某某",
  97. phone: "132999900900",
  98. state: "在线",
  99. },
  100. ],
  101. },
  102. {
  103. name: "官网运维",
  104. children: [
  105. {
  106. name: "李某某",
  107. phone: "132999900900",
  108. state: "在线",
  109. },
  110. {
  111. name: "李某某",
  112. phone: "132999900900",
  113. state: "在线",
  114. },
  115. {
  116. name: "李某某",
  117. phone: "132999900900",
  118. state: "在线",
  119. },
  120. {
  121. name: "李某某",
  122. phone: "132999900900",
  123. state: "在线",
  124. },
  125. {
  126. name: "李某某",
  127. phone: "132999900900",
  128. state: "在线",
  129. },
  130. {
  131. name: "李某某",
  132. phone: "132999900900",
  133. state: "在线",
  134. },
  135. {
  136. name: "李某某",
  137. phone: "132999900900",
  138. state: "在线",
  139. },
  140. {
  141. name: "李某某",
  142. phone: "132999900900",
  143. state: "在线",
  144. },
  145. {
  146. name: "李某某",
  147. phone: "132999900900",
  148. state: "在线",
  149. },
  150. ],
  151. },
  152. ];
  153. const CollapseRender = (data) => {
  154. return data.map((item, idx) => {
  155. if (item.children?.length > 0) {
  156. return (
  157. <CustomCollapse defaultActiveKey={[`${item.name}_${idx}`]}>
  158. <Panel key={`${item.name}_${idx}`} header={item.name}>
  159. {CollapseRender(item.children)}
  160. </Panel>
  161. </CustomCollapse>
  162. );
  163. } else {
  164. return (
  165. <div
  166. style={{
  167. color: "#fff",
  168. padding: "0 26px",
  169. display: "flex",
  170. justifyContent: "space-around",
  171. }}
  172. >
  173. <div>{item.name}</div>
  174. <div>{item.phone}</div>
  175. <div>{item.state}</div>
  176. </div>
  177. );
  178. }
  179. });
  180. };
  181. return <PersonCon>{CollapseRender(data)}</PersonCon>;
  182. };
  183. export default PersonManagement;