Xiao_123 1 ماه پیش
والد
کامیت
1978e0c3a2
6فایلهای تغییر یافته به همراه169 افزوده شده و 142 حذف شده
  1. 9 1
      components/Navbar/index.vue
  2. 2 1
      pages.json
  3. 139 101
      pagesB/companyDetail/index.vue
  4. 4 4
      pagesB/positionDetail/index.vue
  5. BIN
      static/iconfont.ttf
  6. 15 35
      static/iconfont.wxss

+ 9 - 1
components/Navbar/index.vue

@@ -15,7 +15,15 @@
         :style="{'height': defaultLogoHeight + 'px'}"
       ></image>
       <view v-else class="nav-box-title" :style="{'height': height ? (height - statusBarHeight) + 'px' : '100%'}">
-        <uni-icons v-if="!textLeft" :type="pages && pages.length > 1 ? 'left' : 'home'" size="23" class="ss-m-l-20" color="#0E100F" @tap="goBack"></uni-icons>
+        <uni-icons 
+          v-if="!textLeft" 
+          :type="pages && pages.length > 1 ? 'icon-left' : 'icon-shouye'" 
+          size="23" 
+          class="ss-m-l-20" 
+          color="#0E100F" 
+          @tap="goBack"
+          custom-prefix="iconfont"
+        ></uni-icons>
         <view class="title-text" :class="[{'text-left': textLeft}, {'text-center': !textLeft}]">{{ title }}</view>
       </view>
     </view>

+ 2 - 1
pages.json

@@ -254,7 +254,8 @@
 				{
 					"path": "companyDetail/index",
 					"style": {
-						"navigationBarTitleText": "企业详情"
+						"navigationBarTitleText": "企业详情",
+						"navigationStyle": "custom"
 					}
 				},
 				{

+ 139 - 101
pagesB/companyDetail/index.vue

@@ -1,116 +1,135 @@
 <template>
-  <view class="ss-p-b-30">
-    <view class="mar p-tb ss-m-x-30">
-      <view class="f-horizon">
-        <image style="width: 80px; height: 80px;" :src="info.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
-        <view class="f-straight ss-m-l-10" style="flex: 1;position: relative;">
-          <view class="title-des font-weight-bold" style="max-width: 60vw;">{{ formatName(info.anotherName || info.name) }}</view>
-          <view class="color-999 ellipsis font-size-14" style="max-width: 60vw;">
-            <span>{{ !!info.industryName? info.industryName : ''}}</span>
-            <span class="ss-m-x-10" v-if="info?.industryName && info?.scaleName"> | </span>
-            <span>{{ info.scaleName || '' }}</span>
+  <view>
+    <Navbar title="企业详情" :textLeft="false" />
+    <view class="ss-p-b-30" :style="{'padding-top': navbarHeight + 'px'}">
+      <view class="commonBackground"></view>
+      <view class="defaultBgc" >
+        <view style="position: relative; z-index: 1;">
+          <view class="mar">
+            <view class="f-horizon ss-p-x-20">
+              <image 
+                class="default-border default-radius" 
+                style="width: 70px; height: 70px; z-index: 1;" 
+                :src="info.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"
+              ></image>
+              <view class="f-straight ss-m-l-20" style="flex: 1;position: relative;">
+                <view class="title-des MiSans-Semibold" style="max-width: 60vw;;">{{ formatName(info.anotherName || info.name) }}</view>
+                <view class="color-999 ellipsis font-size-14 MiSans-Normal" style="max-width: 60vw;">
+                  <span class="ss-m-r-10">{{ !!info.industryName? info.industryName : ''}}</span>
+                  <span>{{ info.scaleName || '' }}</span>
+                </view>
+                <view class="collect-icon" @click="handleFollow">
+                  <uni-icons :type="isCollection ? 'heart-filled' : 'heart'" color="#00B760" size="25"></uni-icons>
+                </view>
+              </view>
+            </view>
           </view>
-          <view class="collect-icon" @click="handleFollow">
-            <uni-icons :type="isCollection ? 'heart-filled' : 'heart'" color="#fc6d5e" size="25"></uni-icons>
+        
+          <view class="ss-m-t-30">
+            <uni-segmented-control :current="current" class="MiSans-Normal" :values="items" @clickItem="changeControl" styleType="text" activeColor="#00B760"></uni-segmented-control>
           </view>
-        </view>
-      </view>
-    </view>
 
-    <view class="ss-m-t-30" style="background-color: #fff;">
-      <uni-segmented-control :current="current" class="MiSans-Normal" :values="items" @clickItem="changeControl" styleType="text" activeColor="#00B760"></uni-segmented-control>
-    </view>
-
-    <view v-if="current === 0" style="height: 20rpx; background-color: #f8f8fa;"></view>
-
-    <!-- 企业信息 -->
-    <view v-if="current === 0" class="ss-m-t-30 ss-m-x-30 ss-p-b-30">
-      <span v-for="(tag, i) in info.tagList" :key="i" class="ss-m-r-10 ss-m-b-10" style="display: inline-block;">
-        <uni-tag :text="tag" inverted="false" size="default" custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7; display: inline-block;"/>
-      </span>
-      <!-- 简介 -->
-      <view class="ss-m-t-30">
-        <h4>企业简介</h4>
-        <view v-if="info.introduce" class="ss-m-t-20" style="color: #606371;" v-html="info.introduce?.replace(/\n/g, '</br>')"></view>
-        <view v-else></view>
-      </view>
-      <!-- 福利标签 -->
-      <view class="topLine"></view>
-      <view >
-        <h4>企业福利标签</h4>
-        <view class="ss-m-t-20" v-if="info?.welfareList?.length">
-          <span v-for="(tag, i) in info.welfareList" :key="i" class="ss-m-r-10 ss-m-b-10" style="display: inline-block;">
-            <uni-tag :text="tag" inverted="false" size="default" custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7; display: inline-block;"/>
-          </span>
-        </view>
-        <view v-else></view>
-      </view>
-      <!-- 网址 -->
-      <view class="topLine"></view>
-      <view>
-        <h4>企业网址</h4>
-        <view class="ss-m-t-20">
-          <uni-link v-if="info.website" :href="info.website" :text="info.website" color="#00B760"></uni-link>
-          <view v-else></view>
-        </view>
-      </view>
-      <view class="topLine"></view>
-      <!-- 工商信息 -->
-      <view>
-        <h4>工商信息</h4>
-        <view v-if="info.business && Object.keys(info.business).length">
-          <view class="ss-m-y-15" v-for="k in business" :key="k.value">
-            <view>{{ k.name }}</view>
-            <view class="color-666 ss-m-t-5">
-              {{ info.business[k.value] ? k.value === 'establishmentTime' ? timesTampChange(info.business[k.value], 'Y-M-D') : info.business[k.value] : '' }}
+          <!-- 企业信息 -->
+          <view v-if="current === 0" class="ss-m-t-30 ss-m-x-30 ss-p-b-30">
+            <span v-for="(tag, i) in info.tagList" :key="i" class="ss-m-r-10 ss-m-b-10" style="display: inline-block;">
+              <uni-tag 
+                :text="tag" 
+                inverted="false" 
+                size="default" 
+                custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7; display: inline-block;font-family: MiSans-Normal;"
+              />
+            </span>
+            <!-- 简介 -->
+            <view class="ss-m-t-30">
+              <h4 class="MiSans-Semibold font-size-17">企业简介</h4>
+              <view v-if="info.introduce" class="ss-m-t-20 htmlCss color-666 font-size-14 MiSans-Normal" v-html="info.introduce?.replace(/\n/g, '</br>')"></view>
+              <view v-else></view>
+            </view>
+            <!-- 福利标签 -->
+            <view class="topLine"></view>
+            <view >
+              <h4 class="MiSans-Semibold font-size-17">企业福利标签</h4>
+              <view class="ss-m-t-20" v-if="info?.welfareList?.length">
+                <span v-for="(tag, i) in info.welfareList" :key="i" class="ss-m-r-10 ss-m-b-10" style="display: inline-block;">
+                  <uni-tag 
+                    :text="tag" 
+                    inverted="false" 
+                    size="default" 
+                    custom-style="background-color: #eef1f7;color:#7f828b;border-color:#eef1f7; display: inline-block; font-family: MiSans-Normal;"
+                  />
+                </span>
+              </view>
+              <view v-else></view>
+            </view>
+            <!-- 网址 -->
+            <view class="topLine"></view>
+            <view>
+              <h4 class="MiSans-Semibold font-size-17">企业网址</h4>
+              <view class="ss-m-t-20">
+                <uni-link v-if="info.website" :href="info.website" :text="info.website" class="MiSans-Normal" color="#00B760"></uni-link>
+                <view v-else></view>
+              </view>
+            </view>
+            <view class="topLine"></view>
+            <!-- 工商信息 -->
+            <view>
+              <h4 class="MiSans-Semibold font-size-17">工商信息</h4>
+              <view v-if="info.business && Object.keys(info.business).length">
+                <view class="ss-m-y-15" v-for="k in business" :key="k.value">
+                  <view class="MiSans-Normal">{{ k.name }}</view>
+                  <view class="color-666 ss-m-t-5 MiSans-Normal font-size-14">
+                    {{ info.business[k.value] ? k.value === 'establishmentTime' ? timesTampChange(info.business[k.value], 'Y-M-D') : info.business[k.value] : '' }}
+                  </view>
+                </view>
+              </view>
+              <view v-else></view>
+            </view>
+            <!-- 地址 -->
+            <view class="topLine"></view>
+            <view>
+              <h4 class="MiSans-Semibold font-size-17">企业地址</h4>
+              <view class="ss-m-t-20" v-if="info?.business?.address">
+                <uni-icons type="map-pin-ellipse" color="#00B760" size="20"></uni-icons>
+                <span class="color-666 font-size-15 MiSans-Normal">{{ info?.business?.address }}</span>
+              </view>
+              <view v-else></view>
+            </view>
+            <view class="topLine"></view>
+            <!-- 企业相册 -->
+            <view>
+              <h4 class="MiSans-Semibold font-size-17">企业相册</h4>
+              <view class="ss-m-t-20" v-if="info?.albumList">
+                <swiper class="swiper-box" :indicator-dots="true" indicator-active-color="#fff">
+                  <swiper-item v-for="(item ,index) in info?.albumList" :key="index" style="overflow-x:hidden;overflow-y: auto;">
+                    <image v-if="checkIsImage(item)" class="ac-imgs" :src="item" @click="previewImage(index)"></image>
+                    <video v-else :id="'albumListVideo'+index" class="ac-imgs" :src="item" @error="videoErrorCallback" controls></video>
+                  </swiper-item>
+                </swiper>
+              </view>
+              <view v-else></view>
             </view>
           </view>
-        </view>
-        <view v-else></view>
-      </view>
-      <!-- 地址 -->
-      <view class="topLine"></view>
-      <view>
-        <h4>企业地址</h4>
-        <view class="ss-m-t-20" v-if="info?.business?.address">
-          <uni-icons type="map-pin-ellipse" color="#00B760" size="20"></uni-icons>
-          <span class="color-666 font-size-15">{{ info?.business?.address }}</span>
-        </view>
-        <view v-else></view>
-      </view>
-      <view class="topLine"></view>
-      <!-- 企业相册 -->
-      <view>
-        <h4>企业相册</h4>
-        <view class="ss-m-t-20" v-if="info?.albumList">
-          <swiper class="swiper-box" :indicator-dots="true" indicator-active-color="#fff">
-            <swiper-item v-for="(item ,index) in info?.albumList" :key="index" style="overflow-x:hidden;overflow-y: auto;">
-              <image v-if="checkIsImage(item)" class="ac-imgs" :src="item" @click="previewImage(index)"></image>
-              <video v-else :id="'albumListVideo'+index" class="ac-imgs" :src="item" @error="videoErrorCallback" controls></video>
-            </swiper-item>
-          </swiper>
-        </view>
-        <view v-else></view>
-      </view>
-    </view>
 
-    <!-- 招聘岗位 -->
-    <view v-if="current == 1">
-      <scroll-view class="scrollBox defaultBgc" scroll-y="true" @scrolltolower="loadingMore">
-        <view v-if="positionList.length > 0">
-          <PositionList class="pb-10" :list="positionList" :noMore="false"></PositionList>
-          <uni-load-more :status="status" />
-        </view>
-        <view v-else class="nodata-img-parents">
-          <image src="https://minio.citupro.com/dev/static/nodata.png" mode="widthFix" class="nodata-img-child"></image>
+          <!-- 招聘岗位 -->
+          <view v-if="current == 1">
+            <scroll-view class="scrollBox" scroll-y="true" @scrolltolower="loadingMore">
+              <view v-if="positionList.length > 0">
+                <PositionList class="pb-10" :list="positionList" :noMore="false"></PositionList>
+                <uni-load-more :status="status" />
+              </view>
+              <view v-else class="nodata-img-parents">
+                <image src="https://minio.citupro.com/dev/static/nodata.png" mode="widthFix" class="nodata-img-child"></image>
+              </view>
+            </scroll-view>
+          </view>
         </view>
-      </scroll-view>
+      </view>
     </view>
   </view>
 </template>
 
 <script setup>
-import { ref } from 'vue'
+import { ref, onMounted } from 'vue'
 import { onLoad, onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app'
 import { getEnterpriseDetails, enterpriseClick, getEnterpriseSubscribeCheck, getEnterpriseUnsubscribe, getEnterpriseSubscribe } from '@/api/user'
 import { dealDictObjData } from '@/utils/position'
@@ -120,6 +139,25 @@ import { getAccessToken } from '@/utils/request'
 import PositionList from '@/components/PositionList'
 import { checkIsImage } from '@/utils'
 import { formatName } from '@/utils/getText'
+import Navbar from '@/components/Navbar'
+
+const navbarHeight = ref(0)
+
+onMounted(async () => {
+  try {
+    const res = await new Promise((resolve, reject) => {
+      uni.getStorage({
+        key: 'navbarHeight',
+        success: (result) => resolve(result),
+        fail: (err) => reject(err)
+      })
+    })
+    navbarHeight.value = res.data
+	  console.log(navbarHeight.value, '企业详情-导航栏高度')
+  } catch (error) {
+    console.error('读取本地缓存出错:', error)
+  }
+})
 
 const current = ref(0)
 const items = ['企业介绍', '招聘职位']
@@ -243,7 +281,7 @@ const videoErrorCallback = (e) =>{
 <style scoped lang="scss">
 .title-des {
   color: #0E100F;
-  font-size: 17px;
+  font-size: 30rpx;
   margin-right: 30px;
   margin-top: 1px;
   vertical-align: middle;

+ 4 - 4
pagesB/positionDetail/index.vue

@@ -56,17 +56,17 @@
                   </view>
                 </view>
                 <!-- 企业信息 -->
-                <view class="topLine mt-5 d-flex align-center" @click="jumpToEnterpriseDetail(info.enterprise.id)">
-                  <view class="avatarBox">
+                <view class="topLine mt-5 d-flex align-center" style="position: relative;" @click="jumpToEnterpriseDetail(info.enterprise.id)">
+                  <view class="avatarBox ss-m-t-5">
                     <image class="default-border default-radius" style="width: 100rpx; height: 100rpx;" :src="info.enterprise?.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
                   </view>
-                  <view>
+                  <view style="margin-right: 20px;">
                     <view class="contact-name MiSans-Medium default-text-color">{{ info.contact?.name }}</view>
                     <view class="contact-info MiSans-Normal color-666 font-size-13">
                       {{ formatName(info.enterprise?.anotherName || info.enterprise?.name) }} {{ info.contact?.postNameCn ? '· ' + info.contact?.postNameCn : '' }}
                     </view>
                   </view>
-                  <view class="d-flex align-center ss-m-l-10">
+                  <view style="position: absolute; right: 0px;">
                     <uni-icons type="right" size="20" color="#666"></uni-icons>
                   </view>
                 </view>

BIN
static/iconfont.ttf


+ 15 - 35
static/iconfont.wxss

@@ -1,5 +1,5 @@
 @font-face {
-  font-family: "iconfont"; /* Project id 4679810 */
+  font-family: "iconfont";
   src: url('/static/iconfont.ttf') format('truetype');
 }
 
@@ -11,36 +11,32 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
-.icon-qianbao1:before {
-  content: "\e607";
+.icon-left:before {
+  content: "\e673";
 }
 
-.icon-weixinzhifu:before {
-  content: "\e6e8";
+.icon-shouye:before {
+  content: "\e60c";
 }
 
-.icon-alipay:before {
-  content: "\e601";
+.icon-icon-test:before {
+  content: "\eae3";
 }
 
-.icon-zixun:before {
-  content: "\e606";
+.icon-xueshengjibenxinxi:before {
+  content: "\e8b1";
 }
 
-.icon-wo-suoshuqiye:before {
-  content: "\e638";
-}
-
-.icon-qiyezhuanqu:before {
-  content: "\e62c";
+.icon-qianbao1:before {
+  content: "\e607";
 }
 
-.icon-zhaopinqiuzhi:before {
-  content: "\ffb6";
+.icon-weixinzhifu:before {
+  content: "\e6e8";
 }
 
-.icon-lianxikefu:before {
-  content: "\e609";
+.icon-alipay:before {
+  content: "\e601";
 }
 
 .icon-vip:before {
@@ -87,22 +83,6 @@
   content: "\e611";
 }
 
-.icon-dunpai1:before {
-  content: "\e610";
-}
-
-.icon-dunpai:before {
-  content: "\e604";
-}
-
-.icon-mn_dunpai_fill:before {
-  content: "\e600";
-}
-
-.icon-hongsedunpai:before {
-  content: "\e622";
-}
-
 .icon-arrow-sortdown-smal:before {
   content: "\e877";
 }