| | |
| | | } |
| | | |
| | | /** |
| | | * 数组元素交换位置 |
| | | * @param {array} arr 数组 |
| | | * @param {number} fromIndex 要交换项目的位置 |
| | | * @param {number} toIndex 被交换项目的位置 |
| | | */ |
| | | static swapArray(arr, fromIndex, toIndex) { |
| | | // 先在目标位置新增一个和当前元素一样的元素,再把当前元素删除掉 |
| | | arr.splice(toIndex, 0, arr[fromIndex]); |
| | | // 如果拖动元素上移动,当前元素下标为 fromIndex+1 |
| | | if (fromIndex > toIndex) { |
| | | arr.splice(fromIndex + 1, 1); |
| | | } |
| | | // 如果拖动元素下移,当前元素下标还是 fromIndex |
| | | else { |
| | | arr.splice(fromIndex, 1); |
| | | } |
| | | return arr; |
| | | } |
| | | |
| | | /** |
| | | * 使用 moment.js 格式化时间戳 |
| | | * @param {Number|String} timestamp |
| | | * @param {String} [type='date'] |
| | |
| | | } |
| | | } |
| | | } |
| | | // 转为数值的无连接符日期 |
| | | // 数值转换:8位整型日期 转 时间戳 |
| | | if (timestamp < 9 * 10e6) { |
| | | const timeStr = timestamp + ''; |
| | | const day = timeStr.substr(0, 4) + '-' + |
| | | timeStr.substr(4, 2) + '-' + timeStr.substr(6, 2); |
| | | timestamp = (new Date(day)).getTime(); |
| | | const dateStr = timeStr.slice(0, 4) + '-' + timeStr.slice(4, 6) + '-' + timeStr.slice(6); |
| | | if (type === 'date') { |
| | | return dateStr; |
| | | } |
| | | timestamp = (new Date(dateStr)).getTime(); |
| | | } |
| | | // 按秒时间戳 |
| | | // 数值转换:时间戳 秒 转 毫秒 |
| | | else if (timestamp < 9 * 10e8) { |
| | | timestamp *= 1000; |
| | | } |
| | | // 数值转换:14位整型日期 转 时间戳 |
| | | else if (/^2[012]\d{2}[01]\d[0123]\d[012]\d[0-5]\d[0-5]\d/.test(timestamp + '')) { |
| | | const timeStr = timestamp + ''; |
| | | const dateStr = timeStr.slice(0, 4) + '-' + timeStr.slice(4, 6) + '-' + timeStr.slice(6, 8) |
| | | + ' ' + timeStr.slice(8, 10) + ':' + timeStr.slice(10, 12) + ':' + timeStr.slice(12, 14); |
| | | if (type === 'dateTimeFull') { |
| | | return dateStr; |
| | | } |
| | | timestamp = (new Date(dateStr)).getTime(); |
| | | } |
| | | const curMoment = moment(timestamp); |
| | | if (type === 'date') { |
| | | return curMoment.format('YYYY-MM-DD'); |