对比新文件 |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | export function getCount(query) { |
| | | return request({ |
| | | url: '/th/statistic/count', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function getSubject(query) { |
| | | return request({ |
| | | url: '/th/subject/type/tree', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | export function realTimeQuery(query) { |
| | | return request({ |
| | | url: '/th/study/record/idcard', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | |
| | | method: 'delete' |
| | | }) |
| | | } |
| | | |
| | | //审核 |
| | | export function modPlatStatus(query) { |
| | | return request({ |
| | | url: '/th/institutional/manager/mod/status', |
| | | method: 'post', |
| | | data: query |
| | | }) |
| | | } |
| | |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="yyyy-MM-DD" |
| | | style="margin-left: 40px;" |
| | | format="yyyy-MM-dd" |
| | | style="margin-left: 30px;" |
| | | > |
| | | </el-date-picker> |
| | | <el-select v-model="queryParams.qualificationType" size="small" style="margin-left: 40px;" clearable placeholder="请选择资格类型"> |
| | | <el-option |
| | | v-for="item in qualificationList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select v-model="queryParams.trainOrgId" size="small" style="margin-left: 40px;" clearable filterable placeholder="请选择所属机构"> |
| | | <el-option |
| | | v-for="item in trainOrgList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-cascader |
| | | v-model="queryParams.subjectCode" |
| | | ref="classifyRef" |
| | | @change="changeTree" |
| | | :options="subjectList" |
| | | :props="{ checkStrictly: true }" |
| | | clearable |
| | | size="small" |
| | | style="margin-left: 30px;" |
| | | ></el-cascader> |
| | | <el-input size="small" style="margin-left: 30px;width: 200px" v-model="queryParams.trainOrgName" placeholder="请输入机构"></el-input> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | |
| | | <el-table-column label="ID" align="center" prop="id" /> |
| | | <el-table-column label="批次名称" align="center" prop="batchName" /> |
| | | <el-table-column label="推送平台" align="center" prop="institutionName" /> |
| | | <el-table-column label="开始时间" align="center" prop="startTime" /> |
| | | <el-table-column label="计划结束时间" align="center" prop="endTime" /> |
| | | <el-table-column label="类别" align="center" prop="category" /> |
| | | <el-table-column label="开始时间" align="center" prop="actualStartTime" /> |
| | | <el-table-column label="计划结束时间" align="center" prop="actualEndTime" /> |
| | | <el-table-column label="类别" align="center" prop="subjectCode" /> |
| | | <el-table-column label="上报时间" align="center" prop="createTime" /> |
| | | <el-table-column label="所属培训机构" align="center" prop="trainOrgName" /> |
| | | <el-table-column label="课程" align="center" > |
| | |
| | | import { listBatch, listQuestion } from '@/api/onlineEducation/student' |
| | | import { listPlatSelect } from '@/api/onlineEducation/plat' |
| | | import moment from 'moment/moment' |
| | | import { getSubject } from '@/api/onlineEducation/count' |
| | | export default { |
| | | name: "nPeopleManage", |
| | | dicts: [], |
| | |
| | | institutionId: '', |
| | | startTime: '', |
| | | endTime: '', |
| | | qualificationType: null, |
| | | trainOrgId: null |
| | | subjectCode: null, |
| | | trainOrgName: '' |
| | | }, |
| | | qualificationList: [ |
| | | { |
| | | id: 1, |
| | | name: '主要负责人' |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '安全生产管理人员' |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: '特种作业人员' |
| | | } |
| | | |
| | | ], |
| | | subjectList: [], |
| | | trainOrgList: [] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.setDate(); |
| | | this.getSubjectList() |
| | | this.getList(); |
| | | this.getPlat(); |
| | | }, |
| | |
| | | const e = moment(end).format('YYYY-MM-DD') |
| | | this.time = [s,e] |
| | | }, |
| | | changeTree(val) { |
| | | console.log("label====",this.$refs.classifyRef.getCheckedNodes()[0].value) |
| | | this.queryParams.subjectCode = this.$refs.classifyRef.getCheckedNodes()[0].value |
| | | // 我这里只是打印了一下label的值哦,需要赋值的话自己去赋值哦 |
| | | if (this.$refs.classifyRef) { |
| | | this.$refs.classifyRef.dropDownVisible = false |
| | | } |
| | | }, |
| | | getSubjectList() { |
| | | getSubject().then(res => { |
| | | if (res.code == 200) { |
| | | console.log('res',res) |
| | | this.subjectList = this.recursion(res.data) |
| | | } |
| | | }) |
| | | }, |
| | | recursion(data){ |
| | | let tmp = [] |
| | | for (let i = 0; i < data.length; i++) { |
| | | let item = data[i] |
| | | // children为空 |
| | | if (item.children&& item.children.length==0) { |
| | | tmp.push({ |
| | | value: item.code, |
| | | label: item.name |
| | | }) |
| | | // 有children |
| | | } else { |
| | | tmp.push({ |
| | | value: item.code, |
| | | label: item.name, |
| | | children: this.recursion(item.children) |
| | | }) |
| | | } |
| | | } |
| | | return tmp; |
| | | }, |
| | | getList(){ |
| | | // this.queryParams.startTime = moment(this.time[0]).format('YYYY-MM-DD') |
| | | // this.queryParams.endTime = moment(this.time[1]).format('YYYY-MM-DD') |
| | | if(this.time && this.time.length >0){ |
| | | this.queryParams.startTime = moment(this.time[0]).format('YYYY-MM-DD') |
| | | this.queryParams.endTime = moment(this.time[1]).format('YYYY-MM-DD') |
| | | } |
| | | |
| | | this.loading = true; |
| | | listBatch( this.queryParams).then((res) => { |
| | | if (res.code == 200) { |
| | |
| | | institutionId: '', |
| | | startTime: '', |
| | | endTime: '', |
| | | qualificationType: null, |
| | | trainOrgId: null |
| | | subjectCode: null, |
| | | trainOrgName: '' |
| | | } |
| | | this.time = []; |
| | | this.getList(); |
| | |
| | | format="yyyy-MM-dd" |
| | | > |
| | | </el-date-picker> |
| | | <el-select v-model="queryParams.qualificationType" size="small" style="margin-left: 40px;" clearable placeholder="请选择资格类型"> |
| | | <el-option |
| | | v-for="item in qualificationList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-select v-model="queryParams.trainOrgId" size="small" style="margin-left: 40px;" clearable filterable placeholder="请选择所属机构"> |
| | | <el-option |
| | | v-for="item in trainOrgList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-cascader |
| | | v-model="queryParams.subjectCode" |
| | | ref="classifyRef" |
| | | @change="changeTree" |
| | | :options="subjectList" |
| | | :props="{ checkStrictly: true }" |
| | | clearable |
| | | size="small" |
| | | style="margin-left: 30px;" |
| | | ></el-cascader> |
| | | <!-- <el-select v-model="queryParams.subjectCode" size="small" style="margin-left: 40px;" clearable placeholder="请选择资格类型">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in subjectList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.id">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <el-input size="small" style="margin-left: 30px;width: 200px" v-model="queryParams.trainOrgName" placeholder="请输入机构"></el-input> |
| | | <!-- <el-select v-model="queryParams.trainOrgId" size="small" style="margin-left: 40px;" clearable filterable placeholder="请选择所属机构">--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in trainOrgList"--> |
| | | <!-- :key="item.id"--> |
| | | <!-- :label="item.name"--> |
| | | <!-- :value="item.id">--> |
| | | <!-- </el-option>--> |
| | | <!-- </el-select>--> |
| | | <el-button |
| | | size="small" |
| | | type="primary" |
| | |
| | | >重置</el-button> |
| | | </div> |
| | | <el-table v-loading="loading" :data="expertList"> |
| | | <el-table-column label="平台" align="center" prop="name" /> |
| | | <el-table-column label="培训总人数" align="center" prop="tTotal" /> |
| | | <el-table-column label="培训学时达标人数" align="center" prop="pTotal" /> |
| | | <el-table-column label="考试合格人数" align="center" prop="examQualifyNum" /> |
| | | <el-table-column label="考试合格率" align="center" prop="passRate" /> |
| | | <el-table-column label="平台" align="center" prop="institutionName" /> |
| | | <el-table-column label="培训总人数" align="center" prop="studentCount" /> |
| | | <el-table-column label="培训学时达标人数" align="center" prop="finishCount" /> |
| | | <el-table-column label="考试合格人数" align="center" prop="passCount" /> |
| | | <el-table-column label="考试合格率" align="center" prop="passRate"> |
| | | <template #default="scope"> |
| | | <span>{{scope.row.passRate}}%</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | <!-- <pagination--> |
| | | <!-- v-show="total>0"--> |
| | | <!-- :total="total"--> |
| | | <!-- :page.sync="queryParams.pageNum"--> |
| | | <!-- :limit.sync="queryParams.pageSize"--> |
| | | <!-- @pagination="getList"--> |
| | | <!-- />--> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import { getCount, getSubject } from '@/api/onlineEducation/count' |
| | | |
| | | export default { |
| | | name: "count", |
| | |
| | | showSearch: true, |
| | | addForm: false, |
| | | total: 0, |
| | | objectList: [ |
| | | { |
| | | value: '1', |
| | | label: '测试数据1' |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '测试数据2' |
| | | }, |
| | | ], |
| | | expertList: [], |
| | | subjectList: [], |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | startTime: '', |
| | | endTime: '', |
| | | qualificationType: null, |
| | | trainOrgId: null |
| | | subjectCode: null, |
| | | trainOrgName: '' |
| | | }, |
| | | time: [], |
| | | qualificationList: [ |
| | | { |
| | | id: 1, |
| | | name: '主要负责人' |
| | | }, |
| | | { |
| | | id: 2, |
| | | name: '安全生产管理人员' |
| | | }, |
| | | { |
| | | id: 3, |
| | | name: '特种作业人员' |
| | | } |
| | | |
| | | ], |
| | | trainOrgList: [] |
| | | }; |
| | | }, |
| | | created() { |
| | | this.setDate() |
| | | this.getSubjectList() |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | |
| | | const e = moment(end).format('YYYY-MM-DD') |
| | | this.time = [s,e] |
| | | }, |
| | | changeTree(val) { |
| | | console.log("label====",this.$refs.classifyRef.getCheckedNodes()[0].value) |
| | | this.queryParams.subjectCode = this.$refs.classifyRef.getCheckedNodes()[0].value |
| | | // 我这里只是打印了一下label的值哦,需要赋值的话自己去赋值哦 |
| | | if (this.$refs.classifyRef) { |
| | | this.$refs.classifyRef.dropDownVisible = false |
| | | } |
| | | }, |
| | | getList(){ |
| | | |
| | | // debugger |
| | | if(this.time && this.time.length >0){ |
| | | this.queryParams.startTime = moment(this.time[0]).format('YYYY-MM-DD') |
| | | this.queryParams.endTime = moment(this.time[1]).format('YYYY-MM-DD') |
| | | } |
| | | console.log('1111',this.queryParams) |
| | | this.loading = true; |
| | | this.expertList = [ |
| | | { |
| | | id: 1, |
| | | name: '链工宝', |
| | | organization: '测试机构1', |
| | | pTotal: '--', |
| | | tTotal: '--', |
| | | examQualifyNum: '--', |
| | | passRate: '--' |
| | | }, |
| | | ] |
| | | this.total = 2; |
| | | getCount(this.queryParams).then(res => { |
| | | if (res.code == 200) { |
| | | this.expertList = res.data |
| | | this.loading = false; |
| | | |
| | | } |
| | | }) |
| | | this.loading = false; |
| | | }, |
| | | handleChange(){ |
| | | |
| | | }, |
| | | getSubjectList() { |
| | | getSubject().then(res => { |
| | | if (res.code == 200) { |
| | | console.log('res',res) |
| | | this.subjectList = this.recursion(res.data) |
| | | } |
| | | }) |
| | | }, |
| | | recursion(data){ |
| | | let tmp = [] |
| | | for (let i = 0; i < data.length; i++) { |
| | | let item = data[i] |
| | | // children为空 |
| | | if (item.children&& item.children.length==0) { |
| | | tmp.push({ |
| | | value: item.code, |
| | | label: item.name |
| | | }) |
| | | // 有children |
| | | } else { |
| | | tmp.push({ |
| | | value: item.code, |
| | | label: item.name, |
| | | children: this.recursion(item.children) |
| | | }) |
| | | } |
| | | } |
| | | return tmp; |
| | | }, |
| | | handleQuery(){ |
| | | this.getList() |
| | |
| | | pageSize: 10, |
| | | startTime: '', |
| | | endTime: '', |
| | | qualificationType: null, |
| | | trainOrgId: null |
| | | subjectCode: null, |
| | | trainOrgName: '' |
| | | } |
| | | this.time = [] |
| | | this.getList() |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template #default="scope"> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="text"--> |
| | | <!-- v-if="scope.row.status == 1"--> |
| | | <!-- @click="handleEnable(scope.row)"--> |
| | | <!-- >启用</el-button>--> |
| | | <!-- <el-button--> |
| | | <!-- size="mini"--> |
| | | <!-- type="text"--> |
| | | <!-- v-if="scope.row.status == 0"--> |
| | | <!-- @click="handleDisable(scope.row)"--> |
| | | <!-- >监管禁用</el-button>--> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | v-if="scope.row.status == 1" |
| | | @click="handleEnable(scope.row)" |
| | | >启用</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | v-if="scope.row.status == 0" |
| | | @click="handleEnable(scope.row)" |
| | | >监管禁用</el-button> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | |
| | | <script> |
| | | import addDialog from '@/views/onlineEducation/platformManage/components/addDialog.vue' |
| | | import { delExam } from '@/api/coalMine/placeManage/exam' |
| | | import { delPlat, listPlat } from '@/api/onlineEducation/plat' |
| | | import { delPlat, listPlat, modPlatStatus } from '@/api/onlineEducation/plat' |
| | | export default { |
| | | name: "platformManage", |
| | | components: {addDialog}, |
| | |
| | | this.$refs.addDialogRef.openDialog(type, data); |
| | | }, |
| | | handleEnable(data){ |
| | | if(data.status == 1){ |
| | | this.$confirm('确认启用该平台?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | // delExam( val.siteId).then((res) => { |
| | | // if (res.code == 200) { |
| | | // this.$message({ |
| | | // type:'success', |
| | | // message: '删除成功' |
| | | // }) |
| | | // this.getList() |
| | | // } |
| | | // }) |
| | | const param={ |
| | | id:data.id, |
| | | status: 0 |
| | | } |
| | | modPlatStatus( param).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | type:'success', |
| | | message: '操作成功' |
| | | }) |
| | | this.getList() |
| | | } |
| | | }) |
| | | }) |
| | | }else { |
| | | this.$confirm('确认禁用该平台?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const param={ |
| | | id:data.id, |
| | | status: 1 |
| | | } |
| | | modPlatStatus( param).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | type:'success', |
| | | message: '操作成功' |
| | | }) |
| | | this.getList() |
| | | } |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | |
| | | }, |
| | | handleDisable(data){ |
| | | this.$confirm('确认禁用该平台?', '提示', { |
| | |
| | | </div> |
| | | </div> |
| | | <!-- 查询数据--> |
| | | <div style="margin: 30px 20%" > |
| | | <div v-if="data"> |
| | | <div style="margin: 30px 10%" > |
| | | <div v-if="show"> |
| | | <div style="display: flex;align-items: center;margin-bottom: -15px" > |
| | | <span style="font-size: 18px;font-weight: 550">姓名:</span> |
| | | <span style="font-size: 17px;margin-right: 60px">{{data.name}}</span> |
| | | <span style="font-size: 18px;font-weight: 550">查询平台:</span> |
| | | <span style="font-size: 17px">{{data.institutionalName}}</span> |
| | | <!-- <span style="font-size: 18px;font-weight: 550">查询平台:</span>--> |
| | | <!-- <span style="font-size: 17px">{{data.institutionalName}}</span>--> |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <div> |
| | | <div v-for="(batch,index) in data.batchList" :key="index" > |
| | | <div style="display: flex;align-items: center;margin-bottom: -15px" > |
| | | <span style="font-size: 18px">班级(批次):</span> |
| | | <span style="font-size: 16px;margin-right: 60px">{{batch.batchName}}</span> |
| | | <span style="font-size: 18px">创建时间:</span> |
| | | <span style="font-size: 16px">{{batch.createTime}}</span> |
| | | <!-- <div style="display: flex;align-items: center;margin-bottom: -15px" >--> |
| | | <el-form :model="batch" size="default" ref="busRef" style="display: flex" label-width="95px"> |
| | | <el-form-item label="班级(批次):"> |
| | | <span>{{batch.batchName}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="创建时间:"> |
| | | <span>{{batch.createTime}}</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <!-- <span style="font-size: 18px">班级(批次):</span>--> |
| | | <!-- <span style="font-size: 16px;margin-right: 60px">{{batch.batchName}}</span>--> |
| | | <!-- <span style="font-size: 18px">创建时间:</span>--> |
| | | <!-- <span style="font-size: 16px">{{batch.createTime}}</span>--> |
| | | <!-- </div>--> |
| | | <div v-for="(course,index) in batch.courseList" :key="index" > |
| | | <div style="display: flex;justify-content: space-between"> |
| | | <el-form :model="course" size="default" ref="busRef" style="display: flex;align-items: center" label-width="95px"> |
| | | <el-form-item label="课程名称:"> |
| | | <span>{{course.courseName}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="总学时:"> |
| | | <span>{{course.courseLessonNum}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="当前学时:"> |
| | | <span>{{course.coCompleteLessonNum}}</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-progress :percentage="course.durationRate" style="width: 250px;margin-top: 5px" :text-inside="true" :stroke-width="23"></el-progress> |
| | | </div> |
| | | <div v-for="(course,index) in batch.courseList" :key="index" style="margin-top: 40px;margin-bottom: 50px"> |
| | | <div style="margin-bottom: -15px;display: flex;justify-content: space-between" > |
| | | <div style="display: flex;align-items: center;"> |
| | | <span style="font-size: 18px">课程名称:</span> |
| | | <span style="font-size: 16px;margin-right: 60px">{{course.courseName}}</span> |
| | | <span style="font-size: 18px">总学时:</span> |
| | | <span style="font-size: 16px;margin-right: 60px">{{course.lessonNum}}</span> |
| | | <span style="font-size: 18px">当前学时:</span> |
| | | <span style="font-size: 16px;margin-right: 60px">{{course.duration}}</span> |
| | | </div> |
| | | <el-progress :percentage="course.durationRate" style="width: 250px" ></el-progress> |
| | | </div> |
| | | <div v-for="(chapter,index) in course.chapterList" :key="index" style="margin-top: 50px;margin-left: 40px;"> |
| | | <div style="margin-bottom: -15px;display: flex;justify-content: space-between" > |
| | | <div style="display: flex;align-items: center" > |
| | | <span style="font-size: 16px;margin-right: 60px">{{chapter.chapterName}}</span> |
| | | <span style="font-size: 16px">总时长:</span> |
| | | <span style="font-size: 16px;margin-right: 60px">{{chapter.lessonTocal}}</span> |
| | | <span style="font-size: 16px"> 已学时长:</span> |
| | | <span style="font-size: 16px">{{chapter.lessonNum}}</span> |
| | | </div> |
| | | <span v-if="chapter.lessonTocal == chapter.lessonNum " style="color: #13ce66">[已完成]</span> |
| | | |
| | | <!-- <div style="margin-bottom: -15px;display: flex;justify-content: space-between" >--> |
| | | <!-- <div style="display: flex;align-items: center;">--> |
| | | <!-- <span style="font-size: 18px">课程名称:</span>--> |
| | | <!-- <span style="font-size: 16px;margin-right: 60px">{{course.courseName}}</span>--> |
| | | <!-- <span style="font-size: 18px">总学时:</span>--> |
| | | <!-- <span style="font-size: 16px;margin-right: 60px">{{course.courseLessonNum}}</span>--> |
| | | <!-- <span style="font-size: 18px">当前学时:</span>--> |
| | | <!-- <span style="font-size: 16px;margin-right: 60px">{{course.coCompleteLessonNum}}</span>--> |
| | | <!-- </div>--> |
| | | <!-- <el-progress :percentage="course.durationRate" style="width: 250px" ></el-progress>--> |
| | | <!-- </div>--> |
| | | <div v-for="(chapter,index) in course.chapterList" :key="index"> |
| | | <div style="display: flex;justify-content: space-between"> |
| | | <el-form :model="chapter" size="default" ref="busRef" style="display: flex;align-items: center" label-width="95px"> |
| | | <el-form-item> |
| | | <span>{{chapter.chapterName}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="总时长:"> |
| | | <span>{{dayjs.duration(chapter.chapterDuration,'seconds').format('HH:mm:ss')}}</span> |
| | | </el-form-item> |
| | | <el-form-item label="已学时长:"> |
| | | <span>{{dayjs.duration(chapter.chCompleteDuration,'seconds').format('HH:mm:ss')}}</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span v-if="chapter.chapterStatus == 1 " style="color: #13ce66">[已完成]</span> |
| | | <span v-else style="color: #1890ff">[学习中]</span> |
| | | </div> |
| | | |
| | | <!-- <div style="margin-bottom: -15px;display: flex;justify-content: space-between" >--> |
| | | <!-- <div style="display: flex;align-items: center" >--> |
| | | <!-- <span style="font-size: 16px;margin-right: 60px">{{chapter.chapterName}}</span>--> |
| | | <!-- <span style="font-size: 16px">总时长:</span>--> |
| | | <!-- <span style="font-size: 16px;margin-right: 60px">{{chapter.chapterLessonNum}}</span>--> |
| | | <!-- <span style="font-size: 16px"> 已学时长:</span>--> |
| | | <!-- <span style="font-size: 16px">{{chapter.lessonNum}}</span>--> |
| | | <!-- </div>--> |
| | | <!-- <span v-if="chapter.chapterStatus == 1 " style="color: #13ce66">[已完成]</span>--> |
| | | <!-- <span v-else style="color: #1890ff">[学习中]</span>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <el-divider></el-divider> |
| | |
| | | import studentList from '@/views/onlineEducation/count/components/studentList.vue' |
| | | import { delJobRegist } from '@/api/coalMine/jobRegist' |
| | | import { listPlat, listPlatSelect } from '@/api/onlineEducation/plat' |
| | | import { listCourse } from '@/api/onlineEducation/course' |
| | | import { listCourse, realTimeQuery } from '@/api/onlineEducation/course' |
| | | import dayjs from 'dayjs' |
| | | import duration from 'dayjs/plugin/duration' |
| | | dayjs.extend(duration); |
| | | export default { |
| | | name: "nPeopleManage", |
| | | dicts: [], |
| | | components: { courseDialog,studentList}, |
| | | data() { |
| | | return { |
| | | total: 2, |
| | | dayjs:dayjs, |
| | | total: 0, |
| | | platformList: [], |
| | | data: {}, |
| | | data: { |
| | | idcard: '620202199001060217 ', |
| | | batchList: [] |
| | | }, |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 2, |
| | | pageSize: 10, |
| | | institutionId: '', |
| | | idcard: '' |
| | | }, |
| | | layout: 'total,prev, pager, next, jumper' |
| | | layout: 'total,prev, pager, next, jumper', |
| | | show:false |
| | | |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getPlat(); |
| | | this.getList(); |
| | | // this.getList(); |
| | | }, |
| | | methods: { |
| | | getList(){ |
| | | console.log("111",this.queryParams) |
| | | this.data = |
| | | { |
| | | id: null, |
| | | idcard: '11111', |
| | | name: '李四', |
| | | institutionalName: '链工宝', |
| | | batchList: [ |
| | | { |
| | | batchName: 'xxxx', |
| | | createTime: 'xxxx', |
| | | courseList: [ |
| | | { |
| | | courseName: 'xx', |
| | | lessonNum: 100, |
| | | duration: 90, |
| | | durationRate: 90, |
| | | chapterList: [ |
| | | { |
| | | chapterName: '第5章:章节名称', |
| | | lessonTocal: 20, |
| | | lessonNum: 10 |
| | | }, |
| | | { |
| | | chapterName: '第1章:章节名称', |
| | | lessonTocal: 80, |
| | | lessonNum: 80 |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | courseName: 'xx', |
| | | lessonNum: 100, |
| | | duration: 90, |
| | | durationRate: 90, |
| | | chapterList: [ |
| | | { |
| | | chapterName: '第5章:章节名称', |
| | | lessonTocal: 20, |
| | | lessonNum: 10 |
| | | }, |
| | | { |
| | | chapterName: '第1章:章节名称', |
| | | lessonTocal: 80, |
| | | lessonNum: 80 |
| | | }, |
| | | ] |
| | | } |
| | | ] |
| | | }, |
| | | // this.data = |
| | | // { |
| | | // id: null, |
| | | // idcard: '11111', |
| | | // name: '李四', |
| | | // institutionalName: '链工宝', |
| | | // batchList: [ |
| | | // { |
| | | // batchName: 'xxxx', |
| | | // createTime: 'xxxx', |
| | | // courseList: [ |
| | | // { |
| | | // courseName: 'xx', |
| | | // lessonNum: 100, |
| | | // duration: 90, |
| | | // durationRate: 90, |
| | | // chapterList: [ |
| | | // { |
| | | // chapterName: '第5章:章节名称', |
| | | // lessonTocal: 20, |
| | | // lessonNum: 10 |
| | | // }, |
| | | // { |
| | | // chapterName: '第1章:章节名称', |
| | | // lessonTocal: 80, |
| | | // lessonNum: 80 |
| | | // }, |
| | | // ] |
| | | // }, |
| | | // { |
| | | // courseName: 'xx', |
| | | // lessonNum: 100, |
| | | // duration: 90, |
| | | // durationRate: 90, |
| | | // chapterList: [ |
| | | // { |
| | | // chapterName: '第5章:章节名称', |
| | | // lessonTocal: 20, |
| | | // lessonNum: 10 |
| | | // }, |
| | | // { |
| | | // chapterName: '第1章:章节名称', |
| | | // lessonTocal: 80, |
| | | // lessonNum: 80 |
| | | // }, |
| | | // ] |
| | | // } |
| | | // ] |
| | | // }, |
| | | // |
| | | // ] |
| | | // } |
| | | // this.total = 1; |
| | | realTimeQuery( this.queryParams).then((res) => { |
| | | if (res.code == 200) { |
| | | this.data = res.data |
| | | if(res.data ){ |
| | | const batchList = res.data.batchList?.map(item => { |
| | | return { |
| | | ...item, |
| | | courseList:item.courseList.map(c => { |
| | | return { |
| | | ...c, |
| | | durationRate: Math.round( c.coCompleteLessonNum/c.courseLessonNum *10000 ) /100 |
| | | |
| | | ] |
| | | } |
| | | this.total = 1; |
| | | // listCourse( this.queryParams).then((res) => { |
| | | // if (res.code == 200) { |
| | | // this.expertList = res.rows.map(item => { |
| | | // return { |
| | | // ...item, |
| | | // courseNum: item.outline ? item.outline.length : '' |
| | | // } |
| | | // }) |
| | | // } |
| | | // }) |
| | | }) |
| | | } |
| | | }) |
| | | this.data.batchList = batchList |
| | | this.show = true |
| | | }else { |
| | | this.show = false |
| | | } |
| | | |
| | | |
| | | // this.total = res.total |
| | | } |
| | | console.log('res',this.data) |
| | | }) |
| | | }, |
| | | getPlat() { |
| | | listPlatSelect().then((res) => { |
| | |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | ::v-deep .el-form-item__content{ |
| | | font-size: 16px; |
| | | } |
| | | </style> |
| | |
| | | </div> |
| | | <el-table v-loading="loading" :data="expertList"> |
| | | <el-table-column label="姓名" align="center" prop="name" /> |
| | | <el-table-column label="身份证号" align="center" prop="idcard" :show-overflow-tooltip="true" /> |
| | | <el-table-column label="身份证号" align="center" prop="idcard" :show-overflow-tooltip="true" width="170" /> |
| | | <el-table-column label="性别" align="center" prop="sex" > |
| | | <template #default="scope"> |
| | | <span>{{scope.row.sex == 1 ? '男' : scope.row.sex == 2?'女':'未知'}}</span> |