diff --git a/src/pages/management/RegistrationEventEdit.vue b/src/pages/management/RegistrationEventEdit.vue index c5df2fe..b9a725d 100644 --- a/src/pages/management/RegistrationEventEdit.vue +++ b/src/pages/management/RegistrationEventEdit.vue @@ -56,7 +56,13 @@
- + @@ -107,7 +113,7 @@
- +
取消 @@ -115,10 +121,13 @@ 确定
@@ -143,8 +152,9 @@
import { Time } from "timi-web"; import { DialogPlugin, Toast } from "tdesign-mobile-vue"; +import type { ColorObject } from "tdesign-mobile-vue"; import type { Role } from "timi-web"; import RegistrationEventAPI from "@/api/RegistrationEventAPI"; import GaoUserAPI from "@/api/GaoUserAPI"; @@ -198,6 +210,7 @@ const pageAccess = computed(() => ({ })); const roleOptions = ref([]); const colorPickerVisible = ref(false); +const colorPickerRenderKey = ref(0); const colorDraft = ref("#2f88ff"); const beginAtPickerVisible = ref(false); const endAtPickerVisible = ref(false); @@ -250,7 +263,14 @@ const limitPickerVisible = ref(false); const limitPickerDraft = ref([formModel.limitType]); const statusPickerVisible = ref(false); const statusPickerDraft = ref([formModel.status]); +const minimumDateTimeText = "1970-01-01 00:00"; const nowDateTimeText = computed(() => Time.formatDateTime(new Date())); +const endAtMinimumDateTimeText = computed(() => formModel.beginAtText || minimumDateTimeText); +const defaultEndAtText = computed(() => { + const date = new Date(); + date.setDate(date.getDate() + 7); + return Time.formatDateTime(date); +}); const limitValuePlaceholder = computed(() => { if (formModel.limitType === "INTERVAL_HOUR") { return "请输入间隔小时数"; @@ -266,6 +286,10 @@ function openColorPicker(): void { colorPickerVisible.value = true; } +function handleColorPickerOpened(): void { + colorPickerRenderKey.value += 1; +} + function cancelColorPicker(): void { colorPickerVisible.value = false; colorDraft.value = formModel.color; @@ -276,6 +300,10 @@ function confirmColorPicker(): void { colorPickerVisible.value = false; } +function updateColorDraftFromPalette(context: { color: ColorObject }): void { + colorDraft.value = context.color.hex8; +} + function getLimitText(value: RegistrationLimitType): string { return limitOptions.find(option => option.value === value)?.label || "不限"; } @@ -377,17 +405,17 @@ function openBeginAtPicker(): void { } function openEndAtPicker(): void { - endAtDraftText.value = formModel.endAtText || nowDateTimeText.value; + endAtDraftText.value = formModel.endAtText || defaultEndAtText.value; endAtPickerVisible.value = true; } -function confirmBeginAt(): void { - formModel.beginAtText = beginAtDraftText.value; +function confirmBeginAt(value: string | number): void { + formModel.beginAtText = String(value); beginAtPickerVisible.value = false; } -function confirmEndAt(): void { - formModel.endAtText = endAtDraftText.value; +function confirmEndAt(value: string | number): void { + formModel.endAtText = String(value); endAtPickerVisible.value = false; } diff --git a/src/pages/management/RegistrationEventList.vue b/src/pages/management/RegistrationEventList.vue index 8d9c84f..3492b95 100644 --- a/src/pages/management/RegistrationEventList.vue +++ b/src/pages/management/RegistrationEventList.vue @@ -15,9 +15,9 @@
需拍照
@@ -36,7 +36,6 @@
-
@@ -53,11 +52,11 @@