|
@@ -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);
|
|
},
|
|
},
|