소스 검색

企业:添加会员到期日、可查看简历数展示

Xiao_123 2 달 전
부모
커밋
3e491ce05e
3개의 변경된 파일39개의 추가작업 그리고 7개의 파일을 삭제
  1. 3 1
      src/layout/company/navBar.vue
  2. 0 3
      src/views/recruit/enterprise/positionManagement/index.vue
  3. 36 3
      src/views/recruit/enterprise/resume/index.vue

+ 3 - 1
src/layout/company/navBar.vue

@@ -11,8 +11,9 @@
           <div class="d-flex align-center cursor-pointer px-4" :class="{'active-route': route.path.includes('/recruit/enterprise/entInfoSetting')}">
             <v-img @click="enterpriseClick(2)" contain class="entLogoImg" width="40" height="40" :src="baseInfo?.logoUrl || 'https://minio.menduner.com/dev/cd7f5e26a239fb0ab335585e04c709b065f52832fc31539b3a5423224fc6d16c.png'" ></v-img>
             <span @click="enterpriseClick(1)" class="ml-3">{{ formatName(baseInfo?.enterpriseAnotherName || baseInfo?.enterpriseName) }}</span>
-            <div v-if="baseInfo?.vipFlag && Date.now() < baseInfo?.vipExpireDate" >
+            <div v-if="baseInfo?.vipFlag && Date.now() < baseInfo?.vipExpireDate" class="d-flex align-center">
               <svg-icon name="vip" size="25" class="ml-2"></svg-icon>
+              <div class="ml-2">{{ timesTampChange(baseInfo?.vipExpireDate, 'Y-M-D') }}</div>
             </div>
           </div>
 
@@ -101,6 +102,7 @@ import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
 import MessageNotification from '../message.vue'
 import { getUserAvatar } from '@/utils/avatar'
 import { formatName } from '@/utils/getText'
+import { timesTampChange } from '@/utils/date'
 // import { logoutToken } from '@/api/common'
 
 defineProps({

+ 0 - 3
src/views/recruit/enterprise/positionManagement/index.vue

@@ -343,9 +343,6 @@ const handleTo = (val) => {
   padding: 0 5px;
   cursor: pointer;
   background-color: var(--v-primary-base);
-  &:hover {
-    box-shadow: 5px 9px 12px 1px rgba(0, 183, 96, 0.17);
-  }
 }
 .itemBox {
   position: relative;

+ 36 - 3
src/views/recruit/enterprise/resume/index.vue

@@ -36,9 +36,28 @@
       <FilterPage ref="FilterPageRef" :jobId="route.query?.id" :jobFairId="route.query?.jobFairId" @confirm="handleConfirm" @cancel="showDrawer = false" @reset="handleScreenReset" />
     </v-navigation-drawer>
 
-    <v-window v-model="tab" class="mt-1">
+    <div class="color-666 font-size-14 mt-2">
+        <span>可查看简历数: <strong class="color-primary">{{ baseInfo?.entitlement?.lookCvCount || 0 }}</strong> 次, </span>
+        <span
+          class="toBuy"
+          @click="router.push('/recruit/enterprise/contactUs')"
+          >
+          可查看简历数不够用?点击联系管理员购买
+        </span>
+      </div>
+
+    <v-window v-model="tab">
       <v-window-item v-for="k in tabList" :value="k.value" :key="k.value">
-        <TablePage v-loading="loading" :items="items" :total="total"  :pageInfo="query" :tab="k.value" :statusList="statusList" @refresh="getList" @page="handleChangePage"></TablePage>
+        <TablePage
+          v-loading="loading"
+          :items="items"
+          :total="total"
+          :pageInfo="query"
+          :tab="k.value"
+          :statusList="statusList"
+          @refresh="getList"
+          @page="handleChangePage"
+        ></TablePage>
       </v-window-item>
     </v-window>
   </v-card>
@@ -54,10 +73,13 @@ import { getDict } from '@/hooks/web/useDictionaries'
 import { getInterviewInvitePage } from '@/api/recruit/enterprise/interview'
 import TablePage from './components/table.vue'
 import { timesTampChange } from '@/utils/date'
-import { useRoute } from 'vue-router'
+import { useRoute, useRouter } from 'vue-router'
 import FilterPage from './components/filterPage.vue'
+import { useUserStore } from '@/store/user'
 
 const route  = useRoute()
+const router = useRouter()
+const store = useUserStore()
 const total = ref(0)
 const query = ref({
   pageNo: 1,
@@ -87,6 +109,11 @@ const textItems = ref({
   appendInnerIcon: 'mdi-magnify'
 })
 
+let baseInfo = ref(JSON.parse(localStorage.getItem('entBaseInfo')) || {})
+store.$subscribe((mutation, state) => {
+  if (Object.keys(state.entBaseInfo).length) baseInfo.value = state.entBaseInfo
+})
+
 // 状态字典
 const statusList = ref([])
 getDict('menduner_interview_invite_status').then(({data}) => {
@@ -216,4 +243,10 @@ const handleChangeTab = (val) => {
 </script>
 
 <style scoped lang="scss">
+.toBuy {
+  color: #fff;
+  padding: 0 5px;
+  cursor: pointer;
+  background-color: var(--v-primary-base);
+}
 </style>