| | |
| | | <template> |
| | | <div class="mine-service-detail-view-wrapper"> |
| | | <div class="mine-service-detail-view-address mine-service-detail-card"> |
| | | <div class="mine-service-detail-view-title-wrapper"> |
| | | <div class="mine-service-detail-view-title">服务地址</div> |
| | | </div> |
| | | <div class="mine-service-detail-view-item">浙江省宁波市鄞州区河清北路55号博浪大厦24层</div> |
| | | <div class="mine-service-detail-view-item">阳阳 13333333333</div> |
| | | </div> |
| | | <div class="mine-service-detail-card"> |
| | | <nut-card |
| | | :img-url="'//img10.360buyimg.com/n2/s240x240_jfs/t1/210890/22/4728/163829/6163a590Eb7c6f4b5/6390526d49791cb9.jpg!q70.jpg'" |
| | | :title="'服务名称'" |
| | | :price="'155.00'" |
| | | > |
| | | <template #prolist> |
| | | <div class="card-tag-list"> |
| | | <span class="tag">活鲜</span> |
| | | <span class="tag">礼盒</span> |
| | | <span class="tag">国产</span> |
| | | </div> |
| | | </template> |
| | | <template #origin> |
| | | <div></div> |
| | | </template> |
| | | </nut-card> |
| | | </div> |
| | | <ServiceDetailAddressCard |
| | | :name="contactName" |
| | | :contactPhoneNumber="contactPhoneNumber" |
| | | :addressDetail="addressDetail" |
| | | /> |
| | | <ServiceDetailGoodCard |
| | | :name="serviceName" |
| | | :price="price" |
| | | :specName="specName" |
| | | :specNumber="specNumber" |
| | | :imgUrl="imgUrl" |
| | | /> |
| | | |
| | | <List> |
| | | <ListItem title="订单状态" :showArrow="false"> |
| | | <List extraFlex> |
| | | <ListItem :title="statusText" :showArrow="false"> |
| | | <template #extra> |
| | | <div class="mine-service-detail-view-list-item">{{ '订单状态' }}</div> |
| | | <div class="mine-service-detail-view-list-item"> |
| | | <slot name="status"> </slot> |
| | | </div> |
| | | </template> |
| | | </ListItem> |
| | | <ListItem title="服务时间" :showArrow="false"> |
| | | <template #extra> |
| | | <div class="mine-service-detail-view-list-item"> |
| | | {{ '2025-12-12 12:00-14:00' }} |
| | | {{ format(beginTime, 'YYYY-MM-DD HH:mm') }}-{{ format(endTime, 'HH:mm') }} |
| | | </div> |
| | | </template> |
| | | </ListItem> |
| | | <ListItem title="服务机构" :showArrow="false"> |
| | | <template #extra> |
| | | <div class="mine-service-detail-view-list-item">{{ 'xxxxx公司' }}</div> |
| | | <div class="mine-service-detail-view-list-item">{{ supplierEnterpriseName }}</div> |
| | | </template> |
| | | </ListItem> |
| | | <ListItem title="联系电话" :showArrow="false" v-if="showServerContactPhoneNumbers"> |
| | | <template #extra> |
| | | <div class="mine-service-detail-view-list-item">{{ serverContactPhoneNumbers }}</div> |
| | | </template> |
| | | </ListItem> |
| | | <ListItem title="备注" :showArrow="false"> |
| | | <template #extra> |
| | | <div class="mine-service-detail-view-list-item">{{ '我是备注信息' }}</div> |
| | | <div class="mine-service-detail-view-list-item">{{ remark }}</div> |
| | | </template> |
| | | </ListItem> |
| | | </List> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import Taro from '@tarojs/taro'; |
| | | import { List, ListItem } from '@12333/components'; |
| | | import List from '../List/List.vue'; |
| | | import ListItem from '../List/ListItem.vue'; |
| | | import ServiceDetailAddressCard from './ServiceDetailAddressCard.vue'; |
| | | import ServiceDetailGoodCard from './ServiceDetailGoodCard.vue'; |
| | | import { format } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'MineServiceDetailView', |
| | | }); |
| | | |
| | | // type Props = { |
| | | type Props = { |
| | | contactName?: string; |
| | | /** 联系电话 */ |
| | | contactPhoneNumber?: string; |
| | | /** 省市区+详细地址+门牌号 */ |
| | | addressDetail?: string; |
| | | serviceName?: string; |
| | | price?: number; |
| | | specName?: string; |
| | | specNumber?: number; |
| | | imgUrl?: string; |
| | | beginTime?: string; |
| | | endTime?: string; |
| | | supplierEnterpriseName?: string; |
| | | remark?: string; |
| | | serverContactPhoneNumbers?: string; |
| | | showServerContactPhoneNumbers?: boolean; |
| | | |
| | | // } |
| | | statusText?: string; |
| | | }; |
| | | |
| | | // const props = withDefaults(defineProps<Props>(), { |
| | | |
| | | // }) |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | showServerContactPhoneNumbers: false, |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | |
| | | margin-bottom: 24px; |
| | | background-color: #fff; |
| | | border-radius: 12px; |
| | | |
| | | .card-tag-list { |
| | | margin: 6px 0 2px; |
| | | height: 30px; |
| | | overflow: hidden; |
| | | display: flex; |
| | | |
| | | .tag { |
| | | padding: 0 10px; |
| | | border-radius: 2px; |
| | | font-size: 20px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | color: #999; |
| | | background-color: #f2f2f7; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-address { |
| | | .mine-service-detail-view-title-wrapper { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 14px; |
| | | |
| | | .mine-service-detail-view-title { |
| | | flex: 1; |
| | | min-width: 0; |
| | | @include ellipsis; |
| | | font-size: 30px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | line-height: 42px; |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-item { |
| | | font-weight: 400; |
| | | @include ellipsis; |
| | | font-size: 24px; |
| | | color: boleGetCssVar('text-color', 'primary'); |
| | | line-height: 36px; |
| | | |
| | | & + .mine-service-detail-view-item { |
| | | margin-top: 14px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .mine-service-detail-view-list-item { |
| | |
| | | font-size: 28px; |
| | | color: boleGetCssVar('text-color', 'secondary'); |
| | | line-height: 40px; |
| | | flex: 1; |
| | | min-width: 0; |
| | | text-align: right; |
| | | margin-left: 20px; |
| | | } |
| | | } |
| | | </style> |