f0653c98
曾柯
考评指标
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
import React, { useState, useEffect } from "react";
import { Form, Modal, message, Input, Select, Radio, DatePicker, InputNumber, Checkbox } from "antd";
import { saveEvaIndicators } from "../api";
import usePagination from "@/hooks/usePagination";
import { systemListApi } from "@/pages/admin/Privilege/api";
import { transformDTO, transformFormData, DataType, TargetType, DatePick } from "../entity";
import moment from "moment";
const FormItem = Form.Item;
const { Option } = Select;
interface Props {
item: { visible: boolean; currentItem?: EvaSetteing.EvaListItems };
onClose?: (refresh?: boolean) => any;
setItem?: Function;
roleList: CommonApi.RoleCodeVO[];
}
export default function EditModal({ onClose, setItem, item, roleList }: Props) {
const [form] = Form.useForm();
const { visible, currentItem = {} } = item;
const [saveLoading, setSaveLoading] = useState<boolean>(false);
// 存储系统列表
const { list } = usePagination(systemListApi, { current: 1, pageSize: 500 });
useEffect(() => {
if (visible && currentItem) {
const result = transformFormData(currentItem, roleList, list);
form.setFieldsValue({ ...result });
}
}, [visible]);
function handleSave(values: any) {
const pa = transformDTO(values);
if (currentItem.id) {
pa.id = currentItem.id;
}
console.log("提交指标pa", pa);
setSaveLoading(true);
saveEvaIndicators(pa)
.then((res: any) => {
setSaveLoading(false);
message.success(res.result);
onClose?.(true);
})
.catch((e: any) => {
setSaveLoading(false);
message.error(e.message);
});
}
|
511545ce
曾柯
考评指标新增考评范围
|
49
50
51
52
|
const options = [
{ label: "考评人", value: 1 },
{ label: "考评门店", value: 2 },
];
|
f0653c98
曾柯
考评指标
|
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
return (
<Modal
width={960}
title={`${currentItem.code ? "编辑" : "新增"}考评指标`}
visible={visible}
onOk={form.submit}
onCancel={() => onClose?.(false)}
maskClosable={false}
getContainer={false}
confirmLoading={saveLoading}
afterClose={() => form.resetFields()}
>
<Form
form={form}
onFinish={handleSave}
labelCol={{ span: 6 }}
wrapperCol={{ span: 15 }}
|
511545ce
曾柯
考评指标新增考评范围
|
71
|
initialValues={{ ruleValues: [] }}
|
f0653c98
曾柯
考评指标
|
72
73
74
75
|
>
<FormItem name="name" label="指标名称" rules={[{ required: true, message: "请输入指标名称" }]}>
<Input placeholder="请输入指标名称" />
</FormItem>
|
511545ce
曾柯
考评指标新增考评范围
|
76
77
78
79
80
81
82
|
<Form.Item
name="dataScopeTypes"
label="指标考核范围"
rules={[{ required: true, message: "请选择指标考核范围" }]}
>
<Checkbox.Group options={options} />
</Form.Item>
|
f0653c98
曾柯
考评指标
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
<Form.Item name="dataType" label="指标类型" rules={[{ required: true }]}>
<Select placeholder="请选择指标类型">
{DataType.map((item) => (
<Option value={item.value} key={item.value}>
{item.label}
</Option>
))}
</Select>
</Form.Item>
<Form.Item name="targetType" label="目标值类型" rules={[{ required: true }]}>
<Select placeholder="请选择目标值类型">
{TargetType.map((item) => (
<Option value={item.value} key={item.value}>
{item.label}
</Option>
))}
</Select>
</Form.Item>
|
c0188e80
曾柯
考评bugfix0306
|
101
|
{/* <Form.Item name="belongSystem" label="归属系统" rules={[{ required: true }]}>
|
f0653c98
曾柯
考评指标
|
102
103
104
105
106
107
108
|
<Select placeholder="请选择归属系统" showSearch allowClear labelInValue optionFilterProp="children">
{list.map((item) => (
<Option value={item.id} key={item.id}>
{item.sysName}
</Option>
))}
</Select>
|
c0188e80
曾柯
考评bugfix0306
|
109
|
</Form.Item> */}
|
f0653c98
曾柯
考评指标
|
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
{/* 使用角色 */}
<Form.Item name="role" label="导入操作人员" rules={[{ required: true }]}>
<Select placeholder="请选择导入操作角色类型" showSearch allowClear labelInValue optionFilterProp="children">
{roleList.map((item) => (
<Option value={item.roleCode} key={item.roleCode}>
{item.roleName}
</Option>
))}
</Select>
</Form.Item>
<Form.Item name="ruleType" label="更新周期" rules={[{ required: true, message: "请选择更新周期" }]}>
<Radio.Group>
<Radio value={1}>按滚动天数</Radio>
<Radio value={2}>按星期指定</Radio>
<Radio value={3}>按月指定日期</Radio>
<Radio value={4}>按滚动月</Radio>
</Radio.Group>
</Form.Item>
<Form.Item noStyle shouldUpdate={(prevValues, currentValues) => prevValues.ruleType !== currentValues.ruleType}>
{({ getFieldValue }) => {
const _ruleType = getFieldValue("ruleType");
if (_ruleType === 1) {
return (
<>
<Form.Item name="rollValue1" label="滚动天数" rules={[{ required: true, message: "请输入滚动天数" }]}>
<InputNumber placeholder="请输入滚动天数" addonAfter="天" style={{ width: 567 }} />
</Form.Item>
<Form.Item name="startTime1" label="开始日期" rules={[{ required: true, message: "请选择开始日期" }]}>
<DatePicker style={{ width: 567 }} />
</Form.Item>
</>
);
} else if (_ruleType === 2) {
return (
<Form.Item name="ruleValues2" label="勾选星期" rules={[{ required: true, message: "请选择星期几" }]}>
<Checkbox.Group>
<Checkbox value={1}>星期一</Checkbox>
<Checkbox value={2}>星期二</Checkbox>
<Checkbox value={3}>星期三</Checkbox>
<Checkbox value={4}>星期四</Checkbox>
<Checkbox value={5}>星期五</Checkbox>
<Checkbox value={6}>星期六</Checkbox>
<Checkbox value={7}>星期天</Checkbox>
</Checkbox.Group>
</Form.Item>
);
} else if (_ruleType === 3) {
return (
|
511545ce
曾柯
考评指标新增考评范围
|
158
159
160
161
162
|
<Form.Item
name="ruleValues3"
label="按月指定日期"
rules={[{ required: true, message: "按月指定日期" }]}
>
|
f0653c98
曾柯
考评指标
|
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
|
<Select placeholder="请选择日期" showSearch allowClear optionFilterProp="children" mode="multiple">
{DatePick.map((item) => (
<Option value={item.value} key={item.value}>
{item.label}
</Option>
))}
</Select>
</Form.Item>
);
} else if (_ruleType === 4) {
return (
<>
<Form.Item
name="ruleValues4"
label="滚动月数"
rules={[
{ required: true, message: "请输入滚动月数" },
{ pattern: /^(?:1[0-2]|[1-9])$/, message: "请输入1至12的正整数" },
]}
>
<InputNumber placeholder="请输入滚动月数" addonAfter="月" style={{ width: 567 }} />
</Form.Item>
<Form.Item name="startTime4" label="开始月数" rules={[{ required: true, message: "请选择开始月数" }]}>
<DatePicker picker="month" style={{ width: 567 }} />
</Form.Item>
<Form.Item
name="orderType"
label="滚动月开始日"
rules={[{ required: true, message: "请选择滚动正数或倒数" }]}
>
<Radio.Group>
<Radio value={1}>月第X天</Radio>
<Radio value={2}>月倒数第X天</Radio>
</Radio.Group>
</Form.Item>
<Form.Item
name="rollValue4"
label="X"
|
511545ce
曾柯
考评指标新增考评范围
|
201
202
203
204
|
rules={[
{ required: true, message: "请输入滚动天数" },
{ pattern: /^(?:[1-9]|[1-2]\d|3[0-1])$/, message: "请输入1至31的正整数" },
]}
|
f0653c98
曾柯
考评指标
|
205
|
>
|
ccdb0384
曾柯
考评组配置及数据导入
|
206
|
<InputNumber placeholder="请输入滚动天数" addonAfter="天" style={{ width: 567 }} />
|
f0653c98
曾柯
考评指标
|
207
208
209
210
211
212
213
214
215
216
|
</Form.Item>
</>
);
}
}}
</Form.Item>
</Form>
</Modal>
);
}
|