diff --git a/pages-sub/daily/maintain-manage/add-record.vue b/pages-sub/daily/maintain-manage/add-record.vue index 66685aa..5edeb94 100644 --- a/pages-sub/daily/maintain-manage/add-record.vue +++ b/pages-sub/daily/maintain-manage/add-record.vue @@ -229,8 +229,16 @@ export default { }, onLoad(option) { console.log('页面参数:', option) - this.paramsOptins = option - const { businessType, planTypeId } = option + // 入口 URL 里出现过 `planNo=${planNo} &businessType=` 这种多一个空格的历史写法, + // 会让 planNo 带上尾空格 → 后端按 planNo 查不到计划(提交报「养护计划不存在」)。 + // 这里统一 trim,不依赖每个入口都写对 + const params = {} + Object.keys(option || {}).forEach(key => { + const val = option[key] + params[key] = typeof val === 'string' ? val.trim() : val + }) + this.paramsOptins = params + const { businessType, planTypeId } = params this.loadDynamicFields(businessType, planTypeId) }, onReady() { @@ -558,6 +566,22 @@ export default { getImgUrlList(imgList) { return imgList.filter(item => item.status === 'success').map(item => item.url) }, + /** + * 开始照片:把所有「图片」(fieldType=7) 动态字段里上传成功的 URL 拍平成一个数组。 + * 不写死字段 code —— 配置里叫 tu_pian 还是别的名字都能取到; + * 判空口径与校验规则 buildRequiredRule 一致(看 fileListMap 的 status,而不是 inspectForm) + */ + collectBeginImgs() { + const fields = this.dynamicFields || [] + const urls = [] + fields.forEach(field => { + if (field.fieldType !== 7) return + this.getImgUrlList(this.fileListMap[field.fieldCode] || []).forEach(url => { + if (url) urls.push(url) + }) + }) + return urls + }, // ========== 动态字段:渲染与取值辅助 ========== /** * 类型6 多选是否要求每项填「使用数量」(ext_config.needQuantity) @@ -918,7 +942,10 @@ uploadFieldFiles(item: any, event: any) { const submitData = { planNo: this.paramsOptins.planNo, imgHost: "1", - beginImg: this.getImgUrlList(this.imagesList), + // 开始照片 = 动态「图片」(fieldType=7) 字段里已上传成功的 URL。 + // 页面上已没有固定的「上传图片」行(图片/附件都是配置出来的动态字段), + // 没配图片字段或没传图时是空数组 —— 后端 beginImg 已改为选填 + beginImg: this.collectBeginImgs(), commonUserList: [], remark: this.inspectForm.remark.trim(), } diff --git a/pages-sub/daily/maintain-manage/index.vue b/pages-sub/daily/maintain-manage/index.vue index 15462e3..1d8a399 100644 --- a/pages-sub/daily/maintain-manage/index.vue +++ b/pages-sub/daily/maintain-manage/index.vue @@ -318,11 +318,11 @@ const submitRecord = (item) => { console.log('提交记录:', item) if (item.planFinishNum == 0) { // 去新增 uni.navigateTo({ - url: `/pages-sub/daily/maintain-manage/add-record?finishState=${item.finishState}&planNo=${item.planNo} &businessType=${item.busiLine}` + url: `/pages-sub/daily/maintain-manage/add-record?finishState=${item.finishState}&planNo=${item.planNo}&planTypeId=${item.planTypeId}&businessType=${item.busiLine}` }) } else { uni.navigateTo({ - url: `/pages-sub/daily/maintain-manage/pending-plan-detail?finishState=${item.finishState}&planNo=${item.planNo}&planTypeId=${item.planTypeId} &businessType=${item.busiLine}` + url: `/pages-sub/daily/maintain-manage/pending-plan-detail?finishState=${item.finishState}&planNo=${item.planNo}&planTypeId=${item.planTypeId}&businessType=${item.busiLine}` }) } diff --git a/pages-sub/daily/maintain-manage/road-detail-list.vue b/pages-sub/daily/maintain-manage/road-detail-list.vue index 0c5913a..65edd42 100644 --- a/pages-sub/daily/maintain-manage/road-detail-list.vue +++ b/pages-sub/daily/maintain-manage/road-detail-list.vue @@ -179,7 +179,7 @@ const submitRecord = (item) => { console.log('提交记录:', item.planFinishNum) if (item.planFinishNum == 0) { uni.navigateTo({ - url: `/pages-sub/daily/maintain-manage/add-record?finishState=${item.finishState}&planNo=${item.planNo}&businessType=${item.busiLine}` + url: `/pages-sub/daily/maintain-manage/add-record?finishState=${item.finishState}&planNo=${item.planNo}&planTypeId=${item.planTypeId}&businessType=${item.busiLine}` }) } else { uni.navigateTo({