@fecp/mobile
Version:
185 lines (184 loc) • 5.66 kB
JavaScript
;
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;