Browse Source

岗位选择

lizeyu 10 months ago
parent
commit
cdf8866072

+ 0 - 2
h5app/src/plugins/ionic.ts

@@ -58,7 +58,6 @@ import type {App} from 'vue';
 import BFileList from "@/components/fileList.vue"
 import BApproveList from "@/components/ApproveList.vue";
 import Approve from "@/components/Approve.vue"
-import PostSelection from "@/components/postSelection.vue";
 import BEmpty from "@/components/empty.vue";
 
 export function setupIonic(app: App<Element>) {
@@ -112,6 +111,5 @@ export function setupIonic(app: App<Element>) {
         .component('BFileList', BFileList)
         .component('BApproveList', BApproveList)
         .component('Approve', Approve)
-        .component('PostSelection', PostSelection)
         .component('BEmpty', BEmpty);
 }

+ 20 - 8
h5app/src/views/pages/company/editPost.vue

@@ -17,14 +17,14 @@
           <div class="form-input">
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
             <div>
-              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
-              v-model="dataModel.professionName" class="custom" readonly >
+              <ion-input placeholder="请输入岗位" label-placement="stacked" style="float: left;width:78%;"
+                         @click="onOpenPost" v-model="dataModel.professionName" class="custom" readonly >
               </ion-input>
               <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
-                <post-selection  :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+                <post-selection-like ref="refPostSelectionLike" @resultInfo="onResultInfo"></post-selection-like>
               </ion-item>
             </div>
-            <ion-note v-show="isCommit&&v$.dataModel.professionID.$error" class="danger" >请选择岗位</ion-note>
+            <ion-note v-show="isCommit&&v$.dataModel.professionName.$error" class="danger" >请选择岗位</ion-note>
           </div>
           <div style="width: 100%;overflow: hidden;"></div>
           <div class="form-input">
@@ -32,7 +32,7 @@
             <ion-input placeholder="请输入招聘数量" label-placement="stacked" :clear-input="true"
                        v-model="dataModel.recruitCount" class="custom" @ionBlur="recruitCountBlur">
             </ion-input>
-            <ion-note v-show="isCommit&&v$.dataModel.professionName.$error" class="danger"  >请输入招聘数量</ion-note>
+            <ion-note v-show="isCommit&&v$.dataModel.recruitCount.$error" class="danger"  >请输入招聘数量</ion-note>
           </div>
           <div class="form-input">
           <ion-label>招聘日期<span class="danger">*</span></ion-label>
@@ -197,7 +197,7 @@ import {getCompanyById} from "@/api/company";
 import {required} from "@vuelidate/validators";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import dayjs from "dayjs";
-import PostSelection from "@/components/postSelection.vue";
+import PostSelectionLike from "@/components/postSelectionLike.vue";
 import {useUserStore} from "@/store/modules/user";
 
 interface postModel {
@@ -206,7 +206,7 @@ interface postModel {
 
 export default defineComponent({
   name: 'PostEdit',
-  components:{PostSelection},
+  components:{PostSelectionLike},
   setup() {
     const router = useRouter();
     const route = useRoute();
@@ -244,7 +244,6 @@ export default defineComponent({
       return {
         dataModel: {
           professionName: {required},
-          professionID:{required},
           recruitCount: {required},
           startTime: {required},
           endTime: {required},
@@ -260,6 +259,7 @@ export default defineComponent({
     const workYearList = ref([]);
     const cultureRankList = ref([]);
     const workNatureList = ref([]);
+    const refPostSelectionLike = ref();
 
     const presentAlert = async (message: string) => {
       const alert = await alertController.create({
@@ -295,6 +295,15 @@ export default defineComponent({
       }
     }
 
+    const onResultInfo = (data: any)=>{
+      formState.dataModel.professionID = data.value;
+      formState.dataModel.professionName = data.text;
+    }
+
+    const onOpenPost = () => {
+      refPostSelectionLike.value.onOpen();
+    }
+
     const back = () => {
       router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
     }
@@ -449,6 +458,9 @@ export default defineComponent({
       workNatureList,
       cultureRankList,
       v$,
+      refPostSelectionLike,
+      onOpenPost,
+      onResultInfo,
       recruitCountBlur,
       onIsTrailChange,
       onSetProfessionID,

+ 17 - 5
h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue

@@ -36,10 +36,10 @@
             <ion-label>求职岗位<span class="danger">*</span></ion-label>
             <div>
               <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
-                         v-model="dataModel.professionName" class="custom" readonly >
+                         @click="onOpenPost" v-model="dataModel.professionName" class="custom" readonly >
               </ion-input>
               <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
-                <post-selection :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+                <post-selection-like ref="refPostSelectionLike" @resultInfo="onResultInfo"></post-selection-like>
               </ion-item>
             </div>
             <!--            <ion-note slot="error">请选择求职岗位</ion-note>-->
@@ -137,7 +137,7 @@ import {getJobHuntByID,saveJobHunt} from "@/api/jobHuntInfo";
 import {getSysDictionaryList} from '@/api/system/dictionary';
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import dayjs from "dayjs";
-import PostSelection from "@/components/postSelection.vue";
+import PostSelectionLike from "@/components/postSelectionLike.vue";
 import {get} from "@/api/common";
 
 interface huntModel {
@@ -159,7 +159,7 @@ export class ExampleComponent {
 
 export default defineComponent({
   name: 'jobHuntEdit',
-  components:{PostSelection},
+  components:{PostSelectionLike},
   setup() {
     const router = useRouter();
     const route = useRoute();
@@ -197,7 +197,6 @@ export default defineComponent({
       return {dataModel:{
           jobHuntType:{required},
           jobUserType:{required},
-          professionID:{required},
           professionName:{required},
           minSalary:{required},
           maxSalary:{required},
@@ -206,6 +205,7 @@ export default defineComponent({
           inDate:{required}
         }}});
     const huntDataValid = useVuelidate(huntDataRule,jobHuntData);
+    const refPostSelectionLike = ref();
 
     const setOpen = (isOpen: boolean) => {
       loading.value = isOpen;
@@ -298,6 +298,15 @@ export default defineComponent({
 
     }
 
+    const onResultInfo = (data: any)=>{
+      jobHuntData.dataModel.professionID = data.value;
+      jobHuntData.dataModel.professionName = data.text;
+    }
+
+    const onOpenPost = () => {
+      refPostSelectionLike.value.onOpen();
+    }
+
     const onCancel = () => {
       router.push({path: './,loginUserId:curStepData.value.loginUserID', query: {reload:1,jobUserID: jobHuntData.dataModel.jobUserID,status:4,loginUserId:curStepData.value.loginUserID}});
     }
@@ -345,6 +354,9 @@ export default defineComponent({
       onSave,
       onCancel,
       loadData,
+      refPostSelectionLike,
+      onOpenPost,
+      onResultInfo,
       route,
       router,
       loading,

+ 18 - 5
h5app/src/views/pages/jobUserInfo/postEdit.vue

@@ -18,11 +18,11 @@
           <div class="form-input">
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
             <div>
-              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
-                         v-model="dataModel.professionName" class="custom" readonly >
+              <ion-input placeholder="请输入岗位" label-placement="stacked" style="float: left;width:78%;"
+                         @click="onOpenPost" v-model="dataModel.professionName" class="custom" readonly >
               </ion-input>
               <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
-                <post-selection  :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+                <post-selection-like ref="refPostSelectionLike" @resultInfo="onResultInfo"></post-selection-like>
               </ion-item>
             </div>
 <!--            <ion-note v-show="isCommit&&v$.dataModel.professionID.$error" class="danger" >请选择岗位</ion-note>-->
@@ -197,7 +197,7 @@ import {getPostByID,savePost} from "@/api/post";
 import {required} from "@vuelidate/validators";
 import {getSysDictionaryList} from "@/api/system/dictionary";
 import dayjs from "dayjs";
-import postSelection from "@/components/postSelection.vue";
+import PostSelectionLike from "@/components/postSelectionLike.vue";
 import {getCompanyById} from "@/api/company";
 
 interface StepParams{
@@ -206,8 +206,9 @@ interface StepParams{
 
 export default defineComponent({
   name: 'PostEdit',
-  components:{postSelection},
+  components:{PostSelectionLike},
   setup() {
+    const refPostSelectionLike = ref();
     const router = useRouter();
     const route = useRoute();
     const isShow = ref<any>(false);
@@ -382,6 +383,15 @@ export default defineComponent({
       })
     }
 
+    const onResultInfo = (data: any)=>{
+      formState.dataModel.professionID = data.value;
+      formState.dataModel.professionName = data.text;
+    }
+
+    const onOpenPost = () => {
+      refPostSelectionLike.value.onOpen();
+    }
+
     const back = () => {
       router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 2}});
     }
@@ -442,6 +452,9 @@ export default defineComponent({
       cultureRankList,
       workNatureList,
       v$,
+      refPostSelectionLike,
+      onOpenPost,
+      onResultInfo,
       recruitCountBlur,
       onSetProfessionID,
       onSave,

+ 18 - 5
h5app/src/views/pages/jobhunt/jobHuntEdit.vue

@@ -35,11 +35,11 @@
           <div class="form-input">
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
             <div>
-              <ion-input placeholder="请选择岗位" label-placement="stacked" style="float: left;width:78%;"
-                         v-model="dataModel.professionName" class="custom" readonly >
+              <ion-input placeholder="请输入岗位" label-placement="stacked" style="float: left;width:78%;"
+                         @click="onOpenPost" v-model="dataModel.professionName" class="custom" readonly >
               </ion-input>
               <ion-item style="width:22%;float: right;padding:0px;margin: 0px;">
-                <post-selection :ProfessionID="dataModel.professionID" @SetProfessionID="onSetProfessionID"></post-selection>
+                <post-selection-like ref="refPostSelectionLike" @resultInfo="onResultInfo"></post-selection-like>
               </ion-item>
             </div>
             <!--            <ion-note slot="error">请选择求职岗位</ion-note>-->
@@ -137,7 +137,7 @@ import {getJobHuntByID,saveJobHunt} from "@/api/jobHuntInfo";
 import {getSysDictionaryList} from '@/api/system/dictionary';
 import {alertController, onIonViewDidEnter} from "@ionic/vue";
 import dayjs from "dayjs";
-import PostSelection from "@/components/postSelection.vue";
+import PostSelectionLike from "@/components/postSelectionLike.vue";
 import {useUserStore} from "@/store/modules/user";
 import {get} from "@/api/common";
 
@@ -160,7 +160,7 @@ export class ExampleComponent {
 
 export default defineComponent({
   name: 'jobHuntEdit',
-  components:{PostSelection},
+  components:{PostSelectionLike},
   setup() {
     const router = useRouter();
     const route = useRoute();
@@ -181,6 +181,7 @@ export default defineComponent({
     const jobUserTypeList = ref<SelectProps[]>([]);
     const workYearTypeList = ref<SelectProps[]>([]);
     const workAreaList = ref([]);
+    const refPostSelectionLike = ref();
 
     const jobHuntData = reactive<huntModel>({dataModel:{
         jobUserID:null,
@@ -300,6 +301,15 @@ export default defineComponent({
       }
     }
 
+    const onResultInfo = (data: any)=>{
+      jobHuntData.dataModel.professionID = data.value;
+      jobHuntData.dataModel.professionName = data.text;
+    }
+
+    const onOpenPost = () => {
+      refPostSelectionLike.value.onOpen();
+    }
+
     const onCancel = () => {
       router.push({path: './edit', query: {reload:1,jobUserID: jobHuntData.dataModel.jobUserID,status:4}});
     }
@@ -347,6 +357,9 @@ export default defineComponent({
       onSave,
       onCancel,
       loadData,
+      refPostSelectionLike,
+      onOpenPost,
+      onResultInfo,
       route,
       router,
       loading,

+ 11 - 11
h5app/src/views/pages/post/edit.vue

@@ -31,9 +31,9 @@
             <ion-label>岗位名称<span class="danger">*</span></ion-label>
             <ion-item :class="[v$.dataModel.professionName.$error?'ion-invalid':'ion-valid']">
               <ion-input readonly placeholder="请输入岗位" label-placement="stacked" :clear-input="true"
-                        @click="onOpenPost"  v-model="dataModel.professionName" class="custom">
+                        @click="onOpenPost" v-model="dataModel.professionName" class="custom">
               </ion-input>
-              <post-selection-like ref="refPOstSelectionLike" @resultInfo="onResultInfo"></post-selection-like>
+              <post-selection-like ref="refPostSelectionLike" @resultInfo="onResultInfo"></post-selection-like>
               <ion-note slot="error">请输入岗位</ion-note>
             </ion-item>
           </div>
@@ -199,7 +199,6 @@ import {getSysDictionaryList} from "@/api/system/dictionary";
 import {getCompanyBySiteID} from "@/api/company";
 import {useUserStore} from '@/store/modules/user';
 import dayjs from "dayjs";
-// import PostSelection from "@/components/postSelection.vue";
 import PostSelectionLike from "@/components/postSelectionLike.vue";
 
 export default defineComponent({
@@ -253,7 +252,7 @@ export default defineComponent({
     const workYearList = ref([]);
     const cultureRankList = ref([]);
     const companyList = ref([]);
-    const refPOstSelectionLike = ref();
+    const refPostSelectionLike = ref();
 
     const presentAlert = async (message: string) => {
       const alert = await alertController.create({
@@ -265,10 +264,6 @@ export default defineComponent({
       });
       await alert.present();
     }
-    const onResultInfo = (data: any)=>{
-      formState.dataModel.professionID = data.value;
-      formState.dataModel.professionName = data.text;
-    }
     const onSave = async function () {
       const isFormCorrect = await v$.value.$validate();
       if (!isFormCorrect) {
@@ -282,8 +277,13 @@ export default defineComponent({
       })
     }
 
+    const onResultInfo = (data: any)=>{
+      formState.dataModel.professionID = data.value;
+      formState.dataModel.professionName = data.text;
+    }
+
     const onOpenPost = () => {
-      refPOstSelectionLike.value.onOpen();
+      refPostSelectionLike.value.onOpen();
     }
 
     const back = () => {
@@ -327,8 +327,6 @@ export default defineComponent({
       chevronDownOutline,
       chevronUpOutline,
       arrowBackOutline,
-      refPOstSelectionLike,
-      onOpenPost,
       route,
       router,
       isShow,
@@ -338,6 +336,8 @@ export default defineComponent({
       workYearList,
       cultureRankList,
       v$,
+      refPostSelectionLike,
+      onOpenPost,
       onResultInfo,
       onSave,
       back,