fix(contact-import): 修复联系人导入表单时间格式和设备组选项问题
- 将时间格式从HH:mm:ss简化为HH:mm - 从config中获取设备组选项而不是手动构造 - 添加加载状态防止重复提交
This commit is contained in:
@@ -32,8 +32,8 @@ const ContactImportForm: React.FC = () => {
|
||||
clearContact: 0,
|
||||
remarkType: 0,
|
||||
remark: "",
|
||||
startTime: null,
|
||||
endTime: null,
|
||||
startTime: dayjs("09:00", "HH:mm"),
|
||||
endTime: dayjs("21:00", "HH:mm"),
|
||||
// 保留原有字段用于UI显示
|
||||
deviceGroupsOptions: [] as any[],
|
||||
});
|
||||
@@ -55,30 +55,25 @@ const ContactImportForm: React.FC = () => {
|
||||
setLoading(true);
|
||||
const data = await fetchContactImportTaskDetail(Number(id));
|
||||
if (data) {
|
||||
const config = data.config || {};
|
||||
|
||||
// 构造设备选择组件需要的数据格式
|
||||
// 如果后端返回的是设备ID数组,需要构造完整的设备对象用于显示
|
||||
const deviceGroupsOptions =
|
||||
data.deviceGroups?.map((deviceId: number) => ({
|
||||
id: deviceId,
|
||||
memo: `设备 ${deviceId}`,
|
||||
imei: ``,
|
||||
wechatId: ``,
|
||||
status: "online" as const,
|
||||
})) || [];
|
||||
const deviceGroupsOptions = config.deviceGroupsOptions || [];
|
||||
|
||||
setFormData({
|
||||
name: data.name || "",
|
||||
status: data.status || 1,
|
||||
type: data.type || 6,
|
||||
workbenchId: data.workbenchId || 1,
|
||||
deviceGroups: data.deviceGroups || [],
|
||||
pools: data.pools ? JSON.parse(JSON.stringify(data.pools)) : [],
|
||||
num: data.num || 50,
|
||||
clearContact: data.clearContact || 0,
|
||||
remarkType: data.remarkType || 0,
|
||||
remark: data.remark || "",
|
||||
startTime: data.startTime ? dayjs(data.startTime, "HH:mm:ss") : null,
|
||||
endTime: data.endTime ? dayjs(data.endTime, "HH:mm:ss") : null,
|
||||
workbenchId: config.workbenchId || 1,
|
||||
deviceGroups:
|
||||
deviceGroupsOptions.map((device: any) => device.id) || [],
|
||||
pools: config.pools ? JSON.parse(JSON.stringify(config.pools)) : [],
|
||||
num: config.num || 50,
|
||||
clearContact: config.clearContact || 0,
|
||||
remarkType: config.remarkType || 0,
|
||||
remark: config.remark || "",
|
||||
startTime: config.startTime ? dayjs(config.startTime, "HH:mm") : null,
|
||||
endTime: config.endTime ? dayjs(config.endTime, "HH:mm") : null,
|
||||
deviceGroupsOptions,
|
||||
});
|
||||
}
|
||||
@@ -135,8 +130,8 @@ const ContactImportForm: React.FC = () => {
|
||||
clearContact: formData.clearContact,
|
||||
remarkType: formData.remarkType,
|
||||
remark: formData.remark || null,
|
||||
startTime: formData.startTime?.format("HH:mm:ss") || null,
|
||||
endTime: formData.endTime?.format("HH:mm:ss") || null,
|
||||
startTime: formData.startTime?.format("HH:mm") || null,
|
||||
endTime: formData.endTime?.format("HH:mm") || null,
|
||||
};
|
||||
|
||||
if (isEdit && id) {
|
||||
@@ -168,8 +163,8 @@ const ContactImportForm: React.FC = () => {
|
||||
clearContact: 0,
|
||||
remarkType: 0,
|
||||
remark: "",
|
||||
startTime: null,
|
||||
endTime: null,
|
||||
startTime: dayjs("09:00", "HH:mm"),
|
||||
endTime: dayjs("21:00", "HH:mm"),
|
||||
deviceGroupsOptions: [],
|
||||
});
|
||||
};
|
||||
@@ -203,6 +198,7 @@ const ContactImportForm: React.FC = () => {
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
loading={loading}
|
||||
>
|
||||
<div className={style.formBg}>
|
||||
<div className={style.basicSection}>
|
||||
|
||||
Reference in New Issue
Block a user