123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- <template>
- <view class="scroll-list-card mobile-card-box">
- <!-- title -->
- <text class="mobile-card-title">{{
- data.ksName === null ? "" : data.ksName
- }}</text>
- <!-- content -->
- <view class="mobile-card-row" style="font-size: 28rpx">
- 时间:{{ data.ksStartTime === null ? "" : data.ksStartTime }}-{{
- data.ksEndTime === null ? "" : data.ksEndTime
- }}
- </view>
- <view class="mobile-card-row">
- <text>总分:{{ data.ksScore === null ? "" : data.ksScore }}</text>
- <text class="card-score-box"
- >学分:{{ data.credit === null ? "" : data.credit }}</text
- >
- </view>
- <view class="mobile-card-row">
- <text>及格分:{{ data.okScore === null ? "" : data.okScore }}</text>
- <text class="card-score-box"
- >考试时长:{{ data.totalTm === null ? "" : data.totalTm }}分钟</text
- >
- </view>
- <!-- button -->
- <template v-for="item in btns" :key="item.status">
- <button
- class="lli-btn"
- @click="btnClick(item)"
- v-if="item.show"
- :key="item.status"
- :disabled="data.disabled"
- >
- {{ item.text }}
- </button>
- </template>
- </view>
- </template>
- <script setup>
- import { toRefs, ref, computed } from "vue";
- const props = defineProps({
- data: {
- type: Object,
- },
- });
- const { data } = toRefs(props);
- const btns = computed(() => [
- {
- status: 0,
- btnType: "kaoshi",
- text: "未开始",
- show: data.value.status === 0,
- },
- {
- status: 1,
- btnType: "kaoshi",
- text: "开始考试",
- show: data.value.status === 1,
- },
- {
- status: 3,
- btnType: "kaoshi",
- text: "考试中",
- show: data.value.status === 3,
- },
- {
- status: 2,
- btnType: "kaoshi",
- text: "再次考试",
- show: data.value.status === 2,
- },
- {
- status: 4,
- btnType: "kaoshi",
- text: "已结束",
- show: data.value.status === 4,
- },
- {
- status: 5,
- btnType: "kaoshi",
- text: "报名",
- show: data.value.status === 5,
- },
- {
- status: 6,
- btnType: "kaoshi",
- text: "报名审核中",
- show: data.value.status === 6,
- },
- {
- status: 7,
- btnType: "kaoshi",
- text: "审核未通过",
- show: data.value.status === 7,
- },
- {
- status: 8,
- btnType: "kaoshi",
- text: "等待人工评分",
- show: data.value.status === 8,
- },
- ]);
- </script>
- <style lang="scss" scoped>
- .mobile-card-box {
- box-sizing: border-box;
- margin: 0 30rpx 10rpx;
- border-bottom: 2rpx solid #f2f1f2;
- padding-bottom: 30rpx;
- }
- .mobile-card-title {
- color: #333;
- font-size: 32rpx;
- font-weight: 500;
- margin: 24rpx 0 24rpx 0;
- text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- overflow: hidden;
- word-wrap: break-word;
- display: -webkit-box;
- white-space: normal;
- -webkit-box-orient: vertical;
- text-align: justify;
- -webkit-line-clamp: 2;
- line-clamp: 2;
- line-height: 48rpx;
- }
- // 行
- .mobile-card-row {
- margin-bottom: 32rpx;
- display: flex;
- justify-content: space-between;
- align-items: flex-end;
- text {
- font-size: 28rpx;
- line-height: 40rpx;
- }
- // 得分
- .mobile-card-score {
- font-size: 40rpx;
- color: #f10a0a;
- }
- // 分数(有最小宽度)
- .card-score-box {
- min-width: 240rpx;
- text-align: left;
- }
- }
- // 按钮
- .mobile-card-btn {
- width: 60%;
- height: 80rpx;
- line-height: 80rpx;
- margin: 50rpx auto;
- background: linear-gradient(0deg, #436aff 0%, #234ff7 100%);
- border-radius: 80rpx;
- display: block;
- }
- </style>
|