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

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