特易招,招聘小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

305 lines
5.6 KiB

4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
2 months ago
4 months ago
2 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
2 months ago
4 months ago
2 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
2 months ago
4 months ago
4 months ago
2 months ago
4 months ago
2 months ago
4 months ago
2 months ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
  1. <template>
  2. <view class="page">
  3. <navbar leftClick @leftClick="$utils.navigateBack" />
  4. <view class="head">
  5. <view class="headImage">
  6. <image :src="hanHaiMember.headImage" mode=""></image>
  7. <view class="">
  8. {{ authenticationPerson.name }}
  9. </view>
  10. </view>
  11. <view class="info">
  12. <view class="name">
  13. {{ detail.title }}
  14. </view>
  15. <view class="tips">
  16. 性别{{ detail.sex }}
  17. </view>
  18. <view class="tips">
  19. 年龄{{ detail.age }}
  20. </view>
  21. <view class="tips">
  22. 学历{{ detail.qualification }}
  23. </view>
  24. </view>
  25. <view class="right">
  26. <view class="phone"
  27. @click.stop="callPhone">
  28. <image src="/static/image/home/phone.png" mode=""></image>
  29. 联系他
  30. </view>
  31. </view>
  32. </view>
  33. <view style="background-color: #f3f3f3;height: 30rpx;"></view>
  34. <view class="box">
  35. <view class="userinfo">
  36. <view class="line"
  37. style="justify-content: flex-end;">
  38. <view v-if="collectionFlag == false" @click="addResumeCollection"
  39. style="display: flex;align-items: center;">
  40. <uv-icon size="30rpx" color="666" name="star"></uv-icon>
  41. 收藏
  42. </view>
  43. <view v-else @click="addResumeCollection"
  44. style="display: flex;align-items: center;color: #f40;">
  45. <uv-icon size="30rpx" color="#f40" name="star-fill"></uv-icon>
  46. 已收藏
  47. </view>
  48. </view>
  49. <view class="line">
  50. <view class="left">
  51. 联系电话
  52. </view>
  53. <view class="right">
  54. {{ authenticationPerson.phone }}
  55. </view>
  56. </view>
  57. <view class="line">
  58. <view class="left">
  59. 期望工作地
  60. </view>
  61. <view class="right">
  62. {{ detail.expectAddressName }}
  63. </view>
  64. </view>
  65. <view class="line">
  66. <view class="left">
  67. 民族
  68. </view>
  69. <view class="right">
  70. {{ detail.nation }}
  71. </view>
  72. </view>
  73. <view class="line">
  74. <view class="left">
  75. 工龄
  76. </view>
  77. <view class="right">
  78. {{ detail.workTime ? `${detail.workTime}` : '应届生' }}
  79. </view>
  80. </view>
  81. <view class="line">
  82. <view class="left">
  83. IP归属地
  84. </view>
  85. <view class="right">
  86. {{ detail.ipAddress || '' }}
  87. </view>
  88. </view>
  89. </view>
  90. <view class="info">
  91. <view class="title2">
  92. <text>个人介绍</text>
  93. </view>
  94. <!-- <view
  95. class="text"
  96. v-html="text">
  97. </view> -->
  98. <view class="text">
  99. <uv-parse :content="detail.brief"></uv-parse>
  100. </view>
  101. <view class="tag-list">
  102. <view :key="i" v-for="(t, i) in detail.tag && detail.tag.split('、')">
  103. {{ t }}
  104. </view>
  105. </view>
  106. </view>
  107. </view>
  108. </view>
  109. </template>
  110. <script>
  111. import userHead from '../components/user/userHead.vue'
  112. export default {
  113. components: {
  114. userHead,
  115. },
  116. data() {
  117. return {
  118. text: '',
  119. id: 0,
  120. detail: {},
  121. hanHaiMember: {},
  122. authenticationPerson: {},
  123. collectionFlag: false,
  124. }
  125. },
  126. onLoad({
  127. id
  128. }) {
  129. this.id = id
  130. },
  131. onShow() {
  132. this.getData()
  133. },
  134. methods: {
  135. getData() {
  136. let data = {
  137. jobId: this.id
  138. }
  139. if (uni.getStorageSync('token')) {
  140. data.token = uni.getStorageSync('token')
  141. }
  142. this.$api('bossQueryResumeById', data, res => {
  143. if (res.code == 200) {
  144. this.detail = res.result.resume
  145. this.collectionFlag = res.result.collectionFlag
  146. this.hanHaiMember = res.result.hanHaiMember
  147. this.authenticationPerson = res.result.authenticationPerson
  148. }
  149. })
  150. },
  151. addResumeCollection(){
  152. let data = {
  153. resumeId : this.id
  154. }
  155. if(uni.getStorageSync('token')){
  156. data.token = uni.getStorageSync('token')
  157. }
  158. this.$api('addResumeCollection', data, res => {
  159. this.getData();
  160. if(res.code == 200){
  161. uni.showToast({
  162. title: res.message,
  163. icon: 'none'
  164. })
  165. }
  166. })
  167. },
  168. callPhone(){
  169. uni.makePhoneCall({
  170. phoneNumber: this.hanHaiMember && this.hanHaiMember.phone,
  171. success() {
  172. console.log('安卓拨打成功');
  173. },
  174. fail() {
  175. console.log('安卓拨打失败');
  176. }
  177. })
  178. },
  179. }
  180. }
  181. </script>
  182. <style scoped lang="scss">
  183. .page {
  184. background-color: #fff;
  185. min-height: 100vh;
  186. .head {
  187. display: flex;
  188. align-items: center;
  189. position: relative;
  190. padding: 20rpx;
  191. image {
  192. width: 140rpx;
  193. height: 140rpx;
  194. border-radius: 50%;
  195. }
  196. .headImage {
  197. width: 160rpx;
  198. margin-right: 40rpx;
  199. display: flex;
  200. flex-direction: column;
  201. align-items: center;
  202. justify-content: center;
  203. view {
  204. display: flex;
  205. font-size: 24rpx;
  206. align-items: center;
  207. margin-left: 20rpx;
  208. background: rgba($uni-color, 0.2);
  209. color: $uni-color;
  210. padding: 10rpx;
  211. border-radius: 10rpx;
  212. margin-top: 10rpx;
  213. }
  214. }
  215. .info {
  216. font-size: 28rpx;
  217. .name {
  218. font-size: 32rpx;
  219. display: flex;
  220. padding-bottom: 10rpx;
  221. view {
  222. display: flex;
  223. font-size: 20rpx;
  224. align-items: center;
  225. padding-left: 20rpx;
  226. }
  227. }
  228. .tips {
  229. font-size: 26rpx;
  230. }
  231. }
  232. .right {
  233. margin-left: auto;
  234. .phone {
  235. background-color: rgba($uni-color, 0.2);
  236. color: $uni-color;
  237. padding: 8rpx 16rpx;
  238. border-radius: 10rpx;
  239. image {
  240. width: 24rpx;
  241. height: 24rpx;
  242. }
  243. }
  244. }
  245. }
  246. .box {
  247. padding: 30rpx;
  248. .userinfo {
  249. font-size: 28rpx;
  250. color: #666666;
  251. line-height: 44rpx;
  252. margin-bottom: 40rpx;
  253. .line {
  254. margin-bottom: 20rpx;
  255. display: flex;
  256. .left {
  257. width: 220rpx;
  258. flex-shrink: 0;
  259. }
  260. }
  261. }
  262. .info {
  263. .text {
  264. font-size: 24rpx;
  265. color: #666666;
  266. line-height: 44rpx;
  267. }
  268. }
  269. }
  270. }
  271. </style>