|
@@ -10,7 +10,14 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="mt-3">
|
|
<div class="mt-3">
|
|
- <PositionItem v-if="items.length" :items="items" @refresh="getPositionList"></PositionItem>
|
|
|
|
|
|
+ <v-tabs v-model="tab" align-tabs="start" color="primary" bg-color="#f7f8fa" @update:model-value="handleChangeTab">
|
|
|
|
+ <v-tab v-for="val in tabList" :key="val.value" :value="val.value"> {{ val.label }}</v-tab>
|
|
|
|
+ </v-tabs>
|
|
|
|
+ <v-window v-model="tab" class="mt-3">
|
|
|
|
+ <v-window-item v-for="val in tabList" :key="val.value" :value="val.value">
|
|
|
|
+ <PositionItem v-if="items.length" :tab="tab" :items="items" @refresh="getPositionList"></PositionItem>
|
|
|
|
+ </v-window-item>
|
|
|
|
+ </v-window>
|
|
<Empty v-if="!items.length" :message="tipsText" :elevation="false"></Empty>
|
|
<Empty v-if="!items.length" :message="tipsText" :elevation="false"></Empty>
|
|
<CtPagination
|
|
<CtPagination
|
|
v-else
|
|
v-else
|
|
@@ -44,10 +51,20 @@ const tipsText = ref(t('common.noData'))
|
|
const query = ref({
|
|
const query = ref({
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
pageNo: 1,
|
|
pageNo: 1,
|
|
|
|
+ status: 0, // 0招聘中 1已关闭
|
|
|
|
+ hasExpiredData: false, // true 到期职位
|
|
hire: true
|
|
hire: true
|
|
})
|
|
})
|
|
const exportLoading = ref(false)
|
|
const exportLoading = ref(false)
|
|
|
|
|
|
|
|
+const tab = ref(1)
|
|
|
|
+
|
|
|
|
+const tabList = [
|
|
|
|
+ { label: t('position.recruitmentInProgress'), value: 1 },
|
|
|
|
+ { label: t('position.closed'), value: 2 },
|
|
|
|
+ { label: t('position.expiredPosition'), value: 3 }
|
|
|
|
+]
|
|
|
|
+
|
|
const items = ref([])
|
|
const items = ref([])
|
|
const textItem = ref({
|
|
const textItem = ref({
|
|
type: 'text',
|
|
type: 'text',
|
|
@@ -76,6 +93,13 @@ const handleExport = async () => {
|
|
|
|
|
|
// 获取职位列表
|
|
// 获取职位列表
|
|
const getPositionList = async () => {
|
|
const getPositionList = async () => {
|
|
|
|
+ if (tab.value !== 3) {
|
|
|
|
+ query.value.status = tab.value === 1 ? 0 : (tab.value === 2 ? 1 : null)
|
|
|
|
+ query.value.hasExpiredData = false
|
|
|
|
+ } else {
|
|
|
|
+ query.value.hasExpiredData = true
|
|
|
|
+ delete query.value.status
|
|
|
|
+ }
|
|
const { list, total: number } = await getJobAdvertisedList(query.value)
|
|
const { list, total: number } = await getJobAdvertisedList(query.value)
|
|
if (!list.length) {
|
|
if (!list.length) {
|
|
if (query.value.name) tipsText.value = '暂无数据,请更换关键词后再试'
|
|
if (query.value.name) tipsText.value = '暂无数据,请更换关键词后再试'
|
|
@@ -85,6 +109,11 @@ const getPositionList = async () => {
|
|
}
|
|
}
|
|
getPositionList()
|
|
getPositionList()
|
|
|
|
|
|
|
|
+const handleChangeTab = () => {
|
|
|
|
+ query.value.pageNo = 1
|
|
|
|
+ getPositionList()
|
|
|
|
+}
|
|
|
|
+
|
|
const handleChangePage = (index) => {
|
|
const handleChangePage = (index) => {
|
|
query.value.pageNo = index
|
|
query.value.pageNo = index
|
|
getPositionList()
|
|
getPositionList()
|