Procházet zdrojové kódy

求职意向功能提交

liao-sea před 11 měsíci
rodič
revize
5302b95225
27 změnil soubory, kde provedl 949 přidání a 320 odebrání
  1. 0 3
      src/main/java/com/hz/employmentsite/controller/baseSettings/InstitutionController.java
  2. 123 0
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java
  3. 0 31
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobhuntController.java
  4. 7 3
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobuserController.java
  5. 15 0
      src/main/java/com/hz/employmentsite/mapper/cquery/JobHuntCQuery.java
  6. 0 10
      src/main/java/com/hz/employmentsite/mapper/cquery/JobhuntCQuery.java
  7. 8 8
      src/main/java/com/hz/employmentsite/model/PcJobhunt.java
  8. 20 40
      src/main/java/com/hz/employmentsite/model/PcJobhuntExample.java
  9. 177 0
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java
  10. 0 31
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobhuntServiceImpl.java
  11. 13 0
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobuserServiceImpl.java
  12. 21 0
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobHuntService.java
  13. 0 11
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobhuntService.java
  14. 3 1
      src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobuserService.java
  15. 27 0
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java
  16. 0 22
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobhuntVo.java
  17. 13 13
      src/main/resources/mapping/PcJobhuntMapper.xml
  18. 40 20
      src/main/resources/mapping/cquery/JobhuntCQuery.xml
  19. 43 2
      vue/src/api/jobUserManager/jobhunt/index.ts
  20. 12 0
      vue/src/api/jobUserManager/jobuser/index.ts
  21. 1 2
      vue/src/views/baseSettings/institution/edit.vue
  22. 7 7
      vue/src/views/baseSettings/institution/index.vue
  23. 9 9
      vue/src/views/baseSettings/site/index.vue
  24. 3 3
      vue/src/views/baseSettings/user/index.vue
  25. 203 0
      vue/src/views/jobUserManager/jobhunt/edit.vue
  26. 198 100
      vue/src/views/jobUserManager/jobhunt/index.vue
  27. 6 4
      vue/src/views/taskAndLog/dowork/index.vue

+ 0 - 3
src/main/java/com/hz/employmentsite/controller/baseSettings/InstitutionController.java

@@ -25,9 +25,6 @@ public class InstitutionController {
     @Autowired
     private InstitutionService institutionService;
 
-    @Autowired
-    private SiteInfoService siteInfoService;
-
     @Autowired
     private ExcelHelper excelHelper;
 

+ 123 - 0
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java

@@ -0,0 +1,123 @@
+package com.hz.employmentsite.controller.jobUserManager;
+
+import com.github.pagehelper.PageInfo;
+import com.hz.employmentsite.filter.exception.BaseErrorEnum;
+import com.hz.employmentsite.filter.exception.BaseResponse;
+import com.hz.employmentsite.filter.exception.RespGenerstor;
+import com.hz.employmentsite.services.service.AccountService;
+import com.hz.employmentsite.services.service.jobUserManager.JobHuntService;
+import com.hz.employmentsite.util.ExcelHelper;
+import com.hz.employmentsite.vo.baseSettings.InstitutionVo;
+import com.hz.employmentsite.vo.companyService.PostVo;
+import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.UUID;
+
+@RestController
+@RequestMapping(value = "/api/jobUserService/jobHunt")
+public class JobHuntController {
+
+    @Autowired
+    private AccountService accountService;
+
+    @Autowired
+    private JobHuntService jobhuntService;
+
+    @Autowired
+    private ExcelHelper excelHelper;
+
+    @ResponseBody
+    @GetMapping("/getList")
+    public BaseResponse getList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
+                                    @RequestParam(required = false) String jobHuntID,
+                                    @RequestParam(required = false) String jobUserName,
+                                    @RequestParam(required = false) String workName,
+                                    @RequestParam(required = false) Integer minWorkYear,
+                                    @RequestParam(required = false) Integer maxWorkYear,
+                                    @RequestParam(required = false) Integer jobHuntTypeID,
+                                    @RequestParam(required = false) Integer jobUserTypeID,
+                                    @RequestParam(required = false) BigDecimal minSalary,
+                                    @RequestParam(required = false) BigDecimal maxSalary,
+                                    @RequestParam(required = false) Integer isAccomplish) {
+
+        PageInfo<JobHuntVo> result = jobhuntService.getList(pageIndex, pageSize,jobHuntID,jobUserName,workName,minWorkYear, maxWorkYear, jobHuntTypeID, jobUserTypeID, minSalary, maxSalary, isAccomplish);
+        return RespGenerstor.success(result);
+    }
+
+    @GetMapping("get")
+    public BaseResponse<JobHuntVo> get(@RequestParam(required = false) String jobHuntID) {
+        JobHuntVo dataModel = new JobHuntVo();
+        if (jobHuntID == null || jobHuntID == ""){
+            dataModel.jobHuntID = UUID.randomUUID().toString();
+        }else{
+            dataModel = jobhuntService.get(jobHuntID);
+        }
+        return RespGenerstor.success(dataModel);
+    }
+
+    @ResponseBody
+    @PostMapping("/delete")
+    public BaseResponse<Integer> delete(@RequestBody List<String> idList){
+        return RespGenerstor.success(jobhuntService.delete(idList));
+    }
+
+    @PostMapping("save")
+    public BaseResponse<Integer> save(@RequestBody JobHuntVo data) {
+        return RespGenerstor.success(jobhuntService.save(data,accountService.getLoginUserID()));
+    }
+
+    @PostMapping("/importJobHunt")
+    public BaseResponse<Object> importPost(@RequestBody List<JobHuntVo> dataList){
+        List<JobHuntVo> result = jobhuntService.importJobHunt(dataList, accountService.getLoginUserID());
+        if (result != null && result.size() > 0) {
+            return RespGenerstor.fail(BaseErrorEnum.IMPORT_DATA_ERROR, result);
+        } else {
+            return RespGenerstor.success(true);
+        }
+    }
+
+    @GetMapping("export")
+    public BaseResponse export(HttpServletResponse response, @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
+                               @RequestParam(required = false) String jobHuntID,
+                               @RequestParam(required = false) String jobUserName,
+                               @RequestParam(required = false) String workName,
+                               @RequestParam(required = false) Integer minWorkYear,
+                               @RequestParam(required = false) Integer maxWorkYear,
+                               @RequestParam(required = false) Integer jobHuntType,
+                               @RequestParam(required = false) Integer jobUserTypeID,
+                               @RequestParam(required = false) BigDecimal minSalary,
+                               @RequestParam(required = false) BigDecimal maxSalary,
+                               @RequestParam(required = false) Integer isAccomplish) throws Exception{
+
+        PageInfo<JobHuntVo> result = jobhuntService.getList(pageIndex, pageSize,jobHuntID,jobUserName,workName,minWorkYear, maxWorkYear, jobHuntType, jobUserTypeID, minSalary, maxSalary, isAccomplish);
+        ExcelHelper.ExcelData data = excelHelper.new ExcelData();
+        data.setTitles(Arrays.asList(new String[]{"序号","姓名","工种名称", "希望工作地区", "可到职日期","工作年限", "求职类型", "人才类型", "月薪要求"}));
+        int i = 0;
+        List<List<Object>> rowDatas = new ArrayList();
+        for (JobHuntVo item : result.getList()) {
+            List<Object> row = new ArrayList();
+            ++i;
+            row.add(i);
+            row.add(item.jobUserName);
+            row.add(item.workName);
+            row.add(item.areaWork);
+            row.add(item.inDate);
+            row.add(item.workYear);
+            row.add(item.jobHuntType);
+            row.add(item.jobUserType);
+            row.add(item.salary);
+            rowDatas.add(row);
+        }
+        data.setRows(rowDatas);
+        excelHelper.exportExcel(response, data);
+        return null;
+    }
+
+
+}

+ 0 - 31
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobhuntController.java

@@ -1,31 +0,0 @@
-package com.hz.employmentsite.controller.jobUserManager;
-
-import com.github.pagehelper.PageInfo;
-import com.hz.employmentsite.filter.exception.BaseResponse;
-import com.hz.employmentsite.filter.exception.RespGenerstor;
-import com.hz.employmentsite.services.service.jobUserManager.JobhuntService;
-import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.HashMap;
-
-@RestController
-@RequestMapping(value = "/api/Jobusermgr/Jobhunt")
-public class JobhuntController {
-
-    @Autowired
-    private JobhuntService jobhuntService;
-
-    @ResponseBody
-    @GetMapping("/getList")
-    public BaseResponse getList(@RequestParam("page") int pageIndex, @RequestParam("limit") int pageSize,
-                                    @RequestParam(required = false) String name,
-                                    @RequestParam(required = false) Integer wantedJobId,
-                                    @RequestParam(required = false) Boolean isAccomplish) {
-
-        PageInfo<JobhuntVo> result = jobhuntService.getList(pageIndex, pageSize,name, wantedJobId, isAccomplish);
-        return RespGenerstor.success(result);
-    }
-
-}

+ 7 - 3
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobuserController.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.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.vo.companyService.PostVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
-import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -54,6 +52,12 @@ public class JobuserController {
         return RespGenerstor.success(result);
     }
 
+    @ResponseBody
+    @GetMapping("/getDataList")
+    public BaseResponse<ArrayList<SelectProps>> getDataList() {
+        return RespGenerstor.success(jobuserService.getDataList());
+    }
+
     @ResponseBody
     @GetMapping("/getEducationList")
     public BaseResponse getEducationList(String id) {

+ 15 - 0
src/main/java/com/hz/employmentsite/mapper/cquery/JobHuntCQuery.java

@@ -0,0 +1,15 @@
+package com.hz.employmentsite.mapper.cquery;
+
+import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+public interface JobHuntCQuery {
+    List<JobHuntVo> selectJobHuntList(@Param("jobHuntID") String jobHuntID,@Param("jobUserName") String jobUserName,@Param("workName") String workName,
+                                      @Param("minWorkYear")Integer minWorkYear,@Param("maxWorkYear")Integer maxWorkYear,
+                                      @Param("jobHuntTypeID")Integer jobHuntTypeID, @Param("jobUserTypeID")Integer jobUserTypeID,
+                                      @Param("minSalary")BigDecimal minSalary, @Param("maxSalary")BigDecimal maxSalary,
+                                      @Param("isAccomplish")Integer isAccomplish);
+}

+ 0 - 10
src/main/java/com/hz/employmentsite/mapper/cquery/JobhuntCQuery.java

@@ -1,10 +0,0 @@
-package com.hz.employmentsite.mapper.cquery;
-
-import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface JobhuntCQuery {
-    List<JobhuntVo> selectJobhuntList(@Param("name") String name, @Param("wantedJobId")Integer wantedJobId, @Param("isAccomplish")Boolean isAccomplish);
-}

+ 8 - 8
src/main/java/com/hz/employmentsite/model/PcJobhunt.java

@@ -18,9 +18,9 @@ public class PcJobhunt {
 
     private Integer workYear;
 
-    private String uchuntType;
+    private Integer uchuntType;
 
-    private String abilityType;
+    private Integer abilityType;
 
     private BigDecimal salary;
 
@@ -88,20 +88,20 @@ public class PcJobhunt {
         this.workYear = workYear;
     }
 
-    public String getUchuntType() {
+    public Integer getUchuntType() {
         return uchuntType;
     }
 
-    public void setUchuntType(String uchuntType) {
-        this.uchuntType = uchuntType == null ? null : uchuntType.trim();
+    public void setUchuntType(Integer uchuntType) {
+        this.uchuntType = uchuntType;
     }
 
-    public String getAbilityType() {
+    public Integer getAbilityType() {
         return abilityType;
     }
 
-    public void setAbilityType(String abilityType) {
-        this.abilityType = abilityType == null ? null : abilityType.trim();
+    public void setAbilityType(Integer abilityType) {
+        this.abilityType = abilityType;
     }
 
     public BigDecimal getSalary() {

+ 20 - 40
src/main/java/com/hz/employmentsite/model/PcJobhuntExample.java

@@ -586,62 +586,52 @@ public class PcJobhuntExample {
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeEqualTo(String value) {
+        public Criteria andUchuntTypeEqualTo(Integer value) {
             addCriterion("UchuntType =", value, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeNotEqualTo(String value) {
+        public Criteria andUchuntTypeNotEqualTo(Integer value) {
             addCriterion("UchuntType <>", value, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeGreaterThan(String value) {
+        public Criteria andUchuntTypeGreaterThan(Integer value) {
             addCriterion("UchuntType >", value, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeGreaterThanOrEqualTo(String value) {
+        public Criteria andUchuntTypeGreaterThanOrEqualTo(Integer value) {
             addCriterion("UchuntType >=", value, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeLessThan(String value) {
+        public Criteria andUchuntTypeLessThan(Integer value) {
             addCriterion("UchuntType <", value, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeLessThanOrEqualTo(String value) {
+        public Criteria andUchuntTypeLessThanOrEqualTo(Integer value) {
             addCriterion("UchuntType <=", value, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeLike(String value) {
-            addCriterion("UchuntType like", value, "uchuntType");
-            return (Criteria) this;
-        }
-
-        public Criteria andUchuntTypeNotLike(String value) {
-            addCriterion("UchuntType not like", value, "uchuntType");
-            return (Criteria) this;
-        }
-
-        public Criteria andUchuntTypeIn(List<String> values) {
+        public Criteria andUchuntTypeIn(List<Integer> values) {
             addCriterion("UchuntType in", values, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeNotIn(List<String> values) {
+        public Criteria andUchuntTypeNotIn(List<Integer> values) {
             addCriterion("UchuntType not in", values, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeBetween(String value1, String value2) {
+        public Criteria andUchuntTypeBetween(Integer value1, Integer value2) {
             addCriterion("UchuntType between", value1, value2, "uchuntType");
             return (Criteria) this;
         }
 
-        public Criteria andUchuntTypeNotBetween(String value1, String value2) {
+        public Criteria andUchuntTypeNotBetween(Integer value1, Integer value2) {
             addCriterion("UchuntType not between", value1, value2, "uchuntType");
             return (Criteria) this;
         }
@@ -656,62 +646,52 @@ public class PcJobhuntExample {
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeEqualTo(String value) {
+        public Criteria andAbilityTypeEqualTo(Integer value) {
             addCriterion("AbilityType =", value, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeNotEqualTo(String value) {
+        public Criteria andAbilityTypeNotEqualTo(Integer value) {
             addCriterion("AbilityType <>", value, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeGreaterThan(String value) {
+        public Criteria andAbilityTypeGreaterThan(Integer value) {
             addCriterion("AbilityType >", value, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeGreaterThanOrEqualTo(String value) {
+        public Criteria andAbilityTypeGreaterThanOrEqualTo(Integer value) {
             addCriterion("AbilityType >=", value, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeLessThan(String value) {
+        public Criteria andAbilityTypeLessThan(Integer value) {
             addCriterion("AbilityType <", value, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeLessThanOrEqualTo(String value) {
+        public Criteria andAbilityTypeLessThanOrEqualTo(Integer value) {
             addCriterion("AbilityType <=", value, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeLike(String value) {
-            addCriterion("AbilityType like", value, "abilityType");
-            return (Criteria) this;
-        }
-
-        public Criteria andAbilityTypeNotLike(String value) {
-            addCriterion("AbilityType not like", value, "abilityType");
-            return (Criteria) this;
-        }
-
-        public Criteria andAbilityTypeIn(List<String> values) {
+        public Criteria andAbilityTypeIn(List<Integer> values) {
             addCriterion("AbilityType in", values, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeNotIn(List<String> values) {
+        public Criteria andAbilityTypeNotIn(List<Integer> values) {
             addCriterion("AbilityType not in", values, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeBetween(String value1, String value2) {
+        public Criteria andAbilityTypeBetween(Integer value1, Integer value2) {
             addCriterion("AbilityType between", value1, value2, "abilityType");
             return (Criteria) this;
         }
 
-        public Criteria andAbilityTypeNotBetween(String value1, String value2) {
+        public Criteria andAbilityTypeNotBetween(Integer value1, Integer value2) {
             addCriterion("AbilityType not between", value1, value2, "abilityType");
             return (Criteria) this;
         }

+ 177 - 0
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobHuntServiceImpl.java

@@ -0,0 +1,177 @@
+package com.hz.employmentsite.services.impl.jobUserManager;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hz.employmentsite.filter.exception.BaseException;
+import com.hz.employmentsite.mapper.PcJobhuntMapper;
+import com.hz.employmentsite.mapper.PcJobuserMapper;
+import com.hz.employmentsite.mapper.cquery.JobHuntCQuery;
+import com.hz.employmentsite.model.*;
+import com.hz.employmentsite.services.service.jobUserManager.JobHuntService;
+import com.hz.employmentsite.services.service.system.DictionaryService;
+import com.hz.employmentsite.util.StringUtils;
+import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service("JobHuntService")
+public class JobHuntServiceImpl implements JobHuntService {
+
+    @Autowired
+    private JobHuntCQuery jobhuntCQuery;
+
+    @Autowired
+    private PcJobhuntMapper pcJobhuntMapper;
+
+    @Autowired
+    private PcJobuserMapper pcJobuserMapper;
+
+    @Autowired
+    private DictionaryService dictionaryService;
+
+    @Autowired
+    private StringUtils stringUtils;
+
+    @Override
+    public PageInfo<JobHuntVo> getList(Integer pageIndex, Integer pageSize, String jobHuntID, String jobUserName, String workName,
+                                       Integer minWorkYear, Integer maxWorkYear, Integer jobHuntTypeID, Integer jobUserTypeID,
+                                       BigDecimal minSalary, BigDecimal maxSalary, Integer isAccomplish) {
+        PageHelper.startPage(pageIndex, pageSize);
+        List<JobHuntVo> list = jobhuntCQuery.selectJobHuntList(jobHuntID,jobUserName,workName,minWorkYear, maxWorkYear, jobHuntTypeID, jobUserTypeID, minSalary, maxSalary, isAccomplish);
+
+        PageInfo<JobHuntVo> result = new PageInfo(list);
+
+        return result;
+    }
+
+    @Override
+    public JobHuntVo get(String jobHuntId) {
+        List<String> ids = new ArrayList<>();
+        ids.add(jobHuntId);
+        JobHuntVo model = jobhuntCQuery.selectJobHuntList(stringUtils.ListToInSql(ids),null,null,null,null,
+                null,null,null,null,null).stream().findFirst().orElse(null);
+        return model;
+    }
+
+    @Override
+    public Integer delete(List<String> idList){
+        PcJobhuntExample contactExample = new PcJobhuntExample();
+        contactExample.or().andJobhuntIDIn(idList);
+        pcJobhuntMapper.deleteByExample(contactExample);
+        return pcJobhuntMapper.deleteByExample(contactExample);
+    }
+
+    @Override
+    public Integer save(JobHuntVo data, String userId) {
+        int result = 0;
+        JobHuntVo record = get(data.jobHuntID);
+        PcJobhunt dbData = record == null ? null : pcJobhuntMapper.selectByPrimaryKey(record.jobHuntID);
+        Boolean isExist = dbData != null;
+        if (!isExist) {
+            //添加
+            dbData = new PcJobhunt();
+            dbData.setJobhuntID(data.getJobHuntID());
+            dbData.setJobuserID(data.getJobUserID());
+            dbData.setWorkCode(data.getWorkCode());
+            dbData.setWorkName(data.getWorkName());
+            dbData.setAreaWork(data.getAreaWork());
+            dbData.setInDate(data.getInDate());
+            dbData.setWorkYear(data.getWorkYear());
+            dbData.setUchuntType(data.getUcHuntType());
+            dbData.setAbilityType(data.getAbilityType());
+            dbData.setSalary(data.getSalary());
+            dbData.setCreateUserID(userId);
+            dbData.setCreateTime(new Date());
+            result = pcJobhuntMapper.insert(dbData);
+        } else {
+            //修改
+            dbData.setJobhuntID(data.jobHuntID);
+            dbData.setJobuserID(data.jobUserID);
+            dbData.setWorkCode(data.workCode);
+            dbData.setWorkName(data.workName);
+            dbData.setAreaWork(data.areaWork);
+            dbData.setInDate(data.inDate);
+            dbData.setWorkYear(data.workYear);
+            dbData.setUchuntType(data.ucHuntType);
+            dbData.setAbilityType(data.abilityType);
+            dbData.setSalary(data.salary);
+            dbData.setModifyUserID(userId);
+            dbData.setModifyTime(new Date());
+            result = pcJobhuntMapper.updateByPrimaryKey(dbData);
+        }
+        return result;
+    }
+
+
+    @Override
+    public List<JobHuntVo> importJobHunt(List<JobHuntVo> dataList, String userID) {
+        if (dataList.size() <= 0)
+            throw new BaseException("", "请添加导入数据!");
+        //求职人员
+        PcJobuserExample jobuserExample = new PcJobuserExample();
+        jobuserExample.or().andNameIsNotNull();
+        List<PcJobuser> jobUserList = pcJobuserMapper.selectByExample(jobuserExample);
+        //求职类型
+        List<SysDictionaryItem> dicHuntTypeList = dictionaryService.getDictionaryItemList("JobHuntType");
+        //人才类型
+        List<SysDictionaryItem> dicUserTypeList = dictionaryService.getDictionaryItemList("JobUserType");
+        List<JobHuntVo> resultList = new ArrayList<>();
+
+        dataList.forEach(item -> {
+            String errorInfo = "";
+            if (stringUtils.IsNullOrEmpty(item.jobUserName))
+                errorInfo += "请填写姓名!";
+            else {
+                item.jobUserID = jobUserList.stream().filter(it -> it.getName().equals(item.getJobUserName().trim()))
+                        .findFirst().orElse(new PcJobuser()).getJobuserID();
+                if (item.jobUserID == null)
+                    errorInfo += "人员不存在!";
+            }
+            if (stringUtils.IsNullOrEmpty(item.workName))
+                errorInfo += "请填写工种名称!";
+            if (stringUtils.IsNullOrEmpty(item.areaWork))
+                errorInfo += "请填写希望工作地区!";
+            if (stringUtils.IsNullOrEmpty(String.valueOf(item.inDate)) || item.inDate == null)
+                errorInfo += "请填写可到职日期!";
+            if (stringUtils.IsNullOrEmpty(String.valueOf(item.workYear)) || item.workYear==0)
+                errorInfo += "请填写工作年限!";
+            if (stringUtils.IsNullOrEmpty(item.jobHuntType))
+                errorInfo += "请填写求职类型!";
+            else {
+                item.ucHuntType = dicHuntTypeList.stream().filter(it -> it.getName().equals(item.jobHuntType.trim()))
+                        .findFirst().orElse(new SysDictionaryItem()).getValue();
+                if (item.ucHuntType == null || item.ucHuntType == 0)
+                    errorInfo += "输入求职类型不存在!";
+            }
+            if (stringUtils.IsNullOrEmpty(item.jobUserType))
+                errorInfo += "请填写求职类型!";
+            else {
+                item.abilityType = dicUserTypeList.stream().filter(it -> it.getName().equals(item.jobUserType.trim()))
+                        .findFirst().orElse(new SysDictionaryItem()).getValue();
+                if (item.abilityType == null || item.abilityType == 0)
+                    errorInfo += "输入人才类型不存在!";
+            }
+            if (stringUtils.IsNullOrEmpty(String.valueOf(item.salary)) || item.salary == null)
+                errorInfo += "请填写最高薪酬!";
+
+            if (stringUtils.IsNullOrEmpty(errorInfo)) {
+                resultList.add(item);
+            } else {
+                item.setErrorMessage(errorInfo);
+            }
+        });
+
+        if (dataList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.errorMessage)).collect(Collectors.toList()).size() > 0)
+            return dataList;
+        resultList.forEach(item -> {
+            save(item, userID);
+        });
+        return null;
+    }
+}

+ 0 - 31
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobhuntServiceImpl.java

@@ -1,31 +0,0 @@
-package com.hz.employmentsite.services.impl.jobUserManager;
-
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.hz.employmentsite.mapper.cquery.JobhuntCQuery;
-import com.hz.employmentsite.services.service.jobUserManager.JobhuntService;
-import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Service("JobhuntService")
-public class JobhuntServiceImpl implements JobhuntService {
-
-    @Autowired
-    private JobhuntCQuery jobhuntCQuery;
-
-    @Override
-    public PageInfo<JobhuntVo> getList(Integer page, Integer rows, String name, Integer wantedJobId, Boolean isAccomplish) {
-        PageHelper.startPage(page, rows);
-
-        List<JobhuntVo> list = jobhuntCQuery.selectJobhuntList(name, wantedJobId, isAccomplish);
-
-        PageInfo<JobhuntVo> result = new PageInfo(list);
-
-        return result;
-    }
-
-}

+ 13 - 0
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobuserServiceImpl.java

@@ -45,6 +45,19 @@ public class JobuserServiceImpl implements JobuserService {
         return result;
     }
 
+    @Override
+    public List<SelectProps> getDataList() {
+        var dataList = getList(1,99999,null,null,null,null,null,null,null).getList();
+        List<SelectProps> dataResult = new ArrayList<>();
+        for (var item: dataList) {
+            SelectProps  itemResult = new SelectProps();
+            itemResult.setText(item.getName());
+            itemResult.setValue(item.getJobuserID());
+            dataResult.add(itemResult);
+        }
+        return dataResult;
+    }
+
     @Override
     public JobUserVo getDataById(String id) {
         if (stringUtils.IsNullOrEmpty(id)) {

+ 21 - 0
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobHuntService.java

@@ -0,0 +1,21 @@
+package com.hz.employmentsite.services.service.jobUserManager;
+
+import com.github.pagehelper.PageInfo;
+import com.hz.employmentsite.vo.jobUserManager.JobHuntVo;
+import java.math.BigDecimal;
+import java.util.List;
+
+public interface JobHuntService {
+
+    PageInfo<JobHuntVo> getList(Integer pageIndex, Integer pageSize, String jobHuntID, String jobUserName, String workName,
+                                Integer minWorkYear, Integer maxWorkYear, Integer jobHuntTypeID, Integer jobUserTypeID,
+                                BigDecimal minSalary, BigDecimal maxSalary, Integer isAccomplish);
+
+    JobHuntVo get(String jobHuntId);
+
+    Integer delete(List<String> idList);
+
+    Integer save(JobHuntVo data, String userId);
+
+    List<JobHuntVo> importJobHunt(List<JobHuntVo> dataList, String userID);
+}

+ 0 - 11
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobhuntService.java

@@ -1,11 +0,0 @@
-package com.hz.employmentsite.services.service.jobUserManager;
-
-import com.github.pagehelper.PageInfo;
-import com.hz.employmentsite.vo.jobUserManager.JobhuntVo;
-
-import java.util.HashMap;
-
-public interface JobhuntService {
-
-    PageInfo<JobhuntVo> getList(Integer page, Integer rows, String name, Integer wantedJobId, Boolean isAccomplish);
-}

+ 3 - 1
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobuserService.java

@@ -3,8 +3,8 @@ package com.hz.employmentsite.services.service.jobUserManager;
 import com.github.pagehelper.PageInfo;
 import com.hz.employmentsite.model.PcEducation;
 import com.hz.employmentsite.model.PcExperience;
+import com.hz.employmentsite.model.SelectProps;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
-import com.hz.employmentsite.vo.taskAndLog.DotaskVo;
 
 import java.util.List;
 
@@ -13,6 +13,8 @@ public interface JobuserService {
 
     JobUserVo getDataById(String id);
 
+    List<SelectProps> getDataList();
+
     List<PcEducation> getJobUserEducationList(String jobuserID);
 
     List<PcExperience> getJobUserPcExperienceList(String jobuserID);

+ 27 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java

@@ -0,0 +1,27 @@
+package com.hz.employmentsite.vo.jobUserManager;
+
+import lombok.Data;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+public class JobHuntVo {
+
+    public String jobHuntID;
+    public String jobUserID;
+    public String jobUserName;
+    public String workCode;
+    public String workName;
+    public String areaWork;
+    public Date inDate;
+    public Integer workYear;
+    public Integer ucHuntType;
+    public Integer abilityType;
+
+    public Integer wantedJobTypeId;
+    public String jobHuntType;
+    public String jobUserType;
+    public BigDecimal salary;
+    public Boolean isAccomplish;
+    public String errorMessage;
+}

+ 0 - 22
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobhuntVo.java

@@ -1,22 +0,0 @@
-package com.hz.employmentsite.vo.jobUserManager;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-@Data
-public class JobhuntVo {
-    public String jobhuntId;
-    public String jobuserId;
-    public String name;
-    public String workCode;
-    public String workName;
-    public String workAddress;
-    public String endDate;
-    public Integer workYear;
-    public Integer wantedJobTypeId;
-    public String wantedJobTypeName;
-    public String talentsTypeName;
-    public BigDecimal salary;
-    public Boolean isAccomplish;
-}

+ 13 - 13
src/main/resources/mapping/PcJobhuntMapper.xml

@@ -9,8 +9,8 @@
     <result column="AreaWork" jdbcType="VARCHAR" property="areaWork" />
     <result column="InDate" jdbcType="TIMESTAMP" property="inDate" />
     <result column="WorkYear" jdbcType="INTEGER" property="workYear" />
-    <result column="UchuntType" jdbcType="VARCHAR" property="uchuntType" />
-    <result column="AbilityType" jdbcType="VARCHAR" property="abilityType" />
+    <result column="UchuntType" jdbcType="INTEGER" property="uchuntType" />
+    <result column="AbilityType" jdbcType="INTEGER" property="abilityType" />
     <result column="Salary" jdbcType="DECIMAL" property="salary" />
     <result column="CreateUserID" jdbcType="VARCHAR" property="createUserID" />
     <result column="CreateTime" jdbcType="TIMESTAMP" property="createTime" />
@@ -117,7 +117,7 @@
       ModifyUserID, ModifyTime)
     values (#{jobhuntID,jdbcType=VARCHAR}, #{jobuserID,jdbcType=VARCHAR}, #{workCode,jdbcType=VARCHAR}, 
       #{workName,jdbcType=VARCHAR}, #{areaWork,jdbcType=VARCHAR}, #{inDate,jdbcType=TIMESTAMP}, 
-      #{workYear,jdbcType=INTEGER}, #{uchuntType,jdbcType=VARCHAR}, #{abilityType,jdbcType=VARCHAR}, 
+      #{workYear,jdbcType=INTEGER}, #{uchuntType,jdbcType=INTEGER}, #{abilityType,jdbcType=INTEGER}, 
       #{salary,jdbcType=DECIMAL}, #{createUserID,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
       #{modifyUserID,jdbcType=VARCHAR}, #{modifyTime,jdbcType=TIMESTAMP})
   </insert>
@@ -190,10 +190,10 @@
         #{workYear,jdbcType=INTEGER},
       </if>
       <if test="uchuntType != null">
-        #{uchuntType,jdbcType=VARCHAR},
+        #{uchuntType,jdbcType=INTEGER},
       </if>
       <if test="abilityType != null">
-        #{abilityType,jdbcType=VARCHAR},
+        #{abilityType,jdbcType=INTEGER},
       </if>
       <if test="salary != null">
         #{salary,jdbcType=DECIMAL},
@@ -243,10 +243,10 @@
         WorkYear = #{row.workYear,jdbcType=INTEGER},
       </if>
       <if test="row.uchuntType != null">
-        UchuntType = #{row.uchuntType,jdbcType=VARCHAR},
+        UchuntType = #{row.uchuntType,jdbcType=INTEGER},
       </if>
       <if test="row.abilityType != null">
-        AbilityType = #{row.abilityType,jdbcType=VARCHAR},
+        AbilityType = #{row.abilityType,jdbcType=INTEGER},
       </if>
       <if test="row.salary != null">
         Salary = #{row.salary,jdbcType=DECIMAL},
@@ -277,8 +277,8 @@
       AreaWork = #{row.areaWork,jdbcType=VARCHAR},
       InDate = #{row.inDate,jdbcType=TIMESTAMP},
       WorkYear = #{row.workYear,jdbcType=INTEGER},
-      UchuntType = #{row.uchuntType,jdbcType=VARCHAR},
-      AbilityType = #{row.abilityType,jdbcType=VARCHAR},
+      UchuntType = #{row.uchuntType,jdbcType=INTEGER},
+      AbilityType = #{row.abilityType,jdbcType=INTEGER},
       Salary = #{row.salary,jdbcType=DECIMAL},
       CreateUserID = #{row.createUserID,jdbcType=VARCHAR},
       CreateTime = #{row.createTime,jdbcType=TIMESTAMP},
@@ -310,10 +310,10 @@
         WorkYear = #{workYear,jdbcType=INTEGER},
       </if>
       <if test="uchuntType != null">
-        UchuntType = #{uchuntType,jdbcType=VARCHAR},
+        UchuntType = #{uchuntType,jdbcType=INTEGER},
       </if>
       <if test="abilityType != null">
-        AbilityType = #{abilityType,jdbcType=VARCHAR},
+        AbilityType = #{abilityType,jdbcType=INTEGER},
       </if>
       <if test="salary != null">
         Salary = #{salary,jdbcType=DECIMAL},
@@ -341,8 +341,8 @@
       AreaWork = #{areaWork,jdbcType=VARCHAR},
       InDate = #{inDate,jdbcType=TIMESTAMP},
       WorkYear = #{workYear,jdbcType=INTEGER},
-      UchuntType = #{uchuntType,jdbcType=VARCHAR},
-      AbilityType = #{abilityType,jdbcType=VARCHAR},
+      UchuntType = #{uchuntType,jdbcType=INTEGER},
+      AbilityType = #{abilityType,jdbcType=INTEGER},
       Salary = #{salary,jdbcType=DECIMAL},
       CreateUserID = #{createUserID,jdbcType=VARCHAR},
       CreateTime = #{createTime,jdbcType=TIMESTAMP},

+ 40 - 20
src/main/resources/mapping/cquery/JobhuntCQuery.xml

@@ -1,24 +1,44 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.hz.employmentsite.mapper.cquery.JobhuntCQuery">
-    <select id="selectJobhuntList" resultType="com.hz.employmentsite.vo.jobUserManager.JobhuntVo">
-        select jhu.JobhuntID as jobhuntId,jhu.JobuserID as jobuserId,ju.name
-        ,jhu.WorkCode as workCode,jhu.WorkName as workName,jhu.AreaWork as workAddress,jhu.InDate as endDate,jhu.WorkYear as workYear,jhu.UchuntType as wantedJobTypeName
-        ,jhu.AbilityType as talentsTypeName,jhu.Salary as salary,jhu.CreateUserID,jhu.CreateTime,jhu.ModifyUserID,jhu.ModifyTime
-        from pc_jobhunt jhu
-        left join pc_jobuser ju on jhu.JobuserID = ju.JobuserID
-        left join sys_dictionary_item dic_KeyPersonType on ju.KeyPersonTypeID = dic_KeyPersonType.value and
-        dic_KeyPersonType.dictionarycode='KeyPersonType'
-        <where>
-            <if test="name != '' and name != null">
-                and ju.name like Concat('%',#{name},'%')
-            </if>
-            <if test="wantedJobId != null and wantedJobId != ''">
-                and  jhu.UchuntType = #{wantedJobId}
-            </if>
-            <if test="isAccomplish != null and isAccomplish != ''">
-                and  jhu.isAccomplish = #{isAccomplish}
-            </if>
-        </where>
+<mapper namespace="com.hz.employmentsite.mapper.cquery.JobHuntCQuery">
+    <select id="selectJobHuntList" resultType="com.hz.employmentsite.vo.jobUserManager.JobHuntVo">
+        select jobHunt.*,jobUser.name as JobUserName,dic_jobUserType.Name as JobUserType,dic_huntJobType.Name as JobHuntType from pc_jobhunt jobHunt
+        left join pc_jobuser jobUser on jobHunt.JobuserID = jobUser.JobuserID
+        left join (select * from sys_dictionary_item where DictionaryCode ='JobUserType') dic_jobUserType on jobHunt.AbilityType = dic_jobUserType.value
+        left join (select * from sys_dictionary_item where DictionaryCode ='JobHuntType') dic_huntJobType on jobHunt.UchuntType = dic_huntJobType.value
+        where 1=1
+        <if test="jobHuntID != '' and jobHuntID != null">
+            and jobHuntId in (${jobHuntID})
+        </if>
+        <if test="jobUserName != '' and jobUserName != null">
+            and jobUser.name like Concat('%',#{jobUserName},'%')
+        </if>
+        <if test="workName != '' and workName != null">
+            and workName like Concat('%',#{workName},'%')
+        </if>
+        <if test="jobUserName != '' and jobUserName != null">
+            and jobUser.name like Concat('%',#{jobUserName},'%')
+        </if>
+        <if test="minWorkYear != '' and minWorkYear != null">
+            and workYear <![CDATA[ >= ]]> #{minWorkYear}
+        </if>
+        <if test="maxWorkYear != '' and maxWorkYear != null">
+            and workYear <![CDATA[ <= ]]>  #{maxWorkYear}
+        </if>
+        <if test="jobHuntTypeID != '' and jobHuntTypeID != null">
+            and ucHuntType = #{jobHuntTypeID}
+        </if>
+        <if test="jobUserTypeID != '' and jobUserTypeID != null">
+            and abilityType = #{jobUserTypeID}
+        </if>
+        <if test="minSalary != '' and minSalary != null">
+            and salary <![CDATA[ >= ]]> #{minSalary}
+        </if>
+        <if test="maxSalary != '' and maxSalary != null">
+            and salary <![CDATA[ <= ]]> #{maxSalary}
+        </if>
+        <if test="isAccomplish != '' and isAccomplish != null">
+            and isAccomplish = #{isAccomplish}
+        </if>
     </select>
 </mapper>

+ 43 - 2
vue/src/api/jobUserManager/jobhunt/index.ts

@@ -1,12 +1,53 @@
 import { request } from '@/utils/request';
 
-export function getList(query: any) {
+export function getJobHuntList(query: any) {
   return request(
     {
-      url: 'Jobusermgr/Jobhunt/getList',
+      url: 'jobUserService/jobHunt/getList',
       method: 'get',
       params: query,
     },
     { isNew: true },
   );
 }
+
+export function getJobHuntByID(jobHuntID: string) {
+  return request(
+    {
+      url: 'jobUserService/jobHunt/get',
+      method: 'get',
+      params: {jobHuntID:jobHuntID},
+    },
+    { isNew: true },
+  );
+}
+
+export function saveJobHunt(data: any) {
+  return request<object>(
+    {
+      url: 'jobUserService/jobHunt/save',
+      method: 'post',
+      data: data,
+    },
+    {
+      isNew: true,
+      successMsg: '提交成功!',
+      errorMsg: '提交失败!'
+    },
+  );
+}
+
+export function delJobHunt(data: any) {
+  return request<object>(
+    {
+      url: 'jobUserService/jobHunt/delete',
+      method: 'post',
+      data: data,
+    },
+    {
+      isNew: true,
+      successMsg: '删除成功!',
+      errorMsg: '删除失败!'
+    },
+  );
+}

+ 12 - 0
vue/src/api/jobUserManager/jobuser/index.ts

@@ -10,6 +10,18 @@ export function getList(query: any) {
     { isNew: true },
   );
 }
+export function getJobUserDataList(){
+  return request<any>(
+    {
+      url: 'Jobusermgr/Jobuser/getDataList',
+      method: 'get',
+      params: null,
+    },
+    {
+      isNew: true,
+    },
+  );
+}
 
 export function getDataById(id: any) {
   return request(

+ 1 - 2
vue/src/views/baseSettings/institution/edit.vue

@@ -259,12 +259,11 @@ export default defineComponent({
       validateSameSite();
       if (!isAllowCommit.value){
         message.error("不允许添加相同的站点!");
-      }else  if(formData.dataModel.companyName==null||formData.dataModel.companyAddress ==null||formData.dataModel.fzrName==null||
+      }else if(formData.dataModel.companyName==null||formData.dataModel.companyAddress ==null||formData.dataModel.fzrName==null||
         formData.dataModel.fzrMobile==null||formData.dataModel.frName==null||formData.dataModel.frMobile==null||formData.dataModel.companyCode==null){
         message.error("请填写完整的机构信息!");
         isAllowCommit.value = false;
       }
-      if (formData.dataModel.name == "")isAllowCommit.value=false;
       if (isAllowCommit.value){
         formData.dataModel.manageSites = manageSites.value;
         saveInstitution(formData.dataModel).then(result => {

+ 7 - 7
vue/src/views/baseSettings/institution/index.vue

@@ -3,25 +3,25 @@
     <a-form ref="formRef" name="advanced_search"  class="ant-advanced-search-form" :model="searchParams" >
       <a-row :gutter="24">
         <a-col :span="6">
-          <a-form-item label="企业名称" :label-col="{span:6}" name="CompanyName">
+          <a-form-item label="企业名称" :label-col="{span:8}" name="CompanyName">
             <a-input v-model:value="searchParams.companyName" placeholder=""/>
           </a-form-item>
         </a-col>
-        <a-col :span="7">
-          <a-form-item label="企业地址" :label-col="{span:7}" name="CompanyAddress">
+        <a-col :span="6">
+          <a-form-item label="企业地址" :label-col="{span:8}" name="CompanyAddress">
             <a-input v-model:value="searchParams.companyAddress" placeholder=""/>
-<!--<a-range-picker format="YYYY-MM-DD" :placeholder="['开始日期', '结束日期']" @change="onRangeChange"/>-->
+            <!--<a-range-picker format="YYYY-MM-DD" :placeholder="['开始日期', '结束日期']" @change="onRangeChange"/>-->
           </a-form-item>
         </a-col>
         <a-col :span="6">
-          <a-form-item label="负责人名称" :label-col="{span:6}" name="DutyUserName">
+          <a-form-item label="负责人名称" :label-col="{span:8}" name="DutyUserName">
             <a-input v-model:value="searchParams.dutyUserName" placeholder=""/>
-<!--            <a-select  ref="select"  v-model:value="searchParamsState.collegeID" :options="collegeList"
+            <!--<a-select  ref="select"  v-model:value="searchParamsState.collegeID" :options="collegeList"
                        :field-names="{label:'name',value:'collegeID'}"  @change="loadData"  functioncode="T014000" :allow-clear="true"  >
             </a-select>-->
           </a-form-item>
         </a-col>
-      <a-col :span="5" style="text-align: right">
+      <a-col :span="6" style="text-align: right">
           <a-button type="primary" html-type="submit" @click="onSearch">查询</a-button>
 <!--          <a style="font-size: 12px" @click="expand = !expand">
             <template v-if="expand">

+ 9 - 9
vue/src/views/baseSettings/site/index.vue

@@ -3,27 +3,27 @@
     <a-form ref="formRef" name="advanced_search"  class="ant-advanced-search-form" :model="searchParams" >
       <a-row :gutter="24">
         <a-col :span="6">
-          <a-form-item label="驿站编号" :label-col="{span:6}" name="SiteCode">
+          <a-form-item label="驿站编号" :label-col="{span:8}" name="SiteCode">
             <a-input v-model:value="searchParams.siteCode" placeholder=""/>
           </a-form-item>
         </a-col>
-        <a-col :span="7">
-          <a-form-item label="站点名称" :label-col="{span:7}" name="SiteName">
+        <a-col :span="6">
+          <a-form-item label="站点名称" :label-col="{span:8}" name="SiteName">
             <a-input v-model:value="searchParams.siteName" placeholder=""/>
           </a-form-item>
         </a-col>
         <a-col :span="6">
-          <a-form-item label="所属机构" :label-col="{span:6}" name="InstitutionName">
+          <a-form-item label="所属机构" :label-col="{span:8}" name="InstitutionName">
             <a-input v-model:value="searchParams.institutionName" placeholder=""/>
           </a-form-item>
         </a-col>
-      <a-col :span="5" style="text-align: right">
+      <a-col :span="6" style="text-align: right">
           <a-button type="primary" html-type="submit" @click="onSearch">查询</a-button>
         </a-col>
       </a-row>
       <a-row :gutter="24">
         <a-col :span="6">
-          <a-form-item label="所属县区" :label-col="{span:6}" name="RegionCode">
+          <a-form-item label="所属县区" :label-col="{span:8}" name="RegionCode">
             <a-select
               ref="select"
               v-model:value="searchParams.regionCode"
@@ -35,8 +35,8 @@
             </a-select>
           </a-form-item>
         </a-col>
-        <a-col :span="7">
-          <a-form-item label="所属街道" :label-col="{span:7}" name="StreetCode">
+        <a-col :span="6">
+          <a-form-item label="所属街道" :label-col="{span:8}" name="StreetCode">
             <a-select
               ref="select"
               v-model:value="searchParams.streetCode"
@@ -50,7 +50,7 @@
         </a-col>
         <a-col :span="6">
         </a-col>
-        <a-col :span="5" style="text-align: right">
+        <a-col :span="6" style="text-align: right">
         </a-col>
       </a-row>
       <a-row class="edit-operation">

+ 3 - 3
vue/src/views/baseSettings/user/index.vue

@@ -3,17 +3,17 @@
     <a-form ref="formRef" name="advanced_search"  class="ant-advanced-search-form" :model="searchParams" >
       <a-row :gutter="24">
         <a-col :span="6">
-          <a-form-item label="人员名称" :label-col="{span:6}" name="UserName">
+          <a-form-item label="人员名称" :label-col="{span:8}" name="UserName">
             <a-input v-model:value="searchParams.userName" placeholder=""/>
           </a-form-item>
         </a-col>
-        <a-col :span="7">
+        <a-col :span="6">
 
         </a-col>
         <a-col :span="6">
 
         </a-col>
-      <a-col :span="5" style="text-align: right">
+      <a-col :span="6" style="text-align: right">
           <a-button type="primary" html-type="submit" @click="onSearch">查询</a-button>
         </a-col>
       </a-row>

+ 203 - 0
vue/src/views/jobUserManager/jobhunt/edit.vue

@@ -0,0 +1,203 @@
+<template>
+  <a-modal
+    :width="1200"
+    v-model:visible="visible"
+    :title="title"
+    :confirm-loading="confirmLoading"
+    @ok="handleOk"
+    ok-text="提交"
+    @cancel="handleCancel"
+    cancel-text="取消"
+    :keyboard="false"
+    :mask-closable="false"  >
+    <a-form :model="dataModel" autocomplete="off">
+      <a-divider orientation="left">基础信息管理</a-divider>
+      <a-row type="flex">
+        <a-col :span="7">
+          <a-form-item label="姓名"  name="name" :label-col="{span:7}"  :rules="[{ required: true, message: '请输选择求职人员!' }]">
+            <label v-if="opCategory==3">{{dataModel.name}}</label>
+            <a-select  ref="select"  v-model:value="dataModel.jobUserID" :options="jobUserList"
+                       :field-names="{label:'text',value:'value'}"  @change="loadData"  :allow-clear="true"  >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="7">
+          <a-form-item label="工种名称" name="workName" :label-col="{span:7}" :rules="[{ required: true, message: '请选择工种类型!' }]">
+            <label v-if="opCategory==3">{{dataModel.workName}}</label>
+            <a-select  ref="select"  v-model:value="dataModel.workCode" :options="jobWorkTypeList"
+                       :field-names="{label:'name',value:'value'}"  @change="loadData"  :allow-clear="true"  >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="10">
+          <a-form-item label="求职类型" name="wantedJobType" :label-col="{span:10}" :rules="[{ required: true, message: '请选择求职类型!' }]">
+            <label v-if="opCategory==3">{{dataModel.jobHuntType}}</label>
+            <a-select  ref="select"  v-model:value="dataModel.ucHuntType" :options="jobHuntTypeList"
+                       :field-names="{label:'name',value:'value'}"  @change="loadData"  :allow-clear="true"  >
+            </a-select>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row type="flex">
+        <a-col :span="7">
+          <a-form-item label="人才类型"  name="talentsTypeName" :label-col="{span:7}" :rules="[{ required: true, message: '请选择人才类型!' }]">
+            <label v-if="opCategory==3">{{dataModel.jobUserType }}</label>
+            <a-select  ref="select"  v-model:value="dataModel.abilityType" :options="jobUserTypeList"
+                       :field-names="{label:'name',value:'value'}"  @change="loadData"  :allow-clear="true"  >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="7">
+          <a-form-item label="月薪要求"  name="salary" :label-col="{span:7}" :rules="[{ required: true, message: '请输入月薪要求!' }]">
+            <label v-if="opCategory==3">{{dataModel.salary}}</label>
+            <a-input v-model:value="dataModel.salary" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="10">
+          <a-form-item label="工作年限"  name="workYear" :label-col="{span:10}" :rules="[{ required: true, message: '请输入工作年限!' }]">
+            <label v-if="opCategory==3">{{dataModel.workYear}}</label>
+            <a-input type="number" v-model:value="dataModel.workYear" placeholder=""/>
+          </a-form-item>
+        </a-col>
+      </a-row>
+      <a-row type="flex">
+        <a-col :span="7">
+          <a-form-item label="希望工作地区"  name="workAddress" :label-col="{span:7}" :rules="[{ required: true, message: '请输入工作地区!' }]">
+            <label v-if="opCategory==3">{{dataModel.areaWork}}</label>
+            <a-input v-model:value="dataModel.areaWork" placeholder=""/>
+          </a-form-item>
+        </a-col>
+        <a-col :span="7">
+          <a-form-item label="可到职日期"  name="inDate" :label-col="{span:7}" :rules="[{ required: true, message: '请输入工作地区!' }]">
+            <label v-if="opCategory==3">{{dataModel.inDate}}</label>
+            <a-date-picker v-model:value="dataModel.inDate"  picker="date" value-format="YYYY-MM-DD"  />
+          </a-form-item>
+        </a-col>
+        <a-col :span="10"></a-col>
+      </a-row>
+      <a-divider orientation="left">其他信息</a-divider>
+      <a-row>
+        <a-textarea :auto-size="{ minRows: 4, maxRows: 10 }"  v-model:value="dataModel.otherInfo" :disabled="opCategory==3"
+                    placeholder="其他要求" style="text-align: center;" />
+      </a-row>
+    </a-form>
+  </a-modal>
+</template>
+<script lang="ts">
+import {defineComponent, reactive, ref, toRefs} from "vue";
+import {getJobHuntByID,saveJobHunt} from "@/api/jobUserManager/jobhunt"
+import {getJobUserDataList} from "@/api/jobUserManager/jobuser";
+import {getSysDictionaryList} from '@/api/system/dictionary';
+import BUploadFile from "@/components/file/uploadFile.vue";
+import type {SelectProps} from "ant-design-vue";
+
+interface InstitutionModel {
+  dataModel: any;
+}
+export default defineComponent({
+  name:'JobHuntEditForm',
+  components: {BUploadFile},
+  props: {
+    loadData: {
+      type: Function,
+      default: null
+    }
+  },
+  setup(props) {
+    const title = ref();
+    const opCategory = ref<any>();
+    const visible = ref<boolean>(false);
+    const isAllowCommit = ref<boolean>(false);
+    const confirmLoading = ref<boolean>(false);
+    const formData = reactive<InstitutionModel>({ dataModel:{}});
+    const formState = reactive({
+      total: 0,
+      selectedRowKeys: [],
+      loading: false
+    });
+    const jobUserList = ref<SelectProps['options']>();
+    const jobWorkTypeList =  ref<SelectProps['options']>();
+    const jobHuntTypeList =  ref<SelectProps['options']>();
+    const jobUserTypeList =  ref<SelectProps['options']>();
+
+    const getJobUserList = async function() {
+      const jobUserResult :any = await getJobUserDataList();
+      console.log('jobUserResult',jobUserResult);
+      jobUserList.value = jobUserResult;
+    }
+
+    const getJobWorkTypeList = async function(){
+      const data :any = await getSysDictionaryList("JobWorkType");
+      jobWorkTypeList.value = data;
+    }
+    const getJobHuntTypeList = async function(){
+      const data :any = await getSysDictionaryList("JobHuntType");
+      jobHuntTypeList.value = data;
+    }
+    const getJobUserTypeList = async function(){
+      const data :any = await getSysDictionaryList("JobUserType");
+      jobUserTypeList.value = data;
+    }
+
+    const loadData = (id: string) => {
+      getJobHuntByID(id).then((result: any) => {
+        formData.dataModel = result;
+        console.log('dataModel',formData.dataModel);
+      });
+    }
+
+    const show = (id: any,method:string,category:any) => {
+      title.value ="求职意向管理-"+method;
+      opCategory.value = category;
+      getJobUserTypeList();
+      getJobHuntTypeList();
+      getJobWorkTypeList();
+      loadData(id);
+      visible.value = true;
+    };
+
+    const handleOk = () => {
+      isAllowCommit.value = true;
+      /*if(formData.dataModel.companyName==null||formData.dataModel.companyAddress ==null||formData.dataModel.fzrName==null||
+        formData.dataModel.fzrMobile==null||formData.dataModel.frName==null||formData.dataModel.frMobile==null||formData.dataModel.companyCode==null){
+        message.error("请填写完整的机构信息!");
+        isAllowCommit.value = false;
+      }*/
+      if (isAllowCommit.value){
+        saveJobHunt(formData.dataModel).then(result => {
+          if (result) {
+            visible.value = false;
+            props.loadData();
+          }
+        });
+      }
+    };
+
+    const handleCancel = () => {
+      visible.value = false;
+    };
+
+    return {
+      ...toRefs(formData),
+      title,
+      visible,
+      formState,
+      opCategory,
+      jobUserList,
+      jobUserTypeList,
+      jobHuntTypeList,
+      jobWorkTypeList,
+      isAllowCommit,
+      confirmLoading,
+      show,
+      handleOk,
+      handleCancel,
+      getJobUserList
+    };
+  },
+  created() {
+    this.getJobUserList();
+  },
+})
+</script>
+

+ 198 - 100
vue/src/views/jobUserManager/jobhunt/index.vue

@@ -9,15 +9,31 @@
       <a-row :gutter="24">
         <a-col :span="6">
           <a-form-item label="姓名" :label-col="{ span: 8 }" name="name">
-            <a-input v-model:value="searchParamsState.name" placeholder="" />
+            <a-input v-model:value="searchParamsState.jobUserName" placeholder="" />
           </a-form-item>
         </a-col>
         <a-col :span="6">
-          <a-form-item label="专业" :label-col="{ span: 8 }" name="wantedJobId">
-            <a-select
-              ref="select"
-              v-model:value="searchParamsState.wantedJobId"
-              :options="wantedJobTypeList"
+          <a-form-item label="工种名称" :label-col="{ span: 8 }" name="workName">
+            <a-input v-model:value="searchParamsState.workName" placeholder="" />
+          </a-form-item>
+        </a-col>
+        <a-col :span="6">
+          <a-form-item label="工作年限" :label-col="{ span: 8 }" name="workYear">
+            <a-input type="number" v-model:value="searchParamsState.minWorkYear" style="width:115px;" placeholder="" />
+            <label style="margin:10px;">-</label>
+            <a-input type="number" v-model:value="searchParamsState.maxWorkYear" style="width:115px;" placeholder="" />
+          </a-form-item>
+        </a-col>
+        <a-col :span="6" style="text-align: left">
+          <a-button type="primary" html-type="submit" @click="onSearch">查询</a-button>
+        </a-col>
+      </a-row>
+      <a-row :gutter="24">
+        <a-col :span="6">
+          <a-form-item label="求职类型" :label-col="{ span: 8 }" name="jobHuntType">
+            <a-select ref="select"
+              v-model:value="searchParamsState.jobHuntTypeID"
+              :options="jobHuntTypeList"
               :field-names="{ label: 'name', value: 'value' }"
               :allow-clear="true"
               @change="loadData"
@@ -26,86 +42,104 @@
           </a-form-item>
         </a-col>
         <a-col :span="6">
-          <a-form-item label="班级" :label-col="{ span: 8 }" name="isAccomplish">
-            <a-select
-              ref="select"
-              v-model:value="searchParamsState.isAccomplish"
-              :options="isAccomplishList"
-              :field-names="{ label: 'name', value: 'value' }"
-              :allow-clear="true"
-              @change="loadData"
-            >
+          <a-form-item label="人才类型" :label-col="{ span: 8 }" name="jobUserType">
+            <a-select ref="select"
+                      v-model:value="searchParamsState.jobUserTypeID"
+                      :options="jobUserTypeList"
+                      :field-names="{ label: 'name', value: 'value' }"
+                      :allow-clear="true"
+                      @change="loadData">
             </a-select>
           </a-form-item>
         </a-col>
-        <a-col :span="6" style="text-align: left">
-          <a-button type="primary" html-type="submit" @click="onFinish">查询</a-button>
-          <a-button
-            style="margin: 0 8px"
-            @click="
-              () => {
-                formRef.resetFields();
-                loadData();
-              }
-            "
-            >重置
-          </a-button>
+        <a-col :span="6">
+          <a-form-item label="月薪要求" :label-col="{ span: 8 }" name="salary">
+            <a-input type="number" v-model:value="searchParamsState.minSalary" style="width:115px;" placeholder="" />
+            <label style="margin:10px;">-</label>
+            <a-input type="number" v-model:value="searchParamsState.maxSalary" style="width:115px;" placeholder="" />
+          </a-form-item>
         </a-col>
+        <a-col :span="6" style="text-align: left"></a-col>
+      </a-row>
+      <a-row :gutter="24">
+        <a-col :span="6">
+          <a-form-item label="是否完成求职" :label-col="{ span: 8 }" name="ucHuntType">
+            <a-select ref="select"
+                      v-model:value="searchParamsState.isAccomplish"
+                      :options="isAccomplishList"
+                      :field-names="{ label: 'name', value: 'value' }"
+                      :allow-clear="true"
+                      @change="loadData"
+            >
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="6"> </a-col>
+        <a-col :span="6"> </a-col>
+        <a-col :span="6" style="text-align: left"> </a-col>
       </a-row>
       <a-row class="edit-operation">
-        <a-col :span="24" style="text-align: right"></a-col>
+        <a-col :span="24" style="text-align: right">
+          <a-button type="primary" html-type="submit" @click='onOperates(null,"新增",1)' >新增</a-button>
+          <BImportExcel
+            :options="importOptions"
+            @success="loadData"
+          ></BImportExcel>
+          <BExportExcel :title="'导出'" :filename="'求职意向信息'" :url="'/jobUserService/jobHunt/export'" :params="{...searchParamsState, rows:100000}"></BExportExcel>
+        </a-col>
       </a-row>
     </a-form>
     <div class="search-result-list">
-      <a-table
-        :columns="columns"
-        :data-source="dataList"
-        :scroll="{ x: '100%', y: 500 }"
-        :pagination="pagination"
-        :loading="formState.loading"
-        :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange }"
-        :row-key="(record) => record.jobHuntId"
-        bordered
-        @change="handleTableChange"
-      >
-        <!--        <template #bodyCell="{ column, text, record }">
-                  <template v-if="column.key === 'operation'">
-                    <div class="table-operation">
-                      <a-button
-                        type="link"
-                        functioncode=""
-                        @click="edit(record.jobUserId)"
-                        >修改</a-button
-                      >
-                      <a-button
-                        type="link"
-                        functioncode=""
-                        @click="delete(record.jobUserId,)"
-                        >删除</a-button
-                      >
-                    </div>
-                  </template>
-                </template>-->
+      <a-table :columns="columns" :data-source="dataList" :scroll="{ x: '100%', y: 500 }"  :pagination="pagination"
+        :loading="formState.loading" :row-selection="{ selectedRowKeys: formState.selectedRowKeys, onChange: onSelectChange }"
+        :row-key="(record) => record.jobHuntID" bordered @change="handleTableChange" >
+        <template #bodyCell="{ column, text, record }">
+          <template v-if="column.key === 'operation'">
+            <div class="table-operation">
+              <a-button type="link" size="small" @click='onOperates(record.jobHuntID,"修改",2)' >编辑</a-button>
+              <a-button type="link" size="small" @click="onDel(record)" >删除</a-button>
+            </div>
+          </template>
+        </template>
       </a-table>
     </div>
+    <JobHuntEditForm ref="jobHuntEditModelRef" :loadData="loadData"></JobHuntEditForm>
   </div>
 </template>
 
 <script lang="ts">
-  import { reactive, ref, computed, defineComponent } from 'vue';
-  import type { FormInstance, TableColumnsType, TableProps, SelectProps } from 'ant-design-vue';
-  import { getList } from '@/api/jobUserManager/jobhunt';
-  import { getSysDictionaryList } from '@/api/system/dictionary';
-  import { getPaginationTotalTitle } from '@/utils/common';
-  import dayjs from 'dayjs';
+import {reactive, ref, computed, defineComponent, createVNode} from 'vue';
+import type { FormInstance, TableColumnsType, TableProps, SelectProps } from 'ant-design-vue';
+import { getJobHuntList, delJobHunt} from '@/api/jobUserManager/jobhunt';
+import { getSysDictionaryList } from '@/api/system/dictionary';
+import { getPaginationTotalTitle } from '@/utils/common';
+import dayjs from 'dayjs';
+import BImportExcel from "@/components/basic/excel/importExcel/importExcel.vue";
+import BExportExcel from "@/components/basic/excel/exportExcel/exportExcel.vue";
+import {message, Modal} from "ant-design-vue";
+import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
+import JobHuntEditForm from "@/views/jobUserManager/jobhunt/edit.vue";
+import type {ImportProps} from "@/components/basic/excel/importExcel/ImportProps";
 
   export default defineComponent({
     name: 'JobHuntList',
+    components: {BImportExcel,BExportExcel,JobHuntEditForm},
     setup() {
-      const modalRoleUserRef = ref();
-      const modalRoleEditRef = ref();
       const formRef = ref<FormInstance>();
-      const searchParamsState = reactive({ page: 1, limit: 20, name: '', wantedJobId: '',isAccomplish:'' });
+      const searchParamsState = reactive({
+        pageIndex: 1,
+        pageSize: 20,
+        jobHuntID:null,
+        jobUserName: null,
+        workName:null,
+        minWorkYear: null,
+        maxWorkYear: null,
+        jobHuntTypeID: null,
+        jobUserTypeID:null,
+        minSalary:null,
+        maxSalary:null,
+        isAccomplish:null
+      });
       const formState = reactive({
         total: 0,
         selectedRowKeys: [],
@@ -116,34 +150,54 @@
           title: '序号',
           align: 'center',
           width: 80,
-          key: 'roleID',
+          key: 'jobHuntID',
           customRender: (item) =>
-            `${searchParamsState.limit * (searchParamsState.page - 1) + item.index + 1}`,
+            `${searchParamsState.pageSize * (searchParamsState.pageIndex - 1) + item.index + 1}`,
         },
-        { title: '姓名', dataIndex: 'name', key: 'name', width: 100 },
-        { title: '工种名称', dataIndex: 'workName', key: 'workName', width: 150 },
-        { title: '希望工作地区', dataIndex: 'workAddress', key: 'workAddress', width: 150 },
-        { title: '可到职日期', dataIndex: 'endDate', key: 'endDate', width: 100,
-          customRender: ({ record }) => dayjs(record.endDate).format('YYYY-MM-DD'), },
-        { title: '工作年限', dataIndex: 'workYear', key: 'workYear' },
-        { title: '求职类型', dataIndex: 'wantedJobType', key: 'wantedJobType' },
-        { title: '人才类型', dataIndex: 'talentsTypeName', key: 'talentsTypeName' },
-        { title: '月薪要求', dataIndex: 'salary', key: 'salary' },
-        { title: '是否完成求职', dataIndex: 'isAccomplish', key: 'isAccomplish' , customRender: ({record}) => (
+        { title: '姓名', dataIndex: 'jobUserName', key: 'jobUserName', width: 100,align: "center", },
+        { title: '工种名称', dataIndex: 'workName', key: 'workName', width: 150, align: "center", },
+        { title: '希望工作地区', dataIndex: 'areaWork', key: 'areaWork', width: 150, align: "center", },
+        { title: '可到职日期', dataIndex: 'inDate', key: 'inDate', width: 100, align: "center",
+          customRender: ({ record }) => record.inDate == null?"":dayjs(record.inDate).format('YYYY-MM-DD'), },
+        { title: '工作年限', dataIndex: 'workYear', key: 'workYear' , align: "center",},
+        { title: '求职类型', dataIndex: 'jobHuntType', key: 'jobHuntType', align: "center", },
+        { title: '人才类型', dataIndex: 'jobUserType', key: 'jobUserType' , align: "center",},
+        { title: '月薪要求', dataIndex: 'salary', key: 'salary' , align: "center",},
+       /* { title: '是否完成求职', dataIndex: 'isAccomplish', key: 'isAccomplish' , customRender: ({record}) => (
             record.isAccomplish == true ? "是" : "否"
-          )},
+          )},*/
         { title: '操作', key: 'operation', width: 100, align: 'center' },
       ];
       const pagination = computed(() => ({
         total: formState.total,
-        current: searchParamsState.page,
-        pageSize: searchParamsState.limit,
+        current: searchParamsState.pageIndex,
+        pageSize: searchParamsState.pageSize,
         showSizeChanger: true,
         showTotal: (total) => getPaginationTotalTitle(total),
       }));
-
+      const importOptions = ref<ImportProps>({
+        title: '导入',
+        url: '/jobUserService/jobHunt/import',
+        columns: [
+          {cnName: '姓名', enName: 'jobUserName', width: 100},
+          {cnName: '工种名称', enName: 'workName', width: 100},
+          {cnName: '希望工作地区', enName: 'areaWork', width: 100},
+          {cnName: '可到职日期', enName: 'inDate', width: 100},
+          {cnName: '工作年限', enName: 'workYear', width: 100},
+          {cnName: '求职类型', enName: 'jobHuntType', width: 100},
+          {cnName: '人才类型', enName: 'jobUserType', width: 100},
+          {cnName: '月薪要求', enName: 'salary', width: 100},
+        ],
+        template: {
+          tempFileName: '求职意向导入模板.xlsx',
+          url: '',
+          params: null,
+        },
+      });
       const dataList = ref([]);
-      const wantedJobTypeList = ref<SelectProps['options']>();
+      const jobHuntEditModelRef = ref();
+      const jobHuntTypeList = ref<SelectProps['options']>();
+      const jobUserTypeList = ref<SelectProps['options']>();
       const isAccomplishList = ref<SelectProps['options']>();
 
       const onSelectChange = (selectedRowKeys: any) => {
@@ -154,59 +208,103 @@
         pageSize: number;
         current: number;
       }) => {
-        searchParamsState.page = pag.current;
-        searchParamsState.limit = pag.pageSize;
+        searchParamsState.pageIndex = pag.current;
+        searchParamsState.pageSize = pag.pageSize;
         loadData();
       };
 
-      const onFinish = () => {
+      const onSearch = () => {
         loadData();
+      }
+
+      const onDel= (item: any) => {
+        if (item) {
+          formState.selectedRowKeys.push(item.jobHuntID as never)
+        }
+
+        if (formState.selectedRowKeys.length <= 0) {
+          message.warning('请选择需要删除的数据!');
+          return false;
+        }
+
+        Modal.confirm({
+          title: '确认删除选中的驿站站点?',
+          icon: createVNode(ExclamationCircleOutlined),
+          content: '',
+          okText: '确认删除',
+          okType: 'danger',
+          okButtonProps: {},
+          cancelText: '取消',
+          onOk() {
+            delJobHunt(formState.selectedRowKeys).then(() => {
+              loadData();
+            });
+          },
+          onCancel() {
+
+          },
+        });
+      };
+
+      const onOperates = (id: string,operation:string,opCategory:any) => {
+        jobHuntEditModelRef.value.show(id,operation,opCategory);
       };
 
       const loadData = async function () {
         formState.loading = true;
-        const result: any = await getList(searchParamsState);
-
+        getJobHuntTypeList();
+        getJobUserTypeList();
+        getIsAccomplishList();
+        const result: any = await getJobHuntList(searchParamsState);
         dataList.value = result.list;
         formState.total = result.total;
         formState.loading = false;
       };
 
-      const getWantedJobTypeList = () => {
-        getSysDictionaryList('wantedJobType').then((data) => {
-          wantedJobTypeList.value = data;
+
+      const getJobHuntTypeList = () => {
+        getSysDictionaryList('JobHuntType').then((data) => {
+          jobHuntTypeList.value = data;
+        });
+      };
+
+      const getJobUserTypeList = () => {
+        getSysDictionaryList('JobUserType').then((data) => {
+          jobUserTypeList.value = data;
         });
       };
 
       const getIsAccomplishList = () => {
-        getSysDictionaryList('sexType').then((data) => {
+        getSysDictionaryList('ContractRecord').then((data) => {
           isAccomplishList.value = data;
         });
       };
 
       return {
-        modalRoleUserRef,
-        modalRoleEditRef,
+        jobHuntEditModelRef,
         formRef,
-        loadData,
         searchParamsState,
         formState,
         columns,
         pagination,
         dataList,
-        wantedJobTypeList,
+        importOptions,
+        jobHuntTypeList,
+        jobUserTypeList,
         isAccomplishList,
+        loadData,
+        onDel,
+        onSearch,
+        onOperates,
         onSelectChange,
         handleTableChange,
-        onFinish,
-        getWantedJobTypeList,
+        getJobHuntTypeList,
+        getJobUserTypeList,
         getIsAccomplishList,
       };
     },
     created() {
       this.loadData();
-      this.getWantedJobTypeList();
-      this.getIsAccomplishList();
     },
     activated() {
       if (history.state.params?.reload) this.loadData();

+ 6 - 4
vue/src/views/taskAndLog/dowork/index.vue

@@ -3,16 +3,16 @@
     <a-form ref="formRef" name="advanced_search" class="ant-advanced-search-form" :model="searchParams">
       <a-row :gutter="24">
         <a-col :span="6">
-          <a-form-item label="姓名" :label-col="{span:6}" name="UserName">
+          <a-form-item label="姓名" :label-col="{span:6}" name="userName">
             <a-input v-model:value="searchParams.userName" placeholder=""/>
           </a-form-item>
         </a-col>
-        <a-col  :span="6">
-          <a-form-item label="工作日期" :label-col="{span:6}" name="WorkTime">
+        <a-col :span="6">
+          <a-form-item label="工作日期" :label-col="{span:6}" name="workTime">
             <a-range-picker format="YYYY-MM-DD" :placeholder="['开始日期', '结束日期']" @change="onRangeChange"/>
           </a-form-item>
         </a-col>
-        <a-col  :span="6">
+        <a-col :span="6">
           <a-form-item label="日志类型" :label-col="{span:6}" name="logType">
             <a-select  ref="select"
               v-model:value="searchParams.doTypeID" :options="logTypeList"
@@ -53,6 +53,8 @@
         </a-col>
         <a-col :span="6">
         </a-col>
+        <a-col :span="5"  style="text-align: right">
+        </a-col>
       </a-row>
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">