ming-demo3
Version:
mdf metaui web
308 lines (259 loc) • 9.82 kB
JavaScript
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 _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 _forEach2 = _interopRequireDefault(require("lodash/forEach"));
var _find2 = _interopRequireDefault(require("lodash/find"));
var _get2 = _interopRequireDefault(require("lodash/get"));
var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
var _react = _interopRequireWildcard(require("react"));
var _basic = require("../basic");
var _util = require("@mdf/cube/lib/helpers/util");
var _redux = require("redux");
var _reactRedux = require("react-redux");
var eChartCommon = _interopRequireWildcard(require("../echart/eChartCommon"));
var _TotalContainerOld = _interopRequireDefault(require("./TotalContainerOld"));
var TotalContainer = function (_Component) {
(0, _inherits2["default"])(TotalContainer, _Component);
function TotalContainer(props) {
var _this;
(0, _classCallCheck2["default"])(this, TotalContainer);
_this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(TotalContainer).call(this, props));
var bPublished = _this.props.viewid ? true : false;
_this.state = {
billnum: props.billnum ? props.billnum : _this.props.viewModel.getParams().billNo,
totalFields: {},
condition: {},
controls: [],
bDisplaySumField: true,
bPublished: bPublished,
firstQueryDone: false
};
return _this;
}
(0, _createClass2["default"])(TotalContainer, [{
key: "componentDidMount",
value: function componentDidMount() {
var self = this;
self.props.viewModel.on('firstQueryDone', function (params) {
self.state.firstQueryDone = params;
});
self.props.viewModel.on("filterClick", function (params) {
self.state.condition = params.condition;
self.getSum();
});
self.props.viewModel.on("saveSumArea", function (params) {
self.state.bDisplaySumField = true;
self.getTotalFields(self.state.billnum, true);
});
if (self.state.billnum) {
self.getTotalFields(self.state.billnum);
}
}
}, {
key: "getTotalFields",
value: function getTotalFields(billnum, bReGet) {
var self = this;
if ((bReGet || (0, _isEmpty2["default"])(self.state.totalFields)) && !!billnum && self.state.bDisplaySumField) {
var totalFields = {};
var param = {
billnum: billnum,
isOnlySelected: true
};
var callback = function callback(json) {
if (json.code === 200) {
if (json.data) {
var items = json.data.items;
items.forEach(function (ele) {
var caption = ele.showCaption ? ele.showCaption : ele.caption;
if (ele.selected) {
var totalField = {
caption: caption,
value: 0
};
totalFields[ele.fieldname] = totalField;
}
});
if ((0, _isEmpty2["default"])(totalFields)) {
self.setState({
bDisplaySumField: false
});
return;
}
self.state.totalFields = totalFields;
self.getSum();
}
;
} else {
eChartCommon.LogChartInfo("TotalContainer getTotalFields Err errMsg ", json.message + " 查询参数 = " + JSON.stringify(param), 999);
}
};
this.actionsProxy('report/getTotalSetting', 'GET', param, callback);
}
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps) {
if (nextProps.billnum !== "" && this.state.billnum != nextProps.billnum) {
this.state.billnum = nextProps.billnum;
this.getTotalFields(nextProps.billnum);
}
}
}, {
key: "getSum",
value: function getSum() {
var self = this;
if ((0, _isEmpty2["default"])(self.state.billnum)) return;
if ((0, _isEmpty2["default"])(self.state.condition)) return;
if ((0, _isEmpty2["default"])(self.state.totalFields)) return;
if (!self.state.firstQueryDone) {
self.setSum({});
return;
}
var queryParams = {
billnum: self.state.billnum,
isOnlyTotal: true,
condition: self.state.condition
};
var callback = function callback(json) {
if (json.code === 200) {
var data = json.data.sumRecordList;
if (data == null || data.length == 1 && data[0] == null) data = [{}];
var fields = (0, _get2["default"])(json.data, "viewmodel.entities[0].fields");
self.setSum(data, fields);
} else {
self.setSum({});
}
};
this.actionsProxy('/report/list', 'POST', queryParams, callback);
}
}, {
key: "formatData",
value: function formatData(fieldName, fieldValue, fields) {
var formatter = undefined;
if (isNaN(fieldValue)) return fieldValue;
var fieldEle = (0, _find2["default"])(fields, function (o) {
return o.cItemName == fieldName;
});
if (!fieldEle) {
return fieldValue;
}
var cFormatData = fieldEle.cFormatData;
try {
if (!cFormatData || cFormatData == '') {
cFormatData = {};
} else {
cFormatData = JSON.parse(cFormatData);
}
} catch (e) {
return fieldValue;
}
var iNumPoint = fieldEle.iNumPoint;
var decimal = cFormatData.decimal ? (0, _util.getPredicateValue)(cFormatData.decimal) : null;
var controlType = fieldEle.cControlType;
if (controlType === 'money') {
formatter = function formatter(value) {
var _value = value + '';
var _valueArr = _value.split('.');
if (_valueArr.length == 1) {
return "".concat(_value.replace(/\B(?=(\d{3})+(?!\d))/g, ','));
} else {
_valueArr[0] = _valueArr[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return "".concat(_valueArr.join('.'));
}
};
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) {
fieldValue = parseFloat(fieldValue);
fieldValue = (0, _util.getRoundValue)(fieldValue, iNumPoint);
}
if (formatter) {
fieldValue = formatter(fieldValue);
}
if (cFormatData.after) fieldValue = fieldValue + cFormatData.after;
return fieldValue;
}
}, {
key: "setSum",
value: function setSum(sumData, fields) {
var self = this;
if ((0, _isEmpty2["default"])(sumData)) sumData = [{}];
if (!sumData.length) sumData = [{}];
var controls = [];
(0, _forEach2["default"])(self.state.totalFields, function (item, key) {
var value = sumData[0][key] || 0;
value = self.formatData(key, value, fields);
controls.push({
caption: item.caption,
value: value
});
});
self.setState({
controls: controls
});
}
}, {
key: "render",
value: function render() {
var controls = this.state.controls;
var self = this;
if (!controls.length || self.state.bDisplaySumField == false) {
return _react["default"].createElement(_TotalContainerOld["default"], {
meta: self.props.meta,
viewModel: self.props.viewModel
});
}
var itemClassName = "rpt-zhekou-".concat(controls.length === 1 ? 'padding' : 'center');
var children = [];
var width = 100 / controls.length;
controls.forEach(function (item) {
children.push(_react["default"].createElement("div", {
className: "rpt-zhekou-list",
style: {
"float": 'left',
width: width + '%'
}
}, _react["default"].createElement("div", {
className: "zhekou-name"
}, _react["default"].createElement("h3", {
className: itemClassName
}, item.caption)), _react["default"].createElement("div", {
className: "zhekou-number"
}, _react["default"].createElement("h4", {
className: itemClassName
}, item.value))));
});
return _react["default"].createElement(_basic.Row, {
className: "rpt-zhekou"
}, children);
}
}, {
key: "actionsProxy",
value: function actionsProxy(url, method, params, callback) {
var config = {
url: url,
method: method,
params: params
};
(0, _util.proxy)(config).then(function (json) {
callback(json);
});
}
}]);
return TotalContainer;
}(_react.Component);
exports["default"] = TotalContainer;
//# sourceMappingURL=TotalContainer.js.map
;