This commit is contained in:
2026-08-17 11:01:21 +08:00
parent 6e07cab51f
commit 255573ed06
705 changed files with 8762 additions and 36677 deletions
+58 -47
View File
@@ -1,62 +1,73 @@
<template>
<ChartCard margin="0 0 30rpx 0" title="危大工程数">
<view class="big-crisis">
<view class="big-crisis" @click="router.push('/pages/index/dangerousProject/index')">
<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,
fontSize:12
},
yAxis: {
data: [{
min: 0
}]
},
extra: {
column: {
type: "group",
width: 20,
activeBgColor: "#000000",
activeBgOpacity: 0.08
}
}
})
import ChartCard from '@/components/chartCard.vue';
import { ref, watch } from 'vue';
import {router} from '@/utils'
const chartData = ref({})
const handleTap = (e) => {
console.log(e)
let props = defineProps({
dangerousProjectData: {
type: Array,
default: () => []
}
});
const opts = ref({
padding: [15, 15, 0, 5],
enableScroll: false,
legend: {
show: false
},
xAxis: {
disableGrid: true,
fontSize: 12
},
yAxis: {
data: [
{
min: 0
}
]
},
extra: {
column: {
type: 'group',
width: 20,
activeBgColor: '#000000',
activeBgOpacity: 0.08
}
}
});
const chartData = ref({});
onMounted(() => {
let res = {
categories: ["已完成个数", "进行中个数", "作业人数", "培训人次数"],
series: [{
data: [35, 36, 31, 33]
}]
};
chartData.value = JSON.parse(JSON.stringify(res));
})
const handleTap = (e) => {
console.log(e);
};
watch(
() => props.dangerousProjectData,
(newVal) => {
if (newVal && newVal.length) {
// 只有当数据存在时才赋值
let res = {
categories: ['已完成个数', '进行中个数', '作业人数', '培训人次数'],
series: [{ data: newVal }]
};
chartData.value = JSON.parse(JSON.stringify(res));
}
},
{ deep: true, immediate: true }
);
</script>
<style lang="scss">
.big-crisis {
width: 100%;
height: 400rpx;
}
</style>
.big-crisis {
width: 100%;
height: 400rpx;
}
</style>
+66 -64
View File
@@ -1,22 +1,21 @@
<template>
<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">
<view class="defect-main u-flex u-row-between" @click="router.push('/pages/index/projectSafety/index')">
<!-- <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 class="defect-box gb-rectified">
<text class="defect-box-lab">项目检查数</text>
<text class="defect-box-num u-margin-top-20">20</text>
<text class="defect-box-num u-margin-top-20">{{ hsseProblem?.ProjectProblemNum || 0 }}</text>
</view>
<!-- <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 class="defect-box gb-rectified">
<text class="defect-box-lab">项目未完成数</text>
<text class="defect-box-num u-margin-top-20">{{ hsseProblem?.ProjectProblemNotCompletedNum || 0 }}</text>
</view>
<view class="defect-box gb-rectified-rate">
<!-- <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> -->
@@ -25,71 +24,74 @@
</ChartCard>
</template>
<script setup>
import ChartCard from '@/components/chartCard.vue'
import {
ref,
watch
} from 'vue';
const current = ref(0)
const list = ref([{
name: '集团级'
},
{
name: '公司级'
},
{
name: '项目级'
}, {
name: '分支机构'
}
])
const handleChange = () => {
import ChartCard from '@/components/chartCard.vue';
import { ref, watch } from 'vue';
import { router } from '@/utils'
let props = defineProps({
hsseProblem: {
type: Object,
default: () => {}
}
});
const current = ref(0);
const list = ref([
{
name: '集团级'
},
{
name: '公司级'
},
{
name: '项目级'
},
{
name: '分支机构'
}
]);
const handleChange = () => {};
</script>
<style lang="scss">
.defect {
&-main {
height: 120rpx;
.defect {
&-main {
height: 120rpx;
}
&-box {
width: 100%;
// width: calc((100% - 40rpx) / 4);
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&-lab {
font-size: 24rpx;
color: #ffffff;
}
&-box {
width: 100%;
// width: calc((100% - 40rpx) / 4);
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&-lab {
font-size: 24rpx;
color: #ffffff;
}
&-num {
font-size: 28rpx;
font-weight: 600;
color: #ffffff;
}
&-num {
font-size: 28rpx;
font-weight: 600;
color: #ffffff;
}
}
}
.gb-all {
background: linear-gradient(to top right, #9E9E9E, #dcdcdc);
}
.gb-all {
background: linear-gradient(to top right, #9e9e9e, #dcdcdc);
}
.gb-not-rectified {
background: linear-gradient(to top right, #FFD626, #FF9F7D);
}
.gb-not-rectified {
background: linear-gradient(to top right, #ffd626, #ff9f7d);
}
.gb-rectified {
background: linear-gradient(to top right, #2488FA, #79BAFF);
}
.gb-rectified {
background: linear-gradient(to top right, #2488fa, #79baff);
}
.gb-rectified-rate {
background: linear-gradient(to top right, #2AD192, #8DF0C9);
}
</style>
.gb-rectified-rate {
background: linear-gradient(to top right, #2ad192, #8df0c9);
}
</style>
+29 -16
View File
@@ -1,15 +1,22 @@
<template>
<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 class="charts-box" @click="router.push('/pages/index/training/index')">
<qiun-data-charts type="area" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
</view>
</ChartCard>
</template>
<script setup>
import ChartCard from '@/components/chartCard.vue';
import { ref ,onMounted} from 'vue';
import { ref, onMounted, watch } from 'vue';
import { router } from '@/utils';
let props = defineProps({
educationData: {
type: Array,
default: () => []
}
});
const opts = ref({
padding: [15, 15, 0, 15],
enableScroll: false,
@@ -20,7 +27,7 @@ const opts = ref({
disableGrid: true,
rotateLabel: true,
rotateAngle: -30,
fontSize: 10
fontSize: 9
},
yAxis: {
gridType: 'dash',
@@ -46,18 +53,24 @@ const chartData = ref({});
const handleTap = (e) => {
console.log(e);
};
onMounted(() => {
let res = {
categories: ['专项培训', '三级安全教育\n培训人次', '特种作业\n培训人次', '安全技术\n交底人次'],
series: [
{
data: [302265, 70770, 399175, 14851]
}
]
};
chartData.value = JSON.parse(JSON.stringify(res));
});
watch(
() => props.educationData,
(newVal) => {
if (newVal && newVal.length) {
// 只有当数据存在时才赋值
let res = {
categories: ['专项培训', '三级安全教育\n培训人次', '特种作业\n培训人次', '安全技术\n交底人次'],
series: [
{
data: newVal
}
]
};
chartData.value = JSON.parse(JSON.stringify(res));
}
},
{ deep: true, immediate: true }
);
</script>
<style scoped>
+27 -21
View File
@@ -1,6 +1,6 @@
<template>
<ChartCard margin="0 0 30rpx 0" title="应急数据">
<view class="emergencyCard">
<view class="emergencyCard" @click="router.push('/pages/index/emergency/index')">
<qiun-data-charts type="column" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
</view>
</ChartCard>
@@ -8,8 +8,14 @@
<script setup>
import ChartCard from '@/components/chartCard.vue';
import { ref, onMounted } from 'vue';
import { ref, watch } from 'vue';
import { router } from '@/utils';
let props = defineProps({
emergencyData: {
type: Array,
default: () => []
}
});
const opts = ref({
padding: [15, 15, 0, 5],
enableScroll: false,
@@ -42,25 +48,25 @@ 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);
watch(
() => props.emergencyData,
(newVal) => {
if (newVal && newVal.length) {
// 只有当数据存在时才赋值
let res = {
categories: ['综合预案', '专项预案', '现场处置\n预案', '演练次数 ', '参演人数'],
series: [
{
data: newVal,
color: '#eef82f'
}
]
};
chartData.value = JSON.parse(JSON.stringify(res));
}
};
chartData.value = JSON.parse(JSON.stringify(res));
});
},
{ deep: true, immediate: true }
);
</script>
<style lang="scss">
+36 -24
View File
@@ -2,65 +2,66 @@
<ChartCard :loading="loading" margin="0 0 30rpx 0">
<view class="organizer">
<view class="organizer-tit">企业及分支机构人数</view>
<view class="row u-flex u-flex-wrap u-padding-20 u-margin-bottom-20">
<view class="row u-flex u-flex-wrap u-padding-20 u-margin-bottom-20" @click="router.push('/pages/index/dataBranch/index')">
<view class="row_li u-row-left">
<text class="organizer-lab">企业总监数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.HeadOfficeInspectorGeneralNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">企业专职人员数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.HeadOfficeFullTimeNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">分支机构总监数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.BranchInspectorGeneralNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">分支机构专职人员数</text>
<text class="organizer_num">13273</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">A证人数</text>
<text class="organizer_num">13273</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">B证人数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.BranchFullTimeNum || 0 }}</text>
</view>
</view>
<view class="organizer-tit">项目人数</view>
<view class="row u-flex u-flex-wrap u-padding-20 u-margin-bottom-20">
<view class="row u-flex u-flex-wrap u-padding-20 u-margin-bottom-20" @click="router.push('/pages/index/dataProjectNum/index')">
<view class="row_li u-row-left">
<text class="organizer-lab">项目总监</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.ProjectInspectorGeneralNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">专职安全管理人员(含分包)</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.ProjectFullTimeNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">安全监护人数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.ProjectSafetyMonitorNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">注安师数量</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.SafetyInjectionEngineer || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">A证人数</text>
<text class="organizer_num">{{ orgData?.CertificateANum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">B证人数</text>
<text class="organizer_num">{{ orgData?.CertificateBNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">C证人数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ orgData?.CertificateCNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<!-- <view class="row_li u-row-left">
<text class="organizer-lab">特种作业人员数量</text>
<text class="organizer_num">13273</text>
</view>
<text class="organizer_num">{{orgData.CertificateBNum}}</text>
</view> -->
<view class="row_li u-row-left">
<text class="organizer-lab">参建人数</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ projectInfoData?.JoinConstructionPersonNum || 0 }}</text>
</view>
<view class="row_li u-row-left">
<text class="organizer-lab">安全工时</text>
<text class="organizer_num">13273</text>
<text class="organizer_num">{{ projectInfoData?.SafeWorkingHour || 0 }}</text>
</view>
</view>
</view>
@@ -70,6 +71,17 @@
<script setup>
import { ref } from 'vue';
import ChartCard from '@/components/chartCard.vue';
import { router } from '@/utils';
defineProps({
orgData: {
type: Object,
default: () => ({})
},
projectInfoData: {
type: Object,
default: () => ({})
}
});
const loading = ref(false);
</script>
+36 -39
View File
@@ -1,21 +1,20 @@
<template>
<ChartCard :loading="loading" margin="30rpx 0 0 0" padding="20rpx 10rpx 80rpx 10rpx"
bg-color="linear-gradient(#1e5ca3, #3094ff)">
<view class="project">
<view class="project-col" @click="handleSkip">
<text class="project-col-num">1024</text>
<ChartCard :loading="loading" margin="30rpx 0 0 0" padding="20rpx 10rpx 80rpx 10rpx" bg-color="linear-gradient(#1e5ca3, #3094ff)">
<view class="project" @click="router.push('/pages/index/dataSummary/index')">
<view class="project-col">
<text class="project-col-num">{{ projectInfoData?.BeUnderConstructionNum || 0 }}</text>
<text class="project-col-lab u-margin-top-10">在建项目</text>
</view>
<view class="project-col">
<text class="project-col-num">1024</text>
<text class="project-col-num">{{ projectInfoData?.ShutdownNum || 0 }}</text>
<text class="project-col-lab u-margin-top-10">停工项目</text>
</view>
<view class="project-col">
<text class="project-col-num">1024111</text>
<text class="project-col-num">{{ projectInfoData?.JoinConstructionPersonNum || 0 }}</text>
<text class="project-col-lab u-margin-top-10">参建人数</text>
</view>
<view class="project-col">
<text class="project-col-num">1024</text>
<text class="project-col-num">{{ projectInfoData?.MajorProjectsUnderConstructionNum || 0 }}</text>
<text class="project-col-lab u-margin-top-10">在施危大工程</text>
</view>
</view>
@@ -23,43 +22,41 @@
</template>
<script setup>
import {
ref
} from 'vue';
import ChartCard from '@/components/chartCard.vue'
const loading = ref(false)
const handleSkip = ()=>{
uni.navigateTo({
url: `/pages/penetrate/project`
})
import { ref } from 'vue';
import { router } from '@/utils';
import ChartCard from '@/components/chartCard.vue';
const loading = ref(false);
defineProps({
projectInfoData: {
type: Object,
default: () => ({})
}
});
</script>
<style lang="scss">
.project {
display: grid;
grid-template-columns: repeat(4, 25%);
.project {
display: grid;
grid-template-columns: repeat(4, 25%);
&-col {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&-col {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
&-num {
text-align: center;
overflow-wrap: break-word;
width: 100%;
color: #ffffff;
font-size: 40rpx;
&-num {
text-align: center;
overflow-wrap: break-word;
width: 100%;
color: #ffffff;
font-size: 40rpx;
}
}
&-lab {
color: #ffffff;
font-size: 24rpx;
}
&-lab {
color: #ffffff;
font-size: 24rpx;
}
}
</style>
}
</style>
+60 -66
View File
@@ -1,78 +1,72 @@
<template>
<ChartCard margin="0 0 30rpx 0" title="四级风险数据" >
<view class="rish-ranking">
<qiun-data-charts type="pie" :opts="opts" :canvas2d="false" :chartData="chartData" />
</view>
<ChartCard margin="0 0 30rpx 0" title="四级风险数据">
<view class="rish-ranking" @click="router.push('/pages/index/riskControl/index')">
<qiun-data-charts type="pie" :opts="opts" :canvas2d="false" :chartData="chartData" />
</view>
</ChartCard>
</template>
<script setup>
import ChartCard from '@/components/chartCard.vue'
import {
ref,onMounted
} from 'vue';
import {
onReady, onShow
} from '@dcloudio/uni-app'
const opts = ref({
color: ["#EE6666", "#EF893B","#EFCB3B","#3B8CEF"],
padding: [5, 5, 5, 5],
enableScroll: false,
legend: {
lineHeight:20,
fontSize: 10,
itemGap: 20
},
extra: {
pie: {
activeOpacity: 0.5,
activeRadius: 10,
offsetAngle: 0,
labelWidth: 15,
border: true,
borderWidth: 3,
borderColor: "#FFFFFF"
}
}
})
const chartData = ref({})
const handleTap = (e) => {
console.log(e)
import ChartCard from '@/components/chartCard.vue';
import { ref, watch } from 'vue';
import { onReady, onShow } from '@dcloudio/uni-app';
import {router} from '@/utils'
let props = defineProps({
riskClassificationData: {
type: Array,
default: () => []
}
});
const opts = ref({
color: ['#EE6666', '#EF893B', '#EFCB3B', '#3B8CEF'],
padding: [5, 5, 5, 5],
enableScroll: false,
fontSize: 9,
legend: {
lineHeight: 20,
fontSize: 10,
itemGap: 20
},
extra: {
pie: {
activeOpacity: 0.5,
activeRadius: 10,
offsetAngle: 0,
labelWidth: 15,
border: true,
borderWidth: 3,
borderColor: '#FFFFFF'
}
}
});
const chartData = ref({});
onMounted(() => {
let res = {
series: [{
data: [{
"name": "重大风险",
"value": 50,
"labelText": "重大风险:50"
}, {
"name": "较大风险",
"value": 30,
"labelText": "较大风险:30"
}, {
"name": "一般风险",
"value": 20,
"labelText": "一般风险:20"
}, {
"name": "低风险",
"value": 8,
"labelText": "低风险:8"
}]
}]
};
chartData.value = JSON.parse(JSON.stringify(res));
})
const handleTap = (e) => {
console.log(e);
};
watch(
() => props.riskClassificationData,
(newVal) => {
if (newVal && newVal.length) {
// 只有当数据存在时才赋值
let res = {
series: [
{
data: newVal
}
]
};
chartData.value = JSON.parse(JSON.stringify(res));
}
},
{ deep: true, immediate: true }
);
</script>
<style lang="scss">
.rish-ranking {
width: 100%;
height: 480rpx;
}
.rish-ranking {
width: 100%;
height: 480rpx;
}
</style>
+40 -16
View File
@@ -1,6 +1,6 @@
<template>
<ChartCard margin="0 0 30rpx 0" title="领导级安全检查数">
<view class="big-crisis">
<view class="big-crisis" @click="router.push('/pages/index/leadershipSafety/index')">
<qiun-data-charts type="column" :opts="opts" :canvas2d="false" :chartData="chartData" @getIndex="handleTap" />
</view>
</ChartCard>
@@ -8,12 +8,24 @@
<script setup>
import ChartCard from '@/components/chartCard.vue';
import { ref, onMounted } from 'vue';
import { ref, watch } from 'vue';
import { router } from '@/utils';
let props = defineProps({
hsseProblemData: {
type: Array,
default: () => []
},
hsseProblemDataNum: {
type: Array,
default: () => []
}
});
const opts = ref({
padding: [15, 15, 0, 5],
enableScroll: false,
legend: {
show: false
show: true,
itemGap:10
},
xAxis: {
disableGrid: true
@@ -30,7 +42,8 @@ const opts = ref({
type: 'group',
width: 20,
activeBgColor: '#000000',
activeBgOpacity: 0.08
activeBgOpacity: 0.08,
seriesGap:3
}
}
});
@@ -40,18 +53,29 @@ const chartData = ref({});
const handleTap = (e) => {
console.log(e);
};
onMounted(() => {
let res = {
categories: ['集团级检查数', '企业及分支机构检查数'],
series: [
{
data: [35, 36]
}
]
};
chartData.value = JSON.parse(JSON.stringify(res));
});
watch(
() => props.hsseProblemData,
(newVal) => {
if (newVal && newVal.length) {
// 只有当数据存在时才赋值
let res = {
categories: ['集团级检查数', '企业及分支机构检查数'],
series: [
{
name: '总数',
data: props.hsseProblemDataNum
},
{
name: '未完成',
data: newVal
}
]
};
chartData.value = JSON.parse(JSON.stringify(res));
}
},
{ deep: true, immediate: true }
);
</script>
<style lang="scss">
+42 -36
View File
@@ -1,49 +1,55 @@
<template>
<ChartCard margin="0 0 30rpx 0" title="机具管理" >
<view class="special-equip u-flex u-row-between">
<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>
<ChartCard margin="0 0 30rpx 0" title="机具管理">
<view class="special-equip u-flex u-row-between" @click="router.push('/pages/index/equipmentManagement/index')">
<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">{{ costEquipmentData?.UseEquipmentNum || 0 }}</text>
<text class="special-equip-box-row-lab">机具在用总数</text>
</view>
</view>
<view class="special-equip-box u-flex u-row-center">
<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">{{ costEquipmentData?.SpecialEquipmentNum || 0 }}</text>
<text class="special-equip-box-row-lab">特总机具在用总数</text>
</view>
</view>
</view>
<view class="special-equip-box u-flex u-row-center">
<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>
</view>
</view>
</view>
</ChartCard>
</template>
<script setup>
import ChartCard from '@/components/chartCard.vue'
import ChartCard from '@/components/chartCard.vue';
import { router } from '@/utils';
defineProps({
costEquipmentData: {
type: Object,
default: () => {}
}
});
</script>
<style lang="scss">
.special-equip{
padding: 20rpx 0;
&-box{
&-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;
}
.special-equip {
padding: 20rpx 0;
&-box {
&-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>
}
</style>
+10 -3
View File
@@ -1,10 +1,10 @@
<template>
<ChartCard margin="0 0 30rpx 0" title="作业许可数">
<view class="work u-flex u-row-between">
<view class="work u-flex u-row-between" @click="router.push('/pages/index/workPermit/index')">
<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-num">{{ licensesData?.LicensesNum || 0 }}</text>
<text class="work-box-row-lab">许可证总数</text>
</view>
</view>
@@ -14,7 +14,7 @@
<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-num">{{ licensesData?.LicensesCloseNum || 0 }}</text>
<text class="work-box-row-lab">高风险作业许可进行中数量</text>
</view>
</view>
@@ -24,6 +24,13 @@
<script setup>
import ChartCard from '@/components/chartCard.vue';
import {router} from '@/utils'
defineProps({
licensesData: {
type: Object,
default: () => {}
}
});
</script>
<style lang="scss" scoped>