浏览代码

完成管理评测多语系配置,修复curLang报错

liqk 4 年之前
父节点
当前提交
6c05211d11

+ 1 - 1
TEAMModelOS/ClientApp/src/locale/index.js

@@ -18,7 +18,7 @@ ElementLocale.i18n((key, value) => i18n.t(key, value))
 Vue.use(VueI18n)
 
 // 自动根据浏览器系统语言设置语言
-const curLang  = JSON.parse(localStorage.getItem('cloudSetting')).curLang
+const curLang  = localStorage.getItem('cloudSetting') ? JSON.parse(localStorage.getItem('cloudSetting')).curLang : null
 const navLang = curLang || navigator.language.toLowerCase()
 const localLang = (navLang === 'zh' || navLang === 'zh-tw' || navLang === 'zh-cn' || navLang === 'zh-hk') ? navLang : false
 let lang = localLang || 'en-us'

+ 4 - 1
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/global.js

@@ -1,5 +1,8 @@
 export default{
     examType1:'期中考试',
     examType2:'期末考试',
-    examType3:'模拟考试'
+    examType3:'模拟考试',
+    evType1:'正规考',
+    evType2:'模拟考',
+    evType3:'普通考',
 }

+ 26 - 5
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/learnActivity.js

@@ -14,17 +14,38 @@ export default{
         finash:'已结束',
         endTime:'结束时间:',
         stop:'立即结束',
-        evType:'测试类型',
-        stuCount:'施测人数',
-        nodata:'暂无数据',
+        evType:'测试类型:',
+        stuCount:'施测人数:',
+        nodata:'暂无评测',
         tab1:'评测数据',
         tab2:'评测试卷',
         autoTips1:'此功能仅用于展示情景快速模拟学生作答数据,且学生作答为随机生成,仅供参考!',
-        autoTips1:'此功能仅用于展示情景快速模拟教师评分数据,且分数为随机生成,仅供参考!',
+        autoTips2:'此功能仅用于展示情景快速模拟教师评分数据,且分数为随机生成,仅供参考!',
         autoScore:'一键评分',
         autoAnswer:'一键作答',
         evSubject:'测试科目:',
         returnTop:'返回顶部',
-        
+        mockOk:'模拟成功',
+        mockErr:'模拟失败',
+        stopTitle:'结束评测',
+        stopContent:'结束后学生将不能继续作答,是否立即结束',
+        stopOk:'评测已结束!',
+        deleteTitle:'删除评测',
+        deleteContent:'是否确认删除',
+        deleteOk:'删除成功',
+        deleteErr:'删除失败',
+        noJoin:'此账号暂未加入任何学校!'
+    },
+
+    //创建评测校本/个人
+    createEv:{
+        createLabel:'创建评测',
+        publishEv:'发布评测',
+        return:'返回上级',
+        baseInfo:'基础信息',
+        evName:'评测名称',
+        evMode:'评测模式',
+        evType:''
+
     }
 }

+ 26 - 2
TEAMModelOS/ClientApp/src/static/Global.js

@@ -1,4 +1,9 @@
-import i18n from '../locale/index.js'
+/**
+ * 1、如果常量不需要适配多语系,则直接声明即可;
+ * 2、如果常量需要适配多语言,建议用函数返回值获取。解决语系变化后,依然能够获取对应语系。如果直接声明对象,则只会在初始化调用一次,语系切换后对应的值不会变化。
+ */
+
+import i18n from '../locale/index.js'
 import Vue from 'vue'
 import VueI18n from 'vue-i18n'
 
@@ -33,6 +38,24 @@ const EXAM_TYPE = () => {
     ]
 }
 
+//系统固定评测类型
+const EV_TYPE = () => {
+    return [
+        {
+            value: 'regular',
+            label: i18n.t('global.evType1')
+        },
+        {
+            value: 'simulation',
+            label: i18n.t('global.evType2')
+        },
+        {
+            value: 'normal',
+            label: i18n.t('global.evType3')
+        }
+    ]
+}
+
 const install = (Vue, options) => {
     Vue.use(VueI18n)
     Vue.prototype.$GLOBAL = {
@@ -40,7 +63,8 @@ const install = (Vue, options) => {
         PRIVATE_SPACE,
         SCHOOL_SPACE,
         DEFAULT_SCHOOL_CODE,
-        EXAM_TYPE
+        EXAM_TYPE,
+        EV_TYPE
     }
 }
 

+ 9 - 5
TEAMModelOS/ClientApp/src/view/learnactivity/CreatePrivEva.vue

@@ -2,8 +2,12 @@
     <div class="create-priv-container">
         <div class="create-header">
             <p class="create-header-title" @click="consData">创建评测</p>
-            <Button class="btn-save" type="text" :loading="isLoading" ghost icon="ios-albums-outline" @click="saveEvaluation" style="margin-right:30px;">发布评测</Button>
-            <Button class="btn-save" type="text" ghost icon="md-arrow-back" @click="confirmToManage">返回上级</Button>
+            <Button class="btn-save" type="text" :loading="isLoading" ghost icon="ios-albums-outline" @click="saveEvaluation" style="margin-right:30px;">
+                发布评测
+            </Button>
+            <Button class="btn-save" type="text" ghost icon="md-arrow-back" @click="confirmToManage">
+                返回上级
+            </Button>
         </div>
         <div class="create-body">
             <div class="evaluation-attr-wrap">
@@ -79,7 +83,7 @@
                 </div>
             </div>
         </div>
-        
+
     </div>
 </template>
 <script>
@@ -98,7 +102,7 @@ export default {
     },
     data() {
         return {
-            
+
             props: {
                 multiple: true,
             },
@@ -202,7 +206,7 @@ export default {
         }
     },
     methods: {
-        
+
         //重置课程类型
         resetCourse() {
             this.evaluationInfo.targets = []

+ 29 - 47
TEAMModelOS/ClientApp/src/view/learnactivity/MgtPrivEva.vue

@@ -5,10 +5,10 @@
             <!--评测列表-->
             <div class="evaluation-list-wrap" slot="left">
                 <div class="evaluation-list-title">
-                    <span v-if="scope == 'private'">评测列表</span>
-                    <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="编辑" />
+                    <span>{{$t('learnActivity.mgtScEv.listLabel')}}</span>
+                    <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>
@@ -18,38 +18,42 @@
                             </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.finish') }}
                                 </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="暂无评测"></EmptyData>
+                        <EmptyData v-if="evaListShow.length == 0" style="margin-top:180px;" :textContent="$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>
                 <!--试卷信息-->
                 <div :class="curBarIndex == 1 ? 'animated fadeIn evaluation-base-info':'evaluation-base-info animated fadeOutRight'" v-show="curBarIndex == 1">
@@ -59,7 +63,7 @@
                             <TestPaper v-if="evaListShow[curEvaIndex] && evaListShow[curEvaIndex].papers && evaListShow[curEvaIndex].papers[curSubIndex] && evaListShow[curEvaIndex].papers[curSubIndex].item" :paper="evaListShow[curEvaIndex].papers[curSubIndex]" style="color:#515a6e;margin-top:-30px;" :isShowTools="false" isExamPaper></TestPaper>
                             <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>
@@ -72,9 +76,6 @@
 
             </div>
         </Split>
-        <Modal v-model="editEvaluationStatus" title="编辑评测" @on-ok="confirmEdit">
-            <p>即将跳转到评测编辑页面?</p>
-        </Modal>
     </div>
 </template>
 <script>
@@ -90,7 +91,6 @@ export default {
             split1: 0.2,
             scope: '',//school 校本 private 个人
             showBack: false,
-            editEvaluationStatus: false,
             curSubIndex: 0,
             curBarIndex: 0,
             curEvaIndex: 0,
@@ -98,20 +98,6 @@ export default {
             evaListShow: [],
             examDetaiInfo: {},
             targetList: [],
-            evaType: [
-                {
-                    value: 'regular',
-                    label: '正规考'
-                },
-                {
-                    value: 'simulation',
-                    label: '模拟考'
-                },
-                {
-                    value: 'normal',
-                    label: '普通考'
-                }
-            ],
             isLoading: false,
             filterPeriod: undefined,
             schoolBase: {
@@ -120,11 +106,10 @@ export default {
         }
     },
     methods: {
-        
         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,
@@ -132,7 +117,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!')
@@ -147,7 +132,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
                 }
@@ -191,17 +176,14 @@ export default {
         /**vuescroll回到顶部 */
         handleBackToTop() {
             this.$refs['test-paper-detail'].scrollTo(
-                {
-                    y: '0'
-                },
-                300
+                { y: '0' }, 300
             )
         },
         /**删除评测信息 */
         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,
@@ -215,13 +197,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(() => {
@@ -243,7 +225,7 @@ export default {
                     })
                 }
             } else {
-                this.$Message.warning("此账号暂未加入任何学校!")
+                this.$Message.warning(this.$t('learnActivity.mgtScEv.noJoin'))
             }
         },
         confirmEdit() {

+ 36 - 47
TEAMModelOS/ClientApp/src/view/learnactivity/MgtSchoolEva.vue

@@ -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() {