<template> 
 | 
  <ContentScrollView :paddingH="false"> 
 | 
    <nut-form :model-value="form" ref="formRef" :rules="rules"> 
 | 
      <nut-form-item label="上传照片:" class="bole-form-item alignTop" prop="files" required> 
 | 
        <Uploader 
 | 
          v-model:file-list="form.files" 
 | 
          :maximum="9" 
 | 
          :limitFileSize="10" 
 | 
          class="bole-uploader nopaddingtop" 
 | 
        > 
 | 
        </Uploader> 
 | 
      </nut-form-item> 
 | 
    </nut-form> 
 | 
  </ContentScrollView> 
 | 
  <PageFooter :isOnlyAction="false"> 
 | 
    <PageFooterBtn type="primary" @click="handleSubmit()">提交</PageFooterBtn> 
 | 
  </PageFooter> 
 | 
</template> 
 | 
  
 | 
<script setup lang="ts"> 
 | 
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; 
 | 
import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; 
 | 
import { FormValidator, Message } from '@12333/utils'; 
 | 
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive'; 
 | 
import Taro from '@tarojs/taro'; 
 | 
import { goBack } from '@/utils'; 
 | 
import { useQueryClient } from '@tanstack/vue-query'; 
 | 
import dayjs from 'dayjs'; 
 | 
  
 | 
defineOptions({ 
 | 
  name: 'InnerPage', 
 | 
}); 
 | 
  
 | 
const route = Taro.useRouter(); 
 | 
const id = route.params?.id as string; 
 | 
const date = route.params?.date as string; 
 | 
const queryClient = useQueryClient(); 
 | 
  
 | 
const form = reactive({ 
 | 
  files: [] as FileItem[], 
 | 
}); 
 | 
  
 | 
const rules = reactive<FormRules>({ 
 | 
  files: [{ required: true, message: '请上传照片', validator: FormValidator.validatorArray }], 
 | 
}); 
 | 
  
 | 
const formRef = ref<any>(null); 
 | 
  
 | 
function handleSubmit() { 
 | 
  if (!formRef.value) return; 
 | 
  formRef.value.validate().then(({ valid, errors }: any) => { 
 | 
    if (valid) { 
 | 
      submitCheckReceiveTask(); 
 | 
    } 
 | 
  }); 
 | 
} 
 | 
  
 | 
async function submitCheckReceiveTask() { 
 | 
  try { 
 | 
    let params: API.SubmitCheckReceiveTaskCommand = { 
 | 
      taskInfoId: id, 
 | 
      date: dayjs(date).format('YYYY-MM-DD'), 
 | 
      files: form.files.map((x) => x.path), 
 | 
    }; 
 | 
    let res = await taskCheckReceiveServices.submitCheckReceiveTask(params); 
 | 
    if (res) { 
 | 
      Message.success('提交成功', { 
 | 
        onClosed() { 
 | 
          goBack(); 
 | 
          queryClient.invalidateQueries(['taskServices/getTaskInfo', id]); 
 | 
        }, 
 | 
      }); 
 | 
    } 
 | 
  } catch (error) {} 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss"> 
 | 
@import '@/styles/common.scss'; 
 | 
</style> 
 |