<template>
|
<div class="main" style="height:89%">
|
<div class="main_header">
|
<div class="header_left_item">
|
<div class="header_item">
|
<el-radio-group v-model="search.codeNum" :size="size" @change="changeRadio">
|
<el-radio label="1" border>全部</el-radio>
|
<el-radio label="2" border>重点监控</el-radio>
|
<el-radio label="3" border>高风险</el-radio>
|
</el-radio-group>
|
</div>
|
<div class="header_item">
|
<span class="header_label">员工姓名:</span>
|
<el-input v-model="search.realName" :size="size" clearable placeholder="请输入员工姓名"></el-input>
|
</div>
|
<div class="header_item">
|
<el-button icon="el-icon-search" v-if="showButton('search')" @click="searchButtonInfo(true)">查询</el-button>
|
</div>
|
</div>
|
<div class="header_right_item">
|
<div class="header_item">
|
<div class="header_item_row">
|
<div class="header_status_good">正常</div>
|
<div class="header_status_warning">重点监控</div>
|
<div class="header_status_hight">高风险</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="main_content">
|
<div v-for="(item,index) in dataList" :key="index" class="card_item">
|
<div class="card_header">
|
<div class="card_header_title">{{item.realName}}</div>
|
</div>
|
<div class="card_content">
|
<div class="card_content_left">
|
<img src="../../../assets/code_icon.png" width="100px" height="100px" v-if=" item.an>=81">
|
<img src="../../../assets/code_icon1.png" width="100px" height="100px" v-if="item.an<=51">
|
<img src="../../../assets/code_icon2.png" width="100px" height="100px" v-if="item.an>51&&item.an<81">
|
</div>
|
<div class="card_content_right">
|
<div class="card_right_rows">
|
<div class="card_right_title">岗位工种:</div>
|
<div class="card_right_datas">{{item.posName}}</div>
|
</div>
|
<div class="card_right_rows">
|
<div class="card_right_title">安全积分:</div>
|
<div class="card_right_datas">{{item.an}}</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="main_footer">
|
<el-pagination
|
background
|
@current-change="changePageNum"
|
@size-change="changePageSize"
|
:current-page="pageNum"
|
:page-sizes="[10, 20, 50, 100]"
|
:page-size="pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="total">
|
</el-pagination>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import { buttonPinia } from '../../../pinia/index'; // 1~50高风险,51~80重点监控,81以上正常
|
import { changeSize } from '../../../plugins/public'; // 导入节流、动态切换组件尺寸方法
|
export default {
|
data() {
|
return {
|
size: changeSize(), // 组件尺寸
|
pageNum: 1,
|
pageSize: 10,
|
search:{
|
codeNum:'1'
|
},//查询条件
|
optionsType:[],//资料类型
|
total: 0,
|
loading: false,
|
dataList: [], //奖惩标准管理信息列表
|
}
|
},
|
mounted() {
|
const that = this;
|
// 根据窗口大小动态修改组件尺寸
|
window.onresize = () => {
|
that.size = changeSize();
|
}
|
},
|
methods: {
|
//改变radio选项
|
changeRadio(){
|
this.searchButtonInfo(true)
|
},
|
// 查询按钮列表信息
|
searchButtonInfo(bol) {
|
if(bol) {
|
this.pageNum = 1;
|
}
|
let params = Object.assign({},this.search,{
|
pageNum: this.pageNum,
|
pageSize: this.pageSize
|
})
|
this.loading = true;
|
this.$api.Safety.codeSafeLists(params).then((res) => {
|
if(res.statusMsg === 'ok') {
|
this.total = res.data.total;
|
this.dataList = res.data.list;
|
}
|
this.loading = false;
|
})
|
},
|
// 判断按钮权限信息
|
showButton(str) {
|
const pinia = buttonPinia();
|
return pinia.$state.buttonInfo.includes(str);
|
},
|
// 切换页数
|
changePageNum(page) {
|
this.pageNum = page;
|
this.searchButtonInfo();
|
},
|
// 切换每页条数
|
changePageSize(size) {
|
this.pageSize = size;
|
this.searchButtonInfo();
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
@import '../../../style/layout-main.scss';
|
.el-radio.is-bordered + .el-radio.is-bordered{
|
margin-left: 0px;
|
}
|
.el-radio{
|
margin: 0 15px 15px 0;
|
}
|
/deep/.el-radio__input.is-checked .el-radio__inner{
|
border-color: #39B5FE!important;
|
}
|
/deep/.el-radio__inner::after{
|
background-color: #39B5FE!important;
|
}
|
/deep/.el-radio__inner{
|
border-color: #fff!important;
|
}
|
.main_content{
|
// width: calc(100% - 30px);
|
display: flex;
|
flex-wrap: wrap;
|
overflow-y: auto!important;
|
overflow-x: hidden;
|
align-content: baseline;
|
.card_item{
|
width: 300px;
|
// height: 170px;
|
border-top-left-radius: 6px;
|
border-top-right-radius: 6px;
|
border-bottom-left-radius: 6px;
|
border-bottom-right-radius: 6px;
|
background-color: #031A46;
|
margin: 0px 10px 24px 0px;
|
box-shadow:0px 0px 8px 0px #0C4F79;
|
|
.card_header{
|
width: 100%;
|
height: 48px;
|
border-top-left-radius: 6px;
|
border-top-right-radius: 6px;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
background-color: rgba(57,181,254,0.3);
|
|
.card_header_title{
|
color: #39B5FE;
|
font-size: 16px;
|
padding-left: 25px;
|
position: relative;
|
&::before{
|
content: "";
|
position: absolute;
|
top: -2px;
|
left: 12px;
|
width: 5px;
|
height: 20px;
|
background-color: #39B5FE;
|
}
|
}
|
}
|
|
.card_content{
|
width: 100%;
|
background-color:#031A46;
|
padding: 10px;
|
border-bottom-left-radius: 6px;
|
border-bottom-right-radius: 6px;
|
display: flex;
|
|
.card_content_left{
|
margin-right: 20px;
|
}
|
.card_content_right{
|
display: flex;
|
justify-content: space-evenly;
|
flex-direction: column;
|
.card_right_rows{
|
display: flex;
|
.card_right_title{
|
flex: none;
|
font-size: 14px;
|
color: #E0E3E9;
|
}
|
.card_right_datas{
|
font-size: 14px;
|
color: #39B5FE;
|
}
|
}
|
}
|
}
|
}
|
}
|
.main_header{
|
justify-content: space-between;
|
|
.header_left_item{
|
display: flex;
|
}
|
.header_right_item{
|
.header_item_row{
|
padding: 10px 15px;
|
display: flex;
|
border: 1px solid #39B5FE;
|
border-radius: 4px;
|
|
.header_status_good{
|
color: #E1E7EC;
|
font-size: 14px;
|
padding-left: 25px;
|
position: relative;
|
&::before{
|
content: "";
|
position: absolute;
|
top: 3px;
|
left: 2px;
|
width: 18px;
|
height: 10px;
|
background-color: #23EE7F;
|
border-radius: 2px;
|
}
|
}
|
.header_status_warning{
|
color: #E1E7EC;
|
font-size: 14px;
|
padding-left: 30px;
|
position: relative;
|
&::before{
|
content: "";
|
position: absolute;
|
top: 3px;
|
left: 5px;
|
width: 18px;
|
height: 10px;
|
background-color: #F38F1C;
|
border-radius: 2px;
|
}
|
}
|
.header_status_hight{
|
color: #E1E7EC;
|
font-size: 14px;
|
padding-left: 30px;
|
position: relative;
|
&::before{
|
content: "";
|
position: absolute;
|
top: 3px;
|
left: 5px;
|
width: 18px;
|
height: 10px;
|
background-color: #FC494B;
|
border-radius: 2px;
|
}
|
}
|
}
|
}
|
}
|
</style>
|