Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue
#	h5app/src/views/pages/jobUserInfo/userEdit.vue
#	src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java
liao-sea 1 year ago
parent
commit
71f20095e7
60 changed files with 492 additions and 493 deletions
  1. 1 1
      h5app/src/api/login/index.ts
  2. 9 9
      h5app/src/router/index.ts
  3. 1 1
      h5app/src/utils/position.ts
  4. 3 1
      h5app/src/views/pages/jobUserInfo/companyEdit.vue
  5. 1 0
      h5app/src/views/pages/jobUserInfo/educationEdit.vue
  6. 1 0
      h5app/src/views/pages/jobUserInfo/experienceEdit.vue
  7. 1 0
      h5app/src/views/pages/jobUserInfo/jobHuntEdit.vue
  8. 15 5
      h5app/src/views/pages/jobUserInfo/postEdit.vue
  9. 2 2
      h5app/src/views/pages/jobUserInfo/postList.vue
  10. 4 2
      h5app/src/views/pages/jobUserInfo/userEdit.vue
  11. 1 1
      h5app/src/views/pages/jobhunt/recommend/list.vue
  12. 2 3
      h5app/src/views/pages/jobhunt/recommend/recommend.vue
  13. 85 354
      h5app/src/views/pages/post/detail.vue
  14. 0 3
      h5app/src/views/pages/post/edit.vue
  15. 8 8
      h5app/src/views/pages/post/list.vue
  16. 1 2
      h5app/src/views/pages/post/recommendJob.vue
  17. 7 4
      h5app/src/views/pages/recommendMgt/detail.vue
  18. 2 2
      h5app/src/views/pages/recommendMgt/list.vue
  19. 9 2
      h5app/src/views/pages/work/log/edit.vue
  20. 13 14
      h5app/src/views/pages/work/log/list.vue
  21. 4 4
      h5app/src/views/sapp/tabMain.vue
  22. 2 2
      src/main/java/com/hz/employmentsite/AppConfig.java
  23. 9 0
      src/main/java/com/hz/employmentsite/config/WebConfiguration.java
  24. 27 2
      src/main/java/com/hz/employmentsite/controller/AccountController.java
  25. 7 1
      src/main/java/com/hz/employmentsite/controller/companyService/CompanyController.java
  26. 8 1
      src/main/java/com/hz/employmentsite/controller/companyService/PostController.java
  27. 8 1
      src/main/java/com/hz/employmentsite/controller/jobUserManager/EducationController.java
  28. 8 1
      src/main/java/com/hz/employmentsite/controller/jobUserManager/ExperienceController.java
  29. 8 1
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobHuntController.java
  30. 14 7
      src/main/java/com/hz/employmentsite/controller/jobUserManager/JobUserController.java
  31. 2 1
      src/main/java/com/hz/employmentsite/filter/exception/BaseErrorEnum.java
  32. 1 1
      src/main/java/com/hz/employmentsite/filter/exception/GlobalExceptionHandler.java
  33. 1 1
      src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java
  34. 2 0
      src/main/java/com/hz/employmentsite/vo/companyService/CompanyVo.java
  35. 16 0
      src/main/java/com/hz/employmentsite/vo/companyService/PostVo.java
  36. 15 1
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java
  37. 10 0
      src/main/java/com/hz/employmentsite/vo/jobUserManager/JobUserVo.java
  38. 12 2
      src/main/java/com/hz/employmentsite/vo/jobUserManager/RecommendMgtVo.java
  39. 5 2
      src/main/java/com/hz/employmentsite/vo/taskAndLog/DoTaskVo.java
  40. 11 1
      src/main/java/com/hz/employmentsite/vo/taskAndLog/DoWorkVo.java
  41. 1 1
      src/main/java/com/hz/employmentsite/vo/user/UserModel.java
  42. 3 3
      src/main/resources/application.yml
  43. 5 0
      src/main/resources/mapping/cquery/DoWorkCQuery.xml
  44. 9 1
      src/main/resources/mapping/cquery/JobHuntCQuery.xml
  45. 6 1
      src/main/resources/mapping/cquery/JobUserCQuery.xml
  46. 12 3
      src/main/resources/mapping/cquery/PostCQuery.xml
  47. 6 2
      src/main/resources/mapping/cquery/RecommendMgtCQuery.xml
  48. 10 2
      vue/src/views/baseSettings/institution/index.vue
  49. 10 2
      vue/src/views/baseSettings/siteInfo/index.vue
  50. 11 3
      vue/src/views/baseSettings/siteUser/index.vue
  51. 2 1
      vue/src/views/companyService/company/edit.vue
  52. 9 2
      vue/src/views/companyService/company/index.vue
  53. 13 6
      vue/src/views/companyService/post/index.vue
  54. 4 2
      vue/src/views/companyService/post/recommend.vue
  55. 19 8
      vue/src/views/jobUserManager/jobhunt/index.vue
  56. 1 1
      vue/src/views/jobUserManager/jobhunt/recommend.vue
  57. 12 5
      vue/src/views/jobUserManager/jobuser/index.vue
  58. 4 4
      vue/src/views/jobUserManager/jobuser/vitae.vue
  59. 9 2
      vue/src/views/taskAndLog/dotask/index.vue
  60. 10 1
      vue/src/views/taskAndLog/dowork/index.vue

+ 1 - 1
h5app/src/api/login/index.ts

@@ -11,7 +11,7 @@ export function login(data: API.LoginParams) {
     const desVal = crtyptoHelp.encryptDes(`${data.username}|${crtyptoHelp.MD5(data.password)}|${data.verifyCode}`)
     const desVal = crtyptoHelp.encryptDes(`${data.username}|${crtyptoHelp.MD5(data.password)}|${data.verifyCode}`)
     return request<API.LoginResult>(
     return request<API.LoginResult>(
         {
         {
-            url: 'account/login',
+            url: 'account/appLogin',
             method: 'post',
             method: 'post',
             data: desVal,
             data: desVal,
         },
         },

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

@@ -58,8 +58,8 @@ const routes: Array<RouteRecordRaw> = [
                 component: () => import('@/views/pages/jobhunt/recommend/list.vue')
                 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',
                 path: 'tabMain/recommendMgt/list',
@@ -110,31 +110,31 @@ const routes: Array<RouteRecordRaw> = [
                 component: () => import('@/views/pages/post/detail.vue')
                 component: () => import('@/views/pages/post/detail.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/log/list',
+                path: 'tabMain/workLog/list',
                 component: () => import('@/views/pages/work/log/list.vue')
                 component: () => import('@/views/pages/work/log/list.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/log/edit',
+                path: 'tabMain/workLog/edit',
                 component: () => import('@/views/pages/work/log/edit.vue')
                 component: () => import('@/views/pages/work/log/edit.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/log/detail',
+                path: 'tabMain/workLog/detail',
                 component: () => import('@/views/pages/work/log/detail.vue')
                 component: () => import('@/views/pages/work/log/detail.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/task/list',
+                path: 'tabMain/workTask/list',
                 component: () => import('@/views/pages/work/task/list.vue')
                 component: () => import('@/views/pages/work/task/list.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/task/edit',
+                path: 'tabMain/workTask/edit',
                 component: () => import('@/views/pages/work/task/edit.vue')
                 component: () => import('@/views/pages/work/task/edit.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/task/detail',
+                path: 'tabMain/workTask/detail',
                 component: () => import('@/views/pages/work/task/detail.vue')
                 component: () => import('@/views/pages/work/task/detail.vue')
             },
             },
             {
             {
-                path: 'tabMain/work/task/myTask',
+                path: 'tabMain/workTask/myTask',
                 component: () => import('@/views/pages/work/task/myTask.vue')
                 component: () => import('@/views/pages/work/task/myTask.vue')
             },
             },
             {
             {

+ 1 - 1
h5app/src/utils/position.ts

@@ -38,7 +38,7 @@ export function getPosition() {
                 reject(arguments)
                 reject(arguments)
             }, {
             }, {
                 enableHighAccuracy: true,
                 enableHighAccuracy: true,
-                timeout: 3000
+                timeout: 10000
             })
             })
         } else {
         } else {
             reject('你的浏览器不支持当前地理位置信息获取')
             reject('你的浏览器不支持当前地理位置信息获取')

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

@@ -325,7 +325,8 @@ export default defineComponent({
         insuredCount: null,
         insuredCount: null,
         businScope: null,
         businScope: null,
         companyDesc: null,
         companyDesc: null,
-        openId:null
+        openId:null,
+        loginUserID:''
       }});
       }});
     const stepList = ref([
     const stepList = ref([
       {title: '基础信息', desc: '企业基础信息', val: 1},
       {title: '基础信息', desc: '企业基础信息', val: 1},
@@ -522,6 +523,7 @@ export default defineComponent({
       companyCodeValidate();
       companyCodeValidate();
       inputDataValidate();
       inputDataValidate();
       if(isAllowCommit.value){
       if(isAllowCommit.value){
+        formState.dataModel.loginUserID = curStepData.value.loginUserID;
         saveCompanyInfo(formState.dataModel).then(result => {
         saveCompanyInfo(formState.dataModel).then(result => {
           if (result) {
           if (result) {
             router.push({path: './postList', query: {reload:1,id:formState.dataModel.companyID,status:2,userID:curStepData.value.loginUserID,openId:curStepData.value.openID}});
             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("请填写完整的信息!");
         await presentAlert("请填写完整的信息!");
         return null;
         return null;
       }
       }
+      educationData.dataModel.loginUserID = curStepData.value.loginUserID;
       saveEducation(educationData.dataModel).then(result => {
       saveEducation(educationData.dataModel).then(result => {
         if (result) {
         if (result) {
           router.push({path: './userEdit', query: {reload:1,jobUserID: educationData.dataModel.jobuserID,status:2,loginUserId:curStepData.value.loginUserID}});
           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("请填写完整的信息!");
         await presentAlert("请填写完整的信息!");
         return null;
         return null;
       }
       }
+      experienceData.dataModel.loginUserID = curStepData.value.loginUserID;
       saveExperience(experienceData.dataModel).then(result => {
       saveExperience(experienceData.dataModel).then(result => {
         if (result) {
         if (result) {
           router.push({path: './userEdit', query: {reload:1,jobUserID: experienceData.dataModel.jobuserID,status:3,loginUserId:curStepData.value.loginUserID}});
           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

@@ -276,6 +276,7 @@ export default defineComponent({
       }
       }
       ifInputAllValid();
       ifInputAllValid();
       if(isCommit.value){
       if(isCommit.value){
+        jobHuntData.dataModel.loginUserID = curStepData.value.loginUserID;
         saveJobHunt(jobHuntData.dataModel).then(result => {
         saveJobHunt(jobHuntData.dataModel).then(result => {
           if (result) {
           if (result) {
             router.push({path: './userEdit', query: {reload:1,jobUserID: jobHuntData.dataModel.jobUserID,status:4,loginUserId:curStepData.value.loginUserID}});
             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 dayjs from "dayjs";
 import postSelection from "@/components/postSelection.vue";
 import postSelection from "@/components/postSelection.vue";
 
 
+interface StepParams{
+  loginUserID: string,
+}
+
 export default defineComponent({
 export default defineComponent({
   name: 'PostEdit',
   name: 'PostEdit',
   components:{postSelection},
   components:{postSelection},
@@ -243,7 +247,8 @@ export default defineComponent({
         contactMobile:null,
         contactMobile:null,
         contactEmail:null,
         contactEmail:null,
         tagID:null,
         tagID:null,
-        bonus:null
+        bonus:null,
+        loginUserID:''
       }});
       }});
     const rules = computed(() => {
     const rules = computed(() => {
       return {
       return {
@@ -265,6 +270,9 @@ export default defineComponent({
     const cultureRankList = ref([]);
     const cultureRankList = ref([]);
     const workNatureList = ref([]);
     const workNatureList = ref([]);
     const postTagList = ref([]);
     const postTagList = ref([]);
+    const curStepData = ref<StepParams>({
+      loginUserID:""
+    });
 
 
     const presentAlert = async (message: string) => {
     const presentAlert = async (message: string) => {
       const alert = await alertController.create({
       const alert = await alertController.create({
@@ -370,6 +378,7 @@ export default defineComponent({
         await presentAlert('请输入完整信息!');
         await presentAlert('请输入完整信息!');
         return null;
         return null;
       }
       }
+      formState.dataModel.loginUserID = curStepData.value.loginUserID;
       savePost(formState.dataModel).then(result=>{
       savePost(formState.dataModel).then(result=>{
         if(result){
         if(result){
            router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
            router.push({path: "./postList", query: {reload:1,id:formState.dataModel.companyID,status: 3}});
@@ -402,8 +411,9 @@ export default defineComponent({
       postTagList.value = data;
       postTagList.value = data;
     }
     }
 
 
-    const loadData = async (postID: any,companyID:any) => {
+    const loadData = async (postID: any,companyID:any,loginUserID:any) => {
       isCommit.value =false;
       isCommit.value =false;
+      curStepData.value.loginUserID = loginUserID;
       await getWorkYearList();
       await getWorkYearList();
       await getCultureRankList();
       await getCultureRankList();
       await getWorkNationList();
       await getWorkNationList();
@@ -415,14 +425,14 @@ export default defineComponent({
       console.log("初始化岗位信息",formState.dataModel);
       console.log("初始化岗位信息",formState.dataModel);
     };
     };
 
 
-    const reload = (postID: any,companyID:any) => {
+    const reload = (postID: any,companyID:any,loginUserID:any) => {
       formState.dataModel.recruitCount = null;
       formState.dataModel.recruitCount = null;
-      loadData(postID,companyID);
+      loadData(postID,companyID,loginUserID);
     }
     }
 
 
     onIonViewDidEnter(() => {
     onIonViewDidEnter(() => {
       if (route.query.reload)
       if (route.query.reload)
-        reload(route.query.id,route.query.companyID);
+        reload(route.query.id,route.query.companyID,route.query.loginUserID);
     });
     });
 
 
     return {
     return {

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

@@ -225,10 +225,10 @@ export default defineComponent({
     }
     }
 
 
     const onAdd = () => {
     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) => {
     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 = () => {
     const onBack = () => {
         router.push({path: './companyEdit', query: {reload:1,id:pageParams.companyID,siteUserId:curStepData.value.loginUserID}});
         router.push({path: './companyEdit', query: {reload:1,id:pageParams.companyID,siteUserId:curStepData.value.loginUserID}});

+ 4 - 2
h5app/src/views/pages/jobUserInfo/userEdit.vue

@@ -550,7 +550,8 @@ export default defineComponent({
         occupationalCategory:null,
         occupationalCategory:null,
         occupationalCategoryName:null,
         occupationalCategoryName:null,
         occupationalLevel:null,
         occupationalLevel:null,
-        openId:null
+        openId:null,
+        loginUserID:''
       }});
       }});
     const pageParams = reactive({
     const pageParams = reactive({
       pageIndex: 1,
       pageIndex: 1,
@@ -709,6 +710,7 @@ export default defineComponent({
         }
         }
         inputDataValidate();
         inputDataValidate();
         if(isAllowCommit.value){
         if(isAllowCommit.value){
+          baseInfoData.baseData.loginUserID = curStepData.value.loginUserID;
           baseInfoSave(baseInfoData.baseData).then(result => {
           baseInfoSave(baseInfoData.baseData).then(result => {
             if (result) {
             if (result) {
               router.push({path: '/jobUserInfo/userEdit', query: {reload:0,jobUserID: baseInfoData.baseData.jobUserID,status:2,loginUserId:curStepData.value.loginUserID}});
               router.push({path: '/jobUserInfo/userEdit', query: {reload:0,jobUserID: baseInfoData.baseData.jobUserID,status:2,loginUserId:curStepData.value.loginUserID}});
@@ -801,13 +803,13 @@ export default defineComponent({
       pageParams.jobUserID = jobUserID;
       pageParams.jobUserID = jobUserID;
       pageParams.openID = openId;
       pageParams.openID = openId;
       baseInfoData.baseData.jobUserID = jobUserID;
       baseInfoData.baseData.jobUserID = jobUserID;
-      baseInfoData.baseData.openId = openId;
       curStepData.value.statusVal = status;
       curStepData.value.statusVal = status;
       curStepData.value.loginUserID = userId;
       curStepData.value.loginUserID = userId;
       console.log("当前curStepData",curStepData.value);
       console.log("当前curStepData",curStepData.value);
       if(curStepData.value.statusVal==1){
       if(curStepData.value.statusVal==1){
         const reqData = await getJobUserById(jobUserID,userId);
         const reqData = await getJobUserById(jobUserID,userId);
         baseInfoData.baseData = reqData;
         baseInfoData.baseData = reqData;
+        baseInfoData.baseData.openId = openId;
         console.log("当前baseInfoData",baseInfoData.baseData);
         console.log("当前baseInfoData",baseInfoData.baseData);
         await getStreetList();
         await getStreetList();
       }
       }

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

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

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

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

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

@@ -1,387 +1,118 @@
 <template>
 <template>
-  <ion-page  class="list-page">
-    <ion-header  class="header-theme2">
+  <ion-page class="list-page">
+    <ion-header class="header-theme2">
       <ion-toolbar>
       <ion-toolbar>
         <ion-buttons slot="start">
         <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-buttons>
-        <ion-title>岗位推荐</ion-title>
+        <ion-title>岗位详情信息</ion-title>
       </ion-toolbar>
       </ion-toolbar>
     </ion-header>
     </ion-header>
     <ion-content>
     <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>
         </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>
   </ion-page>
 </template>
 </template>
+
 <script lang="ts">
 <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 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({
 export default defineComponent({
-  name: 'postDetail',
+  name: "PostDetail",
   setup() {
   setup() {
+    const loading = ref(true);
+    const formData = reactive<FormData>({
+      dataModel: {}
+    });
     const router = useRouter();
     const router = useRouter();
     const route = useRoute();
     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 = () => {
     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 {
     return {
+      ...toRefs(formData),
       arrowBackOutline,
       arrowBackOutline,
-      addCircleOutline,
+      dayjs,
       route,
       route,
-      router,
-      editForm,
-      dataModel,
-      huntJobList,
-      recommendPostList,
-      pageParams,
-      formStatus,
-      commendStr,
-      onCommend,
-      onAllRecommend,
-      onBack,
-      onFinish,
-      onScroll,
       loadData,
       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 onSave = async function () {
       const isFormCorrect = await v$.value.$validate();
       const isFormCorrect = await v$.value.$validate();
       if (!isFormCorrect) {
       if (!isFormCorrect) {
-        console.log("当前岗位信息", formState.dataModel);
         await presentAlert('请输入完整信息!');
         await presentAlert('请输入完整信息!');
         return null;
         return null;
       }
       }
@@ -294,12 +293,10 @@ export default defineComponent({
     const getWorkYearList = async function () {
     const getWorkYearList = async function () {
       const data: any = await getSysDictionaryList("WorkYearType");
       const data: any = await getSysDictionaryList("WorkYearType");
       workYearList.value = data;
       workYearList.value = data;
-      console.log(workYearList.value);
     }
     }
     const getCultureRankList = async function () {
     const getCultureRankList = async function () {
       const data: any = await getSysDictionaryList("CultureLevel");
       const data: any = await getSysDictionaryList("CultureLevel");
       cultureRankList.value = data;
       cultureRankList.value = data;
-      console.log(cultureRankList.value);
     }
     }
 
 
     const loadData = async (postID: any) => {
     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="bw-vue-list">
         <div class="list-content">
         <div class="list-content">
           <ion-list>
           <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-item>
                   <ion-label>
                   <ion-label>
                     <h3>{{ record.professionName }}</h3>
                     <h3>{{ record.professionName }}</h3>
@@ -48,10 +48,10 @@
                   </ion-avatar>
                   </ion-avatar>
                 </ion-item>
                 </ion-item>
                 <ion-item-options>
                 <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-icon :icon="buildOutline"></ion-icon>
                   </ion-item-option>
                   </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-icon :icon="trashOutline"></ion-icon>
                   </ion-item-option>
                   </ion-item-option>
                 </ion-item-options>
                 </ion-item-options>
@@ -105,7 +105,6 @@ export default defineComponent({
       getPostList(searchParams).then(data => {
       getPostList(searchParams).then(data => {
         dataList.value = dataList.value.concat(data.list);
         dataList.value = dataList.value.concat(data.list);
         total.value = data.total;
         total.value = data.total;
-        console.log(dataList.value);
       })
       })
       loading.value = false;
       loading.value = false;
     }
     }
@@ -126,16 +125,16 @@ export default defineComponent({
       }, 500);
       }, 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 = () => {
     const onAdd = () => {
       router.push({path: './edit', query: {reload: 1, id: null, status: 1}});
       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) => {
     const onDel = async (id: any) => {
@@ -200,6 +199,7 @@ export default defineComponent({
       dataList,
       dataList,
       pagination,
       pagination,
       searchParams,
       searchParams,
+      onDetail,
       onBack,
       onBack,
       onAdd,
       onAdd,
       onEdit,
       onEdit,

+ 1 - 2
h5app/src/views/pages/post/recommendJob.vue

@@ -246,6 +246,7 @@ export default defineComponent({
     }
     }
 
 
     onIonViewDidEnter(() => {
     onIonViewDidEnter(() => {
+      getRecommendTypeList();
       reloadSearchParams();
       reloadSearchParams();
       reload();
       reload();
     });
     });
@@ -271,8 +272,6 @@ export default defineComponent({
       onPopoverConfirm,
       onPopoverConfirm,
       onRestRecommendWhere,
       onRestRecommendWhere,
     }
     }
-  }, mounted() {
-    this.getRecommendTypeList()
   }
   }
 });
 });
 </script>
 </script>

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

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

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

@@ -107,8 +107,8 @@ export default defineComponent({
       }, 500);
       }, 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 = () => {
     const onBack = () => {

+ 9 - 2
h5app/src/views/pages/work/log/edit.vue

@@ -24,7 +24,7 @@
                 <ion-datetime id="workTime" placeholder="日期"
                 <ion-datetime id="workTime" placeholder="日期"
                               v-model="dataModel.workTime"  :prefer-wheel="true"
                               v-model="dataModel.workTime"  :prefer-wheel="true"
                               dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
                               dataformatas="YYYY-MM-DD" presentation="date" cancel-text="取消" done-text="确定"
-                              :show-default-buttons="true">
+                              :show-default-buttons="true" @ion-change="workTimeChange">
                 </ion-datetime>
                 </ion-datetime>
               </ion-modal>
               </ion-modal>
             </div>
             </div>
@@ -166,6 +166,12 @@ export default defineComponent({
       loading.value = false;
       loading.value = false;
     };
     };
 
 
+    // 日期选择器选择当天日期,值为null bug
+    function workTimeChange(value: any) {
+      if (value.detail.value == null) {
+        workLogData.dataModel.workTime = dayjs(new Date().toLocaleDateString()).format("YYYY-MM-DD") + "T00:00:00.000+08:00";
+      }
+    }
 
 
     const reload = (doWorkID: any) => {
     const reload = (doWorkID: any) => {
       workLogData.dataModel = {};
       workLogData.dataModel = {};
@@ -190,7 +196,8 @@ export default defineComponent({
       router,
       router,
       loading,
       loading,
       workLogValid,
       workLogValid,
-      recordsCount
+      recordsCount,
+      workTimeChange
     }
     }
   }
   }
 });
 });

+ 13 - 14
h5app/src/views/pages/work/log/list.vue

@@ -35,7 +35,7 @@
         <ion-button slot="end" style="height: 33px;width:70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;" @click="onSearch">搜索</ion-button>
         <ion-button slot="end" style="height: 33px;width:70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;" @click="onSearch">搜索</ion-button>
       </ion-item>
       </ion-item>
       <!-- 滑动数据列表 -->
       <!-- 滑动数据列表 -->
-      <div class="bw-vue-list">
+      <div class="bw-vue-list" v-if="!delLoading">
         <div class="list-content">
         <div class="list-content">
           <ion-list>
           <ion-list>
             <div v-for="(record,key) in dataList" :key="key">
             <div v-for="(record,key) in dataList" :key="key">
@@ -196,7 +196,7 @@ export default defineComponent({
 
 
     const loadData = async function () {
     const loadData = async function () {
       loading.value = true;
       loading.value = true;
-      searchParamsState.userId = userInfo.value.userID==null?"":userInfo.value.userID;
+      searchParamsState.userId = userInfo.value.userID == null ? "" : userInfo.value.userID;
       const result: any = await getWorkLogList(searchParamsState);
       const result: any = await getWorkLogList(searchParamsState);
       dataList.value = dataList.value.concat(result.list);
       dataList.value = dataList.value.concat(result.list);
       searchParamsState.total = result.total;
       searchParamsState.total = result.total;
@@ -231,16 +231,8 @@ export default defineComponent({
     }
     }
 
 
     const reload = () => {
     const reload = () => {
-      // 设置查询初始截止日期为当天
-      const firstDay = new Date();
-      // 设置查询初始开始时间为当天的一个月前
-      const lastDay = new Date();
-      lastDay.setDate(firstDay.getDate() - 30);
-
       dataList.value = [];
       dataList.value = [];
       searchParamsState.pageIndex = 1;
       searchParamsState.pageIndex = 1;
-      searchParamsState.workStartDate=dayjs(lastDay.toLocaleDateString()).format('YYYY-MM-DD');
-      searchParamsState.workEndDate = dayjs(firstDay.toLocaleDateString()).format('YYYY-MM-DD');
       loadData();
       loadData();
     }
     }
 
 
@@ -268,12 +260,19 @@ export default defineComponent({
       infoAlertOpen.value = value;
       infoAlertOpen.value = value;
     }
     }
 
 
-    // onIonViewDidEnter(() => {
-    //   reload();
-    // });
+    onIonViewDidEnter(() => {
+      reload();
+    });
 
 
+    // 页面初始化设置值,防止onIonViewDidEnter时没有查询时间
     onMounted(() => {
     onMounted(() => {
-      reload();
+      // 设置查询初始截止日期为当天
+      const firstDay = new Date();
+      // 设置查询初始开始时间为当天的一个月前
+      const lastDay = new Date();
+      lastDay.setDate(firstDay.getDate() - 30);
+      searchParamsState.workStartDate = dayjs(lastDay.toLocaleDateString()).format('YYYY-MM-DD') + "T00:00:00.000+08:00";
+      searchParamsState.workEndDate = dayjs(firstDay.toLocaleDateString()).format('YYYY-MM-DD') + "T00:00:00.000+08:00";
     })
     })
 
 
     return {
     return {

+ 4 - 4
h5app/src/views/sapp/tabMain.vue

@@ -40,7 +40,7 @@
           </div>
           </div>
           <div class="tool-title">推荐库</div>
           <div class="tool-title">推荐库</div>
         </a>
         </a>
-        <a class="tool-item box-line"  @click="router.push('/tabs/tabMain/work/task/list')">
+        <a class="tool-item box-line" @click="router.push('/tabs/tabMain/workTask/list')">
           <div class="tool-img">
           <div class="tool-img">
             <img src="@/assets/icon/gzrw.png">
             <img src="@/assets/icon/gzrw.png">
           </div>
           </div>
@@ -48,7 +48,7 @@
         </a>
         </a>
 
 
 
 
-        <a class="tool-item box-line"  @click="router.push('/tabs/tabMain/work/log/list')">
+        <a class="tool-item box-line" @click="router.push('/tabs/tabMain/workLog/list')">
           <div class="tool-img">
           <div class="tool-img">
             <img src="@/assets/icon/gzrz.png">
             <img src="@/assets/icon/gzrz.png">
           </div>
           </div>
@@ -114,11 +114,11 @@ export default defineComponent({
     }
     }
 
 
     const onDetail = (doTaskID:string) =>{
     const onDetail = (doTaskID:string) =>{
-      router.push({path: "/tabs/tabMain/work/task/edit", query: {reload: 1, doTaskID: doTaskID}});
+      router.push({path: "/tabs/tabMain/workTask/edit", query: {reload: 1, doTaskID: doTaskID}});
     }
     }
 
 
     function onTaskList() {
     function onTaskList() {
-      router.push("/tabs/tabMain/work/task/list");
+      router.push("/tabs/tabMain/workTask/list");
     }
     }
 
 
     const onScroll = (e: any) => {
     const onScroll = (e: any) => {

+ 2 - 2
src/main/java/com/hz/employmentsite/AppConfig.java

@@ -78,9 +78,9 @@ public class AppConfig {
     @Value("${appconfig.wxconfig.accessScope}")
     @Value("${appconfig.wxconfig.accessScope}")
     public String wxAccessScope;
     public String wxAccessScope;
 
 
-    @Value("${appconfig.ztndatagdgovConfig.paasId}")
+    /*@Value("${appconfig.ztndatagdgovConfig.paasId}")*/
     public String gdgov_paasId;
     public String gdgov_paasId;
-    @Value("${appconfig.ztndatagdgovConfig.passToken}")
+    /*@Value("${appconfig.ztndatagdgovConfig.passToken}")*/
     public String gdgov_passToken;
     public String gdgov_passToken;
 
 
 
 

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

@@ -53,6 +53,7 @@ public class WebConfiguration implements WebMvcConfigurer {
         List<String> excludePath = new ArrayList<>();
         List<String> excludePath = new ArrayList<>();
         //排除拦截,除了注册登录(此时还没token),其他都拦截
         //排除拦截,除了注册登录(此时还没token),其他都拦截
         excludePath.add("/api/account/login");  //登录
         excludePath.add("/api/account/login");  //登录
+        excludePath.add("/api/account/appLogin");  //登录
         excludePath.add("/api/account/register");     //注册
         excludePath.add("/api/account/register");     //注册
         excludePath.add("/api/account/captcha");  //验证码
         excludePath.add("/api/account/captcha");  //验证码
         excludePath.add("/api/account/test");
         excludePath.add("/api/account/test");
@@ -82,6 +83,14 @@ public class WebConfiguration implements WebMvcConfigurer {
         excludePath.add("/api/system/area/getCityList");//查询相关市区信息
         excludePath.add("/api/system/area/getCityList");//查询相关市区信息
         excludePath.add("/api/system/area/getAreaList");//查询相关街道信息
         excludePath.add("/api/system/area/getAreaList");//查询相关街道信息
         excludePath.add("/api/jobusermgr/recommendmgt/getProfessionLevelList");//查询所有求职岗位信息
         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/**");
         excludePath.add("/api/wx/**");

+ 27 - 2
src/main/java/com/hz/employmentsite/controller/AccountController.java

@@ -40,6 +40,8 @@ public class AccountController {
     @Autowired
     @Autowired
     private LogService logService;
     private LogService logService;
 
 
+    private Integer[] appLoginUserType = {3};
+
     @ResponseBody
     @ResponseBody
     @GetMapping("/captcha")
     @GetMapping("/captcha")
     public BaseResponse<Map<String, Object>> captcha() {
     public BaseResponse<Map<String, Object>> captcha() {
@@ -67,12 +69,35 @@ public class AccountController {
         user.dataRangeList = userService.getUserDataRange(user.getUserId());
         user.dataRangeList = userService.getUserDataRange(user.getUserId());
         user.permissionList = accountService.getUserPerms(user.getUserId());
         user.permissionList = accountService.getUserPerms(user.getUserId());
 
 
-        logService.save("登录","","登录",user.userId);
+        logService.save("登录", "", "登录", user.userId);
 
 
         return RespGenerstor.success(user);
         return RespGenerstor.success(user);
 
 
     }
     }
 
 
+    @PostMapping("/appLogin")
+    public BaseResponse<UserModel> appLogin(HttpServletResponse response, HttpServletRequest request, @RequestBody DesModel model) throws Exception {
+        String[] desData = desUtils.decoder(model.getToken(), dateUtils.DateToDateTime(dateUtils.StrToDate(model.getTm(), "yyyy/MM/dd HH:mm:ss"))).split("\\|");
+
+        UserModel user = accountService.verifyUser(desData[0], desData[1]);
+
+        if (user == null)
+            throw new BaseException(BaseErrorEnum.USER_PASSWORD_ERROR);
+
+        if (!Arrays.asList(appLoginUserType).contains(user.getUserTypeId()))
+            throw new BaseException(BaseErrorEnum.APP_LOGIN_ERROR);
+
+        user.token = TokenUtils.sign(user.getUserId() + '|' + user.getUserTypeId());
+        user.dataRangeList = userService.getUserDataRange(user.getUserId());
+        user.permissionList = accountService.getUserPerms(user.getUserId());
+
+        logService.save("登录", "", "登录", user.userId);
+
+        return RespGenerstor.success(user);
+
+    }
+
+
     @ResponseBody
     @ResponseBody
     @GetMapping("/info")
     @GetMapping("/info")
     public BaseResponse<UserInfoModel> info() {
     public BaseResponse<UserInfoModel> info() {
@@ -89,7 +114,7 @@ public class AccountController {
 
 
         ObjectNode jObject = jsonMapper.jsonToObject(json, ObjectNode.class);*/
         ObjectNode jObject = jsonMapper.jsonToObject(json, ObjectNode.class);*/
 
 
-       /* var Menus = accountService.getSysMenu("T01");*/
+        /* var Menus = accountService.getSysMenu("T01");*/
 
 
         var Menus = accountService.getUserMenuList(accountService.getLoginUserID());
         var Menus = accountService.getUserMenuList(accountService.getLoginUserID());
 
 

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

@@ -94,7 +94,13 @@ public class CompanyController {
 
 
     @PostMapping("/save")
     @PostMapping("/save")
     public BaseResponse<Integer> save(@RequestBody CompanyVo data) {
     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);
         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")
     @PostMapping("/save")
     public BaseResponse<Integer> save(@RequestBody PostVo data) {
     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);
         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")
     @PostMapping("save")
     public BaseResponse<Integer> save(@RequestBody PcEducation data) {
     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
     @ResponseBody

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

@@ -47,7 +47,14 @@ public class ExperienceController {
 
 
     @PostMapping("save")
     @PostMapping("save")
     public BaseResponse<Integer> save(@RequestBody PcExperience data) {
     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")
     @PostMapping("save")
     public BaseResponse<Integer> save(@RequestBody JobHuntVo data) {
     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")
     @PostMapping("/importJobHunt")

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

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

+ 2 - 1
src/main/java/com/hz/employmentsite/filter/exception/BaseErrorEnum.java

@@ -7,7 +7,8 @@ public enum BaseErrorEnum implements BaseErrorInfoInterface {
     INTERNAL_SERVER_ERROR("500", "服务器内部错误!"),
     INTERNAL_SERVER_ERROR("500", "服务器内部错误!"),
     USER_PASSWORD_ERROR("10001", "用户名或密码错误!"),
     USER_PASSWORD_ERROR("10001", "用户名或密码错误!"),
     DELETE_NOT_DATA_ERROR("10002", "删除的数据不存在!"),
     DELETE_NOT_DATA_ERROR("10002", "删除的数据不存在!"),
-    IMPORT_DATA_ERROR("10003", "导入数据存在错误,请查看错误列表,更正后重新导入!");
+    IMPORT_DATA_ERROR("10003", "导入数据存在错误,请查看错误列表,更正后重新导入!"),
+    APP_LOGIN_ERROR("10004", "无登录App权限!");
 
 
     private String code;
     private String code;
 
 

+ 1 - 1
src/main/java/com/hz/employmentsite/filter/exception/GlobalExceptionHandler.java

@@ -19,7 +19,7 @@ public class GlobalExceptionHandler {
     @ExceptionHandler(value = NullPointerException.class)
     @ExceptionHandler(value = NullPointerException.class)
     public BaseResponse<Object> exceptionHandler(NullPointerException e) {
     public BaseResponse<Object> exceptionHandler(NullPointerException e) {
         logger.error("发生空指针异常!原因是:" + e);
         logger.error("发生空指针异常!原因是:" + e);
-        return RespGenerstor.fail(BaseErrorEnum.BODY_NOT_MATCH,null);
+        return RespGenerstor.fail(BaseErrorEnum.BODY_NOT_MATCH,e);
     }
     }
 
 
     @ExceptionHandler(value = Exception.class)
     @ExceptionHandler(value = Exception.class)

+ 1 - 1
src/main/java/com/hz/employmentsite/services/impl/jobUserManager/JobUserServiceImpl.java

@@ -343,7 +343,7 @@ public class JobUserServiceImpl implements JobUserService {
         result += ifRepeatIdentity? 1:0;
         result += ifRepeatIdentity? 1:0;
         result += ifRepeatMobile? 2:0;
         result += ifRepeatMobile? 2:0;
 
 
-        if( data.getSocialSecurityCard()!=null && data.getSocialSecurityCard()!=""){
+        if(!stringUtils.IsNullOrEmpty(data.getSocialSecurityCard())){
             PcJobuserExample jobUserExp3= new PcJobuserExample();
             PcJobuserExample jobUserExp3= new PcJobuserExample();
             jobUserExp3.or().andUserMobileEqualTo(data.getSocialSecurityCard()).andJobuserIDNotEqualTo(data.getJobUserID());
             jobUserExp3.or().andUserMobileEqualTo(data.getSocialSecurityCard()).andJobuserIDNotEqualTo(data.getJobUserID());
             var ifRepeatSocialCard = pcJobuserMapper.selectByExample(jobUserExp3).size()>0;
             var ifRepeatSocialCard = pcJobuserMapper.selectByExample(jobUserExp3).size()>0;

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

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

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

@@ -1,16 +1,30 @@
 package com.hz.employmentsite.vo.companyService;
 package com.hz.employmentsite.vo.companyService;
 
 
+import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
 import com.hz.employmentsite.util.datarange.annotations.PostID;
 import com.hz.employmentsite.util.datarange.annotations.PostID;
+import com.hz.employmentsite.util.datarange.annotations.RegionID;
+import com.hz.employmentsite.util.datarange.annotations.SiteID;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
+
 @Data
 @Data
 public class PostVo {
 public class PostVo {
 
 
     @PostID
     @PostID
     public String postID;
     public String postID;
 
 
+    @SiteID
+    private String siteID;
+    private String siteName;
+
+    @InstitutionID
+    public String institutionID;
+
+    @RegionID
+    private String regionCode;
+
     public String workCode;
     public String workCode;
 
 
     public String workName;
     public String workName;
@@ -107,4 +121,6 @@ public class PostVo {
     public String workNatureName;
     public String workNatureName;
     public Integer tagID;
     public Integer tagID;
     public String bonus;
     public String bonus;
+
+    public String loginUserID;
 }
 }

+ 15 - 1
src/main/java/com/hz/employmentsite/vo/jobUserManager/JobHuntVo.java

@@ -1,7 +1,11 @@
 package com.hz.employmentsite.vo.jobUserManager;
 package com.hz.employmentsite.vo.jobUserManager;
 
 
-import lombok.Data;
+import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
 import com.hz.employmentsite.util.datarange.annotations.JobHuntID;
 import com.hz.employmentsite.util.datarange.annotations.JobHuntID;
+import com.hz.employmentsite.util.datarange.annotations.RegionID;
+import com.hz.employmentsite.util.datarange.annotations.SiteID;
+import lombok.Data;
+
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
 
 
@@ -32,4 +36,14 @@ public class JobHuntVo {
     public String errorMessage;
     public String errorMessage;
     public String recommendNum; // 推荐数量
     public String recommendNum; // 推荐数量
     public String cultureRank;
     public String cultureRank;
+
+    // 数据权限
+    @SiteID
+    private String siteID;
+    @InstitutionID
+    public String institutionID;
+    @RegionID
+    private String regionCode;
+
+    public String loginUserID;
 }
 }

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

@@ -1,6 +1,9 @@
 package com.hz.employmentsite.vo.jobUserManager;
 package com.hz.employmentsite.vo.jobUserManager;
 
 
+import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
 import com.hz.employmentsite.util.datarange.annotations.JobUserID;
 import com.hz.employmentsite.util.datarange.annotations.JobUserID;
+import com.hz.employmentsite.util.datarange.annotations.RegionID;
+import com.hz.employmentsite.util.datarange.annotations.SiteID;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.util.Date;
 import java.util.Date;
@@ -13,8 +16,12 @@ public class JobUserVo {
     @JobUserID
     @JobUserID
     private String jobUserID;
     private String jobUserID;
 
 
+    @SiteID
     private String siteID;
     private String siteID;
 
 
+    @InstitutionID
+    public String institutionID;
+
     private String identityNumber;
     private String identityNumber;
 
 
     private String name;
     private String name;
@@ -63,6 +70,7 @@ public class JobUserVo {
 
 
     private String provinceCode;
     private String provinceCode;
 
 
+    @RegionID
     private String regionCode;
     private String regionCode;
 
 
     private String regionName;
     private String regionName;
@@ -120,5 +128,7 @@ public class JobUserVo {
     private Integer occupationalLevel;
     private Integer occupationalLevel;
     private String occupationalLevelName;
     private String occupationalLevelName;
 
 
+    public String loginUserID;
+
 
 
 }
 }

+ 12 - 2
src/main/java/com/hz/employmentsite/vo/jobUserManager/RecommendMgtVo.java

@@ -1,10 +1,11 @@
 package com.hz.employmentsite.vo.jobUserManager;
 package com.hz.employmentsite.vo.jobUserManager;
 
 
 import com.hz.employmentsite.model.PcRecommendMgt;
 import com.hz.employmentsite.model.PcRecommendMgt;
+import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
+import com.hz.employmentsite.util.datarange.annotations.RegionID;
+import com.hz.employmentsite.util.datarange.annotations.SiteID;
 import lombok.Data;
 import lombok.Data;
 
 
-import java.util.Date;
-
 @Data
 @Data
 public class RecommendMgtVo extends PcRecommendMgt {
 public class RecommendMgtVo extends PcRecommendMgt {
     public String companyName;
     public String companyName;
@@ -23,4 +24,13 @@ public class RecommendMgtVo extends PcRecommendMgt {
     public String jobuserId;
     public String jobuserId;
     public String companyId;
     public String companyId;
     public Integer workYear;
     public Integer workYear;
+
+    // 数据权限
+    @SiteID
+    private String siteID;
+    private String siteName;
+    @InstitutionID
+    public String institutionID;
+    @RegionID
+    private String regionCode;
 }
 }

+ 5 - 2
src/main/java/com/hz/employmentsite/vo/taskAndLog/DoTaskVo.java

@@ -1,10 +1,12 @@
 package com.hz.employmentsite.vo.taskAndLog;
 package com.hz.employmentsite.vo.taskAndLog;
 
 
-import lombok.Data;
 import com.hz.employmentsite.util.datarange.annotations.DoTaskID;
 import com.hz.employmentsite.util.datarange.annotations.DoTaskID;
+import com.hz.employmentsite.util.datarange.annotations.RegionID;
+import com.hz.employmentsite.vo.baseSettings.SiteUserVo;
+import lombok.Data;
+
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
-import com.hz.employmentsite.vo.baseSettings.SiteUserVo;
 
 
 @Data
 @Data
 public class DoTaskVo {
 public class DoTaskVo {
@@ -32,6 +34,7 @@ public class DoTaskVo {
     
     
     public String streetName;
     public String streetName;
 
 
+    @RegionID
     public String regionCode;
     public String regionCode;
 
 
     public String streetCode;
     public String streetCode;

+ 11 - 1
src/main/java/com/hz/employmentsite/vo/taskAndLog/DoWorkVo.java

@@ -1,7 +1,11 @@
 package com.hz.employmentsite.vo.taskAndLog;
 package com.hz.employmentsite.vo.taskAndLog;
 
 
-import lombok.Data;
 import com.hz.employmentsite.util.datarange.annotations.DoWorkID;
 import com.hz.employmentsite.util.datarange.annotations.DoWorkID;
+import com.hz.employmentsite.util.datarange.annotations.InstitutionID;
+import com.hz.employmentsite.util.datarange.annotations.RegionID;
+import com.hz.employmentsite.util.datarange.annotations.SiteID;
+import lombok.Data;
+
 import java.sql.Date;
 import java.sql.Date;
 
 
 @Data
 @Data
@@ -26,6 +30,7 @@ public class DoWorkVo {
     public String modifyUserID;
     public String modifyUserID;
     public Date modifyTime;
     public Date modifyTime;
 
 
+    @RegionID
     public String regionCode;
     public String regionCode;
     public String regionName;
     public String regionName;
 
 
@@ -34,4 +39,9 @@ public class DoWorkVo {
 
 
     public Integer RecordsCompanyNum;
     public Integer RecordsCompanyNum;
     public Integer RecordsJobuserNum;
     public Integer RecordsJobuserNum;
+
+    @SiteID
+    private String siteID;
+    @InstitutionID
+    public String institutionID;
 }
 }

+ 1 - 1
src/main/java/com/hz/employmentsite/vo/user/UserModel.java

@@ -24,7 +24,7 @@ public class UserModel {
 
 
     public String updateBy;
     public String updateBy;
     public String token;
     public String token;
-    public String userTypeId;
+    public Integer userTypeId;
     public List<DataRange> dataRangeList;
     public List<DataRange> dataRangeList;
 
 
     public List<String> permissionList;
     public List<String> permissionList;

+ 3 - 3
src/main/resources/application.yml

@@ -123,8 +123,8 @@ appconfig:
     appSecret: '0d37c99bf2edd9ef3d839869bfa724ad'
     appSecret: '0d37c99bf2edd9ef3d839869bfa724ad'
     wxMessageBaseUrl: 'http://www.bowintek.com/hzyz/mobile/index.html/#'
     wxMessageBaseUrl: 'http://www.bowintek.com/hzyz/mobile/index.html/#'
     accessScope: 'snsapi_base'
     accessScope: 'snsapi_base'
-  ztndatagdgovConfig:
-    paasId: 'C90-44000930'
-    passToken: '7499876b824144c3b1675f8c1412c24c'
+    #ztndatagdgovConfig:
+    #paasId: 'C90-44000930'
+    #passToken: '7499876b824144c3b1675f8c1412c24c'
 
 
 
 

+ 5 - 0
src/main/resources/mapping/cquery/DoWorkCQuery.xml

@@ -13,12 +13,16 @@
         SELECT COUNT(jobuser.JobuserID) FROM pc_jobuser jobuser WHERE jobuser.CreateUserID = siteUser.UserId AND
         SELECT COUNT(jobuser.JobuserID) FROM pc_jobuser jobuser WHERE jobuser.CreateUserID = siteUser.UserId AND
         DATE(jobuser.CreateTime) = DATE(workLog.WorkTime)
         DATE(jobuser.CreateTime) = DATE(workLog.WorkTime)
         ) AS RecordsJobuserNum
         ) AS RecordsJobuserNum
+        ,site.SiteID as siteID,inSites.InstitutionID as institutionID
         from pc_dowork workLog
         from pc_dowork workLog
         left join (select * from sys_dictionary_item where DictionaryCode ='LogType' ) dic_logType on workLog.doTypeID =
         left join (select * from sys_dictionary_item where DictionaryCode ='LogType' ) dic_logType on workLog.doTypeID =
         dic_logType.Value
         dic_logType.Value
         left join area_code region on workLog.RegionCode = region.code
         left join area_code region on workLog.RegionCode = region.code
         left join area_code street on workLog.StreetCode = street.code
         left join area_code street on workLog.StreetCode = street.code
         left join pc_site_user siteUser on workLog.SiteUserID = siteUser.SiteUserID
         left join pc_site_user siteUser on workLog.SiteUserID = siteUser.SiteUserID
+        left join pc_site site on siteUser.siteID = site.siteID
+        left join pc_site_institution inSites on site.SiteID = inSites.SiteID
+        left join pc_institution institution on inSites.institutionID = institution.InstitutionID
         where 1=1
         where 1=1
         <if test="doWorkIDList!='' and doWorkIDList!=null">
         <if test="doWorkIDList!='' and doWorkIDList!=null">
             and doworkID in (${doWorkIDList})
             and doworkID in (${doWorkIDList})
@@ -44,5 +48,6 @@
         <if test="userId!='' and userId!=null">
         <if test="userId!='' and userId!=null">
             and workLog.createUserID = #{userId}
             and workLog.createUserID = #{userId}
         </if>
         </if>
+        order by workLog.createTime desc
     </select>
     </select>
 </mapper>
 </mapper>

+ 9 - 1
src/main/resources/mapping/cquery/JobHuntCQuery.xml

@@ -9,8 +9,12 @@
         ,jobUser.name as JobUserName,dic_jobUserType.Name as jobUserTypeStr,dic_huntJobType.Name as jobHuntTypeStr
         ,jobUser.name as JobUserName,dic_jobUserType.Name as jobUserTypeStr,dic_huntJobType.Name as jobHuntTypeStr
         ,profession.ProfessionName, profession.ParentProfessionID, IFNULL(count(rmgt.RecommendMgtID),0) as recommendNum
         ,profession.ProfessionName, profession.ParentProfessionID, IFNULL(count(rmgt.RecommendMgtID),0) as recommendNum
         ,jobUser.cultureRank
         ,jobUser.cultureRank
+        , site.SiteID as siteID, inSites.InstitutionID as institutionID, site.RegionCode as regionCode
         from pc_jobhunt jobHunt
         from pc_jobhunt jobHunt
         left join pc_jobuser jobUser on jobHunt.JobUserID = jobUser.JobUserID
         left join pc_jobuser jobUser on jobHunt.JobUserID = jobUser.JobUserID
+        left join pc_site site on site.SiteID = jobuser.SiteID
+        left join pc_site_institution inSites on site.SiteID = inSites.SiteID
+        left join pc_institution institution on inSites.institutionID = institution.InstitutionID
         left join pc_profession profession on jobHunt.professionID = profession.professionID
         left join pc_profession profession on jobHunt.professionID = profession.professionID
         left join pc_recommend_mgt rmgt on jobHunt.JobHuntID = rmgt.JobHuntID
         left join pc_recommend_mgt rmgt on jobHunt.JobHuntID = rmgt.JobHuntID
         left join (select * from sys_dictionary_item where DictionaryCode ='JobUserType') dic_jobUserType on
         left join (select * from sys_dictionary_item where DictionaryCode ='JobUserType') dic_jobUserType on
@@ -59,7 +63,11 @@
         jobHunt.AreaWork, jobHunt.InDate, jobHunt.WorkYear, jobHunt.JobHuntType, jobHunt.JobUserType, jobHunt.MinSalary,
         jobHunt.AreaWork, jobHunt.InDate, jobHunt.WorkYear, jobHunt.JobHuntType, jobHunt.JobUserType, jobHunt.MinSalary,
         jobHunt.MaxSalary, jobHunt.CreateUserID, jobHunt.CreateTime, jobHunt.ModifyUserID, jobHunt.ModifyTime,
         jobHunt.MaxSalary, jobHunt.CreateUserID, jobHunt.CreateTime, jobHunt.ModifyUserID, jobHunt.ModifyTime,
         jobHunt.OtherDemand
         jobHunt.OtherDemand
-        ,jobUser.`Name`,dic_jobUserType.`Name`,dic_huntJobType.`Name`, profession.ProfessionName, profession.ParentProfessionID,jobUser.cultureRank
+        ,jobUser.`Name`,dic_jobUserType.`Name`,dic_huntJobType.`Name`, profession.ProfessionName,
+        profession.ParentProfessionID,jobUser.cultureRank,site.SiteID,inSites.InstitutionID,site.RegionCode
         order by jobHunt.CreateTime desc
         order by jobHunt.CreateTime desc
     </select>
     </select>
+    <!--    getJobHuntList的分组
+
+    -->
 </mapper>
 </mapper>

+ 6 - 1
src/main/resources/mapping/cquery/JobUserCQuery.xml

@@ -2,7 +2,10 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.hz.employmentsite.mapper.cquery.JobUserCQuery">
 <mapper namespace="com.hz.employmentsite.mapper.cquery.JobUserCQuery">
     <select id="selectJobUserList" resultType="com.hz.employmentsite.vo.jobUserManager.JobUserVo">
     <select id="selectJobUserList" resultType="com.hz.employmentsite.vo.jobUserManager.JobUserVo">
-        select jobuser.* ,gender.name as GenderName,culture.name as CultureName,site.SiteName,jobstatus.name as
+        select jobuser.* ,gender.name as GenderName,culture.name as
+        CultureName,
+        site.SiteName,inSites.InstitutionID as institutionID,
+        jobstatus.name as
         JobStatusName,keytype.name as KeyTypeName,sys_politics.name as politicsStatusName,sys_health.name as healthName,
         JobStatusName,keytype.name as KeyTypeName,sys_politics.name as politicsStatusName,sys_health.name as healthName,
         sys_family.name as familyNatureName,sys_full_time.Name as isFullTimeName,occ_cat.OccupationalName as
         sys_family.name as familyNatureName,sys_full_time.Name as isFullTimeName,occ_cat.OccupationalName as
         occupationalCategoryName,
         occupationalCategoryName,
@@ -42,6 +45,8 @@
         jobuser.MaritalStatusID = sys_marital_status.Value
         jobuser.MaritalStatusID = sys_marital_status.Value
         left join area_code area_region on jobuser.RegionCode = area_region.code
         left join area_code area_region on jobuser.RegionCode = area_region.code
         left join area_code area_street on jobuser.StreetCode = area_street.code
         left join area_code area_street on jobuser.StreetCode = area_street.code
+        left join pc_site_institution inSites on site.SiteID = inSites.SiteID
+        left join pc_institution institution on inSites.institutionID = institution.InstitutionID
         where 1=1
         where 1=1
         <if test="jobUserIDList != '' and jobUserIDList != null">
         <if test="jobUserIDList != '' and jobUserIDList != null">
             and jobuser.jobuserID in (${jobUserIDList})
             and jobuser.jobuserID in (${jobUserIDList})

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

@@ -8,16 +8,25 @@
         post.TrailMaxSalary,post.trailMinSalary,post.createUserID,post.createTime,post.modifyUserID,post.modifyTime,post.validTime,post.startTime,post.endTime,
         post.TrailMaxSalary,post.trailMinSalary,post.createUserID,post.createTime,post.modifyUserID,post.modifyTime,post.validTime,post.startTime,post.endTime,
         post.contactName,post.contactMobile,post.contactEmail,
         post.contactName,post.contactMobile,post.contactEmail,
         post.jobPlace,post.contactName,post.contactMobile,post.contactEmail,post.workNatureID,post.tagID,company.userName,company.userMobile,company.companyEmail,
         post.jobPlace,post.contactName,post.contactMobile,post.contactEmail,post.workNatureID,post.tagID,company.userName,company.userMobile,company.companyEmail,
-        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,
+        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
         , IFNULL(count(rmgt.RecommendMgtID),0) as recommendNum
+        , site.SiteID, site.SiteName, inSites.InstitutionID as institutionID, company.RegionCode
         from pc_post post
         from pc_post post
         left join pc_company company on post.CompanyID = company.CompanyID
         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 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
         left join sys_dictionary_item work_nature on work_nature.value=post.WorkNatureID and
         work_nature.DictionaryCode='WorkNature'
         work_nature.DictionaryCode='WorkNature'
         left join pc_profession pro on post.ProfessionID = pro.ProfessionID
         left join pc_profession pro on post.ProfessionID = pro.ProfessionID
         left join pc_recommend_mgt rmgt on post.PostID = rmgt.PostID
         left join pc_recommend_mgt rmgt on post.PostID = rmgt.PostID
+        left join pc_site site on company.siteID = site.siteID
+        left join pc_site_institution inSites on site.SiteID = inSites.SiteID
+        left join pc_institution institution on inSites.institutionID = institution.InstitutionID
         <where>
         <where>
             <if test="postIDList != '' and postIDList != null">
             <if test="postIDList != '' and postIDList != null">
                 and post.postID in (${postIDList})
                 and post.postID in (${postIDList})
@@ -46,7 +55,7 @@
         post.workYear,post.cultureRank,post.postDesc,post.maxSalary,post.minSalary,post.welfare,post.postEmail,post.workTime,post.isTrail,post.trailMonths,
         post.workYear,post.cultureRank,post.postDesc,post.maxSalary,post.minSalary,post.welfare,post.postEmail,post.workTime,post.isTrail,post.trailMonths,
         post.TrailMaxSalary,post.trailMinSalary,post.createUserID,post.createTime,post.modifyUserID,post.modifyTime,post.validTime,post.startTime,post.endTime,
         post.TrailMaxSalary,post.trailMinSalary,post.createUserID,post.createTime,post.modifyUserID,post.modifyTime,post.validTime,post.startTime,post.endTime,
         post.jobPlace,company.userName,company.userMobile,company.companyEmail,company.CompanyName,company.insuredCount,item.`Name`,
         post.jobPlace,company.userName,company.userMobile,company.companyEmail,company.CompanyName,company.insuredCount,item.`Name`,
-        post.ProfessionID,pro.ProfessionName,pro.parentProfessionID
+        post.ProfessionID,pro.ProfessionName,pro.parentProfessionID,site.SiteID,site.SiteName,inSites.InstitutionID,company.RegionCode
         order by post.CreateTime desc
         order by post.CreateTime desc
     </select>
     </select>
     <select id="selectRecommendPostList" resultType="com.hz.employmentsite.vo.companyService.RecommendPostVo">
     <select id="selectRecommendPostList" resultType="com.hz.employmentsite.vo.companyService.RecommendPostVo">

+ 6 - 2
src/main/resources/mapping/cquery/RecommendMgtCQuery.xml

@@ -10,6 +10,7 @@
         dic4.`name` as jobpeopleisreadname,g.`name` as pushname, dic5.`name` as gendername
         dic4.`name` as jobpeopleisreadname,g.`name` as pushname, dic5.`name` as gendername
         ,e.jobuserId,c.companyId
         ,e.jobuserId,c.companyId
         ,d.workYear
         ,d.workYear
+        ,site.SiteID, site.SiteName,inSites.InstitutionID as institutionID,site.RegionCode
         from pc_recommend_mgt a
         from pc_recommend_mgt a
         inner join pc_post b on a.PostID = b.PostID
         inner join pc_post b on a.PostID = b.PostID
         left join pc_company c on b.CompanyID = c.CompanyID
         left join pc_company c on b.CompanyID = c.CompanyID
@@ -28,6 +29,9 @@
         left join (select `Value`,`Name` from sys_dictionary_item where DictionaryCode='Gender') dic5 on e.Sex =
         left join (select `Value`,`Name` from sys_dictionary_item where DictionaryCode='Gender') dic5 on e.Sex =
         dic5.`Value`
         dic5.`Value`
         left join sys_user g on a.CreateUserID = g.UserID
         left join sys_user g on a.CreateUserID = g.UserID
+        left join pc_site site on e.SiteID = site.SiteID
+        left join pc_site_institution inSites on site.SiteID = inSites.SiteID
+        left join pc_institution institution on inSites.institutionID = institution.InstitutionID
         <where>
         <where>
             <if test="recommendMgtID != '' and recommendMgtID != null">
             <if test="recommendMgtID != '' and recommendMgtID != null">
                 and a.RecommendMgtID = #{recommendMgtID}
                 and a.RecommendMgtID = #{recommendMgtID}
@@ -130,7 +134,7 @@
         left join pc_jobuser b on a.JobUserID = b.JobUserID
         left join pc_jobuser b on a.JobUserID = b.JobUserID
         left join pc_profession c on a.ProfessionID = c.ProfessionID
         left join pc_profession c on a.ProfessionID = c.ProfessionID
         left join pc_site e on b.SiteID = e.SiteID
         left join pc_site e on b.SiteID = e.SiteID
-        left join (select `Value`,`Name` from sys_dictionary_item where DictionaryCode='CultureLevel') dic1 on
+        left join (select `Value`,`Name` from sys_dictionary_item where DictionaryCode='HighestDegree') dic1 on
         b.CultureRank = dic1.`Value`
         b.CultureRank = dic1.`Value`
         left join (select `Value`,`Name` from sys_dictionary_item where DictionaryCode='KeyPersonType') dic2 on
         left join (select `Value`,`Name` from sys_dictionary_item where DictionaryCode='KeyPersonType') dic2 on
         b.KeyPersonTypeID = dic2.`Value`
         b.KeyPersonTypeID = dic2.`Value`
@@ -149,7 +153,7 @@
                 and b.KeyPersonTypeID = #{keyPersonType}
                 and b.KeyPersonTypeID = #{keyPersonType}
             </if>
             </if>
             <if test="cultureRank!=null and cultureRank!=''">
             <if test="cultureRank!=null and cultureRank!=''">
-                and b.CultureRank <![CDATA[>=]]> #{cultureRank}
+                and b.CultureRank <![CDATA[<=]]> #{cultureRank}
             </if>
             </if>
             <choose>
             <choose>
                 <when test="parentProfessionID!=null and parentProfessionID!=''">
                 <when test="parentProfessionID!=null and parentProfessionID!=''">

+ 10 - 2
vue/src/views/baseSettings/institution/index.vue

@@ -34,7 +34,8 @@
       <a-row class="edit-operation">
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
         <a-col :span="24" style="text-align: right">
           <a-button type="primary" html-type="submit" functioncode="T01010102" @click='onAdd' >新增</a-button>
           <a-button type="primary" html-type="submit" functioncode="T01010102" @click='onAdd' >新增</a-button>
-          <BExportExcel :title="'导出'"   :filename="'运营机构信息'" :url="'institution/export'" :params="{...searchParams, rows:100000,institutionIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+          <BExportExcel :title="'导出'" :filename="'运营机构信息'" :url="'institution/export'"
+                        :params="{...exportSearchParams, rows:100000,institutionIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -83,6 +84,12 @@ export default defineComponent({
       companyAddress: '',
       companyAddress: '',
       dutyUserName:''
       dutyUserName:''
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -190,7 +197,8 @@ export default defineComponent({
       onEdit,
       onEdit,
       onDel,
       onDel,
       loadData,
       loadData,
-      onDetail
+      onDetail,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 10 - 2
vue/src/views/baseSettings/siteInfo/index.vue

@@ -80,7 +80,8 @@
       <a-row class="edit-operation">
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
         <a-col :span="24" style="text-align: right">
           <a-button type="primary" html-type="submit"  functioncode="T01010202" @click='onAdd' >新增</a-button>
           <a-button type="primary" html-type="submit"  functioncode="T01010202" @click='onAdd' >新增</a-button>
-          <BExportExcel :title="'导出'" :filename="'驿站站点信息'" :url="'siteInfo/export'" :params="{...searchParams, rows:100000,siteIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+          <BExportExcel :title="'导出'" :filename="'驿站站点信息'" :url="'siteInfo/export'"
+                        :params="{...exportSearchParams, rows:100000,siteIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -134,6 +135,12 @@ export default defineComponent({
       regionCode:'',
       regionCode:'',
       streetCode:'',
       streetCode:'',
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -270,7 +277,8 @@ export default defineComponent({
       onDel,
       onDel,
       loadData,
       loadData,
       changeRegion,
       changeRegion,
-      onDetail
+      onDetail,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 11 - 3
vue/src/views/baseSettings/siteUser/index.vue

@@ -45,7 +45,8 @@
                         :options="importOptions"
                         :options="importOptions"
                         @success="loadData"
                         @success="loadData"
           ></BImportExcel>
           ></BImportExcel>
-          <BExportExcel :title="'导出'" :filename="'驿站人员信息'" :url="'userInfo/export'" :params="{...searchParams, rows:100000,siteUserIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+          <BExportExcel :title="'导出'" :filename="'驿站人员信息'" :url="'userInfo/export'"
+                        :params="{...exportSearchParams, rows:100000,siteUserIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -98,6 +99,12 @@ export default defineComponent({
       siteID: '',
       siteID: '',
       userNo: ""
       userNo: ""
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -233,7 +240,7 @@ export default defineComponent({
     };
     };
 
 
     const onEdit = (id: string) => {
     const onEdit = (id: string) => {
-      tabsViewStore.addTabByPath('/baseSettings/user/edit', {id:id,op:2});
+      tabsViewStore.addTabByPath('/baseSettings/user/edit', {id: id, op: 1});
     };
     };
 
 
     const onDetail = (id: string) => {
     const onDetail = (id: string) => {
@@ -256,7 +263,8 @@ export default defineComponent({
       onDel,
       onDel,
       loadData,
       loadData,
       onDetail,
       onDetail,
-      importOptions
+      importOptions,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 2 - 1
vue/src/views/companyService/company/edit.vue

@@ -339,7 +339,8 @@
             name="insuredCount"
             name="insuredCount"
             :rules="[{ required: false, message: '请输入参保人数!' }]"
             :rules="[{ required: false, message: '请输入参保人数!' }]"
           >
           >
-            <a-input v-model:value="dataModel.insuredCount" placeholder=""/>
+            <a-input-number :min="0" style="width: 100%" :controls="false" v-model:value="dataModel.insuredCount"
+                            placeholder=""/>
           </a-form-item>
           </a-form-item>
         </a-col>
         </a-col>
       </a-row>
       </a-row>

+ 9 - 2
vue/src/views/companyService/company/index.vue

@@ -87,7 +87,7 @@
           ></BImportExcel>
           ></BImportExcel>
           <BExportExcel :title="'导出'" :filename="'企业信息'"
           <BExportExcel :title="'导出'" :filename="'企业信息'"
                         :url="'companyService/company/export'"
                         :url="'companyService/company/export'"
-                        :params="{...searchParams, isExport: true, rows:10000,companyIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+                        :params="{...exportSearchParams, isExport: true, rows:10000,companyIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -148,6 +148,12 @@ export default defineComponent({
       regionCode: '',
       regionCode: '',
       streetCode: ''
       streetCode: ''
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -329,7 +335,8 @@ export default defineComponent({
       recordStatusList,
       recordStatusList,
       regionList,
       regionList,
       streetList,
       streetList,
-      onDetail
+      onDetail,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 13 - 6
vue/src/views/companyService/post/index.vue

@@ -76,7 +76,7 @@
           ></BImportExcel>
           ></BImportExcel>
           <BExportExcel :title="'导出'" :filename="'岗位信息'"
           <BExportExcel :title="'导出'" :filename="'岗位信息'"
                         :url="'companyService/post/export'"
                         :url="'companyService/post/export'"
-                        :params="{...searchParams, isExport: true, rows:10000,postIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+                        :params="{...exportSearchParams, isExport: true, rows:10000,postIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -136,6 +136,12 @@ export default defineComponent({
       professionName: null,
       professionName: null,
       recordStatus: null
       recordStatus: null
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const expand = ref(false);
     const expand = ref(false);
     const companyList = ref<SelectProps['options']>();
     const companyList = ref<SelectProps['options']>();
     const postStatusList = [{name: '启用', value: 1}, {name: '禁用', value: 0}];
     const postStatusList = [{name: '启用', value: 1}, {name: '禁用', value: 0}];
@@ -198,15 +204,15 @@ export default defineComponent({
         }
         }
       },
       },
       // {title: '工种名称', dataIndex: 'workName', key: 'workName', align: "center"},
       // {title: '工种名称', dataIndex: 'workName', key: 'workName', align: "center"},
-      {title: '文化程度', dataIndex: 'cultureLevelName', key: 'cultureLevelName', width: 150, align: "center"},
+      {title: '学历要求', dataIndex: 'cultureLevelName', key: 'cultureLevelName', width: 150, align: "center"},
       {
       {
         title: '薪酬', dataIndex: 'postSalary', key: 'postSalary', align: "center", customRender: (item) => {
         title: '薪酬', dataIndex: 'postSalary', key: 'postSalary', align: "center", customRender: (item) => {
           const salary = showSalary(item.record.minSalary,item.record.maxSalary);/*`${item.record.minSalary ?? ""}-${item.record.maxSalary ?? ""}`*/
           const salary = showSalary(item.record.minSalary,item.record.maxSalary);/*`${item.record.minSalary ?? ""}-${item.record.maxSalary ?? ""}`*/
           return salary;
           return salary;
         }
         }
       },
       },
-      {title: '联系人', dataIndex: 'userName', key: 'userName', align: "center"},
-      {title: '联系电话', dataIndex: 'userMobile', key: 'userMobile', width: 200, align: "center"},
+      {title: '联系人', dataIndex: 'contactName', key: 'contactName', align: "center"},
+      {title: '联系电话', dataIndex: 'contactMobile', key: 'contactMobile', width: 200, align: "center"},
       {title: '推荐数量', dataIndex: 'recommendNum',key: 'recommendNum',width: 100, align: "center"},
       {title: '推荐数量', dataIndex: 'recommendNum',key: 'recommendNum',width: 100, align: "center"},
       {title: '操作', key: 'operation', fixed: 'right', width: 240, align: "center"},
       {title: '操作', key: 'operation', fixed: 'right', width: 240, align: "center"},
     ];
     ];
@@ -243,7 +249,7 @@ export default defineComponent({
     }
     }
 
 
     const onRecommendInfo = (item) =>{
     const onRecommendInfo = (item) =>{
-      recommendRef.value.show(item.professionID,item.parentProfessionID,item.professionName,item.postID,item.companyName,1,'求职人员信息');
+      recommendRef.value.show('','',item.professionName,item.postID,item.companyName,1,'求职人员信息');
     }
     }
 
 
     const handleTableChange: TableProps['onChange'] = (pag: { pageSize: number; current: number },) => {
     const handleTableChange: TableProps['onChange'] = (pag: { pageSize: number; current: number },) => {
@@ -327,7 +333,8 @@ export default defineComponent({
       expand,
       expand,
       postStatusList,
       postStatusList,
       companyList,
       companyList,
-      onDetail
+      onDetail,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 4 - 2
vue/src/views/companyService/post/recommend.vue

@@ -29,7 +29,7 @@
                        placeholder=""/>
                        placeholder=""/>
             </a-form-item>
             </a-form-item>
           </a-col>
           </a-col>
-          <a-col :span="6" style="text-align: center;">
+          <a-col :span="6" style="text-align: center;" v-if="searchParams.type===0">
             <a-form-item label="" :label-col="{ span: 4 }" name="checkParentProfessionID">
             <a-form-item label="" :label-col="{ span: 4 }" name="checkParentProfessionID">
               <a-checkbox
               <a-checkbox
                 v-model:checked="searchParams.checkParentProfessionID"
                 v-model:checked="searchParams.checkParentProfessionID"
@@ -49,7 +49,7 @@
                 searchParams.userName= '';
                 searchParams.userName= '';
                 searchParams.keyPersonType= null;
                 searchParams.keyPersonType= null;
                 searchParams.parentProfessionID= '';
                 searchParams.parentProfessionID= '';
-                searchParams.checkParentProfessionID= false;
+                searchParams.checkParentProfessionID = false;
                 searchParams.cultureRank= null;
                 searchParams.cultureRank= null;
                 searchParams.workYear= null;
                 searchParams.workYear= null;
                 searchParams.minSalary= null;
                 searchParams.minSalary= null;
@@ -268,6 +268,8 @@ export default defineComponent({
       visible.value = true;
       visible.value = true;
       title.value = titleName;
       title.value = titleName;
       parentProfessionID.value = parentID;
       parentProfessionID.value = parentID;
+      searchParams.checkParentProfessionID = false;
+      searchParams.parentProfessionID = "";
       searchParams.postID = postID;
       searchParams.postID = postID;
       searchParams.companyName = companyName;
       searchParams.companyName = companyName;
       searchParams.professionID = professionID;
       searchParams.professionID = professionID;

+ 19 - 8
vue/src/views/jobUserManager/jobhunt/index.vue

@@ -19,9 +19,11 @@
         </a-col>
         </a-col>
         <a-col :span="8">
         <a-col :span="8">
           <a-form-item label="工作年限" :label-col="{ span: 6 }" name="workYear">
           <a-form-item label="工作年限" :label-col="{ span: 6 }" name="workYear">
-            <a-input type="number" v-model:value="searchParamsState.minWorkYear" style="width:110px;" placeholder=""/>
+            <a-input-number :min="0" :controls="false" v-model:value="searchParamsState.minWorkYear"
+                            style="width:110px;" placeholder=""/>
             <label style="margin:10px;">-</label>
             <label style="margin:10px;">-</label>
-            <a-input type="number" v-model:value="searchParamsState.maxWorkYear" style="width:110px;" placeholder=""/>
+            <a-input-number :min="searchParamsState.minWorkYear" :controls="false"
+                            v-model:value="searchParamsState.maxWorkYear" style="width:110px;" placeholder=""/>
           </a-form-item>
           </a-form-item>
         </a-col>
         </a-col>
         <a-col :span="4" style="text-align: left">
         <a-col :span="4" style="text-align: left">
@@ -76,9 +78,12 @@
         </a-col>
         </a-col>
         <a-col :span="8">
         <a-col :span="8">
           <a-form-item label="月薪要求" :label-col="{ span: 6 }" name="salary">
           <a-form-item label="月薪要求" :label-col="{ span: 6 }" name="salary">
-            <a-input type="number" v-model:value="searchParamsState.minSalary" style="width:110px;" placeholder=""/>
+            <a-input-number style="width: 110px" :controls="false" :min="0" v-model:value="searchParamsState.minSalary"
+                            placeholder=""/>
             <label style="margin:10px;">-</label>
             <label style="margin:10px;">-</label>
-            <a-input type="number" v-model:value="searchParamsState.maxSalary" style="width:110px;" placeholder=""/>
+            <a-input-number style="width: 110px" :controls="false" :min="searchParamsState.minSalary"
+                            v-model:value="searchParamsState.maxSalary"
+                            placeholder=""/>
           </a-form-item>
           </a-form-item>
         </a-col>
         </a-col>
         <a-col :span="4" style="text-align: left"></a-col>
         <a-col :span="4" style="text-align: left"></a-col>
@@ -108,7 +113,7 @@
                         @success="loadData"
                         @success="loadData"
           ></BImportExcel>
           ></BImportExcel>
           <BExportExcel :title="'导出'" :filename="'求职意向信息'" :url="'/jobUserService/jobHunt/export'"
           <BExportExcel :title="'导出'" :filename="'求职意向信息'" :url="'/jobUserService/jobHunt/export'"
-                        :params="{...searchParamsState, rows:100000,jobHuntIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+                        :params="{...exportSearchParams, rows:100000,jobHuntIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -177,6 +182,12 @@ export default defineComponent({
       maxSalary: null,
       maxSalary: null,
       isAccomplish: null
       isAccomplish: null
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParamsState));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -336,9 +347,8 @@ export default defineComponent({
     }
     }
 
 
     const onRecommendInfo = (item) => {
     const onRecommendInfo = (item) => {
-      recommendRef.value.show(item.professionID, item.professionName, item.jobHuntID, item.jobUserName, 1,
-        item.parentProfessionID, item.cultureRank, item.workYear, item.minSalary, item.maxSalary,
-        '求职人员信息');
+      recommendRef.value.show('', item.professionName, item.jobHuntID, item.jobUserName, 1,
+       '', null, null, null, null, '求职人员信息');
     }
     }
 
 
     const getJobHuntTypeList = () => {
     const getJobHuntTypeList = () => {
@@ -372,6 +382,7 @@ export default defineComponent({
       jobUserTypeList,
       jobUserTypeList,
       isAccomplishList,
       isAccomplishList,
       recommendRef,
       recommendRef,
+      exportSearchParams,
       showSalary,
       showSalary,
       loadData,
       loadData,
       onSearch,
       onSearch,

+ 1 - 1
vue/src/views/jobUserManager/jobhunt/recommend.vue

@@ -63,7 +63,7 @@
             <!--          </a>-->
             <!--          </a>-->
           </a-col>
           </a-col>
         </a-row>
         </a-row>
-        <a-row :gutter="24">
+        <a-row :gutter="24" v-if="searchParams.type===0" >
           <a-col :span="16">
           <a-col :span="16">
             <a-form-item label="推荐岗位筛选:" :label-col="{ span: 4 }" name="recommendPostWhere">
             <a-form-item label="推荐岗位筛选:" :label-col="{ span: 4 }" name="recommendPostWhere">
               <!--              <div :style="{ borderBottom: '1px solid #E9E9E9' }">-->
               <!--              <div :style="{ borderBottom: '1px solid #E9E9E9' }">-->

+ 12 - 5
vue/src/views/jobUserManager/jobuser/index.vue

@@ -74,7 +74,7 @@
           </a-form-item>
           </a-form-item>
         </a-col>
         </a-col>
         <a-col :span="6">
         <a-col :span="6">
-          <a-form-item label="文化程度" :label-col="{ span: 8 }" name="educationId">
+          <a-form-item label="最高学历" :label-col="{ span: 8 }" name="educationId">
             <a-select
             <a-select
               ref="select"
               ref="select"
               v-model:value="searchParamsState.educationTypeId"
               v-model:value="searchParamsState.educationTypeId"
@@ -105,7 +105,7 @@
           <a-button type="primary" html-type="submit" @click='onAdd' functioncode="T01030102">新增</a-button>
           <a-button type="primary" html-type="submit" @click='onAdd' functioncode="T01030102">新增</a-button>
           <BExportExcel :title="'导出'" :filename="'求职人员信息'"
           <BExportExcel :title="'导出'" :filename="'求职人员信息'"
                         :url="'jobUserService/jobUser/export'"
                         :url="'jobUserService/jobUser/export'"
-                        :params="{...searchParamsState, isExport: true, rows:10000,jobUserIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
+                        :params="{...exportSearchParams, isExport: true, rows:10000,jobUserIDList:formState.selectedRowKeys.join(',')}"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
     </a-form>
     </a-form>
@@ -165,6 +165,12 @@ export default defineComponent({
       educationTypeId: null,
       educationTypeId: null,
       emphasisTypeId: null
       emphasisTypeId: null
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParamsState));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -190,7 +196,7 @@ export default defineComponent({
           return calculateAge(item.record.identityNumber);
           return calculateAge(item.record.identityNumber);
         }
         }
       },
       },
-      {title: '文化程度', dataIndex: 'cultureName', key: 'cultureName',align: "center"},
+      {title: '最高学历', dataIndex: 'cultureName', key: 'cultureName', align: "center"},
       {title: '地址', dataIndex: 'address', key: 'address',align: "center"},
       {title: '地址', dataIndex: 'address', key: 'address',align: "center"},
       {title: '就业状态', dataIndex: 'jobStatusName', key: 'jobStatusName',align: "center"},
       {title: '就业状态', dataIndex: 'jobStatusName', key: 'jobStatusName',align: "center"},
       {title: '重点人员类别', dataIndex: 'keyTypeName', key: 'keyTypeName',align: "center"},
       {title: '重点人员类别', dataIndex: 'keyTypeName', key: 'keyTypeName',align: "center"},
@@ -276,7 +282,7 @@ export default defineComponent({
     };
     };
 
 
     const getEducationList = () => {
     const getEducationList = () => {
-      getSysDictionaryList('CultureLevel').then((data) => {
+      getSysDictionaryList('HighestDegree').then((data) => {
         educationTypeList.value = data;
         educationTypeList.value = data;
       });
       });
     };
     };
@@ -352,7 +358,8 @@ export default defineComponent({
       getEmphasisTypeList,
       getEmphasisTypeList,
       calculateAge,
       calculateAge,
       onVitae,
       onVitae,
-      expand
+      expand,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 4 - 4
vue/src/views/jobUserManager/jobuser/vitae.vue

@@ -8,7 +8,7 @@
           <a-avatar :size="72" :src="avtImg"></a-avatar>
           <a-avatar :size="72" :src="avtImg"></a-avatar>
         </div>
         </div>
         <!-- 姓名 -->
         <!-- 姓名 -->
-        <h1>{{ jobUserInfo.name }}</h1>
+        <p class="nameTitle">{{ jobUserInfo.name }}</p>
         <!-- 性别,年龄,民族 -->
         <!-- 性别,年龄,民族 -->
         <div class="age-info">
         <div class="age-info">
           <span>
           <span>
@@ -90,8 +90,8 @@
         <a-timeline style="margin-left: 25px;">
         <a-timeline style="margin-left: 25px;">
           <a-timeline-item v-for="(item, key) in experienceData" :key="key" position="left">
           <a-timeline-item v-for="(item, key) in experienceData" :key="key" position="left">
             <p>{{ dayjs(item.startTime).format('YYYY-MM-DD') }}至{{ dayjs(item.endTime).format('YYYY-MM-DD') }}</p>
             <p>{{ dayjs(item.startTime).format('YYYY-MM-DD') }}至{{ dayjs(item.endTime).format('YYYY-MM-DD') }}</p>
-            <h1>{{ item.workAddress }}</h1>
-            <h1>{{ item.duties }}</h1>
+            <p>{{ item.workAddress }}</p>
+            <p>{{ item.duties }}</p>
           </a-timeline-item>
           </a-timeline-item>
         </a-timeline>
         </a-timeline>
       </div>
       </div>
@@ -280,7 +280,7 @@ onMounted(() => {
         }
         }
       }
       }
 
 
-      h1 {
+      .nameTitle {
         margin-top: 1rem;
         margin-top: 1rem;
         text-align: center;
         text-align: center;
         font-size: 20px;
         font-size: 20px;

+ 9 - 2
vue/src/views/taskAndLog/dotask/index.vue

@@ -78,7 +78,7 @@
         <a-col :span="24" style="text-align: right">
         <a-col :span="24" style="text-align: right">
           <a-button functioncode="T01040102" html-type="submit" type="primary" @click='onAdd'>新增</a-button>
           <a-button functioncode="T01040102" html-type="submit" type="primary" @click='onAdd'>新增</a-button>
           <BExportExcel :filename="'任务信息'"
           <BExportExcel :filename="'任务信息'"
-                        :params="{...searchParams, isExport: true, rows:10000,doTaskIDList:formState.selectedRowKeys.join(',')}"
+                        :params="{...exportSearchParams, isExport: true, rows:10000,doTaskIDList:formState.selectedRowKeys.join(',')}"
                         :title="'导出'"
                         :title="'导出'"
                         :url="'taskAndLog/doTask/export'"></BExportExcel>
                         :url="'taskAndLog/doTask/export'"></BExportExcel>
         </a-col>
         </a-col>
@@ -135,6 +135,12 @@ export default defineComponent({
       regionCode: '',
       regionCode: '',
       streetCode: ''
       streetCode: ''
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -314,7 +320,8 @@ export default defineComponent({
       onAdd,
       onAdd,
       onEdit,
       onEdit,
       dayjs,
       dayjs,
-      onDetail
+      onDetail,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {

+ 10 - 1
vue/src/views/taskAndLog/dowork/index.vue

@@ -66,7 +66,9 @@
       <a-row class="edit-operation">
       <a-row class="edit-operation">
         <a-col :span="24" style="text-align: right">
         <a-col :span="24" style="text-align: right">
           <a-button functioncode="T01040202" html-type="submit" type="primary" @click='onAdd'>新增</a-button>
           <a-button functioncode="T01040202" html-type="submit" type="primary" @click='onAdd'>新增</a-button>
-          <BExportExcel :filename="'工作日志信息'" :params="{...searchParams, rows:100000,doWorkIDList:formState.selectedRowKeys.join(',')}" :title="'导出'"
+          <BExportExcel :filename="'工作日志信息'"
+                        :params="{...exportSearchParams, rows:100000,doWorkIDList:formState.selectedRowKeys.join(',')}"
+                        :title="'导出'"
                         :url="'taskAndLog/doWork/export'"></BExportExcel>
                         :url="'taskAndLog/doWork/export'"></BExportExcel>
         </a-col>
         </a-col>
       </a-row>
       </a-row>
@@ -148,6 +150,12 @@ export default defineComponent({
       regionCode: '',
       regionCode: '',
       streetCode: ''
       streetCode: ''
     });
     });
+    // 导出Excel查询参数
+    const exportSearchParams = computed(() => {
+      let data = JSON.parse(JSON.stringify(searchParams));
+      data.pageSize = formState.total;
+      return data;
+    })
     const formState = reactive({
     const formState = reactive({
       total: 0,
       total: 0,
       selectedRowKeys: [],
       selectedRowKeys: [],
@@ -340,6 +348,7 @@ export default defineComponent({
       onRecordsJobUserInfo,
       onRecordsJobUserInfo,
       companyTableComRef,
       companyTableComRef,
       jobUserTableComRef,
       jobUserTableComRef,
+      exportSearchParams
     };
     };
   },
   },
   created() {
   created() {