浏览代码

generation step - default active step

hare8999@163.com 2 年之前
父节点
当前提交
35eb1853ca

+ 1 - 1
src/views/elective/generation/components/elective-generation-steps.vue

@@ -90,7 +90,7 @@ export default {
         defaultOpt = options.primary
       } else if (this.generation.current > options.rankBalance.value) {
         statusTip = '选科结束'
-        defaultOpt = options.rankBalance
+        defaultOpt = options.forceAdjust
       }
 
       if (!this.modelValue) {

+ 23 - 6
src/views/elective/generation/detail.vue

@@ -30,7 +30,8 @@
                                        :rank-descriptors="value.rankDescriptors"></elective-flow-rank-descriptor>
       </template>
       <template #flow-action="{row}">
-        <el-link @click="handleFlowLog(row)" :underline="false">查看</el-link>
+        <el-link v-if="enableStudentTableView" @click="handleStudentTable(row)" :underline="false">查看</el-link>
+        <el-link v-if="enableLogView" @click="handleFlowLog(row)" :underline="false">查看</el-link>
         <el-popover v-if="row['enableForce']" :ref="'force_'+row['studentId']" width="80" trigger="click"
                     popper-class="zero-padding-popover">
           <div class="fx-column">
@@ -46,10 +47,11 @@
     </mx-table>
     <pagination :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
                 @pagination="loadGenerationDetails"></pagination>
-    <el-dialog title="选科历史记录" v-if="logVisible" :visible.sync="logVisible" :width="logDialogWidth">
+    <el-dialog title="选科流程明细" v-if="logVisible" :visible.sync="logVisible" :width="logDialogWidth">
       <elective-generation-flow-log :groups="prevData.groups" :histories="logRow.histories"
                                     :matched-majors="this.majorsMap[logRow['studentId']]"/>
     </el-dialog>
+    <el-dialog title="查看详情" :visible.sync="studentTableVisible" :width="logDialogWidth"></el-dialog>
   </div>
 </template>
 
@@ -81,11 +83,16 @@ export default {
       const n = this.prevData.roundName
       return y + s + n
     },
+    options() {
+      return config.electiveGenerationOptions
+    },
+    activeOpt() {
+      return Object.values(this.options).find(opt => opt.value == this.prevData.activeGeneration)
+    },
     subTitle() {
       if (this.prevData.isAccumulate) return ''
-      const g = Object.values(config.electiveGenerationOptions).find(opt => opt.value == this.prevData.activeGeneration)
-      const hideGeneration = g == config.electiveGenerationOptions.init || g == config.electiveGenerationOptions.terminate
-      return hideGeneration ? '' : g?.title || ''
+      const hideGenerations = [this.options.init, this.options.terminate]
+      return hideGenerations.includes(this.activeOpt) ? '' : this.activeOpt?.title || ''
     },
     localData() {
       this.queryParams.generation = this.prevData.queryGeneration
@@ -142,6 +149,12 @@ export default {
       const expectedWidth = (this.prevData.groups.length + 3) * 160 // 假定elective-generation-flow-log 单格宽160
       const finalWidth = Math.min(expectedWidth, window.innerWidth * 0.8)
       return finalWidth + 'px'
+    },
+    enableLogView() {
+      return this.activeOpt?.value >= this.options.forceAdjust.value
+    },
+    enableStudentTableView() {
+      return this.activeOpt?.value < this.options.forceAdjust.value
     }
   },
   data() {
@@ -161,7 +174,8 @@ export default {
       majorsMap: null,
       // log
       logVisible: false,
-      logRow: {}
+      logRow: {},
+      studentTableVisible: false
     }
   },
   methods: {
@@ -235,6 +249,9 @@ export default {
       this.logRow = row
       this.logVisible = true
     },
+    handleStudentTable(row) {
+      this.$alert('待填充')
+    },
     handleForceAdjust(group, row) {
       let message = `确认将'${row.studentName}'调剂至'${group.groupName}'?!`
       if (row['disableForceGroupId'] > 0) {