From 8c57536513301334adeb6a2e0c937562f61a8876 Mon Sep 17 00:00:00 2001 From: ktianc Date: Wed, 5 Jul 2023 09:36:18 +0800 Subject: [PATCH 1/3] =?UTF-8?q?perf=EF=BC=9ADialog=20=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0top=EF=BC=8Cwidth=E9=BB=98=E8=AE=A4=E5=80=BC?= =?UTF-8?q?=EF=BC=8C=E5=B0=86maxHeight=E6=94=B9=E4=B8=BAheight?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kinit-admin/src/components/Dialog/src/Dialog.vue | 12 ++++++++---- kinit-admin/src/views/vadmin/auth/role/index.vue | 2 +- kinit-admin/src/views/vadmin/auth/user/index.vue | 9 ++------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/kinit-admin/src/components/Dialog/src/Dialog.vue b/kinit-admin/src/components/Dialog/src/Dialog.vue index 25d375b..2794149 100644 --- a/kinit-admin/src/components/Dialog/src/Dialog.vue +++ b/kinit-admin/src/components/Dialog/src/Dialog.vue @@ -9,12 +9,14 @@ const slots = useSlots() const props = defineProps({ modelValue: propTypes.bool.def(false), title: propTypes.string.def('Dialog'), + top: propTypes.string.def('8vh'), fullscreen: propTypes.bool.def(true), - maxHeight: propTypes.oneOfType([String, Number]).def('500px') + height: propTypes.oneOfType([String, Number]).def('500px'), + width: propTypes.oneOfType([String, Number]).def('700px') }) const getBindValue = computed(() => { - const delArr: string[] = ['fullscreen', 'title', 'maxHeight'] + const delArr: string[] = ['fullscreen', 'title', 'height', 'top', 'width'] const attrs = useAttrs() const obj = { ...attrs, ...props } for (const key in obj) { @@ -31,7 +33,7 @@ const toggleFull = () => { isFullscreen.value = !unref(isFullscreen) } -const dialogHeight = ref(isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight) +const dialogHeight = ref(isNumber(props.height) ? `${props.height}px` : props.height) watch( () => isFullscreen.value, @@ -41,7 +43,7 @@ watch( const windowHeight = document.documentElement.offsetHeight dialogHeight.value = `${windowHeight - 55 - 60 - (slots.footer ? 63 : 0)}px` } else { - dialogHeight.value = isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight + dialogHeight.value = isNumber(props.height) ? `${props.height}px` : props.height } }, { @@ -64,6 +66,8 @@ const dialogStyle = computed(() => { lock-scroll draggable :close-on-click-modal="false" + :top="top" + :width="width" > - + { - + @@ -380,7 +375,7 @@ const handleCommand = (command: string) => { v-model="passwordDialogVisible" :title="passwordDialogTitle" width="1000px" - maxHeight="550px" + height="550px" > Date: Fri, 7 Jul 2023 15:18:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?feat=EF=BC=9A=E6=96=B0=E5=A2=9E=E5=BF=AB?= =?UTF-8?q?=E9=80=9F=E7=94=9F=E6=88=90=20Cron=20=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/task/components/CronExample.vue | 77 ++ .../system/task/components/CronExpression.vue | 681 ++++++++++++++++++ .../task/components/RunDatetimeList.vue | 565 +++++++++++++++ .../system/task/components/task.data.ts | 2 +- .../src/views/vadmin/system/task/index.vue | 11 +- kinit-task/main.py | 2 + 6 files changed, 1334 insertions(+), 4 deletions(-) create mode 100644 kinit-admin/src/views/vadmin/system/task/components/CronExample.vue create mode 100644 kinit-admin/src/views/vadmin/system/task/components/CronExpression.vue create mode 100644 kinit-admin/src/views/vadmin/system/task/components/RunDatetimeList.vue diff --git a/kinit-admin/src/views/vadmin/system/task/components/CronExample.vue b/kinit-admin/src/views/vadmin/system/task/components/CronExample.vue new file mode 100644 index 0000000..f55e49a --- /dev/null +++ b/kinit-admin/src/views/vadmin/system/task/components/CronExample.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/kinit-admin/src/views/vadmin/system/task/components/CronExpression.vue b/kinit-admin/src/views/vadmin/system/task/components/CronExpression.vue new file mode 100644 index 0000000..6ac48b9 --- /dev/null +++ b/kinit-admin/src/views/vadmin/system/task/components/CronExpression.vue @@ -0,0 +1,681 @@ + + + + + diff --git a/kinit-admin/src/views/vadmin/system/task/components/RunDatetimeList.vue b/kinit-admin/src/views/vadmin/system/task/components/RunDatetimeList.vue new file mode 100644 index 0000000..f757c04 --- /dev/null +++ b/kinit-admin/src/views/vadmin/system/task/components/RunDatetimeList.vue @@ -0,0 +1,565 @@ + + + + + diff --git a/kinit-admin/src/views/vadmin/system/task/components/task.data.ts b/kinit-admin/src/views/vadmin/system/task/components/task.data.ts index d2e2788..8ced805 100644 --- a/kinit-admin/src/views/vadmin/system/task/components/task.data.ts +++ b/kinit-admin/src/views/vadmin/system/task/components/task.data.ts @@ -174,7 +174,7 @@ export const schema = reactive([ style: { width: '100%' }, - placeholder: 'cron 表达式,六位或七位,分别表示秒、分钟、小时、天、月、星期几、年' + placeholder: 'cron 表达式,六位或七位,分别表示秒、分钟、小时、天、月、星期几、年(可选)' }, ifshow: (values) => values.exec_strategy === 'cron' }, diff --git a/kinit-admin/src/views/vadmin/system/task/index.vue b/kinit-admin/src/views/vadmin/system/task/index.vue index a267036..f04c5f8 100644 --- a/kinit-admin/src/views/vadmin/system/task/index.vue +++ b/kinit-admin/src/views/vadmin/system/task/index.vue @@ -30,6 +30,7 @@ import { Dialog } from '@/components/Dialog' import { useCache } from '@/hooks/web/useCache' import { useRouter } from 'vue-router' import Write from './components/Write.vue' +import CronExpression from './components/CronExpression.vue' const { wsCache } = useCache() const { t } = useI18n() @@ -67,6 +68,7 @@ watch( } ) +const cronDialogVisible = ref(false) const dialogVisible = ref(false) const dialogTitle = ref('') const loading = ref(false) @@ -98,7 +100,6 @@ getOptions() // 跳转到调度日志页面 const toRecord = (row: any) => { if (row) { - console.log(row) push(`/system/record/task?job_id=${row._id}`) } else { push(`/system/record/task`) @@ -205,7 +206,7 @@ const save = async () => { // 生成 cron 表达式 const generateCronExpression = () => { - ElMessage.info('下一个版本更新') + cronDialogVisible.value = true } getList() @@ -225,7 +226,7 @@ getList() 添加定时任务 调度日志 - 生成 Cron 表达式 + 快速生成 Cron 表达式 {{ t('dialogDemo.close') }} + + + + diff --git a/kinit-task/main.py b/kinit-task/main.py index 1d2c734..41ad4a1 100644 --- a/kinit-task/main.py +++ b/kinit-task/main.py @@ -113,6 +113,8 @@ class ScheduledTask: logger.info(content) print(content) getattr(self, operation)(**task) + else: + print("意外", message) def start_mongo(self) -> None: """ From b9dbcb2921143976b0be2575f4d7f42b3661e438 Mon Sep 17 00:00:00 2001 From: ktianc Date: Fri, 7 Jul 2023 15:19:23 +0800 Subject: [PATCH 3/3] update version --- kinit-api/application/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kinit-api/application/settings.py b/kinit-api/application/settings.py index fba3ddb..fd63ffd 100644 --- a/kinit-api/application/settings.py +++ b/kinit-api/application/settings.py @@ -11,7 +11,7 @@ from fastapi.security import OAuth2PasswordBearer """ 系统版本 """ -VERSION = "1.9.1" +VERSION = "1.9.2" """安全警告: 不要在生产中打开调试运行!""" DEBUG = True