ming-demo3
Version:
mdf metaui web
256 lines (214 loc) • 8.93 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _react = _interopRequireDefault(require("react"));
var _fixedDataTable = require("fixed-data-table-2");
var format = _interopRequireWildcard(require("@mdf/cube/lib/helpers/formatDate"));
var _util = require("@mdf/cube/lib/helpers/util");
var CellModel = function (_React$Component) {
(0, _inherits2["default"])(CellModel, _React$Component);
function CellModel(props) {
var _this;
(0, _classCallCheck2["default"])(this, CellModel);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(CellModel).call(this, props));
_this.state = {};
return _this;
}
(0, _createClass2["default"])(CellModel, [{
key: "setCell",
value: function setCell() {
var property = this.props.RowProperty;
var col = this.props.Column;
var controlType = col.cControlType;
var index = property.rowIndex;
var cellState = {
disabled: false,
visible: false,
readOnly: false,
style: {}
};
if (this.props.cellState && this.props.cellState[index] && this.props.cellState[index][property.columnKey]) {
cellState.disabled = this.props.cellState[index][property.columnKey].disabled;
cellState.visible = this.props.cellState[index][property.columnKey].visible;
cellState.readOnly = this.props.cellState[index][property.columnKey].readOnly;
cellState.style = cb.utils.extend(true, {}, this.props.cellState[index][property.columnKey].style);
}
cellState.style.height = property.height;
var data = this.props.dataList;
if (data[index]) {
var _Cell = this.RemodelingCell(property, col, cellState);
return _Cell;
}
}
}, {
key: "RemodelingCell",
value: function RemodelingCell(rowIndex, col, cellState) {
var cControlType = col.cControlType,
formatter = col.formatter,
bCanModify = col.bCanModify,
bJointQuery = col.bJointQuery;
var index = rowIndex.rowIndex;
var columnKey = rowIndex.columnKey;
var data = this.props.dataList;
var className = "textCol";
cControlType = cControlType ? cControlType : 'Input';
cellState.style.width = rowIndex.width;
if (formatter) {
var cellObj = formatter(rowIndex, data[index]);
var cellHtml = '',
cellText = '';
var cellProps = {};
if (cellObj && cellObj.html) {
cellHtml += cellObj.html;
cellText += cellObj.text || cellObj.html;
Object.assign(cellProps, cellObj.props);
}
var cellCom = _react["default"].createElement("span", (0, _extends2["default"])({
title: cellText,
dangerouslySetInnerHTML: {
__html: cellHtml
}
}, cellProps));
return _react["default"].createElement(_fixedDataTable.Cell, {
width: rowIndex.width,
height: rowIndex.height
}, _react["default"].createElement("div", {
style: cellState.style,
className: className
}, cellObj && cellObj.override ? null : _react["default"].createElement("span", {
title: data[index][columnKey]
}, data[index][columnKey]), cellCom));
}
if (columnKey === 'GridRowNo') {
return _react["default"].createElement(_fixedDataTable.Cell, {
width: rowIndex.width,
height: rowIndex.height
}, index + 1);
}
return _react["default"].createElement(_fixedDataTable.Cell, {
width: rowIndex.width,
height: rowIndex.height,
className: "retail-table-cell"
}, _react["default"].createElement("div", {
title: data[index][columnKey],
className: "textCol",
style: cellState.style
}, this.RemodelingFormatControl(cControlType, data[index][columnKey], bJointQuery, index, columnKey)));
}
}, {
key: "RemodelingFormatControl",
value: function RemodelingFormatControl(controlType, text, bJointQuery, index, columnKey) {
var _this2 = this;
switch (controlType && controlType.trim().toLocaleLowerCase()) {
case 'refer':
case 'treerefer':
case 'listrefer':
{
var formatText = text != null && (0, _typeof2["default"])(text) === 'object' ? text.name : text;
return bJointQuery ? _react["default"].createElement("a", {
onClick: function onClick(e) {
return _this2.handleJointQuery(e, index, columnKey);
}
}, formatText) : formatText;
}
case 'select':
{
if (cb.utils.isEmpty(text)) return text;
var _formatText = null;
if ((0, _typeof2["default"])(text) !== 'object') _formatText = text;else _formatText = text.text;
return bJointQuery ? _react["default"].createElement("a", {
onClick: function onClick(e) {
return _this2.handleJointQuery(e, index, columnKey);
}
}, _formatText) : _formatText;
}
case 'inputnumber':
case 'money':
case 'price':
if (cb.utils.isEmpty(text)) return '';
if (isNaN(text)) return text;
var cFormatData = this.props.Column.cFormatData;
try {
if (!cFormatData || cFormatData == '') {
cFormatData = {};
} else {
cFormatData = JSON.parse(cFormatData);
}
} catch (e) {
cb.utils.alert('数量/金额/单价,预制错误!', 'error');
}
text = parseFloat(text);
var iNumPoint = this.props.Column.iNumPoint;
var decimal = cFormatData.decimal ? (0, _util.getPredicateValue)(cFormatData.decimal) : null;
if (controlType === 'money') {
if (decimal) iNumPoint = decimal;else iNumPoint = cb.rest.AppContext.option.amountofdecimal;
} else if (controlType === 'price') {
if (decimal) iNumPoint = decimal;else iNumPoint = cb.rest.AppContext.option.monovalentdecimal;
} else {
if (decimal) iNumPoint = decimal;else if (cb.utils.isEmpty(iNumPoint)) iNumPoint = null;
}
if (!isNaN(iNumPoint) && iNumPoint != null) {
text = parseFloat(text);
text = (0, _util.getRoundValue)(text, iNumPoint);
}
if (cFormatData.after) text = text + cFormatData.after;
return text;
case 'datepicker':
if (text) {
var fmt = 'YYYY-MM-dd';
if (this.props.Column.cFormatData && this.props.Column.cFormatData != '') fmt = this.props.Column.cFormatData;
text = format.dateFormat(new Date(text), fmt);
}
return text;
case 'avatar':
if (!text || text == '') {
return _react["default"].createElement("div", {
className: "no-avatar-man"
});
} else {
var style = {};
style.height = this.props.rowHeight;
style.width = this.props.rowHeight;
return _react["default"].createElement("img", {
src: text + '?imageView2/1/w/80/h/80',
style: style
});
}
}
if (text === '') return '';
return bJointQuery ? _react["default"].createElement("a", {
onClick: function onClick(e) {
return _this2.handleJointQuery(e, index, columnKey);
}
}, text) : text;
}
}, {
key: "handleJointQuery",
value: function handleJointQuery(e, index, columnKey) {
this.props.model.execute('cellJointQuery', {
rowIndex: index,
cellName: columnKey
});
}
}, {
key: "render",
value: function render() {
var Cell = this.setCell();
return Cell;
}
}]);
return CellModel;
}(_react["default"].Component);
exports["default"] = CellModel;
//# sourceMappingURL=MCell.js.map