From 456d6ed3fb5412575cb7541d3a0a601466d97038 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期一, 13 十一月 2023 16:56:11 +0800
Subject: [PATCH] feat: step组件适配工序过多情况;修复任务少于3条时展示收起按钮的问题
---
src/stores/craftModel.ts | 41 +++++++++++++++++++++++++++++++++++------
1 files changed, 35 insertions(+), 6 deletions(-)
diff --git a/src/stores/craftModel.ts b/src/stores/craftModel.ts
index 9b8afbd..b550e86 100644
--- a/src/stores/craftModel.ts
+++ b/src/stores/craftModel.ts
@@ -1,22 +1,25 @@
-import { ref, watch } from 'vue'
+import { computed, ref, watch } from 'vue'
import { defineStore } from 'pinia'
import type { CraftModel } from '@/api/craftModel'
import { apiGetCraftModelList } from '@/api'
import { useTasksStore } from '@/stores/tasks'
const watcher = ref()
-
+const page = ref(1)
+const total = ref(0)
export const useCraftModelStore = defineStore('craftModel', () => {
- const craftModelList = ref<CraftModel[]>()
+ const craftModelList = ref<CraftModel[]>([])
const taskStore = useTasksStore()
function getCraftModelList() {
if (taskStore.activeTask?.Procedure.ID) {
+ craftModelList.value = []
apiGetCraftModelList({
procedureId: taskStore.activeTask?.Procedure.ID,
- page: 1,
- pageSize: 999
+ page: page.value,
+ pageSize: 6
}).then((res) => {
craftModelList.value = res.data ?? []
+ total.value = res.total
})
}
}
@@ -25,10 +28,36 @@
watch(
() => taskStore.activeTask,
() => {
+ page.value = 1
getCraftModelList()
}
)
}
- return { craftModelList, getCraftModelList }
+ const loading = ref(false)
+
+ function loadMore() {
+ if (taskStore.activeTask?.Procedure.ID && !loading.value && hasMore.value) {
+ page.value++
+ loading.value = true
+ apiGetCraftModelList({
+ procedureId: taskStore.activeTask?.Procedure.ID,
+ page: page.value,
+ pageSize: 6
+ })
+ .then((res) => {
+ craftModelList.value = [...craftModelList.value, ...(res.data ?? [])]
+ total.value = res.total
+ })
+ .finally(() => {
+ loading.value = false
+ })
+ }
+ }
+
+ const hasMore = computed(() => {
+ return total.value > craftModelList.value.length
+ })
+
+ return { craftModelList, getCraftModelList, hasMore, loading, loadMore }
})
--
Gitblit v1.8.0