{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\cssc-fvue\\src\\formulas.js","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\formulas.js","mtime":1667804639477},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import _typeof from \"D:/jenkins/workspace/cssc-fvue/node_modules/@babel/runtime/helpers/esm/typeof\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.array.sort\";\nimport \"core-js/modules/es6.number.constructor\";\nimport \"core-js/modules/es6.string.starts-with\";\nimport _toConsumableArray from \"D:/jenkins/workspace/cssc-fvue/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport \"core-js/modules/web.dom.iterable\";\nimport { Form, Notification } from 'element-ui';\nimport utils from \"@/utils.js\";\nvar Formulas = {\n d1900: new Date(Date.UTC(1900, 0, 1)),\n WEEK_STARTS: [undefined, 0, 1, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, 1, 2, 3, 4, 5, 6, 0],\n\n /**\r\n * 冀中能源业务开发的计算公式\r\n */\n //根据传入的年月得到上月的月份\n LastMonth: function LastMonth(y, m) {\n m = parseInt(m);\n y = parseInt(y);\n\n if (m > 0 && m < 13 && y > 0) {\n if (m === 1) {\n return 12;\n }\n\n var v = m - 1;\n\n if (v < 10) {\n v = \"0\" + v;\n }\n\n return v;\n }\n },\n //根据传入的年月得到上个月的年份\n LastYear: function LastYear(y, m) {\n m = parseInt(m);\n y = parseInt(y);\n\n if (m > 0 && m < 13 && y > 0) {\n if (m === 1) {\n return y - 1;\n }\n\n return y;\n }\n },\n\n /**\r\n * 数学公式\r\n */\n ABS: function ABS(number) {\n number = Formulas.parseNumber(number);\n return Math.abs(number);\n },\n AVERAGE: function AVERAGE() {\n var avg = 0;\n\n for (var _len = arguments.length, number = new Array(_len), _key = 0; _key < _len; _key++) {\n number[_key] = arguments[_key];\n }\n\n number.forEach(function (item) {\n avg += Formulas.parseNumber(item);\n });\n if (number.length === 0) return 0;\n return avg / number.length;\n },\n AVERAGESUB: function AVERAGESUB(obj) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.AVERAGE.apply(Formulas, _toConsumableArray(array));\n },\n CEILING: function CEILING(number, significance) {\n number = Formulas.parseNumber(number);\n significance = Formulas.ABS(significance);\n\n if (significance === 0) {\n return 0;\n }\n\n var precision = -Math.floor(Math.log(significance) / Math.log(10));\n\n if (number > 0) {\n return Formulas.ROUND(Math.ceil(number / significance) * significance, precision);\n } else {\n return Formulas.ROUND(Math.floor(number / significance) * significance, precision);\n }\n },\n COUNT: function COUNT() {\n return arguments.length;\n },\n COUNTSUB: function COUNTSUB(obj) {\n var array = obj.data;\n return array.length;\n },\n COUNTIF: function COUNTIF(list, condition) {\n if (!condition.startsWith(\">\") && !condition.startsWith(\"<\")) {\n if (isNaN(condition)) {\n condition = \"==='\" + condition + \"'\";\n } else {\n condition = \"===\" + condition;\n }\n }\n\n var i = 0;\n list.forEach(function (item) {\n if (eval('item' + condition)) {\n i++;\n }\n });\n return i;\n },\n COUNTIFSUB: function COUNTIFSUB(obj, condition) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.COUNTIF(array, condition);\n },\n FIXED: function FIXED(decimal, digits) {\n decimal = Formulas.parseNumber(decimal);\n digits = Formulas.parseNumber(digits);\n return Number(decimal).toFixed(digits);\n },\n FLOOR: function FLOOR(number, significance) {\n number = Formulas.parseNumber(number);\n significance = Formulas.ABS(significance);\n\n if (significance === 0) {\n return 0;\n }\n\n var precision = -Math.floor(Math.log(significance) / Math.log(10));\n\n if (number > 0) {\n return Formulas.ROUND(Math.floor(number / significance) * significance, precision);\n } else {\n return Formulas.ROUND(Math.ceil(number / significance) * significance, precision);\n }\n },\n INT: function INT(number) {\n number = Formulas.parseNumber(number);\n return parseInt(number);\n },\n LARGE: function LARGE(array, index) {\n index = Formulas.parseNumber(index);\n return array.sort(function (a, b) {\n return b - a;\n })[index - 1];\n },\n LARGESUB: function LARGESUB(obj, index) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.LARGE(array, index);\n },\n LOG: function LOG(number, base) {\n number = Formulas.parseNumber(number);\n base = Formulas.parseNumber(base);\n if (base === 0) return 0;\n return Math.log(number) / Math.log(base);\n },\n MAX: function MAX() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n args = Formulas.parseNumberArray(args);\n\n if (args.length === 0) {\n return 0;\n }\n\n return Math.max.apply(Math, _toConsumableArray(args));\n },\n MAXSUB: function MAXSUB(obj) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.MAX.apply(Formulas, _toConsumableArray(array));\n },\n MIN: function MIN() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n args = Formulas.parseNumberArray(args);\n\n if (args.length === 0) {\n return 0;\n }\n\n return Math.min.apply(Math, _toConsumableArray(args));\n },\n MINSUB: function MINSUB(obj) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.MIN.apply(Formulas, _toConsumableArray(array));\n },\n MOD: function MOD(dividend, divisor) {\n dividend = Formulas.parseNumber(dividend);\n divisor = Formulas.parseNumber(divisor);\n var modules = Math.abs(dividend % divisor);\n return divisor > 0 ? modules : -modules;\n },\n POWER: function POWER(number, power) {\n number = Formulas.parseNumber(number);\n power = Formulas.parseNumber(power);\n return Math.pow(number, power);\n },\n PRODUCT: function PRODUCT() {\n var total = 1;\n\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n args.forEach(function (item) {\n item = Formulas.parseNumber(item);\n total *= item;\n });\n return args.length === 0 ? 0 : total;\n },\n PRODUCTSUB: function PRODUCTSUB(obj) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.PRODUCT.apply(Formulas, _toConsumableArray(array));\n },\n RAND: function RAND() {\n return Math.random();\n },\n ROUND: function ROUND(number, digit) {\n return Math.round(number * Math.pow(10, digit)) / Math.pow(10, digit);\n },\n SMALL: function SMALL(array, index) {\n array = Formulas.parseNumberArray(array);\n return array.sort(function (a, b) {\n return a - b;\n })[index - 1];\n },\n SMALLSUB: function SMALLSUB(obj, index) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.SMALL(array, index);\n },\n SQRT: function SQRT(number) {\n number = Formulas.parseNumber(number);\n return Math.sqrt(number);\n },\n SUM: function SUM() {\n var num = 0;\n\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n args.forEach(function (item) {\n item = Formulas.parseNumber(item);\n num += item;\n });\n return num;\n },\n SUMSUB: function SUMSUB(obj) {\n var array = Formulas.getArrayByPath(obj);\n return Formulas.SUM.apply(Formulas, _toConsumableArray(array));\n },\n SUMPRODUCT: function SUMPRODUCT() {\n for (var _len6 = arguments.length, arrays = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n arrays[_key6] = arguments[_key6];\n }\n\n if (!arrays) return 0;\n var min = Number.MAX_VALUE;\n var total = 0;\n arrays.forEach(function (array) {\n if (array.length < min) {\n min = array.length;\n }\n });\n\n for (var i = 0; i < min; i++) {\n var p = 1;\n\n for (var j = 0; j < arrays.length; j++) {\n p *= Formulas.parseNumber(arrays[j][i]);\n }\n\n total += p;\n }\n\n return total;\n },\n SUMPRODUCTSUB: function SUMPRODUCTSUB() {\n for (var _len7 = arguments.length, arrays = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n arrays[_key7] = arguments[_key7];\n }\n\n if (!arrays) return 0;\n var newArrays = [];\n arrays.forEach(function (obj) {\n newArrays.push(Formulas.getArrayByPath(obj));\n });\n return Formulas.SUMPRODUCT.apply(Formulas, newArrays);\n },\n\n /**\r\n * 文本函数\r\n * @param args\r\n * @returns {string}\r\n * @constructor\r\n */\n CONCATENATE: function CONCATENATE() {\n var str = \"\";\n\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n\n args.forEach(function (item) {\n if (item) {\n str += item;\n }\n });\n return str;\n },\n CHAR: function CHAR(number) {\n number = Formulas.parseNumber(number);\n return String.fromCharCode(number);\n },\n EXACT: function EXACT(str1, str2) {\n return str1 === str2;\n },\n ISEMPTY: function ISEMPTY(str) {\n return str ? true : false;\n },\n LEFT: function LEFT(str, number) {\n number = Formulas.parseNumber(number);\n return str.substr(str, number);\n },\n LEN: function LEN(str) {\n return str.length;\n },\n LOWER: function LOWER(str) {\n return str.toLowerCase();\n },\n MID: function MID(str, start, length) {\n return str.substr(start - 1, length);\n },\n REPLACE: function REPLACE(str, start, length, newStr) {\n var replaceStr = Formulas.MID(str, start, length);\n if (!replaceStr) return str + newStr;\n return str.replace(replaceStr, newStr);\n },\n REPT: function REPT(str, count) {\n var result = \"\";\n\n for (var i = 0; i < Formulas.parseNumber(count); i++) {\n result += str;\n }\n\n return result;\n },\n RIGHT: function RIGHT(str, length) {\n return str.substr(str.length - length, str.length);\n },\n UPPER: function UPPER(str) {\n return str.toUpperCase();\n },\n TEXT: function TEXT(number) {\n return number + \"\";\n },\n VALUE: function VALUE(str) {\n return Formulas.parseNumber(str);\n },\n TRIM: function TRIM(str) {\n return str.trim();\n },\n COUNTNO: function COUNTNO(field, char) {\n if (field == \"\") {\n return 0;\n } else if (field.indexOf(char) > -1) {\n return field.split(char).length;\n } else {\n return 1;\n }\n },\n //逻辑函数\n AND: function AND() {\n var result = true;\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n args.forEach(function (arg) {\n if (!arg) {\n result = false;\n }\n });\n return result;\n },\n FALSE: function FALSE() {\n return false;\n },\n IF: function IF(arg, then_value, otherwise_value) {\n return arg ? then_value : otherwise_value;\n },\n NOT: function NOT(arg) {\n return !arg;\n },\n OR: function OR() {\n var result = false;\n\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n\n args.forEach(function (arg) {\n if (arg) {\n result = true;\n }\n });\n return result;\n },\n TRUE: function TRUE() {\n return true;\n },\n XOR: function XOR() {\n var count = 0;\n\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\n }\n\n args.forEach(function (arg) {\n if (!arg) {\n count++;\n }\n });\n return count !== args.length && count !== 0;\n },\n //时间函数\n DATE: function DATE(timestamp) {\n var date = Formulas.parseDate(timestamp);\n\n if (date == 'Invalid Date') {\n Notification.error({\n title: '错误',\n message: '无效日期'\n });\n return;\n }\n\n return date;\n },\n DATEDELTA: function DATEDELTA(string, days) {\n var timestamp = new Date(string).getTime();\n timestamp += days * 86400000;\n return Formulas.DATE(timestamp);\n },\n HALFDAY: function HALFDAY(startDate, endDate) {\n var half = 0.5;\n var startDay = Formulas.second(Formulas.parseStringToDate(startDate));\n var endDay = Formulas.second(Formulas.parseStringToDate(endDate));\n\n if (isNaN(startDay) || isNaN(endDay)) {\n return \"\";\n }\n\n var halfDay = Math.ceil((endDay - startDay) / 43200);\n return halfDay * half;\n },\n COUNTHOURS: function COUNTHOURS(startDate, endDate) {\n var startDay = Formulas.second(Formulas.parseStringToDate(startDate));\n var endDay = Formulas.second(Formulas.parseStringToDate(endDate));\n\n if (isNaN(startDay) || isNaN(endDay)) {\n return \"\";\n }\n\n var hours = Math.ceil((endDay - startDay) / 3600);\n return hours;\n },\n DAY: function DAY(timestamp) {\n var date = Formulas.DATE(timestamp);\n return date.getDate();\n },\n DAYS: function DAYS(startDate, endDate) {\n var startDay = Formulas.serial(Formulas.parseStringToDate(startDate));\n var endDay = Formulas.serial(Formulas.parseStringToDate(endDate));\n\n if (isNaN(startDay) || isNaN(endDay)) {\n return \"\";\n }\n\n return endDay - startDay;\n },\n DAYS360: function DAYS360(startDate, endDate, method) {\n if (!startDate || !endDate) {\n return 0;\n }\n\n startDate = Formulas.parseStringToDate(startDate);\n endDate = Formulas.parseStringToDate(endDate);\n var sm = startDate.getMonth();\n var em = endDate.getMonth();\n var sd, ed;\n\n if (method) {\n sd = startDate.getDate() === 31 ? 30 : startDate.getDate();\n ed = endDate.getDate() === 31 ? 30 : endDate.getDate();\n } else {\n var smd = new Date(startDate.getFullYear(), sm + 1, 0).getDate();\n var emd = new Date(endDate.getFullYear(), em + 1, 0).getDate();\n sd = startDate.getDate() === smd ? 30 : startDate.getDate();\n\n if (endDate.getDate() === emd) {\n if (sd < 30) {\n em++;\n ed = 1;\n } else {\n ed = 30;\n }\n } else {\n ed = endDate.getDate();\n }\n }\n\n return 360 * (endDate.getFullYear() - startDate.getFullYear()) + 30 * (em - sm) + (ed - sd);\n },\n HOUR: function HOUR(timestamp) {\n var date = Formulas.DATE(timestamp);\n return date.getHours();\n },\n ISOWEEKNUM: function ISOWEEKNUM(date) {\n date = Formulas.parseStringToDate(date);\n date.setHours(0, 0, 0);\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\n var yearStart = new Date(date.getFullYear(), 0, 1);\n return Math.ceil(((date - yearStart) / 86400000 + 1) / 7);\n },\n MINUTE: function MINUTE(timestamp) {\n var date = Formulas.DATE(timestamp);\n return date.getMinutes();\n },\n MONTH: function MONTH(timestamp) {\n var date = Formulas.DATE(timestamp);\n return date.getMonth() + 1;\n },\n NOW: function NOW() {\n return Formulas.parseDate(new Date().getTime());\n },\n SECOND: function SECOND(timestamp) {\n var date = Formulas.DATE(timestamp);\n return date.getSeconds();\n },\n SYSTIME: function SYSTIME() {//todo\n },\n TIME: function TIME(hour, minute, second) {\n hour = Formulas.parseNumber(hour);\n minute = Formulas.parseNumber(minute);\n second = Formulas.parseNumber(second);\n hour = hour < 0 ? 0 : hour;\n minute = minute < 0 ? 0 : minute;\n second = second < 0 ? 0 : second;\n return (3600 * hour + 60 * minute + second) / 86400;\n },\n TIMESTAMP: function TIMESTAMP(date) {\n if (date) {\n date = Formulas.parseStringToDate(date);\n return date.getTime();\n }\n },\n TODAY: function TODAY() {\n return new Date().toLocaleDateString();\n },\n WEEKNUM: function WEEKNUM(date, returnType) {\n date = Formulas.parseStringToDate(date);\n\n if (returnType === undefined) {\n returnType = 1;\n }\n\n if (returnType === 21) return Formulas.ISOWEEKNUM(date);\n var week_start = Formulas.WEEK_STARTS[returnType];\n var jan = new Date(date.getFullYear(), 0, 1);\n var inc = jan.getDay() < week_start ? 1 : 0;\n jan -= Math.abs(jan.getDay() - week_start) * 24 * 60 * 60 * 1000;\n return Math.floor((date - jan) / (1000 * 60 * 60 * 24) / 7 + 1) + inc;\n },\n YEAR: function YEAR(timestamp) {\n var date = new Date(timestamp);\n return date.getFullYear();\n },\n UUID: function UUID() {\n function u4() {\n return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);\n }\n\n return u4() + u4() + \"-\" + u4() + \"-\" + u4() + \"-\" + u4() + \"-\" + u4() + u4() + u4();\n },\n //高级函数:\n CURRENCY: function CURRENCY(x) {\n var tmp = Formulas.parseNumber(x); //TODO 转换为人民币大写\n\n return utils.convertCurrency(tmp);\n },\n THOUSAND: function THOUSAND(x) {\n if (x || x === 0) {\n x = x + \"\";\n } //let tmp = Formulas.parseNumber(x);\n\n\n var reg = /(\\d)(?=(?:\\d{3})+\\b)/g;\n return x.replace(reg, '$1,');\n },\n\n /**\r\n * 异常统一处理\r\n * @param {*} err\r\n * @param {*} typeName\r\n */\n throwErr: function throwErr(err, typeName) {\n Notification.error({\n title: typeName + '公式运算错误',\n message: err\n });\n\n if (isNaN(startDay) || isNaN(endDay)) {\n return \"\";\n }\n\n throw err;\n },\n\n /**\r\n * 类型判断\r\n * @param {*} value\r\n * @param {*} type\r\n */\n typeofType: function typeofType(value, type) {\n if (value !== \"\" && _typeof(value) != type) {\n throw \"传入参数必须是\" + type + \"类型\";\n }\n },\n parseNumber: function parseNumber(number) {\n number = parseFloat(number);\n if (isNaN(number)) return 0;\n return number;\n },\n parseNumberArray: function parseNumberArray(array) {\n return array.map(function (item) {\n return Formulas.parseNumber(item);\n });\n },\n parseDate: function parseDate(timestamp) {\n timestamp = Formulas.parseNumber(timestamp);\n return new Date(timestamp);\n },\n parseStringToDate: function parseStringToDate(str) {\n if (!str) {\n return new Date(\"\");\n }\n\n return new Date(Date.parse(str.replace(/-/g, \"/\")));\n },\n getArrayByPath: function getArrayByPath(obj) {\n var array = [];\n if (!obj.data) return array;\n obj.data.forEach(function (item) {\n array.push(Formulas.parseNumber(item[obj.path]));\n });\n return array;\n },\n serial: function serial(date) {\n var addOn = date > -2203891200000 ? 2 : 1;\n return Math.ceil((date - Formulas.d1900) / 86400000) + addOn;\n },\n second: function second(date) {\n var addOn = date > -2203891200000 ? 2 : 1;\n return Math.ceil((date - Formulas.d1900) / 1000) + addOn;\n }\n};\n\nFormulas.install = function (Vue) {\n Vue.prototype.$Formulas = Formulas;\n};\n\nexport default Formulas;",null]}