Commit f45d1cb7bb87cb3814d9a4dcae055a2002e230f7
1 parent
e0806267
业务线 小程序不用写死,从后端接口获取
Showing
1 changed file
with
9 additions
and
19 deletions
pages-sub/daily/maintain-manage/type-list-page.vue
| ... | ... | @@ -33,8 +33,9 @@ |
| 33 | 33 | <view class="info-text u-line-1">有效期:{{ timeFormat(item.beginTime, 'yyyy-mm-dd') }}—{{ |
| 34 | 34 | timeFormat(item.endTime, 'yyyy-mm-dd') }} |
| 35 | 35 | </view> |
| 36 | - <!-- 仅待完成才显示结束任务 --> | |
| 37 | - <view v-if="activeStatus === '1'" class="mini-btn" @click.stop="handleEndTask(item)">结束任务</view> | |
| 36 | + <!-- 仅待完成且存在进行中的本次养护时才显示结束任务(draftCommitId 由后端按 commit_state=1 回填) --> | |
| 37 | + <view v-if="activeStatus === '1' && item.draftCommitId" class="mini-btn" | |
| 38 | + @click.stop="handleEndTask(item)">结束任务</view> | |
| 38 | 39 | </view> |
| 39 | 40 | </view> |
| 40 | 41 | </view> |
| ... | ... | @@ -70,7 +71,7 @@ |
| 70 | 71 | import { ref, computed } from 'vue' |
| 71 | 72 | import { onShow, onUnload, onLoad } from '@dcloudio/uni-app' |
| 72 | 73 | import { useUserStore } from '@/pinia/user'; |
| 73 | -import { maintainPlanNum, maintainPlanList, finishPlan, invalidatePlan } from "@/api/maintain-manage/maintain-manage"; | |
| 74 | +import { maintainPlanNum, finishPlan, invalidatePlan } from "@/api/maintain-manage/maintain-manage"; | |
| 74 | 75 | import { timeFormat } from '@/uni_modules/uview-plus'; |
| 75 | 76 | import { useUploadImgs } from '@/common/utils/useUploadImgs' |
| 76 | 77 | const userStore = useUserStore(); |
| ... | ... | @@ -254,29 +255,18 @@ const handleEndTaskModalCancel = () => { |
| 254 | 255 | // 确认结束任务,真正调用接口【新增】 |
| 255 | 256 | const confirmEndTask = async () => { |
| 256 | 257 | const item = currentEndTaskItem.value |
| 257 | - if (!item || !item.planNo) return | |
| 258 | + // draftCommitId 由明细列表接口回填(commit_state=1),按钮只在有值时渲染 | |
| 259 | + if (!item || !item.draftCommitId) return | |
| 258 | 260 | endTaskModalShow.value = false |
| 259 | 261 | |
| 260 | 262 | uni.showLoading({ title: '提交中...', mask: true }) |
| 261 | 263 | try { |
| 262 | - // ① 后端 /finish 只认 commitId:先找该计划编码下进行中的本次养护(commitState=1) | |
| 263 | - const page = await maintainPlanList({ | |
| 264 | - planNo: item.planNo, | |
| 265 | - pageNo: 1, | |
| 266 | - pageSize: 50 | |
| 267 | - }) | |
| 268 | - const draft = (page && page.list ? page.list : []).find((r: any) => Number(r.commitState) === 1) | |
| 269 | - if (!draft || !draft.commitId) { | |
| 270 | - uni.hideLoading() | |
| 271 | - uni.showToast({ title: '还没有上报记录,请先去作业提交', icon: 'none' }) | |
| 272 | - return | |
| 273 | - } | |
| 274 | - // ② 按 commitId 结束本次养护(后端要求本次养护至少有一条有效子上报) | |
| 275 | - await finishPlan({ commitId: draft.commitId }) | |
| 264 | + // 后端 /finish 只认 commitId,且要求本次养护至少有一条有效子上报 | |
| 265 | + await finishPlan({ commitId: item.draftCommitId }) | |
| 276 | 266 | // 先关 loading 再弹提示:微信端 showLoading/showToast 共用同一个 toast,顺序反了会把成功提示顶掉 |
| 277 | 267 | uni.hideLoading() |
| 278 | 268 | uni.showToast({ title: '结束任务成功', icon: 'success' }) |
| 279 | - // 操作成功,重新加载数据,刷新列表 | |
| 269 | + // 操作成功,重新加载数据,刷新列表(draftCommitId 随之清空,按钮消失) | |
| 280 | 270 | await loadData() |
| 281 | 271 | pagingRef.value?.reload() |
| 282 | 272 | } catch (err) { | ... | ... |