From 6def3330d1d1cf4036916ed04c8bbc4128e1e5d0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 03 五月 2020 19:42:17 +0800 Subject: [PATCH] 2020-05-03 --- src/utils/utils.js | 89 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 89 insertions(+), 0 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index eed79e0..029cfc4 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -360,6 +360,95 @@ } /** + * @description 鎷兼帴鎼滅储鏉′欢main + * @param {Array} searches 鎼滅储鏉′欢 + * @return {String} searchText 鎷兼帴缁撴灉 + */ + static getAllSearchOptions (searches) { + if (!searches || searches.length === 0) return [] + + let options = [] + let fieldmap = new Map() + searches.forEach(search => { + let item = { + key: search.key, + match: search.match, + type: search.type, + label: search.label, + value: search.value, + required: search.required + } + + if (fieldmap.has(item.key)) { + item.key = item.key + '1' + } + + fieldmap.set(item.key, true) + + if (item.type === 'date') { + if (['>=', '>'].includes(item.match)) { + item.value = item.value ? item.value + ' 00:00:00.000' : '1990-01-01 00:00:00.000' + } else if (['<=', '<'].includes(item.match)) { + item.value = item.value ? moment(item.value, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000' + } + + options.push(item) + } else if (item.type === 'datemonth') { + let _startval = item.value ? moment(item.value, 'YYYY-MM').startOf('month').format('YYYY-MM-DD') + ' 00:00:00.000' : '1990-01-01 00:00:00.000' + let _endval = item.value ? moment(item.value, 'YYYY-MM').endOf('month').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000' + + let copy = JSON.parse(JSON.stringify(item)) + copy.key = copy.key + '1' + copy.value = _endval + + item.value = _startval + + options.push(item) + options.push(copy) + } else if (item.type === 'dateweek') { + let _startval = item.value && item.value[0] ? moment(item.value[0], 'YYYY-MM-DD').format('YYYY-MM-DD') + ' 00:00:00.000' : '1990-01-01 00:00:00.000' + let _endval = item.value && item.value[1] ? moment(item.value[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000' + + let copy = JSON.parse(JSON.stringify(item)) + copy.key = copy.key + '1' + copy.value = _endval + + item.value = _startval + + options.push(item) + options.push(copy) + } else if (item.type === 'daterange') { + let _startval = item.value && item.value[0] ? item.value[0] + ' 00:00:00.000' : '1990-01-01 00:00:00.000' + let _endval = item.value && item.value[1] ? moment(item.value[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' : '2030-01-01 00:00:00.000' + + let copy = JSON.parse(JSON.stringify(item)) + copy.key = copy.key + '1' + copy.value = _endval + + item.value = _startval + + options.push(item) + options.push(copy) + } else if (item.type === 'multiselect') { + item.value = item.value ? item.value.join(',') : item.value + + options.push(item) + } else if (item.type === 'text') { + item.key.split(',').forEach(field => { // 缁煎悎鎼滅储锛屾墍瀛楁鎷兼帴 + let cell = JSON.parse(JSON.stringify(item)) + cell.key = field + + options.push(item) + }) + } else { + options.push(item) + } + }) + + return options + } + + /** * @description 鎷兼帴鎼滅储鏉′欢datamanage * @param {Array} searches 鎼滅储鏉′欢 * @return {String} searchText 鎷兼帴缁撴灉 -- Gitblit v1.8.0