/** * 电话表管理模块 * 功能:实现电话表的查询、添加、编辑、删除和导入功能 * 后端API:基于Spring Boot实现的电话表管理接口 */ (function (vc) { // 默认分页参数 var DEFAULT_PAGE = 1; var DEFAULT_ROWS = 10; vc.extends({ data: { // 电话表管理信息对象 phoneMeterManageInfo: { // 电话表数据列表 phoneBillFlows: [], // 总记录数 total: 0, // 总页数 records: 1, // 是否显示更多查询条件 moreCondition: false, // 房间名称 roomName: '', // 查询条件 conditions: { // 设备编号 deviceNum: '', // 房间编号 roomNum: '', // 对象ID(房间ID) objId: '' }, // 定时器对象,用于输入搜索 timer: {} } }, /** * 初始化方法 * 功能:初始化房间树、加载电话表数据 */ _initMethod: function () { // 初始化房间树组件 vc.emit('roomTreeDiv', 'initRoomTreeDiv', { callName: 'phoneMeterManage' }); // 加载电话表数据 $that._listPhoneBillFlows(DEFAULT_PAGE, DEFAULT_ROWS); }, /** * 初始化事件监听 * 功能:监听组件间的事件通信 */ _initEvent: function () { // 监听选择房间事件 vc.on('phoneMeterManage', 'selectRoom', function (_param) { $that.phoneMeterManageInfo.conditions.objId = _param.roomId; $that.phoneMeterManageInfo.conditions.roomNum = ''; $that.phoneMeterManageInfo.roomName = _param.roomName; // 重新加载电话表数据 $that._listPhoneBillFlows(DEFAULT_PAGE, DEFAULT_ROWS); }); // 监听列表刷新事件 vc.on('phoneMeterManage', 'listPhoneBillFlow', function (_param) { $that._listPhoneBillFlows(DEFAULT_PAGE, DEFAULT_ROWS); }); // 监听分页事件 vc.on('pagination', 'page_event', function (_currentPage) { $that._listPhoneBillFlows(_currentPage, DEFAULT_ROWS); }); // 监听通知房间事件 vc.on('phoneMeterManage', 'notifyRoom', function (_room) { $that.phoneMeterManageInfo.conditions.roomNum = _room.floorNum + "-" + _room.unitNum + "-" + _room.roomNum; // 重新加载电话表数据 $that._listPhoneBillFlows(DEFAULT_PAGE, DEFAULT_ROWS); }); }, methods: { /** * 查询电话表数据 * @param {number} _page 当前页码 * @param {number} _rows 每页记录数 */ _listPhoneBillFlows: function (_page, _rows) { // 设置分页参数 $that.phoneMeterManageInfo.conditions.page = _page; $that.phoneMeterManageInfo.conditions.row = _rows; // 设置小区ID $that.phoneMeterManageInfo.conditions.communityId = vc.getCurrentCommunity().communityId; // 构建请求参数 let param = { params: $that.phoneMeterManageInfo.conditions }; // 去除首尾空格 param.params.deviceNum = param.params.deviceNum.trim(); param.params.roomNum = param.params.roomNum.trim(); // 发送GET请求查询电话表数据 vc.http.apiGet('/phoneBillFlowInfo/queryPhoneBillFlowInfo', param, function (json, res) { // 解析响应数据 let _json = JSON.parse(json); // 更新数据列表 $that.phoneMeterManageInfo.total = _json.total; $that.phoneMeterManageInfo.records = _json.records; $that.phoneMeterManageInfo.phoneBillFlows = _json.data; // 更新分页组件 vc.emit('pagination', 'init', { total: $that.phoneMeterManageInfo.records, dataCount: $that.phoneMeterManageInfo.total, currentPage: _page }); }, function (errInfo, error) { // 错误处理 console.log('请求失败处理'); } ); }, /** * 打开添加电话表模态框 * 功能:触发添加电话表组件的打开事件 */ _openAddPhoneBillFlowModal: function () { vc.emit('addPhoneBillFlow', 'openAddPhoneBillFlowModal', { roomId: $that.phoneMeterManageInfo.conditions.objId, roomName: $that.phoneMeterManageInfo.roomName }); }, /** * 打开编辑电话表模态框 * 功能:触发编辑电话表组件的打开事件 * @param {object} _phoneBillFlow 电话表数据对象 */ _openEditPhoneBillFlowModel: function (_phoneBillFlow) { vc.emit('editPhoneBillFlow', 'openEditPhoneBillFlowModal', _phoneBillFlow); }, /** * 打开删除电话表模态框 * 功能:触发删除电话表组件的打开事件 * @param {object} _phoneBillFlow 电话表数据对象 */ _openDeletePhoneBillFlowModel: function (_phoneBillFlow) { vc.emit('deletePhoneBillFlow', 'openDeletePhoneBillFlowModal', _phoneBillFlow); }, /** * 执行查询操作 * 功能:根据当前查询条件重新加载数据 */ _queryPhoneBillFlowMethod: function () { $that._listPhoneBillFlows(DEFAULT_PAGE, DEFAULT_ROWS); }, /** * 执行重置操作 * 功能:清空查询条件并重新加载数据 */ _resetPhoneBillFlowMethod: function () { // 清空查询条件 $that.phoneMeterManageInfo.conditions.roomNum = ""; $that.phoneMeterManageInfo.conditions.deviceNum = ""; // 重新加载数据 $that._listPhoneBillFlows(DEFAULT_PAGE, DEFAULT_ROWS); }, /** * 切换更多查询条件显示状态 * 功能:控制更多查询条件的显示与隐藏 */ _moreCondition: function () { if ($that.phoneMeterManageInfo.moreCondition) { $that.phoneMeterManageInfo.moreCondition = false; } else { $that.phoneMeterManageInfo.moreCondition = true; } }, /** * 打开导入电话表模态框 * 功能:触发导入电话表组件的打开事件 */ _openPhoneBillFlowImport: function () { vc.emit('importPhoneBillFlow', 'openImportPhoneBillFlowModal', {}); }, /** * 房间输入搜索 * 功能:通过输入房间编号搜索房间 */ _phoneInputRoom: function () { // 清除之前的定时器 if ($that.phoneMeterManageInfo.timer) { clearTimeout($that.phoneMeterManageInfo.timer) } // 设置新的定时器,延迟1.5秒执行搜索 $that.phoneMeterManageInfo.timer = setTimeout(() => { vc.emit('inputSearchRoomInfo', 'searchRoom', { callComponent: 'phoneMeterManage', roomName: $that.phoneMeterManageInfo.conditions.roomNum }); }, 1500) } } }); })(window.vc);