UNPKG

@fecp/mobile

Version:

185 lines (184 loc) 5.66 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const moment = require("../../../../node_modules/.pnpm/moment@2.30.1/node_modules/moment/dist/moment.js"); const dateUtil = require("./dateUtil.js"); const index = require("../../../../_virtual/index.js"); const selectFormatter = (value, options = []) => { const item = options.find((item2) => item2.value === value); return item ? item.label : value; }; const multipleFormatter = (value, options = []) => { const values = value == null ? void 0 : value.split("|"); const labels = []; values == null ? void 0 : values.forEach((val) => { const option = options.find((opt) => opt.value == val); if (option) { labels.push(option.label); } }); return labels.join(", "); }; const cascadeFormatter = (value, options = []) => { const values = value == null ? void 0 : value.split("/"); const labels = []; let currentOptions = options; for (let i = 0; i < (values == null ? void 0 : values.length); i++) { const currentValue = values[i]; const option = currentOptions.find((opt) => opt.value === currentValue); if (option) { labels.push(option.label); if (option.children && i < values.length - 1) { currentOptions = option.children; } } else { break; } } return labels.join("/"); }; const dateFormatter = (value, dateType, formatterType) => { let dateValue; if (!isNaN(value) && (value + "").length == 13) { dateValue = moment.default(Number(value)); } else { dateValue = moment.default(value, "YYYYMMDD"); } const textFormat = dateUtil.parseDateFormatter(formatterType, dateType); return dateValue.format(textFormat); }; const textFormatter = (value, dataFormatter) => { switch (dataFormatter) { case "money(yuan)": case "money(wan)": case "money(yi)": return moneyFormatter(value, dataFormatter); case "bankCard": value = index.default.toValueString(value); value = value.replace(/\s+/g, ""); return index.default.commafy(value, { spaceNumber: 4, separator: " " }); case "percent": value = index.default.multiply(index.default.toNumber(value), 100); return value; case "thousand": value = index.default.multiply(index.default.toNumber(value), 1e3); return value; case "tenThousand": value = index.default.multiply(index.default.toNumber(value), 1e4); return value; default: return value; } }; const moneyFormatter = (value, dataFormatter) => { let moneyValue; switch (dataFormatter) { case "money(yuan)": moneyValue = index.default.toNumber(value); break; case "money(wan)": moneyValue = index.default.divide(index.default.toNumber(value), 1e4); break; case "money(yi)": moneyValue = index.default.divide(index.default.toNumber(value), 1e8); break; default: moneyValue = index.default.toNumber(value); break; } return index.default.commafy(moneyValue, { digits: 2 }); }; const textFormatter4Input = (value, dataFormatter) => { if (!value) { return value; } switch (dataFormatter) { case "money(yuan)": case "money(wan)": case "money(yi)": return index.default.toNumberString(index.default.toNumber(value)).replace( /\B(?=(\d{3})+(?!\d))/g, "," ); case "bankCard": return index.default.toValueString(value.replace(/\s+/g, "")).replace( /\B(?=(\d{4})+(?!\d))/g, " " ); default: return value; } }; const reverseTextFormatter = (value, dataFormatter) => { if (!value) { return value; } switch (dataFormatter) { case "money(yuan)": case "money(wan)": case "money(yi)": return reverseMoneyFormatter(value, dataFormatter); case "bankCard": return value.replace(/\s+/g, ""); case "percent": value = index.default.divide(index.default.toNumber(value), 100); return value; case "thousand": value = index.default.divide(index.default.toNumber(value), 1e3); return value; case "tenThousand": value = index.default.divide(index.default.toNumber(value), 1e4); return value; default: return value; } }; const reverseMoneyFormatter = (value, dataFormatter) => { let moneyValue; value = value.replace(/,/gi, ""); switch (dataFormatter) { case "money(yuan)": moneyValue = index.default.toNumber(value); break; case "money(wan)": moneyValue = index.default.multiply(index.default.toNumber(value), 1e4); break; case "money(yi)": moneyValue = index.default.multiply(index.default.toNumber(value), 1e8); break; default: moneyValue = index.default.toNumber(value); break; } return index.default.toNumberString(moneyValue); }; const getUnit = (dataFormatter) => { switch (dataFormatter) { case "money(yuan)": return "元"; case "money(wan)": return "万"; case "money(yi)": return "亿"; case "percent": return "%"; case "thousand": return "‰"; case "tenThousand": return "‱"; default: return ""; } }; exports.cascadeFormatter = cascadeFormatter; exports.dateFormatter = dateFormatter; exports.getUnit = getUnit; exports.moneyFormatter = moneyFormatter; exports.multipleFormatter = multipleFormatter; exports.reverseMoneyFormatter = reverseMoneyFormatter; exports.reverseTextFormatter = reverseTextFormatter; exports.selectFormatter = selectFormatter; exports.textFormatter = textFormatter; exports.textFormatter4Input = textFormatter4Input;