UNPKG

ming-demo3

Version:
384 lines (326 loc) 13.6 kB
"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 _baseui = require("@mdf/baseui"); var _fixedDataTable = require("fixed-data-table-2"); var _checkbox = _interopRequireDefault(require("../basic/checkbox")); var _row = _interopRequireDefault(require("../basic/row")); 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: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) {} }, { key: "setCellBlur", value: function setCellBlur(index, columnKey) { var data = { rowIndex: index, cellName: columnKey }; this.props.setCellBlur(data); } }, { key: "setCell", value: function setCell() { var self = this; 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: {} }; var isColErro = this.props.isColErro; if (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; if (controlType && controlType.trim().toLocaleLowerCase() != 'avatar') cellState.style.padding = '12px 10px'; cellState.style.lineHeight = '14px'; if (isColErro) { cellState.style.border = '1px solid #ff7733'; } var data = this.props.dataList; if (data[index]) { if (col.cControlType == 'Action') { var actionList = this.props.action.controls; var actionState = this.props.actionState; var actionControl = []; if (actionList && actionList.length > 0) { actionList.map(function (action) { var _this2 = this; var icon = action.iStyle === 1 ? null : '#icon-' + action.icon; var text = action.iStyle === 2 ? null : action.cShowCaption; if (actionState[index] && actionState[index][action.cItemName].visible) { if (action.cControlType != 'popbutton') { var temp_action = _react["default"].createElement("span", { key: action.cItemName }, _react["default"].createElement("a", { className: "table-list-btn", onClick: function onClick(e) { return _this2.props.ActionClick(e, action, index); } }, _react["default"].createElement(_baseui.Icon, { type: "delete" }))); actionControl.push(temp_action); } } }, this); return _react["default"].createElement("div", { className: "acticonCell" }, _react["default"].createElement(_row["default"], null, actionControl)); } else { return _react["default"].createElement("div", { className: "acticonCell" }, _react["default"].createElement(_row["default"], null)); } } else { var _Cell = this.RemodelingCell(property, col, cellState); return _Cell; } } } }, { key: "RemodelingCell", value: function RemodelingCell(rowIndex, col, cellState) { var _this3 = this; 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 readOnly = this.props.readOnly; var className = "textCol"; cControlType = cControlType ? cControlType : 'Input'; if (cControlType === 'refer' || cControlType.trim().toLocaleLowerCase() === 'refer') { cellState.style.textAlign = 'left'; } 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); } if (columnKey === 'CheckBox') { if (this.props.GridProps.isRadio || this.props.hasAction) { return _react["default"].createElement(_fixedDataTable.Cell, { className: "retail-table-checkbox", width: rowIndex.width, height: rowIndex.height }, _react["default"].createElement(_baseui.Radio, { checked: this.props.dataList[index]._selected, onChange: function onChange(e) { return _this3.SelectChange(e, index); } })); } else { return _react["default"].createElement(_fixedDataTable.Cell, { className: "retail-table-checkbox", width: rowIndex.width, height: rowIndex.height }, _react["default"].createElement(_checkbox["default"], { value: this.props.dataList[index]._selected, onChange: function onChange(e, i) { return _this3.SelectChange(e, index); } })); } } 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 _this4 = 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 _this4.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 if (text.nameType === 'icontext') _formatText = _react["default"].createElement("span", null, _react["default"].createElement(_baseui.Icon, { type: text.icon }), text.text);else if (text.nameType === 'icon') _formatText = _react["default"].createElement(_baseui.Icon, { type: text.icon });else _formatText = text.text; return bJointQuery ? _react["default"].createElement("a", { onClick: function onClick(e) { return _this4.handleJointQuery(e, index, columnKey); } }, _formatText) : _formatText; return (0, _typeof2["default"])(text) === 'object' ? text.text : text; } 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 _this4.handleJointQuery(e, index, columnKey); } }, text) : text; } }, { key: "SelectChange", value: function SelectChange(checked, index) { if ((0, _typeof2["default"])(checked) == 'object') checked = checked.target.checked; var all = false; if (this.props.GridProps.isRadio || this.props.hasAction) all = true; if (checked) { if (all) { this.props.model.select([index], all); } else { this.props.model.select(index, all); } } else { this.props.model.unselect(index); } } }, { key: "handleJointQuery", value: function handleJointQuery(e, index, columnKey) { var dataArry = this.props.dataList; var rowData = dataArry[index]; 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=CellModel.js.map