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

244 lines
4.6 KiB

2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
  1. <template>
  2. <view class="page">
  3. <image src="/static/image/home/banner.png" mode="aspectFill"
  4. class="bgImage"></image>
  5. <view class="close"
  6. @click="$utils.navigateBack">
  7. <uv-icon
  8. name="arrow-left"
  9. color="#fff"
  10. size="30rpx"
  11. ></uv-icon>
  12. </view>
  13. <view class="box">
  14. <view class="boss-box">
  15. <image :src="hanHaiMember.headImage"
  16. class="headImage"
  17. mode="aspectFill"></image>
  18. <view class="info">
  19. <view class="title">
  20. {{personInfo.name}}<text></text>
  21. </view>
  22. <view class="desc">
  23. {{companyInfo.companyName}}
  24. <view class="vip">
  25. vip
  26. </view>
  27. </view>
  28. </view>
  29. </view>
  30. <view class="firm">
  31. <view class="title">
  32. 任职企业
  33. </view>
  34. <view class="firm-info">
  35. <image :src="companyInfo.logo"
  36. class="image"
  37. mode="aspectFill"></image>
  38. <view class="info">
  39. <view class="name">
  40. {{companyInfo.companyName}}
  41. </view>
  42. <view class="desc">
  43. {{companyInfo.financing}}*{{companyInfo.industry}}*{{companyInfo.number}}
  44. </view>
  45. </view>
  46. </view>
  47. <view class="album">
  48. <uv-album :urls="companyInfo.image
  49. && companyInfo.image.split(',')"></uv-album>
  50. </view>
  51. </view>
  52. <view class="list-work">
  53. <view class="text">
  54. 发布职位<text>19</text>
  55. </view>
  56. <view style="margin: 20rpx;"
  57. @click="$utils.navigateTo('/pages_order/work/userDetail?id=' + item.id)"
  58. :key="index"
  59. v-for="(item, index) in list">
  60. <workItem :item="item"/>
  61. </view>
  62. </view>
  63. </view>
  64. </view>
  65. </template>
  66. <script>
  67. import userHead from '../components/user/userHead.vue'
  68. import mixinList from '@/mixins/list.js'
  69. import workItem from '@/components/list/workList/workItem.vue'
  70. export default {
  71. mixins : [mixinList],
  72. components : {
  73. userHead,
  74. workItem,
  75. },
  76. data() {
  77. return {
  78. id : 0,
  79. detail : {},
  80. personInfo:{},
  81. companyInfo:{},
  82. hanHaiMember:{},
  83. collectionFlag : false,
  84. mixinsListApi : 'employeeQueryJobList',
  85. }
  86. },
  87. onLoad({id}) {
  88. this.id = id
  89. },
  90. onShow() {
  91. this.getDetail()
  92. },
  93. onPullDownRefresh() {
  94. this.getDetail()
  95. },
  96. methods: {
  97. getDetail(){
  98. let data = {
  99. jobId : this.id
  100. }
  101. if(uni.getStorageSync('token')){
  102. data.token = uni.getStorageSync('token')
  103. }
  104. this.$api('employeeQueryJobById', data, res => {
  105. uni.stopPullDownRefresh()
  106. if(res.code == 200){
  107. this.detail = res.result.jobInfo
  108. this.collectionFlag = res.result.collectionFlag
  109. this.personInfo = res.result.personInfo
  110. this.companyInfo = res.result.companyInfo
  111. this.hanHaiMember = res.result.hanHaiMember
  112. }
  113. })
  114. },
  115. }
  116. }
  117. </script>
  118. <style scoped lang="scss">
  119. .page{
  120. min-height: 100vh;
  121. .bgImage{
  122. width: 100%;
  123. height: 500rpx;
  124. }
  125. .close{
  126. position: absolute;
  127. left: 30rpx;
  128. width: 60rpx;
  129. height: 60rpx;
  130. border-radius: 50%;
  131. top: 100rpx;
  132. background-color: #00000033;
  133. display: flex;
  134. justify-content: center;
  135. align-items: center;
  136. }
  137. .box{
  138. margin-top: -100rpx;
  139. .boss-box{
  140. background-color: #fff;
  141. margin: 20rpx;
  142. border-radius: 20rpx;
  143. padding: 20rpx;
  144. position: relative;
  145. box-shadow: 0 0 10rpx 10rpx #00000009;
  146. padding-top: 140rpx;
  147. .headImage{
  148. border-radius: 50%;
  149. width: 150rpx;
  150. height: 150rpx;
  151. position: absolute;
  152. top: -50rpx;
  153. left: 30rpx;
  154. }
  155. .info{
  156. padding: 0 20rpx;
  157. line-height: 46rpx;
  158. .title{
  159. font-weight: 900;
  160. font-size: 32rpx;
  161. }
  162. .desc{
  163. display: flex;
  164. align-items: center;
  165. font-size: 24rpx;
  166. .vip{
  167. padding: 4rpx 20rpx;
  168. border-radius: 20rpx;
  169. border: 1rpx solid #EF7834;
  170. color: #EF7834;
  171. margin-left: 30rpx;
  172. }
  173. }
  174. }
  175. }
  176. .firm{
  177. background-color: #fff;
  178. margin: 20rpx;
  179. border-radius: 20rpx;
  180. padding: 20rpx;
  181. position: relative;
  182. box-shadow: 0 0 10rpx 10rpx #00000009;
  183. .title{
  184. font-size: 32rpx;
  185. font-weight: 900;
  186. padding: 20rpx;
  187. }
  188. .firm-info{
  189. display: flex;
  190. .image{
  191. width: 140rpx;
  192. height: 140rpx;
  193. border-radius: 20rpx;
  194. }
  195. .info{
  196. display: flex;
  197. flex-direction: column;
  198. justify-content: space-around;
  199. margin-left: 30rpx;
  200. font-size: 26rpx;
  201. .name{
  202. font-weight: 900;
  203. }
  204. .desc{
  205. }
  206. }
  207. }
  208. .album{
  209. padding: 20rpx 0;
  210. }
  211. }
  212. .list-work{
  213. .text{
  214. background-color: #fff;
  215. padding: 26rpx;
  216. font-weight: 900;
  217. text{
  218. font-weight: 500;
  219. color: #666666;
  220. font-size: 26rpx;
  221. margin-left: 20rpx;
  222. }
  223. }
  224. }
  225. }
  226. }
  227. </style>