yanzhen-design-vue
Version:
50 lines (49 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const vue = require("vue");
const utilsBizObject = require("@yanzhen-libs/utils-biz-object");
const lodashEs = require("lodash-es");
function useProgress(props) {
const showStyleEnums = utilsBizObject.Enum.SHOW_STYLE_ENUMS();
const convertEnums = utilsBizObject.Enum.CONVERT_UNIT_ENUMS();
const convertSuffixEnums = utilsBizObject.Enum.ConvertUnit.suffixEnums();
const progressBarNum = vue.computed(() => {
const { convertUnit, precision, value } = props;
if (!value) return 0;
let val = Number.parseFloat(value);
if (Number.isNaN(val)) return 0;
switch (Number(convertUnit)) {
case convertEnums.THOUSAND:
val = val / 10;
break;
case convertEnums.TEN_THOUSAND:
val = val / 100;
break;
}
const precisionNum = lodashEs.toNumber(precision);
if (!Number.isNaN(precisionNum)) {
val = Number.parseFloat(val.toFixed(precisionNum));
}
return val;
});
const showProgress = vue.computed(() => {
const { showStyle } = props;
if (lodashEs.isString(showStyle)) {
return showStyle === showStyleEnums.PROGRESS;
}
return false;
});
const convertSuffix = vue.computed(() => {
const { convertUnit } = props;
if (convertUnit) {
return convertSuffixEnums[convertUnit];
}
return "";
});
return {
progressBarNum,
showProgress,
convertSuffix
};
}
exports.useProgress = useProgress;