|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <ContentScrollView :paddingH="false"> | 
|---|
|  |  |  | <nut-form :model-value="form" ref="formRef" :rules="rules"> | 
|---|
|  |  |  | <nut-form-item label="上传照片:" class="bole-form-item alignTop" prop="imgUrl" required> | 
|---|
|  |  |  | <nut-form-item label="上传照片:" class="bole-form-item alignTop" prop="files" required> | 
|---|
|  |  |  | <Uploader | 
|---|
|  |  |  | v-model:file-list="form.imgUrl" | 
|---|
|  |  |  | v-model:file-list="form.files" | 
|---|
|  |  |  | :maximum="9" | 
|---|
|  |  |  | :limitFileSize="10" | 
|---|
|  |  |  | class="bole-uploader nopaddingtop" | 
|---|
|  |  |  | :sourceType="['camera']" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </Uploader> | 
|---|
|  |  |  | </nut-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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 } from '@12333/utils'; | 
|---|
|  |  |  | 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({ | 
|---|
|  |  |  | imgUrl: [] as FileItem[], | 
|---|
|  |  |  | files: [] as FileItem[], | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const rules = reactive<FormRules>({ | 
|---|
|  |  |  | imgUrl: [{ required: true, message: '请上传照片', validator: FormValidator.validatorArray }], | 
|---|
|  |  |  | files: [{ required: true, message: '请上传照片', validator: FormValidator.validatorArray }], | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const formRef = ref<any>(null); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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"> | 
|---|