Ver código fonte

Merge branch 'master' of http://121.4.203.192:9000/mingxue/front

shilipojs 3 anos atrás
pai
commit
84f2d74d5c

+ 1 - 1
src/api/webApi/elective/generation.js

@@ -54,7 +54,7 @@ export function cancelEnrollByForce(id) {
 // 决策阶段,强制调剂录取
 export function enrollByForce(groupId, studentId) {
   return request({
-    url: '/front/elective/generation/enrollByForce?groupId=' + id + '&studentId=' + studentId,
+    url: '/front/elective/generation/enrollByForce?groupId=' + groupId + '&studentId=' + studentId,
     method: 'post'
   })
 }

+ 1 - 1
src/views/elective/generation/components/elective-flow-table-style.css

@@ -4,7 +4,7 @@
 
 .elective-flow-table.el-table th > .cell {
   position: unset;
-  margin-top: 5px;
+  margin-top: 8px;
   margin-bottom: 5px;
 }
 

+ 33 - 5
src/views/elective/generation/detail.vue

@@ -9,7 +9,7 @@
       <template #group-header="{label, key}">
         <div class="fx-row jc-cen">
           <span>{{ label }}</span>
-          <el-popover trigger="hover" :disabled="!!!detailTable.groupHeaders[key].text">
+          <el-popover trigger="hover" :disabled="!!!detailTable.groupHeaders[key].text" class="mx-generation-rank">
             <div v-for="(desc,idx) in detailTable.groupHeaders[key].descriptions" :key="idx">
               <span>{{ desc.description }}</span> <span class="bold">{{ desc.value }}</span></div>
             <el-tag slot="reference" size="mini" class="round-y ml3">{{ detailTable.groupHeaders[key].text }}</el-tag>
@@ -26,8 +26,19 @@
         <elective-flow-rank-descriptor v-if="value.rankDescriptors"
                                        :rank-descriptors="value.rankDescriptors"></elective-flow-rank-descriptor>
       </template>
-      <template #flow-log="{row}">
+      <template #flow-action="{row}">
         <el-link @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">
+            <el-divider>调剂</el-divider>
+            <el-button v-for="(g,i) in prevData.groups" :key="i" class="ml0" plain type="text"
+                       :disabled="g.groupId==row['disableForceGroupId']"
+                       @click="handleForceAdjust(g, row)&&$refs['force_'+row['studentId']].doClose()">{{ g.groupName }}
+            </el-button>
+          </div>
+          <el-link slot="reference" :underline="false" type="warning" class="ml10">调剂</el-link>
+        </el-popover>
       </template>
     </mx-table>
     <pagination :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@@ -42,16 +53,21 @@
 <script>
 import config from '@/common/mx-config'
 import transferMixin from '@/components/mx-transfer-mixin'
+import groupTranslateMixin from '@/components/Cache/modules/mx-select-translate-mixin'
 import { mapGetters } from 'vuex'
 import MxCondition from '@/components/MxCondition/mx-condition'
-import { getElectiveGenerationDetails, getGenerationOptionalMajorsBatch } from '@/api/webApi/elective/generation'
+import {
+  enrollByForce,
+  getElectiveGenerationDetails,
+  getGenerationOptionalMajorsBatch
+} from '@/api/webApi/elective/generation'
 import ElectiveGenerationFlowLog from '@/views/elective/generation/components/elective-generation-flow-log'
 import ElectiveFlowMajor from '@/views/elective/generation/components/elective-flow-major'
 import ElectiveFlowRankDescriptor from '@/views/elective/generation/components/elective-flow-rank-descriptor'
 
 export default {
   components: { ElectiveFlowRankDescriptor, ElectiveFlowMajor, ElectiveGenerationFlowLog, MxCondition },
-  mixins: [transferMixin],
+  mixins: [transferMixin, groupTranslateMixin],
   name: 'generation-detail',
   computed: {
     ...mapGetters(['school']),
@@ -110,7 +126,7 @@ export default {
           })
         })
       }
-      columns.actions = { label: '查看明细', slot: 'flow-log' }
+      columns.actions = { label: '操作', slot: 'flow-action', minWidth: '100px' }
       return {
         rows,
         columns,
@@ -208,6 +224,18 @@ export default {
     handleFlowLog(row) {
       this.logRow = row
       this.logVisible = true
+    },
+    handleForceAdjust(group, row) {
+      let message = `确认将'${row.studentName}'调剂至'${group.groupName}'?!`
+      if (row['disableForceGroupId'] > 0) {
+        message += `\n 当前录取组合'${this.translateGroup(row['disableForceGroupId'])}'`
+      }
+      this.$confirm(message, '强制调剂提醒', { type: 'warning' }).then(() => {
+        enrollByForce(group.groupId, row['studentId']).then(res => {
+          this.loadGenerationDetails() // refresh
+        })
+      })
+      return true
     }
   }
 }