|
@@ -5,7 +5,6 @@
|
|
|
<!--评测列表-->
|
|
|
<div class="evaluation-list-wrap" slot="left">
|
|
|
<div class="evaluation-list-title">
|
|
|
- <span v-if="scope == 'private'">{{$t('learnActivity.mgtScEv.listLabel')}}</span>
|
|
|
<Dropdown class="sort-dropdown" trigger="click" placement="bottom-start" @on-click="function(e){ filterPeriod = e }" @on-visible-change="dropdownStates" v-if="$store.state.user.schoolProfile.school_base && scope == 'school'">
|
|
|
<span style="cursor: pointer;">
|
|
|
{{$t('learnActivity.mgtScEv.period')}}
|
|
@@ -16,9 +15,9 @@
|
|
|
<DropdownItem :name="item.id">{{ item.name }}</DropdownItem>
|
|
|
</DropdownMenu>
|
|
|
</Dropdown>
|
|
|
- <Icon type="md-add" class=" to-create-icon" @click="goToCreate" title="新建" />
|
|
|
- <Icon type="md-trash" v-show="evaListShow.length" class="to-create-icon" title="删除" @click="deleteEvaluation" />
|
|
|
- <Icon type="md-create" v-show="evaListShow.length" class="to-create-icon" @click="editEvaluation" title="编辑" />
|
|
|
+ <Icon type="md-add" class=" to-create-icon" @click="goToCreate" :title="$t('learnActivity.mgtScEv.create')" />
|
|
|
+ <Icon type="md-trash" v-show="evaListShow.length" class="to-create-icon" :title="$t('learnActivity.mgtScEv.delete')" @click="deleteEvaluation" />
|
|
|
+ <Icon type="md-create" v-show="evaListShow.length" class="to-create-icon" @click="editEvaluation" :title="$t('learnActivity.mgtScEv.edit')" />
|
|
|
</div>
|
|
|
<div class="evaluation-list-main">
|
|
|
<vuescroll>
|
|
@@ -28,51 +27,55 @@
|
|
|
</p>
|
|
|
<p class="evaluation-type">
|
|
|
<Icon type="md-time" style="margin-right:5px;" size="16" />
|
|
|
- <span>施测时间:{{dateFormat(item.startTime)}}</span>
|
|
|
+ <span>{{$t('learnActivity.mgtScEv.createTime')}}{{dateFormat(item.startTime)}}</span>
|
|
|
<span class="evaluation-status-tag" :style="{ borderColor: item.progress == 'pending' ? '#0BADD4' : item.progress == 'going' ? '#1CC0F3' : '#949594', color: (item.progress == 'pending' ? '#0BADD4' : item.progress == 'going' ? '#1CC0F3' : '#949594')}">
|
|
|
- {{ item.progress == 'pending' ? '待发布' : item.progress == 'going' ? '进行中' : '已结束' }}
|
|
|
+ {{ item.progress == 'pending' ? $t('learnActivity.mgtScEv.pending') : item.progress == 'going' ? $t('learnActivity.mgtScEv.going') : $t('learnActivity.mgtScEv.finash') }}
|
|
|
</span>
|
|
|
</p>
|
|
|
<p class="evaluation-type">
|
|
|
<Icon type="md-time" style="margin-right:5px;" size="16" />
|
|
|
- <span>结束时间:{{dateFormat(item.endTime)}}</span>
|
|
|
+ <span>{{$t('learnActivity.mgtScEv.endTime')}}{{dateFormat(item.endTime)}}</span>
|
|
|
<span v-if="item.progress == 'going'" class="handle-end-tag" @click="handleEnd(index)">
|
|
|
- 立即结束
|
|
|
+ {{$t('learnActivity.mgtScEv.stop')}}
|
|
|
</span>
|
|
|
</p>
|
|
|
<div style="display:inline-flex">
|
|
|
<p class="evaluation-type">
|
|
|
<Icon type="ios-cube" style="margin-right:5px;" size="14" />
|
|
|
- <span>测试类型:{{getTypeLabel(item.type)}}</span>
|
|
|
+ <span>{{$t('learnActivity.mgtScEv.evType')}}{{getTypeLabel(item.type)}}</span>
|
|
|
</p>
|
|
|
<p class="evaluation-type">
|
|
|
<Icon type="ios-people" style="margin-right:5px;" size="16" />
|
|
|
- <span>施测人数:{{item.stuCount}}</span>
|
|
|
+ <span>{{$t('learnActivity.mgtScEv.stuCount')}}{{item.stuCount}}</span>
|
|
|
</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <EmptyData v-if="evaListShow.length == 0" style="margin-top:180px;" :textContent="`${scope == 'school' ? filterPeriodName:''}暂无评测`"></EmptyData>
|
|
|
+ <EmptyData v-if="evaListShow.length == 0" style="margin-top:180px;" :textContent="`${scope == 'school' ? filterPeriodName:''}${$t('learnActivity.mgtScEv.nodata')}`"></EmptyData>
|
|
|
</vuescroll>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div slot="right" class="evaluation-detail-wrap">
|
|
|
<!--顶部菜单-->
|
|
|
<div class="evaluation-detail-bar">
|
|
|
- <span :class="curBarIndex == 0 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(0)">评测数据</span>
|
|
|
- <span :class="curBarIndex == 1 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(1)">评测试卷</span>
|
|
|
+ <span :class="curBarIndex == 0 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(0)">
|
|
|
+ {{$t('learnActivity.mgtScEv.tab1')}}
|
|
|
+ </span>
|
|
|
+ <span :class="curBarIndex == 1 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(1)">
|
|
|
+ {{$t('learnActivity.mgtScEv.tab2')}}
|
|
|
+ </span>
|
|
|
<div style="float:right;" v-if="$access.ability('admin','mock-eva').validateAll">
|
|
|
- <Tooltip content="此功能仅用于展示情景快速模拟学生作答数据,且学生作答为随机生成,仅供参考!!!" :max-width="240">
|
|
|
- <Button type="success" size="small" :loading="answerLoading" class="mock-stu-answer" @click="mockAnswer">一键作答</Button>
|
|
|
+ <Tooltip :content="$t('learnActivity.mgtScEv.autoTips1')" :max-width="240">
|
|
|
+ <Button type="success" size="small" :loading="answerLoading" class="mock-stu-answer" @click="mockAnswer">{{$t('learnActivity.mgtScEv.autoAnswer')}}</Button>
|
|
|
</Tooltip>
|
|
|
- <Tooltip content="此功能仅用于展示情景快速模拟教师评分数据,且分数为随机生成,仅供参考!!!" :max-width="240">
|
|
|
- <Button type="warning" size="small" :loading="scoreLoading" class="mock-tea-scoring" @click="mockScoring">一键评分</Button>
|
|
|
+ <Tooltip :content="$t('learnActivity.mgtScEv.autoTips2')" :max-width="240">
|
|
|
+ <Button type="warning" size="small" :loading="scoreLoading" class="mock-tea-scoring" @click="mockScoring">{{$t('learnActivity.mgtScEv.autoScore')}}</Button>
|
|
|
</Tooltip>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!--试卷信息-->
|
|
|
<div :class="curBarIndex == 1 ? 'animated fadeIn evaluation-base-info':'evaluation-base-info animated fadeOutRight'" v-show="curBarIndex == 1">
|
|
|
<div class="evaluation-test-paper-header" v-if="evaListShow[curEvaIndex]">
|
|
|
- <span>测试科目:</span>
|
|
|
+ <span>{{$t('learnActivity.mgtScEv.evSubject')}}</span>
|
|
|
<span v-for="(item,index) in evaListShow[curEvaIndex].subjects" :key="index" :class="index == curSubIndex ? 'subject-item subject-item-active':'subject-item'" @click="selectSubject(index)">
|
|
|
{{item.name}}
|
|
|
</span>
|
|
@@ -84,7 +87,7 @@
|
|
|
<EmptyData v-else style="margin-top:60px;"></EmptyData>
|
|
|
|
|
|
<!--返回顶部-->
|
|
|
- <div class="back-to-top fl-col-center" title="返回顶部" v-if="showBack" @click="handleBackToTop">
|
|
|
+ <div class="back-to-top fl-col-center" :title="$t('learnActivity.mgtScEv.returnTop')" v-if="showBack" @click="handleBackToTop">
|
|
|
<Icon type="ios-arrow-up" />
|
|
|
</div>
|
|
|
</vuescroll>
|
|
@@ -125,20 +128,6 @@ export default {
|
|
|
evaListShow: [],
|
|
|
examDetaiInfo: {},
|
|
|
targetList: [],
|
|
|
- evaType: [
|
|
|
- {
|
|
|
- value: 'regular',
|
|
|
- label: '正规考'
|
|
|
- },
|
|
|
- {
|
|
|
- value: 'simulation',
|
|
|
- label: '模拟考'
|
|
|
- },
|
|
|
- {
|
|
|
- value: 'normal',
|
|
|
- label: '普通考'
|
|
|
- }
|
|
|
- ],
|
|
|
isLoading: false,
|
|
|
filterPeriod: undefined,
|
|
|
schoolBase: {
|
|
@@ -156,11 +145,11 @@ export default {
|
|
|
}).then(
|
|
|
res => {
|
|
|
setTimeout(() => {
|
|
|
- this.$Message.success('模拟成功')
|
|
|
+ this.$Message.success(this.$t('learnActivity.mgtScEv.mockOk'))
|
|
|
}, 500)
|
|
|
},
|
|
|
err => {
|
|
|
- this.$Message.error('模拟失败')
|
|
|
+ this.$Message.error(this.$t('learnActivity.mgtScEv.mockErr'))
|
|
|
}
|
|
|
).finally(() => {
|
|
|
setTimeout(() => {
|
|
@@ -178,11 +167,11 @@ export default {
|
|
|
}).then(
|
|
|
res => {
|
|
|
setTimeout(() => {
|
|
|
- this.$Message.success('模拟成功')
|
|
|
+ this.$Message.success(this.$t('learnActivity.mgtScEv.mockOk'))
|
|
|
}, 500)
|
|
|
},
|
|
|
err => {
|
|
|
- this.$Message.error('模拟失败')
|
|
|
+ this.$Message.error(this.$t('learnActivity.mgtScEv.mockErr'))
|
|
|
}
|
|
|
).finally(() => {
|
|
|
setTimeout(() => {
|
|
@@ -193,8 +182,8 @@ export default {
|
|
|
},
|
|
|
handleEnd(index) {
|
|
|
this.$Modal.confirm({
|
|
|
- title: '结束评测',
|
|
|
- content: `结束后学生将不能继续作答,确认立即结束${this.evaListShow[index].name}吗?`,
|
|
|
+ title: this.$t('learnActivity.mgtScEv.stopTitle'),
|
|
|
+ content: `${this.$t('learnActivity.mgtScEv.stopContent')}${this.evaListShow[index].name}?`,
|
|
|
onOk: () => {
|
|
|
this.$api.learnActivity.FinishEva({
|
|
|
id: this.evaListShow[index].id,
|
|
@@ -202,7 +191,7 @@ export default {
|
|
|
}).then(
|
|
|
res => {
|
|
|
if (!res.error) {
|
|
|
- this.$Message.success('评测已结束!')
|
|
|
+ this.$Message.success(this.$t('learnActivity.mgtScEv.stopOk'))
|
|
|
this.evaListShow[index].progress = 'finish'
|
|
|
} else {
|
|
|
this.$Message.error('API ERROR!')
|
|
@@ -220,7 +209,7 @@ export default {
|
|
|
},
|
|
|
/**获取type对应的label */
|
|
|
getTypeLabel(code) {
|
|
|
- for (let item of this.evaType) {
|
|
|
+ for (let item of this.$GLOBAL.EV_TYPE()) {
|
|
|
if (item.value == code) {
|
|
|
return item.label
|
|
|
}
|
|
@@ -273,8 +262,8 @@ export default {
|
|
|
/**删除评测信息 */
|
|
|
deleteEvaluation() {
|
|
|
this.$Modal.confirm({
|
|
|
- title: '删除评测',
|
|
|
- content: `确认删除${this.evaListShow[this.curEvaIndex].name}吗?`,
|
|
|
+ title: this.$t('learnActivity.mgtScEv.deleteTitle'),
|
|
|
+ content: `${this.$t('learnActivity.mgtScEv.deleteContent')}${this.evaListShow[this.curEvaIndex].name}?`,
|
|
|
onOk: () => {
|
|
|
let params = {
|
|
|
id: this.evaListShow[this.curEvaIndex].id,
|
|
@@ -288,13 +277,13 @@ export default {
|
|
|
let index = this.curEvaIndex
|
|
|
this.selectEvaluation(0)
|
|
|
this.evaListShow.splice(index, 1)
|
|
|
- this.$Message.success('删除成功!')
|
|
|
+ this.$Message.success(this.$t('learnActivity.mgtScEv.deleteOk'))
|
|
|
} else {
|
|
|
- this.$Message.error('删除失败!')
|
|
|
+ this.$Message.error(this.$t('learnActivity.mgtScEv.deleteErr'))
|
|
|
}
|
|
|
},
|
|
|
err => {
|
|
|
- this.$Message.error('删除失败!')
|
|
|
+ this.$Message.error(this.$t('learnActivity.mgtScEv.deleteErr'))
|
|
|
}
|
|
|
).finally(() => {
|
|
|
setTimeout(() => {
|
|
@@ -316,7 +305,7 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
} else {
|
|
|
- this.$Message.warning("此账号暂未加入任何学校!")
|
|
|
+ this.$Message.warning(this.$t('learnActivity.mgtScEv.noJoin'))
|
|
|
}
|
|
|
},
|
|
|
confirmEdit() {
|