{"version":3,"file":"list.bf53c754.mjs","sources":["../../../../assets/paper/chapter_minus.svg","../../../../assets/paper/chapter_plus.svg","../../../../assets/paper/chapter_child.svg","../../../../assets/pc/daily_png.png","../../../../assets/pc/emigrated_png.png","../../../../components/paper/practice.vue","../../../../assets/error_question.svg","../../../../assets/error_collect.svg","../../../../pages/exam/list.vue"],"sourcesContent":["export default \"__VITE_ASSET__96fdf2c8__\"","export default \"__VITE_ASSET__54b49a3d__\"","export default \"__VITE_ASSET__7c8cd475__\"","export default \"__VITE_ASSET__084d6973__\"","export default \"__VITE_ASSET__9869f843__\"","<template>\n<div class=\"paper_list\" :class=\"{table:tabs == 2}\" v-if=\"list && list.length > 0\">\n  <template v-if=\"tabs == 2\">\n    <div class=\"header_cell_list\">\n      <div class=\"header_cell_item long\">名称</div>\n      <div class=\"header_cell_item\">已做/总题</div>\n      <div class=\"header_cell_item\">已做题正确率</div>\n      <div class=\"header_cell_item small\">操作</div>\n    </div>\n    <div class=\"table_cell_list\" v-for=\"(item,index) in list\" :key=\"index\">\n      <div class=\"table_cell_item\">\n        <div class=\"table_cell_column long\">\n          <div class=\"chapter_wrapper\" @click=\"item.show = !item.show\">\n            <img v-if=\"item.show\" src=\"@/assets/paper/chapter_minus.svg\" class=\"mgr10 cu\"/>\n            <img v-else src=\"@/assets/paper/chapter_plus.svg\" class=\"mgr10 cu\"/>\n            <div class=\"chapter_title\">{{item.practiceName}}</div>\n            <span class=\"valid_text\" v-if=\"checkValidate(item) > 1\">{{ checkValidate(item) === 2 ? item.endTime.slice(0, 10) + '生效' : '已过期'}}</span>\n          </div>\n        </div>\n        <div class=\"table_cell_column\">{{item.practiceTitleCount || 0}}/{{item.questionCount}}</div>\n        <div class=\"table_cell_column\">{{item.correctRate || '0%'}}</div>\n        <div class=\"table_cell_column small\">\n          <el-button\n            :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n            :disabled=\"checkValidate(item) > 1\"\n            @click=\"handleBuy(item)\"\n            v-if=\"!item.isPay && item.price > 0\"\n          >付费</el-button>\n          <!--<el-button type=\"success\" @click=\"handleLearn(item,'chapter_parents')\" v-else-if=\"item.userPracticeStatus === 2\">继续练习</el-button>\n          <template v-else-if=\"item.userPracticeStatus === 3\">\n            <el-button plain type=\"primary\" @click=\"handleReplace(item,'chapter_parents')\">重做</el-button>\n          </template>\n          <el-button type=\"primary\" @click=\"handleLearn(item,'chapter_parents')\" v-else>开始练习</el-button>-->\n        </div>\n      </div>\n      <template v-if=\"item.show\">\n        <div class=\"children_list\">\n        <div class=\"table_cell_item children\" v-for=\"(row,i) in item.practiceTitleInfoList\" :key=\"i\">\n          <div class=\"table_cell_column long\">\n            <div class=\"chapter_wrapper\">\n              <img src=\"@/assets/paper/chapter_child.svg\" class=\"mgr10\"/>\n              <div class=\"chapter_title\">{{row.titleName}}</div>\n              <span class=\"valid_text\" v-if=\"checkValidate(item) > 1\">{{ checkValidate(item) === 2 ? item.endTime.slice(0, 10) + '生效' : '已过期'}}</span>\n            </div>\n          </div>\n          <div class=\"table_cell_column\">{{row.hasDoneQuestionNum || 0}}/{{row.questionCount}}</div>\n          <div class=\"table_cell_column\">{{row.correctRate || '0%'}}</div>\n          <div class=\"table_cell_column small\">\n            <template v-if=\"item.price === 0 || (item.price > 0 && item.isPay)\">\n              <el-button\n                :disabled=\"checkValidate(item) > 1\"\n                :type=\"checkValidate(item) > 1 ? 'info' : 'success'\"\n                @click=\"handleLearn(row,'chapter',item)\"\n                v-if=\"row.userPracticeStatus === 2\"\n              >继续练习</el-button>\n              <template v-else-if=\"row.userPracticeStatus === 3\">\n                <el-button\n                  :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n                  :disabled=\"checkValidate(item) > 1\"\n                  :plain=\"checkValidate(item) === 1\"\n                  @click=\"handleReplace(row,'chapter',item)\"\n                >重做</el-button>\n              </template>\n              <el-button\n                :disabled=\"checkValidate(item) > 1\"\n                :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n                @click=\"handleLearn(row,'chapter',item)\"\n                v-else\n              >开始做题</el-button>\n            </template>\n          </div>\n        </div>\n        </div>\n      </template>\n    </div>\n   </template>\n  <template v-if=\"tabs == 1 || tabs == 3\">\n    <div class=\"paper_item\" v-for=\"(item,index) in list\" :key=\"index\">\n      <div class=\"paper_item_left\">\n        <div class=\"item_left\">\n          <img src=\"@/assets/pc/daily_png.png\" v-if=\"tabs == 1\"/>\n          <img src=\"@/assets/pc/emigrated_png.png\" v-else/>\n        </div>\n        <div class=\"item_right\">\n          <div class=\"practice_title\">{{item.practiceName}}</div>\n          <div class=\"practice_msg\">\n            <span class=\"practice_msg_span\">共{{item.questionCount}}题</span>\n            <span class=\"practice_msg_span\" v-if=\"store && store.shopData && store.shopData.config && store.shopData.config.showLearnUserCount && store.shopData.config.showExamLearnUserCount\">共{{item.peopleNum || item.participateCount}}人做过</span>\n            <span class=\"practice_msg_span valid_text\" v-if=\"checkValidate(item) > 1\">{{ checkValidate(item) === 2 ? item.endTime.slice(0, 10) + '生效' : '已过期'}}</span>\n          </div>\n        </div>\n      </div>\n      <div class=\"paper_item_right\" v-if=\"tabs == 1 && (item.price === 0 || (item.price > 0 && item.isPay))\" >\n        <el-button\n          :disabled=\"checkValidate(item) > 1\"\n          :type=\"checkValidate(item) > 1 ? 'info' : 'success'\"\n          @click=\"handleLearn(item)\"\n          v-if=\"item.userPracticeStatus === 2\"\n        >继续练习</el-button>\n        <template v-else-if=\"item.userPracticeStatus === 3\">\n          <span class=\"c_999 mgr20 pointer\" @click=\"handleAnalysis(item)\" v-if=\"checkValidate(item) === 1\">查看解析</span>\n          <el-button\n            :disabled=\"checkValidate(item) > 1\"\n            :plain=\"checkValidate(item) === 1\"\n            :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n            @click=\"handleLearn(item)\"\n          >重做</el-button>\n        </template>\n        <el-button\n          :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n          :disabled=\"checkValidate(item) > 1\"\n          @click=\"handleLearn(item)\"\n          v-else\n        >开始练习</el-button>\n      </div>\n      <div class=\"paper_item_right\" v-else>\n        <el-button\n          :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n          :disabled=\"checkValidate(item) > 1\"\n          @click=\"handleBuy(item)\"\n          v-if=\"!item.isPay && item.price > 0\"\n        >付费</el-button>\n        <el-button\n          :type=\"checkValidate(item) > 1 ? 'info' : 'primary'\"\n          :disabled=\"checkValidate(item) > 1\"\n          @click=\"handleEmigrated(item)\"\n          v-else\n        >前往闯关</el-button>\n      </div>\n    </div>\n  </template>\n  <paper-redo-tip v-model=\"ctrl.redoCtr.visible\" @callback=\"handleCallback\" @close=\"ctrl.redoCtr.visible = false\"></paper-redo-tip>\n</div>\n</template>\n\n<script setup>\nimport {useUserStore} from \"../../stores/user\";\nimport {practiceCheckStatus, practiceRemoveTitleRecord, practiceRedo} from \"../../api/paper\";\nimport {setStore} from \"../../utils/storage\";\nimport {ElMessageBox} from \"element-plus\";\nimport {onMounted, reactive, computed} from \"vue\";\n\nconst route = useRoute();\nconst router = useRouter();\nconst store = useUserStore()\nconst {getEnumList} = store\nconst token = computed(()=>store.token)\nconst props = defineProps({\n  list:{\n    type:Array,\n    default:[]\n  },\n  categoryId:{\n    type:String,\n    default:''\n  },\n  tabs:{\n    type:[String, Number],\n    default:''\n  },\n  categoryList:{\n    type:Array,\n    default:[]\n  }\n})\nconst opts = reactive({\n  userPracticeStatusEnum:{}\n})\nconst ctrl = reactive({\n  redoCtr: {\n    visible: false,\n    data: {},\n    type: '',\n    parents: {}\n  }\n})\n// 有效期状态\nconst checkValidate = computed(() => {\n  return function(item) {\n    if(item.paperPracticeStatus === 2) {\n      return 3 //已过期\n    } else if(item.paperPracticeStatus === 1){\n      if(item.validityType === 2) {\n        const now = new Date().getTime()\n        const begin = new Date(item.beginTime).getTime()\n        if(now < begin) {\n          return 2 //未生效\n        } else {\n          return 1 //处于有效期\n        }\n      } else {\n        return 1\n      }\n    } else {\n      return 1\n    }\n  }\n})\nonMounted(()=>{\n  getEnumList('UserPracticeStatusEnum','obj').then(res=>{\n    opts.userPracticeStatusEnum = res;\n  })\n})\nconst handleAnalysis = (data) => {\n  if(token.value){\n    router.push({\n      path: '/practice/analysis',\n      query: {\n        practiceId: data.id,\n        practiceRecordType: 2 //2,每日一练、3,章节练习 4,闯关练习\n      }\n    })\n  }else{\n    router.push({\n      path: '/login',\n      query: {\n        redirect: encodeURIComponent(route.fullPath)\n      }\n    })\n  }\n}\nconst getCategoryName = (id,list) => {\n  let name = ''\n  list.forEach(el=>{\n    if(!name && el.id === id){\n      name = el.categoryName\n    }\n    if(!name && el.childrenList && el.childrenList.length > 0){\n      name = getCategoryName(id,el.childrenList)\n    }\n  })\n  return name\n}\nconst handleEmigrated = (data) => {\n  if(token.value) {\n    let categoryName = getCategoryName(props.categoryId,props.categoryList)\n    router.push({\n      path: '/paper/emigrated',\n      query: {\n        practiceType: +props.tabs + 1,\n        practiceId: data.id,\n        categoryId:props.categoryId\n      }\n    })\n  }else{\n    router.push({\n      path: '/login',\n      query: {\n        redirect: encodeURIComponent(route.fullPath)\n      }\n    })\n  }\n}\nconst handleCallback = (bool) => {\n  const {data, type, parents} = ctrl.redoCtr\n  if(bool) { // 重做\n    //const d = {\n    //  practiceId:type === 'chapter_parents'?data.id:parents.id,\n    //  practiceType:props.tabs\n    //}\n    //if(props.tabs == 2) {\n    //  d.practiceTitleId = type === 'chapter_parents' ? data.practiceTitleInfoList[0].id : data.id\n    //}\n    //practiceCheckStatus(d).then(async (res)=> {\n    //  if(res) {\n        setStore('practiceInfo', data)\n        if(props.tabs == 1) {\n          practiceRedo({practiceId: data.id}) //重做每日一练前先清空练习记录\n          router.push({\n            path: '/practice/daily',\n            query: {\n              practiceType: +props.tabs + 1,\n              courseId: data.id,\n            }\n          })\n        }else if(props.tabs == 2){\n          if(type === 'chapter_parents'){\n            practiceRemoveTitleRecord({questionTitleId:data.practiceTitleInfoList[0].id})\n            router.push({\n              path: '/practice/daily',\n              query: {\n                practiceType: +props.tabs + 1,\n                courseId: data.id,\n                titleId:data.practiceTitleInfoList[0].id,\n                titleName:data.practiceTitleInfoList[0].titleName\n              }\n            })\n          }else{\n            setStore('practiceTitleInfoList', parents.practiceTitleInfoList)\n            practiceRemoveTitleRecord({questionTitleId:data.id})\n            router.push({\n              path: '/practice/daily',\n              query: {\n                practiceType: +props.tabs + 1,\n                courseId: parents.id,\n                titleId:data.id,\n                titleName:data.titleName\n              }\n            })\n          }\n        }\n    //  }\n    //})\n  } else { //看解析\n    router.push({\n      path: '/practice/analysis',\n      query: {\n        practiceId: parents.id,\n        practiceRecordType: 3, //2,每日一练、3,章节练习 4,闯关练习\n        practiceTitleId: data.id\n      }\n    })\n  }\n}\nconst handleReplace = (data,type,parents) => {\n  if(token.value){\n    ctrl.redoCtr.data = data\n    ctrl.redoCtr.type = type\n    ctrl.redoCtr.parents = parents\n    ctrl.redoCtr.visible = true\n  }else{\n    router.push({\n      path: '/login',\n      query: {\n        redirect: encodeURIComponent(route.fullPath)\n      }\n    })\n  }\n}\nconst handleLearn = (data,type,parents) => {\n  if (token.value) {\n    const d = {\n      practiceType: props.tabs\n    }\n    if(props.tabs == 1) {\n      d.practiceId = data.id\n    } else if(props.tabs == 2) {\n      if(type === 'chapter_parents') {\n        d.practiceId = data.id\n        d.practiceTitleId = data.practiceTitleInfoList[0].id\n      } else {\n        d.practiceId = parents.id\n        d.practiceTitleId = data.id\n      }\n    }\n    //practiceCheckStatus(d).then(async res=> {\n    //  if(res) {\n        setStore('practiceInfo', data)\n        if(props.tabs == 1) {\n          if(data.userPracticeStatus != 2) {\n            practiceRedo({practiceId: data.id})\n          }\n          router.push({\n            path: '/practice/daily',\n            query: {\n              practiceType: +props.tabs + 1,\n              courseId: data.id,\n            }\n          })\n        }else if(props.tabs == 2){\n          if(type === 'chapter_parents'){\n            router.push({\n              path: '/practice/daily',\n              query: {\n                practiceType: +props.tabs + 1,\n                courseId: data.id,\n                titleId:data.practiceTitleInfoList[0].id,\n                titleName:data.practiceTitleInfoList[0].titleName\n              }\n            })\n          }else{\n            setStore('practiceTitleInfoList', parents.practiceTitleInfoList)\n            router.push({\n              path: '/practice/daily',\n              query: {\n                practiceType: +props.tabs + 1,\n                courseId: parents.id,\n                titleId:data.id,\n                titleName:data.titleName\n              }\n            })\n          }\n        }\n    //  }\n    //})\n  }else{\n    router.push({\n      path: '/login',\n      query: {\n        redirect: encodeURIComponent(route.fullPath)\n      }\n    })\n  }\n}\nconst handleBuy = (data) => {\n  if (token.value) {\n    const d = {}\n    if(+props.tabs === 2) {\n      d.practiceType = 3 //章节练习\n      d.courseId = data.id,\n      d.titleId = data.practiceTitleInfoList[0].id,\n      d.titleName = data.practiceTitleInfoList[0].titleName\n      setStore('practiceInfo', data)\n    } else if(+props.tabs === 1) {\n      d.practiceType = 2 //每日一练\n      d.courseId = data.id\n      setStore('practiceInfo', data)\n    } else if(+props.tabs === 3) {\n      d.practiceType = 4 //闯关练习\n      d.practiceId = data.id\n      d.categoryId = props.categoryId\n    }\n    router.push({\n      path: '/pay/buy',\n      query: {\n        id: data.id,\n        practiceType: props.tabs,\n        category: props.categoryId\n      }\n    })\n  } else {\n    router.push({\n      path: '/login',\n      query: {\n        redirect: encodeURIComponent(route.fullPath)\n      }\n    })\n  }\n}\n</script>\n\n<style scoped lang=\"scss\">\n.paper_item{\n  padding: 18px 0;\n  background: #FFFFFF;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  border-bottom: 1px solid #EBEEF5;\n}\n.paper_item_left{\n  display: flex;\n  align-items: center;\n  .item_right{\n    margin-left: 20px;\n  }\n  img{\n    width: 74px;\n    height: 76px;\n  }\n}\n.practice_title{\n  font-style: normal;\n  font-weight: 400;\n  font-size: 16px;\n  color: #333333;\n}\n.paper_item_right{\n  .el-button{\n    width: 94px;\n    height: 36px;\n    border-radius: 5px;\n  }\n  .el-button.is-plain{\n    background: rgba(61, 127, 255, 0.1);\n    color: #3D7FFF;\n    border: 0;\n    &:hover{\n      background: var(--el-button-hover-bg-color);\n      color: #FFFFFF;\n    }\n  }\n}\n.practice_msg{\n  margin-top: 20px;\n  display: flex;\n  align-items: center;\n  .practice_msg_span{\n    font-style: normal;\n    font-weight: 400;\n    font-size: 14px;\n    color: #999999;\n  }\n  .practice_msg_span+.practice_msg_span{\n    margin-left: 27px;\n  }\n}\n.paper_list{\n  padding: 20px 30px;\n  &.table{\n    background-color: #FFFFFF;\n  }\n}\n.header_cell_list{\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  background: rgba(242, 243, 245, 0.5);\n  box-shadow: inset 0px -1px 0px #EBEEF5;\n  padding-left: 20px;\n  padding-right: 20px;\n  .header_cell_item{\n    width: 100px;\n    height: 42px;\n    font-size: 14px;\n    display: flex;\n    align-items: center;\n    color: #999999;\n  }\n  .header_cell_item.long{\n    font-size: 16px;\n    width: calc(100% - 400px);\n  }\n  .header_cell_item.small{\n    min-width: 100px;\n  }\n}\n.table_cell_list{\n  display: flex;\n  align-items: center;\n  flex-direction: column;\n}\n.table_cell_item{\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  flex-direction: row;\n  border-bottom: 1px solid #EBEEF5;\n  background-color: #FFFFFF;\n  width: 100%;\n  padding: 25px 20px;\n&.children .long{\n  padding-left: 30px;\n}\n  .table_cell_column{\n    width: 100px;\n    font-size: 14px;\n    display: flex;\n    align-items: center;\n    color: #999999;\n  }\n  .chapter_wrapper {\n    display: flex;\n    align-items: center;\n    cursor: pointer;\n  }\n  .chapter_title {\n    max-width: 500px;\n  }\n  .table_cell_column .el-button{\n    width: 94px;\n    height: 36px;\n    border-radius: 5px;\n    &.is-plain{\n      background: rgba(61, 127, 255, 0.1);\n      color: #3D7FFF;\n      border-color: transparent;\n    }\n  }\n  .table_cell_column.long{\n    font-size: 16px;\n    width: calc(100% - 400px);\n    color: #333333;\n  }\n  .table_cell_column.small{\n    min-width: 100px;\n  }\n}\n.valid_text {\n  color: red !important;\n  margin-left: 10px;\n}\n.cu{\n  cursor: pointer;\n}\n.children_list{\n  width: 100%;\n\n}\n.test-slide-fade-enter-active {\n  transition: all 1s ease;\n}\n.test-slide-fade-leave-active {\n  transition: all .5s ease;\n}\n.test-slide-fade-enter,.test-slide-fade-leave-to{\n  /* .slide-fade-leave-active 用于 2.1.8 以下版本 */\n  transform: translateY(10px);\n  opacity: 0;\n}\n</style>\n","export default \"__VITE_ASSET__aa61c1a6__\"","export default \"__VITE_ASSET__044ddd94__\"","<template>\n  <NuxtLayout>\n\n    <div class=\"app_container\">\n      <div class=\"paper_content\">\n        <div class=\"paper_header_content\" ref=\"header\">\n          <div class=\"bg_box search_tag_list\">\n            <div class=\"flex_align_box\">\n              <paper-category :current-two-category=\"opts.currentTwoCategory\" :category-id=\"map.categoryId\" :category-list=\"opts.categoryList\" @changeCurrent=\"changeCategorg\" @changeThreeCategory=\"changeThreeCategory\"></paper-category>\n              <div class=\"flex_align_btn_list\">\n                <el-button type=\"text\"><img src=\"@/assets/error_question.svg\" class=\"mgr6\"/>错题练习</el-button>\n                <el-button type=\"text\"><img src=\"@/assets/error_collect.svg\" class=\"mgr6\"/>题目收藏</el-button>\n              </div>\n            </div>\n            <div class=\"nav_list_wrapper\">\n              <li class=\"nav_item\" v-for=\"(navItem, index) in opts.PracticeTypeEnum\" :key=\"index\" :class=\"{ active: navItem.code === activeItem }\" @click=\"changeTab(navItem)\">\n                {{ navItem.desc }}\n              </li>\n              <li class=\"nav_item\" v-for=\"(navItem, index) in opts.tabList\" :key=\"index\" :class=\"{ active: navItem.code === activeItem }\" @click=\"changeTab(navItem)\">\n                {{ navItem.navName }}\n              </li>\n            </div>\n          </div>\n        </div>\n        <div class=\"ov_paper_content\" v-loading=\"ctrl.tableLoading\">\n          <paper-list\n            v-if=\"activeItem === 5\"\n            :visible=\"opts.tableList.length > 0\"\n            :componentInfo=\"{ data: opts.tableList }\"\n          ></paper-list>\n          <paper-practice\n            v-else\n            :list=\"opts.tableList\"\n            :categoryId=\"map.categoryId\"\n            :tabs=\"activeItem\"\n            :category-list=\"opts.categoryList\"\n          ></paper-practice>\n        </div>\n        <div class=\"page_list\" ref=\"content\" v-show=\"page.totalPage > 1\">\n          <el-pagination\n            background\n            layout=\"prev, pager, next,jumper\"\n            :total=\"page.totalCount\"\n            v-model:currentPage=\"page.pageCurrent\"\n            :page-size=\"page.pageSize\"\n            @current-change=\"getTableList\"\n          >\n          </el-pagination>\n        </div>\n      </div>\n    </div>\n  </NuxtLayout>\n</template>\n<script setup>\nimport { useUserStore } from \"../../stores/user\";\nimport { authPaperConfigPage, paperConfigPage } from \"@/api/paper\";\nimport {categoryLists, enumList} from \"../../api/system\";\nimport {computed, nextTick, onMounted, watch} from \"vue\";\nimport cookie from \"@/utils/cookies\";\nimport {practiceAuthPage, practicePage} from \"../../api/paper\";\nconst route = useRoute();\nconst router = useRouter();\nlet cookieData = cookie.getShop()\nuseHead({\n  title: computed(() => `试卷中心-${cookieData.shopName}`),\n  meta: [\n    {\n      hid: \"keywords\",\n      name: \"keywords\",\n      content: \"试卷中心\",\n    },\n    {\n      hid: \"description\",\n      name: \"description\",\n      content: \"试卷中心\",\n    },\n  ],\n});\nconst store = useUserStore();\nconst { getToken, getEnumList } = store;\nconst header = ref(null);\nconst content = ref(null);\nconst activeItem = ref(5);\nconst map = reactive({\n  categoryId: ''\n});\nconst token = computed(() => {\n  return getToken();\n});\nconst opts = reactive({\n  errorNum: 0,\n  PracticeTypeEnum:[],\n  tableList: [],\n  categoryList: [],\n  currentTwoCategory: {},\n  infoTimer: null,\n  style: {\n    height: \"525px\",\n  },\n  tabList: [{\n    code:5,\n    navName: '模拟考试'\n  }]\n});\nconst ctrl = reactive({\n  tableLoading: false,\n});\nconst page = reactive({\n  pageCurrent: 1,\n  pageSize: 16,\n  totalCount: 0,\n  totalPage: 1,\n});\n\nconst changeTab = (data) => {\n  if(activeItem.value !== data.code) {\n    activeItem.value = data.code\n    page.pageCurrent = 1\n    router.replace({\n      path:'/exam/list',\n      query:{\n        categoryId:route.query.categoryId,\n        practiceType:activeItem.value\n      }\n    })\n    // if (data.index === 5) {\n    //   getTableList()\n    // } else {\n    //   getPracticeList()\n    // }\n  }\n}\nconst getPracticeList = () =>{\n  ctrl.tableLoading = true;\n  if (token.value) {\n    practiceAuthPage({\n      pageCurrent: page.pageCurrent,\n      pageSize: page.pageSize,\n      practiceType:activeItem.value,\n      ...map,\n    }).then((res) => {\n      ctrl.tableLoading = false;\n      opts.tableList = res.list || [];\n      page.pageCurrent = res.pageCurrent;\n      page.totalCount = res.totalCount;\n      page.totalPage = res.totalPage;\n      if(activeItem.value === 2){\n        opts.tableList.forEach(el=>{\n          el.show = el.show === true || el.show === false?el.show:true\n        })\n      }\n      if (opts.infoTimer) {\n        clearInterval(opts.infoTimer);\n        opts.infoTimer = null;\n      }\n    }).catch(() => {\n      ctrl.tableLoading = false;\n      opts.errorNum++;\n      if (!opts.infoTimer) {\n        opts.infoTimer = setInterval(getPracticeList, 3000);\n      }\n      if (opts.errorNum > 5) {\n        if (opts.infoTimer) {\n          clearInterval(opts.infoTimer);\n          opts.infoTimer = null;\n        }\n      }\n    });\n  }else{\n    practicePage({\n      pageCurrent: page.pageCurrent,\n      pageSize: page.pageSize,\n      practiceType:activeItem.value,\n      ...map,\n    }).then((res) => {\n      ctrl.tableLoading = false;\n      opts.tableList = res.list || [];\n      page.pageCurrent = res.pageCurrent;\n      page.totalCount = res.totalCount;\n      page.totalPage = res.totalPage;\n      if(activeItem.value === 2){\n        opts.tableList.forEach(el=>{\n          el.show = el.show === true || el.show === false?el.show:true\n        })\n      }\n      if (opts.infoTimer) {\n        clearInterval(opts.infoTimer);\n        opts.infoTimer = null;\n      }\n    }).catch(() => {\n      ctrl.tableLoading = false;\n      opts.errorNum++;\n      if (!opts.infoTimer) {\n        opts.infoTimer = setInterval(getPracticeList, 3000);\n      }\n      if (opts.errorNum > 5) {\n        if (opts.infoTimer) {\n          clearInterval(opts.infoTimer);\n          opts.infoTimer = null;\n        }\n      }\n    });\n  }\n}\n\nconst getTableList = () => {\n  ctrl.tableLoading = true;\n  if (token.value) {\n    authPaperConfigPage({\n      pageCurrent: page.pageCurrent,\n      pageSize: page.pageSize,\n      ...map,\n    }).then((res) => {\n      ctrl.tableLoading = false;\n      opts.tableList = res.list || [];\n      page.pageCurrent = res.pageCurrent;\n      page.totalCount = res.totalCount;\n      page.totalPage = res.totalPage;\n      if (opts.infoTimer) {\n        clearInterval(opts.infoTimer);\n        opts.infoTimer = null;\n      }\n    }).catch(() => {\n      ctrl.tableLoading = false;\n      opts.errorNum++;\n      if (!opts.infoTimer) {\n        opts.infoTimer = setInterval(getTableList, 3000);\n      }\n      if (opts.errorNum > 5) {\n        if (opts.infoTimer) {\n          clearInterval(opts.infoTimer);\n          opts.infoTimer = null;\n        }\n      }\n    });\n  } else {\n    paperConfigPage({\n      pageCurrent: page.pageCurrent,\n      pageSize: page.pageSize,\n      ...map,\n    }).then((res) => {\n      ctrl.tableLoading = false;\n      opts.tableList = res.list || [];\n      page.pageCurrent = res.pageCurrent;\n      page.totalCount = res.totalCount;\n      page.totalPage = res.totalPage;\n      if (opts.infoTimer) {\n        clearInterval(opts.infoTimer);\n        opts.infoTimer = null;\n      }\n    }).catch(() => {\n      ctrl.tableLoading = false;\n    });\n  }\n};\nconst getData = (query) => {\n  if (query.categoryId) {\n    map.categoryId = query.categoryId;\n  } else {\n    map.categoryId = '';\n  }\n  if(query.practiceType){\n    activeItem.value = +query.practiceType\n  }\n  page.pageCurrent = 1;\n  if (activeItem.value === 5) {\n    getTableList()\n  } else {\n    getPracticeList()\n  }\n  // getTableList();\n};\n\nconst { data, pending, error } = await useAsyncData('mockExamPage', () => {\n  return new Promise(async (resolve) => {\n    map.categoryId = route.query.categoryId || ''\n    if(route.query.practiceType){\n      activeItem.value = Number(route.query.practiceType)\n    }\n    console.log('categoryId', route.query.categoryId)\n    // 课程列表的请求\n    const params = {\n      pageCurrent: page.pageCurrent,\n      pageSize: page.pageSize,\n      ...map,\n    }\n    let requestFn\n    if (activeItem.value === 5) {\n      requestFn = authPaperConfigPage\n    }else{\n      requestFn = practiceAuthPage\n      params.practiceType = activeItem.value\n    }\n    if (!token.value) {\n      if (activeItem.value === 5) {\n        requestFn = paperConfigPage\n      }else{\n        requestFn = practicePage\n      }\n    }\n    Promise.allSettled([\n      requestFn(params),\n      categoryLists({}),\n      enumList('PracticeTypeEnum')\n    ]).then(([paper, categoryList,enums]) => {\n      let data = {};\n      if(paper.status === 'fulfilled') {\n        data.paper = paper.value\n      } else {\n        data.paper = {\n          list:[],\n          pageCurrent:1,\n          pageSize:10,\n          totalPage:1,\n          totalCount:0\n        }\n      }\n      if(categoryList.status === 'fulfilled') {\n        data.categoryList = categoryList.value\n      } else {\n        data.categoryList = []\n      }\n      if(enums.status=== 'fulfilled'){\n        data.enums = enums.value\n      }else{\n        data.enums = []\n      }\n      resolve(data)\n    })\n  })\n},{initialCache:false})\nif (!pending.value && data.value) {\n  const d = data.value\n  if(d && d.enums){\n    opts.PracticeTypeEnum = d.enums\n  }\n  if(d && d.paper) {\n    console.log('paper', d.paper)\n    ctrl.tableLoading = false;\n    opts.tableList = d.paper.list || [];\n    page.pageCurrent = d.paper.pageCurrent;\n    page.totalCount = d.paper.totalCount;\n    page.totalPage = d.paper.totalPage;\n    if(activeItem.value === 2){\n      opts.tableList.forEach(el=>{\n        el.show = el.show === true || el.show === false?el.show:true\n      })\n    }\n  }\n  setTimeout(()=>{\n    if(route.query.practiceType){\n      activeItem.value = Number(route.query.practiceType)\n    }\n  },800)\n   if(d.categoryList && d.categoryList.length) {\n    opts.categoryList = d.categoryList\n    if(route.query.categoryId) {\n      const init = (list) => {\n        for (let i = 0; i < list.length; i++) {\n          if (list[i].id === route.query.categoryId) {\n            opts.currentTwoCategory = list[i]\n            return false\n          }\n          if(list[i].childrenList && list[i].childrenList.length) {\n            init(list[i].childrenList)\n          }\n        }\n      }\n      init(d.categoryList)\n    }\n  }\n}\n\nconst changeCategorg = (data) => {\n  opts.currentTwoCategory = data\n  // getData({ categoryId: data.id })\n  let query = JSON.parse(JSON.stringify(route.query))\n    query.categoryId = data.id\n  router.replace({\n    path:route.path,\n    query:query\n  })\n}\n\nconst changeThreeCategory = (data) => {\n  // getData(data)\n  let query = JSON.parse(JSON.stringify(route.query))\n  query.categoryId = data.categoryId\n  router.replace({\n    path:route.path,\n    query:query\n  })\n}\n// router.beforeResolve((to) => {\n//   // console.log(to.query)\n//   if(to.path === '/exam/list') {\n//     if(to.query.paperType !==  map.paperType || to.query.orderByType !== map.orderByType || to.query.chargeType !== map.chargeType || to.query.categoryId !== map.categoryId) {\n//       getData(to.query);\n//     }\n//   }\n// });\nwatch(()=>route.fullPath,()=>{\n  if(route.path === '/exam/list') {\n    if((route.query.categoryId && route.query.categoryId !== map.categoryId) ||(route.query.practiceType&& route.query.practiceType !== activeItem.value) ) {\n      getData(route.query);\n    }\n  }\n})\nonUnmounted(() => {\n  if (opts.infoTimer) {\n    clearInterval(opts.infoTimer);\n    opts.infoTimer = null;\n  }\n});\n\n</script>\n\n<style scoped lang=\"scss\">\n.paper_content {\n  width: 1200px;\n  margin: auto;\n  background: #f6f8fb;\n}\n\n.app_container {\n  overflow: auto;\n}\n\n.ov_paper_content {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  //overflow: auto;\n}\n\n.page_list {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.bg_box {\n  width: 100%;\n  background-color: #ffffff;\n  border-radius: 5px;\n\n  &:first-child {\n    margin-top: 20px;\n  }\n\n  & + .bg_box {\n    margin-top: 10px;\n  }\n}\n\n.search_type_list {\n  // min-height: 50px;\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n\n  & + .search_type_list {\n    margin-top: 10px;\n  }\n\n  .search_type_item {\n    font-style: normal;\n    font-weight: normal;\n    font-size: 14px;\n    color: #333333;\n    cursor: pointer;\n    margin-right: 10px;\n    padding: 10px;\n    &.not_right {\n      margin-right: 0;\n    }\n\n    &.active {\n      color: #2256f6;\n      font-weight: bold;\n      background: rgba(34, 86, 246, 0.05);\n      border-radius: 5px;\n    }\n  }\n}\n\n.border_hr {\n  border: 1px solid #becadb;\n  height: 14px;\n  margin-left: 30px;\n  margin-right: 30px;\n}\n\n.nav_list_wrapper {\n  flex: 1;\n  display: flex;\n  justify-content: center;\n  padding: 0 30px;\n  color: #333333;\n  .nav_item {\n    display: flex;\n    align-items: center;\n    margin-right: 50px;\n    color: #333;\n    font-size: 16px;\n    line-height: 60px;\n    white-space: nowrap;\n    box-sizing: border-box;\n    border-bottom: 3px solid transparent;\n    &:hover{\n      cursor: pointer;\n      position: relative;\n      color: #3D7FFF;\n      border-color: #3D7FFF;\n    }\n  }\n  .nav_item:hover::after {\n    content: \"\";\n    position: absolute;\n    left: 50%;\n    bottom: 0;\n    transform: rotate(-90deg) translateY(-50%);\n    border: 3px solid transparent;\n    border-left-color: #3D7FFF;\n  }\n  .active {\n    position: relative;\n    color: #3D7FFF;\n    border-color: #3D7FFF;\n  }\n  .active::after {\n    content: \"\";\n    position: absolute;\n    left: 50%;\n    bottom: 0;\n    transform: rotate(-90deg) translateY(-50%);\n    border: 3px solid transparent;\n    border-left-color: #3D7FFF;\n  }\n}\n.flex_align_box{\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding-right: 30px;\n}\n.mgr6{\n  margin-right: 6px;\n}\n</style>\n"],"names":["_imports_0$1","URL","import","meta","url","href","_imports_1$1","_imports_2","_imports_3","_imports_4","route","useRoute","router","useRouter","store","useUserStore","getEnumList","token","computed","opts","reactive","userPracticeStatusEnum","ctrl","redoCtr","visible","data","type","parents","checkValidate","item","paperPracticeStatus","validityType","Date","getTime","beginTime","onMounted","then","res","getCategoryName","id","list","name","forEach","el","categoryName","childrenList","length","handleCallback","bool","setStore","props","tabs","practiceRedo","practiceId","push","path","query","practiceType","courseId","practiceRemoveTitleRecord","questionTitleId","practiceTitleInfoList","titleId","titleName","practiceRecordType","practiceTitleId","handleLearn","value","userPracticeStatus","redirect","encodeURIComponent","fullPath","handleBuy","categoryId","category","categoryList","_imports_0","_imports_1","cookieData","cookie","getShop","useHead","title","shopName","hid","content","getToken","header","ref","activeItem","map","errorNum","PracticeTypeEnum","tableList","currentTwoCategory","infoTimer","style","height","tabList","code","navName","tableLoading","page","pageCurrent","pageSize","totalCount","totalPage","changeTab","replace","getPracticeList","practiceAuthPage","show","clearInterval","catch","setInterval","practicePage","getTableList","authPaperConfigPage","paperConfigPage","pending","error","__temp","__restore","_withAsyncContext","useAsyncData","Promise","async","resolve","Number","params","requestFn","allSettled","categoryLists","enumList","paper","enums","status","initialCache","d","setTimeout","init","i","changeCategorg","JSON","parse","stringify","changeThreeCategory","watch","onUnmounted"],"mappings":"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"}