From fbb9fdb5b11cd5ecd3ff19f41738bbd3b0afb82c Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 07 十一月 2025 11:04:21 +0800
Subject: [PATCH] fix: s
---
apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue | 85 ++++++++++++++++++++++++++++++++----------
1 files changed, 64 insertions(+), 21 deletions(-)
diff --git a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
index f4853a2..e30c3d2 100644
--- a/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskSubmitCheck/InnerPage.vue
@@ -1,31 +1,47 @@
<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"
+ <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
+ <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"
+ :sourceType="['camera']"
+ >
+ </Uploader>
+ </nut-form-item>
+ </nut-form>
+ </ContentScrollView>
+ <PageFooter :isOnlyAction="false">
+ <template v-if="isContainCheckIn">
+ <PageFooterBtn type="primary" v-if="!detail.userCheckHistoryType" @click="handleCheckIn()"
+ >绛惧埌</PageFooterBtn
>
- </Uploader>
- </nut-form-item>
- </nut-form>
- </ContentScrollView>
- <PageFooter :isOnlyAction="false">
- <PageFooterBtn type="primary" @click="handleSubmit()">鎻愪氦</PageFooterBtn>
- </PageFooter>
+ <PageFooterBtn
+ v-else-if="detail.userCheckHistoryType === EnumTaskUserSubmitCheckHistoryType.CheckIn"
+ type="primary"
+ @click="handleCheckOut()"
+ >绛惧嚭</PageFooterBtn
+ >
+ </template>
+ <PageFooterBtn v-else type="primary" @click="handleSubmit()">鎻愪氦</PageFooterBtn>
+ </PageFooter>
+ </LoadingLayout>
</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 { FormValidator, Message, OrderUtils, convertApiPath2Url } 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';
+import { useCheckReceiveTaskUserSubmit } from '@12333/hooks';
+import { EnumTaskUserSubmitCheckHistoryType } from '@12333/constants';
defineOptions({
name: 'InnerPage',
@@ -35,6 +51,18 @@
const id = route.params?.id as string;
const date = route.params?.date as string;
const queryClient = useQueryClient();
+
+const { isLoading, isError, detail, refetch, isContainCheckIn } = useCheckReceiveTaskUserSubmit({
+ params: {
+ taskInfoId: id,
+ date: dayjs(date).format('YYYY-MM-DD'),
+ },
+ onSuccess(data) {
+ if (data.files?.length > 0) {
+ form.files = data.files.map(convertApiPath2Url);
+ }
+ },
+});
const form = reactive({
files: [] as FileItem[],
@@ -46,6 +74,24 @@
const formRef = ref<any>(null);
+function handleCheckIn() {
+ if (!formRef.value) return;
+ formRef.value.validate().then(({ valid, errors }: any) => {
+ if (valid) {
+ submitCheckReceiveTask(EnumTaskUserSubmitCheckHistoryType.CheckIn);
+ }
+ });
+}
+
+function handleCheckOut() {
+ if (!formRef.value) return;
+ formRef.value.validate().then(({ valid, errors }: any) => {
+ if (valid) {
+ submitCheckReceiveTask(EnumTaskUserSubmitCheckHistoryType.CheckOut);
+ }
+ });
+}
+
function handleSubmit() {
if (!formRef.value) return;
formRef.value.validate().then(({ valid, errors }: any) => {
@@ -55,12 +101,13 @@
});
}
-async function submitCheckReceiveTask() {
+async function submitCheckReceiveTask(userCheckHistoryType?: EnumTaskUserSubmitCheckHistoryType) {
try {
let params: API.SubmitCheckReceiveTaskCommand = {
taskInfoId: id,
date: dayjs(date).format('YYYY-MM-DD'),
files: form.files.map((x) => x.path),
+ userCheckHistoryType,
};
let res = await taskCheckReceiveServices.submitCheckReceiveTask(params);
if (res) {
@@ -74,7 +121,3 @@
} catch (error) {}
}
</script>
-
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
--
Gitblit v1.9.1