diff --git a/api/maintain-manage/maintain-manage.js b/api/maintain-manage/maintain-manage.js index 67ed039..9ebca75 100644 --- a/api/maintain-manage/maintain-manage.js +++ b/api/maintain-manage/maintain-manage.js @@ -101,7 +101,9 @@ export const maintainPlanList= (params) => { * @returns {Promise} */ export const finishPlan= (params) => { - return post('/app-api/app/garden/maintain-plan-commit/finish',params); + // 后端 /finish 使用 @RequestParam("planNo"),必须放 query,不能放 JSON body + const planNo = params && params.planNo != null ? params.planNo : ''; + return post(`/app-api/app/garden/maintain-plan-commit/finish?planNo=${encodeURIComponent(planNo)}`, {}); }; /** diff --git a/pages-sub/daily/maintain-manage/add-record.vue b/pages-sub/daily/maintain-manage/add-record.vue index 713cab2..de64c15 100644 --- a/pages-sub/daily/maintain-manage/add-record.vue +++ b/pages-sub/daily/maintain-manage/add-record.vue @@ -934,17 +934,24 @@ export default { uni.showLoading({ title: '提交中...' }) this.submitting = true + // 后端 AppMaintainPlanCommitSaveReqVO:imgHost 是 String(必填),beginImg 才是图片列表 + const submitData = { + planNo: this.paramsOptins.planNo, + imgHost: '1', + beginImg: this.getImgUrlList(this.imagesList), + commonUserList: [], + remark: this.inspectForm.remark.trim(), + } + + // 只调一次 /create-and-finish:后端会新增一条带完成时间的上报记录并更新完成次数, + // 若先调 maintainCreate 会多出一条重复记录 if (!this.commitId) { - const submitData = { - planNo: this.paramsOptins.planNo, - imgHost: this.getImgUrlList(this.imagesList), - commonUserList: [], - remark: this.inspectForm.remark.trim(), - } - const commitRes: any = await maintainCreate(submitData) + const commitRes: any = await maintainCreateFinish(submitData) + // 兼容后端返回裸 id 或 {id:...} 两种形态 this.commitId = commitRes && typeof commitRes === 'object' ? commitRes.id : commitRes } + // 动态字段挂到本次完成记录上;重试时 commitId 已缓存,只补写字段 if (dynamicValues.length > 0 && this.commitId) { await workRecordSubmit({ businessType: this.paramsOptins.businessType, @@ -957,11 +964,6 @@ export default { }) } - // 新增:调用【提交并结束】接口 - await maintainCreateFinish({ - id: this.commitId - }) - uni.hideLoading() uni.showToast({ title: '提交并结束任务成功', icon: 'success', duration: 1000 }) setTimeout(() => {