tab2.page.html 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <ion-header>
  2. <ion-toolbar color="light">
  3. <ion-title>装修</ion-title>
  4. </ion-toolbar>
  5. </ion-header>
  6. <ion-content>
  7. <!-- 搜索框 -->
  8. <ion-searchbar placeholder="输入关键字搜索"></ion-searchbar>
  9. <!-- 导航栏 -->
  10. <ion-segment (ionChange)="segmentChanged($event)">
  11. <ion-segment-button value="company">
  12. <ion-icon name="business"></ion-icon>
  13. 装修公司
  14. </ion-segment-button>
  15. <ion-segment-button value="design">
  16. <ion-icon name="brush"></ion-icon>
  17. 设计机构
  18. </ion-segment-button>
  19. <ion-segment-button value="designer">
  20. <ion-icon name="person"></ion-icon>
  21. 独立设计师
  22. </ion-segment-button>
  23. </ion-segment>
  24. <!-- 区域用来展示详情页 -->
  25. <div class="details-container">
  26. <!-- 装修公司详情页 -->
  27. <div *ngIf="selectedSegment === 'company'">
  28. <div *ngFor="let company of companies">
  29. <ion-card class="Company-card">
  30. <ion-card-header><ion-card-title> {{ company.name }}</ion-card-title>
  31. </ion-card-header>
  32. <ion-card-content>
  33. <ion-label>星级评分:</ion-label>
  34. <ion-text>{{ company.starRating }}</ion-text>
  35. <ion-label>评价数量:</ion-label>
  36. <ion-text>{{ company.reviewCount }}</ion-text>
  37. <!-- 公司照片墙 -->
  38. <ion-card class="company-card">
  39. <ion-card-header>
  40. 公司照片墙:
  41. </ion-card-header>
  42. <ion-card-content>
  43. <ion-row>
  44. <ion-col size="6" *ngFor="let photo of company.photos">
  45. <ion-img [src]="photo" alt="Company Photo"></ion-img>
  46. </ion-col>
  47. </ion-row>
  48. </ion-card-content>
  49. </ion-card>
  50. <!-- 公司简介 -->
  51. <ion-card class="company-card">
  52. <ion-card-header>
  53. 公司简介:
  54. </ion-card-header>
  55. <ion-card-content>
  56. <ion-text [innerHTML]="formatHtmlContent(company.description)"></ion-text>
  57. </ion-card-content>
  58. </ion-card>
  59. <!-- 公司服务 -->
  60. <ion-card class="company-card">
  61. <ion-card-header>
  62. 公司服务:
  63. </ion-card-header>
  64. <ion-card-content>
  65. <ion-text [innerHTML]="formatHtmlContent(company.services)"></ion-text>
  66. </ion-card-content>
  67. </ion-card>
  68. <!-- 公司优势 -->
  69. <ion-card class="company-card">
  70. <ion-card-header>
  71. 公司优势:
  72. </ion-card-header>
  73. <ion-card-content>
  74. <ion-text [innerHTML]="formatHtmlContent(company.advantages)"></ion-text>
  75. </ion-card-content>
  76. </ion-card>
  77. <!-- 公司案例 -->
  78. <ion-card class="company-card">
  79. <ion-card-header>
  80. 公司案例:
  81. </ion-card-header>
  82. <ion-card-content>
  83. <ion-text [innerHTML]="formatHtmlContent(company.cases)"></ion-text>
  84. </ion-card-content>
  85. </ion-card>
  86. <!-- 底部按钮 -->
  87. <ion-button expand="full" fill="clear">电话</ion-button>
  88. <ion-button expand="full" fill="clear" (click)="openyuyuePage()">预约</ion-button>
  89. <ion-button expand="full" fill="clear" (click)="openConsultPage()">咨询</ion-button>
  90. <ion-button expand="full" fill="clear">查看案例</ion-button>
  91. </ion-card-content>
  92. </ion-card>
  93. </div>
  94. </div>
  95. <!-- 设计机构详情页 -->
  96. <div *ngIf="selectedSegment === 'design'">
  97. <div *ngFor="let designCompany of designCompanies">
  98. <ion-card class="Angency-card">
  99. <ion-card-header>
  100. <ion-card-title>{{ designCompany.name }}</ion-card-title>
  101. <ion-card-subtitle>星级评分: {{ designCompany.starRating }} | 评价数量: {{ designCompany.reviewCount }}</ion-card-subtitle>
  102. </ion-card-header>
  103. <ion-card-content>
  104. <!-- 机构简介 -->
  105. <ion-card class="ant-card">
  106. <ion-card-header class="ant-card">
  107. 机构简介:
  108. </ion-card-header>
  109. <ion-card-content>
  110. <ion-text [innerHTML]="formatHtmlContent(designCompany.description )"></ion-text>
  111. </ion-card-content>
  112. </ion-card>
  113. <!-- 机构介绍 -->
  114. <ion-card class="ant-card">
  115. <ion-card-header class="ant-card">
  116. 机构服务:
  117. </ion-card-header>
  118. <ion-card-content>
  119. <ion-text [innerHTML]="formatHtmlContent(designCompany.services )"></ion-text>
  120. </ion-card-content>
  121. </ion-card>
  122. <!-- 机构介绍 -->
  123. <ion-card class="ant-card">
  124. <ion-card-header class="ant-card">
  125. 机构优势:
  126. </ion-card-header>
  127. <ion-card-content>
  128. <ion-text [innerHTML]="formatHtmlContent(designCompany.advantages )"></ion-text>
  129. </ion-card-content>
  130. </ion-card>
  131. <!-- 设计师团队 -->
  132. <ion-card class="ant-card">
  133. <ion-card-header class="ant-card">
  134. 设计师团队:
  135. </ion-card-header>
  136. <ion-card-content>
  137. <ion-item *ngFor="let designer of designCompany.designers" lines="none">
  138. <ion-avatar slot="start">
  139. <img [src]="designer.avatar" alt="设计师头像">
  140. </ion-avatar>
  141. <ion-label>{{ designer.name }}</ion-label>
  142. <ion-label>{{ designer.style }}</ion-label>
  143. <ion-label>{{ designer.serviceArea }}</ion-label>
  144. <ion-label>{{ designer.price }}</ion-label>
  145. </ion-item>
  146. </ion-card-content>
  147. </ion-card>
  148. <!-- 案例展示 -->
  149. <ion-card class="ant-card">
  150. <ion-card-header class="ant-card">
  151. 案例展示:
  152. </ion-card-header>
  153. <ion-card-content>
  154. <ion-item *ngFor="let case of designCompany.cases" lines="none">
  155. <div class="case-container">
  156. <img [src]="case.image" alt="案例图片" class="case-image">
  157. <div class="case-details">
  158. <ion-label>{{ case.description }}</ion-label>
  159. <ion-text>设计风格:{{ case.style }}</ion-text>
  160. </div>
  161. </div>
  162. </ion-item>
  163. </ion-card-content>
  164. </ion-card>
  165. <!-- 设计理念 -->
  166. <ion-card class="ant-card">
  167. <ion-card-header class="ant-card">
  168. 设计理念:
  169. </ion-card-header>
  170. <ion-card-content>
  171. <ion-text>{{ designCompany.designConcept }}</ion-text>
  172. </ion-card-content>
  173. </ion-card>
  174. <!-- 服务流程 -->
  175. <ion-card class="ant-card">
  176. <ion-card-header class="ant-card">
  177. 服务流程:
  178. </ion-card-header>
  179. <ion-card-content>
  180. <ion-text [innerHTML]="formatHtmlContent(designCompany.serviceProcess)"></ion-text>
  181. </ion-card-content>
  182. </ion-card>
  183. <!-- 用户评价 -->
  184. <ion-card class="ant-card">
  185. <ion-card-header class="ant-card">
  186. 用户评价:
  187. </ion-card-header>
  188. <ion-card-content>
  189. <ion-item *ngFor="let review of designCompany.userReviews" lines="none">
  190. <div class="review-container">
  191. <img [src]="review.image" alt="用户评价图片">
  192. <div class="review-details">
  193. <ion-text>星级评分: {{ review.starRating }}</ion-text>
  194. <ion-label>{{ review.text }}</ion-label>
  195. </div>
  196. </div>
  197. </ion-item>
  198. </ion-card-content>
  199. </ion-card>
  200. <!-- 底部按钮 -->
  201. <ion-button expand="full" fill="clear">电话</ion-button>
  202. <ion-button expand="full" fill="clear" (click)="openyuyuePage()">预约</ion-button>
  203. <ion-button expand="full" fill="clear" (click)="openConsultPage()">咨询</ion-button>
  204. <ion-button expand="full" fill="clear">查看案例</ion-button>
  205. </ion-card-content>
  206. </ion-card>
  207. </div>
  208. </div>
  209. <div *ngIf="selectedSegment === 'designer'">
  210. <ion-card *ngFor="let designer of designers" class="Designer-card">
  211. <!-- 头部 -->
  212. <ion-card-header class="header">
  213. <div class="avatar-container">
  214. <ion-avatar class="avatar">
  215. <img [src]="designer.avatar" alt="Designer Avatar">
  216. </ion-avatar>
  217. </div>
  218. <div class="name-container">
  219. <ion-card-title class="title">{{ designer.username }}</ion-card-title>
  220. <ion-button fill="clear" slot="end" class="custom-button" (click)="toggleFollow()">
  221. {{ isFollowing ? '已关注' : '关注' }}
  222. </ion-button>
  223. </div>
  224. </ion-card-header>
  225. <ion-card-content>
  226. <p>{{ designer.bio }}</p>
  227. </ion-card-content>
  228. <!-- 内容 -->
  229. <ion-card-content class="content">
  230. <ion-img [src]="designer.portfolioImage" alt="Designer Portfolio"></ion-img>
  231. <ion-item>
  232. <ion-label>作品数量:</ion-label>
  233. <ion-text>{{ designer.portfolioCount }}</ion-text>
  234. </ion-item>
  235. <ion-item>
  236. <ion-label>擅长风格:</ion-label>
  237. <ion-text>{{ designer.style }}</ion-text>
  238. </ion-item>
  239. <ion-item>
  240. <ion-label>服务地区:</ion-label>
  241. <ion-text>{{ designer.serviceArea }}</ion-text>
  242. </ion-item>
  243. <ion-item>
  244. <ion-label>价格:</ion-label>
  245. <ion-text>{{ designer.price }}</ion-text>
  246. </ion-item>
  247. <ion-item>
  248. <ion-label>用户评价:</ion-label>
  249. <ion-text>{{ designer.rating }}</ion-text>
  250. </ion-item>
  251. </ion-card-content>
  252. <!-- 底部 -->
  253. <ion-button expand="full" fill="clear" (click)="openConsultPage()">咨询</ion-button>
  254. <ion-button expand="full" fill="clear">电话</ion-button>
  255. <ion-button expand="full" fill="clear" (click)="openyuyuePage()">在线预约</ion-button>
  256. <ion-button expand="full" fill="clear">查看案例</ion-button>
  257. </ion-card>
  258. </div>
  259. </div>
  260. </ion-content>