|
@@ -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;
|