ソースを参照

Merge branch 'master' of http://39.98.153.250:9080/bowintek/EmploymentSite

fengyuhang 6 ヶ月 前
コミット
fc040734e6
30 ファイル変更275 行追加127 行削除
  1. 4 1
      doc/待更新脚本
  2. 3 2
      h5app/src/views/pages/jobhunt/detail.vue
  3. 4 4
      h5app/src/views/pages/userQrCode/index.vue
  4. 1 1
      src/main/java/com/hz/employmentsite/controller/baseSettings/SiteUserController.java
  5. 7 5
      src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java
  6. 11 6
      src/main/java/com/hz/employmentsite/controller/companyService/PostController.java
  7. 7 6
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java
  8. 3 1
      src/main/java/com/hz/employmentsite/mapper/cquery/CompanyCQuery.java
  9. 9 3
      src/main/java/com/hz/employmentsite/mapper/cquery/PostCQuery.java
  10. 3 3
      src/main/java/com/hz/employmentsite/model/PcCompany.java
  11. 9 0
      src/main/java/com/hz/employmentsite/services/impl/baseSettings/SiteUserImpl.java
  12. 5 4
      src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java
  13. 9 5
      src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java
  14. 10 4
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java
  15. 3 1
      src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java
  16. 16 3
      src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java
  17. 16 1
      src/main/java/com/hz/employmentsite/util/StringUtils.java
  18. 1 1
      src/main/java/com/hz/employmentsite/vo/companyService/CompanyVo.java
  19. 9 9
      src/main/resources/mapping/PcCompanyMapper.xml
  20. 13 0
      src/main/resources/mapping/cquery/CompanyCQuery.xml
  21. 13 0
      src/main/resources/mapping/cquery/PostCQuery.xml
  22. 2 2
      vue/src/api/jobUserManager/jobuser/index.ts
  23. 22 0
      vue/src/utils/dateUtil.ts
  24. 6 7
      vue/src/views/baseSettings/positionMap/index.vue
  25. 1 27
      vue/src/views/baseSettings/siteUser/index.vue
  26. 38 2
      vue/src/views/companyService/company/index.vue
  27. 43 4
      vue/src/views/companyService/post/index.vue
  28. 1 1
      vue/src/views/jobUserManager/jobuser/edit.vue
  29. 1 23
      vue/src/views/jobUserManager/jobuser/index.vue
  30. 5 1
      vue/src/views/jobUserManager/jobuser/vitae.vue

+ 4 - 1
doc/待更新脚本

@@ -1,3 +1,6 @@
 
 -- 2024-4-28
-ALTER TABLE pc_company CHANGE ProfessionID IndustryID VARCHAR(50);
+ALTER TABLE pc_company CHANGE ProfessionID IndustryID VARCHAR(50);
+
+-- 2024-4-30
+ALTER TABLE pc_company MODIFY RegisteredCapital DECIMAL(10, 2);

+ 3 - 2
h5app/src/views/pages/jobhunt/detail.vue

@@ -18,7 +18,7 @@
         </div>
         <div class="form-detail">
           <ion-label>身份证号码</ion-label>
-          <ion-text>{{ dataModel.identityNumber }}</ion-text>
+          <ion-text>{{ dataModel.identityNumberShow }}</ion-text>
         </div>
         <div class="form-detail">
           <ion-label>性别</ion-label>
@@ -172,7 +172,8 @@ export default defineComponent({
       loading.value = true;
       const reqData = await getJobUserById(jobUserID,loginUserId);
       formData.dataModel = reqData;
-      console.log("dataModel",formData.dataModel);
+      const replaceStr =  formData.dataModel.identityNumber.substring(3,15);
+      formData.dataModel.identityNumberShow = String(formData.dataModel.identityNumber).replace(replaceStr,'************');
       loading.value = false;
     };
 

+ 4 - 4
h5app/src/views/pages/userQrCode/index.vue

@@ -30,10 +30,10 @@
           <ion-label>工号</ion-label>
           <ion-text>{{ user.userNo }}</ion-text>
         </div>
-        <div class="form-detail">
-          <ion-label>身份证号</ion-label>
-          <ion-text>{{ user.IDCard }}</ion-text>
-        </div>
+<!--        <div class="form-detail">-->
+<!--          <ion-label>身份证号</ion-label>-->
+<!--          <ion-text>{{ user.IDCard }}</ion-text>-->
+<!--        </div>-->
         <div class="form-detail">
           <ion-label>身份</ion-label>
           <ion-text>驿站工作人员</ion-text>

+ 1 - 1
src/main/java/com/hz/employmentsite/controller/baseSettings/SiteUserController.java

@@ -96,7 +96,7 @@ public class SiteUserController {
             row.add(item.roleName);
             row.add(item.genderName);
             row.add(item.mobile);
-            row.add(dateUtils.getAgeForIdCard(item.getIdCard()));
+            row.add(item.age);
             row.add(item.idCard);
             row.add(item.siteName);
             rowsData.add(row);

+ 7 - 5
src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java

@@ -50,9 +50,10 @@ public class CompanyController {
                                                      @RequestParam(required = false) String companyCode, @RequestParam(required = false) String recordStatus,
                                                      @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode,
                                                      @RequestParam(required = false) String createUserId, @RequestParam(required = false) String workTime,
-                                                     @RequestParam(required = false) String loginUserID) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
+                                                     @RequestParam(required = false) String loginUserID, @RequestParam(required = false) String siteID,
+                                                     @RequestParam(required = false) Date startDate, @RequestParam(required = false) Date endDate) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
 
-        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime,loginUserID);
+        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, loginUserID, siteID, startDate, endDate);
 
         return RespGenerstor.success(result);
     }
@@ -132,9 +133,10 @@ public class CompanyController {
                                @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") Integer pageSize,
                                @RequestParam(required = false) List<String> companyIDList, @RequestParam(required = false) String companyName,
                                @RequestParam(required = false) String companyCode, @RequestParam(required = false) String recordStatus,
-                               @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode
-    ) throws Exception {
-        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, null, null, null);
+                               @RequestParam(required = false) String regionCode, @RequestParam(required = false) String streetCode,
+                               @RequestParam(required = false) String siteID, @RequestParam(required = false) Date startDate,
+                               @RequestParam(required = false) Date endDate) throws Exception {
+        PageInfo<CompanyVo> result = companyService.getList(pageIndex, pageSize, companyIDList, companyName, companyCode, recordStatus, regionCode, streetCode, null, null, null, siteID, startDate, endDate);
         if (isExport == null || !isExport) {
             return RespGenerstor.success(result);
         } else {

+ 11 - 6
src/main/java/com/hz/employmentsite/controller/companyService/PostController.java

@@ -5,7 +5,6 @@ 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.PcCompanyExample;
 import com.hz.employmentsite.services.service.AccountService;
 import com.hz.employmentsite.services.service.companyService.PostService;
 import com.hz.employmentsite.util.DateUtils;
@@ -40,9 +39,12 @@ public class PostController {
                                 @RequestParam(required = false) String companyName,
                                 @RequestParam(required = false) String recordStatus,
                                 @RequestParam(required = false) String companyID,
-                                @RequestParam(required = false) String loginUserID) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
+                                @RequestParam(required = false) String loginUserID,
+                                @RequestParam(required = false) String siteID,
+                                @RequestParam(required = false) Date startDate,
+                                @RequestParam(required = false) Date endDate) { //loginUserID暂用来过滤app的当前登录人驿站的求职人员
 
-        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus,companyID,loginUserID);
+        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus, companyID, loginUserID, siteID, startDate, endDate);
         return RespGenerstor.success(result);
     }
 
@@ -106,7 +108,7 @@ public class PostController {
     @GetMapping("/getPostsByCompanyID")
     public BaseResponse<List<PostVo>> getPostsByCompanyID(@RequestParam(required = false) String companyId) {
 //        var dataList = postService.getDataListByCompanyID(companyId);
-        PageInfo<PostVo> result = postService.getList(1, 99999, null, null, null, null, null, null, companyId,null);
+        PageInfo<PostVo> result = postService.getList(1, 99999, null, null, null, null, null, null, companyId, null, null, null, null);
         return RespGenerstor.success(result.getList());
     }
 
@@ -137,8 +139,11 @@ public class PostController {
                                @RequestParam(required = false) Integer minCount,
                                @RequestParam(required = false) Integer maxCount,
                                @RequestParam(required = false) String companyName,
-                               @RequestParam(required = false) String recordStatus ) throws Exception {
-        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus,null,null);
+                               @RequestParam(required = false) String recordStatus,
+                               @RequestParam(required = false) String siteID,
+                               @RequestParam(required = false) Date startDate,
+                               @RequestParam(required = false) Date endDate) throws Exception {
+        PageInfo<PostVo> result = postService.getList(pageIndex, pageSize, postIDList, professionName, minCount, maxCount, companyName, recordStatus, null, null, siteID, startDate, endDate);
 
         if (isExport == null || !isExport) {
             return RespGenerstor.success(result);

+ 7 - 6
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java

@@ -13,7 +13,6 @@ import com.hz.employmentsite.model.PcSiteUserExample;
 import com.hz.employmentsite.model.SelectProps;
 import com.hz.employmentsite.services.service.AccountService;
 import com.hz.employmentsite.services.service.jobUserManager.JobUserService;
-import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.ExcelHelper;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
@@ -41,9 +40,6 @@ public class JobUserController {
     @Autowired
     private PcSiteMapper pcSiteMapper;
 
-    @Autowired
-    private DateUtils dateUtils;
-
     @Autowired
     private StringUtils stringUtils;
 
@@ -63,7 +59,7 @@ public class JobUserController {
 
     @ResponseBody
     @GetMapping("/getDataByID")
-    public BaseResponse<PcJobuser> getDataById(String id, String loginUserID) {
+    public BaseResponse<PcJobuser> getDataById(String id, String loginUserID, @RequestParam(required = false) Integer cipherType) {
         var data = jobuserService.getDataById(id);
         if (data == null) {
             data = new JobUserVo();
@@ -86,6 +82,11 @@ public class JobUserController {
                     data.setRegionCode(curSiteInfo.getRegionCode());
                 }
             }
+        } else {
+            if (cipherType != null && cipherType == 1) {
+                // 身份证脱敏
+                data.setIdentityNumber(stringUtils.desensitizeData(data.getIdentityNumber(), "************", 3, 4));
+            }
         }
         return RespGenerstor.success(data);
     }
@@ -177,7 +178,7 @@ public class JobUserController {
                 row.add(item.getNationName());
                 row.add(item.getUserMobile());
                 row.add(item.siteName);
-                row.add(dateUtils.getAgeForIdCard(item.getIdentityNumber()));
+                row.add(item.getAge());
                 row.add(item.cultureName);
                 row.add(item.getAddress());
                 row.add(item.jobStatusName);

+ 3 - 1
src/main/java/com/hz/employmentsite/mapper/cquery/CompanyCQuery.java

@@ -3,6 +3,7 @@ package com.hz.employmentsite.mapper.cquery;
 import com.hz.employmentsite.vo.companyService.CompanyVo;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
 
 public interface CompanyCQuery {
@@ -10,5 +11,6 @@ public interface CompanyCQuery {
                             @Param("companyCode") String companyCode, @Param("recordStatus") String recordStatus,
                             @Param("regionCode") String regionCode, @Param("streetCode") String streetCode,
                             @Param("createUserId") String createUserId, @Param("workTime") String workTime,
-                            @Param("curLoginUserSiteID") String curLoginUserSiteID);
+                            @Param("curLoginUserSiteID") String curLoginUserSiteID, @Param("siteID") String siteID,
+                            @Param("startDate") Date startDate, @Param("endDate") Date endDate);
 }

+ 9 - 3
src/main/java/com/hz/employmentsite/mapper/cquery/PostCQuery.java

@@ -1,14 +1,20 @@
 package com.hz.employmentsite.mapper.cquery;
 
 import com.hz.employmentsite.model.PcPost;
-import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import com.hz.employmentsite.vo.companyService.PostVo;
+import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.Date;
 import java.util.List;
 
 public interface PostCQuery {
-    List<PostVo> selectPostList(@Param("postIDList")String postIDList,@Param("professionName") String professionName, @Param("minCount")Integer minCount, @Param("maxCount")Integer maxCount,
-                                @Param("companyName")String companyName, @Param("RecordStatus") String RecordStatus,@Param("companyID")String companyID,@Param("curLoginUserSiteCompanyIDs")String curLoginUserSiteCompanyIDs);
+    List<PostVo> selectPostList(@Param("postIDList") String postIDList, @Param("professionName") String professionName,
+                                @Param("minCount") Integer minCount, @Param("maxCount") Integer maxCount,
+                                @Param("companyName") String companyName, @Param("RecordStatus") String RecordStatus,
+                                @Param("companyID") String companyID, @Param("curLoginUserSiteCompanyIDs") String curLoginUserSiteCompanyIDs,
+                                @Param("siteID") String siteID, @Param("startDate") Date startDate,
+                                @Param("endDate") Date endDate);
 
     List<RecommendPostVo> selectRecommendPostList(@Param("jobUserID") String jobUserID);
 

+ 3 - 3
src/main/java/com/hz/employmentsite/model/PcCompany.java

@@ -61,7 +61,7 @@ public class PcCompany {
 
     private String bonus;
 
-    private Integer registeredCapital;
+    private Double registeredCapital;
 
     private String industryID;
 
@@ -301,11 +301,11 @@ public class PcCompany {
         this.bonus = bonus;
     }
 
-    public Integer getRegisteredCapital() {
+    public Double getRegisteredCapital() {
         return registeredCapital;
     }
 
-    public void setRegisteredCapital(Integer registeredCapital) {
+    public void setRegisteredCapital(Double registeredCapital) {
         this.registeredCapital = registeredCapital;
     }
 

+ 9 - 0
src/main/java/com/hz/employmentsite/services/impl/baseSettings/SiteUserImpl.java

@@ -10,6 +10,7 @@ import com.hz.employmentsite.services.service.UserService;
 import com.hz.employmentsite.services.service.baseSettings.SiteUserService;
 import com.hz.employmentsite.services.service.jobUserManager.OccupationalService;
 import com.hz.employmentsite.services.service.system.DictionaryService;
+import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.baseSettings.SiteUserVo;
 import net.sourceforge.pinyin4j.PinyinHelper;
@@ -36,6 +37,9 @@ public class SiteUserImpl implements SiteUserService {
     @Autowired
     private StringUtils stringUtils;
 
+    @Autowired
+    private DateUtils dateUtils;
+
     @Autowired
     private PcSiteUserMapper pcSiteUserMapper;
 
@@ -69,6 +73,11 @@ public class SiteUserImpl implements SiteUserService {
     public PageInfo<SiteUserVo> getList(int pageIndex, int pageSize, List<String> siteUserIDList, String siteUserName, String siteID, String roleName, String regionCode, String userNo) {
         PageHelper.startPage(pageIndex, pageSize);
         List<SiteUserVo> dataList = userInfoCQuery.getList(stringUtils.ListToInSql(siteUserIDList), siteUserName, siteID, roleName, regionCode, userNo);
+        // 身份证脱敏
+        dataList.forEach(item -> {
+            item.setAge(dateUtils.getAgeForIdCard(item.idCard));
+            item.setIdCard(stringUtils.desensitizeData(item.idCard, "************", 3, 4));
+        });
         PageInfo<SiteUserVo> result = new PageInfo(dataList);
         return result;
     }

+ 5 - 4
src/main/java/com/hz/employmentsite/services/impl/companyService/CompanyServiceImpl.java

@@ -62,7 +62,8 @@ public class CompanyServiceImpl implements CompanyService {
                                        List<String> companyIDList, String companyName,
                                        String companyCode, String recordStatus,
                                        String regionCode, String streetCode,
-                                       String createUserId, String workTime, String loginUserID) {
+                                       String createUserId, String workTime, String loginUserID,
+                                       String siteID, Date startDate, Date endDate) {
         PageHelper.startPage(pageIndex, pageSize);
         String curLoginUserSiteID = "";
         if (!stringUtils.IsNullOrEmpty(loginUserID)) {
@@ -70,7 +71,7 @@ public class CompanyServiceImpl implements CompanyService {
             siteUserExp.or().andUserIDEqualTo(loginUserID);
             curLoginUserSiteID = pcSiteUserMapper.selectByExample(siteUserExp).get(0).getSiteID();
         }
-        List<CompanyVo> dataList = companyCQuery.getList(stringUtils.ListToInSql(companyIDList), companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, curLoginUserSiteID);
+        List<CompanyVo> dataList = companyCQuery.getList(stringUtils.ListToInSql(companyIDList), companyName, companyCode, recordStatus, regionCode, streetCode, createUserId, workTime, curLoginUserSiteID, siteID, startDate, endDate);
         PageInfo<CompanyVo> result = new PageInfo(dataList);
         return result;
     }
@@ -224,7 +225,7 @@ public class CompanyServiceImpl implements CompanyService {
         }else{
             ids.add(id);
         }
-        return companyCQuery.getList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null,null).stream().findFirst().orElse(null);
+        return companyCQuery.getList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
     }
 
     @Override
@@ -388,7 +389,7 @@ public class CompanyServiceImpl implements CompanyService {
 
         // 匹配数据
         companyVo.setFrName(pcFirm.getDbrName());
-        companyVo.setRegisteredCapital(Integer.valueOf(pcFirm.getRegisteredCapital()));
+        companyVo.setRegisteredCapital(Double.valueOf(pcFirm.getRegisteredCapital()));
         companyVo.setCompanyCode(pcFirm.getCompanyCode());
         companyVo.setInsuredCount(Integer.valueOf(pcFirm.getInsuredCount()));
         companyVo.setUserMobile(pcFirm.getLxMobile());

+ 9 - 5
src/main/java/com/hz/employmentsite/services/impl/companyService/PostServiceImpl.java

@@ -51,21 +51,25 @@ public class PostServiceImpl implements PostService {
     private DictionaryService dictionaryService;
 
     @Override
-    public PageInfo<PostVo> getList(Integer page, Integer rows, List<String> postIDList, String professionName, Integer minCount, Integer maxCount, String companyName, String recordStatus,String companyID,String loginUserID) {
+    public PageInfo<PostVo> getList(Integer page, Integer rows, List<String> postIDList,
+                                    String professionName, Integer minCount, Integer maxCount,
+                                    String companyName, String recordStatus, String companyID,
+                                    String loginUserID, String siteID, Date startDate,
+                                    Date endDate) {
         PageHelper.startPage(page, rows);
         List<String> curLoginUserSiteCompanyIDs = new ArrayList<>();
-        if(!stringUtils.IsNullOrEmpty(loginUserID)){
+        if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
             siteUserExp.or().andUserIDEqualTo(loginUserID);
             var curLoginUserSiteID = pcSiteUserMapper.selectByExample(siteUserExp).get(0).getSiteID();
             PcCompanyExample companyExp = new PcCompanyExample();
             companyExp.or().andSiteIDEqualTo(curLoginUserSiteID);
             var curLoginUserSiteCompanyList = companyMapper.selectByExample(companyExp).stream().toList();
-            for(PcCompany curLoginUserSiteCompany : curLoginUserSiteCompanyList){
+            for (PcCompany curLoginUserSiteCompany : curLoginUserSiteCompanyList) {
                 curLoginUserSiteCompanyIDs.add(curLoginUserSiteCompany.getCompanyID());
             }
         }
-        List<PostVo> list = postCQuery.selectPostList(stringUtils.ListToInSql(postIDList), professionName, minCount, maxCount, companyName, recordStatus,companyID,stringUtils.ListToInSql(curLoginUserSiteCompanyIDs));
+        List<PostVo> list = postCQuery.selectPostList(stringUtils.ListToInSql(postIDList), professionName, minCount, maxCount, companyName, recordStatus, companyID, stringUtils.ListToInSql(curLoginUserSiteCompanyIDs), siteID, startDate, endDate);
         PageInfo<PostVo> result = new PageInfo(list);
         return result;
 
@@ -237,7 +241,7 @@ public class PostServiceImpl implements PostService {
         }else{
             ids.add(id);
         }
-        return postCQuery.selectPostList(stringUtils.ListToInSql(ids), null, null, null, null, null,null,null).stream().findFirst().orElse(null);
+        return postCQuery.selectPostList(stringUtils.ListToInSql(ids), null, null, null, null, null, null, null, null, null, null).stream().findFirst().orElse(null);
     }
 
     @Override

+ 10 - 4
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -7,12 +7,12 @@ import com.hz.employmentsite.mapper.*;
 import com.hz.employmentsite.mapper.cquery.JobUserCQuery;
 import com.hz.employmentsite.model.*;
 import com.hz.employmentsite.services.service.jobUserManager.JobUserService;
+import com.hz.employmentsite.util.DateUtils;
 import com.hz.employmentsite.util.StringUtils;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import javax.print.DocFlavor;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -28,6 +28,8 @@ public class JobUserServiceImpl implements JobUserService {
     @Autowired
     private StringUtils stringUtils;
     @Autowired
+    private DateUtils dateUtils;
+    @Autowired
     private PcEducationMapper pcEducationMapper;
     @Autowired
     private PcJobuserMapper pcJobuserMapper;
@@ -49,13 +51,17 @@ public class JobUserServiceImpl implements JobUserService {
                                        String workTime,String loginUserID) {
         PageHelper.startPage(pageIndex, pageSize);
         String curLoginUserSiteID = "";
-        if(!stringUtils.IsNullOrEmpty(loginUserID)){
+        if (!stringUtils.IsNullOrEmpty(loginUserID)) {
             PcSiteUserExample siteUserExp = new PcSiteUserExample();
             siteUserExp.or().andUserIDEqualTo(loginUserID);
             curLoginUserSiteID = pcSiteUserMapper.selectByExample(siteUserExp).get(0).getSiteID();
         }
-        List<JobUserVo> list = jobUserCQuery.selectJobUserList(stringUtils.ListToInSql(jobUserIDList), name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, createUserId, workTime,curLoginUserSiteID);
-
+        List<JobUserVo> list = jobUserCQuery.selectJobUserList(stringUtils.ListToInSql(jobUserIDList), name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, createUserId, workTime, curLoginUserSiteID);
+        // 身份证脱敏
+        list.forEach(item -> {
+            item.setAge(dateUtils.getAgeForIdCard(item.getIdentityNumber()));
+            item.setIdentityNumber(stringUtils.desensitizeData(item.getIdentityNumber(), "************", 3, 4));
+        });
         PageInfo<JobUserVo> result = new PageInfo(list);
 
         return result;

+ 3 - 1
src/main/java/com/hz/employmentsite/services/service/companyService/CompanyService.java

@@ -6,6 +6,7 @@ import com.hz.employmentsite.model.PcSite;
 import com.hz.employmentsite.vo.companyService.AppCompanyPostVo;
 import com.hz.employmentsite.vo.companyService.CompanyVo;
 
+import java.util.Date;
 import java.util.List;
 
 public interface CompanyService {
@@ -14,7 +15,8 @@ public interface CompanyService {
                                 List<String> companyIDList, String companyName,
                                 String companyCode, String recordStatus,
                                 String regionCode, String streetCode,
-                                String createUserId, String workTime,String loginUserID);
+                                String createUserId, String workTime, String loginUserID,
+                                String siteID, Date startDate, Date endDate);
 
     List<PcCompany> getCompanyBySiteIDList(String siteID);
 

+ 16 - 3
src/main/java/com/hz/employmentsite/services/service/companyService/PostService.java

@@ -1,18 +1,31 @@
 package com.hz.employmentsite.services.service.companyService;
+
 import com.github.pagehelper.PageInfo;
-import com.hz.employmentsite.model.PcPost;
-import com.hz.employmentsite.vo.companyService.RecommendPostVo;
 import com.hz.employmentsite.vo.companyService.PostVo;
+import com.hz.employmentsite.vo.companyService.RecommendPostVo;
+
+import java.util.Date;
 import java.util.List;
 
 public interface PostService {
-    PageInfo<PostVo> getList(Integer page, Integer rows, List<String> postIDList,String professionName, Integer minCount, Integer maxCount, String companyName,String RecordStatus,String companyID,String loginUserID);
+    PageInfo<PostVo> getList(Integer page, Integer rows, List<String> postIDList,
+                             String professionName, Integer minCount, Integer maxCount,
+                             String companyName, String RecordStatus, String companyID,
+                             String loginUserID, String siteID, Date startDate,
+                             Date endDate);
+
     PageInfo<RecommendPostVo> getCommendPostList(Integer page, Integer rows, String jobUserID);
+
     Integer saveCommendPost(RecommendPostVo data, String userId);
+
     int save(PostVo data, String userId);
+
     int delete(List<String> ids);
+
     PostVo getDataById(String id);
+
     List<PostVo> getDataListByCompanyID(String companyID);
+
     List<PostVo> importPost(List<PostVo> dataList, String userID);
 
     int deletePostAndRecommendMgt(String id);

+ 16 - 1
src/main/java/com/hz/employmentsite/util/StringUtils.java

@@ -2,7 +2,6 @@ package com.hz.employmentsite.util;
 
 import org.springframework.stereotype.Component;
 
-import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -23,4 +22,20 @@ public class StringUtils {
         return "'" + sql + "'";
     }
 
+    /**
+     * 重要信息脱密
+     *
+     * @param data        数据
+     * @param ciphertext  加密密文
+     * @param startLength 开始位置
+     * @param endLength   结束位置
+     * @return 脱敏后的文本数据
+     */
+    public String desensitizeData(String data, String ciphertext, int startLength, int endLength) {
+        if (IsNullOrEmpty(data)) {
+            return "";
+        }
+        return data.substring(0, startLength) + ciphertext + data.substring(data.length() - endLength);
+    }
+
 }

+ 1 - 1
src/main/java/com/hz/employmentsite/vo/companyService/CompanyVo.java

@@ -79,7 +79,7 @@ public class CompanyVo {
     public String latitude;
 
     public Date establishmentTime;
-    public Integer registeredCapital;
+    public Double registeredCapital;
     public String signInPoliticalArea;
 
     public String industryID;

+ 9 - 9
src/main/resources/mapping/PcCompanyMapper.xml

@@ -30,7 +30,7 @@
     <result column="SignInPoliticalArea" jdbcType="VARCHAR" property="signInPoliticalArea"/>
     <result column="Website" jdbcType="VARCHAR" property="website"/>
     <result column="Bonus" jdbcType="VARCHAR" property="bonus"/>
-    <result column="RegisteredCapital" jdbcType="INTEGER" property="registeredCapital"/>
+    <result column="RegisteredCapital" jdbcType="DOUBLE" property="registeredCapital"/>
     <result column="IndustryID" jdbcType="VARCHAR" property="industryID"/>
     <result column="EstateCategoryID" jdbcType="INTEGER" property="estateCategoryID"/>
     <result column="TagID" jdbcType="INTEGER" property="tagID"/>
@@ -177,7 +177,7 @@
             #{createUserID,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{modifyUserID,jdbcType=VARCHAR},
             #{modifyTime,jdbcType=TIMESTAMP}, #{longitude,jdbcType=VARCHAR}, #{latitude,jdbcType=VARCHAR},
             #{openId,jdbcType=VARCHAR}, #{businScope,jdbcType=LONGVARCHAR}, #{companyDesc,jdbcType=LONGVARCHAR},
-            #{establishmentTime,jdbcType=TIMESTAMP}, #{registeredCapital,jdbcType=INTEGER},
+            #{establishmentTime,jdbcType=TIMESTAMP}, #{registeredCapital,jdbcType=DOUBLE},
             #{signInPoliticalArea,jdbcType=VARCHAR}, #{industryID,jdbcType=VARCHAR},
             #{estateCategoryID,jdbcType=INTEGER},
             #{tagID,jdbcType=INTEGER}, #{website,jdbcType=VARCHAR}, #{bonus,jdbcType=VARCHAR})
@@ -386,7 +386,7 @@
         #{bonus,jdbcType=VARCHAR},
       </if>
       <if test="registeredCapital != null">
-        #{registeredCapital,jdbcType=INTEGER},
+        #{registeredCapital,jdbcType=DOUBLE},
       </if>
       <if test="industryID != null">
         #{industryID,jdbcType=VARCHAR},
@@ -502,7 +502,7 @@
         Bonus = #{row.bonus,jdbcType=VARCHAR},
       </if>
       <if test="row.registeredCapital != null">
-        RegisteredCapital = #{row.registeredCapital,jdbcType=INTEGER},
+        RegisteredCapital = #{row.registeredCapital,jdbcType=DOUBLE},
       </if>
       <if test="row.industryID != null">
         IndustryID = #{row.industryID,jdbcType=VARCHAR},
@@ -551,7 +551,7 @@
     SignInPoliticalArea = #{row.signInPoliticalArea,jdbcType=VARCHAR},
     Website = #{row.website,jdbcType=VARCHAR},
     Bonus = #{row.bonus,jdbcType=VARCHAR},
-    RegisteredCapital = #{row.registeredCapital,jdbcType=INTEGER},
+    RegisteredCapital = #{row.registeredCapital,jdbcType=DOUBLE},
     IndustryID = #{row.industryID,jdbcType=VARCHAR},
     EstateCategoryID = #{row.estateCategoryID,jdbcType=INTEGER},
     TagID = #{row.tagID,jdbcType=INTEGER}
@@ -590,7 +590,7 @@
     SignInPoliticalArea = #{row.signInPoliticalArea,jdbcType=VARCHAR},
     Website = #{row.website,jdbcType=VARCHAR},
     Bonus = #{row.bonus,jdbcType=VARCHAR},
-    RegisteredCapital = #{row.registeredCapital,jdbcType=INTEGER},
+    RegisteredCapital = #{row.registeredCapital,jdbcType=DOUBLE},
     IndustryID = #{row.industryID,jdbcType=VARCHAR},
     EstateCategoryID = #{row.estateCategoryID,jdbcType=INTEGER},
     TagID = #{row.tagID,jdbcType=INTEGER}
@@ -692,7 +692,7 @@
         Bonus = #{bonus,jdbcType=VARCHAR},
       </if>
       <if test="registeredCapital != null">
-        RegisteredCapital = #{registeredCapital,jdbcType=INTEGER},
+        RegisteredCapital = #{registeredCapital,jdbcType=DOUBLE},
       </if>
       <if test="industryID != null">
         IndustryID = #{industryID,jdbcType=VARCHAR},
@@ -738,7 +738,7 @@
         SignInPoliticalArea = #{signInPoliticalArea,jdbcType=VARCHAR},
         Website             = #{website,jdbcType=VARCHAR},
         Bonus               = #{bonus,jdbcType=VARCHAR},
-        RegisteredCapital   = #{registeredCapital,jdbcType=INTEGER},
+        RegisteredCapital   = #{registeredCapital,jdbcType=DOUBLE},
         IndustryID          = #{industryID,jdbcType=VARCHAR},
         EstateCategoryID    = #{estateCategoryID,jdbcType=INTEGER},
         TagID               = #{tagID,jdbcType=INTEGER}
@@ -774,7 +774,7 @@
         SignInPoliticalArea = #{signInPoliticalArea,jdbcType=VARCHAR},
         Website             = #{website,jdbcType=VARCHAR},
         Bonus               = #{bonus,jdbcType=VARCHAR},
-        RegisteredCapital   = #{registeredCapital,jdbcType=INTEGER},
+        RegisteredCapital   = #{registeredCapital,jdbcType=DOUBLE},
         IndustryID          = #{industryID,jdbcType=VARCHAR},
         EstateCategoryID    = #{estateCategoryID,jdbcType=INTEGER},
         TagID               = #{tagID,jdbcType=INTEGER}

+ 13 - 0
src/main/resources/mapping/cquery/CompanyCQuery.xml

@@ -55,6 +55,19 @@
         <if test="curLoginUserSiteID!='' and curLoginUserSiteID!=null">
             and company.siteID = #{curLoginUserSiteID}
         </if>
+        <if test="siteID!='' and siteID!=null">
+            and company.siteID = #{siteID}
+        </if>
+        <if test="startDate != null and endDate == null">
+            and company.CreateTime <![CDATA[ >= ]]> #{startDate}
+        </if>
+        <if test="endDate != null and startDate == null">
+            and company.CreateTime <![CDATA[ <= ]]> #{endDate}
+        </if>
+        <if test="startDate != null and endDate != null">
+            and company.CreateTime <![CDATA[ >= ]]> #{startDate}
+            and company.CreateTime <![CDATA[ <= ]]> #{endDate}
+        </if>
         order by company.CreateTime desc,postCount desc
     </select>
 

+ 13 - 0
src/main/resources/mapping/cquery/PostCQuery.xml

@@ -48,6 +48,19 @@
             <if test="curLoginUserSiteCompanyIDs != '' and curLoginUserSiteCompanyIDs != null">
                 and post.companyID in (${curLoginUserSiteCompanyIDs})
             </if>
+            <if test="siteID!='' and siteID!=null">
+                and company.siteID = #{siteID}
+            </if>
+            <if test="startDate != null and endDate == null">
+                and post.CreateTime <![CDATA[ >= ]]> #{startDate}
+            </if>
+            <if test="endDate != null and startDate == null">
+                and post.CreateTime <![CDATA[ <= ]]> #{endDate}
+            </if>
+            <if test="startDate != null and endDate != null">
+                and post.CreateTime <![CDATA[ >= ]]> #{startDate}
+                and post.CreateTime <![CDATA[ <= ]]> #{endDate}
+            </if>
         </where>
         group by
         post.postID,post.workCode,post.workName,post.recruitCount,post.companyID,post.postName,post.recordStatus,post.workNature,post.validDay,

+ 2 - 2
vue/src/api/jobUserManager/jobuser/index.ts

@@ -23,12 +23,12 @@ export function getJobUserDataList(){
   );
 }
 
-export function getDataById(id: any,loginUserID:any) {
+export function getDataById(id: any, loginUserID: any, cipherType: any) {
   return request(
     {
       url: 'jobUserService/jobUser/getDataByID',
       method: 'get',
-      params: {id,loginUserID},
+      params: {id, loginUserID, cipherType},
     },
     { isNew: true },
   );

+ 22 - 0
vue/src/utils/dateUtil.ts

@@ -20,4 +20,26 @@ export function formatToDate(
   return dayjs(date).format(format);
 }
 
+export function calculateAge(idCardNumber) {
+  if (!idCardNumber) {
+    return 0;
+  }
+
+  // 假设身份证号中出生日期的格式为YYYYMMDD
+  const birthYear = parseInt(idCardNumber.substring(6, 10), 10);
+  const birthMonth = parseInt(idCardNumber.substring(10, 12), 10);
+  const birthDay = parseInt(idCardNumber.substring(12, 14), 10);
+  // 获取当前日期
+  const currentDate = new Date();
+  const currentYear = currentDate.getFullYear();
+  const currentMonth = currentDate.getMonth() + 1; // 月份从 0 开始
+  const currentDay = currentDate.getDate();
+  // 计算年龄
+  let age = currentYear - birthYear;
+  if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay)) {
+    age--; // 生日还未过,减去一岁
+  }
+  return age;
+}
+
 export const dateUtil = dayjs;

+ 6 - 7
vue/src/views/baseSettings/positionMap/index.vue

@@ -15,7 +15,6 @@
               :options="regionList"
               :field-names="{ label: 'name', value: 'code' }"
               :allow-clear="true"
-              @change="changeRegion"
             >
             </a-select>
           </a-form-item>
@@ -36,12 +35,7 @@
         </a-col>
         <a-col :span="6">
           <a-form-item label="日期" :label-col="{ span: 8 }" name="startDate">
-            <a-input
-              v-model:value="searchParams.startDate"
-              placeholder=""
-              :allow-clear="true"
-              type="date"
-            />
+            <a-date-picker v-model:value="searchParams.startDate" value-format="YYYY-MM-DD"/>
           </a-form-item>
         </a-col>
         <a-col :span="6" style="text-align: left">
@@ -139,6 +133,11 @@
 
       // 查询运动轨迹
       async function onSearch() {
+        if (!searchParams.value.startDate) {
+          message.error('请选择日期!');
+          return;
+        }
+
         // 删除已有标点
         if (markerList.length > 0) {
           for (let i = 0; i < markerList.length; i++) {

+ 1 - 27
vue/src/views/baseSettings/siteUser/index.vue

@@ -117,11 +117,7 @@ export default defineComponent({
       {title: '用户类型', dataIndex: 'roleName', key: 'roleName',width:120, align: "center"},
       {title: '性别', dataIndex: 'genderName', key: 'genderName', align: "center"},
       {title: '联系电话', dataIndex: 'mobile', key: 'mobile', align: "center"},
-      {
-        title: '年龄', dataIndex: 'age', key: 'age', align: "center", customRender: item => {
-          return calculateAge(item.record.idCard);
-        }
-      },
+      {title: '年龄', dataIndex: 'age', key: 'age', align: "center"},
       {title: '身份证号', dataIndex: 'idCard', key: 'idCard', align: "center"},
       {title: '所属驿站', dataIndex: 'siteName', key: 'siteName', align: "center"},
       {title: '操作', key: 'operation', fixed: 'right', width: 150, align: "center"},
@@ -164,28 +160,6 @@ export default defineComponent({
       showTotal: total => getPaginationTotalTitle(total)
     }));
 
-    const calculateAge = (idCardNumber) => {
-      if (!idCardNumber) {
-        return 0;
-      }
-
-      // 假设身份证号中出生日期的格式为YYYYMMDD
-      const birthYear = parseInt(idCardNumber.substring(6, 10), 10);
-      const birthMonth = parseInt(idCardNumber.substring(10, 12), 10);
-      const birthDay = parseInt(idCardNumber.substring(12, 14), 10);
-      // 获取当前日期
-      const currentDate = new Date();
-      const currentYear = currentDate.getFullYear();
-      const currentMonth = currentDate.getMonth() + 1; // 月份从 0 开始
-      const currentDay = currentDate.getDate();
-      // 计算年龄
-      let age = currentYear - birthYear;
-      if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay)) {
-        age--; // 生日还未过,减去一岁
-      }
-      return age;
-    }
-
     const getAllSites = () => {
       getSiteList(searchParams).then((result :any) => {
         allSites.value = result.list;

+ 38 - 2
vue/src/views/companyService/company/index.vue

@@ -74,8 +74,26 @@
           </a-form-item>
         </a-col>
         <a-col :span="6">
+          <a-form-item label="所属驿站" :label-col="{span:6}" name="siteID">
+            <a-select
+              ref="select"
+              v-model:value="searchParams.siteID"
+              :options="siteList"
+              :field-names="{ label: 'siteName', value: 'siteID' }"
+              :allow-clear="true"
+              @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
         </a-col>
         <a-col :span="6">
+          <a-form-item label="登记时间" :label-col="{span:4}">
+            <a-date-picker v-model:value="searchParams.startDate" picker="date" value-format="YYYY-MM-DD"
+                           style="width: 120px;"/>
+            <label style="margin:10px;">-</label>
+            <a-date-picker v-model:value="searchParams.endDate" picker="date" value-format="YYYY-MM-DD"
+                           style="width: 120px"/>
+          </a-form-item>
         </a-col>
       </a-row>
       <a-row class="edit-operation">
@@ -133,6 +151,7 @@ import {useTabsViewStore} from '@/store/modules/tabsView';
 import {get} from "@/api/common";
 import type {ImportProps} from '@/components/basic/excel/importExcel/ImportProps';
 import PositionShowModal from './show.vue';
+import {getSiteList} from "@/api/baseSettings/siteInfo";
 
 export default defineComponent({
   components: {DownOutlined, UpOutlined, BExportExcel, BImportExcel, PositionShowModal},
@@ -146,7 +165,10 @@ export default defineComponent({
       companyCode: '',
       recordStatus: '',
       regionCode: '',
-      streetCode: ''
+      streetCode: '',
+      siteID: "",
+      startDate: "",
+      endDate: ""
     });
     // 导出Excel查询参数
     const exportSearchParams = computed(() => {
@@ -219,6 +241,7 @@ export default defineComponent({
       },
       {title: '操作', key: 'operation', fixed: 'right', width: 150, align: "center"},
     ];
+    const siteList = ref<Array<any>>([])
     const pagination = computed(() => ({
       total: formState.total,
       current: searchParams.pageIndex,
@@ -253,6 +276,16 @@ export default defineComponent({
       // console.log(regionList.value);
     });
 
+    // 获取驿站数据
+    const getAllSites = () => {
+      getSiteList({
+        pageIndex: 1,
+        pageSize: 9999
+      }).then((result: any) => {
+        siteList.value = result.list;
+      })
+    }
+
     const loadData = async function () {
       formState.loading = true;
       const result: any = await getList(searchParams);
@@ -337,11 +370,14 @@ export default defineComponent({
       regionList,
       streetList,
       onDetail,
-      exportSearchParams
+      exportSearchParams,
+      getAllSites,
+      siteList
     };
   },
   created() {
     this.loadData();
+    this.getAllSites();
   },
   activated() {
     if (history.state.params?.reload)

+ 43 - 4
vue/src/views/companyService/post/index.vue

@@ -22,9 +22,9 @@
         </a-col>
         <a-col :span="6">
           <a-form-item label="招聘人数" :label-col="{span:6}" name="recruitCount">
-            <a-input type="number" v-model:value="searchParams.minCount" style="width:110px;" placeholder="" />
+            <a-input type="number" v-model:value="searchParams.minCount" style="width:120px;" placeholder=""/>
             <label style="margin:10px;">-</label>
-            <a-input type="number" v-model:value="searchParams.maxCount" style="width:110px;" placeholder="" />
+            <a-input type="number" v-model:value="searchParams.maxCount" style="width:120px;" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="6" style="text-align: left">
@@ -65,6 +65,28 @@
             </a-select>
           </a-form-item>
         </a-col>
+        <a-col :span="6">
+          <a-form-item label="所属驿站" :label-col="{span:6}" name="siteID">
+            <a-select
+              ref="select"
+              v-model:value="searchParams.siteID"
+              :options="siteList"
+              :field-names="{ label: 'siteName', value: 'siteID' }"
+              :allow-clear="true"
+              @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="登记时间" :label-col="{span:6}">
+            <a-date-picker v-model:value="searchParams.startDate" picker="date" value-format="YYYY-MM-DD"
+                           style="width: 120px;"/>
+            <label style="margin:10px;">-</label>
+            <a-date-picker v-model:value="searchParams.endDate" picker="date" value-format="YYYY-MM-DD"
+                           style="width: 120px"/>
+          </a-form-item>
+        </a-col>
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
@@ -123,6 +145,7 @@ import {useTabsViewStore} from "@/store/modules/tabsView";
 import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps";
 import {get} from "@/api/common";
 import Recommend from "@/views/companyService/post/recommend.vue";
+import {getSiteList} from "@/api/baseSettings/siteInfo";
 
 export default defineComponent({
   components: {DownOutlined, UpOutlined, BExportExcel, BImportExcel, Recommend},
@@ -134,7 +157,10 @@ export default defineComponent({
       minCount: null,
       maxCount: null,
       professionName: null,
-      recordStatus: null
+      recordStatus: null,
+      siteID: "",
+      startDate: "",
+      endDate: ""
     });
     // 导出Excel查询参数
     const exportSearchParams = computed(() => {
@@ -146,6 +172,7 @@ export default defineComponent({
     const companyList = ref<SelectProps['options']>();
     const postStatusList = [{name: '启用', value: 1}, {name: '禁用', value: 0}];
     const recommendRef = ref();
+    const siteList = ref<Array<any>>([]);
     const importOptions = ref<ImportProps>({
       title: '导入',
       url: 'companyService/post/importPost',
@@ -234,6 +261,15 @@ export default defineComponent({
       formState.total = result.total;
       formState.loading = false;
     }
+    // 获取驿站数据
+    const getAllSites = () => {
+      getSiteList({
+        pageIndex: 1,
+        pageSize: 9999
+      }).then((result: any) => {
+        siteList.value = result.list;
+      })
+    }
 
     const onAdd = () => {
       tabsViewStore.addTabByPath('/companyService/post/add', {});
@@ -335,12 +371,15 @@ export default defineComponent({
       postStatusList,
       companyList,
       onDetail,
-      exportSearchParams
+      exportSearchParams,
+      siteList,
+      getAllSites
     };
   },
   created() {
     this.loadData();
     this.getCompanyList();
+    this.getAllSites();
   },
   activated() {
     const route = useRoute();

+ 1 - 1
vue/src/views/jobUserManager/jobuser/edit.vue

@@ -865,7 +865,7 @@ export default defineComponent(
         getOccupationalLevelList()
         getFirstOccupationalList()
         getInfo().then((loginUserInfo:any)=>{
-          getDataById(id,loginUserInfo.userID).then(data => {
+          getDataById(id, loginUserInfo.userID, null).then(data => {
             formState.dataModel = data;
             if (formState.dataModel.regionCode) {
               changeCity();

+ 1 - 23
vue/src/views/jobUserManager/jobuser/index.vue

@@ -191,11 +191,7 @@ export default defineComponent({
       {title: '民族', dataIndex: 'nationName', key: 'nationName', width: 80, align: "center"},
       {title: '联系电话', dataIndex: 'userMobile', key: 'userMobile',align: "center"},
       {title: '所属驿站', dataIndex: 'siteName', key: 'siteName',align: "center"},
-      {
-        title: '年龄', dataIndex: 'age', key: 'age',align: "center", customRender: item => {
-          return calculateAge(item.record.identityNumber);
-        }
-      },
+      {title: '年龄', dataIndex: 'age', key: 'age', align: "center"},
       {title: '最高学历', dataIndex: 'cultureName', key: 'cultureName', align: "center"},
       {title: '地址', dataIndex: 'address', key: 'address',align: "center"},
       {title: '就业状态', dataIndex: 'jobStatusName', key: 'jobStatusName',align: "center"},
@@ -217,23 +213,6 @@ export default defineComponent({
     const educationTypeList = ref<SelectProps['options']>();
     const emphasisTypeList = ref<SelectProps['options']>();
 
-    const calculateAge = (idCardNumber) => {
-      // 假设身份证号中出生日期的格式为YYYYMMDD
-      const birthYear = parseInt(idCardNumber.substring(6, 10), 10);
-      const birthMonth = parseInt(idCardNumber.substring(10, 12), 10);
-      const birthDay = parseInt(idCardNumber.substring(12, 14), 10);
-      // 获取当前日期
-      const currentDate = new Date();
-      const currentYear = currentDate.getFullYear();
-      const currentMonth = currentDate.getMonth() + 1; // 月份从 0 开始
-      const currentDay = currentDate.getDate();
-      // 计算年龄
-      let age = currentYear - birthYear;
-      if (currentMonth < birthMonth || (currentMonth === birthMonth && currentDay < birthDay)) {
-        age--; // 生日还未过,减去一岁
-      }
-      return age;
-    }
     const onSelectChange = (selectedRowKeys: any) => {
       formState.selectedRowKeys = selectedRowKeys;
     };
@@ -356,7 +335,6 @@ export default defineComponent({
       getSexList,
       getEducationList,
       getEmphasisTypeList,
-      calculateAge,
       onVitae,
       expand,
       exportSearchParams

+ 5 - 1
vue/src/views/jobUserManager/jobuser/vitae.vue

@@ -112,6 +112,10 @@ import type {SelectProps, TableColumnsType} from "ant-design-vue";
 import dayjs from "dayjs";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import {getJobHuntList} from "@/api/jobUserManager/jobhunt";
+import {useUserStore} from "@/store/modules/user";
+
+const userStore = useUserStore();
+const userInfo = ref(userStore.getUserInfo)
 
 // 求职人员信息
 const jobUserInfo = reactive({
@@ -235,7 +239,7 @@ const cultureList = ref<SelectProps['options']>();
 
 // 加载求职人员数据
 const loadData = (id: any) => {
-  getDataById(id).then(data => {
+  getDataById(id, userInfo.value.userID, 1).then(data => {
     Object.keys(jobUserInfo).forEach(key => {
       jobUserInfo[key] = data[key];
     })