wupengfei
3 天以前 26054099b1beb5e190cbd229171a53a689872e75
fix: bug
6个文件已修改
101 ■■■■ 已修改文件
apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/project.private.config.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/pages/task/InnerPage.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/apiEnum.ts 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/typings.d.ts 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/components/TaskCheckCard.vue
@@ -27,9 +27,20 @@
          <div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }">
            {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }}
          </div> -->
          <nut-button type="primary" class="task-check-card-phone-btn" @click.stop="handleMore"
          <template
            v-if="props.submitCheckReceiveStatus !== EnumTaskUserSubmitCheckReceiveStatus.Fail"
          >
            <nut-button
              v-if="!checkInTime || !checkOutTime"
              type="primary"
              class="task-check-card-phone-btn"
              @click.stop="handleMore"
            >操作</nut-button
          >
            <div v-else class="task-check-card-phone-status" :style="{ color: Colors.Success }">
              {{ EnumTaskCheckReceiveStatusText[checkReceiveStatus] }}
            </div>
          </template>
        </template>
        <template v-else>
          <nut-button
@@ -55,6 +66,8 @@
  EnumTaskCheckReceiveStatus,
  EnumTaskCheckReceiveStatusText,
  EnumTaskCheckReceiveMethod,
  EnumGetCheckReceiveTasksQueryResultItemCheckStatus,
  EnumTaskUserSubmitCheckReceiveStatus,
} from '@12333/constants';
import { CheckInOrOutEventEnum } from '../constants';
import { Portal } from 'senin-mini/components';
@@ -82,32 +95,35 @@
  /** 签出时间 */
  checkOutTime?: string;
  checkReceiveMethod?: EnumTaskCheckReceiveMethod;
  submitCheckReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
};
const props = withDefaults(defineProps<Props>(), {});
const emit = defineEmits<{
  (e: 'checkReceive'): void;
  (e: 'checkInOrOut', ev: CheckInOrOutEventEnum): void;
  (e: 'checkInOrOut', ev: EnumTaskUserSubmitCheckReceiveStatus): void;
}>();
const menuList = computed(() => {
  let _menuList = [];
  if (props.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
    _menuList.push(
      {
        name: '签到',
        value: ManageActions.CheckIn,
      },
      {
        name: '签出',
        value: ManageActions.CheckOut,
      },
      {
    _menuList.push({
        name: '未到岗',
        value: ManageActions.OutWork,
    });
    if (!props.checkInTime) {
      _menuList.push({
        name: '签到',
        value: ManageActions.CheckIn,
      });
    } else if (!props.checkOutTime) {
      _menuList.push({
        name: '签出',
        value: ManageActions.CheckOut,
      });
      }
    );
  }
  return _menuList;
@@ -138,13 +154,13 @@
function handleEmit(action: { name: string; value: number }) {
  switch (action.value) {
    case ManageActions.CheckIn:
      emit('checkInOrOut', CheckInOrOutEventEnum.CheckIn);
      emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive);
      break;
    case ManageActions.CheckOut:
      emit('checkInOrOut', CheckInOrOutEventEnum.CheckOut);
      emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.Success);
      break;
    case ManageActions.OutWork:
      emit('checkInOrOut', CheckInOrOutEventEnum.CheckOut);
      emit('checkInOrOut', EnumTaskUserSubmitCheckReceiveStatus.Fail);
      break;
  }
}
apps/bMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -24,6 +24,7 @@
          :contactPhoneNumber="item.contactPhoneNumber"
          :checkReceiveStatus="item.checkReceiveStatus"
          :checkReceiveMethod="detail?.checkReceiveMethod"
          :submitCheckReceiveStatus="item.submitCheckReceiveStatus"
          @checkReceive="goTaskDetail(item)"
          @checkInOrOut="(ev) => checkReceiveTask(ev, item.id)"
        />
@@ -38,7 +39,11 @@
import { useInfiniteLoading } from '@12333/hooks';
import TaskCheckCard from '../components/TaskCheckCard.vue';
import { MyTaskCard } from '@12333/components';
import { EnumTaskCheckReceiveMethod, EnumTaskCheckReceiveStatus } from '@12333/constants';
import {
  EnumTaskCheckReceiveMethod,
  EnumTaskCheckReceiveStatus,
  EnumTaskUserSubmitCheckReceiveStatus,
} from '@12333/constants';
import { Message, setOSSLink } from '@12333/utils';
import dayjs from 'dayjs';
import { CheckInOrOutEventEnum } from '../constants';
@@ -95,16 +100,20 @@
  }
}
async function checkReceiveTask(ev: CheckInOrOutEventEnum, taskInfoUserId: string) {
async function checkReceiveTask(ev: EnumTaskUserSubmitCheckReceiveStatus, taskInfoUserId: string) {
  try {
    let params: API.CheckReceiveTaskCommand = {
      taskInfoUserId: taskInfoUserId,
      date: dayjs(date).format('YYYY-MM-DD'),
    };
    if (ev === CheckInOrOutEventEnum.CheckIn) {
    if (ev === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive) {
      params.checkInTime = dayjs().format('YYYY-MM-DD HH:mm:ss');
    } else if (ev === CheckInOrOutEventEnum.CheckOut) {
      params.checkReceiveStatus = ev;
    } else if (ev === EnumTaskUserSubmitCheckReceiveStatus.Success) {
      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) {
apps/cMiniApp/project.private.config.json
@@ -26,8 +26,8 @@
                    "name": "任务",
                    "pathName": "pages/task/task",
                    "query": "",
                    "scene": null,
                    "launchMode": "default"
                    "launchMode": "default",
                    "scene": null
                },
                {
                    "name": "简历详细信息",
apps/cMiniApp/src/pages/task/InnerPage.vue
@@ -28,7 +28,10 @@
          :addressName="item.addressName"
          :begin-time="item.beginTime"
          :end-time="item.endTime"
          showActions
          :showActions="
            item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn &&
            queryState.checkReceiveStatus === EnumTaskCheckReceiveStatus.Completed
          "
          @click="goSubmitTaskDetail(item)"
        />
      </template>
@@ -40,7 +43,7 @@
import { MyTaskCard, ProTabs, ProTabPane, Calendar } from '@12333/components';
import Taro from '@tarojs/taro';
import { useCheckReceiveTasks, useTaskList } from '@12333/hooks';
import { EnumTaskCheckReceiveStatus } from '@12333/constants';
import { EnumTaskCheckReceiveStatus, EnumTaskCheckReceiveMethod } from '@12333/constants';
defineOptions({
  name: 'InnerPage',
@@ -54,6 +57,13 @@
      url: `${RouterPath.taskSubmitCheck}?id=${item.id}&date=${queryState.date}`,
    });
  }
  if (item.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn) {
    if (Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed) {
      // Taro.navigateTo({
      //   url: `${RouterPath.taskUserSubmitCheckHistories}?id=${item.id}&date=${queryState.date}`,
      // });
    }
  } else {
  if (
    Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.WaitCheckReceive ||
    Number(queryState.checkReceiveStatus) === EnumTaskCheckReceiveStatus.Completed
@@ -63,6 +73,7 @@
    });
  }
}
}
</script>
<style lang="scss">
packages/constants/apiEnum.ts
@@ -210,6 +210,14 @@
}
/** 没写注释 */
export enum EnumGetCheckReceiveTasksQueryResultItemCheckStatus {
  /**未到岗 */
  None = 10,
  /**已签到 */
  Completed = 20,
}
/** 没写注释 */
export enum EnumGetEnterpriseEmployeesQuerySignContractStatus {
  /**灵工待签约 */
  UserWait = 10,
packages/services/apiV2/typings.d.ts
@@ -836,6 +836,13 @@
    Completed = 20,
  }
  enum EnumGetCheckReceiveTasksQueryResultItemCheckStatus {
    /**未到岗 */
    None = 10,
    /**已签到 */
    Completed = 20,
  }
  enum EnumGetEnterpriseEmployeesQuerySignContractStatus {
    /**灵工待签约 */
    UserWait = 10,
@@ -3555,6 +3562,7 @@
    /** 最近提交时间 */
    lastSubmitTime?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    submitCheckReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
  }
  interface GetCheckReceiveTaskQueryResultObjectData {
@@ -3641,6 +3649,7 @@
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    /** 最近验收时间 */
    lastCheckReceiveTime?: string;
    checkedStatus?: EnumGetCheckReceiveTasksQueryResultItemCheckStatus;
  }
  interface GetCheckReceiveTaskUserSubmitCheckHistoriesQuery {