完善设备数据查询

This commit is contained in:
ChenYi 2026-04-20 13:39:05 +08:00
parent b5c1948ec2
commit fffc4e8551

View File

@ -1225,19 +1225,31 @@ const [ServiceCallModal, serviceCallModalApi] = useVbenModal({
const serviceCallModalState = serviceCallModalApi.useStore();
/** 服务入参:部分字段需为数值(如 Quantity,避免以字符串提交 */
/** 服务入参:部分字段需为数值,避免以字符串提交 */
function coerceServiceCallParamValue(
fieldName: string,
raw: string,
ctx: { isOperateBreakerService: boolean },
): { ok: true; value: unknown } | { ok: false; message: string } {
const key = fieldName.trim();
if (key.toLowerCase() === 'quantity') {
const key = fieldName.trim().toLowerCase();
if (key === 'quantity') {
const n = Number(raw);
if (Number.isNaN(n)) {
return { ok: false, message: '数量Quantity需填写有效数字' };
}
return { ok: true, value: n };
}
// OperateType
if (ctx.isOperateBreakerService && key === 'operatetype') {
const n = Number(raw);
if (Number.isNaN(n)) {
return {
ok: false,
message: '操作类型OperateType需为有效数字',
};
}
return { ok: true, value: n };
}
return { ok: true, value: raw };
}
@ -1261,10 +1273,13 @@ async function submitDeviceServiceCall() {
return;
}
const serviceParams: Record<string, unknown> = {};
const coerceCtx = {
isOperateBreakerService: isOperateBreakerServiceItem(item),
};
for (const f of serviceParamFields.value) {
const v = (serviceCallFormValues.value[f.name] ?? '').trim();
if (v !== '') {
const coerced = coerceServiceCallParamValue(f.name, v);
const coerced = coerceServiceCallParamValue(f.name, v, coerceCtx);
if (!coerced.ok) {
Message.warning(coerced.message);
return;