UNPKG

lixin-web

Version:

vue and bootstrap

103 lines (97 loc) 2.64 kB
import {round} from 'lodash' import {isNumeric} from '_Will' export const valToText = (arr,value) => arr.find(i => i[1] === value)[0] export const statusArr = [ ['全部状态', ''], ['未开奖', 0], ['未中奖', 1], ['已中奖', 2], ['已撤单', -1], ] export const betsModel = [ ['元', 'yuan'], ['角', 'jiao'], ['分', 'fen'], ['厘', 'li'], ] export const accountType = [ ['代理', 1], ['玩家', 0], ] export const paginationDef = (total,pageSize) => { let pageSizes = [pageSize, Math.floor(2.5 * pageSize / 10) * 10, 50, 100].slice(0, total >= 7.5 * pageSize ? 4 : Math[total > pageSize ? 'ceil' : 'floor'](total / (2.5 * pageSize)) + 1) let layout = [total > pageSize ? 'total' : ''] pageSizes.length > 1 && layout.push('sizes') total > pageSize && layout.push('prev, pager, next') total > pageSize * 5 && // layout.splice(-1, 0, 'jumper') layout.push('jumper') return { layout: layout.join(), pageSizes, pageSize, } } export const getSummaries = (param,{firstTemp = '总计',filter,unit = ' 元',tableData} = {}) => { const { columns, data } = tableData ? {columns:param.columns,data:tableData} : param; const sums = []; columns.forEach((column, index) => { if (index === 0) { return sums[index] = firstTemp; } if (filter && filter.indexOf(column.property) === -1) return const values = data.map(item => Number(item[column.property])); if (!values.every(value => isNaN(value))) { sums[index] = round(values.reduce((prev, curr) => { if (isNumeric(curr)) { return prev + curr; } else { return prev; } }, 0),3); sums[index] += unit; } else { sums[index] = ''; } }); return sums; } export default { data(){ return { tableData: [], pageData:[], loading: false, pageSize: 10, initPageSize:10, pageTotal: 0, currentPage: 1 } }, created(){ this.getData(false); }, methods:{ pageChange({page, size}, serve = true){ let isChangeCurrent = this.pageSize == size if(isChangeCurrent) { this.currentPage = page //simple cache if(this.pageData[page - 1]) { return this.tableData = this.pageData[page - 1] } }else{ this.pageSize = size this.pageData = [] } serve && this.getData() }, valToText }, computed:{ paginationDef(){ return paginationDef(this.pageTotal,this.initPageSize) } } }