diff --git a/pages-sub/daily/maintain-manage/type-list-page.vue b/pages-sub/daily/maintain-manage/type-list-page.vue index 31b2e42..88c20bb 100644 --- a/pages-sub/daily/maintain-manage/type-list-page.vue +++ b/pages-sub/daily/maintain-manage/type-list-page.vue @@ -33,8 +33,9 @@ 有效期:{{ timeFormat(item.beginTime, 'yyyy-mm-dd') }}—{{ timeFormat(item.endTime, 'yyyy-mm-dd') }} - - 结束任务 + + 结束任务 @@ -70,7 +71,7 @@ import { ref, computed } from 'vue' import { onShow, onUnload, onLoad } from '@dcloudio/uni-app' import { useUserStore } from '@/pinia/user'; -import { maintainPlanNum, maintainPlanList, finishPlan, invalidatePlan } from "@/api/maintain-manage/maintain-manage"; +import { maintainPlanNum, finishPlan, invalidatePlan } from "@/api/maintain-manage/maintain-manage"; import { timeFormat } from '@/uni_modules/uview-plus'; import { useUploadImgs } from '@/common/utils/useUploadImgs' const userStore = useUserStore(); @@ -254,29 +255,18 @@ const handleEndTaskModalCancel = () => { // 确认结束任务,真正调用接口【新增】 const confirmEndTask = async () => { const item = currentEndTaskItem.value - if (!item || !item.planNo) return + // draftCommitId 由明细列表接口回填(commit_state=1),按钮只在有值时渲染 + if (!item || !item.draftCommitId) return endTaskModalShow.value = false uni.showLoading({ title: '提交中...', mask: true }) try { - // ① 后端 /finish 只认 commitId:先找该计划编码下进行中的本次养护(commitState=1) - const page = await maintainPlanList({ - planNo: item.planNo, - pageNo: 1, - pageSize: 50 - }) - const draft = (page && page.list ? page.list : []).find((r: any) => Number(r.commitState) === 1) - if (!draft || !draft.commitId) { - uni.hideLoading() - uni.showToast({ title: '还没有上报记录,请先去作业提交', icon: 'none' }) - return - } - // ② 按 commitId 结束本次养护(后端要求本次养护至少有一条有效子上报) - await finishPlan({ commitId: draft.commitId }) + // 后端 /finish 只认 commitId,且要求本次养护至少有一条有效子上报 + await finishPlan({ commitId: item.draftCommitId }) // 先关 loading 再弹提示:微信端 showLoading/showToast 共用同一个 toast,顺序反了会把成功提示顶掉 uni.hideLoading() uni.showToast({ title: '结束任务成功', icon: 'success' }) - // 操作成功,重新加载数据,刷新列表 + // 操作成功,重新加载数据,刷新列表(draftCommitId 随之清空,按钮消失) await loadData() pagingRef.value?.reload() } catch (err) {