From 570ed44d35f6ef1540d8377ef564cfec7bc63726 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 10 十一月 2025 09:56:16 +0800
Subject: [PATCH] fix: bug

---
 apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue |  260 ++--------------------------------------------------
 1 files changed, 10 insertions(+), 250 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index c00d463..c3c7c19 100644
--- a/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -16,123 +16,21 @@
       <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)"
         />
       </template>
     </InfiniteLoading>
-    <nut-popup v-model:visible="dialogVisible">
-      <div class="payroll-form-wrapper">
-        <nut-form :model-value="form" ref="formRef">
-          <nut-form-item
-            label="鏈嶅姟璐�:"
-            class="bole-form-item"
-            prop="serviceFee"
-            label-width="90px"
-          >
-            <div class="bole-form-input-wrapper">
-              <NumberInput
-                v-model.trim="form.serviceFee"
-                class="nut-input-text bole-input-text"
-                placeholder="璇疯緭鍏ユ湇鍔¤垂"
-                :min="0"
-                :max="999999999999"
-                :precision="2"
-                type="text"
-                disabled
-              />
-              <div class="form-input-unit">鍏�</div>
-            </div>
-          </nut-form-item>
-          <nut-form-item
-            label="瓒呮椂:"
-            class="bole-form-item"
-            prop="timeoutHours"
-            label-width="90px"
-          >
-            <div class="bole-form-input-wrapper">
-              <NumberInput
-                v-model.trim="form.timeoutHours"
-                class="nut-input-text bole-input-text"
-                placeholder="璇疯緭鍏ヨ秴鏃舵椂闀�"
-                :min="0"
-                :max="999999999999"
-                :precision="2"
-                type="text"
-                @change="onTimeoutHoursChange"
-              />
-              <div class="form-input-unit">灏忔椂</div>
-            </div>
-          </nut-form-item>
-          <nut-form-item
-            label="瓒呮椂璐圭敤:"
-            class="bole-form-item"
-            prop="timeoutFee"
-            label-width="90px"
-          >
-            <div class="bole-form-input-wrapper">
-              <NumberInput
-                v-model.trim="form.timeoutFee"
-                class="nut-input-text bole-input-text"
-                placeholder="璇疯緭鍏ヨ秴鏃惰垂鐢�"
-                :min="0"
-                :max="999999999999"
-                :precision="2"
-                type="text"
-              />
-              <div class="form-input-unit">鍏�</div>
-            </div>
-          </nut-form-item>
-          <nut-form-item
-            label="鍏朵粬璐圭敤:"
-            class="bole-form-item"
-            prop="otherFee"
-            label-width="90px"
-          >
-            <div class="bole-form-input-wrapper">
-              <NumberInput
-                v-model.trim="form.otherFee"
-                class="nut-input-text bole-input-text"
-                placeholder="璇疯緭鍏ュ叾浠栬垂鐢�"
-                :max="999999999999"
-                :precision="2"
-                type="text"
-              />
-              <div class="form-input-unit">鍏�</div>
-            </div>
-          </nut-form-item>
-          <nut-form-item
-            label="缁撶畻閲戦:"
-            class="bole-form-item"
-            prop="settlementAmount"
-            label-width="90px"
-          >
-            {{ `${settlementAmount}鍏僠 }}
-          </nut-form-item>
-          <nut-form-item
-            label="澶囨敞:"
-            class="bole-form-item alignTop"
-            prop="remark"
-            label-width="90px"
-          >
-            <nut-textarea v-model="form.remark" rows="4" placeholder="璇疯緭鍏ュ娉�"> </nut-textarea>
-          </nut-form-item>
-        </nut-form>
-        <div class="payroll-form-footer">
-          <nut-button @click="handleCancel">鍙栨秷</nut-button>
-          <nut-button type="primary" @click="handleConfirm">纭</nut-button>
-        </div>
-      </div>
-    </nut-popup>
   </LoadingLayout>
 </template>
 
@@ -141,10 +39,11 @@
 import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
 import { useInfiniteLoading } from '@12333/hooks';
 import TaskCheckCard from '../components/TaskCheckCard.vue';
-import { MyTaskCard, NumberInput } from '@12333/components';
+import { MyTaskCard, NumberInput, ChunkTitle } from '@12333/components';
 import {
   EnumTaskCheckReceiveMethod,
   EnumTaskCheckReceiveStatus,
+  EnumTaskUserSubmitCheckHistoryType,
   EnumTaskUserSubmitCheckReceiveStatus,
 } from '@12333/constants';
 import { Message, setOSSLink, toRound } from '@12333/utils';
@@ -158,21 +57,6 @@
 const id = router.params?.id ?? '';
 const date = router.params?.date ?? '';
 const checkReceiveStatus = Number(router.params?.checkReceiveStatus);
-
-const dialogVisible = ref(false);
-
-const form = reactive({
-  serviceFee: 0,
-  timeoutHours: 0,
-  timeoutFee: 0,
-  otherFee: 0,
-  remark: '',
-  timeoutServiceFee: 0,
-
-  taskInfoId: '',
-  checkInTime: '',
-  checkoutTime: '',
-});
 
 const detail = ref<API.GetCheckReceiveTasksQueryResultItem>();
 
@@ -199,117 +83,22 @@
   }
 );
 
-const settlementAmount = computed(() => sumSettlementAmount());
-
-function onTimeoutHoursChange(event: any) {
-  form.timeoutFee = Number(form.timeoutServiceFee)
-    ? form.timeoutServiceFee * event.detail.value
-    : 0;
-}
-
-function sumSettlementAmount() {
-  return toRound(
-    getFeeValue(Number(form.timeoutFee ?? 0)) +
-      getFeeValue(Number(form.serviceFee ?? 0)) +
-      getFeeValue(Number(form.otherFee ?? 0))
-  );
-}
-
-function getFeeValue(val: number) {
-  return val || 0;
-}
-
-async function openDialog(item: API.GetCheckReceiveTaskQueryResultItem) {
-  let res = await calcTaskCheckReceive(item);
-  if (res) {
-    dialogVisible.value = true;
-    form.taskInfoId = item.id;
-    form.serviceFee = 6;
-    form.timeoutHours = res.timeoutHours ?? 0;
-    // form.timeoutServiceFee = detail.value?.timeoutServiceFee ?? 0;
-    form.timeoutServiceFee = 2;
-    form.otherFee = 0;
-    form.timeoutFee = 0;
-    form.remark = '';
-  }
-}
-
-function handleCancel() {
-  dialogVisible.value = false;
-}
-
-async function handleConfirm() {
-  try {
-    let params: API.CheckReceiveTaskCommand = {
-      taskInfoUserId: form.taskInfoId,
-      date: dayjs(date).format('YYYY-MM-DD'),
-      checkOutTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
-      checkReceiveStatus: EnumTaskUserSubmitCheckReceiveStatus.Success,
-      serviceFee: form.serviceFee,
-      timeoutHours: form.timeoutHours,
-      timeoutFee: form.timeoutFee,
-      otherFee: form.otherFee,
-      remark: form.remark,
-      settlementAmount: settlementAmount.value,
-    };
-    let res = await taskCheckReceiveServices.checkReceiveTask(params);
-    if (res) {
-      Message.success('鎻愪氦鎴愬姛');
-      dialogVisible.value = false;
-      infiniteLoadingProps.value?.refetch?.();
-    }
-  } catch (error) {}
-}
-
-async function calcTaskCheckReceive(item: API.GetCheckReceiveTaskQueryResultItem) {
-  try {
-    let params: API.CalcTaskCheckReceiveCommand = {
-      taskInfoId: id,
-      checkInTime: dayjs(item.checkInTime).format('YYYY-MM-DD HH:mm:ss'),
-      checkOutTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
-    };
-    return await taskCheckReceiveServices.calcTaskCheckReceive(params);
-  } catch (error) {}
-}
-
 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: EnumTaskUserSubmitCheckReceiveStatus,
+  ev: EnumTaskUserSubmitCheckHistoryType,
   item: API.GetCheckReceiveTaskQueryResultItem
 ) {
   try {
     let params: API.CheckReceiveTaskCommand = {
       taskInfoUserId: item.id,
       date: dayjs(date).format('YYYY-MM-DD'),
+      checkHistoryType: ev,
     };
-    if (ev === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive) {
-      params.checkInTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
-      params.checkReceiveStatus = ev;
-    } else if (ev === EnumTaskUserSubmitCheckReceiveStatus.Success) {
-      openDialog(item);
-      return;
-      // params.checkOutTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
-      // params.checkReceiveStatus = ev;
-    } else if (ev === EnumTaskUserSubmitCheckReceiveStatus.Fail) {
-      params.checkReceiveStatus = ev;
-    }
     let res = await taskCheckReceiveServices.checkReceiveTask(params);
     if (res) {
       Message.success('鎻愪氦鎴愬姛');
@@ -318,32 +107,3 @@
   } catch (error) {}
 }
 </script>
-<style lang="scss">
-@import '@/styles/common.scss';
-
-.taskCheckDetail-page-wrapper {
-  .bole-form-input-wrapper {
-    display: flex;
-    align-items: center;
-  }
-
-  .form-input-unit {
-    margin-left: 10px;
-    color: boleGetCssVar('text-color', 'primary');
-    flex-shrink: 0;
-  }
-
-  .payroll-form-wrapper {
-    width: 600px;
-  }
-
-  .payroll-form-footer {
-    padding: 10px 20px;
-    text-align: center;
-
-    .nut-button + .nut-button {
-      margin-left: 20px;
-    }
-  }
-}
-</style>

--
Gitblit v1.9.1