Ver Fonte

面试状态调整

Xiao_123 há 11 meses atrás
pai
commit
4936e9a7e9
1 ficheiros alterados com 19 adições e 11 exclusões
  1. 19 11
      src/views/recruit/enterprise/interview/index.vue

+ 19 - 11
src/views/recruit/enterprise/interview/index.vue

@@ -96,14 +96,15 @@
                 <span>{{ statusList.find(e => e.value === item.status)?.label }}</span>
               </div>
               <div>
-                <span v-if="editStatus.indexOf(item.status)" class="font-size-15 color-primary" @click="handleActionClick(2, item)">修改面试</span>
+                <span v-if="editStatus.indexOf(item.status) !== -1" class="font-size-15 color-primary" @click="handleActionClick(2, item)">修改面试</span>
+                <span v-if="againStatus.indexOf(item.status) !== -1" class="font-size-15 color-primary" @click="handleActionClick(2, item)">重新邀约</span>
                 <v-menu>
                   <template v-slot:activator="{ props }">
                     <v-icon v-bind="props" class="mx-3" size="20" color="primary">mdi-dots-horizontal</v-icon>
                   </template>
                   <v-list>
                     <v-list-item
-                      v-for="(k, index) in actionItems"
+                      v-for="(k, index) in actionItems(item.status)"
                       :key="index"
                       :value="index"
                       color="primary"
@@ -130,7 +131,7 @@
   </v-card>
 
   <!-- 修改面试 -->
-  <CtDialog :visible="showInvite" :widthType="2" titleClass="text-h6" title="面试邀请" @close="handleClose" @submit="handleSubmit">
+  <CtDialog :visible="showInvite" :widthType="2" titleClass="text-h6" title="面试信息" @close="handleClose" @submit="handleSubmit">
     <InvitePage v-if="showInvite" ref="inviteRef" :itemData="itemData" :position="positionItems"></InvitePage>
   </CtDialog>
 
@@ -149,6 +150,7 @@ import Snackbar from '@/plugins/snackbar'
 import { getJobAdvertised } from '@/api/enterprise'
 import { dealDictArrayData } from '@/utils/position'
 import { timesTampChange, getStartAndEndOfDay } from '@/utils/date'
+import cloneDeep from 'lodash/cloneDeep'
 
 const cancelInvite = ref(false)
 const showInvite = ref(false)
@@ -158,15 +160,13 @@ const cancelQuery = ref({
   id: null,
   reason: null
 })
-const editStatus = ['99', '1', '0']
+const editStatus = ['1', '0'] // 修改面试状态
+const againStatus = ['98', '99'] // 重新邀约状态
 const statusList = ref()
 const itemData = ref({})
-// 状态
-const actionItems = ref([
-  // { title: '沟通', value: 1 },
-  // { title: '修改面试', value: 2 },
-  { title: '取消面试', value: 3 },
-  // { title: '面试记录', value: 4 }
+const actions = ref([
+  { title: '沟通', value: 1 },
+  { title: '面试记录', value: 4 }
 ])
 const total = ref(0)
 const query = ref({
@@ -182,6 +182,14 @@ const textItems = ref({
   clearable: true
 })
 
+// 操作状态
+// status:0待接受 1待面试 2即将面试 3已完成 4待反馈 5已反馈 98拒绝 99已取消
+const actionItems = (status) => {
+  const data = cloneDeep(actions.value)
+  if (status === '0') data.splice(-1, 0, { title: '取消面试', value: 3 })
+  return data
+}
+
 // 状态字典
 const getStatusList = async () => {
   const { data } = await getDict('menduner_interview_invite_status')
@@ -251,7 +259,7 @@ getPositionList()
 
 // 操作按钮
 const handleActionClick = (value, item) => {
-  // 修改
+  // 修改、重新邀约
   if (value === 2) {
     itemData.value = item
     showInvite.value = true