在设备保养-任务记录页"新增计划"中,支持一次多选多台设备、共用一套保养项目/计划保养日期/录入人,一键为所有选中设备各生成一条保养计划,减少重复录入。
PlanModal.vue)| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /device/maintenance/batchAdd | 批量新增设备保养计划 |
请求参数(body,JSON):
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| deviceIds | Long[] | 是 | 选中的设备台账 id 列表(至少 1 个) |
| maintenancePlanTime | datetime | 是 | 计划保养日期(共用) |
| createUser | Integer | 是 | 录入人(共用) |
| maintenanceItem | String | 否 | 保养项目(共用) |
响应: { "code": 200, "msg": "操作成功" }
src/api/equipmentManagement/upkeep.js)export const batchAddUpkeep = (data) => {
return request({
url: "/device/maintenance/batchAdd",
method: "post",
data,
});
};
Form/PlanModal.vue)<el-select
v-model="form.deviceIds"
multiple
@change="setDeviceModel"
placeholder="请选择设备"
filterable
default-first-option
:reserve-keyword="false"
>
form 中 deviceLedgerId 字段替换为数组 deviceIds: []setDeviceModel 改为按选中设备集合展示规格型号(逗号连接)form.deviceIds = [data.deviceLedgerId]const common = {
maintenancePlanTime: form.maintenancePlanTime,
createUser: form.createUser,
maintenanceItem: form.maintenanceItem,
};
if (id.value) {
// 编辑计划(单设备)
await editUpkeep({ id, deviceLedgerId: form.deviceIds[0], ...common, status });
} else if (form.deviceIds.length > 1) {
// 批量新增
await batchAddUpkeep({ deviceIds: form.deviceIds, ...common });
} else {
// 单设备新增
await addUpkeep({ deviceLedgerId: form.deviceIds[0], ...common });
}
DeviceMaintenance 新增 deviceIds(非表字段,@TableField(exist = false))DeviceMaintenanceController 新增 POST /device/maintenance/batchAddDeviceMaintenanceServiceImpl.batchSaveDeviceRepair:遍历设备 id,按设备台账填充名称/规格型号,批量 saveBatch待保养(0)