From c41b93d4c5e2146a1d1568887fb8ce1e3144d7fb Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 31 十二月 2019 18:24:36 +0800 Subject: [PATCH] 2019-12-31 --- src/utils/utils.js | 14 +++++++++++++- 1 files changed, 13 insertions(+), 1 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 2503f10..8c61b92 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -227,6 +227,8 @@ } item.value = _val ? [moment().subtract(_val[0], 'days').format('YYYY-MM-DD'), moment().subtract(_val[1], 'days').format('YYYY-MM-DD')] : '' + } else if (item.type === 'multiselect') { + item.value = item.value ? item.value.split(',').filter(Boolean) : [] } newsearches.push(item) }) @@ -294,6 +296,8 @@ item.key.split(',').forEach(field => { // 缁煎悎鎼滅储锛屾墍瀛楁鎷兼帴 newsearches[field] = item.value }) + } else if (item.type === 'multiselect') { + newsearches[item.key] = item.value.join(',') } else { newsearches[item.key] = item.value } @@ -312,7 +316,8 @@ let searchText = '' searches.forEach(item => { - if (!item.value) return + if (!item.value || (item.type === 'multiselect' && item.value.length === 0)) return + searchText += (searchText !== '' ? ' AND ' : '') if (item.type === 'text') { let str = item.match === '=' ? '' : '%' @@ -325,6 +330,13 @@ let str = item.match === '=' ? '' : '%' searchText += item.key + ' ' + item.match + ' \'' + str + item.value + str + '\'' + } else if (item.type === 'multiselect') { + let str = item.match === '=' ? '' : '%' + let options = item.value.map(val => { + return item.key + ' ' + item.match + ' \'' + str + val + str + '\'' + }) + + searchText += '(' + options.join(' OR ') + ')' } else if (item.type === 'date') { let _val = item.value let timetail = ' 00:00:00.000' -- Gitblit v1.8.0