From 6bb62bb861486fd447f864981e90e9c048472cb8 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期二, 17 五月 2022 17:42:39 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/ztqt

---
 src/views/doublePreventAction/riskLevelManage/safetyRiskSpace/index.vue |  353 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 353 insertions(+), 0 deletions(-)

diff --git a/src/views/doublePreventAction/riskLevelManage/safetyRiskSpace/index.vue b/src/views/doublePreventAction/riskLevelManage/safetyRiskSpace/index.vue
new file mode 100644
index 0000000..8be7351
--- /dev/null
+++ b/src/views/doublePreventAction/riskLevelManage/safetyRiskSpace/index.vue
@@ -0,0 +1,353 @@
+<template>
+    <div class="app-container">
+        <div class="filter-container">
+            <div class="basic_search">
+                <span>企业名称:</span>
+                <el-select v-model="listQuery.eid" class="analyseUnit_input">
+                    <el-option
+                        v-for="item in companyList"
+                        :key="item.id"
+                        :label="item.company"
+                        :value="item.id"
+                    ></el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>状态:</span>
+                <el-select v-model="listQuery.status" class="analyseUnit_input">
+                    <el-option
+                        v-for="item in statusList"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id"
+                    ></el-option>
+                </el-select>
+            </div>
+            <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
+            <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showSafetyRiskSpace('','新增')">新增</el-button>
+        </div>
+        <div class="table_content">
+            <el-table
+                v-loading="listLoading"
+                :key="tableKey"
+                :data="safetyRiskSpaceData"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;"
+            >
+                <el-table-column label="描述信息" prop="descInfo" align="center">
+                </el-table-column>
+                <el-table-column label="安全风险空间分布图" prop="img" align="center">
+                    <template slot-scope="scope">
+                        <el-popover placement="top-start" trigger="click">
+                            <!--                        <a href="http://192.168.0.7:8100/upload/enterprise/20210327184751998.png" target="_blank" title="查看最大化图片"><img src="http://192.168.0.7:8100/upload/enterprise/20210327184751998.png" style="width: 300px;height: 300px" /></a>-->
+                            <!--                        <img slot="reference" src="http://192.168.0.7:8100/upload/enterprise/20210327184751998.png" style="width:40px;height:40px;margin-left:10px;cursor:pointer" ></img>-->
+                            <!--                            <a  :href="scope.row.enterpriseResources.url" target="_blank" title="查看最大化图片"><img v-for="(item,index) in scope.row.enterpriseResources" :src="item.url" style="width: 300px;height: 300px" /></a>-->
+                            <img slot="reference" :src="scope.row.img" style="width:40px;height:40px;margin-left:10px;cursor:pointer" @click="showImg(scope.row.img)"></img>
+                        </el-popover>
+                    </template>
+                </el-table-column>
+                <el-table-column label="创建人" prop="createUname" align="center">
+                </el-table-column>
+                <el-table-column label="创建时间" prop="createTime" align="center">
+                </el-table-column>
+                <el-table-column label="最后修改人" prop="editUname" align="center">
+                </el-table-column>
+                <el-table-column label="最后修改时间" prop="editTime" align="center">
+                </el-table-column>
+                <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
+                    <template slot-scope="scope">
+                        <el-button type="text" @click="showSafetyRiskSpace(scope.row,'查看')">查看</el-button>
+                        <el-button type="text" style="color: red" @click="deleteById(scope.row)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <br>
+        </div>
+        <el-dialog :title="title" :visible.sync="safetyRiskSpaceVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
+            <el-form ref="safetyRiskSpaceForm" :rules="safetyRiskSpaceFormRules" :model="safetyRiskSpaceForm" label-position="right" label-width="165px">
+                <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="safetyRiskSpaceForm.img"
+                        :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,'one')"
+                                >
+                                  <i class="el-icon-delete"></i>
+                                </span>
+                              </span>
+                        </div>
+                    </el-upload>
+                </el-form-item>
+                <el-form-item label="描述信息" prop="descInfo">
+                    <el-input v-model="safetyRiskSpaceForm.descInfo" class="analyseUnit_input"></el-input>
+                </el-form-item>
+            </el-form>
+            <div  align="right">
+                <el-button @click="safetyRiskSpaceVisible = false">取消</el-button>
+                <el-button type="primary" @click="submitSafetyRiskSpace()">确认</el-button>
+            </div>
+            <el-dialog :visible.sync="dialogVisible" :append-to-body="true">
+                <img width="100%" :src="dialogImageUrl" alt="">
+            </el-dialog>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+    import { mapGetters } from 'vuex'
+    import { addSafetyRiskSpace , getSafetyRiskSpaceList , deleteSafetyRiskSpace } from '@/api/safetyRiskSpace'
+    import { getAllCompany } from "../../../../api/unitManage";
+    import {getAnalyseUnitList} from "../../../../api/riskLevelManage";
+    import Cookies from "js-cookie";
+    export default {
+        name: 'index',
+        filters: {
+            parseMain(type){
+                if(type === 1){
+                    return "是"
+                }else if(type === 0){
+                    return "否"
+                }
+            },
+        },
+        computed: {
+            ...mapGetters([
+                'userType'
+            ])
+        },
+        data() {
+            const validateImg = (rule, value, callback) => {
+                if (!this.safetyRiskSpaceForm.img) {
+                    callback(new Error('请上传风险空间分布图'))
+                } else {
+                    callback()
+                }
+            }
+            return {
+                fileRoad:process.env.BASE_API + '/task/web/upload',
+                uploadForm:{
+                },
+                header:{Authorization:''},
+                tableKey: 0,
+                safetyRiskSpaceData: [],
+                fileList:[],
+                companyList:[],
+                statusList:[{id:0,name:'有效'},{id:1,name:'删除'}],
+                listLoading: false,
+                title:'',
+                dialogImageUrl:false,
+                dialogVisible:false,
+                disabled: false,
+                safetyRiskSpaceVisible:false,
+                safetyRiskSpaceFormRules:{
+                    img: [{ required: true, validator: validateImg, trigger: 'blur' }],
+                    descInfo: [{ required: true, message: '描述信息不能为空', trigger: 'blur' }],
+                },
+                safetyRiskSpaceForm:{
+                    createTime: null,
+                    createUid: null,
+                    createUname: null,
+                    descInfo: null,
+                    editTime: null,
+                    editUid: null,
+                    editUname: null,
+                    eid: null,
+                    id: null,
+                    img: null,
+                    status: null
+                },
+                listQuery:{
+                    eid:'',
+                    status:0,
+                },
+            }
+        },
+        created() {
+            this.getSafetyRiskSpaceData()
+            this.getCompany()
+        },
+        methods: {
+            async getSafetyRiskSpaceData(){
+                this.listLoading = true
+                let params = {}
+                params["eid"] = (this.listQuery.eid === '' ? Cookies.get('companyid') : this.listQuery.eid)
+                params["status"] = this.listQuery.status
+                let res = await getSafetyRiskSpaceList(params)
+                if(res.data.code === '200'){
+                    if(res.data.message === '未找到数据'){
+                        this.safetyRiskSpaceData = []
+                        this.$message({
+                            type:'success',
+                            message:'未找到数据',
+                        })
+                    }else{
+                        this.safetyRiskSpaceData = res.data.result.map( item => {
+                            item.img = process.env.IMG_API + item.img
+                            return item
+                        })
+                    }
+                }else{
+                    this.$message({
+                        message:res.data.message,
+                        type:'warning'
+                    })
+                }
+                this.listLoading = false
+            },
+            async getCompany(){
+                let res = await getAllCompany()
+                if(res.data.code === '200'){
+                    this.companyList = res.data.result
+                }else{
+                    this.$message({
+                        message:res.data.message,
+                        type:'warning'
+                    })
+                }
+            },
+            showSafetyRiskSpace(value,type){
+                this.safetyRiskSpaceVisible = true
+                this.$nextTick(() =>{
+                    this.$refs["safetyRiskSpaceForm"].clearValidate()
+                })
+                if(type === '新增'){
+                    this.title = '新增'
+                    this.safetyRiskSpaceForm = {
+                        createUid: Cookies.get('userId'),
+                        descInfo: null,
+                        img: null,
+                    }
+                }else{
+                    this.title = '查看'
+                    this.safetyRiskSpaceForm = value
+                    this.fileList.push({url:value.img})
+                }
+            },
+            submitSafetyRiskSpace(){
+                this.$refs["safetyRiskSpaceForm"].validate((valid) =>{
+                    if(valid){
+                        debugger
+                        addSafetyRiskSpace(this.safetyRiskSpaceForm).then((res)=>{
+                            if(res.data.code === '200'){
+                                this.safetyRiskSpaceVisible = false
+                                this.getSafetyRiskSpaceData()
+                                this.$notify({
+                                    type:'success',
+                                    duration:2000,
+                                    message:'新增成功',
+                                    title:'成功'
+                                })
+                            }else{
+                                this.$message({
+                                    type:'warning',
+                                    message:res.data.message
+                                })
+                            }
+                        })
+                    }else{
+                        this.$message({
+                            message:'请完善基本信息',
+                            type:'warning'
+                        })
+                    }
+                })
+            },
+            deleteById(val){
+                this.$confirm('删除此条信息,是否继续','提示',{
+                    confirmButtonText:'确定',
+                    cancelButtonText:'取消',
+                    type:'warning',
+                }).then(()=> {
+                    deleteSafetyRiskSpace(val.id).then( ()=>{
+                        this.getSafetyRiskSpaceData()
+                        this.$notify({
+                            title:'成功',
+                            message:'删除成功',
+                            type:'success',
+                            duration:2000,
+                        })
+                    })
+                })
+            },
+            refreshHandle(){
+                this.getSafetyRiskSpaceData()
+            },
+            handleChangeFile(){
+                this.header.Authorization = Cookies.get('token')
+            },
+            onFileSuccess(response){
+                if(response.code === '200'){
+                    debugger
+                    this.safetyRiskSpaceForm.img = response.result.path
+                    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){
+                debugger
+                this.dialogImageUrl = file.url;
+                this.dialogVisible = true;
+            },
+            showImg(file){
+                    window.open(file, '_blank')
+            },
+            handleRemove(file){
+                return this.$confirm(`确定移除 ${ file.name }?`,'提示',{
+                    confirmButtonText:'确定',
+                    cancelButtonText:'取消',
+                    type:'warning',
+                }).then(()=> {
+                    this.safetyRiskSpaceForm.img = null
+                    this.fileList = []
+                })
+            },
+        }
+    }
+</script>
+<style scoped>
+    .basic_search{
+        display:inline-block;
+        padding-bottom: 10px;
+    }
+    .analyseUnit_input{
+        width:200px;
+    }
+</style>

--
Gitblit v1.9.2