|
@@ -1,12 +1,5 @@
|
|
|
<template>
|
|
|
- <v-card class="pa-3" elevation="5">
|
|
|
- <CtForm ref="CtFormRef" :items="formItems" class="mt-3">
|
|
|
- <template #formBtn>
|
|
|
- <v-btn color="primary" class="elevation-5" width="90" @click.stop="handleSearch">搜 索</v-btn>
|
|
|
- <v-btn variant="outlined" color="primary" width="90" class="elevation-5 ml-3" @click.stop="handleReset">重 置</v-btn>
|
|
|
- </template>
|
|
|
- </CtForm>
|
|
|
- </v-card>
|
|
|
+ <CtFilter :items="formItems" @reset="handleReset" @search="handleSearch" />
|
|
|
|
|
|
<v-card class="mt-3" elevation="5">
|
|
|
<CtTable
|
|
@@ -23,24 +16,36 @@
|
|
|
itemKey="id"
|
|
|
@pageHandleChange="handleChangePage"
|
|
|
>
|
|
|
+ <template #workTerritory="{ item }">
|
|
|
+ <div class="ellipsis" style="max-width: 150px;">
|
|
|
+ {{ item.workTerritory }}
|
|
|
+ <v-tooltip activator="parent" location="top">{{ item.workTerritory }}</v-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template #workHistory="{ item }">
|
|
|
+ <div class="ellipsis" style="max-width: 150px;">
|
|
|
+ {{ item.workHistory }}
|
|
|
+ <v-tooltip activator="parent" location="top">{{ item.workHistory }}</v-tooltip>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
<template #actions="{ item }">
|
|
|
<v-btn variant="text" color="primary" @click.stop="handleDetail(item)">详 情</v-btn>
|
|
|
</template>
|
|
|
</CtTable>
|
|
|
</v-card>
|
|
|
|
|
|
- <v-navigation-drawer v-model="showDetail" absolute location="right" rounded temporary width="500" class="pa-5">
|
|
|
+ <v-navigation-drawer v-model="showDetail" absolute location="right" rounded temporary width="700" class="pa-5">
|
|
|
<div style="width: 300px; height: 300px; margin: 0 auto;">
|
|
|
<v-img :src="detail?.picUrl" width="300" height="300" />
|
|
|
</div>
|
|
|
- <div class="mt-10" v-html="detail?.detailIntroduction"></div>
|
|
|
+ <div class="mt-10" v-if="detail?.detailIntroduction" v-html="detail?.detailIntroduction.replace(/\n/g, '</br>')"></div>
|
|
|
</v-navigation-drawer>
|
|
|
|
|
|
<!-- 无权限提示 -->
|
|
|
<CtDialog :visible="showDialog" :widthType="4" :footer="false" titleClass="text-h6" title="系统提示" @close="showDialog = false">
|
|
|
<div class="d-flex align-center flex-column">
|
|
|
<div class="color-warning">
|
|
|
- <p>您没有权限查看门墩儿新任命信息</p>
|
|
|
+ <p>很抱歉,您当前没有权限查看门墩儿新任命的相关信息</p>
|
|
|
<p>请用微信扫描下方企业微信联系门墩儿管理员开通权限</p>
|
|
|
</div>
|
|
|
<div style="width: 150px; height: 150px;">
|
|
@@ -56,6 +61,7 @@ defineOptions({ name: 'newlyAppointedTable'})
|
|
|
import { ref } from 'vue'
|
|
|
import { getNewAppointmentsPage, getNewAppointmentsDetail } from '@/api/recruit/enterprise/newlyAppointed'
|
|
|
import { useUserStore } from '@/store/user'
|
|
|
+import Snackbar from '@/plugins/snackbar'
|
|
|
|
|
|
const store = useUserStore()
|
|
|
const loading = ref(false)
|
|
@@ -77,7 +83,6 @@ const headers = [
|
|
|
{ title: '过往工作酒店品牌', key: 'workHistory', sortable: false },
|
|
|
{ title: '操作', key: 'actions', sortable: false, align: 'center' }
|
|
|
]
|
|
|
-const CtFormRef = ref()
|
|
|
const formItems = ref({
|
|
|
options: [
|
|
|
{
|
|
@@ -87,7 +92,7 @@ const formItems = ref({
|
|
|
label: '中文名',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- col: 3
|
|
|
+ width: 200
|
|
|
},
|
|
|
{
|
|
|
type: 'text',
|
|
@@ -96,8 +101,7 @@ const formItems = ref({
|
|
|
label: '英文名',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- flexStyle: 'mx-3',
|
|
|
- col: 3
|
|
|
+ width: 200
|
|
|
},
|
|
|
{
|
|
|
type: 'text',
|
|
@@ -106,7 +110,7 @@ const formItems = ref({
|
|
|
label: '职位',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- col: 3
|
|
|
+ width: 200
|
|
|
},
|
|
|
{
|
|
|
type: 'text',
|
|
@@ -115,8 +119,7 @@ const formItems = ref({
|
|
|
label: '任职酒店',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- flexStyle: 'ml-3',
|
|
|
- col: 3
|
|
|
+ width: 200
|
|
|
},
|
|
|
{
|
|
|
type: 'text',
|
|
@@ -125,17 +128,16 @@ const formItems = ref({
|
|
|
label: '酒店品牌',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- col: 3
|
|
|
+ width: 200
|
|
|
},
|
|
|
{
|
|
|
type: 'text',
|
|
|
key: 'workTerritory',
|
|
|
value: '',
|
|
|
label: '工作地域',
|
|
|
- flexStyle: 'mx-3',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- col: 3
|
|
|
+ width: 200
|
|
|
},
|
|
|
{
|
|
|
type: 'text',
|
|
@@ -144,14 +146,8 @@ const formItems = ref({
|
|
|
label: '过往工作酒店品牌',
|
|
|
clearable: true,
|
|
|
hideDetails: true,
|
|
|
- col: 3
|
|
|
- },
|
|
|
- {
|
|
|
- slotName: 'formBtn',
|
|
|
- col: 3,
|
|
|
- noParam: true,
|
|
|
- flexStyle: 'ml-3'
|
|
|
- }
|
|
|
+ width: 200
|
|
|
+ }
|
|
|
]
|
|
|
})
|
|
|
const showDialog = ref(false)
|
|
@@ -188,26 +184,21 @@ const handleChangePage = async (e) => {
|
|
|
}
|
|
|
|
|
|
// 搜索
|
|
|
-const handleSearch = async () => {
|
|
|
+const handleSearch = async (obj) => {
|
|
|
await store.getEnterpriseInfo(true)
|
|
|
// 没有权限提示联系门墩儿
|
|
|
if (!info.value?.entitlement?.newAppointment) {
|
|
|
showDialog.value = true
|
|
|
return
|
|
|
}
|
|
|
- formItems.value.options.forEach(item => {
|
|
|
- if (item.noParam) return
|
|
|
- query.value[item.key] = item.value
|
|
|
- })
|
|
|
+ query.value = Object.assign(query.value, obj)
|
|
|
+ query.value.pageNo = 1
|
|
|
getList()
|
|
|
}
|
|
|
// 重置
|
|
|
-const handleReset = () => {
|
|
|
- formItems.value.options.forEach(item => {
|
|
|
- if (item.noParam) return
|
|
|
- item.value = ''
|
|
|
- query.value[item.key] = ''
|
|
|
- })
|
|
|
+const handleReset = (obj) => {
|
|
|
+ query.value = Object.assign(query.value, obj)
|
|
|
+ query.value.pageNo = 1
|
|
|
getList()
|
|
|
}
|
|
|
|
|
@@ -222,6 +213,7 @@ const handleDetail = async (item) => {
|
|
|
return
|
|
|
}
|
|
|
const result = await getNewAppointmentsDetail(item.id)
|
|
|
+ if (!result || !Object.keys(result).length) return Snackbar.warning('暂无详细信息,去查看其他人的信息吧~')
|
|
|
detail.value = result
|
|
|
showDetail.value = true
|
|
|
}
|