UNPKG

yanzhen-design-vue

Version:

50 lines (49 loc) 1.51 kB
"use strict"; 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;