Files
gva/web/src/mixins/infoList.js
2021-09-07 15:11:36 +08:00

62 lines
1.7 KiB
JavaScript

import { getDict } from '@/utils/dictionary'
import { formatTimeToStr } from '@/utils/date'
export default {
data() {
return {
page: 1,
total: 10,
pageSize: 10,
tableData: [],
searchInfo: {}
}
},
methods: {
formatBoolean: function(bool) {
if (bool !== null) {
return bool ? '是' : '否'
} else {
return ''
}
},
formatDate: function(time) {
if (time !== null && time !== '') {
var date = new Date(time)
return formatTimeToStr(date, 'yyyy-MM-dd hh:mm:ss')
} else {
return ''
}
},
filterDict(value, type) {
const rowLabel = this[type + 'Options'] && this[type + 'Options'].filter(item => item.value === value)
return rowLabel && rowLabel[0] && rowLabel[0].label
},
async getDict(type) {
const dicts = await getDict(type)
this[type + 'Options'] = dicts
return dicts
},
handleSizeChange(val) {
this.pageSize = val
this.getTableData()
},
handleCurrentChange(val) {
this.page = val
this.getTableData()
},
// @params beforeFunc function 请求发起前执行的函数 默认为空函数
// @params afterFunc function 请求完成后执行的函数 默认为空函数
async getTableData(beforeFunc = () => {}, afterFunc = () => {}) {
beforeFunc()
const table = await this.listApi({ page: this.page, pageSize: this.pageSize, ...this.searchInfo })
if (table.code === 0) {
this.tableData = table.data.list
this.total = table.data.total
this.page = table.data.page
this.pageSize = table.data.pageSize
}
afterFunc()
}
}
}