myResume.vue 8.9 KB

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