riku
2024-11-07 5a678cce1b157411f20fbddfaed49c7bc8d9fba7
pages/inspection/scene/info/device-info-items.js
@@ -1,3 +1,8 @@
import {
  baseInputItem,
  hideInputItem,
  setDefaultValue,
} from '../../../../components/form/form-util.js';
import { monitorDevices } from '../../../../common/dataMonitorDeviceType';
import { treatmentDevices } from '../../../../common/dataTreatmentDeviceType';
import { productionDevices } from '../../../../common/dataProductionDeviceType';
@@ -6,36 +11,30 @@
import { ownership } from '../../../../common/dataOwnership';
/**
 * 生成一条表单条目
 * @param {String} _label 标签名称
 * @param {String} _name 字段名称
 * @param {String} _type 输入类型 (text: 输入框; switch: 切换按钮; picker: 下拉框选项)
 * @param {Boolean} _required 是否为必填项
 * @param {Array} _options 当输入类型为picker时,提供可选项
 */
function baseInputItem(_label, _name, _required, _type = 'text', _options = []) {
  return {
    required: _required,
    label: _label,
    placeholder: '请输入' + _label,
    name: _name,
    value: _type == 'switch' ? false : null,
    status: 'success',
    tips: _label + '不能为空',
    inputType: _type,
    options: _options,
  };
}
/**
 * 监测设备表单
 * @param {Number} sceneType 场景类型(飞羽监管系统)
 * @param {Object} defaultValue 表单默认值
 */
export function monitorDeviceForm(sceneType) {
  return [
export function monitorDeviceForm(sceneType, defaultValue) {
  const items = [
    hideInputItem('id', 'diId'),
    hideInputItem('创建时间', 'diCreateTime'),
    hideInputItem('更新时间', 'diUpdateTime'),
    hideInputItem('场景id', 'diSceneGuid'),
    hideInputItem('场景类型', 'diSceneTypeId'),
    baseInputItem('站点名称', 'diName', true),
    baseInputItem('设备编号', 'diDeviceCode'),
    // 设备类型和设备子类合并用级联选择器展示
    baseInputItem('设备类型', '_type', true, 'cascader', monitorDevices(sceneType)),
    baseInputItem(
      '设备类型',
      '_type',
      true,
      'cascader',
      monitorDevices(sceneType),
      ['选择设备类型', '选择设备子类'],
      ['diTypeId', 'diSubtypeId'],
    ),
    // baseInputItem('设备类型', 'diTypeId', true, 'picker'),
    // baseInputItem('设备子类', 'diSubtypeId', true, 'picker'),
    baseInputItem('供应商', 'diSupplier'),
@@ -49,37 +48,124 @@
    baseInputItem('所有权', 'diOwnership', true, 'picker', ownership),
    // todo 2024/8/12: 后续要添加二维码的信息扫描录入
    // baseInputItem('标识二维码', 'DI_QR_Code'),
    // baseInputItem('其他第三方或设备自带二维码', 'DI_Other_QR_Code'),
    // baseInputItem('标识二维码', 'diQRCode'),
    // baseInputItem('其他第三方或设备自带二维码', 'diOtherQRCode'),
  ];
  // 填充默认数据
  setDefaultValue(items, defaultValue);
  return items;
}
/**
 * 治理设备表单
 */
export function treatmentDeviceForm(sceneType) {
  return [
    baseInputItem('站点名称', 'diName', true),
    baseInputItem('设备编号', 'diDeviceCode'),
    baseInputItem('设备类型', 'diType', true),
    baseInputItem('供应商', 'diSupplier'),
    baseInputItem('运维商', 'diMaintainer'),
    baseInputItem('是否上线', 'diRunningStatus', true, 'switch'),
    baseInputItem('是否拆除', 'diRemoved', true, 'switch'),
export function treatmentDeviceForm(sceneType, defaultValue) {
  const items = [
    hideInputItem('id', 'piId'),
    hideInputItem('创建时间', 'piCreateTime'),
    hideInputItem('更新时间', 'piUpdateTime'),
    hideInputItem('场景id', 'piSceneGuid'),
    hideInputItem('场景类型', 'piSceneTypeId'),
    baseInputItem('设备名称', 'piName', true),
    baseInputItem('设备编号', 'piDeviceCode'),
    // 设备类型和设备子类合并用级联选择器展示
    baseInputItem(
      '设备类型',
      '_type',
      true,
      'cascader',
      treatmentDevices(sceneType),
      ['选择设备类型', '选择设备子类'],
      ['piTypeId', 'piSubtypeId'],
    ),
    // baseInputItem('设备类型', 'piTypeId', true, 'picker'),
    // baseInputItem('设备子类', 'piSubtypeId', true, 'picker'),
    baseInputItem('供应商', 'piSupplier'),
    baseInputItem('运维商', 'piMaintainer'),
    baseInputItem('运维频次', 'piMaintainFrequency', true, 'picker', freq),
    baseInputItem('运维人员', 'piMaintainStaff'),
    baseInputItem('运维电话', 'piMaintainTel'),
    baseInputItem('运行状态', 'piRunningStatus', true, 'picker', status),
    baseInputItem('品牌型号', 'piBrandModel'),
    baseInputItem('设备参数', 'piDeviceParam'),
    baseInputItem('所有权', 'piOwnership', true, 'picker', ownership),
    // todo 2024/8/12: 后续要添加二维码的信息扫描录入
    // baseInputItem('标识二维码', 'piQRCode'),
    // baseInputItem('其他第三方或设备自带二维码', 'piOtherQRCode'),
  ];
  setDefaultValue(items, defaultValue);
  return items;
}
/**
 * 生产设备表单
 */
export function productionDeviceForm(sceneType) {
  return [
    baseInputItem('站点名称', 'diName', true),
    baseInputItem('设备编号', 'diDeviceCode'),
    baseInputItem('设备类型', 'diType', true),
    baseInputItem('供应商', 'diSupplier'),
    baseInputItem('运维商', 'diMaintainer'),
    baseInputItem('是否上线', 'diRunningStatus', true, 'switch'),
    baseInputItem('是否拆除', 'diRemoved', true, 'switch'),
export function productionDeviceForm(sceneType, defaultValue) {
  const items = [
    hideInputItem('id', 'wiId'),
    hideInputItem('创建时间', 'wiCreateTime'),
    hideInputItem('更新时间', 'wiUpdateTime'),
    hideInputItem('场景id', 'wiSceneGuid'),
    hideInputItem('场景类型', 'wiSceneTypeId'),
    baseInputItem('设备名称', 'wiName', true),
    baseInputItem('设备编号', 'wiDeviceCode'),
    // 设备类型和设备子类合并用级联选择器展示
    baseInputItem(
      '设备类型',
      '_type',
      true,
      'cascader',
      productionDevices(sceneType),
      ['选择设备类型', '选择设备子类'],
      ['wiTypeId', 'wiSubtypeId'],
    ),
    // baseInputItem('设备类型', 'piTypeId', true, 'picker'),
    // baseInputItem('设备子类', 'piSubtypeId', true, 'picker'),
    baseInputItem('供应商', 'wiSupplier'),
    baseInputItem('服务商', 'wiServicer'),
    baseInputItem('服务人员', 'wiMaintainStaff'),
    baseInputItem('服务电话', 'wiMaintainTel'),
    baseInputItem('运行状态', 'wiRunningStatus', true, 'picker', status),
    baseInputItem('品牌型号', 'wiBrandModel'),
    baseInputItem('设备参数', 'wiDeviceParam'),
    baseInputItem('所有权', 'wiOwnership', true, 'picker', ownership),
    // todo 2024/8/12: 后续要添加二维码的信息扫描录入
    // baseInputItem('标识二维码', 'wiQRCode'),
    // baseInputItem('其他第三方或设备自带二维码', 'wiOtherQRCode'),
  ];
  setDefaultValue(items, defaultValue);
  return items;
}
/**
 * 设备状态表单
 */
export function deviceStatusForm(defaultValue) {
  const items = [
    hideInputItem('id', 'dlId'),
    hideInputItem('设备id', 'dlDeviceId'),
    hideInputItem('设备类型', 'dlDeviceType'),
    hideInputItem('场景id', 'dlSceneGuid'),
    hideInputItem('场景类型', 'dlSceneTypeId'),
    hideInputItem('现场图片', 'dlPicUrl'),
    hideInputItem('现场视频', 'dlVideoUrl'),
    hideInputItem('创建时间', 'dlCreateTime'),
    hideInputItem('更新时间', 'dlUpdateTime'),
    hideInputItem('设备位置', 'dlLocation', true),
    hideInputItem('经度', 'dlLongitude'),
    hideInputItem('维度', 'dlLatitude', true),
    baseInputItem('是否规范', 'dlStandard', true, 'switch'),
    baseInputItem('不规范原因', 'dlUnStandardReason'),
    baseInputItem('运行状态', 'dlRealTimeStatus', true, 'picker', status),
  ];
  setDefaultValue(items, defaultValue);
  return items;
}