|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <ion-page>
|
|
|
+ <ion-page class="list-page">
|
|
|
<ion-header class="header-theme2">
|
|
|
<ion-toolbar>
|
|
|
<ion-buttons slot="start">
|
|
@@ -22,16 +22,16 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
+ <!-- <div class="form-input">
|
|
|
+ <ion-label>工种名称<span class="danger">*</span></ion-label>
|
|
|
+ <ion-input name="workName" id="workName" style="text-align: left;" class="custom"
|
|
|
+ placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
|
|
|
+ <!– <ion-note slot="error">工种名称不能为空</ion-note>–>
|
|
|
+ </div>-->
|
|
|
<form ref="editForm" @submit.prevent="onSave">
|
|
|
<div class="bw-vue-form">
|
|
|
- <ion-list class="canvasWrapper" >
|
|
|
+ <ion-list>
|
|
|
<div class="form-title">求职意向</div>
|
|
|
-<!-- <div class="form-input">
|
|
|
- <ion-label>工种名称<span class="danger">*</span></ion-label>
|
|
|
- <ion-input name="workName" id="workName" style="text-align: left;" class="custom"
|
|
|
- placeholder="请输入工种名称" v-model="dataModel.workName" ></ion-input>
|
|
|
-<!– <ion-note slot="error">工种名称不能为空</ion-note>–>
|
|
|
- </div>-->
|
|
|
<div class="form-select">
|
|
|
<ion-label>求职类型<span class="danger">*</span></ion-label>
|
|
|
<ion-select name="jobHuntType" id="jobHuntType" okText="确定" cancelText="取消" v-model="dataModel.jobHuntType"
|
|
@@ -42,15 +42,14 @@
|
|
|
</ion-select>
|
|
|
<!-- <ion-note slot="error">求职类型不能为空</ion-note>-->
|
|
|
</div>
|
|
|
- <div class="form-select">
|
|
|
+ <div class="form-input">
|
|
|
<ion-label>求职岗位<span class="danger">*</span></ion-label>
|
|
|
- <ion-select name="postID" id="postID" okText="确定" cancelText="取消" v-model="dataModel.postID"
|
|
|
- interface="action-sheet" placeholder="请选择求职岗位" style="width:100%;text-align: left;">
|
|
|
- <ion-select-option v-for=" (it,key) in allPostList" :key="key" :value="it.postID">
|
|
|
- {{ it.postName }}
|
|
|
- </ion-select-option>
|
|
|
- </ion-select>
|
|
|
-<!-- <ion-note slot="error">求职岗位不能为空</ion-note>-->
|
|
|
+ <ion-input placeholder="请选择岗位" label-placement="stacked"
|
|
|
+ v-model="dataModel.professionName" style="float:left;width: 88%;" >
|
|
|
+ </ion-input>
|
|
|
+ <picker :ProfessionID="dataModel.professionID" aria-disabled="false"
|
|
|
+ @SetProfessionID="onSetProfessionID" style="float:left;width: 10%;"></picker>
|
|
|
+ <!-- <ion-note slot="error">请选择求职岗位</ion-note>-->
|
|
|
</div>
|
|
|
<div class="form-select">
|
|
|
<ion-label>人才类型<span class="danger">*</span></ion-label>
|
|
@@ -65,11 +64,11 @@
|
|
|
<div class="form-input">
|
|
|
<ion-label>月薪要求(元)<span class="danger">*</span></ion-label>
|
|
|
<div>
|
|
|
- <ion-input placeholder="请输入最低薪资" label-placement="stacked" style="float:left;width:40%;"
|
|
|
+ <ion-input placeholder="请输入最低薪资" label-placement="stacked" style="float:left;width:42%;"
|
|
|
v-model="dataModel.minSalary" class="custom">
|
|
|
</ion-input>
|
|
|
<ion-label style="float:left;width:5%;padding-top: 8px;">至</ion-label>
|
|
|
- <ion-input placeholder="请输入最高薪资" label-placement="stacked" style="float:left;width:40%;"
|
|
|
+ <ion-input placeholder="请输入最高薪资" label-placement="stacked" style="float:left;width:42%;"
|
|
|
v-model="dataModel.maxSalary" class="custom">
|
|
|
</ion-input>
|
|
|
<!-- <ion-note slot="error">月薪要求不能为空</ion-note>-->
|
|
@@ -89,7 +88,7 @@
|
|
|
<div class="form-input">
|
|
|
<ion-label>期望工作地区<span class="danger">*</span></ion-label>
|
|
|
<ion-input name="areaWork" id="areaWork" style="text-align: left;" class="custom"
|
|
|
- placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
|
|
|
+ placeholder="请输入期望工作地区" v-model="dataModel.areaWork" ></ion-input>
|
|
|
<!-- <ion-note slot="error">期望工作地区不能为空</ion-note>-->
|
|
|
</div>
|
|
|
<div class="form-input">
|
|
@@ -133,9 +132,9 @@ import {required} from "@vuelidate/validators";
|
|
|
import {useVuelidate} from "@vuelidate/core";
|
|
|
import {getJobHuntByID,saveJobHunt} from "@/api/jobHuntInfo";
|
|
|
import {getSysDictionaryList} from '@/api/system/dictionary';
|
|
|
-import {getPostList} from '@/api/post'
|
|
|
import {alertController, onIonViewDidEnter} from "@ionic/vue";
|
|
|
import dayjs from "dayjs";
|
|
|
+import Picker from "@/components/picker.vue";
|
|
|
|
|
|
interface huntModel {
|
|
|
dataModel: any;
|
|
@@ -156,6 +155,7 @@ export class ExampleComponent {
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'jobHuntEdit',
|
|
|
+ components:{Picker},
|
|
|
setup() {
|
|
|
const router = useRouter();
|
|
|
const route = useRoute();
|
|
@@ -171,16 +171,15 @@ export default defineComponent({
|
|
|
{title: '工作经验', desc: '完善工作经验', val: 3},
|
|
|
{title: '求职意向', desc: '个人求职意向', val: 4}
|
|
|
]);
|
|
|
- const allPostList = ref([]);
|
|
|
const jobHuntTypeList = ref<SelectProps[]>([]);
|
|
|
const jobUserTypeList = ref<SelectProps[]>([]);
|
|
|
const workYearTypeList = ref<SelectProps[]>([]);
|
|
|
const jobHuntData = reactive<huntModel>({dataModel:{
|
|
|
jobUserID:null,
|
|
|
- workName:null,
|
|
|
jobHuntType:null,
|
|
|
jobUserType:null,
|
|
|
- postID:null,
|
|
|
+ professionID:null,
|
|
|
+ professionName:null,
|
|
|
minSalary:null,
|
|
|
maxSalary:null,
|
|
|
workYear:null,
|
|
@@ -190,10 +189,10 @@ export default defineComponent({
|
|
|
}});
|
|
|
const huntDataRule = computed(()=>{
|
|
|
return {dataModel:{
|
|
|
- workName:{required},
|
|
|
jobHuntType:{required},
|
|
|
jobUserType:{required},
|
|
|
- postID:{required},
|
|
|
+ professionID:{required},
|
|
|
+ professionName:{required},
|
|
|
minSalary:{required},
|
|
|
maxSalary:{required},
|
|
|
workYear:{required},
|
|
@@ -218,11 +217,7 @@ export default defineComponent({
|
|
|
await alert.present();
|
|
|
}
|
|
|
|
|
|
- const getAllPostList = async function(){
|
|
|
- const allPostResult :any = await getPostList({pageIndex:1,pageSize:10000});
|
|
|
- allPostList.value = allPostResult.list;
|
|
|
- console.log("allPostList",allPostList.value);
|
|
|
- }
|
|
|
+
|
|
|
const getJobHuntTypeList = async function(){
|
|
|
const data :any = await getSysDictionaryList("JobHuntType");
|
|
|
jobHuntTypeList.value = data;
|
|
@@ -236,6 +231,10 @@ export default defineComponent({
|
|
|
workYearTypeList.value = data;
|
|
|
}
|
|
|
|
|
|
+ const onSetProfessionID = (data: any)=>{
|
|
|
+ jobHuntData.dataModel.professionID = data.value;
|
|
|
+ jobHuntData.dataModel.professionName = data.text;
|
|
|
+ }
|
|
|
const onSave = async function (){
|
|
|
const isFormCorrect = await huntDataValid.value.$validate();
|
|
|
if(!isFormCorrect){
|
|
@@ -257,7 +256,6 @@ export default defineComponent({
|
|
|
|
|
|
const loadData = async (jobHuntID: any,jobUserID:any,status:any) => {
|
|
|
loading.value = true;
|
|
|
- await getAllPostList();
|
|
|
await getJobHuntTypeList();
|
|
|
await getJobUserTypeList();
|
|
|
await getWorkYearTypeList();
|
|
@@ -286,11 +284,11 @@ export default defineComponent({
|
|
|
editForm,
|
|
|
curStepData,
|
|
|
stepList,
|
|
|
- allPostList,
|
|
|
jobUserTypeList,
|
|
|
jobHuntTypeList,
|
|
|
workYearTypeList,
|
|
|
setOpen,
|
|
|
+ onSetProfessionID,
|
|
|
onSave,
|
|
|
onCancel,
|
|
|
loadData,
|