Переглянути джерело

选科修复--选科查询修复

shilipojs 3 роки тому
батько
коміт
bea71510fe

+ 3 - 1
.env.development

@@ -2,8 +2,10 @@
 ENV = 'development'
 
 # 名学金榜学习系统/生产环境
-VUE_APP_BASE_API = 'https://front.mingxuejinbang.com/prod-api'
+#VUE_APP_BASE_API = 'https://front.mingxuejinbang.com/prod-api'
 #VUE_APP_BASE_API = 'http://192.168.0.106:1024/prod-api'
+VUE_APP_BASE_API = 'http://192.168.0.107:1024/prod-api'
+
 #VUE_APP_BASE_API = '/prod-api'
 VUE_APP_MOBILE = "https://h5.mingxuejinbang.com"
 

+ 37 - 5
src/views/career/subject/components/select-subjec-report.vue

@@ -7,8 +7,12 @@
     </div>
     <mx-table v-if="activeType == 0 || activeType == 1"  :propDefines="propDefine" :rows="collectList">
       <template #select="{ row }">
-          <i class="el-icon el-icon-success"  style="color: #42b983" v-if="row.isSelectCourse && row.collect"></i>
-          <i class="el-icon el-icon-success"  v-else></i>
+          <i class="pointer el-icon el-icon-success"   style="color: #42b983" v-if=" row.collect"></i>
+          <i class="pointer el-icon el-icon-success"  v-else></i>
+      </template>
+      <template #isSelectCourse="{ row }">
+        <i class="pointer el-icon el-icon-success"  @click="saveCourseCollect(row)" style="color: #42b983" v-if="row.isSelectCourse && row.collect"></i>
+        <i class="pointer el-icon el-icon-success"  @click="saveCourseCollect(row)" v-else></i>
       </template>
     </mx-table>
     <mx-table v-if="activeType == 2" :propDefines="recomProp" :rows="recommendMajor"></mx-table>
@@ -20,9 +24,9 @@
 <script>
 import {
   getRecommendMajor,
-  getOptionalMajors
+  getOptionalMajors,
 } from '@/api/webApi/elective/selected-subject'
-import { xkcxlist } from '@/api/webApi/webQue'
+import { xkcxlist, collectAdd, collectRemove, saveSelectCourse } from '@/api/webApi/webQue'
 export default {
   props: {
     type: {
@@ -105,7 +109,8 @@ export default {
         },
         isSelectCourse:{
           label:'选科收藏',
-          slot:'select',
+          slot:'isSelectCourse',
+          hidden: false
         }
       },
       pageForm: {
@@ -135,6 +140,33 @@ export default {
         this.recommendMajor = res.data
       })
     },
+    // 收藏
+    httpCollectAdd(row) {
+      row.collect = true;
+      collectAdd({
+        refId: row.id,
+      });
+    },
+    // 取消收藏
+    httpCollectRemove(row) {
+      row.collect = false;
+      collectRemove({
+        refId: row.id,
+      });
+    },
+    // 选科收藏 取消和收藏
+    saveCourseCollect(row) {
+      saveSelectCourse({
+        refId:row.id,
+        isSelectCourse: !row.isSelectCourse
+      }).then(res =>{
+        if(res.code== 200){
+          row.isSelectCourse = !row.isSelectCourse
+          this.$message.success(res.msg)
+          this.getOptionalMajors()
+        }
+      })
+    },
     getXkcxlist() {
       const stat = this.activeType == 0 ? {collect:true} : {isSelectCourse:true,}
       xkcxlist({

+ 18 - 1
src/views/system/user/profile/components/report-table.vue

@@ -46,7 +46,16 @@
       <template #colleges="{row}">
         <el-row>
           <el-col :span="12" v-for="college in row.colleges">
-            <el-tag type="success" class="mb10">{{ college.major[0] }}</el-tag>
+            <el-popover
+              placement="top"
+              popper-class="zero-padding-popover"
+              trigger="hover"
+            >
+              <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-popover>
             :
             <span>{{ college.college }}</span>
           </el-col>
@@ -279,6 +288,10 @@ export default {
       return this.models.findIndex()
     },
     toReport() {
+      if(this.selectedList.length) {
+        this.$message.warning('请先提交志愿')
+        return
+      }
       this.$refs.reportDialog.open()
     },
     toAiAnalysis() {
@@ -331,6 +344,10 @@ export default {
       })
     },
     toSelectSub(row) {
+      if(this.selectedList.length) {
+        this.$message.warning('请先提交志愿')
+        return
+      }
       // 打开选科弹窗
       const course0 = this.translateCourse0(row.groupId)
       const course1 = this.translateCourse1(row.groupId)

+ 17 - 14
src/views/system/user/profile/components/select-subject.vue

@@ -7,19 +7,21 @@
             您的自选专业:
             <el-button @click="toMatch(1)">整体匹配</el-button>
           </div>
-        </template> <div>
-        <el-popover
-          placement="bottom"
-          trigger="hover"
-          v-for="item in optionalMajors"
-          popper-class="zero-padding-popover"
-        >
-          <div class="fx-column">
-            <el-button plain type="text" @click="toGroupMatch(item)">匹配组合</el-button>
-          </div>
-          <el-tag class="mr10 mb10" type="success" slot="reference">{{ item.majorCategoryName }}</el-tag>
-        </el-popover>
-      </div>
+        </template>
+        <div v-if="!!optionalMajors.length">
+          <el-popover
+            placement="bottom"
+            trigger="hover"
+            v-for="item in optionalMajors"
+            popper-class="zero-padding-popover"
+          >
+            <div class="fx-column">
+              <el-button plain type="text" @click="toGroupMatch(item)">匹配组合</el-button>
+            </div>
+            <el-tag class="mr10 mb10" type="success" slot="reference">{{ item.majorCategoryName }}</el-tag>
+          </el-popover>
+        </div>
+        <el-tag v-else class="mr10 mb10" type="success">暂无</el-tag>
       </el-card>
     </el-col>
     <el-col :span="12">
@@ -33,7 +35,7 @@
             </div>
           </div>
         </template>
-        <div>
+        <div v-if="!!evaluationMajors.length">
           <el-popover
             placement="bottom"
             trigger="hover"
@@ -46,6 +48,7 @@
             <el-tag class="mr10 mb10" type="success" slot="reference">{{ item.majorCategoryName }}</el-tag>
           </el-popover>
         </div>
+        <el-tag v-else class="mr10 mb10" type="success">暂无</el-tag>
       </el-card>
     </el-col>
     <!-- 整体组合匹配 -->

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

@@ -27,7 +27,8 @@
         <elective-generation-steps v-if="selectObj" v-model="activeStep" :generation="generation"
                                    disable-hidden-feature></elective-generation-steps>
       </template>
-      <report-table :generation="generation" :optional-majors="optionalMajors"></report-table>
+      <report-table v-if="generation.active <= generation.current" :generation="generation" :optional-majors="optionalMajors"></report-table>
+      <evaluation-empty v-else :shadow="false" :title="emptyTitle"></evaluation-empty>
     </el-card>
     <el-card shadow="hover" class="mt20">
       <template #header>选科通知</template>
@@ -83,6 +84,10 @@ export default {
     }
   },
   computed: {
+    emptyTitle() {
+      if(!this.activeOpt) return
+      return this.activeOpt.title + '还未开启'
+    },
     currentOpt() {
       /// 当前进程代对应的配置项,可能没有值
       return Object.values(this.stepOptions).find(opt => opt.value == this.selectObj.currentGeneration)