Jelajahi Sumber

优化按题分配

liqk 4 tahun lalu
induk
melakukan
3ded7689cf

+ 40 - 6
TEAMModelOS/ClientApp/src/view/learnactivity/markpaper/MarkSetting.vue

@@ -139,14 +139,19 @@
                                         </Button>
                                         <Button type="error" size="small" @click="removeMarker(row,index)">{{$t('learnActivity.mark.remove')}}</Button>
                                     </template>
-                                    <template slot-scope="{ row }" slot="count">
-                                        <span>{{`${row.count}/${evInfo.stuCount * setting.num}`}}</span>
+                                    <template slot-scope="{ row }" slot="num">
+                                        <span>{{evInfo.stuCount * setting.num}}</span>
                                     </template>
                                     <template slot-scope="{ row }" slot="quLabel">
                                         <span style="word-break: break-word;">
                                             {{getQuLabels(row.quNo).join(', ')}}
                                         </span>
                                     </template>
+                                    <template slot-scope="{ row }" slot="teaCount">
+                                        <span style="word-break: break-word;">
+                                            {{row.teachers ? row.teachers.length : 0}}
+                                        </span>
+                                    </template>
                                     <template slot-scope="{ row }" slot="teachers">
                                         <span style="word-break: break-word;">
                                             {{row.teachers.map(item=>item.name).join(', ')}}
@@ -179,11 +184,16 @@
         <Modal v-model="setQuStatus" class-name="dark-iview-modal dark-iview-table" @on-ok="okSetQu" :width="1000">
             <Tabs value="name1" style="color:white">
                 <TabPane label="题目" name="name1">
+
                     <CheckboxGroup v-model="quBlock" style="margin-left:10px">
-                        <Checkbox v-for="(item,index) in quNoList" :key="index" :label="item.value">
-                            <span class="qu-no-label">{{item.label}}</span>
+                        <Checkbox :disabled="item.disabled" v-for="(item,index) in quNoList" :key="index" :label="item.value">
+                            <span class="qu-no-label">
+                                {{item.label}}
+                                <span v-show="item.disabled" style="font-size:12px;color:#ff9900">(客)</span>
+                            </span>
                         </Checkbox>
                     </CheckboxGroup>
+                    <p class="objective-tips">温馨提示:客观题已由系统自动评分,无需指定教师批阅。</p>
                 </TabPane>
                 <TabPane label="教师" name="name2">
                     <Table ref="quTea" :columns="teacherCol" :data="teacherList" @on-selection-change="(selection)=>{quTeachers = selection}" height="600">
@@ -293,7 +303,7 @@ export default {
             addTeaStatus: false,
             teacherList: [],
             sltTeachers: [], //按人分配时,设置老师
-            quTeachers:[], //按题分配时,设置老师
+            quTeachers: [], //按题分配时,设置老师
             teacherCol: [
                 {
                     type: 'selection',
@@ -372,9 +382,15 @@ export default {
                     slot: 'teachers',
                     align: 'center'
                 },
+                {
+                    title: '教师人数',
+                    slot: 'teaCount',
+                    align: 'center',
+                    width: 120
+                },
                 {
                     title: '阅卷量',
-                    key: 'num',
+                    slot: 'num',
                     align: 'center',
                     width: 120
                 },
@@ -456,6 +472,17 @@ export default {
         },
         //确认设置阅卷题号
         okSetQu() {
+            if (this.quTeachers.length) {
+                let count = this.evInfo.stuCount * this.setting.num
+                let more = count % this.quTeachers.length
+                this.quTeachers.map((item, index) => {
+                    if (index < more) {
+                        item.count = Math.ceil(count / this.quTeachers.length)
+                    } else {
+                        item.count = Math.floor(count / this.quTeachers.length)
+                    }
+                })
+            }
             this.blockData.push({
                 quNo: this.quBlock,
                 teachers: [...this.quTeachers]
@@ -732,6 +759,13 @@ export default {
 }
 </script>
 <style scoped lang="less">
+.objective-tips {
+    color: #ff9900;
+    margin-bottom: 15px;
+    padding-left: 10px;
+    font-size: 12px;
+    margin-top: 20px;
+}
 .qu-no-label {
     color: white;
     margin-right: 15px;