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

311 lines
6.0 KiB

6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 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. <image src="/static/image/home/phone.png" mode=""></image>
  28. 联系他
  29. </view>
  30. </view>
  31. </view>
  32. <view style="background-color: #f3f3f3;height: 30rpx;"></view>
  33. <view class="box">
  34. <view class="userinfo">
  35. <view class="line">
  36. <view v-if="collectionFlag == false" @click="addResumeCollection">
  37. <uv-icon size="30rpx" color="666" name="star"></uv-icon>
  38. 收藏
  39. </view>
  40. <view v-else @click="addResumeCollection" style="color: red;">
  41. <uv-icon size="30rpx" color="666" name="star"></uv-icon>
  42. 已收藏
  43. </view>
  44. </view>
  45. <view class="line">
  46. <view class="left">
  47. 联系电话
  48. </view>
  49. <view class="right">
  50. {{ authenticationPerson.phone }}
  51. </view>
  52. </view>
  53. <view class="line">
  54. <view class="left">
  55. 期望工作地
  56. </view>
  57. <view class="right">
  58. {{ detail.ipAddress }}
  59. </view>
  60. </view>
  61. <view class="line">
  62. <view class="left">
  63. 民族
  64. </view>
  65. <view class="right">
  66. {{ detail.nation }}
  67. </view>
  68. </view>
  69. <view class="line">
  70. <view class="left">
  71. 工龄
  72. </view>
  73. <view class="right">
  74. {{ detail.workTime ? `${detail.workTime}` : '应届生' }}
  75. </view>
  76. </view>
  77. <view class="line">
  78. <view class="left">
  79. IP归属地
  80. </view>
  81. <view class="right">
  82. {{ detail.ipAddress }}
  83. </view>
  84. </view>
  85. </view>
  86. <view class="info">
  87. <view class="title2">
  88. <text>个人介绍</text>
  89. </view>
  90. <!-- <view
  91. class="text"
  92. v-html="text">
  93. </view> -->
  94. <view class="text">
  95. <uv-parse :content="detail.brief"></uv-parse>
  96. </view>
  97. <view class="tag-list">
  98. <view :key="i" v-for="(t, i) in detail.tag && detail.tag.split('、')">
  99. {{ t }}
  100. </view>
  101. </view>
  102. </view>
  103. </view>
  104. </view>
  105. </template>
  106. <script>
  107. let text = `岗位要求
  108. 1全日制大专以上学历艺术设计类相关专业;
  109. 2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;
  110. 3具备一定的设计提案能力能完整的呈现设计思路与创意能清晰的表达设计逻辑与思考;
  111. 4热爱设计平面基本功扎实拥有优良的审美与创意想法对版式色彩把控能力强;对工作富有责任心具备团队沟通与协作能力;
  112. 5精通 PSAICDR 等平面设计软件能独立完成日常平面设计工作内容熟练使用 PPT/Keynote能完成提案内容的材料美化工作
  113. `
  114. import userHead from '../components/user/userHead.vue'
  115. export default {
  116. components: {
  117. userHead,
  118. },
  119. data() {
  120. return {
  121. text: '',
  122. id: 0,
  123. detail: {},
  124. hanHaiMember: {},
  125. authenticationPerson: {},
  126. collectionFlag: false,
  127. }
  128. },
  129. onLoad({
  130. id
  131. }) {
  132. this.id = id
  133. },
  134. onShow() {
  135. this.text = this.$utils.stringFormatHtml(text)
  136. this.getData()
  137. },
  138. methods: {
  139. getData() {
  140. let data = {
  141. jobId: this.id
  142. }
  143. if (uni.getStorageSync('token')) {
  144. data.token = uni.getStorageSync('token')
  145. }
  146. this.$api('bossQueryResumeById', data, res => {
  147. if (res.code == 200) {
  148. this.detail = res.result.resume
  149. this.collectionFlag = res.result.collectionFlag
  150. this.hanHaiMember = res.result.hanHaiMember
  151. this.authenticationPerson = res.result.authenticationPerson
  152. }
  153. })
  154. },
  155. addResumeCollection(){
  156. let data = {
  157. resumeId : this.id
  158. }
  159. if(uni.getStorageSync('token')){
  160. data.token = uni.getStorageSync('token')
  161. }
  162. this.$api('addResumeCollection', data, res => {
  163. if(res.code == 200){
  164. uni.showToast({
  165. title: res.message,
  166. icon: 'none'
  167. })
  168. }
  169. })
  170. this.getData();
  171. }
  172. }
  173. }
  174. </script>
  175. <style scoped lang="scss">
  176. .page {
  177. background-color: #fff;
  178. min-height: 100vh;
  179. .head {
  180. display: flex;
  181. align-items: center;
  182. position: relative;
  183. padding: 20rpx;
  184. image {
  185. width: 140rpx;
  186. height: 140rpx;
  187. border-radius: 50%;
  188. }
  189. .headImage {
  190. width: 160rpx;
  191. margin-right: 40rpx;
  192. display: flex;
  193. flex-direction: column;
  194. align-items: center;
  195. justify-content: center;
  196. view {
  197. display: flex;
  198. font-size: 24rpx;
  199. align-items: center;
  200. margin-left: 20rpx;
  201. background: rgba($uni-color, 0.2);
  202. color: $uni-color;
  203. padding: 10rpx;
  204. border-radius: 10rpx;
  205. margin-top: 10rpx;
  206. }
  207. }
  208. .info {
  209. font-size: 28rpx;
  210. .name {
  211. font-size: 32rpx;
  212. display: flex;
  213. padding-bottom: 10rpx;
  214. view {
  215. display: flex;
  216. font-size: 20rpx;
  217. align-items: center;
  218. padding-left: 20rpx;
  219. }
  220. }
  221. .tips {
  222. font-size: 26rpx;
  223. }
  224. }
  225. .right {
  226. margin-left: auto;
  227. .phone {
  228. background-color: rgba($uni-color, 0.2);
  229. color: $uni-color;
  230. padding: 8rpx 16rpx;
  231. border-radius: 10rpx;
  232. image {
  233. width: 24rpx;
  234. height: 24rpx;
  235. }
  236. }
  237. }
  238. }
  239. .box {
  240. padding: 30rpx;
  241. .userinfo {
  242. font-size: 28rpx;
  243. color: #666666;
  244. line-height: 44rpx;
  245. margin-bottom: 40rpx;
  246. .line {
  247. margin-bottom: 20rpx;
  248. display: flex;
  249. .left {
  250. width: 220rpx;
  251. flex-shrink: 0;
  252. }
  253. }
  254. }
  255. .info {
  256. .text {
  257. font-size: 24rpx;
  258. color: #666666;
  259. line-height: 44rpx;
  260. }
  261. }
  262. }
  263. }
  264. </style>