@antdp/antdp-ui
Version:
基于antd封装的组件
171 lines (170 loc) • 8.08 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _antd = require("antd");
var _QuickForm = _interopRequireDefault(require("../QuickForm"));
var _UploadGrid = _interopRequireDefault(require("../UploadGrid"));
var _moment = _interopRequireDefault(require("moment"));
var _jsxRuntime = require("react/jsx-runtime");
var _excluded = ["formDatas", "isView", "header", "type", "colspan", "style", "layout", "bordered", "otherDescriptions"];
// 处理TreeSelect数据
var _getTreeDataParent = function getTreeDataParent() {
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var current = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
var objList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
(list || []).forEach(function (item) {
if ((current || []).indexOf(item.value) >= 0) {
objList.push(item.label || item.title || '');
}
if (item.children) {
_getTreeDataParent(item.children, current, objList);
}
});
return objList;
};
var FormDetail = function FormDetail(props, ref) {
var _props$formDatas = props.formDatas,
formDatas = _props$formDatas === void 0 ? [] : _props$formDatas,
_props$isView = props.isView,
isView = _props$isView === void 0 ? false : _props$isView,
_props$header = props.header,
header = _props$header === void 0 ? '' : _props$header,
type = props.type,
colspan = props.colspan,
style = props.style,
_props$layout = props.layout,
layout = _props$layout === void 0 ? 'horizontal' : _props$layout,
_props$bordered = props.bordered,
bordered = _props$bordered === void 0 ? false : _props$bordered,
_props$otherDescripti = props.otherDescriptions,
otherDescriptions = _props$otherDescripti === void 0 ? {} : _props$otherDescripti,
others = (0, _objectWithoutProperties2["default"])(props, _excluded);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
style: style,
children: [' ', isView ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Descriptions, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, otherDescriptions), {}, {
title: header,
bordered: bordered,
size: "small",
style: {
marginBottom: 24
},
column: colspan,
layout: layout,
children: formDatas.map(function (item, idx) {
var newOptions = (item === null || item === void 0 ? void 0 : item.options) || [];
var content;
if (item.type === 'UploadGrid' || type === 'uploadGrid') {
content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_UploadGrid["default"], (0, _objectSpread2["default"])({
useDragHandle: true
}, item.attributes));
} else if (item.type === 'radio' || item.type === 'Radio') {
var value = newOptions.filter(function (itm) {
return itm.value === item.initialValue;
});
content = value && value.length > 0 && value[0].label || '';
} else if ((0, _typeof2["default"])(item.initialValue) === 'object' && _moment["default"].isMoment(item.initialValue)) {
content = item.initialValue.format('YYYY-MM-DD');
} else if (item.type === 'rangePicker' || item.type === 'RangePicker') {
if (item.initialValue) {
item.initialValue.forEach(function (date) {
if (date) {
content += date.format('YYYY-MM-DD HH:mm:ss');
}
});
}
} else if (item.type === 'checkbox' || item.type === 'Checkbox') {
var values = item.initialValue || [];
var arr = [];
newOptions.forEach(function (itm) {
if (values.includes(itm.value)) {
arr.push(itm.label);
}
});
content = arr.join(',');
} else if (item.type === 'cascader' || item.type === 'Cascader') {
var _values = item.initialValue;
content = _values ? _values.join('') : '';
} else if (item.type === 'select' || item.type === 'Select') {
if (item.attributes && item.attributes.labelInValue) {
content = item.initialValue && item.initialValue.label;
} else {
if (newOptions.length > 0) {
var selObj = newOptions.find(function (itm) {
return itm.value === item.initialValue;
});
content = selObj ? selObj.label : item.initialValue;
} else {
content = item.initialValue;
}
if (item.attributes && item.attributes.mode === 'multiple') {
content = item.initialValue && item.initialValue.join(' ') || '';
}
}
} else if (item.type === 'treeSelect' || type === 'TreeSelect') {
var attributes = item.attributes,
initialValue = item.initialValue;
var _ref = attributes || {},
treeData = _ref.treeData,
multiple = _ref.multiple,
labelInValue = _ref.labelInValue;
// 对象 多选
if (labelInValue && multiple) {
content = (initialValue || []).map(function (item) {
return item.label;
}).toString();
// 多选
} else if (multiple) {
var _selObj = _getTreeDataParent(treeData, initialValue ? [initialValue] : []);
content = (_selObj || []).toString();
// 单选对象
} else if (labelInValue) {
content = (initialValue || {}).label || '';
// 单选
} else {
var _item$attributes;
var _treeData = (item === null || item === void 0 || (_item$attributes = item.attributes) === null || _item$attributes === void 0 ? void 0 : _item$attributes.treeData) || [];
var _initialValue = item.initialValue;
if (_treeData.length > 0) {
var _selObj2 = _getTreeDataParent(_treeData, _initialValue ? [_initialValue] : []);
content = (_selObj2 || []).toString();
}
}
} else {
content = (0, _typeof2["default"])(item.initialValue) === 'object' ? item.initialValue && item.initialValue.label : item.initialValue;
}
return !item.hideInForm && /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Descriptions.Item, {
label: item.label,
span: item.span,
children: item.attributes && item.attributes.isTooltip ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Tooltip, {
title: content,
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
style: item.attributes && item.attributes.style,
children: [' ', content, item.attributes && item.attributes.addonAfter]
})
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
style: item.attributes && item.attributes.style,
children: [' ', content, item.attributes && item.attributes.addonAfter]
})
}, item.name + idx);
})
})) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_QuickForm["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, others), {}, {
size: "default",
defaultFormLayout: "vertical",
header: header,
formDatas: formDatas,
colspan: colspan,
type: type,
ref: ref
}))]
});
};
var _default = exports["default"] = /*#__PURE__*/(0, _react.forwardRef)(FormDetail);
module.exports = exports.default;