Jelajahi Sumber

feat: 企业与岗位信息BUG修改

zhangying 1 tahun lalu
induk
melakukan
2989f970e0

+ 4 - 5
src/main/java/com/hz/employmentsite/controller/companyService/PostController.java

@@ -5,14 +5,12 @@ import com.hz.employmentsite.filter.exception.BaseErrorEnum;
 import com.hz.employmentsite.filter.exception.BaseException;
 import com.hz.employmentsite.filter.exception.BaseResponse;
 import com.hz.employmentsite.filter.exception.RespGenerstor;
-import com.hz.employmentsite.model.PcPost;
 import com.hz.employmentsite.services.service.AccountService;
 import com.hz.employmentsite.services.service.companyService.PostService;
 import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.ExcelHelper;
-import com.hz.employmentsite.vo.jobUserManager.RecommendCompanyPostVo;
-import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import com.hz.employmentsite.vo.companyService.PostVo;
+import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -96,8 +94,9 @@ public class PostController {
 
     @GetMapping("/getPostsByCompanyID")
     public BaseResponse<List<PostVo>> getPostsByCompanyID(@RequestParam(required = false) String companyId) {
-        var dataList = postService.getDataListByCompanyID(companyId);
-        return RespGenerstor.success(dataList);
+//        var dataList = postService.getDataListByCompanyID(companyId);
+        PageInfo<PostVo> result = postService.getList(1, 99999, null, null, null, null, null, null, companyId);
+        return RespGenerstor.success(result.getList());
     }
 
     @ResponseBody

+ 20 - 8
vue/src/views/companyService/post/edit.vue

@@ -19,9 +19,9 @@
       <a-row justify="start">
         <a-col flex="520px">
           <a-form-item label="岗位名称" :label-col="{ span: 5 }"
-                       name="professionName"  :rules="[{ required: true, message: '请选择岗位名称!' }]" >
+                       name="professionName" :rules="[{ required: true, message: '请选择岗位名称!' }]">
             <a-cascader :load-data="loadLevelProfessionList" v-model:value="dataModel.professionName"
-                        :options="firstProfessionList" change-on-select>
+                        :options="firstProfessionList" change-on-select @change="professionChange">
             </a-cascader>
           </a-form-item>
         </a-col>
@@ -185,12 +185,12 @@
 <script lang="ts">
 import {defineComponent, reactive, ref, toRefs, watch} from 'vue';
 import {useRouter} from 'vue-router';
-import {savePost, getPostByID} from '@/api/companyService/post';
-import type {CascaderProps,SelectProps} from 'ant-design-vue';
+import {getPostByID, savePost} from '@/api/companyService/post';
+import type {CascaderProps, SelectProps} from 'ant-design-vue';
+import {message} from "ant-design-vue";
 import {useTabsViewStore} from '@/store/modules/tabsView';
 import BUploadFile from '@/components/file/uploadFile.vue';
 import {get} from '@/api/common';
-import {message} from "ant-design-vue";
 
 interface postModel {
   dataModel: any;
@@ -293,13 +293,16 @@ export default defineComponent(
         if(!postCompany.dataModel.hasProfession){
           message.error("请选择完整的岗位信息!")
         }else{
-          postCompany.dataModel.professionName=null;
-          console.log("当前岗位信息",postCompany.dataModel);
+          // postCompany.dataModel.postName = postCompany.dataModel.professionName;
+          postCompany.dataModel.professionName = null;
           savePost(postCompany.dataModel).then((result) => {
             if (result) {
               tabsViewStore.closeCurrentTab(fullpath);
               tabsViewStore.addTabByPath('/companyService/post/index', {reload: 1});
             }
+          }).finally(() => {
+            // 重新填充,防止请求失败
+            postCompany.dataModel.professionName = postCompany.dataModel.postName;
           });
         }
 
@@ -316,6 +319,14 @@ export default defineComponent(
         console.log("初始化岗位信息",postCompany.dataModel);
       };
 
+      // 岗位名称选择变更事件
+      function professionChange(value: any, selectedOptions: any) {
+        if (value.length >= 3) {
+          postCompany.dataModel.postName = selectedOptions[2].label;
+          // postCompany.dataModel.professionName = selectedOptions[2].label;
+        }
+      }
+
       return {
         ...toRefs(postCompany),
         loadData,
@@ -329,7 +340,8 @@ export default defineComponent(
         cultureLevelList,
         WorkYearTypeList,
         postCompany,
-        isEdit
+        isEdit,
+        professionChange
       }
     },
     created() {