xyadmin-web/src/mixins/initData2.js
2024-08-24 22:28:06 +08:00

111 lines
2.5 KiB
JavaScript

import { initData } from '@/api/data'
export default {
data() {
return {
loading: true, data: [], page: 0, size: 10, total: 0, url: '', params: {}, query: {}, time: 50, isAdd: false, downloadLoading: false
}
},
methods: {
async init(val) {
if (!await this.beforeInit()) {
return
}
if (val==1){
this.params.xfProjectnum=""
this.params.xfStartDate=""
}
let params = {}
if(this.url == "api/xySalary"){
params = {...this.params,sort:'salaryMonth,desc'}
}else{
params = {...this.params}
}
return new Promise((resolve, reject) => {
this.loading = true
initData(this.url, params).then(res => {
this.total = res.totalElements
this.data = res.content
setTimeout(() => {
this.loading = false
}, this.time)
resolve(res)
}).catch(err => {
this.loading = false
reject(err)
})
})
},
async init2(val) {
this.params.page = this.page
if (val==1){
this.params.xfProjectnum=""
this.params.xfStartDate=""
}
let params = {}
if(this.url == "api/xySalary"){
params = {...this.params,sort:'salaryMonth,desc'}
}else{
params = {...this.params}
}
return new Promise((resolve, reject) => {
this.loading = true
initData(this.url, params).then(res => {
this.total = res.totalElements
this.data = res.content
setTimeout(() => {
this.loading = false
}, this.time)
resolve(res)
}).catch(err => {
this.loading = false
reject(err)
})
})
},
beforeInit() {
return true
},
pageChange(e) {
this.page = e - 1
if(this.url=='api/douyinAfterSales'){
this.init()
}
else{
this.init2()
}
},
sizeChange(e) {
this.page = 0
this.size = e
if(this.url=='api/douyinAfterSales'){
this.init(1)
}
else{
this.init2(1)
}
},
// 预防删除第二页最后一条数据时,或者多选删除第二页的数据时,页码错误导致请求无数据
dleChangePage(size) {
if (size === undefined) {
size = 1
}
if (this.data.length === size && this.page !== 0) {
this.page = this.page - 1
}
},
toQuery(val) {
this.page = 0
this.init(val)
}
}
}