<template> 
 | 
  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> 
 | 
    <ContentScrollView style="background-color: #fff"> 
 | 
      <div class="personal-info-wrapper"> 
 | 
        <TaskCheckPersonalView 
 | 
          :avatarUrl="setOSSLink(detail?.enterpriseEmployeeUser?.avatar)" 
 | 
          :name="detail?.enterpriseEmployeeUser?.name" 
 | 
          :isReal="detail?.enterpriseEmployeeUser?.isReal" 
 | 
          :contactPhoneNumber="detail?.enterpriseEmployeeUser?.contactPhoneNumber" 
 | 
        /> 
 | 
      </div> 
 | 
      <div class="taskCheckFileCard-status-title">验收照片</div> 
 | 
      <TaskCheckFileCard 
 | 
        :created-time="detail?.createdTime" 
 | 
        :files="detail?.files?.map((x) => setOSSLink(x))" 
 | 
      ></TaskCheckFileCard> 
 | 
    </ContentScrollView> 
 | 
    <PageFooter> 
 | 
      <PageFooterBtn 
 | 
        type="primary" 
 | 
        :color="Colors.Info" 
 | 
        class="dark-btn" 
 | 
        @click="checkReceiveTask(EnumTaskUserSubmitCheckReceiveStatus.Fail)" 
 | 
        >验收未通过</PageFooterBtn 
 | 
      > 
 | 
      <PageFooterBtn 
 | 
        type="primary" 
 | 
        @click="checkReceiveTask(EnumTaskUserSubmitCheckReceiveStatus.Success)" 
 | 
        >验收通过</PageFooterBtn 
 | 
      > 
 | 
    </PageFooter> 
 | 
  </LoadingLayout> 
 | 
</template> 
 | 
  
 | 
<script setup lang="ts"> 
 | 
import Taro from '@tarojs/taro'; 
 | 
import { useQuery } from '@tanstack/vue-query'; 
 | 
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive'; 
 | 
import TaskCheckPersonalView from '../components/TaskCheckPersonalView.vue'; 
 | 
import { TaskCheckFileCard } from '@12333/components'; 
 | 
import { Colors, EnumTaskUserSubmitCheckReceiveStatus } from '@12333/constants'; 
 | 
import { Message, setOSSLink } from '@12333/utils'; 
 | 
import dayjs from 'dayjs'; 
 | 
import { goBack } from '@/utils'; 
 | 
  
 | 
defineOptions({ 
 | 
  name: 'InnerPage', 
 | 
}); 
 | 
  
 | 
const router = Taro.useRouter(); 
 | 
const id = router.params?.id ?? ''; 
 | 
const date = router.params?.date ?? ''; 
 | 
  
 | 
const { 
 | 
  isLoading, 
 | 
  isError, 
 | 
  data: detail, 
 | 
  refetch, 
 | 
} = useQuery({ 
 | 
  queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmit', id, date], 
 | 
  queryFn: async () => { 
 | 
    return await taskCheckReceiveServices.getCheckReceiveTaskUserSubmit( 
 | 
      { taskInfoUserId: id, date: dayjs(date).format('YYYY-MM-DD') }, 
 | 
      { 
 | 
        showLoading: false, 
 | 
      } 
 | 
    ); 
 | 
  }, 
 | 
  placeholderData: () => ({} as API.GetCheckReceiveTaskUserSubmitQueryResult), 
 | 
}); 
 | 
  
 | 
async function checkReceiveTask(checkReceiveStatus: EnumTaskUserSubmitCheckReceiveStatus) { 
 | 
  try { 
 | 
    let params: API.CheckReceiveTaskCommand = { 
 | 
      id: detail.value?.id, 
 | 
      checkReceiveStatus: checkReceiveStatus, 
 | 
    }; 
 | 
    let res = await taskCheckReceiveServices.checkReceiveTask(params); 
 | 
    if (res) { 
 | 
      Message.success('提交成功', { 
 | 
        onClosed() { 
 | 
          goBack(); 
 | 
        }, 
 | 
      }); 
 | 
    } 
 | 
  } catch (error) {} 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
@import '@/styles/common.scss'; 
 | 
  
 | 
.taskHandleCheckDetail-page-wrapper { 
 | 
  .taskCheckFileCard-status-title { 
 | 
    font-weight: 600; 
 | 
    font-size: 28px; 
 | 
    line-height: 32px; 
 | 
    margin-bottom: 16px; 
 | 
    color: boleGetCssVar('text-color', 'primary'); 
 | 
  } 
 | 
  
 | 
  .personal-info-wrapper { 
 | 
    padding-top: 52px; 
 | 
    padding-bottom: 36px; 
 | 
    border-bottom: 1px solid #d9d9d9; 
 | 
    margin-bottom: 22px; 
 | 
  } 
 | 
} 
 | 
</style> 
 |