zcloud-gbs-pro-dispatch-react/src/mock/deviceManagement/partnerDevice/index.js

87 lines
2.4 KiB
JavaScript

import Mock from "mockjs";
// 当前没有相关方设备接口文档,以下数据仅用于还原交互原型,接入真实接口后删除本拦截文件。
const partnerDeviceList = [
{
id: "SB-XG-011",
scope: "相关方",
deviceNo: "SB-XG-011",
deviceName: "相关方定位卡R-008",
deviceType: "定位终端",
unit: "相关方清扫一队",
bindingObject: "张敏",
status: "正常",
updateTime: "2026-07-24 09:42",
gpsNo: "GPS-R-008",
relatedVehicle: "-",
location: "隔离封闭区2号门",
sourceSystem: "流机公司智能调度平台",
},
{
id: "SB-XG-019",
scope: "相关方",
deviceNo: "SB-XG-019",
deviceName: "吸污车QS-08",
deviceType: "车辆",
unit: "相关方清扫一队",
bindingObject: "冀C-QS08",
status: "维修",
updateTime: "2026-07-24 09:25",
gpsNo: "GPS-QS-08",
relatedVehicle: "冀C-QS08",
location: "隔离封闭区2号门排水沟",
sourceSystem: "流机公司智能调度平台",
},
{
id: "SB-XG-027",
scope: "相关方",
deviceNo: "SB-XG-027",
deviceName: "洒水车SW-03",
deviceType: "车辆",
unit: "相关方清扫二队",
bindingObject: "冀C-SW03",
status: "停用",
updateTime: "2026-07-24 08:18",
gpsNo: "GPS-SW-03",
relatedVehicle: "冀C-SW03",
location: "西港维修点",
sourceSystem: "流机公司智能调度平台",
},
];
function getRequestBody(options) {
try {
return JSON.parse(options.body || "{}");
}
catch {
return {};
}
}
Mock.mock(/\/production-dispatch\/device\/partner\/list$/, "post", (options) => {
const body = getRequestBody(options);
const keyword = body.keyword?.trim();
const filteredList = partnerDeviceList.filter((record) => {
if (keyword && ![
record.deviceNo,
record.deviceName,
record.bindingObject,
].some(value => value.includes(keyword))) {
return false;
}
return ["deviceType", "unit", "status"]
.every(key => !body[key] || record[key] === body[key]);
});
const pageIndex = Number(body.pageIndex || 1);
const pageSize = Number(body.pageSize || 20);
const start = (pageIndex - 1) * pageSize;
return {
success: true,
totalCount: filteredList.length,
data: filteredList.slice(start, start + pageSize),
};
});
Mock.mock(/\/production-dispatch\/device\/partner\/sync$/, "post", () => ({ success: true }));