Commit fa7b447e authored by Administrator's avatar Administrator

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

parents 3637c20f f0cc39a8
import request from '@/utils/request'
export function zjyjAptitude (data) {
return request({
url: '/enterprise/zjyjAptitude',
method: 'post',
data
})
}
export function enterpriseAptitude (data) {
return request({
url: '/enterprise/zjyj/enterpriseAptitude',
method: 'post',
data
})
}
export function importTemplate (data) {
return request({
url: '/export/aptitude/importTemplate',
method: 'post',
responseType: "blob",
data
})
}
export function list (data) {
return request({
url: '/user/file/record/list',
method: 'get',
params:data
})
}
//资质标准
export function standard (data) {
return request({
url: '/enterprise/zjyj/cert/standard',
method: 'post',
data
})
}
[
{
"name": "建筑业企业资质",
"id": 209,
"type": 0,
"list": [
{
"name": "施工总承包",
"id": 1,
"type": 1,
"list": [
{
"name": "建筑工程施工总承包",
"id": 4,
"type": 2,
"parentId": 1
},
{
"name": "公路工程施工总承包",
"id": 5,
"type": 2,
"parentId": 1
},
{
"name": "铁路工程施工总承包",
"id": 6,
"type": 2,
"parentId": 1
},
{
"name": "港口与航道工程施工总承包",
"id": 7,
"type": 2,
"parentId": 1
},
{
"name": "水利水电工程施工总承包",
"id": 8,
"type": 2,
"parentId": 1
},
{
"name": "电力工程施工总承包",
"id": 9,
"type": 2,
"parentId": 1
},
{
"name": "矿山工程施工总承包",
"id": 10,
"type": 2,
"parentId": 1
},
{
"name": "冶金工程施工总承包",
"id": 11,
"type": 2,
"parentId": 1
},
{
"name": "石油化工工程施工总承包",
"id": 12,
"type": 2,
"parentId": 1
},
{
"name": "市政公用工程施工总承包",
"id": 13,
"type": 2,
"parentId": 1
},
{
"name": "通信工程施工总承包",
"id": 14,
"type": 2,
"parentId": 1
},
{
"name": "机电工程施工总承包",
"id": 15,
"type": 2,
"parentId": 1
}
],
"parentId": 209
},
{
"name": "专业承包",
"id": 2,
"type": 1,
"list": [
{
"name": "地基基础工程专业承包",
"id": 16,
"type": 2,
"parentId": 2
},
{
"name": "起重设备安装工程专业承包",
"id": 17,
"type": 2,
"parentId": 2
},
{
"name": "预拌混凝土专业承包",
"id": 18,
"type": 2,
"parentId": 2
},
{
"name": "电子与智能化工程专业承包",
"id": 19,
"type": 2,
"parentId": 2
},
{
"name": "消防设施工程专业承包",
"id": 20,
"type": 2,
"parentId": 2
},
{
"name": "防水防腐保温工程专业承包",
"id": 21,
"type": 2,
"parentId": 2
},
{
"name": "桥梁工程专业承包",
"id": 22,
"type": 2,
"parentId": 2
},
{
"name": "隧道工程专业承包",
"id": 23,
"type": 2,
"parentId": 2
},
{
"name": "钢结构工程专业承包",
"id": 24,
"type": 2,
"parentId": 2
},
{
"name": "模板脚手架专业承包",
"id": 25,
"type": 2,
"parentId": 2
},
{
"name": "建筑装修装饰工程专业承包",
"id": 26,
"type": 2,
"parentId": 2
},
{
"name": "建筑机电安装工程专业承包",
"id": 27,
"type": 2,
"parentId": 2
},
{
"name": "建筑幕墙工程专业承包",
"id": 28,
"type": 2,
"parentId": 2
},
{
"name": "古建筑工程专业承包",
"id": 29,
"type": 2,
"parentId": 2
},
{
"name": "城市及道路照明工程专业承包",
"id": 30,
"type": 2,
"parentId": 2
},
{
"name": "公路路面工程专业承包",
"id": 31,
"type": 2,
"parentId": 2
},
{
"name": "公路路基工程专业承包",
"id": 32,
"type": 2,
"parentId": 2
},
{
"name": "公路交通工程专业承包",
"id": 33,
"type": 2,
"list": [
{
"name": "公路交通工程公路安全设施专业承包",
"id": 1663,
"type": 6,
"parentId": 33
},
{
"name": "公路交通工程公路机电工程专业承包",
"id": 1665,
"type": 6,
"parentId": 33
}
],
"parentId": 2
},
{
"name": "铁路电务工程专业承包",
"id": 34,
"type": 2,
"parentId": 2
},
{
"name": "铁路铺轨架梁工程专业承包",
"id": 35,
"type": 2,
"parentId": 2
},
{
"name": "铁路电气化工程专业承包",
"id": 36,
"type": 2,
"parentId": 2
},
{
"name": "机场场道工程专业承包",
"id": 37,
"type": 2,
"parentId": 2
},
{
"name": "民航空管工程及机场弱电系统工程专业承包",
"id": 38,
"type": 2,
"parentId": 2
},
{
"name": "机场目视助航工程专业承包",
"id": 39,
"type": 2,
"parentId": 2
},
{
"name": "港口与海岸工程专业承包",
"id": 40,
"type": 2,
"parentId": 2
},
{
"name": "航道工程专业承包",
"id": 41,
"type": 2,
"parentId": 2
},
{
"name": "通航建筑物工程专业承包",
"id": 42,
"type": 2,
"parentId": 2
},
{
"name": "港航设备安装及水上交管工程专业承包",
"id": 43,
"type": 2,
"parentId": 2
},
{
"name": "水工金属结构制作与安装工程专业承包",
"id": 44,
"type": 2,
"parentId": 2
},
{
"name": "水利水电机电安装工程专业承包",
"id": 45,
"type": 2,
"parentId": 2
},
{
"name": "河湖整治工程专业承包",
"id": 46,
"type": 2,
"parentId": 2
},
{
"name": "输变电工程专业承包",
"id": 47,
"type": 2,
"parentId": 2
},
{
"name": "核工程专业承包",
"id": 48,
"type": 2,
"parentId": 2
},
{
"name": "海洋石油工程专业承包",
"id": 49,
"type": 2,
"parentId": 2
},
{
"name": "环保工程专业承包",
"id": 50,
"type": 2,
"parentId": 2
},
{
"name": "特种工程专业承包",
"id": 51,
"type": 2,
"parentId": 2
}
],
"parentId": 209
}
],
"parentId": 0
},
{
"name": "工程勘察",
"id": 211,
"type": 0,
"list": [
{
"name": "工程勘察综合资质",
"id": 223,
"type": 1,
"parentId": 211
},
{
"name": "工程勘察专业资质",
"id": 225,
"type": 1,
"list": [
{
"name": "工程勘察岩土工程专业",
"id": 257,
"type": 2,
"list": [
{
"name": "工程勘察岩土工程专业",
"id": 404,
"type": 6,
"parentId": 257
},
{
"name": "工程勘察岩土工程专业(岩土工程勘察)",
"id": 405,
"type": 6,
"parentId": 257
},
{
"name": "岩土工程专业(岩土工程设计)",
"id": 407,
"type": 6,
"parentId": 257
},
{
"name": "岩土工程专业(岩土工程物探测试检测监测)",
"id": 409,
"type": 6,
"parentId": 257
}
],
"parentId": 225
},
{
"name": "工程勘察水文地质勘察专业",
"id": 259,
"type": 2,
"parentId": 225
},
{
"name": "工程勘察工程测量专业",
"id": 261,
"type": 2,
"parentId": 225
},
{
"name": "工程勘察海洋工程勘察专业",
"id": 263,
"type": 2,
"list": [
{
"name": "海洋工程勘察专业(海洋工程测量)",
"id": 411,
"type": 6,
"parentId": 263
},
{
"name": "海洋工程勘察专业(海洋岩土工程勘察)",
"id": 413,
"type": 6,
"parentId": 263
},
{
"name": "海洋工程勘察专业(海洋工程环境调查)",
"id": 415,
"type": 6,
"parentId": 263
}
],
"parentId": 225
}
],
"parentId": 211
},
{
"name": "工程勘察劳务资质",
"id": 227,
"type": 1,
"list": [
{
"name": "工程勘察工程钻探劳务",
"id": 265,
"type": 2,
"parentId": 227
},
{
"name": "工程勘察凿井劳务",
"id": 267,
"type": 2,
"parentId": 227
},
{
"name": "工程勘察劳务",
"id": 267,
"type": 2,
"parentId": 227
}
],
"parentId": 211
}
],
"parentId": 0
},
{
"name": "工程设计",
"id": 213,
"type": 0,
"list": [
{
"name": "工程设计综合资质",
"id": 229,
"type": 1,
"parentId": 213
},
{
"name": "工程设计行业资质",
"id": 231,
"type": 1,
"list": [
{
"name": "工程设计煤炭行业",
"id": 269,
"type": 2,
"parentId": 231
},
{
"name": "工程设计化工石化医药行业",
"id": 271,
"type": 2,
"parentId": 231
},
{
"name": "工程设计石油天然气(海洋石油)行业",
"id": 273,
"type": 2,
"parentId": 231
},
{
"name": "工程设计电力行业",
"id": 275,
"type": 2,
"parentId": 231
},
{
"name": "工程设计冶金行业",
"id": 277,
"type": 2,
"parentId": 231
},
{
"name": "工程设计军工行业",
"id": 279,
"type": 2,
"parentId": 231
},
{
"name": "工程设计机械行业",
"id": 281,
"type": 2,
"parentId": 231
},
{
"name": "工程设计商物粮行业",
"id": 283,
"type": 2,
"parentId": 231
},
{
"name": "工程设计核工业行业",
"id": 285,
"type": 2,
"parentId": 231
},
{
"name": "工程设计电子通信广电行业",
"id": 287,
"type": 2,
"list": [
{
"name": "工程设计电子通信广电行业(电子工程)",
"id": 417,
"type": 6,
"parentId": 287
},
{
"name": "工程设计电子通信广电行业(通信工程)",
"id": 419,
"type": 6,
"parentId": 287
},
{
"name": "工程设计电子通信广电行业(广电工程)",
"id": 421,
"type": 6,
"parentId": 287
}
],
"parentId": 231
},
{
"name": "工程设计轻纺行业",
"id": 289,
"type": 2,
"list": [
{
"name": "工程设计轻纺行业(轻工工程)",
"id": 423,
"type": 6,
"parentId": 289
},
{
"name": "工程设计轻纺行业(纺织工程)",
"id": 425,
"type": 6,
"parentId": 289
}
],
"parentId": 231
},
{
"name": "工程设计建材行业",
"id": 291,
"type": 2,
"parentId": 231
},
{
"name": "工程设计铁道行业",
"id": 293,
"type": 2,
"parentId": 231
},
{
"name": "工程设计公路行业",
"id": 295,
"type": 2,
"parentId": 231
},
{
"name": "工程设计水运行业",
"id": 297,
"type": 2,
"parentId": 231
},
{
"name": "工程设计民航行业",
"id": 299,
"type": 2,
"parentId": 231
},
{
"name": "工程设计市政行业",
"id": 301,
"type": 2,
"list": [
{
"name": "工程设计市政行业",
"id": 429,
"type": 6,
"parentId": 301
}
],
"parentId": 231
},
{
"name": "工程设计农林行业",
"id": 303,
"type": 2,
"list": [
{
"name": "工程设计农林行业(农业工程)",
"id": 431,
"type": 6,
"parentId": 303
},
{
"name": "工程设计农林行业(林业工程)",
"id": 433,
"type": 6,
"parentId": 303
}
],
"parentId": 231
},
{
"name": "工程设计水利行业",
"id": 305,
"type": 2,
"parentId": 231
},
{
"name": "工程设计海洋行业",
"id": 307,
"type": 2,
"parentId": 231
},
{
"name": "工程设计建筑行业",
"id": 309,
"type": 2,
"parentId": 231
}
],
"parentId": 213
},
{
"name": "工程设计专业资质",
"id": 233,
"type": 1,
"list": [
{
"name": "工程设计煤炭行业",
"id": 311,
"type": 2,
"list": [
{
"name": "工程设计煤炭行业矿井专业",
"id": 435,
"type": 6,
"parentId": 311
},
{
"name": "工程设计煤炭行业露天矿专业",
"id": 437,
"type": 6,
"parentId": 311
},
{
"name": "工程设计煤炭行业选煤厂专业",
"id": 439,
"type": 6,
"parentId": 311
}
],
"parentId": 233
},
{
"name": "工程设计化工石化医药行业",
"id": 313,
"type": 2,
"list": [
{
"name": "工程设计化工石化医药行业炼油工程专业",
"id": 441,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业化工工程专业",
"id": 443,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业石油及化工产品储运专业",
"id": 445,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业化工矿山专业",
"id": 447,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业生化、生物药专业",
"id": 449,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业中成药专业",
"id": 451,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业化学原料药专业",
"id": 453,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业药物制剂专业",
"id": 455,
"type": 6,
"parentId": 313
},
{
"name": "工程设计化工石化医药行业医疗器械(含药品内包装)专业",
"id": 457,
"type": 6,
"parentId": 313
}
],
"parentId": 233
},
{
"name": "工程设计石油天然气(海洋石油)行业",
"id": 315,
"type": 2,
"list": [
{
"name": "工程设计石油天然气(海洋石油)行业油田地面专业",
"id": 459,
"type": 6,
"parentId": 315
},
{
"name": "工程设计石油天然气(海洋石油)行业气田地面专业",
"id": 461,
"type": 6,
"parentId": 315
},
{
"name": "工程设计石油天然气(海洋石油)行业管道输送专业",
"id": 463,
"type": 6,
"parentId": 315
},
{
"name": "工程设计石油天然气(海洋石油)行业海洋石油专业",
"id": 465,
"type": 6,
"parentId": 315
},
{
"name": "工程设计石油天然气(海洋石油)行业油气库专业",
"id": 467,
"type": 6,
"parentId": 315
},
{
"name": "工程设计石油天然气(海洋石油)行业油气加工专业",
"id": 469,
"type": 6,
"parentId": 315
},
{
"name": "工程设计石油天然气(海洋石油)行业石油机械制造与修理专业",
"id": 471,
"type": 6,
"parentId": 315
}
],
"parentId": 233
},
{
"name": "工程设计电力行业",
"id": 317,
"type": 2,
"list": [
{
"name": "工程设计电力行业火力发电(含核电站常规岛设计)专业",
"id": 473,
"type": 6,
"parentId": 317
},
{
"name": "工程设计电力行业水力发电(含抽水蓄能、潮汐)专业",
"id": 475,
"type": 6,
"parentId": 317
},
{
"name": "工程设计电力行业风力发电专业",
"id": 477,
"type": 6,
"parentId": 317
},
{
"name": "工程设计电力行业新能源发电专业",
"id": 479,
"type": 6,
"parentId": 317
},
{
"name": "工程设计电力行业送电工程专业",
"id": 481,
"type": 6,
"parentId": 317
},
{
"name": "工程设计电力行业变电工程专业",
"id": 483,
"type": 6,
"parentId": 317
}
],
"parentId": 233
},
{
"name": "工程设计冶金行业",
"id": 319,
"type": 2,
"list": [
{
"name": "工程设计冶金行业金属冶炼工程专业",
"id": 485,
"type": 6,
"parentId": 319
},
{
"name": "工程设计冶金行业金属材料工程专业",
"id": 487,
"type": 6,
"parentId": 319
},
{
"name": "工程设计冶金行业焦化和耐火材料工程专业",
"id": 489,
"type": 6,
"parentId": 319
},
{
"name": "工程设计冶金行业冶金矿山工程专业",
"id": 491,
"type": 6,
"parentId": 319
}
],
"parentId": 233
},
{
"name": "工程设计军工行业",
"id": 321,
"type": 2,
"list": [
{
"name": "工程设计军工行业导弹及火箭弹工程专业",
"id": 493,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业弹、火工品及固体发动机工程专业",
"id": 495,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业燃机、动力装置及航天发动机工程专业",
"id": 497,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业控制系统、光学、光电、电子、仪表工程专业",
"id": 499,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业科研、靶场、试验、教育培训工程专业",
"id": 501,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业地面设备工程专业",
"id": 503,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业航天空间飞行器工程专业",
"id": 505,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业运载火箭制造工程专业",
"id": 507,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业地面制导站工程专业",
"id": 509,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业航空飞行器工程专业",
"id": 511,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业机场工程专业",
"id": 513,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业船舶制造工程专业",
"id": 515,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业船舶机械工程专业",
"id": 517,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业船舶水工工程专业",
"id": 519,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业坦克、装甲车辆工程专业",
"id": 521,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业枪、炮工程专业",
"id": 523,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业火、炸药工程专业",
"id": 525,
"type": 6,
"parentId": 321
},
{
"name": "工程设计军工行业防化、民爆器材工程专业",
"id": 1721,
"type": 6,
"parentId": 321
}
],
"parentId": 233
},
{
"name": "工程设计机械行业",
"id": 323,
"type": 2,
"list": [
{
"name": "工程设计机械行业通用设备制造业工程专业",
"id": 527,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业专用设备制造业工程专业",
"id": 529,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业交通运输设备制造业工程专业",
"id": 531,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业电气机械设备制造业工程专业",
"id": 533,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业金属制品业工程专业",
"id": 535,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业仪器仪表及文化办公机械制造业工程专业",
"id": 537,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业机械加工专业",
"id": 539,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业热加工专业",
"id": 541,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业表面处理专业",
"id": 543,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业检测专业",
"id": 545,
"type": 6,
"parentId": 323
},
{
"name": "工程设计机械行业物料搬运及仓储专业",
"id": 547,
"type": 6,
"parentId": 323
}
],
"parentId": 233
},
{
"name": "工程设计商物粮行业",
"id": 325,
"type": 2,
"list": [
{
"name": "工程设计商物粮行业冷冻冷藏工程专业",
"id": 549,
"type": 6,
"parentId": 325
},
{
"name": "工程设计商物粮行业肉食品加工工程专业",
"id": 551,
"type": 6,
"parentId": 325
},
{
"name": "工程设计商物粮行业批发配送与物流仓储工程专业",
"id": 553,
"type": 6,
"parentId": 325
},
{
"name": "工程设计商物粮行业成品油储运工程专业",
"id": 555,
"type": 6,
"parentId": 325
},
{
"name": "工程设计商物粮行业粮食工程专业",
"id": 557,
"type": 6,
"parentId": 325
},
{
"name": "工程设计商物粮行业油脂工程专业",
"id": 559,
"type": 6,
"parentId": 325
}
],
"parentId": 233
},
{
"name": "工程设计核工业行业",
"id": 327,
"type": 2,
"list": [
{
"name": "工程设计核工业行业反应堆工程设计(含核电站反应堆工程)专业",
"id": 561,
"type": 6,
"parentId": 327
},
{
"name": "工程设计核工业行业核燃料加工制造及处理工程专业",
"id": 563,
"type": 6,
"parentId": 327
},
{
"name": "工程设计核工业行业铀矿山及选冶工程专业",
"id": 565,
"type": 6,
"parentId": 327
},
{
"name": "工程设计核工业行业核设施退役及放射性三废处理处置工程专业",
"id": 567,
"type": 6,
"parentId": 327
},
{
"name": "工程设计核工业行业核技术及同位素应用工程专业",
"id": 569,
"type": 6,
"parentId": 327
}
],
"parentId": 233
},
{
"name": "工程设计电子通信广电行业",
"id": 329,
"type": 2,
"list": [
{
"name": "工程设计电子通信广电行业电子整机产品项目工程专业",
"id": 571,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业电子基础产品项目工程专业",
"id": 573,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业显示器件项目工程专业",
"id": 575,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业微电子产品项目工程专业",
"id": 577,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业电子特种环境工程专业",
"id": 579,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业电子系统工程专业",
"id": 581,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业有线通信专业",
"id": 583,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业通信铁塔专业",
"id": 585,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业广播电视中心专业",
"id": 587,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业广播电视发射专业",
"id": 589,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业广播电视传输专业",
"id": 591,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业电影工程专业",
"id": 593,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业无线通信专业",
"id": 1689,
"type": 6,
"parentId": 329
},
{
"name": "工程设计电子通信广电行业邮政工程专业",
"id": 1691,
"type": 6,
"parentId": 329
}
],
"parentId": 233
},
{
"name": "工程设计轻纺行业",
"id": 331,
"type": 2,
"list": [
{
"name": "工程设计轻纺行业制浆造纸工程专业",
"id": 595,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业食品发酵烟草工程专业",
"id": 597,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业制糖工程专业",
"id": 599,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业日化及塑料工程专业",
"id": 601,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业日用硅酸盐工程专业",
"id": 603,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业制盐及盐化工程专业",
"id": 605,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业皮革毛皮及制品专业",
"id": 607,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业家电电子及日用机械专业",
"id": 609,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业纺织工程专业",
"id": 611,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业印染工程专业",
"id": 613,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业服装工程专业",
"id": 615,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业化纤原料工程专业",
"id": 617,
"type": 6,
"parentId": 331
},
{
"name": "工程设计轻纺行业化纤工程专业",
"id": 619,
"type": 6,
"parentId": 331
}
],
"parentId": 233
},
{
"name": "工程设计建材行业",
"id": 333,
"type": 2,
"list": [
{
"name": "工程设计建材行业水泥工程专业",
"id": 621,
"type": 6,
"parentId": 333
},
{
"name": "工程设计建材行业玻璃、陶瓷、耐火材料工程专业",
"id": 623,
"type": 6,
"parentId": 333
},
{
"name": "工程设计建材行业新型建筑材料工程专业",
"id": 625,
"type": 6,
"parentId": 333
},
{
"name": "工程设计建材行业非金属矿及原料制备工程专业",
"id": 627,
"type": 6,
"parentId": 333
},
{
"name": "工程设计建材行业无机非金属材料及制品工程专业",
"id": 629,
"type": 6,
"parentId": 333
}
],
"parentId": 233
},
{
"name": "工程设计铁道行业",
"id": 335,
"type": 2,
"list": [
{
"name": "工程设计铁道行业桥梁专业",
"id": 631,
"type": 6,
"parentId": 335
},
{
"name": "工程设计铁道行业轨道专业",
"id": 633,
"type": 6,
"parentId": 335
},
{
"name": "工程设计铁道行业隧道专业",
"id": 635,
"type": 6,
"parentId": 335
},
{
"name": "工程设计铁道行业电气化专业",
"id": 637,
"type": 6,
"parentId": 335
},
{
"name": "工程设计铁道行业通信信号专业",
"id": 639,
"type": 6,
"parentId": 335
}
],
"parentId": 233
},
{
"name": "工程设计公路行业",
"id": 337,
"type": 2,
"list": [
{
"name": "工程设计公路行业公路专业",
"id": 641,
"type": 6,
"parentId": 337
},
{
"name": "工程设计公路行业特大桥梁专业",
"id": 643,
"type": 6,
"parentId": 337
},
{
"name": "工程设计公路行业特长隧道专业",
"id": 645,
"type": 6,
"parentId": 337
},
{
"name": "工程设计公路行业交通工程专业",
"id": 647,
"type": 6,
"parentId": 337
}
],
"parentId": 233
},
{
"name": "工程设计水运行业",
"id": 339,
"type": 2,
"list": [
{
"name": "工程设计水运行业港口工程专业",
"id": 649,
"type": 6,
"parentId": 339
},
{
"name": "工程设计水运行业航道工程专业",
"id": 651,
"type": 6,
"parentId": 339
},
{
"name": "工程设计水运行业通航建筑工程专业",
"id": 653,
"type": 6,
"parentId": 339
},
{
"name": "工程设计水运行业修造船厂水工工程专业",
"id": 655,
"type": 6,
"parentId": 339
},
{
"name": "工程设计水运行业港口装卸工艺专业",
"id": 657,
"type": 6,
"parentId": 339
},
{
"name": "工程设计水运行业水上交通管制工程专业",
"id": 659,
"type": 6,
"parentId": 339
}
],
"parentId": 233
},
{
"name": "工程设计民航行业",
"id": 341,
"type": 2,
"list": [
{
"name": "工程设计民航行业机场总体规划工程专业",
"id": 661,
"type": 6,
"parentId": 341
},
{
"name": "工程设计民航行业场道、目视助航工程专业",
"id": 663,
"type": 6,
"parentId": 341
},
{
"name": "工程设计民航行业通信、导航、航管及航站楼弱电工程专业",
"id": 665,
"type": 6,
"parentId": 341
},
{
"name": "工程设计民航行业供油工程专业",
"id": 667,
"type": 6,
"parentId": 341
}
],
"parentId": 233
},
{
"name": "工程设计市政行业",
"id": 343,
"type": 2,
"list": [
{
"name": "工程设计市政行业给水工程专业",
"id": 669,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业排水工程专业",
"id": 671,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业城镇燃气工程专业",
"id": 673,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业热力工程专业",
"id": 675,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业道路工程专业",
"id": 677,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业桥梁工程专业",
"id": 679,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业城市隧道工程专业",
"id": 681,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业公共交通工程专业",
"id": 683,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业载人索道专业",
"id": 685,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业轨道交通工程专业",
"id": 687,
"type": 6,
"parentId": 343
},
{
"name": "工程设计市政行业环境卫生工程专业",
"id": 689,
"type": 6,
"parentId": 343
}
],
"parentId": 233
},
{
"name": "工程设计农林行业",
"id": 345,
"type": 2,
"list": [
{
"name": "工程设计农林行业农业综合开发生态工程专业",
"id": 691,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业种植业工程专业",
"id": 693,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业兽医/畜牧工程专业",
"id": 695,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业渔港/渔业工程专业",
"id": 697,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业设施农业工程专业",
"id": 699,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业林产工业工程专业",
"id": 701,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业林产化学工程专业",
"id": 703,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业营造林工程专业",
"id": 705,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业森林资源环境工程专业",
"id": 707,
"type": 6,
"parentId": 345
},
{
"name": "工程设计农林行业森林工业工程专业",
"id": 709,
"type": 6,
"parentId": 345
}
],
"parentId": 233
},
{
"name": "工程设计水利行业",
"id": 347,
"type": 2,
"list": [
{
"name": "工程设计水利行业水库枢纽专业",
"id": 711,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业引调水专业",
"id": 713,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业灌溉排涝专业",
"id": 715,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业河道整治专业",
"id": 717,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业城市防洪专业",
"id": 719,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业围垦专业",
"id": 721,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业水土保持专业",
"id": 723,
"type": 6,
"parentId": 347
},
{
"name": "工程设计水利行业水文设施专业",
"id": 725,
"type": 6,
"parentId": 347
}
],
"parentId": 233
},
{
"name": "工程设计海洋行业",
"id": 349,
"type": 2,
"list": [
{
"name": "工程设计海洋行业沿岸工程专业",
"id": 727,
"type": 6,
"parentId": 349
},
{
"name": "工程设计海洋行业离岸工程专业",
"id": 729,
"type": 6,
"parentId": 349
},
{
"name": "工程设计海洋行业海水利用专业",
"id": 731,
"type": 6,
"parentId": 349
},
{
"name": "工程设计海洋行业海洋能利用专业",
"id": 733,
"type": 6,
"parentId": 349
}
],
"parentId": 233
},
{
"name": "工程设计建筑行业",
"id": 351,
"type": 2,
"list": [
{
"name": "工程设计建筑行业(建筑工程)",
"id": 735,
"type": 6,
"parentId": 351
},
{
"name": "工程设计建筑行业(人防工程)",
"id": 737,
"type": 6,
"parentId": 351
}
],
"parentId": 233
}
],
"parentId": 213
},
{
"name": "建筑工程设计事务所",
"id": 235,
"type": 1,
"list": [
{
"name": "工程设计建筑设计事务所",
"id": 353,
"type": 2,
"parentId": 235
},
{
"name": "工程设计结构设计事务所",
"id": 355,
"type": 2,
"parentId": 235
},
{
"name": "工程设计机电设计事务所",
"id": 357,
"type": 2,
"parentId": 235
}
],
"parentId": 213
},
{
"name": "工程设计专项资质",
"id": 237,
"type": 1,
"list": [
{
"name": "工程设计建筑装饰工程专项",
"id": 359,
"type": 2,
"parentId": 237
},
{
"name": "工程设计建筑智能化系统专项",
"id": 361,
"type": 2,
"parentId": 237
},
{
"name": "工程设计建筑幕墙工程专项",
"id": 363,
"type": 2,
"parentId": 237
},
{
"name": "工程设计轻型钢结构工程专项",
"id": 365,
"type": 2,
"parentId": 237
},
{
"name": "工程设计风景园林工程专项",
"id": 367,
"type": 2,
"parentId": 237
},
{
"name": "工程设计消防设施工程专项",
"id": 369,
"type": 2,
"parentId": 237
},
{
"name": "工程设计环境工程专项",
"id": 371,
"type": 2,
"list": [
{
"name": "工程设计环境工程专项(水污染防治工程)",
"id": 739,
"type": 6,
"parentId": 371
},
{
"name": "工程设计环境工程专项(大气污染防治工程)",
"id": 741,
"type": 6,
"parentId": 371
},
{
"name": "工程设计环境工程专项(固体废物处理处置工程)",
"id": 743,
"type": 6,
"parentId": 371
},
{
"name": "工程设计环境工程专项(物理污染防治工程)",
"id": 745,
"type": 6,
"parentId": 371
},
{
"name": "工程设计环境工程专项(污染修复工程)",
"id": 747,
"type": 6,
"parentId": 371
}
],
"parentId": 237
},
{
"name": "工程设计照明工程专项",
"id": 373,
"type": 2,
"parentId": 237
}
],
"parentId": 213
}
],
"parentId": 0
},
{
"name": "工程监理",
"id": 215,
"type": 0,
"list": [
{
"name": "工程监理综合资质",
"id": 239,
"type": 1,
"parentId": 215
},
{
"name": "工程监理专业资质",
"id": 241,
"type": 1,
"list": [
{
"name": "工程监理房屋建筑工程专业",
"id": 375,
"type": 2,
"parentId": 241
},
{
"name": "工程监理冶炼工程专业",
"id": 377,
"type": 2,
"parentId": 241
},
{
"name": "工程监理矿山工程专业",
"id": 379,
"type": 2,
"parentId": 241
},
{
"name": "工程监理化工石油工程专业",
"id": 381,
"type": 2,
"parentId": 241
},
{
"name": "工程监理水利水电工程专业",
"id": 383,
"type": 2,
"parentId": 241
},
{
"name": "工程监理电力工程专业",
"id": 385,
"type": 2,
"parentId": 241
},
{
"name": "工程监理农林工程专业",
"id": 387,
"type": 2,
"parentId": 241
},
{
"name": "工程监理铁路工程专业",
"id": 389,
"type": 2,
"parentId": 241
},
{
"name": "工程监理公路工程专业",
"id": 391,
"type": 2,
"parentId": 241
},
{
"name": "工程监理港口与航道工程专业",
"id": 393,
"type": 2,
"parentId": 241
},
{
"name": "工程监理航天航空工程专业",
"id": 395,
"type": 2,
"parentId": 241
},
{
"name": "工程监理通信工程专业",
"id": 397,
"type": 2,
"parentId": 241
},
{
"name": "工程监理市政公用工程专业",
"id": 399,
"type": 2,
"parentId": 241
},
{
"name": "工程监理机电安装工程专业",
"id": 401,
"type": 2,
"parentId": 241
}
],
"parentId": 215
},
{
"name": "工程监理事务所资质",
"id": 243,
"type": 1,
"list": [
{
"name": "工程监理事务所",
"id": 403,
"type": 2,
"parentId": 243
}
],
"parentId": 215
},
{
"name": "交通部监理",
"id": 3250,
"type": 1,
"list": [
{
"name": "公路工程监理",
"id": 3251,
"type": 2,
"list": [
{
"name": "公路工程专业",
"id": 3252,
"type": 6,
"parentId": 3251
},
{
"name": "公路工程特殊独立大桥专项",
"id": 3256,
"type": 6,
"parentId": 3251
},
{
"name": "公路工程特殊独立隧道专项",
"id": 3258,
"type": 6,
"parentId": 3251
},
{
"name": "公路工程公路机电工程专项",
"id": 3260,
"type": 6,
"parentId": 3251
}
],
"parentId": 3250
},
{
"name": "水运工程监理",
"id": 3262,
"type": 2,
"list": [
{
"name": "水运工程专业",
"id": 3263,
"type": 6,
"parentId": 3262
},
{
"name": "水运机电工程专项监理",
"id": 3267,
"type": 6,
"parentId": 3262
}
],
"parentId": 3250
}
],
"parentId": 215
},
{
"name": "水利部监理",
"id": 3269,
"type": 1,
"list": [
{
"name": "水利工程施工监理",
"id": 3270,
"type": 2,
"parentId": 3269
},
{
"name": "水土保持工程施工监理",
"id": 3274,
"type": 2,
"parentId": 3269
},
{
"name": "机电及金属结构设备制造监理",
"id": 3278,
"type": 2,
"parentId": 3269
},
{
"name": "水利工程建设环境保护监理",
"id": 3281,
"type": 2,
"parentId": 3269
}
],
"parentId": 215
},
{
"name": "住建部监理",
"id": 3300,
"type": 1,
"list": [
{
"name": "人防工程施工监理",
"id": 3301,
"type": 2,
"parentId": 3300
}
],
"parentId": 215
}
],
"parentId": 0
},
{
"name": "造价咨询企业资质",
"id": 221,
"type": 0,
"list": [
{
"name": "工程造价咨询",
"id": 255,
"type": 1,
"parentId": 221
}
],
"parentId": 0
}
]
\ No newline at end of file
<template> <template>
<div v-loading="loading" class="market-container"> <div v-loading="loading" class="advisoryOrgan-container">
<iframe id="companyIframe" class="market-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" /> <iframe id="companyIframe" class="advisoryOrgan-iframe" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" width="100%" :src="src" />
</div> </div>
</template> </template>
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
async iframeObserver() { async iframeObserver() {
try { try {
await this.$nextTick(); await this.$nextTick();
this.iframeIns = document.querySelector(".market-iframe"); this.iframeIns = document.querySelector(".advisoryOrgan-iframe");
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
...@@ -101,7 +101,7 @@ export default { ...@@ -101,7 +101,7 @@ export default {
if (res.code == 200) { if (res.code == 200) {
this.timelongs = res.data.expire; this.timelongs = res.data.expire;
this.ak = res.data.accessToken; this.ak = res.data.accessToken;
this.src = `${this.domain}/search/market?ak=${this.ak}&initTime=${new Date().getTime()}&uid=${this.ak}&origin=${window.location.origin}`; this.src = `${this.domain}/search/advisoryOrgan?ak=${this.ak}&initTime=${new Date().getTime()}&uid=${this.ak}&origin=${window.location.origin}`;
this.refreshtoken(); this.refreshtoken();
} else { } else {
clearTimeout(this.tokentimer); clearTimeout(this.tokentimer);
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.market-container { .advisoryOrgan-container {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 16px 24px; padding: 16px 24px;
...@@ -150,7 +150,7 @@ export default { ...@@ -150,7 +150,7 @@ export default {
left: 0; left: 0;
top: 0; top: 0;
.market-iframe { .advisoryOrgan-iframe {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
......
<template> <template>
<div id="detailPart" class="sides-container"> <div id="detailPart" class="sides-container">
<!-- 搜索栏 -->
<el-input placeholder="搜索" class="side-input" v-model="searchText" clearable @input="handleSearch(true)" @keyup.enter.native="handleSearch()"> <el-input placeholder="搜索" class="side-input" v-model="searchText" clearable @input="handleSearch(true)" @keyup.enter.native="handleSearch()">
<i slot="prefix" class="el-input__icon el-icon-search" @click="handleSearch()"></i> <i slot="prefix" class="el-input__icon el-icon-search" @click="handleSearch()"></i>
</el-input> </el-input>
<el-menu ref="sideMenu" :unique-opened="true" :default-active="searchIndex?searchIndex:routeIndex" class="detail-menu" @open="handleOpen">
<el-menu ref="sideMenu" :unique-opened="true" :default-active="searchIndex" class="detail-menu" @open="handleOpen">
<template v-for="(item, index) in sideRoute"> <template v-for="(item, index) in sideRoute">
<el-submenu :index="index.toString()" v-if="item.children"
<!-- 一级菜单 -->
<el-submenu :index="item.index" :key="item.index" v-if="item.children" class="top-level-menu"
:disabled="!isCompanyId(item.title) || (item.title=='项目商机'&&statisticObj.business.landInfo<1&&statisticObj.business.busProposedProjectV1<1&&statisticObj.performance.specialDebt<1&&statisticObj.performance.bidPlan<1&&statisticObj.business.biddingAnnouncement<1&&statisticObj.business.proBiddingAnnouncement<1&&statisticObj.business.adminLicensing<1)"> :disabled="!isCompanyId(item.title) || (item.title=='项目商机'&&statisticObj.business.landInfo<1&&statisticObj.business.busProposedProjectV1<1&&statisticObj.performance.specialDebt<1&&statisticObj.performance.bidPlan<1&&statisticObj.business.biddingAnnouncement<1&&statisticObj.business.proBiddingAnnouncement<1&&statisticObj.business.adminLicensing<1)">
<template slot="title"> <template slot="title">
<span>{{item.title}}</span> <span>{{item.title}}</span>
</template> </template>
<el-menu-item :index="index+'-'+idx" v-for="(it, idx) in item.children" :key="idx" @click="handleItem(it)"
:disabled="it.disabled">{{it.title}}</el-menu-item> <template v-for="(subItem,subIndex) of item.children">
<!-- 二级菜单 -->
<template v-if="subItem.children && subItem.children.length">
<el-submenu :index="subItem.index" :key="subItem.index" class="second-level-menu-has-children">
<template slot="title">
<span>{{subItem.title}}</span>
</template>
<!-- 三级菜单 -->
<template v-for="(threeLevelMenu,threeLevelIndex) of subItem.children">
<el-menu-item :index="threeLevelMenu.index" :key="threeLevelMenu.index" @click="handleItem(threeLevelMenu)"
:disabled="!isCompanyId(threeLevelMenu.title) || threeLevelMenu.disabled" v-if="isCustomerId(threeLevelMenu.pathName)">
<span>{{threeLevelMenu.title}}</span>
</el-menu-item>
</template>
</el-submenu>
</template>
<template v-else>
<el-menu-item class="second-level-menu-no-children" :index="subItem.index" @click="handleItem(subItem)"
:disabled="!isCompanyId(subItem.title) || subItem.disabled" v-if="isCustomerId(subItem.pathName)">{{subItem.title}}</el-menu-item>
</template>
</template>
</el-submenu> </el-submenu>
<template v-else> <template v-else>
<el-menu-item :index="index.toString()" @click="handleItem(item)" :disabled="!isCompanyId(item.title) || item.disabled" <el-menu-item class="top-level-menu-no-children" :index="item.index" @click="handleItem(item)"
v-if="isCustomerId(item.pathName)">{{item.title}}</el-menu-item> :disabled="!isCompanyId(item.title) || item.disabled" v-if="isCustomerId(item.pathName)">{{item.title}}</el-menu-item>
</template> </template>
</template> </template>
</el-menu> </el-menu>
...@@ -25,6 +52,7 @@ ...@@ -25,6 +52,7 @@
<script> <script>
import { financial } from '@/api/detail/party-a/financial'; import { financial } from '@/api/detail/party-a/financial';
import { detailSideBar } from "@/utils"; import { detailSideBar } from "@/utils";
import { v4 } from "uuid";
export default { export default {
name: 'Sidebar', name: 'Sidebar',
props: { props: {
...@@ -57,6 +85,8 @@ export default { ...@@ -57,6 +85,8 @@ export default {
return { return {
searchText: '', searchText: '',
sideRoute: [ sideRoute: [
{
title: "企业经营", pathName: "", children: [
{ {
title: '企业概要', pathName: '', children: [ title: '企业概要', pathName: '', children: [
{ title: '企业速览', pathName: 'overview' }, { title: '企业速览', pathName: 'overview' },
...@@ -115,8 +145,12 @@ export default { ...@@ -115,8 +145,12 @@ export default {
{ title: '合作情况', pathName: 'cooperate' }, { title: '合作情况', pathName: 'cooperate' },
{ title: '联系人', pathName: 'decisionMaking' }, { title: '联系人', pathName: 'decisionMaking' },
{ title: '跟进记录', pathName: 'gjjl' } { title: '跟进记录', pathName: 'gjjl' }
]
}
], ],
sideRoute1: [ sideRoute1: [
{
title: "企业经营", pathName: "", children: [
{ {
title: '企业概要', pathName: '', children: [ title: '企业概要', pathName: '', children: [
{ title: '企业速览', pathName: 'overview' }, { title: '企业速览', pathName: 'overview' },
...@@ -175,6 +209,8 @@ export default { ...@@ -175,6 +209,8 @@ export default {
{ title: '合作情况', pathName: 'cooperate' }, { title: '合作情况', pathName: 'cooperate' },
{ title: '联系人', pathName: 'decisionMaking' }, { title: '联系人', pathName: 'decisionMaking' },
{ title: '跟进记录', pathName: 'gjjl' } { title: '跟进记录', pathName: 'gjjl' }
]
}
], ],
defaultRoute: [], defaultRoute: [],
customer: [ customer: [
...@@ -197,13 +233,10 @@ export default { ...@@ -197,13 +233,10 @@ export default {
}; };
}, },
computed: { computed: {
routeIndex() {
let idx = this.getRouteIdx('', this.pathName) || '0-0';
return idx;
}
}, },
created() { created() {
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute)); this.sideBarInit();
}, },
watch: { watch: {
statisticObj: { statisticObj: {
...@@ -213,6 +246,35 @@ export default { ...@@ -213,6 +246,35 @@ export default {
}, },
}, },
methods: { methods: {
sideBarInit() {
const _temp = this.sideAddUid(JSON.parse(JSON.stringify(this.sideRoute)));
this.sideRoute = _temp;
this.defaultRoute = JSON.parse(JSON.stringify(this.sideRoute));
this.searchIndex = this.findNodeIndex(this.defaultRoute, "overview").index;
},
// 查找菜单中的元素
findNodeIndex(tree, key, findKey = "pathName", findParent = false, parenNode = null) {
let len = tree.length;
for (let index = 0; index < len; index++) {
if (tree[index][findKey] === key) {
console.log(tree[index][findKey], key, "匹配成功");
return findParent ? parenNode : tree[index];
};
if (tree[index]?.children?.length) {
const result = this.findNodeIndex(tree[index]?.children, key, findKey, findParent, tree[index]);
if (result) return result;
}
}
},
sideAddUid(array) {
return array.map(item => {
item.index = v4();
if (item?.children?.length) {
item.children = this.sideAddUid(item?.children);
}
return item;
});
},
financial(id) { financial(id) {
financial({ cid: String(id) }).then(res => { financial({ cid: String(id) }).then(res => {
if ((res.code == 200 && !res.data) || !res.data?.totalAssets) { if ((res.code == 200 && !res.data) || !res.data?.totalAssets) {
...@@ -221,6 +283,7 @@ export default { ...@@ -221,6 +283,7 @@ export default {
} }
}); });
}, },
// 菜单关联服务端数据
createSideBarWithServerData(value) { createSideBarWithServerData(value) {
this.sideRoute = JSON.parse(JSON.stringify(this.defaultRoute)); this.sideRoute = JSON.parse(JSON.stringify(this.defaultRoute));
...@@ -308,40 +371,46 @@ export default { ...@@ -308,40 +371,46 @@ export default {
} }
this.$emit("currentPath", obj); this.$emit("currentPath", obj);
}, },
handleSearch(flag) { async handleSearch(flag) {
try {
// 手动输入时 flag 为true
if ((this.searchText && !flag) || (!this.searchText && flag)) { if ((this.searchText && !flag) || (!this.searchText && flag)) {
let idx = this.getRouteIdx(this.searchText); // 找到唯一标识
if (idx) { let side = this.findNodeIndex(this.defaultRoute, this.searchText, "title");
if (idx.includes('-')) { // 需要打开菜单的唯一标识
let openIdx = idx.slice(0, 1); let openIndex = null;
this.sideRoute = [this.defaultRoute[openIdx]]; // 右侧打开的菜单对应对象
this.$refs.sideMenu.open(openIdx); let openSide = null;
// 菜单高亮命中
let hightLightSide = null;
if (side) {
// 判断是否是子级菜单 有children 直接使用当前层级 没有找父级
if (side?.children?.length) {
openIndex = side.index;
openSide = side?.children[0];
// 打开的菜单有children 表示目录 不高亮显示
hightLightSide = openSide?.children?.length ? null : side?.children[0]?.index;
this.sideRoute = [JSON.parse(JSON.stringify(side))];
} else { } else {
this.sideRoute = [this.defaultRoute[idx]]; // 找父节点
} const parent = this.findNodeIndex(this.defaultRoute, side.pathName, "pathName", true);
this.searchIndex = '-1'; openIndex = parent.index;
hightLightSide = side.index;
openSide = side;
this.sideRoute = [JSON.parse(JSON.stringify(parent))];
}
await this.$nextTick();
this.$refs.sideMenu.open(openIndex);
// 打开查找到的菜单 禁用则不打开
openSide?.disabled ? null : (hightLightSide ? (this.searchIndex = hightLightSide) : null) && this.handleItem(openSide);
} else { } else {
this.sideRoute = this.defaultRoute; this.sideRoute = JSON.parse(JSON.stringify(this.defaultRoute));
this.searchIndex = ''; this.searchText = "";
}
}
},
getRouteIdx(pathTitle, pathName) {
let idx = '', sideArr = this.sideRoute == this.defaultRoute ? this.sideRoute : this.defaultRoute;
for (let i = 0; i < sideArr.length; i++) {
if (sideArr[i].title == pathTitle || sideArr[i].pathName == pathName) {
idx = i.toString();
break;
} else if (sideArr[i].children) {
for (let j = 0; j < sideArr[i].children.length; j++) {
if (sideArr[i].children[j].title == pathTitle || sideArr[i].children[j].pathName == pathName) {
idx = i + '-' + j;
break;
}
} }
} }
} catch (err) {
console.log(err);
} }
return idx;
}, },
isCustomerId(name) { isCustomerId(name) {
if (this.customer.indexOf(name) != -1) { if (this.customer.indexOf(name) != -1) {
...@@ -443,6 +512,70 @@ export default { ...@@ -443,6 +512,70 @@ export default {
border-radius: 50%; border-radius: 50%;
} }
} }
::v-deep .top-level-menu {
// 重置展开图标位置
.el-submenu__icon-arrow {
position: static;
margin-top: 0px;
}
// 顶级菜单标题
& > .el-submenu__title {
font-weight: bold;
color: #232323;
font-size: 14px;
height: 40px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 9px 8px !important;
box-sizing: border-box;
}
// 二级菜单
& > .el-menu {
.second-level-menu-no-children,
.second-level-menu-has-children .el-submenu__title {
font-size: 14px;
height: 38px;
color: #232323;
font-weight: 400;
display: flex;
align-items: center;
justify-content: space-between;
padding: 9px 8px 9px 32px !important;
box-sizing: border-box;
&::before {
display: none;
}
}
.second-level-menu-has-children {
// 三级菜单
& > .el-menu {
& > .el-menu-item {
font-size: 12px;
height: 32px;
color: rgba(35, 35, 35, 0.8);
font-weight: 400;
display: flex;
align-items: center;
padding: 9px 8px 9px 32px !important;
box-sizing: border-box;
& > span {
margin-left: 8px;
}
&::before {
position: static;
}
}
}
}
}
}
} }
} }
} }
......
...@@ -115,9 +115,9 @@ import Preference from "./preference"; //招标偏好 ...@@ -115,9 +115,9 @@ import Preference from "./preference"; //招标偏好
import Cooperate from "./cooperate"; //合作情况 import Cooperate from "./cooperate"; //合作情况
import DecisionMaking from "./decisionMaking"; //决策链条 import DecisionMaking from "./decisionMaking"; //决策链条
import Gjjl from "../../project/projectList/component/gjjl"; //跟进记录 import Gjjl from "../../project/projectList/component/gjjl"; //跟进记录
import { // import {
urbanInvestmentPage, // urbanInvestmentPage,
} from '@/api/detail/party-a/urbanLnvestment'; // } from '@/api/detail/party-a/urbanLnvestment';
export default { export default {
name: 'PartyA', name: 'PartyA',
components: { components: {
...@@ -290,14 +290,14 @@ export default { ...@@ -290,14 +290,14 @@ export default {
provinceIds: [this.companyInfo.provinceId], provinceIds: [this.companyInfo.provinceId],
cityIds: [this.companyInfo.cityId], cityIds: [this.companyInfo.cityId],
}; };
const result = await urbanInvestmentPage(data); // const result = await urbanInvestmentPage(data);
if (result.code == 200) { // if (result.code == 200) {
if (result.data.totalCount < 1) { // if (result.data.totalCount < 1) {
let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute)); // let arr = JSON.parse(JSON.stringify(this.$refs.sidebar.sideRoute));
arr[4].children[2].disabled = true; // arr[4].children[2].disabled = true;
this.$refs.sidebar.sideRoute = arr; // this.$refs.sidebar.sideRoute = arr;
} // }
} // }
if (this.companyInfo && this.companyInfo.companyName) { if (this.companyInfo && this.companyInfo.companyName) {
this.$nextTick(() => { this.$nextTick(() => {
document.getElementById('tagTitle').innerText = this.companyInfo.companyName; document.getElementById('tagTitle').innerText = this.companyInfo.companyName;
......
...@@ -13,10 +13,68 @@ ...@@ -13,10 +13,68 @@
<tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal" <tables v-if="!isSkeleton" :indexFixed="true" :tableData="tableData" :forData="forData" :tableDataTotal="tableDataTotal"
:queryParams="queryParams" @handle-current-change="handleCurrentChange"> :queryParams="queryParams" @handle-current-change="handleCurrentChange">
<!-- 冻结起止日期 -->
<template slot="freezeStartDate" slot-scope="scope">
<span v-if="scope.row.freezeStartDate || scope.row.freezeEndDate">
{{`${scope.row.freezeStartDate ? scope.row.freezeStartDate : "-"}至${scope.row.freezeEndDate ? scope.row.freezeEndDate : "-"}`}}
</span>
<span v-else>-</span>
</template>
<!-- 操作 -->
<template slot="operation-table" slot-scope="scope"> <template slot="operation-table" slot-scope="scope">
<span style="color: #0081FF;cursor: pointer;" @click="viewDetail(scope.row)">操作</span> <span style="color: #0081FF;cursor: pointer;" @click="viewDetail(scope.row)">操作</span>
</template> </template>
</tables> </tables>
<!-- 股权冻结详情 -->
<el-dialog title="股权冻结详情" :visible.sync="equityFreezingDetailDialog" width="720px" @close="dialogClose" class="equity-freezing-dialog-container"
custom-class="equity-freezing-dialog">
<div class="equity-freezing-dialog-inner">
<table>
<tr>
<td class="table-key">执行通知书文号</td>
<td colspan="3">{{detailTemp.number ? detailTemp.number : "-"}}</td>
</tr>
<tr>
<td class="table-key">执行裁定书文号</td>
<td>{{detailTemp.adjudicateNo ? detailTemp.adjudicateNo : "-"}}</td>
<td class="table-key">执行事项</td>
<td>{{detailTemp.assistItem ? detailTemp.assistItem : "-"}}</td>
</tr>
<tr>
<td class="table-key">被执行人</td>
<td>{{detailTemp.beExecutedPerson ? detailTemp.beExecutedPerson : "-"}}</td>
<td class="table-key">被执行人证件种类</td>
<td>{{detailTemp.assistIdentType ? detailTemp.assistIdentType : "-"}}</td>
</tr>
<tr>
<td class="table-key">被执行人证照号</td>
<td>{{detailTemp.assistIdentNo ? detailTemp.assistIdentNo : "-"}}</td>
<td class="table-key">冻结状态</td>
<td>{{detailTemp.status ? detailTemp.status : "-"}}</td>
</tr>
<tr>
<td class="table-key">被执行人持有股权、其他收益的数额</td>
<td>{{detailTemp.freezeAmount ? detailTemp.freezeAmount : "-"}}</td>
<td class="table-key">执行法院</td>
<td>{{detailTemp.executiveCourt ? detailTemp.executiveCourt : "-"}}</td>
</tr>
<tr>
<td class="table-key">冻结日期自</td>
<td>{{detailTemp.freezeStartDate ? detailTemp.freezeStartDate : "-"}}</td>
<td class="table-key">冻结日期至</td>
<td>{{detailTemp.freezeEndDate ? detailTemp.freezeEndDate : "-"}}</td>
</tr>
<tr>
<td class="table-key">冻结期限</td>
<td>{{detailTemp.freezeYearMonth ? detailTemp.freezeYearMonth : "-"}}</td>
<td class="table-key">公示日期</td>
<td>{{detailTemp.publicDate ? detailTemp.publicDate : "-"}}</td>
</tr>
</table>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
...@@ -39,12 +97,12 @@ export default { ...@@ -39,12 +97,12 @@ export default {
type: "0" type: "0"
}, },
forData: [ forData: [
{ label: '执行通知书文号', prop: 'name', width: '164' }, { label: '执行通知书文号', prop: 'number', width: '164' },
{ label: '被执行人', prop: 'companyName', minWidth: '146' }, { label: '被执行人', prop: 'beExecutedPerson', minWidth: '146' },
{ label: '股权数额', prop: 'executionApplicant', width: '113' }, { label: '股权数额', prop: 'amount', width: '113' },
{ label: '执行法院', prop: 'court', minWidth: '146' }, { label: '执行法院', prop: 'executiveCourt', minWidth: '146' },
{ label: '状态', prop: 'releaseDate', width: '50' }, { label: '状态', prop: 'status', width: '50' },
{ label: '冻结起止日期', prop: 'source', width: '171' }, { label: '冻结起止日期', prop: 'freezeStartDate', width: '171', slot: true },
{ label: '公式时间', prop: 'source', width: '93' }, { label: '公式时间', prop: 'source', width: '93' },
{ label: '操作', prop: 'operation-table', width: '50', slot: true }, { label: '操作', prop: 'operation-table', width: '50', slot: true },
], ],
...@@ -56,8 +114,12 @@ export default { ...@@ -56,8 +114,12 @@ export default {
tableData: [], tableData: [],
tableDataTotal: 0, tableDataTotal: 0,
showList: [], showList: [],
isSkeleton: true, isSkeleton: false,
resetStatus: false resetStatus: false,
// 股权冻结详情
equityFreezingDetailDialog: false,
// 详情缓存
detailTemp: {}
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -84,7 +146,7 @@ export default { ...@@ -84,7 +146,7 @@ export default {
}, },
async handleQuery(params) { async handleQuery(params) {
try { try {
let data = params ? params : this.queryParams; let data = params ? { ...params, type: parseInt(params.type) } : { ...this.queryParams, type: parseInt(this.queryParams.type) };
this.isSkeleton = true; this.isSkeleton = true;
const res = await getEquityFreezingApi(data); const res = await getEquityFreezingApi(data);
this.tableData = res.rows ? res.rows : []; this.tableData = res.rows ? res.rows : [];
...@@ -102,7 +164,11 @@ export default { ...@@ -102,7 +164,11 @@ export default {
}, },
// 查看详情 // 查看详情
viewDetail(row) { viewDetail(row) {
this.detailTemp = row;
this.equityFreezingDetailDialog = true;
},
dialogClose() {
this.detailTemp = {};
} }
}, },
} }
...@@ -159,5 +225,73 @@ export default { ...@@ -159,5 +225,73 @@ export default {
} }
} }
@import "@/assets/styles/search-common.scss"; @import "@/assets/styles/search-common.scss";
::v-deep .equity-freezing-dialog-container {
.equity-freezing-dialog {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 4px;
margin: 0px !important;
.el-dialog__header {
padding: 20px;
height: 56px;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
border-bottom: 1px solid #eeeeee;
.el-dialog__title {
color: #232323;
font-weight: bold;
line-height: 16px;
}
.el-dialog__headerbtn {
position: static;
width: 16px;
height: 16px;
}
}
.el-dialog__body {
padding: 24px 20px;
box-sizing: border-box;
.equity-freezing-dialog-inner {
width: 100%;
height: 100%;
& > table {
width: 100%;
border-spacing: 0;
border-collapse: collapse;
&,
th,
td {
border: 1px solid #e6eaf1;
box-sizing: border-box;
}
td {
padding: 9px 12px;
line-height: 22px;
color: #232323;
font-size: 12px;
}
.table-key {
width: 140px;
background: #f0f3fa;
color: rgba(35, 35, 35, 0.8);
}
}
}
}
}
}
} }
</style> </style>
...@@ -126,6 +126,7 @@ ...@@ -126,6 +126,7 @@
} }
rulesDetail({}).then(res => { rulesDetail({}).then(res => {
console.log(res) console.log(res)
if(res.data){
let dimension=res.data.dimension.split(','); let dimension=res.data.dimension.split(',');
this.queryParams={ this.queryParams={
pushFrequency:res.data.pushFrequency.toString(), pushFrequency:res.data.pushFrequency.toString(),
...@@ -141,6 +142,7 @@ ...@@ -141,6 +142,7 @@
this.sffx.push(dimension[item]) this.sffx.push(dimension[item])
} }
} }
}
}) })
}) })
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<el-tab-pane label="历史批量查询结果" name="third"></el-tab-pane> <el-tab-pane label="历史批量查询结果" name="third"></el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<SearchAptitude v-if="activeName === 'first'"></SearchAptitude> <SearchAptitude @changeActiveName="activeName = 'third'" v-if="activeName === 'first'"></SearchAptitude>
<AptitudeStandard v-if="activeName === 'second'"></AptitudeStandard> <AptitudeStandard v-if="activeName === 'second'"></AptitudeStandard>
<SearchResult v-if="activeName === 'third'"></SearchResult> <SearchResult v-if="activeName === 'third'"></SearchResult>
......
<template> <template>
<div> <div>
<div class="apt_stan_header"> <div class="apt_stan_header">
<span v-for="(item,index) in list" class="apt_stan_header_span" :class="activeIndex==index?'active_span':''" :key="index" @click="activeIndex=index">{{item}}</span> <span v-for="(item,index) in list" class="apt_stan_header_span" :class="activeIndex==index?'active_span':''" :key="index" @click="changeActiveIndex(index)">{{item.name}}</span>
</div> </div>
<div class="apt_stan_content"> <div class="apt_stan_content">
<div class="apt_stan_content_header"> <div class="apt_stan_content_header">
<el-select v-model="value" placeholder="请选择"> <el-select v-model="value" value-key="id" @change="selectChange" placeholder="请选择">
<el-option
v-for="item in list[activeIndex].list"
:key="item.id"
:label="item.name"
:value="item">
</el-option>
</el-select>
<el-select v-model="value1" @change="selectChange1" v-if="options.length>0" placeholder="请选择">
<el-option <el-option
v-for="item in options" v-for="item in options"
:key="item.value" :key="item.name"
:label="item.label" :label="item.name"
:value="item.value"> :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div style="padding:16px;"> <div style="padding:16px;">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" <el-table :data="info.list" :span-method="objectSpanMethod" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row> class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="资质名称" fixed > <el-table-column label="资质名称" fixed >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.province}} {{scope.row.name}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="等级" width="274"> <el-table-column label="等级" width="274">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.biddingCount||"--"}} {{scope.row.level||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="经营范围" > <el-table-column label="经营范围" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.landInfoCount||"--"}} {{scope.row.contractScope||"--"}}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="apt_stan_content_text_box">·建筑工程是指各类结构形式的民用建筑工程、工业建筑工程、构筑物工程以及相配套的道路、通信、管网管线等设施工程。工程内容包括地基与基础、主体结构、建筑屋面、装修装饰、建筑幕墙、附建人防工程以及给水排水及供暖、通风与空调、电气、消防、智能化、防雷等配套工程;</div> <div class="apt_stan_content_text_box" v-html="info.remark||'--'"></div>
</div> </div>
</div> </div>
...@@ -44,33 +52,75 @@ ...@@ -44,33 +52,75 @@
</template> </template>
<script> <script>
import list from "@/assets/json/certs.json"
import {standard} from '@/api/supplier/assistant.js';
export default { export default {
data(){ data(){
return{ return{
tableData:[], list,
activeIndex:0, activeIndex:0,
list:['建筑业企业资质','工程监理','工程设计','工程勘察','工程造价咨询'], options: [],
options: [ value: '',
{ value1: '',
value: '选项1', info:"",
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
} }
], },
value: '' methods:{
flitterData(arr) {
let spanOneArr = [];
let concatOne = 0;
arr.forEach((item, index) => {
if (index === 0) {
spanOneArr.push(1);
} else {
if (item.name === arr[index - 1].name) {
spanOneArr[concatOne] += 1;
spanOneArr.push(0);
} else {
spanOneArr.push(1);
concatOne = index;
}
}
});
return {
one: spanOneArr,
};
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.flitterData(this.info.list).one[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
} }
}, },
selectChange(){
if(this.value.list&&this.value.list.length>0){
this.options = this.value.list;
this.value1 = ""
}else{
this.options = []
standard({id:this.value.id}).then(res=>{
this.info = res.data
})
}
},
selectChange1(){
standard({id:this.value1}).then(res=>{
this.info = res.data
})
},
changeActiveIndex(index){
this.activeIndex=index;
this.value = '';
this.options = []
},
}
} }
</script> </script>
......
<template> <template>
<el-dialog title="批量查资质" custom-class="batch_import_dialog" :visible.sync="visible"> <el-dialog title="批量查资质" custom-class="batch_import_dialog" :visible.sync="visible">
<div class="upload" v-if="addfile==false"> <div class="upload" >
<div class="up_title">导入Excel文件,高效查询或导出企业信息;查询成功后可使用筛选项二次筛选</div> <div class="up_title">导入Excel文件,高效查询或导出企业信息;查询成功后可使用筛选项二次筛选</div>
<div> <div>
<div class="step_box" v-for="(item,index) in list" :key="index"> <div class="step_box" v-for="(item,index) in list" :key="index">
...@@ -34,28 +34,14 @@ ...@@ -34,28 +34,14 @@
<div class="btn btn_default fr" @click="importCancel">取消</div> <div class="btn btn_default fr" @click="importCancel">取消</div>
</div> </div>
</div> </div>
<div class="success" v-if="addfile==true">
<div v-if="addsuccess==false">
<img class="img" src="@/assets/images/project/clock.png">
<div class="p1">查询客户中...</div>
<div class="p2">请耐心等待,过程大概30秒</div>
</div>
<div v-if="addsuccess == true">
<div class="p3">
<img src="@/assets/images/project/success.png">查询成功
</div>
<div class="p2">{{messages}}</div>
<div class="btns">
<div class="btn btn_primary h32" @click="getmsg">查看</div>
</div>
</div>
</div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import "@/assets/styles/project.scss" import "@/assets/styles/project.scss"
import {importTemplate} from '@/api/supplier/assistant.js';
import {importData} from '@/api/custom/custom' import {importData} from '@/api/custom/custom'
export default { export default {
name: 'batchImport', name: 'batchImport',
...@@ -67,7 +53,6 @@ ...@@ -67,7 +53,6 @@
list:['下载模版','按要求在模板内填写企业全称名录','上传文件','查询结果'], list:['下载模版','按要求在模板内填写企业全称名录','上传文件','查询结果'],
visible:false, visible:false,
isUpload:false,//有上传的文件 isUpload:false,//有上传的文件
addfile:false,//已上传文件
addsuccess:false,//已成功加入数据 addsuccess:false,//已成功加入数据
//批量导入 //批量导入
action:"", action:"",
...@@ -76,19 +61,11 @@ ...@@ -76,19 +61,11 @@
Authorization: "Bearer " + getToken(), Authorization: "Bearer " + getToken(),
}, },
downloadhref:'',//样例地址 downloadhref:'',//样例地址
successCount:0,//成功条数
messages:'',
} }
}, },
created(){ created(){
if(this.importtype == 'project'){//项目管理 this.downloadhref = importTemplate
this.downloadhref = '/file/projectTemplate.xlsx' this.action = process.env.VUE_APP_BASE_API + '/export/aptitude/file'
this.action = process.env.VUE_APP_BASE_API + '/business/info/upload'
}
if(this.importtype == 'custom'){//客户管理
this.downloadhref = '/file/Template.xlsx'
this.action = process.env.VUE_APP_BASE_API + "/customer/importData"
}
}, },
methods:{ methods:{
getmsg(){ getmsg(){
...@@ -122,17 +99,10 @@ ...@@ -122,17 +99,10 @@
}, },
onSuccess(res, file, fileList) { onSuccess(res, file, fileList) {
if (res.code == 200) { if (res.code == 200) {
this.successCount = res.successCount this.addsuccess = true;
this.$emit("loadingFn",true);
if(this.importtype == 'project'){//项目管理 this.$refs["upload"].clearFiles();
this.messages = res.msg this.isUpload = false;
}
if(this.importtype == 'custom'){//客户管理
let num = res.data?res.data.length:0
let str = '成功导入客户条数'+res.successCount+',客户去重条数'+ num
this.messages = str
}
this.addsuccess = true
}else { }else {
this.importCancel() this.importCancel()
this.$message.error({ message: res.msg, showClose: true }) this.$message.error({ message: res.msg, showClose: true })
...@@ -140,24 +110,25 @@ ...@@ -140,24 +110,25 @@
}, },
downloadClick() { downloadClick() {
let a = document.createElement("a"); importTemplate().then(res=>{
a.setAttribute("href", this.downloadhref); const link = document.createElement('a')
a.setAttribute("download", "批量导入模版.xlsx"); const blob = new Blob([res])
document.body.appendChild(a); link.href = window.URL.createObjectURL(blob)
a.click(); link.download = '批量导入模版.xlsx'
a.remove(); link.click()
})
}, },
// 批量导入 // 批量导入
importConfirmClick() { importConfirmClick() {
if (this.fileList.length > 0) { if (this.fileList.length > 0) {
this.$refs["upload"].submit(); this.$refs["upload"].submit();
this.addfile = true this.visible = false
this.$emit("loadingFn")
} else { } else {
this.$message("请先选择文件"); this.$message("请先选择文件");
} }
}, },
importCancel(){ importCancel(){
this.addfile = false
this.isUpload = false this.isUpload = false
this.addsuccess = false this.addsuccess = false
this.fileList = [] this.fileList = []
......
<template> <template>
<div> <div v-loading="loading">
<div class="content"> <div class="content">
<div class="content_item content_item_padding0"> <div class="content_item content_item_padding0">
<div class="label">企业名称</div> <div class="label">企业名称</div>
<div class="content_right item_ckquery_list"> <div class="content_right item_ckquery_list">
<el-input class="ename_input" clearable placeholder="多个企业用空格隔开" v-model="ename" @input="projectNamebtn('ename',ename,'关键字:')"> <el-input class="ename_input" clearable placeholder="多个企业用空格隔开" v-model="keyword" >
<div slot="append" class="btn-search" @click="search()">搜索</div> <div slot="append" class="btn-search" @click="search(1)">搜索</div>
</el-input> </el-input>
</div> </div>
</div> </div>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="content_item" style="margin-left:68px;"> <div class="content_item" v-if="aptitudeDtoList.length>1" style="margin-left:68px;">
<span v-for=" (kitme,k) in queryTypelist" :key="k"> <span v-for=" (kitme,k) in queryTypelist" :key="k">
<el-radio v-model="queryType" :label="kitme.key"> <el-radio v-model="queryType" :label="kitme.key">
{{kitme.value}} {{kitme.value}}
...@@ -43,12 +43,9 @@ ...@@ -43,12 +43,9 @@
</div> </div>
<div class="content_item content_item1"> <div class="content_item content_item1">
<div class="search-new"> <el-button type="primary" size="small" @click="search(1)">查询</el-button>
<span @click="search()">查询</span> <el-button size="small" @click="reset()">重置</el-button>
<span style="color:#5B5B5B" @click="reset()">重置</span> <el-button size="small" @click="$refs.batchImport.visible = true">批量查询</el-button>
<span @click="$refs.batchImport.visible = true">批量查询</span>
</div>
</div> </div>
</div> </div>
<div class="bottomlist"> <div class="bottomlist">
...@@ -58,12 +55,12 @@ ...@@ -58,12 +55,12 @@
<span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}} <span style="margin-right:4;color:rgba(35, 35, 35, 0.40);font-size: 18px;position: relative;top:2px;">·</span>共有{{total}}
</p> </p>
</div> </div>
<div class="title-right"> <!-- <div class="title-right">
<p> <p>
<img src="@/assets/images/EXCEL.png" alt=""> <img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="clickDialog">导出EXCEL</span> <span class="excel" @click="clickDialog">导出EXCEL</span>
</p> </p>
</div> </div> -->
</div> </div>
<div class="bd"></div> <div class="bd"></div>
<div class="table-item-jf table-item-jf1" v-if="tableData.length==0&& !isSkeleton"> <div class="table-item-jf table-item-jf1" v-if="tableData.length==0&& !isSkeleton">
...@@ -76,49 +73,49 @@ ...@@ -76,49 +73,49 @@
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton> <skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<div class=" table-item-jf table-item " > <div class=" table-item-jf table-item " >
<div class="title_box"> <div class="title_box">
<img src="@/assets/images/enterprise.png" > <img :src="item.logoUrl?item.logoUrl:require('@/assets/images/enterprise.png')" >
<span class="name_box">{{ item.name }}</span> <span class="name_box" v-html="item.ename"></span>
<span class="float_r">符合条件资质({{ item.total }}<span v-if="item.total>5" class="show_more" @click="showClick(item)">查看所有 ></span></span></span> <span class="float_r">符合条件资质({{ item.size }}<span v-if="item.size>5" class="show_more" @click="showClick(item)">查看所有 ></span></span>
</div> </div>
<el-table :data="item.list" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" <el-table :data="item.aptitudeListude" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row> class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="证书编号" width="119"> <el-table-column label="证书编号" fixed width="119">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.supplierCount||"--"}} {{scope.row.serial||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="资质名称" width="273"> <el-table-column label="资质名称" fixed width="273">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.biddingCount||"--"}} {{scope.row.name||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="承包工程范围" width="415"> <el-table-column label="承包工程范围" width="415">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.landInfoCount||"--"}} {{scope.row.contractScope||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发证日期" width="119"> <el-table-column label="发证日期" width="119">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bratingSubjectLevel||"--"}} {{scope.row.issuTime||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="有效期至" width="119"> <el-table-column label="有效期至" width="119">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bondBalance||"--"}} {{scope.row.validate||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发证机关" width="204"> <el-table-column label="发证机关" width="204">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bondBalance1||"--"}} {{scope.row.organ||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="经营范围" width="415"> <el-table-column label="经营范围" width="415">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="line_2"> {{scope.row.bondBalance2||"--"}}</span> <span class="line_2"> {{scope.row.businessScope||"--"}}</span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -136,70 +133,91 @@ ...@@ -136,70 +133,91 @@
<div class=" table-item-jf table-item " > <div class=" table-item-jf table-item " >
<div class="title_box"> <div class="title_box">
<img src="@/assets/images/enterprise.png" > <img src="@/assets/images/enterprise.png" >
<span class="name_box">{{ dialogData.name }}</span> <span class="name_box" v-html="ename"></span>
<span class="float_r">共有 <span style="color: #0081FF;">{{ dialogData.total }}</span> 个资质</span> <span class="float_r">共有 <span style="color: #0081FF;">{{ dialogData.total }}</span> 个资质</span>
</div> </div>
<el-table :data="dialogData.list" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" class="table-item1 fixed-table" border highlight-current-row> <el-table :data="dialogData.list" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" class="table-item1 fixed-table" border highlight-current-row>
<el-table-column label="证书编号" width="119"> <el-table-column label="证书编号" fixed width="119">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.supplierCount||"--"}} {{scope.row.serial||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="资质名称" width="273">
<el-table-column label="资质名称" fixed width="273">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.biddingCount||"--"}} {{scope.row.name||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="承包工程范围" width="415"> <el-table-column label="承包工程范围" width="415">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.landInfoCount||"--"}} {{scope.row.contractScope||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发证日期" width="119"> <el-table-column label="发证日期" width="119">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bratingSubjectLevel||"--"}} {{scope.row.issuTime||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="有效期至" width="119"> <el-table-column label="有效期至" width="119">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bondBalance||"--"}} {{scope.row.validate||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发证机关" width="204"> <el-table-column label="发证机关" width="204">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bondBalance1||"--"}} {{scope.row.organ||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="经营范围" width="415"> <el-table-column label="经营范围" width="415">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="line_2"> {{scope.row.bondBalance2||"--"}}</span> <span class="line_2"> {{scope.row.businessScope||"--"}}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="pagination clearfix" v-show="dialogData.total>5"> <div class="pagination clearfix" v-show="dialogData.total>5">
<el-pagination background :current-page="pageNum1" :page-size="pageSize" @current-change="handleCurrentChange1" layout="prev, pager, next" <el-pagination background :current-page="pageNum1" :page-size="pageSize1" @current-change="handleCurrentChange1" layout="prev, pager, next"
:total="total"> :total="dialogData.total">
</el-pagination> </el-pagination>
</div> </div>
</el-dialog> </el-dialog>
<BatchImport ref="batchImport"></BatchImport> <BatchImport ref="batchImport" @loadingFn="loadingFn"></BatchImport>
<ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog> <ExportDialog :data="exportData" v-if="exportData.dialogExportVisible" @clickEXCEL="clickEXCEL"></ExportDialog>
<el-dialog
:visible.sync="successDialog"
:show-close="false"
custom-class="search_aptittude_success_dialog"
width="384px">
<div><img src="@/assets/images/success.png" alt=""><b>查询成功</b></div>
<div class="text">返回列表可查看批量查询结果</div>
<span slot="footer" class="dialog-footer">
<el-button @click="reUpload">重新上传</el-button>
<el-button type="primary" @click="toResult">查看结果</el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import "@/assets/styles/public.scss"; import "@/assets/styles/public.scss";
import api from '@/api/enterpriseData/enterpriseData.js'; import api from '@/api/enterpriseData/enterpriseData.js';
import {zjyjAptitude,enterpriseAptitude} from '@/api/supplier/assistant.js';
import skeleton from '@/views/project/projectList/component/skeleton'; import skeleton from '@/views/project/projectList/component/skeleton';
import ExportDialog from "@/views/component/export-dialog" import ExportDialog from "@/views/component/export-dialog"
import BatchImport from "./BatchImport" import BatchImport from "./BatchImport"
import aptitudeCode from '@/assets/json/aptitudeCode.json';
export default { export default {
components: { skeleton,ExportDialog,BatchImport }, components: { skeleton,ExportDialog,BatchImport },
data(){ data(){
return{ return{
params:{},
successDialog:false,
loading:false,
batchImport:false, batchImport:false,
ename: '', ename: '',
aptitudeDtoList: [ aptitudeDtoList: [
...@@ -221,45 +239,15 @@ export default { ...@@ -221,45 +239,15 @@ export default {
value: '同时具备' value: '同时具备'
}, },
], ],
queryType: 'and', queryType: 'or',
optionss: [], optionss: [],
dialogData:{}, dialogData:{},
tableData: [ tableData: [],
{
name:'中交第二航务工程局有限公司',
list:[
{
biddingCount:'工程勘察岩土工程专业(岩土工程勘察)甲级',
landInfoCount:'可承担一级以下公路,单座桥长 1000 米以下、单跨跨度 150 米以下的桥梁,长度 1000 米以下的隧道工程的施工。',
supplierCount:'B233000514',
bratingSubjectLevel:'2021-12-27',
bondBalance:'2021-12-27',
bondBalance1:'浙江省住房和城乡建设厅',
bondBalance2:'经营范围包含许可项目:建设工程设计;建设工程勘察;建设工程监理;建设工程施工;测绘服务;国土空间规划编制;水利工程建设监理(依法...',
}
],
total:10
},
{
name:'中交第二航务工程局有限公司',
list:[
{
biddingCount:'工程勘察岩土工程专业(岩土工程勘察)甲级',
landInfoCount:'可承担一级以下公路,单座桥长 1000 米以下、单跨跨度 150 米以下的桥梁,长度 1000 米以下的隧道工程的施工。',
supplierCount:'B233000514',
bratingSubjectLevel:'2021-12-27',
bondBalance:'2021-12-27',
bondBalance1:'浙江省住房和城乡建设厅',
bondBalance2:'经营范围包含许可项目:建设工程设计;建设工程勘察;建设工程监理;建设工程施工;测绘服务;国土空间规划编制;水利工程建设监理(依法...',
}
],
total:10
},
],
total: 0, total: 0,
pageNum: 1, pageNum: 1,
pageNum1: 1, pageNum1: 1,
pageSize: 5, pageSize: 5,
pageSize1: 5,
dataEXCEL:{}, dataEXCEL:{},
isSkeleton: false, isSkeleton: false,
exportData:{ exportData:{
...@@ -287,6 +275,8 @@ export default { ...@@ -287,6 +275,8 @@ export default {
exportEXCEL:{} exportEXCEL:{}
}, },
showMore:false, showMore:false,
keyword:"",
params1:{},
} }
}, },
created(){ created(){
...@@ -301,25 +291,92 @@ export default { ...@@ -301,25 +291,92 @@ export default {
}).catch(error => { }).catch(error => {
this.optionss = aptitudeCode; this.optionss = aptitudeCode;
}); });
this.search(1)
}, },
methods:{ methods:{
projectNamebtn(){}, reUpload(){
search(){}, this.$refs.batchImport.visible = true;
this.successDialog = false
},
toResult(){
this.successDialog = false;
this.$emit("changeActiveName")
},
loadingFn(flag){
this.loading = !this.loading
if(flag){
this.successDialog = true
}
},
search(pageNum){
if(pageNum){
this.pageNum = pageNum
}
var aptitudeDtoList = [];
var dataList = {
codeStr: [],
};
for (let i = 0; i < this.aptitudeDtoList.length; i++) {
if (this.aptitudeDtoList[i].codeStr && this.aptitudeDtoList[i].codeStr.length > 0) {
dataList.codeStr.push(this.aptitudeDtoList[i].codeStr[this.aptitudeDtoList[i].codeStr.length -
1]);
}
dataList.queryType = this.queryType;
}
dataList.codeStr = dataList.codeStr.join(',');
aptitudeDtoList.push(dataList);
let params = {
"page": {
"page": this.pageNum,
"limit": this.pageSize
}
}
if(aptitudeDtoList.length>0){
params.aptitudeQueryDto = {aptitudeDtoList:aptitudeDtoList}
}
this.params = params
params.keyword = this.keyword
zjyjAptitude(params).then(res=>{
if(res.code==200){
this.tableData = res.data.list
this.total = res.data.total
}
})
},
showClick(item){ showClick(item){
this.pageNum1 = 1
this.showMore = true; this.showMore = true;
this.dialogData = item let params = {aptitudeQueryDto:this.params.aptitudeQueryDto};
params.page={
"page": this.pageNum1,
"limit": this.pageSize1
}
this.ename = item.ename;
params.eid=item.jskEid;
this.params1 = params
enterpriseAptitude(params).then(res=>{
if(res.code==200){
this.dialogData = res.data
}
})
}, },
handleCurrentChange(pageNum) { handleCurrentChange(pageNum) {
this.pageNum = pageNum; this.pageNum = pageNum;
this.search(pageNum, this.pageSize); this.search();
}, },
handleCurrentChange1(pageNum) { handleCurrentChange1(pageNum) {
this.pageNum1 = pageNum; this.pageNum1 = pageNum;
this.search(pageNum, this.pageSize); this.params1.page.page = pageNum
enterpriseAptitude(this.params1).then(res=>{
if(res.code==200){
this.dialogData = res.data
}
})
}, },
handleSizeChange(pageSize) { handleSizeChange(pageSize) {
this.pageSize = pageSize; this.pageSize = pageSize;
this.search(this.pageNum, pageSize); this.search(1);
}, },
reloadPage() { reloadPage() {
this.pageFlag = false; this.pageFlag = false;
...@@ -328,10 +385,6 @@ export default { ...@@ -328,10 +385,6 @@ export default {
}); });
}, },
optionsbtn(i) { optionsbtn(i) {
if (this.aptitudeDtoList.length > 1 && this.aptitudeDtoList[i].codeStr.length < 1) {
this.aptitudeDtoList.splice(i, 1);
i--;
}
this.$refs[i] && this.$refs[i][0].toggleDropDownVisible(false); this.$refs[i] && this.$refs[i][0].toggleDropDownVisible(false);
var _this = this; var _this = this;
//延迟500毫秒执行 //延迟500毫秒执行
...@@ -339,6 +392,7 @@ export default { ...@@ -339,6 +392,7 @@ export default {
setTimeout(function () { setTimeout(function () {
_this.aptitudeDtoList[i].nameStr = _this.$refs[i][0].$refs.input.$options.propsData.value; _this.aptitudeDtoList[i].nameStr = _this.$refs[i][0].$refs.input.$options.propsData.value;
}, 100); }, 100);
console.log(_this.aptitudeDtoList)
} }
}, },
addAptitudeDtoList(){ addAptitudeDtoList(){
...@@ -351,10 +405,14 @@ export default { ...@@ -351,10 +405,14 @@ export default {
if (n > 0) { if (n > 0) {
this.$message.warning("请选择资质条件后,增加资质!"); this.$message.warning("请选择资质条件后,增加资质!");
} else { } else {
if(this.aptitudeDtoList.length<6){
this.aptitudeDtoList.push({ this.aptitudeDtoList.push({
nameStr: '', nameStr: '',
codeStr: [], codeStr: [],
}); });
}else{
this.$message.warning("最多可添加6组资质条!");
}
} }
}, },
reset(){ reset(){
...@@ -370,6 +428,7 @@ export default { ...@@ -370,6 +428,7 @@ export default {
}).catch(error => { }).catch(error => {
this.optionss = aptitudeCode; this.optionss = aptitudeCode;
}); });
this.search(1)
}, },
clickDialog(){ clickDialog(){
this.exportData.dialogExportVisible=true; this.exportData.dialogExportVisible=true;
...@@ -405,6 +464,36 @@ export default { ...@@ -405,6 +464,36 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .search_aptittude_success_dialog{
border-radius: 4px;
.el-dialog__header{
display: none;
}
.el-dialog__body{
padding: 20px;
}
.el-dialog__footer{
padding-top: 4px;
}
img{
width: 24px;
height: 24px;
margin-right: 12px;
}
b{
color: #232323;
font-size: 16px;
}
.text{
margin-left: 36px;
}
.el-button{
border-radius: 2px;
}
.el-button--default{
color:#232323;
}
}
.content { .content {
padding: 0px 16px; padding: 0px 16px;
padding-top: 16px; padding-top: 16px;
...@@ -550,7 +639,7 @@ export default { ...@@ -550,7 +639,7 @@ export default {
} }
.content_item1{ .content_item1{
margin-top: 16px; margin-top: 16px;
padding-top: 16px; padding: 16px 0;
border-top: 1px solid #EEEEEE; border-top: 1px solid #EEEEEE;
padding-left: 64px; padding-left: 64px;
.search-new{ .search-new{
...@@ -707,9 +796,6 @@ export default { ...@@ -707,9 +796,6 @@ export default {
overflow-y: clip; overflow-y: clip;
} }
} }
.table-item-jf1 {
border-top: 1px solid #efefef;
}
.pagination { .pagination {
padding: 14px; padding: 14px;
.el-pagination { .el-pagination {
......
...@@ -9,41 +9,61 @@ ...@@ -9,41 +9,61 @@
</el-table-column> </el-table-column>
<el-table-column label="表格名称" > <el-table-column label="表格名称" >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.biddingCount||"--"}} {{scope.row.fileName||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="查询时间" width="189"> <el-table-column label="查询时间" width="189">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.landInfoCount||"--"}} {{scope.row.createTime||"--"}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="154"> <el-table-column label="操作" width="154">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.bondBalance||"--"}} <a class="download_span" :href="scope.row.url" v-if="scope.row.url">下载</a>
<span v-else >--</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination background :current-page="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next" <el-pagination background v-if="total>0" :current-page="pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total"> :total="total">
</el-pagination> </el-pagination>
</div> </div>
</template> </template>
<script> <script>
import {list} from '@/api/supplier/assistant.js';
export default { export default {
data(){ data(){
return{ return{
tableData:[], tableData:[],
total: 0, total: 0,
pageNum: 1, pageNum: 1,
pageSize:10,
} }
}, },
created(){
this.getList()
},
methods:{ methods:{
handleCurrentChange(pageNum) { handleCurrentChange(pageNum) {
this.pageNum = pageNum; this.pageNum = pageNum;
this.getList()
},
getList(){
let params = {
pageNum:this.pageNum,
pageSize:this.pageSize,
}
list(params).then(res=>{
if(res.code==200){
this.tableData = res.rows
this.total = res.total
}
})
}, },
} }
} }
...@@ -60,6 +80,10 @@ export default { ...@@ -60,6 +80,10 @@ export default {
margin-right: -5px; margin-right: -5px;
margin-top: 16px; margin-top: 16px;
} }
.download_span{
color: #0081FF;
cursor: pointer;
}
} }
</style> </style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment