define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { var Controller = { index: function () { // 初始化表格参数配置 Table.api.init({ extend: { index_url: 'records/index' + location.search, add_url: 'records/add', edit_url: 'records/edit', del_url: 'records/del', multi_url: 'records/multi', import_url: 'records/import', table: 'records', } }); var table = $("#table"); // 初始化表格 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', sortName: 'id', fixedColumns: true, fixedRightNumber: 1, columns: [ [ {checkbox: true}, {field: 'id', title: __('Id')}, {field: 'rfid', title: '电子耳标号', operate: 'LIKE'}, {field: 'number', title:'国标号', operate: 'LIKE'}, {field: 'birthDate', title:"出生日期", operate: 'LIKE'}, {field: 'category', title: "品类", operate: 'LIKE'}, {field: 'gender', title:"性别", operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, {field: 'dayage', title: "日龄", operate: 'LIKE'}, // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} ] ] }); // 使用全局事件委托,确保即使DOM动态变化也能触发 $(document).ready(function() { console.log('绑定事件'); // 直接绑定到body的点击事件,用于测试按钮点击是否有反应 $(document).on('click', '.btn-file', function() { console.log('按钮被点击了'); // 手动触发文件输入框 var fileInput = $('#xlsxFile'); if(fileInput.length) { console.log('文件输入框存在,触发点击'); fileInput.click(); } else { console.error('文件输入框不存在!'); } }); // 绑定文件选择事件 $(document).on('change', '#xlsxFile', function() { console.log('文件选择事件触发!'); var file = this.files[0]; if (!file) { console.log('未选择文件'); return; } console.log('已选择文件:', file.name, '大小:', file.size, '类型:', file.type); // 检查文件类型 var ext = file.name.split('.').pop().toLowerCase(); console.log('文件扩展名:', ext); if (ext !== 'xlsx' && ext !== 'xls') { layer.msg('请选择Excel文件(.xlsx或.xls)', {icon: 2}); return; } var formData = new FormData(); formData.append('file', file); // 检查formData内容 for (var pair of formData.entries()) { console.log('FormData键值对:', pair[0], pair[1]); } console.log('准备发送AJAX请求'); // 创建进度条弹窗 var progressBar = layer.open({ type: 1, title: '导入进度', area: ['400px', '200px'], content: '
准备导入...