Преглед изворни кода

选科报名修复文字显示

shilipojs пре 2 година
родитељ
комит
5d26ab7717

+ 1 - 1
src/views/system/user/profile/components/ai-analysis-dialog.vue

@@ -42,7 +42,7 @@
               trigger="hover"
             >
               <div class="fx-column">
-                <el-button plain type="text">{{ college }}</el-button>
+                <el-button plain type="text">{{ college.major }}</el-button>
               </div>
               <el-tag type="success" slot="reference" class="mr10 mb10">{{ college.major[0] }}</el-tag>
             </el-popover>

+ 83 - 52
src/views/system/user/profile/components/report-table.vue

@@ -7,7 +7,7 @@
       </div>
       <div v-if="!readonly">
         <el-button v-if="aiButtonShow" type="primary" @click="toAiAnalysis">AI分析</el-button>
-<!--        <el-button>选科历史记录</el-button>-->
+        <!--        <el-button>选科历史记录</el-button>-->
       </div>
     </div>
 
@@ -16,7 +16,9 @@
         <over-under-badge :value="value"></over-under-badge>
       </template>
       <template #group="{row}">
+        <el-badge class="group" value="荐" :hidden="!row.isRecommend" type="success">
           <el-tag size="medium" :type="row.allowSelect ? 'warning' : 'danger'" >{{row.groupName}}</el-tag>
+        </el-badge>
       </template>
       <template #temp="{row}">
         <span class="btn-blue mr5" @click="toSelectSub(row)">选择</span>
@@ -61,7 +63,7 @@
               <div class="fx-column">
                 <el-button plain type="text">{{ college.major }}</el-button>
               </div>
-              <el-tag type="success" slot="reference" class="mr10 mb10">{{  college.major[0] }}</el-tag>
+              <el-tag type="success" slot="reference" class="mr10 mb10">{{ college.major[0] }}</el-tag>
             </el-popover>
             :
             <span>{{ college.college }}</span>
@@ -70,22 +72,23 @@
       </template>
     </mx-table>
     <!-- 初录 多志愿拖拽 -->
-    <div v-if="this.generation.active == 1">
-      <p >您的选科志愿: <span v-for="(item,index) in activeModels.selectedList">
-      {{ item.groupName }}
-<!--        {{ index + 1 < selectedList.length ? '、' : '' }}-->
+    <div v-if="this.generation.active == 1 || this.generation.active == 2">
+      <p>您的选科志愿: <span v-for="(item,index) in activeModels.selectedList">
+        {{ item.groupName }}
       </span>
       </p>
-      <div >
-        <test-drage ref="drage" :btnDisabled="this.generation.current != 1"  :selectedList="activeModels.selectedList"></test-drage>
+      <div>
+        <test-drage ref="drage" :btnDisabled="this.generation.current != 1" :selectedList="activeModels.selectedList"
+        ></test-drage>
         <el-button @click="commit" type="primary" v-if="this.generation.current == 1">提交</el-button>
       </div>
     </div>
+    <div v-if="generation.current > generation.active && generation.active > 2">
+      <!--  补录报名和二次补录报名和调剂报名历史报名信息 -->
+      {{ historySupply }}
+    </div>
     <!--  补录报名和二次补录报名和调剂报名 -->
     <div v-if="flagShow">
-<!--      <div v-for="item in singleList" class="mb5 mt5">-->
-<!--        <el-button @click="commit" type="primary">{{ `${item.groupName} : 报名` }}</el-button>-->
-<!--      </div>-->
       <div class="mb5 mt10 text-right">
         <el-popover
           placement="right"
@@ -114,7 +117,7 @@
     <esign-dialog ref="esignDialog"></esign-dialog>
     <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
     <select-subject-report-dialog ref="reportDialog"></select-subject-report-dialog>
-    <Ai-dialog ref="aiDialog" :generation="generation" ></Ai-dialog>
+    <Ai-dialog ref="aiDialog" :generation="generation"></Ai-dialog>
   </div>
 </template>
 <script>
@@ -158,7 +161,7 @@ export default {
     ChooseSubjectDialog,
     AiDialog
   },
-  inject: ['loadStudentSelected','getStudentElectiveModels'],
+  inject: ['loadStudentSelected', 'getStudentElectiveModels'],
   mixins: [
     MxSelectTranslate,
     PrimaryResolverMixins,
@@ -176,56 +179,80 @@ export default {
       regInfo: '',
       dialogVisible: false,
       singleList: [], // 单志愿列表
-      rows: [],
+      rows: []
     }
   },
   computed: {
+    historySupply() {
+      // 当前代历史报名信息
+      if (!this.generation.models.length) return ''
+      // 填报 || 拒绝  || 未选择
+      // 当前代
+      const activeModels = this.generation.models.find(item => item.generation == this.generation.active)
+      const isRefuse = activeModels.models.filter(item => item.rejected)
+      if(isRefuse.length > 0) {
+        // 拒绝了
+        return '拒绝填报志愿'
+      }else {
+        //  填报 or 未选择
+        const supply = activeModels.models.filter(item => item.selected)
+        if (supply.length > 0) {
+          return `填报志愿为${supply[0].groupName}`
+        }else {
+          return '未填报志愿'
+        }
+      }
+    },
     // 不符
     currentSupplyInfo() {
-      if(!this.generation.models.length) return {}
+      if (!this.generation.models.length) return ''
       // console.log(this.generation)
-      if(this.generation.active < 2) return {}
+      if (this.generation.active < 2) return ''
       let info = ''
       const activeModels = this.generation.models.find(item => item.generation == this.generation.active)
       // 是否被录取?
-      const approved =  activeModels.models.filter(item => {return item.approved})
-      if(approved.length) {
+      const approved = activeModels.models.filter(item => {
+        return item.approved
+      })
+      if (approved.length) {
         // 查找
         // 已被录取
         info = `同学,你好,你之前所选择的${approved.groupName}已被录取`
-      }else {
+      } else {
         // 已报名未被录取的group 取当前models的前一个
-        const prevModels =  this.generation.models.find(item => item.generation == activeModels.generation - 1)
+        const prevModels = this.generation.models.find(item => item.generation == activeModels.generation - 1)
 
         // 是否拒绝 ?
-        const isRefuse  = prevModels.models.filter(item => item.rejected)
-        if(isRefuse.length > 0) {
+        const isRefuse = prevModels.models.filter(item => item.rejected)
+        if (isRefuse.length > 0) {
           // 拒绝报名
           let tips = ''
-          const prevGen = Object.values(this.generation.options).find(item =>  item.value  == prevModels.generation)
-          if(prevGen.decisionMaking){
-            tips = Object.values(this.generation.options).find(item =>  item.value  == prevModels.generation - 1).title
-          }else {
+          const prevGen = Object.values(this.generation.options).find(item => item.value == prevModels.generation)
+          if (prevGen.decisionMaking) {
+            tips = Object.values(this.generation.options).find(item => item.value == prevModels.generation - 1).title
+          } else {
             tips = prevGen.title
           }
           const isSupply = prevGen.decisionMaking ? ',现有以下标黄组合可以重新报名' : ''
-          info = `<p>同学,你好,你在${tips}拒绝填报志愿 ${isSupply} </p>`
-        }else {
+          info = `<p>同学,你好,你在${tips}拒绝填报志愿 ${isSupply} </p>`
+        } else {
           // 没被录取的组合
-          const refuseGroup = prevModels.models.filter(item => {return item.selected})
+          const refuseGroup = prevModels.models.filter(item => {
+            return item.selected
+          })
           // 获取报名的阶段
           let tips = ''
-          const prevGen = Object.values(this.generation.options).find(item =>  item.value  == prevModels.generation)
-          if(prevGen.decisionMaking){
-            tips = Object.values(this.generation.options).find(item =>  item.value  == prevModels.generation - 1).title
-          }else {
+          const prevGen = Object.values(this.generation.options).find(item => item.value == prevModels.generation)
+          if (prevGen.decisionMaking) {
+            tips = Object.values(this.generation.options).find(item => item.value == prevModels.generation - 1).title
+          } else {
             tips = prevGen.title
           }
           const isSupply = prevGen.decisionMaking ? ',现有以下标黄组合可以重新报名' : ''
-          if(refuseGroup.length > 0) {
+          if (refuseGroup.length > 0) {
             info = `<p>同学,你好,你在${tips}所选择的 <span class="f-red">${refuseGroup.map(g => g.groupName).join(',').toString()}</span> 不符合条件${isSupply} </p>`
-          }else {
-            info = `<p>同学,你好,你在${tips}未填报志愿 ${isSupply} </p>`
+          } else {
+            info = `<p>同学,你好,你在${tips}未填报志愿 ${isSupply} </p>`
           }
         }
       }
@@ -245,12 +272,12 @@ export default {
       return {
         index: {
           type: 'index',
-          label: '编号',
+          label: '编号'
         },
         groupName: {
           label: '选科组合',
-          slot:'group',
-          width:'85px'
+          slot: 'group',
+          width: '85px'
         },
         scoreSumGroup: {
           label: '组合成绩'
@@ -313,8 +340,8 @@ export default {
       }
       return dynamicColumns
     },
-    activeModels(){
-      if(!this.generation) return {}
+    activeModels() {
+      if (!this.generation) return {}
       const generation = this.generation.models.find(item => item.generation == this.generation.active)
       // generation.selectedList = generation.models.filter(item => {
       //   return item.selected
@@ -327,7 +354,7 @@ export default {
       if (!this.generation.roundGroups?.length) return []
       if (!this.generation.activeModels?.length) return []
       const generationModels = this.generation.activeModels.last()?.models || []
-      return  this.generation.roundGroups.map(rg => {
+      return this.generation.roundGroups.map(rg => {
         const row = generationModels.find(item => item.groupId == rg.groupId) || {}
         row.allowSelectTips = row.allowSelect ? '报名中' : row.disabledReason || '无法报名'
         const matchedMajors = this.optionalMajors.filter(college => college.matchedGroupIds.includes(row.groupId))
@@ -352,8 +379,8 @@ export default {
     },
     toReport() {
       // 是否更改了报名数据 ?
-      const flag = this.activeModels.models.filter(item  => item.selected).length == this.activeModels.selectedList.length
-      if(!flag) {
+      const flag = this.activeModels.models.filter(item => item.selected).length == this.activeModels.selectedList.length
+      if (!flag) {
         this.$message.warning('请先提交更改过的志愿')
         return
       }
@@ -375,16 +402,16 @@ export default {
           return
         }
       }
-      this.$confirm(`是否要提交报名`,  {
+      this.$confirm(`是否要提交报名`, {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
         submitElectiveModels({
-          models:this.activeModels.selectedList,
+          models: this.activeModels.selectedList
           // esign:this.base64Img
         }).then(res => {
-          if(res.code == 200) {
+          if (res.code == 200) {
             this.$message.success('报名成功')
             this.loadStudentSelected()
             this.getStudentElectiveModels()
@@ -405,12 +432,12 @@ export default {
       const preferenceCount = this.generation.status.preferenceCount
       const count = this.formatRows.reduce((prev, cur) => {
         return prev += cur.selected ? 1 : 0
-      },0)
+      }, 0)
       if (count >= preferenceCount) {
         this.$message.warning(`最多选择${preferenceCount}个志愿`)
         return
       }
-      this.activeModels.models.find(item =>  item.groupId == row.groupId).selected = true
+      this.activeModels.models.find(item => item.groupId == row.groupId).selected = true
       row.selected = true
       this.activeModels.selectedList.push(row)
     },
@@ -420,7 +447,7 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        this.activeModels.models.find(item =>  item.groupId == row.groupId).selected = false
+        this.activeModels.models.find(item => item.groupId == row.groupId).selected = false
         row.selected = false
         const start = this.activeModels.selectedList.findIndex(item => item.groupId == row.groupId)
         console.log(start)
@@ -434,8 +461,8 @@ export default {
     },
     toSelectSub(row) {
       // 是否更改了报名数据 ?
-      const flag = this.activeModels.models.filter(item  => item.selected).length == this.activeModels.selectedList.length
-      if(!flag) {
+      const flag = this.activeModels.models.filter(item => item.selected).length == this.activeModels.selectedList.length
+      if (!flag) {
         this.$message.warning('请先提交更改过的志愿')
         return
       }
@@ -455,4 +482,8 @@ export default {
 .cell .el-tag {
   margin-right: 5px;
 }
+.group /deep/ .el-badge__content.is-fixed {
+  top: 8px;
+  right: 14px;
+}
 </style>