CaseView.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. <template>
  2. <main class="home-center-padding">
  3. <div
  4. data-v-79baa1b1=""
  5. class="pt-[210px] pb-[88px] px-[118px] relative text-[28px] leading-[50px] text-center lg:text-xl lg:px-4 lg:pt-32 lg:pb-16"
  6. >
  7. <h2 data-v-79baa1b1="" class="font-normal lg:px-2" v-html="caseTips"></h2>
  8. <div data-v-79baa1b1="" class="flex gap-6 flex-wrap justify-center mt-16 lg:gap-3 lg:mt-10">
  9. <div
  10. data-v-79baa1b1=""
  11. id="Chato_case_industry_1"
  12. data-sensors-click=""
  13. class="case-type-card lg:!w-16 lg:!h-16 lg:!text-sm lg:!gap-1 lg:!rounded-xl"
  14. style="background: linear-gradient(148deg, rgb(5, 255, 142) -19%, rgb(82, 200, 255) 134%)"
  15. >
  16. <img src="@/assets/case1.png" class="w-8 h-8 lg:w-5 lg:h-5" alt="" />
  17. <span data-v-79baa1b1="">教培</span>
  18. </div>
  19. <div
  20. data-v-79baa1b1=""
  21. id="Chato_case_industry_2"
  22. data-sensors-click=""
  23. class="case-type-card lg:!w-16 lg:!h-16 lg:!text-sm lg:!gap-1 lg:!rounded-xl"
  24. style="background: linear-gradient(153deg, rgb(66, 120, 246) -38%, rgb(81, 200, 255) 111%)"
  25. >
  26. <img src="@/assets/case2.png" class="w-8 h-8 lg:w-5 lg:h-5" alt="" />
  27. <span data-v-79baa1b1="">咨询</span>
  28. </div>
  29. <div
  30. data-v-79baa1b1=""
  31. id="Chato_case_industry_3"
  32. data-sensors-click=""
  33. class="case-type-card lg:!w-16 lg:!h-16 lg:!text-sm lg:!gap-1 lg:!rounded-xl"
  34. style="background: linear-gradient(148deg, rgb(53, 107, 255) -185%, rgb(253, 131, 255) 134%)"
  35. >
  36. <img src="@/assets/case3.png" class="w-8 h-8 lg:w-5 lg:h-5" alt="" />
  37. <span data-v-79baa1b1="">新媒体</span>
  38. </div>
  39. <div
  40. data-v-79baa1b1=""
  41. id="Chato_case_industry_4"
  42. data-sensors-click=""
  43. class="case-type-card lg:!w-16 lg:!h-16 lg:!text-sm lg:!gap-1 lg:!rounded-xl"
  44. style="background: linear-gradient(144deg, rgb(255, 76, 114) -31%, rgb(255, 232, 115) 136%)"
  45. >
  46. <img src="@/assets/case4.png" class="w-8 h-8 lg:w-5 lg:h-5" alt="" />
  47. <span data-v-79baa1b1="">门店</span>
  48. </div>
  49. <div
  50. data-v-79baa1b1=""
  51. id="Chato_case_industry_5"
  52. data-sensors-click=""
  53. class="case-type-card lg:!w-16 lg:!h-16 lg:!text-sm lg:!gap-1 lg:!rounded-xl"
  54. style="background: linear-gradient(146deg, rgb(66, 120, 246) -51%, rgb(81, 243, 255) 104%)"
  55. >
  56. <img src="@/assets/case5.png" class="w-8 h-8 lg:w-5 lg:h-5" alt="" />
  57. <span data-v-79baa1b1="">医疗</span>
  58. </div>
  59. <div
  60. data-v-79baa1b1=""
  61. id="Chato_case_industry_6"
  62. data-sensors-click=""
  63. class="case-type-card lg:!w-16 lg:!h-16 lg:!text-sm lg:!gap-1 lg:!rounded-xl"
  64. style="background: linear-gradient(146deg, rgb(13, 238, 167) -38%, rgb(90, 208, 255) 128%)"
  65. >
  66. <img src="@/assets/case6.png" class="w-8 h-8 lg:w-5 lg:h-5" alt="" />
  67. <span data-v-79baa1b1="">房产</span>
  68. </div>
  69. <div
  70. data-v-79baa1b1=""
  71. data-sensors-click=""
  72. id="Chato_case_industry_7"
  73. class="case-type-card !text-sm !gap-1 lg:!w-16 lg:!h-16 lg:!text-xs lg:!rounded-xl"
  74. style="
  75. background: linear-gradient(
  76. 144deg,
  77. rgb(53, 107, 255) -29%,
  78. rgb(53, 164, 255) -29%,
  79. rgb(233, 109, 255) 131%
  80. );
  81. "
  82. >
  83. <span data-v-79baa1b1="">100+个方案</span><span data-v-79baa1b1="">行业方案</span>
  84. </div>
  85. </div>
  86. <div
  87. data-v-79baa1b1=""
  88. class="absolute top-[147px] left-[248px] w-64 h-64 rounded-full gray-lg-bg lg:left-[40px] lg:top-[100px]"
  89. ></div>
  90. <div
  91. data-v-79baa1b1=""
  92. class="absolute top-[170px] left-[277px] w-5 h-5 rounded-full green-lg-bg lg:left-[70px] lg:top-[130px]"
  93. ></div>
  94. <div
  95. data-v-79baa1b1=""
  96. class="absolute top-[232px] right-[200px] w-3 h-3 rounded-full blue-lg-bg lg:right-[40px] lg:top-[190px]"
  97. ></div>
  98. </div>
  99. <template v-for="(item, index) in cases" :key="index">
  100. <div data-v-79baa1b1="" class="text-4xl font-medium text-center mb-10 lg:text-2xl">
  101. 行业案例:{{ item['type'] }}
  102. </div>
  103. <div
  104. data-v-79baa1b1=""
  105. class="w-full grid grid-cols-[1fr_2fr] rounded-[28px] overflow-hidden border border-solid border-[#E4E7ED] mb-24 lg:grid-cols-1 lg:mb-12"
  106. >
  107. <div
  108. data-v-79baa1b1=""
  109. class="bg-[#F4F8FF] px-6 py-9 text-[#596780] text-base leading-6 border-r border-[#E4E7ED]"
  110. >
  111. <div data-v-79baa1b1="" class="flex gap-3 items-center mb-6">
  112. <img data-v-79baa1b1="" :src="item['logo']" class="w-16 h-16 rounded-full object-cover" />
  113. <div data-v-79baa1b1="" class="flex-1">
  114. <p data-v-79baa1b1="" class="text-[#3D3D3D] text-base font-medium leading-6">
  115. {{ item['name'] }}
  116. </p>
  117. <div data-v-79baa1b1="" class="flex gap-2 flex-wrap mt-3">
  118. <span
  119. v-for="(tag, tagIndex) in item['tags']"
  120. :key="tagIndex"
  121. data-v-79baa1b1=""
  122. class="px-2 py-1 text-[#596780] text-xs bg-white rounded"
  123. >{{ tag }}</span
  124. >
  125. </div>
  126. </div>
  127. </div>
  128. <!---->
  129. <div data-v-79baa1b1="" class="space-y-4">
  130. <p data-v-79baa1b1="">{{ item['desc'] }}</p>
  131. </div>
  132. <p
  133. data-v-79baa1b1=""
  134. class="text-xl text-[#303133] font-medium mt-10 mb-5 lg:mt-5 lg:mb-2 lg:text-base"
  135. >
  136. 客户概况
  137. </p>
  138. <div data-v-79baa1b1="" class="space-y-4 lg:space-y-2">
  139. <p data-v-79baa1b1="" v-for="(info, infoIndex) in item['info']" :key="infoIndex">
  140. {{ (info as any)['name'] }}:{{ (info as any)['value'] }}
  141. </p>
  142. </div>
  143. </div>
  144. <div data-v-79baa1b1="" class="bg-white px-16 py-10 text-[#3D3D3D] text-sm leading-5 shrink-0 lg:px-6">
  145. <p data-v-79baa1b1="" class="text-lg font-medium leading-5 mb-6">需求和痛点</p>
  146. <ul data-v-79baa1b1="" class="list-disc space-y-4 pl-4 marker:text-[#B5BED0] mb-10">
  147. <li data-v-79baa1b1="" v-for="(need, needIndex) in item['needs']" :key="needIndex">
  148. {{ need }}
  149. </li>
  150. </ul>
  151. <p data-v-79baa1b1="" class="text-lg font-medium leading-5 mb-6 text-[#7C5CFC]">解决方案</p>
  152. <ul data-v-79baa1b1="" class="list-disc space-y-4 pl-4 marker:text-[#B5BED0]">
  153. <li
  154. data-v-79baa1b1=""
  155. v-for="(solution, solutionIndex) in item['solution']"
  156. :key="solutionIndex"
  157. >
  158. {{ solution }}
  159. </li>
  160. </ul>
  161. <button
  162. data-v-79baa1b1=""
  163. aria-disabled="false"
  164. type="button"
  165. class="el-button el-button--primary el-button--large is-link mt-12 !font-normal lg:mt-6"
  166. id="Chato_case_create_bot_click"
  167. data-sensors-case-bot-name="百姓网"
  168. @click="goConnect"
  169. >
  170. <!--v-if--><span class="">立即体验 ZoumaAI</span>
  171. </button>
  172. </div>
  173. </div>
  174. </template>
  175. </main>
  176. </template>
  177. <script setup lang="ts">
  178. import { ref } from 'vue'
  179. import { fetchCase, fecthCaseTips } from '@/api'
  180. import { router } from '@/router'
  181. const cases = ref([])
  182. fetchCase().then((res: any) => {
  183. cases.value = res.map((item: any) => {
  184. return {
  185. ...item,
  186. tags: item.tags.split(','),
  187. info: item.info.split('_;').map((_info: any) => {
  188. let _infos = _info.split('_,')
  189. return {
  190. name: _infos[0],
  191. value: _infos[1]
  192. }
  193. }),
  194. needs: item.needs.split('_;'),
  195. solution: item.solution.split('_;')
  196. }
  197. })
  198. console.log(cases.value)
  199. })
  200. const caseTips = ref('')
  201. fecthCaseTips().then(res => {
  202. caseTips.value = res.value
  203. })
  204. function goConnect() {
  205. router.push({
  206. name: 'connect'
  207. })
  208. }
  209. </script>
  210. <style lang="less" scoped>
  211. .case-type-card {
  212. display: flex;
  213. height: 6rem;
  214. width: 6rem;
  215. flex-direction: column;
  216. align-items: center;
  217. justify-content: center;
  218. gap: 1rem;
  219. border-radius: 20px;
  220. font-size: 1rem;
  221. font-weight: 500;
  222. line-height: 1rem;
  223. --tw-text-opacity: 1;
  224. color: rgba(255, 255, 255, var(--tw-text-opacity));
  225. }
  226. .home-center-padding {
  227. padding-left: 13%;
  228. padding-right: 13%;
  229. }
  230. </style>