From b69ad40013618b0b9fbe21feed5903ad362e4ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E8=80=81=E7=99=BD=E5=85=94?= Date: Thu, 11 Sep 2025 11:56:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(contact-import):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=81=94=E7=B3=BB=E4=BA=BA=E5=AF=BC=E5=85=A5=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E5=92=8C=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E7=BB=84=E9=80=89=E9=A1=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将时间格式从HH:mm:ss简化为HH:mm - 从config中获取设备组选项而不是手动构造 - 添加加载状态防止重复提交 --- .../workspace/contact-import/form/index.tsx | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/Cunkebao/src/pages/mobile/workspace/contact-import/form/index.tsx b/Cunkebao/src/pages/mobile/workspace/contact-import/form/index.tsx index fc06837e..3364540d 100644 --- a/Cunkebao/src/pages/mobile/workspace/contact-import/form/index.tsx +++ b/Cunkebao/src/pages/mobile/workspace/contact-import/form/index.tsx @@ -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 = () => { } + loading={loading} >