Ver Fonte

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java
#	src/main/resources/mapping/cquery/PostCQuery.xml
zhangying há 10 meses atrás
pai
commit
d119fd0b19
27 ficheiros alterados com 205 adições e 398 exclusões
  1. 2 2
      h5app/src/router/index.ts
  2. 3 1
      h5app/src/views/pages/jobUserInfo/companyEdit.vue
  3. 1 0
      h5app/src/views/pages/jobUserInfo/educationEdit.vue
  4. 1 0
      h5app/src/views/pages/jobUserInfo/experienceEdit.vue
  5. 1 0
      h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue
  6. 15 5
      h5app/src/views/pages/jobUserInfo/postEdit.vue
  7. 2 2
      h5app/src/views/pages/jobUserInfo/postList.vue
  8. 3 1
      h5app/src/views/pages/jobUserInfo/userEdit.vue
  9. 1 1
      h5app/src/views/pages/jobhunt/recommend/list.vue
  10. 2 3
      h5app/src/views/pages/jobhunt/recommend/recommend.vue
  11. 85 354
      h5app/src/views/pages/post/detail.vue
  12. 0 3
      h5app/src/views/pages/post/edit.vue
  13. 8 8
      h5app/src/views/pages/post/list.vue
  14. 7 4
      h5app/src/views/pages/recommendMgt/detail.vue
  15. 2 2
      h5app/src/views/pages/recommendMgt/list.vue
  16. 8 0
      src/main/java/com/hz/employmentsite/config/WebConfiguration.java
  17. 7 1
      src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java
  18. 8 1
      src/main/java/com/hz/employmentsite/controller/companyService/PostController.java
  19. 8 1
      src/main/java/com/hz/employmentsite/controller/jobUserManager/EducationController.java
  20. 8 1
      src/main/java/com/hz/employmentsite/controller/jobUserManager/ExperienceController.java
  21. 8 1
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java
  22. 14 7
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java
  23. 2 0
      src/main/java/com/hz/employmentsite/vo/companyService/CompanyVo.java
  24. 2 0
      src/main/java/com/hz/employmentsite/vo/companyService/PostVo.java
  25. 2 0
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java
  26. 2 0
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobUserVo.java
  27. 3 0
      src/main/resources/mapping/cquery/PostCQuery.xml

+ 2 - 2
h5app/src/router/index.ts

@@ -58,8 +58,8 @@ const routes: Array<RouteRecordRaw> = [
                 component: () => import('@/views/pages/jobhunt/recommend/list.vue')
             },
             {
-                path: 'tabMain/jobhunt/recommend/recommend',
-                component: () => import('@/views/pages/jobhunt/recommend/recommend.vue')
+                path: 'tabMain/jobhunt/recommend/recommendPost',
+                component: () => import('@/views/pages/jobhunt/recommend/recommendPost.vue')
             },
             {
                 path: 'tabMain/recommendMgt/list',

+ 3 - 1
h5app/src/views/pages/jobUserInfo/companyEdit.vue

@@ -325,7 +325,8 @@ export default defineComponent({
         insuredCount: null,
         businScope: null,
         companyDesc: null,
-        openId:null
+        openId:null,
+        loginUserID:''
       }});
     const stepList = ref([
       {title: '基础信息', desc: '企业基础信息', val: 1},
@@ -522,6 +523,7 @@ export default defineComponent({
       companyCodeValidate();
       inputDataValidate();
       if(isAllowCommit.value){
+        formState.dataModel.loginUserID = curStepData.value.loginUserID;
         saveCompanyInfo(formState.dataModel).then(result => {
           if (result) {
             router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:2,userID:curStepData.value.loginUserID,openId:curStepData.value.openID}});

+ 1 - 0
h5app/src/views/pages/jobUserInfo/educationEdit.vue

@@ -167,6 +167,7 @@ export default defineComponent({
         await presentAlert("请填写完整的信息!");
         return null;
       }
+      educationData.dataModel.loginUserID = curStepData.value.loginUserID;
       saveEducation(educationData.dataModel).then(result => {
         if (result) {
           router.push({path: './userEdit', query: {reload:1,jobUserID: educationData.dataModel.jobuserID,status:2,loginUserId:curStepData.value.loginUserID}});

+ 1 - 0
h5app/src/views/pages/jobUserInfo/experienceEdit.vue

@@ -165,6 +165,7 @@ export default defineComponent({
         await presentAlert("请填写完整的信息!");
         return null;
       }
+      experienceData.dataModel.loginUserID = curStepData.value.loginUserID;
       saveExperience(experienceData.dataModel).then(result => {
         if (result) {
           router.push({path: './userEdit', query: {reload:1,jobUserID: experienceData.dataModel.jobuserID,status:3,loginUserId:curStepData.value.loginUserID}});

+ 1 - 0
h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue

@@ -245,6 +245,7 @@ export default defineComponent({
         await presentAlert("请填写完整的信息!");
         return null;
       }
+      jobHuntData.dataModel.loginUserID = curStepData.value.loginUserID;
       saveJobHunt(jobHuntData.dataModel).then(result => {
         if (result) {
           router.push({path: './userEdit', query: {reload:1,jobUserID: jobHuntData.dataModel.jobUserID,status:4,loginUserId:curStepData.value.loginUserID}});

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

@@ -209,6 +209,10 @@ import {getSysDictionaryList} from "@/api/system/dictionary";
 import dayjs from "dayjs";
 import postSelection from "@/components/postSelection.vue";
 
+interface StepParams{
+  loginUserID: string,
+}
+
 export default defineComponent({
   name: 'PostEdit',
   components:{postSelection},
@@ -243,7 +247,8 @@ export default defineComponent({
         contactMobile:null,
         contactEmail:null,
         tagID:null,
-        bonus:null
+        bonus:null,
+        loginUserID:''
       }});
     const rules = computed(() => {
       return {
@@ -265,6 +270,9 @@ export default defineComponent({
     const cultureRankList = ref([]);
     const workNatureList = ref([]);
     const postTagList = ref([]);
+    const curStepData = ref<StepParams>({
+      loginUserID:""
+    });
 
     const presentAlert = async (message: string) => {
       const alert = await alertController.create({
@@ -364,6 +372,7 @@ export default defineComponent({
         await presentAlert('请输入完整信息!');
         return null;
       }
+      formState.dataModel.loginUserID = curStepData.value.loginUserID;
       savePost(formState.dataModel).then(result=>{
         if(result){
            router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
@@ -396,8 +405,9 @@ export default defineComponent({
       postTagList.value = data;
     }
 
-    const loadData = async (postID: any,companyID:any) => {
+    const loadData = async (postID: any,companyID:any,loginUserID:any) => {
       isCommit.value =false;
+      curStepData.value.loginUserID = loginUserID;
       await getWorkYearList();
       await getCultureRankList();
       await getWorkNationList();
@@ -409,14 +419,14 @@ export default defineComponent({
       console.log("初始化岗位信息",formState.dataModel);
     };
 
-    const reload = (postID: any,companyID:any) => {
+    const reload = (postID: any,companyID:any,loginUserID:any) => {
       formState.dataModel.recruitCount = null;
-      loadData(postID,companyID);
+      loadData(postID,companyID,loginUserID);
     }
 
     onIonViewDidEnter(() => {
       if (route.query.reload)
-        reload(route.query.id,route.query.companyID);
+        reload(route.query.id,route.query.companyID,route.query.loginUserID);
     });
 
     return {

+ 2 - 2
h5app/src/views/pages/jobUserInfo/postList.vue

@@ -225,10 +225,10 @@ export default defineComponent({
     }
 
     const onAdd = () => {
-      router.push({path: './postEdit', query: {reload:1,id: null,companyID:pageParams.companyID}});
+      router.push({path: './postEdit', query: {reload:1,id: null,companyID:pageParams.companyID,loginUserID:curStepData.value.loginUserID}});
     };
     const onEdit = (postID:any) => {
-      router.push({path: './postEdit', query: {reload:1,id:postID,companyID:pageParams.companyID}});
+      router.push({path: './postEdit', query: {reload:1,id:postID,companyID:pageParams.companyID,loginUserID:curStepData.value.loginUserID}});
     };
     const onBack = () => {
         router.push({path: './companyEdit', query: {reload:1,id:pageParams.companyID,siteUserId:curStepData.value.loginUserID}});

+ 3 - 1
h5app/src/views/pages/jobUserInfo/userEdit.vue

@@ -530,7 +530,8 @@ export default defineComponent({
         email:'',
         hobby:null,
         personalSkills:null,
-        openId:null
+        openId:null,
+        loginUserID:''
       }});
     const pageParams = reactive({
       pageIndex: 1,
@@ -684,6 +685,7 @@ export default defineComponent({
         }
         inputDataValidate();
         if(isAllowCommit.value){
+          baseInfoData.baseData.loginUserID = curStepData.value.loginUserID;
           baseInfoSave(baseInfoData.baseData).then(result => {
             if (result) {
               router.push({path: '/jobUserInfo/userEdit', query: {reload:0,jobUserID: baseInfoData.baseData.jobUserID,status:2,loginUserId:curStepData.value.loginUserID}});

+ 1 - 1
h5app/src/views/pages/jobhunt/recommend/list.vue

@@ -123,7 +123,7 @@ export default defineComponent({
 
     const onRecommendJob = (item: any) => {
       router.push({
-        path: './recommend',
+        path: './recommendPost',
         query: {
           reload: 1,
           professionID: item.professionID,

+ 2 - 3
h5app/src/views/pages/jobhunt/recommend/recommend.vue

@@ -224,7 +224,7 @@ export default defineComponent({
     }
 
     const onBack = () => {
-      router.go(-1);
+      router.push({path: './list', query: {}});
     }
 
     const reload = () => {
@@ -254,6 +254,7 @@ export default defineComponent({
     }
 
     onIonViewDidEnter(() => {
+      getRecommendTypeList();
       reloadSearchParams();
       reload();
     });
@@ -279,8 +280,6 @@ export default defineComponent({
       onPopoverConfirm,
       onRestRecommendWhere,
     }
-  }, mounted() {
-    this.getRecommendTypeList()
   }
 });
 </script>

+ 85 - 354
h5app/src/views/pages/post/detail.vue

@@ -1,387 +1,118 @@
 <template>
-  <ion-page  class="list-page">
-    <ion-header  class="header-theme2">
+  <ion-page class="list-page">
+    <ion-header class="header-theme2">
       <ion-toolbar>
         <ion-buttons slot="start">
-          <ion-icon :icon="arrowBackOutline" @click="onBack" style="padding-left:10px;width:24px;height:24px;"></ion-icon>
+          <ion-icon :icon="arrowBackOutline" @click="onBack"></ion-icon>
         </ion-buttons>
-        <ion-title>岗位推荐</ion-title>
+        <ion-title>岗位详情信息</ion-title>
       </ion-toolbar>
     </ion-header>
     <ion-content>
-      <ion-list>
-        <ion-grid style="border:none;border-bottom: 1px solid black;margin:0px 15px 5px 15px;padding:0px;">
-            <ion-row>
-              <ion-col size="8">
-                  <ion-label style="font-size:20px;font-weight:bold;">{{ dataModel.name }}</ion-label>
-                  <p style="font-size: 14px;">
-                    意向岗位:{{ dataModel.postNames }}
-                  </p>
-              </ion-col>
-              <ion-col size="4" style="display:flex;align-items: center;justify-content: right;overflow: hidden;">
-                <ion-label>
-                  <div>
-                    <ion-label style="text-align:left;color:#3a7be0;">◆</ion-label>
-                    <ion-label>正在跟进</ion-label>
-                  </div>
-                  <p style="margin-top: 10px;">
-                    已推荐数量:{{ dataModel.recommendedCount }}
-                  </p>
-                </ion-label>
-              </ion-col>
-            </ion-row>
-          </ion-grid>
-      </ion-list>
-      <ion-item style="border: 1px solid #a0a0a0;margin:0px 10px 10px 10px;border-radius: 12px;"
-                v-for="(record,key) in recommendPostList"  :key="key" detail>
-        <ion-row style="width: 100%;">
-          <ion-col size="10">
-            <ion-grid>
-              <ion-row>
-                <ion-col>
-                  <ion-label style="display: flex;justify-content: space-between;">
-                    <ion-text>
-                      {{ record.postName }}
-                    </ion-text>
-                  </ion-label>
-                </ion-col>
-              </ion-row>
-              <ion-row>
-                <ion-col>
-                  <ion-label>
-                    <p>
-                      {{ record.companyName }}
-                    </p>
-                  </ion-label>
-                </ion-col>
-              </ion-row>
-              <ion-row>
-                <ion-col>
-                  <ion-label style="display: flex;justify-content: space-between;">
-                    <p>
-                      参保人数:{{ record.insuredCount }}人
-                    </p>
-                    <p>
-                      招聘人数:{{ record.recruitCount }}人
-                    </p>
-                  </ion-label>
-                </ion-col>
-              </ion-row>
-            </ion-grid>
-          </ion-col>
-          <ion-col size="2" style="display: flex;align-items: center;justify-content: right;">
-            <a @click="onCommend(record)" style="font-size: 13px;">{{ record.isRead==true?"已推荐":"推荐" }}</a>
-          </ion-col>
-        </ion-row>
-      </ion-item>
-      <b-empty v-if="recommendPostList.length<=0" :loading="formStatus.loading"/>
-      <ion-infinite-scroll  threshold="100px" @ionInfinite="onScroll($event)">
-        <ion-infinite-scroll-content
-            :loadingText="formStatus.total>pageParams.pageIndex*pageParams.pageSize?'正在加载...':'暂无更多'"
-            loadingSpinner="bubbles">
-        </ion-infinite-scroll-content>
-      </ion-infinite-scroll>
-    </ion-content>
-    <ion-footer>
-      <ion-toolbar>
-        <div slot="end">
-          <ion-button shape="round" expand="block" @click="onAllRecommend">全部推荐</ion-button>
+      <div class="bw-vue-form">
+        <div class="form-title">岗位详情</div>
+        <div class="form-detail">
+          <ion-label>企业</ion-label>
+          <ion-text>{{ dataModel.companyName }}</ion-text>
         </div>
-      </ion-toolbar>
-    </ion-footer>
+        <div class="form-detail">
+          <ion-label>岗位名称</ion-label>
+          <ion-text>{{ dataModel.professionName }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>招聘人数</ion-label>
+          <ion-text>{{ dataModel.recruitCount }}</ion-text>
+           </div>
+        <div class="form-detail">
+          <ion-label>招聘日期</ion-label>
+          <ion-text>{{ dayjs(dataModel.startTime).format("YYYY-MM-DD") }} - {{ dayjs(dataModel.endTime).format("YYYY-MM-DD") }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>招聘地点</ion-label>
+          <ion-text>{{ dataModel.jobPlace }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>岗位月薪(元)</ion-label>
+          <ion-text>{{ dataModel.minSalary }}至{{ dataModel.maxSalary }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>是否有试用期</ion-label>
+          <ion-text>{{ dataModel.isTrail ? '是':'否' }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>试用期(月)</ion-label>
+          <ion-text>{{ dataModel.trailMonths }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>试用期月薪(元)</ion-label>
+          <ion-text>{{ dataModel.trailMinSalary }}至{{ dataModel.maxSalary }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>工作年限要求</ion-label>
+          <ion-text>{{ dataModel.workYearStr }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>学历要求</ion-label>
+          <ion-text>{{ dataModel.cultureLevelName }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>福利待遇</ion-label>
+          <ion-text>{{ dataModel.welfare }}</ion-text>
+        </div>
+        <div class="form-detail">
+          <ion-label>其他要求</ion-label>
+          <ion-text>{{ dataModel.postDesc }}</ion-text>
+        </div>
+      </div>
+    </ion-content>
   </ion-page>
 </template>
+
 <script lang="ts">
-import {arrowBackOutline,addCircleOutline} from 'ionicons/icons';
-import {reactive,defineComponent,ref} from "vue";
-import {useRoute, useRouter} from "vue-router";
-import {getJobUserById,getUserHuntList} from "@/api/jobUserInfo";
-import {getCommendPostList,saveCommendPost,saveCommendPostList} from "@/api/post";
-import {alertController, onIonViewDidEnter} from "@ionic/vue";
+import {defineComponent, reactive, ref, toRefs} from 'vue';
 import dayjs from "dayjs";
-import {useUserStore} from "@/store/modules/user";
-
-interface SelectProps {
-  name: string,
-  value: string
-}
-interface PostModel{
-  postName: string,
-  postID: number
-}
-
-interface UserInfoModel {
-  jobUserID:string,
-  name:string,
-  postNames:string,
-  recommendedCount:number
-}
+import {useRoute, useRouter} from "vue-router";
+import {arrowBackOutline} from 'ionicons/icons';
+import {getPostByID} from '@/api/post/index'
+import {onIonViewDidEnter} from "@ionic/vue";
 
-interface RecommendModel{
-  recommendID:string,
-  jobUserID:string,
-  postID:string,
-  postName:string,
-  companyName:string,
-  insuredCount:number,
-  recruitCount:number,
-  isRead:boolean
+interface FormData{
+  dataModel:any
 }
 
 export default defineComponent({
-  name: 'postDetail',
+  name: "PostDetail",
   setup() {
+    const loading = ref(true);
+    const formData = reactive<FormData>({
+      dataModel: {}
+    });
     const router = useRouter();
     const route = useRoute();
-    const curUserID = ref("");
-    const editForm = ref();
-    const commendStr = ref("推荐");
-    const dataModel = ref<UserInfoModel>({
-        jobUserID:'',
-        name:'',
-        postNames:'',
-        recommendedCount:0
-    });
-    const huntJobList = ref<PostModel[]>([]);
-    const recommendPostList = ref<RecommendModel[]>([]);
-    const pageParams = reactive({
-      pageIndex: 1,
-      pageSize: 7,
-      jobUserID:null
-    });
-    const formStatus = reactive({
-      total:0,
-      loading:false
-    });
-
-    const presentAlert = async (title:string,message: string) => {
-      const alert = await alertController.create({
-        header: title,
-        message: message,
-        buttons: [
-          '确定'
-        ],
-      });
-
-      await alert.present();
+    const loadData = async function (id: any) {
+      loading.value = true;
+      getPostByID(id).then((data) => {
+        formData.dataModel = data;
+      })
+      loading.value = false;
     }
 
     const onBack = () => {
-        router.push("./recommend");
-    }
-
-    const onCommend = async function (item:any){
-      if(item.isRead){
-        await presentAlert("提示","已推荐该岗位!");
-        return null;}
-      const saveData = {recommendID:item.recommendID,jobUserID:dataModel.value.jobUserID,postID:item.postID,isRead:1}
-      await saveCommendPost(saveData);
-      reload(dataModel.value.jobUserID);
-    }
-
-    const onAllRecommend = async function(){
-      const finallyList = ref<any[]>([]);
-      if(recommendPostList.value.length<1){
-        await presentAlert("提示:","暂无可供推荐的岗位!")
-        return null;
-      }else{
-        for(let i=0;i < recommendPostList.value.length;i++){
-          if(!recommendPostList.value[i].isRead){
-            const saveData = {recommendID:recommendPostList.value[i].recommendID,jobUserID:recommendPostList.value[i].jobUserID,postID:recommendPostList.value[i].postID,isRead:1}
-            finallyList.value.push(saveData);
-          }
-        }
-      }
-      if(finallyList.value.length>0){
-        await saveCommendPostList(finallyList.value);
-        reload(dataModel.value.jobUserID);
-      }else{
-        await presentAlert("提示:","所有岗位都已推荐给该求职人!")
-        return null;
-      }
+      router.push({path: './list', query: {}});
     }
 
-    const onScroll = (e: any) => {
-        setTimeout(() => {
-          e.target.complete();
-          if (formStatus.total  > pageParams.pageIndex * pageParams.pageSize) {
-            pageParams.pageSize += 10;
-            loadData(pageParams);
-          }
-        }, 500);
-    }
-
-    const onFinish = () => {
-      router.push("./list");
-    }
-
-    const getCurHuntList = async function(jobUserID:any){
-      const huntJobResult :any = await getUserHuntList(jobUserID);
-      huntJobList.value = huntJobResult == null? []:huntJobResult;
-      console.log("huntJobList",huntJobList.value);
-      /*处理意向岗位显示*/
-      dataModel.value.postNames = '';
-      if(huntJobList.value && huntJobList.value.length>0){
-        for(let i=0;i<huntJobList.value.length;i++){
-          if(i<huntJobList.value.length-1){
-            dataModel.value.postNames += huntJobList.value[i].postName+",";
-          }else{
-            dataModel.value.postNames += huntJobList.value[i].postName;
-          }
-        }
-      }else{
-        dataModel.value.postNames ='暂无';
-      }
-    }
-    const getCurCommendPostList = async function(searchParams:any){
-      const huntPostResult :any = await getCommendPostList(searchParams);
-      recommendPostList.value = huntPostResult.list;
-      console.log("recommendPostList",recommendPostList.value);
-    }
-    const loadData = async (jobUserID: any) => {
-      formStatus.loading = true;
-      recommendPostList.value = [];
-      /*查询求职人员信息*/
-      const loginUserInfo = useUserStore().getUserInfo;
-      curUserID.value = loginUserInfo.userID == undefined?"":loginUserInfo.userID;
-      const userInfo :any = await getJobUserById(jobUserID,curUserID.value);
-      dataModel.value = userInfo;
-      /*查询求职意向信息*/
-      await getCurHuntList(jobUserID);
-      console.log("当前dataModel",dataModel.value);
-      /*查询推荐岗位信息*/
-      pageParams.jobUserID = jobUserID;
-      await getCurCommendPostList(pageParams);
-      formStatus.total = recommendPostList.value.length;
-      formStatus.loading = false;
-    };
-
-
-    const reload = (jobUserID:any) => {
-      pageParams.pageIndex = 1;
-      loadData(jobUserID);
-    }
-
-    onIonViewDidEnter(() => {
-      if (route.query.reload)
-        reload(route.query.jobUserID);
+    onIonViewDidEnter(()=>{
+      loadData(route.query.id);
     });
 
     return {
+      ...toRefs(formData),
       arrowBackOutline,
-      addCircleOutline,
+      dayjs,
       route,
-      router,
-      editForm,
-      dataModel,
-      huntJobList,
-      recommendPostList,
-      pageParams,
-      formStatus,
-      commendStr,
-      onCommend,
-      onAllRecommend,
-      onBack,
-      onFinish,
-      onScroll,
       loadData,
-      getCurHuntList,
-      reload,
-      dayjs
+      onBack
     }
   }
 });
-</script>
-<style lang="less">
-.next-btn {
-  width: 80px;
-  border-radius: 5px;
-  background-color:#3a7be0;
-  color: #363432;
-  font-size: 14px;
-}
-
-.iconBtn{
-  width:24px;
-  height:24px;
-}
-
-.stepFlex {
-  margin: 0;
-  display: flex;
-  width: 100%;
-
-  .stepFlex-item {
-    position: relative;
-    flex: 1;
-    text-align: center;
-    margin-top: -10px;
-
-    .stepFlex-item-label {
-      padding-top: 60px;
-      font-size: 14px;
-
-      .stepFlex-item-label-title{
-        margin-top:30px;
-      }
-
-      .stepFlex-item-label-desc{
-        margin-top:5px;color: #b9b9bd;
-      }
-    }
-  }
-
-  .greenCircle {
-    top: calc(50% - 15px);
-    left: calc(50% - 4px);
-    position: absolute;
-    z-index: 2;
-    width: 10px;
-    height: 10px;
-    border-radius: 50%;
-    background-color: #31A2FE;
-  }
-
-  .now {
-    top: calc(50% - 18px);
-    left: calc(50% - 8px);
-    position: absolute;
-    z-index: 3;
-    width: 16px;
-    height: 16px;
-    border-radius: 50%;
-    background-color: #31A2FE;
-    border: 4px solid #c5e8f9;
-  }
-
-  .grayCircle {
-    top: calc(50% - 15px);
-    left: calc(50% - 4px);
-    position: absolute;
-    z-index: 2;
-    width: 10px;
-    height: 10px;
-    border-radius: 50%;
-    background-color: #ccc;
-  }
-
-  .greenLine {
-    width: 100%;
-    top: calc(50% - 11px);
-    left: calc(50% - 2px);
-    height: 2px;
-    background-color: #31A2FE;
-    position: absolute;
-  }
-
-  .grayLine {
-    height: 0;
-    border: 1px dashed #ccc;
-    width: 100%;
-    top: calc(50% - 11px);
-    left: calc(50% - 2px);
-    position: absolute;
-  }
-}
-
-</style>
+</script>

+ 0 - 3
h5app/src/views/pages/post/edit.vue

@@ -271,7 +271,6 @@ export default defineComponent({
     const onSave = async function () {
       const isFormCorrect = await v$.value.$validate();
       if (!isFormCorrect) {
-        console.log("当前岗位信息", formState.dataModel);
         await presentAlert('请输入完整信息!');
         return null;
       }
@@ -294,12 +293,10 @@ export default defineComponent({
     const getWorkYearList = async function () {
       const data: any = await getSysDictionaryList("WorkYearType");
       workYearList.value = data;
-      console.log(workYearList.value);
     }
     const getCultureRankList = async function () {
       const data: any = await getSysDictionaryList("CultureLevel");
       cultureRankList.value = data;
-      console.log(cultureRankList.value);
     }
 
     const loadData = async (postID: any) => {

+ 8 - 8
h5app/src/views/pages/post/list.vue

@@ -24,7 +24,7 @@
       <div class="bw-vue-list">
         <div class="list-content">
           <ion-list>
-              <ion-item-sliding v-for="(record,key) in dataList" :key="key" detail>
+              <ion-item-sliding v-for="(record,key) in dataList" :key="key" detail @click="onDetail(record.postID)">
                 <ion-item>
                   <ion-label>
                     <h3>{{ record.professionName }}</h3>
@@ -48,10 +48,10 @@
                   </ion-avatar>
                 </ion-item>
                 <ion-item-options>
-                  <ion-item-option @click="onEdit(record.postID)">
+                  <ion-item-option @click="onEdit(record.postID);$event.preventDefault();$event.stopPropagation();">
                     <ion-icon :icon="buildOutline"></ion-icon>
                   </ion-item-option>
-                  <ion-item-option color="danger" @click="onDel(record.postID)">
+                  <ion-item-option color="danger" @click="onDel(record.postID);$event.preventDefault();$event.stopPropagation();">
                     <ion-icon :icon="trashOutline"></ion-icon>
                   </ion-item-option>
                 </ion-item-options>
@@ -105,7 +105,6 @@ export default defineComponent({
       getPostList(searchParams).then(data => {
         dataList.value = dataList.value.concat(data.list);
         total.value = data.total;
-        console.log(dataList.value);
       })
       loading.value = false;
     }
@@ -126,16 +125,16 @@ export default defineComponent({
       }, 500);
     }
 
-    const onDetail = () => {
-      router.push({path: './detail', query: {reload: 1, id: null, status: 1}});
+    const onDetail = (id: any) => {
+      router.push({path: './detail', query: {reload: 1, id: id, status: 1}});
     }
 
     const onAdd = () => {
       router.push({path: './edit', query: {reload: 1, id: null, status: 1}});
     }
 
-    const onEdit = (postID: string) => {
-      router.push({path: './edit', query: {reload: 1, id: postID, status: 2}});
+    const onEdit = (id: string) => {
+      router.push({path: './edit', query: {reload: 1, id: id, status: 2}});
     }
 
     const onDel = async (id: any) => {
@@ -200,6 +199,7 @@ export default defineComponent({
       dataList,
       pagination,
       searchParams,
+      onDetail,
       onBack,
       onAdd,
       onEdit,

+ 7 - 4
h5app/src/views/pages/recommendMgt/detail.vue

@@ -64,6 +64,7 @@ import dayjs from "dayjs";
 import {useRoute, useRouter} from "vue-router";
 import {arrowBackOutline} from 'ionicons/icons';
 import {getListById, setEntryState} from '@/api/recommendmgt/index'
+import {onIonViewDidEnter} from '@ionic/vue'
 
 interface RecommendModel {
   companyMobile: string,
@@ -128,14 +129,18 @@ export default defineComponent({
 
     const onSetEntryState = async (recommendMgtID: any, entryState: any) => {
       setEntryState({recommendMgtID: recommendMgtID, entryState: entryState}).then(() => {
-        loadData(route.query.recommendMgtID);
+        loadData(route.query.id);
       });
     }
 
     const onBack = () => {
-      router.push({path: './list', query: {reload: 1}});
+      router.push({path: './list', query: {}});
     }
 
+    onIonViewDidEnter (()=>{
+      loadData(route.query.id);
+    })
+
     return {
       dataModel,
       arrowBackOutline,
@@ -145,8 +150,6 @@ export default defineComponent({
       onSetEntryState,
       onBack
     }
-  }, created() {
-    this.loadData(this.route.query.recommendMgtID);
   }
 });
 </script>

+ 2 - 2
h5app/src/views/pages/recommendMgt/list.vue

@@ -107,8 +107,8 @@ export default defineComponent({
       }, 500);
     }
 
-    const onDetail = (recommendMgtID: any) => {
-      router.push({path: './detail', query: {reload: 1, id: recommendMgtID, status: 1}});
+    const onDetail = (id: any) => {
+      router.push({path: './detail', query: {reload: 1, id: id, status: 1}});
     }
 
     const onBack = () => {

+ 8 - 0
src/main/java/com/hz/employmentsite/config/WebConfiguration.java

@@ -83,6 +83,14 @@ public class WebConfiguration implements WebMvcConfigurer {
         excludePath.add("/api/system/area/getCityList");//查询相关市区信息
         excludePath.add("/api/system/area/getAreaList");//查询相关街道信息
         excludePath.add("/api/jobusermgr/recommendmgt/getProfessionLevelList");//查询所有求职岗位信息
+        excludePath.add("/api/siteInfo/getDataList");
+        excludePath.add("/api/companyService/company/getSiteList");
+        excludePath.add("/api/companyService/company/save");
+        excludePath.add("/api/companyService/post/save");
+        excludePath.add("/api/jobUserService/education/save");
+        excludePath.add("/api/jobUserService/experience/save");
+        excludePath.add("/api/jobUserService/jobHunt/save");
+        excludePath.add("/api/jobUserService/jobUser/baseInfoSave");
 
 
         excludePath.add("/api/wx/**");

+ 7 - 1
src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java

@@ -94,7 +94,13 @@ public class CompanyController {
 
     @PostMapping("/save")
     public BaseResponse<Integer> save(@RequestBody CompanyVo data) {
-        var result = companyService.save(data, accountService.getLoginUserID());
+        String loginUserID = data.loginUserID;
+        try {
+            loginUserID = accountService.getLoginUserID();
+        }
+        catch (Exception e){
+        }
+        var result = companyService.save(data, loginUserID);
         return RespGenerstor.success(result);
     }
 

+ 8 - 1
src/main/java/com/hz/employmentsite/controller/companyService/PostController.java

@@ -69,7 +69,14 @@ public class PostController {
 
     @PostMapping("/save")
     public BaseResponse<Integer> save(@RequestBody PostVo data) {
-        var result = postService.save(data, accountService.getLoginUserID());
+        String loginUserID = data.loginUserID;
+        try {
+            loginUserID = accountService.getLoginUserID();
+        }
+        catch (Exception e){
+        }
+
+        var result = postService.save(data, loginUserID);
         return RespGenerstor.success(result);
     }
 

+ 8 - 1
src/main/java/com/hz/employmentsite/controller/jobUserManager/EducationController.java

@@ -48,7 +48,14 @@ public class EducationController {
 
     @PostMapping("save")
     public BaseResponse<Integer> save(@RequestBody PcEducation data) {
-        return RespGenerstor.success(educationService.save(data,accountService.getLoginUserID()));
+        String loginUserID = "";//data.loginUserID;
+        try {
+            loginUserID = accountService.getLoginUserID();
+        }
+        catch (Exception e){
+        }
+
+        return RespGenerstor.success(educationService.save(data,loginUserID));
     }
 
     @ResponseBody

+ 8 - 1
src/main/java/com/hz/employmentsite/controller/jobUserManager/ExperienceController.java

@@ -47,7 +47,14 @@ public class ExperienceController {
 
     @PostMapping("save")
     public BaseResponse<Integer> save(@RequestBody PcExperience data) {
-        return RespGenerstor.success(experienceService.save(data,accountService.getLoginUserID()));
+        String loginUserID = "";//data.loginUserID;
+        try {
+            loginUserID = accountService.getLoginUserID();
+        }
+        catch (Exception e){
+        }
+
+        return RespGenerstor.success(experienceService.save(data,loginUserID));
     }
 
 

+ 8 - 1
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java

@@ -80,7 +80,14 @@ public class JobHuntController {
 
     @PostMapping("save")
     public BaseResponse<Integer> save(@RequestBody JobHuntVo data) {
-        return RespGenerstor.success(jobhuntService.save(data,accountService.getLoginUserID()));
+        String loginUserID = data.loginUserID;
+        try {
+            loginUserID = accountService.getLoginUserID();
+        }
+        catch (Exception e){
+        }
+
+        return RespGenerstor.success(jobhuntService.save(data,loginUserID));
     }
 
     @PostMapping("/importJobHunt")

+ 14 - 7
src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java

@@ -58,7 +58,7 @@ public class JobUserController {
 
     @ResponseBody
     @GetMapping("/getDataByID")
-    public BaseResponse<PcJobuser> getDataById(String id,String loginUserID) {
+    public BaseResponse<PcJobuser> getDataById(String id, String loginUserID) {
         var data = jobuserService.getDataById(id);
         if (data == null) {
             data = new JobUserVo();
@@ -67,12 +67,12 @@ public class JobUserController {
             siteUserExp.or().andUserIDEqualTo(loginUserID);
             //siteUserExp.or().andUserIDEqualTo(accountService.getLoginUserID());
             var curSiteUserInfo = pcSiteUserMapper.selectByExample(siteUserExp).stream().findFirst().orElse(null);
-            if(curSiteUserInfo != null){
+            if (curSiteUserInfo != null) {
                 data.setSiteID(curSiteUserInfo.getSiteID());
                 PcSiteExample siteExp = new PcSiteExample();
                 siteExp.or().andSiteIDEqualTo(curSiteUserInfo.getSiteID());
                 var curSiteInfo = pcSiteMapper.selectByExample(siteExp).stream().findFirst().orElse(null);
-                if(curSiteInfo != null){
+                if (curSiteInfo != null) {
                     data.setRegionCode(curSiteInfo.getRegionCode());
                 }
             }
@@ -118,7 +118,14 @@ public class JobUserController {
     @ResponseBody
     @PostMapping("/baseInfoSave")
     public BaseResponse baseInfoSave(@RequestBody JobUserVo data) {
-        var result = jobuserService.baseInfoSave(data, accountService.getLoginUserID());
+        String loginUserID = data.loginUserID;
+        try {
+            loginUserID = accountService.getLoginUserID();
+        }
+        catch (Exception e){
+        }
+
+        var result = jobuserService.baseInfoSave(data, loginUserID);
         return RespGenerstor.success(result);
     }
 
@@ -138,13 +145,13 @@ public class JobUserController {
                                @RequestParam("pageIndex") int pageIndex, @RequestParam("pageSize") int pageSize,
                                @RequestParam(required = false) List<String> jobUserIDList,
                                @RequestParam(required = false) String name, @RequestParam(required = false) String siteId, @RequestParam(required = false) String jobStatus,
-                               @RequestParam(required = false) Integer sexId,@RequestParam(required = false) Integer educationTypeId,
+                               @RequestParam(required = false) Integer sexId, @RequestParam(required = false) Integer educationTypeId,
                                @RequestParam(required = false) Integer emphasisTypeId) throws Exception {
         PageInfo<JobUserVo> result = jobuserService.getList(pageIndex, pageSize, jobUserIDList, name, siteId, jobStatus, sexId, educationTypeId, emphasisTypeId, null, null);
 
-        if(isExport == null || !isExport){
+        if (isExport == null || !isExport) {
             return RespGenerstor.success(result);
-        }else{
+        } else {
             ExcelHelper excelHelper = new ExcelHelper();
             ExcelHelper.ExcelData data = excelHelper.new ExcelData();
             data.setTitles(Arrays.asList(new String[]{"序号", "姓名", "公民身份号码", "性别", "民族", "联系电话", "所属驿站", "年龄", "文化程度", "地址", "就业状态", "重点人员类别"}));

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/companyService/CompanyVo.java

@@ -102,4 +102,6 @@ public class CompanyVo {
     @InstitutionID
     public String institutionID;
 
+    public String loginUserID;
+
 }

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/companyService/PostVo.java

@@ -120,4 +120,6 @@ public class PostVo {
     public String workNatureName;
     public Integer tagID;
     public String bonus;
+
+    public String loginUserID;
 }

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java

@@ -44,4 +44,6 @@ public class JobHuntVo {
     public String institutionID;
     @RegionID
     private String regionCode;
+
+    public String loginUserID;
 }

+ 2 - 0
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobUserVo.java

@@ -128,5 +128,7 @@ public class JobUserVo {
     private Integer occupationalLevel;
     private String occupationalLevelName;
 
+    public String loginUserID;
+
 
 }

+ 3 - 0
src/main/resources/mapping/cquery/PostCQuery.xml

@@ -11,11 +11,14 @@
         company.CompanyName,company.insuredCount,company.bonus,item.`Name` as cultureLevelName,work_nature.Name as
         workNatureName,
         post.ProfessionID,pro.ProfessionName,pro.parentProfessionID
+        company.CompanyName,company.insuredCount,company.bonus,item.`Name` as cultureLevelName,work_nature.Name as workNatureName,
+        post.ProfessionID,pro.ProfessionName,pro.parentProfessionID,item2.`Name` as workYearStr
         , IFNULL(count(rmgt.RecommendMgtID),0) as recommendNum
         , site.SiteID as siteID,inSites.InstitutionID as institutionID, company.RegionCode as regionCode
         from pc_post post
         left join pc_company company on post.CompanyID = company.CompanyID
         left join sys_dictionary_item item on item.value=post.CultureRank and item.DictionaryCode='CultureLevel'
+        left join sys_dictionary_item item2 on item2.value=post.workYear and item2.DictionaryCode='WorkYearType'
         left join sys_dictionary_item work_nature on work_nature.value=post.WorkNatureID and
         work_nature.DictionaryCode='WorkNature'
         left join pc_profession pro on post.ProfessionID = pro.ProfessionID