特易招,招聘小程序
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.

319 lines
6.0 KiB

7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
5 months ago
7 months ago
5 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
4 months ago
7 months ago
4 months ago
7 months ago
7 months ago
4 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
5 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
4 months ago
7 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 class="uni-color-btn"
  109. @click="$refs.contractManagePopup.open(hanHaiMember.id)">
  110. 发送合同
  111. </view>
  112. <contractManagePopup ref="contractManagePopup"/>
  113. </view>
  114. </template>
  115. <script>
  116. import userHead from '../components/user/userHead.vue'
  117. import contractManagePopup from '@/components/list/contract/contractManagePopup.vue'
  118. export default {
  119. components: {
  120. userHead,
  121. contractManagePopup,
  122. },
  123. data() {
  124. return {
  125. text: '',
  126. id: 0,
  127. detail: {},
  128. hanHaiMember: {},
  129. authenticationPerson: {},
  130. collectionFlag: false,
  131. }
  132. },
  133. onLoad({
  134. id
  135. }) {
  136. this.id = id
  137. },
  138. onShow() {
  139. this.getData()
  140. },
  141. methods: {
  142. getData() {
  143. let data = {
  144. jobId: this.id
  145. }
  146. if (uni.getStorageSync('token')) {
  147. data.token = uni.getStorageSync('token')
  148. }
  149. this.$api('bossQueryResumeById', data, res => {
  150. if (res.code == 200) {
  151. this.detail = res.result.resume
  152. this.collectionFlag = res.result.collectionFlag
  153. this.hanHaiMember = res.result.hanHaiMember
  154. this.authenticationPerson = res.result.authenticationPerson
  155. }
  156. })
  157. },
  158. addResumeCollection(){
  159. let data = {
  160. resumeId : this.id
  161. }
  162. if(uni.getStorageSync('token')){
  163. data.token = uni.getStorageSync('token')
  164. }
  165. this.$api('addResumeCollection', data, res => {
  166. this.getData();
  167. if(res.code == 200){
  168. uni.showToast({
  169. title: res.message,
  170. icon: 'none'
  171. })
  172. }
  173. })
  174. },
  175. callPhone(){
  176. uni.makePhoneCall({
  177. phoneNumber: this.hanHaiMember && this.hanHaiMember.phone,
  178. success() {
  179. console.log('安卓拨打成功');
  180. },
  181. fail() {
  182. console.log('安卓拨打失败');
  183. }
  184. })
  185. },
  186. }
  187. }
  188. </script>
  189. <style scoped lang="scss">
  190. .page {
  191. background-color: #fff;
  192. min-height: 100vh;
  193. .head {
  194. display: flex;
  195. align-items: center;
  196. position: relative;
  197. padding: 20rpx;
  198. image {
  199. width: 140rpx;
  200. height: 140rpx;
  201. border-radius: 50%;
  202. }
  203. .headImage {
  204. width: 160rpx;
  205. margin-right: 40rpx;
  206. display: flex;
  207. flex-direction: column;
  208. align-items: center;
  209. justify-content: center;
  210. view {
  211. display: flex;
  212. font-size: 24rpx;
  213. align-items: center;
  214. margin-left: 20rpx;
  215. background: rgba($uni-color, 0.2);
  216. color: $uni-color;
  217. padding: 10rpx;
  218. border-radius: 10rpx;
  219. margin-top: 10rpx;
  220. }
  221. }
  222. .info {
  223. font-size: 28rpx;
  224. .name {
  225. font-size: 32rpx;
  226. display: flex;
  227. padding-bottom: 10rpx;
  228. view {
  229. display: flex;
  230. font-size: 20rpx;
  231. align-items: center;
  232. padding-left: 20rpx;
  233. }
  234. }
  235. .tips {
  236. font-size: 26rpx;
  237. }
  238. }
  239. .right {
  240. margin-left: auto;
  241. .phone {
  242. background-color: rgba($uni-color, 0.2);
  243. color: $uni-color;
  244. padding: 8rpx 16rpx;
  245. border-radius: 10rpx;
  246. image {
  247. width: 24rpx;
  248. height: 24rpx;
  249. }
  250. }
  251. }
  252. }
  253. .box {
  254. padding: 30rpx;
  255. .userinfo {
  256. font-size: 28rpx;
  257. color: #666666;
  258. line-height: 44rpx;
  259. margin-bottom: 40rpx;
  260. .line {
  261. margin-bottom: 20rpx;
  262. display: flex;
  263. .left {
  264. width: 220rpx;
  265. flex-shrink: 0;
  266. }
  267. }
  268. }
  269. .info {
  270. .text {
  271. font-size: 24rpx;
  272. color: #666666;
  273. line-height: 44rpx;
  274. }
  275. }
  276. }
  277. .uni-color-btn{
  278. // position: fixed;
  279. // right: 40rpx;
  280. // bottom: 30vh;
  281. }
  282. }
  283. </style>