index.jsx 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. import React, { useState, useEffect } from 'react';
  2. import { Select } from 'antd';
  3. import { PageHeaderWrapper } from '@ant-design/pro-layout';
  4. import moment from 'moment';
  5. import PageTable from '@/components/PageTable';
  6. import { getOrderList } from '@/services/order'
  7. import MachinetySelect from '@/components/MachinetySelect';
  8. import { getMachineryTypeList } from '@/services/machineryType';
  9. import { getCooperativeList } from '@/services/cooperative';
  10. const { Option } = Select;
  11. const formatterTime = (val) => {
  12. return val ? moment(val).format('YYYY-MM-DD') : '';
  13. };
  14. const orderStates = (item) => {
  15. if (item.payStatus === 0) {
  16. return '待付款'
  17. } else if (item.payStatus === 1 && item.workStatus === 0 && item.dispatchStatus === 0) {
  18. return '已付款'
  19. } else if (item.workStatus == 0 && item.dispatchStatus === 1) {
  20. return '待作业'
  21. } else if (item.payStatus === 1 && (item.workStatus === 1 || item.workStatus === 2)) {
  22. return '进行中'
  23. } else if (item.workStatus === 3 && item.isEvaluated === 0) {
  24. return '待评价'
  25. } if (item.workStatus === 3 && item.isEvaluated === 1) {
  26. return '已完成'
  27. } else if (item.payStatus === 3) {
  28. return '退单申请中'
  29. } else if (item.status === 9) {
  30. return '已退单'
  31. } else {
  32. return '异常'
  33. }
  34. }
  35. export default (props) => {
  36. const [machineryTypeList, setMachineryTypeList] = useState([]);
  37. const [cooperativeList, setCooperativeList] = useState([]);
  38. useEffect(() => {
  39. getCooperativeList().then((res) => {
  40. setCooperativeList(res.records);
  41. });
  42. getMachineryTypeList().then((res) => {
  43. setMachineryTypeList(res.records);
  44. });
  45. }, []);
  46. const columns = [
  47. {
  48. title: '合作社',
  49. dataIndex: 'orgId',
  50. key: 'orgId',
  51. hideInTable: true,
  52. renderFormItem: (item, field, form) => {
  53. return (
  54. <Select>
  55. {cooperativeList.map((item) => (
  56. <Option value={item.orgId} key={item.orgId}>
  57. {item.name}
  58. </Option>
  59. ))}
  60. </Select>
  61. )
  62. }
  63. },
  64. {
  65. title: '农机',
  66. dataIndex: 'machineryId',
  67. key: 'machineryId',
  68. hideInTable: true,
  69. renderFormItem: (item, field, form) => {
  70. return (
  71. <MachinetySelect />
  72. )
  73. }
  74. },
  75. {
  76. title: '农机型号',
  77. dataIndex: 'typeId',
  78. key: 'typeId',
  79. hideInTable: true,
  80. renderFormItem: (item, field, form) => {
  81. return (
  82. <Select>
  83. {machineryTypeList.map((item) => (
  84. <Option value={item.typeId} key={item.typeId}>
  85. {item.name}
  86. </Option>
  87. ))}
  88. </Select>
  89. )
  90. }
  91. },
  92. {
  93. title: '合作社名',
  94. dataIndex: 'orgName',
  95. key: 'orgName',
  96. search: false
  97. },
  98. {
  99. title: '农机名',
  100. dataIndex: 'machineryName',
  101. key: 'machineryName',
  102. search: false
  103. },
  104. {
  105. title: '农机型号',
  106. dataIndex: 'typeName',
  107. key: 'typeName',
  108. search: false
  109. },
  110. {
  111. title: '下单人',
  112. dataIndex: 'personName',
  113. key: 'personName',
  114. },
  115. {
  116. title: '手机号',
  117. dataIndex: 'phone',
  118. key: 'phone',
  119. },
  120. {
  121. title: '需求时间',
  122. dataIndex: 'appointmentDate',
  123. key: 'appointmentDate',
  124. render: (t) => formatterTime(t),
  125. search: false
  126. },
  127. {
  128. title: '作业面积',
  129. dataIndex: 'amount',
  130. key: 'amount',
  131. search: false,
  132. },
  133. {
  134. title: '费用',
  135. dataIndex: 'charges',
  136. key: 'charges',
  137. render: (t) => t / 100,
  138. search: false
  139. },
  140. {
  141. title: '下单时间',
  142. dataIndex: 'createDate',
  143. key: 'createDate',
  144. search: false,
  145. render: (t) => formatterTime(t),
  146. },
  147. {
  148. title: '状态',
  149. dataIndex: 'status',
  150. key: 'status',
  151. search: false,
  152. render: (t, render) => orderStates(render)
  153. },
  154. //操作如果是需求多台机器则需调度 状态为待确认时 状态栏显示调度按钮跳到调度页面
  155. // 如果是申请退款 则出现处理按钮 显示需求时间 如果未到则退款并且改变已分配农机手状态和农机状态
  156. // 如果已经服务过了 则可以打电话给农户咨询具体情况看是否退部分款项
  157. ];
  158. return (
  159. <PageHeaderWrapper>
  160. <PageTable
  161. request={getOrderList}
  162. // expfunc={exportPersonList}
  163. columns={columns}
  164. rowKey="orderId"
  165. options={false}
  166. scroll={{ x: 1500 }}
  167. />
  168. </PageHeaderWrapper>
  169. );
  170. };