use Message instead of Toast

This commit is contained in:
Timi
2026-08-22 01:08:23 +08:00
parent 94c17e6d81
commit e2af521996
46 changed files with 291 additions and 289 deletions
+15 -15
View File
@@ -219,15 +219,15 @@
</template>
<script setup lang="ts">
import { RoleAPI, Time, type ModuleCode } from "timi-web";
import { DialogPlugin, Toast } from "tdesign-mobile-vue";
import { type ModuleCode, type Role, RoleAPI, Time, useUserStore } from "timi-web";
import type { ColorObject } from "tdesign-mobile-vue";
import { useUserStore, type Role } from "timi-web";
import { DialogPlugin } from "tdesign-mobile-vue";
import EventAPI from "@/api/EventAPI";
import { useCurrentStoreStore } from "@/store/currentStoreStore";
import type { EventItem, EventStatus, EventLimitType, EventValueType, EventValueUnit } from "@/types/EventItem";
import type { EventItem, EventLimitType, EventStatus, EventValueType, EventValueUnit } from "@/types/EventItem";
import { getErrorMessage } from "@/utils/error";
import { gaoRoleCodes, permissionCodes } from "@/utils/permission";
import { Message } from "@/utils/message";
type PickerValue = string | number;
@@ -301,7 +301,7 @@ function openStorePicker(): void {
return;
}
if (!currentStoreStore.storeList.length) {
Toast.warning("暂无可选门店");
Message.warning("暂无可选门店");
return;
}
@@ -563,25 +563,25 @@ function resolveTimestamp(valueText: string): number | undefined {
function validateForm(): boolean {
if (!formModel.storeId) {
Toast.warning("请选择门店");
Message.warning("请选择门店");
return false;
}
if (!formModel.name.trim()) {
Toast.warning("请输入登记事件名称");
Message.warning("请输入登记事件名称");
return false;
}
if (!formModel.roleCodeList.length) {
Toast.warning("请至少选择一个可登记角色");
Message.warning("请至少选择一个可登记角色");
return false;
}
if (isValueLimitType(formModel.limitType) && !resolveLimitValue()) {
Toast.warning("请输入有效的约束数值");
Message.warning("请输入有效的约束数值");
return false;
}
const beginAt = resolveTimestamp(formModel.beginAtText);
const endAt = resolveTimestamp(formModel.endAtText);
if (beginAt !== undefined && endAt !== undefined && endAt < beginAt) {
Toast.warning("终止时间不能早于起始时间");
Message.warning("终止时间不能早于起始时间");
return false;
}
return true;
@@ -651,10 +651,10 @@ async function saveEventItem(): Promise<void> {
} else {
await EventAPI.update(payload);
}
Toast.success("登记事件已保存");
Message.success("登记事件已保存");
await router.replace("/management/registration-events");
} catch (error) {
Toast.error(getErrorMessage(error, "登记事件保存失败"));
Message.error(getErrorMessage(error, "登记事件保存失败"));
} finally {
isSaving.value = false;
}
@@ -690,10 +690,10 @@ async function removeEventItem(id: string): Promise<void> {
isRemoving.value = true;
try {
await EventAPI.remove(id);
Toast.success("登记事件已删除");
Message.success("登记事件已删除");
await router.replace("/management/registration-events");
} catch {
Toast.error("登记事件删除失败");
Message.error("登记事件删除失败");
} finally {
isRemoving.value = false;
}
@@ -746,7 +746,7 @@ onMounted(async () => {
try {
await fillForm();
} catch {
Toast.error("登记事件加载失败");
Message.error("登记事件加载失败");
}
});
</script>
+2 -2
View File
@@ -63,7 +63,7 @@
</template>
<script setup lang="ts">
import { Toast } from "tdesign-mobile-vue";
import { Message } from "@/utils/message";
import { type Page, type PageResult, type Role, useUserStore } from "timi-web";
import EventAPI from "@/api/EventAPI";
import ManagedUserAPI from "@/api/ManagedUserAPI";
@@ -259,7 +259,7 @@ onMounted(async () => {
try {
await loadData();
} catch {
Toast.error("登记事件加载失败");
Message.error("登记事件加载失败");
}
});
+10 -10
View File
@@ -184,7 +184,7 @@
<script setup lang="ts">
import { AttachmentAPI, Time, type Attachment, useUserStore } from "timi-web";
import { Toast } from "tdesign-mobile-vue";
import { Message } from "@/utils/message";
import CustomerAPI from "@/api/CustomerAPI";
import EventAPI from "@/api/EventAPI";
import EventRecordAPI from "@/api/EventRecordAPI";
@@ -438,18 +438,18 @@ function validateNumberValueList(): boolean {
const valueText = numberValueTextMap[eventId] || "";
if (event.valueType !== "NUMBER") {
if (valueText.trim()) {
Toast.warning(`${event.name || "当前事件"}不能提交数值`);
Message.warning(`${event.name || "当前事件"}不能提交数值`);
return false;
}
continue;
}
const numberValue = resolveNumberValue(eventId);
if (valueText.trim() && numberValue === undefined) {
Toast.warning(`${event.name || "当前事件"}数值格式不正确,请检查单位和小数位`);
Message.warning(`${event.name || "当前事件"}数值格式不正确,请检查单位和小数位`);
return false;
}
if (event.requireValue && numberValue === undefined) {
Toast.warning(`请填写${event.name || "当前事件"}数值`);
Message.warning(`请填写${event.name || "当前事件"}数值`);
return false;
}
}
@@ -630,7 +630,7 @@ async function submitRecord(): Promise<void> {
}
await loadRecentRecordList();
await settingStore.playRegisterSuccessSound();
Toast.success("登记已提交");
Message.success("登记已提交");
await router.replace("/customers");
} finally {
isSaving.value = false;
@@ -639,11 +639,11 @@ async function submitRecord(): Promise<void> {
function validateForm(): boolean {
if (!selectedCustomerList.value.some(item => !!item.id)) {
Toast.warning("请先选择或扫码客户");
Message.warning("请先选择或扫码客户");
return false;
}
if (!selectedEventIdList.value.length) {
Toast.warning("请至少选择一个登记事件");
Message.warning("请至少选择一个登记事件");
return false;
}
if (!isEditMode.value && !validateNumberValueList()) {
@@ -653,7 +653,7 @@ function validateForm(): boolean {
const pointValue = resolveSourceValue();
const range = sourceValueConfig.value?.range;
if (!pointValue || !range || Math.abs(pointValue) < range[0] || range[1] < Math.abs(pointValue)) {
Toast.warning(`积分数量必须是 ${range?.[0] || 1}-${range?.[1] || 0} 的正整数`);
Message.warning(`积分数量必须是 ${range?.[0] || 1}-${range?.[1] || 0} 的正整数`);
return false;
}
}
@@ -663,7 +663,7 @@ function validateForm(): boolean {
async function updateRecord(): Promise<void> {
if (!editingRecord.value?.id || !editingRecord.value.customerId || !editingRecord.value.eventId) {
Toast.warning("登记事件记录不存在");
Message.warning("登记事件记录不存在");
return;
}
@@ -675,7 +675,7 @@ async function updateRecord(): Promise<void> {
registeredAt: editingRecord.value.registeredAt,
attachmentList: buildPhotoAttachmentList()
});
Toast.success("记录已保存");
Message.success("记录已保存");
await router.replace(`/management/registration-event-records/${editingRecord.value.id}`);
}
+7 -6
View File
@@ -132,17 +132,18 @@
</template>
<script setup lang="ts">
import { DialogPlugin, Toast, type DropdownValue } from "tdesign-mobile-vue";
import { DialogPlugin, type DropdownValue } from "tdesign-mobile-vue";
import { Time, Toolkit, useUserStore } from "timi-web";
import EventAPI from "@/api/EventAPI";
import EventRecordAPI from "@/api/EventRecordAPI";
import { useNavBarStore } from "@/store/navBarStore";
import type { EventItem } from "@/types/EventItem";
import type { EventRecordPage, EventRecordPageResult, EventRecordListItemView } from "@/types/EventRecord";
import type { EventRecordListItemView, EventRecordPage, EventRecordPageResult } from "@/types/EventRecord";
import { getCustomerPhotoURL } from "@/utils/customer";
import { getErrorMessage } from "@/utils/error";
import { formatEventNumberValue } from "@/utils/eventValue";
import { permissionCodes } from "@/utils/permission";
import { Message } from "@/utils/message.ts";
type DateFilterType = "today" | "yesterday" | "beforeYesterday" | "lastWeek" | "all" | "custom";
@@ -368,7 +369,7 @@ async function exportExcel(): Promise<void> {
...buildRangeReq()
});
Toolkit.downloadBlob(blob, `登记事件记录-${Time.formatDate(new Date())}.xlsx`);
Toast.success("导出已开始");
Message.success("导出已开始");
} finally {
isExporting.value = false;
}
@@ -424,14 +425,14 @@ async function removeRecord(id: string): Promise<void> {
try {
await EventRecordAPI.remove(id);
await reloadRecords();
Toast.success("登记记录已删除");
Message.success("登记记录已删除");
} catch (error) {
const message = getErrorMessage(error, "登记记录删除失败");
if (message.includes("积分余额不足") || message.includes("余额不足")) {
Toast.warning("积分余额不足,请先人工调整积分后再删除登记记录");
Message.warning("积分余额不足,请先人工调整积分后再删除登记记录");
return;
}
Toast.error(message);
Message.error(message);
} finally {
isDeleting.value = false;
deletingId.value = "";
+5 -4
View File
@@ -139,8 +139,8 @@
</template>
<script setup lang="ts">
import { Toast, type DropdownValue } from "tdesign-mobile-vue";
import { Time, type PageResult } from "timi-web";
import { type DropdownValue } from "tdesign-mobile-vue";
import { type PageResult, Time } from "timi-web";
import EventAPI from "@/api/EventAPI";
import EventRecordAPI from "@/api/EventRecordAPI";
import type { CustomerEventRankView, EventRecordRankPage, EventRecordRankType } from "@/types/EventRecord";
@@ -149,6 +149,7 @@ import { getCustomerPhotoURL } from "@/utils/customer";
import { getErrorMessage } from "@/utils/error";
import { formatEventNumberValue } from "@/utils/eventValue";
import { permissionCodes } from "@/utils/permission";
import { Message } from "@/utils/message.ts";
type DateFilterType = "all" | "today" | "yesterday" | "lastWeek" | "thisMonth" | "custom";
@@ -314,7 +315,7 @@ async function loadRanks(): Promise<void> {
page.index += 1;
isNoMore.value = pageResult.total <= pageResult.list.length || (result.list || []).length < page.size;
} catch (error) {
Toast.error(getErrorMessage(error, "登记记录排行加载失败"));
Message.error(getErrorMessage(error, "登记记录排行加载失败"));
} finally {
if (token === loadToken) {
isLoading.value = false;
@@ -342,7 +343,7 @@ async function selectRankType(value: DropdownValue): Promise<void> {
const filterChanged = normalizeEventFilter();
await replaceFilterQuery();
if (!canLoadRank.value) {
Toast.warning(rankType.value === "TOTAL_NUMBER_VALUE" ? "数值排行需要选择单个有数值事件" : "连续排行需要选择单个登记事件");
Message.warning(rankType.value === "TOTAL_NUMBER_VALUE" ? "数值排行需要选择单个有数值事件" : "连续排行需要选择单个登记事件");
}
if (!filterChanged) {
await reloadRanks();
+6 -5
View File
@@ -48,12 +48,13 @@
</template>
<script setup lang="ts">
import { Toast, type TagProps } from "tdesign-mobile-vue";
import { type TagProps } from "tdesign-mobile-vue";
import { VueDraggableNext } from "vue-draggable-next";
import EventAPI from "@/api/EventAPI";
import { useNavBarStore } from "@/store/navBarStore";
import type { EventItem, EventStatus } from "@/types/EventItem";
import { permissionCodes } from "@/utils/permission";
import { Message } from "@/utils/message.ts";
defineOptions({
name: "EventSort"
@@ -115,10 +116,10 @@ async function saveSort(): Promise<void> {
item.sort = index;
});
sortDirty.value = false;
Toast.success("登记事件排序已保存");
await router.back();
Message.success("登记事件排序已保存");
router.back();
} catch {
Toast.error("登记事件排序保存失败");
Message.error("登记事件排序保存失败");
} finally {
isSaving.value = false;
}
@@ -150,7 +151,7 @@ onMounted(async () => {
try {
await loadData();
} catch {
Toast.error("登记事件加载失败");
Message.error("登记事件加载失败");
}
});