湖里大屏(劳务管理):人员概览安全培训接口对接

This commit is contained in:
骆乐 2022-08-16 14:36:30 +08:00
parent cd1ce1e903
commit 1001bc99f4
7 changed files with 112 additions and 79 deletions

BIN
dist.zip

Binary file not shown.

View File

@ -45,16 +45,16 @@ export default new Vuex.Store({
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
// FILEURL:'http://10.0.1.43:6023/image/',//测试
BASEURL: baseUrl ? baseUrl : window.location.protocol + '//' + window.location.host + '/', //
// UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
// FILEURL: window.location.protocol + '//' + window.location.host + '/image/', //测试 // tag: 本地测试接口
UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
FILEURL: window.location.protocol + '//' + window.location.host + '/image/', //测试 // tag: 本地测试接口
/* 2022-05-16 */
// tag: 部署河南项目时,需要打开这两行代码
// UPLOADURL: 'http://124.71.178.44:100/upload/image',
// FILEURL: 'http://124.71.178.44:100/image/',
/* 2022-06-06 */ // BASEURL:'http://192.168.34.174:6023/',
UPLOADURL: 'http://192.168.34.125:6023/upload/image',
FILEURL: 'http://192.168.34.125:6023/image/',
// UPLOADURL: 'http://192.168.34.125:6023/upload/image',
// FILEURL: 'http://192.168.34.125:6023/image/',
// UPLOADURL:'http://192.168.34.246:6023/upload/image',
// FILEURL:'http://192.168.34.246:6023/image',

View File

@ -2,10 +2,10 @@
<div class="container">
<div class="leftBox">
<div class="leftTop">
<leftTop title="在场统计" />
<leftTop title="在场统计" :statisticsCount="statisticsCount" />
</div>
<div class="leftCenter">
<leftCenter title="人员概况"></leftCenter>
<leftCenter title="人员概况" :statisticsCount="statisticsCount" />
</div>
<div class="leftBottom">
<leftBottom title="年龄结构"></leftBottom>
@ -24,7 +24,7 @@
<rightTop title="人员类型"></rightTop>
</div>
<div class="rightCenter">
<rightCenter title="安全培训"></rightCenter>
<rightCenter title="安全培训" :statisticsCount="statisticsCount" />
</div>
<div class="rightBottom">
<rightBottom title="班组统计"></rightBottom>
@ -42,15 +42,75 @@ import centerBottom from './centerBottom'
import rightTop from './rightTop'
import rightCenter from './rightCenter'
import rightBottom from './rightBottom'
import {
selectProjectWorkerStatisticsApi,
} from "@/assets/js/api/dataBoard.js";
export default {
components: {
leftTop,leftCenter,leftBottom,centerTop,centerBottom,rightTop,rightCenter,rightBottom
},
data() {
return {
statisticsCount: {
attendancePersonNum: 0,
educationPersonNum: 0,
workercount: {
lwPersonYesterdayAdd: 0,
eduPersonTotal: 0,
jfGlPersonTotal: 0,
age18: 0,
age18to25: 0,
womanPersonTotal: 0,
lsPersonTotal: 0,
jlGlPersonTotal: 0,
age45to60: 0,
lwPersonTotal: 0,
manPersonTotal: 0,
totalPerson: 0,
age25to35: 0,
glPersonTotal: 0,
yfGlPersonTotal: 0,
avgage: 0,
age35to45: 0,
glPersonYesterdayAdd: 0,
age60: 0,
},
devcount: { ufaceDevNum: 0, videoNum: 0, environmentDevNum: 0 },
presencecount: {
jfGlPersonTotal: 0,
age18: 0,
age18to25: 0,
womanPersonTotal: 0,
lsPersonTotal: 0,
jlGlPersonTotal: 0,
age45to60: 0,
lwPersonTotal: 0,
manPersonTotal: 0,
totalPerson: 0,
age25to35: 0,
glPersonTotal: 0,
yfGlPersonTotal: 0,
avgage: 0,
age35to45: 0,
age60: 0,
},
},
};
},
mounted(){
this.getStatistics()
},
methods:{
//
getStatistics() {
selectProjectWorkerStatisticsApi({
sn: this.$store.state.projectSn,
}).then((res) => {
console.log('项目人员统计',res);
this.statisticsCount = res.result;
})
}
}
};
</script>

View File

@ -7,7 +7,7 @@
<img src="@/assets/images/projectImg/labor_shi.png" />
<div class="info">
<div class="num1">
{{ '62,590' }}
{{ statisticsCount.workercount.totalPerson }}
</div>
<!-- 实名制人数 -->
<div class="label label1">
@ -16,13 +16,13 @@
</div>
</div>
<div class="countItem">
<img src="@/assets/images/projectImg/labor_te.png" />
<img src="@//assets/images/dataBoard/training.png" />
<div class="info">
<div class="num2">
{{ 62590 }}
{{ statisticsCount.educationPersonNum }}
</div>
<div class="label">
{{ '特殊工种人数' }}
{{ '在场总人数' }}
</div>
</div>
</div>
@ -30,7 +30,19 @@
<img src="@/assets/images/projectImg/labor_men.png" />
<div class="info">
<div class="num3">
{{ '89%'}}
{{
(
(isNaN(
statisticsCount.workercount.manPersonTotal /
(statisticsCount.workercount.womanPersonTotal +
statisticsCount.workercount.manPersonTotal)
)
? 0
: statisticsCount.workercount.manPersonTotal /
(statisticsCount.workercount.womanPersonTotal +
statisticsCount.workercount.manPersonTotal)) * 100
).toFixed(2)
}}%
</div>
<div class="label">
{{ '在职男女比例' }}
@ -38,13 +50,13 @@
</div>
</div>
<div class="countItem">
<img src="@/assets/images/projectImg/num_purple.png" />
<img src="@//assets/images/dataBoard/training2.png" />
<div class="info">
<div class="num4">
{{ 62590}}
{{ statisticsCount.workercount.totalPerson }}
</div>
<div class="label">
{{ '入场培训人数' }}
{{ '培训人数' }}
</div>
</div>
</div>
@ -60,6 +72,9 @@ export default {
title: {
type: String,
default: "default title"
},
statisticsCount:{
type: Object,
}
},
data() {
@ -67,8 +82,6 @@ export default {
};
},
}
</script>

View File

@ -111,61 +111,14 @@
</template>
<script>
import {
selectProjectWorkerStatisticsApi,
} from "@/assets/js/api/dataBoard.js";
export default {
props: {
title: {
type: String,
default: "default title"
}
},
data() {
return {
statisticsCount: {
attendancePersonNum: 0,
educationPersonNum: 0,
workercount: {
lwPersonYesterdayAdd: 0,
eduPersonTotal: 0,
jfGlPersonTotal: 0,
womanPersonTotal: 0,
lsPersonTotal: 0,
jlGlPersonTotal: 0,
lwPersonTotal: 0,
manPersonTotal: 0,
totalPerson: 0,
glPersonTotal: 0,
yfGlPersonTotal: 0,
glPersonYesterdayAdd: 0,
},
presencecount: {
jfGlPersonTotal: 0,
womanPersonTotal: 0,
lsPersonTotal: 0,
jlGlPersonTotal: 0,
lwPersonTotal: 0,
manPersonTotal: 0,
totalPerson: 0,
glPersonTotal: 0,
yfGlPersonTotal: 0,
}
}
};
},
mounted(){
this.getStatistics()
},
methods:{
//
getStatistics() {
selectProjectWorkerStatisticsApi({
sn: this.$store.state.projectSn,
}).then((res) => {
console.log('项目人员统计',res);
this.statisticsCount = res.result;
})
},
statisticsCount:{
type: Object,
}
}
};

View File

@ -5,20 +5,24 @@
<div class="content">
<div class="chart">
<JRingChart
:title="{ text: 3214, subTitle: '总人数' }"
:title="{ text: statisticsCount.workercount.totalPerson , subTitle: '总人数' }"
:color="['#557DEE', '#43D7B5']"
:data="[{ value: 2314 }, { value: 987 }]"
:data="[{ value: statisticsCount.educationPersonNum }, { value: statisticsCount.workercount.totalPerson -
statisticsCount.educationPersonNum }]"
:radius="['55%', '80%']"
/>
</div>
<div class="count">
<div class="count-item">
<div class="label">已培训人数</div>
<div class="num">2314</div>
<div class="num">{{ statisticsCount.educationPersonNum }}</div>
</div>
<div class="count-item">
<div class="label">为培训人数</div>
<div class="num">987</div>
<div class="label">未培训人数</div>
<div class="num">
{{statisticsCount.workercount.totalPerson -
statisticsCount.educationPersonNum}}
</div>
</div>
</div>
</div>
@ -26,19 +30,22 @@
</template>
<script>
import JRingChart from '../jChart/pie/JRingChart.vue'
import JRingChart from "../jChart/pie/JRingChart.vue";
export default {
components: { JRingChart },
props: {
title: {
type: String,
default: 'default title'
default: "default title"
},
statisticsCount: {
type: Object
}
},
data() {
return {}
return {};
}
}
};
</script>
<style lang="less" scoped>
@ -72,7 +79,7 @@ export default {
position: absolute;
left: -16px;
top: 10px;
content: '';
content: "";
width: 6px;
height: 6px;
border-radius: 50%;

View File

@ -25,7 +25,7 @@
</el-form-item>
<!-- 整改时间 -->
<el-form-item :label="$t('message.projectManage.rectificationEndTime')" prop="rectificationEndDate">
<el-date-picker v-model="ruleForm.rectificationEndDate" type="date" placeholder="选择日期" value-format="yyyy-M-d"></el-date-picker>
<el-date-picker v-model="ruleForm.rectificationEndDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<!-- 附件 -->
<el-form-item :label="$t('message.projectManage.accessory')" prop="imgUrl">