瀏覽代碼

commit

master
Soleilw 1 年之前
父節點
當前提交
e06bfd72aa

+ 67
- 1
src/apis/models/index.ts 查看文件

@@ -72,4 +72,70 @@ export const PostRecruitmentbookAdd = postModel(url.RecruitmentbookAdd); // 添
export const PostRecruitmentbookDel = postModel(url.RecruitmentbookDel); // 删除
export const PostRecruitmentbookUpdate = postModel(url.RecruitmentbookUpdate); // 编辑
export const GetRecruitmentbookList = getModel(url.RecruitmentbookList); // 列表
export const GetRecruitmentbookDetail = getModel(url.RecruitmentbookDetail); // 详情
export const GetRecruitmentbookDetail = getModel(url.RecruitmentbookDetail); // 详情

// 简历
// 列表
export const PostJobseekerList = postModel(url.JobseekerList);
export const GetJobseekerDetail = getModel(url.JobseekerDetail);
// 基本资料
export const PostJobapplicantAdd = postModel(url.JobapplicantAdd);
export const PostJobapplicantDel = postModel(url.JobapplicantDel);
export const PostJobapplicantUpdate = postModel(url.JobapplicantUpdate);
export const GetJobapplicantList = getModel(url.JobapplicantList);
export const GetJobapplicantDetail = getModel(url.JobapplicantDetail);
// 联系方式
export const PostJobapplicantAddcontact = postModel(url.JobapplicantAddcontact);
export const PostJobapplicantDelcontact = postModel(url.JobapplicantDelcontact);
export const PostJobapplicantUpdatecontact = postModel(url.JobapplicantUpdatecontact);
export const PostJobapplicantListcontact = getModel(url.JobapplicantListcontact);
export const PostJobapplicantContactdetail = getModel(url.JobapplicantContactdetail);
// 证书技能
export const PostJobapplicantAddskill = postModel(url.JobapplicantAddskill);
export const PostJobapplicantDelskill = postModel(url.JobapplicantDelskill);
export const PostJobapplicantUpdateskill = postModel(url.JobapplicantUpdateskill);
export const PostJobapplicantListskill = getModel(url.JobapplicantListskill);
export const PostJobapplicantSkilldetail = getModel(url.JobapplicantSkilldetail);
// 培训经历
export const PostJobapplicantAddtraining = postModel(url.JobapplicantAddtraining);
export const PostJobapplicantDeltraining = postModel(url.JobapplicantDeltraining);
export const PostJobapplicantUpdatetraining = postModel(url.JobapplicantUpdatetraining);
export const PostJobapplicantListtraining = getModel(url.JobapplicantListtraining);
export const PostJobapplicantTrainingdetail = getModel(url.JobapplicantTrainingdetail);
// 求职意向-基本
export const PostJobapplicantAdddesirebase = postModel(url.JobapplicantAdddesirebase);
export const PostJobapplicantDeldesirebase = postModel(url.JobapplicantDeldesirebase);
export const PostJobapplicantUpdatedesirebase = postModel(url.JobapplicantUpdatedesirebase);
export const PostJobapplicantListdesirebase = getModel(url.JobapplicantListdesirebase);
export const PostJobapplicantDesirebasedetail = getModel(url.JobapplicantDesirebasedetail);
// 求职意向-地区
export const PostJobapplicantAdddesirearea = postModel(url.JobapplicantAdddesirearea);
export const PostJobapplicantDeldesirearea = postModel(url.JobapplicantDeldesirearea);
export const PostJobapplicantUpdatedesirearea = postModel(url.JobapplicantUpdatedesirearea);
export const PostJobapplicantListdesirearea = getModel(url.JobapplicantListdesirearea);
export const PostJobapplicantDesireareadetail = getModel(url.JobapplicantDesireareadetail);
// 求职意向-职位
export const PostJobapplicantAdddesireindustry = postModel(url.JobapplicantAdddesireindustry);
export const PostJobapplicantDeldesireindustry = postModel(url.JobapplicantDeldesireindustry);
export const PostJobapplicantUpdatedesireindustry = postModel(url.JobapplicantUpdatedesireindustry);
export const PostJobapplicantListdesireindustry = getModel(url.JobapplicantListdesireindustry);
export const PostJobapplicantDesireindustrydetail = getModel(url.JobapplicantDesireindustrydetail);
// 工作经历
export const PostJobapplicantAddexperience = postModel(url.JobapplicantAddexperience);
export const PostJobapplicantDelexperience = postModel(url.JobapplicantDelexperience);
export const PostJobapplicantUpdateexperience = postModel(url.JobapplicantUpdateexperience);
export const PostJobapplicantListexperience = getModel(url.JobapplicantListexperience);
export const PostJobapplicantExperiencedetail = getModel(url.JobapplicantExperiencedetail);
// 证书
export const PostJobapplicantAddcertificate = postModel(url.JobapplicantAddcertificate);
export const PostJobapplicantUpdatecertificate = postModel(url.JobapplicantUpdatecertificate);
export const PostJobapplicantListcertificate = getModel(url.JobapplicantListcertificate);
export const PostJobapplicantCertificatedetail = getModel(url.JobapplicantCertificatedetail);



export const PostJobapplicantAddintroduction = postModel(url.JobapplicantAddintroduction); // 个人介绍
export const PostJobapplicantDelintroduction = postModel(url.JobapplicantDelintroduction); // 个人介绍
export const PostJobapplicantUpdateintroduction = postModel(url.JobapplicantUpdateintroduction); // 个人介绍
export const GetJobapplicantListintroduction = getModel(url.JobapplicantListintroduction); // 个人介绍
export const GetJobapplicantIntroductiondetail = getModel(url.JobapplicantIntroductiondetail); // 个人详情

+ 43
- 0
src/components/form/shujilian.vue 查看文件

@@ -0,0 +1,43 @@
<template>
<a-tree-select v-model:value="treecCascaderParentId" style="width: 100%"
:tree-data="treeData" tree-checkable allow-clear :show-checked-strategy="SHOW_PARENT"
:placeholder="placeholder" tree-node-filter-prop="label"
:fieldNames="listFieldNames" :maxTagCount="3" @change="parentChange" />
</template>

<script lang="ts" setup>
import { ref, onMounted, defineProps, watch, defineEmits } from 'vue';
import { GetDictTree } from '@/apis/models';
import { TreeSelect } from 'ant-design-vue';
const props = defineProps(['dict', 'placeholder', 'tree_content']);
let treeData = ref([]);
let treecCascaderParentId = ref<number[]>([]);
const listFieldNames = ref({ label: 'name', value: 'id', children: 'children' });
let placeholder = ref('请选择');
placeholder.value = props.placeholder
const SHOW_PARENT = TreeSelect.SHOW_ALL;
watch(() => [props.dict, props.tree_content],
(newVal, oldVal) => {
GetDictTree({
code: newVal[0]
}).then(res => {
treeData.value = res.data.dicts
})
treecCascaderParentId.value = newVal[1]
}, {immediate: true})

// onMounted(() => {
// GetDictTree({
// code: props.dict
// }).then(res => {
// treeData.value = res.data.dicts
// })
// })
const emit = defineEmits();
const parentChange = (val) => {
emit('saveTreeNode', {arr1: val});
}
</script>

<style>
</style>

+ 8
- 18
src/components/invite/position/info.vue 查看文件

@@ -33,19 +33,14 @@
</a-col>
<a-col span="24">
<a-form-item required label="职位类别">
<a-tree-select v-model:value="createForm.job_type" style="width: 100%"
:tree-data="jobTypeData" tree-checkable allow-clear :show-checked-strategy="SHOW_PARENT"
placeholder="职位类别(最多三个,多选只取前三)" tree-node-filter-prop="label"
:fieldNames="jobTypeFieldNames" :maxTagCount="3" @change="jobTypeChange" />
<a-shujilian :dict="2004" placeholder="职位类别(最多三个,多选只取前三)" @saveTreeNode="jobTypeChange"
:select_content="createForm.job_type"></a-shujilian>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item required label="工作区域">
<a-tree-select v-model:value="createForm.job_location" style="width: 100%"
:tree-data="jobAddressData" tree-checkable allow-clear
:show-checked-strategy="SHOW_PARENT" placeholder="工作区域(最多四个,多选只取前四)"
tree-node-filter-prop="label" :fieldNames="jobAddressFieldNames" :maxTagCount="4"
@change="jobAddressChange" />
<a-shujilian :dict="2009" placeholder="工作区域(最多四个,多选只取前四)" @saveTreeNode="jobAddressChange"
:select_content="createForm.job_location"></a-shujilian>
</a-form-item>
</a-col>
<a-col span="24">
@@ -117,7 +112,6 @@
<script setup lang="ts">
import { ref, onMounted, computed, watch, defineEmits, defineProps } from 'vue';
import { GetDictTree, GetCompanyDepartmentList, PostCompanyJobAdd } from '@/apis/models';
import { TreeSelect } from 'ant-design-vue';
import { warnToast, successToast } from '@/utils/toastHelper';
import { intersectionAlike } from '@/utils/dataHelper';
const emit = defineEmits();
@@ -211,11 +205,7 @@


let jobTypeData = ref<Object[]>([])
const jobTypeFieldNames = ref({ label: 'name', value: 'id', children: 'children' });
let jobAddressData = ref<Object[]>([])
const jobAddressFieldNames = ref({ label: 'name', value: 'id', children: 'children' });
const SHOW_PARENT = TreeSelect.SHOW_ALL;
onMounted(async () => {
})
@@ -233,12 +223,12 @@
}

// 职位类别
const jobTypeChange = (val) => {
createForm.value.job_type = val.slice(0, 3);
const jobTypeChange = (data) => {
createForm.value.job_type = data.arr1.slice(0, 3);
}
// 工作区域
const jobAddressChange = (val) => {
createForm.value.job_location = val.slice(0, 4);
createForm.value.job_location = data.arr1.slice(0, 4);
}

// 职位描述

+ 45
- 0
src/components/job/meet/booking/index.vue 查看文件

@@ -0,0 +1,45 @@
<template>
<a-list item-layout="horizontal" :data-source="recruitmentList">
<template #renderItem="{ item }">
<a-list-item @click="toDetail(item)">
<a-list-item-meta>
<template #title>
{{ item.title }}
</template>
</a-list-item-meta>
</a-list-item>
</template>
</a-list>
<a-pagination v-model:current="current" :total="500" style="text-align: center;" />
</template>

<script setup lang="ts">
import { ref, computed, onMounted, createVNode } from 'vue';
import { PostRecruitmentList } from '@/apis/models';
import { FileTextOutlined } from '@ant-design/icons-vue';
import { Modal } from 'ant-design-vue';
let recruitmentList = ref<object[]>([])
onMounted(() => {
PostRecruitmentList().then(res => {
recruitmentList.value = res.data.recruitments
})
})
const toDetail = (data) => {
Modal.confirm({
title: data.title,
icon: createVNode(FileTextOutlined),
content: createVNode('div', { innerHTML: data.content }),
width: '888px',
onOk() {
console.log('OK');
},
onCancel() {
console.log('Cancel');
},
class: 'test',
});
}
</script>

<style>
</style>

+ 29
- 0
src/components/job/meet/guide/index.vue 查看文件

@@ -0,0 +1,29 @@
<template>
<a-timeline>
<a-timeline-item>求职者领取求职登记表</a-timeline-item>
<a-timeline-item>写求职登记表(填表区设在一楼和三楼)</a-timeline-item>
<a-timeline-item>留一份求职登记表或个人简历给人才市场</a-timeline-item>
<a-timeline-item>
免费参加现场招聘会
</a-timeline-item>
<a-timeline-item>
会后继续免费在菊城人才市场发布求职信息和免费推荐就业
</a-timeline-item>
</a-timeline>
<a-typography>
<a-typography-title :level="3">★乘车指引</a-typography-title>
<a-typography-paragraph>
沙口总部:在小榄乘坐501、502、505路公交车(原榄运1、2、5),在江滨公园站下车即到(即菊城人才市场门口)。
</a-typography-paragraph>
<a-typography-title :level="3">★菊城人才市场沙口总部地图</a-typography-title>
<a-typography-paragraph>
</a-typography-paragraph>
</a-typography>
</template>

<script setup lang="ts">
import { ref, computed, onMounted } from 'vue';
</script>

<style>
</style>

+ 18
- 0
src/components/job/meet/method/index.vue 查看文件

@@ -0,0 +1,18 @@
<template>
<a-timeline mode="alternate">
<a-timeline-item>电话预定展位</a-timeline-item>
<a-timeline-item>传真(电邮)招聘资料</a-timeline-item>
<a-timeline-item>资料及展位号确认</a-timeline-item>
<a-timeline-item>
参会交费进场招聘
</a-timeline-item>
</a-timeline>
</template>

<script setup lang="ts">


</script>

<style>
</style>

+ 4
- 4
src/components/job/talents/index.vue 查看文件

@@ -2,7 +2,7 @@
<a-row :gutter="[10,10]">
<a-col span="12" v-for="(item, index) in list">
<div class="talent-box">
<a-list item-layout="vertical">
<!-- <a-list item-layout="vertical">
<a-list-item>
<a-list-item-meta>
<template #title>
@@ -30,8 +30,8 @@
<div v-html="item.introduction"></div>
</div>
</a-list-item>
</a-list>
<!-- <a-list item-layout="horizontal" :split="false" position="bottom">
</a-list> -->
<a-list item-layout="horizontal" :split="false" position="bottom">
<a-list-item>
<template #actions>
<a-button>
@@ -75,7 +75,7 @@
</div>
</a-list-item>
</a-list> -->
</a-list>
</div>
</a-col>
<a-col span="24">

+ 26
- 0
src/components/resume/result/index.vue 查看文件

@@ -0,0 +1,26 @@
<template>
<job-talents :list="jobList"></job-talents>
</template>

<script setup lang="ts">
import { ref, computed, onMounted } from 'vue';
import JobTalents from '@/components/job/talents/index.vue'
import { PostJobseekerList } from '@/apis/models';
let jobList = ref<object[]>([])
onMounted(() => {
PostJobseekerList().then(res => {
if (res.data.list.length > 10) {
jobList.value = res.data.list.slice(0, 10)
} else {
jobList.value = res.data.list
}
})
})

</script>

<style scoped lang="less">
</style>

+ 121
- 154
src/components/resume/search/index.vue 查看文件

@@ -4,12 +4,12 @@
<a-col span="12">
<a-row>
<a-col span="24">
<a-form-item label="关键字" name="full_name">
<a-input v-model:value="value" placeholder="Basic usage" />
<a-form-item label="关键字" name="keyword">
<a-input v-model:value="createForm.keyword" placeholder="Basic usage" />
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="关键词匹配" name="registration_number">
<a-form-item label="关键词匹配">
<a-checkbox-group>
<a-checkbox>求职意向</a-checkbox>
<a-checkbox>工作经历</a-checkbox>
@@ -19,26 +19,27 @@
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="应聘职位" name="mandarin">
<!-- <a-c-cascader :dict="2009" @saveCascader="compantJiguanSave" placeholder="请选择籍贯"
:cascader_content="addOtherForm.company_jiguan_cascader"></a-c-cascader> -->
<a-form-item label="应聘职位">
<a-shujilian :dict="2004" placeholder="职位类别(最多三个,多选只取前三)" @saveTreeNode="jobTypeChange"
:select_content="job_type"></a-shujilian>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="期望地区" name="mandarin">
<!-- <a-c-cascader :dict="2009" @saveCascader="compantJiguanSave" placeholder="请选择籍贯"
:cascader_content="addOtherForm.company_jiguan_cascader"></a-c-cascader> -->
<a-form-item label="期望地区">
<a-shujilian :dict="2009" placeholder="工作区域(最多四个,多选只取前四)" @saveTreeNode="jobAddressChange"
:select_content="job_location"></a-shujilian>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="户口所在地" name="mandarin">
<!-- <a-c-cascader :dict="2009" @saveCascader="compantSuozaidiSave" placeholder="请选择所在地"
:cascader_content="addOtherForm.company_suozaidi_cascader"></a-c-cascader> -->
<a-form-item label="户口所在地">
<a-jilian :dict="2009" @saveCascader="regLevelSave" placeholder="请选择籍贯"
:cascader_content="addOtherForm.company_jiguan_cascader"></a-jilian>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="学历">
<!-- <a-c-select :dict="2006" placeholder="请选择学历" @saveSelect="saveSchoolDegree"></a-c-select> -->
<a-xuanze :dict="2006" placeholder="请选择学历" @saveSelect="saveSchoolDegree"
:select_content="createForm.school_degree"></a-xuanze>
</a-form-item>
</a-col>
<a-col span="24">
@@ -51,42 +52,47 @@
</a-col>
<a-col span="24">
<a-form-item required label="英语">
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> -->
<a-xuanze :dict="2007" placeholder="请选择掌握程度" @saveSelect="saveEnglish"
:select_content="createForm.language_degree"></a-xuanze>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item required label="国语">
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> -->
<a-xuanze :dict="2007" placeholder="请选择掌握程度" @saveSelect="saveMandarin"
:select_content="createForm.language_degree"></a-xuanze>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item required label="粤语">
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> -->
<a-xuanze :dict="2007" placeholder="请选择掌握程度" @saveSelect="saveCantonese"
:select_content="createForm.language_degree"></a-xuanze>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item required label="第二外语">
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> -->
<a-xuanze :dict="2007" placeholder="请选择第二外语" @saveSelect="saveOtherLanguage"
:select_content="createForm.language"></a-xuanze>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item required label="计算机能力">
<!-- <a-c-select :dict="2014" placeholder="请选择职称要求" @saveSelect="saveProfelevel"></a-c-select> -->
<a-input v-model:value="value" placeholder="请输入计算机能力" />
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item required label="工作经验">
<!-- <a-c-select :dict="2021" placeholder="请选择工作经验" @saveSelect="saveExperience"></a-c-select> -->
<a-xuanze :dict="2021" placeholder="请选择工作经验" @saveSelect="saveExperience"
:select_content="createForm.experience"></a-xuanze>
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="性别" name="sex">
<a-radio-group v-model:value="createForm.sex" button-style="solid">
<a-radio-button :value="1">男</a-radio-button>
<a-radio-button :value="2">女</a-radio-button>
<a-radio-button :value="3">不限</a-radio-button>
<a-radio-group v-model:value="createForm.gender" button-style="solid">
<a-radio-button value="男">男</a-radio-button>
<a-radio-button value="女">女</a-radio-button>
<a-radio-button value="不限">不限</a-radio-button>
</a-radio-group>
</a-form-item>
</a-col>
@@ -96,7 +102,7 @@
placeholder="请输入最小年龄" style="width: 100%;" />
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="最大年龄" name="age_max">
<a-input-number :min="0" type="number" v-model:value="createForm.age_max"
@@ -105,7 +111,7 @@
</a-col>
<a-col span="24">
<a-form-item required label="简历更新" name="marital_status">
</a-form-item>
</a-col>
<a-col span="24">
@@ -113,145 +119,106 @@
<a-input v-model:value="createForm.major" placeholder="请输入专业" />
</a-form-item>
</a-col>
<a-col span="24">
<a-form-item label="搜索">
<a-button type="primary" block @click="saveForm">搜索</a-button>
</a-form-item>
</a-col>
</a-row>
</a-col>
</a-row>
</a-form>
<a-button block>保存</a-button>
</template>

<script setup lang="ts">
import { ref, onMounted, computed, defineProps, watch, defineEmits } from 'vue';
// import dayjs from 'dayjs';
// import 'dayjs/locale/zh-cn';
// dayjs.locale('zh-cn');
// const dayjsRef = ref(dayjs);

let createForm : companyListType.addrFormType = ref({
full_name: '',
registration_number: '',
establishment_date: '',
contact: '',
phone: '',
mobile: '',
email: '',
fax: '',
website: '',
province: 0,
city: 0,
district: 0,
street: 0,
address: '',
industry: 0,
nature: 0,
scale: 0,
introduction: '',
photo: '',
photo_status: 1,
license_path: '',
license_status: 1,
login_name: '',
login_pwd: '',
company_photos: [],
})

let addOtherForm = ref<companyListType.addOtherFormType>({
chengli_date: '',
content: '',
photo_img: '',
license_img: '',
company_photo_img: '',
company_address_cascader: '',
company_industry_cascader: '',
company_nature_cascader: '',
company_scale_cascader: '',
keyword: "",
gender: "女",
title: 0,
education: 0,
marital_status: 0,
ethnicity: 0,
reg_level1: 0,
reg_level2: 0,
reg_level3: 0,
reg_level4: 0,
now_level1: 0,
now_level2: 0,
now_level3: 0,
now_level4: 0,
maxdob: "9999-12-31 23:59:59",
mindob: "1000-01-01 00:00:00",
maxheight: 230,
minheight: 60,
maxweight: 200,
minweight: 30,
political_status: 0,
native_place: 0,
desire_area: [],
desire_position: [],
desire_industry: [],
job_type_desire: 0,
talent_type_desire: 0,
max_work_experience: 0,
min_work_experience: 0,
salary_range_desire: 0,
available_date_desire: 0,
title_requirement_desire: 0,
skill_certification_desire: 0,
english: 0,
mandarin: 0,
cantonese: 0,
other_language: 0,
sort: "id",
sortby: "asc",
page: 1,
pagesize: 20
})


onMounted(async () => {
// let res = await listSection({ page: 1, pagesize: 10, sort: 'id', sortby: "asc", keyword: "" });
// section_list.value = res.data.sections;
let addOtherForm : companyListType.addrFormType = ref({
company_jiguan_cascader: []
})

// 上传图片
// 企业照片
// const uploadPhotoSuccess = (data : Object) => {
// addOtherForm.value.photo_img = "http://114.132.245.7:242494" + data
// createForm.value.photo = data
// }

// // 营业执照
// const uploadLicenseSuccess = (data : Object) => {
// addOtherForm.value.license_img = "http://114.132.245.7:242494" + data
// createForm.value.license_path = data
// }
// // 企业相册
// const uploadSuccess = (data : Object) => {
// addOtherForm.value.company_photo_img = "http://114.132.245.7:242494" + data
// createForm.value.company_photos.push({ photo: data })
// }
// // 成立日期
// const establishmentDateChange = (val) => {
// createForm.value.establishment_date = dayjsRef.value(val).format('YYYY-MM-DD');
// }


// // 选择地址
// const compantAddressSave = (data) => {
// createForm.value.province = data.arr1[0] ? data.arr1[0] : 0;
// createForm.value.city = data.arr1[1] ? data.arr1[1] : 0;
// createForm.value.district = data.arr1[2] ? data.arr1[2] : 0;
// createForm.value.street = data.arr1[3] ? data.arr1[3] : 0;
// }

// // 所属行业 industrySave
// const industrySave = (data) => {
// createForm.value.industry = data.arr1[1] ? data.arr1[1] : 0;
// }

// // 企业性质
// const natureSave = (data) => {
// createForm.value.nature = data.arr1[1] ? data.arr1[1] : 0;
// }

// // 企业规模
// const scaleSave = (data) => {
// createForm.value.scale = data.val ? data.val : 0;
// }

// // 富文本
// const onEditorUpdate = (data) => {
// createForm.value.introduction = data
// }

// const sumbitForm = () => {
// console.log(createForm.value)
// if (createForm.value.full_name) {
// if (!createForm.value.id) {
// addCompany(createForm.value).then(res => {
// message.success('新增企业成功');
// hideModal();
// resetForm();
// emit('successAdd');
// }).catch(err => {
// })
// } else {
// PostCompanyEdit(createForm.value).then(res => {
// message.success('修改企业信息成功');
// hideModal();
// resetForm();
// emit('successAdd');
// }).catch(err => {
// })
// }

// } else {
// message.warning('请补充完整信息');
// }
// }
// 户口所在地
const regLevelSave = (data) => {
for (let i = 0; i < 4; i++) {
createForm.value[`reg_level${i + 1}`] = data.arr1[i] || 0;
}
}
// 学历要求
const saveSchoolDegree = (data) => {
createForm.value.education = data.val.key;
}
// 英语掌握程度
const saveEnglish = (data) => {
createForm.value.english = data.val.key;;
}
// 国语掌握程度
const saveMandarin = (data) => {
createForm.value.mandarin = data.val.key;;
}
// 粤语掌握程度
const saveCantonese = (data) => {
createForm.value.cantonese = data.val.key;;
}
// 第二外语
const saveOtherLanguage = (data) => {
createForm.value.other_language = data.val.key;;
}
// 工作经验
const saveExperience = (data) => {
createForm.value.experience = data.val.key;
}
</script>

<style>

+ 2
- 0
src/main.ts 查看文件

@@ -12,6 +12,7 @@ import '@vueup/vue-quill/dist/vue-quill.snow.css';
import CommonLeftSider from '@/components/common/left-sider.vue';
import ABiaoge from '@/components/biaoge/index.vue';
import AJilian from '@/components/form/jilian.vue';
import AShujilian from '@/components/form/shujilian.vue';
import AXuanze from '@/components/form/xuanze.vue';
import { routesModuleList } from '@/router/dynamic';
import { routesManageModuleList } from '@/router/manageDynamic';
@@ -44,6 +45,7 @@ const app = createApp(App);
app.component('common-left-sider', CommonLeftSider);
app.component('a-biaoge', ABiaoge);
app.component('a-jilian', AJilian);
app.component('a-shujilian', AShujilian);
app.component('a-xuanze', AXuanze);
app.component('QuillEditor', QuillEditor)
app.use(router);

+ 14
- 44
src/views/job/invite-meet/index.vue 查看文件

@@ -1,30 +1,14 @@
<template>
<a-row>
<a-col span="4">
<a-menu v-model:openKeys="openKeys" v-model:selectedKeys="selectedKeys" style="width: 100%;" mode="inline">
<a-menu-item key="1">招聘会预定</a-menu-item>
<a-menu-item key="2">企业参会方式</a-menu-item>
<a-menu-item key="3">求职者参会指南</a-menu-item>
<a-menu-item key="4">乘车路线</a-menu-item>
<a-menu-item key="5">绿色通道</a-menu-item>
<a-menu-item key="6">联系方式</a-menu-item>
</a-menu>
<common-left-sider :menu_list="menu_list" :selected_key="[1]"
@changeKey="changeKey"></common-left-sider>
</a-col>
<a-col span="16">
<div style="width: 100%;background-color: #fff;padding: 10px;">
<a-list item-layout="horizontal" :data-source="data">
<template #renderItem="{ item }">
<a-list-item>
<a-list-item-meta
description="Ant Design, a design language for background applications, is refined by Ant UED Team">
<template #title>
<a href="https://www.antdv.com/">{{ item.title }}</a>
</template>
</a-list-item-meta>
</a-list-item>
</template>
</a-list>
<a-pagination v-model:current="current" :total="500" style="text-align: center;" />
<meet-booking v-if="curKey == 1"></meet-booking>
<meet-method v-if="curKey == 2"></meet-method>
<meet-guide v-if="curKey == 3"></meet-guide>
</div>
</a-col>
<a-col span="4">
@@ -38,32 +22,18 @@
</a-list>
</a-col>
</a-row>



</template>
<script setup lang="ts">
import { ref, onMounted, computed, watch } from 'vue';
const openKeys = ref<string[]>(['1']);
const selectedKeys = ref<string[]>(['1']);

interface DataItem {
title : string;
import { ref, computed, onMounted } from 'vue';
import MeetBooking from '@/components/job/meet/booking/index.vue'
import MeetMethod from '@/components/job/meet/method/index.vue'
import MeetGuide from '@/components/job/meet/guide/index.vue'
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}])
let menu_list = ref([{ name: '招聘会预定', key: 1 },{ name: '企业参会方式', key: 2},{ name: '求职者参会指南', key: 3},{ name: '乘车路线', key: 4},{ name: '绿色通道', key: 5},{ name: '联系方式', key: 6}])
let curKey = ref<Number>(1)
const changeKey = (data) => {
curKey.value = data.key;
}
const data : DataItem[] = ref([
{
title: 'Ant Design Title 1',
},
{
title: 'Ant Design Title 2',
},
{
title: 'Ant Design Title 3',
},
{
title: 'Ant Design Title 4',
},
])
</script>

<style>

+ 3
- 2
src/views/manage/search/index.vue 查看文件

@@ -10,6 +10,7 @@
<a-col span="20">
<div style="width: 100%;background-color: #fff;padding: 10px;">
<resume-search v-if="curKey == 1"></resume-search>
<resume-result v-if="curKey == 2"></resume-result>
</div>
</a-col>
</a-row>
@@ -21,8 +22,8 @@
<script setup lang="ts">
import { ref, computed, onMounted } from 'vue';
import ResumeSearch from '@/components/resume/search/index.vue'
let companyList = ref<object[]>([{}, {}, {}, {}, {}, {}])
let menu_list = ref([{ name: '简历搜索', key: 1 }])
import ResumeResult from '@/components/resume/result/index.vue'
let menu_list = ref([{ name: '简历搜索', key: 1 },{ name: '搜索结果', key: 2 }])
let curKey = ref<Number>(1)
const changeKey = (data) => {
curKey.value = data.key;

Loading…
取消
儲存