|
|
@@ -210,6 +210,8 @@
|
|
|
loadStatus: 'more', //loading状态
|
|
|
details: {}, //详情信息
|
|
|
tabListData: [], //数据
|
|
|
+ tabListDatas:[],//所有数据
|
|
|
+ pages:0,
|
|
|
searchBoxTop:0,//搜索框距离顶部的高度
|
|
|
isSticky:false,//是否吸顶
|
|
|
});
|
|
|
@@ -283,53 +285,65 @@
|
|
|
* initData:初始加载
|
|
|
*/
|
|
|
const OnLoadData = (initPage,initData = false) => {
|
|
|
- if (initPage) state.pageNum = 1; //如果是下拉刷新、重新查询 默认加载第一页
|
|
|
state.isLoading = true;
|
|
|
state.loadStatus = 'loading';
|
|
|
- queryMinitorDetailData({
|
|
|
- id: state.id,
|
|
|
- learnStatus: state.tabsSelected,
|
|
|
- queryStr: state.searchWord,
|
|
|
- pageSize: state.pageSize,
|
|
|
- pageNum: state.pageNum
|
|
|
- }).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- state.details = res?.data || null;
|
|
|
- let total = 0,
|
|
|
- tabListData = []; //总数
|
|
|
- if (res?.data?.courseType === 0) { //必修任务
|
|
|
- tabListData = res?.data?.tableTaskData || [];
|
|
|
- total = tabListData?.length || '0';
|
|
|
- } else {
|
|
|
- if (state.tabsSelected == '4') { //自主研修-已完成
|
|
|
- tabListData = res?.data?.tableSelfOverData?.records || [];
|
|
|
- total = res?.data?.tableSelfOverData?.total || '0';
|
|
|
- } else { //自主研修-学习中
|
|
|
- tabListData = res?.data?.tableSelfUnOverData?.records || [];
|
|
|
- total = res?.data?.tableSelfUnOverData?.total || '0';
|
|
|
+ if (initPage) {
|
|
|
+ state.pageNum = 1; //如果是下拉刷新、重新查询 默认加载第一页
|
|
|
+ queryMinitorDetailData({
|
|
|
+ id: state.id,
|
|
|
+ learnStatus: state.tabsSelected,
|
|
|
+ queryStr: state.searchWord,
|
|
|
+ pageSize: state.pageSize,
|
|
|
+ pageNum: state.pageNum
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ state.details = res?.data || null;
|
|
|
+ let total = 0; //总数
|
|
|
+ if (res?.data?.courseType === 0) { //必修任务
|
|
|
+ state.tabListDatas = res?.data?.tableTaskData || [];
|
|
|
+ total = state.tabListDatas?.length || '0';
|
|
|
+ } else {
|
|
|
+ if (state.tabsSelected == '4') { //自主研修-已完成
|
|
|
+ state.tabListDatas = res?.data?.tableSelfOverData?.records || [];
|
|
|
+ total = res?.data?.tableSelfOverData?.total || '0';
|
|
|
+ } else { //自主研修-学习中
|
|
|
+ state.tabListDatas = res?.data?.tableSelfUnOverData?.records || [];
|
|
|
+ total = res?.data?.tableSelfUnOverData?.total || '0';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ state.pages = Math.ceil(total / state.pageSize); //总页数
|
|
|
+ //默认加载
|
|
|
+ state.tabListData = state.tabListDatas.slice(0, state.pageSize);
|
|
|
+ //没有更多了
|
|
|
+ state.noMoreData = state.pageNum == state.pages;
|
|
|
+ //分页+1
|
|
|
+ state.pageNum++;
|
|
|
+ state.isLoading = false;
|
|
|
+ state.isRefreshing = false;//下拉刷新未被触发
|
|
|
+ state.loadStatus = state.noMoreData?'no-more':'more';
|
|
|
+ if(initData){
|
|
|
+ checkTextOverflow();
|
|
|
}
|
|
|
}
|
|
|
- const pages = Math.ceil(total / state.pageSize); //总页数
|
|
|
- state.tabListData = initPage ? tabListData : [...state.tabListData, ...tabListData];
|
|
|
- state.noMoreData = state.pageNum == pages;
|
|
|
- state.pageNum++;
|
|
|
- if(initData){
|
|
|
- checkTextOverflow();
|
|
|
+ }).finally(() => {
|
|
|
+ //返回到页面顶部
|
|
|
+ if (initPage) {
|
|
|
+ GoTop();
|
|
|
}
|
|
|
- }
|
|
|
- }).finally(() => {
|
|
|
- state.isLoading = false;
|
|
|
- state.isRefreshing = false; //下拉刷新未被触发
|
|
|
- if (state.noMoreData) {
|
|
|
- state.loadStatus = 'no-more';
|
|
|
- } else {
|
|
|
- state.loadStatus = 'more';
|
|
|
- }
|
|
|
- //返回到页面顶部
|
|
|
- if (initPage) {
|
|
|
- GoTop();
|
|
|
- }
|
|
|
- })
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ const start = (state.pageNum - 1) * state.pageSize;
|
|
|
+ const end = start + state.pageSize;
|
|
|
+ const list = state.tabListDatas.slice(start, end);
|
|
|
+ state.tabListData = [...state.tabListData, ...list];
|
|
|
+ state.noMoreData = state.pageNum == state.pages;
|
|
|
+ state.pageNum++;
|
|
|
+ setTimeout(() => {
|
|
|
+ state.isLoading = false;
|
|
|
+ state.isRefreshing = false; //下拉刷新未被触发
|
|
|
+ state.loadStatus = state.noMoreData?'no-more':'more';
|
|
|
+ }, 0)
|
|
|
+ }
|
|
|
}
|
|
|
// 自定义下拉刷新被触发 下拉刷新
|
|
|
const OnRefresh = () => {
|