Ver Fonte

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

Xiao_123 há 10 meses atrás
pai
commit
06bdb439c8

+ 1 - 1
src/components/Enterprise/details.vue

@@ -44,7 +44,7 @@
                 <v-icon size="17" color="#ccc" class="mr-2">mdi-clock</v-icon>{{ info.enterprise.workTime }}
               </div>
               <div class="welfare-tags">
-                <v-chip size="small" label v-for="(k, i) in info.enterprise.welfareList.slice(0, 6)" :key="i" class="mb-2 welfare-tags-item ellipsis" color="primary">{{ k }}</v-chip>
+                <v-chip size="small" label v-for="(k, i) in info?.enterprise?.welfareList?.slice(0, 6)" :key="i" class="mb-2 welfare-tags-item ellipsis" color="primary">{{ k }}</v-chip>
               </div>
             </div>
             <div class="welfare my-3">

+ 1 - 1
src/layout/personal/navBar.vue

@@ -184,7 +184,7 @@ const getApplyInfo = async () => {
   const data = await getUserRegisterEnterpriseApply()
   const bool = data && Object.keys(data).length // 已经有数据说明已经申请过了
   const path = bool ? '/recruit/enterprise/register/inReview' : '/recruit/enterprise/register'
-  router.push({ path })
+  router.replace({ path })
 }
 
 const handleToPersonalCenter = () => {

+ 4 - 4
src/views/recruit/enterprise/positionManagement/components/add.vue

@@ -16,7 +16,7 @@
         </v-timeline-item>
       </v-timeline>
       <div class="text-center mb">
-        <v-btn class="half-button mr-3" color="primary" variant="outlined" @click="handleCancel">{{ $t('common.cancel') }}</v-btn>
+        <v-btn class="half-button mr-3" color="primary" variant="outlined" @click="handleCancel(itemData.hire)">{{ $t('common.cancel') }}</v-btn>
         <v-btn class="half-button" color="primary" @click="handleSave">{{ $t('common.release') }}</v-btn>
       </div>
     </v-card>
@@ -82,9 +82,9 @@ const list = [
 const recharge = ref(false)
 
 // 取消
-const handleCancel = () => {
+const handleCancel = (hire) => { //  hire:是否是众聘岗位
   itemData.value = {}
-  router.push('/recruit/enterprise/position')
+  const query = hire ? { hire } : {}; router.push({ path: '/recruit/enterprise/position', query })
   // 新增职位发布需更新账户信息
   if (route.query && !route.query?.id) {
     setTimeout(async () => {
@@ -111,7 +111,7 @@ const handleSave = async () => {
   try {
     await saveJobAdvertised(query)
     Snackbar.success(route.query.id ? t('common.editSuccessMsg') : t('common.publishSuccessMsg'))
-    handleCancel()
+    handleCancel(baseInfo.hire)
   } catch (error) {
     // 余额不足展示充值窗口
     if (error === '用户余额不足') recharge.value = true

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

@@ -35,14 +35,13 @@ defineOptions({ name: 'enterprise-position-list'})
 import { ref } from 'vue'
 import TextUI from '@/components/FormUI/TextInput'
 import PositionItem from './components/item.vue'
-import { useRouter } from 'vue-router'
+import { useRoute } from 'vue-router'; const route = useRoute()
+import { useRouter } from 'vue-router'; const router = useRouter()
 import { getJobAdvertisedList } from '@/api/position'
 import { dealDictArrayData } from '@/utils/position'
 import { useI18n } from '@/hooks/web/useI18n'
 
 const { t } = useI18n()
-const router = useRouter()
-const tab = ref(1)
 const total = ref(0)
 const tipsText = ref(t('common.noData'))
 const query = ref({
@@ -52,6 +51,10 @@ const query = ref({
   hasExpiredData: false, // true 到期职位
   hire: false // true 众聘岗位
 })
+
+const tab = ref(route.query?.hire ? 4: 1)
+if (route.query?.hire) router.replace({ path: route.path, query: { ...route.query, hire: false } })
+
 const tabList = [
   { label: t('position.recruitmentInProgress'), value: 1 },
   { label: t('position.closed'), value: 2 },
@@ -72,6 +75,7 @@ const handleAdd = () => {
   router.push('/recruit/enterprise/position/add')
 }
 
+
 // 获取职位列表
 const getPositionList = async () => {
   query.value.hasExpiredData = tab.value === 3 ? true : false

+ 2 - 1
src/views/recruit/enterprise/register/register.vue

@@ -97,11 +97,12 @@ const formItems = ref({
       type: 'text',
       key: 'code',
       value: '',
+      counter: 18,
       label: '企业统一社会信用代码 *',
       rules: [v => !!v || '请输入企业统一社会信用代码']
     },
     {
-      type: 'text',
+      type: 'number',
       key: 'phone',
       value: '',
       label: '联系电话 *',

+ 2 - 28
src/views/recruit/personal/position/components/details.vue

@@ -54,7 +54,7 @@
             :prepend-icon="isCollection ? 'mdi-heart' : 'mdi-heart-outline'"
             @click="handleCollection"
           >{{ isCollection ? $t('position.cancelFavorite') : $t('position.collection') }}</v-btn>
-          <v-btn class="button-item mx-2 radius" color="success" variant="outlined">{{ $t('position.communicate') }}</v-btn>
+          <v-btn class="button-item mx-2 radius" color="success" variant="outlined" @click="toDetails(info)">{{ $t('position.communicate') }}</v-btn>
           <v-btn class="button-item radius" :disabled="delivery" color="primary" variant="outlined" @click="handleDelivery">{{ delivery ? $t('position.delivered') : $t('position.submitResume') }}</v-btn>
         </div>
       </div>
@@ -206,6 +206,7 @@ const getCollectionStatus = async () => {
   if (!getToken()) return isCollection.value = false
   const data = await getJobFavoriteCheck({ jobId: id })
   isCollection.value = data
+  console.log('isCollection', data)
 }
 getCollectionStatus()
 
@@ -229,33 +230,6 @@ const shareUrlTxt = computed(() => {
   return 'http://menduner.citupro.com:7878' + shareUrl.value
 })
 const copyText = async () => {
-  // try {
-  //   const txt = shareUrlTxt.value
-  //   if (navigator.clipboard && navigator.clipboard.writeText) {
-  //     await navigator.clipboard.writeText(txt)
-  //     Snackbar.success('复制成功')
-  //   } else {
-  //     const textArea = document.createElement("textarea")
-  //     textArea.value = txt
-  //     textArea.style.position = "fixed" // 避免在页面上滚动  
-  //     textArea.style.top = 0
-  //     textArea.style.left = 0
-  //     textArea.style.width = "2em"
-  //     textArea.style.height = "2em"
-  //     textArea.style.padding = 0
-  //     textArea.style.border = "none"
-  //     textArea.style.outline = "none"
-  //     textArea.style.boxShadow = "none"
-  //     textArea.style.background = "transparent"
-  //     document.body.appendChild(textArea)
-  //     textArea.focus()
-  //     textArea.select()
-  //     const successful = document.execCommand('copy')
-  //     Snackbar.success(successful ? '复制成功' : '复制失败,请手动复制。')
-  //   }
-  // } catch (err) {
-  //   Snackbar.error('复制失败,请手动复制。')
-  // }
   try {
     await navigator.clipboard.writeText(shareUrlTxt.value)
     Snackbar.success('复制成功')

+ 0 - 1
src/views/recruit/personal/position/index.vue

@@ -5,7 +5,6 @@
       <div class="stickyBox">
         <headSearch
           v-model="headSearchText"
-          text="中国"
           @handleSearch="val => handleQueryChange('content', val)"
         ></headSearch>
       </div>