"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.termsParamsFormat = exports.hasExpand = exports.handleQData = exports.handleParamsToString = exports.handleLikeValue = exports.filterTreeSelectNode = exports.filterSelectNode = exports.compatibleOldTerms = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _lodashEs = require("lodash"); /** * 处理like,nlike特殊值 * @param v */ var handleLikeValue = function handleLikeValue(v) { if ((0, _lodashEs.isString)(v)) { return v.split('').reduce(function (pre, next) { var _next = next; if (next === '\\') { _next = '\\\\'; } else if (next === '%') { _next = '\\%'; } return pre + _next; }, ''); } return v; }; exports.handleLikeValue = handleLikeValue; var handleItemValue = function handleItemValue(item, columnOptionMap) { var _item = columnOptionMap.get(item.column); if (!_item) return item; if (_item.rename) { item.column = _item.rename; } if (_item.handleValue && (0, _lodashEs.isFunction)(_item.handleValue)) { item.value = _item.handleValue(item.value); } if (['like', 'nlike'].includes(item.termType) && !!item.value) { item.value = "%".concat(handleLikeValue(item.value), "%"); } return item; }; /** * 处理为外部使用 * @terms {Array} 表单数据 * @columnOptionMap {Map} column的Map对象 */ var termsParamsFormat = function termsParamsFormat(terms, columnOptionMap) { var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'adv'; var searchType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'terms'; // 过滤掉terms中value无效的item var cloneParams = (0, _lodashEs.cloneDeep)(terms); if (searchType == 'terms') { if (type === 'adv') { return { terms: cloneParams.terms.map(function (item) { if (item.terms) { item.terms = item.terms.filter(function (iItem) { return iItem && iItem.value !== undefined && iItem.value !== '' && iItem.column !== undefined; }).map(function (iItem) { return handleItemValue(iItem, columnOptionMap); }); } return item; }).filter(function (item) { return item.terms.length; }) }; } else { console.log('cloneParams', cloneParams); return cloneParams.filter(function (iItem) { return iItem && iItem.value !== undefined && iItem.value !== '' && iItem.column !== undefined; }).map(function (iItem) { return handleItemValue(iItem, columnOptionMap); }); } } else if (searchType == 'object') { var result = {}; cloneParams.filter(function (item) { return item && item.value !== undefined && item.value !== ''; }).forEach(function (item) { (0, _extends3.default)(result, (0, _defineProperty2.default)({}, item.column, item.value)); }); return result; } }; /** * TreeSelect过滤 * @param value 过滤值 * @param treeNode * @param key */ exports.termsParamsFormat = termsParamsFormat; var filterTreeSelectNode = function filterTreeSelectNode(value, treeNode) { var _treeNode$key; var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name'; return (_treeNode$key = treeNode[key]) === null || _treeNode$key === void 0 ? void 0 : _treeNode$key.includes(value); }; /** * Select过滤 * @param value 过滤值 * @param option * @param key */ exports.filterTreeSelectNode = filterTreeSelectNode; var filterSelectNode = function filterSelectNode(value, option) { var _option$key; var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'label'; return (_option$key = option[key]) === null || _option$key === void 0 ? void 0 : _option$key.includes(value); }; exports.filterSelectNode = filterSelectNode; var handleQData = function handleQData(terms) { // 排序, null 往后放 terms.terms.forEach(function (a) { for (var i = 0; i < a.terms.length; i++) { for (var j = 0; j < a.terms.length - i - 1; j++) { if (!a.terms[j] && a.terms[j + 1]) { var temp = a.terms[j]; a.terms[j] = a.terms[j + 1]; a.terms[j + 1] = temp; } } } }); return terms; }; exports.handleQData = handleQData; var hasExpand = function hasExpand(terms) { var itemCount = 0; terms.forEach(function (a) { a.terms.forEach(function (b) { if (b) { itemCount += 1; } }); }); return itemCount >= 2; }; exports.hasExpand = hasExpand; var compatibleOldTerms = function compatibleOldTerms() { var q = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '{"terms":[{"terms":[{"column":"name","termType":"like","value":"111","type":"and"}]}]}'; var _terms = [{ terms: [null, null, null] }, { terms: [null, null, null], type: 'and' }]; try { var _terms$terms; var terms = JSON.parse(q || '{}'); (_terms$terms = terms.terms) === null || _terms$terms === void 0 ? void 0 : _terms$terms.forEach(function (a, aIndex) { var _a$terms; a === null || a === void 0 ? void 0 : (_a$terms = a.terms) === null || _a$terms === void 0 ? void 0 : _a$terms.forEach(function (b, bIndex) { _terms[aIndex].terms[bIndex] = b; }); if (a.type) { _terms[aIndex].type = a.type; } }); return { terms: _terms }; } catch (e) { return { terms: _terms }; } }; exports.compatibleOldTerms = compatibleOldTerms; var handleParamsToString = function handleParamsToString() { var terms = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'and'; var _terms = [{ terms: [null, null, null] }, { terms: [null, null, null], type: type }]; var termsIndex = 0; var termsStar = 0; terms.forEach(function (item, index) { if (index > 2) { termsIndex = 1; termsStar = 4; } _terms[termsIndex].terms[index - termsStar] = item; }); return JSON.stringify({ terms: _terms }); }; exports.handleParamsToString = handleParamsToString;