Xiao_123 6 ماه پیش
والد
کامیت
382a6e7e2c
2فایلهای تغییر یافته به همراه48 افزوده شده و 43 حذف شده
  1. 43 42
      pagesA/chart/index.vue
  2. 5 1
      pagesA/interview/index.vue

+ 43 - 42
pagesA/chart/index.vue

@@ -4,12 +4,12 @@
       <view class="box-top-title">
         {{ info.name }}
         <text class="subText">
-          {{ info.postName || '' }}
-          <text v-if="info.postName && info.enterpriseName" class="gun">|</text>
+          {{ info?.postName || '' }}
+          <text v-if="info?.postName && info.enterpriseName" class="gun">|</text>
           {{ info.enterpriseName }}
         </text>
       </view>
-      <view class="box-top-content" v-if="interview.length">
+      <!-- <view class="box-top-content" v-if="interview.length">
         <view v-for="val in interview" :key="val.id" class="color-666">
           <view class="box-top-content-t">
             <view class="font-weight-bold color-primary">
@@ -34,10 +34,10 @@
             </view>
           </view>
         </view>
-      </view>
+      </view> -->
+      <uni-notice-bar v-if="hasWaitingProcessingInterview" show-get-more single text="您有待处理的面试邀请,点击查看详情" @click="handleToCenter"/>
     </view>
-    <!-- <view class="box-main"  ref="chatRef"> -->
-      <scroll-view class="box-main"  ref="chatRef" scroll-y="true" :scroll-top="scrollInto"  >
+      <scroll-view class="box-main" scroll-y="true" ref="chatRef" :scroll-top="scrollInto">
         <view class="box-main-more" v-if="hasMore">
           <text @click="handleMore">查看更多</text>
         </view>
@@ -105,19 +105,19 @@
             </template>
             <!-- 发起面试邀请 -->
             <view class="message-text none" v-else-if="val.payload?.type === 101">
-              <uni-tag text="发起了面试邀请" type="primary" />
+              <uni-tag text="发起了面试邀请" custom-style="background-color: #00897B; border-color: #00897B; color: #fff;" />
             </view>
             <view class="message-text none" v-else-if="val.payload?.type === 103">
               <uni-tag text="拒绝了面试邀请" type="error" />
             </view>
             <view class="message-text none" v-else-if="val.payload?.type === 104">
-              <uni-tag text="接受了面试邀请" type="success" />
+              <uni-tag text="接受了面试邀请" custom-style="background-color: #00897B; border-color: #00897B; color: #fff;" />
             </view>
             <view v-else-if="val.payload.type === 105" class="text-end">
               <uni-tag
                 v-if="val.from_uid === IM.uid"
                 :text="val.payload.content?.type === 1 ? '附件简历已发送' : '简历请求已发送'"
-                type="success"
+                custom-style="background-color: #00897B; border-color: #00897B; color: #fff;"
               />
               <view
                 v-if="val.payload.content?.type !== 2 || val.from_uid !== IM.uid"
@@ -144,7 +144,6 @@
         </view>
       </scroll-view>
       
-    <!-- </view> -->
     <view class="box-bottom">
       <view class="box-bottom-tool" style="display: flex; justify-content: space-between;">
         <uni-tag :text="isSendResume ? '简历已投递' : '发送简历'" :disabled="isSendResume" type="success" @tap="handleFindResume"/>
@@ -186,7 +185,7 @@
       </view>
     </uni-popup>
 
-    <uni-popup ref="confirm" type="dialog">
+    <!-- <uni-popup ref="confirm" type="dialog">
       <uni-popup-dialog
         :type="isAgree ? 'success' : 'warn'"
         cancelText="取消"
@@ -196,13 +195,13 @@
         @confirm="handleConfirm"
         @close="handleCloseConfirm"
       ></uni-popup-dialog>
-    </uni-popup>
+    </uni-popup> -->
   </view>
 </template>
 
 <script setup>
-import { ref, watch } from 'vue'
-import { onLoad } from '@dcloudio/uni-app'
+import { ref, watch, nextTick } from 'vue'
+import { onLoad, onShow } from '@dcloudio/uni-app'
 import { useIMStore } from '@/store/im'
 import { userStore } from '@/store/user'
 import { initConnect, send, initChart, getMoreMessages } from '@/hooks/useIM'
@@ -213,7 +212,7 @@ import { preview } from '@/utils/preview'
 import { getPersonResumeCv, saveResume } from '@/api/user'
 import { uploadFile } from '@/api/file'
 import { getInterviewInviteListByInviteUserId, getMessageType } from '@/api/common'
-import { userInterviewInviteReject } from '@/api/personalCenter'
+// import { userInterviewInviteReject } from '@/api/personalCenter'
 import {
   jobCvRelSend,
   jobCvRelCheckSend,
@@ -240,9 +239,9 @@ const interview = ref([])
 const statusList = ref([])
 const inputValue = ref('')
 
-const isAgree = ref(false)
-const confirm = ref()
-const chooseInvite = ref(null)
+// const isAgree = ref(false)
+// const confirm = ref()
+// const chooseInvite = ref(null)
 
 const scrollInto = ref(0)
 
@@ -313,6 +312,7 @@ function setScrollBottom () {
   // scrollInto.value = 200
 }
 
+const hasWaitingProcessingInterview = ref(false) // 是否有待接受的面试邀请
 async function getInterviewInviteList () {
   if (!info.value.id) return
   const { data } = await getInterviewInviteListByInviteUserId(info.value.id)
@@ -326,6 +326,7 @@ async function getInterviewInviteList () {
       statusText
     }
   }) : []
+  hasWaitingProcessingInterview.value = interview.value.some(e => e.status === '0')
 }
 
 const getStatusList = async () => {
@@ -349,7 +350,7 @@ function handleSend () {
 
 function handleToCenter () {
   uni.navigateTo({
-    url: '/pagesA/interview/index'
+    url: '/pagesA/interview/index?index=1'
   })
 }
 
@@ -428,35 +429,35 @@ async function handleSendResume () {
 }
 
 // 拒绝邀请
-function handleRefuse (val) {
-  isAgree.value = false
-  chooseInvite.value = val
-  confirm.value.open()
-}
+// function handleRefuse (val) {
+//   isAgree.value = false
+//   chooseInvite.value = val
+//   confirm.value.open()
+// }
 
 // 接受邀请
-function handleAgree (val) {
-  isAgree.value = true
-  chooseInvite.value = val
-  confirm.value.open()
-}
+// function handleAgree (val) {
+//   isAgree.value = true
+//   chooseInvite.value = val
+//   confirm.value.open()
+// }
 
 // 确认
-async function handleConfirm () {
-  // 拒绝
-  if (!isAgree.value) {
-    await userInterviewInviteReject(chooseInvite.value.id)
-  } else {
-    await userInterviewInviteReject(chooseInvite.value.id)
-  }
-  uni.showToast({ title: '操作成功', icon: 'none' })
-  send(JSON.stringify({ id: chooseInvite.value.id }), channelItem.value, isAgree.value ? 104 : 103)
-}
+// async function handleConfirm () {
+//   // 拒绝
+//   if (!isAgree.value) {
+//     await userInterviewInviteReject(chooseInvite.value.id)
+//   } else {
+//     await userInterviewInviteReject(chooseInvite.value.id)
+//   }
+//   uni.showToast({ title: '操作成功', icon: 'none' })
+//   send(JSON.stringify({ id: chooseInvite.value.id }), channelItem.value, isAgree.value ? 104 : 103)
+// }
 
 // 关闭
-function handleCloseConfirm () {
-  confirm.value.close()
-}
+// function handleCloseConfirm () {
+//   confirm.value.close()
+// }
 
 // 查看更多
 async function handleMore () {

+ 5 - 1
pagesA/interview/index.vue

@@ -28,10 +28,10 @@ import { dealDictObjData } from '@/utils/position'
 import PositionList from '@/components/PositionList'
 import Items from './item.vue'
 import { userStore } from '@/store/user'
+import { onLoad } from '@dcloudio/uni-app'
 
 const useUserStore = userStore()
 const current = ref(0)
-// const controlList = ['已投递', '待同意', '待面试', '已完成', '已拒绝']
 const controlList = ['已投递', '待同意', '待面试', '已完成', '已拒绝']
 const statusList = [0, 1, 3, 98]
 
@@ -45,6 +45,10 @@ const popup = ref()
 const type = ref('')
 const id = ref(null)
 
+onLoad((options) => {
+  if (options?.index) current.value = Number(options.index)
+})
+
 const getList = async () => {
   const api = current.value === 0 ? getJobDeliveryList : getUserInterviewInvitePage
   if (current.value !== 0) queryParams.value.status = statusList[current.value - 1]