Skip to content

Commit

Permalink
feat[practice] #43
Browse files Browse the repository at this point in the history
  • Loading branch information
serfend committed May 27, 2022
1 parent 1a1a568 commit a098d13
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ export default {
solved: 0,
wrong: 0
},
global_status: {
global_solved: 0,
global_wrong: 0
},
action_record: {
wrong_history: {},
wrong_current: {},
Expand All @@ -48,7 +52,8 @@ export default {
watch: {
status: {
handler (v) {
this.$emit('onStatus', v)
v = Object.assign({}, v)
this.$emit('onStatus', Object.assign(v, this.global_status))
},
immediate: true,
deep: true
Expand Down Expand Up @@ -80,8 +85,10 @@ export default {
},
update_status ({ problem, is_right }) {
const { status } = this
this.global_status.global_solved++
status.solved++
if (!is_right) {
this.global_status.global_wrong++
status.wrong++
this.action_record.wrong_current[problem.id] = true
}
Expand Down
28 changes: 19 additions & 9 deletions src/views/problems/Practice/Train/TrainStatus/index.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
<template>
<el-card>
<el-form v-if="data" label-width="5rem">
<el-form v-if="data" label-width="6rem">
<el-form-item label="开始时间">
<span>{{ parseTime(time_start) }}</span>
</el-form-item>
<el-form-item label="总题数">
<span>
<span>{{ data.total }}</span>
Expand All @@ -9,17 +12,22 @@
}}题重复)</el-button>
</span>
</el-form-item>
<el-form-item label="已完成">
<el-form-item label="轮/次 完成">
<span>{{ data.solved }}</span>
<span> / </span>
<span>{{ data.global_solved }}</span>
</el-form-item>
<el-form-item label="总错题">
<el-form-item label="轮/次 错题">
<span>{{ data.wrong }}</span>
<span> / </span>
<span>{{ data.global_wrong }}</span>
</el-form-item>
<el-form-item label="开始时间">
<span>{{ parseTime(time_start) }}</span>
</el-form-item>
<el-form-item label="已耗时">
<el-form-item label="总/题均 耗时">
<span>{{ time_spent || '未开始' }}</span>
<span> / </span>
<span>{{ `${Math.ceil((time_spent_seconds && data.global_solved && (time_spent_seconds /
data.global_solved)) * 100) / 100}` || '暂无'
}}</span>
</el-form-item>
</el-form>
<el-dialog v-if="showDuplicated" :visible.sync="showDuplicated" append-to-body>
Expand All @@ -43,7 +51,7 @@
</template>

<script>
import { parseTime } from '@/utils'
import { parseTime, datedifference } from '@/utils'
export default {
name: 'TrainStatus',
props: {
Expand All @@ -52,6 +60,7 @@ export default {
data: () => ({
time_start: new Date(),
time_spent: null,
time_spent_seconds: 0,
timer: null,
showDuplicated: false
}),
Expand All @@ -67,7 +76,8 @@ export default {
mounted () {
this.timer = setInterval(() => {
const t = new Date()
this.time_spent = parseTime(t - this.time_start - 8 * 3600e3, '{h}:{i}:{s}')
this.time_spent = parseTime(t - this.time_start - 8 * 3600e3, '{d}d{h}h{i}m{s}s')
this.time_spent_seconds = datedifference(new Date(), this.time_start, 'second')
}, 1e3)
},
destroyed () {
Expand Down

0 comments on commit a098d13

Please sign in to comment.