Pārlūkot izejas kodu

新增测评选科菜单,调整选科信息布局

shilipojs 3 gadi atpakaļ
vecāks
revīzija
02deb780cc

+ 22 - 0
src/views/career/evaluationSelectSubject/index.vue

@@ -0,0 +1,22 @@
+<template>
+  <div class="app-container">
+    <test-summary></test-summary>
+  </div>
+</template>
+
+<script>
+import TestSummary from '@/views/elective/test/components/test-summary'
+export default {
+  components: {
+    TestSummary
+  },
+  data() {
+    return {
+
+    }
+  }
+}
+</script>
+<style>
+
+</style>

+ 36 - 16
src/views/system/user/profile/components/report-table.vue

@@ -4,7 +4,7 @@
       <div class="fx-row fx-bet-cen">
         <span>选科报名表</span>
         <div>
-          <el-button type="primary" @click="toAiAnalysis">AI分析</el-button>
+          <el-button type="primary" @click="toAiAnalysis" v-if="generation > 0">AI分析</el-button>
           <el-button>选科历史记录</el-button>
         </div>
       </div>
@@ -18,8 +18,12 @@
       <template #signUp="{row}">
         <span class="f-red" v-if="!row.allowSelect">无法报名</span>
         <div v-else>
-          <span class="f-red btn-red" v-if="row.selected" @click="toUnSelect(row)">取消报名</span>
-          <span class="btn-green" v-else @click="toSelect(row)">报名</span>
+          <span v-if="generation > 0">可报名</span>
+          <div v-else>
+            <span class="f-red btn-red" v-if="row.selected" @click="toUnSelect(row)">取消报名</span>
+            <span class="btn-green" v-else @click="toSelect(row)">报名</span>
+          </div>
+
         </div>
       </template>
       <template #subjects="{row}">
@@ -47,17 +51,19 @@
         </el-row>
       </template>
     </mx-table>
-    <p>您的选科志愿: <span v-for="(item,index) in selectedList">
-      {{ item.groupName }}{{ index + 1 < selectedList.length ? '、' : '' }}</span>
-    </p>
     <!-- 初录 多志愿拖拽 -->
     <div v-if="generation == 0">
+      <p>您的选科志愿: <span v-for="(item,index) in selectedList">
+      {{ item.groupName }}{{ index + 1 < selectedList.length ? '、' : '' }}</span>
+      </p>
       <test-drage ref="drage" :sortList="selectedList"></test-drage>
+      <el-button @click="commit" type="primary">提交</el-button>
     </div>
+    <!--  补录报名和二次补录报名 -->
     <div v-else>
-      单次报名
+      单志愿报名
+      <span v-for="item in singleList">{{item.groupName}}</span>
     </div>
-    <el-button @click="commit" type="primary">提交</el-button>
     <esign-dialog ref="esignDialog"></esign-dialog>
     <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
     <select-subject-report-dialog ref="reportDialog" ></select-subject-report-dialog>
@@ -73,6 +79,16 @@ import SelectSubjectReportDialog from '@/views/system/user/profile/components/se
 import EsignDialog from '@/views/system/user/profile/components/esign-dialog'
 
 export default {
+  props:{
+    generation:{
+      type: Number,
+      default: 1 // 模拟报名所处状态, 0为初录
+    },
+    preferenceCount: {
+      type: Number,
+      default: 3 // 多志愿个数
+    }
+  },
   components: {
     SelectSubjectReportDialog,
     EsignDialog,
@@ -83,12 +99,11 @@ export default {
   mixins: [MxSelectTranslate],
   data() {
     return {
-      generation: 0, // 模拟报名所处状态, 0为初录
-      preferenceCount: 3,
       optionalMajors: [],
       dialogVisible: false,
       modelsWrapper: {},
-      selectedList: []
+      selectedList: [],
+      singleList: [] // 单志愿列表
     }
   },
   mounted() {
@@ -219,11 +234,12 @@ export default {
         type: 'warning'
       }).then(() => {
         row.selected = false
-        this.selectedList.splice(
-          this.selectedList.indexOf(this.selectedList.find((selected)=> {
-            return selected.groupId == row.groupId
-          }),1)
-        )
+        const start = this.selectedList.indexOf(this.selectedList.find((selected)=> {
+          return selected.groupId == row.groupId
+        }))
+        console.log(start)
+        this.selectedList.splice(start,1)
+
       }).catch(() => {
         this.$message({
           type: 'info',
@@ -243,6 +259,10 @@ export default {
       this.selectedList = this.modelsWrapper.models.filter(item => {
         return item.selected
       })
+      // generation > 0 时 是单志愿报名
+      this.singleList = this.modelsWrapper.models.filter(item => {
+        return item.allowSelect
+      })
       this.$nextTick(()=>this.$refs.drage.init(this.selectedList))
     },
     initOption(optionalMajors) {

+ 4 - 1
src/views/system/user/profile/components/select-subject.vue

@@ -27,7 +27,10 @@
         <template #header>
           <div class="fx-row fx-bet-cen">
             您的测评推荐专业:
-            <el-button @click="toMatch(2)">整体匹配</el-button>
+            <div>
+              <el-button type="primary" @click="$router.push('/career/testSelectSubject')">查看报告</el-button>
+              <el-button @click="toMatch(2)">整体匹配</el-button>
+            </div>
           </div>
         </template>
         <div>

+ 1 - 4
src/views/system/user/profile/round-select.vue

@@ -28,7 +28,6 @@
     <select-subject class="mt20" :evaluationMajors="evaluationMajors" :optionalMajors="optionalMajors" :list="reportInfo.models"></select-subject>
     <!--  选科报名表  -->
     <report-table class="mt20"  ref="reportRef" ></report-table>
-    <test-summary></test-summary>
     <el-card shadow="hover" class="mt20">
       <template #header>意向选科</template>
       <el-row :gutter="20">
@@ -102,13 +101,11 @@ import transferMixin from '@/components/mx-transfer-mixin'
 import consts from '@/common/mx-const'
 import TestEntry from '@/views/elective/test/components/test-entry'
 import TestResult from '@/views/elective/test/components/test-result'
-import TestSummary from '@/views/elective/test/components/test-summary'
 import SelectSubject from '@/views/system/user/profile/components/select-subject'
 import ReportTable from '@/views/system/user/profile/components/report-table'
 import {
   getOptionalMajors,
   getRecommendMajor,
-  getData,
   getPrimaryElectivesModels
 } from '@/api/webApi/elective/ selected-subject'
 
@@ -118,7 +115,7 @@ export default {
       optionalMajors: this.getOptionalMajors
     }
   },
-  components: { SelectSubject, TestSummary, TestResult, TestEntry,ReportTable },
+  components: { SelectSubject, TestResult, TestEntry,ReportTable },
   mixins: [transferMixin],
   name: 'round-select',
   data() {