From 26d0fa42ea8c63a87e8ef93d0915f75f46fb1f9c Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 24 三月 2022 11:09:53 +0800 Subject: [PATCH] 2022-03-24 --- src/utils/utils.js | 169 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 123 insertions(+), 46 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 24ebbb6..6e6596a 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -251,20 +251,43 @@ item.$forbid = item.query === 'false' if (item.type === 'date') { // 鏃堕棿鎼滅储 - item.initval = item.initval ? moment().subtract(item.initval, 'days').format('YYYY-MM-DD') : '' + item.precision = item.precision || 'day' + let format = 'YYYY-MM-DD' + if (item.precision === 'day') { + + } else if (item.precision === 'hour') { + format = 'YYYY-MM-DD HH' + } else if (item.precision === 'minute') { + format = 'YYYY-MM-DD HH:mm' + } else if (item.precision === 'second') { + format = 'YYYY-MM-DD HH:mm:ss' + } + + item.initval = item.initval ? moment().subtract(item.initval, 'days').format(format) : '' } else if (item.type === 'datemonth') { item.initval = item.initval ? moment().subtract(item.initval, 'month').format('YYYY-MM') : '' } else if (item.type === 'dateweek') { item.initval = item.initval ? moment().subtract(item.initval * 7, 'days').format('YYYY-MM-DD') : '' } else if (item.type === 'daterange') { + item.precision = item.precision || 'day' + let format = 'YYYY-MM-DD' + if (item.precision === 'day') { + + } else if (item.precision === 'hour') { + format = 'YYYY-MM-DD HH' + } else if (item.precision === 'minute') { + format = 'YYYY-MM-DD HH:mm' + } else if (item.precision === 'second') { + format = 'YYYY-MM-DD HH:mm:ss' + } if (item.initval === 'week') { - item.initval = [moment().startOf('week').format('YYYY-MM-DD'), moment().endOf('week').format('YYYY-MM-DD')].join(',') + item.initval = [moment().startOf('week').format(format), moment().endOf('week').format(format)].join(',') } else if (item.initval === 'month') { - item.initval = [moment().startOf('month').format('YYYY-MM-DD'), moment().endOf('month').format('YYYY-MM-DD')].join(',') + item.initval = [moment().startOf('month').format(format), moment().endOf('month').format(format)].join(',') } else if (item.initval) { try { let _initval = JSON.parse(item.initval) - let _vals = [moment().subtract(_initval[0], 'days').format('YYYY-MM-DD'), moment().subtract(_initval[1], 'days').format('YYYY-MM-DD')] + let _vals = [moment().subtract(_initval[0], 'days').format(format), moment().subtract(_initval[1], 'days').format(format)] item.initval = _vals.join(',') } catch (e) { item.initval = '' @@ -358,6 +381,7 @@ label: cell.label, value: cell.initval, required: cell.required, + precision: cell.precision || '', forbid: cell.$forbid } @@ -398,10 +422,18 @@ let _val = item.value || '' if (_val) { - if (item.match === '<' || item.match === '<=') { - _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' - } else if (item.match === '>' || item.match === '>=') { - _val = _val + ' 00:00:00.000' + if (item.precision === 'day') { + if (item.match === '<' || item.match === '<=') { + _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (item.match === '>' || item.match === '>=') { + _val = _val + ' 00:00:00.000' + } + } else if (item.precision === 'hour') { + _val = _val + ':00:00.000' + } else if (item.precision === 'minute') { + _val = _val + ':00.000' + } else if (item.precision === 'second') { + _val = _val + '.000' } } @@ -437,8 +469,20 @@ let _endval = '' if (item.value) { let val = item.value.split(',') - _startval = val[0] + ' 00:00:00.000' - _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + + if (item.precision === 'day') { + _startval = val[0] + ' 00:00:00.000' + _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (item.precision === 'hour') { + _startval = val[0] + ':00:00.000' + _endval = val[1] + ':00:00.000' + } else if (item.precision === 'minute') { + _startval = val[0] + ':00.000' + _endval = val[1] + ':00.000' + } else if (item.precision === 'second') { + _startval = val[0] + '.000' + _endval = val[1] + '.000' + } } newsearches[item.key] = _startval @@ -479,14 +523,25 @@ searchText += `'${item.value}' ${item.match} '%'+${item.key}+'%'` } else if (item.type === 'date') { let _val = item.value - let timetail = ' 00:00:00.000' + let timetail = '' let _match = item.match if (item.match === '<' || item.match === '<=') { // 鏃堕棿涓�<=鏃讹紝鍖归厤鍚庝竴澶╃殑0鐐癸紝鍖归厤鏂瑰紡涓�< _match = '<' - _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') - } else if (item.match === '=') { + if (item.precision === 'day') { + _val = moment(_val, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + } + } + if (item.match === '=') { timetail = '' + } else if (item.precision === 'day') { + timetail = ' 00:00:00.000' + } else if (item.precision === 'hour') { + timetail = ':00:00.000' + } else if (item.precision === 'minute') { + timetail = ':00.000' + } else if (item.precision === 'second') { + timetail = '.000' } searchText += '(' + item.key + ' ' + _match + ' \'' + _val + timetail + '\')' @@ -502,8 +557,22 @@ searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' } else if (item.type === 'daterange') { let val = item.value.split(',') - let _startval = val[0] + ' 00:00:00.000' - let _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + let _startval = '' + let _endval = '' + + if (item.precision === 'day') { + _startval = val[0] + ' 00:00:00.000' + _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (item.precision === 'hour') { + _startval = val[0] + ':00:00.000' + _endval = val[1] + ':00:00.000' + } else if (item.precision === 'minute') { + _startval = val[0] + ':00.000' + _endval = val[1] + ':00.000' + } else if (item.precision === 'second') { + _startval = val[0] + '.000' + _endval = val[1] + '.000' + } searchText += '(' + item.key + ' >= \'' + _startval + '\' AND ' + item.key + ' < \'' + _endval + '\')' } else if (item.type === 'range') { @@ -543,10 +612,24 @@ fieldmap.set(item.key, true) if (item.type === 'date') { - if (['>=', '>'].includes(item.match)) { - item.value = item.value ? item.value + ' 00:00:00.000' : '1970-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' : '2050-01-01 00:00:00.000' + if (!item.value) { + if (['>=', '>'].includes(item.match)) { + item.value = '1970-01-01 00:00:00.000' + } else if (['<=', '<'].includes(item.match)) { + item.value = '2050-01-01 00:00:00.000' + } + } else if (search.precision === 'day') { + if (['>=', '>'].includes(item.match)) { + item.value = item.value + ' 00:00:00.000' + } else if (['<=', '<'].includes(item.match)) { + item.value = moment(item.value, 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } + } else if (search.precision === 'hour') { + item.value = item.value + ':00:00.000' + } else if (search.precision === 'minute') { + item.value = item.value + ':00.000' + } else if (search.precision === 'second') { + item.value = item.value + '.000' } options.push(item) @@ -577,11 +660,23 @@ } else if (item.type === 'daterange') { let _startval = '1970-01-01 00:00:00.000' let _endval = '2050-01-01 00:00:00.000' - + if (item.value) { let val = item.value.split(',') - _startval = val[0] + ' 00:00:00.000' - _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + + if (search.precision === 'day') { + _startval = val[0] + ' 00:00:00.000' + _endval = moment(val[1], 'YYYY-MM-DD').add(1, 'days').format('YYYY-MM-DD') + ' 00:00:00.000' + } else if (search.precision === 'hour') { + _startval = val[0] + ':00:00.000' + _endval = val[1] + ':00:00.000' + } else if (search.precision === 'minute') { + _startval = val[0] + ':00.000' + _endval = val[1] + ':00.000' + } else if (search.precision === 'second') { + _startval = val[0] + '.000' + _endval = val[1] + '.000' + } } let copy = JSON.parse(JSON.stringify(item)) @@ -756,7 +851,7 @@ sql = sql.replace(/@db@/ig, window.GLOB.externalDatabase) } - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { console.info(sql) } @@ -1048,7 +1143,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { let fsql = ` ${_sql} ${_sqlInsert} @@ -1114,19 +1209,6 @@ database = database ? (database[0] || '') : '' - let getuuid = () => { - let uuid = [] - let timestamp = new Date().getTime() - let _options = '0123456789abcdefghigklmnopqrstuv' - for (let i = 0; i < 19; i++) { - uuid.push(_options.substr(Math.floor(Math.random() * 0x20), 1)) - } - uuid = timestamp + uuid.join('') - return uuid - } - - // let upId = getuuid() - let _initCustomScript = '' // 鍒濆鍖栬剼鏈� let _prevCustomScript = '' // 榛樿sql鍓嶆墽琛岃剼鏈� let _backCustomScript = '' // 榛樿sql鍚庢墽琛岃剼鏈� @@ -1168,13 +1250,7 @@ }) let key = item.$$uuid - let type = 'upt' - if (key === '$new') { - key = getuuid() - type = 'add' - } else if (item.$deleted) { - type = 'del' - } + let type = item.$type || 'upt' vals.push(`'${key}'`) vals.push(`'${type}'`) @@ -1279,7 +1355,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { let fsql = ` ${_sql} ${_sqlInsert} @@ -2026,7 +2102,7 @@ aaa: select @ErrorCode as ErrorCode,@retmsg as retmsg` } - if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { // _sql = _sql.replace(/\n\s{8}/ig, '\n') console.info(_sql) } @@ -2048,6 +2124,7 @@ let icon = null let color = null let position = null + style = JSON.parse(JSON.stringify(style)) marks.some(mark => { let originVal = record[mark.field[0]] + '' -- Gitblit v1.8.0