| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-form style="display: flex"> |
| | | <el-form-item label="企业:"> |
| | | <el-form style="display: flex;flex-wrap: wrap"> |
| | | <el-form-item label="企业:" v-if="state.isAdmin"> |
| | | <el-select |
| | | v-model="state.queryParams.companyId" |
| | | style="width: 100%" |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="YYYY-MM-DD 00:00:00" |
| | | format="YYYY-MM-DD" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item style="margin-left: 50px"> |
| | |
| | | <!-- 表格数据 --> |
| | | <el-table v-loading="loading" :data="state.dataList" :border="true" row-key="id"> |
| | | <el-table-column label="序号" type="index" align="center" width="80" /> |
| | | <el-table-column label="企业名称" prop="sort" align="center" /> |
| | | <el-table-column label="企业编号" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="总批次/人数" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="三级" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="二级" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="一级" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="考试人次" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="合格人次" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="考试合格率" prop="sort" align="center" width="80" /> |
| | | <el-table-column label="企业名称" prop="companyName" align="center" /> |
| | | <el-table-column label="企业编号" prop="companyCode" align="center" /> |
| | | <el-table-column label="总批次/人数" prop="sort" align="center" > |
| | | <template #default="scope"> |
| | | <span>{{scope.row.phaseStudentCount && scope.row.phaseCount ? scope.row.phaseCount + '/' +scope.row.phaseStudentCount:''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="三级" prop="sort" align="center" > |
| | | <template #default="scope"> |
| | | <span>{{scope.row.level3StudentCount && scope.row.level3PhaseCount ? scope.row.level3PhaseCount+ '/' +scope.row.level3StudentCount:''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="二级" prop="sort" align="center" > |
| | | <template #default="scope"> |
| | | <span>{{scope.row.level2StudentCount && scope.row.level2PhaseCount ? scope.row.level2PhaseCount+ '/' +scope.row.level2StudentCount:''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="一级" prop="sort" align="center" > |
| | | <template #default="scope"> |
| | | <span>{{scope.row.level1StudentCount && scope.row.level1PhaseCount ? scope.row.level1PhaseCount+ '/' +scope.row.level1StudentCount:''}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="考试人次" prop="paperStudentCount" align="center" /> |
| | | <el-table-column label="合格人次" prop="passStudentCount" align="center" /> |
| | | <el-table-column label="合格率" prop="passRate" align="center" /> |
| | | </el-table> |
| | | <pagination |
| | | v-show="state.total > 0" |
| | |
| | | <script setup> |
| | | import {getCurrentInstance, onMounted, reactive, ref, toRefs} from "vue"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import moment from "moment"; |
| | | |
| | | import {delClassification, getClassification} from "@/api/onlineEducation/courseClass"; |
| | | import {getCompany} from "@/api/onlineEducation/company"; |
| | | import {getCompanyCount} from "@/api/onlineEducation/count"; |
| | | import Cookies from "js-cookie"; |
| | | const { proxy } = getCurrentInstance(); |
| | | const loading = ref(false); |
| | | const areaRef = ref(); |
| | |
| | | companyList: [], |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | isAdmin: false |
| | | }); |
| | | |
| | | //页面加载 |
| | | onMounted(() => { |
| | | getCompanyList(); |
| | | setDate(); |
| | | const userInfo = JSON.parse(Cookies.get('userInfo')) |
| | | console.log("userInfo",userInfo) |
| | | state.isAdmin = userInfo.userType === 0; |
| | | if(state.isAdmin){ |
| | | getCompanyList(); |
| | | } |
| | | |
| | | getList(); |
| | | |
| | | }); |
| | |
| | | loading.value = true; |
| | | const res = await getCompanyCount(state.queryParams); |
| | | if(res.code === 200){ |
| | | state.dataList = res.data |
| | | state.dataList = res.data.list.map(item => { |
| | | return { |
| | | ...item, |
| | | passRate: item.passStudentCount!=null && item.paperStudentCount!=null ? (item.passStudentCount / item.paperStudentCount).toFixed(2) *100 + '%': '' |
| | | |
| | | } |
| | | }) |
| | | state.total = res.data.total |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | |
| | | getCompanyList('') |
| | | }, 500) |
| | | } |
| | | const setDate = () => { |
| | | let isDate = new Date() |
| | | let sTime = `${isDate.getFullYear()}-${isDate.getMonth() + 1}-${isDate.getDate()-7}` |
| | | let eTime = `${isDate.getFullYear()}-${isDate.getMonth() + 1}-${isDate.getDate()}` |
| | | sTime = `${sTime}` |
| | | eTime = `${eTime}` |
| | | searchTime.value = [sTime,eTime]; |
| | | state.queryParams.startTime = searchTime.value[0]+' 00:00:00' |
| | | state.queryParams.endTime = searchTime.value[1]+' 00:00:00' |
| | | } |
| | | const changeTime=(value)=>{ |
| | | console.log('11',searchTime.value) |
| | | if(!value){ |
| | | state.queryParams.endTime = "" |
| | | state.queryParams.startTime = "" |
| | | } |
| | | searchTime.value[0]=moment(searchTime.value[0]).format('YYYY-MM-DD') |
| | | searchTime.value[1]=moment(searchTime.value[1]).format('YYYY-MM-DD') |
| | | } |
| | | const searchClick = () => { |
| | | if(searchTime.value && searchTime.value.length>0){ |
| | | state.queryParams.startTime = searchTime.value[0] |
| | | state.queryParams.endTime = searchTime.value[1] |
| | | state.queryParams.startTime = searchTime.value[0] + ' 00:00:00' |
| | | state.queryParams.endTime = searchTime.value[1] + ' 00:00:00' |
| | | } |
| | | getList(); |
| | | } |
| | | |
| | | /** 重置新增的表单以及其他数据 */ |
| | | function reset() { |
| | | data.queryParams.name = ''; |
| | | data.queryParams.pageNum = 1; |
| | | state.queryParams = { |
| | | companyId: '', |
| | | type: null, |
| | | endTime: '', |
| | | startTime: '', |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | } |
| | | searchTime.value = []; |
| | | getList(); |
| | | } |
| | | |