riku
2024-08-13 1a0e4972f80278bfa9e53283374b745b6c968341
pages/inspection/scene/info/device-info-items.js
@@ -1,3 +1,4 @@
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,38 +7,30 @@
import { ownership } from '../../../../common/dataOwnership';
/**
 * 生成一条表单条目
 * @param {String} _label 标签名称
 * @param {String} _name 字段名称
 * @param {String} _type 输入类型 (text: 输入框; switch: 切换按钮; picker: 下拉框选项; cascader: 级联选择)
 * @param {Boolean} _required 是否为必填项
 * @param {Array} _options 当输入类型为picker时,提供可选项
 */
function baseInputItem(_label, _name, _required, _type = 'text', _options = []) {
  return {
    required: _required,
    label: _label,
    placeholder: (_type == 'text' ? '请输入' : '请选择') + _label,
    name: _name,
    value: null,
    status: 'success',
    tips: _label + '不能为空',
    inputType: _type,
    options: _options,
    cascaderTitles: ['1', '2'],
    visible: false,
  };
}
/**
 * 监测设备表单
 * @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'),
@@ -54,12 +47,17 @@
    // baseInputItem('标识二维码', 'DI_QR_Code'),
    // baseInputItem('其他第三方或设备自带二维码', 'DI_Other_QR_Code'),
  ];
  // 填充默认数据
  setDefaultValue(items, defaultValue);
  return items;
}
/**
 * 治理设备表单
 */
export function treatmentDeviceForm(sceneType) {
export function treatmentDeviceForm(sceneType, defaultValue) {
  return [
    baseInputItem('站点名称', 'diName', true),
    baseInputItem('设备编号', 'diDeviceCode'),
@@ -74,7 +72,7 @@
/**
 * 生产设备表单
 */
export function productionDeviceForm(sceneType) {
export function productionDeviceForm(sceneType, defaultValue) {
  return [
    baseInputItem('站点名称', 'diName', true),
    baseInputItem('设备编号', 'diDeviceCode'),
@@ -85,3 +83,27 @@
    baseInputItem('是否拆除', 'diRemoved', true, 'switch'),
  ];
}
/**
 * 设备状态表单
 */
export function deviceStatusForm(defaultValue) {
  return [
    hideInputItem('id', 'dlId'),
    hideInputItem('设备id', 'dlDeviceId'),
    hideInputItem('设备类型', 'dlDeviceType'),
    hideInputItem('场景id', 'dlSceneGuid'),
    hideInputItem('场景类型', 'dlSceneTypeId'),
    hideInputItem('现场图片', 'dlPicUrl'),
    hideInputItem('现场视频', 'dlVideoUrl'),
    hideInputItem('创建时间', 'dlCreateTime'),
    hideInputItem('更新时间', 'dlUpdateTime'),
    baseInputItem('设备位置', 'DL_Location', true),
    baseInputItem('经度', 'DL_Longitude'),
    baseInputItem('维度', 'DL_Latitude', true),
    baseInputItem('是否规范', 'DL_Standard', true, 'switch'),
    baseInputItem('不规范原因', 'DL_UnStandard_Reason'),
    baseInputItem('运行状态', 'DL_Real_Time_Status', true, 'picker', status),
  ];
}