UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

152 lines (141 loc) 6.4 kB
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; import _typeof from "@babel/runtime/helpers/esm/typeof"; import dayjs from 'dayjs'; // 检查是否存在内容 export function getIsHas(val) { // 检查是否数字类型, 是否布尔类型 var flag = !!val || typeof val === 'number' || typeof val === 'boolean'; // 检查空对象和空数组 if (!!val && _typeof(val) === 'object') { var _Object$keys; flag = Array.isArray(val) ? !!val.length : !!((_Object$keys = Object.keys(val)) !== null && _Object$keys !== void 0 && _Object$keys.length); } return flag; } /* * 数据(布尔值、数值)转字符串后对比是否相等 str, strs, type * @params {Array | String} strs * @params {String} type 比对类型 * @type includes 是否包含在数组内 */ export function toStringIsEqual(str, strs, type) { if (type === 'includes') { return strs === null || strs === void 0 ? void 0 : strs.some(function (v) { return toStringIsEqual(str, v); }); } return String(str) === String(strs); } // 根据类型返回对应的值 export function getValueForType(type) { if (['checkbox', 'cascader'].includes(type)) { return []; } return ''; } // 数组对象去重 export function uniqueFunc(arr, guid) { var res = new Map(); return arr.filter(function (item) { var isHas = (item === null || item === void 0 ? void 0 : item[guid]) || typeof (item === null || item === void 0 ? void 0 : item[guid]) === 'number'; var resetItem = isHas ? item === null || item === void 0 ? void 0 : item[guid] : item; return !res.has(resetItem) && res.set(resetItem, 1); }); } // 获取最近的时间段 export function getRanges() { return { 近一周: [dayjs().subtract(7, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')], 近一月: [dayjs().subtract(1, 'month').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')], 近一年: [dayjs().subtract(1, 'year').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')] }; } // 级联选择器获取深层结构数据 type: 遍历子/父结构 export function getFlatItem(getItem, checkedValue) { var _getItem$props, _getItem$props2; var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'children'; var filterValues = getItem !== null && getItem !== void 0 && (_getItem$props = getItem.props) !== null && _getItem$props !== void 0 && _getItem$props.multiple ? checkedValue : [checkedValue]; var originArr = (getItem === null || getItem === void 0 ? void 0 : getItem.data) || []; // 用于自定义读取的字段 var fieldNames = _objectSpread({ label: 'label', value: 'value', children: 'children' }, (getItem === null || getItem === void 0 ? void 0 : (_getItem$props2 = getItem.props) === null || _getItem$props2 === void 0 ? void 0 : _getItem$props2.fieldNames) || {}); var nArr = []; // 获取子级项 var getChildren = function getChildren(item) { var _item$fieldNames$chil; if (!item) return; if (type === 'parent') { nArr.push(item); return; } if (item !== null && item !== void 0 && (_item$fieldNames$chil = item[fieldNames.children]) !== null && _item$fieldNames$chil !== void 0 && _item$fieldNames$chil.length) { item === null || item === void 0 ? void 0 : item[fieldNames.children].forEach(function (v) { return getChildren(v); }); } else { nArr.push(item); } }; // 检测到三级结构 filterValues.forEach(function (item) { if (item.length === 1) { var findItem = originArr === null || originArr === void 0 ? void 0 : originArr.find(function (v) { return toStringIsEqual(v === null || v === void 0 ? void 0 : v[fieldNames.value], item[item.length - 1]); }); getChildren(findItem); } if (item.length === 2) { var _originArr$find; var findArr1 = originArr === null || originArr === void 0 ? void 0 : (_originArr$find = originArr.find(function (v) { return toStringIsEqual(v === null || v === void 0 ? void 0 : v[fieldNames.value], item[0]); })) === null || _originArr$find === void 0 ? void 0 : _originArr$find[fieldNames.children]; var _findItem = findArr1 === null || findArr1 === void 0 ? void 0 : findArr1.find(function (v) { return toStringIsEqual(v === null || v === void 0 ? void 0 : v[fieldNames.value], item[item.length - 1]); }); getChildren(_findItem); } if (item.length === 3) { var _originArr$find2, _findArr$find; var _findArr = originArr === null || originArr === void 0 ? void 0 : (_originArr$find2 = originArr.find(function (v) { return toStringIsEqual(v === null || v === void 0 ? void 0 : v[fieldNames.value], item[0]); })) === null || _originArr$find2 === void 0 ? void 0 : _originArr$find2[fieldNames.children]; var findArr2 = _findArr === null || _findArr === void 0 ? void 0 : (_findArr$find = _findArr.find(function (v) { return toStringIsEqual(v === null || v === void 0 ? void 0 : v[fieldNames.value], item[1]); })) === null || _findArr$find === void 0 ? void 0 : _findArr$find[fieldNames.children]; var _findItem2 = findArr2 === null || findArr2 === void 0 ? void 0 : findArr2.find(function (v) { return toStringIsEqual(v === null || v === void 0 ? void 0 : v[fieldNames.value], item[item.length - 1]); }); nArr.push(_findItem2); } }); return nArr; } // 返回过滤掉隐藏字段后的查询结构 () => {...} export function getFilterShow(basicFilter, dataSource) { return Object.keys(basicFilter).reduce(function (pre, cur) { var value = basicFilter[cur]; if (dataSource.some(function (v) { return v.field === cur && (v.show || typeof v.show !== 'boolean'); })) { // eslint-disable-next-line no-param-reassign pre[cur] = value; } return pre; }, {}); } // 返回过滤掉隐藏字段后的查询结构 () => [...] export function getFilterShowQuery(basicQuery, dataSource) { return Object.keys(basicQuery).reduce(function (pre, cur) { var value = basicQuery[cur]; if (dataSource.some(function (v) { return v.field === cur && v.show || typeof v.show !== 'boolean'; })) { return [].concat(_toConsumableArray(pre), [value]); } return pre; }, []); }