add customer point card

This commit is contained in:
Timi
2026-08-20 01:30:07 +08:00
parent f4fb604f53
commit 805e8ecb84
3 changed files with 90 additions and 16 deletions
+15 -1
View File
@@ -26,6 +26,16 @@
<pass-time-label :timestamp="customer.createdAt" underline />
</template>
</t-cell>
<t-cell>
<template #title>
<photo-scroller
:model-value="photoList"
:show-add="false"
:show-remove="false"
title="照片列表"
/>
</template>
</t-cell>
</t-cell-group>
<customer-tag-card
v-if="customer && canReadTag"
@@ -171,7 +181,7 @@
<script setup lang="ts">
import { DialogPlugin, Toast } from "tdesign-mobile-vue";
import { PassTimeLabel, Text, useUserStore } from "timi-web";
import { AttachmentAPI, PassTimeLabel, Text, useUserStore } from "timi-web";
import CustomerAPI from "@/api/CustomerAPI";
import PointAPI from "@/api/PointAPI";
import TagAPI from "@/api/TagAPI";
@@ -179,6 +189,7 @@ import BodyAreaSelector from "@/components/BodyAreaSelector.vue";
import CodeScanner from "@/components/CodeScanner.vue";
import CustomerProfileCard from "@/components/CustomerProfileCard.vue";
import CustomerSelector from "@/components/CustomerSelector.vue";
import PhotoScroller from "@/components/PhotoScroller.vue";
import TagSelector from "@/components/TagSelector.vue";
import CustomerTagCard from "@/pages/customer/component/CustomerTagCard.vue";
import { useSettingStore } from "@/store/settingStore";
@@ -213,6 +224,9 @@ const isLunarBirthdate = computed(() => customer.value?.birthdateCalendar === "L
const solarBirthdateText = computed(() => formatSolarBirthdate(customer.value));
const birthdateText = computed(() => showSolarBirthdate.value && isLunarBirthdate.value ? solarBirthdateText.value : formatBirthdate(customer.value));
const ageText = computed(() => customer.value?.age === undefined || customer.value?.age === null ? "" : `${customer.value.age} 岁`);
const photoList = computed(() => (customer.value?.attachmentList || [])
.filter(item => !!item.id)
.map(item => AttachmentAPI.getReadURL(item.id || "")));
const selectedAreas = computed<BodyAreaValue>({
get() {
return normalizeBodyAreaValue(customer.value?.conditioningPart);