Xiao_123 9 місяців тому
батько
коміт
38a1b90519
8 змінених файлів з 137 додано та 35 видалено
  1. 13 0
      api/user.js
  2. 18 6
      pages.json
  3. 39 15
      pages/index/my.vue
  4. 11 0
      pagesA/interview/index.vue
  5. 25 0
      pagesA/seenMe/index.vue
  6. 14 6
      store/modal.js
  7. 16 7
      store/user.js
  8. 1 1
      utils/code.js

+ 13 - 0
api/user.js

@@ -36,4 +36,17 @@ export const getJobFavoriteList = (params) => {
       auth: true
     }
   })
+}
+
+// 谁看过我
+export const getInterestedMePage = (params) => {
+  return request({
+    url: '/menduner/system/job-cv-rel/look/page',
+    method: 'GET',
+    params,
+    custom: {
+      showLoading: false,
+      auth: true
+    }
+  })
 }

+ 18 - 6
pages.json

@@ -1,21 +1,21 @@
 {
 	"pages": [
 		{
-			"path": "pages/index/index",
+			"path": "pages/index/my",
 			"style": {
-				"navigationBarTitleText": "门墩儿招聘"
+				"navigationBarTitleText": "我的"
 			}
 		},
 		{
-			"path": "pages/index/position",
+			"path": "pages/index/index",
 			"style": {
-				"navigationBarTitleText": "职位"
+				"navigationBarTitleText": "门墩儿招聘"
 			}
 		},
 		{
-			"path": "pages/index/my",
+			"path": "pages/index/position",
 			"style": {
-				"navigationBarTitleText": "我的"
+				"navigationBarTitleText": "职位"
 			}
 		},
 		{
@@ -40,6 +40,18 @@
 					"style": {
 						"navigationBarTitleText": "职位收藏"
 					}
+				},
+				{
+					"path": "interview/index",
+					"style": {
+						"navigationBarTitleText": "面试管理"
+					}
+				},
+				{
+					"path": "seenMe/index",
+					"style": {
+						"navigationBarTitleText": "谁看过我"
+					}
 				}
 			]
 		}

+ 39 - 15
pages/index/my.vue

@@ -5,14 +5,23 @@
       <view v-if="!useUserStore.isLogin" class="font-weight-bold font-size-20" @tap="handleLogin">点击登录</view>
       <view v-else class="font-weight-bold font-size-20">{{ userInfo.name || userInfo.phone }}</view>
     </view>
-    <view style="margin-top: 80rpx;">
-      <uni-grid :column="4" :show-border="false">
-        <uni-grid-item :index="0" v-for="(val, index) in grid" :key="index" class="text-center">
-          <uni-icons :type="val.icon" size="40" color="#00897B"></uni-icons>
-          <text class="font-size-13 color-999 mt-5">{{ val.title }}</text>
-        </uni-grid-item>
-      </uni-grid>
+    <view class="d-flex" style="margin-top: 80rpx;">
+        <view v-for="(item, index) in itemList" :key="index" @tap="handleToLink(item)" class="parent">
+					<view class="d-flex justify-space-between">
+						<view>
+							<view class="colors">
+								<span>查看更多</span>
+								<uni-icons color="#c8c5c4" type="right" size="15" class="ml"/>
+							</view>
+							<view class="size-16">{{ item.title }}</view>
+						</view>
+						<view>
+							<uni-icons color="#00897B" :type="item.icon" size="45"/>
+						</view>
+					</view>
+				</view>
       </view>
+
       <view style="height: 10rpx; background-color: #f8f8fa;"></view>
 
       <view class="card">
@@ -36,15 +45,11 @@ import { userStore } from '@/store/user'
 import { getUserAvatar } from '@/utils/avatar'
 
 const useUserStore = userStore()
-const userInfo = computed(() => {
-  return useUserStore.userInfo
-})
+const userInfo = computed(() => useUserStore.userInfo)
 const popup = ref()
-const grid = [
-  { title: '全部', icon: 'list' },
-  { title: '被查看', icon: 'eye-filled' },
-  { title: '面试邀约', icon: 'auth-filled' },
-  { title: '不合适', icon: 'closeempty' }
+const itemList = [
+	{ title: "面试管理", path: "/pagesA/interview/index", icon: "list" },
+	{ title:'谁看过我', path:'/pagesA/seenMe/index', icon:'staff' }
 ]
 
 const list = [
@@ -96,4 +101,23 @@ const handleLogoutConfirm = () => {
 	font-size: 32rpx !important;
 	font-weight: 500;
 }
+.colors{
+	font-size: 24rpx;
+	color: #606266;
+}
+.size-16{
+	color: #3f424f;
+	font-size: 32rpx;
+	margin: 13rpx 0 5rpx 0;
+}
+.parent{
+	width: 50%;
+	border: 1px solid #f4f4f4;
+	border-radius: 10rpx;
+	margin: 0 30rpx 20rpx 30rpx;
+	padding: 20rpx;
+}
+.parent:first-child{
+	margin: 0 0 20rpx 30rpx;
+}
 </style>

+ 11 - 0
pagesA/interview/index.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>面试管理</div>
+</template>
+
+<script setup>
+// 我已投递,待接受,待面试,已完成,拒绝
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 25 - 0
pagesA/seenMe/index.vue

@@ -0,0 +1,25 @@
+<template>
+  <div>看过我</div>
+</template>
+
+<script setup>
+import { ref } from 'vue'
+import { getInterestedMePage } from '@/api/user'
+
+const queryParams = ref({
+  pageNo: 1,
+  pageSize: 10
+})
+
+const list = ref([])
+const getList = async () => {
+  const { data } = await getInterestedMePage(queryParams.value)
+  list.value = data
+}
+
+getList()
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 14 - 6
store/modal.js

@@ -12,12 +12,20 @@ export const modalStore = defineStore({
     }
   }),
   persist: {
-    enabled: true,
-    strategies: [
-      {
-        key: 'modal-store',
-        paths: ['lastTimer', 'advHistory'],
+    // enabled: true,
+    // strategies: [
+    //   {
+    //     key: 'modal-store',
+    //     paths: ['lastTimer', 'advHistory'],
+    //   },
+    // ],
+    storage: {
+      setItem(key, value) {
+        uni.setStorageSync(key, value)
       },
-    ],
+      getItem(key) {
+        return uni.getStorageSync(key)
+      },
+    },
   },
 });

+ 16 - 7
store/user.js

@@ -111,11 +111,20 @@ export const userStore = defineStore({
     },
   },
   persist: {
-    enabled: true,
-    strategies: [
-      {
-        key: 'user-store',
+    // enabled: true,
+    // strategies: [
+    //   {
+    //     key: 'user-store'
+    //   }
+    // ]
+    storage: {
+      setItem(key, value) {
+        uni.setStorageSync(key, value)
       },
-    ],
-  },
-});
+      getItem(key) {
+        return uni.getStorageSync(key)
+      },
+    },
+
+  }
+})

+ 1 - 1
utils/code.js

@@ -2,7 +2,7 @@ import { ref } from 'vue'
 import { sendSmsCode } from '@/api/common'
 import { modalStore } from '@/store/modal'
 import dayjs from 'dayjs';
-import test from '@/utils/test'
+import test from './test'
 
 const modal = modalStore()
 // 发送验证码