李志伟 3 years ago
parent
commit
c76e2a5997

+ 6
- 0
config/routes.js View File

136
         component: './OrderManage/dispatch.jsx',
136
         component: './OrderManage/dispatch.jsx',
137
         hideInMenu: true,
137
         hideInMenu: true,
138
       },
138
       },
139
+      {
140
+        path: '/OrderManage/OrderList/index.jsx',
141
+        name: '订单列表',
142
+        access: 'orderList',
143
+        component: './OrderManage/OrderList',
144
+      },
139
       {
145
       {
140
         path: '/OrderManage/JobWarning/index.jsx',
146
         path: '/OrderManage/JobWarning/index.jsx',
141
         name: '预警监管',
147
         name: '预警监管',

+ 83
- 5
src/pages/JobStatistics/Order/index.jsx View File

3
 import { PageHeaderWrapper } from '@ant-design/pro-layout';
3
 import { PageHeaderWrapper } from '@ant-design/pro-layout';
4
 import moment from 'moment';
4
 import moment from 'moment';
5
 import PageTable from '@/components/PageTable';
5
 import PageTable from '@/components/PageTable';
6
-import { getOrderList } from '@/services/order';
6
+import { getOrderList } from '@/services/order'
7
+import OrgSelect from '@/components/OrgSelect';
8
+import MachinetySelect from '@/components/MachinetySelect';
9
+import TypeSelect from '@/components/TypeSelect';;
7
 import { getevaluation } from '@/services/eval'
10
 import { getevaluation } from '@/services/eval'
8
 
11
 
9
 const formatterTime = (val) => {
12
 const formatterTime = (val) => {
10
-  return val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : '';
13
+  return val ? moment(val).format('YYYY-MM-DD') : '';
11
 };
14
 };
12
 const FormItem = Form.Item;
15
 const FormItem = Form.Item;
13
 const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } };
16
 const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } };
22
     })
25
     })
23
   }
26
   }
24
   const columns = [
27
   const columns = [
28
+    {
29
+      title: '机构',
30
+      dataIndex: 'orgId',
31
+      key: 'orgId',
32
+      hideInTable: true,
33
+      renderFormItem: (item, field, form) => {
34
+        return <OrgSelect />
35
+      }
36
+    },
37
+    {
38
+      title: '农机',
39
+      dataIndex: 'machineryId',
40
+      key: 'machineryId',
41
+      hideInTable: true,
42
+      renderFormItem: (item, field, form) => {
43
+        return (
44
+          <MachinetySelect />
45
+        )
46
+      }
47
+    },
48
+    {
49
+      title: '农机型号',
50
+      dataIndex: 'typeId',
51
+      key: 'typeId',
52
+      hideInTable: true,
53
+      renderFormItem: (item, field, form) => {
54
+        return (
55
+          <TypeSelect />
56
+        )
57
+      }
58
+    },
25
     {
59
     {
26
       title: '机构名',
60
       title: '机构名',
27
       dataIndex: 'orgName',
61
       dataIndex: 'orgName',
28
       key: 'orgName',
62
       key: 'orgName',
63
+      search: false
29
     },
64
     },
30
     {
65
     {
31
       title: '农机名',
66
       title: '农机名',
32
       dataIndex: 'machineryName',
67
       dataIndex: 'machineryName',
33
       key: 'machineryName',
68
       key: 'machineryName',
69
+      search: false
34
     },
70
     },
35
     {
71
     {
36
       title: '农机型号',
72
       title: '农机型号',
37
       dataIndex: 'typeName',
73
       dataIndex: 'typeName',
38
       key: 'typeName',
74
       key: 'typeName',
75
+      search: false
76
+    },
77
+    {
78
+      title: '下单人',
79
+      dataIndex: 'name',
80
+      key: 'name',
81
+    },
82
+    {
83
+      title: '手机号',
84
+      dataIndex: 'phone',
85
+      key: 'phone',
39
     },
86
     },
40
     {
87
     {
41
       title: '需求时间',
88
       title: '需求时间',
42
       dataIndex: 'appointmentDate',
89
       dataIndex: 'appointmentDate',
43
       key: 'appointmentDate',
90
       key: 'appointmentDate',
91
+      render: (t) => formatterTime(t),
92
+      search: false
44
     },
93
     },
45
     {
94
     {
46
       title: '作业面积',
95
       title: '作业面积',
61
       key: 'createDate',
110
       key: 'createDate',
62
       search: false,
111
       search: false,
63
       render: (t) => formatterTime(t),
112
       render: (t) => formatterTime(t),
64
-      width: 200,
113
+    },
114
+    {
115
+      title: '付款状态',
116
+      dataIndex: 'payStatus',
117
+      key: 'payStatus',
118
+      valueType: 'select',
119
+      valueEnum: {
120
+        0: { text: '待付款' },
121
+        1: { text: '已付款' }
122
+      },
123
+    },
124
+    {
125
+      title: '调度状态',
126
+      dataIndex: 'dispatchStatus',
127
+      key: 'dispatchStatus',
128
+      valueType: 'select',
129
+      valueEnum: {
130
+        0: { text: '待调度' },
131
+        1: { text: '已调度' }
132
+      },
133
+    },
134
+    {
135
+      title: '作业状态',
136
+      dataIndex: 'workStatus',
137
+      key: 'workStatus',
138
+      valueType: 'select',
139
+      valueEnum: {
140
+        0: { text: '待作业' },
141
+        1: { text: '进行中' },
142
+        3: { text: '已完成' }
143
+      },
65
     },
144
     },
66
     {
145
     {
67
       title: '评价状态',
146
       title: '评价状态',
69
       key: 'isEvaluated',
148
       key: 'isEvaluated',
70
       valueType: 'select',
149
       valueType: 'select',
71
       valueEnum: {
150
       valueEnum: {
72
-        '': { text: '不限', status: 'Default' },
73
         0: { text: '待评价' },
151
         0: { text: '待评价' },
74
         1: { text: '已评价' }
152
         1: { text: '已评价' }
75
       },
153
       },
101
         columns={columns}
179
         columns={columns}
102
         rowKey="orderId"
180
         rowKey="orderId"
103
         options={false}
181
         options={false}
104
-        scroll={{ x: 1000 }}
182
+        scroll={{ x: 1500 }}
105
       />
183
       />
106
       <Modal
184
       <Modal
107
         forceRender
185
         forceRender

+ 1
- 1
src/pages/Machinery/Machinery/index.jsx View File

110
       key: 'jobStatus',
110
       key: 'jobStatus',
111
       search: false,
111
       search: false,
112
       render: (_, record) => {
112
       render: (_, record) => {
113
-        return record.jobStatus === 1 ? '忙碌' : '空闲';
113
+        return record.jobStatus == 1 ? '使用中' : '空闲中';
114
       },
114
       },
115
     },
115
     },
116
     {
116
     {

+ 145
- 0
src/pages/OrderManage/OrderList/index.jsx View File

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