Browse Source

web-意向求职人员姓名组件调整

liao-sea 10 months ago
parent
commit
e113ba75e3

+ 5 - 2
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java

@@ -16,6 +16,7 @@ import com.hz.employmentsite.services.service.jobUserManager.JobUserService;
 import com.hz.employmentsite.util.ExcelHelper;
 import com.hz.employmentsite.util.ExcelHelper;
 import com.hz.employmentsite.vo.dataMap.JobUserMapVo;
 import com.hz.employmentsite.vo.dataMap.JobUserMapVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
+import com.hz.employmentsite.vo.jobUserManager.ProfessionLevel;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
@@ -97,8 +98,10 @@ public class JobUserController {
 
 
     @ResponseBody
     @ResponseBody
     @GetMapping("/getDataList")
     @GetMapping("/getDataList")
-    public BaseResponse<ArrayList<SelectProps>> getDataList() {
-        return RespGenerstor.success(jobuserService.getDataList());
+    public BaseResponse getDataList(@RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
+                                                            @RequestParam("jobUserName") String jobUserName) {
+        PageInfo<JobUserVo> result = jobuserService.getDataList(pageIndex, pageSize, jobUserName);
+        return RespGenerstor.success(result);
     }
     }
 
 
     @ResponseBody
     @ResponseBody

+ 3 - 0
src/main/java/com/hz/employmentsite/mapper/cquery/JobUserCQuery.java

@@ -34,4 +34,7 @@ public interface JobUserCQuery {
     List<JobUserMapVo> getDataMapList(@Param("keyTypeValue") Integer keyTypeValue, @Param("regionCode") String regionCode,
     List<JobUserMapVo> getDataMapList(@Param("keyTypeValue") Integer keyTypeValue, @Param("regionCode") String regionCode,
                                       @Param("labelID") String labelID, @Param("minAge") Integer minAge,
                                       @Param("labelID") String labelID, @Param("minAge") Integer minAge,
                                       @Param("maxAge") Integer maxAge);
                                       @Param("maxAge") Integer maxAge);
+
+
+    List<JobUserVo> getJobUserDataList(@Param("jobUserName") String jobUserName);
 }
 }

+ 37 - 13
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -92,25 +92,49 @@ public class JobUserServiceImpl implements JobUserService {
     }
     }
 
 
     @Override
     @Override
-    public List<SelectProps> getDataList() {
-        var dataList = getList(1, 99999, null, null, null, null, null, null, null, null, null, null, null, null, null).getList();
-        List<SelectProps> dataResult = new ArrayList<>();
-        for (var item: dataList) {
+    public PageInfo<JobUserVo> getDataList(Integer page, Integer rows,String jobUserName) {
+        PageHelper.startPage(page,rows);
+
+        List<JobUserVo> resultList = new ArrayList<>();
+
+        List<JobUserVo> dataList = jobUserCQuery.getJobUserDataList(jobUserName);
+
+        for (JobUserVo dataBaseItem: dataList) {
             SelectProps itemResult = new SelectProps();
             SelectProps itemResult = new SelectProps();
-            itemResult.setText(item.getName());
-            itemResult.setValue(item.getJobUserID());
-            for(SelectProps curProp : dataResult){
-                if(curProp.getText().equals(item.getName())){
+            itemResult.setText(dataBaseItem.getName());
+            itemResult.setValue(dataBaseItem.getJobUserID());
+            for(JobUserVo curJobUserItem : resultList){
+                if(curJobUserItem.getName().equals(dataBaseItem.getName())){
                     PcJobuserExample jobuserExp = new PcJobuserExample();
                     PcJobuserExample jobuserExp = new PcJobuserExample();
-                    jobuserExp.or().andJobuserIDEqualTo(curProp.getValue());
+                    jobuserExp.or().andJobuserIDEqualTo(curJobUserItem.getJobUserID());
                     var curJobUser = pcJobuserMapper.selectByExample(jobuserExp).get(0);
                     var curJobUser = pcJobuserMapper.selectByExample(jobuserExp).get(0);
-                    curProp.setText(curJobUser.getName()+desUtils.decoderText(curJobUser.getUserMobile()).substring(7,11));
-                    itemResult.setText(item.getName()+item.getUserMobile().substring(7,11));
+                    curJobUserItem.setName(curJobUser.getName()+desUtils.decoderText(curJobUser.getUserMobile()).substring(7,11));
+                    itemResult.setText(dataBaseItem.getName()+dataBaseItem.getUserMobile().substring(7,11));
                 }
                 }
             }
             }
-            dataResult.add(itemResult);
+            resultList.add(dataBaseItem);
         }
         }
-        return dataResult;
+        PageInfo<JobUserVo> result = new PageInfo(resultList);
+
+        return result;
+        //var dataList = getList(1, 99999, null, null, null, null, null, null, null, null, null, null, null, null, null).getList();
+
+        //for (var item: dataList) {
+        //    SelectProps itemResult = new SelectProps();
+        //    itemResult.setText(item.getName());
+        //    itemResult.setValue(item.getJobUserID());
+        //    for(SelectProps curProp : dataResult){
+        //        if(curProp.getText().equals(item.getName())){
+        //            PcJobuserExample jobuserExp = new PcJobuserExample();
+        //            jobuserExp.or().andJobuserIDEqualTo(curProp.getValue());
+        //            var curJobUser = pcJobuserMapper.selectByExample(jobuserExp).get(0);
+        //            curProp.setText(curJobUser.getName()+desUtils.decoderText(curJobUser.getUserMobile()).substring(7,11));
+        //            itemResult.setText(item.getName()+item.getUserMobile().substring(7,11));
+        //        }
+        //    }
+        //    dataResult.add(itemResult);
+        //}
+        //return dataResult;
     }
     }
 
 
     @Override
     @Override

+ 2 - 1
src/main/java/com/hz/employmentsite/services/service/jobUserManager/JobUserService.java

@@ -7,6 +7,7 @@ import com.hz.employmentsite.model.PcPost;
 import com.hz.employmentsite.model.SelectProps;
 import com.hz.employmentsite.model.SelectProps;
 import com.hz.employmentsite.vo.dataMap.JobUserMapVo;
 import com.hz.employmentsite.vo.dataMap.JobUserMapVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
 import com.hz.employmentsite.vo.jobUserManager.JobUserVo;
+import com.hz.employmentsite.vo.jobUserManager.ProfessionLevel;
 
 
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
@@ -25,7 +26,7 @@ public interface JobUserService {
 
 
     JobUserVo getDataById(String id);
     JobUserVo getDataById(String id);
 
 
-    List<SelectProps> getDataList();
+    PageInfo<JobUserVo> getDataList(Integer page, Integer rows,String jobUserName);
 
 
     List<PcEducation> getJobUserEducationList(String jobuserID);
     List<PcEducation> getJobUserEducationList(String jobuserID);
 
 

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

@@ -200,4 +200,17 @@
             CURRENT_DATE ()) <![CDATA[ <= ]]> #{maxAge}
             CURRENT_DATE ()) <![CDATA[ <= ]]> #{maxAge}
         </if>
         </if>
     </select>
     </select>
+    <select id="getJobUserDataList" resultType="com.hz.employmentsite.vo.jobUserManager.JobUserVo">
+        select  jobUserID,name,userMobile  from pc_jobuser jobuser
+        <where>
+            <choose>
+                <when test="jobUserName!=null and jobUserName!=''">
+                    and jobuser.name like Concat('%',#{jobUserName},'%')
+                </when>
+                <otherwise>
+                    and 1!=1
+                </otherwise>
+            </choose>
+        </where>
+    </select>
 </mapper>
 </mapper>

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

@@ -10,12 +10,12 @@ export function getList(query: any) {
     { isNew: true },
     { isNew: true },
   );
   );
 }
 }
-export function getJobUserDataList(){
+export function getJobUserDataList(params: any){
   return request<any>(
   return request<any>(
     {
     {
       url: 'jobUserService/jobUser/getDataList',
       url: 'jobUserService/jobUser/getDataList',
       method: 'get',
       method: 'get',
-      params: null,
+      params: params,
     },
     },
     {
     {
       isNew: true,
       isNew: true,

+ 53 - 70
vue/src/views/jobUserManager/jobhunt/edit.vue

@@ -4,14 +4,26 @@
       <a-divider orientation="left">求职意向信息</a-divider>
       <a-divider orientation="left">求职意向信息</a-divider>
       <a-row type="flex">
       <a-row type="flex">
         <a-col :span="7">
         <a-col :span="7">
-          <a-form-item label="姓名"  name="jobUserID" :label-col="{span:8}"  :rules="[{ required: true, message: '请输选择求职人员!' }]">
-            <label v-if="opCategory==3">{{dataModel.name}}</label>
-            <a-select ref="select" show-search optionFilterProp="label"  v-model:value="dataModel.jobUserID" >
-              <a-select-option v-for="item in jobUserList" :label="item.text" :value="item.value"
-                               :key="item.value">
-                <span>{{ item.text }}</span>
-              </a-select-option>
-            </a-select>
+          <a-form-item label="姓名"  name="jobUserName" :label-col="{span:8}"  :rules="[{ required: true, message: '请输选择求职人员!' }]">
+<!--            <a-select ref="select" show-search optionFilterProp="label"  v-model:value="dataModel.jobUserID" >-->
+<!--              <a-select-option v-for="item in jobUserList" :label="item.text" :value="item.value"-->
+<!--                               :key="item.value">-->
+<!--                <span>{{ item.text }}</span>-->
+<!--              </a-select-option>-->
+<!--            </a-select>-->
+            <a-auto-complete
+              v-model:value="dataModel.jobUserName"
+              :options="jobUserList"
+              @search="selectJobUserList"
+              @change="jobUserChange"
+              :field-names="{
+                            value:'name',
+                          }"
+            >
+              <template #option="item">
+                <span v-html="formatStr(item.name)"></span>
+              </template>
+            </a-auto-complete>
           </a-form-item>
           </a-form-item>
         </a-col>
         </a-col>
       <a-col :span="8">
       <a-col :span="8">
@@ -117,7 +129,7 @@ import {getJobHuntByID, saveJobHuntCopy} from "@/api/jobUserManager/jobhunt"
 import {getJobUserDataList} from "@/api/jobUserManager/jobuser";
 import {getJobUserDataList} from "@/api/jobUserManager/jobuser";
 import {getSysDictionaryList} from '@/api/system/dictionary';
 import {getSysDictionaryList} from '@/api/system/dictionary';
 import BUploadFile from "@/components/file/uploadFile.vue";
 import BUploadFile from "@/components/file/uploadFile.vue";
-import {CascaderProps, message, SelectProps} from "ant-design-vue";
+import {message, SelectProps} from "ant-design-vue";
 import {get} from "@/api/common";
 import {get} from "@/api/common";
 import {getProfessionLikeList} from "@/api/jobUserManager/recommendMgt";
 import {getProfessionLikeList} from "@/api/jobUserManager/recommendMgt";
 
 
@@ -144,96 +156,42 @@ export default defineComponent({
       selectedRowKeys: [],
       selectedRowKeys: [],
       loading: false
       loading: false
     });
     });
-    const firstProfessionList = ref<CascaderProps['options']>([]);
-    const jobUserList = ref<SelectProps['options']>();
     const jobWorkTypeList =  ref<SelectProps['options']>();
     const jobWorkTypeList =  ref<SelectProps['options']>();
     const jobHuntTypeList =  ref<SelectProps['options']>();
     const jobHuntTypeList =  ref<SelectProps['options']>();
     const jobUserTypeList =  ref<SelectProps['options']>();
     const jobUserTypeList =  ref<SelectProps['options']>();
     const regionList = ref<SelectProps['options']>();
     const regionList = ref<SelectProps['options']>();
     const professionList = ref<Array<any>>([]);
     const professionList = ref<Array<any>>([]);
+    const jobUserList = ref<Array<any>>([]);
 
 
     const getWorkAreas = async function(){
     const getWorkAreas = async function(){
       const result :any = await get('system/area/getCityList',{});
       const result :any = await get('system/area/getCityList',{});
       regionList.value = result;
       regionList.value = result;
     }
     }
 
 
-    const getFirstProfessionList = () => {
-      get("profession/getFirstProfessionList", null).then(data=>{
-        firstProfessionList.value = (data as any[]).map((x) => {
-          return {
-            label: x.name,
-            value: x.code,
-            isLeaf: false,
-            tag: 'firstLevel'
-          }
-        });
-      });
-    }
-    const loadLevelProfessionList = (selectedOptions) => {
-      let targetOption = selectedOptions[selectedOptions.length - 1];
-      if (targetOption) {
-        if (targetOption.tag == 'firstLevel') {
-          get("profession/getListByParentProfessionID",{parentProfessionID:targetOption.value}).then(data => {
-            targetOption.loading = false;
-            targetOption.children = (data as any[]).map((x) => {
-              return {
-                label: x.name,
-                value: x.code,
-                isLeaf: false,
-                tag: 'secondLevel'
-              };
-            });
-          });
-          formData.dataModel.hasProfession = false;
-        } else if (targetOption.tag == "secondLevel") {
-          get("profession/getListByParentProfessionID",{parentProfessionID:targetOption.value}).then(data => {
-            targetOption.loading = false;
-            targetOption.children = (data as any[]).map((x) => {
-              return {
-                label: x.name,
-                value: x.code,
-                isLeaf: true,
-                tag: 'thirdLevel'
-              };
-            });
-          });
-          formData.dataModel.hasProfession = false;
-        }
-      }
-    };
-
 
 
-    const getJobUserList = async function() {
-      const jobUserResult :any = await getJobUserDataList();
-      jobUserList.value = jobUserResult;
-      /*console.log('jobUserResult',jobUserResult);*/
-    }
 
 
     const getJobWorkTypeList = async function(){
     const getJobWorkTypeList = async function(){
       const data :any = await getSysDictionaryList("JobWorkType");
       const data :any = await getSysDictionaryList("JobWorkType");
       jobWorkTypeList.value = data;
       jobWorkTypeList.value = data;
-      /*console.log('jobWorkTypeList',jobWorkTypeList.value);*/
     }
     }
     const getJobHuntTypeList = async function(){
     const getJobHuntTypeList = async function(){
       const data :any = await getSysDictionaryList("JobHuntType");
       const data :any = await getSysDictionaryList("JobHuntType");
       jobHuntTypeList.value = data;
       jobHuntTypeList.value = data;
-      // console.log('jobHuntTypeList',jobHuntTypeList.value);
     }
     }
     const getJobUserTypeList = async function(){
     const getJobUserTypeList = async function(){
       const data :any = await getSysDictionaryList("JobUserType");
       const data :any = await getSysDictionaryList("JobUserType");
       jobUserTypeList.value = data;
       jobUserTypeList.value = data;
-      // console.log('jobUserTypeList',jobUserTypeList.value);
     }
     }
 
 
     const loadData = (id: string) => {
     const loadData = (id: string) => {
       formState.loading = true;
       formState.loading = true;
       getWorkAreas();
       getWorkAreas();
-      getFirstProfessionList();
       getJobUserTypeList();
       getJobUserTypeList();
       getJobHuntTypeList();
       getJobHuntTypeList();
       getJobWorkTypeList();
       getJobWorkTypeList();
       getJobHuntByID(id).then((result: any) => {
       getJobHuntByID(id).then((result: any) => {
         formData.dataModel = result;
         formData.dataModel = result;
+        console.log("初始化数据",formData.dataModel);
         formData.dataModel.hasProfession = true;
         formData.dataModel.hasProfession = true;
       });
       });
       formState.loading = false;
       formState.loading = false;
@@ -277,7 +235,21 @@ export default defineComponent({
         }).then(data => {
         }).then(data => {
           professionList.value = data.list;
           professionList.value = data.list;
           setProfessionId(professionName);
           setProfessionId(professionName);
-          console.log("list",professionList.value);
+          console.log("professionList",professionList.value);
+        })
+      }
+    }
+
+    const selectJobUserList = (jobUserName: string) => {
+      if (jobUserName) {
+        getJobUserDataList({
+          pageIndex: 1,
+          pageSize: 30,
+          jobUserName,
+        }).then(data => {
+          jobUserList.value = data.list;
+          setJobUserId(jobUserName);
+          console.log("jobUserList",jobUserList.value);
         })
         })
       }
       }
     }
     }
@@ -287,6 +259,10 @@ export default defineComponent({
       formData.dataModel.professionName = value;
       formData.dataModel.professionName = value;
       setProfessionId(value);
       setProfessionId(value);
     }
     }
+    function jobUserChange(value: any) {
+      formData.dataModel.name = value;
+      setJobUserId(value);
+    }
 
 
     function setProfessionId(value:any){
     function setProfessionId(value:any){
       const profession = professionList.value.find(prof => prof.professionName === value);
       const profession = professionList.value.find(prof => prof.professionName === value);
@@ -298,6 +274,15 @@ export default defineComponent({
       formData.dataModel.hasProfession = true;
       formData.dataModel.hasProfession = true;
     }
     }
 
 
+    function setJobUserId(value:any){
+      const curJobUser = jobUserList.value.find(x => x.name === value);
+      if (curJobUser) {
+        formData.dataModel.jobUserID = curJobUser.jobUserID;
+      } else {
+        formData.dataModel.jobUserID = null;
+      }
+    }
+
     // 名称搜索关键字高亮
     // 名称搜索关键字高亮
     const formatStr = (str: any) => {
     const formatStr = (str: any) => {
       if (!str) {
       if (!str) {
@@ -312,13 +297,10 @@ export default defineComponent({
       loadData,
       loadData,
       onClose,
       onClose,
       onFinish,
       onFinish,
-      getJobUserList,
-      loadLevelProfessionList,
       title,
       title,
       formState,
       formState,
       opCategory,
       opCategory,
       regionList,
       regionList,
-      firstProfessionList,
       jobUserList,
       jobUserList,
       jobUserTypeList,
       jobUserTypeList,
       jobHuntTypeList,
       jobHuntTypeList,
@@ -326,12 +308,13 @@ export default defineComponent({
       isAllowCommit,
       isAllowCommit,
       professionList,
       professionList,
       selectProfessionList,
       selectProfessionList,
+      selectJobUserList,
       professionChange,
       professionChange,
+      jobUserChange,
       formatStr
       formatStr
     };
     };
   },
   },
   created() {
   created() {
-    this.getJobUserList();
     const id = history.state.params?.id;
     const id = history.state.params?.id;
     this.loadData(id);
     this.loadData(id);
   },
   },