Quellcode durchsuchen

feat 新增学职资讯

sys5923812@126.com vor 4 Wochen
Ursprung
Commit
6c00a53618

+ 8 - 0
src/api/xjc-integratedmachine/decision/limitsubject.js

@@ -21,4 +21,12 @@ export function getUniversityList(data) {
         params : data
     })
 }
+export function specialtySelectList(data) {
+    return request({
+        url: '/integratedmachine/limitsubject/specialtySelectList',
+        method: 'get',
+        params : data
+    })
+}
+
 

+ 169 - 70
src/views/xjc-integratedmachine/decision/choose_subjects_1.vue

@@ -1,7 +1,6 @@
 <template>
     高考省份
-    <span>全部</span>
-    <span v-for="(item,index) in data.allareaList">&nbsp;
+    <span v-for="(item,index) in data.allareaList" @click="chooseAreaId(item)">&nbsp;
                 {{item.name}}
         </span>
     <br>
@@ -9,11 +8,11 @@
     <el-button @click="showZY">选择专业</el-button>
     您已选择的专业<br>----------------------------
     <div v-for="(item,index) in zyArr">
-        {{item.name}}<el-button @click="removeChooseZY(item)">X</el-button>
+        {{item.name}}
+        <el-button @click="removeChooseZY(item)">X</el-button>
     </div>
 
 
-
     <el-dialog v-model="zyFlag" width="600px" title="选择专业" append-to-body>
         学历层次:-----------------------------<br>
         <div @click="xlccChoose(1,1)">本科</div>
@@ -27,43 +26,45 @@
             {{item.name}}
         </div>
         选择专业(可多选):-------------------<br>
-        <div v-for="(item,index) in data.levelList4" >
+        <div v-for="(item,index) in data.levelList4">
             <el-checkbox v-model="item.checked" @change="(e) => selectZY(e,item)">{{item.name}}</el-checkbox>
 
         </div>
         您已选择的专业<br>----------------------------
         <div v-for="(item,index) in zyArr">
-            {{item.name}}<el-button @click="removeChooseZY(item)">X</el-button>
+            {{item.name}}
+            <el-button @click="removeChooseZY(item)">X</el-button>
         </div>
 
-
+        <el-button @click="closeZY">确定</el-button>
     </el-dialog>
 
 
     <el-dialog v-model="gxFlag" width="800px" title="选择院校" append-to-body>
         学历层次:-----------------------------###<br>
-        <span @click="choose_educationlevel(1)">本科</span>&nbsp;&nbsp;
-        <span @click="choose_educationlevel(2)">专科</span><br>
+        <span @click="choose_educationlevel(null,null)">全部</span>&nbsp;
+        <span @click="choose_educationlevel(1,'本科')">本科</span>&nbsp;&nbsp;
+        <span @click="choose_educationlevel(2,'专科')">专科</span><br>
 
         院校所在地:<span @click="choose_areaid(null)">全部</span>
-        <span v-for="(item,index) in data.allareaList" @click="choose_areaid(item.id)">&nbsp;
+        <span v-for="(item,index) in data.allareaList" @click="choose_areaid(item)">&nbsp;
                 {{item.name}}
         </span>
         <br>
         院校特色:
-        <span v-for="(item,index) in educationlevel_decision" @click="choose_yxts(item.value)">&nbsp;&nbsp;
-            {{item.label}}
+        <span v-for="(item,index) in educationlevel_decision">&nbsp;&nbsp;
+             <el-checkbox v-model="item.checked" @change="(e) => selectTS(e,item)">{{item.label}}</el-checkbox>
         </span>
-<br>
-校分类:<span @click="choose_categoryid(null)">全部</span>&nbsp;
+        <br>
+校分类:<span @click="choose_categoryid(null)">全部</span>&nbsp;
         <span v-for="(item,index) in school_category" @click="choose_categoryid(item.value)">
             {{item.label}}
         </span>
-<br>
+        <br>
         <br>
         选择高校(可多选)<br>
         <span v-for="(item,index) in data_list.rows">
-            {{item.name}}--{{item.checked}}&nbsp;&nbsp;
+            {{item.name}}
             <el-checkbox v-model="item.checked" @change="(e) => selectGX(e,item)">{{item.name}}</el-checkbox>
 
         </span>
@@ -72,15 +73,13 @@
 
         您已选择的高校<br>----------------------------
         <div v-for="(item,index) in gxArr">
-            {{item.name}}<el-button @click="removeChooseGX(item)">X</el-button>
+            {{item.name}}
+            <el-button @click="removeChooseGX(item)">X</el-button>
         </div>
 
     </el-dialog>
 
 
-
-
-
     <br>
     高校倾向:
     <el-button @click="showGX">选择高校</el-button>
@@ -88,23 +87,59 @@
         选择结果:
     </div>
 
-    <el-button>开始查询</el-button>
-    <el-table>
-        <el-table-column label="院校所在地" align="center" prop="name"/>
-        <el-table-column label="院校名称" align="center" prop="name"/>
-        <el-table-column label="专业名称" align="center" prop="name"/>
-        <el-table-column label="必考" align="center" prop="name"/>
-        <el-table-column label="选考" align="center" prop="name"/>
+    <div>
+        <div v-if="universityForm.educationname != null">
+            {{universityForm.educationname}}
+            <el-button @click="choose_educationlevel(null)">x</el-button>
+        </div>
+        <div v-if="universityForm.name != null">
+            {{universityForm.name}}
+            <el-button @click="choose_areaid(null)">x</el-button>
+        </div>
+        <div v-for="(item,index) in tsArr">
+            {{item.label}}
+            <el-button @click="removeChooseTS(item)">x</el-button>
+        </div>
+        <div v-for="(item,index) in gxArr">
+            {{item.name}}
+            <el-button>x</el-button>
+        </div>
+    </div>
+
+    <el-button @click="querySpecialtySelect">开始查询</el-button>
+    <el-table :data="specialty_list.rows">
+        <el-table-column label="院校所在地" align="center" prop="uareaname"/>
+        <el-table-column label="院校名称" align="center" prop="universityname"/>
+        <el-table-column label="专业名称" align="center" prop="specialtyname"/>
+        <el-table-column label="必考" align="center">
+            <template #default="scope">
+                <div v-if="scope.row.mustsubject == null">
+                    --
+                </div>
+                <div v-if="scope.row.mustsubject != null">
+                    {{scope.row.mustsubject}}
+                </div>
+            </template>
+        </el-table-column>
+        <el-table-column label="选考" align="center" prop="needSubject"/>
     </el-table>
+    <pagination v-show="specialty_list.total > 0" :total="specialty_list.total" v-model:page="queryForm.pageNum"
+                v-model:limit="queryForm.pageSize" @pagination="querySpecialtySelect"/>
 
 </template>
 
 <script setup>
 
-    import {specialtySelect, getSpecData,getUniversityList} from '@/api/xjc-integratedmachine/decision/limitsubject.js'
+    import {
+        specialtySelect,
+        getSpecData,
+        getUniversityList,
+        specialtySelectList
+    } from '@/api/xjc-integratedmachine/decision/limitsubject.js'
 
     const {proxy} = getCurrentInstance()
-    const {school_category,educationlevel_decision} = proxy.useDict('school_category','educationlevel_decision')
+    const {school_category, educationlevel_decision} = proxy.useDict('school_category', 'educationlevel_decision')
+
 
     const zyFlag = ref(false)
     const gxFlag = ref(false)
@@ -141,106 +176,170 @@
 
     const zyArr = ref([])
 
-    function selectZY(e,item) {
-        if(e== true){
+    //---------------------------------------专业选择----------------------------------------------
+    function selectZY(e, item) {
+        if (e == true) {
             item.checked = true
             zyArr.value.push(item)
-        }else{
+        } else {
             item.checked = false
             zyArr.value = zyArr.value.filter((element, idx) => item.oldid !== element.oldid);
         }
-        console.log(e,item)
     }
-    function removeChooseZY(item){
+
+    function removeChooseZY(item) {
         zyArr.value = zyArr.value.filter((element, idx) => item.oldid !== element.oldid);
-        data.value.levelList4.forEach(function (it,ind) {
-            if(it.oldid == item.oldid){
+        data.value.levelList4.forEach(function (it, ind) {
+            if (it.oldid == item.oldid) {
                 item.checked = false
             }
         })
     }
-    //-------------------------------------------------------------------------------------
-    function choose_educationlevel(item) {
-        universityForm.value.educationlevel = item
+
+    function closeZY() {
+        zyFlag.value = false
+    }
+
+    //---------------------------------------高校选择----------------------------------------------
+    function choose_educationlevel(item, name) {
+        if (item == null) {
+            universityForm.value.educationlevel = null
+            universityForm.value.educationname = null
+        } else {
+            universityForm.value.educationlevel = item
+            universityForm.value.educationname = name
+        }
         getUniversity()
     }
+
     function choose_areaid(item) {
-        universityForm.value.areaid = item
+        if (item == null) {
+            universityForm.value.areaid = null
+            universityForm.value.name = null
+        } else {
+            universityForm.value.areaid = item.id
+            universityForm.value.name = item.name
+        }
         getUniversity()
     }
+
     function choose_yxts(item) {
-        universityForm.value.areaid = item
-        if(item == 1){
+        if (item.value == 1) {
             universityForm.value.too = 1
-        }else if(item == 2){
+        } else if (item.value == 2) {
             universityForm.value.nef = 1
-        }else if(item == 3){
+        } else if (item.value == 3) {
             universityForm.value.self = 1
-        }else if(item == 4){
-            universityForm.value.graduate =1
-        }else if(item == 5){
-            universityForm.value.istopschool =1
-        }else if(item == 6){
-            universityForm.value.istopsubject =1
+        } else if (item.value == 4) {
+            universityForm.value.graduate = 1
+        } else if (item.value == 5) {
+            universityForm.value.istopschool = 1
+        } else if (item.value == 6) {
+            universityForm.value.istopsubject = 1
         }
         getUniversity()
     }
+
     const gxArr = ref([])
+
     function choose_categoryid(item) {
         universityForm.value.categoryid = item
         getUniversity()
     }
 
 
-    const universityForm =ref({
-        educationlevel : null,
-        areaid : null,
-        graduate : null,
-        categoryid : null,
+    const universityForm = ref({
+        educationlevel: null,
+        areaid: null,
+        graduate: null,
+        categoryid: null,
         pageNum: 1,
         pageSize: 10,
     })
-    const data_list = ref({
+    const data_list = ref({})
 
-    })
-    function getUniversity(){
-        getUniversityList(universityForm.value).then(resp =>{
+    function getUniversity() {
+        getUniversityList(universityForm.value).then(resp => {
             data_list.value.rows = resp.university_list.rows
             data_list.value.total = resp.university_list.total
-            data_list.value.rows.forEach(function (it,ind) {
+            data_list.value.rows.forEach(function (it, ind) {
                 let isHave = false
-                gxArr.value.forEach(function (item,index) {
-                    if(item.id == it.id){
+                gxArr.value.forEach(function (item, index) {
+                    if (item.id == it.id) {
                         isHave = true
                     }
                 })
-                if(isHave){
+                if (isHave) {
                     it.checked = true
-                }else{
+                } else {
                     it.checked = false
                 }
             })
             //console.log("!!!!",data_list.value.rows)
         })
     }
-    function selectGX(e,item){
-        if(e== true){
+
+    function selectGX(e, item) {
+        if (e == true) {
             item.checked = true
             gxArr.value.push(item)
-        }else{
+        } else {
             item.checked = false
             gxArr.value = gxArr.value.filter((element, idx) => item.id !== element.id);
         }
+        if (gxArr.value.length == 0) {
+            choose_educationlevel(null, null)
+            choose_areaid(null)
+            removeChooseTS(null)
+        }
     }
-    function removeChooseGX(item){
+
+    function removeChooseGX(item) {
         gxArr.value = gxArr.value.filter((element, idx) => item.id !== element.id);
-        data_list.value.rows.forEach(function (it,ind) {
-            if(it.id == item.id){
+        data_list.value.rows.forEach(function (it, ind) {
+            if (it.id == item.id) {
                 item.checked = false
             }
         })
     }
 
+    //特色
+    const tsArr = ref([])
+
+    function selectTS(e, item) {
+        if (e == true) {
+            item.checked = true
+            tsArr.value.push(item)
+        } else {
+            item.checked = false
+            tsArr.value = tsArr.value.filter((element, idx) => item.value !== element.value);
+        }
+        choose_yxts(item)
+    }
+
+    function removeChooseTS(item) {
+        tsArr.value = tsArr.value.filter((element, idx) => item.value !== element.value);
+    }
+
+    //
+    const queryForm = ref({
+        pageSize : 10,
+        pageNum : 1
+    })
+
+    //
+    function chooseAreaId(item) {
+        universityForm.value.areaid = item.id
+    }
+
+    const specialty_list = ref([])
+
+    function querySpecialtySelect() {
+        specialtySelectList(queryForm.value).then(resp => {
+            specialty_list.value = resp.specSelList
+        })
+    }
+
 
     init()