riku
2026-04-02 3282e95db0207ee133d1e98d9771dec9d83b0fc4
model/device.js
@@ -5,9 +5,16 @@
import { toLabel as toLabelMonitor } from '../common/dataMonitorDeviceType';
import { toLabel as toLabelTreatment } from '../common/dataTreatmentDeviceType';
import { toLabel as toLabelProduction } from '../common/dataProductionDeviceType';
import { inspectPicUrl } from '../config/index';
// 设备信息更新时间超过几个月后,被认为需要确认
const intervalMonth = 3;
// 监测设备
export function getMonitorDevice(data) {
  data._id = data.diId;
  data._name = data.diName;
  data._deviceCode = data.diDeviceCode;
  data._updateTime = dayjs(data.diUpdateTime).format('YYYY年MM月DD日');
  data._maintainFrequency = toLabelFreq(data.diMaintainFrequency);
  data._ownership = toLabelOwner(data.diOwnership);
@@ -15,11 +22,26 @@
  const labelArr = toLabelMonitor(data.diSceneTypeId, [data.diTypeId, data.diSubtypeId]);
  data._type = labelArr[0];
  data._subType = labelArr[1];
  return data
  // 上次更新时间距现在相差的月份数
  data._diffMonth = dayjs(data.diUpdateTime).diff(dayjs(), 'month');
  // 必要信息是否完整
  data._fullInfo =
    data.diName &&
    data.diDeviceCode &&
    data._subType &&
    data.diSupplier &&
    data.diMaintainer &&
    typeof data.diMaintainFrequency === 'number' &&
    typeof data.diRunningStatus === 'number';
  return data;
}
// 治理设备
export function getTreatmentDevice(data) {
  data._id = data.piId;
  data._name = data.piName;
  data._deviceCode = data.piDeviceCode;
  data._updateTime = dayjs(data.piUpdateTime).format('YYYY年MM月DD日');
  data._maintainFrequency = toLabelFreq(data.piMaintainFrequency);
  data._ownership = toLabelOwner(data.piOwnership);
@@ -27,18 +49,44 @@
  const labelArr = toLabelTreatment(data.piSceneTypeId, [data.piTypeId, data.piSubtypeId]);
  data._type = labelArr[0];
  data._subType = labelArr[1];
  return data
  // 上次更新时间距现在相差的月份数
  data._diffMonth = dayjs(data.piUpdateTime).diff(dayjs(), 'month');
  // 必要信息是否完整
  data._fullInfo =
    data.piName &&
    data.piDeviceCode &&
    data._subType &&
    data.piSupplier &&
    data.piMaintainer &&
    typeof data.piMaintainFrequency === 'number' &&
    typeof data.piRunningStatus === 'number';
  return data;
}
// 生产设备
export function getProductionDevice(data) {
  data._id = data.wiId;
  data._name = data.wiName;
  data._deviceCode = data.wiDeviceCode;
  data._updateTime = dayjs(data.wiUpdateTime).format('YYYY年MM月DD日');
  data._ownership = toLabelOwner(data.wiOwnership);
  data._runningStatus = toLabelStatus(data.wiRunningStatus);
  const labelArr = toLabelProduction(data.wiSceneTypeId, [data.wiTypeId, data.wiSubtypeId]);
  data._type = labelArr[0];
  data._subType = labelArr[1];
  return data
  // 上次更新时间距现在相差的月份数
  data._diffMonth = dayjs(data.wiUpdateTime).diff(dayjs(), 'month');
  // 必要信息是否完整
  data._fullInfo =
    data.wiName &&
    data.wiDeviceCode &&
    data._subType &&
    data.wiSupplier &&
    typeof data.wiRunningStatus === 'number';
  return data;
}
export function getDeviceList(dataList, deviceType) {
@@ -46,14 +94,26 @@
    // 监测设备
    if (deviceType == 0) {
      return getMonitorDevice(item);
    }
    }
    // 治理设备
    else if (deviceType == 1) {
      return getTreatmentDevice(item);
    }
    }
    // 生产设备
    else if (deviceType == 2) {
      return getProductionDevice(item);
    }
  });
}
export function getDeviceStatus(data) {
  data._createTime = dayjs(data.dlCreateTime).format('YYYY年MM月DD日');
  data._imgPath = data.dlPicUrl.split(';').map(p => inspectPicUrl + p);
  return data;
}
export function getDeviceStatusList(dataList) {
  return dataList.map(item => {
    return getDeviceStatus(item);
  });
}