李志伟 3 years ago
parent
commit
6aaf130c26
2 changed files with 157 additions and 1 deletions
  1. 149
    1
      src/pages/JobStatistics/Job/index.jsx
  2. 8
    0
      src/services/job.js

+ 149
- 1
src/pages/JobStatistics/Job/index.jsx View File

1
+import React, { useState, useEffect, useRef } from 'react';
2
+import { DatePicker, Select } from 'antd';
3
+import { PageHeaderWrapper } from '@ant-design/pro-layout';
4
+import moment from 'moment';
5
+import PageTable from '@/components/PageTable';
6
+import { getJobList } from '@/services/job'
7
+import MachinetySelect from '@/components/MachinetySelect';
8
+import { getMachineryTypeList } from '@/services/machineryType';
9
+import { getCooperativeList } from '@/services/cooperative';
10
+
11
+const formatterTime = (val) => {
12
+  return val ? moment(val).format('YYYY-MM-DD HH:mm') : '';
13
+};
14
+const { Option } = Select;
15
+const { RangePicker } = DatePicker;
16
+
1
 export default (props) => {
17
 export default (props) => {
2
-  return <div>作业统计</div>;
18
+  const [start, setStartDate] = useState()
19
+  const [end, setEndDate] = useState()
20
+
21
+  const [machineryTypeList, setMachineryTypeList] = useState([]);
22
+  const [cooperativeList, setCooperativeList] = useState([]);
23
+
24
+  const handelChange = (date, dateStrings) => {
25
+    setStartDate(dateStrings[0])
26
+    setEndDate(dateStrings[1])
27
+  }
28
+  const ref = useRef();
29
+  const Reset = () => {
30
+    setStartDate()
31
+    setEndDate()
32
+    ref.current.reload();
33
+  }
34
+
35
+  useEffect(() => {
36
+    getCooperativeList({ pageSize: 999 }).then((res) => {
37
+      setCooperativeList(res.records);
38
+    }).catch((err) => {
39
+      console.log(err.message)
40
+    });
41
+    getMachineryTypeList({ pageSize: 999 }).then((res) => {
42
+      setMachineryTypeList(res.records);
43
+    }).catch((err) => {
44
+      console.log(err.message)
45
+    });
46
+  }, []);
47
+  const columns = [
48
+    {
49
+      title: '订单号',
50
+      dataIndex: 'orderNo',
51
+      key: 'orderNo',
52
+    },
53
+
54
+    {
55
+      title: '农机',
56
+      dataIndex: 'machineryId',
57
+      key: 'machineryId',
58
+      hideInTable: true,
59
+      renderFormItem: (item, field, form) => {
60
+        return (
61
+          <MachinetySelect />
62
+        )
63
+      }
64
+    },
65
+    {
66
+      title: '农机型号',
67
+      dataIndex: 'machineryTypeId',
68
+      key: 'machineryTypeId',
69
+      hideInTable: true,
70
+      renderFormItem: (item, field, form) => {
71
+        return (
72
+          <Select>
73
+            {machineryTypeList.map((item) => (
74
+              <Option value={item.typeId} key={item.typeId}>
75
+                {item.name}
76
+              </Option>
77
+            ))}
78
+          </Select>
79
+        )
80
+      }
81
+    },
82
+    {
83
+      title: '合作社',
84
+      dataIndex: 'orgId',
85
+      key: 'orgId',
86
+      hideInTable: true,
87
+      renderFormItem: (item, field, form) => {
88
+        return (
89
+          <Select>
90
+            {cooperativeList.map((item) => (
91
+              <Option value={item.orgId} key={item.orgId}>
92
+                {item.name}
93
+              </Option>
94
+            ))}
95
+          </Select>
96
+        )
97
+      }
98
+    },
99
+    {
100
+      title: '农机名',
101
+      dataIndex: 'machineryName',
102
+      key: 'machineryName',
103
+      search: false
104
+    },
105
+    {
106
+      title: '农机型号',
107
+      dataIndex: 'machineryTypeName',
108
+      key: 'machineryTypeName',
109
+      search: false
110
+    },
111
+    {
112
+      title: '合作社名',
113
+      dataIndex: 'orgName',
114
+      key: 'orgName',
115
+      search: false
116
+    },
117
+    {
118
+      title: '农机手',
119
+      dataIndex: 'workerName',
120
+      key: 'workerName',
121
+    },
122
+    {
123
+      title: '作业面积',
124
+      dataIndex: 'area',
125
+      key: 'area',
126
+      search: false,
127
+    },
128
+    {
129
+      title: '作业时间',//结束时间
130
+      dataIndex: 'endDate',
131
+      key: 'endDate',
132
+      render: (t, render) => formatterTime(render.startDate) + ' ~ ' + formatterTime(render.endDate),
133
+      renderFormItem: (_, record) => <RangePicker placeholder={['开始日期', '结束日期']} format='YYYY-MM-DD' onChange={handelChange} />
134
+    },
135
+  ];
136
+
137
+  return (
138
+    <PageHeaderWrapper>
139
+      <PageTable
140
+        actionRef={ref}
141
+        request={getJobList}
142
+        // expfunc={exportPersonList}
143
+        columns={columns}
144
+        rowKey="jobId"
145
+        params={{ start, end }}
146
+        onReset={Reset}
147
+        options={false}
148
+      />
149
+    </PageHeaderWrapper>
150
+  );
3
 };
151
 };

+ 8
- 0
src/services/job.js View File

1
+import request from '@/utils/request';
2
+
3
+/**
4
+ * 查询农机列表
5
+ * @param {*} params
6
+ * @returns
7
+ */
8
+export const getJobList = (params) => request('/work-job', { params });