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

338 lines
6.8 KiB

1 year ago
10 months ago
1 year ago
1 year ago
1 year ago
10 months ago
1 year ago
1 year ago
1 year ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
1 year ago
1 year ago
1 year ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
10 months ago
1 year ago
10 months ago
10 months ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
9 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
1 year ago
10 months ago
1 year ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
10 months ago
10 months ago
9 months ago
1 year ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
  1. <template>
  2. <view class="page">
  3. <navbar title="工作详情" leftClick @leftClick="$utils.navigateBack" />
  4. <view class="box">
  5. <view class="title">
  6. {{ detail.title }}
  7. </view>
  8. <view class="price">
  9. {{ detail.salaryLow }}-{{ detail.salaryUp }}
  10. </view>
  11. <view class="line">
  12. <!-- <view>
  13. <image src="../static/work/address.png" mode=""></image>
  14. {{ detail.workAge }}
  15. </view> -->
  16. <view>
  17. <image src="../static/work/g.png" mode=""></image>
  18. {{ detail.workAge }}
  19. </view>
  20. <view>
  21. <image src="../static/work/x.png" mode=""></image>
  22. {{ detail.qulification }}
  23. </view>
  24. </view>
  25. <view class="line">
  26. 该职位发布{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
  27. </view>
  28. <view class="userHead">
  29. <userHead :image="hanHaiMember.headImage" :tips="personInfo.phone" :name="personInfo.name"
  30. :phoneCall="personInfo.phone" />
  31. </view>
  32. <view class="address"
  33. @click="openLocation(detail.latitude, detail.longitude)">
  34. <view class="title2">
  35. 工作地址
  36. </view>
  37. <!--
  38. 深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东
  39. -->
  40. <view class="line" style="justify-content: space-between;">
  41. {{ detail.workAddress }}
  42. <uv-icon size="30rpx" color="666" name="arrow-right"></uv-icon>
  43. </view>
  44. <!-- <view class="tag-list">
  45. <view>
  46. 距您14.6千米
  47. </view>
  48. </view> -->
  49. </view>
  50. <view class="info">
  51. <view class="title2">
  52. <text>职位详情</text>
  53. <view v-if="collectionFlag == false" @click="addJobCollection">
  54. <uv-icon size="30rpx" color="666" name="star"></uv-icon>
  55. 收藏
  56. </view>
  57. <view v-else @click="addJobCollection" style="color: #f40;">
  58. <uv-icon size="30rpx" color="666" name="star-fill"></uv-icon>
  59. 已收藏
  60. </view>
  61. </view>
  62. <view class="tag-list">
  63. <view :key="i" v-for="(t, i) in detail.tab && detail.tab.split('、')">
  64. {{ t }}
  65. </view>
  66. </view>
  67. <view class="text">
  68. <uv-parse :content="detail.workDetail"></uv-parse>
  69. </view>
  70. </view>
  71. </view>
  72. <view class="boss-box" @click="$utils.navigateTo('/pages_order/work/bossDetail?id=' + hanHaiMember.id)">
  73. <view class="image">
  74. <image :src="companyInfo.logo" mode=""></image>
  75. </view>
  76. <view class="shop-box">
  77. <view class="title">
  78. {{companyInfo.companyName}}
  79. </view>
  80. <view class="desc">
  81. {{companyInfo.financing}}*{{companyInfo.industry}}*{{companyInfo.number}}
  82. </view>
  83. </view>
  84. <view class="arrow-right">
  85. <uv-icon name="arrow-right" size="40rpx" color="#5baaff"></uv-icon>
  86. </view>
  87. </view>
  88. <view class="list-work">
  89. <view class="text">
  90. 推荐职位<text>{{total}}</text>
  91. </view>
  92. <view style="margin: 20rpx;"
  93. @click="$utils.navigateTo('/pages_order/work/workDetail?id=' + item.id)"
  94. :key="index" v-for="(item, index) in list">
  95. <workItem :item="item" />
  96. </view>
  97. </view>
  98. </view>
  99. </template>
  100. <script>
  101. import userHead from '../components/user/userHead.vue'
  102. import mixinList from '@/mixins/list.js'
  103. import workItem from '@/components/list/workList/workItem.vue'
  104. export default {
  105. mixins: [mixinList],
  106. components: {
  107. userHead,
  108. workItem,
  109. },
  110. data() {
  111. return {
  112. text: '',
  113. id: 0,
  114. detail: {},
  115. personInfo: {},
  116. companyInfo: {},
  117. hanHaiMember: {},
  118. total: 0,
  119. collectionFlag: false,
  120. mixinsListApi: '',
  121. }
  122. },
  123. onLoad({
  124. id
  125. }) {
  126. this.id = id
  127. this.queryParams.id = id;
  128. },
  129. onShow() {
  130. this.getDetail()
  131. },
  132. methods: {
  133. getDetail() {
  134. let data = {
  135. jobId: this.id
  136. }
  137. if (uni.getStorageSync('token')) {
  138. data.token = uni.getStorageSync('token')
  139. }
  140. this.$api('employeeQueryJobById', data, res => {
  141. if (res.code == 200) {
  142. this.detail = res.result.jobInfo
  143. this.collectionFlag = res.result.collectionFlag
  144. this.personInfo = res.result.personInfo
  145. this.companyInfo = res.result.companyInfo
  146. this.hanHaiMember = res.result.hanHaiMember
  147. this.mixinsListApi = 'employeeQueryJobList'
  148. this.queryParams.typeId = this.detail.typeId
  149. this.queryParams.areaId = this.detail.areaId
  150. this.getData()
  151. }
  152. })
  153. },
  154. addJobCollection() {
  155. let data = {
  156. jobId: this.id
  157. }
  158. if (uni.getStorageSync('token')) {
  159. data.token = uni.getStorageSync('token')
  160. }
  161. this.$api('addJobCollection', data, res => {
  162. this.getDetail();
  163. if (res.code == 200) {
  164. uni.showToast({
  165. title: res.message,
  166. icon: 'none'
  167. })
  168. }
  169. })
  170. },
  171. }
  172. }
  173. </script>
  174. <style scoped lang="scss">
  175. .page {
  176. min-height: 100vh;
  177. .box {
  178. padding: 30rpx;
  179. background-color: #fff;
  180. .title {
  181. font-size: 34rpx;
  182. font-weight: 900;
  183. padding-bottom: 20rpx;
  184. }
  185. .title2 {
  186. font-size: 28rpx;
  187. font-weight: 900;
  188. display: flex;
  189. justify-content: space-between;
  190. align-items: center;
  191. view {
  192. display: flex;
  193. align-items: center;
  194. justify-content: center;
  195. }
  196. }
  197. .price {
  198. font-size: 30rpx;
  199. font-weight: 900;
  200. color: $uni-color;
  201. }
  202. .line {
  203. display: flex;
  204. font-size: 24rpx;
  205. color: #666666;
  206. margin-top: 30rpx;
  207. image {
  208. width: 30rpx;
  209. height: 30rpx;
  210. }
  211. &>view {
  212. margin-right: 50rpx;
  213. display: flex;
  214. justify-content: center;
  215. align-items: center;
  216. }
  217. }
  218. .userHead {
  219. padding: 50rpx 0;
  220. border-bottom: 1px solid #00000011;
  221. }
  222. .address {
  223. padding: 30rpx 0;
  224. .line {
  225. margin-top: 20rpx;
  226. }
  227. }
  228. .info {
  229. .text {
  230. font-size: 24rpx;
  231. color: #666666;
  232. line-height: 44rpx;
  233. }
  234. }
  235. }
  236. .boss-box {
  237. margin: 10rpx 0;
  238. padding: 30rpx;
  239. background-color: #fff;
  240. display: flex;
  241. align-items: center;
  242. .image {
  243. width: 90rpx;
  244. height: 90rpx;
  245. margin-right: 10rpx;
  246. flex-shrink: 0;
  247. image {
  248. width: 100%;
  249. height: 100%;
  250. border-radius: 10rpx;
  251. }
  252. }
  253. .shop-box {
  254. flex: 1;
  255. width: calc(100% - 220rpx);
  256. .title {
  257. font-size: 28rpx;
  258. overflow: hidden; //超出的文本隐藏
  259. text-overflow: ellipsis; //溢出用省略号显示
  260. white-space: nowrap; //溢出不换行
  261. }
  262. .desc {
  263. margin-top: 10rpx;
  264. font-size: 24rpx;
  265. overflow: hidden; //超出的文本隐藏
  266. text-overflow: ellipsis; //溢出用省略号显示
  267. white-space: nowrap; //溢出不换行
  268. }
  269. }
  270. .arrow-right {
  271. flex-shrink: 0;
  272. margin-left: auto;
  273. display: flex;
  274. align-items: center;
  275. font-size: 26rpx;
  276. }
  277. }
  278. .list-work {
  279. .text {
  280. background-color: #fff;
  281. padding: 26rpx;
  282. font-weight: 900;
  283. text {
  284. font-weight: 500;
  285. color: #666666;
  286. font-size: 26rpx;
  287. margin-left: 20rpx;
  288. }
  289. }
  290. }
  291. }
  292. </style>