/** * 班级操行分管理系统 - 科目管理页JS * * 开发者: Canglan * 版权归属: Sea Network Technology Studio * * 版权所有 © Sea Network Technology Studio */ (function() { 'use strict'; async function loadSubjects() { const res = await apiGet('/api/subject/list'); if (res && res.success) { let html = ''; res.data.subjects.forEach(sub => { html += `
${escapeHtml(sub.subject_name)} ${escapeHtml(sub.subject_code || '')} ${sub.is_active ? '启用' : '禁用'}
`; }); if (res.data.subjects.length === 0) { html = '

暂无科目,请点击"添加科目"

'; } document.getElementById('subjectList').innerHTML = html; } } async function toggleSubject(subjectId, enable) { const res = await apiPut(`/api/subject/update/${subjectId}`, { is_active: enable }); if (res && res.success) { showToast(enable ? '科目已启用' : '科目已禁用'); loadSubjects(); } else { showToast(res?.message || '操作失败', 'error'); } } async function deleteSubject(subjectId) { if (!confirm('确定要删除该科目吗?')) return; const res = await apiDelete('/api/subject/delete/' + subjectId); if (res && res.success) { showToast('科目删除成功'); loadSubjects(); } else { showToast(res?.message || '删除失败', 'error'); } } function showEditSubjectModal(subjectId, name, code, sortOrder) { document.getElementById('editSubjectId').value = subjectId; document.getElementById('editSubjectName').value = name; document.getElementById('editSubjectCode').value = code; document.getElementById('editSubjectSortOrder').value = sortOrder; document.getElementById('editSubjectModal').style.display = 'flex'; } async function submitEditSubject() { const subjectId = document.getElementById('editSubjectId').value; const subjectName = document.getElementById('editSubjectName').value.trim(); const subjectCode = document.getElementById('editSubjectCode').value.trim(); const sortOrder = document.getElementById('editSubjectSortOrder').value; if (!subjectName) { showToast('请填写科目名称', 'warning'); return; } const data = { subject_name: subjectName }; if (subjectCode) data.subject_code = subjectCode; if (sortOrder !== '') data.sort_order = parseInt(sortOrder); const res = await apiPut(`/api/subject/update/${subjectId}`, data); if (res && res.success) { showToast('科目更新成功'); closeModal('editSubjectModal'); loadSubjects(); } else { showToast(res?.message || '更新失败', 'error'); } } loadSubjects(); window.loadSubjects = loadSubjects; window.toggleSubject = toggleSubject; window.deleteSubject = deleteSubject; window.showEditSubjectModal = showEditSubjectModal; window.submitEditSubject = submitEditSubject; })();