myResume.vue 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <!-- 我的简历 -->
  2. <template>
  3. <view class="resume">
  4. <!-- ================================ 头像部分 ================================ -->
  5. <!-- @click="jumpPage('/pages/dynamicTracking/dynamicTracking')" -->
  6. <view class="resume-head">
  7. <view class="resume-head-left">
  8. <view class="name">
  9. <view>{{ memberinfo.name }}</view>
  10. <!-- <image src="../../static/img/edit-icon.png" mode=""></image> -->
  11. </view>
  12. <view class="info">
  13. <view>{{ memberinfo.menSex === 1 ? '女' : '男' }} · </view>
  14. <view>
  15. <text class="position">{{ memberinfo.jobStatus !== 0 ? '入职中' : '未入职' }}</text>
  16. <!-- {{ `(${ memberinfo.company })` }} -->
  17. </view>
  18. </view>
  19. </view>
  20. <view class="resume-head-right">
  21. <u-avatar :src="memberinfo.avatar" mode="circle" size="130" />
  22. </view>
  23. </view>
  24. <!-- ================================ 基本信息部分 ================================ -->
  25. <view class="resume-base-info">
  26. <view class="resume-base-info-left">
  27. <view class="title">基本信息</view>
  28. <view class="resume-base-info-item">退役军人 · {{ memberinfo.menBirth ? getAge(memberinfo.menBirth) : '-' }}岁 · {{ memberinfo.politOutlook || '-' }} · {{ memberinfo.degrEduc || '-' }}</view>
  29. <view class="resume-base-info-phone">
  30. 电话:<text class="icon-phone-icon"></text> {{ memberinfo.mobile }}
  31. </view>
  32. </view>
  33. <view class="resume-base-info-right">
  34. <!-- <image src="../../static/img/edit-icon.png" mode=""></image> -->
  35. </view>
  36. </view>
  37. <!-- ================================ 求职意向部分 ================================ -->
  38. <view class="resume-job-intention">
  39. <view class="resume-job-intention-left">
  40. <view class="title">期望薪资</view>
  41. <view v-if="memberinfo.cityName && memberinfo.provinceName && memberinfo.areaName">{{ `${memberinfo.provinceName}-${memberinfo.cityName}-${memberinfo.areaName}` }}</view>
  42. <view v-if="memberinfo.expectedLowestSalary && memberinfo.expectedHighestSalary">{{ `${memberinfo.expectedLowestSalary}k ~ ${memberinfo.expectedHighestSalary}k` }}</view>
  43. <view class="supple" v-if="!memberinfo.workCity && !memberinfo.expectedLowestSalary && !memberinfo.expectedLowestSalary">暂末补充求意向… </view>
  44. </view>
  45. <view class="resume-job-intention-right">
  46. <image src="../../static/img/edit-icon.png" mode="" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 0 })"></image>
  47. </view>
  48. </view>
  49. <!-- ================================ 自我评价部分 ================================ -->
  50. <view class="resume-self-evaluation">
  51. <view class="resume-self-evaluation-left">
  52. <view class="title">自我评价</view>
  53. <view class="supple" v-if="!memberinfo.selfAssessment">暂未补充自我评价...</view>
  54. <view class="resume-self-evaluation-info" v-else>
  55. <view class="rsei-box">{{ memberinfo.selfAssessment }}</view>
  56. </view>
  57. </view>
  58. <view class="resume-self-evaluation-right">
  59. <image src="../../static/img/edit-icon.png" mode="" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 1 })"></image>
  60. </view>
  61. </view>
  62. <!-- ================================ 工作经历部分 ================================ -->
  63. <view class="resume-work-experience">
  64. <view class="resume-work-experience-header">
  65. <view class="title">工作经历</view>
  66. <!-- <image src="../../static/img/add-experience-icon.png" mode="" @click="jumpPage('/pages/myResume/addExperience')"></image> -->
  67. </view>
  68. <view class="resume-work-experience-list" :class="isExpand ? 'height-auto' : 'height-130'">
  69. <view class="rwel-item" v-for="(item, index) in workExperice" :key="index">
  70. <view class="rwel-item-left">
  71. <view>{{ item.company }}</view>
  72. <view>{{ item.position }}</view>
  73. <view>获得企业评价:<text>{{ item.evaluate }}</text></view>
  74. </view>
  75. <view class="rwel-item-right">
  76. <view>{{ item.dateLine }}</view>
  77. <view>
  78. <!-- <u-icon name="arrow-right" color="#7B7B7B" size="20" @click="jumpPage('/pages/myResume/addExperience')"/> -->
  79. </view>
  80. </view>
  81. </view>
  82. </view>
  83. <view class="resume-work-experience-btn" @click="isExpand = !isExpand">
  84. {{ isExpand ? '收起' : '展开全部' }}
  85. </view>
  86. </view>
  87. <!-- ================================ 培训与教育经历部分 ================================ -->
  88. <view class="resume-train-experience">
  89. <view class="resume-train-experience-header">
  90. <view class="title">培训与教育经历</view>
  91. <!-- <image src="../../static/img/add-experience-icon.png" mode="" @click="jumpPage('/pages/myResume/addEducation')"/> -->
  92. </view>
  93. <view class="resume-train-experience-list" :class="isTrainExpand ? 'height-auto' : 'height-130'">
  94. <view class="rtel-item" v-for="(item, index) in trainExperice" :key="index">
  95. <view class="rtel-item-left">
  96. <view>{{ item.classes }}</view>
  97. <view>{{ item.school }}</view>
  98. <view>{{ item.content }}</view>
  99. <view>获得老师评价:<text>{{ item.evaluate }}</text></view>
  100. </view>
  101. <view class="rtel-item-right">
  102. <view>{{ item.dateLine }}</view>
  103. <view>
  104. <!-- <u-icon name="arrow-right" color="#7B7B7B" size="20" @click="jumpPage('/pages/myResume/addEducation')"/> -->
  105. </view>
  106. </view>
  107. </view>
  108. </view>
  109. <view class="resume-train-experience-btn" @click="isTrainExpand = !isTrainExpand">
  110. {{ isTrainExpand ? '收起' : '展开全部' }}
  111. </view>
  112. </view>
  113. <u-toast ref="uToast" />
  114. </view>
  115. </template>
  116. <script>
  117. export default {
  118. data() {
  119. return {
  120. memberinfo: {},
  121. // 求职意向
  122. jobIntention: true,
  123. // 自我评价
  124. selfEvaluation: true,
  125. // 工作经历
  126. workExperice: [{
  127. dateLine: '2020.3 ~ 至今',
  128. company: '贵州威振押运有限公司',
  129. position: '武装押运员',
  130. evaluate: '优秀'
  131. },
  132. {
  133. dateLine: '2018.5 ~ 2020.3',
  134. company: '贵州威振押运有限公司',
  135. position: '武装押运员',
  136. evaluate: '优秀'
  137. },
  138. {
  139. dateLine: '2015.11 ~ 2018.5',
  140. company: '贵州威振押运有限公司',
  141. position: '武装押运员',
  142. evaluate: '优秀'
  143. }
  144. ],
  145. // 是否展开工作经历
  146. isExpand: true,
  147. // 培训与教育经历
  148. trainExperice: [{
  149. dateLine: '2020.3 ~ 2020.5',
  150. classes: '武装押运服务课程',
  151. school: '贵州特种服务职业技术学校',
  152. content: '2020年3月9日毕业,成绩优秀,获得特种服务证书',
  153. evaluate: '优秀'
  154. },
  155. {
  156. dateLine: '2019.3 ~ 2020.2',
  157. classes: '武装押运服务课程',
  158. school: '贵州特种服务职业技术学校',
  159. content: '2020年3月9日毕业,成绩优秀,获得特种服务证书',
  160. evaluate: '优秀'
  161. }
  162. ],
  163. // 是否展开培训经历
  164. isTrainExpand: true
  165. }
  166. },
  167. onShow() {
  168. this.getMemberinfo()
  169. },
  170. methods: {
  171. /**
  172. * 跳转到指定页
  173. */
  174. jumpPage(url, params) {
  175. this.$u.route({
  176. url: url,
  177. params: params
  178. })
  179. },
  180. /**
  181. * 获取用户基本信息
  182. */
  183. getMemberinfo(){
  184. this.$u.api.getmemberinfo().then(res => {
  185. if (res.code === 200){
  186. this.memberinfo = res.data;
  187. } else {
  188. this.$refs.uToast.show({
  189. title: res.msg,
  190. type: 'error'
  191. })
  192. }
  193. }).catch(err => {
  194. this.$refs.uToast.show({
  195. title: err.msg,
  196. type: 'error'
  197. })
  198. })
  199. },
  200. /**
  201. * 通过出生年月计算年龄
  202. * @param { String } date
  203. */
  204. getAge(date) {
  205. const birth = new Date(date).valueOf();
  206. const now = new Date().valueOf();
  207. const age = (now - birth) / 1000 / 60 / 60 / 24 / 365;
  208. return parseInt(age);
  209. }
  210. }
  211. }
  212. </script>
  213. <style lang="scss" scoped>
  214. @import 'myResume.scss'
  215. </style>