syber-lowcode-business-materials
Version:
syber-lowcode-business-materials
82 lines (78 loc) • 2.68 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.changeRemNum = changeRemNum;
exports["default"] = void 0;
exports.getText = getText;
exports.getTextStyleObj = getTextStyleObj;
exports.tranNumber = tranNumber;
var _react = _interopRequireDefault(require("react"));
//获取文字渲染
function getText(textSet, innerText) {
return /*#__PURE__*/_react["default"].createElement("div", {
style: getTextStyleObj(textSet)
}, innerText);
}
//根据字体样式配置对象生成 html内嵌样式
function getTextStyleObj(textSet) {
if (!textSet) {
return {};
}
var styleObj = {
display: 'inline-block',
color: textSet.color,
fontSize: changeRemNum(textSet, 'fontSize', 'sizeUnit'),
fontWeight: textSet.fontBold ? 'bold' : 'normal',
fontStyle: textSet.fontItalic ? 'italic' : 'normal'
};
if (textSet.fontFamily && textSet.fontFamily !== 'default') {
styleObj.fontFamily = textSet.fontFamily;
}
return styleObj;
}
//对携带rem单位的数据做转换
function changeRemNum(setObj, numField, unitField, remRate) {
if (numField === void 0) {
numField = 'num';
}
if (unitField === void 0) {
unitField = 'unit';
}
if (remRate === void 0) {
remRate = 15;
}
if (!setObj) {
return '0px';
}
return setObj[unitField] === 'rem' ? setObj[numField] / remRate + 'rem' : setObj[numField] + setObj[unitField];
}
// num接收的数字,point保留数字的第几位
function tranNumber(num, point) {
if (point === void 0) {
point = 0;
}
// 将数字转换为字符串,然后通过split方法用.分隔,取到第0个
var numStr = num.toString().split('.')[0];
if (numStr.length < 6) {
// 判断数字有多长,如果小于6,,表示10万以内的数字,让其直接显示
// console.log(numStr);
return numStr;
} else if (numStr.length >= 6 && numStr.length <= 8) {
// 如果数字大于6位,小于8位,让其数字后面加单位万
var decimal = numStr.substring(numStr.length - 4, numStr.length - 4 + point);
// console.log(decimal);
// 由千位,百位组成的一个数字
return parseFloat(parseInt(num / 10000) + '.' + decimal) + '万';
} else if (numStr.length > 8) {
// 如果数字大于8位,让其数字后面加单位亿
var _decimal = numStr.substring(numStr.length - 8, numStr.length - 8 + point);
// console.log(decimal);
return parseFloat(parseInt(num / 100000000) + '.' + _decimal) + '亿';
}
}
var _default = exports["default"] = {
getText: getText,
getTextStyleObj: getTextStyleObj,
changeRemNum: changeRemNum,
tranNumber: tranNumber
};