/** 入驻小区 **/ (function (vc) { var DEFAULT_PAGE = 1; var DEFAULT_ROWS = 10; vc.extends({ data: { assetImportLogInfo: { logs: [], total: 0, records: 1, moreCondition: false, carNum: '' } }, _initMethod: function () { // 标记组件未销毁 this._isDestroyed = false; console.log('导入日志列表页面初始化,开始加载数据'); // 直接调用数据加载方法,不等待mounted this._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS); }, _initEvent: function () { var $this = this; // 监听全局的assetImportLog事件 vc.on('assetImportLog', 'listAssetImportLog', function (_param) { // 检查组件是否已销毁 if (!$this._isDestroyed) { $this._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS); } }); // 监听分页事件 vc.on('pagination', 'page_event', function (_currentPage) { // 检查组件是否已销毁 if (!$this._isDestroyed) { $this._listAssetImportLogs(_currentPage, DEFAULT_ROWS); } }); }, _destroyedMethod: function () { console.log('导入日志列表页面已销毁,清理资源'); // 标记组件已销毁,用于异步回调中检查 this._isDestroyed = true; }, methods: { _listAssetImportLogs: function (_page, _rows) { console.log('调用_listAssetImportLogs方法,页码:', _page, '行数:', _rows); var $this = this; try { // 确保communityId正确获取 var currentCommunity = vc.getCurrentCommunity(); console.log('获取到的currentCommunity:', currentCommunity); var communityId = currentCommunity ? currentCommunity.communityId : ''; console.log('获取到的communityId:', communityId); if (!communityId) { console.error('无法获取communityId'); return; } var param = { params: { page: _page, row: _rows, communityId: communityId } }; console.log('发送请求的参数:', param); //发送get请求 vc.http.apiGet('/assetImportLog/queryAssetImportLog', param, function (json, res) { console.log('收到请求响应:', json, res); try { // 检查组件是否已销毁 if ($this._isDestroyed) { console.log('组件已销毁,跳过数据处理'); return; } let _assetImportLogInfo = JSON.parse(json); console.log('解析后的数据:', _assetImportLogInfo); // 验证数据格式,确保所有必要字段存在 if (_assetImportLogInfo && _assetImportLogInfo.code == 0) { // 为组件数据添加默认值,防止出现undefined错误 $this.assetImportLogInfo.total = _assetImportLogInfo.total || 0; $this.assetImportLogInfo.records = _assetImportLogInfo.records || 0; $this.assetImportLogInfo.logs = _assetImportLogInfo.data || []; console.log('设置组件数据:', $this.assetImportLogInfo); // 初始化分页组件 vc.emit('pagination', 'init', { total: $this.assetImportLogInfo.records, dataCount: $this.assetImportLogInfo.total, currentPage: _page }); } else { // 数据格式不符合预期,显示友好错误信息 console.warn('导入日志数据格式不符合预期:', _assetImportLogInfo); vc.toast('查询导入日志失败: ' + (_assetImportLogInfo.msg || '未知错误')); // 重置数据,避免显示旧数据 $this.assetImportLogInfo.total = 0; $this.assetImportLogInfo.records = 0; $this.assetImportLogInfo.logs = []; // 重置分页组件 vc.emit('pagination', 'init', { total: 0, dataCount: 0, currentPage: _page }); } } catch (e) { // 解析失败,显示友好错误信息 console.error('解析导入日志失败:', e, json); vc.toast('解析导入日志失败: ' + e.message); // 重置数据,避免显示旧数据 $this.assetImportLogInfo.total = 0; $this.assetImportLogInfo.records = 0; $this.assetImportLogInfo.logs = []; // 重置分页组件 vc.emit('pagination', 'init', { total: 0, dataCount: 0, currentPage: _page }); } }, function (errInfo, error) { // 检查组件是否已销毁 if ($this._isDestroyed) { console.log('组件已销毁,跳过错误处理'); return; } // 详细记录错误信息,便于调试 console.error('请求导入日志失败:', errInfo, error); // 显示友好的错误信息 let errorMsg = '查询导入日志失败: '; if (errInfo && errInfo.includes('Read timed out')) { errorMsg += '请求超时,请稍后重试'; } else if (errInfo && errInfo.includes('I/O error')) { errorMsg += '网络异常,请检查网络连接'; } else { errorMsg += (errInfo || '未知错误'); } vc.toast(errorMsg); // 重置数据,避免显示旧数据 $this.assetImportLogInfo.total = 0; $this.assetImportLogInfo.records = 0; $this.assetImportLogInfo.logs = []; // 重置分页组件 vc.emit('pagination', 'init', { total: 0, dataCount: 0, currentPage: _page }); } ); } catch (e) { console.error('调用_listAssetImportLogs方法失败:', e); } }, _queryData: function () { this._listAssetImportLogs(DEFAULT_PAGE, DEFAULT_ROWS); }, _openDetail: function (_log) { vc.jumpToPage('/#/pages/property/assetImportLogDetail?logId=' + _log.logId + "&logType=" + _log.logType); } } }); })(window.vc);