import React, { useEffect, useState } from "react"; import styles from "./index.less"; import Pie from "@/components/Charts/Pie"; const EquipmentRepair = props => { return (
); }; // 在组件外部定义多语言映射 const tabTranslations = { sChinese: { "设备维修记录": "设备维修记录", "设备点检明细": "设备点检明细", "设备故障分析图表": "设备故障分析图表", "点检故障分析图表": "点检故障分析图表", "暂无数据": "暂无数据" }, sEnglish: { "设备维修记录": "Equipment Repair Records", "设备点检明细": "Equipment Inspection Details", "设备故障分析图表": "Equipment Fault Analysis Chart", "点检故障分析图表": "Inspection Fault Analysis Chart", "暂无数据": "No Data" }, sBig5: { "设备维修记录": "設備維修記錄", "设备点检明细": "設備點檢明細", "设备故障分析图表": "設備故障分析圖表", "点检故障分析图表": "點檢故障分析圖表", "暂无数据": "暫無數據" } }; // 获取翻译后的文本 const getTranslation = (app, text) => { const language = app?.userinfo?.sLanguage || 'sChinese'; return tabTranslations[language]?.[text] || text; }; // 在组件外部定义多语言映射 const equipmentTranslations = { sChinese: { "维修申请记录": "维修申请记录", "设备点检记录": "设备点检记录", "设备资料": "设备资料", "设备信息": "设备信息", "设备编号": "设备编号", "设备名称": "设备名称" }, sEnglish: { "维修申请记录": "Repair Request Records", "设备点检记录": "Equipment Inspection Records", "设备资料": "Equipment Information", "设备信息": "Equipment Info", "设备编号": "Equipment No.", "设备名称": "Equipment Name" }, sBig5: { "维修申请记录": "維修申請記錄", "设备点检记录": "設備點檢記錄", "设备资料": "設備資料", "设备信息": "設備信息", "设备编号": "設備編號", "设备名称": "設備名稱" } }; // 获取翻译后的文本 const getEquipmentTranslation = (app, text) => { const language = app?.userinfo?.sLanguage || 'sChinese'; return equipmentTranslations[language]?.[text] || text; }; // 设备信息 const EquipmentInfo = props => { const { sTabName = "", app } = props; // 仍然使用中文进行逻辑判断 const chineseTabs = ["维修申请记录", "设备点检记录", "设备资料"]; if (!chineseTabs.includes(sTabName)) return ""; const tableName = sTabName === "维修申请记录" ? "table4" : sTabName === "设备点检记录" ? "elemachine" : "deviceinfo"; const { [`${tableName}Data`]: tableData = [] } = props; const viewRow = tableData[0] || {}; const { sMachineNo, sMachineName } = viewRow; return (
{getEquipmentTranslation(app, "设备信息")}
{getEquipmentTranslation(app, "设备编号")}:
{sMachineNo}
{getEquipmentTranslation(app, "设备名称")}:
{sMachineName}
); }; // 设备故障分析图表 const EquipmentFaultAnalysis = props => { const { sTabName = "", app } = props; // 获取当前语言的tab名称 const chineseTabs = ["设备维修记录", "设备点检明细"]; const currentTabs = chineseTabs.map(tab => getTranslation(app, tab)); // 仍然使用中文进行逻辑判断 if (!chineseTabs.includes(sTabName)) return ""; const tableName = sTabName === "设备维修记录" ? "table3" : "spotcheckanalyze"; const xName = sTabName === "设备维修记录" ? "sFaultType" : "sIntervaltype"; // 使用currentTabs中的翻译后文本进行界面显示 const displayTabName = currentTabs[chineseTabs.indexOf(sTabName)]; // 获取翻译后的标题 const chineseTitle = sTabName === "设备维修记录" ? "设备故障分析图表" : "点检故障分析图表"; const title = getTranslation(app, chineseTitle); const { [`${tableName}Data`]: tableData = [] } = props; const [pieProps, setPieProps] = useState({ data: [], hasLegend: true, valueFormat: false, lineWidth: 0, pageLoading: false, hasLend: true, height: 280 }); useEffect( () => { if (!tableData.length) return; const data = []; tableData.forEach(rowData => { const { [xName]: x, iCount: y } = rowData; data.push({ x, y }); }); setPieProps(pre => ({ ...pre, data })); }, [JSON.stringify(tableData)] ); return (
{title}
{pieProps.data.length ? ( ) : (
{getTranslation(app, "暂无数据")}
)}
); }; export default EquipmentRepair;