cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
1
2
3
4
5
6
|
import React, { useState, useEffect } from 'react';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { Card, Table, Button, Row, DatePicker, Col, InputNumber, message } from 'antd';
import { getTackList, ListItem, saveHandelTack, ShopTaskList, save, saveParams } from './api';
import EModal from './component/Modal';
import moment from 'moment';
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
7
|
import ApproveModal from '@/pages/order3/Common/ApproveModal';
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
const { Column } = Table;
const day = new Date();
const month = day.getMonth() + 1;
const year = day.getFullYear();
const strtime = year + '-' + month;
let newDate = new Date(strtime);
const newDay = newDate.getTime();
export default function TacklingCarModels() {
const [visible, setVisible] = useState<boolean>(false);
const [loading, setLoading] = useState<boolean>(false);
const [current, setCurrent] = useState<ShopTaskList>({});
const [confirmLoading, setConfirmLoading] = useState<boolean>(false);
const [saveLoading, setSaveLoading] = useState<boolean>(false);
const [date, setDate] = useState<number>(newDay);
const [edit, setEdit] = useState<boolean>(false);
const [list, setList] = useState<ListItem>({});
const [orginDara, setOrginDara] = useState<ListItem>({});
let index;
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
29
|
const [approveOpen, setApproveOpen] = useState<boolean>(false);
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
useEffect(() => {
getList(newDay);
}, []);
function setReset() {
setList({...orginDara});
setEdit(false);
getList(newDay);
}
//查询列表
function getList(date: number) {
const params = {
taskDate: date.valueOf(),
autoAssign: false,
};
getTackList(params).then(res => {
setLoading(false);
const data = res.data;
setOrginDara(data || {});
setList(data || {});
message.success('请求成功!');
}).catch(e => {
setLoading(false);
message.warning(e.message);
});
}
function _ChangeMoth(date: any) {
setLoading(true);
setDate(date.valueOf());
getList(date);
}
function _onChange(e: number, index: number) {
const data = list;
data.shopTaskList![index].taskCount = e;
setList({ ...data });
}
//保存
function handleClick() {
setLoading(true);
const params = {
id: list.id,
shopTaskList: list.shopTaskList
};
handleSave(params);
}
//提交审批
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
79
|
function saveClick(params?: any) {
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
80
81
|
setLoading(true);
setSaveLoading(true);
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
82
|
save({...params, id: list.id}).then(() => {
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
83
84
85
86
87
88
89
90
91
92
|
setSaveLoading(false);
setLoading(false);
setList({ ...list, canModified: false });
message.success('提交成功!');
}).catch(e => {
setLoading(false);
message.warning(e.message);
setSaveLoading(false);
});
}
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
93
|
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
//手动提交
function handleSave(params: saveParams) {
setConfirmLoading(true);
saveHandelTack(params).then(() => {
message.success('提交成功!');
getList(date);
setConfirmLoading(false);
setEdit(false);
}).catch(e => {
message.warning(e.message);
setLoading(false);
setConfirmLoading(false);
});
}
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
109
110
111
112
|
function handleOpenApprove() {
setApproveOpen(true);
}
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
return (
<PageHeaderWrapper title="攻坚车任务手动调整">
<Card>
<Row style={{ marginTop: 20, marginBottom: 20 }}>
<Col span={4}><DatePicker defaultValue={moment(newDay)} picker="month" onChange={_ChangeMoth} /></Col>
</Row>
<Table
dataSource={list.shopTaskList}
loading={loading}
rowKey="shopId"
pagination={false}
summary={pageData => {
let total = 0;
pageData.forEach(({ taskCount }) => {
total += taskCount || 0;
});
return (
<>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
131
132
|
{total == 0 ? null : (
<Table.Summary.Row>
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
133
134
135
136
|
<Table.Summary.Cell index={1}><span style={{ display: 'block', textAlign: 'center' }}>合计</span></Table.Summary.Cell>
<Table.Summary.Cell index={2}>
<span style={{ display: 'block', textAlign: 'center' }}>{total}</span>
</Table.Summary.Cell>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
137
|
<Table.Summary.Cell index={3} />
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
138
|
</Table.Summary.Row>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
139
|
)}
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
140
141
142
143
144
|
</>
);
}}
>
<Column title="门店" dataIndex="shopName" width={400} align="center" />
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
145
146
147
148
|
<Column
title="攻坚车型任务(台)"
dataIndex="taskCount"
align="center"
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
149
150
|
render={(value, record, index) => {
if (edit) {
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
151
|
return <InputNumber min={0} value={value} onChange={(e: any) => _onChange(e, index)} />;
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
152
|
} else {
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
153
|
return <span>{value}</span>;
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
154
155
156
|
}
}}
/>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
157
158
159
160
|
<Column
title="操作"
align="center"
render={(value, record, _index) => (
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
161
|
<>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
162
|
<Button type="link" onClick={() => { setVisible(true); setCurrent(value); index = _index; }}>销售顾问任务</Button>
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
163
164
165
166
167
168
|
</>
)}
/>
</Table>
<EModal setVisible={setVisible} visible={visible} current={current} index={index} setList={setList} list={list} setCurrent={setCurrent} isHandledit={edit} />
<Row justify="center" style={{ marginTop: 15 }}>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
169
|
{list.canModified ? (
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
170
171
172
|
<>
{edit ?
<Button style={{ width: 110 }} type="primary" onClick={handleClick} loading={confirmLoading}>确定</Button> :
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
173
|
<Button style={{ width: 110 }} type="primary" onClick={handleOpenApprove} loading={saveLoading}>提交审批</Button>}
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
174
175
176
|
<Button style={{ width: 110, marginLeft: 15, backgroundColor: '#FFF' }} type="default" onClick={() => setEdit(true)}>手动编辑</Button>
{edit ?
<Button style={{ width: 110, marginLeft: 15 }} type="default" onClick={setReset} loading={confirmLoading}>取消</Button> :
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
177
178
179
|
null}
</>
) : null}
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
180
181
|
</Row>
</Card>
|
2ee855e8
舒述军
零售任务和攻坚车任务调整
|
182
183
184
|
<ApproveModal callback={saveClick} open={approveOpen} setOpen={setApproveOpen} />
</PageHeaderWrapper>
);
|
cc26d1fc
张志伟
🎉 重新构建项目,解决项目过大的问题
|
185
|
}
|