87 lines
2.4 KiB
JavaScript
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 }));
|