add 0s0d
This commit is contained in:
@@ -363,6 +363,12 @@ const featureMap = {
|
||||
remark: '手机在网时长查询用于检测用户手机号码的在网使用时长。在网时长越长,通常表示用户身份越稳定,信用风险越低。需要注意的是,如果手机号码存在携号转网的情况,那么在网时长会从转网的时候重新计算,转网前的在网时长不计入当前在网时长。建议结合手机携号转网查询结果进行综合评估。'
|
||||
},
|
||||
|
||||
IVYZ0S0D:{
|
||||
name: "劳动仲裁信息查询(个人版)",
|
||||
component: defineAsyncComponent(() => import("@/ui/IVYZ0S0D.vue")),
|
||||
remark: '劳动仲裁信息查询(个人版)用于查询个人在劳动仲裁方面的信息,包括劳动仲裁案件数量、劳动仲裁案件类型、劳动仲裁案件结果等。',
|
||||
},
|
||||
|
||||
// 谛听多维报告
|
||||
DWBG8B4D: {
|
||||
name: "谛听多维报告",
|
||||
@@ -505,6 +511,8 @@ const featureRiskLevels = {
|
||||
'FLXGDEA9': 15, // 公安不良人员名单(加强版)
|
||||
'IVYZ81NC': 3, // 单人婚姻查询(登记时间版)
|
||||
'IVYZ5733': 3, // 单人婚姻状态A
|
||||
'IVYZ0S0D': 3, // 劳动仲裁信息查询(个人版)
|
||||
|
||||
|
||||
// 📊 复合报告类 - 按子模块动态计算
|
||||
'DWBG8B4D': 0, // 谛听多维报告(由子模块计算)
|
||||
|
||||
@@ -1,238 +0,0 @@
|
||||
# CQYGL3F8E 人企关系加强版模块
|
||||
|
||||
## 概述
|
||||
|
||||
CQYGL3F8E 是人企关系加强版模块,提供全面的企业关联分析功能。该模块通过拆分功能,将原本的单一组件分解为三个独立的子模块,每个子模块专注于特定类型的企业关联信息展示。
|
||||
|
||||
## 模块结构
|
||||
|
||||
### 主模块
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/index.vue`
|
||||
- **功能**: 整合三个子模块,提供完整的人企关系分析视图
|
||||
- **API ID**: `QYGL3F8E`
|
||||
|
||||
### 子模块
|
||||
|
||||
#### 1. 投资企业记录 (Investment)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/Investment.vue`
|
||||
- **API ID**: `CQYGL3F8E_Investment`
|
||||
- **功能**: 展示用户作为股东、历史股东、法人、历史法人的企业记录
|
||||
- **数据来源**: 过滤 `relationship` 字段包含 `["sh", "his_sh", "lp", "his_lp"]` 的企业
|
||||
|
||||
#### 2. 高管任职记录 (SeniorExecutive)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/SeniorExecutive.vue`
|
||||
- **API ID**: `CQYGL3F8E_SeniorExecutive`
|
||||
- **功能**: 展示用户作为高管、历史高管的企业任职记录
|
||||
- **数据来源**: 过滤 `relationship` 字段包含 `["tm", "his_tm"]` 的企业
|
||||
|
||||
#### 3. 涉诉风险 (Lawsuit)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/Lawsuit.vue`
|
||||
- **API ID**: `CQYGL3F8E_Lawsuit`
|
||||
- **功能**: 展示存在涉诉风险的企业信息
|
||||
- **数据来源**: 过滤 `lawsuitInfo` 字段包含有效涉诉数据的企业
|
||||
|
||||
#### 4. 对外投资历史 (InvestHistory)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/InvestHistory.vue`
|
||||
- **API ID**: `CQYGL3F8E_InvestHistory`
|
||||
- **功能**: 展示企业的对外投资历史记录
|
||||
- **数据来源**: `invest_history` 字段
|
||||
|
||||
#### 5. 融资历史 (FinancingHistory)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/FinancingHistory.vue`
|
||||
- **API ID**: `CQYGL3F8E_FinancingHistory`
|
||||
- **功能**: 展示企业的融资历史记录
|
||||
- **数据来源**: `financing_history` 字段
|
||||
|
||||
#### 6. 行政处罚 (Punishment)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/Punishment.vue`
|
||||
- **API ID**: `CQYGL3F8E_Punishment`
|
||||
- **功能**: 展示企业的行政处罚记录
|
||||
- **数据来源**: `punishment_info` 字段
|
||||
|
||||
#### 7. 经营异常 (Abnormal)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/Abnormal.vue`
|
||||
- **API ID**: `CQYGL3F8E_Abnormal`
|
||||
- **功能**: 展示企业的经营异常记录
|
||||
- **数据来源**: `abnormal_info` 字段
|
||||
|
||||
#### 8. 欠税公告 (OwnTax)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/OwnTax.vue`
|
||||
- **API ID**: `CQYGL3F8E_OwnTax`
|
||||
- **功能**: 展示企业的欠税公告记录
|
||||
- **数据来源**: `own_tax` 字段
|
||||
|
||||
#### 9. 税收违法 (TaxContravention)
|
||||
- **文件位置**: `src/ui/CQYGL3F8E/components/TaxContravention.vue`
|
||||
- **API ID**: `CQYGL3F8E_TaxContravention`
|
||||
- **功能**: 展示企业的税收违法记录
|
||||
- **数据来源**: `tax_contravention` 字段
|
||||
|
||||
## 数据拆分逻辑
|
||||
|
||||
### 数据源结构
|
||||
```javascript
|
||||
{
|
||||
data: {
|
||||
apiID: 'QYGL3F8E',
|
||||
data: {
|
||||
items: [
|
||||
{
|
||||
orgName: '企业名称',
|
||||
relationship: ['sh', 'tm'], // 关系类型
|
||||
lawsuitInfo: { ... }, // 涉诉信息
|
||||
basicInfo: { ... }, // 基本信息
|
||||
stockHolderItem: { ... }, // 持股信息
|
||||
staffList: { ... } // 人员列表
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 拆分规则
|
||||
|
||||
#### 投资企业记录
|
||||
- **过滤条件**: `relationship` 包含投资类关系
|
||||
- **关系类型**: `["sh", "his_sh", "lp", "his_lp"]`
|
||||
- **包含字段**: 完整的企业信息,包括持股详情
|
||||
|
||||
#### 高管任职记录
|
||||
- **过滤条件**: `relationship` 包含高管类关系
|
||||
- **关系类型**: `["tm", "his_tm"]`
|
||||
- **包含字段**: 完整的企业信息,重点关注任职信息
|
||||
|
||||
#### 涉诉风险
|
||||
- **过滤条件**: `lawsuitInfo` 包含有效涉诉数据
|
||||
- **检查字段**:
|
||||
- `lawsuitInfo.entout.data` (非空对象)
|
||||
- `lawsuitInfo.sxbzxr.data.sxbzxr` (非空数组)
|
||||
- `lawsuitInfo.xgbzxr.data.xgbzxr` (非空数组)
|
||||
- **包含字段**: 涉诉企业和总数统计
|
||||
|
||||
#### 对外投资历史
|
||||
- **数据来源**: `invest_history.items` 数组
|
||||
- **包含字段**: 投资企业信息、持股比例、注册资本等
|
||||
|
||||
#### 融资历史
|
||||
- **数据来源**: `financing_history.items` 数组
|
||||
- **包含字段**: 融资轮次、融资金额、投资者、新闻信息等
|
||||
|
||||
#### 行政处罚
|
||||
- **数据来源**: `punishment_info.items` 数组
|
||||
- **包含字段**: 处罚类型、处罚金额、处罚原因、处罚部门等
|
||||
|
||||
#### 经营异常
|
||||
- **数据来源**: `abnormal_info.items` 数组
|
||||
- **包含字段**: 异常原因、列入/移出日期、相关部门等
|
||||
|
||||
#### 欠税公告
|
||||
- **数据来源**: `own_tax.items` 数组
|
||||
- **包含字段**: 欠税金额、税务类型、欠税税种、纳税人信息、税务机关等
|
||||
|
||||
#### 税收违法
|
||||
- **数据来源**: `tax_contravention.items` 数组
|
||||
- **包含字段**: 案件性质、违法ID、税务机关、发布时间、纳税人名称等
|
||||
|
||||
## 工具函数
|
||||
|
||||
### simpleSplitter.js
|
||||
位置: `src/ui/CQYGL3F8E/utils/simpleSplitter.js`
|
||||
|
||||
#### 主要函数
|
||||
- `splitCQYGL3F8EForTabs(reportData)`: 数据拆分主函数
|
||||
- `getRelationshipText(relation)`: 获取关系文本描述
|
||||
- `getRelationshipClass(relation)`: 获取关系样式类
|
||||
- `getStatusClass(status)`: 获取企业状态样式类
|
||||
- `formatCapital(capital, currency)`: 格式化资本金额
|
||||
- `formatDate(dateStr)`: 格式化日期显示
|
||||
|
||||
## 集成配置
|
||||
|
||||
### BaseReport.vue 配置
|
||||
```javascript
|
||||
// 导入拆分函数
|
||||
import { splitCQYGL3F8EForTabs } from '@/ui/CQYGL3F8E/utils/simpleSplitter.js';
|
||||
|
||||
// 数据处理
|
||||
const processedReportData = computed(() => {
|
||||
let data = reportData.value;
|
||||
// ... 其他拆分
|
||||
data = splitCQYGL3F8EForTabs(data);
|
||||
return data;
|
||||
});
|
||||
|
||||
// 功能映射
|
||||
const featureMap = {
|
||||
QYGL3F8E: {
|
||||
name: "人企关系加强版",
|
||||
component: defineAsyncComponent(() => import("@/ui/CQYGL3F8E/index.vue")),
|
||||
remark: '人企关系加强版提供全面的企业关联分析,包括投资企业记录、高管任职记录和涉诉风险等多维度信息。'
|
||||
},
|
||||
CQYGL3F8E_Investment: {
|
||||
name: "投资企业记录",
|
||||
component: defineAsyncComponent(() => import("@/ui/CQYGL3F8E/components/Investment.vue")),
|
||||
},
|
||||
CQYGL3F8E_SeniorExecutive: {
|
||||
name: "高管任职记录",
|
||||
component: defineAsyncComponent(() => import("@/ui/CQYGL3F8E/components/SeniorExecutive.vue")),
|
||||
},
|
||||
CQYGL3F8E_Lawsuit: {
|
||||
name: "涉诉风险",
|
||||
component: defineAsyncComponent(() => import("@/ui/CQYGL3F8E/components/Lawsuit.vue")),
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
## 使用方式
|
||||
|
||||
### 完整视图
|
||||
访问 `QYGL3F8E` 将显示完整的人企关系分析,包含所有九个子模块。
|
||||
|
||||
### 独立子模块
|
||||
- 访问 `CQYGL3F8E_Investment` 仅显示投资企业记录
|
||||
- 访问 `CQYGL3F8E_SeniorExecutive` 仅显示高管任职记录
|
||||
- 访问 `CQYGL3F8E_Lawsuit` 仅显示涉诉风险
|
||||
- 访问 `CQYGL3F8E_InvestHistory` 仅显示对外投资历史
|
||||
- 访问 `CQYGL3F8E_FinancingHistory` 仅显示融资历史
|
||||
- 访问 `CQYGL3F8E_Punishment` 仅显示行政处罚
|
||||
- 访问 `CQYGL3F8E_Abnormal` 仅显示经营异常
|
||||
- 访问 `CQYGL3F8E_OwnTax` 仅显示欠税公告
|
||||
- 访问 `CQYGL3F8E_TaxContravention` 仅显示税收违法
|
||||
|
||||
## 特性
|
||||
|
||||
### 1. 数据过滤
|
||||
- 基于关系类型智能过滤企业数据
|
||||
- 支持多种关系类型的组合展示
|
||||
|
||||
### 2. 展开式详情
|
||||
- 企业卡片支持点击展开查看详细信息
|
||||
- 包含持股信息、基本信息、联系方式等
|
||||
|
||||
### 3. 状态标识
|
||||
- 企业状态颜色编码(存续、注销、吊销等)
|
||||
- 关系类型标签展示
|
||||
|
||||
### 4. 数据格式化
|
||||
- 资本金额自动转换为万元单位
|
||||
- 日期格式化显示
|
||||
- 持股比例可视化进度条
|
||||
|
||||
### 5. 响应式设计
|
||||
- 支持移动端和桌面端
|
||||
- 自适应布局和交互
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **数据完整性**: 拆分后的数据保持原始结构的完整性
|
||||
2. **性能优化**: 使用 `defineAsyncComponent` 实现组件懒加载
|
||||
3. **错误处理**: 对缺失数据进行安全处理,避免渲染错误
|
||||
4. **样式一致性**: 保持与整体设计系统的视觉一致性
|
||||
|
||||
## 更新历史
|
||||
|
||||
- **v1.0.0**: 初始版本,支持基本的企业关联信息展示
|
||||
- **v2.0.0**: 模块拆分重构,支持独立子模块访问
|
||||
- **v2.1.0**: 优化数据处理逻辑,增强错误处理能力
|
||||
- **v2.2.0**: 新增欠税公告和税收违法模块,完善企业风险分析功能
|
||||
@@ -1,222 +0,0 @@
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"orgName": "海南海宇大数据有限公司",
|
||||
"relationship": ["sh", "lp"],
|
||||
"basicInfo": {
|
||||
"regStatus": "1:在营(开业)",
|
||||
"creditCode": "91460108MADNY3F43W",
|
||||
"regNumber": "460108011261916",
|
||||
"entType": "1130:有限责任公司(自然人投资或控股)",
|
||||
"industry": "租赁和商务服务业-商务服务业-会议、展览及相关服务-科技会展服务",
|
||||
"regCapital": "100.000000",
|
||||
"regCapitalCurrency": "万人民币",
|
||||
"estiblishTime": "2024-06-20",
|
||||
"regInstitute": "海南省市场监督管理局",
|
||||
"approvedTime": "2024-06-20",
|
||||
"legalPersonName": "刘福思",
|
||||
"phone": "13800138000",
|
||||
"email": "contact@example.com",
|
||||
"website": "https://www.example.com",
|
||||
"regAddress": "海南省海口市龙华区"
|
||||
},
|
||||
"stockHolderItem": {
|
||||
"orgHolderName": "张三",
|
||||
"orgHolderType": "自然人",
|
||||
"subscriptAmt": "40.000000",
|
||||
"investRate": "40.0",
|
||||
"investDate": "2024-06-20"
|
||||
},
|
||||
"staffList": {
|
||||
"result": [
|
||||
{
|
||||
"typeJoin": ["执行董事", "总经理"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"lawsuitInfo": {
|
||||
"entout": {
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"civil": {
|
||||
"cases": [
|
||||
{
|
||||
"c_ah": "(2022)京0105民初****号",
|
||||
"n_ajjzjd": "已结案",
|
||||
"d_larq": "2022-03-15",
|
||||
"d_jarq": "2022-06-20",
|
||||
"n_jbfy": "北京市朝阳区人民法院",
|
||||
"c_ssdy": "北京市",
|
||||
"n_ajlx": "民事一审",
|
||||
"n_laay_tree": "合同纠纷",
|
||||
"n_laay": "合同纠纷",
|
||||
"c_dsrxx": [
|
||||
{
|
||||
"n_ssdw": "原告",
|
||||
"c_mc": "海南海宇大数据有限公司",
|
||||
"n_dsrlx": "企业组织"
|
||||
},
|
||||
{
|
||||
"n_ssdw": "被告",
|
||||
"c_mc": "某供应商",
|
||||
"n_dsrlx": "企业组织"
|
||||
}
|
||||
],
|
||||
"n_jafs": "判决",
|
||||
"n_jaay_tree": "合同纠纷",
|
||||
"c_gkws_dsr": "原告海南海宇大数据有限公司...",
|
||||
"c_gkws_pjjg": "一、被告于本判决生效之日起十日内...",
|
||||
"next": {
|
||||
"c_ah": "(2022)京01民终****号",
|
||||
"stage_type": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"criminal": {},
|
||||
"administrative": {},
|
||||
"preservation": {},
|
||||
"implement": {
|
||||
"cases": [
|
||||
{
|
||||
"c_ah": "(2016)冀1025执887号",
|
||||
"n_ajjzjd": "已结案",
|
||||
"d_larq": "2016-06-14",
|
||||
"d_jarq": "2016-06-28",
|
||||
"n_jbfy": "大城县人民法院",
|
||||
"c_ssdy": "河北省",
|
||||
"n_ajlx": "首次执行",
|
||||
"n_laay": "罚金",
|
||||
"c_dsrxx": [
|
||||
{
|
||||
"n_ssdw": "被执行人",
|
||||
"c_mc": "王杰",
|
||||
"n_dsrlx": "自然人"
|
||||
}
|
||||
],
|
||||
"n_jafs": "终结执行",
|
||||
"c_gkws_dsr": "被执行人王杰,男,1998年生...",
|
||||
"c_gkws_pjjg": "终结本院(2014)大少刑初字第14号..."
|
||||
}
|
||||
]
|
||||
},
|
||||
"bankrupt": {}
|
||||
},
|
||||
"count": {
|
||||
"count_total": 1,
|
||||
"count_wei_total": 0,
|
||||
"count_jie_total": 1
|
||||
},
|
||||
"crc": "2835980316",
|
||||
"cases_tree": {}
|
||||
},
|
||||
"sxbzxr": {
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"sxbzxr": [
|
||||
{
|
||||
"ah": "(2022)京0105执****号",
|
||||
"larq": "2022-09-15",
|
||||
"fbrq": "2022-09-20",
|
||||
"zxfy": "北京市朝阳区人民法院",
|
||||
"sf": "北京市",
|
||||
"qyfr": "张某",
|
||||
"zzjgdm": "91110108MA0******",
|
||||
"zxyjwh": "(2022)京0105民初****号",
|
||||
"zxyjdw": "北京市朝阳区人民法院",
|
||||
"yw": "向申请人支付服务费350000元及违约金",
|
||||
"lxqk": "全部未履行",
|
||||
"xwqx": "有履行能力而拒不履行生效法律文书确定义务",
|
||||
"pjje_gj": 350000
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"xgbzxr": {
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"xgbzxr": [
|
||||
{
|
||||
"ah": "(2022)京0105执****号",
|
||||
"fbrq": "2022-10-01",
|
||||
"zxfy": "北京市朝阳区人民法院",
|
||||
"id": "BJ0105XG202200****"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"invest_history": {
|
||||
"items": [
|
||||
{
|
||||
"companyName": "被投资企业A",
|
||||
"investAmount": "100.00",
|
||||
"investRate": "20.0",
|
||||
"investDate": "2023-01-15"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
},
|
||||
"financing_history": {
|
||||
"items": [
|
||||
{
|
||||
"round": "A轮",
|
||||
"amount": "1000.00",
|
||||
"currency": "万元",
|
||||
"date": "2023-06-01",
|
||||
"investors": ["投资机构A", "投资机构B"]
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
},
|
||||
"punishment_info": {
|
||||
"items": [
|
||||
{
|
||||
"punishType": "行政处罚",
|
||||
"punishAmount": "10.00",
|
||||
"punishReason": "违反相关规定",
|
||||
"punishDepartment": "市场监督管理局",
|
||||
"punishDate": "2023-03-15"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
},
|
||||
"abnormal_info": {
|
||||
"items": [
|
||||
{
|
||||
"abnormalReason": "通过登记的住所或者经营场所无法联系",
|
||||
"addDate": "2023-05-10",
|
||||
"removeDate": "2023-06-10",
|
||||
"department": "市场监督管理局"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
},
|
||||
"own_tax": {
|
||||
"items": [
|
||||
{
|
||||
"taxAmount": "125.80",
|
||||
"taxType": "增值税",
|
||||
"taxpayerName": "海南海宇大数据有限公司",
|
||||
"taxDepartment": "海口市税务局",
|
||||
"publishDate": "2023-08-15"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
},
|
||||
"tax_contravention": {
|
||||
"items": [
|
||||
{
|
||||
"caseNature": "税收违法",
|
||||
"caseId": "TAX2023001",
|
||||
"taxDepartment": "海口市税务局",
|
||||
"publishDate": "2023-09-01",
|
||||
"taxpayerName": "海南海宇大数据有限公司"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
@@ -1,462 +0,0 @@
|
||||
{
|
||||
"items": [
|
||||
{
|
||||
"orgName": "海南海宇大数据有限公司",
|
||||
"relationship": [
|
||||
"sh",
|
||||
"lp"
|
||||
],
|
||||
"basicInfo": {
|
||||
"regStatus": "1:在营(开业)",
|
||||
"creditCode": "91460108MADNY3F43W",
|
||||
"regNumber": "460108011261916",
|
||||
"entType": "1130:有限责任公司(自然人投资或控股)",
|
||||
"industry": "租赁和商务服务业-商务服务业-会议、展览及相关服务-科技会展服务",
|
||||
"regCapital": "100.000000",
|
||||
"regCapitalCurrency": "万人民币",
|
||||
"estiblishTime": "2024-06-20",
|
||||
"regInstitute": "海南省市场监督管理局",
|
||||
"approvedTime": "2024-06-20",
|
||||
"legalPersonName": "刘福思",
|
||||
"phone": "13800138000",
|
||||
"email": "contact@example.com",
|
||||
"website": "https://www.example.com",
|
||||
"regAddress": "海南省海口市龙华区"
|
||||
},
|
||||
"stockHolderItem": {
|
||||
"orgHolderName": "张三",
|
||||
"orgHolderType": "自然人",
|
||||
"subscriptAmt": "40.000000",
|
||||
"investRate": "40.0",
|
||||
"investDate": "2024-06-20"
|
||||
},
|
||||
"staffList": {},
|
||||
"lawsuitInfo": {
|
||||
"entout": {
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"civil": {
|
||||
"cases": [
|
||||
{
|
||||
"c_ah": "(2022)京0105民初****号",
|
||||
"n_ajjzjd": "已结案",
|
||||
"d_larq": "2022-03-15",
|
||||
"d_jarq": "2022-06-20",
|
||||
"n_jbfy": "北京市朝阳区人民法院",
|
||||
"c_ssdy": "北京市",
|
||||
"n_ajlx": "民事一审",
|
||||
"n_laay_tree": "合同纠纷",
|
||||
"n_laay": "合同纠纷",
|
||||
"c_dsrxx": [
|
||||
{
|
||||
"n_ssdw": "原告",
|
||||
"c_mc": "海南海宇大数据有限公司",
|
||||
"n_dsrlx": "企业组织"
|
||||
},
|
||||
{
|
||||
"n_ssdw": "被告",
|
||||
"c_mc": "某供应商",
|
||||
"n_dsrlx": "企业组织"
|
||||
}
|
||||
],
|
||||
"n_jafs": "判决",
|
||||
"n_jaay_tree": "合同纠纷",
|
||||
"c_gkws_dsr": "原告海南海宇大数据有限公司...",
|
||||
"c_gkws_pjjg": "一、被告于本判决生效之日起十日内...",
|
||||
"n_jabdje": 350000,
|
||||
"n_qsbdje": 350000,
|
||||
"n_jabdje_gj": 350000,
|
||||
"n_qsbdje_gj": 350000,
|
||||
"n_jabdje_level": 3,
|
||||
"n_qsbdje_level": 3,
|
||||
"n_jabdje_gj_level": 3,
|
||||
"n_qsbdje_gj_level": 3,
|
||||
"n_crc": 0,
|
||||
"n_ssdw": "原告",
|
||||
"n_ssdw_ys": "原告",
|
||||
"n_slcx": "一审",
|
||||
"n_jaay": "合同纠纷",
|
||||
"n_laay_tag": "合同",
|
||||
"n_jaay_tag": "合同",
|
||||
"n_pj_victory": "胜诉",
|
||||
"n_jbfy_cj": "基层法院",
|
||||
"c_gkws_glah": "",
|
||||
"c_ah_hx": "",
|
||||
"c_slfsxx": "普通程序",
|
||||
"c_ah_ys": "",
|
||||
"c_gkws_id": "ws123456",
|
||||
"c_id": "case123456",
|
||||
"n_ajbs": "20220101001"
|
||||
}
|
||||
],
|
||||
"count": {
|
||||
"count_total": 1,
|
||||
"count_wei_total": 0,
|
||||
"count_jie_total": 1,
|
||||
"money_total": 350000,
|
||||
"money_jie_total": 350000,
|
||||
"money_wei_total": 0,
|
||||
"count_yuangao": 1,
|
||||
"count_jie_yuangao": 1,
|
||||
"count_wei_yuangao": 0,
|
||||
"money_yuangao": 350000,
|
||||
"money_jie_yuangao": 350000,
|
||||
"money_wei_yuangao": 0,
|
||||
"count_beigao": 1,
|
||||
"count_jie_beigao": 1,
|
||||
"count_wei_beigao": 0,
|
||||
"money_beigao": 0,
|
||||
"money_jie_beigao": 0,
|
||||
"money_wei_beigao": 0,
|
||||
"count_other": 0,
|
||||
"count_jie_other": 0,
|
||||
"count_wei_other": 0,
|
||||
"money_other": 0,
|
||||
"money_jie_other": 0,
|
||||
"money_wei_other": 0,
|
||||
"money_wei_percent": 0,
|
||||
"area_stat": "北京市:1",
|
||||
"ay_stat": "合同纠纷:1",
|
||||
"jafs_stat": "判决:1",
|
||||
"larq_stat": "2022:1"
|
||||
}
|
||||
},
|
||||
"criminal": {
|
||||
"cases": [],
|
||||
"count": {
|
||||
"money_wei_beigao": 0,
|
||||
"count_wei_other": 0,
|
||||
"count_jie_yuangao": 0,
|
||||
"larq_stat": "",
|
||||
"money_wei_yuangao": 0,
|
||||
"count_wei_total": 0,
|
||||
"count_other": 0,
|
||||
"money_yuangao": 0,
|
||||
"jafs_stat": "",
|
||||
"count_total": 0,
|
||||
"money_wei_total": 0,
|
||||
"count_jie_beigao": 0,
|
||||
"money_jie_other": 0,
|
||||
"money_total": 0,
|
||||
"count_wei_yuangao": 0,
|
||||
"money_beigao": 0,
|
||||
"ay_stat": "",
|
||||
"count_jie_other": 0,
|
||||
"count_yuangao": 0,
|
||||
"money_jie_beigao": 0,
|
||||
"money_jie_yuangao": 0,
|
||||
"count_jie_total": 0,
|
||||
"count_wei_beigao": 0,
|
||||
"area_stat": "",
|
||||
"money_wei_percent": 0,
|
||||
"money_jie_total": 0,
|
||||
"count_beigao": 0,
|
||||
"money_other": 0,
|
||||
"money_wei_other": 0
|
||||
}
|
||||
},
|
||||
"administrative": {
|
||||
"cases": [],
|
||||
"count": {
|
||||
"jafs_stat": "",
|
||||
"larq_stat": "",
|
||||
"count_jie_yuangao": 0,
|
||||
"count_wei_other": 0,
|
||||
"money_wei_other": 0,
|
||||
"money_other": 0,
|
||||
"count_other": 0,
|
||||
"money_wei_beigao": 0,
|
||||
"count_wei_total": 0,
|
||||
"money_wei_yuangao": 0,
|
||||
"count_total": 0,
|
||||
"count_jie_beigao": 0,
|
||||
"money_yuangao": 0,
|
||||
"money_wei_total": 0,
|
||||
"area_stat": "",
|
||||
"count_wei_yuangao": 0,
|
||||
"money_total": 0,
|
||||
"ay_stat": "",
|
||||
"money_beigao": 0,
|
||||
"count_yuangao": 0,
|
||||
"money_jie_other": 0,
|
||||
"count_jie_other": 0,
|
||||
"money_jie_beigao": 0,
|
||||
"count_jie_total": 0,
|
||||
"count_wei_beigao": 0,
|
||||
"money_jie_yuangao": 0,
|
||||
"money_wei_percent": 0,
|
||||
"money_jie_total": 0,
|
||||
"count_beigao": 0
|
||||
}
|
||||
},
|
||||
"preservation": {
|
||||
"cases": [],
|
||||
"count": {
|
||||
"money_jie_total": 0,
|
||||
"count_jie_total": 0,
|
||||
"count_beigao": 0,
|
||||
"money_wei_yuangao": 0,
|
||||
"area_stat": "",
|
||||
"count_wei_other": 0,
|
||||
"money_jie_other": 0,
|
||||
"money_yuangao": 0,
|
||||
"count_jie_yuangao": 0,
|
||||
"ay_stat": "",
|
||||
"count_wei_total": 0,
|
||||
"money_beigao": 0,
|
||||
"count_other": 0,
|
||||
"money_wei_total": 0,
|
||||
"money_jie_beigao": 0,
|
||||
"count_jie_beigao": 0,
|
||||
"count_total": 0,
|
||||
"jafs_stat": "",
|
||||
"count_wei_yuangao": 0,
|
||||
"money_total": 0,
|
||||
"money_jie_yuangao": 0,
|
||||
"count_jie_other": 0,
|
||||
"money_wei_other": 0,
|
||||
"larq_stat": "",
|
||||
"money_other": 0,
|
||||
"count_yuangao": 0,
|
||||
"money_wei_percent": 0,
|
||||
"money_wei_beigao": 0,
|
||||
"count_wei_beigao": 0
|
||||
}
|
||||
},
|
||||
"implement": {
|
||||
"cases": [
|
||||
{
|
||||
"c_ah": "(2016)冀1025执887号",
|
||||
"n_ajjzjd": "已结案",
|
||||
"d_larq": "2016-06-14",
|
||||
"d_jarq": "2016-06-28",
|
||||
"n_jbfy": "大城县人民法院",
|
||||
"c_ssdy": "河北省",
|
||||
"n_ajlx": "首次执行",
|
||||
"n_laay": "罚金",
|
||||
"c_dsrxx": [
|
||||
{
|
||||
"n_ssdw": "被执行人",
|
||||
"c_mc": "王杰",
|
||||
"n_dsrlx": "自然人"
|
||||
}
|
||||
],
|
||||
"n_jafs": "终结执行",
|
||||
"c_gkws_dsr": "被执行人王杰,男,1998年生...",
|
||||
"c_gkws_pjjg": "终结本院(2014)大少刑初字第14号...",
|
||||
"n_jabdje": 0,
|
||||
"n_sqzxbdje": 0,
|
||||
"n_sjdwje": 0,
|
||||
"n_wzxje": 0,
|
||||
"n_crc": 0,
|
||||
"c_ah_ys": "",
|
||||
"c_ah_hx": "",
|
||||
"c_gkws_id": "",
|
||||
"c_id": "case2016001",
|
||||
"n_ajbs": "2016001001",
|
||||
"n_jbfy_cj": "基层法院"
|
||||
}
|
||||
],
|
||||
"count": {
|
||||
"money_wei_yuangao": 0,
|
||||
"area_stat": "河北省:1",
|
||||
"count_wei_total": 0,
|
||||
"ay_stat": "罚金:1",
|
||||
"count_jie_beigao": 0,
|
||||
"money_yuangao": 0,
|
||||
"count_total": 1,
|
||||
"money_jie_other": 0,
|
||||
"money_wei_total": 0,
|
||||
"money_total": 0,
|
||||
"count_wei_yuangao": 0,
|
||||
"money_beigao": 0,
|
||||
"count_jie_other": 0,
|
||||
"money_jie_beigao": 0,
|
||||
"jafs_stat": "终结执行:1",
|
||||
"count_wei_beigao": 0,
|
||||
"count_yuangao": 0,
|
||||
"money_jie_yuangao": 0,
|
||||
"larq_stat": "2016:1",
|
||||
"count_jie_total": 1,
|
||||
"count_beigao": 0,
|
||||
"money_wei_percent": 0,
|
||||
"money_wei_other": 0,
|
||||
"money_jie_total": 0,
|
||||
"money_other": 0,
|
||||
"count_wei_other": 0,
|
||||
"count_jie_yuangao": 0,
|
||||
"money_wei_beigao": 0,
|
||||
"count_other": 0
|
||||
}
|
||||
},
|
||||
"bankrupt": {
|
||||
"cases": [],
|
||||
"count": {
|
||||
"count_jie_other": 0,
|
||||
"count_jie_total": 0,
|
||||
"jafs_stat": "",
|
||||
"count_wei_beigao": 0,
|
||||
"count_beigao": 0,
|
||||
"larq_stat": "",
|
||||
"count_jie_yuangao": 0,
|
||||
"count_wei_other": 0,
|
||||
"count_wei_total": 0,
|
||||
"count_total": 0,
|
||||
"count_other": 0,
|
||||
"area_stat": "",
|
||||
"count_jie_beigao": 0,
|
||||
"count_wei_yuangao": 0,
|
||||
"ay_stat": "",
|
||||
"count_yuangao": 0
|
||||
}
|
||||
},
|
||||
"crc": 2835980316,
|
||||
"count": {
|
||||
"count_total": 2,
|
||||
"count_wei_total": 0,
|
||||
"count_jie_total": 2,
|
||||
"money_total": 350000,
|
||||
"money_jie_total": 350000,
|
||||
"money_wei_total": 0,
|
||||
"count_yuangao": 1,
|
||||
"count_jie_yuangao": 1,
|
||||
"count_wei_yuangao": 0,
|
||||
"money_yuangao": 350000,
|
||||
"money_jie_yuangao": 350000,
|
||||
"money_wei_yuangao": 0,
|
||||
"count_beigao": 1,
|
||||
"count_jie_beigao": 1,
|
||||
"count_wei_beigao": 0,
|
||||
"money_beigao": 0,
|
||||
"money_jie_beigao": 0,
|
||||
"money_wei_beigao": 0,
|
||||
"count_other": 0,
|
||||
"count_jie_other": 0,
|
||||
"count_wei_other": 0,
|
||||
"money_other": 0,
|
||||
"money_jie_other": 0,
|
||||
"money_wei_other": 0,
|
||||
"money_wei_percent": 0,
|
||||
"area_stat": "北京市:1,河北省:1",
|
||||
"ay_stat": "合同纠纷:1,罚金:1",
|
||||
"jafs_stat": "判决:1,终结执行:1",
|
||||
"larq_stat": "2022:1,2016:1"
|
||||
},
|
||||
"cases_tree": {
|
||||
"administrative": [],
|
||||
"criminal": [],
|
||||
"civil": [
|
||||
{
|
||||
"n_ajbs": "20220101001",
|
||||
"case_type": 1,
|
||||
"stage_type": 1,
|
||||
"c_ah": "(2022)京0105民初****号",
|
||||
"next": {
|
||||
"c_ah": "(2022)京01民终****号",
|
||||
"stage_type": 2,
|
||||
"case_type": 1,
|
||||
"n_ajbs": "20220101002"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sxbzxr": {
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"sxbzxr": [
|
||||
{
|
||||
"ah": "(2022)京0105执****号",
|
||||
"larq": "2022-09-15",
|
||||
"fbrq": "2022-09-20",
|
||||
"zxfy": "北京市朝阳区人民法院",
|
||||
"sf": "北京市",
|
||||
"qyfr": "张某",
|
||||
"zzjgdm": "91110108MA0******",
|
||||
"zxyjwh": "(2022)京0105民初****号",
|
||||
"zxyjdw": "北京市朝阳区人民法院",
|
||||
"yw": "向申请人支付服务费350000元及违约金",
|
||||
"lxqk": "全部未履行",
|
||||
"xwqx": "有履行能力而拒不履行生效法律文书确定义务",
|
||||
"pjje_gj": 350000,
|
||||
"id": "dishonest2022001"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"xgbzxr": {
|
||||
"msg": "成功",
|
||||
"data": {
|
||||
"xgbzxr": [
|
||||
{
|
||||
"ah": "(2022)京0105执****号",
|
||||
"fbrq": "2022-10-01",
|
||||
"zxfy": "北京市朝阳区人民法院",
|
||||
"id": "BJ0105XG202200****"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"invest_history": {},
|
||||
"financing_history": {},
|
||||
"punishment_info": {},
|
||||
"abnormal_info": {},
|
||||
"own_tax": {},
|
||||
"tax_contravention": {}
|
||||
},
|
||||
{
|
||||
"orgName": "北京某某科技有限公司",
|
||||
"relationship": [
|
||||
"tm"
|
||||
],
|
||||
"basicInfo": {
|
||||
"regStatus": "1:在营(开业)",
|
||||
"creditCode": "91110000MA01234567",
|
||||
"regNumber": "110000012345678",
|
||||
"entType": "1130:有限责任公司(自然人投资或控股)",
|
||||
"industry": "信息传输、软件和信息技术服务业",
|
||||
"regCapital": "500.000000",
|
||||
"regCapitalCurrency": "万人民币",
|
||||
"estiblishTime": "2020-01-15",
|
||||
"regInstitute": "北京市市场监督管理局",
|
||||
"approvedTime": "2020-01-15",
|
||||
"legalPersonName": "李四",
|
||||
"phone": "",
|
||||
"email": "",
|
||||
"website": "",
|
||||
"regAddress": "北京市海淀区"
|
||||
},
|
||||
"stockHolderItem": {},
|
||||
"staffList": {
|
||||
"result": [
|
||||
{
|
||||
"typeJoin": [
|
||||
"执行董事",
|
||||
"总经理"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"lawsuitInfo": {
|
||||
"entout": {
|
||||
"msg": "没有找到"
|
||||
},
|
||||
"sxbzxr": {
|
||||
"msg": "没有找到"
|
||||
},
|
||||
"xgbzxr": {
|
||||
"msg": "没有找到"
|
||||
}
|
||||
},
|
||||
"invest_history": {},
|
||||
"financing_history": {},
|
||||
"punishment_info": {},
|
||||
"abnormal_info": {},
|
||||
"own_tax": {},
|
||||
"tax_contravention": {}
|
||||
}
|
||||
],
|
||||
"total": 2
|
||||
}
|
||||
481
src/ui/IVYZ0S0D.vue
Normal file
481
src/ui/IVYZ0S0D.vue
Normal file
@@ -0,0 +1,481 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue';
|
||||
|
||||
// 接收父组件传入的 props
|
||||
const props = defineProps({
|
||||
data: Object,
|
||||
params: Object,
|
||||
});
|
||||
|
||||
// 定义组件名称,用于在控制台输出调试信息
|
||||
const componentName = 'IVYZ0S0D';
|
||||
|
||||
// 将 props.data 赋值给 reportData 变量
|
||||
let reportData: any = props.data || {};
|
||||
|
||||
// 如果 reportData 不为空,则将其赋值给变量
|
||||
if (reportData) {
|
||||
console.log(`${componentName} 组件接收到的数据:`, reportData);
|
||||
} else {
|
||||
console.log(`${componentName} 组件未接收到数据`);
|
||||
}
|
||||
|
||||
// 获取状态描述文本
|
||||
const getStatusText = (value: number) => {
|
||||
if (value === 1) return '未命中';
|
||||
if (value === 2) return '命中';
|
||||
return '未知';
|
||||
};
|
||||
|
||||
// 获取通知函状态描述文本
|
||||
const getNoticeLetterStatusText = (value: number) => {
|
||||
if (value === 1) return '未命中';
|
||||
if (value === 2) return '命中';
|
||||
return '未知';
|
||||
};
|
||||
|
||||
// 获取通知函期间描述文本
|
||||
const getNoticeLetterPeriodText = (period: number) => {
|
||||
const periodMap: Record<number, string> = {
|
||||
0: '没有被发送通知函',
|
||||
1: '近2年内',
|
||||
2: '2-4年',
|
||||
3: '5年以上'
|
||||
};
|
||||
|
||||
return periodMap[period] || '未知期间';
|
||||
};
|
||||
|
||||
// 获取背景颜色
|
||||
const getBackgroundColor = (value: number) => {
|
||||
if (value === 1) return '#e8f5e8'; // 浅绿色
|
||||
if (value === 2) return '#ffe8e8'; // 浅红色
|
||||
return '#f5f5f5'; // 默认灰色
|
||||
};
|
||||
|
||||
// 获取边框颜色
|
||||
const getBorderColor = (value: number) => {
|
||||
if (value === 1) return '#4caf50'; // 绿色边框
|
||||
if (value === 2) return '#f44336'; // 红色边框
|
||||
return '#ccc'; // 默认灰色边框
|
||||
};
|
||||
|
||||
// 判断是否应该隐藏该条目(如果是带时间范围的"未命中")
|
||||
const shouldHideItem = (itemText: string) => {
|
||||
// 检查是否包含时间范围关键词并且结果是"未命中"
|
||||
const timeRangeKeywords = ['近2年', '近3年', '近4年', '近5年', '2-4年', '5年以上'];
|
||||
const isTimeRangeItem = timeRangeKeywords.some(keyword => itemText.includes(keyword));
|
||||
const isNoRisk = itemText.includes('未命中');
|
||||
|
||||
// 如果是时间范围项目且结果是"未命中",则隐藏
|
||||
return isTimeRangeItem && isNoRisk;
|
||||
};
|
||||
|
||||
// 获取风险类型数组 - 所有模块都显示
|
||||
const riskTypes = computed(() => {
|
||||
const risks: {title: string, value: number, details: string | string[], bgColor: string, borderColor: string}[] = [];
|
||||
|
||||
// 总体风险
|
||||
if (reportData.risk_flag !== undefined) {
|
||||
risks.push({
|
||||
title: '总体风险',
|
||||
value: reportData.risk_flag,
|
||||
details: getStatusText(reportData.risk_flag),
|
||||
bgColor: getBackgroundColor(reportData.risk_flag),
|
||||
borderColor: getBorderColor(reportData.risk_flag)
|
||||
});
|
||||
}
|
||||
|
||||
// 失信风险
|
||||
if (reportData.dishonesty && reportData.dishonesty.dishonesty !== undefined) {
|
||||
risks.push({
|
||||
title: '失信风险',
|
||||
value: reportData.dishonesty.dishonesty,
|
||||
details: getStatusText(reportData.dishonesty.dishonesty),
|
||||
bgColor: getBackgroundColor(reportData.dishonesty.dishonesty),
|
||||
borderColor: getBorderColor(reportData.dishonesty.dishonesty)
|
||||
});
|
||||
}
|
||||
|
||||
// 高消费限制风险
|
||||
if (reportData.high_consumption && reportData.high_consumption.high_consumption !== undefined) {
|
||||
risks.push({
|
||||
title: '高消费限制风险',
|
||||
value: reportData.high_consumption.high_consumption,
|
||||
details: getStatusText(reportData.high_consumption.high_consumption),
|
||||
bgColor: getBackgroundColor(reportData.high_consumption.high_consumption),
|
||||
borderColor: getBorderColor(reportData.high_consumption.high_consumption)
|
||||
});
|
||||
}
|
||||
|
||||
// 劳动争议风险
|
||||
if (reportData.labor_disputes) {
|
||||
let details: string[] = [];
|
||||
if (reportData.labor_disputes.labor_disputes !== undefined) {
|
||||
details.push(`当前: ${getStatusText(reportData.labor_disputes.labor_disputes)}`);
|
||||
}
|
||||
if (reportData.labor_disputes.labor_disputes_3y !== undefined) {
|
||||
const detail = `近3年: ${getStatusText(reportData.labor_disputes.labor_disputes_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.labor_disputes.labor_disputes_5y !== undefined) {
|
||||
const detail = `近5年: ${getStatusText(reportData.labor_disputes.labor_disputes_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.labor_disputes.labor_contract !== undefined) {
|
||||
details.push(`劳动合同: ${getStatusText(reportData.labor_disputes.labor_contract)}`);
|
||||
}
|
||||
if (reportData.labor_disputes.labor_relation !== undefined) {
|
||||
details.push(`劳动关系: ${getStatusText(reportData.labor_disputes.labor_relation)}`);
|
||||
}
|
||||
if (reportData.labor_disputes.labor_relation_3y !== undefined) {
|
||||
const detail = `近3年劳动关系: ${getStatusText(reportData.labor_disputes.labor_relation_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.labor_disputes.labor_relation_5y !== undefined) {
|
||||
const detail = `近5年劳动关系: ${getStatusText(reportData.labor_disputes.labor_relation_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
|
||||
if (details.length > 0) {
|
||||
risks.push({
|
||||
title: '劳动争议风险',
|
||||
value: Math.max(...Object.values(reportData.labor_disputes).filter(v => typeof v === 'number')),
|
||||
details: details,
|
||||
bgColor: getBackgroundColor(Math.max(...Object.values(reportData.labor_disputes).filter(v => typeof v === 'number'))),
|
||||
borderColor: getBorderColor(Math.max(...Object.values(reportData.labor_disputes).filter(v => typeof v === 'number')))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 社会保险纠纷风险
|
||||
if (reportData.social_insurance) {
|
||||
let details: string[] = [];
|
||||
if (reportData.social_insurance.social_insurance !== undefined) {
|
||||
details.push(`社保纠纷: ${getStatusText(reportData.social_insurance.social_insurance)}`);
|
||||
}
|
||||
if (reportData.social_insurance.pension !== undefined) {
|
||||
details.push(`养老纠纷: ${getStatusText(reportData.social_insurance.pension)}`);
|
||||
}
|
||||
if (reportData.social_insurance.pension_3y !== undefined) {
|
||||
const detail = `近3年养老: ${getStatusText(reportData.social_insurance.pension_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.pension_5y !== undefined) {
|
||||
const detail = `近5年养老: ${getStatusText(reportData.social_insurance.pension_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.injury_insurance !== undefined) {
|
||||
details.push(`工伤纠纷: ${getStatusText(reportData.social_insurance.injury_insurance)}`);
|
||||
}
|
||||
if (reportData.social_insurance.injury_insurance_3y !== undefined) {
|
||||
const detail = `近3年工伤: ${getStatusText(reportData.social_insurance.injury_insurance_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.injury_insurance_5y !== undefined) {
|
||||
const detail = `近5年工伤: ${getStatusText(reportData.social_insurance.injury_insurance_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.unemployment_insurance !== undefined) {
|
||||
details.push(`失业纠纷: ${getStatusText(reportData.social_insurance.unemployment_insurance)}`);
|
||||
}
|
||||
if (reportData.social_insurance.unemployment_insurance_3y !== undefined) {
|
||||
const detail = `近3年失业: ${getStatusText(reportData.social_insurance.unemployment_insurance_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.unemployment_insurance_5y !== undefined) {
|
||||
const detail = `近5年失业: ${getStatusText(reportData.social_insurance.unemployment_insurance_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.medical_insurance !== undefined) {
|
||||
details.push(`医疗纠纷: ${getStatusText(reportData.social_insurance.medical_insurance)}`);
|
||||
}
|
||||
if (reportData.social_insurance.medical_insurance_3y !== undefined) {
|
||||
const detail = `近3年医疗: ${getStatusText(reportData.social_insurance.medical_insurance_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.medical_insurance_5y !== undefined) {
|
||||
const detail = `近5年医疗: ${getStatusText(reportData.social_insurance.medical_insurance_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.maternity_insurance !== undefined) {
|
||||
details.push(`生育纠纷: ${getStatusText(reportData.social_insurance.maternity_insurance)}`);
|
||||
}
|
||||
if (reportData.social_insurance.maternity_insurance_3y !== undefined) {
|
||||
const detail = `近3年生育: ${getStatusText(reportData.social_insurance.maternity_insurance_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.social_insurance.maternity_insurance_5y !== undefined) {
|
||||
const detail = `近5年生育: ${getStatusText(reportData.social_insurance.maternity_insurance_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
|
||||
if (details.length > 0) {
|
||||
risks.push({
|
||||
title: '社会保险纠纷风险',
|
||||
value: Math.max(...Object.values(reportData.social_insurance).filter(v => typeof v === 'number')),
|
||||
details: details,
|
||||
bgColor: getBackgroundColor(Math.max(...Object.values(reportData.social_insurance).filter(v => typeof v === 'number'))),
|
||||
borderColor: getBorderColor(Math.max(...Object.values(reportData.social_insurance).filter(v => typeof v === 'number')))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 福利待遇纠纷
|
||||
if (reportData.welfare_disputes && reportData.welfare_disputes.welfare !== undefined) {
|
||||
risks.push({
|
||||
title: '福利待遇纠纷',
|
||||
value: reportData.welfare_disputes.welfare,
|
||||
details: getStatusText(reportData.welfare_disputes.welfare),
|
||||
bgColor: getBackgroundColor(reportData.welfare_disputes.welfare),
|
||||
borderColor: getBorderColor(reportData.welfare_disputes.welfare)
|
||||
});
|
||||
}
|
||||
|
||||
// 人事争议类纠纷
|
||||
if (reportData.personnel_disputes) {
|
||||
let details: string[] = [];
|
||||
if (reportData.personnel_disputes.personnel_dispute !== undefined) {
|
||||
details.push(`人事争议: ${getStatusText(reportData.personnel_disputes.personnel_dispute)}`);
|
||||
}
|
||||
if (reportData.personnel_disputes.resignation_dispute !== undefined) {
|
||||
details.push(`辞职争议: ${getStatusText(reportData.personnel_disputes.resignation_dispute)}`);
|
||||
}
|
||||
if (reportData.personnel_disputes.resignation_dispute_3y !== undefined) {
|
||||
const detail = `近3年辞职: ${getStatusText(reportData.personnel_disputes.resignation_dispute_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.personnel_disputes.resignation_dispute_5y !== undefined) {
|
||||
const detail = `近5年辞职: ${getStatusText(reportData.personnel_disputes.resignation_dispute_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.personnel_disputes.dismissal_dispute !== undefined) {
|
||||
details.push(`辞退争议: ${getStatusText(reportData.personnel_disputes.dismissal_dispute)}`);
|
||||
}
|
||||
if (reportData.personnel_disputes.dismissal_dispute_3y !== undefined) {
|
||||
const detail = `近3年辞退: ${getStatusText(reportData.personnel_disputes.dismissal_dispute_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.personnel_disputes.dismissal_dispute_5y !== undefined) {
|
||||
const detail = `近5年辞退: ${getStatusText(reportData.personnel_disputes.dismissal_dispute_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
|
||||
if (details.length > 0) {
|
||||
risks.push({
|
||||
title: '人事争议类纠纷',
|
||||
value: Math.max(...Object.values(reportData.personnel_disputes).filter(v => typeof v === 'number')),
|
||||
details: details,
|
||||
bgColor: getBackgroundColor(Math.max(...Object.values(reportData.personnel_disputes).filter(v => typeof v === 'number'))),
|
||||
borderColor: getBorderColor(Math.max(...Object.values(reportData.personnel_disputes).filter(v => typeof v === 'number')))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 仲裁相关案件
|
||||
if (reportData.arbitration) {
|
||||
let details: string[] = [];
|
||||
if (reportData.arbitration.arbitration_confirmation !== undefined) {
|
||||
details.push(`仲裁确认: ${getStatusText(reportData.arbitration.arbitration_confirmation)}`);
|
||||
}
|
||||
if (reportData.arbitration.arbitration_confirmation_3y !== undefined) {
|
||||
const detail = `近3年仲裁确认: ${getStatusText(reportData.arbitration.arbitration_confirmation_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.arbitration.arbitration_confirmation_5y !== undefined) {
|
||||
const detail = `近5年仲裁确认: ${getStatusText(reportData.arbitration.arbitration_confirmation_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.arbitration.arbitration_revocation !== undefined) {
|
||||
details.push(`仲裁撤销: ${getStatusText(reportData.arbitration.arbitration_revocation)}`);
|
||||
}
|
||||
if (reportData.arbitration.arbitration_revocation_3y !== undefined) {
|
||||
const detail = `近3年仲裁撤销: ${getStatusText(reportData.arbitration.arbitration_revocation_3y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
if (reportData.arbitration.arbitration_revocation_5y !== undefined) {
|
||||
const detail = `近5年仲裁撤销: ${getStatusText(reportData.arbitration.arbitration_revocation_5y)}`;
|
||||
if (!shouldHideItem(detail)) {
|
||||
details.push(detail);
|
||||
}
|
||||
}
|
||||
|
||||
if (details.length > 0) {
|
||||
risks.push({
|
||||
title: '仲裁相关案件',
|
||||
value: Math.max(...Object.values(reportData.arbitration).filter(v => typeof v === 'number')),
|
||||
details: details,
|
||||
bgColor: getBackgroundColor(Math.max(...Object.values(reportData.arbitration).filter(v => typeof v === 'number'))),
|
||||
borderColor: getBorderColor(Math.max(...Object.values(reportData.arbitration).filter(v => typeof v === 'number')))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// 通知函触达
|
||||
if (reportData.notice_letter && reportData.notice_letter.notice_letter !== undefined) {
|
||||
let statusText = getNoticeLetterStatusText(reportData.notice_letter.notice_letter);
|
||||
let periodText = '';
|
||||
|
||||
if (reportData.notice_letter.notice_letter_period !== undefined) {
|
||||
periodText = `期间: ${getNoticeLetterPeriodText(reportData.notice_letter.notice_letter_period)}`;
|
||||
}
|
||||
|
||||
const detailParts = [`状态: ${statusText}`];
|
||||
if (periodText) {
|
||||
detailParts.push(periodText);
|
||||
}
|
||||
|
||||
risks.push({
|
||||
title: '通知函触达',
|
||||
value: reportData.notice_letter.notice_letter,
|
||||
details: detailParts,
|
||||
bgColor: getBackgroundColor(reportData.notice_letter.notice_letter),
|
||||
borderColor: getBorderColor(reportData.notice_letter.notice_letter)
|
||||
});
|
||||
}
|
||||
|
||||
return risks;
|
||||
});
|
||||
|
||||
// 检查是否至少有一个数据类别有内容
|
||||
const hasAnyData = computed(() => {
|
||||
return riskTypes.value.length > 0;
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="ivyz0s0d-container">
|
||||
<!-- 风险卡片网格 -->
|
||||
<div v-if="hasAnyData" class="risk-cards-grid">
|
||||
<div
|
||||
v-for="(risk, index) in riskTypes"
|
||||
:key="index"
|
||||
class="risk-card"
|
||||
:style="{ backgroundColor: risk.bgColor, borderLeft: `4px solid ${risk.borderColor}` }"
|
||||
>
|
||||
<div class="risk-card__content">
|
||||
<h4 class="risk-card__title">{{ risk.title }}</h4>
|
||||
<div class="risk-card__status">
|
||||
<!-- 当 details 是字符串时显示单行 -->
|
||||
<p v-if="typeof risk.details === 'string'" class="risk-detail-item">{{ risk.details }}</p>
|
||||
<!-- 当 details 是数组时,每项占一行 -->
|
||||
<p
|
||||
v-else
|
||||
v-for="(detail, idx) in risk.details"
|
||||
:key="idx"
|
||||
class="risk-detail-item"
|
||||
>{{ detail }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 无数据提示 -->
|
||||
<div v-if="!hasAnyData" class="no-data">
|
||||
<p>暂无相关风险数据</p>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.ivyz0s0d-container {
|
||||
padding: 20px;
|
||||
font-family: Arial, sans-serif;
|
||||
}
|
||||
|
||||
.risk-cards-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
||||
gap: 15px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.risk-card {
|
||||
border: 1px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
padding: 15px;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
|
||||
.risk-card:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
|
||||
}
|
||||
|
||||
.risk-card__content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.risk-card__title {
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.risk-card__status {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.risk-detail-item {
|
||||
margin: 0 0 4px 0;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.risk-detail-item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.no-data {
|
||||
text-align: center;
|
||||
color: #999;
|
||||
font-style: italic;
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user