|
|
@@ -126,14 +126,14 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
|
|
|
|
[t('eq_domain'), val(device.domain), device.domain],
|
|
|
|
[t('eq_domain'), val(device.domain), device.domain],
|
|
|
|
[t('eq_last_user'), val(device.last_user), device.last_user],
|
|
|
|
[t('eq_last_user'), val(device.last_user), device.last_user],
|
|
|
|
[t('eq_ip'), val(device.ip_main), device.ip_main],
|
|
|
|
[t('eq_ip'), val(device.ip_main), device.ip_main],
|
|
|
|
[t('eq_first_seen'), fmtDate(device.first_seen), fmtDate(device.first_seen)],
|
|
|
|
|
|
|
|
[t('eq_last_seen'), fmtDate(device.last_seen), fmtDate(device.last_seen)],
|
|
|
|
|
|
|
|
[t('eq_agent'), val(device.agent_version), device.agent_version],
|
|
|
|
[t('eq_agent'), val(device.agent_version), device.agent_version],
|
|
|
|
];
|
|
|
|
];
|
|
|
|
const manualRows = [
|
|
|
|
const manualRows = [
|
|
|
|
[t('common_status'), <Badge color={device.status === 'active' ? 'success' : 'muted'}>{t(`eq_status_${device.status}`)}</Badge>, t(`eq_status_${device.status}`)],
|
|
|
|
[t('common_status'), <Badge color={device.status === 'active' ? 'success' : 'muted'}>{t(`eq_status_${device.status}`)}</Badge>, t(`eq_status_${device.status}`)],
|
|
|
|
[t('eq_assigned_to'), val(device.assigned_user_name), device.assigned_user_name],
|
|
|
|
[t('eq_assigned_to'), val(device.assigned_user_name), device.assigned_user_name],
|
|
|
|
[t('common_department'), val(device.department_name), device.department_name],
|
|
|
|
[t('common_department'), val(device.department_name), device.department_name],
|
|
|
|
|
|
|
|
[t('eq_first_seen'), fmtDate(device.first_seen), fmtDate(device.first_seen)],
|
|
|
|
|
|
|
|
[t('eq_last_seen'), fmtDate(device.last_seen), fmtDate(device.last_seen)],
|
|
|
|
[t('eq_notes'), <span style={{ whiteSpace: 'pre-wrap' }}>{val(device.notes)}</span>, device.notes],
|
|
|
|
[t('eq_notes'), <span style={{ whiteSpace: 'pre-wrap' }}>{val(device.notes)}</span>, device.notes],
|
|
|
|
];
|
|
|
|
];
|
|
|
|
const cpuText = device.cpus.map((c) => `${c.name || ''}${c.cores ? ` · ${c.cores}c/${c.threads || '?'}t` : ''}`).join(' | ');
|
|
|
|
const cpuText = device.cpus.map((c) => `${c.name || ''}${c.cores ? ` · ${c.cores}c/${c.threads || '?'}t` : ''}`).join(' | ');
|
|
|
@@ -192,6 +192,8 @@ function DeviceDetail({ id, onClose, onChanged, canEdit }) {
|
|
|
|
<Field label={t('common_department')}>
|
|
|
|
<Field label={t('common_department')}>
|
|
|
|
<ComboBox options={[{ value: '', label: '—' }, ...deptOptions]} value={form.departmentId} onChange={(v) => setForm({ ...form, departmentId: v })} />
|
|
|
|
<ComboBox options={[{ value: '', label: '—' }, ...deptOptions]} value={form.departmentId} onChange={(v) => setForm({ ...form, departmentId: v })} />
|
|
|
|
</Field>
|
|
|
|
</Field>
|
|
|
|
|
|
|
|
<Row label={t('eq_first_seen')}>{fmtDate(device.first_seen)}</Row>
|
|
|
|
|
|
|
|
<Row label={t('eq_last_seen')}>{fmtDate(device.last_seen)}</Row>
|
|
|
|
<Field label={t('eq_notes')}>
|
|
|
|
<Field label={t('eq_notes')}>
|
|
|
|
<textarea className="textarea" rows={3} value={form.notes} onChange={(e) => setForm({ ...form, notes: e.target.value })} />
|
|
|
|
<textarea className="textarea" rows={3} value={form.notes} onChange={(e) => setForm({ ...form, notes: e.target.value })} />
|
|
|
|
</Field>
|
|
|
|
</Field>
|
|
|
|