| | |
| | | <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" |
| | |
| | | color: Colors.Warning, |
| | | }" |
| | | > |
| | | {{ EnumTaskCheckReceiveStatusText[props.checkReceiveStatus] }} |
| | | {{ EnumTaskUserSubmitCheckReceiveStatusText[props.checkReceiveStatus] }} |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | 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" |
| | | /> |
| | |
| | | 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({ |
| | |
| | | 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> |
| | | |
| | |
| | | .taskCheckFileCard-wrapper { |
| | | .taskCheckFileCard-status-wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | align-items: flex-start; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | |
| | | font-weight: 400; |
| | | font-size: 24px; |
| | | color: boleGetCssVar('text-color', 'regular'); |
| | | line-height: 32px; |
| | | line-height: 44px; |
| | | } |
| | | |
| | | .taskCheckFileCard-img-grid { |