zhengyiming
2 天以前 df30eaca97a8db2190a9931e75cced42589f6df7
apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -16,16 +16,18 @@
      <template #renderItem="{ item }">
        <TaskCheckCard
          :avatar="setOSSLink(item.avatar)"
          :name="item.name"
          :name="item.name ?? ''"
          :gender="item.gender"
          :isReal="item.isReal"
          :checkInTime="item.checkInTime"
          :checkOutTime="item.checkOutTime"
          :contactPhoneNumber="item.contactPhoneNumber"
          :checkReceiveStatus="item.checkReceiveStatus"
          :checkReceiveMethod="detail?.checkReceiveMethod"
          :checkReceiveMethods="detail?.checkReceiveMethods"
          :submitCheckReceiveStatus="item.submitCheckReceiveStatus"
          :checkHistoryType="item.checkHistoryType"
          @checkReceive="goTaskDetail(item)"
          @checkInOrOut="(ev) => checkReceiveTask(ev, item.id)"
          @checkInOrOut="(ev) => checkReceiveTask(ev, item)"
        />
      </template>
    </InfiniteLoading>
@@ -37,11 +39,15 @@
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
import { useInfiniteLoading } from '@12333/hooks';
import TaskCheckCard from '../components/TaskCheckCard.vue';
import { MyTaskCard } from '@12333/components';
import { EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus } from '@12333/constants';
import { Message, setOSSLink } from '@12333/utils';
import { MyTaskCard, NumberInput, ChunkTitle } from '@12333/components';
import {
  EnumTaskCheckReceiveMethod,
  EnumTaskCheckReceiveStatus,
  EnumTaskUserSubmitCheckHistoryType,
  EnumTaskUserSubmitCheckReceiveStatus,
} from '@12333/constants';
import { Message, setOSSLink, toRound } from '@12333/utils';
import dayjs from 'dayjs';
import { CheckInOrOutEventEnum } from '../constants';
defineOptions({
  name: 'InnerPage',
@@ -78,34 +84,21 @@
);
function goTaskDetail(item: API.GetCheckReceiveTaskQueryResultItem) {
  if (detail.value.checkReceiveMethod !== EnumTaskCheckReceiveMethod.CheckIn) {
    if (item.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed) {
      Taro.navigateTo({
        url: `${RouterPath.taskCheckedDetail}?id=${item.id}`,
      });
    }
    if (
      item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
      item.checkReceiveStatus === EnumTaskCheckReceiveStatus.WaitSubmit
    ) {
      Taro.navigateTo({
        url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}`,
      });
    }
  }
  Taro.navigateTo({
    url: `${RouterPath.taskHandleCheckDetail}?id=${item.id}&date=${date}&taskInfoId=${id}`,
  });
}
async function checkReceiveTask(ev: CheckInOrOutEventEnum, taskInfoUserId: string) {
async function checkReceiveTask(
  ev: EnumTaskUserSubmitCheckHistoryType,
  item: API.GetCheckReceiveTaskQueryResultItem
) {
  try {
    let params: API.CheckReceiveTaskCommand = {
      taskInfoUserId: taskInfoUserId,
      taskInfoUserId: item.id,
      date: dayjs(date).format('YYYY-MM-DD'),
      checkHistoryType: ev,
    };
    if (ev === CheckInOrOutEventEnum.CheckIn) {
      params.checkInTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
    } else if (ev === CheckInOrOutEventEnum.CheckOut) {
      params.checkOutTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
    }
    let res = await taskCheckReceiveServices.checkReceiveTask(params);
    if (res) {
      Message.success('提交成功');