2026.3.27
按照群里发的修改意见已修改
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<ChartCard margin="0 0 30rpx 0" title="危大工程管控数据">
|
||||
<ChartCard margin="0 0 30rpx 0" title="危大工程数">
|
||||
<view class="big-crisis">
|
||||
<qiun-data-charts type="column" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
|
||||
</view>
|
||||
@@ -44,9 +44,9 @@
|
||||
|
||||
onMounted(() => {
|
||||
let res = {
|
||||
categories: ["未开始", "进行中", "已完成", "培训人次", "作业人次"],
|
||||
categories: ["已完成个数", "进行中个数", "作业人数", "培训人次数"],
|
||||
series: [{
|
||||
data: [35, 36, 31, 33, 13]
|
||||
data: [35, 36, 31, 33]
|
||||
}]
|
||||
};
|
||||
chartData.value = JSON.parse(JSON.stringify(res));
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
<template>
|
||||
|
||||
<ChartCard margin="0 0 30rpx 0" title="安全隐患排查治理">
|
||||
<ChartCard margin="0 0 20rpx 0" title="项目安全检查数据">
|
||||
<view class="defect">
|
||||
<u-subsection :list="list" :current="current" @change="handleChange"></u-subsection>
|
||||
<view class="defect-main u-flex u-row-between u-margin-top-20">
|
||||
<view class="defect-box gb-all">
|
||||
<!-- <u-subsection :list="list" :current="current" @change="handleChange"></u-subsection> -->
|
||||
<view class="defect-main u-flex u-row-between">
|
||||
<!-- <view class="defect-box gb-all">
|
||||
<text class="defect-box-lab">安全隐患</text>
|
||||
<text class="defect-box-num u-margin-top-20">4567</text>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="defect-box gb-rectified">
|
||||
<text class="defect-box-lab">整改闭环</text>
|
||||
<text class="defect-box-lab">项目检查数</text>
|
||||
<text class="defect-box-num u-margin-top-20">20</text>
|
||||
</view>
|
||||
<view class="defect-box gb-not-rectified">
|
||||
<!-- <view class="defect-box gb-not-rectified">
|
||||
<text class="defect-box-lab">未整改</text>
|
||||
<text class="defect-box-num u-margin-top-20">6</text>
|
||||
</view>
|
||||
<view class="defect-box gb-rectified-rate">
|
||||
<text class="defect-box-lab">整改率</text>
|
||||
<text class="defect-box-num u-margin-top-20">99.99%</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</view>
|
||||
</ChartCard>
|
||||
@@ -56,7 +56,8 @@
|
||||
}
|
||||
|
||||
&-box {
|
||||
width: calc((100% - 40rpx) / 4);
|
||||
width: 100%;
|
||||
// width: calc((100% - 40rpx) / 4);
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<ChartCard margin="0 0 30rpx 0" title="教育培训">
|
||||
<ChartCard margin="0 0 30rpx 0" title="培训数据">
|
||||
<view class="charts-box">
|
||||
<qiun-data-charts type="area" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
|
||||
</view>
|
||||
@@ -49,7 +49,7 @@ const handleTap = (e) => {
|
||||
|
||||
onMounted(() => {
|
||||
let res = {
|
||||
categories: ['专项培训', '特种作业\n培训', '三级安全\n教育培训', '安全技术\n交底'],
|
||||
categories: ['专项培训', '三级安全教育\n培训人次', '特种作业\n培训人次', '安全技术\n交底人次'],
|
||||
series: [
|
||||
{
|
||||
data: [302265, 70770, 399175, 14851]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<ChartCard margin="0 0 30rpx 0" title="应急管理数据" >
|
||||
<ChartCard margin="0 0 30rpx 0" title="应急数据">
|
||||
<view class="emergencyCard">
|
||||
<qiun-data-charts type="column" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
|
||||
</view>
|
||||
@@ -7,64 +7,65 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import ChartCard from '@/components/chartCard.vue'
|
||||
import {
|
||||
ref,onMounted
|
||||
} from 'vue';
|
||||
|
||||
const opts = ref({
|
||||
padding: [15, 15, 0, 5],
|
||||
enableScroll: false,
|
||||
legend: {show: false},
|
||||
xAxis: {
|
||||
disableGrid: true,
|
||||
rotateLabel: true,
|
||||
fontSize: 10,
|
||||
rotateAngle: -30
|
||||
},
|
||||
yAxis: {
|
||||
data: [{
|
||||
import ChartCard from '@/components/chartCard.vue';
|
||||
import { ref, onMounted } from 'vue';
|
||||
|
||||
const opts = ref({
|
||||
padding: [15, 15, 0, 5],
|
||||
enableScroll: false,
|
||||
legend: { show: false },
|
||||
xAxis: {
|
||||
disableGrid: true,
|
||||
rotateLabel: true,
|
||||
fontSize: 10,
|
||||
rotateAngle: -30
|
||||
},
|
||||
yAxis: {
|
||||
data: [
|
||||
{
|
||||
min: 0
|
||||
}]
|
||||
},
|
||||
extra: {
|
||||
column: {
|
||||
type: "group",
|
||||
width: 20,
|
||||
activeBgColor: "#000000",
|
||||
activeBgOpacity: 0.08
|
||||
}
|
||||
]
|
||||
},
|
||||
extra: {
|
||||
column: {
|
||||
type: 'group',
|
||||
width: 20,
|
||||
activeBgColor: '#000000',
|
||||
activeBgOpacity: 0.08
|
||||
}
|
||||
})
|
||||
|
||||
const chartData = ref({})
|
||||
|
||||
const handleTap = (e) => {
|
||||
console.log(e)
|
||||
}
|
||||
|
||||
|
||||
onMounted(() => {
|
||||
let res = {
|
||||
categories: ["应急预案", "专项预案", "现场处置\n预案", "演练次数", "参演人数"],
|
||||
series: [{
|
||||
});
|
||||
|
||||
const chartData = ref({});
|
||||
|
||||
const handleTap = (e) => {
|
||||
console.log(e);
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
let res = {
|
||||
categories: ['综合预案', '专项预案', '现场处置\n预案', '演练次数 ', '参演人数'],
|
||||
series: [
|
||||
{
|
||||
data: [35, 36, 31, 33, 13],
|
||||
color: '#eef82f'
|
||||
}],
|
||||
formatter: function(value,index,series,opts){
|
||||
console.log(value)
|
||||
console.log(index)
|
||||
console.log(series)
|
||||
console.log(opts)
|
||||
}
|
||||
};
|
||||
chartData.value = JSON.parse(JSON.stringify(res));
|
||||
})
|
||||
],
|
||||
formatter: function (value, index, series, opts) {
|
||||
console.log(value);
|
||||
console.log(index);
|
||||
console.log(series);
|
||||
console.log(opts);
|
||||
}
|
||||
};
|
||||
chartData.value = JSON.parse(JSON.stringify(res));
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.emergencyCard {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
}
|
||||
</style>
|
||||
.emergencyCard {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,89 +1,108 @@
|
||||
<template>
|
||||
|
||||
<ChartCard :loading="loading" margin="0 0 30rpx 0" title="组织机构人员">
|
||||
<ChartCard :loading="loading" margin="0 0 30rpx 0">
|
||||
<view class="organizer">
|
||||
<view class="row u-flex u-padding-20 u-margin-bottom-20">
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">集团总人数</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">总监</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">专职</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">企业</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
</view>
|
||||
|
||||
<view class="organizer-tit">分支机构</view>
|
||||
<view class="row u-flex u-padding-20 u-margin-bottom-20">
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">总监</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">专职</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
</view>
|
||||
<view class="organizer-tit">注安师</view>
|
||||
<view class="row u-flex u-padding-20 u-margin-bottom-20">
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">在岗职业</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="organizer-tit">企业及分支机构人数</view>
|
||||
<view class="row u-flex u-flex-wrap u-padding-20 u-margin-bottom-20">
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">企业总监数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">企业专职人员数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">分支机构总监数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">分支机构专职人员数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">A证人数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">B证人数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="organizer-tit">项目人数</view>
|
||||
<view class="row u-flex u-padding-20 u-margin-bottom-20">
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">总监</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">专职</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">安全监护</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
</view>
|
||||
<view class="organizer-tit">三类人员</view>
|
||||
<view class="row u-flex u-padding-20">
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">A证</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">B证</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row_li u-flex u-row-center"><text class="organizer-lab">C证</text><text
|
||||
class="organizer_num">13273</text></view>
|
||||
<view class="row u-flex u-flex-wrap u-padding-20 u-margin-bottom-20">
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">项目总监</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">专职安全管理人员(含分包)</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">安全监护人数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">注安师数量</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">C证人数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">特种作业人员数量</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">参建人数</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
<view class="row_li u-flex u-row-center">
|
||||
<text class="organizer-lab">安全工时</text>
|
||||
<text class="organizer_num">13273</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</ChartCard>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {ref} from 'vue'
|
||||
import ChartCard from '@/components/chartCard.vue'
|
||||
|
||||
const loading = ref(false)
|
||||
import { ref } from 'vue';
|
||||
import ChartCard from '@/components/chartCard.vue';
|
||||
|
||||
const loading = ref(false);
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.organizer {
|
||||
&-tit {
|
||||
color: #2573cb;
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
background-color: #F7FBFE;
|
||||
padding: 12rpx 20rpx 0;
|
||||
}
|
||||
|
||||
&-lab {
|
||||
color: #999999;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
&_num {
|
||||
color: #333333;
|
||||
font-size: 28rpx;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
background-color: #F7FBFE;
|
||||
|
||||
&_li {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.organizer {
|
||||
width: 100%;
|
||||
&-tit {
|
||||
color: #2573cb;
|
||||
width: 100%;
|
||||
font-size: 28rpx;
|
||||
background-color: #f7fbfe;
|
||||
}
|
||||
</style>
|
||||
|
||||
&-lab {
|
||||
color: #999999;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
|
||||
&_num {
|
||||
color: #333333;
|
||||
font-size: 28rpx;
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
background-color: #f7fbfe;
|
||||
gap: 20rpx 0;
|
||||
&_li {
|
||||
width: 50%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<ChartCard margin="0 0 30rpx 0" title="风险分级管控" >
|
||||
<ChartCard margin="0 0 30rpx 0" title="四级风险数据" >
|
||||
<view class="rish-ranking">
|
||||
<qiun-data-charts type="pie" :opts="opts" :canvas2d="false" :chartData="chartData" />
|
||||
</view>
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<ChartCard margin="0 0 30rpx 0" title="领导级安全检查数">
|
||||
<view class="big-crisis">
|
||||
<qiun-data-charts type="column" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
|
||||
</view>
|
||||
</ChartCard>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import ChartCard from '@/components/chartCard.vue';
|
||||
import { ref, onMounted } from 'vue';
|
||||
const opts = ref({
|
||||
padding: [15, 15, 0, 5],
|
||||
enableScroll: false,
|
||||
legend: {
|
||||
show: false
|
||||
},
|
||||
xAxis: {
|
||||
disableGrid: true
|
||||
},
|
||||
yAxis: {
|
||||
data: [
|
||||
{
|
||||
min: 0
|
||||
}
|
||||
]
|
||||
},
|
||||
extra: {
|
||||
column: {
|
||||
type: 'group',
|
||||
width: 20,
|
||||
activeBgColor: '#000000',
|
||||
activeBgOpacity: 0.08
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const chartData = ref({});
|
||||
|
||||
const handleTap = (e) => {
|
||||
console.log(e);
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
let res = {
|
||||
categories: ['集团级检查数', '企业及分支机构检查数'],
|
||||
series: [
|
||||
{
|
||||
data: [35, 36]
|
||||
}
|
||||
]
|
||||
};
|
||||
chartData.value = JSON.parse(JSON.stringify(res));
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.big-crisis {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
|
||||
<ChartCard margin="0 0 30rpx 0" title="施工机具设备" >
|
||||
<ChartCard margin="0 0 30rpx 0" title="机具管理" >
|
||||
<view class="special-equip u-flex">
|
||||
<view class="special-equip-box u-flex u-row-center">
|
||||
<view class="special-equip-box-icon"> <u-icon name="ziyuanshiyongtongji" color="#e28ea3" custom-prefix="custom-icon" size="60" ></u-icon></view>
|
||||
<view class="special-equip-box-row u-padding-left-20">
|
||||
<text class="special-equip-box-row-num">9000个</text>
|
||||
<text class="special-equip-box-row-lab">在用个数</text>
|
||||
<text class="special-equip-box-row-lab">机具在用总数</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<view class="special-equip-box-icon"> <u-icon name="tezhongshebei" color="#3bdae2" custom-prefix="custom-icon" size="60" ></u-icon></view>
|
||||
<view class="special-equip-box-row u-padding-left-20">
|
||||
<text class="special-equip-box-row-num">9000个</text>
|
||||
<text class="special-equip-box-row-lab">特种设备</text>
|
||||
<text class="special-equip-box-row-lab">特总机具在用总数</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -1,49 +1,51 @@
|
||||
<template>
|
||||
<ChartCard margin="0 0 30rpx 0" title="高风险作业许可" >
|
||||
<view class="work u-flex">
|
||||
<view class="work-box u-flex u-row-center">
|
||||
<view class="work-box-icon"> <u-icon name="xukezheng" color="#8CEEFF" custom-prefix="custom-icon" size="60" ></u-icon></view>
|
||||
<view class="work-box-row u-padding-left-20">
|
||||
<text class="work-box-row-num">9000个</text>
|
||||
<text class="work-box-row-lab">许可</text>
|
||||
<ChartCard margin="0 0 30rpx 0" title="作业许可数">
|
||||
<view class="work u-flex">
|
||||
<view class="work-box u-flex u-row-center">
|
||||
<view class="work-box-icon"><u-icon name="xukezheng" color="#8CEEFF" custom-prefix="custom-icon" size="60"></u-icon></view>
|
||||
<view class="work-box-row u-padding-left-20">
|
||||
<text class="work-box-row-num">9000个</text>
|
||||
<text class="work-box-row-lab">许可证总数</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="work-box u-flex u-row-center">
|
||||
<view class="work-box-icon">
|
||||
<u-icon name="guanbi" color="#ee6666" custom-prefix="custom-icon" size="60"></u-icon>
|
||||
</view>
|
||||
<view class="work-box-row u-padding-left-20">
|
||||
<text class="work-box-row-num">9000个</text>
|
||||
<text class="work-box-row-lab">高风险作业许可进行中数量</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="work-box u-flex u-row-center">
|
||||
<view class="work-box-icon"> <u-icon name="guanbi" color="#FFEB3B" custom-prefix="custom-icon" size="60" ></u-icon></view>
|
||||
<view class="work-box-row u-padding-left-20">
|
||||
<text class="work-box-row-num">9000个</text>
|
||||
<text class="work-box-row-lab">关闭</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</ChartCard>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import ChartCard from '@/components/chartCard.vue'
|
||||
import ChartCard from '@/components/chartCard.vue';
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.work{
|
||||
padding: 20rpx 0;
|
||||
&-box{
|
||||
flex: 1;
|
||||
&-row{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
&-lab{
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 12rpx;
|
||||
}
|
||||
&-num{
|
||||
color: #333333;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
<style lang="scss" scoped>
|
||||
.work {
|
||||
padding: 20rpx 0;
|
||||
&-box {
|
||||
flex: 1;
|
||||
height: 100rpx;
|
||||
&-row {
|
||||
height: 100rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
&-lab {
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-top: 12rpx;
|
||||
}
|
||||
&-num {
|
||||
color: #333333;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user