From 7446bd01fb7eb8ee4dd80176cd0dd5b049edee99 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期四, 18 一月 2024 16:24:49 +0800 Subject: [PATCH] 新增 --- src/views/safetyReview/projectManage/components/siteCheckRcd.vue | 101 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 78 insertions(+), 23 deletions(-) diff --git a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue index 1c0da84..1230979 100644 --- a/src/views/safetyReview/projectManage/components/siteCheckRcd.vue +++ b/src/views/safetyReview/projectManage/components/siteCheckRcd.vue @@ -1,6 +1,15 @@ <template> <div class="riskBox"> <el-form ref="formRef" :model="state.formData" :rules="state.rules" class="register-form" label-position="top"> + <el-row :gutter="30" style="margin-bottom: 20px"> + <el-col :span="18"> + <el-alert title="说明:现场勘验记录由项目组成员通过APP端进行信息填报,组长完成现场勘验并在APP端提交后,电脑可对资料信息完善并进行下一步操作。" type="warning" /> + </el-col> + <el-col :span="6" style="display:flex;justify-content: right"> + <el-button type="primary">全部查看</el-button> + <el-button type="primary">全部下载</el-button> + </el-col> + </el-row> <el-row :gutter="30"> <el-col :span="6"> <el-form-item prop="investigationDate" label="现场勘验时间"> @@ -36,29 +45,18 @@ </el-form-item> </el-col> </el-row> -<!-- <el-row :gutter="30">--> -<!-- <el-col :span="6">--> -<!-- <el-form-item label="附件上传">--> -<!-- <el-upload--> -<!-- accept="image/*"--> -<!-- :action="state.uploadUrl"--> -<!-- :headers="state.header"--> -<!-- method="post"--> -<!-- :on-success="(response, file, fileList) => handleAvatarSuccess(response, file, fileList, 1)"--> -<!-- :on-preview="handlePictureCardPreview"--> -<!-- v-model:file-list="state.socialList"--> -<!-- list-type="picture-card"--> -<!-- :before-upload="picSize"--> -<!-- :on-remove="(file, file_list)=>{handleRemove(file, file_list, 1)}"--> -<!-- >--> -<!-- <el-icon><Plus /></el-icon>--> -<!-- <template #tip>--> -<!-- <div class="el-upload__tip">上传jpg/png图片尺寸小于5M</div>--> -<!-- </template>--> -<!-- </el-upload>--> -<!-- </el-form-item>--> -<!-- </el-col>--> -<!-- </el-row>--> + <el-row :gutter="30"> + <el-col :span="6"> + <el-form-item label="附件上传"> + <el-upload accept="image/*" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="handleAvatarSuccess" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='state.imgLimit' v-model:file-list="state.fileList" list-type="picture-card" :before-upload="picSize" :on-remove="handleRemove" :before-remove="beforeRemove"> + <el-icon><Plus /></el-icon> + <template #tip> + <div class="el-upload__tip">上传jpg/png图片尺寸小于5M,最多可上传1张</div> + </template> + </el-upload> + </el-form-item> + </el-col> + </el-row> <el-form-item prop="recordData" label="现场勘验记录"> <el-input v-model="state.formData.recordData" @@ -81,6 +79,8 @@ import {ElMessage} from "element-plus" import {Search} from '@element-plus/icons-vue' import {addRisk, editRisk, getRiskDetail} from "@/api/projectManage/riskAnalysis" +import {delPic} from "@/api/login" +import { getToken } from "@/utils/auth"; import Cookies from "js-cookie" const emit = defineEmits(["getNextStatus"]) import MapLocation from "./mapLocation.vue" @@ -97,6 +97,11 @@ planPersons: [], rules: { recordData: [{required: true, message: '请填写现场勘验记录', trigger: 'blur'}] + }, + imgLimit: 1, + uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile', + header: { + Authorization: 'Bearer ' + getToken() } }) @@ -163,6 +168,56 @@ state.formData.location = lng + ',' + lat } +// 图片上传 +const showTip =()=>{ + ElMessage({ + type: 'warning', + message: '超出文件上传数量' + }); +} + +const picSize = async (rawFile) => { + if(rawFile.size / 1024 / 1024 > 5){ + ElMessage({ + type: 'warning', + message: '文件大小不能超过5M' + }); + return false + } +}; + +const handlePictureCardPreview = (uploadFile) => { + state.dialogImageUrl = uploadFile.url + state.dialogImg = true +}; + + +const handleAvatarSuccess = (res, uploadFile) => { + if(res.code == 200){ + // state.registerForm.agency.reportPath = res.data.path + }else{ + ElMessage({ + type: 'warning', + message: '文件上传失败' + }) + } +} + +const handleRemove = async (file, uploadFiles) => { + const res = await delPic({path: state.registerForm.agency.reportPath}) + if(res.code == 200){ + ElMessage({ + type: 'success', + message: '文件已删除' + }) + }else{ + ElMessage({ + type: 'warning', + message: res.message + }) + } +} + defineExpose({ riskOpen }); -- Gitblit v1.9.2