| | |
| | | } |
| | | |
| | | function handleMakeCall(item: API.GetTaskUsersQueryResultItem) { |
| | | Message.confirm({ |
| | | message: item.contactPhoneNumber, |
| | | Taro.makePhoneCall({ |
| | | phoneNumber: item.contactPhoneNumber, |
| | | }); |
| | | } |
| | | </script> |
| | |
| | | "name": "收入详情", |
| | | "pathName": "subpackages/wallet/incomeDetailInfo/incomeDetailInfo", |
| | | "query": "id=7899c603-f237-4505-949d-08de234155c4", |
| | | "scene": null, |
| | | "launchMode": "default" |
| | | "launchMode": "default", |
| | | "scene": null |
| | | }, |
| | | { |
| | | "name": "验收详情", |
| | |
| | | :service-fee="item.serviceFee" |
| | | :settlement-cycle="item.settlementCycle" |
| | | :address-name="item.addressName" |
| | | :isRead="false" |
| | | @click="goTaskDetail(item)" |
| | | > |
| | | <template #actions> |
| | |
| | | <template> |
| | | <div class="task-card-wrapper"> |
| | | <div class="task-card-wrapper" :class="{ 'un-read': !isRead }"> |
| | | <div class="task-card-title-wrapper"> |
| | | <div class="task-card-title">{{ name }}</div> |
| | | <slot name="title-right"> |
| | |
| | | /** 创建时间 */ |
| | | createdTime?: string; |
| | | hireStatus?: EnumTaskUserHireStatus; |
| | | |
| | | isRead?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | showActions: true, |
| | | |
| | | isRead: true, |
| | | }); |
| | | |
| | | const emit = defineEmits<{ |
| | |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | &.un-read { |
| | | position: relative; |
| | | |
| | | &::before { |
| | | content: ''; |
| | | position: absolute; |
| | | width: 12px; |
| | | height: 12px; |
| | | border-radius: 50%; |
| | | background-color: red; |
| | | right: 18px; |
| | | top: 12px; |
| | | } |
| | | } |
| | | |
| | | &:last-child { |
| | | margin-bottom: 0; |
| | | } |