zhouwx
2024-07-31 0237572858628fec8fa83d48d44d34478e0146fb
bug修改
已修改7个文件
209 ■■■■ 文件已修改
src/views/onlineEducation/classHourBatch/components/handleStudent.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/classHourBatch/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/courseManage/components/courseManageDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/courseManage/index.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/groupExams/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/questionBankManagement/questionManage/index.vue 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/systemManage/user/components/userDialog.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/classHourBatch/components/handleStudent.vue
@@ -47,7 +47,17 @@
      <el-table-column label="批次名称" prop="phaseName" align="center"  />
      <el-table-column label="学员名称" prop="studentName" align="center"  />
      <el-table-column label="手机号" prop="studentPhone" align="center"  />
      <el-table-column label="总进度" prop="totalProgress" align="center"  />
      <el-table-column label="总进度" prop="totalProgress" align="center" >
        <template #default="scope">
          <el-progress
              v-if="scope.row.totalProgress>=0"
              :text-inside="true"
              :stroke-width="24"
              :percentage="scope.row.totalProgress"
              :status="scope.row.totalProgress <= 50 ? 'exception' : scope.row.totalProgress > 50 && scope.row.totalProgress <= 80 ? 'warning':'success'"
          />
        </template>
      </el-table-column>
      <el-table-column label="开始学习时间" prop="startTime" align="center"  />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  width="180">
        <template #default="scope">
src/views/onlineEducation/classHourBatch/index.vue
@@ -207,9 +207,14 @@
      })
}
const toStuChoose = (val) => {
  val.pageNum = data.queryParams.pageNum;
  val.pageSize = data.queryParams.pageSize
  const v = JSON.stringify(val)
  const obj = {
    pageNum: data.queryParams.pageNum,
    pageSize: data.queryParams.pageSize,
    id: val.id
  }
  // val.pageNum = data.queryParams.pageNum;
  // val.pageSize = data.queryParams.pageSize
  const v = JSON.stringify(obj)
  router.push({ path: "/chooseStu", query: { val: v } });
}
src/views/onlineEducation/courseManage/components/courseManageDialog.vue
@@ -151,6 +151,7 @@
    const res = await getCourseById(value.id);
    if(res.code === 200){
      state.form = res.data
      state.form.companyName = res.data.companyName ? res.data.companyName : '公开课'
      console.log("11",res.data)
      if(res.data.logo) {
        const obj = {
src/views/onlineEducation/courseManage/index.vue
@@ -13,6 +13,16 @@
        <el-form-item label="课程名称:" >
          <el-input v-model="data.queryParams.name" placeholder="请输入课程名称"></el-input>
        </el-form-item>
        <el-form-item label="审核状态:" >
          <el-select v-model="data.queryParams.state" placeholder="请选择审核状态" clearable>
            <el-option
                v-for="item in data.stateList"
                :key="item.id"
                :label="item.name"
                :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item >
          <el-button
              type="primary"
@@ -56,7 +66,16 @@
      <el-table-column label="提交单位" prop="companyName" align="center" />
      <el-table-column label="审核状态" prop="state" align="center" >
        <template #default="scope">
          <span>{{scope.row.state == 0?'待提交':scope.row.state == 1?'待审核':scope.row.state == 2?'审批通过':'审批不通过'}}</span>
          <el-tooltip
              v-if="scope.row.state == 3 && scope.row.message !=''"
              class="box-item"
              effect="dark"
              :content="scope.row.message"
              placement="top"
          >
            <span>审批不通过</span>
          </el-tooltip>
          <span v-else>{{scope.row.state == 0?'待提交':scope.row.state == 1?'待审核':scope.row.state == 2?'审批通过':'审批不通过'}}</span>
        </template>
      </el-table-column>
      <el-table-column label="创建时间" prop="createTime" align="center" width="180" />
@@ -140,10 +159,17 @@
    />
    <course-manage-dialog ref="dialogRef" @getList=getList></course-manage-dialog>
    <el-dialog v-model="data.appDialog" title="审批课程" width="30%" center align-center>
      <el-form>
        <el-form-item label="审批课程:">
      <el-radio-group v-model="data.appoveForm.state" style="width: 100%">
        <el-radio :label="2" size="large" border>通过</el-radio>
        <el-radio :label="3" size="large" border>驳回</el-radio>
      </el-radio-group>
        </el-form-item>
        <el-form-item label="审批意见:" v-if="data.appoveForm.state == 3">
          <el-input v-model="data.appoveForm.message"  type="textarea"  maxlength="50" show-word-limit placeholder="请输入审批意见"></el-input>
        </el-form-item>
      </el-form>
      <template #footer>
            <span class="dialog-footer">
              <el-button @click="data.appDialog = false">取消</el-button>
@@ -173,7 +199,8 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    name: ''
    name: '',
    state: null
  },
  total: 0,
  dataList: [],
@@ -181,8 +208,27 @@
  appDialog: false,
  appoveForm: {
    id: null,
    state: null
    state: null,
    message: ''
  },
  stateList: [
    {
      id: 0,
      name: '待提交'
    },
    {
      id: 1,
      name: '待审核'
    },
    {
      id: 2,
      name: '审批通过'
    },
    {
      id: 3,
      name: '审批不通过'
    },
  ]
});
const { queryParams, total, dataList } = toRefs(data);
@@ -217,6 +263,7 @@
      return {
        ...item,
        logo: item.logo ?[import.meta.env.VITE_APP_BASE_API + "/" +  item.logo] : [],
        companyName: item.companyName ? item.companyName : '公开课'
      }
    })
    console.log("ddd",data.dataList)
@@ -236,7 +283,8 @@
  data.queryParams = {
    pageNum: 1,
    pageSize: 10,
    name: ''
    name: '',
    state: null
  }
  getList()
}
@@ -285,7 +333,8 @@
const openApprove  = (val) => {
  data.appoveForm = {
    id: null,
    state: null
    state: null,
    message: ''
  }
  data.appoveForm.id = val.id
  data.appDialog = true
src/views/onlineEducation/groupExams/index.vue
@@ -212,9 +212,14 @@
      })
}
const toStuChoose = (val) => {
  val.pageNum = data.queryParams.pageNum;
  val.pageSize = data.queryParams.pageSize
  const v = JSON.stringify(val)
  const obj = {
    pageNum: data.queryParams.pageNum,
    pageSize: data.queryParams.pageSize,
    id: val.id
  }
  // val.pageNum = data.queryParams.pageNum;
  // val.pageSize = data.queryParams.pageSize
  const v = JSON.stringify(obj)
  router.push({ path: "/examStu", query: { val: v } });
}
const viewQuestion = (val) => {
src/views/onlineEducation/questionBankManagement/questionManage/index.vue
@@ -33,11 +33,14 @@
          <el-select
              clearable
              v-model="data.queryParams.bankId"
              style="width: 200px"
              v-loadMoreNew:[reselect]="handleScroll"
              :popper-class="reselect.name"
              class="item-width"
              filterable
              remote
              reserve-keyword
              placeholder="请选择题库"
              remote-show-suffix
              :remote-method="getBankList"
              :loading="loading"
              style="width: 200px"
          >
            <el-option
                v-for="item in data.bankList"
@@ -46,6 +49,22 @@
                :value="item.id"
            />
          </el-select>
<!--          <el-select-->
<!--              clearable-->
<!--              v-model="data.queryParams.bankId"-->
<!--              style="width: 200px"-->
<!--              v-loadMoreNew:[reselect]="handleScroll"-->
<!--              :popper-class="reselect.name"-->
<!--              class="item-width"-->
<!--              placeholder="请选择题库"-->
<!--          >-->
<!--            <el-option-->
<!--                v-for="item in data.bankList"-->
<!--                :key="item.id"-->
<!--                :label="item.name"-->
<!--                :value="item.id"-->
<!--            />-->
<!--          </el-select>-->
        </el-form-item>
        <el-form-item>
          <el-button type="primary"  @click="handleQuery">查询</el-button>
@@ -91,6 +110,7 @@
import Cookies from "js-cookie";
import {delQuestion, getQuestion} from "@/api/onlineEducation/question";
import {getQuestionBank} from "@/api/onlineEducation/questionBank";
import {getCompany} from "@/api/onlineEducation/company";
const { proxy } = getCurrentInstance();
@@ -141,7 +161,7 @@
    data.isAdmin = false;
  }
  await getList()
  await loadMoreBankData()
  await getBankList("")
})
onUnmounted(()=>{
@@ -161,27 +181,56 @@
  loading.value = false
}
const handleScroll = () => {
  if(data.bankPageNum >= data.hasMoreItems) return
  data.bankPageNum++;
  loadMoreBankData()
}
const loadMoreBankData = async () => {
  console.log(' Bank');
// const handleScroll = () => {
//
//   if(data.bankPageNum >= data.hasMoreItems) return
//   data.bankPageNum++;
//   loadMoreBankData()
//
// }
// const loadMoreBankData = async () => {
//   console.log(' Bank');
//   const queryParams = {
//     pageNum: data.bankPageNum,
//     pageSize: data.bankPageSize,
//   }
//   const res = await getQuestionBank(queryParams)
//   if (res.code == 200) {
//     data.hasMoreItems = res.data.totalPage
//     const state = res.data
//     data.bankList = data.bankList.concat(state.list)
//   }else{
//     ElMessage.warning(res.message)
//   }
// }
const getBankList = async (val)=>{
  if(val != ""){
    loading.value = true;
  const queryParams = {
    pageNum: data.bankPageNum,
    pageSize: data.bankPageSize,
      name: val
  }
  const res = await getQuestionBank(queryParams)
  if (res.code == 200) {
    data.hasMoreItems = res.data.totalPage
    const state = res.data
    data.bankList = data.bankList.concat(state.list)
      loading.value = false;
      data.bankList = res.data.list
  }else{
    ElMessage.warning(res.message)
  }
  }else {
    loading.value = true;
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getQuestionBank(queryParams)
    if (res.code == 200) {
      loading.value = false;
      data.bankList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const handleQuery = () => {
src/views/onlineEducation/systemManage/user/components/userDialog.vue
@@ -50,6 +50,7 @@
        </el-form-item>
        <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && showCompany">
          <el-select
              clearable
              v-if="state.isAdmin"
              v-model="state.form.companyName"
              filterable
@@ -102,7 +103,7 @@
              style="width: 45%;"
              filterable
              remote
              searchKey="name"
              searchKey="username"
              :methods="getUser">
          </scorllSelect>
        </el-form-item>
@@ -263,9 +264,9 @@
  }
  if(type !== 'view' && type !== 'pwd'){
    if(state.isAdmin){
      // await getCompanyList('open')
    }
    // if(state.isAdmin){
    //   await getCompanyList("")
    // }
  }
  state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ;
  if(type === 'edit' || type === 'view') {
@@ -310,6 +311,20 @@
    loading.value = true;
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      loading.value = false;
      state.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    loading.value = true;
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
@@ -398,8 +413,11 @@
  }
  scrollRef.value.getList(param,'change');
}
const changeType = () => {
const changeType = async (val) => {
  state.companyList = [];
  if(state.isAdmin && val !=0){
    await getCompanyList("")
  }
  state.form.parentId = null;
  state.form.parentName = '';
  state.form.companyId = null;