Files
tyc-webview/src/ui/QCGX1H7Y.vue
2026-01-17 18:38:45 +08:00

97 lines
3.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="card">
<div class="flex flex-col gap-y-4">
<!-- 标题部分 -->
<div class="flex items-center justify-between">
<span class="text-lg font-bold text-gray-800">车辆过户信息</span>
<van-tag :type="getStatusType" round>{{ getStatusText }}</van-tag>
</div>
<!-- 过户次数显示 -->
<div class="flex items-center justify-center py-6">
<div class="text-center">
<div class="text-5xl font-bold" :class="getTextColorClass">
{{ data.transferNum }}
</div>
<div class="text-gray-500 mt-2">历史过户次数</div>
</div>
</div>
<!-- 风险提示 -->
<div class="bg-gray-50 p-4 rounded-lg">
<div class="flex items-start gap-2">
<van-icon name="info-o" class="text-blue-500 mt-0.5" />
<div class="flex-1">
<div class="text-sm text-gray-600">风险提示</div>
<div class="text-sm text-gray-500 mt-1">
{{ getRiskTip }}
</div>
<div v-if="data.transferDate && data.transferFlag === '1'" class="text-sm text-gray-500 mt-2">
最近过户时间{{ data.transferDate }}
</div>
</div>
</div>
</div>
<!-- 说明信息 -->
<div class="text-xs text-gray-400 mt-2">
过户次数仅供参考建议您在购车时详细了解车辆历史信息
</div>
</div>
</div>
</template>
<script setup>
import { computed } from 'vue';
import { Icon as VanIcon, Tag as VanTag } from 'vant';
const props = defineProps({
data: {
type: Object,
required: true,
},
params: {
type: Object,
required: true,
},
});
// 根据是否过户标识返回对应的状态类型
const getStatusType = computed(() => {
const transferFlag = props.data.transferFlag;
const transferNum = Number(props.data.transferNum) || 0;
if (transferFlag === '0') return 'success';
if (transferNum <= 2) return 'warning';
return 'danger';
});
// 根据是否过户标识和过户次数返回对应的状态文本
const getStatusText = computed(() => {
const transferFlag = props.data.transferFlag;
const transferNum = Number(props.data.transferNum) || 0;
if (transferFlag === '0') return '无过户记录';
if (transferNum <= 2) return '正常范围';
return '频繁过户';
});
// 根据过户次数返回对应的文字颜色
const getTextColorClass = computed(() => {
const transferNum = Number(props.data.transferNum) || 0;
if (transferNum === 0) return 'text-green-500';
if (transferNum <= 2) return 'text-orange-500';
return 'text-red-500';
});
// 根据过户标识和过户次数返回对应的风险提示
const getRiskTip = computed(() => {
const transferFlag = props.data.transferFlag;
const transferNum = Number(props.data.transferNum) || 0;
if (transferFlag === '0' || transferNum === 0) {
return '该车辆无过户记录,为首任车主,风险较低。';
} else if (transferNum <= 2) {
return '该车辆过户次数在正常范围内,建议核实每次过户原因。';
} else {
return '该车辆过户频繁,请谨慎考虑并详细了解车况。';
}
});
</script>