湖里大屏(劳务管理):人员概览安全培训接口对接
This commit is contained in:
parent
cd1ce1e903
commit
1001bc99f4
@ -45,16 +45,16 @@ export default new Vuex.Store({
|
|||||||
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
|
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
|
||||||
// FILEURL:'http://10.0.1.43:6023/image/',//测试
|
// FILEURL:'http://10.0.1.43:6023/image/',//测试
|
||||||
BASEURL: baseUrl ? baseUrl : window.location.protocol + '//' + window.location.host + '/', //
|
BASEURL: baseUrl ? baseUrl : window.location.protocol + '//' + window.location.host + '/', //
|
||||||
// UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
|
UPLOADURL: window.location.protocol + '//' + window.location.host + '/upload/image', //
|
||||||
// FILEURL: window.location.protocol + '//' + window.location.host + '/image/', //测试 // tag: 本地测试接口
|
FILEURL: window.location.protocol + '//' + window.location.host + '/image/', //测试 // tag: 本地测试接口
|
||||||
/* 2022-05-16 */
|
/* 2022-05-16 */
|
||||||
// tag: 部署河南项目时,需要打开这两行代码
|
// tag: 部署河南项目时,需要打开这两行代码
|
||||||
// UPLOADURL: 'http://124.71.178.44:100/upload/image',
|
// UPLOADURL: 'http://124.71.178.44:100/upload/image',
|
||||||
// FILEURL: 'http://124.71.178.44:100/image/',
|
// FILEURL: 'http://124.71.178.44:100/image/',
|
||||||
|
|
||||||
/* 2022-06-06 */ // BASEURL:'http://192.168.34.174:6023/',
|
/* 2022-06-06 */ // BASEURL:'http://192.168.34.174:6023/',
|
||||||
UPLOADURL: 'http://192.168.34.125:6023/upload/image',
|
// UPLOADURL: 'http://192.168.34.125:6023/upload/image',
|
||||||
FILEURL: 'http://192.168.34.125:6023/image/',
|
// FILEURL: 'http://192.168.34.125:6023/image/',
|
||||||
|
|
||||||
// UPLOADURL:'http://192.168.34.246:6023/upload/image',
|
// UPLOADURL:'http://192.168.34.246:6023/upload/image',
|
||||||
// FILEURL:'http://192.168.34.246:6023/image',
|
// FILEURL:'http://192.168.34.246:6023/image',
|
||||||
|
|||||||
@ -2,10 +2,10 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="leftBox">
|
<div class="leftBox">
|
||||||
<div class="leftTop">
|
<div class="leftTop">
|
||||||
<leftTop title="在场统计" />
|
<leftTop title="在场统计" :statisticsCount="statisticsCount" />
|
||||||
</div>
|
</div>
|
||||||
<div class="leftCenter">
|
<div class="leftCenter">
|
||||||
<leftCenter title="人员概况"></leftCenter>
|
<leftCenter title="人员概况" :statisticsCount="statisticsCount" />
|
||||||
</div>
|
</div>
|
||||||
<div class="leftBottom">
|
<div class="leftBottom">
|
||||||
<leftBottom title="年龄结构"></leftBottom>
|
<leftBottom title="年龄结构"></leftBottom>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
<rightTop title="人员类型"></rightTop>
|
<rightTop title="人员类型"></rightTop>
|
||||||
</div>
|
</div>
|
||||||
<div class="rightCenter">
|
<div class="rightCenter">
|
||||||
<rightCenter title="安全培训"></rightCenter>
|
<rightCenter title="安全培训" :statisticsCount="statisticsCount" />
|
||||||
</div>
|
</div>
|
||||||
<div class="rightBottom">
|
<div class="rightBottom">
|
||||||
<rightBottom title="班组统计"></rightBottom>
|
<rightBottom title="班组统计"></rightBottom>
|
||||||
@ -42,15 +42,75 @@ import centerBottom from './centerBottom'
|
|||||||
import rightTop from './rightTop'
|
import rightTop from './rightTop'
|
||||||
import rightCenter from './rightCenter'
|
import rightCenter from './rightCenter'
|
||||||
import rightBottom from './rightBottom'
|
import rightBottom from './rightBottom'
|
||||||
|
import {
|
||||||
|
selectProjectWorkerStatisticsApi,
|
||||||
|
} from "@/assets/js/api/dataBoard.js";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
leftTop,leftCenter,leftBottom,centerTop,centerBottom,rightTop,rightCenter,rightBottom
|
leftTop,leftCenter,leftBottom,centerTop,centerBottom,rightTop,rightCenter,rightBottom
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
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>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<img src="@/assets/images/projectImg/labor_shi.png" />
|
<img src="@/assets/images/projectImg/labor_shi.png" />
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="num1">
|
<div class="num1">
|
||||||
{{ '62,590' }}
|
{{ statisticsCount.workercount.totalPerson }}
|
||||||
</div>
|
</div>
|
||||||
<!-- 实名制人数 -->
|
<!-- 实名制人数 -->
|
||||||
<div class="label label1">
|
<div class="label label1">
|
||||||
@ -16,13 +16,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="countItem">
|
<div class="countItem">
|
||||||
<img src="@/assets/images/projectImg/labor_te.png" />
|
<img src="@//assets/images/dataBoard/training.png" />
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="num2">
|
<div class="num2">
|
||||||
{{ 62590 }}
|
{{ statisticsCount.educationPersonNum }}
|
||||||
</div>
|
</div>
|
||||||
<div class="label">
|
<div class="label">
|
||||||
{{ '特殊工种人数' }}
|
{{ '在场总人数' }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -30,7 +30,19 @@
|
|||||||
<img src="@/assets/images/projectImg/labor_men.png" />
|
<img src="@/assets/images/projectImg/labor_men.png" />
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="num3">
|
<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>
|
||||||
<div class="label">
|
<div class="label">
|
||||||
{{ '在职男女比例' }}
|
{{ '在职男女比例' }}
|
||||||
@ -38,13 +50,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="countItem">
|
<div class="countItem">
|
||||||
<img src="@/assets/images/projectImg/num_purple.png" />
|
<img src="@//assets/images/dataBoard/training2.png" />
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<div class="num4">
|
<div class="num4">
|
||||||
{{ 62590}}
|
{{ statisticsCount.workercount.totalPerson }}
|
||||||
</div>
|
</div>
|
||||||
<div class="label">
|
<div class="label">
|
||||||
{{ '入场培训人数' }}
|
{{ '培训总人数' }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -60,6 +72,9 @@ export default {
|
|||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "default title"
|
default: "default title"
|
||||||
|
},
|
||||||
|
statisticsCount:{
|
||||||
|
type: Object,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -67,8 +82,6 @@ export default {
|
|||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@ -111,61 +111,14 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
|
||||||
selectProjectWorkerStatisticsApi,
|
|
||||||
} from "@/assets/js/api/dataBoard.js";
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "default title"
|
default: "default title"
|
||||||
}
|
},
|
||||||
},
|
statisticsCount:{
|
||||||
data() {
|
type: Object,
|
||||||
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;
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -5,20 +5,24 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="chart">
|
<div class="chart">
|
||||||
<JRingChart
|
<JRingChart
|
||||||
:title="{ text: 3214, subTitle: '总人数' }"
|
:title="{ text: statisticsCount.workercount.totalPerson , subTitle: '总人数' }"
|
||||||
:color="['#557DEE', '#43D7B5']"
|
:color="['#557DEE', '#43D7B5']"
|
||||||
:data="[{ value: 2314 }, { value: 987 }]"
|
:data="[{ value: statisticsCount.educationPersonNum }, { value: statisticsCount.workercount.totalPerson -
|
||||||
|
statisticsCount.educationPersonNum }]"
|
||||||
:radius="['55%', '80%']"
|
:radius="['55%', '80%']"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="count">
|
<div class="count">
|
||||||
<div class="count-item">
|
<div class="count-item">
|
||||||
<div class="label">已培训人数</div>
|
<div class="label">已培训人数</div>
|
||||||
<div class="num">2314</div>
|
<div class="num">{{ statisticsCount.educationPersonNum }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="count-item">
|
<div class="count-item">
|
||||||
<div class="label">为培训人数</div>
|
<div class="label">未培训人数</div>
|
||||||
<div class="num">987</div>
|
<div class="num">
|
||||||
|
{{statisticsCount.workercount.totalPerson -
|
||||||
|
statisticsCount.educationPersonNum}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -26,19 +30,22 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import JRingChart from '../jChart/pie/JRingChart.vue'
|
import JRingChart from "../jChart/pie/JRingChart.vue";
|
||||||
export default {
|
export default {
|
||||||
components: { JRingChart },
|
components: { JRingChart },
|
||||||
props: {
|
props: {
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'default title'
|
default: "default title"
|
||||||
|
},
|
||||||
|
statisticsCount: {
|
||||||
|
type: Object
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {}
|
return {};
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
@ -72,7 +79,7 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
left: -16px;
|
left: -16px;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
content: '';
|
content: "";
|
||||||
width: 6px;
|
width: 6px;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 整改时间 -->
|
<!-- 整改时间 -->
|
||||||
<el-form-item :label="$t('message.projectManage.rectificationEndTime')" prop="rectificationEndDate">
|
<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>
|
||||||
<!-- 附件 -->
|
<!-- 附件 -->
|
||||||
<el-form-item :label="$t('message.projectManage.accessory')" prop="imgUrl">
|
<el-form-item :label="$t('message.projectManage.accessory')" prop="imgUrl">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user