|
@@ -207,7 +207,12 @@ const qualificationWarnings = ref([
|
|
|
const qhseMetricTabs = [
|
|
const qhseMetricTabs = [
|
|
|
{ label: 'LTIR', value: 'ltir', accent: '#3d7cff', label2: '百万工时损失工时事故率' },
|
|
{ label: 'LTIR', value: 'ltir', accent: '#3d7cff', label2: '百万工时损失工时事故率' },
|
|
|
{ label: 'TRIR', value: 'trir', accent: '#17b6c5', label2: '百万工时总可记录事件率' },
|
|
{ label: 'TRIR', value: 'trir', accent: '#17b6c5', label2: '百万工时总可记录事件率' },
|
|
|
- { label: 'PMVA', value: 'pmva', accent: '#f2a93b', label2: '百万公里可预防性交通事故率' }
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ label: 'PMVA(百万工时/百万里程)',
|
|
|
|
|
+ value: 'pmva',
|
|
|
|
|
+ accent: '#f2a93b',
|
|
|
|
|
+ label2: '百万公里可预防性交通事故率'
|
|
|
|
|
+ }
|
|
|
] as const
|
|
] as const
|
|
|
|
|
|
|
|
const activeQhseMetric = ref<QhseMetricValue>('ltir')
|
|
const activeQhseMetric = ref<QhseMetricValue>('ltir')
|
|
@@ -259,11 +264,11 @@ const bottomCards = ref([
|
|
|
lines: ['年度应急演练:80次']
|
|
lines: ['年度应急演练:80次']
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- title: '质量检验',
|
|
|
|
|
|
|
+ title: '职业健康',
|
|
|
icon: Checked,
|
|
icon: Checked,
|
|
|
accent: '#f2c11a',
|
|
accent: '#f2c11a',
|
|
|
glow: 'rgba(242, 193, 26, 0.2)',
|
|
glow: 'rgba(242, 193, 26, 0.2)',
|
|
|
- lines: ['产品合格率', '98.7%(达标)']
|
|
|
|
|
|
|
+ lines: ['职业健康体检率', '98.7%(达标)']
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
title: '环境危废',
|
|
title: '环境危废',
|
|
@@ -398,6 +403,15 @@ function getHazardChartOption(): echarts.EChartsOption {
|
|
|
},
|
|
},
|
|
|
yAxis: {
|
|
yAxis: {
|
|
|
type: 'value',
|
|
type: 'value',
|
|
|
|
|
+ name: '隐患数量',
|
|
|
|
|
+ nameLocation: 'end',
|
|
|
|
|
+ nameGap: 18,
|
|
|
|
|
+ nameTextStyle: {
|
|
|
|
|
+ color: '#8a9bb5',
|
|
|
|
|
+ fontSize: 13,
|
|
|
|
|
+ fontWeight: 600,
|
|
|
|
|
+ fontFamily: FONT_FAMILY
|
|
|
|
|
+ },
|
|
|
axisLine: { show: false },
|
|
axisLine: { show: false },
|
|
|
axisTick: { show: false },
|
|
axisTick: { show: false },
|
|
|
axisLabel: {
|
|
axisLabel: {
|
|
@@ -969,28 +983,8 @@ onUnmounted(() => {
|
|
|
<div v-if="activeSummaryTab === 'home'" class="summary-toolbar__date">
|
|
<div v-if="activeSummaryTab === 'home'" class="summary-toolbar__date">
|
|
|
<span class="summary-toolbar__date-label">日期:</span>
|
|
<span class="summary-toolbar__date-label">日期:</span>
|
|
|
|
|
|
|
|
- <div class="flex items-center">
|
|
|
|
|
- <!-- 维度切换下拉 -->
|
|
|
|
|
- <el-select v-model="type" placeholder="筛选维度" style="width: 120px">
|
|
|
|
|
- <el-option label="按日" value="day" />
|
|
|
|
|
- <el-option label="按月" value="month" />
|
|
|
|
|
- <el-option label="按季度" value="quarter" />
|
|
|
|
|
- <el-option label="按年" value="year" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
-
|
|
|
|
|
- <!-- 日期组件 -->
|
|
|
|
|
- <VueDatePicker
|
|
|
|
|
- v-model="timeVal"
|
|
|
|
|
- vertical
|
|
|
|
|
- v-if="type === 'quarter'"
|
|
|
|
|
- quarter-picker
|
|
|
|
|
- :teleport="true"
|
|
|
|
|
- :locale="zhCN"
|
|
|
|
|
- @update:model-value="handelChange"
|
|
|
|
|
- style="margin-left: 10px; width: 320px" />
|
|
|
|
|
-
|
|
|
|
|
|
|
+ <div class="flex items-center gap-2">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
- v-else
|
|
|
|
|
v-model="timeVal"
|
|
v-model="timeVal"
|
|
|
:teleport="true"
|
|
:teleport="true"
|
|
|
:type="type === 'day' ? 'date' : type === 'month' ? 'month' : 'year'"
|
|
:type="type === 'day' ? 'date' : type === 'month' ? 'month' : 'year'"
|
|
@@ -999,7 +993,17 @@ onUnmounted(() => {
|
|
|
start-placeholder="开始"
|
|
start-placeholder="开始"
|
|
|
end-placeholder="结束"
|
|
end-placeholder="结束"
|
|
|
@change="handelChange"
|
|
@change="handelChange"
|
|
|
- style="width: 320px; height: 40px; margin-left: 10px" />
|
|
|
|
|
|
|
+ style="
|
|
|
|
|
+ width: 150px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ margin-left: 10px;
|
|
|
|
|
+ background-color: transparent;
|
|
|
|
|
+ " />
|
|
|
|
|
+
|
|
|
|
|
+ <span class="bg-[#f5f9ff] rounded-2xl px-2 py-0 cursor-pointer">月度</span>
|
|
|
|
|
+ <span class="bg-[#f5f9ff] rounded-2xl px-2 py-0 cursor-pointer">季度</span>
|
|
|
|
|
+ <span class="bg-[#f5f9ff] rounded-2xl px-2 py-0 cursor-pointer">年度</span>
|
|
|
|
|
+ <span class="bg-[#f5f9ff] rounded-2xl px-2 py-0 cursor-pointer">初始化</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -1046,7 +1050,7 @@ onUnmounted(() => {
|
|
|
<section class="panel board-panel board-panel--center kb-stage-card kb-stage-card--4">
|
|
<section class="panel board-panel board-panel--center kb-stage-card kb-stage-card--4">
|
|
|
<div class="panel-title panel-title--center">
|
|
<div class="panel-title panel-title--center">
|
|
|
<span class="icon-decorator"><span></span><span></span></span>
|
|
<span class="icon-decorator"><span></span><span></span></span>
|
|
|
- 风险管控及隐患排查
|
|
|
|
|
|
|
+ 风险管控及隐患治理
|
|
|
</div>
|
|
</div>
|
|
|
<div class="risk-grid">
|
|
<div class="risk-grid">
|
|
|
<article v-for="zone in riskZones" :key="zone.title" class="risk-card">
|
|
<article v-for="zone in riskZones" :key="zone.title" class="risk-card">
|
|
@@ -1063,7 +1067,7 @@ onUnmounted(() => {
|
|
|
</article>
|
|
</article>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <div class="risk-hazard-block">
|
|
|
|
|
|
|
+ <div class="risk-hazard-block mt-2!">
|
|
|
<div
|
|
<div
|
|
|
ref="hazardChartRef"
|
|
ref="hazardChartRef"
|
|
|
class="chart-panel chart-panel--echart risk-hazard-block__chart"></div>
|
|
class="chart-panel chart-panel--echart risk-hazard-block__chart"></div>
|
|
@@ -1112,7 +1116,7 @@ onUnmounted(() => {
|
|
|
<section class="panel board-panel board-panel--center kb-stage-card kb-stage-card--4">
|
|
<section class="panel board-panel board-panel--center kb-stage-card kb-stage-card--4">
|
|
|
<div class="panel-title panel-title--center">
|
|
<div class="panel-title panel-title--center">
|
|
|
<span class="icon-decorator"><span></span><span></span></span>
|
|
<span class="icon-decorator"><span></span><span></span></span>
|
|
|
- 行为安全与风险预警
|
|
|
|
|
|
|
+ 行为安全与系统预警
|
|
|
</div>
|
|
</div>
|
|
|
<section class="board-panel kb-stage-card kb-stage-card--5 pt-2">
|
|
<section class="board-panel kb-stage-card kb-stage-card--5 pt-2">
|
|
|
<div ref="socChartRef" class="soc-chart-panel"></div>
|
|
<div ref="socChartRef" class="soc-chart-panel"></div>
|
|
@@ -1560,6 +1564,7 @@ onUnmounted(() => {
|
|
|
|
|
|
|
|
.risk-hazard-block {
|
|
.risk-hazard-block {
|
|
|
padding: 0 24px 5px;
|
|
padding: 0 24px 5px;
|
|
|
|
|
+ margin-top: 18px;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.risk-hazard-block__title {
|
|
.risk-hazard-block__title {
|
|
@@ -1773,6 +1778,25 @@ onUnmounted(() => {
|
|
|
|
|
|
|
|
:deep(.el-input__inner) {
|
|
:deep(.el-input__inner) {
|
|
|
font-size: 14px !important;
|
|
font-size: 14px !important;
|
|
|
|
|
+ border: none !important;
|
|
|
|
|
+ font-size: 14px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+:deep(.el-input__wrapper) {
|
|
|
|
|
+ background: transparent !important;
|
|
|
|
|
+ border: none !important;
|
|
|
|
|
+ font-size: 14px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+:deep(.el-input) {
|
|
|
|
|
+ border: none !important;
|
|
|
|
|
+ outline: none !important;
|
|
|
|
|
+ font-size: 14px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+:deep(.el-date-editor.el-input, .el-date-editor.el-input__inner) {
|
|
|
|
|
+ border: none !important;
|
|
|
|
|
+ font-size: 14px !important;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.certificate-pagination {
|
|
.certificate-pagination {
|