From 6c6e0514283c7ff3016b845b600186b464e616c4 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期四, 25 八月 2022 16:44:56 +0800
Subject: [PATCH] 项目

---
 src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue |  151 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 145 insertions(+), 6 deletions(-)

diff --git a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue
index 77dd094..182a98b 100644
--- a/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue
+++ b/src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/rectify/components/rectifyDialog.vue
@@ -44,6 +44,42 @@
                             <el-input class="analyseUnit_input" type="number" v-model="dataForm.cost" readonly> </el-input>
                         </el-form-item>
                     </el-col>
+                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                        <el-form-item label="隐患上报图" prop="img">
+                            <el-image
+                                class="upload-img img-wrapper"
+                                v-for='item in fileOneList'
+                                :key='item.$index'
+                                :src="item"
+                                :preview-src-list="fileOneList"
+                            >
+                            </el-image>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                        <el-form-item label="隐患整改图" prop="img">
+                            <el-image
+                                class="upload-img img-wrapper"
+                                v-for='item in fileTwoList'
+                                :key='item.$index'
+                                :src="item"
+                                :preview-src-list="fileTwoList"
+                            >
+                            </el-image>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                        <el-form-item label="隐患验收图" prop="img">
+                            <el-image
+                                class="upload-img img-wrapper"
+                                v-for='item in fileThreeList'
+                                :key='item.$index'
+                                :src="item"
+                                :preview-src-list="fileThreeList"
+                            >
+                            </el-image>
+                        </el-form-item>
+                    </el-col>
                 </el-row>
 
             </el-form>
@@ -60,6 +96,47 @@
                     <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                         <el-form-item label="整改时间" prop="applyTime">
                             <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss" class="analyseUnit_input" v-model="rectifyForm.applyTime" placeholder="请选择整改时间" clearable> </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                        <el-form-item label="隐患整改图" prop="img">
+                            <el-upload
+                                accept=".pdf,.jpg,.png"
+                                :action="fileRoad"
+                                class="upload-demo"
+                                ref="upload"
+                                :headers="header"
+                                :data="uploadForm"
+                                list-type="picture-card"
+                                :file-list="fileList"
+                                v-model="dataForm.paths"
+                                :on-change="handleChangeFile"
+                                :on-success="onFileSuccess"
+                                :multiple="false"
+                                :auto-upload="true">
+                                <i slot="default" class="el-icon-plus"></i>
+                                <div slot="file" slot-scope="{file}">
+                                    <img
+                                        class="el-upload-list__item-thumbnail"
+                                        :src="file.url" alt=""
+                                    >
+                                    <span class="el-upload-list__item-actions">
+                                <span
+                                    class="el-upload-list__item-preview"
+                                    @click="handleFile(file)"
+                                >
+                                  <i class="el-icon-zoom-in"></i>
+                                </span>
+                                <span
+                                    v-if="!disabled"
+                                    class="el-upload-list__item-delete"
+                                    @click="handleRemove(file,file.$index)"
+                                >
+                                  <i class="el-icon-delete"></i>
+                                </span>
+                              </span>
+                                </div>
+                            </el-upload>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -99,16 +176,18 @@
     import {getDepartmentList} from "../../../../../../api/departmentManage";
     import {safetyInspectionItemName} from "../../../../../../api/safetySelfInspection";
     import {delayHiddenDangerReport, submitHiddenDangerReport} from "../../../../../../api/hiddenDanger";
+    import Cookies from "_js-cookie@2.2.0@js-cookie";
 
     export default {
         name: "rectifyDialog",
         data(){
             return {
+                disabled:false,
                 dialogFormVisible:false,
-                baseUrl: process.env.BASE_API + 'hiddenDanger/report',
-                headers: {
-                    'Authorization': getToken()
+                fileRoad:process.env.BASE_API + '/task/web/upload',
+                uploadForm:{
                 },
+                header:{Authorization:''},
                 userList:[],
                 departmentList:[],
                 rectifyTypeList: [
@@ -118,6 +197,9 @@
                 imgPreviewUrls:[],
                 imgPreviewUrls2:[],
                 fileList:[],
+                fileOneList:[],
+                fileTwoList:[],
+                fileThreeList:[],
                 isView:false,
                 submiting:false,
                 dataFormRules:{},
@@ -144,7 +226,8 @@
                     id: null,
                     dangerManagerId: null,
                     rectifyInfo: null,
-                    applyTime: null
+                    applyTime: null,
+                    rectifyImages:[]
                 },
                 delayForm: {
                     id: null,
@@ -199,6 +282,16 @@
                 }else{
                     this.dialogFormVisible = true
                     this.dataForm = row
+                    debugger
+                    this.fileOneList = row.reportImages.map(item => {
+                        return  process.env.IMG_API + item
+                    })
+                    this.fileTwoList = row.rectifyImages.map(item => {
+                        return  process.env.IMG_API + item
+                    })
+                    this.fileThreeList = row.acceptImages.map(item => {
+                        return  process.env.IMG_API + item
+                    })
                 }
 
             },
@@ -206,6 +299,9 @@
             submitRectify () {
                 this.$refs['rectifyFormRef'].validate( async(valid) => {
                     if (valid) {
+                        this.rectifyForm.rectifyImages = this.fileList.map(item => {
+                            return item.url.substring(process.env.IMG_API.length)
+                        })
                         let res = await submitHiddenDangerReport(this.rectifyForm);
                         if (res.data.code === '200') {
                             this.$message({
@@ -313,8 +409,40 @@
                 }
             },
 
-            handleChange(file, fileList) {
-                this.fileList = fileList
+            handleChangeFile(){
+                this.header.Authorization = Cookies.get('token')
+            },
+            onFileSuccess(response){
+                if(response.code === '200'){
+                    this.fileList.push({url:process.env.IMG_API + response.result.path})
+                    this.$notify({
+                        type:'success',
+                        duration:2000,
+                        message:'上传成功',
+                        title:'成功',
+                    })
+                }else{
+                    this.$message({
+                        message:res.data.message,
+                        type:'warning'
+                    })
+                }
+            },
+            handleFile(file){
+                this.dialogImageUrl = file.url;
+                this.dialogVisible = true;
+            },
+            showImg(file){
+                window.open(file, '_blank')
+            },
+            handleRemove(file,value){
+                return this.$confirm(`确定移除 ${ file.uid }?`,'提示',{
+                    confirmButtonText:'确定',
+                    cancelButtonText:'取消',
+                    type:'warning',
+                }).then(()=> {
+                    this.fileList.splice(value,1)
+                })
             },
         }
     }
@@ -331,4 +459,15 @@
 .analyseUnit_box{
     width:200px;
 }
+
+.img-wrapper{
+    width:100px;
+    height: 100px;
+    margin: 10px;
+    border-radius: 2px
+}
+.img-wrapper:first-child{
+    margin-left: unset !important;
+}
+
 </style>

--
Gitblit v1.9.2