zhengyiming
2 天以前 40ed21141404ea96af41bac752b22c0f9a838168
packages/components/src/Card/TaskCheckFileCard.vue
@@ -1,8 +1,38 @@
<template>
  <div class="taskCheckFileCard-wrapper">
    <div class="taskCheckFileCard-status-wrapper">
      <div class="taskCheckFileCard-time">
        {{ dayjs(props.createdTime).format('YYYY-MM-DD HH:mm:ss') }}
      <div class="taskCheckFileCard-time-wrapper">
        <template v-if="OrderUtils.isContainCheckIn(checkReceiveMethods)">
          <div class="taskCheckFileCard-time">
            {{ userCheckLabelPrefix }}签到时间:{{
              props.userCheckInTime
                ? dayjs(props.userCheckInTime).format('YYYY-MM-DD HH:mm:ss')
                : ''
            }}
          </div>
          <div class="taskCheckFileCard-time">
            {{ userCheckLabelPrefix }}签出时间:{{
              props.userCheckOutTime
                ? dayjs(props.userCheckOutTime).format('YYYY-MM-DD HH:mm:ss')
                : ''
            }}
          </div>
          <template v-if="showCheckTime">
            <div class="taskCheckFileCard-time">
              人工签到时间:{{
                props.checkInTime ? dayjs(props.checkInTime).format('YYYY-MM-DD HH:mm:ss') : ''
              }}
            </div>
            <div class="taskCheckFileCard-time">
              人工签出时间:{{
                props.checkOutTime ? dayjs(props.checkOutTime).format('YYYY-MM-DD HH:mm:ss') : ''
              }}
            </div>
          </template>
        </template>
        <div class="taskCheckFileCard-time" v-else>
          {{ props.createdTime ? dayjs(props.createdTime).format('YYYY-MM-DD HH:mm:ss') : '' }}
        </div>
      </div>
      <div
        class="taskCheckFileCard-status"
@@ -10,7 +40,7 @@
          color: Colors.Warning,
        }"
      >
        {{ EnumTaskCheckReceiveStatusText[props.checkReceiveStatus] }}
        {{ EnumTaskUserSubmitCheckReceiveStatusText[props.checkReceiveStatus] }}
      </div>
    </div>
@@ -23,13 +53,13 @@
      class="taskCheckFileCard-img-grid"
    >
      <nut-grid-item
        v-for="(itema, index) in props.files"
        v-for="(fileItem, index) in props.files"
        :key="index"
        class="publish-circle-friend-file-grid-item"
      >
        <div class="taskCheckFileCard-img-grid-item">
          <PreviewImage
            :src="setOSSLink(itema)"
            :src="setOSSLink(fileItem)"
            class="taskCheckFileCard-img"
            :urls="props.files"
          />
@@ -44,9 +74,10 @@
import {
  Colors,
  EnumTaskUserSubmitCheckReceiveStatus,
  EnumTaskCheckReceiveStatusText,
  EnumTaskUserSubmitCheckReceiveStatusText,
  EnumTaskCheckReceiveMethod,
} from '@12333/constants';
import { setOSSLink } from '@12333/utils';
import { setOSSLink, OrderUtils } from '@12333/utils';
import dayjs from 'dayjs';
defineOptions({
@@ -59,10 +90,26 @@
  files?: string[];
  showCheckReceiveStatus?: boolean;
  /** 用户签到时间 */
  userCheckInTime?: string;
  /** 用户签出时间 */
  userCheckOutTime?: string;
  /** 人工签到时间 */
  checkInTime?: string;
  /** 人工签出时间 */
  checkOutTime?: string;
  /** 验收方式 */
  checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
  userCheckLabelPrefix?: string;
  showCheckTime?: boolean;
};
const props = withDefaults(defineProps<Props>(), {
  showCheckReceiveStatus: false,
  userCheckLabelPrefix: '',
  showCheckTime: false,
});
</script>
@@ -72,7 +119,7 @@
.taskCheckFileCard-wrapper {
  .taskCheckFileCard-status-wrapper {
    display: flex;
    align-items: center;
    align-items: flex-start;
    justify-content: space-between;
  }
@@ -80,7 +127,7 @@
    font-weight: 400;
    font-size: 24px;
    color: boleGetCssVar('text-color', 'regular');
    line-height: 32px;
    line-height: 44px;
  }
  .taskCheckFileCard-img-grid {