zhouwx
2024-07-31 75271baf2b4dba13087674f020afbc7b08a83482
修改
已修改3个文件
181 ■■■■ 文件已修改
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/classBatch/index.vue 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/count/index.vue 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -48,6 +48,7 @@
    "js-beautify": "1.13.0",
    "js-cookie": "3.0.1",
    "jsencrypt": "3.0.0-rc.1",
    "moment": "^2.30.1",
    "nprogress": "0.2.0",
    "quill": "1.3.7",
    "screenfull": "5.0.2",
src/views/onlineEducation/classBatch/index.vue
@@ -9,6 +9,33 @@
          :value="item.id">
        </el-option>
      </el-select>
      <el-date-picker
        v-model="time"
        size="small"
        type="daterange"
        range-separator="至"
        start-placeholder="开始日期"
        end-placeholder="结束日期"
        value-format="yyyy-MM-DD"
        style="margin-left: 40px;"
      >
      </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-button
        size="small"
        type="primary"
@@ -27,6 +54,9 @@
      <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="createTime" />
      <el-table-column label="所属培训机构" align="center" prop="trainOrgName" />
      <el-table-column label="课程" align="center" >
@@ -88,12 +118,14 @@
import classHour from '@/views/onlineEducation/classBatch/components/classHour.vue'
import { listBatch, listQuestion } from '@/api/onlineEducation/student'
import { listPlatSelect } from '@/api/onlineEducation/plat'
import moment from 'moment/moment'
export default {
  name: "nPeopleManage",
  dicts: [],
  components: { courseDialog,studentList,classHour},
  data() {
    return {
      time: [],
      loading: false,
      single: true,
      multiple: true,
@@ -105,20 +137,59 @@
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        institutionId: ''
        institutionId: '',
        startTime: '',
        endTime: '',
        qualificationType: null,
        trainOrgId: null
      },
      qualificationList: [
        {
          id: 1,
          name: '主要负责人'
        },
        {
          id: 2,
          name: '安全生产管理人员'
        },
        {
          id: 3,
          name: '特种作业人员'
        }
      ],
      trainOrgList: []
    };
  },
  created() {
    this.setDate();
    this.getList();
    this.getPlat();
  },
  methods: {
    setDate(){
      const end = new Date();
      const start = new Date();
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
      const s = moment(start).format('YYYY-MM-DD')
      const e = moment(end).format('YYYY-MM-DD')
      this.time = [s,e]
    },
    getList(){
      // 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) {
          this.expertList = res.rows
          this.expertList = res.rows.map(item => {
            return {
              ...item,
              trainOrgName: item.trainOrgName ? item.trainOrgName : '--',
              startTime: item.startTime ? item.startTime : '--',
              endTime: item.endTime ? item.endTime : '--',
              category: item.category ? item.category : '--'
            }
          })
          this.total = res.total
          this.loading = false;
        }
@@ -142,8 +213,13 @@
      this.queryParams = {
        pageNum: 1,
        pageSize: 10,
        platform: ''
        institutionId: '',
        startTime: '',
        endTime: '',
        qualificationType: null,
        trainOrgId: null
      }
      this.time = [];
      this.getList();
    },
    handleViewCourse(data){
src/views/onlineEducation/count/index.vue
@@ -7,14 +7,24 @@
        type="daterange"
        range-separator="至"
        start-placeholder="开始日期"
        end-placeholder="结束日期">
        end-placeholder="结束日期"
        format="yyyy-MM-dd"
      >
      </el-date-picker>
      <el-select v-model="queryParams.object"  size="small" style="margin-left: 40px" placeholder="请选择科目">
      <el-select v-model="queryParams.qualificationType"  size="small" style="margin-left: 40px;" clearable placeholder="请选择资格类型">
        <el-option
          v-for="item in objectList"
          :key="item.value"
          :label="item.label"
          :value="item.value">
          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-button
@@ -32,10 +42,8 @@
    </div>
    <el-table v-loading="loading" :data="expertList">
      <el-table-column label="平台" align="center" prop="name" />
      <el-table-column label="机构" align="center" prop="organization" />
      <el-table-column label="培训总人数" align="center" prop="pTotal" />
      <el-table-column label="总时长" align="center" prop="tTotal" />
      <el-table-column label="培训学时达标人数" align="center" prop="timeQualifyNum" />
      <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>
@@ -50,6 +58,8 @@
</template>
<script>
import moment from 'moment'
export default {
  name: "count",
  components: {},
@@ -72,38 +82,63 @@
        },
      ],
      expertList: [],
      queryParams: {},
      time: []
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        startTime: '',
        endTime: '',
        qualificationType: null,
        trainOrgId: null
      },
      time: [],
      qualificationList: [
        {
          id: 1,
          name: '主要负责人'
        },
        {
          id: 2,
          name: '安全生产管理人员'
        },
        {
          id: 3,
          name: '特种作业人员'
        }
      ],
      trainOrgList: []
    };
  },
  created() {
    this.setDate()
    this.getList()
  },
  methods: {
    setDate(){
      const end = new Date();
      const start = new Date();
      start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
      console.log('11',start,end)
      const s = moment(start).format('YYYY-MM-DD')
      const e = moment(end).format('YYYY-MM-DD')
      this.time = [s,e]
    },
    getList(){
      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: '测试数据1',
          name: '链工宝',
          organization: '测试机构1',
          pTotal: 40,
          tTotal: 80,
          timeQualifyNum: 38,
          examQualifyNum: 35,
          passRate: '87.5%'
          pTotal: '--',
          tTotal: '--',
          examQualifyNum: '--',
          passRate: '--'
        },
        {
          id: 2,
          name: '测试数据2',
          organization: '测试机构3',
          pTotal: 30,
          tTotal: 50,
          timeQualifyNum: 30,
          examQualifyNum: 30,
          passRate: '100%'
        }
      ]
      this.total = 2;
      this.loading = false;
@@ -120,9 +155,10 @@
      this.queryParams = {
        pageNum: 1,
        pageSize: 10,
        object: '',
        startTime: '',
        endTime: ''
        endTime: '',
        qualificationType: null,
        trainOrgId: null
      }
      this.time = []
      this.getList()