提交 c9a22f5f 编写于 作者: zhentian.jia's avatar zhentian.jia

多张页面api对接

上级 a22cb9e9
...@@ -232,6 +232,28 @@ const vueFilter = { ...@@ -232,6 +232,28 @@ const vueFilter = {
} }
return avgTime; return avgTime;
}, },
learnTimeValue: (value) => {
let s = parseInt(value),m = 0, h = 0;//秒,分,小时
if(s==NaN){//错误error
return '';
}
if(s > 60) {
m = parseInt(s/60);
s = parseInt(s%60);
if(m > 60) {
h = parseInt(m/60);
m = parseInt(m%60);
}
}
let result = ""+parseInt(s)+"秒";
if(m > 0) {
result = ""+parseInt(m)+"分"+result;
}
if(h > 0) {
result = ""+parseInt(h)+"小时"+result;
}
return result;
},
getTotalTime: (value) => { getTotalTime: (value) => {
let time = value +'分钟'; let time = value +'分钟';
return time; return time;
...@@ -286,5 +308,39 @@ const vueFilter = { ...@@ -286,5 +308,39 @@ const vueFilter = {
let rate = num + '%'; let rate = num + '%';
return rate; return rate;
}, },
sexValue: (value) => {
if(value == 1) {
return '男';
} else if(value == 2) {
return '女';
} else if(value == 0) {
return '未知';
}
},
joinFlagValue: (value) => {
if(value == 1) {
return '已参与';
} else if(value == 2) {
return '未参与';
}
},
finishFlagValue: (value) => {
if(value == 1) {
return '已完成';
} else if(value == 2) {
return '未完成';
}
},
certGradeValue: (value) => {
if(value == 1) {
return '优秀';
} else if(value == 2) {
return '良好';
} else if(value == 3) {
return '及格';
} else if(value == 4) {
return '不及格';
}
},
} }
export default vueFilter export default vueFilter
\ No newline at end of file
此差异已折叠。
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<el-table-column prop="finishCount" label="完成培训人数" align="center"></el-table-column> <el-table-column prop="finishCount" label="完成培训人数" align="center"></el-table-column>
<el-table-column fixed="right" label="操作" min-width="50" align="center"> <el-table-column fixed="right" label="操作" min-width="50" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="checkName(scope.row)" type="text" size="small">查看名单</el-button> <el-button class="button-jump" @click="checkName(scope.row)" type="text" size="small">查看名单</el-button>
</template> </template>
</el-table-column> </el-table-column>
<div slot="empty"> <div slot="empty">
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
</el-table> </el-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination
class="pagination"
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
...@@ -146,10 +147,12 @@ export default { ...@@ -146,10 +147,12 @@ export default {
originalFlag: vm.formInline.checked == false ? 0 : 1, originalFlag: vm.formInline.checked == false ? 0 : 1,
regionId: vm.formInline.region[vm.formInline.region.length - 1], regionId: vm.formInline.region[vm.formInline.region.length - 1],
timeFlag: vm.formInline.timeFlag, timeFlag: vm.formInline.timeFlag,
pageNo: vm.pageNo,
pageSize: vm.pageSize,
}; };
// console.log("3 req", req); // console.log("3 req", req);
openLoading(vm); openLoading(vm);
vm.POST("stats/report/course/"+vm.pageNo+'/'+vm.pageSize, req).then(res => { vm.POST("stats/report/course", req).then(res => {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
if (type !== 2) { if (type !== 2) {
...@@ -273,8 +276,16 @@ export default { ...@@ -273,8 +276,16 @@ export default {
} }
.course-table { .course-table {
top: 20px; top: 20px;
padding: 0 10px 0 10px; padding: 0;
margin-bottom: 20px; width: 95%;
margin:0 auto 20px auto;
.button-jump {
color: #449284;
}
}
.pagination {
margin-top: 30px;
margin-right: 13px;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -13,40 +13,48 @@ ...@@ -13,40 +13,48 @@
<div class="spacing"></div> <div class="spacing"></div>
<div class="chart-title">完成项目考试次数情况</div> <div class="chart-title">完成项目考试次数情况</div>
<div class="chart" id="examTimes" ref="examTimes"></div> <div class="chart" id="examTimes" ref="examTimes"></div>
<div class="chart-remarks">注:本报表数据来源包括用户参加正式考试,不包含摸底考试</div> <div class="chart-remarks">注:本报表数据来源包括用户参加正式考试次数,不包含摸底考试次数</div>
<div class="spacing"></div> <div class="spacing"></div>
<div class="chart-title">完成项目考试分数情况</div> <!-- <div class="chart-title">完成项目考试分数情况</div> -->
<div class="chart-title-more">
<p>完成项目考试分数情况</p>
<el-radio-group class="rank-radio" size="medium" v-model="rankType" @change="changeRank">
<el-radio-button label="1">1分</el-radio-button>
<el-radio-button label="5">5分</el-radio-button>
<el-radio-button label="10">10分</el-radio-button>
</el-radio-group>
</div>
<div class="chart" id="examScore" ref="examScore"></div> <div class="chart" id="examScore" ref="examScore"></div>
<div class="chart-remarks">注:本报表数据来源包括用户参加正式考试,不包含摸底考试。</div>
<div class="spacing"></div> <div class="spacing"></div>
<div class="table"> <el-table :data="tableData" border class="exam-table">
<el-table :data="tableData" style="width: 100%" border> <el-table-column prop="examType" label="类型" align="center"></el-table-column>
<el-table-column prop="examType" label="类型" align="center"></el-table-column> <el-table-column prop="examName" label="考试名" min-width="150" align="center"></el-table-column>
<el-table-column prop="examName" label="考试名" min-width="150" align="center"></el-table-column> <el-table-column prop="doctorCount" label="应参与考试人数" align="center"></el-table-column>
<el-table-column prop="doctorCount" label="应参与考试人数" align="center"></el-table-column> <el-table-column prop="passCount" label="通过考试人数" align="center"></el-table-column>
<el-table-column prop="passCount" label="通过考试人数" align="center"></el-table-column> <el-table-column prop="passRate" label="整体通过率" align="center">
<el-table-column prop="passRate" label="整体通过率" align="center"> <template slot-scope="scope">{{ scope.row.passRate | examRate }}</template>
<template slot-scope="scope">{{ scope.row.passRate | examRate }}</template> </el-table-column>
</el-table-column> <el-table-column prop="joinCount" label="参与考试人数" align="center"></el-table-column>
<el-table-column prop="joinCount" label="参与考试人数" align="center"></el-table-column> <el-table-column prop="joinRate" label="参与通过率" align="center">
<el-table-column prop="joinRate" label="参与通过率" align="center"> <template slot-scope="scope">{{ scope.row.joinRate | examRate }}</template>
<template slot-scope="scope">{{ scope.row.joinRate | examRate }}</template> </el-table-column>
</el-table-column> <el-table-column label="操作" fixed="right" align="center" min-width="100">
<el-table-column label="操作" fixed="right" align="center" min-width="100"> <template slot-scope="scope">
<template slot-scope="scope"> <el-button class="button-jump" type="text" size="small" @click="goPage(scope.row)">查看名单</el-button>
<el-button type="text" size="small" @click="goPage(scope.row)">查看名单</el-button> </template>
</template> </el-table-column>
</el-table-column> <div slot="empty">
<div slot="empty"> <div class="table-empty">
<div class="table-empty"> <img src="../../assets/image/no-content1.png" />
<img src="../../assets/image/no-content1.png" /> <p>没有相关数据,请重新选择查询范围</p>
<p>没有相关数据,请重新选择查询范围</p>
</div>
</div> </div>
</el-table> </div>
</div> </el-table>
<!-- 分页 --> <!-- 分页 -->
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination
class="pagination"
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
...@@ -97,7 +105,8 @@ export default { ...@@ -97,7 +105,8 @@ export default {
chart0: {}, chart0: {},
chart1: {} chart1: {}
}, },
scoreData: {} examData: {},
rankType: '1',
}; };
}, },
created() { created() {
...@@ -145,7 +154,7 @@ export default { ...@@ -145,7 +154,7 @@ export default {
vm.POST("stats/report/exam", req).then(res => { vm.POST("stats/report/exam", req).then(res => {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
vm.scoreData = res.data; vm.examData = res.data;
vm.setCardData(res.data); vm.setCardData(res.data);
vm.setExamTimes(res.data.examTimesList); vm.setExamTimes(res.data.examTimesList);
vm.setExamScore(res.data.examScoreList); vm.setExamScore(res.data.examScoreList);
...@@ -230,6 +239,16 @@ export default { ...@@ -230,6 +239,16 @@ export default {
vm.echartsData.chart0 = myChart; vm.echartsData.chart0 = myChart;
vm.updateResize(); vm.updateResize();
}, },
changeRank(value) {
console.log(value);
if(value == '1') {
vm.setExamScore(vm.examData.examScoreList);
} else if(value == '5') {
vm.setExamScore(vm.examData.fiveExamScoreList);
} else if(value == '10') {
vm.setExamScore(vm.examData.tenExamScoreList);
}
},
setExamScore(data) { setExamScore(data) {
let myChart = echarts.init(this.$refs.examScore); let myChart = echarts.init(this.$refs.examScore);
let xAxisData = []; let xAxisData = [];
...@@ -356,23 +375,66 @@ export default { ...@@ -356,23 +375,66 @@ export default {
} }
.chart-title { .chart-title {
position: relative; position: relative;
margin-top: 17px; margin-top: 30px;
margin-left: 30px; margin-left: 30px;
width: 100%; height: 25px;
height: 60px; font-size:18px;
font-size: 18px; font-weight:600;
font-weight: 600; line-height: 25px;
line-height: 60px;
color: #000000; color: #000000;
} }
.chart-title-more {
position: relative;
width: 100%;
height: 70px;
p {
position: relative;
float: left;
width: 400px;
margin-top: 30px;
margin-left: 30px;
height: 25px;
font-size:18px;
font-weight:600;
line-height: 25px;
color: #000000;
}
.rank-radio {
position: relative;
margin: 30px 30px 0 0;
float: right;
.el-radio-button__inner {
padding: 7px 29px;
}
}
}
.chart { .chart {
position: relative; position: relative;
margin: 20px auto 0 auto; margin: 0 auto 0 auto;
width: 860px; width: 1064px;
height: 350px; height: 380px;
} }
.chart-remarks { .chart-remarks {
position: relative; position: relative;
height: 66px;
padding: 20px 0 30px 30px;
font-size: 16px;
font-weight: 400;
line-height: 16px;
color: #666666;
}
.exam-table {
top: 20px;
padding: 0;
width: 95%;
margin:0 auto 20px auto;
.button-jump {
color: #449284;
}
}
.pagination {
margin-top: 30px;
margin-right: 13px;
} }
} }
</style> </style>
...@@ -12,10 +12,12 @@ ...@@ -12,10 +12,12 @@
</div> </div>
<div class="spacing"></div> <div class="spacing"></div>
<div class="chart-title">不同学历完成项目前后正确率对比</div> <div class="chart-title">不同学历完成项目前后正确率对比</div>
<div class="chart" ref="education"></div> <div class="chartEdu" ref="education"></div>
<div class="chart-remarks">注:本报表数据来源仅仅统计同时包含摸底考和正式考的课程培训。</div>
<div class="spacing"></div> <div class="spacing"></div>
<div class="chart-title">培训前后知识点掌握情况</div> <div class="chart-title">培训前后知识点掌握情况</div>
<div class="chart" ref="learning"></div> <div class="chartLearn" ref="learning"></div>
<div class="chart-remarks">注:本报表数据来源仅包括有摸底考的课程培训。</div>
</div> </div>
</template> </template>
...@@ -190,21 +192,34 @@ export default { ...@@ -190,21 +192,34 @@ export default {
} }
.chart-title { .chart-title {
position: relative; position: relative;
margin-top: 17px; margin-top: 30px;
margin-left: 30px; margin-left: 30px;
width: 100%; height: 25px;
height: 60px; font-size:18px;
font-size: 18px; font-weight:600;
font-weight: 600; line-height: 25px;
line-height: 60px;
color: #000000; color: #000000;
} }
.chart { .chartEdu {
position: relative;
margin: 20px auto 0 auto;
width: 1064px;
height: 380px;
}
.chartLearn {
position: relative; position: relative;
margin: 20px auto 0 auto; margin: 20px auto 0 auto;
// width: 100%; width: 1064px;
width: 860px; height: 462px;
height: 350px; }
.chart-remarks {
position: relative;
height: 66px;
padding: 20px 0 30px 30px;
font-size: 16px;
font-weight: 400;
line-height: 16px;
color: #666666;
} }
} }
</style> </style>
...@@ -261,6 +261,8 @@ export default { ...@@ -261,6 +261,8 @@ export default {
} }
], ],
areaLen: 1, areaLen: 1,
hospitalCnt: 0,
hospitalId: [],
}; };
}, },
computed: { computed: {
...@@ -285,21 +287,6 @@ export default { ...@@ -285,21 +287,6 @@ export default {
}, },
methods: { methods: {
getDisplay(type) { getDisplay(type) {
// let req = {
// projectId: vm.projectId,
// projectName: vm.projectName,
// };
// openLoading(vm);
// vm.reportGET("report/portal/display", req).then(res => {
// closeLoading(vm);
// if (res.code == "000000") {
// vm.showOriginal = res.data.status;
// vm.roleType = res.data.roleType;
// vm.displayExam = res.data.existExam;
// vm.flag = res.data.flag;
// }
// });
let reqInfo = { let reqInfo = {
projectId: vm.projectId, projectId: vm.projectId,
}; };
...@@ -436,6 +423,23 @@ export default { ...@@ -436,6 +423,23 @@ export default {
vm.optionsRegion = operationData.setRegionOptionNew( vm.optionsRegion = operationData.setRegionOptionNew(
res.data.list res.data.list
); );
// vm.gethHspitalsCnt();
vm.search();
}
});
},
gethHspitalsCnt() {
let req = {
projectId: vm.projectId,
regionId: vm.formInline.region[vm.formInline.region.length - 1]
};
vm.GET("stats/region/hospitals/cnt", req).then(res => {
if (res.code == "000000") {
vm.hospitalCnt = res.data.hospitalCnt;
vm.hospitalCnt = 1;
if(vm.hospitalCnt == 1) {
vm.hospitalId[0] = res.data.list[0].hospitalId;
}
vm.search(); vm.search();
} }
}); });
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册