主要js代码
//上一条
async prevInfo() {
//当前数据
let infoIds = JSON.parse(sessionStorage.getItem("infoIds"))
//当前数据下标
let index = infoIds.indexOf(this.$route.params.id)
//当前数据请求参数
let params = JSON.parse(sessionStorage.getItem("prParmas"))
//请求下一页数据 当前为第一条时
if (index == 0) {
if (params.page > 1) {
params.page -= 1
} else {
this.$msg.info("当前是第一条了")
return true;
}
sessionStorage.setItem("prParmas", JSON.stringify(params))
await getList(params).then(res => {
if (res.rows && res.rows.length > 0) {
//将先前数据清空
infoIds = []
sessionStorage.setItem("infoIds", JSON.stringify(infoIds))
//将数据反转以显示正确的顺序
let resRows = res.rows.reverse()
resRows.map(item => {
infoIds.unshift(item.id)
})
//放入缓存
sessionStorage.setItem("infoIds", JSON.stringify(infoIds))
this.$router.push(`/problem/prInfo/${infoIds[resRows.length - 1]}`);
} else {
//没有下一页
this.$msg.info("当前是第一条了")
return true;
}
})
} else {
this.$router.push(`/problem/prInfo/${infoIds[index - 1]}`);
}
},
//下一条
async nextInfo() {
let infoIds = JSON.parse(sessionStorage.getItem("infoIds"))
//当前数据下标
let index = infoIds.indexOf(this.$route.params.id)
let params = JSON.parse(sessionStorage.getItem("prParmas"))
//请求下一页数据
if (index == infoIds.length - 1) {
params.page += 1
//请求参数放入缓存
sessionStorage.setItem("prParmas", JSON.stringify(params))
await getList(params).then(res => {
if (res.rows && res.rows.length > 0) {
//将先前数据清空
infoIds = []
sessionStorage.setItem("infoIds", JSON.stringify(infoIds))
//从第一条开始
index = 0;
res.rows.map(item => {
infoIds.push(item.id)
})
//当前数据放入缓存
sessionStorage.setItem("infoIds", JSON.stringify(infoIds))
this.$router.push(`/problem/prInfo/${infoIds[index]}`);
} else {
//没有下一页
params.page -= 1
sessionStorage.setItem("prParmas", JSON.stringify(params))
this.$msg.info("当前是最后一条了")
return true;
}
})
} else {
this.$router.push(`/problem/prInfo/${infoIds[index + 1]}`);
}
},
```## 列表页代码
1获取本页列表数据
handleInfo(id) {
let infoIds = []
//将当前列表数据id存入缓存中
this.tableData.map(item => {
infoIds.push(item.id)
})
sessionStorage.setItem(“infoIds”, JSON.stringify(infoIds))
this.
r
o
u
t
e
r
.
p
u
s
h
(
‘
/
p
r
o
b
l
e
m
/
p
r
I
n
f
o
/
router.push(`/problem/prInfo/
router.push(‘/problem/prInfo/{id}`);
},
``获取列表的请求参数
//获取列表
getList() {
let parmas = {
typeId: this.typeId, //问题类型
sourceName: this.sSourceName, //问题对象
startTime:
(this.reportDate != "" &&
this.$moment(this.reportDate[0]).format("YYYY-MM-DD")) ||
"",
endTime:
(this.reportDate != "" &&
this.$moment(this.reportDate[1]).format("YYYY-MM-DD")) ||
"",
searchType: "assign",
page: this.page,
rows: this.size,
isAssign: this.isAssign //0否1是
};
// 主要代码。。。。。
sessionStorage.setItem("prParmas", JSON.stringify(parmas))
getList(parmas).then(res => {
if (res.success === true) {
this.tableData = res.rows;
this.total = res.records;
this.loading = false;
}
});
},