From 53284b69797692b9c51b18fd880dc875da28d592 Mon Sep 17 00:00:00 2001 From: Mrx <18278715334@163.com> Date: Wed, 13 May 2026 11:01:42 +0800 Subject: [PATCH] f --- public/example.json | 805 ++++++++++++++++++++++++++++++++- src/components/BaseReport.vue | 206 ++++++++- src/ui/CDWBG8B4D/index.vue | 4 +- src/ui/CFLX3A9B.vue | 309 +++++++++++++ src/ui/CIVYZ0S0D.vue | 481 ++++++++++++++++++++ src/ui/CIVYZ6M8P.vue | 104 +++++ src/ui/CIVYZ7F3A.vue | 296 +++++++++++++ src/ui/CIVYZ9K7F.vue | 227 ++++++++++ src/ui/CIVYZA1B3.vue | 239 ++++++++++ src/ui/CJRZQ0B6Y.vue | 235 ++++++++++ src/ui/CJRZQACAB.vue | 227 ++++++++++ src/ui/CQCXG1H7Y.vue | 204 +++++++++ src/ui/CQCXG1U4U.vue | 374 ++++++++++++++++ src/ui/CQCXG3Y6B.vue | 284 ++++++++++++ src/ui/CQCXG3Z3L.vue | 288 ++++++++++++ src/ui/CQCXG4D2E.vue | 126 ++++++ src/ui/CQCXG4I1Z.vue | 256 +++++++++++ src/ui/CQCXG5U0Z.vue | 212 +++++++++ src/ui/CQCXG6B4E.vue | 493 +++++++++++++++++++++ src/ui/CQCXGGB2Q.vue | 216 +++++++++ src/ui/CQCXGP00W.vue | 634 ++++++++++++++++++++++++++ src/ui/CQCXGY7F2.vue | 228 ++++++++++ src/ui/CQCXGYTS2.vue | 250 +++++++++++ src/ui/CQVehicleGeneric.vue | 60 +++ src/ui/CQYGL2S0W.vue | 479 ++++++++++++++++++++ src/ui/CQYGL3F8E/README.md | 238 ++++++++++ src/ui/CQYGL5F6A.vue | 171 +++++++ src/ui/CQYGL66SL.vue | 542 +++++++++++++++++++++++ src/ui/CYYSY3M8S.vue | 212 +++++++++ src/ui/CYYSY6F2B.vue | 162 +++++++ src/ui/CYYSY9E4A.vue | 124 ++++++ src/ui/CYYSYE7V5.vue | 192 ++++++++ src/ui/CYYSYF2T7.vue | 210 +++++++++ src/ui/CYYSYK8R3.vue | 218 +++++++++ src/ui/CYYSYK9R4.vue | 216 +++++++++ src/ui/CYYSYP0T4.vue | 172 +++++++ src/ui/CYYSYS9W1.vue | 151 +++++++ src/ui/FLXGK5D2.zip | Bin 7986 -> 0 bytes src/ui/IVYZ0S0D.vue | 811 ---------------------------------- src/ui/JRZQ6F2A/index.vue | 84 +++- src/ui/QCXG5F3A.vue | 126 ++++++ 41 files changed, 10043 insertions(+), 823 deletions(-) create mode 100644 src/ui/CFLX3A9B.vue create mode 100644 src/ui/CIVYZ0S0D.vue create mode 100644 src/ui/CIVYZ6M8P.vue create mode 100644 src/ui/CIVYZ7F3A.vue create mode 100644 src/ui/CIVYZ9K7F.vue create mode 100644 src/ui/CIVYZA1B3.vue create mode 100644 src/ui/CJRZQ0B6Y.vue create mode 100644 src/ui/CJRZQACAB.vue create mode 100644 src/ui/CQCXG1H7Y.vue create mode 100644 src/ui/CQCXG1U4U.vue create mode 100644 src/ui/CQCXG3Y6B.vue create mode 100644 src/ui/CQCXG3Z3L.vue create mode 100644 src/ui/CQCXG4D2E.vue create mode 100644 src/ui/CQCXG4I1Z.vue create mode 100644 src/ui/CQCXG5U0Z.vue create mode 100644 src/ui/CQCXG6B4E.vue create mode 100644 src/ui/CQCXGGB2Q.vue create mode 100644 src/ui/CQCXGP00W.vue create mode 100644 src/ui/CQCXGY7F2.vue create mode 100644 src/ui/CQCXGYTS2.vue create mode 100644 src/ui/CQVehicleGeneric.vue create mode 100644 src/ui/CQYGL2S0W.vue create mode 100644 src/ui/CQYGL3F8E/README.md create mode 100644 src/ui/CQYGL5F6A.vue create mode 100644 src/ui/CQYGL66SL.vue create mode 100644 src/ui/CYYSY3M8S.vue create mode 100644 src/ui/CYYSY6F2B.vue create mode 100644 src/ui/CYYSY9E4A.vue create mode 100644 src/ui/CYYSYE7V5.vue create mode 100644 src/ui/CYYSYF2T7.vue create mode 100644 src/ui/CYYSYK8R3.vue create mode 100644 src/ui/CYYSYK9R4.vue create mode 100644 src/ui/CYYSYP0T4.vue create mode 100644 src/ui/CYYSYS9W1.vue delete mode 100644 src/ui/FLXGK5D2.zip delete mode 100644 src/ui/IVYZ0S0D.vue create mode 100644 src/ui/QCXG5F3A.vue diff --git a/public/example.json b/public/example.json index c8281a7..37ff102 100644 --- a/public/example.json +++ b/public/example.json @@ -2807,7 +2807,10 @@ "checkSuggest": "建议拒绝", "creditScore": 300, "elementVerificationDetail": { - "antiFraudInfo": {}, + "antiFraudInfo": { + + + }, "belongRiskFlag": 0, "belongRisks": { "num": "1", @@ -10688,6 +10691,802 @@ } } } - - + ,{ + "feature": { + "featureName": "职业资格证书查询", + "sort": 1 + }, + "data": { + "apiID": "CIVYZ6M8P", + "data": { + "ED0001": "信息系统项目管理师考试", + "ED0002": "高级", + "ED0003": "计算机技术专业", + "ED0004": "2024-11-01" + } + } + } + ,{ + "feature": { + "featureName": "学籍学历核验(实时版)", + "sort": 1 + }, + "data": { + "apiID": "CIVYZ7F3A", + "data": { + "Ranking": "151-155", + "major": "食品科学与工程类", + "graduationDate": "201507", + "isDoubleFirstClass": "否", + "educationLevel": "本科", + "educationType": "普通全日制", + "isProject985": "否", + "schoolType": "农业", + "isProject211": "否" + } + } + } + ,{ + "feature": { + "featureName": "公安二要素认证", + "sort": 1 + }, + "data": { + "apiID": "CIVYZ9K7F", + "data": { + "swift_number": "999333_20181029143459_23453A4E0", + "code": "00", + "flag_telefraudpredictstd": "1", + "tfps_level": "1" + } + } + } + ,{ + "feature": { + "featureName": "公安三要素", + "sort": 1 + }, + "data": { + "apiID": "CIVYZA1B3", + "data": { + "order_no": "673106944390729728", + "score": 0.86, + "msg": "系统判断为同一人", + "incorrect": 100, + "sex": "男", + "birthday": "19930123", + "address": "江西省吉安地区遂川县" + } + } + } + ,{ + "feature": { + "featureName": "银行卡黑名单(实时)", + "sort": 1 + }, + "data": { + "apiID": "CJRZQ0B6Y", + "data": { + "badCardHolder": "0", + "caseRelated": "0", + "fraudTrans": "1", + "offlineBlack": "1", + "onlineBlack": "0", + "otherBlack": "1" + } + } + } + ,{ + "feature": { + "featureName": "银行卡四要素验证(详版)", + "sort": 1 + }, + "data": { + "apiID": "CJRZQACAB", + "data": { + "state": "4" + } + } + } + ,{ + "feature": { + "featureName": "车辆过户简版查询", + "sort": 1 + }, + "data": { + "apiID": "CQCXG1H7Y", + "data": { + "transferFlag": "1", + "transferDate": "202208", + "transferNum": "1" + } + } + } + ,{ + "feature": { + "featureName": "车辆里程记录(混合查询)", + "sort": 1 + }, + "data": { + "apiID": "CQCXG1U4U", + "data": { + "vehicleInfo": { + "vin": "LTWA35K10MS210053" + }, + "mileageInfo": { + "mileageList": [ + { + "mileageStatus": "0", + "source": "0", + "reportTime": "2021-12-01", + "mileage": "145961" + }, + { + "mileageStatus": "0", + "source": "0", + "reportTime": "2022-04-01", + "mileage": "146470" + }, + { + "mileageStatus": "0", + "source": "0", + "reportTime": "2022-04-01", + "mileage": "146534" + } + ], + "suspectedAdjust": "false", + "suspectedAdjustMileageList": [] + }, + "imageUrl": "https://jg-cust.obs.cn-east-3.myhuaweicloud.com:443/xxx.png" + } + } + } + ,{ + "feature": { + "featureName": "车辆维保简版查询", + "sort": 1 + }, + "data": { + "apiID": "CQCXG3Y6B", + "data": { + "record": [ + { + "lastTime": "2016-04-29", + "repairType": "定期保养", + "vin": "LFM*****18852", + "mileage": "55694", + "details": [ + { + "type": "定期保养", + "content": "55,000 KM 保养检查;" + } + ], + "materials": [ + { + "type": "定期保养", + "content": "SM 5W20机油(1L)" + } + ] + } + ] + } + } + } + ,{ + "feature": { + "featureName": "车辆维保详细版查询", + "sort": 1 + }, + "data": { + "apiID": "CQCXG3Z3L", + "data": { + "vin": "LFP83A**D64302", + "licensePlate": "", + "engine": "", + "brandName": "上汽通用凯迪拉克", + "record": [ + { + "date": "2018-03-23", + "material": "", + "remark": "", + "type": "厂家活动", + "content": "X40装饰条加装;", + "mileage": "1863" + } + ] + } + } + } + ,{ + "feature": { + "featureName": "名下车辆(数量)", + "sort": 1 + }, + "data": { + "apiID": "CQCXG4D2E", + "data": { + "vehicleCount": "1", + "list": [ + { + "plateNum": "苏UC037G", + "plateColor": 0, + "vehicleType": 1 + } + ] + } + } + } + ,{ + "feature": { + "featureName": "车辆过户详版查询", + "sort": 1 + }, + "data": { + "apiID": "CQCXG4I1Z", + "data": { + "retdata": [ + { + "vin": "LHGCR2656E8053320", + "oldCp": "皖SC0122", + "cityBefore": null, + "newCp": "鲁HR830F", + "changeMonth": "201901", + "cityAfter": null, + "transMonth": "54", + "transYear": "5", + "transTimeSum": 1 + }, + { + "vin": "LHGCR2656E8053320", + "oldCp": "鲁HR830F", + "cityBefore": null, + "newCp": "鲁H999DR", + "changeMonth": "202009", + "cityAfter": "济宁市", + "transMonth": "20", + "transYear": "2", + "transTimeSum": 2 + }, + { + "vin": "LHGCR2656E8053320", + "oldCp": "鲁H999DR", + "cityBefore": "济宁市", + "newCp": "鲁HL00J3", + "changeMonth": "202303", + "cityAfter": "长沙市", + "transMonth": "30", + "transYear": "3", + "transTimeSum": 3 + } + ] + } + } + } + ,{ + "feature": { + "featureName": "车辆静态信息查询", + "sort": 1 + }, + "data": { + "apiID": "CQCXG5U0Z", + "data": "[{\"engineNO\":\"TG325******VE\",\"vType\":\"TSL70******R7\",\"vScdate\":\"2025-11-11 00:00:00\",\"dischargeStage\":\"0\",\"vSccdz\":\"上海市浦东新区*****5000号\",\"engineType\":\"3D7\",\"vManufacturer\":\"特斯拉(上海)有限公司\",\"vClassification\":\"M1\",\"vFuelType\":\"电动\"}]" + } + } + ,{ + "feature": { + "featureName": "车辆出险记录核验", + "sort": 1 + }, + "data": { + "apiID": "CQCXG6B4E", + "data": { + "TypeName": "", + "ThreeRisksDangerCount": "C:1.00", + "CommercialPolicyTransferCount": "1:2", + "TuoBaoTime": "大于180天", + "PurchasePrice": "129800.00", + "CarAge": "144", + "CompensationRatioo": "1.0%", + "IsExtendAvailable": "", + "FuelType": "燃油", + "EngineNumber": "D410556", + "IfTuoBao": "1", + "RatedCapacity": "", + "CommercialPolicyDangerCount": "A:2", + "BodyColor": "无", + "CompulsoryPolicyTransferCount": "2:1", + "DebutDate": "2013-03-26 00:00:00", + "MajorAccident": "A:0,B:0,C:0,D:0", + "CommercialPolicyTime": "1:30", + "CompulsoryPolicyDangerCount": "B:1", + "TotalLoss": "0", + "LicensePlate": "湘***03", + "IfCarDamage": "0", + "IsMajorAccidentData": "3", + "EmiStandard": "", + "Displacement": "", + "UsedCarPrice": "17123.216", + "CompulsoryPolicyTime": "3:30", + "IsConInsure": "0", + "LossPart": "13:1", + "IfHighriskVehicle": "0", + "IsLiabilityAvailable": "N", + "IsMajorAccidentLevel": "一般", + "Total": "261.21", + "CarType": "江淮***0K1F", + "IsOperation": "0" + } + } + } + ,{ + "feature": { + "featureName": "人车核验(简版)", + "sort": 1 + }, + "data": { + "apiID": "CQCXGGB2Q", + "data": { + "verify_code": 1 + } + } + } + ,{ + "feature": { + "featureName": "车辆出险详版查询", + "sort": 1 + }, + "data": { + "apiID": "CQCXGP00W", + "data": { + "clxx": { + "brandName": "大众", + "vehicleStyle": "迈腾 330TSI", + "licensePlate": "皖A12345", + "vin": "LSVAU2A39EN123456" + }, + "tjxx": { + "claimCount": 1, + "totalAmount": "3500元", + "largestAmount": "3500元", + "claimCacCount": 1, + "claimUnCacCount": 0 + }, + "pzRecords": [ + { + "date": "2023-11-20", + "serviceMoney": 350000, + "accidentType": "碰撞", + "claimStatus": "已结案", + "result": [ + { + "dangerSingleType": "1", + "dangerSingleName": "前保险杠", + "dangerSingleNum": "1", + "dangerSingleMoney": 200000 + } + ] + } + ] + } + } + } + ,{ + "feature": { + "featureName": "二手车VIN估值", + "sort": 1 + }, + "data": { + "apiID": "CQCXGY7F2", + "data": { + "color": "无", + "manufacturerName": "海格", + "seriesName": "海格H6V", + "modelYear": "2015款", + "modelName": "2015款 海格H6V 电动版", + "estimatedValue": "73.41万元", + "productionDate": "未知", + "msrp": "70.80万;80.80万", + "seriesGroupName": "海格H6V", + "displacement": "未知", + "transmissionType": "固定齿比变速箱", + "emissionStandard": "未知", + "seatingCapacity": "10-16" + } + } + } + ,{ + "feature": { + "featureName": "人车核验(详版)", + "sort": 1 + }, + "data": { + "apiID": "CQCXGYTS2", + "data": { + "status": -1 + } + } + } + ,{ + "feature": { + "featureName": "车辆通用查询", + "sort": 1 + }, + "data": { + "apiID": "CQVehicleGeneric", + "data": { + "message": "车辆查询通用返回" + } + } + } + ,{ + "feature": { + "featureName": "失信被执行人", + "sort": 1 + }, + "data": { + "apiID": "CQYGL2S0W", + "data": { + "swift_number": "999333_20181029143459_23453A4E0", + "code": "00", + "flag_telefraudpredictstd": "1", + "tfps_level": "1" + } + } + } + ,{ + "feature": { + "featureName": "名下企业关联", + "sort": 1 + }, + "data": { + "apiID": "CQYGL5F6A", + "data": { + "ent_report_001": { + "queryResult": { + "items": [ + { + "orgName": "xxxx超市", + "pName": "张三", + "relationship": ["lp"], + "basicInfo": { + "regNumber": "xxxx", + "regStatus": "存续", + "creditCode": "xxxxx", + "estiblishTime": "2022-03-24", + "regCapital": "", + "name": "xxxx超市", + "companyOrgType": "个体工商户", + "industry": "零售业", + "type": "1", + "regCapitalCurrency": "人民币", + "base": "sc", + "legalPersonName": "张三" + } + }, + { + "orgName": "xxxxx烟酒行", + "pName": "张三", + "relationship": ["lp"], + "basicInfo": { + "regNumber": "xxxxx", + "regStatus": "注销", + "creditCode": "", + "estiblishTime": "2015-09-25", + "regCapital": "2万人民币", + "name": "xxxxx烟酒行", + "companyOrgType": "个体工商户", + "industry": "零售业", + "type": "1", + "regCapitalCurrency": "人民币", + "base": "zj", + "legalPersonName": "张三" + } + }, + { + "orgName": "zzzzz合作社", + "pName": "张三", + "stockHolderItem": { + "orgHolderType": "自然人", + "investDate": "", + "investRate": "20%", + "subscriptAmt": "32", + "orgHolderName": "张三" + }, + "relationship": ["sh", "tm"], + "basicInfo": { + "regStatus": "存续", + "estiblishTime": "2015-05-15", + "regCapital": "160万人民币", + "industry": "农业", + "type": "1", + "regCapitalCurrency": "人民币", + "legalPersonName": "李四", + "regNumber": "xxxx", + "creditCode": "xxxxx", + "name": "zzzzz合作社", + "companyOrgType": "农民专业合作社", + "base": "zj" + } + } + ] + } + } + } + } + } + ,{ + "feature": { + "featureName": "企业司法涉诉", + "sort": 1 + }, + "data": { + "apiID": "CQYGL66SL", + "data": { + "entout": { + "msg": "-", + "data": { + "civil": { + "cases": [ + { + "n_ajlx": "民事案件", + "c_ah": "(2024)皖01民初5678号", + "n_laay_tag": "合同纠纷", + "n_laay": "合同纠纷", + "d_larq": "2024-02-15", + "n_ajjzjd": "已结案", + "n_pj_victory": "胜诉", + "n_jbfy": "安徽省合肥市中级人民法院", + "c_dsrxx": [ + {"n_ssdw": "原告", "c_mc": "合肥某某科技有限公司", "n_dsrlx": "企业"}, + {"n_ssdw": "被告", "c_mc": "某某有限公司", "n_dsrlx": "企业"} + ] + } + ], + "count": { + "count_total": "1", + "count_jie_total": "1", + "count_wei_total": "0", + "area_stat": "安徽", + "ay_stat": "合同纠纷" + } + }, + "criminal": {"cases": [], "count": {}}, + "implement": {"cases": [], "count": {}}, + "administrative": {"cases": [], "count": {}}, + "bankrupt": {"cases": [], "count": {}}, + "preservation": {"cases": [], "count": {}}, + "count": { + "count_total": "1", + "area_stat": "安徽", + "ay_stat": "合同纠纷" + } + } + }, + "sxbzxr": {"msg": "-", "data": {"sxbzxr": [{"ah": "-", "id": "-"}]}}, + "xgbzxr": {"msg": "-", "data": {"xgbzxr": [{"ah": "-", "id": "-"}]}} + } + } + } + ,{ + "feature": { + "featureName": "运营商二要素", + "sort": 1 + }, + "data": { + "apiID": "CYYSY3M8S", + "data": { + "order_no": "590480610024361984", + "fee": 1, + "result": 0 + } + } + } + ,{ + "feature": { + "featureName": "手机消费区间验证", + "sort": 1 + }, + "data": { + "apiID": "CYYSY6F2B", + "data": { + "operator_real": "2", + "state": "3", + "is_xhzw": "1", + "operator": "1" + } + } + } + ,{ + "feature": { + "featureName": "天远手机号码归属地核验A", + "sort": 1 + }, + "data": { + "apiID": "CYYSY9E4A", + "data": { + "areaCode": "0554", + "cityName": "淮南", + "channel": "中国电信", + "postCode": "232000", + "provinceName": "安徽", + "mobilePrefix": "1995549" + } + } + } + ,{ + "feature": { + "featureName": "手机在网状态V即时版", + "sort": 1 + }, + "data": { + "apiID": "CYYSYE7V5", + "data": { + "order_no": "580055785669791744", + "channel": "移动", + "status": 0, + "desc": "正常" + } + } + } + ,{ + "feature": { + "featureName": "号码二次放号V即时版", + "sort": 1 + }, + "data": { + "apiID": "CYYSYF2T7", + "data": { + "result": 0, + "orderNo": "039647419591210225", + "channel": "cmcc", + "desc": "是二次卡" + } + } + } + ,{ + "feature": { + "featureName": "手机空号检测V即时版", + "sort": 1 + }, + "data": { + "apiID": "CYYSYK8R3", + "data": { + "order_no": "585862999579955200", + "area": "浙江-杭州", + "channel": "中国移动 GSM", + "status": 1 + } + } + } + ,{ + "feature": { + "featureName": "全网手机三要素验证", + "sort": 1 + }, + "data": { + "apiID": "CYYSYK9R4", + "data": { + "state": "1" + } + } + } + ,{ + "feature": { + "featureName": "手机号码在网时长V即时版", + "sort": 1 + }, + "data": { + "apiID": "CYYSYP0T4", + "data": { + "order_no": "580348068336111616", + "channel": "cmcc", + "time": "[24,-1)" + } + } + } + ,{ + "feature": { + "featureName": "手机携号转网V即时版", + "sort": 1 + }, + "data": { + "apiID": "CYYSYS9W1", + "data": { + "order_no": "496837343958776548", + "mobile": "13456872858", + "area": null, + "ispType": "移动", + "newIspType": "移动" + } + } + } + ,{ + "feature": { + "featureName": "名下车辆车牌查询B", + "sort": 1 + }, + "data": { + "apiID": "QCXG5F3A", + "data": { + "vehicleCount": "1", + "list": [ + { + "plateNum": "苏**Z", + "plateColor": 0, + "vehicleType": 1 + } + ] + } + } + } + ,{ + "feature": { + "featureName": "法院被执行人限高版", + "sort": 1 + }, + "data": { + "apiID": "CFLX3A9B", + "data": { + "code": "200", + "message": "success", + "success": true, + "el_sx1_datatype": "失信被执行人", + "el_sx1_iname": "张三", + "el_sx1_sexname": "男性", + "el_sx1_age": "33", + "el_sx1_areaname": "广东省", + "el_sx1_casecode": "(2024)粤0106执5293号", + "el_sx1_courtname": "广东省广州市天河区人民法院", + "el_sx1_gistcid": "(2023)粤0106民初22456等号", + "el_sx1_partytypename": "0", + "el_sx1_regdate": "2024-03-07", + "el_sx1_publishdate": "2024-03-11", + "el_sx1_sign": "0", + "el_sx1_signalDesc": "主体被拉入失信名单,且发生在三年之内", + "el_sx1_signalRating": "1", + "el_sx2_datatype": "失信被执行人", + "el_sx2_iname": "张三", + "el_sx2_sexname": "男性", + "el_sx2_age": "32", + "el_sx2_areaname": "安徽省", + "el_sx2_casecode": "(2023)皖0403执3847号", + "el_sx2_courtname": "安徽省淮南市田家庵区人民法院", + "el_sx2_gistcid": "(2023)皖0403民初1229号", + "el_sx2_partytypename": "0", + "el_sx2_regdate": "2023-10-07", + "el_sx2_publishdate": "2023-11-06", + "el_sx2_sign": "0", + "el_sx2_signalDesc": "主体被拉入失信名单,且发生在三年之内", + "el_sx2_signalRating": "1", + "el_xg1_datatype": "限高被执行人", + "el_xg1_iname": "张三", + "el_xg1_sexname": "男", + "el_xg1_age": "33", + "el_xg1_areaname": "广东省", + "el_xg1_casecode": "(2024)粤0106执5293号", + "el_xg1_courtname": "广东省广州市天河区人民法院", + "el_xg1_regdate": "2024-03-07", + "el_xg1_publishdate": "2024-03-11", + "el_xg1_sign": "0", + "el_xg1_signalDesc": "主体被曝光,且发生在三年之内", + "el_xg1_signalRating": "1", + "el_xg2_datatype": "限高被执行人", + "el_xg2_iname": "张三", + "el_xg2_sexname": "男", + "el_xg2_age": "32", + "el_xg2_areaname": "安徽省", + "el_xg2_casecode": "(2023)皖0403执3847号", + "el_xg2_courtname": "安徽省淮南市田家庵区人民法院", + "el_xg2_regdate": "2023-10-07", + "el_xg2_publishdate": "2023-10-24", + "el_xg2_sign": "0", + "el_xg2_signalDesc": "主体被曝光,且发生在三年之内,但已下架", + "el_xg2_signalRating": "2", + "Rule_name_odr0000210": "为法院失信被执行人", + "Rule_weight_odr0000210": "80", + "Rule_final_decision": "Reject", + "Rule_final_weight": "80" + } + } + } ] \ No newline at end of file diff --git a/src/components/BaseReport.vue b/src/components/BaseReport.vue index 2d7119e..7b09975 100644 --- a/src/components/BaseReport.vue +++ b/src/components/BaseReport.vue @@ -360,7 +360,7 @@ const featureMap = { IVYZ0S0D:{ name: "劳动仲裁信息查询(个人版)", - component: defineAsyncComponent(() => import("@/ui/IVYZ0S0D.vue")), + component: defineAsyncComponent(() => import("@/ui/CIVYZ0S0D.vue")), remark: '劳动仲裁信息查询(个人版)用于查询个人在劳动仲裁方面的信息,包括劳动仲裁案件数量、劳动仲裁案件类型、劳动仲裁案件结果等。', }, @@ -410,6 +410,175 @@ const featureMap = { // name: "规则风险提示", // component: defineAsyncComponent(() => import("@/ui/cDwBG8B4D/components/MultcourtInfosection.vue")), // } + + // 法院被执行人限高版 + CFLX3A9B: { + name: "法院被执行人限高版", + component: defineAsyncComponent(() => import("@/ui/CFLX3A9B.vue")), + remark: '法院被执行人限高版用于查询个人在法院的被执行人信息,包括被执行人数量、被执行人类型、被执行人结果等。', + }, + + CIVYZ6M8P: { + name: "职业资格证书查询", + component: defineAsyncComponent(() => import("@/ui/CIVYZ6M8P.vue")), + remark: '职业资格证书查询展示查询到的职业资格考试名称、级别、专业及通过日期等信息。查询结果来源于相关职业技能鉴定机构,仅供参考。', + }, + CIVYZ7F3A: { + name: "学历信息查询B", + component: defineAsyncComponent(() => import("@/ui/CIVYZ7F3A.vue")), + remark: '学历信息查询B展示学生毕业院校排名、专业、学历层次、学习形式、毕业时间、学校属性(985/211/双一流)等多维度学历信息。查询结果来源于教育部门等权威机构,仅供参考。', + }, + CIVYZ9K7F: { + name: "公安二要素认证即时版", + component: defineAsyncComponent(() => import("@/ui/CIVYZ9K7F.vue")), + remark: '公安二要素认证即时版用于核验姓名与身份证号是否一致,同时返回涉诈风险评估等级。查询结果来源于公安部门等权威机构,仅供参考。', + }, + CIVYZA1B3: { + name: "公安三要素即时版", + component: defineAsyncComponent(() => import("@/ui/CIVYZA1B3.vue")), + remark: '公安三要素即时版通过比对人像与身份证信息判断是否为同一人,返回相似度分值及个人基本信息。查询结果来源于公安部门等权威机构,仅供参考。', + }, + CJRZQ0B6Y: { + name: "银行卡黑名单(实时)", + component: defineAsyncComponent(() => import("@/ui/CJRZQ0B6Y.vue")), + remark: '银行卡黑名单(实时)查询银行卡是否命中不良持卡人、涉案卡片、交易欺诈卡片、线上/线下卡号黑名单等各类风险名单。查询结果仅供参考,具体信息以相关机构官方记录为准。', + }, + CJRZQACAB: { + name: "银行卡四要素验证(详版)", + component: defineAsyncComponent(() => import("@/ui/CJRZQACAB.vue")), + remark: '银行卡四要素验证(详版)核验姓名、身份证号、银行卡号与预留手机号是否匹配,返回详细的验证状态说明。', + }, + CQCXG1H7Y: { + name: "车辆过户简版查询", + component: defineAsyncComponent(() => import("@/ui/CQCXG1H7Y.vue")), + remark: '车辆过户简版查询用于查看车辆最近是否发生过户及累计过户次数,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + CQCXG1U4U: { + name: "车辆里程记录(混合查询)", + component: defineAsyncComponent(() => import("@/ui/CQCXG1U4U.vue")), + remark: '车辆里程记录(混合查询)综合诊断与维保记录,展示车辆里程变化与是否存在调表嫌疑,数据来源于车辆维保及检测机构,仅供参考。', + }, + CQCXG3Y6B: { + name: "车辆维保简版查询", + component: defineAsyncComponent(() => import("@/ui/CQCXG3Y6B.vue")), + remark: '车辆维保简版查询按时间轴展示维保记录,包含保养与更换材料明细,数据来源于车辆维保机构,仅供参考。', + }, + CQCXG3Z3L: { + name: "车辆维保详细版查询", + component: defineAsyncComponent(() => import("@/ui/CQCXG3Z3L.vue")), + remark: '车辆维保详细版查询展示品牌、车架号等基本信息及每次维保的详细内容,数据来源于车辆维保机构,仅供参考。', + }, + CQCXG4D2E: { + name: "名下车辆数量查询", + component: defineAsyncComponent(() => import("@/ui/CQCXG4D2E.vue")), + remark: '名下车辆数量查询展示查询对象名下登记的车辆数量及车牌、车牌颜色、车辆类型等基本信息,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + CQCXG4I1Z: { + name: "车辆过户详版查询", + component: defineAsyncComponent(() => import("@/ui/CQCXG4I1Z.vue")), + remark: '车辆过户详版查询按时间轴展示每一次车辆过户的车牌与地区变更情况,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + CQCXG5U0Z: { + name: "车辆静态信息查询", + component: defineAsyncComponent(() => import("@/ui/CQCXG5U0Z.vue")), + remark: '车辆静态信息查询展示车辆生产日期、排放标准、燃料类型、发动机型号、生产企业名称等核心静态信息,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + CQCXG6B4E: { + name: "车辆出险记录核验", + component: defineAsyncComponent(() => import("@/ui/CQCXG6B4E.vue")), + remark: '车辆出险记录核验综合车辆出险、脱保、重大事故等信息评估风险等级,并给出二手车价格参考,数据来源于保险行业信息平台,仅供参考。', + }, + CQCXGGB2Q: { + name: "车辆二要素核验V1", + component: defineAsyncComponent(() => import("@/ui/CQCXGGB2Q.vue")), + remark: '车辆二要素核验V1用于校验人员姓名与车辆号牌是否匹配,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + CQCXGP00W: { + name: "车辆出险详版查询", + component: defineAsyncComponent(() => import("@/ui/CQCXGP00W.vue")), + remark: '车辆出险详版查询展示多维出险记录、碰撞部位、车辆配件类别及车况信息,辅助评估车辆风险,数据来源于保险行业信息平台,仅供参考。', + }, + CQCXGY7F2: { + name: "二手车VIN估值", + component: defineAsyncComponent(() => import("@/ui/CQCXGY7F2.vue")), + remark: '二手车VIN估值基于车型、排量、排放标准等信息给出参考估值,实际价格以市场为准,仅供参考。', + }, + CQCXGYTS2: { + name: "车辆二要素核验V2", + component: defineAsyncComponent(() => import("@/ui/CQCXGYTS2.vue")), + remark: '车辆二要素核验V2展示人员与车辆的详细匹配结果及相关说明,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + CQVehicleGeneric: { + name: "车辆通用查询", + component: defineAsyncComponent(() => import("@/ui/CQVehicleGeneric.vue")), + remark: '车辆通用查询用于展示各类车辆相关接口的原始返回数据,便于调试和查看。', + }, + CQYGL2S0W: { + name: "失信被执行人(企业,个人)", + component: defineAsyncComponent(() => import("@/ui/CQYGL2S0W.vue")), + remark: '失信被执行人查询用于识别个人或企业的严重违约风险,展示命中最高法院公布的失信被执行人信息,数据来源于法院公开信息,仅供参考。', + }, + CQYGL5F6A: { + name: "名下企业关联", + component: defineAsyncComponent(() => import("@/ui/CQYGL5F6A.vue")), + remark: '名下企业关联展示查询对象作为法人、股东或高管关联的企业信息,包括企业状态、成立日期、注册资本、行业等多维度数据,仅供参考。', + }, + CQYGL66SL: { + name: "全国企业司法模型服务查询新详版", + component: defineAsyncComponent(() => import("@/ui/CQYGL66SL.vue")), + remark: '全国企业司法模型服务查询新详版展示企业在全国法院公开信息中的民事、刑事、行政、执行、破产、保全等多类司法案件情况,数据来源于法院公开信息,仅供参考。', + }, + CYYSY3M8S: { + name: "运营商二要素V即时版", + component: defineAsyncComponent(() => import("@/ui/CYYSY3M8S.vue")), + remark: '运营商二要素V即时版用于核验手机号与姓名是否一致,返回核验结果及计费状态,数据来源于运营商系统,仅供参考。', + }, + CYYSY6F2B: { + name: "手机消费区间验证", + component: defineAsyncComponent(() => import("@/ui/CYYSY6F2B.vue")), + remark: '手机消费区间验证根据运营商数据评估消费能力档位,同时展示运营商及携号转网信息,数据来源于运营商系统,仅供参考。', + }, + CYYSY9E4A: { + name: "天远手机号码归属地核验A", + component: defineAsyncComponent(() => import("@/ui/CYYSY9E4A.vue")), + remark: '天远手机号码归属地核验A展示手机号码的省市、运营商、区号及邮编等归属信息,数据来源于运营商系统,仅供参考。', + }, + CYYSYE7V5: { + name: "手机在网状态V即时版", + component: defineAsyncComponent(() => import("@/ui/CYYSYE7V5.vue")), + remark: '手机在网状态V即时版用于判断号码当前是否在网可用,返回在网状态及运营商信息,数据来源于运营商系统,仅供参考。', + }, + CYYSYF2T7: { + name: "号码二次放号V即时版", + component: defineAsyncComponent(() => import("@/ui/CYYSYF2T7.vue")), + remark: '号码二次放号V即时版用于判断该手机号是否为二次放号,返回核验结果及运营商信息,数据来源于运营商系统,仅供参考。', + }, + CYYSYK8R3: { + name: "手机空号检测V即时版", + component: defineAsyncComponent(() => import("@/ui/CYYSYK8R3.vue")), + remark: '手机空号检测V即时版用于判断号码是空号、实号还是沉默号或风险号,返回号码状态及归属地信息,数据来源于运营商系统,仅供参考。', + }, + CYYSYK9R4: { + name: "全网手机三要素验证", + component: defineAsyncComponent(() => import("@/ui/CYYSYK9R4.vue")), + remark: '全网手机三要素验证用于核验手机号、身份证号与姓名是否一致,返回验证结果,数据来源于运营商系统,仅供参考。', + }, + CYYSYP0T4: { + name: "手机号码在网时长V即时版", + component: defineAsyncComponent(() => import("@/ui/CYYSYP0T4.vue")), + remark: '手机号码在网时长V即时版展示号码在当前运营商下的在网时长区间,数据来源于运营商系统,仅供参考。', + }, + CYYSYS9W1: { + name: "手机携号转网V即时版", + component: defineAsyncComponent(() => import("@/ui/CYYSYS9W1.vue")), + remark: '手机携号转网V即时版查询号码是否发生携号转网及前后运营商变更情况,数据来源于运营商系统,仅供参考。', + }, + QCXG5F3A: { + name: "名下车辆车牌查询B", + component: defineAsyncComponent(() => import("@/ui/QCXG5F3A.vue")), + remark: '名下车辆车牌查询B展示查询对象名下登记的车辆车牌号、车牌颜色、车辆类型等信息,数据来源于车辆管理部门等权威机构,仅供参考。', + }, + }; const maskValue = computed(() => { @@ -500,6 +669,7 @@ const featureRiskLevels = { 'JRZQ3C9R': 7, // 支付行为指数 'YYSY7D3E': 5, // 手机携号转网 'YYSY8B1C': 5, // 手机在网时长 + 'CFLX3A9B': 5, // 法院被执行人限高版 // 🟡 中风险类 - 权重 5 'QYGL3F8E': 5, // 人企关系加强版 @@ -556,6 +726,40 @@ const featureRiskLevels = { 'CQYGL3F8E_Punishment': 7, 'CQYGL3F8E_Abnormal': 6, 'CQYGL3F8E_TaxRisk': 7, + + // 新增模块 - 默认权重3(待调整) + 'CIVYZ6M8P': 3, + 'CIVYZ7F3A': 3, + 'CIVYZ9K7F': 3, + 'CIVYZA1B3': 3, + 'CJRZQ0B6Y': 3, + 'CJRZQACAB': 3, + 'CQCXG1H7Y': 3, + 'CQCXG1U4U': 3, + 'CQCXG3Y6B': 3, + 'CQCXG3Z3L': 3, + 'CQCXG4D2E': 3, + 'CQCXG4I1Z': 3, + 'CQCXG5U0Z': 3, + 'CQCXG6B4E': 3, + 'CQCXGGB2Q': 3, + 'CQCXGP00W': 3, + 'CQCXGY7F2': 3, + 'CQCXGYTS2': 3, + 'CQVehicleGeneric': 3, + 'CQYGL2S0W': 3, + 'CQYGL5F6A': 3, + 'CQYGL66SL': 3, + 'CYYSY3M8S': 3, + 'CYYSY6F2B': 3, + 'CYYSY9E4A': 3, + 'CYYSYE7V5': 3, + 'CYYSYF2T7': 3, + 'CYYSYK8R3': 3, + 'CYYSYK9R4': 3, + 'CYYSYP0T4': 3, + 'CYYSYS9W1': 3, + 'QCXG5F3A': 3, }; // 处理数据拆分(支持DWBG8B4D、DWBG6A2C、CJRZQ5E9F和CQYGL3F8E) diff --git a/src/ui/CDWBG8B4D/index.vue b/src/ui/CDWBG8B4D/index.vue index 605232c..228ba26 100644 --- a/src/ui/CDWBG8B4D/index.vue +++ b/src/ui/CDWBG8B4D/index.vue @@ -14,9 +14,9 @@ - + /> diff --git a/src/ui/CFLX3A9B.vue b/src/ui/CFLX3A9B.vue new file mode 100644 index 0000000..19b3e7a --- /dev/null +++ b/src/ui/CFLX3A9B.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/src/ui/CIVYZ0S0D.vue b/src/ui/CIVYZ0S0D.vue new file mode 100644 index 0000000..58d112d --- /dev/null +++ b/src/ui/CIVYZ0S0D.vue @@ -0,0 +1,481 @@ + + + + + \ No newline at end of file diff --git a/src/ui/CIVYZ6M8P.vue b/src/ui/CIVYZ6M8P.vue new file mode 100644 index 0000000..f016f79 --- /dev/null +++ b/src/ui/CIVYZ6M8P.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/ui/CIVYZ7F3A.vue b/src/ui/CIVYZ7F3A.vue new file mode 100644 index 0000000..059a8f9 --- /dev/null +++ b/src/ui/CIVYZ7F3A.vue @@ -0,0 +1,296 @@ + + + + + diff --git a/src/ui/CIVYZ9K7F.vue b/src/ui/CIVYZ9K7F.vue new file mode 100644 index 0000000..b7bc40f --- /dev/null +++ b/src/ui/CIVYZ9K7F.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/src/ui/CIVYZA1B3.vue b/src/ui/CIVYZA1B3.vue new file mode 100644 index 0000000..1e363b3 --- /dev/null +++ b/src/ui/CIVYZA1B3.vue @@ -0,0 +1,239 @@ + + + + + diff --git a/src/ui/CJRZQ0B6Y.vue b/src/ui/CJRZQ0B6Y.vue new file mode 100644 index 0000000..3d02270 --- /dev/null +++ b/src/ui/CJRZQ0B6Y.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/src/ui/CJRZQACAB.vue b/src/ui/CJRZQACAB.vue new file mode 100644 index 0000000..c30c11b --- /dev/null +++ b/src/ui/CJRZQACAB.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/src/ui/CQCXG1H7Y.vue b/src/ui/CQCXG1H7Y.vue new file mode 100644 index 0000000..ed33405 --- /dev/null +++ b/src/ui/CQCXG1H7Y.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/src/ui/CQCXG1U4U.vue b/src/ui/CQCXG1U4U.vue new file mode 100644 index 0000000..40d978f --- /dev/null +++ b/src/ui/CQCXG1U4U.vue @@ -0,0 +1,374 @@ + + + + + diff --git a/src/ui/CQCXG3Y6B.vue b/src/ui/CQCXG3Y6B.vue new file mode 100644 index 0000000..ebdf9f9 --- /dev/null +++ b/src/ui/CQCXG3Y6B.vue @@ -0,0 +1,284 @@ + + + + + diff --git a/src/ui/CQCXG3Z3L.vue b/src/ui/CQCXG3Z3L.vue new file mode 100644 index 0000000..785fba2 --- /dev/null +++ b/src/ui/CQCXG3Z3L.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/src/ui/CQCXG4D2E.vue b/src/ui/CQCXG4D2E.vue new file mode 100644 index 0000000..c584432 --- /dev/null +++ b/src/ui/CQCXG4D2E.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/ui/CQCXG4I1Z.vue b/src/ui/CQCXG4I1Z.vue new file mode 100644 index 0000000..dbff5dd --- /dev/null +++ b/src/ui/CQCXG4I1Z.vue @@ -0,0 +1,256 @@ + + + + + diff --git a/src/ui/CQCXG5U0Z.vue b/src/ui/CQCXG5U0Z.vue new file mode 100644 index 0000000..20a7806 --- /dev/null +++ b/src/ui/CQCXG5U0Z.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/ui/CQCXG6B4E.vue b/src/ui/CQCXG6B4E.vue new file mode 100644 index 0000000..f9cc114 --- /dev/null +++ b/src/ui/CQCXG6B4E.vue @@ -0,0 +1,493 @@ + + + + + diff --git a/src/ui/CQCXGGB2Q.vue b/src/ui/CQCXGGB2Q.vue new file mode 100644 index 0000000..a06a5c8 --- /dev/null +++ b/src/ui/CQCXGGB2Q.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/ui/CQCXGP00W.vue b/src/ui/CQCXGP00W.vue new file mode 100644 index 0000000..c9b5083 --- /dev/null +++ b/src/ui/CQCXGP00W.vue @@ -0,0 +1,634 @@ + + + + + diff --git a/src/ui/CQCXGY7F2.vue b/src/ui/CQCXGY7F2.vue new file mode 100644 index 0000000..d4cbf09 --- /dev/null +++ b/src/ui/CQCXGY7F2.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/src/ui/CQCXGYTS2.vue b/src/ui/CQCXGYTS2.vue new file mode 100644 index 0000000..be1cee4 --- /dev/null +++ b/src/ui/CQCXGYTS2.vue @@ -0,0 +1,250 @@ + + + + + diff --git a/src/ui/CQVehicleGeneric.vue b/src/ui/CQVehicleGeneric.vue new file mode 100644 index 0000000..e92887e --- /dev/null +++ b/src/ui/CQVehicleGeneric.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/ui/CQYGL2S0W.vue b/src/ui/CQYGL2S0W.vue new file mode 100644 index 0000000..ed53e4f --- /dev/null +++ b/src/ui/CQYGL2S0W.vue @@ -0,0 +1,479 @@ + + + + + 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/CQYGL5F6A.vue b/src/ui/CQYGL5F6A.vue new file mode 100644 index 0000000..99629dd --- /dev/null +++ b/src/ui/CQYGL5F6A.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/src/ui/CQYGL66SL.vue b/src/ui/CQYGL66SL.vue new file mode 100644 index 0000000..f00c8c5 --- /dev/null +++ b/src/ui/CQYGL66SL.vue @@ -0,0 +1,542 @@ + + + + + diff --git a/src/ui/CYYSY3M8S.vue b/src/ui/CYYSY3M8S.vue new file mode 100644 index 0000000..256694f --- /dev/null +++ b/src/ui/CYYSY3M8S.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/ui/CYYSY6F2B.vue b/src/ui/CYYSY6F2B.vue new file mode 100644 index 0000000..20ecc6f --- /dev/null +++ b/src/ui/CYYSY6F2B.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/ui/CYYSY9E4A.vue b/src/ui/CYYSY9E4A.vue new file mode 100644 index 0000000..ad237a7 --- /dev/null +++ b/src/ui/CYYSY9E4A.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/src/ui/CYYSYE7V5.vue b/src/ui/CYYSYE7V5.vue new file mode 100644 index 0000000..4d84c8c --- /dev/null +++ b/src/ui/CYYSYE7V5.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/ui/CYYSYF2T7.vue b/src/ui/CYYSYF2T7.vue new file mode 100644 index 0000000..3a20734 --- /dev/null +++ b/src/ui/CYYSYF2T7.vue @@ -0,0 +1,210 @@ + + + + + diff --git a/src/ui/CYYSYK8R3.vue b/src/ui/CYYSYK8R3.vue new file mode 100644 index 0000000..12e8f8d --- /dev/null +++ b/src/ui/CYYSYK8R3.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/src/ui/CYYSYK9R4.vue b/src/ui/CYYSYK9R4.vue new file mode 100644 index 0000000..6109bd7 --- /dev/null +++ b/src/ui/CYYSYK9R4.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/ui/CYYSYP0T4.vue b/src/ui/CYYSYP0T4.vue new file mode 100644 index 0000000..9040632 --- /dev/null +++ b/src/ui/CYYSYP0T4.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/src/ui/CYYSYS9W1.vue b/src/ui/CYYSYS9W1.vue new file mode 100644 index 0000000..4f88423 --- /dev/null +++ b/src/ui/CYYSYS9W1.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/src/ui/FLXGK5D2.zip b/src/ui/FLXGK5D2.zip deleted file mode 100644 index 3ec74354604de9838460e1985ac237282a837b51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7986 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 x_&4;qN&W@>s|El0CQ -import { computed, ref } from 'vue'; - -// 接收父组件传入的 props -const props = defineProps({ - data: Object, - params: Object, -}); - -// 当前激活的标签页 -const activeTab = ref('summary'); - -// 定义组件名称,用于在控制台输出调试信息 -const componentName = 'IVYZ0S0D'; - -// 将 props.data 赋值给 reportData 变量 -let reportData: any = props.data || {}; - -// 如果 reportData 不为空,则将其赋值给变量 -if (reportData) { - console.log(`${componentName} 组件接收到的数据:`, reportData); -} else { - console.log(`${componentName} 组件未接收到数据`); -} - -// 获取状态描述文本 -const getStatusText = (value: number) => { - if (value === 1) return '未命中'; - if (value === 2) return '命中'; - return '未知'; -}; - -// 获取通知函状态描述文本 -const getNoticeLetterStatusText = (value: number) => { - if (value === 1) return '未命中'; - if (value === 2) return '命中'; - return '未知'; -}; - -// 获取通知函期间描述文本 -const getNoticeLetterPeriodText = (period: number) => { - const periodMap: Record = { - 0: '没有被发送通知函', - 1: '近2年内', - 2: '2-4年', - 3: '5年以上' - }; - - return periodMap[period] || '未知期间'; -}; - -// 获取背景颜色 -const getBackgroundColor = (value: number) => { - if (value === 1) return '#e8f5e8'; // 浅绿色 - if (value === 2) return '#ffe8e8'; // 浅红色 - return '#f5f5f5'; // 默认灰色 -}; - -// 获取边框颜色 -const getBorderColor = (value: number) => { - if (value === 1) return '#4caf50'; // 绿色边框 - if (value === 2) return '#f44336'; // 红色边框 - return '#ccc'; // 默认灰色边框 -}; - -// 检查是否至少有一个数据类别有内容 -const hasAnyData = computed(() => { - return Object.keys(reportData).length > 0; -}); - -// 汇总数据 - 只包含基础字段,不包含时间相关字段 -const summaryData = computed(() => { - const risks: {title: string, value: number, details: string | string[], bgColor: string, borderColor: string, fieldName: string}[] = []; - - // 该人员是否有风险 - if (reportData.risk_flag !== undefined) { - risks.push({ - title: '该人员是否有风险', - value: reportData.risk_flag, - details: getStatusText(reportData.risk_flag), - bgColor: getBackgroundColor(reportData.risk_flag), - borderColor: getBorderColor(reportData.risk_flag), - fieldName: 'basic_info' - }); - } - - // 失信/限高风险 - if (reportData.dishonesty && reportData.dishonesty.dishonesty !== undefined) { - risks.push({ - title: '失信人员风险', - value: reportData.dishonesty.dishonesty, - details: getStatusText(reportData.dishonesty.dishonesty), - bgColor: getBackgroundColor(reportData.dishonesty.dishonesty), - borderColor: getBorderColor(reportData.dishonesty.dishonesty), - fieldName: 'dishonesty' - }); - } - - // high_consumption - if (reportData.high_consumption && reportData.high_consumption.high_consumption !== undefined) { - risks.push({ - title: '限制高消费人员风险', - value: reportData.high_consumption.high_consumption, - details: getStatusText(reportData.high_consumption.high_consumption), - bgColor: getBackgroundColor(reportData.high_consumption.high_consumption), - borderColor: getBorderColor(reportData.high_consumption.high_consumption), - fieldName: 'high_consumption' - }); - } - - // 是否包含劳动争议 - 只显示基本的劳动争议状态,不显示时间相关 - if (reportData.labor_disputes) { - let details: string[] = []; - if (reportData.labor_disputes.labor_disputes !== undefined) { - details.push(`劳动争议: ${getStatusText(reportData.labor_disputes.labor_disputes)}`); - } - if (reportData.labor_disputes.labor_contract !== undefined) { - details.push(`劳动合同: ${getStatusText(reportData.labor_disputes.labor_contract)}`); - } - if (reportData.labor_disputes.labor_relation !== undefined) { - details.push(`劳动关系: ${getStatusText(reportData.labor_disputes.labor_relation)}`); - } - - if (details.length > 0) { - risks.push({ - title: '是否包含劳动争议', - value: Math.max( - reportData.labor_disputes.labor_disputes || 0, - reportData.labor_disputes.labor_contract || 0, - reportData.labor_disputes.labor_relation || 0 - ), - details: details, - bgColor: getBackgroundColor(Math.max( - reportData.labor_disputes.labor_disputes || 0, - reportData.labor_disputes.labor_contract || 0, - reportData.labor_disputes.labor_relation || 0 - )), - borderColor: getBorderColor(Math.max( - reportData.labor_disputes.labor_disputes || 0, - reportData.labor_disputes.labor_contract || 0, - reportData.labor_disputes.labor_relation || 0 - )), - fieldName: 'labor_disputes' - }); - } - } - - // social_insurance - 只显示基本的社保相关状态,不显示时间相关 - if (reportData.social_insurance) { - let details: string[] = []; - if (reportData.social_insurance.social_insurance !== undefined) { - details.push(`社保纠纷: ${getStatusText(reportData.social_insurance.social_insurance)}`); - } - if (reportData.social_insurance.pension !== undefined) { - details.push(`养老纠纷: ${getStatusText(reportData.social_insurance.pension)}`); - } - if (reportData.social_insurance.injury_insurance !== undefined) { - details.push(`工伤纠纷: ${getStatusText(reportData.social_insurance.injury_insurance)}`); - } - if (reportData.social_insurance.unemployment_insurance !== undefined) { - details.push(`失业纠纷: ${getStatusText(reportData.social_insurance.unemployment_insurance)}`); - } - if (reportData.social_insurance.medical_insurance !== undefined) { - details.push(`医疗纠纷: ${getStatusText(reportData.social_insurance.medical_insurance)}`); - } - if (reportData.social_insurance.maternity_insurance !== undefined) { - details.push(`生育纠纷: ${getStatusText(reportData.social_insurance.maternity_insurance)}`); - } - - if (details.length > 0) { - risks.push({ - title: '社会保险纠纷风险', - value: Math.max( - reportData.social_insurance.social_insurance || 0, - reportData.social_insurance.pension || 0, - reportData.social_insurance.injury_insurance || 0, - reportData.social_insurance.unemployment_insurance || 0, - reportData.social_insurance.medical_insurance || 0, - reportData.social_insurance.maternity_insurance || 0 - ), - details: details, - bgColor: getBackgroundColor(Math.max( - reportData.social_insurance.social_insurance || 0, - reportData.social_insurance.pension || 0, - reportData.social_insurance.injury_insurance || 0, - reportData.social_insurance.unemployment_insurance || 0, - reportData.social_insurance.medical_insurance || 0, - reportData.social_insurance.maternity_insurance || 0 - )), - borderColor: getBorderColor(Math.max( - reportData.social_insurance.social_insurance || 0, - reportData.social_insurance.pension || 0, - reportData.social_insurance.injury_insurance || 0, - reportData.social_insurance.unemployment_insurance || 0, - reportData.social_insurance.medical_insurance || 0, - reportData.social_insurance.maternity_insurance || 0 - )), - fieldName: 'social_insurance' - }); - } - } - - // welfare_disputes - if (reportData.welfare_disputes && reportData.welfare_disputes.welfare !== undefined) { - risks.push({ - title: '福利待遇纠纷', - value: reportData.welfare_disputes.welfare, - details: getStatusText(reportData.welfare_disputes.welfare), - bgColor: getBackgroundColor(reportData.welfare_disputes.welfare), - borderColor: getBorderColor(reportData.welfare_disputes.welfare), - fieldName: 'welfare_disputes' - }); - } - - // 人事争议 - 只显示基本的人事争议状态,不显示时间相关 - if (reportData.personnel_disputes) { - let details: string[] = []; - if (reportData.personnel_disputes.personnel_dispute !== undefined) { - details.push(`人事争议: ${getStatusText(reportData.personnel_disputes.personnel_dispute)}`); - } - if (reportData.personnel_disputes.resignation_dispute !== undefined) { - details.push(`辞职争议: ${getStatusText(reportData.personnel_disputes.resignation_dispute)}`); - } - if (reportData.personnel_disputes.dismissal_dispute !== undefined) { - details.push(`辞退争议: ${getStatusText(reportData.personnel_disputes.dismissal_dispute)}`); - } - - if (details.length > 0) { - risks.push({ - title: '人事争议', - value: Math.max( - reportData.personnel_disputes.personnel_dispute || 0, - reportData.personnel_disputes.resignation_dispute || 0, - reportData.personnel_disputes.dismissal_dispute || 0 - ), - details: details, - bgColor: getBackgroundColor(Math.max( - reportData.personnel_disputes.personnel_dispute || 0, - reportData.personnel_disputes.resignation_dispute || 0, - reportData.personnel_disputes.dismissal_dispute || 0 - )), - borderColor: getBorderColor(Math.max( - reportData.personnel_disputes.personnel_dispute || 0, - reportData.personnel_disputes.resignation_dispute || 0, - reportData.personnel_disputes.dismissal_dispute || 0 - )), - fieldName: 'personnel_disputes' - }); - } - } - - // 仲裁流程相关 - 只显示基本的仲裁状态,不显示时间相关 - if (reportData.arbitration) { - let details: string[] = []; - if (reportData.arbitration.arbitration_confirmation !== undefined) { - details.push(`仲裁确认: ${getStatusText(reportData.arbitration.arbitration_confirmation)}`); - } - if (reportData.arbitration.arbitration_revocation !== undefined) { - details.push(`仲裁撤销: ${getStatusText(reportData.arbitration.arbitration_revocation)}`); - } - - if (details.length > 0) { - risks.push({ - title: '仲裁流程相关', - value: Math.max( - reportData.arbitration.arbitration_confirmation || 0, - reportData.arbitration.arbitration_revocation || 0 - ), - details: details, - bgColor: getBackgroundColor(Math.max( - reportData.arbitration.arbitration_confirmation || 0, - reportData.arbitration.arbitration_revocation || 0 - )), - borderColor: getBorderColor(Math.max( - reportData.arbitration.arbitration_confirmation || 0, - reportData.arbitration.arbitration_revocation || 0 - )), - fieldName: 'arbitration' - }); - } - } - - // 通知函触达 - if (reportData.notice_letter && reportData.notice_letter.notice_letter !== undefined) { - let statusText = getNoticeLetterStatusText(reportData.notice_letter.notice_letter); - let periodText = ''; - - if (reportData.notice_letter.notice_letter_period !== undefined) { - periodText = `该人员被发送通知函,仲裁、调解、涉诉距今时间: ${getNoticeLetterPeriodText(reportData.notice_letter.notice_letter_period)}`; - } - - const detailParts = [`状态: ${statusText}`]; - if (periodText) { - detailParts.push(periodText); - } - - risks.push({ - title: '该人员是否有被发送仲裁、调解、涉诉通知函风险', - value: reportData.notice_letter.notice_letter, - details: detailParts, - bgColor: getBackgroundColor(reportData.notice_letter.notice_letter), - borderColor: getBorderColor(reportData.notice_letter.notice_letter), - fieldName: 'notice_letter' - }); - } - - return risks; -}); - -// 近三年案件数据 - 只显示命中的时间相关字段 -const recentThreeYearsData = computed(() => { - const risks: {title: string, value: number, details: string | string[], bgColor: string, borderColor: string, fieldName: string}[] = []; - - // 劳动争议风险 - 近3年,只显示命中的 - if (reportData.labor_disputes) { - let details: string[] = []; - if (reportData.labor_disputes.labor_disputes_3y === 2) { // 只显示命中的 - details.push(`近3年劳动争议: ${getStatusText(reportData.labor_disputes.labor_disputes_3y)}`); - } - if (reportData.labor_disputes.labor_relation_3y === 2) { // 只显示命中的 - details.push(`近3年劳动关系: ${getStatusText(reportData.labor_disputes.labor_relation_3y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '劳动争议风险', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'labor_disputes_3y' - }); - } - } - - // 社会保险纠纷风险 - 近3年,只显示命中的 - if (reportData.social_insurance) { - let details: string[] = []; - if (reportData.social_insurance.pension_3y === 2) { // 只显示命中的 - details.push(`近3年养老: ${getStatusText(reportData.social_insurance.pension_3y)}`); - } - if (reportData.social_insurance.injury_insurance_3y === 2) { // 只显示命中的 - details.push(`近3年工伤: ${getStatusText(reportData.social_insurance.injury_insurance_3y)}`); - } - if (reportData.social_insurance.unemployment_insurance_3y === 2) { // 只显示命中的 - details.push(`近3年失业: ${getStatusText(reportData.social_insurance.unemployment_insurance_3y)}`); - } - if (reportData.social_insurance.medical_insurance_3y === 2) { // 只显示命中的 - details.push(`近3年医疗: ${getStatusText(reportData.social_insurance.medical_insurance_3y)}`); - } - if (reportData.social_insurance.maternity_insurance_3y === 2) { // 只显示命中的 - details.push(`近3年生育: ${getStatusText(reportData.social_insurance.maternity_insurance_3y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '社会保险纠纷风险', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'social_insurance_3y' - }); - } - } - - // 人事争议类纠纷 - 近3年,只显示命中的 - if (reportData.personnel_disputes) { - let details: string[] = []; - if (reportData.personnel_disputes.resignation_dispute_3y === 2) { // 只显示命中的 - details.push(`近3年辞职: ${getStatusText(reportData.personnel_disputes.resignation_dispute_3y)}`); - } - if (reportData.personnel_disputes.dismissal_dispute_3y === 2) { // 只显示命中的 - details.push(`近3年辞退: ${getStatusText(reportData.personnel_disputes.dismissal_dispute_3y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '人事争议类纠纷', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'personnel_disputes_3y' - }); - } - } - - // 仲裁相关案件 - 近3年,只显示命中的 - if (reportData.arbitration) { - let details: string[] = []; - if (reportData.arbitration.arbitration_confirmation_3y === 2) { // 只显示命中的 - details.push(`近3年仲裁确认: ${getStatusText(reportData.arbitration.arbitration_confirmation_3y)}`); - } - if (reportData.arbitration.arbitration_revocation_3y === 2) { // 只显示命中的 - details.push(`近3年仲裁撤销: ${getStatusText(reportData.arbitration.arbitration_revocation_3y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '仲裁相关案件', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'arbitration_3y' - }); - } - } - - return risks; -}); - -// 近五年案件数据 - 只显示命中的时间相关字段 -const recentFiveYearsData = computed(() => { - const risks: {title: string, value: number, details: string | string[], bgColor: string, borderColor: string, fieldName: string}[] = []; - - // 劳动争议风险 - 近5年,只显示命中的 - if (reportData.labor_disputes) { - let details: string[] = []; - if (reportData.labor_disputes.labor_disputes_5y === 2) { // 只显示命中的 - details.push(`近5年劳动争议: ${getStatusText(reportData.labor_disputes.labor_disputes_5y)}`); - } - if (reportData.labor_disputes.labor_relation_5y === 2) { // 只显示命中的 - details.push(`近5年劳动关系: ${getStatusText(reportData.labor_disputes.labor_relation_5y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '劳动争议风险', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'labor_disputes_5y' - }); - } - } - - // 社会保险纠纷风险 - 近5年,只显示命中的 - if (reportData.social_insurance) { - let details: string[] = []; - if (reportData.social_insurance.pension_5y === 2) { // 只显示命中的 - details.push(`近5年养老: ${getStatusText(reportData.social_insurance.pension_5y)}`); - } - if (reportData.social_insurance.injury_insurance_5y === 2) { // 只显示命中的 - details.push(`近5年工伤: ${getStatusText(reportData.social_insurance.injury_insurance_5y)}`); - } - if (reportData.social_insurance.unemployment_insurance_5y === 2) { // 只显示命中的 - details.push(`近5年失业: ${getStatusText(reportData.social_insurance.unemployment_insurance_5y)}`); - } - if (reportData.social_insurance.medical_insurance_5y === 2) { // 只显示命中的 - details.push(`近5年医疗: ${getStatusText(reportData.social_insurance.medical_insurance_5y)}`); - } - if (reportData.social_insurance.maternity_insurance_5y === 2) { // 只显示命中的 - details.push(`近5年生育: ${getStatusText(reportData.social_insurance.maternity_insurance_5y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '社会保险纠纷风险', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'social_insurance_5y' - }); - } - } - - // 人事争议类纠纷 - 近5年,只显示命中的 - if (reportData.personnel_disputes) { - let details: string[] = []; - if (reportData.personnel_disputes.resignation_dispute_5y === 2) { // 只显示命中的 - details.push(`近5年辞职: ${getStatusText(reportData.personnel_disputes.resignation_dispute_5y)}`); - } - if (reportData.personnel_disputes.dismissal_dispute_5y === 2) { // 只显示命中的 - details.push(`近5年辞退: ${getStatusText(reportData.personnel_disputes.dismissal_dispute_5y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '人事争议类纠纷', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'personnel_disputes_5y' - }); - } - } - - // 仲裁相关案件 - 近5年,只显示命中的 - if (reportData.arbitration) { - let details: string[] = []; - if (reportData.arbitration.arbitration_confirmation_5y === 2) { // 只显示命中的 - details.push(`近5年仲裁确认: ${getStatusText(reportData.arbitration.arbitration_confirmation_5y)}`); - } - if (reportData.arbitration.arbitration_revocation_5y === 2) { // 只显示命中的 - details.push(`近5年仲裁撤销: ${getStatusText(reportData.arbitration.arbitration_revocation_5y)}`); - } - - if (details.length > 0) { - risks.push({ - title: '仲裁相关案件', - value: 2, // 因为至少有一个命中,所以值设为2 - details: details, - bgColor: getBackgroundColor(2), - borderColor: getBorderColor(2), - fieldName: 'arbitration_5y' - }); - } - } - - return risks; -}); - -// 切换标签页 -const switchTab = (tabName: string) => { - activeTab.value = tabName; -}; - -// 获取当前显示的数据 -const currentData = computed(() => { - switch (activeTab.value) { - case 'summary': - return summaryData.value; - case 'threeYears': - return recentThreeYearsData.value; - case 'fiveYears': - return recentFiveYearsData.value; - default: - return summaryData.value; - } -}); - -// 获取当前标签页标题 -const currentTabTitle = computed(() => { - switch (activeTab.value) { - case 'summary': - return '汇总'; - case 'threeYears': - return '近三年案件'; - case 'fiveYears': - return '近五年案件'; - default: - return '汇总'; - } -}); - -// 获取当前标签页副标题 -const currentTabSubtitle = computed(() => { - switch (activeTab.value) { - case 'summary': - return '基础风险概览'; - case 'threeYears': - return '近期风险动态'; - case 'fiveYears': - return '长期风险趋势'; - default: - return '基础风险概览'; - } -}); - - - - - \ No newline at end of file diff --git a/src/ui/JRZQ6F2A/index.vue b/src/ui/JRZQ6F2A/index.vue index e0ae3b3..1253a2f 100644 --- a/src/ui/JRZQ6F2A/index.vue +++ b/src/ui/JRZQ6F2A/index.vue @@ -1,5 +1,11 @@