popupsTab.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import React, { PureComponent, Fragment } from 'react';
  2. import { connect } from 'react-redux';
  3. import { Table } from 'antd';
  4. import { reducer } from './store';
  5. const tabTable={
  6. height:'340px',
  7. }
  8. class popupsTab extends PureComponent {
  9. tabMenu() {
  10. const { data } = this.props;
  11. let clientMenu;
  12. let noneMenu;
  13. if (typeof data.clientList !== 'undefined') {
  14. clientMenu = (<li className="nav-item"><a className="nav-link active" data-toggle="tab" href="#tabClient" role="tab" aria-selected="true">联系人</a></li>);
  15. }
  16. noneMenu = (<li className="nav-item "><a className="nav-link" data-toggle="tab" href="#tab-yun" role="tab" aria-selected="true">联系人</a></li>);
  17. return (
  18. <Fragment>
  19. {clientMenu}
  20. </Fragment>
  21. )
  22. }
  23. tabContent() {
  24. const { data } = this.props;
  25. let clientContent;
  26. reducer.columns[0].filters=data.departmentFilters;
  27. if (typeof data.clientList !== 'undefined') {
  28. clientContent = (
  29. <div className="tab-pane fade active show sheet-panel-righttop" id="tabClient" role="tabpanel" aria-labelledby="tab-yun">
  30. <div className="slimScrol3" style={tabTable} >
  31. <Table
  32. columns={reducer.columns}
  33. dataSource={data.clientList}
  34. pagination={false}
  35. //bordered
  36. size="small"
  37. scroll={{
  38. // x: 'calc(1200px + 50%)',
  39. // y: screenHeight - reportHeaderHeight - 75,
  40. //x:400,
  41. y:315,
  42. }}
  43. />
  44. </div>
  45. </div>
  46. );
  47. }
  48. return (
  49. <Fragment>
  50. {clientContent}
  51. <div className="sheet-btns mt-3">
  52. <a href="#add-server" className="btn btn-xs btn-outline-primary" data-toggle="modal" data-target="#add-server"><i className="far fa-plus"></i> 添加联系人</a>
  53. </div>
  54. </Fragment>
  55. )
  56. }
  57. render() {
  58. // companyDetail, natureOptions, handleModifyCompany,
  59. const { data } = this.props;
  60. //let dataToJS = data.toJS();
  61. // let natureOptions2 = natureOptions.toJS();
  62. //console.log(data.clientList);
  63. //console.log(typeof companyDetailtoJS.clientList)
  64. return (
  65. <Fragment>
  66. <div className="sheet-right-panel col p-0">
  67. <div className="sheet-panel-tabs mx-4 mt-4">
  68. <ul className="nav nav-tabs sheet-nav-tabs" role="tablist">
  69. {/* <li className="nav-item"><a className="nav-link" data-toggle="tab" href="#tab-yun" role="tab" aria-selected="true">联系人</a></li>
  70. <li className="nav-item"><a className="nav-link" data-toggle="tab" href="#tab-clock" role="tab" aria-selected="false">软件锁</a></li> */}
  71. {this.tabMenu()}
  72. </ul>
  73. <div className="tab-content">
  74. {this.tabContent()}
  75. <div className="tab-pane fade sheet-panel-righttop" id="tab-clock" role="tabpanel" aria-labelledby="tab-lock">
  76. <div className="slimScrol3">
  77. <table className="table">
  78. <thead>
  79. <tr>
  80. <th className="border-0"></th>
  81. <th className="border-0">锁号</th>
  82. <th className="border-0">产品</th>
  83. <th className="border-0">状态</th>
  84. <th className="border-0">联系人</th>
  85. </tr>
  86. </thead>
  87. <tbody>
  88. <tr>
  89. <td>1</td>
  90. <td><a href="#lock-detail" data-toggle="modal" data-target="#lock-detail">HNYH-0654</a></td>
  91. <td>固化清单全功能+全国专业+全国专业(新定额)</td>
  92. <td>借出</td>
  93. <td><a href="#">张三</a></td>
  94. </tr>
  95. <tr>
  96. <td>2</td>
  97. <td><a href="#lock-detail" data-toggle="modal" data-target="#lock-detail">HNYH-0655</a></td>
  98. <td>+全国专业(新定额)</td>
  99. <td>借出</td>
  100. <td><a href="#">李四</a></td>
  101. </tr>
  102. </tbody>
  103. </table>
  104. </div>
  105. </div>
  106. </div>
  107. {/* <Tabs onChange={callback} type="card">
  108. <TabPane tab="联系人" key="1">
  109. <table className="table">
  110. <thead>
  111. <tr>
  112. <th width="20" className="border-0"></th>
  113. <th className="border-0"><a className="dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">所有</a>
  114. <div className="dropdown-menu" >
  115. <a className="dropdown-item d-flex" href="#">所有<i className="far fa-check ml-auto"></i></a>
  116. <a className="dropdown-item d-flex" href="#">部门1</a>
  117. <a className="dropdown-item d-flex" href="#">部门2</a>
  118. <a className="dropdown-item d-flex" href="#">部门1</a>
  119. <a className="dropdown-item d-flex" href="#">部门2</a>
  120. <a className="dropdown-item d-flex" href="#">部门1</a>
  121. <a className="dropdown-item d-flex" href="#">部门2</a>
  122. <a className="dropdown-item d-flex" href="#">部门1</a>
  123. <a className="dropdown-item d-flex" href="#">部门2</a>
  124. <a className="dropdown-item d-flex" href="#">部门1</a>
  125. <a className="dropdown-item d-flex" href="#">部门2</a>
  126. <a className="dropdown-item d-flex" href="#">部门1</a>
  127. <a className="dropdown-item d-flex" href="#">部门2</a>
  128. </div>
  129. </th>
  130. <th className="border-0">姓名</th>
  131. <th className="border-0">昵称</th>
  132. <th className="border-0">手机</th>
  133. <th className="border-0">QQ</th>
  134. </tr>
  135. </thead>
  136. <tbody>
  137. <tr>
  138. <td>1</td>
  139. <td>部门1</td>
  140. <td><a href="#">张三</a></td>
  141. <td>张(三)工:</td>
  142. <td>15811111111</td>
  143. <td>23232323</td>
  144. </tr>
  145. </tbody>
  146. </table>
  147. </TabPane>
  148. <TabPane tab="Tab 2" key="2">
  149. Content of Tab Pane 2
  150. </TabPane>
  151. <TabPane tab="Tab 3" key="3">
  152. Content of Tab Pane 3
  153. </TabPane>
  154. </Tabs> */}
  155. </div>
  156. <div className="sheet-panel-record">
  157. <ul className="nav nav-tabs nav-tabs-clean sheet-nav-tabs" role="tablist">
  158. <li className="nav-item ml-4"><a className="nav-link text-center active" data-toggle="tab" href="#tab-log" role="tab" aria-selected="true">日志</a></li>
  159. </ul>
  160. <div className="tab-content p-3">
  161. <div className="tab-pane fade active show sheet-panel-log" id="tab-log" role="tabpanel" aria-labelledby="tab-log">
  162. <div className="slimScrol4">
  163. <p><a href="#">@陈特</a> 移除 通行账号 15812345678<br /><span className="text-muted">5月5日 14:55</span></p>
  164. <p><a href="#">@陈特</a> 关联 通行账号 15812345678<br /><span className="text-muted">5月5日 14:55</span></p>
  165. <p><a href="#">@陈特</a> 将手机 15800000000 改为 15812345678;将客户 珠海纵横创新软件有限公司 改为 北京旺圣干科技有限公司<br /><span className="text-muted">5月5日 14:55</span></p>
  166. <p><a href="#">@陈特</a> 将客户 改为 珠海纵横创新软件有限公司<br /><span className="text-muted">5月5日 14:55</span></p>
  167. <p><a href="#">@陈特</a> 创建<br /><span className="text-muted">5月5日 14:55</span></p>
  168. </div>
  169. </div>
  170. </div>
  171. </div>
  172. </div>
  173. </Fragment>
  174. );
  175. }
  176. }
  177. let delaySwitch = null;//延迟检索开关
  178. const mapStateToProps = (state) => {
  179. return {
  180. // companyDetail: state.getIn(['companyPopups', 'companyDetail']),
  181. // natureOptions: state.getIn(['companyPopups', 'natureOptions']),
  182. districtOptions:state.get('districtOptions')
  183. }
  184. }
  185. const mapDispathToProps = (dispatch) => {
  186. return {
  187. handleModifyCompany(parameter) {
  188. dispatch(actionCreators.changeInputValue(parameter));
  189. if (delaySwitch != null) {
  190. clearTimeout(delaySwitch);
  191. }
  192. delaySwitch = setTimeout(() => {
  193. dispatch(actionCreators.modifyCompany(parameter));
  194. }, 800);
  195. },
  196. }
  197. }
  198. export default connect(mapStateToProps, mapDispathToProps)(popupsTab);