zhouwx
2025-01-06 c3bb35b20d6e076f73a1cad50fd6b9b94ca399a7
src/views/onlineEducation/studentSupervision/index.vue
@@ -1,7 +1,7 @@
<template>
  <div class="app-container">
    <div style="display: flex">
     <el-input placeholder="请输入身份证号" v-model="queryParams.idCard" style="width: 250px"></el-input>
     <el-input placeholder="请输入身份证号" v-model="queryParams.idcard" style="width: 250px"></el-input>
      <el-input placeholder="请输入姓名" v-model="queryParams.name" style="width: 250px;margin-left: 20px"></el-input>
      <el-button
        size="small"
@@ -18,25 +18,29 @@
    </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="sex" />
      <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>
        </template>
      </el-table-column>
      <el-table-column label="手机号" align="center" prop="phone" />
      <el-table-column label="实名认证照" align="center" prop="photo" >
      <el-table-column label="实名认证照" align="center" prop="photo" width="120" >
        <template #default="scope">
          <el-image
            style="width: 100px; height: 100px"
            :src="scope.row.photo"
            :preview-src-list="[scope.row.photo]">
            :src="scope.row.authPhoto"
            :preview-src-list="[scope.row.authPhoto]">
          </el-image>
        </template>
      </el-table-column>
      <el-table-column label="当前归属单位" align="center" prop="unit" />
      <el-table-column label="当前归属单位" align="center" prop="trainOrgName" />
      <el-table-column label="行业" align="center" prop="industry" />
      <el-table-column label="工种" align="center" prop="job" />
      <el-table-column label="初次上报平台" align="center" prop="platform" />
      <el-table-column label="上报时间" align="center" prop="reportTime" />
      <el-table-column label="最近更新平台" align="center" prop="updatePlatform" />
      <el-table-column label="最新更新时间" align="center" prop="updateTime" />
      <el-table-column label="工种" align="center" prop="occupation" />
      <el-table-column label="初次上报平台" align="center" prop="createBy" />
      <el-table-column label="上报时间" align="center" prop="createTime" width="100" />
      <el-table-column label="最近更新平台" align="center" prop="updateBy" />
      <el-table-column label="最新更新时间" align="center" prop="updateTime" width="100" />
      <el-table-column label="历史记录" align="center" class-name="small-padding fixed-width">
        <template #default="scope">
          <el-button
@@ -55,31 +59,45 @@
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageIndex"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <learning-record ref="learnRef" ></learning-record>
    <el-dialog
      title="学习记录"
      :visible.sync="learningDialog"
      :modal-append-to-body="false"
      :close-on-click-modal="false"
      width="900px"
      append-to-body
      :before-close="handleCloseLearning">
      <learning ref="learnRef" ></learning>
    </el-dialog>
    <el-dialog
      title="考试记录"
      :visible.sync="dialogVisible"
      :modal-append-to-body="false"
      :close-on-click-modal="false"
      width="850px"
      width="900px"
      :before-close="handleClose">
      <exam-manage ref="examManageRef"></exam-manage>
      <examRecord ref="examRef" ></examRecord>
    </el-dialog>
  </div>
</template>
<script>
import examManage from '@/views/onlineEducation/examManage/index.vue'
import learningRecord from '@/views/onlineEducation/studentSupervision/compontents/learningRecord.vue'
import examRecord from '../studentSupervision/compontents/examlRecord.vue'
import learning from '../studentSupervision/compontents/learningRecord.vue'
import { listStudent } from '@/api/onlineEducation/student'
import noPic from '@/assets/images/none.png'
import Cookies from 'js-cookie'
import { listPlat } from '@/api/onlineEducation/plat'
export default {
  name: "nPeopleManage",
  dicts: [],
  components: {learningRecord,examManage},
  components: {learning,examRecord},
  data() {
    return {
      loading: false,
@@ -90,8 +108,14 @@
      total: 0,
      expertTypes: [],
      expertList: [],
      queryParams: {},
      dialogVisible:false
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        idcard: '',
        name: ''
      },
      dialogVisible:false,
      learningDialog: false
    };
  },
  created() {
@@ -101,42 +125,18 @@
  methods: {
    getList(){
      this.loading = true;
      this.expertList = [
        {
          id: 1,
          name: '张三',
          sex: '男',
          idCard: '321154874512225541',
          phone:'13587452145',
          photo: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
          unit: '培训机构',
          industry: 'xxx',
          job: 'xxx',
          platform: '测试平台1',
          reportTime: '2024-6-11 10:32:00',
          updatePlatform: '测试平台2',
          updateTime: '2024-6-11 13:32:00'
        },
        {
          id: 2,
          name: '李四',
          sex: '女',
          idCard: '321154874512225541',
          phone:'13587452145',
          photo: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
          unit: '培训机构',
          industry: 'xxx',
          job: 'xxx',
          platform: '测试平台1',
          reportTime: '2024-6-11 10:32:00',
          updatePlatform: '测试平台2',
          updateTime: '2024-6-11 13:32:00'
        },
      ]
      this.total = 2;
      this.loading = false;
      listStudent( this.queryParams).then((res) => {
        if (res.code == 200) {
          this.expertList = res.rows.map(item => {
            return {
              ...item,
              authPhoto: item.authPhoto !='-' ? item.authPhoto : noPic,
            }
          })
          this.total = res.total
          this.loading = false;
        }
      })
    },
    handleChange(){
@@ -154,14 +154,29 @@
      this.getList()
    },
    viewLearnRecord(data){
      this.$refs.learnRef.openDialog(data)
      this.learningDialog = true
      Cookies.set('learnRecord',true)
      setTimeout(() => {
        this.$refs.learnRef.getList(data)
      },10)
    },
    viewExamRecord(data){
      this.dialogVisible = true
      Cookies.set('examRecord',true)
      setTimeout(() => {
        this.$refs.examRef.getList(data)
      },10)
    },
    handleClose() {
      Cookies.remove('examRecord')
      this.dialogVisible = false;
    },
    handleCloseLearning() {
      Cookies.remove('learnRecord')
      this.learningDialog = false;
    }
  }
};
</script>