Browse Source

众聘职位去除到期时间

Xiao_123 4 weeks ago
parent
commit
264c2e9b58

+ 0 - 6
src/views/recruit/enterprise/hirePosition/components/add.vue

@@ -75,13 +75,7 @@ const handleSave = async () => {
     window.scrollTo({ top: 0, behavior: 'smooth' })
     window.scrollTo({ top: 0, behavior: 'smooth' })
     return
     return
   }
   }
-  if (!baseInfo.expireTime && !baseInfo.soFar) {
-    Snackbar.warning('请选择职位过期时间')
-    window.scrollTo({ top: 0, behavior: 'smooth' })
-    return
-  }
   if (!requirement) return Snackbar.warning('请按要求填写信息')
   if (!requirement) return Snackbar.warning('请按要求填写信息')
-  // if (!requirement?.areaId) return Snackbar.warning('请选择工作城市')
   if (!baseInfo || !requirement) return Snackbar.warning('请将信息填写完整')
   if (!baseInfo || !requirement) return Snackbar.warning('请将信息填写完整')
   
   
   submitParams = Object.assign(baseInfo, requirement, { currency_type: 0, source: '1', bizId: null }) // currency_type: 写死0(人民币)
   submitParams = Object.assign(baseInfo, requirement, { currency_type: 0, source: '1', bizId: null }) // currency_type: 写死0(人民币)

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

@@ -34,21 +34,6 @@
         </v-menu>
         </v-menu>
         <v-btn v-if="showTemplateBtn" 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>
       </template>
-      <template #expireTime="{ item }">
-        <div>
-          <v-checkbox-btn
-            v-model="soFar"
-            color="primary"
-            label="长期有效"
-            class="ml-2"
-            :disabled="false"
-            :style="`line-height: ${item.dense === 'default' ? 56 : item.dense === 'comfortable' ? 48 : 40 }px;`"
-            style="width: 110px;"
-            hide-details
-            @update:modelValue="v => handleSoFarChange(v, item)"
-          ></v-checkbox-btn>
-        </div>
-      </template>
     </CtForm>
     </CtForm>
 
 
     <CtDialog :visible="show" :widthType="1" titleClass="text-h6" title="全员猎寻岗位规则说明" :footer="false" @close="show = false">
     <CtDialog :visible="show" :widthType="1" titleClass="text-h6" title="全员猎寻岗位规则说明" :footer="false" @close="show = false">
@@ -120,17 +105,6 @@ const items = ref({
       label: '职位名称 *',
       label: '职位名称 *',
       rules: [v => !!v || '请填写职位名称']
       rules: [v => !!v || '请填写职位名称']
     },
     },
-    {
-      type: 'datePicker',
-      key: 'expireTime',
-      value: null,
-      format: 'YYYY-MM-DD',
-      disabledDate: true,
-      dayAfter: true,
-      labelWidth: 120,
-      label: '到期时间 *',
-      slotName: 'expireTime',
-    },
     {
     {
       type: 'wangEditor',
       type: 'wangEditor',
       key: 'content',
       key: 'content',
@@ -170,7 +144,6 @@ watch(
         return
         return
       }
       }
       if (e.noParam) return
       if (e.noParam) return
-      if (e.key === 'expireTime' && !val[e.key]) return handleSoFarChange(true, e)
       if (e.key === 'hirePrice') e.value = val[e.key] / 100
       if (e.key === 'hirePrice') e.value = val[e.key] / 100
       else e.value = val[e.key]
       else e.value = val[e.key]
       e.change && e.change(e.value)
       e.change && e.change(e.value)
@@ -232,30 +205,18 @@ const handleViewRule = () => {
 const hirePriceChange = (value, key) => {
 const hirePriceChange = (value, key) => {
   let calcCost = value-0
   let calcCost = value-0
   if (calcCost < 10 ) calcCost = 10
   if (calcCost < 10 ) calcCost = 10
-  // else {
-  //   calcCost = parseInt(calcCost/10)*10
-  // }
   const obj = items.value.options.find(k => k.key === key)
   const obj = items.value.options.find(k => k.key === key)
   if (obj) {
   if (obj) {
     obj.value = calcCost
     obj.value = calcCost
   }
   }
 }
 }
 
 
-const soFar = ref(false)
-// 长期有效
-const handleSoFarChange = (bool, item) => {
-  soFar.value = bool
-  item.value = null
-  item.disabled = bool ? true : false
-  item.label = bool ? '到期时间' : '到期时间 *'
-}
-
 const getQuery = async () => {
 const getQuery = async () => {
   const { valid } = await formPageRef.value.formRef.validate()
   const { valid } = await formPageRef.value.formRef.validate()
   if (!valid) return
   if (!valid) return
   const obj = {
   const obj = {
-    soFar: soFar.value,
-    hire: true
+    hire: true,
+    expireTime: null // 长期有效
   }
   }
   items.value.options.forEach(e => {
   items.value.options.forEach(e => {
     if (e.noParam || e.value === null) return
     if (e.noParam || e.value === null) return
@@ -271,11 +232,6 @@ const getQuery = async () => {
     return 'failed'
     return 'failed'
   }
   }
 
 
-if (!obj.expireTime && !soFar.value) {
-  Snackbar.warning('请填写到期时间')
-  return 'failed'
-}
-  
   query = Object.assign(query, obj)
   query = Object.assign(query, obj)
   return query
   return query
 }
 }

+ 0 - 5
src/views/recruit/enterprise/hirePosition/components/item.vue

@@ -35,10 +35,6 @@
       <div class="bottom pa-5 d-flex justify-space-between align-center">
       <div class="bottom pa-5 d-flex justify-space-between align-center">
         <div>
         <div>
           {{ $t('position.refreshTime') }} :{{ timesTampChange(val.updateTime, 'Y-M-D') }}
           {{ $t('position.refreshTime') }} :{{ timesTampChange(val.updateTime, 'Y-M-D') }}
-          <span v-if="tab === 1">
-            <span class="septal-line"></span>
-            到期时间:{{ val.expireTime ? timesTampChange(val.expireTime, 'Y-M-D') : '长期有效' }}
-          </span>
         </div>
         </div>
         <div class="d-flex align-center">
         <div class="d-flex align-center">
           <span v-if="val.status === '1' && tab === 2" class="cursor-pointer actions" @click="toPay(val)">职位已关闭,点击激活职位</span>
           <span v-if="val.status === '1' && tab === 2" class="cursor-pointer actions" @click="toPay(val)">职位已关闭,点击激活职位</span>
@@ -49,7 +45,6 @@
             <span class="cursor-pointer" :class="{'actions': val.edit}" :style="{'color': val.edit ? '#333' : '#999'}" @click="handleEdit(val)">编辑</span>
             <span class="cursor-pointer" :class="{'actions': val.edit}" :style="{'color': val.edit ? '#333' : '#999'}" @click="handleEdit(val)">编辑</span>
             <v-tooltip v-if="!val.edit" activator="parent" location="top">职位发布时间超过24小时的不支持编辑</v-tooltip>
             <v-tooltip v-if="!val.edit" activator="parent" location="top">职位发布时间超过24小时的不支持编辑</v-tooltip>
           </div>
           </div>
-          <!-- <span v-if="tab === 3" class="cursor-pointer actions" @click="handleUpdateExpireTime(val)">修改到期时间</span> -->
           <span class="lines" v-if="tab !== 3"></span>
           <span class="lines" v-if="tab !== 3"></span>
           <span class="cursor-pointer actions" @click="handleDetail(val)">详情</span> 
           <span class="cursor-pointer actions" @click="handleDetail(val)">详情</span> 
         </div>
         </div>

+ 2 - 10
src/views/recruit/enterprise/hirePosition/index.vue

@@ -55,7 +55,6 @@ const query = ref({
   pageNo: 1,
   pageNo: 1,
   jobFairId: 0, // 过滤非招聘会职位
   jobFairId: 0, // 过滤非招聘会职位
   status: 0, // 0招聘中 1已关闭
   status: 0, // 0招聘中 1已关闭
-  hasExpiredData: false, // true 到期职位
   hire: true
   hire: true
 })
 })
 const exportLoading = ref(false)
 const exportLoading = ref(false)
@@ -65,8 +64,7 @@ const tab = ref(1)
 const tabList = [
 const tabList = [
   { label: '待发布', value: 0, status: 99 },
   { label: '待发布', value: 0, status: 99 },
   { label: t('position.recruitmentInProgress'), value: 1, status: 0 },
   { label: t('position.recruitmentInProgress'), value: 1, status: 0 },
-  { label: t('position.closed'), value: 2, status: 1 },
-  { label: t('position.expiredPosition'), value: 3 }
+  { label: t('position.closed'), value: 2, status: 1 }
 ]
 ]
 
 
 const items = ref([])
 const items = ref([])
@@ -109,13 +107,7 @@ const loading = ref(false)
 const getPositionList = async () => {
 const getPositionList = async () => {
   items.value = []; total.value = 0
   items.value = []; total.value = 0
   loading.value = true
   loading.value = true
-  if (tab.value !== 3) {
-    query.value.status = tabList[tab.value].status
-    query.value.hasExpiredData = false
-  } else {
-    query.value.hasExpiredData = true
-    delete query.value.status
-  }
+  query.value.status = tabList[tab.value].status
   const { list, total: number } = await getJobAdvertisedList(query.value)
   const { list, total: number } = await getJobAdvertisedList(query.value)
   if (!list.length) {
   if (!list.length) {
     if (query.value.name) tipsText.value = '暂无数据,请更换关键词后再试'
     if (query.value.name) tipsText.value = '暂无数据,请更换关键词后再试'

+ 15 - 1
src/views/recruit/enterprise/positionManagement/index.vue

@@ -18,7 +18,12 @@
       </div>
       </div>
       <div class="color-666 font-size-14">
       <div class="color-666 font-size-14">
         <span>可发布职位数 <strong class="color-primary">{{ baseInfo?.entitlement?.publishJobCount || 0 }}</strong> 个, </span>
         <span>可发布职位数 <strong class="color-primary">{{ baseInfo?.entitlement?.publishJobCount || 0 }}</strong> 个, </span>
-        <span class="color-primary border-bottom-primary cursor-pointer" @click="router.push('/recruit/enterprise/membershipPackage?fromName=position')">可发布职位数不够用?点击去购买</span>
+        <span
+          class="toBuy"
+          @click="router.push('/recruit/enterprise/membershipPackage?fromName=position')"
+          >
+          可发布职位数不够用?点击去购买
+        </span>
       </div>
       </div>
       
       
       <div class="mt-3">
       <div class="mt-3">
@@ -340,6 +345,15 @@ const handleTo = (val) => {
 </script>
 </script>
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">
+.toBuy {
+  color: #fff;
+  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 {
 .itemBox {
   position: relative;
   position: relative;
   border: 1px solid #e5e6eb;
   border: 1px solid #e5e6eb;