编辑页面

修改后将从当前时间重新计算过期时间
💡 人员档案说明:
• 工号自动生成,也可手动输入
• 人员信息与工资系统关联
• 离职后状态变更为"离职",不影响历史工资记录
`; break; case 'product': modalTitle.textContent = '新增产品档案'; content = `
💡 产品档案说明:
• 产品ID自动生成,也可手动输入
• 产品信息与生产、成本系统关联
• 含税单价自动根据税率计算
`; break; case 'process': modalTitle.textContent = '新增工序档案'; content = `
💡 工序档案说明:
• 工序ID自动生成,也可手动输入
• 工序与产品关联,影响生产效率计算
• 工序顺序决定生产流程
`; break; case 'equipment': modalTitle.textContent = '新增设备档案'; content = `
💡 设备档案说明:
• 设备ID自动生成
• 设备信息用于OEE计算
• 状态变更自动记录到设备日志
`; break; case 'energyType': modalTitle.textContent = '新增能源类型'; content = `
💡 能源类型说明:
• 能源ID自动生成
• 能源类型用于能耗成本计算
• 税率影响含税单价计算
`; break; } content += '
'; modalBody.innerHTML = content; modal.classList.add('show'); } function closeModal() { document.getElementById('modal').classList.remove('show'); } function saveData() { closeModal(); showToast('✅ 数据保存成功!'); } function showToast(message) { const toast = document.getElementById('toast'); toast.textContent = message; toast.classList.add('show'); setTimeout(() => toast.classList.remove('show'), 3000); } // 加载车间数据 function loadWorkshopData() { const tbody = document.getElementById('workshopTableBody'); const data = [ {id: 'WS001', name: '前处理车间', leader: '待定', dept: '生技部', status: '启用', date: '2024-01-01'}, {id: 'WS002', name: '一车间', leader: '待定', dept: '生技部', status: '启用', date: '2024-01-01'}, {id: 'WS003', name: '二车间', leader: '待定', dept: '生技部', status: '启用', date: '2024-01-01'}, {id: 'WS004', name: '三车间', leader: '待定', dept: '生技部', status: '启用', date: '2024-01-01'}, {id: 'WS005', name: '公用工程', leader: '待定', dept: '生技部', status: '启用', date: '2024-01-01'} ]; tbody.innerHTML = data.map(item => ` ${item.id} ${item.name} ${item.leader} ${item.dept} ● ${item.status} ${item.date} `).join(''); } function editItem(type, id) { showAddModal(type); } // 图表初始化 let chartsInitialized = false; function initCharts() { if (chartsInitialized) return; chartsInitialized = true; // 产值趋势图 new Chart(document.getElementById('productionTrendChart'), { type: 'line', data: { labels: ['1月', '2月', '3月', '4月', '5月'], datasets: [{ label: '产值(万元)', data: [12480, 12450, 13000, 12600, 13000], borderColor: '#667eea', backgroundColor: 'rgba(102, 126, 234, 0.1)', fill: true, tension: 0.4 }] }, options: { responsive: true, plugins: { legend: { display: false } } } }); // 车间产值饼图 new Chart(document.getElementById('workshopPieChart'), { type: 'doughnut', data: { labels: ['前处理', '一车间', '二车间', '三车间'], datasets: [{ data: [19.3, 25.2, 22.4, 33.1], backgroundColor: ['#667eea', '#764ba2', '#f093fb', '#4facfe'] }] }, options: { responsive: true } }); // 计件工资统计图 new Chart(document.getElementById('wageWorkshopChart'), { type: 'bar', data: { labels: ['前处理', '一车间', '二车间', '三车间', '公用工程'], datasets: [{ label: '工资总额(元)', data: [159860, 256789, 256520, 325632, 200012], backgroundColor: '#667eea' }] }, options: { responsive: true } }); // 能耗饼图 new Chart(document.getElementById('energyPieChart'), { type: 'pie', data: { labels: ['水', '电', '蒸汽', '天然气'], datasets: [{ data: [0.01, 87.8, 11.5, 0.7], backgroundColor: ['#4facfe', '#f093fb', '#667eea', '#764ba2'] }] }, options: { responsive: true } }); // 能耗趋势 new Chart(document.getElementById('energyTrendChart'), { type: 'line', data: { labels: ['1月', '2月', '3月', '4月', '5月'], datasets: [{ label: '能耗费用(元)', data: [445012, 0, 0, 0, 0], borderColor: '#667eea', backgroundColor: 'rgba(102, 126, 234, 0.1)', fill: true }] }, options: { responsive: true } }); // OEE趋势 new Chart(document.getElementById('oeeTrendChart'), { type: 'line', data: { labels: ['1月', '2月', '3月'], datasets: [{ label: 'OEE', data: [82.8, 80.7, 85.3], borderColor: '#667eea', fill: false }] }, options: { responsive: true } }); // M07统计可视化图表初始化 // 产值与成本趋势 if (document.getElementById('costTrendChart')) { new Chart(document.getElementById('costTrendChart'), { type: 'bar', data: { labels: ['1月', '2月', '3月', '4月', '5月'], datasets: [{ label: '产值(万元)', data: [12480, 12450, 13000, 12600, 13000], backgroundColor: '#667eea' }, { label: '成本(万元)', data: [13120, 13050, 13650, 13280, 13520], backgroundColor: '#f093fb' }] }, options: { responsive: true, plugins: { legend: { position: 'top' }, tooltip: { callbacks: { label: (ctx) => ctx.dataset.label + ': ' + ctx.raw.toLocaleString() + '万元' } } }, scales: { y: { beginAtZero: false } } } }); } // 工资与产量关联 if (document.getElementById('wageOutputChart')) { new Chart(document.getElementById('wageOutputChart'), { type: 'line', data: { labels: ['1月', '2月', '3月', '4月', '5月'], datasets: [{ label: '产量(吨)', data: [850, 840, 870, 860, 865], borderColor: '#667eea', backgroundColor: 'rgba(102, 126, 234, 0.1)', fill: true, yAxisID: 'y' }, { label: '工资总额(万元)', data: [119.88, 118.56, 122.05, 119.85, 121.00], borderColor: '#f093fb', backgroundColor: 'rgba(240, 147, 251, 0.1)', fill: true, yAxisID: 'y1' }] }, options: { responsive: true, plugins: { legend: { position: 'top' } }, scales: { y: { type: 'linear', position: 'left', title: { display: true, text: '产量(吨)' } }, y1: { type: 'linear', position: 'right', title: { display: true, text: '工资(万元)' }, grid: { drawOnChartArea: false } } } } }); } // 能耗效率分析 if (document.getElementById('energyEfficiencyChart')) { new Chart(document.getElementById('energyEfficiencyChart'), { type: 'bar', data: { labels: ['前处理', '一车间', '二车间', '三车间'], datasets: [{ label: '万元产值能耗(元)', data: [118, 125, 132, 121], backgroundColor: ['#667eea', '#764ba2', '#f093fb', '#4facfe'] }] }, options: { responsive: true, plugins: { legend: { display: false } }, scales: { y: { beginAtZero: true, title: { display: true, text: '元/万元产值' } } } } }); } // 设备OEE趋势 if (document.getElementById('deviceOeeChart')) { new Chart(document.getElementById('deviceOeeChart'), { type: 'line', data: { labels: ['1月', '2月', '3月', '4月', '5月'], datasets: [{ label: '时间开动率', data: [95.2, 93.9, 96.0, 94.5, 95.5], borderColor: '#667eea', fill: false }, { label: '性能开动率', data: [88.8, 87.6, 90.7, 89.2, 90.5], borderColor: '#f093fb', fill: false }, { label: '合格品率', data: [98, 98, 98, 98, 98], borderColor: '#4facfe', fill: false }, { label: 'OEE综合', data: [82.8, 80.7, 85.3, 83.5, 84.2], borderColor: '#43e97b', borderWidth: 3, fill: false }] }, options: { responsive: true, plugins: { legend: { position: 'top' } }, scales: { y: { min: 70, max: 100, title: { display: true, text: '百分比(%)' } } } } }); } // 产值月度趋势图 if (document.getElementById('outputTrendChart')) { new Chart(document.getElementById('outputTrendChart'), { type: 'line', data: { labels: ['1月', '2月', '3月', '4月', '5月'], datasets: [{ label: '产值(万元)', data: [12480, 12450, 13000, 12600, 13000], borderColor: '#667eea', backgroundColor: 'rgba(102, 126, 234, 0.1)', fill: true, tension: 0.4 }] }, options: { responsive: true, plugins: { legend: { display: false } }, scales: { y: { beginAtZero: false, title: { display: true, text: '产值(万元)' } } } } }); } // 各车间产值占比 if (document.getElementById('outputWorkshopChart')) { new Chart(document.getElementById('outputWorkshopChart'), { type: 'doughnut', data: { labels: ['前处理车间', '一车间', '二车间', '三车间'], datasets: [{ data: [2380, 3200, 2800, 4100], backgroundColor: ['#667eea', '#764ba2', '#f093fb', '#4facfe'] }] }, options: { responsive: true, plugins: { legend: { position: 'right' }, tooltip: { callbacks: { label: (ctx) => ctx.label + ': ' + ctx.raw.toLocaleString() + '万元' } } } } }); } // 成本构成分析图 if (document.getElementById('costBreakdownChart')) { new Chart(document.getElementById('costBreakdownChart'), { type: 'pie', data: { labels: ['直接材料', '直接人工', '能耗成本', '制造费用'], datasets: [{ data: [13, 14, 13.18, 0], backgroundColor: ['#667eea', '#f093fb', '#4facfe', '#43e97b'] }] }, options: { responsive: true, plugins: { legend: { position: 'right' }, tooltip: { callbacks: { label: (ctx) => ctx.label + ': ' + ctx.raw + '万元' } } } } }); } } // M07刷新图表 function refreshVizCharts() { const year = document.getElementById('vizYear')?.value || '2026'; const month = document.getElementById('vizMonth')?.value || 'all'; const workshop = document.getElementById('vizWorkshop')?.value || ''; showToast('📊 已刷新 ' + year + '年数据'); chartsInitialized = false; initCharts(); } // M07导出数据 function exportVizData() { showToast('📥 正在导出综合分析报表...'); } // 页面加载时初始化 document.addEventListener('DOMContentLoaded', function() { loadWorkshopData(); initCharts(); });
取消
访问码: 96kw3n2r