shilipojs 2 éve
szülő
commit
bd1c5ddde0

+ 1 - 1
src/views/career/zhiyuan/batch.vue

@@ -53,7 +53,7 @@ export default {
         location: '',
         yearAdmission: '',
       },
-      requireFields:['yearAdmission'],
+      requireFields:['location','yearAdmission'],
       backimg:
         "url(" + require("@/assets/images/career/icon_colleges.png") + ")",
       batchData: [],

+ 65 - 126
src/views/career/zhiyuan/components/recommend.vue

@@ -2,73 +2,22 @@
   <div style="width: 80%; margin:0 auto">
     <div class="zhiyuan-filter">
       <div class="header">
-        <h3 class="f-666">您的选考科目为:<em>{{formSubject.firstSubject }}<em v-for="item in formSubject.lastSubject">,{{item}}</em> </em>, 请手动选择志愿</h3>
+        <h3 class="f-666">您的选考科目为:<em>{{ formSubject.firstSubject }}<em v-for="item in formSubject.lastSubject"
+        >,{{ item }}</em> </em>, 请手动选择志愿</h3>
       </div>
       <div class="filters">
-<!--        <div class="filter">-->
-<!--          <div class="filter_name">热门城市:</div>-->
-<!--          <div class="items fx-row">-->
-<!--            <div class="no_limited">-->
-<!--              &lt;!&ndash;  no_limited 隐藏 选中框  &ndash;&gt;-->
-<!--              <el-checkbox @change="change('city',$event)"  v-model="cityIsAll" >不限</el-checkbox>-->
-<!--            </div>-->
-<!--            <el-checkbox-group v-model="filter_form.checkedCities">-->
-<!--              <el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>-->
-<!--            </el-checkbox-group>-->
-<!--          </div>-->
-<!--        </div>-->
-        <div class="filter">
-          <div class="filter_name">院校省份:</div>
-          <div class="items fx-row">
-            <div class="no_limited">
-              <el-checkbox @change="change('province',$event)"  v-model="isAll.province" >不限</el-checkbox>
-            </div>
-            <el-checkbox-group v-model="filter_form.provinces">
-              <el-checkbox v-for="provinces in filters.locations" :label="provinces" :key="provinces">{{provinces}}</el-checkbox>
-            </el-checkbox-group>
-          </div>
-        </div>
-        <div class="filter">
-          <div class="filter_name">专业类别:</div>
-          <div class="items fx-row">
-            <div class="no_limited">
-              <el-checkbox @change="change('major',$event)"  v-model="isAll.major" >不限</el-checkbox>
-            </div>
-            <el-radio-group v-model="filter_form.major">
-              <el-radio v-for="major in filters.marjors" :label="major.value" :key="major.value">{{major.label}}</el-radio>
-            </el-radio-group>
-          </div>
-        </div>
-        <div class="filter">
-          <div class="filter_name">院校类型:</div>
-          <div class="items fx-row">
-            <div class="no_limited">
-              <el-checkbox @change="change('type',$event)"  v-model="isAll.type" >不限</el-checkbox>
-            </div>
-            <el-checkbox-group v-model="filter_form.type">
-              <el-checkbox v-for="filter in filters.types" :label="filter" :key="filter">{{filter}}</el-checkbox>
-            </el-checkbox-group>
-          </div>
-        </div>
-        <div class="filter">
-          <div class="filter_name">院校特性:</div>
-          <div class="items fx-row">
-            <div class="no_limited">
-              <el-checkbox @change="change('feature',$event)"  v-model="isAll.feature" >不限</el-checkbox>
-            </div>
-            <el-checkbox-group v-model="filter_form.feature">
-              <el-checkbox v-for="feature in localFilters.features" :label="feature.value" :key="feature.value">{{feature.label}}</el-checkbox>
-            </el-checkbox-group>
-          </div>
-        </div>
+        <!-- 院校筛选条件 -->
+        <filter-form :filter="filter_form"></filter-form>
+        <!--其他筛选 -->
         <div class="filter">
           <div class="filter_name">推荐类型:</div>
           <div class="items fx-row">
             <div class="no_limited">
-              <el-checkbox @change="change('pick',$event)"  v-model="isAll.pickType" >不限</el-checkbox>
+              <el-checkbox @change="change('pick',$event)" v-model="isAll.pickType">不限</el-checkbox>
             </div>
             <el-radio-group v-model="filter_form.pickType">
-              <el-radio v-for="pick in localFilters.picks" :label="pick.value" :key="pick.value">{{pick.label}}</el-radio>
+              <el-radio v-for="pick in localFilters.picks" :label="pick.value" :key="pick.value">{{ pick.label }}
+              </el-radio>
             </el-radio-group>
           </div>
         </div>
@@ -77,106 +26,85 @@
     <div class="zhiyuan-list">
       <mx-table :propDefines="propDefines" :rows="rows"></mx-table>
     </div>
-    <!--    <span @click="close">关闭</span>-->
   </div>
 </template>
 <script>
 import { zytbFilter } from '@/api/webApi/webQue'
-
+import FilterForm from '@/views/career/components/FilterForm';
 export default {
-  props:{
+  props: {
     formSubject: {
       type: Object,
       default: {}
     },
     batch: {
       type: Object,
-      default:{}
+      default: {}
     }
   },
+  components:{
+    FilterForm
+  },
   data() {
     return {
-      filter_form: {
-        provinces: [],
-        major: '',
-        type:[],
-        feature:[],
-        pickType: ''
+      filter_form:{
+        location:'',
+        natureTypeCN:'',
+        type:'',
+        level:'',
+        features:'',
       },
       localFilters: {
-        features:[
-          {label: '一流大学建设高校',value:'ylxx'},
-          {label: '一流学科建设高校',value:'ylxk'},
-          {label: '研究生院',value:'yjsy'},
-          {label: '独立学院',value:'dlxy'},
-          {label: '民办高校',value:'mbgx'}
-        ],
-        picks:[
-          {label: '冲刺型',value:'0'},
-          {label: '稳妥型',value:'1'},
-          {label: '保守型',value:'2'},
-        ],
+        picks: [
+          { label: '冲刺型', value: '0' },
+          { label: '稳妥型', value: '1' },
+          { label: '保守型', value: '2' }
+        ]
       },
-      filters:{},
-      rows:[{}],
+      filters: {},
+      rows: [{}],
       propDefines: {
-        name:{
-          label:'院校名称'
+        name: {
+          label: '院校名称'
         },
-        local:{
-          label:'所在地'
+        local: {
+          label: '所在地'
         },
-        subject:{
-          label:'选科要求'
+        subject: {
+          label: '选科要求'
         },
-        count:{
-          label:'招生人数'
+        count: {
+          label: '招生人数'
         },
-        year:{
-          label:'年份'
+        year: {
+          label: '年份'
         },
-        action:{
-          label:'填报'
+        action: {
+          label: '填报'
         }
       }
     }
   },
   created() {
     this.$nextTick(_ => zytbFilter(this.batch.batch).then((res) => {
-      this.filters = res.data;
+      this.filters = res.data
     }))
   },
   computed: {
     isAll: {
       get() {
         return {
-          type: !this.filter_form.type.length,
           pickType: !this.filter_form.pickType,
-          feature: !this.filter_form.feature.length,
-          province: !this.filter_form.provinces.length,
-          major: !this.filter_form.major.length,
         }
       },
       set() {
       }
     }
   },
-  methods:{
-    change(val,$event) {
-      if($event) {
-        if(val == 'type') {
-          this.filter_form.type = []
-        }
-        if(val == 'province') {
-          this.filter_form.provinces = []
-        }
-        if(val == 'feature') {
-          this.filter_form.feature = []
-        }
-        if(val == 'major') {
-          this.filter_form.major = ''
-        }
-        if(val == 'pick') {
+  methods: {
+    change(val, $event) {
+      if ($event) {
+        if (val == 'pick') {
           this.filter_form.pickType = ''
         }
       }
@@ -189,11 +117,14 @@ export default {
 .more span {
   margin-right: 10px;
 }
-.filters{
-  padding: 0 20px;
+
+.filters {
+  padding: 10px 0px;
   border: 1px solid #eee;
+  margin-bottom: 20px;
 }
-.filter_name{
+
+.filter_name {
   box-sizing: border-box;
   width: 70px;
   font-size: 14px;
@@ -202,20 +133,25 @@ export default {
   padding: 6px 0 6px 0;
   margin-right: 10px;
 }
-.zhiyuan-filter .filters .filter .items .no_limited{
+
+.zhiyuan-filter .filters .filter .items .no_limited {
   margin-right: 10px;
 }
+
 .zhiyuan-filter .filters .filter .items .no_limited >>> .el-checkbox__input {
   display: none;
 }
-.filters .filter{
-  padding: 10px  0;
+
+.filters .filter {
+  padding: 10px 0;
   display: flex;
   border-bottom: 1px solid #eee;
 }
-.filters .filter:last-child{
+
+.filters .filter:last-child {
   border-bottom: 0;
 }
+
 .zhiyuan-filter .filters .filter >>> .el-checkbox, .zhiyuan-filter .filters .filter >>> .el-radio {
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
@@ -223,15 +159,18 @@ export default {
   padding: 8px 8px;
   margin: 0;
 }
-em{
+
+em {
   font-weight: 400;
   font-style: normal;
 }
->>>  .el-input--medium .el-input__inner{
+
+>>> .el-input--medium .el-input__inner {
   height: 30px;
   line-height: 30px;
 }
->>> .el-input{
+
+>>> .el-input {
   width: 260px;
 }
 </style>

+ 1 - 1
src/views/career/zhiyuan/yfyd.vue

@@ -100,7 +100,7 @@ export default {
     this.queryParams.yfydLocation = this.currentUser.provinceName
   },
   computed:{
-    ...mapGetters(['currentUser']),
+    ...mapGetters(['location','currentUser']),
   },
   methods: {
     getList() {