Browse Source

Merge branch 'develop6.0-tmd' of http://52.130.252.100:10000/TEAMMODEL/TEAMModelOS into develop6.0-tmd

Li 3 years ago
parent
commit
bc45b87883

+ 1 - 0
TEAMModelOS/ClientApp/src/locale/lang/en-US/teachermgmt.js

@@ -283,6 +283,7 @@ export default {
     impText5:'確認導入',
     impText6:'導入成功',
     impText7:'繼續導入',
+    impText8:'查看教師名單',
     impTd1:'姓名',
     impTd2:'手機',
     impTd3:'郵箱',

+ 1 - 0
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/teachermgmt.js

@@ -282,6 +282,7 @@ export default {
     impText5:'确认导入',
     impText6:'导入成功',
     impText7:'继续导入',
+    impText8:'查看教师名单',
     impTd1:'姓名',
     impTd2:'手机',
     impTd3:'邮箱',

+ 1 - 0
TEAMModelOS/ClientApp/src/locale/lang/zh-TW/teachermgmt.js

@@ -282,6 +282,7 @@ export default {
     impText5:'確認導入',
     impText6:'導入成功',
     impText7:'繼續導入',
+    impText8:'查看教師名單',
     impTd1:'姓名',
     impTd2:'手機',
     impTd3:'郵箱',

+ 6 - 2
TEAMModelOS/ClientApp/src/store/module/user.js

@@ -302,8 +302,12 @@ export default {
         addTeacher(state, teachers) {
             if (teachers && teachers.length) {
                 teachers.forEach((item) => {
-                    let index = state.teachers.findIndex(t => t.id == item.id)
-                    if (index == -1) {
+                    if (item.id) {
+                        let index = state.teachers.findIndex(t => t.id == item.id)
+                        if (index == -1) {
+                            state.teachers.unshift(item)
+                        }
+                    } else {
                         state.teachers.unshift(item)
                     }
                 })

+ 1 - 1
TEAMModelOS/ClientApp/src/view/learnactivity/ExamMgt.vue

@@ -61,7 +61,7 @@
                                 </span> -->
                                     <!-- 评测模式 -->
                                     <span class="ev-info-tag ev-tag-common">{{getModeLabel(item.source)}}</span>
-                                    <span class="ev-info-tag ev-tag-common" v-show="item.examType && item.examType.name">
+                                    <span class="ev-info-tag ev-tag-common" v-if="item.examType && item.examType.name">
                                         {{item.examType.name}}
                                     </span>
                                     <!-- <span class="ev-info-tag ev-tag-common">{{getTypeLabel(item.type)}}</span> -->

+ 10 - 1
TEAMModelOS/ClientApp/src/view/teachermgmt/components/import/Import.vue

@@ -82,9 +82,13 @@
 
                 </div> -->
                 <div class="result-action-wrap">
-                    <Button type="primary" style="width:300px" size="large" @click="importAgain">
+                    <Button type="primary" style="width:240px" size="large" @click="importAgain">
                         {{$t('teachermgmt.impText7')}}
                     </Button>
+                    <br/>
+                    <Button type="success" style="width:240px;margin-top:15px" size="large" @click="toMgt">
+                        {{$t('teachermgmt.impText8')}}
+                    </Button>
                 </div>
             </div>
         </vuescroll>
@@ -128,6 +132,11 @@ export default {
         }
     },
     methods: {
+        toMgt(){
+            this.$router.push({
+                name:'mgt'
+            })
+        },
         //确认导入教师信息
         confirmImport() {
             let params = {

+ 14 - 3
TEAMModelOS/ClientApp/src/view/teachermgmt/components/mgt/TeacherMgt.vue

@@ -24,7 +24,7 @@
                 <vuescroll>
                     <Table stripe class="scrollstyle" :height="tableHeight" ref="selection" :columns="tableColumns" :data="tableData" @on-selection-change="selectTeachers">
                         <template slot-scope="{ row }" slot="picture">
-                            <PersonalPhoto :name="row.name" :picture="row.picture" />
+                            <PersonalPhoto :name="row.name || row.iname" :picture="row.picture" />
                         </template>
                         <template slot-scope="{ row,index }" slot="subject">
                             <p :style="{color:row.subjectIds && row.subjectIds.length? '':'red'}" class="subject-tag" @click="showSetSubj(index)">
@@ -33,7 +33,7 @@
                         </template>
                         <template slot-scope="{ row,index }" slot="name">
                             <span>
-                                {{row.name}}
+                                {{getNameText(row)}}
                             </span>
                             <span v-show="row.status != 'join'" class="teacher-status" :style="{background:row.status == 'invite' ? '#2d8cf0' : ''}">
                                 {{row.status == 'import' ? $t('teachermgmt.teacherStatus1') : row.status == 'invite' ? $t('teachermgmt.teacherStatus2') : ''}}
@@ -495,7 +495,7 @@ export default {
                         let flag = params.row.permissions?.some(item => {
                             return !p.includes(item)
                         })
-                        if (params.row.roles.includes('admin')) {
+                        if (params.row.roles?.includes('admin')) {
                             return h(
                                 'span',
                                 {
@@ -647,6 +647,17 @@ export default {
         },
     },
     methods: {
+        getNameText(teacher){
+            if(!teacher.name){
+                return teacher.iname || ''
+            }else if(!teacher.iname){
+                return teacher.name || ''
+            }else if(teacher.name != teacher.iname){
+                return `${teacher.name} (${teacher.iname})`
+            }else{
+                return teacher.name || teacher.iname
+            }
+        },
         numberWithCommas(x) {
             if (x != undefined) {
                 return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')

+ 1 - 1
TEAMModelOS/ClientApp/src/view/teachermgmt/components/personnel/Index.vue

@@ -303,7 +303,7 @@
                     {{this.$t('teachermgmt.joinTips2')}}
                 </p>
                 <Select v-model="bandTeacher" style="width:100%" clearable v-show="isShowBand">
-                    <Option v-for="item in importTeacher" :value="item.name" :key="item.name">{{ item.name }}</Option>
+                    <Option v-for="item in importTeacher" :value="item.iname" :key="item.iname">{{ item.iname }}</Option>
                 </Select>
                 <Button :loading="btnLoading" @click="confirmJoin" long type="primary" class="confirm-btn">{{ $t('syllabus.confirm') }}</Button>
             </div>