소스 검색

fix: 产品反馈表图片上传问题

liujt 2 일 전
부모
커밋
4b71ff028f
1개의 변경된 파일21개의 추가작업 그리고 3개의 파일을 삭제
  1. 21 3
      hybrid/html/a.html

+ 21 - 3
hybrid/html/a.html

@@ -1414,8 +1414,19 @@
 						var scope = this.eventEditScope, idx = this.eventEditIndex, key = 'blank_event_component'
 						var data = await this.$refs.generateForm.getData(false)
 						if (!data[key]) data[key] = []
-						if (this.eventEditMode === 'edit') data[key][idx] = JSON.parse(JSON.stringify(this.eventEditForm))
-						else data[key].push(JSON.parse(JSON.stringify(this.eventEditForm)))
+						// 同步文件:x_selectFiles 可能已将附件写入临时行,回填到 eventEditForm
+						if (data[key][idx] && data[key][idx].files && data[key][idx].files.length) {
+							this.eventEditForm.files = data[key][idx].files
+						}
+						if (this.eventEditMode === 'edit') {
+							data[key][idx] = JSON.parse(JSON.stringify(this.eventEditForm))
+						} else {
+							// 清理 x_selectFiles 创建的临时行(仅有 files 无实际字段),避免重复
+							if (data[key][idx] && !data[key][idx].eventTime && !data[key][idx].eventHospital) {
+								data[key].splice(idx, 1)
+							}
+							data[key].push(JSON.parse(JSON.stringify(this.eventEditForm)))
+						}
 						await this.$refs.generateForm.setData({ [key]: data[key] })
 						this.eventEditVisible = false
 					},
@@ -1451,7 +1462,14 @@
 					async handleUploadLocal (model, rowIndex) {
 						console.log('上传本地文件按钮被点击,字段模型:', model, '行索引:', rowIndex)
 						let data = await this.$refs.generateForm.getData(false);
-						let files = rowIndex != null && data[model] && data[model][rowIndex] ? (data[model][rowIndex].files || []) : (data[model] || [])
+						let files = []
+						if (rowIndex != null) {
+							// 数组行附件
+							files = (data[model] && data[model][rowIndex] && data[model][rowIndex].files) || []
+						} else {
+							// 普通表单字段附件
+							files = data[model] || []
+						}
 						this.selectFilesField = model
 						this.selectFilesRowIndex = rowIndex != null ? rowIndex : null
 						uni.postMessage({