Переглянути джерело

沟通发起面试邀请选择职位填充面试地点信息

Xiao_123 7 місяців тому
батько
коміт
9858226af8

+ 1 - 1
src/store/dict.js

@@ -12,7 +12,7 @@ const list = [
   { type: 'menduner_exp_type' },
   { type: 'menduner_sex' },
   { type: 'menduner_job_type' },
-  { type: 'menduner_job_status' },
+  { type: 'menduner_job_seek_status' },
   { type: 'menduner_marital_status' },
   { type: 'menduner_pay_unit' },
   { type: 'menduner_financing_status' },

+ 1 - 1
src/utils/getText.js

@@ -15,7 +15,7 @@ export const getBaseInfoDictOfName = async (index = 0, baseInfo, value, addKeyNa
     { dictType: 'menduner_exp_type', itemText: 'label', itemValue: 'value' },
     { dictType: 'menduner_sex', itemText: 'label', itemValue: 'value' },
     { dictType: 'menduner_job_type', itemText: 'label', itemValue: 'value' },
-    { dictType: 'menduner_job_status', itemText: 'label', itemValue: 'value' },
+    { dictType: 'menduner_job_seek_status', itemText: 'label', itemValue: 'value' },
     { dictType: 'menduner_marital_status', itemText: 'label', itemValue: 'value' },
   ]
   const e = test[index]

+ 1 - 1
src/utils/position.js

@@ -17,7 +17,7 @@ const dictList = ref([
   { type: 'menduner_pay_unit', value: 'payUnit', key: 'payUnit', label: 'payName' },
   { type: 'menduner_financing_status', value: 'financing', key: 'financingStatus', label: 'financingName' },
   { type: 'menduner_scale', value: 'scale', key: 'scale', label: 'scaleName' },
-  { type: 'menduner_job_status', value: 'jobStatus', key: 'jobStatus', label: 'jobStatusName' },
+  { type: 'menduner_job_seek_status', value: 'jobStatus', key: 'jobStatus', label: 'jobStatusName' },
   { type: 'menduner_marital_status', value: 'marital', key: 'maritalStatus', label: 'maritalStatusName' },
   { type: 'menduner_industry_type', value: 'industry', key: 'industryId', label: 'industryName', params: {}, apiType: 'industryList', nameKey: 'nameCn', valueKey: 'id' },
   { type: 'menduner_education_type', value: 'edu', key: 'eduType', label: 'eduName' },

+ 1 - 1
src/utils/statisticsHeaders.js

@@ -3,7 +3,7 @@ import { getDict } from '@/hooks/web/useDictionaries'
 
 // 求职状态
 let jobStatus = []
-getDict('menduner_job_status').then(({data}) => {
+getDict('menduner_job_seek_status').then(({data}) => {
   jobStatus = data
 })
 

+ 2 - 2
src/views/recruit/components/message/index.vue

@@ -143,18 +143,18 @@
     <div class="color-666" style="font-size: 13px;">* 仅支持.doc, .docx, .pdf文件</div>
   </CtDialog>
 
+  <!-- 面试邀请 -->
   <CtDialog :visible="showInvite" :widthType="2" titleClass="text-h6" title="邀请面试" @close="showInvite = false" @submit="handleSubmit">
     <InvitePage v-if="showInvite" ref="inviteRef" :item-data="itemData" :position="positionList"></InvitePage>
   </CtDialog>
 
+  <!-- 选择附件简历投递 -->
   <CtDialog :visible="showResume" :widthType="2" titleClass="text-h6" title="发送简历" @close="showResume = false; selectResume = null " @submit="handleSubmitResume">
-    
     <div style="position: relative; min-height: 200px">
       <v-radio-group v-model="selectResume">
         <v-radio v-for="val in resumeList" :key="val.id" :value="val.id" :label="val.title" color="primary"></v-radio>
       </v-radio-group>
     </div>
-    
   </CtDialog>
 </template>
 

+ 9 - 2
src/views/recruit/enterprise/interviewManagement/components/invite.vue

@@ -39,6 +39,12 @@ const disabledDates = (date) => {
   return date.getTime() < currentDate.getTime()
 }
 
+const handleChangeJob = (e) => {
+  const obj = props.position.find(item => item.value === e)
+  if (!obj && !obj?.data) return
+  formItems.value.options.find(k => k.key === 'address').value = obj.data?.address
+}
+
 const CtFormRef = ref()
 const formItems = ref({
   options: [
@@ -58,7 +64,8 @@ const formItems = ref({
       itemText: 'label',
       itemValue: 'value',
       rules: [v => !!v || '请选择招聘职位'],
-      items: props.position
+      items: props.position,
+      change: handleChangeJob
     },
     {
       type: 'text',
@@ -70,7 +77,7 @@ const formItems = ref({
     {
       type: 'text',
       key: 'invitePhone',
-      value: null,
+      value: localStorage.getItem('entBaseInfo') ? JSON.parse(localStorage.getItem('entBaseInfo')).phone : '',
       label: '联系电话 *',
       outlined: true,
       rules: [v => !!v || '请填写联系电话']

+ 1 - 1
src/views/recruit/enterprise/personnelManagement/components/screen.vue

@@ -68,7 +68,7 @@ const list = ref([
     title: '求职状态',
     defaultTitle: '求职状态',
     key: 'jobStatus',
-    dictTypeName: 'menduner_job_status',
+    dictTypeName: 'menduner_job_seek_status',
     selected: [],
     items: []
   }

+ 0 - 117
src/views/recruit/enterprise/resume/components/public.vue

@@ -1,117 +0,0 @@
-<template>
-  <CtForm ref="CtFormRef" :items="formItems" style="height: 520px;">
-    <template #time="{ item }">
-      <VueDatePicker 
-        v-model="item.value"
-        placeholder="面试时间 *"
-        class="mb-4"
-        model-type="timestamp"
-        select-text="确认"
-        cancel-text="取消"
-        :time-picker-inline="true"
-        locale="zh-CN"
-        :text-input="{ format: 'MM.dd.yyyy HH:mm' }" />
-    </template>
-  </CtForm>
-</template>
-
-<script setup>
-defineOptions({ name: 'invite-public'})
-import { ref } from 'vue'
-
-const props = defineProps({
-  itemData: {
-    type: Object,
-    default: () => {}
-  }
-})
-
-const CtFormRef = ref()
-const formItems = ref({
-  options: [
-    {
-      type: 'ifRadio',
-      key: 'type',
-      value: '0',
-      label: '发送方式 *',
-      width: 90,
-      items: [
-        { label: '短信', value: '0' },
-        { label: '邮箱', value: '1' }
-      ]
-    },
-    {
-      slotName: 'time',
-      key: 'time',
-      value: null,
-      rules: [v => !!v || '请选择面试时间'],
-    },
-    {
-      type: 'text',
-      key: 'position',
-      value: '',
-      noParam: true,
-      disabled: true,
-      label: '面试岗位'
-    },
-    {
-      type: 'text',
-      key: 'address',
-      value: '',
-      label: '面试地点 *',
-      rules: [v => !!v || '请输入面试地点'],
-    },
-    {
-      type: 'text',
-      key: 'invitePhone',
-      value: null,
-      label: '联系电话 *',
-      outlined: true,
-      rules: [v => !!v || '请填写联系电话']
-    },
-    {
-      type: 'textarea',
-      key: 'remark',
-      value: '',
-      label: '备注事项',
-      counter: 140,
-      rules: [
-        value => {
-          if (value?.length <= 140) return true
-          return '请输入备注事项,最多140字'
-        }
-      ]
-    }
-  ]
-})
-
-if (Object.keys(props.itemData).length) {
-  const obj = formItems.value.options.find(e => e.key === 'position')
-  obj.value = `${props.itemData?.job?.name}${props.itemData?.job?.areaName ? '_' + props.itemData?.job?.areaName : ''} ${props.itemData?.job?.payFrom ? props.itemData?.job?.payFrom + '-' : ''}${props.itemData?.job?.payTo}${props.itemData?.job?.payName ? '/' + props.itemData?.job?.payName : ''}`
-  formItems.value.options.find(e => e.key === 'address').value = props.itemData.job?.address
-}
-
-const getQuery = () => {
-  const obj = {
-    type: 1,
-    jobId: props.itemData.job.id,
-    userId: props.itemData.userId,
-    latitude: props.itemData.job?.latitude,
-    longitude: props.itemData.job?.longitude
-  }
-  formItems.value.options.forEach(item => {
-    if (item.noParam) return
-    obj[item.key] = item.value
-  })
-  return obj
-}
-
-defineExpose({
-  CtFormRef,
-  getQuery
-})
-</script>
-
-<style scoped lang="scss">
-
-</style>

+ 1 - 1
src/views/recruit/enterprise/resume/components/screen.vue

@@ -75,7 +75,7 @@ const list = ref([
     title: '求职状态',
     defaultTitle: '求职状态',
     key: 'jobStatus',
-    dictTypeName: 'menduner_job_status',
+    dictTypeName: 'menduner_job_seek_status',
     selected: [],
     items: []
   }

+ 0 - 2
src/views/recruit/enterprise/resume/components/table.vue

@@ -44,7 +44,6 @@
     <!-- 邀请面试 -->
     <CtDialog :visible="showInvite" :widthType="2" titleClass="text-h6" title="面试信息" @close="handleEditClose" @submit="handleEditSubmit">
       <InvitePage v-if="showInvite" ref="inviteRef" :itemData="itemData"></InvitePage>
-      <!-- <PublicPage v-if="showInvite && inviteType" ref="publicRef" :item-data="itemData"></PublicPage> -->
     </CtDialog>
   </div>
 </template>
@@ -63,7 +62,6 @@ import InvitePage from './invite.vue'
 import { getUserAvatar } from '@/utils/avatar'
 import { talkToUser, defaultTextEnt } from '@/hooks/web/useIM'
 import { useRouter } from 'vue-router'; const router = useRouter()
-// import PublicPage from './public.vue'
 
 const { t } = useI18n()
 const emit = defineEmits(['refresh'])

+ 1 - 1
src/views/recruit/enterprise/systemManagement/groupAccount/components/simplePageForm.vue

@@ -40,7 +40,7 @@ const items = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
-      dictTypeName: 'menduner_job_status',
+      dictTypeName: 'menduner_job_seek_status',
       rules: [v => !!v || '请选择求职状态'],
       items: []
     },

+ 1 - 1
src/views/recruit/enterprise/talentMap/components/filter copy.vue

@@ -169,7 +169,7 @@ const formItems = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
-      dictTypeName: 'menduner_job_status',
+      dictTypeName: 'menduner_job_seek_status',
       items: []
     },
     {

+ 1 - 1
src/views/recruit/enterprise/talentPool/components/filter.vue

@@ -234,7 +234,7 @@ const formItems = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
-      dictTypeName: 'menduner_job_status',
+      dictTypeName: 'menduner_job_seek_status',
       items: []
     },
     {

+ 1 - 1
src/views/recruit/personal/PersonalCenter/resume/online/components/basicInfo.vue

@@ -312,7 +312,7 @@ const items = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
-      dictTypeName: 'menduner_job_status',
+      dictTypeName: 'menduner_job_seek_status',
       rules: [v => !!v || '请选择求职状态'],
       items: []
     },

+ 1 - 1
src/views/recruit/personal/shareJob/form/simpleInfo.vue

@@ -40,7 +40,7 @@ const items = ref({
       outlined: true,
       itemText: 'label',
       itemValue: 'value',
-      dictTypeName: 'menduner_job_status',
+      dictTypeName: 'menduner_job_seek_status',
       rules: [v => !!v || '请选择求职状态'],
       items: []
     },