| | |
| | | pageList: [] |
| | | }, |
| | | jumpPage: 1, |
| | | currentTab: 'convention', |
| | | currentTab: 'publicIncome', |
| | | conditions: { |
| | | startDate: '', |
| | | endDate: '' |
| | | }, |
| | | editForm: { |
| | | id: '', |
| | | amount: '', |
| | | meetingResolution: '1', |
| | | consultationForm: '1' |
| | | } |
| | | } |
| | | }, |
| | | _initMethod: function () { |
| | | $that = vc.component; |
| | | $that._injectStyles(); |
| | | $that._initDate(); |
| | | $that._listData(DEFAULT_PAGE, DEFAULT_ROWS); |
| | | // 进入页面时立即调用接口 |
| | | $that._loadPublicIncomeData(DEFAULT_PAGE, DEFAULT_ROWS); |
| | | // 根据当前标签页加载数据 |
| | | if ($that.moreInfo.currentTab !== 'publicIncome') { |
| | | $that._listData(DEFAULT_PAGE, DEFAULT_ROWS); |
| | | } |
| | | }, |
| | | _initEvent: function () { |
| | | }, |
| | |
| | | todayBtn: true, |
| | | clearBtn: true |
| | | }); |
| | | |
| | | |
| | | // 设置默认日期为当前月份 |
| | | var now = new Date(); |
| | | var year = now.getFullYear(); |
| | |
| | | var startDateStr = year + '-' + (month < 10 ? '0' + month : month) + '-01'; |
| | | var endDate = new Date(year, month, 0); // 获取当月最后一天 |
| | | var endDateStr = year + '-' + (month < 10 ? '0' + month : month) + '-' + endDate.getDate(); |
| | | |
| | | |
| | | $that.moreInfo.conditions.startDate = startDateStr; |
| | | $that.moreInfo.conditions.endDate = endDateStr; |
| | | $(".startDate").val(startDateStr); |
| | | $(".endDate").val(endDateStr); |
| | | |
| | | |
| | | $('.startDate').datetimepicker() |
| | | .on('changeDate', function (ev) { |
| | | var value = $(".startDate").val(); |
| | |
| | | $that.moreInfo.conditions.endDate = value; |
| | | } |
| | | }); |
| | | |
| | | |
| | | // 防止多次点击时间插件失去焦点 |
| | | var startDateElements = document.getElementsByClassName('form-control startDate'); |
| | | if (startDateElements.length > 0) { |
| | | startDateElements[0].addEventListener('click', function(e) { |
| | | startDateElements[0].addEventListener('click', function (e) { |
| | | e.currentTarget.blur(); |
| | | }); |
| | | } |
| | | var endDateElements = document.getElementsByClassName('form-control endDate'); |
| | | if (endDateElements.length > 0) { |
| | | endDateElements[0].addEventListener('click', function(e) { |
| | | endDateElements[0].addEventListener('click', function (e) { |
| | | e.currentTarget.blur(); |
| | | }); |
| | | } |
| | |
| | | changeTab: function (_tab) { |
| | | $that.moreInfo.currentTab = _tab; |
| | | // 根据标签页加载不同数据 |
| | | $that._listData(DEFAULT_PAGE, $that.moreInfo.paginationInfo.rows); |
| | | if (_tab === 'publicIncome') { |
| | | // 公共收益金标签,调用特殊接口 |
| | | $that._loadPublicIncomeData(DEFAULT_PAGE, $that.moreInfo.paginationInfo.rows); |
| | | } else { |
| | | $that._listData(DEFAULT_PAGE, $that.moreInfo.paginationInfo.rows); |
| | | } |
| | | }, |
| | | _loadPublicIncomeData: function (_page, _rows) { |
| | | // 获取URL参数中的costDetailId |
| | | var costDetailId = vc.getParam('costDetailId'); |
| | | if (!costDetailId) { |
| | | // 尝试从hash中获取 |
| | | var hash = location.hash; |
| | | if (hash && hash.indexOf('?') !== -1) { |
| | | var hashParams = hash.substring(hash.indexOf('?') + 1); |
| | | var params = hashParams.split('&'); |
| | | for (var i = 0; i < params.length; i++) { |
| | | var param = params[i].split('='); |
| | | if (param[0] === 'costDetailId') { |
| | | costDetailId = decodeURIComponent(param[1] || ''); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (!costDetailId) { |
| | | vc.toast('缺少costDetailId参数'); |
| | | return; |
| | | } |
| | | |
| | | var param = { |
| | | params: { |
| | | mpId: costDetailId, |
| | | page: _page, |
| | | row: _rows |
| | | } |
| | | }; |
| | | |
| | | // 调用公共收益金接口 |
| | | vc.http.apiGet('/announcementTimeRange/queryAnnouncementTimeRangeInfo', |
| | | param, |
| | | function (json, res) { |
| | | try { |
| | | var _json = JSON.parse(json); |
| | | if (_json.code === "0000") { |
| | | var total = _json.total || 0; |
| | | var rows = _rows || DEFAULT_ROWS; |
| | | // 计算总页数 |
| | | var totalPages = Math.ceil(total / rows); |
| | | if (totalPages === 0) { |
| | | totalPages = 1; |
| | | } |
| | | |
| | | $that.moreInfo.paginationInfo.dataCount = total; |
| | | $that.moreInfo.paginationInfo.total = totalPages; |
| | | |
| | | // 映射数据字段 |
| | | var dataList = []; |
| | | if (_json.data && Array.isArray(_json.data)) { |
| | | dataList = _json.data.map(function(item) { |
| | | return { |
| | | id: item.id, |
| | | mpId: item.mpId, |
| | | proposedStartDate: item.plannedAnnouncementStart || '-', |
| | | proposedEndDate: item.plannedAnnouncementEnd || '-', |
| | | publishedStartDate: item.publishedAnnouncementStart || '-', |
| | | publishedEndDate: item.publishedAnnouncementEnd || '-', |
| | | createTime: item.createTime || '', |
| | | updateTime: item.updateTime || '', |
| | | _originalData: item |
| | | }; |
| | | }); |
| | | } |
| | | |
| | | $that.moreInfo.dataList = dataList; |
| | | $that.moreInfo.paginationInfo.currentPage = _page; |
| | | $that._freshPageList(); |
| | | } else { |
| | | vc.toast(_json.msg || '查询失败'); |
| | | $that.moreInfo.dataList = []; |
| | | $that.moreInfo.paginationInfo.dataCount = 0; |
| | | $that.moreInfo.paginationInfo.total = 1; |
| | | $that.moreInfo.paginationInfo.currentPage = _page; |
| | | $that._freshPageList(); |
| | | } |
| | | } catch (e) { |
| | | console.error('数据解析失败:', e); |
| | | vc.toast('数据解析失败'); |
| | | $that.moreInfo.dataList = []; |
| | | $that.moreInfo.paginationInfo.dataCount = 0; |
| | | $that.moreInfo.paginationInfo.total = 1; |
| | | $that.moreInfo.paginationInfo.currentPage = _page; |
| | | $that._freshPageList(); |
| | | } |
| | | }, |
| | | function (errInfo, error) { |
| | | console.error('请求失败:', errInfo, error); |
| | | vc.toast(errInfo || '请求失败,请检查网络连接'); |
| | | $that.moreInfo.dataList = []; |
| | | $that.moreInfo.paginationInfo.dataCount = 0; |
| | | $that.moreInfo.paginationInfo.total = 1; |
| | | $that.moreInfo.paginationInfo.currentPage = _page; |
| | | $that._freshPageList(); |
| | | } |
| | | ); |
| | | }, |
| | | _listData: function (_page, _rows) { |
| | | $that.moreInfo.conditions.page = _page; |
| | |
| | | var currentPage = $that.moreInfo.paginationInfo.currentPage; |
| | | var total = $that.moreInfo.paginationInfo.total; |
| | | var pageList = []; |
| | | |
| | | |
| | | if (total <= 7) { |
| | | // 总页数小于等于7,显示所有页码 |
| | | for (var i = 1; i <= total; i++) { |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | $that.moreInfo.paginationInfo.pageList = pageList; |
| | | }, |
| | | _changePageSize: function () { |
| | | $that._listData(DEFAULT_PAGE, $that.moreInfo.paginationInfo.rows); |
| | | if ($that.moreInfo.currentTab === 'publicIncome') { |
| | | $that._loadPublicIncomeData(DEFAULT_PAGE, $that.moreInfo.paginationInfo.rows); |
| | | } else { |
| | | $that._listData(DEFAULT_PAGE, $that.moreInfo.paginationInfo.rows); |
| | | } |
| | | }, |
| | | _goToPage: function (_page) { |
| | | if (!_page || _page < 1 || _page > $that.moreInfo.paginationInfo.total) { |
| | | return; |
| | | } |
| | | $that._listData(_page, $that.moreInfo.paginationInfo.rows); |
| | | if ($that.moreInfo.currentTab === 'publicIncome') { |
| | | $that._loadPublicIncomeData(_page, $that.moreInfo.paginationInfo.rows); |
| | | } else { |
| | | $that._listData(_page, $that.moreInfo.paginationInfo.rows); |
| | | } |
| | | }, |
| | | _jumpToPage: function () { |
| | | var page = parseInt($that.moreInfo.jumpPage); |
| | |
| | | if (page > $that.moreInfo.paginationInfo.total) { |
| | | page = $that.moreInfo.paginationInfo.total; |
| | | } |
| | | $that._listData(page, $that.moreInfo.paginationInfo.rows); |
| | | if ($that.moreInfo.currentTab === 'publicIncome') { |
| | | $that._loadPublicIncomeData(page, $that.moreInfo.paginationInfo.rows); |
| | | } else { |
| | | $that._listData(page, $that.moreInfo.paginationInfo.rows); |
| | | } |
| | | }, |
| | | _add: function () { |
| | | // 添加功能 |
| | |
| | | // 导出功能 |
| | | vc.toast('导出功能'); |
| | | }, |
| | | _viewDetail: function (_item) { |
| | | _viewDetailPublicIncome: function (_item) { |
| | | // 查看详情 |
| | | vc.toast('查看详情功能'); |
| | | }, |
| | | _edit: function (_item) { |
| | | // 编辑 |
| | | vc.toast('编辑功能'); |
| | | _showEditPublicModal: function () { |
| | | const modal = document.getElementById('editPublicIncomeModal'); |
| | | modal.classList.add('show'); |
| | | modal.style.display = 'block'; |
| | | modal.removeAttribute('inert'); |
| | | modal.removeAttribute('aria-hidden'); |
| | | modal.setAttribute('aria-modal', 'true'); |
| | | modal.focus(); |
| | | }, |
| | | _hideEditPublicModal: function () { |
| | | const modal = document.getElementById('editPublicIncomeModal'); |
| | | modal.classList.remove('show'); |
| | | modal.style.display = 'none'; |
| | | modal.setAttribute('inert', ''); |
| | | modal.setAttribute('aria-hidden', 'true'); |
| | | modal.removeAttribute('aria-modal'); |
| | | }, |
| | | _editPublicIncome: function (_item) { |
| | | // 编辑 - 填充表单数据 |
| | | // $that.moreInfo.editForm.id = _item.id || ''; |
| | | // $that.moreInfo.editForm.amount = _item.amount || ''; |
| | | // $that.moreInfo.editForm.meetingResolution = _item.meetingResolution || '1'; |
| | | // $that.moreInfo.editForm.consultationForm = _item.consultationForm || '1'; |
| | | // 打开弹窗 |
| | | $that._showEditPublicModal(); |
| | | }, |
| | | _saveEditPublicIncome: function () { |
| | | // 保存编辑 |
| | | var param = { |
| | | params: { |
| | | id: $that.moreInfo.editForm.id, |
| | | amount: $that.moreInfo.editForm.amount, |
| | | meetingResolution: $that.moreInfo.editForm.meetingResolution, |
| | | consultationForm: $that.moreInfo.editForm.consultationForm, |
| | | communityId: vc.getCurrentCommunity().communityId |
| | | } |
| | | }; |
| | | vc.http.apiPost('/costDetail/updatePublicIncome', |
| | | param, |
| | | function (json, res) { |
| | | vc.toast('保存成功'); |
| | | $that._hideEditPublicModal(); |
| | | $that._listData($that.moreInfo.paginationInfo.currentPage, $that.moreInfo.paginationInfo.rows); |
| | | }, |
| | | function (errInfo, error) { |
| | | vc.message(errInfo); |
| | | } |
| | | ); |
| | | }, |
| | | _delete: function (_item) { |
| | | vc.confirm('确定要删除这条记录吗?', function () { |