lyfO_o
2022-05-23 08bf6da5e3164a1b3ee5c79bb5d666e6385b4653
src/views/doublePreventAction/riskLevelManage/analyseUnit/index.vue
@@ -2,7 +2,29 @@
    <div class="app-container">
        <div class="filter-container">
            <div class="basic_search">
                <span>单位名称:</span>
                <span>责任部门:</span>
                <el-select v-model="listQuery.filter.hazardDep"  clearable filterable style="width:200px">
                    <el-option
                        v-for="item in departmentList"
                        :key="item.id"
                        :label="item.department"
                        :value="item.department"
                    ></el-option>
                </el-select>
            </div>
            <div class="basic_search">
                <span>责任人:</span>
                <el-select v-model="listQuery.filter.hazardLiablePerson" clearable filterable style="width:200px">
                    <el-option
                        v-for="item in userList"
                        :key="item.id"
                        :label="item.realname"
                        :value="item.realname"
                    ></el-option>
                </el-select>
            </div>
            <div class="basic_search">
                <span>单元名称:</span>
                <el-input v-model="listQuery.filter.riskUnitName" style="width:200px">
                </el-input>
            </div>
@@ -60,17 +82,33 @@
        <el-dialog :title="title" :visible.sync="analyseUnitVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
            <el-form ref="analyseUnitForm" :rules="analyseUnitFormRules" :model="analyseUnitForm" label-position="right" label-width="165px">
                <el-form-item label="责任部门" prop="hazardDep">
                    <el-select v-model="analyseUnitForm.hazardDep" class="analyseUnit_input">
                        <el-option
                        v-for="item in departmentList"
                        :key="item.id"
                        :value="item.department"
                        :label="item.department"
                        ></el-option>
                    </el-select>
                    <el-row>
                        <el-col :span="21">
                            <el-select v-model="analyseUnitForm.hazardDep" value-key="item" class="analyseUnit_input" @change="departmentChange" @clear="departmentClear">
                                <el-option
                                    v-for="item in departmentList"
                                    :key="item.id"
                                    :value="item"
                                    :label="item.department"
                                ></el-option>
                            </el-select>
                        </el-col>
                        <el-col :span="3">
                            <img src="../../../../assets/map.png" class="image" @click="showDepartmentChart"></img>
                        </el-col>
                    </el-row>
                </el-form-item>
                <el-form-item label="责任人" prop="hazardLiablePerson">
                    <el-input v-model="analyseUnitForm.hazardLiablePerson" class="analyseUnit_input"></el-input>
                    <el-select v-model="analyseUnitForm.hazardLiablePerson" value-key="item" class="analyseUnit_input"@change="personChange" @clear="personClear" >
                        <el-option
                            v-for="item in userList"
                            :key="item.id"
                            :label="item.realname"
                            :value="item"
                        ></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="安全风险分析对象编码" prop="hazardCode">
                    <el-input v-model="analyseUnitForm.hazardCode" class="analyseUnit_input"></el-input>
@@ -84,14 +122,19 @@
                <el-button type="primary" @click="submitAnalyseUnit()">确认</el-button>
            </div>
        </el-dialog>
        <department-chart ref="chart"></department-chart>
    </div>
</template>
<script>
    import departmentChart from "./components/departmentChart";
    import { mapGetters } from 'vuex'
    import { computePageCount } from '@/utils'
    import { addAnalyseUnit, deleteAnalyseUnit, getAnalyseUnitList, updateAnalyseUnit } from '@/api/riskLevelManage'
    import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage";
    import {safetyInspectionItemName} from "../../../../api/safetySelfInspection";
    import {getDepartmentChart} from "../../../../api/riskLevelManage";
    export default {
        name: 'index',
        filters: {
@@ -108,11 +151,15 @@
                'userType'
            ])
        },
        components :{
            departmentChart
        },
        data() {
            return {
                tableKey: 0,
                analyseUnitData: [],
                departmentList:[],
                userList:[],
                listLoading: false,
                pageSize: 10,
                recordTotal: 0,
@@ -146,7 +193,9 @@
                    pageIndex:1,
                    pageSize:10,
                    filter:{
                        riskUnitName:'',
                        hazardLiablePerson:'',
                        hazardDep:'',
                        riskUnitName:''
                    }
                },
            }
@@ -154,6 +203,7 @@
        created() {
            this.getAnalyseUnitData()
            this.getDepartment()
            this.getUser()
        },
        methods: {
            async getAnalyseUnitData(){
@@ -183,6 +233,20 @@
                        type:'warning'
                    })
                }
            },
            async getUser(){
                let res = await safetyInspectionItemName()
                if(res.data.code === '200'){
                    this.userList = res.data.result
                }else{
                    this.$message({
                        message:res.data.message,
                        type:'warning'
                    })
                }
            },
            showDepartmentChart() {
                this.$refs.chart.show()
            },
            showAnalyseUnitForm(value,type){
                this.analyseUnitVisible = true
@@ -276,6 +340,22 @@
                    })
                })
            },
            personChange(val){
                this.analyseUnitForm.hazardLiablePerson = val.realname
                this.analyseUnitForm.hazardLiablePersonId = val.id
            },
            departmentChange(val){
                this.analyseUnitForm.hazardDep = val.department
                this.analyseUnitForm.hazardDepId = val.id
            },
            personClear(){
                this.analyseUnitForm.hazardLiablePerson = null
                this.analyseUnitForm.hazardLiablePersonId = null
            },
            departmentClear(){
                this.analyseUnitForm.hazardDep = null
                this.analyseUnitForm.hazardDepId = null
            },
            refreshHandle(){
                this.getAnalyseUnitData()
            },
@@ -298,4 +378,8 @@
    .analyseUnit_input{
        width:320px;
    }
    .image{
        width:70%;
        height:70%;
    }
</style>