Jelajahi Sumber

素材更新

Xiao_123 6 bulan lalu
induk
melakukan
09e6ce6d99

+ 4 - 3
components/Navbar/index.vue

@@ -1,6 +1,6 @@
 <template>
-  <view class="navbar-box" :style="{'height': navbarHeight + 'px', 'paddingTop': statusBarHeight + 'px'}">
-    <image src="https://minio.citupro.com/dev/menduner/poster.png" class="navbar-box-logo" :style="{'height': (navbarHeight - 10) + 'px'}"></image>
+  <view class="navbar-box" :style="{'height': (navbarHeight < defaultLogoHeight ? (defaultLogoHeight + 10) : navbarHeight) + 'px', 'paddingTop': statusBarHeight + 'px'}">
+    <image src="https://minio.citupro.com/dev/menduner/poster.png" class="navbar-box-logo" :style="{'height': defaultLogoHeight + 'px'}"></image>
     <!-- <view class="navbar-box-title">{{ title }}</view> -->
   </view>
 </template>
@@ -16,13 +16,14 @@ defineProps({
   }
 })
 
+const defaultLogoHeight = 45
 const navbarHeight = ref(0)
 const statusBarHeight = ref(0)
 onLoad(() => {
   const systemInfo = uni.getSystemInfoSync()
   statusBarHeight.value = systemInfo.statusBarHeight
   const menuButtonInfo = uni.getMenuButtonBoundingClientRect()
-  navbarHeight.value = menuButtonInfo.height + ((menuButtonInfo.top - statusBarHeight.value) * 2) + 10
+  navbarHeight.value = menuButtonInfo.height + ((menuButtonInfo.top - statusBarHeight.value) * 2) + 15
 })
 </script>
 

+ 5 - 8
components/PositionList/index.vue

@@ -1,9 +1,9 @@
 <template>
   <view class="ss-m-x-20">
     <view v-if="list.length > 0" class="ss-p-b-30 ss-p-t-20">
-      <view v-for="(item, index) in list" :key="index" class="mList" :class="{ 'disable': item.job?.status === '1'}">
+      <view v-for="(item, index) in list" :key="index" class="mList" :class="{ 'disable': item.job?.status === '1'}" @click="toDetail(item)">
         <!-- 职位信息 -->
-        <view class="list-shape" @click="toDetail(1, item)">
+        <view class="list-shape">
           <!-- 职位 -->
           <view class="titleBox my-5">
             <view style="display: flex;align-items: center;">
@@ -49,14 +49,13 @@
         </view>
         <!-- 企业信息 -->
         <view class="sub-li-bottom">
-          <view class="avatarBox" @click="toDetail(0, item)">
+          <view class="avatarBox">
             <image class="enterAvatar ml" :src="item.enterprise?.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
           </view>
           <view class="ss-m-l-35">
             <!-- 企业简称 -->
             <span
               class="mr"
-              @click="toDetail(0, item)"
             >
               {{ item.enterprise?.anotherName || ' -- ' }}
             </span>
@@ -84,10 +83,8 @@ const props = defineProps({
 })
 
 //岗位详情
-const toDetail = (isPosition, item) =>{
-  const url = isPosition
-    ? `/pagesB/positionDetail/index?id=${item.job?.id}`
-    : `/pagesB/companyDetail/index?id=${item.enterprise?.id}`
+const toDetail = (item) =>{
+  const url = `/pagesB/positionDetail/index?id=${item.job?.id}`
   uni.navigateTo({ url })
 }
 

+ 7 - 7
pages/index/position.vue

@@ -11,8 +11,8 @@
               <uni-grid :column="5" @change="handleGrid" :showBorder="false">
                 <uni-grid-item v-for="(val, index) in gridList" :index="index" :key="index">
                   <view class="d-flex align-center flex-column justify-center" style="width: 100%; height: 100%; border: none;">
-                    <image :src="val.icon" style="width: 40px; height: 40px;"></image>
-                    <text class="text color-666 font-size-14 ss-m-t-10">{{ val.label }}</text>
+                    <image :src="val.icon" style="width: 35px; height: 35px;"></image>
+                    <text class="text color-666 font-size-14 ss-m-t-15">{{ val.label }}</text>
                   </view>
                 </uni-grid-item>
               </uni-grid>
@@ -113,11 +113,11 @@ const filterList = ref([
 ])
 
 const gridList = [
-  { label: '优选集团', icon: '/static/svg/jituan.svg', path: '' },
-  { label: '精选企业', icon: '/static/svg/qiye.svg', path: '' },
-  { label: '门墩儿猎头', icon: '/static/svg/lietou.svg', path: '' },
-  { label: '早报资讯', icon: '/static/svg/zixun.svg', specifications: 50, path: '' },
-  { label: '联系我们', icon: '/static/svg/kefu.svg', path: '' }
+  { label: '优选集团', icon: '/static/img/group.png', path: '' },
+  { label: '精选企业', icon: '/static/img/enterprise.png', path: '' },
+  { label: '门墩儿猎头', icon: '/static/img/headhunting.png', path: '' },
+  { label: '早报资讯', icon: '/static/img/information.png', specifications: 50, path: '' },
+  { label: '联系我们', icon: '/static/img/contact.png', path: '' }
 ]
 
 const handleGrid = (e) => {

+ 29 - 12
pagesB/positionDetail/index.vue

@@ -44,27 +44,27 @@
             <view class="iconfont icon-a-1_zhaopin" style="color: #e03506; font-size: 30px;"></view>
             <view class="hirePrice">{{ `赏金:${commissionCalculation(info.hirePrice, 1)}元` }}</view>
           </view>
+          <!-- 企业信息 -->
+          <view class="topLine mt-5 d-flex" @click="handleToEnterprise">
+            <view class="avatarBox">
+              <image class="avatar" :src="info.contact?.avatar || 'https://minio.citupro.com/dev/menduner/7.png'"></image>
+            </view>
+            <view >
+              <view class="contact-name">{{ info.contact?.name }}</view>
+              <view class="contact-info">{{ info.enterprise?.name }} {{ info.contact?.postNameCn ? '· ' + info.contact?.postNameCn : '' }}</view>
+            </view>
+          </view>
           <!-- 岗位职责 -->
           <view class="topLine fs14 mt-5">
             <view class="fs15 w-600 my5">岗位职责</view>
             <view v-if="!info.content">暂无</view>
-            <rich-text v-else class="htmlCss" :nodes="info.content"></rich-text>
+            <rich-text v-else class="htmlCss" :nodes="cleanedHtml(info.content)"></rich-text>
           </view>
           <!-- 岗位要求 -->
           <view class="topLine mt-5">
             <view class="fs15 w-600 my5">岗位要求</view>
             <view v-if="!info.requirement">暂无</view>
-            <rich-text v-else class="htmlCss" :nodes="info.requirement"></rich-text>
-          </view>
-          <!-- 企业信息 -->
-          <view class="topLine mt-5 d-flex">
-            <view class="avatarBox">
-              <image class="avatar" :src="info.contact?.avatar || 'https://minio.citupro.com/dev/menduner/7.png'"></image>
-            </view>
-            <view >
-              <view class="contact-name">{{ info.contact?.name }}</view>
-              <view class="contact-info">{{ info.enterprise?.name }} {{ info.contact?.postNameCn ? '· ' + info.contact?.postNameCn : '' }}</view>
-            </view>
+            <rich-text v-else class="htmlCss" :nodes="cleanedHtml(info.requirement)"></rich-text>
           </view>
           <!-- 工作地址 -->
           <view class="topLine mt-5">
@@ -277,6 +277,23 @@ onShareAppMessage((res) => {
   }
 })
 
+// 富文本内容处理,去除多余的换行空格等
+const cleanedHtml = (text) => {
+  let cleaned = text.replace(/\n/g, '</br>')
+  cleaned = cleaned.replace(/\s+/g, ' ').trim()
+  cleaned = cleaned.replace(/(^|\s+)<\/p>(\s*<p>|$)/g, '</p><p>').trim()
+  cleaned = cleaned.replace(/<p>\s*(<br>)\s*<\/p>/g, '')
+  cleaned = cleaned.replace(/<p>\s*(<\/br>)\s*<\/p>/g, '')
+  return cleaned
+}
+
+// 企业详情
+const handleToEnterprise = () => {
+  uni.navigateTo({
+    url: `/pagesB/companyDetail/index?id=${info.value.enterprise?.id}`
+  })
+}
+
 async function getPositionDetail () {
   try {
     loading.value = true

TEMPAT SAMPAH
static/img/contact.png


TEMPAT SAMPAH
static/img/enterprise.png


TEMPAT SAMPAH
static/img/group.png


TEMPAT SAMPAH
static/img/headhunting.png


TEMPAT SAMPAH
static/img/information.png


File diff ditekan karena terlalu besar
+ 0 - 0
static/svg/jituan.svg


+ 0 - 1
static/svg/kefu.svg

@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1729499264576" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2590" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30"><path d="M512 0c282.779826 0 512 229.220174 512 512S794.779826 1024 512 1024 0 794.779826 0 512 229.220174 0 512 0z m-1.135304 225.925565c-138.017391 0-250.278957 114.287304-250.278957 255.777392 0 1.157565 0.089043 2.29287 0.222609 3.428173-0.222609 1.825391-0.222609 3.695304-0.222609 5.565218v71.858087c-1.914435 37.62087 28.360348 69.654261 67.82887 71.746782h16.962782c39.535304-2.070261 69.854609-34.170435 67.895652-71.835826v-71.791304c1.936696-37.62087-28.338087-69.676522-67.806608-71.791304h-16.985044a64.111304 64.111304 0 0 0-7.234782 0.400695c17.92-65.313391 71.457391-116.335304 140.020869-133.431652 104.759652-26.112 211.878957 33.613913 239.304348 133.431652a64.155826 64.155826 0 0 0-7.279304-0.400695h-16.962783c-39.513043 2.048-69.832348 34.148174-67.895652 71.791304v71.902609c-1.958957 37.64313 28.382609 69.765565 67.895652 71.813565h12.510609a186.479304 186.479304 0 0 1-88.909913 80.428522 36.59687 36.59687 0 0 0-36.173913-9.728l-49.196522 13.935304c-20.992 7.346087-32.589913 28.805565-26.713043 49.374609l0.512 2.159304c5.030957 19.389217 25.6 31.254261 45.990956 26.445913l49.174261-13.935304c15.805217-5.075478 26.86887-18.69913 28.048696-34.504348 57.032348-25.132522 100.886261-71.257043 121.36626-127.799652a73.104696 73.104696 0 0 0 28.204522-58.278957v-71.813565l-0.222609-5.565217c0.155826-1.113043 0.222609-2.270609 0.222609-3.405913 0-141.490087-112.261565-255.777391-250.278956-255.777392z" fill="#2196F3" p-id="2591"></path></svg>

File diff ditekan karena terlalu besar
+ 0 - 0
static/svg/lietou.svg


File diff ditekan karena terlalu besar
+ 0 - 0
static/svg/qiye.svg


File diff ditekan karena terlalu besar
+ 0 - 0
static/svg/zixun.svg


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini