"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.transform = void 0;
var _react = _interopRequireDefault(require("react"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
// import { VtxImage, VtxUpload } from '@vtx/components';

// 转换内容
var transformContent = function transformContent(item, detail) {
  var showKey = item.showKey,
    key = item.key;
  var dataJson = detail.dataJson;
  return {
    value: detail[showKey || key] || dataJson[showKey || key] || '--'
  };
};

// 转换文本
var transformText = function transformText(item, detail) {
  var key = item.key;
  var dataJson = detail.dataJson;
  return {
    value: detail[key] || dataJson[key]
  };
};

// 转换时间段
var transformDateRange = function transformDateRange(item, detail) {
  var _transformContent = transformContent(item, detail),
    value = _transformContent.value;
  if (Array.isArray(value)) {
    return {
      value: value.join('~')
    };
  }
  return {
    value: value
  };
};

// 转换图片
// const transformImage = (item, detail) => {
//   let {dataJson} = detail;
//   const pictures = JSON.parse(detail?.[item.showKey] || dataJson?.[item.showKey] || '[]');

//   if (pictures?.length) {
//     return {
//       render: () => (
//         <VtxImage.PreviewGroup>
//           {pictures.map(item => (
//             <VtxImage
//               style={{width: 80, height: 80, marginRight: 8}}
//               key={item.id}
//               src={`/cloudFile/common/downloadFile?id=${item.id}`}
//               alt={item.name}
//             />
//           ))}
//         </VtxImage.PreviewGroup>
//       )
//     }
//   }

//   return {value: '--'}
// }

// 转换附件
// const transformAttachs = (item, detail) => {
//   let {dataJson} = detail;
//   const files = JSON.parse(detail?.[item.showKey] || dataJson?.[item.showKey] || '[]');

//   if (files?.length) {
//     return {
//       render: () => (
//         <VtxUpload
//           name="file"
//           viewMode
//           fileList={files}
//           downloadUrl="/cloudFile/common/downloadFile?id="
//         />
//       )
//     }
//   }

//   return {value: '--'}
// }

var config = {
  // input输入框
  INPUT: transformContent,
  // 文本框
  TEXT: function TEXT(item, detail) {
    return _objectSpread(_objectSpread({}, transformText(item, detail)), {}, {
      span: 24
    });
  },
  // 数字
  NUMBER: transformText,
  // 日期（年月日）
  DATE: transformContent,
  // 日期（年）
  YEAR: transformContent,
  // 日期（年月）
  MONTH: transformContent,
  // 季度 2023-Q1
  QUARTER: transformContent,
  // 是否判断
  SWITCH: transformContent,
  // 下拉选择
  SELECT: transformContent,
  // 参数类型
  CODE: transformContent,
  // 基础设施参数类型
  FACILITY_CODE: transformContent,
  // 行政区划
  DIVISION: function DIVISION(item, detail) {
    return {
      value: detail.divisionName || '-'
    };
  },
  // 人员
  STAFF: transformContent,
  // 用户
  USER: transformContent,
  // 部门
  DEPARTMENT: transformContent,
  // 接口形式
  REMOTE: transformContent,
  // 标段组件
  TENDER: transformContent,
  // 其他基础设施类型
  FACILITY_OTHER: '',
  // 时间段 HH:mm:ss-HH:mm:ss
  TIME_PERIOD: transformDateRange,
  // 月度时间段 年月~年月  2023-01~2023-03
  MONTH_PERIOD: transformDateRange,
  // 地图
  MAP: ''
  // // 图片
  // IMAGE: transformImage,
  // // 附件
  // ATTACHS: transformAttachs,
};
var transform = exports.transform = function transform(fieldJson, facilityDetail) {
  var list = [];
  fieldJson.map(function (item) {
    var component = item.component;
    if (component !== null && component !== void 0 && component.type && config[component === null || component === void 0 ? void 0 : component.type]) {
      var type = component.type;
      var val = config[type](item, facilityDetail);
      if (val) {
        list.push(_objectSpread({
          label: item.showName || item.name,
          key: item.key
        }, val));
      }
    }
  });
  return list;
};
//# sourceMappingURL=transform.js.map
