62 lines
1.7 KiB
JavaScript
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()
|
|
}
|
|
}
|
|
}
|