|
@@ -31,9 +31,9 @@ export default defineComponent({
|
|
|
} else {
|
|
|
return sessionStorage.getItem(key) || '';
|
|
|
}
|
|
|
- }
|
|
|
+ };
|
|
|
const router = useRouter();
|
|
|
-
|
|
|
+
|
|
|
const todoData = reactive({
|
|
|
tabActive: toggleTabName('get') as 'todo' | 'complete',
|
|
|
examineLoading: true,
|
|
@@ -92,19 +92,20 @@ export default defineComponent({
|
|
|
todoData.examineFinish = true;
|
|
|
})
|
|
|
.finally(() => {
|
|
|
- todoData.examineLoading = false;
|
|
|
setTimeout(() => {
|
|
|
+ todoData.examineLoading = false;
|
|
|
todoData.refreshLoading = false;
|
|
|
todoData.examineSkelet = false;
|
|
|
}, 500);
|
|
|
});
|
|
|
};
|
|
|
const getComplete = () => {
|
|
|
- console.log('请求');
|
|
|
+ if (todoData.completeLoading) return;
|
|
|
+ console.log('请求', todoData.completeLoading, todoData.completeResh);
|
|
|
todoData.completeLoading = true;
|
|
|
musicGroupQuitQueryPage({
|
|
|
- page: todoData.examinePage.page,
|
|
|
- rows: todoData.examinePage.rows,
|
|
|
+ page: todoData.completePage.page,
|
|
|
+ rows: todoData.completePage.rows,
|
|
|
search: todoData.search,
|
|
|
status: todoData.activeOption
|
|
|
})
|
|
@@ -118,14 +119,16 @@ export default defineComponent({
|
|
|
todoData.completeList = todoData.completeList.concat(rows);
|
|
|
if (!rows.length || rows.length < todoData.completePage.rows) {
|
|
|
todoData.completeFinish = true;
|
|
|
+ } else {
|
|
|
+ todoData.completeFinish = false;
|
|
|
}
|
|
|
})
|
|
|
.catch(() => {
|
|
|
todoData.completeFinish = true;
|
|
|
})
|
|
|
.finally(() => {
|
|
|
- todoData.completeLoading = false;
|
|
|
setTimeout(() => {
|
|
|
+ todoData.completeLoading = false;
|
|
|
todoData.completeResh = false;
|
|
|
todoData.completeSkelet = false;
|
|
|
}, 500);
|
|
@@ -146,7 +149,6 @@ export default defineComponent({
|
|
|
? '未通过'
|
|
|
: '全部状态';
|
|
|
todoData.examinePage.page = 1;
|
|
|
- todoData.completeFinish = false;
|
|
|
todoData.completeResh = true;
|
|
|
getComplete();
|
|
|
};
|
|
@@ -169,22 +171,22 @@ export default defineComponent({
|
|
|
</MSticky>
|
|
|
<Tabs swipeable animated v-model:active={todoData.tabActive}>
|
|
|
<Tab name="todo" title="待审批">
|
|
|
- <List
|
|
|
- loading={todoData.examineLoading}
|
|
|
- finished={todoData.examineFinish}
|
|
|
- class={styles.list}
|
|
|
- onLoad={() => {
|
|
|
- todoData.examinePage.page++;
|
|
|
+ <MFullRefresh
|
|
|
+ v-model:modelValue={todoData.refreshLoading}
|
|
|
+ onRefresh={() => {
|
|
|
+ todoData.examinePage.page = 1;
|
|
|
+ todoData.examineFinish = false;
|
|
|
getExamine();
|
|
|
}}>
|
|
|
- <MFullRefresh
|
|
|
- v-model:modelValue={todoData.refreshLoading}
|
|
|
- onRefresh={() => {
|
|
|
- todoData.examinePage.page = 1;
|
|
|
- todoData.examineFinish = false;
|
|
|
+ <List
|
|
|
+ loading={todoData.examineLoading}
|
|
|
+ finished={todoData.examineFinish}
|
|
|
+ class={[styles.list, styles.todo]}
|
|
|
+ onLoad={() => {
|
|
|
+ todoData.examinePage.page++;
|
|
|
getExamine();
|
|
|
}}>
|
|
|
- {todoData.examineSkelet && (
|
|
|
+ {todoData.examineSkelet ? (
|
|
|
<div class={[styles.list, styles.listHide]}>
|
|
|
<Skeleton loading={true}>
|
|
|
{{
|
|
@@ -198,22 +200,29 @@ export default defineComponent({
|
|
|
}}
|
|
|
</Skeleton>
|
|
|
</div>
|
|
|
+ ) : (
|
|
|
+ <>
|
|
|
+ {todoData.examineList.map((item: MusicGroupQuitPageDto) => {
|
|
|
+ return (
|
|
|
+ <ListItem
|
|
|
+ isLink={true}
|
|
|
+ item={item}
|
|
|
+ onGoto={() => handleGoto(item)}
|
|
|
+ />
|
|
|
+ );
|
|
|
+ })}
|
|
|
+ {!todoData.examineList.length && (
|
|
|
+ <MEmpty
|
|
|
+ description="暂无数据"
|
|
|
+ style={{
|
|
|
+ minHeight: '100%'
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ )}
|
|
|
+ </>
|
|
|
)}
|
|
|
- {todoData.examineList.map((item: MusicGroupQuitPageDto) => {
|
|
|
- return (
|
|
|
- <ListItem isLink={true} item={item} onGoto={() => handleGoto(item)} />
|
|
|
- );
|
|
|
- })}
|
|
|
- {!todoData.examineList.length && (
|
|
|
- <MEmpty
|
|
|
- description="暂无数据"
|
|
|
- style={{
|
|
|
- minHeight: '100%'
|
|
|
- }}
|
|
|
- />
|
|
|
- )}
|
|
|
- </MFullRefresh>
|
|
|
- </List>
|
|
|
+ </List>
|
|
|
+ </MFullRefresh>
|
|
|
</Tab>
|
|
|
<Tab name="complete" title="已完成">
|
|
|
<div class={styles.menubox}>
|
|
@@ -228,28 +237,30 @@ export default defineComponent({
|
|
|
</DropdownMenu>
|
|
|
<MSearch
|
|
|
placeholder="请输入学员名称"
|
|
|
- onSearch={(value) => {
|
|
|
- todoData.search = value
|
|
|
- todoData.examinePage.page = 1;
|
|
|
- todoData.completeFinish = false;
|
|
|
+ disabled={todoData.completeLoading}
|
|
|
+ onSearch={value => {
|
|
|
+ todoData.search = value;
|
|
|
+ todoData.completePage.page = 1;
|
|
|
todoData.completeResh = true;
|
|
|
getComplete();
|
|
|
}}
|
|
|
/>
|
|
|
</div>
|
|
|
- <List
|
|
|
- loading={todoData.completeLoading}
|
|
|
- finished={todoData.completeFinish}
|
|
|
- class={styles.list}
|
|
|
- onLoad={() => {
|
|
|
- todoData.examinePage.page++;
|
|
|
+ <MFullRefresh
|
|
|
+ v-model:modelValue={todoData.completeResh}
|
|
|
+ onRefresh={() => {
|
|
|
+ console.log('下拉');
|
|
|
+ todoData.completePage.page = 1;
|
|
|
+ todoData.completeFinish = false;
|
|
|
getComplete();
|
|
|
}}>
|
|
|
- <MFullRefresh
|
|
|
- v-model:modelValue={todoData.completeResh}
|
|
|
- onRefresh={() => {
|
|
|
- todoData.examinePage.page = 1;
|
|
|
- todoData.completeFinish = false;
|
|
|
+ <List
|
|
|
+ loading={todoData.completeLoading}
|
|
|
+ finished={todoData.completeFinish}
|
|
|
+ class={styles.list}
|
|
|
+ onLoad={() => {
|
|
|
+ todoData.completePage.page++;
|
|
|
+ console.log('触底', todoData.completeResh);
|
|
|
getComplete();
|
|
|
}}>
|
|
|
{todoData.completeSkelet && (
|
|
@@ -289,8 +300,8 @@ export default defineComponent({
|
|
|
}}
|
|
|
/>
|
|
|
)}
|
|
|
- </MFullRefresh>
|
|
|
- </List>
|
|
|
+ </List>
|
|
|
+ </MFullRefresh>
|
|
|
</Tab>
|
|
|
</Tabs>
|
|
|
</div>
|