Commit f45d1cb7bb87cb3814d9a4dcae055a2002e230f7

Authored by 王彪总
1 parent e0806267

业务线 小程序不用写死,从后端接口获取

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 = () =&gt; {
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) {
... ...