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