Kaynağa Gözat

职位模版

Xiao_123 7 ay önce
ebeveyn
işleme
fdc46dac50

+ 8 - 2
src/views/recruit/enterprise/hirePosition/components/baseInfo.vue

@@ -32,7 +32,7 @@
           </template>
           <jobTypeCard class="jobTypeCardBox" :select="[query.positionId].filter(Boolean)" :isSingle="true" @handleJobClick="handleJobClickItem"></jobTypeCard>
         </v-menu>
-        <v-btn class="ml-3 half-button" color="primary" style="margin-top: 2px;" @click="useJobTemplate(item)">岗位模板</v-btn>
+        <v-btn v-if="showTemplateBtn" class="ml-3 half-button" color="primary" style="margin-top: 2px;" @click="useJobTemplate(item)">岗位模板</v-btn>
       </template>
     </CtForm>
 
@@ -56,6 +56,7 @@ const props = defineProps({
   itemData: Object
 })
 
+const showTemplateBtn = ref(true)
 const show = ref(false)
 const ratio = ref({})
 
@@ -168,6 +169,7 @@ const handleJobClickItem = (list, name) => {
     positionId.value = ''
     return
   }
+  showTemplateBtn.value = true
   query.positionId = list[0]
   positionId.value = name
 }
@@ -180,7 +182,11 @@ const useJobTemplate = async () => {
   if (!query.positionId) return Snackbar.warning('请先选择职位类型')
   // 获取职位模板内容-赋值
   const res = await getRecruitPositionDetails(query.positionId)
-  if (!res || !res.content || !res.requirement) return Snackbar.warning('此职位类型没有可使用的模板!')
+  if (!res || !res.content || !res.requirement) {
+    Snackbar.warning('此职位类型没有可使用的模板!')
+    showTemplateBtn.value = false
+    return
+  }
   const content =  items.value.options.find(e => e.key === 'content')
   const requirement =  items.value.options.find(e => e.key === 'requirement')
   if ((content && content.value) || (requirement && requirement.value)) {

+ 12 - 6
src/views/recruit/enterprise/positionManagement/components/baseInfo.vue

@@ -13,7 +13,7 @@
           </template>
           <jobTypeCard class="jobTypeCardBox" :select="[query.positionId].filter(Boolean)" :isSingle="true" @handleJobClick="handleJobClickItem"></jobTypeCard>
         </v-menu>
-        <v-btn class="ml-3 half-button" color="primary" style="margin-top: 2px;" @click="useJobTemplate(item)">岗位模板</v-btn>
+        <v-btn v-if="showTemplateBtn" class="ml-3 half-button" color="primary" style="margin-top: 2px;" @click="useJobTemplate(item)">岗位模板</v-btn>
       </template>
     </CtForm>
   </div>
@@ -26,7 +26,11 @@ import { reactive, ref, watch } from 'vue'
 import textUI from '@/components/FormUI/TextInput'
 import jobTypeCard from '@/components/jobTypeCard'
 import { getRecruitPositionDetails } from '@/api/recruit/enterprise/position'
+import Confirm from '@/plugins/confirm'
+import Snackbar from '@/plugins/snackbar'
+import { useI18n } from '@/hooks/web/useI18n';
 
+const { t } = useI18n()
 const props = defineProps({
   itemData: Object
 })
@@ -35,6 +39,7 @@ const getValue = (key) => {
   return items.value.options.find(e => e.key === key)
 }
 
+const showTemplateBtn = ref(true)
 const formPageRef = ref()
 let query = reactive({})
 
@@ -113,19 +118,20 @@ const handleJobClickItem = (list, name) => {
     positionId.value = ''
     return
   }
+  showTemplateBtn.value = true
   query.positionId = list[0]
   positionId.value = name
 }
 
-// 岗位模板
-import Confirm from '@/plugins/confirm'
-import Snackbar from '@/plugins/snackbar'
-import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
 const useJobTemplate = async () => {
   if (!query.positionId) return Snackbar.warning('请先选择职位类型')
   // 获取职位模板内容-赋值
   const res = await getRecruitPositionDetails(query.positionId)
-  if (!res || !res.content || !res.requirement) return Snackbar.warning('此职位类型没有可使用的模板!')
+  if (!res || !res.content || !res.requirement) {
+    Snackbar.warning('此职位类型没有可使用的模板!')
+    showTemplateBtn.value = false
+    return
+  }
   const content =  items.value.options.find(e => e.key === 'content')
   const requirement =  items.value.options.find(e => e.key === 'requirement')
   if ((content && content.value) || (requirement && requirement.value)) {

+ 7 - 1
src/views/recruit/enterprise/positionManagement/components/item.vue

@@ -33,7 +33,13 @@
           </div>
         </div>
         <div class="d-flex align-center">
-          <v-btn v-if="tab === 1" class="ml-3" color="primary" @click="handleAction(2, '', val)">{{ $t('common.refresh') + $t('common.position') }}</v-btn>
+          <v-tooltip text="刷新职位后,发布时间为最新的">
+            <template v-slot:activator="{ props }">
+              <v-btn v-if="tab === 1" class="ml-3" v-bind="props" color="primary" @click="handleAction(2, '', val)" append-icon="mdi-help-circle-outline">
+                {{ $t('common.refresh') + $t('common.position') }}
+              </v-btn>
+            </template>
+          </v-tooltip>
           <v-btn v-if="tab === 2" color="primary" @click="handleAction(1, '', val)">{{ $t('common.activatePosition') }}</v-btn>
         </div>
       </div>