update customer profile card

This commit is contained in:
Timi
2026-08-18 15:15:47 +08:00
parent ac11ee6b81
commit 9c57dcfc87
6 changed files with 47 additions and 69 deletions
+6 -2
View File
@@ -21,7 +21,11 @@
<t-cell title="病症" :note="Text.display(customer.disease)" />
<t-cell title="备注" :note="Text.display(customer.remark)" />
<t-cell title="录入用户" :note="Text.display(customer.creatorUser?.nick || customer.creatorUser?.name)" />
<t-cell title="录入时间" :note="Time.toPassedDateTime(customer.createdAt)" />
<t-cell title="录入时间">
<template #note>
<pass-time-label :timestamp="customer.createdAt" underline />
</template>
</t-cell>
</t-cell-group>
<customer-tag-card
v-if="customer && canReadTag"
@@ -167,7 +171,7 @@
<script setup lang="ts">
import { DialogPlugin, Toast } from "tdesign-mobile-vue";
import { Text, Time, useUserStore } from "timi-web";
import { PassTimeLabel, Text, Time, useUserStore } from "timi-web";
import CustomerAPI from "@/api/CustomerAPI";
import PointAPI from "@/api/PointAPI";
import TagAPI from "@/api/TagAPI";
+1 -1
View File
@@ -79,7 +79,7 @@
/>
<div class="name" v-text="getCustomerName(item)" />
</div>
<t-tag size="small" :content="item.customer?.code" />
<t-tag size="small" variant="light-outline" :content="item.customer?.code" />
</div>
</template>
<template #description>
-26
View File
@@ -86,11 +86,6 @@ import type { PointLedger, PointRule, PointRuleMode, PointRuleStatus, PointRuleT
import { formatEventNumberValue, getEventValueUnitText } from "@/utils/eventValue";
import { permissionCodes } from "@/utils/permission";
type SourcePayloadItem = {
key: string;
value: string;
};
defineOptions({
name: "PointLedgerDetail"
});
@@ -119,16 +114,6 @@ const isLoading = ref(false);
const hasEventNumberValue = computed(() => eventRecord.value?.numberValue !== undefined && eventRecord.value?.numberValue !== null);
const hasSubmittedPointValue = computed(() => eventRecord.value?.pointValue !== undefined && eventRecord.value?.pointValue !== null);
const hasEarnedPointValue = computed(() => eventRecord.value?.earnedPointValue !== undefined && eventRecord.value?.earnedPointValue !== null);
const sourcePayloadList = computed<SourcePayloadItem[]>(() => {
const payload = ledger.value?.sourcePayload;
if (!payload) {
return [];
}
return Object.entries(payload).map(([key, value]) => ({
key,
value: formatSourceValue(value)
}));
});
function getQueryText(key: string): string {
const value = route.query[key];
@@ -328,17 +313,6 @@ function getRuleEmptyText(): string {
return canReadRule.value ? "未找到命中规则" : "暂无命中规则查看权限";
}
function formatSourceValue(value: unknown): string {
if (value === null || value === undefined) {
return "-";
}
if (typeof value === "string") {
return value || "-";
}
const text = JSON.stringify(value);
return text === undefined ? String(value) : text;
}
// ---------- 导航 ----------
async function toCustomerDetail(): Promise<void> {