From 2031a460f6c0827fe80f8c625dd98333d1631d2f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 08 五月 2020 22:10:48 +0800 Subject: [PATCH] 2020-05-08 --- src/utils/utils.js | 70 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 1 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index a08f503..18a6ed2 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -193,7 +193,75 @@ value: search.initval, required: search.required === 'true' } - if (item.type === 'date') { + + if (item.type === 'group') { + let copy = JSON.parse(JSON.stringify(item)) + copy.key = search.datefield + + item.value = search.initval && search.initval[0] ? search.initval[0] : '' + item.match = '=' + + copy.type = 'daterange' + copy.match = 'between' + copy.value = '' + + if (search.initval && search.initval.length > 0) { + let _type = search.initval[0] + let _val = search.initval[1] + + if (_type === 'day') { + copy.value = [moment().subtract(_val, 'days').format('YYYY-MM-DD'), + moment().subtract(_val, 'days').format('YYYY-MM-DD')] + } else if (_type === 'week') { + copy.value = [moment().subtract(_val * 7, 'days').startOf('week').format('YYYY-MM-DD'), + moment().subtract(_val * 7, 'days').endOf('week').format('YYYY-MM-DD')] + } else if (_type === 'month') { + copy.value = [moment().subtract(_val, 'month').startOf('month').format('YYYY-MM-DD'), + moment().subtract(_val, 'month').endOf('month').format('YYYY-MM-DD')] + } else if (_type === 'quarter') { + let _differ = parseInt(moment().format('MM')) % 3 + let _pdiffer = 0 + let _ndiffer = 0 + + // 宸�艰绠� + switch(_differ) { + case 0: + _pdiffer = 2 + _ndiffer = 0 + break + case 1: + _pdiffer = 0 + _ndiffer = -2 + break + case 2: + _pdiffer = 1 + _ndiffer = -1 + break + default: + } + + copy.value = [moment().subtract(_pdiffer + _val * 3, 'month').startOf('month').format('YYYY-MM-DD'), + moment().subtract(_ndiffer + _val * 3, 'month').endOf('month').format('YYYY-MM-DD')] + } else if (_type === 'year') { + let _year = parseInt(moment().format('YYYY')) - _val + copy.value = [_year + '-01-01', _year + '-12-31'] + } else if (_type === 'customized') { + try { + _val = JSON.parse(_val) + } catch { + _val = [0, 0] + } + copy.value = [moment().subtract(_val[0], 'days').format('YYYY-MM-DD'), + moment().subtract(_val[1], 'days').format('YYYY-MM-DD')] + } + } + + if (search.transfer === 'true') { + newsearches.push(item) + } + newsearches.push(copy) + return + } else if (item.type === 'date') { item.value = item.value ? moment().subtract(item.value, 'days').format('YYYY-MM-DD') : '' } else if (item.type === 'datemonth') { item.value = item.value ? moment().subtract(item.value, 'month').format('YYYY-MM') : '' -- Gitblit v1.8.0