Your Name
2022-08-25 6c6e0514283c7ff3016b845b600186b464e616c4
src/views/doublePreventAction/hiddenDanger/hiddenDangerReform/report/components/reportDialog.vue
@@ -114,6 +114,47 @@
                        <el-input class="analyseUnit_input" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="dataForm.rectifyDesc" placeholder="请输入整改措施"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
                    <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>
@@ -132,15 +173,17 @@
    import { hiddenDangerReport } from '@/api/hiddenDanger';
    import {getToken} from "@/utils/auth";
    import {modHiddenDangerReport} from "../../../../../../api/hiddenDanger";
    import Cookies from "_js-cookie@2.2.0@js-cookie";
    export default {
        name: "reportDialog",
        data(){
            return {
                disabled:false,
                title:'',
                baseUrl: process.env.BASE_API + 'hiddenDanger/report',
                headers: {
                    'Authorization': getToken()
                fileRoad:process.env.BASE_API + '/task/web/upload',
                uploadForm:{
                },
                header:{Authorization:''},
                submiting:false,
                departmentList: [],
                userList: [],
@@ -206,7 +249,8 @@
                    liablePersonId: null,
                    rectifyTime: null,
                    cost: null,
                    rectifyDesc: null
                    rectifyDesc: null,
                    reportImage:[]
                },
                dataFormRules:{
                    dangerDesc: [{ required: true, message: '请填写隐患情况描述', trigger: 'blur' }],
@@ -278,19 +322,29 @@
                        liablePersonId: null,
                        rectifyTime: null,
                        cost: null,
                        rectifyDesc: null
                        rectifyDesc: null,
                        reportImages:[]
                    }
                }else if(type === '修改'){
                    console.log(value)
                    for( let key in this.dataForm){
                        this.dataForm[key] = JSON.parse(JSON.stringify(value))[key]
                    }
                    this.dataForm.id = JSON.parse(JSON.stringify(value)).id
                    this.fileList = value.reportImages.map(item => {
                        return {
                            url : process.env.IMG_API + item
                        }
                    })
                }
            },
            trigger2Submit(){
                this.$refs["dataForm"].validate(valid =>{
                    if(valid){
                        this.dataForm.reportImages = this.fileList.map(item => {
                            return item.url.substring(process.env.IMG_API.length)
                        })
                        if(this.title === '新增'){
                            this.submiting = true
                            hiddenDangerReport(this.dataForm).then(res=>{
@@ -307,7 +361,6 @@
                                        type: 'warning'
                                    });
                                }
                                this.fileList = []
                            }).catch(err=>{
                                console.log(err)
                                this.$message({
@@ -333,7 +386,6 @@
                                        type: 'warning'
                                    });
                                }
                                this.fileList = []
                            }).catch(err=>{
                                console.log(err)
                                this.$message({
@@ -352,7 +404,6 @@
                        })
                    }
                })
            },
            changeUnit() {
@@ -377,10 +428,41 @@
            },
            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)
                })
            },
       }
    }