Commit f45d1cb7bb87cb3814d9a4dcae055a2002e230f7

Authored by 王彪总
1 parent e0806267

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

pages-sub/daily/maintain-manage/type-list-page.vue
@@ -33,8 +33,9 @@ @@ -33,8 +33,9 @@
33 <view class="info-text u-line-1">有效期:{{ timeFormat(item.beginTime, 'yyyy-mm-dd') }}—{{ 33 <view class="info-text u-line-1">有效期:{{ timeFormat(item.beginTime, 'yyyy-mm-dd') }}—{{
34 timeFormat(item.endTime, 'yyyy-mm-dd') }} 34 timeFormat(item.endTime, 'yyyy-mm-dd') }}
35 </view> 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 </view> 39 </view>
39 </view> 40 </view>
40 </view> 41 </view>
@@ -70,7 +71,7 @@ @@ -70,7 +71,7 @@
70 import { ref, computed } from 'vue' 71 import { ref, computed } from 'vue'
71 import { onShow, onUnload, onLoad } from '@dcloudio/uni-app' 72 import { onShow, onUnload, onLoad } from '@dcloudio/uni-app'
72 import { useUserStore } from '@/pinia/user'; 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 import { timeFormat } from '@/uni_modules/uview-plus'; 75 import { timeFormat } from '@/uni_modules/uview-plus';
75 import { useUploadImgs } from '@/common/utils/useUploadImgs' 76 import { useUploadImgs } from '@/common/utils/useUploadImgs'
76 const userStore = useUserStore(); 77 const userStore = useUserStore();
@@ -254,29 +255,18 @@ const handleEndTaskModalCancel = () =&gt; { @@ -254,29 +255,18 @@ const handleEndTaskModalCancel = () =&gt; {
254 // 确认结束任务,真正调用接口【新增】 255 // 确认结束任务,真正调用接口【新增】
255 const confirmEndTask = async () => { 256 const confirmEndTask = async () => {
256 const item = currentEndTaskItem.value 257 const item = currentEndTaskItem.value
257 - if (!item || !item.planNo) return 258 + // draftCommitId 由明细列表接口回填(commit_state=1),按钮只在有值时渲染
  259 + if (!item || !item.draftCommitId) return
258 endTaskModalShow.value = false 260 endTaskModalShow.value = false
259 261
260 uni.showLoading({ title: '提交中...', mask: true }) 262 uni.showLoading({ title: '提交中...', mask: true })
261 try { 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 // 先关 loading 再弹提示:微信端 showLoading/showToast 共用同一个 toast,顺序反了会把成功提示顶掉 266 // 先关 loading 再弹提示:微信端 showLoading/showToast 共用同一个 toast,顺序反了会把成功提示顶掉
277 uni.hideLoading() 267 uni.hideLoading()
278 uni.showToast({ title: '结束任务成功', icon: 'success' }) 268 uni.showToast({ title: '结束任务成功', icon: 'success' })
279 - // 操作成功,重新加载数据,刷新列表 269 + // 操作成功,重新加载数据,刷新列表(draftCommitId 随之清空,按钮消失)
280 await loadData() 270 await loadData()
281 pagingRef.value?.reload() 271 pagingRef.value?.reload()
282 } catch (err) { 272 } catch (err) {