| <template> | 
|   <div class="task-card-wrapper"> | 
|     <div class="task-card-title-wrapper"> | 
|       <div class="task-card-title">{{ props.enterpriseName }}</div> | 
|     </div> | 
|     <div class="task-card-footer"> | 
|       <div class="task-card-actions" :style="{ color: '#FF4D4F' }"> | 
|         {{ EnumTaskUserSignContractStatusSignText[props.userSignContractStatus] }} | 
|       </div> | 
|       <IconFont name="rect-right" size="12"></IconFont> | 
|     </div> | 
|   </div> | 
| </template> | 
|   | 
| <script setup lang="ts"> | 
| import { | 
|   EnumTaskUserSignContractStatus, | 
|   EnumTaskUserSignContractStatusSignText, | 
| } from '@12333/constants'; | 
| import { IconFont } from '@nutui/icons-vue-taro'; | 
|   | 
| defineOptions({ | 
|   name: 'MineAgreementSignCard', | 
| }); | 
|   | 
| type Props = { | 
|   enterpriseName: string; | 
|   userSignContractStatus: EnumTaskUserSignContractStatus; | 
| }; | 
|   | 
| const props = withDefaults(defineProps<Props>(), {}); | 
| </script> | 
|   | 
| <style lang="scss"> | 
| @import '@/styles/common.scss'; | 
|   | 
| .task-card-wrapper { | 
|   padding: 24px 32px; | 
|   margin-bottom: 24px; | 
|   background-color: #fff; | 
|   border-radius: 12px; | 
|   | 
|   &:last-child { | 
|     margin-bottom: 0; | 
|   } | 
|   | 
|   .task-card-title-wrapper { | 
|     display: flex; | 
|     align-items: center; | 
|     margin-bottom: 14px; | 
|   | 
|     .task-card-title { | 
|       flex: 1; | 
|       min-width: 0; | 
|       @include ellipsis; | 
|       font-size: 30px; | 
|       color: boleGetCssVar('text-color', 'primary'); | 
|       line-height: 42px; | 
|     } | 
|   } | 
|   | 
|   .task-card-footer { | 
|     display: flex; | 
|     align-items: center; | 
|     justify-content: space-between; | 
|   | 
|     .task-card-actions { | 
|       font-size: 24px; | 
|     } | 
|   | 
|     .task-card-arrow { | 
|       width: 24px; | 
|       height: 24px; | 
|     } | 
|   } | 
| } | 
| </style> |