diff --git a/web/package.json b/web/package.json index 78a8bb4..21ab0fa 100644 --- a/web/package.json +++ b/web/package.json @@ -25,6 +25,7 @@ "file-saver": "^2.0.5", "jszip": "^3.10.1", "lodash-es": "^4.17.21", + "marked": "^17.0.1", "naive-ui": "^2.34.4", "pinia": "^2.1.6", "pizzip": "^3.2.0", diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index 47273ed..b060cf3 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -47,6 +47,9 @@ importers: lodash-es: specifier: ^4.17.21 version: 4.17.21 + marked: + specifier: ^17.0.1 + version: 17.0.1 naive-ui: specifier: ^2.34.4 version: 2.39.0(vue@3.4.34(typescript@5.5.4)) @@ -1675,6 +1678,11 @@ packages: resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} engines: {node: '>=0.10.0'} + marked@17.0.1: + resolution: {integrity: sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg==} + engines: {node: '>= 20'} + hasBin: true + mdn-data@2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} @@ -4318,6 +4326,8 @@ snapshots: dependencies: object-visit: 1.0.1 + marked@17.0.1: {} + mdn-data@2.0.14: {} mdn-data@2.0.30: {} diff --git a/web/src/views/login/index.vue b/web/src/views/login/index.vue index 77f82e1..3f5ad99 100644 --- a/web/src/views/login/index.vue +++ b/web/src/views/login/index.vue @@ -18,7 +18,7 @@ v-model:value="loginInfo.username" autofocus class="h-50 items-center pl-10 text-16" - placeholder="admin" + placeholder="请输入用户名" :maxlength="20" /> @@ -28,7 +28,7 @@ class="h-50 items-center pl-10 text-16" type="password" show-password-on="mousedown" - placeholder="123456" + placeholder="请输入密码" :maxlength="20" @keypress.enter="handleLogin" /> diff --git a/web/src/views/valuation/audit/components/AuditDetail.vue b/web/src/views/valuation/audit/components/AuditDetail.vue index f754473..b8832c4 100644 --- a/web/src/views/valuation/audit/components/AuditDetail.vue +++ b/web/src/views/valuation/audit/components/AuditDetail.vue @@ -10,6 +10,7 @@ import { NImageGroup, NDataTable, } from 'naive-ui' +import { marked } from 'marked' import { formatDate } from '@/utils' import TheIcon from '@/components/icon/TheIcon.vue' @@ -28,6 +29,7 @@ import { formatThreeYearIncome, formatNumberValue, } from '../utils' +import { mockReportMarkdown } from './mockData.js' const props = defineProps({ loading: { type: Boolean, default: false }, @@ -198,104 +200,13 @@ const detailSections = computed(() => { const calcFlow = computed(() => props.detailData?.calculation_result?.flow || []) -const mockFlowHtml = ref(` -
- -
-
- 最终估值A12000=模型估值B12*0.7+市场估值C33*0.3 -
- -
-
一、模型估值B12=(经济价值B143*0.7+文化价值B255*0.3)*风险调整系数B343
- -
-
1、经济价值B143=基础价值B1173*(1+流量因子B1212)*政策驱动B1345
- -
-
(1) 基础价值B1173=财务价值P2000*(0.45+0.05*行业系数I0.8)+法律强度L0.3*(0.35+0.05*行业系数I0.8)+发展潜力D0.5*0.2
-
-
• 财务价值P2000=[3年内均收益10000*(1+增长率23%)*5]/5
-
• 法律强度L12=专利分*12*0.4+商标分*12*0.3+版权分*12*0.3
-
• 发展潜力D=专利分*0.5+ESG分*0.2+创新投入比*0.3
-
-
- -
-
(2) 流量因子B1212
-
-
• 近 30 天搜索指数M1
-
• 行业均值S2
-
• 社交媒体传播度S3
-
-
- -
-
(3) 政策驱动B13
-
-
• 政策契合度P
-
-
-
- -
-
2、文化价值B2
- -
-
(1) 活态传承系数B21
-
-
• 传承人等级系数
-
• 教学传播频次
-
• 跨界合作深度
-
-
- -
-
(2) 纹样基因值B22
-
-
• 纹样复杂度SC
-
• 归一化稀缺H
-
• 历史承载度HI
-
-
-
-
-
- - -
-
最终估值A
-
-
-
一、模型估值B
-
-
1、经济价值B1
-
(1) 基础价值B11
-
• 基础价值B1173=财务价值P2000*(0.45+0.05*行业系数I0.8)+法律强度L0.3*(0.35+0.05*行业系数I0.8)+发展潜力D0.5*0.2
-
(2) 流量因子B12
-
• 近 30 天搜索指数M1
-
• 行业均值S2
-
• 社交媒体传播度S3
-
(3) 政策驱动B13
-
• 政策契合度P
-
- -
-
2、文化价值B2
-
(1) 活态传承系数B21
-
• 传承人等级系数
-
• 教学传播频次
-
• 跨界合作深度
-
(2) 纹样基因值B22
-
• 纹样复杂度SC
-
• 归一化稀缺H
-
• 历史承载度HI
-
-
-
-
-
-`) + + +const mockFlowHtml = ref(mockReportMarkdown) + +const renderedFlowHtml = computed(() => { + return marked.parse(mockFlowHtml.value) +}) // 证书相关功能 @@ -345,6 +256,7 @@ const handleCertificateConfirm = async (data) => { report_url: reportUrl?.[0], status: 'success' } + console.log("🔥🔥🔥🔥🔥🔥🔥 ~ handleCertificateConfirm ~ payload:", payload); await api.updateValuation(payload) @@ -410,7 +322,7 @@ const handleCertificateConfirm = async (data) => { -
+
@@ -573,6 +485,80 @@ const handleCertificateConfirm = async (data) => { gap: 4px; } +/* Markdown Styles */ +.markdown-body { + line-height: 1.6; + color: #333; +} +.markdown-body :deep(h1), +.markdown-body :deep(h2), +.markdown-body :deep(h3), +.markdown-body :deep(h4), +.markdown-body :deep(h5), +.markdown-body :deep(h6) { + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25; +} +.markdown-body :deep(h1) { font-size: 2em; border-bottom: 1px solid #eaecef; padding-bottom: .3em; } +.markdown-body :deep(h2) { font-size: 1.5em; border-bottom: 1px solid #eaecef; padding-bottom: .3em; } +.markdown-body :deep(h3) { font-size: 1.25em; } +.markdown-body :deep(p) { margin-top: 0; margin-bottom: 16px; } +.markdown-body :deep(blockquote) { + margin: 0 0 16px; + padding: 0 1em; + color: #6a737d; + border-left: 0.25em solid #dfe2e5; +} +.markdown-body :deep(table) { + display: block; + width: 100%; + overflow: auto; + margin-bottom: 16px; + border-spacing: 0; + border-collapse: collapse; +} +.markdown-body :deep(table tr) { + background-color: #fff; + border-top: 1px solid #c6cbd1; +} +.markdown-body :deep(table tr:nth-child(2n)) { + background-color: #f6f8fa; +} +.markdown-body :deep(table th), .markdown-body :deep(table td) { + padding: 6px 13px; + border: 1px solid #dfe2e5; +} +.markdown-body :deep(table th) { + font-weight: 600; +} +.markdown-body :deep(code) { + padding: 0.2em 0.4em; + margin: 0; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; +} +.markdown-body :deep(pre) { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f6f8fa; + border-radius: 3px; +} +.markdown-body :deep(pre code) { + display: inline; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: initial; + border: 0; +} + /* 计算流程容器 */ :deep(.calc-flow-container) { display: flex; diff --git a/web/src/views/valuation/audit/components/calculation-flow.md b/web/src/views/valuation/audit/components/calculation-flow.md new file mode 100644 index 0000000..4a966df --- /dev/null +++ b/web/src/views/valuation/audit/components/calculation-flow.md @@ -0,0 +1,875 @@ +# 估值计算报告 + +## 基本信息 + +| 字段 | 值 | +|------|----| +| 估值ID | 38 | +| 资产名称 | 蜀锦 | +| 所属机构 | 成都古蜀蜀锦研究所 | +| 所属行业 | 纺织业 | +| 非遗等级 | 0 | +| 创建时间 | 2025-11-26 10:38:50 | + +## 详细计算过程 + +#### 1.最终估值A + +> 最终估值A = 模型估值B × 0.7 + 市场估值C × 0.3 + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "model_data": { + "risky_data": { + "lowest_price": 1580.0, + "highest_price": 3980.0, + "inheritor_ages": [ + 0, + 0, + 2 + ], + "lawsuit_status": 0.0 + }, + "cultural_data": { + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0, + "inheritor_level_coefficient": 0.7 + }, + "economic_data": { + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0, + "esg_score": 5.0, + "link_views": 296000.0, + "patent_count": 0.0, + "patent_score": 3.0, + "sales_volume": 5000.0, + "funding_support": 0.0, + "search_index_s1": 0.7, + "innovation_ratio": 18.93491124260355, + "popularity_score": 7.0, + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ], + "infringement_score": 0.0, + "policy_match_score": 5, + "industry_average_s2": 2200.0, + "implementation_stage": 10.0, + "industry_coefficient": -0.5 + } + }, + "market_data": { + "manual_bids": [ + 3980.0, + 1580.0, + 2780.0 + ], + "issuance_level": "限量:总发行份数 ≤100份", + "collection_count": 67000, + "expert_valuations": [], + "daily_browse_volume": 296000.0, + "recent_market_activity": "近一周", + "weighted_average_price": {} + } +} +``` + +**输出结果**: +```json +{ + "model_value_b": 345.2993048233941, + "final_value_ab": 241.99307337637583, + "market_value_c": 0.9452, + "model_duration_ms": 1911, + "total_duration_ms": 2440, + "market_duration_ms": 443 +} +``` + + +##### 1.1.模型估值B + +计算公式: +`模型估值B = (经济价值B1 × 0.7 + 文化价值B2 × 0.3) × 风险调整系数B3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "risky_data": { + "lowest_price": 1580.0, + "highest_price": 3980.0, + "inheritor_ages": [ + 0, + 0, + 2 + ], + "lawsuit_status": 0.0 + }, + "cultural_data": { + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0, + "inheritor_level_coefficient": 0.7 + }, + "economic_data": { + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0, + "esg_score": 5.0, + "link_views": 296000.0, + "patent_count": 0.0, + "patent_score": 3.0, + "sales_volume": 5000.0, + "funding_support": 0.0, + "search_index_s1": 0.7, + "innovation_ratio": 18.93491124260355, + "popularity_score": 7.0, + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ], + "infringement_score": 0.0, + "policy_match_score": 5, + "industry_average_s2": 2200.0, + "implementation_stage": 10.0, + "industry_coefficient": -0.5 + } +} +``` + +**输出结果**: +```json +{ + "risk_details": { + "legal_risk": 0.0, + "market_risk": 0.0, + "risk_value_b3": 0.92, + "risk_score_sum": 0.3, + "inheritance_risk": 10.0 + }, + "model_value_b": 345.2993048233941, + "risk_value_b3": 0.92, + "cultural_details": { + "pattern_gene_b22": 810.0, + "cultural_value_b2": 37.972824, + "living_heritage_b21": 9.28804 + }, + "economic_details": { + "basic_value_b11": 16.77359467455621, + "legal_strength_l": 3.3000000000000003, + "economic_value_b1": 519.9049773282518, + "financial_value_f": 33.8, + "traffic_factor_b12": 16.711681022311755, + "policy_multiplier_b13": 1.75, + "development_potential_d": 6.680473372781065 + }, + "cultural_value_b2": 37.972824, + "economic_value_b1": 519.9049773282518 +} +``` + + +###### 1.1.1.经济价值B1 + +计算公式: +`经济价值B1 = 基础价值B11 × (1 + 流量因子B12) × 政策乘数B13` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0, + "esg_score": 5.0, + "link_views": 296000.0, + "patent_count": 0.0, + "patent_score": 3.0, + "sales_volume": 5000.0, + "funding_support": 0.0, + "search_index_s1": 0.7, + "innovation_ratio": 18.93491124260355, + "popularity_score": 7.0, + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ], + "infringement_score": 0.0, + "policy_match_score": 5, + "industry_average_s2": 2200.0, + "implementation_stage": 10.0, + "industry_coefficient": -0.5 +} +``` + +**输出结果**: +```json +{ + "basic_value_b11": 16.77359467455621, + "legal_strength_l": 3.3000000000000003, + "economic_value_b1": 519.9049773282518, + "financial_value_f": 33.8, + "traffic_factor_b12": 16.711681022311755, + "policy_multiplier_b13": 1.75, + "development_potential_d": 6.680473372781065 +} +``` + + +###### 1.1.1.1.基础价值B11 + +计算公式: +`基础价值B11 = 财务价值F × (0.45 + 0.05 × 行业系数I) + 法律强度L × (0.35 + 0.05 × 行业系数I) + 发展潜力D × 0.2` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "legal_strength_l": 3.3000000000000003, + "financial_value_f": 33.8, + "industry_coefficient": -0.5, + "development_potential_d": 6.680473372781065 +} +``` + +**输出结果**: +```json +{ + "basic_value_b11": 16.77359467455621, + "legal_strength_l": 3.3000000000000003, + "financial_value_f": 33.8, + "industry_coefficient": -0.5, + "development_potential_d": 6.680473372781065 +} +``` + + +###### 1.1.1.1.1.财务价值F + +计算公式: +`财务价值F = [3年内年均收益 × (1 + 增长率)^5] ÷ 5` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ] +} +``` + +**输出结果**: +```json +{ + "financial_value_f": 33.8 +} +``` + + + +###### 1.1.1.1.2.法律强度L + +计算公式: +`法律强度L = 专利分 × 0.4 + 普及分 × 0.3 + 侵权分 × 0.3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "patent_score": 3.0, + "popularity_score": 7.0, + "infringement_score": 0.0 +} +``` + +**输出结果**: +```json +{ + "legal_strength_l": 3.3000000000000003 +} +``` + + + +###### 1.1.1.1.3.发展潜力D + +计算公式: +`发展潜力D = 专利分 × 0.5 + ESG分 × 0.2 + 创新投入比 × 0.3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "esg_score": 5.0, + "patent_count": 0.0, + "innovation_ratio": 18.93491124260355 +} +``` + +**输出结果**: +```json +{ + "development_potential_d": 6.680473372781065 +} +``` + + + +###### 1.1.1.1.4.行业系数I + +计算公式: +`行业系数I = (目标行业平均ROE - 基准行业ROE) ÷ 基准行业ROE` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "industry_coefficient": -0.5 +} +``` + +**输出结果**: +```json +{ + "industry_coefficient": -0.5 +} +``` + + + + +###### 1.1.1.2.流量因子B12 + +计算公式: +`流量因子B12 = ln(S1 ÷ S2) × 0.3 + 社交媒体传播度S3 × 0.7` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "search_index_s1": 0.7, + "industry_average_s2": 2200.0 +} +``` + +**输出结果**: +```json +{ + "traffic_factor_b12": 16.711681022311755, + "social_media_spread_s3": 27.32506756756757 +} +``` + + +###### 1.1.1.2.1.互动量指数 + +计算公式: +`互动量指数 = (点赞 + 评论 + 分享) ÷ 1000` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0 +} +``` + +**输出结果**: +```json +{ + "interaction_index": 68.3 +} +``` + + + +###### 1.1.1.2.2.覆盖人群指数 + +计算公式: +`覆盖人群指数 = 粉丝数 ÷ 10000` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "followers": 0 +} +``` + +**输出结果**: +```json +{ + "coverage_index": 0.0 +} +``` + + + +###### 1.1.1.2.3.转化效率 + +计算公式: +`转化效率 = 商品链接点击量 ÷ 内容浏览量` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "link_views": 296000.0, + "sales_volume": 5000.0 +} +``` + +**输出结果**: +```json +{ + "conversion_efficiency": 0.016891891891891893 +} +``` + + + +###### 1.1.1.2.4.社交媒体传播度S3 + +计算公式: +`社交媒体传播度S3 = 互动量指数 × 0.4 + 覆盖人群指数 × 0.3 + 转化效率 × 0.3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "coverage_index": 0.0, + "interaction_index": 68.3, + "conversion_efficiency": 0.016891891891891893 +} +``` + +**输出结果**: +```json +{ + "social_media_spread_s3": 27.32506756756757 +} +``` + + + + +###### 1.1.1.3.政策乘数B13 + +计算公式: +`政策乘数B13 = 1 + 政策契合度评分P × 0.15,其中 P = 政策匹配度 × 0.4 + 实施阶段评分 × 0.3 + 资金支持度 × 0.3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "funding_support": 0.0, + "policy_match_score": 5, + "implementation_stage": 10.0 +} +``` + +**输出结果**: +```json +{ + "policy_multiplier_b13": 1.75, + "policy_compatibility_score": 5.0 +} +``` + + + + +###### 1.1.2.文化价值B2 + +计算公式: +`文化价值B2 = 活态传承系数B21 × 0.6 + (纹样基因值B22 ÷ 10) × 0.4` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0, + "inheritor_level_coefficient": 0.7 +} +``` + +**输出结果**: +```json +{ + "pattern_gene_b22": 810.0, + "cultural_value_b2": 37.972824, + "living_heritage_b21": 9.28804 +} +``` + + +###### 1.1.2.1.活态传承系数B21 + +计算公式: +`活态传承系数B21 = 传承人等级系数 × 0.4 + 教学传播频次 × 0.3 + 跨界合作深度 × 0.3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "inheritor_level_coefficient": 0.7 +} +``` + +**输出结果**: +```json +{ + "teaching_frequency": 30.0268, + "living_heritage_b21": 9.28804 +} +``` + + +###### 1.1.2.1.1.教学传播频次 + +计算公式: +`教学传播频次 = 线下传习次数 × 0.6 + 线上课程点击量(万) × 0.4` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0 +} +``` + +**输出结果**: +```json +{ + "teaching_frequency": 30.0268 +} +``` + + + + +###### 1.1.2.2.纹样基因值B22 + +计算公式: +`纹样基因值B22 = (结构复杂度SC × 0.6 + 归一化信息熵H × 0.4) × 历史传承度HI × 10` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0 +} +``` + +**输出结果**: +```json +{ + "pattern_gene_b22": 810.0 +} +``` + + + + +###### 1.1.3.风险调整系数B3 + +计算公式: +`风险调整系数B3 = 0.8 + 风险评分总和R × 0.4,其中 R = 市场风险 × 0.3 + 法律风险 × 0.4 + 传承风险 × 0.3` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "lowest_price": 1580.0, + "highest_price": 3980.0, + "inheritor_ages": [ + 0, + 0, + 2 + ], + "lawsuit_status": 0.0 +} +``` + +**输出结果**: +```json +{ + "legal_risk": 0.0, + "market_risk": 0.0, + "risk_value_b3": 0.92, + "risk_score_sum": 0.3, + "inheritance_risk": 10.0 +} +``` + + +###### 1.1.3.1.市场风险 + +计算公式: +`市场风险依据价格波动率:波动率 ≤5% 计10分,5-15%计5分,>15%计0分` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "lowest_price": 1580.0, + "highest_price": 3980.0 +} +``` + +**输出结果**: +```json +{ + "market_risk": 0.0 +} +``` + + + +###### 1.1.3.2.法律风险 + +计算公式: +`法律风险根据诉讼状态评分(无诉讼/已解决/未解决)` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "lawsuit_status": 0.0 +} +``` + +**输出结果**: +```json +{ + "legal_risk": 0.0 +} +``` + + + +###### 1.1.3.3.传承风险 + +计算公式: +`传承风险依据传承人年龄:≤50岁10分,50-70岁5分,>70岁0分,取最高分` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "inheritor_ages": [ + 0, + 0, + 2 + ] +} +``` + +**输出结果**: +```json +{ + "inheritance_risk": 10.0 +} +``` + + + + + +##### 1.2.市场估值C + +计算公式: +`市场估值C = 市场竞价C1 × 热度系数C2 × 稀缺性乘数C3 × 时效性衰减C4` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "manual_bids": [ + 3980.0, + 1580.0, + 2780.0 + ], + "issuance_level": "限量:总发行份数 ≤100份", + "collection_count": 67000, + "expert_valuations": [], + "daily_browse_volume": 296000.0, + "recent_market_activity": "近一周", + "weighted_average_price": {} +} +``` + +**输出结果**: +```json +{ + "market_value_c": 0.9452, + "market_bidding_c1": 2780.0, + "temporal_decay_c4": 1.0, + "heat_coefficient_c2": 2.0, + "scarcity_multiplier_c3": 1.7 +} +``` + + +###### 1.2.1.市场竞价C1 + +计算公式: +`市场竞价C1 结合历史交易价格、人工竞价与专家估值的加权结果` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "manual_bids": [ + 3980.0, + 1580.0, + 2780.0 + ], + "expert_valuations": [], + "weighted_average_price": {} +} +``` + +**输出结果**: +```json +{ + "market_bidding_c1": 2780.0 +} +``` + + + +###### 1.2.2.热度系数C2 + +计算公式: +`热度系数C2 = 1 + 浏览热度分(依据日均浏览量与收藏数量)` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "collection_count": 67000, + "daily_browse_volume": 296000.0 +} +``` + +**输出结果**: +```json +{ + "heat_coefficient_c2": 2.0 +} +``` + + + +###### 1.2.3.稀缺性乘数C3 + +计算公式: +`稀缺性乘数C3 = 1 + 稀缺等级分` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "issuance_level": "限量:总发行份数 ≤100份" +} +``` + +**输出结果**: +```json +{ + "scarcity_multiplier_c3": 1.7 +} +``` + + + +###### 1.2.4.时效性衰减C4 + +计算公式: +`时效性衰减C4 依据距最近市场活动天数的衰减系数` + +**状态**: ✅ 已完成 + +**输入参数**: +```json +{ + "recent_market_activity": "近一周" +} +``` + +**输出结果**: +```json +{ + "temporal_decay_c4": 1.0 +} +``` + + + diff --git a/web/src/views/valuation/audit/components/mockData.js b/web/src/views/valuation/audit/components/mockData.js new file mode 100644 index 0000000..1080851 --- /dev/null +++ b/web/src/views/valuation/audit/components/mockData.js @@ -0,0 +1,874 @@ +export const mockReportMarkdown = ` +# 估值计算报告 + +## 基本信息 + +| 字段 | 值 | +|------|----| +| 估值ID | 38 | +| 资产名称 | 蜀锦 | +| 所属机构 | 成都古蜀蜀锦研究所 | +| 所属行业 | 纺织业 | +| 非遗等级 | 0 | +| 创建时间 | 2025-11-26 10:38:50 | + +## 详细计算过程 + +#### 1.最终估值A + +> 最终估值A = 模型估值B × 0.7 + 市场估值C × 0.3 + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "model_data": { + "risky_data": { + "lowest_price": 1580.0, + "highest_price": 3980.0, + "inheritor_ages": [ + 0, + 0, + 2 + ], + "lawsuit_status": 0.0 + }, + "cultural_data": { + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0, + "inheritor_level_coefficient": 0.7 + }, + "economic_data": { + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0, + "esg_score": 5.0, + "link_views": 296000.0, + "patent_count": 0.0, + "patent_score": 3.0, + "sales_volume": 5000.0, + "funding_support": 0.0, + "search_index_s1": 0.7, + "innovation_ratio": 18.93491124260355, + "popularity_score": 7.0, + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ], + "infringement_score": 0.0, + "policy_match_score": 5, + "industry_average_s2": 2200.0, + "implementation_stage": 10.0, + "industry_coefficient": -0.5 + } + }, + "market_data": { + "manual_bids": [ + 3980.0, + 1580.0, + 2780.0 + ], + "issuance_level": "限量:总发行份数 ≤100份", + "collection_count": 67000, + "expert_valuations": [], + "daily_browse_volume": 296000.0, + "recent_market_activity": "近一周", + "weighted_average_price": {} + } +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "model_value_b": 345.2993048233941, + "final_value_ab": 241.99307337637583, + "market_value_c": 0.9452, + "model_duration_ms": 1911, + "total_duration_ms": 2440, + "market_duration_ms": 443 +} +\`\`\` + + +##### 1.1.模型估值B + +计算公式: +\`模型估值B = (经济价值B1 × 0.7 + 文化价值B2 × 0.3) × 风险调整系数B3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "risky_data": { + "lowest_price": 1580.0, + "highest_price": 3980.0, + "inheritor_ages": [ + 0, + 0, + 2 + ], + "lawsuit_status": 0.0 + }, + "cultural_data": { + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0, + "inheritor_level_coefficient": 0.7 + }, + "economic_data": { + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0, + "esg_score": 5.0, + "link_views": 296000.0, + "patent_count": 0.0, + "patent_score": 3.0, + "sales_volume": 5000.0, + "funding_support": 0.0, + "search_index_s1": 0.7, + "innovation_ratio": 18.93491124260355, + "popularity_score": 7.0, + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ], + "infringement_score": 0.0, + "policy_match_score": 5, + "industry_average_s2": 2200.0, + "implementation_stage": 10.0, + "industry_coefficient": -0.5 + } +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "risk_details": { + "legal_risk": 0.0, + "market_risk": 0.0, + "risk_value_b3": 0.92, + "risk_score_sum": 0.3, + "inheritance_risk": 10.0 + }, + "model_value_b": 345.2993048233941, + "risk_value_b3": 0.92, + "cultural_details": { + "pattern_gene_b22": 810.0, + "cultural_value_b2": 37.972824, + "living_heritage_b21": 9.28804 + }, + "economic_details": { + "basic_value_b11": 16.77359467455621, + "legal_strength_l": 3.3000000000000003, + "economic_value_b1": 519.9049773282518, + "financial_value_f": 33.8, + "traffic_factor_b12": 16.711681022311755, + "policy_multiplier_b13": 1.75, + "development_potential_d": 6.680473372781065 + }, + "cultural_value_b2": 37.972824, + "economic_value_b1": 519.9049773282518 +} +\`\`\` + + +###### 1.1.1.经济价值B1 + +计算公式: +\`经济价值B1 = 基础价值B11 × (1 + 流量因子B12) × 政策乘数B13\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0, + "esg_score": 5.0, + "link_views": 296000.0, + "patent_count": 0.0, + "patent_score": 3.0, + "sales_volume": 5000.0, + "funding_support": 0.0, + "search_index_s1": 0.7, + "innovation_ratio": 18.93491124260355, + "popularity_score": 7.0, + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ], + "infringement_score": 0.0, + "policy_match_score": 5, + "industry_average_s2": 2200.0, + "implementation_stage": 10.0, + "industry_coefficient": -0.5 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "basic_value_b11": 16.77359467455621, + "legal_strength_l": 3.3000000000000003, + "economic_value_b1": 519.9049773282518, + "financial_value_f": 33.8, + "traffic_factor_b12": 16.711681022311755, + "policy_multiplier_b13": 1.75, + "development_potential_d": 6.680473372781065 +} +\`\`\` + + +###### 1.1.1.1.基础价值B11 + +计算公式: +\`基础价值B11 = 财务价值F × (0.45 + 0.05 × 行业系数I) + 法律强度L × (0.35 + 0.05 × 行业系数I) + 发展潜力D × 0.2\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "legal_strength_l": 3.3000000000000003, + "financial_value_f": 33.8, + "industry_coefficient": -0.5, + "development_potential_d": 6.680473372781065 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "basic_value_b11": 16.77359467455621, + "legal_strength_l": 3.3000000000000003, + "financial_value_f": 33.8, + "industry_coefficient": -0.5, + "development_potential_d": 6.680473372781065 +} +\`\`\` + + +###### 1.1.1.1.1.财务价值F + +计算公式: +\`财务价值F = [3年内年均收益 × (1 + 增长率)^5] ÷ 5\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "three_year_income": [ + 169.0, + 169.0, + 169.0 + ] +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "financial_value_f": 33.8 +} +\`\`\` + + + +###### 1.1.1.1.2.法律强度L + +计算公式: +\`法律强度L = 专利分 × 0.4 + 普及分 × 0.3 + 侵权分 × 0.3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "patent_score": 3.0, + "popularity_score": 7.0, + "infringement_score": 0.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "legal_strength_l": 3.3000000000000003 +} +\`\`\` + + + +###### 1.1.1.1.3.发展潜力D + +计算公式: +\`发展潜力D = 专利分 × 0.5 + ESG分 × 0.2 + 创新投入比 × 0.3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "esg_score": 5.0, + "patent_count": 0.0, + "innovation_ratio": 18.93491124260355 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "development_potential_d": 6.680473372781065 +} +\`\`\` + + + +###### 1.1.1.1.4.行业系数I + +计算公式: +\`行业系数I = (目标行业平均ROE - 基准行业ROE) ÷ 基准行业ROE\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "industry_coefficient": -0.5 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "industry_coefficient": -0.5 +} +\`\`\` + + + + +###### 1.1.1.2.流量因子B12 + +计算公式: +\`流量因子B12 = ln(S1 ÷ S2) × 0.3 + 社交媒体传播度S3 × 0.7\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "search_index_s1": 0.7, + "industry_average_s2": 2200.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "traffic_factor_b12": 16.711681022311755, + "social_media_spread_s3": 27.32506756756757 +} +\`\`\` + + +###### 1.1.1.2.1.互动量指数 + +计算公式: +\`互动量指数 = (点赞 + 评论 + 分享) ÷ 1000\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "likes": 67000.0, + "shares": 500.0, + "comments": 800.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "interaction_index": 68.3 +} +\`\`\` + + + +###### 1.1.1.2.2.覆盖人群指数 + +计算公式: +\`覆盖人群指数 = 粉丝数 ÷ 10000\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "followers": 0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "coverage_index": 0.0 +} +\`\`\` + + + +###### 1.1.1.2.3.转化效率 + +计算公式: +\`转化效率 = 商品链接点击量 ÷ 内容浏览量\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "link_views": 296000.0, + "sales_volume": 5000.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "conversion_efficiency": 0.016891891891891893 +} +\`\`\` + + + +###### 1.1.1.2.4.社交媒体传播度S3 + +计算公式: +\`社交媒体传播度S3 = 互动量指数 × 0.4 + 覆盖人群指数 × 0.3 + 转化效率 × 0.3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "coverage_index": 0.0, + "interaction_index": 68.3, + "conversion_efficiency": 0.016891891891891893 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "social_media_spread_s3": 27.32506756756757 +} +\`\`\` + + + + +###### 1.1.1.3.政策乘数B13 + +计算公式: +\`政策乘数B13 = 1 + 政策契合度评分P × 0.15,其中 P = 政策匹配度 × 0.4 + 实施阶段评分 × 0.3 + 资金支持度 × 0.3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "funding_support": 0.0, + "policy_match_score": 5, + "implementation_stage": 10.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "policy_multiplier_b13": 1.75, + "policy_compatibility_score": 5.0 +} +\`\`\` + + + + +###### 1.1.2.文化价值B2 + +计算公式: +\`文化价值B2 = 活态传承系数B21 × 0.6 + (纹样基因值B22 ÷ 10) × 0.4\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0, + "inheritor_level_coefficient": 0.7 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "pattern_gene_b22": 810.0, + "cultural_value_b2": 37.972824, + "living_heritage_b21": 9.28804 +} +\`\`\` + + +###### 1.1.2.1.活态传承系数B21 + +计算公式: +\`活态传承系数B21 = 传承人等级系数 × 0.4 + 教学传播频次 × 0.3 + 跨界合作深度 × 0.3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0, + "cross_border_depth": 0.0, + "inheritor_level_coefficient": 0.7 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "teaching_frequency": 30.0268, + "living_heritage_b21": 9.28804 +} +\`\`\` + + +###### 1.1.2.1.1.教学传播频次 + +计算公式: +\`教学传播频次 = 线下传习次数 × 0.6 + 线上课程点击量(万) × 0.4\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "douyin_views": 67000.0, + "bilibili_views": 0, + "kuaishou_views": 0, + "offline_sessions": 50.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "teaching_frequency": 30.0268 +} +\`\`\` + + + + +###### 1.1.2.2.纹样基因值B22 + +计算公式: +\`纹样基因值B22 = (结构复杂度SC × 0.6 + 归一化信息熵H × 0.4) × 历史传承度HI × 10\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "normalized_entropy": 9, + "structure_complexity": 1.5, + "historical_inheritance": 18.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "pattern_gene_b22": 810.0 +} +\`\`\` + + + + +###### 1.1.3.风险调整系数B3 + +计算公式: +\`风险调整系数B3 = 0.8 + 风险评分总和R × 0.4,其中 R = 市场风险 × 0.3 + 法律风险 × 0.4 + 传承风险 × 0.3\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "lowest_price": 1580.0, + "highest_price": 3980.0, + "inheritor_ages": [ + 0, + 0, + 2 + ], + "lawsuit_status": 0.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "legal_risk": 0.0, + "market_risk": 0.0, + "risk_value_b3": 0.92, + "risk_score_sum": 0.3, + "inheritance_risk": 10.0 +} +\`\`\` + + +###### 1.1.3.1.市场风险 + +计算公式: +\`市场风险依据价格波动率:波动率 ≤5% 计10分,5-15%计5分,>15%计0分\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "lowest_price": 1580.0, + "highest_price": 3980.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "market_risk": 0.0 +} +\`\`\` + + + +###### 1.1.3.2.法律风险 + +计算公式: +\`法律风险根据诉讼状态评分(无诉讼/已解决/未解决)\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "lawsuit_status": 0.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "legal_risk": 0.0 +} +\`\`\` + + + +###### 1.1.3.3.传承风险 + +计算公式: +\`传承风险依据传承人年龄:≤50岁10分,50-70岁5分,>70岁0分,取最高分\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "inheritor_ages": [ + 0, + 0, + 2 + ] +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "inheritance_risk": 10.0 +} +\`\`\` + + + + + +##### 1.2.市场估值C + +计算公式: +\`市场估值C = 市场竞价C1 × 热度系数C2 × 稀缺性乘数C3 × 时效性衰减C4\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "manual_bids": [ + 3980.0, + 1580.0, + 2780.0 + ], + "issuance_level": "限量:总发行份数 ≤100份", + "collection_count": 67000, + "expert_valuations": [], + "daily_browse_volume": 296000.0, + "recent_market_activity": "近一周", + "weighted_average_price": {} +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "market_value_c": 0.9452, + "market_bidding_c1": 2780.0, + "temporal_decay_c4": 1.0, + "heat_coefficient_c2": 2.0, + "scarcity_multiplier_c3": 1.7 +} +\`\`\` + + +###### 1.2.1.市场竞价C1 + +计算公式: +\`市场竞价C1 结合历史交易价格、人工竞价与专家估值的加权结果\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "manual_bids": [ + 3980.0, + 1580.0, + 2780.0 + ], + "expert_valuations": [], + "weighted_average_price": {} +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "market_bidding_c1": 2780.0 +} +\`\`\` + + + +###### 1.2.2.热度系数C2 + +计算公式: +\`热度系数C2 = 1 + 浏览热度分(依据日均浏览量与收藏数量)\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "collection_count": 67000, + "daily_browse_volume": 296000.0 +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "heat_coefficient_c2": 2.0 +} +\`\`\` + + + +###### 1.2.3.稀缺性乘数C3 + +计算公式: +\`稀缺性乘数C3 = 1 + 稀缺等级分\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "issuance_level": "限量:总发行份数 ≤100份" +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "scarcity_multiplier_c3": 1.7 +} +\`\`\` + + + +###### 1.2.4.时效性衰减C4 + +计算公式: +\`时效性衰减C4 依据距最近市场活动天数的衰减系数\` + +**状态**: ✅ 已完成 + +**输入参数**: +\`\`\`json +{ + "recent_market_activity": "近一周" +} +\`\`\` + +**输出结果**: +\`\`\`json +{ + "temporal_decay_c4": 1.0 +} +\`\`\` +` diff --git a/web/src/views/workbench/index.vue b/web/src/views/workbench/index.vue index 0665518..c4931b0 100644 --- a/web/src/views/workbench/index.vue +++ b/web/src/views/workbench/index.vue @@ -12,35 +12,10 @@

{{ $t('views.workbench.text_welcome') }}

- - - + - - -
- -

{{ dummyText }}

-
-
-