feat: 调试事故信息查询菜单图片回显路径问题

hyx_2024-9-25_tongbu
mengfanliang 2024-09-12 11:40:32 +08:00 committed by shanao
parent 164f70a0a4
commit 54845b2422
1 changed files with 32 additions and 15 deletions

View File

@ -54,11 +54,11 @@
<el-form-item :label-width="formLabelWidth" label="事故概述" prop="summary"> <el-form-item :label-width="formLabelWidth" label="事故概述" prop="summary">
<el-input v-model="infoForm.summary" :disabled="isDisabled" autocomplete="off"/> <el-input v-model="infoForm.summary" :disabled="isDisabled" autocomplete="off"/>
</el-form-item> </el-form-item>
<el-form-item :label-width="formLabelWidth" label="事故照片" prop="photos"> <el-form-item :label-width="formLabelWidth" label="事故照片" prop="fileList">
<el-upload <el-upload
ref="upload" ref="upload"
:disabled="isDisabled" :disabled="isDisabled"
:file-list.sync="fileList" :file-list="infoForm.fileList"
:multiple="false" :multiple="false"
:auto-upload="true" :auto-upload="true"
:limit="limitNum" :limit="limitNum"
@ -100,7 +100,9 @@
</el-form> </el-form>
<el-dialog :visible.sync="dialogImgVisible"> <el-dialog :visible.sync="dialogImgVisible">
<img :src="config.fileUrl+infoForm.photos" width="100%" alt=""> <div v-if="infoForm.fileList.length > 0">
<img :src="infoForm.fileList[0].url" width="100%" alt="">
</div>
</el-dialog> </el-dialog>
<div class="ui-height"/> <div class="ui-height"/>
@ -140,7 +142,7 @@ export default {
seriouslyInjured: null, // seriouslyInjured: null, //
cause: '', // cause: '', //
summary: '', // summary: '', //
photos: '', // fileList: [], //
analysis: '', // analysis: '', //
suggestions: '', // suggestions: '', //
measures: '', // measures: '', //
@ -155,9 +157,6 @@ export default {
tableName: '', tableName: '',
/** 图片上传限制个数 */ /** 图片上传限制个数 */
limitNum: 1, limitNum: 1,
/** 图片 */
fileList: [],
allowRemove: true, //
/** 预览弹窗 */ /** 预览弹窗 */
dialogImgVisible: false, dialogImgVisible: false,
rules: { rules: {
@ -174,7 +173,7 @@ export default {
seriouslyInjured: [{ required: true, message: '隐患类型不能为空', trigger: 'blur' }], seriouslyInjured: [{ required: true, message: '隐患类型不能为空', trigger: 'blur' }],
cause: [{ required: true, message: '事故起因不能为空', trigger: 'blur' }], cause: [{ required: true, message: '事故起因不能为空', trigger: 'blur' }],
summary: [{ required: true, message: '事故概述不能为空', trigger: 'blur' }], summary: [{ required: true, message: '事故概述不能为空', trigger: 'blur' }],
photos: [{ required: true, message: '事故照片不能为空', trigger: 'blur' }], fileList: [{ required: true, message: '事故照片不能为空', trigger: 'blur' }],
analysis: [{ required: true, message: '原因分析及责任认定不能为空', trigger: 'blur' }], analysis: [{ required: true, message: '原因分析及责任认定不能为空', trigger: 'blur' }],
suggestions: [{ required: true, message: '考核建议不能为空', trigger: 'blur' }], suggestions: [{ required: true, message: '考核建议不能为空', trigger: 'blur' }],
measures: [{ required: true, message: '整改措施不能为空', trigger: 'blur' }], measures: [{ required: true, message: '整改措施不能为空', trigger: 'blur' }],
@ -199,8 +198,16 @@ export default {
} else { } else {
// ID, // ID,
requestFN('/accident/' + id, {}).then((data) => { requestFN('/accident/' + id, {}).then((data) => {
this.infoForm = data.info this.infoForm = {
this.getFileImageBinaray(data.info.photos) ...data.info,
fileList: [
{
name: 'photo',
url: config.fileUrl + data.info.photos,
remotePathName: data.info.photos
}
]
}
}).catch((e) => { }).catch((e) => {
}) })
} }
@ -212,9 +219,11 @@ export default {
*/ */
handleRemovePicture(file) { handleRemovePicture(file) {
if (file.remotePathName) { if (file.remotePathName) {
requestFN(`/accident/delete/photos/${file.remotePathName}`).then((res) => { requestFN(`/accident/delete/photos`, {
path: file.remotePathName
}).then((res) => {
if (res.result === 'success') { if (res.result === 'success') {
this.infoForm.photos = [] this.infoForm.fileList = []
this.$message({ this.$message({
message: '文件删除成功', message: '文件删除成功',
type: 'info', type: 'info',
@ -273,7 +282,14 @@ export default {
formData.append('file', file) formData.append('file', file)
upload('/accident/import/photos', formData).then((data) => { upload('/accident/import/photos', formData).then((data) => {
if (data.result === 'success') { if (data.result === 'success') {
this.infoForm.photos = data.path this.infoForm = {
...this.infoForm,
fileList: [{
name: file.name,
url: config.fileUrl + data.path,
remotePathName: data.path
}]
}
} }
}) })
return false return false
@ -310,7 +326,7 @@ export default {
seriouslyInjured: null, // seriouslyInjured: null, //
cause: '', // cause: '', //
summary: '', // summary: '', //
photos: [], // fileList: [], //
analysis: '', // analysis: '', //
suggestions: '', // suggestions: '', //
measures: '', // measures: '', //
@ -325,8 +341,9 @@ export default {
confirm() { confirm() {
const params = { const params = {
...this.infoForm, ...this.infoForm,
photos: this.infoForm.photos[0].remotePathName photos: this.infoForm.fileList[0].remotePathName
} }
delete params.fileList
requestFN('/accident' + (this.tableName === '修改' ? '/update' : '/save'), params) requestFN('/accident' + (this.tableName === '修改' ? '/update' : '/save'), params)
.then((response) => { .then((response) => {
// //