Files
qnc-webview-v3/src/ui/JRZQ6F2A/components/RiskSummarySection.vue

70 lines
1.8 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 rounded-lg border border-gray-200 pb-2 mb-2">
<div class="px-4 pt-4 pb-4">
<LTitle title="风险汇总" />
<div class="space-y-0 mt-3 rounded-lg overflow-hidden">
<div v-for="(risk, index) in riskSummary" :key="risk.label"
:class="['flex justify-between items-center text-lg py-4 px-4', index % 2 === 0 ? 'bg-primary-50' : 'bg-white']">
<span class="text-gray-600">{{ risk.label }}</span>
<span class="font-semibold text-xl" :class="getRiskClass(risk.value)">{{ risk.value }}</span>
</div>
</div>
</div>
<!-- 风险汇总解读 -->
<Remark :content="riskRemark" title="风险解读" :default-expanded="true" />
</div>
</template>
<script setup>
import { computed } from 'vue'
import LTitle from '@/components/LTitle.vue'
import Remark from '@/components/Remark.vue'
import { getRiskSummary, generateRiskRemark } from '../utils/dataParser'
const props = defineProps({
data: {
type: Object,
required: true,
default: () => ({}),
},
// 维度id身份证 / cell手机号
dimension: {
type: String,
default: 'id',
},
})
// 风险汇总
const riskSummary = computed(() => {
return getRiskSummary(props.data || {}, props.dimension)
})
// 风险汇总解读文本
const riskRemark = computed(() => {
return generateRiskRemark(riskSummary.value)
})
// 根据风险等级返回对应的样式类
const getRiskClass = (level) => {
switch (level) {
case '无风险':
return 'text-green-600'
case '低风险':
return 'text-blue-600'
case '中风险':
return 'text-amber-600'
case '高风险':
return 'text-red-600'
default:
return 'text-gray-600'
}
}
</script>
<style scoped>
.card {
background: #ffffff;
}
</style>