From b1678e25373c9f4342592ddade381ceeaaf62459 Mon Sep 17 00:00:00 2001 From: tk Date: Fri, 13 Dec 2024 16:14:40 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E2=99=BB=EF=B8=8F=20=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E4=BD=93=E9=AA=8C=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [skip ci] --- src/frontend/admin/src/App.vue | 20 +++- .../components/scEcharts/echarts-theme-T.js | 8 +- .../admin/src/components/scEcharts/index.vue | 11 +- src/frontend/admin/src/directives/time.js | 63 +--------- .../admin/src/layout/components/search.vue | 57 ++++++++- .../components/{tasks/index.vue => tasks.vue} | 109 +++++++++++------- .../src/layout/components/tasks/save.vue | 44 ------- .../admin/src/layout/components/userbar.vue | 2 +- src/frontend/admin/src/locales/lang/zh-cn.js | 3 + src/frontend/admin/src/style/fix.scss | 4 + src/frontend/admin/src/utils/permission.js | 5 +- src/frontend/admin/src/utils/tool.js | 59 ++++++++++ src/frontend/admin/src/views/home/index.vue | 10 +- .../admin/src/views/sys/job/index.vue | 15 ++- .../admin/src/views/sys/job/record/index.vue | 4 +- .../admin/src/views/sys/job/record/save.vue | 92 ++++++++++++--- 16 files changed, 315 insertions(+), 191 deletions(-) rename src/frontend/admin/src/layout/components/{tasks/index.vue => tasks.vue} (85%) delete mode 100644 src/frontend/admin/src/layout/components/tasks/save.vue diff --git a/src/frontend/admin/src/App.vue b/src/frontend/admin/src/App.vue index 3d2251f3..a497af97 100644 --- a/src/frontend/admin/src/App.vue +++ b/src/frontend/admin/src/App.vue @@ -92,8 +92,8 @@ export default { // 设置语言 this.$i18n.locale = this.$TOOL.data.get('APP_SET_LANG') || this.$CONFIG.APP_SET_LANG - //ctrl + enter 触发主按钮点击事件 document.onkeydown = (e) => { + //ctrl + enter 触发主按钮点击事件 if (e.ctrlKey && e.keyCode === 13) { document .getElementsByClassName('el-dialog__footer')[0] @@ -118,8 +118,22 @@ export default { break } } - } else if (e.altKey && e.keyCode === 81) { - UseTabs.close() + } else if (e.altKey) { + if (e.keyCode === 81) { + if (e.ctrlKey) { + UseTabs.closeOther() + } else { + UseTabs.close() + } + } else if (e.keyCode === 65) { + document.getElementsByClassName('userbar-btn-search')[0]?.dispatchEvent( + new MouseEvent('click', { + view: window, + bubbles: true, + cancelable: false, + }), + ) + } } } }, diff --git a/src/frontend/admin/src/components/scEcharts/echarts-theme-T.js b/src/frontend/admin/src/components/scEcharts/echarts-theme-T.js index d958036c..84e68524 100644 --- a/src/frontend/admin/src/components/scEcharts/echarts-theme-T.js +++ b/src/frontend/admin/src/components/scEcharts/echarts-theme-T.js @@ -1,13 +1,15 @@ import colorTool from '@/utils/color' export default { - build() { + async build() { const style = getComputedStyle(document.documentElement) - const el_color_primary = style.getPropertyValue('--el-color-primary') + let el_color_primary + while ((el_color_primary = style.getPropertyValue('--el-color-primary')) === 'rgba(0, 0, 0, 0)') { + await new Promise((x) => setTimeout(x, 100)) + } const el_color_info = style.getPropertyValue('--el-color-info') const el_text_color_primary = style.getPropertyValue('--el-text-color-primary') const el_border_color_lighter = style.getPropertyValue('--el-border-color-lighter') - return { color: [el_color_primary, colorTool.lighten(el_color_primary, 0.5), ...colorTool.colorSets], grid: { diff --git a/src/frontend/admin/src/components/scEcharts/index.vue b/src/frontend/admin/src/components/scEcharts/index.vue index da04b9cc..f14b7375 100644 --- a/src/frontend/admin/src/components/scEcharts/index.vue +++ b/src/frontend/admin/src/components/scEcharts/index.vue @@ -29,7 +29,7 @@ export default { option: { deep: true, handler(v) { - unwarp(this.myChart).setOption(v, { notMerge: true }) + unwarp(this.myChart)?.setOption(v, { notMerge: true }) }, }, }, @@ -48,12 +48,11 @@ export default { deactivated() { this.isActivat = false }, - mounted() { + async mounted() { this.isActivat = true - this.$nextTick(() => { - echarts.registerTheme('T', T.build()) - this.draw() - }) + await this.$nextTick() + echarts.registerTheme('T', await T.build()) + this.draw() }, methods: { draw() { diff --git a/src/frontend/admin/src/directives/time.js b/src/frontend/admin/src/directives/time.js index 4bc66e5f..acce9d64 100644 --- a/src/frontend/admin/src/directives/time.js +++ b/src/frontend/admin/src/directives/time.js @@ -1,64 +1,5 @@ import tool from '@/utils/tool' -const Time = { - //获取当前时间戳 - getUnix: function () { - const date = new Date() - return date.getTime() - }, - //获取今天0点0分0秒的时间戳 - getTodayUnix: function () { - const date = new Date() - date.setHours(0) - date.setMinutes(0) - date.setSeconds(0) - date.setMilliseconds(0) - return date.getTime() - }, - //获取今年1月1日0点0秒的时间戳 - getYearUnix: function () { - const date = new Date() - date.setMonth(0) - date.setDate(1) - date.setHours(0) - date.setMinutes(0) - date.setSeconds(0) - date.setMilliseconds(0) - return date.getTime() - }, - //获取标准年月日 - getLastDate: function (time) { - const date = new Date(time) - const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 - const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() - return date.getFullYear() + '-' + month + '-' + day - }, - //转换时间 - getFormatTime: function (timestamp) { - timestamp = new Date(timestamp) - const now = this.getUnix() - const today = this.getTodayUnix() - //var year = this.getYearUnix(); - const timer = (now - timestamp) / 1000 - let tip - - if (timer <= 0) { - tip = '刚刚' - } else if (Math.floor(timer / 60) <= 0) { - tip = '刚刚' - } else if (timer < 3600) { - tip = Math.floor(timer / 60) + '分钟前' - } else if (timer >= 3600 && (timestamp - today >= 0 || Math.floor(timer / 86400) <= 0)) { - tip = Math.floor(timer / 3600) + '小时前' - } else if (timer / 86400 <= 31) { - tip = Math.floor(timer / 86400) + '天前' - } else { - tip = this.getLastDate(timestamp) - } - return tip - }, -} - export default (el, binding) => { let { value, modifiers } = binding if (!value) { @@ -68,9 +9,9 @@ export default (el, binding) => { value = value * 1000 } if (modifiers.tip) { - el.innerHTML = Time.getFormatTime(value) + el.innerHTML = tool.time.getFormatTime(value) el.__timeout__ = setInterval(() => { - el.innerHTML = Time.getFormatTime(value) + el.innerHTML = tool.time.getFormatTime(value) }, 60000) } else { const format = el.getAttribute('format') || undefined diff --git a/src/frontend/admin/src/layout/components/search.vue b/src/frontend/admin/src/layout/components/search.vue index 072202f7..9517c898 100644 --- a/src/frontend/admin/src/layout/components/search.vue +++ b/src/frontend/admin/src/layout/components/search.vue @@ -5,6 +5,8 @@ :placeholder="$t('搜索')" :trigger-on-focus="false" @input="inputChange" + @keydown="inputKeyDown" + autofocus clearable prefix-icon="el-icon-search" ref="input" @@ -25,7 +27,11 @@
{{ $t('暂无搜索结果') }}