index.jsx 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. import React,{ Component } from 'react';
  2. import {Select} from "antd";
  3. import { provinceList} from '@/NewDicProvinceList';
  4. import './index.less';
  5. import TabelContent from '../../../../common/tabelContent'
  6. import DetailedList from './detailedList';
  7. class SignatureStatistics extends Component{
  8. constructor(props) {
  9. super(props);
  10. this.state={
  11. columns: [
  12. {
  13. title: "序号",
  14. dataIndex: "key",
  15. key: "key",
  16. },
  17. {
  18. title: "省份",
  19. dataIndex: "province",
  20. key: "province",
  21. },
  22. {
  23. title: "签单人数(人)",
  24. dataIndex: "counts",
  25. key: "counts",
  26. className: 'projectTable',
  27. onCellClick :(record, event)=>{
  28. event.stopPropagation();
  29. this.setState({
  30. visible:true,
  31. recordInfor:record
  32. })
  33. }
  34. },
  35. {
  36. title: "总单量(个)",
  37. dataIndex: "quantity",
  38. key: "quantity",
  39. className: 'projectTable',
  40. onCellClick :(record, event)=>{
  41. event.stopPropagation();
  42. this.setState({
  43. visible:true,
  44. recordInfor:record
  45. })
  46. }
  47. },
  48. {
  49. title: "总签单额(万元)",
  50. dataIndex: "total",
  51. key: "total",
  52. className: 'projectTable',
  53. onCellClick :(record, event)=>{
  54. event.stopPropagation();
  55. this.setState({
  56. visible:true,
  57. recordInfor:record
  58. })
  59. }
  60. },
  61. ],
  62. }
  63. }
  64. searchList(){
  65. let arr = [
  66. {
  67. type:'departmentSelect',
  68. dataKey:'depId',
  69. placeholder:'请选择部门'
  70. },
  71. {
  72. type:'times',
  73. title:'下单时间',
  74. dataKey:['startCreate','endCreate'],
  75. },
  76. {
  77. type:'times',
  78. title:'合同时间',
  79. dataKey:['startSign','endSign'],
  80. },
  81. //0签单额 1签单数 2签单人数
  82. {
  83. type:'select',
  84. dataKey:'sort',
  85. placeholder:'请选择排序',
  86. selectList:[
  87. {
  88. value:'0',
  89. label:'按签单额排序'
  90. },
  91. {
  92. value:'1',
  93. label:'按签单数排序'
  94. },
  95. {
  96. value:'2',
  97. label:'按签单人数排序'
  98. },
  99. ]
  100. },
  101. {
  102. type:'select',
  103. dataKey:'province',
  104. placeholder:'请选择省份',
  105. selectOptionList:()=>{
  106. let Province = [];
  107. provinceList.map(function(item) {
  108. let id = String(item.id)
  109. Province.push(
  110. <Select.Option value={id} key={item.name}>{item.name}</Select.Option>
  111. )
  112. });
  113. return Province
  114. },
  115. }
  116. ]
  117. return arr;
  118. }
  119. render() {
  120. return (
  121. <div className="user-content signatureStatistics">
  122. <div className="content-title">
  123. <span>
  124. 签单统计表
  125. </span>
  126. </div>
  127. <TabelContent
  128. searchList={this.searchList()}
  129. columns={this.state.columns}
  130. tabelApi={'/api/admin/newOrder/statisticsList'}
  131. exportApi={'/api/admin/newOrder/statisticsListExprot'}
  132. exportExecProcessing={(data)=>{
  133. if(data.province){
  134. let arr = provinceList.filter(v=>String(v.id) === String(data.province))
  135. data.provinceName = arr[0].name
  136. }
  137. return data;
  138. }}
  139. dataProcessing={(data)=>{
  140. let theArr = [];
  141. for (let i = 0; i < data.data.length; i++) {
  142. let thisdata = data.data[i];
  143. thisdata.key=i + 1;
  144. theArr.push(thisdata);
  145. }
  146. return theArr;
  147. }}
  148. />
  149. {this.state.visible ? <DetailedList
  150. visible={this.state.visible}
  151. recordInfor={this.state.recordInfor}
  152. onCancel={()=>{
  153. this.setState({
  154. visible:false,
  155. recordInfor:{}
  156. })
  157. }}/> : null}
  158. </div>
  159. )
  160. }
  161. }
  162. export default SignatureStatistics;