瀏覽代碼

选科补录报名---拒绝--列名后移

shilipojs 2 年之前
父節點
當前提交
7e78a7cb20

+ 9 - 0
src/api/webApi/elective/selected-subject.js

@@ -64,6 +64,15 @@ export function saveEsign(data) {
   })
 }
 
+// 拒绝报名
+export function rejectRecommend(data) {
+  return request({
+    url: '/front/elective/enroll/rejectRecommend',
+    method: 'post',
+    data
+  })
+}
+
 
 
 

+ 23 - 7
src/views/system/user/profile/components/report-table.vue

@@ -26,7 +26,7 @@
         <!--        <el-button>查看</el-button>-->
       </template>
       <template #signUp="{row}">
-        <span class="f-red" v-if="!row.allowSelect">无法报名</span>
+        <span class="f-red" v-if="!row.allowSelect">{{ row.disabledReason || '无法报名' }}</span>
         <div v-else>
           <span v-if="generation.current > 1" @click="singleCommit(row)" class="btn-green">报名</span>
           <div v-else>
@@ -110,10 +110,9 @@
             </el-input>
             <p class="fx-row jc-between mt10">
               <el-button type="primary" size="mini" @click="popoShow = false">取消</el-button>
-              <el-button type="danger" size="mini" v-if="">提交</el-button>
+              <el-button type="danger" size="mini" @click="rejectSupply">提交</el-button>
             </p>
           </div>
-
           <el-button slot="reference" type="danger">不同意</el-button>
         </el-popover>
       </div>
@@ -133,7 +132,7 @@ import SelectSubjectReportDialog from '@/views/system/user/profile/components/se
 import EsignDialog from '@/views/system/user/profile/components/esign-dialog'
 import ReportStep from './report-step'
 import OverUnderBadge from '@/views/elective/publish/components/steps/fauclty/over-under-badge'
-import { submitElectiveModels } from '@/api/webApi/elective/selected-subject'
+import { rejectRecommend, submitElectiveModels } from '@/api/webApi/elective/selected-subject'
 
 const resolverModules = require.context('./round-select-resolvers', false, /\.js$/)
 const resolvers = resolverModules.keys().map(key => resolverModules(key).default)
@@ -165,7 +164,7 @@ export default {
     return {
       popoShow: false,
       activeStep: '',
-      regInfo: '',
+      regInfo: '', // 拒绝原因
       dialogVisible: false,
       singleList: [], // 单志愿列表
       rows: []
@@ -326,7 +325,7 @@ export default {
         const resolver = this[resolverKey]
         if (typeof resolver === 'function') {
           const genColumns = resolver(gen, this.generation.active, dynamicColumns)
-          Object.assign(dynamicColumns, genColumn)
+          Object.assign(dynamicColumns, genColumns)
         }
       }
       return dynamicColumns
@@ -368,6 +367,24 @@ export default {
     getModelsByStep() {
       return this.models.findIndex()
     },
+    rejectSupply() {
+      if(!this.regInfo.length) {
+        this.$message.error('拒绝原因不能为空')
+        return
+      }
+      const rejectRow = this.activeModels.models.find(item => item.isRecommend)
+      rejectRow.rejected = true
+      rejectRow.rejectedReason = this.regInfo
+      rejectRecommend({
+       models: [rejectRow]
+      }).then(res => {
+        if(res.code == 200) {
+          this.refreshData()
+        }
+      }).finally(_ => {
+        this.regInfo = ''
+      })
+    },
     isGroupOverSetting(row) {
       if (this.generation.activeOpt.decisionMaking) {
         console.log('isGroupOverSetting decisionMaking', row.groupApprovedCount >= row.personCount, row)
@@ -397,7 +414,6 @@ export default {
         type: 'warning'
       }).then(() => {
         row.selected = true
-        console.log(row)
         const arrRow = [row]
         submitElectiveModels({
           models: [row]

+ 2 - 0
src/views/system/user/profile/components/round-select-resolvers/backTracking-resolver-mixins.js

@@ -7,6 +7,8 @@ export default {
       this.formatRows.forEach(item => {
         const currentGroup = models.find(group => group.groupId == item.groupId) || {}
         item.backTrackingApply = `${currentGroup.actualCount + currentGroup.groupApprovedCount} /${currentGroup.personCount}`
+        item.rankInGroup = currentGroup.rankInGroup
+        item.rankInGrade = currentGroup.rankInGrade
       })
 
       if (active < 4) {

+ 13 - 2
src/views/system/user/profile/components/round-select-resolvers/primaryDM-resolver-mixins.js

@@ -1,14 +1,19 @@
 export default {
   methods: {
     primaryDMResolver(gen, active, context) {
+      console.log('context',context)
+      delete context['rankInGroup']
+      delete context['rankInGrade']
+      console.log('context',context)
+
       const models = this.generation.activeModels.find(item => item.generation == gen).models
       const generation = this.generation.activeModels.find(item => item.generation == gen).generation
 
       this.formatRows.forEach(item => {
-        // item.applyCount = `${item.actualCount}/${item.personCount}`
-        // item.rankInGroup = item.rankInGroup
         const currentGroup = models.find(group => group.groupId == item.groupId) || {}
         item.primarySituation = currentGroup.nextGroupIndicator
+        item.rankInGroup = currentGroup.rankInGroup
+        item.rankInGrade = currentGroup.rankInGrade
       })
       console.log(active)
       if (active < 4) {
@@ -16,6 +21,12 @@ export default {
           primarySituation: {
             label: '超/缺',
             slot: 'underOver'
+          },
+          rankInGroup:{
+            label:'当前组合实时排名'
+          },
+          rankInGrade:{
+            label:'选科全校排名'
           }
         }
       } else {