parent
817398701f
commit
71aeb10cbc
@ -0,0 +1,457 @@
|
||||
<template>
|
||||
<div class="enterprise-container">
|
||||
<div class="tab-main">
|
||||
<div
|
||||
class="tab-item"
|
||||
:class="active == index ? 'activeTab' : ''"
|
||||
v-for="(item, index) in tabList"
|
||||
:key="item.value"
|
||||
@click="changeTab(item.name, index)"
|
||||
>
|
||||
{{ item.name }}
|
||||
<div class="tab-line" v-show="active == index"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container-box" ref="targetElement">
|
||||
<div class="timer-shaft" v-if="active == 0">
|
||||
<div class="timer-item">
|
||||
<div class="circle" style="top: 0.08rem">
|
||||
<img src="@/assets/image/vxEwm/big-circle2.png" alt="" />
|
||||
</div>
|
||||
<div class="circle-line" style="top: 0.08rem; height: 135%"></div>
|
||||
<div class="data-mian">
|
||||
<div class="timer-line-title enterprise-name">
|
||||
{{ enterpriseName }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="timer-item">
|
||||
<div class="circle">
|
||||
<img src="@/assets/image/vxEwm/circle.png" alt="" />
|
||||
</div>
|
||||
<div class="circle-line"></div>
|
||||
<div class="row-cell">
|
||||
<div class="cell-box">
|
||||
<div class="left-icon-name">
|
||||
<div class="left-icon">
|
||||
<img src="@/assets/image/vxEwm/row-cell-1.png" alt="" />
|
||||
</div>
|
||||
<div class="left-name">日常巡查</div>
|
||||
</div>
|
||||
<div class="right-data-unit">
|
||||
<div class="right-data">
|
||||
{{ zhengchang.countValue ? zhengchang.countValue : 0 }}
|
||||
</div>
|
||||
<div class="right-unit">次</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="timer-item">
|
||||
<div class="circle">
|
||||
<img src="@/assets/image/vxEwm/circle.png" alt="" />
|
||||
</div>
|
||||
<div class="circle-line"></div>
|
||||
<div class="row-cell">
|
||||
<div class="two-rows">
|
||||
<div class="top-row">
|
||||
<div class="left-icon-name">
|
||||
<div class="left-icon">
|
||||
<img src="@/assets/image/vxEwm/row-cell-3.png" alt="" />
|
||||
</div>
|
||||
<div class="left-name">风险隐患</div>
|
||||
</div>
|
||||
<div class="right-data-unit">
|
||||
<div class="right-data">{{ yinhuanSum }}</div>
|
||||
<div class="right-unit">条</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="bottom-row">
|
||||
<div>
|
||||
<span class="unit">未派单</span>
|
||||
<span class="unit-num" style="color: #f563cd">
|
||||
{{ weipandan.countValue || 0 }}
|
||||
</span>
|
||||
<span class="unit"> 条</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="unit">已派单</span>
|
||||
<span class="unit-num" style="color: #ff9600">
|
||||
{{ yipaidan.countValue || 0 }}
|
||||
</span>
|
||||
<span class="unit"> 条</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="unit">已整改</span>
|
||||
<span class="unit-num" style="color: #4cbaf3">
|
||||
{{ yizhenggai.countValue || 0 }}
|
||||
</span>
|
||||
<span class="unit"> 条</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="timer-item">
|
||||
<div class="circle">
|
||||
<img src="@/assets/image/vxEwm/circle.png" alt="" />
|
||||
</div>
|
||||
<div class="circle-line"></div>
|
||||
<div class="row-cell">
|
||||
<div class="two-rows">
|
||||
<div class="top-row">
|
||||
<div class="left-icon-name">
|
||||
<div class="left-icon">
|
||||
<img src="@/assets/image/vxEwm/row-cell-3.png" alt="" />
|
||||
</div>
|
||||
<div class="left-name">整改工单</div>
|
||||
</div>
|
||||
<div class="right-data-unit">
|
||||
<div class="right-data">
|
||||
{{ gongdanSum ? gongdanSum : 0 }}
|
||||
</div>
|
||||
<div class="right-unit">个</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
<div class="bottom-row">
|
||||
<div></div>
|
||||
<div>
|
||||
<span class="unit">未处理</span>
|
||||
<span class="unit-num" style="color: #f563cd">
|
||||
{{ weigongdan ? weigongdan : 0 }}
|
||||
</span>
|
||||
<span class="unit"> 条</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span class="unit">已处理</span>
|
||||
<span class="unit-num" style="color: #4cbaf3">
|
||||
{{ yigongdan ? yigongdan : 0 }}</span
|
||||
>
|
||||
<span class="unit"> 条</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="timer-item">
|
||||
<div class="circle">
|
||||
<img src="@/assets/image/vxEwm/circle.png" alt="" />
|
||||
</div>
|
||||
<!-- <div class="circle-line"></div> -->
|
||||
<div class="row-cell">
|
||||
<div class="cell-box">
|
||||
<div class="left-icon-name">
|
||||
<div class="left-icon">
|
||||
<img src="@/assets/image/vxEwm/row-cell-3.png" alt="" />
|
||||
</div>
|
||||
<div class="left-name">企业提交整改</div>
|
||||
</div>
|
||||
<div class="right-data-unit">
|
||||
<div class="right-data">
|
||||
{{ zhenggaiInfo ? zhenggaiInfo : 0 }}
|
||||
</div>
|
||||
<div class="right-unit">次</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import xApi from '../../../api/xApi'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
enterpriseName: '',
|
||||
active: 0,
|
||||
tabList: [
|
||||
{ name: '企业动态', value: 0 },
|
||||
{ name: '企业详情', value: 1 },
|
||||
{ name: '检查记录', value: 2 },
|
||||
],
|
||||
zhengchang: {}, //正常
|
||||
weipandan: {},
|
||||
yipaidan: {}, //已派单
|
||||
yizhenggai: {}, //已整改
|
||||
zhenggaiInfo: null, //整改情况
|
||||
yinhuanSum: 0,
|
||||
gongdanSum: null, //工单总数
|
||||
weigongdan: 0,
|
||||
yigongdan: 0,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
let enterpriseId = this.$route.query.id
|
||||
this.enterpriseName = this.$route.query.name
|
||||
let isShow = this.$route.query.isShow
|
||||
if (isShow) {
|
||||
this.$store.commit('SET_IS_SHOW', isShow)
|
||||
} else {
|
||||
this.$store.commit('SET_IS_SHOW', false)
|
||||
}
|
||||
this.getYinHuan(enterpriseId)
|
||||
this.getJianChaNum(enterpriseId)
|
||||
this.getGongDan(enterpriseId)
|
||||
this.getZhengGaiInfo(enterpriseId)
|
||||
},
|
||||
methods: {
|
||||
changeTab(name, index) {
|
||||
if (this.active == index) return
|
||||
this.active = index
|
||||
// 滚动页面至顶部
|
||||
this.$refs.targetElement.scrollTo({
|
||||
top: 0,
|
||||
behavior: 'smooth', // 使用平滑滚动效果
|
||||
})
|
||||
},
|
||||
//风险隐患
|
||||
getYinHuan(id) {
|
||||
let params = {
|
||||
EnterpriseID: id,
|
||||
}
|
||||
xApi.getenterprisetroublecount(params).then((res) => {
|
||||
res.data.forEach((item) => {
|
||||
if (item.status == 0) {
|
||||
this.weipandan = item
|
||||
} else if (item.status == 1) {
|
||||
this.yipaidan = item
|
||||
} else if (item.status == 2) {
|
||||
this.yizhenggai = item
|
||||
}
|
||||
})
|
||||
if (JSON.stringify(this.weipandan) == '{}') {
|
||||
//判断存在不存在的state
|
||||
this.weipandan.countValue = 0
|
||||
}
|
||||
if (JSON.stringify(this.yipaidan) == '{}') {
|
||||
this.yipaidan.countValue = 0
|
||||
}
|
||||
if (JSON.stringify(this.yizhenggai) == '{}') {
|
||||
this.yizhenggai.countValue = 0
|
||||
}
|
||||
this.yinhuanSum =
|
||||
this.weipandan.countValue +
|
||||
this.yipaidan.countValue +
|
||||
this.yizhenggai.countValue
|
||||
// console.log('风险隐患',JSON.stringify(this.weipandan) == '{}')
|
||||
// console.log('未派单',this.weipandan,'已派单',this.yipaidan,'已整改',this.yizhenggai,'总数',this.yinhuanSum)
|
||||
})
|
||||
},
|
||||
// 获取领导检查次数
|
||||
getJianChaNum(id) {
|
||||
let params = {
|
||||
EnterpriseID: id,
|
||||
}
|
||||
xApi.getenterprisecheckscount(params).then((res) => {
|
||||
res.data.forEach((it) => {
|
||||
if (it.leaderJoin == 0) {
|
||||
//领导检查
|
||||
this.zhengchang = it
|
||||
}
|
||||
if (it.leaderJoin == 1) {
|
||||
//日常巡查
|
||||
this.linDao = it
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
//整改工单
|
||||
getGongDan(id) {
|
||||
let params = {
|
||||
EnterpriseID: id,
|
||||
}
|
||||
xApi.getenterpriseimprovingcount(params).then((res) => {
|
||||
// console.log(res.data)
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
this.gongdanSum += res.data[i].countValue
|
||||
if (res.data[i].isFinal == 0) {
|
||||
this.weigongdan += res.data[i].countValue
|
||||
} else if (res.data[i].isFinal == 1) {
|
||||
this.yigongdan += res.data[i].countValue
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//获取整改情况
|
||||
getZhengGaiInfo(id) {
|
||||
let params = {
|
||||
EnterpriseID: id,
|
||||
}
|
||||
xApi.getimprovingreviewcount(params).then((res) => {
|
||||
for (var i = 0; i < res.data.length; i++) {
|
||||
this.zhenggaiInfo += res.data[i].countValue
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
div {
|
||||
text-align: left;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
img {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
.enterprise-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.tab-main {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 0.5rem;
|
||||
& > div {
|
||||
flex: 1;
|
||||
font-size: 0.25rem;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
position: relative;
|
||||
.tab-line {
|
||||
position: absolute;
|
||||
bottom: -0.35rem;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
width: 0.65rem;
|
||||
height: 0.26rem;
|
||||
background: url('~@/assets/image/vxEwm/tab-line.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
.activeTab {
|
||||
color: #177fd4;
|
||||
}
|
||||
}
|
||||
.container-box {
|
||||
height: calc(100% - 0.7rem);
|
||||
overflow-y: auto;
|
||||
}
|
||||
.timer-shaft {
|
||||
margin-top: 0.4rem;
|
||||
.timer-item {
|
||||
position: relative;
|
||||
.circle {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0.4rem;
|
||||
z-index: 2;
|
||||
width: 0.33rem;
|
||||
height: 0.34rem;
|
||||
}
|
||||
.circle-line {
|
||||
position: absolute;
|
||||
left: calc(0.33rem / 2.3);
|
||||
top: 0.4rem;
|
||||
z-index: 1;
|
||||
width: 0.03rem;
|
||||
height: 100%;
|
||||
background: url('~@/assets/image/vxEwm/circle-line.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.data-mian {
|
||||
box-sizing: border-box;
|
||||
padding-left: 0.43rem;
|
||||
padding-bottom: 0.6rem;
|
||||
width: 100%;
|
||||
.enterprise-name {
|
||||
font-weight: 800;
|
||||
font-size: 0.29rem;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
.row-cell {
|
||||
padding-left: 0.43rem;
|
||||
padding-bottom: 0.5rem;
|
||||
|
||||
.cell-box {
|
||||
padding: 0 0.42rem;
|
||||
min-height: 1rem;
|
||||
background: #fff;
|
||||
border-radius: 28px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.two-rows {
|
||||
padding: 0.2rem 0.42rem;
|
||||
min-height: 1rem;
|
||||
background: #fff;
|
||||
border-radius: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.top-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.line {
|
||||
margin: 0.18rem 0;
|
||||
height: 0.01rem;
|
||||
background: #eeeeee;
|
||||
}
|
||||
.bottom-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
& > div {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.unit {
|
||||
font-size: 0.2rem;
|
||||
color: #666666;
|
||||
font-weight: 500;
|
||||
}
|
||||
.unit-num {
|
||||
font-size: 0.29rem;
|
||||
font-weight: bold;
|
||||
font-family: 'PingFang-SC-Bold';
|
||||
margin: 0 0.1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.left-icon-name {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left-icon {
|
||||
width: 0.3rem;
|
||||
height: 0.3rem;
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.left-name {
|
||||
font-weight: 500;
|
||||
font-size: 0.24rem;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
.right-data-unit {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.right-data {
|
||||
font-size: 0.38rem;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
font-family: 'PingFang-SC-Bold';
|
||||
margin-right: 0.1rem;
|
||||
}
|
||||
.right-unit {
|
||||
font-size: 0.19rem;
|
||||
color: #666666;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Reference in new issue