zhouwx
2024-11-11 da05b26e60136f91fda4be7f960ed0eb2b16bfab
src/views/onlineEducation/count/index.vue
@@ -1,21 +1,25 @@
<template>
  <div class="app-container">
    <div style="margin-bottom: 10px">
    <div>
      <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%"
              v-loadMore="loadMore"
              class="m-2"
              placeholder="请选择所属企业"
              popper-class="more_select_dropdown"
              v-model="state.queryParams.companyName"
              filterable
              remote
              @change="selectValue"
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              :loading="loadingCompany"
              style="width: 240px"
          >
            <el-option
                v-for="item in state.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
                :value="item.name"
            />
          </el-select>
        </el-form-item>
@@ -121,9 +125,9 @@
  const userInfo = JSON.parse(Cookies.get('userInfo'))
  console.log("userInfo",userInfo)
  state.isAdmin = userInfo.userType === 0;
  if(state.isAdmin){
    getCompanyList();
  }
  // if(state.isAdmin){
  //   getCompanyList();
  // }
  getList();
@@ -135,7 +139,7 @@
    state.dataList = res.data.list.map(item => {
      return {
        ...item,
        passRate: item.passStudentCount!=null && item.paperStudentCount!=null ? (item.passStudentCount / item.paperStudentCount).toFixed(2) *100 + '%': ''
        passRate: item.passStudentCount  && item.paperStudentCount ? (item.passStudentCount / item.paperStudentCount).toFixed(2) *100 + '%': item.passStudentCount == 0  && item.paperStudentCount == 0? '0%': ''
      }
    })
@@ -145,50 +149,49 @@
  }
  loading.value = false;
}
const selectValue = (val) => {
  state.companyList.forEach(item => {
    if(item.name === val){
      state.queryParams.companyId = item.id
    }
  })
}
const finshed = ref(false)
const getCompanyList = async (type)=>{
  if (type === 'open' && state.pageNum !== 1) {
  } else {
const loadingCompany = ref(false)
const getCompanyList = async (val)=>{
  if(val != ""){
    loadingCompany.value = true;
    const queryParams = {
      pageNum: state.pageNum,
      pageSize: state.pageSize,
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      if (res.data.pageNum === state.pageNum) {
        finshed.value = false;
        if (state.pageNum == 1) {
          state.companyList = res.data.list
        } else {
          state.companyList = state.companyList.concat(res.data.list)
        }
      } else {
        finshed.value = true;
      }
      loadingCompany.value = false;
      state.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
    console.log("state.companyList",state.companyList)
  }
}
//触底函数
const loadMore = () => {
  console.log(' 触底了');
  // 防抖处理
  setTimeout(() => {
    if (finshed.value) return //值为true,则代表没有数据了
    state.pageNum += 1
    getCompanyList('')
  }, 500)
}
// const loadMore = () => {
//   console.log(' 触底了');
//   // 防抖处理
//   setTimeout(() => {
//     if (finshed.value) return //值为true,则代表没有数据了
//     state.pageNum += 1
//     // 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}`
  const end = new Date();
  const start = new Date();
  start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  const sTime = moment(start).format('YYYY-MM-DD')
  const eTime = moment(end).format('YYYY-MM-DD')
  searchTime.value = [sTime,eTime];
  state.queryParams.startTime = searchTime.value[0]+' 00:00:00'
  state.queryParams.endTime = searchTime.value[1]+' 00:00:00'
@@ -221,6 +224,7 @@
    pageSize: 10,
  }
  searchTime.value = [];
  state.companyList = [];
  getList();
}