浏览代码

卡按省份搜索

jinxia.mo 1 月之前
父节点
当前提交
4439cd909e

+ 14 - 11
back-ui/src/views/dz/cards/index.vue

@@ -4,8 +4,9 @@
       <!-- 其他表单项:每行4个 -->
       <el-row :gutter="20">
         <el-col :span="6">
-          <el-form-item label="省份筛选" prop="provinceId">
-            <el-cascader class="w-[180px]!" :options="area.list" :props="cascaderProps" v-model="area.selected" clearable @change="handleAreaChange" />
+          <el-form-item label="省份筛选" prop="location">
+            <!-- <el-cascader class="w-[180px]!" :options="area.list" :props="cascaderProps" v-model="area.selected" clearable @change="handleAreaChange" /> -->
+            <ie-select v-model="area.selected" v-model:selectedItem="area.selectedItem" :options="area.list" label-key="areaName" value-key="areaId" clearable filterable class="w-[180px]!"/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -42,7 +43,7 @@
         </el-col>
         <el-col :span="6">
           <el-form-item label="平台机构" prop="deptId">
-            <ie-institution-select v-model="queryParams.deptId" class="w-[180px]!" clearable />
+            <ie-institution-select v-model="queryParams.deptId" class="w-[180px]!" clearable filterable/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -64,17 +65,17 @@
         </el-col>
         <el-col :span="6">
           <el-form-item label="卡类型" prop="type">
-            <ie-select v-model="queryParams.type" :options="card_type" class="w-[180px]!" clearable />
+            <ie-select v-model="queryParams.type" :options="card_type" class="w-[180px]!" clearable filterable/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="考生类型" prop="examType">
-            <ie-select v-model="queryParams.examType" :options="exam_type" class="w-[180px]!" clearable />
+            <ie-select v-model="queryParams.examType" :options="exam_type" class="w-[180px]!" clearable filterable/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="学生姓名" prop="nickName">
-            <el-input v-model="queryParams.nickName" type="text" class="w-[180px]!" placeholder="请输入姓名" clearable @keyup.enter="handleQuery" />
+            <el-input v-model="queryParams.nickName" type="text" class="w-[180px]!" placeholder="请输入姓名" clearable filterable @keyup.enter="handleQuery" />
           </el-form-item>
         </el-col>
       </el-row>
@@ -82,7 +83,7 @@
         <el-col :span="6">
           <el-form-item label="手机号码" prop="phonenumber">
             <el-input v-model="queryParams.phonenumber" type="text" v-number maxlength="11" class="w-[180px]!"
-                      placeholder="请输入手机号码" clearable @keyup.enter="handleQuery" />
+                      placeholder="请输入手机号码" clearable filterable @keyup.enter="handleQuery" />
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -93,12 +94,12 @@
         </el-col>
         <el-col :span="6">
           <el-form-item label="使用状态" prop="status">
-            <ie-select v-model="queryParams.status" :options="card_status" class="w-[180px]!" clearable />
+            <ie-select v-model="queryParams.status" :options="card_status" class="w-[180px]!" clearable filterable />
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="过期状态" prop="timeStatus">
-            <ie-select v-model="queryParams.timeStatus" :options="card_time_status" class="w-[180px]!" clearable />
+            <ie-select v-model="queryParams.timeStatus" :options="card_time_status" class="w-[180px]!" clearable filterable/>
           </el-form-item>
         </el-col>
 
@@ -106,12 +107,12 @@
       <el-row :gutter="20">
         <el-col :span="6">
           <el-form-item label="结算状态" prop="isSettlement">
-            <ie-select v-model="queryParams.isSettlement" :options="card_settlement_status" class="w-[180px]!" clearable />
+            <ie-select v-model="queryParams.isSettlement" :options="card_settlement_status" class="w-[180px]!" clearable filterable/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
           <el-form-item label="缴费状态" prop="payStatus">
-            <ie-select v-model="queryParams.payStatus" :options="card_pay_status" class="w-[180px]!" clearable />
+            <ie-select v-model="queryParams.payStatus" :options="card_pay_status" class="w-[180px]!" clearable filterable/>
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -277,6 +278,8 @@ const editDisabled = computed(() => {
 
 watchEffect(() => {
   queryParams.value.areaIds = area.selected;
+  // 使用 location 进行搜索
+  queryParams.value.location = area.selectedItem?.shortName || area.selectedItem?.areaName || null;
   queryParams.value.schoolId = selectedSchool.value;
   queryParams.value.assignSchoolId = selectedAssignSchool.value;
   queryParams.value.classId = selectedClass.value;

+ 5 - 4
ie-admin/src/main/java/com/ruoyi/web/service/SyTestMajorService.java

@@ -29,7 +29,7 @@ import java.util.stream.Collectors;
 
 @Service
 public class SyTestMajorService {
-    private final SyKnowledgeInterstMajorMapper syKnowledgeInterstMajorMapper;
+    private final SyMajorMapper majorMapper;
     private final SyKnowledgeInterstTypeMapper syKnowledgeInterstTypeMapper;
     private final SyMajorCategoryMapper syMajorCategoryMapper;
     private final SyMajorMajorMapper syMajorMajorMapper;
@@ -53,12 +53,12 @@ public class SyTestMajorService {
     private TypeReference<Map<String, Map<String, Integer>>> keyCatValueTypeReference = new TypeReference<Map<String, Map<String, Integer>>>() {};
     private TypeReference<Map<String, Integer>> keyValueTypeReference = new TypeReference<Map<String, Integer>>() {};
 
-    public SyTestMajorService(SyKnowledgeInterstMajorMapper syKnowledgeInterstMajorMapper, SyKnowledgeInterstTypeMapper syKnowledgeInterstTypeMapper, SyMajorCategoryMapper syMajorCategoryMapper,
+    public SyTestMajorService(SyMajorMapper majorMapper, SyKnowledgeInterstTypeMapper syKnowledgeInterstTypeMapper, SyMajorCategoryMapper syMajorCategoryMapper,
                               SyMajorMajorMapper syMajorMajorMapper, SyOccupationInterstMajorMapper syOccupationInterstMajorMapper,
                               SyOccupationInterstTypeMapper syOccupationInterstTypeMapper, SyPhilosophyViewMajorMapper syPhilosophyViewMajorMapper, SyPhilosophyViewTypeMapper syPhilosophyViewTypeMapper,
                               SyTestAnswersMapper syTestAnswersMapper, SyTestExamineeMapper syTestExamineeMapper, SyTestPaperMapper syTestPaperMapper, SyTestQuestionMapper syTestQuestionMapper, SyTestSelectCategoryMapper syTestSelectCategoryMapper,
                               SyTestSelectMajorMapper syTestSelectMajorMapper, ExamUtilService examUtilService, RedisCache redisCache) {
-        this.syKnowledgeInterstMajorMapper = syKnowledgeInterstMajorMapper;
+        this.majorMapper = majorMapper;
         this.syKnowledgeInterstTypeMapper = syKnowledgeInterstTypeMapper;
         this.syMajorCategoryMapper = syMajorCategoryMapper;
         this.syMajorMajorMapper = syMajorMajorMapper;
@@ -78,7 +78,8 @@ public class SyTestMajorService {
 
     public Set<String> loadMarjorCodes() {
         if(null == marjorCodeSet) {
-            marjorCodeSet = syMajorMajorMapper.selectSyMajorMajorList(new SyMajorMajor()).stream().map( t -> t.getMajorCode()).collect(Collectors.toSet());
+//            marjorCodeSet = syMajorMajorMapper.selectSyMajorMajorList(new SyMajorMajor()).stream().map( t -> t.getMajorCode()).collect(Collectors.toSet());
+            marjorCodeSet = majorMapper.selectSyMajorList(new SyMajor()).stream().map( t -> t.getCode()).collect(Collectors.toSet());
         }
         return marjorCodeSet;
     }

+ 1 - 0
ie-system/src/main/resources/mapper/dz/DzCardsMapper.xml

@@ -156,6 +156,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="end != null "> and card_no &lt;= #{end}</if>
             <if test="assignTimeBegin != null "> and date(distribute_time) &gt;= date(#{assignTimeBegin})</if>
             <if test="assignTimeEnd != null "> and date(distribute_time) &lt;= date(#{assignTimeEnd})</if>
+            <if test="location != null  and location != ''"> and u.location = #{location} </if>
 
             <!-- 根据统计类型添加条件 -->
             <if test="statisticsType != null and statisticsType == 'openCard'">