Bladeren bron

vip权益

lifanagju_citu 6 maanden geleden
bovenliggende
commit
e8e29a8ed5
5 gewijzigde bestanden met toevoegingen van 150 en 3 verwijderingen
  1. 18 0
      pages.json
  2. 15 3
      pages/index/my.vue
  3. 9 0
      pagesA/vip/blockEnt/index.vue
  4. 99 0
      pagesA/vip/index.vue
  5. 9 0
      pagesA/vip/template/index.vue

+ 18 - 0
pages.json

@@ -157,6 +157,24 @@
 					"style": {
 						"navigationBarTitleText": "积分明细"
 					}
+				},
+				{
+					"path": "vip/index",
+					"style": {
+						"navigationBarTitleText": "vip权益"
+					}
+				},
+				{
+					"path": "vip/template/index",
+					"style": {
+						"navigationBarTitleText": "简历模板"
+					}
+				},
+				{
+					"path": "vip/blockEnt/index",
+					"style": {
+						"navigationBarTitleText": "屏蔽企业"
+					}
 				}
 			]
 		},

+ 15 - 3
pages/index/my.vue

@@ -63,7 +63,7 @@
 </template>
 
 <script setup>
-import { ref, computed } from 'vue'
+import { ref, computed, watch } from 'vue'
 import ResumeStatus from '@/components/ResumeStatus'
 import { userStore } from '@/store/user'
 import { getUserAvatar } from '@/utils/avatar'
@@ -85,6 +85,7 @@ const useUserStore = userStore()
 const baseInfo = computed(() => useUserStore?.baseInfo)
 const userInfo = computed(() => useUserStore?.userInfo)
 const vip = computed(() => new Date().getTime() < useUserStore?.userInfo?.vipExpireDate)
+
 const popup = ref()
 const shareQrCodePopup = ref()
 const itemList = [
@@ -92,14 +93,25 @@ const itemList = [
 	{ title:'关注我的', path:'/pagesA/seenMe/index', icon:'staff' }
 ]
 
-const list = [
+const list = ref([
 	{	title: '我的分享码',	path: 'shareQrCode'	},					
 	{	title: '在线简历',	path: '/pagesA/resumeOnline/index'	},					
 	{	title: '附件简历',	path: '/pagesA/resume/index'	},					
+	// {	title: '简历模板',	path: '/pagesA/resume/index'	},					
+	// {	title: '屏蔽企业',	path: '/pagesA/resume/index'	},					
 	{ title: '面试管理', path: '/pagesA/interview/index' },
 	{ title: '门墩儿商城', appId: 'wx6decdf12f9e7a061' },
 	{ title: '我要招聘', key: 'recruit' }
-]
+])
+watch(
+  () => vip.value, 
+  (newVal) => {
+		if (newVal) list.value.splice(1, 0, {	title: 'vip权益', key: 'vip',	path: '/pagesA/vip/index'	})
+		else list.value = list.value.filter(e => !e.key || e.key !== 'vip')
+  },
+  { immediate: true },
+  // { deep: true }
+)
 
 // 列表跳转
 const handleToLink = (item) => {

+ 9 - 0
pagesA/vip/blockEnt/index.vue

@@ -0,0 +1,9 @@
+<!-- 屏蔽企业 -->
+<template>
+  <view>屏蔽企业</view>
+</template>
+
+<script setup>
+</script>
+<style lang="scss" scoped>
+</style>

+ 99 - 0
pagesA/vip/index.vue

@@ -0,0 +1,99 @@
+<!-- vip权益 -->
+<template>
+  <view class="box">
+    <!-- vip信息 -->
+    <view class="vipBox">
+      <view class="avatar">
+        <img :src="getUserAvatar(baseInfo?.avatar, baseInfo?.sex)" alt="" class="img-box">
+        <image src="/static/svg/vip.svg" class="vipIcon"></image>
+      </view>
+      <view class="nameBox">
+				<view class="name font-weight-bold font-size-16">{{ baseInfo?.name || userInfo?.phone }}</view>
+      </view>
+    </view>
+    <view style="height: 20rpx; background-color: #f8f8fa;"></view>
+    <view class="card">
+      <uni-list>
+        <uni-list-item
+          v-for="item in list"
+          :clickable="true"
+          :key="item.title"
+          :title="item.title"
+          showArrow
+          :rightText="item.rightTex || ''"
+          @click="handleToLink(item)"
+        >
+        </uni-list-item>
+      </uni-list>
+    </view>
+  </view>
+</template>
+
+<script setup>
+import { userStore } from '@/store/user'
+import { ref, computed, watch } from 'vue'
+import { getUserAvatar } from '@/utils/avatar'
+
+
+const useUserStore = userStore()
+const baseInfo = computed(() => useUserStore?.baseInfo)
+const userInfo = computed(() => useUserStore?.userInfo)
+
+const list = ref([
+	{	title: '简历模板',	path: '/pagesA/vip/template/index'	},					
+	{	title: '屏蔽企业',	path: '/pagesA/vip/blockEnt/index'	},			
+])
+
+// 列表跳转
+const handleToLink = (item) => {
+	uni.navigateTo({
+		url: item.path
+	})
+}
+
+
+</script>
+<style lang="scss" scoped>
+.vipBox {
+	// color: #a18a0f;
+  padding: 80rpx 50rpx;
+  display: flex;
+  background: linear-gradient(121deg,#fde2c2 29.02%,#c19164 104.03%);
+  .avatar{
+    position: relative;
+    width: 100rpx;
+    height: 100rpx;
+    margin: 0;
+    .img-box {
+      width: 100%;
+      height: 100%;
+      border: 2rpx solid #ccc;
+      border-radius: 50%;
+      border: 1px solid gold;
+    }
+    .vipIcon {
+      position: absolute;
+      width: 50%;
+      height: 50%;
+      bottom: 0;
+      right: 0;
+      transform: translate(0, 30%);
+    }
+  }
+  .nameBox {
+    margin-left: 30rpx;
+    .name {
+      color: #724d2b;
+    }
+  }
+}
+
+:deep(.uni-list-item) {
+	height: 120rpx !important;
+	line-height: 120rpx !important;
+}
+:deep(.uni-list-item__content-title) {
+	font-size: 32rpx !important;
+	font-weight: 500;
+}
+</style>

+ 9 - 0
pagesA/vip/template/index.vue

@@ -0,0 +1,9 @@
+<!-- 简历模板 -->
+<template>
+  <view>简历模板</view>
+</template>
+
+<script setup>
+</script>
+<style lang="scss" scoped>
+</style>