zhangjie 1 năm trước cách đây
mục cha
commit
253c938fd9

+ 3 - 2
src/assets/styles/home.scss

@@ -81,7 +81,7 @@
   }
 
   .head-logo {
-    padding: 0 40px;
+    padding: 0 30px;
     font-size: 20px;
     line-height: 40px;
     text-align: center;
@@ -90,6 +90,7 @@
       display: block;
       padding: 30px 0;
       border-bottom: 1px solid #eff0f5;
+      height: 100px;
       cursor: pointer;
 
       &:hover {
@@ -100,7 +101,7 @@
     img {
       display: block;
       max-width: 160px;
-      height: 40px;
+      max-height: 40px;
     }
   }
 

+ 2 - 1
src/assets/styles/login.scss

@@ -68,6 +68,7 @@
 .login-title {
   text-align: center;
   margin-bottom: 40px;
+  height: 40px;
   h1 {
     font-size: 21px;
     font-weight: bold;
@@ -76,7 +77,7 @@
   img {
     display: block;
     max-width: 160px;
-    height: 40px;
+    max-height: 40px;
     margin: 0 auto;
   }
 }

+ 2 - 2
src/modules/course/components/SetBlueDialog.vue

@@ -131,7 +131,7 @@ export default {
       });
 
       this.targetDesc = this.treeData
-        .map((item) => `${item.name}占比${item.totalWeight}%`)
+        .map((item) => `${item.name}占比${item.totalWeight || 0}%`)
         .join(",");
       this.targetDesc += "。";
     },
@@ -169,7 +169,7 @@ export default {
         if (!scoreData[targetId]) scoreData[targetId] = 0;
         scoreData[targetId] += item.score;
       });
-      console.log(scoreData);
+      // console.log(scoreData);
       const totalScore = calcSum(Object.values(scoreData));
 
       const unvalidTargets = [];

+ 324 - 319
src/modules/course/components/TargetReportDetail.vue

@@ -25,342 +25,347 @@
         <el-button type="danger" @click="cancel">退出</el-button>
       </div>
     </div>
-    <!-- base info -->
-    <div class="page-head">
-      <h2>
-        <span>课程基本情况</span>
-      </h2>
-    </div>
-    <div class="part-box part-box-pad">
-      <table class="table table-tiny">
-        <colgroup>
-          <col width="100" />
-          <col />
-          <col width="100" />
-          <col />
-          <col width="100" />
-          <col />
-          <col width="100" />
-          <col />
-        </colgroup>
-        <tr>
-          <td class="td-bg">课程编码</td>
-          <td>{{ commonInfo.courseCode }}</td>
-          <td class="td-bg">课程名称</td>
-          <td>{{ commonInfo.courseName }}</td>
-          <td class="td-bg">课程类别</td>
-          <td>
-            <el-input
-              v-model="courseBasicInfo.courseType"
-              placeholder="请填写课程类别"
-              size="small"
-            ></el-input>
-          </td>
-          <td class="td-bg">学分</td>
-          <td>
-            <el-input-number
-              v-model="courseBasicInfo.credit"
-              placeholder="请录入学分"
-              size="small"
-              :min="0"
-              :max="999"
-              :controls="false"
-              style="width: 100px"
-            ></el-input-number>
-          </td>
-        </tr>
-        <tr>
-          <td class="td-bg">考核方式</td>
-          <td>
-            <el-input
-              v-model="courseBasicInfo.evaluationMode"
-              placeholder="请填写考核方式"
-              size="small"
-            ></el-input>
-          </td>
-          <td class="td-bg">开课时间</td>
-          <td>{{ courseBasicInfo.openTime }}</td>
-          <td class="td-bg">授课对象</td>
-          <td>{{ courseBasicInfo.teachingObject }}</td>
-          <td class="td-bg">学时</td>
-          <td>
-            <el-input-number
-              v-model="courseBasicInfo.period"
-              placeholder="请录入学时"
-              :min="0"
-              :max="999"
-              :controls="false"
-              size="small"
-              style="width: 100px"
-            ></el-input-number>
-          </td>
-        </tr>
-        <tr>
-          <td class="td-bg">选课人数</td>
-          <td>
-            <el-input-number
-              v-model="courseBasicInfo.selectionCount"
-              placeholder="请录入选课人数"
-              :min="0"
-              :max="999"
-              :controls="false"
-              size="small"
-              style="width: 125px"
-            ></el-input-number>
-          </td>
-          <td class="td-bg">参评人数</td>
-          <td>{{ courseBasicInfo.participantCount }}</td>
-          <td class="td-bg">课程目标达成度期望值</td>
-          <td colspan="3">
-            <el-select
-              v-model="courseBasicInfo.courseDegree"
-              size="small"
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in expectancyList"
-                :key="item"
-                :value="item"
-                :label="item"
-              ></el-option>
-            </el-select>
-          </td>
-        </tr>
-        <tr>
-          <td class="td-bg">任课老师</td>
-          <td>{{ courseBasicInfo.teacher }}</td>
-          <td class="td-bg">评价负责人</td>
-          <td>
-            <el-input
-              v-model="courseBasicInfo.director"
-              placeholder="请填写评价负责人姓名"
-              size="small"
-            ></el-input>
-          </td>
-          <td class="td-bg">评价参与人</td>
-          <td colspan="3">
-            <el-input
-              v-model="courseBasicInfo.participant"
-              placeholder="请填写评价人姓名"
-              size="small"
-            ></el-input>
-          </td>
-        </tr>
-      </table>
-    </div>
-
-    <div class="page-head">
-      <h2>
-        <span>课程目标考核分布</span>
-        <el-popover
-          popper-class="el-popper-dark"
-          placement="right-start"
-          width="500"
-          trigger="hover"
-        >
-          <i class="el-icon-question" slot="reference"></i>
-          <div>
-            <p>
-              课程目标分布会自动按题库系统里试卷下试题标记的属性内容进行显示
-            </p>
-          </div>
-        </el-popover>
-      </h2>
-    </div>
-    <div class="part-box part-box-pad">
-      <el-table :data="questionInfoTable">
-        <el-table-column
-          label="试题号"
-          prop="name"
-          width="140"
-          align="center"
-          fixed="left"
-        ></el-table-column>
-        <el-table-column
-          label="合计"
-          prop="totalScore"
-          width="100"
-          align="center"
-          fixed="left"
-        ></el-table-column>
-        <el-table-column
-          v-for="struct in paperStructs"
-          :key="struct.mainNumber"
-          :label="struct.mainNumber"
-          align="center"
-        >
-          <el-table-column
-            v-for="subNumber in struct.subNumbers"
-            :key="subNumber"
-            :label="subNumber"
-            :prop="`${struct.mainNumber}_${subNumber}`"
-            align="center"
-          >
-          </el-table-column>
-        </el-table-column>
-      </el-table>
-      <div class="chart-box" style="height: 300px; margin-top: 20px">
-        <v-chart
-          v-if="questionInfoChartOption"
-          :option="questionInfoChartOption"
-        ></v-chart>
+    <div v-if="modalIsShow">
+      <!-- base info -->
+      <div class="page-head">
+        <h2>
+          <span>课程基本情况</span>
+        </h2>
       </div>
-    </div>
-
-    <div class="page-head">
-      <h2>
-        <span>课程目标达成评价结果</span>
-        <el-popover
-          popper-class="el-popper-dark"
-          placement="right-start"
-          width="500"
-          trigger="hover"
-        >
-          <i class="el-icon-question" slot="reference"></i>
-          <div>
-            <p>1.评价依据:填写通过考核什么内容实现课程目标的评价;</p>
-            <p>2.目标分值:对应考核环节的满分;</p>
-            <p>
-              3.权重:对应考核环节在对应的课程目标中的权重,目标下各项权重相加等于1;
-            </p>
-            <p>4.实际平均分:为参与评价的学生在该环节的平均分;</p>
-            <p>5.目标达成评价值:∑(实际平均分/目标分值*权重);</p>
-            <p>6.整体课程目标达成评价值:为课程分目标达成评价值的最小值。</p>
-          </div>
-        </el-popover>
-      </h2>
-    </div>
-    <div class="part-box part-box-pad">
-      <h4 class="part-title">课程考核成绩评价结果</h4>
-
-      <table class="table">
-        <tr class="td-bg">
-          <th>课程目标</th>
-          <th>评价依据</th>
-          <th>评价环节</th>
-          <th>权重</th>
-          <th>目标分值</th>
-          <th>实际平均分</th>
-          <th>目标达成评价值</th>
-        </tr>
-
-        <template v-for="item in courseTargetList">
-          <tr
-            v-for="(evaluation, eindex) in item.evaluationList"
-            :key="`${item.targetId}-${eindex}`"
-          >
-            <td
-              v-if="!eindex"
-              :rowspan="item.evaluationList.length"
-              style="width: 240px"
-            >
-              {{ item.targetName }}
+      <div class="part-box part-box-pad">
+        <table class="table table-tiny">
+          <colgroup>
+            <col width="100" />
+            <col />
+            <col width="100" />
+            <col />
+            <col width="100" />
+            <col />
+            <col width="100" />
+            <col />
+          </colgroup>
+          <tr>
+            <td class="td-bg">课程编码</td>
+            <td>{{ commonInfo.courseCode }}</td>
+            <td class="td-bg">课程名称</td>
+            <td>{{ commonInfo.courseName }}</td>
+            <td class="td-bg">课程类别</td>
+            <td>
+              <el-input
+                v-model="courseBasicInfo.courseType"
+                placeholder="请填写课程类别"
+                size="small"
+              ></el-input>
             </td>
-            <td v-if="!eindex" :rowspan="item.evaluationList.length">
-              <p
-                v-for="edesc in item.graduationRequirementPoint.split('\n')"
-                :key="edesc"
-              >
-                {{ edesc }}
-              </p>
+            <td class="td-bg">学分</td>
+            <td>
+              <el-input-number
+                v-model="courseBasicInfo.credit"
+                placeholder="请录入学分"
+                size="small"
+                :min="0"
+                :max="999"
+                :controls="false"
+                style="width: 100px"
+              ></el-input-number>
             </td>
-            <td style="width: 140px">{{ evaluation.evaluation }}</td>
-
-            <td
-              v-if="!eindex"
-              style="width: 80px"
-              :rowspan="item.evaluationList.length - 1"
-            >
-              {{ item.normalTargetWeight }}
+          </tr>
+          <tr>
+            <td class="td-bg">考核方式</td>
+            <td>
+              <el-input
+                v-model="courseBasicInfo.evaluationMode"
+                placeholder="请填写考核方式"
+                size="small"
+              ></el-input>
             </td>
-            <td
-              v-else-if="eindex === item.evaluationList.length - 1"
-              style="width: 80px"
-            >
-              {{ evaluation.targetWeight }}
+            <td class="td-bg">开课时间</td>
+            <td>{{ courseBasicInfo.openTime }}</td>
+            <td class="td-bg">授课对象</td>
+            <td>{{ courseBasicInfo.teachingObject }}</td>
+            <td class="td-bg">学时</td>
+            <td>
+              <el-input-number
+                v-model="courseBasicInfo.period"
+                placeholder="请录入学时"
+                :min="0"
+                :max="999"
+                :controls="false"
+                size="small"
+                style="width: 100px"
+              ></el-input-number>
             </td>
-
-            <td style="width: 100px">{{ evaluation.targetScore }}</td>
-            <td style="width: 100px">{{ evaluation.targetAvgScore }}</td>
-            <td
-              v-if="!eindex"
-              :rowspan="item.evaluationList.length"
-              style="width: 140px"
-            >
-              {{ item.evaluationValue }}
+          </tr>
+          <tr>
+            <td class="td-bg">选课人数</td>
+            <td>
+              <el-input-number
+                v-model="courseBasicInfo.selectionCount"
+                placeholder="请录入选课人数"
+                :min="0"
+                :max="999"
+                :controls="false"
+                size="small"
+                style="width: 125px"
+              ></el-input-number>
+            </td>
+            <td class="td-bg">参评人数</td>
+            <td>{{ courseBasicInfo.participantCount }}</td>
+            <td class="td-bg">课程目标达成度期望值</td>
+            <td colspan="3">
+              <el-select
+                v-model="courseBasicInfo.courseDegree"
+                size="small"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in expectancyList"
+                  :key="item"
+                  :value="item"
+                  :label="item"
+                ></el-option>
+              </el-select>
             </td>
           </tr>
-        </template>
-        <tr>
-          <td colspan="6">课程总目标</td>
-          <td>{{ courseTargetValue }}</td>
-        </tr>
-      </table>
-
-      <div class="chart-box" style="height: 400px; margin-top: 20px">
-        <v-chart
-          v-if="courseTargetListChartOption"
-          :option="courseTargetListChartOption"
-        ></v-chart>
+          <tr>
+            <td class="td-bg">任课老师</td>
+            <td>{{ courseBasicInfo.teacher }}</td>
+            <td class="td-bg">评价负责人</td>
+            <td>
+              <el-input
+                v-model="courseBasicInfo.director"
+                placeholder="请填写评价负责人姓名"
+                size="small"
+              ></el-input>
+            </td>
+            <td class="td-bg">评价参与人</td>
+            <td colspan="3">
+              <el-input
+                v-model="courseBasicInfo.participant"
+                placeholder="请填写评价人姓名"
+                size="small"
+              ></el-input>
+            </td>
+          </tr>
+        </table>
       </div>
 
-      <h4 class="part-title">课程考核成绩评价明细结果</h4>
-
-      <el-table :data="studentScoreTable" :span-method="studentScoreSpanMethod">
-        <el-table-column
-          label="姓名"
-          prop="name"
-          min-width="120"
-          align="center"
-          fixed="left"
-        ></el-table-column>
-        <el-table-column
-          label="学号"
-          prop="studentCode"
-          width="100"
-          align="center"
-          fixed="left"
-        ></el-table-column>
-        <el-table-column
-          v-for="(target, tindex) in courseTargets"
-          :key="tindex"
-          :label="target.targetName"
-          align="center"
-        >
-          <el-table-column width="140" align="center">
-            <template slot="header">
-              期末考试({{ target.finalWeight | percentFilter }})
-            </template>
+      <div class="page-head">
+        <h2>
+          <span>课程目标考核分布</span>
+          <el-popover
+            popper-class="el-popper-dark"
+            placement="right-start"
+            width="500"
+            trigger="hover"
+          >
+            <i class="el-icon-question" slot="reference"></i>
+            <div>
+              <p>
+                课程目标分布会自动按题库系统里试卷下试题标记的属性内容进行显示
+              </p>
+            </div>
+          </el-popover>
+        </h2>
+      </div>
+      <div class="part-box part-box-pad">
+        <el-table :data="questionInfoTable">
+          <el-table-column
+            label="试题号"
+            prop="name"
+            width="140"
+            align="center"
+            fixed="left"
+          ></el-table-column>
+          <el-table-column
+            label="合计"
+            prop="totalScore"
+            width="100"
+            align="center"
+            fixed="left"
+          ></el-table-column>
+          <el-table-column
+            v-for="struct in paperStructs"
+            :key="struct.mainNumber"
+            :label="struct.mainNumber"
+            align="center"
+          >
             <el-table-column
-              label="期末成绩"
-              :prop="`${target.targetId}-final`"
-              width="140"
+              v-for="subNumber in struct.subNumbers"
+              :key="subNumber"
+              :label="subNumber"
+              :prop="`${struct.mainNumber}_${subNumber}`"
               align="center"
             >
             </el-table-column>
           </el-table-column>
-          <el-table-column min-width="120" align="center">
-            <template slot="header">
-              平时考试({{ target.usualWeight | percentFilter }})
-            </template>
-            <el-table-column
-              v-for="work in target.usualWorks"
-              :key="`${target.targetId}${work}`"
-              :label="work"
-              :prop="`${target.targetId}-usual-${work}`"
-              min-width="100"
-              align="center"
+        </el-table>
+        <div class="chart-box" style="height: 300px; margin-top: 20px">
+          <v-chart
+            v-if="questionInfoChartOption"
+            :option="questionInfoChartOption"
+          ></v-chart>
+        </div>
+      </div>
+
+      <div class="page-head">
+        <h2>
+          <span>课程目标达成评价结果</span>
+          <el-popover
+            popper-class="el-popper-dark"
+            placement="right-start"
+            width="500"
+            trigger="hover"
+          >
+            <i class="el-icon-question" slot="reference"></i>
+            <div>
+              <p>1.评价依据:填写通过考核什么内容实现课程目标的评价;</p>
+              <p>2.目标分值:对应考核环节的满分;</p>
+              <p>
+                3.权重:对应考核环节在对应的课程目标中的权重,目标下各项权重相加等于1;
+              </p>
+              <p>4.实际平均分:为参与评价的学生在该环节的平均分;</p>
+              <p>5.目标达成评价值:∑(实际平均分/目标分值*权重);</p>
+              <p>6.整体课程目标达成评价值:为课程分目标达成评价值的最小值。</p>
+            </div>
+          </el-popover>
+        </h2>
+      </div>
+      <div class="part-box part-box-pad">
+        <h4 class="part-title">课程考核成绩评价结果</h4>
+
+        <table class="table">
+          <tr class="td-bg">
+            <th>课程目标</th>
+            <th>评价依据</th>
+            <th>评价环节</th>
+            <th>权重</th>
+            <th>目标分值</th>
+            <th>实际平均分</th>
+            <th>目标达成评价值</th>
+          </tr>
+
+          <template v-for="item in courseTargetList">
+            <tr
+              v-for="(evaluation, eindex) in item.evaluationList"
+              :key="`${item.targetId}-${eindex}`"
             >
+              <td
+                v-if="!eindex"
+                :rowspan="item.evaluationList.length"
+                style="width: 240px"
+              >
+                {{ item.targetName }}
+              </td>
+              <td v-if="!eindex" :rowspan="item.evaluationList.length">
+                <p
+                  v-for="edesc in item.graduationRequirementPoint.split('\n')"
+                  :key="edesc"
+                >
+                  {{ edesc }}
+                </p>
+              </td>
+              <td style="width: 140px">{{ evaluation.evaluation }}</td>
+
+              <td
+                v-if="!eindex"
+                style="width: 80px"
+                :rowspan="item.evaluationList.length - 1"
+              >
+                {{ item.normalTargetWeight }}
+              </td>
+              <td
+                v-else-if="eindex === item.evaluationList.length - 1"
+                style="width: 80px"
+              >
+                {{ evaluation.targetWeight }}
+              </td>
+
+              <td style="width: 100px">{{ evaluation.targetScore }}</td>
+              <td style="width: 100px">{{ evaluation.targetAvgScore }}</td>
+              <td
+                v-if="!eindex"
+                :rowspan="item.evaluationList.length"
+                style="width: 140px"
+              >
+                {{ item.evaluationValue }}
+              </td>
+            </tr>
+          </template>
+          <tr>
+            <td colspan="6">课程总目标</td>
+            <td>{{ courseTargetValue }}</td>
+          </tr>
+        </table>
+
+        <div class="chart-box" style="height: 400px; margin-top: 20px">
+          <v-chart
+            v-if="courseTargetListChartOption"
+            :option="courseTargetListChartOption"
+          ></v-chart>
+        </div>
+
+        <h4 class="part-title">课程考核成绩评价明细结果</h4>
+
+        <el-table
+          :data="studentScoreTable"
+          :span-method="studentScoreSpanMethod"
+        >
+          <el-table-column
+            label="姓名"
+            prop="name"
+            min-width="120"
+            align="center"
+            fixed="left"
+          ></el-table-column>
+          <el-table-column
+            label="学号"
+            prop="studentCode"
+            width="100"
+            align="center"
+            fixed="left"
+          ></el-table-column>
+          <el-table-column
+            v-for="(target, tindex) in courseTargets"
+            :key="tindex"
+            :label="target.targetName"
+            align="center"
+          >
+            <el-table-column width="140" align="center">
+              <template slot="header">
+                期末考试({{ target.finalWeight | percentFilter }})
+              </template>
+              <el-table-column
+                label="期末成绩"
+                :prop="`${target.targetId}-final`"
+                width="140"
+                align="center"
+              >
+              </el-table-column>
+            </el-table-column>
+            <el-table-column min-width="120" align="center">
+              <template slot="header">
+                平时考试({{ target.usualWeight | percentFilter }})
+              </template>
+              <el-table-column
+                v-for="work in target.usualWorks"
+                :key="`${target.targetId}${work}`"
+                :label="work"
+                :prop="`${target.targetId}-usual-${work}`"
+                min-width="100"
+                align="center"
+              >
+              </el-table-column>
             </el-table-column>
           </el-table-column>
-        </el-table-column>
-        <el-table-column
-          label="学生成绩"
-          prop="score"
-          align="center"
-          width="100"
-        ></el-table-column>
-      </el-table>
+          <el-table-column
+            label="学生成绩"
+            prop="score"
+            align="center"
+            width="100"
+          ></el-table-column>
+        </el-table>
+      </div>
     </div>
 
     <div slot="footer"></div>

+ 0 - 9
src/modules/mark/components/markDetail/MarkDetailArbitration.vue

@@ -25,14 +25,6 @@
           >
           </status-select>
         </el-form-item>
-        <el-form-item label="班级">
-          <el-input
-            v-model.trim="filter.className"
-            placeholder="班级"
-            clearable
-          >
-          </el-input>
-        </el-form-item>
         <el-form-item label-width="0px">
           <el-button type="primary" @click="search">查询</el-button>
         </el-form-item>
@@ -146,7 +138,6 @@ export default {
       filter: {
         groupNumber: "",
         type: "WAITING",
-        className: "",
       },
       current: 1,
       size: this.GLOBAL.pageSize,

+ 1 - 1
src/modules/mark/components/markParam/ModifyMarkGroup.vue

@@ -334,7 +334,7 @@ export default {
     visibleChange() {
       this.parseStructs();
       this.filterLabel = "";
-      this.userType = "course";
+      this.userType = "org";
       this.selectedQuestions = this.instance.questions;
       this.selectedQuestionNos = this.selectedQuestions.map((item) => item.id);
       this.selectedUsers = this.instance.markers.map((item) => {