/** 费用明细表 **/ (function (vc) { var DEFAULT_PAGE = 1; var DEFAULT_ROWS = 15; var $that = {}; vc.extends({ data: { costDetailInfo: { costDetails: [], paginationInfo: { currentPage: 1, rows: DEFAULT_ROWS, total: 1, dataCount: 0, pageList: [] }, jumpPage: 1, conditions: { date: '', communityName: '', communityCode: '' } } }, _initMethod: function () { $that = vc.component; $that._injectStyles(); $that._listCostDetails(DEFAULT_PAGE, DEFAULT_ROWS); $that._initDate(); }, _initEvent: function () { vc.on('costDetail', 'listCostDetail', function (_param) { $that._listCostDetails(DEFAULT_PAGE, DEFAULT_ROWS); }); }, methods: { _initDate: function () { $(".queryDate").datetimepicker({ language: 'zh-CN', fontAwesome: 'fa', format: 'yyyy-mm-dd hh:ii:ss', initTime: true, initialDate: new Date(), autoClose: 1, todayBtn: true }); $('.queryDate').datetimepicker() .on('changeDate', function (ev) { var value = $(".queryDate").val(); $that.costDetailInfo.conditions.date = value; }); //防止多次点击时间插件失去焦点 var queryDateElements = document.getElementsByClassName('form-control queryDate'); if (queryDateElements.length > 0) { queryDateElements[0].addEventListener('click', function(e) { e.currentTarget.blur(); }); } }, _listCostDetails: function (_page, _rows) { $that.costDetailInfo.conditions.page = _page; $that.costDetailInfo.conditions.row = _rows; $that.costDetailInfo.conditions.communityId = vc.getCurrentCommunity().communityId; var param = { params: $that.costDetailInfo.conditions }; //发送get请求 vc.http.apiGet('/costDetail/queryCostDetail', param, function (json, res) { var _json = JSON.parse(json); $that.costDetailInfo.paginationInfo.dataCount = _json.total || 0; $that.costDetailInfo.paginationInfo.total = _json.records || 1; $that.costDetailInfo.costDetails = _json.data || []; $that.costDetailInfo.paginationInfo.currentPage = _page; $that._freshPageList(); }, function (errInfo, error) { console.log('请求失败处理'); $that.costDetailInfo.costDetails = []; $that.costDetailInfo.paginationInfo.dataCount = 0; $that.costDetailInfo.paginationInfo.total = 1; $that._freshPageList(); } ); }, _freshPageList: function () { var currentPage = $that.costDetailInfo.paginationInfo.currentPage; var total = $that.costDetailInfo.paginationInfo.total; var pageList = []; if (total <= 7) { // 总页数小于等于7,显示所有页码 for (var i = 1; i <= total; i++) { pageList.push({ page: i, pageView: i, currentPage: i == currentPage }); } } else { // 总页数大于7,显示部分页码 if (currentPage <= 4) { // 当前页在前4页 for (var i = 1; i <= 5; i++) { pageList.push({ page: i, pageView: i, currentPage: i == currentPage }); } pageList.push({ page: 0, pageView: '...', currentPage: false }); pageList.push({ page: total, pageView: total, currentPage: false }); } else if (currentPage >= total - 3) { // 当前页在后4页 pageList.push({ page: 1, pageView: 1, currentPage: false }); pageList.push({ page: 0, pageView: '...', currentPage: false }); for (var i = total - 4; i <= total; i++) { pageList.push({ page: i, pageView: i, currentPage: i == currentPage }); } } else { // 当前页在中间 pageList.push({ page: 1, pageView: 1, currentPage: false }); pageList.push({ page: 0, pageView: '...', currentPage: false }); for (var i = currentPage - 1; i <= currentPage + 1; i++) { pageList.push({ page: i, pageView: i, currentPage: i == currentPage }); } pageList.push({ page: 0, pageView: '...', currentPage: false }); pageList.push({ page: total, pageView: total, currentPage: false }); } } $that.costDetailInfo.paginationInfo.pageList = pageList; }, _queryCostDetails: function () { $that._listCostDetails(DEFAULT_PAGE, $that.costDetailInfo.paginationInfo.rows); }, _resetQuery: function () { $that.costDetailInfo.conditions.date = ''; $that.costDetailInfo.conditions.communityName = ''; $that.costDetailInfo.conditions.communityCode = ''; $('.queryDate').val(''); $that._listCostDetails(DEFAULT_PAGE, $that.costDetailInfo.paginationInfo.rows); }, _changePageSize: function () { $that._listCostDetails(DEFAULT_PAGE, $that.costDetailInfo.paginationInfo.rows); }, _goToPage: function (_page) { if (!_page || _page < 1 || _page > $that.costDetailInfo.paginationInfo.total) { return; } $that._listCostDetails(_page, $that.costDetailInfo.paginationInfo.rows); }, _jumpToPage: function () { var page = parseInt($that.costDetailInfo.jumpPage); if (isNaN(page) || page < 1) { page = 1; } if (page > $that.costDetailInfo.paginationInfo.total) { page = $that.costDetailInfo.paginationInfo.total; } $that._listCostDetails(page, $that.costDetailInfo.paginationInfo.rows); }, _downloadTemplate: function () { // 下载模板 vc.toast('模板下载功能'); }, _importCostDetail: function () { // 打开本地文件 vc.toast('费用导入功能'); }, _addCostDetail: function () { // 跳转到添加页面 vc.jumpToPage('/#/pages/property/costDetail/add'); }, _viewCostDetail: function (_item) { // 查看详情 vc.jumpToPage('/#/pages/property/costDetail/detail?costDetailId=' + _item.costDetailId); }, _viewMore: function (_item) { // 查看更多 vc.jumpToPage('/#/pages/property/costDetail/more?costDetailId=' + _item.costDetailId); }, _editCostDetail: function (_item) { // 编辑 vc.jumpToPage('/#/pages/property/costDetail/edit?costDetailId=' + _item.costDetailId); }, _deleteCostDetail: function (_item) { vc.confirm('确定要删除这条费用明细吗?', function () { var param = { params: { costDetailId: _item.costDetailId } }; vc.http.apiPost('/costDetail/deleteCostDetail', param, function (json, res) { vc.toast('删除成功'); $that._listCostDetails($that.costDetailInfo.paginationInfo.currentPage, $that.costDetailInfo.paginationInfo.rows); }, function (errInfo, error) { vc.message(errInfo); } ); }); } } }); })(window.vc);