Browse Source

选科报名使用over-under-badge组件

shilipojs 3 years ago
parent
commit
70dd092d14

+ 25 - 20
src/views/system/user/profile/components/report-table.vue

@@ -2,12 +2,15 @@
   <div>
     <div class="mb10 fx-row fx-end-base">
       <div>
-        <el-button v-if="aiShow" type="primary" @click="toAiAnalysis" >AI分析</el-button>
+        <el-button v-if="aiShow" type="primary" @click="toAiAnalysis">AI分析</el-button>
         <el-button>选科历史记录</el-button>
       </div>
     </div>
 
     <mx-table :propDefines="formatCols" :rows="formatRows">
+      <template #underOver="{value}">
+        <over-under-badge :value="value"></over-under-badge>
+      </template>
       <template #temp="{row}">
         <span class="btn-blue mr5" @click="toSelectSub(row)">选择</span>
         <span class="btn-green" @click="toReport">查看记录</span>
@@ -91,7 +94,7 @@
     </div>
     <esign-dialog ref="esignDialog"></esign-dialog>
     <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
-    <select-subject-report-dialog  ref="reportDialog"></select-subject-report-dialog>
+    <select-subject-report-dialog ref="reportDialog"></select-subject-report-dialog>
     <Ai-dialog ref="aiDialog" :prevPreferences="prevPreferences"></Ai-dialog>
   </div>
 </template>
@@ -118,6 +121,7 @@ import FinalAdjustDMResolverMixins
   from '@/views/system/user/profile/components/round-select-resolvers/finalAdjustDM-resolver-mixins'
 import ForceAdjustResolverMixins
   from '@/views/system/user/profile/components/round-select-resolvers/forceAdjust-resolver-mixins'
+import OverUnderBadge from '@/views/elective/publish/components/steps/fauclty/over-under-badge'
 
 export default {
 
@@ -125,6 +129,7 @@ export default {
     generation: Object
   },
   components: {
+    OverUnderBadge,
     SelectSubjectReportDialog,
     ReportStep,
     EsignDialog,
@@ -161,8 +166,8 @@ export default {
   },
   computed: {
     aiShow() {
-      const active =  this.generation.active
-      if(active == 3 || active == 5 || active == 7) return true
+      const active = this.generation.active
+      if (active == 3 || active == 5 || active == 7) return true
       return false
     },
     resolveTablePrefix() {
@@ -174,8 +179,8 @@ export default {
         groupName: {
           label: '选科组合'
         },
-        scoreSumGroup:{
-          label:'组合成绩'
+        scoreSumGroup: {
+          label: '组合成绩'
         },
         classCount: {
           label: '开设班级数'
@@ -211,7 +216,7 @@ export default {
           slot: 'signUp',
           width: '100',
           fixed: 'right',
-          hidden:hidden
+          hidden: hidden
         }
       }
     },
@@ -221,38 +226,38 @@ export default {
       if (!options || !this.generation.active) return {}
       const optValues = Object.values(options)
       const dynamicColumns = {}
-      for (let gen = options.primary.value; gen <= this.generation.active ; gen++) {
+      for (let gen = options.primary.value; gen <= this.generation.active; gen++) {
         const opt = optValues.find(opt => opt.value == gen)
         const resolverKey = opt.key + 'Resolver'
         const resolver = this[resolverKey]
         if (typeof resolver === 'function') {
-          const genColumns = resolver(gen,this.generation.active)
+          const genColumns = resolver(gen, this.generation.active)
           Object.assign(dynamicColumns, genColumns)
         }
       }
-      console.log('resolveDynamicTable',dynamicColumns)
+      console.log('resolveDynamicTable', dynamicColumns)
       return dynamicColumns
     },
     // 初始化 rows 填充固定数据
 
     formatRows() {
       if (!this.optionalMajors) return []
-      if(!this.generation.status?.groupIds) return []
+      if (!this.generation.status?.groupIds) return []
       const generationModels = this.generation.activeModels.find(item => item.generation == this.generation.active).models
       return this.generation.status.groupIds.split(',').map(groupId => {
-        const row = generationModels.find(item => item.groupId== groupId)
+        const row = generationModels.find(item => item.groupId == groupId)
         row.allowSelectTips = row.allowSelect ? '报名中' : row.disabledReason || '无法报名'
         row.subjects = this.optionalMajors.filter(college => {
-            if (college.matchedGroupIds.indexOf(row.groupId) != -1) return college.majorCategoryName
+          if (college.matchedGroupIds.indexOf(row.groupId) != -1) return college.majorCategoryName
         }).map(item => item.majorCategoryName)
         console.log(row.subjects)
         row.colleges = this.optionalMajors.filter(college => {
           if (college.matchedGroupIds.indexOf(row.groupId) != -1) return college.majorCategoryName
         }).map(item => {
           return {
-              college: item.collegeName,
-              major: item.majorCategoryName
-            }
+            college: item.collegeName,
+            major: item.majorCategoryName
+          }
         })
         return {
           groupId: row.groupId,
@@ -260,9 +265,9 @@ export default {
           scoreSumGroup: row.scoreSumGroup,
           classCount: row.classCount,
           personCount: row.personCount,
-          allowSelectTips :row.allowSelectTips,
-          colleges :row.colleges,
-          subjects :row.subjects,
+          allowSelectTips: row.allowSelectTips,
+          colleges: row.colleges,
+          subjects: row.subjects,
           allowSelect: row.allowSelect
         }
       })
@@ -274,7 +279,7 @@ export default {
         ...this.resolveTableSuffix
       }
     }
-   },
+  },
   methods: {
     getModelsByStep() {
       return this.models.findIndex()

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

@@ -20,7 +20,8 @@ export default {
             label:'选科人数比'
           },
           prmarySituation:{
-            label:'超/缺'
+            label:'超/缺',
+            slot: 'underOver'
           },
           rankInGroup:{
             label:'当前组合实时排名'

+ 5 - 3
src/views/system/user/profile/components/round-select-resolvers/backTrackingDM-resolver-mixins.js

@@ -10,7 +10,7 @@ export default {
         const currentGroup = models.find(group => group.groupId == item.groupId)
         console.log(currentGroup.groupApprovedCount)
         console.log(currentGroup.groupIndicator)
-        item.supplyIndicator =  currentGroup.groupIndicator >= 0 ? `超${currentGroup.groupIndicator}` : `缺${-currentGroup.groupIndicator}`
+        item.supplyIndicator =  currentGroup.groupIndicator
         // 录取人数加指标/ 设置人数
         if(currentGroup.groupIndicator >= 0) {
           item.supplyRecord = `${currentGroup.groupApprovedCount + currentGroup.groupIndicator} /${currentGroup.personCount}`
@@ -26,14 +26,16 @@ export default {
           label:'初录情况'
         },
         prmarySituation:{
-          label:'初录超缺'
+          label:'初录超缺',
+          slot: 'underOver'
         },
         supplyRecord:{
           label:'补录情况' // 补录情况 =
           // groupApprovedCount(补录阶段实际报名人数) + actualCount(补录本组合已被录取人数) / personCount(设置的人数)
         },
         supplyIndicator:{
-          label:'补录结果' // 补录的超缺
+          label:'补录结果', // 补录的超缺
+          slot: 'underOver'
         }
       }
     }

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

@@ -8,7 +8,7 @@ export default {
       this.formatRows.forEach(item => {
         const currentGroup = models.find(group => group.groupId == item.groupId)
 
-        item.towSupplyIndicator = currentGroup.groupIndicator >= 0 ? `超${currentGroup.groupIndicator}` : `缺${-currentGroup.groupIndicator}`
+        item.towSupplyIndicator = currentGroup.groupIndicator
         if(currentGroup.groupIndicator >= 0) {
           item.towSupplyRecord = `${currentGroup.groupApprovedCount + currentGroup.groupIndicator} /${currentGroup.personCount}`
         }else {
@@ -20,7 +20,8 @@ export default {
           label:'二次补录情况'
         },
         towSupplyIndicator:{
-          label:'二次补录结果'
+          label:'二次补录结果',
+          slot: 'underOver'
         }
       }
     }

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

@@ -8,7 +8,7 @@ export default {
       this.formatRows.forEach(item => {
         const currentGroup = models.find(group => group.groupId == item.groupId)
 
-        item.adjustIndicator = currentGroup.groupIndicator >= 0 ? `超${currentGroup.groupIndicator}` : `缺${-currentGroup.groupIndicator}`
+        item.adjustIndicator = currentGroup.groupIndicator
         if(currentGroup.groupIndicator >= 0) {
           item.adjustRecord = `${currentGroup.groupApprovedCount + currentGroup.groupIndicator} /${currentGroup.personCount}`
         }else {
@@ -20,7 +20,8 @@ export default {
           label:'调剂补录情况'
         },
         adjustIndicator:{
-          label:'调剂补录结果'
+          label:'调剂补录结果',
+          slot: 'underOver'
         }
       }
     }

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

@@ -10,7 +10,7 @@ export default {
         // item.applyCount = `${item.actualCount}/${item.personCount}`
         // item.rankInGroup = item.rankInGroup
         const currentGroup = models.find(group => group.groupId == item.groupId)
-        item.prmarySituation = currentGroup.groupIndicator >= 0 ? `超${currentGroup.groupIndicator}` : `缺${-currentGroup.groupIndicator}`
+        item.prmarySituation = currentGroup.groupIndicator
         // 录取人数加指标/ 设置人数
         if(currentGroup.groupIndicator >= 0) {
           item.applyCount = `${currentGroup.groupApprovedCount + currentGroup.groupIndicator} /${currentGroup.personCount}`
@@ -25,7 +25,8 @@ export default {
             label:'选科人数比'
           },
           prmarySituation:{
-            label:'超/缺'
+            label:'超/缺',
+            slot: 'underOver'
           },
           rankInGroup:{
             label:'当前组合实时排名'