123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <template>
- <view class="shouye-card-box kaoshi-card-box">
- <!-- card title -->
- <view class="card-head-box">
- <view class="card-line-title">考试</view>
- <view class="card-more" @click="checkMore" v-if="data.count">更多<text class="more-num">{{data.count}}</text><icon class="more-jt"></icon></view>
- </view>
-
- <!-- kaoshi title -->
- <view class="card-name-box">
- <view class="card-name" v-if="data.ksName"><icon></icon>{{data.ksName}}</view>
- <text class="card-level">{{data.zyLevelName}}</text>
- <!-- <view class="card-name"><icon></icon>考试名称</view>
- <text class="card-level">初级</text> -->
- </view>
- <!-- 内容区域 -->
- <view class="card-content-box kaoshi-content-box">
- <view class="card-content-item">
- <icon class="card-time-icon"></icon>
- <view class="content-text-box">
- <text>时间</text>
- <view>{{data.totalTm}}分钟</view>
- </view>
- </view>
- <view class="card-content-item">
- <icon class="card-num-icon"></icon>
- <view class="content-text-box">
- <text>次数</text>
- <view>{{data.joinCount}}次</view>
- </view>
- </view>
- <view class="card-content-item">
- <icon class="card-sum-icon"></icon>
- <view class="content-text-box">
- <text>总分</text>
- <view>{{data.ksScore}}分</view>
- </view>
- </view>
- <view class="card-content-item">
- <icon class="card-pass-icon"></icon>
- <view class="content-text-box">
- <text>及格分</text>
- <view>{{data.okScore}}分</view>
- </view>
- </view>
- </view>
- <!-- 底部 -->
- <view class="card-bottom-box">
- <button type="default" class="index-card-btn" v-if="data.status == 1" @click="handleStart(data)">进行考试</button>
- <button type="default" class="index-card-btn" v-if="data.status == 2" @click="handleStart(data)">进行考试</button>
- <button type="default" class="index-card-btn" v-if="data.status == 3" @click="handleContinue(data)">考试中</button>
- </view>
-
- <!-- 考试须知 -->
- <kaoshixuzhiVue ref="ksxzRef" @confirm="handleConfirmKs" key="1"></kaoshixuzhiVue>
- <!-- 身份确认 -->
- <identificationVue ref="shenfenRef" @confirm="handleConfirmIdent" @changeData="handleChangeIdentification" key="2"></identificationVue>
- </view>
- </template>
- <script setup>
- import kaoshixuzhiVue from "@/components/kaoshixuzhi/kaoshixuzhi.vue";
- import identificationVue from "@/components/identification/identification.vue";
- import {useIdentificationTools} from "@/pages/client/Kaoshi/examTools.js"
- import * as kaoshiApi from "@/api/kaoshi.js"
- import { ref } from "vue"
-
- const { saveIdentCache, getIdentCache, removeIdentCache } = useIdentificationTools();
- defineProps({
- data: {
- type: Object,
- }
- })
- const ksxzRef = ref(null)
- const shenfenRef = ref(null)
- const activeks = ref(null);
-
- function checkMore() {
- uni.redirectTo({
- url: '/pages/client/Kaoshi/list?from=shouye'
- })
- }
-
- // 修改身份
- function handleChangeIdentification() {
- uni.redirectTo({
- url:'/pages/client/my/info?from=shouye'
- })
- }
-
- function handleConfirmIdent(data) {
- saveIdentCache(activeks.value.ksId, true);
- ksxzRef.value.showDialog(activeks.value)
- }
-
-
- function handleStart(data) {
- activeks.value = data;
- const result = getIdentCache(data.ksId);
- if (result) {
- ksxzRef.value.showDialog(data)
- } else {
- kaoshiApi.getClientUserInfo({ksId: data.ksId}).then(res => {
- shenfenRef.value.showDialog(res.data);
- })
- }
-
- }
-
- function handleConfirmKs(data) {
- checkKaoshi(data)
- }
-
- function checkKaoshi(item) {
- uni.redirectTo({
- url: `/pages/client/Kaoshi/exam?ksId=${item.ksId}&zhuapai=${activeks.value.zhuapai}?from=shouye`
- })
- }
-
- function handleContinue(data) {
- activeks.value = data;
- // 考试中 直接进入考试
- checkKaoshi(data)
- }
- </script>
- <style>
- </style>
|