Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

SummaryBar.vue 6.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <template lang="pug">
  2. section.w-flex.column.pb5
  3. nav.fill-width.w-flex.column.justify-space-between
  4. // Tabbed Layout
  5. w-tabs(
  6. :items='Object.keys(tabContent)'
  7. @input='onTabChanged'
  8. center
  9. fill-bar
  10. v-if='isTab'
  11. )
  12. template(#item-title='{ item }')
  13. .w-flex.column.justify-start
  14. p(v-if='tabContent[item].matchPerc') {{ tabContent[item].matchPerc }}%
  15. p(v-else) &nbsp;
  16. p {{ item }}
  17. // About Tab
  18. template(#item-content.1='{ item }')
  19. .tab--about
  20. p {{ tabContent[item].tab }}
  21. br
  22. p {{ tabContent[item].tab }}
  23. br
  24. hr
  25. // Passion Tab
  26. template(#item-content.2='{ item }')
  27. .tab--passion
  28. p {{ tabContent[item].tab }}
  29. SpiderChart(
  30. :labels='aspects.map(label => label.name)'
  31. :profile-data='aspects.map(data => data.percentage)'
  32. :target-data='targetScore'
  33. :profile-name='name'
  34. v-if='isTab'
  35. )
  36. // Aspirations Tab
  37. template(#item-content.3='{ item }')
  38. .tab--aspirations
  39. p {{ tabContent[item].tab }}
  40. w-timeline(:items='aspirations')
  41. // Skills Tab
  42. template(#item-content.4='{ item }')
  43. .tab--skills
  44. p Education
  45. w-timeline(:items='skills.education')
  46. p Licenses & Certificates
  47. w-timeline(:items='skills.licenses')
  48. p Skills
  49. w-timeline(:items='skills.skills')
  50. p Experience
  51. w-timeline(:items='skills.experience')
  52. // Untabbed Layout
  53. ul.w-flex.row.justify-space-between(v-else)
  54. template(
  55. :key='index'
  56. v-for='(item, index) in Object.keys(tabContent)'
  57. )
  58. li.w-flex.row(v-if='item !== "about"')
  59. w-icon.mr1.icon-compass(xl)
  60. .w-flex.column.justify-start
  61. p
  62. span {{ tabContent[item].matchPerc }}%
  63. p.text-capitalize {{ item }}
  64. </template>
  65. <script>
  66. import SpiderChart from './SpiderChart.vue'
  67. import { currentProfile } from '../services'
  68. export default {
  69. components: { SpiderChart },
  70. props: {
  71. aspects: {
  72. required: true,
  73. type: Array,
  74. },
  75. tabContent: {
  76. required: true,
  77. type: Object,
  78. },
  79. name:{
  80. required:true,
  81. type: String
  82. },
  83. isTab: {
  84. required: false,
  85. type: Boolean,
  86. default: false,
  87. },
  88. showIcon: {
  89. required: false,
  90. type: Boolean,
  91. default: true,
  92. },
  93. },
  94. emits: ['tab-change'],
  95. data: () => ({
  96. aspirations: [
  97. { title: 'Full-Time', content: 'Full-time for me is working 40 hrs a week in a non-contractual position.', icon: 'wi-check-circle' },
  98. { title: 'On-site', content: 'I prefer to be onsite 5 days a week at my primary hospital location.', icon: 'wi-cross-circle' },
  99. { title: 'Relocate', content: 'I am willing to relocate to states on the east coast. My family is back east.', icon: 'wi-warning-circle' },
  100. { title: 'Management Skills', content: 'Proactive with leading teams and managing benchmark goals for the department.', icon: 'wi-info-circle' },
  101. { title: 'Mentorship', content: 'I am seeking mentorship in leadership and building a strong team dynamic.', icon: 'wi-cross-circle' },
  102. { title: 'Work in Los Angeles, California', content: 'I am eager to work in Los Angeles, California to explore new opportunities in healthcare.', icon: 'wi-warning-circle' },
  103. { title: 'Work in ICU', content: 'Passionate about working in ICU, providing critical care and making a difference in patients\' lives.', icon: 'wi-info-circle' },
  104. ],
  105. skills: {
  106. education: [
  107. { title: 'Masters Degree, Science in Nursing', content: 'UCLA', icon: 'wi-check-circle' },
  108. ],
  109. licenses: [
  110. { title: 'California RN License', content: 'FRXD45643YHT678', icon: 'wi-cross-circle' },
  111. { title: 'ACLS & PALS', content: 'IIDVg909473662678', icon: 'wi-warning-circle' },
  112. { title: 'BCLS Certification', content: 'LUB9839582', icon: 'wi-cross-circle' },
  113. { title: 'Diversity Training', content: '', icon: 'wi-warning-circle' },
  114. ],
  115. skills: [
  116. { title: 'Excel Spreadsheet', content: 'Advanced Excel user, adept at creating complex formulas, charts, and pivot tables for data analysis.', icon: 'wi-info-circle' },
  117. { title: 'fetal heart monitoring', content: 'Proficient in fetal heart monitoring, interpreting data, and promptly acting to ensure fetal well-being.', icon: 'wi-info-circle' },
  118. { title: 'problem-solving', content: 'Strong problem-solving skills, able to identify issues and implement effective solutions under pressure.', icon: 'wi-info-circle' },
  119. ],
  120. experience: [
  121. { title: 'surgical settings', content: 'Experienced in surgical settings, assisting surgeons and managing patient care during procedures.', icon: 'wi-info-circle' },
  122. ],
  123. },
  124. }),
  125. computed: {
  126. targetScore(){
  127. try{
  128. let aspectResponses = currentProfile._profile.responses.filter(r => [1,2,3,4,5,6].indexOf(r.response_key_id) !== -1)
  129. return aspectResponses.map(r => Number(r.val))
  130. }
  131. catch(e){
  132. console.warn('error: No aspect responses for current profile.')
  133. return [1,1,1,1,1,1]
  134. }
  135. }
  136. },
  137. methods: {
  138. onTabChanged(tabs) {
  139. this.$emit('tab-change', tabs)
  140. },
  141. },
  142. }
  143. </script>
  144. <style lang="sass">
  145. section
  146. font-family: Century Gothic, CenturyGothic, AppleGothic, sans-serif
  147. ul
  148. margin: 11px 0
  149. li
  150. margin: 0 7px
  151. font-size: .8em
  152. p > span
  153. font-weight: bold
  154. font-size: 1em
  155. li:not(:last-child)
  156. border-right: 1px solid #fff
  157. </style>