model_3.vue 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662
  1. <template>
  2. <view class="mone">
  3. <view class="top-left-icon-1"></view>
  4. <view class="top-center-icon-1"></view>
  5. <view class="top-center-icon-2"></view>
  6. <view class="top-right-icon-1 icon-box-border">
  7. <view class="top-right-content icon-box-content">
  8. </view>
  9. </view>
  10. <view class="user-bottom-icon icon-box-border">
  11. <view class="user-bottom-content icon-box-content">
  12. </view>
  13. </view>
  14. <image class="user-top-icon" :src="baseURL + '/resource/model/static/model3/tap3.png'" mode="scaleToFill"></image>
  15. <image class="user-right-logo" :src="baseURL + '/resource/model/model3/tap13.png'" mode="widthFix"></image>
  16. <view class="user-img">
  17. <image class="image" :src="cardInfo.avatar" mode="widthFix"></image>
  18. </view>
  19. <image class="content-left-icon" :src="baseURL + '/resource/model/model3/tap6.png'" mode="widthFix"></image>
  20. <image class="page-bottom-right" :src="baseURL + '/resource/model/model3/tap7.png'" mode="widthFix"></image>
  21. <view class="share-number">
  22. 浏览:{{shareNumber}}
  23. </view>
  24. <view class="right-content">
  25. <view class="name">
  26. {{cardInfo.name || '暂无'}}
  27. </view>
  28. <view class="career margin-t-10">
  29. 职业:{{cardInfo.user_work_type_title || '暂无'}}
  30. </view>
  31. <view class="career margin-t-10">
  32. 编号:{{cardInfo.no}}
  33. </view>
  34. <image class="line-icon margin-t-10" :src="baseURL + '/resource/model/model3/tap11.png'" mode="widthFix"></image>
  35. </view>
  36. <image class="right-center-icon" :src="baseURL + '/resource/model/model3/tap5.png'" mode="widthFix"></image>
  37. <view class="content ">
  38. <view class="icon-round-min">
  39. </view>
  40. <view class="icon-round-base">
  41. </view>
  42. <view class="content-icon-right icon-box-border">
  43. <view class="content-right-content icon-box-content">
  44. </view>
  45. </view>
  46. <view class="center-data flex">
  47. <view class="left">
  48. <view class="list-item">
  49. 年龄: {{cardInfo.age|| '暂无'}}
  50. </view>
  51. <view class="list-item">
  52. 从业: {{(cardInfo.work_year + '年')|| '暂无'}}
  53. </view>
  54. <view class="list-item">
  55. 籍贯: {{cardInfo.ancestral_place || '暂无'}}
  56. </view>
  57. <view class="list-item">
  58. 学历: {{cardInfo.education || '暂无'}}
  59. </view>
  60. </view>
  61. <view class="right">
  62. <view class="list-item">
  63. 属相:{{cardInfo.twelve|| '暂无'}}
  64. </view>
  65. <view class="list-item">
  66. 星座:{{cardInfo.constellation || '暂无'}}
  67. </view>
  68. <view class="list-item">
  69. 民族: {{cardInfo.minority || '暂无'}}
  70. </view>
  71. <view class="list-item">
  72. 服务次数: {{cardInfo.service_count || '0'}}
  73. </view>
  74. </view>
  75. </view>
  76. <view class="list-item padding-l-30 margin-b-30">
  77. 服务地区:
  78. <block v-for="(fwitem,fwindex) in cardInfo.service_area_all" v-if="cardInfo.is_china == 1">
  79. {{fwitem}}{{fwindex ==(cardInfo.service_area_all.length -1) ?'': '、' }}
  80. </block>
  81. <block v-if="cardInfo.is_china == 0">
  82. 海外
  83. </block>
  84. </view>
  85. <view class="info-item-q flex-start ">
  86. <text class="flex-shrink-false">服务价格: </text>
  87. <view class="gzt">
  88. <view class="line-box flex">
  89. <view class="item" v-for="i in 18"></view>
  90. </view>
  91. <view class="gzt-price">
  92. <text
  93. class="money">{{cardInfo.service_min_price}}</text>元/{{ cardInfo.service_time_type_title && cardInfo.service_time_type_title.replace('每','')}}
  94. </view>
  95. <view class=" gzt-price-b">
  96. <text
  97. class="money">{{cardInfo.service_max_price}}</text>元/{{cardInfo.service_time_type_title && cardInfo.service_time_type_title.replace('每','')}}
  98. </view>
  99. </view>
  100. <image :src="baseURL + '/resource/icon/model1/yrz.png'" mode="" class="rz"
  101. v-if="cardInfo.is_type_audit == 1"></image>
  102. </view>
  103. </view>
  104. <view class="content-text">
  105. <view class="flex margin-b-20">
  106. <view class="name">
  107. 自我评价
  108. </view>
  109. <image class="icon" :src="baseURL + '/resource/model/model3/tap13.png'" mode="widthFix"></image>
  110. </view>
  111. <view class="flex">
  112. <view></view>
  113. <image class="line" :src="baseURL + '/resource/model/model3/tap11.png'" mode="widthFix"></image>
  114. </view>
  115. <view class="text margin-t-20">
  116. <rich-text :nodes="cardInfo.service_intro_content"></rich-text>
  117. </view>
  118. <view class="img-list flex">
  119. <image :src="siiitem" mode="scaleToFill" v-for="siiitem in cardInfo.service_intro_imgs"></image>
  120. </view>
  121. </view>
  122. <view class="content-text" >
  123. <view class="flex margin-b-20">
  124. <view class="name">
  125. 我的证书
  126. </view>
  127. <image class="icon" :src="baseURL + '/resource/model/model3/tap13.png'" mode="widthFix"></image>
  128. </view>
  129. <view class="flex">
  130. <view></view>
  131. <image class="line" :src="baseURL + '/resource/model/model3/tap11.png'" mode="widthFix"></image>
  132. </view>
  133. <view class="img-list flex" >
  134. <image :src="siiitem" mode="scaleToFill" v-for="siiitem in cardInfo.service_audit_imgs"></image>
  135. </view>
  136. </view>
  137. <view class="content-text">
  138. <view class="flex margin-b-20">
  139. <view class="name">
  140. 服务内容
  141. </view>
  142. <image class="icon" :src="baseURL + '/resource/model/model3/tap13.png'" mode="widthFix"></image>
  143. </view>
  144. <view class="flex">
  145. <view></view>
  146. <image class="line" :src="baseURL + '/resource/model/model3/tap11.png'" mode="widthFix"></image>
  147. </view>
  148. <view class="card-content">
  149. <view class="fw" v-for="spaitem in cardInfo.service_project_ar">
  150. <view class="fw-tit">
  151. <text class="yg"></text>{{spaitem.title}}
  152. </view>
  153. <view class="fw-content">
  154. {{spaitem.content}}
  155. </view>
  156. </view>
  157. </view>
  158. </view>
  159. <view class="content-text">
  160. <view class="flex margin-b-20">
  161. <view class="name">
  162. 服务照片
  163. </view>
  164. <image class="icon" :src="baseURL + '/resource/model/model3/tap13.png'" mode="widthFix"></image>
  165. </view>
  166. <view class="flex">
  167. <view></view>
  168. <image class="line" :src="baseURL + '/resource/model/model3/tap11.png'" mode="widthFix"></image>
  169. </view>
  170. <view class="img-list flex" >
  171. <image :src="siiitem" mode="scaleToFill" v-for="siiitem in cardInfo.service_imgs"></image>
  172. </view>
  173. </view>
  174. </view>
  175. </template>
  176. <script>
  177. import {
  178. mapState,
  179. } from 'vuex';
  180. export default {
  181. props: {
  182. // 浏览数量
  183. shareNumber: {
  184. type: Number,
  185. default: 0
  186. },
  187. // 是否显示默认数据
  188. isDefault: {
  189. type: Boolean,
  190. default: true
  191. },
  192. isShare: {
  193. type: Boolean,
  194. default: false
  195. },
  196. //1为模板2为用户
  197. isLook: {
  198. type: Number,
  199. default: 0
  200. },
  201. templateDetail: {
  202. type: Object,
  203. default: () => {
  204. return {}
  205. }
  206. }
  207. },
  208. data() {
  209. return {
  210. defaultDate: {
  211. user_work_type_title: '母婴护理师',
  212. name: '陈旦',
  213. avatar: 'https://api.myjie.cn/resource/user/user3/ld.png',
  214. age: '40',
  215. twelve: '猪',
  216. work_year: '9',
  217. constellation: '处女座',
  218. ancestral_place: '广西',
  219. minority: '汉族',
  220. education: '初中',
  221. no: 'myj23031421',
  222. service_area_all: ['上海市'],
  223. service_min_price: 16800,
  224. service_max_price: 19800,
  225. user_work_type_title: '母婴师',
  226. service_time_type_title: '每月',
  227. service_intro_content: '本人从事月嫂工作已经9年多了,顺产剖腹产的妈妈都照顾过,宝宝方面的新生儿,早产儿足月生产儿、双胞胎都照顾过,累积了丰富的经验,现在对于月嫂的这份工作得心应手。我秉承着不怕苦,不怕累,对工作认真负责的态度,帮助过很多需要的家庭。这些年也一直靠客户的口碑宣传接单工作,很感谢客户对我工作的认可。我严格要求自己待客户如家人,视宝宝如己出,我会用自己的爱心,细心,耐心和学到的专业知识去赢得每一个客户的认可。',
  228. service_intro_imgs: ['https://api.myjie.cn/resource/user/user3/zwpj1.png',
  229. 'https://api.myjie.cn/resource/user/user3/zwpj2.png',
  230. 'https://api.myjie.cn/resource/user/user3/zwpj3.png',
  231. 'https://api.myjie.cn/resource/user/user3/zwpj4.png',
  232. 'https://api.myjie.cn/resource/user/user3/zwpj5.png',
  233. 'https://api.myjie.cn/resource/user/user3/zwpj6.png'
  234. ],
  235. service_audit_imgs: ['https://api.myjie.cn/resource/user/user3/zs1.png',
  236. 'https://api.myjie.cn/resource/user/user3/zs2.png',
  237. 'https://api.myjie.cn/resource/user/user3/zs3.png',
  238. 'https://api.myjie.cn/resource/user/user3/zs4.png'
  239. ],
  240. service_project_ar: [{
  241. title: '婴幼儿睡眠管理',
  242. content: '如:日夜颠倒、睡眠不规律、乳头混淆、奶睡、抱睡等问题,帮助宝爸宝妈规律孩子作息、解决婴幼儿喂养困扰,培养良好的生活、学习习惯。'
  243. }, {
  244. title: '特色月子餐',
  245. content: '套用客户的一句话“养眼、养心更养胃”!家常菜、面食、点心、甜品、靓汤、五谷杂粮粥、婴幼儿花样辅食等。'
  246. },
  247. {
  248. title: '早产儿特殊护理',
  249. content: '包括早产儿基础护理、安全喂养方法、追赶性生长、消化与免疫系统等技能,根据宝宝具体情况给予早产儿家长的科学入户指导。'
  250. },
  251. {
  252. title: '0-6岁早期教育',
  253. content: '在婴孩最敏感最能接受的时期进行事半功倍的适时教育,针对不同年龄段的孩子,开发婴幼儿潜能的教育,为孩子多元化和健康人格打下良好基础。'
  254. }
  255. ],
  256. service_imgs: [
  257. 'https://api.myjie.cn/resource/user/user3/fw1.png',
  258. 'https://api.myjie.cn/resource/user/user3/fw2.png',
  259. 'https://api.myjie.cn/resource/user/user3/fw3.png',
  260. 'https://api.myjie.cn/resource/user/user3/fw4.png',
  261. 'https://api.myjie.cn/resource/user/user3/fw5.png',
  262. 'https://api.myjie.cn/resource/user/user3/fw6.png',
  263. ],
  264. is_type_audit: 1,
  265. service_count: 0,
  266. is_china: 1
  267. }
  268. }
  269. },
  270. computed: {
  271. ...mapState(['baseURL']),
  272. cardInfo() {
  273. if (this.isDefault) {
  274. return this.defaultDate
  275. } else {
  276. return this.templateDetail
  277. }
  278. }
  279. },
  280. }
  281. </script>
  282. <style lang="scss" scoped>
  283. .mone {
  284. padding-bottom: 150rpx;
  285. background-color: #FFFFFF;
  286. min-height: 100vh;
  287. padding-top: 580rpx;
  288. position: relative;
  289. .top-left-icon-1 {
  290. background-color: rgba(15, 61, 96, 1);
  291. border-bottom-right-radius: 110rpx;
  292. width: 250rpx;
  293. height: 200rpx;
  294. position: absolute;
  295. top: -120rpx;
  296. left: -130rpx;
  297. }
  298. .top-center-icon-1 {
  299. border-radius: 100rpx;
  300. width: 60rpx;
  301. height: 60rpx;
  302. position: absolute;
  303. border: 1px solid rgba(43, 117, 180, 1);
  304. top: 50rpx;
  305. left: 310rpx;
  306. }
  307. .top-center-icon-2 {
  308. border-radius: 100rpx;
  309. width: 35rpx;
  310. height: 35rpx;
  311. position: absolute;
  312. border: 1px solid rgba(215, 215, 215, 1);
  313. top: 125rpx;
  314. left: 525rpx;
  315. }
  316. .top-right-icon-1 {
  317. padding: 30rpx;
  318. width: 200rpx;
  319. height: 200rpx;
  320. border: 1px dashed rgba(215, 215, 215, 1);
  321. top: -100rpx;
  322. right: -50rpx;
  323. .top-right-content {
  324. background-color: rgba(215, 215, 215, 1);
  325. }
  326. }
  327. .user-top-icon {
  328. width: 106rpx;
  329. height: 97rpx;
  330. position: absolute;
  331. top: 157rpx;
  332. left: 205rpx;
  333. }
  334. .user-right-logo {
  335. width: 235rpx;
  336. position: absolute;
  337. top: 246rpx;
  338. right: 154rpx;
  339. }
  340. .user-img {
  341. width: 280rpx;
  342. height: 280rpx;
  343. border: 3px solid #FFFFFF;
  344. border-radius: 200rpx;
  345. position: absolute;
  346. top: 186rpx;
  347. left: 50rpx;
  348. overflow: hidden;
  349. .image {
  350. width: 100%;
  351. }
  352. }
  353. .user-bottom-icon {
  354. padding: 30rpx;
  355. width: 210rpx;
  356. height: 210rpx;
  357. border: 1px dashed rgba(15, 61, 96, 1);
  358. top: 380rpx;
  359. left: 36rpx;
  360. .user-bottom-content {
  361. background-color: rgba(15, 61, 96, 1);
  362. }
  363. }
  364. .share-number {
  365. border-top-left-radius: 99rpx;
  366. border-bottom-left-radius: 99rpx;
  367. font-size: $font-base;
  368. color: #266B9E;
  369. border: 2px solid #266B9E;
  370. position: absolute;
  371. top: 150rpx;
  372. right: 0rpx;
  373. line-height: 1;
  374. padding: 10rpx;
  375. padding-left: 25rpx;
  376. }
  377. .right-content {
  378. position: absolute;
  379. right: 0;
  380. top: 350rpx;
  381. width: 390rpx;
  382. .name {
  383. font-size: 60rpx;
  384. font-family: FZYanSongS-DB-GB;
  385. color: #266B9E;
  386. }
  387. .career {
  388. font-size: 30rpx;
  389. font-family: FZYanSongS-DB-GB;
  390. color: #266B9E;
  391. }
  392. .line-icon {
  393. width: 360rpx;
  394. }
  395. }
  396. .right-center-icon {
  397. width: 190rpx;
  398. position: absolute;
  399. top: 900rpx;
  400. right: 0;
  401. }
  402. .page-bottom-right{
  403. width: 188rpx;
  404. position: absolute;
  405. bottom: 130rpx;
  406. right: 0;
  407. }
  408. }
  409. .icon-box-border {
  410. border-radius: 1000rpx;
  411. position: absolute;
  412. .icon-box-content {
  413. width: 100%;
  414. height: 100%;
  415. border-radius: 900rpx;
  416. }
  417. }
  418. .content-left-icon{
  419. width: 86rpx;
  420. position: absolute;
  421. top: 1800rpx;
  422. left: 0rpx;
  423. }
  424. .content-text {
  425. margin: 30rpx;
  426. padding: 55rpx;
  427. background-color: rgba(245, 248, 250, 1);
  428. position: relative;
  429. .card-content {
  430. font-size: 26rpx;
  431. font-weight: 500;
  432. color: #2C2E35;
  433. position: relative;
  434. .fw {
  435. font-size: 26rpx;
  436. font-weight: 500;
  437. color: #2C2E35;
  438. padding: 10rpx 0;
  439. .fw-tit {
  440. color: #266B9E;
  441. display: flex;
  442. align-items: center;
  443. .yg {
  444. background-color: #266B9E;
  445. display: inline-block;
  446. width: 10rpx;
  447. height: 10rpx;
  448. border-radius: 50%;
  449. margin-right: 10rpx;
  450. }
  451. }
  452. .fw-content {
  453. padding-top: 10rpx;
  454. padding-left: 18rpx;
  455. text-align: justify;
  456. word-wrap: break-word;
  457. white-space: pre-line;
  458. }
  459. }
  460. }
  461. .name {
  462. font-size: 65rpx;
  463. font-family: FZYanSongS-DB-GB;
  464. font-weight: bold;
  465. background-color: #266B9E;
  466. line-height: 60rpx;
  467. padding: 20rpx 40rpx;
  468. padding-bottom: 25rpx;
  469. color: #FFF;
  470. }
  471. .icon {
  472. width: 223rpx;
  473. }
  474. .line {
  475. width: 400rpx;
  476. }
  477. .text {
  478. line-height: 1.5;
  479. font-size: 26rpx;
  480. font-family: Adobe Heiti Std;
  481. }
  482. }
  483. .content {
  484. padding: 36rpx;
  485. line-height: 1;
  486. font-size: $font-base;
  487. color: #266B9E;
  488. font-weight: bold;
  489. position: relative;
  490. padding-bottom: 50rpx;
  491. margin-bottom: 30rpx;
  492. .content-icon-right {
  493. position: absolute;
  494. right: 50rpx;
  495. top: 100rpx;
  496. border: 1px solid #266B9E;
  497. width: 75rpx;
  498. height: 75rpx;
  499. padding: 10rpx;
  500. .content-right-content {
  501. background-color: rgb(217, 217, 217);
  502. }
  503. }
  504. .icon-round-min {
  505. background-color: rgb(28, 109, 161);
  506. border-radius: 100rpx;
  507. width: 30rpx;
  508. height: 30rpx;
  509. position: absolute;
  510. top: 30rpx;
  511. left: 300rpx;
  512. }
  513. .icon-round-base {
  514. background-color: rgb(28, 109, 161);
  515. border-radius: 100rpx;
  516. width: 60rpx;
  517. height: 60rpx;
  518. position: absolute;
  519. top: 160rpx;
  520. left: 280rpx;
  521. }
  522. .center-data {
  523. align-items: flex-start;
  524. border-left: 1px dashed #E6E6E6;
  525. .left,
  526. .right {
  527. width: 50%;
  528. padding-left: 30rpx;
  529. text-align: left;
  530. }
  531. .list-item {
  532. margin-bottom: 20rpx;
  533. }
  534. }
  535. .info-item-q {
  536. width: 100%;
  537. display: flex;
  538. align-items: flex-start;
  539. justify-content: start;
  540. padding-left: 30rpx;
  541. .gzt {
  542. width: 350rpx;
  543. height: 24rpx;
  544. position: relative;
  545. .line-box {
  546. width: 350rpx;
  547. height: 24rpx;
  548. position: relative;
  549. background-color: rgb(36, 109, 179);
  550. border-radius: 50rpx;
  551. overflow: hidden;
  552. .item {
  553. margin-left: 10rpx;
  554. background-color: #5294C9;
  555. width: 10rpx;
  556. height: 50rpx;
  557. transform: rotate(18deg);
  558. }
  559. }
  560. .gzt-price,
  561. .gzt-price-b {
  562. width: 200rpx;
  563. text-align: center;
  564. position: absolute;
  565. padding-top: 20rpx;
  566. color: $font-color-dark;
  567. &::after {
  568. content: '';
  569. width: 0px;
  570. height: 0rpx;
  571. border: 14rpx solid;
  572. border-color: transparent transparent #FEB8C6;
  573. position: absolute;
  574. top: -14rpx;
  575. left: 0;
  576. right: 0;
  577. margin: auto;
  578. }
  579. text {
  580. color: #236BA5;
  581. }
  582. }
  583. .gzt-price {
  584. left: -100rpx;
  585. }
  586. .gzt-price-b {
  587. right: -100rpx;
  588. }
  589. }
  590. .rz {
  591. margin-left: 10rpx;
  592. width: 87rpx;
  593. height: 26rpx;
  594. }
  595. }
  596. }
  597. .img-list {
  598. justify-content: space-between;
  599. flex-wrap: wrap;
  600. margin: auto;
  601. position: relative;
  602. padding-top: 50rpx;
  603. image {
  604. width: 270rpx;
  605. height: 270rpx;
  606. background-color: #fff;
  607. margin-bottom: 30rpx;
  608. box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.6);
  609. }
  610. }
  611. </style>