lizeyu 10 months ago
parent
commit
97cc3267bf

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

@@ -50,12 +50,16 @@ import {
     IonTextarea,
     IonInfiniteScroll,
     IonInfiniteScrollContent,
-    IonModal
+    IonModal,
+    IonPopover,
+    IonAvatar
 } from '@ionic/vue';
 import type {App} from 'vue';
 import BFileList from "@/components/fileList.vue"
 import BApproveList from "@/components/ApproveList.vue";
 import Approve from "@/components/Approve.vue"
+import PostSelection from "@/components/postSelection.vue";
+import BEmpty from "@/components/empty.vue";
 
 export function setupIonic(app: App<Element>) {
     app.component("IonButton", IonButton)
@@ -103,7 +107,11 @@ export function setupIonic(app: App<Element>) {
         .component("IonItemOption", IonItemOption)
         .component(IonText.name, IonText)
         .component(IonTextarea.name, IonTextarea)
+        .component('IonPopover', IonPopover)
+        .component('IonAvatar', IonAvatar)
         .component('BFileList', BFileList)
         .component('BApproveList', BApproveList)
-        .component('Approve', Approve);
+        .component('Approve', Approve)
+        .component('PostSelection', PostSelection)
+        .component('BEmpty', BEmpty);
 }

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

@@ -17,13 +17,12 @@
                     v-model="searchParams.name" style="border: 1px solid #f2f2f5;border-radius: 14px;--padding-start: 10px;height: 35px;"></ion-input>
         <ion-button slot="end" style="height: 33px;width: 70px;margin-left: 10px;--box-shadow: none;--border-radius: 14px;" @click="reload">搜索</ion-button>
       </ion-item>
-
       <div class="bw-vue-list">
         <div class="list-content" v-if="!loading">
           <ion-list>
             <div v-for="(record,key) in dataList" :key="key">
               <ion-item-sliding>
-                <ion-item detail  @click="onDetail(record.jobUserID)">
+                <ion-item detail @click="onDetail(record.jobUserID)">
                   <ion-label>
                     <div class="multi-title">
                       <h2>{{ record.name }}</h2>

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

@@ -1,5 +1,5 @@
 <template>
-  <ion-page class="list-page recommend-list-page">
+  <ion-page class="list-page">
     <ion-header class="header-theme2">
       <ion-toolbar>
         <ion-buttons slot="start">
@@ -123,7 +123,8 @@ export default defineComponent({
 
     const onRecommendJob = (item: any) => {
       router.push({
-        path: './recommend', query: {
+        path: './recommend',
+        query: {
           reload: 1,
           professionID: item.professionID,
           professionName: item.professionName,

+ 46 - 37
h5app/src/views/pages/jobhunt/recommend/recommend.vue

@@ -22,12 +22,12 @@
                      :dismiss-on-select="false">
           <ion-content>
             <ion-list>
-              <ion-item v-for="(record,key) in recommendPostWhereList" :key="key">
+              <ion-item v-for="(record,key) in recommendWhereList" :key="key">
                 <ion-checkbox :detail="false" v-model="record.check" label-placement="end">{{ record.name }}
                 </ion-checkbox>
               </ion-item>
               <ion-item>
-                <ion-button @click="onRestRecommendPostWhere" slot="end" fill="clear" size="small">重置</ion-button>
+                <ion-button @click="onRestRecommendWhere" slot="end" fill="clear" size="small">重置</ion-button>
                 <ion-button @click="onPopoverConfirm" slot="end" size="small">确定</ion-button>
               </ion-item>
             </ion-list>
@@ -74,15 +74,16 @@
 
 <script lang="ts">
 import {useRoute, useRouter} from "vue-router";
-import {computed, defineComponent, reactive, ref, watch} from 'vue';
+import {computed, defineComponent, reactive, ref} from 'vue';
 import {arrowBackOutline, addCircleOutline} from 'ionicons/icons';
 import {alertController, IonIcon, onIonViewDidEnter} from '@ionic/vue';
 import {getRecommendCompanyPostList, addRecommend} from "@/api/recommendmgt";
-import {getSysDictionaryList} from '@/api/system/dictionary'
+import {getSysDictionaryList} from "@/api/system/dictionary";
+import BEmpty from "@/components/empty.vue";
 
 export default defineComponent({
-  name: 'RecommendCompanyPost',
-  components: {IonIcon},
+  name: 'RecommendJobList',
+  components: {IonIcon,BEmpty},
   setup() {
     const loading = ref(true);
     const router = useRouter();
@@ -96,10 +97,10 @@ export default defineComponent({
     const searchParams = reactive({
       pageIndex: 1,
       pageSize: 5,
-      jobUserName: null,
       jobHuntID: '',
       professionID: '',
-      professionName: null,
+      jobUserName: '',
+      professionName: '',
       type: 0,
       parentProfessionID: '',
       cultureRank: null,
@@ -117,18 +118,23 @@ export default defineComponent({
     });
     const dataList = ref<any>([]);
     const addRecommendList = ref<any>([]);
-    const recommendPostWhereList = ref<any>([]);
+    const recommendWhereList = ref<any>([]);
     const popoverCheckboxIsOpen = ref<boolean>(false);
 
     const getRecommendTypeList = () => {
       getSysDictionaryList('RecommendPostWhere').then((data) => {
-        recommendPostWhereList.value = data;
-        recommendPostWhereList.value[0].check = true;
+        recommendWhereList.value = data;
+        recommendWhereList.value[0].check = true;
       });
     };
 
     const loadData = async function () {
       loading.value = true;
+      searchParams.jobHuntID = route.query.jobHuntID as any;
+      searchParams.jobUserName = route.query.jobUserName as any;
+      searchParams.professionID = route.query.professionID as any;
+      searchParams.professionName = route.query.professionName as any;
+      searchParams.type = route.query.type as any;
       getRecommendCompanyPostList(searchParams).then((data: any) => {
         dataList.value = dataList.value.concat(data.list);
         total.value = data.total;
@@ -136,18 +142,8 @@ export default defineComponent({
       loading.value = false;
     }
 
-    const onScroll = (e: any) => {
-      setTimeout(() => {
-        e.target.complete();
-        if (pagination.value.total.value > pagination.value.pageIndex * pagination.value.pageSize) {
-          searchParams.pageIndex += 1;
-          loadData();
-        }
-      }, 500);
-    }
-
     const onPopoverConfirm = () => {
-      const list = recommendPostWhereList.value.filter((x: any) => x.check == true).map((x: any) => x.value);
+      const list = recommendWhereList.value.filter((x: any) => x.check == true).map((x: any) => x.value);
 
       searchParams.professionID = list.findIndex((x: any) => x == 1) >= 0 ? searchParamsCache.professionID : "";
       searchParams.cultureRank = list.findIndex((x: any) => x == 2) >= 0 ? searchParamsCache.cultureRank : null;
@@ -165,17 +161,27 @@ export default defineComponent({
       reload();
     }
 
-    const onRestRecommendPostWhere = () => {
-      recommendPostWhereList.value.map((x: any) => x.check = false);
-      recommendPostWhereList.value[0].check = true;
+    const onRestRecommendWhere = () => {
+      recommendWhereList.value.map((x: any) => x.check = false);
+      recommendWhereList.value[0].check = true;
+    }
+
+    const onScroll = (e: any) => {
+      setTimeout(() => {
+        e.target.complete();
+        if (pagination.value.total.value > pagination.value.pageIndex * pagination.value.pageSize) {
+          searchParams.pageIndex += 1;
+          loadData();
+        }
+      }, 500);
     }
 
     const onRecommend = (item: any) => {
       addRecommendList.value.push({
         recommendMgtID: item.recommendMgtID,
-        jobHuntID: searchParams.jobHuntID,
         postID: item.postID,
-        recommendType: 1
+        jobHuntID: searchParams.jobHuntID,
+        recommendType: 0
       });
       addRecommend(addRecommendList.value).then(() => {
         const index = dataList.value.findIndex((x: any) => x.recommendMgtID == item.recommendMgtID);
@@ -193,9 +199,9 @@ export default defineComponent({
       dataList.value.forEach((item: any) => {
         addRecommendList.value.push({
           recommendMgtID: item.recommendMgtID,
-          jobHuntID: searchParams.jobHuntID,
           postID: item.postID,
-          recommendType: 1
+          jobHuntID: searchParams.jobHuntID,
+          recommendType: 0
         });
       })
       addRecommend(addRecommendList.value).then(() => {
@@ -218,7 +224,7 @@ export default defineComponent({
     }
 
     const onBack = () => {
-      router.push({path: './list', query: {reload: 1}});
+      router.go(-1);
     }
 
     const reload = () => {
@@ -233,18 +239,23 @@ export default defineComponent({
       searchParams.professionID = route.query.professionID as any;
       searchParams.professionName = route.query.professionName as any;
       searchParams.type = route.query.type as any;
+      searchParams.parentProfessionID = "";
+      searchParams.cultureRank = null;
+      searchParams.workYear = null;
+      searchParams.minSalary = null;
+      searchParams.maxSalary = null;
+
       searchParamsCache.professionID = route.query.professionID as any;
       searchParamsCache.parentProfessionID = route.query.parentProfessionID as any;
       searchParamsCache.cultureRank = route.query.cultureRank as any;
       searchParamsCache.workYear = route.query.workYear as any;
-      searchParamsCache.workYear = route.query.workYear as any;
       searchParamsCache.minSalary = route.query.minSalary as any;
       searchParamsCache.maxSalary = route.query.maxSalary as any;
     }
 
     onIonViewDidEnter(() => {
-      reload();
       reloadSearchParams();
+      reload();
     });
 
     return {
@@ -255,9 +266,8 @@ export default defineComponent({
       loading,
       pagination,
       searchParams,
-      searchParamsCache,
       dataList,
-      recommendPostWhereList,
+      recommendWhereList,
       popoverCheckboxIsOpen,
       onScroll,
       loadData,
@@ -267,16 +277,15 @@ export default defineComponent({
       onBatchRecommend,
       getRecommendTypeList,
       onPopoverConfirm,
-      onRestRecommendPostWhere,
+      onRestRecommendWhere,
     }
-  }, created() {
+  }, mounted() {
     this.getRecommendTypeList()
   }
 });
 </script>
 
 <style lang="less">
-
 .footer-ios ion-toolbar:first-of-type {
   --border-width: 0 !important;
   --background: #ffffff !important;

+ 2 - 4
h5app/src/views/pages/post/list.vue

@@ -7,7 +7,7 @@
         </ion-buttons>
         <ion-title>岗位信息管理</ion-title>
         <ion-buttons slot="end">
-          <ion-icon :icon="addCircleOutline" @click="onAdd"></ion-icon>
+          <ion-icon @click="onAdd" :icon="addCircleOutline"></ion-icon>
         </ion-buttons>
       </ion-toolbar>
     </ion-header>
@@ -24,8 +24,7 @@
       <div class="bw-vue-list">
         <div class="list-content">
           <ion-list>
-            <div v-for="(record,key) in dataList" :key="key" detail>
-              <ion-item-sliding>
+              <ion-item-sliding v-for="(record,key) in dataList" :key="key" detail>
                 <ion-item>
                   <ion-label>
                     <h3>{{ record.professionName }}</h3>
@@ -57,7 +56,6 @@
                   </ion-item-option>
                 </ion-item-options>
               </ion-item-sliding>
-            </div>
           </ion-list>
         </div>
       </div>

+ 19 - 13
h5app/src/views/pages/post/recommendJob.vue

@@ -22,7 +22,7 @@
                      :dismiss-on-select="false">
           <ion-content>
             <ion-list>
-              <ion-item v-for="(record,key) in recommendJobHuntWhereList" :key="key">
+              <ion-item v-for="(record,key) in recommendWhereList" :key="key">
                 <ion-checkbox :detail="false" v-model="record.check" label-placement="end">{{ record.name }}
                 </ion-checkbox>
               </ion-item>
@@ -66,15 +66,16 @@
 
 <script lang="ts">
 import {useRoute, useRouter} from "vue-router";
-import {computed, defineComponent, reactive, ref, watch} from 'vue';
+import {computed, defineComponent, reactive, ref} from 'vue';
 import {arrowBackOutline, addCircleOutline} from 'ionicons/icons';
 import {alertController, IonIcon, onIonViewDidEnter} from '@ionic/vue';
 import {getRecommendJobList, addRecommend} from "@/api/recommendmgt";
 import {getSysDictionaryList} from "@/api/system/dictionary";
+import BEmpty from "@/components/empty.vue";
 
 export default defineComponent({
   name: 'RecommendJobList',
-  components: {IonIcon},
+  components: {IonIcon,BEmpty},
   setup() {
     const loading = ref(true);
     const router = useRouter();
@@ -109,13 +110,13 @@ export default defineComponent({
     });
     const dataList = ref<any>([]);
     const addRecommendList = ref<any>([]);
-    const recommendJobHuntWhereList = ref<any>([]);
+    const recommendWhereList = ref<any>([]);
     const popoverCheckboxIsOpen = ref<boolean>(false);
 
     const getRecommendTypeList = () => {
       getSysDictionaryList('RecommendJobHuntWhere').then((data) => {
-        recommendJobHuntWhereList.value = data;
-        recommendJobHuntWhereList.value[0].check = true;
+        recommendWhereList.value = data;
+        recommendWhereList.value[0].check = true;
       });
     };
 
@@ -126,7 +127,7 @@ export default defineComponent({
       searchParams.professionID = route.query.professionID as any;
       searchParams.professionName = route.query.professionName as any;
       searchParams.type = route.query.type as any;
-      getRecommendJobList(searchParams).then(data => {
+      getRecommendJobList(searchParams).then((data: any) => {
         dataList.value = dataList.value.concat(data.list);
         total.value = data.total;
       });
@@ -134,7 +135,7 @@ export default defineComponent({
     }
 
     const onPopoverConfirm = () => {
-      const list = recommendJobHuntWhereList.value.filter((x: any) => x.check == true).map((x: any) => x.value);
+      const list = recommendWhereList.value.filter((x: any) => x.check == true).map((x: any) => x.value);
 
       searchParams.professionID = list.findIndex((x: any) => x == 1) >= 0 ? searchParamsCache.professionID : "";
       searchParams.cultureRank = list.findIndex((x: any) => x == 2) >= 0 ? searchParamsCache.cultureRank : null;
@@ -153,8 +154,8 @@ export default defineComponent({
     }
 
     const onRestRecommendWhere = () => {
-      recommendJobHuntWhereList.value.map((x: any) => x.check = false);
-      recommendJobHuntWhereList.value[0].check = true;
+      recommendWhereList.value.map((x: any) => x.check = false);
+      recommendWhereList.value[0].check = true;
     }
 
     const onScroll = (e: any) => {
@@ -230,18 +231,23 @@ export default defineComponent({
       searchParams.professionID = route.query.professionID as any;
       searchParams.professionName = route.query.professionName as any;
       searchParams.type = route.query.type as any;
+      searchParams.parentProfessionID = "";
+      searchParams.cultureRank = null;
+      searchParams.workYear = null;
+      searchParams.minSalary = null;
+      searchParams.maxSalary = null;
+
       searchParamsCache.professionID = route.query.professionID as any;
       searchParamsCache.parentProfessionID = route.query.parentProfessionID as any;
       searchParamsCache.cultureRank = route.query.cultureRank as any;
       searchParamsCache.workYear = route.query.workYear as any;
-      searchParamsCache.workYear = route.query.workYear as any;
       searchParamsCache.minSalary = route.query.minSalary as any;
       searchParamsCache.maxSalary = route.query.maxSalary as any;
     }
 
     onIonViewDidEnter(() => {
-      reload();
       reloadSearchParams();
+      reload();
     });
 
     return {
@@ -253,7 +259,7 @@ export default defineComponent({
       pagination,
       searchParams,
       dataList,
-      recommendJobHuntWhereList,
+      recommendWhereList,
       popoverCheckboxIsOpen,
       onScroll,
       loadData,

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

@@ -85,8 +85,7 @@ import {useRouter} from "vue-router";
 import {getMyWorkTasks} from '@/api/workTask';
 import {onIonViewDidEnter} from "@ionic/vue";
 import dayjs from "dayjs";
-
-
+import BEmpty from "@/components/empty.vue";
 
 interface taskModel{
   doTaskID:string,
@@ -94,6 +93,7 @@ interface taskModel{
 }
 export default defineComponent({
   name:"TabMainList",
+  components:{BEmpty},
   setup() {
     const router = useRouter();
     const dataList = ref<taskModel[]>([]);

+ 1 - 0
h5app/src/views/sapp/tabWork.vue

@@ -151,6 +151,7 @@ import {flowerOutline} from 'ionicons/icons';
 
 export default defineComponent({
   name: 'mywork',
+  components:{BEmpty},
   setup() {
 
     const type = ref(1);