update customer profile card
This commit is contained in:
@@ -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";
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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> {
|
||||
|
||||
Reference in New Issue
Block a user