|
@@ -1,61 +1,93 @@
|
|
|
<template>
|
|
|
<view>
|
|
|
- <uni-popup ref="popupRef" type="dialog" :animation="false" :is-mask-click="false"
|
|
|
- mask-background-color="rgba(0, 0, 0, 0.4);">
|
|
|
- <uni-popup-dialog mode="input"
|
|
|
- class="phone-ksxz-dialog"
|
|
|
- title="考试须知"
|
|
|
- :duration="2000"
|
|
|
- :before-close="true"
|
|
|
- @close="handleClose"
|
|
|
- @confirm="handleConfirm">
|
|
|
- <view class="ksxz-content-box">
|
|
|
- <view v-if="data.ksName">考试名称:{{data.ksName}}</view>
|
|
|
- <view v-if="data.zyName">职业:{{data.zyName}}</view>
|
|
|
- <view v-if="data.zyLevelName">等级:{{data.zyLevelName}}</view>
|
|
|
- <view v-if="data.ksScore">总分:{{data.ksScore}}</view>
|
|
|
- <view v-if="data.okScore">及格分:{{data.okScore}}</view>
|
|
|
- <view>
|
|
|
- <view v-if="data.intro" class="ksms-row">考试描述:</view>
|
|
|
- <rich-text v-if="data.intro" :nodes="data.intro" class="ksms-intro"></rich-text>
|
|
|
- </view>
|
|
|
+ <uni-popup ref="popupRef" :animation="false" :is-mask-click="false" mask-background-color="rgba(0, 0, 0, 0.4);">
|
|
|
+ <view class="ksxz-content-box" style="background-color: #fff;padding: 20rpx;">
|
|
|
+ <view>
|
|
|
+ <text>考试须知</text>
|
|
|
+ <!-- 倒计时 -->
|
|
|
+ <examCountDownVue v-if="data.startSecond>0" :count="data.startSecond" ref="countDownRef"
|
|
|
+ class="cur-exam-count-down" @time-end="onTimeEnd"></examCountDownVue>
|
|
|
</view>
|
|
|
- </uni-popup-dialog>
|
|
|
+ <view v-if="data.name">考试名称:{{data.name}}</view>
|
|
|
+ <view v-if="data.ksScore">用户名:{{data.ksScore}}</view>
|
|
|
+ <view v-if="data.credit">学分:{{data.credit}}</view>
|
|
|
+ <view v-if="data.okScore">及格分:{{data.okScore}}</view>
|
|
|
+ <view v-if="data.ksScore">总分:{{data.ksScore}}</view>
|
|
|
+ <view v-if="data.startTime">开始:{{data.startTime}}</view>
|
|
|
+ <view v-if="data.endTime">结束:{{data.endTime}}</view>
|
|
|
+ <view>
|
|
|
+ <view v-if="data.textareaHtml" class="ksms-row">考试描述:</view>
|
|
|
+ <rich-text v-if="data.textareaHtml" :nodes="data.textareaHtml" class="ksms-intro"></rich-text>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view>
|
|
|
+ <button class="cancel" @click="handleClose">取消</button>
|
|
|
+ <button class="confirm" v-if="isCanJoinExam" @click="handleConfirm">确定</button>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</uni-popup>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
+ import examCountDownVue from "./examCountDown.vue";
|
|
|
import {
|
|
|
- ref,reactive
|
|
|
+ ref,
|
|
|
+ reactive,
|
|
|
+ nextTick
|
|
|
} from "vue";
|
|
|
const popupRef = ref(null)
|
|
|
+ const countDownRef = ref(null)
|
|
|
const data = reactive({
|
|
|
intro: '',
|
|
|
- ksName: '',
|
|
|
+ name: '',
|
|
|
ksScore: '',
|
|
|
okScore: '',
|
|
|
- zyLevelName: '',
|
|
|
- zyName: '',
|
|
|
+ textareaHtml: '',
|
|
|
+ credit: '',
|
|
|
+ startTime: '',
|
|
|
+ endTime: '',
|
|
|
+ ksId: '',
|
|
|
+ startSecond: 0
|
|
|
})
|
|
|
-
|
|
|
+ const isCanJoinExam = ref(false)
|
|
|
+
|
|
|
const emits = defineEmits(['confirm', 'cancel'])
|
|
|
|
|
|
function showDialog(options) {
|
|
|
data.intro = options.intro;
|
|
|
- data.ksName = options.ksName;
|
|
|
+ data.ksName = options.name;
|
|
|
data.ksScore = options.ksScore;
|
|
|
data.okScore = options.okScore;
|
|
|
- data.zyName = options.zyName;
|
|
|
- data.zyLevelName = options.zyLevelName;
|
|
|
+ data.credit = options.credit;
|
|
|
+ data.startTime = options.startTime;
|
|
|
+ data.endTime = options.endTime;
|
|
|
+ data.startSecond = options.startSecond;
|
|
|
data.ksId = options.ksId;
|
|
|
-
|
|
|
- popupRef.value.open()
|
|
|
+
|
|
|
+
|
|
|
+ if (typeof options.intro == 'undefined' || options.intro == null || options.intro == '') {
|
|
|
+ data.textareaHtml = '暂无描述信息';
|
|
|
+ } else {
|
|
|
+ data.textareaHtml = options.intro;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (options.startSecond < 0) {
|
|
|
+ isCanJoinExam.value = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ popupRef.value.open('center')
|
|
|
+ setTimeout(() => {
|
|
|
+ countDownRef.value.init()
|
|
|
+ }, 0)
|
|
|
}
|
|
|
|
|
|
function handleClose() {
|
|
|
emits('cancel');
|
|
|
popupRef.value.close()
|
|
|
+ isCanJoinExam.value = false;
|
|
|
+ countDownRef.value.termination()
|
|
|
}
|
|
|
|
|
|
function handleConfirm() {
|
|
@@ -63,6 +95,10 @@
|
|
|
popupRef.value.close()
|
|
|
}
|
|
|
|
|
|
+ function onTimeEnd() {
|
|
|
+ isCanJoinExam.value = true;
|
|
|
+ }
|
|
|
+
|
|
|
defineExpose({
|
|
|
showDialog
|
|
|
})
|