From 60dee3dc4dc6869231d6adb0c94c47e36114ca91 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 21 四月 2022 09:11:34 +0800 Subject: [PATCH] 2022-04-21 --- src/utils/utils.js | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 6e6596a..91cd72f 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -507,20 +507,23 @@ static joinMainSearchkey (searches) { if (!searches || searches.length === 0) return '' - let searchText = '' + let searchText = [] searches.forEach(item => { if (item.forbid || !item.value) return - searchText += (searchText !== '' ? ' AND ' : '') if (item.type === 'text' || item.type === 'select') { // 缁煎悎鎼滅储锛屾枃鏈垨涓嬫媺锛屾墍鏈夊瓧娈垫嫾鎺� - let str = item.match === '=' ? '' : '%' + let str = item.match === 'like' || item.match === 'not like' ? '%' : '' let fields = item.key.split(',').map(field => { return field + ' ' + item.match + ' \'' + str + item.value + str + '\'' }) - searchText += '(' + fields.join(' OR ') + ')' + searchText.push('(' + fields.join(' OR ') + ')') + } else if (item.type === 'checkcard') { + let str = item.match === 'like' || item.match === 'not like' ? '%' : '' + + searchText.push('(' + item.key + ' ' + item.match + ' \'' + str + item.value + str + '\')') } else if (item.type === 'multi') { - searchText += `'${item.value}' ${item.match} '%'+${item.key}+'%'` + searchText.push(`('${item.value}' ${item.match} '%'+${item.key}+'%')`) } else if (item.type === 'date') { let _val = item.value let timetail = '' @@ -544,17 +547,17 @@ timetail = '.000' } - searchText += '(' + item.key + ' ' + _match + ' \'' + _val + timetail + '\')' + searchText.push('(' + item.key + ' ' + _match + ' \'' + _val + timetail + '\')') } else if (item.type === 'datemonth') { // 鏈�-杩囨护鏉′欢锛屼粠鏈堝紑濮嬭嚦缁撴潫锛岀粨鏉熸椂闂翠负鏈堟湯鍔犱竴澶╃殑0鐐癸紝鏂瑰紡涓�< let _startval = moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' let _endval = moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') } else if (item.type === 'dateweek') { // 鍛�-杩囨护鏉′欢 let _startval = moment(item.value, 'YYYY-MM-DD' ).startOf('week').format('YYYY-MM-DD') + ' 00:00:00.000' let _endval = moment(item.value, 'YYYY-MM-DD').endOf('week').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') } else if (item.type === 'daterange') { let val = item.value.split(',') let _startval = '' @@ -574,17 +577,17 @@ _endval = val[1] + '.000' } - searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' + searchText.push('(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')') } else if (item.type === 'range') { let val = item.value.split(',') - searchText += '(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')' + searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')') } else { - searchText += '(' + item.key + ' ' + item.match + ' \'' + item.value + '\')' + searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')') } }) - return searchText + return searchText.join(' AND ') } /** -- Gitblit v1.8.0