fix in the future sendAt invalid
This commit is contained in:
@@ -67,12 +67,20 @@
|
||||
<script setup lang="ts">
|
||||
import { NotifyEditor, type NotifyEditorExpose } from "timi-tdesign-mobile";
|
||||
import { Time } from "timi-web";
|
||||
import { AttachmentAPI, type Attachment as ApiAttachment, type NotifyContentType, type NotifyDetail, useUserStore } from "timi-web-api";
|
||||
import {
|
||||
type Attachment as ApiAttachment,
|
||||
AttachmentAPI,
|
||||
type NotifyContentType,
|
||||
type NotifyDetail,
|
||||
useUserStore
|
||||
} from "timi-web-api";
|
||||
import { Message } from "@/utils/message";
|
||||
import { getErrorMessage } from "@/utils/error";
|
||||
import GaoNotifyAPI from "@/api/GaoNotifyAPI";
|
||||
import type { ManagedUser } from "@/types/ManagedUser";
|
||||
import NotifyRecipientPicker, { type NotifyRecipientScopeOption } from "@/pages/notify/component/NotifyRecipientPicker.vue";
|
||||
import NotifyRecipientPicker, {
|
||||
type NotifyRecipientScopeOption
|
||||
} from "@/pages/notify/component/NotifyRecipientPicker.vue";
|
||||
import { corePermissionCodes, coreRoleCodes, gaoRoleCodes, permissionCodes } from "@/utils/permission";
|
||||
import { useNavBarStore } from "@/store/navBarStore";
|
||||
import { useCurrentStoreStore } from "@/store/currentStoreStore";
|
||||
@@ -183,6 +191,12 @@ const scheduleAtText = ref("");
|
||||
const scheduleDraftText = ref("");
|
||||
const minimumScheduleText = computed(() => Time.formatDateTime(new Date(Time.now() + Time.M)));
|
||||
|
||||
function updateNavActionText(): void {
|
||||
navBarStore.setRightText(scheduleAtText.value ? "提交" : "发送", "var(--td-brand-color)", saveNotification);
|
||||
}
|
||||
|
||||
watch(scheduleAtText, updateNavActionText);
|
||||
|
||||
function getContentText(content: string): string {
|
||||
const parser = new DOMParser();
|
||||
return parser.parseFromString(content, "text/html").body.textContent?.trim() || "";
|
||||
@@ -268,13 +282,14 @@ function openSchedulePicker(): void {
|
||||
schedulePickerVisible.value = true;
|
||||
}
|
||||
|
||||
function confirmSchedule(): void {
|
||||
const timestamp = new Date(scheduleDraftText.value.replace(" ", "T")).getTime();
|
||||
function confirmSchedule(value?: string | number): void {
|
||||
const scheduleText = String(value ?? scheduleDraftText.value);
|
||||
const timestamp = new Date(scheduleText.replace(" ", "T")).getTime();
|
||||
if (Number.isNaN(timestamp) || timestamp < Time.now()) {
|
||||
Message.warning("定时发送时间必须晚于当前时间");
|
||||
return;
|
||||
}
|
||||
scheduleAtText.value = scheduleDraftText.value;
|
||||
scheduleAtText.value = scheduleText;
|
||||
schedulePickerVisible.value = false;
|
||||
}
|
||||
|
||||
@@ -351,7 +366,7 @@ onMounted(async () => {
|
||||
const loginStore = await currentStoreStore.loadLoginStore();
|
||||
recipientStoreId.value = loginStore?.id || currentStoreStore.currentStoreId || "";
|
||||
}
|
||||
navBarStore.setRightText("发送", "var(--td-brand-color)", saveNotification);
|
||||
updateNavActionText();
|
||||
await loadRecipients();
|
||||
});
|
||||
|
||||
@@ -367,14 +382,6 @@ onUnmounted(() => navBarStore.clearRight());
|
||||
margin: 0;
|
||||
display: grid;
|
||||
|
||||
.schedule-value {
|
||||
gap: .5rem;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.recipient-item {
|
||||
|
||||
.value {
|
||||
@@ -383,6 +390,16 @@ onUnmounted(() => navBarStore.clearRight());
|
||||
}
|
||||
}
|
||||
|
||||
.schedule-value {
|
||||
--td-button-extra-small-height: 24px;
|
||||
|
||||
gap: .5rem;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.editor-wrapper {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
@@ -424,21 +441,6 @@ onUnmounted(() => navBarStore.clearRight());
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.tip {
|
||||
color: #64748b;
|
||||
margin: 0 1rem;
|
||||
font-size: .8125rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
:global(html.theme-dark) {
|
||||
.notify-management-create {
|
||||
.tip {
|
||||
color: #94a3b8;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user