const bridgePrompts = { '应力(应变)监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%BA%94%E5%8A%9B%EF%BC%88%E5%BA%94%E5%8F%98%EF%BC%89%E7%9B%91%E6%B5%8B.xlsx', sensors: ['应变计类型', '应变计数量'], getManifest: function ([type, sensorNum = 1]) { return [ { name: type, model: type === '表面式应变计' ? 'FS-BM30' : 'FS-NM30', count: sensorNum }, ...(type === '表面式应变计' ? [{ name: '表面应变计支架保护罩', model: 'FS-BMBOM-V0.0', count: sensorNum }] : []), { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '桥墩/桥塔位移监测(北斗)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%A1%A5%E5%A2%A9%E6%A1%A5%E5%A1%94%E4%BD%8D%E7%A7%BB%E7%9B%91%E6%B5%8B%EF%BC%88%E5%8C%97%E6%96%97%EF%BC%89.xlsx', sensors: ['测地型GNSS接收机数量'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '测地型GNSS接收机', model: 'A300', count: sensorNum }, { name: '通用GNSS立杆', model: 'FS-FT-GNSS-12', count: sensorNum }, { name: '地笼', model: 'FS-FT-DLGS', count: sensorNum }, { name: '三级防雷配电箱', model: 'FS-SJPDX-A', count: sensorNum }, { name: '抱杆支架', model: '300*55*20', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '断路器', model: 'DZ47-60', count: sensorNum }, { name: '12V直流电源防雷器', model: '12V', count: sensorNum }, { name: '接地电缆', model: 'BVR 1*16', count: sensorNum * 10 }, { name: '物联网卡', model: '2G', count: sensorNum }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: sensorNum * 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: sensorNum * 10 }, { name: '降阻剂', model: '25kg/袋', count: sensorNum * 5 }, ...(!isSolarEnergy ? [ { name: '电源电涌保护器', model: 'AM2-40', count: sensorNum }, { name: '开关电源1', model: '25-12-A', count: sensorNum }, { name: '导轨插座', model: '10A', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '挠度监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%8C%A0%E5%BA%A6%E7%9B%91%E6%B5%8B.xlsx', sensors: ['静力水准仪数量', '基点加转点数量', '连接水管长度'], getManifest: function ([staticForceLevelNum = 1, baseAndTurningPointNum, waterPipeNum]) { return [ { name: '静力水准仪', model: 'FS-JLSZ-20-V1.00', count: staticForceLevelNum }, { name: '储液罐(压差水箱)', model: 'FS-LTG-MD-V2.0', count: baseAndTurningPointNum }, { name: '连接水管', model: '聚醚型,12*8', count: waterPipeNum }, { name: '导气管', model: '6*4mm PU管', count: waterPipeNum * 2 }, { name: '安装支架+保护罩', model: 'FS-AM-JLSZ', count: staticForceLevelNum }, { name: '防冻液2', model: '9KG/桶', count: Math.ceil(0.012 * Number(waterPipeNum) + Number(baseAndTurningPointNum)) }, { name: '通信电缆', model: 'RYVP 4*035', count: waterPipeNum * 1.1 }, { name: '桥架', model: '喷塑型,100*50mm', count: waterPipeNum } ]; } }, '动挠度监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%8A%A8%E6%8C%A0%E5%BA%A6%E7%9B%91%E6%B5%8B.xlsx', sensors: ['桥长', '光电挠度仪数量', '红外标靶数量'], getManifest: function ([bridgeLength, PDINum, infraredTargetNum, transmitMethod]) { return [ { name: '光电挠度仪', model: 'FS-GDND-125-V1.0', count: PDINum }, { name: '红外标靶', model: 'FS-HWBB-6', count: infraredTargetNum }, { name: '光电挠度仪万向壁挂辅材', model: 'FS-AM-GDND-WX-V1.0', count: PDINum }, { name: '直流供电电缆', model: 'RVV 2*2.5', count: bridgeLength * 2 }, { name: '超5类网线', model: '', count: PDINum * 50 }, { name: '三级防雷配电箱', model: 'FS-SJPDX-A', count: PDINum }, { name: '断路器', model: 'DZ47-60', count: PDINum }, { name: '12V直流电源防雷器', model: '12V', count: PDINum }, { name: '电源电涌保护器', model: 'AM2-40', count: PDINum }, { name: '开关电源1', model: '25-12-A', count: PDINum }, { name: '导轨插座', model: '10A', count: PDINum }, ...(transmitMethod === '无线' ? [ { name: '无线路由器工业级', model: '', count: PDINum }, { name: '物联网卡', model: '2G', count: PDINum } ] : []) ]; } }, '裂缝监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A3%82%E7%BC%9D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['裂缝计数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '裂缝计', model: 'FS-LF10-Z', count: sensorNum }, { name: '裂缝计安装支架保护罩', model: 'FS-LFBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '伸缩缝监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E4%BC%B8%E7%BC%A9%E7%BC%9D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['直线位移传感器数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '直线位移传感器', model: 'FS-ZWY-500', count: sensorNum }, { name: '直线位移传感器安装支架保护罩', model: 'FS-ZXWYBOM-500', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '支座位移监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%94%AF%E5%BA%A7%E4%BD%8D%E7%A7%BB%E7%9B%91%E6%B5%8B.xlsx', sensors: ['拉线位移传感器数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '拉线位移传感器', model: 'FS-LXWY-Z-500', count: sensorNum }, { name: '钢丝绳', model: '0.8mm', count: sensorNum * 10 }, { name: 'PP波纹管', model: 'AD25,阻燃', count: sensorNum * 10 }, { name: '安装配件套', model: 'FS-AZPJT', count: sensorNum }, { name: '拉线位移保护罩', model: 'FS-LXWYBOM-V1.2', count: sensorNum }, { name: '拉线位移计辅助安装支架', model: 'FS-AM-LXWY-02', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '倾斜监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%80%BE%E6%96%9C%E7%9B%91%E6%B5%8B.xlsx', sensors: ['盒式固定测斜仪数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '盒式固定测斜仪', model: 'FS-HGC01-V2.00', count: sensorNum }, { name: '盒式固定测斜仪自动监测系统V1.0', model: 'FS-HGC01-内置软件', count: sensorNum }, { name: '盒式测斜仪保护罩', model: 'FS-HSCXBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '索力监测(磁通量)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%B4%A2%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['磁通量传感器数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '磁通量传感器', model: '', count: sensorNum }, { name: '磁通量固定喉箍', model: 'FS-CCGH***', count: sensorNum }, { name: '通信电缆', model: 'RYVP 6*035', count: sensorNum * 100 }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 10 }, { name: '磁通量采集系统v1.0(开关箱)', model: 'FS-CTL-CHB-08', count: Math.ceil(sensorNum / 8) }, { name: '磁通量采集系统v1.0', model: 'FS-CTL', count: Math.ceil(sensorNum / 16) } ]; } }, '索力监测(加速度计)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%B4%A2%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['加速度计数量', '采集仪类型'], getManifest: function ([sensorNum = 1, type]) { return [ { name: '加速度计', model: 'FS-ZD-A01', count: sensorNum }, { name: '振动传感器铝铣抱箍底座', model: 'FS-ZD-MAI-02-01', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 }, ...(type === '云振动采集仪' ? [ { name: '云振动采集仪', model: 'FS-iZD08', count: Math.ceil(sensorNum / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-iZD08-内置软件', count: Math.ceil(sensorNum / 8) }, { name: '物联网卡', model: '2G', count: Math.ceil(sensorNum / 8) } ] : [ { name: '振动采集仪', model: 'FS-ZD08', count: Math.ceil(sensorNum / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-ZD08-内置软件', count: Math.ceil(sensorNum / 8) } ]) ]; } }, '振动监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%8C%AF%E5%8A%A8%E7%9B%91%E6%B5%8B.xlsx', sensors: ['加速度计数量', '采集仪类型'], getManifest: function ([sensorNum = 1, type, transmitMethod]) { return [ { name: '加速度计', model: 'FS-ZD-A01', count: sensorNum }, { name: '振动传感器安装支架保护罩', model: 'FS-AM-AXZD-01', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 }, ...(transmitMethod === '无线' ? [ { name: '云振动采集仪', model: 'FS-iZD08', count: Math.ceil(sensorNum / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-iZD08-内置软件', count: Math.ceil(sensorNum / 8) }, { name: '物联网卡', model: '1G', count: Math.ceil(sensorNum / 8) } ] : [ { name: '振动采集仪', model: 'FS-ZD08', count: Math.ceil(sensorNum / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-ZD08-内置软件', count: Math.ceil(sensorNum / 8) } ]) ]; } }, '地震动监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%8C%AF%E5%8A%A8%E7%9B%91%E6%B5%8B.xlsx', sensors: ['加速度计数量'], getManifest: function ([sensorNum = 1, transmitMethod]) { return [ { name: '加速度计', model: 'FS-ZD-A01', count: sensorNum }, { name: '振动传感器安装支架保护罩', model: 'FS-AM-AXZD-01', count: sensorNum }, { name: '通信电缆', model: 'RYVP 6*035', count: sensorNum * 100 }, ...(transmitMethod === '无线' ? [ { name: '云振动采集仪', model: 'FS-iZD08', count: Math.ceil((sensorNum * 3) / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-iZD08-内置软件', count: Math.ceil((sensorNum * 3) / 8) }, { name: '物联网卡', model: '1G', count: Math.ceil((sensorNum * 3) / 8) } ] : [ { name: '振动采集仪', model: 'FS-ZD08', count: Math.ceil((sensorNum * 3) / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-ZD08-内置软件', count: Math.ceil((sensorNum * 3) / 8) } ]) ]; } }, '动应变监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%8A%A8%E5%BA%94%E5%8F%98%E7%9B%91%E6%B5%8B.xlsx', sensors: ['电阻应变计数量'], getManifest: function ([sensorNum = 1, transmitMethod]) { return [ { name: '电阻应变计', model: 'FS-DZYBJ', count: sensorNum }, { name: '表面应变计支架保护罩', model: 'FS-BMBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 }, ...(transmitMethod === '无线' ? [ { name: '调理盒(4通道)', model: '', count: Math.ceil(sensorNum / 4) }, { name: '云振动采集仪', model: 'FS-iZD08', count: Math.ceil(sensorNum / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-iZD08-内置软件', count: Math.ceil(sensorNum / 8) }, { name: '物联网卡', model: '1G', count: Math.ceil(sensorNum / 8) } ] : [ { name: '振动采集仪', model: 'FS-ZD08', count: Math.ceil(sensorNum / 8) }, { name: '振动采集仪测试分析系统V1.0', model: 'FS-ZD08-内置软件', count: Math.ceil(sensorNum / 8) } ]) ]; } }, '结构温度监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%BB%93%E6%9E%84%E6%B8%A9%E5%BA%A6%E7%9B%91%E6%B5%8B.xlsx', sensors: ['温度传感器数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '温度传感器', model: 'FS-WD120', count: sensorNum }, { name: '温度计安装支架(成品)', model: 'FS-AM-WD120', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '环境温湿度监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%8E%AF%E5%A2%83%E7%9B%91%E6%B5%8B.xlsx', sensors: ['温湿度传感器数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '温湿度传感器', model: 'FS-BDS-WSD', count: sensorNum }, { name: '温湿度保护罩', model: 'FS-WSDBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '风速风向监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%8E%AF%E5%A2%83%E7%9B%91%E6%B5%8B.xlsx', sensors: ['超声波风速风向仪数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '超声波风速风向仪', model: 'FS-FSFXY-S', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, { name: '通用雨量计支架', model: 'FS-FT-YLJ', count: sensorNum }, { name: '地笼', model: 'FS-FT-DL', count: sensorNum }, { name: '避雷针', model: 'FS-FT-BLZ', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '视频监控(有线)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%EF%BC%88%E6%9C%89%E7%BA%BF%EF%BC%89.xlsx', sensors: ['4G网络球机数量'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '4G网络球机', model: '3寸 400万', count: sensorNum }, { name: '球机吊装支架', model: 'FS-1661ZJ', count: sensorNum }, { name: '硬盘录像机', model: '4路1盘位', count: Math.ceil(sensorNum / 4) }, { name: '硬盘', model: '', count: Math.ceil((0.02 * sensorNum * 30) / 4) }, // 硬盘逻辑需要确认,此处简化 { name: '数据采集箱', model: 'FS-CJX03-A', count: sensorNum }, { name: '抱杆支架', model: 'FS-BGZJ1', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '物联网卡', model: '1G', count: sensorNum }, { name: '超5类网线', model: '', count: sensorNum * 10 }, { name: '光纤收发器', model: '1310', count: sensorNum }, { name: '光纤收发器', model: '1550', count: sensorNum }, { name: '网络电源二合一防雷器', model: '2/12', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, ...(!isSolarEnergy ? [ { name: '智能断路器', model: 'E9C', count: sensorNum }, { name: '智能电源监测模块', model: 'FS-S270', count: sensorNum }, { name: '公牛插座', model: 'GN-607', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '视频监控(无线1)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%EF%BC%88%E6%97%A0%E7%BA%BF1%EF%BC%89.xlsx', sensors: ['4G网络球机数量'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '4G网络球机', model: '3寸 400万', count: sensorNum }, { name: '球机吊装支架', model: 'FS-1661ZJ', count: sensorNum }, { name: 'TF存储卡', model: '256G', count: sensorNum }, { name: '物联网卡', model: '20G', count: sensorNum }, { name: '数据采集箱', model: 'FS-CJX03-A', count: sensorNum }, { name: '抱杆支架', model: 'FS-BGZJ1', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '物联网卡', model: '1G', count: sensorNum }, { name: '超5类网线', model: '', count: sensorNum * 10 }, { name: '网络电源二合一防雷器', model: '2/12', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, ...(!isSolarEnergy ? [ { name: '智能断路器', model: 'E9C', count: sensorNum }, { name: '智能电源监测模块', model: 'FS-S270', count: sensorNum }, { name: '公牛插座', model: 'GN-607', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '交通动态称重监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E4%BA%A4%E9%80%9A%E5%8A%A8%E6%80%81%E7%A7%B0%E9%87%8D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['车道数'], getManifest: function ([lanes]) { const wimModel = lanes === 2 ? 'FS-WIM-V1.00-2-S' : lanes === 4 ? 'FS-WIM-V1.00-4-S' : lanes === 6 ? 'FS-WIM-V1.00-6-S' : 'FS-WIM-V1.00-8-S'; return [ { name: '称重系统平台', model: wimModel, count: 1 }, { name: '三车道抓拍立杆', model: 'FS-3CDLG-H', count: 2 }, { name: '4G路由器', model: '', count: 1 }, { name: '光纤收发器', model: '1310', count: 1 }, { name: '光纤收发器', model: '1550', count: 1 }, // { name: '动态称重系统及抓拍软件', model: '', count: 1 } ]; } }, '机箱配套': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%9C%BA%E7%AE%B1%E9%85%8D%E5%A5%97.xlsx', sensors: [], getManifest: function ([otherInstrumentCount, vibratingWireSensorCount, signal485SensorCount, isSolarEnergy = true]) { const totalInstrument = otherInstrumentCount + vibratingWireSensorCount + signal485SensorCount; // 需确认计算逻辑 // 这里简化处理,实际需要根据振弦和485传感器数量计算采集仪 const breakerCount = otherInstrumentCount + vibratingWireSensorCount; // 逻辑需确认 return [ { name: '断路器', model: 'DZ47-60', count: breakerCount }, { name: '12V直流电源防雷器', model: '12V', count: breakerCount }, { name: '数据采集箱', model: 'FS-CJX03-A', count: breakerCount }, { name: '接地电缆', model: 'BVR 1*16', count: breakerCount * 10 }, { name: 'GPRS无线模块', model: 'FS-DTU-4G-W-V1.00', count: breakerCount }, { name: '物联网卡', model: '20G', count: breakerCount }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: breakerCount * 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: breakerCount * 10 }, { name: '降阻剂', model: '25kg/袋', count: breakerCount * 10 }, ...(!isSolarEnergy ? [ { name: '电源电涌保护器', model: 'AM2-40', count: breakerCount }, { name: '开关电源1', model: '25-12-A', count: breakerCount }, { name: '导轨插座', model: '10A', count: breakerCount }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: breakerCount * 100 } ] : []) ]; } }, '通信系统': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%80%9A%E4%BF%A1%E7%B3%BB%E7%BB%9F.xlsx', sensors: [], getManifest: function ([collectingBoxCount, vibratingWireAcquisitionInstrumentCount, dataAcquisitionInstrumentCount, GNSSCount, PVCNum, fiberOpticsLength]) { return [ { name: '通信光缆(光纤)', model: '', count: fiberOpticsLength }, { name: '光纤终端盒', model: '', count: collectingBoxCount + 1 }, { name: '耦合器', model: 'SC型', count: (collectingBoxCount + 3) * collectingBoxCount }, { name: '光纤跳线', model: 'SC口-SC口', count: (collectingBoxCount + 3) * collectingBoxCount }, { name: '串口服务器', model: '1D(RS485/232)', count: vibratingWireAcquisitionInstrumentCount + dataAcquisitionInstrumentCount + GNSSCount }, { name: '光纤收发器', model: '1310', count: collectingBoxCount }, { name: '光纤收发器', model: '1550', count: collectingBoxCount }, { name: '工业级交换机', model: '', count: 1 }, // 需根据逻辑计算 { name: 'PVC管', model: '', count: PVCNum } ]; } }, '电力系统(市电)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%94%B5%E5%8A%9B%E7%B3%BB%E7%BB%9F%EF%BC%88%E5%B8%82%E7%94%B5%EF%BC%89.xlsx', sensors: [], getManifest: function () { return [ { name: '智能断路器', model: 'E9C', count: 1 }, { name: '智能电源监测模块', model: 'FS-S270', count: 1 }, { name: '物联网卡', model: '1G', count: 1 }, { name: '电源电涌保护器', model: 'Asafe-15/2', count: 2 }, { name: '接地电缆', model: 'BVR 1*16', count: 10 }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: 10 }, { name: '三级防雷配电箱', model: 'FS-SJPDX-A', count: 1 }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: 100 } ]; } }, '电力系统(太阳能)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%94%B5%E5%8A%9B%E7%B3%BB%E7%BB%9F%EF%BC%88%E5%A4%AA%E9%98%B3%E8%83%BD%EF%BC%89.xlsx', sensors: [], getManifest: function ([solar_panel_count, battery_count]) { const power = (200 / 18) * solar_panel_count; const controllerModel = power < 10 ? '12V10A' : power < 30 ? '12V30A' : '12V50A'; return [ { name: '太阳能电池板(不含支架)', model: '18V 200W', count: solar_panel_count }, { name: '太阳能控制器', model: controllerModel, count: Math.ceil((200 * solar_panel_count) / 900) }, { name: '200W太阳能抱箍支架(成品)', model: 'FS-FT-TYN200', count: solar_panel_count }, { name: '通用立杆', model: 'FS-FT-LG32', count: solar_panel_count }, { name: '通用抱箍U型', model: 'FS-FT-BGU', count: solar_panel_count * 2 }, { name: '地笼', model: 'FS-FT-DL', count: solar_panel_count }, { name: '避雷针', model: 'FS-FT-BLZ', count: solar_panel_count }, { name: '工程PP地埋箱', model: '120型', count: battery_count }, { name: '太阳能蓄电池', model: '12V120A', count: battery_count } ]; } }, '软件系统': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F.xlsx', sensors: ['平台类型'], getManifest: function ([platformType]) { const model = platformType === '简约版' ? '综合管理系统V1.0 简约版' : platformType === '精简版' ? '综合管理系统V1.0 精简版' : platformType === '完整版' ? '综合管理系统V1.0 完整版' : '北斗解析软件'; return [ { name: '安心云软件', model: model, count: 1 } ]; } }, '监控中心': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83.xlsx', sensors: [], getManifest: function () { return [ { name: '显示器', model: '27英寸', count: 1 }, { name: '应用服务器', model: '060302000702', count: 1 }, { name: '健康监测服务器', model: '060303000802', count: 1 }, { name: 'UPS电源', model: '3kVA', count: 1 }, { name: '太阳能蓄电池', model: '12V120A', count: 1 }, { name: '蓄电池机架', model: '配套', count: 1 }, { name: '网络机柜', model: '600mm*1000mm', count: 1 }, { name: '断路器', model: 'DZ47-60', count: 1 }, { name: '12V直流电源防雷器', model: '12V', count: 1 }, { name: '电源电涌保护器', model: 'AM2-40', count: 1 }, { name: '开关电源1', model: '25-12-A', count: 1 }, { name: 'PDU电源防雷插座', model: '106-PDU', count: 1 }, { name: '工业级交换机', model: '工业级、24路千兆电', count: 1 }, { name: '网线', model: '超5类网线', count: 50 } ]; } }, '运维服务': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/bridge/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%BF%90%E7%BB%B4%E6%9C%8D%E5%8A%A1.xlsx', sensors: ['运维年限'], getManifest: function ([opsYear = 1]) { return [ { name: '基础知识服务', model: '', count: opsYear }, { name: '系统运维跟踪服务', model: '', count: opsYear }, { name: '日报', model: '', count: 365 * opsYear }, { name: '周报', model: '', count: 52 * opsYear }, { name: '月报', model: '', count: 12 * opsYear }, { name: '季报', model: '', count: 4 * opsYear }, { name: '年报', model: '', count: opsYear }, { name: '预报警分析及推送', model: '', count: opsYear }, { name: '事件响应服务', model: '', count: opsYear }, { name: '阶段性监测成果推送', model: '', count: opsYear }, { name: '深度1V1技术支持', model: '', count: opsYear }, { name: '期刊论文服务', model: '', count: opsYear } ]; } } }; const tunnelPrompts = { '隧道拱顶沉降监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%9A%A7%E9%81%93%E6%8B%B1%E9%A1%B6%E6%B2%89%E9%99%8D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['激光测距仪'], getManifest: function ([sensorNum = 1]) { return [ { name: '激光测距仪', model: 'FS-LRF-V1.00', count: sensorNum }, { name: '激光测距仪保护罩(成品)', model: 'FS-AM-LRFBH-V1.1', count: Math.ceil(sensorNum / 2) }, { name: '激光反光板安装支架', model: 'FS-JGFGBBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '裂缝监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A3%82%E7%BC%9D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['裂缝计'], getManifest: function ([sensorNum = 1]) { return [ { name: '裂缝计', model: 'FS-LF10-Z', count: sensorNum }, { name: '裂缝计安装支架保护罩', model: 'FS-LFBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '不均匀沉降监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E4%B8%8D%E5%9D%87%E5%8C%80%E6%B2%89%E9%99%8D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['静力水准仪', '基点加转点', '连接水管'], getManifest: function ([staticForceLevelNum = 1, baseAndTurningPointNum, waterPipeNum]) { return [ { name: '静力水准仪', model: 'FS-JLSZ-20-V1.00', count: staticForceLevelNum }, { name: '储液罐(压差水箱)', model: 'FS-LTG-MD-V2.0', count: baseAndTurningPointNum }, { name: '连接水管', model: '聚醚型,12*8', count: waterPipeNum }, { name: '导气管', model: '6*4mm PU管', count: waterPipeNum * 2 }, { name: '安装支架+保护罩', model: 'FS-AM-JLSZ', count: staticForceLevelNum }, { name: '防冻液2', model: '9KG/桶', count: Math.ceil(0.012 * Number(waterPipeNum) + Number(baseAndTurningPointNum)) }, { name: '通信电缆', model: 'RYVP 4*035', count: waterPipeNum * 1.1 }, { name: '桥架', model: '喷塑型,100*50mm', count: waterPipeNum } ]; } }, '锚杆轴力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%94%9A%E6%9D%86%E8%BD%B4%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['锚索计弦数', '锚索计'], getManifest: function ([ropeMeterStrings, ropeMeterCount]) { return [ { name: '锚索计', model: '', count: ropeMeterCount }, { name: '锚垫板', model: 'FS-MDB-40Cr-35', count: ropeMeterCount * 2 }, { name: '通信电缆', model: Number(ropeMeterStrings) === 3 ? 'RYVP 6*035' : 'TPU 9*035', count: ropeMeterCount * 100 } ]; } }, '钢筋应力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%92%A2%E7%AD%8B%E5%BA%94%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['钢筋计型号', '钢筋计'], getManifest: function ([rebarMeterModel, rebarMeterCount = 1]) { return [ { name: '钢筋计', model: rebarMeterModel, count: rebarMeterCount }, { name: '通信电缆', model: 'RYVP 4*035', count: rebarMeterCount * 100 } ]; } }, '围岩与初支接触压力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%9B%B4%E5%B2%A9%E4%B8%8E%E5%88%9D%E6%94%AF%E6%8E%A5%E8%A7%A6%E5%8E%8B%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['直线位移传感器数量'], getManifest: function ([sensorNum = 1]) { return [ { name: '土压力计(单膜)', model: 'FS-TY02', count: sensorNum }, { name: '通信电缆', model: 'RYVP 2*035', count: sensorNum * 100 } ]; } }, '围岩体内部位移监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%9B%B4%E5%B2%A9%E4%BD%93%E5%86%85%E9%83%A8%E4%BD%8D%E7%A7%BB%E7%9B%91%E6%B5%8B.xlsx', sensors: ['位移计'], getManifest: function ([sensorNum = 1]) { return [ { name: '位移计', model: 'FS-WY05-08', count: sensorNum }, { name: '位移计安装辅材', model: 'FS-AM-WY05-03', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '钢支撑内应力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%92%A2%E6%94%AF%E6%92%91%E5%86%85%E5%BA%94%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['表面式应变计'], getManifest: function ([sensorNum = 1]) { return [ { name: '表面式应变计', model: 'FS-BM30', count: sensorNum }, { name: '表面应变计支架保护罩', model: 'FS-BMBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '初支喷砼应力和二次衬砌应力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%88%9D%E6%94%AF%E5%96%B7%E7%A0%BC%E5%BA%94%E5%8A%9B%E5%92%8C%E4%BA%8C%E6%AC%A1%E8%A1%AC%E7%A0%8C%E5%BA%94%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['内埋式应变计'], getManifest: function ([sensorNum = 1]) { return [ { name: '内埋式应变计', model: 'FS-NM30', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '初支与二衬接触压力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%88%9D%E6%94%AF%E4%B8%8E%E4%BA%8C%E8%A1%AC%E6%8E%A5%E8%A7%A6%E5%8E%8B%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['土压力计'], getManifest: function ([sensorNum = 1]) { return [ { name: '土压力计(单膜)', model: 'FS-TY02', count: sensorNum }, { name: '通信电缆', model: 'RYVP 2*035', count: sensorNum * 100 } ]; } }, '岩土温湿度监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%B2%A9%E5%9C%9F%E6%B8%A9%E6%B9%BF%E5%BA%A6%E7%9B%91%E6%B5%8B.xlsx', sensors: ['土壤温湿度传感器'], getManifest: function ([sensorNum = 1]) { return [ { name: '土壤温湿度传感器', model: 'FS-TRWSD', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '地下水位监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%9C%B0%E4%B8%8B%E6%B0%B4%E4%BD%8D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['孔隙水压计', '水位管'], getManifest: function ([sensorNum = 1, pipeNum]) { return [ { name: '孔隙水压计', model: 'FS-KY02', count: sensorNum }, { name: '水位管', model: 'PVC,φ53', count: pipeNum }, { name: '连接管', model: '', count: Math.ceil(pipeNum / 2) }, { name: '花管', model: 'PVC,φ53', count: sensorNum * 2 }, { name: '顶盖、底盖', model: '', count: sensorNum }, // { name: '底盖', model: '', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '环境监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%8E%AF%E5%A2%83%E7%9B%91%E6%B5%8B.xlsx', sensors: ['温湿度传感器'], getManifest: function ([sensorNum = 1]) { return [ { name: '温湿度传感器', model: 'FS-BDS-WSD', count: sensorNum }, { name: '温湿度保护罩', model: 'FS-WSDBOM-V0.0', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '雨量监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%9B%A8%E9%87%8F%E7%9B%91%E6%B5%8B.xlsx', sensors: ['雨量计'], getManifest: function ([sensorNum = 1]) { return [ { name: '雨量计', model: 'FS-FDYLJ', count: sensorNum }, { name: '通信电缆', model: 'RYVP 4*035', count: sensorNum * 100 } ]; } }, '视频监控(有线)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%EF%BC%88%E6%9C%89%E7%BA%BF%EF%BC%89.xlsx', sensors: ['4G网络球机'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '4G网络球机', model: '3寸 400万', count: sensorNum }, { name: '硬盘录像机', model: '4路1盘位', count: Math.ceil(sensorNum / 4) }, { name: '硬盘', model: '', count: Math.ceil((0.02 * sensorNum * 30) / 4) }, // 需确认逻辑 { name: '数据采集箱', model: 'FS-CJX03-A', count: sensorNum }, { name: '抱杆支架', model: 'FS-BGZJ1', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '物联网卡', model: '1G', count: sensorNum }, { name: '超5类网线', model: '', count: sensorNum * 10 }, { name: '工业级光纤收发器', model: 'SKMSW-02011L', count: sensorNum }, { name: '网络电源二合一防雷器', model: '2/12', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, ...(!isSolarEnergy ? [ { name: '智能断路器', model: 'E9C', count: sensorNum }, { name: '智能电源监测模块', model: 'FS-S270', count: sensorNum }, { name: '公牛插座', model: 'GN-607', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '视频监控(无线1)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%EF%BC%88%E6%97%A0%E7%BA%BF1%EF%BC%89.xlsx', sensors: ['4G网络球机'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '4G网络球机', model: '3寸 400万', count: sensorNum }, { name: 'TF存储卡', model: '256G', count: sensorNum }, { name: '物联网卡', model: '20G', count: sensorNum }, { name: '数据采集箱', model: 'FS-CJX03-A', count: sensorNum }, { name: '抱杆支架', model: 'FS-BGZJ1', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '物联网卡', model: '1G', count: sensorNum }, { name: '超5类网线', model: '', count: sensorNum * 10 }, { name: '网络电源二合一防雷器', model: '2/12', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, ...(!isSolarEnergy ? [ { name: '智能断路器', model: 'E9C', count: sensorNum }, { name: '智能电源监测模块', model: 'FS-S270', count: sensorNum }, { name: '公牛插座', model: 'GN-607', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '机箱配套': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%9C%BA%E7%AE%B1%E9%85%8D%E5%A5%97.xlsx', sensors: [], getManifest: function ([otherInstrumentCount, vibratingWireSensorCount, signal485SensorCount, multiChannelVibratingWireRecorder, singleChannelVibratingWireAcquisitionInstrumentCount, isSolarEnergy = true]) { // 计算逻辑简化,需确认 const breakerCount = otherInstrumentCount + multiChannelVibratingWireRecorder + singleChannelVibratingWireAcquisitionInstrumentCount; // 需确认 // const breakerCount = otherInstrumentCount + vibratingWireSensorCount; // 需确认 return [ { name: '断路器', model: 'DZ47-60', count: breakerCount }, { name: '12V直流电源防雷器', model: '12V', count: breakerCount }, { name: '数据采集箱', model: 'FS-CJX03-A', count: breakerCount }, { name: '接地电缆', model: 'BVR 1*16', count: breakerCount * 10 }, { name: 'GPRS无线模块', model: 'FS-DTU-4G-W-V1.00', count: breakerCount }, { name: '物联网卡', model: '20G', count: breakerCount }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: breakerCount * 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: breakerCount * 10 }, { name: '降阻剂', model: '25kg/袋', count: breakerCount * 10 }, ...(!isSolarEnergy ? [ { name: '电源电涌保护器', model: 'AM2-40', count: breakerCount }, { name: '开关电源1', model: '25-12-A', count: breakerCount }, { name: '导轨插座', model: '10A', count: breakerCount }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: breakerCount * 100 } ] : []) ]; } }, '通信系统': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%80%9A%E4%BF%A1%E7%B3%BB%E7%BB%9F.xlsx', sensors: [], getManifest: function ([collectingBoxCount, vibratingWireAcquisitionInstrumentCount, dataAcquisitionInstrumentCount, GNSSCount, PVCNum, fiberOpticsLength]) { return [ { name: '通信光缆(光纤)', model: '', count: fiberOpticsLength }, { name: '光纤终端盒', model: '', count: collectingBoxCount + 1 }, { name: '耦合器', model: 'SC型', count: (collectingBoxCount + 3) * collectingBoxCount }, { name: '光纤跳线', model: 'SC口-SC口', count: (collectingBoxCount + 3) * collectingBoxCount }, { name: '串口服务器', model: '1D(RS485/232)', count: vibratingWireAcquisitionInstrumentCount + dataAcquisitionInstrumentCount + GNSSCount }, { name: '工业级光纤收发器', model: 'SKMSW-02011L', count: collectingBoxCount }, { name: '工业级交换机', model: '', count: 1 }, // 需确认计算逻辑 { name: 'PVC管', model: 'φ32', count: PVCNum } ]; } }, '电力系统(市电)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%94%B5%E5%8A%9B%E7%B3%BB%E7%BB%9F%EF%BC%88%E5%B8%82%E7%94%B5%EF%BC%89.xlsx', sensors: [], getManifest: function () { return [ { name: '断路器', model: 'DZ47-60', count: 1 }, { name: '电源电涌保护器', model: 'Asafe-15/2', count: 2 }, { name: '接地电缆', model: 'BVR 1*16', count: 10 }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: 10 }, { name: '三级防雷配电箱', model: 'FS-SJPDX-A', count: 1 }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: 100 } ]; } }, '电力系统(太阳能)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%94%B5%E5%8A%9B%E7%B3%BB%E7%BB%9F%EF%BC%88%E5%A4%AA%E9%98%B3%E8%83%BD%EF%BC%89.xlsx', sensors: [], getManifest: function ([solar_panel_count, battery_count]) { const power = (200 / 18) * solar_panel_count; const controllerModel = power < 10 ? '12V10A' : power < 30 ? '12V30A' : '12V50A'; return [ { name: '太阳能电池板(不含支架)', model: '18V 200W', count: solar_panel_count }, { name: '太阳能控制器', model: controllerModel, count: Math.ceil((200 * solar_panel_count) / 900) }, { name: '200W太阳能抱箍支架(成品)', model: 'FS-FT-TYN200', count: solar_panel_count }, { name: '通用立杆', model: 'FS-FT-LG32', count: solar_panel_count }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: solar_panel_count * 2 }, { name: '地笼', model: 'FS-FT-DL', count: solar_panel_count }, { name: '避雷针', model: 'FS-FT-BLZ', count: solar_panel_count }, { name: '工程PP地埋箱', model: '120型', count: battery_count }, { name: '太阳能蓄电池', model: '12V120A', count: battery_count } ]; } }, '软件系统': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F.xlsx', sensors: ['平台类型'], getManifest: function ([platformType]) { const model = platformType === '简约版' ? '简约版' : platformType === '精简版' ? '精简版' : platformType === '完整版' ? '完整版' : '北斗解析软件'; return [ { name: model === '北斗解析软件' ? 'GNSS解析软件' : '综合管理系统V1.0', model: model, count: 1 } ]; } }, '监控中心': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83.xlsx', sensors: [], getManifest: function () { return [ { name: '显示器', model: '27英寸', count: 1 }, { name: '应用服务器', model: '060302000702', count: 1 }, { name: '健康监测服务器', model: '060303000802', count: 1 }, { name: 'UPS电源', model: '3kVA', count: 1 }, { name: '太阳能蓄电池', model: '12V120A', count: 1 }, { name: '蓄电池机架', model: '配套', count: 1 }, { name: '网络机柜', model: '600mm*1000mm', count: 1 }, { name: '断路器', model: 'DZ47-60', count: 1 }, { name: '12V直流电源防雷器', model: '12V', count: 1 }, { name: '电源电涌保护器', model: 'AM2-40', count: 1 }, { name: '开关电源1', model: '25-12-A', count: 1 }, { name: 'PDU电源防雷插座', model: '106-PDU', count: 1 }, { name: '工业级交换机', model: '工业级、24路千兆电', count: 1 }, { name: '网线', model: '超5类网线', count: 50 } ]; } }, '运维服务': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/tunnel/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%BF%90%E7%BB%B4%E6%9C%8D%E5%8A%A1.xlsx', sensors: ['运维年限'], getManifest: function ([opsYear = 1]) { return [ { name: '基础知识服务', model: '', count: opsYear }, { name: '系统运维跟踪服务', model: '', count: opsYear }, { name: '日报', model: '', count: 365 * opsYear }, { name: '周报', model: '', count: 52 * opsYear }, { name: '月报', model: '', count: 12 * opsYear }, { name: '季报', model: '', count: 4 * opsYear }, { name: '年报', model: '', count: opsYear }, { name: '预报警分析及推送', model: '', count: opsYear }, { name: '事件响应服务', model: '', count: opsYear }, { name: '阶段性监测成果推送', model: '', count: opsYear }, { name: '深度1V1技术支持', model: '', count: opsYear } ]; } } }; const slopePrompts = { '表面位移监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A1%A8%E9%9D%A2%E4%BD%8D%E7%A7%BB%E7%9B%91%E6%B5%8B.xlsx', sensors: ['测地型GNSS接收机', '通讯方式'], getManifest: function ([sensorNum = 1, communicationType, isSolarEnergy = true]) { return [ { name: '测地型GNSS接收机', model: 'A300', count: sensorNum }, { name: '通用GNSS立杆', model: 'FS-FT-GNSS-12', count: sensorNum }, { name: '地笼', model: 'FS-FT-DLGS', count: sensorNum }, { name: '三级防雷配电箱', model: 'FS-SJPDX-A', count: sensorNum }, { name: '抱杆支架', model: '300*55*20', count: sensorNum }, { name: '通用抱箍U型', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '断路器', model: 'DZ47-60', count: sensorNum }, { name: '12V直流电源防雷器', model: '12V', count: sensorNum }, { name: '接地电缆', model: 'BVR 1*16', count: sensorNum * 10 }, ...(communicationType === '无线' ? [{ name: '物联网卡', model: '2G', count: sensorNum }] : []), { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: sensorNum * 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: sensorNum * 10 }, { name: '降阻剂', model: '25kg/袋', count: sensorNum * 5 }, ...(!isSolarEnergy ? [ { name: '电源电涌保护器', model: 'AM2-40', count: sensorNum }, { name: '开关电源1', model: '25-12-A', count: sensorNum }, { name: '导轨插座', model: '10A', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '内部变形监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%86%85%E9%83%A8%E5%8F%98%E5%BD%A2%E7%9B%91%E6%B5%8B.xlsx', sensors: ['串联式固定测斜仪', '加长导管', '孔数', '总深度'], getManifest: function ([tandemFixedInclinometer, lengthenedCatheterCount, holeCount, depth]) { return [ { name: '串联式固定测斜仪', model: 'FS-GGCL01-V1.00', count: tandemFixedInclinometer }, { name: '加长导管(升级款)', model: 'FS-GGCL01-04', count: lengthenedCatheterCount }, { name: '安装件(升级款)', model: '配套', count: holeCount }, { name: '测斜管', model: 'φ70', count: depth }, { name: '连接管', model: '', count: Math.ceil(depth / 2) }, { name: '顶盖、底盖', model: '', count: holeCount }, // { name: '底盖', model: '', count: holeCount }, { name: '通信电缆', model: 'RYVP 4*035', count: tandemFixedInclinometer * 20 } ]; } }, '路基沉降监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%B7%AF%E5%9F%BA%E6%B2%89%E9%99%8D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['物位计', '基点加转点', '连接水管'], getManifest: function ([levelMeterCount = 1, baseAndTurningPointNum, waterPipeNum]) { return [ { name: '物位计', model: 'FS-WWJ', count: levelMeterCount }, { name: '沉降板(成品)', model: 'FS-AM-WWJ-01', count: levelMeterCount }, { name: '储液罐(压差水箱)', model: 'FS-LTG-MD-V2.0', count: baseAndTurningPointNum }, { name: '连接水管', model: '聚醚型,12*8', count: waterPipeNum }, { name: '导气管', model: '6*4mm PU管', count: waterPipeNum * 2 }, { name: '防冻液2', model: '9KG/桶', count: Math.ceil(0.012 * Number(waterPipeNum) + Number(baseAndTurningPointNum)) }, { name: '透明保护管', model: '透明,DN25', count: waterPipeNum }, { name: '通信电缆', model: 'RYVP 4*035', count: waterPipeNum * 1.1 } ]; } }, '渗流压力/孔隙水压力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%B8%97%E6%B5%81%E5%8E%8B%E5%8A%9B%E5%AD%94%E9%9A%99%E6%B0%B4%E5%8E%8B%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['孔隙水压计', '总深度'], getManifest: function ([piezometerCount = 1, depth4]) { return [ { name: '孔隙水压计', model: 'FS-KY02', count: piezometerCount }, { name: '水位管', model: 'PVC,φ53', count: depth4 }, { name: '连接管', model: '', count: Math.ceil(depth4 / 2) }, { name: '花管', model: 'PVC,φ53', count: piezometerCount * 2 }, { name: '顶盖、底盖', model: '', count: piezometerCount }, // { name: '底盖', model: '', count: piezometerCount }, { name: '渗压保护盖', model: '2mm', count: piezometerCount }, { name: '通信电缆', model: 'RYVP 4*035', count: piezometerCount * 100 } ]; } }, '渗流量监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%B8%97%E6%B5%81%E9%87%8F%E7%9B%91%E6%B5%8B.xlsx', sensors: ['投入式水位计', '导气管电缆线'], getManifest: function ([waterLevelMeterCount = 1, pipeLength]) { return [ { name: '投入式水位计', model: 'FS-TRSW', count: waterLevelMeterCount }, { name: '量水堰板', model: 'FS-LSYB', count: waterLevelMeterCount }, { name: '通信电缆', model: 'RYVP 4*035', count: waterLevelMeterCount * 100 }, { name: '导气管电缆线', model: 'CYUP4*0.2mm2+导气管', count: pipeLength } ]; } }, '土压力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E5%9C%9F%E5%8E%8B%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['土压力计'], getManifest: function ([soilPressureMeterCount = 1]) { return [ { name: '土压力计(单膜)', model: 'FS-TY02', count: soilPressureMeterCount }, { name: '通信电缆', model: 'RYVP 2*035', count: soilPressureMeterCount * 100 } ]; } }, '混凝土面板应力监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%B7%B7%E5%87%9D%E5%9C%9F%E9%9D%A2%E6%9D%BF%E5%BA%94%E5%8A%9B%E7%9B%91%E6%B5%8B.xlsx', sensors: ['表面式应变计'], getManifest: function ([surfaceStrainGaugeCount = 1]) { return [ { name: '表面式应变计', model: 'FS-BM30', count: surfaceStrainGaugeCount }, { name: '表面应变计支架保护罩', model: 'FS-BMBOM-V0.0', count: surfaceStrainGaugeCount }, { name: '通信电缆', model: 'RYVP 4*035', count: surfaceStrainGaugeCount * 100 } ]; } }, '水位监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%B0%B4%E4%BD%8D%E7%9B%91%E6%B5%8B.xlsx', sensors: ['雷达水位计'], getManifest: function ([radarLevelMeterCount = 1]) { return [ { name: '雷达水位计', model: 'FS-LDSW-30', count: radarLevelMeterCount }, { name: '通用立杆', model: 'FS-FT-LG43', count: radarLevelMeterCount }, { name: '通用雷达液位计支架', model: 'FS-FT-LEDYJ', count: radarLevelMeterCount }, { name: '地笼', model: 'FS-FT-DL', count: radarLevelMeterCount }, { name: '避雷针', model: 'FS-FT-BLZ', count: radarLevelMeterCount }, { name: '通信电缆', model: 'RYVP 4*035', count: radarLevelMeterCount * 100 } ]; } }, '降水量监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%99%8D%E6%B0%B4%E9%87%8F%E7%9B%91%E6%B5%8B.xlsx', sensors: ['雨量计'], getManifest: function ([rainMeterCount = 1]) { return [ { name: '雨量计', model: 'FS-FDYLJ', count: rainMeterCount }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: rainMeterCount }, { name: '通用雨量计支架', model: 'FS-FT-YLJ', count: rainMeterCount }, { name: '通信电缆', model: 'RYVP 4*035', count: rainMeterCount * 100 } ]; } }, '气温监测': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%B0%94%E6%B8%A9%E7%9B%91%E6%B5%8B.xlsx', sensors: ['温湿度传感器'], getManifest: function ([temperatureSensorCount = 1]) { return [ { name: '温湿度传感器', model: 'FS-BDS-WSD', count: temperatureSensorCount }, { name: '温湿度保护罩', model: 'FS-WSDBOM-V0.0', count: temperatureSensorCount }, { name: '通信电缆', model: 'RYVP 4*035', count: temperatureSensorCount * 100 } ]; } }, '视频监控(有线)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%EF%BC%88%E6%9C%89%E7%BA%BF%EF%BC%89.xlsx', sensors: ['4G网络球机'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '4G网络球机', model: '3寸 400万', count: sensorNum }, { name: '硬盘录像机', model: '4路1盘位', count: Math.ceil(sensorNum / 4) }, { name: '硬盘', model: '', count: Math.ceil((0.02 * sensorNum * 30) / 4) }, // 需确认 { name: '数据采集箱', model: 'FS-CJX03-A', count: sensorNum }, { name: '抱杆支架', model: 'FS-BGZJ1', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '物联网卡', model: '1G', count: sensorNum }, { name: '超5类网线', model: '', count: sensorNum * 10 }, { name: '工业级光纤收发器', model: 'SKMSW-02011L', count: sensorNum }, { name: '网络电源二合一防雷器', model: '2/12', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, ...(!isSolarEnergy ? [ { name: '智能断路器', model: 'E9C', count: sensorNum }, { name: '智能电源监测模块', model: 'FS-S270', count: sensorNum }, { name: '公牛插座', model: 'GN-607', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '视频监控(无线1)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%A7%86%E9%A2%91%E7%9B%91%E6%8E%A7%EF%BC%88%E6%97%A0%E7%BA%BF1%EF%BC%89.xlsx', sensors: ['4G网络球机'], getManifest: function ([sensorNum = 1, isSolarEnergy = true]) { return [ { name: '4G网络球机', model: '3寸 400万', count: sensorNum }, { name: 'TF存储卡', model: '256G', count: sensorNum }, { name: '物联网卡', model: '20G', count: sensorNum }, { name: '数据采集箱', model: 'FS-CJX03-A', count: sensorNum }, { name: '抱杆支架', model: 'FS-BGZJ1', count: sensorNum * 2 }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: sensorNum * 2 }, { name: '物联网卡', model: '1G', count: sensorNum }, { name: '超5类网线', model: '', count: sensorNum * 10 }, { name: '网络电源二合一防雷器', model: '2/12', count: sensorNum }, { name: '通用立杆', model: 'FS-FT-LG32', count: sensorNum }, { name: '通用主支架', model: 'FS-FT-SPQJ', count: sensorNum }, ...(!isSolarEnergy ? [ { name: '智能断路器', model: 'E9C', count: sensorNum }, { name: '智能电源监测模块', model: 'FS-S270', count: sensorNum }, { name: '公牛插座', model: 'GN-607', count: sensorNum }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: sensorNum * 100 } ] : []) ]; } }, '机箱配套': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E6%9C%BA%E7%AE%B1%E9%85%8D%E5%A5%97.xlsx', sensors: [], getManifest: function ([otherInstrumentCount, vibratingWireSensorCount, signal485SensorCount, multiChannelVibratingWireRecorder, singleChannelVibratingWireAcquisitionInstrumentCount, isSolarEnergy = true]) { const breakerCount = otherInstrumentCount + multiChannelVibratingWireRecorder + singleChannelVibratingWireAcquisitionInstrumentCount; // 需确认 return [ { name: '断路器', model: 'DZ47-60', count: breakerCount }, { name: '12V直流电源防雷器', model: '12V', count: breakerCount }, { name: '数据采集箱', model: 'FS-CJX03-A', count: breakerCount }, { name: '接地电缆', model: 'BVR 1*16', count: breakerCount * 10 }, { name: 'GPRS无线模块', model: 'FS-DTU-4G-W-V1.00', count: breakerCount }, { name: '物联网卡', model: '20G', count: breakerCount }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: breakerCount * 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: breakerCount * 10 }, { name: '降阻剂', model: '25kg/袋', count: breakerCount * 10 }, ...(!isSolarEnergy ? [ { name: '电源电涌保护器', model: 'AM2-40', count: breakerCount }, { name: '开关电源1', model: '25-12-A', count: breakerCount }, { name: '导轨插座', model: '10A', count: breakerCount }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: breakerCount * 100 } ] : []) ]; } }, '通信系统': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E9%80%9A%E4%BF%A1%E7%B3%BB%E7%BB%9F.xlsx', sensors: [], getManifest: function ([collectingBoxCount, vibratingWireAcquisitionInstrumentCount, dataAcquisitionInstrumentCount, GNSSCount, PVCNum, fiberOpticsLength]) { return [ { name: '通信光缆(光纤)', model: '', count: fiberOpticsLength }, { name: '光纤终端盒', model: '', count: collectingBoxCount + 1 }, { name: '耦合器', model: 'SC型', count: (collectingBoxCount + 3) * collectingBoxCount }, { name: '光纤跳线', model: 'SC口-SC口', count: (collectingBoxCount + 3) * collectingBoxCount }, { name: '串口服务器', model: '1D(RS485/232)', count: vibratingWireAcquisitionInstrumentCount + dataAcquisitionInstrumentCount + GNSSCount }, { name: '工业级光纤收发器', model: 'SKMSW-02011L', count: collectingBoxCount }, { name: '工业级交换机', model: '', count: 1 }, // 需确认 { name: 'PVC管', model: 'φ32', count: PVCNum } ]; } }, '电力系统(市电)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%94%B5%E5%8A%9B%E7%B3%BB%E7%BB%9F%EF%BC%88%E5%B8%82%E7%94%B5%EF%BC%89.xlsx', sensors: [], getManifest: function () { return [ { name: '智能断路器', model: 'E9C', count: 1 }, { name: '智能电源监测模块', model: 'FS-S270', count: 1 }, { name: '物联网卡', model: '1G', count: 1 }, { name: '电源电涌保护器', model: 'Asafe-15/2', count: 2 }, { name: '接地电缆', model: 'BVR 1*16', count: 10 }, { name: '接地桩(镀锌角铁)', model: 'FS-DXJT-2', count: 3 }, { name: '镀锌扁铁', model: 'FS-DXBL-40*40', count: 10 }, { name: '三级防雷配电箱', model: 'FS-SJPDX-A', count: 1 }, { name: '220V交流供电电缆', model: 'RVV 3*2.5', count: 100 } ]; } }, '电力系统(太阳能)': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%94%B5%E5%8A%9B%E7%B3%BB%E7%BB%9F%EF%BC%88%E5%A4%AA%E9%98%B3%E8%83%BD%EF%BC%89.xlsx', sensors: [], getManifest: function ([solar_panel_count, battery_count]) { const power = (200 / 18) * solar_panel_count; const controllerModel = power < 10 ? '12V10A' : power < 30 ? '12V30A' : '12V50A'; return [ { name: '太阳能电池板(不含支架)', model: '18V 200W', count: solar_panel_count }, { name: '太阳能控制器', model: controllerModel, count: Math.ceil((200 * solar_panel_count) / 900) }, { name: '200W太阳能抱箍支架(成品)', model: 'FS-FT-TYN200', count: solar_panel_count }, { name: '通用立杆', model: 'FS-FT-LG32', count: solar_panel_count }, { name: '通用抱箍U型(成品)', model: 'FS-FT-BGU', count: solar_panel_count * 2 }, { name: '地笼', model: 'FS-FT-DL', count: solar_panel_count }, { name: '避雷针', model: 'FS-FT-BLZ', count: solar_panel_count }, { name: '工程PP地埋箱', model: '120型', count: battery_count }, { name: '太阳能蓄电池', model: '12V120A', count: battery_count } ]; } }, '软件系统': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%BD%AF%E4%BB%B6%E7%B3%BB%E7%BB%9F.xlsx', sensors: ['平台类型'], getManifest: function ([platformType]) { const model = platformType === '简约版' ? '简约版' : platformType === '精简版' ? '精简版' : platformType === '完整版' ? '完整版' : '北斗解析软件'; return [ { name: model === '北斗解析软件' ? 'GNSS解析软件' : '综合管理系统V1.0', model: model, count: 1 } ]; } }, '监控中心': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83.xlsx', sensors: [], getManifest: function () { return [ { name: '显示器', model: '27英寸', count: 1 }, { name: '应用服务器', model: '060302000702', count: 1 }, { name: '健康监测服务器', model: '060303000802', count: 1 }, { name: 'UPS电源', model: '3kVA', count: 1 }, { name: '太阳能蓄电池', model: '12V120A', count: 1 }, { name: '蓄电池机架', model: '配套', count: 1 }, { name: '网络机柜', model: '600mm*1000mm', count: 1 }, { name: '断路器', model: 'DZ47-60', count: 1 }, { name: '12V直流电源防雷器', model: '12V', count: 1 }, { name: '电源电涌保护器', model: 'AM2-40', count: 1 }, { name: '开关电源1', model: '25-12-A', count: 1 }, { name: 'PDU电源防雷插座', model: '106-PDU', count: 1 }, { name: '工业级交换机', model: '工业级、24路千兆电', count: 1 }, { name: '网线', model: '超5类网线', count: 50 } ]; } }, '运维服务': { file: 'https://resources-test.anxinyun.cn/ai-query/scheme-list-test/slope/%E7%9B%91%E6%B5%8B%E8%AE%BE%E5%A4%87%E6%B8%85%E5%8D%95/%E8%BF%90%E7%BB%B4%E6%9C%8D%E5%8A%A1.xlsx', sensors: ['运维年限'], getManifest: function ([opsYear = 1]) { return [ { name: '基础知识服务', model: '', count: opsYear }, { name: '系统运维跟踪服务', model: '', count: opsYear }, { name: '日报', model: '', count: 365 * opsYear }, { name: '周报', model: '', count: 52 * opsYear }, { name: '月报', model: '', count: 12 * opsYear }, { name: '季报', model: '', count: 4 * opsYear }, { name: '年报', model: '', count: opsYear }, { name: '预报警分析及推送', model: '', count: opsYear }, { name: '事件响应服务', model: '', count: opsYear }, { name: '阶段性监测成果推送', model: '', count: opsYear }, { name: '深度1V1技术支持', model: '', count: opsYear } ]; } } }; module.exports = { bridgePrompts, tunnelPrompts, slopePrompts };