commit 89fd3c8bd9c2e88a261ef4ca439540ee3dc8f26d Author: liangzai <2440983361@qq.com> Date: Mon Nov 17 12:49:59 2025 +0800 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6c22eac --- /dev/null +++ b/.gitignore @@ -0,0 +1,231 @@ +# ============================================ +# Node.js / Vue / Vite +# ============================================ + +# 依赖目录 +node_modules/ +.pnp +.pnp.js + +# 构建输出 +dist/ +dist-ssr/ +build/ +*.local + +# Vite +.vite/ +vite.config.js.timestamp-* + +# 缓存 +.cache/ +.parcel-cache/ + +# ============================================ +# Python +# ============================================ + +# Python 字节码 +__pycache__/ +*.py[cod] +*$py.class +*.so + +# Python 虚拟环境 +venv/ +env/ +ENV/ +env.bak/ +venv.bak/ +.venv/ + +# Python 包管理 +*.egg +*.egg-info/ +dist/ +build/ +eggs/ +.eggs/ +wheels/ +*.whl + +# Python 环境变量 +.env +.env.local +.env.*.local + +# Jupyter Notebook +.ipynb_checkpoints + +# pytest +.pytest_cache/ +.coverage +htmlcov/ + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# ============================================ +# 生成的 PDF 文件 +# ============================================ + +# 生成的 PDF 报告(保留示例数据文件) +*.pdf +!public/example.json + +# ============================================ +# IDE / 编辑器 +# ============================================ + +# Visual Studio Code +.vscode/ +!.vscode/extensions.json +*.code-workspace + +# JetBrains IDEs (WebStorm, PyCharm, etc.) +.idea/ +*.iml +*.iws +*.ipr + +# Sublime Text +*.sublime-project +*.sublime-workspace + +# Vim +*.swp +*.swo +*~ +.vim/ + +# Emacs +*~ +\#*\# +.\#* + +# ============================================ +# 操作系统 +# ============================================ + +# macOS +.DS_Store +.AppleDouble +.LSOverride +Icon +._* +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# Windows +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db +*.stackdump +[Dd]esktop.ini +$RECYCLE.BIN/ +*.cab +*.msi +*.msix +*.msm +*.msp +*.lnk + +# Linux +*~ +.fuse_hidden* +.directory +.Trash-* +.nfs* + +# ============================================ +# 日志文件 +# ============================================ + +# 日志 +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* +.pnpm-debug.log* + +# ============================================ +# 临时文件 +# ============================================ + +# 临时文件 +*.tmp +*.temp +*.bak +*.backup +*.swp +*.swo +*~ + +# 压缩文件(可选,根据项目需要) +# *.zip +# *.tar +# *.tar.gz +# *.rar + +# ============================================ +# 测试覆盖率 +# ============================================ + +# 测试覆盖率报告 +coverage/ +.nyc_output/ +*.lcov + +# ============================================ +# 其他 +# ============================================ + +# 锁文件(可选,根据团队约定) +# package-lock.json +# yarn.lock +# pnpm-lock.yaml + +# 自动生成的文件 +auto-imports.d.ts +components.d.ts + +# 本地配置文件 +.env.local +.env.development.local +.env.test.local +.env.production.local + +# 调试文件 +.vscode/launch.json +.vscode/settings.json + +# 文档构建 +docs/_build/ +site/ + +# 数据库文件(如果有) +*.db +*.sqlite +*.sqlite3 + +# 敏感信息 +secrets/ +*.pem +*.key +*.cert + diff --git a/CSpecialList.vue b/CSpecialList.vue new file mode 100644 index 0000000..8a65730 --- /dev/null +++ b/CSpecialList.vue @@ -0,0 +1,1048 @@ + + + + + diff --git a/PDF生成环境说明.md b/PDF生成环境说明.md new file mode 100644 index 0000000..2d751e4 --- /dev/null +++ b/PDF生成环境说明.md @@ -0,0 +1,270 @@ +# PDF 生成环境说明文档 + +## 📋 概述 + +本项目使用 Python 脚本将 JSON 数据转换为 PDF 报告。主要依赖 WeasyPrint 库进行 HTML 到 PDF 的转换。 + +## 🔧 环境要求 + +### Python 版本 +- **Python 3.8+** (推荐 Python 3.9 或更高版本) +- 支持 Windows、Linux、macOS + +### 系统依赖 + +#### Windows +- 需要安装 **GTK+ 运行时库**(WeasyPrint 的必需依赖) +- 推荐使用 Conda 环境(自动处理依赖) + +#### Linux +- 需要安装系统级字体库和 GTK+ 相关库 +- Ubuntu/Debian: `sudo apt-get install python3-dev python3-pip python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info` +- CentOS/RHEL: `sudo yum install python3-devel python3-pip cairo pango gdk-pixbuf2 libffi` + +#### macOS +- 需要安装 GTK+ 和相关库 +- 推荐使用 Homebrew: `brew install cairo pango gdk-pixbuf libffi` + +## 📦 Python 依赖包 + +项目依赖以下 Python 包(见 `requirements.txt`): + +| 包名 | 版本要求 | 说明 | +|------|---------|------| +| jinja2 | >=3.1.2 | HTML 模板引擎,用于渲染报告模板 | +| weasyprint | >=60.0 | PDF 生成库,将 HTML 转换为 PDF | + +## 🚀 安装步骤 + +### 方法一:使用 Conda(推荐,Windows 用户首选) + +Conda 会自动处理所有系统依赖,包括 GTK+ 运行时库。 + +```bash +# 1. 创建 Conda 环境(可选) +conda create -n pdf-generator python=3.9 +conda activate pdf-generator + +# 2. 安装 WeasyPrint(自动安装所有依赖) +conda install -c conda-forge weasyprint + +# 3. 安装其他依赖 +pip install jinja2 +``` + +### 方法二:使用 pip + 手动安装系统依赖 + +#### Windows + +1. **安装 GTK+ 运行时库** + - 下载地址:https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases + - 下载并安装最新的 `gtk3-runtime-*.exe`(64位版本) + - 安装到默认路径:`C:\Program Files\GTK3-Runtime Win64` + - 确保安装程序自动添加到 PATH,或手动添加:`C:\Program Files\GTK3-Runtime Win64\bin` + +2. **安装 Python 依赖** + ```bash + pip install -r requirements.txt + ``` + +3. **重启终端**(重要!让 PATH 生效) + +#### Linux + +```bash +# 1. 安装系统依赖(Ubuntu/Debian 示例) +sudo apt-get update +sudo apt-get install python3-dev python3-pip python3-cffi \ + libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \ + libgdk-pixbuf2.0-0 libffi-dev shared-mime-info + +# 2. 安装 Python 依赖 +pip install -r requirements.txt +``` + +#### macOS + +```bash +# 1. 安装系统依赖(使用 Homebrew) +brew install cairo pango gdk-pixbuf libffi + +# 2. 安装 Python 依赖 +pip install -r requirements.txt +``` + +### 方法三:使用虚拟环境(推荐用于生产环境) + +```bash +# 1. 创建虚拟环境 +python -m venv venv + +# 2. 激活虚拟环境 +# Windows: +venv\Scripts\activate +# Linux/macOS: +source venv/bin/activate + +# 3. 安装依赖 +pip install -r requirements.txt +``` + +## ✅ 验证安装 + +运行以下命令验证环境是否正确配置: + +```bash +python -c "from weasyprint import HTML; print('WeasyPrint 安装成功!')" +``` + +如果出现错误,请参考下面的"常见问题"部分。 + +## 📝 使用方法 + +### 基本用法 + +```bash +python generate_pdf.py <数据文件> [输出文件] +``` + +### 示例 + +```bash +# 使用示例数据生成 PDF +python generate_pdf.py public/example.json output.pdf + +# 指定输出文件名(默认为 report.pdf) +python generate_pdf.py public/example.json my_report.pdf +``` + +### 数据文件格式 + +- 支持 JSON 格式文件 +- 文件应包含 `DWBG8B4D` 或 `CDWBG8B4D` 的谛听报告数据 +- 可选包含 `FLXG7E8F` 或 `FLXG0V4B` 的司法涉诉数据 + +## 🐛 常见问题 + +### 问题 1: `OSError: cannot load library 'libgobject-2.0-0'` + +**原因**:Windows 系统缺少 GTK+ 运行时库。 + +**解决方案**: +1. **推荐**:使用 Conda 安装 WeasyPrint + ```bash + conda install -c conda-forge weasyprint + ``` + +2. **或**:手动安装 GTK+ 运行时库 + - 下载:https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases + - 安装后重启终端 + +### 问题 2: `ImportError: No module named 'weasyprint'` + +**原因**:WeasyPrint 未安装或不在当前 Python 环境中。 + +**解决方案**: +```bash +pip install weasyprint +# 或使用 Conda +conda install -c conda-forge weasyprint +``` + +### 问题 3: `ImportError: No module named 'jinja2'` + +**原因**:Jinja2 模板引擎未安装。 + +**解决方案**: +```bash +pip install jinja2 +``` + +### 问题 4: 生成的 PDF 中文显示为方块 + +**原因**:系统缺少中文字体。 + +**解决方案**: +- **Windows**:系统自带中文字体,通常无需额外配置 +- **Linux**:安装中文字体 + ```bash + sudo apt-get install fonts-wqy-microhei fonts-wqy-zenhei + ``` +- **macOS**:系统自带中文字体 + +### 问题 5: Conda 安装 WeasyPrint 时卡住或报错 + +**原因**:Conda 依赖解析时间过长或网络问题。 + +**解决方案**: +1. 更新 Conda: + ```bash + conda update conda + ``` + +2. 使用国内镜像源(如果在中国): + ```bash + conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main + conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free + conda config --add channels conda-forge + ``` + +3. 或使用 pip + GTK+ 运行时库的方式 + +### 问题 6: 权限错误(Linux/macOS) + +**原因**:没有权限安装系统依赖。 + +**解决方案**: +```bash +# 使用 sudo 安装系统依赖 +sudo apt-get install ... # Ubuntu/Debian +sudo yum install ... # CentOS/RHEL +``` + +## 🔍 环境检查清单 + +在开始使用前,请确认: + +- [ ] Python 版本 >= 3.8 +- [ ] WeasyPrint 已正确安装 +- [ ] Jinja2 已正确安装 +- [ ] (Windows)GTK+ 运行时库已安装并添加到 PATH +- [ ] (Linux/macOS)系统依赖已安装 +- [ ] 可以成功导入 WeasyPrint:`python -c "from weasyprint import HTML"` + +## 📚 相关资源 + +- **WeasyPrint 官方文档**:https://weasyprint.org/ +- **Jinja2 官方文档**:https://jinja.palletsprojects.com/ +- **GTK+ Windows 运行时**:https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases +- **Conda 文档**:https://docs.conda.io/ + +## 💡 最佳实践 + +1. **使用虚拟环境**:避免污染系统 Python 环境 +2. **Windows 用户优先使用 Conda**:自动处理所有依赖,最简单 +3. **定期更新依赖**:`pip install --upgrade weasyprint jinja2` +4. **测试环境**:在生成大量 PDF 前,先用示例数据测试 + +## 🔄 更新依赖 + +```bash +# 更新所有依赖 +pip install --upgrade -r requirements.txt + +# 或单独更新 +pip install --upgrade weasyprint jinja2 +``` + +## 📞 技术支持 + +如果遇到问题: + +1. 检查 Python 版本:`python --version` +2. 检查已安装的包:`pip list | grep -E "weasyprint|jinja2"` +3. 查看错误信息:运行 `python generate_pdf.py` 查看详细错误 +4. 验证环境:运行 `python -c "from weasyprint import HTML; print('OK')"` + +--- + +**最后更新**:2025-01-20 + diff --git a/README.md b/README.md new file mode 100644 index 0000000..fde278b --- /dev/null +++ b/README.md @@ -0,0 +1,137 @@ +# 报告查看器 - 独立 Vue3 项目 + +这是一个独立的 Vue3 项目,用于展示报告组件。项目使用本地 JSON 文件(`example.json`)作为数据源,不依赖网络请求。 + +## 📋 已包含的组件 + +1. **DWBG6A2C** - 司南报告(包含所有子模块) +2. **FLXG0V4B** - 司法涉诉 +3. **QYGL3F8E** - 人企关系加强版(包含所有子模块) +4. **JRZQ4B6C** - 信贷表现 +5. **JRZQ09J8** - 收入评估 +6. **QCXG9P1C** - 名下车辆 +7. **DWBG8B4D** - 谛听多维报告(包含所有子模块) + +## 🚀 快速开始 + +### 1. 安装依赖 + +```bash +cd report-viewer +npm install +# 或 +pnpm install +# 或 +yarn install +``` + +### 2. 启动开发服务器 + +```bash +npm run dev +``` + +访问:`http://localhost:3000` + +### 3. 构建生产版本 + +```bash +npm run build +``` + +## 📁 项目结构 + +``` +report-viewer/ +├── public/ +│ └── example.json # 示例数据文件 +├── src/ +│ ├── components/ # 基础组件 +│ │ ├── BaseReport.vue # ⭐ 核心组件 +│ │ ├── GaugeChart.vue +│ │ ├── ShareReportButton.vue +│ │ └── ... +│ ├── views/ +│ │ └── Report.vue # ⭐ 报告页面 +│ ├── ui/ # ⭐ 业务组件 +│ │ ├── DWBG6A2C/ # 司南报告 +│ │ ├── CFLXG0V4B/ # 司法涉诉 +│ │ ├── CQYGL3F8E/ # 人企关系加强版 +│ │ ├── JRZQ4B6C/ # 信贷表现 +│ │ ├── JRZQ09J8/ # 收入评估 +│ │ ├── CQCXG9P1C.vue # 名下车辆 +│ │ └── CDWBG8B4D/ # 谛听多维报告 +│ ├── assets/ # 样式和图片 +│ └── composables/ # 工具函数(已移除网络请求) +├── package.json +├── vite.config.js +└── tailwind.config.js +``` + +## ⚙️ 配置说明 + +### 数据源 + +项目从 `public/example.json` 加载示例数据。可以直接修改该文件来更新显示的内容。 + +### 已移除的功能 + +- ✅ 产品背景图片(已移除背景图显示) +- ✅ 网络请求(改为从本地 JSON 文件加载) +- ✅ API 调用(ShareReportButton 在示例模式下不进行网络请求) + +## 📝 使用说明 + +1. 启动项目后,会自动加载 `public/example.json` 中的数据 +2. 数据会自动排序并显示在报告页面中 +3. 所有组件都会根据数据进行渲染 + +## 🔧 注意事项 + +1. **图片资源**:确保所有必要的图片文件已复制到 `src/assets/images/` 目录 +2. **样式依赖**:项目依赖 Tailwind CSS 和 Vant UI,确保正确引入 +3. **浏览器兼容**:需要现代浏览器支持(ES2015+) +4. **数据格式**:`example.json` 必须符合组件期望的数据结构 + +## 📦 依赖说明 + +### 核心依赖 + +- **vue** ^3.5.12 - Vue 框架 +- **vue-router** ^4.4.5 - 路由管理 +- **vant** ^4.9.9 - UI 组件库 +- **echarts** ^5.5.1 - 图表库 +- **vue-echarts** ^7.0.3 - Vue ECharts 封装 +- **@vueuse/core** ^11.3.0 - Vue 工具库 +- **lodash** ^4.17.21 - 工具函数库 + +### 开发依赖 + +- **vite** ^5.4.10 - 构建工具 +- **tailwindcss** ^3.4.15 - CSS 框架 +- **@vitejs/plugin-vue** - Vite Vue 插件 +- **unplugin-auto-import** - 自动导入插件 +- **unplugin-vue-components** - 自动组件导入插件 + +## 🐛 常见问题 + +### Q: 图片加载失败? +A: 确保图片文件已复制到 `src/assets/images/report/` 目录 + +### Q: 样式不生效? +A: 确保 `tailwind.config.js` 中包含了正确的 content 路径 + +### Q: 数据不显示? +A: 检查 `public/example.json` 文件格式是否正确,确保数据符合组件期望的结构 + +## 📞 技术支持 + +如有问题,请检查: +1. 控制台错误信息 +2. `public/example.json` 文件是否存在且格式正确 +3. 依赖是否正确安装 +4. 文件路径是否正确 + +--- + +**提示**:这是一个独立的 Vue3 项目,使用本地 JSON 文件作为数据源,无需后端 API 支持。 diff --git a/generate_pdf.py b/generate_pdf.py new file mode 100644 index 0000000..7e995f0 --- /dev/null +++ b/generate_pdf.py @@ -0,0 +1,764 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +谛听多维报告 PDF 生成器 +使用 WeasyPrint 将 HTML 模板转换为 PDF +""" + +import json +import re +from pathlib import Path +from typing import Dict, Any, Optional +from jinja2 import Environment, FileSystemLoader, select_autoescape + +# 尝试导入 WeasyPrint,提供友好的错误提示 +try: + from weasyprint import HTML, CSS + from weasyprint.text.fonts import FontConfiguration + WEASYPRINT_AVAILABLE = True +except OSError as e: + if 'libgobject' in str(e) or 'gobject' in str(e).lower(): + WEASYPRINT_AVAILABLE = False + WEASYPRINT_ERROR = "WeasyPrint 需要 GTK+ 运行时库。\n\n" \ + "Windows 用户推荐使用 Conda 安装(最简单):\n" \ + " conda install -c conda-forge weasyprint\n\n" \ + "或参考 install_weasyprint_windows.md 文件中的详细安装指南。" + else: + WEASYPRINT_AVAILABLE = False + WEASYPRINT_ERROR = f"WeasyPrint 导入失败: {e}\n\n请参考 install_weasyprint_windows.md 文件。" +except ImportError as e: + WEASYPRINT_AVAILABLE = False + WEASYPRINT_ERROR = f"WeasyPrint 未安装: {e}\n\n请运行: pip install weasyprint" + + +class ReportDataProcessor: + """报告数据处理器""" + + @staticmethod + def mask_name(name: Optional[str]) -> str: + """姓名脱敏""" + if not name: + return '' + if len(name) == 1: + return '*' + if len(name) == 2: + return name[0] + '*' + return name[0] + '*' * (len(name) - 2) + name[-1] + + @staticmethod + def mask_phone(phone: Optional[str]) -> str: + """手机号脱敏""" + if not phone: + return '' + if len(phone) == 11: + return phone[:3] + '****' + phone[7:] + return phone + + @staticmethod + def mask_id_card(id_card: Optional[str]) -> str: + """身份证号脱敏""" + if not id_card: + return '' + return re.sub(r'^(.{6})(?:\d+)(.{4})$', r'\1****\2', id_card) + + @staticmethod + def format_interval(interval: Optional[str], unit: str = "") -> str: + """格式化区间表达式""" + if not interval or interval == "-" or interval == "0": + return interval or "-" + + try: + # 处理特殊格式,如 "3,6(个月)" + if "(" in interval and ")" in interval: + match = re.match(r'^(\d+(?:,\d+)*)\((.+)\)$', interval) + if match: + numbers = [n.strip() for n in match.group(1).split(",")] + time_unit = match.group(2) + if len(numbers) == 2: + return f"{numbers[0]}-{numbers[1]}{time_unit}" + return f"{', '.join(numbers)}{time_unit}" + + # 处理区间表达式 + pattern = r'^([\[\(])(\d+(?:\.\d+)?),(\d+(?:\.\d+)?|\+)([\]\)])$' + match = re.match(pattern, interval) + + if not match: + return interval + + left_bracket, left_value, right_value, right_bracket = match.groups() + is_left_inclusive = left_bracket == "[" + is_right_inclusive = right_bracket == "]" + is_right_infinity = right_value == "+" + + if is_right_infinity: + if is_left_inclusive: + return f"≥{left_value}{unit}" + else: + return f">{left_value}{unit}" + else: + left_num = float(left_value) + right_num = float(right_value) + + if left_num == right_num: + return f"{int(left_num)}{unit}" + else: + if is_left_inclusive and is_right_inclusive: + return f"{int(left_num)}-{int(right_num)}{unit}" + elif is_left_inclusive and not is_right_inclusive: + return f"{int(left_num)}-{int(right_num) - 1}{unit}" + elif not is_left_inclusive and is_right_inclusive: + return f"{int(left_num) + 1}-{int(right_num)}{unit}" + else: + return f"{int(left_num) + 1}-{int(right_num) - 1}{unit}" + except Exception as e: + print(f"区间格式化失败: {e}, 原数据: {interval}") + return interval + + @staticmethod + def format_amount_interval(interval: Optional[str]) -> str: + """格式化金额区间""" + return ReportDataProcessor.format_interval(interval, "元") + + @staticmethod + def format_institution_interval(interval: Optional[str]) -> str: + """格式化机构数量区间""" + return ReportDataProcessor.format_interval(interval, "家") + + @staticmethod + def get_check_suggest_class(check_suggest: Optional[str]) -> str: + """获取审核建议样式类""" + suggest = check_suggest or '建议拒绝' + if '拒绝' in suggest: + return 'pdf-value-danger' + elif '通过' in suggest: + return 'pdf-value-success' + else: + return 'pdf-value-warning' + + @staticmethod + def get_fraud_risk_level(score: int) -> str: + """获取反欺诈风险等级""" + if score == -1: + return '未评估' + if score >= 80: + return '高风险' + if score >= 60: + return '中风险' + return '低风险' + + @staticmethod + def get_credit_level(score: int) -> str: + """获取信用等级""" + if score == -1: + return '未评估' + if score >= 800: + return '信用较好' + if score >= 500: + return '信用良好' + return '信用一般' + + @staticmethod + def get_fraud_score_bg_class(score: int) -> str: + """获取反欺诈评分背景样式类""" + if score == -1: + return 'pdf-score-default' + if score >= 80: + return 'pdf-score-high' + if score >= 60: + return 'pdf-score-medium' + return 'pdf-score-low' + + @staticmethod + def get_credit_score_bg_class(score: int) -> str: + """获取信用评分背景样式类""" + if score == -1: + return 'pdf-score-default' + if score >= 800: + return 'pdf-score-low' + if score >= 500: + return 'pdf-score-info' + return 'pdf-score-medium' + + @staticmethod + def get_risk_tag_class(level: str) -> str: + """获取风险标签样式类""" + if level == '高风险': + return 'pdf-tag-danger' + if level == '中风险': + return 'pdf-tag-warning' + if level == '低风险': + return 'pdf-tag-success' + if level == '信用较好': + return 'pdf-tag-success' + if level == '信用良好': + return 'pdf-tag-info' + if level == '信用一般': + return 'pdf-tag-warning' + return 'pdf-tag-default' + + @staticmethod + def get_risk_level_class(level: str) -> str: + """获取风险等级样式类""" + if level == '高风险': + return 'pdf-score-high' + if level == '中风险': + return 'pdf-score-medium' + if level == '低风险': + return 'pdf-score-low' + return 'pdf-score-default' + + @staticmethod + def get_risk_flag_text(flag: int) -> str: + """获取风险标识文本""" + if flag == 1: + return '高风险' + if flag == 2: + return '低风险' + return '未查得' + + @staticmethod + def get_risk_flag_tag_class(flag: int) -> str: + """获取风险标识标签样式类""" + if flag == 1: + return 'pdf-tag-danger' + if flag == 2: + return 'pdf-tag-success' + return 'pdf-tag-default' + + @staticmethod + def get_result_text(result: Optional[str]) -> str: + """获取验证结果文本""" + if result == '一致': + return '核验一致' + if result == '不一致': + return '核验不一致' + return result or '未查得' + + @staticmethod + def get_verification_result_class(result: Optional[str]) -> str: + """获取验证结果样式类""" + if result == '一致': + return 'pdf-result-success' + if result == '不一致': + return 'pdf-result-danger' + return 'pdf-result-default' + + @staticmethod + def get_high_risk_count(risk_warning: Dict[str, Any]) -> int: + """获取高风险数量""" + high_risk_fields = [ + 'idCardTwoElementMismatch', 'phoneThreeElementMismatch', + 'shortPhoneDuration', 'noPhoneDuration', + 'hasCriminalRecord', 'isEconomyFront', 'isDisrupSocial', 'isKeyPerson', 'isTrafficRelated', + 'hitHighRiskBankLastTwoYears', 'hitHighRiskNonBankLastTwoYears', + 'hitCivilCase', 'hitCriminalRisk', 'hitAdministrativeCase', 'hitPreservationReview', + 'hitExecutionCase', 'hitBankruptcyAndLiquidation', 'hitDirectlyUnderCase', 'hitCompensationCase', + 'frequentApplicationRecent', 'frequentNonBankApplications', 'highDebtPressure', 'frequentBankApplications', + 'frequentRentalApplications', 'veryFrequentRentalApplications' + ] + return sum(risk_warning.get(field, 0) for field in high_risk_fields) + + @staticmethod + def get_middle_risk_count(risk_warning: Dict[str, Any]) -> int: + """获取中风险数量""" + middle_risk_fields = [ + 'idCardPhoneProvinceMismatch', 'isAntiFraudInfo', + 'hitCurrentOverdue', + 'moreFrequentNonBankApplications', 'highFraudGangLevel', 'moreFrequentBankApplications' + ] + return sum(risk_warning.get(field, 0) for field in middle_risk_fields) + + @staticmethod + def get_all_risks(risk_warning: Dict[str, Any]) -> list: + """获取所有风险列表""" + risks = [] + + risk_mapping = { + 'idCardTwoElementMismatch': { + 'description': '身份证二要素信息对比结果不一致', + 'detail': '身份证号与姓名信息不匹配', + 'level': '高风险' + }, + 'phoneThreeElementMismatch': { + 'description': '手机三要素简版不一致', + 'detail': '手机号与身份证号、姓名信息不匹配', + 'level': '高风险' + }, + 'shortPhoneDuration': { + 'description': '手机在网时长极短', + 'detail': '手机号在网时间过短,存在风险', + 'level': '高风险' + }, + 'idCardPhoneProvinceMismatch': { + 'description': '身份证号手机号归属省不一致', + 'detail': '身份证归属地与手机号归属地不匹配', + 'level': '中风险' + }, + 'hasCriminalRecord': { + 'description': '该用户有前科', + 'detail': '用户存在犯罪前科记录', + 'level': '高风险' + }, + 'isKeyPerson': { + 'description': '该用户为重点人员', + 'detail': '用户被列为重点监管人员', + 'level': '高风险' + }, + 'hitHighRiskBankLastTwoYears': { + 'description': '近两年命中银行高风险', + 'detail': '近两年在银行机构存在高风险记录', + 'level': '高风险' + }, + 'hitCurrentOverdue': { + 'description': '该用户命中当前逾期', + 'detail': '用户当前存在逾期记录', + 'level': '中风险' + }, + 'frequentApplicationRecent': { + 'description': '近期申请机构极为频繁', + 'detail': '近期在多个机构频繁申请贷款', + 'level': '高风险' + } + } + + for key, info in risk_mapping.items(): + if risk_warning.get(key, 0): + badge_class = 'pdf-tag-danger' if info['level'] == '高风险' else 'pdf-tag-warning' + risks.append({ + 'key': key, + 'description': info['description'], + 'detail': info['detail'], + 'level': info['level'], + 'badge_class': badge_class + }) + + return risks + + @staticmethod + def get_overdue_status_text(status: Optional[str]) -> str: + """获取逾期状态文本""" + if status == '逾期': + return '逾期' + if status == '未逾期': + return '未逾期' + return '未知' + + @staticmethod + def get_overdue_status_tag_class(status: Optional[str]) -> str: + """获取逾期状态标签样式类""" + if status == '逾期': + return 'pdf-tag-danger' + if status == '未逾期': + return 'pdf-tag-success' + return 'pdf-tag-default' + + @staticmethod + def get_overdue_time_text(status: Optional[str]) -> str: + """获取逾期时间文本""" + if status == '逾期': + return '逾期' + if status == '未逾期': + return '正常' + return '未知' + + @staticmethod + def get_overdue_time_class(status: Optional[str]) -> str: + """获取逾期时间样式类""" + if status == '逾期': + return 'pdf-time-danger' + if status == '未逾期': + return 'pdf-time-success' + return 'pdf-time-default' + + +def process_judicial_data(judicial_data: Dict[str, Any]) -> Dict[str, Any]: + """处理司法涉诉数据""" + processor = ReportDataProcessor() + + # 处理不同的数据结构 + lawsuit_stat = None + breach_case_list = [] + consumption_restriction_list = [] + + # 如果数据在 judicial_data 下 + if 'lawsuitStat' in judicial_data: + lawsuit_stat = judicial_data.get('lawsuitStat', {}) + breach_case_list = judicial_data.get('breachCaseList', []) + consumption_restriction_list = judicial_data.get('consumptionRestrictionList', []) + # 如果数据在 entout.data 下 + elif 'entout' in judicial_data: + entout_data = judicial_data.get('entout', {}).get('data', {}) + lawsuit_stat = entout_data + breach_case_list = judicial_data.get('breachCaseList', []) + consumption_restriction_list = judicial_data.get('consumptionRestrictionList', []) + # 如果直接就是 lawsuitStat 结构 + elif 'count' in judicial_data or 'civil' in judicial_data: + lawsuit_stat = judicial_data + + if not lawsuit_stat: + lawsuit_stat = {} + + # 处理案件统计 + count = lawsuit_stat.get('count', {}) + + # 处理各类案件 + civil = lawsuit_stat.get('civil', {}) + criminal = lawsuit_stat.get('criminal', {}) + administrative = lawsuit_stat.get('administrative', {}) + implement = lawsuit_stat.get('implement', {}) + preservation = lawsuit_stat.get('preservation', {}) + bankrupt = lawsuit_stat.get('bankrupt', {}) + + # 法院曝光台数据(用于替代谛听报告的法院曝光台) + # 从 multCourtInfo 或司法涉诉数据中提取 + court_exposure = { + 'legal_cases': [], + 'execution_cases': [], + 'disin_cases': breach_case_list, + 'limit_cases': consumption_restriction_list + } + + # 如果有执行案件,添加到法院曝光台 + if implement and implement.get('cases'): + court_exposure['execution_cases'] = implement.get('cases', []) + + # 如果有民事案件,添加到法院曝光台 + if civil and civil.get('cases'): + court_exposure['legal_cases'].extend(civil.get('cases', [])) + + # 如果有刑事案件,添加到法院曝光台 + if criminal and criminal.get('cases'): + court_exposure['legal_cases'].extend(criminal.get('cases', [])) + + return { + 'has_data': bool(count or civil or criminal or administrative or implement or preservation or bankrupt or breach_case_list or consumption_restriction_list), + 'count': count, + 'civil': civil, + 'criminal': criminal, + 'administrative': administrative, + 'implement': implement, + 'preservation': preservation, + 'bankrupt': bankrupt, + 'breach_case_list': breach_case_list, + 'consumption_restriction_list': consumption_restriction_list, + 'court_exposure': court_exposure + } + + +def process_report_data(data: Dict[str, Any], judicial_data: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + """处理报告数据,准备模板变量""" + processor = ReportDataProcessor() + + base_info = data.get('baseInfo', {}) + check_suggest = data.get('checkSuggest', '') + fraud_score = data.get('fraudScore', -1) + credit_score = data.get('creditScore', -1) + verify_rule = data.get('verifyRule', '') + fraud_rule = data.get('fraudRule', '') + + element_verification_detail = data.get('elementVerificationDetail', {}) + risk_warning = data.get('riskWarning', {}) + overdue_risk_product = data.get('overdueRiskProduct', {}) + loan_evaluation_verification_detail = data.get('loanEvaluationVerificationDetail', {}) + leasing_risk_assessment = data.get('leasingRiskAssessment', {}) + risk_supervision = data.get('riskSupervision', {}) + + # 处理基本信息 + base_info_processed = { + 'name_masked': processor.mask_name(base_info.get('name')), + 'age': base_info.get('age', ''), + 'sex': base_info.get('sex', ''), + 'phone_masked': processor.mask_phone(base_info.get('phone')), + 'id_card_masked': processor.mask_id_card(base_info.get('idCard')), + 'location': base_info.get('location', ''), + 'phone_area': base_info.get('phoneArea', '') + } + + # 处理要素核查 + element_verification = None + if element_verification_detail: + sfzeys_flag = element_verification_detail.get('sfzeysFlag', 0) + sjsys_flag = element_verification_detail.get('sjsysFlag', 0) + person_check_details = element_verification_detail.get('personCheckDetails', {}) + phone_check_details = element_verification_detail.get('phoneCheckDetails', {}) + + if person_check_details or phone_check_details: + element_verification = { + 'sfzeys_flag': sfzeys_flag, + 'sfzeys_flag_text': processor.get_risk_flag_text(sfzeys_flag), + 'sfzeys_flag_tag_class': processor.get_risk_flag_tag_class(sfzeys_flag), + 'sjsys_flag': sjsys_flag, + 'sjsys_flag_text': processor.get_risk_flag_text(sjsys_flag), + 'sjsys_flag_tag_class': processor.get_risk_flag_tag_class(sjsys_flag), + 'person_check_details': person_check_details, + 'phone_check_details': phone_check_details, + 'person_result_text': processor.get_result_text(person_check_details.get('result')), + 'person_result_class': processor.get_verification_result_class(person_check_details.get('result')), + 'phone_result_text': processor.get_result_text(phone_check_details.get('result')), + 'phone_result_class': processor.get_verification_result_class(phone_check_details.get('result')) + } + + # 处理风险预警 + risk_warning_processed = None + if risk_warning: + risks = processor.get_all_risks(risk_warning) + if risks or risk_warning.get('totalRiskCounts'): + risk_warning_processed = { + 'has_data': True, + 'total_risk_counts': risk_warning.get('totalRiskCounts', 0), + 'high_risk_count': processor.get_high_risk_count(risk_warning), + 'middle_risk_count': processor.get_middle_risk_count(risk_warning), + 'level': risk_warning.get('level', '-'), + 'risks': risks + } + + # 处理逾期风险 + overdue_risk_processed = None + if overdue_risk_product: + has_unsettled_overdue = overdue_risk_product.get('hasUnsettledOverdue') + overdue_risk_processed = { + 'has_data': True, + 'status_text': processor.get_overdue_status_text(has_unsettled_overdue), + 'status_tag_class': processor.get_overdue_status_tag_class(has_unsettled_overdue), + 'current_overdue_institution_count': processor.format_institution_interval( + overdue_risk_product.get('currentOverdueInstitutionCount') + ), + 'current_overdue_amount': processor.format_amount_interval( + overdue_risk_product.get('currentOverdueAmount') + ), + 'settled_institution_count': processor.format_institution_interval( + overdue_risk_product.get('settledInstitutionCount') + ), + 'total_loan_institutions': processor.format_institution_interval( + overdue_risk_product.get('totalLoanInstitutions') + ), + 'time_1day_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast1Day')), + 'time_1day_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast1Day')), + 'time_7days_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast7Days')), + 'time_7days_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast7Days')), + 'time_14days_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast14Days')), + 'time_14days_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast14Days')), + 'time_30days_text': processor.get_overdue_time_text(overdue_risk_product.get('overdueLast30Days')), + 'time_30days_class': processor.get_overdue_time_class(overdue_risk_product.get('overdueLast30Days')) + } + + # 处理借贷评估 + loan_evaluation_processed = None + if loan_evaluation_verification_detail: + risk_flag = loan_evaluation_verification_detail.get('riskFlag', 0) + organ_loan_performances = loan_evaluation_verification_detail.get('organLoanPerformances', []) + + if organ_loan_performances: + processed_performances = [] + for item in organ_loan_performances: + apply_count = item.get('applyCount', '') + type_name = '银行机构' if apply_count == '银行' else '非银机构' + processed_performances.append({ + 'type_name': type_name, + 'last7Day': item.get('last7Day', '0/0'), + 'last15Day': item.get('last15Day', '0/0'), + 'last1Month': item.get('last1Month', '0/0') + }) + + loan_evaluation_processed = { + 'has_data': True, + 'risk_flag': risk_flag, + 'risk_flag_text': processor.get_risk_flag_text(risk_flag), + 'risk_flag_tag_class': processor.get_risk_flag_tag_class(risk_flag), + 'organ_loan_performances': processed_performances + } + + # 处理租赁风险评估 + leasing_risk_processed = None + if leasing_risk_assessment: + risk_flag = leasing_risk_assessment.get('riskFlag', 0) + leasing_risk_processed = { + 'has_data': True, + 'risk_flag': risk_flag, + 'risk_flag_text': processor.get_risk_flag_text(risk_flag), + 'risk_flag_tag_class': processor.get_risk_flag_tag_class(risk_flag), + 'institution_total': leasing_risk_assessment.get('threeCInstitutionApplicationCountLast3Days', '0/0'), + 'institution_weekend': leasing_risk_assessment.get('threeCInstitutionApplicationCountLast3DaysWeekend', '0/0'), + 'institution_night': leasing_risk_assessment.get('threeCInstitutionApplicationCountLast3DaysNight', '0/0'), + 'platform_total': leasing_risk_assessment.get('threeCPlatformApplicationCountLast3Days', '0/0'), + 'platform_weekend': leasing_risk_assessment.get('threeCPlatformApplicationCountLast3DaysWeekend', '0/0'), + 'platform_night': leasing_risk_assessment.get('threeCPlatformApplicationCountLast3DaysNight', '0/0') + } + + # 处理运营商核验 + operator_verification = None + if element_verification_detail: + online_risk_flag = element_verification_detail.get('onlineRiskFlag', 0) + online_risk_list = element_verification_detail.get('onlineRiskList', {}) + phone_vail_risk_flag = element_verification_detail.get('phoneVailRiskFlag', 0) + phone_vail_risks = element_verification_detail.get('phoneVailRisks', {}) + belong_risk_flag = element_verification_detail.get('belongRiskFlag', 0) + belong_risks = element_verification_detail.get('belongRisks', {}) + + if online_risk_list or phone_vail_risks or belong_risks: + operator_verification = { + 'has_data': True, + 'online_risk_flag': online_risk_flag, + 'online_risk_flag_text': processor.get_risk_flag_text(online_risk_flag), + 'online_risk_flag_tag_class': processor.get_risk_flag_tag_class(online_risk_flag), + 'online_risk_list': online_risk_list, + 'phone_vail_risk_flag': phone_vail_risk_flag, + 'phone_vail_risk_flag_text': processor.get_risk_flag_text(phone_vail_risk_flag), + 'phone_vail_risk_flag_tag_class': processor.get_risk_flag_tag_class(phone_vail_risk_flag), + 'phone_vail_risks': phone_vail_risks, + 'belong_risk_flag': belong_risk_flag, + 'belong_risk_flag_text': processor.get_risk_flag_text(belong_risk_flag), + 'belong_risk_flag_tag_class': processor.get_risk_flag_tag_class(belong_risk_flag), + 'belong_risks': belong_risks + } + + # 处理公安重点人员核验 + key_person_verification = None + if element_verification_detail: + high_risk_flag = element_verification_detail.get('highRiskFlag', 0) + key_person_check_list = element_verification_detail.get('keyPersonCheckList', {}) + anti_fraud_info = element_verification_detail.get('antiFraudInfo', {}) + + if key_person_check_list or anti_fraud_info: + key_person_verification = { + 'has_data': True, + 'high_risk_flag': high_risk_flag, + 'high_risk_flag_text': processor.get_risk_flag_text(high_risk_flag), + 'high_risk_flag_tag_class': processor.get_risk_flag_tag_class(high_risk_flag), + 'key_person_check_list': key_person_check_list, + 'anti_fraud_info': anti_fraud_info + } + + # 处理法院曝光台(使用司法涉诉数据) + court_exposure_processed = None + if judicial_data: + judicial_processed = process_judicial_data(judicial_data) + if judicial_processed.get('has_data'): + court_exposure_processed = judicial_processed.get('court_exposure', {}) + + # 处理司法涉诉数据 + judicial_processed = None + if judicial_data: + judicial_processed = process_judicial_data(judicial_data) + + # 计算风险评分相关 + fraud_risk_level = processor.get_fraud_risk_level(fraud_score) + credit_level = processor.get_credit_level(credit_score) + + return { + 'base_info': base_info_processed, + 'check_suggest': check_suggest, + 'check_suggest_class': processor.get_check_suggest_class(check_suggest), + 'fraud_score': fraud_score, + 'fraud_score_display': '未命中' if fraud_score == -1 else str(fraud_score), + 'fraud_risk_level': fraud_risk_level, + 'fraud_score_bg_class': processor.get_fraud_score_bg_class(fraud_score), + 'fraud_risk_tag_class': processor.get_risk_tag_class(fraud_risk_level), + 'credit_score': credit_score, + 'credit_score_display': '未命中' if credit_score == -1 else str(credit_score), + 'credit_level': credit_level, + 'credit_score_bg_class': processor.get_credit_score_bg_class(credit_score), + 'credit_risk_tag_class': processor.get_risk_tag_class(credit_level), + 'verify_rule': verify_rule, + 'verify_rule_class': processor.get_risk_level_class(verify_rule), + 'verify_rule_tag_class': processor.get_risk_tag_class(verify_rule), + 'fraud_rule': fraud_rule, + 'fraud_rule_class': processor.get_risk_level_class(fraud_rule), + 'fraud_rule_tag_class': processor.get_risk_tag_class(fraud_rule), + 'element_verification': element_verification, + 'operator_verification': operator_verification, + 'key_person_verification': key_person_verification, + 'overdue_risk': overdue_risk_processed, + 'court_exposure': court_exposure_processed, + 'loan_evaluation': loan_evaluation_processed, + 'judicial_data': judicial_processed + } + + +def generate_pdf(data_file: str, output_file: str, template_dir: str = 'templates'): + """生成 PDF 文件""" + # 检查 WeasyPrint 是否可用 + if not WEASYPRINT_AVAILABLE: + print("=" * 60) + print("错误:WeasyPrint 不可用") + print("=" * 60) + print(WEASYPRINT_ERROR) + print("=" * 60) + raise RuntimeError("WeasyPrint 未正确安装,请参考错误信息进行安装") + + # 读取数据文件 + with open(data_file, 'r', encoding='utf-8') as f: + if data_file.endswith('.json'): + json_data = json.load(f) + else: + raise ValueError("不支持的文件格式,请使用 JSON 文件") + + # 如果是数组,查找 DWBG8B4D 和司法涉诉数据 + report_data = None + judicial_data = None + + if isinstance(json_data, list): + for item in json_data: + api_id = item.get('data', {}).get('apiID', '') + if api_id in ['DWBG8B4D', 'CDWBG8B4D']: + report_data = item.get('data', {}).get('data', {}) + elif api_id in ['FLXG7E8F', 'FLXG0V4B', 'CFLXG0V4B']: + # 司法涉诉数据可能在 data.data.judicial_data 或 data.data.entout + data_content = item.get('data', {}).get('data', {}) + if 'judicial_data' in data_content: + judicial_data = data_content.get('judicial_data', {}) + elif 'entout' in data_content: + judicial_data = data_content + else: + judicial_data = data_content + else: + report_data = json_data + + if not report_data: + raise ValueError("未找到 DWBG8B4D 数据") + + # 处理数据 + template_vars = process_report_data(report_data, judicial_data) + + # 加载模板 + env = Environment( + loader=FileSystemLoader(template_dir), + autoescape=select_autoescape(['html', 'xml']) + ) + template = env.get_template('report_template.html') + + # 渲染 HTML + html_content = template.render(**template_vars) + + # 生成 PDF + font_config = FontConfiguration() + html_doc = HTML(string=html_content) + html_doc.write_pdf(output_file, font_config=font_config) + + print(f"PDF 已生成: {output_file}") + + +if __name__ == '__main__': + import sys + + if len(sys.argv) < 2: + print("用法: python generate_pdf.py <数据文件> [输出文件]") + print("示例: python generate_pdf.py public/example.json output.pdf") + sys.exit(1) + + data_file = sys.argv[1] + output_file = sys.argv[2] if len(sys.argv) > 2 else 'report.pdf' + + # 确保模板目录存在 + template_dir = Path('templates') + if not template_dir.exists(): + template_dir.mkdir() + print(f"已创建模板目录: {template_dir}") + + try: + generate_pdf(data_file, output_file) + except Exception as e: + print(f"生成 PDF 失败: {e}") + import traceback + traceback.print_exc() + sys.exit(1) diff --git a/index.html b/index.html new file mode 100644 index 0000000..cb56af5 --- /dev/null +++ b/index.html @@ -0,0 +1,110 @@ + + + + + + + 报告查看器 + + + + +
+
+
加载中
+
+
+ + + + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..a8d9a29 --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "report-viewer", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@vueuse/core": "^11.3.0", + "axios": "^1.7.7", + "echarts": "^5.5.1", + "lodash": "^4.17.21", + "vant": "^4.9.9", + "vue": "^3.5.12", + "vue-echarts": "^7.0.3", + "vue-router": "^4.4.5" + }, + "devDependencies": { + "@vant/auto-import-resolver": "^1.3.0", + "@vitejs/plugin-vue": "^5.1.4", + "@vitejs/plugin-vue-jsx": "^4.0.1", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.49", + "sass-embedded": "^1.81.0", + "tailwindcss": "^3.4.15", + "terser": "^5.43.1", + "unplugin-auto-import": "^0.18.5", + "unplugin-vue-components": "^0.27.5", + "vite": "^5.4.10" + }, + "packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..10e1845 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,3837 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@vueuse/core': + specifier: ^11.3.0 + version: 11.3.0(vue@3.5.22) + axios: + specifier: ^1.7.7 + version: 1.13.1 + echarts: + specifier: ^5.5.1 + version: 5.6.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + vant: + specifier: ^4.9.9 + version: 4.9.21(vue@3.5.22) + vue: + specifier: ^3.5.12 + version: 3.5.22 + vue-echarts: + specifier: ^7.0.3 + version: 7.0.3(@vue/runtime-core@3.5.22)(echarts@5.6.0)(vue@3.5.22) + vue-router: + specifier: ^4.4.5 + version: 4.6.3(vue@3.5.22) + devDependencies: + '@vant/auto-import-resolver': + specifier: ^1.3.0 + version: 1.3.0 + '@vitejs/plugin-vue': + specifier: ^5.1.4 + version: 5.2.4(vite@5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0))(vue@3.5.22) + '@vitejs/plugin-vue-jsx': + specifier: ^4.0.1 + version: 4.2.0(vite@5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0))(vue@3.5.22) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.21(postcss@8.5.6) + postcss: + specifier: ^8.4.49 + version: 8.5.6 + puppeteer: + specifier: ^23.0.0 + version: 23.11.1 + sass-embedded: + specifier: ^1.81.0 + version: 1.93.3 + tailwindcss: + specifier: ^3.4.15 + version: 3.4.18 + terser: + specifier: ^5.43.1 + version: 5.44.0 + unplugin-auto-import: + specifier: ^0.18.5 + version: 0.18.6(@vueuse/core@11.3.0(vue@3.5.22))(rollup@4.52.5) + unplugin-vue-components: + specifier: ^0.27.5 + version: 0.27.5(@babel/parser@7.28.5)(rollup@4.52.5)(vue@3.5.22) + vite: + specifier: ^5.4.10 + version: 5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0) + +packages: + + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.28.5': + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.28.5': + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.27.2': + resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.28.5': + resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.28.5': + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.28.5': + resolution: {integrity: sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.28.5': + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} + engines: {node: '>=6.9.0'} + + '@bufbuild/protobuf@2.10.0': + resolution: {integrity: sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ==} + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@puppeteer/browsers@2.6.1': + resolution: {integrity: sha512-aBSREisdsGH890S2rQqK82qmQYU3uFpSH8wcZWHgHzl3LfzsxAKbLNiAG9mO8v1Y0UICBeClICxPJvyr0rcuxg==} + engines: {node: '>=18'} + hasBin: true + + '@rolldown/pluginutils@1.0.0-beta.45': + resolution: {integrity: sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA==} + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.52.5': + resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.52.5': + resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.52.5': + resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.52.5': + resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.52.5': + resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.52.5': + resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.52.5': + resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.52.5': + resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loong64-gnu@4.52.5': + resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-musl@4.52.5': + resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-s390x-gnu@4.52.5': + resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.52.5': + resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.52.5': + resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-openharmony-arm64@4.52.5': + resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.52.5': + resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.52.5': + resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.52.5': + resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} + cpu: [x64] + os: [win32] + + '@tootallnate/quickjs-emscripten@0.23.0': + resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/node@24.10.1': + resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@vant/auto-import-resolver@1.3.0': + resolution: {integrity: sha512-lJyWtCyFizR4bHZvMiNMF3w+WTFTUWAvka1eqTnPK9ticUcKTCOx6qEmHcm8JPb3g1t3GaD2W3MnHkBp/nHamw==} + + '@vant/popperjs@1.3.0': + resolution: {integrity: sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==} + + '@vant/use@1.6.0': + resolution: {integrity: sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==} + peerDependencies: + vue: ^3.0.0 + + '@vitejs/plugin-vue-jsx@4.2.0': + resolution: {integrity: sha512-DSTrmrdLp+0LDNF77fqrKfx7X0ErRbOcUAgJL/HbSesqQwoUvUQ4uYQqaex+rovqgGcoPqVk+AwUh3v9CuiYIw==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + + '@vue/babel-helper-vue-transform-on@1.5.0': + resolution: {integrity: sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==} + + '@vue/babel-plugin-jsx@1.5.0': + resolution: {integrity: sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.5.0': + resolution: {integrity: sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.5.22': + resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==} + + '@vue/compiler-dom@3.5.22': + resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==} + + '@vue/compiler-sfc@3.5.22': + resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==} + + '@vue/compiler-ssr@3.5.22': + resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/reactivity@3.5.22': + resolution: {integrity: sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==} + + '@vue/runtime-core@3.5.22': + resolution: {integrity: sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==} + + '@vue/runtime-dom@3.5.22': + resolution: {integrity: sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==} + + '@vue/server-renderer@3.5.22': + resolution: {integrity: sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==} + peerDependencies: + vue: 3.5.22 + + '@vue/shared@3.5.22': + resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} + + '@vueuse/core@11.3.0': + resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==} + + '@vueuse/metadata@11.3.0': + resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==} + + '@vueuse/shared@11.3.0': + resolution: {integrity: sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==} + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + autoprefixer@10.4.21: + resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + axios@1.13.1: + resolution: {integrity: sha512-hU4EGxxt+j7TQijx1oYdAjw4xuIp1wRQSsbMFwSthCWeBQur1eF+qJ5iQ5sN3Tw8YRzQNKb8jszgBdMDVqwJcw==} + + b4a@1.7.3: + resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + bare-fs@4.5.1: + resolution: {integrity: sha512-zGUCsm3yv/ePt2PHNbVxjjn0nNB1MkIaR4wOCxJ2ig5pCf5cCVAYJXVhQg/3OhhJV6DB1ts7Hv0oUaElc2TPQg==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-os@3.6.2: + resolution: {integrity: sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==} + engines: {bare: '>=1.14.0'} + + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + + bare-stream@2.7.0: + resolution: {integrity: sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==} + peerDependencies: + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + + bare-url@2.3.2: + resolution: {integrity: sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.8.23: + resolution: {integrity: sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ==} + hasBin: true + + basic-ftp@5.0.5: + resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==} + engines: {node: '>=10.0.0'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + brace-expansion@2.0.2: + resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-builder@0.2.0: + resolution: {integrity: sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + caniuse-lite@1.0.30001752: + resolution: {integrity: sha512-vKUk7beoukxE47P5gcVNKkDRzXdVofotshHwfR9vmpeFKxmI5PBpgOMC18LUJUA/DvJ70Y7RveasIBraqsyO/g==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chromium-bidi@0.11.0: + resolution: {integrity: sha512-6CJWHkNRoyZyjV9Rwv2lYONZf1Xm0IuDyNq97nwSsxxP3wf5Bwy15K5rOvVKMtJ127jJBmxFUanSAOjgFRxgrA==} + peerDependencies: + devtools-protocol: '*' + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorjs.io@0.5.2: + resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-uri-to-buffer@6.0.2: + resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} + engines: {node: '>= 14'} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + degenerator@5.0.1: + resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} + engines: {node: '>= 14'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + devtools-protocol@0.0.1367902: + resolution: {integrity: sha512-XxtPuC3PGakY6PD7dG66/o8KwJ/LkH2/EKe19Dcw58w53dv4/vSQEkn/SzuyhHE2q4zPgCkxQBxus3VV4ql+Pg==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + echarts@5.6.0: + resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==} + + electron-to-chromium@1.5.244: + resolution: {integrity: sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + form-data@4.0.4: + resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} + engines: {node: '>= 6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-uri@6.0.5: + resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==} + engines: {node: '>= 14'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + immutable@5.1.4: + resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + engines: {node: '>= 12'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} + engines: {node: '>=14'} + + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-releases@2.0.27: + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + pac-proxy-agent@7.2.0: + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + engines: {node: '>= 14'} + + pac-resolver@7.0.1: + resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} + engines: {node: '>= 14'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.1.0: + resolution: {integrity: sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + proxy-agent@6.5.0: + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} + + puppeteer-core@23.11.1: + resolution: {integrity: sha512-3HZ2/7hdDKZvZQ7dhhITOUg4/wOrDRjyK2ZBllRB0ZCOi9u0cwq1ACHDjBB+nX+7+kltHjQvBRdeY7+W0T+7Gg==} + engines: {node: '>=18'} + + puppeteer@23.11.1: + resolution: {integrity: sha512-53uIX3KR5en8l7Vd8n5DUv90Ae9QDQsyIthaUFVzwV6yU750RjqRznEtNMBT20VthqAdemnJN+hxVdmMHKt7Zw==} + engines: {node: '>=18'} + deprecated: < 24.15.0 is no longer supported + hasBin: true + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rollup@4.52.5: + resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + + sass-embedded-all-unknown@1.93.3: + resolution: {integrity: sha512-3okGgnE41eg+CPLtAPletu6nQ4N0ij7AeW+Sl5Km4j29XcmqZQeFwYjHe1AlKTEgLi/UAONk1O8i8/lupeKMbw==} + cpu: ['!arm', '!arm64', '!riscv64', '!x64'] + + sass-embedded-android-arm64@1.93.3: + resolution: {integrity: sha512-uqUl3Kt1IqdGVAcAdbmC+NwuUJy8tM+2ZnB7/zrt6WxWVShVCRdFnWR9LT8HJr7eJN7AU8kSXxaVX/gedanPsg==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] + + sass-embedded-android-arm@1.93.3: + resolution: {integrity: sha512-8xOw9bywfOD6Wv24BgCmgjkk6tMrsOTTHcb28KDxeJtFtoxiUyMbxo0vChpPAfp2Hyg2tFFKS60s0s4JYk+Raw==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [android] + + sass-embedded-android-riscv64@1.93.3: + resolution: {integrity: sha512-2jNJDmo+3qLocjWqYbXiBDnfgwrUeZgZFHJIwAefU7Fn66Ot7rsXl+XPwlokaCbTpj7eMFIqsRAZ/uDueXNCJg==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [android] + + sass-embedded-android-x64@1.93.3: + resolution: {integrity: sha512-y0RoAU6ZenQFcjM9PjQd3cRqRTjqwSbtWLL/p68y2oFyh0QGN0+LQ826fc0ZvU/AbqCsAizkqjzOn6cRZJxTTQ==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [android] + + sass-embedded-darwin-arm64@1.93.3: + resolution: {integrity: sha512-7zb/hpdMOdKteK17BOyyypemglVURd1Hdz6QGsggy60aUFfptTLQftLRg8r/xh1RbQAUKWFbYTNaM47J9yPxYg==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [darwin] + + sass-embedded-darwin-x64@1.93.3: + resolution: {integrity: sha512-Ek1Vp8ZDQEe327Lz0b7h3hjvWH3u9XjJiQzveq74RPpJQ2q6d9LfWpjiRRohM4qK6o4XOHw1X10OMWPXJtdtWg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [darwin] + + sass-embedded-linux-arm64@1.93.3: + resolution: {integrity: sha512-RBrHWgfd8Dd8w4fbmdRVXRrhh8oBAPyeWDTKAWw8ZEmuXfVl4ytjDuyxaVilh6rR1xTRTNpbaA/YWApBlLrrNw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + libc: glibc + + sass-embedded-linux-arm@1.93.3: + resolution: {integrity: sha512-yeiv2y+dp8B4wNpd3+JsHYD0mvpXSfov7IGyQ1tMIR40qv+ROkRqYiqQvAOXf76Qwh4Y9OaYZtLpnsPjfeq6mA==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + libc: glibc + + sass-embedded-linux-musl-arm64@1.93.3: + resolution: {integrity: sha512-PS829l+eUng+9W4PFclXGb4uA2+965NHV3/Sa5U7qTywjeeUUYTZg70dJHSqvhrBEfCc2XJABeW3adLJbyQYkw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [linux] + libc: musl + + sass-embedded-linux-musl-arm@1.93.3: + resolution: {integrity: sha512-fU0fwAwbp7sBE3h5DVU5UPzvaLg7a4yONfFWkkcCp6ZrOiPuGRHXXYriWQ0TUnWy4wE+svsVuWhwWgvlb/tkKg==} + engines: {node: '>=14.0.0'} + cpu: [arm] + os: [linux] + libc: musl + + sass-embedded-linux-musl-riscv64@1.93.3: + resolution: {integrity: sha512-cK1oBY+FWQquaIGEeQ5H74KTO8cWsSWwXb/WaildOO9U6wmUypTgUYKQ0o5o/29nZbWWlM1PHuwVYTSnT23Jjg==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + libc: musl + + sass-embedded-linux-musl-x64@1.93.3: + resolution: {integrity: sha512-A7wkrsHu2/I4Zpa0NMuPGkWDVV7QGGytxGyUq3opSXgAexHo/vBPlGoDXoRlSdex0cV+aTMRPjoGIfdmNlHwyg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + libc: musl + + sass-embedded-linux-riscv64@1.93.3: + resolution: {integrity: sha512-vWkW1+HTF5qcaHa6hO80gx/QfB6GGjJUP0xLbnAoY4pwEnw5ulGv6RM8qYr8IDhWfVt/KH+lhJ2ZFxnJareisQ==} + engines: {node: '>=14.0.0'} + cpu: [riscv64] + os: [linux] + libc: glibc + + sass-embedded-linux-x64@1.93.3: + resolution: {integrity: sha512-k6uFxs+e5jSuk1Y0niCwuq42F9ZC5UEP7P+RIOurIm8w/5QFa0+YqeW+BPWEW5M1FqVOsNZH3qGn4ahqvAEjPA==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [linux] + libc: glibc + + sass-embedded-unknown-all@1.93.3: + resolution: {integrity: sha512-o5wj2rLpXH0C+GJKt/VpWp6AnMsCCbfFmnMAttcrsa+U3yrs/guhZ3x55KAqqUsE8F47e3frbsDL+1OuQM5DAA==} + os: ['!android', '!darwin', '!linux', '!win32'] + + sass-embedded-win32-arm64@1.93.3: + resolution: {integrity: sha512-0dOfT9moy9YmBolodwYYXtLwNr4jL4HQC9rBfv6mVrD7ud8ue2kDbn+GVzj1hEJxvEexVSmDCf7MHUTLcGs9xQ==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [win32] + + sass-embedded-win32-x64@1.93.3: + resolution: {integrity: sha512-wHFVfxiS9hU/sNk7KReD+lJWRp3R0SLQEX4zfOnRP2zlvI2X4IQR5aZr9GNcuMP6TmNpX0nQPZTegS8+h9RrEg==} + engines: {node: '>=14.0.0'} + cpu: [x64] + os: [win32] + + sass-embedded@1.93.3: + resolution: {integrity: sha512-+VUy01yfDqNmIVMd/LLKl2TTtY0ovZN0rTonh+FhKr65mFwIYgU9WzgIZKS7U9/SPCQvWTsTGx9jyt+qRm/XFw==} + engines: {node: '>=16.0.0'} + hasBin: true + + sass@1.93.3: + resolution: {integrity: sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==} + engines: {node: '>=14.0.0'} + hasBin: true + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + engines: {node: '>=10'} + hasBin: true + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + + socks@2.8.7: + resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + streamx@2.23.0: + resolution: {integrity: sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + engines: {node: '>=12'} + + strip-literal@2.1.1: + resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + sync-child-process@1.0.2: + resolution: {integrity: sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==} + engines: {node: '>=16.0.0'} + + sync-message-port@1.1.3: + resolution: {integrity: sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==} + engines: {node: '>=16.0.0'} + + tailwindcss@3.4.18: + resolution: {integrity: sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + tar-fs@3.1.1: + resolution: {integrity: sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==} + + tar-stream@3.1.7: + resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} + + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} + engines: {node: '>=10'} + hasBin: true + + text-decoder@1.2.3: + resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + typed-query-selector@2.12.0: + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} + + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + + unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + unimport@3.14.6: + resolution: {integrity: sha512-CYvbDaTT04Rh8bmD8jz3WPmHYZRG/NnvYVzwD6V1YAlvvKROlAeNDUBhkBGzNav2RKaeuXvlWYaa1V4Lfi/O0g==} + + unplugin-auto-import@0.18.6: + resolution: {integrity: sha512-LMFzX5DtkTj/3wZuyG5bgKBoJ7WSgzqSGJ8ppDRdlvPh45mx6t6w3OcbExQi53n3xF5MYkNGPNR/HYOL95KL2A==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + + unplugin-vue-components@0.27.5: + resolution: {integrity: sha512-m9j4goBeNwXyNN8oZHHxvIIYiG8FQ9UfmKWeNllpDvhU7btKNNELGPt+o3mckQKuPwrE7e0PvCsx+IWuDSD9Vg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + engines: {node: '>=14.0.0'} + + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vant@4.9.21: + resolution: {integrity: sha512-hXUoZMrLLjykimFRLDlGNd+K2iYSRh9YwLMKnsVdVZ+9inUKxpqnjhOqlZwocbnYkvJlS+febf9u9aJpDol4Pw==} + peerDependencies: + vue: ^3.0.0 + + varint@6.0.0: + resolution: {integrity: sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==} + + vite@5.4.21: + resolution: {integrity: sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vue-demi@0.13.11: + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-echarts@7.0.3: + resolution: {integrity: sha512-/jSxNwOsw5+dYAUcwSfkLwKPuzTQ0Cepz1LxCOpj2QcHrrmUa/Ql0eQqMmc1rTPQVrh2JQ29n2dhq75ZcHvRDw==} + peerDependencies: + '@vue/runtime-core': ^3.0.0 + echarts: ^5.5.1 + vue: ^2.7.0 || ^3.1.1 + peerDependenciesMeta: + '@vue/runtime-core': + optional: true + + vue-router@4.6.3: + resolution: {integrity: sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==} + peerDependencies: + vue: ^3.5.0 + + vue@3.5.22: + resolution: {integrity: sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + + zrender@5.6.1: + resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==} + +snapshots: + + '@alloc/quick-lru@5.2.0': {} + + '@antfu/utils@0.7.10': {} + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.5': {} + + '@babel/core@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.5 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.5 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.27.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.5 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.28.5': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.5 + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + + '@babel/parser@7.28.5': + dependencies: + '@babel/types': 7.28.5 + + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-typescript@7.28.5(@babel/core@7.28.5)': + dependencies: + '@babel/core': 7.28.5 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) + transitivePeerDependencies: + - supports-color + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.5 + '@babel/types': 7.28.5 + + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.5 + '@babel/template': 7.27.2 + '@babel/types': 7.28.5 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.5': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bufbuild/protobuf@2.10.0': {} + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@puppeteer/browsers@2.6.1': + dependencies: + debug: 4.4.3 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.7.3 + tar-fs: 3.1.1 + unbzip2-stream: 1.4.3 + yargs: 17.7.2 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + - supports-color + + '@rolldown/pluginutils@1.0.0-beta.45': {} + + '@rollup/pluginutils@5.3.0(rollup@4.52.5)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.52.5 + + '@rollup/rollup-android-arm-eabi@4.52.5': + optional: true + + '@rollup/rollup-android-arm64@4.52.5': + optional: true + + '@rollup/rollup-darwin-arm64@4.52.5': + optional: true + + '@rollup/rollup-darwin-x64@4.52.5': + optional: true + + '@rollup/rollup-freebsd-arm64@4.52.5': + optional: true + + '@rollup/rollup-freebsd-x64@4.52.5': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.52.5': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.52.5': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-x64-musl@4.52.5': + optional: true + + '@rollup/rollup-openharmony-arm64@4.52.5': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.52.5': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.52.5': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.52.5': + optional: true + + '@tootallnate/quickjs-emscripten@0.23.0': {} + + '@types/estree@1.0.8': {} + + '@types/node@24.10.1': + dependencies: + undici-types: 7.16.0 + optional: true + + '@types/web-bluetooth@0.0.20': {} + + '@types/yauzl@2.10.3': + dependencies: + '@types/node': 24.10.1 + optional: true + + '@vant/auto-import-resolver@1.3.0': {} + + '@vant/popperjs@1.3.0': {} + + '@vant/use@1.6.0(vue@3.5.22)': + dependencies: + vue: 3.5.22 + + '@vitejs/plugin-vue-jsx@4.2.0(vite@5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0))(vue@3.5.22)': + dependencies: + '@babel/core': 7.28.5 + '@babel/plugin-transform-typescript': 7.28.5(@babel/core@7.28.5) + '@rolldown/pluginutils': 1.0.0-beta.45 + '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.5) + vite: 5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0) + vue: 3.5.22 + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.2.4(vite@5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0))(vue@3.5.22)': + dependencies: + vite: 5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0) + vue: 3.5.22 + + '@vue/babel-helper-vue-transform-on@1.5.0': {} + + '@vue/babel-plugin-jsx@1.5.0(@babel/core@7.28.5)': + dependencies: + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.5 + '@babel/types': 7.28.5 + '@vue/babel-helper-vue-transform-on': 1.5.0 + '@vue/babel-plugin-resolve-type': 1.5.0(@babel/core@7.28.5) + '@vue/shared': 3.5.22 + optionalDependencies: + '@babel/core': 7.28.5 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.5.0(@babel/core@7.28.5)': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.28.5 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/parser': 7.28.5 + '@vue/compiler-sfc': 3.5.22 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.5.22': + dependencies: + '@babel/parser': 7.28.5 + '@vue/shared': 3.5.22 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.22': + dependencies: + '@vue/compiler-core': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/compiler-sfc@3.5.22': + dependencies: + '@babel/parser': 7.28.5 + '@vue/compiler-core': 3.5.22 + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 + estree-walker: 2.0.2 + magic-string: 0.30.21 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.22': + dependencies: + '@vue/compiler-dom': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/devtools-api@6.6.4': {} + + '@vue/reactivity@3.5.22': + dependencies: + '@vue/shared': 3.5.22 + + '@vue/runtime-core@3.5.22': + dependencies: + '@vue/reactivity': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/runtime-dom@3.5.22': + dependencies: + '@vue/reactivity': 3.5.22 + '@vue/runtime-core': 3.5.22 + '@vue/shared': 3.5.22 + csstype: 3.1.3 + + '@vue/server-renderer@3.5.22(vue@3.5.22)': + dependencies: + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 + vue: 3.5.22 + + '@vue/shared@3.5.22': {} + + '@vueuse/core@11.3.0(vue@3.5.22)': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 11.3.0 + '@vueuse/shared': 11.3.0(vue@3.5.22) + vue-demi: 0.14.10(vue@3.5.22) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/metadata@11.3.0': {} + + '@vueuse/shared@11.3.0(vue@3.5.22)': + dependencies: + vue-demi: 0.14.10(vue@3.5.22) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + acorn@8.15.0: {} + + agent-base@7.1.4: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.3: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + ast-types@0.13.4: + dependencies: + tslib: 2.8.1 + + asynckit@0.4.0: {} + + autoprefixer@10.4.21(postcss@8.5.6): + dependencies: + browserslist: 4.27.0 + caniuse-lite: 1.0.30001752 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + + axios@1.13.1: + dependencies: + follow-redirects: 1.15.11 + form-data: 4.0.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + b4a@1.7.3: {} + + balanced-match@1.0.2: {} + + bare-events@2.8.2: {} + + bare-fs@4.5.1: + dependencies: + bare-events: 2.8.2 + bare-path: 3.0.0 + bare-stream: 2.7.0(bare-events@2.8.2) + bare-url: 2.3.2 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + + bare-os@3.6.2: + optional: true + + bare-path@3.0.0: + dependencies: + bare-os: 3.6.2 + optional: true + + bare-stream@2.7.0(bare-events@2.8.2): + dependencies: + streamx: 2.23.0 + optionalDependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + optional: true + + bare-url@2.3.2: + dependencies: + bare-path: 3.0.0 + optional: true + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.8.23: {} + + basic-ftp@5.0.5: {} + + binary-extensions@2.3.0: {} + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.27.0: + dependencies: + baseline-browser-mapping: 2.8.23 + caniuse-lite: 1.0.30001752 + electron-to-chromium: 1.5.244 + node-releases: 2.0.27 + update-browserslist-db: 1.1.4(browserslist@4.27.0) + + buffer-builder@0.2.0: {} + + buffer-crc32@0.2.13: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + callsites@3.1.0: {} + + camelcase-css@2.0.1: {} + + caniuse-lite@1.0.30001752: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + optional: true + + chromium-bidi@0.11.0(devtools-protocol@0.0.1367902): + dependencies: + devtools-protocol: 0.0.1367902 + mitt: 3.0.1 + zod: 3.23.8 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + colorjs.io@0.5.2: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@2.20.3: {} + + commander@4.1.1: {} + + confbox@0.1.8: {} + + confbox@0.2.2: {} + + convert-source-map@2.0.0: {} + + cosmiconfig@9.0.0: + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.1 + js-yaml: 4.1.1 + parse-json: 5.2.0 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + data-uri-to-buffer@6.0.2: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + degenerator@5.0.1: + dependencies: + ast-types: 0.13.4 + escodegen: 2.1.0 + esprima: 4.0.1 + + delayed-stream@1.0.0: {} + + detect-libc@1.0.3: + optional: true + + devtools-protocol@0.0.1367902: {} + + didyoumean@1.2.2: {} + + dlv@1.1.3: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + echarts@5.6.0: + dependencies: + tslib: 2.3.0 + zrender: 5.6.1 + + electron-to-chromium@1.5.244: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + + entities@4.5.0: {} + + env-paths@2.2.1: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.2.0: {} + + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + esprima@4.0.1: {} + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller + + exsolve@1.0.7: {} + + extract-zip@2.0.1: + dependencies: + debug: 4.4.3 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.3 + transitivePeerDependencies: + - supports-color + + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fd-slicer@1.1.0: + dependencies: + pend: 1.2.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + follow-redirects@1.15.11: {} + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data@4.0.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + + fraction.js@4.3.7: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@5.2.0: + dependencies: + pump: 3.0.3 + + get-uri@6.0.5: + dependencies: + basic-ftp: 5.0.5 + data-uri-to-buffer: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + gopd@1.2.0: {} + + has-flag@4.0.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + ieee754@1.2.1: {} + + immutable@5.1.4: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + ip-address@10.1.0: {} + + is-arrayish@0.2.1: {} + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + isexe@2.0.0: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.7: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.1: {} + + js-yaml@4.1.1: + dependencies: + argparse: 2.0.1 + + jsesc@3.1.0: {} + + json-parse-even-better-errors@2.3.1: {} + + json5@2.2.3: {} + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + local-pkg@0.5.1: + dependencies: + mlly: 1.8.0 + pkg-types: 1.3.1 + + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + + lodash@4.17.21: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@7.18.3: {} + + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + math-intrinsics@1.1.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minipass@7.1.2: {} + + mitt@3.0.1: {} + + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + + ms@2.1.3: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.11: {} + + netmask@2.0.2: {} + + node-addon-api@7.1.1: + optional: true + + node-releases@2.0.27: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + object-assign@4.1.1: {} + + object-hash@3.0.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + pac-proxy-agent@7.2.0: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.4 + debug: 4.4.3 + get-uri: 6.0.5 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + pac-resolver@7.0.1: + dependencies: + degenerator: 5.0.1 + netmask: 2.0.2 + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.27.1 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + pathe@2.0.3: {} + + pend@1.2.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.3: {} + + pify@2.3.0: {} + + pirates@4.0.7: {} + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + + postcss-import@15.1.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.11 + + postcss-js@4.1.0(postcss@8.5.6): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.5.6 + + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.6): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + jiti: 1.21.7 + postcss: 8.5.6 + + postcss-nested@6.2.0(postcss@8.5.6): + dependencies: + postcss: 8.5.6 + postcss-selector-parser: 6.1.2 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-value-parser@4.2.0: {} + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + progress@2.0.3: {} + + proxy-agent@6.5.0: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.2.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + + proxy-from-env@1.1.0: {} + + pump@3.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + + puppeteer-core@23.11.1: + dependencies: + '@puppeteer/browsers': 2.6.1 + chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) + debug: 4.4.3 + devtools-protocol: 0.0.1367902 + typed-query-selector: 2.12.0 + ws: 8.18.3 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - utf-8-validate + + puppeteer@23.11.1: + dependencies: + '@puppeteer/browsers': 2.6.1 + chromium-bidi: 0.11.0(devtools-protocol@0.0.1367902) + cosmiconfig: 9.0.0 + devtools-protocol: 0.0.1367902 + puppeteer-core: 23.11.1 + typed-query-selector: 2.12.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - bufferutil + - react-native-b4a + - supports-color + - typescript + - utf-8-validate + + quansync@0.2.11: {} + + queue-microtask@1.2.3: {} + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: + optional: true + + require-directory@2.1.1: {} + + resolve-from@4.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.1.0: {} + + rollup@4.52.5: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.52.5 + '@rollup/rollup-android-arm64': 4.52.5 + '@rollup/rollup-darwin-arm64': 4.52.5 + '@rollup/rollup-darwin-x64': 4.52.5 + '@rollup/rollup-freebsd-arm64': 4.52.5 + '@rollup/rollup-freebsd-x64': 4.52.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 + '@rollup/rollup-linux-arm-musleabihf': 4.52.5 + '@rollup/rollup-linux-arm64-gnu': 4.52.5 + '@rollup/rollup-linux-arm64-musl': 4.52.5 + '@rollup/rollup-linux-loong64-gnu': 4.52.5 + '@rollup/rollup-linux-ppc64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-musl': 4.52.5 + '@rollup/rollup-linux-s390x-gnu': 4.52.5 + '@rollup/rollup-linux-x64-gnu': 4.52.5 + '@rollup/rollup-linux-x64-musl': 4.52.5 + '@rollup/rollup-openharmony-arm64': 4.52.5 + '@rollup/rollup-win32-arm64-msvc': 4.52.5 + '@rollup/rollup-win32-ia32-msvc': 4.52.5 + '@rollup/rollup-win32-x64-gnu': 4.52.5 + '@rollup/rollup-win32-x64-msvc': 4.52.5 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + sass-embedded-all-unknown@1.93.3: + dependencies: + sass: 1.93.3 + optional: true + + sass-embedded-android-arm64@1.93.3: + optional: true + + sass-embedded-android-arm@1.93.3: + optional: true + + sass-embedded-android-riscv64@1.93.3: + optional: true + + sass-embedded-android-x64@1.93.3: + optional: true + + sass-embedded-darwin-arm64@1.93.3: + optional: true + + sass-embedded-darwin-x64@1.93.3: + optional: true + + sass-embedded-linux-arm64@1.93.3: + optional: true + + sass-embedded-linux-arm@1.93.3: + optional: true + + sass-embedded-linux-musl-arm64@1.93.3: + optional: true + + sass-embedded-linux-musl-arm@1.93.3: + optional: true + + sass-embedded-linux-musl-riscv64@1.93.3: + optional: true + + sass-embedded-linux-musl-x64@1.93.3: + optional: true + + sass-embedded-linux-riscv64@1.93.3: + optional: true + + sass-embedded-linux-x64@1.93.3: + optional: true + + sass-embedded-unknown-all@1.93.3: + dependencies: + sass: 1.93.3 + optional: true + + sass-embedded-win32-arm64@1.93.3: + optional: true + + sass-embedded-win32-x64@1.93.3: + optional: true + + sass-embedded@1.93.3: + dependencies: + '@bufbuild/protobuf': 2.10.0 + buffer-builder: 0.2.0 + colorjs.io: 0.5.2 + immutable: 5.1.4 + rxjs: 7.8.2 + supports-color: 8.1.1 + sync-child-process: 1.0.2 + varint: 6.0.0 + optionalDependencies: + sass-embedded-all-unknown: 1.93.3 + sass-embedded-android-arm: 1.93.3 + sass-embedded-android-arm64: 1.93.3 + sass-embedded-android-riscv64: 1.93.3 + sass-embedded-android-x64: 1.93.3 + sass-embedded-darwin-arm64: 1.93.3 + sass-embedded-darwin-x64: 1.93.3 + sass-embedded-linux-arm: 1.93.3 + sass-embedded-linux-arm64: 1.93.3 + sass-embedded-linux-musl-arm: 1.93.3 + sass-embedded-linux-musl-arm64: 1.93.3 + sass-embedded-linux-musl-riscv64: 1.93.3 + sass-embedded-linux-musl-x64: 1.93.3 + sass-embedded-linux-riscv64: 1.93.3 + sass-embedded-linux-x64: 1.93.3 + sass-embedded-unknown-all: 1.93.3 + sass-embedded-win32-arm64: 1.93.3 + sass-embedded-win32-x64: 1.93.3 + + sass@1.93.3: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.4 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + optional: true + + scule@1.3.0: {} + + semver@6.3.1: {} + + semver@7.7.3: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + signal-exit@4.1.0: {} + + smart-buffer@4.2.0: {} + + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + socks: 2.8.7 + transitivePeerDependencies: + - supports-color + + socks@2.8.7: + dependencies: + ip-address: 10.1.0 + smart-buffer: 4.2.0 + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + streamx@2.23.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.3 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-literal@2.1.1: + dependencies: + js-tokens: 9.0.1 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + sync-child-process@1.0.2: + dependencies: + sync-message-port: 1.1.3 + + sync-message-port@1.1.3: {} + + tailwindcss@3.4.18: + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.3 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.5.6 + postcss-import: 15.1.0(postcss@8.5.6) + postcss-js: 4.1.0(postcss@8.5.6) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.6) + postcss-nested: 6.2.0(postcss@8.5.6) + postcss-selector-parser: 6.1.2 + resolve: 1.22.11 + sucrase: 3.35.0 + transitivePeerDependencies: + - tsx + - yaml + + tar-fs@3.1.1: + dependencies: + pump: 3.0.3 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.5.1 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a + + tar-stream@3.1.7: + dependencies: + b4a: 1.7.3 + fast-fifo: 1.3.2 + streamx: 2.23.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a + + terser@5.44.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-decoder@1.2.3: + dependencies: + b4a: 1.7.3 + transitivePeerDependencies: + - react-native-b4a + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + through@2.3.8: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + ts-interface-checker@0.1.13: {} + + tslib@2.3.0: {} + + tslib@2.8.1: {} + + typed-query-selector@2.12.0: {} + + ufo@1.6.1: {} + + unbzip2-stream@1.4.3: + dependencies: + buffer: 5.7.1 + through: 2.3.8 + + undici-types@7.16.0: + optional: true + + unimport@3.14.6(rollup@4.52.5): + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + acorn: 8.15.0 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.0 + pathe: 2.0.3 + picomatch: 4.0.3 + pkg-types: 1.3.1 + scule: 1.3.0 + strip-literal: 2.1.1 + unplugin: 1.16.1 + transitivePeerDependencies: + - rollup + + unplugin-auto-import@0.18.6(@vueuse/core@11.3.0(vue@3.5.22))(rollup@4.52.5): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + fast-glob: 3.3.3 + local-pkg: 0.5.1 + magic-string: 0.30.21 + minimatch: 9.0.5 + unimport: 3.14.6(rollup@4.52.5) + unplugin: 1.16.1 + optionalDependencies: + '@vueuse/core': 11.3.0(vue@3.5.22) + transitivePeerDependencies: + - rollup + + unplugin-vue-components@0.27.5(@babel/parser@7.28.5)(rollup@4.52.5)(vue@3.5.22): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + chokidar: 3.6.0 + debug: 4.4.3 + fast-glob: 3.3.3 + local-pkg: 0.5.1 + magic-string: 0.30.21 + minimatch: 9.0.5 + mlly: 1.8.0 + unplugin: 1.16.1 + vue: 3.5.22 + optionalDependencies: + '@babel/parser': 7.28.5 + transitivePeerDependencies: + - rollup + - supports-color + + unplugin@1.16.1: + dependencies: + acorn: 8.15.0 + webpack-virtual-modules: 0.6.2 + + update-browserslist-db@1.1.4(browserslist@4.27.0): + dependencies: + browserslist: 4.27.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + util-deprecate@1.0.2: {} + + vant@4.9.21(vue@3.5.22): + dependencies: + '@vant/popperjs': 1.3.0 + '@vant/use': 1.6.0(vue@3.5.22) + '@vue/shared': 3.5.22 + vue: 3.5.22 + + varint@6.0.0: {} + + vite@5.4.21(@types/node@24.10.1)(sass-embedded@1.93.3)(sass@1.93.3)(terser@5.44.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.5.6 + rollup: 4.52.5 + optionalDependencies: + '@types/node': 24.10.1 + fsevents: 2.3.3 + sass: 1.93.3 + sass-embedded: 1.93.3 + terser: 5.44.0 + + vue-demi@0.13.11(vue@3.5.22): + dependencies: + vue: 3.5.22 + + vue-demi@0.14.10(vue@3.5.22): + dependencies: + vue: 3.5.22 + + vue-echarts@7.0.3(@vue/runtime-core@3.5.22)(echarts@5.6.0)(vue@3.5.22): + dependencies: + echarts: 5.6.0 + vue: 3.5.22 + vue-demi: 0.13.11(vue@3.5.22) + optionalDependencies: + '@vue/runtime-core': 3.5.22 + transitivePeerDependencies: + - '@vue/composition-api' + + vue-router@4.6.3(vue@3.5.22): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.22 + + vue@3.5.22: + dependencies: + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-sfc': 3.5.22 + '@vue/runtime-dom': 3.5.22 + '@vue/server-renderer': 3.5.22(vue@3.5.22) + '@vue/shared': 3.5.22 + + webpack-virtual-modules@0.6.2: {} + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + + wrappy@1.0.2: {} + + ws@8.18.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yauzl@2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + zod@3.23.8: {} + + zrender@5.6.1: + dependencies: + tslib: 2.3.0 diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..685dd1f --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,7 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; + diff --git a/public/example.json b/public/example.json new file mode 100644 index 0000000..b28a5ca --- /dev/null +++ b/public/example.json @@ -0,0 +1,8541 @@ +[ + { + "feature": { + "featureName": "手机在网时长", + "sort": 1 + }, + "data": { + "apiID": "YYSY8B1C", + "data": { + "inTime": "24", + "operators": "移动" + } + } + }, + { + "feature": { + "featureName": "携号转网查询", + "sort": 1 + }, + "data": { + "apiID": "YYSY7D3E", + "data": { + "batchNo": "YYTZ674990835598622720", + "queryResult": [ + { + "mobile": "139123412345", + "result": "1", + "after": "1", + "before": "2" + } + ] + } + } + }, + { + "feature": { + "featureName": "全景雷达", + "sort": 1 + }, + "data": { + "apiID": "JRZQ7F1A", + "data": { + "current_report_detail": { + "C22180006": "0", + "C22180007": "5", + "C22180008": "9", + "C22180009": "12600", + "C22180002": "0", + "C22180003": "0", + "C22180004": "0", + "C22180005": "0", + "C22180010": "6120", + "C22180011": "10600", + "C22180012": "80", + "C22180001": "0" + }, + "behavior_report_detail": { + "B22170019": "6", + "B22170050": "(7,15]", + "B22170053": "720", + "B22170010": "[30000,50000)", + "B22170054": "2023-04", + "B22170051": "82", + "B22170052": "24", + "B22170013": "7", + "B22170014": "2", + "B22170011": "[50000,+)", + "B22170012": "11", + "B22170017": "2", + "B22170018": "3", + "B22170015": "0", + "B22170016": "1", + "B22170020": "7", + "B22170021": "6", + "B22170024": "0", + "B22170025": "4", + "B22170022": "7", + "B22170023": "0", + "B22170028": "4", + "B22170029": "5", + "B22170026": "8", + "B22170027": "9", + "B22170031": "[3000,5000)", + "B22170032": "[5000,10000)", + "B22170030": "5", + "B22170035": "4", + "B22170036": "14", + "B22170033": "[5000,10000)", + "B22170034": "70%", + "B22170039": "102", + "B22170037": "21", + "B22170038": "35", + "B22170008": "[2000,3000)", + "B22170009": "[10000,20000)", + "B22170042": "[500,1000)", + "B22170043": "[10000,20000)", + "B22170040": "(0,500)", + "B22170041": "[500,1000)", + "B22170002": "1", + "B22170046": "6", + "B22170003": "3", + "B22170047": "8", + "B22170044": "[30000,50000)", + "B22170001": "547", + "B22170045": "4", + "B22170006": "32", + "B22170007": "(0,500)", + "B22170004": "7", + "B22170048": "35", + "B22170005": "20", + "B22170049": "168" + }, + "apply_report_detail": { + "A22160009": "33", + "A22160008": "15", + "A22160007": "2023-05", + "A22160006": "90", + "A22160005": "13", + "A22160004": "11", + "A22160003": "38", + "A22160002": "76", + "A22160001": "503", + "A22160010": "48" + } + } + } + }, + { + "feature": { + "featureName": "个人涉诉", + "sort": 1 + }, + "data": { + "apiID": "FLXG7E8F", + "data": { + "judicial_data": { + "consumptionRestrictionList": [ + { + "caseNumber": "(2023)京0113执*****号", + "id": "0b733c6c503f740663422e44bc434a66", + "issueDate": "2023-11-20", + "executiveCourt": "京海市顺义区⼈⺠法院" + }, + { + "caseNumber": "(2021)京0113执****号", + "id": "3fa335ec744dfb1d720f996e9d2b6e12", + "issueDate": "2021-08-10", + "executiveCourt": "京海市顺义区⼈⺠法院" + }, + { + "caseNumber": "(2022)京0113执****号", + "id": "84fa0cf34f947eb0afd2f54ebe589e35", + "issueDate": "2022-07-24", + "executiveCourt": "京海市顺义区⼈⺠法院" + }, + { + "caseNumber": "(2021)京0113执****号", + "id": "2e53a8808313ba87f15bf30ae76cd2d6", + "issueDate": "2021-11-19", + "executiveCourt": "京海市顺义区⼈⺠法院" + } + ], + "breachCaseList": [ + { + "estimatedJudgementAmount": 109455, + "sex": "男性", + "fileDate": "2021-02-23", + "province": "北京", + "enforcementBasisNumber": "(2020)京0113⺠初9****", + "fulfillStatus": "全部未履⾏", + "enforcementBasisOrganization": "京海市顺义区⼈⺠法院", + "caseNumber": "(2021)京0113执****号", + "obligation": "被告靳帅偿还原告王丹霞借元,于本判决⽣效之⽇起七⽇内执⾏。", + "id": "f343e0d314e840d93684fa9a90f144cc", + "issueDate": "2021-02-23", + "executiveCourt": "京海市顺义区⼈⺠法院", + "concreteDetails": "有履⾏能⼒⽽拒不履⾏⽣效法律⽂书确定义务" + }, + { + "estimatedJudgementAmount": 18110, + "sex": "男性", + "fileDate": "2022-07-12", + "province": "北京", + "enforcementBasisNumber": "(2022)京0113刑初****", + "fulfillStatus": "全部未履⾏", + "enforcementBasisOrganization": "京海市顺义区⼈⺠法院", + "caseNumber": "(2022)京0113执5190号", + "obligation": "⼀、被告⼈靳帅犯盗窃罪,判处有期徒刑⼀年三个⽉,并处罚⾦⼈⺠币五千元(刑期从判决执⾏之⽇起计算,判决执⾏以前先⾏羁押的,羁押⼀⽇折抵刑期⼀⽇,即⾃2022年3⽉6⽇起⾄2023年6⽉5⽇⽌。罚⾦于判决⽣效之⽇起五⽇内缴纳)。\\n⼆、责令被告⼈靳帅退赔被害⼈孙学⺠的经济损失⼈⺠币⼗元,退赔被害⼈张树起的经济损失⼈⺠币五百元,退赔被害⼈冯⽂⻰的经济损失⼈⺠币⼀万⼆千六百元。", + "id": "6cc2453f4e8cccf3ecd441ae08dd2183", + "issueDate": "2022-07-12", + "executiveCourt": "京海市顺义区⼈⺠法院", + "concreteDetails": "有履⾏能⼒⽽拒不履⾏⽣效法律⽂书确定义务" + } + ], + "lawsuitStat": { + "cases_tree": { + "civil": [ + { + "stage_type": 1, + "case_type": 300, + "c_ah": "2013年⻄⺠初字第*****号", + "n_ajbs": "257ebb5c348de00883c872d636cf3128" + }, + { + "stage_type": 1, + "case_type": 300, + "c_ah": "2013年⻄⺠初字第0***号", + "n_ajbs": "b6d8144d729f7811f4ea7838ef69baa7" + }, + { + "next": { + "stage_type": 5, + "case_type": 1000, + "c_ah": "(2021)京0113执****号", + "n_ajbs": "54e45b851f5baedc7d249ab755e39fbe" + }, + "stage_type": 1, + "case_type": 300, + "c_ah": "(2020)京0113⺠初****号", + "n_ajbs": "5a0867d91ce580d1239e1f2063912584" + } + ], + "criminal": [ + { + "stage_type": 1, + "case_type": 200, + "c_ah": "2009年顺刑初字第*****号", + "n_ajbs": "e084cc09e364a6c2c02f82bd49a3bcfd" + }, + { + "next": { + "stage_type": 5, + "case_type": 1000, + "c_ah": "(2021)京0113执****号", + "n_ajbs": "3e8392c51bbc1b7fb8e050284c89d220" + }, + "stage_type": 1, + "case_type": 200, + "c_ah": "(2021)京0113刑初****号", + "n_ajbs": "08c9087760d19e4e46ea0a5e1ff8907f" + }, + { + "next": { + "stage_type": 5, + "case_type": 1000, + "c_ah": "(2022)京0113执****号", + "n_ajbs": "c345a052409a2c0ebaecd6cee45b8050" + }, + "stage_type": 1, + "case_type": 200, + "c_ah": "(2022)京0113刑初****号", + "n_ajbs": "1da42d08e89cf1907b0ab30239437060" + }, + { + "next": { + "stage_type": 5, + "case_type": 1000, + "c_ah": "(2023)京0113执1****号", + "n_ajbs": "8dda746bb87c72f76d49a2cacee0efa0" + }, + "stage_type": 1, + "case_type": 200, + "c_ah": "(2023)京0113刑****号", + "n_ajbs": "91b1aa92abba978b9bb583de92445045" + } + ] + }, + "count": { + "money_jie_total": 11, + "count_total": 11, + "larq_stat": "2009(1),2013(2),2020(1),2021(3),2022(2),2023(2)", + "money_wei_percent": 0, + "area_stat": "京海市(11)", + "money_jie_beigao": 11, + "count_jie_total": 11, + "money_jie_other": 0, + "count_wei_total": 0, + "count_jie_beigao": 11, + "money_yuangao": 0, + "money_beigao": 11, + "ay_stat": "侵犯财产罪(4),刑事(3),合同、准合同纠纷(3),未知(1)", + "count_wei_other": 0, + "count_wei_beigao": 0, + "count_wei_yuangao": 0, + "money_other": 0, + "count_yuangao": 0, + "money_wei_yuangao": 0, + "money_jie_yuangao": 0, + "money_wei_beigao": 0, + "count_jie_yuangao": 0, + "count_other": 0, + "count_jie_other": 0, + "count_beigao": 11, + "money_wei_total": 0, + "money_wei_other": 0, + "money_total": 11, + "jafs_stat": "判决(5),终结本次执⾏程序(4),准予撤诉(2)" + }, + "preservation": {}, + "crc": 3714068012, + "administrative": {}, + "civil": { + "cases": [ + { + "n_laay_tree": "合同、准合同纠纷,合同纠纷,银⾏卡纠纷,信⽤卡纠纷", + "n_jaay": "合同、准合同纠纷", + "n_ssdw": "被告", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,银⾏卡纠纷,信⽤卡纠纷", + "n_pj_victory": "未知", + "n_ssdw_ys": "被告", + "n_jafs": "准予撤诉", + "n_jbfy_cj": "基层法院", + "n_qsbdje": "3304.16", + "c_id": "ea3566e092ef9bf659659b2c07855d3e", + "n_slcx": "⼀审", + "n_ajjzjd": "已结案", + "n_jbfy": "京海市⻄城区⼈⺠法院", + "d_jarq": "2013-06-18", + "n_jabdje_level": 1, + "c_slfsxx": "-1,,,;1,2013-06-19 09:00:00,1,1", + "c_ah": "2013年⻄⺠初字第******号", + "n_qsbdje_level": 1, + "c_ssdy": "京海市", + "n_jabdje": "3304.16", + "n_ajbs": "b6d8144d729f7811f4ea7838ef69baa7", + "n_crc": 451683830, + "n_ajlx": "⺠事⼀审", + "c_dsrxx": [ + { + "n_ssdw": "原告", + "c_mc": "中国建设银⾏股份有限公司京海市分⾏", + "n_dsrlx": "企业组织" + }, + { + "n_ssdw": "被告", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "合同、准合同纠纷", + "d_larq": "2013-03-08" + }, + { + "n_laay_tree": "合同、准合同纠纷,合同纠纷,借款合同纠纷,⺠间借贷纠纷", + "n_jaay": "合同、准合同纠纷", + "n_ssdw": "被告", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,借款合同纠纷,⺠间借贷纠纷", + "n_pj_victory": "未知", + "n_ssdw_ys": "被告", + "n_jafs": "判决", + "n_jbfy_cj": "基层法院", + "n_qsbdje": 110000, + "c_id": "df1fd042f1545a51c6460d0cb4005140", + "n_slcx": "⼀审", + "n_ajjzjd": "已结案", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_jarq": "2020-12-04", + "n_jabdje_level": 11, + "c_slfsxx": "1,2020-11-25 11:10:17,诉调第⼗⼀法庭,1", + "c_ah": "(2020)京0113⺠初*****号", + "n_qsbdje_level": 11, + "c_ssdy": "京海市", + "n_laay_tag": "合同纠纷", + "n_jabdje": 109455, + "n_jaay_tag": "合同纠纷", + "n_ajbs": "5a0867d91ce580d1239e1f2063912584", + "n_crc": 4035395111, + "n_ajlx": "⺠事⼀审", + "c_dsrxx": [ + { + "n_ssdw": "原告", + "c_mc": "王丹霞", + "n_dsrlx": "⾃然⼈" + }, + { + "n_ssdw": "被告", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "合同、准合同纠纷", + "d_larq": "2020-07-29" + } + ], + "count": { + "money_jie_total": 11, + "count_total": 3, + "larq_stat": "2013(2),2020(1)", + "money_wei_percent": 0, + "area_stat": "京海市(3)", + "money_jie_beigao": 11, + "count_jie_total": 3, + "money_jie_other": 0, + "count_wei_total": 0, + "count_jie_beigao": 3, + "money_yuangao": 0, + "money_beigao": 11, + "ay_stat": "合同、准合同纠纷(3)", + "count_wei_other": 0, + "count_wei_beigao": 0, + "count_wei_yuangao": 0, + "money_other": 0, + "count_yuangao": 0, + "money_wei_yuangao": 0, + "money_jie_yuangao": 0, + "money_wei_beigao": 0, + "count_jie_yuangao": 0, + "count_other": 0, + "count_jie_other": 0, + "count_beigao": 3, + "money_wei_total": 0, + "money_wei_other": 0, + "money_total": 11, + "jafs_stat": "准予撤诉(2),判决(1)" + } + }, + "implement": { + "cases": [ + { + "d_jarq": "2021-08-19", + "n_jaay": "⺠事", + "n_ssdw": "被执⾏⼈", + "n_sjdwje": 0, + "c_gkws_glah": "(2020)京0113⺠初***号", + "c_ah": "(2021)京0113执2***", + "c_ssdy": "京海市", + "n_jafs": "终结本次执⾏程序", + "n_ajbs": "54e45b851f5baedc7d249ab755e39fbe", + "n_jbfy_cj": "基层法院", + "c_id": "4904d5bf89ca75a79bf7401727080c03", + "n_sqzxbdje": 111260, + "n_crc": 2505253178, + "n_ajlx": "⾸次执⾏", + "n_ajjzjd": "已结案", + "c_dsrxx": [ + { + "n_ssdw": "申请执⾏⼈", + "c_mc": "王丹霞", + "n_dsrlx": "⾃然⼈" + }, + { + "n_ssdw": "被执⾏⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "⺠事", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_larq": "2021-02-23" + }, + { + "d_jarq": "2021-11-25", + "n_jaay": "刑事", + "n_ssdw": "被执⾏⼈", + "n_sjdwje": 0, + "c_ah": "(2021)京0113执***号", + "c_ssdy": "京海市", + "n_jabdje": 3876, + "n_jafs": "终结本次执⾏程序", + "n_ajbs": "3e8392c51bbc1b7fb8e050284c89d220", + "n_jbfy_cj": "基层法院", + "c_id": "435d6483338571526e6ebb0308dc6d04", + "n_sqzxbdje": 3876, + "n_crc": 1948524411, + "n_ajlx": "⾸次执⾏", + "n_ajjzjd": "已结案", + "c_dsrxx": [ + { + "n_ssdw": "申请执⾏⼈", + "c_mc": "京海市顺义区⼈⺠法院", + "n_dsrlx": "企业组织" + }, + { + "n_ssdw": "被执⾏⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "刑事", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_larq": "2021-10-26" + }, + { + "d_jarq": "2022-08-04", + "n_jaay": "刑事", + "n_ssdw": "被执⾏⼈", + "n_sjdwje": 0, + "c_ah": "(2022)京0113执****号", + "c_ssdy": "京海市", + "n_jabdje": 18110, + "n_jafs": "终结本次执⾏程序", + "n_ajbs": "c345a052409a2c0ebaecd6cee45b8050", + "n_jbfy_cj": "基层法院", + "c_id": "4683b25207c45768ed9bcead28b51036", + "n_sqzxbdje": 18110, + "n_crc": 3747572709, + "n_ajlx": "⾸次执⾏", + "n_ajjzjd": "已结案", + "c_dsrxx": [ + { + "n_ssdw": "申请执⾏⼈", + "c_mc": "京海市顺义区⼈⺠法院", + "n_dsrlx": "企业组织" + }, + { + "n_ssdw": "被执⾏⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "刑事", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_larq": "2022-07-12" + }, + { + "d_jarq": "2024-01-02", + "n_jaay": "刑事", + "n_ssdw": "被执⾏⼈", + "n_sjdwje": 0, + "c_gkws_glah": "(2023)京0113刑****号", + "c_ah": "(2023)京0113执*****号", + "c_ssdy": "京海市", + "n_jabdje": 4670, + "n_jafs": "终结本次执⾏程序", + "n_ajbs": "8dda746bb87c72f76d49a2cacee0efa0", + "n_jbfy_cj": "基层法院", + "c_id": "30285f31d30a24a2a41cc59fcb0928bc", + "n_sqzxbdje": 4670, + "n_crc": 2098789290, + "n_ajlx": "⾸次执⾏", + "n_ajjzjd": "已结案", + "c_dsrxx": [ + { + "n_ssdw": "申请执⾏⼈", + "c_mc": "京海市顺义区⼈⺠法院", + "n_dsrlx": "企业组织" + }, + { + "n_ssdw": "被执⾏⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "刑事", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_larq": "2023-11-20" + } + ], + "count": { + "money_jie_total": 3, + "count_total": 4, + "larq_stat": "2021(2),2022(1),2023(1)", + "money_wei_percent": 0, + "area_stat": "京海市(4)", + "money_jie_beigao": 3, + "count_jie_total": 4, + "money_jie_other": 0, + "count_wei_total": 0, + "count_jie_beigao": 4, + "money_yuangao": 0, + "money_beigao": 3, + "ay_stat": "刑事(3),未知(1)", + "count_wei_other": 0, + "count_wei_beigao": 0, + "count_wei_yuangao": 0, + "money_other": 0, + "count_yuangao": 0, + "money_wei_yuangao": 0, + "money_jie_yuangao": 0, + "money_wei_beigao": 0, + "count_jie_yuangao": 0, + "count_other": 0, + "count_jie_other": 0, + "count_beigao": 4, + "money_wei_total": 0, + "money_wei_other": 0, + "money_total": 3, + "jafs_stat": "终结本次执⾏程序(4)" + } + }, + "criminal": { + "cases": [ + { + "n_laay_tree": "侵犯财产罪,盗窃罪", + "n_jaay": "侵犯财产罪", + "n_ssdw": "被告⼈", + "n_pcjg": "给予刑事处罚", + "n_jaay_tree": "侵犯财产罪,盗窃罪", + "n_ccxzxje_level": 0, + "n_ssdw_ys": "被告⼈", + "n_jafs": "判决", + "n_jbfy_cj": "基层法院", + "c_id": "44bc6ccd90fada8e585e27f86700696c", + "n_slcx": "⼀审", + "n_ajjzjd": "已结案", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_jarq": "2021-09-23", + "c_slfsxx": "1,2021-09-23 09:48:23,第三⼗七法庭,1", + "n_dzzm": "侵犯财产罪", + "n_fzje_level": 0, + "n_bqqpcje_level": 0, + "n_pcpcje_level": 0, + "c_ah": "(2021)京0113刑初*****号", + "c_ssdy": "京海市", + "n_ajbs": "08c9087760d19e4e46ea0a5e1ff8907f", + "n_dzzm_tree": "侵犯财产罪,盗窃罪", + "n_crc": 3782814141, + "n_ajlx": "刑事⼀审", + "c_dsrxx": [ + { + "n_ssdw": "被告⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "侵犯财产罪", + "d_larq": "2021-09-16" + }, + { + "n_laay_tree": "侵犯财产罪,盗窃罪", + "n_jaay": "侵犯财产罪", + "n_ssdw": "被告⼈", + "n_pcjg": "给予刑事处罚", + "n_jaay_tree": "侵犯财产罪,盗窃罪", + "n_ccxzxje_level": 0, + "n_ssdw_ys": "被告⼈", + "n_jafs": "判决", + "n_jbfy_cj": "基层法院", + "c_id": "8851b2565cd27bc09a00a8ecd82b3224", + "n_slcx": "⼀审", + "n_ajjzjd": "已结案", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_jarq": "2022-06-17", + "c_slfsxx": "1,2022-06-08 09:38:41,第四⼗法庭,1", + "n_dzzm": "侵犯财产罪", + "n_fzje_level": 0, + "n_bqqpcje_level": 0, + "n_pcpcje_level": 0, + "c_ah": "(2022)京0113刑初****号", + "c_ssdy": "京海市", + "n_ajbs": "1da42d08e89cf1907b0ab30239437060", + "n_dzzm_tree": "侵犯财产罪,盗窃罪", + "n_crc": 168162812, + "n_ajlx": "刑事⼀审", + "c_dsrxx": [ + { + "n_ssdw": "被告⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "侵犯财产罪", + "d_larq": "2022-06-02" + }, + { + "n_laay_tree": "侵犯财产罪,盗窃罪", + "n_jaay": "侵犯财产罪", + "n_ssdw": "被告⼈", + "n_pcjg": "给予刑事处罚", + "n_jaay_tree": "侵犯财产罪,盗窃罪", + "n_ccxzxje_level": 0, + "n_ssdw_ys": "被告⼈", + "n_jafs": "判决", + "n_jbfy_cj": "基层法院", + "c_id": "82c3a2095c4ee2102fe156fc6cd5c77c", + "n_slcx": "⼀审", + "n_ajjzjd": "已结案", + "n_jbfy": "京海市顺义区⼈⺠法院", + "d_jarq": "2023-10-27", + "c_slfsxx": "1,2023-10-27 09:19:41,第三⼗七法庭,1", + "n_dzzm": "侵犯财产罪", + "n_fzje_level": 0, + "n_bqqpcje_level": 0, + "n_pcpcje_level": 0, + "c_ah": "(2023)京0113刑****号", + "c_ssdy": "京海市", + "n_ajbs": "91b1aa92abba978b9bb583de92445045", + "n_dzzm_tree": "侵犯财产罪,盗窃罪", + "n_crc": 659651411, + "n_ajlx": "刑事⼀审", + "c_dsrxx": [ + { + "n_ssdw": "被告⼈", + "c_mc": "靳帅", + "n_dsrlx": "⾃然⼈" + } + ], + "n_laay": "侵犯财产罪", + "d_larq": "2023-10-11" + } + ], + "count": { + "money_jie_total": 0, + "count_total": 4, + "larq_stat": "2009(1),2021(1),2022(1),2023(1)", + "area_stat": "京海市(4)", + "money_jie_beigao": 0, + "count_jie_total": 4, + "money_jie_other": 0, + "count_wei_total": 0, + "count_jie_beigao": 4, + "money_yuangao": 0, + "money_beigao": 0, + "ay_stat": "侵犯财产罪(4)", + "count_wei_other": 0, + "count_wei_beigao": 0, + "count_wei_yuangao": 0, + "money_other": 0, + "count_yuangao": 0, + "money_wei_yuangao": 0, + "money_jie_yuangao": 0, + "money_wei_beigao": 0, + "count_jie_yuangao": 0, + "count_other": 0, + "count_jie_other": 0, + "count_beigao": 4, + "money_wei_total": 0, + "money_wei_other": 0, + "money_total": 0, + "jafs_stat": "判决(4)" + } + }, + "bankrupt": {} + } + } + } + } + }, + { + "feature": { + "featureName": "特殊名单", + "sort": 1 + }, + "data": { + "apiID": "JRZQ8A2D", + "data": { + "Rule_final_weight": "70", + "Rule_name_odr0000334": "两年前命中法院被执行人", + "Rule_weight_odr0000334": "70", + "id": { + "court_executed_time": "4", + "court_executed_allnum": "1", + "court_executed": "0" + }, + "cell": {}, + "Rule_final_decision": "Accept" + } + } + }, + { + "feature": { + "featureName": "多头借贷行业风险版", + "sort": 1 + }, + "data": { + "apiID": "DWBG7F3A", + "data": { + "riskInfo_report_v3.1": [ + { + "riskCode": 23006, + "riskCodeValue": 16 + }, + { + "riskCode": 21007, + "riskCodeValue": 40 + }, + { + "riskCode": "41005", + "riskCodeValue": "34" + }, + { + "riskCode": "41004", + "riskCodeValue": "34" + }, + { + "riskCode": "41003", + "riskCodeValue": "44" + }, + { + "riskCode": "41002", + "riskCodeValue": "29" + }, + { + "riskCode": "41001", + "riskCodeValue": "43" + }, + { + "riskCode": "40189", + "riskCodeValue": "1580" + }, + { + "riskCode": "40190", + "riskCodeValue": "69" + }, + { + "riskCode": "40191", + "riskCodeValue": "1458" + }, + { + "riskCode": "40192", + "riskCodeValue": "1435" + }, + { + "riskCode": "40193", + "riskCodeValue": "1580" + }, + { + "riskCode": "40194", + "riskCodeValue": "69" + }, + { + "riskCode": "40175", + "riskCodeValue": "0" + }, + { + "riskCode": "40176", + "riskCodeValue": "0" + }, + { + "riskCode": "40177", + "riskCodeValue": "0" + }, + { + "riskCode": "40178", + "riskCodeValue": "0" + }, + { + "riskCode": "40179", + "riskCodeValue": "0" + }, + { + "riskCode": "40180", + "riskCodeValue": "0" + }, + { + "riskCode": "40181", + "riskCodeValue": "0" + }, + { + "riskCode": "40182", + "riskCodeValue": "0" + }, + { + "riskCode": "40183", + "riskCodeValue": "0" + }, + { + "riskCode": "40184", + "riskCodeValue": "0" + }, + { + "riskCode": "40185", + "riskCodeValue": "0" + }, + { + "riskCode": "40186", + "riskCodeValue": "0" + }, + { + "riskCode": "40187", + "riskCodeValue": "0" + }, + { + "riskCode": "40188", + "riskCodeValue": "0" + }, + { + "riskCode": "40161", + "riskCodeValue": "0" + }, + { + "riskCode": "40162", + "riskCodeValue": "-1" + }, + { + "riskCode": "40163", + "riskCodeValue": "-1" + }, + { + "riskCode": "40164", + "riskCodeValue": "-1" + }, + { + "riskCode": "40165", + "riskCodeValue": "-2" + }, + { + "riskCode": "40166", + "riskCodeValue": "0" + }, + { + "riskCode": "40167", + "riskCodeValue": "-1" + }, + { + "riskCode": "40168", + "riskCodeValue": "-1" + }, + { + "riskCode": "40169", + "riskCodeValue": "-1" + }, + { + "riskCode": "40170", + "riskCodeValue": "-2" + }, + { + "riskCode": "40171", + "riskCodeValue": "-1" + }, + { + "riskCode": "40172", + "riskCodeValue": "-1" + }, + { + "riskCode": "40173", + "riskCodeValue": "-1" + }, + { + "riskCode": "40174", + "riskCodeValue": "-2" + }, + { + "riskCode": "40145", + "riskCodeValue": "0" + }, + { + "riskCode": "40146", + "riskCodeValue": "0" + }, + { + "riskCode": "40147", + "riskCodeValue": "0" + }, + { + "riskCode": "40148", + "riskCodeValue": "0" + }, + { + "riskCode": "40149", + "riskCodeValue": "0" + }, + { + "riskCode": "40150", + "riskCodeValue": "0" + }, + { + "riskCode": "40151", + "riskCodeValue": "0" + }, + { + "riskCode": "40152", + "riskCodeValue": "0" + }, + { + "riskCode": "40153", + "riskCodeValue": "0" + }, + { + "riskCode": "40154", + "riskCodeValue": "0" + }, + { + "riskCode": "40155", + "riskCodeValue": "0" + }, + { + "riskCode": "40156", + "riskCodeValue": "0" + }, + { + "riskCode": "40157", + "riskCodeValue": "0" + }, + { + "riskCode": "40158", + "riskCodeValue": "0" + }, + { + "riskCode": "40159", + "riskCodeValue": "0" + }, + { + "riskCode": "40160", + "riskCodeValue": "0" + }, + { + "riskCode": "40129", + "riskCodeValue": "0" + }, + { + "riskCode": "40130", + "riskCodeValue": "0" + }, + { + "riskCode": "40131", + "riskCodeValue": "0" + }, + { + "riskCode": "40132", + "riskCodeValue": "0" + }, + { + "riskCode": "40133", + "riskCodeValue": "1" + }, + { + "riskCode": "40134", + "riskCodeValue": "1" + }, + { + "riskCode": "40135", + "riskCodeValue": "1" + }, + { + "riskCode": "40136", + "riskCodeValue": "1" + }, + { + "riskCode": "40137", + "riskCodeValue": "0" + }, + { + "riskCode": "40138", + "riskCodeValue": "0" + }, + { + "riskCode": "40139", + "riskCodeValue": "0" + }, + { + "riskCode": "40140", + "riskCodeValue": "0" + }, + { + "riskCode": "40141", + "riskCodeValue": "0" + }, + { + "riskCode": "40142", + "riskCodeValue": "0" + }, + { + "riskCode": "40143", + "riskCodeValue": "0" + }, + { + "riskCode": "40144", + "riskCodeValue": "1" + }, + { + "riskCode": "40113", + "riskCodeValue": "0" + }, + { + "riskCode": "40114", + "riskCodeValue": "0" + }, + { + "riskCode": "40115", + "riskCodeValue": "0" + }, + { + "riskCode": "40116", + "riskCodeValue": "0" + }, + { + "riskCode": "40117", + "riskCodeValue": "0" + }, + { + "riskCode": "40118", + "riskCodeValue": "0" + }, + { + "riskCode": "40119", + "riskCodeValue": "0" + }, + { + "riskCode": "40120", + "riskCodeValue": "0" + }, + { + "riskCode": "40121", + "riskCodeValue": "0" + }, + { + "riskCode": "40122", + "riskCodeValue": "0" + }, + { + "riskCode": "40123", + "riskCodeValue": "0" + }, + { + "riskCode": "40124", + "riskCodeValue": "0" + }, + { + "riskCode": "40125", + "riskCodeValue": "0" + }, + { + "riskCode": "40126", + "riskCodeValue": "0" + }, + { + "riskCode": "40127", + "riskCodeValue": "0" + }, + { + "riskCode": "40128", + "riskCodeValue": "0" + }, + { + "riskCode": "40097", + "riskCodeValue": "0" + }, + { + "riskCode": "40098", + "riskCodeValue": "0" + }, + { + "riskCode": "40099", + "riskCodeValue": "0" + }, + { + "riskCode": "40100", + "riskCodeValue": "0" + }, + { + "riskCode": "40101", + "riskCodeValue": "1" + }, + { + "riskCode": "40102", + "riskCodeValue": "1" + }, + { + "riskCode": "40103", + "riskCodeValue": "1" + }, + { + "riskCode": "40104", + "riskCodeValue": "1" + }, + { + "riskCode": "40105", + "riskCodeValue": "0" + }, + { + "riskCode": "40106", + "riskCodeValue": "0" + }, + { + "riskCode": "40107", + "riskCodeValue": "0" + }, + { + "riskCode": "40108", + "riskCodeValue": "0" + }, + { + "riskCode": "40109", + "riskCodeValue": "0" + }, + { + "riskCode": "40110", + "riskCodeValue": "0" + }, + { + "riskCode": "40111", + "riskCodeValue": "0" + }, + { + "riskCode": "40112", + "riskCodeValue": "1" + }, + { + "riskCode": "40049", + "riskCodeValue": "0" + }, + { + "riskCode": "40050", + "riskCodeValue": "0" + }, + { + "riskCode": "40051", + "riskCodeValue": "0" + }, + { + "riskCode": "40052", + "riskCodeValue": "0" + }, + { + "riskCode": "40053", + "riskCodeValue": "0" + }, + { + "riskCode": "40054", + "riskCodeValue": "0" + }, + { + "riskCode": "40055", + "riskCodeValue": "0" + }, + { + "riskCode": "40056", + "riskCodeValue": "0" + }, + { + "riskCode": "40057", + "riskCodeValue": "0" + }, + { + "riskCode": "40058", + "riskCodeValue": "0" + }, + { + "riskCode": "40059", + "riskCodeValue": "0" + }, + { + "riskCode": "40060", + "riskCodeValue": "0" + }, + { + "riskCode": "40061", + "riskCodeValue": "0" + }, + { + "riskCode": "40062", + "riskCodeValue": "0" + }, + { + "riskCode": "40063", + "riskCodeValue": "0" + }, + { + "riskCode": "40064", + "riskCodeValue": "0" + }, + { + "riskCode": "40065", + "riskCodeValue": "0" + }, + { + "riskCode": "40066", + "riskCodeValue": "0" + }, + { + "riskCode": "40067", + "riskCodeValue": "0" + }, + { + "riskCode": "40068", + "riskCodeValue": "0" + }, + { + "riskCode": "40069", + "riskCodeValue": "0" + }, + { + "riskCode": "40070", + "riskCodeValue": "0" + }, + { + "riskCode": "40071", + "riskCodeValue": "0" + }, + { + "riskCode": "40072", + "riskCodeValue": "0" + }, + { + "riskCode": "40073", + "riskCodeValue": "1" + }, + { + "riskCode": "40074", + "riskCodeValue": "0" + }, + { + "riskCode": "40075", + "riskCodeValue": "0" + }, + { + "riskCode": "40076", + "riskCodeValue": "0" + }, + { + "riskCode": "40077", + "riskCodeValue": "0" + }, + { + "riskCode": "40078", + "riskCodeValue": "1" + }, + { + "riskCode": "40079", + "riskCodeValue": "1" + }, + { + "riskCode": "40080", + "riskCodeValue": "0" + }, + { + "riskCode": "40081", + "riskCodeValue": "0" + }, + { + "riskCode": "40082", + "riskCodeValue": "0" + }, + { + "riskCode": "40083", + "riskCodeValue": "0" + }, + { + "riskCode": "40084", + "riskCodeValue": "1" + }, + { + "riskCode": "40085", + "riskCodeValue": "1" + }, + { + "riskCode": "40086", + "riskCodeValue": "0" + }, + { + "riskCode": "40087", + "riskCodeValue": "0" + }, + { + "riskCode": "40088", + "riskCodeValue": "0" + }, + { + "riskCode": "40089", + "riskCodeValue": "0" + }, + { + "riskCode": "40090", + "riskCodeValue": "1" + }, + { + "riskCode": "40091", + "riskCodeValue": "2" + }, + { + "riskCode": "40092", + "riskCodeValue": "0" + }, + { + "riskCode": "40093", + "riskCodeValue": "0" + }, + { + "riskCode": "40094", + "riskCodeValue": "1" + }, + { + "riskCode": "40095", + "riskCodeValue": "0" + }, + { + "riskCode": "40096", + "riskCodeValue": "1" + }, + { + "riskCode": "40001", + "riskCodeValue": "0" + }, + { + "riskCode": "40002", + "riskCodeValue": "0" + }, + { + "riskCode": "40003", + "riskCodeValue": "0" + }, + { + "riskCode": "40004", + "riskCodeValue": "0" + }, + { + "riskCode": "40005", + "riskCodeValue": "0" + }, + { + "riskCode": "40006", + "riskCodeValue": "0" + }, + { + "riskCode": "40007", + "riskCodeValue": "0" + }, + { + "riskCode": "40008", + "riskCodeValue": "0" + }, + { + "riskCode": "40009", + "riskCodeValue": "0" + }, + { + "riskCode": "40010", + "riskCodeValue": "0" + }, + { + "riskCode": "40011", + "riskCodeValue": "0" + }, + { + "riskCode": "40012", + "riskCodeValue": "0" + }, + { + "riskCode": "40013", + "riskCodeValue": "0" + }, + { + "riskCode": "40014", + "riskCodeValue": "0" + }, + { + "riskCode": "40015", + "riskCodeValue": "0" + }, + { + "riskCode": "40016", + "riskCodeValue": "0" + }, + { + "riskCode": "40017", + "riskCodeValue": "0" + }, + { + "riskCode": "40018", + "riskCodeValue": "0" + }, + { + "riskCode": "40019", + "riskCodeValue": "0" + }, + { + "riskCode": "40020", + "riskCodeValue": "0" + }, + { + "riskCode": "40021", + "riskCodeValue": "0" + }, + { + "riskCode": "40022", + "riskCodeValue": "0" + }, + { + "riskCode": "40023", + "riskCodeValue": "0" + }, + { + "riskCode": "40024", + "riskCodeValue": "0" + }, + { + "riskCode": "40025", + "riskCodeValue": "1" + }, + { + "riskCode": "40026", + "riskCodeValue": "0" + }, + { + "riskCode": "40027", + "riskCodeValue": "0" + }, + { + "riskCode": "40028", + "riskCodeValue": "0" + }, + { + "riskCode": "40029", + "riskCodeValue": "0" + }, + { + "riskCode": "40030", + "riskCodeValue": "1" + }, + { + "riskCode": "40031", + "riskCodeValue": "1" + }, + { + "riskCode": "40032", + "riskCodeValue": "0" + }, + { + "riskCode": "40033", + "riskCodeValue": "0" + }, + { + "riskCode": "40034", + "riskCodeValue": "0" + }, + { + "riskCode": "40035", + "riskCodeValue": "0" + }, + { + "riskCode": "40036", + "riskCodeValue": "1" + }, + { + "riskCode": "40037", + "riskCodeValue": "1" + }, + { + "riskCode": "40038", + "riskCodeValue": "0" + }, + { + "riskCode": "40039", + "riskCodeValue": "0" + }, + { + "riskCode": "40040", + "riskCodeValue": "0" + }, + { + "riskCode": "40041", + "riskCodeValue": "0" + }, + { + "riskCode": "40042", + "riskCodeValue": "1" + }, + { + "riskCode": "40043", + "riskCodeValue": "2" + }, + { + "riskCode": "40044", + "riskCodeValue": "0" + }, + { + "riskCode": "40045", + "riskCodeValue": "0" + }, + { + "riskCode": "40046", + "riskCodeValue": "1" + }, + { + "riskCode": "40047", + "riskCodeValue": "0" + }, + { + "riskCode": "40048", + "riskCodeValue": "1" + } + ] + } + } + }, + { + "feature": { + "featureName": "司法涉诉", + "sort": 1 + }, + "data": { + "apiID": "FLXG0V4B", + "data": { + "entout": { + "data": { + "administrative": {}, + "bankrupt": {}, + "cases_tree": { + "criminal": [ + { + "c_ah": "(2016)桂****刑初**号", + "case_type": 200, + "n_ajbs": "***", + "stage_type": 1 + }, + { + "c_ah": "(2016)桂**刑终***号", + "case_type": 200, + "n_ajbs": "***", + "stage_type": 2 + }, + { + "c_ah": "(2019)桂****刑初**号", + "case_type": 200, + "n_ajbs": "***", + "stage_type": 1 + }, + { + "c_ah": "(2019)桂**刑终***号", + "case_type": 200, + "n_ajbs": "***", + "stage_type": 2 + } + ] + }, + "civil": {}, + "count": { + "area_stat": "广西壮族自治区(4)", + "ay_stat": "妨害社会管理秩序罪(4)", + "count_beigao": 2, + "count_jie_beigao": 2, + "count_jie_other": 0, + "count_jie_total": 4, + "count_jie_yuangao": 2, + "count_other": 0, + "count_total": 4, + "count_wei_beigao": 0, + "count_wei_other": 0, + "count_wei_total": 0, + "count_wei_yuangao": 0, + "count_yuangao": 2, + "jafs_stat": "判决(2),维持(1),改判(1)", + "larq_stat": "2016(2),2019(2)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_other": 0, + "money_jie_total": 11, + "money_jie_yuangao": 11, + "money_other": 0, + "money_total": 11, + "money_wei_beigao": 0, + "money_wei_other": 0, + "money_wei_percent": 0, + "money_wei_total": 0, + "money_wei_yuangao": 0, + "money_yuangao": 11 + }, + "crc": 1635002023, + "criminal": { + "cases": [ + { + "c_ah": "(2016)桂****刑初**号", + "c_dsrxx": [ + { + "c_mc": "何某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "覃某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "刘某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "陈某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "覃某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "陈某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关广西******人民检察院。被告人何某,男,1979年7月13日出生于广西壮族自治区******县,汉族,小学文化,农民,住广西壮族自治区******县。因涉嫌犯开设赌场罪于2015年9月13日被刑事拘留,同年10月20日被逮捕。被告人陈某,男,1987年7月17日出生于广西壮族自治区******县,汉族,小学文化,农民,住广西壮族自治区******县。因涉嫌犯开设赌场罪于2015年9月16日被刑事拘留,同年10月20日被逮捕。被告人覃某,女,1979年4月15日出生于广西壮族自治区******县,汉族,初中文化,农民,住广西壮族自治区******县。因涉嫌犯开设赌场罪于2015年11月4日被羁押,次日被刑事拘留,同月26日被逮捕。被告人覃某有,男,1972年9月21日出生于广西壮族自治区******县,汉族,小学文化,农民,住广西壮族自治区******县。因涉嫌犯开设赌场罪于2015年9月17日被刑事拘留,同年10月20日被逮捕。被告人刘某飞,男,1991年4月3日出生于广西壮族自治区******县,汉族,初中文化,农民,住广西壮族自治区******县。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。被告人陈某观,男,1990年12月2日出生于广西壮族自治区******县,汉族,初中文化,农民,住广西壮族自治区******县。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。", + "c_gkws_id": "29130d17-a43e-448e-84dc-64e9cd203a99", + "c_gkws_pjjg": "一、被告人何某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月13日起至2017年3月12日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)二、被告人陈某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月16日起至2016年11月15日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)三、被告人覃某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年11月4日起至2017年1月3日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)四、被告人覃某有犯开设赌场罪,判处有期徒刑八个月,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年9月17日起至2016年5月16日止。罚金已缴纳。)五、被告人刘某飞犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年10月28日起至2016年4月27日止。罚金已缴纳。)六、被告人陈某犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2015年10月28日起至2016年4月27日止。罚金已缴纳。)如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向广西壮族自治区*******法院提出上诉。书面上诉的应提交上诉状正本一份,副本十三份。", + "c_id": "8917c0a3f0eab1ca1f294565be7f2dc5", + "c_slfsxx": "1,2016-01-25 09:00:00,第一审判庭,1", + "c_ssdy": "广西壮族自治区", + "d_jarq": "2016-04-01", + "d_larq": "2016-01-04", + "n_ajbs": "b9a3062adcb707f23c7fe627642fe23c", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_bqqpcje_level": 0, + "n_ccxzxje_level": 0, + "n_crc": 178414947, + "n_fzje_level": 0, + "n_jaay": "妨害社会管理秩序罪", + "n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_jafs": "判决", + "n_jbfy": "******县人民法院", + "n_jbfy_cj": "基层法院", + "n_laay": "妨害社会管理秩序罪", + "n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_pcpcje_level": 0, + "n_slcx": "一审", + "n_ssdw": "被告人", + "n_ssdw_ys": "被告人" + }, + { + "c_ah": "(2016)桂09刑终283号", + "c_dsrxx": [ + { + "c_mc": "何某", + "n_dsrlx": "自然人", + "n_ssdw": "其他" + }, + { + "c_mc": "胡某", + "n_dsrlx": "自然人", + "n_ssdw": "其他" + }, + { + "c_mc": "张某", + "n_dsrlx": "自然人", + "n_ssdw": "其他" + }, + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "上诉人" + }, + { + "c_mc": "刘某", + "n_dsrlx": "自然人", + "n_ssdw": "上诉人" + }, + { + "c_mc": "陈某", + "n_dsrlx": "自然人", + "n_ssdw": "上诉人" + } + ], + "c_gkws_dsr": "原公诉机关广西壮族自治区******县人民检察院。上诉人(原审被告人)李某,农民。因涉嫌犯开设赌场罪于2015年9月13日被刑事拘留,同年10月20日被逮捕。现羁押于******县看守所。上诉人(原审被告人)陈某(曾用名陈东东),农民。因涉嫌犯开设赌场罪于2015年9月16日被刑事拘留,同年10月20日被逮捕。现羁押于******县看守所。上诉人(原审被告人)刘某,农民。因涉嫌犯开设赌场罪于2015年11月4日被羁押,次日被刑事拘留,同月26日被逮捕。现羁押于******县看守所。原审被告人胡某,农民。因涉嫌犯开设赌场罪于2015年9月17日被刑事拘留,同年10月20日被逮捕。现羁押于******县看守所。原审被告人何某,农民。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。现羁押于******县看守所。原审被告人张某,农民。因涉嫌犯开设赌场罪于2015年10月28日被刑事拘留,同年11月12日被逮捕。现羁押于******县看守所。", + "c_gkws_glah": "(2016)桂0923刑初90号", + "c_gkws_id": "bc9c1a6b-a2c2-4065-af1b-a58267623a4a", + "c_gkws_pjjg": "一、维持广西壮族自治区******县人民法院(2016)桂0923刑初90号刑事判决的第四、第五、第六项,即:被告人胡某犯开设赌场罪,判处有期徒刑八个月,并处罚金人民币二万元。被告人何某犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。被告人张某犯开设赌场罪,判处有期徒刑六个月,并处罚金人民币一万五千元。二、撤销广西壮族自治区******县人民法院(2016)桂0923刑初90号刑事判决的第一、第二、第三项,即:被告人李某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币二万元。被告人陈某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。被告人刘某犯开设赌场罪,判处有期徒刑一年二个月,并处罚金人民币二万元。三、上诉人(原审被告人)李某犯开设赌场罪,判处有期徒刑一年,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年9月13日起至2016年9月12日止。罚金已缴纳。)四、上诉人(原审被告人)陈某犯开设赌场罪,判处有期徒刑十个月,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年9月16日起至2016年7月15日止;已缴纳罚金一万元,罚金余款自判决生效之次日起一个月内缴纳,逾期不缴纳的,强制缴纳。)五、上诉人(原审被告人)刘某犯开设赌场罪,判处有期徒刑十个月,并处罚金人民币二万元。(刑期从判决执行之日起计算。判决执行前先行羁押的,羁押一日折抵刑期一日,即自2015年11月4日起至2016年9月3日止;已缴纳罚金一万元,罚金余款自判决生效之次日起一个月内缴纳,逾期不缴纳的,强制缴纳。)本判决为终审判决。", + "c_id": "84362df70b3678297431c3f97130e930", + "c_ssdy": "广西壮族自治区", + "d_jarq": "2016-07-14", + "d_larq": "2016-05-16", + "n_ajbs": "a64f674f1325f5e36ad429fca45ec99e", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事二审", + "n_bqqpcje_level": 0, + "n_ccxzxje_gj": 170000, + "n_ccxzxje_gj_level": 11, + "n_ccxzxje_level": 0, + "n_crc": 3645650953, + "n_dzzm": "妨害社会管理秩序罪", + "n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_fzje_level": 0, + "n_jaay": "妨害社会管理秩序罪", + "n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_jafs": "改判", + "n_jbfy": "广西壮族自治区*******法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "妨害社会管理秩序罪", + "n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_pcjg": "给予刑事处罚", + "n_pcpcje_level": 0, + "n_slcx": "二审", + "n_ssdw": "上诉人" + }, + { + "c_ah": "(2019)桂0923刑初81号", + "c_dsrxx": [ + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "张某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关广西壮族自治区******县人民检察院。被告人李某。被告人张某。", + "c_gkws_id": "1ee2c6cd-15b5-44a7-8f68-aae10033e5bc", + "c_gkws_pjjg": "一、被告人李某犯开设赌场罪,判处有期徒刑二年,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年10月16日起至2020年10月15日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)%1、被告人张某犯开设赌场罪,判处有期徒刑一年六个月,并处罚金人民币一万五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年10月30日起至2020年4月29日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)三、扣押在案的赌具扑克牌、龙虎珠、骨牌及人民币八百三十五元依法予以没收,其中人民币八百三十五元上缴国库。如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向广西壮族自治区*******法院提出上诉。书面上诉的应当提交上诉状正本一份,副本九份。", + "c_id": "5f4d0aa69d456e5a4c1b025aec5d310d", + "c_slfsxx": "1,2019-03-01 09:20:00,KA6第一审判庭,1", + "c_ssdy": "广西壮族自治区", + "d_jarq": "2019-03-07", + "d_larq": "2019-02-20", + "n_ajbs": "e90f9b13a9b0f102611e6b5a2ccf6a96", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_bqqpcje_level": 0, + "n_ccxzxje_level": 0, + "n_crc": 3676144743, + "n_dzzm": "妨害社会管理秩序罪", + "n_dzzm_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_fzje_level": 0, + "n_jaay": "妨害社会管理秩序罪", + "n_jaay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_jafs": "判决", + "n_jbfy": "******县人民法院", + "n_jbfy_cj": "基层法院", + "n_laay": "妨害社会管理秩序罪", + "n_laay_tree": "妨害社会管理秩序罪,扰乱公共秩序罪,开设赌场罪", + "n_pcjg": "给予刑事处罚", + "n_pcpcje_level": 0, + "n_slcx": "一审", + "n_ssdw": "被告人", + "n_ssdw_ys": "被告人" + } + ], + "count": { + "area_stat": "广西壮族自治区(4)", + "ay_stat": "妨害社会管理秩序罪(4)", + "count_beigao": 2, + "count_jie_beigao": 2, + "count_jie_other": 0, + "count_jie_total": 4, + "count_jie_yuangao": 2, + "count_other": 0, + "count_total": 4, + "count_wei_beigao": 0, + "count_wei_other": 0, + "count_wei_total": 0, + "count_wei_yuangao": 0, + "count_yuangao": 2, + "jafs_stat": "判决(2),维持(1),改判(1)", + "larq_stat": "2016(2),2019(2)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_other": 0, + "money_jie_total": 11, + "money_jie_yuangao": 11, + "money_other": 0, + "money_total": 11, + "money_wei_beigao": 0, + "money_wei_other": 0, + "money_wei_percent": 0, + "money_wei_total": 0, + "money_wei_yuangao": 0, + "money_yuangao": 11 + } + }, + "implement": {}, + "preservation": {} + }, + "msg": "查询成功" + }, + "sxbzxr": { + "data": [ + { + "ah": "(2016)*******8160号", + "fbrq": "2016-11-09", + "id": "aa98cae8cbf0e1a87cab4c713c59faa1", + "larq": "2016-08-08", + "lxqk": "全部未履行", + "pjje_gj": 0, + "sf": "北京", + "xb": "男", + "xwqx": "其他有履行能力而拒不履行生效法律文书确定义务", + "yw": "判决如下: 一、被告张某于本判决生效后十日内偿还原告兵器装备集团财务有限责任公司贷款本金二万一千零三十一元四角七分及逾期利息(截止至二O一四年十二月二十三日,逾期利息为四千八百五十四元三角五分,自二O一四年十二月二十四日起至贷款全部清偿之日止的逾期利息按《汽车消费贷款合同》及其附件约定计算); 二、原告兵器装备集团财务有限责任公司对被告张某所有的重庆长安汽车股份有限公司生产的长安牌小型轿车一辆(车架号LS5A*******02800、发动机号CC4*****967)折价或拍卖、变卖后所得的价款享有优先受偿权; 三、驳回原告兵器装备集团财务有限责任公司其他诉讼请求。 如果被告张某未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条之规定,加倍支付迟延履行期间的债务利息。 案件受理费三百七十四元(原告兵器装备集团财务有限责任公司已预交),由原告兵器装备集团财务有限责任公司负担一百一十八元,已交纳;由被告张某负担二百五十六元,于本判决书生效后七日内交纳。 如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,按照不服一审判决部分的上诉请求数额交纳上诉案件受理费,上诉于北京市第一中级人民法院。如在上诉期满后七日内未交纳上诉费的,按自动撤回上诉处理。", + "zxfy": "北京市*****人民法院", + "zxyjdw": "北京市****人民法院", + "zxyjwh": "2015年*****12658号" + }, + { + "ah": "(2016)**0211执****号", + "fbrq": "2016-09-14", + "id": "***", + "larq": "2016-09-05", + "lxqk": "全部未履行", + "pjje_gj": 0, + "sf": "**省", + "xb": "*", + "xwqx": "其他有履行能力而拒不履行生效法律文书确定义务", + "yw": "被执行人支付欠款***元...", + "zxfy": "**市**区人民法院", + "zxyjdw": "**市**区人民法院", + "zxyjwh": "(2016)**0211民初****号" + } + ], + "msg": "查询成功" + }, + "xgbzxr": { + "data": [ + { + "ah": "(20*****77号", + "fbrq": "2018-08-31", + "id": "d439c2c8e6330de7c00bbae668cb9b2b", + "zxfy": "*****人民法院" + }, + { + "ah": "(2016)*****574号", + "fbrq": "2018-08-31", + "id": "763f693a894c680d4da65fae0e488fac", + "zxfy": "*******法院" + } + ], + "msg": "查询成功" + } + }, + "success": true, + "timestamp": "2024-12-13 20:29:20" + } + }, + { + "feature": { + "featureName": "互联网行为推测", + "sort": 1 + }, + "data": { + "apiID": "IVYZ8I9J", + "data": { + "sjbq_zlbz": "0", + "sjbq_ychy": "0", + "sjbq_xjzl": "1", + "sjbq_ymd": "0", + "sjbq_sfcy": "0", + "sjbq_ycxw": "1", + "sjbq_sxxw": "0", + "sjbq_zfyc": "1", + "sjbq_qtyc": "1", + "sjbq_swhjyc": "0" + } + } + }, + { + "feature": { + "featureName": "名下车辆", + "sort": 2 + }, + "data": { + "apiID": "QCXG9P1C", + "data": { + "list": [ + { + "plateColor": 0, + "plateNum": "粤A9***1", + "vehicleType": 1 + }, + { + "plateColor": 1, + "plateNum": "粤A9***2", + "vehicleType": 1 + } + ], + "vehicleCount": 2 + }, + "success": true, + "timestamp": "2025-01-20 21:19:58" + } + }, + { + "feature": { + "featureName": "谛听多维报告", + "sort": 3 + }, + "data": { + "apiID": "DWBG8B4D", + "data": { + "baseInfo": { + "age": 34, + "channel": "中国移动", + "idCard": "3203**199102***152", + "location": "江苏省徐州市沛县", + "name": "封*伟", + "phone": "158****2970", + "phoneArea": "江苏-徐州", + "sex": "男", + "status": 4 + }, + "checkSuggest": "建议拒绝", + "creditScore": 300, + "elementVerificationDetail": { + "antiFraudInfo": {}, + "belongRiskFlag": 0, + "belongRisks": { + "num": "1", + "personCity": "徐州市", + "personProvence": "江苏省", + "phoneCardType": "移动", + "phoneCity": "徐州", + "phoneProvence": "江苏" + }, + "highRiskFlag": 2, + "keyPersonCheckList": { + "fangAiFlag": 0, + "fontFlag": 0, + "jingJiFontFlag": 0, + "num": "1", + "sheJiaoTongFlag": 0, + "zhongDianFlag": 0 + }, + "onlineRiskFlag": 0, + "onlineRiskList": { + "lineType": "移动", + "num": "1", + "onLineTimes": "3,6(个月)" + }, + "personCheckDetails": { + "ele": "身份证号、姓名", + "num": "1", + "result": "一致" + }, + "phoneCheckDetails": { + "ele": "身份证号、手机号、姓名", + "num": "1", + "phoneCompany": "中国移动", + "result": "不一致" + }, + "phoneVailRiskFlag": 1, + "phoneVailRisks": { + "num": "1", + "phoneCompany": "移动", + "phoneStatus": "沉默号", + "phoneTimes": "3(单位:月)" + }, + "sfzeysFlag": 2, + "sjsysFlag": 1 + }, + "fraudRule": "高风险", + "fraudScore": 100, + "leasingRiskAssessment": { + "riskFlag": 2, + "threeCInstitutionApplicationCountLast12Months": "3/2", + "threeCInstitutionApplicationCountLast12MonthsNight": "0/0", + "threeCInstitutionApplicationCountLast12MonthsWeekend": "0/0", + "threeCInstitutionApplicationCountLast14Days": "0/0", + "threeCInstitutionApplicationCountLast14DaysNight": "0/0", + "threeCInstitutionApplicationCountLast14DaysWeekend": "0/0", + "threeCInstitutionApplicationCountLast3Days": "0/0", + "threeCInstitutionApplicationCountLast3DaysNight": "0/0", + "threeCInstitutionApplicationCountLast3DaysWeekend": "0/0", + "threeCInstitutionApplicationCountLast3Months": "2/1", + "threeCInstitutionApplicationCountLast3MonthsNight": "0/0", + "threeCInstitutionApplicationCountLast3MonthsWeekend": "0/0", + "threeCInstitutionApplicationCountLast6Months": "2/1", + "threeCInstitutionApplicationCountLast6MonthsNight": "0/0", + "threeCInstitutionApplicationCountLast6MonthsWeekend": "0/0", + "threeCInstitutionApplicationCountLast7Days": "0/0", + "threeCInstitutionApplicationCountLast7DaysNight": "0/0", + "threeCInstitutionApplicationCountLast7DaysWeekend": "0/0", + "threeCInstitutionApplicationCountLastMonth": "0/0", + "threeCInstitutionApplicationCountLastMonthNight": "0/0", + "threeCInstitutionApplicationCountLastMonthWeekend": "0/0", + "threeCPlatformApplicationCountLast12Months": "3/2", + "threeCPlatformApplicationCountLast12MonthsNight": "0/0", + "threeCPlatformApplicationCountLast12MonthsWeekend": "0/0", + "threeCPlatformApplicationCountLast14Days": "0/0", + "threeCPlatformApplicationCountLast14DaysNight": "0/0", + "threeCPlatformApplicationCountLast14DaysWeekend": "0/0", + "threeCPlatformApplicationCountLast3Days": "0/0", + "threeCPlatformApplicationCountLast3DaysNight": "0/0", + "threeCPlatformApplicationCountLast3DaysWeekend": "0/0", + "threeCPlatformApplicationCountLast3Months": "2/1", + "threeCPlatformApplicationCountLast3MonthsNight": "0/0", + "threeCPlatformApplicationCountLast3MonthsWeekend": "0/0", + "threeCPlatformApplicationCountLast6Months": "2/1", + "threeCPlatformApplicationCountLast6MonthsNight": "0/0", + "threeCPlatformApplicationCountLast6MonthsWeekend": "0/0", + "threeCPlatformApplicationCountLast7Days": "0/0", + "threeCPlatformApplicationCountLast7DaysNight": "0/0", + "threeCPlatformApplicationCountLast7DaysWeekend": "0/0", + "threeCPlatformApplicationCountLastMonth": "0/0", + "threeCPlatformApplicationCountLastMonthNight": "0/0", + "threeCPlatformApplicationCountLastMonthWeekend": "0/0" + }, + "loanEvaluationVerificationDetail": { + "businessLoanPerformances": [ + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "信用卡(类信用卡)" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "线上小额现金贷" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "汽车金融" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "线上消费分期" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "线下消费分期" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "其他" + } + ], + "customerLoanPerformances": [ + { + "last12Month": "2/0", + "last12MonthCount": "2/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "2/0", + "last6MonthCount": "2/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "银行汇总" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "传统银行" + }, + { + "last12Month": "2/0", + "last12MonthCount": "2/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "2/0", + "last6MonthCount": "2/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "网络零售银行" + }, + { + "last12Month": "2/2", + "last12MonthCount": "2/2", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "2/2", + "last6MonthCount": "2/2", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "非银汇总" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "持牌网络小贷" + }, + { + "last12Month": "2/2", + "last12MonthCount": "2/2", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "2/2", + "last6MonthCount": "2/2", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "持牌消费金融" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "持牌融资租赁机构" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "持牌汽车金融" + } + ], + "organLoanPerformances": [ + { + "applyCount": "银行", + "last12Month": "2/0", + "last15Day": "0/0", + "last1Month": "0/0", + "last3Month": "0/0", + "last6Month": "2/0", + "last7Day": "0/0" + }, + { + "applyCount": "非银", + "last12Month": "2/2", + "last15Day": "0/0", + "last1Month": "0/0", + "last3Month": "0/0", + "last6Month": "2/2", + "last7Day": "0/0" + } + ], + "riskFlag": 1, + "timeLoanPerformances": [ + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "夜间-银行" + }, + { + "last12Month": "1/1", + "last12MonthCount": "1/1", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "1/1", + "last6MonthCount": "1/1", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "夜间-非银" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "周末-银行" + }, + { + "last12Month": "0/0", + "last12MonthCount": "0/0", + "last15Day": "0/0", + "last15DayCount": "0/0", + "last1Month": "0/0", + "last1MonthCount": "0/0", + "last3Month": "0/0", + "last3MonthCount": "0/0", + "last6Month": "0/0", + "last6MonthCount": "0/0", + "last7Day": "0/0", + "last7DayCount": "0/0", + "type": "周末-非银" + } + ] + }, + "multCourtInfo": { + "disinCases": [], + "disinCasesFlag": 0, + "executionCases": [ + { + "caseNumber": "(2023)赣1102执保608号", + "caseReason": "未知", + "caseStatus": "已结案", + "caseType": "财产保全执行", + "court": "上饶市信州区人民法院", + "disposalMethod": "部分保全", + "disposalTime": "2023-05-17", + "executionAmount": "", + "filingTime": "2023-05-12", + "judgmentResult": "", + "litigantType": "被申请人", + "repaidAmount": "" + } + ], + "executionCasesFlag": 1, + "legalCases": [], + "legalCasesFlag": 1, + "limitCases": [], + "limitCasesFlag": 0 + }, + "overdueRiskProduct": { + "currentOverdueAmount": "1", + "currentOverdueInstitutionCount": "(0,1000)", + "daysSinceLastSuccessfulRepayment": "160+", + "dkzhktjFlag": 2, + "hasUnsettledOverdue": "逾期", + "lyjlhyFlag": 1, + "overdueLast14Days": "逾期", + "overdueLast1Day": "未逾期", + "overdueLast30Days": "逾期", + "overdueLast7Days": "未逾期", + "repaymentFailureAmountLast14Days": "(0,1000)", + "repaymentFailureAmountLast3Months": "(0,10000)", + "repaymentFailureAmountLast6Months": "[2000,30000)", + "repaymentFailureAmountLast7Days": "0", + "repaymentFailureAmountLastMonth": "(0,6000)", + "repaymentFailureCountLast14Days": "[5,15)", + "repaymentFailureCountLast3Months": "[56,+)", + "repaymentFailureCountLast6Months": "[70,+)", + "repaymentFailureCountLast7Days": "0", + "repaymentFailureCountLastMonth": "[5,34)", + "repaymentSuccessAmountLast14Days": "-", + "repaymentSuccessAmountLast3Months": "-", + "repaymentSuccessAmountLast6Months": "-", + "repaymentSuccessAmountLast7Days": "-", + "repaymentSuccessAmountLastMonth": "-", + "repaymentSuccessCountLast14Days": "-", + "repaymentSuccessCountLast3Months": "-", + "repaymentSuccessCountLast6Months": "-", + "repaymentSuccessCountLast7Days": "-", + "repaymentSuccessCountLastMonth": "-", + "settledInstitutionCount": "[17,+)", + "specialListVerification": [], + "totalLoanInstitutions": "[14,+)", + "totalLoanRepaymentAmount": "[68000,+)", + "tsmdyzFlag": 0 + }, + "reportUrl": "http://www.zhichajinkong.cn/manager/index.html#/v-report?tranId=******", + "riskSupervision": { + "details": "无", + "leastApplicationTime": "2025-06-02", + "rentalRiskListIdCardRelationsPhones": 0, + "rentalRiskListPhoneRelationsIdCards": 0 + }, + "riskWarning": { + "frequentApplicationRecent": 0, + "frequentBankApplications": 0, + "frequentNonBankApplications": 0, + "frequentRentalApplications": 0, + "gazdyrhyRiskCounts": 1, + "gazdyrhyRiskHighCounts": 1, + "gazdyrhyRiskMiddleCounts": 0, + "hasCriminalRecord": 0, + "highDebtPressure": 0, + "highFraudGangLevel": 1, + "hitAdministrativeCase": 0, + "hitBankruptcyAndLiquidation": 0, + "hitCivilCase": 0, + "hitCompensationCase": 0, + "hitCriminalRisk": 1, + "hitCurrentOverdue": 0, + "hitDirectlyUnderCase": 0, + "hitExecutionCase": 0, + "hitHighRiskBankLastTwoYears": 0, + "hitHighRiskNonBankLastTwoYears": 0, + "hitPreservationReview": 0, + "idCardPhoneProvinceMismatch": 0, + "idCardRiskCounts": 0, + "idCardRiskHighCounts": 0, + "idCardRiskMiddleCounts": 0, + "idCardTwoElementMismatch": 0, + "isAntiFraudInfo": 0, + "isDisrupSocial": 1, + "isEconomyFront": 0, + "isKeyPerson": 0, + "isTrafficRelated": 0, + "jdpgRiskCounts": 1, + "jdpgRiskHighCounts": 0, + "jdpgRiskMiddleCounts": 1, + "level": "C2,C5", + "moreFrequentBankApplications": 0, + "moreFrequentNonBankApplications": 0, + "noPhoneDuration": 1, + "phoneThreeElementMismatch": 0, + "sfhyfxRiskCounts": 1, + "sfhyfxRiskHighCounts": 1, + "sfhyfxRiskMiddleCounts": 0, + "shortPhoneDuration": 0, + "shortPhoneDurationSlight": 0, + "shortPhoneRiskCounts": 1, + "shortPhoneRiskHighCounts": 1, + "shortPhoneRiskMiddleCounts": 0, + "totalRiskCounts": 4, + "veryFrequentRentalApplications": 0, + "yqfxRiskCounts": 0, + "yqfxRiskHighCounts": 0, + "yqfxRiskMiddleCounts": 0, + "zlfxpgRiskCounts": 0, + "zlfxpgRiskHighCounts": 0, + "zlfxpgRiskMiddleCounts": 0 + }, + "standLiveInfo": { + "finalAuthResult": "0", + "inTime": "3", + "verification": "1" + }, + "success": true, + "timestamp": "2025-01-20 21:19:58", + "verifyRule": "高风险" + } + } + }, + { + "feature": { + "featureName": "收入评估", + "sort": 4 + }, + "data": { + "apiID": "JRZQ09J8", + "data": { + "level": "G" + }, + "success": true, + "timestamp": "2025-01-20 21:19:58" + } + }, + { + "feature": { + "featureName": "借贷表现", + "sort": 5 + }, + "data": { + "apiID": "JRZQ4B6C", + "data": { + "acc_exc": "0", + "acc_sleep": "39", + "count_performance": "1", + "currently_overdue": "1", + "currently_performance": "29", + "latest_overdue_time": "2018-10", + "latest_performance_time": "2018-10", + "max_overdue_amt": "1000-2000", + "max_overdue_days": "1-15", + "max_performance_amt": "1000-2000", + "result_code": "1" + }, + "success": true, + "timestamp": "2025-01-20 21:19:58" + } + }, + { + "feature": { + "featureName": "人企关系加强版", + "sort": 6 + }, + "data": { + "apiID": "QYGL3F8E", + "data": { + "items": [ + { + "abnormal_info": { + "items": [ + { + "putDate": "2022-12-01", + "putDepartment": "北京市朝阳区市场监督管理局", + "putReason": "未依照《企业信息公示暂行条例》第八条规定的期限公示年度报告的", + "removeDate": "2023-08-15", + "removeDepartment": "北京市朝阳区市场监督管理局", + "removeReason": "已补报年度报告" + }, + { + "putDate": "2022-05-20", + "putDepartment": "北京市朝阳区市场监督管理局", + "putReason": "通过登记的住所或者经营场所无法联系的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + }, + { + "putDate": "2022-03-15", + "putDepartment": "北京市朝阳区市场监督管理局", + "putReason": "未按规定期限公示即时信息的", + "removeDate": "2022-11-30", + "removeDepartment": "北京市朝阳区市场监督管理局", + "removeReason": "已完成信息公示" + } + ], + "total": 3 + }, + "adminPenalty": [], + "basicInfo": { + "apprdate": "2020-05-15", + "base": "bj", + "candate": "", + "city": "北京市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91110108MA01******", + "district": "海淀区", + "estiblishTime": "2018-03-12", + "industry": "科技推广和应用服务业", + "industry_code": "M", + "legalPersonName": "张某", + "name": "北京****科技有限公司", + "nic_code": "M7510", + "nic_name": "科技推广和应用服务业-科技推广和应用服务业-技术推广服务-技术推广服务", + "opscope": "技术开发、技术推广、技术转让、技术咨询、技术服务;软件开发;计算机系统服务;数据处理;基础软件服务;应用软件服务;计算机维修;销售计算机、软件及辅助设备、电子产品、机械设备、通讯设备;货物进出口;技术进出口;代理进出口。", + "province": "北京市", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "500.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "11010801******", + "regStatus": "存续", + "regorg": "北京市海淀区市场监督管理局", + "revdate": "2020-05-15", + "staffList": { + "result": [ + { + "name": "张某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [], + "executedPerson": [], + "financing_history": { + "items": [ + { + "companyName": "北京创新科技有限公司", + "date": null, + "investorName": "红杉资本中国,IDG资本", + "money": "5000万人民币", + "newsTitle": "北京创新科技完成5000万元B轮融资", + "newsUrl": "https://example.com/news1", + "pubTime": 1672531200000, + "round": "B轮", + "share": "15%", + "value": "3.3亿人民币" + }, + { + "companyName": "北京创新科技有限公司", + "date": null, + "investorName": "经纬中国,真格基金", + "money": "2000万人民币", + "newsTitle": "北京创新科技获得2000万元A轮融资", + "newsUrl": "https://example.com/news2", + "pubTime": 1640995200000, + "round": "A轮", + "share": "20%", + "value": "1亿人民币" + }, + { + "companyName": "北京创新科技有限公司", + "date": null, + "investorName": "创新工场", + "money": "500万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1609459200000, + "round": "Pre-A轮", + "share": "10%", + "value": "5000万人民币" + }, + { + "companyName": "北京创新科技有限公司", + "date": null, + "investorName": "梅花创投", + "money": "200万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1577836800000, + "round": "天使轮", + "share": "8%", + "value": "2500万人民币" + } + ], + "total": 4 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "智慧数据", + "amount": null, + "base": "bj", + "business_scope": "技术开发;技术推广;技术转让;技术咨询;技术服务;计算机系统服务;基础软件服务;应用软件服务;软件开发;软件咨询;模型设计;包装装潢设计;教育咨询(中介服务除外);经济贸易咨询;文化咨询;体育咨询;公共关系服务;会议服务;工艺美术设计;电脑动画设计;项目投资;投资管理;资产管理;企业策划、设计;设计、制作、代理、发布广告;市场调查;企业管理咨询;组织文化艺术交流活动(不含营业性演出);文艺创作;承办展览展示活动;会议服务;影视策划;翻译服务。", + "category": "软件和信息技术服务业", + "creditCode": "91110105MA01A2B3C4", + "estiblishTime": 1640995200000, + "id": 35678901, + "legalPersonId": 2156789012, + "legalPersonName": "李明", + "logo": "https://img5.tianyancha.com/logo/lll/example1.png@!f_200x200", + "name": "北京智慧数据科技有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 7856, + "percent": "60%", + "personType": 1, + "regCapital": "2000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "AI研究院", + "amount": null, + "base": "bj", + "business_scope": "人工智能应用软件开发;人工智能理论与算法软件开发;人工智能基础软件开发;人工智能基础资源与技术平台;软件开发;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;信息系统集成服务;信息技术咨询服务;数据处理和存储支持服务;互联网数据服务;云计算装备技术服务;网络技术服务;计算机系统服务;数字文化创意软件开发。", + "category": "科学研究和技术服务业", + "creditCode": "91110108MA01B3C4D5", + "estiblishTime": 1672531200000, + "id": 36789012, + "legalPersonId": 2167890123, + "legalPersonName": "王芳", + "logo": "https://img5.tianyancha.com/logo/lll/example2.png@!f_200x200", + "name": "北京人工智能研究院有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 6234, + "percent": "45%", + "personType": 1, + "regCapital": "1500万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 5 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2023)京01行初****号", + "c_dsrxx": [ + { + "c_mc": "北京****科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "北京市****区市场监督管理局", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告北京****科技有限公司,住所地北京市海淀区****路x号。法定代表人张某,执行董事兼总经理。委托代理人吴某,北京****律师事务所律师。被告北京市****区市场监督管理局,住所地北京市****区政府大楼。负责人陈某,局长。委托代理人刘某,该局工作人员。", + "c_gkws_pjjg": "驳回原告北京****科技有限公司的诉讼请求。案件受理费50元,由原告北京****科技有限公司负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于北京市高级人民法院。", + "c_id": "g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3", + "c_ssdy": "北京市", + "d_jarq": "2023-11-15", + "d_larq": "2023-09-10", + "n_ajbs": "f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 5678901234, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,工商行政管理,市场监督管理", + "n_jafs": "判决", + "n_jbfy": "北京市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "北京市(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2023(1)" + } + }, + "bankrupt": { + "cases": [ + { + "c_ah": "(2023)京01破申****号", + "c_dsrxx": [ + { + "c_mc": "北京****投资有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请人" + }, + { + "c_mc": "北京****科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人北京****投资有限公司,住所地北京市朝阳区****路x号。法定代表人黄某,董事长。委托代理人赵某,北京****律师事务所律师。被申请人北京****科技有限公司,住所地北京市海淀区****路x号。法定代表人张某,执行董事兼总经理。", + "c_gkws_pjjg": "驳回申请人北京****投资有限公司对被申请人北京****科技有限公司的破产清算申请。申请费5000元,由申请人北京****投资有限公司负担。", + "c_id": "h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4", + "c_ssdy": "北京市", + "d_jarq": "2023-12-05", + "d_larq": "2023-10-25", + "n_ajbs": "g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3", + "n_ajjzjd": "已结案", + "n_ajlx": "破产清算", + "n_crc": 6789012345, + "n_jaay": "破产案件", + "n_jaay_tree": "破产案件,破产清算", + "n_jafs": "裁定", + "n_jbfy": "北京市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "破产案件", + "n_pj_victory": "胜诉", + "n_slcx": "破产", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "北京市(1)", + "ay_stat": "破产案件(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "裁定(1)", + "larq_stat": "2023(1)" + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2023)京01行初****号", + "case_type": 400, + "n_ajbs": "f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2", + "stage_type": 1 + } + ], + "bankrupt": [ + { + "c_ah": "(2023)京01破申****号", + "case_type": 600, + "n_ajbs": "g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3", + "stage_type": 1 + } + ], + "civil": [ + { + "c_ah": "(2023)京01民初****号", + "case_type": 300, + "n_ajbs": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", + "stage_type": 1 + } + ], + "criminal": [], + "implement": [ + { + "c_ah": "(2023)京01执****号", + "case_type": 500, + "n_ajbs": "h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4", + "stage_type": 1 + } + ], + "preservation": [ + { + "c_ah": "(2023)京01财保****号", + "case_type": 700, + "n_ajbs": "i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5", + "stage_type": 1 + } + ] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)京01民初****号", + "c_dsrxx": [ + { + "c_mc": "北京****科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "刘某", + "n_dsrlx": "自然人", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告刘某,男,1985年3月15日生,汉族,住北京市朝阳区****小区x号楼x单元x号。委托代理人李某,北京****律师事务所律师。被告北京****科技有限公司,住所地北京市海淀区****路x号。法定代表人张某,执行董事兼总经理。委托代理人王某,北京****律师事务所律师。", + "c_gkws_pjjg": "一、被告北京****科技有限公司于本判决生效之日起十日内向原告刘某支付服务费300000元及违约金50000元;二、驳回原告刘某的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费8800元,由原告刘某负担3300元,被告北京****科技有限公司负担5500元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于北京市高级人民法院。", + "c_id": "b1c2d3e4f5g6h7i8j9k0l1m2n3o4p5q6", + "c_ssdy": "北京市", + "d_jarq": "2023-12-15", + "d_larq": "2023-10-20", + "n_ajbs": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 1234567890, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,服务合同纠纷", + "n_jafs": "判决", + "n_jbfy": "北京市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 500000, + "n_qsbdje_level": 19, + "n_slcx": "一审", + "n_ssdw": "被告" + } + ], + "count": { + "area_stat": "北京市(1)", + "ay_stat": "合同、准合同纠纷(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2023(1)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 1, + "money_total": 1 + } + }, + "count": { + "area_stat": "北京市(5)", + "ay_stat": "合同、准合同纠纷(1),行政管理(1),破产案件(1),执行案件(1),财产保全(1)", + "count_beigao": 3, + "count_jie_beigao": 3, + "count_jie_total": 5, + "count_total": 5, + "jafs_stat": "判决(2),裁定(2),执行(1)", + "larq_stat": "2023(5)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 1, + "money_total": 1 + }, + "crc": 1234567890, + "criminal": { + "cases": [], + "count": { + "area_stat": "北京市(0)", + "count_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2023)京01执****号", + "c_dsrxx": [ + { + "c_mc": "孙某", + "n_dsrlx": "自然人", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "北京****科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人孙某,男,1978年7月20日生,汉族,住北京市西城区****小区x号楼x号。委托代理人赵某,北京****律师事务所律师。被执行人北京****科技有限公司,住所地北京市海淀区****路x号。法定代表人张某,执行董事兼总经理。", + "c_gkws_pjjg": "一、被执行人北京****科技有限公司应向申请执行人孙某支付劳动报酬80000元;二、被执行人北京****科技有限公司应向申请执行人孙某支付迟延履行期间的债务利息;三、申请执行人孙某的其他申请执行请求不予支持。", + "c_id": "i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5", + "c_ssdy": "北京市", + "d_jarq": "2024-01-10", + "d_larq": "2023-11-20", + "n_ajbs": "h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 7890123456, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "北京市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "北京市(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [ + { + "c_ah": "(2023)京01财保****号", + "c_dsrxx": [ + { + "c_mc": "周某", + "n_dsrlx": "自然人", + "n_ssdw": "申请人" + }, + { + "c_mc": "北京****科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人周某,男,1980年5月10日生,汉族,住北京市朝阳区****小区x号楼x号。委托代理人吴某,北京****律师事务所律师。被申请人北京****科技有限公司,住所地北京市海淀区****路x号。法定代表人张某,执行董事兼总经理。", + "c_gkws_pjjg": "查封被申请人北京****科技有限公司名下位于北京市海淀区****路x号x栋x号的房产一处(房产证号:京****),查封期限为三年。", + "c_id": "j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6", + "c_ssdy": "北京市", + "d_jarq": "2023-11-30", + "d_larq": "2023-11-10", + "n_ajbs": "i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5", + "n_ajjzjd": "已结案", + "n_ajlx": "财产保全", + "n_crc": 8901234567, + "n_jaay": "财产保全", + "n_jaay_tree": "财产保全,诉前财产保全", + "n_jafs": "裁定", + "n_jbfy": "北京市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "财产保全", + "n_slcx": "保全", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "北京市(1)", + "count_total": 1 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [ + { + "ah": "(2022)京0105执****号", + "fbrq": "2022-09-20", + "larq": "2022-09-15", + "lxqk": "全部未履行", + "pjje_gj": 350000, + "qyfr": "张某", + "sf": "北京市", + "xwqx": "有履行能力而拒不履行生效法律文书确定义务", + "yw": "向申请人支付服务费350000元及违约金", + "zxfy": "北京市朝阳区人民法院", + "zxyjdw": "北京市朝阳区人民法院", + "zxyjwh": "(2022)京0105民初****号", + "zzjgdm": "91110108MA0******" + }, + { + "ah": "(2023)京0108执****号", + "fbrq": "2023-04-25", + "larq": "2023-04-10", + "lxqk": "部分未履行", + "pjje_gj": 250000, + "qyfr": "张某", + "sf": "北京市", + "xwqx": "被执行人无正当理由拒不履行执行和解协议", + "yw": "向申请人支付货款450000元及利息", + "zxfy": "北京市海淀区人民法院", + "zxyjdw": "北京市海淀区人民法院", + "zxyjwh": "(2023)京0108民初****号", + "zzjgdm": "91110108MA0******" + } + ] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [ + { + "ah": "(2022)京0105执****号", + "fbrq": "2022-10-01", + "id": "BJ0105XG202200****", + "zxfy": "北京市朝阳区人民法院" + }, + { + "ah": "(2023)京0108执****号", + "fbrq": "2023-05-15", + "id": "BJ0108XG202300****", + "zxfy": "北京市海淀区人民法院" + } + ] + } + } + }, + "orgName": "北京****科技有限公司", + "own_tax": { + "items": [ + { + "department": "海淀区税务局", + "legalpersonName": "张某", + "location": "北京市海淀区中关村大街1号", + "name": "北京****科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "125.80", + "ownTaxBalance": "125.80", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-03-15", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91110108MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "海淀区税务局", + "legalpersonName": "张某", + "location": "北京市海淀区中关村大街1号", + "name": "北京****科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "89.50", + "ownTaxBalance": "89.50", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-06-20", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91110108MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "海淀区税务局", + "legalpersonName": "张某", + "location": "北京市海淀区中关村大街1号", + "name": "北京****科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "45.20", + "ownTaxBalance": "45.20", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-09-10", + "regType": "有限责任公司", + "taxCategory": "增值税", + "taxIdNumber": "91110108MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + } + ], + "total": 3 + }, + "pName": "张某", + "punishment_info": { + "items": [ + { + "content": "责令当事人停止发布违法广告,并处罚款人民币5万元", + "decisionDate": "2023-05-15", + "departmentName": "北京市朝阳区市场监督管理局", + "evidence": "当事人在其官网发布含有虚假内容的广告", + "legalPersonName": "张明", + "pecuniary": "50000", + "punishName": "北京创新科技有限公司", + "punishNumber": "京朝市监罚字〔2023〕第1205号", + "punishStatus": "已执行", + "reason": "违反《中华人民共和国广告法》第二十八条规定,发布虚假广告", + "remark": "", + "source": "市场监督管理局", + "type": "广告违法", + "typeSecond": "虚假广告" + }, + { + "content": "责令限期整改,并处罚款人民币3万元", + "decisionDate": "2023-08-20", + "departmentName": "北京市网信办", + "evidence": "网络安全检查中发现安全漏洞未及时修复", + "legalPersonName": "张明", + "pecuniary": "30000", + "punishName": "北京创新科技有限公司", + "punishNumber": "京网信罚〔2023〕第0856号", + "punishStatus": "已执行", + "reason": "违反《网络安全法》相关规定,未履行网络安全保护义务", + "remark": "", + "source": "网信办", + "type": "网络安全", + "typeSecond": "安全漏洞" + } + ], + "total": 2 + }, + "relationship": [ + "sh", + "lp", + "tm" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "张某", + "orgHolderType": "自然人", + "subscriptAmt": 500 + }, + "tax_contravention": { + "items": [ + { + "case_type": "税收异常非正常户", + "department": "国家税务总局北京市海淀区税务局", + "id": 2745249, + "publish_time": "2023-08-15", + "taxpayer_name": "北京****科技有限公司" + } + ], + "total": 1 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2023-07-10", + "putDepartment": "上海市浦东新区市场监督管理局", + "putReason": "未依照《企业信息公示暂行条例》第八条规定的期限公示年度报告的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + } + ], + "total": 1 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2022-08-20", + "departmentName": "上海市****市场监督管理局", + "legalPersonName": "王某", + "punishNumber": "沪市监罚字(2022)****号", + "reason": "未按规定公示年度报告", + "type": "警告" + } + ], + "basicInfo": { + "apprdate": "2022-08-20", + "base": "sh", + "candate": "", + "city": "上海市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91310115MA1******", + "district": "浦东新区", + "estiblishTime": "2019-05-18", + "industry": "批发和零售业", + "industry_code": "F", + "legalPersonName": "王某", + "name": "上海****贸易有限公司", + "nic_code": "F5191", + "nic_name": "批发和零售业-批发业-其他批发业-其他批发业", + "opscope": "从事货物及技术的进出口业务,五金交电、建筑材料、机械设备、电子产品、日用百货的销售。", + "province": "上海市", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "300.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "310115******", + "regStatus": "存续", + "regorg": "上海市浦东新区市场监督管理局", + "revdate": "2022-08-20", + "staffList": { + "result": [ + { + "name": "王某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [], + "executedPerson": [], + "financing_history": { + "items": [ + { + "companyName": "上海智能制造股份有限公司", + "date": null, + "investorName": "公开发行", + "money": "15.8亿人民币", + "newsTitle": "上海智能制造成功登陆科创板", + "newsUrl": "https://example.com/ipo1", + "pubTime": 1680307200000, + "round": "IPO上市", + "share": "", + "value": "" + }, + { + "companyName": "上海智能制造股份有限公司", + "date": null, + "investorName": "高瓴资本,腾讯投资", + "money": "3亿人民币", + "newsTitle": "上海智能制造完成3亿元C轮融资", + "newsUrl": "https://example.com/news3", + "pubTime": 1651363200000, + "round": "C轮", + "share": "12%", + "value": "25亿人民币" + }, + { + "companyName": "上海智能制造股份有限公司", + "date": null, + "investorName": "软银中国,金沙江创投", + "money": "1.5亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1619827200000, + "round": "B轮", + "share": "18%", + "value": "8.3亿人民币" + }, + { + "companyName": "上海智能制造股份有限公司", + "date": null, + "investorName": "启明创投,GGV纪源资本", + "money": "8000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1588291200000, + "round": "A轮", + "share": "25%", + "value": "3.2亿人民币" + }, + { + "companyName": "上海智能制造股份有限公司", + "date": null, + "investorName": "真格基金,险峰长青", + "money": "1500万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1556668800000, + "round": "天使轮", + "share": "15%", + "value": "1亿人民币" + } + ], + "total": 5 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "智能机器人", + "amount": null, + "base": "sh", + "business_scope": "智能制造装备、工业机器人、数控机床的研发、生产、销售;自动化控制系统集成;软件开发;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;货物进出口;技术进出口。", + "category": "通用设备制造业", + "creditCode": "91310115MA01F7G8H9", + "estiblishTime": 1609459200000, + "id": 40123456, + "legalPersonId": 2201234567, + "legalPersonName": "陈刚", + "logo": "https://img5.tianyancha.com/logo/lll/example6.png@!f_200x200", + "name": "上海智能机器人制造有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 8912, + "percent": "35%", + "personType": 1, + "regCapital": "5000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "工业自动化", + "amount": null, + "base": "sh", + "business_scope": "工业自动化设备的研发、生产、销售;工业软件开发;系统集成;技术服务;设备租赁;机械设备销售;电子产品销售;计算机软硬件及辅助设备销售。", + "category": "专用设备制造业", + "creditCode": "91310114MA01G8H9I0", + "estiblishTime": 1625097600000, + "id": 41234567, + "legalPersonId": 2212345678, + "legalPersonName": "张伟", + "logo": "https://img5.tianyancha.com/logo/lll/example7.png@!f_200x200", + "name": "上海工业自动化设备有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 7234, + "percent": "50%", + "personType": 1, + "regCapital": "3000万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 8 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2022)沪01行初****号", + "c_dsrxx": [ + { + "c_mc": "上海****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "上海市****市场监督管理局", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告上海****贸易有限公司,住所地上海市浦东新区****路x号。法定代表人王某,执行董事兼总经理。委托代理人田某,上海****律师事务所律师。被告上海市****市场监督管理局,住所地上海市****区政府大楼。负责人杨某,局长。委托代理人郑某,该局工作人员。", + "c_gkws_pjjg": "一、撤销被告上海市****市场监督管理局于2022年8月10日作出的沪市监罚字(2022)****号《行政处罚决定书》;二、被告上海市****市场监督管理局于本判决生效之日起六十日内重新作出处理决定。案件受理费100元,由被告上海市****市场监督管理局负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于上海市高级人民法院。", + "c_id": "k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7", + "c_ssdy": "上海市", + "d_jarq": "2022-12-20", + "d_larq": "2022-10-15", + "n_ajbs": "j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 9012345678, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,工商行政管理,行政处罚", + "n_jafs": "判决", + "n_jbfy": "上海市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "胜诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "上海市(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2022(1)" + } + }, + "bankrupt": { + "cases": [], + "count": { + "area_stat": "上海市(0)", + "count_total": 0 + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2022)沪01行初****号", + "case_type": 400, + "n_ajbs": "j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6", + "stage_type": 1 + } + ], + "bankrupt": [], + "civil": [ + { + "c_ah": "(2023)沪01民初****号", + "case_type": 300, + "n_ajbs": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", + "stage_type": 1 + }, + { + "c_ah": "(2023)沪01民终****号", + "case_type": 300, + "n_ajbs": "c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8", + "stage_type": 2 + } + ], + "criminal": [ + { + "c_ah": "(2023)沪01刑初****号", + "case_type": 200, + "n_ajbs": "l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8", + "stage_type": 1 + } + ], + "implement": [ + { + "c_ah": "(2024)沪01执****号", + "case_type": 500, + "n_ajbs": "m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9", + "stage_type": 1 + } + ], + "preservation": [ + { + "c_ah": "(2023)沪01财保****号", + "case_type": 700, + "n_ajbs": "n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0", + "stage_type": 1 + } + ] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)沪01民初****号", + "c_dsrxx": [ + { + "c_mc": "上海****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告李某,男,1982年6月18日生,汉族,住上海市黄浦区****小区x号楼x号。委托代理人马某,上海****律师事务所律师。被告上海****贸易有限公司,住所地上海市浦东新区****路x号。法定代表人王某,执行董事兼总经理。委托代理人陈某,上海****律师事务所律师。", + "c_gkws_pjjg": "一、被告上海****贸易有限公司于本判决生效之日起十日内向原告李某支付货款200000元及违约金30000元;二、驳回原告李某的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费5500元,由原告李某负担2000元,被告上海****贸易有限公司负担3500元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于上海市高级人民法院。", + "c_id": "c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8", + "c_ssdy": "上海市", + "d_jarq": "2023-11-20", + "d_larq": "2023-09-15", + "n_ajbs": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 2345678901, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,买卖合同纠纷", + "n_jafs": "判决", + "n_jbfy": "上海市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 300000, + "n_qsbdje_level": 18, + "n_slcx": "一审", + "n_ssdw": "被告" + }, + { + "c_ah": "(2023)沪01民终****号", + "c_dsrxx": [ + { + "c_mc": "上海****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "上诉人" + }, + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "被上诉人" + } + ], + "c_gkws_dsr": "上诉人(原审被告)上海****贸易有限公司,住所地上海市浦东新区****路x号。法定代表人王某,执行董事兼总经理。委托代理人陈某,上海****律师事务所律师。被上诉人(原审原告)李某,男,1982年6月18日生,汉族,住上海市黄浦区****小区x号楼x号。委托代理人马某,上海****律师事务所律师。", + "c_gkws_pjjg": "驳回上诉,维持原判。二审案件受理费5500元,由上诉人上海****贸易有限公司负担。本判决为终审判决。", + "c_id": "d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9", + "c_ssdy": "上海市", + "d_jarq": "2024-01-15", + "d_larq": "2023-12-10", + "n_ajbs": "c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8", + "n_ajjzjd": "已结案", + "n_ajlx": "民事二审", + "n_crc": 3456789012, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,买卖合同纠纷", + "n_jafs": "维持", + "n_jbfy": "上海市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 300000, + "n_qsbdje_level": 18, + "n_slcx": "二审", + "n_ssdw": "上诉人" + } + ], + "count": { + "area_stat": "上海市(2)", + "ay_stat": "合同、准合同纠纷(2)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 2, + "count_total": 2, + "jafs_stat": "判决(1),维持(1)", + "larq_stat": "2023(2)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 2, + "money_total": 2 + } + }, + "count": { + "area_stat": "上海市(6)", + "ay_stat": "合同、准合同纠纷(2),行政管理(1),破坏社会主义市场经济秩序罪(1),执行案件(1),财产保全(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 6, + "count_total": 6, + "jafs_stat": "判决(3),维持(1),裁定(1),执行(1)", + "larq_stat": "2022(1),2023(4),2024(1)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 2, + "money_total": 2 + }, + "crc": 2345678901, + "criminal": { + "cases": [ + { + "c_ah": "(2023)沪01刑初****号", + "c_dsrxx": [ + { + "c_mc": "上海****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告单位" + }, + { + "c_mc": "王某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关上海市****区人民检察院。被告单位上海****贸易有限公司,住所地上海市浦东新区****路x号。被告人王某,男,1975年4月8日生,汉族,上海市人,大学文化,系上海****贸易有限公司法定代表人。因涉嫌犯走私普通货物罪,于2023年8月15日被上海市公安局刑事拘留,同年9月20日被逮捕,现羁押于上海市第一看守所。辩护人张某,上海****律师事务所律师。", + "c_gkws_pjjg": "一、被告单位上海****贸易有限公司犯走私普通货物罪,处罚金人民币五十万元;二、被告人王某犯走私普通货物罪,判处有期徒刑二年,缓刑三年,并处罚金人民币十万元。(缓刑考验期限,从判决确定之日起计算)。如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向上海市高级人民法院提出上诉。被告人如果提出上诉,可以委托辩护人提出上诉状。", + "c_id": "o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1", + "c_ssdy": "上海市", + "d_jarq": "2023-12-15", + "d_larq": "2023-10-20", + "n_ajbs": "l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_crc": 1234567890, + "n_jaay": "破坏社会主义市场经济秩序罪", + "n_jaay_tree": "破坏社会主义市场经济秩序罪,走私、贩卖、运输、制造毒品罪,走私普通货物、物品罪", + "n_jafs": "有期徒刑", + "n_jbfy": "上海市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "破坏社会主义市场经济秩序罪", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "被告单位" + } + ], + "count": { + "area_stat": "上海市(1)", + "ay_stat": "破坏社会主义市场经济秩序罪(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "有期徒刑(1)", + "larq_stat": "2023(1)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_total": 0, + "money_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2024)沪01执****号", + "c_dsrxx": [ + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "上海****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人李某,男,1982年6月18日生,汉族,住上海市黄浦区****小区x号楼x号。委托代理人马某,上海****律师事务所律师。被执行人上海****贸易有限公司,住所地上海市浦东新区****路x号。法定代表人王某,执行董事兼总经理。", + "c_gkws_pjjg": "一、被执行人上海****贸易有限公司应向申请执行人李某支付货款230000元及迟延履行期间的利息;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2", + "c_ssdy": "上海市", + "d_jarq": "2024-02-20", + "d_larq": "2024-01-15", + "n_ajbs": "m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 2345678901, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "上海市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "上海市(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [ + { + "c_ah": "(2023)沪01财保****号", + "c_dsrxx": [ + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "申请人" + }, + { + "c_mc": "上海****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人李某,男,1982年6月18日生,汉族,住上海市黄浦区****小区x号楼x号。委托代理人马某,上海****律师事务所律师。被申请人上海****贸易有限公司,住所地上海市浦东新区****路x号。法定代表人王某,执行董事兼总经理。", + "c_gkws_pjjg": "冻结被申请人上海****贸易有限公司名下银行账户(账号:****)中的存款230000元,冻结期限为一年。", + "c_id": "q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3", + "c_ssdy": "上海市", + "d_jarq": "2023-09-10", + "d_larq": "2023-09-05", + "n_ajbs": "n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0", + "n_ajjzjd": "已结案", + "n_ajlx": "财产保全", + "n_crc": 3456789012, + "n_jaay": "财产保全", + "n_jaay_tree": "财产保全,诉前财产保全", + "n_jafs": "裁定", + "n_jbfy": "上海市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "财产保全", + "n_slcx": "保全", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "上海市(1)", + "count_total": 1 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [ + { + "ah": "(2021)沪0115执****号", + "fbrq": "2021-12-01", + "larq": "2021-11-10", + "lxqk": "全部未履行", + "pjje_gj": 900000, + "qyfr": "李某", + "sf": "上海市", + "xwqx": "有履行能力而拒不履行生效法律文书确定义务", + "yw": "向申请人支付货款900000元及违约金", + "zxfy": "上海市浦东新区人民法院", + "zxyjdw": "上海市浦东新区人民法院", + "zxyjwh": "(2021)沪0115民初****号", + "zzjgdm": "91310115MA0******" + }, + { + "ah": "(2022)沪0104执****号", + "fbrq": "2022-06-15", + "larq": "2022-05-20", + "lxqk": "部分未履行", + "pjje_gj": 250000, + "qyfr": "李某", + "sf": "上海市", + "xwqx": "被执行人无正当理由拒不履行执行和解协议", + "yw": "向申请人支付货款550000元及利息", + "zxfy": "上海市徐汇区人民法院", + "zxyjdw": "上海市徐汇区人民法院", + "zxyjwh": "(2022)沪0104民初****号", + "zzjgdm": "91310115MA0******" + }, + { + "ah": "(2023)沪0106执****号", + "fbrq": "2023-03-10", + "larq": "2023-02-25", + "lxqk": "全部未履行", + "pjje_gj": 700000, + "qyfr": "李某", + "sf": "上海市", + "xwqx": "有履行能力而拒不履行生效法律文书确定义务", + "yw": "向申请人支付服务费700000元及违约金", + "zxfy": "上海市静安区人民法院", + "zxyjdw": "上海市静安区人民法院", + "zxyjwh": "(2023)沪0106民初****号", + "zzjgdm": "91310115MA0******" + } + ] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [ + { + "ah": "(2021)沪0115执****号", + "fbrq": "2021-12-15", + "id": "SH0115XG202100****", + "zxfy": "上海市浦东新区人民法院" + }, + { + "ah": "(2022)沪0104执****号", + "fbrq": "2022-07-01", + "id": "SH0104XG202200****", + "zxfy": "上海市徐汇区人民法院" + }, + { + "ah": "(2023)沪0106执****号", + "fbrq": "2023-03-25", + "id": "SH0106XG202300****", + "zxfy": "上海市静安区人民法院" + } + ] + } + } + }, + "orgName": "上海****贸易有限公司", + "own_tax": { + "items": [ + { + "department": "浦东新区税务局", + "legalpersonName": "王某", + "location": "上海市浦东新区陆家嘴金融贸易区", + "name": "上海****贸易有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "256.30", + "ownTaxBalance": "256.30", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-01-20", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91310000MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "浦东新区税务局", + "legalpersonName": "王某", + "location": "上海市浦东新区陆家嘴金融贸易区", + "name": "上海****贸易有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "189.70", + "ownTaxBalance": "189.70", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-04-15", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91310000MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "浦东新区税务局", + "legalpersonName": "王某", + "location": "上海市浦东新区陆家嘴金融贸易区", + "name": "上海****贸易有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "78.90", + "ownTaxBalance": "78.90", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-07-10", + "regType": "有限责任公司", + "taxCategory": "增值税", + "taxIdNumber": "91310000MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "浦东新区税务局", + "legalpersonName": "王某", + "location": "上海市浦东新区陆家嘴金融贸易区", + "name": "上海****贸易有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "156.40", + "ownTaxBalance": "156.40", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-10-05", + "regType": "有限责任公司", + "taxCategory": "教育费附加", + "taxIdNumber": "91310000MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + } + ], + "total": 4 + }, + "pName": "王某", + "punishment_info": { + "items": [ + { + "content": "责令停止违法行为,并处罚款人民币20万元", + "decisionDate": "2023-03-10", + "departmentName": "上海市生态环境局", + "evidence": "环境监测数据显示废水排放超出国家标准", + "legalPersonName": "李华", + "pecuniary": "200000", + "punishName": "上海智能制造股份有限公司", + "punishNumber": "沪环罚〔2023〕第0312号", + "punishStatus": "已执行", + "reason": "违反《中华人民共和国环境保护法》,超标排放污染物", + "remark": "", + "source": "生态环境局", + "type": "环境违法", + "typeSecond": "超标排放" + }, + { + "content": "责令停产整顿,并处罚款人民币15万元", + "decisionDate": "2023-07-25", + "departmentName": "上海市应急管理局", + "evidence": "安全检查发现生产设备存在安全隐患", + "legalPersonName": "李华", + "pecuniary": "150000", + "punishName": "上海智能制造股份有限公司", + "punishNumber": "沪应急罚〔2023〕第0728号", + "punishStatus": "已执行", + "reason": "违反《安全生产法》相关规定,存在重大安全隐患", + "remark": "", + "source": "应急管理局", + "type": "安全生产", + "typeSecond": "安全隐患" + }, + { + "content": "追缴税款并加收滞纳金,处罚款人民币8万元", + "decisionDate": "2023-11-12", + "departmentName": "上海市税务局", + "evidence": "税务稽查发现少申报收入", + "legalPersonName": "李华", + "pecuniary": "80000", + "punishName": "上海智能制造股份有限公司", + "punishNumber": "沪税稽罚〔2023〕第1115号", + "punishStatus": "已执行", + "reason": "违反《中华人民共和国税收征收管理法》,偷逃税款", + "remark": "", + "source": "税务局", + "type": "税务违法", + "typeSecond": "偷逃税款" + } + ], + "total": 3 + }, + "relationship": [ + "sh", + "lp", + "tm" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "王某", + "orgHolderType": "自然人", + "subscriptAmt": 300 + }, + "tax_contravention": { + "items": [ + { + "case_type": "税收异常非正常户", + "department": "国家税务总局上海市浦东新区税务局", + "id": 2745250, + "publish_time": "2023-05-20", + "taxpayer_name": "上海****贸易有限公司" + }, + { + "case_type": "欠税公告", + "department": "国家税务总局上海市浦东新区税务局", + "id": 2745251, + "publish_time": "2023-11-10", + "taxpayer_name": "上海****贸易有限公司" + } + ], + "total": 2 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2023-09-05", + "putDepartment": "深圳市南山区市场监督管理局", + "putReason": "通过登记的住所或者经营场所无法联系的", + "removeDate": "2024-01-20", + "removeDepartment": "深圳市南山区市场监督管理局", + "removeReason": "已变更注册地址" + }, + { + "putDate": "2023-11-12", + "putDepartment": "深圳市南山区市场监督管理局", + "putReason": "未按规定期限公示股权变更信息的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + } + ], + "total": 2 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2022-05-18", + "departmentName": "广州市****市场监督管理局", + "legalPersonName": "赵某", + "punishNumber": "穗市监罚字(2022)****号", + "reason": "生产不符合国家安全标准的产品", + "type": "罚款" + } + ], + "basicInfo": { + "apprdate": "2021-06-10", + "base": "gd", + "candate": "", + "city": "广州市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91440100MA5******", + "district": "天河区", + "estiblishTime": "2018-09-25", + "industry": "制造业", + "industry_code": "C", + "legalPersonName": "赵某", + "name": "广州****制造有限公司", + "nic_code": "C3381", + "nic_name": "制造业-金属制品业-金属制品业-金属制品业", + "opscope": "金属制品、机械设备、五金产品的研发、生产、销售;货物进出口、技术进出口。", + "province": "广东省", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "800.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "440106******", + "regStatus": "存续", + "regorg": "广州市天河区市场监督管理局", + "revdate": "2021-06-10", + "staffList": { + "result": [ + { + "name": "赵某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [], + "executedPerson": [], + "financing_history": { + "items": [ + { + "companyName": "深圳新能源技术有限公司", + "date": null, + "investorName": "国投创新,中金资本", + "money": "8亿人民币", + "newsTitle": "深圳新能源完成8亿元D轮融资", + "newsUrl": "https://example.com/news4", + "pubTime": 1693497600000, + "round": "D轮", + "share": "10%", + "value": "80亿人民币" + }, + { + "companyName": "深圳新能源技术有限公司", + "date": null, + "investorName": "比亚迪,宁德时代", + "money": "3.5亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1661961600000, + "round": "C轮", + "share": "15%", + "value": "23.3亿人民币" + }, + { + "companyName": "深圳新能源技术有限公司", + "date": null, + "investorName": "深创投,达晨创投", + "money": "1.2亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1630425600000, + "round": "B轮", + "share": "20%", + "value": "6亿人民币" + } + ], + "total": 3 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "新能源汽车", + "amount": null, + "base": "sz", + "business_scope": "新能源汽车整车制造;新能源汽车电附件销售;新能源汽车换电设施销售;充电桩销售;新能源汽车生产测试设备销售;汽车零配件批发;汽车零配件零售;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "汽车制造业", + "creditCode": "91440300MA01I0J1K2", + "estiblishTime": 1614556800000, + "id": 43456789, + "legalPersonId": 2234567890, + "legalPersonName": "林峰", + "logo": "https://img5.tianyancha.com/logo/lll/example9.png@!f_200x200", + "name": "深圳新能源汽车制造有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 9123, + "percent": "40%", + "personType": 1, + "regCapital": "8000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "储能电池", + "amount": null, + "base": "sz", + "business_scope": "电池制造;电池销售;新能源原动设备制造;新能源原动设备销售;储能技术服务;电力电子元器件制造;电力电子元器件销售;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "电气机械和器材制造业", + "creditCode": "91440300MA01J1K2L3", + "estiblishTime": 1630425600000, + "id": 44567890, + "legalPersonId": 2245678901, + "legalPersonName": "周杰", + "logo": "https://img5.tianyancha.com/logo/lll/example10.png@!f_200x200", + "name": "深圳储能电池技术有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 8456, + "percent": "30%", + "personType": 1, + "regCapital": "5000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "清洁能源", + "amount": null, + "base": "sz", + "business_scope": "太阳能发电技术服务;风力发电技术服务;生物质能技术服务;新兴能源技术研发;节能管理服务;合同能源管理;环保咨询服务;碳减排、碳转化、碳捕捉、碳封存技术研发。", + "category": "电力、热力、燃气及水生产和供应业", + "creditCode": "91440300MA01K2L3M4", + "estiblishTime": 1646092800000, + "id": 45678901, + "legalPersonId": 2256789012, + "legalPersonName": "吴涛", + "logo": "https://img5.tianyancha.com/logo/lll/example11.png@!f_200x200", + "name": "深圳清洁能源服务有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 7123, + "percent": "55%", + "personType": 1, + "regCapital": "2000万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 6 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2022)粤01行初****号", + "c_dsrxx": [ + { + "c_mc": "广州****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "广州市****市场监督管理局", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告广州****制造有限公司,住所地广州市天河区****路x号。法定代表人赵某,执行董事兼总经理。委托代理人陆某,广东****律师事务所律师。被告广州市****市场监督管理局,住所地广州市****区政府大楼。负责人张某,局长。委托代理人廖某,该局工作人员。", + "c_gkws_pjjg": "驳回原告广州****制造有限公司的诉讼请求。案件受理费50元,由原告广州****制造有限公司负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于广东省高级人民法院。", + "c_id": "r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4", + "c_ssdy": "广东省", + "d_jarq": "2022-07-15", + "d_larq": "2022-06-10", + "n_ajbs": "o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 4567890123, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,工商行政管理,市场监督管理", + "n_jafs": "判决", + "n_jbfy": "广州市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "广东省(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2022(1)" + } + }, + "bankrupt": { + "cases": [ + { + "c_ah": "(2023)粤01破申****号", + "c_dsrxx": [ + { + "c_mc": "广州****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请人" + }, + { + "c_mc": "广州****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人广州****贸易有限公司,住所地广州市海珠区****路x号。法定代表人林某,董事长。委托代理人叶某,广东****律师事务所律师。被申请人广州****制造有限公司,住所地广州市天河区****路x号。法定代表人赵某,执行董事兼总经理。委托代理人何某,广东****律师事务所律师。", + "c_gkws_pjjg": "驳回申请人广州****贸易有限公司对被申请人广州****制造有限公司的破产清算申请。申请费5000元,由申请人广州****贸易有限公司负担。", + "c_id": "s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5", + "c_ssdy": "广东省", + "d_jarq": "2023-08-15", + "d_larq": "2023-06-20", + "n_ajbs": "p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2", + "n_ajjzjd": "已结案", + "n_ajlx": "破产清算", + "n_crc": 5678901234, + "n_jaay": "破产案件", + "n_jaay_tree": "破产案件,破产清算", + "n_jafs": "裁定", + "n_jbfy": "广州市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "破产案件", + "n_pj_victory": "胜诉", + "n_slcx": "破产", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "广东省(1)", + "ay_stat": "破产案件(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "裁定(1)", + "larq_stat": "2023(1)" + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2022)粤01行初****号", + "case_type": 400, + "n_ajbs": "o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1", + "stage_type": 1 + } + ], + "bankrupt": [ + { + "c_ah": "(2023)粤01破申****号", + "case_type": 600, + "n_ajbs": "p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2", + "stage_type": 1 + } + ], + "civil": [ + { + "c_ah": "(2023)粤01民初****号", + "case_type": 300, + "n_ajbs": "d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0", + "stage_type": 1 + } + ], + "criminal": [ + { + "c_ah": "(2023)粤01刑初****号", + "case_type": 200, + "n_ajbs": "e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1", + "stage_type": 1 + } + ], + "implement": [ + { + "c_ah": "(2023)粤01执****号", + "case_type": 500, + "n_ajbs": "q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3", + "stage_type": 1 + } + ], + "preservation": [ + { + "c_ah": "(2023)粤01财保****号", + "case_type": 700, + "n_ajbs": "r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4", + "stage_type": 1 + } + ] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)粤01民初****号", + "c_dsrxx": [ + { + "c_mc": "广州****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "钱某", + "n_dsrlx": "自然人", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告钱某,男,1983年4月12日生,汉族,住广州市越秀区****小区x号楼x号。委托代理人徐某,广东****律师事务所律师。被告广州****制造有限公司,住所地广州市天河区****路x号。法定代表人赵某,执行董事兼总经理。委托代理人周某,广东****律师事务所律师。", + "c_gkws_pjjg": "一、被告广州****制造有限公司于本判决生效之日起十日内向原告钱某支付承揽费250000元及违约金80000元;二、驳回原告钱某的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费7800元,由原告钱某负担2800元,被告广州****制造有限公司负担5000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于广东省高级人民法院。", + "c_id": "c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8", + "c_ssdy": "广东省", + "d_jarq": "2023-11-25", + "d_larq": "2023-09-30", + "n_ajbs": "d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 2345678901, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,承揽合同纠纷", + "n_jafs": "判决", + "n_jbfy": "广州市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 300000, + "n_qsbdje_level": 18, + "n_slcx": "一审", + "n_ssdw": "被告" + } + ], + "count": { + "area_stat": "广东省(1)", + "ay_stat": "合同、准合同纠纷(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2023(1)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 1, + "money_total": 1 + } + }, + "count": { + "area_stat": "广东省(6)", + "ay_stat": "合同、准合同纠纷(1),破坏社会主义市场经济秩序罪(1),行政管理(1),破产案件(1),执行案件(1),财产保全(1)", + "count_beigao": 3, + "count_jie_beigao": 3, + "count_jie_total": 6, + "count_total": 6, + "jafs_stat": "判决(2),有期徒刑(1),裁定(2),执行(1)", + "larq_stat": "2022(1),2023(5)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 1, + "money_total": 1 + }, + "crc": 3456789012, + "criminal": { + "cases": [ + { + "c_ah": "(2023)粤01刑初****号", + "c_dsrxx": [ + { + "c_mc": "广州****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告单位" + }, + { + "c_mc": "赵某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关广州市****区人民检察院。被告单位广州****制造有限公司,住所地广州市天河区****路x号。被告人赵某,男,1976年5月15日生,汉族,广东省人,大学文化,系广州****制造有限公司法定代表人。因涉嫌犯合同诈骗罪,于2023年9月10日被广州市公安局刑事拘留,同年10月15日被逮捕,现羁押于广州市第一看守所。辩护人冯某,广东****律师事务所律师。", + "c_gkws_pjjg": "一、被告单位广州****制造有限公司犯合同诈骗罪,处罚金人民币六十万元;二、被告人赵某犯合同诈骗罪,判处有期徒刑三年,并处罚金人民币十五万元。如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向广东省高级人民法院提出上诉。被告人如果提出上诉,可以委托辩护人提出上诉状。", + "c_id": "o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1", + "c_ssdy": "广东省", + "d_jarq": "2023-12-15", + "d_larq": "2023-10-20", + "n_ajbs": "e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_crc": 4567890123, + "n_jaay": "破坏社会主义市场经济秩序罪", + "n_jaay_tree": "破坏社会主义市场经济秩序罪,扰乱市场秩序罪,合同诈骗罪", + "n_jafs": "有期徒刑", + "n_jbfy": "广州市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "破坏社会主义市场经济秩序罪", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "被告单位" + } + ], + "count": { + "area_stat": "广东省(1)", + "ay_stat": "破坏社会主义市场经济秩序罪(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "有期徒刑(1)", + "larq_stat": "2023(1)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_total": 0, + "money_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2023)粤01执****号", + "c_dsrxx": [ + { + "c_mc": "钱某", + "n_dsrlx": "自然人", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "广州****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人钱某,男,1983年4月12日生,汉族,住广州市越秀区****小区x号楼x号。委托代理人徐某,广东****律师事务所律师。被执行人广州****制造有限公司,住所地广州市天河区****路x号。法定代表人赵某,执行董事兼总经理。", + "c_gkws_pjjg": "一、被执行人广州****制造有限公司应向申请执行人钱某支付承揽费250000元、违约金80000元及迟延履行期间的利息;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6", + "c_ssdy": "广东省", + "d_jarq": "2023-12-22", + "d_larq": "2023-12-10", + "n_ajbs": "q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 6789012345, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "广州市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "广东省(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [ + { + "c_ah": "(2023)粤01财保****号", + "c_dsrxx": [ + { + "c_mc": "钱某", + "n_dsrlx": "自然人", + "n_ssdw": "申请人" + }, + { + "c_mc": "广州****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人钱某,男,1983年4月12日生,汉族,住广州市越秀区****小区x号楼x号。委托代理人徐某,广东****律师事务所律师。被申请人广州****制造有限公司,住所地广州市天河区****路x号。法定代表人赵某,执行董事兼总经理。", + "c_gkws_pjjg": "冻结被申请人广州****制造有限公司名下银行账户(账号:****)中的存款350000元,冻结期限为一年。", + "c_id": "u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7", + "c_ssdy": "广东省", + "d_jarq": "2023-09-20", + "d_larq": "2023-09-15", + "n_ajbs": "r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4", + "n_ajjzjd": "已结案", + "n_ajlx": "财产保全", + "n_crc": 7890123456, + "n_jaay": "财产保全", + "n_jaay_tree": "财产保全,诉前财产保全", + "n_jafs": "裁定", + "n_jbfy": "广州市****人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "财产保全", + "n_slcx": "保全", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "广东省(1)", + "count_total": 1 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [] + } + } + }, + "orgName": "广州****制造有限公司", + "own_tax": { + "items": [ + { + "department": "天河区税务局", + "legalpersonName": "赵某", + "location": "广州市天河区珠江新城", + "name": "广州****制造有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "456.80", + "ownTaxBalance": "456.80", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-02-28", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91440100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "天河区税务局", + "legalpersonName": "赵某", + "location": "广州市天河区珠江新城", + "name": "广州****制造有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "234.50", + "ownTaxBalance": "234.50", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-08-15", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91440100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + } + ], + "total": 2 + }, + "pName": "赵某", + "punishment_info": { + "items": [ + { + "content": "责令召回不合格产品,并处罚款人民币12万元", + "decisionDate": "2024-02-18", + "departmentName": "深圳市市场监督管理局", + "evidence": "产品质量抽检不合格", + "legalPersonName": "王强", + "pecuniary": "120000", + "punishName": "深圳新能源技术有限公司", + "punishNumber": "深市监罚〔2024〕第0220号", + "punishStatus": "已执行", + "reason": "违反《产品质量法》,生产销售不合格产品", + "remark": "", + "source": "市场监督管理局", + "type": "产品质量", + "typeSecond": "产品不合格" + } + ], + "total": 1 + }, + "relationship": [ + "sh", + "lp" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "赵某", + "orgHolderType": "自然人", + "subscriptAmt": 800 + }, + "tax_contravention": { + "items": [], + "total": 0 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2024-06-30", + "putDepartment": "广州市天河区市场监督管理局", + "putReason": "未依照《企业信息公示暂行条例》第八条规定的期限公示年度报告的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + }, + { + "putDate": "2023-12-20", + "putDepartment": "广州市天河区市场监督管理局", + "putReason": "通过登记的住所或者经营场所无法联系的", + "removeDate": "2024-05-15", + "removeDepartment": "广州市天河区市场监督管理局", + "removeReason": "已更新联系方式" + }, + { + "putDate": "2024-02-28", + "putDepartment": "广州市天河区市场监督管理局", + "putReason": "未按规定期限公示即时信息的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + }, + { + "putDate": "2023-05-18", + "putDepartment": "广州市天河区市场监督管理局", + "putReason": "未按规定期限公示企业投资信息的", + "removeDate": "2023-10-10", + "removeDepartment": "广州市天河区市场监督管理局", + "removeReason": "已补充公示投资信息" + } + ], + "total": 4 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2023-03-15", + "departmentName": "深圳市****市场监督管理局", + "legalPersonName": "陈某", + "punishNumber": "深市监罚字(2023)****号", + "reason": "产品质量不合格", + "type": "罚款" + } + ], + "basicInfo": { + "apprdate": "2023-04-10", + "base": "gd", + "candate": "", + "city": "深圳市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91440300MA5******", + "district": "南山区", + "estiblishTime": "2017-11-08", + "industry": "计算机、通信和其他电子设备制造业", + "industry_code": "C", + "legalPersonName": "陈某", + "name": "深圳****电子科技有限公司", + "nic_code": "C3969", + "nic_name": "计算机、通信和其他电子设备制造业-其他电子设备制造-其他电子设备制造", + "opscope": "电子产品、计算机软硬件、通信设备的研发、生产与销售;电子元器件、集成电路的设计、研发、销售;国内贸易;经营进出口业务。", + "province": "广东省", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "1000.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "440301******", + "regStatus": "存续", + "regorg": "深圳市市场监督管理局", + "revdate": "2023-04-10", + "staffList": { + "result": [ + { + "name": "陈某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + }, + { + "name": "林某", + "type": "3", + "typeJoin": [ + "总经理" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [ + { + "courtName": "深圳市南山区人民法院", + "dishonestExeUnperformPart": "全部未履行", + "exeDuty": "向申请人支付货款1200000元及逾期付款损失", + "gistId": "(2023)粤0305执恢****号", + "gistUnit": "深圳市南山区人民法院", + "iname": "深圳****电子科技有限公司", + "performedPart": "暂无", + "province": "广东", + "publicDate": "2023-10-15", + "regDate": "2023-10-10", + "unperformedPart": "全部未履行" + } + ], + "executedPerson": [ + { + "caseCode": "(2023)粤0305执****号", + "courtName": "深圳市南山区人民法院", + "execMoney": 1200000, + "iname": "深圳****电子科技有限公司", + "orgNo": "91440300MA5******", + "province": "广东", + "publishDate": "2023-09-20" + } + ], + "financing_history": { + "items": [ + { + "companyName": "广州生物医药有限公司", + "date": null, + "investorName": "公开发行", + "money": "12亿人民币", + "newsTitle": "广州生物医药成功在港上市", + "newsUrl": "https://example.com/ipo2", + "pubTime": 1698768000000, + "round": "IPO上市", + "share": "", + "value": "" + }, + { + "companyName": "广州生物医药有限公司", + "date": null, + "investorName": "高瓴资本,云锋基金", + "money": "5亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1667232000000, + "round": "C轮", + "share": "12%", + "value": "41.7亿人民币" + }, + { + "companyName": "广州生物医药有限公司", + "date": null, + "investorName": "君联资本,联想之星", + "money": "2.8亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1635696000000, + "round": "B轮", + "share": "18%", + "value": "15.6亿人民币" + }, + { + "companyName": "广州生物医药有限公司", + "date": null, + "investorName": "礼来亚洲基金,药明康德", + "money": "1.5亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1604160000000, + "round": "A轮", + "share": "25%", + "value": "6亿人民币" + }, + { + "companyName": "广州生物医药有限公司", + "date": null, + "investorName": "奥博资本", + "money": "6000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1572624000000, + "round": "Pre-A轮", + "share": "20%", + "value": "3亿人民币" + }, + { + "companyName": "广州生物医药有限公司", + "date": null, + "investorName": "广州科技创投", + "money": "1000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1541088000000, + "round": "天使轮", + "share": "12%", + "value": "8333万人民币" + } + ], + "total": 6 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "康复医疗", + "amount": null, + "base": "gz", + "business_scope": "医药制造;药品生产;药品批发;药品零售;医疗器械生产;医疗器械经营;第二类医疗器械销售;第三类医疗器械经营;保健食品生产;保健食品销售;食品生产;食品销售;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "医药制造业", + "creditCode": "91440101MA01L3M4N5", + "estiblishTime": 1622505600000, + "id": 46789012, + "legalPersonId": 2267890123, + "legalPersonName": "黄医生", + "logo": "https://img5.tianyancha.com/logo/lll/example12.png@!f_200x200", + "name": "广州康复医疗器械有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 9567, + "percent": "60%", + "personType": 1, + "regCapital": "1亿人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "生物研发", + "amount": null, + "base": "gz", + "business_scope": "生物技术推广服务;生物技术开发服务;医学研究和试验发展;生物药品制造;化学药品制剂制造;中成药生产;保健食品制造;医疗器械技术推广服务;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "医药制造业", + "creditCode": "91440101MA01M4N5O6", + "estiblishTime": 1638316800000, + "id": 47890123, + "legalPersonId": 2278901234, + "legalPersonName": "邓研究员", + "logo": "https://img5.tianyancha.com/logo/lll/example13.png@!f_200x200", + "name": "广州生物技术研发中心有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 8234, + "percent": "45%", + "personType": 1, + "regCapital": "6000万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 4 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2023)粤03行初****号", + "c_dsrxx": [ + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "深圳市****市场监督管理局", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告深圳****电子科技有限公司,住所地深圳市南山区****路x号。法定代表人陈某,执行董事。委托代理人谢某,广东****律师事务所律师。被告深圳市****市场监督管理局,住所地深圳市福田区****路x号。负责人王某,局长。委托代理人梁某,该局工作人员。", + "c_gkws_pjjg": "一、确认被告深圳市****市场监督管理局于2023年3月15日作出的深市监罚字(2023)****号《行政处罚决定书》违法;二、被告深圳市****市场监督管理局于本判决生效之日起六十日内重新作出处理决定。案件受理费100元,由被告深圳市****市场监督管理局负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于广东省高级人民法院。", + "c_id": "v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8", + "c_ssdy": "广东省", + "d_jarq": "2023-05-20", + "d_larq": "2023-04-15", + "n_ajbs": "s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 8901234567, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,工商行政管理,产品质量监督管理", + "n_jafs": "判决", + "n_jbfy": "深圳市南山区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "行政管理", + "n_pj_victory": "胜诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "广东省(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2023(1)" + } + }, + "bankrupt": { + "cases": [], + "count": { + "area_stat": "广东省(0)", + "count_total": 0 + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2023)粤03行初****号", + "case_type": 400, + "n_ajbs": "s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5", + "stage_type": 1 + } + ], + "bankrupt": [], + "civil": [ + { + "c_ah": "(2023)粤0305民初****号", + "case_type": 300, + "n_ajbs": "t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6", + "stage_type": 1 + }, + { + "c_ah": "(2023)粤03民终****号", + "case_type": 300, + "n_ajbs": "u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7", + "stage_type": 2 + } + ], + "criminal": [ + { + "c_ah": "(2023)粤03刑初****号", + "case_type": 200, + "n_ajbs": "v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8", + "stage_type": 1 + } + ], + "implement": [ + { + "c_ah": "(2023)粤0305执****号", + "case_type": 500, + "n_ajbs": "w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9", + "stage_type": 1 + }, + { + "c_ah": "(2023)粤0305执恢****号", + "case_type": 500, + "n_ajbs": "x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0", + "stage_type": 1 + } + ], + "preservation": [ + { + "c_ah": "(2023)粤0305财保****号", + "case_type": 700, + "n_ajbs": "y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1", + "stage_type": 1 + } + ] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)粤0305民初****号", + "c_dsrxx": [ + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "广州****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告广州****电子科技有限公司,住所地广州市天河区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人曾某,广东****律师事务所律师。被告深圳****电子科技有限公司,住所地深圳市南山区****路x号。法定代表人陈某,执行董事。委托代理人黄某,广东****律师事务所律师。", + "c_gkws_pjjg": "一、被告深圳****电子科技有限公司于本判决生效之日起十日内向原告广州****电子科技有限公司支付货款1200000元;二、被告深圳****电子科技有限公司于本判决生效之日起十日内向原告广州****电子科技有限公司支付逾期付款损失(以未付货款1200000元为基数,按照全国银行间同业拆借中心公布的一年期贷款市场报价利率自2023年1月15日起计算至实际付清之日止);三、驳回原告广州****电子科技有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费16800元,由原告广州****电子科技有限公司负担3800元,被告深圳****电子科技有限公司负担13000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于深圳市中级人民法院。", + "c_id": "w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9", + "c_ssdy": "广东省", + "d_jarq": "2023-07-25", + "d_larq": "2023-05-20", + "n_ajbs": "t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 9012345678, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,买卖合同纠纷", + "n_jafs": "判决", + "n_jbfy": "深圳市南山区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 1200000, + "n_qsbdje_level": 20, + "n_slcx": "一审", + "n_ssdw": "被告" + }, + { + "c_ah": "(2023)粤03民终****号", + "c_dsrxx": [ + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "上诉人" + }, + { + "c_mc": "广州****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被上诉人" + } + ], + "c_gkws_dsr": "上诉人(原审被告)深圳****电子科技有限公司,住所地深圳市南山区****路x号。法定代表人陈某,执行董事。委托代理人黄某,广东****律师事务所律师。被上诉人(原审原告)广州****电子科技有限公司,住所地广州市天河区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人曾某,广东****律师事务所律师。", + "c_gkws_pjjg": "驳回上诉,维持原判。二审案件受理费16800元,由上诉人深圳****电子科技有限公司负担。本判决为终审判决。", + "c_id": "x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0", + "c_ssdy": "广东省", + "d_jarq": "2023-09-10", + "d_larq": "2023-08-15", + "n_ajbs": "u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7", + "n_ajjzjd": "已结案", + "n_ajlx": "民事二审", + "n_crc": 1234567890, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,买卖合同纠纷", + "n_jafs": "维持", + "n_jbfy": "深圳市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 1200000, + "n_qsbdje_level": 20, + "n_slcx": "二审", + "n_ssdw": "上诉人" + } + ], + "count": { + "area_stat": "广东省(2)", + "ay_stat": "合同、准合同纠纷(2)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 2, + "count_total": 2, + "jafs_stat": "判决(1),维持(1)", + "larq_stat": "2023(2)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 2, + "money_total": 2 + } + }, + "count": { + "area_stat": "广东省(7)", + "ay_stat": "合同、准合同纠纷(2),行政管理(1),生产、销售伪劣产品罪(1),执行案件(2),财产保全(1)", + "count_beigao": 2, + "count_jie_beigao": 2, + "count_jie_total": 7, + "count_total": 7, + "jafs_stat": "判决(2),维持(1),有期徒刑(1),执行(2),裁定(1)", + "larq_stat": "2023(7)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 2, + "money_total": 2 + }, + "crc": 9012345678, + "criminal": { + "cases": [ + { + "c_ah": "(2023)粤03刑初****号", + "c_dsrxx": [ + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告单位" + }, + { + "c_mc": "陈某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "林某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关深圳市****区人民检察院。被告单位深圳****电子科技有限公司,住所地深圳市南山区****路x号。被告人陈某,男,1978年3月25日生,汉族,广东省人,大学文化,系深圳****电子科技有限公司法定代表人。因涉嫌犯生产、销售伪劣产品罪,于2023年6月10日被深圳市公安局刑事拘留,同年7月15日被逮捕,现羁押于深圳市第二看守所。辩护人孙某,广东****律师事务所律师。被告人林某,男,1980年5月18日生,汉族,广东省人,大学文化,系深圳****电子科技有限公司总经理。因涉嫌犯生产、销售伪劣产品罪,于2023年6月10日被深圳市公安局刑事拘留,同年7月15日被逮捕,现羁押于深圳市第二看守所。辩护人钟某,广东****律师事务所律师。", + "c_gkws_pjjg": "一、被告单位深圳****电子科技有限公司犯生产、销售伪劣产品罪,处罚金人民币一百万元;二、被告人陈某犯生产、销售伪劣产品罪,判处有期徒刑四年,并处罚金人民币二十万元;三、被告人林某犯生产、销售伪劣产品罪,判处有期徒刑三年,并处罚金人民币十万元。如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向广东省高级人民法院提出上诉。被告人如果提出上诉,可以委托辩护人提出上诉状。", + "c_id": "y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1", + "c_ssdy": "广东省", + "d_jarq": "2023-10-25", + "d_larq": "2023-08-20", + "n_ajbs": "v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_crc": 2345678901, + "n_jaay": "生产、销售伪劣产品罪", + "n_jaay_tree": "破坏社会主义市场经济秩序罪,生产、销售伪劣产品罪", + "n_jafs": "有期徒刑", + "n_jbfy": "深圳市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "生产、销售伪劣产品罪", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "被告单位" + } + ], + "count": { + "area_stat": "广东省(1)", + "ay_stat": "生产、销售伪劣产品罪(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "有期徒刑(1)", + "larq_stat": "2023(1)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_total": 0, + "money_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2023)粤0305执****号", + "c_dsrxx": [ + { + "c_mc": "广州****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人广州****电子科技有限公司,住所地广州市天河区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人曾某,广东****律师事务所律师。被执行人深圳****电子科技有限公司,住所地深圳市南山区****路x号。法定代表人陈某,执行董事。", + "c_gkws_pjjg": "一、被执行人深圳****电子科技有限公司应向申请执行人广州****电子科技有限公司支付货款1200000元及逾期付款损失;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2", + "c_ssdy": "广东省", + "d_jarq": "2023-10-10", + "d_larq": "2023-09-20", + "n_ajbs": "w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 3456789012, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "深圳市南山区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + }, + { + "c_ah": "(2023)粤0305执恢****号", + "c_dsrxx": [ + { + "c_mc": "广州****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人广州****电子科技有限公司,住所地广州市天河区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人曾某,广东****律师事务所律师。被执行人深圳****电子科技有限公司,住所地深圳市南山区****路x号。法定代表人陈某,执行董事。", + "c_gkws_pjjg": "将被执行人深圳****电子科技有限公司纳入失信被执行人名单,期限为三年,自本决定生效之日起至2026年10月15日止。", + "c_id": "a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3", + "c_ssdy": "广东省", + "d_jarq": "2023-10-15", + "d_larq": "2023-10-10", + "n_ajbs": "x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 4567890123, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "深圳市南山区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "广东省(2)", + "count_total": 2 + } + }, + "preservation": { + "cases": [ + { + "c_ah": "(2023)粤0305财保****号", + "c_dsrxx": [ + { + "c_mc": "广州****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请人" + }, + { + "c_mc": "深圳****电子科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人广州****电子科技有限公司,住所地广州市天河区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人曾某,广东****律师事务所律师。被申请人深圳****电子科技有限公司,住所地深圳市南山区****路x号。法定代表人陈某,执行董事。", + "c_gkws_pjjg": "冻结被申请人深圳****电子科技有限公司名下银行账户(账号:****)中的存款1200000元,冻结期限为一年。", + "c_id": "b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4", + "c_ssdy": "广东省", + "d_jarq": "2023-05-15", + "d_larq": "2023-05-10", + "n_ajbs": "y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1", + "n_ajjzjd": "已结案", + "n_ajlx": "财产保全", + "n_crc": 5678901234, + "n_jaay": "财产保全", + "n_jaay_tree": "财产保全,诉前财产保全", + "n_jafs": "裁定", + "n_jbfy": "深圳市南山区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "财产保全", + "n_slcx": "保全", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "广东省(1)", + "count_total": 1 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [ + { + "caseCode": "(2023)粤0305执恢****号", + "disruptTypeName": "被执行人无正当理由拒不履行执行和解协议", + "duty": "向申请人支付货款1200000元及逾期付款损失", + "gistId": "(2023)粤03民终****号", + "gistUnit": "深圳市中级人民法院", + "iname": "深圳****电子科技有限公司", + "orgNo": "91440300MA5******", + "performance": "全部未履行", + "publishDate": "2023-10-15", + "regDate": "2023-10-10" + } + ] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [] + } + } + }, + "orgName": "深圳****电子科技有限公司", + "own_tax": { + "items": [ + { + "department": "南山区税务局", + "legalpersonName": "陈某", + "location": "深圳市南山区科技园", + "name": "深圳****电子科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "789.60", + "ownTaxBalance": "789.60", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-01-10", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91440300MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "南山区税务局", + "legalpersonName": "陈某", + "location": "深圳市南山区科技园", + "name": "深圳****电子科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "345.20", + "ownTaxBalance": "345.20", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-03-25", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91440300MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "南山区税务局", + "legalpersonName": "陈某", + "location": "深圳市南山区科技园", + "name": "深圳****电子科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "567.80", + "ownTaxBalance": "567.80", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-06-18", + "regType": "有限责任公司", + "taxCategory": "增值税", + "taxIdNumber": "91440300MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "南山区税务局", + "legalpersonName": "陈某", + "location": "深圳市南山区科技园", + "name": "深圳****电子科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "123.40", + "ownTaxBalance": "123.40", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-09-12", + "regType": "有限责任公司", + "taxCategory": "教育费附加", + "taxIdNumber": "91440300MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "南山区税务局", + "legalpersonName": "陈某", + "location": "深圳市南山区科技园", + "name": "深圳****电子科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "234.90", + "ownTaxBalance": "234.90", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-12-05", + "regType": "有限责任公司", + "taxCategory": "个人所得税", + "taxIdNumber": "91440300MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + } + ], + "total": 5 + }, + "pName": "陈某", + "punishment_info": { + "items": [ + { + "content": "没收违法生产的药品和违法所得,并处罚款人民币50万元", + "decisionDate": "2023-09-08", + "departmentName": "广州市药品监督管理局", + "evidence": "药品检验不合格", + "legalPersonName": "陈丽", + "pecuniary": "500000", + "punishName": "广州生物医药有限公司", + "punishNumber": "穗药监罚〔2023〕第0910号", + "punishStatus": "已执行", + "reason": "违反《药品管理法》相关规定,生产劣药", + "remark": "", + "source": "药品监督管理局", + "type": "药品违法", + "typeSecond": "生产劣药" + }, + { + "content": "没收违法销售的医疗器械和违法所得,并处罚款人民币25万元", + "decisionDate": "2023-12-15", + "departmentName": "广州市卫生健康委员会", + "evidence": "销售记录显示销售未注册医疗器械", + "legalPersonName": "陈丽", + "pecuniary": "250000", + "punishName": "广州生物医药有限公司", + "punishNumber": "穗卫健罚〔2023〕第1218号", + "punishStatus": "已执行", + "reason": "违反《医疗器械监督管理条例》,销售未经注册的医疗器械", + "remark": "", + "source": "卫生健康委员会", + "type": "医疗器械", + "typeSecond": "未注册器械" + }, + { + "content": "责令停止发布违法广告,并处罚款人民币10万元", + "decisionDate": "2024-01-22", + "departmentName": "广州市市场监督管理局", + "evidence": "广告内容与实际效果不符", + "legalPersonName": "陈丽", + "pecuniary": "100000", + "punishName": "广州生物医药有限公司", + "punishNumber": "穗市监罚〔2024〕第0125号", + "punishStatus": "已执行", + "reason": "违反《广告法》规定,发布医疗广告含有不实内容", + "remark": "", + "source": "市场监督管理局", + "type": "广告违法", + "typeSecond": "虚假医疗广告" + }, + { + "content": "责令改正违法行为,并处罚款人民币6万元", + "decisionDate": "2024-04-10", + "departmentName": "广州市环保局", + "evidence": "现场检查发现医疗废物处理不当", + "legalPersonName": "陈丽", + "pecuniary": "60000", + "punishName": "广州生物医药有限公司", + "punishNumber": "穗环罚〔2024〕第0412号", + "punishStatus": "已执行", + "reason": "违反《环境保护法》,未按规定处理医疗废物", + "remark": "", + "source": "环保局", + "type": "环境违法", + "typeSecond": "废物处理" + } + ], + "total": 4 + }, + "relationship": [ + "sh", + "lp", + "tm" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "陈某", + "orgHolderType": "自然人", + "subscriptAmt": 1000 + }, + "tax_contravention": { + "items": [ + { + "case_type": "税收异常非正常户", + "department": "国家税务总局深圳市南山区税务局", + "id": 2745252, + "publish_time": "2023-07-30", + "taxpayer_name": "深圳****电子科技有限公司" + } + ], + "total": 1 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2023-08-25", + "putDepartment": "杭州市西湖区市场监督管理局", + "putReason": "未依照《企业信息公示暂行条例》第八条规定的期限公示年度报告的", + "removeDate": "2024-03-01", + "removeDepartment": "杭州市西湖区市场监督管理局", + "removeReason": "已按期补报年度报告" + } + ], + "total": 1 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2022-06-25", + "departmentName": "重庆市****住房和城乡建设委员会", + "legalPersonName": "周某", + "punishNumber": "渝建罚字(2022)****号", + "reason": "未按照建筑工程设计标准施工", + "type": "罚款" + } + ], + "basicInfo": { + "apprdate": "2022-07-20", + "base": "cq", + "candate": "", + "city": "重庆市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91500000MA6******", + "district": "渝中区", + "estiblishTime": "2015-08-12", + "industry": "建筑业", + "industry_code": "E", + "legalPersonName": "周某", + "name": "重庆****建设工程有限公司", + "nic_code": "E4700", + "nic_name": "建筑业-建筑装饰、装修和其他建筑业-建筑装饰和装修业", + "opscope": "建筑工程施工;建筑装饰工程设计与施工;市政公用工程施工;公路工程施工;水利水电工程施工;钢结构工程施工;土石方工程施工;园林绿化工程施工;建筑劳务分包;建筑材料销售。", + "province": "重庆市", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "2000.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "500103******", + "regStatus": "存续", + "regorg": "重庆市市场监督管理局", + "revdate": "2022-07-20", + "staffList": { + "result": [ + { + "name": "周某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + }, + { + "name": "李某", + "type": "3", + "typeJoin": [ + "总经理" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [], + "executedPerson": [ + { + "caseCode": "(2023)渝01执****号", + "courtName": "重庆市第一中级人民法院", + "execMoney": 850000, + "iname": "重庆****建设工程有限公司", + "orgNo": "91500000MA6******", + "province": "重庆", + "publishDate": "2023-08-10" + } + ], + "financing_history": { + "items": [ + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "阿里巴巴,蚂蚁集团", + "money": "2亿人民币", + "newsTitle": "杭州互联网服务获得2亿元C轮融资", + "newsUrl": "https://example.com/news5", + "pubTime": 1685577600000, + "round": "C轮", + "share": "15%", + "value": "13.3亿人民币" + }, + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "经纬中国,GGV纪源资本", + "money": "8000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1654041600000, + "round": "B轮", + "share": "20%", + "value": "4亿人民币" + }, + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "DCM中国,晨兴资本", + "money": "3000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1622505600000, + "round": "A轮", + "share": "25%", + "value": "1.2亿人民币" + }, + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "真格基金", + "money": "800万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1590969600000, + "round": "天使轮", + "share": "18%", + "value": "4444万人民币" + } + ], + "total": 4 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "云计算", + "amount": null, + "base": "hz", + "business_scope": "互联网信息服务;第二类增值电信业务;软件开发;信息系统集成服务;信息技术咨询服务;数据处理和存储支持服务;人工智能应用软件开发;区块链技术相关软件和服务;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "软件和信息技术服务业", + "creditCode": "91330108MA01N5O6P7", + "estiblishTime": 1635696000000, + "id": 48901234, + "legalPersonId": 2289012345, + "legalPersonName": "马云飞", + "logo": "https://img5.tianyancha.com/logo/lll/example14.png@!f_200x200", + "name": "杭州云计算服务有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 7890, + "percent": "50%", + "personType": 1, + "regCapital": "3000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "游戏娱乐", + "amount": null, + "base": "hz", + "business_scope": "网络游戏服务;互联网信息服务;软件开发;动漫游戏开发;数字内容制作服务;广告设计、代理;广告制作;文艺创作;组织文化艺术交流活动;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "软件和信息技术服务业", + "creditCode": "91330108MA01O6P7Q8", + "estiblishTime": 1651363200000, + "id": 49012345, + "legalPersonId": 2290123456, + "legalPersonName": "许晓明", + "logo": "https://img5.tianyancha.com/logo/lll/example15.png@!f_200x200", + "name": "杭州游戏娱乐科技有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 6789, + "percent": "40%", + "personType": 1, + "regCapital": "2500万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 3 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2022)渝01行初****号", + "c_dsrxx": [ + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "重庆市****住房和城乡建设委员会", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告重庆****建设工程有限公司,住所地重庆市渝中区****路x号。法定代表人周某,执行董事兼总经理。委托代理人黄某,重庆****律师事务所律师。被告重庆市****住房和城乡建设委员会,住所地重庆市渝北区****路x号。负责人张某,主任。委托代理人谢某,该委工作人员。", + "c_gkws_pjjg": "驳回原告重庆****建设工程有限公司的诉讼请求。案件受理费100元,由原告重庆****建设工程有限公司负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于重庆市高级人民法院。", + "c_id": "c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5", + "c_ssdy": "重庆市", + "d_jarq": "2022-09-15", + "d_larq": "2022-07-20", + "n_ajbs": "z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 6789012345, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,城乡建设管理,建筑市场管理", + "n_jafs": "判决", + "n_jbfy": "重庆市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "重庆市(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2022(1)" + } + }, + "bankrupt": { + "cases": [], + "count": { + "area_stat": "重庆市(0)", + "count_total": 0 + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2022)渝01行初****号", + "case_type": 400, + "n_ajbs": "z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2", + "stage_type": 1 + } + ], + "bankrupt": [], + "civil": [ + { + "c_ah": "(2023)渝0103民初****号", + "case_type": 300, + "n_ajbs": "a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3", + "stage_type": 1 + }, + { + "c_ah": "(2023)渝01民终****号", + "case_type": 300, + "n_ajbs": "b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4", + "stage_type": 2 + }, + { + "c_ah": "(2022)渝01民初****号", + "case_type": 300, + "n_ajbs": "c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5", + "stage_type": 1 + } + ], + "criminal": [ + { + "c_ah": "(2023)渝01刑初****号", + "case_type": 200, + "n_ajbs": "d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6", + "stage_type": 1 + } + ], + "implement": [ + { + "c_ah": "(2023)渝01执****号", + "case_type": 500, + "n_ajbs": "e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7", + "stage_type": 1 + } + ], + "preservation": [ + { + "c_ah": "(2023)渝0103财保****号", + "case_type": 700, + "n_ajbs": "f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8", + "stage_type": 1 + } + ] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)渝0103民初****号", + "c_dsrxx": [ + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "重庆****房地产开发有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告重庆****房地产开发有限公司,住所地重庆市江北区****路x号。法定代表人杨某,董事长。委托代理人江某,重庆****律师事务所律师。被告重庆****建设工程有限公司,住所地重庆市渝中区****路x号。法定代表人周某,执行董事兼总经理。委托代理人孙某,重庆****律师事务所律师。", + "c_gkws_pjjg": "一、被告重庆****建设工程有限公司于本判决生效之日起十日内向原告重庆****房地产开发有限公司支付工程质量违约金850000元;二、被告重庆****建设工程有限公司于本判决生效之日起十日内向原告重庆****房地产开发有限公司返还超额支付的工程款150000元;三、驳回原告重庆****房地产开发有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费15000元,由原告重庆****房地产开发有限公司负担5000元,被告重庆****建设工程有限公司负担10000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于重庆市第一中级人民法院。", + "c_id": "d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6", + "c_ssdy": "重庆市", + "d_jarq": "2023-06-15", + "d_larq": "2023-04-10", + "n_ajbs": "a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 7890123456, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,建设工程合同纠纷", + "n_jafs": "判决", + "n_jbfy": "重庆市渝中区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 1000000, + "n_qsbdje_level": 20, + "n_slcx": "一审", + "n_ssdw": "被告" + }, + { + "c_ah": "(2023)渝01民终****号", + "c_dsrxx": [ + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "上诉人" + }, + { + "c_mc": "重庆****房地产开发有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被上诉人" + } + ], + "c_gkws_dsr": "上诉人(原审被告)重庆****建设工程有限公司,住所地重庆市渝中区****路x号。法定代表人周某,执行董事兼总经理。委托代理人孙某,重庆****律师事务所律师。被上诉人(原审原告)重庆****房地产开发有限公司,住所地重庆市江北区****路x号。法定代表人杨某,董事长。委托代理人江某,重庆****律师事务所律师。", + "c_gkws_pjjg": "驳回上诉,维持原判。二审案件受理费15000元,由上诉人重庆****建设工程有限公司负担。本判决为终审判决。", + "c_id": "e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7", + "c_ssdy": "重庆市", + "d_jarq": "2023-08-05", + "d_larq": "2023-07-10", + "n_ajbs": "b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4", + "n_ajjzjd": "已结案", + "n_ajlx": "民事二审", + "n_crc": 8901234567, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,建设工程合同纠纷", + "n_jafs": "维持", + "n_jbfy": "重庆市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 1000000, + "n_qsbdje_level": 20, + "n_slcx": "二审", + "n_ssdw": "上诉人" + }, + { + "c_ah": "(2022)渝01民初****号", + "c_dsrxx": [ + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "重庆****投资有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告重庆****建设工程有限公司,住所地重庆市渝中区****路x号。法定代表人周某,执行董事兼总经理。委托代理人王某,重庆****律师事务所律师。被告重庆****投资有限公司,住所地重庆市渝北区****路x号。法定代表人谢某,董事长。委托代理人钱某,重庆****律师事务所律师。", + "c_gkws_pjjg": "一、被告重庆****投资有限公司于本判决生效之日起十日内向原告重庆****建设工程有限公司支付工程款500000元及违约金50000元;二、驳回原告重庆****建设工程有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费9500元,由原告重庆****建设工程有限公司负担3500元,被告重庆****投资有限公司负担6000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于重庆市高级人民法院。", + "c_id": "f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8", + "c_ssdy": "重庆市", + "d_jarq": "2022-12-20", + "d_larq": "2022-10-15", + "n_ajbs": "c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 9012345678, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,建设工程合同纠纷", + "n_jafs": "判决", + "n_jbfy": "重庆市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 600000, + "n_qsbdje_level": 19, + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "重庆市(3)", + "ay_stat": "合同、准合同纠纷(3)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 3, + "count_total": 3, + "jafs_stat": "判决(2),维持(1)", + "larq_stat": "2022(1),2023(2)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + } + }, + "count": { + "area_stat": "重庆市(7)", + "ay_stat": "合同、准合同纠纷(3),行政管理(1),重大责任事故罪(1),执行案件(1),财产保全(1)", + "count_beigao": 2, + "count_jie_beigao": 2, + "count_jie_total": 7, + "count_total": 7, + "jafs_stat": "判决(4),维持(1),有期徒刑(1),执行(1)", + "larq_stat": "2022(2),2023(5)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + }, + "crc": 6789012345, + "criminal": { + "cases": [ + { + "c_ah": "(2023)渝01刑初****号", + "c_dsrxx": [ + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告单位" + }, + { + "c_mc": "周某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "李某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关重庆市****区人民检察院。被告单位重庆****建设工程有限公司,住所地重庆市渝中区****路x号。被告人周某,男,1970年5月8日生,汉族,重庆市人,大学文化,系重庆****建设工程有限公司法定代表人。因涉嫌犯重大责任事故罪,于2023年2月15日被重庆市公安局刑事拘留,同年3月20日被逮捕,现羁押于重庆市第一看守所。辩护人赵某,重庆****律师事务所律师。被告人李某,男,1975年8月12日生,汉族,四川省人,大学文化,系重庆****建设工程有限公司项目经理。因涉嫌犯重大责任事故罪,于2023年2月15日被重庆市公安局刑事拘留,同年3月20日被逮捕,现羁押于重庆市第一看守所。辩护人钟某,重庆****律师事务所律师。", + "c_gkws_pjjg": "一、被告单位重庆****建设工程有限公司犯重大责任事故罪,处罚金人民币三百万元;二、被告人周某犯重大责任事故罪,判处有期徒刑四年;三、被告人李某犯重大责任事故罪,判处有期徒刑三年六个月。如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向重庆市高级人民法院提出上诉。被告人如果提出上诉,可以委托辩护人提出上诉状。", + "c_id": "g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9", + "c_ssdy": "重庆市", + "d_jarq": "2023-07-10", + "d_larq": "2023-05-15", + "n_ajbs": "d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_crc": 1234567890, + "n_jaay": "重大责任事故罪", + "n_jaay_tree": "危害公共安全罪,重大责任事故罪", + "n_jafs": "有期徒刑", + "n_jbfy": "重庆市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "重大责任事故罪", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "被告单位" + } + ], + "count": { + "area_stat": "重庆市(1)", + "ay_stat": "重大责任事故罪(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "有期徒刑(1)", + "larq_stat": "2023(1)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_total": 0, + "money_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2023)渝01执****号", + "c_dsrxx": [ + { + "c_mc": "重庆****房地产开发有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人重庆****房地产开发有限公司,住所地重庆市江北区****路x号。法定代表人杨某,董事长。委托代理人江某,重庆****律师事务所律师。被执行人重庆****建设工程有限公司,住所地重庆市渝中区****路x号。法定代表人周某,执行董事兼总经理。", + "c_gkws_pjjg": "一、被执行人重庆****建设工程有限公司应向申请执行人重庆****房地产开发有限公司支付工程质量违约金850000元、超额支付的工程款150000元及迟延履行期间的利息;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0", + "c_ssdy": "重庆市", + "d_jarq": "2023-08-10", + "d_larq": "2023-08-05", + "n_ajbs": "e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 2345678901, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "重庆市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "重庆市(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [ + { + "c_ah": "(2023)渝0103财保****号", + "c_dsrxx": [ + { + "c_mc": "重庆****房地产开发有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请人" + }, + { + "c_mc": "重庆****建设工程有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人重庆****房地产开发有限公司,住所地重庆市江北区****路x号。法定代表人杨某,董事长。委托代理人江某,重庆****律师事务所律师。被申请人重庆****建设工程有限公司,住所地重庆市渝中区****路x号。法定代表人周某,执行董事兼总经理。", + "c_gkws_pjjg": "冻结被申请人重庆****建设工程有限公司名下银行账户(账号:****)中的存款1000000元,冻结期限为一年。", + "c_id": "i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1", + "c_ssdy": "重庆市", + "d_jarq": "2023-04-05", + "d_larq": "2023-03-30", + "n_ajbs": "f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8", + "n_ajjzjd": "已结案", + "n_ajlx": "财产保全", + "n_crc": 3456789012, + "n_jaay": "财产保全", + "n_jaay_tree": "财产保全,诉前财产保全", + "n_jafs": "裁定", + "n_jbfy": "重庆市渝中区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "财产保全", + "n_slcx": "保全", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "重庆市(1)", + "count_total": 1 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [] + } + } + }, + "orgName": "重庆****建设工程有限公司", + "own_tax": { + "items": [ + { + "department": "渝中区税务局", + "legalpersonName": "李某", + "location": "重庆市渝中区解放碑", + "name": "重庆****建设工程有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "1234.50", + "ownTaxBalance": "1234.50", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-04-20", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91500000MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "渝中区税务局", + "legalpersonName": "李某", + "location": "重庆市渝中区解放碑", + "name": "重庆****建设工程有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "678.90", + "ownTaxBalance": "678.90", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-07-15", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91500000MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "渝中区税务局", + "legalpersonName": "李某", + "location": "重庆市渝中区解放碑", + "name": "重庆****建设工程有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "456.30", + "ownTaxBalance": "456.30", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-10-08", + "regType": "有限责任公司", + "taxCategory": "增值税", + "taxIdNumber": "91500000MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + } + ], + "total": 3 + }, + "pName": "周某", + "punishment_info": { + "items": [ + { + "content": "责令整改并加强用户信息保护,处罚款人民币8万元", + "decisionDate": "2023-06-30", + "departmentName": "杭州市网信办", + "evidence": "用户投诉个人信息泄露", + "legalPersonName": "刘刚", + "pecuniary": "80000", + "punishName": "杭州互联网服务有限公司", + "punishNumber": "杭网信罚〔2023〕第0702号", + "punishStatus": "已执行", + "reason": "违反《网络安全法》,用户个人信息保护不当", + "remark": "", + "source": "网信办", + "type": "信息安全", + "typeSecond": "信息泄露" + }, + { + "content": "责令完善商家信息公示,并处罚款人民币4万元", + "decisionDate": "2023-10-18", + "departmentName": "杭州市市场监督管理局", + "evidence": "平台商家资质信息缺失", + "legalPersonName": "刘刚", + "pecuniary": "40000", + "punishName": "杭州互联网服务有限公司", + "punishNumber": "杭市监罚〔2023〕第1020号", + "punishStatus": "已执行", + "reason": "违反《电子商务法》,平台内经营者信息公示不完整", + "remark": "", + "source": "市场监督管理局", + "type": "电商违法", + "typeSecond": "信息公示" + } + ], + "total": 2 + }, + "relationship": [ + "sh", + "lp" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "周某", + "orgHolderType": "自然人", + "subscriptAmt": 2000 + }, + "tax_contravention": { + "items": [ + { + "case_type": "税收异常非正常户", + "department": "国家税务总局重庆市渝中区税务局", + "id": 2745253, + "publish_time": "2023-06-15", + "taxpayer_name": "重庆****建设工程有限公司" + }, + { + "case_type": "欠税公告", + "department": "国家税务总局重庆市渝中区税务局", + "id": 2745254, + "publish_time": "2023-09-20", + "taxpayer_name": "重庆****建设工程有限公司" + }, + { + "case_type": "税收违法案件", + "department": "国家税务总局重庆市渝中区税务局", + "id": 2745255, + "publish_time": "2023-12-10", + "taxpayer_name": "重庆****建设工程有限公司" + } + ], + "total": 3 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2023-08-25", + "putDepartment": "杭州市西湖区市场监督管理局", + "putReason": "未依照《企业信息公示暂行条例》第八条规定的期限公示年度报告的", + "removeDate": "2024-03-01", + "removeDepartment": "杭州市西湖区市场监督管理局", + "removeReason": "已按期补报年度报告" + } + ], + "total": 1 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2022-09-18", + "departmentName": "杭州市****市场监督管理局", + "legalPersonName": "吴某", + "punishNumber": "杭市监罚字(2022)****号", + "reason": "生产的食品中检出超标添加剂", + "type": "罚款" + } + ], + "basicInfo": { + "apprdate": "2022-10-20", + "base": "zj", + "candate": "", + "city": "杭州市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91330100MA2******", + "district": "余杭区", + "estiblishTime": "2016-05-20", + "industry": "食品制造业", + "industry_code": "C", + "legalPersonName": "吴某", + "name": "杭州****食品有限公司", + "nic_code": "C1492", + "nic_name": "食品制造业-其他食品制造-保健食品制造", + "opscope": "食品生产;食品经营;保健食品生产;保健食品销售;货物进出口;技术进出口;食品互联网销售;食品添加剂生产;食品添加剂销售。", + "province": "浙江省", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "1500.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "330110******", + "regStatus": "存续", + "regorg": "杭州市市场监督管理局", + "revdate": "2022-10-20", + "staffList": { + "result": [ + { + "name": "吴某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + }, + { + "name": "章某", + "type": "3", + "typeJoin": [ + "总经理" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [], + "executedPerson": [], + "financing_history": { + "items": [ + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "阿里巴巴,蚂蚁集团", + "money": "2亿人民币", + "newsTitle": "杭州互联网服务获得2亿元C轮融资", + "newsUrl": "https://example.com/news5", + "pubTime": 1685577600000, + "round": "C轮", + "share": "15%", + "value": "13.3亿人民币" + }, + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "经纬中国,GGV纪源资本", + "money": "8000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1654041600000, + "round": "B轮", + "share": "20%", + "value": "4亿人民币" + }, + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "DCM中国,晨兴资本", + "money": "3000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1622505600000, + "round": "A轮", + "share": "25%", + "value": "1.2亿人民币" + }, + { + "companyName": "杭州互联网服务有限公司", + "date": null, + "investorName": "真格基金", + "money": "800万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1590969600000, + "round": "天使轮", + "share": "18%", + "value": "4444万人民币" + } + ], + "total": 4 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "云计算", + "amount": null, + "base": "hz", + "business_scope": "互联网信息服务;第二类增值电信业务;软件开发;信息系统集成服务;信息技术咨询服务;数据处理和存储支持服务;人工智能应用软件开发;区块链技术相关软件和服务;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "软件和信息技术服务业", + "creditCode": "91330108MA01N5O6P7", + "estiblishTime": 1635696000000, + "id": 48901234, + "legalPersonId": 2289012345, + "legalPersonName": "马云飞", + "logo": "https://img5.tianyancha.com/logo/lll/example14.png@!f_200x200", + "name": "杭州云计算服务有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 7890, + "percent": "50%", + "personType": 1, + "regCapital": "3000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "游戏娱乐", + "amount": null, + "base": "hz", + "business_scope": "网络游戏服务;互联网信息服务;软件开发;动漫游戏开发;数字内容制作服务;广告设计、代理;广告制作;文艺创作;组织文化艺术交流活动;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "软件和信息技术服务业", + "creditCode": "91330108MA01O6P7Q8", + "estiblishTime": 1651363200000, + "id": 49012345, + "legalPersonId": 2290123456, + "legalPersonName": "许晓明", + "logo": "https://img5.tianyancha.com/logo/lll/example15.png@!f_200x200", + "name": "杭州游戏娱乐科技有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 6789, + "percent": "40%", + "personType": 1, + "regCapital": "2500万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 3 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2022)浙01行初****号", + "c_dsrxx": [ + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "杭州市****市场监督管理局", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告杭州****食品有限公司,住所地杭州市余杭区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人杨某,浙江****律师事务所律师。被告杭州市****市场监督管理局,住所地杭州市拱墅区****路x号。负责人刘某,局长。委托代理人郭某,该局工作人员。", + "c_gkws_pjjg": "驳回原告杭州****食品有限公司的诉讼请求。案件受理费100元,由原告杭州****食品有限公司负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于浙江省高级人民法院。", + "c_id": "j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2", + "c_ssdy": "浙江省", + "d_jarq": "2022-12-15", + "d_larq": "2022-10-20", + "n_ajbs": "g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 4567890123, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,工商行政管理,食品药品监督管理", + "n_jafs": "判决", + "n_jbfy": "杭州市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "浙江省(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2022(1)" + } + }, + "bankrupt": { + "cases": [], + "count": { + "area_stat": "浙江省(0)", + "count_total": 0 + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2022)浙01行初****号", + "case_type": 400, + "n_ajbs": "g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9", + "stage_type": 1 + } + ], + "bankrupt": [], + "civil": [ + { + "c_ah": "(2023)浙0110民初****号", + "case_type": 300, + "n_ajbs": "h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0", + "stage_type": 1 + }, + { + "c_ah": "(2022)浙0110民初****号", + "case_type": 300, + "n_ajbs": "i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1", + "stage_type": 1 + }, + { + "c_ah": "(2023)浙01民终****号", + "case_type": 300, + "n_ajbs": "j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2", + "stage_type": 2 + } + ], + "criminal": [ + { + "c_ah": "(2023)浙01刑初****号", + "case_type": 200, + "n_ajbs": "k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3", + "stage_type": 1 + } + ], + "implement": [ + { + "c_ah": "(2023)浙0110执****号", + "case_type": 500, + "n_ajbs": "l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4", + "stage_type": 1 + } + ], + "preservation": [ + { + "c_ah": "(2023)浙0110财保****号", + "case_type": 700, + "n_ajbs": "m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5", + "stage_type": 1 + } + ] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)浙0110民初****号", + "c_dsrxx": [ + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "王某", + "n_dsrlx": "自然人", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告王某,男,1985年7月15日生,汉族,住杭州市西湖区****小区x号楼x号。委托代理人徐某,浙江****律师事务所律师。被告杭州****食品有限公司,住所地杭州市余杭区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人沈某,浙江****律师事务所律师。", + "c_gkws_pjjg": "一、被告杭州****食品有限公司于本判决生效之日起十日内向原告王某支付产品质量损害赔偿金200000元;二、被告杭州****食品有限公司于本判决生效之日起十日内向原告王某支付精神损害抚慰金50000元;三、驳回原告王某的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费8500元,由原告王某负担3500元,被告杭州****食品有限公司负担5000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于杭州市中级人民法院。", + "c_id": "k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3", + "c_ssdy": "浙江省", + "d_jarq": "2023-04-15", + "d_larq": "2023-02-20", + "n_ajbs": "h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 5678901234, + "n_jaay": "产品责任纠纷", + "n_jaay_tree": "侵权责任纠纷,产品责任纠纷", + "n_jafs": "判决", + "n_jbfy": "杭州市余杭区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "产品责任纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 350000, + "n_qsbdje_level": 18, + "n_slcx": "一审", + "n_ssdw": "被告" + }, + { + "c_ah": "(2022)浙0110民初****号", + "c_dsrxx": [ + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "杭州****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告杭州****食品有限公司,住所地杭州市余杭区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人沈某,浙江****律师事务所律师。被告杭州****贸易有限公司,住所地杭州市江干区****路x号。法定代表人赵某,董事长。委托代理人陆某,浙江****律师事务所律师。", + "c_gkws_pjjg": "一、被告杭州****贸易有限公司于本判决生效之日起十日内向原告杭州****食品有限公司支付货款450000元及违约金67500元;二、驳回原告杭州****食品有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费9175元,由原告杭州****食品有限公司负担2175元,被告杭州****贸易有限公司负担7000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于杭州市中级人民法院。", + "c_id": "l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4", + "c_ssdy": "浙江省", + "d_jarq": "2022-11-25", + "d_larq": "2022-09-20", + "n_ajbs": "i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 6789012345, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,买卖合同纠纷", + "n_jafs": "判决", + "n_jbfy": "杭州市余杭区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 550000, + "n_qsbdje_level": 19, + "n_slcx": "一审", + "n_ssdw": "原告" + }, + { + "c_ah": "(2023)浙01民终****号", + "c_dsrxx": [ + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "上诉人" + }, + { + "c_mc": "王某", + "n_dsrlx": "自然人", + "n_ssdw": "被上诉人" + } + ], + "c_gkws_dsr": "上诉人(原审被告)杭州****食品有限公司,住所地杭州市余杭区****路x号。法定代表人吴某,执行董事兼总经理。委托代理人沈某,浙江****律师事务所律师。被上诉人(原审原告)王某,男,1985年7月15日生,汉族,住杭州市西湖区****小区x号楼x号。委托代理人徐某,浙江****律师事务所律师。", + "c_gkws_pjjg": "驳回上诉,维持原判。二审案件受理费8500元,由上诉人杭州****食品有限公司负担。本判决为终审判决。", + "c_id": "m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5", + "c_ssdy": "浙江省", + "d_jarq": "2023-06-10", + "d_larq": "2023-05-15", + "n_ajbs": "j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2", + "n_ajjzjd": "已结案", + "n_ajlx": "民事二审", + "n_crc": 7890123456, + "n_jaay": "产品责任纠纷", + "n_jaay_tree": "侵权责任纠纷,产品责任纠纷", + "n_jafs": "维持", + "n_jbfy": "杭州市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "产品责任纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 350000, + "n_qsbdje_level": 18, + "n_slcx": "二审", + "n_ssdw": "上诉人" + } + ], + "count": { + "area_stat": "浙江省(3)", + "ay_stat": "产品责任纠纷(2),合同、准合同纠纷(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 3, + "count_total": 3, + "jafs_stat": "判决(2),维持(1)", + "larq_stat": "2022(1),2023(2)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + } + }, + "count": { + "area_stat": "浙江省(7)", + "ay_stat": "产品责任纠纷(2),合同、准合同纠纷(1),行政管理(1),生产、销售有毒、有害食品罪(1),执行案件(1),财产保全(1)", + "count_beigao": 2, + "count_jie_beigao": 2, + "count_jie_total": 7, + "count_total": 7, + "jafs_stat": "判决(3),维持(1),有期徒刑(1),执行(1),裁定(1)", + "larq_stat": "2022(2),2023(5)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + }, + "crc": 3456789012, + "criminal": { + "cases": [ + { + "c_ah": "(2023)浙01刑初****号", + "c_dsrxx": [ + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告单位" + }, + { + "c_mc": "吴某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + }, + { + "c_mc": "章某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关杭州市****区人民检察院。被告单位杭州****食品有限公司,住所地杭州市余杭区****路x号。被告人吴某,男,1972年9月20日生,汉族,浙江省人,大学文化,系杭州****食品有限公司法定代表人。因涉嫌犯生产、销售有毒、有害食品罪,于2023年3月10日被杭州市公安局刑事拘留,同年4月15日被逮捕,现羁押于杭州市第一看守所。辩护人梁某,浙江****律师事务所律师。被告人章某,男,1975年11月5日生,汉族,浙江省人,大学文化,系杭州****食品有限公司总经理。因涉嫌犯生产、销售有毒、有害食品罪,于2023年3月10日被杭州市公安局刑事拘留,同年4月15日被逮捕,现羁押于杭州市第一看守所。辩护人张某,浙江****律师事务所律师。", + "c_gkws_pjjg": "一、被告单位杭州****食品有限公司犯生产、销售有毒、有害食品罪,处罚金人民币二百万元;二、被告人吴某犯生产、销售有毒、有害食品罪,判处有期徒刑五年,并处罚金人民币二十万元;三、被告人章某犯生产、销售有毒、有害食品罪,判处有期徒刑四年,并处罚金人民币十五万元。如不服本判决,可在接到判决书的第二日起十日内,通过本院或者直接向浙江省高级人民法院提出上诉。被告人如果提出上诉,可以委托辩护人提出上诉状。", + "c_id": "n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6", + "c_ssdy": "浙江省", + "d_jarq": "2023-07-20", + "d_larq": "2023-05-25", + "n_ajbs": "k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_crc": 8901234567, + "n_jaay": "生产、销售有毒、有害食品罪", + "n_jaay_tree": "危害公共安全罪,危害公共安全罪,生产、销售有毒、有害食品罪", + "n_jafs": "有期徒刑", + "n_jbfy": "杭州市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "生产、销售有毒、有害食品罪", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "被告单位" + } + ], + "count": { + "area_stat": "浙江省(1)", + "ay_stat": "生产、销售有毒、有害食品罪(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "有期徒刑(1)", + "larq_stat": "2023(1)", + "money_beigao": 0, + "money_jie_beigao": 0, + "money_jie_total": 0, + "money_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2023)浙0110执****号", + "c_dsrxx": [ + { + "c_mc": "王某", + "n_dsrlx": "自然人", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人王某,男,1985年7月15日生,汉族,住杭州市西湖区****小区x号楼x号。委托代理人徐某,浙江****律师事务所律师。被执行人杭州****食品有限公司,住所地杭州市余杭区****路x号。法定代表人吴某,执行董事兼总经理。", + "c_gkws_pjjg": "一、被执行人杭州****食品有限公司应向申请执行人王某支付产品质量损害赔偿金200000元、精神损害抚慰金50000元及迟延履行期间的利息;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7", + "c_ssdy": "浙江省", + "d_jarq": "2023-06-25", + "d_larq": "2023-06-15", + "n_ajbs": "l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 9012345678, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "杭州市余杭区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "浙江省(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [ + { + "c_ah": "(2023)浙0110财保****号", + "c_dsrxx": [ + { + "c_mc": "王某", + "n_dsrlx": "自然人", + "n_ssdw": "申请人" + }, + { + "c_mc": "杭州****食品有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被申请人" + } + ], + "c_gkws_dsr": "申请人王某,男,1985年7月15日生,汉族,住杭州市西湖区****小区x号楼x号。委托代理人徐某,浙江****律师事务所律师。被申请人杭州****食品有限公司,住所地杭州市余杭区****路x号。法定代表人吴某,执行董事兼总经理。", + "c_gkws_pjjg": "冻结被申请人杭州****食品有限公司名下银行账户(账号:****)中的存款350000元,冻结期限为一年。", + "c_id": "p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8", + "c_ssdy": "浙江省", + "d_jarq": "2023-02-15", + "d_larq": "2023-02-10", + "n_ajbs": "m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5", + "n_ajjzjd": "已结案", + "n_ajlx": "财产保全", + "n_crc": 1234567890, + "n_jaay": "财产保全", + "n_jaay_tree": "财产保全,诉前财产保全", + "n_jafs": "裁定", + "n_jbfy": "杭州市余杭区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "财产保全", + "n_slcx": "保全", + "n_ssdw": "被申请人" + } + ], + "count": { + "area_stat": "浙江省(1)", + "count_total": 1 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [] + } + } + }, + "orgName": "杭州****食品有限公司", + "own_tax": { + "items": [ + { + "department": "西湖区税务局", + "legalpersonName": "孙某", + "location": "杭州市西湖区文三路", + "name": "杭州****食品有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "345.60", + "ownTaxBalance": "345.60", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-03-10", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91330100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "西湖区税务局", + "legalpersonName": "孙某", + "location": "杭州市西湖区文三路", + "name": "杭州****食品有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "178.90", + "ownTaxBalance": "178.90", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-06-25", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91330100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "西湖区税务局", + "legalpersonName": "孙某", + "location": "杭州市西湖区文三路", + "name": "杭州****食品有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "267.40", + "ownTaxBalance": "267.40", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-09-18", + "regType": "有限责任公司", + "taxCategory": "增值税", + "taxIdNumber": "91330100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "西湖区税务局", + "legalpersonName": "孙某", + "location": "杭州市西湖区文三路", + "name": "杭州****食品有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "89.70", + "ownTaxBalance": "89.70", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-12-03", + "regType": "有限责任公司", + "taxCategory": "教育费附加", + "taxIdNumber": "91330100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + } + ], + "total": 4 + }, + "pName": "吴某", + "punishment_info": { + "items": [ + { + "content": "责令整改并加强用户信息保护,处罚款人民币8万元", + "decisionDate": "2023-06-30", + "departmentName": "杭州市网信办", + "evidence": "用户投诉个人信息泄露", + "legalPersonName": "刘刚", + "pecuniary": "80000", + "punishName": "杭州互联网服务有限公司", + "punishNumber": "杭网信罚〔2023〕第0702号", + "punishStatus": "已执行", + "reason": "违反《网络安全法》,用户个人信息保护不当", + "remark": "", + "source": "网信办", + "type": "信息安全", + "typeSecond": "信息泄露" + }, + { + "content": "责令完善商家信息公示,并处罚款人民币4万元", + "decisionDate": "2023-10-18", + "departmentName": "杭州市市场监督管理局", + "evidence": "平台商家资质信息缺失", + "legalPersonName": "刘刚", + "pecuniary": "40000", + "punishName": "杭州互联网服务有限公司", + "punishNumber": "杭市监罚〔2023〕第1020号", + "punishStatus": "已执行", + "reason": "违反《电子商务法》,平台内经营者信息公示不完整", + "remark": "", + "source": "市场监督管理局", + "type": "电商违法", + "typeSecond": "信息公示" + } + ], + "total": 2 + }, + "relationship": [ + "sh", + "lp", + "tm" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "吴某", + "orgHolderType": "自然人", + "subscriptAmt": 1500 + }, + "tax_contravention": { + "items": [ + { + "case_type": "税收异常非正常户", + "department": "国家税务总局杭州市西湖区税务局", + "id": 2745256, + "publish_time": "2023-05-12", + "taxpayer_name": "杭州****食品有限公司" + }, + { + "case_type": "欠税公告", + "department": "国家税务总局杭州市西湖区税务局", + "id": 2745257, + "publish_time": "2023-11-28", + "taxpayer_name": "杭州****食品有限公司" + } + ], + "total": 2 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2024-04-12", + "putDepartment": "成都市高新区市场监督管理局", + "putReason": "通过登记的住所或者经营场所无法联系的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + }, + { + "putDate": "2023-11-08", + "putDepartment": "成都市高新区市场监督管理局", + "putReason": "未按规定期限公示即时信息的", + "removeDate": "2024-02-20", + "removeDepartment": "成都市高新区市场监督管理局", + "removeReason": "已完成信息更新" + }, + { + "putDate": "2024-01-15", + "putDepartment": "成都市高新区市场监督管理局", + "putReason": "未依照《企业信息公示暂行条例》第八条规定的期限公示年度报告的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + } + ], + "total": 3 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2022-11-10", + "departmentName": "成都市****教育局", + "legalPersonName": "刘某", + "punishNumber": "成教罚字(2022)****号", + "reason": "未经批准增设培训项目", + "type": "罚款" + } + ], + "basicInfo": { + "apprdate": "2022-12-15", + "base": "sc", + "candate": "", + "city": "成都市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91510100MA6******", + "district": "武侯区", + "estiblishTime": "2017-03-18", + "industry": "教育", + "industry_code": "P", + "legalPersonName": "刘某", + "name": "成都****教育科技有限公司", + "nic_code": "P8294", + "nic_name": "教育-教育-教育辅助服务-教育辅助服务", + "opscope": "教育软件开发;教育咨询服务;教育辅助服务;文化艺术培训;语言培训;技能培训;网络技术服务;互联网数据服务;教育教学检测和评价活动。", + "province": "四川省", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "1000.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "510107******", + "regStatus": "存续", + "regorg": "成都市市场监督管理局", + "revdate": "2022-12-15", + "staffList": { + "result": [ + { + "name": "刘某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + }, + { + "name": "杨某", + "type": "3", + "typeJoin": [ + "总经理" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [], + "executedPerson": [], + "financing_history": { + "items": [ + { + "companyName": "成都物流运输有限公司", + "date": null, + "investorName": "顺丰投资,普洛斯", + "money": "1.5亿人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1675180800000, + "round": "B轮", + "share": "22%", + "value": "6.8亿人民币" + }, + { + "companyName": "成都物流运输有限公司", + "date": null, + "investorName": "钟鼎资本,华创资本", + "money": "5000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1643644800000, + "round": "A轮", + "share": "28%", + "value": "1.8亿人民币" + } + ], + "total": 2 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "智慧物流", + "amount": null, + "base": "cd", + "business_scope": "智慧物流技术研发;物流信息服务;供应链管理服务;仓储服务;装卸搬运服务;运输代理服务;货物运输代理;国际货物运输代理;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "软件和信息技术服务业", + "creditCode": "91510100MA01P7Q8R9", + "estiblishTime": 1667232000000, + "id": 50123456, + "legalPersonId": 2301234567, + "legalPersonName": "唐经理", + "logo": "https://img5.tianyancha.com/logo/lll/example16.png@!f_200x200", + "name": "成都智慧物流科技有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 7456, + "percent": "60%", + "personType": 1, + "regCapital": "4000万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 2 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2022)川01行初****号", + "c_dsrxx": [ + { + "c_mc": "成都****教育科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "成都市****教育局", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告成都****教育科技有限公司,住所地成都市武侯区****路x号。法定代表人刘某,执行董事兼总经理。委托代理人王某,四川****律师事务所律师。被告成都市****教育局,住所地成都市锦江区****路x号。负责人张某,局长。委托代理人周某,该局工作人员。", + "c_gkws_pjjg": "撤销被告成都市****教育局于2022年11月10日作出的成教罚字(2022)****号《行政处罚决定书》。案件受理费50元,由被告成都市****教育局负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于四川省高级人民法院。", + "c_id": "q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9", + "c_ssdy": "四川省", + "d_jarq": "2023-02-10", + "d_larq": "2022-12-15", + "n_ajbs": "n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 2345678901, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,教育行政管理,教育培训机构管理", + "n_jafs": "判决", + "n_jbfy": "成都市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "胜诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "四川省(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2022(1)" + } + }, + "bankrupt": { + "cases": [], + "count": { + "area_stat": "四川省(0)", + "count_total": 0 + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2022)川01行初****号", + "case_type": 400, + "n_ajbs": "n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6", + "stage_type": 1 + } + ], + "bankrupt": [], + "civil": [ + { + "c_ah": "(2023)川0107民初****号", + "case_type": 300, + "n_ajbs": "o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7", + "stage_type": 1 + }, + { + "c_ah": "(2022)川0107民初****号", + "case_type": 300, + "n_ajbs": "p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8", + "stage_type": 1 + }, + { + "c_ah": "(2023)川01民终****号", + "case_type": 300, + "n_ajbs": "q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9", + "stage_type": 2 + } + ], + "criminal": [], + "implement": [ + { + "c_ah": "(2022)川0107执****号", + "case_type": 500, + "n_ajbs": "r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0", + "stage_type": 1 + } + ], + "preservation": [] + }, + "civil": { + "cases": [ + { + "c_ah": "(2023)川0107民初****号", + "c_dsrxx": [ + { + "c_mc": "成都****教育科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "赵某", + "n_dsrlx": "自然人", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告赵某,男,1988年4月5日生,汉族,住成都市高新区****小区x号楼x号。委托代理人李某,四川****律师事务所律师。被告成都****教育科技有限公司,住所地成都市武侯区****路x号。法定代表人刘某,执行董事兼总经理。委托代理人陈某,四川****律师事务所律师。", + "c_gkws_pjjg": "一、被告成都****教育科技有限公司于本判决生效之日起十日内向原告赵某返还培训费用15000元;二、被告成都****教育科技有限公司于本判决生效之日起十日内向原告赵某支付违约金3000元;三、驳回原告赵某的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费400元,由原告赵某负担100元,被告成都****教育科技有限公司负担300元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于成都市中级人民法院。", + "c_id": "r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0", + "c_ssdy": "四川省", + "d_jarq": "2023-04-20", + "d_larq": "2023-03-15", + "n_ajbs": "o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 3456789012, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,教育培训合同纠纷", + "n_jafs": "判决", + "n_jbfy": "成都市武侯区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 25000, + "n_qsbdje_level": 15, + "n_slcx": "一审", + "n_ssdw": "被告" + }, + { + "c_ah": "(2022)川0107民初****号", + "c_dsrxx": [ + { + "c_mc": "成都****教育科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "钟某", + "n_dsrlx": "自然人", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告成都****教育科技有限公司,住所地成都市武侯区****路x号。法定代表人刘某,执行董事兼总经理。委托代理人陈某,四川****律师事务所律师。被告钟某,男,1982年7月12日生,汉族,住成都市青羊区****小区x号楼x号。", + "c_gkws_pjjg": "一、被告钟某于本判决生效之日起十日内向原告成都****教育科技有限公司支付教育培训费用25000元;二、驳回原告成都****教育科技有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费500元,由原告成都****教育科技有限公司负担200元,被告钟某负担300元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于成都市中级人民法院。", + "c_id": "s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1", + "c_ssdy": "四川省", + "d_jarq": "2022-11-15", + "d_larq": "2022-09-20", + "n_ajbs": "p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 4567890123, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,教育培训合同纠纷", + "n_jafs": "判决", + "n_jbfy": "成都市武侯区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 30000, + "n_qsbdje_level": 15, + "n_slcx": "一审", + "n_ssdw": "原告" + }, + { + "c_ah": "(2023)川01民终****号", + "c_dsrxx": [ + { + "c_mc": "成都****教育科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "上诉人" + }, + { + "c_mc": "赵某", + "n_dsrlx": "自然人", + "n_ssdw": "被上诉人" + } + ], + "c_gkws_dsr": "上诉人(原审被告)成都****教育科技有限公司,住所地成都市武侯区****路x号。法定代表人刘某,执行董事兼总经理。委托代理人陈某,四川****律师事务所律师。被上诉人(原审原告)赵某,男,1988年4月5日生,汉族,住成都市高新区****小区x号楼x号。委托代理人李某,四川****律师事务所律师。", + "c_gkws_pjjg": "驳回上诉,维持原判。二审案件受理费400元,由上诉人成都****教育科技有限公司负担。本判决为终审判决。", + "c_id": "t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2", + "c_ssdy": "四川省", + "d_jarq": "2023-06-15", + "d_larq": "2023-05-20", + "n_ajbs": "q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9", + "n_ajjzjd": "已结案", + "n_ajlx": "民事二审", + "n_crc": 5678901234, + "n_jaay": "合同、准合同纠纷", + "n_jaay_tree": "合同、准合同纠纷,合同纠纷,教育培训合同纠纷", + "n_jafs": "维持", + "n_jbfy": "成都市中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、准合同纠纷", + "n_pj_victory": "败诉", + "n_qsbdje": 25000, + "n_qsbdje_level": 15, + "n_slcx": "二审", + "n_ssdw": "上诉人" + } + ], + "count": { + "area_stat": "四川省(3)", + "ay_stat": "合同、准合同纠纷(3)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 3, + "count_total": 3, + "jafs_stat": "判决(2),维持(1)", + "larq_stat": "2022(1),2023(2)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + } + }, + "count": { + "area_stat": "四川省(5)", + "ay_stat": "合同、准合同纠纷(3),行政管理(1),执行案件(1)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 5, + "count_total": 5, + "jafs_stat": "判决(3),维持(1),执行(1)", + "larq_stat": "2022(2),2023(3)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + }, + "crc": 1234567890, + "criminal": { + "cases": [], + "count": { + "area_stat": "四川省(0)", + "count_total": 0 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2022)川0107执****号", + "c_dsrxx": [ + { + "c_mc": "成都****教育科技有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请执行人" + }, + { + "c_mc": "钟某", + "n_dsrlx": "自然人", + "n_ssdw": "被执行人" + } + ], + "c_gkws_dsr": "申请执行人成都****教育科技有限公司,住所地成都市武侯区****路x号。法定代表人刘某,执行董事兼总经理。委托代理人陈某,四川****律师事务所律师。被执行人钟某,男,1982年7月12日生,汉族,住成都市青羊区****小区x号楼x号。", + "c_gkws_pjjg": "一、被执行人钟某应向申请执行人成都****教育科技有限公司支付教育培训费用25000元及迟延履行期间的利息;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3", + "c_ssdy": "四川省", + "d_jarq": "2022-12-10", + "d_larq": "2022-11-20", + "n_ajbs": "r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 6789012345, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "成都市武侯区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "申请执行人" + } + ], + "count": { + "area_stat": "四川省(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [], + "count": { + "area_stat": "四川省(0)", + "count_total": 0 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [] + } + } + }, + "orgName": "成都****教育科技有限公司", + "own_tax": { + "items": [ + { + "department": "高新区税务局", + "legalpersonName": "郑某", + "location": "成都市高新区天府大道", + "name": "成都****教育科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "567.30", + "ownTaxBalance": "567.30", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-05-15", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91510100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "高新区税务局", + "legalpersonName": "郑某", + "location": "成都市高新区天府大道", + "name": "成都****教育科技有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "234.80", + "ownTaxBalance": "234.80", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-08-20", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91510100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + } + ], + "total": 2 + }, + "pName": "刘某", + "punishment_info": { + "items": [ + { + "content": "责令卸载超载货物,并处罚款人民币2万元", + "decisionDate": "2023-04-25", + "departmentName": "成都市交通运输局", + "evidence": "路政检查发现车辆超载", + "legalPersonName": "赵军", + "pecuniary": "20000", + "punishName": "成都物流运输有限公司", + "punishNumber": "蓉交罚〔2023〕第0427号", + "punishStatus": "已执行", + "reason": "违反《道路运输条例》,超载运输", + "remark": "", + "source": "交通运输局", + "type": "运输违法", + "typeSecond": "超载运输" + }, + { + "content": "责令维修车辆达到排放标准,并处罚款人民币1.5万元", + "decisionDate": "2023-08-12", + "departmentName": "成都市环保局", + "evidence": "环保检测尾气排放不达标", + "legalPersonName": "赵军", + "pecuniary": "15000", + "punishName": "成都物流运输有限公司", + "punishNumber": "蓉环罚〔2023〕第0815号", + "punishStatus": "已执行", + "reason": "违反《大气污染防治法》,车辆尾气排放超标", + "remark": "", + "source": "环保局", + "type": "环境违法", + "typeSecond": "尾气超标" + }, + { + "content": "责令停业整顿,并处罚款人民币10万元", + "decisionDate": "2024-01-08", + "departmentName": "成都市应急管理局", + "evidence": "安全检查发现危险品运输违规", + "legalPersonName": "赵军", + "pecuniary": "100000", + "punishName": "成都物流运输有限公司", + "punishNumber": "蓉应急罚〔2024〕第0110号", + "punishStatus": "已执行", + "reason": "违反《安全生产法》,危险品运输安全措施不到位", + "remark": "", + "source": "应急管理局", + "type": "安全生产", + "typeSecond": "危险品运输" + } + ], + "total": 3 + }, + "relationship": [ + "sh", + "lp", + "tm" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "刘某", + "orgHolderType": "自然人", + "subscriptAmt": 1000 + }, + "tax_contravention": { + "items": [], + "total": 0 + } + }, + { + "abnormal_info": { + "items": [ + { + "putDate": "2023-06-20", + "putDepartment": "武汉市洪山区市场监督管理局", + "putReason": "未按规定期限公示股权变更信息的", + "removeDate": "2023-12-05", + "removeDepartment": "武汉市洪山区市场监督管理局", + "removeReason": "已公示股权变更信息" + }, + { + "putDate": "2024-05-08", + "putDepartment": "武汉市洪山区市场监督管理局", + "putReason": "通过登记的住所或者经营场所无法联系的", + "removeDate": "", + "removeDepartment": "", + "removeReason": "" + } + ], + "total": 2 + }, + "adminPenalty": [ + { + "content": "", + "decisionDate": "2022-05-18", + "departmentName": "天津市****交通委员会", + "legalPersonName": "吴某", + "punishNumber": "津交罚字(2022)****号", + "reason": "超限运输违规", + "type": "罚款" + }, + { + "content": "", + "decisionDate": "2021-09-05", + "departmentName": "天津市****税务局", + "legalPersonName": "吴某", + "punishNumber": "津税罚字(2021)****号", + "reason": "未按期申报纳税", + "type": "罚款" + } + ], + "basicInfo": { + "apprdate": "2022-08-10", + "base": "tj", + "candate": "", + "city": "天津市", + "companyOrgType": "有限责任公司(自然人投资或控股)", + "creditCode": "91120100MA7******", + "district": "东丽区", + "estiblishTime": "2015-06-25", + "industry": "交通运输、仓储和邮政业", + "industry_code": "G", + "legalPersonName": "吴某", + "name": "天津****物流有限公司", + "nic_code": "G5320", + "nic_name": "交通运输、仓储和邮政业-道路运输业-道路货物运输", + "opscope": "普通货物运输;仓储服务(危险化学品除外);物流信息咨询;供应链管理;运输代理服务;汽车租赁;货物装卸服务;货运信息咨询服务;国内货运代理;国际货运代理服务。", + "province": "天津市", + "reccap": 0, + "reccapcur": "人民币", + "regCapital": "2000.000000万人民币", + "regCapitalCurrency": "人民币", + "regNumber": "120113******", + "regStatus": "存续", + "regorg": "天津市市场监督管理局", + "revdate": "2022-08-10", + "staffList": { + "result": [ + { + "name": "吴某", + "type": "2", + "typeJoin": [ + "执行董事" + ] + }, + { + "name": "林某", + "type": "3", + "typeJoin": [ + "总经理" + ] + }, + { + "name": "石某", + "type": "4", + "typeJoin": [ + "监事" + ] + } + ] + }, + "type": "1" + }, + "dishonestExecutedPerson": [ + { + "c_ah": "(2023)津0113执****号", + "c_fymc": "天津市东丽区人民法院", + "c_wfss": "有履行能力而拒不履行生效法律文书确定义务", + "c_zxbd": "(2023)津0113执****号", + "d_fbsj": "2023-08-15", + "d_lrsj": "2023-08-10", + "n_fbrw": "1" + } + ], + "executedPerson": [ + { + "c_ah": "(2023)津0113执****号", + "c_beizhu": "全部未履行", + "c_bzxqk": "全部未履行", + "c_zxbd": "(2023)津0113执****号", + "d_lrsj": "2023-07-20", + "d_zxsj": "", + "n_bddqje": 850000 + } + ], + "financing_history": { + "items": [ + { + "companyName": "武汉教育科技有限公司", + "date": null, + "investorName": "新东方,好未来", + "money": "8000万人民币", + "newsTitle": "武汉教育科技获得8000万元B轮融资", + "newsUrl": "https://example.com/news6", + "pubTime": 1683648000000, + "round": "B轮", + "share": "18%", + "value": "4.4亿人民币" + }, + { + "companyName": "武汉教育科技有限公司", + "date": null, + "investorName": "立思辰,拓维信息", + "money": "3000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1652112000000, + "round": "A轮", + "share": "25%", + "value": "1.2亿人民币" + }, + { + "companyName": "武汉教育科技有限公司", + "date": null, + "investorName": "华中科技大学基金", + "money": "1000万人民币", + "newsTitle": "", + "newsUrl": "", + "pubTime": 1620576000000, + "round": "天使轮", + "share": "15%", + "value": "6667万人民币" + } + ], + "total": 3 + }, + "fsource": "1", + "invest_history": { + "items": [ + { + "alias": "在线教育", + "amount": null, + "base": "wh", + "business_scope": "在线教育软件开发;教育咨询服务;职业技能培训;计算机技术培训;软件开发;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;文化艺术交流活动组织;会议及展览服务。", + "category": "软件和信息技术服务业", + "creditCode": "91420100MA01Q8R9S0", + "estiblishTime": 1640995200000, + "id": 51234567, + "legalPersonId": 2312345678, + "legalPersonName": "教授王", + "logo": "https://img5.tianyancha.com/logo/lll/example17.png@!f_200x200", + "name": "武汉在线教育平台有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 6234, + "percent": "35%", + "personType": 1, + "regCapital": "2000万人民币", + "regStatus": "存续", + "withdrawalTime": null + }, + { + "alias": "智能教育", + "amount": null, + "base": "wh", + "business_scope": "教育软件开发;人工智能在教育领域的应用;虚拟现实软件开发;增强现实软件开发;教学设备制造;教学设备销售;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广。", + "category": "软件和信息技术服务业", + "creditCode": "91420100MA01R9S0T1", + "estiblishTime": 1656633600000, + "id": 52345678, + "legalPersonId": 2323456789, + "legalPersonName": "刘教授", + "logo": "https://img5.tianyancha.com/logo/lll/example18.png@!f_200x200", + "name": "武汉智能教育装备有限公司", + "orgType": "有限责任公司(自然人投资或控股)", + "pencertileScore": 5678, + "percent": "45%", + "personType": 1, + "regCapital": "1500万人民币", + "regStatus": "存续", + "withdrawalTime": null + } + ], + "total": 3 + }, + "lawsuitInfo": { + "entout": { + "data": { + "administrative": { + "cases": [ + { + "c_ah": "(2022)津01行初****号", + "c_dsrxx": [ + { + "c_mc": "天津****物流有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "天津市****交通委员会", + "n_dsrlx": "机关团体", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告天津****物流有限公司,住所地天津市东丽区****大道x号。法定代表人吴某,执行董事兼总经理。委托代理人王某,天津****律师事务所律师。被告天津市****交通委员会,住所地天津市和平区****路x号。负责人陈某,主任。委托代理人马某,该委员会工作人员。", + "c_gkws_pjjg": "驳回原告天津****物流有限公司的诉讼请求。案件受理费50元,由原告天津****物流有限公司负担。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于天津市高级人民法院。", + "c_id": "v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4", + "c_ssdy": "天津市", + "d_jarq": "2022-07-25", + "d_larq": "2022-06-10", + "n_ajbs": "s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1", + "n_ajjzjd": "已结案", + "n_ajlx": "行政一审", + "n_crc": 7890123456, + "n_jaay": "行政管理", + "n_jaay_tree": "行政管理,道路交通管理,道路运输管理", + "n_jafs": "判决", + "n_jbfy": "天津市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "行政管理", + "n_pj_victory": "败诉", + "n_slcx": "一审", + "n_ssdw": "原告" + } + ], + "count": { + "area_stat": "天津市(1)", + "ay_stat": "行政管理(1)", + "count_beigao": 0, + "count_jie_beigao": 0, + "count_jie_total": 1, + "count_total": 1, + "jafs_stat": "判决(1)", + "larq_stat": "2022(1)" + } + }, + "bankrupt": { + "cases": [], + "count": { + "area_stat": "天津市(0)", + "count_total": 0 + } + }, + "cases_tree": { + "administrative": [ + { + "c_ah": "(2022)津01行初****号", + "case_type": 400, + "n_ajbs": "s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1", + "stage_type": 1 + } + ], + "bankrupt": [], + "civil": [ + { + "c_ah": "(2022)津0113民初****号", + "case_type": 300, + "n_ajbs": "t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2", + "stage_type": 1 + }, + { + "c_ah": "(2023)津0113民初****号", + "case_type": 300, + "n_ajbs": "u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3", + "stage_type": 1 + }, + { + "c_ah": "(2023)津01民终****号", + "case_type": 300, + "n_ajbs": "v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4", + "stage_type": 2 + } + ], + "criminal": [ + { + "c_ah": "(2023)津0113刑初****号", + "case_type": 200, + "n_ajbs": "w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5", + "stage_type": 1 + } + ], + "implement": [ + { + "c_ah": "(2023)津0113执****号", + "case_type": 500, + "n_ajbs": "x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6", + "stage_type": 1 + } + ], + "preservation": [] + }, + "civil": { + "cases": [ + { + "c_ah": "(2022)津0113民初****号", + "c_dsrxx": [ + { + "c_mc": "天津****物流有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + }, + { + "c_mc": "北京****贸易有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + } + ], + "c_gkws_dsr": "原告北京****贸易有限公司,住所地北京市朝阳区****路x号。法定代表人张某,总经理。委托代理人赵某,北京****律师事务所律师。被告天津****物流有限公司,住所地天津市东丽区****大道x号。法定代表人吴某,执行董事兼总经理。委托代理人郑某,天津****律师事务所律师。", + "c_gkws_pjjg": "一、被告天津****物流有限公司于本判决生效之日起十日内向原告北京****贸易有限公司支付货物损失赔偿金200000元及运费80000元;二、驳回原告北京****贸易有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费12800元,由原告北京****贸易有限公司负担3800元,被告天津****物流有限公司负担9000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于天津市第一中级人民法院。", + "c_id": "w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5", + "c_ssdy": "天津市", + "d_jarq": "2022-11-15", + "d_larq": "2022-09-05", + "n_ajbs": "t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 8901234567, + "n_jaay": "合同、无因管理、不当得利", + "n_jaay_tree": "合同、无因管理、不当得利,合同纠纷,运输合同纠纷", + "n_jafs": "判决", + "n_jbfy": "天津市东丽区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、无因管理、不当得利", + "n_pj_victory": "败诉", + "n_qsbdje": 350000, + "n_qsbdje_level": 16, + "n_slcx": "一审", + "n_ssdw": "被告" + }, + { + "c_ah": "(2023)津0113民初****号", + "c_dsrxx": [ + { + "c_mc": "天津****物流有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "原告" + }, + { + "c_mc": "河北****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被告" + } + ], + "c_gkws_dsr": "原告天津****物流有限公司,住所地天津市东丽区****大道x号。法定代表人吴某,执行董事兼总经理。委托代理人郑某,天津****律师事务所律师。被告河北****制造有限公司,住所地河北省石家庄市****区x号。法定代表人李某,董事长。委托代理人孙某,河北****律师事务所律师。", + "c_gkws_pjjg": "一、被告河北****制造有限公司于本判决生效之日起十日内向原告天津****物流有限公司支付运输服务费850000元;二、驳回原告天津****物流有限公司的其他诉讼请求。如果未按本判决指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百六十条规定,加倍支付迟延履行期间的债务利息。案件受理费14900元,由原告天津****物流有限公司负担3900元,被告河北****制造有限公司负担11000元。如不服本判决,可在判决书送达之日起十五日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于天津市第一中级人民法院。", + "c_id": "x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6", + "c_ssdy": "天津市", + "d_jarq": "2023-05-25", + "d_larq": "2023-03-15", + "n_ajbs": "u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3", + "n_ajjzjd": "已结案", + "n_ajlx": "民事一审", + "n_crc": 9012345678, + "n_jaay": "合同、无因管理、不当得利", + "n_jaay_tree": "合同、无因管理、不当得利,合同纠纷,运输合同纠纷", + "n_jafs": "判决", + "n_jbfy": "天津市东丽区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "合同、无因管理、不当得利", + "n_pj_victory": "部分胜诉", + "n_qsbdje": 950000, + "n_qsbdje_level": 16, + "n_slcx": "一审", + "n_ssdw": "原告" + }, + { + "c_ah": "(2023)津01民终****号", + "c_dsrxx": [ + { + "c_mc": "天津****物流有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被上诉人" + }, + { + "c_mc": "河北****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "上诉人" + } + ], + "c_gkws_dsr": "上诉人(原审被告)河北****制造有限公司,住所地河北省石家庄市****区x号。法定代表人李某,董事长。委托代理人孙某,河北****律师事务所律师。被上诉人(原审原告)天津****物流有限公司,住所地天津市东丽区****大道x号。法定代表人吴某,执行董事兼总经理。委托代理人郑某,天津****律师事务所律师。", + "c_gkws_pjjg": "驳回上诉,维持原判。二审案件受理费14900元,由上诉人河北****制造有限公司负担。本判决为终审判决。", + "c_id": "y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7", + "c_ssdy": "天津市", + "d_jarq": "2023-07-10", + "d_larq": "2023-06-15", + "n_ajbs": "v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4", + "n_ajjzjd": "已结案", + "n_ajlx": "民事二审", + "n_crc": 123456789, + "n_jaay": "合同、无因管理、不当得利", + "n_jaay_tree": "合同、无因管理、不当得利,合同纠纷,运输合同纠纷", + "n_jafs": "维持", + "n_jbfy": "天津市第一中级人民法院", + "n_jbfy_cj": "中级人民法院", + "n_laay": "合同、无因管理、不当得利", + "n_pj_victory": "胜诉", + "n_qsbdje": 950000, + "n_qsbdje_level": 16, + "n_slcx": "二审", + "n_ssdw": "被上诉人" + } + ], + "count": { + "area_stat": "天津市(3)", + "ay_stat": "合同、无因管理、不当得利(3)", + "count_beigao": 1, + "count_jie_beigao": 1, + "count_jie_total": 3, + "count_total": 3, + "jafs_stat": "判决(2),维持(1)", + "larq_stat": "2022(1),2023(2)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + } + }, + "count": { + "area_stat": "天津市(6)", + "ay_stat": "刑事犯罪(1),合同、无因管理、不当得利(3),执行案件(1),行政管理(1)", + "count_beigao": 2, + "count_jie_beigao": 2, + "count_jie_total": 6, + "count_total": 6, + "jafs_stat": "判决(4),维持(1),执行(1)", + "larq_stat": "2022(2),2023(4)", + "money_beigao": 1, + "money_jie_beigao": 1, + "money_jie_total": 3, + "money_total": 3 + }, + "crc": 234567890, + "criminal": { + "cases": [ + { + "c_ah": "(2023)津0113刑初****号", + "c_dsrxx": [ + { + "c_mc": "天津****物流有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "单位犯罪" + }, + { + "c_mc": "吴某", + "n_dsrlx": "自然人", + "n_ssdw": "被告人" + } + ], + "c_gkws_dsr": "公诉机关天津市东丽区人民检察院。被告人吴某,男,1975年8月15日生,汉族,住天津市河西区****小区x号楼x号,系天津****物流有限公司法定代表人。被告单位天津****物流有限公司,住所地天津市东丽区****大道x号。法定代表人吴某,执行董事兼总经理。辩护人黄某,天津****律师事务所律师。", + "c_gkws_pjjg": "一、被告单位天津****物流有限公司犯危险驾驶罪,判处罚金人民币二十万元;二、被告人吴某犯危险驾驶罪,判处拘役三个月,缓刑六个月,并处罚金人民币五千元。如不服本判决,可在判决书送达之日起十日内向本院递交上诉状,并按对方当事人的人数提出副本,上诉于天津市第一中级人民法院。", + "c_id": "z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8", + "c_ssdy": "天津市", + "d_jarq": "2023-04-20", + "d_larq": "2023-03-10", + "n_ajbs": "w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5", + "n_ajjzjd": "已结案", + "n_ajlx": "刑事一审", + "n_crc": 345678901, + "n_jaay": "刑事犯罪", + "n_jaay_tree": "刑事犯罪,危害公共安全罪,危险驾驶罪", + "n_jafs": "判决", + "n_jbfy": "天津市东丽区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "刑事犯罪", + "n_slcx": "一审", + "n_ssdw": "单位犯罪" + } + ], + "count": { + "area_stat": "天津市(1)", + "ay_stat": "刑事犯罪(1)", + "count_total": 1 + } + }, + "implement": { + "cases": [ + { + "c_ah": "(2023)津0113执****号", + "c_dsrxx": [ + { + "c_mc": "天津****物流有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "被执行人" + }, + { + "c_mc": "河北****制造有限公司", + "n_dsrlx": "企业组织", + "n_ssdw": "申请执行人" + } + ], + "c_gkws_dsr": "申请执行人河北****制造有限公司,住所地河北省石家庄市****区x号。法定代表人李某,董事长。委托代理人孙某,河北****律师事务所律师。被执行人天津****物流有限公司,住所地天津市东丽区****大道x号。法定代表人吴某,执行董事兼总经理。", + "c_gkws_pjjg": "一、被执行人天津****物流有限公司应向申请执行人河北****制造有限公司支付运输服务费850000元及迟延履行期间的利息;二、若被执行人未按时履行上述义务,本院将依法评估、拍卖其名下的财产,所得价款优先清偿上述债务。", + "c_id": "a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9", + "c_ssdy": "天津市", + "d_jarq": "2023-07-20", + "d_larq": "2023-07-15", + "n_ajbs": "x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6", + "n_ajjzjd": "已结案", + "n_ajlx": "执行案件", + "n_crc": 456789012, + "n_jaay": "执行案件", + "n_jaay_tree": "执行案件,执行实施类", + "n_jafs": "执行", + "n_jbfy": "天津市东丽区人民法院", + "n_jbfy_cj": "基层人民法院", + "n_laay": "执行案件", + "n_slcx": "执行", + "n_ssdw": "被执行人" + } + ], + "count": { + "area_stat": "天津市(1)", + "count_total": 1 + } + }, + "preservation": { + "cases": [], + "count": { + "area_stat": "天津市(0)", + "count_total": 0 + } + } + } + }, + "sxbzxr": { + "data": { + "sxbzxr": [ + { + "c_ah": "(2023)津0113执****号", + "c_fymc": "天津市东丽区人民法院", + "c_wfss": "有履行能力而拒不履行生效法律文书确定义务", + "c_zxbd": "(2023)津0113执****号", + "d_fbsj": "2023-08-15", + "d_lrsj": "2023-08-10", + "n_fbrw": "1" + } + ] + } + }, + "xgbzxr": { + "data": { + "xgbzxr": [ + { + "c_ah": "(2023)津0113执****号", + "c_beizhu": "全部未履行", + "c_bzxqk": "全部未履行", + "c_zxbd": "(2023)津0113执****号", + "d_lrsj": "2023-07-20", + "d_zxsj": "", + "n_bddqje": 850000 + } + ] + } + } + }, + "orgName": "天津****物流有限公司", + "own_tax": { + "items": [ + { + "department": "和平区税务局", + "legalpersonName": "王某", + "location": "天津市和平区南京路", + "name": "天津****物流有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "890.20", + "ownTaxBalance": "890.20", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-01-25", + "regType": "有限责任公司", + "taxCategory": "企业所得税", + "taxIdNumber": "91120100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "和平区税务局", + "legalpersonName": "王某", + "location": "天津市和平区南京路", + "name": "天津****物流有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "445.60", + "ownTaxBalance": "445.60", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-04-18", + "regType": "有限责任公司", + "taxCategory": "城市维护建设税", + "taxIdNumber": "91120100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "和平区税务局", + "legalpersonName": "王某", + "location": "天津市和平区南京路", + "name": "天津****物流有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "678.90", + "ownTaxBalance": "678.90", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-07-12", + "regType": "有限责任公司", + "taxCategory": "增值税", + "taxIdNumber": "91120100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "和平区税务局", + "legalpersonName": "王某", + "location": "天津市和平区南京路", + "name": "天津****物流有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "123.40", + "ownTaxBalance": "123.40", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-10-05", + "regType": "有限责任公司", + "taxCategory": "教育费附加", + "taxIdNumber": "91120100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + }, + { + "department": "和平区税务局", + "legalpersonName": "王某", + "location": "天津市和平区南京路", + "name": "天津****物流有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "234.70", + "ownTaxBalance": "234.70", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2023-12-20", + "regType": "有限责任公司", + "taxCategory": "个人所得税", + "taxIdNumber": "91120100MA01******", + "taxpayerType": "一般纳税人", + "type": "国税" + }, + { + "department": "和平区税务局", + "legalpersonName": "王某", + "location": "天津市和平区南京路", + "name": "天津****物流有限公司", + "newOwnTaxBalance": "0", + "ownTaxAmount": "156.80", + "ownTaxBalance": "156.80", + "personIdName": "201|居民身份证", + "personIdNumber": "******", + "publishDate": "2024-01-15", + "regType": "有限责任公司", + "taxCategory": "地方教育附加", + "taxIdNumber": "91120100MA01******", + "taxpayerType": "一般纳税人", + "type": "地税" + } + ], + "total": 6 + }, + "pName": "吴某", + "punishment_info": { + "items": [ + { + "content": "责令停止超范围培训,并处罚款人民币5万元", + "decisionDate": "2023-09-20", + "departmentName": "武汉市教育局", + "evidence": "现场检查发现超出许可范围培训", + "legalPersonName": "孙磊", + "pecuniary": "50000", + "punishName": "武汉教育科技有限公司", + "punishNumber": "汉教罚〔2023〕第0922号", + "punishStatus": "已执行", + "reason": "违反《民办教育促进法》,超范围开展教育培训业务", + "remark": "", + "source": "教育局", + "type": "教育违法", + "typeSecond": "超范围培训" + }, + { + "content": "责令规范收费标准公示,并处罚款人民币2万元", + "decisionDate": "2024-03-15", + "departmentName": "武汉市市场监督管理局", + "evidence": "价格检查发现收费标准不透明", + "legalPersonName": "孙磊", + "pecuniary": "20000", + "punishName": "武汉教育科技有限公司", + "punishNumber": "汉市监罚〔2024〕第0318号", + "punishStatus": "已执行", + "reason": "违反《价格法》,教育培训收费未明码标价", + "remark": "", + "source": "市场监督管理局", + "type": "价格违法", + "typeSecond": "价格违法" + } + ], + "total": 2 + }, + "relationship": [ + "sh", + "lp", + "tm" + ], + "stockHolderItem": { + "investDate": "", + "investRate": "100.0%", + "orgHolderName": "吴某", + "orgHolderType": "自然人", + "subscriptAmt": 2000 + }, + "tax_contravention": { + "items": [ + { + "case_type": "税收异常非正常户", + "department": "国家税务总局天津市和平区税务局", + "id": 2745258, + "publish_time": "2023-03-08", + "taxpayer_name": "天津****物流有限公司" + }, + { + "case_type": "欠税公告", + "department": "国家税务总局天津市和平区税务局", + "id": 2745259, + "publish_time": "2023-06-22", + "taxpayer_name": "天津****物流有限公司" + }, + { + "case_type": "税收违法案件", + "department": "国家税务总局天津市和平区税务局", + "id": 2745260, + "publish_time": "2023-09-15", + "taxpayer_name": "天津****物流有限公司" + }, + { + "case_type": "税收异常非正常户", + "department": "国家税务总局天津市和平区税务局", + "id": 2745261, + "publish_time": "2023-12-28", + "taxpayer_name": "天津****物流有限公司" + } + ], + "total": 4 + } + } + ], + "total": 8 + }, + "success": true, + "timestamp": "2024-03-19 17:00:59" + } + }, + { + "feature": { + "featureName": "司南报告服务", + "sort": 7 + }, + "data": { + "apiID": "DWBG6A2C", + "data": { + "antiFraudInfo": { + "gamblerPlayer": "A", + "moneyLaundering": "A" + }, + "applicationStatistics": { + "applicationCountLast12Months": 17, + "applicationCountLast3Months": 0, + "applicationCountLast6Months": 3, + "applicationCountLastMonth": 0, + "consumptionInstallmentApplicationCount": 5, + "daysSinceLastApplication": "[60,120)", + "lastApplicationDate": "2025-06", + "onlineLoanApplicationCount": 3, + "otherApplicationCount": 4, + "totalApplicationCount": 12 + }, + "baseInfo": { + "age": 39, + "channel": "中国联通", + "idCard": "3201**198503***123", + "location": "江苏省南京市玄武区", + "name": "张*明", + "phone": "138****5678", + "phoneArea": "江苏省-南京", + "sex": "男", + "status": 1 + }, + "creditDetail": { + "avgConsumptionInstallmentCredit": "1800", + "avgOnlineLoanCredit": "0", + "maxConsumptionInstallmentCredit": "1800", + "maxOnlineLoanCredit": "0" + }, + "judiciaRiskInfos": [ + { + "caseNumber": "(2022)苏0102刑初156号", + "caseReason": "危害公共安全罪", + "caseStatus": "已结案", + "caseType": "刑事一审", + "court": "南京市玄武区人民法院", + "disposalMethod": "判决", + "disposalTime": "2022-03-15", + "executionAmount": "", + "filingTime": "2022-02-20", + "judgmentResult": "一、被告人张*明犯危险驾驶罪,判处拘役三个月,并处罚金人民币五千元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2022年3月15日起至2022年6月14日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)二、扣押在案的作案工具机动车一辆(车牌号苏A12345)依法予以没收,上缴国库。三、被告人张*明在缓刑考验期内,应当遵守法律、行政法规,服从监督;按照考察机关的规定报告自己的活动情况;遵守考察机关关于会客的规定;离开所居住的市、县或者迁居,应当报经考察机关批准。如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向江苏省南京市中级人民法院提出上诉。书面上诉的应提交上诉状正本一份,副本三份。", + "litigantType": "被告人", + "oldCaseNumber": "", + "repaidAmount": "", + "type": "涉案公告" + }, + { + "caseNumber": "(2021)苏01执1234号", + "caseReason": "合同纠纷", + "caseStatus": "执行中", + "caseType": "民事执行", + "court": "南京市中级人民法院", + "disposalMethod": "执行", + "disposalTime": "2021-09-05", + "executionAmount": "30000", + "filingTime": "2021-08-10", + "judgmentResult": "被执行人张*明应履行给付义务人民币三万元及利息(自2021年8月10日起至实际给付之日止,按年利率4.35%计算)。如被执行人未按本裁定指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条的规定,加倍支付迟延履行期间的债务利息。被执行人张*明应于本裁定送达之日起十五日内履行上述义务,逾期不履行的,本院将依法强制执行。执行过程中,本院已查封被执行人张*明名下位于南京市玄武区中山路123号房产一套,如被执行人仍不履行义务,本院将依法拍卖该房产。", + "litigantType": "被执行人", + "oldCaseNumber": "(2020)苏01民终5678号", + "repaidAmount": "15000", + "type": "执行公告" + }, + { + "caseNumber": "(2020)苏0106民初3456号", + "caseReason": "民间借贷纠纷", + "caseStatus": "已结案", + "caseType": "民事一审", + "court": "南京市鼓楼区人民法院", + "disposalMethod": "判决", + "disposalTime": "2020-07-20", + "executionAmount": "", + "filingTime": "2020-05-15", + "judgmentResult": "一、被告张*明于本判决生效之日起十日内向原告李*华支付借款本金人民币五万元及利息(自2020年1月1日起至实际给付之日止,按年利率6%计算)。二、被告张*明于本判决生效之日起十日内向原告李*华支付逾期利息(自2020年7月1日起至实际给付之日止,按年利率12%计算)。三、驳回原告的其他诉讼请求。案件受理费人民币一千二百五十元,由被告张*明负担。如不服本判决,可在收到判决书之次日起十五日内,向本院递交上诉状,并按对方当事人的人数提出副本,上诉于江苏省南京市中级人民法院。", + "litigantType": "被告", + "oldCaseNumber": "", + "repaidAmount": "", + "type": "涉案公告" + }, + { + "caseNumber": "(2020)苏01民终5678号", + "caseReason": "民间借贷纠纷", + "caseStatus": "已结案", + "caseType": "民事二审", + "court": "江苏省南京市中级人民法院", + "disposalMethod": "改判", + "disposalTime": "2020-10-15", + "executionAmount": "", + "filingTime": "2020-08-05", + "judgmentResult": "一、维持江苏省南京市鼓楼区人民法院(2020)苏0106民初3456号民事判决的第一项,即:被告张*明于本判决生效之日起十日内向原告李*华支付借款本金人民币五万元及利息(自2020年1月1日起至实际给付之日止,按年利率6%计算)。二、撤销江苏省南京市鼓楼区人民法院(2020)苏0106民初3456号民事判决的第二项,即:被告张*明于本判决生效之日起十日内向原告李*华支付逾期利息(自2020年7月1日起至实际给付之日止,按年利率12%计算)。三、上诉人(原审被告)张*明于本判决生效之日起十日内向被上诉人(原审原告)李*华支付逾期利息(自2020年7月1日起至实际给付之日止,按年利率8%计算)。四、驳回上诉人张*明的其他上诉请求。二审案件受理费人民币八百元,由上诉人张*明负担。本判决为终审判决。", + "litigantType": "上诉人", + "oldCaseNumber": "(2020)苏0106民初3456号", + "repaidAmount": "", + "type": "涉案公告" + }, + { + "caseNumber": "(2019)苏0105执9876号", + "caseReason": "买卖合同纠纷", + "caseStatus": "执行中", + "caseType": "民事执行", + "court": "南京市建邺区人民法院", + "disposalMethod": "执行", + "disposalTime": "2019-12-10", + "executionAmount": "80000", + "filingTime": "2019-11-20", + "judgmentResult": "被执行人张*明应履行给付义务人民币八万元及利息(自2019年12月1日起至实际给付之日止,按年利率4.75%计算)。如被执行人未按本裁定指定的期间履行给付金钱义务,应当依照《中华人民共和国民事诉讼法》第二百五十三条的规定,加倍支付迟延履行期间的债务利息。本院已冻结被执行人张*明在工商银行账户(账号:6222021234567890123)存款人民币五万元,冻结期限为一年。被执行人张*明应于本裁定送达之日起三十日内履行上述义务,逾期不履行的,本院将依法扣划上述存款。", + "litigantType": "被执行人", + "oldCaseNumber": "(2019)苏0105民初5432号", + "repaidAmount": "30000", + "type": "执行公告" + }, + { + "caseNumber": "(2019)苏0105民初5432号", + "caseReason": "买卖合同纠纷", + "caseStatus": "已结案", + "caseType": "民事一审", + "court": "南京市建邺区人民法院", + "disposalMethod": "判决", + "disposalTime": "2019-06-25", + "executionAmount": "", + "filingTime": "2019-05-10", + "judgmentResult": "一、被告张*明于本判决生效之日起十五日内向原告王*强支付货款人民币八万元及利息(自2019年6月1日起至实际给付之日止,按年利率4.75%计算)。二、被告张*明于本判决生效之日起十五日内向原告王*强支付违约金人民币五千元。三、驳回原告的其他诉讼请求。案件受理费人民币二千元,由被告张*明负担。如不服本判决,可在收到判决书之次日起十五日内,向本院递交上诉状,并按对方当事人的人数提出副本,上诉于江苏省南京市中级人民法院。", + "litigantType": "被告", + "oldCaseNumber": "", + "repaidAmount": "", + "type": "涉案公告" + }, + { + "caseNumber": "(2018)苏0114刑初234号", + "caseReason": "侵犯财产罪", + "caseStatus": "已结案", + "caseType": "刑事一审", + "court": "南京市雨花台区人民法院", + "disposalMethod": "判决", + "disposalTime": "2018-09-10", + "executionAmount": "", + "filingTime": "2018-08-15", + "judgmentResult": "一、被告人张*明犯诈骗罪,判处有期徒刑二年六个月,并处罚金人民币三万元。(刑期从判决执行之日起计算,判决执行以前先行羁押的,羁押一日折抵刑期一日,即自2018年9月10日起至2021年3月9日止。罚金在本判决生效后一个月内一次缴纳,期满不缴纳的,强制缴纳。)二、责令被告人张*明退赔被害人刘*军人民币六万元。三、扣押在案的作案工具手机一部、银行卡三张依法予以没收,上缴国库。四、被告人张*明在缓刑考验期内,应当遵守法律、行政法规,服从监督;按照考察机关的规定报告自己的活动情况;遵守考察机关关于会客的规定;离开所居住的市、县或者迁居,应当报经考察机关批准。如不服本判决,可在收到判决书之次日起十日内,通过本院或直接向江苏省南京市中级人民法院提出上诉。书面上诉的应提交上诉状正本一份,副本五份。", + "litigantType": "被告人", + "oldCaseNumber": "", + "repaidAmount": "", + "type": "涉案公告" + }, + { + "caseNumber": "(2018)苏01刑终456号", + "caseReason": "侵犯财产罪", + "caseStatus": "已结案", + "caseType": "刑事二审", + "court": "江苏省南京市中级人民法院", + "disposalMethod": "改判", + "disposalTime": "2018-11-20", + "executionAmount": "", + "filingTime": "2018-09-25", + "judgmentResult": "一、维持江苏省南京市雨花台区人民法院(2018)苏0114刑初234号刑事判决的第一、第二、第三项,即:被告人张*明犯诈骗罪,判处有期徒刑二年六个月,并处罚金人民币三万元;责令被告人张*明退赔被害人刘*军人民币六万元;扣押在案的作案工具手机一部、银行卡三张依法予以没收,上缴国库。二、撤销江苏省南京市雨花台区人民法院(2018)苏0114刑初234号刑事判决的第四项,即:被告人张*明在缓刑考验期内的相关规定。三、上诉人(原审被告人)张*明犯诈骗罪,判处有期徒刑二年,并处罚金人民币二万元。(刑期从判决执行之日起计算,判决执行前先行羁押的,羁押一日折抵刑期一日,即自2018年9月10日起至2020年9月9日止。罚金已缴纳。)本判决为终审判决。", + "litigantType": "上诉人", + "oldCaseNumber": "(2018)苏0114刑初234号", + "repaidAmount": "", + "type": "涉案公告" + } + ], + "lendingStatistics": { + "daysSinceLastLending": "[120,360)", + "installmentLendingInstitutionCount": 1, + "lastLendingDate": "2025-03", + "lendingAmountLast12Months": "[1000,2000)", + "lendingAmountLast24Months": "[1000,2000)", + "lendingAmountLast3Months": "0", + "lendingAmountLast6Months": "[1000,2000)", + "lendingAmountLastMonth": "0", + "lendingCountLast12Months": 1, + "lendingCountLast24Months": 1, + "lendingCountLast3Months": 0, + "lendingCountLast6Months": 1, + "lendingCountLastMonth": 0, + "onlineLendingInstitutionCount": 0, + "totalLendingInstitutionCount": 1 + }, + "overdueRecord": { + "currentOverdueCount": 0, + "currentOverdueInstitution": "-", + "lastOverdueDate": "-", + "m0PlusCountLast12Months": 0, + "m0PlusCountLast24Months": 0, + "m0PlusCountLast6Months": 0, + "m1PlusCountLast12Months": 0, + "m1PlusCountLast24Months": 0, + "m1PlusCountLast6Months": 0, + "totalAmountLast12Months": "0", + "totalAmountLast24Months": "0", + "totalAmountLast6Months": "0", + "totalOverdueAmount": "-" + }, + "performanceStatistics": { + "creditLoanDuration": 178, + "daysSinceLastPerformance": "(120,150]", + "normalRepaymentRatio": "0%", + "performanceAmountLast12Months": "[500,1000)", + "performanceAmountLast24Months": "[500,1000)", + "performanceAmountLast3Months": "0", + "performanceAmountLast6Months": "[500,1000)", + "performanceAmountLastMonth": "0", + "performanceCountLast12Months": 2, + "performanceCountLast24Months": 2, + "performanceCountLast3Months": 0, + "performanceCountLast6Months": 2, + "performanceCountLastMonth": 0, + "repaymentExceptionCountLast12Months": 3, + "repaymentExceptionCountLast24Months": 3, + "repaymentExceptionCountLast3Months": 1, + "repaymentExceptionCountLast6Months": 3, + "repaymentExceptionCountLastMonth": 0, + "serialVersionUID": 1, + "settledLoanOrderCount": 0 + }, + "rentalBehavior": { + "rentalApplicationCountLast12Months": "0/1", + "rentalApplicationCountLast12MonthsNight": "0/0", + "rentalApplicationCountLast12MonthsWeekend": "0/0", + "rentalApplicationCountLast14Days": "0/0", + "rentalApplicationCountLast14DaysNight": "0/0", + "rentalApplicationCountLast14DaysWeekend": "0/0", + "rentalApplicationCountLast1Month": "0/0", + "rentalApplicationCountLast1MonthNight": "0/0", + "rentalApplicationCountLast1MonthWeekend": "0/0", + "rentalApplicationCountLast3Days": "0/0", + "rentalApplicationCountLast3DaysNight": "0/0", + "rentalApplicationCountLast3DaysWeekend": "0/0", + "rentalApplicationCountLast3Months": "0/1", + "rentalApplicationCountLast3MonthsNight": "0/0", + "rentalApplicationCountLast3MonthsWeekend": "0/0", + "rentalApplicationCountLast6Months": "0/1", + "rentalApplicationCountLast6MonthsNight": "0/0", + "rentalApplicationCountLast6MonthsWeekend": "0/0", + "rentalApplicationCountLast7Days": "0/0", + "rentalApplicationCountLast7DaysNight": "0/0", + "rentalApplicationCountLast7DaysWeekend": "0/0", + "rentalApplicationInstitutionsLast12Months": "0/1", + "rentalApplicationInstitutionsLast12MonthsNight": "0/0", + "rentalApplicationInstitutionsLast12MonthsWeekend": "0/0", + "rentalApplicationInstitutionsLast14Days": "0/0", + "rentalApplicationInstitutionsLast14DaysNight": "0/0", + "rentalApplicationInstitutionsLast14DaysWeekend": "0/0", + "rentalApplicationInstitutionsLast1Month": "0/0", + "rentalApplicationInstitutionsLast1MonthNight": "0/0", + "rentalApplicationInstitutionsLast1MonthWeekend": "0/0", + "rentalApplicationInstitutionsLast3Days": "0/0", + "rentalApplicationInstitutionsLast3DaysNight": "0/0", + "rentalApplicationInstitutionsLast3DaysWeekend": "0/0", + "rentalApplicationInstitutionsLast3Months": "0/1", + "rentalApplicationInstitutionsLast3MonthsNight": "0/0", + "rentalApplicationInstitutionsLast3MonthsWeekend": "0/0", + "rentalApplicationInstitutionsLast6Months": "0/1", + "rentalApplicationInstitutionsLast6MonthsNight": "0/0", + "rentalApplicationInstitutionsLast6MonthsWeekend": "0/0", + "rentalApplicationInstitutionsLast7Days": "0/0", + "rentalApplicationInstitutionsLast7DaysNight": "0/0", + "rentalApplicationInstitutionsLast7DaysWeekend": "0/0" + }, + "riskList": { + "bankOverdueRecord": 0, + "courtViolator": 1, + "creditLeaseRisk": 0, + "creditOverdueRecord": 0, + "groupFraud": 0, + "highRiskArea": 1, + "identityFake": 0, + "industryBlacklist": 0, + "phoneNumberStatus": 0, + "riskPhoneNumber": 0, + "taxDebt": 0, + "vehicleLeaseViolation": 0 + }, + "riskPoint": { + "antiFraudRisk": 1, + "deductFail": 3, + "disinCasesFlag": 0, + "executionCasesFlag": 0, + "hitPreservationReview": 0, + "judicialCase": 0, + "judicialRisk": 1, + "legalCasesFlag": 1, + "limitCasesFlag": 0, + "multiQuery": 0, + "newRiskFeature": 1, + "riskList": 0, + "securityRisk": 1 + }, + "riskSupervision": { + "details": "无", + "leastApplicationTime": "2025-07-05", + "rentalRiskListIdCardRelationsPhones": 0, + "rentalRiskListPhoneRelationsIdCards": 0 + }, + "securityInfo": { + "drug": 0, + "escape": 0, + "front": 1, + "icase": 0, + "ikey": 0, + "itrancase": 0, + "takeDrug": 0 + }, + "standLiveInfo": { + "finalAuthResult": "0", + "inTime": "24", + "verification": "1" + } + }, + "success": true, + "timestamp": "2025-01-20 21:19:58" + } + } +] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1411d1c --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +jinja2>=3.1.2 +weasyprint>=60.0 diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..1d0e26e --- /dev/null +++ b/src/App.vue @@ -0,0 +1,8 @@ + + + + diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 0000000..bab64a4 --- /dev/null +++ b/src/assets/base.css @@ -0,0 +1,25 @@ +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} +html { + margin: auto !important; + /* @apply max-w-lg; */ + min-width: 320px; +} +body { + background-color: #f8f8f8; + min-height: 100vh; + transition: color 0.5s, background-color 0.5s; + line-height: 1.6; + font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, + Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/src/assets/colors.css b/src/assets/colors.css new file mode 100644 index 0000000..c4fab8d --- /dev/null +++ b/src/assets/colors.css @@ -0,0 +1,54 @@ +/* 统一颜色变量管理文件 */ +:root { + /* ===== 主题色系 ===== */ + --color-primary: #5d7eeb; + --color-primary-50: #f0f3ff; + --color-primary-100: #e1e8ff; + --color-primary-200: #c3d1ff; + --color-primary-300: #a5baff; + --color-primary-400: #87a3ff; + --color-primary-500: #5d7eeb; + --color-primary-600: #4a63bc; + --color-primary-700: #38488d; + --color-primary-800: #252d5e; + --color-primary-900: #13122f; + + --color-primary-light: rgba(93, 126, 235, 0.1); + --color-primary-medium: rgba(93, 126, 235, 0.15); + --color-primary-dark: rgba(93, 126, 235, 0.8); + + /* ===== 语义化颜色 ===== */ + --color-success: #07c160; + --color-warning: #ff976a; + --color-danger: #ee0a24; + --color-info: #1989fa; + + /* ===== 中性色系 ===== */ + --color-gray-50: #fafafa; + --color-gray-100: #f5f5f5; + --color-gray-200: #e5e5e5; + --color-gray-300: #d4d4d4; + --color-gray-400: #a3a3a3; + --color-gray-500: #737373; + --color-gray-600: #525252; + --color-gray-700: #404040; + --color-gray-800: #262626; + --color-gray-900: #171717; + + /* ===== 文本颜色 ===== */ + --color-text-primary: #323233; + --color-text-secondary: #646566; + --color-text-tertiary: #969799; + + /* ===== 背景颜色 ===== */ + --color-bg-primary: #ffffff; + --color-bg-secondary: #fafafa; + --color-bg-tertiary: #f8f8f8; + + /* ===== 边框颜色 ===== */ + --color-border-primary: #ebedf0; +} + +.bg-primary { + background-color: var(--color-primary) !important; +} diff --git a/src/assets/images/empty.svg b/src/assets/images/empty.svg new file mode 100644 index 0000000..fbecc14 --- /dev/null +++ b/src/assets/images/empty.svg @@ -0,0 +1,75 @@ + + 空空如也 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/public_security_record_icon.png b/src/assets/images/public_security_record_icon.png new file mode 100644 index 0000000..6fe667f Binary files /dev/null and b/src/assets/images/public_security_record_icon.png differ diff --git a/src/assets/images/report/ajgl.png b/src/assets/images/report/ajgl.png new file mode 100644 index 0000000..d8ce93d Binary files /dev/null and b/src/assets/images/report/ajgl.png differ diff --git a/src/assets/images/report/ajlxfb.png b/src/assets/images/report/ajlxfb.png new file mode 100644 index 0000000..e012d69 Binary files /dev/null and b/src/assets/images/report/ajlxfb.png differ diff --git a/src/assets/images/report/backgroundcheck_inquire_bg.png b/src/assets/images/report/backgroundcheck_inquire_bg.png new file mode 100644 index 0000000..a786bfe Binary files /dev/null and b/src/assets/images/report/backgroundcheck_inquire_bg.png differ diff --git a/src/assets/images/report/backgroundcheck_report_bg.png b/src/assets/images/report/backgroundcheck_report_bg.png new file mode 100644 index 0000000..5e5656f Binary files /dev/null and b/src/assets/images/report/backgroundcheck_report_bg.png differ diff --git a/src/assets/images/report/bysj.png b/src/assets/images/report/bysj.png new file mode 100644 index 0000000..5918eaa Binary files /dev/null and b/src/assets/images/report/bysj.png differ diff --git a/src/assets/images/report/dkxwfx.png b/src/assets/images/report/dkxwfx.png new file mode 100644 index 0000000..8ead64c Binary files /dev/null and b/src/assets/images/report/dkxwfx.png differ diff --git a/src/assets/images/report/dqfx_inquire_bg.jpg b/src/assets/images/report/dqfx_inquire_bg.jpg new file mode 100644 index 0000000..951930a Binary files /dev/null and b/src/assets/images/report/dqfx_inquire_bg.jpg differ diff --git a/src/assets/images/report/dqfx_report_bg.jpg b/src/assets/images/report/dqfx_report_bg.jpg new file mode 100644 index 0000000..6771500 Binary files /dev/null and b/src/assets/images/report/dqfx_report_bg.jpg differ diff --git a/src/assets/images/report/dwtzls.png b/src/assets/images/report/dwtzls.png new file mode 100644 index 0000000..f6e5008 Binary files /dev/null and b/src/assets/images/report/dwtzls.png differ diff --git a/src/assets/images/report/fqzgz.png b/src/assets/images/report/fqzgz.png new file mode 100644 index 0000000..52fbe22 Binary files /dev/null and b/src/assets/images/report/fqzgz.png differ diff --git a/src/assets/images/report/fqzpf.png b/src/assets/images/report/fqzpf.png new file mode 100644 index 0000000..2ef6d23 Binary files /dev/null and b/src/assets/images/report/fqzpf.png differ diff --git a/src/assets/images/report/fsbq.png b/src/assets/images/report/fsbq.png new file mode 100644 index 0000000..3a011a2 Binary files /dev/null and b/src/assets/images/report/fsbq.png differ diff --git a/src/assets/images/report/fx.png b/src/assets/images/report/fx.png new file mode 100644 index 0000000..b41d56d Binary files /dev/null and b/src/assets/images/report/fx.png differ diff --git a/src/assets/images/report/fxbs.png b/src/assets/images/report/fxbs.png new file mode 100644 index 0000000..ea0b045 Binary files /dev/null and b/src/assets/images/report/fxbs.png differ diff --git a/src/assets/images/report/fxgl.png b/src/assets/images/report/fxgl.png new file mode 100644 index 0000000..cdbc0db Binary files /dev/null and b/src/assets/images/report/fxgl.png differ diff --git a/src/assets/images/report/fxmd.png b/src/assets/images/report/fxmd.png new file mode 100644 index 0000000..ef3255d Binary files /dev/null and b/src/assets/images/report/fxmd.png differ diff --git a/src/assets/images/report/fxzbxq.png b/src/assets/images/report/fxzbxq.png new file mode 100644 index 0000000..354b12f Binary files /dev/null and b/src/assets/images/report/fxzbxq.png differ diff --git a/src/assets/images/report/fxzl.png b/src/assets/images/report/fxzl.png new file mode 100644 index 0000000..6139e37 Binary files /dev/null and b/src/assets/images/report/fxzl.png differ diff --git a/src/assets/images/report/fybgt.png b/src/assets/images/report/fybgt.png new file mode 100644 index 0000000..9460e11 Binary files /dev/null and b/src/assets/images/report/fybgt.png differ diff --git a/src/assets/images/report/gazdryhy.png b/src/assets/images/report/gazdryhy.png new file mode 100644 index 0000000..15d94e4 Binary files /dev/null and b/src/assets/images/report/gazdryhy.png differ diff --git a/src/assets/images/report/gazdryhycp.png b/src/assets/images/report/gazdryhycp.png new file mode 100644 index 0000000..2a4d02a Binary files /dev/null and b/src/assets/images/report/gazdryhycp.png differ diff --git a/src/assets/images/report/gfx.png b/src/assets/images/report/gfx.png new file mode 100644 index 0000000..ce402b1 Binary files /dev/null and b/src/assets/images/report/gfx.png differ diff --git a/src/assets/images/report/gl.png b/src/assets/images/report/gl.png new file mode 100644 index 0000000..c2f9cab Binary files /dev/null and b/src/assets/images/report/gl.png differ diff --git a/src/assets/images/report/glfxjd.png b/src/assets/images/report/glfxjd.png new file mode 100644 index 0000000..9f5d4a3 Binary files /dev/null and b/src/assets/images/report/glfxjd.png differ diff --git a/src/assets/images/report/glfxjd2.png b/src/assets/images/report/glfxjd2.png new file mode 100644 index 0000000..adb5429 Binary files /dev/null and b/src/assets/images/report/glfxjd2.png differ diff --git a/src/assets/images/report/glsfz.png b/src/assets/images/report/glsfz.png new file mode 100644 index 0000000..6852094 Binary files /dev/null and b/src/assets/images/report/glsfz.png differ diff --git a/src/assets/images/report/glsjh.png b/src/assets/images/report/glsjh.png new file mode 100644 index 0000000..ab59c59 Binary files /dev/null and b/src/assets/images/report/glsjh.png differ diff --git a/src/assets/images/report/glzdryhy2.png b/src/assets/images/report/glzdryhy2.png new file mode 100644 index 0000000..6a29b63 Binary files /dev/null and b/src/assets/images/report/glzdryhy2.png differ diff --git a/src/assets/images/report/grdsj_inquire_bg.jpg b/src/assets/images/report/grdsj_inquire_bg.jpg new file mode 100644 index 0000000..5d90eb2 Binary files /dev/null and b/src/assets/images/report/grdsj_inquire_bg.jpg differ diff --git a/src/assets/images/report/grdsj_report_bg.jpg b/src/assets/images/report/grdsj_report_bg.jpg new file mode 100644 index 0000000..197db31 Binary files /dev/null and b/src/assets/images/report/grdsj_report_bg.jpg differ diff --git a/src/assets/images/report/gsdfx.png b/src/assets/images/report/gsdfx.png new file mode 100644 index 0000000..6a59cc4 Binary files /dev/null and b/src/assets/images/report/gsdfx.png differ diff --git a/src/assets/images/report/hktj.png b/src/assets/images/report/hktj.png new file mode 100644 index 0000000..68ca536 Binary files /dev/null and b/src/assets/images/report/hktj.png differ diff --git a/src/assets/images/report/hkylfx.png b/src/assets/images/report/hkylfx.png new file mode 100644 index 0000000..095ae8a Binary files /dev/null and b/src/assets/images/report/hkylfx.png differ diff --git a/src/assets/images/report/homeservice_inquire_bg.jpg b/src/assets/images/report/homeservice_inquire_bg.jpg new file mode 100644 index 0000000..82fb69c Binary files /dev/null and b/src/assets/images/report/homeservice_inquire_bg.jpg differ diff --git a/src/assets/images/report/homeservice_report_bg.jpg b/src/assets/images/report/homeservice_report_bg.jpg new file mode 100644 index 0000000..48f861b Binary files /dev/null and b/src/assets/images/report/homeservice_report_bg.jpg differ diff --git a/src/assets/images/report/j24gyfkqk.png b/src/assets/images/report/j24gyfkqk.png new file mode 100644 index 0000000..1eab157 Binary files /dev/null and b/src/assets/images/report/j24gyfkqk.png differ diff --git a/src/assets/images/report/jdpg.png b/src/assets/images/report/jdpg.png new file mode 100644 index 0000000..e0ade16 Binary files /dev/null and b/src/assets/images/report/jdpg.png differ diff --git a/src/assets/images/report/jdpggl.png b/src/assets/images/report/jdpggl.png new file mode 100644 index 0000000..2f9455a Binary files /dev/null and b/src/assets/images/report/jdpggl.png differ diff --git a/src/assets/images/report/jgfx.png b/src/assets/images/report/jgfx.png new file mode 100644 index 0000000..55cab79 Binary files /dev/null and b/src/assets/images/report/jgfx.png differ diff --git a/src/assets/images/report/jgztxx.png b/src/assets/images/report/jgztxx.png new file mode 100644 index 0000000..d03b1e2 Binary files /dev/null and b/src/assets/images/report/jgztxx.png differ diff --git a/src/assets/images/report/jyyc.png b/src/assets/images/report/jyyc.png new file mode 100644 index 0000000..7d749e8 Binary files /dev/null and b/src/assets/images/report/jyyc.png differ diff --git a/src/assets/images/report/khlxjdbx.png b/src/assets/images/report/khlxjdbx.png new file mode 100644 index 0000000..56cbb65 Binary files /dev/null and b/src/assets/images/report/khlxjdbx.png differ diff --git a/src/assets/images/report/lsjdxw.png b/src/assets/images/report/lsjdxw.png new file mode 100644 index 0000000..b0fdd82 Binary files /dev/null and b/src/assets/images/report/lsjdxw.png differ diff --git a/src/assets/images/report/lyqk.png b/src/assets/images/report/lyqk.png new file mode 100644 index 0000000..4b2bf98 Binary files /dev/null and b/src/assets/images/report/lyqk.png differ diff --git a/src/assets/images/report/lyxxxq.png b/src/assets/images/report/lyxxxq.png new file mode 100644 index 0000000..38c797c Binary files /dev/null and b/src/assets/images/report/lyxxxq.png differ diff --git a/src/assets/images/report/marriage_inquire_bg.jpg b/src/assets/images/report/marriage_inquire_bg.jpg new file mode 100644 index 0000000..db0ac26 Binary files /dev/null and b/src/assets/images/report/marriage_inquire_bg.jpg differ diff --git a/src/assets/images/report/marriage_report_bg.jpg b/src/assets/images/report/marriage_report_bg.jpg new file mode 100644 index 0000000..5752966 Binary files /dev/null and b/src/assets/images/report/marriage_report_bg.jpg differ diff --git a/src/assets/images/report/ms.png b/src/assets/images/report/ms.png new file mode 100644 index 0000000..fa7d7b0 Binary files /dev/null and b/src/assets/images/report/ms.png differ diff --git a/src/assets/images/report/mzfxbz.png b/src/assets/images/report/mzfxbz.png new file mode 100644 index 0000000..c98045b Binary files /dev/null and b/src/assets/images/report/mzfxbz.png differ diff --git a/src/assets/images/report/qsgg.png b/src/assets/images/report/qsgg.png new file mode 100644 index 0000000..4666fde Binary files /dev/null and b/src/assets/images/report/qsgg.png differ diff --git a/src/assets/images/report/qspc.png b/src/assets/images/report/qspc.png new file mode 100644 index 0000000..7cdf628 Binary files /dev/null and b/src/assets/images/report/qspc.png differ diff --git a/src/assets/images/report/rkpm.png b/src/assets/images/report/rkpm.png new file mode 100644 index 0000000..8ba7f91 Binary files /dev/null and b/src/assets/images/report/rkpm.png differ diff --git a/src/assets/images/report/rzls.png b/src/assets/images/report/rzls.png new file mode 100644 index 0000000..4b13c82 Binary files /dev/null and b/src/assets/images/report/rzls.png differ diff --git a/src/assets/images/report/sagg.png b/src/assets/images/report/sagg.png new file mode 100644 index 0000000..179e0c2 Binary files /dev/null and b/src/assets/images/report/sagg.png differ diff --git a/src/assets/images/report/sdszhycp.png b/src/assets/images/report/sdszhycp.png new file mode 100644 index 0000000..c49bc10 Binary files /dev/null and b/src/assets/images/report/sdszhycp.png differ diff --git a/src/assets/images/report/sdszryhy.png b/src/assets/images/report/sdszryhy.png new file mode 100644 index 0000000..ba9df65 Binary files /dev/null and b/src/assets/images/report/sdszryhy.png differ diff --git a/src/assets/images/report/sfxxhy.png b/src/assets/images/report/sfxxhy.png new file mode 100644 index 0000000..323da72 Binary files /dev/null and b/src/assets/images/report/sfxxhy.png differ diff --git a/src/assets/images/report/sfz.png b/src/assets/images/report/sfz.png new file mode 100644 index 0000000..f565538 Binary files /dev/null and b/src/assets/images/report/sfz.png differ diff --git a/src/assets/images/report/shjy.png b/src/assets/images/report/shjy.png new file mode 100644 index 0000000..2c9ee0c Binary files /dev/null and b/src/assets/images/report/shjy.png differ diff --git a/src/assets/images/report/sjh.png b/src/assets/images/report/sjh.png new file mode 100644 index 0000000..17c053e Binary files /dev/null and b/src/assets/images/report/sjh.png differ diff --git a/src/assets/images/report/sjqsfx.png b/src/assets/images/report/sjqsfx.png new file mode 100644 index 0000000..263b29d Binary files /dev/null and b/src/assets/images/report/sjqsfx.png differ diff --git a/src/assets/images/report/slbg_inquire_icon.png b/src/assets/images/report/slbg_inquire_icon.png new file mode 100644 index 0000000..eb96d45 Binary files /dev/null and b/src/assets/images/report/slbg_inquire_icon.png differ diff --git a/src/assets/images/report/srbq.png b/src/assets/images/report/srbq.png new file mode 100644 index 0000000..e60b337 Binary files /dev/null and b/src/assets/images/report/srbq.png differ diff --git a/src/assets/images/report/srpg.png b/src/assets/images/report/srpg.png new file mode 100644 index 0000000..f3b3dc9 Binary files /dev/null and b/src/assets/images/report/srpg.png differ diff --git a/src/assets/images/report/ssfxfx.png b/src/assets/images/report/ssfxfx.png new file mode 100644 index 0000000..d7d3e6b Binary files /dev/null and b/src/assets/images/report/ssfxfx.png differ diff --git a/src/assets/images/report/ssfxztgl.png b/src/assets/images/report/ssfxztgl.png new file mode 100644 index 0000000..eb78d68 Binary files /dev/null and b/src/assets/images/report/ssfxztgl.png differ diff --git a/src/assets/images/report/sswf.png b/src/assets/images/report/sswf.png new file mode 100644 index 0000000..816aeb1 Binary files /dev/null and b/src/assets/images/report/sswf.png differ diff --git a/src/assets/images/report/swfx.png b/src/assets/images/report/swfx.png new file mode 100644 index 0000000..3ad1954 Binary files /dev/null and b/src/assets/images/report/swfx.png differ diff --git a/src/assets/images/report/sxaj.png b/src/assets/images/report/sxaj.png new file mode 100644 index 0000000..700fe0a Binary files /dev/null and b/src/assets/images/report/sxaj.png differ diff --git a/src/assets/images/report/sxxq.png b/src/assets/images/report/sxxq.png new file mode 100644 index 0000000..f0ac43c Binary files /dev/null and b/src/assets/images/report/sxxq.png differ diff --git a/src/assets/images/report/title.png b/src/assets/images/report/title.png new file mode 100644 index 0000000..3e84f7f Binary files /dev/null and b/src/assets/images/report/title.png differ diff --git a/src/assets/images/report/title_inquire_bg.png b/src/assets/images/report/title_inquire_bg.png new file mode 100644 index 0000000..472f6bb Binary files /dev/null and b/src/assets/images/report/title_inquire_bg.png differ diff --git a/src/assets/images/report/title_inquire_bg_green.png b/src/assets/images/report/title_inquire_bg_green.png new file mode 100644 index 0000000..73eedbf Binary files /dev/null and b/src/assets/images/report/title_inquire_bg_green.png differ diff --git a/src/assets/images/report/title_inquire_bg_red.png b/src/assets/images/report/title_inquire_bg_red.png new file mode 100644 index 0000000..f31ccbf Binary files /dev/null and b/src/assets/images/report/title_inquire_bg_red.png differ diff --git a/src/assets/images/report/wmz.png b/src/assets/images/report/wmz.png new file mode 100644 index 0000000..7564469 Binary files /dev/null and b/src/assets/images/report/wmz.png differ diff --git a/src/assets/images/report/wxts_icon.png b/src/assets/images/report/wxts_icon.png new file mode 100644 index 0000000..d2da4b8 Binary files /dev/null and b/src/assets/images/report/wxts_icon.png differ diff --git a/src/assets/images/report/xgaj.png b/src/assets/images/report/xgaj.png new file mode 100644 index 0000000..73a1232 Binary files /dev/null and b/src/assets/images/report/xgaj.png differ diff --git a/src/assets/images/report/xl.png b/src/assets/images/report/xl.png new file mode 100644 index 0000000..59ca3dd Binary files /dev/null and b/src/assets/images/report/xl.png differ diff --git a/src/assets/images/report/xs.png b/src/assets/images/report/xs.png new file mode 100644 index 0000000..27dc5bc Binary files /dev/null and b/src/assets/images/report/xs.png differ diff --git a/src/assets/images/report/xwqy_inquire_bg.jpg b/src/assets/images/report/xwqy_inquire_bg.jpg new file mode 100644 index 0000000..973144d Binary files /dev/null and b/src/assets/images/report/xwqy_inquire_bg.jpg differ diff --git a/src/assets/images/report/xwqy_report_bg.jpg b/src/assets/images/report/xwqy_report_bg.jpg new file mode 100644 index 0000000..a9f1613 Binary files /dev/null and b/src/assets/images/report/xwqy_report_bg.jpg differ diff --git a/src/assets/images/report/xxlx.png b/src/assets/images/report/xxlx.png new file mode 100644 index 0000000..bf3cd9c Binary files /dev/null and b/src/assets/images/report/xxlx.png differ diff --git a/src/assets/images/report/xxxs.png b/src/assets/images/report/xxxs.png new file mode 100644 index 0000000..c5461ca Binary files /dev/null and b/src/assets/images/report/xxxs.png differ diff --git a/src/assets/images/report/xypf.png b/src/assets/images/report/xypf.png new file mode 100644 index 0000000..efa7956 Binary files /dev/null and b/src/assets/images/report/xypf.png differ diff --git a/src/assets/images/report/xypf2.png b/src/assets/images/report/xypf2.png new file mode 100644 index 0000000..983f507 Binary files /dev/null and b/src/assets/images/report/xypf2.png differ diff --git a/src/assets/images/report/xz.png b/src/assets/images/report/xz.png new file mode 100644 index 0000000..039dd18 Binary files /dev/null and b/src/assets/images/report/xz.png differ diff --git a/src/assets/images/report/xzcf.png b/src/assets/images/report/xzcf.png new file mode 100644 index 0000000..542b1fe Binary files /dev/null and b/src/assets/images/report/xzcf.png differ diff --git a/src/assets/images/report/ycsjdjdbx.png b/src/assets/images/report/ycsjdjdbx.png new file mode 100644 index 0000000..0ba9fcb Binary files /dev/null and b/src/assets/images/report/ycsjdjdbx.png differ diff --git a/src/assets/images/report/yqfx.png b/src/assets/images/report/yqfx.png new file mode 100644 index 0000000..3d5a624 Binary files /dev/null and b/src/assets/images/report/yqfx.png differ diff --git a/src/assets/images/report/yqfxgl.png b/src/assets/images/report/yqfxgl.png new file mode 100644 index 0000000..3db496a Binary files /dev/null and b/src/assets/images/report/yqfxgl.png differ diff --git a/src/assets/images/report/yqsjfb.png b/src/assets/images/report/yqsjfb.png new file mode 100644 index 0000000..a8638af Binary files /dev/null and b/src/assets/images/report/yqsjfb.png differ diff --git a/src/assets/images/report/yqxxxq.png b/src/assets/images/report/yqxxxq.png new file mode 100644 index 0000000..dd0222f Binary files /dev/null and b/src/assets/images/report/yqxxxq.png differ diff --git a/src/assets/images/report/yshc.png b/src/assets/images/report/yshc.png new file mode 100644 index 0000000..18abfe6 Binary files /dev/null and b/src/assets/images/report/yshc.png differ diff --git a/src/assets/images/report/ywlxjdbx.png b/src/assets/images/report/ywlxjdbx.png new file mode 100644 index 0000000..f6c4fc3 Binary files /dev/null and b/src/assets/images/report/ywlxjdbx.png differ diff --git a/src/assets/images/report/yyshy.png b/src/assets/images/report/yyshy.png new file mode 100644 index 0000000..f89c747 Binary files /dev/null and b/src/assets/images/report/yyshy.png differ diff --git a/src/assets/images/report/yzgz.png b/src/assets/images/report/yzgz.png new file mode 100644 index 0000000..903ac38 Binary files /dev/null and b/src/assets/images/report/yzgz.png differ diff --git a/src/assets/images/report/zfx.png b/src/assets/images/report/zfx.png new file mode 100644 index 0000000..7a9f3a5 Binary files /dev/null and b/src/assets/images/report/zfx.png differ diff --git a/src/assets/images/report/zk.png b/src/assets/images/report/zk.png new file mode 100644 index 0000000..0387bdb Binary files /dev/null and b/src/assets/images/report/zk.png differ diff --git a/src/assets/images/report/zlfxpg.png b/src/assets/images/report/zlfxpg.png new file mode 100644 index 0000000..22d1283 Binary files /dev/null and b/src/assets/images/report/zlfxpg.png differ diff --git a/src/assets/images/report/zlfxpggl.png b/src/assets/images/report/zlfxpggl.png new file mode 100644 index 0000000..f79d48a Binary files /dev/null and b/src/assets/images/report/zlfxpggl.png differ diff --git a/src/assets/images/report/zlxw.png b/src/assets/images/report/zlxw.png new file mode 100644 index 0000000..180c1c3 Binary files /dev/null and b/src/assets/images/report/zlxw.png differ diff --git a/src/assets/images/report/zq.png b/src/assets/images/report/zq.png new file mode 100644 index 0000000..79c5be6 Binary files /dev/null and b/src/assets/images/report/zq.png differ diff --git a/src/assets/images/report/zwsc.png b/src/assets/images/report/zwsc.png new file mode 100644 index 0000000..f17c762 Binary files /dev/null and b/src/assets/images/report/zwsc.png differ diff --git a/src/assets/images/report/zxaj.png b/src/assets/images/report/zxaj.png new file mode 100644 index 0000000..1c066ea Binary files /dev/null and b/src/assets/images/report/zxaj.png differ diff --git a/src/assets/images/report/zyjy.png b/src/assets/images/report/zyjy.png new file mode 100644 index 0000000..6f51ca0 Binary files /dev/null and b/src/assets/images/report/zyjy.png differ diff --git a/src/assets/images/report/zymc.png b/src/assets/images/report/zymc.png new file mode 100644 index 0000000..b46e3ac Binary files /dev/null and b/src/assets/images/report/zymc.png differ diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 0000000..934a8ba --- /dev/null +++ b/src/assets/main.css @@ -0,0 +1,15 @@ +@import "./base.css"; +@import "./colors.css"; +@import "./vant-theme.css"; +@tailwind base; +@tailwind components; +@tailwind utilities; + +#app { + margin: 0 auto; + font-weight: normal; +} + +.card { + @apply shadow rounded-xl bg-white p-6; +} diff --git a/src/assets/nprogress.css b/src/assets/nprogress.css new file mode 100644 index 0000000..4a3f6d2 --- /dev/null +++ b/src/assets/nprogress.css @@ -0,0 +1,10 @@ +/* 进度条颜色 */ +#nprogress .bar { + background: var(--color-primary); /* 主题色 */ + height: 4px; /* 修改高度 */ +} + +/* 圆圈颜色 */ +#nprogress .peg { + box-shadow: 0 0 10px var(--color-primary), 0 0 5px var(--color-primary); +} diff --git a/src/assets/vant-theme.css b/src/assets/vant-theme.css new file mode 100644 index 0000000..eeccc09 --- /dev/null +++ b/src/assets/vant-theme.css @@ -0,0 +1,30 @@ +/* Vant 主题色配置 */ +:root { + --van-theme-primary: #5d7eeb; + --van-theme-primary-light: rgba(93, 126, 235, 0.1); + --van-theme-primary-dark: rgba(93, 126, 235, 0.8); + --van-primary-color: var(--van-theme-primary); + --van-success-color: #07c160; + --van-warning-color: #ff976a; + --van-danger-color: #ee0a24; + --van-text-color: #323233; + --van-text-color-2: #646566; + --van-text-color-3: #969799; + --van-background-color: #ffffff; + --van-background-color-light: #fafafa; + --van-border-color: #ebedf0; + --van-active-color: #f2f3f5; +} + +.van-button--primary { + background-color: var(--van-theme-primary) !important; + border-color: var(--van-theme-primary) !important; +} + +.van-tabs__line { + background-color: var(--van-theme-primary) !important; +} + +.van-tab--active { + color: var(--van-theme-primary) !important; +} diff --git a/src/components/BaseReport.vue b/src/components/BaseReport.vue new file mode 100644 index 0000000..4b3e320 --- /dev/null +++ b/src/components/BaseReport.vue @@ -0,0 +1,689 @@ + + + + + diff --git a/src/components/GaugeChart.vue b/src/components/GaugeChart.vue new file mode 100644 index 0000000..4331751 --- /dev/null +++ b/src/components/GaugeChart.vue @@ -0,0 +1,254 @@ + + + + + \ No newline at end of file diff --git a/src/components/LEmpty.vue b/src/components/LEmpty.vue new file mode 100644 index 0000000..20f22fc --- /dev/null +++ b/src/components/LEmpty.vue @@ -0,0 +1,41 @@ + + + + + \ No newline at end of file diff --git a/src/components/LRemark.vue b/src/components/LRemark.vue new file mode 100644 index 0000000..d833a87 --- /dev/null +++ b/src/components/LRemark.vue @@ -0,0 +1,92 @@ + + + + + \ No newline at end of file diff --git a/src/components/LTitle.vue b/src/components/LTitle.vue new file mode 100644 index 0000000..4c4d89a --- /dev/null +++ b/src/components/LTitle.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/src/components/Remark.vue b/src/components/Remark.vue new file mode 100644 index 0000000..dcccf06 --- /dev/null +++ b/src/components/Remark.vue @@ -0,0 +1,84 @@ + + + + + + diff --git a/src/components/ShareReportButton.vue b/src/components/ShareReportButton.vue new file mode 100644 index 0000000..29af5d5 --- /dev/null +++ b/src/components/ShareReportButton.vue @@ -0,0 +1,91 @@ + + + + + diff --git a/src/components/StyledTabs.vue b/src/components/StyledTabs.vue new file mode 100644 index 0000000..96a2e42 --- /dev/null +++ b/src/components/StyledTabs.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/TitleBanner.vue b/src/components/TitleBanner.vue new file mode 100644 index 0000000..f2b2684 --- /dev/null +++ b/src/components/TitleBanner.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/src/components/VerificationCard.vue b/src/components/VerificationCard.vue new file mode 100644 index 0000000..66972ea --- /dev/null +++ b/src/components/VerificationCard.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/src/composables/useRiskNotifier.js b/src/composables/useRiskNotifier.js new file mode 100644 index 0000000..631874e --- /dev/null +++ b/src/composables/useRiskNotifier.js @@ -0,0 +1,18 @@ +import { watch } from "vue"; + +/** + * 风险评分通知 composable + * 用于组件向父组件通知自己的风险评分(0-100分,分数越高越安全) + */ +export function useRiskNotifier(props, riskScore) { + // 监听 riskScore 变化,通知父组件 + watch( + riskScore, + (newValue) => { + if (props.apiId && props.notifyRiskStatus) { + props.notifyRiskStatus(props.apiId, props.index, newValue); + } + }, + { immediate: true } + ); +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..2d7ce97 --- /dev/null +++ b/src/main.js @@ -0,0 +1,31 @@ +import './assets/main.css' +import { createApp } from 'vue' +import { createRouter, createWebHistory } from 'vue-router' +import App from './App.vue' + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { + path: '/', + name: 'Report', + component: () => import('./views/Report.vue') + }, + { + path: '/report', + name: 'ReportView', + component: () => import('./views/Report.vue') + }, + { + path: '/report-pdf', + name: 'ReportPDF', + component: () => import('./views/ReportPDF.vue') + } + ] +}) + +const app = createApp(App) +app.use(router) + +app.mount('#app') + diff --git a/src/ui/CDWBG8B4D/CDWBG8B4D-PDF.vue b/src/ui/CDWBG8B4D/CDWBG8B4D-PDF.vue new file mode 100644 index 0000000..24a0421 --- /dev/null +++ b/src/ui/CDWBG8B4D/CDWBG8B4D-PDF.vue @@ -0,0 +1,1305 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/ElementVerification.vue b/src/ui/CDWBG8B4D/components/ElementVerification.vue new file mode 100644 index 0000000..f7e9d68 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/ElementVerification.vue @@ -0,0 +1,202 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/Identity.vue b/src/ui/CDWBG8B4D/components/Identity.vue new file mode 100644 index 0000000..2f0d4e1 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/Identity.vue @@ -0,0 +1,367 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/LeasingRiskSection.vue b/src/ui/CDWBG8B4D/components/LeasingRiskSection.vue new file mode 100644 index 0000000..6cca2b4 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/LeasingRiskSection.vue @@ -0,0 +1,492 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/LoanEvaluationSection.vue b/src/ui/CDWBG8B4D/components/LoanEvaluationSection.vue new file mode 100644 index 0000000..28e69e8 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/LoanEvaluationSection.vue @@ -0,0 +1,526 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/MultCourtInfoSection.vue b/src/ui/CDWBG8B4D/components/MultCourtInfoSection.vue new file mode 100644 index 0000000..120879b --- /dev/null +++ b/src/ui/CDWBG8B4D/components/MultCourtInfoSection.vue @@ -0,0 +1,521 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CDWBG8B4D/components/OverdueRiskSection.vue b/src/ui/CDWBG8B4D/components/OverdueRiskSection.vue new file mode 100644 index 0000000..a8cd6b9 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/OverdueRiskSection.vue @@ -0,0 +1,494 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/ReportOverview.vue b/src/ui/CDWBG8B4D/components/ReportOverview.vue new file mode 100644 index 0000000..8d0d02e --- /dev/null +++ b/src/ui/CDWBG8B4D/components/ReportOverview.vue @@ -0,0 +1,320 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/RiskSupervisionSection.vue b/src/ui/CDWBG8B4D/components/RiskSupervisionSection.vue new file mode 100644 index 0000000..c8afaab --- /dev/null +++ b/src/ui/CDWBG8B4D/components/RiskSupervisionSection.vue @@ -0,0 +1,176 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/RiskWarning.vue b/src/ui/CDWBG8B4D/components/RiskWarning.vue new file mode 100644 index 0000000..b10f301 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/RiskWarning.vue @@ -0,0 +1,409 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/components/RiskWarningSection.vue b/src/ui/CDWBG8B4D/components/RiskWarningSection.vue new file mode 100644 index 0000000..5e5f204 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/RiskWarningSection.vue @@ -0,0 +1,747 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CDWBG8B4D/components/RiskWarningTab.vue b/src/ui/CDWBG8B4D/components/RiskWarningTab.vue new file mode 100644 index 0000000..a5e6360 --- /dev/null +++ b/src/ui/CDWBG8B4D/components/RiskWarningTab.vue @@ -0,0 +1,1147 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CDWBG8B4D/index.vue b/src/ui/CDWBG8B4D/index.vue new file mode 100644 index 0000000..605232c --- /dev/null +++ b/src/ui/CDWBG8B4D/index.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/ui/CDWBG8B4D/utils/intervalFormatter.js b/src/ui/CDWBG8B4D/utils/intervalFormatter.js new file mode 100644 index 0000000..418e3b9 --- /dev/null +++ b/src/ui/CDWBG8B4D/utils/intervalFormatter.js @@ -0,0 +1,264 @@ +/** + * 区间表达式格式化工具 + * 将数学区间表达式转换为用户友好的文本描述 + */ + +/** + * 格式化区间表达式 + * @param {string} interval - 区间表达式,如 "(0,1000)", "[2000,30000)", "[17,+)" + * @param {string} unit - 单位,如 "元", "次", "个", "天" 等 + * @returns {string} 格式化后的文本,如果格式化失败则返回原数据 + */ +export function formatInterval(interval, unit = "") { + // 如果数据为空或无效,返回原数据 + if (!interval || interval === "-" || interval === "0") { + return interval || "-"; + } + + try { + // 处理特殊格式,如 "3,6(个月)" + if (interval.includes("(") && interval.includes(")")) { + const match = interval.match(/^(\d+(?:,\d+)*)\((.+)\)$/); + if (match) { + const numbers = match[1].split(",").map((n) => n.trim()); + const timeUnit = match[2]; + if (numbers.length === 2) { + return `${numbers[0]}-${numbers[1]}${timeUnit}`; + } + return `${numbers.join(", ")}${timeUnit}`; + } + } + + // 处理区间表达式 + const intervalPattern = + /^([\[\(])(\d+(?:\.\d+)?),(\d+(?:\.\d+)?|\+)([\]\)])$/; + const match = interval.match(intervalPattern); + + // 如果不是区间表达式,返回原数据 + if (!match) { + return interval; + } + + const [, leftBracket, leftValue, rightValue, rightBracket] = match; + const isLeftInclusive = leftBracket === "["; + const isRightInclusive = rightBracket === "]"; + const isRightInfinity = rightValue === "+"; + + let result = ""; + + if (isRightInfinity) { + // 处理无穷大情况,如 "[17,+)" + if (isLeftInclusive) { + result = `≥${leftValue}${unit}`; + } else { + result = `>${leftValue}${unit}`; + } + } else { + // 处理有限区间 + const leftNum = parseFloat(leftValue); + const rightNum = parseFloat(rightValue); + + // 检查数值是否有效 + if (isNaN(leftNum) || isNaN(rightNum)) { + return interval; + } + + if (leftNum === rightNum) { + // 单点值 + result = `${leftNum}${unit}`; + } else { + // 区间值 - 简化为实际数值范围 + if (isLeftInclusive && isRightInclusive) { + result = `${leftNum}-${rightNum}${unit}`; + } else if (isLeftInclusive && !isRightInclusive) { + // 右开区间,显示到 rightNum-1 + result = `${leftNum}-${rightNum - 1}${unit}`; + } else if (!isLeftInclusive && isRightInclusive) { + // 左开区间,显示从 leftNum+1 + result = `${leftNum + 1}-${rightNum}${unit}`; + } else { + // 两端都不包含,显示从 leftNum+1 到 rightNum-1 + result = `${leftNum + 1}-${rightNum - 1}${unit}`; + } + } + } + + return result; + } catch (error) { + // 如果格式化过程中出现错误,返回原数据 + console.warn("区间格式化失败:", error, "原数据:", interval); + return interval; + } +} + +/** + * 格式化金额区间 + * @param {string} interval - 金额区间表达式 + * @returns {string} 格式化后的金额文本 + */ +export function formatAmountInterval(interval) { + return formatInterval(interval, "元"); +} + +/** + * 格式化次数区间 + * @param {string} interval - 次数区间表达式 + * @returns {string} 格式化后的次数文本 + */ +export function formatCountInterval(interval) { + return formatInterval(interval, "次"); +} + +/** + * 格式化天数区间 + * @param {string} interval - 天数区间表达式 + * @returns {string} 格式化后的天数文本 + */ +export function formatDaysInterval(interval) { + return formatInterval(interval, "天"); +} + +/** + * 格式化机构数量区间 + * @param {string} interval - 机构数量区间表达式 + * @returns {string} 格式化后的机构数量文本 + */ +export function formatInstitutionInterval(interval) { + return formatInterval(interval, "家"); +} + +/** + * 格式化时间区间 + * @param {string} interval - 时间区间表达式 + * @returns {string} 格式化后的时间文本 + */ +export function formatTimeInterval(interval) { + if (!interval || interval === "-") { + return "-"; + } + + // 处理特殊格式,如 "3,6(个月)" + if (interval.includes("(") && interval.includes(")")) { + const match = interval.match(/^(\d+(?:,\d+)*)\((.+)\)$/); + if (match) { + const numbers = match[1].split(",").map((n) => n.trim()); + const timeUnit = match[2]; + if (numbers.length === 2) { + return `${numbers[0]}-${numbers[1]}${timeUnit}`; + } + return `${numbers.join(", ")}${timeUnit}`; + } + } + + return formatInterval(interval, ""); +} + +/** + * 格式化申请次数区间 + * @param {string} interval - 申请次数区间表达式,格式如 "2/1" + * @returns {string} 格式化后的申请次数文本 + */ +export function formatApplicationInterval(interval) { + if (!interval || interval === "-") { + return "-"; + } + + // 处理 "2/1" 格式,表示 申请次数/机构数 + if (interval.includes("/")) { + const [applyCount, institutionCount] = interval.split("/"); + return `${applyCount}次/${institutionCount}家`; + } + + return formatCountInterval(interval); +} + +/** + * 格式化风险等级文本 + * @param {string} level - 风险等级,如 "C2,C5" + * @returns {string} 格式化后的风险等级文本 + */ +export function formatRiskLevel(level) { + if (!level) return "-"; + + const levelMap = { + 0: "正常人员", + A: "前科:侵犯公民人身权利,民主权利", + A1: "盗窃", + A2: "诈骗", + A3: "抢劫/夺", + A4: "故意伤害/杀人", + A5: "强奸/性侵/猥亵", + B: "经济类前科", + B1: "走私", + B2: "破坏金融管理秩序", + B3: "正常人员", + B4: "洗钱", + B5: "洗钱", + C: "妨害社会管理秩序", + C1: "扰乱公共秩序", + C2: "妨害司法", + C3: "涉毒", + C4: "涉黄刑案", + C5: "帮信/掩隐/侵公", + D: "重点", + D1: "危害国家、公共安全", + D2: "涉稳", + D3: "涉及境外", + D4: "涉恐、疆藏", + D5: "涉黑", + E: "涉交通案件", + F: "法院文书", + }; + + return level + .split(",") + .map((l) => levelMap[l.trim()] || l.trim()) + .join("、"); +} + +/** + * 格式化状态文本 + * @param {string} status - 状态值 + * @param {Object} statusMap - 状态映射对象 + * @returns {string} 格式化后的状态文本 + */ +export function formatStatus(status, statusMap = {}) { + if (status === undefined || status === null || status === "") { + return "-"; + } + + return statusMap[status] || status; +} + +/** + * 格式化风险标识 + * @param {number} flag - 风险标识,0=未查得,1=高风险,2=低风险 + * @returns {Object} 包含文本和样式的对象 + */ +export function formatRiskFlag(flag) { + const flagMap = { + 0: { text: "未查得", class: "bg-gray-100 text-gray-700" }, + 1: { text: "高风险", class: "bg-red-100 text-red-700" }, + 2: { text: "低风险", class: "bg-green-100 text-green-700" }, + }; + + return ( + flagMap[flag] || { text: "未知", class: "bg-gray-100 text-gray-700" } + ); +} + +/** + * 格式化验证结果 + * @param {string} result - 验证结果 + * @returns {Object} 包含文本和样式的对象 + */ +export function formatVerificationResult(result) { + const resultMap = { + 一致: { text: "一致", class: "text-green-600" }, + 不一致: { text: "不一致", class: "text-red-600" }, + 验证通过: { text: "验证通过", class: "text-green-600" }, + 验证失败: { text: "验证失败", class: "text-red-600" }, + }; + + return resultMap[result] || { text: result || "-", class: "text-gray-600" }; +} diff --git a/src/ui/CDWBG8B4D/utils/simpleSplitter.js b/src/ui/CDWBG8B4D/utils/simpleSplitter.js new file mode 100644 index 0000000..d178c0f --- /dev/null +++ b/src/ui/CDWBG8B4D/utils/simpleSplitter.js @@ -0,0 +1,157 @@ +/** + * 简单的DWBG8B4D数据拆分演示 + * 直接在BaseReport.vue中处理 + */ + +// 在BaseReport.vue的script部分添加这个函数 +function splitDWBG8B4DForTabs(reportData) { + const result = [] + + reportData.forEach(item => { + if (item.data.apiID === 'DWBG8B4D') { + // 将DWBG8B4D拆分成多个独立的tab + const dwbgData = item.data.data + + // 报告概览 + result.push({ + data: { + apiID: 'DWBG8B4D_Overview', + data: { + baseInfo: dwbgData.baseInfo, + checkSuggest: dwbgData.checkSuggest, + fraudScore: dwbgData.fraudScore, + creditScore: dwbgData.creditScore, + verifyRule: dwbgData.verifyRule, + fraudRule: dwbgData.fraudRule, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 规则风险提示 + result.push({ + data: { + apiID: 'DWBG8B4D_RiskWarningTab', + data: { + riskWarning: dwbgData.riskWarning, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 要素核查 + result.push({ + data: { + apiID: 'DWBG8B4D_ElementVerification', + data: { + sfzeysFlag: dwbgData.elementVerificationDetail?.sfzeysFlag || 0, + personCheckDetails: dwbgData.elementVerificationDetail?.personCheckDetails || {}, + sjsysFlag: dwbgData.elementVerificationDetail?.sjsysFlag || 0, + phoneCheckDetails: dwbgData.elementVerificationDetail?.phoneCheckDetails || {}, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 运营商核验 + result.push({ + data: { + apiID: 'DWBG8B4D_Identity', + data: { + inTime: dwbgData.standLiveInfo?.inTime || '', + phoneVailRiskFlag: dwbgData.elementVerificationDetail?.phoneVailRiskFlag || 0, + phoneVailRisks: dwbgData.elementVerificationDetail?.phoneVailRisks || {}, + belongRiskFlag: dwbgData.elementVerificationDetail?.belongRiskFlag || 0, + belongRisks: dwbgData.elementVerificationDetail?.belongRisks || {}, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 公安重点人员检验 + result.push({ + data: { + apiID: 'DWBG8B4D_RiskWarning', + data: { + highRiskFlag: dwbgData.elementVerificationDetail?.highRiskFlag || 0, + keyPersonCheckList: dwbgData.elementVerificationDetail?.keyPersonCheckList || {}, + antiFraudInfo: dwbgData.elementVerificationDetail?.antiFraudInfo || {}, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 逾期风险 + result.push({ + data: { + apiID: 'DWBG8B4D_OverdueRisk', + data: { + overdueRiskProduct: dwbgData.overdueRiskProduct, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 法院曝光台信息 + result.push({ + data: { + apiID: 'DWBG8B4D_CourtInfo', + data: { + multCourtInfo: dwbgData.multCourtInfo, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 借贷评估 + result.push({ + data: { + apiID: 'DWBG8B4D_LoanEvaluation', + data: { + loanEvaluationVerificationDetail: dwbgData.loanEvaluationVerificationDetail, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 租赁风险评估 + result.push({ + data: { + apiID: 'DWBG8B4D_LeasingRisk', + data: { + leasingRiskAssessment: dwbgData.leasingRiskAssessment, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + + // 关联风险监督 + result.push({ + data: { + apiID: 'DWBG8B4D_RiskSupervision', + data: { + riskSupervision: dwbgData.riskSupervision, + success: dwbgData.success, + timestamp: dwbgData.timestamp + } + } + }) + } else { + // 其他数据直接添加 + result.push(item) + } + }) + + return result +} + +export { splitDWBG8B4DForTabs } diff --git a/src/ui/CFLXG0V4B/components/CaseDetail.vue b/src/ui/CFLXG0V4B/components/CaseDetail.vue new file mode 100644 index 0000000..f1efe42 --- /dev/null +++ b/src/ui/CFLXG0V4B/components/CaseDetail.vue @@ -0,0 +1,171 @@ + + + \ No newline at end of file diff --git a/src/ui/CFLXG0V4B/components/StatisticsOverview.vue b/src/ui/CFLXG0V4B/components/StatisticsOverview.vue new file mode 100644 index 0000000..3d8fa47 --- /dev/null +++ b/src/ui/CFLXG0V4B/components/StatisticsOverview.vue @@ -0,0 +1,284 @@ + + + diff --git a/src/ui/CFLXG0V4B/index.vue b/src/ui/CFLXG0V4B/index.vue new file mode 100644 index 0000000..fb61592 --- /dev/null +++ b/src/ui/CFLXG0V4B/index.vue @@ -0,0 +1,451 @@ + + + + + diff --git a/src/ui/CFLXG0V4B/utils/lawsuitUtils.js b/src/ui/CFLXG0V4B/utils/lawsuitUtils.js new file mode 100644 index 0000000..8b225f0 --- /dev/null +++ b/src/ui/CFLXG0V4B/utils/lawsuitUtils.js @@ -0,0 +1,302 @@ +// 案件类型映射表 +export const lawsuitTypeMap = { + sxbzxr: { + text: '失信被执行', + color: 'text-red-600 bg-red-50', + darkColor: 'bg-red-500', + riskLevel: 'high', // 高风险 + }, + xgbzxr: { + text: '限高被执行', + color: 'text-orange-600 bg-orange-50', + darkColor: 'bg-orange-500', + riskLevel: 'high', // 高风险 + }, + criminal: { + text: '刑事案件', + color: 'text-red-600 bg-red-50', + darkColor: 'bg-red-500', + riskLevel: 'high', // 高风险 + }, + civil: { + text: '民事案件', + color: 'text-blue-600 bg-blue-50', + darkColor: 'bg-blue-500', + riskLevel: 'medium', // 中风险 + }, + administrative: { + text: '行政案件', + color: 'text-purple-600 bg-purple-50', + darkColor: 'bg-purple-500', + riskLevel: 'medium', // 中风险 + }, + implement: { + text: '执行案件', + color: 'text-orange-600 bg-orange-50', + darkColor: 'bg-orange-500', + riskLevel: 'medium', // 中风险 + }, + bankrupt: { + text: '强制清算与破产案件', + color: 'text-rose-600 bg-rose-50', + darkColor: 'bg-rose-500', + riskLevel: 'high', // 高风险 + }, + preservation: { + text: '非诉保全审查', + color: 'text-amber-600 bg-amber-50', + darkColor: 'bg-amber-500', + riskLevel: 'low', // 低风险 + }, +} + +// 案件类型文本 +export const getCaseTypeText = type => { + return lawsuitTypeMap[type]?.text || '其他案件' +} + +// 案件类型颜色 +export const getCaseTypeColor = type => { + return lawsuitTypeMap[type]?.color || 'text-gray-600 bg-gray-50' +} + +// 案件类型深色 +export const getCaseTypeDarkColor = type => { + return lawsuitTypeMap[type]?.darkColor || 'bg-gray-500' +} + +// 格式化日期显示 +export const formatDate = dateStr => { + if (!dateStr) return '—' + // 转换YYYY-MM-DD为年月日格式 + if (dateStr.includes('-')) { + const parts = dateStr.split('-') + if (parts.length === 3) { + return `${parts[0]}年${parts[1]}月${parts[2]}日` + } + } + return dateStr // 如果不是标准格式则返回原始字符串 +} + +// 格式化金额显示(单位:万元) +export const formatLawsuitMoney = money => { + if (!money) return '—' + + const value = parseFloat(money) + if (isNaN(value)) return '—' + + // 超过1亿显示亿元 + if (value >= 10000) { + return ( + (value / 10000).toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + ' 亿元' + ) + } + + // 否则显示万元 + return ( + value.toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + ' 万元' + ) +} + +// 获取案件状态样式 +export const getCaseStatusClass = status => { + if (!status) return 'bg-gray-100 text-gray-500' + + if (status.includes('已结') || status.includes('已办结')) { + return 'bg-green-50 text-green-600' + } else if (status.includes('执行中') || status.includes('审理中')) { + return 'bg-blue-50 text-blue-600' + } else if (status.includes('未执行')) { + return 'bg-amber-50 text-amber-600' + } else { + return 'bg-gray-100 text-gray-500' + } +} + +// 获取企业状态对应的样式 +export const getStatusClass = status => { + if (!status) return 'bg-gray-100 text-gray-500' + + if (status.includes('注销') || status.includes('吊销')) { + return 'bg-red-50 text-red-600' + } else if (status.includes('存续') || status.includes('在营')) { + return 'bg-green-50 text-green-600' + } else if (status.includes('筹建') || status.includes('新设')) { + return 'bg-blue-50 text-blue-600' + } else { + return 'bg-yellow-50 text-yellow-600' + } +} + +// 格式化资本金额显示 +export const formatCapital = (capital, currency) => { + if (!capital) return '—' + + // 检查是否包含"万"字或需要显示为万元 + let unit = '' + let value = parseFloat(capital) + + // 处理原始数据中可能带有的单位 + if (typeof capital === 'string' && capital.includes('万')) { + unit = '万' + // 提取数字部分 + const numMatch = capital.match(/[\d.]+/) + value = numMatch ? parseFloat(numMatch[0]) : 0 + } else if (value >= 10000) { + // 大额数字转换为万元显示 + value = value / 10000 + unit = '万' + } + + // 格式化数字,保留两位小数(如果有小数部分) + const formattedValue = value.toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + + return `${formattedValue}${unit} ${currency || '人民币'}` +} + +// 获取涉诉风险等级 +export const getRiskLevel = lawsuitInfo => { + if (!lawsuitInfo) { + return { + level: 'low', + text: '低风险', + color: 'text-green-600 bg-green-50', + } + } + + // 失信被执行人是最高风险 + if (lawsuitInfo.sxbzxr && lawsuitInfo.sxbzxr.length > 0) { + return { + level: 'high', + text: '高风险', + color: 'text-red-600 bg-red-50', + } + } + + // 限高被执行人是最高风险 + if (lawsuitInfo.xgbzxr && lawsuitInfo.xgbzxr.length > 0) { + return { + level: 'high', + text: '高风险', + color: 'text-red-600 bg-red-50', + } + } + + // 有涉诉数据的风险级别 + if (lawsuitInfo.data && Object.keys(lawsuitInfo.data).length > 0) { + // 检查是否有未结案的案件 + const data = lawsuitInfo.data + if (data.count && data.count_wei_total && data.count_wei_total > 0) { + return { + level: 'medium', + text: '中风险', + color: 'text-amber-600 bg-amber-50', + } + } + + // 只有已结案的为低中风险 + return { + level: 'low-medium', + text: '低中风险', + color: 'text-yellow-600 bg-yellow-50', + } + } + + return { + level: 'low', + text: '低风险', + color: 'text-green-600 bg-green-50', + } +} + +// 获取涉诉案件统计 +export const getLawsuitStats = lawsuitInfo => { + if (!lawsuitInfo) return null + + const stats = { + total: 0, + types: [], + } + + // 统计各类型案件数量 + Object.keys(lawsuitTypeMap).forEach(type => { + let count = 0 + + if (type === 'sxbzxr') { + count = lawsuitInfo.sxbzxr && lawsuitInfo.sxbzxr.length > 0 ? lawsuitInfo.sxbzxr.length : 0 + } else if (type === 'xgbzxr') { + count = lawsuitInfo.xgbzxr && lawsuitInfo.xgbzxr.length > 0 ? lawsuitInfo.xgbzxr.length : 0 + } else if (lawsuitInfo.data && lawsuitInfo.data[type] && Object.keys(lawsuitInfo.data[type]).length > 0) { + const typeData = lawsuitInfo.data[type] + count = typeData.cases && typeData.cases.length ? typeData.cases.length : 0 + } + + if (count > 0) { + stats.total += count + stats.types.push({ + type, + count, + name: getCaseTypeText(type), + color: getCaseTypeColor(type), + darkColor: getCaseTypeDarkColor(type), + }) + } + }) + + return stats +} + +// 获取案件类型优先级顺序 +export const getCaseTypePriority = () => { + return [ + 'sxbzxr', // 失信被执行人(最高风险) + 'xgbzxr', // 限高被执行人 + 'criminal', // 刑事案件 + 'civil', // 民事案件 + 'administrative', // 行政案件 + 'implement', // 执行案件 + 'bankrupt', // 强制清算与破产案件 + 'preservation', // 非诉保全审查 + ] +} + +// 根据案件类型获取风险等级 +export const getCaseTypeRiskLevel = caseType => { + const typeInfo = lawsuitTypeMap[caseType] + if (!typeInfo) { + return { + level: 'low', + text: '低风险', + color: 'text-green-600 bg-green-50', + } + } + + const riskLevelMap = { + high: { + text: '高风险', + color: 'text-red-600 bg-red-50', + }, + medium: { + text: '中风险', + color: 'text-amber-600 bg-amber-50', + }, + low: { + text: '低风险', + color: 'text-green-600 bg-green-50', + }, + } + + return { + level: typeInfo.riskLevel, + ...riskLevelMap[typeInfo.riskLevel], + } +} diff --git a/src/ui/CQCXG9P1C.vue b/src/ui/CQCXG9P1C.vue new file mode 100644 index 0000000..1d98682 --- /dev/null +++ b/src/ui/CQCXG9P1C.vue @@ -0,0 +1,130 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CQYGL3F8E/README.md b/src/ui/CQYGL3F8E/README.md new file mode 100644 index 0000000..88fb581 --- /dev/null +++ b/src/ui/CQYGL3F8E/README.md @@ -0,0 +1,238 @@ +# 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**: 新增欠税公告和税收违法模块,完善企业风险分析功能 diff --git a/src/ui/CQYGL3F8E/components/Abnormal.vue b/src/ui/CQYGL3F8E/components/Abnormal.vue new file mode 100644 index 0000000..4baf4e4 --- /dev/null +++ b/src/ui/CQYGL3F8E/components/Abnormal.vue @@ -0,0 +1,273 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CQYGL3F8E/components/FinancingHistory.vue b/src/ui/CQYGL3F8E/components/FinancingHistory.vue new file mode 100644 index 0000000..f99eec9 --- /dev/null +++ b/src/ui/CQYGL3F8E/components/FinancingHistory.vue @@ -0,0 +1,265 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CQYGL3F8E/components/InvestHistory.vue b/src/ui/CQYGL3F8E/components/InvestHistory.vue new file mode 100644 index 0000000..830c1ad --- /dev/null +++ b/src/ui/CQYGL3F8E/components/InvestHistory.vue @@ -0,0 +1,337 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CQYGL3F8E/components/Investment.vue b/src/ui/CQYGL3F8E/components/Investment.vue new file mode 100644 index 0000000..19cd296 --- /dev/null +++ b/src/ui/CQYGL3F8E/components/Investment.vue @@ -0,0 +1,335 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/components/Lawsuit.vue b/src/ui/CQYGL3F8E/components/Lawsuit.vue new file mode 100644 index 0000000..a9f92f1 --- /dev/null +++ b/src/ui/CQYGL3F8E/components/Lawsuit.vue @@ -0,0 +1,1715 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/components/Punishment.vue b/src/ui/CQYGL3F8E/components/Punishment.vue new file mode 100644 index 0000000..312cd6d --- /dev/null +++ b/src/ui/CQYGL3F8E/components/Punishment.vue @@ -0,0 +1,289 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CQYGL3F8E/components/SeniorExecutive.vue b/src/ui/CQYGL3F8E/components/SeniorExecutive.vue new file mode 100644 index 0000000..28660d1 --- /dev/null +++ b/src/ui/CQYGL3F8E/components/SeniorExecutive.vue @@ -0,0 +1,307 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/components/TaxRisk/OwnTax.vue b/src/ui/CQYGL3F8E/components/TaxRisk/OwnTax.vue new file mode 100644 index 0000000..746d380 --- /dev/null +++ b/src/ui/CQYGL3F8E/components/TaxRisk/OwnTax.vue @@ -0,0 +1,265 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/components/TaxRisk/TaxContravention.vue b/src/ui/CQYGL3F8E/components/TaxRisk/TaxContravention.vue new file mode 100644 index 0000000..05ad3dd --- /dev/null +++ b/src/ui/CQYGL3F8E/components/TaxRisk/TaxContravention.vue @@ -0,0 +1,208 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/components/TaxRisk/index.vue b/src/ui/CQYGL3F8E/components/TaxRisk/index.vue new file mode 100644 index 0000000..9e6dfed --- /dev/null +++ b/src/ui/CQYGL3F8E/components/TaxRisk/index.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/index.vue b/src/ui/CQYGL3F8E/index.vue new file mode 100644 index 0000000..62e45de --- /dev/null +++ b/src/ui/CQYGL3F8E/index.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/src/ui/CQYGL3F8E/utils/simpleSplitter.js b/src/ui/CQYGL3F8E/utils/simpleSplitter.js new file mode 100644 index 0000000..94e89da --- /dev/null +++ b/src/ui/CQYGL3F8E/utils/simpleSplitter.js @@ -0,0 +1,302 @@ +/** + * CQYGL3F8E企业关联数据拆分工具 + * 将企业关联数据拆分为投资企业记录、高管任职记录和涉诉风险三个独立模块 + */ + +/** + * 拆分CQYGL3F8E数据为多个独立的tab模块 + * @param {Array} reportData - 报告数据数组 + * @returns {Array} 拆分后的数据数组 + */ +export function splitCQYGL3F8EForTabs(reportData) { + const result = [] + + reportData.forEach(item => { + if (item.data?.apiID === 'QYGL3F8E') { + // 将QYGL3F8E拆分成多个独立的tab + const qyglData = item.data.data + const baseTimestamp = item.data.timestamp + + // 投资类关系 + const investRelations = ["sh", "his_sh", "lp", "his_lp"] + + // 高管类关系 + const managerRelations = ["tm", "his_tm"] + + // 获取投资企业记录(股东、历史股东、法人、历史法人) + const investCompanies = (qyglData?.items || []).filter((item) => { + const relationships = item?.relationship || [] + return relationships.some((r) => investRelations.includes(r)) + }) + + // 获取高管任职记录(高管、历史高管) + const managerPositions = (qyglData?.items || []).filter((item) => { + const relationships = item?.relationship || [] + return relationships.some((r) => managerRelations.includes(r)) + }) + + // 获取有涉诉风险的企业 + const lawsuitCompanies = (qyglData?.items || []).filter((item) => { + const lawsuit = item?.lawsuitInfo || {} + return ( + (lawsuit.entout && lawsuit.entout.data && Object.keys(lawsuit.entout.data).length > 0) || + (lawsuit.sxbzxr && lawsuit.sxbzxr.data && lawsuit.sxbzxr.data.sxbzxr && lawsuit.sxbzxr.data.sxbzxr.length > 0) || + (lawsuit.xgbzxr && lawsuit.xgbzxr.data && lawsuit.xgbzxr.data.xgbzxr && lawsuit.xgbzxr.data.xgbzxr.length > 0) + ) + }) + + // 1. 投资企业记录模块 + result.push({ + data: { + apiID: 'CQYGL3F8E_Investment', + data: investCompanies, + success: true, + timestamp: baseTimestamp + } + }) + + // 2. 高管任职记录模块 + result.push({ + data: { + apiID: 'CQYGL3F8E_SeniorExecutive', + data: managerPositions, + success: true, + timestamp: baseTimestamp + } + }) + // 3. 涉诉风险模块 + result.push({ + data: { + apiID: 'CQYGL3F8E_Lawsuit', + data: { + lawsuitCompanies: lawsuitCompanies, + totalCompanies: qyglData?.items?.length || 0 + }, + success: true, + timestamp: baseTimestamp + } + }) + // 4. 对外投资历史模块 - 从所有企业中收集投资历史 + const allInvestHistory = [] + qyglData?.items?.forEach(company => { + if (company.invest_history?.items) { + company.invest_history.items.forEach(investment => { + allInvestHistory.push({ + ...investment, + companyName: company.orgName, // 添加企业名称 + companyInfo: { + orgName: company.orgName, + relationship: company.relationship, + basicInfo: company.basicInfo + } + }) + }) + } + }) + result.push({ + data: { + apiID: 'CQYGL3F8E_InvestHistory', + data: { items: allInvestHistory, total: allInvestHistory.length }, + success: true, + timestamp: baseTimestamp + } + }) + + // 5. 融资历史模块 - 从所有企业中收集融资历史 + const allFinancingHistory = [] + qyglData?.items?.forEach(company => { + if (company.financing_history?.items) { + company.financing_history.items.forEach(financing => { + allFinancingHistory.push({ + ...financing, + companyName: company.orgName, // 添加企业名称 + companyInfo: { + orgName: company.orgName, + relationship: company.relationship, + basicInfo: company.basicInfo + } + }) + }) + } + }) + result.push({ + data: { + apiID: 'CQYGL3F8E_FinancingHistory', + data: { items: allFinancingHistory, total: allFinancingHistory.length }, + success: true, + timestamp: baseTimestamp + } + }) + + // 6. 行政处罚模块 - 从所有企业中收集行政处罚 + const allPunishmentInfo = [] + qyglData?.items?.forEach(company => { + if (company.punishment_info?.items) { + company.punishment_info.items.forEach(punishment => { + allPunishmentInfo.push({ + ...punishment, + companyName: company.orgName, // 添加企业名称 + companyInfo: { + orgName: company.orgName, + relationship: company.relationship, + basicInfo: company.basicInfo + } + }) + }) + } + }) + result.push({ + data: { + apiID: 'CQYGL3F8E_Punishment', + data: { items: allPunishmentInfo, total: allPunishmentInfo.length }, + success: true, + timestamp: baseTimestamp + } + }) + + // 7. 经营异常模块 - 从所有企业中收集经营异常 + const allAbnormalInfo = [] + qyglData?.items?.forEach(company => { + if (company.abnormal_info?.items) { + company.abnormal_info.items.forEach(abnormal => { + allAbnormalInfo.push({ + ...abnormal, + companyName: company.orgName, // 添加企业名称 + companyInfo: { + orgName: company.orgName, + relationship: company.relationship, + basicInfo: company.basicInfo + } + }) + }) + } + }) + result.push({ + data: { + apiID: 'CQYGL3F8E_Abnormal', + data: { items: allAbnormalInfo, total: allAbnormalInfo.length }, + success: true, + timestamp: baseTimestamp + } + }) + + // 8. 税务风险模块 - 包含欠税公告和税收违法 + const taxRiskCompanies = (qyglData?.items || []).filter((item) => { + const ownTax = item?.own_tax || {}; + const taxContravention = item?.tax_contravention || {}; + return (ownTax.total > 0 && ownTax.items && ownTax.items.length > 0) || + (taxContravention.total > 0 && taxContravention.items && taxContravention.items.length > 0); + }); + + result.push({ + data: { + apiID: 'CQYGL3F8E_TaxRisk', + data: { items: taxRiskCompanies }, + success: true, + timestamp: baseTimestamp + } + }) + + } else { + // 其他数据直接添加 + result.push(item) + } + }) + + return result +} + +/** + * 获取关系文本描述 + * @param {string} relation - 关系代码 + * @returns {string} 关系文本 + */ +export function getRelationshipText(relation) { + const relationshipMap = { + sh: '股东', + his_sh: '曾任股东', + lp: '法人', + his_lp: '曾任法人', + tm: '高管', + his_tm: '曾任高管' + } + return relationshipMap[relation] || relation +} + +/** + * 获取关系样式类 + * @param {string} relation - 关系代码 + * @returns {string} 样式类名 + */ +export function getRelationshipClass(relation) { + const relationshipMap = { + sh: 'bg-blue-100 text-blue-700', + his_sh: 'bg-blue-50 text-blue-600', + lp: 'bg-green-100 text-green-700', + his_lp: 'bg-green-50 text-green-600', + tm: 'bg-purple-100 text-purple-700', + his_tm: 'bg-purple-50 text-purple-600' + } + return relationshipMap[relation] || 'bg-gray-100 text-gray-600' +} + +/** + * 获取企业状态对应的样式类 + * @param {string} status - 企业状态 + * @returns {string} 样式类名 + */ +export function getStatusClass(status) { + if (!status) return 'bg-gray-100 text-gray-500' + + if (status.includes('注销') || status.includes('吊销')) { + return 'bg-red-50 text-red-600' + } else if (status.includes('存续') || status.includes('在营')) { + return 'bg-green-50 text-green-600' + } else if (status.includes('筹建') || status.includes('新设')) { + return 'bg-blue-50 text-blue-600' + } else { + return 'bg-yellow-50 text-yellow-600' + } +} + +/** + * 格式化资本金额显示 + * @param {string|number} capital - 资本金额 + * @param {string} currency - 货币类型 + * @returns {string} 格式化后的金额 + */ +export function formatCapital(capital, currency) { + if (!capital) return '—' + + let unit = '' + let value = parseFloat(capital) + + // 处理原始数据中可能带有的单位 + if (typeof capital === 'string' && capital.includes('万')) { + unit = '万' + const numMatch = capital.match(/[\d.]+/) + value = numMatch ? parseFloat(numMatch[0]) : 0 + } else if (value >= 10000) { + // 大额数字转换为万元显示 + value = value / 10000 + unit = '万' + } + + // 格式化数字,保留两位小数(如果有小数部分) + const formattedValue = value.toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + + return `${formattedValue}${unit} ${currency || '人民币'}` +} + +/** + * 格式化日期显示 + * @param {string} dateStr - 日期字符串 + * @returns {string} 格式化后的日期 + */ +export function formatDate(dateStr) { + if (!dateStr) return '—' + return dateStr +} diff --git a/src/ui/DWBG6A2C/README.md b/src/ui/DWBG6A2C/README.md new file mode 100644 index 0000000..036c5dc --- /dev/null +++ b/src/ui/DWBG6A2C/README.md @@ -0,0 +1,178 @@ +# 司南报告组件 (DWBG6A2C) - 模块化架构 + +## 概述 + +司南报告组件采用模块化架构设计,将完整的司南报告拆分成13个独立的模块,每个模块都可以作为独立的tab显示,具有独立的大标题。 + +## 数据结构 + +司南报告的数据结构如下: + +```javascript +{ + "apiID": "DWBG6A2C", + "data": { + "baseInfo": {}, // 基本信息 + "standLiveInfo": {}, // 身份信息核验 + "riskPoint": {}, // 命中风险标注 + "securityInfo": {}, // 公安重点人员核验 + "antiFraudInfo": {}, // 涉赌涉诈人员核验 + "riskList": {}, // 风险名单 + "applicationStatistics": {}, // 历史借贷行为 + "lendingStatistics": {}, // 近24个月放款情况 + "performanceStatistics": {}, // 履约情况 + "overdueRecord": {}, // 历史逾期记录 + "creditDetail": {}, // 授信详情 + "rentalBehavior": {}, // 租赁行为 + "riskSupervision": {}, // 关联风险监督 + "judiciaRiskInfos": [] // 法院风险信息 + }, + "success": true, + "timestamp": "2025-01-20 21:19:58" +} +``` + +## 模块拆分 + +司南报告被拆分成以下14个独立模块: + +| API ID | 模块名称 | 包含数据 | 组件文件 | +|--------|----------|----------|----------| +| `DWBG6A2C_BaseInfo` | 基本信息 | baseInfo | BaseInfoSection.vue | +| `DWBG6A2C_StandLiveInfo` | 身份信息核验 | standLiveInfo | StandLiveInfoSection.vue | +| `DWBG6A2C_RiskPoint` | 命中风险标注 | riskPoint | RiskPointSection.vue | +| `DWBG6A2C_SecurityInfo` | 公安重点人员核验 | securityInfo | SecurityInfoSection.vue | +| `DWBG6A2C_AntiFraudInfo` | 涉赌涉诈人员核验 | antiFraudInfo | AntiFraudInfoSection.vue | +| `DWBG6A2C_RiskList` | 风险名单 | riskList | RiskListSection.vue | +| `DWBG6A2C_ApplicationStatistics` | 历史借贷行为 | applicationStatistics | ApplicationStatisticsSection.vue | +| `DWBG6A2C_LendingStatistics` | 近24个月放款情况 | lendingStatistics | LendingStatisticsSection.vue | +| `DWBG6A2C_PerformanceStatistics` | 履约情况 | performanceStatistics | PerformanceStatisticsSection.vue | +| `DWBG6A2C_OverdueRecord` | 历史逾期记录 | overdueRecord | OverdueRecordSection.vue | +| `DWBG6A2C_CreditDetail` | 授信详情 | creditDetail | CreditDetailSection.vue | +| `DWBG6A2C_RentalBehavior` | 租赁行为 | rentalBehavior | RentalBehaviorSection.vue | +| `DWBG6A2C_RiskSupervision` | 关联风险监督 | riskSupervision | RiskSupervisionSection.vue | +| `DWBG6A2C_CourtRiskInfo` | 法院风险信息 | judiciaRiskInfos | CourtRiskInfoSection.vue | + +## 使用方法 + +### 1. 前端自动拆分 + +BaseReport.vue 已自动配置支持司南报告的模块化显示: + +```javascript +import { splitDWBG6A2CForTabs } from '@/ui/DWBG6A2C/utils/simpleSplitter.js'; + +// 处理数据拆分(支持DWBG8B4D和DWBG6A2C) +const processedReportData = computed(() => { + let data = reportData.value; + + // 拆分DWBG8B4D数据 + data = splitDWBG8B4DForTabs(data); + + // 拆分DWBG6A2C数据 + data = splitDWBG6A2CForTabs(data); + + return data; +}); +``` + +### 2. 组件配置 + +BaseReport.vue 中已配置所有司南报告模块: + +```javascript +// 司南报告 +DWBG6A2C: { + name: "司南报告", + component: defineAsyncComponent(() => import("@/ui/DWBG6A2C/index.vue")), + remark: '司南报告提供全面的个人信用风险评估,包括身份核验、风险名单、借贷行为、履约情况等多维度分析。' +}, +// ... 其他模块配置 +``` + +## 组件结构 + +``` +src/ui/DWBG6A2C/ +├── index.vue # 原始完整组件(保留) +├── README.md # 文档说明 +├── components/ # 子组件目录 +│ ├── BaseInfoSection.vue # 基本信息 +│ ├── StandLiveInfoSection.vue # 身份信息核验 +│ ├── RiskPointSection.vue # 命中风险标注 +│ ├── SecurityInfoSection.vue # 公安重点人员核验 +│ ├── AntiFraudInfoSection.vue # 涉赌涉诈人员核验 +│ ├── RiskListSection.vue # 风险名单 +│ ├── ApplicationStatisticsSection.vue # 历史借贷行为 +│ ├── LendingStatisticsSection.vue # 近24个月放款情况 +│ ├── PerformanceStatisticsSection.vue # 履约情况 +│ ├── OverdueRecordSection.vue # 历史逾期记录 +│ ├── CreditDetailSection.vue # 授信详情 +│ ├── RentalBehaviorSection.vue # 租赁行为 +│ ├── RiskSupervisionSection.vue # 关联风险监督 +│ └── CourtRiskInfoSection.vue # 法院风险信息 +└── utils/ + └── simpleSplitter.js # 数据拆分工具 +``` + +## 特色功能 + +### 1. 智能风险评估 +- 多维度风险标注 +- 智能颜色编码 +- 风险等级自动判断 + +### 2. 数据可视化 +- 渐变色彩设计 +- 图标化展示 +- 响应式布局 + +### 3. 用户友好 +- 清晰的层次结构 +- 详细的说明文档 +- 直观的风险提示 + +### 4. 模块化设计 +- 独立的模块组件 +- 可复用的工具函数 +- 灵活的数据拆分 + +## 工具函数 + +`utils/simpleSplitter.js` 提供了以下工具函数: + +- `splitDWBG6A2CForTabs()` - 数据拆分 +- `formatRiskLevel()` - 格式化风险等级 +- `formatPhoneStatus()` - 格式化手机号状态 +- `formatVerificationResult()` - 格式化身份核验结果 +- `formatInTime()` - 格式化在网时长 +- `hasRiskData()` - 检查是否有风险数据 + +## 使用示例 + +```javascript +// 在页面中使用 + +``` + +## 注意事项 + +1. 确保数据格式符合司南报告的标准结构 +2. 所有模块都支持数据为空的情况 +3. 风险评估基于实际数据动态计算 +4. 组件采用 Tailwind CSS 进行样式设计 +5. 支持移动端响应式布局 + +## 更新日志 + +- v1.0.0: 初始版本,支持完整的司南报告模块化显示 +- 包含13个独立模块 +- 支持自动数据拆分 +- 提供完整的风险评估功能 diff --git a/src/ui/DWBG6A2C/components/AntiFraudInfoSection.vue b/src/ui/DWBG6A2C/components/AntiFraudInfoSection.vue new file mode 100644 index 0000000..914c775 --- /dev/null +++ b/src/ui/DWBG6A2C/components/AntiFraudInfoSection.vue @@ -0,0 +1,527 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/ApplicationStatisticsSection.vue b/src/ui/DWBG6A2C/components/ApplicationStatisticsSection.vue new file mode 100644 index 0000000..08fe280 --- /dev/null +++ b/src/ui/DWBG6A2C/components/ApplicationStatisticsSection.vue @@ -0,0 +1,398 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/BaseInfoSection.vue b/src/ui/DWBG6A2C/components/BaseInfoSection.vue new file mode 100644 index 0000000..7edbf10 --- /dev/null +++ b/src/ui/DWBG6A2C/components/BaseInfoSection.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/CourtRiskInfoSection.vue b/src/ui/DWBG6A2C/components/CourtRiskInfoSection.vue new file mode 100644 index 0000000..4c94553 --- /dev/null +++ b/src/ui/DWBG6A2C/components/CourtRiskInfoSection.vue @@ -0,0 +1,591 @@ + + + + + \ No newline at end of file diff --git a/src/ui/DWBG6A2C/components/CreditDetailSection.vue b/src/ui/DWBG6A2C/components/CreditDetailSection.vue new file mode 100644 index 0000000..a609125 --- /dev/null +++ b/src/ui/DWBG6A2C/components/CreditDetailSection.vue @@ -0,0 +1,300 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/LendingStatisticsSection.vue b/src/ui/DWBG6A2C/components/LendingStatisticsSection.vue new file mode 100644 index 0000000..700e948 --- /dev/null +++ b/src/ui/DWBG6A2C/components/LendingStatisticsSection.vue @@ -0,0 +1,567 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/OverdueRecordSection.vue b/src/ui/DWBG6A2C/components/OverdueRecordSection.vue new file mode 100644 index 0000000..8e91936 --- /dev/null +++ b/src/ui/DWBG6A2C/components/OverdueRecordSection.vue @@ -0,0 +1,617 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/PerformanceStatisticsSection.vue b/src/ui/DWBG6A2C/components/PerformanceStatisticsSection.vue new file mode 100644 index 0000000..da4c6b8 --- /dev/null +++ b/src/ui/DWBG6A2C/components/PerformanceStatisticsSection.vue @@ -0,0 +1,522 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/RentalBehaviorSection.vue b/src/ui/DWBG6A2C/components/RentalBehaviorSection.vue new file mode 100644 index 0000000..03d1c8f --- /dev/null +++ b/src/ui/DWBG6A2C/components/RentalBehaviorSection.vue @@ -0,0 +1,824 @@ + + + + + \ No newline at end of file diff --git a/src/ui/DWBG6A2C/components/RiskListSection.vue b/src/ui/DWBG6A2C/components/RiskListSection.vue new file mode 100644 index 0000000..9f2aae6 --- /dev/null +++ b/src/ui/DWBG6A2C/components/RiskListSection.vue @@ -0,0 +1,407 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/RiskPointSection.vue b/src/ui/DWBG6A2C/components/RiskPointSection.vue new file mode 100644 index 0000000..5e946d2 --- /dev/null +++ b/src/ui/DWBG6A2C/components/RiskPointSection.vue @@ -0,0 +1,436 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/RiskSupervisionSection.vue b/src/ui/DWBG6A2C/components/RiskSupervisionSection.vue new file mode 100644 index 0000000..2e5d339 --- /dev/null +++ b/src/ui/DWBG6A2C/components/RiskSupervisionSection.vue @@ -0,0 +1,384 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/SecurityInfoSection.vue b/src/ui/DWBG6A2C/components/SecurityInfoSection.vue new file mode 100644 index 0000000..14adb53 --- /dev/null +++ b/src/ui/DWBG6A2C/components/SecurityInfoSection.vue @@ -0,0 +1,427 @@ + + + + + diff --git a/src/ui/DWBG6A2C/components/StandLiveInfoSection.vue b/src/ui/DWBG6A2C/components/StandLiveInfoSection.vue new file mode 100644 index 0000000..7d07e97 --- /dev/null +++ b/src/ui/DWBG6A2C/components/StandLiveInfoSection.vue @@ -0,0 +1,383 @@ + + + + \ No newline at end of file diff --git a/src/ui/DWBG6A2C/index.vue b/src/ui/DWBG6A2C/index.vue new file mode 100644 index 0000000..6b710b0 --- /dev/null +++ b/src/ui/DWBG6A2C/index.vue @@ -0,0 +1,120 @@ + + + + + diff --git a/src/ui/DWBG6A2C/utils/intervalFormatter.js b/src/ui/DWBG6A2C/utils/intervalFormatter.js new file mode 100644 index 0000000..dd54cf2 --- /dev/null +++ b/src/ui/DWBG6A2C/utils/intervalFormatter.js @@ -0,0 +1,304 @@ +/** + * 区间表达式格式化工具 + * 将数学区间表达式转换为用户友好的文本描述 + */ + +/** + * 格式化区间表达式 + * @param {string} interval - 区间表达式,如 "(0,1000)", "[2000,30000)", "[17,+)" + * @param {string} unit - 单位,如 "元", "次", "个", "天" 等 + * @returns {string} 格式化后的文本,如果格式化失败则返回原数据 + */ +export function formatInterval(interval, unit = "") { + // 如果数据为空或无效,返回原数据 + if (!interval || interval === "-" || interval === "0") { + return interval || "-"; + } + + try { + // 处理特殊格式,如 "3,6(个月)" + if (interval.includes("(") && interval.includes(")")) { + const match = interval.match(/^(\d+(?:,\d+)*)\((.+)\)$/); + if (match) { + const numbers = match[1].split(",").map((n) => n.trim()); + const timeUnit = match[2]; + if (numbers.length === 2) { + return `${numbers[0]}-${numbers[1]}${timeUnit}`; + } + return `${numbers.join(", ")}${timeUnit}`; + } + } + + // 处理区间表达式 + const intervalPattern = + /^([\[\(])(\d+(?:\.\d+)?),(\d+(?:\.\d+)?|\+)([\]\)])$/; + const match = interval.match(intervalPattern); + + // 如果不是区间表达式,返回原数据 + if (!match) { + return interval; + } + + const [, leftBracket, leftValue, rightValue, rightBracket] = match; + const isLeftInclusive = leftBracket === "["; + const isRightInclusive = rightBracket === "]"; + const isRightInfinity = rightValue === "+"; + + let result = ""; + + if (isRightInfinity) { + // 处理无穷大情况,如 "[17,+)" + if (isLeftInclusive) { + result = `≥${leftValue}${unit}`; + } else { + result = `>${leftValue}${unit}`; + } + } else { + // 处理有限区间 + const leftNum = parseFloat(leftValue); + const rightNum = parseFloat(rightValue); + + // 检查数值是否有效 + if (isNaN(leftNum) || isNaN(rightNum)) { + return interval; + } + + if (leftNum === rightNum) { + // 单点值 + result = `${leftNum}${unit}`; + } else { + // 区间值 - 简化为实际数值范围 + if (isLeftInclusive && isRightInclusive) { + result = `${leftNum}-${rightNum}${unit}`; + } else if (isLeftInclusive && !isRightInclusive) { + // 右开区间,显示到 rightNum-1 + result = `${leftNum}-${rightNum - 1}${unit}`; + } else if (!isLeftInclusive && isRightInclusive) { + // 左开区间,显示从 leftNum+1 + result = `${leftNum + 1}-${rightNum}${unit}`; + } else { + // 两端都不包含,显示从 leftNum+1 到 rightNum-1 + result = `${leftNum + 1}-${rightNum - 1}${unit}`; + } + } + } + + return result; + } catch (error) { + // 如果格式化过程中出现错误,返回原数据 + console.warn("区间格式化失败:", error, "原数据:", interval); + return interval; + } +} + +/** + * 格式化金额区间 + * @param {string} interval - 金额区间表达式 + * @returns {string} 格式化后的金额文本 + */ +export function formatAmountInterval(interval) { + return formatInterval(interval, "元"); +} + +/** + * 格式化次数区间 + * @param {string} interval - 次数区间表达式 + * @returns {string} 格式化后的次数文本 + */ +export function formatCountInterval(interval) { + return formatInterval(interval, "次"); +} + +/** + * 格式化天数区间 + * @param {string} interval - 天数区间表达式 + * @returns {string} 格式化后的天数文本 + */ +export function formatDaysInterval(interval) { + return formatInterval(interval, "天"); +} + +/** + * 格式化机构数量区间 + * @param {string} interval - 机构数量区间表达式 + * @returns {string} 格式化后的机构数量文本 + */ +export function formatInstitutionInterval(interval) { + return formatInterval(interval, "家"); +} + +/** + * 格式化时间区间 + * @param {string} interval - 时间区间表达式 + * @returns {string} 格式化后的时间文本 + */ +export function formatTimeInterval(interval) { + if (!interval || interval === "-") { + return "-"; + } + + // 处理特殊格式,如 "3,6(个月)" + if (interval.includes("(") && interval.includes(")")) { + const match = interval.match(/^(\d+(?:,\d+)*)\((.+)\)$/); + if (match) { + const numbers = match[1].split(",").map((n) => n.trim()); + const timeUnit = match[2]; + if (numbers.length === 2) { + return `${numbers[0]}-${numbers[1]}${timeUnit}`; + } + return `${numbers.join(", ")}${timeUnit}`; + } + } + + return formatInterval(interval, ""); +} + +/** + * 格式化申请次数区间 + * @param {string} interval - 申请次数区间表达式,格式如 "2/1" + * @returns {string} 格式化后的申请次数文本 + */ +export function formatApplicationInterval(interval) { + if (!interval || interval === "-") { + return "-"; + } + + // 处理 "2/1" 格式,表示 申请次数/机构数 + if (interval.includes("/")) { + const [applyCount, institutionCount] = interval.split("/"); + return `${applyCount}次/${institutionCount}家`; + } + + return formatCountInterval(interval); +} + +/** + * 格式化租赁申请数据 - 专门处理司南报告中的 "次数/机构数" 格式 + * @param {string} data - 租赁申请数据,格式如 "2/1" (次数/机构数) + * @returns {Object} 包含格式化后的次数和机构数的对象 + */ +export function formatRentalApplicationData(data) { + if (!data || data === "-" || data === "0/0") { + return { + count: 0, + institutions: 0, + countText: "0 次", + institutionsText: "0 家", + combinedText: "0 次 / 0 家", + }; + } + + if (data.includes("/")) { + const [countStr, institutionsStr] = data.split("/"); + const count = parseInt(countStr) || 0; + const institutions = parseInt(institutionsStr) || 0; + + return { + count, + institutions, + countText: `${count} 次`, + institutionsText: `${institutions} 家`, + combinedText: `${count} 次 / ${institutions} 家`, + }; + } + + // 如果不是标准格式,返回原数据 + return { + count: 0, + institutions: 0, + countText: data, + institutionsText: data, + combinedText: data, + }; +} + +/** + * 格式化风险等级文本 + * @param {string} level - 风险等级,如 "C2,C5" + * @returns {string} 格式化后的风险等级文本 + */ +export function formatRiskLevel(level) { + if (!level) return "-"; + + const levelMap = { + 0: "正常人员", + A: "前科:侵犯公民人身权利,民主权利", + A1: "盗窃", + A2: "诈骗", + A3: "抢劫/夺", + A4: "故意伤害/杀人", + A5: "强奸/性侵/猥亵", + B: "经济类前科", + B1: "走私", + B2: "破坏金融管理秩序", + B3: "正常人员", + B4: "洗钱", + B5: "洗钱", + C: "妨害社会管理秩序", + C1: "扰乱公共秩序", + C2: "妨害司法", + C3: "涉毒", + C4: "涉黄刑案", + C5: "帮信/掩隐/侵公", + D: "重点", + D1: "危害国家、公共安全", + D2: "涉稳", + D3: "涉及境外", + D4: "涉恐、疆藏", + D5: "涉黑", + E: "涉交通案件", + F: "法院文书", + }; + + return level + .split(",") + .map((l) => levelMap[l.trim()] || l.trim()) + .join("、"); +} + +/** + * 格式化状态文本 + * @param {string} status - 状态值 + * @param {Object} statusMap - 状态映射对象 + * @returns {string} 格式化后的状态文本 + */ +export function formatStatus(status, statusMap = {}) { + if (status === undefined || status === null || status === "") { + return "-"; + } + + return statusMap[status] || status; +} + +/** + * 格式化风险标识 + * @param {number} flag - 风险标识,0=未查得,1=高风险,2=低风险 + * @returns {Object} 包含文本和样式的对象 + */ +export function formatRiskFlag(flag) { + const flagMap = { + 0: { text: "未查得", class: "bg-gray-100 text-gray-700" }, + 1: { text: "高风险", class: "bg-red-100 text-red-700" }, + 2: { text: "低风险", class: "bg-green-100 text-green-700" }, + }; + + return ( + flagMap[flag] || { text: "未知", class: "bg-gray-100 text-gray-700" } + ); +} + +/** + * 格式化验证结果 + * @param {string} result - 验证结果 + * @returns {Object} 包含文本和样式的对象 + */ +export function formatVerificationResult(result) { + const resultMap = { + 一致: { text: "一致", class: "text-green-600" }, + 不一致: { text: "不一致", class: "text-red-600" }, + 验证通过: { text: "验证通过", class: "text-green-600" }, + 验证失败: { text: "验证失败", class: "text-red-600" }, + }; + + return resultMap[result] || { text: result || "-", class: "text-gray-600" }; +} diff --git a/src/ui/DWBG6A2C/utils/simpleSplitter.js b/src/ui/DWBG6A2C/utils/simpleSplitter.js new file mode 100644 index 0000000..8dc05d1 --- /dev/null +++ b/src/ui/DWBG6A2C/utils/simpleSplitter.js @@ -0,0 +1,311 @@ +/** + * 司南报告(DWBG6A2C)数据拆分工具 + * 将完整的司南报告数据拆分成多个独立的模块,用于在不同的tab中显示 + */ + +/** + * 将DWBG6A2C数据拆分为多个独立的tab模块 + * @param {Array} reportData - 原始报告数据数组 + * @returns {Array} 拆分后的模块数组 + */ +export function splitDWBG6A2CForTabs(reportData) { + // 查找DWBG6A2C数据 + const dwbg6a2cData = reportData.find(item => item.data?.apiID === 'DWBG6A2C'); + + if (!dwbg6a2cData || !dwbg6a2cData.data?.data) { + return reportData; // 如果没有找到DWBG6A2C数据,返回原数据 + } + + const originalData = dwbg6a2cData.data.data; + const baseTimestamp = dwbg6a2cData.data.timestamp; + + // 创建拆分后的模块数组 + const splitModules = []; + + // 1. 基本信息 + // if (originalData.baseInfo) { + // splitModules.push({ + // data: { + // apiID: 'DWBG6A2C_BaseInfo', + // data: { + // baseInfo: originalData.baseInfo + // }, + // success: true, + // timestamp: baseTimestamp + // } + // }); + // } + + // 2. 身份信息核验 + if (originalData.standLiveInfo) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_StandLiveInfo', + data: { + standLiveInfo: originalData.standLiveInfo + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 3. 命中风险标注 + if (originalData.riskPoint) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_RiskPoint', + data: { + riskPoint: originalData.riskPoint + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 4. 公安重点人员核验 + if (originalData.securityInfo) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_SecurityInfo', + data: { + securityInfo: originalData.securityInfo + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 5. 涉赌涉诈人员核验 + if (originalData.antiFraudInfo) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_AntiFraudInfo', + data: { + antiFraudInfo: originalData.antiFraudInfo + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 6. 风险名单 + if (originalData.riskList) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_RiskList', + data: { + riskList: originalData.riskList + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 7. 历史借贷行为 + if (originalData.applicationStatistics) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_ApplicationStatistics', + data: { + applicationStatistics: originalData.applicationStatistics + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 8. 近24个月放款情况 + if (originalData.lendingStatistics) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_LendingStatistics', + data: { + lendingStatistics: originalData.lendingStatistics + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 9. 履约情况 + if (originalData.performanceStatistics) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_PerformanceStatistics', + data: { + performanceStatistics: originalData.performanceStatistics + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 10. 历史逾期记录 + if (originalData.overdueRecord) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_OverdueRecord', + data: { + overdueRecord: originalData.overdueRecord + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 11. 授信详情 + if (originalData.creditDetail && Object.keys(originalData.creditDetail).length > 0) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_CreditDetail', + data: { + creditDetail: originalData.creditDetail + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 12. 租赁行为 + if (originalData.rentalBehavior) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_RentalBehavior', + data: { + rentalBehavior: originalData.rentalBehavior + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 13. 关联风险监督 + if (originalData.riskSupervision) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_RiskSupervision', + data: { + riskSupervision: originalData.riskSupervision + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 14. 法院风险信息 + if (originalData.judiciaRiskInfos && originalData.judiciaRiskInfos.length > 0) { + splitModules.push({ + data: { + apiID: 'DWBG6A2C_CourtRiskInfo', + data: { + judiciaRiskInfos: originalData.judiciaRiskInfos + }, + success: true, + timestamp: baseTimestamp + } + }); + } + + // 移除原始的DWBG6A2C数据,添加拆分后的模块 + const otherData = reportData.filter(item => item.data?.apiID !== 'DWBG6A2C'); + + return [...otherData, ...splitModules]; +} + +/** + * 格式化风险等级描述 + * @param {string} level - 风险等级 + * @returns {object} 包含颜色和文本的对象 + */ +export function formatRiskLevel(level) { + const riskLevels = { + '0': { color: 'text-green-600', bg: 'bg-green-100', text: '无风险', icon: '✅' }, + '1': { color: 'text-red-600', bg: 'bg-red-100', text: '有风险', icon: '⚠️' }, + 'A': { color: 'text-yellow-600', bg: 'bg-yellow-100', text: '较低风险', icon: '⚠️' }, + 'B': { color: 'text-orange-600', bg: 'bg-orange-100', text: '低风险', icon: '⚠️' }, + 'C': { color: 'text-red-600', bg: 'bg-red-100', text: '中风险', icon: '🚨' }, + 'D': { color: 'text-red-700', bg: 'bg-red-200', text: '高风险', icon: '🚨' } + }; + + return riskLevels[level] || { color: 'text-gray-600', bg: 'bg-gray-100', text: '未知', icon: '❓' }; +} + +/** + * 格式化手机号码状态 + * @param {number} status - 状态码 + * @returns {object} 包含颜色和文本的对象 + */ +export function formatPhoneStatus(status) { + const statusMap = { + '-1': { color: 'text-gray-600', bg: 'bg-gray-100', text: '未查得', icon: '❓' }, + '0': { color: 'text-red-600', bg: 'bg-red-100', text: '空号', icon: '❌' }, + '1': { color: 'text-green-600', bg: 'bg-green-100', text: '实号', icon: '✅' }, + '2': { color: 'text-orange-600', bg: 'bg-orange-100', text: '停机', icon: '⏸️' }, + '3': { color: 'text-gray-600', bg: 'bg-gray-100', text: '库无', icon: '❓' }, + '4': { color: 'text-yellow-600', bg: 'bg-yellow-100', text: '沉默号', icon: '😴' }, + '5': { color: 'text-red-600', bg: 'bg-red-100', text: '风险号', icon: '⚠️' } + }; + + return statusMap[status.toString()] || { color: 'text-gray-600', bg: 'bg-gray-100', text: '未知', icon: '❓' }; +} + +/** + * 格式化身份核验结果 + * @param {string} result - 核验结果 + * @returns {object} 包含颜色和文本的对象 + */ +export function formatVerificationResult(result) { + const resultMap = { + '0': { color: 'text-green-600', bg: 'bg-green-100', text: '一致', icon: '✅' }, + '1': { color: 'text-red-600', bg: 'bg-red-100', text: '不一致或不存在', icon: '❌' } + }; + + return resultMap[result] || { color: 'text-gray-600', bg: 'bg-gray-100', text: '未知', icon: '❓' }; +} + +/** + * 格式化在网时长 + * @param {string} inTime - 在网时长代码 + * @returns {object} 包含颜色和文本的对象 + */ +export function formatInTime(inTime) { + const timeMap = { + '0': { color: 'text-red-600', bg: 'bg-red-100', text: '0-3个月', icon: '📱' }, + '3': { color: 'text-orange-600', bg: 'bg-orange-100', text: '3-6个月', icon: '📱' }, + '6': { color: 'text-yellow-600', bg: 'bg-yellow-100', text: '6-12个月', icon: '📱' }, + '12': { color: 'text-blue-600', bg: 'bg-blue-100', text: '12-24个月', icon: '📱' }, + '24': { color: 'text-green-600', bg: 'bg-green-100', text: '24个月以上', icon: '📱' }, + '99': { color: 'text-gray-600', bg: 'bg-gray-100', text: '状态异常', icon: '⚠️' }, + '-1': { color: 'text-gray-600', bg: 'bg-gray-100', text: '查无记录', icon: '❓' } + }; + + return timeMap[inTime] || { color: 'text-gray-600', bg: 'bg-gray-100', text: '未知', icon: '❓' }; +} + +/** + * 检查是否有风险数据 + * @param {Object} data - 数据对象 + * @returns {boolean} 是否有风险 + */ +export function hasRiskData(data) { + if (!data) return false; + + // 检查对象中是否有非0值 + return Object.values(data).some(value => { + if (typeof value === 'number') return value > 0; + if (typeof value === 'string') return value !== '0' && value !== '-' && value !== ''; + return false; + }); +} diff --git a/src/ui/DWBG7F3A/components/CircleRiskSection.vue b/src/ui/DWBG7F3A/components/CircleRiskSection.vue new file mode 100644 index 0000000..c271ea4 --- /dev/null +++ b/src/ui/DWBG7F3A/components/CircleRiskSection.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/ui/DWBG7F3A/components/FraudRiskSection.vue b/src/ui/DWBG7F3A/components/FraudRiskSection.vue new file mode 100644 index 0000000..36ba87d --- /dev/null +++ b/src/ui/DWBG7F3A/components/FraudRiskSection.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/src/ui/DWBG7F3A/components/MultipleApplicationSection.vue b/src/ui/DWBG7F3A/components/MultipleApplicationSection.vue new file mode 100644 index 0000000..40d02db --- /dev/null +++ b/src/ui/DWBG7F3A/components/MultipleApplicationSection.vue @@ -0,0 +1,519 @@ + + + + + diff --git a/src/ui/DWBG7F3A/components/MultipleDebtScoreSection.vue b/src/ui/DWBG7F3A/components/MultipleDebtScoreSection.vue new file mode 100644 index 0000000..f734648 --- /dev/null +++ b/src/ui/DWBG7F3A/components/MultipleDebtScoreSection.vue @@ -0,0 +1,97 @@ + + + + + + diff --git a/src/ui/DWBG7F3A/components/MultipleOverdueSection.vue b/src/ui/DWBG7F3A/components/MultipleOverdueSection.vue new file mode 100644 index 0000000..b5e0709 --- /dev/null +++ b/src/ui/DWBG7F3A/components/MultipleOverdueSection.vue @@ -0,0 +1,396 @@ + + + + + diff --git a/src/ui/DWBG7F3A/index.vue b/src/ui/DWBG7F3A/index.vue new file mode 100644 index 0000000..3004293 --- /dev/null +++ b/src/ui/DWBG7F3A/index.vue @@ -0,0 +1,136 @@ + + + diff --git a/src/ui/DWBG7F3A/utils/riskDataParser.js b/src/ui/DWBG7F3A/utils/riskDataParser.js new file mode 100644 index 0000000..9de438b --- /dev/null +++ b/src/ui/DWBG7F3A/utils/riskDataParser.js @@ -0,0 +1,271 @@ +/** + * 解析多头借贷行业风险版数据 + * @param {Array} riskInfo - riskInfo_report_v3.1 数组 + * @returns {Object} 解析后的结构化数据 + */ +export function parseRiskData(riskInfo) { + if (!Array.isArray(riskInfo)) { + return {} + } + + // 创建 riskCode 到 riskCodeValue 的映射 + const riskMap = {} + riskInfo.forEach(item => { + const code = String(item.riskCode) + const value = item.riskCodeValue + riskMap[code] = value + }) + + const result = { + // 多头共债子分 + multipleDebtScore: { + general: parseValue(riskMap['41001']), // 多头申请通用分 + shortCycle: parseValue(riskMap['41002']), // 短周期多头共债子分 + longCycle: parseValue(riskMap['41003']), // 长周期多头共债子分 + nonBank: parseValue(riskMap['41004']), // 非银行多头共债子分 + bank: parseValue(riskMap['41005']), // 银行多头共债子分 + }, + + // 多头申请 + multipleApplication: parseMultipleApplication(riskMap), + + // 多头逾期 + multipleOverdue: parseMultipleOverdue(riskMap), + + // 圈团风险 + circleRisk: { + riskScore1: parseValue(riskMap['21007']), // 圈团1浓度分V2 + riskLevel2: parseValue(riskMap['22006']), // 圈团2风险等级V1 + riskScore3: parseValue(riskMap['23006']), // 圈团3浓度分V1 + }, + + // 可疑欺诈风险 + fraudRisk: { + riskLevel1: parseValue(riskMap['31006']), // 疑似准入风险V1 + riskLevel2: parseValue(riskMap['310018']), // 疑似准入风险V2 + }, + + // 查询天数差 + queryDays: { + earliestQueryDays: parseValue(riskMap['40189']), // 最早一次查询距今的天数 + latestQueryDays: parseValue(riskMap['40190']), // 最近一次查询距今的天数 + earliestBankDays: parseValue(riskMap['40191']), // 最早一次在银行机构距今的天数 + latestBankDays: parseValue(riskMap['40192']), // 最近一次在银行机构距今的天数 + earliestNonBankDays: parseValue(riskMap['40193']), // 最早一次在非银机构距今的天数 + latestNonBankDays: parseValue(riskMap['40194']), // 最近一次在非银机构距今的天数 + }, + } + + return result +} + +/** + * 解析多头申请数据 + */ +function parseMultipleApplication(riskMap) { + const periods = ['7d', '15d', '30d', '60d', '90d', '180d', '360d', '720d'] + const periodMap = { + '7d': 0, + '15d': 1, + '30d': 2, + '60d': 3, + '90d': 4, + '180d': 5, + '360d': 6, + '720d': 7, + } + + const industries = ['total', 'bank', 'licensedConsumer', 'fintech', 'tech', 'other'] + const industryMap = { + total: 0, + bank: 1, + licensedConsumer: 2, + fintech: 3, + tech: 4, + other: 5, + } + + // 行业次数 (40001-40048) + const applicationCounts = {} + periods.forEach((period, pIdx) => { + applicationCounts[period] = {} + industries.forEach((industry, iIdx) => { + const code = 40001 + pIdx * 6 + iIdx + applicationCounts[period][industry] = parseValue(riskMap[String(code)]) + }) + }) + + // 行业平台数 (40049-40096) + const platformCounts = {} + periods.forEach((period, pIdx) => { + platformCounts[period] = {} + industries.forEach((industry, iIdx) => { + const code = 40049 + pIdx * 6 + iIdx + platformCounts[period][industry] = parseValue(riskMap[String(code)]) + }) + }) + + // 总白天/凌晨申请数 (40097-40112) + const dayNightCounts = { + day: {}, + night: {}, + } + periods.forEach((period, pIdx) => { + dayNightCounts.day[period] = parseValue(riskMap[String(40097 + pIdx)]) + dayNightCounts.night[period] = parseValue(riskMap[String(40105 + pIdx)]) + }) + + // 银行白天/凌晨申请数 (40113-40128) + const bankDayNightCounts = { + day: {}, + night: {}, + } + periods.forEach((period, pIdx) => { + bankDayNightCounts.day[period] = parseValue(riskMap[String(40113 + pIdx)]) + bankDayNightCounts.night[period] = parseValue(riskMap[String(40121 + pIdx)]) + }) + + // 总白天/凌晨申请平台数 (40129-40144) + const dayNightPlatforms = { + day: {}, + night: {}, + } + periods.forEach((period, pIdx) => { + dayNightPlatforms.day[period] = parseValue(riskMap[String(40129 + pIdx)]) + dayNightPlatforms.night[period] = parseValue(riskMap[String(40137 + pIdx)]) + }) + + // 银行白天/凌晨申请平台数 (40145-40160) + const bankDayNightPlatforms = { + day: {}, + night: {}, + } + periods.forEach((period, pIdx) => { + bankDayNightPlatforms.day[period] = parseValue(riskMap[String(40145 + pIdx)]) + bankDayNightPlatforms.night[period] = parseValue(riskMap[String(40153 + pIdx)]) + }) + + // 新增总平台数 (40161-40174) + const newTotalPlatforms = { + '7d_vs_30d': parseValue(riskMap['40161']), + '7d_vs_90d': parseValue(riskMap['40162']), + '7d_vs_180d': parseValue(riskMap['40163']), + '7d_vs_360d': parseValue(riskMap['40164']), + '7d_vs_720d': parseValue(riskMap['40165']), + '15d_vs_30d': parseValue(riskMap['40166']), + '15d_vs_90d': parseValue(riskMap['40167']), + '15d_vs_180d': parseValue(riskMap['40168']), + '15d_vs_360d': parseValue(riskMap['40169']), + '15d_vs_720d': parseValue(riskMap['40170']), + '30d_vs_90d': parseValue(riskMap['40171']), + '30d_vs_180d': parseValue(riskMap['40172']), + '30d_vs_360d': parseValue(riskMap['40173']), + '30d_vs_720d': parseValue(riskMap['40174']), + } + + // 新增银行总平台数 (40175-40188) + const newBankPlatforms = { + '7d_vs_30d': parseValue(riskMap['40175']), + '7d_vs_90d': parseValue(riskMap['40176']), + '7d_vs_180d': parseValue(riskMap['40177']), + '7d_vs_360d': parseValue(riskMap['40178']), + '7d_vs_720d': parseValue(riskMap['40179']), + '15d_vs_30d': parseValue(riskMap['40180']), + '15d_vs_90d': parseValue(riskMap['40181']), + '15d_vs_180d': parseValue(riskMap['40182']), + '15d_vs_360d': parseValue(riskMap['40183']), + '15d_vs_720d': parseValue(riskMap['40184']), + '30d_vs_90d': parseValue(riskMap['40185']), + '30d_vs_180d': parseValue(riskMap['40186']), + '30d_vs_360d': parseValue(riskMap['40187']), + '30d_vs_720d': parseValue(riskMap['40188']), + } + + return { + applicationCounts, + platformCounts, + dayNightCounts, + bankDayNightCounts, + dayNightPlatforms, + bankDayNightPlatforms, + newTotalPlatforms, + newBankPlatforms, + totalApplications: applicationCounts, + } +} + +/** + * 解析多头逾期数据 + */ +function parseMultipleOverdue(riskMap) { + const periods = ['1week', '1month', '3month', '6month', '12month', 'over1year'] + const periodCodeMap = { + '1week': { platform: 17001, count: 17101 }, + '1month': { platform: 17002, count: 17102 }, + '3month': { platform: 17003, count: 17103 }, + '6month': { platform: 17004, count: 17104 }, + '12month': { platform: 17005, count: 17105 }, + 'over1year': { platform: 17006, count: 17106 }, + } + + const industries = ['total', 'bank', 'insurance', 'securities', 'trust', 'assetManagement', 'licensedConsumer', 'fintech', 'loanSupermarket', 'dataRisk', 'other'] + const industryCodeMap = { + total: 0, + bank: 1, + insurance: 2, + securities: 3, + trust: 4, + assetManagement: 5, + licensedConsumer: 6, + fintech: 7, + loanSupermarket: 8, + dataRisk: 9, + other: 10, + } + + const overduePlatforms = {} + const overdueCounts = {} + + periods.forEach(period => { + const { platform: basePlatformCode, count: baseCountCode } = periodCodeMap[period] + + overduePlatforms[period] = {} + overdueCounts[period] = {} + + industries.forEach(industry => { + const codeOffset = industryCodeMap[industry] + + // 处理特殊的 code 格式 + // 总计用基础code,其他行业用 baseCode * 10 + offset + let finalPlatformCode, finalCountCode + if (codeOffset === 0) { + finalPlatformCode = basePlatformCode + finalCountCode = baseCountCode + } else { + // 如 170011 = 17001 * 10 + 1 + finalPlatformCode = basePlatformCode * 10 + codeOffset + finalCountCode = baseCountCode * 10 + codeOffset + } + + overduePlatforms[period][industry] = parseValue(riskMap[String(finalPlatformCode)]) + overdueCounts[period][industry] = parseValue(riskMap[String(finalCountCode)]) + }) + }) + + return { + overduePlatforms, + overdueCounts, + } +} + +/** + * 解析数值(处理字符串和数字) + */ +function parseValue(value) { + if (value === undefined || value === null || value === '') { + return 0 + } + const num = Number(value) + return isNaN(num) ? 0 : num +} + diff --git a/src/ui/FLXG7E8F/components/CaseDetail.vue b/src/ui/FLXG7E8F/components/CaseDetail.vue new file mode 100644 index 0000000..05820ff --- /dev/null +++ b/src/ui/FLXG7E8F/components/CaseDetail.vue @@ -0,0 +1,404 @@ + + + + diff --git a/src/ui/FLXG7E8F/components/StatisticsOverview.vue b/src/ui/FLXG7E8F/components/StatisticsOverview.vue new file mode 100644 index 0000000..df115ac --- /dev/null +++ b/src/ui/FLXG7E8F/components/StatisticsOverview.vue @@ -0,0 +1,285 @@ + + + + diff --git a/src/ui/FLXG7E8F/index.vue b/src/ui/FLXG7E8F/index.vue new file mode 100644 index 0000000..fdd8d80 --- /dev/null +++ b/src/ui/FLXG7E8F/index.vue @@ -0,0 +1,457 @@ + + + + + + diff --git a/src/ui/FLXG7E8F/utils/lawsuitUtils.js b/src/ui/FLXG7E8F/utils/lawsuitUtils.js new file mode 100644 index 0000000..7f1ff3d --- /dev/null +++ b/src/ui/FLXG7E8F/utils/lawsuitUtils.js @@ -0,0 +1,303 @@ +// 案件类型映射表 +export const lawsuitTypeMap = { + breachCase: { + text: '失信被执行', + color: 'text-red-600 bg-red-50', + darkColor: 'bg-red-500', + riskLevel: 'high', // 高风险 + }, + consumptionRestriction: { + text: '限高被执行', + color: 'text-orange-600 bg-orange-50', + darkColor: 'bg-orange-500', + riskLevel: 'high', // 高风险 + }, + criminal: { + text: '刑事案件', + color: 'text-red-600 bg-red-50', + darkColor: 'bg-red-500', + riskLevel: 'high', // 高风险 + }, + civil: { + text: '民事案件', + color: 'text-blue-600 bg-blue-50', + darkColor: 'bg-blue-500', + riskLevel: 'medium', // 中风险 + }, + administrative: { + text: '行政案件', + color: 'text-purple-600 bg-purple-50', + darkColor: 'bg-purple-500', + riskLevel: 'medium', // 中风险 + }, + implement: { + text: '执行案件', + color: 'text-orange-600 bg-orange-50', + darkColor: 'bg-orange-500', + riskLevel: 'medium', // 中风险 + }, + bankrupt: { + text: '强制清算与破产案件', + color: 'text-rose-600 bg-rose-50', + darkColor: 'bg-rose-500', + riskLevel: 'high', // 高风险 + }, + preservation: { + text: '非诉保全审查', + color: 'text-amber-600 bg-amber-50', + darkColor: 'bg-amber-500', + riskLevel: 'low', // 低风险 + }, +} + +// 案件类型文本 +export const getCaseTypeText = type => { + return lawsuitTypeMap[type]?.text || '其他案件' +} + +// 案件类型颜色 +export const getCaseTypeColor = type => { + return lawsuitTypeMap[type]?.color || 'text-gray-600 bg-gray-50' +} + +// 案件类型深色 +export const getCaseTypeDarkColor = type => { + return lawsuitTypeMap[type]?.darkColor || 'bg-gray-500' +} + +// 格式化日期显示 +export const formatDate = dateStr => { + if (!dateStr) return '—' + // 转换YYYY-MM-DD为年月日格式 + if (dateStr.includes('-')) { + const parts = dateStr.split('-') + if (parts.length === 3) { + return `${parts[0]}年${parts[1]}月${parts[2]}日` + } + } + return dateStr // 如果不是标准格式则返回原始字符串 +} + +// 格式化金额显示(单位:万元) +export const formatLawsuitMoney = money => { + if (!money) return '—' + + const value = parseFloat(money) + if (isNaN(value)) return '—' + + // 超过1亿显示亿元 + if (value >= 10000) { + return ( + (value / 10000).toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + ' 亿元' + ) + } + + // 否则显示万元 + return ( + value.toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + ' 万元' + ) +} + +// 获取案件状态样式 +export const getCaseStatusClass = status => { + if (!status) return 'bg-gray-100 text-gray-500' + + if (status.includes('已结') || status.includes('已办结')) { + return 'bg-green-50 text-green-600' + } else if (status.includes('执行中') || status.includes('审理中')) { + return 'bg-blue-50 text-blue-600' + } else if (status.includes('未执行')) { + return 'bg-amber-50 text-amber-600' + } else { + return 'bg-gray-100 text-gray-500' + } +} + +// 获取企业状态对应的样式 +export const getStatusClass = status => { + if (!status) return 'bg-gray-100 text-gray-500' + + if (status.includes('注销') || status.includes('吊销')) { + return 'bg-red-50 text-red-600' + } else if (status.includes('存续') || status.includes('在营')) { + return 'bg-green-50 text-green-600' + } else if (status.includes('筹建') || status.includes('新设')) { + return 'bg-blue-50 text-blue-600' + } else { + return 'bg-yellow-50 text-yellow-600' + } +} + +// 格式化资本金额显示 +export const formatCapital = (capital, currency) => { + if (!capital) return '—' + + // 检查是否包含"万"字或需要显示为万元 + let unit = '' + let value = parseFloat(capital) + + // 处理原始数据中可能带有的单位 + if (typeof capital === 'string' && capital.includes('万')) { + unit = '万' + // 提取数字部分 + const numMatch = capital.match(/[\d.]+/) + value = numMatch ? parseFloat(numMatch[0]) : 0 + } else if (value >= 10000) { + // 大额数字转换为万元显示 + value = value / 10000 + unit = '万' + } + + // 格式化数字,保留两位小数(如果有小数部分) + const formattedValue = value.toLocaleString('zh-CN', { + minimumFractionDigits: 0, + maximumFractionDigits: 2, + }) + + return `${formattedValue}${unit} ${currency || '人民币'}` +} + +// 获取涉诉风险等级 +export const getRiskLevel = lawsuitInfo => { + if (!lawsuitInfo) { + return { + level: 'low', + text: '低风险', + color: 'text-green-600 bg-green-50', + } + } + + // 失信被执行人是最高风险 + if (lawsuitInfo.breachCaseList && lawsuitInfo.breachCaseList.length > 0) { + return { + level: 'high', + text: '高风险', + color: 'text-red-600 bg-red-50', + } + } + + // 限高被执行人是最高风险 + if (lawsuitInfo.consumptionRestrictionList && lawsuitInfo.consumptionRestrictionList.length > 0) { + return { + level: 'high', + text: '高风险', + color: 'text-red-600 bg-red-50', + } + } + + // 有涉诉数据的风险级别 + if (lawsuitInfo.lawsuitStat && Object.keys(lawsuitInfo.lawsuitStat).length > 0) { + // 检查是否有未结案的案件 + const data = lawsuitInfo.lawsuitStat + if (data.count && data.count.count_wei_total && data.count.count_wei_total > 0) { + return { + level: 'medium', + text: '中风险', + color: 'text-amber-600 bg-amber-50', + } + } + + // 只有已结案的为低中风险 + return { + level: 'low-medium', + text: '低中风险', + color: 'text-yellow-600 bg-yellow-50', + } + } + + return { + level: 'low', + text: '低风险', + color: 'text-green-600 bg-green-50', + } +} + +// 获取涉诉案件统计 +export const getLawsuitStats = lawsuitInfo => { + if (!lawsuitInfo) return null + + const stats = { + total: 0, + types: [], + } + + // 统计各类型案件数量 + Object.keys(lawsuitTypeMap).forEach(type => { + let count = 0 + + if (type === 'breachCase') { + count = lawsuitInfo.breachCaseList && lawsuitInfo.breachCaseList.length > 0 ? lawsuitInfo.breachCaseList.length : 0 + } else if (type === 'consumptionRestriction') { + count = lawsuitInfo.consumptionRestrictionList && lawsuitInfo.consumptionRestrictionList.length > 0 ? lawsuitInfo.consumptionRestrictionList.length : 0 + } else if (lawsuitInfo.lawsuitStat && lawsuitInfo.lawsuitStat[type] && Object.keys(lawsuitInfo.lawsuitStat[type]).length > 0) { + const typeData = lawsuitInfo.lawsuitStat[type] + count = typeData.cases && typeData.cases.length ? typeData.cases.length : 0 + } + + if (count > 0) { + stats.total += count + stats.types.push({ + type, + count, + name: getCaseTypeText(type), + color: getCaseTypeColor(type), + darkColor: getCaseTypeDarkColor(type), + }) + } + }) + + return stats +} + +// 获取案件类型优先级顺序 +export const getCaseTypePriority = () => { + return [ + 'breachCase', // 失信被执行人(最高风险) + 'consumptionRestriction', // 限高被执行人 + 'criminal', // 刑事案件 + 'civil', // 民事案件 + 'administrative', // 行政案件 + 'implement', // 执行案件 + 'bankrupt', // 强制清算与破产案件 + 'preservation', // 非诉保全审查 + ] +} + +// 根据案件类型获取风险等级 +export const getCaseTypeRiskLevel = caseType => { + const typeInfo = lawsuitTypeMap[caseType] + if (!typeInfo) { + return { + level: 'low', + text: '低风险', + color: 'text-green-600 bg-green-50', + } + } + + const riskLevelMap = { + high: { + text: '高风险', + color: 'text-red-600 bg-red-50', + }, + medium: { + text: '中风险', + color: 'text-amber-600 bg-amber-50', + }, + low: { + text: '低风险', + color: 'text-green-600 bg-green-50', + }, + } + + return { + level: typeInfo.riskLevel, + ...riskLevelMap[typeInfo.riskLevel], + } +} + diff --git a/src/ui/IVYZ8I9J.vue b/src/ui/IVYZ8I9J.vue new file mode 100644 index 0000000..bd0dfcc --- /dev/null +++ b/src/ui/IVYZ8I9J.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/ui/JRZQ09J8/README.md b/src/ui/JRZQ09J8/README.md new file mode 100644 index 0000000..ee245aa --- /dev/null +++ b/src/ui/JRZQ09J8/README.md @@ -0,0 +1,165 @@ +# 收入评估组件 (JRZQ09J8) + +## 组件概述 + +基于全国社会保险信息系统的缴费基数数据进行收入水平评估,为企业提供专业的收入分析和风险评估服务。 + +## 组件结构 + +``` +JRZQ09J8/ +├── index.vue # 主组件 +├── components/ # 子组件目录 +│ ├── IncomeOverview.vue # 华丽的收入评估概览 +│ ├── IncomeAnalysis.vue # 详细收入分析 +│ └── IncomeLevelGuide.vue # 社保评级对照表 +├── utils/ # 工具函数目录 +│ └── incomeUtils.js # 收入评估工具函数 +└── README.md # 说明文档 +``` + +## 使用方法 + +### 基本用法 + +```vue + + + +``` + +## 数据字段说明 + +| 字段名 | 类型 | 必填 | 描述 | 示例值 | +|-------|------|------|------|--------| +| level | String | 是 | 社保评级等级 | "G" | + +## 评级对照表 + +| level 值 | 社保评级 | 对应月收入范围 | 风险等级 | +|----------|----------|----------------|----------| +| - | **无记录** | 查询无社保记录 | 高风险 | +| A | **A级** | (2000, 4000)元 | 中高风险 | +| B | **B级** | (4000, 6000)元 | 中等风险 | +| C | **C级** | (6000, 8000)元 | 中低风险 | +| D | **D级** | (8000, 10000)元 | 低风险 | +| E | **E级** | (10000, 14000)元 | 很低风险 | +| F | **F级** | (14000, 18000)元 | 极低风险 | +| G | **G级** | (18000, 22000)元 | 极低风险 | +| H | **H级** | (22000, 26000)元 | 无风险 | +| I | **I级** | (26000, 30000)元 | 无风险 | +| J | **J级** | (30000+)元 | 零风险 | + +## 组件特性 + +### 1. 华丽的视觉展示 +- **渐变背景**:使用高级渐变色彩方案 +- **3D效果**:卡片阴影和浮动动画 +- **动态装饰**:浮动圆圈装饰元素 +- **响应式设计**:完美适配各种屏幕尺寸 + +### 2. 专业的数据分析 +- **收入等级可视化**:柱状图展示收入分布 +- **市场对比分析**:与市场平均水平对比 +- **信用风险评估**:基于收入的风险评级 +- **消费能力分析**:预测消费潜力 + +### 3. 详细的评级指南 +- **完整对照表**:所有等级的详细说明 +- **特性标签**:每个等级的关键特征 +- **数据可靠性**:展示数据准确率和覆盖范围 + +### 4. 智能风险评估 +- **动态评分**:根据收入等级自动计算风险分数 +- **个性化建议**:针对不同等级的专业建议 +- **市场定位**:精确的市场百分位排名 + +## 工具函数 + +### incomeUtils.js + +提供了以下核心功能: + +- `getIncomeLevelInfo(level)` - 获取收入等级详细信息 +- `getIncomeRange(level)` - 获取收入范围 +- `getRiskLevel(level)` - 获取风险等级 +- `getMarketComparison(level)` - 获取市场对比分析 +- `getCreditRiskAssessment(level)` - 获取信用风险评估 +- `getConsumptionCapacity(level)` - 获取消费能力分析 +- `generateIncomeAssessmentReport(level)` - 生成完整评估报告 + +## 视觉设计亮点 + +### 1. 色彩系统 +- 使用专业的收入等级色彩映射 +- 渐变背景营造高端感 +- 风险等级颜色区分清晰 + +### 2. 交互体验 +- 悬停效果增强用户体验 +- 平滑的动画过渡 +- 直观的视觉反馈 + +### 3. 信息架构 +- 层次分明的信息展示 +- 重点突出的核心数据 +- 完整的补充说明 + +## 数据说明 + +### 评估依据 +- 基于全国社会保险信息系统 +- 使用社保缴费基数推算收入水平 +- 数据准确率达95%以上 + +### 使用限制 +- 收入范围为税前月收入 +- 存在地区差异,仅供参考 +- 建议结合其他收入证明材料 + +### 更新频率 +- 数据实时更新 +- 全国范围覆盖 +- 持续优化算法模型 + +## 业务价值 + +### 1. 风险控制 +- 精确的收入评估降低信贷风险 +- 多维度风险分析提升决策质量 +- 智能化评分系统提高效率 + +### 2. 客户分层 +- 基于收入的客户分级管理 +- 个性化服务策略制定 +- 精准的市场定位分析 + +### 3. 合规要求 +- 符合金融监管要求 +- 数据来源权威可靠 +- 评估过程透明公开 + +## 注意事项 + +1. 确保传入正确的level值 +2. 组件会自动处理异常数据 +3. 建议在网络良好的环境下使用 +4. 定期更新评估标准以保持准确性 + +## 更新日志 + +- v1.0.0 - 初始版本,支持基础收入评估功能 +- 华丽的视觉展示效果 +- 完整的评级对照系统 +- 专业的风险分析功能 diff --git a/src/ui/JRZQ09J8/components/IncomeAnalysis.vue b/src/ui/JRZQ09J8/components/IncomeAnalysis.vue new file mode 100644 index 0000000..19660bc --- /dev/null +++ b/src/ui/JRZQ09J8/components/IncomeAnalysis.vue @@ -0,0 +1,300 @@ + + + + + diff --git a/src/ui/JRZQ09J8/components/IncomeLevelGuide.vue b/src/ui/JRZQ09J8/components/IncomeLevelGuide.vue new file mode 100644 index 0000000..b4bdaad --- /dev/null +++ b/src/ui/JRZQ09J8/components/IncomeLevelGuide.vue @@ -0,0 +1,445 @@ + + + + + diff --git a/src/ui/JRZQ09J8/components/IncomeOverview.vue b/src/ui/JRZQ09J8/components/IncomeOverview.vue new file mode 100644 index 0000000..db6e3a7 --- /dev/null +++ b/src/ui/JRZQ09J8/components/IncomeOverview.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/src/ui/JRZQ09J8/index.vue b/src/ui/JRZQ09J8/index.vue new file mode 100644 index 0000000..40779c4 --- /dev/null +++ b/src/ui/JRZQ09J8/index.vue @@ -0,0 +1,524 @@ + + + + + diff --git a/src/ui/JRZQ09J8/utils/incomeUtils.js b/src/ui/JRZQ09J8/utils/incomeUtils.js new file mode 100644 index 0000000..7f97535 --- /dev/null +++ b/src/ui/JRZQ09J8/utils/incomeUtils.js @@ -0,0 +1,414 @@ +/** + * 收入评估工具函数 + */ + +/** + * 收入等级映射表 + */ +export const INCOME_LEVEL_MAP = { + '-': { + name: '无记录', + range: '查询无社保记录', + minAmount: 0, + maxAmount: 0, + color: '#94a3b8', + riskLevel: 'high', + description: '未发现社保缴费记录,无法进行收入评估' + }, + 'A': { + name: 'A级收入', + range: '2,000 - 4,000 元', + minAmount: 2000, + maxAmount: 4000, + color: '#ef4444', + riskLevel: 'medium-high', + description: '基础收入水平,消费能力有限' + }, + 'B': { + name: 'B级收入', + range: '4,000 - 6,000 元', + minAmount: 4000, + maxAmount: 6000, + color: '#f97316', + riskLevel: 'medium', + description: '普通收入水平,具备基础消费能力' + }, + 'C': { + name: 'C级收入', + range: '6,000 - 8,000 元', + minAmount: 6000, + maxAmount: 8000, + color: '#eab308', + riskLevel: 'medium-low', + description: '中等收入水平,消费能力良好' + }, + 'D': { + name: 'D级收入', + range: '8,000 - 10,000 元', + minAmount: 8000, + maxAmount: 10000, + color: '#84cc16', + riskLevel: 'low', + description: '中等偏上收入,消费能力较强' + }, + 'E': { + name: 'E级收入', + range: '10,000 - 14,000 元', + minAmount: 10000, + maxAmount: 14000, + color: '#22c55e', + riskLevel: 'very-low', + description: '良好收入水平,消费能力强劲' + }, + 'F': { + name: 'F级收入', + range: '14,000 - 18,000 元', + minAmount: 14000, + maxAmount: 18000, + color: '#10b981', + riskLevel: 'very-low', + description: '较高收入水平,消费能力很强' + }, + 'G': { + name: 'G级收入', + range: '18,000 - 22,000 元', + minAmount: 18000, + maxAmount: 22000, + color: '#06b6d4', + riskLevel: 'minimal', + description: '高收入水平,消费能力强大' + }, + 'H': { + name: 'H级收入', + range: '22,000 - 26,000 元', + minAmount: 22000, + maxAmount: 26000, + color: '#3b82f6', + riskLevel: 'minimal', + description: '很高收入水平,消费能力顶级' + }, + 'I': { + name: 'I级收入', + range: '26,000 - 30,000 元', + minAmount: 26000, + maxAmount: 30000, + color: '#8b5cf6', + riskLevel: 'none', + description: '优秀收入水平,消费能力超强' + }, + 'J': { + name: 'J级收入', + range: '30,000+ 元', + minAmount: 30000, + maxAmount: Infinity, + color: '#d946ef', + riskLevel: 'none', + description: '卓越收入水平,消费潜力无限' + } +} + +/** + * 获取收入等级信息 + * @param {string} level - 收入等级 + * @returns {object} 等级信息 + */ +export const getIncomeLevelInfo = (level) => { + return INCOME_LEVEL_MAP[level] || { + name: '未知等级', + range: '数据异常', + minAmount: 0, + maxAmount: 0, + color: '#94a3b8', + riskLevel: 'unknown', + description: '数据异常,无法进行准确评估' + } +} + +/** + * 获取收入等级显示名称 + * @param {string} level - 收入等级 + * @returns {string} 显示名称 + */ +export const getIncomeLevelName = (level) => { + const levelInfo = getIncomeLevelInfo(level) + return levelInfo.name +} + +/** + * 获取收入范围 + * @param {string} level - 收入等级 + * @returns {string} 收入范围 + */ +export const getIncomeRange = (level) => { + const levelInfo = getIncomeLevelInfo(level) + return levelInfo.range +} + +/** + * 获取收入等级颜色 + * @param {string} level - 收入等级 + * @returns {string} 颜色值 + */ +export const getIncomeLevelColor = (level) => { + const levelInfo = getIncomeLevelInfo(level) + return levelInfo.color +} + +/** + * 获取风险等级 + * @param {string} level - 收入等级 + * @returns {string} 风险等级 + */ +export const getRiskLevel = (level) => { + const levelInfo = getIncomeLevelInfo(level) + return levelInfo.riskLevel +} + +/** + * 格式化金额 + * @param {number} amount - 金额 + * @returns {string} 格式化后的金额 + */ +export const formatAmount = (amount) => { + if (!amount || amount === 0) return '0' + + return amount.toLocaleString('zh-CN', { + style: 'currency', + currency: 'CNY', + minimumFractionDigits: 0, + maximumFractionDigits: 0 + }) +} + +/** + * 获取收入等级排名百分比 + * @param {string} level - 收入等级 + * @returns {number} 排名百分比 (0-100) + */ +export const getIncomePercentile = (level) => { + const percentileMap = { + '-': 0, + 'A': 10, + 'B': 25, + 'C': 40, + 'D': 55, + 'E': 70, + 'F': 80, + 'G': 85, + 'H': 90, + 'I': 95, + 'J': 99 + } + + return percentileMap[level] || 0 +} + +/** + * 获取市场对比描述 + * @param {string} level - 收入等级 + * @returns {string} 市场对比描述 + */ +export const getMarketComparison = (level) => { + const percentile = getIncomePercentile(level) + + if (percentile === 0) { + return '无社保记录,无法与市场平均水平进行对比' + } else if (percentile <= 20) { + return `低于市场平均收入水平,处于收入分布的底部${percentile}%区间` + } else if (percentile <= 40) { + return `略低于市场平均收入水平,处于收入分布的底部${percentile}%区间` + } else if (percentile <= 60) { + return `接近市场平均收入水平,处于收入分布的中等${percentile}%区间` + } else if (percentile <= 80) { + return `高于市场平均收入水平,处于收入分布的上层${percentile}%区间` + } else if (percentile <= 90) { + return `显著高于市场平均收入水平,处于收入分布的顶部${100-percentile}%区间` + } else { + return `远超市场绝大多数收入水平,处于收入分布的顶部${100-percentile}%区间` + } +} + +/** + * 获取信用风险评估 + * @param {string} level - 收入等级 + * @returns {object} 风险评估信息 + */ +export const getCreditRiskAssessment = (level) => { + const riskAssessments = { + '-': { + level: '高风险', + description: '缺乏社保记录,收入稳定性存在不确定性,信用风险较高', + score: 20, + recommendations: ['核实收入来源', '要求担保措施', '谨慎放贷'] + }, + 'A': { + level: '中高风险', + description: '收入水平较低,还款能力有限,需要谨慎评估信用风险', + score: 35, + recommendations: ['评估还款能力', '适当降低额度', '关注还款记录'] + }, + 'B': { + level: '中等风险', + description: '收入水平一般,具备基础还款能力,信用风险中等', + score: 50, + recommendations: ['正常业务流程', '定期跟踪', '建立信用档案'] + }, + 'C': { + level: '中低风险', + description: '收入稳定,还款能力良好,信用风险较低', + score: 65, + recommendations: ['可正常合作', '适度提升额度', '优化服务'] + }, + 'D': { + level: '低风险', + description: '收入较高,还款能力强,信用风险低', + score: 75, + recommendations: ['优质客户', '提升服务等级', '拓展业务'] + }, + 'E': { + level: '很低风险', + description: '收入良好,还款能力很强,信用风险很低', + score: 85, + recommendations: ['重点客户', '专享服务', '深度合作'] + }, + 'F': { + level: '极低风险', + description: '高收入群体,还款能力优秀,信用风险极低', + score: 90, + recommendations: ['VIP客户', '定制服务', '战略合作'] + }, + 'G': { + level: '极低风险', + description: '高收入群体,还款能力卓越,信用风险极低', + score: 92, + recommendations: ['顶级客户', '私人定制', '长期合作'] + }, + 'H': { + level: '无风险', + description: '高端收入群体,还款能力顶级,几乎无信用风险', + score: 95, + recommendations: ['钻石客户', '专属服务', '全面合作'] + }, + 'I': { + level: '无风险', + description: '精英收入群体,还款能力完美,无信用风险', + score: 97, + recommendations: ['白金客户', '尊享服务', '全方位合作'] + }, + 'J': { + level: '零风险', + description: '顶级收入群体,还款能力无限,零信用风险', + score: 99, + recommendations: ['至尊客户', '顶级服务', '战略伙伴'] + } + } + + return riskAssessments[level] || { + level: '未知风险', + description: '数据异常,无法进行风险评估', + score: 0, + recommendations: ['数据核实', '人工审核', '谨慎处理'] + } +} + +/** + * 获取消费能力分析 + * @param {string} level - 收入等级 + * @returns {object} 消费能力分析 + */ +export const getConsumptionCapacity = (level) => { + const capacityAnalysis = { + '-': { + level: '无法评估', + description: '缺乏收入数据,无法评估消费能力', + categories: [] + }, + 'A': { + level: '基础消费', + description: '主要满足基本生活需求,消费能力有限', + categories: ['基本生活用品', '必需品消费', '低价商品'] + }, + 'B': { + level: '一般消费', + description: '能够满足日常消费需求,偶有小额娱乐支出', + categories: ['日常用品', '基础娱乐', '小额投资'] + }, + 'C': { + level: '中等消费', + description: '具备良好的消费能力,可进行中档消费', + categories: ['品质商品', '休闲娱乐', '教育投资', '小额理财'] + }, + 'D': { + level: '较强消费', + description: '消费能力较强,可进行中高档消费', + categories: ['中高档商品', '旅游度假', '技能培训', '理财投资'] + }, + 'E': { + level: '强劲消费', + description: '消费能力强劲,可进行高档消费和投资', + categories: ['高档商品', '奢侈品', '高端服务', '投资理财'] + }, + 'F': { + level: '很强消费', + description: '消费能力很强,可进行奢侈消费和多元投资', + categories: ['奢侈品', '高端服务', '房产投资', '金融产品'] + }, + 'G': { + level: '强大消费', + description: '消费能力强大,属于高端消费群体', + categories: ['顶级奢侈品', '私人定制', '房产投资', '股权投资'] + }, + 'H': { + level: '顶级消费', + description: '消费能力顶级,属于超高端消费群体', + categories: ['超级奢侈品', '私人飞机', '豪华房产', '私募基金'] + }, + 'I': { + level: '超强消费', + description: '消费能力超强,属于精英消费群体', + categories: ['收藏品', '艺术品', '豪华游艇', '对冲基金'] + }, + 'J': { + level: '无限消费', + description: '消费潜力无限,属于顶级财富群体', + categories: ['任何商品', '私人岛屿', '慈善事业', '风险投资'] + } + } + + return capacityAnalysis[level] || { + level: '未知', + description: '数据异常,无法分析消费能力', + categories: [] + } +} + +/** + * 生成收入评估报告 + * @param {string} level - 收入等级 + * @returns {object} 完整的评估报告 + */ +export const generateIncomeAssessmentReport = (level) => { + const levelInfo = getIncomeLevelInfo(level) + const riskAssessment = getCreditRiskAssessment(level) + const consumptionCapacity = getConsumptionCapacity(level) + const marketComparison = getMarketComparison(level) + const percentile = getIncomePercentile(level) + + return { + level, + levelInfo, + riskAssessment, + consumptionCapacity, + marketComparison, + percentile, + timestamp: new Date().toISOString(), + summary: { + grade: levelInfo.name, + range: levelInfo.range, + riskLevel: riskAssessment.level, + riskScore: riskAssessment.score, + marketPosition: `超过${percentile}%的收入水平`, + recommendations: riskAssessment.recommendations + } + } +} diff --git a/src/ui/JRZQ4B6C/README.md b/src/ui/JRZQ4B6C/README.md new file mode 100644 index 0000000..383e825 --- /dev/null +++ b/src/ui/JRZQ4B6C/README.md @@ -0,0 +1,129 @@ +# 信贷表现组件 (JRZQ4B6C) + +## 组件概述 + +信贷表现主要为企业在背景调查过程中探查用户近期信贷表现时提供参考,帮助企业对其内部员工、外部业务进行个人信用过滤。 + +## 组件结构 + +``` +JRZQ4B6C/ +├── index.vue # 主组件 +├── components/ # 子组件目录 +│ ├── ProbeOverview.vue # 信贷表现概览组件 +│ ├── OverdueInfoSection.vue # 逾期信息组件 +│ ├── PerformanceInfoSection.vue # 履约信息组件 +│ └── InstitutionStatusSection.vue # 机构状态组件 +├── utils/ # 工具函数目录 +│ └── probeUtils.js # 信贷表现工具函数 +└── README.md # 说明文档 +``` + +## 使用方法 + +### 基本用法 + +```vue + + + +``` + +## 数据字段说明 + +| 字段名 | 类型 | 必填 | 描述 | 示例值 | +|-------|------|------|------|--------| +| result_code | String | 否 | 探查结果编码 | "1" | +| max_overdue_amt | String | 否 | 最大逾期金额 | "1000-2000" | +| max_overdue_days | String | 否 | 最长逾期天数 | "1-15" | +| latest_overdue_time | String | 否 | 最近逾期时间 | "2018-10" | +| max_performance_amt | String | 否 | 最大履约金额 | "1000-2000" | +| latest_performance_time | String | 否 | 最近履约时间 | "2018-10" | +| count_performance | String | 否 | 履约笔数 | "1" | +| currently_overdue | String | 否 | 当前逾期机构数 | "1" | +| currently_performance | String | 否 | 当前履约机构数 | "29" | +| acc_exc | String | 否 | 异常还款机构数 | "0" | +| acc_sleep | String | 否 | 睡眠机构数 | "39" | + +## 结果编码说明 + +| 编码 | 显示内容 | 探查明细说明 | 风险等级 | +|------|----------|-------------|----------| +| 1 | 用户最近一笔订单未结清 | 用户最近一笔订单未结清 | 高风险 | +| 2 | 用户订单结清情况良好 | 多笔订单用户最近一笔订单已结清且历史所有订单均已结清,或单笔订单用户该订单发生时间在3个月之内且该订单结清 | 低风险 | +| 3 | 用户最近订单已结清,历史存在未结清订单 | 用户最近一笔订单已结清,但历史存在未结清订单 | 中等风险 | +| 4 | 用户数据不充分 | 数据不充分 | 未知风险 | + +### 详细说明 + +**编码1**:通过模型计算展现该用户行为画像,用户最近一笔订单未结清 +**编码2**:通过模型计算展现该用户行为画像,用户订单结清情况良好 +**编码3**:通过模型计算展现该用户行为画像,用户最近订单已结清但历史存在未结清订单 +**编码4**:用户数据不充分无法展现该用户行为画像 + +## 金额区间说明 + +组件支持以下金额区间格式: +- 区间格式:`"1000-2000"`、`"(1000~2000]"` +- 大于格式:`">1000000"` +- 零值:`"0"` 表示无记录 + +## 组件特性 + +1. **响应式设计**:适配移动端和桌面端 +2. **数据格式化**:自动格式化金额、时间等数据 +3. **风险评估**:基于数据自动生成风险等级和建议 +4. **视觉反馈**:使用颜色区分不同风险等级 +5. **空数据处理**:优雅处理缺失或无效数据 + +## 工具函数 + +### probeUtils.js + +提供了以下工具函数: + +- `getResultCodeInfo(code)` - 获取结果编码信息 +- `formatAmountRange(amount)` - 格式化金额区间 +- `formatDaysRange(days)` - 格式化天数区间 +- `formatTime(time)` - 格式化时间 +- `generateRiskSummary(data)` - 生成风险评估总结 + +## 样式定制 + +组件使用 Tailwind CSS 构建,可以通过以下方式定制样式: + +1. 修改组件内的 CSS 类名 +2. 使用 CSS 变量覆盖默认样式 +3. 通过 props 传入自定义样式类名 + +## 注意事项 + +1. 确保传入的数据格式正确 +2. 所有字段都是可选的,组件会优雅处理缺失数据 +3. 时间格式建议使用 YYYY-MM 格式 +4. 金额和天数支持多种区间格式 + +## 更新日志 + +- v1.0.0 - 初始版本,支持信贷表现基本功能展示 diff --git a/src/ui/JRZQ4B6C/components/InstitutionStatusSection.vue b/src/ui/JRZQ4B6C/components/InstitutionStatusSection.vue new file mode 100644 index 0000000..e9d1a06 --- /dev/null +++ b/src/ui/JRZQ4B6C/components/InstitutionStatusSection.vue @@ -0,0 +1,164 @@ + + + diff --git a/src/ui/JRZQ4B6C/components/OverdueInfoSection.vue b/src/ui/JRZQ4B6C/components/OverdueInfoSection.vue new file mode 100644 index 0000000..9300b70 --- /dev/null +++ b/src/ui/JRZQ4B6C/components/OverdueInfoSection.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/ui/JRZQ4B6C/components/PerformanceInfoSection.vue b/src/ui/JRZQ4B6C/components/PerformanceInfoSection.vue new file mode 100644 index 0000000..7f70578 --- /dev/null +++ b/src/ui/JRZQ4B6C/components/PerformanceInfoSection.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/ui/JRZQ4B6C/components/ProbeOverview.vue b/src/ui/JRZQ4B6C/components/ProbeOverview.vue new file mode 100644 index 0000000..8f5602f --- /dev/null +++ b/src/ui/JRZQ4B6C/components/ProbeOverview.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/ui/JRZQ4B6C/components/Remark.vue b/src/ui/JRZQ4B6C/components/Remark.vue new file mode 100644 index 0000000..7751664 --- /dev/null +++ b/src/ui/JRZQ4B6C/components/Remark.vue @@ -0,0 +1,83 @@ + + + + + \ No newline at end of file diff --git a/src/ui/JRZQ4B6C/index.vue b/src/ui/JRZQ4B6C/index.vue new file mode 100644 index 0000000..6e6aaa6 --- /dev/null +++ b/src/ui/JRZQ4B6C/index.vue @@ -0,0 +1,136 @@ + + + + + diff --git a/src/ui/JRZQ4B6C/utils/probeUtils.js b/src/ui/JRZQ4B6C/utils/probeUtils.js new file mode 100644 index 0000000..56d02af --- /dev/null +++ b/src/ui/JRZQ4B6C/utils/probeUtils.js @@ -0,0 +1,288 @@ +/** + * 信贷表现工具函数 + */ + +/** + * 结果编码映射 + */ +export const RESULT_CODE_MAP = { + '1': { + text: '用户最近一笔订单未结清', + description: '通过模型计算展现该用户行为画像,用户最近一笔订单未结清,建议谨慎评估其信用状况和还款能力。', + detail: '用户最近一笔订单未结清', + color: 'text-red-500', + level: 'high' + }, + '2': { + text: '用户订单结清情况良好', + description: '通过模型计算展现该用户行为画像,多笔订单用户最近一笔订单已结清且历史所有订单均已结清,或单笔订单用户该订单发生时间在3个月之内且该订单结清,信贷表现良好。', + detail: '多笔订单用户最近一笔订单已结清且历史所有订单均已结清,或单笔订单用户该订单发生时间在3个月之内且该订单结清', + color: 'text-green-500', + level: 'low' + }, + '3': { + text: '用户最近订单已结清,历史存在未结清订单', + description: '通过模型计算展现该用户行为画像,用户最近一笔订单已结清,但历史存在未结清订单,建议关注其历史还款记录。', + detail: '用户最近一笔订单已结清,但历史存在未结清订单', + color: 'text-yellow-500', + level: 'medium' + }, + '4': { + text: '用户数据不充分', + description: '用户数据不充分无法展现该用户行为画像。建议通过其他征信渠道补充信息进行综合评估。', + detail: '数据不充分', + color: 'text-gray-500', + level: 'unknown' + } +} + +/** + * 金额区间映射(根据文档提供的区间) + */ +export const AMOUNT_RANGES = [ + '(1~1000]', + '(1000~2000]', + '(2000~3000]', + '(3000~4000]', + '(4000~6000]', + '(6000~8000]', + '(8000~10000]', + '(10000~20000]', + '(20000~40000]', + '(40000~60000]', + '(60000~80000]', + '(80000~100000]', + '(100000~150000]', + '(150000~200000]', + '(200000~250000]', + '(250000~300000]', + '(300000~350000]', + '(350000~400000]', + '(400000~450000]', + '(450000~500000]', + '(500000~550000]', + '(550000~600000]', + '(600000~650000]', + '(650000~700000]', + '(700000~750000]', + '(750000~800000]', + '(800000~850000]', + '(850000~900000]', + '(900000~950000]', + '(950000~1000000]', + '>1000000' +] + +/** + * 获取结果编码信息 + * @param {string} code - 结果编码 + * @returns {object} 结果编码信息 + */ +export const getResultCodeInfo = (code) => { + return RESULT_CODE_MAP[code] || { + text: '未知状态', + description: '信贷表现主要为企业在背景调查过程中探查用户近期信贷表现时提供参考,帮助企业对其内部员工、外部业务进行个人信用过滤。', + color: 'text-gray-500', + level: 'unknown' + } +} + +/** + * 格式化金额区间 + * @param {string} amount - 金额区间字符串 + * @returns {string} 格式化后的金额区间 + */ +export const formatAmountRange = (amount) => { + if (!amount || amount === '0') { + return '无记录' + } + + // 处理标准区间格式,如 "1000-2000" + if (amount.includes('-')) { + const [min, max] = amount.split('-') + return `${formatNumber(min)}元 - ${formatNumber(max)}元` + } + + // 处理带括号的区间格式,如 "(1000~2000]" + if (amount.includes('~')) { + const cleanAmount = amount.replace(/[()[\]]/g, '') + const [min, max] = cleanAmount.split('~') + return `${formatNumber(min)}元 - ${formatNumber(max)}元` + } + + // 处理大于某个值的格式,如 ">1000000" + if (amount.startsWith('>')) { + const value = amount.substring(1) + return `大于 ${formatNumber(value)}元` + } + + // 其他格式直接返回 + return amount +} + +/** + * 格式化天数区间 + * @param {string} days - 天数区间字符串 + * @returns {string} 格式化后的天数区间 + */ +export const formatDaysRange = (days) => { + if (!days || days === '0') { + return '无记录' + } + + // 处理区间格式,如 "1-15" + if (days.includes('-')) { + const [min, max] = days.split('-') + return `${min}天 - ${max}天` + } + + // 处理带括号的区间格式,如 "[1~15]" + if (days.includes('~')) { + const cleanDays = days.replace(/[()[\]]/g, '') + const [min, max] = cleanDays.split('~') + return `${min}天 - ${max}天` + } + + return days + '天' +} + +/** + * 格式化时间 + * @param {string} time - 时间字符串 + * @returns {string} 格式化后的时间 + */ +export const formatTime = (time) => { + if (!time) { + return '无记录' + } + + // 处理 YYYY-MM 格式 + if (time.match(/^\d{4}-\d{2}$/)) { + return time.replace('-', '年') + '月' + } + + // 处理 YYYY-MM-DD 格式 + if (time.match(/^\d{4}-\d{2}-\d{2}$/)) { + const [year, month, day] = time.split('-') + return `${year}年${month}月${day}日` + } + + return time +} + +/** + * 格式化数字,添加千分位分隔符 + * @param {string|number} num - 数字 + * @returns {string} 格式化后的数字 + */ +export const formatNumber = (num) => { + if (!num) return '0' + + const number = typeof num === 'string' ? parseFloat(num) : num + + if (isNaN(number)) return num + + return number.toLocaleString('zh-CN') +} + +/** + * 获取风险等级颜色类名 + * @param {string} level - 风险等级 + * @returns {string} CSS类名 + */ +export const getRiskLevelClass = (level) => { + const levelMap = { + 'high': 'text-red-500', + 'medium': 'text-yellow-500', + 'low': 'text-green-500', + 'unknown': 'text-gray-500' + } + + return levelMap[level] || 'text-gray-500' +} + +/** + * 获取风险等级背景色类名 + * @param {string} level - 风险等级 + * @returns {string} CSS类名 + */ +export const getRiskLevelBgClass = (level) => { + const levelMap = { + 'high': 'bg-red-50 border-red-200', + 'medium': 'bg-yellow-50 border-yellow-200', + 'low': 'bg-green-50 border-green-200', + 'unknown': 'bg-gray-50 border-gray-200' + } + + return levelMap[level] || 'bg-gray-50 border-gray-200' +} + +/** + * 生成信贷表现总结 + * @param {object} data - 信贷表现数据 + * @returns {object} 风险评估总结 + */ +export const generateRiskSummary = (data) => { + if (!data) { + return { + level: 'unknown', + text: '无法获取数据进行风险评估', + recommendations: ['建议通过其他渠道获取更多信息'] + } + } + + const resultCode = data.result_code + const codeInfo = getResultCodeInfo(resultCode) + + const currentlyOverdue = parseInt(data.currently_overdue) || 0 + const accExc = parseInt(data.acc_exc) || 0 + const accSleep = parseInt(data.acc_sleep) || 0 + + let riskLevel = codeInfo.level + let recommendations = [] + + // 基于结果编码的建议 + switch (resultCode) { + case '1': // 用户最近一笔订单未结清 + recommendations.push('用户最近一笔订单未结清,存在风险') + recommendations.push('建议进一步核实原因和当前还款能力') + recommendations.push('考虑要求提供担保或抵押措施') + break + case '2': // 用户订单结清情况良好 + recommendations.push('用户订单结清情况良好,信贷表现正常') + recommendations.push('可以正常开展业务合作') + recommendations.push('建议定期跟踪信用状况变化') + break + case '3': // 用户最近订单已结清,历史存在未结清订单 + recommendations.push('用户最近订单已结清,但历史存在未结清订单') + recommendations.push('建议关注历史还款记录和还款意愿') + recommendations.push('可考虑适当降低授信额度或增加风控措施') + break + case '4': // 用户数据不充分 + recommendations.push('用户数据不充分,无法完整评估行为画像') + recommendations.push('建议通过其他征信渠道补充信息') + recommendations.push('谨慎开展高风险业务,建议人工审核') + break + } + + // 基于其他指标的额外风险评估 + if (currentlyOverdue > 0) { + riskLevel = 'high' + recommendations.push(`当前有${currentlyOverdue}个机构逾期,风险较高`) + } + + if (accExc > 2) { + if (riskLevel !== 'high') riskLevel = 'medium' + recommendations.push(`存在${accExc}个异常还款机构,需要关注`) + } + + if (accSleep > 10) { + recommendations.push(`有${accSleep}个睡眠机构,信贷活跃度偏低`) + } + + return { + level: riskLevel, + text: codeInfo.description, + recommendations: recommendations + } +} diff --git a/src/ui/JRZQ7E8F/components/ApplyReportSection.vue b/src/ui/JRZQ7E8F/components/ApplyReportSection.vue new file mode 100644 index 0000000..1d3030c --- /dev/null +++ b/src/ui/JRZQ7E8F/components/ApplyReportSection.vue @@ -0,0 +1,100 @@ + + + + + + diff --git a/src/ui/JRZQ7E8F/components/BehaviorReportSection.vue b/src/ui/JRZQ7E8F/components/BehaviorReportSection.vue new file mode 100644 index 0000000..4570534 --- /dev/null +++ b/src/ui/JRZQ7E8F/components/BehaviorReportSection.vue @@ -0,0 +1,338 @@ + + + + + + diff --git a/src/ui/JRZQ7E8F/components/CurrentReportSection.vue b/src/ui/JRZQ7E8F/components/CurrentReportSection.vue new file mode 100644 index 0000000..878035f --- /dev/null +++ b/src/ui/JRZQ7E8F/components/CurrentReportSection.vue @@ -0,0 +1,114 @@ + + + + + + diff --git a/src/ui/JRZQ7E8F/index.vue b/src/ui/JRZQ7E8F/index.vue new file mode 100644 index 0000000..f056dbd --- /dev/null +++ b/src/ui/JRZQ7E8F/index.vue @@ -0,0 +1,140 @@ + + + + + + diff --git a/src/ui/JRZQ7E8F/utils/formatUtils.js b/src/ui/JRZQ7E8F/utils/formatUtils.js new file mode 100644 index 0000000..19c5c90 --- /dev/null +++ b/src/ui/JRZQ7E8F/utils/formatUtils.js @@ -0,0 +1,138 @@ +/** + * 格式化金额区间 + * @param {string} amountRange - 金额区间字符串,如 "(0,500)", "[500,1000)", "[50000,+)" 等 + * @returns {string} 格式化后的金额区间 + */ +export function formatAmountRange(amountRange) { + if (!amountRange || amountRange === '0' || amountRange === '') { + return '0元' + } + + // 处理 [50000,+) 这种格式 + if (amountRange.includes('[50000,+')) { + return '50000元以上' + } + + // 处理区间格式,如 "(0,500)", "[500,1000)" + const match = amountRange.match(/[\[\(](\d+),(\d+)[\)\]]/) + if (match) { + const min = parseInt(match[1]) + const max = parseInt(match[2]) + + // 如果最小值是0,显示为"0-最大值" + if (min === 0) { + return `0-${max}元` + } + + return `${min}-${max}元` + } + + // 如果无法解析,返回原值 + return amountRange +} + +/** + * 格式化天数区间 + * @param {string} dayRange - 天数区间字符串,如 "(0,7]", "(7,15]", "(360,+)" 等 + * @returns {string} 格式化后的天数区间 + */ +export function formatDayRange(dayRange) { + if (!dayRange || dayRange === '0' || dayRange === '') { + return '0天' + } + + // 处理 (360,+) 这种格式 + if (dayRange.includes('(360,+')) { + return '360天以上' + } + + // 处理区间格式,如 "(0,7]", "(7,15]" + const match = dayRange.match(/[\[\(](\d+),(\d+)[\)\]]/) + if (match) { + const min = parseInt(match[1]) + const max = parseInt(match[2]) + + // 如果最小值是0,显示为"0-最大值" + if (min === 0) { + return `0-${max}天` + } + + return `${min}-${max}天` + } + + // 如果无法解析,返回原值 + return dayRange +} + +/** + * 格式化时间(YYYY-MM格式) + * @param {string} time - 时间字符串,如 "2023-05" + * @returns {string} 格式化后的时间,如 "2023年05月" + */ +export function formatTime(time) { + if (!time || time === '0' || time === '') { + return '—' + } + + // 如果是 YYYY-MM 格式 + if (time.match(/^\d{4}-\d{2}$/)) { + return time.replace('-', '年') + '月' + } + + return time +} + +/** + * 格式化置信度 + * @param {string} confidence - 置信度字符串,如 "76", "80" + * @returns {string} 格式化后的置信度,如 "76%" + */ +export function formatConfidence(confidence) { + if (!confidence || confidence === '0' || confidence === '') { + return '—' + } + + const num = parseInt(confidence) + if (isNaN(num)) { + return confidence + } + + return `${num}%` +} + +/** + * 格式化授信额度(单位:元) + * @param {string} amount - 授信额度字符串,如 "12600", "6120" + * @returns {string} 格式化后的授信额度,如 "12600元" + */ +export function formatCreditAmount(amount) { + if (!amount || amount === '0' || amount === '') { + return '0元' + } + + const num = parseInt(amount) + if (isNaN(num)) { + return amount + } + + // 如果大于10000,转换为万元 + if (num >= 10000) { + return `${(num / 10000).toFixed(2)}万元` + } + + return `${num}元` +} + +/** + * 获取值,如果为空则返回默认值 + * @param {any} value - 值 + * @param {any} defaultValue - 默认值 + * @returns {any} 值或默认值 + */ +export function getValue(value, defaultValue = '—') { + if (value === null || value === undefined || value === '' || value === '0') { + return defaultValue + } + return value +} + diff --git a/src/ui/JRZQ7F1A/components/ApplyReportSection.vue b/src/ui/JRZQ7F1A/components/ApplyReportSection.vue new file mode 100644 index 0000000..4f7d4e0 --- /dev/null +++ b/src/ui/JRZQ7F1A/components/ApplyReportSection.vue @@ -0,0 +1,459 @@ + + + + + + diff --git a/src/ui/JRZQ7F1A/components/BehaviorReportSection.vue b/src/ui/JRZQ7F1A/components/BehaviorReportSection.vue new file mode 100644 index 0000000..79e65cf --- /dev/null +++ b/src/ui/JRZQ7F1A/components/BehaviorReportSection.vue @@ -0,0 +1,1004 @@ + + + + + diff --git a/src/ui/JRZQ7F1A/components/CurrentReportSection.vue b/src/ui/JRZQ7F1A/components/CurrentReportSection.vue new file mode 100644 index 0000000..79765bd --- /dev/null +++ b/src/ui/JRZQ7F1A/components/CurrentReportSection.vue @@ -0,0 +1,456 @@ + + + + + + diff --git a/src/ui/JRZQ7F1A/index.vue b/src/ui/JRZQ7F1A/index.vue new file mode 100644 index 0000000..f056dbd --- /dev/null +++ b/src/ui/JRZQ7F1A/index.vue @@ -0,0 +1,140 @@ + + + + + + diff --git a/src/ui/JRZQ7F1A/utils/formatUtils.js b/src/ui/JRZQ7F1A/utils/formatUtils.js new file mode 100644 index 0000000..19c5c90 --- /dev/null +++ b/src/ui/JRZQ7F1A/utils/formatUtils.js @@ -0,0 +1,138 @@ +/** + * 格式化金额区间 + * @param {string} amountRange - 金额区间字符串,如 "(0,500)", "[500,1000)", "[50000,+)" 等 + * @returns {string} 格式化后的金额区间 + */ +export function formatAmountRange(amountRange) { + if (!amountRange || amountRange === '0' || amountRange === '') { + return '0元' + } + + // 处理 [50000,+) 这种格式 + if (amountRange.includes('[50000,+')) { + return '50000元以上' + } + + // 处理区间格式,如 "(0,500)", "[500,1000)" + const match = amountRange.match(/[\[\(](\d+),(\d+)[\)\]]/) + if (match) { + const min = parseInt(match[1]) + const max = parseInt(match[2]) + + // 如果最小值是0,显示为"0-最大值" + if (min === 0) { + return `0-${max}元` + } + + return `${min}-${max}元` + } + + // 如果无法解析,返回原值 + return amountRange +} + +/** + * 格式化天数区间 + * @param {string} dayRange - 天数区间字符串,如 "(0,7]", "(7,15]", "(360,+)" 等 + * @returns {string} 格式化后的天数区间 + */ +export function formatDayRange(dayRange) { + if (!dayRange || dayRange === '0' || dayRange === '') { + return '0天' + } + + // 处理 (360,+) 这种格式 + if (dayRange.includes('(360,+')) { + return '360天以上' + } + + // 处理区间格式,如 "(0,7]", "(7,15]" + const match = dayRange.match(/[\[\(](\d+),(\d+)[\)\]]/) + if (match) { + const min = parseInt(match[1]) + const max = parseInt(match[2]) + + // 如果最小值是0,显示为"0-最大值" + if (min === 0) { + return `0-${max}天` + } + + return `${min}-${max}天` + } + + // 如果无法解析,返回原值 + return dayRange +} + +/** + * 格式化时间(YYYY-MM格式) + * @param {string} time - 时间字符串,如 "2023-05" + * @returns {string} 格式化后的时间,如 "2023年05月" + */ +export function formatTime(time) { + if (!time || time === '0' || time === '') { + return '—' + } + + // 如果是 YYYY-MM 格式 + if (time.match(/^\d{4}-\d{2}$/)) { + return time.replace('-', '年') + '月' + } + + return time +} + +/** + * 格式化置信度 + * @param {string} confidence - 置信度字符串,如 "76", "80" + * @returns {string} 格式化后的置信度,如 "76%" + */ +export function formatConfidence(confidence) { + if (!confidence || confidence === '0' || confidence === '') { + return '—' + } + + const num = parseInt(confidence) + if (isNaN(num)) { + return confidence + } + + return `${num}%` +} + +/** + * 格式化授信额度(单位:元) + * @param {string} amount - 授信额度字符串,如 "12600", "6120" + * @returns {string} 格式化后的授信额度,如 "12600元" + */ +export function formatCreditAmount(amount) { + if (!amount || amount === '0' || amount === '') { + return '0元' + } + + const num = parseInt(amount) + if (isNaN(num)) { + return amount + } + + // 如果大于10000,转换为万元 + if (num >= 10000) { + return `${(num / 10000).toFixed(2)}万元` + } + + return `${num}元` +} + +/** + * 获取值,如果为空则返回默认值 + * @param {any} value - 值 + * @param {any} defaultValue - 默认值 + * @returns {any} 值或默认值 + */ +export function getValue(value, defaultValue = '—') { + if (value === null || value === undefined || value === '' || value === '0') { + return defaultValue + } + return value +} + diff --git a/src/ui/JRZQ8A2D.vue b/src/ui/JRZQ8A2D.vue new file mode 100644 index 0000000..5956f36 --- /dev/null +++ b/src/ui/JRZQ8A2D.vue @@ -0,0 +1,822 @@ + + + + + diff --git a/src/ui/YYSY7D3E/index.vue b/src/ui/YYSY7D3E/index.vue new file mode 100644 index 0000000..abae25c --- /dev/null +++ b/src/ui/YYSY7D3E/index.vue @@ -0,0 +1,162 @@ + + + + + + diff --git a/src/ui/YYSY8B1C/index.vue b/src/ui/YYSY8B1C/index.vue new file mode 100644 index 0000000..a4b7141 --- /dev/null +++ b/src/ui/YYSY8B1C/index.vue @@ -0,0 +1,403 @@ + + + + + diff --git a/src/views/Report.vue b/src/views/Report.vue new file mode 100644 index 0000000..2b5e445 --- /dev/null +++ b/src/views/Report.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/views/ReportPDF.vue b/src/views/ReportPDF.vue new file mode 100644 index 0000000..d80d9f3 --- /dev/null +++ b/src/views/ReportPDF.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..7c8d2ac --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,95 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: [ + "./index.html", + "./src/**/*.{vue,js,ts,jsx,tsx}", + ], + theme: { + extend: { + colors: { + primary: { + DEFAULT: "#5D7EEB", + 50: "#F0F3FF", + 100: "#E1E8FF", + 200: "#C3D1FF", + 300: "#A5BAFF", + 400: "#87A3FF", + 500: "#5D7EEB", + 600: "#4A63BC", + 700: "#38488D", + 800: "#252D5E", + 900: "#13122F", + }, + success: { + DEFAULT: "#07c160", + 50: "#f0f9f0", + 100: "#e1f5e1", + 200: "#c3ebc3", + 300: "#a5e1a5", + 400: "#87d787", + 500: "#07c160", + 600: "#059a4c", + 700: "#047338", + 800: "#024c24", + 900: "#012510", + }, + warning: { + DEFAULT: "#ff976a", + 50: "#fff5f0", + 100: "#ffebe1", + 200: "#ffd7c3", + 300: "#ffc3a5", + 400: "#ffaf87", + 500: "#ff976a", + 600: "#cc7955", + 700: "#995b40", + 800: "#663d2a", + 900: "#331f15", + }, + danger: { + DEFAULT: "#ee0a24", + 50: "#fdf2f2", + 100: "#fce5e5", + 200: "#f9caca", + 300: "#f6b0b0", + 400: "#f39595", + 500: "#ee0a24", + 600: "#be081d", + 700: "#8f0616", + 800: "#5f040e", + 900: "#300207", + }, + gray: { + 50: "#fafafa", + 100: "#f5f5f5", + 200: "#e5e5e5", + 300: "#d4d4d4", + 400: "#a3a3a3", + 500: "#737373", + 600: "#525252", + 700: "#404040", + 800: "#262626", + 900: "#171717", + }, + }, + fontFamily: { + sans: [ + "Inter", + "-apple-system", + "BlinkMacSystemFont", + "Segoe UI", + "Roboto", + "Oxygen", + "Ubuntu", + "Cantarell", + "Fira Sans", + "Droid Sans", + "Helvetica Neue", + "sans-serif", + ], + }, + }, + }, + plugins: [], +}; + diff --git a/templates/report_template.html b/templates/report_template.html new file mode 100644 index 0000000..53ca1f4 --- /dev/null +++ b/templates/report_template.html @@ -0,0 +1,975 @@ + + + + + + 谛听多维报告 + + + +
+ +
+

风险评分与等级

+ +
+
+ 审核建议 + {{ check_suggest or '建议拒绝' }} +
+
+
+
反欺诈评分
+
{{ fraud_score_display }}
+
+ {{ fraud_risk_level }} +
+
+
+
信用评分
+
{{ credit_score_display }}
+
+ {{ credit_level }} +
+
+
+
验证规则
+
{{ verify_rule or '未评估' }}
+
+ {{ verify_rule or '未评估' }} +
+
+
+
反欺诈规则
+
{{ fraud_rule or '未评估' }}
+
+ {{ fraud_rule or '未评估' }} +
+
+
+
+
+ + +
+

基本信息

+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
姓名:{{ base_info.name_masked }}年龄:{{ base_info.age }}岁
性别:{{ base_info.sex }}手机号:{{ base_info.phone_masked }}
身份证号:{{ base_info.id_card_masked }}户籍所在地:{{ base_info.location }}
号码归属地:{{ base_info.phone_area }}
+
+
+ + + {% if element_verification %} +
+

要素核验

+ + {% if element_verification.person_check_details %} +
+
+ 身份证二要素验证 + + {{ element_verification.sfzeys_flag_text }} + +
+
+
{{ element_verification.person_check_details.ele or '身份证号、姓名' }}
+
{{ element_verification.person_result_text }}
+
+
+ {% endif %} + + {% if element_verification.phone_check_details %} +
+
+ 手机三要素验证 + + {{ element_verification.sjsys_flag_text }} + +
+
+
{{ element_verification.phone_check_details.ele or '身份证号、手机号、姓名' }}
+
{{ element_verification.phone_result_text }}
+ {% if element_verification.phone_check_details.phoneCompany %} +
+ 运营商: {{ element_verification.phone_check_details.phoneCompany }} +
+ {% endif %} +
+
+ {% endif %} +
+ {% endif %} + + + {% if operator_verification and operator_verification.has_data %} +
+

运营商核验

+ + {% if operator_verification.online_risk_list %} +
+
+ 手机在网时长 + + {{ operator_verification.online_risk_flag_text }} + +
+
+
运营商类型:{{ operator_verification.online_risk_list.lineType or '-' }}
+
在网时长:{{ operator_verification.online_risk_list.onLineTimes or '-' }}
+
+
+ {% endif %} + + {% if operator_verification.phone_vail_risks %} +
+
+ 手机信息验证 + + {{ operator_verification.phone_vail_risk_flag_text }} + +
+
+
运营商:{{ operator_verification.phone_vail_risks.phoneCompany or '-' }}
+
手机状态:{{ operator_verification.phone_vail_risks.phoneStatus or '-' }}
+
在网时长:{{ operator_verification.phone_vail_risks.phoneTimes or '-' }}
+
+
+ {% endif %} + + {% if operator_verification.belong_risks %} +
+
+ 归属地核验 + + {{ operator_verification.belong_risk_flag_text }} + +
+
+
身份证归属地:{{ operator_verification.belong_risks.personProvence or '-' }}{{ operator_verification.belong_risks.personCity or '' }}
+
手机归属地:{{ operator_verification.belong_risks.phoneProvence or '-' }}{{ operator_verification.belong_risks.phoneCity or '' }}
+
+
+ {% endif %} +
+ {% endif %} + + + {% if key_person_verification and key_person_verification.has_data %} +
+

公安重点人员核验

+ +
+
+ 公安重点人员核验 + + {{ key_person_verification.high_risk_flag_text }} + +
+ {% if key_person_verification.key_person_check_list %} +
+
前科标识:{{ '是' if key_person_verification.key_person_check_list.fontFlag else '否' }}
+
经济类前科:{{ '是' if key_person_verification.key_person_check_list.jingJiFontFlag else '否' }}
+
妨害社会管理秩序:{{ '是' if key_person_verification.key_person_check_list.fangAiFlag else '否' }}
+
重点人员:{{ '是' if key_person_verification.key_person_check_list.zhongDianFlag else '否' }}
+
涉交通案件:{{ '是' if key_person_verification.key_person_check_list.sheJiaoTongFlag else '否' }}
+
+ {% endif %} + {% if key_person_verification.anti_fraud_info %} +
+
涉赌涉诈风险
+
疑似跑分风险:{{ key_person_verification.anti_fraud_info.moneyLaundering or '无' }}
+
疑似欺诈风险:{{ key_person_verification.anti_fraud_info.deceiver or '无' }}
+
疑似赌博玩家风险:{{ key_person_verification.anti_fraud_info.gamblerPlayer or '无' }}
+
疑似赌博庄家风险:{{ key_person_verification.anti_fraud_info.gamblerBanker or '无' }}
+
+ {% endif %} +
+
+ {% endif %} + + + {% if overdue_risk and overdue_risk.has_data %} +
+

逾期风险

+ +
+
+ 逾期风险概览 + + {{ overdue_risk.status_text }} + +
+
+
+
{{ overdue_risk.current_overdue_institution_count }}
+
当前逾期机构数
+
+
+
{{ overdue_risk.current_overdue_amount }}
+
当前逾期金额
+
+
+
{{ overdue_risk.settled_institution_count }}
+
已结清机构数
+
+
+
{{ overdue_risk.total_loan_institutions }}
+
贷款总机构
+
+
+
+ +
+

逾期时间分布

+
+
+
{{ overdue_risk.time_1day_text }}
+
近1天
+
+
+
{{ overdue_risk.time_7days_text }}
+
近7天
+
+
+
{{ overdue_risk.time_14days_text }}
+
近14天
+
+
+
{{ overdue_risk.time_30days_text }}
+
近30天
+
+
+
+
+ {% endif %} + + + {% if court_exposure %} +
+

法院曝光台

+ + {% if court_exposure.execution_cases %} +
+

执行案件

+
+ {% for case in court_exposure.execution_cases[:5] %} +
+
+ {{ case.c_ah or case.caseNumber or '-' }} + 执行案件 +
+
+
法院:{{ case.n_jbfy or case.executiveCourt or '-' }}
+
立案时间:{{ case.d_larq or case.filingTime or '-' }}
+
结案时间:{{ case.d_jarq or case.disposalTime or '-' }}
+
案件状态:{{ case.n_ajjzjd or case.caseStatus or '-' }}
+
+
+ {% endfor %} +
+
+ {% endif %} + + {% if court_exposure.disin_cases %} +
+

失信案件

+
+ {% for case in court_exposure.disin_cases[:5] %} +
+
+ {{ case.caseNumber or '-' }} + 失信 +
+
+
执行法院:{{ case.executiveCourt or '-' }}
+
立案时间:{{ case.fileDate or '-' }}
+
发布日期:{{ case.issueDate or '-' }}
+
履行情况:{{ case.fulfillStatus or '-' }}
+
+
+ {% endfor %} +
+
+ {% endif %} + + {% if court_exposure.limit_cases %} +
+

限制消费

+
+ {% for case in court_exposure.limit_cases[:5] %} +
+
+ {{ case.caseNumber or '-' }} + 限高 +
+
+
执行法院:{{ case.executiveCourt or '-' }}
+
立案时间:{{ case.fileDate or '-' }}
+
发布日期:{{ case.issueDate or '-' }}
+
+
+ {% endfor %} +
+
+ {% endif %} +
+ {% endif %} + + + {% if loan_evaluation and loan_evaluation.has_data %} +
+

借贷评估

+ +
+
+ 借贷评估概览 + + {{ loan_evaluation.risk_flag_text }} + +
+ + {% if loan_evaluation.organ_loan_performances %} +
+

机构借贷表现

+ {% for item in loan_evaluation.organ_loan_performances %} +
+
{{ item.type_name }}
+
+
+ 近7天: + {{ item.last7Day or '0/0' }} +
+
+ 近15天: + {{ item.last15Day or '0/0' }} +
+
+ 近1个月: + {{ item.last1Month or '0/0' }} +
+
+
+ {% endfor %} +
+ {% endif %} +
+
+ {% endif %} + + + {% if judicial_data and judicial_data.has_data %} +
+

司法涉诉

+ + {% if judicial_data.count %} +
+

案件统计

+
+
+
{{ judicial_data.count.count_total or 0 }}
+
案件总数
+
+
+
{{ judicial_data.count.count_jie_total or 0 }}
+
已结案件
+
+
+
{{ judicial_data.count.count_wei_total or 0 }}
+
未结案件
+
+
+
{{ judicial_data.count.count_beigao or 0 }}
+
被告总数
+
+
+
+ {% endif %} + + {% if judicial_data.civil and judicial_data.civil.cases %} +
+

民事案件

+
+ {% for case in judicial_data.civil.cases[:5] %} +
+
+ {{ case.c_ah or '-' }} + 民事 +
+
+
法院:{{ case.n_jbfy or '-' }}
+
立案时间:{{ case.d_larq or '-' }}
+
结案时间:{{ case.d_jarq or '-' }}
+
案由:{{ case.n_laay or '-' }}
+
+
+ {% endfor %} +
+
+ {% endif %} + + {% if judicial_data.criminal and judicial_data.criminal.cases %} +
+

刑事案件

+
+ {% for case in judicial_data.criminal.cases[:5] %} +
+
+ {{ case.c_ah or '-' }} + 刑事 +
+
+
法院:{{ case.n_jbfy or '-' }}
+
立案时间:{{ case.d_larq or '-' }}
+
结案时间:{{ case.d_jarq or '-' }}
+
定罪罪名:{{ case.n_dzzm or '-' }}
+
+
+ {% endfor %} +
+
+ {% endif %} + + {% if judicial_data.implement and judicial_data.implement.cases %} +
+

执行案件

+
+ {% for case in judicial_data.implement.cases[:5] %} +
+
+ {{ case.c_ah or '-' }} + 执行 +
+
+
法院:{{ case.n_jbfy or '-' }}
+
立案时间:{{ case.d_larq or '-' }}
+
结案时间:{{ case.d_jarq or '-' }}
+
申请执行标的金额:{{ case.n_sqzxbdje or '-' }}
+
+
+ {% endfor %} +
+
+ {% endif %} +
+ {% endif %} +
+ + diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..c0968f1 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,66 @@ +import { fileURLToPath, URL } from "node:url"; +import AutoImport from "unplugin-auto-import/vite"; +import Components from "unplugin-vue-components/vite"; +import { VantResolver } from "@vant/auto-import-resolver"; +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueJsx from "@vitejs/plugin-vue-jsx"; + +export default defineConfig({ + server: { + host: "0.0.0.0", + port: 3000, + strictPort: true, + }, + build: { + target: 'es2015', + minify: 'terser', + terserOptions: { + compress: { + drop_console: true, + drop_debugger: true, + }, + }, + rollupOptions: { + output: { + manualChunks: { + vendor: ['vue', 'vue-router'], + vant: ['vant'], + utils: ['axios', 'lodash'], + charts: ['echarts', 'vue-echarts'], + }, + }, + }, + cssCodeSplit: true, + assetsInlineLimit: 4096, + }, + plugins: [ + vue(), + AutoImport({ + imports: [ + "vue", + "vue-router", + "@vueuse/core", + ], + dts: "src/auto-imports.d.ts", + dirs: [ + "src/composables", + "src/components", + ], + resolvers: [VantResolver()], + }), + Components({ + resolvers: [VantResolver()], + }), + vueJsx(), + ], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", import.meta.url)), + }, + }, + optimizeDeps: { + include: ['vue', 'vue-router', 'vant', 'axios'], + }, +}); + diff --git a/个人司法涉诉查询_返回字段说明 (1).md b/个人司法涉诉查询_返回字段说明 (1).md new file mode 100644 index 0000000..9195d07 --- /dev/null +++ b/个人司法涉诉查询_返回字段说明 (1).md @@ -0,0 +1,323 @@ +## 返回字段说明 + +| 名称 | 类型 | 必选 | 中文名 | 说明 | +|------|------|------|--------|------| +| lawsuitStat | object | False | 个⼈涉诉案件案件明 细 | | +| crc | integer | False | 本次查询当事⼈的 | | +| | | | CRC 值, ⽤于判断两 次查询当事⼈数据变 化情况 | | +| count | object | False | 全部涉诉案件的统计 信息 | 具体属性参考: | +| | | | | 息字段 | +| civil | object | False | ⺠事案件详情 | 具体属性参考: | +| | | | | 情 | +| | | | | | +| | | | | | +| criminal | object | False | 刑事案件详情 | 具体属性参考:案件详 情 | +| | | | | | +| administrative | object | False | ⾏政案件详情 | 具体属性参考:案件详 情 | +| | | | | | +| preservation | object | False | ⾮诉保全审查案件详 情 | 具体属性参考:案件详 情 | +| | | | | | +| implement | object | False | 执⾏案件详情 | 具体属性参考:案件详 情 | +| | | | | | +| bankrupt | object | False | 强制清算与破产案件 详情 | 具体属性参考:案件详 情 | +| | | | | | +| cases_tree | object | False | 案件串联树 | 具体属性参考:案件详 情 | +| | | | | | +| consumptionRestri ctionList | object | False | 限制消费被执⾏案件 记录列表 | 具体属性参考: 限制消 费被执⾏案件记录 | +| | | | | | +| breachCaseList | object | False | 失信列表 | 具体属性参考:失信详 情 | +| | | | | | +| | | | | | +| 统计信息字段 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| count_total | number | False | 案件总数 | | +| count_jie_total | number | False | 已结案件总数 | | +| count_wei_total | number | False | 未结案件总数 | | +| count_yuangao | number | False | 原告总数 | | +| count_jie_yuangao | number | False | 原告已结案总数 | | +| count_wei_yuangao | number | False | 原告未结案总数 | | +| count_beigao | number | False | 被告总数 | | +| count_jie_beigao | number | False | 被告已结案总数 | | +| count_wei_beigao | number | False | 被告未结案总数 | | +| | | | | | +| | | | | | +| count_other | number | False | 第三⼈总数 | | +| count_jie_other | number | False | 第三⼈已结案总数 | | +| count_wei_other | number | False | 第三⼈未结案总数 | | +| money_total | number | False | 涉案总⾦额 | | +| money_jie_total | number | False | 已结案⾦额 | | +| money_wei_total | number | False | 未结案⾦额 | | +| money_wei_percent | number | False | 未结案⾦额百分⽐ | | +| money_yuangao | number | False | 原告⾦额 | | +| money_jie_yuangao | number | False | 原告已结案⾦额 | | +| money_wei_yuangao | number | False | 原告未结案⾦额 | | +| money_beigao | number | False | 被告⾦额 | | +| money_jie_beigao | number | False | 被告已结案⾦额 | | +| money_wei_beigao | number | False | 被告未结案⾦额 | | +| money_other | number | False | 第三⼈⾦额 | | +| money_jie_other | number | False | 第三⼈已结案⾦额 | | +| money_wei_other | number | False | 第三⼈未结案⾦额 | | +| ay_stat | string | False | 涉案案由分布 | | +| area_stat | string | False | 涉案地点分布 | | +| larq_stat | string | False | 涉案时间分布 | | +| jafs_stat | string | False | 结案⽅式分布 | | +| | | | | | +| 案件详情 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | 说明 | +| count | object | False | 统计信息字段 | 属性参考: | +| | | | | 统计信息字段 | +| | | | | | +| | | | | | +| cases | object | False | 案件明细信息 | 具体属性参考: | +| | | | | cases案件明细 信息 | +| | | | | | +| | | | | | +| cases案件明细信息 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | 说明 | +| c_id | string | False | 案件唯— ID | | +| n_crc | string | False | 本次查询案件的 CRC 值, ⽤ 于判断 两次查询案件数据变 化情况 | | +| n_ajlx | string | False | 案件类型 | | +| c_ah | string | False | 案号 | | +| c_ah_ys | string | False | 原审案号, 格式: <案号>:< 案件标识> | | +| c_ah_hx | string | False | 后续案号, 格式: <案号>:< 案件标识> | | +| n_ajbs | string | False | 案件标识 | | +| n_jbfy | string | False | 经办法院 | | +| n_jbfy_cj | string | False | 法院所属层级 | | +| n_ajjzjd | string | False | 案件进展阶段 | | +| n_slcx | string | False | 审理程序 | | +| c_ssdy | string | False | 所属地域 | | +| d_larq | string | False | ⽴案时间, 格式:YYYY- MM-DD | | +| n_laay | string | False | ⽴案案由 | | +| n_laay_tag | string | False | ⽴案案由标签 | | +| n_laay_tree | string | False | ⽴案案由详细, 格式: <案 由 1>,<案由 2>,<案由 3> | | +| | | | | | +| | | | | | +| n_qsbdje_level | string | False | 起诉标的⾦额等级 | | +| n_qsbdje | string | False | 起诉标的⾦额 | | +| n_qsbdje_gj_le vel | string | False | 起诉标的⾦额估计等级 | | +| n_qsbdje_gj | string | False | 起诉标的⾦额估计 | | +| c_slfsxx | string | False | 审 理 ⽅ 式 信 息 , 格 式 | | +| | | | : "< 厅次>,YYYY-MM-DD HHmmSS,<地点>,<是否公开 审理>;..." 。可包含多次开庭 信息 | | +| d_jarq | string | False | 结案时间, 格式:YYYY- MM-DD | | +| n_jaay | string | False | 结案案由 | | +| n_jaay_tag | string | False | 结案案由标签 | | +| n_jaay_tree | string | False | 结案案由详细, 格式: "<案 由 1>,<案由 2>,<案由 3>" | | +| n_jabdje_level | string | False | 结案标的⾦额等级 | | +| n_jabdje | string | False | 结案标的⾦额 | | +| n_jabdje_gj_lev el | string | False | 结案标的⾦额估计等级 | | +| n_jabdje_gj | string | False | 结案标的⾦额估计 | | +| n_jafs | string | False | 结案⽅式 | | +| n_pj_victory | string | False | 胜诉估计 | | +| n_ssdw | string | False | 诉讼地位 | | +| n_ssdw_ys | string | False | —审诉讼地位 | | +| c_gkws_id | string | False | 公开⽂书 ID,仅被查询⼈为组 织机构时提供 | | +| c_gkws_glah | string | False | 相关案件号 | | +| | | | | | +| | | | | | +| c_gkws_dsr | string | False | 当事⼈ | | +| c_gkws_pjjg | string | False | 判决结果 | | +| c_dsrxx | object | False | 当事⼈信息 | 属性参考: | +| | | | | 当事⼈信息 | +| n_fzje_level | number | False | 犯罪⾦额等级, 此字段只在 案件为刑事案件才会出现 | | +| n_fzje | number | False | 犯罪⾦额 ,此字段只在案件 为刑事案件才会出现 | | +| n_bqqpcje_lev el | number | False | 被请求赔偿⾦额等级, 此字 段只在案件为刑事案件才会 出现 | | +| n_bqqpcje | number | False | 被请求赔偿⾦额 ,此字段只 在案件为刑事案件才会出现 | | +| n_ccxzxje_level | number | False | 财产刑执⾏⾦额等级, 。此 字段只在案件为刑事案件才 会出现 | | +| n_ccxzxje | number | False | 财产刑执⾏⾦额 ,此字段只 在案件为刑事案件才会出现 | | +| n_ccxzxje_gj_l evel | number | False | 财产刑执⾏⾦额估计等级 。 此字段只在案件为刑事案件 才会出现 | | +| n_ccxzxje_gj | number | False | 财产刑执⾏⾦额估计 ,此字 段只在案件为刑事案件才会 出现 | | +| n_pcpcje_level | number | False | 判处赔偿⾦额等级 ,此字段 只在案件为刑事案件才会出 现 | | +| n_pcpcje | number | False | 判处赔偿⾦额 ,此字段只在 案件为刑事案件才会出现 | | +| | | | | | +| | | | | | +| n_pcpcje_gj_le vel | number | False | 判处赔偿⾦额估计等级 。此 字段只在案件为刑事案件才 会出现 | | +| n_pcpcje_gj | number | False | 判处赔偿⾦额估计 ,此字段 只在案件为刑事案件才会出 现 | | +| n_pcjg | string | False | 判处结果 ,此字段只在案件 为刑事案件才会出现 | | +| n_dzzm | string | False | 定罪罪名 ,此字段只在案件 为刑事案件才会出现 | | +| n_dzzm_tree | string | False | 定罪罪名详细 ,此字段只在 案件为刑事案件才会出现 | | +| n_sqzxbdje | number | False | 申请执⾏标的⾦额 ,此字段 只在案件为执⾏案件才会出 现 | | +| n_sjdwje | number | False | 实际到位⾦额 ,此字段只在 案件为执⾏案件才会出现 | | +| n_wzxje | number | False | 未执⾏⾦额 ,此字段只在案 件为执⾏案件才会出现 | | +| n_sqbqse_level | number | False | 申请保全数额等级 ,此字段 只在案件为⾮诉保全审查案 件才会出现 | | +| n_sqbqse | number | False | 申请保全数额 ,此字段只在 案件为⾮诉保全审查案件才 会出现 | | +| c_sqbqbdw | number | False | 申请保全标的物 ,此字段只 在案件为⾮诉保全审查案件 才会出现 | | +| | | | | | +| 当事⼈信息 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| c_mc | string | False | 当事⼈名称 | | +| n_dsrlx | string | False | 当事⼈类型 | | +| n_ssdw | string | False | 诉讼地位 | | +| | | | | | +| | | | | | +| | | | | | +| 失信详情 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| caseNumber | string | False | 案号 | | +| issueDate | string | False | 发布⽇期( ⽇期) | | +| id | string | False | 标识 | | +| fileDate | string | False | ⽴案时间( ⽇期) | | +| fulfillStatus | string | False | 被执⾏⼈的履⾏情况 | | +| estimatedJudg ementAmount | string | False | 判决⾦额估计 | | +| province | string | False | 省份 | | +| sex | string | False | 性别 | | +| concreteDetail s | string | False | 失信被执⾏⼈⾏为具体情形 | | +| obligation | string | False | ⽣效法律⽂书确定的义务 | | +| executiveCourt | string | False | 执⾏法院 | | +| enforcementB asisOrganizati on | string | False | 出执⾏依据单位 | | +| enforcementB asisNumber | string | False | 执⾏依据⽂号 | | +| | | | | | +| | | | | | +| 限制消费被执⾏案件记录 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| caseNumber | string | False | 案件编号 | | +| issueDate | string | False | 发布⽇期 | | +| id | string | False | 标识 | | +| fileDate | string | False | ⽴案时间(⽇期) | | +| executiveCourt | string | False | 执⾏法院 | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| 枚举字段说明 | | | | | +| | | | | | +| ⾦额等级 | | | | | +| | | | | | +| 等级 | 说明 | | | | +| 0 | 未填写或 0 | | | | +| 1 | N < 1 | | | | +| 2 | 1 <= N < 2 | | | | +| 3 | 2 <= N < 3 | | | | +| 4 | 3 <= N < 4 | | | | +| 5 | 4 <= N < 5 | | | | +| 6 | 5 <= N < 6 | | | | +| 7 | 6 <= N < 7 | | | | +| 8 | 7 <= N < 8 | | | | +| 9 | 8 <= N < 9 | | | | +| 10 | 9 <= N < 10 | | | | +| 11 | 10 <= N < 20 | | | | +| 12 | 20 <= N < 30 | | | | +| | | | | | +| | | | | | +| 13 | 30 <= N < 40 | | | | +| 14 | 40 <= N < 50 | | | | +| 15 | 50 <= N < 60 | | | | +| 16 | 60 <= N < 70 | | | | +| 17 | 70 <= N < 80 | | | | +| 18 | 80 <= N < 90 | | | | +| 19 | 90 <= N < 100 | | | | +| 20 | 100 <= N < 150 | | | | +| 21 | 150 <= N < 200 | | | | +| 22 | 200 <= N < 250 | | | | +| 23 | 250 <= N < 300 | | | | +| 24 | 300 <= N < 350 | | | | +| 25 | 350 <= N < 400 | | | | +| 26 | 400 <= N < 450 | | | | +| 27 | 450 <= N < 500 | | | | +| 28 | 500 <= N < 550 | | | | +| 29 | 550 <= N < 600 | | | | +| 30 | 600 <= N < 650 | | | | +| 31 | 650 <= N < 700 | | | | +| 32 | 700 <= N < 750 | | | | +| 33 | 750 <= N < 800 | | | | +| 34 | 800 <= N < 850 | | | | +| 35 | 850 <= N < 900 | | | | +| 36 | 900 <= N < 950 | | | | +| 37 | 950 <= N < 1000 | | | | +| | | | | | +| | | | | | +| 38 | 1000 <= N < 1500 | | | | +| 39 | 1500 <= N < 2000 | | | | +| 40 | 2000 <= N < 2500 | | | | +| 41 | 2500 <= N < 3000 | | | | +| 42 | 3000 <= N < 3500 | | | | +| 43 | 3500 <= N < 4000 | | | | +| 44 | 4000 <= N < 4500 | | | | +| 45 | 4500 <= N < 5000 | | | | +| 46 | 5000 <= N < 5500 | | | | +| 47 | 5500 <= N < 6000 | | | | +| 48 | 6000 <= N < 6500 | | | | +| 49 | 6500 <= N < 7000 | | | | +| 50 | 7000 <= N < 7500 | | | | +| 51 | 7500 <= N < 8000 | | | | +| 52 | 8000 <= N < 8500 | | | | +| 53 | 8500 <= N < 9000 | | | | +| 54 | 9000 <= N < 9500 | | | | +| 55 | 9500 <= N < 10000 | | | | +| 56 | 10000 <= N < 15000 | | | | +| 57 | 15000 <= N < 20000 | | | | +| 58 | 20000 <= N < 25000 | | | | +| 59 | 25000 <= N < 30000 | | | | +| 60 | 30000 <= N < 35000 | | | | +| 61 | 35000 <= N < 40000 | | | | +| 62 | 40000 <= N < 45000 | | | | +| | | | | | +| | | | | | +| 63 | 45000 <= N < 50000 | | | | +| 64 | 50000 <= N < 55000 | | | | +| 65 | 55000 <= N < 60000 | | | | +| 66 | 60000 <= N < 65000 | | | | +| 67 | 65000 <= N < 70000 | | | | +| 68 | 70000 <= N < 75000 | | | | +| 69 | 75000 <= N < 80000 | | | | +| 70 | 80000 <= N < 85000 | | | | +| 71 | 85000 <= N < 90000 | | | | +| 72 | 90000 <= N < 95000 | | | | +| 73 | 95000 <= N < 100000 | | | | +| 74 | 100000 <= N < 150000 | | | | +| 75 | 150000 <= N < 200000 | | | | +| 76 | 200000 <= N < 250000 | | | | +| 77 | 250000 <= N < 300000 | | | | +| 78 | 300000 <= N < 350000 | | | | +| 79 | 350000 <= N < 400000 | | | | +| 80 | 400000 <= N < 450000 | | | | +| 81 | 450000 <= N < 500000 | | | | +| 82 | 500000 <= N < 550000 | | | | +| 83 | 550000 <= N < 600000 | | | | +| 84 | 600000 <= N < 650000 | | | | +| 85 | 650000 <= N < 700000 | | | | +| 86 | 700000 <= N < 750000 | | | | +| 87 | 750000 <= N < 800000 | | | | +| | | | | | +| | | | | | +| 88 | 800000 <= N < 850000 | | | | +| 89 | 850000 <= N < 900000 | | | | +| 90 | 900000 <= N < 950000 | | | | +| 91 | 950000 <= N < 1000000 | | | | +| 92 | 1000000 <= N < 1500000 | | | | +| 93 | 1500000 <= N < 2000000 | | | | +| 94 | 2000000 <= N < 2500000 | | | | +| 95 | 2500000 <= N < 3000000 | | | | +| 96 | 3000000 <= N < 3500000 | | | | +| 97 | 3500000 <= N < 4000000 | | | | +| 98 | 4000000 <= N < 4500000 | | | | +| 99 | 4500000 <= N < 5000000 | | | | +| 100 | 5000000 <= N | | | | +| | | | | | +| | | | | | +| 审理阶段或类型 | | | | | +| | | | | | +| 代码 | 说明 | | | | +| 1 | —审 | | | | +| 2 | ⼆审 | | | | +| 3 | 再审审查 | | | | +| 4 | 再审 | | | | +| 5 | 执⾏ | | | | +| | | | | | +| | | | | | +| 案件类型 | | | | | +| | | | | | +| 代码 | 说明 | | | | +| 200 | 刑事案件 | | | | +| | | | | | +| | | | | | +| 300 | ⺠事案件 | | | | +| 400 | ⾏政案件 | | | | +| 1000 | 执⾏案件 | | | | +| | | | | | +| | | | | | diff --git a/个人司法涉诉查询_返回字段说明.md b/个人司法涉诉查询_返回字段说明.md new file mode 100644 index 0000000..9195d07 --- /dev/null +++ b/个人司法涉诉查询_返回字段说明.md @@ -0,0 +1,323 @@ +## 返回字段说明 + +| 名称 | 类型 | 必选 | 中文名 | 说明 | +|------|------|------|--------|------| +| lawsuitStat | object | False | 个⼈涉诉案件案件明 细 | | +| crc | integer | False | 本次查询当事⼈的 | | +| | | | CRC 值, ⽤于判断两 次查询当事⼈数据变 化情况 | | +| count | object | False | 全部涉诉案件的统计 信息 | 具体属性参考: | +| | | | | 息字段 | +| civil | object | False | ⺠事案件详情 | 具体属性参考: | +| | | | | 情 | +| | | | | | +| | | | | | +| criminal | object | False | 刑事案件详情 | 具体属性参考:案件详 情 | +| | | | | | +| administrative | object | False | ⾏政案件详情 | 具体属性参考:案件详 情 | +| | | | | | +| preservation | object | False | ⾮诉保全审查案件详 情 | 具体属性参考:案件详 情 | +| | | | | | +| implement | object | False | 执⾏案件详情 | 具体属性参考:案件详 情 | +| | | | | | +| bankrupt | object | False | 强制清算与破产案件 详情 | 具体属性参考:案件详 情 | +| | | | | | +| cases_tree | object | False | 案件串联树 | 具体属性参考:案件详 情 | +| | | | | | +| consumptionRestri ctionList | object | False | 限制消费被执⾏案件 记录列表 | 具体属性参考: 限制消 费被执⾏案件记录 | +| | | | | | +| breachCaseList | object | False | 失信列表 | 具体属性参考:失信详 情 | +| | | | | | +| | | | | | +| 统计信息字段 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| count_total | number | False | 案件总数 | | +| count_jie_total | number | False | 已结案件总数 | | +| count_wei_total | number | False | 未结案件总数 | | +| count_yuangao | number | False | 原告总数 | | +| count_jie_yuangao | number | False | 原告已结案总数 | | +| count_wei_yuangao | number | False | 原告未结案总数 | | +| count_beigao | number | False | 被告总数 | | +| count_jie_beigao | number | False | 被告已结案总数 | | +| count_wei_beigao | number | False | 被告未结案总数 | | +| | | | | | +| | | | | | +| count_other | number | False | 第三⼈总数 | | +| count_jie_other | number | False | 第三⼈已结案总数 | | +| count_wei_other | number | False | 第三⼈未结案总数 | | +| money_total | number | False | 涉案总⾦额 | | +| money_jie_total | number | False | 已结案⾦额 | | +| money_wei_total | number | False | 未结案⾦额 | | +| money_wei_percent | number | False | 未结案⾦额百分⽐ | | +| money_yuangao | number | False | 原告⾦额 | | +| money_jie_yuangao | number | False | 原告已结案⾦额 | | +| money_wei_yuangao | number | False | 原告未结案⾦额 | | +| money_beigao | number | False | 被告⾦额 | | +| money_jie_beigao | number | False | 被告已结案⾦额 | | +| money_wei_beigao | number | False | 被告未结案⾦额 | | +| money_other | number | False | 第三⼈⾦额 | | +| money_jie_other | number | False | 第三⼈已结案⾦额 | | +| money_wei_other | number | False | 第三⼈未结案⾦额 | | +| ay_stat | string | False | 涉案案由分布 | | +| area_stat | string | False | 涉案地点分布 | | +| larq_stat | string | False | 涉案时间分布 | | +| jafs_stat | string | False | 结案⽅式分布 | | +| | | | | | +| 案件详情 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | 说明 | +| count | object | False | 统计信息字段 | 属性参考: | +| | | | | 统计信息字段 | +| | | | | | +| | | | | | +| cases | object | False | 案件明细信息 | 具体属性参考: | +| | | | | cases案件明细 信息 | +| | | | | | +| | | | | | +| cases案件明细信息 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | 说明 | +| c_id | string | False | 案件唯— ID | | +| n_crc | string | False | 本次查询案件的 CRC 值, ⽤ 于判断 两次查询案件数据变 化情况 | | +| n_ajlx | string | False | 案件类型 | | +| c_ah | string | False | 案号 | | +| c_ah_ys | string | False | 原审案号, 格式: <案号>:< 案件标识> | | +| c_ah_hx | string | False | 后续案号, 格式: <案号>:< 案件标识> | | +| n_ajbs | string | False | 案件标识 | | +| n_jbfy | string | False | 经办法院 | | +| n_jbfy_cj | string | False | 法院所属层级 | | +| n_ajjzjd | string | False | 案件进展阶段 | | +| n_slcx | string | False | 审理程序 | | +| c_ssdy | string | False | 所属地域 | | +| d_larq | string | False | ⽴案时间, 格式:YYYY- MM-DD | | +| n_laay | string | False | ⽴案案由 | | +| n_laay_tag | string | False | ⽴案案由标签 | | +| n_laay_tree | string | False | ⽴案案由详细, 格式: <案 由 1>,<案由 2>,<案由 3> | | +| | | | | | +| | | | | | +| n_qsbdje_level | string | False | 起诉标的⾦额等级 | | +| n_qsbdje | string | False | 起诉标的⾦额 | | +| n_qsbdje_gj_le vel | string | False | 起诉标的⾦额估计等级 | | +| n_qsbdje_gj | string | False | 起诉标的⾦额估计 | | +| c_slfsxx | string | False | 审 理 ⽅ 式 信 息 , 格 式 | | +| | | | : "< 厅次>,YYYY-MM-DD HHmmSS,<地点>,<是否公开 审理>;..." 。可包含多次开庭 信息 | | +| d_jarq | string | False | 结案时间, 格式:YYYY- MM-DD | | +| n_jaay | string | False | 结案案由 | | +| n_jaay_tag | string | False | 结案案由标签 | | +| n_jaay_tree | string | False | 结案案由详细, 格式: "<案 由 1>,<案由 2>,<案由 3>" | | +| n_jabdje_level | string | False | 结案标的⾦额等级 | | +| n_jabdje | string | False | 结案标的⾦额 | | +| n_jabdje_gj_lev el | string | False | 结案标的⾦额估计等级 | | +| n_jabdje_gj | string | False | 结案标的⾦额估计 | | +| n_jafs | string | False | 结案⽅式 | | +| n_pj_victory | string | False | 胜诉估计 | | +| n_ssdw | string | False | 诉讼地位 | | +| n_ssdw_ys | string | False | —审诉讼地位 | | +| c_gkws_id | string | False | 公开⽂书 ID,仅被查询⼈为组 织机构时提供 | | +| c_gkws_glah | string | False | 相关案件号 | | +| | | | | | +| | | | | | +| c_gkws_dsr | string | False | 当事⼈ | | +| c_gkws_pjjg | string | False | 判决结果 | | +| c_dsrxx | object | False | 当事⼈信息 | 属性参考: | +| | | | | 当事⼈信息 | +| n_fzje_level | number | False | 犯罪⾦额等级, 此字段只在 案件为刑事案件才会出现 | | +| n_fzje | number | False | 犯罪⾦额 ,此字段只在案件 为刑事案件才会出现 | | +| n_bqqpcje_lev el | number | False | 被请求赔偿⾦额等级, 此字 段只在案件为刑事案件才会 出现 | | +| n_bqqpcje | number | False | 被请求赔偿⾦额 ,此字段只 在案件为刑事案件才会出现 | | +| n_ccxzxje_level | number | False | 财产刑执⾏⾦额等级, 。此 字段只在案件为刑事案件才 会出现 | | +| n_ccxzxje | number | False | 财产刑执⾏⾦额 ,此字段只 在案件为刑事案件才会出现 | | +| n_ccxzxje_gj_l evel | number | False | 财产刑执⾏⾦额估计等级 。 此字段只在案件为刑事案件 才会出现 | | +| n_ccxzxje_gj | number | False | 财产刑执⾏⾦额估计 ,此字 段只在案件为刑事案件才会 出现 | | +| n_pcpcje_level | number | False | 判处赔偿⾦额等级 ,此字段 只在案件为刑事案件才会出 现 | | +| n_pcpcje | number | False | 判处赔偿⾦额 ,此字段只在 案件为刑事案件才会出现 | | +| | | | | | +| | | | | | +| n_pcpcje_gj_le vel | number | False | 判处赔偿⾦额估计等级 。此 字段只在案件为刑事案件才 会出现 | | +| n_pcpcje_gj | number | False | 判处赔偿⾦额估计 ,此字段 只在案件为刑事案件才会出 现 | | +| n_pcjg | string | False | 判处结果 ,此字段只在案件 为刑事案件才会出现 | | +| n_dzzm | string | False | 定罪罪名 ,此字段只在案件 为刑事案件才会出现 | | +| n_dzzm_tree | string | False | 定罪罪名详细 ,此字段只在 案件为刑事案件才会出现 | | +| n_sqzxbdje | number | False | 申请执⾏标的⾦额 ,此字段 只在案件为执⾏案件才会出 现 | | +| n_sjdwje | number | False | 实际到位⾦额 ,此字段只在 案件为执⾏案件才会出现 | | +| n_wzxje | number | False | 未执⾏⾦额 ,此字段只在案 件为执⾏案件才会出现 | | +| n_sqbqse_level | number | False | 申请保全数额等级 ,此字段 只在案件为⾮诉保全审查案 件才会出现 | | +| n_sqbqse | number | False | 申请保全数额 ,此字段只在 案件为⾮诉保全审查案件才 会出现 | | +| c_sqbqbdw | number | False | 申请保全标的物 ,此字段只 在案件为⾮诉保全审查案件 才会出现 | | +| | | | | | +| 当事⼈信息 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| c_mc | string | False | 当事⼈名称 | | +| n_dsrlx | string | False | 当事⼈类型 | | +| n_ssdw | string | False | 诉讼地位 | | +| | | | | | +| | | | | | +| | | | | | +| 失信详情 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| caseNumber | string | False | 案号 | | +| issueDate | string | False | 发布⽇期( ⽇期) | | +| id | string | False | 标识 | | +| fileDate | string | False | ⽴案时间( ⽇期) | | +| fulfillStatus | string | False | 被执⾏⼈的履⾏情况 | | +| estimatedJudg ementAmount | string | False | 判决⾦额估计 | | +| province | string | False | 省份 | | +| sex | string | False | 性别 | | +| concreteDetail s | string | False | 失信被执⾏⼈⾏为具体情形 | | +| obligation | string | False | ⽣效法律⽂书确定的义务 | | +| executiveCourt | string | False | 执⾏法院 | | +| enforcementB asisOrganizati on | string | False | 出执⾏依据单位 | | +| enforcementB asisNumber | string | False | 执⾏依据⽂号 | | +| | | | | | +| | | | | | +| 限制消费被执⾏案件记录 | | | | | +| | | | | | +| 名称 | 类型 | 必选 | 中⽂名 | | +| caseNumber | string | False | 案件编号 | | +| issueDate | string | False | 发布⽇期 | | +| id | string | False | 标识 | | +| fileDate | string | False | ⽴案时间(⽇期) | | +| executiveCourt | string | False | 执⾏法院 | | +| | | | | | +| | | | | | +| | | | | | +| | | | | | +| 枚举字段说明 | | | | | +| | | | | | +| ⾦额等级 | | | | | +| | | | | | +| 等级 | 说明 | | | | +| 0 | 未填写或 0 | | | | +| 1 | N < 1 | | | | +| 2 | 1 <= N < 2 | | | | +| 3 | 2 <= N < 3 | | | | +| 4 | 3 <= N < 4 | | | | +| 5 | 4 <= N < 5 | | | | +| 6 | 5 <= N < 6 | | | | +| 7 | 6 <= N < 7 | | | | +| 8 | 7 <= N < 8 | | | | +| 9 | 8 <= N < 9 | | | | +| 10 | 9 <= N < 10 | | | | +| 11 | 10 <= N < 20 | | | | +| 12 | 20 <= N < 30 | | | | +| | | | | | +| | | | | | +| 13 | 30 <= N < 40 | | | | +| 14 | 40 <= N < 50 | | | | +| 15 | 50 <= N < 60 | | | | +| 16 | 60 <= N < 70 | | | | +| 17 | 70 <= N < 80 | | | | +| 18 | 80 <= N < 90 | | | | +| 19 | 90 <= N < 100 | | | | +| 20 | 100 <= N < 150 | | | | +| 21 | 150 <= N < 200 | | | | +| 22 | 200 <= N < 250 | | | | +| 23 | 250 <= N < 300 | | | | +| 24 | 300 <= N < 350 | | | | +| 25 | 350 <= N < 400 | | | | +| 26 | 400 <= N < 450 | | | | +| 27 | 450 <= N < 500 | | | | +| 28 | 500 <= N < 550 | | | | +| 29 | 550 <= N < 600 | | | | +| 30 | 600 <= N < 650 | | | | +| 31 | 650 <= N < 700 | | | | +| 32 | 700 <= N < 750 | | | | +| 33 | 750 <= N < 800 | | | | +| 34 | 800 <= N < 850 | | | | +| 35 | 850 <= N < 900 | | | | +| 36 | 900 <= N < 950 | | | | +| 37 | 950 <= N < 1000 | | | | +| | | | | | +| | | | | | +| 38 | 1000 <= N < 1500 | | | | +| 39 | 1500 <= N < 2000 | | | | +| 40 | 2000 <= N < 2500 | | | | +| 41 | 2500 <= N < 3000 | | | | +| 42 | 3000 <= N < 3500 | | | | +| 43 | 3500 <= N < 4000 | | | | +| 44 | 4000 <= N < 4500 | | | | +| 45 | 4500 <= N < 5000 | | | | +| 46 | 5000 <= N < 5500 | | | | +| 47 | 5500 <= N < 6000 | | | | +| 48 | 6000 <= N < 6500 | | | | +| 49 | 6500 <= N < 7000 | | | | +| 50 | 7000 <= N < 7500 | | | | +| 51 | 7500 <= N < 8000 | | | | +| 52 | 8000 <= N < 8500 | | | | +| 53 | 8500 <= N < 9000 | | | | +| 54 | 9000 <= N < 9500 | | | | +| 55 | 9500 <= N < 10000 | | | | +| 56 | 10000 <= N < 15000 | | | | +| 57 | 15000 <= N < 20000 | | | | +| 58 | 20000 <= N < 25000 | | | | +| 59 | 25000 <= N < 30000 | | | | +| 60 | 30000 <= N < 35000 | | | | +| 61 | 35000 <= N < 40000 | | | | +| 62 | 40000 <= N < 45000 | | | | +| | | | | | +| | | | | | +| 63 | 45000 <= N < 50000 | | | | +| 64 | 50000 <= N < 55000 | | | | +| 65 | 55000 <= N < 60000 | | | | +| 66 | 60000 <= N < 65000 | | | | +| 67 | 65000 <= N < 70000 | | | | +| 68 | 70000 <= N < 75000 | | | | +| 69 | 75000 <= N < 80000 | | | | +| 70 | 80000 <= N < 85000 | | | | +| 71 | 85000 <= N < 90000 | | | | +| 72 | 90000 <= N < 95000 | | | | +| 73 | 95000 <= N < 100000 | | | | +| 74 | 100000 <= N < 150000 | | | | +| 75 | 150000 <= N < 200000 | | | | +| 76 | 200000 <= N < 250000 | | | | +| 77 | 250000 <= N < 300000 | | | | +| 78 | 300000 <= N < 350000 | | | | +| 79 | 350000 <= N < 400000 | | | | +| 80 | 400000 <= N < 450000 | | | | +| 81 | 450000 <= N < 500000 | | | | +| 82 | 500000 <= N < 550000 | | | | +| 83 | 550000 <= N < 600000 | | | | +| 84 | 600000 <= N < 650000 | | | | +| 85 | 650000 <= N < 700000 | | | | +| 86 | 700000 <= N < 750000 | | | | +| 87 | 750000 <= N < 800000 | | | | +| | | | | | +| | | | | | +| 88 | 800000 <= N < 850000 | | | | +| 89 | 850000 <= N < 900000 | | | | +| 90 | 900000 <= N < 950000 | | | | +| 91 | 950000 <= N < 1000000 | | | | +| 92 | 1000000 <= N < 1500000 | | | | +| 93 | 1500000 <= N < 2000000 | | | | +| 94 | 2000000 <= N < 2500000 | | | | +| 95 | 2500000 <= N < 3000000 | | | | +| 96 | 3000000 <= N < 3500000 | | | | +| 97 | 3500000 <= N < 4000000 | | | | +| 98 | 4000000 <= N < 4500000 | | | | +| 99 | 4500000 <= N < 5000000 | | | | +| 100 | 5000000 <= N | | | | +| | | | | | +| | | | | | +| 审理阶段或类型 | | | | | +| | | | | | +| 代码 | 说明 | | | | +| 1 | —审 | | | | +| 2 | ⼆审 | | | | +| 3 | 再审审查 | | | | +| 4 | 再审 | | | | +| 5 | 执⾏ | | | | +| | | | | | +| | | | | | +| 案件类型 | | | | | +| | | | | | +| 代码 | 说明 | | | | +| 200 | 刑事案件 | | | | +| | | | | | +| | | | | | +| 300 | ⺠事案件 | | | | +| 400 | ⾏政案件 | | | | +| 1000 | 执⾏案件 | | | | +| | | | | | +| | | | | | diff --git a/使用说明.md b/使用说明.md new file mode 100644 index 0000000..7dc0f74 --- /dev/null +++ b/使用说明.md @@ -0,0 +1,103 @@ +# 报告查看器使用说明 + +## 📋 已包含的组件 + +本项目已包含以下报告组件的完整代码: + +1. **DWBG6A2C** - 司南报告(包含所有子模块) +2. **FLXG0V4B** - 司法涉诉 +3. **QYGL3F8E** - 人企关系加强版(包含所有子模块) +4. **JRZQ4B6C** - 信贷表现 +5. **JRZQ09J8** - 收入评估 +6. **QCXG9P1C** - 名下车辆 +7. **DWBG8B4D** - 谛听多维报告(包含所有子模块) + +## 📁 需要提供的文件清单 + +如果要将这些组件提供给其他人使用,需要提供以下文件: + +### 1. 核心文件 +- ✅ `src/views/Report.vue` - 报告页面视图 +- ✅ `src/components/BaseReport.vue` - 报告主组件 + +### 2. UI 业务组件目录 +- ✅ `src/ui/DWBG6A2C/` - 司南报告(完整目录) +- ✅ `src/ui/CFLXG0V4B/` - 司法涉诉(完整目录) +- ✅ `src/ui/CQYGL3F8E/` - 人企关系加强版(完整目录) +- ✅ `src/ui/JRZQ4B6C/` - 信贷表现(完整目录) +- ✅ `src/ui/JRZQ09J8/` - 收入评估(完整目录) +- ✅ `src/ui/CQCXG9P1C.vue` - 名下车辆组件 +- ✅ `src/ui/CDWBG8B4D/` - 谛听多维报告(完整目录) + +### 3. 基础组件 +- ✅ `src/components/GaugeChart.vue` - 评分图表 +- ✅ `src/components/ShareReportButton.vue` - 分享按钮 +- ✅ `src/components/TitleBanner.vue` - 标题横幅 +- ✅ `src/components/VerificationCard.vue` - 验证卡片 +- ✅ `src/components/StyledTabs.vue` - 样式化标签页 +- ✅ `src/components/LEmpty.vue` - 空状态组件 +- ✅ `src/components/LRemark.vue` - 备注组件 +- ✅ `src/components/LTitle.vue` - 标题组件 + +### 4. 工具和配置 +- ✅ `src/composables/useApiFetch.js` - API 请求工具 +- ✅ `src/assets/` - 所有样式文件和图片资源 +- ✅ `package.json` - 依赖配置 +- ✅ `vite.config.js` - Vite 配置 +- ✅ `tailwind.config.js` - Tailwind 配置 +- ✅ `postcss.config.js` - PostCSS 配置 + +### 5. 入口文件 +- ✅ `src/main.js` - 应用入口 +- ✅ `src/App.vue` - 根组件 +- ✅ `index.html` - HTML 模板 + +### 使用示例 + +```javascript +// 在组件中使用 BaseReport +import BaseReport from '@/components/BaseReport.vue' + + +``` + +## 📦 项目结构 + +``` +report-viewer/ +├── src/ +│ ├── components/ # 基础组件 +│ │ ├── BaseReport.vue # ⭐ 核心组件 +│ │ ├── GaugeChart.vue +│ │ └── ... +│ ├── views/ +│ │ └── Report.vue # ⭐ 报告页面 +│ ├── ui/ # ⭐ 业务组件 +│ │ ├── DWBG6A2C/ # 司南报告 +│ │ ├── CFLXG0V4B/ # 司法涉诉 +│ │ ├── CQYGL3F8E/ # 人企关系加强版 +│ │ ├── JRZQ4B6C/ # 信贷表现 +│ │ ├── JRZQ09J8/ # 收入评估 +│ │ ├── CQCXG9P1C.vue # 名下车辆 +│ │ └── CDWBG8B4D/ # 谛听多维报告 +│ ├── composables/ +│ │ └── useApiFetch.js # API 工具 +│ └── assets/ # 样式和图片 +│ ├── images/ +│ └── *.css +├── package.json +├── vite.config.js +├── tailwind.config.js +└── README.md +``` + + + diff --git a/全景雷达_返回字段说明.md b/全景雷达_返回字段说明.md new file mode 100644 index 0000000..552c8de --- /dev/null +++ b/全景雷达_返回字段说明.md @@ -0,0 +1,119 @@ +## 返回字段说明 + +| 参数 | 必选 | 类型 | 描述 | 说明 | +|------|------|------|------|------| +| apply_report_detail | 否 | object | 申请行为详情 | | +| A22160001 | 否 | string | 申请准入分 | 1-1000 | +| A22160002 | 否 | string | 申请准入置信度 | 50-100 | +| A22160003 | 否 | string | 申请命中机构数 | 0/1/2/3/4/... | +| A22160004 | 否 | string | 申请命中消金类机构数 | 0/1/2/极简3/4/... | +| A22160005 | 否极简 | string | 申请命中网络贷款类机构数 | 0/1/2/3/4/... | +| A22160006 | 否 | string | 机构总查询次数 | 0/1/2/3/4/... | +| A22160007 | 否 | string | 最近一次查询时间 | yyyy-mm | +| A22160008 | 否 | string | 近1个月机构总查询笔数 | 极简0/1/2/3/4/... | +| A22160009 | 否 | string | 近3个月机构总查询笔数 | 0/1/2/3/4/... | +| A22160010 | 否 | string | 近6个月机构总查询笔数 | 0/1/2/3/4/... | + +| 参数 | 必选 | 类型 | 描述 | 说明 | +|------|------|------|------|------| +| behavior_report_detail | 否 | object | 放款还款详情 | | +| B22170001 | 否 | string | 贷款行为分 | 1-1000 | +| B22170002 | 否 | string | 极简近1个月贷款笔数 | 0/1极简/2/3/4/... | +| B22170003 | 否 | string | 近3个月贷款笔数 | 0/1/2/3/4/... | +| B22170004 | 否 | string | 近6个月贷款笔数 | 0/1/2/3/4/... | +| B22170005 | 否 | string | 近12个月贷款笔数 | 0/1/2/3/4/... | +| B22170006 | 否 | string | 近24个月贷款笔数 | 0/1/2/3/4/... | +| B22170007 | 否 | string | 近1个月贷款总金额 | 参考金额区间 | +| B22170008 | 否 | string | 近3个月贷款总金额 | 参考金额区间 | +| B22170009 | 否 | string | 近6个月贷款极简总金额 | 参考金额区间 | +| B22170010 | 否 | string | 近12个月贷款总金额 | 参考金额区间 | +| B22170011 | 否 | string | 近24个月贷款总金额 | 参考金额区间 | +| B22170012 | 否 | string | 近12个月贷款金额在1k及以下的笔数 | 0/1/2/3/4/... | +| B22170013 | 否 | string | 近12个月贷款金额在1k-3k的笔数 | 0/1/2/3/4/... | +| B22170014 | 否 | string | 近12个月贷款金额在3k-10k的笔数 | 0/1/2/3/4/... | +| B22170015 | 极简否 | string | 近12个月贷款金额在1w以上的笔数 | 0/1/2/3/4/... | +| B22170016 | 否 | string | 近1个月贷款机构数 | 0/极简1/2/3/4/... | +|极简 B22170017 | 否 | string | 近3个月贷款机构数 | 0/1/2/3/4/... | +| B22170018 | 否 | string | 近6个月贷款机构数 | 0/1/2/3/4/... | +| B22170019 | 否 | string | 近12个月贷款机构极简数 | 0/1/2/3/4/... | +| B22170020 | 否 | string | 近24个月贷款机构数 | 0/1/2/3/4/... | +| B22170021 | 否 | string | 近12个月消金类贷款机构数 | 0/1/2/3/4/... | +| B22170022 | 否 | string | 近24个月消金类贷款机构数 | 0/1/2/3/4/... | +| B22170023 | 否 | string | 近12个月网贷类贷款机构数 | 0/1/2/3/4/... | +| B22170024 | 否 | string | 近24个月网贷类贷款机构数 | 0/1/2/3/4/... | +| B22170025 | 否 | string | 近6个月M0+逾期贷款笔数 | 0/1/2/3/4/... | +| B22170026 | 否 | string | 近12个月M0+逾期贷款笔数 | 0/1/2/3极简/4/... | +| B22170027 | 否 | string | 近24个月M0+逾期贷款笔数 | 0/1/2/3/4/... | +| B221极简70028 | 否 | string | 近6个月M1+逾期贷款笔数 | 0/1/2/3/4/... | +| B22170029 | 否 | string | 近12个月M1+逾期贷款笔数 | 0/1/2/3/4/... | +| B22170030 | 否 | string | 近24个月M1+逾期贷款笔数 | 0/1/2/3/4/... | +| B22170031 | 否 | string | 近6个月累计逾期金额 | 参考金额区间 | +| B22170032 | 否 | string | 近12个月累计逾期金额 | 参考金额区间 | +| B22170033 | 否 | string | 近24个月累计逾期金额 | 参考金额区间 | +| B22170034 | 否 | string | 正常还款订单数占贷款总订单数比例 | | +| B22170035 | 否 | string | 近1个月失败扣款笔数 | 0/1/2/3/4/... | +| B22170036 | 否 | string | 近3个月失败扣款笔数 | 0/1/2/3/4/... | +| B22170037 | 否 | string | 近6个月失败扣款笔数 | 0/1/2/3/4极简/... | +| B22170038 | 否 | string | 极简近12个月失败扣款极简笔数 | 0/1/2/3/4/... | +| B22170039 | 否 | string | 近24个月失败扣款笔数 | 0/1/2/3/4/... | +| B22170040 | 否 | string | 近1个月履约贷款总金额 | 参考金额区间 | +| B22170041 | 否 | string | 近3个月履约贷款总金额 | 参考金额区间 | +| B22170042 | 否 | string | 近6个月履约贷款总金额 | 参考金额区间 | +| B22170043 | 否 | string | 近12个月履约贷款总金额 | 参考金额区间 | +| B22170044 | 否 | string | 近24个月履约贷款总金额 | 参考金额区间 | +| B22170045 | 否 | string | 近极简1个月履约贷款次数 | 0/1/2/3/4/... | +| B22170046 | 否 | string | 近3个月履约贷款次数 | 0/1/2/3/4/... | +| B22170047 | 否 | string | 近6个月履约贷款次数 | 0/1/2/3/4/... | +| B22170048 | 否 | string | 近12个月履约贷款次数 | 0/1/2/3/4/... | +| B22170049 | 否 | string | 近24个月履约贷款次数 | 0/1/2/3/4/... | +| B22170050 | 否 | string | 最近一次履约距今天数 | 参考天数区间 | +| B22170051 | 否 | string | 贷款行为置信度 | 50-100 | +| B22170052 | 否 | string | 贷款已结清订单数 | 0/1/2/3/4/... | +| B22170053 | 否 | string | 信用贷款时长 | 0/1/2/3/4/... | +| B22170054 | 否 | string | 最近一次贷款放款时间 | yyyy-mm | + +| 参数 | 必选 | 类型 | 描述 | 说明 | +|------|------|------|------|------| +| current_report_detail | 否 | object | 信用详情 | | +| C22180001 | 否 | string | 网贷授信额度 | 0/100/200/300… | +| C22180002 | 否 | string | 网贷额度置信度 | 50-100 | +| C22180003 | 否 | string | 网络贷款类机构数 | 0/1/2/3/4/... | +| C22180004 | 否 | string极简 | 网络贷款类产品数 | 0/1/2/3/4/... | +| C22180005 | 否 | string | 网络贷款机构最大授信额度 | 0/100/200/300… | +| C22180006 | 否 | string | 网络贷款机构平均授信额度 | 0/100/200/300… | +| C22180007 | 否 | string | 消金贷款类机构数 | 0/1/2/3/4/... | +| C22180008 | 否 | string | 消金贷款类产品数 | 0/1/2/3/4/... | +| C22180009 | 否 | string | 消金贷款类机构最大授信额度 | 0/100/200/300… | +| C22180010 | 否 | string | 消金贷款类机构平均授信额度 | 0/100/200/300… | +| C22180011 | 否 | string | 消金建议授信额度 | 0/100/200/300… | +| C22180012 | 否 | string | 消金额度置信度 | 50-100 | + +### 金额区间描述 +| 金额区间 | 描述 | +|----------|------| +| 0 | 0 | +| (0,500) | (0,500) | +| [500,1000) | [500,1000) | +| [1000,2000) | [1000,2000) | +| [2000,3000) | [2000,3000) | +| [3000,5000) | [3000,5000) | +| [5000,10000) | [5000,10000) | +| [10000,20000) | [10000,20000) | +| [20000,30000) | [20000,30000) | +| [30000,50000) | [30000,50000) | +| [50000,+) | [50000,+) | + +### 天数区间描述 +| 天数区间 | 描述 | +|----------|------| +| 0 | 0 | +| (0,7] | (0,7] | +| (7,15] | (7,15] | +| (15,30] | (15,30] | +| (30,60] | (30,60] | +| (60,90] | (60,90] | +| (90,120] | (90,120] | +| (120,150] | (120,150] | +| (150,180] | (150,180] | +| (180,360] | (180,360] | +| (360,+) | (360,+) | \ No newline at end of file diff --git a/特殊名单验证B_返回字段说明.md b/特殊名单验证B_返回字段说明.md new file mode 100644 index 0000000..277177b --- /dev/null +++ b/特殊名单验证B_返回字段说明.md @@ -0,0 +1,217 @@ + + +## 一、响应参数 + +此接口用于验证个人在各类金融机构和法院系统的信用状况,包括法院失信、银行风险、非银机构风险等多个维度。 + +| 序号 | 参数名 | 类型 | 中文名称 | 取值解释 | +|------|--------|------|----------|----------| +| 2 | id_court_bad | string | 通过身份证查询,法院失信人 | 取“空/0”;0:命中,空:未命中 | +| 3 | id_court_executed | string | 通过身份证查询,法院被执行人 | 取“空/0”;0:命中,空:未命中 | +| 4 | id_bank_bad | string | 通过身份证查询,银行(含信用卡)中风险 | 取“空/0”;0:命中,空:未命中 | +| 5 | id_bank_overdue | string | 通过身份证查询,银行(含信用卡)一般风险 | 取“空/0”;0:命中,空:未命中 | +| 6 | id_bank_lost | string | 通过身份证查询,银行(含信用卡)高风险 | 取“空/0”;0:命中,空:未命中 | +| 7 | id_nbank_bad | string | 通过身份证查询,非银(含全部非银类型)中风险 | 取“空/0”;0:命中,空:未命中 | +| 8 | id_nbank_overdue | string | 通过身份证查询,非银(含全部非银类型)一般风险 | 取“空/0”;0:命中,空:未命中 | +| 9 | id_nbank_lost | string | 通过身份证查询,非银(含全部非银类型)高风险 | 取“空/0”;0:命中,空:未命中 | +| 10 | id_nbank_nsloan_bad | string | 通过身份证查询,非银-持牌网络小贷中风险 | 取“空/0”;0:命中,空:未命中 | +| 11 | id_nbank_nsloan_overdue | string | 通过身份证查询,非银-持牌网络小贷一般风险 | 取“空/0”;0:命中,空:未命中 | +| 12 | id_nbank_nsloan_lost | string | 通过身份证查询,非银-持牌网络小贷高风险 | 取“空/0”;0:命中,空:未命中 | +| 13 | id_nbank_sloan_bad | string | 通过身份证查询,非银-持牌小贷中风险 | 取“空/0”;0:命中,空:未命中 | +| 14 | id_nbank_sloan_overdue | string | 通过身份证查询,非银-持牌小贷一般风险 | 取“空/0”;0:命中,空:未命中 | +| 15 | id_nbank_sloan_lost | string | 通过身份证查询,非银-持牌小贷高风险 | 取“空/0”;0:命中,空:未命中 | +| 16 | id_nbank_cons_bad | string | 通过身份证查询,非银-持牌消费金融中风险 | 取“空/0”;0:命中,空:未命中 | +| 17 | id_nbank_cons_overdue | string | 通过身份证查询,非银-持牌消费金融一般风险 | 取“空/0”;0:命中,空:未命中 | +| 18 | id_nbank_cons_lost | string | 通过身份证查询,非银-持牌消费金融高风险 | 取“空/0”;0:命中,空:未命中 | +| 19 | id_nbank_finlea_bad | string | 通过身份证查询,非银-持牌融资租赁中风险 | 取“空/0”;0:命中,空:未命中 | +| 20 | id_nbank_finlea_overdue | string | 通过身份证查询,非银-持牌融资租赁一般风险 | 取“空/0”;0:命中,空:未命中 | +| 21 | id_nbank_finlea_lost | string | 通过身份证查询,非银-持牌融资租赁高风险 | 取“空/0”;0:命中,空:未命中 | +| 22 | id_nbank_autofin_bad | string | 通过身份证查询,非银-持牌汽车金融中风险 | 取“空/0”;0:命中,空:未命中 | +| 23 | id_nbank_autofin_overdue | string | 通过身份证查询,非银-持牌汽车金融一般风险 | 取“空/0”;0:命中,空:未命中 | +| 24 | id_nbank_autofin_lost | string | 通过身份证查询,非银-持牌汽车金融高风险 | 取“空/0”;0:命中,空:未命中 | +| 25 | id_nbank_other_bad | string | 通过身份证查询,非银-其他中风险 | 取“空/0”;0:命中,空:未命中 | +| 26 | id_nbank_other_overdue | string | 通过身份证查询,非银-其他一般风险 | 取“空/0”;0:命中,空:未命中 | +| 27 | id_nbank_other_lost | string | 通过身份证查询,非银-其他高风险 | 取“空/0”;0:命中,空:未命中 | +| 28 | cell_bank_bad | string | 通过手机号查询,银行(含信用卡)中风险 | 取“空/0”;0:命中,空:未命中 | +| 29 | cell_bank_overdue | string | 通过手机号查询,银行(含信用卡)一般风险 | 取“空/0”;0:命中,空:未命中 | +| 30 | cell_bank_lost | string | 通过手机号查询,银行(含信用卡)高风险 | 取“空/0”;0:命中,空:未命中 | +| 31 | cell_nbank_bad | string | 通过手机号查询,非银(含全部非银类型)中风险 | 取“空/0”;0:命中,空:未命中 | +| 32 | cell_nbank_overdue | string | 通过手机号查询,非银(含全部非银类型)一般风险 | 取“空/0”;0:命中,空:未命中 | +| 33 | cell_nbank_lost | string | 通过手机号查询,非银(含全部非银类型)高风险 | 取“空/0”;0:命中,空:未命中 | +| 34 | cell_nbank_nsloan_bad | string | 通过手机号查询,非银-持牌网络小贷中风险 | 取“空/0”;0:命中,空:未命中 | +| 35 | cell_nbank_nsloan_overdue | string | 通过手机号查询,非银-持牌网络小贷一般风险 | 取“空/0”;0:命中,空:未命中 | +| 36 | cell_nbank_nsloan_lost | string | 通过手机号查询,非银-持牌网络小贷高风险 | 取“空/0”;0:命中,空:未命中 | +| 37 | cell_nbank_sloan_bad | string | 通过手机号查询,非银-持牌小贷中风险 | 取“空/0”;0:命中,空:未命中 | +| 38 | cell_nbank_sloan_overdue | string | 通过手机号查询,非银-持牌小贷一般风险 | 取“空/0”;0:命中,空:未命中 | +| 39 | cell_nbank_sloan_lost | string | 通过手机号查询,非银-持牌小贷高风险 | 取“空/0”;0:命中,空:未命中 | +| 40 | cell_nbank_cons_bad | string | 通过手机号查询,非银-持牌消费金融中风险 | 取“空/0”;0:命中,空:未命中 | +| 41 | cell_nbank_cons_overdue | string | 通过手机号查询,非银-持牌消费金融一般风险 | 取“空/0”;0:命中,空:未命中 | +| 42 | cell_nbank_cons_lost | string | 通过手机号查询,非银-持牌消费金融高风险 | 取“空/0”;0:命中,空:未命中 | +| 43 | cell_nbank_finlea_bad | string | 通过手机号查询,非银-持牌融资租赁中风险 | 取“空/0”;0:命中,空:未命中 | +| 44 | cell_nbank_finlea_overdue | string | 通过手机号查询,非银-持牌融资租赁一般风险 | 取“空/0”;0:命中,空:未命中 | +| 45 | cell_nbank_finlea_lost | string | 通过手机号查询,非银-持牌融资租赁高风险 | 取“空/0”;0:命中,空:未命中 | +| 46 | cell_nbank_autofin_bad | string | 通过手机号查询,非银-持牌汽车金融中风险 | 取“空/0”;0:命中,空:未命中 | +| 47 | cell_nbank_autofin_overdue | string | 通过手机号查询,非银-持牌汽车金融一般风险 | 取“空/0”;0:命中,空:未命中 | +| 48 | cell_nbank_autofin_lost | string | 通过手机号查询,非银-持牌汽车金融高风险 | 取“空/0”;0:命中,空:未命中 | +| 49 | cell_nbank_other_bad | string | 通过手机号查询,非银-其他中风险 | 取“空/0”;0:命中,空:未命中 | +| 50 | cell_nbank_other_overdue | string | 通过手机号查询,非银-其他一般风险 | 取“空/0”;0:命中,空:未命中 | +| 51 | cell_nbank_other_lost | string | 通过手机号查询,非银-其他高风险 | 取“空/0”;0:命中,空:未命中 | +| 52 | id_court_bad_allnum | string | 通过身份证查询,法院失信人命中次数 | 取“1-N”;返回命中次数 | +| 53 | id_court_executed_allnum | string | 通过身份证查询,法院被执行人命中次数 | 取“1-N”;返回命中次数 | +| 54 | id_bank_bad_allnum | string | 通过身份证查询,银行(含信用卡)中风险命中次数 | 取“1-N”;返回命中次数 | +| 55 | id_bank_overdue_allnum | string | 通过身份证查询,银行(含信用卡)一般风险命中次数 | 取“1-N”;返回命中次数 | +| 56 | id_bank_lost_allnum | string | 通过身份证查询,银行(含信用卡)高风险命中次数 | 取“1-N”;返回命中次数 | +| 57 | id_nbank_bad_allnum | string | 通过身份证查询,非银(含全部非银类型)中风险命中次数 | 取“1-N”;返回命中次数 | +| 58 | id_nbank_overdue_allnum | string | 通过身份证查询,非银(含全部非银类型)一般风险命中次数 | 取“1-N”;返回命中次数 | +| 59 | id_nbank_lost_allnum | string | 通过身份证查询,非银(含全部非银类型)高风险命中次数 | 取“1-N”;返回命中次数 | +| 60 | id_nbank_nsloan_bad_allnum | string | 通过身份证查询,非银-持牌网络小贷中风险命中次数 | 取“1-N”;返回命中次数 | +| 61 | id_nbank_nsloan_overdue_allnum | string | 通过身份证查询,非银-持牌网络小贷一般风险命中次数 | 取“1-N”;返回命中次数 | +| 62 | id_nbank_nsloan_lost_allnum | string | 通过身份证查询,非银-持牌网络小贷高风险命中次数 | 取“1-N”;返回命中次数 | +| 63 | id_nbank_sloan_bad_allnum | string | 通过身份证查询,非银-持牌小贷中风险命中次数 | 取“1-N”;返回命中次数 | +| 64 | id_nbank_sloan_overdue_allnum | string | 通过身份证查询,非银-持牌小贷一般风险命中次数 | 取“1-N”;返回命中次数 | +| 65 | id_nbank_sloan_lost_allnum | string | 通过身份证查询,非银-持牌小贷高风险命中次数 | 取“1-N”;返回命中次数 | +| 66 | id_nbank_cons_bad_allnum | string | 通过身份证查询,非银-持牌消费金融中风险命中次数 | 取“1-N”;返回命中次数 | +| 67 | id_nbank_cons_overdue_allnum | string | 通过身份证查询,非银-持牌消费金融一般风险命中次数 | 取“1-N”;返回命中次数 | +| 68 | id_nbank_cons_lost_allnum | string | 通过身份证查询,非银-持牌消费金融高风险命中次数 | 取“1-N”;返回命中次数 | +| 69 | id_nbank_finlea_bad_allnum | string | 通过身份证查询,非银-持牌融资租赁中风险命中次数 | 取“1-N”;返回命中次数 | +| 70 | id_nbank_finlea_overdue_allnum | string | 通过身份证查询,非银-持牌融资租赁一般风险命中次数 | 取“1-N”;返回命中次数 | +| 71 | id_nbank_finlea_lost_allnum | string | 通过身份证查询,非银-持牌融资租赁高风险命中次数 | 取“1-N”;返回命中次数 | +| 72 | id_nbank_autofin_bad_allnum | string | 通过身份证查询,非银-持牌汽车金融中风险命中次数 | 取“1-N”;返回命中次数 | +| 73 | id_nbank_autofin_overdue_allnum | string | 通过身份证查询,非银-持牌汽车金融一般风险命中次数 | 取“1-N”;返回命中次数 | +| 74 | id_nbank_autofin_lost_allnum | string | 通过身份证查询,非银-持牌汽车金融高风险命中次数 | 取“1-N”;返回命中次数 | +| 75 | id_nbank_other_bad_allnum | string | 通过身份证查询,非银-其他中风险命中次数 | 取“1-N”;返回命中次数 | +| 76 | id_nbank_other_overdue_allnum | string | 通过身份证查询,非银-其他一般风险命中次数 | 取“1-N”;返回命中次数 | +| 77 | id_nbank_other_lost_allnum | string | 通过身份证查询,非银-其他高风险命中次数 | 取“1-N”;返回命中次数 | +| 78 | cell_bank_bad_allnum | string | 通过手机号查询,银行(含信用卡)中风险命中次数 | 取“1-N”;返回命中次数 | +| 79 | cell_bank_overdue_allnum | string | 通过手机号查询,银行(含信用卡)一般风险命中次数 | 取“1-N”;返回命中次数 | +| 80 | cell_bank_lost_allnum | string | 通过手机号查询,银行(含信用卡)高风险命中次数 | 取“1-N”;返回命中次数 | +| 81 | cell_nbank_bad_allnum | string | 通过手机号查询,非银(含全部非银类型)中风险命中次数 | 取“1-N”;返回命中次数 | +| 82 | cell_nbank_overdue_allnum | string | 通过手机号查询,非银(含全部非银类型)一般风险命中次数 | 取“1-N”;返回命中次数 | +| 83 | cell_nbank_lost_allnum | string | 通过手机号查询,非银(含全部非银类型)高风险命中次数 | 取“1-N”;返回命中次数 | +| 84 | cell_nbank_nsloan_bad_allnum | string | 通过手机号查询,非银-持牌网络小贷中风险命中次数 | 取“1-N”;返回命中次数 | +| 85 | cell_nbank_nsloan_overdue_allnum | string | 通过手机号查询,非银-持牌网络小贷一般风险命中次数 | 取“1-N”;返回命中次数 | +| 86 | cell_nbank_nsloan_lost_allnum | string | 通过手机号查询,非银-持牌网络小贷高风险命中次数 | 取“1-N”;返回命中次数 | +| 87 | cell_nbank_sloan_bad_allnum | string | 通过手机号查询,非银-持牌小贷中风险命中次数 | 取“1-N”;返回命中次数 | +| 88 | cell_nbank_sloan_overdue_allnum | string | 通过手机号查询,非银-持牌小贷一般风险命中次数 | 取“1-N”;返回命中次数 | +| 89 | cell_nbank_sloan_lost_allnum | string | 通过手机号查询,非银-持牌小贷高风险命中次数 | 取“1-N”;返回命中次数 | +| 90 | cell_nbank_cons_bad_allnum | string | 通过手机号查询,非银-持牌消费金融中风险命中次数 | 取“1-N”;返回命中次数 | +| 91 | cell_nbank_cons_overdue_allnum | string | 通过手机号查询,非银-持牌消费金融一般风险命中次数 | 取“1-N”;返回命中次数 | +| 92 | cell_nbank_cons_lost_allnum | string | 通过手机号查询,非银-持牌消费金融高风险命中次数 | 取“1-N”;返回命中次数 | +| 93 | cell_nbank_finlea_bad_allnum | string | 通过手机号查询,非银-持牌融资租赁中风险命中次数 | 取“1-N”;返回命中次数 | +| 94 | cell_nbank_finlea_overdue_allnum | string | 通过手机号查询,非银-持牌融资租赁一般风险命中次数 | 取“1-N”;返回命中次数 | +| 95 | cell_nbank_finlea_lost_allnum | string | 通过手机号查询,非银-持牌融资租赁高风险命中次数 | 取“1-N”;返回命中次数 | +| 96 | cell_nbank_autofin_bad_allnum | string | 通过手机号查询,非银-持牌汽车金融中风险命中次数 | 取“1-N”;返回命中次数 | +| 97 | cell_nbank_autofin_overdue_allnum | string | 通过手机号查询,非银-持牌汽车金融一般风险命中次数 | 取“1-N”;返回命中次数 | +| 98 | cell_nbank_autofin_lost_allnum | string | 通过手机号查询,非银-持牌汽车金融高风险命中次数 | 取“1-N”;返回命中次数 | +| 99 | cell_nbank_other_bad_allnum | string | 通过手机号查询,非银-其他中风险命中次数 | 取“1-N”;返回命中次数 | +| 100 | cell_nbank_other_overdue_allnum | string | 通过手机号查询,非银-其他一般风险命中次数 | 取“1-N”;返回命中次数 | +| 101 | cell_nbank_other_lost_allnum | string | 通过手机号查询,非银-其他高风险命中次数 | 取“1-N”;返回命中次数 | +| 102 | id_court_bad_time | string | 通过身份证查询,法院失信人距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 103 | id_court_executed_time | string | 通过身份证查询,法院被执行人距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 104 | id_bank_bad_time | string | 通过身份证查询,银行(含信用卡)中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 105 | id_bank_overdue_time | string | 通过身份证查询,银行(含信用卡)一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 106 | id_bank_lost_time | string | 通过身份证查询,银行(含信用卡)高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 107 | id_nbank_bad_time | string | 通过身份证查询,非银(含全部非银类型)中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 108 | id_nbank_overdue_time | string | 通过身份证查询,非银(含全部非银类型)一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 109 | id_nbank_lost_time | string | 通过身份证查询,非银(含全部非银类型)高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 110 | id_nbank_nsloan_bad_time | string | 通过身份证查询,非银-持牌网络小贷中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 111 | id_nbank_nsloan_overdue_time | string | 通过身份证查询,非银-持牌网络小贷一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 112 | id_nbank_nsloan_lost_time | string | 通过身份证查询,非银-持牌网络小贷高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 113 | id_nbank_sloan_bad_time | string | 通过身份证查询,非银-持牌小贷中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 114 | id_nbank_sloan_overdue_time | string | 通过身份证查询,非银-持牌小贷一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 115 | id_nbank_sloan_lost_time | string | 通过身份证查询,非银-持牌小贷高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 116 | id_nbank_cons_bad_time | string | 通过身份证查询,非银-持牌消费金融中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 117 | id_nbank_cons_overdue_time | string | 通过身份证查询,非银-持牌消费金融一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 118 | id_nbank_cons_lost_time | string | 通过身份证查询,非银-持牌消费金融高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 119 | id_nbank_finlea_bad_time | string | 通过身份证查询,非银-持牌融资租赁中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 120 | id_nbank_finlea_overdue_time | string | 通过身份证查询,非银-持牌融资租赁一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 121 | id_nbank_finlea_lost_time | string | 通过身份证查询,非银-持牌融资租赁高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 122 | id_nbank_autofin_bad_time | string | 通过身份证查询,非银-持牌汽车金融中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 123 | id_nbank_autofin_overdue_time | string | 通过身份证查询,非银-持牌汽车金融一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 124 | id_nbank_autofin_lost_time | string | 通过身份证查询,非银-持牌汽车金融高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 125 | id_nbank_other_bad_time | string | 通过身份证查询,非银-其他中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 126 | id_nbank_other_overdue_time | string | 通过身份证查询,非银-其他一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 127 | id_nbank_other_lost_time | string | 通过身份证查询,非银-其他高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 128 | cell_bank_bad_time | string | 通过手机号查询,银行(含信用卡)中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 129 | cell_bank_overdue_time | string | 通过手机号查询,银行(含信用卡)一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 130 | cell_bank_lost_time | string | 通过手机号查询,银行(含信用卡)高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 131 | cell_nbank_bad_time | string | 通过手机号查询,非银(含全部非银类型)中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 132 | cell_nbank_overdue_time | string | 通过手机号查询,非银(含全部非银类型)一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 133 | cell_nbank_lost_time | string | 通过手机号查询,非银(含全部非银类型)高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 134 | cell_nbank_nsloan_bad_time | string | 通过手机号查询,非银-持牌网络小贷中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 135 | cell_nbank_nsloan_overdue_time | string | 通过手机号查询,非银-持牌网络小贷一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 136 | cell_nbank_nsloan_lost_time | string | 通过手机号查询,非银-持牌网络小贷高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 137 | cell_nbank_sloan_bad_time | string | 通过手机号查询,非银-持牌小贷中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 138 | cell_nbank_sloan_overdue_time | string | 通过手机号查询,非银-持牌小贷一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 139 | cell_nbank_sloan_lost_time | string | 通过手机号查询,非银-持牌小贷高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 140 | cell_nbank_cons_bad_time | string | 通过手机号查询,非银-持牌消费金融中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 141 | cell_nbank_cons_overdue_time | string | 通过手机号查询,非银-持牌消费金融一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 142 | cell_nbank_cons_lost_time | string | 通过手机号查询,非银-持牌消费金融高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 143 | cell_nbank_finlea_bad_time | string | 通过手机号查询,非银-持牌融资租赁中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 144 | cell_nbank_finlea_overdue_time | string | 通过手机号查询,非银-持牌融资租赁一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 145 | cell_nbank_finlea_lost_time | string | 通过手机号查询,非银-持牌融资租赁高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 146 | cell_nbank_autofin_bad_time | string | 通过手机号查询,非银-持牌汽车金融中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 147 | cell_nbank_autofin_overdue_time | string | 通过手机号查询,非银-持牌汽车金融一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 148 | cell_nbank_autofin_lost_time | string | 通过手机号查询,非银-持牌汽车金融高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 149 | cell_nbank_other_bad_time | string | 通过手机号查询,非银-其他中风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 150 | cell_nbank_other_overdue_time | string | 通过手机号查询,非银-其他一般风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 151 | cell_nbank_other_lost_time | string | 通过手机号查询,非银-其他高风险距今时间 | 取“0-N”,单位:年;返回最近一次命中距查询时间 | +| 152 | Rule_final_decision | string | 最終決策結果 | "final_weight"="0","final_decision"="Accept"(通过);"final_weight">="80","final_decision"="Reject"(拒绝);"0"<"final_weight"<"80","final_decision"="Review"(复议) | +| 153 | Rule_final_weight | string | 最终规则评分 | 取值范围为大于0的整数 | +| 154 | Rule_name_odr0000331 | string | 近两年命中法院失信人 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 155 | Rule_weight_odr0000331 | string | 近两年命中法院失信人权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 156 | Rule_name_odr0000332 | string | 两年前命中法院失信人 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 157 | Rule_weight_odr0000332 | string | 两年前命中法院失信人权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 158 | Rule_name_odr0000333 | string | 近两年命中法院被执行人 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 159 | Rule_weight_odr0000333 | string | 近两年命中法院被执行人权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 160 | Rule_name_odr0000334 | string | 两年前命中法院被执行人 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 161 | Rule_weight_odr0000334 | string | 两年前命中法院被执行人权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 162 | Rule_name_odr0000335 | string | 近两年命中银行高风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 163 | Rule_weight_odr0000335 | string | 近两年命中银行高风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 164 | Rule_name_odr0000336 | string | 两年前命中银行高风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 165 | Rule_weight_odr0000336 | string | 两年前命中银行高风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 166 | Rule_name_odr0000337 | string | 近两年命中银行中风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 167 | Rule_weight_odr0000337 | string | 近两年命中银行中风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 168 | Rule_name_odr0000338 | string | 两年前命中银行中风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 169 | Rule_weight_odr0000338 | string | 两年前命中银行中风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 170 | Rule_name_odr0000339 | string | 近两年命中银行一般风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 171 | Rule_weight_odr0000339 | string | 近两年命中银行一般风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 172 | Rule_name_odr0000340 | string | 两年前命中银行一般风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 173 | Rule_weight_odr0000340 | string | 两年前命中银行一般风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 174 | Rule_name_odr0000341 | string | 近两年命中非银高风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 175 | Rule_weight_odr0000341 | string | 近两年命中非银高风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 176 | Rule_name_odr0000342 | string | 两年前命中非银高风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 177 | Rule_weight_odr0000342 | string | 两年前命中非银高风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 178 | Rule_name_odr0000343 | string | 近两年命中非银中风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 179 | Rule_weight_odr0000343 | string | 近两年命中非银中风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 180 | Rule_name_odr0000344 | string | 两年前命中非银中风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 181 | Rule_weight_odr0000344 | string | 两年前命中非银中风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 182 | Rule_name_odr0000345 | string | 近两年命中非银一般风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 183 | Rule_weight_odr0000345 | string | 近两年命中非银一般风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 184 | Rule_name_odr0000346 | string | 两年前命中非银一般风险 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 185 | Rule_weight_odr0000346 | string | 两年前命中非银一般风险权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 186 | Rule_name_odr0000347 | string | 命中银行中风险次数较多 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 187 | Rule_weight_odr0000347 | string | 命中银行中风险次数较多权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 188 | Rule_name_odr0000348 | string | 命中银行一般风险次数较多 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 189 | Rule_weight_odr0000348 | string | 命中银行一般风险次数较多权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 190 | Rule_name_odr0000349 | string | 命中非银中风险次数较多 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 191 | Rule_weight_odr0000349 | string | 命中非银中风险次数较多权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 192 | Rule_name_odr0000350 | string | 命中非银一般风险次数较多 | 命中规则名称(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | +| 193 | Rule_weight_odr0000350 | string | 命中非银一般风险次数较多权重 | 命中规则权重(如命中多条规则,则出现多条,odrxxxxxxx为10位规则编号) | + + +## 参数说明 + +1. 所有参数均通过身份证号码进行查询 +2. 返回值为"空"表示未命中相关风险名单 +3. 返回值为"0"表示命中相关风险名单 +4. 部分参数涉及不同类型的金融机构风险,包括: + - 银行(含信用卡)风险 + - 非银机构风险(包括持牌消费金融、融资租赁、汽车金融等) + - 法院相关风险(失信人、被执行人等) + +## 使用场景 + +该接口适用于金融机构在信贷审批、风险控制等场景中,对客户信用状况进行综合评估。 + + diff --git a/谛听多维报告_返回字段说明.md b/谛听多维报告_返回字段说明.md new file mode 100644 index 0000000..78dadc5 --- /dev/null +++ b/谛听多维报告_返回字段说明.md @@ -0,0 +1,403 @@ +## 返回字段说明 + +## 1. data(响应主体结构) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| baseInfo | object | 基本信息 | +| standLiveInfo | object | 身份信息核验 | +| checkSuggest | String | 审核建议 | +| fraudScore | int | 反欺诈评分,-1未命中,分值在【0,100】之间,得分越高,风险越高:
【0,59】低风险;
(60,79】中风险;
(80,100】高风险 | +| creditScore | int | 信用评分,-1未命中,分值在【300,1000】之间,得分越高,信用越好:
【300,499】信用一般;
(500,799】信用良好;
(800,1000】信用较好 | +| verifyRule | String | 验证规则,风险等级为【低风险】【中风险】【高风险】 | +| fraudRule | String | 反欺诈规则,风险等级为【低风险】【中风险】【高风险】 | +| riskWarning | object | 规则风险提示 | +| elementVerificationDetail | object | 要素、运营商、公安重点人员核查产品-命中详情 | +| riskSupervision | object | 关联风险监督 | +| overdueRiskProduct | object | 逾期风险产品-命中详情 | +| multCourtInfo | object | 司法风险核验产品-命中详情 | +| loanEvaluationVerificationDetail | object | 借贷评估产品-命中详情 | +| leasingRiskAssessment | object | 租赁风险评估产品-命中详情 | + +## 2. baseInfo(基本信息) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| name | String | 姓名 | +| age | int | 年龄 | +| sex | String | 性别 | +| idCard | String | 身份证号码 | +| phone | String | 手机号码 | +| location | String | 户籍所在地 | +| phoneArea | String | 号码归属地 | +| status | int | 号码状态:-1:未查得; 0:空号; 1:实号; 2:停机; 3:库无; 4:沉默号; 5:风险号 | +| channel | String | 手机运营商 | + +## 3. standLiveInfo(身份信息核验) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| finalAuthResult | String | 实名核验:"1":【不一致或不存在】、"0":【一致】 | +| verification | String | 运营商三要素核验:"1":【不一致】、"0":【一致】 | +| inTime | String | 运营商在网时长:0 [0,3)、3 [3,6)、6 [6,12)、12 [12,24)、24 [24,+)、99 手机号已离网/新入网/手机状态异常、-1 查无记录 | + +## 4. riskWarning(规则风险提示) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| totalRiskCounts | int | 总风险点数量 | +| **要素核查** | | | +| idCardTwoElementMismatch | int | 身份证二要素信息对比结果不一致(高风险) | +| phoneThreeElementMismatch | int | 手机三要素简版不一致(高风险) | +| **运营商核验** | | | +| shortPhoneDuration | int | 手机在网时长极短(高风险) | +| shortPhoneDurationSlight | int | 手机在网时长较短(高风险) | +| idCardPhoneProvinceMismatch | int | 身份证号手机号归属省不一致(中风险) | +| noPhoneDuration | int | 手机在网状态为风险号(高风险) | +| **公安重点人员核验** | | | +| hasCriminalRecord | int | 该用户有前科(高风险) | +| isEconomyFront | int | 该用户有经济类前科(高风险) | +| isDisrupSocial | int | 该用户有妨害社会管理秩序(高风险) | +| isKeyPerson | int | 该用户为重点人员(高风险) | +| isTrafficRelated | int | 该用户为涉交通案件(高风险) | +| isAntiFraudInfo | int | 该用户为涉赌涉诈(中风险) | +| level | String | 该用户命中案件(详情见附录) | +| **逾期风险** | | | +| hitHighRiskBankLastTwoYears | int | 近两年命中银行高风险(高风险) | +| hitHighRiskNonBankLastTwoYears | int | 近两年命中非银高风险(高风险) | +| hitCurrentOverdue | int | 该用户命中当前逾期(中风险) | +| **司法风险核验** | | | +| hitCivilCase | int | 该用户命中民事案件(高风险) | +| hitCriminalRisk | int | 该用户命中刑事风险(高风险) | +| hitAdministrativeCase | int | 该用户命中行政案件(高风险) | +| hitPreservationReview | int | 该用户命中保全审查(高风险) | +| hitExecutionCase | int | 该用户命中执行案件(高风险) | +| hitBankruptcyAndLiquidation | int | 该用户命中强制清算与破产案件(高风险) | +| hitDirectlyUnderCase | int | 该用户命中直辖案件(高风险) | +| hitCompensationCase | int | 该用户命中赔偿案件(高风险) | +| **借贷评估** | | | +| frequentApplicationRecent | int | 近期申请机构极为频繁(高风险) | +| frequentNonBankApplications | int | 在非银机构申请次数极多(高风险) | +| highDebtPressure | int | 偿债压力极高(高风险) | +| frequentBankApplications | int | 在银行机构申请次数极多(高风险) | +| moreFrequentNonBankApplications | int | 在非银机构申请次数较多(中风险) | +| highFraudGangLevel | int | 欺诈团伙等级较高(中风险) | +| moreFrequentBankApplications | int | 在银行机构申请次数较多(中风险) | +| **租赁风险评估** | | | +| frequentRentalApplications | int | 在租赁机构申请极为频繁(高风险) | +| veryFrequentRentalApplications | int | 在租赁机构申请次数极多(高风险) | + +## 5. elementVerificationDetail(要素、运营商、公安重点人员核查产品-命中详情) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| sjsysFlag | int | 手机三要素简版风险标识(1高风险 2低风险 0未查得) | +| phoneCheckDetails | object | 手机三要素简版-移动联动电信 | +| sfzeysFlag | int | 身份证二要素风险标识(1高风险 2低风险 0未查得) | +| personCheckDetails | object | 身份证二要素验证 | +| onlineRiskFlag | int | 手机在网时长风险标识(1高风险 2低风险 0未查得) | +| onlineRiskList | object | 手机在网时长高级版 | +| phoneVailRiskFlag | int | 手机信息验证风险标识(1高风险 2低风险 0未查得) | +| phoneVailRisks | object | 手机信息验证列表 | +| belongRiskFlag | int | 身份证号手机号归属地风险标识(1高风险 2低风险 0未查得) | +| belongRisks | object | 身份证号手机号归属地列表 | +| highRiskFlag | int | 公安重点人员核验产品风险标识(1高风险 2低风险 0未查得) | +| keyPersonCheckList | object | 公安重点人员核验产品详情 | +| antiFraudInfo | int | 涉赌涉诈核验产品详情 | + +### 5.1 phoneCheckDetails(手机三要素简版) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| num | String | 序号 | +| ele | String | 校验项 | +| phoneCompany | String | 手机号运营商 | +| result | String | 校验结果 | + +### 5.2 personCheckDetails(身份证二要素验证) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| num | String | 序号 | +| ele | String | 校验项 | +| result | String | 校验结果 | + +### 5.3 onlineRiskList(手机在网时长高级版) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| num | String | 序号 | +| lineType | String | 运营商类型 | +| onLineTimes | String | 手机在网时长区间 | + +### 5.4 phoneVailRisks(手机信息验证列表) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| num | String | 序号 | +| phoneStatus | String | 手机在网状态 | +| phoneCompany | String | 手机号运营商 | +| phoneTimes | String | 手机在网时长 | + +### 5.5 belongRisks(身份证号手机号归属地列表) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| num | String | 序号 | +| personProvence | String | 身份证号所属省 | +| personCity | String | 身份证号所属市 | +| phoneProvence | String | 手机所属省 | +| phoneCity | String | 手机所属市 | +| phoneCardType | String | 手机卡类型 | + +### 5.6 keyPersonCheckList(公安重点人员核验产品详情) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| num | String | 序号 | +| fontFlag | int | 前科,表明用户侵犯公民人身权利,民主权利(在逃,盗窃、诈骗、抢劫、故意伤害、强奸....在刑或前科等) | +| jingJiFontFlag | int | 经济类前科,表明用户破坏金融秩序、非法吸存、违发贷款、金融诈骗、集资诈骗、保险诈骗、假币..在刑或前科等 | +| fangAiFlag | int | 妨害社会管理秩序,表明用户扰乱社会公共秩序、妨害司法、妨害国境管理、妨害文物管理、涉毒、涉黄....在刑或前科 | +| zhongDianFlag | int | 重点,表明用户危害国家、公共安全,涉恐、疆藏,涉稳、涉黑、涉及境外等 | +| sheJiaoTongFlag | int | 涉交通案件,表明用户危险驾驶、交通肇事等 | + + ### 5.7 antiFraudInfo(涉赌涉诈风险) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| moneyLaundering | string | 疑似跑分风险(0,A,B,C,D) | +| deceiver | string | 疑似欺诈风险(0,A,B,C,D) | +| gamblerPlayer | string | 疑似赌博玩家风险(0,A,B,C,D) | +| gamblerBanker | string | 疑似赌博庄家风险(0,A,B,C,D) | +| riskScore | string | 风险分(仅无风险时返回此项,固定值为0) | + +## 6. overdueRiskProduct(逾期风险产品) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| lyjlhyFlag | int | 逾期风险产品风险标识(1高风险 2低风险 0未查得) | +| dkzhktjFlag | int | 贷款中还款统计风险标识(1高风险 2低风险 0未查得) | +| tsmdyzFlag | int | 特殊名单验证风险标识(1高风险 2低风险 0未查得) | +| hasUnsettledOverdue | String | 是否存在逾期未结清 | +| currentOverdueInstitutionCount | String | 当前逾期机构数 | +| currentOverdueAmount | String | 当前逾期金额 | +| settledInstitutionCount | String | 已结清机构数 | +| totalLoanRepaymentAmount | String | 贷款已还款总金额 | +| totalLoanInstitutions | String | 贷款总机构 | +| overdueLast1Day | String | 近1天逾期 | +| overdueLast7Days | String | 近7天逾期 | +| overdueLast14Days | String | 近14天逾期 | +| overdueLast30Days | String | 近30天逾期 | +| daysSinceLastSuccessfulRepayment | String | 最近一次成功还款距今天数 | +| repaymentFailureCountLast7Days | String | 最近7天还款失败次数 | +| repaymentFailureAmountLast7Days | String | 最近7天还款失败金额 | +| repaymentSuccessCountLast7Days | String | 最近7天还款成功次数 | +| repaymentSuccessAmountLast7Days | String | 最近7天还款成功金额 | +| repaymentFailureCountLast14Days | String | 最近14天还款失败次数 | +| repaymentFailureAmountLast14Days | String | 最近14天还款失败金额 | +| repaymentSuccessCountLast14Days | String | 最近14天还款成功次数 | +| repaymentSuccessAmountLast14Days | String | 最近14天还款成功金额 | +| repaymentFailureCountLastMonth | String | 最近1个月还款失败次数 | +| repaymentFailureAmountLastMonth | String | 最近1个月还款失败金额 | +| repaymentSuccessCountLastMonth | String | 最近1个月还款成功次数 | +| repaymentSuccessAmountLastMonth | String | 最近1个月还款成功金额 | +| repaymentFailureCountLast3Months | String | 最近3个月还款失败次数 | +| repaymentFailureAmountLast3Months | String | 最近3个月还款失败金额 | +| repaymentSuccessCountLast3Months | String | 最近3个月还款成功次数 | +| repaymentSuccessAmountLast3Months | String | 最近3个月还款成功金额 | +| repaymentFailureCountLast6Months | String | 最近6个月还款失败次数 | +| repaymentFailureAmountLast6Months | String | 最近6个月还款失败金额 | +| repaymentSuccessCountLast6Months | String | 最近6个月还款成功次数 | +| repaymentSuccessAmountLast6Months | String | 最近6个月还款成功金额 | +| specialListVerification | JsonArray | 特殊名单验证 | +| specialListVerification.mz | String | 命中特殊名单原因 | +| specialListVerification.jg | String | 取值结果 | + +## 7. multCourtInfo(司法风险核验产品) + +### 7.1 案件详情列表 + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| legalCasesFlag | int | 涉案公告列表风险标识(1高风险 2低风险 0未查得) | +| legalCases | array | 涉案公告列表 | +| executionCasesFlag | int | 执行公告列表风险标识(1高风险 2低风险 0未查得) | +| executionCases | array | 执行公告列表 | +| disinCasesFlag | int | 失信公告列表风险标识(1高风险 2低风险 0未查得) | +| disinCases | array | 失信公告列表 | +| limitCasesFlag | int | 限高公告列表风险标识(1高风险 2低风险 0未查得) | +| limitCases | array | 限高公告列表 | + +### 7.2 案件详情列表共有字段 + +以下字段适用于legalCases(涉案公告)、executionCases(执行公告)、disinCases(失信公告)和limitCases(限高公告) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| caseNumber | String | 案号 | +| caseType | String | 案件类型 | +| court | String | 法院 | +| litigantType | String | 诉讼地位 | +| filingTime | String | 立案时间 | +| disposalTime | String | 结案时间 | +| caseStatus | String | 案件状态 | +| executionAmount | String | 执行金额 | +| repaidAmount | String | 已还款金额 | +| caseReason | String | 案由 | +| disposalMethod | String | 结案方式 | +| judgmentResult | String | 判决结果 | + +## 8. loanEvaluationVerificationDetail(借贷评估产品) + +### 借贷评估产品 + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| riskFlag | int | 借贷评估产品风险标识(1高风险 2低风险 0未查得) | +| organLoanPerformances | array | 本人在本机构借贷意向表现列表 | +| customerLoanPerformances | array | 本人在各个客户类型借贷意向表现列表 | +| businessLoanPerformances | array | 本人在各个业务类型借贷意向表现列表 | +| timeLoanPerformances | array | 本人在异常时间段借贷意向表现列表 | + +### 本人在本机构借贷意向表现 (organLoanPerformances) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| applyCount | String | 申请类型(银行/非银) | +| last7Day | String | 近7天申请次数 | +| last15Day | String | 近15天申请次数 | +| last1Month | String | 近1个月申请次数 | +| last3Month | String | 近3个月申请次数 | +| last6Month | String | 近6个月申请次数 | +| last12Month | String | 近12个月申请次数 | + +### 本人在各个客户类型借贷意向表现 (customerLoanPerformances) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| type | String | 客户类型(银行汇总/传统银行/网络零售银行/非银汇总/持牌网络小贷/持牌消费金融/持牌融资租赁机构/持牌汽车金融/其他) | +| last7Day | String | 近7天申请机构数 | +| last7DayCount | String | 近7天申请次数 | +| last15Day | String | 近15天申请机构数 | +| last15DayCount | String | 近15天申请次数 | +| last1Month | String | 近1个月申请机构数 | +| last1MonthCount | String | 近1个月申请次数 | +| last3Month | String | 近3个月申请机构数 | +| last3MonthCount | String | 近3个月申请次数 | +| last6Month | String | 近6个月申请机构数 | +| last6MonthCount | String | 近6个月申请次数 | +| last12Month | String | 近12个月申请机构数 | +| last12MonthCount | String | 近12个月申请次数 | + +### 本人在各个业务类型借贷意向表现 (businessLoanPerformances) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| type | String | 客户类型(信用卡(类信用卡)/线上小额现金贷/汽车金融/线上消费分期/线下消费分期/其他) | +| last7Day - last12MonthCount | String | 同上customerLoanPerformances相同字段 | + +### 本人在异常时间段借贷意向表现 (timeLoanPerformances) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| type | String | 客户类型(夜间-银行/夜间-非银/周末-银行/周末-非银) | +| last7Day - last12MonthCount | String | 同上customerLoanPerformances相同字段 | + +## 9. leasingRiskAssessment(租赁风险评估产品) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| riskFlag | int | 借贷评估产品风险标识(1高风险 2低风险 0未查得) | +| threeCInstitutionApplicationCountLast3Days | String | 3C机构近3天申请次数 | +| threeCInstitutionApplicationCountLast3DaysWeekend | String | 3C机构近3天周末申请次数 | +| threeCInstitutionApplicationCountLast3DaysNight | String | 3C机构近3天夜间申请次数 | +| threeCInstitutionApplicationCountLast7Days | String | 3C机构近7天申请次数 | +| threeCInstitutionApplicationCountLast7DaysWeekend | String | 3C机构近7天周末申请次数 | +| threeCInstitutionApplicationCountLast7DaysNight | String | 3C机构近7天夜间申请次数 | +| threeCInstitutionApplicationCountLast14Days | String | 3C机构近14天申请次数 | +| threeCInstitutionApplicationCountLast14DaysWeekend | String | 3C机构近14天周末申请次数 | +| threeCInstitutionApplicationCountLast14DaysNight | String | 3C机构近14天夜间申请次数 | +| threeCInstitutionApplicationCountLastMonth | String | 3C机构近1个月申请次数 | +| threeCInstitutionApplicationCountLastMonthWeekend | String | 3C机构近1个月周末申请次数 | +| threeCInstitutionApplicationCountLastMonthNight | String | 3C机构近1个月夜间申请次数 | +| threeCInstitutionApplicationCountLast3Months | String | 3C机构近3个月申请次数 | +| threeCInstitutionApplicationCountLast3MonthsWeekend | String | 3C机构近3个月周末申请次数 | +| threeCInstitutionApplicationCountLast3MonthsNight | String | 3C机构近3个月夜间申请次数 | +| threeCInstitutionApplicationCountLast6Months | String | 3C机构近6个月申请次数 | +| threeCInstitutionApplicationCountLast6MonthsWeekend | String | 3C机构近6个月周末申请次数 | +| threeCInstitutionApplicationCountLast6MonthsNight | String | 3C机构近6个月夜间申请次数 | +| threeCInstitutionApplicationCountLast12Months | String | 3C机构近12个月申请次数 | +| threeCInstitutionApplicationCountLast12MonthsWeekend | String | 3C机构近12个月周末申请次数 | +| threeCInstitutionApplicationCountLast12MonthsNight | String | 3C平台近3天申请次数 | +| threeCPlatformApplicationCountLast3Days | String | 3C平台近3天申请次数 | +| threeCPlatformApplicationCountLast3DaysWeekend | String | 3C平台近3天周末申请次数 | +| threeCPlatformApplicationCountLast3DaysNight | String | 3C平台近3天周末申请次数 | +| threeCPlatformApplicationCountLast7Days | String | 3C平台近7天申请次数 | +| threeCPlatformApplicationCountLast7DaysWeekend | String | 3C平台近7天周末申请次数 | +| threeCPlatformApplicationCountLast7DaysNight | String | 3C平台近7天周末申请次数 | +| threeCPlatformApplicationCountLast14Days | String | 3C平台近14天申请次数 | +| threeCPlatformApplicationCountLast14DaysWeekend | String | 3C平台近14天周末申请次数 | +| threeCPlatformApplicationCountLast14DaysNight | String | 3C平台近14天夜间申请次数 | +| threeCPlatformApplicationCountLastMonth | String | 3C平台近1个月申请次数 | +| threeCPlatformApplicationCountLastMonthWeekend | String | 3C平台近1个月周末申请次数 | +| threeCPlatformApplicationCountLastMonthNight | String | 3C平台近1个月夜间申请次数 | +| threeCPlatformApplicationCountLast3Months | String | 3C平台近3个月申请次数 | +| threeCPlatformApplicationCountLast3MonthsWeekend | String | 3C平台近3个月周末申请次数 | +| threeCPlatformApplicationCountLast3MonthsNight | String | 3C平台近3个月夜间申请次数 | +| threeCPlatformApplicationCountLast6Months | String | 3C平台近6个月申请次数 | +| threeCPlatformApplicationCountLast6MonthsWeekend | String | 3C平台近6个月周末申请次数 | +| threeCPlatformApplicationCountLast6MonthsNight | String | 3C平台近6个月夜间申请次数 | +| threeCPlatformApplicationCountLast12Months | String | 3C平台近12个月申请次数 | +| threeCPlatformApplicationCountLast12MonthsWeekend | String | 3C平台近12个月周末申请次数 | +| threeCPlatformApplicationCountLast12MonthsNight | String | 3C平台近12个月夜间申请次数 | + +## 10. riskSupervision(关联风险监督) + +| 字段名 | 类型 | 说明 | +|--------|------|------| +| leastApplicationTime | int | 最后申请时间 | +| rentalRiskListIdCardRelationsPhones | int | 同一身份证关联手机号数 | +| rentalRiskListPhoneRelationsIdCards | int | 同一手机号关联身份证数 | +| details | String | 详情 | + +### 备注 + +| 数值 | 说明 | +|------|------| +| 0 | 无风险 | +| A | 较低风险:近三个月有参与疑似涉赌涉诈中风险交易,或历史有参与涉赌诈高风险交易,近期未参与涉赌诈等交易的账号;以及其他较低危风险交易 | +| B | 低风险:近三个月有参与疑似涉赌涉诈高风险交易,近期未参与涉赌诈等交易的账号;以及其他低危风险交易 | +| C | 中风险(有从高风险降级的可能性):近三个月有与赌博庄家、欺诈收款关联交易,或疑似团伙性质的账户;或第三方支付投诉举报,疑似为涉诈、涉赌的收款账户;以及其他中危风险交易 | +| D | 高风险:近三个月有被交易处罚,如涉赌、涉诈等高危风险交易的处罚;或近期被四方巡检稽核为收款账户;或第三方支付投诉举报,定性为涉诈账户,且近期有过高危收款行为的账户,以及其他高危风险交易 | + +## 附录 + +| 类型 | 详细说明 | +|------|----------| +| 0 | 正常人员 | +| A | 前科 : 侵犯公民人身权利,民主权利(在逃,盗窃、诈骗、抢劫、故意伤害、强奸....在刑或前科等) | +| A1 | 盗窃 | +| A2 | 诈骗 | +| A3 | 抢劫/夺 | +| A4 | 故意伤害/杀人/ | +| A5 | 强奸/性侵/猥亵/ | +| B | 经济类前科(破坏金融秩序、非法吸存、违发贷款、金融诈骗、集资诈骗、保险诈骗、假币..在刑或前科等) | +| B1 | 走私 | +| B2 | 破坏金融管理秩序 | +| B3 | 正常人员 | +| B4 | 洗钱 | +| B5 | 洗钱 | +| C | 妨害社会管理秩序(扰乱社会公共秩序、妨害司法、妨害国境管理、妨害文物管理、涉毒、涉黄....在刑或前科等) | +| C1 | 扰乱公共秩序 | +| C2 | 妨害司法 | +| C3 | 涉毒 | +| C4 | 涉黄刑案 | +| C5 | 帮信/掩隐/侵公 | +| D | 重点(危害国家、公共安全,涉恐、疆藏,涉稳、涉黑、涉及境外等) | +| D1 | 危害国家、公共安全 | +| D2 | 涉稳 | +| D3 | 涉及境外 | +| D4 | 涉恐、疆藏 | +| D5 | 涉黑 | +| E | 涉交通案件 :(危险驾驶、交通肇事等) | +| F | 法院文书 | \ No newline at end of file